曹立杰,李松松
摘 要:针对目前电子信息工程专业《数字电子技术》课程和《EDA技术》课程相结合的研究比较少的现状,对两课程相结合的益处进行了探讨。通过介绍常用的EDA软件Max+Plus Ⅱ,结合例子,通过仿真分析得出EDA技术与数字电子技术相结合具有如下三点益处:实现硬件电路设计软件化,分析疑难电路现象,实现“开放”的数字电路实验室。通过将两课程相结合,可以使教师对理论知识的讲解更透彻,使学生有更多的机会设计并验证电路,对“教”与“学”都具有积极作用。
关键词:数字电子技术;EDA技术;结合;仿真
中图分类号:TP331.2文献标识码:A
文章编号:1004-373X(2009)20-120-03
Discussion on Combination of Digital Electronic Technique and EDA Technique
CAO Lijie,LI Songsong
(Dalian Fisheries University,Dalian,116023,China)
Abstract:Because of research on the combination of "Digital Electronic Technique"and "EDA Technique" is shortage,advantages of the combination between them are investigated.Common EDA software Max+Plus Ⅱ is introduced,and advantages of the combination of digital electronic technique and EDA technique are analyzed with examples and simulation.From the analysis,it is clearly that the combination of two classes has advantages such as:realization of hardware design with software,analysis ofthe circuit condition,realization of the "open" digital circuit laboratory.Through the combination of two classes,teachers can explain the theory clearly,students have more chance to examine circuit.It has positive effect in teaching and learning.
Keywords:digital electronic technique;EDA technique;combination;simulation
在信息社会中,数字化是电子产业发展的必然趋势,因此在电子信息及相关专业的教学中也越来越看重数字技术,数字电子技术作为数字技术中一门极其重要的学科基础课在本科教学中很受重视。EDA(Electronic Design Automation)技术作为数字电子技术的延伸,已经引入到电子信息类本科教学中[1-3]。目前,单独针对数字电子技术课程和EDA课程的教学改革比较多,但是对于将两门课程结合起来有何优势的研究还有待教师探索[4-6]。因此,通过使用常用的EDA工具软件,结合实例,就数字电子技术与EDA技术相结合做一探讨。
1 常用EDA工具软件简介
常用的EDA软件有加拿大IIT公司推出的EWB(Electronics WorkBench),在EWB基础上形成的Multisim以及美国Altera公司开发的Max+Plus Ⅱ [7]。
目前,我校EDA实验室所使用的软件是美国Altera公司开发的Max+Plus Ⅱ,所以本文中的例子都是基于此平台进行的。
Max+Plus Ⅱ(Multiple Array and Programming Logic User System)具有Windows操作系统的程序界面,采用全菜单操作和鼠标操作方式,是一个方便、易学易用、功能全面的EDA工具。Max+Plus Ⅱ支持原理图、VHDL语言和Verilog语言文本文件,以及波形EDIF等格式化的文件作为设计输入[7]。使用Max+Plus Ⅱ进行电路设计的流程简单,经过设计输入、设计编译、设计仿真、下载即可完成。
2 数字电子技术与EDA技术相结合的几点益处
2.1 将数字电子技术中难以实现的硬件设计转换为软件设计
在传统的数字电子技术教学中,讲授组合逻辑电路设计时,首先分析设计要求,按照要求列出真值表;然后进行逻辑函数表达式的化简,得出表达形式最简的输出函数表达式,最后画出逻辑图。当输入变量比较少时,这种方法无疑是简单有效的,但是,当输入变量比较多时,这种方法就显得很吃力。下面以设计8位奇校验电路为例进行说明。
若采用传统的设计方案,首先需要画出8变量真值表,8变量真值表需要28行(即256行),这就非常麻烦,而逻辑函数的化简更是难上加难。如果借助Max+Plus Ⅱ软件,使用VHDL语句,按照8位奇校验逻辑功能,用软件方法来实现硬件设计。8位奇校验电路的VHDL程序如下所示[8]:
library ieee;
use ieee.std_logic_1164.all;
entity p_check is
port(a:in std_logic_vector (7 downto 0);
y:out std_logic);
end p_check;
architecture art of p_check is
begin
process(a)
variable tmp:std_logic;
begin
tmp:='1';
for i in 0 to 7 loop
tmp:=tmp xor a(i);
end loop;
y<=tmp;
end process;
end art;
其中:a表示8位输入信号;y表示奇校验输出,通过观察该程序可以发现,程序逻辑性强,简单易读。
对上述程序进行仿真,仿真波形如图1所示。
图1 8位奇校验电路仿真波形
通过观察可以看出,该仿真波形完全符合奇校验逻辑功能。在Max+Plus Ⅱ软件下进行综合,可以得到8位奇校验电路的逻辑符号,当其他的设计工作中需要用到8位奇校验功能时,可以直接调用此元器件,不必重新设计,简化了设计工作。
通过EDA技术实现数字电路设计,可以让学生尝试用软件代替硬件,实现硬件电路软件化。学生应用EDA技术除了可以实现小规模的电子电路设计,还可以通过对CPLD,FPGA编程,设计复杂的电路系统。
2.2 应用Max+Plus Ⅱ 分析电路现象
在日常生活中,数字电路随处可见,这就要求理论教学必须与实践教学相结合,达到理论联系实际的目的。但是通过总结学生的学习情况发现,学生并不能很好地将理论与实际联系起来,特别是当学生设计好电路进行实验时,经常出现与他们自己分析的理论结果不一致的现象。如果单纯的进行理论讲解,难以让学生理解清楚。如何把电路的工作过程形象地展示给学生,对于学生对电路现象的理解至关重要。
例如,在实验课中使用集成电路74160设计一个模4计数器,模为4即说明计数器中应有4个状态,共占有4个时钟周期。在实验过程中,采用异步清零法设计的学生发现,他们所设计的电路输出状态为000,001,010,011,100,其中,前4个状态中每个状态占用一个时钟周期,第五个状态中100的持续时间非常短,而后计数器的输出状态为000。面对这种实验现象,单纯从理论的角度出发讲解,学生接受起来很困难。下面,以此为例,通过在Max+Plus Ⅱ平台下进行原理图设计和仿真分析,帮助学生进行电路现象的观察。
图2是使用74160的异步清零功能设计的模4计数器。其中,A,B,C,D是并行数据输入端;ENT和ENP是使能端;LDN是同步置数端;CLRN是异步清零端;QA,QB,QC,QD为计数器的输出[9,10],仿真波形如图3所示。
图2 模4计数器电路原理图
图3 模4计数器输出波形图
从图3中可以看出,当ENT和ENP 接高电平时,第一个计数脉冲到来时计数器从000开始计数,此后每来一个计数脉冲,计数器的输出状态加1,当第五个计数脉冲(例如在170 ns时)到来时,计数器的输出为100,由于通过非门将QC信号反馈给CLRN,CLRN此时得到低电平,74160的异步清零端有效,则计数器立即被清零,计数器的输出状态为000,回到计数器的初始状态。在此工作过程中,100状态持续的时间非常短,与随后出现的000状态共同占有一个时钟周期。通过对仿真波形的分析,学生能够比较形象地理解“异步清零”的工作过程,也能够解释在实验过程中所观察到的实验现象。
2.3 “开放的”数字电子技术实验室
目前,我校数字电子技术课程的实践环节主要是由实验课、课程设计构成的。由于课时固定,学生的实际动手机会有限,而数字电子技术课程是一门实践性很强的课程,它主要是为学生今后从事电子设计打好基础。如果学生没有机会进行实际操作,就无法进行电子设计,更谈不上“设计好电路”。
将EDA技术与数字电子技术结合起来,相当于将数字电子技术实验箱“搬移”到电脑上,学生可以根据自身的情况,依托Max+Plus Ⅱ软件平台,结合所学习的内容,及时地进行接近于实际电路的设计、仿真、分析,加深对理论的理解,若仿真结果不正确,学生可以在电脑上修改电路,不会造成硬件资源的浪费。当仿真结果完全正确时,学生就可以非常放心地进行实际电路的搭接、使用,这一过程可以将理论与实际真正联系起来。通过这个“开放的”数字电子技术实验室,可以激发学生的电子设计创作灵感,提高学生的创新能力和综合素质。
3 结 语
将数字电子技术与EDA技术结合,可以使学生不拘泥于只有靠“芯片+连线”才能设计数字电路的想法,开阔了学生的设计思路。 通过EDA工具对电路进行仿真,教师可以对学生难以理解的电路现象进行直观的讲解,加深学生对理论知识的掌握。同时,引入EDA技术,可以使学生有更多的机会动手设计电路,验证自己的想法,激发了学生的热情,为设计复杂的数字系统打下基础。充分发挥数字电子技术与EDA技术相辅相成的特点,对“教”与“学”都有积极作用。
参考文献
[1]李东生,尹学忠.改革传统课程教学,强化EDA和集成电路设计[J].实验技术与管理,2005,22(4):1-2,5.
[2]曾湘英.在数字电路教学中应用EDA技术[J].实验技术与管理,2006,23(5):87-89.
[3]袁新娣,杨汉祥.EDA在《数字电路》教学中的应用[J].现代电子技术,2006,29(4):47-48,51.
[4]覃善华,欧阳义芳,吴伟明,等.EWB在《数字电路》教学中的应用[J].现代电子技术,2004,27(1):100-102.
[5]杨汉祥.数字电路课程交叉知识的教学研讨与实践[J].赣南师范学院学报,2005(6):107-109.
[6]徐鲁雄.数字电路课程建设的新观点[J].计算机教育,2007(8):35-37.
[7]赵刚,张志亮,张菁,等.EDA技术简明教程[M].成都:四川大学出版社,2004.
[8]刘爱荣,王振成.EDA技术与CPLD/FPGA开发应用简明教程[M].北京:清华大学出版社,2007.
[9]杨志忠.数字电子技术基础[M].北京:高等教育出版社,2004.
[10]阎石.数字电子技术基础[M].北京:高等教育出版社,1998.