数字组合电路

组合电路由逻辑门组成。这些电路以二进制值操作。组合电路的输出取决于当前输入的组合。下图显示了组合电路的框图

组合电路

此组合电路具有"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 ight )$$

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

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

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

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

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

布尔函数

通过对 8 个相邻函数进行分组,我们得到 $A=W$。

下图显示了用于简化 布尔函数 B4 变量 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",以便结果字包含偶数个 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$$

$\Rightarrow P={W}'\left ( {X}'Y+X{Y}' ight )+W\left ({X}'{Y}'+XY ight )$

$\Rightarrow P={W}'\left ( X \oplus Y ight )+W{\left (X \oplus Y ight )}'=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 时,偶校验位值为"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。这意味着,接收到的数据中有错误。

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

奇校验器

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