APP下载

仿真软件构建“数字电子技术”课程立体教学

2017-11-08李金灿邱广萍

辽宁科技学院学报 2017年5期
关键词:数字电子技术计数器课程设计

李金灿,邱广萍

(华南农业大学 珠江学院,广东 广州 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

猜你喜欢

数字电子技术计数器课程设计
采用虚拟计数器的电子式膜式燃气表
关于74LS90计数器的Multisim仿真分析
龙凤元素系列课程设计
中秋明月
EDA技术在数字电子技术实验中的应用
EDA技术在数字电子技术教学中的探索
SR620型与53230A型计数器的性能测试
《数字电子技术》课程教学研究和探索
基于工程认知的数字电子技术课程教学改革研究
算盘是个“小气鬼”