胡刚毅 曹涌
摘要:EDA技术有很强的综合性和实践性,有其特殊性和要求。本文分析了目前EDA技术教学的现状和存在的问题,指出了硬件语言教学学时过多的弊端,以学生真正系统地掌握该技术入手,从组建兴趣小组、不同梯队配备实验平台、Verilog语言与VHDL语言并重讲授、SOPC的重要性等方面讨论了EDA技术教学的改革思路。
关键词:EDA;教学;探索
● 引言
随着信息技术的发展,EDA技术(EDA即电子设计自动化
● EDA技术的教学现状及存在的问题
长期以来,由于各高校对本科生实验投入有限,教师无法做到手把手带领学生进行一个完整的项目,学生在学习的过程中大多是应付学习,缺乏寻找硬件进行实训的主动性,以致学生学完以后仍然无法独立进行FPGA项目的开发。同时,学生在学习关于可编程逻辑阵列的结构特点、相互交叉点可编程内容时,往往不知道从何下手,但这些内容对硬件电路设计,以软件语言的思维去改变硬件电路结构至关重要。可因为在理论课上一般是使用国内高校流行的教学硬件语言VHDL语言进行教学,会使学生错以为前后两个部分没有联系,进而感觉索然乏味,造成学习兴趣缺乏。
EDA教学主要是利用现代电子系统的设计方法,使用可编程逻辑器件实现逻辑设计,同时也会讲授一些电路制作软件的使用以及仿真工具的使用。而因在市面上流行的硬件开发语言还有Verilog语言,加之各高校的教师掌握语言的熟练程度不一,也缺乏统一的教学指导,就导致各高校在讲授该门课程的时候,使用的平台各异,学生在学该门课程的时候往往满怀信心去学,结果到实际工作中却是面对另外一门语言。后续课程中,如SOPC系统设计,对学生和教师的要求很高,一般EDA课堂上也较少涉及SOPC的知识。学生在学习了EDA课程以后,往往感觉知道了一些,也会完成一些实训的小项目,但牵涉到如IP核等方面的技能时却不知从何下手。另外,由于FPGA设计的教学涉及方面很多,有理论学习部分,有实践应用环节,需要掌握新的计算机语言,熟练使用专业的软件平台,了解FPGA硬件内部结构,熟悉FPGA与外围电路的硬件设计,对理论教学、软硬件实验都有较高要求。除此以外,可编程逻辑器件的基础结构、FPGA芯片内部硬件结构等内容的教学难度大,硬件程序语言的语法规则较多,而所有的这些都是为了硬件开发能更快上手,可是,高校现今往往在讲述这些前述基础知识后课时也基本完了,这样就使得学生少了一些时间进行系统的开发,也没有时间深入理解软核知识对FPGA开发的重大作用。
● 改进EDA技术教学的方法
EDA技术教学主要依托的器件是可编程逻辑阵列,其课程结构可以分为:芯片内部结构演变发展及原理;硬件描述性语言;可编程片上系统设计。这三部分在EDA课程中有不同的比例。有的高校将这三个部分合为一门课程讲授,在笔者所在学校,是将前两个部分归为一门课程,后一部分归为一门课程。不论采用哪一种课程归属方式,这三部分都是相互联系、相互依存的。其目标是要让学生快速理解可编程器件的基本原理,从而能够自主完成系统设计。这就需要一个又一个系统的真实的实训案例教学,让学生能从原理理解、程序设计、系统分析等方面得到训练。使学生从孤立的设计到系统设计的转变,利用“逐项引导+项目驱动”的教学模式,培养学生的自主学习能力、系统设计能力和语言表达能力。
1.结合项目开发的课堂引导教学
笔者在多年的教学过程中,发现从可编程逻辑阵列的原理入手,引导学生进入FPGA的教学中,效果甚微,学生感觉无法理解,也不知这些原理究竟有何妙用,无法真正熟知FPGA的强大魅力所在。为此,后续教学中,我们试图引入案例教学,因为在学习EDA课程之时,学生基本上都有单片机学习的经验和过程。在给出案例的时候,有意识地让学生去思考,如果这个项目用单片机开发该如何进行?何处需要改进?耗费资源多少?速度多快?当学生已经进入硬件设计的殿堂之后,让学生首先观察同一个项目,用FPGA开发有何精妙之处。第一个项目一般是由教师给出,引导学生逐步讨论,然后自学、归纳、找出与单片机的相同与不同。让学生在有一个感性的认识后,变被动学习为主动学习。这样可以激发学生主动思考、发现问题、解决问题、归纳和总结问题经验的能力。例如,在学生的第一次课中,教师给出多路彩灯的实际案例,先让学生以单片机的思维去解决问题,他们一般能够很快入手。当换成FPGA的思维后,学生突然之间就能感觉到FPGA的强大,花样彩灯在变换过程中,利用硬件描述性语言并行思维的好处。教师可鼓励学生多提方案,并对方案论证辩论和反驳,得出最优方案。通过这样的一个简单但是却完整的过程,学生对FPGA的设计有了一个深刻的认识,同时也加深了理解。再来学习FPGA的原理、相互交叉逻辑点的编程组合,学生就会非常有兴趣,也不会望而生畏,这样就很好地解决了入门引导的学习问题。
2.组建兴趣小组,进行以学生为主的项目实践教学
我校的FPGA教学配备了Altera公司的实验套件,同时,也为每五人一个兴趣小组配备了简易的FPGA开发板,实验室同时也配备了SOPC实验平台。这些成梯队的实验设备的配备,不论从性能上还是拓展学习上,已能完全满足学生学习FPGA的需要,学生平时在课堂上学习理论知识,课下兴趣小组进行实践开发验证,笔者鼓励他们扩展外围应用,解决一些学科方面的问题,如林业物联网监控系统、数据处理等。学习之余,优秀团队提前进入毕业设计以及参与到教师的科研团队中,收到了很好的教学效果。学生也真正感受到FPGA的魅力所在,自觉钻研,动手能力得到了很大提高。对于动手能力特强的学生来说,简易的FPGA开发板已不能满足其需求,学生就会转移学习兴趣到SOPC实训中去。学生在一年多的训练中,已俨然达到了对一个初级工程师的要求,工作也是得心应手。这种课下兴趣小组以及我校本科生创新基地的教学模式,不仅能很好地训练学生,同时,也可有效激发不同层次学生的学习热情,带动一大批学生积极学习,培养了学生的团队精神、动手能力和创新能力,也能带动整个专业良好的学习风气。
3.建立网络教学体系,弥补学时不足的问题
当前,全球正流行MOOC教学模式,我校在探讨MOOC模式教学过程中,也根据自身的特点,开设了第二课堂。平时课堂上的讲授,学生都会产生很多问题,在课下通过实验验证中,也还会有一些不同问题。针对这个特点,我校充分利用网络资源,鼓励学生创建FPGA的QQ讨论群,让教师也加入其中,这样能够最大限度地解决问题,同时,要求教师将关键知识点、设计过程中的重要之处,都放在网络教学平台上,供学生下载查看,并提供讨论区供师生交流互动。另外,为了弥补教师工程实训经验不足的问题,我们广泛联系,邀请了很多FPGA企业中的工程师加入这个平台讨论。这种网络形式的教学,在很大程度上提高了教学效率,也使教学质量有了很大的提升。
4.引导学生逐渐掌握Verilog语言
目前,电子技术的飞速发展,各大公司也相继转型使用Verilog语言,而纵观国内高校的教学,很大一部分高校还在使用VHDL语言。究竟是选择VHDL还是Verilog语言,笔者认为都是可以的,但是,如果高校在教授VHDL语言中,引导学生形成正确的硬件开发思维后,也应该要讲授Verilog语言,毕竟从主流发展来说,Verilog语言已有逐渐上升的趋势。同时,因Verilog语言是以C语言为基础,学生也很容易接受,这样,语言教学学时就会减少很多,可以将更多的精力放到其他实践中去。同时,EDA的后续课程中如SOPC设计也有很多是从Verilog语言的角度去讲授的。我们的思路是语言是载体,不要花大力气去讲授,而应多花时间去引导学生如何进行硬件开发。VHDL和Verilog语言都应该花些时间告知学生,让学生能有一个全方位的认识,以后走上工作岗位,才不会感觉到对某门语言非常陌生而不知从何下手,能极大地提高学生工作的上手能力和应聘的成功率。
5.将SOPC教学引入到EDA教学中
SOPC技术是当今电子设计的主流方向,很多计算机类学生,他们没有电路基础的知识,也无法理解CMOS、TTL等原理,但是他们的强项是计算机语言编程,而SOPC正好提供了这样一个平台,可以将软件思维编程以硬件结构实现,这是以后硬件电路设计发展的一个方向。没有SOPC的体系,EDA就会逊色不少。随着FPGA技术的成熟,SOPC教学也逐渐引入到本科教学中,教学重点也不再关注基础性知识学习,而应该将重心放在系统设计领域,从硬件语言的设计转移到C/C++语言设计,使SOPC的功能能够以C/C++语言的形式体现,使功能更具体化。在这个阶段的教学中,要力求使学生体会到各个专业课程之间的联系与融合,进而感受到FPGA的强大魅力,自觉产生学习的兴趣和意愿。只有这样,才能真正学习好EDA。
● 结束语
EDA技术是一门技术性很强的学科,有它自身的系统性和要求,目前,很大一部分高校在教学过程中都将精力放在语言教学上,容易使学生认为这是一门硬件语言课程。我们要改变这种思维,合理安排语言教学学时,以案例教学为出发点,引导学生理解FPGA的原理和特点,并在此基础上,完成一个又一个的项目实训,而后,将学生引入到SOPC的体系和思维中,让学生深刻理解一个系统不仅有“器官”,而更重要的是有“心脏”。真正达到锻炼学生动手能力的目的,让学生身临项目实训之中,更好更快地掌握技能。同时,教师也要改变以往总是讲授VHDL的思维定势,逐渐引导学生掌握Verilog语言,这样,学生在以后的工作中,才不会对自己没有见过的语言产生陌生感。EDA技术课程,前沿性很强,待学习待掌握的方面还有很多,学生要学习,教师更要学习,只有这样,才能把这门专业课程讲授好,才能使学生学有所用。
参考文献:
[1]张玉叶.《EDA技术》课程教学思路与创新方向探索[J].太原师范学院学报,2013(3):142-144.
[2]晏伯武,田嵩.EDA技术及其教学相关问题的探讨[J].黄石理工学院学报,2010(2):63-67.
[3]高飞.EDA技术课程改革与实践[J].大学教育,2013(11):85-86.
[4]贾佳.EDA技术课程教学改革研究[J].大众科技,2011(4):168-169.
[5]周莉莉,周淑阁,井娥林.FPGA课程教学方法的探讨与研究[J]. 实验室科学,2013(6):65-66.
[6]余能辉.关于FPGA课程教学的实践及其探索[J].南昌教育学院学报,2012(11):49-50.
[7]邱欣寅,袁志骞.应用型本科FPGA课程教学模式的探索[J].教育教学论坛,2014(1):210-211.