同步控制信號
對于讀/寫時鐘相互獨(dú)立的FIFO(讀/寫時鐘獨(dú)立意味著這兩個時鐘是異步的,例如來自于不同的MMCM),要確保相應(yīng)的控制信號只在與之對應(yīng)的時鐘域內(nèi)被使用。如下圖所示,除了rst對整個FIFO進(jìn)行異步復(fù)位外,其余信號都與各自的時鐘同步。例如:寫使能wr_en、寫數(shù)據(jù)din都與寫時鐘wr_clk同步;讀使能rd_en、讀數(shù)據(jù)dout都與讀時鐘rd_clk同步。和“滿”相關(guān)的狀態(tài)信號如full/almost_full等都與wr_clk同步;和“空”相關(guān)的狀態(tài)信號如empty/almost_empty等都與rd_clk同步。
復(fù)位信號 對于讀/寫時鐘獨(dú)立的FIFO,F(xiàn)IFO Generator提供了復(fù)位信號,用于對所有的狀態(tài)輸出信號進(jìn)行復(fù)位,如下圖所示。這里復(fù)位信號是可選的。如果下圖選項(xiàng)1不勾選,那么選項(xiàng)2和選項(xiàng)3則不可見,此時FIFO沒有復(fù)位信號。如果勾選1,此時選項(xiàng)2和選項(xiàng)3可見,且默認(rèn)均被勾選,這意味著rst盡管是異步的,但在使用時會被wr_clk和rd_clk先同步到各自的時鐘域。如果勾選1,但不勾選2,此時讀/寫時鐘域會分別有各自的復(fù)位信號wr_rst和rd_rst。當(dāng)wr_rst有效時(高有效),寫時鐘域處于復(fù)位狀態(tài);當(dāng)rd_rst有效時,讀時鐘域處于復(fù)位狀態(tài)。由此可見,對于讀/寫時鐘獨(dú)立的FIFO,異步復(fù)位rst和同步wr_rst/rd_rst是可選的。這意味著FIFO可以沒有復(fù)位信號,也可以只用一個異步復(fù)位信號rst,或者用同步復(fù)位wr_rst/rd_rst。
原文標(biāo)題:你的FIFO為什么不能正常工作
文章出處:【微信公眾號:Lauren的FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
fifo
+關(guān)注
關(guān)注
3文章
389瀏覽量
43818 -
同步控制
+關(guān)注
關(guān)注
0文章
35瀏覽量
12445
原文標(biāo)題:你的FIFO為什么不能正常工作
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論