FWFT模式读操作
FWFT(First-Word Fall-Through),我一般选择 FWFT模式,因为rden信号,当拍出结果好控制。
rden信号与rddata信号出来同步对应。不像Standard延迟一拍。
FWFT FIFO一般称为穿透fifo,顾名思义,有数据来的时候,不管你读不读,第一拍数据都会输出在dout上,empty信号拉低。
下图显示了FWFT读取访问。最初,FIFO不为空,下一个可用数据输出在总线(dout)上,并且VALID有效。当您启用rd_en时,rd_clk的下一个上升时钟沿会将下一个数据字放置在dout上。在最后一个数据字放置在dout之后,额外的读取请求会导致dout上的数据无效,如VALID的去使能和empty的使能所示。任何进一步尝试从FIFO中读取都会导致下溢条件。
Standard 模式读操作
对于标准 FIFO 读取操作,在断言读有效后,如果 FIFO 非空,存储在FIFO中的下一个数据被驱动到输出总线(dout)上和VALID标志有效。
下图显示标准模式下的读数据。
当您将至少一个字写入FIFO时,empty被取消,表示数据可供读取。
当rd_en有效时,下一个上升沿时发生读操作。FIFO在dout上输出下一个可用字,VALID有效,表示成功的读操作。
当从FIFO中读取最后一个数据字时,FIFO的empty有效。如果在empty有效的同时继续rd_en有效,则忽略读请求,取消VALID,并underflow有效。
当执行写操作时,FIFO取消empty,允许您恢复有效的读操作,这由VALID的有效和underflow的取消表示。
————————————————
在fpga开发的路上,悦分享,越通透。
————————————————
版权声明:本文为优快云博主「薛定谔的bug~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/axiba233/article/details/131006557