資料介紹
FIFO是FPGA處理跨時鐘和數(shù)據(jù)緩存的必要IP,可以這么說,只要是任意一個成熟的FPGA涉及,一定會涉及到FIFO。但是我在使用異步FIFO的時候,碰見幾個大坑,這里總結(jié)如下,避免后來者入坑。
注意點
這里博主主要總結(jié)兩個注意點,也是最常入坑的點:
1、異步FIFO的讀寫計數(shù)不準(zhǔn),經(jīng)常可以碰見FIFO的空標(biāo)志拉高,但是計數(shù)器顯示FIFO中還有數(shù)據(jù)的情況,所以使用FIFO自帶的計數(shù)器時,一定要小心,只可以使用大概范圍,不可以使用精確范圍。
2、異步FIFO在復(fù)位一段時間后,才可以繼續(xù)操作,不可以復(fù)位后立馬把讀寫使能拉高,因為異步FIFO需要一定的時間進(jìn)行同步操作。
3、FIFO復(fù)位后需要一些時鐘之后,才可以進(jìn)行正常的讀寫工作。
4、異步FIFO寫數(shù)據(jù)需要經(jīng)過10個左右的時鐘才能從正確讀出,這里一定要流出足夠的時鐘周期,否則會發(fā)生錯誤。
上面的兩點一定要注意,否則很容易跳入一個大坑。當(dāng)然,同步FIFO沒有上述的問題。
評論
查看更多