01
SPI协议概述
SPI总线起源、四线制信号定义、单主多从拓扑、典型应用场景
传感器存储器显示器
02
SPI时序基础
CPOL/CPHA详解、4种工作模式、采样与输出边沿、空闲电平
Mode0~3时钟极性
03
SPI控制器架构
顶层模块划分、时钟分频、数据移位、状态机、FIFO接口
模块化可配置
04
握手信号定义
req/ack、valid/ready、全握手vs半握手、跨时钟域握手
同步异步
05
状态机设计
IDLE/ACTIVE/WAIT/DONE、转移条件、超时处理
FSM鲁棒性
06
时钟分频设计
偶数/奇数/半整数分频、动态配置、占空比调整
分频器可编程
07
数据移位逻辑
MSB/LSB优先、移位方向、计数器、拼接与截断
移位寄存器位序
08
FIFO接口设计
同步/异步FIFO、空满标志、读写指针、深度配置
缓存格雷码
09
CS片选控制
自动/手动CS、有效电平、去毛刺、多从机切换
片选抗干扰
10
中断机制
传输完成、FIFO空满、错误中断、屏蔽与清除
NVIC实时
11
DMA接口设计
DMA请求、单次/突发传输、完成回调、地址自增
高效批量
12
寄存器编程模型
控制/状态/数据/分频/配置寄存器
MMIO驱动
13
Verilog实现(一)
顶层接口、参数化、generate语句
RTL可综合
14
Verilog实现(二)
状态机RTL、三段式、独热码vs二进制
FSM编码
15
Verilog实现(三)
移位寄存器、时钟分频器、边沿检测
时序边沿
16
Verilog实现(四)
FIFO控制器、空满标志、格雷码指针同步
FIFOCDC
17
仿真验证(一)
Testbench结构、时钟/复位、从机模型
仿真模型
18
仿真验证(二)
功能用例、边界条件、随机测试
覆盖率随机
19
仿真验证(三)
波形调试、断言检查、覆盖率分析
断言调试
20
时序约束
输入/输出延迟、异步约束、false_path/multicycle
SDCSTA
21
综合与实现
DC脚本、面积/速度权衡、门级仿真、形式验证
综合门级
22
低功耗设计
时钟门控、数据门控、状态机低功耗、多电压域
UPF功耗
23
可测性设计
扫描链、MBIST、边界扫描、测试模式
DFT扫描
24
多从机仲裁
菊花链、独立CS、地址译码、总线竞争避免
仲裁拓扑
25
高速SPI设计
DDR模式、双倍数据速率、源同步、眼图分析
高速DDR
26
SPI与APB桥接
APB协议、地址译码、读写映射、等待周期
APB桥接
27
SPI与AHB桥接
AHB协议、流水线、burst、split传输
AHB高性能
28
FPGA原型验证
FPGA选型、资源评估、管脚分配、上板调试
FPGA原型
29
常见问题与调试
数据错位、时钟毛刺、FIFO溢出、时序违例
debug实战
30
项目实战
SPI Flash/LCD/传感器控制器设计
FlashLCD传感器