Xilinx FIFO IP core 使用

一、FIFO Generator IP的引腳信號含義

1. almost full 和 almost empty flags用來指示只剩一個字了。

2. Programmable full and empty status flags可以由用戶自定義內容設定或者用專用的輸入口進行設定。

3. 對於V5的block RAM和built-in FIFO可以使用內嵌的寄存器。使用這個寄存器可以提高FIFO的性能,但是增加延遲。

4. FIFO常用於:跨時鐘域操作和數據位寬轉換。例如:兩個獨立的時鐘域,獨立的數據位寬,可以利用一個FIFO進行連接,如下圖所示:

image

    FIFO可以自動完成數據位寬的轉換。

5. 當需要用到大塊的FIFO時,可以使用V5 built-in FIFO

6. First-Word Fall-Through(FWFT)特性是指,可以在沒有進行讀操作的時候,就可以提前知道下一個數據是什麼,並且自動將這個數據放到輸出數據線(DOUT)上。FWFT在要求低訪問延遲時,很有用。

    這幾種FIFO支持FWFT特性:block RAM, distributed RAM, V5 built-in FIFO

7. FIFO接口信號

點擊看大圖

 

    在寫操作時,注意一下幾個信號:

(1)FULL:當FULL有效時,所有的寫操作都將被忽略,並且這時對FIFO的寫操作不會對FIFO造成損壞。

(2)ALMOST_FULL:當這個信號有效時,說明還可以再進行一次寫操作

(3)FROG_FULL:當FIFO得數據大於或者等於設定的門限時,這個信號有效;當FIFO得數據小於這個設定的門限時,這個信號無效。

(4)OVERFLOW:這個信號用來指示在前一個時鐘週期的寫請求(WR_EN)被拒絕,因爲FIFO已經滿了。

(5)PROG_FULL_THRESH:用來設定PROG_FULL的有效時的數據數目,和無效時的數據數目

    在讀操作時,注意一下幾個信號:

(1)FROG_EMPTY:當FIFO的數據數量小於等於設定的門限時,這個信號有效。

(2)RD_DATA_COUNT[C:0]:這個值表明FIFO中可以讀取的數據的數目,在讀操作的時候,通過對這個數據進行判斷,可以保證當FIFO中沒有數據的時候,停止讀操作。當發生一次讀操作時,會在下一個時鐘的上升沿對RD_DATA_COUNT進行改變。即寫入一個數據的時候rd_data_count+1,當讀出一個數據的時候,rd_data_count-1。

(3)UNDERFLOW:表明前一次讀操作被拒絕了,因爲FIFO已經空了。

二、FIFO Generator IP的使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章