📜  数字逻辑中的 BCD 加法器

📅  最后修改于: 2021-09-28 09:28:15             🧑  作者: Mango

BCD 代表二进制编码的十进制。假设我们有两个 4 位数字 A 和 B。 A 和 B 的值可以从 0(二进制的 0000)到 9(二进制的 1001)变化,因为我们正在考虑十进制数。

如果我们不考虑前一个总和的进位,输出将在 0 到 18 之间变化。但如果我们考虑进位,那么输出的最大值将是 19(即 9+9+1 = 19)。
当我们简单地将 A 和 B 相加时,我们得到二进制和。在这里,为了获得 BCD 形式的输出,我们将使用 BCD Adder。

示例 1:

Input :
A = 0111  B = 1000 
Output :
Y = 1 0101

Explanation: We are adding A(=7) and B(=8). 
The value of binary sum will be 1111(=15). 
But, the BCD sum will be 1 0101, 
where 1 is 0001 in binary and 5 is 0101 in binary.

示例 2:

Input :
A = 0101  B = 1001
Output :
Y = 1 0100

Explanation: We are adding A(=5) and B(=9). 
The value of binary sum will be 1110(=14). 
But, the BCD sum will be 1 0100, 
where 1 is 0001 in binary and 4 is 0100 in binary.

注 –如果两个数之和小于或等于 9,则 BCD 和和二进制和的值将相同,否则它们将相差 6(二进制为 0110)。
现在,让我们转到表格,找出我们要添加“0110”时的逻辑。

我们仅将“0110”(=6) 添加到表的后半部分。
条件是:

  1. 如果 C’ = 1(满足 16-19)
  2. 如果 S3′.S2′ = 1(满足 12-15)
  3. 如果 S3′.S1′ = 1(满足 10 和 11)

所以,我们的逻辑是

C' + S3'.S2' + S3'.S1' = 1

执行 :

阅读相关文章:BCD to 7 Segment Decoder, BCD(8421) to/from Excess-3