版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、VHDL數(shù)據(jù)類型 VHDL是一種強數(shù)據(jù)類型語言。 要求設(shè)計實體中的每一個常數(shù)、信號、變量、函數(shù)以及設(shè)定的各種參量都必須具有確定的數(shù)據(jù)類型,并且相同數(shù)據(jù)類型的量才能互相傳遞和作用。 VHDL數(shù)據(jù)類型分為四大類: 1標(biāo)量類型(SCALAR TYPE);
2、 2復(fù)合類型(COMPOSITE TYPE); 3存取類型(ACCESS TYPE); 4文件類型(FILES TYPE)又分為: 1預(yù)定義數(shù)據(jù)類型、 2用戶自定義數(shù)據(jù)類型1、VHDL的預(yù)定義數(shù)據(jù)類型 1)布爾量(boolean)
3、; 布爾量具有兩種狀態(tài):false 和 true 常用于邏輯函數(shù),如相等(=)、比較(<) 等中作邏輯比較。 如,bit 值轉(zhuǎn)化成boolean 值: boolean_var := (bit_var = 1);2)位(bit) bit 表示一位的信號值。 放在單引號中,如 0 或 1。3)位矢量 (bit_
4、vector) bit_vector 是用雙引號括起來的一組位數(shù)據(jù)。 如: “001100” X“00B10B”4)字符(character) 用單引號將字符括起來。 variable character_var : character; . . Character
5、_var : = A;5)整數(shù)(integer) integer 表示所有正的和負(fù)的整數(shù)。硬件實現(xiàn)時,利用32位的位矢量來表示。可實現(xiàn)的整數(shù)范圍為: -(231-1) to (231-1) VHDL綜合器要求對具體的整數(shù)作出范圍限定,否則無法綜合成硬件電路。 如:signal s : integer range 0 to 15; 信號 s 的取值范圍是0-15,可用4
6、位二進(jìn)制數(shù)表示,因此 s 將被綜合成由四條信號線構(gòu)成的信號。6)自然數(shù)(natural)和正整數(shù)(positive) natural是integer的子類型,表示非負(fù)整數(shù)。 positive是integer的子類型,表示正整數(shù)。 定義如下: subtype natural is integer range 0 to integerhigh; subtype
7、positive is integer range 1 to integerhigh;7)實數(shù)(REAL) 或稱浮點數(shù) 取值范圍:-1.0E38 - +1.0E38 實數(shù)類型僅能用于VHDL仿真器,一般綜合器 不支持。8)字符串(string)
8、60; string 是 character 類型的一個非限定 數(shù)組。用雙引號將一串字符括起來。如: variable string_var : string(1 to 7); string_var := “Rosebud”;9)時間(TIME) 由
9、整數(shù)和物理單位組成 如:55 ms,20 ns10)錯誤等級(SEVERITY_LEVEL) 仿真中用來指示系統(tǒng)的工作狀態(tài),共有四種: NOTE(注意)、 WARNING(警告)、 ERROR(出錯)、
10、 FAILURE(失?。?、IEEE預(yù)定義標(biāo)準(zhǔn)邏輯位與矢量 1)std_logic 類型 由 ieee 庫中的std_logic_1164 程序 包定義,為九值邏輯系統(tǒng),如下: (U,X,0,1,Z,W,L,H,-) U:未初始化的, X:強未知的,&
11、#160; 0:強0, 1:強1, Z:高阻態(tài), W:弱未知的, L:弱0, H:弱1,
12、0;-:忽略 由 std_logic 類型代替 bit 類型可以完成電子系統(tǒng)的精確模擬,并可實現(xiàn)常見的三態(tài)總線電路。2)std_logic_vector 類型 由 std_logic 構(gòu)成的數(shù)組。定義如下: type std_logic_vector is array(natural
13、;range<>) of std_logic; 賦值的原則:相同位寬,相同數(shù)據(jù)類型。3、用戶自定義類型 用戶自定義類型是VHDL語言的一大特色。 可由用戶定義的數(shù)據(jù)類型有: 1)枚舉類型、 2)整數(shù)和實數(shù)類型、 3)數(shù)組類型、 &
14、#160; 4)記錄類型、 5)子類型用類型定義語句TYPE和子類型定義語句SUBTYPE實現(xiàn)用戶自定義數(shù)據(jù)類型。 TYPE語句格式:例:type byte is array(7 downto 0) of bit; variable addend : byte; type week is (sun, mon, tue, wed, thu,
15、60; fri, sat);type 數(shù)據(jù)類型名 is 數(shù)據(jù)類型定義 of 基本數(shù)據(jù)類型;SUBTYPE語句格式:例: subtype digits is integer range 0 to 9; 由subtype 語句定義的數(shù)據(jù)類型稱為子類型。subtype 子類型名 is 基本數(shù)據(jù)類型 約束范圍;1)枚舉類
16、型 枚舉該類型的所有可能的值。格式:如:type std_logic is(U,X,0,1, Z,W,L,H,-)如:type color is(blue,green,yellow, red); type my_logic is (0, 1, U, Z); variable hue : color;
17、0;signal sig : my_logic; hue := blue; sig <= Z;type 類型名稱 is (枚舉文字,枚舉文字);枚舉類型的編碼: 綜合器自動實現(xiàn)枚舉類型元素的編碼,一般將第一個枚舉量(最左邊)編碼為0,以后的依次加1。編碼用位矢量表示 ,位矢量的長度將取所需表達(dá)的所有枚舉元素的最小值。如:type color is(blue,green,yellow,red);
18、 編碼為: blue=“00”; green=“01”; yellow=“10”;
19、0; red=“11”;2)整數(shù)類型 用戶定義的整數(shù)類型是標(biāo)準(zhǔn)包中整數(shù)類型的子范圍。格式:例:type my_integer is integer range 0 to 9;3)數(shù)組類型 數(shù)組:同類型元素的集合。VHDL支持多維數(shù)組。
20、多維數(shù)組的聲明: type byte is array(7 downto 0) of bit; type vector is array(3 downto 0) of byte; 限定數(shù)組、非限定數(shù)組、屬性:type 類型名稱 is range 整數(shù)范圍;限定數(shù)組: 其索引范圍有一定的限制。格式: 非限定數(shù)組:數(shù)組索引范圍被定義成一個類型范圍。格式:例:type bit_vector is array(
21、integer range <>) of bit; variable my_vector:bit_vector (5 downto -5);type 數(shù)組名 is array(數(shù)組范圍) of 數(shù)據(jù)類型;type 數(shù)組名 is array(類型名稱 range <>) of 數(shù)據(jù)類型;屬性: VHDL為多種類型定義了屬性。
22、60; 語法如下: 對象屬性 VHDL為數(shù)組預(yù)先定義的屬性: left right high
23、160; low length range reverse_range對應(yīng)變量: variable my_vector : bit_vector (5 downto -5);各屬性如下:
24、160; my_vectorleft 5 my_vectorright
25、0; -5 my_vectorhigh &
26、#160; 5 my_vectorlow -5
27、0; my_vectorlength 11 my_vectorrange
28、60; (5 downto -5) my_vectorreverse_range (-5 to 5)4)記錄類型 記錄是不同類型的名稱域的集合。 格式如下:
29、;訪問記錄體元素的方式:記錄體名.元素名type 記錄類型名 is record 元素名:數(shù)據(jù)類型名; 元素名:數(shù)據(jù)類型名;
30、 end record;例: constant len:integer:= 8 ;subtype byte_vec is bit_vector(len-1 downto 0);type byte_a
31、nd_ix is record byte : byte_vec; ix : integer range 0 to len;end record ;signal x, y, z : byte_and_ix ;signal data : byte_vec ;signal num : integer ;
32、60; .x.byte <= “11110000” ;x.ix <= 2 ;data <= y.byte ;num <= y.ix ;z <= x ;5)子類型 子類型是已定義的類型或子類型的一個子集。格式: 例: bit_vector 類型定義如下: type bit_vector is array (natural range <>) of bit; 如設(shè)計中只用16bit;可定義子類型如下: subtype my_vector is bit_vector(0 to 15);注:子類型與
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度專業(yè)牧場代牧服務(wù)標(biāo)準(zhǔn)合同4篇
- 2025年度臨時停車場帳篷搭建施工合同范本3篇
- 2024物流包裝與裝卸合同
- 2025年度智慧家居產(chǎn)品研發(fā)承包經(jīng)營合同書范文4篇
- 2025年度桉樹種植與生物質(zhì)能利用技術(shù)研發(fā)合同3篇
- 2025年個人汽車抵押貸款抵押權(quán)設(shè)立及轉(zhuǎn)讓合同4篇
- 2025年度住宅小區(qū)地下車庫車位使用權(quán)購買合同范本4篇
- 2025年度文化產(chǎn)業(yè)園開發(fā)承包合同股東內(nèi)部合作協(xié)議4篇
- 2024年甲乙雙方石材供需合同
- 2025年度新能源項目地質(zhì)鉆孔工程承包協(xié)議4篇
- 有效排痰的護(hù)理ppt(完整版)
- 魯教版七年級數(shù)學(xué)下冊(五四制)全冊完整課件
- 英語六級詞匯(全)
- 算法向善與個性化推薦發(fā)展研究報告
- 聚合物的流變性詳解演示文稿
- 電氣設(shè)備預(yù)防性試驗安全技術(shù)措施
- 醫(yī)院出入口安檢工作記錄表范本
- 內(nèi)科學(xué)教學(xué)課件:免疫性血小板減少癥(ITP)
- 中華人民共和國文物保護(hù)單位登記表
- 《生物制品學(xué)》課程教學(xué)大綱
- 硅基負(fù)極材料項目可行性研究報告_范文參考
評論
0/150
提交評論