Systemverilog基础语法

1 数据类型及操作

1.1 数据类型

类型 取值 描述
wire 0,1,X,Z 使用assign赋值
reg 0,1,X,Z 随时钟沿出发
logic 0,1,X,Z logic可以替代reg/wire,建议验证环境使用logic
int 0,1 有符号整型
bit 0,1 根据位宽定义数据
real 浮点型

1.2 运算符

除常见的与或非运算符,要注意有“===”和“==”;其中“===”可识别“0,1,x,z",”==”只能识别“0,1“。验证时一般response使用”===“判断模块输出数据是否符合预期。

1.3 数组和队列

一般使用一维和二维数组,更多维度不建议使用。
一维数组定义:
bit [7:0] arr;
二维数组定义:

    1. 压缩数组
      bit [7:0][15:0] arr; //定义了一个深度为8,宽度为16的数组
      压缩数组的优势是可以整体对其赋值,如:
      assign arr = {8*16{1'b0}};
    1. 非压缩数组
      bit [15:0] arr[7:0]; //定义了一个深度为8,宽度为16的数组
      对非压缩数组赋值时要对每个数据单独赋值
      assign arr[0] = {16{1'b0}};
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容