變量即在程序運行過程中其值可以改變的量,在Verilog HDL中變量的數據類型有很多種,這里只對常
用的幾種進行介紹。
網絡數據類型表示結構實體(例如門)之間的物理連接。網絡類型的變量不能儲存值,而且它必需受到
驅動器(例如門或連續賦值語句,assign)的驅動。如果沒有驅動器連接到網絡類型的變量上,則該變
量就是高阻的,即其值為z。常用的網絡數據類型包括wire型和tri型。這兩種變量都是用于連接器件
單元,它們具有相同的語法格式和功能。之所以提供這兩種名字來表達相同的概念是為了與模型中所
使用的變量的實際情況相一致。wire型變量通常是用來表示單個門驅動或連續賦值語句驅動的網絡型
數據,tri型變量則用來表示多驅動器驅動的網絡型數據。如果wire型或tri型變量沒有定義邏輯強度
(logic strength),在多驅動源的情況下,邏輯值會發生沖突從而產生不確定值。下表為wire型和
tri型變量的真值表(注意:這里假設兩個驅動源的強度是一致的,關于邏輯強度建模請參閱附錄:
Verilog語言參考書)。
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
|