這次我們將演示 RF Data Converter IP 設(shè)計(jì)仿真測(cè)試激勵(lì)文件示例。
本篇博文旨在演示其構(gòu)建方式及其用于實(shí)踐 IP 的機(jī)制。我覺得這部分內(nèi)容值得講一講,因?yàn)橹灰軌虺浞掷斫鉁y(cè)試激勵(lì)文件,就可以將其作為有效的模板來用于將 RF Data Converter IP 構(gòu)建到自己的仿真設(shè)置中。
我并不會(huì)細(xì)講這里的所有內(nèi)容,只是為了演示一下仿真的機(jī)制。當(dāng)然,您也可以自行深入分析測(cè)試激勵(lì)文件 RTL。
您可能已經(jīng)知道,IP 設(shè)計(jì)示例隨附有完整的測(cè)試激勵(lì)文件。此測(cè)試激勵(lì)文件可在仿真中提供激勵(lì)生成和采集,用于 ADC 和 DAC 實(shí)踐。仿真具有內(nèi)置自檢功能,因此它可用于檢驗(yàn)?zāi)?IP 設(shè)置。
讓我們來簡單了解下設(shè)計(jì)測(cè)試激勵(lì)文件示例。
從 IP 設(shè)計(jì)示例層面上來看,不僅有 IP,還有激勵(lì)塊和采集塊(均為大型塊 RAM 數(shù)組)。
此外還有 1 個(gè) SmartConnect 塊用于連接到 IP 的 AXI4-Lite 端口。
因此,測(cè)試激勵(lì)文件需提供的是:
時(shí)鐘生成,用于設(shè)計(jì)中的所有時(shí)鐘。ADC 和 DAC Tile 的輸入、AXI 流傳輸接口和 1 個(gè) AXI4-Lite 接口。
加載激勵(lì)塊或源代碼塊的方法。
將“實(shí)數(shù)”信號(hào)應(yīng)用于模擬輸入的方法,以及將實(shí)數(shù)信號(hào)從 DAC 轉(zhuǎn)換為數(shù)字總線以便檢查的方法。
最重要的是,需要 1 個(gè)定序器 (sequencer) 用于管理仿真。
檢驗(yàn)采集塊或接收端 (sink) 塊的方法。
讓我們來看看測(cè)試激勵(lì)文件。測(cè)試激勵(lì)文件的所有源文件都包含在設(shè)計(jì)工程示例中的導(dǎo)入 (imports) 目錄中。
頂層測(cè)試激勵(lì)文件包含在 demo_tb.sv SystemVerilog 文件中。我們不會(huì)逐行詳細(xì)分析其中所有內(nèi)容。在此級(jí)別只需連接各主要塊即可。讓我們來看下仿真功能的最重要的部分。
時(shí)鐘生成
有一個(gè)非常簡單的模塊可用于在仿真中創(chuàng)建所有必要的時(shí)鐘信號(hào)。其中的輸入帶有_phase后綴,支持用戶為時(shí)鐘設(shè)置高低時(shí)間。它用于為每個(gè) Tile 和 AXI Stream 時(shí)鐘創(chuàng)建所期望的頻率。
我們可在仿真中對(duì)此進(jìn)行檢查,確保它按我們期望的方式運(yùn)行。
在此情況下可以看到,DAC 采樣時(shí)鐘以 6.4GSPS 運(yùn)行,而 AXI stream 傳輸時(shí)鐘的運(yùn)行速率為該速率除以 16。
激勵(lì)生成
在仿真中,ADC 和 DAC 將分別單獨(dú)處理。在此情況下并不執(zhí)行環(huán)回。
DAC 與 ADC 來源相同。
ADC 包含demo_tb_rfadc_data_source.sv,其中包含demo_tb_rfadc_tile_source.sv。在代碼中,我們提供的是正弦查找表 (LUT)。在此情況下,將循環(huán)此 LUT 并生成正弦波輸出。
此正弦波將輸出到測(cè)試激勵(lì)文件的頂層。我們可將其轉(zhuǎn)換為實(shí)數(shù),以便將其強(qiáng)制添加到demo_tb中的 Tile 的 UNISIM 模型層的模擬信號(hào)輸入中。
對(duì)于 DAC,只需將此數(shù)據(jù)寫入設(shè)計(jì)示例中的 DAC 源塊上的 AXI 接口即可。在demo_tb層級(jí)上,我們可將 DAC 模擬信號(hào)從實(shí)數(shù)轉(zhuǎn)換為位數(shù),并將其應(yīng)用于 DAC 接收端輸入。
測(cè)試激勵(lì)文件定序器
鑒于時(shí)鐘正在運(yùn)行仿真,并且先前已經(jīng)講解過數(shù)據(jù)源相關(guān)內(nèi)容,因此我們可以繼續(xù)講解測(cè)試激勵(lì)文件的主要部分。
在demo_tb_axi4l_nano_seq.sv文件中可以了解到仿真的設(shè)置和控制方式。此文件使用部分 SystemVerilog 任務(wù)以便于我們?cè)L問 RF 的 Tile,并對(duì)其執(zhí)行部分設(shè)置。此外還有其它任務(wù)可用來控制仿真。我們將演示仿真的整個(gè)過程,并根據(jù)需要來探討這些任務(wù)。
通過觀察此文件可以發(fā)現(xiàn),它使用參數(shù)化尋址來允許我們處理測(cè)試激勵(lì)文件中 AXI4-Lite 上的各個(gè)子塊。各項(xiàng)任務(wù)將通過這些子塊來控制仿真。
定序器 (Sequencer) 首先會(huì)對(duì)測(cè)試激勵(lì)文件中的所有一切都應(yīng)用復(fù)位。然后它會(huì)對(duì) Tile 執(zhí)行寫入以啟用仿真加速。這樣即可縮短 Tile 的啟動(dòng)時(shí)間,因?yàn)樗煽s短電源微調(diào)時(shí)間以及 ADC 校準(zhǔn)時(shí)間。仿真僅允許 Tile 達(dá)到 IP 的啟動(dòng)狀態(tài)機(jī)的狀態(tài) 1。
在此步驟后,它會(huì)對(duì) Tile 執(zhí)行某些設(shè)置,然后開始在測(cè)試激勵(lì)文件中開啟源端和接收端。它還會(huì)開始加載 DAC 源內(nèi)存。
最好在執(zhí)行每個(gè)步驟時(shí)都打印仿真時(shí)間。這樣即可根據(jù)需要檢查波形。
可以看到,IP 設(shè)置完成后,就會(huì)于 169us 附近開始寫入 DAC 激勵(lì)數(shù)據(jù)。DAC 源內(nèi)存位于基址 0x300000000 處。
下一步,啟動(dòng) Tile 時(shí)鐘,并運(yùn)行 ADC 和 DAC 直至?xí)r鐘檢測(cè)步驟為止。
完成此步驟后,即可啟動(dòng) DAC 源并運(yùn)行 DAC,直至啟動(dòng) FSM 結(jié)束為止:
通過觀察波形可知,音調(diào)已傳入,而 DAC 輸出總線正在運(yùn)行。
此處可看到 25Mhz/50Mhz/100Mhz/200Mhz。
然后,針對(duì) ADC 重復(fù)此過程:
運(yùn)行后,可在波形中查看結(jié)果。在此情況下,vout_00和vout02總線即為仿真中 ADC 源的輸出。
我在此處還附上了 AXI Stream 傳輸?shù)?8 個(gè)采樣之一的截屏,以顯示 ADC 能正常轉(zhuǎn)換單音信號(hào)。
數(shù)據(jù)接收端和檢查器
ADC 和 DAC 在demo_tb中具有一組接收端塊。
在這些塊中,將對(duì)數(shù)據(jù)進(jìn)行縮放,并且將執(zhí)行 FFT。這樣即可確認(rèn)信號(hào)能以正確方式進(jìn)行轉(zhuǎn)換。
這些塊用于管理錯(cuò)誤計(jì)數(shù)器。如果全部正確,那么定序器 (Sequencer) 就會(huì)停止仿真。
我希望本篇博文能夠幫助您更進(jìn)一步了解 IP 仿真示例。此外還有很多內(nèi)容值得分享,但本文應(yīng)該能夠?yàn)榇蠹姨峁┮粋€(gè)良好的起點(diǎn),以便大家了解仿真的工作原理,并且您可能還可以將其中部分技巧用于您自己的仿真測(cè)試激勵(lì)文件。
編輯:hfy
-
adc
+關(guān)注
關(guān)注
99文章
6708瀏覽量
549193 -
dac
+關(guān)注
關(guān)注
44文章
2410瀏覽量
193704 -
模擬信號(hào)
+關(guān)注
關(guān)注
8文章
1161瀏覽量
53508
發(fā)布評(píng)論請(qǐng)先 登錄
Efinity FIFO IP仿真問題 -v1

Modelsim仿真時(shí)候的data信號(hào)輸入問題
quartusii中用modesim仿真時(shí)激勵(lì)文件怎樣編寫
基于FPGA的FIR濾波器IP仿真實(shí)例
IP驗(yàn)證增量仿真技術(shù)的運(yùn)用
講解怎樣在VSS中使用LabVIEW RF Toolkit處理LTE激勵(lì)信號(hào)
加載激勵(lì)塊或源代碼塊的方法
FPGA中測(cè)試文件編寫中的激勵(lì)仿真
Verilog仿真激勵(lì)舉例

測(cè)試與驗(yàn)證復(fù)雜的FPGA設(shè)計(jì)(2)——如何在虹科的IP核中執(zhí)行面向全局的仿真

MAX17291B: High-Voltage Micropower Boost Converter Data Sheet MAX17291B: High-Voltage Micropower Boost Converter Data Sheet

MAX20471-MAX20472B: Low-Voltage Synchronous Boost Converter Data Sheet MAX20471-MAX20472B: Low-Voltage Synchronous Boost Converter Data Shee

ADRV9002: Dual Narrow/Wideband RF Transceiver Data Sheet ADRV9002: Dual Narrow/Wideband RF Transceiver Data Sheet

評(píng)論