Analiza krugova pomoću SystemC

Analiza krugova pomoću SystemC

SystemC je još jedan odličan alat za modeliranje hardvera. To uključuje sve značajke C + +, korištene u cijelom svijetu, i C ++ klasa knjižnica posebno dizajniran za dizajn sustava. SystemC ima open-source besplatnu implementaciju i možete je kompajlirati u vrlo učinkovit izvršni binarni kod sa također besplatnim kompilatorom Visual Studio Community C ++ tvrtke Microsoft. U SystemC možete model hardvera na višoj razini apstrakcije nego u drugim HDLs i tako za modeliranje neke vrlo složen hardver, npr. Mikrokontrolera je više lako i učinkovito koristiti od drugih HDLs poput VHDL ili Verilog.

U v11 i kasnijim verzijama TINA-e možete kreirati i koristiti komponente modelirane u SystemC-u i u TINA-u iu TINACloud-u. Slijede zahtjevi za korištenje SystemC-a s TINA-om.


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

Značajke filtra i C-kod je dizajniran od strane besplatnog alata na
http://t-filter.engineerjs.com/

Generirani C-kod je smješten u fir.cpp datoteku.

Analiza izvođenja / Fourierova analiza / Fourier spektar…
Pritisnite u prozoru dijagrama. Pojavit će se postprocesor. Sada nacrtajte prijenosnu funkciju.

Pritisnite Više dugme. Tip Izlaz (s) / unosa (s) u uređivanju retka. Upišite H u novo ime funkcije. tisak stvoriti, tisak OK. Odabrati Prikaz / Odvojene krivulje.
Rezultat je sljedeći

Najvažniji dio makronaredbe 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.