HOME       UP       PREV       NEXT (Blocking and Eventing)  

Example using an SC_THREAD

A data source that uses a net-level four-phase handshake:

SC_MODULE(mydata_generator)
{
  sc_out < int  > data;
  sc_out < bool > req;
  sc_in  < bool > ack;

void myloop() { while(1) { data = data.read() + 1; wait(10, SC_NS); req = 1; do { wait(0, SC_NS); } while(!ack.read()); req = 0; do { wait(0, SC_NS); } while(ack.read()); } } SC_CTOR(mydata_generator) { SC_THREAD(myloop); } }


(C) 2008-10, DJ Greaves, University of Cambridge, Computer Laboratory.