11位超前进位加法器

2.3.4位加法器级联

module adder11(A,B,S,Cout);
// Port in declarations
    input  [10:0]A;
    input  [10:0]B;
// Port out declarations
    output [10:0]S;
    output    Cout;
//Local signal declarations    
    wire   [10:0]g,p;
    wire   [10:0]c;

    wire   [2:0]g_stage1;
    wire   [2:0]p_stage1;
    wire   [2:0]c_stage2;
//Preprocessing   
    assign g = A&B;
    assign p = A^B;
//Processing
    clb    clb_1(.gin(g[3:0]),
                .pin(p[3:0]),
                .cin(c_stage2[0]),
                .gout(g_stage1[0]),
                .pout(p_stage1[0]),
                .cout(c[3:0]));

    clb    clb_2(.gin(g[7:4]),
                .pin(p[7:4]),
                .cin(c_stage2[1]),
                .gout(g_stage1[1]),
                .pout(p_stage1[1]),
                .cout(c[7:4]));

    clb3    clb3(.gin(g[10:8]),
                .pin(p[10:8]),
                .cin(c_stage2[2]),
                .gout(g_stage1[2]),
                .pout(p_stage1[2]),
                .cout(c[10:8]));

    clb3    clb3_1(.gin(g_stage1),
                .pin(p_stage1),
                .cin(1'b0),
                .gout(Cout),
                .pout(),
                .cout(c_stage2));

//Postprocessing  
    assign S = p^c;
endmodule

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值