數(shù)字系統(tǒng)設計與VHDL(第3版)教案-第5章 VHDL結(jié)構(gòu)與要素_第1頁
數(shù)字系統(tǒng)設計與VHDL(第3版)教案-第5章 VHDL結(jié)構(gòu)與要素_第2頁
數(shù)字系統(tǒng)設計與VHDL(第3版)教案-第5章 VHDL結(jié)構(gòu)與要素_第3頁
數(shù)字系統(tǒng)設計與VHDL(第3版)教案-第5章 VHDL結(jié)構(gòu)與要素_第4頁
數(shù)字系統(tǒng)設計與VHDL(第3版)教案-第5章 VHDL結(jié)構(gòu)與要素_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)字系統(tǒng)設計與VHDL(第3版)數(shù)字系統(tǒng)設計與VHDL(第3版)第5章

VHDL結(jié)構(gòu)與要素

5.1實

體5.2結(jié)

構(gòu)

體5.3VHDL庫和程序包5.4配

置5.5子

序?qū)嶓w主要用于描述模塊的輸入/輸出端口,其定義格式如下。ENTITY實體名IS[GENERIC(參數(shù)名:數(shù)據(jù)類型);] --[]表示可選項[PORT(端口表);]ENDENTITY實體名;5.1實

體5.1.1類屬參數(shù)說明GENERIC(參數(shù)名1:數(shù)據(jù)類型:=數(shù)值;

參數(shù)名2:數(shù)據(jù)類型:=數(shù)值;...);例5.1用類屬說明語句設計加法器。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL; --調(diào)用庫和包USEIEEE.NUMERIC_STD.all;ENTITYadderISGENERIC(width:INTEGER:=16);--定義類屬參量widthPORT(a,b:INUNSIGNED(width-1DOWNTO0);sum:OUTUNSIGNED(widthDOWNTO0));ENDENTITY;ARCHITECTUREbehavOFadderISBEGINsum<=('0'&a)+b;ENDbehav;5.1實

體5.1.2端口說明端口是實體與外部進行通信的接口,類似于電路圖符號的引腳。端口說明語句定義格式:PORT(端口名:端口模式

數(shù)據(jù)類型;{端口名:端口模式

數(shù)據(jù)類型});端口模式是指該端口的數(shù)據(jù)傳輸方向,有以下4種模式?!?IN:輸入模式,傳輸方向是從外部進入實體?!?OUT:輸出模式,傳輸方向是離開實體到實體外部?!?BUFFER:緩沖模式,緩沖模式允許信號輸出到實體外部,同時也可在實體內(nèi)部引用該端口的信號?!?INOUT:雙向模式,此模式允許信號雙向傳輸。結(jié)構(gòu)體(ARCHITECTURE)也稱為構(gòu)造體,結(jié)構(gòu)體是對實體的邏輯行為、功能或內(nèi)部構(gòu)造的具體描述。結(jié)構(gòu)體的定義格式:ARCHITECTURE結(jié)構(gòu)體名OF實體名IS[說明語句]BEGIN[功能描述語句]ENDARCHITECTURE結(jié)構(gòu)體名;5.2結(jié)

構(gòu)

體庫(LIBRARY)是已編譯數(shù)據(jù)的集合,存放程序包定義、實體定義、結(jié)構(gòu)體定義和配置定義。庫以VHDL源文件的形式存在,在綜合時綜合器可隨時讀入庫文件使用,便于設計者利用已編譯過的設計結(jié)果。常用的VHDL庫有:STD庫、WORK庫、IEEE庫、ASIC庫和用戶自定義庫等。程序包(PACKAGE)主要用來存放各個設計能夠共享的信號說明、常量定義、數(shù)據(jù)類型、子程序定義、屬性說明和元件封裝等部分。5.3VHDL庫和程序包常用VHDL庫及其程序包5.3VHDL庫和程序包配置主要用于指定實體和結(jié)構(gòu)體之間的對應關(guān)系。一個實體可以有多個結(jié)構(gòu)體,每個結(jié)構(gòu)體對應著實體的一種實現(xiàn)方案,但在每次綜合時,綜合器只能接收一個結(jié)構(gòu)體,通過配置語句可以為實體指定或配置一個結(jié)構(gòu)體。配置也可以用于指定元器件和設計實體之間的對應關(guān)系,或者為例化的各元器件實體指定結(jié)構(gòu)體,從而形成一個所希望的例化元器件層次構(gòu)成的設計。5.4配置CONFIGURATION配置名OF實體名ISFOR選配結(jié)構(gòu)體名ENDFOR;END配置名;子程序(SUBPROGRAM)是可供主程序調(diào)用并將結(jié)果返回主程序的程序模塊,從這個角度來看,VHDL程序的子程序與其他高級語言(如C語言)的子程序的概念類似。子程序是VHDL的一個程序模塊,綜合后的子程序?qū)谝粋€電路模塊,可以在VHDL程序的結(jié)構(gòu)體或程序包的任何位置對子程序進行調(diào)用,每次調(diào)用子程序都會產(chǎn)生同樣的一個電路模塊。子程序兩種類型:過程(PROCEDURE);函數(shù)(FUNCTION)。5.5子程序過程(PROCEDURE)語句的格式:PROCEDURE過程名(參數(shù)表)--過程首PROCEDURE過程名(參數(shù)表)IS --過程體[說明部分]BEGIN

順序語句;ENDPROCEDURE過程名;5.5子程序FUNCTION函數(shù)名(參數(shù)表)RETURN數(shù)據(jù)類型--函數(shù)首FUNCTION函數(shù)名(參數(shù)表)RETURN數(shù)據(jù)類型IS--函數(shù)體說明部分];BEGIN順序語句;ENDFUNCTION函數(shù)名;函數(shù)(FUNCTION)的定義格式:5.5子程序例5.10在結(jié)構(gòu)體中定義函數(shù)。ENTITYfunc_exISPORT(d:INBIT_VECTOR(2DOWNTO0);f:OUTBIT_VECTOR(2DOWNTO0));END;ARCHITECTUREoneOFfunc_exISFUNCTIONsimp(a,b,c:BIT)RETURNBITISBEGINRETURN(aANDb)ORc;ENDFUNCTIONsimp;BEGINPROCESS(d)BEGINf(0)<=simp(d(0),d(1),d(2));f(1)<=simp(d(2),d(0),d(1));f(2)<=simp(d(1),d(2),d(0));ENDPROCESS;ENDone;5.1VHDL程序的基本結(jié)構(gòu)分成幾個部分?試簡要說明每一部分的功能。5.2說明端D模式INOUT和BUFFER的異同點。5.3寫出7490計數(shù)器的實體部分5.4寫出74151數(shù)據(jù)選擇器的實體部分

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論