日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > EDA > 電子設計自動化
[導讀]嵌入式計算作為新一代計算系統(tǒng)的高效運行方式,應用于多個高性能領域,如陣列信號處理、核武器模擬、計算流體動力學等。在這些科學計算中,需要大量的浮點矩陣運算。而目前已實現(xiàn)的浮點矩陣運算是直接使用VHDL語言編

嵌入式計算作為新一代計算系統(tǒng)的高效運行方式,應用于多個高性能領域,如陣列信號處理、核武器模擬、計算流體動力學等。在這些科學計算中,需要大量的浮點矩陣運算。而目前已實現(xiàn)的浮點矩陣運算是直接使用VHDL語言編寫的浮點矩陣相乘處理單元[1],其關鍵技術是乘累加單元的設計,這樣設計的硬件,其性能依賴于設計者的編程水平。此外,F(xiàn)PGA廠商也推出了一定規(guī)模的浮點矩陣運算IP核[2],雖然此IP核應用了本廠家的器件,并經(jīng)過專業(yè)調(diào)試和硬件實測,性能穩(wěn)定且優(yōu)于手寫代碼,但仍可對其進行改進,以進一步提高運算速度。

1 Altera浮點矩陣相乘IP核原理

Altera公司推出的浮點矩陣相乘IP核ALTFP_MATRIX_MULT,是在Quartus軟件9.1版本以上的環(huán)境中使用,能夠進行一定規(guī)模的浮點矩陣相乘運算,包含A、B矩陣數(shù)據(jù)輸入,數(shù)據(jù)浮點乘加,數(shù)據(jù)緩存及相加輸出四大部分。其中最能體現(xiàn)浮點計算性能的是浮點乘加部分,而周圍的控制電路及輸出則影響到系統(tǒng)的最高時鐘頻率,間接地影響系統(tǒng)整體性能。

整個矩陣相乘電路原理是將輸入的單路數(shù)據(jù)(A、B矩陣共用數(shù)據(jù)線),通過控制器產(chǎn)生A、B矩陣地址信號,控制著A矩陣數(shù)據(jù)輸出和B矩陣數(shù)據(jù)輸出,并將數(shù)據(jù)并行分段輸出到浮點乘加模塊進行乘加運算,之后串行輸出到一個緩存器模塊中,再以并行方式輸出到浮點相加模塊,最后獲得計算結果。從其原理可以看出,在數(shù)據(jù)輸入輸出方面仍有許多可改進的地方。

2 IP核存在的缺陷及改進

2.1 存在缺陷

(1)輸入數(shù)據(jù)帶寬的不均衡性。在矩陣A、B的數(shù)據(jù)輸入時,Altera的IP核將A矩陣數(shù)據(jù)存于M144K的Block RAM中,而將B矩陣數(shù)據(jù)存于M9K的Block RAM中,導致IP核中A矩陣數(shù)據(jù)的帶寬小于B矩陣數(shù)據(jù)的帶寬,并需要一定數(shù)量的寄存器組使A矩陣數(shù)據(jù)帶寬能夠匹配于B矩陣數(shù)據(jù)帶寬。由此可見,A、B矩陣數(shù)據(jù)的存儲受到器件限制和存儲約束,同時由于在浮點乘加模塊的輸入端(A、B矩陣數(shù)據(jù))帶寬不同,造成A矩陣數(shù)據(jù)的輸入需要額外的處理時間。

(2)加載數(shù)據(jù)的不連貫性。在矩陣數(shù)據(jù)加載時,IP核通過將數(shù)據(jù)分段成等分的幾部分,用于向量相乘。由于矩陣A存儲帶寬窄需要4步寄存(由Blocks決定),在第3個周期時才加載數(shù)據(jù)B用于計算,送到一個FIFO中存儲;在第6個時鐘周期時加載矩陣A分段的第二部分進行各自的第二部分計算,最后當計算到第15個周期時,才可通過浮點相加,計算出矩陣C的第一個值,之后計算出矩陣C的其他值C11。從上述結構可見,在分段相乘之后,采用先對一個FIFO進行存儲,存滿后再對下一個數(shù)據(jù)FIFO進行存儲,造成時間上浪費過多。

2.2 設計改進

鑒于上述缺陷,在輸入A、B矩陣的存儲方式上,進行串行輸入到并行輸入的改進,使得兩個矩陣能同步輸入到浮點乘加模塊。在數(shù)據(jù)加載方式上,將A矩陣用3個周期加載完畢,再處理相乘運算;將分段相乘結果進行直接存儲相加,獲得C矩陣的第一個值,縮減運算時間。設計的改進框圖如圖1所示。

 

 

將A、B矩陣數(shù)據(jù)加載模塊設計成同步加載的方式,即在loadaa為高電平時,對A的第一組數(shù)據(jù)進行初始化,加載到雙口RAM模塊存儲;在loadbb為高電平時,加載B矩陣的數(shù)據(jù),也進行雙口RAM存儲。然后依據(jù)ROM存儲的地址信號表,在控制模塊的控制下輸出A、B矩陣地址相對應的數(shù)據(jù),進行浮點乘加運算,之后串行緩存,并行輸出到浮點相加模塊,進行輸出。計算時序如圖2所示。

 

 

在時序上要求初始化加載A矩陣的第一行數(shù)據(jù)A1、A2、A3之后,加載B矩陣的第一列數(shù)據(jù),當分段E1加載后立即進行分段第一組數(shù)據(jù)相乘A1×E1。以此類推,當加載A的第二行數(shù)據(jù)時,即可立即與B矩陣的第一列數(shù)據(jù)相乘??傮w而言,只需要在ROM模塊中存儲一定的地址信號,即可使浮點乘加模塊的輸入端具有并行連貫的數(shù)據(jù)輸入,縮短了運算時間。

3 浮點矩陣相乘實現(xiàn)

3.1 模塊總體實現(xiàn)

按照上述改進方案,ROM地址表在控制模塊的控制下產(chǎn)生一組地址信號控制雙口RAM組進行并行輸出,保證了浮點乘加模塊計算的準確性。其中控制模塊為設計的關鍵部分,用于產(chǎn)生所有模塊的控制信號,實現(xiàn)同步計算。分為a_cntrl、b_cntrl、cache、outcntrl四部分控制信號以及一路計數(shù)信號用于ROM地址查詢,內(nèi)部由一個狀態(tài)機和邏輯單元組成,狀態(tài)機用于產(chǎn)生矩陣A、B的read開始、latch鎖存、地址疊加信號的轉(zhuǎn)換。控制模塊的時序仿真如圖3所示。

圖3在全局同步信號時鐘sysclk、復位reset、使能enable的作用下,當calcmatrix信號為‘1’時,開始計算并生成輸出控制信號。其中a_cntrl部分用于控制矩陣A數(shù)據(jù)加載模塊,主要包含地址信號readaa和鎖存信號latchaa,來一個鎖存高電平則存儲A矩陣數(shù)據(jù)readaa;b_cntrl部分則對應于矩陣B的控制,輸入B矩陣數(shù)據(jù)readbb;cache部分用于控制數(shù)據(jù)緩存部分串行輸入并行輸出,包含著相應的讀地址信號cacherdadd、寫地址信號cachewradd、cache選擇信號cachemesel,三者同步控制并行輸出;outcntrl部分是整個系統(tǒng)的輸出控制部分,在準備信號ready之后,出現(xiàn)outvalid高電平,表示輸出數(shù)據(jù)有效,同時完成信號done為低電平。為使矩陣A、B數(shù)據(jù)能同時加載到浮點乘加模塊上,需要使一個readaa值對應于readbb的columnsbb個數(shù)據(jù)。在本設計中使用的是A9×16數(shù)據(jù)與B16×8數(shù)據(jù)進行計算,生成的outvalid有9個脈沖,每個脈沖包含8個矩陣輸出數(shù)據(jù)。

對于A、B矩陣的數(shù)據(jù)加載,采用的是串行輸入并行輸出的控制器,由移位寄存器組成,當計數(shù)器計數(shù)到端口輸出值時(如端口并行輸出8個數(shù)則計數(shù)到8),并行輸出數(shù)據(jù)。

浮點乘加模塊采用并行相乘、并行相加的方式。由于考慮到精度問題,采用浮點位數(shù)轉(zhuǎn)換,將32 bit的輸入數(shù)據(jù)進行浮點擴展為42 bit,再進行乘加運算,最后再將42 bit數(shù)據(jù)轉(zhuǎn)換為32 bit數(shù)據(jù)。采用三級流水線的方式,進行并行乘加運算,提高設計系統(tǒng)性能。

在雙口RAM組的實現(xiàn)上,是將一組simple dualport ram[3]并列成一個RAM組。輸入由矩陣A、B的數(shù)據(jù)信號和ROM輸出的地址信號組成;輸出就是一路矩陣A數(shù)據(jù)和一路矩陣B數(shù)據(jù),數(shù)據(jù)深度與vectorsize等同。其中每一個RAM的深度為rowsaa×columnsbb/vectorsize,保證數(shù)據(jù)的可重用性,同時相對應的ROM中存儲的地址信號分別為:

A:1 2 1 2 3 3 1 2 3 4 4 4 1 2 3 4 5 5 5 5 1 2 3 4 5 6 6 6 6 6 ……

B:1 1 2 2 1 2 3 3 3 1 2 3 4 4 4 4 1 2 3 4 5 5 5 5 5 1 2 3 4 5 ……

以此類推即可得到相應的地址信號查找表。

在數(shù)據(jù)緩存模塊的設計上也采用串行輸入并行輸出的方式。使用移位寄存器的方式實現(xiàn),在并行浮點相加部分類似于上述的并行乘加[4]計算,采用多級流水線并行相加的方式完成。

3.2 計算結果仿真

對改進的設計進行仿真,采用A9×16數(shù)據(jù)與B16×8數(shù)據(jù)相乘,獲得計算結果仿真如圖4所示。

 

 

從圖4可見,loadaa、loadbb、calcimatrix三者的時序滿足浮點矩陣運算的時序要求,在前兩者數(shù)據(jù)加載后,加載calcimatrix上升沿,進行矩陣相乘。在outvalid為高電平時輸出數(shù)據(jù),同時完成信號done輸出低電平。在輸出結果上,共分為9個大組,各大組有8個數(shù)據(jù),共組成72個數(shù)據(jù)結果,其中顯示了第一部分輸出結果,獲得與Matlab仿真相近的計算結果,在精度上相差不到萬分之一。

 

 

從表1中可以看出,改進后的IP核在處理時間上縮短了807個周期,同時在最高運行時鐘上提升了15%,系統(tǒng)整體的持續(xù)性能增加了7.2 Gflops。

依據(jù)改進前后的IP核,使用Quartus9.1軟件進行綜合布局布線,映射到Stratix Ⅲ EP3SE110F780C2器件中,可獲得相應的資源對比圖如圖5所示。由于采用的都是并行浮點乘加運算,所以在乘法器資源的消耗上不變;同時由于只是在存儲器的存儲方式上作出變動,所以二者的存儲資源相等。從而只需要對圖中顯示的矩陣階數(shù)、vectorsize大小進行比較即可,而浮點計算性能與最高時鐘頻率變化方向相同,所以只對ALM數(shù)量及最高時鐘頻率進行對比。

 

 

從圖5中資源消耗對比可見,當設定vectorsize為固定值8(圖5左半部)時,隨著矩陣階數(shù)的增加,改進后的IP核在ALM資源消耗上較改進前數(shù)量上有一定的減少,在最高時鐘頻率上都有小幅度提升,這是因為矩陣輸入時消耗時間過長;當設定矩陣階數(shù)為192×192(圖5右半部)時,隨著vectorsize值的增加,改進后IP核在ALM數(shù)量上有所減小,在最高時鐘頻率上則有小幅度提升,且波動幅度在3.4%左右??梢?,改進后IP核比原Altera的IP核綜合性能有所提升。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關鍵。

關鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅(qū)動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關鍵字: LED 驅(qū)動電源 開關電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅(qū)動電源
關閉