數(shù)字系統(tǒng)設(shè)計:2.1 VHDL程序基本結(jié)構(gòu)_第1頁
數(shù)字系統(tǒng)設(shè)計:2.1 VHDL程序基本結(jié)構(gòu)_第2頁
數(shù)字系統(tǒng)設(shè)計:2.1 VHDL程序基本結(jié)構(gòu)_第3頁
數(shù)字系統(tǒng)設(shè)計:2.1 VHDL程序基本結(jié)構(gòu)_第4頁
數(shù)字系統(tǒng)設(shè)計:2.1 VHDL程序基本結(jié)構(gòu)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

2.1VHDL程序基本結(jié)構(gòu)入門參考:VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計侯伯亨西電2.1VHDL程序結(jié)構(gòu)什么是VHDLVHDL特點VHDL程序的基本結(jié)構(gòu)VHDL程序舉列本講小結(jié)什么是VHDL?VHDL--VeryhighspeedintegratedcircuitHardwareDescriptionLanguage舉列2選1MUX什么是VHDL?VHDL描述:LIBRARYIEEE;--庫的調(diào)用USEIEEE.STD_LOGIC_1164.ALL;entitymuxis--實體說明:輸入輸出端口的描述;port(d0,d1,sel:in

bit;q:outbit);endmux;architecturebehavofmuxis--結(jié)構(gòu)體:行為、功能或電路結(jié)構(gòu)描述;beginq<=(d0and(notsel))or(d1andsel);endbehav;VHDL特點1.系統(tǒng)硬件描述能力強(適合大型項目與團隊合作開發(fā))可描述系統(tǒng)輸入、輸出及其相互間行為與功能;具有層次性-由上而下從高層次到低層次的結(jié)構(gòu)式語法結(jié)構(gòu);從行為描述,結(jié)構(gòu)描述,到數(shù)據(jù)流描述;

2.與器件無關(guān),與工藝無關(guān)(設(shè)計具有相對獨立性)3.IEEE工業(yè)標(biāo)準(zhǔn)(容易共享和復(fù)用)4.方法靈活,技術(shù)齊全(廠商廣泛支持)

5.可讀性好

VHDL程序基本結(jié)構(gòu)實體(Entity)+結(jié)構(gòu)體(Architecture)實體(entity)結(jié)構(gòu)體(architecture)庫的調(diào)用功能:提供一個設(shè)計單元的接口信息(相當(dāng)于方框圖)

格式功能:實體的行為、功能或電路結(jié)構(gòu)的描述

格式功能:定義元件庫

格式實體的格式1、實體格式

ENTITY實體名IS[類屬參數(shù)說明]; [端口說明]; END實體名;GENERIC

(常數(shù)名:數(shù)據(jù)類型:=設(shè)定值)

類屬參量以關(guān)鍵詞GENERIC引導(dǎo)一個類屬參量表,在表中提供時間參數(shù)(器件延遲)或總線寬度等靜態(tài)信息。PORT(端口名:端口方向數(shù)據(jù)類型;…);由PORT引導(dǎo)的端口說明語句是一個設(shè)計實體界面的說明。實體的格式2、2輸入與門舉例

EntityAND2isGeneric(rise:time:=2ns;fall:time:=4ns);--類屬參數(shù)說明;Port(a,b:inbit;f:outbit);EndAND2;Architecture

behavofAND2isSignaltemp:bit;--定義語句Begintemp<=aandb;f<=tempafterrisewhentemp=’1’elsetempafterfall;--引入?yún)?shù)Endbehav;

實體的格式3、實體說明1)實體名:不能以數(shù)字開頭,盡可能表達功能上的含義(標(biāo)志符定義,課本p.38)2)類屬參數(shù)說明:

說明整個設(shè)計中要用的有關(guān)參數(shù)(延遲時間等),關(guān)鍵字:GENERIC3)端口說明:

提供外部接口信息(引腳名,方向等)

格式:PORT(端口名:方向數(shù)據(jù)類型;

端口名:方向數(shù)據(jù)類型);實體的格式4、端口方向說明種類IN輸入:信號進入實體OUT輸出:信號離開實體,且不會在內(nèi)部反饋使用INOUT雙向:信號可離開或進入實體BUFFER輸出緩沖:信號離開實體,但在內(nèi)部有反饋PORT(端口名:端口方向數(shù)據(jù)類型;

…);實體的格式5、數(shù)據(jù)類型說明端口信號的取值類型(IEEEstd-1076版,IEEEstd-1164版

)Bit

位類型:(0,1)bit_vector

位向量類型:bit的組合Integer整數(shù)類型Boolean布爾類型:(true,false)std_logic

位類型,工業(yè)標(biāo)準(zhǔn):(0,1,X,Z)std_logic_vector

位向量類型,工業(yè)標(biāo)準(zhǔn)例:

STD-1076:

Port(d0,d1,sel:inbit;y:outbit); STD-1164:

Port(d0,d1,sel:instd_logic;y:outstd_logic);PORT(端口名:端口方向數(shù)據(jù)類型;…);實體的格式6、實體描述實例

D是16BIT的輸入總線CLK,OE,RESET是輸入信號Q是16BIT的三態(tài)輸出總線INT是輸出信號,但其內(nèi)部有反饋AD是雙向16BIT總線AS是三態(tài)輸出信號entitymy_designis port(d:instd_logic_vector(15downto0);

clk,reset,oe:instd_logic;q:outstd_logic_vector(15downto0);ad:inout

std_logic_vector(15downto0);

int:bufferstd_logic;as:outstd_logic);endmy_design;練習(xí)二試寫出四位全加器的實體說明。其中:加數(shù)和被加數(shù)分別為A(a3,a2,a1,a0)和B(b3,b2,b1,b0),進位輸入為Ci,進位輸出為Co;輸出和為S(S3,S2,S1,S0)。練習(xí)三根據(jù)下圖所示,寫出四選一數(shù)據(jù)選擇器的實體說明。練習(xí)四根據(jù)下圖所示,寫出2輸入、4輸出的二進制譯碼器的實體說明。結(jié)構(gòu)體格式1、結(jié)構(gòu)體格式

architecture結(jié)構(gòu)體名of實體號名is[定義語句]定義內(nèi)部信號(signal);

常數(shù)(constant);

數(shù)據(jù)類型(type);

函數(shù)(function);

元件(component)等;begin[并行處理語句];end結(jié)構(gòu)體名;結(jié)構(gòu)體格式2、舉例:2選1數(shù)據(jù)選擇器的結(jié)構(gòu)體

architecturebehavofmuxisbeginq<=d0when(sel=‘1’)elsed1;endbehav;3、結(jié)構(gòu)體的命名--應(yīng)有明確意義例如:behavioral(行為),dataflow(數(shù)據(jù)流),structure(結(jié)構(gòu))結(jié)構(gòu)體格式5、并行處理語句

結(jié)構(gòu)體內(nèi)部的語句是并行處理語句,如過程、BLOCK、SUBPROGRAMS

4、定義語句定義語句:對結(jié)構(gòu)體內(nèi)的信號,常數(shù),數(shù)據(jù)類型,函數(shù)定義VHDL頭文件:庫的調(diào)用庫是編譯后的數(shù)據(jù)的集合。常用庫:IEEE庫(STD-LOGIC-1164,STD-LOGIC-1076)

STD庫(VHDL標(biāo)準(zhǔn)庫)

WORK庫(作業(yè)庫,調(diào)用時不需說明)

使庫可見的方法:

LIBRARYIEEE;

USEIEEE.STD-LOGIC-1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;VHDL程序舉列一位半加器一位全加器一位半加器

LibraryIEEE;Usestd_logic_1164.all;Entityhalf_adderisport(X,Y:inbit;sum,carry:outbit);endhalf_adder;Architecturedataflowofhalf_adderisbegin--并行處理語句

sum<=XxorYafter10ns;carry<=XandYafter10ns;Enddataflow;一位全加器

一位全加器

LibraryIEEE;Usestd_logic_1164.all;Entity

full_adderis Port(A,B,carry_in:inbit;AB,carry_out:outbit);Endfull_adder;Architecture

structureoffull_adderis

Signal

temp_sum:bit;--定義語句

Signaltemp_carry1:bit;

Signaltemp_carry2:bit;

Component

half_adderPort(X,Y:inbit;sum,carry:outbit);Endcomponent;

Component

or_gatePort(in1,in2:inbit;out1:outbit);Endcomponent;一位全加器

Begin--元件例化語句U0:half_adderPortmap(X=>A,Y=>B,sum=>temp_sum,carry=>temp_carry1);U1:half_adder

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論