To run a verilog simulation using irun and create a shm waveform file,
initial begin
$shm_open("waves.shm"); $shm_probe("AS");
end
run with irun -access +r testcase.sv
Or create this tcl file:
shm.tcl
database -open waves -shm
probe -create your_top_level -depth all -all -shm -database waves
run
exit
run with :
irun -access +r testcase.sv -input shm.tcl
Found some shm_probe() arguments somewhere on the web, might be useful here:
Shm_probe("");
A: all nodes, including inputs, outputs and inouts, of the specified scope
S: inputs, outputs and inouts of the specified scope, and in all instantiations below it, except inside library cells.
C: inputs, outputs and inouts of the specifed scope, and in all instantiations below it, including those inside library cells.
AS: all nodes, including inputs, outputs and inouts, of the specified scope, and in all instantiations below it, except inside library cells.
AC: all nodes, including inputs outputs and inouts, in the specified scope and in all instantiations below it, even inside library cells.