7-字符串与$sformatf,$sformat,$psprintf

资料来源:

(1)公众号-杰瑞IC验证;

(2)硅芯思见:【97】$sformat()与$psprintf() (qq.com)

1.$sformat & $sformatf

复制代码
1 //示例1-jerry IC验证;
2 string jerry_string;
3 string jerry_string_r;
4 
5 $sformat(jerry_string,"jerry_face_score=%0d",100);
6 $display("1.%0s",jerry_string);
7 
8 jerry_string_r=$sformatf("jerry_cool_score=%0d",100);
9 $display("2.%0s",jerry_string_r);
复制代码
复制代码
 1 //示例2-硅芯思见
 2 `timescale 1ns/1ps
 3 module top_tb;
 4     string       str;
 5     logic[31:0]  data;
 6 
 7     initial begin
 8         data=32'h87654321;
 9         str=$sformatf("The data is %0h!",data);
10         $display("I'm from display->%s",str);
11     end
12 
13 endmodule
复制代码
复制代码
 1 //示例3-硅芯思见
 2 `timescale 1ns/1ps
 3 module top_tb;
 4     bit[3:0] sig;
 5     initial begin
 6         sig=4'h0;
 7         foreach(sig[i]) begin
 8             if($test$plusargs($sformatf("SIG%0h",i))) begin
 9                 sig[i]=1'b1;
10                 $display($sfrmatf("SIG%0h -> %0h",i,sig[i]));
11             end
12         end
13     end
14 endmodule
复制代码

(1) $sformat & $sformatf是system verilog标准中的系统函数,用于整理字符串的格式;

(2) $sformat()比$sformatf()多了第一个参数,该参数用于存放最终整理好的字符串;

(3) $sformatf()返回的值就是整理好的字符串,可以直接把它整体拿去使用;

2.$psprintf(类似$sformatf)

(1) $psprintf是由VCS添加的sv扩展,暂未被system verilog标准收录;

(2) $psprintf()返回一个格式化的临时字符串,并且可以传递给其他子程序. 这样可以不用定义新的临时字符串并在格式化语句与函数调用过程中传递这个字符串. 

 

 

posted on   知北游。。  阅读(6050)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示