论文部分内容阅读
[摘要]:本文从数字逻辑课程的特点、现状及教学需求出发,介绍了引入Proteus VSM的必要性及其在实际教学过程中取得的效果,充分说明了Proteus VSM在该课程教学中的作用。
[关键词]:组合逻辑 时序逻辑 虚拟系统模型
一、前言
数字逻辑是数字电路逻辑设计的简称,是计算机及相关专业的一门必修的专业基础课,其主要内容是用数字电路进行数字系统逻辑设计,包括组合逻辑电路、时序逻辑电路及其混合逻辑电路的分析与设计技术。不管是什么样的电子数字计算机,无非是由具有各种逻辑功能的逻辑部件组成的,但在设计过程中一定需要进行各种单元电路和系统整体的实验和测试,以确保逻辑正确,时序无误,并且性能良好。
需要实验和测试,就需要相应的逻辑元器件来构建电路,还需要测量、测试及辅助分析用的仪器设备,当然也需要相应的电源、信号源等。如果一切都需要真材实料,毫无疑问是一般学习者无法解决的问题。因为学校的教学资源有限,即使是在校的大学生,实验室的资源也不可能满足其所有需求,对于校外的其他学习者就更加困难。因此,寻找一种接近实际的虚拟系统作为实现数字逻辑电路的分析与设计、实验和测试的工具,会对学习者有很大的帮助,只有通过理论与实践的结合,才可能加深学习印象,提高学习效果,减少设计错误,明确电路的设计性能。
Proteus VSM(Virtual System Model,虚拟系统模型)正好可以满足学习者的这些需求,它是由英国Labcenter Electronics公司开发的一款EDA软件,是目前世界上最先进、最完整的仿真平台。Proteus软件具有多种元件库,其中的元器件大多均可直接用于实际电路的搭建,而且该软件提供了多种与实际仪器仪表用法相似的虚拟仪器设备,还有各种信号源,几乎可以完成各类数字逻辑电路的设计、测试和辅助分析工作。由于这些虚拟元器件、仪器设备和信号源可以随意取用,既不需要花钱购买,又接近实际实物的效果,而且不需要维护,不会因为学习者的误操作或使用不当而造成元器件和仪器设备的损坏,更不会影响到人身安全,而且仿真效果非常逼真。因此,不仅使任课老师可在课堂上以形象生动的仿真演示提高学生的学习兴趣,而且可引导学生将相应实验推广至课外的任何地点。学习者可根据自己的需要,自行设计实验项目,从系统提供的元件库中找到相应的虚拟元件,形成自己的实验电路,从系统提供的虚拟仪器中找出自己需要的仪器设备,从系统提供的信号源中随意取得所需使用的各种信号源,从而实现对所需电路进行设计、测试和分析,有效地解决学习过程中的各种疑难问题,提高自己的实际设计能力。
二、组合逻辑电路的分析与设计
组合逻辑电路是由与门、或门和非门等门电路组合形成的逻辑电路,对于一些常用的组合逻辑电路,许多IC芯片制造商已经提供了相应的集成电路芯片,即使是一些复杂的组合逻辑关系也可以通过常用IC芯片和一些辅助门电路组合而成。
1.组合逻辑电路的分析
所谓组合逻辑电路的分析,就是根据已知逻辑电路图,找出组合逻辑电路的输入与输出关系,确定在什么样的输入取值下对应的输出为1。当然,输入通常是多个逻辑量,而输出可以是1个或多个。
在对组合逻辑电路进行分析时,Proteus VSM提供了很好的仿真手段,如图1(a)所示的组合电路,如果需要分析其输入与输出的逻辑关系,可以设计一些辅助电路如图1(b),通过三个开关的按下与弹起为电路的三个输入端A、B、C提供不同的输入组合,观察不同输入所对应的两个输出端的逻辑电平,可列出真值表如表1所示。图中所示的情况是:输入A、B、C的值是1、0、1,而输出F2的值是1,F1的值是0。
根据真值表可以写出逻辑表达式:
从公式1可见,F1是在奇数个输入为1时才输出为1,而F2是两个或三个输入为1时才输出1,这正是一位全加器的逻辑表达式。其中,F1为本位和,F2为向高位的进位。对以上逻辑表达式进行化简可得:
这样就与电路完全一致了。
2.组合逻辑电路的设计
组合逻辑电路的设计是组合逻辑电路分析的逆过程,即根据输入与输出的逻辑关系要求,设计出满足符合要求的组合逻辑电路。
常用的组合逻辑电路包括译码器、编码器、多路选择器、比较器、加法器等,这些电路通常都有多种型号的IC芯片可供选择。在实际应用中,组合逻辑电路的设计通常都采用常用的IC芯片来构建,必要时再配合一些辅助门电路,这样的设计简单可靠,设计方法可按常规方式进行,但对于设计出的组合逻辑电路是否正确,就必须通过实验测试才能进一步确认,有了Proteus VSM,只需按设计电路图将所设计的电路在Proteus的ISIS(Intelligent Schematic Input System,智能原理图输入系统)中绘制出来,再配合一些辅助电路进行仿真,就可实现正确性的验证了。
比如,设计一个8位二进制加法器,可以用两片74LS283来实现,如图2(a)所示,具体电路的仿真结果如图2(b)所示,在图2(b)中两个8位二进数分别为:A=00001111B=0FH,B=10011111B=9FH,相加的结果通过两个数码管显示为AEH。用鼠标点击构成数据输入端的每一个LAGICSTATE图标,就可以像改变图1(b)的输入开关状态一样,使每一位的值在0和1之间切换,从而实现对不同的两组8位二进制数据进行相加运算,并将相应结果通过LED数码管显示出来。其实,即使不用LED数码管,通过仿真电平的颜色显示也可判断其值(红颜色为1,蓝颜色为0)。比如,从图2(b)可见,其输出引脚8位的值,其从高位到低位的二进制数为1010 1110,所以显示的十六进制值为AEH。从U2的C4脚输出电平可见(用LOGIC PROB)显示,没有向高位进位。
三、时序逻辑的电路分析与设计
时序逻辑电路是由触发器和门电路组成的具有记忆功能的逻辑电路,对时序逻辑电路的分析与设计采用Proteus VSM作为辅助手段,更能起到事半功倍的效果。
下面以设计一个六十进制计数器为例,简要介绍其分析与设计过程。首先已知常用IC中有BCD计数器功能的IC芯片,如74HC160是同步预置数,异步清0的十进制加法计数器,对于六十进制计数,只需用两片74HC160再配以少量辅助门电路即可完成。但在设计过程中,方式方法可以有多种,比如两个BCD计数之间的计数过程是同步还是异步、如何处理进位等。
以图3(a)为例,其计数过程就是异步方式,其十位的计数脉冲单纯由个位的进位提供。这种方式在仿真时,有可能出现错误。其原因有二:一是由于个位的进位RCO经反相后给十位作为计数脉冲。刚开始工作时,由于个位的RCO为0,所以经反相后为1,这就使得十位得到一个不应有的进位而产生了一个误计数,其仿真如图3(b)所示,还没有按过按钮时,其计数显示结果居然是10,显然这就是由于十位的误计数造成的;二是由于个位的进位RCO=D3
[关键词]:组合逻辑 时序逻辑 虚拟系统模型
一、前言
数字逻辑是数字电路逻辑设计的简称,是计算机及相关专业的一门必修的专业基础课,其主要内容是用数字电路进行数字系统逻辑设计,包括组合逻辑电路、时序逻辑电路及其混合逻辑电路的分析与设计技术。不管是什么样的电子数字计算机,无非是由具有各种逻辑功能的逻辑部件组成的,但在设计过程中一定需要进行各种单元电路和系统整体的实验和测试,以确保逻辑正确,时序无误,并且性能良好。
需要实验和测试,就需要相应的逻辑元器件来构建电路,还需要测量、测试及辅助分析用的仪器设备,当然也需要相应的电源、信号源等。如果一切都需要真材实料,毫无疑问是一般学习者无法解决的问题。因为学校的教学资源有限,即使是在校的大学生,实验室的资源也不可能满足其所有需求,对于校外的其他学习者就更加困难。因此,寻找一种接近实际的虚拟系统作为实现数字逻辑电路的分析与设计、实验和测试的工具,会对学习者有很大的帮助,只有通过理论与实践的结合,才可能加深学习印象,提高学习效果,减少设计错误,明确电路的设计性能。
Proteus VSM(Virtual System Model,虚拟系统模型)正好可以满足学习者的这些需求,它是由英国Labcenter Electronics公司开发的一款EDA软件,是目前世界上最先进、最完整的仿真平台。Proteus软件具有多种元件库,其中的元器件大多均可直接用于实际电路的搭建,而且该软件提供了多种与实际仪器仪表用法相似的虚拟仪器设备,还有各种信号源,几乎可以完成各类数字逻辑电路的设计、测试和辅助分析工作。由于这些虚拟元器件、仪器设备和信号源可以随意取用,既不需要花钱购买,又接近实际实物的效果,而且不需要维护,不会因为学习者的误操作或使用不当而造成元器件和仪器设备的损坏,更不会影响到人身安全,而且仿真效果非常逼真。因此,不仅使任课老师可在课堂上以形象生动的仿真演示提高学生的学习兴趣,而且可引导学生将相应实验推广至课外的任何地点。学习者可根据自己的需要,自行设计实验项目,从系统提供的元件库中找到相应的虚拟元件,形成自己的实验电路,从系统提供的虚拟仪器中找出自己需要的仪器设备,从系统提供的信号源中随意取得所需使用的各种信号源,从而实现对所需电路进行设计、测试和分析,有效地解决学习过程中的各种疑难问题,提高自己的实际设计能力。
二、组合逻辑电路的分析与设计
组合逻辑电路是由与门、或门和非门等门电路组合形成的逻辑电路,对于一些常用的组合逻辑电路,许多IC芯片制造商已经提供了相应的集成电路芯片,即使是一些复杂的组合逻辑关系也可以通过常用IC芯片和一些辅助门电路组合而成。
1.组合逻辑电路的分析
所谓组合逻辑电路的分析,就是根据已知逻辑电路图,找出组合逻辑电路的输入与输出关系,确定在什么样的输入取值下对应的输出为1。当然,输入通常是多个逻辑量,而输出可以是1个或多个。
在对组合逻辑电路进行分析时,Proteus VSM提供了很好的仿真手段,如图1(a)所示的组合电路,如果需要分析其输入与输出的逻辑关系,可以设计一些辅助电路如图1(b),通过三个开关的按下与弹起为电路的三个输入端A、B、C提供不同的输入组合,观察不同输入所对应的两个输出端的逻辑电平,可列出真值表如表1所示。图中所示的情况是:输入A、B、C的值是1、0、1,而输出F2的值是1,F1的值是0。
根据真值表可以写出逻辑表达式:
从公式1可见,F1是在奇数个输入为1时才输出为1,而F2是两个或三个输入为1时才输出1,这正是一位全加器的逻辑表达式。其中,F1为本位和,F2为向高位的进位。对以上逻辑表达式进行化简可得:
这样就与电路完全一致了。
2.组合逻辑电路的设计
组合逻辑电路的设计是组合逻辑电路分析的逆过程,即根据输入与输出的逻辑关系要求,设计出满足符合要求的组合逻辑电路。
常用的组合逻辑电路包括译码器、编码器、多路选择器、比较器、加法器等,这些电路通常都有多种型号的IC芯片可供选择。在实际应用中,组合逻辑电路的设计通常都采用常用的IC芯片来构建,必要时再配合一些辅助门电路,这样的设计简单可靠,设计方法可按常规方式进行,但对于设计出的组合逻辑电路是否正确,就必须通过实验测试才能进一步确认,有了Proteus VSM,只需按设计电路图将所设计的电路在Proteus的ISIS(Intelligent Schematic Input System,智能原理图输入系统)中绘制出来,再配合一些辅助电路进行仿真,就可实现正确性的验证了。
比如,设计一个8位二进制加法器,可以用两片74LS283来实现,如图2(a)所示,具体电路的仿真结果如图2(b)所示,在图2(b)中两个8位二进数分别为:A=00001111B=0FH,B=10011111B=9FH,相加的结果通过两个数码管显示为AEH。用鼠标点击构成数据输入端的每一个LAGICSTATE图标,就可以像改变图1(b)的输入开关状态一样,使每一位的值在0和1之间切换,从而实现对不同的两组8位二进制数据进行相加运算,并将相应结果通过LED数码管显示出来。其实,即使不用LED数码管,通过仿真电平的颜色显示也可判断其值(红颜色为1,蓝颜色为0)。比如,从图2(b)可见,其输出引脚8位的值,其从高位到低位的二进制数为1010 1110,所以显示的十六进制值为AEH。从U2的C4脚输出电平可见(用LOGIC PROB)显示,没有向高位进位。
三、时序逻辑的电路分析与设计
时序逻辑电路是由触发器和门电路组成的具有记忆功能的逻辑电路,对时序逻辑电路的分析与设计采用Proteus VSM作为辅助手段,更能起到事半功倍的效果。
下面以设计一个六十进制计数器为例,简要介绍其分析与设计过程。首先已知常用IC中有BCD计数器功能的IC芯片,如74HC160是同步预置数,异步清0的十进制加法计数器,对于六十进制计数,只需用两片74HC160再配以少量辅助门电路即可完成。但在设计过程中,方式方法可以有多种,比如两个BCD计数之间的计数过程是同步还是异步、如何处理进位等。
以图3(a)为例,其计数过程就是异步方式,其十位的计数脉冲单纯由个位的进位提供。这种方式在仿真时,有可能出现错误。其原因有二:一是由于个位的进位RCO经反相后给十位作为计数脉冲。刚开始工作时,由于个位的RCO为0,所以经反相后为1,这就使得十位得到一个不应有的进位而产生了一个误计数,其仿真如图3(b)所示,还没有按过按钮时,其计数显示结果居然是10,显然这就是由于十位的误计数造成的;二是由于个位的进位RCO=D3