课程背景

FPGA技术经过20多年的发展,现在已经被应用到各个领域,并且正在逐渐成为越来越多领先技术的系统级解决方案。为了帮助从事或者即将从事FPGA设计的工程师尽快的了解FPGA技术,掌握设计的方法和手段,我们针对FPGA的初学者设计了这个为期四天的课程,着重介绍器件分析/编程工具使用技巧/Verilog HDL编程之美/FPGA时序分析/FPGA编程技巧。

面向对象

适合接触过FPGA,对 FPGA 有过一定认知和设计经验。

课程说明

本初级培训班为“Xilinx FPGA设计应用初级培训班”,将对Xilinx FPGA zynq7000芯片解决方案进行针对性的培训,实验课其硬件平台及开发工具上进行,开发工具为vivado。

课程目标

1、熟悉FPGA典型器件型号及结构
2、熟练FPGA设计流程及开发工具
3、掌握FPGA的仿真及调试方法
4、掌握Verilog语言设计方法
5、掌握状态机设计方法
6、掌握FPGA时序常见概念
7、掌握FPGA时序收敛方法
8、掌握FPGA常见的编程技巧

教学平台

◆【Xilinx FPGA开发板】MIZ7———Zynq 7000开发实验平台

课程安排

时间
课程大纲

阶段目标

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


9:00-10:30
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,Kintex,Zynq

10:30-12:00
1. Vado/modelsim/notepad++相关编程软件使用以及技巧

本节将介绍免费代码编辑工具notepad++使用相关技巧以及如何部署自己的verilog HDL,如何使用 vivado 从 0 到 1 开发一个完成的工程,以及使用的相关流程以及技巧。

本节要点:

1.1 免费开源工具 notepad++使用以及技巧

1.2 介绍 Xilinx 最新开发工具vivado的使用流程以及技巧


13:00-14:30

本节将介绍vivado如何调用modelsim进行联合仿真,以及modelsim相关使用技巧

本节要点:

1.1 如何调用第三方软件modelsim 进行联合仿真

1.2 modelsim 一些实用小技巧

14:30-16:00

本节将结合案例,讲解一下如何调用ddr4/ddr3 进行仿真,并且手动设计和修改设计。

本节要点:

1.1 DDR 协议

1.2 手动设计并且修改设计

时间
课程大纲

阶段目标

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


9:00-11:00

verilog IEEE—2001 语法难点理解,包括阻塞赋值和非阻塞赋值,状态机设计以及原理,顺序执行和并行执行等。

本节要点:

1.1 状态机设计,赋值语句句

11:00-12:00

高效编程风格, 高可移植性,如何通过RTL级减少资源利用以及规避时许问题等。

本节要点:

1.1 verilog IEEE-2001 语言规范以及使用技巧


13:00-14:30

如何编写testbench,对使用硬件描述语言设计的电路进行仿真验证,测试设计电路的功能、性能与设计的预期是否相符

本节要点:

1.1 时钟激励,复位信号,特殊信号等

14:30-16:00

实现对于同一IP的不不同使用方式—RTL书写、调用、IP例化,并且比较其不不同。

本节要点:

1.1 RTL书写、调用、IP例化

时间
课程大纲

阶段目标

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


9:00-10:30

对于系统设计工程师来说,时序问题在设计中是至关重要的,尤其是随着时钟频率的提高,留给数据传输的有效读写窗口越来越小,要想在很短的时间限制里,让数据信号从驱动端完整地传送到接收端,就必须进行精确的时序计算和分析。这里介绍一些关于时序的一些基本概念:时钟抖动和时钟偏斜,建立时间和保持时间,发送沿和捕获沿。

本节要点:

1.1 时钟抖动/时钟偏斜、建立时间/保持时间,发送沿/捕获沿

10:30-11:00

深刻理解建立时间和保持时间,建立余量和保持余量,并且结合实际案例理解并解决时序问题。

本节要点:

1.1 建立余量和保持余量


13:00-16:00

解决时序问题的一些技巧,包括架构层,RTL代码层,以及时序约束的使用。

本节要点:

1.1 时序收敛的技巧

时间
课程大纲

阶段目标

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


9:00-12:00

主要介绍一些实用的技巧包括:乒乓操作/串并转换/流水线设计/数据接口同步化/模块化分/同步设计/复位和时钟设计等。

本节要点:

1.1 乒乓操作/串并转换/流水设计/同步/复位。


13:00-16:00

通过上机实际编程,体验实用的设计技巧,深刻理解并尝试实用。

本节要点:

1.1 实际操作并理解使用技巧

讲师信息

        陈士阳,硕士研究生,毕业于北京航空航天大学电子信息工程学院,微电子专业。曾经就职于中国电子科技集团某研究所,主要负责FPGA声音信号同步采集与处理等工作。现任keysightFPGA研发工程师,负责下一代移动网络5G的高速信号采集与处理的相关工作。

培训地址

北航致真大厦(北京市海淀区知春路7号)

上课时间

2017年11月18日至19日

2017年11月25日至26日

主办方