Analizând circuitele folosind SystemC

Analizând circuitele folosind SystemC

SystemC este un alt instrument excelent pentru modelarea hardware-ului. Acesta include toate caracteristicile C ++, utilizate peste tot în lume, și o bibliotecă de clasă C ++ special concepută pentru proiectarea sistemului. SystemC are o implementare liberă cu sursă liberă și o puteți compila într-un cod binar executabil foarte eficient, cu compilatorul Microsoft Visual C ++ gratuit pentru Visual Studio Community C ++. În SystemC puteți modela hardware-ul la un nivel mai ridicat de abstractizare decât în ​​alte HDL-uri și deci pentru modelarea unor hardware foarte complexe, de exemplu microcontrolere, este mai ușor și mai eficient de folosit decât alte HDL cum ar fi VHDL sau Verilog.

În v11 și în versiunile ulterioare ale TINA puteți crea și utiliza și componentele modelate în SystemC atât în ​​TINA, cât și în TINACloud. Următoarele sunt cerințele pentru utilizarea SystemC cu TINA.


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

Caracteristicile filtrului și codul C sunt proiectate de instrumentul gratuit la
http://t-filter.engineerjs.com/

Codul C generat a fost plasat în fișierul fir.cpp.

Analiză de rulare / Analiză Fourier / Spectru Fourier ...
Apăsaţi butonul din fereastra diagramei. Va apărea postprocesorul. Acum trageți funcția de transfer.

Apăsaţi Mai Mult buton. Tip Ieșire (e) / de intrare (e) în Editarea liniei. Introduceți H în noul nume al funcției. presa Crea. presa OK. Selecta Vedere / curbe separate.
Rezultatul este următorul

Cea mai importantă parte a macrocomenzii 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.