数字乘法器
文章平均质量分 90
数字乘法器设计
日晨难再
杂学旁收
展开
-
数字IC前端学习笔记:数字乘法器的优化设计(带流水线的Wallace Tree乘法器)
由于Wallace Tree乘法器的特性(数字乘法器的优化设计(Wallace Tree乘法器),可以很轻松地将其设计成流水线的形式,下面简单介绍一下流水线设计。原创 2024-05-17 19:08:13 · 870 阅读 · 12 评论 -
数字IC前端学习笔记:优化的基4布斯编码华莱士树乘法器
在Design Compiler中使用report_area命令,报告所设计电路的面积占用情况,如图4所示,设计使用的面积也低于普通的基4布斯华莱士树编码乘法器器,从RTL代码中也可以看到这一点,上节的乘法器使用了22个全加器和5个半加器,而优化后只使用了14个全加器和8个半加器,使用的资源大大减少。前文提到的基4布斯编码华莱士树乘法器的一部分的电路面积是由补位逻辑所带来的——为了保证求和正确,所有的部分积都会需要被符号拓展至乘积结果的位宽以保证在最差情况下都不会溢出。原创 2023-11-01 00:03:45 · 592 阅读 · 7 评论 -
数字IC前端学习笔记:数字乘法器的优化设计(基4布斯编码华莱士树乘法器)
基4布斯编码模块的接口方框图如图2所示,布斯编码模块对每三位乘数进行布斯编码,因此对于八位的数据宽度,设计需要四个编码模块,输出为四个信号,分别是表示减操作的Neg信号,表示部分积为零、部分积两倍和一倍的Zero、Two和One信号。可以看到对于八位数据,使用基4布斯编码只产生了四行部分积,是不使用编码部分积行数的一般,乘法器的速度很大情况下取决于部分积的深度而不是最后的向量合成。注意,这里的部分积只在从乘数的包括最低位在内的间隔一位产生,因此所有部分积的会错开两位,这与之前的部分积的规律不同。原创 2023-10-31 19:38:10 · 905 阅读 · 16 评论 -
数字IC前端学习笔记:数字乘法器的优化设计(基2布斯乘法器)
由此可以构建基2布斯编码模块,布斯编码模块对每三位乘数进行布斯编码,因此对于八位的数据宽度,设计需要八个编码模块(加上最低的辅助位),输出为三个信号,分别是表示为表示减操作的Neg信号,表示部分积为零和一倍的Zero和One信号。至此得到了基2布斯编码的规律,每一位基2布斯编码即为原来的二进制补码的低一位减本位,所以有三种取值,1、0和-1,这种方式使得可以跳过乘数中的某些连续的1,将多次的部分积累加,减少到较少次数的加减运算,表1总结了基2布斯编码的规则。将右式展开,结果如式1所示,最后的。原创 2023-10-10 14:44:00 · 496 阅读 · 15 评论 -
数字IC前端学习笔记:数字乘法器的优化设计(Dadda Tree乘法器)
在Design Compiler中使用report_area命令,报告所设计电路的面积占用情况,如图5所示,可以看到这个面积优于华莱士树乘法器,不考虑最后的向量合并器,达达树仅仅使用了三个全加器和三个半加器就完成了四位数据的部分积累加,相比之下,华莱士树使用了五个全加器和三个半加器,当数据位宽增加时,华莱士树乘法器对于加法器的需求增加也比达达树快,因此达达树是华莱士树的优化版,但达达树不具有华莱士树的规则的结构,设计起来会比较消耗时间和人力。根据这个算法,可以得到dadda的树的结构,如图1所示。原创 2023-10-08 22:36:54 · 1586 阅读 · 11 评论 -
数字IC前端学习笔记:数字乘法器的优化设计(进位保留乘法器)
进位保留乘法器的结构图如图3所示,可以看到,与之前的阵列乘法器相比,进位保留乘法器对于输出的进位,并不将其传递给本级的高位加法器,而是传递给下一级的高位乘法器,在最后一级使用一个被称为向量合并加法器(图中用绿色框出)的模块来处理最后的两个多位二进制数。向量合并加法器可以选择普通的串行进位加法器或者超前进位加法器,还可以是其他高效的加法器。其实进位保留加法器和普通全加器的内部结构一模一样,但不同的是对于进位的处理,普通的全加器接受两位加数和一位进位,输出一位和以及一位进位。原创 2023-10-03 14:23:44 · 1040 阅读 · 3 评论 -
数字IC前端学习笔记:数字乘法器的优化设计(阵列乘法器)
为了简便起见,本文考虑两个四位二进制数A和B相乘,其中A为被乘数,B为乘数,先产生部分积,然后使用加法器累加这些部分积,总体规划如表1所示。从乘数B的最低位B0开始,依次与被乘数A的各位A0、A1、A2、A3相与(乘)形成4组16个部分积项目,分组是根据乘数B的位而言,如所有有B0项目的是第0组部分积。在Design Compiler中使用report_timing命令,可以得到关键路径的延迟,如图4所示,使用report_area命令,报告所设计电路的面积占用情况,如图5所示。原创 2023-10-02 16:52:01 · 1080 阅读 · 2 评论 -
数字IC前端学习笔记:数字乘法器的优化设计(Wallace Tree乘法器)
如果不考虑向量合并加法器的影响,阵列乘法器使用了八个全加器和四个半加器,进位保留乘法器使用了六个全加器和六个半加器,而华莱士树乘法器仅仅用了五个全加器和三个半加器,该实现减少了位宽较大乘法器的硬件开销,同时对传播延时的优化也很显著。图1所示为使用四位华莱士树乘法器的例子,图中总共有十六个部分积,分别通过被乘数和乘数的各位相与(通过与门)得到,图中的斜杠/代表一个全加器,连接的分别是右上角的本位和以及左下角给高位的进位,带反斜杠\的/表示是半加器。可以看到只需要两个阶段,十六个部分积就可被压缩至两行。原创 2023-10-06 15:40:27 · 1749 阅读 · 11 评论