计算机,是由一大批逻辑器件,组合而成的。
根据具体的要求,设计出来逻辑电路,这就是逻辑设计。
下面以 “三人表决电路” 为题,把电路设计的路子,走一遍。
这个三人表决电路的背景,可以简单理解为举重赛场。
当运动员举起杠铃后,要由现场的三个裁判进行评定。
如果有两个及以上的裁判认为可以通过,就可以认为成功举起。
另外,在火灾预警及处理方面,这个电路也是有用的。
假设火警的传感器有三种,如:烟雾、温度、光线。
如果有两种及以上的传感器都检测到火警,就应该立即喷水灭火。
另外,在每个计算机的加法器中,也用到了这个逻辑电路。
---------------------------
逻辑问题明确之后,首先要确定变量的名称及其取值方法。
再用这些列出真值表。在表中,把各种可能的状态,都遍历一遍。
然后,根据真值表,列出逻辑表达式。
再利用前面说过的公式及摩根定律对表达式做等效变换,得到不同的表达式。
最后,根据各种表达式,绘出相应的逻辑电路图。
然后,就可以通过实验,进行验证了。
---------------------------
三人表决中的三个裁判,分别用变量 A、B、C 来代表。
它们为 0,就代表不同意、为 1,就代表赞成。
表决的结果,用变量 F 来表示。当其为 1 时,就表示通过。
三人表决的真值表及逻辑表示式如下图所示。
因为有三个自变量,所以该真值表,就共有 2^3 = 8 行。
每一行中,如果有两个(及以上的) 1,F 就填写 1,否则就填 0。
表中的各行,是独立出现的,或者是这行、或者是那行、或者是别的行 ... 。
所以,F 的值,就应该是八个行的值,【或】在一起。
但是,或 0 是无用的,最后,只剩下四个 1 相或。
每个 1,对应了一组 ABC 的组合。
每一行,ABC 是共同作用的,所以,它们是【与】的关系。
为了让它们相与之后,得到 F 栏中的 1,为 0 的变量,应该取反变量。
如图中第四行,ABC 分别是 011,那么,变量 A,就应该用 /A 和 BC 相与。
以此类推,就可以得到下面的逻辑表达式:
F = /A B C + A /B C + A B /C + A B C
这个表达式,可称为:基本与或表达式。
---------------------------
观察上式中的第一项和第四项,可发现,它们是可以合并的:
/A B C + A B C = (/A + A) B C = BC
重复利用第四项,就可以把原来的表达式简化为:
F = B C + A C + A B
这个表达式,可称为:最简与或表达式。
针对上式,再应用摩根定律,可得出:
F = / ( /(BC) · /(AC) · /(AB) )
这个表达式,可称为:最简与非表达式。
把这些逻辑表达式,再转换成别的形式,也是可以的。这就看你是否需要了。
---------------------------
根据上述三个逻辑表达式,可以绘出三种不同的逻辑电路图。
如下所示:
图中上部的电路,对应了基本与或表达式,中部是最简与或、下部是最简与非。
图中左边是三个拨动开关,同时为三个表决电路输入三个变量的值。
多次拨动开关,可发现,这三种不同的电路,功能是相同的。都能满足 “少数服从多数” 的设计要求。
在图中,有两个开关位于上方,输入的就是两个 1、一个 0。在此时各电路的 F,都是显示红点,即表示输出为 1。
因为三种电路功能相同,所以在实际应用时,可在其中,任选一个就行了。
---------------------------
由于本题目的要求,极其的简单,所以在化简及转化的过程中,省略了一个方法:卡诺图。
其实,对于计算机专业来说,也没有太复杂的逻辑问题,少介绍一步,关系并不大。
如果是电子专业或自动控制专业,经常会有 “多输入多输出的系统”。此时的变量,就多多了,用直接观察法,是看不过来的。
本文完