各种加法器的比对分析与Verilog实现(5)

本文介绍了使用Verilog语言实现16位的进位旁路加法器和进位选择加法器,包括顶层、中间和单元模块的设计,并展示了Vivado综合后的电路图。

       上一篇博客介绍了进位旁路加法器和进位选择加法器,本文将用Verilog代码进行实现。原理部分请看:

各种加法器的比对分析与Verilog实现(4)_Albert_yeager的博客-CSDN博客

       下面使用Verilog进行实现:

1. 进位旁路加法器的Verilog实现

       顶层模块(16比特进位旁路加法器)

module cska_16 (
    input  [15:0] op1,
    input  [15:0] op2,
    output [15:0] sum,
    output cout
);

wire [16>>2:0] c;
assign c[0] = 0;
assign cout = c[16>>2];

genvar i;
generate 
    for( i=0; i<16>>2; i=i+1) begin
        cska_4 cska_4_u (
            .op1( op1[i*4+3:i*4] ),
            .op2( op2[i*4+3:i*4] ),
            .cin( c[i] ),
            .sum( sum[i*4+3:i*4] ),
            .cout( c[i+1])
        );
    end
endgenerate

endmodu
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值