Аналіз схем за допомогою SystemC

Аналіз схем за допомогою SystemC

SystemC є ще одним чудовим інструментом для моделювання апаратних засобів. Вона включає в себе всі можливості C ++, що використовуються в усьому світі, і бібліотеку класів C ++, спеціально розроблену для проектування системи. SystemC має безкоштовну реалізацію з відкритим вихідним кодом, і ви можете скомпілювати її в дуже ефективний виконуваний двійковий код з також безкоштовним компілятором Visual Studio Community C ++ від Microsoft. У SystemC можна моделювати апаратне забезпечення на більш високому рівні абстракції, ніж в інших HDL, і тому для моделювання деяких дуже складних апаратних засобів, наприклад, мікроконтролерів, це легше і ефективніше використовувати, ніж інші HDL, як VHDL або Verilog.

У v11 і пізніших версіях TINA ви також можете створювати і використовувати компоненти, модельовані в SystemC як в TINA, так і в TINACloud. Нижче наведено вимоги до використання SystemC з TINA.


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

Характеристики фільтрів і C-код розроблені безкоштовним інструментом at
http://t-filter.engineerjs.com/

Сформований C-код був поміщений у файл fir.cpp.

Аналіз виконання / Аналіз Фур'є / Спектр Фур'є ...
Натисніть у вікні діаграми. З'явиться Постпроцесор. Тепер намалюйте передавальну функцію.

Натисніть більше . Тип Вихідні дані / вхідні дані у редагуванні рядка. Введіть H у новій назві функції. Натисніть Створювати. Прес OK. Вибирати Перегляд / Окремі криві.
Результатом є наступне

Найважливіша частина макросу 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.