版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VHDL總復(fù)習(xí)之
必須要掌握的知識(shí)點(diǎn)和相關(guān)例題目錄TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc"VHDL總復(fù)習(xí)之必須要掌握的知識(shí)點(diǎn)和相關(guān)例題 PAGEREF_Toc\h1HYPERLINK\l"_Toc"1.?VHDL語(yǔ)言的基本設(shè)計(jì)實(shí)體和完整的VHDL語(yǔ)言程序的結(jié)構(gòu)?PAGEREF_Toc\h2HYPERLINK\l"_Toc"2. 進(jìn)程(PROCESS)語(yǔ)句的結(jié)構(gòu)?PAGEREF_Toc\h2HYPERLINK\l"_Toc"3.?VHDL語(yǔ)言子程序的結(jié)構(gòu)?PAGEREF_Toc\h2HYPERLINK\l"_Toc"(1).?過(guò)程(Procedure) PAGEREF_Toc\h2HYPERLINK\l"_Toc"(2).?函數(shù)(Function)?PAGEREF_Toc\h2HYPERLINK\l"_Toc"4.?過(guò)程與函數(shù)的重要區(qū)別 PAGEREF_Toc\h3HYPERLINK6. VHDL語(yǔ)言中客體的概念及使用范圍 PAGEREF_Toc\h3HYPERLINK\l"_Toc"7.?信號(hào)和變量的區(qū)別及作用范圍?PAGEREF_Toc\h3HYPERLINK\l"_Toc"8. VHDL語(yǔ)言的數(shù)據(jù)類型和運(yùn)算操作 PAGEREF_Toc\h4HYPERLINK9.?VHDL語(yǔ)言構(gòu)造體的三種描述方式 PAGEREF_Toc\h4HYPERLINK\l"_Toc"10. COMPONENT(元件)語(yǔ)句和COMPONENT—INSTANT(元件例示)語(yǔ)句的功能和書(shū)寫(xiě)格式?PAGEREF_Toc\h5HYPERLINK11.?VHDL語(yǔ)言的重要描述語(yǔ)句的功能、使用場(chǎng)合和語(yǔ)法格式?PAGEREF_Toc\h5HYPERLINK13.?VHDL語(yǔ)言的數(shù)值類屬性描述?PAGEREF_Toc\h6HYPERLINK\l"_Toc"14. VHDL語(yǔ)言的信號(hào)屬性函數(shù) PAGEREF_Toc\h7HYPERLINK\l"_Toc"15.?數(shù)值系統(tǒng)的定義方法,各種狀態(tài)的含義?PAGEREF_Toc\h7HYPERLINK17. 仿真Δ延時(shí)引入的因素和對(duì)并發(fā)語(yǔ)句仿真結(jié)果的影響 PAGEREF_Toc\h8HYPERLINK18. 邏輯綜合的概念與重要環(huán)節(jié)?PAGEREF_Toc\h8HYPERLINK\l"_Toc"19.?運(yùn)用VHDL語(yǔ)言和FPGA進(jìn)行電路設(shè)計(jì)的重要環(huán)節(jié) PAGEREF_Toc\h8?VHDL的全稱以及運(yùn)用VHDL設(shè)計(jì)硬件電路所具有的特點(diǎn)VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage(超高速集成電路硬件描述語(yǔ)言)(1)設(shè)計(jì)文獻(xiàn)齊全、方法靈活、支持廣泛(2)
系統(tǒng)硬件描述能力強(qiáng)(3)
VHDL語(yǔ)言可以與工藝無(wú)關(guān)編程(4)VHDL語(yǔ)言標(biāo)準(zhǔn)、規(guī)范、易于共享和復(fù)用VHDL語(yǔ)言的基本設(shè)計(jì)實(shí)體和完整的VHDL語(yǔ)言程序的結(jié)構(gòu)一個(gè)VHDL語(yǔ)言的基本設(shè)計(jì)實(shí)體由實(shí)體說(shuō)明和構(gòu)造體兩個(gè)部分構(gòu)成;一個(gè)完整的VHDL語(yǔ)言程序包含5個(gè)部分:實(shí)體、構(gòu)造體、配置、包集合(程序包)和庫(kù)。進(jìn)程(PROCESS)語(yǔ)句的結(jié)構(gòu)重要特點(diǎn):并發(fā)語(yǔ)句,由敏感信號(hào)量啟動(dòng);內(nèi)部的語(yǔ)句順序執(zhí)行,進(jìn)程不能嵌套。VHDL語(yǔ)言子程序的結(jié)構(gòu)VHDL語(yǔ)言子程序有兩種類型:過(guò)程、函數(shù)過(guò)程(Procedure)在程序包中定義的格式(用戶自定義過(guò)程的設(shè)計(jì)方法):PACKAGE包集合名ISPROCEDURE過(guò)程名(參數(shù)1,參數(shù)2,…)END包集合名;PACKAGEBODY包集合名ISPROCEDURE過(guò)程名(參數(shù)1,參數(shù)2,…)IS[定義語(yǔ)句]BEGIN[順序解決語(yǔ)句];END[過(guò)程名];END包集合名;過(guò)程調(diào)用的方法:過(guò)程名(參數(shù)1,參數(shù)2,…);過(guò)程調(diào)用語(yǔ)句屬于并發(fā)語(yǔ)句。函數(shù)(Function)在程序包中定義的格式(用戶自定義函數(shù)的設(shè)計(jì)方法):PACKAGE包集合名ISFUNCTION函數(shù)名(參數(shù)1,參數(shù)2,…)RETURN數(shù)據(jù)類型名END包集合名;PACKAGEBODY包集合名ISFUNCTION函數(shù)名(參數(shù)1,參數(shù)2,…)RETURN數(shù)據(jù)類型名IS[(變量)定義語(yǔ)句]BEGIN[順序解決語(yǔ)句];RETURN[變量名];END[函數(shù)名];END包集合名;函數(shù)調(diào)用的方法:出現(xiàn)于語(yǔ)句的表達(dá)式中。過(guò)程與函數(shù)的重要區(qū)別函數(shù)只包具有輸入?yún)?shù),只有一個(gè)返回值;過(guò)程即包具有輸入?yún)?shù),也包含輸出參數(shù)或輸入輸出參數(shù),可以有多個(gè)返回值,這些返回值通過(guò)過(guò)程中定義的輸出參數(shù)帶回。進(jìn)程和子程序中使用的語(yǔ)句進(jìn)程中和子程序的所有語(yǔ)句按順序執(zhí)行,只能使用順序描述語(yǔ)句。VHDL語(yǔ)言中客體的概念及使用范圍VHDL語(yǔ)言中可以賦予一個(gè)值的對(duì)象稱為客體;客體重要涉及三種:信號(hào)、常數(shù)、變量;信號(hào)和常數(shù)為全局量,變量為局部量。信號(hào)和變量的區(qū)別及作用范圍信號(hào)和變量值的代入不僅形式不同,并且操作過(guò)程也不相同。變量的賦值使用賦值符“:=”,信號(hào)的代入使用代入符“:=”。變量的賦值在賦值語(yǔ)句執(zhí)行時(shí)立即生效,信號(hào)的代入在代入語(yǔ)句執(zhí)行時(shí)并不立即發(fā)生,代入語(yǔ)句的解決和實(shí)際的代入過(guò)程是分開(kāi)進(jìn)行的。實(shí)際的代入過(guò)程在進(jìn)程(PROCESS)或子程序(SUBPROGRAM)語(yǔ)句執(zhí)行完畢時(shí)發(fā)生,與代入語(yǔ)句的解決存在延時(shí)。變量是局部量,作用范圍是進(jìn)程和子程序;信號(hào)是全局量,作用范圍是構(gòu)造體、實(shí)體和程序包。例:ARCHITECTUREbehaveOFxinhaoIS……………P1:PROCESS(A,B,C,D)BEGIN?D<=A;X<=B+D;D<=C;Y<=B+D;ENDPROCESS;---------------------------ARCHITECTUREbehaveOFxinhao_bianliangIS…………P2:PROCESS(A,B,C)VARIABLED:STD_LOGIC_VECTOR(3DOWNTO0);BEGIN D:=A;X<=B+D;D:=C;Y<=A+D;ENDPROCESS;P1的運(yùn)營(yíng)結(jié)果:X<=B+C,Y<=B+CP2的運(yùn)營(yíng)結(jié)果:X<=B+A,Y<=B+CVHDL語(yǔ)言的數(shù)據(jù)類型和運(yùn)算操作1)VHDL語(yǔ)言具有十種標(biāo)準(zhǔn)的數(shù)據(jù)類型2)用戶定義的數(shù)據(jù)類型涉及枚舉類型、數(shù)組類型、記錄類型等枚舉數(shù)據(jù)類型的定義方法:TYPE數(shù)據(jù)類型名IS(元素,元素,…)3)VHDL語(yǔ)言共有4類運(yùn)算操作:邏輯運(yùn)算(Logical)關(guān)系運(yùn)算(Relational)算術(shù)運(yùn)算(Arithmetic)并置運(yùn)算(Concatenation)VHDL語(yǔ)言構(gòu)造體的三種描述方式行為描述方式寄存器傳輸(數(shù)據(jù)流)描述方式結(jié)構(gòu)化描述方式COMPONENT(元件)語(yǔ)句和COMPONENT—INSTANT(元件例示)語(yǔ)句的功能和書(shū)寫(xiě)格式元件語(yǔ)句是最基本的描述語(yǔ)句,在構(gòu)造體中用來(lái)(說(shuō)明)調(diào)用已設(shè)計(jì)好的邏輯描述模塊[即元件(COMPONENT)];COMPONENT元件名GENERIC說(shuō)明;PORT說(shuō)明;ENDCOMPONENT;元件例示語(yǔ)句是在構(gòu)造體的結(jié)構(gòu)描述中不可缺少的一個(gè)基本語(yǔ)句,該語(yǔ)句將現(xiàn)成元件的端口信號(hào)映射成高層次設(shè)計(jì)電路中的信號(hào),用來(lái)在構(gòu)造體中產(chǎn)生一個(gè)現(xiàn)成元件的實(shí)例。標(biāo)號(hào)名:元件名GENERICMAP(參數(shù),參數(shù),…)PORTMAP(信號(hào),信號(hào),…);VHDL語(yǔ)言的重要描述語(yǔ)句的功能、使用場(chǎng)合和語(yǔ)法格式(1)重要的并發(fā)語(yǔ)句?進(jìn)程?信號(hào)代入語(yǔ)句?過(guò)程調(diào)用語(yǔ)句?塊語(yǔ)句?元件例示語(yǔ)句(ComponentInstant)?生成語(yǔ)句(Generate)(2)重要的順序語(yǔ)句?WAIT語(yǔ)句?信號(hào)代入語(yǔ)句?變量賦值語(yǔ)句?IF語(yǔ)句?CASE語(yǔ)句?循環(huán)語(yǔ)句(FOR循環(huán),WHILE循環(huán))[注意:GENERATE(生成)語(yǔ)句和COMPONENT—INSTANT(元件例示)語(yǔ)句是并發(fā)語(yǔ)句]例:八位行波計(jì)數(shù)器的設(shè)計(jì)LIBRARYIEEE;USEIEEE.STD_LO(píng)GIC_1164.ALL;ENTITYdffrISPORT(clk,clr,d:INSTD_LOGIC;q,qb:OUTSTD_LO(píng)GIC);ENDdffr;ARCHITECTUREoneOFdffrISSIGNALqin:STD_LOGIC;BEGINq<=qin;qb<=NOTqin;PROCESS(clk,clr)BEGINIFclr='1'THENqin<='0';ELSIFclk'EVENTANDclk='1'THENqin<=d;ENDIF;ENDPROCESS;ENDone;ENTITYrplcontISPORT(clk,clr:INSTD_LOGIC;count:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDrplcont;ARCHITECTUREoneOFrplcontISSIGNALcntints:STD_LOGIC_VECTO(shè)R(8DOWNTO0);COMPONENTdffrISPORT(clk,clr,d:INSTD_LOGIC;q,qb:OUTSTD_LO(píng)GIC);ENDCOMPONENT;BEGINcntints(0)<=clk;g1:FORiIN0TO(shè)7GENERATEdffx:dffrPORTMAP(clk=>cntints(i),clr=>clr,d=>cntints(i+1),q=>count(i),qb=>cntints(i+1));ENDGENERATE;ENDone;VHDL語(yǔ)言的命名規(guī)則注意:名字的最前面應(yīng)當(dāng)是英文字母,不能連續(xù)使用下劃線‘_’,名字的最后也不能使用‘_’。VHDL語(yǔ)言的數(shù)值類屬性描述數(shù)值類屬性用來(lái)得到數(shù)組、一般數(shù)據(jù)或程序塊的有關(guān)值。例:?T'LEFT得到數(shù)值類或子類區(qū)間的最左端的值?T'RIGHT得到數(shù)值類或子類區(qū)間的最右端的值?T'HIGH得到數(shù)值類或子類區(qū)間的高端值?T'LOW得到數(shù)值類或子類區(qū)間的低端值VHDL語(yǔ)言的信號(hào)屬性函數(shù)此類描述函數(shù)用于獲得信號(hào)的行為信息。例:?s'EVENT假如事件發(fā)生,則返回“真”值,否則返回“假”值。?s'LAST_EVENT返回從前一個(gè)事件發(fā)生到現(xiàn)在所經(jīng)歷的時(shí)間值。?s'LAST_VALUE返回信號(hào)最后一次改變以前的值。數(shù)值系統(tǒng)的定義方法,各種狀態(tài)的含義例:九態(tài)數(shù)值系統(tǒng)由三種強(qiáng)度值和三種邏輯值組成:強(qiáng)度值:Z--高阻強(qiáng)度,R--電阻強(qiáng)度,F--強(qiáng)強(qiáng)度邏輯值:0--邏輯“0”,1--邏輯“0”,X--邏輯“X”即:Z0,Z1,ZX,R0,R1,RX,F(xiàn)0,F1,FX可用枚舉數(shù)據(jù)類型加以定義:例:四態(tài)數(shù)值系統(tǒng)的定義TYPEfourstateIS(‘X’,‘0’,‘1’,‘Z’);采用有限狀態(tài)機(jī)進(jìn)行電路設(shè)計(jì)的基本方法有限狀態(tài)機(jī)分為兩類:Moore型輸出信號(hào)僅與當(dāng)前狀態(tài)有關(guān)Mealy型-輸出信號(hào)不僅與當(dāng)前狀態(tài)有關(guān),還與所有的輸入信號(hào)有關(guān)為了使綜合工具可以將一個(gè)完整的VHDL源代碼辨認(rèn)為有限狀態(tài)機(jī),必須還要遵循一定的描述規(guī)則規(guī)定,一個(gè)有限狀態(tài)機(jī)的描述應(yīng)當(dāng)涉及以下內(nèi)容:◆至少涉及一個(gè)狀態(tài)信號(hào),它們用來(lái)指定有限狀態(tài)機(jī)狀態(tài)?!魻顟B(tài)轉(zhuǎn)移指定和輸出指定,它們相應(yīng)于控制步的轉(zhuǎn)移條件?!魰r(shí)鐘信號(hào),它是用來(lái)進(jìn)行同步的?!敉交虍惒綇?fù)位信號(hào)。描述方法:(1)三進(jìn)程描述1.狀態(tài)邏輯描述;2.狀態(tài)寄存器描述;3.輸出邏輯描述。(2)雙進(jìn)程描述1.一個(gè)進(jìn)程描述三個(gè)中的任何兩個(gè);2.此外一個(gè)用一個(gè)進(jìn)程(3)單進(jìn)程描述狀態(tài)邏輯,狀態(tài)寄存器,輸出邏輯描述合用一個(gè)進(jìn)程。狀態(tài)機(jī)中的狀態(tài)可用枚舉數(shù)據(jù)類型數(shù)據(jù)進(jìn)行定義。仿真Δ延時(shí)引入的因素和對(duì)并發(fā)語(yǔ)句仿真結(jié)果的影響用軟件平臺(tái)進(jìn)行仿真,事實(shí)上對(duì)VHDL的“并發(fā)語(yǔ)句”也只能逐條地加以執(zhí)行(解決),為了使語(yǔ)句的執(zhí)行與硬件動(dòng)作的結(jié)果一致,而與語(yǔ)句的順序無(wú)關(guān),就必須引入Δ延時(shí),這樣,軟件就可按照電路的實(shí)際結(jié)構(gòu)擬定仿真順序,仿真也就真實(shí)地模擬了硬件的動(dòng)作,并且其仿真結(jié)果與語(yǔ)句的順序無(wú)關(guān)。因此,在進(jìn)行VHDL程序設(shè)計(jì)時(shí),對(duì)于構(gòu)造體中的并發(fā)語(yǔ)句,設(shè)計(jì)者可以完全不考慮語(yǔ)句的順序。邏輯綜合的概念與重要環(huán)節(jié)邏輯綜合就是將較高抽象層次的描述轉(zhuǎn)換為較低抽象層次的描述一種方法(或者說(shuō)過(guò)程)。就現(xiàn)有的邏輯綜合工具而言,所謂就是將RTL級(jí)的描述轉(zhuǎn)換為門級(jí)網(wǎng)表的過(guò)程。重要環(huán)節(jié)如下:1.RTL描述轉(zhuǎn)換為非優(yōu)化的布爾等式描述2.布爾等式優(yōu)化3.門級(jí)網(wǎng)表映射運(yùn)用VHDL語(yǔ)言和FPGA進(jìn)行電路設(shè)計(jì)的重要環(huán)節(jié)VHDL程序設(shè)計(jì)VHDL程序編譯VHDL程序仿真生成網(wǎng)表文獻(xiàn)(含器件選擇、端口分派,第二次編譯)下載FPGA器件例:1-365進(jìn)制計(jì)數(shù)器(計(jì)數(shù)器結(jié)果由三個(gè)4位二進(jìn)制數(shù)輸出,且計(jì)數(shù)器由時(shí)鐘的上升沿觸發(fā),計(jì)數(shù)器滿時(shí)輸出進(jìn)位(溢出)脈沖,重新計(jì)數(shù)。)[計(jì)數(shù)范圍:0-364,或1-365均可]LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LO(píng)GIC_UNSIGNED.ALL;ENTITYbcd365countISPORT(clk,clr:INSTD_LOGIC;bcd1n:OUTSTD_LOGIC_VECTOR(3DOWNTO0);bcd10n:OUTSTD_LO(píng)GIC_VECTOR(3DOWNTO0);bcd100n:OUTSTD_LOGIC_VECTOR(3DOWNTO0);co:OUTSTD_LO(píng)GIC:='0');ENDbcd365count;ARCHITECTUREoneOFbcd365countISSIGNALbcd1ns,bcd10ns,bcd100ns:STD_LOGIC_VECTOR(3DOWNTO0);gp:PROCESS(clk,clr)BEGINIFclr='0'THENbcd1ns<="0001";ELSIF(clk'EVENTANDclk='1')THENIF(bcd100ns=3ANDbcd10ns=6ANDbcd1ns=5)THENbcd1ns<="0001";ELSIFbcd1ns=9THENbcd1ns<="0000";ELSE?bcd1ns<=bcd1ns+1;ENDIF;ENDIF;ENDPROCESS;sp:PROCESS(clk,clr)BEGINIFclr='0'THENbcd10ns<="0000";ELSIF(clk'EVENTANDclk='1')THENIF(bcd100ns=3ANDbcd10ns=6ANDbcd1ns=5)OR(bcd
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 樹(shù)木買賣合同范例5篇文件
- 碧桂園收購(gòu)合同范例
- 交定金認(rèn)購(gòu)合同范例
- 水利新版合同范例
- 外墻保溫裝飾合同范例
- 竹欄加工制作合同范例
- 2025模具制造合同范本
- 新疆旅游紙質(zhì)合同范例
- 礦山出租協(xié)議合同范例
- 玉溪大紅山鐵礦二期北采區(qū)采礦施工組織設(shè)計(jì)
- 必刷題2024六年級(jí)英語(yǔ)上冊(cè)語(yǔ)法規(guī)則專項(xiàng)專題訓(xùn)練(含答案)
- 2024新教科版四年級(jí)上冊(cè)科學(xué)知識(shí)點(diǎn)總結(jié)精簡(jiǎn)版
- 人工智能在礦產(chǎn)勘探中的應(yīng)用分析篇
- 中西文化鑒賞智慧樹(shù)知到答案2024年鄭州大學(xué)
- 2024國(guó)開(kāi)大學(xué)《經(jīng)濟(jì)學(xué)基礎(chǔ)》形考任務(wù)2答案
- 2024山東省招聘社區(qū)工作者試題及答案
- 14《答謝中書(shū)書(shū)》對(duì)比閱讀-2024-2025中考語(yǔ)文文言文閱讀專項(xiàng)訓(xùn)練(含答案)
- DL∕T 5494-2014 電力工程場(chǎng)地地震安全性評(píng)價(jià)規(guī)程
- 顱腦外傷病人的急救和護(hù)理
- 大型儲(chǔ)罐制作安裝施工方案
評(píng)論
0/150
提交評(píng)論