数字验证学习笔记——SystemVerilog芯片验证2 ——数据类型

1.数据类型

SV中引入一种新的数据类型logic,sv作为侧重于硬件的语言,并不是关心logic对应的逻辑被综合出来是reg还是wire。四值逻辑是属于硬件世界,二值逻辑是属于软件的世界即验证环境。

  1. Logic为四值逻辑:0、1、X(不确定态,不知道是1还是0)、Z(高阻态,没有被驱动)
  2. bit为二值逻辑:0、1

按照4值逻辑和2值逻辑分类

  1. 四值逻辑类型:integer(32)、logic、reg、net-type(wire)
  2. 二值逻辑类型:byte(8)、shortint(16)、int(32)、longint(64)、bit

按照有符号和无符号的分类

1.有符号:byte、shortint、int、longint、integer
2.无符号:bit、logic、reg、net-type(wire)

问题1?
logic [7:0] logic_a=8’b1000_0000; //128
bit [7:0] bit_a=8’b1000_0000; //128
byte byte_a=8’b1000_0000; //-128
问题2?
byte byte_a=8’b1000_0000;
bit [8:0] bit_a;
initial begin
bit_a= byte_a; // 9’b1_1000_0000
bit_a=unsigned’(byte_a); //9’b0_1000_0000
end

2.转化

2.1静态转换

unsigned’(byte_a)
该转化不会对转换值做检查

2.2动态转换

$cast(tgt,src)
该转换会对转换值做检查

静态转换和动态转换都需要操作符和系统函数介入,被称为显式转换
不需要进行一些转换的操作,隐式转换
问题3?
logic [3:0] logic_a = 4’b111x;
bit [2:0] bite_a;
initial begin
bite_a=logic_a; // bite_a=3’b110; 四值逻辑的x、z 转换成二值逻辑只会转换成0
end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值