-
Notifications
You must be signed in to change notification settings - Fork 347
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FST support for custom types #2527
Comments
As I remember, FST (fast) is a format invented by GTKwave as a faster replacement for VCD and compressed VCD. So it's limited to Verilog features. (VCD - Value-Change-Dump is a format defined by Verilog.) Internally, GTKwave reads all waveform formats for representation. So when GTKwave has problems to handle a 300MB GHW file, I assume it also has problems with a 300 MB FST file. Have you already reported that issue to GTKwave? Tony Bybell can analyze which parts of GTKwave consumes most memory when opening such large files. It might be interesting to describe if your simulation is
For GHDL and GHW, you can limit the number of signals written into a waveform. See the --read-wave-opt= simulation option. This should enhance simulation speed (less disk I/O) and filesize/complexity (less hierarchy levels). |
If you recompile a very recent ghdl with the mcode backend, the support of FST has been improved. But as mentioned by @Paebbels GTKWave has a limited support for record/arrays. |
@Paebbels I have opened an issue to GTKwave (gtkwave/gtkwave#280). Thank you for suggesting the |
@albydnc The surfer waveform viewer has a different GHW implementation than GTKWave and is now able to load your file. You will have to use a local installation though, the web version is significantly slower which makes a difference for large files like yours. Feel free to report any problems you find to the surfer issue tracker. GHW support is very new, so there are definitely still some bugs. One major issue that we are aware of is that enums are currently rendered as numbers instead of their string values. We are working on fixing that. |
I am trying to work on a quite large and complex design (GHW ~ 300 MB). GTKwave is not capable of opening such file, resulting into enormous RAM usage and hanging.
I tried to switch to FST since it should be much better for handling big designs in GTKwave. The issue is that my design has a lot of subtypes, many of which are arrays and they are not exported into the FST format (nor the VCD).
E.g. I have arrays of
std_logic_vector
which are ignored completely.Is it possible to export these into FST? Is there a workaround?
The text was updated successfully, but these errors were encountered: