本篇博文旨在演示如何通過 NoC 從 Versal 應用處理單元 (APU) 訪問 AXI BRAM。
設計示例是使用 Vivado 2020.2 版本創(chuàng)建的,評估板使用的是 VCK190 評估板。
Versal
Versal 架構將“Scalar Engine”(標量引擎)、“Adaptable Engine”(自適應引擎)和“Intelligent Engine”(智能引擎)這三種不同類型的引擎與豐富的連接和通信功能以及片上網絡 (NoC) 有機結合,從而支持實現(xiàn)覆蓋整個器件的無縫式存儲器映射訪問。
智能引擎包括:
SIMD VLIW AI 引擎,適用于自適應推斷和高級信號處理計算
DSP 引擎,適用于定點運算、浮點運算和復雜的 MAC 運算。
自適應引擎將可編程邏輯塊與存儲器有機結合,它具備專為應對高計算密度需求而設計的架構。
標量引擎包括 Arm Cortex-A72 和 Cortex-R5 處理器,支持計算密集型任務。
片上網絡 (NoC)
片上網絡 (NoC) 是一個 AXI 互連網絡,用于在可編程邏輯 (PL)、處理器系統(tǒng) (PS) 和其它硬核塊中的 IP 端點之間共享數據。
此基礎架構覆蓋整個器件,基于專有的切換開關形成高速集成的數據路徑。
模塊框圖

Vivado 步驟
步驟 1:
以 VCK190 評估板為目標創(chuàng)建工程,并在 IP integrator 內創(chuàng)建塊設計。
步驟 2:
添加 versal_cips IP (Control, Interfaces and Processing System),并運行塊自動化設置。在設置中配置 NoC 的存儲器控制器 (DDR4),并將 PL 時鐘和 PL 復位的數量配置為 1。

步驟 3:
雙擊打開 NoC IP,在“General”(常規(guī))選項卡中進行以下設置:
Number of AXI Master Interfaces(AXI 主接口數)= 1
Number of AXI Clocks(AXI 時鐘數)= 7

步驟 4:
轉至“Connectivity”(連接)選項卡,檢查 S0xAXI 與 M00_AXI 之間的連接,然后單擊“OK”(確定)。

步驟 5:
將 AXI BRAM 添加到塊設計中,單擊“Run Connection Automation”(運行自動連接),然后選中 pl_clk0 作為從接口的時鐘源。

步驟 6:
再次運行“Run Connection Automation”,配置 ext_reset_in接口。

步驟 7:
運行“validation”(確認)步驟,確認成功后,檢查“Address Editor”(地址編輯器)選項卡。

步驟 8:
為 BD 創(chuàng)建頂層文件,運行綜合與實現(xiàn),然后生成器件鏡像。
步驟 9:
導出硬件設計以獲取 XSA 文件。
Vitis 步驟
步驟 1:
在 Vitis 中創(chuàng)建新的應用工程,然后切換至“Create a new platform from hardware”(基于硬件創(chuàng)建新平臺)選項卡。
單擊“+”,選擇從 Vivado 導出的 XSA 文件。

步驟 2:
提供工程名稱,并選擇處理器。

步驟 3:
選擇 Hello World 模板,然后單擊“Finish”(完成)。

代碼修改
創(chuàng)建完應用工程后,在 main.c 中修改代碼對 AXI BRAM進行讀寫。
Xil_Out64 函數用于將數據寫入 64 位地址,而Xil_In32 函數則用于地址中讀取 32 位數據。
示例:
寫入數據 API
Xil_Out64(bram_address_write,write_data);
讀取數據 API
read_data=Xil_In32(bram_address_read);
代碼快照:

運行設計
連接到VCK190 評估板,并設置啟動模式為 JTAG 啟動模式,然后運行應用。
控制臺輸出示例:

審核編輯:郭婷
-
dsp
+關注
關注
561文章
8244瀏覽量
366571 -
引擎
+關注
關注
1文章
368瀏覽量
23451
發(fā)布評論請先 登錄
HLS設計中的BRAM使用優(yōu)勢
利用開源uart2axi4實現(xiàn)串口訪問axi總線
NoC性能監(jiān)控器調試指南
如何為蜂鳥添加DDR內存擴展
恩智浦推出i.MX 952人工智能應用處理器
AXI GPIO擴展e203 IO口簡介
AMD 7nm Versal系列器件NoC的使用及注意事項
關于AXI Lite無法正常握手的問題
RDMA簡介8之AXI分析
AMD Versal Adaptive SoC Clock Wizard AXI DRP示例
NVMe協(xié)議簡介之AXI總線
面向AI與機器學習應用的開發(fā)平臺 AMD/Xilinx Versal? AI Edge VEK280
如何通過NoC 從 Versal應用處理單元訪問AXI BRAM
評論