2023年VHDL必須掌握的知識點和相關例題整理_第1頁
2023年VHDL必須掌握的知識點和相關例題整理_第2頁
2023年VHDL必須掌握的知識點和相關例題整理_第3頁
2023年VHDL必須掌握的知識點和相關例題整理_第4頁
2023年VHDL必須掌握的知識點和相關例題整理_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

VHDL總復習之

必須要掌握的知識點和相關例題目錄TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc"VHDL總復習之必須要掌握的知識點和相關例題 PAGEREF_Toc\h1HYPERLINK\l"_Toc"1.?VHDL語言的基本設計實體和完整的VHDL語言程序的結構?PAGEREF_Toc\h2HYPERLINK\l"_Toc"2. 進程(PROCESS)語句的結構?PAGEREF_Toc\h2HYPERLINK\l"_Toc"3.?VHDL語言子程序的結構?PAGEREF_Toc\h2HYPERLINK\l"_Toc"(1).?過程(Procedure) PAGEREF_Toc\h2HYPERLINK\l"_Toc"(2).?函數(shù)(Function)?PAGEREF_Toc\h2HYPERLINK\l"_Toc"4.?過程與函數(shù)的重要區(qū)別 PAGEREF_Toc\h3HYPERLINK6. VHDL語言中客體的概念及使用范圍 PAGEREF_Toc\h3HYPERLINK\l"_Toc"7.?信號和變量的區(qū)別及作用范圍?PAGEREF_Toc\h3HYPERLINK\l"_Toc"8. VHDL語言的數(shù)據(jù)類型和運算操作 PAGEREF_Toc\h4HYPERLINK9.?VHDL語言構造體的三種描述方式 PAGEREF_Toc\h4HYPERLINK\l"_Toc"10. COMPONENT(元件)語句和COMPONENT—INSTANT(元件例示)語句的功能和書寫格式?PAGEREF_Toc\h5HYPERLINK11.?VHDL語言的重要描述語句的功能、使用場合和語法格式?PAGEREF_Toc\h5HYPERLINK13.?VHDL語言的數(shù)值類屬性描述?PAGEREF_Toc\h6HYPERLINK\l"_Toc"14. VHDL語言的信號屬性函數(shù) PAGEREF_Toc\h7HYPERLINK\l"_Toc"15.?數(shù)值系統(tǒng)的定義方法,各種狀態(tài)的含義?PAGEREF_Toc\h7HYPERLINK17. 仿真Δ延時引入的因素和對并發(fā)語句仿真結果的影響 PAGEREF_Toc\h8HYPERLINK18. 邏輯綜合的概念與重要環(huán)節(jié)?PAGEREF_Toc\h8HYPERLINK\l"_Toc"19.?運用VHDL語言和FPGA進行電路設計的重要環(huán)節(jié) PAGEREF_Toc\h8?VHDL的全稱以及運用VHDL設計硬件電路所具有的特點VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage(超高速集成電路硬件描述語言)(1)設計文獻齊全、方法靈活、支持廣泛(2)

系統(tǒng)硬件描述能力強(3)

VHDL語言可以與工藝無關編程(4)VHDL語言標準、規(guī)范、易于共享和復用VHDL語言的基本設計實體和完整的VHDL語言程序的結構一個VHDL語言的基本設計實體由實體說明和構造體兩個部分構成;一個完整的VHDL語言程序包含5個部分:實體、構造體、配置、包集合(程序包)和庫。進程(PROCESS)語句的結構重要特點:并發(fā)語句,由敏感信號量啟動;內部的語句順序執(zhí)行,進程不能嵌套。VHDL語言子程序的結構VHDL語言子程序有兩種類型:過程、函數(shù)過程(Procedure)在程序包中定義的格式(用戶自定義過程的設計方法):PACKAGE包集合名ISPROCEDURE過程名(參數(shù)1,參數(shù)2,…)END包集合名;PACKAGEBODY包集合名ISPROCEDURE過程名(參數(shù)1,參數(shù)2,…)IS[定義語句]BEGIN[順序解決語句];END[過程名];END包集合名;過程調用的方法:過程名(參數(shù)1,參數(shù)2,…);過程調用語句屬于并發(fā)語句。函數(shù)(Function)在程序包中定義的格式(用戶自定義函數(shù)的設計方法):PACKAGE包集合名ISFUNCTION函數(shù)名(參數(shù)1,參數(shù)2,…)RETURN數(shù)據(jù)類型名END包集合名;PACKAGEBODY包集合名ISFUNCTION函數(shù)名(參數(shù)1,參數(shù)2,…)RETURN數(shù)據(jù)類型名IS[(變量)定義語句]BEGIN[順序解決語句];RETURN[變量名];END[函數(shù)名];END包集合名;函數(shù)調用的方法:出現(xiàn)于語句的表達式中。過程與函數(shù)的重要區(qū)別函數(shù)只包具有輸入?yún)?shù),只有一個返回值;過程即包具有輸入?yún)?shù),也包含輸出參數(shù)或輸入輸出參數(shù),可以有多個返回值,這些返回值通過過程中定義的輸出參數(shù)帶回。進程和子程序中使用的語句進程中和子程序的所有語句按順序執(zhí)行,只能使用順序描述語句。VHDL語言中客體的概念及使用范圍VHDL語言中可以賦予一個值的對象稱為客體;客體重要涉及三種:信號、常數(shù)、變量;信號和常數(shù)為全局量,變量為局部量。信號和變量的區(qū)別及作用范圍信號和變量值的代入不僅形式不同,并且操作過程也不相同。變量的賦值使用賦值符“:=”,信號的代入使用代入符“:=”。變量的賦值在賦值語句執(zhí)行時立即生效,信號的代入在代入語句執(zhí)行時并不立即發(fā)生,代入語句的解決和實際的代入過程是分開進行的。實際的代入過程在進程(PROCESS)或子程序(SUBPROGRAM)語句執(zhí)行完畢時發(fā)生,與代入語句的解決存在延時。變量是局部量,作用范圍是進程和子程序;信號是全局量,作用范圍是構造體、實體和程序包。例: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的運營結果:X<=B+C,Y<=B+CP2的運營結果:X<=B+A,Y<=B+CVHDL語言的數(shù)據(jù)類型和運算操作1)VHDL語言具有十種標準的數(shù)據(jù)類型2)用戶定義的數(shù)據(jù)類型涉及枚舉類型、數(shù)組類型、記錄類型等枚舉數(shù)據(jù)類型的定義方法:TYPE數(shù)據(jù)類型名IS(元素,元素,…)3)VHDL語言共有4類運算操作:邏輯運算(Logical)關系運算(Relational)算術運算(Arithmetic)并置運算(Concatenation)VHDL語言構造體的三種描述方式行為描述方式寄存器傳輸(數(shù)據(jù)流)描述方式結構化描述方式COMPONENT(元件)語句和COMPONENT—INSTANT(元件例示)語句的功能和書寫格式元件語句是最基本的描述語句,在構造體中用來(說明)調用已設計好的邏輯描述模塊[即元件(COMPONENT)];COMPONENT元件名GENERIC說明;PORT說明;ENDCOMPONENT;元件例示語句是在構造體的結構描述中不可缺少的一個基本語句,該語句將現(xiàn)成元件的端口信號映射成高層次設計電路中的信號,用來在構造體中產(chǎn)生一個現(xiàn)成元件的實例。標號名:元件名GENERICMAP(參數(shù),參數(shù),…)PORTMAP(信號,信號,…);VHDL語言的重要描述語句的功能、使用場合和語法格式(1)重要的并發(fā)語句?進程?信號代入語句?過程調用語句?塊語句?元件例示語句(ComponentInstant)?生成語句(Generate)(2)重要的順序語句?WAIT語句?信號代入語句?變量賦值語句?IF語句?CASE語句?循環(huán)語句(FOR循環(huán),WHILE循環(huán))[注意:GENERATE(生成)語句和COMPONENT—INSTANT(元件例示)語句是并發(fā)語句]例:八位行波計數(shù)器的設計LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdffrISPORT(clk,clr,d:INSTD_LOGIC;q,qb:OUTSTD_LOGIC);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_VECTOR(8DOWNTO0);COMPONENTdffrISPORT(clk,clr,d:INSTD_LOGIC;q,qb:OUTSTD_LOGIC);ENDCOMPONENT;BEGINcntints(0)<=clk;g1:FORiIN0TO7GENERATEdffx:dffrPORTMAP(clk=>cntints(i),clr=>clr,d=>cntints(i+1),q=>count(i),qb=>cntints(i+1));ENDGENERATE;ENDone;VHDL語言的命名規(guī)則注意:名字的最前面應當是英文字母,不能連續(xù)使用下劃線‘_’,名字的最后也不能使用‘_’。VHDL語言的數(shù)值類屬性描述數(shù)值類屬性用來得到數(shù)組、一般數(shù)據(jù)或程序塊的有關值。例:?T'LEFT得到數(shù)值類或子類區(qū)間的最左端的值?T'RIGHT得到數(shù)值類或子類區(qū)間的最右端的值?T'HIGH得到數(shù)值類或子類區(qū)間的高端值?T'LOW得到數(shù)值類或子類區(qū)間的低端值VHDL語言的信號屬性函數(shù)此類描述函數(shù)用于獲得信號的行為信息。例:?s'EVENT假如事件發(fā)生,則返回“真”值,否則返回“假”值。?s'LAST_EVENT返回從前一個事件發(fā)生到現(xiàn)在所經(jīng)歷的時間值。?s'LAST_VALUE返回信號最后一次改變以前的值。數(shù)值系統(tǒng)的定義方法,各種狀態(tài)的含義例:九態(tài)數(shù)值系統(tǒng)由三種強度值和三種邏輯值組成:強度值:Z--高阻強度,R--電阻強度,F--強強度邏輯值: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)機進行電路設計的基本方法有限狀態(tài)機分為兩類:Moore型輸出信號僅與當前狀態(tài)有關Mealy型-輸出信號不僅與當前狀態(tài)有關,還與所有的輸入信號有關為了使綜合工具可以將一個完整的VHDL源代碼辨認為有限狀態(tài)機,必須還要遵循一定的描述規(guī)則規(guī)定,一個有限狀態(tài)機的描述應當涉及以下內容:◆至少涉及一個狀態(tài)信號,它們用來指定有限狀態(tài)機狀態(tài)。◆狀態(tài)轉移指定和輸出指定,它們相應于控制步的轉移條件。◆時鐘信號,它是用來進行同步的?!敉交虍惒綇臀恍盘枴C枋龇椒ǎ海ǎ?三進程描述1.狀態(tài)邏輯描述;2.狀態(tài)寄存器描述;3.輸出邏輯描述。(2)雙進程描述1.一個進程描述三個中的任何兩個;2.此外一個用一個進程(3)單進程描述狀態(tài)邏輯,狀態(tài)寄存器,輸出邏輯描述合用一個進程。狀態(tài)機中的狀態(tài)可用枚舉數(shù)據(jù)類型數(shù)據(jù)進行定義。仿真Δ延時引入的因素和對并發(fā)語句仿真結果的影響用軟件平臺進行仿真,事實上對VHDL的“并發(fā)語句”也只能逐條地加以執(zhí)行(解決),為了使語句的執(zhí)行與硬件動作的結果一致,而與語句的順序無關,就必須引入Δ延時,這樣,軟件就可按照電路的實際結構擬定仿真順序,仿真也就真實地模擬了硬件的動作,并且其仿真結果與語句的順序無關。因此,在進行VHDL程序設計時,對于構造體中的并發(fā)語句,設計者可以完全不考慮語句的順序。邏輯綜合的概念與重要環(huán)節(jié)邏輯綜合就是將較高抽象層次的描述轉換為較低抽象層次的描述一種方法(或者說過程)。就現(xiàn)有的邏輯綜合工具而言,所謂就是將RTL級的描述轉換為門級網(wǎng)表的過程。重要環(huán)節(jié)如下:1.RTL描述轉換為非優(yōu)化的布爾等式描述2.布爾等式優(yōu)化3.門級網(wǎng)表映射運用VHDL語言和FPGA進行電路設計的重要環(huán)節(jié)VHDL程序設計VHDL程序編譯VHDL程序仿真生成網(wǎng)表文獻(含器件選擇、端口分派,第二次編譯)下載FPGA器件例:1-365進制計數(shù)器(計數(shù)器結果由三個4位二進制數(shù)輸出,且計數(shù)器由時鐘的上升沿觸發(fā),計數(shù)器滿時輸出進位(溢出)脈沖,重新計數(shù)。)[計數(shù)范圍:0-364,或1-365均可]LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYbcd365countISPORT(clk,clr:INSTD_LOGIC;bcd1n:OUTSTD_LOGIC_VECTOR(3DOWNTO0);bcd10n:OUTSTD_LOGIC_VECTOR(3DOWNTO0);bcd100n:OUTSTD_LOGIC_VECTOR(3DOWNTO0);co:OUTSTD_LOGIC:='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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論