如何从 TCL 控制台在 ModelSim/QuestaSim 中执行 'Zoom Fit'?

How to execute 'Zoom Fit' in ModelSim/QuestaSim from TCL console?

我在 GUI 模式下从命令行使用 ModelSim / Questa-SIM。如果 ModelSim 在 GUI 模式下运行,我想从我导入的 'wave.do' 文件中执行 'Zoom Fit'。

我通过 -do wave.do 将此文件传递给 vsim。这是脚本:

add wave *
run -all

我启动了 vsim 并将波形 window 保存为 test.do。此文件包含如下语句:

WaveRestoreZoom {0 fs} {2724750 ps}

TCL可以计算上界吗?

我也找到了一个simtime语句,但是使用simtime作为第二个参数报错:

VSIM1> simtime
       # {5,195 ns} {1       } /arith_counter_gray_tb 0 0
VSIM1> WaveRestoreZoom {0 fs} {simetime}
       # zoomrange: invalid range "0 fs simetime"

如果我正确理解了您的尝试,wave zoom full 对我有用。

如果您使用 WaveRestoreZoom {0 fs} [simtime],您的技术就会奏效。通过将 simtime 放在花括号中,您要求将其视为文字字符串。方括号要求它尝试评估其中的表达式。您同样可以使用 WaveRestoreZoom {0 fs} [eval simtime].