vivado20234FFT(90版本AXIS總線) IP使用及仿真_第1頁
vivado20234FFT(90版本AXIS總線) IP使用及仿真_第2頁
vivado20234FFT(90版本AXIS總線) IP使用及仿真_第3頁
vivado20234FFT(90版本AXIS總線) IP使用及仿真_第4頁
vivado20234FFT(90版本AXIS總線) IP使用及仿真_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——vivado20234FFT(90版本AXIS總線)IP使用及仿真項目需求,最近使用了Vivado2023.4做開發(fā),設計中使用到FFT(9.0)的IP,該IP接口采用AXIS總線格式,相比ISE14.7中FFT(8.0)以及Vivado中FFT(LTE)輸入信號格式大變,不過只要熟悉AXIS總線信號格式就沒得問題,不要怕麻煩?。。。▌傞_始使用就是怕麻煩,有些握手信號沒用,event狀態(tài)信號也沒注意,浪費了不少時間)

一、設計參數(shù)配置,及IP生成

下面開始介紹配置界面:

第一頁,Configuration,主要是FFT變換長度以及結構選擇。

NumberofChannels:FFT變換通道,可以選擇多通道,實現(xiàn)多幀數(shù)據(jù)同時進行FFT運算;TransfromLength:FFT變換長度;假使下面選擇了“RunTimeConfigurationTransformLength〞,則該參數(shù)為FFT變換最大長度。

時鐘選擇根據(jù)自己設計需求,只能是1—550之間的整數(shù),不小于自己需求時鐘就可以了。ArchitectureChoice:實現(xiàn)架構選擇,根據(jù)設計需求、板子資源狀況,本設計中選擇變換處理時間最短、消耗資源最大的并行流水結構;其他結構以此降低了變化速率但是節(jié)省了資源,這個在PG109-xfft中有詳細介紹。

RunTimeConfigurationTransformLength:勾選該項,則在變換過程中可以改變FFT變換的長度,通過s_axis_config_tdata中NFFT字段進行配置。

其次頁,Implementation介紹。

DataFormat:輸入數(shù)據(jù)格式,定點和浮點兩種,根據(jù)自己設計需求選擇了定點;

ScalingOptions:BlockFloatPoint、Scaled、Unscaled三種可選。BlockFloatPoint不管輸入格式如何,F(xiàn)FT變換內(nèi)部采用浮點,會根據(jù)每一級變換數(shù)據(jù)狀況自動縮放,使得數(shù)據(jù)不出現(xiàn)溢出,在m_axis_data_tuser中會有5個比特表示每一級縮放狀況(本設計中是[20:16]);Scaled選擇后,在s_axis_config_tdata中有相應字段配置縮放因子,這個在pg109-xfft中有詳細介紹,每一級包含2個stage,2個比特表示一級的縮放,一般0-3可選,變換長度NFFT,假使log2(NFFT)不是2的倍數(shù),則最高一級的縮放只能0-1可選;Unscaled全精度,不用擔憂變換過程中會出現(xiàn)溢出,但是輸入32bit,變換后的輸出是64bit跟自己的設計不符合,截位誤差更大。

PrecisionOptions:本設計保持默認設置,可以嘗試修改下。

ControlSignals:ACLEN時鐘使能信號可以不選,復位信號ARESETn還是建議選上(至少保持2個時鐘的低電平)。

OutputOrderingOptions:NaturalOrder,Bit/DigitaReservedOrder兩種,NaturalOrder就是變換后的輸出已經(jīng)調(diào)整了順序,依照索引xk_index的自然序列輸出變換結果,Bit/DigitaReservedOrder就是依照變換后的結果輸出,索引xk_index不是自然序列,可能需要自己緩存再按索引值順序輸出。CyclicPrefixInsertion,CP添加,勾選上,在進行IFFT后可以根據(jù)s_axis_config_tdata中的CP長度配置自動添加CP。

OptionalOutputFields:XK_INDEX是FFT變換結果索引,在m_axis_data_tuser中有相應的字段。OVFLO是變換中溢出指示信號,對應event_fft_overflow。建議這兩個還是勾選,對于設計有幫助。

ThrottleScheme:沒做研究,保持默認配置。猜想應當是fft變換過程中配置參數(shù)修改是馬上生效,還是完成該幀處理下一幀生效。

第三頁,DetailedImplementation設置。

這一頁設置影響不大,假使板子資源豐富,可以在ComplexMultipliers中選擇“Use4-multiplierstructure〞,保持默認配置也可以。

之后點擊OK就可以生成該IP,等待??假使你電腦配置足夠高,很快就完成。

二、仿真(Vivado自帶工具仿真,以及Vivado調(diào)用Modelsim仿真)

首先,吐槽下Vivado自帶的仿真工具(不知道什么名字,只是知道ISE的是Isim)。IP生成會自動產(chǎn)生一個Demo_tb,可以先跑下仿真看下時序什么的,熟悉下IP,但是有些時候跑仿真,編譯什么都通過了,就在最終一部調(diào)出Wave仿真界面的時候崩潰了,遇到了好幾次,假使是內(nèi)存不足,問題是用服務器也遇到過好幾次。其次,Vivado仿真后的數(shù)據(jù),假使選擇了Analog輸出,結果顯示完全超出你的想象。仿真輸出的波形明顯地顯示你變換的結果不對,個人使用了正弦信號輸入,變換后的結果也不對,然后想到可能是顯示問題,就是用幾種方法驗證(ISE調(diào)用Modelsim,Vivado調(diào)用Modelsim,Vivado仿真結果輸出在Matlab中畫圖),以上各種方法驗證了Vivado仿真界面選擇Analog輸出就是最大的問題。不反對Vivado拿來設計功能的確強大,終究ISE升級版,但是參與自帶仿真后,軟件也變大了,問題是仿真效果并不好,而且仿真時間比調(diào)用Modelsim仿真更長。

發(fā)現(xiàn)這個問題之前,實在無力,就找Xilinx到技術支持,解釋得云里霧里,感覺是我在給他說,這個是怎么配置,他說的不對。但是,但是,他還是堅持自己說的對,那就看pg109嘛,里面寫得明明白白的,那人還是堅持自己說的。已經(jīng)無力吐槽。只能說,技術支持還是要專業(yè)點嘛。后來說發(fā)給他工程看下,周五下午4點半還沒收到,說下班就不會看了下周搞。

下面放圖對比仿真效果:

Vivado自帶仿真(修改Scale值輸出幅度完成無變化)

Vivado調(diào)用Modelsim仿真(同樣的數(shù)據(jù),修改了Scale值,輸出對比明顯)

下面簡單介紹自己的仿真過程。(1)仿真模型

在Matlab中產(chǎn)生正弦數(shù)據(jù)(其他數(shù)據(jù)也可以),在Vivado中例化了FFT以及IFFT對IP,將Matlab產(chǎn)生的數(shù)據(jù)經(jīng)過FFT和IFFT處理后,數(shù)據(jù)輸出在Matlab中畫圖對比原始波形(Modelsim中直接選擇Analog也可以)。

(2)測試數(shù)據(jù)

在Matlab產(chǎn)生正弦波,然后將數(shù)據(jù)轉換為二進制補碼格式,實部、虛部均采用16bit表示,數(shù)據(jù)格式(16,15)。代碼如下:

%generatedata,2'sN=1024;

x=(0:1/N:1-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論