概述

AI 引擎概覽 — DSP 設計過程

針對 AMD Versal™ AI 引擎設計高性能 DSP 功能,可使用 AMD Vitis™ 開發工具完成,也可使用 Vitis Model Composer 流程完成,充分發揮 MathWorks Simulink® 工具的仿真及圖形功能優勢。

在任何一種情況下,無論是將 DSP 應用映射到在 FPGA 或 AI 引擎中要實現的功能中,還是將其映射到 FPGA 邏輯和 AI 引擎的組合中,都至關重要。這需要了解器件功能以及整個係統。

通常,計算密集型功能更適合 AI 引擎執行,而需要數據移動 / 重新排序的功能則更適合 FPGA 執行。

在下麵所示的實例中,複雜的濾波和傅立葉變換通常更適合 AI 引擎陣列。

Alveo U50 圖像

一旦功能被明確確定為 AI 引擎適當,就可使用以下任何一種選項將其實施在 AI 引擎中。

注意:使用以下列表中的多個選項的混合方法也是合理的。

選項 1

Vitis DSP 庫函數調用



dsplib::fft::dit1ch::fft_ifft_dit_1ch

  

  • 簡單易用
  • 可參數化
  • 最快的開發

選項 2

使用 AI 引擎 API 實現矢量化編程


aie::vector A0 
aie::vector A1

  

  • 可定製化
  • 更快的開發

選項 3

內嵌原語矢量化編程


Acc0 = mac16(acc0, Bbuff, 0, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210);​

Acc0 = mac16(acc0, Bbuff, 32, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210); 

  • 全麵低層次定製化
  • 最漫長的開發

要使用 DSP 的 AI 引擎啟動開發,強烈建議從 Vitis DSP 庫函數(基於 C 語言)或 Vitis Model Composer(基於模型)啟動。雖然手動編碼可帶來更優化的執行,但使用上述方法是使用 DSP 的 AI 引擎啟動開發的最快捷途徑,同時也可帶來極高的性能。

不同的 AI 引擎功能隨後可使用圖形 C 代碼相互連接,這是描述多個 AI 引擎 tile 的網絡的 C++ 代碼。

使用 Vitis Model Composer,可在不同 AI 引擎功能之間實現圖形互連。該圖形表示可通過 Vitis Model Composer 將按鈕轉換成圖形 C 代碼。還可利用 MathWorks Simulink 環境的強大仿真功能驗證設計。

要進一步了解如何使用 Vitis Model Composer 執行 Versal AI 引擎開發,請訪問使用 Vitis Model Composer 執行 Versal AI 引擎開發

AI 引擎工具許可

編譯器和仿真器

雖然 AI 引擎編譯器和仿真器工具是 AMD Vitis™ 軟件安裝程序的一部分,但這些工具仍然需要免費許可才能使用。您可以從现金网博e百 許可站點獲取該許可證。

輸入詳細信息並選擇“AI 引擎工具許可證”選項。

設計範例

AI 引擎多相信道器設計

多相信道器可采用基於數字信號處理的有效方法,同時對單個數據流中攜帶的一組頻分多路複用 (FDM) 信道進行降頻轉換。信道器的使用在大量無線通信、雷達、航空航天/國防以及醫療成像係統中無處不在。在本教程中,我們在 AMD Versal™ 自適應 SoC 器件中使用 AI 引擎和可編程邏輯 (PL) 資源的組合執行兩種不同的信道器設計。