SV

发布时间 2023-06-02 15:16:51作者: dzw9

1. SV内建数据类型

  • logic 逻辑值分别为 0/1/x/z,默认x无符号数
  • bit 2值逻辑,分别为0/1,bit类型为无符号数
  • byte shortint int longint
    • 数据类型都为双状态,2值逻辑,分别为0/1
    • 位宽分别为 8/16/32/64
    • 都是有符号数

2. SV定宽数组

一维数组: int array[16]
二维数组: int array[8][4] 8行4列

int ascend[4] = ‘{0,1,2,3};       // 对4个元素进行初始化
int descend[5];
descend = ‘{4,3,2,1,0};            // 为5个元素赋值
descend[0:2] = ‘{5,6,7};          // 为前3个元素赋值 
ascend = ‘{4{8}};                 // 4个值全部为8 {8,8,8,8}
descend = ‘{9, 8, default:-1};   // {9,8, -1, -1, -1} 

//常用for循环遍历数组
initial begin
  bit [31:0] src[5],dst[5];
  for (int i=0; i<$size(src); i++)	//i为局部变量,$size函数返回数组的宽度
    src[i] = i;
end