📜  数字逻辑中的阵列乘法器

📅  最后修改于: 2021-06-28 14:14:53             🧑  作者: Mango

阵列乘法器是一种数字组合电路,用于通过使用全加法器和半加法器的阵列将两个二进制数相乘。该数组用于几乎同时添加所涉及的各种乘积项。为了形成各种乘积项,在加法器阵列之前使用AND门阵列。

一次检查一个乘法器的位并形成部分乘积是一个顺序操作,需要一系列加法和移位微操作。两个二进制数的乘法可以通过一次同时形成乘积位的组合电路,通过一次微操作来完成。这是将两个数相乘的一种快速方法,因为所需的时间是信号传播通过形成乘法阵列的门所花费的时间。但是,阵列乘法器需要大量的门,因此,直到集成电路的发展,它才是经济的。

为了用组合电路实现阵列乘法器,请考虑将两个2位数字相乘,如图所示。被乘数位是b1和b0,乘数位是a1和a0,乘积是

c3c2c1c0

假设A = a1a0并且B = b1b0,则最终乘积项P的各个位可以写为:
1. P(0)= a0b0
2. P(1)= a1b0 + b1a0
3. P(2)= a1b1 + c1其中c1是在P(1)项加法期间生成的进位。
4. P(3)= c2其中,c2是在P(2)项加法期间生成的进位。

对于上述乘法,需要四个“与”门的阵列来形成各种乘积项(如a0b0等),然后需要加法器阵列来计算涉及各种乘积项的和,并携带上述等式中提到的组合,以便得到最终的产品位。

  1. 第一部分乘积是通过将a0乘以b1,b0形成的。如果两个位(例如a0和b0)都为1,则两个位的乘积将生成1;否则,将两个位相乘。否则,它产生0。这与“与”运算相同,可以用“与”门实现。
  2. 通过两个与门形成第一部分乘积。
  3. 第二部分乘积是通过将a1乘以b1b0形成的,并向左移动一个位置。
  4. 以上两个部分乘积加上两个半加法器(HA)电路。通常,部分乘积中有更多位,因此有必要使用全加器来产生总和。
  5. 注意,乘积的最低有效位不必经过加法器,因为它是由第一AND门的输出形成的。

具有更多比特的组合电路二进制乘法器可以以类似的方式构造。乘数的一位与被乘数的每一位进行“与”运算,其级别与乘法器中的位一样多。将与门的每一级中的二进制输出与上一级的部分乘积并行相加,以形成新的部分乘积。最后一级生产产品。对于j个乘数位和k个被乘数,我们需要j * k个AND门和(j-1)个k位加法器来产生j + k个位的乘积。