FFT IP核的設(shè)置
這里做最簡(jiǎn)單的設(shè)置,打開Vivado,點(diǎn)開IP Catalog,找到FFT IP核。設(shè)置界面如下:
Configuration 設(shè)置
設(shè)置的參數(shù)意義如下:
- Numbers of Channels: 通道數(shù),F(xiàn)FT IP核可以設(shè)置多個(gè)數(shù)據(jù)通道,進(jìn)行多路FFT操作
- Transform Length: 傳輸?shù)臄?shù)據(jù)長(zhǎng)度,就是FFT中的點(diǎn)數(shù),決定輸出的頻譜分辨率
- Architecture Configuration:如果Architecture Choice選擇Automatically Select,IP核會(huì)根據(jù)你填的時(shí)鐘頻率和數(shù)據(jù)吞吐量選擇適合的架構(gòu)
Implementation
設(shè)置的參數(shù)意義如下:
- Data Format: 數(shù)據(jù)格式,定點(diǎn)數(shù)或浮點(diǎn)數(shù),浮點(diǎn)數(shù)不能使用多個(gè)通道同時(shí)進(jìn)行FFT操作
- Scaling Options: 對(duì)輸出的數(shù)據(jù)進(jìn)行等比例縮小,如果選Scaled,則在控制IP核時(shí)需要設(shè)置縮小比例,詳情見(jiàn): 資料1
- Input Data Width:輸入數(shù)據(jù)位寬,這里只用輸入I,Q一路的位寬,不需要輸入組合起來(lái)的位寬
- Phase Factor Width:因?yàn)檫M(jìn)行FFT 操作涉及乘加操作,肯定會(huì)有精度損失,這里可以設(shè)置一個(gè)合適的值平衡精度和面積的要求。
- 控制信號(hào):時(shí)鐘使能跟復(fù)位信號(hào),復(fù)位信號(hào)拉低最少要保持兩個(gè)時(shí)鐘周期。
- Output Ordering: Natural Order輸出的頻譜數(shù)據(jù)還要做fftshift,這個(gè)跟fft算法流程有關(guān)系
- Optional Output Fields: 輸出的索引信號(hào)和overflow信號(hào),勾選后這些信息會(huì)跟頻譜數(shù)據(jù)一起輸出
Detail Implementation
直接默認(rèn)跳過(guò)。
IP核生成后可以看到有很多信號(hào),這些信號(hào)代表的意義又是怎么樣的??梢栽贗P核設(shè)置界面的左側(cè)Implementation Detail看到下圖內(nèi)容
從圖中可以看出:
- Output Data Width: 輸出數(shù)據(jù)的位寬,當(dāng)然也是I,Q一路信號(hào)的位寬
- S_AXIS_DATA_TDATA: 這是把時(shí)域信號(hào)往FFT IP核傳輸?shù)臄?shù)據(jù)通道,通過(guò)圖中可以看到,57:32傳輸Q路信號(hào),25:0傳輸I路信號(hào)。
- S_AXIS_CONFIG_TDATA: 這是對(duì)FFT IP核設(shè)置參數(shù)內(nèi)容;圖中很明顯告知,16:1傳輸SCALE_SCH信號(hào),這個(gè)信號(hào)決定輸出的數(shù)據(jù)等比例縮小多少倍,具體參數(shù)設(shè)置可以看: 資料1的內(nèi)容;0位傳輸?shù)目刂菩盘?hào),為1時(shí)IP核做FFT運(yùn)算,為0時(shí)做IFFT運(yùn)算。
- M_AXIS_DATA_TDATA: 這是FFT輸出的頻譜數(shù)據(jù),從圖中可以看到,57:32對(duì)應(yīng)的是虛部數(shù)據(jù),25:0對(duì)應(yīng)的是實(shí)部數(shù)據(jù)。
- M_AXIS_DATA_TUSER: 這個(gè)信號(hào)根據(jù)圖中可知,傳輸?shù)氖禽敵鲱l譜的索引,有一定的作用。這里輸出的具體內(nèi)容根據(jù)上述的FFT IP核設(shè)置決定
大概的運(yùn)算時(shí)間
這些信號(hào)其實(shí)都是AXI4-Stream的相關(guān)信號(hào)
AXI4-Stream協(xié)議
除了AXI4-Lite的信號(hào),AXI4-Stream還增加了以下信號(hào):
- TKEEP:指示信號(hào),指明當(dāng)前數(shù)據(jù)數(shù)據(jù)類型,發(fā)送數(shù)據(jù)方控制該信號(hào);為低電平表明對(duì)應(yīng)字節(jié)數(shù)據(jù)是空字節(jié),可以移除;與TSTRB一同發(fā)揮作用,兩個(gè)信號(hào)都是可選非必需信號(hào)
當(dāng)去掉TKEEP信號(hào),TKEEP視作全高電平
當(dāng)去掉TSTRB信號(hào),TSTRB的值等同TKEEP
兩個(gè)信號(hào)都被選擇后作用如下圖: - TLAST:指示信號(hào),指明當(dāng)前是最后一次數(shù)據(jù)傳輸,發(fā)送數(shù)據(jù)方控制該信號(hào);只有在最后一次數(shù)據(jù)傳輸時(shí)該信號(hào)會(huì)拉高一次,信號(hào)一直拉高表明數(shù)據(jù)都是獨(dú)立的而不是來(lái)自同一個(gè)數(shù)據(jù)包,可選非必需信號(hào);
發(fā)送方(Master)不要求一定要支持該信號(hào)
接受方(Slave)的該信號(hào)固定為低電平 - TID: 指示信號(hào),指明當(dāng)前數(shù)據(jù)流的ID,標(biāo)明不同的數(shù)據(jù)流,發(fā)送數(shù)據(jù)方控制該信號(hào),可選非必需信號(hào),內(nèi)容見(jiàn)TLAST;
- TDEST:指示信號(hào),提供數(shù)據(jù)流的路由信息,發(fā)送數(shù)據(jù)方控制該信號(hào),可選非必需信號(hào),內(nèi)容見(jiàn)TLAST;
- TUSER:可以自定義的數(shù)據(jù)信息,發(fā)送方跟接收方協(xié)商好,數(shù)據(jù)內(nèi)容根據(jù)雙方協(xié)商確定,起傳輸輔助信息內(nèi)容,發(fā)送數(shù)據(jù)方控制該信號(hào),并且跟隨發(fā)送方的數(shù)據(jù)流一同發(fā)送,雙方的TUSER數(shù)據(jù)位寬確定規(guī)則如下:
MIN(MAX[TUSER bits per byte of masters], MAX[TUSER bits per byte of slaves]) - TREADY,TDATA也是可選非必需信號(hào);去掉TREADY信號(hào),TREADY視作為高電平;去掉TDATA,TSTRB也被視作去掉
而在FFT IP核中,一共出現(xiàn)了下列信號(hào):
- s_axis_data: FFT IP核的時(shí)域數(shù)據(jù)輸入通道,這個(gè)傳輸過(guò)程中,F(xiàn)FT IP核作為接收方(Slave)
- s_axis_config: FFT IP核的配置數(shù)據(jù)輸入通道,這個(gè)傳輸過(guò)程中,F(xiàn)FT IP核作為接收方(Slave)
- m_axis_data: FFT IP核的頻譜數(shù)據(jù)輸出通道,這個(gè)傳輸過(guò)程中,F(xiàn)FT IP核作為發(fā)送方(Master)
而且,s_axis_config只使用了TDATA,TREADY,TVALID; s_axis_data使用了TDATA,TREADY,TVALID, TLAST; m_axis_data使用TDATA,TREADY,TVALID, TLAST, TUSER;相對(duì)來(lái)說(shuō)控制并不復(fù)雜;
FFT IP核的控制流程如下:
- 配置好s_axis_config_tdata, s_axis_config_tready跟s_axis_config_tvalid握手(都為高)后,配置數(shù)據(jù)傳入;
- 等待s_axis_data_tready和s_axis_data_tvalid拉高,通過(guò)s_axis_data_tdata傳入數(shù)據(jù)至FFT IP核,等到最后一次數(shù)據(jù)傳輸,同時(shí)拉高s_axis_data_tlast;
- 等待m_axis_data_tvalid和m_axis_data_tready拉高,接收m_axis_data_tdata的數(shù)據(jù),m_axis_data_tuser的數(shù)據(jù)是頻譜數(shù)據(jù)的索引,根據(jù)這個(gè)索引可以知道當(dāng)前頻譜數(shù)據(jù)的位置;等到m_axis_data_tlast拉高,數(shù)據(jù)傳輸結(jié)束。
最終結(jié)果圖:
-
FFT
+關(guān)注
關(guān)注
15文章
433瀏覽量
59245 -
AXI4總線
+關(guān)注
關(guān)注
0文章
8瀏覽量
1372
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論