<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在Vivado中創建基于IP集成器(IP Integrator)的設計

XILINX開發者社區 ? 來源:XILINX開發者社區 ? 作者:Shengjie Li ? 2022-06-08 16:07 ? 次閱讀

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

Zynq UltraScale+ RFSoC 是業界首款單芯片自適應無線電平臺,在一款芯片內集成射頻直采數據轉換器、單芯片軟決策前向糾錯核(SD-FEC)、FPGA邏輯、完整的ARM處理器子系統和高速收發器等。

第三代RFSoC器件與前幾代產品相比,射頻輸入輸出頻率響應已擴展至全面支持6GHz以下頻段,可幫助用戶開發尖端RF設計,例如大規模MIMO無線電、5G基帶、固定無線接入、測試測量與相控陣雷達等等。第三代器件14bit分辨率ADC最大采樣速率增加到5.0GSPS,14bit分辨率DAC最大采樣速率增加到10.0GSPS。用戶可以參考XMP105詳細了解Zynq RFSoC系列產品具體參數及選型指南。

本次將分上下篇介紹基于Xilinx Zynq UltraScale+ RFSoC ZCU216評估套件的詳細內容:

1. 第三代RFSoC 器件時鐘轉發特性。

2. ZCU216時鐘結構及可行的時鐘設計方案。

3. 在Vivado中創建基于IP集成器(IP Integrator)的設計。

4. 在Vitis中創建基于ARM的BareMetal程序設計。

5. 代碼簡要分析。

6. 硬件環境及測試結果。

本文用于示例的軟件工具、驅動版本、硬件版本及文檔版本如下:

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 器件時鐘轉發特性:

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

每個Tile都可以獨立配置,工作在不同的采樣時鐘頻率上,采樣時鐘可以來自于外部高頻時鐘輸入,可以來自于每個Tile內部PLL倍頻后的時鐘,也可以來自于其他Tile分發的參考時鐘。

第三代RFSoC器件相比之前幾代產品引入了時鐘轉發特性,不再需要為每個Tile都提供獨立的采樣時鐘,節省了引腳數量,降低了外圍電路的復雜度。

時鐘轉發的方式共分為兩種,一種是參考時鐘轉發,一種是采樣時鐘轉發。

所謂參考時鐘轉發,是指外部時鐘芯片提供低噪聲低頻時鐘到一個ADC/DAC Tile的專用時鐘管腳,該時鐘將在Tile間轉發,通過每個Tile內的PLL倍頻出所需的采樣時鐘;

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

而采樣時鐘轉發有兩種途徑,一是從外部時鐘芯片直接提供低噪聲高頻的采樣時鐘到一個ADC/DAC Tile的專用時鐘管腳,采樣時鐘將在Tile間分發,無需通過內部PLL倍頻,直接提供給ADC/DAC Channel作為采樣時鐘;

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

時鐘芯片提供低噪聲低頻時鐘到一個ADC/DAC Tile的專用時鐘管腳,該時鐘在此Tile內通過PLL倍頻到采樣頻率,隨后將此采樣時鐘在Tile間分發。

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

以上僅為時鐘分發方式的簡化解釋,會有一些使用的限制和建議,建議用戶參考PG269 Chapter 4 Clocking-On-chip Clock Distribution章節閱讀。

用戶也可以打開Vivado,選擇器件型號后在RF Data Converter IP內根據原理圖和目標設計進行配置,如果時鐘設計存在問題,工具會給予一定的報警和提示。

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

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

2. ZCU216時鐘結構及可行的時鐘設計方案:

本節僅覆蓋ZCU216開發板與RF數據轉換器相關的時鐘部分,這部分時鐘均由擴展子卡CLK104提供。

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

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

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

通過一個時鐘芯片為DAC提供接近10GSPS的低噪聲采樣時鐘是很難實現的,CLK104板采用兩級PLL方案。

第一級LMK04828B是一個雙環路抖動清除器和時鐘發生器,一級回路的參考輸入可為板上的10MHz TCXO、外部參考時鐘(比如從SMA100B輸出低噪聲時鐘),或SFP恢復時鐘。二級回路的參考輸入為板上的160MHz VCXO,可輸出低相噪的時鐘、同步信號。其中DAC_REFCLK和ADC_REFCLK可作為ADC/DAC低頻參考時鐘輸入;PL_CLK,AMS_SYSREF和PL_SYSREF均用作MTS(Multi-Tile Synchronization)應用,我們將在未來博客中詳細描述MTS相關應用;

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

這三顆時鐘芯片均由SPI接口控制,板上有一顆IIC to SPI橋接芯片,FPGA通過IIC接口對此轉換芯片進行控制,進而控制三顆時鐘芯片。除此以外還有一種更為簡單的方式,ZCU216板上帶有一顆TI的MSP430 MCU,其IIC接口通過IIC Switch也可以連接到這幾顆時鐘IC上,用戶可以參考XTP580,使用BoardUI實現對時鐘的配置。

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

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

本文后續將會展示以下的時鐘方案配置:

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

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

3. 在Vivado中創建基于IP集成器(IP Integrator)的設計

本節需要讀者對基于Vivado的IPI設計比較熟悉,將不會對較簡單的操作步驟進行詳述。如何使用此Blog提供的TCL文件重建Vivado工程請參考附錄。

? 打開Vivado 2021.2,新建工程,名為rfsoc_zcu216_clocking。

?選擇板卡ZCU216 EVB或ZCU216 ES EVB,根據板卡型號決定,二者bitstream不兼容。

? 在工程界面內創建Block Design,默認名為design_1。

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

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

? 添加Zynq UltraScale+ RF Data Converter IP。

? 修改RF Data Converter配置。

1. 切換Converter Setup為Advanced模式。

2. 使能全部ADC和DAC的每個Channel,其他所有配置大多數都是可以通過API修改的,保持默認即可,后續將會介紹如何通過API修改。

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

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

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

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

5. Advanced界面保持默認,無需勾選。

? Run Block Automation,將RFDC IP AXI-Lite接口通過Interconnect連接到Zynq LPD接口實現地址映射。

? 為AXI4-Stream接口提供合適的時鐘和復位。

1. 點擊BD界面上方Run Block Automation。

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

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

3. 工具將會自動例化兩個Clocking Wizard IP,adc0_clk_wiz使用IP輸出的31.25MHz的時鐘作為輸入,倍頻輸出200MHz時鐘供給Master接口。Dac0_clk_wiz使用IP輸出的50MHz時鐘作為輸入,倍頻輸出400MHz時鐘供給給Slave接口。

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

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

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

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

6. 例化一個AXI GPIO IP,用于控制時鐘板CLK104上的SPI SDO選通。設定為輸出,位寬為2,初始值設定為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,確保沒有報錯。

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

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

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

? 添加管腳約束,RFDC相關管腳為專有管腳,IP內包含管腳約束,用戶無需為此添加。

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

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

? 導出工程XSA文件,File-Export-Export Hardware,勾選Include Bitstream,選擇導出目錄。

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

原文標題:開發者分享|第三代Zynq RFSoC器件射頻數據轉換器應用: 時鐘設計-上

文章出處:【微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Xilinx
    +關注

    關注

    70

    文章

    2129

    瀏覽量

    119599
  • Vivado
    +關注

    關注

    18

    文章

    791

    瀏覽量

    65339
  • IP集成器
    +關注

    關注

    0

    文章

    4

    瀏覽量

    5769
  • RFSoC
    +關注

    關注

    0

    文章

    24

    瀏覽量

    2688

原文標題:開發者分享|第三代Zynq RFSoC器件射頻數據轉換器應用: 時鐘設計-上

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    創建AXI Sniffer IP以在Vivado IP Integrator中使用教程

    在某些情況下,通過嗅探 AXI 接口來分析其中正在發生的傳輸事務是很有用的。在本文中,我將為大家演示如何創建基本 AXI4-Lite Sniffer IP 以對特定地址上正在發生的讀寫傳輸事務進行計數。
    發表于 07-08 09:35 ?863次閱讀

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

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

    Verilog IP創建IP項目中實例化VHDL costum IP

    嗨,我將通過Vivado定制我的所有者IP。如果我Vivado中使用AXI接口創建和打包IP
    發表于 03-16 07:51

    怎么vivado HLS創建一個IP

    你好我正在嘗試vivado HLS創建一個IP,然后v
    發表于 04-03 08:48

    Vivado環境下如何在IP Integrator中正確使用HLS IP

    testbench來驗證設計。 Integrate帶有Xilinx IP Block的 HLS IP 這里展示了在IP Integrator中,如何將兩個HLS
    發表于 02-07 17:59 ?4240次閱讀
    <b class='flag-5'>Vivado</b>環境下如何在<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? 內核現已支持 ?Vivado? 設計套件中的 ?IP? 集成器工具流。 IP? 集成器流可
    發表于 02-09 08:12 ?338次閱讀
    Northwest Logic支持Xilinx <b class='flag-5'>IP</b><b class='flag-5'>集成器</b>工具流

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

    FPGA器件中創建高度集成的、復雜的設計,賽靈思推出了Vivado IP Integrator(IPI)早期試用版本。
    發表于 09-25 09:18 ?306次閱讀

    如何讓Vivado IP Integrator和Amazon F1開發套件進行協同使用

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

    如何在IP Integrator創建MicroBlaze設計

    了解如何在IP Integrator創建簡單的MicroBlaze設計,并創建一個在KC705目標板上運行的簡單軟件應用程序。
    的頭像 發表于 11-20 06:13 ?2926次閱讀
    如何在<b class='flag-5'>IP</b> <b class='flag-5'>Integrator</b>中<b class='flag-5'>創建</b>MicroBlaze設計

    如何使用Vivado Design Suite IP Integrator的調試AXI接口

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

    如何使用Vivado IP Integrator組裝具有多個時鐘域的設計

    該視頻演示了如何使用Vivado IP Integrator組裝具有多個時鐘域的設計。 它顯示了Vivado中的設計規則檢查和功能如何幫助用戶自動執行此流程。
    的頭像 發表于 11-27 07:40 ?3611次閱讀

    如何使用IP Integrator創建硬件設計

    本視頻介紹了使用IP Integrator(IPI)創建簡單硬件設計的過程。 使用IPI可以無縫,快速地實現DDR4和PCIe等塊 連接在一起,在幾分鐘內創建硬件設計。
    的頭像 發表于 11-22 06:13 ?4244次閱讀
    如何使用<b class='flag-5'>IP</b> <b class='flag-5'>Integrator</b><b class='flag-5'>創建</b>硬件設計

    如何在vivado創建新工程上使用IP集成器創建塊設計

    本文介紹如何在 vivado 開發教程(一) 創建新工程 的基礎上, 使用IP集成器, 創建塊設計。
    的頭像 發表于 02-08 10:47 ?2178次閱讀
    如何在<b class='flag-5'>vivado</b><b class='flag-5'>創建</b>新工程上使用<b class='flag-5'>IP</b><b class='flag-5'>集成器</b><b class='flag-5'>創建</b>塊設計

    使用VIvado封裝自定IP并使用IP創建工程

    在FPGA實際的開發中,官方提供的IP并不是適用于所有的情況,需要根據實際修改,或者是在自己設計的IP時,需要再次調用時,我們可以將之前的設計封裝成自定義IP,然后在之后的設計中繼續使用此IP
    的頭像 發表于 04-21 08:58 ?4814次閱讀

    如何在Vivado中配置FIFO IP

    Vivado IP核提供了強大的FIFO生成器,可以通過圖形化配置快速生成FIFO IP核。
    的頭像 發表于 08-07 15:36 ?2227次閱讀
    如何在<b class='flag-5'>Vivado</b>中配置FIFO <b class='flag-5'>IP</b>核
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>