емо логічні елементи наступних типів: АБО, І, АБО-НЕ, І-НЕ, НЕ, що виключає АБО. Всі логічні елементи взяті з підгрупи стандартні вентилі групи цифрові елементи. Користуючись інструментами
Малюнок 3.2 - Схема блоку ознак результату
«Select mode» (вибір), «Component mode» (компоненти) і «Wire mode» (Ланцюги) складаємо схему представлену на малюнку 3.1. Так само необхідно присвоїти імена вузлам схеми які будуть висновками мікросхеми, це виробляємо за допомогою інструменту «Text mode» (текст).
б) Ім'я створюваного компонента повинне збігатися з ім'ям макромоделі. Для того, що б встановити логічну залежність вихідних вузлів від вхідних, скористаємося логічним примітивом LOGICEXP. Необхідно задати великий ряд логічних виразів і що б вблагати його запис скористаємося проміжними змінними, призначивши які, ми можемо використовувати їх при подальшій запису. Проміжним змінним присвоюються імена за тими ж правилами, що іменам вузлів. Всі змінні в описуваних виразах пов'язані один з одним через логічні оператори, наведемо їх у порядку убування їх старшинства.
~ - логічне заперечення;
amp;- Логічне І;
^ - логічне виключає АБО:
| - логічне АБО
Призначимо затримки поширення сигналів за допомогою Примітив PINDLY. Один єдиний примітив PINDLY дозволяє моделювати тимчасові співвідношення і вихідні характеристики цілої інтегральної схеми. У дужках вказуємо кількість шляхів поширення сигналів від вхідних до вихідних вузлам, з кожним шляхом вхід - вихід асоціюється затримка, що обчислюється за певними правилами.
За допомогою секції BOOLEAN (булевского призначення) визначаються проміжні змінні, які будуть використані у визначенні затримки. У таблиці 3.1 перерахуємо булевские оператори в порядку убування їх старшинства.
Таблиця 3.3 -Булевскіе оператори
ОператорНазваніе ~ Логічне заперечення == Так само!=Не дорівнює amp; Логічне І ^ Логічне виключає АБО | Логічне АБО
Далі використовуючи функції зміни TRN_pn, де p - значення попереднього стану, а n - нового стану, призначаємо час затримки для кожного вихідного вузла. При цьому вираз має три значення затримок мінімальне, типове й максимальне. Для специфікації невідомої величини використовуємо - 1.
в) Найпростіша бібліотека графічних символів компонентів, що знаходиться у файлі STANDART.SHP, не містить фігури відповідної позначенню мікросхеми К155ІП3, тому необхідно її створити. Створення та редагування символів або умовних графічних позначень (УДО) компонентів принципових електричних схем здійснюється за допомогою графічного редактора, що викликається з меню Windows по команді Shape Editor.
г) Отриману макромодель і фігуру мікросхеми необхідно пов'язати між собою, для цього необхідно скористатися редактором компонентів. Редактор завантажується вибором в меню Windows команди Component Editor. З його допомогою редагується бібліотека компонентів (Component library), що містить всі компоненти від резисторів до макромоделей. Для кожного компонента в бібліотеку заноситься інформація про його ім'я, графіці символу, математичної моделі, розташуванні позиційного позначення та інших текстових атрибутів і даних про висновках. Бібліотека розбита на групи однотипних компонентів. Нам необхідно створити групу «цифрові компоненти», в ній створюємо групу «ТТЛ_Рус» в ній так само створюємо групу «К155», в яку вже буде вкладена група «ІП». До групи ІП додамо новий компонент, змінивши його назву з New_1 на K155IP3, заповнивши всі необхідні поля вікна Component editor, закриваємо його, зберігаючи при цьому зміни.
Нижче наведено лістинг отриманої макромоделі.
* ----------------------------------------------------------- K155IP3 ------
* Arithmetic Logic Units/Functions Generators
*
* The Pop Digital Chips, 1987, Pages 177 to 181
* Shilo V.L.
*
. SUBCKT K155IP3 A0 A1 A2 A3 B0 B1 B2 B3 S0 S1 S2 S3
+ CN M F0 F1 F2 F3 G CN4 P AEQUALB
+ optional: DPWR=$ G_DPWR DGND=$ G_DGND
+ params: MNTYMXDLY=0 IO_LEVEL=0IP3 LOGICEXP (14,8) DPWR DGND
+ A0 A1 A2 A3 B0 B1 B2 B3 S0 S1 S2 S3
+ CN M F0_O F1_O F2_O F3_O G_O CN4_O P_O AEQUALB_O
+ D0_GATE IO_STD MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}
+
+ LOGIC:
+ i1={~ ((S3 amp; A3 amp; B3) | (S2 amp; A3 amp; (~ B3)))}
+ i2={~ ((S1 amp; (~ B3)) | (S0 amp; B3) | A3)}
+ i3={~ ((S3 amp; A2 amp; B2) | (S2 amp; A2 amp; (~ B2)))}
+ i4={~...