|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
[这个贴子最后由brotherjam在 2005/03/16 09:05pm 第 2 次编辑]
小弟最近在做乘法器的研究。
现在比较流行的是booth加wallace的处理方式。booth很好理解,wallace tree就是利用3-2压缩最后得到
结果。同时也有不采用wallace tree的方式,比如说4-2压缩、5-2压缩。5-2压缩还没有具体的去看,我
想和大家讨论一下4-2压缩。
4-2压缩器是由5-3计数器转变来的:
它有五个输入端:I0、I1、I2、I3、Ci;三个输出端:D、C、Co。将5-3编码器并成一行,即为5-3计
数行;若将相邻低位之Co接入本位之Ci,则成为4-2压缩器。这样可以减少二个操作数。
5-3计数器代数运算式如下:
D + C * 2 + Co * 2 = I0 + I1 + I2 + I3 + Ci (7-15)
即:I0、I1、I2、I3、Ci、D权值为1;C、Co权值为2。
其值表如下:
Ci {I0,I1,I2,I3}和值Co C D
0 0 0 0 0
0 1 0 0 1
0 2 ? ? 0
0 3 ? ? 1
0 4 1 1 0
1 0 0 0 1
1 1 ? ? 0
1 2? ? 1
1 3 1 1 0
1 4 1 1 1
表中出现了“?”,表示其值待定,要求出现在同一行中的二“?”值不能相同。
对此“?”的确定有一定技巧:用作4-2压缩器时不能存在进位传播。
最后一句“用作4-2压缩器时不能存在进位传播”,这里的进位传播是指的什么?
具体的4-2压缩器的电路图如下:
问题来了,名为4-2压缩,可是输入的有5项,输出的有3项,这个就是一个5-3计数器。何来的4-2? 如果Co和Ci均为0的话,这就是4-2了,可是这种4-2不能满足所有的I0,I1,I2,I3的组合啊!当均为1的时候怎么办?
在一篇文章里给出了这么一个电路图,完全的忽略了Co,为什么呢? |
|