struct
2つの定義の仕方があります。
- struct { xxx; yyy; ...; } $STRUCT_NAME
- typedef struct { xxx; yyy; ...; } $STRUCT_NAME
1の定義方法では、$STRUCT_NAMEをそのままstructアクセス名として使うことができます。
2の定義方法では、$STRUCT_NAMEは「こういうstructを定義しましたよ」というだけなので、
別途struct名を定義する必要があります。
例:
typedef struct {
bit [7:0] opcode;
bit [23:0] addr;
} IR;
IR IR0;
IR IR1;
まぁただ、structはメソッドを持てないので、いろいろしたいならclassの方がいいと思う。