VUnit / vunit

VUnit is a unit testing framework for VHDL/SystemVerilog
http://vunit.github.io/
Other
723 stars 258 forks source link

fix missing --gui=False option for ghdl backend #226

Closed StefanD986 closed 7 years ago

StefanD986 commented 7 years ago

When using the ghdl backend, it does not seem possible to generate .ghw/.vcd waveform files without automatically opening gtkwave: I tried the --gui=False switch that is listed in the documentation (https://vunit.github.io/cli.html#opening-a-test-case-in-simulator-gui section ghdl), but this is not accepted by the run.py script.

kraigher commented 7 years ago

GHDL has no gui, thus the --gui flag is not available. There is an --gtkwave flag though to open the result in gtkwave after simulation.

kraigher commented 7 years ago

So you are missing a way to emit waveform files without also opening a GUI? Could you clarify your use case? Do you want configure this permanently in the run.py file or set it from time to time on the command line when doing manual debugging?

StefanD986 commented 7 years ago

I know that ghdl has no GUI, but I was assuming that the "--gui" flag would refer to the gtkwave gui for the ghdl simulation backend.

Maybe I should rename the issue to make it clearer: There should be a way to produce the waveform data without automatically opening gtkwave.

kraigher commented 7 years ago

I have added what you want now. --gui replaces old --gtkwave flag. Use --gtkwave-fmt to explicitly set format when using --gui. Use --gtkwave-fmt without --gui to save files without launching gtkwave.

StefanD986 commented 7 years ago

Thank you! This exactly what I needed.

A bit more about the use case: I wanted the option to generate the waveform files without automatically opening gtkwave because it is always quite a bit of work to add the signals of interest to the gtkwave waveform view. What I usually do is: I simply keep my gtkwave session open between simulation runs, and then reload the file. This way I do not need to add my signals of interest again in gtkwave, it just updates the waveform graph view with the new data.