单位文秘网 2022-02-15 08:08:31 点击: 次
思想,其主旨是强化在FPGA教学过程中学生的主体地位,充分发挥学生的主观能动性和创造性,强调互动性和亲历性。针对目前FPGA教学中的主要内容及主要问题,提出了改进的教学方法,并构建了构件化的实践平台。通过学生的亲身体验,大大激发了学生的学习兴趣,提高了学生面向社会的适应能力。
关键词:体验式;可编程器件;FPGA;构件化
中图分类号:G642.423 文献标识码:A 文章编号:1007-0079(2014)24-0069-03
随着计算机技术、电子技术及IC技术的高速发展,集成电路的设计正朝着速度快、性能高、容量大、体积小和微功耗的方向发展,这种变化势必会导致集成电路的设计规模日益增大、复杂程度日益增高。FPGA(Field Programmable Gate Array)是现场可编程器件的重要一员,它是在PAL、GAL、CPLD等可编程器件的基础上发展起来的产物。FPGA设计及应用是微电子学专业及电子相关类专业学生的一门专业课,也是后续学好SOPC技术及嵌入式系统的基础,具有很强的实践性。现在很多高等院校都开设了“FPGA设计及应用”课程。该课程的实践性较强,在理论教学的同时,应安排足够的实验课时,以培养学生的动手能力和创造力。通过对FPGA的学习,应能使学生了解FPGA器件结构、特性,掌握设计方法,最终达到能进行简单的数字系统设计,并能对所设计的电子系统进行模拟仿真或在实验开发板上硬件实现。
一、FPGA教学中的主要内容[1]
FPGA教学的主要内容包括理论教学部分和实践教学环节两部分。理论部分主要涉及可编程器件的介绍、TOP-DOWN开发流程、硬件描述语言、EDA软件的学习、FPGA设计中基本问题的分析及解决。
1.可编程器件的学习
在介绍FPGA之前,先介绍简单低密度器件(SPLD)的三种结构——可编程逻辑阵列(PLA)、可编程阵列逻辑(PAL)、通用阵列逻辑(GAL)的器件结构及编程原理,然后学习复杂可编程器件(CPLD),学习它们之间的结构差异及共同点,最后再学习与CPLD相似,但复杂度远远高于SPLD和CPLD的FPGA,学习其基本组成、工作原理、配置技术等。通过该阶段的学习,应能使学生了解各类公司FPGA器件的结构、特性及产品性价比,为后续FPGA实践开发平台的核心器件的选型做好准备。
2.FPGA通用TOP-DOWN开发流程
FPGA的设计多采用自顶向下的设计方法,属于现代设计方法。首先要自顶向下生成各设计层次,将设计任务分解为若干不同的功能元件,每个元件具有特定的输入输出接口,并具备特定的逻辑或时序功能;接着根据设计任务将各功能元件有机的组成顶层模块、次顶层模块,以此类推;最后设计其中的各个元件(COMPONENT)。自顶向下设计的各个层次,其描述方式既可以采用图形、VHDL语言进行设计描述,也可以采用混合描述方式完成设计任务。
3.硬件描述语言(HDL)[2]
目前国际最流行的已成为IEEE标准的两种硬件描述语言是VHDL和VERILOG,两种HDL各具特色。相比较而言,VHDL更加注重设计理念、语法严谨、结构复杂,适合军事、航天等专业领域。VERILOG简单易懂、结构简单,接近于C语言。无论选择哪种硬件描述语言,它们都是高速集成电路的硬件描述语言,即用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统描述相比,它更适合大规模系统的设计。在学习中除了要掌握必要的硬件描述语句之外,应重点掌握它与常规的高级语言的区别,是如何描述硬件电路的,区分哪些语句仅仅是用于算法仿真,哪些语言具有可综合的特性,信号和变量的区别,如何简化电路结构、优化电路设计等,为后续FPGA平台的设计打下良好的基础。
4.EDA软件的学习
(1)ModelSim功能仿真软件。ModelSim仿真工具是Mentor公司开发的,支持VERILOG、VHDL以及它们的混合仿真,可以将整个程序分步执行,使设计者直接看到程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比Quartus自带的仿真器功能强大得多,是目前业界最通用的仿真器之一。它可以完全脱离硬件环境完成仿真,是学生学好硬件描述语言必须要掌握的EDA工具。
(2)Quartus集成开发环境。Quartus II是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VERILOG以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用脚本完成设计流程外,还提供了完善的用户图形界面设计方式,具有运行速度快,界面统一,功能集中,易学易用等特点,是基于Altera器件FPGA开发必备的学习软件。
5.FPGA设计中基本问题的分析及解决
在FPGA的设计中,时钟、毛刺、时延等问题是长期困扰电子设计工程师的问题之一,是影响工程师设计效率和数字系统有效性与可靠性的主要因素,而这些基本问题的处理是否得当,直接影响系统的正常运行。在时钟的设计中,主要处理好全局时钟、门控时钟、多时钟系统及时钟歪斜问题。在毛刺的问题上,主要解决毛刺的发现和毛刺的消除方法,包括利用冗余项、采样法及吸收法完成毛刺的处理。大部分FPGA器件都为时钟、复位、预置等信号提供特殊的全局布线资源。充分利用这些资源,可以减少电路中的毛刺并且大大提高设计电路的性能。
二、目前存在的问题[3]
1.FPGA实践教学的不足
由于FPGA本身涉及的内容较广,需要学习的理论知识较多,再加上学校实验条件以及授课学时的限制,使得理论教学多于实践,两者不能很好地结合,学生在学习过程中往往注重理论的学习,而忽视了实践锻炼。
2.FPGA教学中存在“重软轻硬”的现象
目前高校的FPGA实验设备绝大多数是购买由专业公司开发的FPGA实验箱。硬件集成度高,功能齐全,因此学生在进行实验时通常不用进行硬件设计,而是直接进行软件实验、连接和调试。这样的实验会使学生偏重FPGA的软件设计和调试,从而造成对FPGA硬件设计的不熟练甚至不重视。
3.FPGA课程实验功能过于单一
FPGA课程实验是以进行基本的FPGA验证性实验为主。这些实验对于初学者熟悉和掌握FPGA器件及其设计流程是必要的,但课程实验设置中综合性实验不足,针对FPGA器件和其他处理器综合应用的实验更是缺乏。显然,这样不利于提高学生FPGA的应用水平。
三、FPGA教学方法改进[4-6]
第一,项目驱动教学。将项目驱动法引入到FPGA实践教学当中,就是要结合具体课题或项目,把所要讲授的各项理论知识和实践技能按由浅入深、循序渐进的原则分解到一个个实验任务中,让学生在规定时间内依次完成项目教学任务,并遵循全国大学生电子设计竞赛的形式和设计要求。首先应确定一个总任务,然后根据总任务将其进行具体的分解,在各个任务的顺序安排上,必须合理按照教学进度,在理论教学的基础上,将项目驱动教学方法贯彻在整个教学过程中,使学生有目的的学习。
第二,以基础实验为前提,融入综合实验。在保证现有FPGA课程基础性实验教学的基础上,适当引入FPGA器件与其他处理器综合应用的实验,以夯实学生FPGA的综合应用能力。
第三,“自制”实践教学平台的创建。“自制”实践教学平台的创建是以教师为主导、学生参与的方式,让学生有机会接触到最新电路组成与设计方面的知识,增强理论知识向工程设计的转化,侧重知识传授与创新能力的培养。FPGA实践教学平台的设计具有超前意识的设计性和综合性实验体系,可以让学生自行设计,并充分发挥学生的潜力,实现体验式教学。
四、创建实践教学平台的基本原则
1.强化自主创新,体现教学特点[7,8]
FPGA创新开发实验教学平台设计的核心在于培养学生的自主创新能力,目标是培养掌握自主知识产权系统设计技术及创新设计能力的人才。目前有些项目设计完成后,尽管包含一些前人未曾有过的创新,甚至可以拥有自己的知识产权,但却没有完全自主知识产权的项目。因此,创新能力的培养绝不能脱离自主创造设计能力的培养,没有了自主的创新便不是真正意义上的创新。
2.兼顾工程设计的要求
创新实验平台采用工程化设计规范与业界正在使用的开发工具兼容,并追踪FPGA系统国际流行趋势。创新实验平台除了应满足FPGA技术课程实验和课程设计的要求外,还要满足大学生课外创新活动、毕业设计及全国大学生电子竞赛的需求。首先通过软件编程调试和软件的前、后功能仿真,让学生巩固掌握TOP-DOWN软件设计方法以及电路设计原理,然后通过FPGA开发板进行实际电路的设计制作,最终使学生掌握基本的FPGA应用技能,培养学生的实践和创新能力,检验课堂教学效果,促进教学质量的提高。
3.构件化的设计
当前电子类教学改革的重点是要摆脱传统实验教学的既定验证模式,摆脱电子设计依赖独立器件的束缚,让学生在系统的高度来进行统筹和设计,使其具有较强的软硬件协同设计能力。构件化的创新实验平台各功能模块相对独立,不但能适应当前的实验要求,而且能够经过不同的功能组件满足新技术和新实验的要求,做到既有固定电路可用,又能自行扩展电路,满足二次开发和升级,达到让学生亲自去体验、提高学生实际操作能力的目的。
五、构件化教学平台的基本框架设计[9]
可编程逻辑器件是整个实验平台的核心器件,依据目标定位选择市场上性价比较好的FPGA,最后选中ALTERA公司Cyclone II系列的低成本、低功耗器件作为主芯片,其具体型号为EP2C5T144C8。该FPGA芯片具有4608个逻辑单元,119808BIT RAM,26个9×9 bit嵌入式乘法器、2个PLL和8个全局时钟,内部资源丰富,可以满足消费类、工业类、汽车业、计算机和通信类产品及相关应用。整个实验平台分为核心板和功能组件扩展板。
1.FPGA最小系统设计
Cyclone II核心芯片采用扩展卡设计,方便升级、更换,也可以作为最小系统使用。包括电源、FPGA主芯片、EPC16配置芯片、128MbitsSDRAM存储器、JTAG和AS下载接口。具体框架原理见图1。
2.FPGA功能扩展板的设计
功能扩展板设计的总体法则是满足教学基本要求、综合实验及学生电子竞赛的要求。扩展模块分为三大类:数字部件扩展功能接口、模拟部件扩展接口、通信部件扩展接口。其中在数字部件扩展功能接口中,主要包含16*16点阵电路、交通灯电路、4*4键盘电路、4*8数码管电路、8个LED显示及拨码开关,在此功能平台上可以完成一些基本数字电路的设计,包括一些门电路、编码器、译码器、数据分配器的设计,其具体框架如图2所示。
模拟部件、通信部件和FPGA核心板组合使用,可以完成一些小型综合实验,包括直流电机的控制、步进电机的控制、FLASH芯片存储的读写、温度传感器的信号采集等实验。通信接口扩展口主要完成FPGA和外围器件的通讯与交换功能,包括单片机、ARM或其他工控设备的连接。此扩展板可以用于一些综合实验的完成,比如远程控制功能的DCS控制系统,其具体框图如图3、4所示。
六、构件化的FPGA实践平台的实验功能
在西安科技大学电气与控制工程学院所开设的FPGA设计应用课程教学中,实验主要包括穿插在理论教学当中的基础实验、课程设计及综合实验。
1.基础课程实验
基础课程实验包括简单的门电路验证、组合逻辑电路和时序逻辑电路实验。其中时序逻辑电路实验为教学重点,包括技术器,定时器,数控分频器,触发器,A/D、D/A时序设计。
2.综合设计实验
综合性实验是在基础性实验的基础上完成的,主要运用FPGA核心板和外围的扩展板完成一定的项目功能,其中包括信号发生器的设计、多功能时钟的设计、LED点阵汉字滚动显示、RS232通讯控制器的设计、VGA图像显示控制器设计、DDS的数字移相信号发生器、通信控制器设计、交通灯控制器、步进电机驱动设计等。
3.工程项目实验与设计
工程项目实验是以实际的生产需求为背景,旨在锻炼学生的工程训练能力,达到为社会培养实用型人才的目的。这些实验内容不拘一格,比如一些现场控制器的设计、工业IP核的设计等。通过不同组件开发平台的综合使用,针对实际工程要求设计出满足要求的技术方案。
七、结论
构件化创新实验平台目前已完成核心控制板和部分外围功能板的设计,并已应用于学生的综合设计及毕业设计当中。实践证明,该平台大大激发了学生自主学习的兴趣,提高了教学质量和教学效果。该系统能为学生的自主、开放性实验创造条件,也为更新实验教学方法、提高实验教学质量起到了积极的促进作用。同时培养了学生的自主创新能力,增强了学生的社会竞争力。
参考文献:
[1]冯柳.FPGA 设计课程教学方法的研究[J].中国电力教育,2010,(18):137-139.
[2]柏俊杰,张小云,吴英.VHDL教学实践与探索[J].重庆科技学院学报(社会科学版),2012,(11).
[3]王革思,刘勉,羿宗琪.FPGA创新开发实验教学平台的设计与应用[J].中国电力教育,2009,(10):145-146.
[4]郑恭明.FPGA创新实验平台的设计与应用[J].实验技术与管理,2012,(12):113-114.
[5]马志强,张德兴,孔昭煜.FPGA课程教学改革研究[J].中国校外教育,2009,(8):248.
[6]朱磊,卫建华,邱春婷.FPGA课程实践环节教学改革[J].高等工程教育研究,2008,(S1):134-136.
[7]鲍慧玲,金剑波.基于FPGA的教学平台设计[J].淮北师范大学学报(自然科学版),2012,(3):67-69.
[8]朱海花,郭朝勇,李宝峰,等.体验式创新教学的研究及教学实践[J].Third International Conference on Education Technology and Training (ETT),2010.
[9]李志强,杨波,孙涛.一种基于FPGA的面向网络应用的开发平台设计[J].山东科学,2010,(10).
(责任编辑:孙晴)
(责任编辑:单位文秘网) )地址:https://www.kgf8887.com/show-229-98880-1.html
下一篇:砌体结构抗震设计浅述
版权声明:
本站由单位文秘网原创策划制作,欢迎订阅或转载,但请注明出处。违者必究。单位文秘网独家运营 版权所有 未经许可不得转载使用