Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
Лабораторна робота №2
з дисципліни " Комп*ютерні системи "
Тема роботи: Ознайомлення з основними конструкціями мови моделювання System C
Варіант 13
Мета роботи: Ознайомлення з основними конструкціями мови
моделювання System C
1) Поясніть поняття “примітивний канал ”.
Примітивні канали не наслідують жодної видимої структури, не містять процесів і не можуть (напряму) доступатися до інших примітивних каналів.
2) Поясніть поняття “простий канал ”
Канал – один чи декілька інтерфейсів служить як контейнер для функціональності
зв’язку. Канал – це не обов’язково з’єднання типу точка-точка; він може бути підключений до двох і більше модулів.
Одночасні дії вимагають спеціальної обробки як у випадку простих каналів, таких як сигнали, так і у випадку більш спеціалізованих типів простих каналів. Приклади включають одночасні операції читання і запису як у випадку черги, так і у випадку одночасного запиту на шину кількох активних елементів.
3) Поясніть поняття “ієрархічний канал ”.
Ієрархічний канал – модуль,тобто він може мати структуру, містити процеси та може звертатися безпосередньо до інших каналів. Як канал, модуль повинен походити від одного чи багатьох класів інтерфейсу.
Ієрархічні канали дуже корисні для моделювання нового покоління інфраструктур зв’язку SoC.
4) Коли використовуються примітивні канали?
Примітивні канали використовують:
n Коли потрібно використовувати схему модифікації запиту.
n Коли канали базові і їх не можна поділити на дрібініші частини.
n Коли швидкість критична величина (при примітивних каналах, можно скоротити кількість дельта-циклів )
n Коли не має змісту намагатись створити канал (наприклад семафор або прапорець стану) поза процесами і іншими каналами.
5) Коли використовуються ієрархічні канали?
Ієрархічні канали використовують:
n Коли канали є дійсно ієрархічними і користувачі хотіли б мати змогу дослідити внутрішню структуру.
n Коли канали містять процеси.
n Коли канали містять інші канали.
6) Що включають атрибути каналу?
Атрибути каналу можуть використовуватися для конфігурації сполучення по окремим портам. Атрибути каналу корисні, коли модулі сполучені з шиною. Тоді атрибути включають:
n Адреси (у випадку, коли модуль не використовує спеціалізовані порти, де адреси були визначені як аргументи методів доступу)
n Схеми адресації (наприклад базова адреса проти авто-приросту)
n Підключення модуля як господаря чи раба, або господаря/раба
n Пріоритети
n Розміри буфера
Використання атрибутів каналу є більш сприятливим ніж використання спеціалізованих портів, тому що вони краще допомагають утримувати функцію і сполучення відокремленими.
7) Наведіть правило проектування каналу sc_signal<T>.
Може бути під’єднано не більш ніж один драйвер, тобто не більше ніж один вихід (sc_out<T>) або двонаправлений порт (sc_inout<T>).
· Може під'єднуватися довільне число вхідних портів (sc_in<T>).
8) Наведіть правило проектування каналу sc_resolved_rv<N> .
Довільна кількість вхідних, вихідних, і двонаправлених портів може приєднуватися.
9) Наведіть правило проектування каналу sc_fifo<T> .
· Може бути приєднано не більше одного вхідного порту.
· Може бути приєднано не більше одного вихідного порту.
· Заборонені двонаправлені порти.
10) Дайте приклади на SystemC підключення портів до каналу.
// створити канал типу ‘fifo’ з буфером розміром у 10 одиниць;
sc_fifo<int> fifo( 10 );
// з’єднати рорт ‘out’ з модуля ‘mod_a’ до каналу;
// this will register port ‘out’ with channel ‘fifo’
mod_a.out( fifo );
// connect port ‘in’ from module ‘mod_b’ to the channel;
// this will register port ‘in’ with channel ‘fifo’
11) Які є типи портів у SystemC?
Порт – об’єкт, через який модуль, і його процеси, можуть звертатися до інтерфейсу каналу. В SystemC 1.0, є три основні типи портів: sc_in<T>, sc_out<T>, і sc_inout<T>. Вони отримані з базового класу sc_port. Кожен з них забезпечує набір методів інтерфейсу: read() і write(). Спеціалізовані порти можна створити вдосконаленням базового класу портів sc_port, або одного із наперед визнечених типів портів.
12) Дайте приклади реалізації інтерфейсів на SystemC.
приклад read інтерфейсу: sc_read_if
// цей інтерфейс забезпечує метод 'read'
template <class T>
class sc_read_if
: public sc_interface
{
public:
// методи інтерфейсу
virtual const T& read() const = 0;
};
2)
// приклад write інтерфейсу: sc_write_if
// цей інтерфейс забезпечує метод ‘write’
template <class T>
class sc_write_if
: public sc_interface
{
public:
// методи інтерфейсу
virtual void write( const T& ) = 0;
};
// приклад read/write інтерфейсу:sc_read_write_if
template <class T>
class sc_read_write_if
: public sc_read_if<T>,
public sc_write_if<T>
{};
Висновок. На даній лабораторній роботі я ознайомився з основними конструкціями мови моделювання System C.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!