VHDL語(yǔ)言數(shù)據(jù)類(lèi)型及相互轉(zhuǎn)換_第1頁(yè)
VHDL語(yǔ)言數(shù)據(jù)類(lèi)型及相互轉(zhuǎn)換_第2頁(yè)
VHDL語(yǔ)言數(shù)據(jù)類(lèi)型及相互轉(zhuǎn)換_第3頁(yè)
VHDL語(yǔ)言數(shù)據(jù)類(lèi)型及相互轉(zhuǎn)換_第4頁(yè)
VHDL語(yǔ)言數(shù)據(jù)類(lèi)型及相互轉(zhuǎn)換_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型

1,整數(shù)(INTEGER)

范圍:-2147483547---2147483646

2,實(shí)數(shù)(REAL)

范圍:-1.0E38---1.0E38(綜合器不支持)

書(shū)寫(xiě)時(shí)一定要有小數(shù).

3,位(BIT)

在數(shù)字系統(tǒng)中,信號(hào)經(jīng)常用位的值表示,位的值用帶單引號(hào)的'1'和'0'來(lái)表示

標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型

4,位矢量(BIT_VECTOR)

位矢量是用雙引號(hào)括起來(lái)的一組位數(shù)據(jù)

"010101"

5,布爾量(BOOLEAN)

只有"真"和"假"兩個(gè)狀態(tài),可以進(jìn)行關(guān)系運(yùn)算

6,字符(CHARACTER)

字符量通常用單引號(hào)括起來(lái),對(duì)大小寫(xiě)敏感

明確說(shuō)明1是字符時(shí):CHARACTER'('1')

標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型

7,字符串(STRING)

字符串是雙引號(hào)括起來(lái)的由字母,數(shù)字或@,%,$組成的一串字符.區(qū)分大小寫(xiě)

"laksdklakld""1010101010"

8,時(shí)間(TIME)

時(shí)間的單位:fs,ps,ns,ms,sec,min,hr

例:10ns

整數(shù)數(shù)值和單位之間應(yīng)有空格

標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型

9,錯(cuò)誤等級(jí)(SEVERITYLEVEL)

在VHDL仿真器中,錯(cuò)誤等級(jí)用來(lái)表示系統(tǒng)的狀態(tài),它共有4種:

NOTE(注意)

WARNING(警告)

ERROR(錯(cuò)誤)

FAILURE(失敗)

標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型

10,自然數(shù)(NATURAL)正整數(shù)(POSITIVE)

自然數(shù)是整數(shù)的一個(gè)子類(lèi)型,包括0和正整數(shù);正整數(shù)也是整數(shù)的一個(gè)子類(lèi)型.

只能是正整數(shù)數(shù)據(jù)除定義類(lèi)型外,有時(shí)還需要定義約束范圍.

INTEGERRANGE100DOWNTO0

BIT_VECTOR(3DOWNTO0)

REALIEEE定義的邏輯位與矢量

在IEEE的程序包std_logic_1164中定義了兩個(gè)非常重要的數(shù)據(jù)類(lèi)型:

1,std_logic

取值:0,1,Z,X,W,L,H

Z:高阻X:不定W:弱信號(hào)不定

L:弱信號(hào)0H:弱信號(hào)1

2,Std_logic_vector

注意

1,在使用"std_logic"和"std_logic_vector"時(shí),在程序中必須聲明庫(kù)及程序包說(shuō)明語(yǔ)句,即LIBRARYieee和std_logic_1164.ALL這兩句在程序中必不可少.

2,std_logic有多個(gè)取值,與BIT不同,在編程時(shí)應(yīng)特別注意,需要考慮全所有情況.

用戶自定義的數(shù)據(jù)類(lèi)型

1,枚舉類(lèi)型

格式:TYPE數(shù)據(jù)類(lèi)型名IS(元素,元素,…);

TYPESTD_LOGICIS

('U','X','0','1','Z','W','L','H','-');

TYPEweekIS(Sun,Mon,Tue,wed,Thu,Fri,Sat);

TYPEcolorIS(red,green,yellow,blue)

TYPElift_stateIS

(stopon1,doorpeen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,doorwait5,up,down,stop)

枚舉類(lèi)型的聲明

TYPEcolorIS(red,green,yellow,blue);

VARIABLEA:COLOR;

SIGNALB:COLOR;

A:=RED;

B<=YELLOW;

TYPEleverIS('0','1','z');

SIGNALV:lever;

V<='1';

用戶自定義的數(shù)據(jù)類(lèi)型

2,整數(shù)(INTEGER)

格式:TYPE數(shù)據(jù)類(lèi)型名IS數(shù)據(jù)類(lèi)型定義約束范圍

例TYPEdigitISINTEGERRANGE0TO9

VARIABLEA:DIGIT;

A:=5;

A:=28;

用戶自定義的數(shù)據(jù)類(lèi)型

3,實(shí)數(shù)(REAL)

格式:TYPE數(shù)據(jù)類(lèi)型名IS數(shù)據(jù)類(lèi)型定義約束范圍

TYPEcurrentISREALRANGE-1E4TO1E4

VARIABLEA:CURRENT;數(shù)據(jù)類(lèi)型的轉(zhuǎn)換

數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)有VHDL語(yǔ)言的包提供

例如:STD_LOGIC_1164,

STD_LOGIC_ARITH

STD_LOGIC_UNSIGNED等等

函數(shù)

說(shuō)明

1、STD_LOGIC_1164包

TO_STDLOGIC_VECTOR(A)

TO_BITVECTOR(A)

TO_LOGIC(A)

TO_BIT(A)

由BIT_VECTOR轉(zhuǎn)換成STD_LOGIC_VECTOR

由STD_LOGIC_VECTOR轉(zhuǎn)換成BIT_VECTOR

由BIT轉(zhuǎn)換成STD_LOGIC

由STD_LOGIC轉(zhuǎn)換成BIT

2、STD_LOGIC_ARITH包

CONV_STD_LOGIC_VECTOR(A,位長(zhǎng))

CONV_INTEGER(A)

由INTEGER,UNSIGNED和SIGNED轉(zhuǎn)換成

STD_LOGIC_VECTOR

由UNSIGNED和SIGNED轉(zhuǎn)換成INTEGER

3、STD_LOGIC_UNSIGNED包

CONV_INTEGER(A)

_

STD_LOGIC_VECTOR轉(zhuǎn)換成INTEGERVHDL屬性

VHDL沒(méi)有一般程序語(yǔ)言中的那些運(yùn)算類(lèi)標(biāo)準(zhǔn)函數(shù),取而代之的是多種能反映和影響硬件行為的屬性.屬性在描述時(shí)序電路的VHDL設(shè)計(jì)文件中幾乎處處可見(jiàn),如檢測(cè)上升沿,下降沿,知道前一次發(fā)生的事件.

VHDL屬性

屬性指的是關(guān)于實(shí)體,結(jié)構(gòu)體,類(lèi)型及信號(hào)的一些特征.有的屬性對(duì)綜合(設(shè)計(jì))非常有用.

VHDL的屬性可分為數(shù)值類(lèi)屬性,函數(shù)類(lèi)屬性,范圍類(lèi)屬性,信號(hào)類(lèi)屬性,類(lèi)型類(lèi)屬性.其引用的一般形式為:對(duì)象'屬性.

數(shù)值類(lèi)屬性

數(shù)值類(lèi)屬性用于返回?cái)?shù)組,塊或一般數(shù)據(jù)的有關(guān)值,如邊界,數(shù)組長(zhǎng)度等信息.對(duì)一般的數(shù)據(jù)有4種數(shù)值類(lèi)屬性:對(duì)象類(lèi)型的左邊界,右邊界,上邊界,下邊界,對(duì)應(yīng)的關(guān)鍵字是:LEFT,RIGHT,HIGH,LOW.數(shù)組在加一個(gè)長(zhǎng)度屬性LENGTH.

數(shù)值類(lèi)屬性

sdown:INstd_logic_vector(8DOWNTO0);

sup:INstd_logic-vector(0to8);

這兩個(gè)信號(hào)的各屬性值如下:

sdown'left=8;sdown'right=0;sdown'low=0;sdown'high=8;sdown'length=9;

sup'left=0;sup'right=8;sup'low=0;sup'high=8;sup'length=9;

數(shù)值類(lèi)屬性

TYPEbit32ISARRAY(63DOWNTO32)OFBIT

VARIABLE:left_range,right_range,up_range,low_range,len:INTEGER;

BEGIN

left-range:=bit32'LEFT;--return63

right-range:=bit32'RIGHT;--return32

up-range:=bit32'HIGH;--return63

low-range:=bit32'LOW;--return32

len:=bit32'LENGTH;--return32

函數(shù)類(lèi)屬性

信號(hào)屬性函數(shù)屬于函數(shù)類(lèi)屬性,用來(lái)返回有關(guān)信號(hào)行為功能的信息.共有5種信號(hào)屬性函數(shù),分別是:'EVENT(事件);'ACTIVE(活躍);

'LAST_EVENT(最近一次事件到現(xiàn)在經(jīng)過(guò)多少時(shí)間);'LAST_ACTIVE(最近一次活躍到現(xiàn)在經(jīng)過(guò)多少時(shí)間);'LAST_VALUE(信號(hào)變化前的取值是什么)

EVENT

EVENT:它的值為布爾型,取值為T(mén)RUE或FALSE;

如果剛好有事件發(fā)生在該屬性所附著的信號(hào)上(即信號(hào)有變化),取值為T(mén)RUE.

利用此屬性可決定時(shí)鐘邊沿是否有效,即時(shí)鐘是否發(fā)生.

EVENT

SIGNALclk:INstd_logic;

clk'EVENTANDclk='1'

clk='1'ANDclk'EVENT

clk'EVENTANDclk='0'

clk='0'ANDclk'EVENT

rising_edge(clk)falling_edge(clk)

EVENT和ACTIVE

EVENT要求信號(hào)值發(fā)生變化;1到0,0到1

ACTIVE信號(hào)值的任何變化,1到1,1到0,0到1,0到0;

所有的事件都是活躍,但并非所有的活躍都是事件

范圍類(lèi)屬性

'RANGE屬性,其生成一個(gè)限制性數(shù)據(jù)對(duì)象的范圍.

例SIGNALdata_bus:std_logic_vector(15DOWNTO0);

data_bus'RANGE=15downto0用VHDL語(yǔ)言設(shè)計(jì)分頻電路,把1KHZ的時(shí)鐘分至約1HZ左右的時(shí)鐘LIBRARYIEEE; USEIEEE.Std_Logic_1164.ALL; ENTITYFreDeviderIS PORT (Clkin:INStd_Logic; Clkout:OUTStd_Logic); END; ARCHITECTUREDeviderOFFreDeviderIS CONSTANTN:Integer:=499; signalcounter:Integerrange0toN; signalClk:Std_Logic; BEGIN PROCESS(Clkin)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論