Analyser kredsløb ved hjælp af SystemC

Analyser kredsløb ved hjælp af SystemC

SystemC er et andet godt værktøj til modellering af hardware. Det indeholder alle funktionerne i C ++, der anvendes over hele verden, og et C ++ klassebibliotek specielt designet til systemdesign. SystemC har en fri implementering af open source, og du kan kompilere den i en meget effektiv eksekverbar binær kode med den gratis Microsoft Visual Studio Community C ++-kompilator. I SystemC kan du modelere hardware på et højere abstraktionsniveau end i andre HDL'er og så til modellering af meget kompleks hardware, f.eks. Mikrocontrollere, er det mere nemt og effektivt at bruge end andre HDL'er som VHDL eller Verilog.

I v11 og senere versioner af TINA kan du også oprette og bruge komponenter modelleret i SystemC både i TINA og TINACloud. Følgende er kravene til at bruge SystemC med TINA.


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

Filteregenskaberne og C-koden er designet af det frie værktøj på
http://t-filter.engineerjs.com/

Den genererede C-kode blev placeret i fir.cpp-filen.

Kør Analyse / Fourier Analyse / Fourier Spectrum ...
Tryk knappen i diagramvinduet. Postprocessoren vises. Træk nu overføringsfunktionen.

Tryk Mere knap. Type Output (s) / Input (s) i linjen rediger. Skriv H i det nye funktionsnavn. Trykke Opret. Trykke OK. Vælg Se / separate kurver.
Resultatet er følgende

Den vigtigste del af SystemC-makroen:

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.