微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 问一个systemverilog 字符串串联的问题

问一个systemverilog 字符串串联的问题

时间:10-02 整理:3721RD 点击:
各位:
      想在一个字符串后面加上数字变量,比如tmp变成tmp01,这样就可以根据数字变量的变化得到不同的字符串。我使用 {}进行串联,结果不成功,不知道该如何实现呢?
      另外,logic变量可以通过赋值隐转换为string类型的么?

貌似可以使用:$sformat/$sprintf,你去查查

查什么呢?我查了systemverilog3.1a的LRM,没找到啊。

二楼是正解,tmp使用字符串,然后在字符串里面加入%h或者%d之类的,在字符串外写数据。类似$psprintf("string%8h", 8'hab)这样。通过该系统函数就可转为stringab。

问题解决了。不过不是用$psprintf 与$sformat。用的是string自带的itoa。
int i = 7;
string s=“tmp”,
string t;
int i=7;
t.itoa(i);
s={s,t};
$display("%s",s);
出来结果就是tmp7了。

这样就是多几个表达式而已。用习惯的话,你会觉得$psprintf很好用的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top