FPGA应用设计初级培训班(TSF0601)

本初级培训班分为“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.掌握相关开发工具的使用方法
教学平台
【Altera FPGA开发板】红色飓风3代Altera CycloneII开发板
◆ 【Xilinx FPGA开发板】红色飓风3代Xilinx Spartan3AN开发板
实验环境
为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限15人,多余人员安排到下一期进行。人手一套开发板和开发用的PC主机。>>单击查看实验设备
课程背景
FPGA技术经过20多年的发展,现在已经被应用到各个领域,并且正在逐渐成为越来越多技术的系统级解决方案。为了帮助从事或者即将从事FPGA设计的工程师尽快的了解FPGA技术,掌握设计的方法和手段,我们针对FPGA的初学者设计了这个为期四天的课程,着重介绍FPGA技术基础、Verilog语言及基于嵌入式软核处理器的SOPC系统设计方法。
学时费用
◆课时:共4天,每天6学时,总计24学时
◆费用(含教材费):公司(2800元),个人自费(2500元),学生自费(1900元,凭有效证件)
◆培训证书:工业和信息化部《信息技术应用技能FPGA应用设计工程师认证证书》(认证费500元)
◆外地学员:代理安排食宿(需提前预定)
新优惠
◆团体报名优惠措施:两人95折优惠,三人或三人以上9折优惠!
◆同时报选《FPGA数字信号处理设计班》,即享受500元优惠!
◆同时报选《FPGA项目案例培训班》,即享受500元优惠!
质量保证
1、培训过程中,如有部分内容理解不透或消化不好,可免费在下期培训班中重听;
2、培训结束后免费提供一个月的技术支持,充分保证培训后出效果;
3、培训合格学员可享受免费推荐就业机会。

韦老师

华清远见高级讲师
6年FPGA开发经验,熟悉Altera及Xilinx公司CPLD及FPGA体系架构及开发,独自设计过基于多款Altera及Xilinx可编程逻辑器件的高速数据采集及处理系统,包括原理图设计、PCB布线、裸板调试、系统调试等,对基于FPGA的PCI总线设计有深入研究。 [韦老师授课视频] 韦老师授课视频

姚老师

华清远见高级培训讲师
北京航空航天大学自动化专业博士学位,有8年的FPGA和DSP系统硬件开发经验,成功开发了卫星载超高速图像压缩系统、红外图像采集压缩和传输系统、基于MPEG4/H.264的网络监控系统、高速(1GHz)并行(4颗)DSP图像处理系统, 超大规模高速500万门FPGA验证平台(Altera StratixII EP2S180)。 姚老师授课视频

葛老师

华清远见高级讲师
美国FIU计算机硕士。具有多年硬件开发工作和集成电路人才培训经验。精通 FPGA代码的编写、仿真代码的编写;熟悉Quartus II、ISE、ModelSim、 Synplify等设计仿真综合工具;熟悉基于FPGA的UART、VGA接口电路设计,有良好的模块设计风格和代码风格,擅长基于Xilinx Spartan 3、Virtex4,Altera Cyclone II、 Stratix II系列的 FPGA,以及基于FPGA SOPC系统设计,曾负责完成某航天测控网关设计、JPEG解码器IP设计系统等项目。

宋老师

华清远见高级讲师
6年FPGA/DSP开发经验,熟悉主流厂商的器件、架构及工具链,熟悉FPGA设计全流程,包括分析设计需求与选型,RTL逻辑设计与综合,仿真验证,Floorplan优化,STA分析与收敛,实时在线调试等,在通信、视频和工业控制等领域项目实践经验丰富。
Day 第一天

学习目标:第一天的课程将帮助学员了解FPGA系统设计的基础知识,使学员对FPGA的典型应用及解决方案,典型型号及结构特点有一个深入的认识。学员将掌握FPGA系统设计的方法、流程及手段,学会操作FPGA开发软件来完成简单的FPGA设计和开发。

  • 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

    1. FPGA实验平台介绍

    本节简要介绍课程使用的实验开发平台:红色飓风系列开发板,对其资源配置、设计理念、使用方法等进行介绍,使学员具备在此实验平台开展FPGA设计开发的基础。
    本节要点:
    1.1 PCB设计,电源设计,FPGA配置链路,接口设计,使用方法

    2. 解剖一个典型的FPGA工程

    本节以一个典型的FPGA工程为基础,手把手为学员讲授FPGA工程中的关键要素,要素的设计方法及作用。帮助学员迅速掌握FPGA开发的主要环节。
    本节要点:
    2.1 设计输入文件,约束文件,仿真激励文件,波形文件,下载文件,调试文件,设计报告

    3. 实战训练

    本节由学员动手,在FPGA实验平台上完成第一个FPGA工程设计。学员根据实验手册一步一步的完成一个功能直观步骤完整的FPGA设计,总结在FPGA设计过程中常见的错误和问题。
    本节要点:
    3.1 工程创建及属性设置,源文件设计输入方式,约束设计,工程编译,功能仿真,时序仿真,硬件下载,硬件调试
查看课程大纲
Day 第二天

学习目标:第二天的课程以设计输入、仿真激励设计及测试调试为主要内容,学员可以掌握FPGA开发的基本设计输入方法:原理图输入及Verilog硬件描述语言输入,配合丰富的实例使学员了解FPGA资源的语言描述方法及数字系统的测试验证方法,同时通过对设计原则和设计技巧部分的课程可以帮助学员提高系统设计的能力,为SOPC的系统设计打下良好的基础。

  • 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 状态机实例分析

    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进行实时硬件调试
查看课程大纲
Day 第三天

学习目标:第三天的课程以SOPC系统概念为切入点,重点介绍FPGA EDS解决方案的体系结构及硬件设计流程。围绕软核处理器、Avalon总线及外围组件三个方面对SOPC的硬件结构进行介绍。通过简单实用的SOPC工程使学员掌握EDS/XPS工具的基本使用方法及硬件设计流程。

  • 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软核系统的调用方法

    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工具操作方法
查看课程大纲
Day 第四天

学习目标:第四天的课程以软件开发及调试为主。通过第四天的学习,学员应掌握NIOS II SOPC系统的软件开发流程及相关工具,能够针对不同的系统需求进行系统配置,并选择或设计相应的API接口进行软件开发。配合前三天讲授的内容,掌握SOPC系统的软硬件协同设计设计。

  • 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工具操作方法

    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系统的相关内容和资源。
查看课程大纲