本篇文章目的是使用Block Memory進行PS和PL的數據交互或者數據共享,通過zynq PS端的Master GP0端口向BRAM寫數據,然后再通過PS端的Mater GP1把數據讀出來,將結果打印輸出到串口終端顯示。 涉及到AXI BRAM Controller 和 Block ...
使用Block Memory進行PS和PL的數據交互或者數據共享,通過zynq PS端的Master GP 端口向BRAM寫數據,然后再通過PS端的Mater GP 把數據讀出來,將結果打印輸出到串口終端顯示。涉及到AXI BRAM Controller 和 Block Memery Generator等IP的使用。本文所使用的開發板是zedboardPC 開發環境版本:Vivado . Xili ...
2018-11-09 20:41 0 1179 推薦指數:
本篇文章目的是使用Block Memory進行PS和PL的數據交互或者數據共享,通過zynq PS端的Master GP0端口向BRAM寫數據,然后再通過PS端的Mater GP1把數據讀出來,將結果打印輸出到串口終端顯示。 涉及到AXI BRAM Controller 和 Block ...
本篇文章目的是使用Block Memory進行PS和PL的數據交互或者數據共享,通過zynq PS端的Master GP0端口向BRAM寫數據,然后再通過PS端的Mater GP1把數據讀出來,將結果打印輸出到串口終端顯示。 涉及到AXI BRAM Controller 和 Block ...
本篇文章目的是使用Block Memory進行PS和PL的數據交互或者數據共享,通過zynq PS端的Master GP0端口向BRAM寫數據,然后再通過PS端的Mater GP1把數據讀出來,將結果打印輸出到串口終端顯示。 涉及到AXI BRAM Controller 和 Block ...
PS-PL之間的AXI 接口分為三種:• 通用 AXI(General Purpose AXI) — 一條 32 位數據總線,適合 PL 和 PS 之間的中低速通信。接口是透傳的不帶緩沖。總共有四個通用接口:兩個 PS 做主機,另兩個 PL 做主機。• 加速器一致性端口(Accelerator ...
上一節說到了DDR尋址的問題,如下圖: 從官方文檔上我們看到了DDR的地址是從0008_0000開始的,那么我們開始修改Xilinx給我們提供的IP核代碼。其實很簡單,上一節已經分析了地址停留在0000_1000的原因,現在我們只需要把write_burst_counter的位寬變大 ...
前面已經詳細介紹了從PL端如何用AXI總線去控制DDR的讀寫,並且從AXI_BRESP的返回值來看,我們也是成功寫入了的。但是沒有通過別的方式來驗證寫入的數據的話,總是感覺差了點什么。 今天試了一把從PS端直接讀取DDR里面的數據,剛好跟PL端寫入的一樣,這下可以放心的認為我們寫入成功 ...
看了一段時間的DDR手冊,感覺大體有一點了解了,想要實際上板調試,然而實驗室可用的開發板不多,拿了一塊zynq板看了看,DDR確實有,但是已經集成了控制器,而且控制器還放到了PS端,PL只能通過AXI接口訪問。 無奈另外兩塊開發板也這樣,索性就用AXI去控制吧,正好還能再復習一遍 ...
有了前面的一堆鋪墊。現在終於開始正式准備讀寫DDR了,開發環境:VIVADO2014.2 + SDK。 一、首先要想在PL端通過AXI去控制DDR,我們必須要有一個AXI master,由於是測試,就不自己寫了,直接用package IP生成,方法如下: 1.選擇 ...