<Verilog实现加法器>四位超前进位加法器设计———持续更新版

一,内容介绍

加法器是数字电路中的最基础电路之一,也是CPU的核心功能之一。
在这个专栏,我会把所有我知道的数字电路的加法器相关模型都实现一遍并解释其原理。
编程使用的语言为Verilog,代码风格为强迫症系列风格。

加法器系列链接:
上一篇:4位行波加法器设计
目前:四位超前进位加法器设计
下一篇:进位选择加法器

二,超前进位加法器设计原理

超前进位加法器(CLA):carry look-ahead adder
所谓超前进位加法器,即在输入信号a和b到达加法器端口的时候,立刻开始计算所有的进位,从而最大限度的减少我们消耗的时间,提高加法器的工作频率。

下面介绍超前进位加法器的设计原理:
由上上篇全加器的设计我们可以知道,对于一个一位全加器,产生进位的逻辑表达式为:
c_o[1] = (a_i && b_i) || (a_i && c_i) || (b_i && c_i);
转换成数学公式为:
c_o[1] = a_i*b_i + a_i*c_i + b_i*c_i 
由二进制加法的交换律,我们可以进一步变换为如下公式:
c_o[1] = a_i*b_i + (a_i + b_i)*c_i
对于四位超前进位加法器而言,第二级加法器的进位carry[0]可以表示为
carry[0] = a_i[0]*b_i[0] + (a_i[0] + b_i[0])*c_i (公式1)
第三级加法器的进位carry[1]可以表示为
carry[1] = a_i[1]*b_i[1] + (a_i[1] + b_i[1])*carry[0] (公式2)

将carry[0]的公式1带入公式2中
可以直接得出carry[1]和a_i[1:0</
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值