一、背景知识
一般在做较多数字的加减法操作的时候我们会选择将这些操作数进行 压缩,即找到2个数使它们的和等效成原先的那组数。一般多组数据要通过华莱士树进行压缩,而华莱士树是由一系列的压缩器构成的。
二、压缩器
正如上文所述,压缩器构成了华莱士树。而目前比较流行的压缩器有4-2压缩器和3-2压缩器,4-2压缩器的功能就是将4个操作数输入进元件而变成和等效的2个数字。3-2压缩器同理,不过其输入只有三个操作数。我们可以知道4-2压缩器的效率是优于3-2压缩器的,但是4-2压缩器的内部的逻辑结构就会更加的复杂繁琐,这也是用面积换取性能的一种方式。
(1) 3-2压缩器
我们先由浅入深的了解下3-2压缩器。学过数字电路的同学肯定了解过全加器,其实3-2压缩器就是一个全加器,或者说是一个保存进位加法器(csa)。
1) 3-2压缩器的结构图如下:
2)3-2压缩器的逻辑表达式如下所示:
C 1 = a 0 a 1 + a 2 ( a 0 + a 1 ) C_1 = a_0 a_1 + a_2(a_0 + a_1) C1=a0a1+a2(a0+a1)
S 0 = a 0 ⊕ a 1 ⊕ a 2 S_0 = a_0 \oplus a_1 \oplus a_2 S0=