第01章
课程导论:寄存器堆与FIFO
基本概念、协同应用场景(CPU寄存器文件、异步FIFO桥接)、课程目标与学习路径。
导论概念
第02章
寄存器堆基础
存储结构(深度/宽度/端口数)、单/双端口区别、地址译码逻辑。
存储译码
第03章
寄存器堆设计(一)
单端口寄存器堆RTL实现(Verilog)、写使能控制、读时序分析。
RTL单端口
第04章
寄存器堆设计(二)
双端口RTL实现、读写冲突处理(写后读/读后写)、仿真验证。
双端口冲突
第05章
寄存器堆设计(三)
多端口架构、端口仲裁机制、面积与性能权衡。
多端口仲裁
第06章
寄存器堆验证策略
定向测试用例、随机测试生成、覆盖率收集与分析。
验证覆盖率
第07章
FIFO基础
工作原理(先进先出)、同步/异步区别、空/满标志产生。
FIFO标志
第08章
同步FIFO设计(一)
RTL实现、读写指针设计、空满判断逻辑(计数器法)。
同步指针
第09章
同步FIFO设计(二)
深度计算、参数化设计、仿真波形分析。
参数化波形
第10章
异步FIFO设计(一)
跨时钟域同步、双指针格雷码编码、亚稳态处理。
异步格雷码
第11章
异步FIFO设计(二)
RTL实现(二进制+格雷码转换)、空满标志跨时钟域同步。
RTL同步
第12章
异步FIFO设计(三)
深度与性能分析、同步链延迟对空满判断的影响。
性能延迟
第13章
FIFO验证策略
定向测试(写满读空/交替读写)、随机测试、断言检查。
验证断言
第14章
寄存器堆与FIFO接口设计
寄存器堆作为数据源/目的地、握手协议(valid-ready)设计。
接口握手
第15章
协同设计场景一
CPU寄存器文件与指令FIFO交互、取指阶段FIFO缓冲。
CPU取指
第16章
协同设计场景二
数据采集系统:寄存器堆配置与FIFO数据缓存。
采集缓存
第17章
协同设计场景三
网络包处理:寄存器堆状态表与FIFO队列管理。
网络队列
第18章
协同设计时序优化
关键路径分析、流水线插入、时序收敛。
时序流水线
第19章
协同设计面积优化
共享存储资源、深度/宽度裁剪、门控时钟。
面积门控
第20章
协同设计功耗优化
数据使能控制、低功耗FIFO、读写抑制。
低功耗抑制
第21章
验证环境搭建 (UVM)
UVM平台结构、寄存器模型(RAL)集成、FIFO scoreboard设计。
UVMRAL
第22章
协同设计仿真调试
常见bug分析(空满误判、数据丢失、地址越界)、波形调试技巧。
调试波形
第23章
FPGA原型验证
资源评估、综合约束、上板调试流程。
FPGA上板
第24章
综合与STA
Design Compiler脚本、时序约束(input/output delay)、静态时序分析。
STA综合
第25章
DFT可测试性设计
扫描链插入、BIST内建自测试、测试覆盖率。
DFTBIST
第26章
高级话题:ECC纠错码
寄存器堆与FIFO的ECC设计、软错误防护。
ECC可靠性
第27章
高级话题:多通道FIFO
多通道FIFO设计、优先级队列、虚拟通道。
多通道优先级
第28章
自动化生成工具
Python脚本生成寄存器堆与FIFO的RTL。
Python脚本
第29章
项目实战一
4写8读寄存器堆 + 深度64异步FIFO协同工作。
实战多端口
第30章
项目实战二
基于寄存器堆配置的FIFO深度可编程模块,完整验证与综合流程。
可编程综合