|
變量即在程序運(yùn)行過(guò)程中其值可以改變的量,在Verilog HDL中變量的數(shù)據(jù)類(lèi)型有很多種,這里只對(duì)常
用的幾種進(jìn)行介紹。
網(wǎng)絡(luò)數(shù)據(jù)類(lèi)型表示結(jié)構(gòu)實(shí)體(例如門(mén))之間的物理連接。網(wǎng)絡(luò)類(lèi)型的變量不能儲(chǔ)存值,而且它必需受到
驅(qū)動(dòng)器(例如門(mén)或連續(xù)賦值語(yǔ)句,assign)的驅(qū)動(dòng)。如果沒(méi)有驅(qū)動(dòng)器連接到網(wǎng)絡(luò)類(lèi)型的變量上,則該變
量就是高阻的,即其值為z。常用的網(wǎng)絡(luò)數(shù)據(jù)類(lèi)型包括wire型和tri型。這兩種變量都是用于連接器件
單元,它們具有相同的語(yǔ)法格式和功能。之所以提供這兩種名字來(lái)表達(dá)相同的概念是為了與模型中所
使用的變量的實(shí)際情況相一致。wire型變量通常是用來(lái)表示單個(gè)門(mén)驅(qū)動(dòng)或連續(xù)賦值語(yǔ)句驅(qū)動(dòng)的網(wǎng)絡(luò)型
數(shù)據(jù),tri型變量則用來(lái)表示多驅(qū)動(dòng)器驅(qū)動(dòng)的網(wǎng)絡(luò)型數(shù)據(jù)。如果wire型或tri型變量沒(méi)有定義邏輯強(qiáng)度
(logic strength),在多驅(qū)動(dòng)源的情況下,邏輯值會(huì)發(fā)生沖突從而產(chǎn)生不確定值。下表為wire型和
tri型變量的真值表(注意:這里假設(shè)兩個(gè)驅(qū)動(dòng)源的強(qiáng)度是一致的,關(guān)于邏輯強(qiáng)度建模請(qǐng)參閱附錄:
Verilog語(yǔ)言參考書(shū))。
wire/tri 0 1 x z
0 0 x x 0
1 x 1 x 1
x x x x x
z 0 1 x z
|
|