哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

Xilinx快速傅立葉變換接口及仿真測試實驗設(shè)計

454398 ? 來源:FPGA開源工作室微信公眾號 ? 作者:FPGA開源工作室微信 ? 2020-09-28 10:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 xilinx FFT IP介紹

Xilinx快速傅立葉變換(FFT IP)內(nèi)核實現(xiàn)了Cooley-Tukey FFT算法,這是一種計算有效的方法,用于計算離散傅立葉變換(DFT)。

1)正向和反向復(fù)數(shù)FFT,運行時間可配置。

2)變換大小N = 2m,m = 3 – 16

3)數(shù)據(jù)采樣精度bx = 8 – 34

4)相位系數(shù)精度bw = 8 – 34

5)算術(shù)類型:

  • °無標(biāo)度(全精度)定點
  • °定標(biāo)定點
  • °浮點數(shù)

6)定點或浮點接口

7)蝴蝶后舍入或截斷

8)Block RAM或分布式RAM,用于數(shù)據(jù)和相位因子存儲

9)可選的運行時可配置轉(zhuǎn)換點大小

10)可擴展的定點核心的運行時可配置擴展時間表

11)位/數(shù)字反轉(zhuǎn)或自然輸出順序

12)用于數(shù)字通信系統(tǒng)的可選循環(huán)前綴插入

13)四種架構(gòu)在內(nèi)核大小和轉(zhuǎn)換時間之間進行權(quán)衡

14)位精確的C模型和用于系統(tǒng)建模的MEX功能可供下載

15)有四種運算架構(gòu)可供選擇

  • .Pipelined Streaming I/O
  • .Radix-4 Burst I/O
  • .Radix-2 Burst I/O
  • .Radix-2 Lite Burst I/O

2 FFT IP接口介紹

圖1 xilinx FFT IP

1)AXI4-Stream 介紹

AXI4-Stream接口帶來了標(biāo)準(zhǔn)化,并增強了Xilinx IP LogiCORE解決方案的互操作性。除了諸如aclk,acclken和aresetn之類的常規(guī)控制信號以及事件信號之外,到內(nèi)核的所有輸入和輸出都通過AXI4-Stream通道進行傳輸。通道始終由TVALID和TDATA以及必填字段和可選字段(如TREADY,TUSER和TLAST)組成。TVALID和TREADY一起執(zhí)行握手以傳輸消息,其中有效負(fù)載為TDATA,TUSER和TLAST。內(nèi)核對包含在TDATA字段中的操作數(shù)進行運算,并將結(jié)果輸出到輸出通道的TDATA字段中。

圖2 AXI4-Stream時序圖

圖2顯示了在AXI4-Stream通道中的數(shù)據(jù)傳輸。TVALID由通道的源(主)端驅(qū)動,而TREADY由接收器(從屬)驅(qū)動。TVALID指示有效負(fù)載字段(TDATA,TUSER和TLAST)中的值有效。TREADY表示從機已準(zhǔn)備好接收數(shù)據(jù)。當(dāng)一個周期中的TVALID和TREADY均為TRUE時,將發(fā)生傳輸。主機和從機分別為下一次傳輸分別設(shè)置TVALID和TREADY。

2)s_axis_config_tdata接口介紹

s_axis_config_tdata接口攜帶配置信息CP_LEN,F(xiàn)WD / INV,NFFT和SCALE_SCH。

NFFT(變換的點大小):NFFT可以是最大變換的大小或任何較小的點大小。例如,1024點FFT可以計算點大小1024、512、256等。NFFT的值為log2(點大小)。該字段僅在運行時可配置的轉(zhuǎn)換點大小時出現(xiàn)。

CP_LEN(循環(huán)前綴長度):從轉(zhuǎn)換結(jié)束起,在輸出整個轉(zhuǎn)換之前,最初作為循環(huán)前綴輸出的樣本數(shù)。CP_LEN可以是小于點大小的從零到一的任何數(shù)字。該字段僅在循環(huán)前綴插入時出現(xiàn)。

FWD_INV:指示是執(zhí)行前向FFT變換還是逆向FFT變換(IFFT)。當(dāng)FWD_INV = 1時,將計算前向變換。如果FWD_INV = 0,則計算逆變換。

SCALE_SCH伸縮時間表:對于突發(fā)I / O架構(gòu),伸縮時間表由每個階段的兩位指定,第一階段的伸縮由兩個LSB給出??s放比例可以指定為3、2、1或0,代表要移位的位數(shù)。N = 1024,Radix-4 Burst I / O的示例縮放計劃是[1 0 2 3 2](從最后階段到第一階段排序)。對于N = 128,Radix-2 Burst I / O或Radix-2 Lite Burst I / O,一個可能的擴展時間表是[1 1 1 1 0 1 2](從最后階段到第一階段排序)。對于流水線I / O架構(gòu),從兩個LSB開始,每兩對Radix-2級用兩位指定擴展時間表。例如,N = 256的縮放時間表可以是[2 2 2 3]。當(dāng)N不是4的冪時,最后一級的最大位增長為一位。例如,對于N = 512,[0 2 2 2 2]或[1 2 2 2 2]是有效的縮放時間表,但是[2 2 2 2 2]無效。對于此變換長度,SCALE_SCH的兩個MSB只能為00或01。此字段僅可用于縮放算法(非縮放,塊浮點或單精度浮點)。

s_axis_config_tdata接口格式:

1.(可選)NFFT加填充

2.(可選)CP_LEN加填充

3.前轉(zhuǎn)/后轉(zhuǎn)

4.(可選)SCALE_SCH

舉例:

內(nèi)核具有可配置的轉(zhuǎn)換大小,最大大小為128點,具有循環(huán)前綴插入和3個FFT通道。內(nèi)核需要配置為執(zhí)行8點變換,并在通道0和1上執(zhí)行逆變換,并在通道2上執(zhí)行前向變換。需要4點循環(huán)前綴。這些字段采用表中的值。

這給出了19位的向量長度。由于所有AXI通道必須與字節(jié)邊界對齊,因此需要5個填充位,從而s_axis_config_tdata的長度為24位。

3)相關(guān)標(biāo)志信號

3 xilinx FFT IP的仿真測試

FFT的長度選擇8點,x輸入序列為x=[1,2,3,4,5,6,7,8];

Matlab驗證:

clear all
close all
clc
 
x = [1,2,3,4,5,6,7,8];
y =fft(x,8);
realy=real(y);
imagy=imag(y);


Y的實部輸出為realy=[36,-4,-4,-4,-4,-4,-4,-4];

Y的虛部輸出為imagy=[0,9.6569,4,1.6569,0,-1.6569,-4,-9.6569];

FPGA仿真驗證:

1)IP的設(shè)置

2)仿真頂層

`timescale 1ns / 1ps
module tb_fft_top(
 
    );
    reg aclk;                        
    reg [7 : 0] s_axis_config_tdata;
    reg         s_axis_config_tvalid;        
    wire        s_axis_config_tready;       
    wire [31 : 0] s_axis_data_tdata;  
    reg         s_axis_data_tvalid;          
    wire        s_axis_data_tready;         
    reg         s_axis_data_tlast;           
    wire [31 : 0] m_axis_data_tdata;
    wire        m_axis_data_tvalid;         
    reg         m_axis_data_tready;  
    wire        m_axis_data_tlast;
    reg [15:0] real_data;
    reg [15:0] imag_data;
    wire [15:0] real_dataout;
    wire [15:0] imag_dataout;
    reg [9:0]  cnt;
    assign s_axis_data_tdata={real_data,imag_data};
    assign real_dataout = m_axis_data_tdata[31:16];
    assign imag_dataout = m_axis_data_tdata[15:0];
    initial begin
      aclk = 0;
      s_axis_config_tdata=8'b0;
      s_axis_config_tvalid=1'b0;
      s_axis_data_tvalid=1'b0;
      s_axis_data_tlast=1'b0;
      real_data=16'd0;
      imag_data=16'd0;
      cnt = 0;
      m_axis_data_tready=1'b1;
      #1000;
      s_axis_config_tdata=8'b0000_0001;
      s_axis_config_tvalid=1'b1;
      #10;
      s_axis_config_tdata=8'b0000_0000;
      s_axis_config_tvalid=1'b0;
      #1000;
      repeat(8)begin
        s_axis_data_tvalid=1'b1;
        real_data=real_data+16'd1;
        cnt=cnt+1;
        if(cnt==8) s_axis_data_tlast=1'b1;
        #10;
      end
      s_axis_data_tvalid=1'b0;
      s_axis_data_tlast=1'b0;
      real_data=16'd0;
      #1000;
      $stop;
    end
    always #(5) aclk= ~aclk;
fft_top Ufft_top(
      .aclk(aclk),                                                // input wire aclk
      .s_axis_config_tdata(s_axis_config_tdata),                  // input wire [7 : 0] s_axis_config_tdata
      .s_axis_config_tvalid(s_axis_config_tvalid),                // input wire s_axis_config_tvalid
      .s_axis_config_tready(s_axis_config_tready),                // output wire s_axis_config_tready
      .s_axis_data_tdata(s_axis_data_tdata),                      // input wire [31 : 0] s_axis_data_tdata
      .s_axis_data_tvalid(s_axis_data_tvalid),                    // input wire s_axis_data_tvalid
      .s_axis_data_tready(s_axis_data_tready),                    // output wire s_axis_data_tready
      .s_axis_data_tlast(s_axis_data_tlast),                      // input wire s_axis_data_tlast
      .m_axis_data_tdata(m_axis_data_tdata),                      // output wire [31 : 0] m_axis_data_tdata
      .m_axis_data_tvalid(m_axis_data_tvalid),                    // output wire m_axis_data_tvalid
      .m_axis_data_tready(m_axis_data_tready),                    // input wire m_axis_data_tready
      .m_axis_data_tlast(m_axis_data_tlast)                      // output wire m_axis_data_tlast       
          );
endmodule

3)仿真結(jié)果

Vivado最終的仿真結(jié)果為

Real=[36,-4,-4,-4,-4,-4,-4,-4];

Imag=[0,-10,-4,-2,0,1,4,9];

與matlab的計算結(jié)果相比實部一樣,除虛部因為數(shù)據(jù)位的取舍問題以外,正數(shù)和負(fù)數(shù)部分順序相反。

編輯:hfy

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

    關(guān)注

    73

    文章

    2205

    瀏覽量

    131811
  • 仿真
    +關(guān)注

    關(guān)注

    55

    文章

    4531

    瀏覽量

    138644
  • 快速傅立葉變換
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    1593
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    測試測量實驗室射頻連接器配置指南:SMA、BNC 與 N 型接口的組合策略與校準(zhǔn)關(guān)鍵點

    在射頻測試與測量實驗室中,連接器配置對測試系統(tǒng)的信號完整性與測量精度具有重要影響。SMA、BNC 與 N 型連接器因其各自的結(jié)構(gòu)特點和電氣性能,成為實驗室中常見的三種
    的頭像 發(fā)表于 03-24 09:36 ?824次閱讀
    <b class='flag-5'>測試</b>測量<b class='flag-5'>實驗</b>室射頻連接器配置指南:SMA、BNC 與 N 型<b class='flag-5'>接口</b>的組合策略與校準(zhǔn)關(guān)鍵點

    Sim?Pro 實現(xiàn)仿真測試場景全量構(gòu)成

    ? ? ? ? 2026年1月28日,國家標(biāo)準(zhǔn)GB/T?47025-2026《智能網(wǎng)聯(lián)汽車 自動駕駛功能仿真試驗方法及要求》(以下簡稱“仿真國標(biāo)”)正式發(fā)布。作為自動駕駛仿真測試領(lǐng)域的
    的頭像 發(fā)表于 02-12 17:21 ?7928次閱讀
    Sim?Pro 實現(xiàn)<b class='flag-5'>仿真</b><b class='flag-5'>測試</b>場景全量構(gòu)成

    中微愛芯推出500kHz電平轉(zhuǎn)換接口電路AiP6303X系列

    在智能設(shè)備爆發(fā)式增長的今天,不同電壓域設(shè)備間的通信,已成為行業(yè)發(fā)展的關(guān)鍵瓶頸。為了突破電壓壁壘,讓連接更簡單、更高效,中微愛芯推出支持“一線通”功能的電平轉(zhuǎn)換接口電路AiP6303/AiP63031/AiP63032。
    的頭像 發(fā)表于 01-24 11:17 ?1015次閱讀
    中微愛芯推出500kHz電平轉(zhuǎn)<b class='flag-5'>換接口</b>電路AiP6303X系列

    季豐電子具備半導(dǎo)體測試載板仿真服務(wù)

    在半導(dǎo)體測試載板研發(fā)精度要求嚴(yán)苛、迭代節(jié)奏加快的背景下,仿真技術(shù)成為提升設(shè)計可靠性的關(guān)鍵。上海季豐電子仿真部門,核心聚焦硬件研發(fā)部門需求——專攻CP載板、Loadboard、HTOL Board
    的頭像 發(fā)表于 01-05 14:03 ?763次閱讀
    季豐電子具備半導(dǎo)體<b class='flag-5'>測試</b>載板<b class='flag-5'>仿真</b>服務(wù)

    BNC接口轉(zhuǎn)換接頭工程解析

    本文從工程實踐角度解析BNC接口轉(zhuǎn)換接頭的定義、類型與應(yīng)用場景,幫助用戶理解其在視頻、測試與射頻系統(tǒng)中的實際作用與選型要點。
    的頭像 發(fā)表于 12-31 15:06 ?417次閱讀
    BNC<b class='flag-5'>接口</b>轉(zhuǎn)<b class='flag-5'>換接</b>頭工程解析

    端到端自動駕駛仿真新范式:aiSim如何解決智駕測試的&quot;災(zāi)難性挑戰(zhàn)&quot;

    。然而,這種變革對仿真測試帶來了"災(zāi)難性挑戰(zhàn)"——傳統(tǒng)仿真方法因感知與規(guī)控接口的消失而亟待重構(gòu)。 2 aiSim:端到端智駕仿真的全鏈路解決
    的頭像 發(fā)表于 12-17 14:15 ?409次閱讀
    端到端自動駕駛<b class='flag-5'>仿真</b>新范式:aiSim如何解決智駕<b class='flag-5'>測試</b>的&quot;災(zāi)難性挑戰(zhàn)&quot;

    使用AXI4接口IP核進行DDR讀寫測試

    本章的實驗任務(wù)是在 PL 端自定義一個 AXI4 接口的 IP 核,通過 AXI_HP 接口對 PS 端 DDR3 進行讀寫測試,讀寫的內(nèi)存大小是 4K 字節(jié)。
    的頭像 發(fā)表于 11-24 09:19 ?3894次閱讀
    使用AXI4<b class='flag-5'>接口</b>IP核進行DDR讀寫<b class='flag-5'>測試</b>

    高壓放大器如何解鎖磁電機械天線的性能潛能

    實驗名稱: 磁電機械天線輻射性能測試實驗 研究方向: 對稱式磁電機械天線的設(shè)計、多物理場耦合建模、結(jié)構(gòu)優(yōu)化及輻射性能驗證 實驗目的: 該實驗
    的頭像 發(fā)表于 11-07 10:55 ?460次閱讀
    高壓放大器如何解鎖磁電機械天線的性能潛能

    搭建soc時候,可以內(nèi)部接并行的flash IP,寫了控制接口,轉(zhuǎn)換接口,這可行嗎?

    搭建soc時候,可以內(nèi)部接并行的flash IP,寫了控制接口,轉(zhuǎn)換接口,這可行嗎?還需要怎加哪些模塊呢
    發(fā)表于 11-06 07:40

    vivado仿真時GSR信號的影響

    利用vivado進行設(shè)計xilinx FPGA時,寫完設(shè)計代碼和仿真代碼后,點擊run simulation(啟動modelsim進行仿真)。
    的頭像 發(fā)表于 08-30 14:22 ?1542次閱讀
    vivado<b class='flag-5'>仿真</b>時GSR信號的影響

    矩陣變換器——永磁同步發(fā)電機矢量控制系統(tǒng)

    出線端串接電感的控制策略。根據(jù)低溫余熱發(fā)電系統(tǒng)要求,搭建PMSG矢量控制系統(tǒng),并進行 Madab 仿真實驗分析。實驗結(jié)果證明了MC對PMSG矢量控制的可行性和穩(wěn)定性,同時證明了串接電感環(huán)節(jié)的有效性
    發(fā)表于 06-04 14:50

    矩陣變換器-異步電機矢量控制系統(tǒng)仿真研究

    電機突加負(fù)載時的轉(zhuǎn)矩波形等進行仿真。仿真結(jié)果表明了采用組合控制策略的矩陣變換器-異步電機矢量控制系統(tǒng)具備良好的調(diào)速性能,并且較交-直-交電壓型PWM 變頻調(diào)速系統(tǒng)而言具有更多的優(yōu)勢。 純分享帖,需要者
    發(fā)表于 06-04 14:48

    光學(xué)實驗教具應(yīng)用:邁克爾遜干涉儀實驗

    中看到的現(xiàn)象,都可以在軟件中進行精確地分析。 邁克爾遜實驗的搭建相對復(fù)雜一些,因此采用籠式結(jié)構(gòu)能夠幫助實驗快速地搭建光路。由于各種條件或誤差限制,光路的調(diào)節(jié)總是不如軟件仿真那樣
    發(fā)表于 05-08 08:51

    光學(xué)實驗教具應(yīng)用:雙縫干涉實驗

    實驗教具中的實驗搭建 圖1.實驗教具光路搭建 圖2.實驗教具結(jié)果 4.實驗總結(jié) 雙縫干涉實驗
    發(fā)表于 05-08 08:48

    EGBox Mini:一體式緊湊型實時仿真平臺,適配多元實驗場景

    實驗模式 ,基于單臺設(shè)備硬件在環(huán)測試(HIL)與快速控制原型開發(fā)(RCP)兩大核心功能,通過不同型號的 EGBox Mini 設(shè)備對接,可構(gòu)建完整的 RCP+HIL 閉環(huán)仿真系統(tǒng),實現(xiàn)
    發(fā)表于 04-29 10:40
    平顶山市| 广宁县| 泾阳县| 永春县| 遂平县| 綦江县| 新津县| 南江县| 巴南区| 东兰县| 利川市| 平邑县| 霍山县| 阜新市| 肃南| 时尚| 广南县| 百色市| 永定县| 抚顺县| 隆德县| 常德市| 宿松县| 彩票| 遵义县| 宜春市| 凉城县| 墨竹工卡县| 万荣县| 昌吉市| 新密市| 饶阳县| 丽江市| 嘉善县| 巴青县| 睢宁县| 普安县| 永济市| 孝感市| 彭水| 新建县|