01
FPGA入门
什么是FPGA · 与CPU/GPU区别 · 应用领域 · 开发流程概览
概念导论
02
数字电路基础回顾
二进制与逻辑电平 · 基本逻辑门 · 组合与时序逻辑 · 触发器与寄存器
基础电路
03
Verilog基础(一)
模块与端口 · assign语句 · wire/reg · always块基础
语法建模
04
Verilog基础(二)
阻塞与非阻塞赋值 · if-else/case · for/generate · 任务与函数
语法进阶
05
组合逻辑设计
加法器 · 多路选择器 · 译码器 · 编码器 · 三态门
组合电路
06
时序逻辑设计
D触发器 · 计数器 · 分频器 · 移位寄存器 · 状态机基础
时序寄存器
07
有限状态机(FSM)
Moore/Mealy · 三段式写法 · 状态编码 · 序列检测器
FSM实战
08
Vivado开发环境
安装许可 · 创建工程 · 添加源文件 · RTL分析 · 综合实现
工具Vivado
09
仿真基础
Testbench结构 · initial/always · $display/$monitor · 波形查看
仿真调试
10
ModelSim/QuestaSim仿真
独立仿真工具 · 编译库 · 运行仿真 · 调试技巧
仿真ModelSim
11
IP核使用
Vivado IP Catalog · 时钟IP(MMCM/PLL) · Block Memory · 例化配置
IP时钟
12
约束文件(XDC)
时钟约束 · 输入输出延迟 · 时序例外(false_path/multicycle) · 管脚分配
约束时序
13
时序分析入门
建立/保持时间 · 时序路径类型 · Slack概念 · 时序报告
时序分析
14
开发板入门
Artix-7/Kintex-7 · LED · 按键 · 拨码开关 · 数码管
硬件外设
15
实战项目一:流水灯
原理图→上板 · PLL时钟 · 计数器分频 · LED驱动 · 管脚约束
实战LED
16
实战项目二:按键消抖
机械抖动原理 · 延时采样 · 状态机消抖 · 上板验证
实战按键
17
实战项目三:数码管驱动
静态/动态扫描 · 段选位选 · 刷新频率 · 多位数码管
实战显示
18
实战项目四:UART串口
UART协议 · 波特率发生器 · 发送/接收模块 · 回环测试
实战通信
19
实战项目五:SPI通信
SPI模式0-3 · 主设备设计 · Flash读取 · 逻辑分析仪调试
实战SPI
20
实战项目六:I2C通信
I2C协议(起始/停止/应答) · 主设备设计 · EEPROM读写
实战I2C
21
实战项目七:VGA显示
VGA时序 · 行场同步 · 彩条显示 · 字符显示
实战VGA
22
实战项目八:HDMI显示
HDMI简介 · TMDS编码 · DVI/HDMI接口 · IP核输出HDMI
实战HDMI
23
实战项目九:DDS信号发生器
DDS原理 · 相位累加器 · ROM波形 · 正弦/方波/三角波
实战DDS
24
实战项目十:数字滤波器
FIR原理 · 系数生成 · MAC结构 · 仿真验证
实战滤波器
25
实战项目十一:简易CPU
指令集 · 取指/译码/执行 · ALU · 寄存器堆 · 单周期CPU
实战CPU
26
实战项目十二:SDRAM控制器
SDRAM初始化 · 刷新 · 读写 · 状态机 · 仿真验证
实战SDRAM
27
高级技巧:跨时钟域处理
单比特同步器 · 双锁存器 · 异步FIFO · 格雷码
高级CDC
28
高级技巧:面积与速度优化
流水线 · 资源共享 · 逻辑复制 · 寄存器平衡
高级优化
29
调试与验证
ILA · VIO · ChipScope · 常见bug排查
调试ILA
30
项目总结与进阶方向
学习路线图 · 开源项目(PULP/LiteX) · 求职面试 · HLS/AI加速
总结进阶