当前位置:   article > 正文

行波进位加法器设计 Verilog实现_verilog行波加法器

verilog行波加法器

一. 全加器 & 半加器

引用《电子技术基础(数字部分)》的说法:

1.全加器能进行被加数、加数和来自低位的进位信号相加,并根据结果给出该位的进位信号。
用逻辑表达式可描述为:
S = A ⊕ B ⊕ C S = A\oplus B \oplus C S=ABC
C o u t = A B + ( A ⊕ B ) C i n C_{out} = AB + (A \oplus B)C_{in} Cout=AB+(AB)Cin
2.半加器仅考虑两个加数本身,而没有考虑低位进位的加法运算。由真值表可以得到逻辑表达式:
S = A ˉ B + A B ˉ S = \bar{A}B + A\bar{B} S=AˉB+ABˉ
C = A B C = AB C=AB

二. 行波进位加法器(串行进位加法器)

  1. 设计思想:按照正常的加法运算逻辑,由低位向高位依次进行计算,进位依次从低位传递到高位。

  2. 公示推导:
    在这里插入图片描述
    3.架构图
    在这里插入图片描述
    加法器整体由全加器串联构成,每一位的计算对应一个全加器,进位输入由相邻低位产生。

  3. 关键路径
    图中红色路径为此加法器的关键路径,加法器的延迟和操作数尾数成正比。

三、verilog 代码

  1. 设计代码

module adder_TWC //行波进位加法器
#(parameter N  = 64)
(
    input  [N-1:0]A,B,
    input  C_in,
    output [N-1:0]Y,
    output C_out
    //Y = (A + B) % (1<<N)  
    //C = (A + B)>>N
); 
    wire [N:0]C_mid;
    assign C_mid[0] = C_in; 
    assign C_out = C_mid[N];
    generate 
        genvar i;
        for(i=0;i<N;i=i+1)
        begin: add_unit
                adder_full a1(A[i] , B[i] ,C_mid[i] ,Y[i] , C_mid[i+1] );
        end
    
    endgenerate
   
    
endmodule


module adder_full(
    input A,B,C_in,
    output S,C_out
    );
    assign C_out = (A&B)|((A^B)&C_in);
    assign S = A ^ B ^ C_in;
endmodule
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  1. tb

module adder_TWC_tb();
    reg [63:0]a,b;
    reg cin;
    wire cout;
    wire [63:0]y;
    adder_TWC  T1 (.A(a),.B(b),.C_in(cin),.Y(y),.C_out(cout));
    integer i = 0;
    initial 
    begin
        cin = 1;
        for(i=0;i<16;i=i+1)
        begin
            a = $random;
            b = $random;
            #10;
        end

    end    
endmodule
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号