VHDL必須掌握的知識(shí)點(diǎn)和相關(guān)例題整理_第1頁
VHDL必須掌握的知識(shí)點(diǎn)和相關(guān)例題整理_第2頁
VHDL必須掌握的知識(shí)點(diǎn)和相關(guān)例題整理_第3頁
VHDL必須掌握的知識(shí)點(diǎn)和相關(guān)例題整理_第4頁
VHDL必須掌握的知識(shí)點(diǎn)和相關(guān)例題整理_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、VHDL 總復(fù)習(xí)之必須要掌握的知識(shí)點(diǎn)和相關(guān)例題目錄VHDL總復(fù)習(xí)之必須要掌握的知識(shí)點(diǎn)和相關(guān)例題.11.VHDL語言的基本設(shè)計(jì)實(shí)體和完整的VHDL 語言程序的結(jié)構(gòu) .22.進(jìn)程( PROCESS)語句的結(jié)構(gòu) .23.VHDL語言子程序的結(jié)構(gòu) .2(1).過程( Procedure) .2(2).函數(shù)( Function ) .24.過程與函數(shù)的主要區(qū)別 .35.進(jìn)程和子程序中使用的語句 .36.VHDL語言中客體的概念及使用范圍 .37.信號(hào)和變量的區(qū)別及作用范圍 .38.VHDL語言的數(shù)據(jù)類型和運(yùn)算操作 .49.VHDL語言構(gòu)造體的三種描述方式 .410. COMPONENT (元件)語句和

2、COMPONENT INSTANT (元件例示)語句的功能和書寫格式511.VHDL語言的主要描述語句的功能、使用場合和語法格式512.VHDL語言的命名規(guī)則613.VHDL語言的數(shù)值類屬性描述614.VHDL語言的信號(hào)屬性函數(shù)715.數(shù)值系統(tǒng)的定義方法,各種狀態(tài)的含義716.采用有限狀態(tài)機(jī)進(jìn)行電路設(shè)計(jì)的基本方法717.仿真延時(shí)引入的原因和對(duì)并發(fā)語句仿真結(jié)果的影響818.邏輯綜合的概念與主要步驟819.運(yùn)用 VHDL 語言和 FPGA 進(jìn)行電路設(shè)計(jì)的主要步驟8VHDL 的全稱以及利用VHDL 設(shè)計(jì)硬件電路所具有的特點(diǎn)Very High Speed Integrated Circuit Hard

3、ware Description Language(超高速集成電路硬件描述語言)( 1) 設(shè)計(jì)文件齊全、方法靈活、支持廣泛( 2) 系統(tǒng)硬件描述能力強(qiáng)( 3) VHDL語言可以與工藝無關(guān)編程( 4) VHDL 語言標(biāo)準(zhǔn)、規(guī)范、易于共享和復(fù)用1. VHDL 語言的基本設(shè)計(jì)實(shí)體和完整的 VHDL 語言程序的結(jié)構(gòu)一個(gè) VHDL語言的基本設(shè)計(jì)實(shí)體由實(shí)體說明和構(gòu)造體兩個(gè)部分構(gòu)成;語言程序包含5 個(gè)部分:實(shí)體、構(gòu)造體、配置、包集合( 程序包 ) 和庫。一個(gè)完整的VHDL2. 進(jìn)程( PROCESS)語句的結(jié)構(gòu)主要特點(diǎn):并發(fā)語句,由敏感信號(hào)量啟動(dòng);內(nèi)部的語句順序執(zhí)行,進(jìn)程不能嵌套。3. VHDL 語言子程序

4、的結(jié)構(gòu)VHDL語言子程序有兩種類型:過程、函數(shù)(1).過程( Procedure)在程序包中定義的格式(用戶自定義過程的設(shè)計(jì)方法)PACKAGE包集合名ISPROCEDURE 過程名(參數(shù):1,參數(shù)2, )END包集合名;PACKAGE BODY包集合名ISPROCEDURE過程名(參數(shù)1,參數(shù)2, )IS定義語句BEGIN順序處理語句END 過程名 ;END 包集合名 ;過程調(diào)用的方法:過程名(參數(shù)1,參數(shù)2, );過程調(diào)用語句屬于并發(fā)語句。(2).函數(shù)( Function)在程序包中定義的格式(用戶自定義函數(shù)的設(shè)計(jì)方法):PACKAGE包集合名ISFUNCTION函數(shù)名(參數(shù)1,參數(shù) 2,

5、 )RETURN數(shù)據(jù)類型名END包集合名 ;PACKAGE BODY包集合名ISFUNCTION函數(shù)名(參數(shù)1,參數(shù)2, )RETURN數(shù)據(jù)類型名( 變量 ) 定義語句 ISBEGIN順序處理語句;RETURN 變量名END 函數(shù)名 ;END 包集合名 ;函數(shù)調(diào)用的方法:出現(xiàn)于語句的表達(dá)式中。4. 過程與函數(shù)的主要區(qū)別函數(shù)只包含有輸入?yún)?shù),只有一個(gè)返回值;過程即包含有輸入?yún)?shù),也包含輸出參數(shù)或輸入輸出參數(shù),可以有多個(gè)返回值,這些返回值通過過程中定義的輸出參數(shù)帶回。5. 進(jìn)程和子程序中使用的語句進(jìn)程中和子程序的所有語句按順序執(zhí)行,只能使用順序描述語句。6. VHDL 語言中客體的概念及使用范圍V

6、HDL語言中可以賦予一個(gè)值的對(duì)象稱為客體;客體主要包括三種:信號(hào)、常數(shù)、變量;信號(hào)和常數(shù)為全局量,變量為局部量。7. 信號(hào)和變量的區(qū)別及作用范圍信號(hào)和變量值的代入不僅形式不同,而且操作過程也不相同。變量的賦值使用賦值符“:= ” , 信號(hào)的代入使用代入符“ := ”。變量的賦值在賦值語句執(zhí)行時(shí)立即生效,信號(hào)的代入在代入語句執(zhí)行時(shí)并不立即發(fā)生,代入語句的處理和實(shí)際的代入過程是分開進(jìn)行的。實(shí)際的代入過程在進(jìn)程( PROCESS)或子程序( SUBPROGRAM)語句執(zhí)行完畢時(shí)發(fā)生,與代入語句的處理存在延時(shí)。變量是局部量,作用范圍是進(jìn)程和子程序;信號(hào)是全局量,作用范圍是構(gòu)造體、實(shí)體和程序包。例:AR

7、CHITECTURE behave OF xinhao ISP1:PROCESS(A,B,C,D)BEGIND<=A;X <= B+D;D<=C;Y <= B+D;END PROCESS ;-ARCHITECTURE behave OF xinhao_bianliang ISP2: PROCESS(A,B,C)VARIABLE D : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIND:=A;X <= B+D;D:=C;Y <= A+D;END PROCESS;P1 的運(yùn)行結(jié)果 :X <= B+C ,Y <= B+CP2 的運(yùn)

8、行結(jié)果 :X <= B+A ,Y <= B+C8. VHDL 語言的數(shù)據(jù)類型和運(yùn)算操作1) VHDL語言具有十種標(biāo)準(zhǔn)的數(shù)據(jù)類型2)用戶定義的數(shù)據(jù)類型包括枚舉類型、數(shù)組類型、記錄類型等枚舉數(shù)據(jù)類型的定義方法:TYPE數(shù)據(jù)類型名IS(元素,元素, )3) VHDL語言共有4 類運(yùn)算操作:邏輯運(yùn)算 (Logical)關(guān)系運(yùn)算 (Relational)算術(shù)運(yùn)算 (Arithmetic)并置運(yùn)算 (Concatenation)9. VHDL 語言構(gòu)造體的三種描述方式行為描述方式寄存器傳輸(數(shù)據(jù)流)描述方式結(jié)構(gòu)化描述方式10. COMPONENT(元件)語句和 COMPONENTINSTANT

9、 (元件例示)語句的功能和書寫格式元件語句是最基本的描述語句,在構(gòu)造體中用來(說明)調(diào)用已設(shè)計(jì)好的邏輯描述模塊 即元件( COMPONENT) ;COMPONENT元件名GENERICPORT說明;說明;END COMPONENT;元件例示語句是在構(gòu)造體的結(jié)構(gòu)描述中不可缺少的一個(gè)基本語句,該語句將現(xiàn)成元件的端口信號(hào)映射成高層次設(shè)計(jì)電路中的信號(hào),用來在構(gòu)造體中產(chǎn)生一個(gè)現(xiàn)成元件的實(shí)例。標(biāo)號(hào)名:元件名GENERIC MAP(參數(shù),參數(shù), )PORT MAP(信號(hào),信號(hào), );11. VHDL 語言的主要描述語句的功能、使用場合和語法格式( 1)主要的并發(fā)語句? 進(jìn)程? 信號(hào)代入語句? 過程調(diào)用語句?

10、 塊語句? 元件例示語句 (Component Instant)? 生成語句 (Generate)( 2)主要的順序語句? WAIT 語句? 信號(hào)代入語句? 變量賦值語句? IF 語句? CASE 語句? 循環(huán)語句( FOR 循環(huán), WHILE循環(huán)) 注意: GENERATE(生成)語句和COMPONENTINSTANT(元件例示)語句是并發(fā)語句例:八位行波計(jì)數(shù)器的設(shè)計(jì)LIBRARY IEEE;ENTITY dffr ISPORT ( clk,clr,d: IN STD_LOGIC;q,qb: OUT STD_LOGIC);END dffr;ARCHITECTURE one OF dffr I

11、SSIGNAL qin: STD_LOGIC;BEGINq <= qin;qb <= NOT qin;PROCESS( clk,clr)BEGINIF clr='1'THENqin <= '0'ELSIF clk'EVENT AND clk='1'THENqin <= d;END IF;END PROCESS;END one;ENTITY rplcont ISPORT ( clk,clr: IN STD_LOGIC;count : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END rplco

12、nt;ARCHITECTURE one OF rplcont ISSIGNAL cntints: STD_LOGIC_VECTOR(8 DOWNTO 0);COMPONENT dffr ISPORT ( clk,clr,d: IN STD_LOGIC;q,qb: OUT STD_LOGIC);END COMPONENT;BEGINcntints(0)<= clk;g1:FOR i IN 0 TO 7 GENERATEdffx: dffr PORT MAP(clk=>cntints(i),clr=>clr,d=>cntints(i+1),q=>count(i),qb

13、=>cntints(i+1);END GENERATE;END one;12. VHDL 語言的命名規(guī)則注意:名字的最前面應(yīng)該是英文字母,不能連續(xù)使用下劃線 _,名字的最后也不能使用 _。13. VHDL 語言的數(shù)值類屬性描述數(shù)值類屬性用來得到數(shù)組、一般數(shù)據(jù)或程序塊的有關(guān)值。例:? T' LEFT得到數(shù)值類或子類區(qū)間的最左端的值? T' RIGHT得到數(shù)值類或子類區(qū)間的最右端的值? T' HIGH得到數(shù)值類或子類區(qū)間的高端值? T' LOW得到數(shù)值類或子類區(qū)間的低端值14. VHDL 語言的信號(hào)屬性函數(shù)此類描述函數(shù)用于獲得信號(hào)的行為信息。例:? s'

14、;EVENT如果事件發(fā)生,則返回“真”值,否則返回“假”值。? s'LAST_EVENT返回從前一個(gè)事件發(fā)生到現(xiàn)在所經(jīng)歷的時(shí)間值。? s 'LAST_VALUE返回信號(hào)最后一次改變以前的值。15. 數(shù)值系統(tǒng)的定義方法,各種狀態(tài)的含義例:九態(tài)數(shù)值系統(tǒng)由三種強(qiáng)度值和三種邏輯值組成:強(qiáng)度值: Z -高阻強(qiáng)度, R -電阻強(qiáng)度,F(xiàn)-強(qiáng)強(qiáng)度邏輯值: 0 -邏輯“ 0”, 1 -邏輯“ 0”, X -邏輯“ X”即:Z0 , Z1, ZX, R0, R1, RX, F0, F1, FX可用枚舉數(shù)據(jù)類型加以定義:例:四態(tài)數(shù)值系統(tǒng)的定義TYPE fourstate IS( X, 0, 1 ,

15、Z );16. 采用有限狀態(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 源代碼識(shí)別為有限狀態(tài)機(jī),必須還要遵循一定的描述規(guī)則規(guī)定,一個(gè)有限狀態(tài)機(jī)的描述應(yīng)該包括以下內(nèi)容:至少包括一個(gè)狀態(tài)信號(hào),它們用來指定有限狀態(tài)機(jī)狀態(tài)。狀態(tài)轉(zhuǎn)移指定和輸出指定,它們對(duì)應(yīng)于控制步的轉(zhuǎn)移條件。時(shí)鐘信號(hào),它是用來進(jìn)行同步的。同步或異步復(fù)位信號(hào)。描述方法:(1)三進(jìn)程描述1.狀態(tài)邏輯描述;2.狀態(tài)寄存器描述;3.輸出邏輯描述。(2)雙進(jìn)程描述1.一個(gè)進(jìn)程描述三個(gè)中的任何

16、兩個(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)行定義。17. 仿真 延時(shí)引入的原因和對(duì)并發(fā)語句仿真結(jié)果的影響用軟件平臺(tái)進(jìn)行仿真,實(shí)際上對(duì)VHDL的“并發(fā)語句”也只能逐條地加以執(zhí)行(處理)為了使語句的執(zhí)行與硬件動(dòng)作的結(jié)果一致,而與語句的順序無關(guān),就必須引入延時(shí),這樣,軟件就可按照電路的實(shí)際結(jié)構(gòu)確定仿真順序,仿真也就真實(shí)地模擬了硬件的動(dòng)作,并且其仿真結(jié)果與語句的順序無關(guān)。因此,在進(jìn)行VHDL程序設(shè)計(jì)時(shí),對(duì)于構(gòu)造體中的并發(fā)語句,設(shè)計(jì)者可以完全不考慮語句的順序。,18. 邏輯綜合的概念與主要步驟邏輯綜合就是將較高抽象層次

17、的描述轉(zhuǎn)換為較低抽象層次的描述一種方法(或者說過程)。就現(xiàn)有的邏輯綜合工具而言,所謂就是將 RTL級(jí)的描述轉(zhuǎn)換為門級(jí)網(wǎng)表的過程。主要步驟如下:1. RTL 描述轉(zhuǎn)換為非優(yōu)化的布爾等式描述2. 布爾等式優(yōu)化3. 門級(jí)網(wǎng)表映射19. 運(yùn)用 VHDL 語言和 FPGA 進(jìn)行電路設(shè)計(jì)的主要步驟1 VHDL程序設(shè)計(jì)2 VHDL程序編譯3 VHDL程序仿真4 生成網(wǎng)表文件(含器件選擇、端口分配,第二次編譯)5下載 FPGA器件例: 1-365 進(jìn)制計(jì)數(shù)器(計(jì)數(shù)器結(jié)果由三個(gè)4 位二進(jìn)制數(shù)輸出發(fā) ,計(jì)數(shù)器滿時(shí)輸出進(jìn)位(溢出)脈沖,重新計(jì)數(shù)。) 計(jì)數(shù)范圍: 0-364, 或 1-365 均可 , 且計(jì)數(shù)器由時(shí)鐘

18、的上升沿觸LIBRARY IEEE;ENTITY bcd365count ISPORT ( clk,clr:IN STD_LOGIC;bcd1n:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);bcd10n :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);bcd100n:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);co:OUT STD_LOGIC:='0');END bcd365count;ARCHITECTURE one OF bcd365count ISSIGNAL bcd1ns,bcd10ns,bcd100ns:

19、STD_LOGIC_VECTOR(3 DOWNTO 0);gp:PROCESS(clk,clr)BEGINIF clr ='0' THENbcd1ns <= "0001"ELSIF (clk'EVENT AND clk='1')THENIF (bcd100ns=3 AND bcd10ns=6 AND bcd1ns=5) THENbcd1ns <= "0001"ELSIF bcd1ns=9 THENbcd1ns <= "0000"ELSEbcd1ns <= bcd1ns+1;END IF;END IF;END PROCESS;sp:PROCESS(clk,clr)BEGINIF clr ='0'THENbcd10ns <= "0000"ELSIF (clk'EVENT AND clk='1')THENIF (bcd100ns=3 AND bcd10ns=6

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論