SoC全栈FPGA实战就业班

从零基础到实战专家的完整学习路径

34 核心章节
4 学习阶段
6-8 周实战项目
20+ 选修项目

完整学习路径

从零基础到实战专家

理论+实践

每个知识点配套实验

前沿技术

AI加速器设计与部署

就业导向

毕业考核+就业指导

为什么选择这门课程

系统化学习路径,理论与实践完美结合

建立硬件逻辑设计思维

对于FPGA初学者,在完全掌握FPGA前,需要通过基础理论和实验上机的方式,建立硬件逻辑设计的思维模式。掌握FPGA的工作原理和设计流程,学会通过Verilog HDL硬件语言描述电路逻辑功能。

FPGA器件有很多,有国外也有国内的企业,每家FPGA都有其不同的功能和特点,但基本的FPGA工作原理是相同的。因此对于入门阶段,掌握基本电路的设计能力才是重点。

  • 掌握FPGA设计核心能力
  • 精通Verilog HDL硬件描述语言
  • 掌握UART、SPI、I²C、HDMI等常用协议
  • 完成DDR、以太网等进阶模块设计
  • 实现AI加速器设计与部署

核心技术栈

Verilog HDL 数字电路 UART/SPI/I²C HDMI接口 DDR3控制器 以太网设计 时序分析 CNN/YOLO部署 Vitis AI 脉动阵列

四阶段循序渐进

从基础入门到实战专家的完整旅程

1

设计入门

1个月

掌握FPGA工作原理、设计流程,Verilog语法基础,组合逻辑与时序逻辑设计,建立硬件逻辑思维。

2

基础设计

1个月

掌握UART、SPI、I²C等通信协议,HDMI显示器接口开发,FPGA内部IP核使用与自定义封装。

3

设计进阶

1个月

深入FPGA内部资源与时序分析,DDR3控制器设计与使用,AXI接口与以太网系统设计。

4

实战项目

6-8周

FPGA深度学习实时视频处理系统,高速视频采集、CNN/YOLO部署、脉动阵列AI加速器设计。

34章节完整知识体系

点击展开查看每章节详细内容

1FPGA器件原理及使用

教学目标
  • 理解FPGA的工作原理
  • 掌握FPGA的设计流程及工具
  • 掌握FPGA的使用流程
内容介绍

FPGA技术简介、类型、应用及主流厂家;FPGA工作原理、工艺结构及特点;FPGA设计流程,包括编译及编译工具使用(Modelsim,VSCode);Xilinx FPGA烧写及下载流程;Debug仿真调试、调试分析及波形查看使用

实验内容

使用Xilinx FPGA工具创建第一个FPGA工程,下载image到FPGA,观察结果,并使用波形调试工具检查内部逻辑信号变化;认识开发板;FPGA开发软件安装;创建第一个FPGA工程

2数字电路基础与Verilog语法

教学目标
  • 认识组合逻辑与时序逻辑
  • 掌握Verilog编程语言
  • 理解状态机的功能
  • 掌握FPGA仿真流程与波形查看
  • 掌握在线逻辑分析仪方法
内容介绍

理解什么是组合逻辑与时序逻辑;Verilog和VHDL的区别;基本语法和结构;逻辑门在FPGA上的实现;组合逻辑电路设计;时序逻辑电路设计;有限状态机(FSM)的概念;Moore和Mealy状态机;状态机设计实例分析;自定向下设计模块例化;FPGA中仿真设计与验证方法;在线逻辑分析调试方法

实验内容

38译码器设计、计数器设计、流水灯设计、按键消抖、花式跑马灯

3FPGA中的常用逻辑电路

教学目标
  • 了解什么是锁存器、触发器、寄存器,理解他们的数字电路图
  • 掌握常见的逻辑电路
  • 熟悉计数器、译码器的应用
内容介绍

锁存器、触发器、寄存器底层逻辑;基础逻辑电路应用:计数器、译码器、存储器;信号边沿检测、奇偶分频电路、同步器

实验内容

结合代码以及数电知识,查看映射的电路网表

4FPGA的实战演练项目

教学目标
  • Vivado自定义IP配置
  • 使用UART IP核接收
  • 使用UART IP核发送
实验内容

通过时序逻辑和IP完成游戏手柄项目;通过按键发送串口信号实现蓝牙钢琴;通过时序自动发送信号完成PC端信号匹配游戏;结合IP核完成对应项目,掌握IP配置,例化操作,时序逻辑设计思路

5FPGA设计实战:PWM

教学目标
  • 掌握PWM的功能定义、结构设计、逻辑设计
  • 通过PWM控制实现呼吸灯
  • 巩固按键消抖功能
实验内容

简单呼吸灯、呼吸跑马灯、按键控制各种灯的模式切换、舵机控制、音频模块设计PWM实现

6数码管显示

教学目标
  • 掌握数码管显示驱动原理
  • 熟悉Verilog代码设计思路
内容介绍

数码管显示原理;74HC595驱动原理及设计;数码管驱动测试;数码管静态显示与动态显示

实验内容

数码管显示数字6;数码管显示数字1234;数码管电子时钟设计

7UART通信协议

教学目标

掌握UART协议RTL设计、性能优化及FPGA系统集成,实现稳定可靠的串口通信系统。

内容介绍

UART协议基础;异步通信机制(起始位/数据位/停止位);波特率与时钟误差容忍度计算;数据帧格式:5~9位数据位、奇偶校验位配置

实验内容

实现9600bps自发自收(回环测试);通过串口实现远程操作舵机

8FPGA内部IP使用

教学目标

掌握基本IP核(PLL/DCM、RAM、ROM、FIFO)的功能、配置和调用

内容介绍

时钟管理单元、乘法器、触发器等;片内缓存/缓冲模块:单双端RAM和ROM、FIFO等;设计同步FIFO、异步FIFO

实验内容

通过FPGA工具配置和生成内部的不同IP核,进行例化和仿真,并阅读产品手册,了解内部IP核的功能和使用方法;IP核之PLL实验、ROM实验、RAM实验、FIFO实验

9自定义IP封装

教学目标

掌握用户定义IP的封装及使用方法

内容介绍

IP核设计概述;设计规范与复用性;Vivado IP封装流程(GUI配置步骤)

实验内容

UART自定义IP封装测试

10SPI通信协议

教学目标

掌握SPI驱动时序图;掌握Flash存储芯片工作原理及使用方法

内容介绍

SPI核心原理(四线制标准、工作模式、性能参数分析);FPGA硬件实现(SPI主机设计、SPI从机设计);SPI Flash控制器

实验内容

SPI主机接口设计;SPI写入OLED

11I²C通信协议

教学目标

掌握I²C驱动时序图;掌握RTC芯片工作原理及使用方法

内容介绍

I²C核心原理(两线制架构、通信速率模式、协议帧结构);FPGA硬件实现(I²C主机设计、I²C从机设计);三态门功能介绍;EEPROM工作原理;EEPROM芯片底层读写驱动开发

实验内容

基于FPGA EEPROM芯片读写控制器

12HDMI接口开发

教学目标

掌握VGA/HDMI图像接口设计;掌握VGA控制时序;掌握HDMI图像接口设计;掌握直流平衡;掌握8B/10B编码原理

内容介绍

HDMI协议栈解析(物理层、数据岛周期);视频时序标准(常用分辨率时序参数、色彩空间);FPGA硬件设计(视频时序生成器VTC、TMDS编码器);1080p60视频发生器设计

实验内容

1080p60视频发生器设计;电脑屏幕采集

13FPGA内部资源介绍

教学目标
  • 掌握CLB,LUT的基本概念和结构
  • 掌握FPGA内部存储资源结构分布
  • 区分不同的布线资源区别
  • 了解FPGA内部时钟IP核的结构以及时钟资源分布情况
内容介绍

FPGA内部逻辑资源介绍;FPGA内部布线资源介绍;FPGA内部时钟结构

14FPGA的时序分析

教学目标
  • 掌握数字电路时序的基本概念
  • 学会数字电路时序报告分析
  • 学会解决时序违例
内容介绍

时序分析相关概念;FPGA时序分析基本模型;时序约束:主时钟与虚拟时钟的约束、衍生时钟约束、I/O接口约束、时序例外约束、多周期约束、虚假路径约束、最大/最小延时约束;时序报告分析;时序违例修复

实验内容

通过FPGA的工具检查路径的时序情况

15DDR及控制器的实现和使用

教学目标
  • 掌握DDR3的工作原理
  • 学会使用DDR3的控制器来存储数据
内容介绍

DDR介绍:基本功能,上电及初始化,寄存器定义,Burst等;DDR3命令详解:Activate、Read、Write、Precharge、Refresh等;DDR3功能详解:ODT模式、Calibration、Write levelling、AC时序等;DDR3控制器及Phy;DDR3控制器的性能;FPGA内部DDR控制器的例化及使用

实验内容

对DDR进行数据读写进行对比测试

16AXI接口在DDR访问中的设计与实验

教学目标
  • 掌握AXI协议中支持DDR高带宽访问的核心规范
  • 学会设计面向DDR的AXI Master与Slave接口
  • 理解AXI接口与DDR时序匹配、带宽需求、缓存一致性的关联逻辑
  • 掌握AXI-DDR交互场景下的功能验证方法与性能分析思路
内容介绍

AXI协议基础回顾(通道分工、握手时序、基本事务类型);AXI协议针对DDR访问的关键特性(突发长度配置,DDR控制器与AXI接口的集成逻辑);AXI Master接口(DDR控制器方向)设计

实验内容

使用AXI接口对DDR进行数据读写进行对比测试

17以太网设计

教学目标
  • 掌握以太网的理论基础
  • 熟悉以太网物理接口
  • 学会使用以太网接口进行数据传输
内容介绍

以太网理论基础;以太网ARP协议;以太网PHY通信接口及时序;MDIO接口读写;TCP/IP协议及UDP协议;系统方案设计;以太网变换电路设计;FPGA系统顶层模块设计;PHY接口模块设计;MAC核心处理模块设计;硬件、软件及系统测试平台准备和结果分析

实验内容

以太网MDIO测试;以太网ARP测试;以太网UDP测试

18高速视频采集与显示基础

教学目标

掌握I2C(SCCB)协议及OV5640高级寄存器配置

内容介绍

学习OV5640的上电时序、时钟要求(XCLK);深入理解常用寄存器(分辨率设置、输出格式RGB565/RAW、色彩控制)

实验内容

编写I2C配置逻辑,通过逻辑分析仪抓取波形,确保成功初始化传感器;通过摄像头采集数据,并显示部分像素在OLED屏幕上

19实时视频ISP基础与Sobel边缘检测

教学目标
  • 掌握图像信号处理(ISP)基本流程
  • 理解Sobel算子的硬件实现原理
  • 实现实时视频流的边缘提取与显示
内容介绍

ISP pipeline:去噪、白平衡、对比度增强等基础模块;Sobel算子的3x3卷积核硬件实现;实时视频流的流水线处理与时序同步

实验内容

在OV5640采集视频流上,实时实现Sobel边缘检测;对比原始视频与边缘检测结果在HDMI上的显示效果;优化流水线时序,保证60fps实时处理

20实时视频滤波与形态学处理

教学目标
  • 掌握高斯滤波、均值滤波的硬件实现
  • 理解形态学操作(膨胀/腐蚀)在图像处理中的应用
  • 实现实时视频的噪声抑制与目标增强
内容介绍

高斯滤波/均值滤波的窗口卷积硬件化;形态学操作的流水线实现;实时视频流的多模块级联与资源优化

实验内容

对采集视频实现实时高斯滤波去噪;叠加形态学操作,实现目标区域轮廓增强;在FPGA上验证处理后视频的清晰度与实时性

21高速缓存与存储管理

教学目标

解决多时钟域下的图像数据实时读写冲突

内容介绍

异步FIFO在视频流中的应用;三帧缓冲(Triple Buffering)逻辑防止画面撕裂;设计多端口仲裁器平衡采集、识别与显示的优先级

实验内容

实现"OV5640->DDR3->HDMI"的完整视频通路,观察高分辨率下的实时显示效果

22DDR3/4高速存储接口设计

教学目标
  • 理解DDR存储器的工作原理与时序约束
  • 掌握Xilinx MIG IP核的使用方法
  • 实现高速视频流到DDR的缓存与读写控制
内容介绍

DDR3/4物理层与协议层原理;MIG IP核配置与接口时序;异步FIFO与DDR的跨时钟域数据交互

实验内容

搭建OV5640→DDR3→HDMI的完整视频通路;实现1080p@30fps视频的DDR缓存与回放;分析带宽利用率与时序性能

23以太网TCP/IP协议硬件实现

教学目标
  • 理解以太网MAC层与TCP/IP协议栈
  • 掌握FPGA端以太网控制器的设计与集成
  • 实现视频/图像数据的高速网络传输
内容介绍

以太网帧结构与MAC控制器;UDP/TCP协议的硬件轻量化实现;AXI-Stream与以太网接口的数据封装

实验内容

在FPGA上实现UDP协议,将处理后的视频帧传输到PC;测试1Gbps带宽下的传输稳定性与延迟;实现简单的图像数据网络上传功能

24SerDes高速串行接口与PCIe基础

教学目标
  • 理解SerDes的串并转换与时钟数据恢复原理
  • 掌握PCIe总线的基本协议与事务层
  • 实现FPGA与主机的PCIe高速数据交互
内容介绍

SerDes物理层原理与高速信号完整性;PCIe事务层、数据链路层与物理层;Xilinx PCIe IP核的配置与使用

实验内容

搭建FPGA与PC的PCIe x4链路;实现高速数据块的DMA传输;对比PCIe与以太网的传输带宽与延迟

25图像预处理与ROI提取

教学目标

视频流预处理算法硬件化;图像二值化与目标定位

内容介绍

掌握数字识别前的图像质量优化技术,实现从复杂背景中提取数字目标;RGB888转灰度(Gray)的移位加速实现;3x3窗口生成逻辑;均值滤波或中值滤波降噪

实验内容

在FPGA上实时实现视频的灰度化和降噪处理,并在HDMI上对比效果;在视频画面中心生成一个采样窗口(框),实时提取框内数字并缩放至固定大小

26卷积神经网络(CNN)加速器实现

教学目标
  • 理解深度学习模型从PC端到FPGA的迁移过程
  • 掌握并行化与流水线的硬件加速核心
内容介绍

使用Python训练手写数字识别模型(LeNet变体);权重量化与偏置项定点化处理;生成COE/MIF文件;多通道卷积核并行计算逻辑;激活函数ReLU的硬件实现;最大池化(Max Pooling)逻辑

实验内容

编写脚本提取Keras/PyTorch权重,并在FPGA ROM中完成数据部署;编写卷积单元Testbench,验证硬件输出与软件仿真结果的一致性

27YOLO轻量化模型的FPGA部署

教学目标
  • 掌握Vitis AI的模型编译与部署流程
  • 理解DPU(深度学习处理单元)的硬件架构
  • 实现多模型的硬件加速与性能优化
内容介绍

Vitis AI模型优化器、编译器与部署器;DPU核心架构与指令集;多任务AI模型的硬件资源调度

实验内容

使用Vitis AI将YOLO模型编译为DPU可执行文件;在FPGA上集成DPU,实现AI推理加速;对比纯软件与硬件加速的推理速度与功耗

28系统集成与综合调试

教学目标

完成从底层硬件到高层算法的系统级联调

内容介绍

将定位后的数字流送入CNN加速器;全连接层(FC)决策逻辑与Softmax简化

实验内容

在HDMI屏幕上实时显示OV5640拍摄的数字,并在屏幕指定位置显示识别结果

29脉动阵列原理与计算映射

教学目标

掌握脉动阵列的计算范式,理解矩阵乘法如何映射到硬件拓扑

内容介绍

冯·诺依曼瓶颈与Memory Wall;空间并行性(Spatial Parallelism)与数据重用;矩阵乘法的三种映射模式:Weight Stationary (WS), Output Stationary (OS), Data Stationary (DS)

实验内容

"纸上脉动"。手动绘制3x3矩阵在OS模式下的数据流转图,记录每个时钟周期数据的位置

30PE(处理单元)的RTL设计

教学目标

设计高性能PE模块,掌握FPGA内部计算资源的调用

内容介绍

乘加单元(MAC)的RTL实现;流水线寄存器的插入位置对时序(Fmax)的影响;如何通过代码推断(Inference)调用Xilinx DSP48E资源

实验内容

PE模块设计与仿真。编写参数化PE模块,并在Vivado中观察综合后的电路图,确认其成功映射到DSP资源

31数据对齐与倾斜逻辑

教学目标

攻克脉动阵列最核心的时序难点——数据对齐

内容介绍

为什么需要倾斜(Skewing):确保数据在PE处"准时相遇";基于移位寄存器(Shift Register)的对齐电路设计;输入延迟链的参数化实现

实验内容

数据预处理模块实现。编写Verilog代码实现矩阵输入的"阶梯状"延迟,通过Testbench验证数据输出波形是否符合对齐要求

32阵列顶层组装与互联

教学目标

学习大型模块的级联方法,掌握generate语句的进阶应用

内容介绍

二维阵列的实例化与连线逻辑;控制信号(如Clear、Enable)的扇出优化;边界PE的特殊处理

实验内容

4x4矩阵乘法器组装。完成顶层模块编写,进行RTL级全功能仿真,对比Verilog输出结果与Python/Matlab计算结果

33存储架构与AXI总线集成

教学目标

实现完整的加速器系统,理解数据搬运对性能的制约

内容介绍

使用BRAM构建输入/输出Buffer;AXI4-Stream接口协议实现;计算与传输重叠(Ping-Pong Buffer)策略

实验内容

软硬协同实验。将阵列封装为AXI IP核,并在Vivado IPI中通过Zynq PS端发送矩阵数据,观察硬件加速效果

FPGA深度学习实时视频处理系统

从视频采集到AI推理的完整系统设计

🎬 实战项目架构

6-8周完整项目,涵盖从底层硬件到AI算法的全栈设计

基础入门层

视频采集与预处理

OV5640摄像头I2C配置与数据采集
实时视频ISP基础与Sobel边缘检测
实时视频滤波与形态学处理
进阶算法层

存储管理与高速接口

高速缓存与三帧缓冲(Triple Buffering)
DDR3/4高速存储接口设计
以太网TCP/IP硬件实现
SerDes高速串行接口与PCIe基础
图像预处理与ROI提取
高阶AI层

AI加速器设计与部署

CNN卷积神经网络加速器实现
YOLO轻量化模型Vitis AI部署
脉动阵列原理与计算映射
PE处理单元RTL设计
系统集成与综合调试

谁适合学习这门课程

从入门到进阶,系统化培养FPGA专业人才

课程优势

  • 完整学习路径:从零基础到实战专家
  • 体系化内容:34章节涵盖FPGA全栈技能
  • 理论与实践:每个知识点配套实验
  • 前沿技术:AI加速器设计与部署
  • 工业级项目:真实视频处理系统开发
  • 就业导向:毕业考核+就业指导

适合人群

  • 电子信息类在校学生
  • 想转入FPGA方向的工程师
  • 需要进阶的FPGA初学者
  • 对AI加速器感兴趣的研究者
  • 想从事硬件加速开发的人员
  • 希望提升薪资待遇的从业者

开启你的FPGA学习之旅

从硬件逻辑到AI加速,成为稀缺技术人才

立即咨询课程详情