SystemVerilog验证 测试平台编写指南 第二章 数据类型 上

本文介绍了SystemVerilog的内建数据类型,包括变量(如reg、integer、time)和线网(如wire)。重点讲解了logic类型、双态数据类型(如bit、byte等)、定宽数组的声明和初始化、动态数组、队列以及关联数组的使用。通过实例展示了如何声明、初始化、操作数组,并对比了不同类型的特性。
摘要由CSDN通过智能技术生成

2.1 内建数据类型
通常,在Verilog中我们有两种常见的数据类型:变量和线网。他们各自有0、1、Z、X这四种状态。其中最为常见的应用也就是reg型和wire型。
变量
无符号的数:reg
32比特的有符号数:integer
64比特的无符号数或浮点数:time
若干变量可以被一起存放在定宽数组里。所有的存储都是静态的,意味着所有的变量在整个仿真过程中都是存活的。
线网
wire
线网通常用来连接设计中的不同部分。通常是连接设计模块的端口。

2.1.1逻辑(logic)类型
相对于通常的Verilog的reg类型,logic类型在其基础之上对其做了改进,使得它不仅可以作为一个变量,还可以被连续赋值、门单元和模块所驱动。任何使用线网类型的数据均可使用logic。logic不能有多个结构性的驱动,在定义双向总线的时候,就只能使用wire而不能使用logic。
2.1.2 双状态数据类型
相比于四态(0、1、X、Z)的数据类型,SystemVerilog引入了双态(0、1)的数据类型,这有利于提高仿真器的性能并减少内存的使用量。
无符号单比特的数据类型bit,带符号的数据类型是byte,shortint,int,longint
例2.2 带符号的数据类型

bit b;           //双状态,单比特,无符号
bit [31:0] b32;  //双状态,32比特无符号整数
int unsigned ui; //双状态,32比特无符号整数
int i;           //双状态,32位有符号整数
byte b8;         //双状态,8比特有符号整数,取值范围为-128~127
shortint s;      //双状态,16比特有符号整数
longint l;       //双状态,64比特有符号整数
integer i4;      //四状态,32比特有符号整数
time t;          //四状态,64比特无符号整数
real r;          //双状态,双精度浮点数

2.2 定宽数组
2.2.1 定宽数组的声明和初始化
所有的数组都是以0作为索引的起始点,所以SystemVerilog允许只给出数组宽度的便捷声明方式。
例2.4 定宽数组的声明

int lo_hi [15:0]; //16个整数[0]...[15]
int c_style [16]; //16个整数[0]...[15]

通过在变量名后指定维度的方式来创建多维定宽数组

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值