Menganalisis Litar Menggunakan SystemC

Menganalisis Litar Menggunakan SystemC

SystemC adalah satu lagi alat hebat untuk pemodelan perkakasan. Ia termasuk semua ciri-ciri C ++, digunakan di seluruh dunia, dan perpustakaan kelas C + yang direka khas untuk reka bentuk sistem. SystemC mempunyai pelaksanaan bebas sumber terbuka dan anda boleh menyusunnya menjadi kod binari yang boleh dilaksanakan dengan sangat efisien dengan pengkompil Microsoft Visual Studio Community C ++ yang juga percuma. Di SystemC anda boleh model perkakasan pada tahap abstraksi yang lebih tinggi daripada HDL lain dan jadi untuk model beberapa perkakasan yang sangat kompleks seperti mikrokontroler ia lebih mudah dan cekap untuk digunakan berbanding HDL lain seperti VHDL atau Verilog.

Dalam versi v11 dan versi TINA, anda juga boleh membuat dan menggunakan komponen yang dimodelkan dalam SystemC di TINA dan TINACloud. Berikut adalah keperluan untuk menggunakan SystemC dengan TINA.


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

Ciri-ciri penapis dan kod C direka oleh alat percuma pada
http://t-filter.engineerjs.com/

C-code yang dihasilkan diletakkan di dalam fail fir.cpp.

Run Analisis / Fourier Analysis / Fourier Spectrum ...
Tekan butang dalam tetingkap rajah. Pemproses pasca akan muncul. Sekarang lukiskan fungsi pemindahan.

Tekan lebih butang. Taipkan Output / Input (s) dalam Edit Baris. Ketik H dalam nama fungsi baru. Tekan Buat. Tekan OK. Pilih Lengkung paparan / berasingan.
Hasilnya adalah berikut

Bahagian paling penting dalam makro 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.