0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于RISC-V軟核CPU的國產(chǎn)FPGA CNN異構(gòu)方案的實現(xiàn)

紫光同創(chuàng)官微 ? 來源:紫光同創(chuàng)官微 ? 作者:紫光同創(chuàng)官微 ? 2022-11-18 11:04 ? 次閱讀

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

背景

卷積神經(jīng)網(wǎng)絡(luò)在機器視覺任務(wù)中越來越流行,包括圖像分類和目標(biāo)檢測。如何在有限的條件下充分發(fā)揮FPGA的最大性能是各研究者的主要方向。如今,大多數(shù)CCN使用外國FPGA器件。由于國內(nèi)FPGA起步較晚,其相關(guān)開發(fā)工具和設(shè)備落后于其他外國制造商。因此,在國內(nèi)FPGA上構(gòu)建高性能CNN并替換現(xiàn)有成熟的異構(gòu)方案是一項具有挑戰(zhàn)性的任務(wù)。

Zhang[1]于2015年首次對卷積網(wǎng)絡(luò)推理中的數(shù)據(jù)共享和并行性進(jìn)行了深入分析和探索。Guo[2]提出的加速器在214MHz下達(dá)到了84.3 GOP/s的峰值性能。2016年,Qiu[3]更深入地探索了使用行緩沖器的加速器。本文提出了一種更高效、更通用的卷積加速器。提出的加速器峰值性能達(dá)到153.6GOP/s,僅占用14K LUT、32個DRM和208個APM。本文的章節(jié)安排如下,第2節(jié)介紹了我們提出的加速器的詳細(xì)設(shè)計以及基于RISC-V的加速器實現(xiàn)的控制調(diào)度方案。第3節(jié)給出了實驗結(jié)果。

系統(tǒng)設(shè)計

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

bd2cb078-66ec-11ed-8abf-dac502259ad0.png

Fig. 1. 片上RISC-V系統(tǒng)設(shè)計圖

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

A、RISC-V 軟核CPU 架構(gòu)

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

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

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

B、CNN 加速器結(jié)構(gòu)

輸入緩存。使用乒乓緩存來實現(xiàn)緩沖區(qū),可以有效地提高吞吐量。

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

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

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

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

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

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

池化。確定當(dāng)前卷積層是否與池化層級聯(lián),然后決定是否使用池化模塊來完成池化操作。

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

bd469cd6-66ec-11ed-8abf-dac502259ad0.png

Fig. 2. CNN 加速器實現(xiàn)

C、DMA 結(jié)構(gòu)

神經(jīng)網(wǎng)絡(luò)不僅對計算能力有很高的要求,而且對內(nèi)存也有很大的需求。中低端FPGA通常需要DDR SRAM(雙數(shù)據(jù)速率同步動態(tài)隨機存取存儲器)來承載整個神經(jīng)網(wǎng)絡(luò)和所有中間運算結(jié)果的權(quán)重。紫光同創(chuàng)的FPGA的DDR3內(nèi)存驅(qū)動器IP為用戶提供了簡化AXI4總線的內(nèi)存訪問接口。

由于Simpled AXI和AXI之間的標(biāo)準(zhǔn)差異,需要新的DMA設(shè)計。DMA設(shè)計如下。讀和寫地址通道由RISC-V軟核直接控制。讀寫數(shù)據(jù)通道的FIFO用作卷積加速器和DDR3驅(qū)動器IP的緩沖器,以完成端口轉(zhuǎn)換。

D、實現(xiàn)細(xì)節(jié)

1、一維卷積單元陣列設(shè)計

神經(jīng)網(wǎng)絡(luò)不僅對計算能力有很高的要求,而且對內(nèi)存也有很大的需求。中低端FPGA通常需要DDR SRAM(雙數(shù)據(jù)速率同步動態(tài)隨機存取存儲器)來承載整個神經(jīng)網(wǎng)絡(luò)和所有中間運算結(jié)果的權(quán)重。紫光同創(chuàng)的FPGA的DDR3內(nèi)存驅(qū)動器IP為用戶提供了簡化AXI4總線的內(nèi)存訪問接口。

由于Simpled AXI和AXI之間的標(biāo)準(zhǔn)差異,需要新的DMA設(shè)計。DMA設(shè)計如下。讀和寫地址通道由RISC-V軟核直接控制。讀寫數(shù)據(jù)通道的FIFO用作卷積加速器和DDR3驅(qū)動器IP的緩沖器,以完成端口轉(zhuǎn)換。

2、卷積加速器控制

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

bd61ff08-66ec-11ed-8abf-dac502259ad0.png

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

bd75d1c2-66ec-11ed-8abf-dac502259ad0.png

Fig. 4. 一維卷積單元硬件實現(xiàn)

實現(xiàn)結(jié)果和備注

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

bd89414e-66ec-11ed-8abf-dac502259ad0.png

TABLE I 資源利用

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

bda6cc50-66ec-11ed-8abf-dac502259ad0.png

TABLE II 性能對比

我們提出了一種基于RISC-V的一維卷積運算的新設(shè)計。該加速器在國內(nèi)FPGA上的實現(xiàn)和部署已經(jīng)完成,其性能與具有相同規(guī)模硬件資源的國外FPGA相當(dāng)。

本文論證了基于國產(chǎn)FPGA的CNN異構(gòu)方案的可行性,該研究是國產(chǎn)FPGA應(yīng)用生態(tài)中CNN加速領(lǐng)域的一次罕見嘗試。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21573

    瀏覽量

    600736
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7408

    瀏覽量

    163433
  • RISC-V
    +關(guān)注

    關(guān)注

    44

    文章

    2182

    瀏覽量

    45907
收藏 人收藏

    評論

    相關(guān)推薦

    國產(chǎn)RISC-V基于全志T113-i異構(gòu)多核平臺

    全志T113-i是一款雙Cortex-A7@1.2GHz國產(chǎn)工業(yè)級處理器平臺,并內(nèi)置玄鐵C906 RISC-V和HiFi4 DSP雙副核心,可流暢運行Linux系統(tǒng)與Qt界面,并已適配
    發(fā)表于 10-10 22:08

    基于國產(chǎn)異構(gòu)(RISC-V+FPGA)處理器,AG32開發(fā)板開發(fā)資料

    基于國產(chǎn)異構(gòu)(RISC-V+FPGA)處理器,AG32VF407系列32位微控制器相當(dāng)于主頻248MHZMCU+2KLES(FPGA)。
    發(fā)表于 09-02 17:13

    淺談國產(chǎn)異構(gòu)RISC-V+FPGA處理器AG32VF407的優(yōu)勢和應(yīng)用場景

    關(guān)于國產(chǎn)異構(gòu)RISC-V+FPGA處理器AG32VF407的具體優(yōu)勢和應(yīng)用場景淺談如下: 優(yōu)勢 異構(gòu)計算能力 :
    發(fā)表于 08-31 08:32

    Imagination CPU 系列研討會 | RISC-V 平臺的性能分析和調(diào)試

    為了讓開發(fā)者及工程師深入了解Imagination的CPU產(chǎn)品及相關(guān)解決方案,Imagination將陸續(xù)推出5期線上研討會,包含:RISC-V平臺的性能分析和調(diào)試;RISC-V安全和
    的頭像 發(fā)表于 08-10 08:28 ?212次閱讀
    Imagination <b class='flag-5'>CPU</b> 系列研討會 | <b class='flag-5'>RISC-V</b> 平臺的性能分析和調(diào)試

    國產(chǎn)RISC-V芯片性能穩(wěn)定嗎?

    想使用國產(chǎn)RISC-V架構(gòu)的芯片做無人機投送快遞的方案,可行性高嗎?國產(chǎn)RISC-V MCU穩(wěn)定么?
    發(fā)表于 05-20 15:43

    RISC-V為何如此重要?

    本文由半導(dǎo)體產(chǎn)業(yè)縱橫(ID:ICVIEWS)編譯自xda-developersRISC-V正在緩慢而悄然地改變CPU市場。RISC-V在過去幾年中一直是行業(yè)流行語,它正在慢慢改變半導(dǎo)體市場。但是
    的頭像 發(fā)表于 04-29 08:28 ?303次閱讀
    <b class='flag-5'>RISC-V</b>為何如此重要?

    Achronix FPGA增加對Bluespec提供的基于Linux的RISC-V處理器的支持,以實現(xiàn)可擴展數(shù)據(jù)處理

    Achronix半導(dǎo)體公司,以及RISC-V工具和IP領(lǐng)域的行業(yè)領(lǐng)導(dǎo)者Bluespec有限公司,日前聯(lián)合宣布推出一系列支持Linux的RISC-V處理器,這些處理器都可用于Achronix
    的頭像 發(fā)表于 04-19 18:08 ?657次閱讀

    國產(chǎn)RISC-V MCU推薦

    高速PHY收發(fā)器(480Mbps)、千兆以太網(wǎng)MAC及10兆物理層收發(fā)器等。 沁恒的另一顆芯片 xiaolinen認(rèn)為在選擇國產(chǎn)RISC-V MCU時,需要重點考慮生態(tài)問題,碰到問題是否能快速的找到
    發(fā)表于 04-17 11:00

    Achronix與Bluespec聯(lián)合宣布推出一款支持Linux的RISC-V處理器

    高性能FPGA芯片和嵌入式FPGA(eFPGA)硅知識產(chǎn)權(quán)(IP)領(lǐng)域的領(lǐng)先企業(yè)Achronix半導(dǎo)體公司,以及RISC-V工具和IP領(lǐng)域的行業(yè)領(lǐng)導(dǎo)者Bluespec有限公司,日前聯(lián)合
    的頭像 發(fā)表于 04-15 16:23 ?520次閱讀

    品讀《基于FPGARISC-V的嵌入式系統(tǒng)設(shè)計》

    曾經(jīng)何時,偶然間獲得了這本書,這本是來自清華大學(xué)出版社的,作者顧長怡。此書比較詳細(xì)介紹了RISC-V指令集和其背后的設(shè)計思想,并且涉及到一種稱為FARM的軟硬件開發(fā)模式,將FPGARISC-V
    發(fā)表于 03-29 00:06

    瑞薩推出采用自研CPU內(nèi)核的通用32位RISC-V MCU 加強RISC-V生態(tài)系統(tǒng)布局

    瑞薩推出采用自研CPU內(nèi)核的通用32位RISC-V MCU 加強RISC-V生態(tài)系統(tǒng)布局 RISC-V MCU為開發(fā)人員帶來低功耗、高性能的全新選擇以及全面工具鏈支持。 全球半導(dǎo)體解決
    發(fā)表于 03-28 19:00 ?432次閱讀

    fpgarisc-v處理器的區(qū)別

    FPGA(現(xiàn)場可編程門陣列)和RISC-V處理器在多個方面存在顯著的區(qū)別。
    的頭像 發(fā)表于 03-27 14:21 ?935次閱讀

    RISC-V 基礎(chǔ)學(xué)習(xí):RISC-V 基礎(chǔ)介紹

    是芯片工程師根據(jù)需求自定義。 所以 RISC-V 采用的是模塊化的指令集,易于擴展、組裝。它適用于不同的應(yīng)用場景,可以降低 CPU 實現(xiàn)成本。 9.4 RISC-V 寄存器 指令的操作
    發(fā)表于 03-12 10:25

    Imagination:RISC-V CPU的重要力量

    根據(jù)SHD集團最近發(fā)布的報告顯示,RISC-V正全速發(fā)展中。通過分析從2021年到2030年這十年間RISC-V在不同應(yīng)用和功能領(lǐng)域的潛在市場,作者RichWawrzyniak得出結(jié)論稱,到
    的頭像 發(fā)表于 03-07 08:26 ?697次閱讀
    Imagination:<b class='flag-5'>RISC-V</b> <b class='flag-5'>CPU</b>的重要力量

    256!賽昉發(fā)布全新RISC-V眾核子系統(tǒng)IP平臺

    RISC-V技術(shù),不斷創(chuàng)新,為業(yè)界帶來更多更成熟的RISC-V軟硬件解決方案。” 未來,賽昉科技將依托自研CPU Core IP、Interconnect Fabric IP等核心產(chǎn)品
    發(fā)表于 11-29 13:37