ZYNQ 之PS 和PL 互聯技術之AXI

1. ZYNQ 概述

2.  AXI 概述

AXI (Advanced eXtensible Interface)是xilinx 從6系列fpga開始引入的一個接口協議,主要描述了主設備和從設備之間的數據傳輸方式。主設備和從設備之間通過握手信號建立連接。當從設備準備好接收數據時,會發出ready信號。當主設備的數據準備好時,會發出和維持VALID信號,表示數據有效。數據只有在valid 和ready信號都有效的時候纔開始傳輸。  

    在zynq中,支持AXI-LITE,AXI4 和AXI Stream 三種總線。

AXI4-lite :

  具有輕量級,結構簡單的特點,適合小批量數據、簡單控制場合。不支持批量傳輸,讀寫時一次只能讀寫一個字(32bit)。主要用於訪問一些低速外設和外設的控制。

AXI4:和AXI4-lite差不多,只是增加了一項功能就是批量傳輸,可以連續對一片地址進行一次性讀寫。也就是說具有數據讀寫的burst功能。

AXI4-Stream : 這是一種連續流接口,不需要地址線(很像FIFO,一直讀或一直寫就行)。對於這種沒有地址必須有一個轉換裝置,列如AXI-DMA模塊來實現內存映射到流的轉換接口。

在zynq芯片內部,使用硬件實現了AXI總線協議,包括9個物理接口,分別爲AXI-GP0 ~ AXI-GP3, AXI-HP0 ~ AXI-HP3, AXI-ACP接口。

AXI-ACP接口是ARM多核架構下定義的一種接口,用來管理DMA之類的不帶緩存的AXI 外設,PS端是slave 接口。

AXI-HP接口,是高性能、帶寬的AXI3.0標準接口,共有4個,PL模塊作爲主設備連接,主要用於PL訪問PS上的存儲器(DDR和on-chip RAM)

AXI-GP接口,是通用的AXI接口,共4個,包括2個32位主設備和2個32位從設備接口。

GP接口爲32位低性能接口,理論帶寬600MB/s; HP和ACP接口爲64位高性能接口,理論帶寬1200MB/s 。高性能接口不能做成主機接口是因爲高性能接口不需要ARM CPU來負責數據搬移,真正的搬運工是位於PL中的DMA控制器。

下面爲幾個常用的AXI接口IP 功能介紹:

AXI -DMA:實現從PS內存到PL高速傳輸高速通道 AXI-HP <---> AXI Stream的轉換

AXI-FIFO-MM2S:實現從PS內存到PL通用傳輸通道AXI-GP <---> AXI Stream的轉換

AXI-Datamover :實現從PS內存到PL 高速傳輸高速通道AXI -HP<-->AXI Stream的轉換,只不過這次是完全由PL控制,PS是完全被動的。

AXI-VDMA:實現從PS內存到PL高速傳輸高速通道AXI-HP <-->AXI Stream的轉換,只不多是專門針對視頻、圖像等二維數據的。

AXI -CDMA:這個是有PL完成的,將數據從內存的一個位置搬移到另一個位置,無需CPU 來插手。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章