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——字符串类型相关推荐

  1. python字符串实例_慢步学python,编程基础,字符串类型例子及输出

    想了解python的安装及运行的可以看慢步之前写的文章. 今天继续python编程基础内容,字符串类型数据. python里面主要的数据类型是数值类型和字符串类型.计算机可以进行运算的是数值,字符串不 ...

  2. 【路科V0】systemVerilog基础5——数组声明与数组操作

    数组声明 非组合型(unpacked) 特点:消耗更多的存储空间,但是更易于查找元素  对于Verilog,数组经常会被用来做数据存储,例如 reg [15:0] RAM [0:4095] ;//存储 ...

  3. 【路科V0】systemVerilog基础11——随机变量

    概述 随着设计变得越来越大,要产生一个完整的激励来测试设计的功能也变得越来越困难. 定向激励的测试方法早已经无法满足检查功能完整性的要求. SoC的集成度提高带来的模块之间交互的复杂度也是指数攀升,这 ...

  4. 【路科V0】验证环境1——验证环境结构

    验证环境结构 测试平台(testbench)是整个验证系统的总称. 它包括验证结构中的各个组件.组件之间的连接关系.测试平台的配置和控制. 从更系统的意义来讲,它还包括编译仿真的流程.结果分析报告和覆 ...

  5. Python基础语法全体系 | 深入剖析字符串类型及其操作

    <Python基础语法全体系>系列博文第二篇,本篇博文将详细深入讲解Python的字符串类型.包括转义字符.字符串格式化.序列相关方法及常用操作:大小写.删除空白.查找与替换.分割与连接等 ...

  6. Python基础04-数据类型:数字、布尔、字符串

    目录 数字 布尔 字符串 字符串的常用函数 字符串的内存分析 字符串练习题 数字 判断是数字类型还是字符串类型. # <class 'str'> 123 a = "123&quo ...

  7. python基础教程:数值与字符串类型

    Python3 中有六个标准的数据类型:Number(数字).String(字符串).List(列表).Tuple(元组).Sets(集合).Dictionary(字典). 不可变数据(四个):Num ...

  8. python字符串类型图解_Python基础——数据类型(图解+实例,非常详细!)

    内容及版权声明:笔记是根据开课吧--Python语法爬虫分析课和自己的理解记录,其中包含课程的截图,仅学习分享使用,如有侵权请私信删除! 目录 Python中常见的数据类型 变量:(相当于杯子可以往里 ...

  9. MySQL 基础 -- MySQL 数据类型说明(数值类型、字符串类型、日期时间类型)、SQL通用语法和SQL分类

    文章目录 1. 数据类型说明(数值类型.字符串类型.日期时间类型) 1.1数值类型 1.2 字符串类型 1.3 日期类型 1.4 数据类型练习:设计一张员工信息表 2. SQL通用语法和SQL分类 2 ...

最新文章

  1. java common http_httpClient和common-httpclient的区别
  2. UVa1368 - DNA Consensus String(贪心算法)
  3. [OSG]OSG的相关扩展
  4. 36、Power Query-多条件合并查询
  5. 有感软件安装称呼的变化
  6. MACIOS Socket编程
  7. mysqldb mysql config,安装mysqldb python界面时找不到mysql_config
  8. 大厂十年:我的三段职业经历和八条建议!
  9. 今晚直播预告丨Oracle 19c避雷经验分享
  10. linux startx无法启动
  11. POJ - 3461 (kmp)
  12. Swift 4.0 中对 Dictionary 的改进(转载)
  13. linux sed工具,玩转Linux - 神级工具 sed awk
  14. php错误日志分析_php错误日志
  15. 9个实用PHP函数和功能
  16. GCC和C99标准中inline
  17. 久邦数码(3G门户)面试
  18. 海康摄像机被锁了 怎么办
  19. 算术右移verilog实现
  20. 极点五笔常用特殊符号编码

热门文章

  1. 橙仕汽车——双排mini卡
  2. 同构网络vs异构网络
  3. msp430发送pwm信号_msp430TAx PWM输出详解
  4. 《斗罗大陆H5》月刃武魂指导和魂环搭配
  5. java 连接池配置_【Java】java数据库连接池配置的几种方法
  6. 网易云音乐PC客户端加密API逆向解析
  7. 小白如何利用自媒体做引流推广?
  8. 为什么社区团购需要小程序?
  9. springboot+二手车交易系统 毕业设计-附源码131456
  10. linux系统防火墙关闭22端口,Linux系统防火墙关闭及端口开放