현재이 방법을 사용하면 런타임 오류가 발생하면 vcs에서 호출 스택을 인쇄합니다. 매우 효과적입니다. 더 좋은 방법이 있습니까?시스템 Verilog에서 runtimely 호출 스택을 표시하는 방법은 무엇입니까?
function void anyFunctionIWouldLikeToSeeCallStack();
uvm_object a;
// a == null
a.print();
endfunction;
현재이 방법을 사용하면 런타임 오류가 발생하면 vcs에서 호출 스택을 인쇄합니다. 매우 효과적입니다. 더 좋은 방법이 있습니까?시스템 Verilog에서 runtimely 호출 스택을 표시하는 방법은 무엇입니까?
function void anyFunctionIWouldLikeToSeeCallStack();
uvm_object a;
// a == null
a.print();
endfunction;
이것은 시뮬레이터가 브레이크 포인트를 설정하는 동안 일반적으로 제공하는 것입니다. 특정 중단 점에 도달하면 시뮬레이션이 중지되고 시뮬레이터 특정 명령을 실행하여 호출 스택을 인쇄하거나 일부 GUI 창에 호출 스택을 표시 할 수 있습니다.
VCS 설명서에서 이것이 정확히 어떻게 수행되는지 찾아야합니다.
Cadence incisive (ncsim)에는 호출 할 수있는 $ stacktrace 시스템 작업이 있습니다. 다른 벤더들이 비슷한 것을 가지고 있다면 나는 놀라지 않을 것이다. VCS에서
, 그것은 $stack()
입니다하지만 스택의 약 8 단계, 그리고 나는 그것이 $ 호출 스택입니다이 ModelSim을/이쪽에서 구성
생각하지 않습니다 –