本文將使用 Clocking Wizard文檔 PG321中的“通過 AXI4-Lite 進行動態重配置的示例”章節作為參考。
首先在 AMD Vivado Design Suite 中構建工程。本文使用的是 VCK190 評估板。
您可使用 Vivado 中的實用設計示例作為起點。選擇 CIPS DDR PL 調試示例,其中 CIPS 已設置完成。

在塊設計中,將 Clocking Wizard 添加到圖形界面中。鑒于我們使用的是 VCK190,因此設置 CLK_IN1 = LPDDR4 SMA CLK2。

在“Clocking Features”選項卡上,選中“Dynamic Reconfiguration”選項卡,保留“Interface Selection”的設置“AXI4Lite”不變。

在“Output Clocks”選項卡上,選擇兩個輸出時鐘:100 MHz 和 50 MHz。
Clocking Wizard 將生成 _drp_address_map (MIF) 文件,其中包含地址和值列表,與 Wizard 中請求的值相對應。
您也能使用要重新配置的值來創建第二個 Clocking Wizard,以便生成重配置時要寫入的地址和數據。

選擇“Connection Automation”,將設置 Bridge IP 以將 AXI4-Lite 轉化為 NOC/CIPS 上的 AXI 接口。

在此示例中,輸出了 2 個時鐘。這些是 ILA 捕獲的 100 MHz 和 50 MHz 時鐘計數器,可以比較這 2 個計數器來直觀顯示相對頻率。
此處隨附了 BD Tcl 供您參考:

在“Address Editor”中,可看到 Clock Wizard 的“Base Address”。在 Clock Wizard 實例中,“Base Address”為 0x201C0000000。

運行實現,并寫入器件鏡像。然后選擇“Export -> Export Hardware”并選擇“Include device image”。這樣會生成包含 Clock Wizard 的 XSA 文件。
在此階段可以下載 PDI 并進行檢查。您會看到其中一個計數器的速率是另一個計數器的兩倍。
CLK_OUT1 工作頻率為 100 MHz,時鐘設置為 c_counter_binary_1。CLK_OUT2 工作頻率為 50 MHz,時鐘設置為 c_counter_binary_2。因此,c_counter_binary_1 的工作頻率是 c_counter_binary_2 的兩倍。


要啟動 AMD Vitis 統一軟件平臺,請轉至“Tools -> Launch Vitis IDE”,并選擇或創建工作空間。
選擇“Create Application Project”,在“Platform”選項卡上,選中“Create a new platform from hardware (XSA)”。

為應用工程命名。“Domain”保留默認設置。
對于“Templates”,如果 XSA 中有 UART(對于 VCK190,UART 包含在 CIPS 中),那么您可以選擇“Hello World”,否則,您可以選擇“Empty Application”。
我們已知 Clock Wizard 基地址為 0x201C0000000。在 Clocking Wizard 中,使用 PG 讀取 LOCKED 狀態,OFFSET 為 0x4。

利用 Xil_In32 和 Xil_Out32 通過 AXI 直接讀取和寫入地址。

在示例中,把 CLKOUT2 從 50 MHz 重配置為 25 MHz。
以下是第二個 Clocking Wizard 的 drp_address_map (MIF),其中 CLKOUT2 設為 25 MHz(而不是 50 MHz)。
在地址 0x201c0000344 處,寫入數據 0x1e1e。



下一步是寫入并應用該 DRP 值以配置地址:C_BASEADDR + 0x014,搭配 0x00000003 以設置 LOAD 位和 SEN 位。

在終端上會看到:

返回到 ILA 并觀察 c_counter_binary_1 的計數結果是否是 c_counter_binary_2 的 4 倍。

Clocking Wizard 包含軟件驅動程序,其中包含的示例在使用 AXI DRP 時也很有幫助。
-
amd
+關注
關注
25文章
5682瀏覽量
139934 -
DDR
+關注
關注
11文章
754瀏覽量
69099 -
soc
+關注
關注
40文章
4576瀏覽量
229107 -
design
+關注
關注
0文章
165瀏覽量
47512 -
評估板
+關注
關注
1文章
931瀏覽量
31176
原文標題:開發者分享|AMD Versal? Adaptive SoC Clock Wizard AXI DRP 示例
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
在AMD Versal自適應SoC上使用QEMU+協同仿真示例
使用Aurora 6466b協議實現AMD UltraScale+ FPGA與AMD Versal自適應SoC的對接
AMD Versal SoC刷新邊緣AI性能,單芯片方案驅動嵌入式系統
AMD Versal自適應SoC內置自校準的工作原理
《電子發燒友電子設計周報》聚焦硬科技領域核心價值 第13期:2025.05.26--2025.05.30
Versal CPM AXI Bridge模式的地址轉換
AMD Versal SoC全新升級邊緣AI性能,單芯片方案驅動嵌入式系統
AMD Versal? Adaptive SoC CPM PCIE PIO EP設計CED示例
AMD Versal自適應SoC CPM5 QDMA的Tandem PCIe啟動流程介紹
AMD Vivado Design Suite 2024.2全新推出
如何通過PMC_GPIO喚醒AMD Versal? Adaptive SoC Linux系統
AMD Versal自適應SoC DDRMC如何使用Micron仿真模型進行仿真
AMD Versal自適應SoC器件Advanced Flow概覽(上)
AMD Versal自適應SoC器件Advanced Flow概覽(下)
AMD Versal Adaptive SoC Clock Wizard AXI DRP示例
評論