Hi,

I'm using ghdl -> ghw -> gtkwave.
I'm using a lot of vhdl records.

When I look into the gtkwave signal names I see that the same character '.'
is used as separator in
  - entity instantiation hierarchy
  - record element hierarchy

The net result is that I get signal names like

   top.tb_nexys4_cram.uut.uarb.rbsel.clk
   top.tb_nexys4_cram.uut.uarb.rbsel.r_sel
   top.tb_nexys4_cram.uut.uarb.rbsel.rb_mreq.addr[15:0]
   top.tb_nexys4_cram.uut.uarb.rbsel.rb_mreq.aval
   top.tb_nexys4_cram.uut.uarb.rbsel.rb_mreq.din[15:0]
   top.tb_nexys4_cram.uut.uarb.rbsel.rb_mreq.init
   top.tb_nexys4_cram.uut.uarb.rbsel.rb_mreq.re
   top.tb_nexys4_cram.uut.uarb.rbsel.rb_mreq.we
   top.tb_nexys4_cram.uut.uarb.rbsel.sel

In this case

   top.tb_nexys4_cram.uut.uarb.rbsel

is the instantiation path of an entity, with has the signals

   clk        scalar
   r_sel      scalar
   sel        scalar
   rb_mreq    record

the record rb_mreq has the elements addr,...,we.

There is no way for example to select, only based on name, all signals of
a given entity. That would require different separators, like

   top/tb_nexys4_cram/uut/uarb/rbsel/clk
   top/tb_nexys4_cram/uut/uarb/rbsel/rb_mreq.aval

where it be clear that 'top/tb_nexys4_cram/uut/uarb/rbsel' is an instance
path and 'aval' is an element of record type signal 'rb_mreq'.

So I wonder where the information got lost

  - when writing the ghw file with ghdl
  - when reading the ghw file with gtkwave

When I look at ghwdump I lean toward the second option, ghwdump shows that
all type information is included in the ghw file.

I'd very much appreciate if somebody could comment on this.


         With best regards,          Walter

_______________________________________________
Ghdl-discuss mailing list
Ghdl-discuss@gna.org
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to