课程背景 |
|
FPGA系统设计高级班主要是介绍FPGA系统开发中的高级技巧,深入探讨如何提高 FPGA设计的性能,如何优化设计规模,进而设计出高性能低成本的产品。同时介绍了FPGA和DSP芯 片构成的高性能协同计算系统的软/硬件设计技术。课 程中会结合实际的工程设计代码讲解并行设计技术,流水线设计技术等实用技巧,帮助学员短时间内理解和掌握这些高级技 巧,并可以尽快应用到工程项目中去。
|
课程内容 |
|
迅速掌握和使用CPLD/FPGA数字系统开发工具、开发流程,能够独立进行初步的FPGA系统设计;掌握HDL语言的初步开发能力,并且解决FPGA产品开发过程中的常见问题;掌握基于FPGA的嵌入式系统的设计和调试方法;同时介绍了FPGA和DSP芯片构成的高性能协同计算系统的软/硬件设计技术。
|
培养对象 |
|
从事单片机系统设计,并期待有所提高的工程师;希望从事FPGA/CPLD系统设计工程师的理工科背景的在校学生。
|
入学要求 |
|
学员学习本课程应具备下列基础知识:
◆ 电路系统的基本概念
◆ 了解Verilog HDL语言
◆ 了解C语言
|
师资团队 |
|
【高老师】
● ARM认证培训讲师,华中科技大学龙芯嵌入式实验室负责人。多次负责及参与国家、军队和企业项目科研及工程。
■ 研究方向:FPGA系统设计和嵌入式系统设计
【郑老师】
● 资深数字IC设计工程师,华中科技大学微电子学与固体电子学博士,华中科技大学电子系硕士生导师。现任武汉集成电路设计工程技术研究中心研发部项目负责人。一直从事嵌入式系统与SOC数字集成电路设计工作。
■ 研究方向:嵌入式系统产品设计、数字集成电路低功耗设计研究
【刘老师】
● 2007年5月,博士毕业于华中科技大学微电子学与固体电子学专业。长期从事芯片设计和芯片应用工作,资深数字系统设计工程师,ARM认证培训讲师。
■ 研究方向:超大规模数字集成电路,数模混合电路设计和嵌入式系统设计
|
教材 |
|
《FPGA开发教程》
《FPGA实验指导书 》
|
实验环境及班级规模 |
|
为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限15人,多余人员安排到下一期进行。人手一套实验环境:FPGA开发板(单击查看)
|
开班时间 |
|
滚动开班、小班授课、每班超过15人自动列入下期
具体请咨询
Tel:027--87611256
|
学时费用 |
|
◆课时: 共5天,每天6学时,总计30学时
◆外地学员:代理安排食宿(需提前预定)
单击查看退费规定说明>>>
|
最新优惠 |
|
该课程的最新优惠请拨打咨询电话咨询
Tel:027--87611256
单击查看优惠制度说明>>>
|
质量保障 |
|
1、免费重听,报名参加了该课程,可以享受一次免费重听,享受和新学员同等待遇;
2、培训结束后免费提供一个月的技术支持,充分保证培训后出效果;
3、学员在培训期间缴纳一定押金可免费租借实验开发板,方便学员利用课余时间巩固消化课程内容。
|
课程进度安排 |
| 时间 |
课程大纲 |
|
第一天
|
| 学习目标 |
第一天的课程主要帮助学员了解FPGA系统设计的基础知识和工程项目中FPGA芯片的选型策略和原则;掌握常用接口电路的设计方法;学会使用Xilinx ISE软件来完成FPGA的设计和开发,并使用Modelsim仿真工具来进行仿真。
|
9:00
|
12:00 |
1. FPGA技术的现状和特点;
2. FPGA技术的典型应用领域;
3. Spartan-3A和Virtex平台的各自特点;
4. 工程项目中的FPGA芯片选型策略;
5. 常用接口电路的电路设计:
5.1 下载配置与调试接口电路设计;
5.2 开关、按键及LED接口电路设计;
5.3 7段式数码管接口电路设计;
5.4 电源电路设计;
5.5 复位电路设计;
5.6 时钟电路设计;
5.7 串口电路设计。
|
13:00
|
16:00 |
实战练习一:在开发板上运行第一个程序
训练题目:“LED跑马灯”;
训练知识点:
1. ISE工程创建及设置;
2. 源文件设计输入方式;
3. 管脚约束设计(ucf的写法);
4. 使用ISE进行工程编译;
5. 使用Modelsim进行功能仿真;
6. 使用Modelsim进行时序仿真;
7. 通过JTAG调试电路进行FPGA下载。
|
|
第二天
|
| 学习目标 |
熟练掌握硬件描述语言(HDL)是FPGA工程师的基本要求。通过本节课程的学习,学员可以了解目前最流行的Verilog HDL语言的基本语法,掌握Verilog HDL语言中最常用的基本语法。同时讲解可综合Verilog HDL代码设计。通过本节课程学习,学员可以设计一些简单的FPGA程序,掌握组合逻辑和时序逻辑电路的设计方法,了解可综合代码的概念并能初步形成代码与硬件电路的对应关系。通过实战训练,学员可以对HDL语言有更深入的理解和认识。
|
9:00
|
12:00 |
1. Verilog HDL语言简介;
2. Verilog HDL语言的基本结构;
3. Verilog HDL语言的数据类型和运算符;
4. Verilog HDL语言的赋值语句和块语句,阻塞和非阻塞赋值的区别;
5. 逻辑可综合以及可综合的代码设计:
5.1 逻辑、数学和移位运算符;
5.2 always语句(组合逻辑和时序逻辑电路);
5.3 If语句;
5.4 case语句(隐含在case中的Latch和两种case综合导向);
5.5 有限状态机设计。
|
13:00
|
16:00 |
实战练习二:
训练题目:“3-8译码器”;
训练知识点:
1. Xilinx ISE操作;
2. 组合逻辑电路设计实现;
3. If及case语句的使用;
实战练习三:
训练题目:“LED跑马灯实验”;
训练知识点:
1. Xilinx ISE操作;
2. 时序逻辑电路设计实现;
3. 分频的原理和方法;
实战练习四:
训练题目:“7段式数码管的显示”;
训练知识点:
1. Xilinx ISE操作;
2. 时序逻辑电路和组合逻辑电路的混合设计实现;
3. 时序图分析方法和实现特定时序关系;
|
|
第三天
|
| 学习目标 |
利用第二天学习到Verilog HDL可综合代码设计,基本就能完成大部分的FPGA功能,但在一个FPGA设计项目或IC设计项目中常常使用到Verilog HDL的高级语法结构,这些高级语法结构往往是不可综合的,但被广泛应用在数字系统建模和数字系统仿真上。通过第三天课程的学习,学员可以很好的掌握Verilog HDL高级语法结构的用法,能熟练的建立testbench对项目通过进行仿真和调试;作FPGA设计中最重要的有限状态机的设计进行了深入探讨;介绍了门控时钟及多时钟域处理等高级开发技巧。此外,本节课程还介绍了在Xillinx中常用的Chipscope,从而提高FPGA设计和调试效率。
|
9:00
|
12:00 |
1. 有限状态机(FSM)的设计原理和代码风格;
2. 状态转移图设计,状态转移图和有限状态机的对应;
3. 测试基准(testbench)的建立;
4. Verilog HDL的高级语法结构-任务(Task);
5. Verilog HDL的高级语法结构-函数(Function);
6. Chipscope逻辑分析仪的使用方法;
|
13:00
|
16:00 |
实战训练五:
训练题目:“UART收发器设计”;
训练知识点:
1. FSM设计方法(状态转移图的设计);
2. 状态机编码方法(Binary,gray-code,one-hot等)
3. 状态机初始换状态和自复位(完整状态机设计)
4. 状态机的编写风格;
5. 门控时钟和多时钟域处理;
实战训练六:
训练题目:“仿真及Chipscope功能实践”;
训练知识点:
1. Testbench的编写(Verilog HDL高级语法特性的运用);
2. Chipscope在线调试;
|
|
第四天
|
| 学习目标 |
随着FPGA芯片的性能和密度不断提高, 基于FPGA的SoPC系统正在逐渐成熟并且在很多领域得到了应用。第四天课程主要给学员介绍Xilinx公司基于Microblaze软核的SoPC系统设计流程和方法。通过硬件开发板上的SoPC系统设计实验,学员能够体会SoPC技术给系统设计带来的灵活性。
|
9:00
|
12:00 |
1. 基于FPGA的SoPC系统组成原理;
2. Xilinx公司的Microblaze解决方案;
实战训练七:
训练题目:“使用Xilinx Platform Studio建立最小系统”;
训练知识点:
1. 学会EDK开发流程;
2. 熟悉Microblaze软核架构;
|
13:00
|
16:00 |
1. 基于Microblaze的硬件系统设计流程;
实战训练八:
训练题目:“使用EDK为SoPC系统添加一个IP”;
训练知识点:
1. 学会如何在EDK中添加和配置IP的参数;
2. 学会使用GPIO的IP控制外设;
3. 熟悉Microblaze总线结构。
实战训练九:
训练题目:“使用EDK为SOPC系统添加一个自定制IP”;
训练知识点:
1. 学会如何在EDK中添加自定制IP;
2. 熟悉Microblaze总线结构;
3. 系统子模块的总线接口设计;
|
|
第五天
|
| 学习目标 |
通过前四天的学习,学员能熟练的掌握FPGA开发流程,不仅能使用Verilog HDL语言进行系统的仿真的建模,并能使用Verilog HDL进行可综合代码设计。同时通过对Xilinx EDK开发环境的学习和SoPC系统的了解,学员初步建立了自己的SoPC系统。一个完成的工程系统是软件和硬件组成的,软件和硬件的协调设计和协同调试是在工程设计中经常使用的手段,在最后一天学员将学习如何在Xilinx EDK环境下编写和调试软件并完成软硬件系统的联调,最后学员将针对一个综合性的项目,完成需求分析,结构设计,代码设计,仿真验证并完成程序的下载固化。
|
9:00
|
12:00 |
1. 基于Microblaze的软件系统设计流程;
实战训练十:
训练题目: “在EDK环境下编写和调试软件”
训练知识点:
1. 学会如何使用EDK进行软件编写和调试;
2. 在EDK环境下实现软硬件联调;
|
13:00
|
16:00 |
实战训练十一:
训练题目:“FPGA综合设计实验”
训练内容: 针对一个综合性实验题目,学员完成需求分析,结构设计,代码设计,仿真验证和程序下载固化。
训练知识点:
1. 四天学习内容的消化理解
2. FPGA的程序固化方法
|