Xilinx IP核使用 一 FIFO

2021-07-09 17:05:41 字數 993 閱讀 7123

今天在將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,在選了這個選項後,非同步寫復位將用最少的時間來完成。話不多說看**圖一目了然。

DSP28335的硬體SPI使用(無FIFO)總結

這兩天折騰了乙個旋變器解算模組的使用,類似於這種器件一般都是使用通訊的方式寫入晶元對應的暫存器的資料從而初始化晶元或得到可程式設計的結果 反之,我們也需要讀取其模組 晶元內部經過解算得到的儲存內容在spi的sclk引導下傳輸到dsp的硬體spi內的接收暫存器中。對於硬體spi的使用從成功啟動的角度來...

Altera FFT核使用詳解

快速傅利葉變換 fast fourier transform 最為一種高效的演算法,被廣泛的用於訊號處理與資料分析等領域。對於設計工程師來講,自己動手取樣可程式語言來實現乙個fft ifft模組,不知要花費多少心血。所幸的是altera和xilinx兩大巨頭都提供了自己fft核,本文將詳細講解如何使...

vivado ILA核使用教程

ila可以加在 裡使用,也可以加在網表裡使用。在這裡舉例加在 中使用,硬體平台 xilinx ax7020 1.開啟vivado,新建專案 選擇對應的晶元型號 2.新增原始檔,編寫rtl timescale 1ns 1ps company engineer create date 2019 03 2...