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

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

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

在Vivado中創(chuàng)建基于IP集成器(IP Integrator)的設(shè)計(jì)

XILINX開(kāi)發(fā)者社區(qū) ? 來(lái)源:XILINX開(kāi)發(fā)者社區(qū) ? 作者:Shengjie Li ? 2022-06-08 16:07 ? 次閱讀

本文作者:賽靈思工程師 Shengjie Li

Zynq UltraScale+ RFSoC 是業(yè)界首款單芯片自適應(yīng)無(wú)線電平臺(tái),在一款芯片內(nèi)集成射頻直采數(shù)據(jù)轉(zhuǎn)換器、單芯片軟決策前向糾錯(cuò)核(SD-FEC)、FPGA邏輯、完整的ARM處理器子系統(tǒng)和高速收發(fā)器等。

第三代RFSoC器件與前幾代產(chǎn)品相比,射頻輸入輸出頻率響應(yīng)已擴(kuò)展至全面支持6GHz以下頻段,可幫助用戶開(kāi)發(fā)尖端RF設(shè)計(jì),例如大規(guī)模MIMO無(wú)線電、5G基帶、固定無(wú)線接入、測(cè)試測(cè)量與相控陣?yán)走_(dá)等等。第三代器件14bit分辨率ADC最大采樣速率增加到5.0GSPS,14bit分辨率DAC最大采樣速率增加到10.0GSPS。用戶可以參考XMP105詳細(xì)了解Zynq RFSoC系列產(chǎn)品具體參數(shù)及選型指南。

本次將分上下篇介紹基于Xilinx Zynq UltraScale+ RFSoC ZCU216評(píng)估套件的詳細(xì)內(nèi)容:

1. 第三代RFSoC 器件時(shí)鐘轉(zhuǎn)發(fā)特性。

2. ZCU216時(shí)鐘結(jié)構(gòu)及可行的時(shí)鐘設(shè)計(jì)方案。

3. 在Vivado中創(chuàng)建基于IP集成器(IP Integrator)的設(shè)計(jì)。

4. 在Vitis中創(chuàng)建基于ARM的BareMetal程序設(shè)計(jì)。

5. 代碼簡(jiǎn)要分析。

6. 硬件環(huán)境及測(cè)試結(jié)果。

本文用于示例的軟件工具、驅(qū)動(dòng)版本、硬件版本及文檔版本如下:

1. ZCU216 Rev-A02(Engineer Sample)

2. CLK104

3. Vivado 2021.2 + Vitis 2021.2

4. PG269 V2.6 October 27, 2021

5. Software Driver: rfdc v11.0

1. 第三代RFSoC 器件時(shí)鐘轉(zhuǎn)發(fā)特性:

RFSoC在芯片內(nèi)集成了數(shù)據(jù)轉(zhuǎn)換器,第三代RFSoC系列器件均包含4個(gè)ADC Tile和4個(gè)DAC Tile,每個(gè)ADC和DAC Tile內(nèi)可能包含1個(gè)(ZU43DR)或2個(gè)(ZU47DR/48DR)或者4個(gè)(ZU49DR)Channel,這取決于芯片型號(hào)。以ZCU216開(kāi)發(fā)板上的芯片為例,ZU49DR的每個(gè)ADC Tile內(nèi)包含4路ADC,每個(gè)DAC Tile內(nèi)包含4路DAC。

每個(gè)Tile都可以獨(dú)立配置,工作在不同的采樣時(shí)鐘頻率上,采樣時(shí)鐘可以來(lái)自于外部高頻時(shí)鐘輸入,可以來(lái)自于每個(gè)Tile內(nèi)部PLL倍頻后的時(shí)鐘,也可以來(lái)自于其他Tile分發(fā)的參考時(shí)鐘。

第三代RFSoC器件相比之前幾代產(chǎn)品引入了時(shí)鐘轉(zhuǎn)發(fā)特性,不再需要為每個(gè)Tile都提供獨(dú)立的采樣時(shí)鐘,節(jié)省了引腳數(shù)量,降低了外圍電路的復(fù)雜度。

時(shí)鐘轉(zhuǎn)發(fā)的方式共分為兩種,一種是參考時(shí)鐘轉(zhuǎn)發(fā),一種是采樣時(shí)鐘轉(zhuǎn)發(fā)。

所謂參考時(shí)鐘轉(zhuǎn)發(fā),是指外部時(shí)鐘芯片提供低噪聲低頻時(shí)鐘到一個(gè)ADC/DAC Tile的專(zhuān)用時(shí)鐘管腳,該時(shí)鐘將在Tile間轉(zhuǎn)發(fā),通過(guò)每個(gè)Tile內(nèi)的PLL倍頻出所需的采樣時(shí)鐘;

82de0f9a-dc1b-11ec-ba43-dac502259ad0.png

而采樣時(shí)鐘轉(zhuǎn)發(fā)有兩種途徑,一是從外部時(shí)鐘芯片直接提供低噪聲高頻的采樣時(shí)鐘到一個(gè)ADC/DAC Tile的專(zhuān)用時(shí)鐘管腳,采樣時(shí)鐘將在Tile間分發(fā),無(wú)需通過(guò)內(nèi)部PLL倍頻,直接提供給ADC/DAC Channel作為采樣時(shí)鐘;

8310947e-dc1b-11ec-ba43-dac502259ad0.png

時(shí)鐘芯片提供低噪聲低頻時(shí)鐘到一個(gè)ADC/DAC Tile的專(zhuān)用時(shí)鐘管腳,該時(shí)鐘在此Tile內(nèi)通過(guò)PLL倍頻到采樣頻率,隨后將此采樣時(shí)鐘在Tile間分發(fā)。

839152c6-dc1b-11ec-ba43-dac502259ad0.png

以上僅為時(shí)鐘分發(fā)方式的簡(jiǎn)化解釋?zhuān)瑫?huì)有一些使用的限制和建議,建議用戶參考PG269 Chapter 4 Clocking-On-chip Clock Distribution章節(jié)閱讀。

用戶也可以打開(kāi)Vivado,選擇器件型號(hào)后在RF Data Converter IP內(nèi)根據(jù)原理圖和目標(biāo)設(shè)計(jì)進(jìn)行配置,如果時(shí)鐘設(shè)計(jì)存在問(wèn)題,工具會(huì)給予一定的報(bào)警和提示。

值得注意的是,RF Data Converter IP內(nèi)的選項(xiàng)和上述的兩種分發(fā)方式不是完全匹配的。當(dāng)使用采樣時(shí)鐘分發(fā)方式時(shí),在IP內(nèi)需要勾選的是Input Refclk。ADC Tile 1(Tile 225)和DAC Tile 1(Tile 229)作為采樣時(shí)鐘輸入源,其他的ADC和DAC Tile選擇Tile 1作為時(shí)鐘源。

83c1c17c-dc1b-11ec-ba43-dac502259ad0.png

2. ZCU216時(shí)鐘結(jié)構(gòu)及可行的時(shí)鐘設(shè)計(jì)方案:

本節(jié)僅覆蓋ZCU216開(kāi)發(fā)板與RF數(shù)據(jù)轉(zhuǎn)換器相關(guān)的時(shí)鐘部分,這部分時(shí)鐘均由擴(kuò)展子卡CLK104提供。

83f1aef0-dc1b-11ec-ba43-dac502259ad0.png

如下所示為CLK104板上的功能示意圖:

8421c5c2-dc1b-11ec-ba43-dac502259ad0.png

通過(guò)一個(gè)時(shí)鐘芯片為DAC提供接近10GSPS的低噪聲采樣時(shí)鐘是很難實(shí)現(xiàn)的,CLK104板采用兩級(jí)PLL方案。

第一級(jí)LMK04828B是一個(gè)雙環(huán)路抖動(dòng)清除器和時(shí)鐘發(fā)生器,一級(jí)回路的參考輸入可為板上的10MHz TCXO、外部參考時(shí)鐘(比如從SMA100B輸出低噪聲時(shí)鐘),或SFP恢復(fù)時(shí)鐘。二級(jí)回路的參考輸入為板上的160MHz VCXO,可輸出低相噪的時(shí)鐘、同步信號(hào)。其中DAC_REFCLK和ADC_REFCLK可作為ADC/DAC低頻參考時(shí)鐘輸入;PL_CLK,AMS_SYSREF和PL_SYSREF均用作MTS(Multi-Tile Synchronization)應(yīng)用,我們將在未來(lái)博客中詳細(xì)描述MTS相關(guān)應(yīng)用;

第二級(jí)LMX2594接收第一級(jí)輸出時(shí)鐘,將其倍頻到采樣頻率,直接輸出到ADC/DAC Tile。

這三顆時(shí)鐘芯片均由SPI接口控制,板上有一顆IIC to SPI橋接芯片,F(xiàn)PGA通過(guò)IIC接口對(duì)此轉(zhuǎn)換芯片進(jìn)行控制,進(jìn)而控制三顆時(shí)鐘芯片。除此以外還有一種更為簡(jiǎn)單的方式,ZCU216板上帶有一顆TI的MSP430 MCU,其IIC接口通過(guò)IIC Switch也可以連接到這幾顆時(shí)鐘IC上,用戶可以參考XTP580,使用BoardUI實(shí)現(xiàn)對(duì)時(shí)鐘的配置。

ZCU216上的芯片型號(hào)為ZU49DR,其4個(gè)ADC Tile和4個(gè)DAC Tile都有專(zhuān)用的模擬時(shí)鐘輸入管腳,但只有兩個(gè)ADC Tile(Bank 225/226)和兩個(gè)DAC Tile(Bank 229/230)的時(shí)鐘管腳被引出。如下表所示為詳細(xì)連接關(guān)系:

84595442-dc1b-11ec-ba43-dac502259ad0.png

本文后續(xù)將會(huì)展示以下的時(shí)鐘方案配置:

使用LMX2594輸出高頻采樣時(shí)鐘分發(fā)方式,從ADC Tile1和DAC Tile1輸入。設(shè)定ADC 采樣頻率為2000MHz,DAC采樣頻率為6400MHz。

84a2726c-dc1b-11ec-ba43-dac502259ad0.png

3. 在Vivado中創(chuàng)建基于IP集成器(IP Integrator)的設(shè)計(jì)

本節(jié)需要讀者對(duì)基于Vivado的IPI設(shè)計(jì)比較熟悉,將不會(huì)對(duì)較簡(jiǎn)單的操作步驟進(jìn)行詳述。如何使用此Blog提供的TCL文件重建Vivado工程請(qǐng)參考附錄。

? 打開(kāi)Vivado 2021.2,新建工程,名為rfsoc_zcu216_clocking。

?選擇板卡ZCU216 EVB或ZCU216 ES EVB,根據(jù)板卡型號(hào)決定,二者bitstream不兼容。

? 在工程界面內(nèi)創(chuàng)建Block Design,默認(rèn)名為design_1。

?添加Zynq UltraScale+ MPSoC IP,Run Block automation,使用板卡默認(rèn)配置。

? 修改Zynq配置,PS-PL Configuration界面下將AXI HPM0/1 FPD接口關(guān)閉,勾選AXI HPM0 LPD,其他保持默認(rèn)。

? 添加Zynq UltraScale+ RF Data Converter IP。

? 修改RF Data Converter配置。

1. 切換Converter Setup為Advanced模式。

2. 使能全部ADC和DAC的每個(gè)Channel,其他所有配置大多數(shù)都是可以通過(guò)API修改的,保持默認(rèn)即可,后續(xù)將會(huì)介紹如何通過(guò)API修改。

3. 修改全部ADC的Samples per AXI4-Stream Cycle為8,DAC為16,這是為了避免AXI-Stream接口時(shí)鐘頻率超出器件頻率上限。

84e82b5e-dc1b-11ec-ba43-dac502259ad0.png

4.在System Clocking界面按下圖配置,如上一節(jié)所示,我們將先按ADC 2GSPS,DAC 6.4GSPS進(jìn)行配置,使用采樣時(shí)鐘分發(fā)方式。IP的輸出時(shí)鐘可以用于倍頻產(chǎn)生AXI4-Stream數(shù)據(jù)接口的時(shí)鐘,因此我們先保持和Fabric clock 頻率8分頻的關(guān)系進(jìn)行配置。

856b4480-dc1b-11ec-ba43-dac502259ad0.png

5. Advanced界面保持默認(rèn),無(wú)需勾選。

? Run Block Automation,將RFDC IP AXI-Lite接口通過(guò)Interconnect連接到Zynq LPD接口實(shí)現(xiàn)地址映射。

? 為AXI4-Stream接口提供合適的時(shí)鐘和復(fù)位。

1. 點(diǎn)擊BD界面上方Run Block Automation。

2. 由于所有ADC/DAC采樣率是一致的,可以使用一個(gè)MMCM產(chǎn)生ADC/DAC所需的數(shù)字時(shí)鐘。在彈出界面中勾選ADC 0-3的時(shí)鐘源為ADC0,DAC0-3的時(shí)鐘源為DAC0。

8595ec3a-dc1b-11ec-ba43-dac502259ad0.png

3. 工具將會(huì)自動(dòng)例化兩個(gè)Clocking Wizard IP,adc0_clk_wiz使用IP輸出的31.25MHz的時(shí)鐘作為輸入,倍頻輸出200MHz時(shí)鐘供給Master接口。Dac0_clk_wiz使用IP輸出的50MHz時(shí)鐘作為輸入,倍頻輸出400MHz時(shí)鐘供給給Slave接口。

85c6fd8e-dc1b-11ec-ba43-dac502259ad0.png

4. 修改clocking wizard復(fù)位極性為低電平有效。

85f29c14-dc1b-11ec-ba43-dac502259ad0.png

5.例化兩個(gè)Processor System Reset IP,并連接peripheral_aresetn到RFDC IP的s/m_axis_aresetn管腳上。其中Slave AXI-Stream接口是DAC的數(shù)字接口,Master AXI-Stream是ADC的數(shù)字接口。

6. 例化一個(gè)AXI GPIO IP,用于控制時(shí)鐘板CLK104上的SPI SDO選通。設(shè)定為輸出,位寬為2,初始值設(shè)定為0x0。

86130a30-dc1b-11ec-ba43-dac502259ad0.png

7. 引出AXI GPIO IP,命名為spi_mux。

865127b6-dc1b-11ec-ba43-dac502259ad0.png

? 完整的Block Design大致如下:

86773f5a-dc1b-11ec-ba43-dac502259ad0.png

? 在BD中右鍵Validate design,確保沒(méi)有報(bào)錯(cuò)。

86f5e238-dc1b-11ec-ba43-dac502259ad0.png

? 創(chuàng)建頂層文件,右鍵BD,Create HDL Wrapper,選擇Let Vivado manage wrapper and auto-update。

87626ba6-dc1b-11ec-ba43-dac502259ad0.png

? 添加管腳約束,RFDC相關(guān)管腳為專(zhuān)有管腳,IP內(nèi)包含管腳約束,用戶無(wú)需為此添加。

87cfac02-dc1b-11ec-ba43-dac502259ad0.png

? 生成bitstream,檢查工程是否有時(shí)序違例。

? 導(dǎo)出工程XSA文件,F(xiàn)ile-Export-Export Hardware,勾選Include Bitstream,選擇導(dǎo)出目錄。

87fcda6a-dc1b-11ec-ba43-dac502259ad0.png

原文標(biāo)題:開(kāi)發(fā)者分享|第三代Zynq RFSoC器件射頻數(shù)據(jù)轉(zhuǎn)換器應(yīng)用: 時(shí)鐘設(shè)計(jì)-上

文章出處:【微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    71

    文章

    2167

    瀏覽量

    121439
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    812

    瀏覽量

    66547
  • IP集成器
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    5802
  • RFSoC
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    2741

原文標(biāo)題:開(kāi)發(fā)者分享|第三代Zynq RFSoC器件射頻數(shù)據(jù)轉(zhuǎn)換器應(yīng)用: 時(shí)鐘設(shè)計(jì)-上

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    創(chuàng)建AXI Sniffer IPVivado IP Integrator中使用教程

    某些情況下,通過(guò)嗅探 AXI 接口來(lái)分析其中正在發(fā)生的傳輸事務(wù)是很有用的。本文中,我將為大家演示如何創(chuàng)建基本 AXI4-Lite Sniffer IP 以對(duì)特定地址上正在發(fā)生的讀寫(xiě)
    發(fā)表于 07-08 09:35 ?1040次閱讀

    Vivado 2013.1和Zynq需要及早訪問(wèn)Vivado IP集成商是什么意思?

    關(guān)于Zynq的Vivado 2013.1發(fā)行說(shuō)明說(shuō):“需要及早訪問(wèn)Vivado IP集成商”。這是什么意思?它是否真的支持Zynq開(kāi)箱即用?提前致謝。以上來(lái)自于谷歌翻譯以下為原文
    發(fā)表于 12-04 11:00

    怎么vivado HLS創(chuàng)建一個(gè)IP

    你好我正在嘗試vivado HLS創(chuàng)建一個(gè)IP,然后v
    發(fā)表于 04-03 08:48

    Vivado環(huán)境下如何在IP Integrator中正確使用HLS IP

    testbench來(lái)驗(yàn)證設(shè)計(jì)。 Integrate帶有Xilinx IP Block的 HLS IP 這里展示了IP Integrator
    發(fā)表于 02-07 17:59 ?4408次閱讀
    <b class='flag-5'>Vivado</b>環(huán)境下如何在<b class='flag-5'>IP</b> <b class='flag-5'>Integrator</b>中正確使用HLS <b class='flag-5'>IP</b>

    Northwest Logic支持Xilinx IP集成器工具流

    Northwest Logic? 的 ?DMA? 內(nèi)核現(xiàn)已支持 ?Vivado? 設(shè)計(jì)套件的 ?IP? 集成器工具流。 IP?
    發(fā)表于 02-09 08:12 ?394次閱讀
    Northwest Logic支持Xilinx <b class='flag-5'>IP</b><b class='flag-5'>集成器</b>工具流

    IP集成器調(diào)試AXI接口有哪些優(yōu)勢(shì)?

    用戶可以使用IP集成器連接IP模塊創(chuàng)建復(fù)雜的系統(tǒng)設(shè)計(jì)。通過(guò)接口構(gòu)建基于模塊的設(shè)計(jì),一般情況下接口包含多個(gè)總線和大量的信號(hào)線。因此,為了方便在硬件上調(diào)試那些包含大量接口的設(shè)計(jì),就需要驗(yàn)證
    的頭像 發(fā)表于 04-18 15:28 ?3181次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>IP</b><b class='flag-5'>集成器</b><b class='flag-5'>中</b>調(diào)試AXI接口有哪些優(yōu)勢(shì)?

    賽靈思Vivado設(shè)計(jì)套件推出2013.1版本,提供IP 集成器和高層次綜合功能

    FPGA器件創(chuàng)建高度集成的、復(fù)雜的設(shè)計(jì),賽靈思推出了Vivado IP Integrator
    發(fā)表于 09-25 09:18 ?410次閱讀

    如何讓Vivado IP Integrator和Amazon F1開(kāi)發(fā)套件進(jìn)行協(xié)同使用

    歡迎閱讀本快速視頻,我將解釋如何使用Vivado IP Integrator流程與Amazon F1硬件開(kāi)發(fā)套件或HDK配合使用
    的頭像 發(fā)表于 11-20 06:35 ?2439次閱讀

    如何在IP Integrator創(chuàng)建MicroBlaze設(shè)計(jì)

    了解如何在IP Integrator創(chuàng)建簡(jiǎn)單的MicroBlaze設(shè)計(jì),并創(chuàng)建一個(gè)KC705
    的頭像 發(fā)表于 11-20 06:13 ?3190次閱讀
    如何在<b class='flag-5'>IP</b> <b class='flag-5'>Integrator</b><b class='flag-5'>中</b><b class='flag-5'>創(chuàng)建</b>MicroBlaze設(shè)計(jì)

    如何使用Vivado Design Suite IP Integrator的調(diào)試AXI接口

    了解如何使用Vivado Design Suite IP Integrator有效地調(diào)試AXI接口。 本視頻介紹了如何使用該工具的好處,所需的調(diào)試步驟和演示。
    的頭像 發(fā)表于 11-29 06:00 ?4020次閱讀

    如何使用Vivado IP Integrator組裝具有多個(gè)時(shí)鐘域的設(shè)計(jì)

    該視頻演示了如何使用Vivado IP Integrator組裝具有多個(gè)時(shí)鐘域的設(shè)計(jì)。 它顯示了Vivado的設(shè)計(jì)規(guī)則檢查和功能如何幫助
    的頭像 發(fā)表于 11-27 07:40 ?3806次閱讀

    如何使用IP Integrator創(chuàng)建硬件設(shè)計(jì)

    本視頻介紹了使用IP Integrator(IPI)創(chuàng)建簡(jiǎn)單硬件設(shè)計(jì)的過(guò)程。 使用IPI可以無(wú)縫,快速地實(shí)現(xiàn)DDR4和PCIe等塊 連接在一起,幾分鐘內(nèi)
    的頭像 發(fā)表于 11-22 06:13 ?4476次閱讀
    如何使用<b class='flag-5'>IP</b> <b class='flag-5'>Integrator</b><b class='flag-5'>創(chuàng)建</b>硬件設(shè)計(jì)

    如何在vivado創(chuàng)建新工程上使用IP集成器創(chuàng)建塊設(shè)計(jì)

    本文介紹如何在 vivado 開(kāi)發(fā)教程(一) 創(chuàng)建新工程 的基礎(chǔ)上, 使用IP集成器, 創(chuàng)建塊設(shè)計(jì)。
    的頭像 發(fā)表于 02-08 10:47 ?2457次閱讀
    如何在<b class='flag-5'>vivado</b><b class='flag-5'>創(chuàng)建</b>新工程上使用<b class='flag-5'>IP</b><b class='flag-5'>集成器</b><b class='flag-5'>創(chuàng)建</b>塊設(shè)計(jì)

    使用VIvado封裝自定IP并使用IP創(chuàng)建工程

    FPGA實(shí)際的開(kāi)發(fā),官方提供的IP并不是適用于所有的情況,需要根據(jù)實(shí)際修改,或者是自己設(shè)計(jì)的IP時(shí),需要再次調(diào)用時(shí),我們可以將之前的設(shè)
    的頭像 發(fā)表于 04-21 08:58 ?5831次閱讀

    如何在Vivado配置FIFO IP

    Vivado IP核提供了強(qiáng)大的FIFO生成器,可以通過(guò)圖形化配置快速生成FIFO IP核。
    的頭像 發(fā)表于 08-07 15:36 ?4348次閱讀
    如何在<b class='flag-5'>Vivado</b><b class='flag-5'>中</b>配置FIFO <b class='flag-5'>IP</b>核