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

下載本文檔

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

文檔簡介

1、VHDL總復(fù)習必須要掌握的知識點和相關(guān)例題1. VHDL的全稱以及利用 VHDL設(shè)計硬件電路所具有的特點Very High Speed Integrated Circuit Hardware Description Language 集成電路硬件描述語言)(1)(2)(3)(4)2.超高速設(shè)計文件齊全、方法靈活、支持廣泛 系統(tǒng)硬件描述能力強VHDL語言可以與工藝無關(guān)編程VHDL 語言標準、規(guī)范、易于共享和復(fù)用VHDL語言的基本設(shè)計實體和完整的VHDL語言程序的結(jié)構(gòu)一個VHDL語言的基本設(shè)計實體由實體說明和構(gòu)造體兩個部分構(gòu)成;一個完整的 VHDL語言程序包含 5個部分:實體、構(gòu)造體、配置、包集合

2、 (程序包 )和庫。進程不能嵌套。3. 進程(PROCES)語句的結(jié)構(gòu) 主要特點:并發(fā)語句,由敏感信號量啟動;內(nèi)部的語句順序執(zhí)行,4. VHDL語言子程序的結(jié)構(gòu)VHDL 語言子程序有兩種類型: 過程、函數(shù)1 )過程( Procedure )在程序包中定義的格式(用戶自定義過程的設(shè)計方法) :PACKAGE 包集合名 ISPROCEDURE過程名(參數(shù) 1,參數(shù)2,)END 包集合名 ;P ACKAGE BOD包 集合名 ISPROCEDURE過程名(參數(shù) 1,參數(shù)2,)IS 定義語句 BEGIN 順序處理語句 ;END 過程名 ;END 包集合名 ;過程調(diào)用的方法:過程名(參數(shù) 1,參數(shù)2,)

3、; 過程調(diào)用語句屬于并發(fā)語句。2) 函數(shù)( Function ) 在程序包中定義的格式(用戶自定義函數(shù)的設(shè)計方法) :P ACKAGE 集合名 ISFUNCTION函數(shù)名(參數(shù) 1,參數(shù)2,)RETURN 數(shù)據(jù)類型名END 包集合名 ;P ACKAGE BOD包 集合名 ISFUNCTION函數(shù)名(參數(shù) 1,參數(shù)2,)RETURN 數(shù)據(jù)類型名 IS( 變量 ) 定義語句 BEGIN 順序處理語句 ;RETURN 變量名 ;END 函數(shù)名 ;END 包集合名 ; 函數(shù)調(diào)用的方法:出現(xiàn)于語句的表達式中。5. 過程與函數(shù)的主要區(qū)別函數(shù)只包含有輸入?yún)?shù),只有一個返回值;過程即包含有輸入?yún)?shù),也包含輸出

4、參數(shù) 或輸入輸出參數(shù),可以有多個返回值,這些返回值通過過程中定義的輸出參數(shù)帶回。6. 進程和子程序中使用的語句只能使用順序描述語句。進程中和子程序的所有語句按順序執(zhí)行,7. VHDL語言中客體的概念及使用范圍VHDL語言中可以賦予一個值的對象稱為客體; 客體主要包括三種:信號、常數(shù)、變量; 信號和常數(shù)為全局量,變量為局部量。8. 信號和變量的區(qū)別及作用范圍信號和變量值的代入不僅形式不同,而且操作過程也不相同。變量的賦值使用賦值符“:= ”,信號的代入使用代入符“ := ”。變量的賦值在賦值語句執(zhí)行時立即生效,信號的代 入在代入語句執(zhí)行時并不立即發(fā)生,代入語句的處理和實際的代入過程是分開進行的。

5、實 際的代入過程在進程(PROCES)或子程序(SUBPROGR)語句執(zhí)行完畢時發(fā)生,與代入語 句的處理存在延時。變量是局部量,作用范圍是進程和子程序;信號是全局量,作用范圍是構(gòu)造體、實體 和程序包。例:ARCHITECTURE 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); BE

6、GIND:=A;X = B+D;D:=C;Y = A+D;END PROCESS;P1 的運行結(jié)果:X = B+C , Y = B+CP2 的運行結(jié)果:X = B+A , Y = B+C9. VHDL語言的數(shù)據(jù)類型和運算操作1)2)3)VHDL語言具有十種標準的數(shù)據(jù)類型用戶定義的數(shù)據(jù)類型包括枚舉類型、 數(shù)組類型 、記錄類型等 枚舉數(shù)據(jù)類型的定義方法:TYPE數(shù)據(jù)類型名IS (元素,元素,)VHDL語言共有4類運算操作: 邏輯運算 關(guān)系運算 算術(shù)運算 并置運算(Logical)(Relational)(Arithmetic) (Concatenation)10. VHDL語言構(gòu)造體的三種描述方式

7、行為描述方式 寄存器傳輸(數(shù)據(jù)流)描述方式 結(jié)構(gòu)化描述方式11. COMPONEN元件)語句和 COMPONENTINSTANT(元件例示)語句的功能和書寫格式 元件語句是最基本的描述語句,在構(gòu)造體中用來(說明)調(diào)用已設(shè)計好的邏輯描述模塊 即元件( COMPONE)NT ;COMPO NEN元 件名GENERIC說明;PORT說明;END COMPONENT ; 元件例示語句是在構(gòu)造體的結(jié)構(gòu)描述中不可缺少的一個基本語句,該語句將現(xiàn)成元件 的端口信號映射成高層次設(shè)計電路中的信號,用來在構(gòu)造體中產(chǎn)生一個現(xiàn)成元件的實例。標號名:元件名 GENERIC MAP (參數(shù),參數(shù),)PORT MAFP信號,

8、信號,);12. VHDL語言的主要描述語句的功能、使用場合和語法格式( 1 )主要的并發(fā)語句? 進程? 信號代入語句? 過程調(diào)用語句? 塊語句? 元件例示語句 (Component Instant)? 生成語句 (Generate)(2)主要的順序語句? WAIT語句? 信號代入語句? 變量賦值語句? IF 語句? CASE語句?循環(huán)語句(FOR循環(huán),WHILE循環(huán))注意:GENERATE生成)語句和 COMPONETNSTANT (元件例示)語句是并發(fā)語句 例:八位行波計數(shù)器的設(shè)計LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dffr IS

9、PORT ( clk,clr,d: IN STD_LOGIC; q,qb : OUT STD_LOGIC);END dffr;ARCHITECTURE one OF dffr ISSIGNAL qin: STD_LOGIC;BEGINq = qin;qb = NOT qin;PROCESS( clk,clr)BEGINIF clr=1THENqin = 0;ELSIF clkEVENT AND clk=1THEN qin = d;END IF;END PROCESS;END one;ENTITY rplcont ISPORT ( clk,clr: IN STD_LOGIC;count : OU

10、T STD_LOGIC_VECTOR(7 DOWNTO 0);END rplcont;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)cntints(i),clr=clr, d=cntints(i+1),q=count(i),qb=cntints(i+1); END GENERATE;END on

11、e;13. VHDL語言的命名規(guī)則 注意:名字的最前面應(yīng)該是英文字母,不能連續(xù)使用下劃線 _,名字的最后也不能使用 _。14. VHDL語言的數(shù)值類屬性描述 數(shù)值類屬性用來得到數(shù)組、一般數(shù)據(jù)或程序塊的有關(guān)值。 例:得到數(shù)值類或子類區(qū)間的最左端的值? T RIGHT 得到數(shù)值類或子類區(qū)間的最右端的值? T LEFT? T HIGH得到數(shù)值類或子類區(qū)間的高端值? T LOW 得到數(shù)值類或子類區(qū)間的低端值15. VHDL語言的信號屬性函數(shù) 此類描述函數(shù)用于獲得信號的行為信息。例:? sEVENT 如果事件發(fā)生,則返回“真”值,否則返回“假”值。? sLAST_EVENT 返回從前一個事件發(fā)生到現(xiàn)在所

12、經(jīng)歷的時間值。? sLAST_VALUE 返回信號最后一次改變以前的值。強度值: Z - 高阻強度, 邏輯值: 0 - 邏輯“ 0”, 即: Z0 ,Z1,ZX, R0,R1,16. 數(shù)值系統(tǒng)的定義方法,各種狀態(tài)的含義 例:九態(tài)數(shù)值系統(tǒng)由三種強度值和三種邏輯值組成:F- 強強度X - 邏輯“ X”R - 電阻強度,1 - 邏輯“ 0”,RX, F0, F1 , FXZ );可用枚舉數(shù)據(jù)類型加以定義: 例:四態(tài)數(shù)值系統(tǒng)的定義 TYPE fourstate IS ( X, 0, 1 17采用有限狀態(tài)機進行電路設(shè)計的基本方法有限狀態(tài)機分為兩類:Moore 型 輸出信號僅與當前狀態(tài)有關(guān)Mealy 型

13、輸出信號不僅與當前狀態(tài)有關(guān),還與所有的輸入信號有關(guān)為了使綜合工具可以將一個完整的 VHDL 源代碼識別為有限狀態(tài)機,必須還要遵循一 定的描述規(guī)則規(guī)定,一個有限狀態(tài)機的描述應(yīng)該包括以下內(nèi)容:至少包括一個狀態(tài)信號,它們用來指定有限狀態(tài)機狀態(tài)。狀態(tài)轉(zhuǎn)移指定和輸出指定,它們對應(yīng)于控制步的轉(zhuǎn)移條件。時鐘信號,它是用來進行同步的。同步或異步復(fù)位信號。描述方法:(1)三進程描述1. 狀態(tài)邏輯描述; 2.狀態(tài)寄存器描述; 3.輸出邏輯描述。(2)雙進程描述1.一個進程描述三個中的任何兩個; 2.另外一個用一個進程(3)單進程描述狀態(tài)邏輯,狀態(tài)寄存器,輸出邏輯描述合用一個進程。 狀態(tài)機中的狀態(tài)可用枚舉數(shù)據(jù)類型數(shù)

14、據(jù)進行定義。18.仿真延時引入的原因和對并發(fā)語句仿真結(jié)果的影響用軟件平臺進行仿真,實際上對VHDL的“并發(fā)語句”也只能逐條地加以執(zhí)行(處理)為了使語句的執(zhí)行與硬件動作的結(jié)果一致,而與語句的順序無關(guān),就必須引入延時,這樣,軟件就可按照電路的實際結(jié)構(gòu)確定仿真順序,仿真也就真實地模擬了硬件的動作,并VHDL程序設(shè)計時,對于構(gòu)造體中的并發(fā)語且其仿真結(jié)果與語句的順序無關(guān)。因此,在進行 句,設(shè)計者可以完全不考慮語句的順序。 19邏輯綜合的概念與主要步驟 邏輯綜合就是將較高抽象層次的描述轉(zhuǎn)換為較低抽象層次的描述一種方法(或者說過 程)。就現(xiàn)有的邏輯綜合工具而言,所謂就是將RTL級的描述轉(zhuǎn)換為門級網(wǎng)表的過程。

15、主要步驟如下:1. RTL 描述轉(zhuǎn)換為非優(yōu)化的布爾等式描述2. 布爾等式優(yōu)化3. 門級網(wǎng)表映射VHDL語言和FPGA進行電路設(shè)計的主要步驟20運用1234VHDL程序設(shè)計VHDL程序編譯VHDL程序仿真生成網(wǎng)表文件含器件選擇、端口分配,第二次編譯)下載FPGA器件進制計數(shù)器( 計數(shù)器結(jié)果由三個 4 位二進制數(shù)輸出 , 且計數(shù)器由時鐘的上升沿觸 計數(shù)器滿時輸出進位(溢出)脈沖,重新計數(shù)。 )0-364, 或 1-365 均可 5例: 1-365發(fā), 計數(shù)范圍:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.

16、ALL; 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:STD_LOGIC_VECTOR(

17、3 DOWNTO 0); gp:PROCESS(clk,clr)BEGINIF clr =0 THENbcd1ns = 0001;ELSIF (clkEVENT 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 =0THENbcd10ns = 0000;ELSIF (clk

18、EVENT AND clk=1)THENIF (bcd100ns=3 AND bcd10ns=6 AND bcd1ns=5)OR (bcd10ns=9 AND bcd1ns=9) THENbcd10ns = 0000;ELSIF bcd1ns=9 THENbcd10ns = bcd10ns+1;END IF;END IF;END PROCESS;bp:PROCESS(clk,clr)BEGINIF clr =0THENbcd100ns = 0000;ELSIF (clkEVENT AND clk=1)THENIF (bcd100ns=3 AND bcd10ns=6 AND bcd1ns=5)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論