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
}
};
Примітки
- About SystemC. Архів оригіналу за 28 жовтня 2007. Процитовано 24 березня 2016.