UVM中打印格式及其控制方法

文章目录

  • 前言
  • 一、UVM中提供的打印宏
  • 二、UVM打印宏打印参数
  • 三、命令行控制打印信息
  • 总结


前言

在基于UVM的验证环境中写代码的时候,经常需要打印一些参数进行调试。本文主要总结一下,在UVM中如何去打印,以及如何去控制打印信息。


一、UVM中提供的打印宏

如下图所示,uvm中提供了`uvm_info、 `uvm_warning、`uvm_error、`uvm_fatal这四个宏,分别用于打印不同严重等级的信息。其中,`uvm_info这个宏还提供五个等级的可见度,分别是UVM_LOW、UVM_MEDIUM、UVM_HIGH、UVM_FULL、UVM_DEBUG。默认的可见度是UVM_MEDIUM,
UVM中打印格式及其控制方法_第1张图片
举个例子:
UVM中打印格式及其控制方法_第2张图片
不同严重等级的打印信息对应的行为如下图所示,其中UVM_FATAL打印后会显示打印信息并退出仿真,UVM_ERROR打印后会显示打印信息并计数,UVM_WARNING和UVM_INFO只显示打印信息。
UVM中打印格式及其控制方法_第3张图片

二、UVM打印宏打印参数

在调用UVM打印宏进行打印的时候,不仅仅只是打印一串固定的字符串,很多时候我们需要将一些参数打印出来进行调试,这时候我们就需要用到$sformatf()这个系统函数,这个系统函数能够传递带参数的字符串。

`uvm_info("ADDR_MAP", $sformatf("R addr = %0h", regmodel.R.get_address()), UVM_HIGH)

SV中的打印格式输入描述如下:
UVM中打印格式及其控制方法_第4张图片
UVM中打印格式及其控制方法_第5张图片
UVM中打印格式及其控制方法_第6张图片
UVM中打印格式及其控制方法_第7张图片
UVM中打印格式及其控制方法_第8张图片

三、命令行控制打印信息

分别介绍了三中命令行控制打印信息的方法:
1、控制某一个组件在特定的phase或者时间打印信息的可见度;
2、控制打印信息的行为;例如控制UVM_ERROR不进行显示和计数
3、控制打印信息的严重等级;例如将UVM_FATAL替换为UVM_ERROR
UVM中打印格式及其控制方法_第9张图片


总结

你可能感兴趣的:(UVM,UVM,systemverilog,sformatf,打印格式)