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