zedboard如何從PL端控制DDR讀寫(一)

來源:互聯網
上載者:User

標籤:

    看了一段時間的DDR手冊,感覺大體有一點瞭解了,想要實際上板調試,然而實驗室可用的開發板不多,拿了一塊zynq板看了看,DDR確實有,但是已經整合了控制器,而且控制器還放到了PS端,PL只能通過AXI介面訪問。

    無奈另外兩塊開發板也這樣,索性就用AXI去控制吧,正好還能再複習一遍AXI。

    

    先簡單介紹一下zynq,其全稱是ZedBoard Zynq Evaluation and Development Kit  , FPGA晶片型號為xc7z020clg484-1。

    片內包含一個豐富特性的基於雙核ARM Cortex-A9的處理子系統(Processing System,PS)和Xilinx 28nm可程式化邏輯(Programmable Logic,PL)。PS除了核心外還包括片上儲存空間、外部儲存空間介面以及大量外設串連介面。【引用:Zynq-7000 Overview】

   

   可以看到其儲存空間規格為:512MB DDR3;256Mb Quad-SPI Flash;4GB SD Card;

   板卡結構框圖如下所示:我們也可以明顯的看到DDR位於PS端

 

    位於PS端的ARM直接有硬體支援AXI介面,而PL則需要使用邏輯實現相應的AXI協議。Xilinx提供現成IP如AXI-DMA,AXI-GPIO,AXI-Datamover都實現了相應的介面,使用時直接從XPS的IP列表中添加即可實現相應的功能。

有時,使用者需要開發自己定義的IP同PS進行通訊,這時可以利用VIVADO嚮導產生對應的IP。VIVADO中使用者自訂IP核可以擁有AXI-Lite,AXI-FULL,AXI-Stream。

 

AXI-Lite具有輕量級,結構簡單的特點,適合小批量資料、簡單控制場合。不支援批量傳輸,讀寫時一次只能讀寫一個字(32bit)。

AXI4介面和AXI-Lite差不多,只是增加了一項功能就是批量傳輸,可以連續對一片地址進行一次性讀寫。

上面兩種均採用記憶體映射控制方式,即ARM將使用者自訂IP編入某一地址進行訪問,讀寫時就像在讀寫自己的片內RAM,編程也很方便,開發難度較低。代價就是資源佔用過多,需要額外的讀地址線、寫地址線、讀資料線、寫資料線、寫應答線這些訊號線。

另外一種AXI介面就是AXI-Stream,這是一種連續流介面,不需要地址線(很像FIFO,一直讀或一直寫就行)。對於這類IP,ARM不能通過上面的記憶體映射方式控制(FIFO根本沒有地址的概念),必須有一個轉換裝置,例如AXI-DMA模組來實現記憶體映射到流式介面的轉換。AXI-Stream適用的場合有很多:視頻流處理;通訊協定轉換;數字訊號處理;無線通訊等。其本質都是針對數值流構建的資料通路,從信源(例如ARM記憶體、DMA、無線接收前端等)到信宿(例如HDMI顯示器、音訊輸出等)構建起連續的資料流。這種介面適合做即時訊號處理。

 

有了上面的這些官方IP和嚮導產生的自訂IP,使用者其實不需要對AXI時序瞭解太多(除非確實遇到問題),因為Xilinx已經將和AXI時序有關的細節都封裝起來,使用者只需要關注自己的邏輯實現即可。

 

zedboard如何從PL端控制DDR讀寫(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.