999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA 的SoC 接口在CNN 加速器中的研究

2021-06-27 03:25:44夏冰潔王琴
電子設(shè)計工程 2021年12期
關(guān)鍵詞:設(shè)計

夏冰潔,王琴

(上海交通大學(xué)電子信息與電氣工程學(xué)院,上海 200240)

集成電路的概念出現(xiàn)后,集成電路設(shè)計從早期簡單邏輯門的集成,逐漸地發(fā)展到了知識產(chǎn)權(quán)(Intellectual Property core,IP 核)的集成,人們對于更加微型且集成了更多功能的芯片要求越來越高。需求刺激了新技術(shù)的發(fā)展,新技術(shù)又刺激產(chǎn)生了新一輪的需求。到目前為止,已經(jīng)實現(xiàn)了在一方小小的芯片上集成十幾個IP 的功能。

當(dāng)涉及多個IP核同時運作時,對數(shù)據(jù)流的控制就顯得尤為重要。為了使數(shù)據(jù)能夠有條不紊地在各個IP 核之間流通,如何協(xié)調(diào)各個IP 之間的關(guān)系、對多個IP 進行全局控制成為了最重要的研究課題。

1 整體架構(gòu)搭建

在卷積神經(jīng)網(wǎng)絡(luò)加速器的整體框架中,針對卷積神經(jīng)網(wǎng)絡(luò)計算量大、數(shù)據(jù)流動復(fù)雜等特點,在Vivado 2018.3 中搭建了一個整體的數(shù)據(jù)通路框架,其基本的數(shù)據(jù)流程如圖1 所示。

圖1 基本數(shù)據(jù)流程

目前,對SoC 接口設(shè)計的研究面較為廣泛,但多數(shù)研究仍然集中在已經(jīng)普及使用的AXI 總線協(xié)議對應(yīng)的接口設(shè)計。在對自定義IP 的研究方面,雖然許多功能因為經(jīng)常被調(diào)用而被封裝成了IP,但因為缺乏通用的協(xié)議而限制了對它的使用。

如圖1 所示,基本數(shù)據(jù)流框架是指首先在主控端中編寫接口的驅(qū)動代碼,這些代碼經(jīng)過AXI 總線與FPGA 進行通信,先通過AXI Quad SPI 這個接口轉(zhuǎn)接IP 操控SPI Flash 內(nèi)的數(shù)據(jù),并將其中的數(shù)據(jù)輸出至AXI總線。接著,主控端的C代碼繼續(xù)操控連在AXI總線上的DMA,利用DMA對DDR進行配置,就能將AXI總線上的數(shù)據(jù)讀取至DDR 中。然后,當(dāng)需要將DDR內(nèi)數(shù)據(jù)輸出至計算模塊時,再將DDR的地址配置進讀寫通道,將DDR 內(nèi)對應(yīng)地址中的數(shù)據(jù)讀取出來,經(jīng)由Data FIFO 輸入計算模塊頂層,供加速器算法使用。

1.1 SPI Flash至AXI總線通路設(shè)計

AXI Quad SPI是一個用于接口轉(zhuǎn)換功能的IP。該IP 的一端以AXI4 Lite協(xié)議為接口,另一端則以SPI協(xié)議為接口。因此,這個IP實現(xiàn)了從AXI Lite協(xié)議到SPI協(xié)議的接口轉(zhuǎn)換功能。通過引入AXI Quad SPI 接在SPI Flash 和AXI 總線之間,可以將AXI Quad SPI 和SPI Flash 兩者視為一個以AXI 協(xié)議為接口的Flash存儲器,整體框架如圖2所示。

圖2 AXI Quad SPI與SPI Flash整體框架

1.2 DDR到AXI總線通路設(shè)計

在整體框架中,通過引入AXI DMA 這一IP,可以實現(xiàn)控制板上外圍設(shè)備。如圖3 所示,AXI DMA 通過配置外圍設(shè)備的讀寫通道,來對外設(shè)進行數(shù)據(jù)流的讀寫,在此處引入AXI DMA,可以利用其接在AXI總線上的S_AXI_Lite 實現(xiàn)與總線之間的數(shù)據(jù)交流。此處,為了能使數(shù)據(jù)流從SPI Flash 進入DDR,可以利用軟件工具開發(fā)包(Software Development Kit,SDK)內(nèi)的C 代碼對該DMA 進行配置。將DDR 的基地址配置進讀入數(shù)據(jù)的通道,就可以利用DMA 實現(xiàn)將AXI 總線上的數(shù)據(jù)讀取至DDR 對應(yīng)地址內(nèi)的操作。

圖3 從AXI到DDR數(shù)據(jù)通路

1.3 DDR到計算模塊通路設(shè)計

基于計算模塊本身的算法設(shè)計,其接口是自定義形成的,因此需要對該計算模塊的算法外加一個頂層,以保證計算模塊IP 能夠以AXI 協(xié)議為接口,準(zhǔn)確地卡在DMA 模塊和先進先出存儲器(First Input First Output,F(xiàn)IFO)模塊之間,如圖4所示。

圖4 從DDR到計算模塊數(shù)據(jù)通路

針對從DDR 中取出至Data FIFO 的數(shù)據(jù),計算模塊以AXI4 Stream 接口協(xié)議接收這部分?jǐn)?shù)據(jù),然后將數(shù)據(jù)送入計算模塊內(nèi)。為了能構(gòu)成一個回路,再將計算模塊連回DMA 以留出設(shè)計余地,以便實現(xiàn)計算模塊中的數(shù)據(jù)再次通過DMA 傳輸回DDR 中的過程。

1.4 主控端驅(qū)動設(shè)計

如圖5 所示,在該項目的設(shè)計中,選用的是Xil_MemCpy(參數(shù)1、參數(shù)2、參數(shù)3)函數(shù)。參數(shù)1 是一個基地址,參數(shù)2 也是一個基地址。將參數(shù)1 基地址開始往后的參數(shù)中3 個字節(jié)的數(shù)據(jù)拷貝到參數(shù)2基地址下。

圖5 Flash傳輸數(shù)據(jù)至DDR

2 硬件數(shù)據(jù)流優(yōu)化設(shè)計

對于PingPong 操作中所用到的兩塊FIFO 而言,它們循環(huán)往復(fù)地進行讀或?qū)懙牟僮鳌ζ溥M行簡單的分類,可以分為4 種工作狀態(tài):

1)idle狀態(tài):兩塊FIFO均為既不讀也不寫的操作;

2)start狀態(tài):FIFO1 讀入數(shù)據(jù),F(xiàn)IFO2 無操作;

3)Ping 狀態(tài):FIFO1 讀入數(shù)據(jù),F(xiàn)IFO2 寫出數(shù)據(jù);

4)Pong 狀態(tài):FIFO1 寫出數(shù)據(jù),F(xiàn)IFO2 讀入數(shù)據(jù);

將以上4 種狀態(tài)的轉(zhuǎn)換展現(xiàn)在狀態(tài)機轉(zhuǎn)換圖中,如圖6 所示。

圖6 PingPong狀態(tài)機轉(zhuǎn)換流程

針對FIFO 的內(nèi)部邏輯而言,需要對控制信號分別進行控制。Data_valid 信號代表FIFO 內(nèi)部是否存在數(shù)據(jù),當(dāng)FIFO 內(nèi)存在數(shù)據(jù)時,Data_valid=1;當(dāng)FIFO 內(nèi)沒有數(shù)據(jù)時,Data_valid=0。當(dāng)FIFO 內(nèi)部沒有數(shù)據(jù)并且此時要將數(shù)據(jù)讀入FIFO,Data_valid 信號由0 置為1;當(dāng)FIFO 內(nèi)部已有數(shù)據(jù)并且此時要將數(shù)據(jù)寫出至計算模塊,Data_valid 信號由1 置為0。FIFO 內(nèi)的邏輯控制流程如圖7 所示。

圖7 FIFO內(nèi)邏輯控制流程

3 實驗結(jié)果與分析

通過在Vivado 2018.3 平臺中進行綜合仿真,所得出的時序結(jié)果如表1 所示。該工程的時鐘周期為10 ns,時鐘頻率為100 MHz,最長延遲為5.5 ns。

表1 Vivado仿真時序報告

資源報告如表2 所示。

表2 Vivado仿真資源報告

除了上述時序報告和資源報告外,這個工程的帶寬是3 200 Mbits,即在1 s 內(nèi),有3 200 Mbits 的數(shù)據(jù)進入計算模塊被處理。

32 bits×100 MHz=3 200 Mbits

按照計算模塊的需求,不同的卷積層會用到不同大小的數(shù)據(jù)量。對于一個普通的具有8 層卷積的CNN 加速器而言,根據(jù)每一層所給出的數(shù)據(jù)量,可得到輸入用時,如表3 所示。

表3 每層卷積輸入數(shù)據(jù)量和輸入用時

4 結(jié)束語

文中依托一個典型的CNN 加速器結(jié)構(gòu),主要實現(xiàn)了在Vivado 2018.3 中設(shè)計底層硬件數(shù)據(jù)流通路,并對進入計算模塊算法部分的數(shù)據(jù)的通路進行優(yōu)化。在這個項目中,選擇了DMA 訪問來控制對外圍存儲設(shè)備的讀寫,并在計算模塊的頂層加入一個PingPong 的FIFO 來對進入計算模塊的數(shù)據(jù)進行流水化操作。最終實現(xiàn)了對數(shù)據(jù)流架構(gòu)的優(yōu)化,使得時鐘周期達到10 ns,并依次給出了資源報告和每層卷積的輸入用時。該項目對基于FPGA 的SoC 接口設(shè)計具有參考意義,提供了一種SoC 接口設(shè)計方法,為未來的研究提供了一個參考方向。

猜你喜歡
設(shè)計
二十四節(jié)氣在平面廣告設(shè)計中的應(yīng)用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計到“設(shè)計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 欧美人在线一区二区三区| 在线观看国产精品第一区免费| 9久久伊人精品综合| 波多野结衣视频网站| 18禁黄无遮挡网站| 国产激爽爽爽大片在线观看| 国产亚洲成AⅤ人片在线观看| a毛片在线| 手机在线免费不卡一区二| 青草国产在线视频| 亚洲高清中文字幕| 国产精品视频久| 最新国产午夜精品视频成人| 亚洲福利网址| 无码丝袜人妻| 国产午夜在线观看视频| 99热亚洲精品6码| 五月婷婷亚洲综合| 激情视频综合网| 日韩乱码免费一区二区三区| 国产欧美在线| 美女一区二区在线观看| 国产成人无码播放| 不卡午夜视频| 国产精品自在拍首页视频8| 在线播放91| 欧美成人日韩| 亚洲乱码精品久久久久..| 久久国产精品影院| 97超级碰碰碰碰精品| 亚洲AV无码久久精品色欲| 国产精品视频白浆免费视频| 婷婷伊人五月| 国产成人综合日韩精品无码不卡| 天天综合网亚洲网站| 国产性生大片免费观看性欧美| 午夜福利无码一区二区| 香蕉eeww99国产在线观看| 国产精品黄色片| 国产青青操| 色婷婷色丁香| 精品91在线| 人妖无码第一页| 日韩成人免费网站| 国产主播喷水| 亚洲日韩国产精品无码专区| 2020亚洲精品无码| 日韩天堂网| 久久国产精品影院| 男女性午夜福利网站| 欧美午夜久久| 欧美日本在线一区二区三区| 蝌蚪国产精品视频第一页| 国产精品成人免费综合| 精品视频在线观看你懂的一区| 欧美狠狠干| 亚洲永久色| 欧美精品二区| 亚洲综合在线最大成人| 欧美A级V片在线观看| 97无码免费人妻超级碰碰碰| 99热这里只有精品2| 一区二区欧美日韩高清免费| 午夜成人在线视频| 亚洲swag精品自拍一区| 思思热在线视频精品| 高清无码不卡视频| 成人韩免费网站| 玖玖精品在线| 亚洲欧州色色免费AV| 国产视频一二三区| 欧美特黄一级大黄录像| 亚洲日本www| 暴力调教一区二区三区| 天天综合网色中文字幕| 亚洲精品第五页| AV无码无在线观看免费| 免费国产无遮挡又黄又爽| 欧洲亚洲欧美国产日本高清| 巨熟乳波霸若妻中文观看免费| 亚洲色欲色欲www网| 99久久这里只精品麻豆|