從音頻輸入到輸出,現(xiàn)有的實時數(shù)字音頻系統(tǒng)很難實現(xiàn)低于 1ms 的時延。實際上,200μs 是到目前為止可實現(xiàn)的最佳時延。INSA(法國)的 Emeraude 研究團(tuán)隊正在開發(fā) Syfala 編譯器,該編譯器結(jié)合了 Faust (一種用于實時音頻 DSP 的領(lǐng)域特定語言)和 AMD Vitis HLS,使其為音頻 DSP 用戶提供非常高級的音頻合成工具。
Emeraude 采用基于 AMD Zynq 的FPGA 板卡、低時延音頻編解碼器和 Syfala 編譯器,在眾多簡單的 DSP 程序上實現(xiàn)了 11μs 的低時延。這項新技術(shù)適用于聲音合成和主動聲學(xué)控制。
01
項目挑戰(zhàn)
實時音頻數(shù)字信號處理( DSP )已經(jīng)在廣泛的計算機(jī)架構(gòu)上實現(xiàn):采用馮?諾依曼架構(gòu)的 CPU、多核 CPU、GPU、專用電路、FPGA 等。然而,實現(xiàn)超低時延(即小于1ms)的唯一方法是使用專用電路,如 ASIC 或 FPGA。
盡管如此,對于 DSP 程序員而言,使用 FPGA 幾乎是不可能的事情,因為他們沒有掌握硬件設(shè)計技能。
因此,該項目的主要挑戰(zhàn)在于設(shè)計出一款工具,允許音頻 DSP 程序員以極低時延(即小于 100μs)在 FPGA 上實現(xiàn)任意音頻 DSP 算法。
02
解決方案
采用的解決方案是將音頻 DSP 語言編譯器(即 Faust)的輸出與 HLS 工具 Vitis HLS連接起來。Faust 編譯器不僅可處理軟硬件分區(qū),而且還可隔離將在 FPGA 上實施的內(nèi)核 DSP 算法,如圖 1 所示。
圖 1:從 Faust 程序到 FPGA 的 Syfala 編譯流程
Vitis HLS 用于實現(xiàn)該內(nèi)核 DSP 的硬件,允許訪問外部 DDR 內(nèi)存以及使用 ARM Zynq 處理系統(tǒng)驅(qū)動程序的硬件控制器。
INSA-LYON 的研究團(tuán)隊主管 Tanguy Risset 表示:“Vitis HLS 允許我們直接重復(fù)使用 Faust 編譯器生成的 C++ 代碼,因此從 Faust 高級規(guī)范直至 FPGA 比特流都無需經(jīng)歷手動設(shè)計流程。此外,Vitis HLS 與 AMD 的設(shè)計流程能夠很好地集成在一起,方便我們進(jìn)行硬件/軟件的協(xié)同設(shè)計。”
03
設(shè)計成效
最終成效就是獲得一個新的編譯流程,可將任意音頻 DSP 程序自動編譯到基于 AMD Zynq 7000 的 FPGA 板卡(如 Digilent Zybo 或 Genesys)上。這樣一來,從模擬輸入到模擬輸出,所實現(xiàn)的程序的時延可低至 11μs。如此短的時延是前所未有的。該編譯器是開源的,目前用于實現(xiàn)主動聲學(xué)控制算法和 3D 音頻編解碼流程。
Risset 補(bǔ)充道:“Vitis HLS 使我們能夠精確控制 IP 的時延。特別是 Vitis HLS 能夠生成一個有一個樣本延遲時延的 IP。這對于實現(xiàn)我們在模擬與模擬之間實現(xiàn)的時延極為重要。”
Risset 表示,Vitis HLS IP 的調(diào)度視圖有助于我們了解 Vitis HLS 是如何引導(dǎo)并行化,以及內(nèi)存訪問是如何對 IP 時延產(chǎn)生影響的。他補(bǔ)充道:“這促使我們在 Faust 生成的 C++ 代碼中對內(nèi)存訪問進(jìn)行優(yōu)化,這是實現(xiàn)低時延的必要步驟。”
審核編輯:劉清
-
dsp
+關(guān)注
關(guān)注
554文章
8059瀏覽量
350458 -
FPGA
+關(guān)注
關(guān)注
1630文章
21798瀏覽量
606062 -
編解碼器
+關(guān)注
關(guān)注
0文章
268瀏覽量
24306 -
編譯器
+關(guān)注
關(guān)注
1文章
1642瀏覽量
49291 -
HLS
+關(guān)注
關(guān)注
1文章
130瀏覽量
24208
原文標(biāo)題:Zynq 及 Vitis HLS 助力面向聲音合成和聲學(xué)控制的低時延技術(shù)
文章出處:【微信號:賽靈思,微信公眾號:Xilinx賽靈思官微】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論