system verilog(四)数组、结构体、联合体_____________结构体

 

system verilog(四)数组、结构体、联合体_____________结构体_第1张图片

       结构体不同于数组,数组是同类型同尺寸的元素集合,而结构体是不同类型和尺寸的变量或者常量的集合。另外一个不同是,数组元素通过索引访问,结构体成员通过成员名称访问。 

1.结构体声明

system verilog(四)数组、结构体、联合体_____________结构体_第2张图片system verilog(四)数组、结构体、联合体_____________结构体_第3张图片

        将结构体声明为用户自定义结构类型不分配任何存储区。在给用户自定义类型的结构体赋值以前,必须声明一个这种用户自定义类型的变量。

2.结构体赋值

用'{ }和拼接运算符{ }互相区别开

system verilog(四)数组、结构体、联合体_____________结构体_第4张图片

1)结构体成员的名称赋值:

system verilog(四)数组、结构体、联合体_____________结构体_第5张图片

2)把结构体表达式赋值给结构体

按顺序,或者按结构体表达式中的名称,不能混用。

system verilog(四)数组、结构体、联合体_____________结构体_第6张图片

3)结构体表达式中的默认值(上图)

使用default关键字,将所有多个成员指定为默认值。默认值优先级关系

system verilog(四)数组、结构体、联合体_____________结构体_第7张图片

system verilog(四)数组、结构体、联合体_____________结构体_第8张图片

3.压缩与非压缩结构体

1)压缩结构体

system verilog(四)数组、结构体、联合体_____________结构体_第9张图片

system verilog(四)数组、结构体、联合体_____________结构体_第10张图片

2)压缩结构体的操作

       非压缩结构体的操作都适用于压缩结构体。由于压缩结构体以向量形式存储,对整个压缩结构体的操作也是以向量形式,因此对向量的算数操作,移位操作和逻辑操作等都可以用于压缩结构体

system verilog(四)数组、结构体、联合体_____________结构体_第11张图片

3)有符号的压缩结构体

system verilog(四)数组、结构体、联合体_____________结构体_第12张图片

system verilog(四)数组、结构体、联合体_____________结构体_第13张图片

system verilog(四)数组、结构体、联合体_____________结构体_第14张图片

你可能感兴趣的:(System,Verilog学习笔记)