新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > SoC FPGA提升蜂巢網(wǎng)絡(luò)設(shè)備整合度

SoC FPGA提升蜂巢網(wǎng)絡(luò)設(shè)備整合度

作者: 時(shí)間:2013-09-28 來(lái)源:網(wǎng)絡(luò) 收藏
0px">  當(dāng)然,這些功能可以透過(guò)許多不同的方法建立。有些比較適合用軟件的方法,而有些則適用硬件,同時(shí)也有是軟硬件皆適用;然而,最終還是要以所需的效能決定建置的方法。采用完全可編程元件可讓系統(tǒng)設(shè)計(jì)人員自由支配硬件和軟件的最適度使用情況。就數(shù)字預(yù)失真的情況而言,由于需要非常高的采樣率,因此內(nèi)含高速過(guò)濾功能的資料路徑預(yù)失真器通常會(huì)建置在可編程邏輯中,而產(chǎn)生數(shù)字預(yù)失真系數(shù)的校準(zhǔn)和估算引擎則可于硬件處理子系統(tǒng)中的ARM Cortex-A9處理器中執(zhí)行。

  為決定什么須要采用硬件或軟件建置方法,首先必須設(shè)定哪些部分需要軟件。圖3展示數(shù)字預(yù)失真演算法中設(shè)定需要軟件的部分,以期達(dá)到圖2所示的三種功能。根據(jù)圖3設(shè)定,不難理解數(shù)字預(yù)失真演算法有97%的時(shí)間用在執(zhí)行自動(dòng)相關(guān)矩陣運(yùn)算,所以很自然地加速這項(xiàng)過(guò)程成為首要任務(wù)。

  SoC FPGA提升蜂巢網(wǎng)絡(luò)設(shè)備整合度

  圖2 細(xì)分成不同功能區(qū)間的數(shù)字預(yù)失真系統(tǒng)

  SoC FPGA提升蜂巢網(wǎng)絡(luò)設(shè)備整合度

  圖3 數(shù)字預(yù)失真處理當(dāng)中的指定軟件運(yùn)算作業(yè)之軟件設(shè)定

  ARM Cortex-A9處理器藉由豐富的運(yùn)算資源可執(zhí)行更多功能,而這些資源有助提升效能。舉例而言,在硬件處理子系統(tǒng)中,每個(gè)ARM Cortex-A9處理器都內(nèi)含一個(gè)浮點(diǎn)運(yùn)算單元和一個(gè)NEON多媒體加速器。NEON單元是一個(gè)128位元的單一指令多重資料(SIMD)向量協(xié)同處理器,可同時(shí)執(zhí)行兩個(gè)32×32b乘法指令;由于NEON單元皆用于乘法累積(MAC)運(yùn)算,因此非常符合自動(dòng)相關(guān)矩陣運(yùn)算功能所需。透過(guò)NEON模組可運(yùn)用軟件Intrinsics,這可以在系統(tǒng)組裝時(shí)免除編寫(xiě)低階程式的需求。因此,運(yùn)用硬件處理子系統(tǒng)中更多的功能,可以比Microblaze等軟件處理器或外接式DSP處理器大幅提升效能。

為提升數(shù)字預(yù)失真效能,設(shè)計(jì)人員須進(jìn)一步利用可編程邏輯將這些功能移到硬件上。然而,由于軟件是以C/C++編寫(xiě),工程師需要一些時(shí)間將C/C++語(yǔ)言轉(zhuǎn)換成可在可編程邏輯中運(yùn)用VHDL或Verilog執(zhí)行的硬件。

  這個(gè)問(wèn)題現(xiàn)在已可藉由各種高階合成(HLS)工具(例如C語(yǔ)言至?xí)捍嫫鬓D(zhuǎn)移層級(jí)工具,C-to-RTL工具)得以解決。這些工具讓具備C/C++程式經(jīng)驗(yàn)的程式設(shè)計(jì)人員透過(guò)現(xiàn)場(chǎng)可編程門(mén)陣列()擁有硬件能力。業(yè)界高階合成工具可讓軟件和系統(tǒng)設(shè)計(jì)人員更容易將C/C++程式碼對(duì)應(yīng)到可編程邏輯,讓程式碼得以重用,并提供最佳可攜性和自由設(shè)計(jì)空間,最終達(dá)成最高生產(chǎn)力。

  圖4展示運(yùn)用高階合成工具的典型C/C++設(shè)計(jì)流程。這工具的輸出是暫存器轉(zhuǎn)移層級(jí)(RTL),可輕松與資料路徑預(yù)失真器或上游制程等既有的硬件設(shè)計(jì)進(jìn)行整合,當(dāng)然也可連至資料轉(zhuǎn)換器。運(yùn)用這項(xiàng)工具,演算法可快速轉(zhuǎn)移至硬件,其中這項(xiàng)工具會(huì)使用AXI界面連至硬件處理子系統(tǒng),如圖5所示。

  SoC FPGA提升蜂巢網(wǎng)絡(luò)設(shè)備整合度

  圖4 高階合成設(shè)計(jì)流程

  在可編程邏輯中以高時(shí)脈執(zhí)行自動(dòng)相關(guān)矩陣運(yùn)算演算法,可對(duì)效能產(chǎn)生重大的效益,僅針對(duì)這項(xiàng)功能而言,其效能增益就可比軟件建置的功能多七十倍,而且僅用完全可編程元件中3%的邏輯。

  從原來(lái)參考的C/C++程式碼進(jìn)行基本最佳化,并運(yùn)用ARM Cortex-A9處理器更有效地執(zhí)行運(yùn)算,結(jié)果顯示僅用軟件進(jìn)行最佳化所得的效能則比沒(méi)有變動(dòng)的程式碼高出二至三倍。再使用NEON多媒體協(xié)同處理器就能產(chǎn)生更多的效能增益。圖5為自動(dòng)相關(guān)矩陣運(yùn)算架構(gòu)。其中針對(duì)相關(guān)矩陣運(yùn)算功能,其整體效能增益比軟件建置的功能多七十倍。

  <a class=SoC 提升度" src="http://www.elecfans.com/uploads/allimg/13



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉