仿真软件构建“数字电子技术”课程立体教学
2017-11-08李金灿邱广萍
李金灿,邱广萍
(华南农业大学 珠江学院,广东 广州 510900)
仿真软件构建“数字电子技术”课程立体教学
李金灿,邱广萍
(华南农业大学 珠江学院,广东 广州 510900)
针对当前“数字电子技术”课程特点,文章提出在教学过程(包括理论教学和课程设计)中引入多个仿真软件,以构建立体教学体系。Multisim,Quartus,Modelsim 3个仿真软件各有特色,可应用于课程不同章节的课堂教学中。文中通过各软件仿真实例阐述其在教学中的具体嵌入及应用,使教学效果得到明显的提高,应该普及仿真软件在教学中的应用。
Multisim; Quartus; Modelsim; 立体教学
“数字电子技术”课程是电子类专业的专业基础课,其课程特点是理论与实践紧密结合,重点突出数字逻辑集成芯片的认识及实际应用。一般在课程后半会配套课程设计,使学生对所学知识进行综合应用。
随着技术的高速发展,计算机辅助教学(CAI)进入了课堂,各种教学仿真软件层出不穷,逐渐被熟悉后应用到教学中。仿真软件能解决因实验设备不足而开不出课程实验的问题,并凭借其出色的仿真功能及易操作性使得课堂变得生动、形象、高效。
本文将介绍Multisim,Quartus,Modelsim三个软件在理论课堂教学和课程设计中的具体应用,构建立体教学〔1〕。
1 仿真软件在理论教学中的应用
1.1 Multisim软件的应用
Multisim软件是美国国家仪器(NI)有限公司一款优秀的电路线路仿真工具,它包含原理图的图形输入、硬件描述语言输入方式,具有丰富的仿真分析能力〔2〕。其界面与实际的实验箱相似,元器件查找、连接方便,仿真调试过程简单,操作性好,现广泛用于“电路分析”、“数字电子技术”、“模拟电子技术”等课程的教学中。
在“数字电子技术”课程刚开始介绍门电路时,学生对这个概念并不是很理解,一般只认识门电路的符号和逻辑功能,但不会与实际的集成芯片联系起来。为了让学生快速熟悉常用的逻辑芯片,可以在软件里用两种方式来仿真,以对比的方式认识逻辑电路图和实际电路图。以与门为例,分别选择TTL结构无源和有源的74LS08,并使用电阻、开关等器件搭建好逻辑输入电平电路,输出状态用探测灯来表示,如图1所示:
(a) 无源与门电路 (b) IC形式与门电路
图1(a)是用无源与门搭建,与书本介绍的电路符号是一致的,而图1(b)是用有源与门,即IC形式搭建,是在实验室用到的具体芯片,通过这2个电路,学生就可以了解在实验室如何用逻辑芯片来实现书本画的电路图了。
再以较复杂的组合逻辑电路—优先编码器为例,选择74LS148,为使输入电平信号电路简洁些,可以采用拨码开关来替代,其功能测试电路如图2所示:
图2 优先编码器功能测试电路
从上面的例子可以看出,课程的大部分功能电路都可以在Multisim上仿真,教师在课堂上通过仿真例子的配合,可使教学更为生动、有效。
1.2 Quartus软件的应用
Quartus II 是Altera公司的综合性PLD/FPGA开发软件,它支持原理图、VHDL、Verilog HDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程〔3〕。
触发器的描述一般使用波形图来表示。Quartus II有自带的波形仿真器,通过对输入信号的简单设置,即可产生所需的输入、输出波形。
考虑到教学进度,在课堂上使用Quartus II进行波形仿真时,其电路搭建一般使用原理图输入,暂不采用硬件描述语言(HDL)来描述。如讲授JK触发器的特性时,先将电路搭建,如图3所示:
图3 JK触发器功能电路
电路的搭建过程与Multisim类似,不同之处是需要为输入、输出信号接入相应的端口,以连接驱动信号,并显示输出波形。将脉冲信号CP、输入信号JK设定好,运行仿真器,可产生波形图,如图4所示:
图4 JK触发器仿真波形
1.3 Modelsim软件的应用
Mentor公司的ModelSim是业界优秀的HDL语言仿真软件〔4〕,它能提供友好的仿真环境,是唯一单内核支持VHDL和Verilog混合仿真的仿真器,是FPGA/ASIC设计的首选仿真软件。由于Quartus II 9.0及以前版本是自带波形仿真器,但之后版本就不带了,为了让学生能够适应将来的软件发展需求,在教学中亦向学生介绍该软件的使用。
ModelSim的仿真波形外观是Quartus自带波形仿真器比不上的,但ModelSim的操作比较复杂,需编写测试激励(testbench)。教师需向学生下发编程手册及一些程序例子。
以1位全加器为例,设a、b为1位加数,ci为低位向本位的进位,s为本位和,co为本位向高位的进位,可以向学生介绍几种描述的方法,让学生从实例对比中理解编程的思想。本例使用较为简洁的数据流方式进行描述。
module full_add(a,b,c,s,co);
input a,b,c;
output s,co;
assign {co,s}=a+b+ci;
endmodule
接下来是进行测试激励的编写, Testbench测试过程应包括:(1)实例化需要测试的设计(DUT,Design Under Test);(2)产生模拟激励(波形);(3)将产生的激励加入到被测试模块并观察其输出响应;(4)将输出响应与期望进行比较,从而判断设计的正确性。仿真代码为:
`timescale 1ns/100ps
module add_tb;
reg a,b,ci;
wire s,co;
add myadd(.a(a),.b(b),.ci(ci),.s(s),.co(co));
initial
begin
a=0;b=0;ci=0;
#100 a=0;b=0;ci=1;
#100 a=0;b=1;ci=0;
#100 a=0;b=1;ci=1;
#100 a=1;b=0;ci=0;
#100 a=1;b=0;ci=1;
#100 a=1;b=1;ci=0;
#100 a=1;b=1;ci=1;
#100 a=0;b=0;ci=0;
#100 $stop;
end
endmodule
仿真波形如图5所示:
图5 全加器仿真波形
2 仿真软件在课程设计中的应用
2.1 课程设计思想的导入
“数字电子技术”课程设计一般安排在学期的后半段,此时理论课程进度应该是刚进入时序逻辑电路这一章内容〔5〕。而这一章里的计数器在整个逻辑电路的设计中占很重要的位置。如何让学生快速地掌握各种集成计数器的使用,并完成整个系统电路的设计,教师需将设计的思想和过程循序渐进地传授给学生。
现以“八路数字抢答器”作为设计任务,使用Multisim进行设计。该题目很好地反映理论课程各章内容。
1)引入
教学中首先引入集成4位二进制加法计数器74LS161,向学生介绍该芯片的逻辑功能、输入、输出管脚,并将其输出以数码管显示,其仿真电路如图6所示:
图6 74LS161实现十六进制加法仿真电路
在该例中,可以搭建电平信号电路来测试74LS161“清零端”和“置数端”的功能;也可将74LS48换成CMOS结构的CD4511芯片,来对比2个显示译码器对伪码是否消隐的功能。同时亦可以介绍共阳或共阴数码管与显示译码器的配对要求。
2)深化
在上例的基础上,向学生提出一个问题:“如何将十六进制的计数器变成十进制计数器?”这样就可以引出N进制计数器的设计方法。详细介绍反馈归零法的原理和步骤后,分别用74LS161的“清零端”和“置数端”举例来实现十进制计数器,如图7所示:
图7 74LS161实现十进制加法仿真电路
3)成型
在掌握4位二进制计数器后,再向学生提出一个问题:“有没有集成十进制计数器,直接使用即可?”便可引出74LS160、74LS162、74LS190、74LS192等集成十进制计数器芯片。通过借位端的连接形成100进制减法计数器。若要实现100以内如30秒倒计数时,则要将十位数的电路通过预置数端进行反馈得到。最后得到的电路便是“八路数字抢答器”的定时电路了。
2.2 自主设计
在初步掌握设计方法后,教师可以出一个稍为复杂的题目让学生进行自主设计,如题目“数字交通灯”。为了让学生更快地完成设计,教师先介绍设计的原理。其核心应该是交通灯的4种循环工作状态,如图8所示:
图8 交通灯工作状态
这4种工作状态可以用上面使用到的4位二进制计数器74LS161低2位状态输出端来驱动。假设主干道红黄绿灯用R、Y、G表示,支干道红黄绿灯用r、y、g表示,于是便可得到信号灯的驱动电路真值表如表1所示:
表1 信号灯驱动电路真值表
通过逻辑化简,可得到6个信号灯的逻辑表达式,便可用相应的计数器和门电路来实现信号灯的驱动电路。
接下来是进行倒计时定时器及数码显示的设计,以及定时时间切换的设计。这个过程可让学生根据所学知识或查找资料进行设计。
完成“数字交通灯”的设计仿真后,学生已掌握基本的设计方法,也熟悉了一些常用的逻辑芯片,接下来可回到“八路数字抢答器”剩余部分的设计及焊接成形。至此整个课程设计通过Multisim仿真软件串成一个完整的教学系统。
3 结论
上述实例表明,Multisim,Quartus,Modelsim三个仿真软件可以无缝嵌入到“数字电子技术”课程教学中,并且能完成一般PPT演示文稿所不能完成的功能,实现多维的立体教学。教师亦应该多尝试新的教学辅助软件及方法,以改变当前较为枯燥的理论课堂。
〔1〕王开宇,唐祯安,李英. 数字电子技术的多方位立体教学体验〔J〕.电气电子教学学报,2009:31(5):10-11+17.
〔2〕郭锁利,刘延飞,李琪等. 基于Multisim的电子系统设计、仿真与综合应用〔M〕.2版.北京: 人民邮电出版社,2012.
〔3〕周润景. 基于Quartus II的数字系统Verilog HDL设计实例详解〔M〕.2版.北京:电子工业出版社,2014.
〔4〕于斌. ModelSim电子系统分析及仿真2版.〔M〕.北京:电子工业出版社,2014.
〔5〕王琰.Multisim在《数字电子技术》课程设计教学中的应用〔J〕. 吉林省教育学院学报,2013,(12):58-60.
1008-3723(2017)05-046-03
10.3969/j.issn 1008-3723.2017.05.020
2017-09-17
2014年广东省质量工程项目”从化供电局校外实践教学基地建设”(4720);2014年北方国际大学联盟第四期教育教学研究项目“EDA仿真软件在数字电子技术课程教学中的应用研究”(20140408002).
李金灿(1983-),男,广州人,华南农业大学珠江学院讲师,硕士.研究方向:基础理论教学,PLC控制及自动控制.
G420
A