112855Sgabeblack@google.com#include "systemc.h" 212855Sgabeblack@google.com 312855Sgabeblack@google.comSC_MODULE(Y) 412855Sgabeblack@google.com{ 512855Sgabeblack@google.compublic: 612855Sgabeblack@google.com sc_in<bool> in; 712855Sgabeblack@google.com SC_CTOR(Y) : in("in") 812855Sgabeblack@google.com { 912855Sgabeblack@google.com SC_METHOD(comb); 1012855Sgabeblack@google.com sensitive << in; 1112855Sgabeblack@google.com init = 1; 1212855Sgabeblack@google.com } 1312855Sgabeblack@google.com int init; 1412855Sgabeblack@google.com void comb() 1512855Sgabeblack@google.com { 1612855Sgabeblack@google.com if ( init ) 1712855Sgabeblack@google.com { 1812855Sgabeblack@google.com init = 0; 1912855Sgabeblack@google.com SC_THREAD(dork); 2012855Sgabeblack@google.com } 2112855Sgabeblack@google.com } 2212855Sgabeblack@google.com void dork() 2312855Sgabeblack@google.com { 2412855Sgabeblack@google.com cout << "dork" << endl; 2512855Sgabeblack@google.com } 2612855Sgabeblack@google.com}; 2712855Sgabeblack@google.com 2812855Sgabeblack@google.comint sc_main(int argc, char* arg[]) 2912855Sgabeblack@google.com{ 3012855Sgabeblack@google.com sc_clock clock; 3112855Sgabeblack@google.com Y y("y"); 3212855Sgabeblack@google.com y.in(clock); 3312855Sgabeblack@google.com 3412855Sgabeblack@google.com 3512855Sgabeblack@google.com sc_start(10, SC_NS); 3613158Sgabeblack@google.com cout << "Program completed" << endl; 3712855Sgabeblack@google.com 3812855Sgabeblack@google.com return 0; 3912855Sgabeblack@google.com} 4012855Sgabeblack@google.com 41