[TOC]
问题
有这样一个逻辑真值表, XYZ表示输入, F表示输出:
X | Y | Z | F |
---|---|---|---|
0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
这个要怎么用逻辑门搭出来呢?
还是先写出表达式吧
这个要直接搭的话实在是捉鸡, 那就先写出输入输出与或非逻辑表达式吧.
最小项表达式就是乘积项的和表达式, 最大项表达式就是最小项表达式的对偶形式, 是求和项的积表达式.
这样, 把最小项和最大项都先写到这个表的后头.
序号 | X | Y | Z | F | 最小项 | 最大项 |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 1 | ~X~Y~Z | X+Y+Z |
1 | 0 | 0 | 1 | 0 | ~X~YZ | X+Y+~Z |
2 | 0 | 1 | 0 | 0 | ~XY~Z | X+~Y+Z |
3 | 0 | 1 | 1 | 1 | ~XYZ | X+~Y+~Z |
4 | 1 | 0 | 0 | 1 | X~Y~Z | ~X+Y+Z |
5 | 1 | 0 | 1 | 0 | X~YZ | ~X+Y+~Z |
6 | 1 | 1 | 0 | 1 | XY~Z | ~X+~Y+Z |
7 | 1 | 1 | 1 | 1 | XYZ | ~X+~Y+~Z |
注意这里最小项的取值是输入为1就是原符号, 输入为0就是原符号取反; 最大项就是反着来.
然后就是要写表达式了, 最小项表达式的取值规则是取出输出为1的乘积项, 然后求和. 根据上表, 就是:
|
|
然后最大项的取值规则是取出输出为0的求和项, 然后取积, 就是:
|
|
这样其实就已经可以画出逻辑门的实现图来了, 最小项表达式就是前级是与运算, 后级是或运算, 最大项表达式就是相反, 两个出来的电路还是不一样的. 完全按这个表达式来取还是稍显复杂的, 不过看这个表达式的话还是有可以简化的地方的:
|
|
这样就简单了许多了.
总结
整个步骤归纳起来就是:
- 写出真值表.
- 在每条值后面写出相应的最小项和最大项.
- 根据取值规则选取最小项作和, 最大项作积.
- 根据布尔运算定理作一些简化.
- 画出逻辑门电路.
还有一种实现真值表直接到简化的逻辑表达式的方法, 就是用卡诺图, 这里就先不讲了.
然后重要的一点, 要注意验算, 这样就不容易错了.