- FIFO,即First Input First Output,是一种先入先出的存储器,其功能是:用户将数据写入该器件进行存储,当用户读数据时,先写入的数据会被先读出,即读出的数据的顺序仍然是写入时的顺序。一般意义的存储器需要用户提供地址和数据两条信息,这样才能进行写入和读取操作。写入时,会写到用户指定的地址,而读取时,也会从用户指定的地址读取,但FIFO不同,数据地址时由内部生成的,用户无须提供地址,只需提供读、写控制线和数据。FIFO有两种典型的应用场景,一种是保序,另一种是缓冲。保序即保持顺序。缓冲应用于顺势写入和读取速度不匹配的场合。
- 如上图所示,假设上位记的瞬时写入速率为2Mb/s,而下位机的瞬时读取速度只有1Mb/s,说明下位机的额处理速度无法与上位机的数据供给速度想匹配,此时,下位机只能选择丢失数据。如果在上位机和下位机之间插入FIFO,如上图所示,则上位机可以按照自己的速度向FIFO中写数据,而下位机也可以按照自己的速度从FIFO中取数据,只要FIFO的深度够深,即存储空间足够大,就不会出现数据丢失的现象。这里要强调的是作为缓冲的FIFO,只能调节瞬时的速率不匹配现象,不能调节持续性的速率不匹配现象。图中的上位机和下位机,长期来看,两者平均的输入/输出速率是相等的,中间使用FIFO才有效,对于速率长期不相等的情况,FIFO迟早会溢出,即它内部的存储空间会被全部占满,仍然会
复杂的Synchronous FIFO设计
于 2024-02-17 19:28:57 首次发布