【Systemverilog】什么是数据类型(1)

1.1  内建数据类型

Systemverilog与Verilog的一个重大不同就是:引入了新的数据类型,便于数字电路的设计与验证。

SV中将reg与wire类型统一改进为logic,logic是四值逻辑类型。

那么,reg和wire两种数据类型有什么区别呢?什么又是二值逻辑和四值逻辑类型呢?

先回答第一个问题,回想在Verilog设计中的知识,我们通常出现以下类似的code(仅做参考)

//Verilog
module Device_1 (

input [2:0] a,
ouput reg [7:0] b,
output reg [7:0] c,
wire X

);
''''''

//Systemverilog defination

logic [7:0] b, c;

上述的示例代码中,定义输出变量b,c的同时,又将两者定义为reg。我们可以这样思考,作为输出变量,在输出过程的最后将会保存设计的输出值,相当于一个寄存器,而reg就是相当于寄存器,开辟存储空间,存放数值。更加细节的是,Verilog中数值结果输出与SV中的数值输出方式也是不同的,关于此问题我们将在后续的分享中提及。

我们在Verilog中这样驱动并使用wire类型:

......
wire X;
assign X = b && c;
......

wire本身就是无逻辑的物理连线,使用连续性赋值语句assign驱动。

综上,reg是寄存器,可以用来存放数据;wire是无逻辑的物理连线,不具有存储功能。

第二个问题,什么是二值和四值逻辑?所谓的二值逻辑是指变量的输出只有0和1两种结果,四值逻辑是指变量的输出具有0,1,X和Z四种结果。

二值逻辑类型:logic、wire、reg、time和 integer。 

四值逻辑类型:bit、byte、int(short int/long int),real。

逻辑类型介绍完毕,欢迎您批评指正!下次我们来讲解关于SV中数组的知识。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值