System verilog 如何在系统verilog中实时显示调用堆栈?
目前我使用这种方式,当运行时出错时,vcs将打印调用堆栈。它的效率很低。有更好的办法吗System verilog 如何在系统verilog中实时显示调用堆栈?,system-verilog,System Verilog,目前我使用这种方式,当运行时出错时,vcs将打印调用堆栈。它的效率很低。有更好的办法吗 function void anyFunctionIWouldLikeToSeeCallStack(); uvm_object a; // a == null a.print(); endfunction; 这是模拟器在设置断点时通常提供的东西。到达某个断点后,您的模拟将停止,您将能够运行特定于模拟器的命令来打印调用堆栈,或者您将在某个GUI窗口中显示调用堆栈 您必须在VCS文档中查找具体的操作方法。Cad
function void anyFunctionIWouldLikeToSeeCallStack();
uvm_object a;
// a == null
a.print();
endfunction;
这是模拟器在设置断点时通常提供的东西。到达某个断点后,您的模拟将停止,您将能够运行特定于模拟器的命令来打印调用堆栈,或者您将在某个GUI窗口中显示调用堆栈 您必须在VCS文档中查找具体的操作方法。Cadence incisive(ncsim)有一个$stacktrace系统任务,您可以调用该任务。如果其他供应商也有类似的产品,我不会感到惊讶。在VCS中,它是
$stack()
但它只有大约8个堆栈级别,我不认为这是可配置的Modelsim/Questa中相同的$stacktrace。