结构体类型-----其成员可以是任何变量的类型,包括自定义类型或者其他常量类型。
Struct {
Int a,b;
Opcode_t opcode;
Logic [23:0] address;
Bit error;
} instruction_word
//注意,这里没有使用 typedef 这个关键字限定,instruction_word是一个变量。
由于结构体变量赛一个集合,因此结构体类型的变量也可以用来索引到其内部
的变量,索引方式同C或者C++
<structure_name>.<variable_name>
Instruction_word.address = 32’hF00000001E;
结构体类型默认也是变量类型,用户可以显示声明其为var或者wire类型。
typedef struct {
Int a,b;
Opcode_t opcode;
Logic [23:0] address;
Bit error;
} instruction_word_t; //这个时候instruction_word_t就是一个类型
instruction_word_t IW;//用这个类型声明一个变量IW。
结构体的其他赋值方式:
9. IW.a=5;//通过“.”来索引;
10. 也可以用单引号和花括号进行赋值
instruction_word=‘{100,2,8’hFF, 0};
instruction_word=’{address:0, opcode:8’hFF, a:100,b:2};
note:关于单引号在什么时候时候,连续数组(不用单引号)与不连续数组(用单引号)