#define SC_INCLUDE_DYNAMIC_PROCESSES #include using namespace sc_core; using namespace sc_dt; using namespace std; struct Top: sc_module { SC_CTOR(Top) { SC_THREAD(T); //SC_METHOD(MPOS); // dont_initialize(); // sensitive << sig.posedge_event(); SC_METHOD(MNEG); dont_initialize(); sensitive << sig.negedge_event(); } sc_signal sig; void T() { cout << "T time = " << sc_time_stamp() << ", delta count " << sc_delta_count() << endl; sig.write(false); wait(1, SC_NS); cout << "T time = " << sc_time_stamp() << ", delta count " << sc_delta_count() << endl; sig.write(true); cout << "T time = " << sc_time_stamp() << ", delta count " << sc_delta_count() << endl; wait(1, SC_NS); cout << "sig.event() = " << sig.event() << endl; cout << "T time = " << sc_time_stamp() << ", delta count " << sc_delta_count() << endl; wait(1, SC_NS); cout << "T time = " << sc_time_stamp() << ", delta count " << sc_delta_count() << endl; sig.write(false); cout << "T time = " << sc_time_stamp() << ", delta count " << sc_delta_count() << endl; } void MPOS() { cout << "MPOS time = " << sc_time_stamp() << ", delta count " << sc_delta_count() << endl; } void MNEG() { cout << "MNEG time = " << sc_time_stamp() << ", delta count " << sc_delta_count() << endl; } }; int sc_main(int argc, char* argv[]) { Top top("top"); sc_start(); return 0; }