当译码器有 n 位二进制代码输入时,输出为输入代码变量的全部最小项,可以使用 $2^n$ 个与门(AND gate)和 $n$ 个反相器(NOT gate)来实现。具体实现方法如下:
对于每个输入代码变量,生成一个反相器将其取反,得到该变量的补码。
使用 $2^n$ 个与门实现输出代码变量的全部最小项。对于第 $i$ 个输出代码变量,其最小项可以表示为一个 $n$ 位的二进制数,其中第 $j$ 位为 1 表示该变量取反,为 0 表示该变量不取反。将每个最小项对应的输入代码变量的补码与所有输入代码变量的原码连接到与门的输入端,将与门的输出作为输出代码变量。
例如,当 n=3 时,可以使用 8 个与门和 3 个反相器来实现译码器的功能。输出代码变量的全部最小项如下:
输出代码变量 二进制最小项
Y0 000
Y1 001
Y2 010
Y3 011
Y4 100
Y5 101
Y6 110
Y7 111
对应的输入代码变量的补码如下:
输入代码变量 补码
A0 111
A1 110
A2 101
A3 100
A4 011
A5 010
A6 001
A7 000
使用与门和反相器连接,可以实现译码器的功能,输出为输入代码变量的全部最小项。