将EDA技术引入计算机硬件基础课的探讨
2009-12-11方维
方 维
摘要:EDA技术的快速发展,对计算机硬件基础课程的教学提出了更高的要求,传统的教学内容和教学模式面临着极大的挑战。本文结合计算机专业的特点,总结了将EDA技术应用于教学改革中的实际经验和体会。
关键词EDA技术;硬件基础课;教学改革
中图分类号:G642文献标识码:B
1引言
在计算机科学技术飞速发展的今天,EDA技术带来了全新的硬件设计理念与结构体系,其应用领域越来越广泛。欧美国家工科大学普遍要求计算机专业学生必须掌握一种硬件描述语言,国家教委指导委员会提议:“EDA技术是电子技术类教学改革的重要方向”。作为计算机学科的硬件基础课程,“电路与电子学”、“数字逻辑与数字系统”的教学内容,应有意识地将EDA技术和PLD器件纳为教学计划,将EDA工具贯穿整个教学过程,这样才能保证教学内容紧跟前沿技术的发展,有利于培养学生创新能力与综合素质。
2重构教学内容
EDA技术分为三个层次,如图1所示。将EDA技术引入教学内容时,必须按照此层次循序渐进,与之相应的课程体系结构如图2所示。当完成该课程体系的学习及相关实验后,学生应该能掌握现代计算机系统设计原理和方法,具备熟练应用相关软硬件工具的能力。要在学时不变甚至减少的硬件基础课教学中引入EDA技术,就必须根据专业学科的特点,在传统内容与新技术、理论教学与课堂实践中进行优化侧重,对教学内容进行重构。
(1) 重构“电路与电子学”(大一下学期)。
计算机专业“电路与电子学”教学内容的广度、难度可以比电子工程专业稍弱,但如果加大EDA的教学内容,则同样可以提升学生的电路设计能力。因此,课堂教学删除了部分传统内容,去掉了支路电流法、回路电流法、三相电路、半导体器件导电原理、反馈的方框图计算法;精简了阻容耦合放大电路(包括多级放大)、小信号动态图解法、差分电路分析等内容。
根据专业特点,相应加强了直接耦合放大电路、电流源电路和系统稳定性的教学内容。此外,增加了20学时的Multisim仿真及电路设计实验课,学生在课余时间完成设计和仿真验证,在有限的实验室课时内只进行硬件的接线、调试工作,这样既节约了课时,又提高了学生的动手能力。EDA技术与传统硬件实验相结合,提供了一种全新的实验教学体系。通过训练,学生基本掌握了设计-仿真―实际的现代模拟电路设计方法,为下一步可编程逻辑器件的学习打下基础。
(2) 重构“数字逻辑与数字系统”(大二上学期)
随着技术的进步,90%以上电子产品采用了数字技术,这个领域的一般教科书都因摩尔定律而缩短了它的适用期。因此,“数字逻辑与数字系统”课程必须舍弃一些陈旧内容用以讲授新知识、新方法。课堂教学删除了门电路、555电路、中规模集成芯片和触发器的内部电路、状态化简、编码技巧、异步时序、可编程器件PLA、PAL、GAL应用等内容;精简了卡诺图和布尔代数化简等传统手工设计方法。
教学中始终强调外部逻辑功能和时序特性的描述与分析,突出EDA技术和数字逻辑功能模块的设计,增加了数字系统的设计与优化、可编程逻辑器件CPLD/FPGA的原理与应用、有限状态机理论等内容。在教学中以逻辑代数与VHDL语言并行为基础,依据整体“自顶向下”,细节“自底向上”的教学模式。整个课程中的用例多取自于计算机基本逻辑部件,如译码器、运算器、移位器、计数器,直到存储器、控制器,最后给出数字系统的实例―CPU的逻辑构成。通过该课程的学习,初步建立了CPU的设计理念,为将来“组成原理与结构”、硬核嵌入式系统(ARM、MIPS)、软核嵌入式系统(NiosII)的学习奠定基础。
为巩固基础知识,实践教学首先安排中小规模集成芯片的应用性实验,而不是简单验证,如用三态门构成总线,用译码器设计端口寻址电路,用74LS163、74LS148及七段发光二极管实现计数显示电路等。之后,安排基于EDA技术的逻辑功能模块的设计,如用FPGA/CPLD实现译码器、加法器、计数器监视电路等。为进一步培养学生的实践能力和创新能力,在大二结束的小学期里,安排有三周的课程设计,要求用EDA技术完成五个综合性实验,包括频率计、电子钟、键盘扫描电路、交通信号灯控制器和数字音乐播放器。实践课都是开放式的实验环境,可自主选择器件,实现设计方案,改变了计算机硬件基础课“按图接线、查线排故、测看结果”的实验过程。此外,严格的实验验收制度及考核标准,如考核工具是否熟练使用,设计方案是否灵活多变等,都有效减少了设计抄袭现象的发生。
3EDA教学点设置
EDA技术所涉及的内容较多,对于计算机专业的学生,学习掌握软件工具的能力很强,EDA工具的使用只需要给学生相关内容的PPT即可,不用额外花费课时讲解。但是,如何根据专业学科特点,在有限的课堂教学中将EDA技术合理切入到理论教学中,使两者有机地融为一体却是至关重要的。
(1)Pspice/Multisim仿真平台切入到“电路与电子学”课程
通常,在理论教学完成一段时间后才会有相应的实验教学,这样导致学生当时在课堂上被激发出的兴趣及灵感逐渐消退。在“电路与电子学”课堂中及时切入EDA仿真平台,既可以增加学生对知识的感性认识,活跃课堂气氛,又能够将教学中的难点用直观的图形和曲线表述,降低教学难度,加深对理论概念的理解,起到了事半功倍的作用。在该课程中,仿真平台的切入点有以下四处:
第一,在直流分析中通过EDA仿真平台确定戴维南等效电路。首次介绍Pspice/Multisim时,应当让学生对仿真软件产生极大的兴趣,可以在讲仿真的前一次课中埋下伏笔,布置一道有难度的课后习题,使学生先进行分析。上课时使用EDA仿真,当瞬间分析出戴维南等效电阻和端口开路电压时,学生们都非常惊奇。此后,当遇到难题,或对答案产生疑问时,利用EDA工具仿真就成为了习惯。当然,仿真软件绝不能代替理论分析,要求作业中必须有分析步骤就可以保证这一点。
第二,根据我校的特色,考虑到通信系统中谐振电路的重要性,在交流分析中,仿真了谐振频率特性曲线,帮助学生理解掌握品质因数、带宽、谐振频率三者之间的关系。
第三,在放大电路一章中,利用EDA仿真软件易于改变电路参数值的特点,观察电路在不同静态工作点下产生的非线性失真。实践证明,虽然教学内容精简了小信号动态图解法的理论分析,但学生依然能很清楚地掌握电路参数的变化对放大性能的影响。
第四,仿真RC正弦波振荡器电路,观察输出由小到大起振并稳定在某一幅值的全过程,观察反馈电阻Rf对输出波形的影响。若Rf值稍大,电路不起振或振幅较小;Rf值稍小,则出现非线性失真。这种直观的图形加深了学生对信号发生电路的理解和对运放构成的非线性应用的认识。
(2)VHDL/QuartusII 切入“数字逻辑与数字系统”课程
在计算机专业领域,通过FPGA/CPLD完成运算器、存储器、控制器、直到基本模型机的设计已成为趋势。因此EDA技术切入“数字逻辑与数字系统”课程的关键在于硬件描述语言VHDL的讲解与应用。
首先,合理安排课堂教学内容的顺序。将硬件描述语言VHDL一章的讲解放置在时序电路之后,可编程逻辑器件FPGA/CPLD之前进行,以便将硬件描述语言与硬件电路紧密联系起来,硬软连贯,互相借鉴,利于两者之间的自然过渡。
其次,教学中应强调VHDL语言与软件编程语言的本质差异。计算机专业学生在经过大一整学年C语言的严格编程训练后,都具备良好的编程习惯,在进行VHDL的语法教学时,学生很容易理解接受,但反过来,又容易造成两种语言中某些语法的混淆。在教学中必须强调VHDL语言与软件编程语言的两点本质差异:其一是VHDL语言的描述不能脱离硬件电路,要对所描述的硬件功能有通彻理解,如时序、响应顺序、电平高低、状态序列等。课堂中适当给出与VHDL语言对应的硬件电路图,有助于说明信号赋值与变量赋值区别等一些难点问题;其二是语句的执行顺序,VHDL结构体中、多个进程之间是并行语句,即同一时刻电路的不同部分可同时运行,而C语言的执行顺序与书写顺序一致,一个时刻只有一条指令在执行。
最后,精心选择在VHDL讲解时所引用的具体案例。为保证在后续专业课程中能用最新技术完成CPU硬件的设计要求,在讲解VHDL时应以计算机的逻辑功能部件为核心,所设计的部件可以直接为后续“组成原理”课程使用。如设计加法器、三态控制寄存器、移位器、数控分频器、节拍脉冲发生器、FIFO、控制器等。此外,在课堂教学中,竞争冒险一节内容理论性强,与实际相脱离,学生不容易理解。引入EDA技术后,就必须强调使用QuartusII的时序仿真检查设计中所有的时钟、清零和置数等关键信号是否出现毛刺,并设法消除毛刺,以确保系统按设计意图正常工作。可以在VHDL设计中加入D触发器,将毛刺信号加在D输入端,只要毛刺不出现在时钟的有效边沿,触发器输出就不会对系统产生危害。通过在课堂上用QuartusII对消除冒险现象前后的两次时序仿真,学生能够对器件的实际工作性能进行预估,并基本掌握了在工程中如何消除冒险的方法,弥补了纯理论教学的缺憾。
4结束语
人才培养不能脱离科技进步和时代背景,高校的教学内容、教学理念、教学模式应是发展变化的,能反映当今技术的发展,并注重基础性和先进性的统一。实践证明,将EDA技术引入计算机硬件基础课程,极大地提高了学生的工程实践能力、培养了综合创新精神,同时也更有利于对基础理论的理解与吸收,有助于以较高的起点支撑后续的专业课程。
参考文献:
[1] 朱幼莲,翟丽芳,黄成. 数字电路课程的教学改革与实践[J]. 江苏技术师范学院学报,2005,11(4):67-70.
[2] 潘松,潘明. 数字电子技术基础[M]. 北京:科学出版社,2008.