版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
(優(yōu)選)數(shù)據(jù)類型語(yǔ)法第一頁(yè),共40頁(yè)。二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象在VHDL程序中,我們經(jīng)常會(huì)遇到這樣的語(yǔ)句:
SignalA:std_logic;VariableB:std_logic_vector(7downto0);
ConstantC:integer;數(shù)據(jù)對(duì)象類型數(shù)據(jù)類型數(shù)據(jù)對(duì)象名第二頁(yè),共40頁(yè)。VHDL語(yǔ)言中的基本數(shù)據(jù)類型邏輯類型數(shù)值類型布爾代數(shù)(Boolean)位(Bit)標(biāo)準(zhǔn)邏輯(Std_Logic)整數(shù)(Integer)實(shí)數(shù)(Real)二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第三頁(yè),共40頁(yè)。
邏輯數(shù)據(jù)類型
(1)布爾代數(shù)(Boolean)型;(2)位(Bit);(3)標(biāo)準(zhǔn)邏輯(Std_logic);typeBITis(‘0’,‘1’);typeBOOLEANis(FALSE,TRUE);二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第四頁(yè),共40頁(yè)。標(biāo)準(zhǔn)邏輯類型
TypeStd_LogicIs(‘U’,--Undefined(未初始化)
‘X’,--ForcingUnknown(強(qiáng)未知)‘0’,--Forcing0(強(qiáng)0)
‘1’,--Forcing1(強(qiáng)1)
‘Z’,--HignImpedance(高阻)
‘W’,--WeakUnknown(弱未知)
‘L’,--Weak0(弱0)
‘H’,--Weak1(弱1)
‘-’,--Don’tCare(忽略))二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象
標(biāo)準(zhǔn)邏輯類型對(duì)數(shù)字邏輯電路的邏輯特性描述更加完整,真實(shí),因此在VHDL程序中,對(duì)邏輯信號(hào)的定義通常采用標(biāo)準(zhǔn)邏輯類型.第五頁(yè),共40頁(yè)。
邏輯序列位序列(Bit_Vector)
標(biāo)準(zhǔn)邏輯序列(Std_Logic_Vector)二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第六頁(yè),共40頁(yè)。Signaldata:Std_Logic_Vector(7downto0);Signaladdr:Bit_Vector(0to3);序列的范圍大小聲明方式:To,Downto
序列的使用二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第七頁(yè),共40頁(yè)。
序列的分解與合成SignalA:Std_Logic_Vector(3downto0);SignalB:Std_Logic_Vector(0to3);SignalC:Std_Logic_Vector(0to1);SignalD:Std_Logic_Vector(1downto0);C<=A(2downto1);B<=A(3)&
D
&
‘1’;二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第八頁(yè),共40頁(yè)。
數(shù)值類型(1)整數(shù)TypeIntegerIsRange-231~231-1
限定整數(shù)取值范圍的方法:SignalA:Integer;SignalB:IntegerRange0to7;SignalC:IntegerRange-1to1;二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第九頁(yè),共40頁(yè)。
無(wú)符號(hào)數(shù)Unsigned與標(biāo)準(zhǔn)邏輯序列相似,聲明時(shí)必須指明其位數(shù)。SignalA:Unsigned(3downto0);SignalB:Unsigned(7downto0);注意:必須使用downto形式。二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第十頁(yè),共40頁(yè)。(2)實(shí)數(shù)TypeRealIsRange-1.7E38to1.7E38;
實(shí)數(shù)類型的表示可用科學(xué)計(jì)數(shù)形式或者帶小數(shù)點(diǎn)的形式。二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第十一頁(yè),共40頁(yè)。VHDL中的運(yùn)算符二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象
算術(shù)運(yùn)算符:
+ 加
- 減
* 乘
/ 除
** 乘方
mod 求模
rem 求余
abs 求絕對(duì)值
邏輯運(yùn)算:
and
邏輯與
or
邏輯或
nand
與非
nor
或非
xor
異或
xnor 同或
not
邏輯非第十二頁(yè),共40頁(yè)。關(guān)系運(yùn)算符:
= 等于
/= 不等于
< 小于
<= 小于或等于
> 大于
>= 大于或等于注:其中‘<=’操作符也用于表示信號(hào)的賦值操作。
&
連接符,將兩個(gè)數(shù)據(jù)對(duì)象或矢量連接成維數(shù)更大的矢量,它可給代碼書(shū)寫(xiě)帶來(lái)方便。例如:
vabc=a&b&c;如果a=‘1’
,b=‘0’
,c=‘1’
,則
vabc=“101”
。二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第十三頁(yè),共40頁(yè)。
用戶自定義數(shù)據(jù)類型:(1)列舉數(shù)據(jù)類型Type列舉名稱is(元素1,元素2,…)例子:Typestateis(S0,S1,S2,S3);SignalA:state;二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第十四頁(yè),共40頁(yè)。(2)數(shù)組類型
Type數(shù)組名稱isArray(范圍)of數(shù)據(jù)類型;例子:
TypeByteisArray(7downto0)ofBit;Signalsdo:Byte;二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第十五頁(yè),共40頁(yè)。
數(shù)據(jù)類型的轉(zhuǎn)換
在VHDL語(yǔ)言里,不同類型的數(shù)據(jù)信號(hào)之間不能互相賦值。當(dāng)需要不同類型數(shù)據(jù)之間傳遞信息時(shí),就需要類型轉(zhuǎn)換函數(shù)將其中的一種類型數(shù)據(jù)轉(zhuǎn)換為另一中數(shù)據(jù)類型后,再進(jìn)行信號(hào)的傳遞。二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第十六頁(yè),共40頁(yè)。例如:SignalY:Std_logic_vector(7downto0);SignalX:Integerrange0to255;Y<=CONV_STD_LOGIC_VECTOR(X,8);二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第十七頁(yè),共40頁(yè)。CONV_INTEGER
將數(shù)據(jù)類型UNSIGNED,SIGNED轉(zhuǎn)換為INTEGER
類型.CONV_UNSIGNED
將數(shù)據(jù)類型INTEGER,SIGNED轉(zhuǎn)換為UNSIGNED
類型.CONV_SIGNED
將數(shù)據(jù)類型INTEGER,UNSIGNED轉(zhuǎn)換為SIGNED類型. CONV_STD_LOGIC_VECTOR
將數(shù)據(jù)類型INTEGER,UNSIGNED,SIGNED,STD_LOGIC轉(zhuǎn)換為STD_LOGIC_VECTOR
類型.
二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第十八頁(yè),共40頁(yè)。
數(shù)據(jù)對(duì)象常量信號(hào)變量(DataObjects)二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第十九頁(yè),共40頁(yè)。(1)常量
定義格式:Constant常量名稱:數(shù)據(jù)類型:=給定值;常量通常來(lái)來(lái)定義延遲和功耗等參數(shù)。
注意!常數(shù)定義的同時(shí)進(jìn)行賦初值。
常數(shù)可以在實(shí)體說(shuō)明、結(jié)構(gòu)體描述中使用。二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第二十頁(yè),共40頁(yè)。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;--必需定義+entityexam1is
port(ip:instd_logic_vector(3downto0);op:outstd_logic_vector(3downto0));endexam1;architecturem1ofexam1isconstantnum:integer:=6;beginop<=ip+num;endm1;二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第二十一頁(yè),共40頁(yè)。(2)信號(hào)定義格式Signal信號(hào)名稱:數(shù)據(jù)類型[:=初始值];信號(hào)相當(dāng)于電路內(nèi)部元件之間的物理連線,因此信號(hào)的賦值有一定的延遲時(shí)間.二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第二十二頁(yè),共40頁(yè)?!靶盘?hào)”數(shù)據(jù)對(duì)象,代表電路內(nèi)部信號(hào)或連接線路,其在元件之間起互連作用。注意!信號(hào)定義的時(shí)候盡管可以直接賦初值,但系統(tǒng)往往忽略。建議信號(hào)對(duì)象定義后再進(jìn)行賦值。信號(hào)為全局量。在實(shí)體說(shuō)明、結(jié)構(gòu)體描述和程序包說(shuō)明中使用。信號(hào)賦值的語(yǔ)法格式為:信號(hào)名<=表達(dá)式;如:SignalS1:Std_logic_vector(3Downto0);
S1<=“0000”;二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第二十三頁(yè),共40頁(yè)。(3)變量
定義格式Variable變量名稱:數(shù)據(jù)類型[:=初始值];
變量只能用于“進(jìn)程”
之中,變量的賦值是立即生效的,常用于高層次抽象的算法描述
當(dāng)中。二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第二十四頁(yè),共40頁(yè)?!白兞俊睌?shù)據(jù)對(duì)象,它用于對(duì)中間數(shù)據(jù)的臨時(shí)存儲(chǔ),并不一定代表電路的某一組件。注意!變量定義的時(shí)候盡管可以直接賦初值,但系統(tǒng)往往忽略。建議變量對(duì)象定義后再進(jìn)行賦值。變量為局部量。僅限于進(jìn)程(Process)或子程序中使用。變量賦值的語(yǔ)法格式為:目標(biāo)變量:=表達(dá)式;如:VariableS1:Std_logic_vector(3Downto0);
S1
:=“0000”;二、VHDL數(shù)據(jù)類型與數(shù)據(jù)對(duì)象第二十五頁(yè),共40頁(yè)。信號(hào)和變量的比較
(1)信號(hào)和變量的對(duì)應(yīng)關(guān)系不同:信號(hào)代表電路內(nèi)部信號(hào)或連接線路;而變量則不是。
(2)信號(hào)和變量聲明的位置不同:信號(hào)聲明在子程序、進(jìn)程的外部;而變量聲明在子程序、進(jìn)程的內(nèi)部。
(3)信號(hào)為全局量,而變量只在定義它的域中才可見(jiàn)。因此,變量不能在兩個(gè)進(jìn)程之間傳遞信息。
(4)在一個(gè)進(jìn)程中多次為一個(gè)信號(hào)賦值時(shí),只有最后一個(gè)值會(huì)起作用;而變量則不同,每次賦值都會(huì)改變它的值。(5)賦值不同。在進(jìn)程中,信號(hào)賦值只有在進(jìn)程結(jié)束時(shí)起作用,而變量賦值是立即進(jìn)行的。而且賦值符號(hào)不同:信號(hào)賦值為“<=”,變量賦值為“:=”。第二十六頁(yè),共40頁(yè)。數(shù)據(jù)對(duì)象屬性(1)數(shù)值類屬性:(數(shù)組類型的數(shù)據(jù)對(duì)象)數(shù)值類屬性有
’left,’right,’low,’high,’length。其中用符號(hào)
’
隔開(kāi)對(duì)象名及其屬性。
left表示數(shù)組的左邊界;
right表示數(shù)組的右邊界;
low表示數(shù)組的下邊界;
high表示數(shù)組的上邊界;
length表示數(shù)組的長(zhǎng)度。第二十七頁(yè),共40頁(yè)。如:SignalA:std_logic_vector(7downto0);SignalB:std_logic_vector(0to3);則這兩個(gè)信號(hào)的屬性值分別為:
A’left=7;A’right=0;A’low=0;A’high=7;A’length=8;B’left=0;B’right=3;B’low=0;B’high=3;B’length=4;數(shù)據(jù)對(duì)象屬性第二十八頁(yè),共40頁(yè)。(2)’event屬性:
’event屬性,它的值為布爾型,如果剛好有事件發(fā)生在該屬性所附著的信號(hào)上(即信號(hào)有變化),則其取值為T(mén)rue,否則為False。
利用此屬性可識(shí)別時(shí)鐘信號(hào)的變化情況,即時(shí)鐘是否發(fā)生。
數(shù)據(jù)對(duì)象屬性第二十九頁(yè),共40頁(yè)。例如:時(shí)鐘邊沿表示:
signalclk:instd_logic;If(clk’eventandclk=’1’)thenQ<=Q+1;
則clk’eventandclk=’1’表示時(shí)鐘的上升沿。即時(shí)鐘變化了,且其值為1。
clk’eventandclk=’0’表示時(shí)鐘的下降沿。即時(shí)鐘變化了,且其值為0。數(shù)據(jù)對(duì)象屬性第三十頁(yè),共40頁(yè)。例2:設(shè)計(jì)組合邏輯電路設(shè)計(jì)一個(gè)1bit全加器。輸入X,Y,CI輸出Z,CO第三十一頁(yè),共40頁(yè)。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityfull_bit_adderisport(a,b,ci:instd_logic;y,cout:outstd_logic);endfull_bit_adder;第三十二頁(yè),共40頁(yè)。architecturebh1offull_bit_adderisbeginy<=((nota)and(notb)andci)or((nota)and(b)and(notci))or((a)and(notb)and(notci))or((a)and(b)and(ci));cout<=(bandci)or(aandci)or(aandb);endbh1;第三十三頁(yè),共40頁(yè)。architecturebh2offull_bit_adderisbeginy<=axorbxorci;cout<=(aandb)or(aandci)or(bandci);endbh2;configurat
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年深圳證券交易所人才引進(jìn)備考題庫(kù)及一套完整答案詳解
- 111.《多模態(tài)數(shù)據(jù)標(biāo)注工具在智能穿戴醫(yī)療設(shè)備中的應(yīng)用測(cè)試》
- 2025中國(guó)城市軌道交通國(guó)創(chuàng)城軌發(fā)展規(guī)劃
- 2025年河南建筑職業(yè)技術(shù)學(xué)院公開(kāi)招聘工作人員備考題庫(kù)及1套參考答案詳解
- 122.《元宇宙環(huán)境光照編程計(jì)算測(cè)評(píng)》
- 設(shè)計(jì)施工方案軟件(3篇)
- 舊宅復(fù)墾施工方案(3篇)
- 樹(shù)木施工方案范本(3篇)
- 施工方案5000字(3篇)
- 五拱橋施工方案(3篇)
- 2025天津大學(xué)管理崗位集中招聘15人備考考試題庫(kù)及答案解析
- 2025浙江金華市義烏市機(jī)關(guān)事業(yè)單位編外聘用人員招聘(20250401)備考筆試試題及答案解析
- 2025湖南工程機(jī)械行業(yè)市場(chǎng)現(xiàn)狀供需調(diào)研及行業(yè)投資評(píng)估規(guī)劃研究報(bào)告
- 三年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)附答案集錦
- 幼兒園冬至主題活動(dòng)課件
- 火鍋店鋪運(yùn)營(yíng)方案
- 《JBT 6402-2018 大型低合金鋼鑄件 技術(shù)條件》(2026年)實(shí)施指南
- 會(huì)計(jì)博士面試題庫(kù)及答案
- 2025年阿克蘇輔警招聘考試真題附答案詳解(綜合卷)
- 山東省煙臺(tái)市招遠(yuǎn)市(五四學(xué)制)2024-2025學(xué)年八年級(jí)上學(xué)期語(yǔ)文期末考試試卷(含答案)
- 雨課堂學(xué)堂在線學(xué)堂云《愛(ài)上國(guó)樂(lè)(東華理大 )》單元測(cè)試考核答案
評(píng)論
0/150
提交評(píng)論