1.FIFO簡介
FIFO(First In First Out,即先入先出),是一種資料緩沖器,用來實作資料先入先出的讀寫方式。
FIFO 存儲器主要是作為緩存,應用在同步時鐘系統和異步時鐘系統中,
FIFO 根據讀寫時鐘是否相同,分為 SCFIFO(同步 FIFO)和 DCFIFO(異步FIFO)
2.FIFO分類
異步和同步:指讀寫時鐘是否相同
标準和即出模式:标準模式下讀使能下一個周期資料才出現在讀端口,先出模式下讀使能和資料同時出現,預設為标準模式,即出模式下第一個資料預設輸出,
2.FIFO标志位
full:寫滿标志:寫滿時拉高
empty:空标志位,為空時拉高
usedw:
顯示目前FIFO中已經存資料個數,
标準模式比即出模式多1,
标準模式下會溢出一位,可以加一位信号線來計數,可用滿信号線與usedw拼接
即出模式下不會溢出
almost full、almost empty:幾乎滿空标志位,自定義
asynchronous/synchronous clear:異步/同步複位,用于清空FIFO
上溢和下溢檢測:寫滿或者讀空時禁止寫或讀操作
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLxkTZ3MDNiVmMjBjYyAzNiN2NiRzM3IDOiNjNxU2Y0YzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
3.FIFO拼接
8輸入16輸出時,16bit 資料是輸入的 8bit 資料低位在後高位在前的順序,如果記錯了順序在使用資料的時候會産生錯誤。
參考資料:征途Pro《FPGA Verilog開發實戰指南——基于Altera EP4CE10》(上)