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_METHOD(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