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 comment
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

Edited by Philipp A. Hartmann
Link to comment
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 comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...