首页 > 范文大全 > 正文

基于FPGA技术的嵌入式应用型人才培养教学体系

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于FPGA技术的嵌入式应用型人才培养教学体系范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:以哈尔滨理工大学2010年计算机科学与技术专业培养方案修订为背景,针对FPGA技术在嵌入式系统中日益广泛的应用,提出嵌入式技术与应用专业方向基于fpga设计技术的嵌入式应用型人才培养的课程体系,结合学校现有的教学条件,详细介绍基于Xilinx FPGA实验平台的课程体系设置、课程的理论和实验教学内容等。该课程体系围绕FPGA技术由浅入深展开教学,在培养学生全面掌握FPGA 器件开发技术的同时,也培养其基于FPGA的嵌入式系统设计与应用的能力。

关键词:嵌入式人才培养;教学体系;FPGA技术

1研究背景

目前,嵌入式系统人才需求与人才培养的矛盾突出,嵌入式系统人才培养是个系统工程,包括教学体系的完善,教学内容的改革,教材建设,配套实验设备的开发,教师团队的培养等。嵌入式系统人才培养门槛较高,实践性很强,涉及操作系统、接口技术、汇编语言程序设计、C语言、硬件描述语言、数字电路及逻辑、网络编程、数据库等,对师资水平、实验设备要求较高。

现场可编程门阵列(FPGA) 是1985年由美国Xilinx公司首先推出的一种新型的PLD,其规模大、集成度高、灵活性强、实现的逻辑功能更广,因此已逐步成为复杂数字硬件电路设计的首选。

随着科学技术的飞速发展,系统向着高速度、低功耗、低电压和网络化、移动化方向发展,人们对电路的要求越来越高,传统单一功能的集成电路很难满足发展的需求,而CPLD/FPGA可以方便地通过对逻辑结构的修改和配置,完成对系统和设备的升级。掌握FPGA技术有利于电子设备的更新换代,增加其技术含量,提高产品的竞争力。FPGA的应用领域不断扩大,已成为现代电子系统设计工程师们需要掌握的重要器件之一,社会对熟练掌握FPGA器件开发的高素质大学毕业生需求量每年都在增加。正是由于以上背景,很多院校都在加强FPGA课程的建设,从而提高学生利用FPGA 器件进行应用和开发的熟练程度和实践能力[1]。

嵌入式系统的实现从硬件的角度分类主要有以下几种形式:嵌入式处理器、微控制器(又称单片机)、DSP处理器和嵌入式片上系统(SOC)/片上可编程系统(SOPC)。对于较复杂的系统,往往采用微控制器+FPGA(可编程逻辑器件),或微控制器+DSP+ FPGA等方案,同时FPGA设计技术又是SOC/SOPC的基础,而SOC/SOPC代表嵌入式系统发展的方向,因此,培养熟练掌握FPGA技术的嵌入式系统应用型人才意义重大,是学校紧跟社会发展趋势、培养满足社会需求的嵌入式人才的重要途径。

目前,不少高校都开设了FPGA相关的课程。由于起步较晚,课程还不够成熟,从基于FPGA技术的嵌入式系统人才培养的角度,也存在许多问题。课程设置缺乏系统性,相应课程没有开设或开设学时太少,先后的课程内容衔接不上,严重影响教学效果。以我校为例,2006版培养方案中,与FPGA技术相关的课程只开设Verilog语言设计和SOPC原理及应用两门课,而FPGA器件的结构和原理,数字系统设计,SOC/SOPC的硬件系统结构及设计等内容课堂上无法讲授,学生对FPGA技术和SOPC 设计的掌握不系统也无法深入。

另外通过FPGA的灵活应用,学生能够感知到学习理论基础知识的必要性,让他们在学到知识的同时,体会知识的实用性,增强学习的成就感,以便激发他们进一步对知识探索的渴望和追求。

基于FPGA技术的嵌入式应用型人才培养任重而道远,包括教师队伍的建设,相关课程的教学内容和实验手段的改革,新开设课程的教材建设和性价比较高的配套实验平台的开发,相应实验的开发和设计等。

2FPGA课程体系设置和学时分配

在我校2010版计算机科学与技术专业的B培养方案修订中,对A:数据库软件开发; B:数字媒体技术;C:嵌入式技术与应用等3个专业方向的课程体系进行了修订。尤其是对嵌入式技术与应用专业方向,修订的目标是突显应用特色,努力培养适应社会需求的应用型和创新型的嵌入式人才。

Xilinx公司是全球最大的可编程逻辑器件制造商,也是FPGA器件的发明者,很多高校、研究所、公司都采用Xilinx的方案与芯片进行开发与研究。2007年学校与Xilinx公司合作成立了FPGA联合实验室,学校购买了SEED_XDTK实验平台多套。

本实验平台由Xilinx 公司设计的XUP Virtex-II Pro 开发系统构成,主要器件是Xilinx推出的Virtex-II Pro 系列器件,嵌入了PowerPC 405 处理器硬核。SEED-XDTK 教学实验平台是一套既可以满足大学本科、研究生和教师科研工作,又可用于复杂算法评估、项目预研的FPGA综合实验设备。

鉴于FPGA技术在嵌入式人才培养中的重要性,结合学校现有的教学条件,新的培养方案制定了相关的课程体系、相关课程的理论教学大纲和实验教学大纲,编写了实验指导书等。在该课程体系的建设中,充分考虑FPGA技术教学内容的系统性,注意课程体系授课学期和先后内容的衔接,避免出现内容上的脱节、重复等问题。在学时分配上,加大实践环节的学时。FPGA课程体系包含5门课程,其课程设置和学时分配如表1所示。

表1的课程体系按照由浅入深的原则,使学生在掌握EDA软件、FPGA结构和工作原理,SOPC硬件组成的同时,利用Verilog HDL语言,掌握从门级电路、各种数字电路和系统、接口电路到SOPC的FPGA设计和应用技术。

另外,许多高校也在探讨基于FPGA的计算机专业基础课计算机组成原理的课程体系和内容的改革,相应教材也已出版,该课程除了讲述计算机系统中的CPU、存储器和接口等部件的工作原理外,还使学生学习和掌握如何利用Verilog HDL语言在FPGA上实现CPU、存储器和接口等部件的功能。这将进一步完善FPGA课程体系。

3FPGA课程体系的理论和实践教学内容

3.1数字电路及逻辑(含Verilog HDL语言设计)

该课程是专业基础课,理论学时48,实验学时为12,主要讲述Verilog HDL语言、门电路、时序电路和组合电路的概念、原理;讲述采用Verilog HDL语言在FPGA上实现各种门电路、时序电路和组合电路功能的方法。

实验内容包括:

1) Max+Plus II的使用流程实验。

2) 4位全加器实验:用Verilog HDL设计4位全加器,进行功能仿真验证。

3) 触发器的实验:用Verilog HDL设计D才触发器、J-K触发器,进行功能仿真验证。

4) 计数器实验:用Verilog HDL设计8位计数器,进行功能仿真验证。

5) 锁存器实验:用Verilog HDL设计RS锁存器和D锁存器,进行功能仿真验证。

6) 数码管显示综合设计与实现:用Verilog HDL设计7段数码管显示译码器,进行功能仿真验证。

7)7人投票表决器实验:了解投票表决器数字电路的设计原理,用Verilog HDL设计七人投票表决器,进行功能仿真验证。

3.2数字系统设计

该课程是专业方向课。理论学时32,实验学时16,课程从实用角度出发,系统地讲述大规模可编程逻辑器件、EDA设计工具和数字系统设计方法。理论教学主要内容包括:数字系统的概念、设计思想、设计过程,以及基本模块电路设计和系统设计的概念、方法和原则;CPLD和FPGA器件的结构和原理;仿真与设计软件工具ISE的功能和使用;通过实例全面系统地讲述数字电路设计方法;通过大量实例深人浅出地展示Verilog HDL语言的设计方法和技巧,并进一步介绍用Verilog HDL进行数字系统设计的方法。

实验内容包括:

1) ISE8.2 工具软件使用流程实验,编写简单的实验例程。

2) Architecture Wizard与PACE 实验:掌握使用Architecture Wizard 与PACE。

3) 全局时序约束实验:掌握使用Constraints Editor 设置全局时序约束。

4) 综合技术实验:了解综合技术。

5) IP 核生成工具使用实验:掌握使用CORE Generator的方法。

6) ISE8.2 环境下Chipscope 使用实验:掌握使用Chipscope-Pro的方法。

7) 数字钟的层次化设计。

8) 智能洗衣机控制器的设计。

9) 智能电梯控制器的设计。

3.3SEED_XDTK实验系统分析

该课程是专业方向课。理论学时32,实验学时16,内容包括实验平台的硬件组成分析、实验箱基础实验等[2]。通过对SEED_XDTK实验系统硬件结构的详细分析,使学生学习和熟悉SOC/SOPC的硬件系统组成及设计方法,熟悉实验平台的各种接口和外设的引脚分配和其工作原理,对SOC/SOPC的硬件结构有全面的了解,不仅培养学生的硬件设计能力,为SOPC原理及应用课程打好基础,同时使学生加深对FPGA接口设计实验的理解。

实验内容包括:

1) LED点阵实验:了解和掌握定时器的Verilog HDL 实现。

2) 键盘实验:本实验由键盘扫描、去抖,以及数码管点亮和蜂鸣器驱动等功能构成。学习使用Architecture Wizard 生成DCM模块单元;掌握例化DCM 模块单元的方法。

3) AD/DA实验:了解和掌握A/D、D/A操作的Verilog HDL实现。

4)RTC读取实验:了解和掌握I2C时序的Verilog HDL实现以及RTC操作的Verilog HDL实现。

5) LCD显示实验:了解和掌握LCD的Verilog HDL实现,了解Memory模块的使用。

3.4SOPC原理及应用

该课程是专业方向课。理论学时32,实验学时8。SOPC是一门涉及许多学科而又广泛应用于许多领域的新兴学科,涉及EDA软件、硬件描述语言、FPGA器件、计算机组成与接口、汇编语言和C语言、DSP算法、嵌入式系统开发、嵌入式操作系统等内容。

本课程重点讲述SOPC系统开发的设计理念和方法[3],使学生熟悉嵌入式开发环境(EDK),包括硬件设计开发环境(XPS)和软件设计平台(SDK),并能够熟练进行SOPC的软硬件系统设计,包括仿真验证和调试。

通过本课程的学习,学生能够牢固掌握基于Xilinx FPGA内嵌CPU核Microblaze和PowerPC405的SOPC的基本概念和组成,掌握SOPC的设计环境、原理、方法及应用技术,能够具备使用开发实际SOPC应用系统的能力,培养学生嵌入式系统软硬件开发及应用能力,为他们今后从事通讯、计算机和控制等领域的科研和产品开发打下坚实的基础。

SOPC实验包括:

1) 硬件设计实验:熟悉XPS硬件开发环境,掌握使用Base System Builder(BSB)生成一个系统。

2) 添加IP核实验:掌握在硬件设计中添加IP 并学会使用Xflow来实现设计。

3) 定制IP Core设计实验:掌握使用Create/Import

Peripheral Wizard生成IP。

4) 建立软件应用程序实验:掌握用C语言编写基本应用程序来访问IP外设并学习利用XPS 生成MSS 文件。

5) SDK 使用实验:掌握使用SDK 来生成和调试程序。

6) 硬件/软件系统调试实验:掌握使用Chipscope

Analayzer 和SDK debugger 进行调试的方法。

3.5嵌入式系统设计案例

该课程是专业方向课。理论学时16,实验学时8。该课程采用案例教学方法,通过频率计[1]、全彩LED音乐景观灯控制系统[4]案例的讲解和实验,讲述采用微控制器,微控制器+FPGA形式的嵌入式系统设计方法以及SOPC系统的设计方法,使学生进一步提高嵌入式系统设计与应用能力。

SEED-XDTK教学实验平台可满足课程群中大部分课程的实验教学要求,在此基础上,充分利用科研项目、校开放式、创新型实验等的研究成果,进一步增加和完善课程体系中的实验系统。另外,为使学校投资效益最大化,还可在现有的实验平台上,设计其他专业方向课的综合性实验,例如计算机控制技术课程中的数字插补器的IP核实现,信号与系统课程中的滤波器、FFT算法的IP核实现,操作系统课程中的内核的IP核实现等。

掌握了FPGA设计技术,通过综合性和创新性实验,使学生将多门课程及概念融为一体, 实现了相关课程间的相互渗透[5]。可加深学生对理论知识的理解,使学生将学过的理论知识全面系统地融会贯通,从而使教学质量上一个台阶,并最终提高学生嵌入式系统及应用的综合能力和创新能力。

4结语

FPGA课程体系的设置具有一定的前瞻性,其教学效果还有待于实际教学进一步检验。其教学内容和方法在教学实践中根据教学效果可进一步调整。另外嵌入式课程实践性很强,教学计划中的实验学时远不能满足嵌入式应用型人才培养的需求,还需通过其他实践环节加强学生的实际动手能力和创新能力的培养。我们鼓励学生参加开放式实验、创新型实验、电子大赛等,通过技能训练、毕业设计等实践环节,进一步提高学生嵌入式系统设计、应用及创新能力。

致谢:哈尔滨理工大学教学改革重点资助课题:基于FPGA的嵌入式方向人才培养教学体系和方法研究;黑龙江省2010年新世纪高等教育教学改革工程项目:SOPC嵌入式系统创新实验教学探索与实践。

参考文献:

[1] 朱磊,卫建华,邱春婷. FPGA 课程实践环节教学改革[J]. 高等工程教育研究,2008(增刊1):134-136.

[2] 刘岚,黄秋元,陈适. FPGA应用技术基础教程[M]. 北京:电子工业出版社,2009:35-52.

[3] 杨强浩. 基于EDK的FPGA嵌入式系统开发[M]. 北京:机械工业出版社,2008:110-138.

[4] 李兰英.Nios II嵌入式软核SOPC设计原理及应用[M]. 北京:北京航空航天大学出版社,2006:460-463.

[5] 庄乾起,冯小龙,章望生. 开发多课程综合实验设备加强创新能力培养[J]. 电气电子教学学报,2002,24(4):91-92.

An Embedded Applied Talents Training System Based on FPGA Technology

LI Lanying, CUI Yongli, LI Yan, SHEN Hong

(Computer Science and Technology Department, Harbin University of Science and Technology, Harbin 150080, China)

Abstract: For FPGA technology increasingly wide range of applications in embedded systems, this paper proposes embedded applied talents training curriculum system of embedded technology and applications specialty which is based on FPGA design technology, which has the training program revise of this specialty of our university in 2010 as a background. Combined with school existing teaching conditions, this paper introduces the curriculum theory and the experimental teaching content and the curriculum system in detail, which based on Xilinx FPGA experimental platform and so on. The proposed course groups encircle the FPGA technology and use progressive approach to expand the teaching, which makes students master the FPGA device development technology in the round, also trains students FPGA-based embedded system design and application capabilities.

Key words: embedded talents training; teaching system; FPGA technology