Разработка цифрового узла, создание его структурных и поведенческих моделей (на языках SPICE, DSL, VHDL, в пакетах DesignLab 8, OrCAD 9.1, Active-HDL 6.2), страница 3

Проектируемый узел К555ИВ3 – приоритетный шифратор.

Шифраторы переводят сигнал, поданный только в один входной провод в выходной параллельный двоичный код. Чтобы шифратор откликался на входной сигнал только одного провода, его схему делают приоритетной. Тогда выходной код должен соответствовать номеру  активного «старшего» входа.

Шифратор К555ИВ3 принимает напряжения логических уровней по девяти входам  I9-I1 и генерирует выходной двоично-десятичный код на выходах Y3-Y0. Когда на один их входов I9-I1 подано напряжение низкого уровня, на выходах Y3-Y0 появляется соответствующий двоичный код (активные уровни - низкие).

Входы I9-I1 приоритетные, наибольший приоритет у входа I9.

Данный шифратор имеет только девять входов данных, если на все девять входов поступили только напряжения высокого уровня, то на всех выходах также будут высокие уровни напряжений.

7.   Проектирование микросхемы К555ИВ3 в САПР DesignLab 8.

7.1.            УГО проектируемого узла.

Рис. 3. Условное графическое обозначение проектируемого элемента.


7.2.            Схема замещения проектируемого узла.

Рис. 4. Схема замещения проектируемого узла.


Схема замещения получилась  «объёмнее»  исходной (см. Приложение 1, стр.4). Это объясняется необходимостью расположения на схеме дополнительных элементов-повторителей (выполняющих роль элементов задержек), чтобы задержки распространения сигналов соответствовали табличным задержкам (п. 5).

Помимо этого, для построения схемы замещения не были найдены в стандартных элементах библиотеки 74LS элементы с функциями 5И и 4ИЛИ-НЕ, поэтому их пришлось собирать из имеющихся (см. Приложение 3). Из-за этого задержка этих двух элементов оказалась больше остальных, что в свою очередь потребовало добавление ещё нескольких повторителей для «выравнивания» задержек.

Также хочется отметить, что хоть схема замещения и получилась достаточно громоздкой, всё же было решено не размещать её на нескольких листах: целиком её гораздо легче «читать» (помогло при поиске ошибок в схеме). А они были – в литературе [2]. При сравнении схемы замещения в этой книге со схемой в фирменной документации (Приложение 1) было обнаружено, что элемент 2ИЛИ-НЕ «превратился» в 2И-НЕ.

7.3.            Текстовое SPICE-описание моделируемого узла.

Содержимое файла К555IV3.cir:

* Путь к моделируемой схеме:

* C:\Program Files\MSim_8\Projects\KR\K555IV3\K555IV3.sch

* Версия САПР на которой проводилось моделирование

* Schematics Version 8.0 - July 1997

* Дата моделирования:

* Sun Dec 02 14:02:01 2007

* Шаг и конечное время моделирования:

** Analysis setup **

.tran 20ns 2000ns

.OPTIONS DIGMNTYMX=2

* Путь к файлу с внешними воздействиями:

.STMLIB "C:\Program Files\MSim_8\Projects\KR\K555IV3\K555IV3.stl"

* Подключенные библиотеки:

* From [SCHEMATICS NETLIST] section of msim.ini:

.lib "C:\Program Files\MSim_8\UserLib\KR_Lib_K555\K555.LIB"

.lib "nom.lib"

* Файлы со списком элементов цепей:

.INC "K555IV3.net"

.INC "K555IV3.als"

.probe

.END


Содержимое файла K555IV3.net:

* Schematics Netlist *

* Информация о подключенных генераторах внешних воздействий:

U_DSTM1         STIM(1,0) $G_DPWR $G_DGND IN1 IO_STM STIMULUS=IN1

U_DSTM2         STIM(1,0) $G_DPWR $G_DGND IN2 IO_STM STIMULUS=IN2

U_DSTM3         STIM(1,0) $G_DPWR $G_DGND IN3 IO_STM STIMULUS=IN3

U_DSTM4         STIM(1,0) $G_DPWR $G_DGND IN4 IO_STM STIMULUS=IN4

U_DSTM5         STIM(1,0) $G_DPWR $G_DGND IN5 IO_STM STIMULUS=IN5

U_DSTM6         STIM(1,0) $G_DPWR $G_DGND IN6 IO_STM STIMULUS=IN6

U_DSTM7         STIM(1,0) $G_DPWR $G_DGND IN7 IO_STM STIMULUS=IN7

U_DSTM8         STIM(1,0) $G_DPWR $G_DGND IN8 IO_STM STIMULUS=IN8

U_DSTM9         STIM(1,0) $G_DPWR $G_DGND IN9 IO_STM STIMULUS=IN9