3-3 Verilog 4位超前进位加法器

本文介绍了如何使用Verilog设计4位超前进位加法器,目标是减少输出延迟并提高运算速度。通过逻辑表达式实现并行运算,避免了行波进位加法器中的级联延迟问题,从而优化了加法器的性能。
摘要由CSDN通过智能技术生成

使用工具:Xilinx ISE 14.7

用逻辑表达式实现4位的超前进位加法器,目的是为了减少输出延迟,提高运算速度。在4位行波进位加法器中,计算过程中包含输出信号S[i]与C[i]作为中间变量,用他们作为下一级的输入,并将多个1位全加器串联起来造成了每一级的延迟累加,最终导致输出延迟过大。为了减小延迟,可以将每一级的运算结果先存储起来,再展开逻辑表达式进行复合运算,从而减少数据流从输入端到输入端间经过的逻辑门个数。将串行运算改为并行运算,代码如下:

module Design_Code(
	input [3:0] num_1,
	input [3:0] num_2,
	output reg [3:0] s,
	output reg CF
    );

reg [3:0] P;
reg [3:0] G;
integer i;

always @ (*)
  begin
	for(i=0; i<4; i=i+1)
	begin
		G[i] = num_1[i]&num_2[i];
		P[i] = num_1[i]^num_2[i];	 
	end

	s[0] = P[0];
	s[1] = P[1]^G[0];
	s[2] = P[2]^(G[1]|P[1]&G[0]);
	s[3] = P[3]^(G[2]|(P[2]&G[1])|(P[2]&P[1]&G[0]));
	CF = G[3]|(P[3]&G[2])|(P[3]&P[2]&G[1])|(P[3]&P[2]&P[1]&G[0]);
  end
  
endmodule
测试文件:

initial 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值