假设要实现A X B,利用门电路搭一个2-4译码器。2-4译码器的输入信号为A;然后用2-4译码器的输出控制一个4路选择器,4路选择器的4个输入分别是0,B,B+B,B+B+B,这部分用二位全加器实现。
位移和添加乘法器的一般结构如下图所示,对于32比特的数乘运算,根据乘数最低有效位的数值,被乘数的数值被相加并累积。
在每一个时钟循环周期内,乘数被左移一个比特,并且它的位值被测试,如果位值是0,则只进行一次位移操作。如果位值是1,则被加数被放入累加器中,并且左移一位。
当所有乘数的比特值被测试完之后,结果就在累加器当中。累加器最初是N位,相加之后变成2N位,最低有效位包涵了乘数。延迟是N个最大循环周期。这类电路放在异步电路中有许多好处。
扩展资料:
执行一个乘法运算最简单的是采用一个两输入的加法器。对于M和N位宽的输 ,乘法采用一个N位加法器时需要M个周期。
这个乘法的移位和相加算法把M个部分积(partial product)加在一起。每一个部分积是通过将被乘数与乘数的一位相乘(这本质上是一个“与”操作),然后将结果移位到这个乘数位的位置得到的。
实现乘法的一个更快的办法是采用类似于手工计算乘法的方法。所有的部分积同时产生并组成一个阵列,运用多操作数相加来汁算最终的积。
参考资料来源:百度百科-乘法电路