On 03/07/16 13:27, Walter F.J. Mueller wrote:
On 06/13/2016 08:22 PM, Tristan Gingold wrote:
On 12/06/16 17:25, Walter F.J. Mueller wrote:
Hi *,

I've some

    .../ieee/numeric_std-body.v93:1005:7:@3418333332fs:(assertion
warning): NUMERIC_STD.">": metavalue detected, returning FALSE

warning and would like to find out the source code line which triggered
this.
Is there any mechanism to find out ?

Backtraces are available, except on x86-64 linux.

Dear Tristan,

I've installed ghdl 0.34dev on a 64 bit Intel system (thus
amd64 or x86-64), recompiled everything with -'-g', and
backtraces seem to work. So I don't understand your proviso

  except on x86-64 linux

Ok, except on x86-64 linux when using mcode.

I get for example

  tb_pdp11core --assert-level=warning
    ../../src/ieee/numeric_std-body.v93:1309:7:@0ms:(assertion warning):
         NUMERIC_STD."<=": metavalue detected, returning FALSE
      tb_pdp11core:error: assertion failed
        from: ieee.numeric_std."<=" at numeric_std-body.v93:1314
        from: process work.pdp11_vmbox(syn).proc_next at
pdp11_vmbox.vhd:372
      tb_pdp11core:error: simulation failed

So far so good. However

  - backtraces are only shown when simulator aborts
  - no hierarchy info is included (unclear what current instance is)

So I wonder whether

- it is possible to print backtraces for all failed assertions, also
  the ones which do not abort the simulation ? Should probably be enabled
  via an option.

- it is possible to add the current process instance_name to the
  backtrace info ? My current work around is to use --trace-processes
  and look at the last 'run process' line before the backtrace.
  With process instance name and vhdl stack one has the full information.

Yes, both are doable. Can you open an issue on github so that this idea is not lost ?

Thanks,
Tristan.


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

Reply via email to