【路科V0】systemVerilog基础3——字符串类型
Verilog语言对于字符串的处理手段非常有限。SV引入了string类型用来容纳可变长度的字符串。
SV中字符串的特点:
- 字符串类型变量的存储单元为byte类型( 8位二值逻辑)。
- 字符串类型变量长度为N时,其字符成员索引值为从0到N-1
- 不同于C语言,字符串结尾没有空字符“\0”
- 字符串的内存是动态分配的,用户无需担心内存空间管理。
字符串使用方式:
typedef logic [15:0] r_t;
r_t r;
integer i = 1;
string b = "" ;//声明赋予初值。定义的字符串默认值是空字符串
string a = {"Hi",b} ;//利用连接符号{}
r = r_t' (a) ; //字节类型转换,字符串变成向量类型
b = string'(r); //向量转换成字符串
b = "Hi";
b = { 5{ "Hi"}}; //b ={"Hi","Hi","Hi","Hi","Hi"}常量复制
a = { i{ "Hi"}}; //(非常量复制)a里面的i个Hi
a = {i{b}};
a = {a,b} ;
a = { "Hi",b};
b = {"H",""} ;//"H"。""是空字符串
a[0]=-"h";//等同于a[0]= "cough”
字符串内建方法:
str.len()//返回字符串的长度。
str.putc(i, c)//将第i个字符替换为字符c,等同于str[i]=c。
str.getc(i)//返回第i个字符。
str.substr(i,j)//将从第i个字符到第j个字符的字符串返回。
str. {atoi(), atohex(), atooct, atobin}//将字符串转变为十进制、十六进制、八进制或者二进制数据。
示例
str = "123";
int i = str.atoi() ; // assigns 123 to i.
string s ;
initial begins ="IEEE";$display (s.getc(0)); //显示'I' 显示第几个字符$display (s.tolower()); //显示ieee。把字符串小写s.putc(s.len () -1, "-"); //将空格变为'-'。将最后一个字符变成'-'s = {s, "P1800"}; //"IEEE-P1800"$display(s.substr (2,.5));//显示EE-P//创建二个临时字符串并将其打印my_log($sformatf( "%s %5d", s, 42));
//$sformatf格式化生成,并返回一个字符串。经常在验证中用来做调试信息的字符串生成
end
task my_log (string message) ; //打印消息$disp1ay ("@%0t :%s", $time , message) ;
endtask//生成一个自己想要的字符串,使用函数
$sformatf()
// $disp1ay打印显示
【路科V0】systemVerilog基础3——字符串类型相关推荐
- python字符串实例_慢步学python,编程基础,字符串类型例子及输出
想了解python的安装及运行的可以看慢步之前写的文章. 今天继续python编程基础内容,字符串类型数据. python里面主要的数据类型是数值类型和字符串类型.计算机可以进行运算的是数值,字符串不 ...
- 【路科V0】systemVerilog基础5——数组声明与数组操作
数组声明 非组合型(unpacked) 特点:消耗更多的存储空间,但是更易于查找元素 对于Verilog,数组经常会被用来做数据存储,例如 reg [15:0] RAM [0:4095] ;//存储 ...
- 【路科V0】systemVerilog基础11——随机变量
概述 随着设计变得越来越大,要产生一个完整的激励来测试设计的功能也变得越来越困难. 定向激励的测试方法早已经无法满足检查功能完整性的要求. SoC的集成度提高带来的模块之间交互的复杂度也是指数攀升,这 ...
- 【路科V0】验证环境1——验证环境结构
验证环境结构 测试平台(testbench)是整个验证系统的总称. 它包括验证结构中的各个组件.组件之间的连接关系.测试平台的配置和控制. 从更系统的意义来讲,它还包括编译仿真的流程.结果分析报告和覆 ...
- Python基础语法全体系 | 深入剖析字符串类型及其操作
<Python基础语法全体系>系列博文第二篇,本篇博文将详细深入讲解Python的字符串类型.包括转义字符.字符串格式化.序列相关方法及常用操作:大小写.删除空白.查找与替换.分割与连接等 ...
- Python基础04-数据类型:数字、布尔、字符串
目录 数字 布尔 字符串 字符串的常用函数 字符串的内存分析 字符串练习题 数字 判断是数字类型还是字符串类型. # <class 'str'> 123 a = "123&quo ...
- python基础教程:数值与字符串类型
Python3 中有六个标准的数据类型:Number(数字).String(字符串).List(列表).Tuple(元组).Sets(集合).Dictionary(字典). 不可变数据(四个):Num ...
- python字符串类型图解_Python基础——数据类型(图解+实例,非常详细!)
内容及版权声明:笔记是根据开课吧--Python语法爬虫分析课和自己的理解记录,其中包含课程的截图,仅学习分享使用,如有侵权请私信删除! 目录 Python中常见的数据类型 变量:(相当于杯子可以往里 ...
- MySQL 基础 -- MySQL 数据类型说明(数值类型、字符串类型、日期时间类型)、SQL通用语法和SQL分类
文章目录 1. 数据类型说明(数值类型.字符串类型.日期时间类型) 1.1数值类型 1.2 字符串类型 1.3 日期类型 1.4 数据类型练习:设计一张员工信息表 2. SQL通用语法和SQL分类 2 ...
最新文章
- java common http_httpClient和common-httpclient的区别
- UVa1368 - DNA Consensus String(贪心算法)
- [OSG]OSG的相关扩展
- 36、Power Query-多条件合并查询
- 有感软件安装称呼的变化
- MACIOS Socket编程
- mysqldb mysql config,安装mysqldb python界面时找不到mysql_config
- 大厂十年:我的三段职业经历和八条建议!
- 今晚直播预告丨Oracle 19c避雷经验分享
- linux startx无法启动
- POJ - 3461 (kmp)
- Swift 4.0 中对 Dictionary 的改进(转载)
- linux sed工具,玩转Linux - 神级工具 sed awk
- php错误日志分析_php错误日志
- 9个实用PHP函数和功能
- GCC和C99标准中inline
- 久邦数码(3G门户)面试
- 海康摄像机被锁了 怎么办
- 算术右移verilog实现
- 极点五笔常用特殊符号编码