System Verilog数据类型分为两大类,一类是变量(variable),一类是网线(net)。这两种类型在赋值和存储值上有所区别
- net一般只用于
assign
连续赋值,部分net类型可以有多个驱动(driver) - variable一般只用于过程赋值
System Verilog具有四种值类型:
- 0 逻辑值0
- 1 逻辑值1
- x 不确定的逻辑值
- z 高阻态
一些数据类型可以存储上述4种值,如logic
、reg
、integer
、time
。还有一些数据类型只能存储0和1,如bit
和int
一般声明wire和reg的地方大部分都可用logic代替,它既可以连续赋值也可以过程赋值,但不能有多驱动
System Verilog还支持string
、time
、struct
、class
、enum
、union
、real
、realtime
等等数据类型