一、SV中的数据类型
在SV中,数据类型按默认有误符号分的话,有以下几种:
- 有符号:int,byte,shortint,longint,integer
- 无符号:bit,wire,logic,reg
按照值的话
- 四值逻辑:wire,reg,logic,integer
- 二值逻辑:bit,int,shortint,longint,byte
二、关键字ref
对于ref类型,我觉得有点像C或者C++里面的指针,也可以叫做引用。如下面的例子
int a = 0;
int b = 0;
int c = 0;
task add(input x, input y, output z)
#10ns;
z = x+y;
#10ns;
endtask
#10ns;
add(a,b,c);
在以上的例子中,当时钟进行到30ns的时候,c的值才会发生改变。但如果把add中的output改成ref的话,则在执行完z=x+y;这条语句后,c的值就会发生改变,因为此时z相当于是c的引用,及就是z与c此时共用同一个存储空间。所以修改之后,在20ns出,c的值就会发生改变。