Closed 64 closed 7 months ago
Do you have any information on which simulator or other tool generates VCDs with multi-dimensional arrays? I couldn't find a specific tool mentioned in the issue that you linked.
The linked issue indicates that VCS produces such output. Unfortunately the tool I'm using is an internal simulation tool, but GTKWave seems to accept this while wellen dies
Just to clarify: You are looking for support for the option where each entry of the multi-dimensional array is represented as a separate variable, correct?
That seems to be the VCS behavior which is described in the issue you linked:
Simulators such as VCS will dump out the elements individually logic [2:0][7:0] a
would be dumped as separate $var entries: a[2][7:0] a[1][7:0] a[0][7:0]
If that is the case, that should be quite doable to support.
While you cannot share your simulator, would you be able to provide us with a more complete test file and give us permission to include it in our test suite? While your example is enough to make wellen
crash, it would be nice to have a larger "real" file to test the complete support on.
Thanks for opening this issue!
I probably can't share the actual dump that I was looking at locally, since it contains a lot of details about some very proprietary bit of hardware :sweat_smile:, but next week I'll try to make a more complete reproduction that could be included in a test here
I also run into a few other crashes, possibly from other places where the tool does not spit out something strictly according to the VCD spec, and will look into those further
but next week I'll try to make a more complete reproduction that could be included in a test here
That would be awesome!
In general I am interested in supporting output from as many tools as possible, doesn't matter whether they conform to the (paywalled) VCD standard or not. I do prioritize working on tools depending on the number of users and also on whether they are open-source.
If you can provide me with some example VCDs that I can open in GTKWave to see what you want them to be rendered like, there is a good chance I will find some time over the next couple of weeks to add support to wellen.
It is possible that your issue is fixed with the latest wellen
release. Please try out Surfer once this PR is merged and let me know: https://gitlab.com/surfer-project/surfer/-/merge_requests/332
And it was merged. Please check out the latest surfer
(compiled from the main
branch) and if it still crashes, please re-open this issue.
See https://github.com/gtkwave/gtkwave/issues/304
Some tools will output multi-dimensional arrays in a VCD file:
Currently this crashes Wellen with a parse error on this line: https://github.com/ekiwi/waveform-rust/blob/7f08ad43a488963d3484b302912593d254304ab2/src/vcd.rs#L351
Full reproducer: