FPGA课程创新型实验教学体系的实践

2018-09-08 02:37王墨林戚昊琛鲁迎春刘士兴
实验科学与技术 2018年4期
关键词:开发板课程设计实验教学

王墨林,戚昊琛,鲁迎春,刘士兴

(合肥工业大学 电子科学与应用物理学院,安徽 合肥 230009)

电子科学与技术是电子与信息科学中的综合性交叉学科,也是我国大力发展并急需人才的重要技术领域[1-2]。合肥工业大学电子科学与技术专业办学历史悠久(前身为电子真空器件专业)。自1958年专业开办以来,经过多年的专业建设,电子科学与技术专业在学科建设和学生培养方面取得了较大进展,为国家培养了一大批急需的专业人才。

实验教学是电子科学与技术专业人才培养中的重要环节,对学生的创新能力和工程素质培养具有重要作用[3-4]。具有创新能力的实验教学体系对于培养高素质的创新人才起着至关重要的作用。本文依托学校实践教学公共资源、专业学科建设实验平台和产学研合作基础,参照国内其他高校实验教学体系,结合专业特点和办学特色,构建“基础—提高—综合”的多层次、递进性的创新型实验教学体系[5]。

1 FPGA课程实验教学体系的研究背景

现场可编程门阵列(FPGA)作为一种最重要的可编程器件,为集成电路芯片设计提供了重要的原型硬件验证手段。FPGA设计已经成为复杂集成电路设计过程中必不可少的一个环节。FPGA凭借高集成、低成本、宽用途、高性能和易于使用的优势,正势不可挡地向应用市场渗透。FPGA产品逐步成为新一代电子产品中不可或缺的核心成员,其应用覆盖了从便携式消费产品到雷达或高端通信设备的整机系统领域[6-7]。

随着集成电路设计技术发展,相关电子系统设计与实现技术成为我国一项长期战略,提高国产集成电路设计水平是我国从制造业大国向制造业强国迈进的坚实基础。全面落实建设创新型国家的目标,加强学生实践创新能力和动手能力的培养,是现阶段我国高等教育工作的主要目标。根据近年来社会对“软硬兼具”电子技术人才需求增加的趋势,进一步加强学生硬件系统的设计能力和应用创新能力的培养,提高学生的就业竞争力,学校将FPGA课程纳入电子科学与技术专业的教学体系。FPGA课程涵盖硬件描述语言、数字系统设计、数字逻辑电路等课程。这些课程具有很强的实践性。在理论教学的同时,应安排足够的实验课时,以培养学生的动手能力。其中部分相关实验课程,包括“Verilog 硬件语言与FPGA实现”实验24学时、“超大规模集成电路设计及EDA技术”实验8学时、“微处理器实验”48学时、“集成电路版图设计”实验8学时、“FPGA课程设计”2周等。通过FPGA这些相关实验课程的开设,加深学生对课堂教学内容的理解,加强学生的动手能力,培养学生的创新能力,增强学生的综合素质,实现课程教学过程中的“软硬并重”,从而提高教学质量。

图1 创新型实验教学体系

2 FPGA课程实验教学体系的实践

FPGA教学的主要内容包括理论教学和实验教学。在实验教学中,以嵌入式系统应用为主线,用现代科学发展的成果更新实验教学内容,不断吸收先进的教学经验与成果,对实验教学体系进行系统化深层次的改革[8-9]。围绕创新能力培养这一目标,根据FPGA课程的教学特点,按照“多层次、递进性”的创新型实验教学体系,进行FPGA实验课程建设。

2.1 基础层

基础实验层通过验证型、综合型和设计型实验,层层深入,让学生循序渐进掌握仪器设备和软件的使用,巩固和加深理解理论基础知识[10]。以Verilog 硬件语言与FPGA实现实验课程为例,课程目标是让学生掌握Verilog语言的基本知识,掌握FPGA工程设计的工具,掌握集成电路设计/测试的基本流程,按设计要求设计简单的系统。实验中提供给学生的是Basys2开发板。

如图2所示,Basys2开发板是一个电路设计实现平台,任何人都可以通过它来搭建一个真正的数字电路。Basys2是围绕着一个Xilinx Spartan-3E FPGA芯片和一个Atmel AT90USB USB控制器搭建的,它提供了完整的随时可以使用的硬件平台,适合于实现从基本逻辑器件到复杂控制器件的各种逻辑电路。Basys2板上集成了大量的 I/O设备和FPGA所需的支持电路,能够构建无数的设计而不需要其他器件,而且适用于所有赛灵思ISE工具的版本,包括免费版本在内。具体实验课程的内容如表1所示。

图2 Basys2开发板

学时实验课程教学内容实验要求实验类别2实验一 HDL仿真软件使用1)熟悉Modelsim 软件2)使用Verilog HDL设计与门、或门和异或门3)完成工程建立、编译、仿真、代码修改掌握Verilog语言的基本知识演示、验证2实验二 使用Verilog完成2种以上加法器设计1)使用Verilog语言分别基于结构建模、行为建模方法完成4位加法器设计2)使用Verilog语言和Modelsim搭建加法器测试环境3)使用Modelsim对加法器设计进行仿真掌握Verilog语言的基本知识验证、综合

表1(续表)

通过24学时的实验课程,使学生掌握Verilog HDL和FPGA开发流程,以及利用Verilog HDL和FPGA进行数字系统设计的方法,并能在实际工作中加以运用。实用性和可操作性是本实验课程的重要特点。

2.2 提高层

提高层以树立学生创新意识,提高学生独立分析问题和解决问题的能力,培养学生进行科学研究的能力和创新能力为目标[11]。以课程设计为例,提高层涵盖了所有的专业主干课程的课程设计。FPGA课程设计是一门综合性专业实验课程,目的是配合集成电路设计基础、集成电路设计硬件描述语言、基于FPGA的电路和系统设计等课程,培养相关专业本科生FPGA的电路与系统设计的实验能力。本课程要求学生完成一个具体的具有一定综合性的设计项目,并且在实际的FPGA开发板上进行验证。通过2周的课程设计,初步掌握和应用Verilog HDL和基于FPGA的IC设计调试工具进行集成电路设计、模拟和实现的方法和过程;让学生进一步掌握基本的基于FPGA电路与系统设计和调试的方法与步骤;掌握设计输入、编译、模拟、仿真、综合、布图、下载及硬件测试等FPGA设计基本过程;进一步巩固所学Verilog HDL和FPGA相关的理论知识,提高运用所学知识分析和解决硬件电路和系统的工程设计问题的能力。FPGA课程设计的具体内容如表2所示。

表2 FPGA课程设计的主要内容

以乒乓球游戏设计为例说明如何指导学生完成课程设计题目。

1)明确设计任务。

①用开发板上8个发光二极管来表示乒乓球的运动位置。

②选手分甲乙两位,二极管分为甲前方4个、乙前方4个。

③点亮的二极管表示乒乓球的位置,初始状态为所有的二极管都不亮。

④2名选手各操作一个开发板上的按键,按下表示击球。

⑤游戏规则及计分方式。

选手甲按甲键发球,这时,靠近甲侧从第一个发光二极管开始逐个变亮,形成球运行轨迹。若乙在甲前方4个二极管中任何一个变亮时,按下按键,则属于球未过网就击球,甲得分;若乙在乙前方4个发光二极管中任何一个变亮时按下按键,球运行轨迹反向变化,甲要在合适位置(甲前方4个二极管任何一个发亮时)接球,若未及时接球,则乙得分。依次类推,任何一方如果未及时击球或球未过网时击球,则对方得一分。

⑥得分由开发板上的数码管显示。

2)在Basys2开发板上明确对应的器件,如图3所示。

图3 BASYS2开发板对应器件

3)根据开发板上的器件确定开发板上对应的引脚,如图4所示。

图4 BASYS2开发板对应引脚图

4)得到系统逻辑框图,如图5所示。

图5 系统逻辑图

5)根据框图,明确需要用Verilog HDL实现的模块为时钟分频模块、按键消抖模块、数码管显示模块、球台控制和计分器模块。

6)根据模块设计,写出相应的模块程序。学生通过2周的时间,根据课题要求,查找资料,进行方案的设计,并通过设计方案的比较及所给条件,确定优化的设计方案;确定总体设计框图和流程;分模块进行具体设计,给出具体分块设计图;在具体的软硬件实验环境中,进行设计模拟、仿真和调试,解决设计调试中的具体问题;最后撰写规范的课程设计报告。通过这一系列实验过程,使学生得到一次较全面的FPGA设计工程实验训练,为后续课程的学习、毕业设计和毕业后的工作打下良好的基础。

2.3 综合层

学生创新能力的培养是个循序渐进的过程。本文以高水平科研作为教学背景,将实验教学与科研课题相结合,鼓励并创造条件让学生积极参与与专业研究课题相关的主题研究与设计,让学生有一个系统检验和应用所学知识的机会,树立学生的创新意识,培养学生的创造性思维能力。

学校十分重视学生创新能力的培养,将各种形式的活动纳入能力培养计划中,专门设置了6个必修的创新(创业)教育学分,学生修满后方可毕业。学校和学院制定了一系列政策,鼓励大学生科技创新,在免试研究生推荐、奖学金评定、学分认定等方面给予一定优惠。

学院积极动员和组织学生参加课外科技竞赛活动。每年从本专业三年级学生中招收学生参加全国电子类或相关领域的设计竞赛,提供场地和实验仪器设备等资源,并派专业教师作为指导教师。创新训练分为基本技能训练、单元系统制作训练、命题式创新设计与系统制作训练三个阶段。同时,开放专业实验室的仪器设备和软件资源,让高年级学生参与教师的科研工作,或引导学生进行自拟的项目开发,有助于培养学生综合运用所学知识分析和解决问题的能力。

目前,基于FPGA进行创新实验已经在学院学生中获得高度认同。学生积极参与各种基于FPGA的创新项目。如“FPGA数据采集系统设计”“AES模块的实现”“基于FPGA的子空间拟合算法实现”“基于FPGA的USB3.0扰码及解扰码电路设计”“基于FPGA的车载毫米波雷达测距系统设计”等。2008年在FPGA上实现的“面向多媒体的多核应用原型芯片”获校“斛兵杯”一等奖;“多参数通用仪表显示控制芯片”获创业竞赛三等奖;2010年使用FPGA实现的“H.264/AVC高清视频编码器”获校“斛兵杯”特等奖,如图6所示。

(a)视频解码SoC原型实拍

(b)集成OFDM的H.264编解码系统原理样机

这样的创新型实验体系,分层次多模块,相互衔接,科学系统,体现了以学生为主体,以能力培养为主线的实验教学理念,充分激发了学生的创新意识,培养了学生的基本操作技能和综合应用知识的能力,取得了良好的教学效果[12]。

3 FPGA课程实验教学体系的评价方式

实验教学是高等学校本科教学的重要组成部分,对于培养学生理论联系实际能力,实现素质教育和创新人才培养目标有着重要作用。实验教学评价贯穿实验教学的所有环节,主要考察学生的学习效果和教师的教学能力。从教与学的角度对实验教学目标、内容、过程、条件和效果做出好与坏、优与劣的评价[13-14]。

实验教学评价机制对于学生实验的成绩评定以实验态度、实验完成情况、实验报告为依据综合评分。这样的考核会更加注重学生的实验过程、团队的合作意识及对实验仪器设备的掌握能力。尤其对于综合性和设计性实验,提倡方案的多样性,使学生有机会充分展示自己的能力。本文从以下3个方面对学生的实验态度进行评价。1)出勤率。出勤情况往往反映出学生对实验课的重视程度;要求学生每堂课必须签到,无故缺席2次以上,平时成绩要扣掉10%。2)团队的协作能力。尤其是一些综合性实验、课程设计是需要3个人一个小组来完成最后的实验。3)良好的实验习惯。要养成实验预习的习惯,上课时教师以抽查的方式检验学生的预习效果;实验结束后,要求学生清点实验器材,整理实验台面,归还实验器材方可离开实验室。

教师根据以上3个方面对学生的实验态度进行全方位评价,给出相应的平时成绩。课程设计对于学生的考核,根据学生在课程设计期间的综合表现、完成设计任务的质量、编写设计报告的质量,并结合面试提问和演示进行综合考核和评分,按照优秀、良好、中等、及格和不及格分别给出评定成绩。

实验教学评价机制中对教师的评价主要是针对实验教学的态度、实验教学水平、实验教学创新、实验教学成果等[15]。实验教学中建立相应的反馈机制。校督导组、校领导、院督导组、院领导构成的质量检查小组会在不同时期随机对实验课程进行听课和考评,填写听课记录反馈给学院,并当场与任课教师进行交流。经过多次交叉重叠听课检查,发现实验课程中的问题,并督促任课教师对所授课程进行更新。学校在学生中建立信息员制度。学生中的信息员及时将学生对教学过程中的意见和评价反馈给教务部门,以帮助教师进一步了解教学情况,便于教师及时改进教学方法和手段,调整教学策略;教师不断反馈给学生自己的教学成果,学生获得更好的学习效果。

具体、合理、规范的实验教学评价体系的构建既有利于学生实验能力的进一步提高,也有利于教师在实验教学中不断提升自己的教学水平和专业素质。

4 结束语

为了更进一步完善和提高FPGA课程实验教学水平,学校和学院对FPGA与嵌入式系统综合实验室进行了改造与提升。实验室除了拥有联想服务器、联想PC机,通用FPGA开发套件、多功能FPGA专业开发套件、复杂SoC系统FPGA平台、数字示波器等先进的硬件实验设备外,还拥有Synopsys、Mentor和Candence、TCAD等EDA软件,与其他硬件设备配合使用,可以支持从简单到复杂的集成电路和电子系统的设计开发,满足本科生和研究生的常规教学实验活动、创新实验教学活动和电子设计竞赛的需要。一方面,在实验教学中“软硬并重”;另一方面,与Candence建立联合EDA实验室,确保能够将最新的产业界技术成果引入到高校教学活动中,这样进一步增强了学生参与科研与创新活动的兴趣,改变了实验环节中的“重软件模拟,少硬件仿真”的现状,在广度与深度上拓展学生的知识应用能力与工程实验能力,从而提高学生创新实验成果的水平和成果分量。

猜你喜欢
开发板课程设计实验教学
小议初中化学演示实验教学
电容器的实验教学
对初中化学实验教学的认识和体会
龙凤元素系列课程设计
中秋明月
浅析单片机开发板的设计与制作
几何体在高中数学实验教学中的应用
基于Articulate Storyline的微课程设计与开发
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板