给你举个最简单的例子:
以十进制计算为例:146+287=?
如果个位相加,应该是6+7+0=13,其中求和结果13中的1就是向高位十位产生的进位,也就是你真值表中的Ci;3就是Si。
而加式6+7+0中的0就是Ci-1。因为是最低位,所以比它还低就没有进位信号了。
如果十位相加,应该是4+8再加上各位产生的进位1,所以加式为:4+8+1=13。
其中求和结果13中的1就是向高位百位产生的进位,也就是你真值表中的Ci;3就是Si。verilog
而加式4+8+1中的1就是Ci-1,因为是次低位,比它低的个位向它产生了进位信号1,所以此时的Ci-1就为1了。
其实二进制的加法和十进制的规律是一模一样的,只不过一个是“逢二进一”一个是“逢十进一”而已。 全加器是实现某一位二进制数相加的电路,多位二进制数相加是需要多个全加器配合实现的。
全加器英语名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。
一位全加器的表达式如下:
Si=Ai⊕Bi⊕Ci-1
第二个表达式也可用一个异或门来代替或门对其中两个输入信号进行求和:
硬件描述语言Verilog 对一位全加器的三种建模方法:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-61602-1.html