课程背景 |
FPGA技术经过20多年的发展,现在已经被应用到各个领域,并且正在逐渐成为越来越多领先技术的系统级解决方案。为了帮助从事或者即将从事FPGA设计的工程师尽快的了解FPGA技术,掌握设计的方法和手段,我们针对FPGA的初学者设计了这个为期四天的课程,着重介绍FPGA技术基础、 Verilog语言及基于 嵌入式软核处理器的SOPC系统设计方法。
课程说明:本初级培训班分为“ Altera FPGA设计应用初级培训班”和“ Xilinx FPGA设计应用初级培训班”两个课程,将分别对Altera和Xilinx两个主流的FPGA制造商的FPGA解决方案进行针对性的培训,实验课也将分别在两大厂商的经典硬件平台及开发工具上进行。学员可根据需求和兴趣进行选择。 |
课程目标 |
1.熟悉FPGA典型器件型号及结构
2.熟练FPGA设计流程及开发方法
3.掌握Verilog语言设计方法
4.掌握状态机设计方法
5.掌握FPGA的 仿真及调试方法
6.熟练SOPC系统设计流程
7.掌握NIOS II/Microblaze硬件系统设计方法
8.掌握NIOS II/Microblaze软件系统设计方法
9.掌握自定义组件的硬件设计、驱动设计、及软件设计方法
10.掌握嵌入式软核系统的调试方法
11.掌握FPGA常用接口的设计方法
12.掌握相关开发工具的使用方法 |
培养对象 |
FPGA系统的软件和硬件开发工程师; 电子类专业的大学生和研究生;电子产品设计爱好者。 |
入学要求 |
学员学习本课程应具备下列基础知识:
◆ 电路系统的基本概念。 |
师资团队 |
【刘老师】
● 武汉华嵌中心高级讲师,武汉大学工学硕士,曾任武汉某知名企业硬件项目经理,5年嵌入式系统开发经验,3年项目管理经验,2年嵌入式培训讲师经验。熟练基于FPGA的UART、VGA接口电路设计,精通FPGA项目设计和开发,掌握ISP, SIGNAL TAP等高级调试方法, 熟练应用NIOSII。熟悉IC设计流程,熟练应用相关 EDA设计工具;熟练掌握应用系统,硬件测试电路设计;熟悉C51 单片机和 ARM嵌入式处理器、 CPLD和FPGA可编程逻辑器件。
专长研究方向: FPGA系统开发,C 51单片机、ARM系统开发与设计,高速 PCB绘制。。 【李老师】
● 武汉华嵌中心高级讲师,丰富的实践经验,广博的专业知识,大型通讯公司的工作经历,目前就职于某大型科技集团,曾担任过中兴通信项目负责人和武汉电气科技有限公司研发部经理。
硬件方面:精通硬件开发,设计过多种硬件电路,包括低端的51单片机、AMD的186 CPU系统,到复杂的如Motorola的MPC860、Samsung的S3c2440 arm系列等多种嵌入式系统,使用过Ti公司的C54系列到高端的Dm642系列的 DSP器件,完成的功能包括简单的语音和DTMF信号的编解码到复杂的水下成像的视频算法。 尤其擅长FPGA可编程器件的开发,使用过从Altera公司早期的器件Max7000、Flex10K、epm6000、Acex1K系列,到最新的CycloneII、CycloneIII系列,以及xilinx公司的spartan3 1600e器件,完成基于嵌入式处理器microblaze的设计,熟练使用 QuartusII ISE、Modelsim软件,完成多种IP core的设计,包括PC104的ISA 总线协议、PCI总线协议、VXI总线协议、HDLC和UART通信协议、100Mhz的SDRAM控制器、复用/解复用、总线仲裁逻辑、自定义总线协议、逻辑运算等。 |
教材 |
◆《武汉华嵌-FPGA应用设计初级班讲义》
◆《武汉华嵌-FPGA应用设计初级班实验手册》
|
班级规模及环境 |
为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限15人,多余人员安排到下一期进行。
本课程实验环境详细情况单击此处查看>>> |
上课地点 |
武汉华嵌中心(滚动开班):
上课地点:武汉市洪山区珞瑜路鲁巷融众集团C3栋27层(位于鲁巷广场购物中心正对面,光谷国际广场旁边),查看地图>>
本课程每期班限额15名,报满即停止报名,请提前在线或电话预约
武汉华嵌保留开课时间调整的权利,欢迎来电洽询 |
学时费用 |
◆课时: 共4天
◆培训费用(含教材费):公司(2800元),个人自费(2500元),学生自费(1900元,凭有效证件)
◆认证费(可选):300元(考核通过,可获中国软件行业协会嵌入式分会颁发的《FPGA应用设计初级工程师》证书)
◆外地学员:代理安排食宿(需提前预定) |
最新优惠 |
◆团体报名优惠措施:两人95折优惠,三人或三人以上9折优惠 ◆同时报选《FPGA应用设计高级班》,即享受200元现金优惠 |
质量保障 |
1、培训过程中,如有部分内容理解不透或消化不好,可免费在以后培训班中重听;
2、培训结束后免费提供一个月的技术支持,充分保证培训后出效果;
3、培训合格学员可享受免费推荐就业机会。 |
课程进度安排(最新更新日期:2011.02.12) |
时间 | 课程大纲 |
第一天
|
学习目标 | 第一天的课程将帮助学员了解FPGA系统设计的基础知识,使学员对FPGA的典型应用及解决方案,典型型号及结构特点有一个深入的认识。学员将掌握FPGA系统设计的方法、流程及手段,学会操作FPGA开发软件来完成简单的FPGA设计和开发。 |
9:00
|
12:00 | 1. FPGA典型应用及解决方案
本节将介绍FPGA在不同领域应用的优势,帮助学员了解FPGA的应用场合及常见的解决方案。
本节要点:
1.1 嵌入式应用,DSP应用,高速互联应用,ASIC验证应用,外设接口互联应用
1.2 FPGA典型应用案例分享
2. FPGA典型器件型号及结构
本节将介绍主流FPGA厂商的传统、主流及最新型号的器件特点,帮助学员掌握几种最常见的FPGA器件的结构,了解最新的FPGA器件型号特点,掌握FPGA器件选型的原则和方法。
本节要点:
2.1 Altera:CPLD,CycloneI/II,Arria,Stratix
2.2 Xilinx:CPLD,Spartan3/6,Virtex5/6
2.3 FPGA兼容设计案例分析
3. FPGA设计流程及开发方法
本节围绕FPGA的设计流程,介绍主流FPGA厂商的开发工具链,重点讲授关键设计环节的工具特点,使学员掌握FPGA设计流程的各个环节及对应的开发方法。
本节要点:
3.1 FPGA PCB设计要点
3.2 Altera:Quartus II,EDS,DSP Builder,SignalTap
3.3 Xilinx:ISE,XPS/EDK,System Generator,AccelDSP,ChipScope
3.4 Synplify,Modelsim,Matlab,Simulink
|
13:00
|
16:00 | 1. FPGA实验平台介绍
本节简要介绍课程使用的实验开发平台:红色飓风系列开发板,对其资源配置、设计理念、使用方法等进行介绍,使学员具备在此实验平台开展FPGA设计开发的基础。
本节要点:
1.1 PCB设计,电源设计,FPGA配置链路,接口设计,使用方法
2. 解剖一个典型的FPGA工程
本节以一个典型的FPGA工程为基础,手把手为学员讲授FPGA工程中的关键要素,要素的设计方法及作用。帮助学员迅速掌握FPGA开发的主要环节。
本节要点:
2.1 设计输入文件,约束文件,仿真激励文件,波形文件,下载文件,调试文件,设计报告
3. 实战训练
本节由学员动手,在FPGA实验平台上完成第一个FPGA工程设计。学员根据实验手册一步一步的完成一个功能直观步骤完整的FPGA设计,总结在FPGA设计过程中常见的错误和问题。
本节要点:
3.1 工程创建及属性设置,源文件设计输入方式,约束设计,工程编译,功能仿真,时序仿真,硬件下载,硬件调试
|
第二天
|
学习目标 | 第二天的课程以设计输入、仿真激励设计及测试调试为主要内容,学员可以掌握FPGA开发的基本设计输入方法:原理图输入及Verilog硬件描述语言输入,配合丰富的实例使学员了解FPGA资源的语言描述方法及数字系统的测试验证方法,同时通过对设计原则和设计技巧部分的课程可以帮助学员提高系统设计的能力,为SOPC的系统设计打下良好的基础。 |
9:00
|
12:00 | 1. FPGA设计输入方法
本节针对FPGA开发过程中的主要工作——设计输入——进行详细分析,帮助学员掌握常见设计输入方法,仿真激励文件设计方法,理解硬件描述语言的可综合设计风格。
本节要点:
1.1 原理图设计方法,Verilog语言基本结构,可综合设计,仿真激励设计
1.2 常用设计输入方法实例分析
2. FPGA常用资源结构特点及调用方法
本节将学习FPGA器件的工艺结构,详细介绍FPGA的各种逻辑资源特点及调用方法,帮助学员深刻理解FPGA的各种内部资源,为系统的进行FPGA开发打下基础。
本节要点:
2.1 PLL/DCM等时钟资源,Select IO资源,RAM资源,乘法器资源,SERDES资源
2.2 FPGA常用资源调用方法实例分析
3. 有限状态机设计
本节讲授数字系统设计中最常见的结构设计方法——有限状态机,通过学习学员将掌握状态机设计中的状态划分原则及硬件描述语言实现方法。
本节要点:
3.1 状态机编码,三段式状态机设计
3.2 状态机实例分析
|
13:00
|
16:00 | 1. FPGA设计原则及常用设计技巧
本节介绍FPGA设计中应遵循的设计原则和常用设计技巧,通过学习学员可从更高的层次上理解数字系统的设计方法。
本节要点:
1.1 设计原则:模块化设计,基于IP设计,时钟复位系统设计
1.2 设计技巧:面积与速度互换、兵乓操作、流水线
1.3 流水线设计实例分析
2. 设计输入与验证实战训练
本节让学员动手去完成既定的实验任务,在实践中掌握硬件描述语言的编写方法及系统设计的模块化设计方法。
本节要点:
2.1 用Verilog语言实现特定功能组合逻辑电路
2.2 用Verilog语言实现特定功能时序逻辑电路
2.3 顶层文件设计方法及模块调用方法
2.4 测试激励的编写方法及仿真
3. 实时硬件调试实战训练
本节通过实验演示及学员动手相结合,是学员掌握FPGA实时调试工具——虚拟逻辑分析仪——的使用方法,提高FPGA调试测试的技能。
本节要点:
3.1 虚拟逻辑分析仪的原理及特点
3.2 使用虚拟逻辑分析仪进行调试的设计流程
3.3 Altera实战:使用SignalTap进行实时硬件调试
3.4 Xilinx实战:使用ChipScope进行实时硬件调试
|
第三天
|
学习目标 | 第三天的课程以SOPC系统概念为切入点,重点介绍FPGA EDS解决方案的体系结构及硬件设计流程。围绕软核处理器、Avalon总线及外围组件三个方面对SOPC的硬件结构进行介绍。通过简单实用的SOPC工程使学员掌握EDS/XPS工具的基本使用方法及硬件设计流程。 |
9:00
|
12:00 | 1. SOPC系统基础及典型解决方案
本节讲授SOPC系统的基础知识及SOPC的构成要素,介绍当前典型的几种SOPC解决方案及优缺点,使学员对SOPC有一个基本的认识。
本节要点:
1.1 SOPC构成要素,典型软核SOPC解决方案,典型硬核SOPC解决方案,SOPC系统优缺点
2. Altera NIOS II解决方案
本节基于Altera NIOS II软核处理器,通过一个典型的工业数据采集SOPC系统工程,详细介绍NIOS II SOPC解决方案的构成要素。通过学习,学员将从整体上理解NIOS II SOPC解决方案的架构和重要的构成要素,学会使用原理图和硬件描述语言的方式调用SOPC工程模块。
本节要点:
2.1 一个典型的工业采集系统SOPC工程
2.2 NIOS II解决方案架构,开发工具链
2.3 NIOS II 软核处理器,Avalon总线,典型外设组件
2.4 NIOS II硬件抽象层HAL及系统库
2.5 定制指令及定制组件
2.6 SOPC的时钟与复位系统
2.7 NIOS II软核系统的调用方法
|
13:00
|
16:00 | 1. NIOS II解决方案的系统设计流程
本节为学员讲述NIOS II解决方案的系统设计流程,通过学习学员可以从流程上清晰地理解SOPC设计的各个主要环节。
本节要点:
1.1 NIOS II解决方案的系统设计流程
1.2 NIOS II解决方案的硬件设计流程
1.3 NIOS II解决方案的软件设计流程
1.4 NIOS II解决方案的软硬件下载流程
2. SOPC Builder开发环境及使用方法
本节基于实验平台的一个SOPC最小系统工程,介绍SOPC Builder工具环境的使用方法。学员可学会使用该工具建立SOPC系统,掌握该工具提供的主要功能。
本节要点:
2.1 实验平台上的一个SOPC最小系统工程
2.2 NIOS II处理器的调用与配置
2.3 Avalon总线互联方法
2.4 常用外设组件及调用及其配置
2.5 定制外设组件的实现方法
2.6 SOPC系统的地址及中断
2.7 SOPC系统软件设计初步
3. SOPC Builder实战训练
本节由学员动手设计并实现一个简单的处理器控制系统,在实践中加深对SOPC硬件设计流程及常见组件的使用方法,熟练SOPC Builder工具的操作。
本节要点:
3.1 在FPGA开发板上组建一个简单的处理器控制系统
3.2 SOPC Builder工具操作方法
|
第四天
|
学习目标 | 第四天的课程以软件开发及调试为主。通过第四天的学习,学员应掌握NIOS II SOPC系统的软件开发流程及相关工具,能够针对不同的系统需求进行系统配置,并选择或设计相应的API接口进行软件开发。配合前三天讲授的内容,掌握SOPC系统的软硬件协同设计设计。 |
9:00
|
12:00 | 1. NIOS II解决方案的软件架构
本节主要讲授NIOS II解决方案的软件架构,主要围绕硬件抽象层,API和用户应用程序三个方面进行介绍,使学员深入了解NIOS II解决方案的软件设计要素。
本节要点:
1.1 软件架构,软件开发工具链
1.2 HAL硬件抽象层
1.3 HAL API接口
1.4 用户应用程序
1.5 标准系统库,嵌入式操作系统
2. NIOS II IDE开发环境及使用方法
本节为学员介绍NIOS II IDE软件及其工具链的使用方法,按照SOPC软件设计流程对重要的设计步骤进行讲解,使学员学会使用NIOS II IDE工具,了解SOPC软件设计及调试方法。
本节要点:
2.1 系统工程向导及模板
2.2 系统库及用户工程的管理与配置
2.3 SOPC软件设计方法
2.4 SOPC软硬件协同调试方法
2.5 SOPC软件的固化方法
3. NIOS II IDE实战训练
本节由学员动手在前一天设计的简单的处理器控制系统上添加软件功能,理解SOPC系统中软件实现方法和硬件实现方法的区别,掌握SOPC软件设计及调试方法,熟练NIOS II IDE工具的操作。
本节要点:
3.1 在组建的简单处理器控制系统上添加软件工程
3.2 NIOS II IDE工具操作方法
|
13:00
|
16:00 | 1. SOPC软件工程实例分析
本节基于典型的工业数据采集SOPC系统的软件结构,为学员介绍常见的SOPC外围组件的软件控制方法,介绍自定义外围组件的HAL设计及API封装方法,使学员具备开发SOPC外围接口的能力。
本节要点:
1.1 常见外围组件的软件控制方法
1.2 用户自定义组件的HAL设计及API封装方法
2. SOPC系统综合训练
本节提出一个SOPC系统需求,要求学员设计一个图像显示系统的SOPC结构,并在实验平台上实现。通过这个综合训练,使学员融会贯通的使用SOPC系统结构设计、FPGA硬件设计、SOPC软硬件协同设计等方法。具备从需求到实现的设计开发能力。
本节要点:
2.1 SOPC系统结构设计
2.2 FPGA硬件设计
2.3 SOPC软硬件协同设计
2.4 SOPC工具链使用
3. 课程总结与展望
本节将回顾四天SOPC课程的主要内容,帮助学员总结课程的要点和课程培训中常见的问题,同时为学员介绍进一步学习SOPC系统的相关内容和资源。
|