SPATAN 3E硬件平台在模块化教学中的应用

  • 投稿马汝
  • 更新时间2015-09-28
  • 阅读量452次
  • 评分4
  • 80
  • 0

李 琳

(武汉职业技术学院计算机软件与工程学院 湖北 武汉 430079)

摘 要:FPGA(Field Programmable Gate Array)即现场可编程门阵列。目前各企业对FPGA应用人才的需求是非常大的。针对如何在教学环节中使学生轻松地学好FPGA,文章围绕SPATAN 3E硬件平台在模块化教学中的应用进行了相应的分析。

教育期刊网 http://www.jyqkw.com
关键词 :FPGA;SPATAN 3E硬件平台;模块化教学

中图分类号:G622.4 文献标识码:A doi:10.3969/j.issn.1665-2272.2015.01.030

基金课题:武汉职业技术学院2013年校级课题 “SPATAN 3E硬件平台在模块化教学中的应用”(课题编号:2013YJ796)

作者简介:李琳,(1974-),女,武汉职业技术学院计算机系副教授,研究方向:单片机开发及应用

收稿日期:2014-11-12

1 选题背景

高等教育正在由知识型教育向能力培养为中心的教育进行转变,而专业能力的培养离不开实践教学活动。对于计算机科学技术专业来说,它是一门技术学科,有科学的成分,但是工程技术的含义更多。学生只有在掌握专业理论知识基础上,应用所学知识解决实际问题,才能更好地满足应用型人才所要求的系统能力的培养。因此,需要加大教学活动中学生的实践环节和动手能力的培养。

与传统的数字系统设计方法相比,使用可编程逻辑器件设计数字系统不但能够节省设计面积,而且使得设计具有很强的灵活性。随着可编程逻辑器件技术的发展,每个逻辑器件中门电路的数量愈来愈多,使得一个逻辑器件就能完成本来需要很多分立逻辑器件和存储芯片才能完成的工作。从而大大减少了系统的功耗和成本,并提高了系统的可靠性。

目前,我院已与上海智翔科技有限公司联合开发了SPATAN 3E系列FPGA器件的硬件平台,并进行了相应课程的教学实践活动。笔者已经进行了五年的FPGA课程的实践教学,在实践教学上积累了一定的经验。在实践教学中通过实验平台,将教学内容设计成一个个小模块,学生基本掌握了流水灯的设计,七段码显示设计,16乘16点阵设计,甚至在老师的帮助下能进行VGA接口设计的实验。学生的学习积极性也是非常高的。通过模块化教学,培养了学生用功能模块构成数字系统的能力和用PLD等半定制方法设计集成电路的能力。

中国拥有超过50亿元的FPGA市场。“十二五”期间, 中国的可编程器件市场仍将保持年均30%以上的增长速度。中国尤其是北京等重要研究部门急需也长期需要FPGA用于国家安全和重点应用,比如航天航空、信息安全、知识产品保护等。此外,中国电子产品市场要求敏捷快速的研发周期和少量多样的产品形态,最适合FPGA应用。FPGA嵌入式系统已经在国防、国民经济及社会生活领域应用。小到电视机上一个小小的机顶盒,大到军队的通讯装备、智能炸弹等等,都完全依靠嵌入式系统来完成。我国信息化与全面小康社会建设更是对嵌入式系统市场提出巨大需求,信息家电产品需求量几亿台,工业控制用嵌入式系统有百十万台需求量,商业嵌入式系统需求几百万台。嵌入式为我们迎头赶上,振兴民族信息产业提供了难得的机遇。

目前各大企业对FPGA应用人才的需求是非常大的。通过对市场的调研发现,高职高专的学生在FPGA的嵌入式教学中应偏重于实践。另外,通过调研可知各工作岗位对FPGA人才的要求是:熟悉FPGA开发流程,能进行编程、仿真与测试及下载;熟悉Veriog或VHDL编程语言;熟悉使用XILINX/ALTERA的FPGA或CPLD。经过相应的FPGA课程实践教学的培训,学生基本可以达到用人单位的要求,这对他们今后出去找工作起到了一定的帮助作用。

对于FPGA实训基地的建立,在湖北省除了华中科技大学、 武汉理工大学一批有条件的本科院校建立了FPGA的实训平台外,高职高专院校中,武汉职业技术学院还属首家。大学研究生和本科生在FPGA的教学上主要倾向于设计原理的研究,工作岗位定位于设计类岗位和开发类岗位,如FPGA开发工程师,FPGA软件编程工程师等。而高职高专的学生在FPGA的教学上主要倾向于实用技能,工作岗位定位于硬件类工程师,如销售工程师,系统测试工程师等。所以,充分发挥FPGA实践教平学台在高职高专实践教学中的应用,可以填补FPGA实践教学在这方面的空白。

2 方案的实施

FPGA(Field Programmable Gate Array)即现场可编程门阵列。可使用ISE软件进行编程,然后将编好的程序进行验证,综合和下载。编程所使用的是硬件描述语言是Verilog HDL或VHDL语言。设计人员通常遵循以下设计流程:

(1) 按照硬件电路系统设计的要求,抽象出硬件设计的总体模型,并根据硬件系统的宏观内外连接关系,对其定义。这部分主要是用VHDL语言对硬件接口进行描述。

(2)分析硬件系统的具体功能,对硬件的内部结构进行描述。

(3)对上述两步流程中所设计的VHDL语言程序进行功能仿真。所谓功能仿真是电路设计完成后,要用专用的仿真工具对设计进行功能仿真,验证电路功能是否符合设计要求, 即前仿真。在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影响。前仿真虽然精确,但是只能估计门延时,不能估计线延时,仿真结果与布线后的实际情况还有一定的差距,并不十分准确。

(4)当在验证了所编程序能正确实现电路功能之后就应用分析VHDL程序的执行效率,这就是通常所说的VHDL程序的综合、优化和布局布线。

(5)布局布线之后生成的仿真时延文件信息最全,不仅包含门延时,还包含实际布线延时,所以布线后仿真最准确,能较好地反映芯片的实际工作情况。这就是通常所说的后仿真。

(6)将设计好的VHDL程序下载到目标器件中。

据SPATAN 3E系列FPGA器件的硬件平台,我们在课堂上设计了LED灯的显示模块,七段码显示设计模块,16乘16点阵设计模块,米字管设计模块和VGA设计模块相应的实践教学,其中的实验环节包括:用LED显示模块设计8—3线编码器;LED显示模块设计流水灯的显示;用七段码显示模块设计8位学号静态显示系统;用七段码显示模块设计电子钟的显示;用16乘16点阵模块设计汉字在屏幕的显示;用米字管模块设计数码的动静态显示;最后在老师的辅导下应用VGA模块进行彩条信号的控制显示。由于将枯燥的VHDL语言的语法融入到有趣的下载实验中,所以学生学习的积极性得到了大大的提高。

以流水灯的设计为例简要阐述教学环节的设计。

首先,布置设计任务,任务一:让学生用CASE语句设计一个流水灯,使流水灯从右至左连续显示。再用CASE语句设计一个流水灯,使流水灯从两边往中间连续显示。任务二:加入开关控制各种灯的花色。其次,帮助学生分析所布置的任务,任务一分两个模块进行设计,包括分频模块和流水灯显示模块。所涉及的VHDL语言的语句有IF语句和CASE语句。其中,分频模块用到了IF语句的嵌套,这个例子非常典型,建议学生编程时进行仿写。接着在介绍完CASE语句的基本语法后,让学生利用CASE语句设计流水灯显示模块。流水灯设计完后,学生自行在机子上调试程序,并下载到FPGA器件的硬件平台看最终的运行结果。在设计程序中,学生会出现各种问题,教师在课程最后,总结所出现的典型问题进行分析,使学生在实际应用中牢牢地掌握IF语句和CASE语句的语法。对于整个学习过程中掌握较好的学生,可以提示用CASE语句进行流水灯的开关控制。

3 结语

运用SPATAN 3E系列FPGA器件的硬件平台进行模块化教学,可以使学生通过学习例题中的范例迅速地掌握VHDL语言的语法内容,由于有范例的参照,通过范例自己编写相关程序就会容易很多。接下来通过下载程序看到自己设计的结果不仅使编程过程变得有趣,还使编程者有了一种前所未有的成就感。

教育期刊网 http://www.jyqkw.com
参考文献

1 leitz.W.[美].VHDL数字电子学[M].北京:北京希望电子出版社,2008

2 田耘,VHDL开发精解与实例剖析[M].北京:电子工业出版社,2009

3 孟宪元,FPGA嵌入式系统设计[M].北京:电子工业出版社,2007

4 EDA原理及VHDL实现[M].北京:清华大学出版社,2014

(责任编辑 晓 天)