数字电路和EDA课程融合实践与探讨
2018-05-13王红航邓春健杨健君陈李胜路月月
王红航,刘 凯,邓春健,杨健君,陈李胜,路月月
(电子科技大学 中山学院,广东 中山 528402)
数字逻辑设计及应用是高等院校电气信息类学科中一门重要的学科基础课程,是研究数字系统设计的入门课程,在整个人才培养中起承上启下的作用。EDA(electronic design automatic)是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程器件的开发软件及实验开发系统为设计工具,从而实现硬件设计软件化的新技术。
目前,很多学校把EDA的设计思路引入到数字电路的教学中[1-7],使得数字电路设计风格更灵活、设计效率更高。也有一部分学校将数字电路和EDA技术两门课程融合,建立传统数字电路设计和现代设计方法相结合的新教学模式[8-12],借此提高学生的理论水平和实践动手能力。中山学院在长期的数字电路教学实践中,体会到使用“数字电路/ARM7嵌入式系统多功能教学科研平台”能够提高学生的理解能力和动手能力,能够更好地推进数字电路的教学改革,并能更好地完成数字电路和EDA技术的融合。
1 实验平台搭建
在全国压缩课时的大背景下,数字逻辑设计及应用课程融合EDA技术相关内容之后,学时量仍然保持为64学时。由于课时限制,教师虽然清楚使用EDA技术设计数字电路有诸多优点,但为了讲清楚数字电路的基础知识,只能对EDA技术的设计思路和方法做最简单的介绍和演示,致使学生对现代电路设计技术浅尝辄止,难以化为能力。为了知识体系的延伸和连贯,更为了提高学生的综合实践能力,本文自制了一系列基于FPGA的数字系统实验实训平台,作为数字电路实验和EDA综合实验共同的设计平台。使用共同的平台,学生学习数字逻辑设计及应用课程,就能习得QuartusII软件和试验箱平台的使用方法。这一方面可以利用EDA技术全面改进数字逻辑设计及应用课程教学,另一方面为EDA综合实验课程打下基础,促进EDA综合实验更好地进行教学改革。
2013年,学校组织研发了“数字电路/ARM7嵌入式系统多功能教学科研平台”,如图1所示。该平台以现场可编程门阵列(FPGA)为核心,以综合性、创新性实验为导向,具有丰富的外设接口和丰富的设计资源,可以实现传统数字逻辑电路实验设备的大部分实验,却具有传统实验设备无法实现的大部分功能[1]。试验箱研发初衷是为了将学生从繁重的插线工作中解脱出来,使用电子设计自动化技术实现数字电路设计,使设计风格更灵活,设计效率更高效。根据几年的教学实践,发现这个平台虽能对数字电路和EDA课程的融合起重要作用,但学生对传统数字电路的理解不够真实、具体。
图1 数字电路/ARM7嵌入式系统多功能教学科研平台
为了让学生对固定功能芯片的使用有感性的认识,2015年学校组织研发了 “数字逻辑及数字系统综合实验实训平台”,补充2013版实验平台的不足。该平台不仅包含以FPGA为核心的实验平台,还包括传统实验箱的一部分功能,即为传统数字实验和现代数字电路设计的融合。学生刚开始学习数字逻辑设计及应用课程时,使用传统实验箱部分,理解数字电路的逻辑关系和芯片使用方法;对数字电路有一定的认识之后,学习固定功能芯片扩展应用,学习不同固定功能芯片之间如何通信,理解传统数字电路设计方法并尝试自己设计电路;固定功能芯片使用方法掌握之后,学习FPGA可编程芯片的使用,掌握现代数字电路设计思想,学习用现代设计思想设计数字电路,并通过实验平台学会FPGA和固定功能芯片如何通信。学生在学习固定功能芯片和FPGA芯片的过程中,理解真实的电路和用QuartusII搭建的使用FPGA实现的电路其实是一回事,以此实现数字电路设计体系的融会贯通。
2 案例分析
数字逻辑设计及应用课程立足于传统设计方法,即使把EDA的设计思路引入到数字电路的教学中,也只是基于FPGA的原理图设计方法设计数字系统,电路一旦复杂化,就需要借助HDL描述电路。EDA综合实验课程基于HDL进行数字电路设计,多数情况下采用行为描述方式描述数字电路,对于用原理图描述的数字电路,学生对其相应的HDL描述并不清晰。这些现象阻碍了学生对数字电路设计的认知,阻断了学习的连贯性和一致性。据此,我们改革课程内容,将数字电路设计的一部分内容使用原理图输入法 (数字电路课程实现)和HDL(EDA综合实验)两种方法来实现。
图2 用3-8译码器实现跑马灯的电路原理图
如用3-8译码器实现跑马灯,用电路原理图的实现方法如图2所示,其中插图为LED跑马灯的亮灯图。该实现电路是根据 “数字电路/ARM7嵌入式系统多功能教学科研平台”而设计的。
众所周知,实现亮灯沿着一个方向移动,并且能够循环往复,就可称之为跑马灯。如图2所示,将74138的输出Y0N~Y7N锁定试验箱上的LED0~LED7(低电平点亮LED),如果74138的A、B、C输入端口能够循环输入000~111,则LED0~LED7可以实现跑马灯功能。如果计数器的输出大于等于3位,则计数器能够循环输出000~111。电路选择4个8位计数器级联,一方面用计数器的输出作为74138的输入,另一方面将系统时钟49.152 MHz分频为大约1.5 Hz。选择8count的使能信号GN(低电平有效)作为系统使能,当GN=0时,芯片能够正常工作;当GN=1时,保持系统原来的状态不变。原理图中将disp_cs置为0,目的是在LED灯和七段数码管、LED矩阵复合使用时选择使用LED灯,buzz置为1,目的是想让系统中喇叭不发声,具体原理请参考文献[1]。
用VerilogHDL实现跑马灯如例程1所示。例程1:
可以看出,在Verilog HDL中,74138的功能由一个case语句实现,分频器的功能是由两个计数器级联实现,其中一个计数器将系统时钟49.152 MHz进行10 M分频,另一个计数器将时钟系统进行8分频,这样LED灯的流动频率大概为0.6 Hz。系统另设一个使能信号en,当en=0时,74138正常工作;当en=1时,保持原来的状态不变。而原理图中对disp_cs=0和buzz=1的设定,在 Verilog HDL中用assign语句来实现。
在这个例子中,如果在例程1“endcase”后加上一句 “elsey<=8’ b11111111”,则实现的功能变为:当en=0时,74138正常工作;当en=1时,所有LED灯均熄灭。这个功能的改变如何在原理图中表现出来呢?可以将74138芯片的G1端口设为输入端口en,这样就可以实现与例程1相同的功能。
通过用原理图和HDL两种不同电路描述方式的对照设计,学生能够对用HDL描述的数字电路有更具体生动的认识;同时能够理解对于一个数字电路,需要使用什么样的语句描述,从而实现知识的融会贯通,增加学生的学习兴趣和积极性。
3 结束语
借助 “数字逻辑及数字系统综合实验实训平台”,使得使用传统试验箱验证芯片功能的实验方法和基于FPGA的电路原理图设计方法得以统一,基于FPGA的电路原理图和HDL这两种数字电路描述得以融合。至此,数字逻辑设计及应用和EDA综合实验两门课程真正实现了由基础学习到深刻理解到实践设计到创新的最终目标,学生对知识的理解和掌握才能融会贯通。这样的学生是真正的应用型人才,是社会欢迎的人才,也是学校的培养目标。
[1]王红航,刘凯,邓春健,等.提高综合应用能力的实验教学方法探讨[J].实验科学与技术,2016,14(3):121-124.
[2]倪德克,师亚莉,朱旭花,等.EDA技术在数字电路课程设计教学改革中的探索与实践[J].大学教育,2016(4):118-119.
[3]杜世民,杨相生,杨润萍,等.基于EDA技术的数字电路综合实验研究[J].实验技术与管理,2012,29(10):93-96.
[4]叶佳卓,卢斌,程栋.基于EDA技术的数字电路实践教学探讨[J].实验技术与管理,2010(11):249-252.
[5]王艳玲,全宏瑞,桂明辉.基于EDA技术的数字电路课程设计[J].桂林师范高等专科学校学报,2009,23(2):177-181.
[6]吕燚,邓春健,黄杰勇.利用EDA技术全面改进数字电路课程教学[J].福建电脑,2008,24(6):208-209.
[7]王玫,王桂珍,田丽鸿.基于EDA改革数电课程设计,培养学生创新能力[J].电气电子教学学报,2006,28(4):18-21.
[8]林智慧,唐亮,何颖.EDA技术与数字电路的融合研究[J].电子测试,2016(23):32-33.
[9]高艳.浅谈数字电路和EDA技术的教学整合[J].内蒙古教育,2016(9):73.
[10]秦进平,刘海成,张凌志,等.电类专业数字系统综合实验平台研制[J].实验技术与管理,2012,29(6):75-78.
[11]任爱锋,孙万蓉,石光明.EDA实验与数字电路相结合的教学模式的实践[J].实验技术与管理,2009(4):208-210.
[12]邵凯,梁燕.EDA技术与数字电路实验教学的有机结合[J].重庆邮电大学学报 (自然科学版),2006(s1):109-110.