#include using sc_core::sc_delta_count; using sc_core::sc_is_running; using sc_core::SC_ZERO_TIME; using sc_core::sc_start; using sc_core::sc_event; using sc_core::SC_NS; using std::cout; using std::endl; // D.1 6) sc_delta_count() SC_MODULE(M) { SC_CTOR(M) { SC_THREAD(T); } void T() { cout << "T() " << sc_is_running() << " " << sc_delta_count() << endl; wait(10, SC_NS); cout << "T() " << sc_is_running() << " " << sc_delta_count() << endl; wait(10, SC_NS); cout << "T() " << sc_is_running() << " " << sc_delta_count() << endl; wait(10, SC_NS); cout << "T() " << sc_is_running() << " " << sc_delta_count() << endl; } }; SC_MODULE(Top) { M *m; SC_CTOR(Top) { m = new M("m"); } }; int sc_main(int argc, char* argv[]) { sc_assert(sc_delta_count() == 0); Top top("top"); sc_start(); cout << endl << "Success" << endl; return 0; }