数字组合电路


组合电路由逻辑门组成。这些电路以二进制值运行。组合电路的输出取决于当前输入的组合。下图为组合电路框图。

组合电路

该组合电路具有“n”个输入变量和“m”个输出。输入变量的每种组合都会影响输出。

组合电路的设计流程

  • 根据给定的规格找出所需的输入变量和输出数量。

  • 制定真值表。如果有“n”个输入变量,则将有 2n 种可能的组合。对于每个输入组合,找到输出值。

  • 找到每个输出的布尔表达式。如有必要,请简化这些表达式。

  • 使用逻辑门实现上述每个输出对应的布尔表达式。

代码转换器

我们在名为代码的章节中讨论了各种代码。将一种代码转换为另一种代码的转换器称为代码转换器。这些代码转换器基本上由逻辑门组成。

例子

二进制码到格雷码转换器

让我们实现一个转换器,将 4 位二进制代码 WXYZ 转换为其等效的格雷码 ABCD。

下表显示了4 位二进制码到格雷码转换器的真值表。

二进制代码WXYZ WXYZ 格雷码 ABCD
0000 0000
0001 0001
0010 0011
0011 0010
0100 0110
0101 0111
0110 0101
0111 0100
1000 1100
1001 1101
1010 1111
1011 1110
1100 1010
1101 1011
1110 1001
1111 1000

根据真值表,我们可以为格雷码的每个输出位编写布尔函数,如下所示。

$$A=\sum m\left (8,9,10,11,12,13,14,15 \right )$$

$$B=\sum m\left (4,5,6,7,8,9,10,11 \right )$$

$$C=\sum m\left (2,3,4,5,10,11,12,13 \right )$$

$$D=\sum m\left (1,2,5,6,9,10,13,14 \right )$$

让我们使用 4 个变量 K-Map 来简化上述函数。

下图显示了用于简化布尔函数 A 的4 变量 K-Map

布尔函数

将 8 个相邻的分组,我们得到 $A=W$。

下图显示了用于简化布尔函数 B 的4 变量 K-Map

布尔函数B

有两组,每组 4 个相邻的。分组后,我们将得到B为

$$B={W}'X+W{X}'=W\oplus X $$

同样,化简后我们可以得到如下的C&D布尔函数。

$$C={X}'Y+X{Y}'=X \oplus Y$$

$$D={Y}'Z+Y{Z}'=Y \oplus Z$$

下图是4位二进制码到格雷码转换器的电路图。

代码转换器

由于输出仅取决于当前输入,因此该 4 位二进制码到格雷码转换器是一个组合电路。同样,您可以实现其他代码转换器。

奇偶校验位发生器

根据生成的奇偶校验位的类型,有两种类型的奇偶校验位生成器。偶校验生成器生成偶校验位。类似地,奇奇偶校验生成器生成奇奇偶校验位。

偶校验发生器

现在,让我们为 3 位二进制输入 WXY 实现一个偶校验生成器。它生成偶校验位 P。如果输入中存在奇数个 1,则偶校验位 P 应为“1”,以便结果字包含偶数个。对于其他输入组合,偶校验位,P 应为“0”。下表为偶校验发生器的真值表。

二进制输入 WXY 偶校验位 P
000 0
001 1
010 1
011 0
100 1
101 0
110 0
111 1

从上面的真值表中,我们可以将偶校验位的布尔函数写为

$$P={W}'{X}'Y+{W}'X{Y}'+W{X}'{Y}'+WXY$$

$\右箭头 P={W}'\left ({X}'Y+X{Y}' \right )+W\left ({X}'{Y}'+XY \right )$

$\Rightarrow P={W}'\left ( X \oplus Y \right )+W{\left (X \oplus Y \right )}'=W \oplus X \oplus Y$

下图是偶校验发生器的电路图。

偶校验发生器

该电路由两个异或门组成,每个门有两个输入。第一个异或门具有两个输入 W 和 X,并产生输出 W ⊕ X。该输出作为第二个异或门的一个输入。第二个异或门的另一个输入是 Y,并产生 W ⊕ X ⊕ Y 的输出。

奇校验发生器

如果输入中存在偶数个 1,则奇校验位 P 应为“1”,以便结果字包含奇数个 1。对于输入的其他组合,奇校验位,P 应为“0”。

按照偶校验生成器的相同过程来实现奇校验生成器。奇偶校验发生器的电路图如下图所示。

奇校验发生器

上述电路图由第一级异或门和第二级异或非门组成。由于奇校验与偶校验正好相反,因此我们可以在偶校验发生器的输出端放置一个反相器。在这种情况下,第一级和第二级均包含一个异或门,第三级包含一个反相器。

奇偶校验器

根据需要检查的奇偶校验类型,奇偶校验检查器有两种类型。偶校验检查器检查传输数据中的错误,其中包含消息位和偶校验。类似地,奇奇偶校验检查器检查传输数据中的错误,其中包含消息位和奇奇偶校验。

偶校验器

现在,让我们实现一个偶校验电路。假设 3 位二进制输入 WXY 与偶校验位 P 一起传输。因此,结果字(数据)包含 4 位,将作为偶校验检查器的输入接收。

它生成偶校验位 E。如果接收到的数据包含偶数个 1,则该位为零。这意味着接收到的数据没有错误。如果接收到的数据包含奇数个 1,则该偶校验位将为 1。这意味着接收到的数据有错误。

下表显示了偶校验器的真值表。

4 位接收数据 WXYP 偶校验位 E
0000 0
0001 1
0010 1
0011 0
0100 1
0101 0
0110 0
0111 1
1000 1
1001 0
1010 0
1011 1
1100 0
1101 1
1110 1
1111 0

从上面的真值表中,我们可以观察到,当接收到的数据中存在奇数个时,偶校验位值为“1”。这意味着偶校验位的布尔函数是奇函数。异或函数满足这个条件。因此,我们可以直接将偶校验位的布尔函数写为

$$E=W \oplus X \oplus Y \oplus P$$

下图是偶校验器的电路图。

奇偶校验器

该电路由三个异或门组成,每个门有两个输入。第一级门产生 $W \oplus X$ 和 $Y \oplus P$ 的输出。第二级的异或门产生 $W \oplus X \oplus Y \oplus P$ 的输出

奇偶校验器

假设 3 位二进制输入 WXY 与奇校验位 P 一起传输。因此,结果字(数据)包含 4 位,将作为奇校验检查器的输入接收。

它生成一个奇奇偶校验位 E。如果接收到的数据包含奇数个 1,则该位为零。这意味着接收到的数据没有错误。如果接收到的数据包含偶数个“1”,则该奇数奇偶校验位将为“1”。这意味着接收到的数据有错误。

按照与偶奇偶校验检查器相同的过程来实现奇奇偶校验检查器。奇偶校验器的电路图如下图所示。

奇偶校验器

上述电路图由第一级异或门和第二级异或非门组成。由于奇校验与偶校验正好相反,因此我们可以在偶校验检查器的输出端放置一个反相器。在这种情况下,第一级、第二级和第三级分别包含两个异或门、一个异或门和一个反相器。