超前进位加法器(Verilog&数字IC)

在说到超前加法器之前,先要了解普通全加器。
首先画出全加器真值表
全加器真值表
在这里插入图片描述
则此时可以写出Verilog代码:

module advance_adder(
   input [3:0] a,
	input [3:0] b,
	input c_in,
	output [3:0] sum_out,
	output c_out
);
   wire [4:0] g,p,c;
   assign g=a&b;
   assign p=a|b;
   assign c0=c_in;
   assign c1=g[0]|(p[0]&c[0]);
	assign c2=g[1]|(p[1]&(g[0]|(p[0]&c[0])));
	assign c3=g[2]|(p[2]&(g[1]|(p[1]&(g[0]|(p[0]&c[0])))));
	assign c4=g[3]|(p[3]&(g[2]|(p[2]&(g[1]|(p[1]&(g[0]|(p[0]&c[0])))))));
	assign sum_out = p^g^c[3:0];
	assign c_out = c[4];
endmodule

普通加法器需要等进位完成才计算下一位,这样在计算大大增加了运算的时间,而超前进位加法器可以直接计算出所有全加器的进位输入信号,无需像普通加法器一样从最低位开始像最高位逐位传递信号。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值