《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于IP核的數選式浮點矩陣相乘設計
基于IP核的數選式浮點矩陣相乘設計
來源:電子技術應用2011年第6期
肖 宇,王建業,張 偉
(空軍工程大學 導彈學院,陜西 三原713800)
摘要: 本文根據數選式矩陣運算特點,結合低階矩陣運算IP核,采用將IP核嵌入到數選矩陣中,同時添加浮點加法運算的方法,實現浮點矩陣相乘。在節省資源消耗的同時提升了系統性能,并將改進的浮點矩陣運算在FPGA中實現。仿真結果表明該設計可行,具有一定的實際意義和應用前景。
中圖分類號: TN47
文獻標識碼: A
文章編號: 0258-7998(2011)06-0052-04
Floating-point matrix multiplication design based on IP core
Xiao Yu,Wang Jianye,Zhang Wei
Missile Institute, Air Force Engineering University, Sanyuan 713800,China
Abstract: Based on the characteristics of a few selected matrix operations, matrix operations with low-level IP cores, using the number of the IP core embedded in a matrix selection, while floating-point addition operation to add the method to achieve floating-point matrix multiplication. Saving resource consumption while improving system performance, and improved floating-point matrix operations in the FPGA. Simulation results show that the design is feasible, and it has some practical significance and applications.
Key words : floating-point matrix multiplication;embedded;IP core;field programmable gate arrays


 嵌入式計算作為新一代計算系統的高效運行方式,應用于多個高性能領域,如陣列信號處理、核武器模擬、計算流體動力學和海洋環境模擬等。在這些科學計算中,需要大量的矩陣運算,而矩陣運算中乘法運算是其他運算的基礎,如能提高嵌入式系統中浮點矩陣乘法運算的速度,則可加快其他類型的矩陣運算速度。
    目前實現浮點矩陣運算的方法,有直接使用VHDL語言編寫的浮點矩陣相乘處理單元[1],關鍵技術是乘累加單元的設計,通常依據設計者的編程水平決定硬件性能。同樣,FPGA廠商也推出了一定規模的浮點矩陣運算IP核[2],其應用針對本廠家器件,且經過專業調試和硬件實測,性能穩定且優于手寫代碼,但還有一些可改進的地方。
    本文基于Altera的算法IP核,采用數選方式對矩陣運算中的單精度浮點矩陣相乘進行改進,可推廣到階數更高的矩陣運算和雙精度浮點、復數單精度浮點運算中。
1 浮點矩陣相乘的IP核原理
    Altera公司推出的浮點矩陣相乘IP核ALTFP_MATRIX_MULT,適用于Quartus10.1版本以上的軟件環境,能夠進行一定規模的浮點矩陣計算,原理圖如圖1所示。

    圖1的矩陣相乘結合流水線方式控制數據流動,關鍵部分為核心PE(Processing Element)單元實現兩浮點數的相乘。輸入數據在控制器的引導下分為AA矩陣和BB矩陣,分別存于M144K或M9K存儲器中,在計算指令的控制下做浮點相乘運算,接著并行地浮點相加完成輸出。分析整個計算結構,要達到較好的性能就需要耗費多個存儲器和多個浮點相乘單元。列出矩陣相乘的基本時序圖如圖2所示。

 

 

    從時序圖可見,整個IP核有7個輸入、4個輸出,分為數據加載、數據處理、數據輸出三個階段。在系統同步時鐘sysclk的驅動下,loadaa、loadbb對數據loaddata進行乘數矩陣、被乘數矩陣使能,將數據加載到存儲器中。當calcimatrix上升沿到來時,進行矩陣乘法運算并輸出數據outdata,且在outvalid為高電平時有效。在整個數據輸出有效階段,完成信號done處于低電平,其余階段為高電平。
    浮點矩陣運算IP核的運算方式分為單精度、雙精度、復數單精度三種方式,矩陣運算階數有8、16、32、64、96、128階6種,并不能實現任意階矩陣的相乘,隨著矩陣階數的增大,最高時鐘頻率在下降,同時占用器件資源在增加,耗用最多的是存儲器資源,呈幾何倍數增長。
2 數選實矩陣相乘設計
    在矩陣相乘運算中最基礎的是2階矩陣的相乘,核心部分為乘累加器[3],通過適當數選控制,可使整個矩陣運算具有高時鐘頻率。如圖3為2階矩陣相乘電路。
    整個矩陣相乘模塊的設計,結合數據選擇的控制方式,分為流水線數據輸入、數據相乘、數據輸出三部分。在流水線數據輸入模塊,采用流水線的方式輸入乘矩陣數據KA、KB,被乘數矩陣數據A、B,以同步系統時鐘啟動兩個數據選擇器,由cntr0控制兩個數選器選擇數據輸出到乘法器兩端;將乘法器的輸入數據相乘并存于寄存器中;最后在數據輸出部分cntr1模塊的控制下,累加輸出矩陣數據X、Y,完成矩陣運算。以Altera器件EP2C35F672C6為映射器件,其時鐘頻率為250 MHz。在Quartus7.2軟件編程下,運行此2階乘法器,可獲得248.69 MHz的最高時鐘頻率。占用資源為172個邏輯單元、152個寄存器、2個9位乘法器,且在輸入數據之后2個時鐘輸出運算結果,如圖4所示。設計具有較高的計算性能,關鍵點在于數據選擇器在電路運算過程中的作用,取代了存儲器單一存儲的目的,可進行乒乓式實時數據流動,提高系統運算效率,節省了一半存儲器。
    圖4中乘矩陣[KA KB]在Matlab中的表示為[5 3;2 4],被乘矩陣[A B]表示為[2 2;3 4],得到的輸出結果為[16 27;12 22],可見FPGA運算結果與Matlab結果一致。


3 浮點矩陣相乘運算的改進
    本文以16×16階浮點矩陣相乘為例,采用單精度浮點計算方式,結合2階高速矩陣運算電路對16階矩陣運算進行改進,其他高階矩陣運算可采用類推的方式完成。
3.1 高階矩陣運算分解
    高階矩陣分解運算是通過分解大規模矩陣為許多子矩陣進行計算的方式,所以可將16×16階矩陣劃分為4個8×8階矩陣,實現2階矩陣相乘。16×16階矩陣相乘運算,可表達為式(1):

    從式(1)的16階矩陣相乘運算,可知其需要8次8階浮點矩陣相乘和4次8階浮點矩陣相加運算。分析可得,在數據并行輸入輸出的情況下,相比較于16階矩陣IP核的運行方式,此種分解方式性能要高。主要由于IP核運行方式跨度長,在數據輸入時,需要經過16×16級存儲器,而本文設計的方式只需要8×8級存儲和4次并行的浮點相加運算,同時相比較于16階IP耗用存儲資源和浮點乘法單元數較少。
3.2 矩陣相乘硬件實現
    采用Quartus10.1軟件設計16階單精度浮點矩陣相乘電路,使用VHDL語言[4]編寫,模塊由流水線數據輸入、矩陣相乘、鎖存器、浮點加法數選模塊4部分組成,設計框圖如圖5所示。
    在流水線數據輸入部分,對數據data進行分割,當信號load為高電平時使能,同時進行數據的緩存和生成控制位,輸出的三位控制位(calcimatrix、loadaa、loadbb)控制著下一步矩陣相乘的運算,在loadaa與loadbb高電平交互之間的數據值取0,具有數據緩存和分割的作用。最后一個模塊需要進行8×8階矩陣的32位浮點加法運算,同時輸出數據有效電平,使用Altera altfp_add_sub IP 核實現單精度浮點加法器,可根據用戶的定制完成。對圖5的模塊加入幾個輸出結果,使用modelsim6.5進行仿真,可得16階矩陣運算仿真結果如圖6所示。

    從圖6可見loadaa、loadbb、calcimatrix三者的時序滿足浮點矩陣運算的時序圖,在前兩者數據加載后,即可獲得calcimatrix上升沿,進行矩陣相乘。輸出結果分為4個大組,各大組有8小組,每一小組由8個數據組成,具有較好的計算結果。
4 性能比較分析
4.1 性能比較

    將第3節設計的16階矩陣相乘電路與Altera自身提供的IP核進行比較。同時以8階矩陣相乘為基,以第2節的方式設計4×4階數選實矩陣電路,套用于32×32階矩陣運算中,與Altera的IP核比較。IP核使用最高性能運行,同時以資源消耗、浮點操作數[5]、最高時鐘頻率、吞吐量作為比較準則,其中浮點操作數的計算表達式為:

    依據以上浮點操作數計算方式,使用Quartus10.1軟件進行編程,映射到Stratix III系列的器件中,可獲得相應的對比表如表1所示。


    從表1結果可見改進的浮點運算電路在ALM的資源占用減少了許多。原因為在矩陣規模增大時,只使用了8階浮點矩陣運算,浮點IP核中的乘加核數量不變,所以消耗的浮點相乘單元不變,同樣增添的浮點加法器也只消耗了不多的ALM資源。而對于改進的兩類矩陣相乘都只使用8階矩陣乘法,所以在乘法器和M9K存儲器這兩類邏輯單元的消耗不變。為了達到較好的性能,需要少量外圍存儲器處理數據的流動和浮點相加運算,但整體存儲器消耗降低。觀察吞吐量可知,套用的數選式矩陣相乘模塊,當階數增大時吞吐量降低,幅度明顯,而選擇2階數選矩陣具有乒乓結構,性能有所提升。同理適用于浮點操作數的情況。最后整個運算電路的最高時鐘頻率始終是提升的。與Altera公司的IP核比較,改進的16階浮點矩陣運算電路性能較好,而32階運算電路性能卻未達到要求。
    對高階矩陣進一步分析,在32階運算電路的設計中,使用16階浮點矩陣為乘法運算部分,以2×2實矩陣運算電路為核心,能夠提升32階電路的運算性能。
4.2 精度分析
    以16階矩陣的運算進行精度分析,取乘矩陣與被乘矩陣各16個數據進行計算分析,列出表2數據,其中B矩陣為現有數據的轉置,以Matlab和FPGA運算結果進行對比。

          從Matlab與FPGA計算結果可見,計算輸出近乎完全相同,相差的數據值也是由于Matlab在計算中需要先轉化為雙精度運算后才轉化為單精度數,從而得出FPGA計算具有較高的精度。
    本文利用IP核性能穩定、使用方便等特點,對現有的單精度浮點矩陣運算進行改進,采用矩陣嵌入式的形式,將浮點運算IP核嵌入到2階數選實矩陣模塊中,降低存儲器和計算資源消耗,提升了系統吞吐量、浮點運算性能和運行最高時鐘頻率。這種改進的浮點矩陣乘法器對降低資源消耗、提升系統性能具有重大意義。同時,利用VHDL語言編寫,具有模塊化設計思想,使得本設計可移植性強、通用性好,只需要在現有IP核的基礎上進行小規模改進,即可擁有較高性能,具有一定的工程實際意義和應用前景。
參考文獻
[1] 田翔,周凡,陳耀武,等.基于FPGA的實時雙精度浮點矩陣乘法器設計[J].浙江大學學報(工學版),2008(9).
[2] Altera Corp.Floating-Point megafunctions user guide.2010.
[3] 蔡敏,閔言燦.全流水線結構雙精度浮點乘加單元的設計[J].微電子學與計算機,2010(1).
[4] 江思敏.VHDL數字電路及系統設計[M].北京:機械工業出版社,2006.
[5] 余江洪,肖燕成,朱宗柏,等.基于Linpack的高性能計算機集群的并行性能測試[J].船電技術,2009(5).

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          …久久精品99久久香蕉国产| 激情五月综合色婷婷一区二区| 国产亚洲二区| 亚洲看片免费| 国产专区欧美精品| 国产精品美女在线观看| 亚洲午夜电影| 久久精品动漫| 激情欧美丁香| 久久久精品日韩欧美| 欧美午夜视频在线| 国产精品久久久爽爽爽麻豆色哟哟| 午夜一级在线看亚洲| 国产精品久久久久久久久久三级| 欧美丝袜一区二区三区| 亚洲国内精品在线| 欧美成人亚洲成人日韩成人| 99国产精品99久久久久久| 国内久久精品视频| 亚洲国产99精品国自产| 亚洲高清一区二| 国产精品成人一区二区三区夜夜夜| 一本一道久久综合狠狠老精东影业| 免费亚洲电影在线观看| 一区二区在线免费观看| 国产精品99久久久久久久女警| 国产综合网站| 欧美先锋影音| 久久一区二区三区超碰国产精品| 亚洲深夜激情| 亚洲欧洲中文日韩久久av乱码| 欧美日韩视频专区在线播放| 欧美激情一区二区三区在线视频观看| 久久精品国产99国产精品| 亚洲成人影音| 国产日韩精品一区二区三区| 久久国产精品毛片| 久久一区免费| 尤物yw午夜国产精品视频明星| 日韩一级大片在线| 免费在线视频一区| 国产精品s色| 91久久精品国产| 亚洲天堂av在线免费观看| 久久亚洲高清| 小黄鸭精品密入口导航| 亚洲三级电影在线观看| 午夜在线一区| 欧美日韩精品免费观看视频完整| 国产精品任我爽爆在线播放| 国产一区91精品张津瑜| 亚洲电影在线看| 欧美国产一区视频在线观看| 欧美精品在线免费观看| 狠狠爱综合网| 欧美一区二区三区四区夜夜大片| 欧美国产日韩一区| 亚洲午夜激情网站| 久久av在线| 精品51国产黑色丝袜高跟鞋| 亚洲第一福利在线观看| 欧美日韩亚洲在线| 亚洲免费观看高清在线观看| 国模套图日韩精品一区二区| 国产色产综合色产在线视频| 国产欧美韩国高清| 亚洲第一主播视频| 欧美午夜a级限制福利片| 亚洲精品免费观看| 欧美在线影院在线视频| 日韩一级裸体免费视频| 国产精品国产三级国产aⅴ浪潮| 韩国女主播一区二区三区| 欧美在线观看一区二区三区| 日韩视频在线一区二区三区| 亚洲无亚洲人成网站77777| 欧美精品二区三区四区免费看视频| 亚洲精品亚洲人成人网| 国产视频一区在线观看| 麻豆精品精华液| 久久一日本道色综合久久| 夜夜夜久久久| 亚洲裸体俱乐部裸体舞表演av| 国产精品久久久91| 中文精品在线| av成人动漫| 国产精品v亚洲精品v日韩精品| 国产精品青草综合久久久久99| 欧美成人精品h版在线观看| 国产麻豆精品在线观看| 一区二区精品在线| 久久亚洲高清| 亚洲综合视频在线| 欧美黄色片免费观看| 亚洲字幕在线观看| 伊人久久久大香线蕉综合直播| 亚洲丰满少妇videoshd| 欧美午夜免费影院| 亚洲人成高清| 国产精品久久久一区麻豆最新章节| 亚洲美女毛片| 亚洲欧美日本日韩| 国产麻豆91精品| 国产午夜亚洲精品理论片色戒| 欧美日韩第一页| 国产综合在线视频| 国产精品―色哟哟| 影音先锋成人资源站| 影音先锋日韩资源| 亚洲欧美日本日韩| 国产亚洲精品久久久久婷婷瑜伽| 欧美日韩亚洲视频一区| 欧美刺激性大交免费视频| 乱码第一页成人| 亚洲色图制服丝袜| 一区二区亚洲精品| 亚洲老司机av| 欧美一级在线亚洲天堂| 午夜精品久久久久久久99热浪潮| 欧美精品久久99久久在免费线| 一区二区三区日韩精品视频| 欧美日韩在线播放三区四区| 中文无字幕一区二区三区| 欧美黑人国产人伦爽爽爽| 午夜精品久久一牛影视| 久久精品国产精品亚洲| 久久精品亚洲一区二区| 欧美激情一区二区三区成人| 欧美日韩国产91| 久久精品免费电影| 国产片一区二区| 亚洲视频在线观看三级| 一区二区视频在线观看| 国产欧美在线观看| 久久亚洲影音av资源网| 一区二区三区回区在观看免费视频| 日韩小视频在线观看专区| 开心色5月久久精品| 欧美一区二区三区四区夜夜大片| 久久久国际精品| 国产精品jizz在线观看美国| 欧美激情亚洲视频| 国产精品久久77777| 久久精品国产欧美亚洲人人爽| 亚洲激情校园春色| 欧美激情按摩| 国模套图日韩精品一区二区| 欧美日本三区| 欧美精品久久久久久久免费观看| 日韩午夜视频在线观看| 亚洲精品一区在线观看香蕉| 麻豆精品传媒视频| 国产精品国产三级国产普通话99| 欧美一区综合| 亚洲在线播放| 中国日韩欧美久久久久久久久| 日韩亚洲一区在线播放| 亚洲一区二区三区四区视频| 欧美精品一区二区三区高清aⅴ| 免费不卡在线视频| 国产精品毛片va一区二区三区| 一区二区91| 亚洲欧美福利一区二区| 午夜一区不卡| 亚洲男女毛片无遮挡| 亚洲日本乱码在线观看| 国产午夜精品理论片a级大结局| 亚洲美女精品成人在线视频| 欧美理论片在线观看| 国产精品国产一区二区| 一区二区自拍| 欧美人在线视频| 欧美紧缚bdsm在线视频| 欧美日韩亚洲视频| 欧美成人综合网站| 美国三级日本三级久久99| 久久精品国产久精国产爱| 一本在线高清不卡dvd| 在线看欧美视频| 欧美视频在线观看免费网址| 久久午夜色播影院免费高清| 亚洲夜间福利| 99国产精品久久久久久久久久| 91久久久亚洲精品| 欧美国产在线观看| 国产香蕉久久精品综合网| 亚洲欧美www| 国产精品一卡二| 欧美在线免费一级片| 国产精品久久久久久久app| 99国产精品久久久久久久成人热| 亚洲国产精品一区二区www| 久久精品一区二区三区不卡牛牛| 老司机精品导航| 国产精品永久免费在线| 亚洲精品日本| 欧美视频在线免费| 日韩午夜视频在线观看| 一区二区三区高清视频在线观看| 亚洲人成网站影音先锋播放| 伊人久久亚洲影院| 日韩视频永久免费| 亚洲日本激情| 黄色影院成人| 亚洲黄网站在线观看| 亚洲一区免费看| 国产一区二区三区四区hd| 欧美日韩喷水| 亚洲国产小视频在线观看| 国产精品xxxxx| 国产精品人人爽人人做我的可爱| 欧美mv日韩mv国产网站| 国内精品写真在线观看| 亚洲大胆av| 国产区欧美区日韩区| 在线视频观看日韩| 亚洲一区二区在线免费观看| 久久精品国产欧美激情| 亚洲日本va在线观看| 欧美+亚洲+精品+三区| 在线视频一区二区| 欧美日韩成人综合在线一区二区| 亚洲欧美精品伊人久久| 久久精品国产免费观看| 亚洲第一在线综合在线| 亚洲国产美女久久久久| 欧美伊人久久大香线蕉综合69| 亚洲伊人一本大道中文字幕| 国内精品久久久久久久影视麻豆| 国产欧美精品一区| 国内成+人亚洲| 国产精品毛片| 欧美亚州韩日在线看免费版国语版| 日韩一级片网址| 亚洲人成欧美中文字幕| 国产综合久久久久影院| 亚洲国产va精品久久久不卡综合| 一区二区三区日韩精品| 欧美一区二区三区免费大片| 在线精品视频一区二区三四| 一区二区三区日韩欧美精品| 亚洲国产精选| 欧美一区观看| 欧美日韩日日夜夜| 欧美激情第3页| 亚洲精品国产精品国自产观看| 亚洲网站在线观看| 亚洲一区欧美二区| 欧美日韩性视频在线| 久久精品成人欧美大片古装| 亚洲午夜未删减在线观看| 国产日韩欧美综合| 亚洲麻豆av| 亚洲精品欧美极品| 韩国av一区二区三区在线观看| 久久久久久久一区二区| 欧美一级片一区| 国产精品magnet| 欧美日韩一区二区三区高清| 欧美一区二区三区视频在线| 国产精品va在线播放我和闺蜜| 欧美一区二区三区在线免费观看| 亚洲全黄一级网站| 亚洲免费av电影| 欧美一区网站| 亚洲天堂成人| 亚洲国产精品传媒在线观看| 日韩视频在线观看| 在线观看成人av| 欧美高清视频在线观看| 国产精品啊v在线| 亚洲大胆人体在线| 欧美激情一二三区| 国产一区二区三区四区三区四| 欧美午夜视频一区二区| 久久久久久亚洲精品杨幂换脸| 日韩午夜免费视频| 欧美日韩免费在线视频| 国产精品99久久不卡二区| 免费亚洲视频| 国产日韩在线一区二区三区| 亚洲第一伊人| 午夜欧美大片免费观看| 激情五月***国产精品| 欧美午夜在线一二页| 女仆av观看一区| 欧美特黄a级高清免费大片a级| 国产亚洲欧美一区| 亚洲精品综合| 久久久国产午夜精品| 欧美大胆a视频| 午夜久久久久久久久久一区二区| 激情综合色综合久久| 一区二区三区精品国产| 亚洲欧美日韩国产一区二区| 免费久久精品视频| 亚洲另类一区二区| 久久99在线观看| 久久久久久久久岛国免费| 亚洲美女在线观看| 久久一区免费| 久久免费高清视频| 久久亚洲欧洲| 性做久久久久久| 媚黑女一区二区| 国产精品久久久久久久久久免费| 久久精品国产久精国产思思| 欧美激情久久久久| 久久久久久久久综合| 国户精品久久久久久久久久久不卡| 亚洲国产精品国自产拍av秋霞| 亚洲国产精品成人久久综合一区| 国产精一区二区三区| 亚洲九九爱视频| 欧美日韩高清在线播放| 国产精品大全| 国产色综合天天综合网| 欧美中文字幕在线播放| 欧美1区2区| 亚洲自拍啪啪| 欧美视频二区| 亚洲精品一区二区在线| 国产人成一区二区三区影院| 国产精品伦一区| 国产综合色产在线精品| 久久亚洲一区二区| 亚洲黄一区二区三区| 亚洲伦理在线|