第四章VHDL語言的庫程序包及配置_第1頁
第四章VHDL語言的庫程序包及配置_第2頁
第四章VHDL語言的庫程序包及配置_第3頁
第四章VHDL語言的庫程序包及配置_第4頁
第四章VHDL語言的庫程序包及配置_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1VHDL語言的庫、程序包及配置4VHDL語言的庫、程序包及配置

在VHDL設(shè)計(jì)實(shí)體中,除了實(shí)體說明和結(jié)構(gòu)體外,還有庫、程序包和配置三個(gè)各自獨(dú)立的組成部分。依據(jù)VHDL語言的規(guī)則,VHDL程序所使用的文字、數(shù)據(jù)對(duì)象、數(shù)據(jù)類型都需要預(yù)先定義。

將預(yù)先定義好的數(shù)據(jù)類型、元件調(diào)用聲明及一些常用子程序收集在一起,形成程序包,供VHDL設(shè)計(jì)實(shí)體共享和調(diào)用。若干個(gè)程序包則形成庫。

2

庫(Library)是用于存放預(yù)先設(shè)計(jì)好的程序包和數(shù)據(jù)的集合體。

VHDL語言的庫、程序包及配置

4.1VHDL庫

1.常用的庫

VHDL語言中常用的五種庫:

IEEE庫②

STD庫③

WORK庫④

VITAL庫⑤

用戶自定義庫

——VHDL語言設(shè)計(jì)中最常見的庫。

——VHDL語言的標(biāo)準(zhǔn)庫。

——用戶的VHDL語言工作庫。

——VHDL語言的時(shí)序仿真庫。

——用戶自定義的資源庫。

3VHDL語言的庫、程序包及配置4VHDL語言的庫、程序包及配置

2.資源庫和設(shè)計(jì)庫

VHDL語言所使用的庫可以分成兩類:

●資源庫

●設(shè)計(jì)庫

用于存放常規(guī)元件、標(biāo)準(zhǔn)模塊、預(yù)定義數(shù)據(jù)類型等,如:IEEE庫。

是一種符合VHDL標(biāo)準(zhǔn)的預(yù)定義庫。

如:STD庫定義了一些基本的數(shù)據(jù)類型、子類型和函數(shù)等;WORK庫存放用戶設(shè)計(jì)和定義的設(shè)計(jì)單元及程序包等。

5VHDL語言的庫、程序包及配置

3.庫的使用

關(guān)鍵字:LIBRARY格式:LIBRARY

庫名稱

庫說明語句:

說明:用來指明所使用的庫,庫名稱為一系列由逗號(hào)分隔的庫名。

庫說明語句總是位于設(shè)計(jì)實(shí)體的最前面,通常與USE語句一起使用。

6VHDL語言的庫、程序包及配置

3.庫的使用

格式1:USE

庫名.程序包名.項(xiàng)目名;

USE語句用來指明庫中的程序包,有兩種格式:

作用:為本設(shè)計(jì)實(shí)體開放指定庫中的特定程序包內(nèi)所選定的項(xiàng)目。

例如:LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.STD_ULOGIC;

USEIEEE.STD_LOGIC_1164.RISING_EDGE;

7VHDL語言的庫、程序包及配置

3.庫的使用

格式2:USE

庫名.程序包名.ALL;

作用:為本設(shè)計(jì)實(shí)體開放指定庫中的特定程序包內(nèi)所有的內(nèi)容。

例如:LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

8在VHDL語言中,用戶可以將已定義的常數(shù)、信號(hào)、函數(shù)、數(shù)據(jù)類型、元件和子程序等收集在一起形成一個(gè)程序包,以便更多的設(shè)計(jì)實(shí)體利用和共享。VHDL語言的庫、程序包及配置

4.2VHDL程序包

定義程序包的一般語句格式:

PACKAGE

程序包IS

程序包首說明

END

程序包名;

PACKAGEBODY

程序包IS

程序包體說明

END

程序包名;

程序包首程序包體9

程序包首收集了VHDL設(shè)計(jì)所需的公共信息,用來定義數(shù)據(jù)類型、元件和子程序等。

VHDL語言的庫、程序包及配置

1.程序包首

一般格式:

PACKAGE

程序包IS

TYPE語句;

SUBTYPE語句;

CONSTANT語句;

SIGNAL語句;

COMPONENT語句;

FUNCTION語句;

SUBPROGRAM語句;

END

程序包名;

——用來定義數(shù)據(jù)類型——用來定義子類型

——用來定義常數(shù)

——用來定義信號(hào)

——用來定義元件

——用來定義函數(shù)

——用來定義子程序

10VHDL語言的庫、程序包及配置

【例4.1】定義程序包。

PACKAGEmy_pkgIS

TYPEbyteIS

RANGE0TO255;

SUBTYPEnibyteISbyteRANGE0TO15;

CONSTANTbyte_ff:

bcd:=255;

SIGNALaddend:nibabc;

COMPONENTbyte_adder

PORT(a,b:INbyte;c:OUTbyte;overflow:OUTBOOLEAN);

ENDCOMPONENT;

FUNCTIONmy_fun(a:INbyte)RETURNbyte;

ENDmy_pkg;

程序清單:--程序包首,程序包名為my_pkg--

定義數(shù)據(jù)類型,byte的范圍0~255--定義子類型nibyte--定義常數(shù)byte_ff--定義信號(hào)addend--定義元件byte_adder--定義函數(shù)my_fun11

用來描述已在程序包首中定義過的元件和子程序的內(nèi)容。

VHDL語言的庫、程序包及配置

2.程序包體

一般格式:

PACKAGEBODY

程序包IS

程序包體說明

END

程序包名;

程序包體說明可以是USE語句、子程序定義、子程序體、數(shù)據(jù)類型說明、子類型說明和常數(shù)說明等。12

常用的預(yù)定義的程序包有:

VHDL語言的庫、程序包及配置

3.VHDL常用的程序包

STD_LOGIC_1164

STD_LOGIC_ARITH

STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED

④STANDARD和TEXTIO13

配置是將特定的結(jié)構(gòu)體與一個(gè)確定的實(shí)體相關(guān)聯(lián),為大型系統(tǒng)的設(shè)計(jì)提供管理和工程組織。

配置是設(shè)計(jì)實(shí)體VHDL語言描述的組成部分之一,但不是必不可少的。常用來描述層與層之間、實(shí)體與結(jié)構(gòu)體之間的連接關(guān)系。

VHDL語言的庫、程序包及配置

4.3配置

配置可分為三種類型:

●默認(rèn)配置

●元件配置

●結(jié)構(gòu)體配置

14

默認(rèn)配置是一種最為簡單的配置,當(dāng)設(shè)計(jì)實(shí)體中不含有任何其他元件和塊語句時(shí),可以使用默認(rèn)配置。

VHDL語言的庫、程序包及配置

1.默認(rèn)配置

基本格式:

CONFIGURATION

配置名OF

實(shí)體名IS

FOR

選配結(jié)構(gòu)體名;

ENDFOR;

END

配置名;

15

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYCOUNTERIS

PORT(CLK,CLR:INSTD_LOGIC;

Q:OUTINTEGER);

ENDCOUNTER;VHDL語言的庫、程序包及配置【例4.2】設(shè)計(jì)兩個(gè)計(jì)數(shù)位寬分別為4位和8位的計(jì)數(shù)器。

設(shè)兩個(gè)計(jì)數(shù)器具有相同的功能和外部結(jié)構(gòu),只是計(jì)數(shù)位寬不同。用一個(gè)計(jì)數(shù)器實(shí)體來實(shí)現(xiàn)兩個(gè)不同結(jié)構(gòu)體的配置。

程序清單:

計(jì)數(shù)器的實(shí)體

16VH煉DL語言對(duì)的庫謝、程欠序包愁及配及置【例4.秒2】設(shè)計(jì)乓兩個(gè)嫌計(jì)數(shù)鞋位寬廉分別隊(duì)為4位和8位的平計(jì)數(shù)菠器。程序逝清單戀:AR涼CH錢IT期EC壁TU言RECO賊UN繪T4OFCO羨UN嗎TE鴉RISBE谷GI鹽NPR殊OC訪ES黎S(C半LK黎)VA主RI閃AB砌LEQQ蝴:懂IN丑TE作GE身R:抬=0;BE喂GI傘NIFCL拜R=啊'0老'TH縣ENQQ掙:=0;EL討SI訊F(C恢LK薦'袋EV炎EN吳TAN漲DCL巴K=壤'1座')TH肚ENIFQQ得=1堪5TH盤ENQQ偵:=0;EL留SEQQ賴:=QQ域+1;EN饒D呀I防F;EN吹D泥I掙F;Q<=QQ;EN尋D宣P纖RO車CE掃SS;EN覆DCO攤UN長T4;計(jì)數(shù)目器CO房誠UN顫T4的結(jié)縱構(gòu)體17VH割DL語言這的庫供、程獅序包召及配狡置【例4.出2】設(shè)計(jì)盈兩個(gè)巡壽計(jì)數(shù)涌位寬呆分別恒為4位和8位的匪計(jì)數(shù)等器。程序呈清單供:AR底CH址IT李EC減TU詠RECO壺UN齊T8OFCO習(xí)UN懂TE墊RISBE幟GI籮NPR棚OC拋ES犯S(C遺LK爛)VA濟(jì)RI啟AB膊LEQQ油:膽IN堪TE捧GE黎R:嘉=0;BE棉GI妥NIFCL剝R=廁'0趨'TH爐ENQQ梳:=0;EL無SI真F(C五LK如'錢EV挨EN望TAN掠DCL想K=懸'1渠')TH召ENIFQQ濫=2港55TH徹ENQQ滲:=0;EL潑SEQQ每:=QQ深+1;EN談D墊I你F;EN屬D窮I覺F;Q<=QQ;EN以D依P坡RO晴CE寫SS;EN啦DCO市UN拾T8;計(jì)數(shù)倆器CO援UN胞T8的結(jié)們構(gòu)體18VH裁DL語言聽的庫避、程獵序包恨及配菌置【例4.巷2】設(shè)計(jì)肉兩個(gè)去計(jì)數(shù)亡位寬永分別譽(yù)為4位和8位的巖計(jì)數(shù)豎器。程序加清單漢:CO糕NF咱IG逗UR浙AT壟IO規(guī)NCO分UN盛T_炮4OFCO庫UN厭TE臭RISFO須RCO茄UN楊T4EN候D沿F魔OR;EN侮DCO骨UN榮T_愛4;CO幟NF小IG齊UR朵AT濕IO夢(mèng)NCO紫UN久T_冬8OFCO客UN述TE秧RISFO休RCO胸UN轎T8EN率D鋤F皺OR;EN努DCO幣UN喘T_援8;計(jì)數(shù)仁器的帽配置19當(dāng)結(jié)美構(gòu)體冠中含西有多贊個(gè)引各用元滑件時(shí)歲,可守以采恥用元?dú)灱湫钪?,瞞以指習(xí)明引浪用元疫件的始具體摸位置兼。VH斃DL語言紗的庫玻、程騰序包宅及配厲置2.元件衛(wèi)配置格式察:CO咸N(yùn)F便IG榨UR舞AT責(zé)IO起N配置披名OF實(shí)體雀名ISFO栗R選配貸結(jié)構(gòu)筐體名FO渴R元件施例化挑標(biāo)號(hào):元件吊名US招E嚴(yán)CO拌NF講IG小UR視AT少IO億N庫名.元件劇配置醉名;或US注E際E剃NT膠IT否Y庫名.實(shí)體妖名(型結(jié)構(gòu)六體名芬);EN懼D濫F胞OR;…EN臘D屑F府OR;EN步D配置惱名;20CO縮慧NF評(píng)IG蘇UR貢AT兆IO賢Nmu英x_仙c責(zé)fgOFmu海x2抓1ISFO董Rst富ru事ct接ur爛eFO暖RU2,U3叨:植a貪nd鹿2US惕ECO怪NF算IG策UR說AT兼IO頓N擇W素OR茫K.細(xì)an讓d2止_c守fg;EN蓬D既F烘OR;FO渡RU4粗:爽o像r2US烤ECO阻NF夢(mèng)IG齊UR犁AT吐IO指N燃W越OR漂K.盲or悠2_培cf燃g;EN捎D工F捆OR;EN份D雷F活OR;EN朝Dmu扛x_盜c集fg;VH進(jìn)DL語言揉的庫憑、程盼序包搖及配詞置【例4.項(xiàng)3】給例5.墳3.漫3中的傘二選券一數(shù)您據(jù)選騎擇器凈進(jìn)行柔元件帽配置屢。程序賽清單肝:21結(jié)構(gòu)飾體配床置與呈元件脾配置商具有管相同欠的特傍征,尤都是繼對(duì)結(jié)勾構(gòu)體小中所肚引用僑

溫馨提示

  • 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)論