Jump to content

What does this SystemC 2.3 warning mean ?


dakupoto

Recommended Posts

Could some SystemC guru please shed light on the

following SystemC 2.3 warning? This is the model of

a simple inverter, with VCD file tracing in the test

harness, as well as console output.

SystemC 2.3.0-ASI --- Jul 19 2012 18:53:11

Copyright © 1996-2012 by all Contributors,

ALL RIGHTS RESERVED

Note: VCD trace timescale unit is set by user to 1.000000e-09 sec.

1e-09 1 0

2e-09 0 1

3e-09 1 0

Warning: (W571) no activity or clock movement for sc_start() invocation

In file: sc_simcontext.cpp:1606

3e-09 0 0

Trace Warning:

Multiple cycles found with same (3) time units count.

Waveform viewers will only show the states of the last one.

Use ((vcd_trace_file*)vcdfile)->sc_set_vcd_time_unit(int exponent10_seconds)

to increase time resolution.

4e-09 1 0

5e-09 0 1

6e-09 1 0

Info: /OSCI/SystemC: Simulation stopped by user.

Link to post
Share on other sites

3e-09 1 0

Warning: (W571) no activity or clock movement for sc_start() invocation

In file: sc_simcontext.cpp:1606

3e-09 0 0

Trace Warning:

Multiple cycles found with same (3) time units count.

Waveform viewers will only show the states of the last one.

Use ((vcd_trace_file*)vcdfile)->sc_set_vcd_time_unit(int exponent10_seconds)

to increase time resolution.

(Rather wild guess based on the output:) At 3ns, you start the simulation via sc_start() (with no parameters), although there is no pending activity in your system (no processes need to be run, no events unprocessed, …). Therefore, the simulation returns immediately, without any changes and the simulation time stays the same.

The following trace warning is probably a follow-up problem caused by the testbench code.

You can avoid such empty calls, by checking for pending activity first:

if( sc_pending_activity() )
 sc_start();

Alternatively, you can run the simulation with an explicit time step, which at least moves the simulation time (depending on the sc_starvation_policy).

/Philipp

Link to post
Share on other sites

Hello Phillip,

Actually, I do have sc_start with non-zero arguments,

as sc_core::sc_start(1.0, sc_core::SC_NS);

It seems like, and I am not sure, that there was some

clash with the VCD file creation. I have used similar

sc_start statements, with VCD file creation in other

modules, but there was no problem.

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...