dakupoto Posted February 11, 2013 Report Posted February 11, 2013 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. Quote
Philipp A Hartmann Posted February 11, 2013 Report Posted February 11, 2013 (edited) 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 February 11, 2013 by Philipp A. Hartmann maehne 1 Quote
dakupoto Posted February 13, 2013 Author Report Posted February 13, 2013 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. Quote
Recommended Posts
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.