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

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

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

加載激勵塊或源代碼塊的方法

lhl545545 ? 來源:FPGA開發(fā)圈 ? 作者:FPGA開發(fā)圈 ? 2020-06-09 15:38 ? 次閱讀

本篇博文旨在演示其構(gòu)建方式及其用于實踐 IP 的機(jī)制。我覺得這部分內(nèi)容值得講一講,因為只要您能夠充分理解測試激勵文件,就可以將其作為有效的模板來用于將 RF Data Converter IP 構(gòu)建到自己的仿真設(shè)置中。

我并不會細(xì)講這里的所有內(nèi)容,只是為了演示一下仿真的機(jī)制。當(dāng)然,您也可以自行深入分析測試激勵文件 RTL。

您可能已經(jīng)知道,IP 設(shè)計示例隨附有完整的測試激勵文件。此測試激勵文件可在仿真中提供激勵生成和采集,用于 ADCDAC 實踐。仿真具有內(nèi)置自檢功能,因此它可用于檢驗?zāi)?IP 設(shè)置。

讓我們來簡單了解下設(shè)計測試激勵文件示例。

加載激勵塊或源代碼塊的方法

從 IP 設(shè)計示例層面上來看,不僅有 IP,還有激勵塊和采集塊(均為大型塊 RAM 數(shù)組)。

此外還有 1 個 SmartConnect 塊用于連接到 IP 的 AXI4-Lite 端口。

因此,測試激勵文件需提供的是:

時鐘生成,用于設(shè)計中的所有時鐘。ADC 和 DAC Tile 的輸入、AXI 流傳輸接口和 1 個 AXI4-Lite 接口。

加載激勵塊或源代碼塊的方法。

將“實數(shù)”信號應(yīng)用于模擬輸入的方法,以及將實數(shù)信號從 DAC 轉(zhuǎn)換為數(shù)字總線以便檢查的方法。

最重要的是,需要 1 個定序器 (sequencer) 用于管理仿真。

檢驗采集塊或接收端 (sink) 塊的方法。

讓我們來看看測試激勵文件。測試激勵文件的所有源文件都包含在設(shè)計工程示例中的導(dǎo)入 (imports) 目錄中。

頂層測試激勵文件包含在 demo_tb.sv SystemVerilog 文件中。我們不會逐行詳細(xì)分析其中所有內(nèi)容。在此級別只需連接各主要塊即可。讓我們來看下仿真功能的最重要的部分。

時鐘生成

有一個非常簡單的模塊可用于在仿真中創(chuàng)建所有必要的時鐘信號。其中的輸入帶有_phase后綴,支持用戶為時鐘設(shè)置高低時間。它用于為每個 Tile 和 AXI Stream 時鐘創(chuàng)建所期望的頻率。

加載激勵塊或源代碼塊的方法

加載激勵塊或源代碼塊的方法

我們可在仿真中對此進(jìn)行檢查,確保它按我們期望的方式運(yùn)行。

在此情況下可以看到,DAC 采樣時鐘以 6.4GSPS 運(yùn)行,而 AXI stream 傳輸時鐘的運(yùn)行速率為該速率除以 16。

加載激勵塊或源代碼塊的方法

激勵生成

在仿真中,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 并生成正弦波輸出。

加載激勵塊或源代碼塊的方法

此正弦波將輸出到測試激勵文件的頂層。我們可將其轉(zhuǎn)換為實數(shù),以便將其強(qiáng)制添加到demo_tb中的 Tile 的 UNISIM 模型層的模擬信號輸入中。

加載激勵塊或源代碼塊的方法

對于 DAC,只需將此數(shù)據(jù)寫入設(shè)計示例中的 DAC 源塊上的 AXI 接口即可。在demo_tb層級上,我們可將 DAC 模擬信號從實數(shù)轉(zhuǎn)換為位數(shù),并將其應(yīng)用于 DAC 接收端輸入。

加載激勵塊或源代碼塊的方法

測試激勵文件定序器

鑒于時鐘正在運(yùn)行仿真,并且先前已經(jīng)講解過數(shù)據(jù)源相關(guān)內(nèi)容,因此我們可以繼續(xù)講解測試激勵文件的主要部分。

在demo_tb_axi4l_nano_seq.sv文件中可以了解到仿真的設(shè)置和控制方式。此文件使用部分 SystemVerilog 任務(wù)以便于我們訪問 RF 的 Tile,并對其執(zhí)行部分設(shè)置。此外還有其它任務(wù)可用來控制仿真。我們將演示仿真的整個過程,并根據(jù)需要來探討這些任務(wù)。

通過觀察此文件可以發(fā)現(xiàn),它使用參數(shù)化尋址來允許我們處理測試激勵文件中 AXI4-Lite 上的各個子塊。各項任務(wù)將通過這些子塊來控制仿真。

加載激勵塊或源代碼塊的方法

定序器 (Sequencer) 首先會對測試激勵文件中的所有一切都應(yīng)用復(fù)位。然后它會對 Tile 執(zhí)行寫入以啟用仿真加速。這樣即可縮短 Tile 的啟動時間,因為它可縮短電源微調(diào)時間以及 ADC 校準(zhǔn)時間。仿真僅允許 Tile 達(dá)到 IP 的啟動狀態(tài)機(jī)的狀態(tài) 1。

加載激勵塊或源代碼塊的方法

在此步驟后,它會對 Tile 執(zhí)行某些設(shè)置,然后開始在測試激勵文件中開啟源端和接收端。它還會開始加載 DAC 源內(nèi)存。

加載激勵塊或源代碼塊的方法

最好在執(zhí)行每個步驟時都打印仿真時間。這樣即可根據(jù)需要檢查波形。

可以看到,IP 設(shè)置完成后,就會于 169us 附近開始寫入 DAC 激勵數(shù)據(jù)。DAC 源內(nèi)存位于基址 0x300000000 處。

加載激勵塊或源代碼塊的方法

下一步,啟動 Tile 時鐘,并運(yùn)行 ADC 和 DAC 直至?xí)r鐘檢測步驟為止。

加載激勵塊或源代碼塊的方法

完成此步驟后,即可啟動 DAC 源并運(yùn)行 DAC,直至啟動 FSM 結(jié)束為止:

加載激勵塊或源代碼塊的方法

通過觀察波形可知,音調(diào)已傳入,而 DAC 輸出總線正在運(yùn)行。

此處可看到 25Mhz/50Mhz/100Mhz/200Mhz。

加載激勵塊或源代碼塊的方法

然后,針對 ADC 重復(fù)此過程:

加載激勵塊或源代碼塊的方法

運(yùn)行后,可在波形中查看結(jié)果。在此情況下,vout_00和vout02總線即為仿真中 ADC 源的輸出。

我在此處還附上了 AXI Stream 傳輸?shù)?8 個采樣之一的截屏,以顯示 ADC 能正常轉(zhuǎn)換單音信號。

加載激勵塊或源代碼塊的方法

數(shù)據(jù)接收端和檢查器

ADC 和 DAC 在demo_tb中具有一組接收端塊。

在這些塊中,將對數(shù)據(jù)進(jìn)行縮放,并且將執(zhí)行 FFT。這樣即可確認(rèn)信號能以正確方式進(jìn)行轉(zhuǎn)換。

加載激勵塊或源代碼塊的方法

這些塊用于管理錯誤計數(shù)器。如果全部正確,那么定序器 (Sequencer) 就會停止仿真。

加載激勵塊或源代碼塊的方法

加載激勵塊或源代碼塊的方法

責(zé)任編輯:pj

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

    關(guān)注

    5

    文章

    1710

    瀏覽量

    149616
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2945

    瀏覽量

    66778
  • SmartConnect
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    6858
收藏 人收藏

    評論

    相關(guān)推薦

    西門子流量累計FB介紹

    成一個易于使用的模塊,從而簡化了編程工作,提高了代碼的可讀性和維護(hù)性。 ?? 一、意義 ?? 簡化編程 :通過使用預(yù)先編寫好的FB,工程師可以快速地實現(xiàn)流量累計功能,而無需從頭編寫代碼。 提高效率 :由于FB
    的頭像 發(fā)表于 12-19 10:28 ?206次閱讀
    西門子流量累計FB<b class='flag-5'>塊</b>介紹

    電動工具電機(jī)的換向與FOC控制解析

    三相無刷直流電機(jī)在鉆頭、驅(qū)動器、砂光機(jī)、磨床和鋸子。到目前為止,霍爾傳感器的換向一直是主要的控制方法電動工具應(yīng)用中的三相BLDC電機(jī)。三相BLDC電機(jī)的換向是一種電子換向方案也稱為梯形換向、六步
    的頭像 發(fā)表于 11-28 11:47 ?443次閱讀
    電動工具電機(jī)的<b class='flag-5'>塊</b>換向與FOC控制解析

    Gmapping源代碼

    Gmapping源代碼.docx
    發(fā)表于 11-16 13:42 ?0次下載

    邏輯組件中的流程節(jié)點(diǎn)通常出于什么用途

    邏輯組件中的流程節(jié)點(diǎn)是流程圖、狀態(tài)圖、序列圖等圖表中的基本元素,它們用于表示業(yè)務(wù)流程、工作流程、算法步驟、系統(tǒng)狀態(tài)等。這些節(jié)點(diǎn)在軟件開發(fā)、項目管理、自動化控制、工程設(shè)計、科學(xué)研究等領(lǐng)域都有廣泛
    的頭像 發(fā)表于 10-15 14:38 ?170次閱讀

    國產(chǎn)端聯(lián)-斷連應(yīng)用于飛控測試環(huán)境斷線測試箱

    斷連概述 斷連作為一種用于電路中斷連接的連接器,廣泛應(yīng)用于電子測試設(shè)備和通信系統(tǒng)中。它能夠在特定條件下,通過手動插拔精準(zhǔn)地中斷電路連接,以此模擬電路中的斷線狀態(tài),從而實現(xiàn)對電路問題的檢測和診斷
    的頭像 發(fā)表于 10-08 15:07 ?275次閱讀

    hex可以轉(zhuǎn)成源代碼

    ,可以通過以下幾種方法嘗試獲取源代碼的近似形式: 反匯編 : 使用反匯編工具可以將Hex文件中的機(jī)器碼轉(zhuǎn)換回匯編語言。匯編語言是一種低級語言,它更接近于機(jī)器碼,但仍然具有一定的可讀性。 通過反匯編得到的匯編代碼可以提供程序
    的頭像 發(fā)表于 09-02 10:41 ?1063次閱讀

    如何停止引導(dǎo)加載程序輸出消息?

    我想知道是否有任何方法可以停止引導(dǎo)加載程序輸出消息,或者至少能夠?qū)⑺鼈兌ㄏ虻?UART1 而不是 UART0? 另外,引導(dǎo)加載程序的源代碼是否在任何地方都可用?我找不到它們,但我可能找
    發(fā)表于 07-15 06:33

    如何使用Tensorflow保存加載模型

    TensorFlow是一個廣泛使用的開源機(jī)器學(xué)習(xí)庫,它提供了豐富的API來構(gòu)建和訓(xùn)練各種深度學(xué)習(xí)模型。在模型訓(xùn)練完成后,保存模型以便將來使用部署是一項常見的需求。同樣,加載已保存的模型進(jìn)行預(yù)測
    的頭像 發(fā)表于 07-04 13:07 ?1573次閱讀

    西門子PLC中OB的功能詳解

    西門子PLC(Programmable Logic Controller)作為工業(yè)自動化領(lǐng)域的核心設(shè)備,其內(nèi)部功能強(qiáng)大、應(yīng)用廣泛。在西門子PLC中,OB(Organization Block,組織
    的頭像 發(fā)表于 06-15 11:27 ?4835次閱讀

    振動電機(jī)偏心調(diào)整方法

    的核心部件,其調(diào)整方法對振動電機(jī)的性能和使用壽命具有重要影響。本文將詳細(xì)介紹振動電機(jī)偏心的調(diào)整方法。 一、振動電機(jī)偏心的工作原理 振動電機(jī)的偏心
    的頭像 發(fā)表于 06-12 16:17 ?2137次閱讀

    西門子博途:“自動化創(chuàng)建器”功能

    在使用“從(含雖有相關(guān)聯(lián)的)生成源”功能對進(jìn)行備份,重復(fù)上述恢復(fù)的動作,在觀察程序的結(jié)果。
    的頭像 發(fā)表于 04-30 12:57 ?2482次閱讀
    西門子博途:“自動化<b class='flag-5'>塊</b>創(chuàng)建器”功能

    【開源鴻蒙】下載OpenHarmony 4.1 Release源代碼

    本文介紹了如何下載開源鴻蒙(OpenHarmony)操作系統(tǒng) 4.1 Release版本的源代碼,該方法同樣可以用于下載OpenHarmony最新開發(fā)版本(master分支)或者4.0 Release、3.2 Release等發(fā)布版本的
    的頭像 發(fā)表于 04-27 23:16 ?950次閱讀
    【開源鴻蒙】下載OpenHarmony 4.1 Release<b class='flag-5'>源代碼</b>

    為什么在25對的110配線架基座上安裝時不用5個5對連接

    在25對的110配線架基座上安裝時,不建議使用5個5對連接,主要出于以下原因: 接觸可靠性更高:使用4對連接可以確保每個連接之間有一定的距離,減少了連接之間的干擾,從而提高了連
    的頭像 發(fā)表于 03-04 12:01 ?375次閱讀

    西門子博途:屬性- 隱藏參數(shù)

    在 LAD FBD 中調(diào)用該時,可隱藏參數(shù)。剛開始時,隱藏的參數(shù)不可見;但可通過框底部邊緣處的小箭頭進(jìn)行顯示。
    發(fā)表于 01-16 09:30 ?2082次閱讀
    西門子博途:<b class='flag-5'>塊</b>屬性- 隱藏<b class='flag-5'>塊</b>參數(shù)

    西門子博途示例:設(shè)置優(yōu)化訪問

    默認(rèn)情況下,為 S7 - 1200/1500 的所有新創(chuàng)建的啟用優(yōu)化訪問。可為 OB、FB 和全局DB設(shè)置訪問。對于背景DB,設(shè)置來自各自的 FB。 如果將從 S7- 300
    的頭像 發(fā)表于 01-15 10:41 ?5884次閱讀
    西門子博途示例:設(shè)置優(yōu)化<b class='flag-5'>塊</b>訪問