SystemC

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

SystemC — мова проектування і верифікації моделей електронних пристроїв системного рівня, реалізована у вигляді C++ бібліотеки з відкритим вихідним кодом[1]. Бібліотека включає в себе ядро ​​подієвого моделювання, що дозволяє отримати виконувану модель пристрою. Мова застосовується для побудови транзакційних і поведінкових моделей, а також для високорівневого синтезу.

Мова SystemC використовує ряд понять, схожих з тими, які мають мови опису апаратури VHDL і Verilog: інтерфейси, процеси, сигнали, наповненості, ієрархія модулів. Стандарт SystemC не вносить обмеження на використання мови C++ при описі моделей систем.

Розроблено чернетка стандарту на логічного синтез SystemC, метою якого є визначити підмножин мов С++ і SystemC, придатних для поведінкового і RTL синтезу.

Приклад програмного коду

[ред. | ред. код]
#include "systemc.h"

SC_MODULE(adder)          // module (class) declaration
{
  sc_in<int> a, b;        // ports
  sc_out<int> sum;

  void do_add()           // process
  {
    sum.write(a.read() + b.read()); //or just sum = a + b
  }

  SC_CTOR(adder)          // constructor
  {
    SC_METHOD(do_add);    // register do_add to kernel
    sensitive << a << b;  // sensitivity list of do_add
  }
};

Примітки

[ред. | ред. код]
  1. About SystemC. Архів оригіналу за 28 жовтня 2007. Процитовано 24 березня 2016.