On 10/09/2016 08:41 AM, David Koontz wrote:
Your issue appears to be that you can't meta select the elements ofa record
> type object with top.tb_nexys4_cram.uut.uarb.rbsel.rb_mreq where rb_mreq is > a record. You can select top.tb_nexys4_cram.uut.uarb.rbsel.clk.
But guess what?
Hi David, There is no problem with the GUI to select individual signals. That works. Unless there are generics where at least my ghdl version seems to have a serious issue, see https://github.com/tgingold/ghdl/issues/158 I have many designs, for different boards, often similar (just ported), always recycling common building blocks. When debugging it is very tedious collect the relevant signals in gtkwave each time via the GUI. The save file feature is of very limited help (full path, quickly becomes obsolete after changes). Since gtkwave has a nice tcl interface to almost every function I wrote a set of tcl scripts which - determine after startup all available signals and store this in data structures tailored for easy access - allow to select signals with easy 'glob' type filters I can now do things like gtwaddsig **.state --> will add the signal 'state' from each entity gtwaddsig **.uut.uarb.** --> will add all signals from all entities below 'uut.rlink' gtwaddsig **.uut.rlink.r_* --> will add all signals matching 'r_*' in entity 'uut.rlink' Logic is simple, currently '*' matches only characters in identifiers while '**' also matches the '.' delimiter. This is very helpful, with a short setup script, which can be easily easily edited, I get all the signals I like on the display. I usually ** the top level, which is the design name, so these setup scripts are often portable between designs. Also it's easy to factor this, e.g. to have a script which adds signals from a communication interface. In this context I would like to be able to distinguish with a wild card between - all entities below a given point - all signals (simple or record) of one entity Currently I can't, when I specify gtwaddsig **.uut.uarb.* I get all simple signals of entity **.uut.uarb but no records fields. When I write gtwaddsig **.uut.uarb.** I get the record fields, but in case there are also further entities instantiated, I get also all signals from this sub-tree. I hope that made clear 1. what I want to do 2. why there is information loss when hierarchy and record field separator the same With best regards, Walter _______________________________________________ Ghdl-discuss mailing list Ghdl-discuss@gna.org https://mail.gna.org/listinfo/ghdl-discuss