全减器

17 Mar 2025 | 阅读 2 分钟

半减器仅用于减去两个数字。为了克服这个问题,设计了全减器。全减器用于减去三个 1 位数字 A、B 和 C,它们分别是被减数、减数和借位。全减器有三个输入状态和两个输出状态,即差 (diff) 和借位 (borrow)。

框图

Full Subtractor

真值表

Full Subtractor

在上表中,

  • “A”和“B”是输入变量。这些变量代表要减去的两个有效位。
  • “Borrowin”是第三个输入,表示借位。
  • “Diff”和“Borrow”是定义输出值的输出变量。
  • 输入变量下的八行指定了这些变量中可能发生的 0 和 1 的所有可能组合。

注意:我们可以借助唯一的地图方法简化每个布尔输出函数。

可以通过 K-map 获得 SOP 形式为

Full Subtractor

Diff=xy' z'+x' y' z+xyz+x'yz'

Full Subtractor

Borrow=x' z+x' y+yz

全减器电路的构造

Full Subtractor

上面的框图描述了全减器电路的构造。在上面的电路中,有两个半加器电路使用 OR 门组合在一起。第一个半减器有两个单比特二进制输入 A 和 B。我们知道,半减器产生两个输出,即“Diff”和“Borrow”。第一个减法器的“Diff”输出将是第二个半减法器的第一个输入,而第一个减法器的“Borrow”输出将是第二个半减法器的第二个输入。第二个半减法器将再次提供“Diff”和“Borrow”。全减法器电路的最终结果是“Diff”位。为了找到“Borrow”的最终输出,我们将第一个和第二个减法器的“Borrow”提供给 OR 门。OR 门的输出将是全减法器电路的最终进位“Borrow”。

MSB 由最终的“Borrow”位表示。

全减器逻辑电路可以使用 “AND”、“XOR”和 NOT 门 以及一个 OR 门 构建。

Full Subtractor

上面的图中显示了全减器的实际逻辑电路。全减法器电路的构造也可以用布尔表达式表示。

Diff

  • 执行输入 A 和 B 的 XOR 运算。
  • 使用“Borrow”执行结果的 XOR 运算。因此,差是 (A XOR B) XOR 'Borrowin',它也被表示为
    (A ⊕ B) ⊕ 'Borrowin'

Borrow

  • 执行反转输入 A 和 B 的“AND”运算。
  • 执行输入 A 和 B 的“XOR”运算。
  • 执行来自前两个步骤的两个输出的“OR”运算。因此,“Borrow”可以表示为
    A'.B + (A ⊕ B)'

下一个主题二进制加法器