【HDL系列】乘法器(1) | 您所在的位置:网站首页 › 400乘3的竖式 › 【HDL系列】乘法器(1) |
目录 一、数的表示及乘法的范围 二、乘法竖式计算 三、乘累加乘法器 一、数的表示及乘法的范围对于n比特数B,其二进制数转换为有符号十进制整数的公式如下:
当B>=0,B的第n-1比特为0,则B可用下式表示: 设n=4,“5”的二进制位为0101,则5 = 1*4 + 1*1。
当B移位->累加的方式,通过多次加法求和的方式计算结果。从上述竖式可以看出,B的每一位比特与A相乘后进行移位,最后按列相加,结果表示如下,其中i为比特序号,n为位宽: 其展开的结构如下: 以上结构使用了n-1个n比特加法器,将耗费大量的资源;所以有使用如下串行结构的乘法器。 该串行结构乘法器使用一个加法器,由控制逻辑和输入数寄存器A,B组成,此种结构多种多样,基本原理均在于移位加。一个16位乘法器,n=16,乘累加次数为16,由Sum作为中间数暂存,Bi作为控制A是否被加入到Sum中,且每次A向左移位1比特,A*B输出比特位宽32。 串行乘法器时间延迟大,但面积消耗小。 在Verilog设计中,直接使用“*”即可以,用好signed和unsigned关键字。 或者根据上述原理,也可以设计自己的“*”符号。 下期预告:阵列乘法器
欢迎批评指正,更多阅读,关注“纸上谈芯”,不定期更新,共同学习: |
CopyRight 2018-2019 实验室设备网 版权所有 |