您的位置:首頁>正文

萬物雲聯網技術貼士:使用嵌入式FPGA作為可重構的計算加速器

圖1、使用嵌入式FPGA作為可重構的計算加速器

雖然嵌入式FPGA(eFPGA, embedded FPGA)是一項相當新穎的技術, 但它正迅速在廣泛的應用中找到了一席之地。

嵌入式FPGA(eFPGA)越來越流行的一種用法是將其連接到處理器匯流排作為可重新配置的加速器。 晶片設計人員發現, 這種方法比固定功能加速器提供了更多的靈活性, 與主流處理器相比, 也可以提供更高的性能。

圖2、eFPGA的架構

eFPGA的一個主要優點是可以重新程式設計以加速多項任務。

每個晶片都有一個或者多個執行代碼的處理器(如ARM, ARC, MIPS等)。 對於佔用大部分處理器頻寬的任務, 硬體中的加速器通常可以在更短的時間內處理完任務。 加速器不會取代處理器, 而只是加速了最繁重的工作。 如果加速器是可重新配置的, 則可以加速多個任務, 從而允許它根據需要或者根據不同的客戶/應用程式需求來處理更多的工作量。 eFPGA可重新配置, 使其成為加速器的最佳選擇。

下面是幾個例子, 說明如何使用eFPGA來加速AXI / AHB匯流排, 以及每個用例所帶來的潛在性能改進。 eFPGA可用於加速多種類型的加速器, 而不僅僅是ARM。 但是在這裡我們僅僅以ARM為例, 因為它是當今應用最廣泛的處理器, 並且很容易驗證其性能方面。

AES-128

在下面的例子中, 在嵌入式FPGA中實現用於資料移動的AXI4流匯流排和用於控制邏輯的APB匯流排。 由於該介面功能不會改變, 所以也可以在外部硬連線。

圖3、AES-128加速器

該AES-128加速器的RTL需要1142個LUT, 並且可以安裝在單個EFLX-2.5K IP內核中, 該內核可在多個進程節點中使用。

在TSMC16FFC中, AES-128加速器最差情況下(-40 / 125C, 0.72V介面, 慢 - 慢角)運行在374 MHz。

圖4、AES-128加速器

這一性能比在同一過程中運行在ARM Cortex M4上的AES-128軟體代碼快136-300倍, 具體取決於ARM M4的時鐘速度。

SHA-256

在以下示例中, AXI4從站RTL位於eFPGA的外部, 用於加速器資料移動和加速器寄存器配置。 AXI4從機邏輯是外部資料移動的最低匯流排延遲。

這個SHA-256加速器的RTL, 使用64位元組的資料塊, 需要1634個LUT, 並且適合單個EFLX-2.5K IP內核, 這個內核可以在多個進程節點中使用。 在TSMC16FFC中, SHA-256加速器以171MHz(-40 / 125C, 0.72V介面, 慢 - 慢角)的最壞情況運行。

圖5、SHA-256

這一性能比運行在ARM Cortex M4上同一個進程中的SHA-256軟體代碼快大約40倍。

JPEG編碼器

以下是配置為JPEG編碼器的eFPGA的框圖。 在這個例子中, AXI4-stream和APB介面邏輯在嵌入式FPGA自身中被實現, 但是這個RTL很容易被放置在外部並被硬連線, 因為它不需要被重新配置。

此RTL需要11,364個LUT和大量記憶體(2 x 256 KB雙埠RAM), 同時需要連接到eFPGA。 與可用的I / O相比, 附加到記憶體所需的信號數量非常少。

圖6、JPEG編碼器的eFPGA的框圖

TSMC16FFC在最壞情況)下其性能為149 MHz。而這也是在同一進程中運行在ARM Cortex M4上的JPEG編碼器軟體代碼輸送量的31倍。

256點FFT

以下示例顯示配置為256點FFT加速器的eFPGA作為AXI4流匯流排上的從站/主站,在EFLX陣列中實現了AXI RTL。

RTL需要8,360個LUT和16個外部RAM(每個256個位元組,雙埠)。在這個例子中,RAM連接在陣列內部以獲得更好的性能。

TSMC16FFC 在最差的情況下是303MHz。 ARM處理器的基準測試不可用,但是由於MAC和記憶體參考的高並行性,我們預計這種可重構加速器的性能遠遠超過傳統的典型的處理器內核。

結論

使用eFPGA作為可重新配置的加速器具有顯著的優勢,可以提供30到300倍的性能提升。它的重新配置能力使得eFPGA能夠一次加速多個功能,並且可以隨時根據不斷變化的標準或者協議進行無縫升??級。這些優勢使得eFPGA在處理器密集型應用(如資料中心,網路,深度學習,人工智慧,航空航太,國防等等)中非常有用。

(完)

圖6、JPEG編碼器的eFPGA的框圖

TSMC16FFC在最壞情況)下其性能為149 MHz。而這也是在同一進程中運行在ARM Cortex M4上的JPEG編碼器軟體代碼輸送量的31倍。

256點FFT

以下示例顯示配置為256點FFT加速器的eFPGA作為AXI4流匯流排上的從站/主站,在EFLX陣列中實現了AXI RTL。

RTL需要8,360個LUT和16個外部RAM(每個256個位元組,雙埠)。在這個例子中,RAM連接在陣列內部以獲得更好的性能。

TSMC16FFC 在最差的情況下是303MHz。 ARM處理器的基準測試不可用,但是由於MAC和記憶體參考的高並行性,我們預計這種可重構加速器的性能遠遠超過傳統的典型的處理器內核。

結論

使用eFPGA作為可重新配置的加速器具有顯著的優勢,可以提供30到300倍的性能提升。它的重新配置能力使得eFPGA能夠一次加速多個功能,並且可以隨時根據不斷變化的標準或者協議進行無縫升??級。這些優勢使得eFPGA在處理器密集型應用(如資料中心,網路,深度學習,人工智慧,航空航太,國防等等)中非常有用。

(完)

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示