Schakelingen analyseren met SystemC

Schakelingen analyseren met SystemC

SystemC is een ander geweldig hulpmiddel voor het modelleren van hardware. Het bevat alle functies van C ++, die over de hele wereld worden gebruikt, en een C ++ -klassebibliotheek die speciaal is ontworpen voor systeemontwerp. SystemC heeft een open-source gratis implementatie en u kunt het compileren in een zeer efficiënte uitvoerbare binaire code met de ook gratis Visual Studio Community C ++ -compiler van Microsoft. In SystemC kun je hardware modelleren op een hoger abstractieniveau dan in andere HDL's en dus voor het modelleren van een aantal zeer complexe hardware, bijv. Microcontrollers, is het gemakkelijker en efficiënter in gebruik dan andere HDL's zoals VHDL of Verilog.

In v11 en latere versies van TINA kunt u ook componenten maken en gebruiken die zijn gemodelleerd in SystemC, zowel in TINA als in TINACloud. Hieronder volgen de vereisten om SystemC met TINA te gebruiken.


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

De filterkarakteristieken en C-code zijn ontworpen door de gratis tool op
http://t-filter.engineerjs.com/

De gegenereerde C-code is in het bestand fir.cpp geplaatst.

Run-analyse / Fourier-analyse / Fourier-spectrum ...
Druk op de knop in het diagramvenster. De post-processor verschijnt. Teken nu de overdrachtsfunctie.

Druk op de Meer knop. Type Output (s) / Input (s) in de regelbewerking. Type H in de nieuwe functienaam. druk op creëren. pers OK. Kiezen Bekijk / afzonderlijke curves.
Het resultaat is het volgende

Het belangrijkste onderdeel van de SystemC-macro:

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.