FPGA入门级教材内容的探索与实践

来源 :中国电力教育 | 被引量 : 0次 | 上传用户:tang070932
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:针对FPGA课程的特点,结合初学者没有基础的实际情况,阐述了FPGA入门级教材内容的设置原则和教学方法,进行了FPGA课程教材内容设置的探索与实践,使初学者能够轻松入门、快速领悟。教材的内容由浅入深、循序渐进和发散式渗透不仅适合高校教学使用,同时适合FPGA初学者自学。FPGA教材的改革已经应用于电子信息工程专业的教学中,并取得了一定的经验和良好的成效。
  关键词:FPGA教学;FPGA教材;Verilog HDL;数字系统设计;电子设计自动化
  中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2014)21-0113-02
  FPGA(Field-Programmable Gate Array)即现场可编程门阵列,一种半定制的集成电路,主要用在航空航天等高端领域中。随着技术的进步和成本的降低,FPGA性价比越来越高、集成度越来越大,可编程性能方面呈现出快速构建系统(System-In-Weeks)的优势,逐步渗透至计算机、通信、控制、消费电子和汽车电子等民用领域中。尤其是在数据通信、无线通信、先进消费电子领域,FPGA更是已经取代了一些处理器,成为新一代的系统级的硬件开发平台,各高校也纷纷开设了FPGA课程。FPGA教学是电子信息类专业设置的必修课程之一,引导学生迅速掌握这门技术的方法和入门手段是高等学校需要研究的课题。FPGA的阵列式硬件特性和语言并行特性与传统的微机原理以及高级语言的思想是完全不同的,因此,需要科学的引导方式使学生进入FPGA的世界中。教材就是必备的手段之一,采用合适的教材是实现良好教学效果的基础。
  一、现有教材的内容安排对比
  从应用过程来看,市场上FPGA教材一般具有以下共性问题:
  第一,冗余度高,有用知识点少。多数教材在讲述FPGA开发时,均从基本的Verilog HDL(或者是VHDL)语法讲起,当语法结束后再讲述相关的设计。实际上,语法内容在先修课程中已经完全(或者大部分)修读过,不用再学一遍类似或完全相同的内容。
  第二,教材内容按照固定的顺序写,先语法,后基本组合电路设计,再基本时序设计等,不符合学生学习的规律,应该按照硬件描述语言所能表达的电路形式去讲解,而不局限于数字电路的知识点。
  第三,部分教材动手实验的内容过于简单,且不具有实际应用价值。如一些自动售票器之类的实验。
  第四,很多教材一开始给出了EDA领域中的很多新名词、新概念,让初学者陷入抽象的名词堆中,不能理解其内涵,不利于学习入门等。
  由于这些原因限制了教师教学的主观能动性和学生学习的引导性,提出了一套新的教材教学内容的规划方法。
  二、新教材的内容规划
  教材内容应根据现有的培养方案结构和先修课程的关系有效地进行内容的选择,去冗留精,根据学生所能掌握知识的自然过程循序渐进并有机地结合工程应用等方面,才能达到学生学习上的“水到渠成”及学以致用的效果。
  第一,合理规划培养方案中的教学内容大纲,去除已经学习过或者不需要讲述的内容。以教材中的HDL为例,现在很多高校电子信息类专业均以Verilog HDL为语言部分教学内容,Verilog HDL语言源自于C语言,C语言中的大部分語法和语句可以直接用于Verilog HDL中,这样语言部分就不需要单独花很多时间去讲授,只有部分语句和语法需要单独补充。例如块语句“begin end”、拼接符“{}”和缩位运算符等。条件语句和c语言中的语法也不尽相同,只需要指出不同点即可。在很多计算机类的专业中,HDL部分讲授的是VHDL语言。VHDL语言源自于PACAL,部分和PACAL语法相同,例如变量的赋值等可以省略。尤其是VHDL语言,语法内容较多,如果去除和PACAL语言相同的部分,可以省略很多课时用来讲解其他更为重要的知识点,有利于提高教学效果。
  第二,遵循学习规律,教材内容应循序渐进给出新知识点。以学生为主体,强调“学习者取向”。[1]教学内容的安排应从最简单的数字电路设计和已经掌握的基本的语言语法开始,让初学者不知不觉中掌握了一种新技术,利用所学过的数字电路知识和C语言类似的基本Verilog语句就能实现。然后在此基础之上安排一些新的电路设计点和介入Verilog HDL语法。例如,在讲述半加器电路设计时可以采用数字电路中的设计方式,使用两个门(与门和或门)就可以实现半加器的设计。然后分析电路的行为,完全可以使用拼接符去实现,并重点从功能角度讲述。即:两个一位数相加,结果最多为两位,结果中高位即为进位位,低位则为和输出位。语法实现为assign {co,s}=a+b,一方面引入了新的语法(拼接符{}),另一方面从“行为”角度讲述了半加器的工作,避开了数字电路中的化简过程,且符合学生思考解决问题的思路,课堂教学效果很好。
  第三,教学内容应尽可能结合应用或者结合应用的构成部分。FPGA是一项实用技术,在小的电路设计系统中经常作为外设的译码电路,可以结合多路译码器电路进行设计应用,在实验过程中尽可能采用此类内容作为实验;在较大型的设计中可能会涉及到DSP算法或者复杂的通信协议,结合学生已经掌握的知识点设计一些内容进行讲授。如:奇偶校验,在串行口的通信中校验是基本的功能之一,在Verilog HDL中使用一条简单的语句“assign P= ^D;”就可以实现。一方面实现了使用逻辑门电路很难实现的算法,另一方面也增加了新语法(“^”为缩位异或运算)的应用。再如:并串转换和串并转换,是现在串行通信中几乎不可缺少的组成部分,大多数教材讲述的方法不具有实用价值,应该结合应用时的通信握手,增加部分控制信号,使讲述的内容能够直接应用到系统中。
  第四,入门知识点要尽可能简单,最好使用所学知识引导进入新的知识点,然后扩展至知识面,最后达到全面掌握本课程全部知识点的范畴。现有教学内容的入门教学方式不符合思维方式,它采用的方法为从抽象化到具体化的安排过程。现有的教材内容一般在第一章介绍EDA技术领域的一些新概念,发展过程和扩展至系统级中的一些内容,例如IP的概念、固核硬核软核等。这些内容在基础类教学中往往不会涉及,有些即使涉及了,学生也不明白和前面的概念之间的联系,不利于教学的开展。按照常规的思维方式,教学的入门可以从一个熟悉的知识点入手,进而辐射至其他的新知识点、新概念。在教学内容安排上,可以从与门电路设计开始,然后引入两个门电路同时实现,并给出HDL并行执行的概念,有利于重点突出HDL的特点,激发学生学习FPGA的积极性。   第五,简化逻辑产生过程,注重输入输出之间的行为关系。部分FPGA教学内容安排在数字电路设计之后。受数字电路设计思想的影响,很多学生认为HDL仅仅是用于描述门级电路的,而实际上HDL能够从更高的系统级角度描述电路行为。以N位全加器为例,不需要知道内部电路构成的细节,从行为级角度就可以直接描述出电路。再如:在教学内容的后期设计一个简单的CPU。CPU是复杂数字电路的代表,通过CPU的设计一方面可以使学生掌握CPU的基本原理和设计方法,另一方面可以让学生们了解,即使再复杂的电路都可以使用HDL描述,让学生们有系统级的概念,为今后进行更加复杂的系统设计打下思想基础。
  6.语言方面要推陈出新,更新语言标准,注重实际综合效果
  硬件描述语言是FPGA硬件电路设计的重要组成部分。以Verilog为例,市面上早期的教材均是以IEEE1364-1995为标准编写,而现在最新的Verilog标准为IEEE1364-2002。大多数教材仍然沿用IEEE1364-1995語法,这是不利于学习的。以存储器设计为例,旧标准中存储器空间的位初值无法直接给出,必须通过向量中间变量来实现,过程繁琐,不符合系统及描述的特点。而在新标准中,语法上可以直接实现对存储器空间的某个位进行操作,简化了设计过程和设计理念。再如:在向量的部分选择问题上,旧标准不能采用正向偏移或者反向偏移的方式实现部分向量的操作,不利于电路行为设计;而在新标准中,不仅能实现偏移,还可以动态更改索引表达式,使代码的编写更为灵活,更符合学习者的编写代码思维方式。
  7.仿真要与物理综合结果相结合
  从物理意义上讲解,注重设计综合细节的说明。EDA仿真工具一般有专用仿真工具和厂家软件自带的仿真工具两类。专业的仿真工具,如modelsim,严格遵守Verilog HDL仿真语法要求;而厂家的仿真一般会结合综合效果,不完全符合HDL语言本身的要求。例如,若有always@(a)c=a&b;在modelsim中进行仿真结果和QuartusII中的仿真结果不同。在modelsim中,若b信号发生了变化,仿真结果不会出现变化,而在QuartusII中若b变化了,c输出也会跟着变化的(规律是与门的规律)。从语法角度上讲,若b信号变化,但它不在敏感信号列表里,所以不会触发always块,因此modelsim仿真结果不变;而QuartuII认为,这个代码就是用来描述一组合电路-与门的,它会按照与门的输入输出关系变化仿真结果,实际教学中应注意两者仿真的不同,并对学生进行科学的解释。当然,教学过程中应尽可能引导学生把这类代码写成完整的形式:always@(a ,b)c=a&b,避免出现不必要的错误结果。
  8.注意与其他相关课程的衔接
  FPGA是硬件教学内容,与其他如单片机、ARM、微机原理与接口技术等课程会有一定的交叉和连接。
  9.注重编程风格和编程思想
  教材内容的附录部分增加了代码编写的常用习惯和可综合风格的书写,有利于培养学生良好的书写习惯,为语法检查和功能检查提供方便,为进一步编写大规模的代码奠定良好基础。
  三、教学效果
  通过优化教材内容、改革教学方法与教学手段,FPGA课程教学改革取得了较大的成效。具体表现为:第一,教材注重学生基础,以往基础差的学生也能入门,学生自主学习的兴趣浓厚。第二,教学内容的安排更加合理,结构更加完整,教师和学生使用更加方面,无需辅助参考书。第三,课程的教材注重实验环节,实验内容与理论知识结合紧密,学生的实验能力得到了进一步的提高,大部分学生能够独立完成基本实验,部分学生能自主完成部分创新实验项目。第四,教材从学生基础出发,符合学生实际,教学效果良好,学生的期末成绩取得了大幅度提高。第五,学生充分肯定了教师的教学水平,教学评估成绩优秀。
  四、教材后续内容的完善和调整
  本课程在大三上学期开设,侧重入门和基础教学。若学生在学习完本教材后需要继续在FPGA方向上深入学习,教师应结合学生所学和嵌入式方向的需要,讲授一些关于qsys和sopc的相关内容;若数字信号处理的内容已修,还可以结合dspbuilder等进行高层次的讲解教学;可以结合altium designer等对8051类的单片机软核进行完善修改,达到全面培养学生的FPGA系统设计和应用能力的目的。
  参考文献:
  [1]李旭琼,段吉海,韦保林.应用型本科模拟电子技术教材的建设与改革探索[J].中国电力教育,2014,(2).
  (责任编辑:王祝萍)
其他文献
摘要:培养具有工程实践能力和工程创新能力的高质量工程人才,是卓越工程培养计划的目的所在,也是以工科为特色的专业进行课程改革的方向。“先进制造技术”课程作为机械工程专业卓越工程培养计划中的专业课程,其改革十分必要,主要阐述了面向卓越工程师培养的先进制造技术课程教改思想以及改革实施的途径,以期通过优化教学内容、改进教学方法、加强实践环节和完善考核体系等方面提高先进制造技术的教学质量。  关键词:先进制
期刊
摘要:MATLAB/Simulink大学师生和研究人员普遍使用的学习和研究工具,由于强大的计算和仿真能力,在课程学习和创新实践能力培养方面起着十分重要的作用。依据重庆大学MATLAB/Simulink有关课程的设置以及实际的教学实践和研究经验,阐述了该软件课程的开设背景,分析了教学实践中存在的问题,并提出了面向创新实践的课程改革方案。  关键词:MATLAB;创新实践;课程改革  中图分类号:G6
期刊
摘要:针对机械类专业卓越工程师培养计划中“工程测试与信号处理”课程建设的需要,从教学内容改革、实验教学模式改革、教学方法、教学资源建设等方面进行了研究,突出了工科人才的工程实践能力与创新能力的培养。  关键词:卓越工程师;工程测试;课堂教学;实验创新  中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2014)21-0058-02  “卓越工程师教育培养计划”是面向工业界、
期刊
摘要:传统的软件类课程教学模式是將理论教学和实验教学分开进行,学生接受知识较被动,且不利于学生及时将理论付诸于实践。针对上述问题探讨了一种“理论实践一体化”教学模式:将课堂教学移入机房,即课堂教学和实验教学一起进行。这样借助机房先进的管理软件,学生学习知识主动化,及时化,教师管理教学方便化。实践证明:这种教学模式极大地激发了学生学习软件的兴趣,方便了老师的教学和管理,学生编写软件的动手能力显著提高
期刊
摘要:“物理光学与应用光学”是电子信息科学与技术专业的学科基础课,该课程为“光电子技术”“激光原理”“光纤通信”等后续课程的学习奠定了基础。根据几年的教学经验,针对目前学生的学习状况,从“物理光学与应用光学”课程教学内容、教学方法的合理调整、现代教学手段的运用以及实践教学环节的加强等方面,进行了课程建设与教学改革的探讨。通过综合利用这些措施,提高了“物理光学与应用光学”课程的教学质量以及学生解决实
期刊
摘要:随着现代医学研究的不断深入,医学技术日新月异,传统教学模式已不能适应现代医学发展进程。高等数学是医学专业的基础学科,对“高等数学”课程的教学改革有利于推动医学知识体系的完善,有利于现代医学理论的研究,更有利于提高学生在实践生活中善于发现问题、分析问题、解决问题的能力。通过对医用“高等数学”教学改革必要性的探究与实践,提出了医用高等数学教育改革的措施,同时对教师提出了更深层次的要求。  关键词
期刊
摘要:“概率论”是高校理工科学生的一门十分重要的课程,不仅是后续课程学习的基础,也在生活实践的各个方面具有广泛应用。结合“概率论”课程的教学实践,探讨对该课程在教学思想和教学方法方面的思考与体会。  关键词:概率论;教学;随机性;兴趣  中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2014)21-0091-02  “概率论”不仅是各后续课程学习的必要基础,也在金融投资、
期刊
摘要:“扩频通信”课程理论性强,对学生的通信理论基础要求较高,在传统的硬件实验中,通过数字示波器设备学生只能动态、粗略地看到一些基础的信号波形,对于扩频后的波形显示由于波特率较高,图形观察效果不理想。而MATLAB软件具有强大的数学运算能力,特别是其图形显示功能非常强大。其Simulink工具箱具有非常强大的建模仿真功能,可以仿真所有扩频通信的实验内容,通过设置系统模块参数,可以仿真出相应波形。实
期刊
摘要:在总结了“生态学概论”课程基本特点的基础上,针对资源环境与城乡规划管理专业本科培养目标和特色,结合教学实践,提出了“增强教学针对性、培养学习兴趣、提高实践能力、启发科研创新思维”的教学思路,以期为进一步提高该专业人才培养质量提供参考。  关键词:生态学;教学思路;教学方法改革  中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2014)21-0097-02  生态学是
期刊
摘要:通过分析现阶段“锅炉原理”课程的教学特点发现,在教学中除了需要依靠教材、参考书以及课堂课件外,还应将复杂结构、非常见实物以及模型引入教学过程。教学实践发现,不同阶段引入不同的模型、实物,可以有效地提高教学效率,加深对相关知识点的印象,明显改善教学效果,弥补现阶段实习环节的不足之处。实践表明,将实物/模型与引入教学相结合的方法,简单易行,效果显著。  关键词:教学改革;实物/模型化教学;锅炉原
期刊