第七课
Structure
structure是一组变量或者常数的集合,能够更方便地同时访问其中的元素。
语法:
struct{
int a,b;
logic[7:0] opcode;
logic[23:0] address;
bit error;
} Instruction_Word
最后一行是这个structure的名字,引用变量时的格式为:
Instruction_Word.address = 24'hF0000;
- Packed structure
structure默认状态下在内存当中是unpacked状态,可以使用packed关键字使变量存储在连续的空间当中。
可以看到图中valid,tag,data的bit地址是连续的,越先声明的变量bit数越大。
经过packed以后可以作为一个数组访问或改写其中的元素:
实际操作当中推荐使用data_word.tag这种形式调用,可读性高,不容易出错。
Enumerated Type(枚举)
可以用于声明拥有固定值的变量,如状态机或者计算常量,