HOME       UP       PREV       FURTHER NOTES       NEXT (SystemC Channels and Signals Continued)  

SystemC Channels and Signals

All primitive channels connect modules together.

Predefined channels include buffer, fifo, signal, mutex semaphore and clock.

RTL-style compute/commit is provided by the SystemC signals.

A signal is an abstract (templated) data type that has a current and next value.

Reads are of the current value. Writes are to the next value.

  int nv;
  sc_out    < int > data;
  sc_signal < int > mysig;
        nv += 1;
        data = nv;
        mysig = nv;
        printf("Before nv=%i, %i %i\n'', nv, data.read(), mysig.read());
        wait(10, SC_NS);
        printf("After  nv=%i, %i %i\n'', nv, data.read(), mysig.read());

Before nv=96, 95 95 After nv=96, 96 96

Instantiable channel provides implementations of methods read, write, update and value_changed.

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