摘要: 所谓流水线处理,如同生产装配线一样,将操作执行工作量分成若干个时间上均衡的操作段,从流水线的起点连续地输入,流水线的各操作段以重叠方式执行。这使得操作执行速度只与流水线输入的速度有关,而与处理所需的时间无关。这样,在理想的流水操作状态下,其运行效率很高。 如果某个设计的处理流程分为若干步骤,而且整个数据处理是单流向的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以采用流水线设计方法来提高系统的工作频率。 下面用8位全加器作为实例,分别列举了非流水线方法、2级流水线方法和4级流水线方法。(1)非流水线实现方式 module adder_8bits(din_1, clk, ci 阅读全文
posted @ 2011-05-23 16:22 我心狂野 阅读(12658) 评论(3) 推荐(4) 编辑
摘要: 1. 串行乘法器 两个N位二进制数x、y的乘积用简单的方法计算就是利用移位操作来实现。 module multi_CX(clk, x, y, result); input clk; input [7:0] x, y; output [15:0] result; reg [15:0] result; parameter s0 = 0, s1 = 1, s2 = 2; reg [2:0] count = 0; reg [1:0] state = 0; reg [15:0] P, T; reg [7:0] y_reg; always... 阅读全文
posted @ 2011-05-23 16:12 我心狂野 阅读(41855) 评论(2) 推荐(0) 编辑
摘要: 在实时信号处理中,常常要用到多位数字量的加法运算,但串行加法器速度较慢,超前进位加法器则能满足要求,且结构并不复杂。现在普遍使用的并行加法器是超前进位加法器,只是在几个全加器的基础上增加了一个超前进位形成逻辑,以减少由于逐步进位信号的传递所造成的时延。 具体的算法为: S[i] = x[i] ^ y[i] ^ C[i]; C[i] = G[i-1] + P[i-1] * C[i-1]; 其中: G[i] = x[i] * y[i] P[i] = x[i] + y[i]module adder_4bits_parallel(a,b,c_in,sum,c_out);i... 阅读全文
posted @ 2011-05-23 15:43 我心狂野 阅读(4700) 评论(0) 推荐(0) 编辑