SystemC Kullanarak Devrelerin Analizi

SystemC Kullanarak Devrelerin Analizi

SystemC, donanımın modellenmesi için bir başka harika araçtır. Tüm dünyada kullanılan C ++ 'ın tüm özelliklerini ve özel olarak sistem tasarımı için tasarlanmış bir C ++ sınıf kütüphanesini içerir. SystemC açık kaynaklı ücretsiz bir uygulamaya sahiptir ve Microsoft'un ücretsiz Visual Studio Community C ++ derleyicisi ile çok verimli bir çalıştırılabilir ikili kod halinde derleyebilirsiniz. SystemC'de donanımı diğer HDL'lerden daha yüksek bir soyutlama düzeyinde modelleyebilirsiniz ve böylece çok karmaşık bazı donanımları modellemek için, örneğin mikrodenetleyiciler, VHDL veya Verilog gibi diğer HDL'lerden daha kolay ve verimlidir.

V11 ve TINA'nın sonraki sürümlerinde, hem TINA hem de TINACloud'da SystemC'de modüle edilmiş bileşenler oluşturabilir ve kullanabilirsiniz. Aşağıdakiler, SystemC'yi TINA ile kullanmak için gereksinimlerdir.


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

Filtre özellikleri ve C kodu, ücretsiz araç tarafından dizayn edilmiştir.
http://t-filter.engineerjs.com/

Üretilen C kodu fir.cpp dosyasına yerleştirildi.

Run Analizi / Fourier Analizi / Fourier Spektrumu…
Basın Diyagram penceresinde düğmesini. Post işlemcisi görünecektir. Şimdi transfer fonksiyonunu çizin.

Basın Daha buton. tip Çıkış (lar) / giriş (ler) Satır Düzenleme'de. Yeni işlev adına H yazın. Basın oluşturmak. Basın OK. Seçmek Görünüm / Ayrı eğriler.
Sonuç şudur

SystemC makrosunun en önemli kısmı:

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.