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

SystemC Structural Netlist

//Example of structural hierarchy and wiring between levels: 
SC_MODULE(shiftreg)  // Two-bit shift register 
{   sc_in  < bool >  clk, reset, din;
    sc_out < bool >  dout;
 
    sc_signal < bool > q1_s;
    dff dff1, dff2;      // Instantiate FFs
 
    SC_CTOR(shiftreg) : dff1("dff1"), dff2("dff2")
    {   dff1.clk(clk);
        dff1.reset(reset);
        dff1.d(din);
        dff1.q(q1_s);
 
        dff2.clk(clk);
        dff2.reset(reset);
        dff2.d(q1_s);
        dff2.q(dout);
    }
};

The sc_signal (extends sc_channel) should be used to obtain the compute/commit paradigm. Avoids non-determinacy from races on zero-delay flip-flops. » (See HERE.)

General SystemC channel provides general purpose interface between components.

Other SystemC channel types include FIFOs and semaphores.


18: (C) 2012-14, DJ Greaves, University of Cambridge, Computer Laboratory.   TAPE MISSING ICON