SystemVerilog数据类型

使用与Verilog不同,SystemVerilog引入了一个新的数据类型logic


四值逻辑属于硬件世界(0、1、X、Z),二值逻辑属于软件世界(0、1),SV引入二值逻辑能够有效减少内存使用量、提高仿真器性能。

四值逻辑:integer、reg、wire、logic、tri;

二值逻辑:byte、shortint、int、longint、bit。


根据有无符号可划分为:

有符号类型:byte、shortint、int、longint、integer;

无符号类型:bit、logic、reg、wire、tri

例如:使用有符号数byte代替logic[7:0]时,byte最大值只有127(-128~127),而不是255。可以使用byte unsigned使得最大值为255,但这比bit[7:0]更加麻烦。


logic类型只能有一个驱动,如果需要双向驱动,可以使用wire。

将二值逻辑连接到DUT时,如果DUT试图产生X或Z,这些值会被自动转换成双状态值0或1。使用$isunknown操作符,可以在表达式的任意位出现X或Z时返回1,如下:

if($isunknown(iport)==1)
  $display("@%0t:4-state value detected on iport %b",$time,iport);

使用格式符%0t和参数¥time可以打印出当前仿真时间,打印个格式可以在$timeformat子程序中设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值