包秀荣
(内蒙古师范大学 物理与电子信息学院,内蒙古 呼和浩特 010022)
《数字电路》是高等院校电子信息类专业的重要专业基础课,其课程设计是实践教学环节的重要组成部分,它给学生提供了理论联系实际、加深认识、开拓思维的机会。随着计算机技术和电子技术的不断发展,传统的数字电路课程设计方式在很多方面落后于现代教育形式的发展,成为现代化教育和培养创新人才的阻力。进入21世纪后,EDA技术得到了长足的发展,在数字电路课程设计中引入EDA技术的新教学模式成为必然趋势。本文结合实际教学工作,举例阐述了基于EDA技术的数字电路课程设计的实现方法,实践证明其对提高课程设计的教学质量和培养创新型人才都有重要作用。
数字电路课程设计中要求学生运用电子技术课程中有关的理论知识和实验方法完成一些综合性较强的设计课题。目前在数字电路课程设计教学中,有些院校仍然采用74系列固定功能标准芯片来实现设计功能。在了解课题原理和熟悉标准芯片功能的基础上,“自底而上”地设计数字系统。当设计的数字电路系统比较复杂,需要多个集成芯片和大量连线时,就增加了设计电路板的难度和故障调试难度,延长设计周期,降低了学生的学习兴趣,同时.常用中小规模集成芯片的大量重复使用也大大增加了设计成本。特别是随着学生数量的剧增,由于教学经费的原因而无法提供足量的所需芯片,再加上实验场地和实验时间的制约,以及辅导教师的缺少等因素,使得课程设计题目受限制,设计方案雷同,缺少个性,设计过程枯燥,学生的综合能力和创新能力的培养严重受到阻力,课程设计的教学目标不能很好的实现。因此在数字电路课程设计中引入EDA技术,改革传统的课程设计方法已经成为一种趋势。IspLever是Lattice公司最新推出的一套EDA软件。设计输入可采用原理图、硬件描述语言、混合输入三种方式,能对所设计的数字电子系统进行功能仿真和时序仿真。编译器是此软件的核心,能进行逻辑优化,将逻辑映射到器件中去,自动完成布局与布线,并生成编程所需要的熔丝图文件。软件中的Constraints Editor工具允许经由一个图形用户接口选择I/O设置和引脚分配。软件包含Synolicity公司的Synplify综合工具和Lattice的ispVM器件编程工具。IspLever软件提供给开发者一个简单而有力的工具,其界面友好,集成化程度高,是最易学、最易用的可编程逻辑器件开发软件。利用它所配备的编辑、编译、仿真、综合、芯片编程等功能,可以完成数字电路从设计、检查、模拟到下载的全过程。因此特别适合作为数字电路系统的设计和开发软件。在系统可编程逻辑器件(In-System Programmable PLD,ISP-PLD)是90年代推出的新型的可编程逻辑器件,其最大特点是编程时既不需要使用编程器,也不需要将它从所在的系统板上取下,可以直接焊接在印刷电路板上,然后通过计算机的并口和专用的编程电缆对焊接在电路板上的ISP器件进行多次编程,对其逻辑功能进行修改,从而加快了数字系统的调试过程,提高了可靠性并避免对可编程器件造成机械损坏。PLD具有可重复使用、低投入、高性能、高密度、开发周期短等诸多优点,不需要任何投片费用。
下面采用“自顶而下”层次化的设计方法,以DJ-E801型实验开发系统和IspLever3.0EDA开发软件设计时钟为例,介绍基于EDA技术的数字电路系统设计的方法。运用此种方法进行课程设计时,需要先学习IspLever3.0软件和Schematic的编程方法,掌握DJ-E801型实验开发系统的使用。
1.设计要求。设计一个多功能数字钟。系统能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时、60分钟、60秒钟的计数器显示;能利用实验系统上的按键实现“校时”“校分”功能:(1)按下“SA”键时,计时器迅速递增,并按24小时循环,计满23小时后再回00。(2)按下“SB”键时,计分器迅速递增,并按59分钟循环,计满59分钟后再回00,但不向“时”进位。(3)按下“SC”键时,秒清零。(4)要求按下“SA”、“SB”或“SC”均不产生数字跳变(“SA″、“SB”、“SC”按键是有抖动的,必须对其消抖动处理);能利用扬声器做整点报时:(1)当计时到达59’50”时开始报时,在59’50”、52”、54”、56”、58”鸣叫,鸣叫声频可为lKHz;(2)到达59’60”时为最后一声整点报时,整点报时是频率可定为500Hz。
2.设计思路。本设计中采用“自顶向下”的层次化、模块化的设计思路,将系统分为cdu24、cdu60、cdu60s、control等四个模块,再将其在顶层连结起来,完成系统功能。
下面介绍各个模块所完成的功能。cdu24在clk1的激励下有24进制计数功能,sa=1时在clk2的激励下快速24进制计数,能完成校时功能。cdu60在clk1的激励下有60进制计数功能,ss=1时在clk2的激励下快速60进制计数,但无进位,完成校分功能。cdu60s在clk1的激励下有60进制计数功能,clr=1时秒清零即可。Control主要完成报警功能。
3.功能仿真。运行ispLEVER软件,建立一个新工程,然后在该工程下新建schematic文件,输入原理图以clk.sch文件保存,设为顶层,进行编译,对照设计要求查看仿真结果。电路仿真结果正确后,其硬件的实现是Lattice公司的CPLD芯片ispLSI1032E-70LJ-84下载实验板。设置芯片属性及引脚分配,执行编译综合后产生下载文件,将其在线下载到下载板,经过硬件验证完全符合设计要求。
在上面的例子中,若采用传统的74系列中小规模集成器件来实现,电路结构复杂很多,难以调试,几乎是“纸上谈兵”的设计,设计过程枯燥乏味。基于EDA的数字电路设计采用“自顶向下”的设计方法,具有便于层次式、结构化的设计思想,设计周期短,可以对每一层进行仿真验证,设计电路错误可以在早期发现,提高了设计的正确性,逻辑综合之前的设计工作与具体的实现工艺器件等无关。因此,设计的可移植性好。为了提高数字电路教学的质量,培养能适应电子技术发展趋势的创新人才,将EDA技术引入数字电路课程设计中,不仅可以很好地锻炼学生的综合设计开发能力和动手能力,激发他们的学习兴趣,还可以大大节约数字电路课程设计实验的成本,提高设计效率。
[1]林敏,方颖立.VHDL数字系统设计与高层次综合[M].北京:电子工业出版社,2002.
[2]黄招娣,黄德昌.数字逻辑设计与EDA仿真实验教学的实践与探索[J].华东交通大学学报,2007,24(12).
[3]郭永贞.数字电路实验与EDA技术[M].南京:东南大学出版社,2010.