chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

應用于CNN中卷積運算的LUT乘法器設計

電子設計 ? 來源:AI加速微信公眾號 ? 作者:AI加速微信公眾號 ? 2020-11-30 11:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

卷積占據(jù)了CNN網絡中絕大部分運算,進行乘法運算通常都是使用FPGA中的DSP,這樣算力就受到了器件中DSP資源的限制。比如在zynq7000器件中,DSP資源就較少,神經網絡的性能就無法得到提升。利用xilinx器件中LUT的結構特征,設計出的乘法器不但能靈活適應數(shù)據(jù)位寬,而且能最大限度降低LUT資源使用。

Xilinx ultrascale器件LUT結構
在這里簡要介紹一下ultrascale系列器件中的LUT結構,有助于后邊對乘法器設計思路的理解。CLB(configuratble logic block)是主要的資源模塊,其包含了8個LUT,16個寄存器,carry邏輯,以及多路選通器等。其中LUT可以用作6輸入1輸出,或者兩個5輸入LUT,但是這兩個LUT公用輸入,具有不同輸出。每個LUT輸出可以連接到寄存器或者鎖存器,或者從CLB輸出。LUT可以用于64x1和32X2的分布式RAM,一個CLB內最大可以支持512X1大小的RAM。RAM的讀寫地址和輸入的讀寫數(shù)據(jù)是共享的,數(shù)據(jù)通道可以使用x和I接口。LUT還可以配置用于4:1選通器,CLB最大能夠支持到32:1的選通器。CLB中的carry邏輯含有異或門和產生進位的門,用于生成進位數(shù)據(jù)。

圖1.1 LUT結構

LUT還可以被動態(tài)配置成32bit移位寄存器,這個功能在乘法器設計中可以用于改變乘法器的乘數(shù)和被乘數(shù)。在寫入LUT數(shù)據(jù)的時候,每個時鐘周期從D接口進入數(shù)據(jù),依次寫入32bit數(shù)據(jù)。讀數(shù)據(jù)的時候,可以通過地址來定位任何32bit中的數(shù)據(jù)。這樣就可以配置成任何小于32bit的移位寄存器。移位輸出Q31可以進入下一級LUT用于串聯(lián)產生更大移位寄存器。在一個CLB中最大可以串聯(lián)產生256bit移位寄存器。

圖1.2 移位寄存器配置

LUT乘法器原理
首先假設我們處理整數(shù)乘法,小數(shù)乘法也可以用這樣的方法?;舅枷刖褪菍 bit大小的數(shù)據(jù)進行分割表示:

這樣就將兩個數(shù)據(jù)乘法分解成低bit數(shù)據(jù)乘法,結果是一個常數(shù)K和di相乘,然后再進行移位求和。M bit數(shù)據(jù)分解后的低bit數(shù)據(jù)位寬通常都適配LUT輸入寬度,這樣能最大利用LUT資源?,F(xiàn)在乘法只有K*di,由于bit位寬較小,這部分可以用LUT查找表的形式來。預先將0K到(2^q-1)K的數(shù)據(jù)存儲到LUT中,然后通過di來選擇對應的數(shù)據(jù)。如果是負數(shù)乘法,那么數(shù)據(jù)使用補碼表示,那么LUT中存儲的數(shù)據(jù)是從-2^(q-1)K到(2^(q-1)-1)K。針對以上介紹的ultrascale器件的LUT6,q可以選擇為5。但是在本論文中使用的是LUT4器件,其只有4輸入,因此選擇了q=3,為什么沒有選擇4呢?另外1bit是為了用于半加器的實現(xiàn)。

基本結構
實現(xiàn)上述累加的方法有很多種,論文中采用了進位鏈加法器。圖2.1中是m bit和n bit數(shù)據(jù)乘法,每個E結構計算di*K,并且和上一個結構求和,輸出的低3bit直接作為最終結果,而n bit傳輸?shù)较乱患夁M行計算。q=3的計算單元E有[m/3]個。K*di是有n+3bit的查找表實現(xiàn)的。查找表的結果由di選擇,然后再通過一個求和器和之前數(shù)據(jù)求和。這是一個最基本的結構,論文又針對這個結構做了優(yōu)化,用一個LUT同時實現(xiàn)了一個查找表和半加器。具體來講,其中3bit輸入用于di,還有1bit用于上一次輸出,LUT中存放數(shù)據(jù)是di*K和上一次結果第j bit的半加結果,實際上是第j bit數(shù)據(jù)LUT中結果的異或。而進位數(shù)據(jù)由CLB中相應的carry邏輯來計算。相比于粗暴的進行數(shù)據(jù)求和,這樣精確的來控制LUT能夠大大節(jié)省資源。

圖2.1 基本結構

圖2.2 LUT實現(xiàn)乘法和半加,外圍carry邏輯實現(xiàn)進位

動態(tài)配置LUT內容
Xilinx的LUT結構允許在運行過程中改變LUT中的內容,這樣的乘法器就能改變被乘數(shù)據(jù)K。這可以實現(xiàn)在神經網絡計算中需要更新權重參數(shù)。論文中使用的是LUT4,所以一個LUT可以被配置成16bit移位寄存器。通過這16bit寄存器可以來配置LUT中的內容,每個時鐘周期更新1bit數(shù)據(jù),16個時鐘周期可以完成一個LUT中數(shù)據(jù)更新。是否進行LUT內容更新通過CE使能信號控制。

如何產生LUT中數(shù)據(jù)的值呢?如果上一次輸出數(shù)據(jù)對應bit為0,那么LUT中就存放0*K到7*K的值,如果上一次對應bit為1,那么存放值為對以上數(shù)據(jù)取反。圖4.1表示了獲得LUT中內容的電路圖。首先數(shù)據(jù)被初始化為0*K,下一次對應著求和進位為1的情況,取反,然后再加K得到1*K的值,這樣每隔兩個時鐘周期就得到下一個乘法的數(shù)據(jù)值,依次對LUT進行更新。上述中針對的是正整數(shù),如果對于負數(shù)乘法更新,可以在上述求整數(shù)乘法的電路基礎上做一下改進,如圖4.2。當最高位為0的時候,輸出結果就是之前求得的乘法結果。如果最高位是1,那么負數(shù)的補碼表示是乘法的原碼結果減去最高位數(shù)值。

圖4.1 LUT中內容更新電路圖

圖4.2 負數(shù)乘法結果更新電路

結果分析
最后我們來看看這種乘法器的實現(xiàn)效果,圖5.1表示對多級進位不適用pipeline結構的時鐘頻率隨著被乘數(shù)K位寬變化,可以看到隨著級數(shù)E的增加,頻率降低很多,這主要是進位鏈邊長導致。而隨著K位寬增加,頻率也有降低,這主要是因為實現(xiàn)di*K乘法的LUT資源增加導致。

圖5.1 沒有pipeline下頻率MHz

圖5.1 沒有pipeline下頻率MHz

圖5.2是不同乘法位寬下的使用slice數(shù)量。論文中考慮了兩種極端情況,一種是完全pipeline下,即每級計算單元都經過寄存器,另外一種是完全沒有pipeline,所有級E都是串聯(lián)。

圖5.2 slice資源

結論
上述通過LUT來設計乘法器的方法,可以應用于CNN中的卷積運算當中,因為權重可以被當做被乘數(shù),用于LUT內容的配置,在更換權重時,可以對LUT內容更新,這樣就能避免了DSP資源的限制,不失為一種增加算力的方法。

文獻
1. Hormigo, J.C., Gabriel Oliver, Juan P.Boemo, Eduardo, Self-Reconfigurable Constant Multiplier for FPGA. ACM Transactions on Reconfigurable Technology and Systems, 2013. 6

編輯:hfy


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

    關注

    558

    文章

    8183

    瀏覽量

    362013
  • FPGA
    +關注

    關注

    1650

    文章

    22204

    瀏覽量

    626714
  • 寄存器
    +關注

    關注

    31

    文章

    5493

    瀏覽量

    127712
  • cnn
    cnn
    +關注

    關注

    3

    文章

    355

    瀏覽量

    23101
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ?CDCVF25084 3.3V 1:8零延遲(PLL)x4時鐘乘法器技術文檔總結?

    該CDCVF25084是一款高性能、低偏斜、低抖動、鎖相環(huán)時鐘乘法器。它使用 PLL 在頻率和相位上將輸出時鐘精確對齊輸入時鐘信號,包括 4 的乘法因子。該CDCVF25084在 3.3 V 的標稱電源電壓下工作。該器件還在輸出驅動器中集成了串聯(lián)阻尼電阻器,使其成為驅動點
    的頭像 發(fā)表于 09-22 11:30 ?319次閱讀
    ?CDCVF25084 3.3V 1:8零延遲(PLL)x4時鐘<b class='flag-5'>乘法器</b>技術文檔總結?

    ?CDCE706 可編程3-PLL時鐘合成器/乘法器/分頻器技術文檔總結

    CDCE706是當今最小、功能最強大的PLL合成器/乘法器/分頻器之一。盡管它的物理輪廓很小,但CDCE706非常靈活。它能夠從給定的輸入頻率產生幾乎獨立的輸出頻率。 輸入頻率可以來自LVCMOS、差分輸入時鐘或單晶。可以通過SMBus數(shù)據(jù)接口控制器選擇合適的輸入波形。
    的頭像 發(fā)表于 09-19 11:30 ?628次閱讀
    ?CDCE706 可編程3-PLL時鐘合成器/<b class='flag-5'>乘法器</b>/分頻器技術文檔總結

    Texas Instruments LMX1860SEPEVM評估模塊數(shù)據(jù)手冊

    Texas Instruments LMX1860SEPEVM評估模塊配置用于評估LMX1860-SEP的運行和性能。LMX1860-SEP是一款四輸出、超低附加抖動射頻 (RF) 緩沖器、分頻器和乘法器。
    的頭像 發(fā)表于 07-29 13:35 ?334次閱讀
    Texas Instruments LMX1860SEPEVM評估模塊數(shù)據(jù)手冊

    Texas Instruments LMX1205 JESD緩沖器/乘法器/除法器數(shù)據(jù)手冊

    Texas Instruments LMX1205 JESD緩沖器/乘法器/分頻器具有高頻能力、極低抖動以及可編程時鐘輸入和輸出延遲。得益于以上特性,該器件非常適用于時鐘高精度高頻數(shù)據(jù)轉換器,且不
    的頭像 發(fā)表于 07-06 17:35 ?488次閱讀
    Texas Instruments LMX1205 JESD緩沖器/<b class='flag-5'>乘法器</b>/除<b class='flag-5'>法器</b>數(shù)據(jù)手冊

    MAX2046高增益矢量乘法器技術手冊

    MAX2045/MAX2046/MAX2047低成本全集成矢量乘法器用來改變RF信號的幅值與相位。各款器件分別為UMTS (MAX2045)、DCS/PCS (MAX2046)或蜂窩/GSM (MAX2047)頻段而優(yōu)化。這些器件都具有差分RF輸入與輸出。
    的頭像 發(fā)表于 04-09 10:10 ?565次閱讀
    MAX2046高增益矢量<b class='flag-5'>乘法器</b>技術手冊

    ADL5390 RF矢量乘法器技術手冊

    ADL5390矢量乘法器由一對匹配的寬帶可變增益放大器組成,二者輸出相加,每個放大器具有單獨的線性幅度增益控制。如果兩個輸入RF信號正交,則可以將該矢量乘法器配置為矢量調制器,或將增益控制引腳用作
    的頭像 發(fā)表于 04-09 10:02 ?577次閱讀
    ADL5390 RF矢量<b class='flag-5'>乘法器</b>技術手冊

    自動駕駛感知系統(tǒng)卷積神經網絡原理的疑點分析

    和語音識別等領域取得了顯著成就,并廣泛用于車輛自動駕駛的圖像目標識別。 1.局部連接:CNN通過局部連接的方式減少了網絡自由參數(shù)的個數(shù),從而降低了計算復雜度,并使網絡更易于訓練。與全連接網絡不同,
    的頭像 發(fā)表于 04-07 09:15 ?520次閱讀
    自動駕駛感知系統(tǒng)<b class='flag-5'>中</b><b class='flag-5'>卷積</b>神經網絡原理的疑點分析

    7-信號的運算和處理

    集成運放組成的運算電路,模擬乘法器及其在運算電路的應用,有源濾波電路
    發(fā)表于 04-01 10:31

    HA-2556 57MHz、寬帶、四象限、電壓輸出模擬乘法器應用筆記

    HA-2556 是一款單片高速四象限模擬乘法器,采用 Intersil 介質隔離高頻工藝構建。電壓輸出消除了電流輸出倍增器所需的電流-電壓轉換級,從而簡化了許多設計。HA-2556 提供 450V
    的頭像 發(fā)表于 02-24 17:30 ?802次閱讀
    HA-2556 57MHz、寬帶、四象限、電壓輸出模擬<b class='flag-5'>乘法器</b>應用筆記

    Verilogsigned和$signed()的用法

    嗎?其實不是的,因為有符號數(shù)和無符號數(shù)據(jù)的加法強結果和乘法器結構是一樣的,signed的真正作用是決定如何對操作數(shù)擴位的問題。 2、verilog的加法和乘法操作前,會先對操作數(shù)據(jù)擴位成結果相同的位寬,然后進行加法或者
    的頭像 發(fā)表于 02-17 17:47 ?989次閱讀
    Verilog<b class='flag-5'>中</b>signed和$signed()的用法

    ADA-28F00WG乘法器Marki

    ADA-28F00WG是一種高性能的模擬乘法器,能夠將兩個輸入信號(電壓或電流)進行乘法運算,并輸出其結果。ADA-28F00WG乘法器采用高質量材料制造,并結合了最新的肖特基二極管和
    發(fā)表于 02-12 09:25

    卷積神經網絡的基本原理與算法

    ),是深度學習的代表算法之一。 一、基本原理 卷積運算 卷積運算卷積神經網絡的核心,用于提取圖
    的頭像 發(fā)表于 11-15 14:47 ?2186次閱讀

    傅里葉變換與卷積定理的關系

    的數(shù)學變換。 它能夠揭示信號的頻率成分,是信號處理的基礎工具。 卷積 : 是一種積分運算,常用于信號處理,表示一個信號對另一個信號的響應
    的頭像 發(fā)表于 11-14 09:33 ?2413次閱讀

    求助,LMX2572LP參考時鐘路徑乘法器MULT的輸入頻率范圍問題求解

    在lmx2572LP的參考時鐘輸入路徑,有一個乘法器MULT,其輸入頻率范圍在手冊描述為10Mhz~40MHz。當我在TICS Pro軟件中進行配置時,這個乘法器提示我“Maxi
    發(fā)表于 11-08 11:36

    關于卷積神經網絡,這些概念你厘清了么~

    這個小型網絡,用于描述網絡的方程也具有32個偏置和32個權重。 CIFAR神經網絡是一種廣泛用于圖像識別的CNN。它主要由兩種類型的層組成:卷積
    發(fā)表于 10-24 13:56