Spesso si pensa al SystemC come ad un linguaggio di descrizione hardware, simile al VHDL o al Verilog, ma più precisamente è un linguaggio di descrizione dei sistemi, poiché mostra la sua potenza di funzionamento nei modelli a transizione di livelli e comportamentali.

Il SystemC è un set di librerie in C++ con cui è possibile simulare processi concorrenti, ovvero che avvengono nello stesso momento, ognuno descritto attraverso la sintassi C++. Nell'ambiente di lavoro del SystemC, gli oggetti descritti in questo modo possono comunicare in un ambiente simulato real-time attraverso tutti i tipi di segnale che offre il C++, ed altri offerti dalle librerie SystemC, oltre a quelli definiti dal programmatore.

Esempio

Esempio di codice per un sommatore:

#include "systemc.h"

SC_MODULE(adder)          // module (class) declaration
{
  sc_in<int> a, b;        // ports
  sc_out<int> sum;

  void do_add()           // process
  {
    sum = a + b;
  }

  SC_CTOR(adder)          // constructor
  {
    SC_METHOD(do_add);    // register do_add to kernel
    sensitive << a << b;  // sensitivity list of do_add
  }
};

Bibliografia

Collegamenti esterni