技术是朴实的
『原』流水线技术——面积与速度的矛盾(之二)
上一篇 /
下一篇 2007-01-28 13:27:47 / 天气: 晴朗
/ 心情: 平静
/ 个人分类:〖数字基础〗
以一个4×4加法器树乘法器为例。对它的计算过程分别采用组合逻辑设计和流水线设计两种方法编写,比较两者的面积和速度的差别,验证流水线设计是以牺牲面积来换取速度的。
下面对4×4加法器树乘法器作一介绍:
对于二进制乘法,以1011×0110为例,它的计算过程为:

4×4加法器树乘法器的任务就是要模拟上面的计算过程。乘数1100的每一位与被乘数 0110相乘的结果,称为部分积,可以用开关电路实现,即如果乘数的这一位为0,则部分积为0000,如果乘数的这一位为1,则部分积为被乘数。将得到的部分积分成两组,一组包含低两位的部分积(0000, 1011),另一组包含高两位的(1011,0000)。每组中的部分积相加,但这里的相加不是简单的相加,而是要考虑到位权,即第一组的1011左移一位后和0000相加,第二组的0000左移一位后和1011相加,这样得到了第一级的部分和(10110,01011)。将这两个部分和再次带位权相加,即01011左移两位后和10110相加,得到的就是乘法器的最终结果1000010。以上就是4×4加法器树乘法器的工作过程。
它的结构图如下所示:

中间一级用的是6位加法器的原因是,由四个4位×1位乘法器得到的部分积M3、M2和 M1、M0之间要作带位权的加法,即M3左移一位和M2相加,M1左移一位和M0相加,这样得到的和是5位,再加上进位1位,所以需要用6位加法器来实现。
最后一级用的是8位加法器的原因是,由两个6位加法器得到的部分和N1和N0之间要作带位权的加法,即N1左移两位和N0相加,得到的和是8位,这里没有用进位的原因是M3、M2、M1、M0的最大值为1111,得到N1、N2的最大值为101101,得到a×b的最大值为 11100001,因此不会有进位。
下面是两种乘法器的具体说明:
1、组合逻辑设计的4×4加法器树乘法器

如图,电路分成三个部分:
(1)输入部分:用两个4位寄存器将数据同步进来。
(2)运算部分:由组合逻辑构成。
(3)输出部分:将运算结果以寄存器型输出,减少输出的毛刺。
2、流水线设计的4×4加法器树乘法器

电路在上一个乘法器的基础上,将运算部分中每一步的结果用寄存器锁存起来,因此运算部分用了两级流水线。其他部分与上一个乘法器相同。
(待续)
导入论坛
收藏
分享给好友
推荐到圈子
管理
举报
TAG: