蔚瑞华, 余有灵, 张 伟, 沈润杰, 徐和根
(同济大学 电子与信息工程学院, 上海 201804)
基于模块化思想的FPGA综合实验项目设计
蔚瑞华, 余有灵, 张伟, 沈润杰, 徐和根
(同济大学 电子与信息工程学院, 上海201804)
结合课程教学实践,针对传统可编程器件课程教学中的不足,提出了基于模块化思想的FPGA综合实验项目设计。该文从项目建设的总体思路、项目建设的内容等方面进行探索,着眼于提高学生分析、解决问题的能力和创新思维能力,激发学生的学习兴趣。实践证明,该项教学改革适应了当前技术发展的趋势,提高了学生的工程实践和创新能力。
现场可编程门阵列; 模块化设计; 教学改革
现场可编程门阵列(fieldprogrammablegatearray,FPGA)是在可编程逻辑器件(programmablelogicdevice,PLD)的基础上进一步发展起来的半定制电路,既解决了定制电路需要反复验证和调整设计的不足,又克服了原有可编程器件门电路智能实现小规模电路的缺点,使得可编程器件的集成度更高、灵活性更强、功能也更丰富[1]。由于可编程器件能使系统设计人员在不改变系统硬件结构的前提下修改完善甚至重新设计系统的硬件功能,使电子系统的硬件具有了“柔性”。以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试。FPGA在短短20多年里从电子设计的外围器件逐渐演变为数字系统的核心,在计算机硬件、通信、航空航天和汽车电子等诸多领域有着广泛的应用[2],是现代集成电路设计验证的技术主流。学生通过应用FPGA不仅可以掌握数字电路的组合逻辑和时序逻辑电路[3],而且还可以实现芯片设计和高级的应用:如实现片上系统[4]和数字信号处理器[5]。
随着大规模可编程器件在工程上的应用越来越广泛,社会对掌握FPGA技术的毕业生需求逐年增加。为满足社会需求,电气信息类的各专业越来越多地采用可编程逻辑器件作为其教学和实践平台[6-9]。目前,同济大学电子与信息工程学院有Xilinx公司的Spartan3和Digilent公司的Nexys4(基于Artix7)开发板作为电子科学系、信通系、自动化系本科学生学习数字电路、微机原理与仿真技术、可编程器件、嵌入式系统等课程的硬件仿真平台。
项目建设以同济大学“卓越工程师培养计划”为指导,旨在培养学生的工程实践能力和创新能力。项目紧跟技术发展的潮流,采用“教师引导、学生主体”[10]教学模式,贴合数字逻辑电路、可编程芯片等课程的重要知识点,通过精心设计一系列针对性实验,使学生在熟练掌握软件应用和硬件调试能力的同时增加对课程知识点的感性认识。同时还设定了综合性的实验项目和具有拓展性及创新性的课程设计来加强学生的实践和创新能力的培养。项目基于模块化的思想,使得学生在模块的基础上可以进行重新组合设计,增加了理论教学的趣味性,培养学生自主学习、研究的积极性和主动性,提高学习的目的性和积极性,为今后有针对性地进一步深入研发打下基础。
实践教学是培养学生动手能力、 科研能力、 创新能力的重要环节[11],以往的基于FPGA的实践教学旨在让学生熟悉FPGA的设计流程、设计步骤,进行一些组合逻辑电路、时序逻辑电路的分析和硬件仿真。这些对于学生的工程实践能力和创新能力的培养还远远不够。因此,我们在原有的实践教学基础上,进行基于模块化的综合实践和创新设计,旨在构建“基础—提高—应用— 创新—研究”和“仿真—设计—综合—工程”的多层次模块化的实验教学体系[12]。改革这门课程实践环节的总体思路是:
(1) 探索理论与实践如何更好地结合,将新的FPGA技术应用于教学中,使学生在工程实践的基础上,更深入地理解教学内容。这就要求教师在课堂上对理论知识点进行更进一步的梳理,明确实验目的,强化学生对课堂内容的理解。学生在理论学习的同时,结合实验能较好地了解、掌握可编程器件的设计方法、仿真手段以及可编程器件与外围接口电路的设计。
(2) 培养学生系统级的观念以及模块化思想,对系统功能和实现进行模块划分,确定模块间的连接关系,并且对已有模块进行充分利用。
(3)FPGA提供了创新平台,教学应充分激发学生的想象和创造力。坚持以工程创新为主题培养学生,在现有功能模块的基础上,学生可以充分发挥想象,基于组合模块的思想对所需解决的工程问题提出创新性的设计方案和解决措施。
(4) 制订新的实践环节评价标准。改变了以往教学模式中仅以任务完成度为考核的评价模式,转向以学生在项目中完成任务的创新性、任务复杂程度以及综合展示来进行综合评价。在此过程中,提高了学生的分析解决问题能力,也强化了学生的团队合作意识及沟通能力。
如表1所示,项目建设主要围绕基本技能培养、工程综合技能培养和创新能力培养进行,从各项实验的目的、设置实验的主要类别以及实验形式方面进行梳理,以达到“层层递进、逐步深化”的效果,形成贯穿课程的实践教学体系[13]。
表1 项目建设的目的和形式
(1) 软件的基本操作及仿真的一般流程。在此阶段,遵循由浅入深、循序渐进的原则,教师进行软硬件仿真流程的演示,强调系统概念和模块划分。综合实验软件设计流程和硬件仿真流程分别见图1和图2。让学生在实践之初就树立系统的总体意识,以及模块化的概念,为更加深入的系统设计奠定基础。
图1 模块化FPGA综合实验软件设计流程
图2 模块化FPGA综合实验硬件仿真流程
(2) 各功能模块应用与功能调试。根据系统的功能模块划分,具体实现各功能模块(分频模块、七段LED数码管显示模块、计数模块、按键识别模块等),并进行功能模块的调理和测试。在此阶段,着重要求学生熟练掌握软硬件仿真的具体操作,并完成各功能模块的调试。
(3) 模块综合和系统调试。在各功能模块调试的基础上,进行模块综合和系统调试,实现既定的项目任务。紧紧围绕模块化及系统综合的理念,要求学生将所调试的模块进行收集并整理。比如图3所示的“数字计时器”实验的连接示例。
图3中,包含了诸多功能模块,学生需要调用分频模块、计数模块、数码管显示模块,从系统功能综合的角度,还需要考虑各模块之间的连接关系,如数码管显示时扫描的问题。
图3数字计时器模块化连接示例
此外,FPGA还提供了丰富的IP(intellectualpropertycore)内核资源,使得基于模块化的设计理念得到更为深入的应用。IP核将一些在电路中常用、但比较复杂的功能块,如FIR滤波器、总线传输以及微处理单元等设计成可修改参数的模块,学生按照示例即可进行模块的调用,并在此基础上进行系统设计。
(4) 案例教学与综合实践。教师带领学生对系统功能进行总体设计和模块划分,并拟定实现的总体框架,在系统功能划分的基础上,确定各功能模块功能和连接关系,深化工程设计的思想。使学生在今后的设计过程中,明白系统设计的一般流程及设计思路,为系统化思想奠定基础[14-15]。
该实践教学改革,通过实验案例为学生提供项目开发设计和创新的平台,并且充分激发学生的创新才能,增强学生的自主探索能力,使培养方案及培养模式具有科学性和创新性,提高人才培养质量,培养具有工程能力和创新能力的卓越人才。
(5) 创新性项目环节。在创新性项目实现环节中,要求学生在完成前期实验的基础上,自行拟定综合性的设计题目并组队完成,在此环节中,着重考察学生的综合项目实践、创新能力和团队协作及沟通能力。学生从最初的功能设定、方案实现、模块调试和系统综合都进行了全方面的锻炼。例如,一组学生创新课题是用3块FPGA开发板相互通信实现“打地鼠游戏”,如图4所示,其中中间开发板用于进行计时、控制同步、判别胜负,左右两块开发板用于接收两个选手的游戏并进行计数。在此创新实践中,不仅充分用到了之前的功能模块(诸如分频、计数、数码管显示等),而且进行了外设的拓展,完成实现了信息的传输和交互,在实践过程中,还会遇到板间数据通信问题、按键消抖、随机数产生的问题。学生通过此环节的实践,总体感觉虽然难度系数大,但收获颇丰,在实践中锻炼了实践和创新能力,也加强了对系统及工程实践的整体认识。
图4 打地鼠游戏演示
该实验项目以示范案例为基础,让学生在全面掌握FPGA开发的一般流程基础上,进一步以模块化思想拓展实验和进行课程设计,学生在实验项目中不仅获得了一般的工程项目设计流程的直观体验,也培养了完整的系统理念,掌握了设计、应用和调试方法,而且具有创新性,激发了学生学习兴趣和创新能力。
考核方式以综合评定的方式给出,依据学生的课堂实验和课程设计给予评分,全面反映其在实验过程中的表现与最终设计结果,突出考察其动手能力、创新能力、综合运用能力和发散思维能力。
经过两年的建设与实践,该项目已具有了自己的特色,获得了教师、学生的一致认可。学生在此期间,总共完成的自主性设计性项目多达30多项,为平台建设提供了宝贵的资源。同时,学生自身的工程综合设计能力与科技创新研究能力也得到了很大提高。
References)
[1] 何宾.XilinxFPGA设计权威指南[M].北京:清华大学出版社,2012.
[2] 杨海钢,孙嘉斌,王慰.FPGA器件设计技术发展综述[J].电子与信息学报 ,2010, 32(3):714-723.
[3] 高艳,富坤,罗淑贞,等.基于FPGA模型机的组合逻辑控制器[J].实验室研究与探索,2015,34(4):86-91.
[4] 孟宪元.可编程器件实现片上系统[J].测控技术, 2000,19(10): 43-46.
[5] 范振洋,郝顺义,翁大庆,等.基于DSP/FPGA的光纤捷联航姿系统设计[J].计算机测量与控制,2015,20(3):764-767.
[6] 尹光明,张建萍,杨楠.可编程逻辑器件实验教学研究[J].实验室科学,2015,18(2):86-88.
[7] 林华,王友仁.数字电路与系统设计课程的教材体系改革[J].电气电子教学学报,2015,35(6):117-118.
[8] 盛建伦,刘淑霞,王勇,等.数字逻辑实验技术改革的研究[J].实验技术与管理,2015,32(4):216-219.
[9] 王美玲,陶涛鑫君,江泽民,等.基于PSoC的数字电子技术教学改革探索[J].实验室研究与探索,2014,33(8):162-165,189.
[10] 李旭,张为公.基于科研项目的数字电路创新型实验教学改革[J].实验室研究与探索,2015,34(1):168-171,209.
[11] 叶朝辉,华成英,赵彦博.基于PSoC的“电子系统设计”教学改革[J].实验技术与管理 ,2009, 26(6):69-71.
[12] 王莉丽,艾欣,宋金鹏.国家级电气工程专业实验教学示范中心建设与实践[J].实验技术与管理,2014,31(12):124-127.
[13] 王洁, 侯刚,周宽久,等.基于FPGA的课程群一体化实践教学体系与平台[J].实验技术与管理,2015,32(9):208-211.
[14] 陈捷.可编程器件的综合实验项目建设[J].实验科学与技术,2015, 13(4): 125-127.
[15] 秦进平,刘海成,张凌志,等.电类专业数字系统综合实验平台研制[J].实验技术与管理 , 2012,29(6):75-78,93.
DesignofFPGAsyntheticexperimentprojectbasedonideaofmodularization
WeiRuihua,YuYouling,ZhangWei,ShenRunjie,XuHegen
(SchoolofElectronicsandInformationEngineering,TongjiUniversity,Shanghai201804,China)
ThispaperpresentsthesyntheticexperimentdesignoftheFPGAprojectbasedontheideaofmodularization.Aimingatimprovingthestudents’abilityofpracticeandinnovation,theexplorationhasbeenmadeontheoverallcoursereformprincipleandthedetailedconstructioncontent.Ithasbeenprovedthatthiscoursereformcanadapttothetrendofthedevelopmentofthecurrenttechnology,greatlyimprovingthestudents’engineeringpracticalandinnovativeability.
FPGA(fieldprogrammablegatearray);modularizationdesign;teachingreform
DOI:10.16791/j.cnki.sjg.2016.05.014
2015- 11- 17修改日期:2016- 01- 08
同济大学校级第八期精品实验项目(0800104190 )
蔚瑞华(1979—),女,山西交城,博士,讲师,主要研究方向为可编程器件、嵌入式系统.
E-mail:weiruihua@tongji.edu.cn
TN47;G641.423
A
1002-4956(2016)5- 0044- 04