我有一个关于FIFO的基本问题。
对应于FiFo的空状态和完整状态,存在EMPTY和FULL标志行为。关于FiFo的完整状态,我可以理解为什么它对设计有害,因为在声明完整标志后Fifo将不接受任何即将到来的数据。
但关于EMPTY状态,是否有任何不良影响?因为我看到当FiFo为空时,它仍然会收到任何即将到来的数据。
答案 0 :(得分:1)
在某些情况下,EMPTY可能与FIFO满员一样有害。假设您有一个恒定的数据速率需要维护,如果您的数据用完了,您需要注意并发送错误。空标志将是一种表明这一点的方式。 PCIe / USB和各种其他协议使用弹性缓冲器,它本质上是一个带有一些附加逻辑的FIFO。在这种情况下,空或满是基本上相同的错误(数据在此循环中无效)。
EMPTY(或完全均匀)是好还是坏是取决于您的申请。