首页
›
芯片设计与FPGA
›
006-FIFO缓存
›
《FIFO设计代码规范实战》
VIP20
本课程属于:006-FIFO缓存
芯片设计与FPGA · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
FIFO设计代码规范实战
📚 共计 30 章节
01
FIFO基础概念
同步FIFO与异步FIFO的区别 · 常见应用场景(跨时钟域、数据缓冲)
基础
概念
02
FIFO接口规范
标准端口定义 · 参数化设计 (DATA_WIDTH, ADDR_WIDTH, FIFO_DEPTH)
接口
参数化
03
同步FIFO架构设计
双端口RAM + 读写指针 + 空满判断逻辑的经典架构
架构
同步
04
同步FIFO空满判断
指针相等判空 · 指针差值为深度判满 · 格雷码指针判空满
空满
格雷码
05
同步FIFO代码实现 (一)
模块声明 · 参数定义 · 端口列表 · 内部信号声明
代码
实现
06
同步FIFO代码实现 (二)
写指针逻辑 (wr_ptr递增, 满时停止写) · 读指针逻辑 (rd_ptr递增, 空时停止读)
指针
控制
07
同步FIFO代码实现 (三)
双端口RAM例化 · 写数据与读数据通路
RAM
数据通路
08
同步FIFO代码实现 (四)
空满标志生成逻辑 (组合逻辑 vs 时序逻辑)
标志
组合/时序
09
同步FIFO代码规范检查
命名规范(下划线命名法) · 注释规范 · 代码对齐与缩进
规范
风格
10
同步FIFO仿真验证 (一)
Testbench结构 · 时钟与复位生成 · 写/读操作激励
仿真
Testbench
11
同步FIFO仿真验证 (二)
功能测试用例 (写满读空, 边写边读, 边界条件) · 波形检查要点
测试
波形
12
异步FIFO核心挑战
亚稳态问题 · 跨时钟域同步策略 (双级触发器同步)
异步
亚稳态
13
异步FIFO架构设计
双端口RAM + 双时钟域读写指针 + 格雷码转换 + 同步器
架构
双时钟
14
格雷码原理
二进制转格雷码 · 格雷码转二进制 · 相邻唯一性特性
格雷码
编码
15
异步FIFO指针同步
写指针同步到读时钟域 · 读指针同步到写时钟域
同步
CDC
16
异步FIFO空满判断 (一)
格雷码指针比较 · 最高位与次高位组合判空满
空满
格雷码
17
异步FIFO空满判断 (二)
写时钟域满判断逻辑 · 读时钟域空判断逻辑
逻辑
时钟域
18
异步FIFO代码实现 (一)
模块声明 · 双时钟域端口 · 参数化设计
代码
模块
19
异步FIFO代码实现 (二)
写指针逻辑 (二进制计数+格雷码转换) · 读指针逻辑
指针
格雷码
20
异步FIFO代码实现 (三)
双级同步器实现 (DFF链) · 同步后的指针用于空满判断
同步器
DFF
21
异步FIFO代码实现 (四)
双端口RAM例化 · 跨时钟域数据通路
RAM
数据通路
22
异步FIFO代码规范检查
跨时钟域信号标注(CDC) · 同步器命名规范 · 综合约束
CDC
约束
23
异步FIFO仿真验证 (一)
异步Testbench结构 · 双时钟生成(不同频率/相位) · 写读激励
仿真
异步时钟
24
异步FIFO仿真验证 (二)
功能测试 (满/空标志延迟, 数据完整性) · 亚稳态注入模拟
验证
亚稳态
25
FIFO深度计算
最坏场景分析 (写速率>读速率) · 深度公式推导 (burst_length, clk)
深度
公式
26
FIFO性能优化
流水线输出 · 寄存器输出 · 面积优化 (分布式RAM vs Block RAM)
优化
面积
27
FIFO设计常见错误
指针溢出 · 空满标志误判 · 亚稳态传播 · 读写使能冲突
错误
调试
28
FIFO设计文档规范
架构文档模板 · 接口说明表 · 时序图绘制规范
文档
规范
29
FIFO代码Review Checklist
代码风格检查清单 · 功能正确性检查清单 · CDC检查清单
Review
清单
30
FIFO设计实战项目
基于AXI4-Stream接口的FIFO设计 · 集成到SoC系统中的注意事项
实战
AXI4-Stream
所属VIP或分类
同VIP:FIFO功能覆盖点构建
同VIP:FIFO参数化设计方法
同VIP:FIFO复位策略与稳定性架构与工程应用