struct

2つの定義の仕方があります。

  1. struct { xxx; yyy; ...; } $STRUCT_NAME
  2. 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の方がいいと思う。