如果我有一个 5 变量函数(如下)并且我想使用多路复用器来实现它,我将如何做到这一点(使用尽可能小的多路复用器):
f(A,B,C,D,E) = A + C'D + BD' + B'D + B'CE
这是作业,所以不要提供解决方案,只是提供如何工作的指导。
谢谢!
如果我有一个 5 变量函数(如下)并且我想使用多路复用器来实现它,我将如何做到这一点(使用尽可能小的多路复用器):
f(A,B,C,D,E) = A + C'D + BD' + B'D + B'CE
这是作业,所以不要提供解决方案,只是提供如何工作的指导。
谢谢!
既然你明确提到
使用尽可能少的多路复用器
还有另一种方法,您只需要一个 2^(n-1) 输入多路复用器来实现输入功能(因此,在您的情况下,具有 2^4 个输入和 4 个选择输入的 MUX 就足够了)。这个想法是使用真值表的前 n-1 个输入作为 MUX 的选择输入,而其余的则根据需要连接到数据输入以提供所需的结果。
由于我还不能发布图片,请参阅以下具体示例:https ://www.dropbox.com/s/v8osbd8gtwhtfor/n-1inputmux.png
或者如何使用 MUX 实现简单的逻辑门:https ://www.dropbox.com/s/7cqbodha7lcoi9y/n-1inputmuxbasics.png
资料来源:
http://sifaka.uwaterloo.ca/~akenning/courses/ece124/
http://6004.mit.edu/
(我不能发布两个以上的真实链接......)
5 个变量表示 2**5 (32) 输入多路复用器,输入 0 到 31。将这些项转换为二进制数并将相应的输入保持为高电平。因为B'CE
我们有:
A B C D E
X 0 1 X 1
这给了我们 4 个数字,因为我们有 2 个不关心。这四个数字是:
00101 = 5
00111 = 7
10101 = 21
10111 = 23
保持输入 5、7、21 和 23 为高电平。
重复其余条款。
Fanhoso 和 Ignacio Vazquez-Abrams 通过的答案已经过时或完全无用。
f(A,B,C,D,E) = A + C'D + BD' + B'D + B'CE
A: 1x;
B: 3x;
C: 2x;
D: 3x;
E: 1x;
出现最多的变量将成为选择器输入,因为这样它们以最有效的方式使用(否则,必要的门数量会增加)。所以在这种情况下,它将是 AE|BCD(其中 BCD 形成 SELECTOR INPUTS)。
f(A,B,C,D,E) = Σ{ 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22 , 23, 24, 25, 26, 27, 28, 29, 30, 31 }
按新变量顺序对最小项(二进制形式)进行排序:
ABCDE -> AE|BCD|
(2) 00010 -> 00|001|
(3) 00011 -> 01|001|
(5) 00101 -> 01|010|
.
.
.
例如,选择器输入线上的 001 转移到数据输入线上的输入 1。从 00|001 (2) 可以得到其他数字,即 01|001 (3)。
ABCDE -> AE|BCD|
input data no 1:
(2) 00010 -> 00|001|
(3) 00011 -> 01|001|
.
.
input data no 2:
(5) 00101 -> 01|010|
.
.
.
开始绘制方案之前的最后一件事是定义如何将信号 AE 与数据输入线连接,这意味着我们需要知道哪些门是获得所需输出所必需的。在此示例中,输入行 1 包括:
(2) 00010 -> 00|001|
(3) 00011 -> 01|001|
因此,有必要将 A'(E 是“不关心”)与数据输入行号 1 连接起来。当然,一旦您正确分组所有最小项,您的情况的组合将完全不同。