(1)標(biāo)志符
基本標(biāo)志符是包括以下字符的字符序列:大寫字母“a”到“z”;小寫字母“a”到 “z”;數(shù)字“0”到“9”以及下劃線“_”。vhdl不區(qū)分大小寫。標(biāo)志符必須以字 母開頭,不能以下劃線結(jié)尾,且不能出現(xiàn)連續(xù)的兩個(gè)或多個(gè)下劃線的情況。
(2) 常量聲明
常量聲明的關(guān)鍵字是constant,它可以是特定類型的固定值。常量的值可讀但不可寫。
例如:constant width : integer := 8;
constant x : bit := 'x';
(3)變量聲明
變量聲明定義了給定類型的變量名稱,其關(guān)鍵字是variable??梢栽诒磉_(dá)式中使用變 量,也可以利用變量賦值語句給變量賦值。
例如:variable a, b : bit;
(4)信號聲明
信號聲明的關(guān)鍵字是signal,它可以將結(jié)構(gòu)體中分離的并行語句連接起來,并且還能 通過端口與該設(shè)計(jì)內(nèi)的其他模塊連接起來。信號聲明定義了特定類型的新命名信號(導(dǎo)線), 可以給信號賦以缺省值(初始值)。
例如:signal a, b : bit;
signal init : integer := -1;
(5)boolean數(shù)據(jù)類型
數(shù)據(jù)類型boolean是具有兩個(gè)值的枚舉類型:false和true。
(6) bit數(shù)據(jù)類型
數(shù)據(jù)類型bit用2個(gè)字符“0”或“1”中的一個(gè)來代表二進(jìn)制值。
(7) character數(shù)據(jù)類型
數(shù)據(jù)類型character枚舉了ascii字符集。不可打印字符用3個(gè)字母名稱表示, 如nul代表null字符??纱蛴∽址闷浔旧肀硎?,用單引號括起來。
數(shù)據(jù)類型string是數(shù)據(jù)類型character的一個(gè)非限定數(shù)組。數(shù)據(jù)類型string要用雙引號括起來,如下所示:
variable string_var :string(1 to 4);
……
string_var := vhdl;
(8) integer數(shù)據(jù)類型
數(shù)據(jù)類型integer表示所有正的和負(fù)的整數(shù)。整數(shù)只是引用了軟件設(shè)計(jì)語言中的概 念,在具體硬件實(shí)現(xiàn)時(shí),整數(shù)是用32位的位向量來實(shí)現(xiàn)的,因此vhdl整數(shù)類型的最大 范圍是-(231-1)到231-1(-2_147_483_647到2_147_483_647)。
integer還有兩個(gè)子類型:natural和positive。natural用來表示自然數(shù);positive用來表示非負(fù)數(shù)(0和正數(shù))。
(9)bit_vector數(shù)據(jù)類型
數(shù)據(jù)類型bit_vector代表bit值的一個(gè)數(shù)組。
10) ieee標(biāo)準(zhǔn)數(shù)據(jù)類型“std_logic”和“std_logic_vector”
vhdl'93標(biāo)準(zhǔn)std_logic數(shù)據(jù)類型有9種不同的值:
'u' --初始值 'x' --不定,未知 '0' --0 '1' --1 'z' --高阻
'w' --弱信號不定 'l' --弱信號0 'h' --弱信號l '-' --不可能情況
不定狀態(tài)方便了系統(tǒng)仿真,高阻狀態(tài)方便了雙向總線的描述。std_logic是vhdl中最常用的數(shù)據(jù)類型,比常見物理類型信號bit描述的功能要強(qiáng)。