新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何使用一個(gè)DSP block實(shí)現(xiàn)4個(gè)11位浮點(diǎn)型數(shù)據(jù)乘法運(yùn)算

如何使用一個(gè)DSP block實(shí)現(xiàn)4個(gè)11位浮點(diǎn)型數(shù)據(jù)乘法運(yùn)算

作者: 時(shí)間:2018-08-14 來源:網(wǎng)絡(luò) 收藏

  概述

本文引用地址:http://m.butianyuan.cn/article/201808/390514.htm

  隨著深度學(xué)習(xí)的發(fā)展,為了解決更加抽象,更加復(fù)雜的學(xué)習(xí)問題,深度學(xué)習(xí)的網(wǎng)絡(luò)規(guī)模在不斷的增加,計(jì)算和數(shù)據(jù)的復(fù)雜也隨之劇增。INTEL FPGA具有高性能,可編程,低功耗等特點(diǎn),為AI應(yīng)用加速提供了一種靈活、確定的低延遲、高通量、節(jié)能的解決方案。是INTELFPGA第一代集成IEEE754標(biāo)準(zhǔn)單精度硬浮點(diǎn)block,可以為高復(fù)雜度的深度學(xué)習(xí)算法提供高精度,高能效的乘法運(yùn)算。

  深度學(xué)習(xí)算法復(fù)雜度高,需要進(jìn)行大量的乘法運(yùn)算,如實(shí)現(xiàn)一個(gè)卷積核為5*5的特征提取,需要進(jìn)行25*25次乘法運(yùn)算,而隨著特征提取量的增加,乘法運(yùn)算也將成倍的增長。因此乘法器資源是實(shí)現(xiàn)深度學(xué)習(xí)算法的重要評估資源,本文主要介紹如何基于的一個(gè)18*18的乘法器實(shí)現(xiàn)兩個(gè)11*11的浮點(diǎn)mini-fp運(yùn)算,從而4倍提高block資源。

  原理分析

  可變精度的Block支持配置為兩個(gè)18*18或者18*19定點(diǎn)乘法器,進(jìn)行18*18乘法運(yùn)算時(shí),如圖1所示,將輸入拆分為低6位,中6位,高6位,進(jìn)行運(yùn)算分析。


  圖1 18*18乘法器運(yùn)算

  則對應(yīng)的運(yùn)算結(jié)果如下表所示:


  將中6位輸入全設(shè)為0,則可以得到對應(yīng)的輸出結(jié)果如下表所示:


  當(dāng)高6位及低6位為帶符號位的輸入數(shù)據(jù)時(shí),進(jìn)行符號位提取,則剩余的實(shí)際數(shù)據(jù)有效位為5位,因此低6位*高6位及高6位*低6位的乘法結(jié)果最高有效位均為10位,進(jìn)行兩個(gè)結(jié)果的加法運(yùn)算,可以保證結(jié)果在12-23位以內(nèi),不會(huì)對高6位*高6位乘法結(jié)果造成影響。因此Arria1018*18的乘法器支持進(jìn)行符號位提取后的兩個(gè)6*6的乘法運(yùn)算,圖2是對應(yīng)的仿真結(jié)果,乘法結(jié)果對應(yīng)延時(shí)2個(gè)時(shí)鐘周期。


  圖2 modelsim 仿真結(jié)果

  浮點(diǎn)型數(shù)據(jù)如圖3所示,包含符號位S,指數(shù)位E及尾數(shù)位M。


  圖3 浮點(diǎn)型數(shù)據(jù)組合

  進(jìn)行浮點(diǎn)型數(shù)據(jù)乘法運(yùn)算,如圖4所示。


  圖4 浮點(diǎn)型數(shù)據(jù)乘法

  需要進(jìn)行指數(shù)相加,尾數(shù)相乘,乘法結(jié)果取整及指數(shù)的調(diào)整。11位的浮點(diǎn)型數(shù)據(jù)尾數(shù)及指數(shù)各占5位,因此進(jìn)行乘法運(yùn)算僅需要進(jìn)行包含符號位6位的數(shù)據(jù)相乘及對應(yīng)的處理即可。Arria10的DSPblock可支持配置為2個(gè)18*18乘法器,而一個(gè)18*18的乘法器可以實(shí)現(xiàn)兩個(gè)6*6的乘法運(yùn)算,因此一個(gè)DSPblock可以實(shí)現(xiàn)4個(gè)11位浮點(diǎn)型數(shù)據(jù)mini-FP的乘法運(yùn)算。



關(guān)鍵詞: Arria10 DSP

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉