91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

解析Vivado如何調(diào)用DDS的IP進(jìn)行仿真

Hx ? 來源:FPGA探索者 ? 作者:FPGA探索者 ? 2021-04-27 16:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

DDS(Direct Digital Synthesis,直接數(shù)字頻率合成),作為信號發(fā)生器使用,在Quartus中也叫NCO(Numerically Controlled Oscillator,數(shù)字控制振蕩器),是軟件無線電中的重要組成部分。

本次使用Vivado調(diào)用DDS的IP進(jìn)行仿真,并嘗試多種配置方式的區(qū)別,設(shè)計單通道信號發(fā)生器(固定頻率)、Verilog查表法實現(xiàn)DDS、AM調(diào)制解調(diào)、DSB調(diào)制解調(diào)、可編程控制的信號發(fā)生器(調(diào)頻調(diào)相)。

使用System parameters和Hardware parameters分別配置,對比Standard Mode 標(biāo)準(zhǔn)模式和 Rasterized Mode柵格模式的不同,對比不同時鐘下同一個配置的不同。

一、新建工程

新建工程,新建原理圖BlockDesign,調(diào)用DDS的IP核,默認(rèn)輸出信號時域波形和相位信息。

100063119-126419-01.png

100063119-126420-02.png

二、DDS 配置

第一頁:基礎(chǔ)配置

100063119-126421-03.png

1:配置選項

三種模式可選(相位發(fā)生器+sin/cos波形發(fā)生器、僅有相位發(fā)生器、僅有sin/cos波形發(fā)生器);

2:運(yùn)行時鐘aclk;

100MHz工作時鐘,即100MHz采樣率。

3:通道個數(shù);

設(shè)為1,單通道模式,通道的采樣頻率等于采樣時鐘100MHz,當(dāng)設(shè)為多個通道時,每個通道的采樣率為工作時鐘/通道數(shù),比如4通道100MHz時鐘,每個通道采樣率25MHz。

4:操作模式;

Standard標(biāo)準(zhǔn)模式(常用),Rasterized柵格模式。兩種情況下,輸出的頻率和頻率分辨率、相位增量等參量的計算方式不同,具體參見Xilinx的PG141第14~18頁。

Standard Mode 和 Rasterized Mode在實現(xiàn)指定頻率、幅度的信號時,輸出沒有太大的差別,兩者均能滿足要求,一般使用Standard配置方便。

主要的區(qū)別:

Standard模式下計算出來的相位增量可能是小數(shù),而在FPGA中要對相位進(jìn)行截斷取整,存在相位誤差,對噪聲要求較高的場合,可以使用8處的噪聲整形配置來彌補(bǔ),使用相位抖動(Phase Dithering)或者泰勒級數(shù)糾正(Taylor Series Correct)來補(bǔ)償相位誤差;

Rasterized Mode配置下,相位增量一定是整數(shù),不存在截斷效應(yīng),沒有Standard模式下的時間基抖動。

5:參數(shù)選項(System parameters、Hardware parameters)

(1) System parameters

(2) Hardware parameters

6、7、8處配置系統(tǒng)參數(shù)System parameters,其中:

6:配置SFDR無雜散動態(tài)范圍

SFDR(SpuriousFree Dynamic Range,無雜散動態(tài)范圍),對應(yīng)幅度,對應(yīng)M_AXIS_DATA通道,SFDR越大,用于表示幅度的數(shù)據(jù)的位寬越大;

如下圖所示計算輸出位寬,當(dāng)使用SFDR= 96 dB,配置8處的噪聲整形位None或者Dithering時,輸出位寬位96/6=16位,向上取整后為16位;使用SFDR = 95 dB,95/6=15.83,向上取整為16位。

100063119-126422-04.png

7:配置頻率分辨率

對應(yīng)相位的增量配置、位寬,對應(yīng)M_AXIS_PHASE通道,頻率分辨率越小,用于表示相位的數(shù)據(jù)的位寬越大;

100063119-126423-05.png

8:配置噪聲整形

4處配置成Standard標(biāo)準(zhǔn)模式時才會使用噪聲整形,

Auto根據(jù)設(shè)計的SFDR參數(shù)自動選擇是否使用整形;

None不整形;

Phase Dithering相位抖動,在使用相位截斷技術(shù)時,產(chǎn)生隨機(jī)的噪聲來使得量化誤差隨機(jī);

Taylor Series Correct 泰勒級數(shù)校正;

4處配置成Rasterized時,不存在相位誤差,只能配置None。

For virtually all applications, the preferred implementationis the dithered DDS.

對于絕大多數(shù)的應(yīng)用,首選的是帶有相位抖動補(bǔ)償?shù)腄DS。

相位抖動用于提高SFDR,但代價是增加底噪。

6、7兩處的配置影響輸出數(shù)據(jù)的位寬,可以在原理圖中體現(xiàn),也可以在“Summary”頁查看,如圖所示,在 100MHz 工作時鐘下,1 處表示要達(dá)到0.4Hz的頻率分辨率,需要輸出 28 位位寬的相位(有效位寬),由AXI_Stream接口輸出時,以 8 位位寬步進(jìn),所以28位有效位寬的相位信息通過高位補(bǔ)零達(dá)到 32 位位寬,m_axis_phase_tdata[27:0] 為有效的相位信息;2 處表示要達(dá)到 45 dB 的輸出信噪比,輸出的 sin 和 cos 波形數(shù)據(jù)各自需要 8 位,共計需要 16 位,其中高 8 位 m_axis_data_tdata[15:8] 表示 sin,低 8 位表示 cos;3 處表示按上述配置的輸出延時有 3 個時鐘周期,需要消耗 1 個18 Kbit 的 BRAM。

100063119-126424-06.png

100063119-126425-07.png

9:Hardware parameters

這種模式下直接配置輸出的位寬,但是具體輸出對應(yīng)的SFDR和頻率分辨率會在Summary中體現(xiàn),也可以自行計算。

100063119-126426-08.png

100063119-126427-09.png

第二頁:具體實現(xiàn)

100063119-126428-10.png

1處:相位增量是否支持可編程配置

Fixed是固定相位增量,DDS運(yùn)行過程中不可更改,即對應(yīng)不可變頻率;

Programmable可編程,選中后出現(xiàn)配置接口,可在DDS運(yùn)行過程中隨時寫入頻率控制字改變輸出波形的頻率,用于偶爾改變頻率;

Streaming應(yīng)用于頻繁改變頻率,或者FM頻率調(diào)制;

2處:相位偏移是否支持可編程配置

None不支持;

Fixed固定相位偏移;

Programmable可編程配置(偶爾改變);

Streaming經(jīng)常改變,應(yīng)用于相位調(diào)制;

3處:輸出波形選擇

Sine只輸出sin波形;Cosine輸出cos波形;兩個的位寬均為第一頁設(shè)置的數(shù)據(jù)位寬,Sine and Cosine同時輸出sin和cos波形,其中高位表示sin,低位表示cos,總的數(shù)據(jù)位寬加倍;

4處:極性選擇

sin和cos波形默認(rèn)使用的是有符號數(shù),勾選相應(yīng)的選項后,正負(fù)取反;

5處:幅度模式

Full Range:全精度(全范圍),針對通信應(yīng)用,需要最大振幅,但由于自動增益控制導(dǎo)致振幅的值不那么重要的場合,輸出幅度接近1;

Unit Cycle:單位圓,用于對DDS輸出振幅值要求很高的應(yīng)用,比如產(chǎn)生FFT旋轉(zhuǎn)因子。單位圓時,DDS輸出幅值為半全量程(即取值范圍為01000.。(+ 0.5)。110000 。 .(-0.5))。

100063119-126429-11.png

6處:是否輸出相位信息

勾選后含有相位輸出通道,不勾選時只輸出幅度信息M_AXIS_DATA;

7處:使用的存儲資源類型

Auto由具體所需的資源決定,資源較少時使用DROM,資源多時選擇BROM;DistributeROM選擇分布式ROM(DROM),Block ROM選擇塊ROM資源(BROM);

8處:綜合優(yōu)化策略

Area是面積優(yōu)先,盡可能節(jié)省資源用量(LUT、FF等),Speed速度優(yōu)先,盡可能提升性能;

9處:DSP48資源的使用策略

Minimal盡可能少用,節(jié)省資源,Maximal盡可能多用,提高性能;

第三頁:總線配置

單通道模式下,總線的配置只包含可選的輸出信號的Ready。多通道模式下,通道可選是否包含tlast等信號。

100063119-126430-12.png

1處:輸出ready信號

選中則輸出的2個通道中增加tready信號(可選),根據(jù)AXI_Stream總線協(xié)議的規(guī)則,由后級接收模塊輸入一個ready信號(高電平),表示已經(jīng)準(zhǔn)備好接收DDS輸出,此時DDS才能輸出;

2處:延時配置

第四頁 輸出頻率配置

配置各通道的輸出頻率,在第一頁中只使用了1個Channel,所以此處只能配置一個通道,直接配置輸出頻率,單位MHz,比如0.02MHz;

100063119-126431-13.png

第五頁:總結(jié)

資源使用較多時默認(rèn)使用Block ROM,使用面積優(yōu)先Area策略;單通道采樣頻率=時鐘頻率,100MHz,輸出波形16 bit,高8位為sin,低8位cos。

100063119-126432-14.png

三、仿真

按照上述配置,再配置一個2 MHz輸出頻率的DDS。

100063119-126433-15.png

將輸出的16位波形數(shù)據(jù)分割,高8位表示sin正弦信號,低8位表示cos余弦信號,相位為鋸齒狀,注意若輸出通道中包含了ready信號,根據(jù)AXI_Stream總線的要求,外部需要給ready信號,當(dāng)ready有效時,DDS才會輸出,仿真中可以一直給高電平。

wire [7:0] sin_wave; wire [7:0] cos_wave; wire [7:0] sin_wave_2; wire [7:0] cos_wave_2; assign sin_wave = M_AXIS_DATA_0_tdata[15:8]; assign cos_wave = M_AXIS_DATA_0_tdata[7:0]; assign sin_wave_2 = M_AXIS_DATA_1_tdata[15:8]; assign cos_wave_2 = M_AXIS_DATA_1_tdata[7:0];

100063119-126434-16.png

編輯:lyn

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

    關(guān)注

    5

    文章

    1862

    瀏覽量

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

    關(guān)注

    54

    文章

    4479

    瀏覽量

    138208
  • DDS
    DDS
    +關(guān)注

    關(guān)注

    22

    文章

    684

    瀏覽量

    156560
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    857

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    VivadoIP核被鎖定的解決辦法

    當(dāng)使用不同版本的Vivado打開工程時,IP核被鎖定的情況較為常見。不同版本的VivadoIP核的支持程度和處理方式有所不同。
    的頭像 發(fā)表于 02-25 14:00 ?149次閱讀
    <b class='flag-5'>Vivado</b>中<b class='flag-5'>IP</b>核被鎖定的解決辦法

    德思特干貨 | DDA技術(shù)深度解析系列(二):如何改變DDS設(shè)置?

    本期我們詳細(xì)介紹如何動態(tài)調(diào)整DDS的設(shè)置,下期我們將解析相位連續(xù)性在信號合成中的關(guān)鍵作用,并演示如何利用模式命令來控制XIO輸出線,這些功能共同構(gòu)成了DDS精確控制的核心機(jī)制。
    的頭像 發(fā)表于 01-15 14:18 ?814次閱讀
    德思特干貨 | DDA技術(shù)深度<b class='flag-5'>解析</b>系列(二):如何改變<b class='flag-5'>DDS</b>設(shè)置?

    利用 NucleiStudio IDE 和 vivado 進(jìn)行軟硬件聯(lián)合仿真

    本文利用NucleiStudio IDE 和 vivado 對 NICE demo協(xié)處理器進(jìn)行軟硬件聯(lián)合仿真。 1. 下載demo_nice例程:https://github.com
    發(fā)表于 11-05 13:56

    Vivado仿真之后沒有出現(xiàn)仿真結(jié)果的解決方法

    ;Run Behavioral Simulation之后,會出現(xiàn)如下圖界面,此時,在Tcl Console中并沒有出現(xiàn)仿真結(jié)果。 沒有出現(xiàn)仿真結(jié)果的原因是沒有給Vivado時間進(jìn)行
    發(fā)表于 10-31 06:24

    利用vivado實現(xiàn)對e200_opensource 蜂鳥E203一代的仿真

    最后,點擊run simulation進(jìn)行 行為級仿真 得到最后的仿真結(jié)果如圖所示 本文參考論壇內(nèi)另外兩篇文章: [1] 在Windows環(huán)境下用Vivado調(diào)試E203
    發(fā)表于 10-31 06:14

    VIVADO中對NICE進(jìn)行波形仿真的小問題的解決

    分別如下圖 可以看到,輸出運(yùn)算結(jié)果的pritnf函數(shù)被#ifdef所定義,所以我們?nèi)绻朐?b class='flag-5'>VIVADO的控制臺看到輸出結(jié)果,要先在main.c中定義DEBUG_INFO,如下圖 這樣,將編譯后生成的.verilog文件再用VIVADO讀入
    發(fā)表于 10-27 06:41

    vcs和vivado聯(lián)合仿真

    我們在做參賽課題的過程中發(fā)現(xiàn),上FPGA開發(fā)板跑系統(tǒng)時,有時需要添加vivadoip核。但是vivado仿真比較慢,vcs也不能直接對添加了viv
    發(fā)表于 10-24 07:28

    Vivado浮點數(shù)IP核的握手信號

    Vivado浮點數(shù)IP核的握手信號 我們的設(shè)計方案中,F(xiàn)PU計算單元將收到的三條數(shù)據(jù)和使能信號同步發(fā)給20多個模塊,同時只有一個模塊被時鐘使能,進(jìn)行計算,但結(jié)果都會保留,發(fā)給數(shù)選。計算單元還需接受
    發(fā)表于 10-24 07:01

    Vivado浮點數(shù)IP核的一些設(shè)置注意點

    Vivado浮點數(shù)IP核的一些設(shè)置注意點 我們在vivado2018.3中使用了Floating-point(7.1)IP核,可以自定義其計算種類及多模式選擇。有時多種計算可以用同一
    發(fā)表于 10-24 06:25

    Nucleistudio+Vivado協(xié)同仿真教程

    (e203_hbirdv2-mastere203_hbirdv2-mastertbtb_top.v),然后修改我們要驗證的仿真文件對應(yīng)路徑, 最后在Vivado進(jìn)行行為級仿真即可得
    發(fā)表于 10-23 06:22

    如何在Vivado仿真蜂鳥SOC,仿真NucleiStudio編譯好的程序

    如標(biāo)題所示,我們分享如何在Vivado仿真蜂鳥SOC,仿真NucleiStudio編譯好的程序 具體步驟 1. 將蜂鳥soc移植到Vivado 只要將端口映射好,注意配置好時鐘和
    發(fā)表于 10-21 11:08

    STM32H743 移植 Micro-XRCE-DDS 時,在調(diào)用 gethostbyname() 時出現(xiàn)異常怎么解決?

    packagesMicro-XRCE-DDS-Client-latestsrccprofiletransportipudpudp_transport_external.c uxr_init_udp_platform() 函數(shù)調(diào)用 host = (struct
    發(fā)表于 09-22 06:54

    vivado仿真時GSR信號的影響

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

    在AMD Versal自適應(yīng)SoC上使用QEMU+協(xié)同仿真示例

    Cortex A72 (QEMU) 上運(yùn)行的固件進(jìn)行仿真,該固件會訪問當(dāng)前 AMD Vivado Design Suite 仿真中正在進(jìn)行仿真
    的頭像 發(fā)表于 08-06 17:21 ?1989次閱讀
    在AMD Versal自適應(yīng)SoC上使用QEMU+協(xié)同<b class='flag-5'>仿真</b>示例

    Vivado調(diào)用MIG產(chǎn)生DDR3的問題解析

    下面是調(diào)用的DDR3模塊的,模塊的倒數(shù)第二行是,模塊的時鐘輸入,時鐘源來自PLL產(chǎn)生的系統(tǒng)時鐘的倍頻。
    的頭像 發(fā)表于 05-03 10:21 ?1527次閱讀
    在<b class='flag-5'>Vivado</b><b class='flag-5'>調(diào)用</b>MIG產(chǎn)生DDR3的問題<b class='flag-5'>解析</b>