Duke analizuar qarqet duke përdorur SystemC

Duke analizuar qarqet duke përdorur SystemC

SystemC është një tjetër mjet i madh për modelimin e pajisjeve. Ai përfshin të gjitha tiparet e C + +, të përdorura në të gjithë botën, dhe një bibliotekë klasë C + + e projektuar posaçërisht për dizajnin e sistemit. SystemC ka një implementim falas të burimit të hapur dhe mund ta përpiloni atë në një kod binar ekzekutiv shumë efikas me përpiluesin e Microsoft Visual Studio Community C ++. Në SystemC ju mund të modeloni hardware në një nivel më të lartë abstragimi sesa në HDL të tjerë dhe kështu për modelimin e disa pajisjeve shumë komplekse p.sh. mikrokontrollorët është më e lehtë dhe efikase për t'u përdorur sesa HDL të tjerë si VHDL ose Verilog.

Në v11 dhe versionet e mëvonshme të TINA ju gjithashtu mund të krijoni dhe përdorni komponentë të modeluar në SystemC si në TINA dhe TINACloud. Në vijim janë kërkesat për të përdorur SystemC me TINA.


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

Karakteristikat e filtrit dhe C-kodi janë dizajnuar nga veglat e lira në
http://t-filter.engineerjs.com/

Kodi C i gjeneruar u vendos në skedarin fir.cpp.

Run Analiza / Furierit Analiza / Furierit Spektri ...
Shtyp në dritaren e diagramit. Do të shfaqet Postprocesori. Tani vizatoni funksionin e transferimit.

Shtyp më shumë button. lloj Output (s) / Input (s) në Redaktimin e Linjës. Lloji H në emër të funksionit të ri. shtyp Krijo. shtyp OK. Zgjedh Shikoni / ndizni kthesa.
Rezultati është si më poshtë

Pjesa më e rëndësishme e makros së 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.