Verilog的語言要素有哪些?
time time_id1, time_id2, . . . ,time_idN [ msb:1sb];
msb和lsb是表明范圍界限的常量表達式。如果未定義界限,每個標(biāo)識符存儲一個至少64位的時間值。時間類型的寄存器只存儲無符號數(shù)。例如:
time Events [0:31]; //時間值數(shù)組。
time CurrTime; //CurrTime 存儲一個時間值。
5. real和realtime類型
實數(shù)寄存器(或?qū)崝?shù)時間寄存器)使用如下方式說明:
//實數(shù)說明:
real real_reg1, real_reg2, . . ., real_regN;
//實數(shù)時間說明:
realtime realtime_reg1, realtime_reg2, . . . ,realtime_regN;
realtime與real類型完全相同。例如:
real Swing, Top;
realtime CurrTime;
real說明的變量的缺省值為0。不允許對real聲明值域、位界限或字節(jié)界限。
當(dāng)將值x和z賦予real類型寄存器時,這些值作0處理。
real RamCnt;
. . .
RamCnt = 'b01x1Z;
RamCnt在賦值后的值為'b01010。
3.8 參數(shù)
參數(shù)是一個常量。參數(shù)經(jīng)常用于定義時延和變量的寬度。使用參數(shù)說明的參數(shù)只被賦值一次。參數(shù)說明形式如下:
parameter param1 = const_expr1, param2 = const_expr2, . . . ,
paramN = const_exprN;
下面為具體實例:
parameter LINELENGTH = 132, ALL_X_S = 16'bx;
parameter BIT = 1, BYTE = 8, PI = 3.14;
parameter STROBE_DELAY = ( BYTE + BIT) / 2;
parameter TQ_FILE = /home/bhasker/TEST/add.tq;
參數(shù)值也可以在編譯時被改變。改變參數(shù)值可以使用參數(shù)定義語句或通過在模塊初始化語句中定義參數(shù)值(這兩種機制將在第9章中詳細(xì)講解)。
評論