test01.cpp revision 12855:588919e0e4aa
1#include "systemc.h" 2#include "sc_barrier.h" 3using sc_dp::sc_barrier; 4 5SC_MODULE(X) 6{ 7 SC_CTOR(X) 8 { 9 sc_thread_handle last_thread; 10 11 SC_THREAD(a); 12 SC_THREAD(b); 13 SC_THREAD(c); 14 15 m_barrier.initialize(3); 16 } 17 void a() 18 { 19 wait(5.0, SC_NS); 20 m_barrier.wait(); 21 cout << sc_time_stamp() << " - a" << endl; 22 } 23 void b() 24 { 25 wait(11.0, SC_NS); 26 m_barrier.wait(); 27 cout << sc_time_stamp() << " - b" << endl; 28 } 29 void c() 30 { 31 m_barrier.wait(); 32 cout << sc_time_stamp() << " - c" << endl; 33 } 34 sc_barrier m_barrier; 35}; 36 37int sc_main( int argc, char* argv[] ) 38{ 39 sc_clock clock; 40 X x("x"); 41 42 sc_start(1000, SC_NS); 43 44 cerr << "Program completed" << endl; 45 return 0; 46} 47 48