Тема: Ознайомлення з основними поняттями мови моделювання System C
Мета роботи: Ознайомитись з термінологією, специфікацією та іншими основними поняттями мови моделювання System C.
Які існують версії мови SystemC?
SystemC_1.0 i SystemC_2.0 .SystemC 2.0 - це розширення SystemC 1.0, тобто, всі можливості SystemC 1.0 підтримуються в SystemC 2.0.
Які типи даних використовуються у SystemC_1.0?
Типи даних, що зазвичай використовуються, включають біти, вектори бітів, символи, цілі числа, числа з плаваючою комою, вектори цілих чисел тощо. SystemC 1.0 також включає підтримку чотирьох станів логічних сигналів (тобто сигналів, які моделюють 0, 1, X, і Z).
Важливий тип даних, який присутній в SystemC 1.0, але відсутній в HDL, - це тип з фіксованою комою. Цей тип використовується для моделювання чисел з фіксованою комою в програмах цифрової обробки сигналів.
Назвіть новий тип даних, який підтримується у SystemC_2.0?
Bажлива особливість основи моделювання загального призначення в SystemC 2.0 називається «базовою мовою» і є центральним компонентом стандарту SystemC 2.0.
Дайте визначення поняттю канал?
Канал - це об'єкт, який служить контейнером для зв’язку і синхронізації. Канали реалізують один або більше інтерфейсів. Інтерфейс конкретизує набір методів доступу, які реалізуються в межах каналу, але інтерфейс безпосередньо не забезпечує реалізації.
Дайте визначення поняттю порт?
Порт - це об'єкт, через який модуль може мати доступ до інтерфейсу каналу. Але модулі можуть також мати прямий доступ до інтерфейсу каналу
11)Які елементи входять до моделі обчислень у SystemC_2.0?
В найширшому значенні, модель обчислення визначається наступним:
1) Модель робочого часу (дійсне значення, ціле значення, необмежений час) і події, примусово впорядковані в межах системи (глобально впорядковані, частково впорядковані, невпорядковані).
2) Підтримка методів зв’язку між паралельними процесами.
3) Правила для активації процесу.
Який фізичний зміст у апаратурі комп’ютерних систем має поняття модель часу у SystemC_2.0?
У SystemC 2.0, прості і гнучкі можливості синхронізації, що забезпечуються подіями і методом wait(), дають можливість підтримки широкого ряду різних типів каналу без необхідності змінювати базовий механізм симуляції. Вся необхідна функціональність вже присутня в ядрі симуляції. Таким чином, SystemC 2.0 підтримує дуже продуктивну групову модель обчислень. Тоді як глобальна модель часу приведена до моделі цілого числа, розробники можуть конструювати певні канали для досягнення їхніх визначених правил для зв’язку між процесами, активації процесу і впорядкування подій по всій системі.
15). Які моделі обчислень підтримує SystemC_2.0?
Деякі добре відомі моделі обчислення, які можуть абсолютно природно моделюватися в SystemC 2.0, включають:
Статичний багаторівневий потік даних
Динамічний багаторівневий потік даних
Kahn Process Networks (мережі обробки Кана)
Зв’язок послідовних процесів
Дискретна подія , що використовується для:
моделювання технічних засобів RTL
мережевого моделювання (напр. моделювання залу очікування)
моделювання платформи SoC, що базується на транзакціях
17). Що таке «чутливість процесу», які види чутливості існують?
Чутливість процесу визначає, коли цей процес буде відновлений або активований. Процес може бути чутливий до набору подій. Кожного разу, коли наступає одна з відповідних подій, процес відновлюється або активізується.
Статична Чутливість.Чутливість процесу оголошується статичною, тобто її не можна змінити протягом часу виконання. Так званий список чутливості використовується для визначення статичного набору подій.
Динамічна Чутливість.Чутливість процесу може мінятися протягом часу виконання
19). Які недоліки має модель часу з дійсними значеннями у порівнянні з моделлю з цілими значеннями?
Моделі часу з дійсними значеннями мають перевагу, яка полягає в тому, що „динамічний” діапазон одиниць часу набагато ширший, ніж в моделі часу з цілими значеннями. Але якщо подивитись на такі проблеми, як втрата значущих розрядів, переповнення та заокруглення часових значень при додаванні та приведенні до типу, модель часу з цілим значеннями має очевидні переваги.
Втрата значущих розрядів може виникнути, наприклад, коли дуже мале значення часу додається до дуже великого значення. Втрата значущих розрядів не може виникнути при використанні одиниць часу з цілими значеннями.
Переповнення виникає коли результуюча одиниця часу не може бути представлена базовим типом даних.
Останньою проблемою є заокруглення. Якщо час представлений цілим значенням, тоді моделі можуть бути змушені чекати впродовж періоду часу, який не завжди точно відповідає цілим одиницям часу. Це особливо поширено при підрахуванні затримок засобами оцінки чи підрахунку затримок.
Найбільшою проблемою є втрата значущих розрядів, оскільки це важко передбачити чи уникнути. Проблеми переповнення чи заокруглення легко визначити і донести до користувача в зручному вигляді. Тому надається перевага моделі часу з цілими значеннями.
21). Що таке «список чутливості» для опису модуля у SystemC_2.0?
В SystemC 1.0 статична чутливість підтримується списком чутливості для кожного процесу в модулі. Ці списки чутливості визначені в конструкторі модуля.
В деяких випадках нам потрібно щоб, процеси були чутливими до окремих подій або до сукупності подій, що можуть змінюватися в процесі виконання. Така динамічна чутливість може бути досягнена за допомогою методу wait() Цей метод створений для забезпечення очікування на окремі події або сукупності подій