Моделювання цифрового сигналу
Моделювання дискретних сигналів та логічних схем.
Мета заняття
1. Ознайомитись із можливостями програми Microcap 9.0.
2. Навчитися моделювати і цифрові сигнали, і логічні схеми.
Постановка задачі
1. Побудувати модель генератора дискретних сигналів.
2. Побудувати модель логічної функції згідно з наведеним завданням.
Зміст звіту
1. Постановка завдання конкретного варіанта.
2. Тимчасові характеристики заданої моделі.
Методичні вказівки
Моделювання цифрового сигналу.
Для моделювання аналогового сигналу у програмі Microcap призначені компоненти розділуStimulus Generators (Component → Digital Primitives → Stimulus Generator).
У розділі Stimulus Generator містяться такі основні компоненти:
Dclock - генератор тактових імпульсів.
Stim1 – програмований генератор цифрових сигналів, з одним виходом.
Stim2 – програмований генератор цифрових сигналів з двома виходами.
Stim4 - програмований генератор цифрових сигналів, з чотирма виходами.
Stim8 - програмований генератор цифрових сигналів, з вісьмома виходами.
Stim16 - програмований генератор цифрових сигналів, з шістнадцятьма виходами.
Програмування компонентів Stim ведеться шляхом завдання часових інтервалів для рівнів логічного "0" та логічного "1".
Для створення сигналу перемикання з логічного нуля на логічну одиницю (рис. 1) необхідно виконати такі дії.

Рисунок 1 Перемикання з рівня логічного "0" на рівень логічного "1"
1. Створити нову схему.
2. ПоставитиелементStim1 (Component → Digital Primitives → Stimulus Generator → Stim1).
3. У вікні параметрів знайти поле введення програмного тексту. У полі введення програмного тексту стоїть початкова директива .define_.
4. У полі введення програмного тексту вписати наступний текст:
+0ns 0 (з моменту 0нс від початку – рівень логічного «0»)
+100ns 1 (з моменту 100нс від початку – рівень логічної «1»)
5. Закрийте вікно параметрів.
6. Запустити Transient-аналіз. Тимчасовий діапазон поставити до 1мкс. По осі X встановити час (T). По осі Y – d(1) – цифровий сигнал на вузлі №1.
Для створення однієї цифрової одиниці (рис. 2.) програмний текст виглядатиме так:
+0ns 0 (з моменту 0нс від початку – рівень логічного «0»)
+100ns 1 (з моменту 100нс від початку – рівень логічної «1»)
+200ns 0 (з моменту 200нс від початку – рівень логічного «0»)

Рисунок 2 Логічна одиниця
Тимчасові затримки можна задавати не лише від 0, а й від останньої зміни.
+0ns 0 (з моменту 0нс від початку – рівень логічного «0»)
++100ns 1 (через 100нс – рівень логічної «1»)
++100ns 0 (ще через +100нс – рівень логічного «0»)
Для створення декількох цифрових послідовностей, що повторюються, використовуються циклічні конструкції.
Для створення послідовності 010101 (рис. 3) програмний текст буде виглядати так:
+label=start (початок циклу)
++100ns 1 (через 100нс перемикання на 1)
++100ns 0 (ще через 100нс перемикання в 0)
++100ns goto start 3 times (повторити тіло циклу ще тричі)

Рисунок 3 Цифрова послідовність (010101)
Якщо потрібно віддатинескінченну послідовність, то програмний текст модифікується так:
+label=start (початок циклу)
++100ns 1 (через 100нс перемикання на 1)
++100ns 0 (ще через 100нс перемикання в 0)
++100ns goto start -1 times (повторити тіло циклу нескінченне число разів)
| наступна лекція = = gt; | ||
| Методичні вказівки щодо виконання лабораторної роботи | Розрахунок за методом функціональних точок |