经过前两期的内容铺垫,我们可以看出来,异步FIFO的“异步”主要体现在空满状态的判定阶段。因为要根据读写地址指针的关系来判断full和empty。而不同时钟域的地址指针如果不经过“同步化”处理,则状态会判断出错。与同步FIFO的另一个差异就是异步FIFO的读写操作的驱动时钟是相互独立的。
简单回顾一下整个的结构模块:
输入——读时钟,写时钟,读使能,写使能,写数据
输出——读数据,满状态,空状态
操作——二进制转格雷码;延迟打拍(同步时钟域);读空&写满状态判断;
向ram中写数据&从ram中读数据
四、异步FIFO TB实现
1)验证思路:更改驱动时钟即可(和同步FIFO设计相比)
//声明端口数据类型
module test;
异步FIFO设计与仿真验证分析
本文详细探讨了异步FIFO的设计原理,强调了读写地址指针同步化处理的重要性,以避免错误的空满状态判断。在验证过程中,通过改变驱动时钟,分析了可能出现的假“空”和假“满”状态,提醒设计者需要从电路角度考虑延迟影响,确保正确操作。
订阅专栏 解锁全文
2057

被折叠的 条评论
为什么被折叠?



