saber 酱的抱枕

Fly me to the moon

08/22
2020
学习

关于异步异宽FIFO

于是又引入一个新玩意:prefetch,不过这个不是一般意义上的那种,是说,当数据从外面进来时,由于必须要从同步fifo走一道,就引入了延迟。是为了尽量降低这个的。
那么,假设以下场景:这一套并不是用来转换位宽,而是,暂存突发模式来的数据。也就是说进出位宽相等。(这么做,而不是用一个深的异步fifo,是为了减少其它module参与跨时钟域,完全限制到fifo里。反正我司这么说的……)那么,在数据刚刚进来的时候(也就是,同步fifo还是空的),可以直接扔给异步fifo,直到异步fifo被塞满,再往同步fifo里储存。如此这般,就减少了延迟时间。
你说位宽不等?当然只有大宽度转小宽度。不然进来才5 bits,你要读7 bits,怎么读?
大转小的话,能做的很有限,只能把第一个数据拆出来送过去,剩下的还是得进同步fifo。这样的话意义就很有限了,懒得写了……

关于异步异宽FIFO