在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

基于INTEL FPGA硬浮點DSP實現卷積運算詳解

DIri_ALIFPGA ? 來源:網絡整理 ? 作者:工程師陳翠 ? 2018-07-23 09:09 ? 次閱讀

概述

卷積是一種線性運算,其本質是滑動平均思想,廣泛應用于圖像濾波。而隨著人工智能深度學習的發展,卷積也在神經網絡中發揮重要的作用,如卷積神經網絡。本參考設計主要介紹如何基于INTEL 硬浮點的DSP Block實現32位單精度浮點的卷積運算,而針對定點及低精度的浮點運算,則需要對硬浮點DSP Block進行相應的替換即可。

原理分析

設:f(x), g(x)是兩個可積函數,作積分:

基于INTEL FPGA硬浮點DSP實現卷積運算詳解

隨著x的不同取值,該積分定義了一個新的函數h(x),稱為函數f(x)與g(x)的卷積,記為h(x)=f(x)*g(x)。

如果卷積的變量是序列x(n)和h(n),則卷積的結果為

基于INTEL FPGA硬浮點DSP實現卷積運算詳解

其中*表示卷積。因此兩個序列的卷積,實際上就是多項式的乘法,用個例子說明其工作原理。a = [7,5,4]; b = [6,7,9];則實現a和b的卷積,就是把a和b作為一個多項式的系數,按多項式的升冪或降冪排列,即為:

基于INTEL FPGA硬浮點DSP實現卷積運算詳解

因此得到a*b=[42,79,122,73,36];與Matlab運算結果一致。而二維卷積可以采用通用多項式乘積方法實現卷積運算。

基于INTEL FPGA的實現分析

如上我們確定了兩個序列的卷積等同于兩個多項式的乘法,因此當我們需要計算序列[a0,a1,a2, …,an-1]與[b0,b1,b2, …,bn-1]的卷積結果時,可以成立a,b兩個n階多項式,如下所示:

基于INTEL FPGA硬浮點DSP實現卷積運算詳解

則[a0,a1,a2, …,an-1]與[b0,b1,b2, …,bn-1]的卷積結果即為由a*b得到的多項式的各項系數所組成的序列。令c=a*b,得到

基于INTEL FPGA硬浮點DSP實現卷積運算詳解

則由多項式c的各階系數所組成的新的序列[c0,c1,c2, …,c2n-1]即為[a0,a1,a2, …,an-1]與[b0,b1,b2, …,bn-1]的卷積結果。則按照高階多項式計算展開可得到:

基于INTEL FPGA硬浮點DSP實現卷積運算詳解

┆┆

基于INTEL FPGA硬浮點DSP實現卷積運算詳解

┆┆

基于INTEL FPGA硬浮點DSP實現卷積運算詳解

因此卷積的運算可以轉化為行向量與列向量相乘的結果,即乘累加的運算結構。

Intel FPGA在Arria10DSP Block中首次支持了單精度硬浮點DSP block,是行業內第一個支持單精度DSP block,硬浮點DSP block架構如圖1所示:

基于INTEL FPGA硬浮點DSP實現卷積運算詳解

圖1 硬浮點DSPblock架構

硬浮點DSP Block包含硬浮點乘法器,硬浮點加法器,支持乘累加運算,因此采用硬浮點DSPblock實現行列向量相乘是非常好的方式。下面我們針對一個實際的卷積運算,介紹如何基于INTEL硬浮點DSP block實現。假設我們需要求隨機數組a=[4,8,9,11]與b=[10,5,7,13]的卷積運算結果,則根據上面的分析,保持數組a順序不變,而數組b需根據上述分析結果,針對每一個卷積結果產生新的序列。所以整個實現包括數列重組模塊和硬浮點乘法器模塊及輸出處理。下面是實現框圖及仿真結果。

圖2 實現框圖

圖3 Modelsim仿真結果

仿真結果與Matlab實現結果一致,并且該設計中充分考慮了FPGA并行擴展特性,對于低速率要求的設計可采用DSP Block復用的方式節約DSP block數量。

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

    關注

    554

    文章

    8058

    瀏覽量

    349575
  • FPGA
    +關注

    關注

    1630

    文章

    21777

    瀏覽量

    604722
  • intel
    +關注

    關注

    19

    文章

    3483

    瀏覽量

    186210

原文標題:基于INTEL FPGA硬浮點DSP實現卷積運算

文章出處:【微信號:ALIFPGA,微信公眾號:FPGA極客空間】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA中的浮點四則運算是什么

    由于定點的四則運算比較簡單,如加減法只要注意符號擴展,小數點對齊等問題即可。在本文中,運用在前一節中描述的自定義浮點格式FPGA中數的表示方法(下),完成浮點四則
    的頭像 發表于 11-16 12:51 ?325次閱讀
    <b class='flag-5'>FPGA</b>中的<b class='flag-5'>浮點</b>四則<b class='flag-5'>運算</b>是什么

    FPGA浮點四則運算實現過程

    由于定點的四則運算比較簡單,如加減法只要注意符號擴展,小數點對齊等問題即可。在本文中,運用在前一節中描述的自定義浮點格式FPGA中數的表示方法(下),完成浮點四則
    的頭像 發表于 11-16 11:19 ?521次閱讀
    <b class='flag-5'>FPGA</b>中<b class='flag-5'>浮點</b>四則<b class='flag-5'>運算</b>的<b class='flag-5'>實現</b>過程

    FPGA加速深度學習模型的案例

    FPGA(現場可編程門陣列)加速深度學習模型是當前硬件加速領域的一個熱門研究方向。以下是一些FPGA加速深度學習模型的案例: 一、基于FPGA的AlexNet卷積
    的頭像 發表于 10-25 09:22 ?288次閱讀

    圖像處理中的卷積運算

    卷積運算是圖像處理中一種極其重要的操作,廣泛應用于圖像濾波、邊緣檢測、特征提取等多個方面。它基于一個核(或稱為卷積核、濾波器)與圖像進行相乘并求和的過程,通過這一操作可以實現對圖像的平
    的頭像 發表于 07-11 15:15 ?2570次閱讀

    FPGA實現LeNet-5卷積神經網絡

    LeNet-5 是一個經典的卷積神經網絡(CNN),由 Yann LeCun 在 1990 年代設計,主要用于手寫數字識別任務(如 MNIST 數據集)。隨著現場可編程門陣列(FPGA)技術的發展
    的頭像 發表于 07-11 10:27 ?2367次閱讀

    卷積神經網絡的實現原理

    卷積神經網絡(Convolutional Neural Networks,簡稱CNN)是一種深度學習模型,廣泛應用于圖像識別、視頻分析、自然語言處理等領域。本文將詳細介紹卷積神經網絡的實現原理、結構
    的頭像 發表于 07-03 10:49 ?593次閱讀

    卷積神經網絡的基本原理、結構及訓練過程

    、訓練過程以及應用場景。 一、卷積神經網絡的基本原理 卷積運算 卷積運算卷積神經網絡的核心,它
    的頭像 發表于 07-02 14:21 ?2825次閱讀

    FPGA設計經驗之圖像處理

    FPGA所能進行的實時流水線運算DSP,GPU等進行的圖像處理運算有何不同。DSP,GPU,CPU對圖像的處理基本是以幀為單位的,從相機采
    發表于 06-12 16:26

    優秀的Verilog/FPGA開源項目-浮點運算器(FPU)介紹

    浮點運算器(英文:floating point unit,簡稱FPU)是計算機系統的一部分,它是專門用來進行浮點運算的(CPU中也叫ALU)。
    的頭像 發表于 04-26 11:27 ?3701次閱讀
    優秀的Verilog/<b class='flag-5'>FPGA</b>開源項目-<b class='flag-5'>浮點</b><b class='flag-5'>運算</b>器(FPU)介紹

    verilog實現卷積運算

    在Verilog中實現卷積運算,你可以使用以下示例代碼。這里假設輸入數據是有符號8位數,輸出數據也是有符號8位數。卷積在數字信號處理中通常指的是兩個序列的逐元素乘積的和,也就是點乘。
    發表于 03-26 07:51

    verilog語音實現浮點運算

    Verilog可以通過使用IEEE標準的浮點數表示來實現浮點運算。下面是一個基本的Verilog模塊示例,展示了如何進行加法、乘法和除法等常見的浮點
    發表于 03-25 21:49

    Intel fpga芯片系列有哪些

    Intel FPGA芯片系列主要包括以下幾種。
    的頭像 發表于 03-14 16:28 ?1122次閱讀

    STSPIN32F0支持硬件浮點運算嗎?

    STSPIN32F0 支不支持硬件浮點運算
    發表于 03-13 06:32

    XMC7100D進行2維浮點fft運算,如何優化?

    使用XMC72_EVK 降頻到250MHz,運行一個2維浮點fft運算,這個二維數組大小是64x128。循環運行1000次的時間是22秒 而使用XMC72_EVK 工作在350MHz,循環運行
    發表于 02-02 07:53

    如何利用xilinx器件中LUT的結構特征設計乘法器呢?

    卷積占據了CNN網絡中絕大部分運算,進行乘法運算通常都是使用FPGA中的DSP,這樣算力就受到了器件中D
    的頭像 發表于 01-19 09:14 ?1564次閱讀
    如何利用xilinx器件中LUT的結構特征設計乘法器呢?
    主站蜘蛛池模板: www.日本黄色| 中文字幕第13亚洲另类| 丁香六月纪婷婷激情综合| 色在线网站免费观看| 五月激情婷婷综合| 三级黄色在线视频中文| 欧美性野久久久久久久久| 免费一级毛片私人影院a行| 久久这里只有精品免费播放| 国模视频一区二区| 免费播放特黄特色毛片| 国内精品久久久久久影院老狼| 国产好深好硬好爽我还要视频| 97九色| 天堂资源网| sihu影院永久在线影院| 中文字幕亚洲一区二区v@在线| 国产午夜三级| 特级一级黄色片| 免费看黄色毛片| www亚洲一区| 欧美丝妇| h视频在线观看视频观看| 欧美性xx18一19| 操综合| 波多野结衣中文字幕教师| xxx69欧美| 一级毛片免费网站| 日本特级视频| 国产精品美女在线观看 | 天堂在线观看视频| 女人张开双腿让男人桶爽免| wwwxxxx在线观看| 色干干| 在线二区| 性日韩| 国产综合图区| 欧美午夜在线观看| 亚洲男人的天堂在线观看| 亚1州区2区三区4区产品| 免费网站色|