Xilinx IP核使用(一)--FIFO


  今天在將SRIO的數據存入FIFO后,然后把FIFO中的數據不斷送入FFT進行運算時,對於幾個控制信號總產生問題。所以單獨對FIFO進行了仿真。原來感覺FIFO的幾個參數端口一目了然啊,還需要什么深入了解嗎,在實驗發生問題才知道當時的想法多么幼稚啊。

    下面對xilixn FIFO核進行下簡單說明,配上仿真時序圖和源代碼,描述的還是比較清晰的。希望對和我一樣剛接觸FPGA不久的同學能有一點點幫助^_^

     這個仿真的功能是要實現向FIFO256存入1到256個數,再將1-256讀出。注意這里選的是FULL FLAGS RESET VALUE OF 1

     這是我想當然的仿真結果:這里可以看到數據1丟失了,第一個讀出的數據是2。再看圖1的data_count,這里先說下data_count的含義,當前時鍾進行寫操作,則下一時鍾data_count加1,當前時鍾進行讀操作,則下一時鍾data_count減1。因此由圖隱約可以知道為什么數據1丟失了。

查看了下XILIXN FIFO的官方文檔,說在進行寫復位后,要延遲3個時鍾周期才能進行寫操作。因此我在寫復位以后,通過count引入了3個時鍾的延遲,如下圖,發現數據沒有發生的丟失的情況了。

   FIFO核非常好用,在讀操作的時候,我們可以通過data_count來知道還有多少個數據將要讀出,這對於后面的FFT參數控制很關鍵。當我加上FFT模塊時,又出問題了,上面寫復位的FULL高電平對信號的控制產生了的影響,即數據並沒有傳入FIFO,FULL就已經拉高了。重新回到FIFO文檔,看到了答案FULL FLAGS RESET VALUE OF 0,在選了這個選項后,異步寫復位將用最少的時間來完成。話不多說看仿真圖一目了然。

 

轉載:http://blog.csdn.net/xz_rabbit/article/details/19208075


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM