如何使用 Verilator 跟踪特定信号?

How to trace specific signals using Verilator?

我有一个系统,我想使用 Verilator 进行跟踪,但是使用 VCD 跟踪文件对资源要求很高(数百 GB)并且非常耗时。我把trace文件类型改成了FST,文件大小还算合理,但是还是比较费时间。跟踪整个系统不是我目前的目标,因为我只想要 8 个信号的值,而不是系统的 16000 个信号。

如何使用 Verilator 跟踪特定信号?

如有任何帮助或提示,我们将不胜感激。

Verilator 手册对此有一个常见问题解答:How do I speed up writing large waveform (trace) files?

这些是建议(简要):

  1. 延迟调用open
  2. 添加 /*verilator tracing_off*/ 元注释
  3. 使用--trace-depth 1选项
  4. FST(您已经尝试过了)
  5. 将跟踪文件写入本地 solid-state 驱动器,而不是网络驱动器