2.2 难点释疑
什么是约束项、任意项和无关项?
首先需要强调说明的是约束项和任意项是两个不同的概念。然而,在有些教材和书籍中没有将这两个概念明确地加以区分。
我们在分析一个逻辑函数时经常会遇到这样一类情况,就是输入逻辑变量的某些取值始终不会出现。因此,在这些取值下等于1的那些最小项,也将始终为0 。这些取值始终为0的最小项,就叫做该函数的约束项。
既然在逻辑函数的工作过程中约束项的值永远是0,那么我们就可以在和的逻辑函数式中加上这些约束项,也可以不加上这些约束项,而不影响和的取值。也就是说和的取值与是否加上了约束项没有关系,因此约束项又是逻辑函数式中的无关项。
在分析和设计逻辑电路时,还可能遇到另外一种情况,就是在输入变量的某些取值下,无论逻辑函数值等于1还是0 ,对电路的逻辑功能都没有影响。在这些变量取值下等于1的那些最小项,就叫做这个逻辑函数的任意项。
2.3 习题类型与解题方法
一、逻辑等式的证明
解题方法和步骤:
方法一,分别列出等式两边逻辑式的真值表,若真值表完全相同,则等式成立。
方法二,若能利用逻辑代数的公式和定理将等式两边化为完全相同的形式,则等式成立。
方法三,分别画出等式两边逻辑式的卡诺图,若卡诺图相同,则等式成立。
二、逻辑函数不同描述方法之间的转换
用千描述逻辑函数的方法有逻辑真值表(简称真值表)、逻辑函数式(简称逻辑式)、逻辑图、卡诺图、波形图和硬件描述语言(简称HDL) 等几种。由于每一种描述方法各有其特点和应用场合,所以经常要求将用某一种描述方法给定的逻辑函数改用另外的描述方法来描述。
1. 真值表⇒ 逻辑式
解题方法和步骤:
(1) 首先从真值表中找出所有使函数值等于1的那些输入变量取值组合。
(2) 每一组使输出为1 的输入变扯取值下,必然有一个最小项的值等于1 。取值为1 的变扯在这个最小项中写为原变扭,取值为0 的变量在这个最小项中写为反变最。
(3) 将所有的这些最小项相加,就得到了所求的逻辑函数式。
2. 逻辑式⇒ 逻辑图
解题方法和步骤:
(1) 如果没有附加限制条件,则只要用逻辑图形符号取代逻辑函数式中的逻辑运算符号,将这些图形符号按输入到输出的顺序连起来,就得到所求的逻辑图了。
(2) 如果对使用的逻辑图形符号有限制,则往往还需要将函数式变换为适于使用限定图形符号的形式,然后再用图形符号代替逻辑运算符号。例如,规定全部使用与非图形符号画出逻辑图,那么就必须先将函数式化为全部由与非运算组成的形式。这个问题我们在后面还会讲到。
3. 逻辑式⇒ 卡诺图
解题方法和步骤:
(1) 将逻辑函数式展开为最小项之和的形式。
(2) 画出最小项的卡诺图,在函数式中包含的最小项对应的位置上填入1,其余位置上填入0,就得到了表示该逻辑函数的卡诺图。如果函数式中包含无关项,则在相应位置上填入“X” ,表示填入0或1均可。
4. 波形图⇒ 真值表
解题方法和步骤:
(1) 在周期性重复的波形图中,将每个时间段内输入变量和输出的取值对应列表,即可得到函数的真值表。
(2) 若波形图中有些输入变量状态组合始终没有出现,则这些输入变晟组合下等于1 的最小项为函数的约束项。
5. 逻辑式⇒ 真值表
解题方法和步骤:
将所有的输入变量取值组合逐一代入逻辑式,算出输出的函数值,然后将输入与输出的取值对应列成表格,得到的就是真值表。
6. 逻辑图⇒ 逻辑式
解题方法和步骤:
通常采用的方法是从电路的输入端到输出端逐级写出逻辑图形符号所表示的逻辑运算式,从而得到所求的逻辑式。
7. 其他的互相转换
利用上面几种基本的转换方法,可以实现任何两种表示方法之间的转换。例如我们要找出给定逻辑图的真值表,就可以先写出等效的逻辑式,再从逻辑式列出真值表。又比如我们需写出给定波形图所代表的逻辑式,这时可以先列出与波形图对应的真值表,然后从真值表写出逻辑式。
三、逻辑函数式的变换
在设计逻辑电路的过程中,往往首先得到的是逻辑函数的与或形式(也称为积之和形式) 。如果规定全部使用与非门组成这个逻辑电路,这时就必须把与或形式的逻辑函数式变换成全部由与非运算组合成的形式(也称为与非-与非形式)。又如,在使用ROM实现一个组合逻辑函数时,则要求将逻辑函数式化为最小项之和的形式,等等。
1. 与或形式⇒ 与非-与非形式
解题方法和步骤:
利用摩根定理将整个与或式两次求反,即可将与或形式化为与非-与非形式。
2. 与或形式⇒ 与或非形式
解题方法和步骤:
根据逻辑代数的基本公式和代人定理可知,任何一个逻辑函数都遵守公式 。又知所有最小项之和恒等于1 ,所以若将不包含在式中的所有最小项相加,得到的就是。将这些最小项之和再求反,也得到。因此,将不包含在函数式中的那些最小项相加,然后求反,得到的就是函数式的与或非形式。
如果画出函数的卡诺图,则只需将图中填入0的那些最小项相加,再求反,就可得到与或非形式的逻辑函数式了。
3. 与或式⇒ 或与式
解题方法和步骤:
方法一,首先用上面所讲的方法将与或形式的逻辑函数转换成与或非形式。然后,利用摩根定理就可以将与或非形式的逻辑式转换成或与形式的逻辑式了。
方法二,反复运用公式进行运算,也可以将与或形式的逻辑函数式变换为或与形式的逻辑函数式。
4. 与或式⇒ 或非-或非式
解题方法和步骤:
(1) 首先按前述方法将与或式转换为与或非形式。
(2) 用摩根定理将与或非式中的每个乘积项化为或非的形式,即可得到或非-或非形式的函数式了。
5. 将逻辑函数式化为最小项之和的形式
解题方法和步骤:
(1) 首先利用逻辑代数的公式和定理将函数式化成与或形式。
(2) 利用公式 将每个乘积项中缺少的因子补齐。例如某个乘积项中缺少因子B,则应在该项上乘以,然后拆成两项,每项中便分别增加了或因子。
6. 将逻辑函数式化为最大项之积的形式
解题方法和步骤:
(1) 若给出的函数式已经是或与形式,则可以利用公式 将每个括号内缺少的因子补齐。例如中缺少或 ,这时就可以在括号里加上BB’ ,然后再利用公式将它拆开,就得到了两个最大项的乘积
(2) 若给出的函数式是与或形式,则应当先利用上面介绍的方法将它变换为或与形式,然后再按(I) 中所说的方法去做。
四、逻辑函数的化简
1. 公式化简法
解题方法和步骤:
公式化简法就是运用逻辑代数的公式和定理进行逻辑运算,以消去逻辑函数式中多余的乘积项和每项中多余的因子。
如果是有无关项的逻辑函数,则应充分利用无关项的特点(可以写入逻辑式也可以从逻辑式中删除),使化简的结果更加简单。
2 . 卡诺图化简法
解题方法和步骤:
(1) 画出表示逻辑函数的卡诺图。
(2) 找出可以合并的最小项,把它们圈起来。
(3) 选择化简后保留的乘积项。选取的原则是
第一,这些乘积项必须包含函数式中所有的最小项,即包含卡诺图中全部的1;
第二,所用的乘积项数目最少,即用最少的可合并的圈将卡诺图中的1 圈进去;
第三,每个乘积项的因子最少,即每个圈应尽可能地圈大。
为了使每个可以合并的圈尽量大,可以在不同的圈里重复圈入某一项。因为 ,所以重复写入某个最小项不影响逻辑函数值。
如果是有无关项的函数,则既可以将它圈入可合并的最小项当中,也可以不圈入。是否应当圈入可合并的最小项当中,要看能否得到最大的合并圈。
3. 多输出逻辑函数的化简
在化简一组具有多输出的逻辑函数时,应当充分利用这些逻辑函数式中含有的“共用项”,以求得总体上最简的化简结果。 从这一组函数的卡诺图上寻找共用项的方法虽然简单、直观,但局限性很大,尤其是在输入变量较多的情况下。为了解决多变量、多输出逻辑函数的化简问题,可以将Q-M 化简法用于多输出逻辑函数的化简,并在此基础上编制出适于计算机化简的程序。读者如有兴趣,可参阅《数字电子技术基础(第六版)》参考文献[3] 的第四章。