ZYNQ數據交互通路PS和PL的連接技術_第1頁
ZYNQ數據交互通路PS和PL的連接技術_第2頁
ZYNQ數據交互通路PS和PL的連接技術_第3頁
ZYNQ數據交互通路PS和PL的連接技術_第4頁
ZYNQ數據交互通路PS和PL的連接技術_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

ZYNQ數據交互通路PS和PL的連接技術ZYNQ作為首款將高性能ARMCortex-A系列處理器與高性能FPGA在單芯片內緊密結合的產品,為了實現ARM處理器和FPGA之間的高速通信和數據交互,發揮ARM處理器和FPGA的性能優勢,需要設計高效的片內高性能處理器與FPGA之間的互聯通路。因此,如何設計高效的PL和PS數據交互通路是ZYNQ芯片設計的重中之重,也是產品設計的成敗關鍵之一。主要介紹PS和PL的連接,了解PS和PL之間連接的技術。其實,在具體設計中我們往往不需要在連接這個地方做太多工作,我們加入IP核以后,系統會自動使用AXI接口將我們的IP核與處理器連接起來,我們只需要再做一點補充就可以了。不過,這部分概念還是了解比較好。AXI接口標準介紹AXI是Xilinx從6系列的FPGA開始引入的一個接口協議,主要描述了主設備和從設備之間的數據傳輸方式。在ZYNQ中繼續使用,版本是AXI4,所以我們經常會看到AXI4.0,ZYNQ內部設備都有AXI接口。其實AXI就是ARM公司提出的AMBA(AdvancedMicrocontrollerBusArchitecture)的一個部分,是一種高性能、高帶寬、低延遲的片內總線,也用來替代以前的AHB和APB總線。第一個版本的AXI(AXI3)包含在2003年發布的AMBA3.0中,AXI的第二個版本AXI(AXI4)包含在2010年發布的AMBA4.0之中。AXI協議主要描述了主設備和從設備之間的數據傳輸方式,主設備和從設備之間通過握手信號建立連接。當從設備準備好接收數據時,會發出READY信號。當主設備的數據準備好時,會發出和維持VALID信號,表示數據有效。數據只有在VALID和READY信號都有效的時候才開始傳輸。當這兩個信號持續保持有效,主設備會繼續傳輸下一個數據。主設備可以撤銷VALID信號,或者從設備撤銷READY信號終止傳輸。AXI的協議如圖1,T2時,從設備的READY信號有效,T3時主設備的VILID信號有效,數據傳輸開始。圖1AXI握手時序圖在ZYNQ中,支持AXI-Lite,AXI4和AXI-Stream三種總線,通過表1,我們可以看到這三中AXI接口的特性。表1AXI接口分類AXI-Lite:具有輕量級,結構簡單的特點,適合小批量數據、簡單控制場合。不支持批量傳輸,讀寫時一次只能讀寫一個字(32bit)。主要用于訪問一些低速外設和外設的控制。AXI4:接口和AXI-Lite差不多,只是增加了一項功能就是批量傳輸,可以連續對一片地址進行一次性讀寫。也就是說具有數據讀寫的burst功能。上面兩種均采用內存映射控制方式,即ARM將用戶自定義IP編入某一地址進行訪問,讀寫時就像在讀寫自己的片內RAM,編程也很方便,開發難度較低。代價就是資源占用過多,需要額外的讀地址線、寫地址線、讀數據線、寫數據線、寫應答線這些信號線。AXI-Stream:這是一種連續流接口,不需要地址線(很像FIFO,一直讀或一直寫就行)。對于這類IP,ARM不能通過上面的內存映射方式控制(FIFO根本沒有地址的概念),必須有一個轉換裝置,例如AXI-DMA模塊來實現內存映射到流式接口的轉換。AXI-Stream適用的場合有很多:視頻流處理;通信協議轉換;數字信號處理;無線通信等。其本質都是針對數值流構建的數據通路,從信源(例如ARM內存、DMA、無線接收前端等)到信宿(例如HDMI顯示器、高速AD音頻輸出,等)構建起連續的數據流。這種接口適合做實時信號處理。AXI4和AXI4-Lite接口包含5個不同的通道:ReadAddressChannelWriteAddressChannelReadDataChannelWriteDataChannelWriteResponseChannel其中每個通道都是一個獨立的AXI握手協議。下面兩個圖分別顯示了讀和寫的模型:圖2AXI讀數據通道圖3AXI寫數據通道ZYNQ的AXI資源在ZYNQ芯片內部用硬件實現了AXI總線協議,包括9個物理接口,分別為AXI-GP0~AXI-GP3,AXI-HP0~AXI-HP3,AXI-ACP接口。AXI_ACP接口,是ARM多核架構下定義的一種接口,中文翻譯為加速器一致性端口,用來管理DMA之類的不帶緩存的AXI外設,PS端是Slave接口。AXI_HP接口,是高性能/帶寬的AXI3.0標準的接口,總共有四個,PL模塊作為主設備連接。主要用于PL訪問PS上的存儲器(DDR和On-ChipRAM)AXI_GP接口,是通用的AXI接口,總共有四個,包括兩個32位主設備接口和兩個32位從設備接口。AXI接口分布圖如下圖4所示:圖4AXI接口分布圖可以看到,只有兩個AXI-GP是MasterPort,即主機接口,其余7個口都是SlavePort(從機接口)。主機接口具有發起讀寫的權限,ARM可以利用兩個AXI-GP主機接口主動訪問PL邏輯,其實就是把PL映射到某個地址,讀寫PL寄存器如同在讀寫自己的存儲器。其余從機接口就屬于被動接口,接受來自PL的讀寫,逆來順受。另外這9個AXI接口性能也是不同的。GP接口是32位的低性能接口,理論帶寬600MB/s,而HP和ACP接口為64位高性能接口,理論帶寬1200MB/s。有人會問,為什么高性能接口不做成主機接口呢?這樣可以由ARM發起高速數據傳輸。答案是高性能接口根本不需要ARMCPU來負責數據搬移,真正的搬運工是位于PL中的DMA控制器。PL端的AXI接口設計位于PS端的ARM直接有硬件支持AXI接口,而PL則需要使用邏輯實現相應的AXI協議。Xilinx在Vivado開發環境里提供現成IP如AXI-DMA,AXI-GPIO,AXI-Dataover,AXI-Stream都實現了相應的接口,使用時直接從Vivado的IP列表中添加即可實現相應的功能。下圖為Vivado下的各種DMAIP:圖5AXIDMAIP核下面為幾個常用的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來插手。有時,用戶需要開發自己定義的IP同PS進行通信,這時可以利用向導生成對應的IP。用戶自定義IP核可以擁有AXI-Lite,AXI4,AXI-Stream,PLB和FSL這些接口。后兩種由于ARM這一端不支持,所以不用。有了上面的這些官方IP和向導生成的自定義IP,用戶其實不需要對AXI時序了解太多(除非確實遇到問題),因為Xilinx已經將和AXI時序有關的細節都封裝起來,用戶只需要關注自己的邏輯實現即可。AXIInterconnectAXI協議嚴格的講是一個點對點的主從接口協議,當多個外設需要互相交互數據時,我們需要加入一個AXIInterconnect模塊,也就是AXI互聯矩陣,作用是提供將一個或多個AXI主設備連接到一個或多個AXI從設備的一種交換機制(有點類似于交換機里面的交換矩陣)。這個AXIInterconnectIP核最多可以支持16個主設備、16個從設備,如果需要更多的接口,可以多加入幾個IP核。AXIInterconnect基本連接模式有以下幾種:N-to-1Interconnect1-to-NInterconnectN-to-MInterconnect(CrossbarMode)N-to-MInterconnect(SharedAccessMode)圖6多對一的情況圖7一對多的情況圖8多對多讀寫地址通道圖9多對多讀寫數據通道ZYNQ內部的AXI接口

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論