




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 E D A技術與應用第第9章章 VerilogVerilog系統(tǒng)設計系統(tǒng)設計優(yōu)化優(yōu)化 E D A技術與應用9.1 資源優(yōu)化資源優(yōu)化在在ASIC設計中,面積設計中,面積(Area)指硬件設計資源。對于指硬件設計資源。對于FPGA/ CPLD,其芯片面積(邏輯資源)是固定的,但有資源利用率,其芯片面積(邏輯資源)是固定的,但有資源利用率的問題,這里的面積優(yōu)化指的是的問題,這里的面積優(yōu)化指的是資源利用優(yōu)化資源利用優(yōu)化: 通過優(yōu)化,可以使用規(guī)模更小的可編程器件,從而降低系通過優(yōu)化,可以使用規(guī)模更小的可編程器件,從而降低系統(tǒng)成本,提高性價比。統(tǒng)成本,提高性價比。 對于某些對于某些PLD器件,當耗用資源
2、過多時會嚴重影響優(yōu)化的器件,當耗用資源過多時會嚴重影響優(yōu)化的實現(xiàn)。實現(xiàn)。 為以后的技術升級,留下更多的可編程資源,方便添加產(chǎn)為以后的技術升級,留下更多的可編程資源,方便添加產(chǎn)品的功能。品的功能。 對于多數(shù)可編程邏輯器件,資源耗用太多會使器件功耗顯對于多數(shù)可編程邏輯器件,資源耗用太多會使器件功耗顯著上升。著上升。 E D A技術與應用9.1.1 資源共享資源共享問題問題:同樣結(jié)構的模塊需要反復被調(diào)用,但該結(jié)構模塊需占:同樣結(jié)構的模塊需要反復被調(diào)用,但該結(jié)構模塊需占用較多資源,這類模塊往往是基于組合電路的算術模塊。用較多資源,這類模塊往往是基于組合電路的算術模塊。 例例9-1:占用較多資源占用較多
3、資源 module multmux (A0, A1, B, S, R); input 3: 0 A0, A1, B; input S; output 7: 0 R; reg 7: 0 R; always (A0 or A1 or B or S) beginif (S=1b0) R=A0*B;else R=A1*B; endendmoduleS=0時時S=1時時共用共用B同一時刻只使用了一個乘法器同一時刻只使用了一個乘法器 E D A技術與應用9.1.1 資源共享資源共享問題問題:同樣結(jié)構的模塊需要反復被調(diào)用,但該結(jié)構模塊需占:同樣結(jié)構的模塊需要反復被調(diào)用,但該結(jié)構模塊需占用較多資源,這類模塊往
4、往是基于組合電路的算術模塊。用較多資源,這類模塊往往是基于組合電路的算術模塊。 例例9-2:共享乘法器共享乘法器 module multmux (A0, A1, B, S, R); input 3: 0 A0, A1, B; input S; output 7: 0 R; wire 7: 0 R; reg 3: 0 TEMP; always (A0 or A1 or B or S) beginif (S=1b0) TEMP=A0;else TEMP=A1; end assign R=TEMP*B;endmodule E D A技術與應用9.1.1 資源共享資源共享問題問題:同樣結(jié)構的模塊需要反
5、復被調(diào)用,但該結(jié)構模塊需占:同樣結(jié)構的模塊需要反復被調(diào)用,但該結(jié)構模塊需占用較多資源,這類模塊往往是基于組合電路的算術模塊。用較多資源,這類模塊往往是基于組合電路的算術模塊。解決解決:針對數(shù)據(jù)通路中耗費邏輯資源較多的模塊,通過選擇、:針對數(shù)據(jù)通路中耗費邏輯資源較多的模塊,通過選擇、復用的方式共享使用該模塊,以減少該模塊的使用個數(shù),達復用的方式共享使用該模塊,以減少該模塊的使用個數(shù),達到減少資源使用、優(yōu)化面積的目的。到減少資源使用、優(yōu)化面積的目的。注意注意:對輸入:對輸入與門與門之類之類的資源共享,通常是的資源共享,通常是無無意義意義的,有時甚至會增的,有時甚至會增加資源的使用(多路選加資源的使
6、用(多路選擇器的面積大于與門)。擇器的面積大于與門)。對于多位乘法器、快速進位加法器等算術模塊,使用資源共對于多位乘法器、快速進位加法器等算術模塊,使用資源共享技術能大大優(yōu)化資源。享技術能大大優(yōu)化資源。 E D A技術與應用9.1.2 邏輯優(yōu)化邏輯優(yōu)化 例例9-3:兩輸入乘法器,一個乘數(shù)為常數(shù)(耗用兩輸入乘法器,一個乘數(shù)為常數(shù)(耗用167個邏輯宏單元)個邏輯宏單元) module mult1 (clk, ma, mc); input clk; input 11: 0 ma; output 23: 0 mc; reg 23: 0 mc; reg11: 0 ta, tb; always (pose
7、dge clk) beginta=ma; mc=ta*tb;tb=12b100110111001; endendmodule E D A技術與應用9.1.2 邏輯優(yōu)化邏輯優(yōu)化 例例9-4:兩輸入兩輸入常數(shù)常數(shù)乘法器(耗用乘法器(耗用93個邏輯宏單元)個邏輯宏單元) module mult2 (clk, ma, mc); input clk; input 11: 0 ma; output 23: 0 mc; reg 23: 0 mc; reg11: 0 ta; parameter tb=12b100110111001; always (posedge clk) beginta=ma; mc=ta
8、*tb; endendmodule E D A技術與應用9.1.3 串行化串行化 例例9-5:耗用耗用4個個8位乘法器和一些加法器(位乘法器和一些加法器(460個邏個邏輯宏單元)輯宏單元)module pmultadd (clk, a0, a1, a2, a3, b0, b1, b2, b3, yout); input clk; input 7: 0 a0, a1, a2, a3, b0, b1, b2, b3; output 15: 0 yout; reg 15: 0 yout; always (posedge clk) beginyout=(a0*b0)+(a1*b1)+(a2*b2)+(
9、a3*b3); endendmodule串行化串行化是指把原來耗用資源巨大、單時鐘周期內(nèi)完成的并行是指把原來耗用資源巨大、單時鐘周期內(nèi)完成的并行執(zhí)行的邏輯塊分割開來,提取出相同的邏輯模塊(一般為組執(zhí)行的邏輯塊分割開來,提取出相同的邏輯模塊(一般為組合邏輯塊),在時間上復用該邏輯模塊,用多個時鐘周期完合邏輯塊),在時間上復用該邏輯模塊,用多個時鐘周期完成相同的功能,其代價是降低了工作速度。成相同的功能,其代價是降低了工作速度。 E D A技術與應用 例例9-6:耗用耗用1個個8位乘法器,位乘法器,1個個16位兩輸入加法器位兩輸入加法器和一些時序電路(和一些時序電路(186個邏輯宏單元)個邏輯宏單
10、元)module smultadd (clk, start, a0, a1, a2, a3, b0, b1, b2, b3, yout); input clk, start; input 7: 0 a0, a1, a2, a3, b0, b1, b2, b3; output 15: 0 yout; reg 15: 0 yout, ytmp; reg 2: 0 cnt; wire 7: 0 tmpa, tmpb; wire 15: 0 tmp; assign tmpa=(cnt=0)? a0: (cnt=1)? a1: (cnt =2)? a2: (cnt=3)? a3: a0; assign
11、tmpb=(cnt=0)? b0: (cnt=1)? b1: (cnt =2)? b2: (cnt=3)? b3: b0; assign tmp=tmpa*tmpb; always (posedge clk) beginif (start=1b1) begin cnt=3b000; ytmp=161b0; endelse if (cnt4) begin cnt=cnt+1; ytmp=ytmp+tmp; endelse if (cnt=4) begin yout=ytmp; end endendmodule E D A技術與應用9.2 速度優(yōu)化速度優(yōu)化對于大多數(shù)設計來說,速度優(yōu)化比資源優(yōu)化更重
12、要,需優(yōu)先對于大多數(shù)設計來說,速度優(yōu)化比資源優(yōu)化更重要,需優(yōu)先考慮。速度優(yōu)化涉及因素較多,如考慮。速度優(yōu)化涉及因素較多,如FPGA的結(jié)構特性,的結(jié)構特性,HDL綜合器的性能,系統(tǒng)電路特性、綜合器的性能,系統(tǒng)電路特性、PCB制版情況等。制版情況等。9.2.1 流水線設計流水線設計 流水線(流水線(Pipelining)技術)技術在速度優(yōu)化中是最常用的技術之在速度優(yōu)化中是最常用的技術之一。能顯著提高設計電路的運行速度上限。一。能顯著提高設計電路的運行速度上限。 事實上,在設計中加入流水線,并不會減少原設計中的總事實上,在設計中加入流水線,并不會減少原設計中的總延時,有時甚至還會略微增加插入的寄存器
13、的延時和信號延時,有時甚至還會略微增加插入的寄存器的延時和信號同步的時間差,但卻可以提高總體的運行速度。同步的時間差,但卻可以提高總體的運行速度。 E D A技術與應用未使用未使用流水線流水線使用流使用流水線結(jié)水線結(jié)構構從輸入到輸出需經(jīng)過時間至少為從輸入到輸出需經(jīng)過時間至少為Ta,即時鐘,即時鐘CLK周期不能小于周期不能小于Ta,最高工作頻率,最高工作頻率Fmax=1/Ta使用使用二級流水線,把延時較大的組合邏輯塊分割二級流水線,把延時較大的組合邏輯塊分割成兩塊延時較小的組合邏輯塊,且成兩塊延時較小的組合邏輯塊,且T1T2,Ta=T1+T2。時鐘。時鐘CLK周期可以接近周期可以接近T1(或(或
14、T2),),即最高工作頻率即最高工作頻率FmaxFmax1Fmax21/T1使用流水線使用流水線的速度提高的速度提高了近一倍了近一倍 E D A技術與應用使用流使用流水線結(jié)水線結(jié)構構流水線工流水線工作節(jié)拍作節(jié)拍一個信號從輸入到輸出需經(jīng)兩個寄存器(不考慮輸入寄存一個信號從輸入到輸出需經(jīng)兩個寄存器(不考慮輸入寄存器),共需時間器),共需時間T1+T2+Treg(Treg為寄存器延時),時間約為寄存器延時),時間約等于等于Ta(總延時不變)。但是每隔(總延時不變)。但是每隔T1時間,輸出寄存器就輸時間,輸出寄存器就輸出一個結(jié)果,同時輸入寄存器輸入一個新的數(shù)據(jù)。這時兩個出一個結(jié)果,同時輸入寄存器輸入一
15、個新的數(shù)據(jù)。這時兩個邏輯塊處理的不是同一個信號,資源被優(yōu)化利用了(速度提邏輯塊處理的不是同一個信號,資源被優(yōu)化利用了(速度提高了),而寄存器對信號數(shù)據(jù)做了暫存。高了),而寄存器對信號數(shù)據(jù)做了暫存。 E D A技術與應用 例例9-7:8位位普通加法器,普通加法器,EP3C5綜合結(jié)果:綜合結(jié)果:LCs=10,REG=0(純組合邏輯)純組合邏輯) ,T=7.748nsmodule ADDER8 (CLK, SUM, A, B, COUT, CIN); input 7: 0 A, B; input CLK, CIN; output COUT; output7: 0 SUM; reg COUT; reg
16、 7: 0 SUM; always (posedge CLK) beginCOUT, SUM7: 0=A+B+CIN; endendmodule E D A技術與應用 例例9-8:8位位流水線加法器,流水線加法器,EP3C5綜合結(jié)果:綜合結(jié)果:LCs=24,REG=22(時序邏輯),(時序邏輯),T=3.63nsmodule ADDER8 (CLK, SUM, A, B, COUT, CIN); input 7: 0 A, B; input CLK, CIN; output COUT; output7: 0 SUM; reg TC, COUT; reg 3: 0 TS, TA, TB; reg
17、7: 0 SUM; always (posedge CLK) begin TC, TS=A3: 0+B3: 0+CIN; SUM3: 0=TS; end always (posedge CLK) begin TA=A7: 4; TB=B7: 4; COUT, SUM7: 4=TA+TB+TC; endendmodule E D A技術與應用 例例9-8:流水器加法器,流水器加法器,EP3C5綜合結(jié)果:綜合結(jié)果:LCs=24,REG=22(時序邏輯),(時序邏輯),T=3.63ns8位加法器流水線結(jié)構(采用二級流位加法器流水線結(jié)構(采用二級流水線,水線,8位加法器分成兩個位加法器分成兩個4位加法
18、器位加法器 E D A技術與應用普通普通8位加法器結(jié)構時序仿真波形位加法器結(jié)構時序仿真波形流水線流水線8位加法器結(jié)構時序仿真波形位加法器結(jié)構時序仿真波形流水線加法器時鐘流水線加法器時鐘頻率是普通加法器頻率是普通加法器的的兩倍(速度提高)兩倍(速度提高)普通加法器計算結(jié)果在一個時鐘后出現(xiàn),普通加法器計算結(jié)果在一個時鐘后出現(xiàn),流水線加法器計算結(jié)果在兩個時鐘后出流水線加法器計算結(jié)果在兩個時鐘后出現(xiàn),由于流水線加法器時鐘頻率是普通現(xiàn),由于流水線加法器時鐘頻率是普通加法器兩倍,所以計算結(jié)果總延時不變加法器兩倍,所以計算結(jié)果總延時不變 E D A技術與應用9.2.2 寄存器配平寄存器配平不合理的不合理的電
19、路結(jié)構電路結(jié)構寄存器寄存器配平后配平后的結(jié)構的結(jié)構總體工作頻率取決于總體工作頻率取決于T1,整體性能受限,整體性能受限部分邏輯轉(zhuǎn)部分邏輯轉(zhuǎn)移,使移,使t1t2總體工作頻率取決于總體工作頻率取決于t1,因,因為為t1T1,所以速度提高了,所以速度提高了 E D A技術與應用9.2.3 關鍵路徑法關鍵路徑法關鍵路徑關鍵路徑示意示意 關鍵路徑關鍵路徑是指設計中從輸入到輸出經(jīng)過的延時最長的邏輯是指設計中從輸入到輸出經(jīng)過的延時最長的邏輯路徑。一般從輸入到輸出的延時取決于信號所經(jīng)過的延時路徑。一般從輸入到輸出的延時取決于信號所經(jīng)過的延時最長的路徑,而與其他延時小的路徑無關。優(yōu)化關鍵路徑最長的路徑,而與其他
20、延時小的路徑無關。優(yōu)化關鍵路徑是提高設計工作速度的有效方法。是提高設計工作速度的有效方法。 EDA工具中的綜合器及設計分析器通常都提供關鍵路徑的工具中的綜合器及設計分析器通常都提供關鍵路徑的信息以便設計者改進設計,提高速度。信息以便設計者改進設計,提高速度。Quartus II中的時序中的時序分析器可以幫助找到延時最長的關鍵路徑。分析器可以幫助找到延時最長的關鍵路徑。 E D A技術與應用9.2.4 乒乓操作法乒乓操作法乒乓操作數(shù)據(jù)緩存結(jié)構示意圖乒乓操作數(shù)據(jù)緩存結(jié)構示意圖 乒乓操作法乒乓操作法是是FPGA開開發(fā)中的一種數(shù)據(jù)緩沖優(yōu)化設計技術,發(fā)中的一種數(shù)據(jù)緩沖優(yōu)化設計技術,可看成另一種形式的流水
21、線技術。可看成另一種形式的流水線技術。 原理原理:輸入數(shù)據(jù)流在通過:輸入數(shù)據(jù)流在通過“輸入數(shù)據(jù)流選擇單元輸入數(shù)據(jù)流選擇單元”時,時時,時間等分地將數(shù)據(jù)流分配到兩個數(shù)據(jù)緩沖模塊內(nèi)。數(shù)據(jù)緩沖間等分地將數(shù)據(jù)流分配到兩個數(shù)據(jù)緩沖模塊內(nèi)。數(shù)據(jù)緩沖模塊可以是模塊可以是FPGA中的任何存儲模塊,如雙口中的任何存儲模塊,如雙口RAM、單口、單口RAM和和FIFO等。等。 E D A技術與應用9.2.4 乒乓操作法乒乓操作法 特點特點: 通過通過“輸入數(shù)據(jù)流選擇單元輸入數(shù)據(jù)流選擇單元”和和“輸出數(shù)據(jù)流選擇單元輸出數(shù)據(jù)流選擇單元”按節(jié)按節(jié)拍、相互配合的切換,將經(jīng)過緩沖的數(shù)據(jù)拍、相互配合的切換,將經(jīng)過緩沖的數(shù)據(jù)沒有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 語文國培二次培訓
- 中班幼兒法制啟蒙教育
- 團隊培訓展示簡單
- 中班健康課件:鼻子出血怎么辦
- 中藥飲片企業(yè)設備部培訓
- 小兒急性咽喉炎護理查房
- 神經(jīng)外科入院患者健康宣教
- 中醫(yī)藥現(xiàn)代化進程中跨境電商市場拓展研究報告
- 污水廠員工培訓
- 制造業(yè)數(shù)字化轉(zhuǎn)型數(shù)據(jù)治理策略在智能制造成本控制中的應用報告
- 排水系統(tǒng)聯(lián)合排水實驗報告
- 電離輻射安全與防護基礎知識
- 《競爭情報分析》課件
- 急診科外科急癥的處理與救治
- 環(huán)衛(wèi)工人消防安全知識培訓課件
- 安全編碼和開發(fā)培訓
- 電氣工程及其自動化-10KV某中學教學樓配電系統(tǒng)設計
- 基于零知識證明和同態(tài)加密的隱私保護算法研究
- 《酒店服務情景英語》課程整體設計說明
- 機械加工工藝過程表格-
- 國家基本公共衛(wèi)生服務項目規(guī)范
評論
0/150
提交評論