版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
EDA技術(shù)與應(yīng)用第9章Verilog系統(tǒng)設(shè)計(jì)優(yōu)化
EDA技術(shù)與應(yīng)用§9.1
資源優(yōu)化在ASIC設(shè)計(jì)中,面積(Area)指硬件設(shè)計(jì)資源。對(duì)于FPGA/CPLD,其芯片面積(邏輯資源)是固定的,但有資源利用率的問(wèn)題,這里的面積優(yōu)化指的是資源利用優(yōu)化:通過(guò)優(yōu)化,可以使用規(guī)模更小的可編程器件,從而降低系統(tǒng)成本,提高性?xún)r(jià)比。對(duì)于某些PLD器件,當(dāng)耗用資源過(guò)多時(shí)會(huì)嚴(yán)重影響優(yōu)化的實(shí)現(xiàn)。為以后的技術(shù)升級(jí),留下更多的可編程資源,方便添加產(chǎn)品的功能。對(duì)于多數(shù)可編程邏輯器件,資源耗用太多會(huì)使器件功耗顯著上升。
EDA技術(shù)與應(yīng)用§9.1.1資源共享問(wèn)題:同樣結(jié)構(gòu)的模塊需要反復(fù)被調(diào)用,但該結(jié)構(gòu)模塊需占用較多資源,這類(lèi)模塊往往是基于組合電路的算術(shù)模塊。例9-1:占用較多資源
modulemultmux(A0,A1,B,S,R);
input[3:0]A0,A1,B;inputS;
output[7:0]R;
reg[7:0]R;
always@(A0orA1orBorS)
begin
if(S==1`b0)R<=A0*B;
elseR<=A1*B;
endendmoduleS=0時(shí)S=1時(shí)共用B同一時(shí)刻只使用了一個(gè)乘法器
EDA技術(shù)與應(yīng)用§9.1.1資源共享問(wèn)題:同樣結(jié)構(gòu)的模塊需要反復(fù)被調(diào)用,但該結(jié)構(gòu)模塊需占用較多資源,這類(lèi)模塊往往是基于組合電路的算術(shù)模塊。例9-2:共享乘法器
modulemultmux(A0,A1,B,S,R);
input[3:0]A0,A1,B;inputS;
output[7:0]R;
wire[7:0]R;reg[3:0]TEMP;
always@(A0orA1orBorS)
begin
if(S==1`b0)TEMP<=A0;
elseTEMP<=A1;
end
assignR=TEMP*B;endmodule
EDA技術(shù)與應(yīng)用§9.1.1資源共享問(wèn)題:同樣結(jié)構(gòu)的模塊需要反復(fù)被調(diào)用,但該結(jié)構(gòu)模塊需占用較多資源,這類(lèi)模塊往往是基于組合電路的算術(shù)模塊。解決:針對(duì)數(shù)據(jù)通路中耗費(fèi)邏輯資源較多的模塊,通過(guò)選擇、復(fù)用的方式共享使用該模塊,以減少該模塊的使用個(gè)數(shù),達(dá)到減少資源使用、優(yōu)化面積的目的。注意:對(duì)輸入與門(mén)之類(lèi)的資源共享,通常是無(wú)意義的,有時(shí)甚至?xí)黾淤Y源的使用(多路選擇器的面積大于與門(mén))。對(duì)于多位乘法器、快速進(jìn)位加法器等算術(shù)模塊,使用資源共享技術(shù)能大大優(yōu)化資源。
EDA技術(shù)與應(yīng)用§9.1.2邏輯優(yōu)化例9-3:兩輸入乘法器,一個(gè)乘數(shù)為常數(shù)(耗用167個(gè)邏輯宏單元)
modulemult1(clk,ma,mc);
inputclk;input[11:0]ma;
output[23:0]mc;reg[23:0]mc;reg[11:0]ta,tb;
always@(posedgeclk)
begin
ta<=ma;mc<=ta*tb;
tb<=12`b100110111001;
endendmodule
EDA技術(shù)與應(yīng)用§9.1.2邏輯優(yōu)化例9-4:兩輸入常數(shù)乘法器(耗用93個(gè)邏輯宏單元)
modulemult2(clk,ma,mc);
inputclk;input[11:0]ma;
output[23:0]mc;reg[23:0]mc;reg[11:0]ta;
parametertb=12`b100110111001;
always@(posedgeclk)
begin
ta<=ma;mc<=ta*tb;endendmodule
EDA技術(shù)與應(yīng)用§9.1.3串行化例9-5:耗用4個(gè)8位乘法器和一些加法器(460個(gè)邏輯宏單元)modulepmultadd(clk,a0,a1,a2,a3,b0,b1,b2,b3,yout);
inputclk;input[7:0]a0,a1,a2,a3,b0,b1,b2,b3;
output[15:0]yout;reg[15:0]yout;always@(posedgeclk)
begin
yout<=((a0*b0)+(a1*b1))+(a2*b2)+(a3*b3);endendmodule串行化是指把原來(lái)耗用資源巨大、單時(shí)鐘周期內(nèi)完成的并行執(zhí)行的邏輯塊分割開(kāi)來(lái),提取出相同的邏輯模塊(一般為組合邏輯塊),在時(shí)間上復(fù)用該邏輯模塊,用多個(gè)時(shí)鐘周期完成相同的功能,其代價(jià)是降低了工作速度。
EDA技術(shù)與應(yīng)用例9-6:耗用1個(gè)8位乘法器,1個(gè)16位兩輸入加法器和一些時(shí)序電路(186個(gè)邏輯宏單元)modulesmultadd(clk,start,a0,a1,a2,a3,b0,b1,b2,b3,yout);
inputclk,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;
assigntmpa=(cnt==0)?a0:(cnt==1)?a1:(cnt
==2)?a2:(cnt==3)?a3:a0;
assigntmpb=(cnt==0)?b0:(cnt==1)?b1:(cnt==2)?b2:(cnt==3)?b3:b0;assigntmp=tmpa*tmpb;
always@(posedgeclk)
begin
if(start==1`b1)begincnt<=3`b000;ytmp<={16{1`b0}};end elseif(cnt<4)begincnt<=cnt+1;ytmp<=ytmp+tmp;end
elseif(cnt==4)beginyout<=ytmp;endendendmodule
EDA技術(shù)與應(yīng)用§9.2
速度優(yōu)化對(duì)于大多數(shù)設(shè)計(jì)來(lái)說(shuō),速度優(yōu)化比資源優(yōu)化更重要,需優(yōu)先考慮。速度優(yōu)化涉及因素較多,如FPGA的結(jié)構(gòu)特性,HDL綜合器的性能,系統(tǒng)電路特性、PCB制版情況等?!?.2.1流水線設(shè)計(jì)流水線(Pipelining)技術(shù)在速度優(yōu)化中是最常用的技術(shù)之一。能顯著提高設(shè)計(jì)電路的運(yùn)行速度上限。事實(shí)上,在設(shè)計(jì)中加入流水線,并不會(huì)減少原設(shè)計(jì)中的總延時(shí),有時(shí)甚至還會(huì)略微增加插入的寄存器的延時(shí)和信號(hào)同步的時(shí)間差,但卻可以提高總體的運(yùn)行速度。
EDA技術(shù)與應(yīng)用未使用流水線使用流水線結(jié)構(gòu)從輸入到輸出需經(jīng)過(guò)時(shí)間至少為T(mén)a,即時(shí)鐘CLK周期不能小于Ta,最高工作頻率Fmax=1/Ta使用二級(jí)流水線,把延時(shí)較大的組合邏輯塊分割成兩塊延時(shí)較小的組合邏輯塊,且T1≈T2,Ta=T1+T2。時(shí)鐘CLK周期可以接近T1(或T2),即最高工作頻率Fmax≈Fmax1≈Fmax2≈1/T1使用流水線的速度提高了近一倍
EDA技術(shù)與應(yīng)用使用流水線結(jié)構(gòu)流水線工作節(jié)拍一個(gè)信號(hào)從輸入到輸出需經(jīng)兩個(gè)寄存器(不考慮輸入寄存器),共需時(shí)間T1+T2+Treg(Treg為寄存器延時(shí)),時(shí)間約等于Ta(總延時(shí)不變)。但是每隔T1時(shí)間,輸出寄存器就輸出一個(gè)結(jié)果,同時(shí)輸入寄存器輸入一個(gè)新的數(shù)據(jù)。這時(shí)兩個(gè)邏輯塊處理的不是同一個(gè)信號(hào),資源被優(yōu)化利用了(速度提高了),而寄存器對(duì)信號(hào)數(shù)據(jù)做了暫存。
EDA技術(shù)與應(yīng)用例9-7:8位普通加法器,EP3C5綜合結(jié)果:LCs=10,REG=0(純組合邏輯),T=7.748nsmoduleADDER8(CLK,SUM,A,B,COUT,CIN);
input[7:0]A,B;
inputCLK,CIN;outputCOUT;
output[7:0]SUM;regCOUT;
reg[7:0]SUM;
always@(posedgeCLK)
begin
{COUT,SUM[7:0]}<=A+B+CIN;
endendmodule
EDA技術(shù)與應(yīng)用例9-8:8位流水線加法器,EP3C5綜合結(jié)果:LCs=24,REG=22(時(shí)序邏輯),T=3.63nsmoduleADDER8(CLK,SUM,A,B,COUT,CIN);
input[7:0]A,B;
inputCLK,CIN;outputCOUT;
output[7:0]SUM;regTC,COUT;
reg[3:0]TS,TA,TB;
reg[7:0]SUM;
always@(posedgeCLK)begin{TC,TS]}<=A[3:0]+B[3:0]+CIN;SUM[3:0]<=TS;end
always@(posedgeCLK)begin
TA<=A[7:4];TB<=B[7:4];{COUT,SUM[7:4]<=TA+TB+TC;endendmodule
EDA技術(shù)與應(yīng)用例9-8:流水器加法器,EP3C5綜合結(jié)果:LCs=24,REG=22(時(shí)序邏輯),T=3.63ns8位加法器流水線結(jié)構(gòu)(采用二級(jí)流水線,8位加法器分成兩個(gè)4位加法器
EDA技術(shù)與應(yīng)用普通8位加法器結(jié)構(gòu)時(shí)序仿真波形流水線8位加法器結(jié)構(gòu)時(shí)序仿真波形流水線加法器時(shí)鐘頻率是普通加法器的兩倍(速度提高)普通加法器計(jì)算結(jié)果在一個(gè)時(shí)鐘后出現(xiàn),流水線加法器計(jì)算結(jié)果在兩個(gè)時(shí)鐘后出現(xiàn),由于流水線加法器時(shí)鐘頻率是普通加法器兩倍,所以計(jì)算結(jié)果總延時(shí)不變
EDA技術(shù)與應(yīng)用§9.2.2寄存器配平不合理的電路結(jié)構(gòu)寄存器配平后的結(jié)構(gòu)總體工作頻率取決于T1,整體性能受限部分邏輯轉(zhuǎn)移,使t1≈t2總體工作頻率取決于t1,因?yàn)閠1<T1,所以速度提高了
EDA技術(shù)與應(yīng)用§9.2.3關(guān)鍵路徑法關(guān)鍵路徑示意關(guān)鍵路徑是指設(shè)計(jì)中從輸入到輸出經(jīng)過(guò)的延時(shí)最長(zhǎng)的邏輯路徑。一般從輸入到輸出的延時(shí)取決于信號(hào)所經(jīng)過(guò)的延時(shí)最長(zhǎng)的路徑,而與其他延時(shí)小的路徑無(wú)關(guān)。優(yōu)化關(guān)鍵路徑是提高設(shè)計(jì)工作速度的有效方法。EDA工具中的綜合器及設(shè)計(jì)分析器通常都提供關(guān)鍵路徑的信息以便設(shè)計(jì)者改進(jìn)設(shè)計(jì),提高速度。QuartusII中的時(shí)序分析器可以幫助找到延時(shí)最長(zhǎng)的關(guān)鍵路徑。
EDA技術(shù)與應(yīng)用§9.2.4乒乓操作法乒乓操作數(shù)據(jù)緩存結(jié)構(gòu)示意圖乒乓操作法是FPGA開(kāi)發(fā)中的一種數(shù)據(jù)緩沖優(yōu)化設(shè)計(jì)技術(shù),可看成另一種形式的流水線技術(shù)。原理:輸入數(shù)據(jù)流在通過(guò)“輸入數(shù)據(jù)流選擇單元”時(shí),時(shí)間等分地將數(shù)據(jù)流分配到兩個(gè)數(shù)據(jù)緩沖模塊內(nèi)。數(shù)據(jù)緩沖模塊可以是FPGA中的任何存儲(chǔ)模塊,如雙口RAM、單口RAM和FIFO等。
EDA技術(shù)與應(yīng)用§9.2.4乒乓操作法特點(diǎn):通過(guò)“輸入數(shù)據(jù)流選擇單元”和“輸出數(shù)據(jù)流選擇單元”按節(jié)拍、相互配合的切換,將經(jīng)過(guò)緩沖的數(shù)據(jù)沒(méi)有時(shí)間停頓地送到“數(shù)據(jù)流運(yùn)算處理模塊”進(jìn)行處理,特別適合對(duì)數(shù)據(jù)流進(jìn)行流水線式處理。節(jié)約緩沖區(qū)空間。比如在WCDMA基帶應(yīng)用中,1幀由15個(gè)時(shí)隙組成,有時(shí)需將1整幀的數(shù)據(jù)延時(shí)1個(gè)時(shí)隙后處理。比較直接的辦法是將這幀數(shù)據(jù)緩存起來(lái),然后延時(shí)1個(gè)單元進(jìn)行處理,這時(shí)緩沖區(qū)的長(zhǎng)度是1整幀數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 八年級(jí)物理測(cè)量小燈泡的電功率課件
- 2025屆北京市人大學(xué)附屬中學(xué)高三下學(xué)期一??荚囉⒄Z(yǔ)試題含解析
- 幾何意義及應(yīng)用課件
- 湖南省郴州市一中2025屆高三(最后沖刺)數(shù)學(xué)試卷含解析
- 《百合花》課件 2024-2025學(xué)年統(tǒng)編版高中語(yǔ)文必修上冊(cè)
- 山東省昌邑市文山中學(xué)2025屆高三適應(yīng)性調(diào)研考試語(yǔ)文試題含解析
- 北師大版四年級(jí)數(shù)學(xué)下冊(cè)教案表格式
- 湖北省武漢市鋼城第四中學(xué)2025屆高考沖刺押題(最后一卷)英語(yǔ)試卷含解析
- 2025屆浙江省錢(qián)清中學(xué)高三適應(yīng)性調(diào)研考試語(yǔ)文試題含解析
- 上海楊浦高級(jí)中學(xué)2025屆高三壓軸卷英語(yǔ)試卷含解析
- 會(huì)務(wù)手冊(cè)-幸福家庭種子師資
- 2023年北京師范大學(xué)教育學(xué)真題及答案
- GB/T 33069-2016工業(yè)用聚N-乙烯基吡咯烷酮檢測(cè)方法
- 16網(wǎng)絡(luò)與新媒體概論(第二版)-第十六章依法治網(wǎng).電子教案教學(xué)課件
- 中國(guó)地質(zhì)大學(xué)武漢軟件工程專(zhuān)業(yè)學(xué)位研究生實(shí)踐手冊(cè)
- 生理學(xué)實(shí)驗(yàn)5 ABO血型的鑒定課件
- 《民法》全冊(cè)精講課件
- Regional Deployment Project Manager,APAC職位描述與崗位職責(zé)任職要求
- 易碎品包裝材料
- 《插花藝術(shù)》課程大作業(yè)
- 提高臥床患者踝泵運(yùn)動(dòng)的執(zhí)行率品管圈匯報(bào)書(shū)模板課件
評(píng)論
0/150
提交評(píng)論