VHDL程序基本結(jié)構(gòu).ppt_第1頁
VHDL程序基本結(jié)構(gòu).ppt_第2頁
VHDL程序基本結(jié)構(gòu).ppt_第3頁
VHDL程序基本結(jié)構(gòu).ppt_第4頁
VHDL程序基本結(jié)構(gòu).ppt_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1,圖2.4 VHDL編程基本結(jié)構(gòu),2.2 VHDL程序基本結(jié)構(gòu),相對完整的VHDL程序通常是實(shí)體、結(jié)構(gòu)、配置、軟件包、2、(1)庫、軟件包使用說明:此設(shè)計主體將使用的庫、打開或調(diào)用軟件包。軟件包包含每個設(shè)計模塊共享的數(shù)據(jù)類型、常量和子程序等。庫是專門存儲預(yù)編譯包的地方。(2)實(shí)體:用于描述設(shè)計的系統(tǒng)的外部接口信號,是可視部分。(3)結(jié)構(gòu):描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為,用于建立輸入和輸出之間的關(guān)系,是不可見的部分。(4)建構(gòu)描述陳述式:通常用于階層式例證化特定設(shè)計實(shí)體或為實(shí)體選取特定結(jié)構(gòu)。3,“圖元”(ENTITY)是設(shè)計對象的曲面設(shè)計單位,具有此設(shè)計對象與外部電路的接口。規(guī)定設(shè)計單元的I/o接口

2、信號或針腳,并封裝設(shè)計實(shí)體后傳送到外部的通信接口。1.實(shí)體語句結(jié)構(gòu)實(shí)體說明單元的典型語句結(jié)構(gòu)如下:實(shí)體實(shí)體名稱IS GENERIC(常規(guī)表);端口表(PORT); END ENTITY實(shí)體名稱;2.2.1實(shí)體,4,實(shí)體說明單元以 ENTITY ENTITY name IS 語句開頭,然后是 end ENTITY ENTITY name;必須從門開始,結(jié)束。實(shí)體名稱是設(shè)計者直接指定給設(shè)計實(shí)體的名稱,可以在作為其他設(shè)計實(shí)體調(diào)用該設(shè)計實(shí)體時使用。中間方括號中的語句說明在某些情況下不是必需的。例如,通過創(chuàng)建VHDL模擬測試基準(zhǔn),可以省略方括號中的門。5,2。“類屬”(GENERIC)說明語句“類屬”(

3、GENERIC)參數(shù)是端口接口常數(shù),通常作為一個說明放置在實(shí)體或塊結(jié)構(gòu)前面的說明部分。來源提供所顯示環(huán)境的靜態(tài)資訊頻道,來源的值可以來自設(shè)計實(shí)體之外。一般描述的一般寫入格式如下:GENERIC(常量名稱;數(shù)據(jù)類型:設(shè)置值;常數(shù)名稱:資料類型:設(shè)定;6,庫IEEEUSE IEEE。STD_LOGIC_1164。ALLentity and 2 is generic(risew:time :=1ns;fallw:time :=1ns);port(a1:in STD _ logic;A0:in STD _ logic;z0:out STD _ logic);end entity and 2;示例2.2

4、 2輸入和語句的圖元說明,一般說明中定義的參數(shù)RISEW為上寬度,F(xiàn)ALLW為下寬度,每個為1 ns,這兩個參數(shù)用于模擬模塊設(shè)計。7、物理端口說明的典型寫入格式如下:PORT(端口名稱:端口模式數(shù)據(jù)類型;端口名:端口模式數(shù)據(jù)類型);端口名是設(shè)計者為實(shí)體的每個外部通道(系統(tǒng)插針)選擇的名稱,通常由幾個字母字符組成。端口模式(端口方向)是指數(shù)據(jù)在這些通道中的流動方式。也就是說,定義接腳是輸入還是輸出。數(shù)據(jù)類型表示從端口流出的數(shù)據(jù)的表示形式。3 .端口說明、8、圖2.5端口模式符號圖、IEEE 1076標(biāo)準(zhǔn)包中定義的4種常見端口模式、每個端口模式的功能和符號見表2.1和圖2.5。表2.1端口模式說明

5、,9,PORT(n0,n1,select:IN BIT;問:outbitbus:outbit _ vector(7 down to 0);示例2.3端口模式和數(shù)據(jù)類型定義,說明:n0,n1,select是輸入插針,屬于位類型。q是輸出針腳,位類型。Bus是屬于BIT_VECTOR的一組8位二進(jìn)制總線。10,庫IEEEuseieee . STD _ logic . 1164 . all;ENTITY mm IS PORT(n0,n1,select:in STD _ logic;問:outstd _ logicbus:out STD _ logic _ vector(7 down to 0);EN

6、D ENTITY mm;示例2.4端口模式和IEEE庫數(shù)據(jù)類型定義。在此范例中,連接埠資料類型來自具有資料類型和函數(shù)描述的IEEE標(biāo)準(zhǔn)資源庫。其中STD_LOGIC采用值 0 、 1 、 x 和 z 。因為使用了庫,所以在實(shí)體說明前添加庫說明語句。,11,2.2.2結(jié)構(gòu),結(jié)構(gòu)是設(shè)計實(shí)體的重要組成部分,結(jié)構(gòu)具體實(shí)現(xiàn)了一個實(shí)體。結(jié)構(gòu)不能單獨(dú)存在,必須有一個接口說明,即一個實(shí)體。對于具有多個結(jié)構(gòu)的本體,您必須使用建構(gòu)陳述式指示要在模擬中使用的結(jié)構(gòu)和結(jié)構(gòu)。也就是說,對于合并后可以映射到硬件回路的設(shè)計實(shí)體,一個實(shí)體僅對應(yīng)于一個結(jié)構(gòu)體。如果回路中的實(shí)體表示一個設(shè)備符號,則核心層描述此符號的內(nèi)部行為。12,

7、ARCHITECTURE核心名稱OF entity name IS 描述語-定義BEGIN 功能描述語 END ARCHITECTURE 核心名稱 核心名稱-內(nèi)部信號、常數(shù)、數(shù)據(jù)類型、函數(shù)等,1 .結(jié)構(gòu)語句格式,13,ENTITY mux IS PORT(a0,a1:in bit;sel:in bit;sh:outbit);END mux;architecture data flow of mux is beginsh=(A0 and sel)or(not sel and a1);END dataflow;prod 2.5結(jié)構(gòu)的說明,14,結(jié)構(gòu)的說明語句是“信號”(SIGNAL)、“數(shù)據(jù)類型”

8、(TYPE)、“常數(shù)”(CONSTANT)和“元件”(COMPONENT),將在結(jié)構(gòu)的功能說明語句中使用在一個結(jié)構(gòu)中描述和定義的數(shù)據(jù)類型、常量、組件、函數(shù)的數(shù)量和進(jìn)程只能在此結(jié)構(gòu)中使用,如果要在其他實(shí)體或結(jié)構(gòu)中使用,則必須將其視為包。2 .結(jié)構(gòu)說明門,15,3。功能說明敘述句說明設(shè)計個體的特定行為:(1)平行敘述句:平行敘述句一律在處理作業(yè)敘述句(PROCESS)之外,敘述句執(zhí)行一律同時執(zhí)行,不論其寫入順序為何。(2)順序語句:順序語句始終位于按順序執(zhí)行的進(jìn)程語句(PROCESS)內(nèi)部。結(jié)構(gòu)可以包含多種類型的子結(jié)構(gòu)說明,如BLOCK說明、PROCESS說明和SUNPROGRAMS(子程序)說明

9、。16,塊語句是由一系列并行執(zhí)行語句組成的組合體,這些并行執(zhí)行語句構(gòu)成結(jié)構(gòu)的并行語句是一個或多個模塊。進(jìn)程語句定義用于將從外部獲取的信號值或內(nèi)部運(yùn)算數(shù)據(jù)分配給其他信號的順序語句模塊。子程序調(diào)用語句用于調(diào)用設(shè)計的子程序。信號賦值語句將設(shè)計主體內(nèi)的處理結(jié)果賦予定義的信號或邊界面端口。元件實(shí)例語句提供了對其它設(shè)計實(shí)例的元件調(diào)用說明。17,使用BLOCK語句描述的格式如下:塊標(biāo)簽:BLOCK BEGIN END BLOCK 塊標(biāo)簽;1) BLOCK塊語句,18,ENTITY mux IS PORT (d0,D1,sel:IN BIT;問:outbit);END mux;architecture con

10、nect of mux is signal tmp 1、tmp2、t MP3:bit;begin cale:block begin tmp 1=d0 and sel;Tmp 2=D1 and(非sel);Tmp3=tmp1 OR tmp22;Q=t MP3END BLOCK cale;END connect;示例2.6塊語句實(shí)現(xiàn)的第二選擇電路、19、進(jìn)程描述格式如下:進(jìn)程名:進(jìn)程(信號1、信號2、)beginend process進(jìn)程名;進(jìn)程語句始終具有信號變量(敏感變量),僅當(dāng)信號變量發(fā)生更改時,進(jìn)程才會啟動,以從上到下的順序運(yùn)行進(jìn)程中的語句一次,然后返回到執(zhí)行完成時啟動的PROCESS語句

11、。2)進(jìn)程語句說明,20,實(shí)體mu x2 is port (d0,D1,sel:in bit;問:outbit);END mux2;architecture connect of mux 2 is begin cale:process(d0,D1,sel) variable tmp 1,tmp2,t MP3:bit;begin tmp 1:=d0 and sel;Tmp 2:=D1 and(非sel);tmp 3:=tmp 1 or tmp 2;Q=t MP3 end process caleEND connect;示例2.7由進(jìn)程語句實(shí)現(xiàn)的第二選擇電路、21、子程序是在主程序調(diào)用它后,將處理

12、結(jié)果返回到主序列。VHDL有兩種類型:過程和函數(shù)。過程語句PROCEDURE過程名(參數(shù)1,參數(shù)2)為“語句定義”;BEGIN 順序處理語句;END過程名;3)副程式陳述式說明,22,函數(shù)陳述式FUNCTION函數(shù)名稱(引數(shù)1,引數(shù)2)RETURN資料類型名稱IS 定義陳述式;BEGIN 順序處理語句 RETURN 返回變量名 END函數(shù)名;23,F(xiàn)UNCTION min(x,y:integer)return integer is begin if x return 1 ;When 1 =return 0 0When z =return z zEnd caseEnd invertEnd log

13、ic,示例2.11程序包體、32、配置為在多個結(jié)構(gòu)中為一個實(shí)體指定結(jié)構(gòu)。例如,成為RS觸發(fā)器的對象使用兩個結(jié)構(gòu)來研究每個結(jié)構(gòu)所描述的RS觸發(fā)器的行為性能,但實(shí)際上在模擬中使用哪個結(jié)構(gòu)的問題是配置問題。配置語句格式CONFIGURATION配置名稱OF entity name IS 說明語句 END配置名稱;3.7.3配置,33,entity RS is port (set,reset:IN BIT;q,QB:緩沖位);END rs;architecture rsf f1 of RS is component NAND 2 port(a,b:in bit;c:outbit);END COMPONENT;Beginu1: nand2 portmap (a=set,b=qb

溫馨提示

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

最新文檔

評論

0/150

提交評論