[發明專利]基于FPGA的二值化神經網絡的加速系統在審
| 申請號: | 202010793337.8 | 申請日: | 2020-08-10 |
| 公開(公告)號: | CN111931925A | 公開(公告)日: | 2020-11-13 |
| 發明(設計)人: | 田玉敏;王泉;楊鵬飛;李喜林;王振翼;梁瑀 | 申請(專利權)人: | 西安電子科技大學 |
| 主分類號: | G06N3/063 | 分類號: | G06N3/063;G06N3/04;G06F15/78 |
| 代理公司: | 陜西電子工業專利中心 61205 | 代理人: | 陳宏社;王品華 |
| 地址: | 710071*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 fpga 二值化 神經網絡 加速 系統 | ||
1.一種基于FPGA的二值化神經網絡的加速系統,其特征在于,包含通過FPGA實現的權重數據緩存模塊、輸入特征數據緩存模塊、配置數據緩存模塊、權重數據轉換模塊、卷積模塊、池化模塊、全連接模塊、結果處理模塊、結果緩存模塊和控制模塊,其中:
所述權重數據緩存模塊,用于通過FPGA上的存儲器DDR,對二值化神經網絡的卷積層權重數據和全連接層權重數據進行緩存;
所述輸入特征數據緩存模塊,用于通過FPGA上的存儲器DDR,對二值化神經網絡的輸入特征數據進行緩存;
所述配置數據緩存模塊,用于根據二值化神經網絡卷積層包含的M個尺寸為a的非對稱卷積核kernela按行計算優先或列計算優先的卷積展開順序計算kernela的卷積配置數據X,根據二值化神經網絡全連接層包含的I個尺寸為b的非對稱卷積核kernelb按行計算優先或列計算優先的卷積展開順序計算kernelb的全連接卷積配置數據Y,并按照卷積配置數據X計算的順序與按照全連接卷積配置數據Y計算的順序,以kernela的卷積層權重數據和kernelb的全連接層權重數據為緩存地址,通過FPGA上的片內存儲器ROM1與ROM2分別對kernela的卷積配置數據和kernelb的全連接卷積配置數據進行緩存;
所述權重數據轉換模塊,用于當控制模塊提供的專用控制時鐘信號為上升沿,且復位號為高電平時,按照kernela的尺寸a和kernelb的尺寸b,分別依次讀取存儲器DDR中緩存的kernela的卷積層權重數據和kernelb的全連接層權重數據,并將所讀取權重數據分別作為訪問片內存儲器ROM1與ROM2的地址信號,依次讀取片內存儲器ROM1中緩存的kernela的卷積配置數據和ROM2中緩存的kernelb的全連接卷積配置數據;
所述卷積模塊,包括卷積運算控制子模塊和由與卷積核kernela數量M相同的待配置卷積計算的LUT邏輯單元組成的可重配卷積計算子模塊A,A={Am,M≥2};所述卷積運算控制子模塊,用于當控制模塊提供的控制時鐘信號為上升沿,且復位信號為高電平時,調用FPGA支持的AXI_HWICAP IP核U1,并根據地址計數器產生的Am的幀地址信號,通過從權重數據轉換模塊中按照卷積配置數據X計算的順序依次讀取ROM1中Am對應kernela的卷積配置數據對Am進行配置,得到內容配置后的可重配卷積計算子模塊A;所述內容配置后的可重配卷積計算子模塊A,用于對從FPGA上的存儲器DDR讀取的輸入特征數據進行卷積運算;
所述池化模塊,包括池化運算控制子模塊和由N個待配置池化計算的LUT邏輯單元組成的可重配池化計算子模塊B,B={Bn,N≥2};所述池化運算控制子模塊,用于當控制模塊提供的控制時鐘信號為上升沿,且復位信號為高電平時,調用FPGA支持的AXI_HWICAP IP核U2,并根據地址計數器產生的Bn的幀地址信號,通過池化計算配置常數對Bn進行配置,得到內容配置后的可重配池化計算子模塊B;所述內容配置后的可重配池化計算子模塊B,用于對卷積模塊的卷積運算結果進行池化運算;
所述全連接模塊,包括全連接卷積控制子模塊、全連接加法控制子模塊、由與卷積核kernelb數量I相同的可重配全連接卷積計算子模塊C,C={Ci,I≥2}和由J個待配置全連接加法計算的LUT邏輯單元組成的可重配全連接加法計算子模塊D,D={Dj,J≥2};所述全連接卷積控制子模塊,用于當控制模塊提供的控制時鐘信號為上升沿,且復位信號為高電平時,調用FPGA支持的AXI_HWICAP IP核U3,并根據地址計數器產生的Ci的幀地址信號,通過從權重數據轉換模塊中按照全連接卷積配置數據Y計算的順序依次讀取ROM2中Ci對應kernelb的全連接卷積配置數據對Ci進行配置,得到內容配置后的可重配全連接卷積計算子模塊C;所述內容配置后的可重配全連接卷積計算子模塊C,用于對池化模塊的池化結果進行卷積運算;所述全連接加法控制子模塊,用于當控制模塊提供的控制時鐘信號為上升沿,且復位信號為高電平時,調用FPGA支持的AXI_HWICAP IP核U4,并根據地址計數器產生的Dj的幀地址信號,通過加法計算配置常數對Dj進行配置,得到內容配置后的可重配全連接加法計算子模塊D;所述內容配置后的可重配全連接加法計算子模塊D,用于對內容配置后的C的卷積運算結果進行加法運算;
所述結果處理模塊,用于當控制模塊提供的專用控制時鐘信號為上升沿,且復位信號為高電平時,通過調用FPGA支持的DSP硬核和或Floating-point IP核,對全連接模塊的運算結果進行回歸或分類處理;
所述結果緩存模塊,用于通過FPGA上的嵌入式塊BRAM,對結果處理模塊所輸出的回歸或分類處理結果進行緩存;
所述控制模塊,用于調用FPGA支持的IP核,通過向權重數據轉換模塊、卷積模塊、池化模塊、全連接模塊、結果處理模塊提供所需的控制信號,實現對這些模塊工作過程的控制。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安電子科技大學,未經西安電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010793337.8/1.html,轉載請聲明來源鉆瓜專利網。





