课程主要内容
分三个阶段,分别如下:
第一阶段 FPGA设计初级培训
该阶段是针对学生的基础不是很好的情况下,做的一些打基础的培训。
主要内容为:
FPGA设计流程
FPGA设计流程课程主要介绍根据设计规格要求,从总体和详细方案文档设计到RTL设计、功能仿真、综合和布局布线的实现以及静态时序分析等,最后到上板调试的这个规范流程。让学员对FPGA设计流程有个清楚认识,同时了解专业的处理步骤。
FPGA器件的基本知识
讲解FPGA器件的主要结构和相关的硬件资源,以及芯片选型的方法。
Verilog HDL 基础知识
Verilog HDL 基础知识课程主要让学员掌握Verilog HDL的基本语法,能够进行较简单的RTL设计,同时,建立HDL中逻辑运算符及RTL设计与电路实体的对应关系,深刻理解存储器工作原理及其设计方法,及三态端口控制、双向控制等,为后面的高级编程打好基础。
该处会结合实际例子进行训练式培训,其中包括:前沿和后沿处理电路,不同计数器设计方法,状态机的三段式设计,以及避免产生LATCH的组合电路设计方法等。
此处,会多以小的模块设计,锻炼和实践,加强对Verilog HDL基础知识的学习和深化。
FPGA开发环境
FPGA开发环境主要学习FPGA开发工具的使用:Modelsim仿真调试工具、Synplify pro综合工具及FPGA开发系统ISE/QUARTUS II的使用方法及技巧;完成RTL设计的基础上,完整进行FPGA设计所有流程,掌握FPGA开发板下载、调试的方法和技巧,其中包括如何使用FPGA内置的逻辑分析仪Chipscope/SignalTap II的实战上板调试运用。
第二阶段 FPGA设计高级培训
FPGA的同步化设计技术
对于一个设计项目来说,全局时钟(或同步时钟)是最简单和最可预测的时钟。在CPLD/FPGA设计中最好的时钟方案是:由专用的全局时钟输入引脚驱动的单个主时钟去钟控设计项目中的每一个触发器。只要可能就应尽量在设计项目中采用全局时钟。CPLD/FPGA都具有专门的全局时钟引脚,它直接连到器件中的每一个寄存器。这种全局时钟提供器件中最短的时钟到输出的延时。
FPGA的跨异步时钟域的处理
深入浅出的利用实际例子来讲授针对多种情况做跨时钟域的异步处理办法。
在许多应用中将异步信号同步化还是不够的,当系统中有两个或两个以上非同源时钟的时候,数据的建立和保持时间很难得到保证,我们将面临复杂的时间问题,那么这个时候怎么办呢?
最好的方法是将所有非同源时钟同步化,那么又怎么样将非同源时钟同步化呢?我们可以使用带使能端的D触发器,并引入一个高频时钟(频率高于系统中的所有源时钟),便可以达到使系统中所有源时钟同步的效果。
该课程会具体讲解许多解决的办法,并结合实际工程。
Verilog高级编码
Verilog高级编码课程主要讲授Verilog HDL流水线设计、同步状态机设计及系统函数(Function)、任务调用(Task)等高级编码知识,通过序列检测器、EEPROM读写器及红绿灯等由易至难的实验安排; 强化RTL设计与电路实体的对应关系,及针对FPGA器件的代码优化,使学员逐步掌握并独立完成复杂逻辑设计的能力。
FPGA仿真
构建复杂的仿真模型的实战方法,包括:测试点和测试用例的设计,仿真方案的制定,以及如何构建完备的测试激励和测试仿真模型。
这部分实验不是照抄教材的代码,而是通过训练使学生从项目的角度考虑问题,自行设计完成,可大幅提升学员自我思考的能力。
FPGA设计原则与技巧
FPGA设计原则与技巧课程主要讲授FPGA设计的一些原则(面积与速度平衡互换原则(balance)、硬件可实现原则及同步设计原则、低功耗设计原则等)及操作技巧(乒乓操作、串并转换、流水线操作及数据同步等),使学员能够将这些原则及技巧应用到实际工程开发中。
这部分实验主要要求学员独立设计10/100Mbps以太网的SMII接口设计。
FPGA设计常用IP模块使用
FPGA设计常用IP模块,课程主要内容为FPGA设计中常用IP模块的使用(单/双口RAM、DPRAM、FIFO、ROM及串行收发器等)的讲授,使学员在充分理解其结构及工作原理、时序的基础上,能够在实际工程开发中精通其使用。
要求学员独立设计开发一个异步FIFO的IP,并进行综合和仿真,要求全部以可参数化配置来设计。
FPGA设计如何时序约束和优化技巧
深入浅出讲解如何对设计做静态时序分析和做各种约束。
针对实际的项目如何做管脚和时序约束等,并讲解如何通过优化代码和使用工具达到时序优化的目的。这些都是来源于长期工作经验的积累。
FPGA 嵌入式系统NIOS II/MicroBlaze的项目实训学习
第三阶段 FPGA设计项目实训
下面的项目设计均按照一个真实和完整FPGA项目的开发流程,要求学员将前面所学知识融入运用到实际项目开发中,培养学员的团队开发和协同工作能力,强化学员完成标准设计文档能力,为以后的工作打下坚实基础。独立完成设计,包括协议分析、完成详细方案设计文档、RTL代码设计、仿真和综合以及ISE/QUARTUS II布局布线等的设计。
项目:基于FPGA的图像视频处理
项目描述:接收原始图像信号(未压缩编码)BT.656,要求对帧进行适当处理,并存放(写入)到外置Memory中。原因是后续的DSP器件读取数据需要延误时间,因此要求缓存至少8帧的数据。DSP按照一帧一帧来读取,一旦读取出错,要求FPGA做容错处理。该项目其中还涉及到对SDRAM的读写控制处理。
QQ:2631655582
用户437222 2013-4-10 09:41
xucun915_925777961 2013-4-2 18:13