第五章:数组 结构体 和联合体

1.结构体

2.联合体

3.结构体和联合体的操作

4.非压缩数组

5.压缩数组

6.数组操作

7.数组foreache 循环

8.用于数组的特殊系统函数

结构体


1.结构体成员可以是任何数据类型 包括基本类型和用户自定义类型

2.结构体的声明

  var/wire 都可以定义为结构体类型。当定义为结构体类型时,结构体中的成员都必须是四态类型,成员不能是wire类型。

3.结构体的初始化

  用值列表方式初始化 '{}

4.结构体的赋值

5.压缩结构体 可以视为独立的变量,具体与向量类似的操作

6.非压缩结构体

7.有符号的结构体

8.结构体通过模块/函数/任务传递(****)

联合体


同结构体类似

1.联合体成员可以是任何数据类型 包括基本类型和用户自定义类型

2.联合体的声明

3.联合体的初始化

  用值列表方式初始化 '{}

4.联合体的赋值

5.压缩联合体 可以视为独立的变量,具体与向量类似的操作

6.非压缩联合体

7.有符号的联合体

8.标签联合体(不懂呀)

9.联合体通过模块/函数/任务传递(****)

数组


 1.数组元素可以是

    verilog95:reg  integer  time,允许一维

    verilog2k:除了event,可以多维

    systemverilog:任何数据类型

2.非压缩数组

3.压缩数组

4.数组的声明

5.数组的初始化

6.数组的赋值

7.数组的复制

8.数组通过端口 任务 函数 传递

9.foreach 循环

10.用于数组查询的系统函数

11.$bits位宽系统函数

 $bits(expression);

 可以返回任意表达式的位数,表达式可以包含任意类型的值,包括压缩或非压缩数组/结构体/联合体/文本值。

原文地址:https://www.cnblogs.com/chip/p/4395020.html