SystemC

Versione del 16 lug 2007 alle 11:27 di Beta16 (discussione | contributi) (nuova voce, traduzione da en.wiki da finire)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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
  }
};

Riferimenti

  1. SystemC.org sito ufficiale
  2. T. Grötker, S. Liao, G. Martin, S. Swan, System Design with SystemC. Springer, 2002. ISBN 1402070721
  3. A SystemC based Linux Live CD with C++/SystemC tutorial
  4. T. Grötker, S. Liao, G. Martin, S. Swan, System Design with SystemC. Springer, 2002. ISBN 1402070721
  5. J. Bhasker, A SystemC Primer, Second Edition, Star Galaxy Publishing, 2004. ISBN 0965039129
  6. D. C. Black, J. Donovan, SystemC: From the Ground Up, Springer 2005. ISBN 0387292403
  7. Frank Ghenassia (Editor), Transaction-Level Modeling with Systemc: Tlm Concepts and Applications for Embedded Systems, Springer 2006. ISBN 0387262326

Collegamenti esterni