精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

riscv的fpga實現案例 基于RISC-V加速器實現現場可編程門陣列 CNN異構的控制方案

FPGA設計論壇 ? 來源:吳海龍, 李金東, 陳翔, ? 作者:吳海龍, 李金東, ? 2023-08-21 10:30 ? 次閱讀

作者:吳海龍, 李金東, 陳翔,電子信息工程學院,中山大學,中國 (在此特別鳴謝?。?/span>

摘要:現場可編程門陣列(FPGA)具有低功耗、高性能和靈活性的特點。FPGA神經網絡加速的研究正在興起,但大多數研究都基于國外的FPGA器件。為了改善國內FPGA的現狀,提出了一種新型的卷積神經網絡加速器,用于配備輕量級RISC-V軟核的國產FPGA(紫光同創PG2L100H)。所提出的加速器的峰值性能達到153.6 GOP/s,僅占用14K LUT(查找表)、32個DRM(專用RAM模塊)和208個APM(算術處理模塊)。所提出的加速器對于大多數邊緣AI應用和嵌入式系統具有足夠的計算能力,為國內FPGA提供了可能的AI推理加速方案。

背景

卷積神經網絡在機器視覺任務中越來越流行,包括圖像分類和目標檢測。如何在有限的條件下充分發揮FPGA的最大性能是各研究者的主要方向。如今,大多數CCN使用外國FPGA器件。由于國內FPGA起步較晚,其相關開發工具和設備落后于其他外國制造商。因此,在國內FPGA上構建高性能CNN并替換現有成熟的異構方案是一項具有挑戰性的任務。 Zhang[1]于2015年首次對卷積網絡推理中的數據共享和并行性進行了深入分析和探索。Guo[2]提出的加速器在214MHz下達到了84.3 GOP/s的峰值性能。2016年,Qiu[3]更深入地探索了使用行緩沖器的加速器。

本文提出了一種更高效、更通用的卷積加速器。提出的加速器峰值性能達到153.6GOP/s,僅占用14K LUT、32個DRM和208個APM。本文的章節安排如下,第2節介紹了我們提出的加速器的詳細設計以及基于RISC-V的加速器實現的控制調度方案。第3節給出了實驗結果。

系統設計

整個RISC-V片上系統設計如圖1所示。該系統主要由RISC-V軟核CPU、指令/數據存儲器、總線橋、外圍設備、DMA(直接存儲器訪問)和卷積加速器組成。

ed96918c-3fc9-11ee-ac96-dac502259ad0.png


Fig. 1. 片上RISC-V系統設計圖

我們的工作主要在三個方面。首先,我們使用軟核CPU作為片上系統的主控,控制外設,DMA,CNN加速器來實現數據調度和操作。其次,1D(一維)加速器被設計用于改變緩沖機制。第三,為紫光同創的FPGA設備設計了一個DMA IP,用于卷積加速的應用。

A、RISC-V 軟核CPU 架構

軟核。使用RISC-V軟核VexRiscv代替Ibex[4]構建RISC-V的片上系統和面向軟件的方法可以使VexRiscv具有高度的靈活性和可擴展性。

接口。I2C和SPI等外圍設備通過APB3總線連接到RISC-V軟核。DMA和加速器通過PMB總線連接到RISC-V軟核。

指令與數據存儲。程序被交叉編譯以獲得一個特定的文件,該文件由JTAG燒錄到片上指令/數據存儲器中。

B、CNN 加速器結構

輸入緩存。使用乒乓緩存來實現緩沖區,可以有效地提高吞吐量。

輸出緩存。權重緩存模塊由一系列分布式RAM和串行到并行單元組成。

卷積。圖2中的1D卷積模塊分為四組,其中包含四個1D卷曲單元。每個單元負責1D卷積的一個信道。

合并。積分模塊有四組加法器樹。每組加法器樹將每組卷積運算單元的結果相加,得到單向輸出結果。

累加。累加模塊中有四組FIFO和四個加法器。加速器一次只能接收四個通道的輸入特征圖數據。

量化。該量化模塊由乘法單元和移位單元組成。它通過比例變換將24位累加結果重新轉換為8位[5]。

激活。激活功能通過查找由一系列分布式RAM組成的表來實現。它存儲ReLu、Leaky ReLu和sigmoid函數的INT8函數表。

池化。確定當前卷積層是否與池化層級聯,然后決定是否使用池化模塊來完成池化操作。

輸出緩存。輸出緩沖器由FIFO而不是乒乓緩存實現。輸出高速緩存FIFO將結果存儲回片外存儲器,作為下一卷積層的輸入。

edbad7d6-3fc9-11ee-ac96-dac502259ad0.png


Fig. 2.CNN 加速器實現

C、DMA 結構

神經網絡不僅對計算能力有很高的要求,而且對內存也有很大的需求。中低端FPGA通常需要DDR SRAM(雙數據速率同步動態隨機存取存儲器)來承載整個神經網絡和所有中間運算結果的權重。紫光同創的FPGA的DDR3內存驅動器IP為用戶提供了簡化AXI4總線的內存訪問接口。 由于Simpled AXI和AXI之間的標準差異,需要新的DMA設計。DMA設計如下。讀和寫地址通道由RISC-V軟核直接控制。讀寫數據通道的FIFO用作卷積加速器和DDR3驅動器IP的緩沖器,以完成端口轉換。

D、實現細節

1、一維卷積單元陣列設計 神經網絡不僅對計算能力有很高的要求,而且對內存也有很大的需求。中低端FPGA通常需要DDR SRAM(雙數據速率同步動態隨機存取存儲器)來承載整個神經網絡和所有中間運算結果的權重。紫光同創的FPGA的DDR3內存驅動器IP為用戶提供了簡化AXI4總線的內存訪問接口。 由于Simpled AXI和AXI之間的標準差異,需要新的DMA設計。DMA設計如下。讀和寫地址通道由RISC-V軟核直接控制。讀寫數據通道的FIFO用作卷積加速器和DDR3驅動器IP的緩沖器,以完成端口轉換。

2、卷積加速器控制

本文提出了一種基于指令隊列的設計,以減少RISC-V軟核中DMA和加速器的響應延遲。RISC-V CPU可以連續發送多個存儲器讀寫請求指令和多個操作調度控制指令,而不用等待DMA和加速器的反饋。DMA和加速器從隊列中獲取指令,任務完成后直接從隊列中取出下一條指令,無需等待相應的CPU,從而實現低延遲調度。

eddebd36-3fc9-11ee-ac96-dac502259ad0.png


Fig. 3. 1X3 一維卷積原理圖

ee01c178-3fc9-11ee-ac96-dac502259ad0.png


Fig. 4. 一維卷積單元硬件實現

實現結果和備注

通過在PG2L100H和X7Z020上實現相同配置的CNN加速器,完成了CNN加速器的性能測試,驗證了國產FPGA CNN加速方案的可行性。加速器的資源消耗和性能如表I和表II所示。

ee0df268-3fc9-11ee-ac96-dac502259ad0.png

TABLE I 資源利用 PG2L100H和X7Z020的資源消耗相似。PG2L100H需要額外的邏輯資源來構建VexRiscv CPU,而X7Z020為AXI DMA IP使用更多的邏輯資源。就加速器性能而言,可從表II中看出。由于FPGA器件架構的差異,與X7Z020相比,加速器的卷積運算在PG2L100H上只能在200MHz下實現更好的收斂。RISC-V軟核只能在100MHz下實現定時收斂。

ee1ffbd4-3fc9-11ee-ac96-dac502259ad0.png

TABLE II 性能對比 我們提出了一種基于RISC-V的一維卷積運算的新設計。該加速器在國內FPGA上的實現和部署已經完成,其性能與具有相同規模硬件資源的國外FPGA相當。

本文論證了基于國產FPGA的CNN異構方案的可行性,該研究是國產FPGA應用生態中CNN加速領域的一次罕見嘗試。

作者:吳海龍, 李金東, 陳翔,電子與信息工程學院,中山大學,中國 (在此特別鳴謝?。?/span>

REFERENCES:

[1]Zhang. C, et al. "Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks. " the 2015 ACM/SIGDA International Symposium ACM, 2015.

[2]K. Guo et al., "Angel-Eye: A Complete Design Flow for Mapping CNN Onto Embedded FPGA," in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 37, no. 1, pp. 35-47, Jan. 2018.

[3]Qiu.J, et al. "Going Deeper with Embedded FPGA Platform for Convolutional Neural Network." the 2016 ACM/SIGDA International Symposium ACM, 2016.

[4]E. Gholizadehazari, T. Ayhan and B. Ors, "An FPGA Implementation of a RISC-V Based SoC System for Image Processing Applications," 2021 29th Signal Processing and Communications Applications Conference (SIU), 2021, pp. 1-4.

[5]B. Jacob et al., "Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference," 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2018, pp. 2704-2713.

[6]B. Bosi, G. Bois and Y. Savaria, "Reconfigurable pipelined 2-D convolvers for fast digital signal processing," in IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 7, no. 3, pp. 299-308, Sept. 1999.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21667

    瀏覽量

    601849
  • 加速器
    +關注

    關注

    2

    文章

    795

    瀏覽量

    37761
  • 神經網絡
    +關注

    關注

    42

    文章

    4762

    瀏覽量

    100539
  • cnn
    cnn
    +關注

    關注

    3

    文章

    351

    瀏覽量

    22169
  • RISC-V
    +關注

    關注

    44

    文章

    2229

    瀏覽量

    46030
收藏 人收藏

    評論

    相關推薦

    RISC-V,即將進入應用的爆發期

    計算機由控制整體的CPU(中央處理)和加速器兩部分構成。在AI計算中,功耗和效率是兩個關鍵因素。RISC-V架構通過其簡潔的設計和定制化的擴展,可以
    發表于 10-31 16:06

    淺談國產異構雙核RISC-V+FPGA處理AG32VF407的優勢和應用場景

    關于國產異構雙核RISC-V+FPGA處理AG32VF407的具體優勢和應用場景淺談如下: 優勢 異構計算能力 : 異構雙核設計結合了
    發表于 08-31 08:32

    為什么要有RISC-V

    編程語言。③、它應該適應所有實現技術,包括現場可編程門陣列FPGA)、專用集成電路(ASIC
    發表于 07-27 15:05

    什么是現場可編程邏輯陣列?它有哪些特點和應用?

    可編程邏輯元件和可編程互連,實現邏輯電路的設計和配置。FPLA在電子系統設計、數字信號處理、網絡通信等多個領域都有廣泛應用。本文將對現場可編程邏輯陣
    的頭像 發表于 05-23 16:25 ?811次閱讀

    Achronix FPGA增加對Bluespec提供的基于Linux的RISC-V軟處理的支持,以實現可擴展數據處理

    Bluespec支持加速器功能的RISC-V處理將Achronix的FPGA轉化為可編程SoC 近日,高性能
    的頭像 發表于 04-19 18:08 ?677次閱讀

    現場可編程門陣列的基本結構和優缺點

    現場可編程門陣列FPGA)的基本結構主要包括可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式塊
    的頭像 發表于 03-27 14:49 ?544次閱讀

    現場可編程門陣列的原理和應用

    FPGA是一種可編程的硬件邏輯器件,其核心組成部分是可編程邏輯單元(PLU)和可編程互連資源(Interconnect Resources)。PLU是一組
    的頭像 發表于 03-27 14:49 ?625次閱讀

    現場可編程門陣列簡介

    現場可編程門陣列FPGA)是一種由半導體材料制成的集成電路,用戶購買后可以重新編程或配置,以滿足特定功能或應用需求。其
    的頭像 發表于 03-27 14:48 ?511次閱讀

    fpgarisc-v處理的區別

    FPGA現場可編程門陣列)和RISC-V處理在多個方面存在顯著的區別。
    的頭像 發表于 03-27 14:21 ?1044次閱讀

    fpga實現什么功能

    FPGA現場可編程門陣列)是一種可編程邏輯芯片,其主要作用和功能體現在多個方面。
    的頭像 發表于 03-27 14:11 ?1263次閱讀

    現場可編程門陣列設計流程

    現場可編程門陣列FPGA)設計流程是一個綜合性的過程,它涵蓋了從需求分析到最終實現的各個環節。下面將詳細介紹
    的頭像 發表于 03-16 16:38 ?1921次閱讀

    現場可編程門陣列是什么

    現場可編程門陣列(Field Programmable Gate Array,簡稱FPGA)是一種超大規模可編程邏輯器件,由
    的頭像 發表于 03-16 16:38 ?2403次閱讀

    RISC-V為何備受歡迎?

    要適用于所有實現技術,包括 FPGA(Field-Programmable Gate Array,現場可編程邏輯門陣列)、ASIC(Appl
    的頭像 發表于 12-14 10:51 ?996次閱讀
    <b class='flag-5'>RISC-V</b>為何備受歡迎?

    FPGA現場可編程門陣列的綜合指南

    現場可編程門陣列 (FPGA) 是可以在制造后進行編程和重新編程
    的頭像 發表于 12-07 17:15 ?663次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>現場</b><b class='flag-5'>可編程</b><b class='flag-5'>門陣列</b>的綜合指南

    簡單認識現場可編程門陣列

    現場可編程門陣列 (Field Programmable Gate Array, FPGA)也稱為現場
    的頭像 發表于 12-01 09:25 ?793次閱讀