3.3 乘法运算
乘法运算在数字信号处理中被广泛应用,如滤波器以及各种变换 等。这就使得乘法器在系统中通常扮演着重要的角色,对系统整体性 能有着极大的影响,这也就不难理解目前的FPGA中都植入了嵌入式硬 线乘法器。 本节从二进制乘法运算的原理谈起,讨论乘法器的各种设计方 法。尽管在VHDL语言中有关键字signed和unsigned(Verilog语言中有 关键字signed,没有unsigned),借助于此可方便地用“*”描述无符 号数乘法和有符号数乘法,但同样可根据目标需求(速度优先还是资 源优先)采用其他方式实现乘法运算,以达到系统的最佳配置。本节 力图帮助读者能够根据应用场合选择合适的方法设计乘法器。
3.3.1 二进制乘法原理
二进制乘法原理与十进制乘法原理类似,都是将乘数的每一位分 别与被乘数相乘,除此之外,二进制乘法还有其自身的特点,这对于 硬件设计极为关键。 二进制乘法可分为两种情况:无符号数乘法和有符号数乘法。无 符号数相乘较为简单,如图3.19所示为两个无符号数(3)与(6)相 乘。这里,将它们分别用3bit二进制表示为(011)和(110)