版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第7章VHDL設(shè)計(jì)深入
7.1進(jìn)程中的信號賦值與變量賦值7.1進(jìn)程中的信號賦值與變量賦值判斷下面3個(gè)程序中是否有錯誤,若有則指出錯誤所在,并給出完整程序。
程序1:
程序2:SignalA,EN:std_logic;ArchitectureoneofsampleisProcess(A,EN)variablea,b,c:integer;VariableB:std_logic;beginBeginc<=a+b;ifEN=1thenB<=A;endif;end;endprocess;判斷下面3個(gè)程序中是否有錯誤,若有則指出錯誤所在,并給出完整程序。
程序3:libraryieee;useieee.std_logic_1164.all;entitymux21isport(a,b:instd_logic;sel:instd_logic;c:outstd_logic;);endsam2;architectureoneofmux21isbeginifsel='0'thenc:=a;elsec:=b;endif;endtwo;【例7-3】ARCHITECTUREbhvOFDFF3ISSIGNALA,B:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENA<=D1;B<=A;Q1<=B;ENDIF;ENDPROCESS;
END;
時(shí)序波形圖的分析【例7-4】ARCHITECTUREbhvOFDFF3ISBEGINPROCESS(CLK)VARIABLEA,B:STD_LOGIC;BEGINIFCLK'EVENTANDCLK='1'THENA:=D1;B:=A;Q1<=B;ENDIF;ENDPROCESS;
END;
時(shí)序波形圖的分析VHDL語句的執(zhí)行時(shí)間順序問題
和軟件語言的重要差異。很令人困惑的問題??!執(zhí)行賦值≠完成賦值:結(jié)論:關(guān)于VHDL代碼的
執(zhí)行時(shí)間順序問題signal和variable代入語句的執(zhí)行時(shí)間不同variable代入后,其數(shù)值立即發(fā)生改變!signal代入后,數(shù)值不立即改變,只有在ENDPROCESS前才改變。7.1進(jìn)程中的信號賦值與變量賦值Signal的一個(gè)例子p39ARCHITECTUREbhvOFp39ISSIGNAL a,b,c,y,z: INTEGER;BEGIN PROCESS(a,b,c) BEGIN y<=a+b; z<=c-a; y<=b; ENDPROCESS;ENDARCHITECTUREbhv;如果a,b,c分別為1,2,3Y的值等于多少?線與【例7-6】process(i0,i1,i2,i3,a,b)beginmuxval<=0;if(a='1')thenmuxval<=muxval+1;endif;if(b='1')thenmuxval<=muxval+2;endif;casemuxvaliswhen0=>q<=i0;when1=>q<=i1;when2=>q<=i2;when3=>q<=i3;whenothers=>null;4選1選擇器的電路圖(7-6代碼)【例7-7】variablemuxval:integerrange7downto0;beginmuxval:=0;if(a='1')thenmuxval:=muxval+1;endif;if(b='1')thenmuxval:=muxval+2;endif;casemuxvaliswhen0=>q<=i0;when1=>q<=i1;when2=>q<=i2;when3=>q<=i3;whenothers=>null;
4選1選擇器的電路圖(7-7代碼)差之毫厘謬之千里上面2
個(gè)圖的差異?看似相似的代碼,生成的電路卻
大相徑庭??!產(chǎn)生了不需要的 時(shí)序電路單元(DFF)圖
例7-6中錯誤的工作時(shí)序
圖例7-7中正確的工作時(shí)序
小結(jié):變量賦值與信號賦值
變量與信號的差異:
1)賦值方式的不同:變量:=表達(dá)式;信號<=表達(dá)式;
2)硬件實(shí)現(xiàn)的功能不同:信號代表電路單元、功能模塊間的互聯(lián),代表實(shí)際的硬件連線;變量代表電路單元內(nèi)部的操作,代表暫存的臨時(shí)數(shù)據(jù)。3)有效范圍的不同:信號:程序包、實(shí)體、結(jié)構(gòu)體;全局量。變量:進(jìn)程、子程序;局部量。
ARCHITECTURE{SIGNALDeclarations}label1:PROCESS{VARIABLEDeclarations}label2:PROCESS{VARIABLEDeclarations}┇4)賦值行為的不同:信號賦值延遲更新數(shù)值、時(shí)序電路;變量賦值立即更新數(shù)值、組合電路。5)信號的多次賦值
a.一個(gè)進(jìn)程:最后一次賦值有效
b.多個(gè)進(jìn)程:多源驅(qū)動線與、線或、三態(tài)例:信號的多次賦值architecturertlofexissignala:std_logic;beginprocess(…)begina<=b;…a<=c;endprocess;endrtl;architecturertlofexissignala:std_logic;beginprocess(…)begina<=b;…endprocess;process(…)begina<=c;...endprocess;endex;三態(tài)門:要點(diǎn)三態(tài)電路是總線電路設(shè)計(jì)的必須狀態(tài)CPLD/FPGA器件
不能 在內(nèi)部產(chǎn)生三態(tài)電路
只能在
端口處產(chǎn)生三態(tài)電路內(nèi)部三態(tài)電路必須用
選擇器電路代替7.2含高阻輸出的電路設(shè)計(jì)
EN1EN1EN1…G1G2GnA1A2An數(shù)據(jù)總線011…101…110…
注意:任何時(shí)刻,只允許一個(gè)三態(tài)門使能,其余為高阻態(tài)。用途主要作為TTL電路與總線(BUS)間的接口電路三態(tài)門:圖VHDL應(yīng)如何表達(dá)?ENTITYtri_sIS PORT(enable, :IN STD_LOGIC;
datain :IN STD_LOGIC_VECTOR(7DOWNTO0);
dataout :OUT STD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYtri_s;ARCHITECTUREBEHAVOFtri_sISBEGIN PROCESS(enable,datain) BEGIN IFenable='1'THEN
dataout <=datain; ELSE
dataout <="ZZZZZZZZ"; --errorcode:dataout<="zzzzzzzz"; ENDIF; ENDPROCESS;ENDARCHITECTUREBEHAV;三態(tài)門:代碼詳細(xì)參見:P1777-87.2.2雙向緩沖器:圖VHDL應(yīng)如何表達(dá)?ENTITYbitri_stateIS PORT(control :IN STD_LOGIC; in1 :IN STD_LOGIC_VECTOR(7DOWNTO0); x :OUT STD_LOGIC_VECTOR(7DOWNTO0); q :INOUT STD_LOGIC_VECTOR(7DOWNTO0) );ENDENTITYbitri_state;ARCHITECTUREBEHAVOFbitri_stateISBEGINPROCESS(control,q,in1)BEGINIFcontrol=‘0'THEN x<=q; --errorcode,
ELSE q<=in1; x<="ZZZZZZZZ"; ENDIF;ENDPROCESS;ENDARCHITECTUREBEHAV;詳細(xì)參見:p178電路圖是?雙向端口:ex7-9Ex7-93.10雙向和三態(tài)電路信號賦值3.10.2雙向端口設(shè)計(jì)圖
例7-9的仿真波形圖
雙向端口:設(shè)計(jì)提示如果一個(gè)雙向端口用于輸入模式,必須使得原來呈現(xiàn)輸出模式的端口
為“Z”狀態(tài)ENTITYbitri_stateokIS PORT(control :IN STD_LOGIC; in1 :IN STD_LOGIC_VECTOR(7DOWNTO0); x :OUT STD_LOGIC_VECTOR(7DOWNTO0); q :INOUT STD_LOGIC_VECTOR(7DOWNTO0) );ENDENTITYbitri_stateok;ARCHITECTUREBEHAVOFbitri_stateokISBEGINPROCESS(control,q,in1)BEGINIFcontrol=‘0'THEN x<=q; q<="ZZZZZZZZ"; --correctcode,comparewithexample5_14;ELSE q<=in1; x<="ZZZZZZZZ"; --thecodecanbeomitted!!!ENDIF;ENDPROCESS;ENDARCHITECTUREBEHAV;詳細(xì)參見:p178_ex7-10雙向和三態(tài)電路信號賦值雙向端口設(shè)計(jì)圖
例7-10的仿真波形圖
聲明本部分內(nèi)容是數(shù)字電子系統(tǒng)的設(shè)計(jì)中要遇到的特殊問題,雖不是考試重點(diǎn),但卻是實(shí)際設(shè)計(jì)中的關(guān)鍵注意事項(xiàng)。藝無止境,講授本部分的目的僅僅是帶領(lǐng)入門,修行仍靠自身。要熟練使用這些技巧,并且有進(jìn)一步的提高,必須經(jīng)過大量的項(xiàng)目實(shí)踐去積累。7.3資源優(yōu)化7.3.1資源共享資源共享即RTL級模塊中的兩個(gè)或兩個(gè)以上的部分共享一組邏輯7.3資源優(yōu)化7.3.2邏輯優(yōu)化
減少資源的占用7.3資源優(yōu)化7.3.3串行化在時(shí)間上復(fù)用邏輯塊7.3資源優(yōu)化7.3.3串行化47流水線技術(shù)幾乎是最常用的提供系統(tǒng)工作速率的強(qiáng)有力手段。7.4速度優(yōu)化
7.4.1流水線設(shè)計(jì)
將處理過程分成串連的n個(gè)步驟,并將單向串連起來,每個(gè)步驟之間用D觸發(fā)器分割。Step1Step2Stepn…問題:下圖的流水線為何可以提高速度?時(shí)序電路的主要時(shí)序參數(shù)clkDinclkDinThTsuTcoTsu:setuptimeTh:holdtimeTco:clockoutputdelay流水線設(shè)計(jì):
方法Tclk≥
Tdelay/2+Tco+Tsetup電子科技大學(xué)51關(guān)于寄存輸入和寄存輸出數(shù)字系統(tǒng)中,各模塊應(yīng)采?。拇孑斎牒停┘拇孑敵?,這樣做有如下優(yōu)點(diǎn):模塊化清晰(特別是寄存輸出);提高系統(tǒng)最高工作速率;有利于整個(gè)系統(tǒng)和單個(gè)模塊分別進(jìn)行靜態(tài)時(shí)序分析。關(guān)鍵路徑一個(gè)同步系統(tǒng)中的關(guān)鍵路徑,就是它所有的路徑中,路徑延遲最長的那一條。顯然,這個(gè)同步系統(tǒng)的最高工作頻率,等于關(guān)鍵路徑延遲的倒數(shù)。7.4速度優(yōu)化
7.4.1流水線設(shè)計(jì)
Clk=129MHz7.4速度優(yōu)化
7.4.1流水線設(shè)計(jì)
T=7.748nsf=129MT=3.63n3f=275M7.4速度優(yōu)化
7.4.2關(guān)鍵路徑法長路徑的避免實(shí)際上是一個(gè)很泛的技巧,總之,在設(shè)計(jì)中,時(shí)序能走短路徑就盡量走短路徑;組合電路能縮小就盡量縮小。以下僅舉兩例來說明。7.5仿真延時(shí)7.5.1固有延時(shí)z<=xXORyAFTER5ns;
z<=xXORy;
B<=AAFTER20ns;--固有延時(shí)模型
7.5仿真延時(shí)7.5.2傳輸延時(shí)B<=TRANSPORTAAFTER20ns;--
傳輸延時(shí)模型
圖3-28固有延時(shí)輸入輸出波形
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)五年級《分?jǐn)?shù)加減混合運(yùn)算》教學(xué)設(shè)計(jì)
- 小學(xué)數(shù)學(xué)一年級上冊:10以內(nèi)口算過關(guān)練習(xí)題
- 《瞳孔大小的臨床見》課件
- 湖南省株洲市2025屆高三上學(xué)期教學(xué)質(zhì)量統(tǒng)一檢測物理答案
- 高考新課標(biāo)語文模擬試卷系列之66
- 《病房監(jiān)護(hù)系統(tǒng)》課件
- 《研究性學(xué)習(xí)的評價(jià)》課件
- 《汽車行業(yè)發(fā)展》課件
- 營養(yǎng)科護(hù)士年終總結(jié)
- 建材行業(yè)人事工作總結(jié)
- 氣候變化與林業(yè)碳匯智慧樹知到期末考試答案2024年
- 文言文閱讀-【中職】廣東省近十年(2014-2023)中職春季高考語文真題匯編(解析版)
- 凸透鏡和凹透鏡課件
- 歐洲監(jiān)控行業(yè)分析
- NB/T 11266-2023火儲聯(lián)合調(diào)頻項(xiàng)目后評估導(dǎo)則
- 上海中心幕墻施工方案
- 某中央空調(diào)機(jī)房拆除施工方案
- 教務(wù)處主任批評與自我批評
- 合同-勞動主體變更三方協(xié)議
- 2024年江蘇南京大數(shù)據(jù)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 挪用公款還款協(xié)議書范本
評論
0/150
提交評論