FPGA开发工程师、硬件加速工程师、数字电路设计人员、需要掌握FPGA完整开发流程的研发人员。
理解FPGA的基本结构、工作原理与开发流程。
掌握硬件描述语言(Verilog/VHDL)的RTL级设计方法。
能够独立完成典型FPGA项目(接口控制、信号处理)的开发与调试。
FPGA技术概述:FPGA的发展历程与技术特点;FPGA与CPLD、ASIC的对比;主流FPGA厂商(Xilinx/AMD、Altera/Intel、Lattice、Microchip)产品线介绍;FPGA的应用领域(通信、工业、汽车、数据中心)。
FPGA基本结构:可配置逻辑块(CLB/LAB)的组成(LUT、触发器、进位链);块内存(Block RAM)的容量与配置;DSP切片的功能(乘法器、累加器);I/O单元与可编程I/O标准;时钟管理单元(PLL、MMCM);高速收发器(SerDes)。
开发环境与流程:Vivado/Quartus Prime软件界面与功能;FPGA开发完整流程(设计输入→综合→实现→比特流生成→下载调试);项目管理与IP核集成。
硬件描述语言Verilog基础:Verilog语法要素(模块、端口、数据类型、操作符);数据流建模(assign语句);行为级建模(always语句);结构化建模(模块实例化)。
组合逻辑设计:基本逻辑门电路的Verilog描述;多路选择器、加法器、比较器的实现;编码器、译码器的设计;三态门的描述。
时序逻辑设计:触发器的描述(同步复位、异步复位);寄存器的实现;计数器的设计;分频电路的设计;有限状态机(FSM)的建模(Moore型、Mealy型)。
同步设计与时序概念:同步设计的优势;建立时间(Setup Time)与保持时间(Hold Time);时钟偏斜(Clock Skew)与时钟抖动(Clock Jitter);亚稳态的产生与避免;单比特信号的跨时钟域处理(两级同步器)。
IP核应用:IP核的类型(硬核、软核、固核);时钟管理IP(PLL、MMCM)的配置;块内存IP(BRAM)的生成与使用;DSP IP的使用;IP核的例化与集成。
仿真与验证:测试平台(Testbench)的编写;仿真波形分析;功能仿真与时序仿真的区别;覆盖率分析;断言(Assertion)验证基础。
时序约束与收敛:时序约束的作用;主时钟(create_clock)的约束;输入/输出延迟(set_input_delay/set_output_delay)的约束;时序例外(set_false_path、set_multicycle_path)的设置;时序报告的分析与时序收敛优化。
调试技术:片上逻辑分析仪(ILA/ChipScope)的使用;调试核的插入与触发条件设置;信号采集与分析;与逻辑分析仪的联调。
综合实战项目:典型FPGA设计项目(如UART/SPI/I2C接口控制器、PWM发生器、简易DDS信号源)的完整开发流程,包含代码编写、仿真验证、时序约束、板级调试。