亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx

        一種基于國產(chǎn)嵌入式CPU 核的BP 神經(jīng)網(wǎng)絡SoC 設計

        2021-04-24 11:36:50徐文亮
        電子技術應用 2021年4期
        關鍵詞:設計

        徐文亮

        (杭州電子科技大學 電子信息學院,浙江 杭州 310018)

        0 引言

        人工神經(jīng)網(wǎng)絡的實現(xiàn)方法主要分為硬件實現(xiàn)[1]和軟件實現(xiàn)[2]兩種。神經(jīng)網(wǎng)絡軟件實現(xiàn)的方法具有并行度低和實現(xiàn)速度慢的特點,并且不能滿足神經(jīng)網(wǎng)絡對實時運算的要求。除此之外,最大的缺點是用軟件模擬實現(xiàn)的方法需要龐大體積的計算機作支持,這樣就很不適合應用于嵌入式場景?;谟布崿F(xiàn)的神經(jīng)網(wǎng)絡具有運算速度快、并行性高等優(yōu)點[3],并且在實時運算方面也能滿足要求。綜合考慮,本文采用硬件實現(xiàn)的方法來設計人工神經(jīng)網(wǎng)絡。

        本文設計的目的是找到一種方法——硬件實現(xiàn)的神經(jīng)網(wǎng)絡能夠進行動態(tài)調節(jié),既可以實現(xiàn)神經(jīng)網(wǎng)拓撲結構的動態(tài)調節(jié),即每層網(wǎng)絡和每層神經(jīng)元的個數(shù)動態(tài)可調,也可以實現(xiàn)輸入權值和閾值的自動更新。本文以BP神經(jīng)網(wǎng)絡為例,使用國產(chǎn)嵌入式CPU CK803S 及其SoC設計平臺SmartL-Prime,實現(xiàn)一款BP 神經(jīng)網(wǎng)絡SoC 的設計。

        1 SoC 結構設計

        本文設計的BP 神經(jīng)網(wǎng)絡SoC 采用平頭哥(杭州中天微)提供的基于CK803S 嵌入式CPU 的SmartL-Prime 平臺。CK803S 是面向控制領域的32 位高能效嵌入式CPU核[4],采用了精簡的3 級流水線結構,具有低成本、低功耗等特點。BP 神經(jīng)網(wǎng)絡SoC 的系統(tǒng)結構圖如圖1 所示。

        圖1 BP 神經(jīng)網(wǎng)絡SoC 的系統(tǒng)框圖

        圖1 中ANN IP 即為BP 神經(jīng)網(wǎng)絡加速器,通過系統(tǒng)總線掛載到SmartL-Prime 平臺上,系統(tǒng)總線使用了AHB-Lite總線為單主機結構[5]。將CK803S 處理器作為主機,BP神經(jīng)網(wǎng)絡加速器作為從機,在處理器的控制下,通過AHB-Lite 總線實現(xiàn)對BP 神經(jīng)網(wǎng)絡加速器IP 核的訪問和數(shù)據(jù)的交互。設計的IP 經(jīng)過封裝打包完成后完成兼容AHB-Lite 的協(xié)議,將其掛載到總線上后,即可通過CK803S 作為主機,實現(xiàn)對神經(jīng)網(wǎng)絡IP 核的訪問。

        BP 神經(jīng)網(wǎng)絡加速器的AHB-Lite 總線連接方式如圖2所示。BP 神經(jīng)網(wǎng)絡加速器為從機,主機CK803S 輸出BP神經(jīng)網(wǎng)絡加速器的地址,譯碼器產(chǎn)生了選通信號使能BP神經(jīng)網(wǎng)絡加速器,其余的地址輸出到多路復用器中,用于選通從機的輸出,從而通過系統(tǒng)總線讀取到BP 神經(jīng)網(wǎng)絡加速器的數(shù)據(jù)。對BP 神經(jīng)網(wǎng)絡加速器的寫操作與讀操作類似,地址穩(wěn)定之后有效,給BP 神經(jīng)網(wǎng)絡加速器發(fā)送寫使能信號,接收到就緒響應后,往寫數(shù)據(jù)總線上輸出數(shù)據(jù),即可完成對BP 神經(jīng)網(wǎng)絡加速器的寫操作。

        圖2 主機和BP 神經(jīng)網(wǎng)絡加速器的AHB-Lite 總線連接

        圖3 所示為從機的選通信號通過譯碼器生成框圖。AMBA 的交互總線結構和統(tǒng)一編址設計方便了系統(tǒng)的尋址,AHB-Lite 的單主結構也簡化了總線的復雜度,減少了復雜的仲裁邏輯。

        圖3 從機選通信號生成圖

        2 BP 神經(jīng)網(wǎng)絡加速器的設計

        2.1 神經(jīng)元設計

        為實現(xiàn)BP 神經(jīng)網(wǎng)絡的硬件設計,首先應該完成神經(jīng)網(wǎng)絡的基本單元,即人工神經(jīng)元的硬件設計[6-8]。圖4是單個神經(jīng)元的運算過程示意圖。

        圖4 神經(jīng)元運算過程示意圖

        控制模塊的控制參數(shù)通過軟件可配置,來控制數(shù)據(jù)流在模塊間的傳輸,并最后將數(shù)據(jù)通過神經(jīng)元狀態(tài)模塊傳輸出去。首先控制模塊控制數(shù)據(jù)流從權值存儲模塊開始,權值和輸入向量一起被加載到乘累加模塊進行乘累加運算,接著將計算結果輸入到激活函數(shù)模塊,經(jīng)過該模塊計算后輸出到神經(jīng)元狀態(tài)模塊。

        CPS(Connections-Per-Second)即每秒的連接率,是對神經(jīng)網(wǎng)絡硬件性能評估的一種重要的方法。為了測試訓練的速度,往往通過每秒鐘聯(lián)接的更新率來評估。此外學習的速率也與選用的學習算法有關。

        針對不同神經(jīng)網(wǎng)絡的設計,激活函數(shù)的選擇可以是不同的。本設計中,使用的激活函數(shù)是Sigmoid 函數(shù)和Guass 函數(shù)[9-10]。此外學習的速率也與選用的學習算法有關。神經(jīng)元具體的硬件設計如圖5 所示。

        2.2 BP 神經(jīng)網(wǎng)絡設計

        一個三層的BP 神經(jīng)網(wǎng)絡由輸入層、隱含層和輸出層組成[11]。如果具有足夠的隱含層神經(jīng)元數(shù),它就能以任意精度逼近任何連續(xù)的非線性函數(shù),所以BP 神經(jīng)網(wǎng)絡通常用來進行函數(shù)逼近和分類問題[12-13]。神經(jīng)網(wǎng)絡每進行一次完整的訓練,BP 神經(jīng)網(wǎng)絡硬件都會進行一次誤差反向運算和前向運算,并會修改相應的權值矩陣。隱含層和輸出層使用的函數(shù)分別是Sigmoid 函數(shù)和線性函數(shù)。本設計中將BP 神經(jīng)網(wǎng)絡的整個計算過程總結為以下幾個功能:激活函數(shù)運算Sigmod 模塊,誤差運算Error 模塊,權值修正與更新Updata 模塊,輸入輸出層RAM 存儲模塊以及功能可復用的神經(jīng)元乘累加模塊。

        BP 神經(jīng)網(wǎng)絡的硬件實現(xiàn)整體結構如圖6 所示。

        從硬件實現(xiàn)框圖可以看出,BP 神經(jīng)網(wǎng)絡的層內(nèi)的執(zhí)行過程是并行的。整個神經(jīng)網(wǎng)絡的硬件實現(xiàn)過程如下:

        (1)開始時把初始權值分別存放于隱含層權值RAM和輸出層權值RAM 中以及訓練用到的樣本集存放在輸入層RAM 中,作為訓練使用。

        (2)根據(jù)對輸入層RAM 中的輸入和對于隱含層權值RAM 中的數(shù)值,對隱含層神經(jīng)元進行計算,送到MAC模塊進行累加計算,并將運算完成的結果輸出到激活函數(shù)模塊。

        圖5 神經(jīng)元的硬件實現(xiàn)結構

        圖6 BP 神經(jīng)網(wǎng)絡的硬件實現(xiàn)整體結構圖

        (3)把激活函數(shù)的計算結果存放到隱含層輸出RAM 中。

        (4)分別讀取隱含層輸出RAM 中的數(shù)據(jù)和輸出層權值RAM 中的權值數(shù)據(jù),輸出到MAC 模塊進行第二次乘累加運算,最終得到輸出層的輸出數(shù)據(jù)。至此,前向運算階段結束。

        (5)誤差運算單元Error 用來計算隱含層的輸出和輸出層的輸出數(shù)據(jù)。至此,誤差反向傳播階段完成。

        (6)將得到的誤差、輸入以及隱含層輸出送到權值修正和更新單元,得到新的權值,重新存入權值RAM 中[13]。

        至此,整個神經(jīng)網(wǎng)絡完成一次完整的訓練過程,接著重復訓練其他樣本,直到滿足指定的訓練步數(shù)或者是誤差滿足要求為止。這樣完成了對整個BP 神經(jīng)網(wǎng)絡硬件的實現(xiàn)。

        3 驗證和分析

        神經(jīng)網(wǎng)絡加速器使用VHDL 實現(xiàn),通過Synopsys VCS的驗證環(huán)境,驗證神經(jīng)網(wǎng)絡IP 核的功能和邏輯[14-15],并使用了Assertion 方式進行了誤差分析。對于SoC 的測試軟硬件的協(xié)同設計,本文使用基于FPGA 的FMX7AR3B平臺,在基于CK803S 的SmartL-Prime 平臺進行設計之后,使用FPGA 平臺進行配置實現(xiàn)。使用CDK 工具鏈進行軟硬件協(xié)同設計和驗證[16]。

        SoC 設計和驗證完成之后,本文使用Vivado 分析工具進行PPA(Perfromance Power Area,即性能、功耗和面積)分析。性能分析結果如圖7 所示,是Dhrystone 的基準跑分測試;當波特率設置為115 200Bd,數(shù)據(jù)位為8 位,無校驗位,停止位為1 位的情況下,結果為0.34 DMIPS/MHz,滿足設計要求。

        圖8 所示為在Vivado 下查看的資源使用情況。從圖中可以看出Look Up Table 的資源使用率約為18%,BRAM 的資源使用率約為78%,IO 的資源使用率約為87%。

        圖7 benchmark 跑分結果

        圖8 資源使用情況

        猜你喜歡
        設計
        二十四節(jié)氣在平面廣告設計中的應用
        河北畫報(2020年8期)2020-10-27 02:54:06
        何為設計的守護之道?
        《豐收的喜悅展示設計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PWM的伺服控制系統(tǒng)設計
        電子制作(2019年19期)2019-11-23 08:41:36
        基于89C52的32只三色LED搖搖棒設計
        電子制作(2019年15期)2019-08-27 01:11:50
        基于ICL8038的波形發(fā)生器仿真設計
        電子制作(2019年7期)2019-04-25 13:18:16
        瞞天過?!律O計萌到家
        藝術啟蒙(2018年7期)2018-08-23 09:14:18
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        從平面設計到“設計健康”
        商周刊(2017年26期)2017-04-25 08:13:04
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        在线观看免费视频发布白白色| 亚洲区日韩精品中文字幕| 国产福利免费看| 精品国产国产AV一区二区| 亚洲国产精品悠悠久久琪琪| 亚洲精品综合色区二区| 亚洲中文字幕无线乱码va| av在线网站一区二区| 日本一区二区三区一级片| 亚州中文热码在线视频| 国产综合一区二区三区av| 牛仔裤人妻痴汉电车中文字幕| 国产av精品一区二区三区久久| 人妻丰满熟妇aⅴ无码| 国产免费观看黄av片| 人人妻人人澡人人爽精品欧美| 亚洲av一宅男色影视| 欧美aⅴ在线| 成人国产在线观看高清不卡| 久久久精品亚洲懂色av| 一级黄色一区二区三区| 欧美怡春院一区二区三区| 让少妇高潮无乱码高清在线观看 | 日韩乱码人妻无码中文字幕视频 | 少妇人妻系列中文在线| 亚洲美女毛多水多免费视频 | 欧美亚洲日本在线| 蜜桃视频在线免费观看一区二区 | 亚洲视频1区| 亚洲在线一区二区三区| 亚洲成人一区二区av| 日韩精品综合一本久道在线视频| 日本又色又爽又黄的a片18禁| 天堂资源中文最新版在线一区| 曰本女人牲交全视频免费播放| 亚洲精品一二区| 蜜桃视频色版在线观看| 亚洲美女一区二区三区三州| 国产亚洲视频在线播放| 亚洲av成人精品日韩在线播放| 人妻少妇精品专区性色av|