可编程逻辑设计快速上手手册

📚 共计 30 章节
01
数字电路基础回顾
从晶体管到逻辑门,组合逻辑与时序逻辑的区别,同步设计的基本概念。
基础组合逻辑
02
FPGA架构初探
FPGA内部结构(LUT、FF、BRAM、DSP、IO),主流厂商芯片系列概览。
架构Xilinx/Intel
03
开发环境搭建
Vivado/Quartus安装指南,License配置,第一个LED闪烁工程。
工具入门
04
Verilog语法基础(一)
模块结构、端口定义、assign语句、常用运算符(算术、逻辑、位运算)。
语法assign
05
Verilog语法基础(二)
always块、阻塞赋值与非阻塞赋值、reg与wire类型、敏感列表。
时序阻塞/非阻塞
06
组合逻辑设计
多路选择器、译码器、加法器、比较器的Verilog实现,代码风格。
组合可读性
07
时序逻辑设计
触发器、寄存器、计数器、分频器,同步复位与异步复位区别。
时序复位
08
状态机设计
Moore机与Mealy机,三段式写法,状态编码(二进制、格雷码、独热码)。
FSM编码
09
仿真与测试
Testbench编写,$display/$monitor,波形查看,仿真时间尺度。
仿真Testbench
10
常用IP核使用
Clocking Wizard、Block Memory Generator、FIFO Generator。
IPBRAM
11
时序约束入门
create_clock、set_input/output_delay,时序报告解读,违例修复。
约束时序
12
跨时钟域处理
单bit同步器(双级触发器),多bit同步(异步FIFO),握手协议。
CDC异步FIFO
13
接口协议(一)UART
UART协议,发送与接收模块设计,波特率发生器。
UART串口
14
接口协议(二)SPI
SPI主从模式,CPOL/CPHA配置,Flash读写实例。
SPIFlash
15
接口协议(三)I2C
起始/停止条件,应答机制,EEPROM读写实例。
I2CEEPROM
16
存储器设计
单口RAM、双口RAM、ROM的Verilog实现,BRAM推断与例化。
RAMBRAM
17
数字信号处理基础
流水线设计,并行处理,资源共享,面积与速度权衡。
DSP流水线
18
FIR滤波器设计
直接型FIR结构,系数生成,Verilog实现与仿真验证。
FIR滤波器
19
CORDIC算法实现
旋转模式与向量模式,计算sin/cos/atan,硬件实现技巧。
CORDIC三角函数
20
图像处理基础
VGA时序,像素生成,简单的图像缩放与灰度转换。
VGA图像
21
AXI4-Lite总线
握手信号,读写事务,从机接口实现,与Vivado IP集成。
AXI4-Lite总线
22
AXI4-Stream总线
TVALID/TREADY握手,数据包传输,FIFO接口适配。
AXI4-Stream
23
MicroBlaze软核
搭建最小系统,GPIO/UART外设,C语言与硬件协同。
MicroBlaze软核
24
HLS入门
Vivado HLS工具使用,C/C++综合为RTL,接口综合,优化指令。
HLSC综合
25
时序收敛实战
关键路径分析,重定时(Retiming),逻辑复制,寄存器插入。
时序收敛优化
26
低功耗设计
时钟门控,操作数隔离,多电压域,Power Analysis工具使用。
低功耗门控
27
可测试性设计
扫描链,BIST(内建自测试),JTAG边界扫描。
DFTJTAG
28
FPGA调试技巧
ChipScope/ILA使用,触发条件设置,深存储分析。
调试ILA
29
项目实战(一)
简易逻辑分析仪,基于FPGA的数据采集与显示。
项目逻辑分析仪
30
项目实战(二)
RISC-V处理器最小核,五级流水线(取指、译码、执行、访存、写回)。
RISC-V流水线