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)行仿真呢?

冬至子 ? 來源:FPGA探索者 ? 作者:FPGA探索者 ? 2023-06-21 10:32 ? 次閱讀

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 parametersHardware parameters分別配置,對比**Standard Mode **標(biāo)準(zhǔn)模式和 Rasterized Mode柵格模式的不同,對比不同時鐘下同一個配置的不同。

一、新建工程

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

圖片

圖片

二、DDS 配置

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

圖片

1:配置選項

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

2:運行時鐘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處的噪聲整形配置來彌補,使用 相位抖動(Phase Dithering) 或者 泰勒級數(shù)糾正(Taylor Series Correct)補償相位誤差

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位。

圖片

7:配置頻率分辨率

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

圖片

8:配置噪聲整形

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

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

None不整形;

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

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

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

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

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

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

6、7兩處的配置影響輸出數(shù)據(jù)的位寬,可以在原理圖中體現(xiàn),也可以在“ Summary ”頁查看,如圖所示,在 100MHz 工作時鐘下,1 處表示要達(dá)到0.4Hz的頻率分辨率,需要輸出 28 位位寬的相位(有效位寬),由AXI_Stream接口輸出時,以 8 位位寬步進(jìn),所以28位有效位寬的相位信息通過高位補零達(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。

圖片

圖片

9:Hardware parameters

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

圖片

圖片

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

圖片

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

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

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

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))。

圖片

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等信號。

圖片

1處:輸出ready信號

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

2處:延時配置

第四頁 輸出頻率配置

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

圖片

第五頁:總結(jié)

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

圖片

三、仿真

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

圖片

將輸出的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];

圖片

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

    關(guān)注

    28

    文章

    3803

    瀏覽量

    138811
  • 調(diào)制解調(diào)器

    關(guān)注

    3

    文章

    847

    瀏覽量

    38745
  • FFT
    FFT
    +關(guān)注

    關(guān)注

    15

    文章

    434

    瀏覽量

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

    關(guān)注

    21

    文章

    630

    瀏覽量

    152483
  • 信號發(fā)生器
    +關(guān)注

    關(guān)注

    28

    文章

    1444

    瀏覽量

    108606
收藏 人收藏

    評論

    相關(guān)推薦

    IP core調(diào)用DDS

    ISE軟件,使用IP core調(diào)用DDS,產(chǎn)生正弦載波,使用調(diào)頻200M時鐘做為DDS輸入,功能仿真沒問題,但后
    發(fā)表于 03-20 20:37

    vivado有哪幾種常用IP核?如何去調(diào)用它們

    運算器等)、信號處理(FFT、DFT、DDS等)。IP核類似編程中的函數(shù)庫(例如C語言中的printf()函數(shù)),可以直接調(diào)用,非常方便,大大加快了開發(fā)速度。今天介紹的是vivado
    發(fā)表于 07-29 06:07

    基于linux系統(tǒng)實現(xiàn)的vivado調(diào)用VCS仿真教程

    在linux系統(tǒng)上實現(xiàn)vivado調(diào)用VCS仿真教程 作用:vivado調(diào)用VCS仿真可以加快工
    的頭像 發(fā)表于 07-05 03:30 ?1.1w次閱讀
    基于linux系統(tǒng)實現(xiàn)的<b class='flag-5'>vivado</b><b class='flag-5'>調(diào)用</b>VCS<b class='flag-5'>仿真</b>教程

    vivado調(diào)用IP核詳細(xì)介紹

    大家好,又到了每日學(xué)習(xí)的時間了,今天咱們來聊一聊vivado 調(diào)用IP核。 首先咱們來了解一下vivadoIP核,
    的頭像 發(fā)表于 05-28 11:42 ?3.7w次閱讀

    Vivado軟件仿真DDS核的過程中應(yīng)該注意的問題

    本人需要利用Vivado軟件中的DDS核生成一個正弦信號。由于后期還要生成線性調(diào)頻信號,如果直接編寫代碼生成比特流文件下載到板子上進(jìn)行驗證會使工作的效率大大下降,所有想利用Vivado
    發(fā)表于 07-13 08:32 ?9729次閱讀

    調(diào)用Vivado IP核的方法

    在開發(fā)PL時一般都會用到分頻或倍頻,對晶振產(chǎn)生的時鐘進(jìn)行分頻或倍頻處理,產(chǎn)生系統(tǒng)時鐘和復(fù)位信號,下面就介紹一下在vivado2017.3中進(jìn)行PL開發(fā)時調(diào)用
    發(fā)表于 12-22 14:26 ?4699次閱讀

    Vivado中PLL開發(fā)調(diào)用IP的方法

    在開發(fā)PL時一般都會用到分頻或倍頻,對晶振產(chǎn)生的時鐘進(jìn)行分頻或倍頻處理,產(chǎn)生系統(tǒng)時鐘和復(fù)位信號,這是同步時序電路的關(guān)鍵,這時就需要使用到時鐘向?qū)?b class='flag-5'>IP,下面就介紹一下在vivado進(jìn)行
    發(fā)表于 12-22 15:14 ?1w次閱讀

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

    本次使用Vivado調(diào)用DDSIP進(jìn)行仿真,并嘗試多種配置方式的區(qū)別,設(shè)計單通道信號發(fā)生器(固
    的頭像 發(fā)表于 04-27 16:33 ?6242次閱讀
    解析<b class='flag-5'>Vivado</b>如何<b class='flag-5'>調(diào)用</b><b class='flag-5'>DDS</b>的<b class='flag-5'>IP</b><b class='flag-5'>進(jìn)行</b><b class='flag-5'>仿真</b>

    淺析VivadoIPDDS使用方式及注意事項

    vivado提供了DDS IP核可以輸出正余弦波形,配置方法如下
    的頭像 發(fā)表于 04-27 15:52 ?9914次閱讀
    淺析<b class='flag-5'>Vivado</b>的<b class='flag-5'>IP</b>核<b class='flag-5'>DDS</b>使用方式及注意事項

    關(guān)于Vivado三種常用IP核的調(diào)用詳細(xì)解析

    vivadoIP核,IP核(IP Core):Vivado中有很多IP核可以直接使用,例如數(shù)學(xué)
    的頭像 發(fā)表于 04-27 15:45 ?2.4w次閱讀
    關(guān)于<b class='flag-5'>Vivado</b>三種常用<b class='flag-5'>IP</b>核的<b class='flag-5'>調(diào)用</b>詳細(xì)解析

    Vivado調(diào)用Questa Sim或ModelSim仿真小技巧

    調(diào)用第三方仿真軟件查看波形的過程中存在的一些問題。 1、添加新的觀測信號需要重新仿真 Vivado直接調(diào)用Modelsim/QuestaSi
    的頭像 發(fā)表于 09-02 10:12 ?8350次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>調(diào)用</b>Questa Sim或ModelSim<b class='flag-5'>仿真</b>小技巧

    FPGA應(yīng)用之vivado三種常用IP核的調(diào)用

    今天介紹的是vivado的三種常用IP核:時鐘倍頻(Clocking Wizard),實時仿真(ILA),ROM調(diào)用(Block Memory)。
    發(fā)表于 02-02 10:14 ?3309次閱讀

    使用Vivado調(diào)用questasim仿真報錯的原因及其解決辦法

    有一天使用Vivado調(diào)用questasim(modelsim估計也一樣),仿真報錯
    的頭像 發(fā)表于 05-08 17:12 ?2915次閱讀

    Vivado調(diào)用Modelsim仿真

    Modelsim是十分常用的外部仿真工具,在Vivado中也可以調(diào)用Modelsim進(jìn)行仿真,下面將介紹如何對
    的頭像 發(fā)表于 07-24 09:04 ?3452次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>調(diào)用</b>Modelsim<b class='flag-5'>仿真</b>

    Xilinx Vivado DDS IP使用方法

    DDS(Direct Digital Frequency Synthesizer) 直接數(shù)字頻率合成器,本文主要介紹如何調(diào)用Xilinx的DDS IP核生成某一頻率的Sin和Cos信號
    的頭像 發(fā)表于 07-24 11:23 ?4603次閱讀
    Xilinx <b class='flag-5'>Vivado</b> <b class='flag-5'>DDS</b> <b class='flag-5'>IP</b>使用方法