减法器

涟漪借减数

减法电路使用两个n位操作数来产生一个n位结果和一个借出信号。在数字系统中很少遇到减法电路(原因将在后面解释),但它们仍然提供了一个有趣的设计机会。和加法器一样,最简单的减法电路执行从LSB到MSB的逐位减法,使用位片方法最容易设计它们。设计过程与加法器设计密切相关,通过研究样本减法问题,了解减法器的要求,根据观察结果编制真值表,然后根据真值表设计电路。一旦一个位片减法器电路被设计出来,它可以被复制N次来产生一个N位的减法器。

全减法器电路与全加法器只略有不同,因为减法器需要两个反相器,而加法器不需要这两个反相器。全减法器可以用来构建一个“纹波借减法器”,它可以减去任意两个n位数字,但是RBS电路和RCA电路一样,都有缓慢的操作。其他更有效的减法架构是可能的。但也有可能对加法器电路进行轻微的修改,然后将修改后的加法器用作减法器。根据这种方法,如果要减的数是负的,那么它就可以简单地加到被减数上(被减数是要减去被减数的数)。例如,运算'5 -3 '可以写成'5 +(-3)'。当然,这需要一种在数字电路中表示负数的方法。

用加法做减法

一个加法器电路可以很容易地用一个组合逻辑电路来修改,这个组合逻辑电路可以有选择地实现一个输入二进制数的2的补充编码。回想一下,一个双输入异或门可以用作“受控逆变器”,其中一个输入是通过倒转或不变的输出,基于第二个“控制”输入的逻辑电平。如果一个加法器的一个操作数输入的所有位上都包含异或门,那么将异或“控制”输入驱动为“1”将使所有位反相。如果相同的控制输入也连接到加法器的Cin输入,那么一个“1”将被加到反位上,这将导致该输入被转换为一个2的赞美编码数。因此,加法器是正数和负数的总和,与减法相同。图1所示。异或门作为条件逆变器。

图2。位切片加法器、借位减法器和使用负数的加法器。

根据真值表和k映射设计全减器时,它与全加法器非常相似,但它包含两个全加法器没有的逆变器。当配置为减法时,加法器/减法器电路将单个逆变器(以异或门的形式)添加到全加法器模块的一个输入端。纹波借减器在减法模式下执行与加减器相同的功能,但两种电路如下图所示不同。这种差异可以通过注意加/减的LSB必须设置为'1'来形成操作数的补码,但需要一些思考来说服自己。在练习中,你被要求演示波纹进位加法器电路的电路结构是如何被配置为2的互补减法器和波纹借用减法器来执行相同的功能。

图3。用加法器做减法器。


重要思想

  • 一个加法器电路可以很容易地用一个组合逻辑电路来修改,这个组合逻辑电路可以有选择地实现一个输入二进制数的2的补充编码。
  • 根据真值表和k映射设计全减器时,它与全加法器非常相似,但它包含两个全加法器没有的逆变器。当配置为减法时,加法器/减法器电路将单个逆变器(以异或门的形式)添加到全加法器模块的一个输入端。