I have some testbench code that communicates (via signals) in zero-time. For example, assume I have modules tbA and tbB. tbA sends data to tbB by doing: process begin tbA_data <= std_logic_vector(to_unsigned(16#a5a5#, 16)); tbA_rdy <= '1'; wait until tbB_acpt = '1'; tbA_rdy <= '0'; wait until tbB_acpt = '0'; assert false report "Transfer complete" severity note; end process; And in tbB, it accepts the data doing: process begin wait until tbA_rdy = '1'; tbB_data <= tbA_data; tbB_acpt <= '1'; wait until tbA_rdy = '0'; tbB_acpt <= '0'; wait until tbA_rdy = '0'; wait; end process; The idea is that I can exchange information between testbench blocks in zero-time (i.e. not advancing the simulation) for things like control and logging. I've paraphrased it above, but things aren't working. I'd like to visualize the problem. Gtkwave won't display anything because it seems to ignore the deltas. And using ghwdump, I get the signal alias (apparently) rather than the name, and vectors are split into individual aliases. So, is there any way to visualize these delta events so I can debug my problems? Thanks, Pete -- -- "To love for the sake of being loved is human; to love for the sake of loving is Angelic." -- Alphonse de Lamartine
on 2009-02-12 02:17
on 2009-02-12 06:14
On Wed, Feb 11, 2009 at 05:15:59PM -0800, Peter LaDow wrote: > I have some testbench code that communicates (via signals) in > zero-time. For example, assume I have modules tbA and tbB. tbA sends > data to tbB by doing: [...] > The idea is that I can exchange information between testbench blocks > in zero-time (i.e. not advancing the simulation) for things like > control and logging. I've paraphrased it above, but things aren't > working. I'd like to visualize the problem. Gtkwave won't display > anything because it seems to ignore the deltas. And using ghwdump, I > get the signal alias (apparently) rather than the name, and vectors > are split into individual aliases. > > So, is there any way to visualize these delta events so I can debug my problems? Delta events are not stored into vcd or ghw files. I once thought about dumping them to .ghw but then gtkwave must be enhanced to display them. The only way to display deltas is to use --trace-signals option. Tristan.
on 2009-02-13 18:02
On Wed, Feb 11, 2009 at 9:13 PM, Tristan Gingold <tgingold@free.fr> wrote: >> working. I'd like to visualize the problem. Gtkwave won't display >> anything because it seems to ignore the deltas. And using ghwdump, I >> get the signal alias (apparently) rather than the name, and vectors >> are split into individual aliases. >> >> So, is there any way to visualize these delta events so I can debug my problems? > > Delta events are not stored into vcd or ghw files. I once thought about dumping > them to .ghw but then gtkwave must be enhanced to display them. > > The only way to display deltas is to use --trace-signals option. Thanks for the tip. The --trace-signals gave me enough information to debug things. Pete -- -- "To love for the sake of being loved is human; to love for the sake of loving is Angelic." -- Alphonse de Lamartine