巧用集合解数字电路

(整期优先)网络出版时间:2024-05-17
/ 2

巧用集合解数字电路

范晨扬

杭州市余杭第一中学(杭二中余杭学校)311113

摘要:随着基础教育课程教学改革不断深化学生在掌握记忆型知识的同时,更应该注重技能型知识。在浙江省通用技术选考部分内容中,对数字电路中逻辑表达式的简化通常通过记忆公式、运用公式来完成,这需要学生花费大量时间去记忆与计算。本文着重阐述利用高中数学中的集合思维来完成简化,减轻学生记忆公式的负担,同时通过类比帮助他们对数字电路有更深入的了解。

关键词:集合  数字电路  逻辑表达式

在浙江省通用技术选考部分内容中,要求学生掌握对数字电路逻辑表达式的简化。学生化简数字电路中的逻辑表达式时,需要先熟记很多的换算或化简公式,诸如互补律、交换律、结合律、分配律、反演律、吸收律等等,这些公式数量多且容易与数学中的交换律、分配律、结合律等运算法则混淆(由于逻辑表达式中“或”用“+”表示,“与”用“·”表示)。例如,同样被命名为“分配律”的逻辑表达式化简公式和数学中的运算法则有本质区别,在逻辑表达式的化简公式中,A+B·C=(A+B)(A+C),这在数学中并不成立。与其让学生去记忆复杂的公式,不如借用高中数学第一章的集合来解决这些复杂的逻辑表达式。

在学习数字电路之前,首先我们需要知道,无论多么复杂的逻辑关系都可以由与、或、非这三种基本逻辑关系组合而成。在基础的数字电路中,共有3个逻辑门:与门、或门、非门。

“所有逻辑前提皆为真时,逻辑结论才为真”的逻辑关系称为“与”逻辑关系。与门的逻辑功能是只有当输入全为1时,输出为1,假设A、B是与门的两个输入,F是该与门的输出,F=A·B(A与B), 也就是说只有当A=1和B=1这两个条件都满足时,F才为1,这可以类比为集合中的交集。在集合论中,设A,B是两个集合,由所有属于集合A且属于集合B的元素所组成的集合,叫做集合A与集合B的交集,即A∩B={x|x∈A,且x∈B}。在这里,我们将逻辑表达式中的A类比成集合论中属于A的元素,将B类比成集合论中属于B的元素,那么逻辑电路中F=A·B(A与B)可以类比为既属于集合A,也属于集合B的元素所组成的集合(如图1)。

“逻辑前提中有一个或一个以上为真时,逻辑结论就为真”的逻辑关系称为“或”逻辑关系。或门的逻辑功能是有一个或一个以上的输入为1时,输出为1,假设A、B是或门的两个输入,F是该或门的输出,F=A+B(A或B), 也就是说当A=1和B=1这两个条件有一个或一个以上满足时,F就为1,这可以类比为集合中的并集。在集合论中,设A,B是两个集合,由所有属于集合A和属于集合B的元素所组成的集合,叫做集合A与集合B的并集,即A∪B={x|x∈A,或x∈B}。在这里,我们将逻辑表达式中的A类比成集合论中属于A的元素,将B类比成集合论中属于B的元素,那么逻辑电路中F=A+B(A或B)可以类比为属于集合A或属于集合B的所有元素所组成的集合(如图2)。

“逻辑前提为假时逻辑结论为真,逻辑前提为真时逻辑结论反而为假”这样的逻辑关系称为“非”逻辑关系非门的逻辑功能是当输入为1时,输出为0;当输入为0时,输出为1.假设A是非门的输入,F是该非门的输出,F=(A非),也就是说当A=1时,F为0;当A=0时,F为1。这可以类比为集合中的补集。在集合论中,设全集U,A是U的一个子集,由U中所有不属于A的元素组成的集合,叫做子集A在U中的补集,CuA={x|x∈U且x∉A}。在这里,我们将逻辑表达式中的A类比成集合论中属于A的元素,将(A非)类比成全集U中所有不属于A的元素组成的集合(如图3)。

在浙江通用技术考试的有关数字电路的试题中,电路是以三个输入的电路为主的,依据集合的原理和规则,我将每一个逻辑表达式都放入属于他们的一块区域(如图4)。

    接下来,我将分别用一道数字电路“看图推断表达式”题和一道生活情景题来说明集合解题法的巧妙之处。

通过观察图5题中给出的逻辑电路图,可知F=A+·(B+C)+C,由于B+C可以用图 6表示,·(B+C)可以用图 7表示,A+C可以用图 8来表示,F=A+·(B+C)+C可以用图 9表示,而图 9这幅集合图对应的逻辑表达式正是F=A+B+C,因此答案选C,如果通过逻辑门运算公式来解这道题,我们就需要将F=A+·(B+C)+C这个式子逐步化简成为F=A+B+C,相比较而言,用集合思维解这道题会简单不少。

再如:有一项任务需要男女共同参与才能完成,其中A是一位男生,BC是两位女生,用高电平表示参与,低电平表示不参与。任务(F)完成用高电平表示,任务失败用低电平表示。下列选项中不能实现上述逻辑关系的是(    )

根据题意可得,这项任务的完成有两个条件,第一是男生A必须参与,第二是女生B和女生C之中至少有一人参与,由此可得F=A·(B+C),A、B、C、D四个选项分别是F=A·(B+C),F=(A·B)+(A·C), F=

, F=·

根据上文中提到的方法,F=A·(B+C)可以用图 11来表示,由于选项A的逻辑表达式和题目要求的逻辑表达式一样,因此,他们的集合表达必然也一样。

关于选项B,它的逻辑表达式是F=(A·B)+(A·C),A·B可以用图12表示,A·C 可以用图13表示,F=(A·B)+(A·C)可以用图14表示,由于F=(A·B)+(A·C)的集合图与F=A·(B+C)的集合图一样,所以它们代表完全相同的男女参与任务的情况,因此选项B可以实现上述逻辑关系。

关于选项C,它的逻辑表达式是 F=可以用图15表示,可以用图16表示,+可以用图17表示,因此,F= 可以用图18表示,与完成题目中任务所需的逻辑表达式的图11一致,因此选项C也可以实现上述逻辑关系。

关于选项D,它的逻辑表达式是 F=·可以用图19表示,可以用图20表示,因此F=·可以用图21表示,与图11不一致,因此答案选D。

在这一类的数字电路逻辑表达式处理问题中,灵活运用高中数学第一章的集合来解决,打破学科边界,实现学科整合,使得复杂的逻辑表达式迎刃而解,也更好地培养和训练了学生的学习能力和综合素养。

参考文献:

[1] 康磊,李润洲.数字电路设计及Verilog HDL实现[M].2版.西安:西安电子科技大学出版社,2019.                                   

[2] 张峰.集合论基础教程[M].北京:清华大学出版社,2021.