|
课 程 大 纲 |
第一天 |
| 学习目标: |
帮助学员了解FPGA系统设计的基础知识,掌握FPGA发展最新技术动态,同时基于QuartusⅡ7.2工具软件,引导学员一步步完成从设计输入到下载调试,掌握完整FPGA设计流程. |
| 1.1.CPLD/FPGA技术现状和发展方向 |
| |
◇CPLD/FPGA典型应用领域
◇传统CPLD(基于CMOS,EEPROM工艺)结构,性能指标及应用介绍
◇新一代CPLD(MAXⅡ系列)的结构, 性能指标与布线规则以及应用介绍 |
| 1.2.新型FPGA核心技术概述与结构分析 |
| |
◇低成本Cyclone系列FPGA基本结构分析,包括时钟管理资源, 内嵌RAM资源等
◇高密度Stratix系列FPGA时钟管理资源, 内嵌RAM, DSP模块性能及对比分析
◇工程项目中FPGA芯片的选型策略和原则 |
| 实验一:基于ALTERA开发板上运行LCD液晶显示程序 |
| 训练知识点: |
|
◇Quartus II工程创建及属性设置
◇Quartus II两种源文件设计输入方式
◇Quartus II约束设计
◇Quartus II工程编译 |
◇Quartus II功能仿真
◇Quartus II时序仿真
◇Quartus II编程下载 |
第二天 |
| 学习目标: |
掌握FPGA最小系统的硬件设计方法,能够在工程中设计一般的FPGA系统.
HDL语言是FPGA设计的主要工具,本次课程重点帮助学员掌握当前最为流行的描述语言---VHDL语言的基本语法,以及常用的组合逻辑和时序逻辑设计. |
| 2.1.FPGA最小系统设计 |
| |
◇FPGA最小系统基本组成
◇FPGA下载配置接口电路设计(JTAG/AS/PS)
◇高速SDRAM存储器接口电路设计
◇异步SRAM(ASRAM)存储器接口电路设计
◇FLASH存储器接口电路设计
◇VGA接口电路设计 |
◇PS/2鼠标及键盘接口电路设计
◇字符型液晶显示器接口电路设计
◇RS-232串口
◇电源电路设计
◇复位电路设计
◇时钟电路设计 |
2.2.VHDL语言设计 |
| |
◇VHDL语言简介以及与Verilog HDL对比
◇VHDL程序的基本结构(实体/结构体)
◇VHDL语言的常用数据类型和运算符
◇VHDL语言常用顺序描述语句 |
◇VHDL语言常用并行描述语句
◇组合逻辑电路的VHDL语言描述
◇时序逻辑电路的VHDL语言描述 |
| 实验二:"3-8译码器实现" |
| 训练知识点: |
| |
◇Quartus II软件进一步熟练
◇VHDL程序设计的基本结构 |
◇IF语句与CASE语句的区别
◇组合逻辑用VHDL语言实现 |
| 实验三:"跑马灯程序设计" |
训练知识点:
|
| |
◇Quartus II软件进一步熟练
◇VHDL语言描述移位寄存器 |
◇时序逻辑电路设计实现
◇分频电路设计方法 |
第三天 |
| 学习目标: |
进一步针对VHDL语言常用概念进行深入理解,同时学习VHDL语言的高级功能,以便在复杂数字系统中能够熟练的运用.通过实验训练工程应用中常用电路模块的设计技巧. |
| 3.VHDL语言的高级应用 |
| |
◇实体的应用技巧
◇信号(Signal)与变量(Variable) 的区别
◇进程设计注意事项
◇时钟描述方式及内部模块时钟管理技巧 |
◇双向数据总线问题
◇三态电路
◇时序匹配技巧
◇RAM,FIFO的设计方法及应用技巧 |
| 实验四:奇数/偶数分频器电路设计 |
| 训练知识点: |
| |
◇Quartus II软件进一步熟练
◇变量与信号的区别 |
◇计数电路的常用技巧
◇奇数分频电路设计方法 |
| 实验五:FIFO电路设计 |
训练知识点:
|
| |
◇Quartus II软件进一步熟练
◇FIFO电路的组成结构 |
◇多模块电路的设计 |
第四天 |
| 学习目标: |
本课程主要学习QuartusⅡ7.2的高级应用技巧以及数字设计高级技巧.包括锁相环(PLL),MegaCore(IP),有限状态机(FSM)等的应用,此外学习FPGA典型应用工具SignalTAP和LogicLock,可以提高FPGA设计和调试的效率. |
| 4.QuartusⅡ7.2的高级应用 |
| |
◇Altera 公司以及其他公司提供的IP的使用
◇锁相环(PLL)的原理以及使用
◇有限状态机(FSM)的设计原理及其代码风格
◇可综合的代码设计风格 |
◇SignalTap II在线逻辑分析仪使用方法
◇使用SOPC Builder进行软件开发与调试
◇Logic Lock逻辑锁定工具使用技巧 |
| 实验六:典型状态机设计实例 |
| 训练知识点: |
| |
◇两种状态机的特定
◇状态机的编码(Binary、gray-code、one-hot等) |
◇状态机的定义风格与编码风格 |
| 实验七:SignalTap II功能实践 |
训练知识点:
|
| |
◇SignalTap II调试原理
◇SignalTap II在线调试 |
| 实验八:LogicLock功能实践 |
训练知识点:
|
| |
◇Quartus II原理图输入方式
◇LogicLock逻辑锁定的操作方法 |
第五天 |
| 学习目标: |
本课程重点介绍Altera公司基于NIOSII软核的SoPC系统设计流程和方法,建立学员基于FPGA的嵌入式开发的概念,并体会SOPC带来的灵活性. |
| 5.SoPC系统设计 |
| |
◇FPGA片上系统的开发流程
◇片上微处理器的几种系统设计方案
◇片上微处理器与外设之间的通信 |
◇基于NIOS II的硬件系统设计流程
◇使用SOPC Builder进行软件开发与调试 |
| 实验九:基于NIOSII处理器的Hello Led程序 |
| 训练知识点: |
| |
◇QuartusII SOPC Builder使用方法
◇NIOSII IDE软件开发流程 |
◇基于NIOSII的C语言设计方法 |
| 实验十:基于NIOSII的UART实验 |
训练知识点:
|
| |
◇UART通信原理
◇基于NIOSII开发的驱动调用方法. |
◇NIOSII 开发的软件调试方法. |
第六天 |
| 学习目标: |
复习前面五天学习的内容,按照正规FPGA设计团队的要求,组建FPGA设计团队,进行综合项目训练 |
| 6.FPGA综合项目训练 |
| 训练知识点: |
| |
◇前面五天学习到的FPGA开发知识
◇要求熟练掌握项目需求报告编写,任务功能的模块化技巧
◇复杂数字系统的仿真以及综合约束技巧等 |
| |
| 目前,许多企业都在高薪聘请大量的FPGA工程师,除了中兴、华为、诺基亚、爱立信等通信企业外,炬力、士兰、中星微、威盛等这些微电子行业的巨头企业,以及中电集团54所、14所、29所,航天航空等许多研究所也是大量需求FPGA工程师。 |