[SystemVerilog] 数据类型

Verilog的数据类型

实际硬件世界中没有数据类型的概念;人类只不过为了创造了一种硬件语言,并将数据类型置于其中。
硬件语言中有2种类型数据:

  • reg类型:存储值
  • wire类型:不能存储值
    基于这2种基本的物理数据类型(reg对应寄存器,wire对应连线),引申出广义的数据类型:例如有符号数、无符号数、浮点数等。

SystemVerilog数据类型

SystemVerilog在Verilog的硬件世界中扩展出软件世界,对应的就是将硬件世界的2种数据类型归一为logic类型,因为对于验证人员不需要区分这2种类型,验证代码不需要考虑是否可被综合成具体电路。

SystemVerilog进入的是软件世界,那对应的数据类型也得到扩充。这里也便要提到2-state类型和4-state类型,4-state类型对应值有0、1、x、z,2-state类型对应值仅有0、1。

我们先来介绍下4-state的数据:

  • 真实电路数据类型,logic、reg、wire;
  • 非真实电路数据和类型,interger、time;

真实的电路数据类型中,由于电路特性必然是4-state;
需要记住interger类型也是4-state,和int不一样;
time居然也是4-state,需要待确认。

其余的数据类型都是2-state类型,出了2-state和4-state需要区分,我们还需要区分有符号和无符号数据。真实电路数据根据用户自行定义是否为有无符号,其余我们在下面细说。

整数类型

类型 位宽 符号
bit 1
byte 8
shotint 16
int 32
longint 64
interger 32

Void、null、chandle

void用于function没有返回值
null用于变量比对时候为空
chandle数据类型用于存储指针

你可能感兴趣的:([SystemVerilog] 数据类型)