2017-07-02 90 views
-1

我們正在開發一個項目,我們需要在FPGA上進行一些圖像處理。爲此,我們使用ZedBoard和linaro(Ubuntu版本)來運行它。 我們已經完成的是我們已經在Zedboard的處理系統中使用python腳本將圖像以二進制形式逐個像素地存儲在DDR中。使用Vivado IP模塊將圖像塊讀取並寫入DDR內存

現在我們的任務是讀取DDR內存的內容,對其進行處理並將處理後的輸出再次發送回DDR內存。我們正在使用Vivado xilinx FPGA部件工具。我們試圖使用帶AXI-Interconnect的AXI-DMA來讀取和寫入DDR的數據。 我的問題是,我們是否需要使用SDK和某種C編碼在可編程邏輯端讀寫DDR存儲器?由於我們想讓模塊開始通過控制信號讀取DDR中的數據,然後開始實際處理圖像數據。一旦我們讀取了特定的數據塊,就可以對其進行處理並將結果即時存儲回DDR存儲器。我們不確定我們需要在我們的區塊設計中使用哪個IP塊進行vivado。在發送日期到DDR之前,我們還需要在最後使用Block Ram Memory。

任何已經完成這類項目或有任何知識的人都可以參加嗎?任何來自你方的幫助將不勝感激!

謝謝

+0

你的故事缺少**很多重要的實施信息,所以很難回答你的問題。但是:可以在不使用SDK/C的情況下使用AXI-DMA。 C或C++將表明你將在你的邏輯中使用一個軟核CPU,這是不需要的。相反,你可以用HDL創建一個狀態機。至少:這一切取決於你想要什麼/你的要求。請閱讀AXI-DMA內核的用戶指南,瞭解如何使用它。只是谷歌[「教程axi dma」](https://www.google.nl/search?q=tutorial+axi+dma) – JHBonarius

+0

其實我們需要做的是,我們有我們需要啓動的Zed板有linaro的SD卡。我們需要從DDR內存中讀取數據並將其寫回DDR內存。 AXI DMA與AXI互連將完成硬件設計任務,但我需要使用採用Zed板ARM處理器的DMA控制器。 – ikramulhaq

+0

你在說矛盾的事情。你首先說你在你的ARM內核上運行Linaro,這是一個內存控制的操作系統。接下來你說你想用AXI DMA的裸機應用程序來使用相同的ARM內核。非常不清楚。 – JHBonarius

回答

0

zynq FPGA爲此提供AMBA AXI互連。

Zynq FPGA overview

這是正確的互連。