Xilinx FIFO IP核仿真沒有數據輸出和空滿信號錯誤的解決
工程:使用生成的IP核,調用Modelsim仿真,但是問題出現了,仿真沒有數據輸出和空滿信號錯誤的解決,輸出爲高阻態'Z'。如下圖:
如圖,空empty、滿full、dout數據不變化。
原因:
ISE自動生成了.do文件仿真,本放着生成的.do代碼如下:
問題出現在24行。編譯了FIFO_W8_D32.v,同時編譯了FIFO_W8_D32_synth.v,兩個具有相同的module名字,但FIFO_W8_D32_synth.v只有聲明,沒有實體,則只生成了一個FIFO_W8_D32,後生成的覆蓋了先生成的庫。
把24行註釋了,則結果正確。 23行和24行順序調換,結果正確。
從正確的仿真圖可見,在FIFO寫滿以後繼續寫入,是無效的,可以從讀數據輸出得到驗證。讀空以後,數據繼續讀也是無效的,輸出保持最後有效數據不變。內部自動進行了讀寫的空和滿邏輯控制。