Adding fst and struct trace support
I have added support for tracing the structure correctly in the waveform
I have also added fst format to reduce the trace file size since tracing the structure increases the file size.
Are there any ways to check if the metadata has changed so we can make Verilator perform a recompile? Now, if I turn the vl_trace_struct off, I must delete the obj directory to make the flag take effect.
I think we write some specific metadata into a comment in the generated verilog so when we regenerate the verilog with different metadata it ends up forcing a recompile? Maybe you can see how we do this for VCD tracing? We have a way where if you turn on VCD tracing it results in forcing Verilator to do a recompile?
Here's where we do the check: https://github.com/pymtl/pymtl3/blob/4b3bc183b14ffacd069f48dc5997b00045aea53f/pymtl3/passes/backends/verilog/import_/VerilogVerilatorImportPass.py#L340-L347
Is the [0] after a 1-bit signal in the trace added by Verilator? Or is it coming from the RTL translation pass?
Is the
[0]after a 1-bit signal in the trace added by Verilator? Or is it coming from the RTL translation pass?
I think it comes from the translated verilog.
I want to fix that, but it will probably be in another pull request. I will open an issue and ask where to look.