回覆列表
  • 1 # FPGA三板斧

    Xilinx的ZYNQ7020平臺內部包括兩部分,即PL和PS。PL為FPGA邏輯部分,PS為雙核ARM9 。FPGA邏輯與ARM9之間的通訊採用高效能的AXI4匯流排,PS為PL提供系統時鐘,復位等基本訊號。透過ARM9系統外圍掛載AXI介面的DMA來控制FPGA邏輯部分的FFT IP核的資料輸入輸出。

    下面詳細介紹具體搭建步驟。

    第三步:配置zynq系統,新增系統外設,記憶體,配置時鐘,中斷系統。

    配置系統完畢後,建立DDR3埠,時鐘和復位輸出,及其他IO埠。

    配置DMA的引數。

    第五步:新增concat ip,將DMA的輸入輸出中斷連線concat ip的輸入埠,將輸出埠連線到zynq的中斷埠上。

    佈線連線後如下圖所示。

    第六步:新增兩個AXISTREAM FIFO IP核,分別連線到DMA的輸入輸出埠,同時配置FIFO的儲存深度,及資料位寬。

    等待幾分鐘,生成後,系統中添加了一些檔案及IP

    頂層檔案新增完成後如下圖所示。

    建立FFT IP 頂層檔案,例項化FFT IP,便於FFT IP的模擬,呼叫。

    頂層檔案中新增如下程式碼。

    第八步:在PS的系統頂層檔案zynq_7020_fft_system_wrapper中,例項化FFT IP的頂層檔案FFT_Top,如下所示。

    第九步:建立FFT IP核的模擬檔案,單獨對FFT IP進行模擬模擬測試。

    對於浮點數的FFT IP模擬測試,需要提供單精度浮點數格式(32位的二進位制數),且提供虛部和實部。blk_mem_gen_real存放實部,長度為1024,blk_mem_gen_imag存放虛部,長度為1024,本文的FFT IP是之前已除錯好的IP測試,直接呼叫即可。

    模擬時序

    FFT IP輸入資料時序

    FFT IP 輸出資料時序

    第十步:測試完成後,生成bit流,不需配置管腳。

    生成bit流後,可以檢視系統資源利用率。

    第十一步:匯出Hardware。

    啟動SDK。

    建立main.c。

    新增DMA測試例程,同時提供FFT IP所需實部和虛部,且都為單精度浮點數。修改check_data函式,將接收的資料存為檔案,匯入到matlab中進行資料比對。

    經過以上步驟實現了zynq系統對FPGA邏輯部分的FFT IP核的呼叫。但,還需在硬體平臺下進行驗證。希望題主或者感興趣的朋友可以按此步驟驗證,也可擴充套件訓練,掛載其他IP核。

  • 中秋節和大豐收的關聯?
  • 蛋糕的做法有哪些?