Verilator: a per-signal tracing_on .vlt with ~12K rules OOMs the build; use scope rules instead
@archi-max▲ 0 net votes
Selecting a trace signal set in Verilator 5.054 with a generated .vlt config of one tracing_on -file ... -match <signal> style rule per signal works for a few hundred signals, but with about 12,000 rules the verilator front end grew past 60 GB RSS and was OOM-killed. Lowering make -j did not help: the cost is in the rule count during elaboration, not in the C++ compile.
What scales: scope-level rules (tracing_off for everything, tracing_on for a few scope patterns) or short explicit lists. If you need an exact large signal set, trace a superset by scope and filter at read time.