Zynq 系列的亮點在于 FPGA 里包含了完整的 ARM 處理子系統(PS),每一顆 Zynq 系列的處理器都包含了Cortex-A9處理器,整個處理器的搭建都以處理器為中心, 而且處理器子系統中集成了內存控制器和大量的外設,使Cortex-A9的核在Zynq-7000中完全獨立于可編程邏輯單元,也就是說如果暫時沒有用到可編程邏輯單元部分(PL),ARM處理器的子系統也可以獨立工作,這與以前的FPGA有本質區別,其是以處理器為中心的。Zynq就是兩大功能塊,PS部分和PL部分,說白了,就是 ARM 的 SOC 部分和 FPGA部分。其中,PS 集成了兩個ARM Cortex-A9 處理器, AMBA互連,內部存儲器,外部存儲器接口和外設。這些外設主要包括USB總線接口,以太網接口,SD/SDIO 接口,I2C總線接口,CAN總線接口,UART接口,GPIO 等,下圖是ZYNQ芯片總體框圖。
在ZYNQ芯片內部用硬件實現了AXI總線協議,包括9個物理接口,分別為AXI-GP0AXI-GP3,AXI-HP0AXI-HP3,AXI-ACP接口。
AXI_ACP接口:ARM多核架構下定義的一種接口,中文翻譯為加速器一致性端口,用來管理 DMA之類的不帶緩存的 AXI 外設,PS 端是 Slave 接口。
AXI_HP接口:高性能/帶寬的AXI3.0標準的接口,總共有四個,PL模塊作為主設備連接。主要用于 PL 訪問 PS 上的存儲器(DDR 和 On-Chip RAM)。
AXI_GP 接口:通用的 AXI 接口,總共有四個,包括兩個 32 位主設備接口和兩個 32 位從設備接口。
ZYNQ 作為首款將高性能 ARM Cortex-A9 系列處理器與高性能 FPGA 在單芯片內緊密結合的產品,為了實現 ARM 處理器和 FPGA 之間的高速通信和數據交互,發揮 ARM 處理器和 FPGA的性能優勢,需要設計高效的片內高性能處理器與 FPGA 之間的互聯通路。因此,如何設計高效的 PL 和 PS數據交互通路是 ZYNQ 芯片設計的重中之重,也是產品設計的成敗關鍵之一。其實,在具體設計中我們往往不需要在連接這個地方做太多工作,我們加入 IP 核以后,系統會自動使用 AXI 接口將我們的 IP 核與處理器連接起來,我們只需要再做一點補充就可以了。AXI 就是 ARM 公司提出的AMBA(Advanced Microcontroller Bus Architecture)的一個部分,是一種高性能、高帶寬、低延遲的片內總線,也用來替代以前的 AHB 和 APB 總線。第一個版本的 AXI(AXI3)包含在 2003年發布的 AMBA3.0 中,AXI的第二個版本 AXI(AXI4)包含在 2010 年發布的 AMBA 4.0 之中。
在 ZYNQ 中,支持 AXI-Lite, AXI4 和 AXI-Stream 三種總線:
AXI4-Lite:具有輕量級,結構簡單的特點,適合小批量數據、簡單控制場合。不支持批量傳輸,讀寫時一次只能讀寫一個字(32bit)。主要用于訪問一些低速外設和外設的控制。
AXI4:接口和 AXI-Lite 差不多,只是增加了一項功能就是批量傳輸,可以連續對一片地址進行一次性讀寫。也就是說具有數據讀寫的 burst 功能。
上面兩種均采用內存映射控制方式,即 ARM 將用戶自定義 IP 編入某一地址進行訪問,讀寫時就像在讀寫自己的片內RAM,編程也很方便,開發難度較低。代價就是資源占用過多,需要額外的讀地址線、寫地址線、讀數據線、寫數據線、寫應答線這些信號線。
AXI4-Stream:這是一種連續流接口,不需要地址線(很像FIFO,一直讀或一直寫就行)。對于這類 IP,ARM 不能通過上面的內存映射方式控制(FIFO 根本沒有地址的概念),必須有一個轉換裝置,例如 AXI-DMA 模塊來實現內存映射到流式接口的轉換。AXI-Stream 適用的場合有很多:視頻流處理;通信協議轉換;數字信號處理;無線通信等。其本質都是針對數值流構建的數據通路,從信源(例如 ARM 內存、 DMA、無線接收前端等)到信宿(例如 HDMI 顯示器、高速 AD 音頻輸出,等)構建起連續的數據流。這種接口適合做實時信號處理。
在上圖中可以看到PS與PL的交互還可以通過DMA和EMIO,實際上DMA是從HP口進行PS和PL的交互,當不想浪費AXI總線的時候,可以通過EMIO進行PS和PL的交互。搞清楚MIO,EMIO,GPIO可以通過下面三個點燈操作有一個比較形象的理解(1)PS通過MIO點亮PS端LED(2)PS通過EMIO點亮PL端LED(3)PS通過AXI點亮PL端LED。
-
處理器
+關注
關注
68文章
18927瀏覽量
227248 -
FPGA
+關注
關注
1620文章
21510瀏覽量
598979 -
接口
+關注
關注
33文章
8257瀏覽量
149967 -
Zynq
+關注
關注
9文章
604瀏覽量
47016
原文標題:FPGA之ZYNQ
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論