Schaltkreise mit SystemC analysieren

Schaltkreise mit SystemC analysieren

SystemC ist ein weiteres großartiges Tool zum Modellieren von Hardware. Es enthält alle Funktionen von C ++, die auf der ganzen Welt verwendet werden, und eine C ++ - Klassenbibliothek, die speziell für das Systemdesign entwickelt wurde. SystemC hat eine Open-Source-freie Implementierung und Sie können es mit dem ebenfalls kostenlosen Visual Studio Community C ++ Compiler von Microsoft zu einem sehr effizienten ausführbaren Binärcode kompilieren. In SystemC können Sie Hardware auf einer höheren Abstraktionsebene als in anderen HDLs modellieren. Daher ist die Modellierung einiger sehr komplexer Hardware, z. B. von Mikrocontrollern, einfacher und effizienter als bei anderen HDLs wie VHDL oder Verilog.

In v11 und späteren Versionen von TINA können Sie auch in SystemC modellierte Komponenten sowohl in TINA als auch in TINACloud erstellen und verwenden. Die folgenden Anforderungen gelten für die Verwendung von SystemC mit TINA.


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

Die Filtereigenschaften und der C-Code werden vom kostenlosen Tool bei entworfen
http://t-filter.engineerjs.com/

Der generierte C-Code wurde in die Datei fir.cpp gestellt.

Laufanalyse / Fourier-Analyse / Fourier-Spektrum…
Drücken Sie die Taste Schaltfläche im Diagrammfenster. Der Postprozessor wird angezeigt. Zeichnen Sie nun die Übertragungsfunktion.

Drücken Sie die Taste Weiteres Taste. Art Output (s) / Input (s) in der Zeile Bearbeiten. Geben Sie H in den neuen Funktionsnamen ein. Drücken Sie Erstellen. Drücken Sie OK. Wählen Kurven anzeigen / trennen.
Das Ergebnis ist das Folgende

Der wichtigste Teil des SystemC-Makros:

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.