01
FIFO概述
什么是FIFO · 跨时钟域/数据缓冲 · 深度与宽度概念
基础概念
02
FIFO核心接口
写时钟/读时钟 · 写使能/读使能 · 满空标志
接口信号
03
FIFO状态定义
FULL/EMPTY/ALMOST_FULL/ALMOST_EMPTY/NORMAL
状态逻辑
04
状态跳转基础
写操作对状态影响 · 读指针递增 · 读操作影响
指针跳转
05
空满判断原理
指针相等时空/满?格雷码与二进制指针区别
判断格雷码
06
同步FIFO状态机
单时钟域状态跳转 · 状态转移图绘制
同步FSM
07
异步FIFO状态机
双时钟域状态同步 · 两级同步器原理
异步CDC
08
格雷码指针设计
为什么用格雷码? · 二进制互转Verilog实现
格雷码RTL
09
写指针逻辑
写指针递增条件 · 跨时钟域同步
写指针同步
10
读指针逻辑
读指针递增条件 · 跨时钟域同步
读指针同步
11
满标志生成逻辑
写时钟域满判断 · 写指针追上同步读指针
满标志生成
12
空标志生成逻辑
读时钟域空判断 · 读指针追上同步写指针
空标志生成
13
ALMOST_FULL/EMPTY实现
阈值设置 · 比较器设计 · 防误判处理
阈值比较器
14
状态跳转时序图
写操作时序 · 读操作时序 · 同时读写分析
时序波形
15
FIFO深度计算
最坏情况深度需求 · 背压机制与深度关系
深度计算
16
FIFO性能指标
吞吐率 · 延迟 · 最大工作频率
性能指标
17
FIFO复位状态
异步复位与同步释放 · 复位后空标志有效
复位同步释放
18
FIFO边界条件
写满后继续写(溢出) · 读空后继续读(下溢)
边界异常
19
FIFO数据保持
读操作数据保持时间 · 输出寄存器作用
保持寄存器
20
FIFO参数化设计
深度/宽度/阈值可配置 · 通用FIFO
参数化可配置
21
FIFO仿真验证
写满/读空/同时读写/边界测试
仿真验证
22
FIFO综合约束
false_path设置 · max_delay · 时钟域分组
综合约束
23
FIFO面积优化
寄存器堆 vs SRAM · 面积与性能权衡
面积优化
24
FIFO低功耗设计
时钟门控 · 数据使能控制 · 读后清零策略
低功耗门控
25
FIFO常见错误
指针不同步误判 · 格雷码转换错误 · 深度计算错误
错误调试
26
FIFO调试技巧
波形分析 · 断点设置 · 仿真日志打印
调试技巧
27
FIFO与AXI协议
AXI-Stream FIFO · AXI4 FIFO接口适配
AXI协议
28
FIFO与CDC
多比特跨时钟域 · 握手协议与FIFO对比
CDC握手
29
FIFO高级应用
同步FIFO做流水线缓冲 · 异步FIFO数据格式转换
高级应用
30
FIFO实战项目
UART接收缓冲 · 视频数据流处理
实战项目