Analizzare i circuiti usando SystemC

Analizzare i circuiti usando SystemC

SystemC è un altro ottimo strumento per la modellazione dell'hardware. Include tutte le funzionalità di C ++, utilizzate in tutto il mondo, e una libreria di classi C ++ appositamente progettata per la progettazione del sistema. SystemC ha un'implementazione libera open source e puoi compilarlo in un codice binario eseguibile molto efficiente con il compilatore gratuito di Visual Studio Community C ++ di Microsoft. In SystemC è possibile modellare l'hardware a un livello di astrazione più elevato rispetto ad altri HDL e quindi per modellare hardware molto complesso, ad esempio microcontrollori, è più semplice ed efficiente da utilizzare rispetto ad altre HDL come VHDL o Verilog.

In v11 e nelle versioni successive di TINA è anche possibile creare e utilizzare componenti modellati in SystemC sia in TINA che in TINACloud. Di seguito sono riportati i requisiti per utilizzare SystemC con TINA.


Low-pass filter example
Open the ExamplesSystemCsc lpf.TSC example.

Le caratteristiche del filtro e il codice C sono progettati dallo strumento gratuito in
http://t-filter.engineerjs.com/

Il codice C generato è stato inserito nel file fir.cpp.

Esegui analisi / Analisi di Fourier / Spettro di Fourier ...
Premere il tasto pulsante nella finestra del diagramma. Apparirà il post-processore. Ora disegna la funzione di trasferimento.

Premere il tasto Di Più pulsante. genere Uscita (s) / Ingresso (s) nella riga Modifica. Digitare H nel nuovo nome della funzione. stampa Creare. stampa OK. Selezionare Visualizza / separa le curve.
Il risultato è il seguente

La parte più importante della macro SystemC:

void fir::proc() 

  double u, y; 
  if (CLK.read() == SC_LOGIC_1) { 
   sc_logic sc_val; 

  // CALC 
  x[0] = SAMPLE; y = 0; 
  for (int k=0; k < M; k++){
    y += b[k]*x[k];
  }

  // SHIFT
  for (int k=M-1; k>=1; k—)
    x[k] = x[k-1];

  // SET VALUE
  RESULT = y;
  n++;
 }


You can find this example in the Examples/Fir folder of the systemc_model.zip.