SCL Reference: Predefined Types
SCL automatically provides several predefined types:
type bit is ('0','1');
type bit_vector is array (integer range <>) of bit;
type boolean is (false,true);
type byte is range 0 to 16#FF#;
type character is
(
nul , soh , stx , etx , eot , enq , ack , bel ,
bs , ht , lf , vt , ff , cr , so , si ,
dle , dc1 , dc2 , dc3 , dc4 , nak , syn , etb ,
can , em , sub , esc , fsp , gsp , rsp , usp ,
' ' , '!' ,'\"' , '#' , '</string>
, '%' , '&' , ''' ,
'(' , ')' , '*' , '+' , ',' , '-' , '.' , '/' ,
'0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' ,
'8' , '9' , ':' , ';' , '<' , '=' , '>' , '?' ,
'@' , 'A' , 'B' , 'C' , 'D' , 'E' , 'F' , 'G' ,
'H' , 'I' , 'J' , 'K' , 'L' , 'M' , 'N' , 'O' ,
'P' , 'Q' , 'R' , 'S' , 'T' , 'U' , 'V' , 'W' ,
'X' , 'Y' , 'Z' , '[' ,'\\' , ']' , '^' , '_' ,
'`' , 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' ,
'h' , 'i' , 'j' , 'k' , 'l' , 'm' , 'n' , 'o' ,
'p' , 'q' , 'r' , 's' , 't' , 'u' , 'v' , 'w' ,
'x' , 'y' , 'z' , '{' , '|' , '}' , '~' , del ,
c128, c129, c130, c131, c132, c133, c134, c135,
c136, c137, c138, c139, c140, c141, c142, c143,
c144, c145, c146, c147, c148, c149, c150, c151,
c152, c153, c154, c155, c156, c157, c158, c159,
' ' , '¡' , '¢' , '£' , '€' , '¥' , 'Š' , '§' ,
'š' , '©' , 'ª' , '«' , '¬' , '' , '®' , '¯' ,
'°' , '±' , '²' , '³' , 'Ž' , 'µ' , '¶' , '·' ,
'ž' , '¹' , 'º' , '»' , 'Œ' , 'œ' , 'Ÿ' , '¿' ,
'À' , 'Á' , 'Â' , 'Ã' , 'Ä' , 'Å' , 'Æ' , 'Ç' ,
'È' , 'É' , 'Ê' , 'Ë' , 'Ì' , 'Í' , 'Î' , 'Ï' ,
'Ð' , 'Ñ' , 'Ò' , 'Ó' , 'Ô' , 'Õ' , 'Ö' , '×' ,
'Ø' , 'Ù' , 'Ú' , 'Û' , 'Ü' , 'Ý' , 'Þ' , 'ß' ,
'à' , 'á' , 'â' , 'ã' , 'ä' , 'å' , 'æ' , 'ç' ,
'è' , 'é' , 'ê' , 'ë' , 'ì' , 'í' , 'î' , 'ï' ,
'ð' , 'ñ' , 'ò' , 'ó' , 'ô' , 'õ' , 'ö' , '÷' ,
'ø' , 'ù' , 'ú' , 'û' , 'ü' , 'ý' , 'þ' , 'ÿ'
);
type cycle is range -9223372036854775807 to 9223372036854775807
units ic;
end units;
type daddress is range 0 to 16#FF_FFFF#;
type file_open_kind is (read_mode,write_mode,append_mode);
type file_open_status is (open_ok,status_error,name_error,mode_error);
type frequency is range 0 to 1e9
units hz;
khz = 1000 hz;
mhz = 1000 khz;
end units;
type integer is range -10#2_147_483_647# to 10#2_147_483_647#;
type line is access string;
type paddress is range 0 to 16#FF_FFFF#;
type severity_level is (note,warning,error,failure);
type string is array (integer range <>) of character;
type text is file of string;
type time is range -9223372036854775807 to 9223372036854775807
units ps;
ns = 1000 ps;
us = 1000 ns;
ms = 1000 us;
sec = 1000 ms;
min = 60 sec;
hr = 60 min;
end units;
type vector_file_mode is (binary_mode,hex_mode,formatted_mode,dec_mode);
type voltage is range -9223372036854775807 to 9223372036854775807
units mV;
V = 1000 mV;
end units;
type word is range 0 to 16#FFFF#;