[SV学习笔记]#5 string类型

前言

以前在写Verilog时遇到要处理字串的情况总会觉得很不方便,不像其他语言有内建很多字串处理的操作,不过现在SV当中新增了string这个资料型态,里面就提供了很多好用的操作来处理字串,写起来方便多了!

string的基本介绍

string类型可以容纳一个可变长度的字串,一个字符为一个byte的资料,并且string的记忆体空间是动态分配的不需要自己处理!

常见的操作方式

[Example1]https://edaplayground.com/x/kdAf)
宣告:

string a = "";

串接:

string b = {"Hello ","World"};

重複N次

string c = {n{b}};

取片段

string d = c.substr(i,j);

转型

typedef logic[15:0] r_t;
r_t r = r_t'(d);

string的内建函数

Example2

取字串长度

str.len()

取代某一个字符

str.putc(i,j)

取出某一个字符

str.getc(i)

转成小写

string.tolower()

进制转换函数

Example3
ASCII转integer

str.atoi()

integer转ASCII

str.itoa()

后记

实际上写起来还是有些不方便,像是取片段不支援直接用[:]而是要用substr的函数,跟高阶语言比起来写法没有那么灵活,不过以一个验证语言来说应该是够用了。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章