void ctrl() { ts3.resume(); wait(10, SC_NS); ts1.resume(); ev.notify(); wait(10, SC_NS); ts2.resume(); tr2.sync_reset_off(); tr4.sync_reset_off(); wait(10, SC_NS); td2.enable(); wait(10, SC_NS); ev.notify(); wait(10, SC_NS); ev.notify(); td2.disable(); wait(10, SC_NS); td4.enable(); ts4.resume(); ev.notify(); }
void calling() { wait(15, SC_NS); t.sync_reset_on(); wait(10, SC_NS); t.sync_reset_off(); wait(10, SC_NS); t.reset(); wait(SC_ZERO_TIME); sc_stop(); }
void calling() { wait(SC_ZERO_TIME); count = 1; t1.suspend(SC_INCLUDE_DESCENDANTS); ev.notify(5, SC_NS); wait(10, SC_NS); count = 2; t1.resume(SC_INCLUDE_DESCENDANTS); wait(10, SC_NS); count = 3; t1.disable(SC_INCLUDE_DESCENDANTS); ev.notify(5, SC_NS); wait(10, SC_NS); count = 4; t1.enable(SC_INCLUDE_DESCENDANTS); wait(10, SC_NS); count = 5; ev.notify(); wait(10, SC_NS); count = 6; t1.sync_reset_on(SC_INCLUDE_DESCENDANTS); wait(10, SC_NS); count = 7; ev.notify(); wait(10, SC_NS); count = 8; t1.sync_reset_off(SC_INCLUDE_DESCENDANTS); wait(sc_time(110, SC_NS) - sc_time_stamp()); count = 10; t4.reset(SC_INCLUDE_DESCENDANTS); wait(sc_time(210, SC_NS) - sc_time_stamp()); t7.throw_it(ex, SC_INCLUDE_DESCENDANTS); }
void calling() { wait(15, SC_NS); // Target runs at time 10 NS due to notification t.sync_reset_on(); // Target does not run at time 15 NS wait(10, SC_NS); // Target is reset at time 20 NS due to notification wait(10, SC_NS); // Target is reset again at time 30 NS due to notification t.sync_reset_off(); // Target does not run at time 35 NS wait(10, SC_NS); // Target runs at time 40 NS due to notification sc_stop(); }
void calling() { wait(SC_ZERO_TIME); count = 1; ev.notify(5, SC_NS); wait(10, SC_NS); count = 2; t1.throw_it(ex); sc_assert( t1.valid() ); sc_assert( !t1.terminated() ); sc_assert(f4); wait(10, SC_NS); count = 3; t4.throw_it(ex); // Throw exception in method process sc_assert( t4.valid() ); sc_assert( !t4.terminated() ); wait(sc_time(200, SC_NS) - sc_time_stamp()); count = 4; t1.suspend(); ev.notify(5, SC_NS); wait(10, SC_NS); count = 5; t1.throw_it(ex); wait(10, SC_NS); count = 6; t1.throw_it(ex); sc_assert( t1.valid() ); sc_assert( !t1.terminated() ); wait(10, SC_NS); count = 7; t1.resume(); wait(sc_time(300, SC_NS) - sc_time_stamp()); count = 8; t1.disable(); ev.notify(5, SC_NS); wait(10, SC_NS); count = 9; t1.throw_it(ex); wait(10, SC_NS); count = 10; t1.throw_it(ex); wait(10, SC_NS); count = 11; t1.enable(); wait(sc_time(400, SC_NS) - sc_time_stamp()); count = 12; t1.sync_reset_on(); ev.notify(5, SC_NS); wait(10, SC_NS); wait(sc_time(400, SC_NS) - sc_time_stamp()); count = 13; t1.throw_it(ex); wait(10, SC_NS); count = 14; t1.throw_it(ex); wait(10, SC_NS); count = 15; t1.sync_reset_off(); wait(sc_time(500, SC_NS) - sc_time_stamp()); count = 16; ev.notify(); t1.throw_it(ex); wait(10, SC_NS); count = 17; t1.reset(); wait(sc_time(600, SC_NS) - sc_time_stamp()); count = 18; t1.disable(); t5.enable(); areset.write(false); wait(10, SC_NS); count = 19; ev.notify(); wait(10, SC_NS); count = 20; ev.notify(); wait(10, SC_NS); count = 21; areset.write(true); wait(10, SC_NS); count = 22; t5.throw_it(ex); wait(10, SC_NS); count = 23; ev.notify(); wait(10, SC_NS); count = 24; t5.throw_it(ex); wait(10, SC_NS); count = 25; areset.write(false); wait(sc_time(700, SC_NS) - sc_time_stamp()); count = 26; ev.notify(); wait(10, SC_NS); // async_reset_signal_is ? }
void ctrl() { wait(SC_ZERO_TIME); sc_assert( sc_delta_count() == 1 ); count = 1; ev.notify(); wait(target_awoke_event); count = 2; ev.notify(); t.suspend(); yield(); count = 2; t.resume(); wait(target_awoke_event); count = 3; ev.notify(); t.disable(); wait(target_awoke_event); count = 4; ev.notify(); yield(); count = 5; t.enable(); yield(); count = 6; ev.notify(); wait(target_awoke_event); count = 7; t.suspend(); ev.notify(); yield(); count = 8; t.resume(); wait(target_awoke_event); count = 9; reset_count = 9; t.sync_reset_on(); ev.notify(); wait(target_awoke_event); count = 10; reset_count = 10; ev.notify(); wait(target_awoke_event); count = 11; t.sync_reset_off(); ev.notify(); wait(target_awoke_event); count = 12; t.resume(); t.enable(); t.sync_reset_off(); yield(); count = 13; ev.notify(); wait(target_awoke_event); count = 14; reset_count = 14; t.reset(); count = 15; ev.notify(); wait(target_awoke_event); count = 16; reset_count = 16; t.reset(); count = 17; t.throw_it(ex); count = 18; t.kill(); yield(); count = 19; m.enable(); ev.notify(); wait(target_awoke_event); count = 20; ev.notify(); m.suspend(); yield(); count = 21; m.resume(); wait(target_awoke_event); count = 22; m.suspend(); ev.notify(); yield(); count = 23; m.resume(); wait(target_awoke_event); count = 24; m.suspend(); ev.notify(); count = 25; m.resume(); wait(target_awoke_event); count = 26; reset_count = 26; m.sync_reset_on(); ev.notify(); wait(target_awoke_event); count = 27; m.disable(); ev.notify(); yield(); count = 28; reset_count = 28; m.enable(); ev.notify(); wait(target_awoke_event); count = 29; m.sync_reset_off(); m.enable(); m.resume(); yield(); count = 30; reset_count = 30; m.reset(); count = 31; m.kill(); yield(); sc_assert( sc_delta_count() == 1 ); f27 = 1; }