Re: [Gtkwave-users] Request: better struct, union and enum viewing support
Brought to you by:
gtkwave,
joel1234567
From: <by...@nc...> - 2018-10-03 04:04:41
|
The structs/etc should be doable. The trick would be importing them as collapsible groups of signals rather than individual structure elements. As it stands right now, a hierarchy can be imported recursively in the SST however gtkwave currently doesn't do anything except import the individual signals, not preserve any groupings. The mouseover for structs is a nice idea. It's an extension of what gtkwave can already do for individual signals. See View->Show Mouseover. I think enum names as values might already be possible. See what Nick Gasson did for VHDL at https://github.com/nickg/nvc/blob/master/src/rt/fst.c I don't know if that would work for SV or be advisable, but it is one implementation out there. Note that the bulk of my effort lately has been adding touchscreen support. -Tony ---- Sergi Granell <xer...@gm...> wrote: > Hi! I've been using Verilator + GTKWave for a few months and currently I'm > trying to add a FST backend to Verilator so we can make it generate more > types of declarations (structs, enums, unions, etc). > > It would be nice if GTKWave could show types with other sub-types inside > (such as structs or unions) as a tree on the Signals panel, just as > Modelsim does (and also for arrays). See [1] (ex_mem_reg is a struct with > pc, instr, etc. inside). > > Another very nice feature would be to show a mouseover window/popup with > the list of all the struct/union members and their values when hovering > over such types, as seen in [2]. In the image, the instr field of the > ex_mem_reg struct is an union, that's why a list of different > decompositions of the value are shown, maybe that's a bit too much for now, > and this could be implemented in the future. > > And finally, another feature would be to print enum names instead (or also > with) their raw values, as can be seen in [3]. > > [1]: https://i.imgur.com/m1t0WEr.png > [2]: https://i.imgur.com/zYu1gPr.png > [3]: https://i.imgur.com/457x6MT.png |