[an error occurred while processing this directive]
|
Сейчас я вдумчиво читаю спецификацию SystemC v2.0
SystemC - это не язык. Это набор классов, типов данных и правил, надстроенных над C++, никак не затрагивающих собственно C++.
SystemC - это договоренность о том, как надо писать на C++, чтобы полученный код можно было однозначно разобрать как описание пространственной выч.структуры.
В спецификации SystemC четко прописано, что если можно пользоваться родными сишными типами, то рекомендуется пользоваться ими. Ну а если нужны типы с четырьмя состояниями (0,1,X,Z) - то только тогда пользуйте sc_logic и т.д. Вводятся ключевые для аппаратуры типы как sc_time, sc_event, sc_mutex и т.д. Предлагаются шаблоны для модулей, портов/интерфейсов и каналов, правила для event-based моделирования.
Саtapult со своим якобы синтезируемым C++ jn этого тоже никуда не уходит - в user guide прописаны такие же правила. Только более мутные. Поэтому надеятся на то, что Catapult отсинтезит произвольный C++ код не стоит - дешевле будет оформить его в соответствии с SystemC.
E-mail: info@telesys.ru