📅  最后修改于: 2020-12-30 06:43:51             🧑  作者: Mango
十进制或BCD加法器
BCD-Adder用于直接在十进制数字系统中执行算术运算的计算机和计算器中。 BCD-Adder接受十进制数字的二进制编码形式。十进制加法器至少需要九个输入和五个输出。
注意:十进制数需要4位才能在BCD代码中表示,并且电路必须具有输入进位和输出进位。
下表用于设计BCD-Adder。
从上表可以明显看出,如果产生的总和在1到9之间,则Binary和BCD码是相同的。但是对于10到19个十进制数字,两个代码是不同的。在上表中,二进制和组合从10到19给出无效的BCD。以下几点可帮助电路识别无效的BCD。
- 从表中可以明显看出,当“二进制和”的输出进位为K = 1时,需要进行校正。
- 从10到15的其他六个组合需要校正,其中Z 8位置的位为1。
- 在8和9的二进制和中,Z 8位置的位也是1。因此,第二步失败,我们需要对其进行修改。
- 为了区分这两个数字,我们指定Z 4或Z 2位置的位也必须与Z 8的位一起为1
- 校正条件和输出进位可以通过布尔函数表示:
C = K + Z 8 .Z 4 + Z 8 .Z 2
一旦电路发现无效的BCD,电路就会将6的二进制数添加到无效的BCD代码中以使其有效。
在上图中,
- 我们采用一个4位的Binary-Adder,它将加数和Augend位作为输入,输入进位为'Carry in' 。
- 二进制加法器产生五个输出,即Z8,Z4,Z2,Z1和一个输出进位K。
- 借助输出进位K和Z8,Z4,Z2,Z1输出,逻辑电路可识别C输出。
- 二进制加法器的Z8,Z4,Z2和Z1输出作为Augend传递到第二个4位二进制加法器。
- 第2次4位二进制加法器的加数位被设计成这样一种方式,第1和第加数数的第4位为0和第2次和第3个比特是相同的为C进行。当C出来的值是0,加数数目将是0000,其产生相同的结果作为第1次的4位二进制数。但是,当C out的值为1时,加数位将为0110,即6,该加数与有效值相加以获得有效的BCD编号。
示例:1001 + 1000
- 首先,使用4位二进制加法器将两个数字相加,然后将输入进位传递给0。
- 二进制加法器产生结果0001,并输出“ K” 1。
- 然后,使用表达式C out = K + Z 8 .Z 4 + Z 8 .Z 2 ,找到C out值以标识所产生的BCD无效或有效。 K = 1 Z 8 = 0 Z 4 = 0 Z 2 = 0 C输出= 1 + 0 * 0 + 0 * 0 C输出= 1 + 0 + 0 C输出= 1
- C out的值为1,表示生成的BCD代码无效。然后,将第一个4位二进制加法器的输出与0110相加。= 0001 + 0110 = 0111
- BCD由进位输出表示为:BCD = C out Z 8 Z 4 Z 2 Z 1 = 1 0 1 1 1