- •1. Аналіз класів пам’яті змінних
- •2. Аналіз класів пам’яті функцій.
- •3. Концепція типу у мові програмування. Аналіз відомих методів типізації
- •4. Вільні масиви в мові програмування Сі, їх призначення та відмінність від звичайних. Навести приклади опису та застосування.
- •7, 26. Правила формування атрибутів доступу до членів похідного класу в залежності від атрибуту доступу базового класу та заданого атрибуту у списку спадкування.
- •8, 27. Вказівники та динамічна пам’ять. Аналіз методів виділення та звільнення динамічної пам’яті
- •9, 28. Аналіз методів передачі параметрів до підпрограм через локальні та нелокальні середовища
- •10. Зв’язний список та наскрізний прохід по зв’язному списку. Операції над зв’язними списками. Додавання та вилучення елементів у зв’язному списку. Навести приклади.
- •11. Структури даних. Типові статичні та динамічні структури даних. Доступ до даних.
- •12. Аналіз методів подання графів у вигляді динамічних та статичних структур даних. Матриця суміжності
- •13. Парадигма об’єктно-орієнтованого програмування та основні його принципи, їх зміст.
- •14. Порівняльний аналіз статичних та віртуальних методів в об’єктно-орієнтованому програмуванні, їх особливості. Призначення та правила формування конструкторів та деструкторів.
- •15. Правила віртуалізації методів в ооп.
- •16. Поняття технології створення програмного забезпечення та основні технологічні етапи. Приклади технологій.
- •17. Взаємозв’язок імен масивів та вказівників в мові програмування Сі. Операції над вказівниками. Приклади для одно- та двомірних масивів.
- •18. Контейнерні класи та їх призначення
- •19, 29. Вкладені класи та їх призначення.
- •20. Локальні класи та їх призначення
- •23. Абстрактні типи даних, правила і засоби їх формування.
- •30. Математичні моделі біполярного транзистора програми Spice
- •31. Алгоритм розрахунку перехідної характеристики програми Spice
- •32. Алгоритм розрахунку режиму за постійним струмом програми Spice
- •34. Поняття об’єкту в мові vhdl
- •35. Поняття сигналу в мові vhdl. Драйвер сигналу
- •36. Модель дискретного часу в мові vhdl.
- •37. Модель польового транзистора програми Spice
- •38. Архітектурне тіло та об’єкт в мові vhdl
- •39. Призначення та можливості програми spice
- •40. Оператор процесу в мові vhdl
- •41. Створення структурного опису цифрової системи мовою vhdl
- •42. Змінні та сигнали в мові vhdl
- •43. Присвоювання сигналу в мові vhdl
- •44. Планування транзакцій та драйвер сигналу в мові vhdl
- •45. Розрахунок амплітудно-частотної характеристики в програмі Spice.
- •46. Послідовні та паралельні оператори мови vhdl
- •47. Створення примірників компонентів та опис топології цифрового пристрою мовою vhdl
- •48.Опис рівня регістрової передачі мовою vhdl
- •49. Вхідна мова програми Spice
- •50. Модель Еберса-Мола біполярного транзистора
- •51. Модель Гумеля-Пуна біполярного транзистора
- •52. Інерційна та транспортна затримки в мові vhdl
- •53. Принципи роботи системного інтерфейсу isa (8 біт).
- •54. Стандарти систем автоматизації, побудованих на основі системних інтерфейсів.
- •55. Інтерфейс hs-488 ( швидкісний канал спільного користування).
- •57, 66, 70, 71.Канал спільного користування. Структура магістралі. Робота шини. Реалізація інтерфейсу.
- •58, 73. Приладовий інтерфейс (канал загального користування). Адресування приладів на магістралі. Алгоритми обміну інформацією в магістралі.
- •59. Приладовий інтерфейс (канал загального користування). Пошук джерела сигналу “запит на обслуговування”. Послідовне опитування.
- •60. Приладовий інтерфейс (канал загального користування). Пошук джерела сигналу “запит на обслуговування”. Паралельне опитування
- •64. Основні принципи перетворення сигналів. Дискретизація сигналів. Цифро-аналогові перетворювачі.
- •67, 72. Основні принципи перетворення сигналів. Дискретизація сигналів. Цифро-аналогові перетворювачі.
- •65, 68, 69. Аналогово-цифрове перетворення. Принципи роботи. Реалізація інтерфейсу з ibm pc. Реалізація систем збору інформації
41. Створення структурного опису цифрової системи мовою vhdl
Для того, щоб здійснювати моделювання деякої цифрової системи, її спочатку треба описати. Існує два методи опису – структурний і поведінковий.
Елемент, який реалізує нашу цифрову систему, у мові VHDL називається об’єктом (entity) проекту. Він може складатися з декількох простіших об’єктів (примірників компонентів (component)). Опис деякого об’єкта через простіші компоненти називають структурним описом цифрової системи, він характеризує внутрішню структуру системи. Але часто описувати об’єкт таким чином недоцільно або ж взагалі неможливо, наприклад, якщо цей елемент є найпростішим, і за допомогою нього далі будуються інші структурні описи. У такому випадку використовують поведінковий опис, суть якого полягає у описі функцій, які виконує об’єкт, а не його внутрішньої структури.
Р
озглянемо
детальніше як здійснюється структурний
опис цифрових систем. RS-тригер,
наприклад, можна реалізувати за допомогою
двох елементів АБО_НІ (класична
схема такого тригера - зліва).
Схема, за якою робитимемо структурний
опис на малюнку нижче. Щоб користуватися
елементами АБО-НІ (n_or),
вони вже повинні бути описані. Вважатимемо,
що такий опис уже здійснено.
Тепер покажемо приклад структурного опису нашого RS - тригера через два елементи n_or. Спочатку робиться оголошення об’єкта, яке є описом зовнішнього інтерфейсу, в ньому вказуються порти і параметри настроювання. RS - тригер має два входи та два виходи. Нижче наведено його оголошення:
entity rstrg is
port( r: in bit; --входи
s: in bit;
q: out bit; --виходи
qn: out bit);
end rstrg;
Структурний опис матиме вигляд:
architecture structure of rstrg is
component n_or --оголошення компонента n_or
generic( delay : time);
port( a : in bit;
b : in bit;
c : in bit;
--оголошення внутрішніх сигналів
signal st1 : bit:=’0’;
signal st2 : bit:=’1’;
begin
u1: n_or – створення примірника u1 компонента n_or
generic map (5ns)
-- специфікація параметра настроювання
port map (a=>s, b=>st2, c=>st1);
-- приєднання сигналів до портів компонента
U2: n_or – створення примірника u2 компонента n_or
generic map (5ns)
port map (st1, r, st2);
q<= st1;
qn<=st2;
end structure;
У цьому архітектурному тілі спочатку було оголошено компонент n_or, потім два внутрішніх сигнали st1 i st2. Далі створено два примірники компонента n_or та з’єднано їх порти із внутрішніми сигналами та портами об’єкта rstrg. Наприклад, як бачимо для u1 у дужках після port map вказується, що його порт а з’єднується з портом s тригера, а порти b та c зі внутрішніми сигналами st2 та st1 відповідно. Тут з’єднання задаються іменами,а для u2 – позиціями. Тобто на першій позиції стоїть st1, на другій – r. На третій – st2, це означає, що вони будуть з’єднані відповідно з портами a, b і c (в такому порядку як і в оголошенні компонента).
Таким чином здійснено структурний опис RS – тригера.
42. Змінні та сигнали в мові vhdl
Обєкт даних – це іменована сутність,яка асоційована з деяким типом. Перед використанням об’єкт даних потрібно оголосити у розділі оголошень. У VHDL є три класи обєктів даних:константи, змінні та сигнали.
Змінна - об’єкт даних, значення якого може змінюватися оператором присвоєння після того, як він створений. Перед використанням змінну потрібно оголосити
оголошення_змінної ::= variable список_ідентифікаторів : опис_підтипу[:=вираз];
Якщо в оголошенні змінної присутній ініціалізуючий вираз, то при оголошенні змінної він обчислюється та присвоюється їй. Якщо цей вираз відсутній, то змінна ініціалізується значенням за замовчанням. Значення за замовчанням для скалярних типів – це крайнє ліве значення типу. Воно передує у списку перерахованого типу, найменше у зростаючому діапазоні чи найбільше – у спадаючому. Якщо змінна має складений тип, то значенням за замовчанням буде агрегат значень за замовчанням кожного поля. Ці самі правила справедливі й для ініціалізації сигналів.
Деякі приклади оголошень змінних:
variable count: natural := 0;
variable trace : trace_array;
Якщо припустити, що тип trace_array – масив елементів типу boolean,тоді початкове значення змінної trace – масив із восьми елементів, які мають значення false.
Для існуючого об’єкта можна створити додаткову назву всього об’єкта чи назву окремої його частини. Це робиться за допомогою оголошення псевдоніму(alias):
Оголошення_псевдоніму ::= alias ідентифікатор: опис підтипу is імя;
Псевдонім інтерпретується як додаткове імя об’єкта чи його частини, вказаної в оголошенні псевдоніму. Наприклад :
variable instr : bit_vector(31down to 0);
alias op_code : bit_vector(7 downto 0) is instr (31 downto 24);
У цьому прикладі імя op_code є назвою восьми лівих бітів змінної instr.
Сигнали використовуються для передачі інформації між об’єктами (примірниками компонентів, процесами,блоками ), що розташовані в архітектурному тілі. Перед використанням сигнали потрібно оголосити :
оголошення_сигналу ::=
signal список_ідентифікаторів : опис_підтипу
[ клас_сигналу ]
[ := вираз ]
клас_сигналу ::=register | bus
Вираз в оголошенні може використовуватися для того, щоб протягом стадії ініціалізації моделювання присвоїти сигналу початкове значення. Якщо він відсутній, то сигналу буде присвоєно початкове значення за замовчуванням.
Сигнали, клас яких явно не вказано, називають незахищеними. Захищені сигнали обов’язково мають тип, що дозволяє розв’язання конфліктів.
Клас сигналу визначає,яким буде його значення,якщо всі драйвери від’єднано. Сигнал класу регістр після відключення драйверів зберігає останнє своє значення. Такі сигнали використовують для моделювання елементів пам`яті. Значення сигналу класу шина,коли від нього відключено всі драйвери, визначається функцією розв`язанння конфліктів.
