0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一邊學(xué)習(xí)控制FFT IP核,一邊學(xué)習(xí)AXI4-Stream協(xié)議

冬至配餃子 ? 來(lái)源:Bug記錄 ? 作者:woodfan ? 2023-06-19 14:38 ? 次閱讀

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核的控制流程如下:

  1. 配置好s_axis_config_tdata, s_axis_config_tready跟s_axis_config_tvalid握手(都為高)后,配置數(shù)據(jù)傳入;
  2. 等待s_axis_data_tready和s_axis_data_tvalid拉高,通過(guò)s_axis_data_tdata傳入數(shù)據(jù)至FFT IP核,等到最后一次數(shù)據(jù)傳輸,同時(shí)拉高s_axis_data_tlast;
  3. 等待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é)果圖:

圖片

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FFT
    FFT
    +關(guān)注

    關(guān)注

    15

    文章

    433

    瀏覽量

    59245
  • AXI4總線
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    1372
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TPA3255有直流輸出,一邊1V,一邊2.2V,是什么原因?

    TPA3255有直流輸出,一邊1V,一邊2.2V。不知是什么原因,電路是參考官方電路。BTL雙聲道輸出
    發(fā)表于 10-12 08:05

    為什么L298n的輸出端本來(lái)是一邊一邊低的,

    為什么L298n的輸出端本來(lái)是一邊一邊低的,接上直流電機(jī)后,兩端的電壓就變了,就在跳動(dòng),0到4.3之間跳動(dòng):
    發(fā)表于 08-09 14:53

    手機(jī)一邊充電一邊使用對(duì)人,手機(jī),電池有哪些危害

    手機(jī)一邊充電一邊使用對(duì)人,手機(jī),電池有哪些危害
    發(fā)表于 08-04 09:43

    有人有經(jīng)驗(yàn)AXI4-Stream到視頻輸出IP嗎?

    be experienced AXI4-Stream to Video Out IP core?Is there any special keys I need to pay attention to make
    發(fā)表于 03-08 10:00

    請(qǐng)問(wèn)我對(duì)AXI4-Stream FIFO的理解不正確嗎?

    嗨,我正在研究Spartan 6的設(shè)計(jì)。數(shù)據(jù)來(lái)自PCIe IP,頻率為62.5MHz,通過(guò)AXI4-Stream FIFO同步到100 MHz系統(tǒng)時(shí)鐘。這是個(gè)示例波形;m_axis
    發(fā)表于 08-12 07:29

    用UCOS實(shí)現(xiàn)一邊播放音樂(lè)一邊觸摸,為什么會(huì)有卡頓的現(xiàn)象

    用UCOS實(shí)現(xiàn)一邊播放音樂(lè)一邊觸摸,為什莫播放音樂(lè)會(huì)有卡頓的現(xiàn)象? 圖片中任務(wù)是觸摸屏,任務(wù)二是播放音樂(lè)。
    發(fā)表于 05-20 09:57

    axi4-stream互連問(wèn)題如何解決

    你好,大家好。我正在使用EMI14.4和xc6v315t。我正在嘗試模擬IP CORE.It的axi4-stream interconnect.I配置ip為6siand 4mi。但是當(dāng)
    發(fā)表于 06-18 15:08

    手機(jī)如何實(shí)現(xiàn)一邊充電一邊聽歌(聽)呢

    ,如何實(shí)現(xiàn)一邊充電一邊聽歌(聽)呢?因此,USB Type-C接口的轉(zhuǎn)接器應(yīng)時(shí)而生了,輕松的實(shí)現(xiàn)不同音頻插頭與音響耳機(jī)之間的相互轉(zhuǎn)換,而且一邊
    發(fā)表于 09-14 08:41

    僅使用一邊輸出時(shí)電路圖

    僅使用一邊輸出時(shí)電路圖
    發(fā)表于 08-04 10:46 ?505次閱讀
    僅使用<b class='flag-5'>一邊</b>輸出時(shí)電路圖

    自定義sobel濾波IP,IP接口遵守AXI Stream協(xié)議

    自定義sobel濾波IP IP接口遵守AXI Stream協(xié)議
    的頭像 發(fā)表于 08-06 06:04 ?3868次閱讀

    關(guān)于AXI4-Stream協(xié)議總結(jié)分享

    XI4-StreamAXI4的區(qū)別就是AXI4-Stream去除了地址線,這樣就不涉及讀寫數(shù)據(jù)的概念了,只有簡(jiǎn)單的發(fā)送與接收說(shuō)法,減少了延時(shí)。由于AXI4-Stream
    的頭像 發(fā)表于 06-23 10:08 ?2235次閱讀

    AXI4-Stream Video 協(xié)議AXI_VDMA的IP介紹

    本文主要介紹關(guān)于AXI4-Stream Video 協(xié)議AXI_VDMA的IP相關(guān)內(nèi)容。為后文完成使用帶有HDMI接口的顯示器構(gòu)建圖像視
    的頭像 發(fā)表于 07-03 16:11 ?8116次閱讀

    AXI4AXI4-Lite 、AXI4-Stream接口

    AXI4種高性能memory-mapped總線,AXI4-Lite是只簡(jiǎn)單的、低通量的memory-mapped 總線,而 AXI4-Str
    的頭像 發(fā)表于 07-04 09:40 ?8283次閱讀

    Video In to AXI4-Stream IP知識(shí)介紹

    大家好!今日分享些關(guān)于Video In to AXI4-Stream IP 的知識(shí)。在具體學(xué)習(xí)IP
    的頭像 發(fā)表于 05-18 14:55 ?1550次閱讀
    Video In to <b class='flag-5'>AXI4-Stream</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>知識(shí)介紹

    LogiCORE IP AXI4-Stream FIFO內(nèi)核解決方案

    LogiCORE IP AXI4-Stream FIFO內(nèi)核允許以內(nèi)存映射方式訪問(wèn)個(gè)AXI4-Stream接口。該內(nèi)核可用于與AXI4-Strea
    的頭像 發(fā)表于 09-25 10:55 ?1312次閱讀
    LogiCORE <b class='flag-5'>IP</b> <b class='flag-5'>AXI4-Stream</b> FIFO內(nèi)核解決方案