AXI_HP 接口:高性能存儲(chǔ)器訪問(wèn)的橋梁(三)
一、AXI_HP 接口在系統(tǒng)中的應(yīng)用
1. 典型應(yīng)用場(chǎng)景
AXI_HP 接口在 ZYNQ 系統(tǒng)中主要用于需要高帶寬數(shù)據(jù)傳輸?shù)膱?chǎng)景:
視頻處理流水線:PL 中的視頻加速器通過(guò) AXI_HP 接口直接從 DDR 讀取原始視頻數(shù)據(jù),處理后寫回 DDR,避免 PS 處理器介入
實(shí)時(shí)信號(hào)處理:雷達(dá)、超聲等實(shí)時(shí)信號(hào)處理系統(tǒng)中,PL 邏輯通過(guò) AXI_HP 高速獲取采樣數(shù)據(jù)并寫回處理結(jié)果
大數(shù)據(jù)緩沖:PL 中實(shí)現(xiàn)的 FIFO 緩沖區(qū)通過(guò) AXI_HP 接口與 DDR 進(jìn)行數(shù)據(jù)交換,擴(kuò)展緩存容量
多通道數(shù)據(jù)采集:多個(gè) ADC 采集的并行數(shù)據(jù)流通過(guò)不同 AXI_HP 通道寫入 DDR,實(shí)現(xiàn)無(wú)沖突數(shù)據(jù)記錄
在這些場(chǎng)景中,AXI_HP 接口的高帶寬特性能夠充分發(fā)揮 PL 的硬件加速能力,避免數(shù)據(jù)傳輸成為系統(tǒng)性能瓶頸。
2. 系統(tǒng)集成架構(gòu)
一個(gè)典型的基于 AXI_HP 接口的系統(tǒng)架構(gòu)如下:
[攝像頭] → [Video In IP] → [PL加速器] → [AXI_HP0] → [DDR]
↑
[顯示器] ← [Video Out IP] ← [PL處理器] ← [AXI_HP1]
在該架構(gòu)中:
Video In IP 將攝像頭數(shù)據(jù)通過(guò) AXI_HP0 寫入 DDR
PL 加速器從 DDR 讀取數(shù)據(jù)進(jìn)行處理,處理結(jié)果通過(guò) AXI_HP0 寫回
PL 處理器通過(guò) AXI_HP1 從 DDR 讀取處理后的視頻數(shù)據(jù),經(jīng) Video Out IP 顯示
這種架構(gòu)使視頻數(shù)據(jù)的采集、處理和顯示全流程在 PL 中完成,PS 處理器僅需負(fù)責(zé)初始化和控制,大幅提升了系統(tǒng)的實(shí)時(shí)性。
3. 多通道協(xié)同策略
利用 4 個(gè)獨(dú)立的 AXI_HP 通道,可以實(shí)現(xiàn)更復(fù)雜的并行數(shù)據(jù)處理:
功能分區(qū):不同通道負(fù)責(zé)不同類型的數(shù)據(jù)傳輸(如 HP0 讀、HP1 寫)
優(yōu)先級(jí)分配:為關(guān)鍵任務(wù)分配專用通道,避免帶寬競(jìng)爭(zhēng)
交織訪問(wèn):通過(guò)通道間的地址交織,提高存儲(chǔ)器控制器的效率
例如在自動(dòng)駕駛系統(tǒng)中:
HP0:激光雷達(dá)點(diǎn)云數(shù)據(jù)寫入 DDR
HP1:攝像頭視頻流寫入 DDR
HP2:PL 中的目標(biāo)檢測(cè)加速器讀取融合數(shù)據(jù)
HP3:處理結(jié)果寫回 DDR 供 PS 決策使用
二、AXI_HP 接口的實(shí)現(xiàn)要點(diǎn)
1. PL 端接口實(shí)現(xiàn)
在 Vivado 中實(shí)現(xiàn) AXI_HP 接口訪問(wèn)需要以下關(guān)鍵步驟:
接口配置:在 Block Design 中啟用所需的 AXI_HP 通道(HP0-HP3)
IP 核連接:將 PL 中的主設(shè)備 IP 核(如 AXI DMA、自定義加速器)的 AXI 主接口連接到 AXI_HP 從接口
地址映射:通過(guò)地址編輯器(Address Editor)配置 PL 主設(shè)備的地址范圍
約束設(shè)置:為 AXI_HP 接口添加時(shí)序約束,確保信號(hào)完整性
2. 地址映射與訪問(wèn)控制
AXI_HP 接口訪問(wèn)的是 PS 控制的外部存儲(chǔ)器,需要正確配置地址映射:
PL 主設(shè)備通過(guò) AXI_HP 接口訪問(wèn)的地址空間與 PS 處理器看到的地址空間一致
地址范圍需在 ZYNQ 的存儲(chǔ)器映射范圍內(nèi)(通常從 0x00000000 開(kāi)始)
多 HP 通道訪問(wèn)同一地址區(qū)域時(shí)需注意數(shù)據(jù)一致性,必要時(shí)添加互斥邏輯
3. 數(shù)據(jù)一致性處理
由于 AXI_HP 接口不維護(hù)緩存一致性,在 PS 與 PL 共享數(shù)據(jù)時(shí)需注意:
PS 寫入的數(shù)據(jù)如需被 PL 讀取,需先清除相關(guān)緩存行(使用 cache flush 操作)
PL 寫入的數(shù)據(jù)如需被 PS 讀取,需確保 PS 處理器已 invalidate 相關(guān)緩存行
對(duì)于需要嚴(yán)格一致性的場(chǎng)景,應(yīng)考慮使用 AXI_ACP 接口替代
4. 性能優(yōu)化策略
充分發(fā)揮 AXI_HP 接口性能的關(guān)鍵技術(shù):
最大化突發(fā)長(zhǎng)度:使用 256 拍最大突發(fā)長(zhǎng)度,減少地址傳輸開(kāi)銷
通道并行使用:將不同數(shù)據(jù)流分配到 4 個(gè)獨(dú)立 HP 通道,避免競(jìng)爭(zhēng)
地址對(duì)齊:確保訪問(wèn)地址按數(shù)據(jù)寬度對(duì)齊(如 32 位數(shù)據(jù)對(duì)齊到 4 字節(jié)邊界)
讀寫平衡:合理安排讀寫操作順序,避免存儲(chǔ)器控制器擁塞
避免頻繁切換:減少讀寫操作的頻繁切換,提高存儲(chǔ)器控制器效率