Logisim在数字逻辑实验课程中的实践与探索
2021-11-28王璐刘艺刘亚楠
王璐 刘艺 刘亚楠
摘要:本文分析了数字逻辑实验课程的教学现状及实验需求,提出将Logisim仿真软件引入实验教学中,给出了“利用Logisim设计实现运动码表”综合性实验项目的分析与设计过程,探讨了该软件在数字逻辑实验课程教学中的可行性。实验课程中引入该仿真软件可以帮助学生理解所学的理论知识,适当降低实验课程难度,从而激发学生对本课程的学习兴趣,进一步提高学生对电路的分析设计能力。
关键词:数字逻辑;Logisim;实验教学;设计及仿真
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2021)30-0234-02
开放科学(资源服务)标识码(OSID):
The Practice and Exploration of Logisim in the Experimental Course of Digital Logic
WANG Lu, LIU Yi, LIU Ya-nan
(Department of Computer Teaching,Hefei Normal University, Hefei 230061, China)
Abstract: In this paper, the teaching status and experimental requirements of digital logic experimental course are analyzed, and the Logisim simulation software is proposed to be introduced into the experimental teaching. The analysis and design process of the comprehensive experimental project "using Logisim design to realize the motion code table" is given, and the feasibility of the software in the teaching of digital logic experimental course is discussed.The introduction of the simulation software in the experimental course can help students understand the theoretical knowledge and appropriately reduce the difficulty of the experimental course, so as to stimulate students' interest in this course and further improve students' ability of circuit analysis and design.
Key words: Digital logic; Logisim; Experimental teaching; Design and Simulation
1 引言
《數字逻辑》课程在计算机专业课程体系有着重要作用,该课程实践性强,是计算机科学与技术、网络工程、软件工程等计算机相关专业的专业必修基础课,也是计算机硬件相关课程的先修课程。《数字逻辑》课程旨在全面培养学生对数字电路分析及设计的能力,并为《计算机组成原理》《计算机系统结构》《微机接口技术》等后续课程的学习打下扎实的理论基础。《数字逻辑实验》课程则起到进一步巩固理论知识,培养学生对数字电路的分析设计能力的作用,在教学环节中起到了非常重要的作用。
2 “数字逻辑实验”教学现状
2.1 教学的现状
近年来,数字逻辑的实验课程大多采用试验开发板或实验箱来完成。这种实验方式存在着一些弊端,如:器材的购买费用较高且需要进行器材的维护;受实验器材的影响实验项目较为有限;编写代码后,需要对代码进行于调试;实验较难验证及扩展等。
2.2 教学改革需求
遵循现代数字系统设计的发展趋势,我院不断地在《数字逻辑实验》教学过程中进行改革及探索,把数字系统设计的新方法、新理念及新技术不断地渗入到实际的教学活动中去。在教学实践中发现,如何采取有效的措施,把抽象的理论知识更为形象直观的展示并验证,适当降低实验的难度,进一步激发学生的兴趣、从而培养学生对数字电路的分析设计能力等问题,是数字逻辑解实验课程教学过程中必须解决的问题。针对这些问题,可以考虑把数字电路仿真软件引入到实验过程中。使用仿真软件也是数字电路实验一个改革方向,近年来也得到越来越多的认同及实践应用。
Logisim[[1]]作为一个数字逻辑电路的设计与仿真软件,具有开源性、其在Java环境下无需安装即可运行,拥有分层电路、线束和大型组件库,并且软件界面较为简单,容易操作,仿真结果能较为直观方便验证测试,易于理解等优点[[2]],适于数字逻辑电路的设计及仿真。而数字电路中大量由基本门电路组合而成的计算机部件实例适合利用Logisim软件来设计及仿真[[3]]。Logisim除了提供基本的逻辑门以外,还提供运算器、复用器、存储库及输入输出等大型组件库,可以通过使用组件库器件绘制电路或是输入真值表、逻辑表达式等方法创建逻辑电路,并对设计电路进行仿真测试,观察电路实现功能。由此可见,在“数字逻辑实验”教学过程中引入Logisim是完全可行的[[4]]。
3 “数字逻辑实验”案例的设计及实现
3.1 使用Logisim设计电路的一般步骤
使用Logisim仿真軟件可将理论教学中一些较为抽象、难理解的知识点通过软件的仿真加以实现,通过电路的仿真测试观察电路所实现的功能。使用Logisim设计电路的一般步骤为:(1)明确设计需求,即了解设计任务的设计内容、性能需求等;(2)选择实际的设计方案。即根据所掌握的知识体系,针对设计需求,设计出较为经济可靠、可行性高的设计框架;(3)设计电路单元模块。根据设计框架选择合适的参数及器件,对实现电路的单元模块进行设计并封装;(4)对封装后的电路单元模块进行集成组装;(5)对集成组装后的电路进行封装并测试其功能。一般步骤如图1所示。
3.2 基于logisim的综合性实验项目实例
下面以综合性案例“使用logisim设计运动码表”为例,按要求设计电路实现运动码表功能,并使用logisim软件进行虚拟仿真。分析设计步骤如下:
1)根据功能描述分析设计需求
能够实现分钟计时以及秒计时的功能,并将计时数值显示在数码管上。此功能码表有四个输入按钮,实现功能描述如下;
(1) 开始/暂停按钮:控制码表启动计时和暂停计时;开始/暂停指示灯:能够提示当前是在计数状态或暂停状态。
(2) 复位按钮:可将当前计数状态清零。
(3) 存储按钮:存储键按下时,能将当前码表中的数值存储下来。
(4) 历史成绩:将之前按下“存储按钮”时存储的数值显示在数码管上。
2)选择逻辑器件
首先运动码表实现的是计数功能,所以要使用到计数器;把计数的数字在数码管上显示出,所以需要数码管显示;因为码表需设计存储功能,因此需要使用到寄存器;由于数码管显示驱动有两个数据来源:计数器计数和寄存器存储的数值,所以需要使用到多路选择器MUX选择哪一路数字信号作为输出显示在数码管上。然后根据要使用到的组件,设计实现具体功能模块。
3)模块的设计与实现
(1) 计数模块的设计
计数模块由分钟计时和秒钟计时两部分组成,两部分都可设计为模60的计数器,其中个分位、个秒位为模10计数器,十分位和十秒位均为模6计数器。并把两个模60计数器级联,实现分钟及秒钟的计时。设计过程中,可使用计数器中的清零接口实现电路复位功能;开始/暂停按钮可以使用一个D触发器与门电路来实现。
(2) 存储电路设计
使用4个D触发器进行连接,可以设计实现4位二进制数的寄存器,寄存器可在计存储脉冲的驱动下实现对四位二进制的存储,进而实现运动码表的存储功能。
(3) 显示模块的设计
数码管显示驱动有两个数据来源:BCD计数器和寄存器,所以需要使用到多路选择器MUX选择所要输出的数据来源。在“历史数据”按键按下时,数码管则显示寄存器中存储的数值;若按键未按下时,显示运动码表当前正在计时的数值。
4)电路的集成与组装
将上述各模块进行封装后并连线组合,完成运动码表电路设计。电路集成电路图如图2所示。
5)电路的封装及功能测试
最后可将电路集成组装图进行封装,并添加相应的测试按钮、显示数码管及发光二级管,测试运动码表所实现的功能,测试图如图3所示。可以通过测试电路,更为直观的观察电路所实现功能。
4 结束语
经过作者在《数字逻辑实验》课程近几学期的教学实践证明,Logisim仿真软件运用在实验课程中是可行的。在实验教学过程中可以将理论课程中重难点的内容通过logisim进行基于原理图的设计与仿真,让学生理论课中所学的组合、时序逻辑电路的设计思想、设计方电路更为直观的呈现并得以测试。Logisim软件的引入适当降低了实验难度,进一步增加了学生对实验课程的兴趣。作为一名高校教师,我将以培养学生的创新精神和实践能力,进一步增强学生学习的主动性为目标,不断对《数字逻辑实验》课程进行探索积极推进课程的改革。
参考文献:
[1] BURCH C.Logisim[EB/OL][2016-1-23].http://www.cburch.com/logisim/
[2] Minnies Stuff.An Example Hardwired CPU [EB/OL]. [2016-1-23]. http://minnie.Thus.Orgl/CompArch/Tutes/week 03.html
[3] 吴荣海.Logisim在“计算机组成原理”教学中的应用实践[J].大理大学学报,2016,1(12):96-100.
[4] 胡世昌.用Logisim改革数字电路实验[J].沈阳师范大学学报(自然科学版),2015,33(2):301-304.
【通联编辑:梁书】