SV——字符串类型

字符串类型
Verilog对字符串处理很有限,但是SV就不一样了。他引入了string类型
字符串类型变量的存储单元为byte类型(一个字)(8个bit);
字符串长度为N,则其成员索引(index)为0:N-1, 这个很好理解;
不同于C语言,字符串的结尾没有空制符null“\0”
字符串的内存是动态分配的,用户不需要担心内存空间管理

typedef logic {15:0} r_t;
r_t r;
integer i=1;
string b=“”; //类似于 string b;
string b={“Hi”, b};
r=r_t’(a); //显式类型转化 字符串类型转化为整形
b=string’(r); //显式类型转化 整形转化为字符串类型
b=“Hi”;
b={5{“Hi”}};
a={i{“Hi”}};
a={i{b}};
a={a, b};
a={“Hi”, b};
b={“Hi”,“”};
a[0]=“h”; // the same as: a[0]=“cough”
怎么判断一个字符串是否为空?
1:str.size();
2:str=null?//这种方式不恰当,容易出错
3: sizeoff(array);
字符串内建方法
str.len ():返回字符串长度的;
str.putc(i, c): 将第i个字符替换为C,等同于str[i]=c;
str.getc(i, c): 返回第i个字符;
Str.substr(i, j): 将第i个字符到第j个字符的字符串返回。
Str.{atoi(),atohex(), atooct(), atobin()}: 将字符串转变为
十进制、十六进制、八进制或者二进制(指的是当前字符串的类型,而不是目标类型,这里需要特别注意)。
Str=“123”;
Int i= str.atoi();// assigns 123 to i//因为123当前是一个十进制的整形,所以用str.atoi

a=sin_value.atobin();
b={sin_path,“=”, a };

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值