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