同步 FIFO 的设计与验证
计算工程、金融与科学
2025-04-16 v1
摘要
本项目聚焦于设计与验证一种同步 FIFO (First In First Out) 存储器,这是数字系统中用于临时数据存储和无缝数据传输的关键组件。FIFO 在单一时钟域下工作,确保 read 与 write 操作同步,适用于需要高速可靠数据缓冲的系统。该设计包含 read 与 write 操作、full 与 empty 标志生成以及用于内存控制的指针管理等 FIFO 的关键特性。该设计采用 Verilog 实现,定义了寄存器传输水平 (RTL) 设计,确保满足功能与时序要求。进行验证时,采用了三种方法:(1) 基于 UVM 的验证:开发了通用验证方法论 (UVM) 测试平台,对 FIFO 设计进行严格测试。测试平台包括 interface、sequence item、driver、monitor、scoreboard、agent 和 environment 等组件。执行有向测试和随机测试,以验证 corner 情况,如 simultaneous read 与 write、full 与 empty 条件以及 overflow 与 underflow 场景;(2) 传统 Verilog 测试平台:还使用独立的 Verilog 测试平台通过有向测试场景和波形分析验证 FIFO 的功能;(3) FPGA 实现:此外,在 FPGA 上实现该设计进行实时测试,以验证其在硬件中的功能和时序行为。FPGA 基于的验证确保该设计在实际条件下按预期运行。结果确认了 FIFO 的正确运行,包括数据传输的准确性、标志行为和时序同步。该项目成功演示了同步 FIFO 设计的鲁棒性与可靠性,突显了其在现代数字系统中高效数据处理与缓冲方面的重要性。
引用
@article{arxiv.2504.10901,
title = {Design and Verification of a Synchronus First In First Out (FIFO)},
author = {Yatheeswar Penta and Riadul Islam},
journal= {arXiv preprint arXiv:2504.10901},
year = {2025}
}