徐学红
(河南牧业经济学院(英才校区)应用电子系,河南 郑州 450044)
EDA(Electronic Design Automation)技术,即电子设计自动化技术,是融合了电子、计算机、信息处理等多种技术的一门新技术,涉及知识面较宽,应用领域广,且发展迅速,是电子信息类专业学生必须掌握的一门重要专业技能。对于高职类学生来说,如何在有限的学时内掌握EDA 技术并能进行数字系统的设计,是EDA 技术课程的教学目标。 在教学中合理把握EDA 技术的特点、加强教学改革,有助于培养学生的技术应用能力和实践操作技能。
EDA 技术是应用相关操作软件高效地完成CPLD/FPGA 的编程从而实现硬件电路设计的技术,其显著特点是软、硬结合,如何在教学过程中让学生既能把握硬件、熟悉软件、掌握编程语言非常重要。教学内容的选取、教学模式、教学方法、实践教学的设计均应按照“加强基础、突出应用、提高素质、培养能力”的原则,通过针对性的应用实例,循序渐进,实现从软件到硬件系统的设计,让学生熟练掌握EDA 技术的应用、深刻理解现代数字系统设计方法。
EDA 技术课程教学内容丰富,涵盖数字电路、PLD、EDA 开发环境、HDL 语言程序设计等。 目前, 多数教材基本上是围绕CPLD/FPGA 的结构原理及其编程与配置展开的。 因为课程的学时数有限,对于高职类学生来说,教学内容应重点放在实际应用中涉及到的通用性较强的接口电路及编程应用上, 以培养学生的技术应用能力为目标。
EDA 技术的学习难点在于CPLD/FPGA 的结构和原理。 对这部分教学内容,应该进行有效的取舍,做到让学生简单了解就够了, 而学生需要掌握的是进行系统设计时CPLD/FPGA 的选型、器件特性、引脚属性等问题,以及器件周围硬件接口电路的结构、连接问题。目前关于CPLD/FPGA 的中文资料较少,所以引导学生学会从相关网站查阅资料非常重要。 器件选型、特性参数确定后,设计CPLD/FPGA 正常工作所必须的最小系统是非常必要的。
EDA 技术的学习重点在于HDL 语言,目前,教材一般选用工程设计中常用的VHDL 或Verilog HDL。 教材上的程序一般较为简单,具有代表性、通用性,可以作为基础性的学习。 如果教学内容仅限于教材, 多数同学对稍微复杂的系统编程仍然无从下手。所以,选取一至两个综合系统源程序作为精讲内容,比如,数字钟的程序设计, 可以有效提高学生对实际综合题目的编程能力。
EDA 技术的实践性较强,传统的授课模式容易造成理论与实践的脱节,因此,对于CPLD/FPGA 的结构与原理部分的学习,除了掌握器件的基本参数外, 还应该让学生用Protel 等软件把CPLD/FPGA 最小系统的原理图、PCB 图绘制出来, 然后对最小系统板进行制作与焊接。 CPLD/FPGA 最小系统包含了CPLD/FPGA 能正常工作的电源电路、时钟电路、复位电路、JTAG 接口电路等, 是实现所有实际应用的核心部分。 学生只有通过自己“做”,才能真正理解CPLD/FPGA 外围电路的作用与原理,才能真正掌握CPLD/FPGA 进行电子系统设计时硬件电路的结构与连接方法。
对于EDA 开发环境和HDL 的学习, 建议授课过程安排在实验室进行,遵循“理论-实践-理论”的认知规律。 比如,QuartusⅡ软件的学习,如果先在普通多媒体教室进行讲解、再去实验室练习,学生对于大量操作细节容易忘记。 对于HDL 语言的学习,在实验室集中一部分时间结合实例演示讲授理论知识, 然后由学生进行简单实例的编程、仿真、实验箱上验证。 使学生在不断调试程序的过程中学习语法要点,积累编程技巧和经验。 最后教师再针对实验出现的一些共性问题和设计难点进行讲评, 使学生能更加深刻地理解、巩固所学知识。
“项目导向” 教学模式是设计和选取生产实践中具有典型意义的“项目”作为载体,把教学内容包括的知识和技能融合在项目中,通过完成项目中的工作任务达到教学目标的教学方法。针对EDA 技术的特点,项目个数不必太多,但具有一定的深度。项目任务的编排按照知识点与技能要求由简到繁、由易到难,每个任务以某个重点知识的应用为主线。
比如,数字钟电路,从原理到设计虽然比较简单,但几乎完全覆盖EDA 技术的核心内容。 其知识模块可划分为:分频电路、计数器、译码器、串行扫描、消抖动电路等,外部接口电路涉及7段数码管的显示驱动及其扫描电路、蜂鸣器电路、按键及其指示灯电路。 对于计数器的学习,首先讲解4 位二进制加法计数器,让学生了解HDL 程序的基本结构及相应的语法现象;接着引出IF 语句讲解2 位十进制计数器, 让学生模仿设计12 归1 电路、59 归0 电路等;然后完成时、分、秒计数模块的设计。 依次分别完成数字钟的分频、模式选择、时间调整、定闹、整点报时等项目任务后,讲解层次化设计方法,完成数字钟的整体设计。 这样由总到分,再由分到总,使学生感到学习过程是一个不断成功地完成项目任务的过程,能充分激发学生的学习兴趣,提高学习的主动性和目的性。
实践教学是把理论知识转化为实际应用能力的重要环节,针对EDA 技术的特点,其实验内容、实验方式应区别于其他课程,实验可分为基础型、设计型、综合型三个层次。
基础型实验,可在实验箱上进行,主要以验证型及简单扩充型实验为主,比如,“数字钟”的各个知识模块及在此基础上设计的减法计数器等, 实验时间应在所授知识点的讲解之后尽快进行,以便学生及时巩固、加深理解。
设计型实验, 以学生熟练掌握HDL 编程要领和语法要点为目标,比如,数字秒表电路、流水灯电路等,实验应该安排在章节或单元内容学习结束之后进行,这类实验可在实验箱上进行,但学生亲手设计制作的最小系统板是更好的实验开发平台。 比如,秒表电路,可以借助万用板设计焊接7 段数码管的驱动电路以及计时的开始、停止等控制按键电路,然后把最小系统板上相应的I/O 口与万用板上的相应端子用杜邦线连接起来, 即可实现实际的秒表设计制作了。通过这种形式,学生不仅学会了相应的HDL 知识,还掌握了7 段数码管的显示与驱动原理以及相应电路的连接方法, 容易激发学生的学习兴趣及深入探讨的积极性。再如,流水灯电路,仍用最小系统板为平台,在万用板上设计制作发光二极管驱动及控制按键电路,杜邦线连接实现。 以此方法,最小系统板连接上不同的外围电路,可以实现不同的设计,既增加了实践操作的灵活性, 又强化了学生对基本数字单元的应用能力。
综合型实验, 培养学生运用EDA 技术设计复杂数字系统的能力, 实验内容可涉及运用传感器进行数据采集与控制、CPLD/FPGA 与单片机之间的通信等,实验应在课堂教学结束后用几周的时间进行, 要求学生结合最小系统板以实物的形式制作出产品,以提高学生的系统综合设计能力。
项目要尽可能贴近企业的生产实际或来源于日常生活;项目设计要有明确的能力培养目标, 即项目所划分的每个知识模块能完成相对应的能力培养; 项目所划分的知识模块要有渐进性,要根据认知规律,从简单到复杂,从单一到综合。
课程改革要有良好的实验实训环境,在实验实训室中不仅需要具备足够数量的EDA 技术实验箱或开发套件、PC 机,还需配备多媒体教学设备,方便教师进行讲解指导。 而且,为了保证学生CPLD/FPGA 最小系统板和外围接口电路的制作与调试,还需提供相应的焊接设备与场地。
EDA 技术是一门新技术、新方法,其教学应充分考虑其实践性强、应用领域广的特点及学生自身的情况,以现实生活中的实际问题为素材,以“应用”为主线,通过“做”实现学生对知识和技能的掌握。 实践证明,通过教学改革,大大提高了学生的技术应用能力和实践操作技能。
[1]潘松.EDA 技术实用教程:Verilog HDL 版[M].北京:科学出版社,2010.
[2]刘娅琴,林霖.EDA 课程教学探索和实践[J].电气电子教学学报,2010,32(4):34-35.
[3]徐学红.“项目导向”教学模式在EDA 技术课程中的应用[J].中国电力教育,2013(10):108-109.