UVM之sformat

Useful SystemVerilog System Tasks

Useful SystemVerilog System Tasks
Task NameDescription
$sscanf(str,format,args);

$sscanf 将字符串按照某个模板格式进行扫描,其字符串格式和C语言中的printf()函数类似

$sformat(str,format,args);

$sformat是$sscanf的反函数。将字符串按照给定的格式填入相应的参数args中

$display(format,args);

$display就是Verilog的printf语句,在stdout上显示格式化的字符串

$sformatf(format,args);

$sformatf任务和$sformat相似,除了其返回字符串结果。字符串作为$sformatf的返回值,而不是像$sformt一样放在第一个参数上。

 

$sformat() update the string with value which you have passed to it.

1 string a;
2 $sformat(a," Hello world");

 

So here, "Hello world" will be stored in the string a. 
It is as good as a = "Hello world";

eg:  

1 $sformat(name,"slaves[%0d]",i);

 

 

SV的输出格式: 

%d 以及 %D 以十进制格式输出
%b 以及 %B 以二进制格式输出
%o 以及 %O 以八进制格式输出
%h 以及 %H 以十六进制格式输出

%e 以及 %E 以指数表示方式输出实数(real型)

%f 以及 %F 以十进制数表示方式输出实数(real型)

%g 以及 %G 以十进制数或者以指数表示方式输出实数

 

%s 以及 %S 以字符串格式输出

%c 以及 %C 以ASCII码格式输出

 

%m 以及 %M 输出层次名

%v 以及 %V 输出线网类型变量的强度

%t 以及 %T 以当前时间格式输出

 

posted @ 2018-03-29 09:51  liheng369  阅读(10365)  评论(0编辑  收藏  举报