上一篇博客介绍了进位旁路加法器和进位选择加法器,本文将用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

本文介绍了使用Verilog语言实现16位的进位旁路加法器和进位选择加法器,包括顶层、中间和单元模块的设计,并展示了Vivado综合后的电路图。
&spm=1001.2101.3001.5002&articleId=129905255&d=1&t=3&u=c79362e170f54d2abe55d34c28234edf)

被折叠的 条评论
为什么被折叠?



