SV
net に対しては strength 情報を与えられる。charge strength (small, medium, large )と drive strength
typedef int intP;
前方宣言
typedef data_type type_id { variable_dimension } ;
| typedef interface_instance_id constant_bit_select . type_id type_id ;
| typedef [ enum|struct|union|class|interface class ] type_id; // 前方宣言?
enum { red, yellow, green } signal; // int になる
enum bit [1:0] { IDLE, S1=2'b01, S2=2'b10 } state;
typedef enum { red, green, blue, white } Colors;
列挙型は範囲指定ができる
method もある。別ページにするか
enum [ enum_base_type ] { enum_name_declaration {, enum_name_declaration } } { packed_dimension }
enum_base_type ::=
integer_atom_type [ siging ]
| integer_vector_type [ signing ] [ packed_dimension ]
| type_identifier [ packed_dimension ]
enum_name_declaration ::=
enum_identifier [ [ integral_number [ : integral_number ] ] ] [ = constant_expression ]
a = int ' (2.0 * 3.0 ); // ' のあとに () が要る
regA = unsigned ' (-4); // 8'b11111100
regB = signed ' (4'b1100); // -4
c = const ' (x); // const は予約語
function または task として定義されている
class を見よ
typedef data_type type_id { variable_dimension } ;
typedef interface_instance_id constant_bit_select . type_id type_id ;
typedef [ enum|struct|union|class|interface class] type_id;