适用人群:本科及其以上学历,理工科相关专业
专为本科及以上理工科背景学习者打造,260小时精品内容沉淀10年行业经验,覆盖FPGA开发全核心领域,是求职敲门、职场进阶的硬核充电站。
从基础原理到工程落地,课程打通「理论-仿真-实现-优化」全链路:你将亲手完成信号采集存储系统搭建,掌握高速接口协议底层逻辑,精通多场景视频处理与接口驱动开发,还能接触AI算法硬件加速等前沿方向。
每一个项目都源自工业级真实需求——小到时序约束调试,大到复杂系统集成,全程还原企业开发流程。无论你是求职季急需项目背书的应届生,还是刚入职想快速跟上团队节奏的新工程师,都能通过高密度实战,构建完整的FPGA技术体系,积累可写入简历的硬核项目经历,真正实现从“会用工具”到“能解决问题”的能力跃迁。
初级阶段课程内容
📂 模块分类(初级阶段) | 🔢 课节 | 📝 课程主题 | 💡 核心技能/知识点 | 🏷️ 项目归属 |
🛠️ 环境与基础 | 1 | VIVADO & Modelsim 开发工具安装 | 开发环境搭建、仿真流程 | 基础训练 |
2 | Sublime 软件安装 | 代码编辑器配置 | ||
3 | Verilog 书写基本格式和硬件概念 | 模块结构、always块、硬件思维 | ||
4 | Verilog 可综合变量类型 | reg/wire区别、数据类型规范 | ||
5 | 赋值语句 | 阻塞(=)与非阻塞(<=)赋值 | ||
6 | Verilog 中数值表示 | 进制表示、位宽定义 | ||
7 | Verilog 中运算符 | 逻辑、算术、位操作符 | ||
8 | 条件判断语句 | if-else, case语句用法 | ||
⚙️ 核心逻辑设计 | 9 | 时钟分频 | 计数器分频原理 | |
10 | 模块 Top-down 设计 | 自顶向下设计方法论 | ||
11 | 有限状态机 (FSM) | 三段式写法、状态跳转 | ||
12 | 按键消抖 | 机械抖动处理、定时器消抖 | ||
13 | 实验: 按键模拟控制售货机 | 状态机综合应用 | ||
🧠 IP核与通信 | 14 | 调用 PLL IP 核时钟分倍频 | 时钟管理、PLL配置 | |
15 | 调用 RAM IP 核完成读写乒乓操作 | 存储器管理、乒乓缓冲架构 | ||
16 | 异步串口通信 (UART) | 亚稳态处理、异步复位同步化 | ||
17 | SPI 接口 DAC 控制器 | 串行协议时序、数模转换 | 振动采集项目 | |
18 | SPI 接口 ADC 控制器 | 传感器数据读取、振动信号采集 | ||
🌊 高速流处理 | 19 | 双 FIFO 流水线操作 | 跨时钟域、数据流缓冲 | 内窥镜项目 |
📹 MIPI 视频显示 | 20 | MIPI DSI 基本原理与 TX IP 建立 | 显示接口协议、IP核配置 | |
21 | 使用 DSI TX IP 驱动 LCD 显示屏 | 屏幕初始化、时序控制 | ||
22 | DSI 显示串口更新图标 | 动态UI刷新、OSD技术 | ||
📷 MIPI 图像采集 | 23 | MIPI CSI 原理介绍 | 摄像头接口协议、数据包结构 | |
24 | SCCB 协议驱动实现 | 摄像头寄存器配置 (I2C变种) | ||
25 | CSI 解析接受图像数据 | 数据解包、行场同步提取 | ||
26 | 联调: MIPI CSI 2 DSI 图像采集显示 | 采显链路打通 | ||
🎨 图像算法加速 | 27 | Sobel 图像边缘检测 | 卷积运算、梯度计算 | |
28 | RAW8 灰度转伪彩色视频显示 | 色彩映射表 (LUT) 应用 | ||
29 | 图像增强:直方图均衡化 | 统计直方图、对比度增强 | ||
30 | 架构: 基于 FIFO 流水线的卷积加速器 | 3x3 卷积核流水线设计 | ||
🔗 综合系统实战 | 31 | 基于 APB 总线的 UART 控制器设计 | 总线协议、寄存器映射 | |
32 | DSI 驱动 LCD 显示屏 (进阶) | 复杂时序优化 | ||
33 | UART 传输图像帧至 DSI 显示 | 低速控高速、帧缓存管理 | ||
34 | 全流程: CSI 采集 -> DSI 显示 | 完整视频链路验证 | ||
35 | 算法: Sobel 边缘检测实战 | 实时视频流处理 | ||
36 | 算法: 伪彩色图像处理实战 | 医疗/工业视觉增强 | ||
37 | 算法: 直方图均衡化实战 | 低照度图像增强 |
中级阶段课程内容
📂 模块分类(中级阶段) | 🔢 课节 | 📝 课程主题 | 💡 核心技能/知识点 | 🏷️ 项目归属 |
🧠 ZYNQ ARM 裸机开发 (课节 1-7) | 1 | VIVADO 安装与 ZYNQ 芯片前景 | Zynq 架构解析、7000/MPSoC 选型 | ARM 裸机训练 |
2 | Zynq 开发储备与 C 语言基础 | 嵌入式 C 编程、指针与内存管理 | ||
3 | PS 端驱动:C 接口温度传感器 | GPIO 输入、I2C/SMBus 协议驱动 | ||
4 | 驱动 GPIO 与中断模式开发 | 外部中断配置、ISR 中断服务程序 | ||
5 | 双核 AMP 非对称架构开发 | Core0/Core1 任务分配、共享内存通信 | ||
6 | PL-PS 确定时中断系统 | 定时器外设、PL 触发 PS 中断机制 | ||
7 | UART 中断与 AXI-Lite 自定义 IP | 中断型串口、AXI-Lite 总线协议、IP 封装 | ||
📷 工业相机 ISP 处理 (课节 8-17) | 8 | PS 端 SPI 驱动 IMX222 寄存器 | 摄像头初始化、Sensor 配置时序 | IMX222 工业相机 |
9 | 索尼 IMX222 1080P 图像解析 | MIPI/LVDS 数据解包、行场同步 | ||
10 | 拜耳 (Bayer) 转 RGB 图像格式 | 去马赛克算法 (Demosaic)、色彩插值 | ||
11 | HP1 口 AXI 时序写 DMA (1080P) | AXI-Full 协议、高带宽写入、视频流缓存 | ||
12 | HP 口 AXI 时序读 DMA (1080P) | 零拷贝读取、DDR 到 PL 数据搬运 | ||
13 | TMDS 电平实现 HDMI 发送器 | TMDS 编码、HDMI 时序生成、物理层驱动 | ||
14 | 双 Buffer 视频帧同步防撕裂 | 帧缓冲切换机制、VSYNC 同步策略 | ||
15 | 白平衡算法 (White Balance) RTL 实现 | 灰度世界算法、增益调节硬件加速 | ||
16 | SD 卡 BMP 图像拍照存储 | FATFS 文件系统、BMP 格式封装、SDIO 驱动 | ||
17 | 综合: 完整 ISP 图像处理链路 | 采集->ISP->显示->存储全流程 | ||
🌐 TCP/IP 网络视频传输 (课节 18-19) | 18 | LWIP 协议栈搭建 (Server/Client) | Socket 编程、TCP 三次握手、数据包解析 | 千兆网热像仪 |
19 | TCP 视频流解析 + AXI-DMA + HDMI | 网络包重组、DMA 零拷贝传输、实时显示 | ||
注 | 原大纲19项提及ACP-DMA数据源 | ACP 端口优化、算法数据预加载 | ||
📡 信号处理算法 (DDC/DUC) (课节 20-22) | 20 | DDS 原理、IP 核与混频操作 | 直接数字频率合成、正交混频 (IQ) | 信号滤波处理 |
21 | FIR 滤波器原理与 IP 核应用 | 抽头系数计算、带外信号滤除、窗函数 | ||
22 | FFT IP 核与频谱分析实战 | 快速傅里叶变换、频域检测、功率谱计算 |
高级阶段课程内容
📂 模块分类(高级阶段) | 🔢 课节 | 📝 课程主题 | 💡 核心技能/知识点 | 🏷️ 项目归属 |
💾 DDR3 高速存储控制 (课节 1-8) | 1 | 基于 A7 的 DDR3 SDRAM IP 核调用 | MIG IP 核配置、时钟架构 | DDR3 控制器训练 |
2 | DDR3 SDRAM IP 核初始化流程 | 初始化序列、校准过程 (Calibration) | ||
3 | DDR3 写操作实现 | 写命令时序、数据掩码 (DM) | ||
4 | DDR3 读操作与仲裁机制 | 读命令时序、读写优先级仲裁 | ||
5 | 外围 FIFO 接口控制器设计 | 跨时钟域缓冲、用户逻辑对接 | ||
6 | 用户端读写控制逻辑封装 | 简易 DDR 控制器 API 设计 | ||
7 | DDR3 与 HDMI 联合显示架构 | 视频帧缓存 (Frame Buffer) 管理 | ||
8 | 综合: UART+DDR3+HDMI 图片显示 | 低速控高速、大容量图像缓存显示 | ||
🌐 千兆以太网 (RGMII) (课节 9-14) | 9 | RGMII 接口与 IDDR 原语应用 | 双倍数据率采样、PHY 芯片对接 | 太阳光斑模拟 |
10 | 数据接收 FIFO、CRC 校验与过滤 | 以太网帧解析、错误包丢弃 | ||
11 | 数据流存储与 Matlab 视频转换 | 协议栈数据提取、Matlab 仿真源生成 | ||
12 | 发送链路:定时器与心跳帧组建 | 链路保活机制、定时触发逻辑 | ||
13 | 发送链路:IP 与 UDP 校验和计算 | 协议头封装、Checksum 硬件加速 | ||
14 | 发送链路:CRC 模块与 ODDR 实现 | 帧尾校验、双倍数据率发送 | ||
⏱️ 时序分析与收敛 (课节 15-19) | 15 | 时序分析理论基础 | 建立/保持时间、静态时序分析 (STA) | 时序优化实战 |
16 | IO 接口时序分析原理 | 输入/输出延迟、外部器件约束 | ||
17 | 时钟约束详解 | 生成/虚拟/基准时钟、多周期/假路径 | ||
18 | 源同步与延时约束调试 | INPUT/OUTPUT DELAY、源同步对齐 | ||
19 | 布局布线与系统优化收敛 | 关键路径优化、拥塞解决、P&R 策略 | ||
🚀 PCIe 高速传输 (RIFFA) (课节 20-26) | 20 | PCIe Endpoint 通信框架:RIFFA 简介 | RIFFA 架构优势、通道模型 | PCIe 视频采集 |
21 | TLP 包封包与解包原理 | 事务层数据包结构、Header 解析 | ||
22 | 基于 PCIe IP 核与 RIFFA 搭建工程 | 工程模板创建、基础通信验证 | ||
23 | Channel 通道时序与驱动 API | 握手时序、Linux/Windows 驱动调用 | ||
24 | FPGA 端配置数据接收开发 | 寄存器配置下发、控制流处理 | ||
25 | 应用: 截屏与 PCIE 传输上位机 | 桌面捕获、高速数据上传 PC | ||
26 | Vivado 程序固化 FLASH 方法 | Bootloader、非易失性存储配置 | ||
⚡ XDMA 与超高速接口 (课节 27-30) | 27 | XDMA 框架开发与 PCIe 应用 | Xilinx DMA 引擎、SG-DMA 模式 | 全彩屏视频源 |
28 | XDMA + AXI 读时序联动 HDMI 显示 | 零拷贝显示、高带宽视频流 | ||
29 | Xilinx 高速接口构成原理 | GT/GTH 收发器架构、PMA/PCS 层 | ||
30 | Aurora 8b/10b 协议应用 | 点对点高速串行通信、编码解码 |
JESD204B专题课程内容
📂 模块分类(JESD204B课程) | 🔢 课节 | 📝 课程主题 | 💡 核心技能/知识点 | 🏷️ 项目归属 |
📘 协议原理与架构 (理论基石) | 1 | JESD204B 标准发展与架构组成 | 版本演进 (Subclass 0/1/2)、分层架构 (TL/LL/PH) | 高速信号采集回放系统 |
2 | 物理层建立、配置与组成原理 | SerDes 链路、8b/10b 编码、Lane 映射、控制字符 | ||
⚙️ 链路与同步机制 (核心难点) | 3 | 接口建立同步流程与仿真环境搭建 | CGS/ILAS 状态机、多器件同步、Testbench 构建 | |
4 | 参考时钟与 SYSREF 解决方案 | LMK04828 时钟树设计、SYSREF 对齐、确定性延迟 | ||
📻 射频系统实战 (综合应用) | 5 | AD9371 射频信号采集回放方案 | 宽带收发器架构、JESD204B 接口配置、IQ 数据流 | |
6 | 实战: OFDM 调制发射与频谱 Logo 显示 | 数字上变频 (DUC)、OFDM 调制算法、频谱可视化 |
PCIE专题课程内容
📂 模块分类(PCIE课程) | 🔢 课节 | 📝 课程主题 | 💡 核心技能/知识点 | 🏷️ 项目归属 |
📘 协议基础与架构 (原理篇) | 1 | PCIe 硬核开发前菜与应用场景 | 枚举过程解析、典型应用场景、系统识别机制 | 从零设计 PCIe DMA 控制器 |
2 | Type0 配置空间与 IP 核配置 | 配置空间寄存器详解、IP 核参数映射、BAR 空间定义 | ||
3 | 构建基础 PCIe 工程 (Integrated Block) | Xilinx PCIe IP 核实例化、时钟复位架构、管脚约束 | ||
⚙️ RTL 核心:接收链路 (数据通路) | 4 | Rx Stream 接口信号与包结构 | 128bit 数据流、SOF/EOF 标志、TLP 包结构划分 | |
5 | 数据包重新对齐 (Re-alignment) | 跨周期数据拼接、边界对齐逻辑、状态机设计 | ||
6 | TLP 拆包解析与路由分类 | Mwr/Mrd/Cpld 包识别、传输层协议解析、路由逻辑 | ||
7 | 核心: BAR 操作引擎 (BAR to AXI-Lite) | Mwr→AXI Write, Mrd→AXI Read、CPLD 组包、寄存器映射 | ||
💾 RTL 核心:Block DMA (基础 DMA) | 8 | Block DMA 原理与寄存器定义 | 连续内存传输模型、C2H/H2C 流程架构、控制寄存器 | |
9 | C2H 流程:FPGA 写主机内存 | 地址生成、数据打包、TLP 发送时序 | ||
10 | H2C 流程:FPGA 读主机内存 | 读请求发起、流量控制 (Flow Control)、信用度管理 | ||
11 | 进阶: TAG 乱序重排算法 | Tag 匹配机制、乱序 Completion 处理、重排序缓冲区 | ||
12 | 中断消息队列设计 (MSI/MSI-X) | 中断向量映射、队列缓冲、C2H 完成通知机制 | ||
13 | TLP 组包引擎 (Mwr/Mrd) | 包头构建、长度计算、校验和生成、多通道仲裁 | ||
🐧 Linux 驱动开发 (软件篇) | 14 | Linux 内核模块与字符驱动框架 | module_init, file_operations, 用户空间交互 API | |
15 | Block DMA 驱动:探测与中断注册 | fpga_probe, 中断回调函数、资源映射 | ||
16 | C2H/H2C 驱动 API 与时序对接 | 环形缓冲区管理、Doorbell 机制、软硬协同时序 | ||
17 | 大页内存 (Huge Pages) 预留与配置 | 避免 TLB Miss、DMA 连续物理内存分配、dma_alloc_coherent | ||
🔗 高级特性:SG-DMA (高阶 DMA) | 18 | Scatter-Gather DMA 原理与架构 | 分散 - 聚集传输模型、SG List 结构、非连续内存优化 | |
19 | SG List 获取与下发机制 (C2H/H2C) | 描述符解析、链表遍历、硬件自动抓取逻辑 | ||
20 | SG-DMA 中断队列扩展 | 支持 SG 模式的中断状态更新、多描述符完成处理 | ||
21 | SG-DMA 驱动程序设计 | sg_h2c/sg_c2h 专用驱动函数、复杂场景测试 | ||
🛠️ 系统联调与应用 (实战篇) | 22 | 应用软件设计与 QT 界面开发 | Data Mover 逻辑、Wave Generator、上位机打包部署 | |
23 | 典型应用案例与简历优化指导 | 性能测试 (带宽/延迟)、项目亮点提炼、面试技巧 | ||
24 | 综合验收: 全功能 DMA 控制器验证 | 双向高速传输、压力测试、稳定性验证 |
USB3.0专题课程内容
📂 模块分类 (USB3.0课程) | 🔢 课节 | 📝 课程主题 | 💡 核心技能/知识点 | 🏷️ 项目归属 |
🔌 硬件架构与固件开发 (固件基石) | 1 | FPGA+FX3 USB3.0 开发概览 | CYUSB FX3 架构解析、GPIF II 接口原理、系统拓扑 | USB3.0 高速信号采集系统 |
2 | GPIF Designer 配置与框架搭建 | State Machine 设计、时序约束、Socket 映射 | ||
3 | FX3 SDK 固件生成与编译 | 固件工程结构、API 调用、编译烧录流程 | ||
4 | 核心: 同步从 FIFO 模式驱动收发 | GPIF II 四通道配置、FPGA 端状态机对接、流控机制 | ||
5 | 上板验证与极限速度测试 | USB3.0 枚举调试、带宽压力测试、稳定性分析 | ||
📡 FPGA 高速采集逻辑 (数据通路) | 6 | 16 通道采集卡协议定义 | 多通道数据交织、帧头帧尾定义、命令交互协议 | |
7 | FPGA 设计框架与 4 通道 ADC 子卡 | 模块化设计思想、子卡接口标准、时钟分配 | ||
8 | IEPE 传感器调理与 ADC 驱动 | 模拟前端特性、ADC 时序控制、多通道同步采样 | ||
9 | 参数配置模块读写更新 | 寄存器映射、动态参数调整、原子操作保护 | ||
10 | 核心: DDR3 缓存与数据上传链路 | 大数据量 FIFO 缓冲、DDR3 控制器对接、零拷贝上传 | ||
💻 驱动开发与 API 封装 (中间件层) | 11 | 基于 libusb 编写 DLL 驱动 API 库 | libusb 跨平台通信、异步传输、C/C++ 接口封装 | |
注 | 构建用户态驱动桥梁 | 设备句柄管理、缓冲区管理、错误处理机制 | ||
🖥️ 上位机应用开发 (应用终端) | 12 | QT 上位机设计与实战手册 | UI 界面布局、多线程数据渲染、实时波形显示 | |
注 | 完整软件交付 | 信号处理算法集成、文件存储、用户交互逻辑 |
时序分析专题课程内容
📂 模块分类(时序分析课程) | 🔢 课节 | 📝 课程主题 | 💡 核心技能/知识点 | 🏷️ 项目归属 |
⚡ 单沿源同步接口实战 (基础攻坚) | 1 | 案例: CYCUSB3014 USB3.0 接口时序优化 | 延迟参数获取:PCB 盲估经验 vs 实测数据 | 高阶时序分析收敛实战 |
解决高速接口在资源紧张下的时序违例 | • 芯片特性与原语组合技巧 | |||
🔄 双沿源同步接口实战 (进阶攻坚) | 2 | 案例: AD9361 (LVDS DDR) & AD9253 多速率接口 | 多速率场景:2:1 (AD9361) 与 8:1 (AD9523/AD9253) 串并比约束 | |
攻克 DDR 采样与多芯片协同的时序难题 | • U+ 系列芯片 LVDS 接口参数提取 | |||
🏗️ 中规模系统级收敛 (系统优化) | 3 | 案例: XC7K020 (70% 资源占用) 全项目收敛 | 全局梳理:同步/异步时钟域划分、CDC 约束策略 | |
掌握从 RTL 代码层面解决时序问题的核心技法 | • 综合工具局限性分析与人工干预 | |||
🚀 超大规模芯片攻坚 (挑战) | 4 | 案例: VU13P (>50% 资源占用) ***收敛 | 拥塞分析:超大资源布线拥塞成因与解决策略 | |
解决 UltraScale 架构下的跨 Die 传输与全局拥塞 | • 多 Die 芯片 (SLR) 时序特性理解 |
序号 | 项目名称 |
1 | Xilinx 7 系列芯片万兆以太网子系统搭建 |
2 | Xilinx 高速接口线速率 QPLL 和 CPLL 结构参数配置讲解 |
3 | Xilinx 高速接口 64b66b 编码规则协议讲解与实现(非 aurora64b66b IP)- 手写代码实现 |
4 | 高速接口中 Serdes 中 gearbox 的使用并实现搜索同步算法完成对高速接口串流的同步跟踪 |
5 | Xilinx SRIO 高速接口 IP 基本原理讲解 |
6 | 联合上位机实现以及高级课程中 PCIE 驱动代码结合 SRIO 的数据读写交互,实现上位机软件控制 SRIO 数据传输和采集 |
更新课程内容:
序号 | 项目名称 |
1 | 数字 IC 前端工具环境搭建 VCS、Verdi、Spyglass、Vivado 等 |
2 | Verilog 的基本运算符号、判断语句以及使用 Shell 脚本来对 VCS 工具的命令控制 |
3 | Ram/Rom 在 IC 设计中使用 memory compiler 生成规则和手写 RTL 实现 RAM ROM 规则,以及对比和 FPGA 的结构区别 |
4 | 异步 fifo 控制器的设计(此 fifo 控制器设计已成功流片使用) |
5 | 基于 fifo 流水线结构的卷积加速器设计(示例一个 3x3 卷积核流水线) |
6 | 基于 APB 总线的 UART 控制器设计 |

复制产品链接
长按图片保存/分享