Вы находитесь на странице: 1из 130

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПУТЕЙ СООБЩЕНИЯ (МИИТ)

Кафедра «Электронные вычислительные машины»

Т.Г. ШАХУНЯНЦ

МОДЕЛИРОВАНИЕ
ПРИНЦИПИАЛЬНЫХ СХЕМ РЭА
В СРЕДЕ PSPICE 9Л

по дисциплинам :
«Конструкторско-технологическое обеспечение производст ва ЭВМ»
и «САПР средст в вычислительной техники»

для студентов III и IV курсов


специальности «Вычислительные машины, системы и сети»
и направления «И нформатика и вычислительная техника»

МОСКВА - 2005
УДК 681.3
Ш - 32
Шахунянц Т. Г\ Моделирование принципиальных схем РЭА в
среде PSP1CE 9.1: Учебное посооие.-М.: МИИТ, 2005.
В учебном пособии представлен материал для изучения п
использования PSP1CE 9.1 при моделирою ш и: принципиальных схем.

Рецензенты: к.т.н. Смирнов А.М. (СТАНКИН):


к. I,ii. Сидоренко В .!. (МИИТ).1

£ Московский государственный университет


ну гей сообидения(МИИТ), 2005
1. О бщ и е сведения
Логическое моделирование принципиальных схем является важным
этапом проектирования средств вычислительной техники. Среди
существующих систем моделирования наибольший интерес
представляет Pspice не только благодаря признанной
эффективности этой системы, но и в связи с возможностью ее
использования для моделирования принципиальных схем,
разработанных в среде РСАО.

! !рограмм=з Pspice является наиболее известной модификацией


программы схемотехнического моделирования SPICE (Simulation
Program with Integrated Circuit Emphasis). Принятые в ней
математические модели полупроводниковых приборов
используются во многих аналогичных программах. Начиная с версии
программы Pspice 4.0, стало возможным моделировать смешанные
аналого-цифровые устройства. Графическое отображение,
обработка и документирование результатов моделирования
производится программой Probe. В данном учебном пособии
рассматриваются основы версии Pspice 9.1
При написании учебного пособия использовались материалы [1], [2].

2. М од ел и р ован и е у стр о й с тв

2.1. Структура задания на моделирование

Для моделирования с помощью программы Pspice необходимо


предварительно составить задание на моделирование в виде
текстового файла *.cir, который состоит из предложений входного
языка Pspice.
Этот файл должен содержать:
- описание взаимосвязи элементов схемы;
- описание функционирования используемых элементов схемы либо ссылку
на библиотечные файлы с такими описаниями;
- директивы обращения к библиотекам PSPICE, если это необходимо (.
- 4-
LIB);
- описание входных сигналов;
- директивы расчета различных характеристик цепей, например, директиву
расчета переходных процессов ( TRAN),
- директиву графического отображения результатов моделирования
(PRO BE);
- директиву окончания моделирования ( END).
Сведения о том, как это сделать, представлены в соответствующих
разделах данного учебного пособия.
Программа PSPICE может рассчитывать различные характеристики
электрических цепей. В данном учебном пособии рассмотрен режим
расчета переходных процессов, который наиболее употребим при
моделировании цифровых устройств.
Предложения входного языка программы PSPICE делятся на описание
компонентов, описание входных сигналов, директивы и комментарии.
Взаимное расположение этих предложений не имеет значения, однако,
первой строкой файла должен комментарий

2.2. Описание компонентов

Описание компонента в общем случае может состоять из


нескольких частей:
- предложения, непосредственно включающие компонент в
цепь;
- описание макромодели компонента;
- описание дополнительных параметров компонента с
помощью директивы .MODEL;
Две последних части могут не использоваться, когда не
используются макромодели либо используются файлы библиотек.
Описание макромодели может включать в себя предложения с
директивой MODEL, но это не всегда удобно
- 5 -

2.2.1. Включение компонентов в цепь

Предложения, включающие компонент в цепь, имеют следующую


структуру:
< имя компонента > [< тип компонента >] < список узлов
>
+ [< имя модели >] [< числовые параметры >]

Примеры
1. Пример непосредственного включения в цепь описываемого
цифрового устройства К555ЛИ1
UK555LI1 and(2) DPWR DGND
+ IN1 IN2 OUT1
+ D_LI1 IO_STD MNTYMXDLY=0 !0_LEVEL=0
2. Пример включения в цепь макромодели микросхем К555ЛП5 и
К555ЛАЗ
XD1AA0A1 А0А1 K555LP5
XD3A SUM SUM1 NOTSUM K555LA3
3. Пример включения в схему источника напряжения
экспоненциального сигнала
V1 3 4 ЕХР (0.02 2NS 20NS 40NS 20NS)__________________

< имя компонента > - произвольная последовательность латинских


букв, цифр и знаков подчеркивания (рекомендуется не более 8
символов). Первый символ имени компонента определяет его класс
как показано в таблице 2:
- 6 -

Таблица 2

Первый символ имени Класс компонента


R Резистор
С Конденсатор
L. Индуктивность
D Диод
Q Биполярный транзистор
V Источник напряжения
и Цифровое устройство
X Макромодель

< тип компонента > - необязательный параметр. При описании


вентиля 2-И, например, его тип - AND. Описание типов различных
компонентов представлено в главе "Особенности некоторых типов
цифровых устройств"
< список узлов > - это имена входов и выходов компонента.
Для гримера 1.: IN1, IN2- входы, 0UT1- выход,
для примера 2.: АО, А1 - входы, А0А1 - выход;
SUM.SUM1 - входы, NOTSUM - выход.
для примера 3.: 3 и 4 - контакты источника напряжения V1.
Узлы DPWR и DGND - источник питания и "земля" соответственно.
Узлы компонента, подключаемые к схеме, перечисляются в
определенном порядке для каждого типа компонентов (см.
параграфы: "вентили", "триггеры", "ПЗУ, "ОЗУ"," АЦП", "ЦАП").
< имя модели > - указывает на макромодель компонента (в
примере 2. - это макромодель K555LP5 и K555LA3) либо на
стандартное имя (в примере 3. - это имя экспоненциальной функции
- ЕХР ) либо на имя модели динамики и модели вход/выход ( в
- 7-
примере 1. - это D_LI1 и IO_STD соответственно). Подробные
пояснения - далее в тексте.
< числовые параметры > - в этом разделе можно указать значения
для некоторых параметров.
В примере 1. указаны значения для параметра выбора задержки
MNTYMXDLY и для параметра выбора макромоделей А/Ц, Ц/А
интерфейсов IO_LEVEL.
Ниже будет рассмотрен формат описания макромоделей.

2.2.2. Описание макромоделей компонентов

Отдельные фрагменты цепи или схемы замещения


компонентов имеет смысл оформлять в виде макромоделей
(подсхем). Описание макромоделей начинается директивой
.SUBCKT и завершается директивой .ENDS. Между ними помещают
описание компонентов, входящих в состав макромодели:
.SUBCKT < имя макромодели > < список узлов >
+ [ OPTIONAL:« узел интерфейса >=
+ < значение по умолчанию » * ]
+ [ PARAMS:< имя параметра >=< значение >* ]
{ описание компонентов }
.ENDS [ имя макромодели ]
Пример макромодели компонента 2 И-НЕ
(из библиотечного файла 7400. lib)
.subckt 7400 А В Y
+ optional: DPWR=$G_DPWR DGND=$G_DGND
+ params: MNTYMXDLY=0 !0_LEVEL=0
U1 nand(2) DPWR DGND
+A В Y
- 8-
+ D_00 IO_STD MNTYMXDLY={MNTYMXDLY}
IO_LEVEL={IO_LEVEL}
______ .ends_______________________________________________
Ключевое слово OPTIONAL используется для спецификации
одного или более необязательных интерфейсных узлов
макромодели - указывается имя узла и его значение по умолчанию.
А/Ц и Ц/А интерфейс служит для сопряжения ИС с аналоговыми
компонентами. (Подробно об этом в главе 2.5.).
Стандартное обозначение ряда узлов приведено в таблице 3:
Таблица 3

Имя узла Напряжение/уровень Описание


0 08 Аналоговая "земля"
$G_CD4000_VDD 5B Источник питания к-
МОП ИС
$G_CD4000_VSS OB Цифровая "земля" для
к-МОП ИС
$G_DPWR 5B Источник питания ТТЛ
ИС
$G_DGND OB Цифровая "земля" для
ттл ис
H<|It Логическая "1"
$D_HI
$D_LO "0" Логический "0"
$D__X "X" Неопределенное
логическое состояние X
$D_NC — Не подключенный к
схеме вывод цифрового
компонента
Существует соглашение, что все узлы, имена которых
начинаются с символов $G _, являются глобальными. Глобальные
узлы используются в схемах имеющих макромодели. Глобальные
узлы с одинаковыми именами автоматически соединяются в
- 9-
основной цепи и во всех макромоделях. С их помощью удобно
прокладывать цепи питания, синхронизации и т.п. ( узел "земля" О
всегда является глобальным).
После ключевого слова PARAMS приводится список параметров,
значения которых передаются из основной цепи в макромодель.
В разделе описание компонентов описываются компоненты,
входящие в макромодель.
Вызов макромодели, т.е, включение ее в нужное место цепи,
осуществляется предложением:
Хххх < список узлов > < имя макромодели >
+ ( PARAMS:« имя параметра >=< значение » * ]

Пример включения в схему макромодели микросхемы К155ЛАЗ


XJJ11A IN1IN2 0U T $G_DPWR $G_DGND k155la3
+ PARAMS: IO LEVEL=0 MNTYMXDLY=0

Имена узлов, устройств и моделей в описании макромодели


являются локальными. Поэтому в основной цепи и в макромодели
можно использовать совпадающие имена. При обращении в
основной цепи к какому-нибудь имени макромодели применяют
составные имена. Они образуются из имени макромодели и
внутреннего имени, разделенных точкой. Например, конденсатор С2
макромодели Х1 имеет составное имя Х1 ,С2.
Описание макромодели можно поместить непосредственно
в файл задания на моделирование или в библиотечный файл
макромоделей. В последнем случае для включения устройства в
схему необходимо сначала по директиве .LIB обеспечить доступ к
этому файлу.
Некоторые параметры устройств указываются специальным
образом, как показано в следующем параграфе
- 10-

2.2.3. Описание дополнительных параметров

Некоторые параметры компонентов, такие как времена


задержек, входные и выходные сопротивления и некоторые другие
указываются с помощью директивы .MODEL:
.MODEL < имя модели >
+ < имя типа модели >
+ [ ( < имя параметра >=< значение > *) ]
Здесь <имя модели> - имя модели компонента схемы, например
D..1, Ю._555ит, д.
Тип компонента определяется <именем типа модели>, как указано
в таблице 4:

Таблица 4

Имя типа модели Тип компонента


ию Модель вход/выход цифрового устройства
DOUTPUT Модель интерфейса А/Ц
DINPUT Модель интерфейса Ц/А
Модель аналоговых компонентов:
RES Резистор
САР Конденсатор
IND Индуктивность
D Диод
NPN Биполярный п-р-п - транзистор
PNP Биполярный р-п-р - транзистор
Молель динамики цифровых устройств:
-11 -
UADC Аналого-цифровой преобразователь
UDAC Цифроаналоговый преобразователь
UGATE Стандартный вентиль
UTGATE Вентиль с тремя состояниями
UBTG Двунаправленный переключающий вентиль
UEFF Триггер с динамическим управлением
UGFF Триггер с потенциальным управлением
UDLY Цифровая линия задержки
ULPD Программируемые логические матрицы
UROM Постоянное запоминающее устройство
URAM Оперативное запоминающее устройство

В директиве .MODEL в круглых скобках указывается список


значений параметров моделей компонента (если этот список
отсутствует или неполный, то недостающие значения параметров
модели назначаются по умолчанию).
Запаздывание сигнала в конструктивах цифровых устройств
определяется в двух моделях: динамики и вход/выход, если не
используется функциональное описание компонентов/В противном
случае задержки вычисляются внутри макромодели и используется
модель динамики с нулевыми задержками, например, D0_GATE (см.
файл 7400.lib).
Модель динамики определяет задержки распространения
сигнала и такие временные ограничения, как время его установки
(setup) и удерживания (hold). Модель вход/выход задает входные
и выходные сопротивления, емкости и время переключения. Когда
выход компонента соединяется с другим компонентом, общее время
задержки распространения первого конструктива равно сумме
времени установления напряжения на его нагрузке и времени
распространения сигнала, указанного в модели динамики.
Минимальная длительность сигнала на входе цифрового
компонента, необходимая для изменения его логического
- 12 -
состояния, должна превышать время задержки, приведенное в
модели динамики (это ограничение не относится к цифровым
линиям задержки). Более короткие входные импульсы не вызовут на
выходе никакого эффекта.

Пример модели динамики элемента 2И-НЕ


(n;i библиотечного файла 7400. lib)
.MODEL D_00 ugate (
+ tplhty=11ns tplhmx=22ns
+ tphlty=7ns tphlmx=15ns

______ *1 __________________________________________________

Примеры моделей динамики для конкретных типов микросхем


рассмотрены в разделе 2.2.4.2.
Подробные сведения о модели вход/выход, а также об А/Ц и Ц/А
и! терфэйсах можно получить в разделе 2.5.

2»2.4. Описание цифровых компонентов

2.2.4.1. Схемотехническое описание


цифровых компонентов
С писания цифровых компонентов (конструктивы) задаются по
4 )рмагу:
Uxxx < тип > I ( < список параметров > *) ]
♦ < +узел источника питания >
+ < -узел источника питания >
+ < список узлов >*
- 13 -
+ < имя модели динамики >< имя модели вход/выход >
+ [ MNTYMXDLY=< выбор значения задержки > ]
+ [ IO_LEVEL=< уровень модели интерфейса > ]
Такое описание можно использовать сразу для включения в
цепь (см. пример 1. в параграфе 2.2.1.), однако это не удобно в
случае, если в схеме несколько одинаковых цифровых компонентов.
В этом случае удобно поместить его в макромодель (в раздел
описание компонентов), чтобы при необходимости неоднократного
включения компонента в цепь ссылаться на макромодель. Такой
способ существенно сократит размер файла задания.
Здесь ххх - произвольная алфавитно-цифровая
последовательность общей длиной не более 7 символов, которая
пишется слитно с символом U и вместе с ним образует имя
компонента.
Параметр <тип> указывает тип логического устройства:
вентили, вентили с тремя состояниями, триггеры и т. д . ; в круглых
скобках указывается значение одного или более параметров через
запятую (например, для схемы "2И" указывается количество входов
- AND(2)).
Смысл параметров <+узел источника питания>, <-узел
источника питания> рассмотрен в параграфе 2.2.2.
Смысл параметров <имя модели динамики>, <имя модели
входАвыход> рассмотрен в параграфе 2.2.3.
Параметр MNTYMXDLY позволяет конкретному индивидуальному
устройству назначить минимальное, типичное или максимальное
значение времени задержки, указанное в спецификации модели его
динамики (см. ниже):
1 - минимальное значение;
2 - типичное значение;
3 - максимальное значение;
4 - расчет наихудшего случая;
Параметр IO_LEVEL указывает на тип цифро-аналогового и
аналого-цифрового интерфейса данного цифрового устройства.
- 14-
Пример описания компонента 2 И-НЕ
U1 nand(2) DPWR DGND ;DPWR - источник питания,
D3ND - "земпя"
+ АВ Y ;список узлов: А, В - входы,
Y • выход
+ D 00 Ю STD MNTYMXDLY=0 Ю LEVEL=0

Гонератор цифровых сигналов также задается как цифровое


устройство, а в поле <тип> указывается имя STIM (Stimulus -
в; .одной сигнал),

Д алее подробно рассмотрены особенности описания некоторых


конкретных типов цифровых устройств.

2.2А.2. Особенности описания некоторых типов


цифровых устройств

2.2.4.2.1. Вентили
Вентили подразделяются на элементарные и сложные.
Э чементарные вентили имеют один или несколько входов и только
о,(ин выход. Сложные вентили (сборки) содержат в одном корпусе
hi сколько простых венти лей. У вентилей с тремя состояниями,
к< гда сигнал разрешения имеет уровень "О", выходной сигнал
в* нтиля имеет неопределенный уровень "X" при высоком выходном
а противлении Z.
- 15 -
BUF (буфер) BUFA (Сборка буферов) OR (ИЛИ) AOI (СборкаИ-ИЛИ-

>1 1

INV (Инвертор) АО (Сборка И-ИПИ) NOR (ИЛИ-НЕ)

" О - E h
----- 1 &
AND (И)
XCR (Исллюча- -----
юшее ИЛИ! — о—
1 ,
_Гй1 —

NAND (И-НЕ)
NXOR (Исклю­
чающее ИЛ И НЕ)

Стандартные вентили перечислены в табпице 5:

Таблица 5

Тип Параметр Порядок перечисления Функциональное


выводов назначение

BUF Нет Вх., вых. Буфер


INV Нет Вх., вых. Инвертор
AND N Вх 1, вх.2 ,..., вых. Логическое И
NAND N Вх.1,вх,2 вых. Логическое i/1-НЕ
OR N Вх.1,вх.2 вых. Логическое ИЛИ
- 16-

NOR N Bx.1,ex.2 , .., вых. Логическое ИЛИ-НЕ


XOR Нет 8x.1, Bx.2, вых. Исключающее ИЛИ
NXOR Нет Bx.1, bx.2, вых. Исключающее ИЛИ-НЕ
ВUFA L Bx.1, bx.2 ... ,ВЫХ.1, Сборка буферов
вых.2,...
INVA L Bx.1, bx.2 ... ,вых,1, Сборка инверторов
вых.2, ...

ANDA N, L Bx.1, bx.2 ... ,вых.1, Сборка логики И


вых.2, ...
NAN DA N, L Bx.1, bx.2 ... ,вых.1, Сборка логики И-НЕ
вых.2, ...
ORA N, L Bx.1, bx.2 ... ,вых.1, Сборка логики ИЛИ
вых.2, ...
NORA N, L Bx.1, bx.2 ... ,вых.1, Сборка логики ИЛИ-НЕ
вых.2,...
XORA L Bx.1, bx.2 ... ,вых.1, ' Сборка логики исключ.
вых.2,... ИЛИ
NXORA L Bx.1, bx.2 ... ,В Ь !Х . 1, Сборка логики искл.
вых.2,... ИЛИ-НЕ
AO N, L Bx.1, bx.2 , вых. Сборка логики И-ИЛИ
OA N, L 8 x.1,bx.2 , .., вых. Сборка логики ИЛИ-И
OAI N, L Bx.1,bx.2 , .., вых. Сборка логики ИЛИ-И-НЕ

AOI N, L Bx.1, bx.2 , ... вых. Сборка логики И-ИЛИ-НЕ

Примечание: N - количество входов, L - количество вентилей.


Модель динамики вентилей имеет формат :
-17-
.MODEL < имя модели > UGATE [ ( параметры ) ]

Пример
.model D_00 ugate (
+ tplhty=11 ns tplhmx=22ns
+ tphlty=7ns tphlmx=15ns

______ ±1_______________________________________________

Параметры моделей вентилей типа UGATE приведены ниже:


(значения по умолчанию - 0, единица измерения - с):
TPLHMN - задержка при переходе от низкого уровня к высокому,
минимальное значение
TPLHTY - задержка при переходе от низкого уровня к высокому,
типичное значение
TPLHMX - задержка при переходе от низкого уровня к высокому,
максимальное значение
TPHLMN - задержка при переходе от высокого уровня к низкому,
минимальное значение
TPHLTY - задержка при переходе от высокого уровня к низкому,
типичное значение
TPHLMX - задержка при переходе от высокого уровня к низкому,
максимальное значение

Вентили с тремя состояниями перечислены в таблице 6:


- 18-

Таблииаб

Тип Парам Порядок перечисления Функциональное


етр выводов назначение
BUF3 Нет Вх., разр., вых. Буфер
INV3 Нет Вх., разр., вых. Инвертор
AND3 N Вх. 1, вх.2 ..., разр., вых. Логическое И
NAND3 N Вх.1,вх.2 , .., разр., вых. Логическое И-НЕ
0R3 N Вх.1,вх.2 , разр., вых. Логическое ИЛИ
N 0R 3 N Вх.1,вх.2 ,..., разр., вых. Логическое ИЛИ-НЕ
X0R3 Нет Вх.1, вх.2, разр., вых. Исключающее ИЛИ
N X 0R 3 Нет Вх.1, вх.2, разр., вых. Исключающее ИЛИ-
НЕ
BUF3A L Вх.1, вх.2 ....разр., вых.1, Сборка буферов
вых.2, ...
INV3A L Вх.1, вх.2 ,..., разр., вых.1, Сборка инверторов
вых.2, ...
AND3A N, L Вх.1, вх.2 разр., вых.1, Сборка логики И
вых.2. ...
NAND3A N, L Вх.1, вх.2 ,..., разр., вых.1, Сборка логики И-НЕ
вых.2, ...
0R3A N, L Вх.1, вх.2 ,..., разр., вых.1, Сборка логики ИЛИ
вых.2, ...
N 0R 3A N, L Вх.1, вх.2 ,..., разр., вых.1, Сборка логики ИЛИ-
вых.2, ... НЕ
X 0R 3A N, L Вх.1, вх.2 ,..., разр., вых.1, Сборка логики
вых.2, ... исключ. ИЛИ
NX0R3A N, L Вх.1, вх.2 ,..., разр., вых.1, Сборка логики искл.
вых.2, ... ИЛИ-НЕ
- 19 -
Модель динамики этих вентилей имеет формат:
.MODEL < имя модели > UTGATE [ ( параметры ) ]

Пример
.model D_125 utgate (
+ tplhty*8ns tplhmx=13ns
+ tphlty=12ns tph!mx~18ns
+ tpzhty=11ns tpzhmx=17ns
+ tpzlty=16ns tpzlmx=25ns
+ tphzty=5ns tphzmx=8ns
+ tplzty=7ns tplzmx= 12ns

+ )_______________ _________

Параметры моделей вентилей типа UTGATE Приведены ниже:


(значения по умолчанию - 0, единица измерения - с):
TPLHMN - задержка при переходе от низкого уровня к высокому,
минимальное значение
TPLHTY - задержка при переходе от низкого уровня к высокому,
типичное значение
TPLHMX - задержка при переходе от низкого уровня к высокому,
максимальное значение
TPHLMN - задержка при переходе от высокого уровня к низкому,
минимальное значение
TPHLTY - задержка при переходе от высокого уровня к низкому,
типичное значение
TPHLMX - задержка при переходе от высокого уровня к низкому,
максимальное значение
TPLZMN - задержка при переходе от низкого уровня к уровню Z,
минимальное значение
- 20-
TPLZTY - задержка при переходе от низкого уровня к уровню Z
типичное значение
TPLZMX - задержка при переходе от низкого уровня к уровню Z,
максимальное значение
TPHZMN - задержка при переходе от высокого уровня к уровню Z,
минимальное значение
TPHZTY - задержка при переходе от высокого уровня к уровню Z,
типичное значение
TPHZMX - задержка при переходе от высокого уровня к уровню Z,
максимальное значение
TPZLMN - задержка при переходе от уровня Z к низкому уровню,
минимальное значение
TPZLTY - задержка при переходе от уровня Z к низкому уровню,
типичное значение
TPZLMX - задержка при переходе от уровня Z к низкому уровню,
максимальное значение
TPZHMN - задержка при переходе от уровня Z к выоокому уровню,
минимальное значение
TPZHTY - задержка при переходе от уровня Z к высокому уровню,
типичное значение
TPZHMX - задержка при переходе от уровня Z к высокому уровню,
максимальное значение

Пример моделирования вентилей см. в разделе 2.6.1.


-21 -

S-
sl- s T

O jO '
G- С 1
rl- JL.
R- n
iL T
s2 - Б

O 'iO ’
С
r2 - JL
B - ■шиии
SRFF

S- t£L
D l- D

Сг\У
G-
R-

D2- D T
O 'jO '

IT

DLTCH
-22-
Поречень триггеров приведен в таблице 7:

Таблица 7

Тип Параметры Порядок перечисления выводов Функциональ


ное
назначение
JKF Кол-во S,R,C,J1,J2,... ,K1,K2,...Q1,Q2,.. ~ JK-триггер с
F секций Q1,~Q2t... отрицательн
ым фронтом
срабатывай
ия и низким
уровнем
сигнала
установки и
сброса
DFF Кол-во S,R,C,D1 ,D2,. ..1Q1,Q2,...,~Q1I~Q D-триггер с
секций 2,... положитель
ным
фронтом
срабатывай
ия и низким
уровнем
сигнала
установки и
сброса
SRF Кол-во S,R,G,S1,S2,...,R1,R2,...1Q1,Q21... Двухтактный
F секций ,~Q1 ,~Q2,.. синхронный
RS-триггер
DLT Кол-во S,R,G.D1 ,D2, ,.,Q1 ,Q2,.. ,~Q1 ,~Q Однотакгны
СН секций 2,... й D-триггер

Примечания:
- символ обозначает инверсию
-23 -
- JKFF и DFF - триггеры с динамическим управлением
- SRFF и DLTCH - триггеры с потенциальным управлением

Модель динамики триггеров с динамическим управлением имеют


формат:
.MODEL < имя модели > UEFF [ ( параметры ) ]

Пример
.model D_70 ueff (
+ tppcqlhmx=50ns tppcqhlmx=50ns
+ tpclkqlhty=27ns tpclkqlhmx=50ns
+ tpclkqhlty=18ns tpclkqhlmx=50ns
+ twclkhmx=20ns twclkhty=20ns
+ twclklmx=30ns twclklty=30ns
+ twpclmx=25ns twpclty=25ns
+ tsudclkmx=20ns tsudcikmn=20ns
+ thdclkmx=5ns thdclkmn=5ns

______ ±1_____________________________

Параметры (идентификаторы) модели триггеров с динамическим


управлением типа UEFF приведены ниже (значение по умолчанию -
О, единица измерения - с, косая черта" / "означает "ИЛИ"):
TPPCQLHMN - задержка перехода со входа S/R к выходам
Q/~Q, минимальное значение
TPPCQLHTY - задержка перехода "О" ->"1" со входа S/R к выходам
Q/~Q, типичное значение
TPPCQLHMX - задержка перехода со входа S/R к выходам
Q/~Q, максимальное значение
TPPCQHLMN - задержка перехода "Т'-У'О" со входа S/R к выходам
- 24-
Q/-Q, минимальное значение
TPPCQHLTY - задержка перехода со входа S/R к выходам
Q/~Q, типичное значение
TPPCQHLMX - задержка перехода со входа S/R к выходам
Q/—Q, максимальное значение
TWPCLMN - максимальная длительность сигнала "О” на входе R/S,
минимальное значение
TWPCLTY - максимальная длительность сигнала "О" на входе R/S,
типичное значение
TWPCLMX - максимальная длительность сигнала "О" на входе R/S,
максимальное значение
TPCLKQLHMN - задержка перехода от фронта импульса
С/~С до выхода Q/~Q, минимальное значение
TPCLKGLHTY - задержка перехода от фронта импульса
С/-С до выхода Q/ ~Q, типичное значение
TPCLKQLHMX - задержка перехода "0"->"1" от фронта импульса
С/~С до выхода Q/~Q, максимальное значение
TPCLKQHLMN - задержка перехода 'Т'-У'О” от фронта импульса
С/-С до выхода Q/ ~Q, минимальное значение
TPCLKQHLTY - задержка перехода "Г-У'О" от фронта импульса
С/~С до выхода Q/ ~Q, типичное значение
TPCLKQHLMX - задержка перехода от фронта импульса
С/~С до выхода Q/ ~Q, максимальное значение
TWCLKLMN - минимальная длительность сигнала "О" на входе
С/—С, минимальное значение
TWCLKLTY - минимальная длительность сигнала "О" на входе С/
-С, типичное значение
TWCLKLMX - минимальная длительность сигнала "О" на входе С/
~С, максимальное значение
TWCLKHMN - минимальная длительность сигнала "1" на входе С/
~С, минимальное значение
TWCLKHTY - минимальная длительность сигнала "1" на входе С/
-25 -
~С, типичное значение
TWCLKHMX - минимальная длительность сигнала "1" на входе СI
—С, максимальное значение
TSUDCLKMN - время подготовки к работе по входам J/K/D перед
действием фронта синхроимпульса С, минимальное значение
TSUDCLKTY - время подготовки к работе по входам J/K/D перед
действием фронта синхроимпульса С, типичное значение
TSUDCLKMX - время подготовки к работе по входам J/K/D перед
действием фронта синхроимпульса С, максимальное значение
TSUPCCLKHMN - длительность сигнала "1" на входах S/R при
действии фронта синхроимпульса С/ -С, минимальное значение
TSUPCCLKHTY - длительность сигнала "1" на входах S/R при
действии фронта синхроимпульса С/ ~С, типичное значение
TSUPCCLKHMX - длительность сигнала "1" на входах S/R при
действии фронта синхроимпульса С/—С, максимальное значение
THDCLKMN - длительность сигнала на входе J/K/D после действия
фронта синхроимпульса С/~С минимальное значение
THDCLKTY - длительность сигнала на входе J/K/D после действия
фронта синхроимпульса С/~С, типичное значение
THDCLKMX - длительность сигнала на входе J/K/D после действия
фронта синхроимпульса С/~С, максимальное значение

Модель динамики триггеров с потенциальным управлением имеет


формат:
.MODEL < имя модели > UGFF [ ( параметры ) ]

Пример
.model D_73_2 ugff (
+ tppcqlhty=10ns tppcqlhmx=19ns
+ tppcqhlty=19ns tppcqhlmx=34ns
+ tpgqlhty=10ns tpgqlhmx=19ns
-26-
+ tpgqhlty=19ns tpgqhlmx=34ns
+ twghmx=47ns twghty=47ns
+ lwpclmx=25ns twpclty=25ns

± i__________________________

Параметры (идентификаторы) модели триггеров с потенциальным


управлением типа UGFF приведены ниже (значение по умолчанию -
О, единица измерения - с):
TPPCQLHMN - задержка перехода со входа S/R к выходам
Q/~Q, минимальное значение
TPPCQLHTY - задержка перехода со входа S/R к выходам
Q/~Q, типичное значение
TPPCQLHMX - задержка перехода со входа S/R к выходам
Q/~Q, максимальное значение
TPPCQHLMN - задержка перехода со входа S/R к выходам
Q/~Q, минимальное значение
TPPCQHLTY - задержка перехода "Г-У'О" со входа S/R к выходам
Q/~Q, типичное значение
TPPCQHLMX - задержка перехода со входа S/R к выходам
Q/~Q, максимальное значение
TWPCLMN - максимальная длительность сигнала "О" на входе R/S,
минимальное значение
TWPCLTY - максимальная длительность сигнала "О" на входе R/S,
типичное значение
TWPCLMX - максимальная длительность сигнала "О" на входе R/S,
максимальное значение
TPGQLHMN - задержка перехода от фронта импульса
синхронизации G до выхода Q/-Q, минимальное значение
TPGQLHTY - задержка перехода от фронта импульса
синхронизации G до выхода Q/~Q, типичное значение
TPGQLHMX - задержка перехода от фронта импульса
- 27-
синхронизации G до выхода Q/~Q, максимальное значение
TPGQHLMN - задержка перехода "Г-У'О" от фронта импульса
синхронизации G до выхода Q/~Q, минимальное значение
TPGQHLTY - задержка перехода "Г-У'О" от фронта импульса
синхронизации G до выхода Q/-Q, типичное значение
TPGQHLMX - задержка перехода "Г -У О " от фронта импульса
синхронизации G до выхода Q/~Q, максимальное значение
TPDQLHMN - задержка перехода "0 "-У 'Г от входа S/R/D до выхода
Q/~Q, минимальное значение
TPDQLHTY - задержка перехода "0 "-У 'Г от входа S/R/D до выхода
Q/~Q, типичное значение
TPDQLHMX - задержка перехода "0"-У’Г от входа S/R/D до выхода
Q/~Q, максимальное значение
TPDQHLMN - задержка перехода "Г-У'О" от входа S/R/D до выхода
Q/-Q, минимальное значение
TPDQHLTY - задержка перехода "Г-У'О" от входа S/R/D до выхода
Q/~Q, типичное значение
TPDQHLMX - задержка перехода "Г-У О " от входа S/R/D до выхода
Q/~Q, максимальное значение
TWGHMN - минимальная длительность сигнала "1" на входе G,
минимальное значение
TWGHTY - минимальная длительность сигнала "1" на входе G,
типичное значение
TWGHMX - минимальная длительность сигнала "1" на входе G,
максимальное значение
TSUDGMN - время подготовки к работе по входам S/R/D перед
действием фронта синхроимпульса G, минимальное значение
TSUDGTY - время подготовки к работе по входам S/R/D перед
действием фронта синхроимпульса G, типичное значение
TSUDGMX - время подготовки к работе по входам S/R/D перед
действием фронта синхроимпульса G, максимальное значение
TSUPCGHMN - длительность сигнала "1" на входах S/R при
- 28 -
действии фронта синхроимпульса G, минимальное значение
TSUPCGHTY - длительность сигнала "1" на входах S/R при действии
фронта синхроимпульса G, типичное значение
TSUPCGHMX - длительность сигнала "1" на входах S/R при
действии фронта синхроимпульса G, максимальное значение
THDGMN - длительность сигнала на входе S/R/D после действия
фронта синхроимпульса G, минимальное значение
THOGTY - длительность сигнала на входе S/R/D после действия
фронта синхроимпульса G, типичное значение
THDGMX - длительность сигнала на входе S/R/D после действия
фронта синхроимпульса G, максимальное значение

По умолчанию в начальный момент времени выходные


состояния триггеров приняты неопределенными (состояния X). Они
остаются таковыми до подачи сигналов установки или сброса или
перехода триггера в определенное состояние.

Пример моделирования триггеров см. в разделе 2.6.2.

2.2.4.2.3. Постоянные запоминающие устройства

Запоминающие устоойства подразделяются на ПЗУ (ROM) и ОЗУ


(RAM).

-------- —
Адресные АО ROM DO Данные (М)
нходы(Ы) А1 D1
А2 D2
Напряжение
Вход UCC —
питания
разрешения CS GND —
Общий
-29 -
Существует два способа записи данных в ПЗУ для последующего
моделирования:
1) обычно данные предварительно записываются в файл в
шестнадцатеричной системе счисления побайтно и перед началом
моделирования они из него считываются ;
2) данные записываются непосредственно в описании ПЗУ с
помощью конструкции DATA=...
Модель ПЗУ задается по формату
Uxxx ROM( < количество адресных входов >,<
количество выходов > )
+ < +узел источника питания >
+ < - узел источника питания >
+ < вход разрешения чтения >
+ < старший разряд адреса >...< младший разряд адреса
>
+ < старший разряд выхода >...< младший разряд
выхода >
+ < имя модели динамики >
+ < имя модели вход/выход >
+ [ FILE=< имя файла > ]
+ [ DATA=< флаг системы счисления >$< данные
программы >$ ]
+ [ MNTYMXDLY=< выбор значения задержки > ]
+ [ IO_LEVEL=< уровень модели интерфейса > ]
После ключевого слова FILE указывается имя файла, в
котором записаны данные ПЗУ. Оно может быть указано как
текстовая константа (и тогда заключается в кавычки "") или как
текстовое выражение (заключается между двумя вертикальными
чертами 11). Если приведена опция FILE, то любые данные,
приведенные после DATA, игнорируются.
Флаг системы счисления принимает значения:
- 30-
В - двоичная система счисления;
О - восьмеричная система счисления (бит младшего разряда
расположен по младшему адресу);
X - шестнадцатеричная система счисления (бит старшего разряда
расположен по младшему адресу);
Данные программы помещаются между знаками доллара $ и
могут располагаться как слитно, так и разделяться одним или
несколькими пробелами. Поток данных начинается с нулевого
адреса, по которому размещается первый разряд данных.
Следующий бит относится ко второму разряду данных и так до тех
пор, пока не будут определены состояния всех разрядов по этому
адресу. После этого перечисляются данные по следующему адресу
ит. д.
Переходные процессы при считывании из ПЗУ показаны на
диаграмме:

Адрес
ADR -----------
Сигнал
разоешения ! i
CS
Вькодные — ------------( Y V--------- t
данные D 0 ipEO ! 1tpED !
-------->1 *5-----

Модель динамики ПЗУ имеет формат:

.MODEL < имя модели > UROM [ ( параметры ) ]

Параметры этой модели приведены ниже (значения по умолчанию -


0. единица измерения - с):
- 31 -
TPADHMN - время выборки адреса при переключении входных
данных 0 - И , минимальное значение
TPADHTY - время выборки адреса при переключении входных
данных 0 - И , типичное значение
TPADHNIX - время выборки адреса при переключении входных
данных 0 - И , максимальное значение
TPADLMN - время выборки адреса при переключении входных
данных 1-*0, минимальное значение
TPADLTY - время выборки адреса при переключении входных
данных 1-»0, типичное значение
TPADLMX - время выборки адреса при переключении входных
данных 1—>0, максимальное значение
TPEDHMN - время выборки разрешения при переключении выходов
Z- И , минимальное значение
TPEDHTY - время выборки разрешения при переключении выходов
Z- И , типичное значение
TPEDHMX - время выборки разрешения при переключении выходов
Z- И , максимальное значение
TPEDLMN - время выборки разрешения при переключении выходов
Z-»0, минимальное значение
TPEDLTY - время выборки разрешения при переключении выходов
Z->0, типичное значение
TPEDLMX - время выборки разрешения при переключении выходов
Z->0, максимальное значение
TPEDHZMN - время выборки разрешения при переключении
выходов 1~>Z, минимальное значение
TPEDHZTY - время выборки разрешения при переключении
выходов 1->Z, типичное значение
TPEDHZMX - время выборки разрешения при переключении
выходов 1-»Z, максимальное значение
TPEDLZMN - время выборки разрешения при переключении
выходов 0-»Z, минимальное значение
- 32 -
TPEDLZTY - время выбоэки разрешения при переключении выходов
0~»Z, типичное значение
TPEDLZMX - время выборки разрешения при переключении
выходов 0-»Z, максимальное значение

Пример моделирования ПЗУ см. в разделе 2.6.3.

2.2Л.2Л. Оперативные запоминающие устройства

— — DI0 DO ------
Запись (М) ------- DI1 RAM D1 ------- Чтение(М)
DI2 D2

Разрешение записи. i/УГ)


Разрешение чтение- --- RD
--

— — АО
Адресные входы (N)-
)— А1 ucc --------Напракение питания
А2 GND -------•Общий

Обычно в начальный момент времени в ОЗУ устанавливаются


произвольные данные по всем адресам. Как и для ПЗУ существует
два способа записи начальны): данных в ОЗУ.
Модель ОЗУ задается по формату:
Uxxx RAM( < количество адресных входов >,<
количество выходов > )
+ < +узел источника питания >
+ < -узел источника питания >
- 33 -
+ < вход разрешения чтения >
+ < вход разрешения записи >
+ < старший разряд адреса >....< младший разряд адреса
>
+ < старший разряд входа данных >...< младший разряд
входа данных >
+ < старший разряд выхода >...< младший разряд
выхода >
+ < имя модели динамики >
+ < имя модели вход/выход >
+ [ FILE=< имя файла > ]
+ [ DATA=< флаг системы счисления >$< данные
программы >$ ]
+ [ MNTYMXDLY=< выбор значения задержки > ]
+ [ IO_LEVEL=< уровень модели интерфейса > ]

После ключевого слова FILE указывается имя файла, в котором


записаны данные ОЗУ. Оно может быть указано как текстовая
константа {и тогда заключается в кавычки"") или как текстовое
выражение (заключается между двумя вертикальными чертами 11).
Если приведена опция FILE, то любые данные, приведенные после
DATA, игнорируются.
Флаг системы счисления принимает значения:
В - двоичная система счисления;
О - восьмеричная система счисления (бит младшего разряда
расположен по младшему адресу);
X - шестнадцатеричная система счисления (бит старшего разряда
расположен по младшему адресу);
Данные программы помещаются между знаками доллара $ и могут
располагаться как слитно, так и разделяться одним или несколькими
-34-
пробелами. Поток данных начинается с нулевого адреса, по
которому размещается первый разряд данных. Следующий бит
относится ко второму разряду данных и так до тех пор, пока не
будут определены состояния всех разрядов по этому адресу. Поспе
этого перечисляются данные по следующему адресу и т. д.
Модель ОЗУ состоит из двух секций записи и считывания данных,
которые имеют различные выводы для подачи сигналов
разрешения, различные выводы для записи и считывания данных и
общие выводы адреса.

Переходные процессы при считывании из ОЗУ показаны на


диаграмме:

Адрес
ADR ------------
Чтение
Rn ............ _ 1 J
—Ы
Выкодные — ----------- ( у \ --------- t
данные DO IpERD ! ! tpE RD !
N*-------->1 «Ё -----

Переходные процессы при записи в ОЗУ показаны на диаграмме:

\sUABW \ Ih a e w
Адрес -5»i
t
ADR
twEW.
Запись
t
WR
tsUD EW
J=L
I tHOEW
Входные К- - •' — ---------

t
данные DS, JL
- 35-

Модель динамики ОЗУ имеет формат:


.MODEL < имя модели > URAM [ ( параметры ) ]

Параметры этой модели приведены ниже:

TPADHMN - время выборки адреса при переключении выходов


0 - И , минимальное значение
TPADHTY - время выборки адреса при переключении выходов 0 -*1 ,
типичное значение
TPADHMX - время выборки адреса при переключении выходов 0 ->1,
максимальное значение
TPADLMN - время выборки адреса при переключении выходов 1->0,
минимальное значение
TPADLTY - время выборки адреса при переключении выходов 1->0,
типичное значение
TPADLMX - время выборки адреса при переключении выходов 1 ->0,
максимальное значение
TPERDHMN - время выборки разрешения при переключении
выходов Z- И , минимальное значение
TPERDHTY - время выборки разрешения при переключении
выходов Z-И , типичное значение
TPERDHMX - время выборки разрешения при переключении
выходов Z -И , максимальное значение
TPERDLMN - время выборки разрешения при переключении
выходов Z~>0, минимальное значение
TPERDLTY - время выборки разрешения при переключении
выходов Z -->0, типичное значение
TPERDLMX - время выборки разрешения при переключении
выходов Z->0, максимальное значение
- 36-
TPERDHZMN - время выборки разрешения при переключении
выходов 1->Z, минимальное значение
TPERDHZTY - время выборки разрешения при переключении
выходов 1~>Z, типичное значение
TPERDHZMX - время выборки разрешения при переключении
выходов 1~»Z, максимальное значение
TPERDLZMN - время выборки разрешения при переключении
выходов 0-*Z, минимальное значение
TPERDLZTY - время выборки разрешения при переключении
выходов 0~>Z, типичное значение
TPERDLZMX - время выборки разрешения при переключении
выходов 0->Z, максимальное значение
TSUDEWMN •• время установления данных относительно переднего
фронта сигнала разрешения, минимальное значение
TSUDEWTY - время установления данных относительно переднего
фронта сигнала разрешения, типичное значение
TSUDEWMX - время установления данных относительно переднего
фронта сигнала разрешения, максимальное значение
TSUAEWMN - время установления адреса относительно переднего
фронта сигнала разрешения, Минимальное значение
TSUAEWTY - время установления адреса относительно переднего
фронта сигнала разрешения, типичное значение
TSUAEWMX - время установления адреса относительно переднего
фронта сигнала разрешения, максимальное значение
TWEWHMN - длительность сигнала разрешения при записи 1,
минимальное значение
TWEWHTY - длительность сигнала разрешения при записи 1,
типичное значение
TWEWHMX - длительность сигнала разрешения при записи 1,
максимальное значение
TWEWLMN - длительность сигнала разрешения при записи О,
минимальное значение
• 37 -
TWEWLTY - длительность сигнала разрешения при записи О,
типичное значение
TWEWLMX - длительность сигнала разрешения при записи О,
максимальное значение
THDEWMN - время удержания входных данных относительно
эадмего фронта сигнала разрешения записи, минимальное значение
THDEWTY - время удержания входных данных относительно
заднего фронта сигнала разрешения записи, типичное значение
THDEWMX - время удержания входных данных относительно
заднего фронта сигнала разрешения записи, максимальное
значение
THAEWMN - время удержания адреса относительно заднего фронта
сигнала разрешения записи, минимальное значение
THAEWTY - время удержания адреса относительно заднего фронта
сигнала разрешения записи, типичное значение
THAEWMX - время удержания адреса относительно заднего фронта
сигнала разрешения записи, максимальное значение

Пример моделирования ОЗУ см. в разделе 2.6.4.

2.2А.2.5. Аналого-цифровые преобразователи

А налоговы й ш о д - и D1
А/Ц Цифровые
О аорное напряжение - REf 02 > разряды
"З ем л я" - “0* D3 j вы хода
Сигнал раврешения . EN D4 - j
Сигнал преобразования - am UCC -У зел источника питания ( + )
Сигнал переполнения - OVft USE -У зе л источника питания ( - )

Многоразрядные АЦП задаются по формату:


-38 -
Uxxx ADC( < m > ) < список узлов >
+ < модель динамики >< модель вход/выход >
+ [ MNTYMXDLY=< выбор значения задержки > ]
+ I IO_LEVEL=< уровень модели интерфейса > ]
Имена узлов перечисляются в ссписке узлов> в следующем
порядке:
<+узел источника питания>, <-узел источника питания>,
<аналогсвый вход>, <опорное напряжение>, <"земля">, <сигнал
разрешения^ <сигнал преобразования^ <ситал перелолнения>,
<т-ый разряд>,.... <1-ый разряд>
Модель динамики имеет формат:
.MODEL <имя модели> UADC [ ( параметры ) ]
Параметры этой модели:
TPCSMN - время задержки запуска, минимальное значение
TPCSTY - время задержки запуска, типичное значение
TPCSMX - время задержки запуска, максимальное значение
TPSDMN - время цикла кодирования, минимальное значение
TPSDTY - время цикла кодирования, типичное значение
TPSDMX - время цикла кодирования, максимальное значение
TPDSMN - запаздывание заднего фронта сигнала запуска
относительно момента перехода выходного сигнала в новое
состояние, минимальное значение
TPDSMTY - запаздывание заднего фронта сигнала запуска
относительно момента перехода выходного сигнала в новое
состояние, типичное значение
TPDSMX - запаздывание заднего фронта сигнала запуска
относительно момента перехода выходного сигнала в новое
состояние, максимальное значение

Временная диаграмма АЦП показана на рисунке:


- 39 -

Сигнал
разрешения^
Сигнал
запуска —

старое Неопределенное Новое


состояние состояние состояние
I

ipsci tpda
к

Выходной сигнал АЦП равен ближайшему целому выражения

V (< аналоговый вход >,<"з е м ля">)


V (< опорное напряжение >,<"земля">)

где m - количество разрядов. Если это выражение больше 2т - 1 ,


все разряды данных и разряд переполнения примут значение 1.
Если оно меньше нуля, разряды данных примут нулевое значение, а
разряд переполнения -1. Таким образом, опорное напряжение
устанавливает диапазон входного напряжения АЦП.
Сигнал разрешения может иметь любую, в том числе и
нулевую длительность. Между узлами <опорное напряжение> и
<"звмля”> включается резистор с сопротивлением, равным 1/GMIN.
GMIN - минимальная проводимость, равная по умолчанию 10л(-12)
См (Сименс);
Пример моделирования АЦП см. в разделе 2.6.5.

2.2Л.2.6. Цифро-аналоговые преобразователи

Многоразрядные ЦАП задается по формату:


- 40-
Uxxx DAC ( < m > ) < список узлов >
+ < модель динамики >< модель вход/выход >
+ [ MNTYMXDLY=< выбор значения задержки > ]
+ [ IO_LEVEL=< уровень модели интерфейса > ]
Имена узлов перечисляются в ссписке узлов> в следующем
порядке.
<+узел источника питания>,<-узел источника питания>,<аналоговый
выход>,<опорное напряжение>,<"земля">,<т-ый разряд входного
сигнала»....<1-ый разряд входного сигнала>
Модель динамики ЦАП имеет вид:
.MODEL < имя модели > UDAC [ ( параметры ) ]
Параметры этой модели приведены в ниже (значения по умолчанию
0, единица измерения с):

TSWMN - время установления, минимальное значение


TSWTY - время установления, типичное значение
TSWMX - время установления, максимальное значение
Между узлами «аналоговый выход> и <"земля"> включается
источник напряжения с нулевым внутренним сопротивлением, ЭДС
которого равна:
бинарный входной сигнал
V (< опорное напряжение >,<" земля">)-------------------------

Опорное напряжение определяет диапазон выходного


аналогового напряжения. Между узлом источника опорного
напряжения и "землей" включается сопротивление, равное 1/GMIN.
Если какой-либо разряд входного цифрового сигнала не
определен, выходное напряжение равно половине разности двух
напряжений. Одно из них представляет выходное напряжение ЦАП,
если все неопределенные состояния "X" заменить на "1", второе -
если эти состояния заменить на логический "0". При изменении
состояний всех разрядов выходное напряжение линейно
-41 -
изменяется в течение интервала преобразования, как показано на
рисунке:

Новое
состояние

Пример моделирования ЦАП см. в разделе 2.6.6,

2.2.4.3. Функциональное описание цифровых


устройств

При моделировании сложной схемы ее можно представить в


виде многих простых микросхем. Для этого можно включить в цепь
все эти микросхемы, однако в Pspice есть возможность заменить
микросхемы их логическими функциями.
Функциональное описание цифровых устройств включает в себя
логическое описание компонентов и задание временных задержек.

2.2.4.З.1. Логическое описание компонентов

Логическое описание компонентов осуществпяется с помощью


конструктива LOGICEXP (logic expression)
-42-
Конструктив LOGICEXP описывается как цифровое устройство со
сложным форматом:
Uxxx LOGICEXP ( < количество входов >, < количество
выходов > )
+ < +узел источника питания >
+ < -узел источника питания >
+ < входной узел 1 >...< входной узел п >
+ < выходной узел 1 >...< выходной узел п >
+ < имя модели динамики >
+ < имя модели вход/выход >
+ [ IO_LEVEL=< уровень модели интерфейса > ]
+ [ MNTYMXDLY=< выбор значения задержки > ]
+ LOGIC:
+ < логическое назначение >*

< количество выходов > - все сигналы, передаваемые в описание


макромодели.
Логическое назначение записывается двояко.
< выходной узел >={ < логическое выражение > }
< промежуточная переменная >={ < логическое
выражение > }

Каждый упомянутый в спецификаций выходной узел должен иметь


одно логическое выражение Назначенные один раз промежуточные
переменные могут использоваться в последующих логических
выражениях. Логические выражения заключаются в фигурные
скобки {}. Приведем перечень логических операторов в порядке их
старшинства:
~ - логическое отрицание
& - логическое И
-43 -
А- логическое исключающее ИЛИ
| - логическое ИЛИ

В качестве операндов могут быть:


- входные узлы
- предварительно определенные временные переменные
- предварительно определенные выходные узлы
-логические константы 0,1. X, R, F

При записи выражений можно применять круглые скобки для


фуппирования операндов

Модель динамики конструктива LOGICEXP имеет такой же формат,


как и стандартные вентили:
.MODEL < имя модели > UGATE [ ( параметры } ]
Для примитива LOGICEXP обычно используется модель динамики
D0_GATE с нулевыми задержками

Обобщенный пример для LOGICEXP и PINDLY приведен в разделе


2.2.4.3.3.

2.2.4.3.2. Задание задержек распространения


сигналов

Конструктив PINDLY (Pin-to-Pin Delay) позволяет назначить


задержки распространения сигналов сложным устройствам.
Конструктив PINDLY задается по формату:
-44-
Uxxx PINDLY ( < количество путей >,
+ < количество входов разрешения >,
+ < количество дополнительных узлов > )
+ < +узел источника питания >
+ < -узел источника питания >
+ < входной узел 1 >...< входной узел п >
+ [ < узел разрешения 1 >...< узел разрешения п > ]
+ [ < дополнительный узел 1 >...< дополнительный узел
п>]
+ < выходной узел 1 >...< выходной узел п >
+ < имя модели вход/выход >
+ [ IOJLEVEL=< уровень модели интерфейса > ]
+ [ MNTYMXDLY=< вы бор значения задержки > ]
+ [ BOOLEAN: < булевское назначение >* ]
+ PINDLY: < назначение задержек >*
<количество путей> - количество путей распространения сигналов
от входных к выходным узлам; при этом количество входов путей
должно быть равно количеству выходов. С каждым путем вход-
выход ассоциируется задержка, вычисляемая по определенным
правилам.
ко л и ч е с т в о входов разрешения> - спецификация тристабильных
узлов, имеющихся в конструктиве (может быть равным нулю).
«количество дополнительных узлов> - дополнительные узлы
используются в выражениях, определяющих задержки, но они не
входят в пути вход-выход (может быть равным нулю).
Рассмотрим взаимосвязь различных узлов на примере следующего
конструктива:
-45 -

REF1
REF2
REF3
?N1 f -—^Правило 1 OUT1
IN2 OUT2
Правило 2
fN3 OUT3
fN4 ^Правило 3 OUT4

U1 PINDLY{4,0,3) $G_DPWR $G_DGND


+ IN1 IN2 IN3 IN4
+ REF1 REF2 REF3
+ OUT1 OUT2 OUT3 OUT4
+ IO_MODEL D0_GATE
+ PINDLY:
+ .......
Имеются четыре буфера, включенные между узлами IN1-OUT1......
IN4-OUT4, и три дополнительных узла REF1, REF2, REF3, состояния
которых влияют на значения задержек, определяемых с помощью
трех правил.
Раздел BOOLEAN.
Для определения значения задержки важно знать,
переключение какого входного узла (группы узлов) привело к
изменению сигнала на выходе. Для этого в секции BOOLEAN можно
ввести логические переменные (принимающие значения TRUE и
FALSE). Каждая переменная будет следить за изменением "своего"
узла (группы узлов). Каждой переменной соответствуют значения
задержек.
-46-
Вь ражение <булевское назначение» имеет вид:
< булевская переменная >={ < булевское выражение > }
Пеэечислим булевские операторы в порядке убывания их
старшинства:
- - Логическое отрицание
== - Равно
!= Не равно
& - Логическое И
л - Логическое исключающее ИЛИ
| - логическое ИЛИ
В качестве операндов булевских выражений могут участвовать:
- п зедваригельно определенные <булевские переменные»
- пункции дополнительных узлов (см. ниже);
- пункции изменений (см. ниже);
- «булевские константы» TRUE и FALSE.
Дополнительные операторы "==" и "!=" могут быть
применены к логическим значениям «входные узлы» и
«логические константы». Это позволяет проанализировать
ло ические состояния узлов, например, выражение "CLEAR==1"
пр 1нимеет значение TRUE, если узел CLEAR имеет значение
ло ической "1", и FALSE - в противоположном случае.
Управляющие функции используются для определения
изненений состояний <внутренних узлов» или «выходных
узлов». Все управляющие функции принимают логические значения
и гоэтому могут входить в состав «булевских выражений».
Приведем список этих функций и их аргументов:
CHANGED ( < узел >,< интервал времени >)
OHANGED_LH (< узел >,< интервал времени >)
CHANGED_HL (< узел >,< интервал времени >)
Функция CHANGED принимает значение TRUE, если
указанный «узел» изменял свое состояние на указанном
-47 -
«интервале времени>, предшествующем текущему моменту
времени, в противном случае - FALSE.
Аналогично, функция CHANGED_LH принимает значение
TRUE, если указанный <узел> изменял свое состояние из "О" в "1"
на указанном «интервале времени>, предшествующем текущему
моменту времени, в противном случае - FALSE. CHANGED_LH
контролирует только самое последнее изменение.
Функция CHANGED_HL принимает аналогичные значения,
контролируя переходы из "1" в "О".
Если «интервал времени> задать равным нулю, то
рассматриваемые функции примут значение TRUE, если в данный
момент времени состояние узла изменяется. Это дает возможность
разбивать модель цифровых компонентов на две части: первая
моделирует логику функционирования с нулевыми задержками, а
вторая учитывает реальные задержки.
Функции изменений предназначены для контроля за
изменением состояний «выходных узлов>, для которых
вычисляются «выражения для задержек». Они принимают
значения логического "О" или "1". Функции не имеют аргументов и
просто фиксируют изменение состояний выходных узлов в текущий
момент времени. Они имеют вид:
TRN _рп
Здесь р - значение предыдущего состояния, а п - нового состояния.
Логические значения состояний обозначаются символами: L (низкий
уровень), Н (высокий уровень), Z (большое выходное
сопротивление) и $ (любой уровень). Так, например, функция
TRN_H$ контролирует переход из состояния логическая "1" в любое
другое состояние.
Раздел PINDLY.
Ключевое слово PINDLY отмечает начало раздела, содержащего
одно или несколько «назначений задержек», которые имеют
формат
< выходной узел >*={ < выражение для задержек > }
В простейшем случае «выражение для задержек> представляет
собой «значение задержек> вида
-48-
DELAY( < min >,< typ >,< max > )
Для спецификации неизвестной величины используется *1.
Например, DELAY(20us, -1, 35us) задает минимальную задержку
20нс, максимальную задержку 35нс, типичную задержку - по
умолчанию.
В более сложных «выражениях для задержек> используются
функции CASE вида
CASE
(
< булевское выражение >,< выражение для задержек >,
{Правило 1
< булевское выражение >,< выражение для задержек >,
; Правило 2
< выражение для задержек > ; Задержки по умолчанию
)
При вычислении функции CASE вычисляются <6улевские
выражения> в порядке их следования до тех пор, пока не будет
получен результат TRUE. После этого задержкам присваиваются
значения из соответствующего выражения. Если ни одно выражение
не имеет значения TRUE, задержкам присваиваются значения из
последнего выражения. Ниже приведен пример для мультиплексора
К555КП7, с подробными пояснениями.

2.2.4.3.3. Пример функционального описания


цифровых устройств

В этом параграфе приведен пример функционального описания


микросхемы мультиплексора К555КП7.

Пример макромодели мультиплексора К555КП7


-49 -
.SUBCKT K555KP7 E J SOJ SI J S2 I И I I2 J 13J 14 115 I
I6 J I7_l I8 J
+ Y _0 W _0
+ OPTIONAL: DPWR=$G_DPWR DGND=$G_DGND
+ PARAMS: MNTYMXDLY=0 !0_LEVEL=0
‘ Описание функционирования мультиплексора (конструктив
LOGICEXP)
ULOGKP7 LOGICEXP(12,14) DPWR DGND
+ E J SOJ S 1J S2_l 11J 12_I I3_l I4_l I5_l I6_l I7_l I8_l
+ E SO S1 S2 11 12 13 14 15 16 17 18 W Y
+ D0_GATE IO_STD IO_LEVEL={IO_LEVEL}
+ LOGIC:
* Стробирующий вход E
♦ e = {E J }
* Адресные входы SO, S1, S2
+ S0 = { S 0 _ l}
+ S1 = { S 1J }
+ S2 = { S 2J }
* Информационные входы 11-18
+ И = {11J >
+ 12 = { I2_l }
+ 13 = { I3 J }
+ 14 = { I4_l }
+ 15 = { 15_1}
+ 16 = { 16J }
+ 17 = { 17_1 }
+ 18 = { 18_I }
- 50-
* Промежуточные переменные принимают значения выражений
в фигурных скобках
+ AS0 = { ~SQ >
+ AS1 = { ~S1 >
+ AS2 = { -S2 }
+ АЁ = { ~Е }
+ AH ={11 & AS0& AS1 & AS2& А Е )
+ AI2 = { 12 & SO & AS1 & AS2 & АЕ }
+ AI3 = { 13 & AS0 & S1 & AS2 & АЕ >
+ AI4 = { 14 & SO & S1 & AS2 & АЕ >
+ AI5 = { 15 & AS0 & AS1 & S2 & АЕ }
+ AI6 = { 16 & SO & AS1 & S2 & АЕ }
+ А17 = { 17 & AS0 & S1 & S2 & АЕ }
+ AI8 = { 18 & SO & S1 & S2 & АЁ }
* Инверсный вы ход W и прямой вы ход Y
+ W = { ~(AI1 | AI2 | AI3 | AI4 | AI5 | AI6 | AI7 | AI8) }
+ Y *= { -W }
* Задание временных задержек (конструктив PINDLY)
UKP7DLY PINDLY(2,0,12) DPWR DGND
+WY
+ E SO S1 S2 11 12 13 14 15 16 17 18
+ W _0 Y_0
+ 10 STD MNTYMXDLY={MNTYMXDLY>
ra_LEVEL={IO_LEVEL}
+ BOOLEAN:
* Переменная DATA принимает значение TRUE,
* если один из информационных входов меняет свое состояние
- 51 -
+ DATA = { CHANGED(I1,0$ | CHANGED(I2,0) |
CHANGED(I3,0) | CHANGED(I4,0) |
+ CHANGED(I5,0) | CHANGED(I6,0) | CHANGED(I7,0) |
CHANGED(I8,0)}
* Переменная SELECT принимает значение TRUE,
* если один из адресных входов меняет свое состояние
+ SELECT = { CHANGED(SO.O) | CHAMGED(S1,0) |
CHANGED(S2,0)}
* Переменная ENABLE принимает значение TRUE, если
переключился вход Е
+ ENABLE = { CHANGED(E.O)}
+ PINDLY:
* Вычисление задержек для прямого выхода Y
+ Y_0 = {
+ CASE(
* Если изменилось значение на адр. входах,
* то задержка на выходе Y=DELAY(-1,25NS,38NS>
+ SELECT, DELAY(-1,25NS,38NS),
* Если значение на стробирующем входе изменилось с "О" на
” 1" ,

* то задержка на выходе Y=DELAY(-1,21NS,33NS)


+ ENABLE & TRNJLH, DELAY(-1,21NS,33NS),
* Если значение на стробирующем входе изменилось с "1" на
” 0 ",

* то задержка на выходе Y=DELAY(-1,22NS,33NS)


+ ENABLE & TRN_HL, DELAY(-1,22NS,33NS),
+ DATA 8t TRN_LH, DELAY(-1,13NS,20NS),
+ DATA & TRN_HL, DELAY(-1,18NS,27NS),
* Если ни одна из переменных не изменилась,
- 52 -

* то задержка на выходе Y=DEL AY(-1,26NS,39NS)


+ DELAY(-1,26NS,39NS)
+ )
+}
+ W _0 = {
♦ CASE(
+ SELECT 4 TRN_HL, DELAY(-1,19NS530NS),
+ SELECT & TRN_LH, DELAY(-1,17NS.26NS),
+ ENABLE & TRN_HL, DELAY(-1,15NS,23NS),
+ ENABLE & TRN_LH, DELAY{-1,14NS,21NS),
+ DATA, DELAY(-1,8NS,14№S),
+ DELAY(-1,20NS,31NS)
+)
+}
.ENDS

Ниже, в разделе 2.6.7. приведен полный пример задания на


моделирование для микросхемы мультиплексора К555КП7.

2.2.5. Описание аналоговых компонентов

2.2.5.1. Резисторы
Резисторы описываются по формату.
Rxxx < +узел > < -узел > [ имя модели ]
+ < значение > [ ТС=< ТС1 > [, < TC2 > ] ]
Здесь ххх - произвольная алфавитно-цифровая
последовательность общей длиной не более 7 символов, которая
пишется слитно с символом R и вместе с: ним образует имя
компонента.
- 53 -

Параметр «значение» указывается в омах и может


принимать положи~ельные и отрицательные значения, но не может
быть равен нулю.
Если в описании резистора <имя модели» опущено, то его
сопротивление принимается равным параметру «значение». {Если
имя модели указано и з ней отсутствует параметр ТСЕ, то
сопротивление резистора определяется выражением
<значенив>-Н-{1+ТС1(Т-Тпогп)+ТС2,((Т-Тпот)А2))
если параметр ТСЕ указан, тс сопротивление равно
<значение>-М .01А{ TCE (T-Tnom)).
Здесь Т - текущее значение температуры (указывается по директиве
.TEMP); Тпспг-27°С - номинальная температура (указывается по
диоектизе .OPTIONS).
Имя модели указывает на модель резистора, которая задается по
формату:
.MODEL <имя модели» RES [ ( < имя параметра »=<
значение > *) ]

Параметры, описывающие модель резистора, приведены в таблице


6:
Таблица 8

Обозначение Параметр Рэзмерност Значение по


ь умолчанию

R Масштабный множитель 1
сопротивления
ТС1 Линейный температурнь й 1/°С С
коэффициент
сопротивления
-54-

TC2 Квадратичный 1/ (°СЛ2) 0


температурный
коэффициент
сопротивления
ТСЕ Экспоненциальный % / °С 0
температурный
коэффициент
сопротивления
Т MEASURED Температура измерения °С
T_ABS Абсолютная температура °С
T_REL_GLOBAL Относительная °С
температура
T_REL_LOCAL Разность между °с
температурой устройства
и модели-прототипа

Примеры
R1 15 О 2К
RGEN 1 2 2.4Е4
R12 3 О RTEMP 5К
.MODEL RTEMP RES (R=3 TC1=0.01); модель резистора
R12

Пример моделирования резисторов совместно с другими


аналоговыми элементами см. в разделе 2.6.8.

2.2.5.2. Конденсаторы

Конденсаторы описываются по формату:


- 55 -

Сххх < +узел > < -узел > [ имя модели ]


+ < значение > [ 1С~< начальное значение напряжения > ]

Если в описании конденсатора <имя модели> опущено, то


его емкость принимается равной параметру <значение> в фарадах,
в противном случае она определяется выражением
< значение > С ( 1+VC1V+VC2VA2 )•( 1+ТС1( T-Tnom
)+ТС2 ( T-Tnom )л2 )
V - напряжение на конденсаторе при расчете переходных процессов
(режим TRAN). При расчете частотных характеристик емкость
считается постоянной величиной определяемой в рабочей точке по
постоянному току.
После ключевого слова 1C указывается значение
напряжения на конденсаторе при расчете режима по постоянному
току, которое при расчете переходных процессов служит начальным
значением этого напряжения.
Имя модели указывает на модель конденсатора, которая задается
по формату:
.MODEL [ имя модели ] САР [ ( параметры ) ]
Параметры модели конденсатора приведены в таблице 8:

Таблица 8

Обозначение Параметр Размерность Значение


по
умолчанию
С Масштабный множитель 1
емкости
VC1 Линейный коэффициент 1/В
напряжения
VC2 Квадратичный 1/(Вл2)
коэффициент напряжения
- 56 -

ТС1 Линейный температурный 1/°С 0


коэффициент емкости
ТС2 Квадратичный 1/ (°СЛ2) 0
температурный
коэффициент емкости
Т MEASURED Температура измерения °С
Т ABS Абсолютная температура °С
T_REL_GLOBAL Относительная °с
температура
T_REL_LOCAL Разность между °с
температурой устройства
и модели-прототипа

Примеры
С1 15 О 56PF
С2 3 9 0.5PF IC=1.5V
СЗ 4 6 CMOD 10U
.MODEL CMOD CAP (С*2.5 ТС1=0.01 VC1=0.2 ) ; модель
конден сатора СЗ_____________________________________________

Пример моделирования конденсаторов совместно с другими


аналоговыми элементами см. в разделе 2.6.8.

2.2.5.3. Индуктивности

Индуктивности описываются по формату:


Lxxx < +узел > < -узел > [ имя модели ]
- 57 -

+ < значение > [ 1С=< начальное значение напряжения > ]


Если в описании <имя модели> опущено, то индуктивность
принимается равной параметру <значение> в генри, в противном
случае она определяется выражением
<значение> И 1+IL1I+IL2IA2 )■( 1+ТС1( T-Tnom )+ТС2 ( Т-
Tnom )А2 )
I - ток, протекающий через индуктивность при расчете переходных
процессов (режим TRAN) При расчете частотных характеристик
(режим АС) индуктивность считается постоянной величиной
определяемой в рабочей точке по постоянному току.
После ключевого слова IC указывается значение тока,
протекающего через индуктивность при расчете режима по
постоянному току, которое при расчете переходных процессов
служит начальным значением этого тока.
Таблица 9

Обозначение Параметр Размерность Значение


по
умолчанию

L Масштабный множитель 1
индуктивности
IL1 Линейный коэффициент 1/А
тока
IL2 Квадратичный 1/(Ал2)
коэффициент тока
ТС1 Линейный температурный 1 / сС 0
коэффициент
индуктивности
ТС2 Квадратичный 1/ (°С Л2) 0
температурный
коэффициент
индуктивности
T _M EA SU R E D Температура измерения °С
- 58 -
Т ABS Абсолютная температура °С
T_REL_GLOBAL Относительная °С
температура
T_REL_LOCAL Разность между °С
температурой устройства
и модели-прототипа

Примеры
L1 15 О 20МН
L2 4 6 2VH IC=2M
LOAD 5 12 LMOD 0.03
.MODEL LMOD IND (L=2 IL1 =0.1); модель индуктивности
LOAD

2.2.5.4. Диоды

Выше было рассмотрено описание пассивных аналоговых


компонентов, т. е. таких компонентов, "поведение" которых
постоянно либо зависит только от температуры. Однако некоторые
аналоговые устройства, такие как диоды и транзисторы, обладают
сложной моделью поведения. В Pspice имеются математические
модели^ описывающие их функционирование.
В связи со сложностью этих моделей и большим
количеством параметров, используемых в них, в руководстве
модели не рассмотрены. Рекомендуется для моделирования
использовать готовые модели компонентов из библиотечных
файлов (например, из файла "eval.lib").
- 59 -

Диоды описываются по формату:


Dxxx < узел анода > < узел катода > < имя модели >

Пример
.LIB D.LIB ; библиотечный файл D.LIB содержит модель
диода D104A
______ D1 1 2 D1Q4A ; диод включен между узлами 1 и 2___ _

2.2.S.5. Биполярные транзисторы

Биполярные транзисторы описываются по формату:


Qxxx < узел коллектора > < узел базы > < узел эмиттера
>
+ [ < узел подложки > ] < имя модели >

Пример
Q1 1 2 О КТ315А
.LIB BIPRUS.lib

Пример моделирования транзистора совместно с другими


аналоговыми элементами см. в разделе 2.6,8.

2.3. Описание входных сигналов


Для логического моделирования не достаточно описать
моделируемый компонент. Необходимо также задать сигналы,
подаваемые на его входы.
- 60 -

2.3.1. Стандартные сигналы

Для задания начальных значений узловых потенциалов


используется директива .1C. (см. раздел 2.4.)
При задании входных воздействий можно использовать ряд
стандартных функций, параметры которых при необходимости
возможно изменять, как показано ниже.
Независимые источники напряжения (V) стандартного вида
описываются предложениями:
Vxxx <+узел> <-узел> [[DC] «значение»]
+ [АС <модуль> [<фаза>]]
+ [STIMULUS=<hmb сигнала»]
+ [спецификаций сигнала]
После ключевого слова STIMULUS указывается имя
сигнала, созданного с помощью программы StmEd (Stimulus Editor).
Программа StmEd также как Pspice является частью пакета Design
Center и служит для создания и редактирования аналоговых и
цифровых сигналов, которые просматриваются в графическом виде
на экране и записываются в файл.
Можно использовать один из стандартных сигналов, которые
Pspice "понимает" без подключения библиотек. Это можно сделать с
помощью конструкции «спецификация сигнала», имеющей вид:
PULSE <параметры> - импульсный сигнал
SIN < параметры > - синусоидальный сигнал
ЕХР < параметры > - сигнал экспоненциальной формы
PWL < параметры > - кусочно-линейный сигнал
SFFM < параметры > - гармонический сигнал с синусоидальной
частотной модуляцией
По умолчанию все параметры принимают нулевые значения.
-61 -

Примеры
V1 2 3 .001

V2 2 3 .001 9 0

Экспоненциальная функция задается списком параметров:


EXP (Y, Y2t at crt r t fr)
Назначение параметров приведены в таблице 10:
Таблица 10
Обозначение Параметр Размерность Значение
по
умолчанию

Y1 Начальное значение В
Y2 Максимальное значение В
td Начало переднего с 0
фронта
ter Постоянная времени с TSTEP
переднего фронта
tr Начало заднего фронта с td +
TSTEP
tfr Постоянная времени с TSTEP
заднего фронта

T S T E P - шаг по времени вывода на печать результатов расчетов


переходных процессов (задается в директиве .TRAN)
- 62-

18U

It)

.TRAN 20ns 1000ns


VI IN 0 EXP(1V 10V 100ns 200ns 300ns)

-1IU + - ----1
8s *.2us 6.4us Mas 0.8us I.Ous

Импульсная функция задается списком параметров:


PULSED Y2 tc tr tf т T)
Смысл параметров приведены в таблице 11:
Таблица 11

Обозначение Параметр Размерность Значение по


умолчанию
Y1 Начальное значение В
Y2 Максимальное В
значение
td Начало переднего с 0
фронта
tr Длительность с TSTEP
переднего фронта
tf Длительность с TSTEP
заднего фронта

% Длительность с TSTOP
плоской части
импульса
Т Период повторения с TSTOP
-63 -

TSTOP - конечное время анализа переходного процесса (задается в


директиве .TRAN)

j VI IN в PULSE(2V 5V 50ns 75ns 75ns 100ns 175ns)

l*b-------------------,-------------------------------------- т- - - - - - - - - - - - - - - - - - - - - - - т- - - - - - - - - - - - - - - - - - - - - - - 1
Bs e.2l)S M lJ S B.6U5 fl.8us 1.8ns

Кусочно - линейная функция задается списком параметров:


PWL [TIME_SCALE_FACTOR=<3Ha4eHne>]
+ [VALUE_SCALE_FACTOR=< значение >]
+ (точки_отсчета)
В секции (точки_отсчета) помещаются следующие данные:
(<tn,yn>) - координаты точек

Синусоидальная функция задается списком параметров:


SIN(Y0 Ya f t„ d, ф)
Ее параметры приведены в таблице 12:
- 64 -
Таблица 12

Обозначение Параметр Р (Змерность Значение по


умолчанию
Y0 Постоянная В
составляющая
Ya Амплитуда В
f Частота Ц 1/TSTOP
td Задержка 0
df Коэффициент /с 0
затухания

Ф Фаза г >ад. 0

Примечание. При описании источников н пряжения вывод <+узел>


( <-узел> ) обязательно должен быть лод| пючен к другому
компоненту.

2.3.2. Генератор цифро *ых сигналов

Хотя описание входных сигналов и выделено в отдельный


тип предложений, фактически представляет собой описание
цифрового устройства со специфическими параметрами.
Устройство генератор цифровых сигналов в задании на
моделирование описывается по формату:
Uxxx STIM («количество сигналов>,<формат>)
+ <+узел источника питания»
+ <-узел источника питания»
-65 -

+ ссписок узлов> <имя модели вход/выход>


+ [IO_LEVEL=<ypoeeHb модели интерфейса
вход/выход>]
+ [TIMESTEP=<iuar по времени>]
+ <команды описания формы сигнапа>

Переменная «количество сигналов> определяет


количество выходов генератора, равное количеству генерируемых
разных цифровых сигналов.
Переменная <формат> представляет собой
последовательность цифр, сумма которых равна значению
переменной «количество сигналов>. Каждая цифра принимает
значения 1,3 или 4, что означает двоичную, восьмеричную и
шестнадцатеричную систему счисления.
Подключение источника питания задается номерами узлов
<+узел источника питания> и <-узел источника питания>.
Имена выводов подключения выходов генератора к схеме задаются
параметром <список узлов>.
В большинстве случаев для генератора цифровых сигналов
используется модель вход/выход IO_STM, описанная в одном из
библиотечных файлов.
IO_LEVEL - необязательный параметр для выбора одной из
четырех макромоделей интерфейса вход/выход (по умолчанию 0);
TIMESTEP - необязательный параметр для задания периода
квантования (или шага). При задании моментов времени номером
шага (имеют суффикс "С") он умножается на величину шага По
умолчанию устанавливается TIMESTEP=0. Этот параметр не
принимается во внимание, если заданы абсолютные значения
моментов времени (имеют суффикс "S" или "NS").

Пример
UEx1 STIM (10,4411) $G DPWR $G DGND АО А1 A2 АЗ A4
A5 A6 A7 INE INO
- 66 -
+ IO_STM
+ Ons 0000
+ 250ns E010
Расшифровка формата:
+ 0ns 0000

АО А1 А2 АЗ А4 А5 А6 А7 INE INO
0 0 0 0 0 0 0 0 0 0

+ 300ns E010

АО А1 А2 АЗ А4 А5 А6 А7 INE INO
1 1 1 0 0 0 0 0 1 0

Параметр «команды описания формы сигнала» представляет


собой произвольную комбинацию одной или нескольких следующих
строк:
<t> «логический уровень»
LABEL=« hmr метки»
< t » GOTO <имя метки» <п> TIMES
« t > INCR BY «данные»
« t > DECR BY «данные»
Каждая цифра переменной «данные» представляет собой
логический уровень соответствующего выходного сигнала, который
представлен в системе счисления 2Лт , где т - соответствующая
цифра переменной «формат».
Количество узлов в «списке узлов» должно быть равно значению
переменной «количество сигналов».
Переменная < t > определяет моменты времени, в которые
- 67-
задаются логические уровни сигнала. Если перед значением
переменной t имеется символ +, то эта переменная задает
приращение относительно предыдущего момента времени; в
противном случае она определяет абсолютное значение
относительно начала отсчета времени t=0. Суффикс "S" указывает
размерность времени в секундах (допускается суффикс "nS"-
наносекунды и т.п.). Суффикс "С" означает измерение времени во
временных циклах, размер которых определяется параметром
TIMESTEP (переменная <шаг по времени») Т. е. если
TIMESTEP=2ns, то 1C=2ns, 2C=4ns, и т. д.
Переменная <данные> состоит из символов "О" -логический 0, "1" -
логическая 1, "X" - неопределенное состояние "R"- передний фронт,
"F" - задний фронт (спад) или "Z"- высокоимпедансное состояние,
интерпретируемых в заданном формате. "F" - задний фронт нельзя
использовать для шестнадцатеричной с. с.
Переменная <п> задает количество повторяющихся циклов
GOTO; значение п= -1 задает бесконечное повторение цикла.
Переменная <имя метки> используется при организации
цикла с помощью оператора перехода GOTO, который передает
управление на строку, следующую за оператором LABEL=<mmh
метки>
Оператор INCR BY увеличивает значение сигналов на
число, задаваемое переменной данные. При этом значения всех
сигналов воспринимается как одно число(см. пример).
Оператор DECR BY уменьшает значение сигналов
Пример для оператора GOTO и оператора INCR BY
.TRAN 1ns 14ns
.LIB 7400.LIB
USIGNAL STIM (2,11) $G_DPWR $G_DGND out1 out2
+ IO_STM
+ TIMESTEP=1ns
+ ОС 10 ; в момент времени t=0 out1
устанавливается в 1, out2 в 0
+ LABEL=M ; метка М
- 68 -
+ +1С00 ; при t*lH c out1 и out2
устанавливаются в О
+ +1С 11 ; при t=2HC out1 и out2
устанавливаются в 1
+ +1С GOTO М 3 TIMES; при Ъ=3нс переход на метку М;
цикл выполняется 3 раза
+ +1С01 ; при увеличении t на 1нс out1 и
out2 устанавливаются в О
+ +1С INCR BY 01 ; при увеличении t на 1нс число
out1out2 увеличивается на 1; out1=1, out2=0
.PROBE
.END

2.4. Директивы моделирования

Многие директивы уже были рассмотрены ранее в составе


некоторых конструкций. Здесь описаны обособленные директивы:
1. Переходные процессы рассчитываются по директиве .TRAN:
.TRAN <шаг вывода д анны ххко нечное время>
+[<начальный момент времени вывода данных>
- 69 -

+[<максимапьный шаг >]]


Переходные процессы всегда рассчитываются с момента t=0 до
момента <конечное время>. Шаг квантования выбирается
автоматически. Результаты вычислений выводятся в виде таблиц
или графиков с интервалом времени, задаваемым параметром
<шаг вывода данных>. Если задан параметр «начальный момент
времени вывода данных>, то вывод результатов расчетов
подавляется на интервале времени от t=0 до указанного значения.
Максимальное значение шага квантования устанавливается
параметром «максимальный шаг>; если он не указан, то
максимальный шаг квантования устанавливается «конечное
время>/50.
Пример
.TRAN 5ms 500ms

2. Файл библиотеки компонентов подключается по директиве .LIB:

.LIB <имя файла библиотека»


В файле библиотеки с указанным именем содержится описание
встроенных моделей одного или нескольких компонентов
(параметры каждого компонента вводятся по директиве MODEL)
или подсхем (описанных с помощью директив SUBCKT/ ENDS). В
этом же файле могут быть помещены комментарии и обращения к
другим директивам .LIB. При указании в задании на моделирование
имени какого-либо конкретного компонента, модель которого
содержится в библиотечном файле, в ОЗУ загружается не весь
файл, а только его часть, относящаяся к данному компоненту.
Пример
.LIB 7400.lib
- 70 -

3. Подготовка файла * dat (результатов моделирования) для


графического отображения в программе Probe производится
директивой .PROBE

.PROBE [/С80Р][<выходная переменная»]


Если список выходных переменных не указан, то в файл
результатов с расширением имени .dat заносятся потенциалы всех
узлов цепи и токи всех компонентов. По директиве .PROBE/CSDF
создается файл результатов в текстовом виде с расширением * t x t ,
который можно использовать для сопряжения с программами
дополнительной обработки результатов.
Пример
.PROBE
■PROBE V(3) V(2,3) VM(2) VP(2)___________________________

4. Конец задания отмечается директивой .END

В одном файле могут помещаться несколько заданий на


моделирование, каждое из которых должно заканчиваться этой
директивой.

5. Параметры и режимы работы программы Pspice устанавливаются


по директиве .OPTIONS.
.OPTIONS I имя опции ]* [< имя опции >=< значение >* ]
Опции перечисляются в любом порядке. Их можно поделить на две
части:
1) опции, имеющие числовые значения
2) опции, не имеющие числовых значений (флаги)
Список флагов указан ниже (в скобках указаны значения по
умолчанию):
EXPAND - включение в выходной файл (*.out) описания включений
макромоделей (N );
-71 -
LIBRARY - включение в выходной файл (* out) описания моделей из
библиотечных файлов (N);
LIST - включение в выходной файл (*.out) списка всех компонентов
схемы с описанием каждого (N);
NODE - включение в выходной файл (* out) списка узлов со всеми
подключаемыми к ним компонентами (N);
OPTS - включение в выходной файл (*.out) численных значений всех
опций (N);
Ниже, в таблице представлены некоторые опции, имеющие
численные значения.
Таблица 13
Имя опции Наименование Размерность Значение
по
умолчанию
ABSTOL Допустимая ошибка А 10Л(-12)
расчета токов в режиме
TRAN
DIGDRVF Минимальное выходное Ом 2
сопротивление цифровых
устройств (для моделей
UIO)
DIGDRVZ Максимальное выходное кОм 20
сопротивление цифровых
устройств (для моделей
UIO)
DIGFREQ Частота дискретизации Гц 10л9
при анализе цифровых
устройств
DIGINITSTATE Установка начального 2
состояния триггеров: 0 -
сброс, 1 - установка, 2 - X
DIGIOLVL Уровень интерфейса А/Ц, 1
Ц/А по умолчанию
- 72-
DIGMNTYMX Селектор выбора задержки 2
цифрового устройства по
умолчанию: 1 - минимум, 2 -
типичное значение, 3 -
максимум, 4 -
мин/мах. (наихудший случай)
GMIN Минимальная проводимость См 10Л(-12)
ветви цепи (проводимость
ветви, меньшая GMIN,
считается равной нулю)
TNOM Номинальная температура °С 27

Пример
.OPTIONS NODE TNONMOO

6. Вариация температуры производится по директиве .TEMP


.TEMP < температура >*
Здесь указывается список значений температуры (по шкале
Цельсия), для которых следует выполнить все указанные в задании
директивы анализа характеристик. Если указано несколько значений
температуры, то все виды анализа проводятся для каждой
температуры. Если директива TEMP не приведена, а в директиве
.OPTIONS не указано другого значения температуры, то расчеты
проводятся для номинальной температуры Т п о т =27 °С.
Пример
.TEMP 125
.TEMP 0 27 125 ______________ ________

7. Начальные значения узловых потенциалов по постоянному току


задаются по директиве .IC
- 73 -
ДС < V( < узел> [ , < узел > ] )=< узел > >*
.1C < I (<индуктивность>)=< узел > >*

Пример
.1C V(2)=3.4 V(102)=0 V(3)=-1V l(L1)=2uAmp
______ .IC V(lnPlus,lnMinus)=1e-3 V( 100,133)=5.0V

2.5. Дополнительные сведения об описании


устройств

2.5.1. Смешанные аналого-цифровые цени

Реальные цифровые ИС в программе Pspice представлены в


виде конструктивов Uxxx, отражающих их функционирование на
логическом уровне, и двух аналого-цифровых (А/Ц) и цифро-
аналоговых (Ц/А) интерфейсов, отражающих их входные и
выходные каскады, как показано на рисунке:

Узлы интерфейса
- 74 -
В задании на моделирование указываются только
конструктивы цифровых устройств Uxxx. Если при этом цифровые
устройства соединяются непосредственно друг с другом, то блоки
интерфейсов во внимание не принимаются. Если же ко входу или
выходу ИС подключен аналоговый компонент, то необходимо
включить соответствующий интерфейс. Его можно вручную вставить
в задании на моделирование (в файле .cir) как отдельный
компонент, однако Pspice сделает это автоматически.
Итак, каждому реальному цифровому компоненту в программе
Pspice ставятся в соответствие:
1) два устройства интерфейса (А/Ц и Ц/А); они осуществляют
обмен данными между подпрограммами моделирования аналоговых
и цифровых устройств программы Pspice
2) модель вход/выход
3) модель динамики
Далее рассмотрены каждый из перечисленных пунктов подробно.

В разделе 2.5.5. приведен пример полной модели для ИС К155ЛАЗ


(2И-НЕ).

2.5.2. Аналого-цифровой интерфейс

Аналого-цифровые интерфейсы предназначены для


преобразования аналогового напряжения в логический уровень. Они
имитируют входные каскады цифровых ИС. Схема замещения
показана на рисунке:
-75 -

<+Узел интерф ейса»


О—

VB4
С LOAD U r lo ad

О-—
<-Узел интерф ейса >

Описание интерфейса имеет формат:


Оххх <+узел интерфейса> <-узел интерфейса»
+ <имя модели АУЦ>
+ DGTLNET=<hmh цифрового узла>
+ <имя модели вход/выход>

Опция DGTLNET=<hmb цифрового узла> указывает имя


цифрового узла (входа) ИС, к которому подсоединен интерфейс
А/Ц.
Модель аналого-цифрового интерфейса описывается
предложением
.MODEL <имя модели А/Ц> DOUTPUT [«параметры
модели>]

Параметры модели А/Ц интерфейса приведены в таблице 14:


- 76-
Таблииа 14

Идентификатор Параметр Значение Единица


по измерения
умолчанию

RLOAD Сопротивление нафузки 1/GMIN Ом


CLOAD Емкость нагрузки 0 Ф
S0NAME Имя логического
состояния “О"
SOVLO Нижний уровень В
напряжения логического
"0"

SOVHI Верхний уровень В


напряжения логического
"0"
S1NAME Имя логического
состояния "1"
S1VLO Нижний уровень В
напряжения логической
it

S1VHI Верхний уровень В


напряжения логической
И<| II

S19NAME Имя логического


состояния "19"
S19VLO Нижний уровень В
напряжения логического
состояния "19"
S19VHI Верхний уровень в
напряжения логического
состояния "19"
- 77 -

SXNAME Имя логического ?


состояния, когда
напряжения на узле
интерфейса находится
вне заданных границ

Каждому логическому состоянию соответствует


определенный диапазон напряжений. До тех пор пока входное
напряжение V b x интерфейса А/Ц не выходит за его границы
состояние на выходе интерфейса не меняется. Если входное
напряжение не попадает ни в один из интервалов, то логическому
состоянию интерфейса присваивается по умолчанию символ "?".
При взаимодействии с модулем логического моделирования
программы Pspice имена логических состояний должны быть
•'0","1 ","X".”R","F" или "Z"
Результат моделирования (логические состояния)
интерфейса можно посмотреть с помощью программы Probe,
указывая в качестве имени переменной В(Оххх).

2.5.3. Цифро-аналоговый интерфейс


Цифро-аналоговый интерфейс предназначен для
преобразования логического уровня выходных сигналов цифровых
компонентов ("1","0","X","R","F","Z") в аналоговое напряжение, как
показано на рисунке:
<Узе п и с т о ч н и к а питания>
-78 -
Эти устройства включают на входе аналоговых компонентов.
Аналоговое напряжение образуется с помощью источника опорного
напряжения и делителя на резисторах, сопротивление которых
определяется программно в соответствии с логическим уровнем
цифрового сигнала.
Описание интерфейса имеет формат:
Nxxx <узел интерфейса»
+ <+ узел источника опорного напряжения»
+ <- узел источника опорного напряжения»
+ <имя модели Ц/А»
+ DGTLNET=<HMfl цифрового узла»
+ <имя модели вход/выход»

Опция DGTLNET=<hma цифрового узла» указывает имя


цифрового узла (выхода) ИС, к которому подсоединен интерфейс
Ц/А.
Модель цифро-аналогового интерфейса описывается
предложением
.MODEL <имя модели Ц/А» DINPUT [спараметры
модели»]

Параметры модели Ц/А интерфейса приведены в таблице 15;


Таблица 15
Идентификатор Параметр Значение Единица
по измерения
умолчанию

CLO Емкость между входным 0 Ф


узлом и "землей"
CHI Емкость между входным 0 Ф
узлом и источником
питания
- 79 -

SONAME Имя логического


состояния "О"
SOTSW Время переключения в с
состояние "0"
SORLO Сопротивление между Ом
выходным узлом и
"землей" в состоянии "0"
SORHI Сопротивление между Ом
выходным узлом и
источником питания в
состоянии "0"
S1NAME Имя логического
состояния "1"
S1TSW Время переключения в с
состояние "1"
S1RLO Сопротивление между Ом
выходным узлом и
"землей" в состоянии "1"
S1RHI Сопротивление между Ом
выходным узлом и
источником питания в
состоянии "1"
S19NAME Имя логического
состояния "19"
S19TSW Время переключения в с
состояние "19"
S19RLO Сопротивление между Ом
выходным узлом и
"землей" в состоянии
"19"
S19RHI Сопротивление между Ом
выходным узлом и
источником питания в
состоянии "19"
- 80-
На рисунке показана схема замещения выходного каскада
цифровых ИС. Сопротивления резисторов изменяются в
соответствии с логическим уровнем управляющего цифрового узла.
Длительность переключения указывается в модели DINPUT.
Результат моделирования (логические состояния)
интерфейса можно посмотреть с помощью программы Probe,
указывая в качестве имени переменной B(Nxxx).

2.5.4. Модель вход/выход

Модели вход/выход , ассоциируемые с каждым цифровым


компонентом, имеют тип UIO и задаются по формату:
.MODEL <имя модели вход/выход> UIO
+ [«параметры модели>]

Параметры модели вход/выход представлены в таблице 16:


Таблица 16

Идентификатор Параметр Значение по Единица


параметра умолчанию измерения

INLD Входная емкость 0 Ф

OUTLD Выходная емкость 0 Ф

DRVH Выходное сопротивление 50 Ом


высокого уровня
DRVL Выходное сопротивление 50 Ом
низкого уровня
DRVZ Выходное сопротивление 250*10Л(-3) Ом
утечки цепи
AtoD1 Имя макромодели AtoDDefault
интерфейса А/Ц первого
уровня
-81 -
........ ........... .......
DtoA1 | Имя макромодели DtoADefault
интерфейса Ц/А первого
уровня
AtoD2 Имя макромодели AtoDDefault
интерфейса А/Ц второго
уровня
DtoA2 Имя макромодели DtoADefault
интерфейса Ц/А второго
уровня
AtoD3 Имя макромодели AtoDDefault
интерфейса А/Ц третьего
уровня
DtoA3 Имя макромодели DtoADefault
интерфейса Ц/А третьего
уровня
AtoD4 Имя макромодели AtoDDefault
интерфейса А/Ц четвертого
уровня
DtoA4 Имя макромодели DtoADefault
интерфейса Ц/А четвертого
уровня
TSWLH1 Время переключения 0 с
0-И для DtoA1
TSWLH2 Время переключения 0 с
0 -И для DtoA2
TSWLH3 Время переключения 0 с
0-И для DtoA3
TSWLH4 Время переключения 0 с
0-И для DtoA4
TSWHL1 Время переключения 0 с
1->0 для DtoA1
TSWHL2 Время переключения 0 с
1-»0 для DtoA2
- 82-
TSWHL3 Время переключения 0 с
1-->0 для DtoA3
TSWHL4 Время переключения 0 с
1->0 для DtoA4
DIGPOWER Имя макромодели DIGIFPWR
источника питания

Модели вход/выход задают входные и выходные


сопротивления, емкости время переключения. Выходная и входная
емкости INLD, OUTLD принимаются во внимание при расчете
времен задержки. Выходные сопротивления цифровых устройств
задаются параметрами DRVH, DRVL модели вход/выход UIO.
Выходное сопротивление компонента, находящегося в состоянии
"1", обозначается как DRVH, в состоянии "О" - DRVL. В программе
Pspice выходные сопротивления компонентов принимают значения
в диапазоне от DIGDRVF (Forcing strength) до DIGDRVZ (Z strength),
который в логарифмическом масштабе разбивается на 64 уровня
(максимальному сопротивлению DIGDRVZ присваивают код 0, а
минимальному DIGDRVF - код 63). По умолчанию DIGDRVF=2 Ом,
DIGDRVZ=20 кОм; Времена переключения выходных каскадов
цифровых ИС задаются параметрами TSWLHn, TSWHLn.
Макромодели интерфейсов составляются пользователем и
включаются в библиотечный файл. Эти модели отражают характер
входных/выходных сопротивлений цифровых компонентов с разной
степенью подробности.
Модели, имеющиеся в стандартной библиотеке
интерфейсов программы PSpice, определяются параметром
IO_LEVEL и приведены в таблице:

10 LEVEL Определение I
0 Текущее значение параметра DIGIOLVL директивы
.OPTIONS
1 Основная (простейшая) модель, имеющая логические j
состояния 0, 1, X, R и F (AtoD1/DtoA1) |
-83-
2 Основная (простейшая) модель без промежуточного
состояния X (AtoD2/DtoA2)
3 Сложная модель с промежуточным состоянием X
(AtoD3/DtoA3)
4 Сложная модель без промежуточных состояний X, R и F
(AtoD4/DtoA4)

Пример модели вход/выход IO_STM

.model IO_STM UIO (


+ drvh=0 drvl=0
+ DtoA1 ="Dto A_STM" DtoA2="DtoA_STM"
4- DtoA3="DtoA_STM" DtoA4*” DtoA_STM"
+ DIGPOWER-'DIGIFPWR "
+)
* Макромодель Ц/А интерфейса DtoA_STM
.subckt DtoA_STM D A DPWR DGND
+ params: DRVL=0 DRVH=0 CAPACITANCE=0
N1 A DGND DPWR DINSTM DGTLNET=D IO_STM
C1 A DGND {CAPAClTANCE+0.1pF}
.ends

В программе Pspice принято, что макромодель источника питания


имеет имя DIGIFPWR и на нее автоматически делается ссылка при
наличии в схеме макромоделей А/Ц интерфейсов.
- 84-

2.5.5. Пример полной модели ИС К155ЛАЗ

Для ИС составляются символы одной секции:


Макромодель секции ИС:

subckt K155LA3 А В NQ
U1 NAND(2)
+ $G_DPWR имя узла питания
+ $G_DGND имя узла цифровой земли
+ А В NQ список узлов
+ D_155 имя модели динамики
+Ю_155 имя модели вход/выход
ends

Модель динамики вентиля:

model D_155
+UGATE ; тип устройства (вентиль)
+(tplhty=2.2n, ; значения задержек
+tplhmx=5n, tphlty=1 5n,tphlmx=3n)

Модель вход/выход вентиля:

model IO J5 5 U IO
+ (drvh=50 drvl=50 ; выходные сопротивления вентиля
+ AtoD=AtoD_155, ; имя макромодели А/Ц интерфейса
+ DtoA=DtoA_155) ; имя макромодели Ц/А интерфейса
- 85 -

Макромодель интерфейса А/Ц:

.subckt AtoD_155 A D
01 A $G_DGND
+ IN_155 ; имя модели интерфейса А/Ц
+ DGTLNET=D ; имя цифрового узла
+Ю_155
ends

Модель интерфейса А/Ц:

model 1N_155
+ DOUTPUT( ; описание граничных напряжений
для логических состояний
+ s0name=0, s0vlo=-10,s0vhi=.5,
-1- s1name=1, s1vlo=2,5,s1vhi=10,
+ s2name=x, s2vlo=.5,s2vhi=2.5)

Макромодель интерфейса Ц/А:

subckt DtoA_155 D A
N1 A $G_DGND $G_DPWR
+ OUT_155 ; имя модели интерфейса Ц/А
+ DGTLNET=D
+ Ю_155
.end
-86-
Модель интерфейса Ц/А:

.model OUT_155
+ DINPUT ( ; времена переключений и
сопротивления для логических
+ s0name=0, s0tsw=3.5n, s0rlo=7, s0rhi=390, ; состояний
+ s1name=1, s1tsw=5.5n, s1rlo=467, s1rhi=200,
+ s2name=X, s2tsw=3.5n, s2rlo=43, s2rhi=1 OG,
+ s3name=Z, s3tsw=3.5n, s3rlo=200k, s3rhi=200k)

Макромодель источника питания +5B, подключаемого к


интерфейсу Ц/А:
subckt DIGIFPWR GND
VDPWR $G_DPWR $G_DGND 5V
R1 $G_DPWR GND 1MEG
VDGND $G_DGND GND OV
R2 $G_DGND GND 1MEG
ends
Узел GND - общий узел источника питания, который при включении
его в общую схему соединяется с узлом аналоговой земли 0.

2.6. Примеры заданий на моделирование

2.6.1. Пример для К155ЛИ1 (вентиль 2И)


TRAN 20ns 1000ns
-8 7 -
UEx1 STIM (2,11) $G_DPWR $G_DGND IN1 1N2
+ IO_STM
+ Ons 00
+ 200ns 01
+ 400ns 10
+ 600ns 11
+ 800ns 00

.LIB 7400 lib

* Макромодель секции логического элемента 2И


subckt k155)i1 A B Y
+ optional: DPWR=$G_DPWR DGND=$G_DGND ;узлы "земли" и
питания
+ params: MNTYMXDLY=0 IO_LEVEL=0
U1 and(2) DPWR DGND
+ ABY
+ D_LI1 IO_STD MNTYMXDLY={MNTYMXDLY}
IO_LEVEL={IO_LEVEL}
.ends
"Модель динамики логического элемента 2И
.model D_LI1 ugate (
+ tplhty=17.5ns tplhmx=27ns
+ tphlty==12ns tphlmx=19ns
+ )

* Включение в цепь одной секции ИС k155li1 из макромодели


- 88 -

X_U1A IN1 IN2 0UT1 $G_DPWR $G_DGND k155li1

PROBE
END

IN1
IH2
0UT1

Os 0.2us 8. i*us B.fius 8 . Bus 1.0us


Tins

2.6.2. Пример для K155TM2 (D - триггер)

.TRAN 20ns 1000ns

UEx1 SUM (4,1111) $G_DPWR $G_DGND R D С S


+ IO_STM
+ Ons 1110 ;асинхронная установка
+ 150ns 1111
+ 200ns 0001 ;асинхронный сброс
+ 400ns 1101
+ 600ns 1111 ;загрузка 1 (установка)
+ 800ns 1101
- 89 -

.LIB 7400.lib

* Макромодель триггера
subckt k155tm2 1CLRBAR 1D 1CLK 1PREBAR 1Q 1QBAR
+ optional: DPWR=$G_DPWR DGND=$G_DGND
+ params: MNTYMXDLY=0 !0_LEVEL=0
UFF1 dff(1) DPWR DGND
+ 1PREBAR1CLRBAR1CLK 1D 1Q1QBAR
+ D_TM2 IO_STD MNTYMXDLY={MNTYMXDLY}
IO_LEVEL.={IO_LEVEL}
.ends

* Модель динамики триггера


.model D_TM2 ueff (
+ twpclmn=30ns twclklmn=37ns
+ twclkhmn=30ns tsudclkmn=20ns
+ thdclkmn=5ns tppcqlhmx=25ns
+ tppcqhlmx=40ns tpclkqlhty=14ns
+ tpclkqlhmx=25ns tpclkqhlty=20ns
+ tpclkqhlmx=40ns
+ )

X_U1 A R D С S Q NOTQ $G_DPWR $G_DGND k155tm2

PROBE
END
- 90 -

R
D i__________ r
С — i____________
S r ~ ---------------- -
Q I_________ 1
NOTQ

T------------------- 1----------------- —i---------—--------- г


es 8.2us a.nus B.6us O.Sus 1.8us
Tine

2.6.3. Пример для ПЗУ

TRAN 20ns 1000ns

UEx1 STIM (3,111) $G_DPWR $G_DGND A1 AO OEbar


+ IO_STM
+ Ons 001
+ 250ns 011
+ 500ns 101
+ 750ns 111
+ 900ns 001

LIB 7400.lib

SUBCKT ROM2x8 A1 AO
+ OEbar 07 06 05 04 03 02 01 00
+ OPTIONAL: DPWR=$G_DPWR DGND=$G_DGND
+ PARAMS: MNTYMXDLY=0 I0 LEVEL=0
- 91 -

U1 ROM(2,8) DPWR DGND OEbar


+ A1 AO
+ 07 0 6 05 04 03 02 01 00
+ ROM_TIMING
+ IO_STD
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}
+ DATA=X$
+ 00 01 02 03$

MODEL ROM_TIMING UROM

ENDS

X_U1 A A1 AO OEbar 07 06 05 04 03 02 01 00 $G_DPWR


$G_DGND ROM2x8

PR0E5E

END
- 92-

OEbar
Й1
ЙО
07
06
05
014
03
02
01
08

*.i»us (1.6us 8 . Bus I .S u s


Tine

2.6.4. Пример для ОЗУ

TRAN 10ns1750ns
* Генератор сигналов разрешения записи и чтения RD и WR
UEx1 STIM (2,11) $G_DPWR $G_DGND
+ RD WR
+ IO_STM
+ 0ns 00
+ LABEL M ; через каждые 100ns повторяется сигнал RD=1
+ +20ns 01
+ +60ns 00
+ +40ns GOTO M 7 TIMES
+ +150ns 10; далее RD=0, WR=1
‘ Генератор сигналов на адресных входах А2, А1, АО
UEx2 STIM (3,3) $G_DPWR $G_DGND
-9 3 -

+ А2 А1 АО
+ IO_STM
+ Ons О
+ LABEL М2 ; значение адреса изменяется от 0 до 7
+ +10Qns INCR BY 1
+ +100ns GOTO М2 7 TIMES
+ LABEL М3
+ +100ns DECR BY 1 ; значение адреса изменяется от 7 до О
+ +100ns GOTO М3 7 TIMES
* Генератор сигналов на входах данных DI7 - DI0
UEx3 STIM (8,44) $G_DPWR $G_DGND
+ DI7 DI6 DI5 DI4 DI3 DI2 DI1 DIO
+ IO_STM
+ Ons 07
+ LABEL M4 ; значения на входах данных изменяются от 7 до О
+ +100ns DECR BY 01
+ + 100ns GOTO M4 6 TIMES

.LIB 7400.lib
* Описание макромодели ОЗУ (3 адресных входа, 8 разрядов
данных)
SUBCKT RAM3x8 RD WR
+ А2 А1 АО
+ DI7 DI6DI5DI4 DI3 DI2 DI1 DI0
+ D07 D06 D05 D04 D03 D02 D01 DOO
+ OPTIONAL DPWR=$G_DPWR DGND=$G_DGND
+ PARAMS: MNTYMXDLY=0 IO LEVEL=0
-9 4 -
U1 RAM(3,8) DPWR DGND RD WR
+ A2 A1 AO
+ DI7 DI6 DI5 DI4 DI3 DI2 DI1 DIO
+ D07 D06 D05 D04 D03 D02 D01 DOO
+ RAM_TIMING
+ !0_STD
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LF_VEL}

MODEL RAM_TIMING URAM( ) ;модель динамики с нулевыми


параметрами

ENDS

* Включение микросхемы ОЗУ в цепь


XJJ1 RD WR А2 А1 АО
+ DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0
+ D07 D06 D05 D04 D03 D02 D01 DOO
+ $G_.DPWR SG..DGND RAM3x8

PROBE

END
-95 -

2.6.5. Пример для АЦП

.TRAN 20ns 1000ns

UEx1 SUM (1,1) $G_DPWR $G_DGND CNVRT


+ IO_STM
+ Ons 0
+ 1ns 1
+ 100ns 0
+ 200ns 1
+ 300ns 0
+ 400ns 1
+ 500ns 0
+ 600ns 1
+ 700ns 0
-9 6 -
-t- 800ns 1
■* 900ns 0

LIB 7400. lib

subckt ADC8Break IN REF GND CNVRT STAT OVR


■r DB7 DB6 DB5 DB4 DB3 DB2 DB1 DBO
+ OPTIONAL DPWR=$G_DPWR DGND=$G_DGND
PARAMS: MNTYMXDLY=0 IO_LEVEL=Q

U1 ADC(8) DPWR DGIMD IN REF GND CNVRT STAT OVR


DB7 DB6 DB5 DB4 DB3 DB2 DB1 DBO
ADC8TIM IO_STD
MN7YMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

.MODEL ADC8TIM UADC

ENDS

XJJ1A IN REF GND CNVRT STAT OVR DB7 DB6 DB5 DB4 DB3 DB:
DB1 DBO $G_DPWR $G_DGND ADC8Break
R1 REF GND 1/GMIN
V1 REF 0 1!5V ;Опорное напряжение
V2 GMD 0 OV
V3 IN 0 SIN(7.5V 7.5V); Входное аналоговое синусоидальное
напряжение
- 97-
.PROBE
.END

□ «{R E F) ■
» U (G H l) v U (IH )
Tine

2.6.6. Пример для ЦАП

.TRAN 20ns 1000ns

UEx1 STIM <8,44) $G_DPWR $G_DGND DB7 DB6 DB5 DB4 DB3 DB2
-9 8 -
DB1 DBO
+ IO_STM
+ Ons 10
+ 200ns 45
+ 400ns FO
+ 600ns 90
+ 800ns 25

.LIB 7400.lib

subckt DAC8Break OUT REF GND


+ DB7 DB6 DBS DB4 DB3 DB2 DB1 DBO
+ OPTIONAL: DPWR=$G_DPWR DGND=$G_DGND
+ PARAMS: MNTYMXDLY=0 !0_LEVEL=0

U1 DAC(8) DPWR DGND OUT REF GND


+ DB7 DB6 DB5 DB4 DB3 DB2 DB1 DBO
+ DAC8_TIMING IO_STD
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

MODEL DAC8_TIMlNG UDAC

ENDS

X U1A OUT REF GND DB7 DB6 DB5 DB4 DB3 DB2 DB1 DBO
$G_DPWR $G_DGND DAC8Break
R1 REF GND 1/GMIN
- 99-

V1 REF 0 15V
V2 GND О OV
R2 O U TO IK

PROBE
END
DB7
DB6
DBS
08 %
0B3
DB2
OB1
08»

15Ut

1ftUJ

0 .2 U S
U(REF) U(CNO) * W (OUT)
Tine

2.6.7. Пример функционального описания для


К555КП7 (мультиплексор)
.TRAN 1ns 500ns
.lib 7400.lib
- 100 -

UEx1 STIM(12,1344) $G_DPWR $G_DGND E SO S1 S2 11 12 13 14 15 16


17 18
+ IO_STM

+ Ons 1701 ;E=1, на выходе Y должен быть "О"


+ 100ns 0701 :Е=0, S=7, будет выбран вход 18="1", т е. Y = 'T
+ 200ns 01F7 ;Е=0, S=4 (S0=S1=0,S2=1), выбран I5="0", Y="0"
+ 300ns 0220 ;Е=0, S=2, выбран I3="1", Y="1"
+ 400ns 1220 ;Е=1, на выходе Y установится "О"

XU1 Е SO S1 S2 И 12 13 14 15 16 17 18 Y W К555КР7

SUBCKT К555КР7 E_l S0_l S1_l S 2J I1_l I2_l I3_l I4_l I5_l 16_1 17_1
1 8I
+ Y _ 0 W _0
+ OPTIONAL: DPWR=$G_DPWR DGND=$G_DGND
+ PARAMS: MNTYMXDLY=0 !0_LEVEL=0

‘ Описание функционирования мультиплексора (конструктив


LOGICEXP)
ULOGKP7 LOGICEXP(12,14) DPWR DGND
+ E_l S0_l S1_l S2_l 11_| 12_I I3_l 14_I 15_I I6J 17J I8_l
+ E SO S1 S2 11 12 13 14 15 16 17 18 W Y
+ D0_GATE IO_STD IO_LEVEL={IO_LEVEL}
+ LOGIC:
* Стробирующий вход E
+ E = { E _ l}
* Адресные входы SO, S1, S2
- 101 -

+ SO = { SOJ }
+ S1 = { S1_I }
+ S2 = { S 2 _l}
* Информационные входы 11-18
+ И = { !1_I }
+ 12 = { I2 _ l}
+ 13 = { I3 J >
+ 14 = { 14_I }
+ 15 = { 15_I }
+ 16 = { I6 _ l}
+ 17 = { 17_I }
+ 18 = { I8 _ l}
* Промежуточные переменные принимают значения выражений в
фигурных скобках
+ AS0 = { ~S0 }
+ AS1 = { ~S1 }
+ AS2 = { ~ S 2}
+ АЕ = { -Е }
+ АН = { И & AS0 & AS1 & AS2 & АЕ }
+ AI2 = {12 & SO & AS1 & AS2 & АЕ }
+ AI3 = { I3& A S 0& S 1 & A S 2 & A E }
+ AI4 = {14 & SO & S1 & AS2 & АЕ }
+ AI5 = {15 & AS0 & AS1 & S2 & АЕ }
+ AI6 = {16 & SO & AS1 & S2 & АЕ }
+ AI7 = {17 & AS0 & S1 & S2 & АЕ }
+ AI8 = {18 & SO & S1 & S2 & АЕ }
* Инверсный выход W и прямой выход Y
- 102 -

+ W = { —(AM | AI2 | AI3 | AI4 | AI5 ( AI6 | AI7 | AI8)}


+ Y = { ~W }

* Задание временных задержек (конструктив PINDLY)


UKP7DLY PINDLY(2,0,12) DPWR DGND
+ WY
+ E SO S1 S2 11 12 13 14 15 16 17 18
+ W _0 Y_0
+ IO_STD MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}
+ BOOLEAN:
* Переменная DATA принимает значение TRUE,
* если один из информационных входов меняет свое состояние
+ DATA = { CHANGED(I1,0) | CHANGED(I2,0) | CHANGED(I3,0) |
CHANGED(I4,0) |
+ CHANGED(l5,0) | CHANGED(I6,0) | CHANGED(I7,0) |
CHANGED(I8,0)}
* Переменная SELECT принимает значение TRUE,
* если один из адресных входов меняет свое состояние
+ SELECT = { CHANGED(S0,0) | CHANGED(S1,0) | CHANGED(S2,0)
}
* Переменная ENABLE принимает значение TRUE, если
переключился вход Е
+ ENABLE = { CHANGED(E.O)}
+ PINDLY:
* Вычисление задержек для прямого выхода Y
+ Y_0 = {
+ CASE(
* Если изменилось значение на адр. входах,
-103 -
"то задержка на выходе Y=DELAY(-1,25NS,38NS)
+ SELECT, DELAY(-1,25NS,38NS),
* Если значение на стробирующем входе изменилось с "О" на "1",
* то задержка на выходе Y=DELAY(-1,21 NS,33NS)
+ ENABLE & TRN_LH, DELAY(-1,21 NS,33NS),
* Если значение на стробирующем входе изменилось с "1" на "0",
* то задержка на выходе Y=DELAY(-1,22NS,33NS)
+ ENABLE & TRN_HL, DELAY(-1,22NS,33NS),
+ DATA & TRN_LH, DELAY(-1,13NS,20NS),
+ DATA & TRN_HL, DELAY(-1,18NS,27NS),
* Если ни одна из переменных не изменилась,
* то задержка на выходе Y=DELAY(-1,26NS,39NS)
+ DELAY(-1,26NS,39NS)
+ )
+ }
+ W _0 = {
+ CASE(
+ SELECT & TRN_HL, DELAY(-1,19NS,30NS),
+ SELECT & TRN_LH, DELAY(-1,17NS,26NS),
+ ENABLE & TRN_HL, DELAY(-1,15NS.23NS),
+ ENABLE & TRN_LH, DELAY(-1,14NS.21NS),
+ DATA, DELAY(-1,8NS,14NS),
+ DELAY(-1,20NS,31 NS)
+ )
+ }

ENDS
- 104-

.PROBE
END

S2
S1
SB
18
17
It
IS
II*
13
12
11
V
V
E

Os 1811ns 2«Bns SflQns 408ns 5«0ns


lin e

2.6.8. Пример для аналоговых элементов

V 4 vp
®
R2

Генератор
цифровых
сигналов
_пл R1
Ф г
) (D
Q1
C1Z С'2

Генератор цифровых сигналов генерирует последовательность


-1 0 5 -

прямоугольных импульсов OUT.


. Этот сигнал поступает в базу транзистора Q1 через резистор R1.
Через R2 на коллектор подается
синусоидальное напряжение от источника VP с постоянной
составляющей 25В и амплитудой 10В.
Кроме того, в схеме присугствуют сглаживающие емкости С1 и С2.
Таким образом синусоида модулируется прямоугольными
сигналами.
R1=R2=1G0 Ом
С1=С2=0,5 нФ

TRAN 1us 25us


LIB 7400. LI В
LIB BIPRUS.LIB
USIGNAL STIM (1,1) $G_DPWR $G_DGND out
+ IO_STM
+ Ous 1
+ LABEL=M
+ +2us 0
+ +2us 1
+ +2us GOTO M 3 TIMES
+ +2us 0
+ +2us INCR BY 0
R1 out 1 '0 0
R2 3 2 100
C1 1 0 O.SnF
02 2 0 0.5nF
Q1 2 1 0 KT312B
- 106-
VP 3 0 SIN(25V 10V)
.PROBE
.END

40U

U (3 )
1.0U-

I - Г1 . ... V, -------------
Os 5us 1 0us 15us 20us 25US
U(1)
Tine

3. Графическое отображение результатов


моделирования

Результаты моделирования, полученные с помощью


программы PSpice, заносятся в файлы данных и имеют расширения
имени .dat (только если в исходном файле *.cir использовалась
директива .PROBE). Программа Probe не только отображает
графики полученных результатов, но и может выполнять их
обработку. При моделировании аналого-цифровых устройств
графики переходных процессов в цифровой и аналоговой части
схемы выводятся на одном экране с одинаковым масштабом по
времени.
- 107 -
В верхней части экрана программы помещается имя файла
данных, на следующей строке - горизонтальное меню команд, а
ниже - набор пиктограмм для быстрого вызова наиболее
употребительных команд.
После загрузки программы по команде File/Open можно
выбрать для загрузки файл с результатами моделирования. Далее
для отображения графиков на экране надо выбрать команду
Trace/Add. На экране появится окно выбора переменных. Типы
переменных, отображаемых в окне зависят от положения
включателей:
Analog - аналоговые переменные;
Digital - цифровые переменные;
Voltages - напряжения;
Currents - токи;
Alias Names - псевдонимы;
Internal Subcircuit Nodes - внутренние узлы
макромоделей(только напряжения);
Goal Functions - целевые функции;
Add Тraces Щ j
Time CNVRT DB2
' V(REF) STAT DB1
V(GND) OVR DBO
V(IN) DB7
l(R1] DB6
l(V1} DB5
IJV2J DB4
IIV31 DB3
R Analog P Currents Г Goal Functions j
17 Digital Г Alias Names
W Voltages Г~ Internal Subcircuit Nodes

Trace Command: j
li
OK | Cancel j
- 108 -
Переменные помечаются курсором, и их имена переносятся
в командную строку Trace Command. Так можно выбрать несколько
переменных и отредактировать образованную строку. Графики
строятся после нажатия кнопки ОК. На экран выводится
координатная сетка графика, по горизонтальной оси которого
откладывается независимая переменная, соответствующая
выбранному режиму, например, Time (эта переменная изменяется в
последующем по желанию пользователя).
На экране может располагаться несколько окон, в каждом из
которых строится несколько графиков. Активное окно (в котором в
данный момент строятся графики) помечается слева символами
"SEL>>" (SELECT). В каждом окне может быть от одной до трех осей
Y с разными масштабами.
По желанию можно добавить и удалить окна.
Добавление окна производится по команде Plot / Add Plot.
Удаление окна производится по команде Plot / Delete Plot. При этом
удаляется то окно, которое в данный момент выбрано и помечено
символами "SEL»".
Примечание. Окна, о которых шла речь находятся в одном окне
Windows, как показано на рисунке. В Probe для каждого файла
данных выделяется свое окно.
Для цифровых переменных на временной диаграмме одной
переменной двойная линия соответствует неопределенному
состоянию X, тройная - состоянию высокого импеданса Z,
нарастающие и спадающие фронты обозначают состояния R и F
соответственно.

О R 1 Г X Z

Всего можно вывести до 75 временных диаграмм.


Имя переменной, вводимой по запросу команды Trace/Add, может
быть именем цифрового узла или булевым выражением,
содержащим имена таких узлов. Шина (многоразрядное число)
формируется в виде заключенного в фигурные скобки списка
цифровых узлов, разделенных пробелами или запятыми, например
{D3 D2 D1 DO}
-1 1 0 -

В начале списка помещается старший разряд шины, в конце -


младший.
Имя графика, выводимое на экране слева от графика, в случае
использования шин может быть громоздко, т. к. по умолчанию в
качестве имени графика отображается выражение, заданное при
вводе. Для того, чтобы этого избежать можно ввести логические
переменные, эквивалентные шинам. Они будут отображаться в
качестве имен графиков и могут быть использованы при
составлении логических выражений.
Формат ввода логических переменных:
«описание цифрового сигнала» [;[<имя
графика>][;<указатель системы счисления»]]
«описание цифрового сигнала» - выражение, которому ставится в
соответствие логическая переменная;
«имя графика» - имя создаваемой логической переменной;
«указатель системы счисления» может принимать следующие
значения:
Н или X - шестнадцатеричная система счисления;
D - десятичная система счисления;
О - восьмеричная система счисления;
В - двоичная система счисления;

Так выглядит диаграмма ( из примера для ОЗУ ) без использования


шин:
Строка ввода: RD WR А2 А1 АО DI3 DI2 DI1 DIO D03 D02
D01 DOO
Так - с использованием шин:
Строка ввода: * RD WR
{ А2 А1 АО }
{ DI3 DI2 011 DIO >
{ D03 0 0 2 D01 DOO }

RD
UR I 1ГН 1 1 1 1 1 I I 1 f“~l Г~”1
{#2 01 Й0> Z n iX E G JI X I X iy jJZ 1 X ? X 4 X 5 X И X 3 X 2 X 1 X #
{013 DI2 011 011} ТТГГГХ к К Т Ш Т Г " ................ I.... . ■ — ..........
{ооз 002 оо1 ооа> .................... r ^ х т ) ( т х 1 хю с 1ж х ю а :
•s l.5«s 1 .Bus 1.5us 1.Bus
Tine

Так выглядит та же диаграмма с использованием шин и логических


переменных:
Строка ввода: * RD WR
{ А2 А1 АО };address;0
- 112-

{ DI3 DI2 DI1 DIO };input;H


{ D03 D02 D01 DOO};output;X

RD
W
R
address Т Х Т Х Т ~ Х "Х ~ У Т ~ Х ~ Г ~ Х ~ Т ~ )Г 7 ~ % 1 )С Г ^ ^ )Г Г Х Т Х Т Х Т ~ )Г Т ~ У ~ Т ~
input 7~ТТ~У1~ХХХТ~УТ~Х~Т~)Г......... ........................... 8 .............. ...............
output . ': 1" •", ... x ? c e x j= o d :id c ix id q d q z
--- ;------- ---- ----------- -I---------------------------1--------------------------1--------------
G.tus B.Sus 1.2us 1.6us 1.8us
Tine

* все сигналы вводятся в одной строке через пробел

Шины могут образовывать выражения с помощью логических и


арифметических операторов. В выражениях для цифровых сигналов
и для шин допустимы следующие операции (старшинство - по
убыванию):
{} - объединение в группу;
~ - логическое отрицание;
*1 - умножение и деление(только для шин);
+. - сложение и вычитание (только для шин);
& - логическое И;
A - логическое исключающее ИЛИ;
1 - логическое ИЛИ;

Для удобства анализа диаграмм в программе Probe существуют два


электронных курсора, которые можно вызвать по команде
Tools/Cursor/Display. Дисплей при этом переключается в режим
считывания координат. В правом нижнем углу экрана располагается
окно, в котором отображаются текущие координаты двух курсоров,
расстояние между ними по двум осям ординат и значения
выбранных сигналов (для цифровых сигналов). Курсоры могут быть
связаны с одним или двумя графиками. Одновременно на
- 113 -
временных диаграммах считываются логические состояния всех
цифровых переменных. Их значения отображаются у левой границы
графика. Первый курсор становится активным при нажатии левой
кнопки мыши, второй - при нажатии правой кнопки. В первый момент
времени оба курсора помещены в начале графиков. Первый курсор
перемещается с одного графика на другой нажатием клавиш Ctrl+4
и Ctrl+б, второй - Shift+Ctrl+4 и Shift+Ctrl+б. Курсор перемещается
вдоль выбранной кривой при движении мыши с нажатой клавишей
либо с помощью стрелок на клавиатуре.

|«Шр,иЬе - |С VPSHCKVidm rial)


Fie £dit Jiace 0ot Zoom Tools V^indow Help JffJxJ

4. Особенности моделирования схем в среде


PSPICE 9.1

Для того чтобы приступить к моделированию в среде PSPICE, необходимо


иметь принципиальную схему проекта. Например, схему, изображённую на
рис.1
- 114-

tn о*

Рис 4.1

4.1. Использование среды PCAD


Опишем способ получения программы моделирования, имея
принципиальную схему в среде PCAD.
Сначала открываем принципиальную схему в P-CAD 2000 или Р-
CAD 2001. Открыв закладку Utils, выбираем пункт Generate Netlist. В
появившемся диалоговом окне указываем путь и название файла для
сохранения данных.

Получившийся файл имеет расширение net и может быть открыт в


любом текстовом редакторе, например в блокноте.
Пример такого файла;

* KURS CIRCUIT FILE

DDI 24 25 26 27 28 29 23 22 4 3 2 1 155ЁЕ) I
- 115-

DD2 32 33 34 35 36 37 31 3 0 8 7 6 5 155ED1
DD3 5 1 20 19 19 20 20 21 15 14 13 0 12 45 46 16 47 8 4 7 3 6 2 +5V
155Ё13
DD4 19 20 16 17 0 +5V 2
DD5 40 15 14 13 12 41 39 38 18 44 43 42 155Ё01
DD6 18 17 48 49 50 51 55 54 53 52 155ИР1

END

В данном файле нужно дописать следующую информацию:


1) в начале строк, перед элементами схемы дописать X ,а также
заменить названия элементов в конце строк, на эквивалентные,
существующие в библиотеках PSPICE 9.1.
2) добавить директиву tran в начало программы
3) описать генератор импульсов :

UExl ST1M(8,11111111) SG DPWR $G DGND


+ С MOD DPI DP2 V DP3 DP4 DP5
+ IO_STM

+0ns 00001000
+ 100ns 10001000
+200ns 00001000
+350ns 00101000
+400ns 10101000
+500ns 00101000
+650ns 00111000
+700ns 10111000
+800ns 00111000
+850ns 00101000
+ 1000ns 10101000
+1100ns 00101000
+ 1500ns 00100100
+ 1600ns 00100100
+1650ns 00100110
+ 1700ns 00100100
+ 1750ns 00100100
+ 1800ns 00100100
+ 1900ns 0 0 100000
+ 1950ns 00100001
- 116-

-2050ns 00100000
2150ns 00100001
-12250ns 00100000
-i-2350ns 00100001
-12450ns 00100000
-12550ns 00100001
-12650ns 00100000
-i-2750ns 00100001
-12850ns 00100000

<•) добавить директиву обращения к библиотеке : lib eval.lib


5) добавить директиву probe для графического вывода информации в
п рограмме Probe.

В результате получим, например, следующую программу:

* KURS CIRCUIT FILE


tran 20ns 3000ns
UEx I STIM{8,11111111) $G DPWR $G DGND
+ С MOD DPI DP2 V DP3 DP4 DPS
+ IO_STM

+0ns 00001000
+ 100ns 10001000
+200ns 00001000
+350ns 00101000
+400ns 10101000
+500ns 001010(Ю
+650ns 00111000
+700ns 10111000
+800ns 00111000
+850ns 00101000
+ 1000ns 10101000
+1100ns 00101000
+ 1500ns 00100100
+ 1600ns 00100100
+ 1650ns 00100110
+ 1700ns 00100100
-+1750ns 00100100
- 117-

+1800ns 00100100
+1900ns 00100000
+ 1950ns 00100001
+2050ns 00100000
+2150ns 00100001
+2250ns 00100000
+2350ns 00100001
+2450ns 00100000
+2550ns 00100001
+2650ns 00100000
+2750ns 00100001
+2850ns 00100000

lib eval.lib

XDD1 24 25 26 27 28 29 23 22 4 3 2 I 7495A
XDD2 3233 34 35 36 3731 30 8 7 6 5 7495A
XDD3 5 1 20 19 19 20 20 21 15 14 13 0 12 45 46 16 47 8 4 7 3 6 2 +5V
74181
XDD4 19 20 16 17 0 +5V 2 7404
XDD5 40 15 14 13 12 41 39 38 18 44 43 42 7495A
XDD6 18 17 48 49 50 51 55 54 53 52 7495 A

probe

end

Далее нужно переименовать файл с расширением net в файл с


расширением cir.
После указанных операций файл готов для моделирования в среде
PSPICE. Открываем файл с расширением cir в PSPICE AD Student. Для
осуществления моделирования следует нажать кнопку RUN, которая
выведена на панели инструментов (если кнопка RUN не выведена, то
следует открыть закладку Simulation , и выбрать RUN), При этом должно
появиться окно эмулятора, сначала пустое. Следует подключить входные и
выходные сигналы. Для этого открываем закладку Trace и выбираем пункт
Add Trace. В появившемся окне, слева, выбираем последовательно (для
наглядности) сначала входы, затем выходы объекта в данном случае С,
DPI, DP2, MOD, V, out. Для удобства визуального анализа можно также
выбрать входные и выходные сигналы любого элемента схемы по выбору,
например OUT1, OUT2, OUT3, OUT4, OUT5, DSTM15PINI, DSTM16 PIN 1,
DSTM17:PIN 1, U6 QA, U6:QB. U6QC, U6QD, U7:QA, U7 QB U7 QC,
U7:QD После нажатия клавиши ОК. изображается результат
моделирования

4.2. Ручное написание программы моделирования


Для схемы, приведенной на рисунке 4.1, был создан следующий файл
описания

tran 20ns 3000ns


L Ex 1 STIM(8, 111 11 111) $G DPWR SG DGND
+ С MOD DPI DP2 V DP3 DP4 DPS
+ IO STM

+0ns 00001000
+ 100ns 10001000
+200ns 00001000
+350ns 00101000
+400ns 10101000
+500ns 00101000
+650ns 00111000
+700ns 10111000
+800ns 00111000
-+850ns 00101000
+ 1000ns 10101000
+ 1 100ns 00101000
+ 1500ns 00100100
+ 1600ns 00100100
+ 1650ns 00100110
+ 1700ns 00100100
+ 1750ns 00100100
+ 1800ns 00100100
+ 1900ns 00100000
+ 1950ns 00100001
+2050ns 00100000
+ 2 150ns 00100001
- 119-

+225One OOIOOOOO
+2350ns 00100001
+2450ns OOIOOOOO
+2550ns 00100001
+2650ns 00100000
+2750ns 00100001
+2850ns OOIOOOOO

lib 7400.1ib

* четырехразрядный сдвиговый регистр К155ИР1


XDD1 MOD С $D NC DPI $D_NC S D N C $D_NC $D NC Q0 Q1 Q2 Q3
7495A
*' четырехразрядный сдвиговый регистр К 15 5ИР1
XDD2 MOD С $D NC DP2 $D_NC' $D_NC SD_NC $D_NC Q4 Q5 Q6 Q7
7495 A
* инвертор КЗ 55J1HI
XDD41 V VINV 7404
* арифметико-логическое устройство К155ИПЗ
XDD3 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 V VINV VINV V $D_LO V OUT1 OUT2
OUT3 OUT4K P G C 4 74181
* инвертор К i 55ЛН1
XDD42 C4 OUT5 7404
* четырехразрядный сдвиговый регистр К155ИР1
XDD5 MOD С $D NC DP3 $D_NC $D_NC $D_NC $D_NC Q8 Q9 Q10 Q11
7495A
* четырехразрядный сдвиговый регистр К155ИР1
XDD2 MOD С $D NC DP5 $D NC $D NC $D NC $D_NC Q12 Q13 Q14
Q15 7495A

probe
end
Пояснения:
1) .TRAN - директива, по которой рассчитываются переходные
процессы. Она имеет следующий формат:
TRAN <шаг вывода данных><конечное время>
Переходные процессы всегда рассчитываются с момента t=0 до момента
<конечное время>. Шаг квантования выбирается автоматически.
Результаты вычислений выводятся в виде таблиц или графиков с
интервалом времени, задаваемым параметром <шаг вывода данных>.
- 120 -

В данном случае параметр <шаг вывода данньх>=20п8 - наиболее


часто используемая величина, а параметр <конечное время>=3000п5.

2) .LJ B - директива педключения файла библ иотеки компонентов.


Формат:
L13 <имя файла бибпиотеки>
В файле библиотека с указанным именем - в данном ci учае '400. lib -
содержится описание встроенных моделей одного или нескольких
компонентов. Если программа PSPICE и Гжблиотечный файл на>одятся в
разных каталогах, го параметр <имя файла библиотеки^ задает полный
путь к файлу Зиблиэтеки - как в данном случае:
lib c:\pspice\lib\7400. ib

3) .PttOBE директива, осущесгвляюшая подготовку файла *.dat


(;езуль~атов моделирования) для графического отображения в п]юграмме
Р obe.

4) Генератор цифровых сигналов


I'Exl STIM(5.U111)$G DPWRSG DGND
( MOD DPI DP2 V DP3 DP4 DP5

фактически представляет собой описание цифроЕого устройства со


специфическими параметрами. Устройство генератор цифровых сигналов
списывается по следующему ф орм ату;
Uxxx SТIМ(<кол ичест зо сигналов:: ,<формат>
+ <н узел источника питания-
+ <-узел источника пи'-ания>
+ <список узлов -' <имн модели вход/выход>
+ <команд >i описания формы сигнала>
Переметая <количество сигналов'- 'в данном случае 5) or редел яет
количество ввходов генератора, равное количеству генерируемых разных
и афровых сигналов.
Переметая <формат> (в данном случае 1111Г) представляет со(5ой
последовательность цифр, количество которых равно значению переменной
< количество сигналов> Каждая цифэа принимает значения 1, 3 или 4, что
означает двоичную, восьмеричную или шестнадцатиричную систе:му
счисления. В данном случае все 5 сигналов представлены в двоичной
системе счисления.
Далее: следует подключение к источнику питания
<+узел источника nHratwa>=SG_DPWR (5В - источник пи тания FTJI ПС)
- 121 -

■'-узел источника питания>=$Сг DGMD (ОВ)


Имена выводов подключения выходов генератора к с хеме задаются
параметром <список уплов>.
Параметр «имя модели вход/вы;;од>: в данном случае была
использована модель 10STM , которая описана в одн.ш из библиотечь ых
файлов и используется в большинстве случаев для геораторов цифровых
сигналов Модель вход/вэтход падает входные и выходные сопротивления,
емкости, врегкя переключения.
Параметр «команды описания формы счгнала> в данном случае
имеет вид: <t> «логический уровень>
Переменная <t> определяет моменты времени, в которые задаются
логические уровни сигнгла Если перед значением переменной t имеегся
символ +, то эта переменная задает приращение относительно предыдущего
момент» времени, иначе она определяет абсолютное значение относительно
начала отсчета времени 1=0 - тмеет месте в данном случае Суффикс “S”
указывает размерность времени в сехундах. в данном случаз используется
суффикс “ns” - наносекунды.
Переменная «логический уровень- представляет сойот набор
значений генерируемых сигналов и состоит из символов “0” -• логитеский 0.
“ 1” - лстичес <ая 1.
5) Описание компонентов и сведииеиий осуществляется
предложениями вида Хххх «список у злов> «имя макро модел и>
Например, XF>D41 V VIN V 7404
XDD41 позиционное обозначение компонента на схеме. Первый симиол
имени компонента определяет его класс, в данном случае - символ X -
означает использование уакромодели.
V - вход
VINV - выход
7404 - макромодель
В общем случае входов и выходов может быть несколько, тогда
перечисляются сиг чала все сходы, а зг'тем все выходы, разделенные
пробелом.

6 ) .END - конец задания на моделирование


- 122-

4.3. Ввод схемы с помощью утилиты PSPICE


Schematics
Опишем ввод принципиальной схемы с помощью утилиты PSPICE
Schematics.
Открываем утилиту PSPICE Schematics Так как PSPICE обладает
неплохой элементной базой, то имеется возможность найти элементы
схемы в стандартных библиотеках. Для этого щёлкаем на кнопке Get New
Part на панели инструментов, либо выбираем закладку Draw, затем
выбираем Get New Part(Ctrl+G). В появившемся диалоговом окне имеется
возможность выбрать библиотеки, а также элементы нужные нам, которые
находятся в данных библиотеках. Закладка Libraries предназначена для
выбора библиотеки. Закладка Advanced предназначена для визуального
анализа выбираемого элемента схемы. Выбрав элемент, вставляем его в
схему. Разместив все элементы схемы, проводим электрические
соединения. Для этого щёлкаем на кнопке Draw Wire. Кнопка Draw Bus
предназначена для установки шины. После разработки схемы, необходимо
подключить генератор для моделирования сигналов входа Так же, как и в
случае выбора из библиотек элементов схемы выбираем нужный генератор
сигналов из библиотеки source.lib Для генератора задаём параметры: время
и сигнал. Для этого, щёлкнув на выбранном генераторе мышкой два раза,
мы проставляем в диалоговом окне сначала шаг вывода данных. Пример
TIMESTEP=20ns. Затем проставляем время и сигнал. Пример
COMMAND!-Ons О
Пример готовой к моделированию схемы изображён на рис.4.1.

Создание программы моделирования осуществляется после нажатия кнопки


Simulate. В папку, где находится файл с нашей схемой, генерируются 3
файла с одинаковыми именами, но разными расширениями :
1) xir-непосредственно наша программа на моделирование,
2) net-описание всех элементов и процессов схемы,
3) als-более подробное описание всех элементов схемы.

В файле * cir описывается вызов данных из файлов *.net и * als .


Вызов данных из файла * als не обязателен.
Ниже приведены примеры файлов *.cir и *.net

* D:\Sapr\Schematicl sch
- 123 -

* Schematics Version 9.1 - Web Update 1


* Fri May 30 09:43:26 2003

** Analysis setup **
OP

* From [PSPICE NETL1ST] section o f pspiceev.ini:


lib "nom.lib"

INC "Schematicl.net"
INC "Schematicl.als"

probe

END

* Schematics Netlist *

X U3A V $N 0001 SG DPWR $G DGND 7404 PARAMS:


+ 10 LEVEL=0 MNTYMXDLY=0
U D ST M 8 STIM(1,1)
+ $G DPWR SG DGND
+C
+ 10_STM
+ 10_LEVEL=0
+ TlMESTEP=20ns
+ 0ns 0
•+■ 100ns 1
+ 200ns 0
+ 350ns 0
+ 400ns 1
+ 500ns 0
+ 650ns 0
+ 700ns 1
+ 800ns 0
+ 850ns 0
+ 1000ns 1
- 124 -

+ 1100ns 0
+ 1500ns 0
UJDSTM1 ST1M(1,1)
+ $G DPWR $G DGND
+ DPI
+ IO_STM
+ !0_LEVEL=0
+ TiMESTEP=20ns
+ Ons 0
+ 100ns 0
+ 200ns 0
+ 350ns 1
+ 400ris 1
+ 500ns 1
•+■650ns 1
+ 700ns 1
+ 800ns I
+ 850ns 1
+ 1000ns 1
+ 1100ns 1
+ 1500ns 1
U DSTM7 STIM(1,1)
+ $G DPWR $G_DGND
+ DP2
+ IO_STM
+ 10_LEVEL=0
+ TIMESTEP=20ns
+ Ons 0
+ 100ns 0
+ 200ns 0
+ 350ns 0
+ 400ns 0
+ 500ns 0
+ 650ns 1
+• 700ns 1
+ 800ns 1
+ 850ns 0
+ 1000ns 0
+ 1100ns 0
+ 1500ns 0
- 125 -

U DSTM9 STIM(1,1)
+ $G DPWR $G DGND
+V
+ 10_STM
+ 10 LEVEL=0
+ TlMESTEP=20ns
+ Ons 1
+ 100ns 1
+ 200ns 1
+ 350ns 1
+ 400ns 1
+ 500ns 1
+ 650ns 1
+ 700ns 1
t 800ns 1
+ 850ns 1
+ 1000ns 1
+ 1 100ns 1
-+• 1500ns 0
X_U1 о С SN 0002 DPI $N 0003 $N_0004 $N 0005 $N_0006
$N 0007 $N 0008
+ $N 0009 $N 0010 $G DPWR $G DGND 7495A PARAMS:
+ 10_LEVEL=0 MNTYMXDLY-0
X_U2 0 С $N 0011 DP2 $N 0012 $N_0013 $N_0014 $N_0015
$N 0016 $N 0017
+ $N 0018 $N 0019 $G DPWR $G_DGND 7495A PARAMS:
+ IO LEVEL=0 MNTYMXDLY=0
X_U4A $N 0020 OUT5 $G_DPWR $G DGND 7404 PARAMS:
+ 10_LEVEL=0 MNTYMXDLY=0
X U5 $N'_0007 $N 0008 $N 0009 $N 0010 $N_0016 $N_0017
$N_0018 $N_0019 V
+ $N 0001 $N 0001 V 0 V OUT1 OUT2 OUT3 OUT4 $N_0021
$N 0023 $N 0022 $N_0020
+ $G DPWR $G_DGND 74181 PARAMS:
+ 10_LEVEL=0 MNTYMXDLY-0
X_U7 $N 0024 $N 0026 $N_0027 $N 0025 OUTS 0 0 0 $N_0028
out $N_ 0029
+ $N 0030 $G_DPWR $G D G N D 7495A PARAMS
+ 10_LEVEL=0 MNTYMXDLY==0
- 126 -

X_U6 $N 0024 $N 0026 $N 0 0 2 7 0 OUT1 OUT2 OUT3 0UT4


$N 0031 $N_0032
+ $N 0033 $N 0025 $G_DPWR $G_DGND 7495A PARAMS:
+ 10_LEVEL-0 MNTYMXDLY-0
U DSTM16 STIM(IJ)
+ $G DPWR $G DGND
+ $N 0026
+ 10_STM
+ 1 0 LEVEL=0
+ TlMESTEP==20ns
+ Ons 0
+ 1950ns 1
+ 2050ns 0
+ 2150ns 1
+ 2250ns 0
+ 2350ns 1
+ 2450ns 0
+ 2550ns 1
+ 2650ns 0
+ 2750ns 1
+ 2850ns 0
U D S T M 17 STIM(LI)
+ $G DPWR $G DGND
+ $N 0027
+ 10_STM
+ 1 0 LEVEL=0
+ TlMESTEP=20ns
+ Ons 0
+ 1500ns 0
+ 1650ns 1
+ 1750ns0
UDSTM 15 STIM(1,1)
+ $G DPWR $G DGND
+ $N 0024
+ 10S T M
+ 1 0 LEVEL=0
+ TlMESTEP=20ns
+ Ons 0
+ 1500ns 1
+ 1600ns 1
- 127-

+ 1700ns 1
+ 1800ns 1
+ 1900ns 0

Для того, чтобы посмотреть полученную программу в появившемся


окне утилиты PSPICE AD Student необходимо щёлкнуть на кнопке View
Circuit File. Для того, чтобы программа начала моделировать, необходимо в
самом начале программы дописать директиву .tran 20ns 3000ns. (Не
забудьте, что первая строка программы должна быть пустой, либо она
может содержать комментарии).
После сохранения изменённого файла в PSPICE AD Student можно
начать моделирование.
Для осуществления моделирования следует нажать кнопку RUN, которая
выведена на панели инструментов (если кнопка RUN не выведена, то
следует открыть закладку Simulation , и выбрать RUN). При этом должно
появиться окно эмулятора, сначала пустое. Следует подключить входные и
выходные сигналы. Для этого открываем закладку Trace и выбираем пункт
Add Тrace. В появившемся окне, слева, выбираем последовательно (для
наглядности) сначала входы, затем выходы объекта в данном случае С,
DPI, DP2, MOD, V, out. Для удобства визуального анализа можно также
выбрать входные и выходные сигналы любого элемента схемы по выбору,
например OUT1, OUT2, OUT3, OUT4, OUT5, DSTM15 PIN1, DSTM16:PIN1,
DSTM17 P1NI, U6:QA, U6:QB, U6:QC, U6 QD, U7:QA, U7 QB, U7 QC,
U7:QD

5. Литература.
t Шахунянц 'Г.Г., Зандман А Я., Г'удашевский Ю А. "Схемотехническое
моделирование РЭА в среде PSPICE”, МИИТ 1999 г

2, Хайнеман P., "PSPICE. Моделирование и анализ электронных схем",


Иллилнон, 2002.
- 128-

Содержание

1. Общие сведения 3
2. Моделирование устройст в
2.1. Структура задания на моделирование 3
2.2. Описание компонентов
2.2.1. Включение компонентов в цепь 5
2.2.2. Описание макромоделей компонентов 7
2.2.3. Описание дополнительных параметров 10
2.2.4. Описание цифровых компонентов
2.2.4.1. Схемотехническое описание цифровых компонентов 12
2.2.4.2. Особенности описания некоторых типов цифровых
устройств
2.2 4.2.1. Вентили 14
2.2.4.2 2. Триггеры 21
2.2.4.2.3. Постоянные запоминающие устройства 28
2.2.4.2.4. Оперативные запоминающие устройся ва 32
2.2.4.2.5. Аналого-цифровые преобразователи 37
2.2.4 2.6 Цифро-аналоговые преобразователи 39
2.2 4 3. Функциональное описание цифровых устройств
2.2.4.3 1. Логическое описание компонентов 41
2.2.4 3 2 Задание задержек распросгранения сигналов 43
2.2.4.3.3. Пример функционального описания цифровых
устройств 48
2.2.5. Описание аналоговых компонентов
2.2.5.1. Резисторы 52
2.2.5.2. Конденсаторы 54
2 2.5.3. Индуктивности 56
2.2.5.4. Диоды 58
- 129-

2.2.5 5. Биполярные транзисторы 59


2 3. Описание входных сигналов
2 3.1 Стандартные сиг налы 60
2.3.2 Генератор цифровых сигналов 64
2 4. Директивы моделирования 68
2 5. Дополнительные сведения об описании устройств
2.5.1. Смешанные аналого-цифровые цепи 73
2.5.2 Аналого-цифровой интерфейс 74
2 5.3. Цифро-аналоговый интерфейс 77
2.5 4 Модель вход/выход 80
2.5.5. Пример полной модели ИС K155J1A3 84
2.6. Примеры заданий на моделирование
2.6.1. Пример для К155ЛИ1 (вентиль 2И) 86
2.6.2 Пример для К155ТМ2 (D - триггер) 88
2.6 3 Пример для ПЗУ 90
2.6.4. Пример для ОЗУ 92
2.6.5. Пример для АЦП 95
2.6.6. Пример для ЦАП 97
2 6.7. Пример функционального описания для К555КП7
(мультиплексор) 99
2.6 8. Пример для аналоговых элементов 104
3 Графическое отображение результатов моделирования 106
4. Особенности моделирования схем в среде PSP1CE 9 I ИЗ
4.1. Использование среды PC AD 114
4.2. Ручное написание программы моделирования 118
4 3. Ввод схемы с помощью утилиты PSPICE Schematics 122
5. Литература 127
Св. план 2005 г, поз.93

Шахунянц Татьяна Геогриевна


М оделирование принципиальных схем РЭА
в среде PSPICE 9.1
Учебное пособие

Подписано к печати - 03,05, Формат 60 х 84 '/)6


Тираж {00 экз. Заказ - У78.
Уел. печ. Л.-8.25 Цена - 66pyS. ООнсп.

127994. М осква, ул. О бразцова, 15


Т и п ограф и я М И И Т а