Systemverilog语言(3)-------data types(1/2)

1.overview

在这里插入图片描述
enumenrated:枚举
在这里插入图片描述
Two-state :双状态数据,相对于四状态(0,1,x,z)数据而言的,最简单的双状态类型bit;
strings :字符串
在这里插入图片描述
(左上角一个单撇):表示位扩展信号,可以将每一位扩展为指定值;但是注意全1是不能扩展的,必须全部写出来,如上例data= 64hffffffffffffffff。(verilog语法)
在这里插入图片描述
SV里面数据扩展一个单撇就可以。

2.logic

在这里插入图片描述
SV里面,logic即可以连续赋值(wire),也可以被模块所驱动(但是不能被多驱动,也即不能同时即做输入又做输出),也可以作为一个门单元,是一个四值逻辑;
在这里插入图片描述
可以做矢量、数组等;

3.two state

在这里插入图片描述
2值类型不能用于设计;

bit :无符号数

byte,short,int,longint :有符号数

logic [7:0]:四值类型且是无符号数;不同于 byte 。
在这里插入图片描述
仿真时,四值逻辑默认x初始,二值类型默认0初始;
四值逻辑赋给二值逻辑时,x和z自动转化为0;
$isunknown :可以用于检查一个表达式里面是否有x或z,返回1代表检测到;
在这里插入图片描述

3.Arrays

固定数组

可以使多维的;
超出范围的写会被忽略,读则是x,even for 2-state;
longwrd :32位的;
在这里插入图片描述
int array 【0:7】 【0:3】:【0:7】代表行,【0:3】代表列;
在这里插入图片描述unpacked array :按longword存放;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上图:数组赋初值。
在这里插入图片描述
上图:for为数组赋初值;
$size :返回数组深度;
for执行语句应该加begin…end 上图掉了;
在这里插入图片描述
foreach :简化版的for;
循环变量i会自动声明,可用于循环逻辑;
在这里插入图片描述
在这里插入图片描述
array operations :只能用 == 或 != 来比较,不能用算数操作;
数组整体赋值的前提是 :位宽,数据类型一致,size最好也一致。在这里插入图片描述
上图:示例
packed array:
在这里插入图片描述
unpacked array : 默认32位;
packed arrsy :指定长度;
小端模式:0在低位(最右边),其余类推;
在这里插入图片描述
在这里插入图片描述
【0:2】表示3行;
【7:0】表示每行每个元素位宽为8;
【3:0】表示每行有4个元素;
在这里插入图片描述
【0:7】【0:7】【0:7】分表代表第1维,第2维,第3维
【7:0】表示每行每个元素位宽为8;
【3:0】表示每行有4个元素;
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值