Операционная система Linux

         

4.1. Составление задания на моделирование


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

Задание на моделирование для программы PSpice заносится в текстовые файлы. Знание их форматов при графическом вводе схемы не обязательно, но желательно, так как:



значительно облегчает поиск ошибок при отладке схемы;
позволяет создавать шаблоны новых символов компонентов;
позволяет составлять текстовые описания макромоделей (иногда это проще, чем рисовать их схемы замещения).

При графическом вводе схем как с помощью программы PSpice Schematics, так и с помощью OrCAD Capture, создаются три файла задания с одним и тем же именем и различными расширениями имени: *.NET (таблица соединений), *.ALS (список подключения цепей к выводам компонентов) и *.CIR (список директив моделирования). При моделировании в PSpice непосредственно загружается файл *.CIR, в котором имеются ссылки на остальные файлы. Для его составления вручную на бумаге сначала рисуется принципиальная схема моделируемого устройства и присваиваются имена всем ее узлам (при графическом вводе этого делать не обязательно). Имена узлов могут быть целыми числами от 0 до 9990 или алфавитно-цифровыми символами длиной не более 131 символа. В качестве этих символов используются буквы латинского алфавита от А до Z, цифры 0, 1, ..., 9 и знаки «$», «_», «*», «/», «%». Стандартное обозначение ряда узлов приведено в табл. 4.1.

Таблица 4.1. Глобальные узлы

Имя узла

Напряжение / уровень

Описание

0

OB

Аналоговая «земля»

$G_CD4000_VDD

5 В

Источник питания к-МОП ИС

$G_CD4000_VSS

OB

Источник питания к-МОП ИС

$G_DPWR

5B

Источник питания ТТЛ ИС

$G_DGND

OB

Источник питания ТТЛ ИС

$G_ECL_10K_VEE

-5,2 В

Источник питания ЭСЛ 10К ИС

$G_ECL_10K_VCCl

OB

Источник питания ЭСЛ 10К ИС

 

Имя узла

Напряжение / уровень

Описание

$G_ECL_10K_VCC2

0 B

Источник питания ЭСЛ 10К ИС

$G_ECL_100K_VEE

-4,5 В

Источник питания ЭСЛ 100К ИС

$G_ECL_100K_VCC1

OB

Источник питания ЭСЛ100К ИС

$G_ECL_100K_VCC2

0 B

Источник питания ЭСЛ 100К ИС

$D_HI

«1»

Логическая «1»

$D_LO

«0»

Логический «0»

$D_X

«X»

Неопределенное логическое состояние X

$D_NC


Не подключенный к схеме вывод цифрового компонента

Логические состояния цифровых узлов $D_HI, $D_LO, $D_X поддерживаются постоянными независимо от того, с чем они соединены. Узел $D_NC применяется для обозначения неиспользуемых выводов (аббревиатура NC означает Not Connected — нет подключения), чтобы при проверке схемы они не включались в список ошибок.

При ссылке на цифровые имена узлов они заключаются в круглые скобки, например V(6) — потенциал узла 6. Имена узлов в виде алфавитно-цифровых символов при ссылках на них заключаются в квадратные скобки [ ], чтобы отличить их от имен компонентов. Например, потенциал узла IN обозначается как V([IN]), a V(I2) — напряжение на источнике тока 12. Заметим, что в программе Probe при ссылке на алфавитно-цифровые имена узлов квадратные скобки не нужны, они отсутствуют и в выходном файле с расширением *.OUT.

В программе существует соглашение, что все узлы, имена которых начинаются с символов $G_, являются глобальными, например узел $G_POS. Глобальные узлы используются в схемах, имеющих макромодели. Глобальные узлы с одинаковыми именами автоматически соединяются в основной цепи и во всех макромоделях. С их помощью удобно прокладывать цепи питания, синхронизации и т.п. (узел «земля» 0 всегда является глобальным). Глобальные узлы с произвольными именами назначаются с помощью директивы .GLOBAL (см. п. 4.1.2).

После именования узлов составляют задание на моделирование, которое заносится в файл. Имя файла произвольное, в качестве расширения имени рекомендуется использовать *.CIR, воспринимаемое программой PSpice по умолчанию.

Первая строка файла — строка заглавия, которая затем выводится в виде заголовка в выходном файле.

Строки комментариев содержат символ «*» в первой позиции. Конец любой строки после знака «;» также воспринимается как комментарий.

Последняя строка файла .END. Порядок ввода промежуточных строк значения не имеет, за небольшим исключением:

строка описания функции .FUNC должна быть помещена до ссылки на нее;
директива .OPTIONS NOECHO запрещает запись в выходной файл расположенной после нее части описания схемы.
Строка продолжения начинается с символа «+» в первой позиции, максимальная длина строки 132 символа. Число пробелов между операторами в строке произвольное. Пробелы и запятые или знаки равенства эквивалентны.

Внимание!

Программа PSpice не различает прописные и строчные буквы.

Предложения входного языка программы PSpice делятся на описания компонентов и директивы.

Описанием компонента считается любая строка, не начинающаяся с символа «.» (кроме первой строки и строк комментариев и продолжений). Описание компонента имеет следующую структуру:

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

Имя компонента состоит из последовательности символов латинского алфавита и цифр, общая длина имени не должна превосходить 13Г символ (рекомендуется не более 8 символов). Первый символ — одна из букв латинского алфавита от А до Z, далее в любом порядке — алфавитно-цифровые символы и знаки $, _, *, /, %. Первый символ имени компонента определяет его тип, например R1, ROUT, Q12 (табл. 4.2). При графическом вводе схем пользователь может вводить первый символ имени компонента по своему усмотрению, так как графические редакторы при составлении текстового описания схемы для передачи его в PSpice к именам всех компонентов в соответствии с табл. 4.2 автоматически добавят префиксы — это выполняется в соответствии с так называемыми шаблонами символов компонентов TEMPLATE (см. разд. 3.3). Поэтому на схемах компоненты можно именовать, не придерживаясь приведенных в табл. 4.2 правил (они должны быть учтены при составлении шаблонов символов). Например, транзисторы всех типов можно согласно ЕСКД именовать как V1, V2, V3..., а при составлении текстового описания схемы биполярный транзистор получит имя Q_V1, полевой — J_V2, МОП-транзистор -- M_V3 и т.д.

Таблица 4.2. Первые символы имен компонентов

Первый символ имени

Тип компонента

В

Арсенид-галлиевый полевой транзистор (GaAsFET) с каналом n-типа

С

Конденсатор

D

Диод

Е

Источник напряжения, управляемый напряжением (ИНУН)

F

Источник тока, управляемый током (ИТУТ)

G

Источник тока, управляемый напряжением (ИТУН)

Н

Источник напряжения, управляемый током (ИНУТ)

I

Независимый источник тока

J

Полевой транзистор с управляющим р-n-переходом (JFET)

К

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

 

Первый символ имени

Тип компонента

L

Индуктивность

М

МОП-транзистор (MOSFET)

N

Аналого-цифровой преобразователь на входе цифрового устройства

О

Цифроаналоговый преобразователь на выходе цифрового устройства

Q

Биполярный транзистор

R

Резистор

S

Ключ, управляемый напряжением

Т

Линия передачи

V

Независимый источник напряжения

W

Ключ, управляемый током

Y

Цифровое устройство

X

Макромодель (операционный усилитель, компаратор напряжения, регулятор напряжения, стабилизатор напряжения и др.)

Z

Статически индуцированный биполярный транзистор (IGBT)

Заметим, что помимо перечисленных выше компонентов схем в состав моделируемого устройства могут входить и не электронные элементы (электрические машины, системы автоматического управления и др.), оформленные в виде макромоделей.

Номера узлов подключения компонента к схеме перечисляются в определенном порядке, установленном для каждого компонента (см. ниже). Имя модели компонента не является обязательным параметром. В заключение указываются численные значения параметров компонента. В программе PSpice осуществляется масштабирование чисел с помощью суффиксов, приведенных в табл. 4.3.

Таблица 4.3. Масштабные коэффициенты

Суффикс

Масштабный коэффициент

Наименование

f

10- 15

Фемто

Р

10- 12

Пико

п

10- 9

Нано

U

10- 6

Микро

mil

25,4*10 6

Мил (0,001 дюйма)

m

10- 3

Милли

k или К

10 3

Кило

MEG

10 6

Мега

G

109

Гига

 

Суффикс

Масштабный коэффициент

Наименование

Т

10 12

Тера

С


Признак целого числа тактов цифровых сигналов

Примечание. В программе PSpice прописные и строчные буквы не различаются

Допускается к масштабным суффиксам дописывать буквенные символы для улучшения наглядности обозначений. Так, сопротивление 5,1 кОм может быть записано несколькими способами: 5100, 5.1К, 5.1КОМ, 5.1КОНМ, 5.1е3, 0.0051еЗК. При этом допускается присоединять суффикс и к числам, представленным в форме с плавающей точкой, как в последнем примере. Суффикс MIL используется при задании геометрических размеров МОП-транзисторов.

Сопротивления, емкости и индуктивности должны быть постоянными величинами (зависимость от времени или от токов и напряжений, как в программе Micro-Cap, к сожалению, не допускается). Они могут быть как положительными, так и отрицательными величинами. Исключение составляет анализ переходных процессов, где отрицательные значения емкостей и индуктивностей могут привести к ошибкам в расчете. В любом случае нулевые значения параметров компонентов не допускаются.

При наличии ошибок, обнаруженных при трансляции схемы и при выполнении моделирования, на экран и в выходной файл *.OUT выводятся сообщения о них.

Помимо числовых значений в предложениях входного языка программы могут использоваться идентификаторы параметров, которые заключаются в фигурные скобки { }. Например, постоянное напряжение источника питания может быть задано с помощью параметра VPOWER:

VP 6 0 DC {VPOWER}

Внутри фигурных скобок допускаются символы арифметических выражений, например:

С2 5 4 {CLOAD*2.5}

Это не допускается при задании:

параметров NL, F, LEN, R, L, G и С линии передачи;
температурных коэффициентов резистора TCI, TC2 в его описании (в модели резистора эти выражения допускаются);
параметров линейно-ломаного сигнала PWL;
полиномиальных коэффициентов зависимых источников типа Е, F, G, H;
в именах узлов и параметрах директив .AC, .DC и др.
Выражение должно помещаться на одной строке длиной не более 131 символа (громоздкие выражения целесообразно оформлять в виде функций с помощью директивы .FUNCTION). Кроме арифметических выражений допускается использование стандартных функций, приведенных в табл. 4.4.

Таблица 4.4. Обозначения стандартных функций

Функция

Определение

Комментарий

Наличие в программе Probe

ABS(x)

Абсолютное значение х


Да

ACOS(x)

Арккосинус х

Результат в радианах

Нет

ARCTAN(x)

Арктангенс х

Результат в радианах

Да

ASIN(x)

Арксинус х

Результат в радианах

Нет

ATAN(x)

Арктангенс х

Результат в радианах

Да

ATAN2(y,x)

Арктангенс у/х

Результат в радианах

Нет

COS(x)

Косинус х

х в радианах

Да

COSH(x)

Косинус гиперболический х

х в радианах

Нет

DDT(x)

Производная dx/dt

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

Да*

EXPM

Экспонента числа х


Да

W(t,x,y)

х, если t — истинно, у, если t — ложно

t — булева переменная, оператор отношений

Нет

IMGU)

Мнимая часть х


Да

LIMIT(x, min, max)

min, если x<min, max, если х>тах, х, если min<x<max

Ограничитель с линейной областью

Нет

LOG(x)

Натуральный логарифм х


Да

LOGIO(x)

Десятичный логарифм х


Да

M(x)

Модуль х

Эквивалентно ABS(x)

Да

MAX(x,y)

Максимум х,у


Да

MIN(x,y)

Минимум х,у


Да

P(x)

Фаза х

Равна 0 для вещественных чисел

Да

PWR(x,y)

Степенная функция |х| у


Да

PWRS(x,y)

+ |x| у , если x;<0 -|х| у , если х>0


Нет

R(x)

Действительная часть х


Да

SDT(x)

Интеграл f x(t)dt

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

Да**

SGN(x)

Знак х


Да

SIN(x)

Синус х

х в радианах

Да

SINH(x)

Синус гиперболический х

х в радианах

Нет

 

Функция

Определение

Комментарий

Наличие в программе Probe

STP(x)

1, если х > 0, 0, если х < 0


Нет

SQRT(x)

корень из х


Да

TABLE (x,x1,y1,...)

Табличная зависимость функции у от х

Задаются координаты точек (xi, yi), в промежуточных точках используется линейная аппроксимация

Нет

TAN(x)

Тангенс х

х в радианах

Нет

TANH(x)

Тангенс гиперболический х

х в радианах

Нет

* В программе Probe эта функция имеет обозначение d(x) ** В программе Probe эта функция имеет обозначение S(A:)

Выражения могут содержать математические операции, перечень которых приведен в табл. 4.5.

Таблица 4.5. Математические операции

Символ операции

Назначение

Арифметические операции

+

Сложение

-

Вычитание

*

Умножение

/

Деление

Логические операции (для функции IF и описания моделей цифровых компонентов в булевых выражениях)

-

Логическое отрицание

|

Логическое ИЛИ

-

Логическое исключающее ИЛИ

&

Логическое И

**

Бинарный оператор

Операции отношений (для функции IF)

==

Равно

!=

Не равно

>

Больше

>=

Больше или равно

<

Меньше

<=

Меньше или равно

Директивы моделирования начинаются с символа «.» в первой позиции (см. п. 4.1.2).

 

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

Программа PSpice рассчитывает следующие характеристики электронных цепей:

режим цепи по постоянному току в «рабочей точке» (Bias Point);
режим по постоянному току при вариации источников постоянного напряжения или тока, температуры и других параметров цепи (DC Sweep);
чувствительность характеристик цепи к вариации параметров компонентов в режиме по постоянному току (Sensitivity);
малосигнальные передаточные функции в режиме по постоянному току (Transfer Function);
характеристики линеаризованной цепи в частотной области при воздействии одного или нескольких сигналов (AC Sweep);
спектральную плотность внутреннего шума (Noise Analysis);
переходные процессы при воздействии сигналов различной формы (Transient Analysis);
спектральный анализ (Fourier Analysis);
"статистические испытания по методу Монте-Карло и расчет наихудшего случая (Monte Carlo/Worst Case);
многовариантный анализ при вариации температуры (Temperature) и других параметров (Parametric).
С помощью модуля PSpice Optimizer выполняется параметрическая оптимизация (см. разд. 5.4).

Каждому виду расчета соответствует определенная директива. Их полный перечень приведен в табл. 4.6.

Таблица 4.6. Директивы моделирования

Имя

Назначение

Расчет стандартных характеристик

.АС

Расчет частотных характеристик

.DC

Расчет режима по постоянному току

.FOUR

Спектральный анализ

.NOISE

Расчет уровня внутреннего шума

.OP

Передача в выходной файл параметров схемы, линеаризованной в окрестности рабочей точки

.SENS

Расчет малосигнальных чувствительностей в режиме по постоянному току

.TF

Расчет малосигнальных передаточных функций в режиме по постоянному току

.IRAN

Расчет переходных процессов

Управление выдачей результатов

.PLOT

Представление результатов расчета в выходном файле в виде графиков, построенных в текстовом режиме

 

Имя

Назначение

.PRINT

Представление результатов расчета в выходном файле в виде таблиц

.PROBE

Передача данных в графический постпроцессор Probe

.VECTOR

Создание файла с результатами моделирования цифровых устройств

.WATCH

Выдача промежуточных результатов анализа на экран программы PSpice в текстовом виде

.WIDTH

Назначение длины строк выходного файла

Многовариантный анализ

.STEP

Вариация параметров

.TEMP

Назначение температуры окружающей среды

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

.END

Конец задания

.FUNC

Определение функции

.INC

Включение во входной файл другого файла

.LIB

Подключение библиотеки моделей компонентов

.PARAM

Определение глобальных параметров

Статистический анализ

.МС

Статистический анализ по методу Монте-Карло

.WCASE

Расчет наихудшего случая

Модели устройств

.ENDS

Конец описания макромодели

.DISTRIBUTION

Табличное определение закона распределения случайных величин

.MODEL

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

.SUBCKT

Начало описания макромодели

Задание начальных условий

.IC

Задание начальных условий

.LOADBIAS

Считывание из файла узловых потенциалов схемы

.NODESET

Задание узловых потенциалов по постоянному току на начальной итерации

.SAVEBIAS

Запись в файл узловых потенциалов схемы

Прочие директивы

.ALIASES

Начало списка соответствий имен выводов графических обозначений компонентов именам цепей схемы, к которым они подключены

.ENDALIASES

Конец списка соответствий

.EXTERNAL

Спецификация внешних портов

.OPTIONS

Установка параметров и режимов работы программы

.STIMLIB

Задание имени файла с описанием внешних воздействий

.STIMULUS

Задание внешних воздействий

 

Имя

Назначение

.TEXT

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

*

Комментарий

;

Комментарий в конце строки

+

Продолжение строки

Директивы моделирования задаются в схемном редакторе PSpice Schematics по команде Analysis>Setup или выбором пиктограммы. В раскрывшемся меню (см. рис. 3.49) выбирают нужный вид анализа (помечая его крестиком в графе Enabled) и щелчком мыши по панели с именем вида анализа раскрывают меню задания параметров моделирования.

При работе с OrCAD Capture аналогичные директивы моделирования задаются/редактируются по командам PSpice>New/Edit Simulation Profile. Приведенное ниже описание директив моделирования будем иллюстрировать изображением диалоговых окон PSpice Schematics. Этого достаточно для понимания их ввода в OrCAD Capture.

Обратим внимание, что в меню схемных редакторов задаются не все возможные директивы программы PSpice. He вошедшие в меню директивы (.LIB, .INC и др.) задаются с помощью атрибутов, присваиваемых на схеме специальным символам из библиотеки Special.sib, каждой директиве — отдельный символ.

Приведем ниже описание всех директив программы PSpice.

AC Sweep — расчет частотных характеристик и уровня шума. Частотные характеристики рассчитываются по директиве:
.AC [LIN] [ОСТ] [DEC] <n> <начальная частота> <конечная частота>

Эта директива задает диапазон частот в пределах <начальная частота> ... <конечная частота>. Параметр LIN устанавливает линейный шаг по частоте, при этом п — общее количество точек по частоте. Параметры ОСТ и DEC устанавливают логарифмический характер изменения частоты октавами и декадами соответственно. Параметр п определяет в таком случае количество точек по частоте на одной октаве или декаде. Анализ спектральной плотности внутреннего шума производится по директиве

.NOISE У(<узел>[,<узел>]) <имя> <п>

Директива .NOISE указывается совместно с директивой .АС, в которой задается диапазон частот анализа. Источниками шума служат резисторы, ключи и полупроводниковые приборы, шумовые схемы замещения которых приведены в [7]. На каждой частоте / рассчитывается спектральная плотность выходного напряжения S UBbIX (f), В 2 /Гц, обусловленная наличием статистически независимых источников внутреннего шума. Точки съема выходного напряжения указываются по спецификации М(<узел> [,<узел>]). К входным зажимам цепи подключается независимый источник напряжения или тока, <имя> которого приводится в списке параметров директивы .NOISE. Этот источник не является источником реального сигнала, он служит лишь для обозначения входных зажимов цепи, к которым пересчитывается выходной шум. Если ко входу подключается источник напряжения, то на входе рассчитывается эквивалентная спектральная плотность напряжения S U BX ЭK (f), В 2 /Гц; если ко входу подключен источник тока, то рассчитывается эквивалентная спектральная плотность тока Si вх эк (f), А 2 /Гц. Уровень шума пересчитывается с выхода на вход делением спектральной плотности выходного напряжения S u вых на квадрат модуля соответствующей передаточной функции. Заметим, что внутреннее сопротивление реального генератора сигнала R r должно быть включено в описание цепи как отдельный резистор. Если указан целочисленный параметр <п>, то на каждой n-й частоте в диапазоне анализа будет рассчитываться не только спектральная плотность суммарного шума, но и вклад в нее каждого шумового источника. Если параметр <п> не указан, то этот расчет не производится.

Рис. 4.1. Расчет частотных характеристик и уровня шума

В диалоговом окне задания параметров режима AC Sweep имеются два раздела (рис. 4.1). В первом задаются параметры директивы изменения частоты.

В диалоговом окне в разделе AC Sweep Type определяется характер изменения частоты:

Linear — линейная шкала;
Octave — изменение частоты октавами;
Decade — изменение частоты декадами.
В разделе Sweep Parameters задаются параметры диапазона частот:

Total Pts., Pts/Decade, Pts/Octave — общее количество точек при выборе линейного масштаба или количество точек по частоте на одну декаду или октаву;
Start. Freq. — начальная частота;
End Freq. — конечная частота.
В разделе Noise Analysis устанавливаются параметры расчета спектральной плотности внутреннего шума:

Noise Enabled — включение режима расчета уровня шума;
Output Voltage — выходное напряжение;
I/ V Source — имя входного источника напряжения или тока;
Interval — интервал п расчета парциальных уровней шума.
Расчет характеристик в частотной области производится после определения режима по постоянному току и линеаризации нелинейных компонентов (это делается автоматически, никаких дополнительных директив не требуется). Все независимые источники напряжения V и тока I., для которых -заданы параметры АС-сигналов (амплитуды и фазы) являются входными воздействиями. При проведении АС-анализа остальные спецификации этих источников, в том числе параметры синусоидального сигнала SIN, не принимаются во внимание, они учитываются при анализе переходных процессов. Результаты расчета комплексных амплитуд узловых напряжений и токов ветвей выводятся по директивам .PRINT, .PLOT или .PROBE.

Приведем примеры текстового задания директив:

.ACDEC2010k100MEG

.NOISE V(5)VIN

.NOISE V(101)VSRC 20

.NOISE V(4,5) ISRC

Результаты расчета уровней шума выводятся в выходной файл .out по директиве .PRINT или .PLOT:

PRINT NOISE <выходная переменная>' PLOT NOISE <выходная переменная>*

В качестве выходных переменных при расчете уровней шума используются следующие имена:

INOISE, DB(INOISE) —корень(S BX (f)) в относительных единицах и децибелах;
ONOISE, DB(ONOISE) — корень( S u вых (f)) в относительных единицах и децибелах.
Например:

PRINT NOISE INOISE ONOISE DB(INOISE)

PRINT NOISE INOISE ONOISE

PRINT NOISE ONOISE DB(ONOISE)

Графики спектральных плотностей можно построить с помощью программы Probe. Причем помимо суммарных спектральных плотностей INOISE и ONOISE доступны и парциальные спектральные плотности напряжения выходного шума, обусловленные отдельными источниками шума. Для их построения в программе Probe используются специальные обозначения, приведенные в п. 15.

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

Kш=S u вх . эк (f)/S u r

где S u вх . эк (7) — спектральная плотность напряжения, обусловленного шумом сопротивления генератора R r и внутренним шумом четырехполюсника, пересчитанная на его вход, S U BX ЭK (f) = INOISE 2 ; S ur = 4kT 0 R r — спектральная плотность напряжения шума сопротивления генератора; k = 1,38-10" 23 Дж/°С — постоянная Больцмана; Т 0 = 300 К — номинальная абсолютная температура.

а)

б)

Рис. 4.2. Измерение коэффициента шума четырехполюсника при подключении ко входу источника напряжения (а) или тока (б)

Формула для расчета дифференциального коэффициента шума приобретает, таким образом, вид ,

K(f)= INOISE 2 /1 ,656*10- 20 R r

где сопротивление R r указывается в омах.

Приведем фрагмент задания на расчет коэффициента шума четырехполюсника, изображенного на рис. 4.2, а:

.TEMP 80

VG 1 О АС 1

RG 1 2 75

RLOAD 3 4 500

CLOAD 3 4 30рР

{описание четырехполюсника}

.AC LIN 21 0 1000HZ

.NOISE V(3,4) VG

PRINT INOISE ONOISE

Аналогично измеряется дифференциальный коэффициент шума при подключении на вход четырехполюсника источника тока (рис. 4.2, б):

K(f)=INOISE 2 /1,656*10- 20 /R r

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

бu вых=корень(интеграл(Su вых(f))df)

с помощью функции интегрирования s(x) программы Probe (разд. 5.1):

SQRT(S(V(ONOISE)*V(ONOISE)))

Среднеквадратическое отклонение шума а U вых равно значению этой функции на верхней границе диапазона частот.

При измерении коэффициента шума сопротивлению генератора R r должна быть приписана номинальная температура Т 0 , четырехполюснику — его физическая температура, а сопротивлению нагрузки R H — температура абсолютного нуля, так как его шумы обычно принимаются во внимание при расчете коэффициента шума последующего каскада. Назначение резисторам индивидуальных значений температуры производится с помощью параметра T_ABS.

В некоторых задачах могут потребоваться независимые источники шума. Они могут быть представлены в виде зависимых источников, управляемых током шумящего резистора (в связи с особенностями программы PSpice допускается управлять током источника ЭДС, включенного последовательно с шумящим резистором).

На рис. 4.3, а представлена модель независимого источника шумового напряжения. Сопротивление шумящего резистора этого источника связано с требуемой спектральной плотностью напряжения шума S u соотношением RN = S u / (4kT). Например, при S u = 10- 18 В 2 /Гц описание модели на рис. 4.3, а имеет вид:

RN 1 0 60.4

VN 1 0 DC 0

HN23VN1

а)

б)

Рис. 4.3. Независимый источник напряжения (а) и тока (б) широкополосного шума

Модель независимого источника шумового тока представлена на рис. 4.3, б. Для нее сопротивление шумящего резистора связано со спектральной плотностью шумового тока Si- соотношением RN = 4kT/Si. Например, при S,- = 10- 24 А 2 /Гц модель описывается следующим образом:

RN 1 0 16.56К

VN 1 0 DC 0

FN 2 3 VN 1

    Load Bias Point — загрузка данных режима по постоянному току.
Считывание из файла узловых потенциалов производится по директиве

.LOADBIAS <"имя файла">

Из файла, созданного в предыдущем сеансе работы с программой PSpice, считываются узловые потенциалы по постоянному току. Для выполнения расчета переходных процессов по директиве .TRAN с заданными начальными условиями этот файл можно предварительно отредактировать и заменить директиву .NODESET на .IC. Для передачи содержания файла узловых потенциалов, указанного в директиве .LOADBIAS, в выходной файл результатов (с расширением имени *.OUT), необходимо в директиве .OPTIONS указать параметр EXPAND.

Приведем примеры:

.LOADBIAS "DC_POINT.NOD"

.LOADBIAS "D:\PSPICE\JOB\TR_DATA.TRN"

    Save Bias Point — сохранение данных режима по постоянному току. Запись в файл узловых потенциалов осуществляется по директиве
.SAVEBIAS <"имя файла"> <[ОР] [DC] [TRAN]> [NOSUBCKT]

+ [ТIME=<значение> [REPEAT]] [ТЕМР=<змачение>] [SТЕР=<значение>]

+ [МСRUN=<знамение>] [DС=<значение>] [DС1=<значение>]

+ [DС2=<значение>]

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

Параметр NOSUBCKT запрещает запись в файл узловых потенциалов внутренних узлов макромоделей.

Параметры ТIМЕ=<значеные> [REPEAT] определяют моменты времени, в которые запоминаются узловые потенциалы схемы при расчете переходных процессов (режим TRAN). Ели параметр REPEAT не указан, то узловые потенциалы запоминаются в первый момент времени, равный указанному значению (с точностью до шага интегрирования) или превышающий его. При наличии параметра REPEAT параметр <значение> равен интервалу времени, с которым узловые потенциалы периодически запоминаются, при этом в файле сохраняется только последняя запись.

Параметр ТЕМР=<значение> задает температуру, для которой сохраняются узловые потенциалы при вариации температуры, а необязательный параметр SТЕР=<значение> задает интервал температур, через который обновляется запись в файл.

Параметр МСRUN=<значение> определяет количество вариантов расчетов, через которые обновляется запись в файл при статистическом анализе или расчете по методу наихудшего случая.

Параметры DC = <значение>, DC1 = <значение> и DC2 = <значение> задают значения параметров, варьируемых по директиве .DC, для которых производится запись в файл. Параметр DC = <значение> используется только при вариации одной переменной, a DC1 и DC2 — при вариации двух переменных (соответственно первой и второй).

Образуемый на диске текстовый файл имеет следующий формат. Сначала на одной или более строках в виде комментариев указываются имя схемы, заголовок, дата создания, затраты времени на расчет, тип анализа, температура и т.п. Далее помещается единственная директива .NODESET, содержащая полную информацию об узловых потенциалах схемы. Поэтому после загрузки файла по директиве .LOADBIAS эти потенциалы будут установлены автоматически.

Одно из типичных применений директив .SAVEBIAS, .LOADBIAS — исследование больших схем, для которых расчет режима по постоянному току занимает значительное время. Тогда после расчета режима по постоянному току он может быть сохранен по директиве .SAVEBIAS и в дальнейшем перед выполнением других видов анализа (переходных процессов, частотных характеристик, статистического анализа и т.п.) узловые потенциалы в этом режиме могут быть загружены по директиве .LOADBIAS. Единственное ограничение: директивы .SAVEBIAS и .LOADBIAS должны помещаться в разных заданиях на моделирование. Заметим, что при модификации схемы пользователь может для улучшения сходимости вручную отредактировать файл режима, добавляя или исключая из директивы .NODESET ряд узлов схемы и корректируя их потенциалы.

Приведем примеры:

.SAVEBIAS "DC_POINT.NOD" OP

.SAVEBIAS "TR_DATA.TRN" TRAN NOSUBCKT TIME=10us

.SAVEBIAS "DC.BSP" DC MCRUN=3 DC1=2.5 DC2=10

При работе с управляющей оболочкой Schematics имя файла узловых потенциалов и другие параметры указывается в диалоговом окне (рис. 4.4), открывающемся после нажатия на кнопку Save Bias Point в меню выбора директив моделирования (рис. 3.49).

    DC Sweep — вариация параметров при расчете режима по постоянному току. Расчет режима по постоянному току производится при вариации одного или нескольких источников постоянного напряжения или тока, температуры, параметров моделей компонентов схемы и глобальных параметров по директивам
.DC [LIN] <имя 1-й переменной> <начальное значение>

+ <конечное значение> <приращение>

+ [<имя 2-й переменной> <начальное значение>

+ <конечное значение> <приращение>]*

.DC [ОСТ] [DEC] <имя 1-й переменной> <начальное значение> + <конечное значение> <количество точек>

+ [<имя 2-й переменной> <начальное значение> + <конечное значение> <количество точек>]*

.DC <имя 1-й переменной> LIST <значение>* + [<имя 2-й переменной> LIST <значение>*]

Режим по постоянному току рассчитывается для нескольких значений варьируемых переменных, в качестве которых могут приниматься:

имена независимых источников напряжения или тока;
параметры моделей компонентов (указываются тип компонента, имя модели и в круглых скобках имя варьируемого параметра);
температура (в качестве ее имени указывается TEMP);
глобальные параметры (указывается ключевое слово PARAM и вслед за ним имя варьируемого глобального параметра, определенного ранее).
Характер изменения переменных задается ключевыми словами:

LIN — линейный масштаб (ключевое слово LIN можно не указывать);
DEC, ОСТ — логарифмический масштаб декадами или октавами;
LIST — список значений.
Если указаны спецификации двух варьируемых параметров, то первый параметр изменяется в заданных пределах для каждого значения второго параметра.

Такой вложенный цикл удобен, в частности, для построения статических характеристик полупроводниковых приборов.

Максимальное количество итераций при переходе к следующему варианту по умолчанию устанавливается равным достаточно малой величине ITL2=20. Поэтому в схемах, чувствительных к вариациям параметров, могут возникнуть проблемы со сходимостью. В этих случаях рекомендуется по директиве .OPTIONS увеличить значение ITL2.

Приведем примеры:

.DC VIN 0.5 5.0 0.25

.DC LIN VDS 0 10 .5 VGS 0 5 1

.DC VCE 0V 10V .25V IB 0 10МА 1МА

.DC RES MODRES(R) 0.75 1.5 0.05

.DC DEC NPN KT315A(BF) 20 100 10

.DC TEMP LIST -50 0 27 60 80

.DC PARAM VPOWER 7.5 12 .5

Первый пример задает диапазон изменения напряжения источника VIN от 0,5 до 5,0 В с шагом 0,25 В. Второй и третий примеры демонстрируют вложенные циклы изменений двух источников. В четвертом и пятом примерах варьируются сопротивление резистора R и коэффициент передачи тока BF биполярного транзистора. В шестом варьируется температура, заданная списком значений. В седьмом — глобальный параметр VPOWER, задающий ЭДС источника питания.

В качестве еще одного примера покажем, как рассчитывают семейство выходных характеристик транзистора (рис. 4.6), используя вложенные циклы:

VC 1 О DC 10V

VB 2 О DC 0.5V

Q1 120КТ315А

.MODEL KT315A NPN (IS= ...)

.DC VC 0V 10V 0.2V VB 0V 1V 0.05V

.PROBE

Результаты расчета режима цепи по постоянному току выводятся по директивам .PRINT, .PLOT или .PROBE.

После завершения вариации параметров по директиве .DC варьируемые параметры принимают номинальные значения, которые они имели до многовариантного анализа.

Замечание.

При выполнении режима .DC при анализе цепей, обладающих регенеративными обратными связями (например, триггера Шмидта), не удается проанализировать точки неустойчивого равновесия. Для этого рекомендуется вместо режима .DC выполнить расчет переходных процессов .TRAN, введя источники медленно нарастающего и спадающего по линейному закону напряжения. При работе с управляющей оболочкой Schematics имя файла узловых потенциалов и другие параметры указываются в диалоговых окнах.

В разделе Sweep Var. Type задается тип варьируемого параметра:

Voltage Source — источник напряжения;
Temperature — температура;
Current Source — источник тока;
Model Parameter — параметр модели компонента;
Global Parameter — глобальный параметр.
В зависимости от выбранного типа параметра заполняются одно или несколько строк:

Name — имя варьируемого параметра (для параметров типа Voltage Source, Current Source, Global Parameter);
Model Type — тип модели, например, RES, DIODE, NPN (для Model Parameter);
Model Name — имя модели, например КТ315А (для Model Parameter);
Param. Name — имя параметра (для Model Parameter, Global Parameter).
В разделе Sweep Type задается тип вариации параметра:

Linear — линейный масштаб;
Octave — логарифмический масштаб октавами;
Decade — логарифмический масштаб декадами;
Value List — в виде списка параметров.
Пределы изменения параметров задаются на строках:

Start Value — начальное значение;
End Value — конечное значение;
Increment — приращение;
Pts/ Decade (Octave) — количество точек на одну декаду (октаву);
Values — список параметров.
    Monte Carlo/Worst Case — статистический анализ и наихудший случай. Статистический анализ по методу Монте-Карло (Monte Carlo) производится при статистическом разбросе параметров, описанных по директиве .MODEL. Случайное значение параметра х рассчитывается по формуле где x HOM — номинальное значение параметра, указанное в директиве .MODEL; А — относительный разброс параметра х; £, — центрированная случайная величина, принимающая значения на отрезке (-1, +1).
Случайные величины создаются с помощью генераторов случайных чисел. Величина относительного разброса каждого параметра А и закон распределения случайной величины £, задаются опцией < спецификация случайного разброса параметра> директивы .MODEL, которая имеет вид

[DEV[/<seHepamop#>] [/ <закон распределения>] <разброс>[%]] [LOT[/< генератор #>] [/<закон распределения>] <разброс>[%]}

Параметр <генератор #> указывает номер генератора случайных чисел (от О до 9). С его помощью создаются коррелированные параметры. Случайные параметры, для которых не указаны номера генераторов случайных чисел, образуются с помощью индивидуальных независимых генераторов; они, естественно, являются некоррелированными. Для расчета значений разбросов параметров DEV и LOT используются различные генераторы: имеется 10 генераторов для параметров DEV и столько же для параметров LOT.

В простейшем случае номера генераторов случайных чисел не указываются. Тогда параметры, имеющие опции DEV, получают независимые, а параметры, имеющие опции LOT, — коррелированные случайные значения (последнее характерно для имитации разброса параметров партий изделий).

Приведем примеры:

.MODEL RLOAD RES (R=1 DEV/GAUSS 5% LOT/UNIFORM 10%)

.MODEL CMOD CAP (C=1 DEV/4/GAUSS 1% TC1 DEV/4/USER1 10% LOT/5 2%)

В программе имеются генераторы случайных величин с двумя стандартными законами распределения:

UNIFORM — равновероятное распределение на отрезке (-1, +1);
GAUSS — гауссовское распределение на отрезке (-1, +1) с нулевым средним значением и среднеквадратическим отклонением ст = 0,25 (т.е. создается усеченное гауссовское распределение на интервале ±4а).
Кроме того, пользователь может задать нестандартный закон распределения случайных величин £, с помощью директивы

.DISTRIBUTION <имя> <<^>< P >>;*

Здесь параметр <имя> назначает имя закону распределения, который задается в табличной форме. Пары чисел задают значения случайной величины % и соответствующую вероятность Р. Всего может быть задано до 100 точек. Все значения % должны находиться на интервале (-1, +1). Координаты точек должны указываться в порядке возрастания £, (допускается повторять предыдущие значения £). Между соседними точками производится линейная интерполяция. Приведем пример задания бимодального распределения, график которого изображен на рис. 4.8:

.DISTRIBUTION BI_MODAL (-1,1) (-5,1) (-.5,0) (.5,0) (.5,1) (1,1)

Случайным параметрам, закон распределения которых не задан явно в директиве .MODEL, по умолчанию назначается распределение, указанное в опции DISTRIBUTION директивы .OPTIONS. Статистические испытания по методу Монте-Карло проводятся при расчете режима по постоянному току, переходных процессов или частотных характеристик по директиве

.MC <n> [DC] [IRAN] [AC] <имя выходной переменой>

+ <обработка результатов> [LIST]

+ [OUTPUT <спецификация>] [NAMЕ(<минимум>,<максимум>) ]

+ [SEED=<значение>]

Параметр <п> задает количество статистических испытаний. Ключевые слова DC, TRAN, АС указывают вид анализа. После них указывается <имя выходной перемвнной>, подлежащей статистической обработке.

Рис. 4.4. Бимодальный закон распределения

При статистическом анализе предусматривается разнообразная статистическая обработка результатов моделирования, характер которой определяется с помощью опции < обработка результатов>, принимающей одно из следующих значений:

YМАХ — расчет максимального отклонения текущей реализации от номинальной;
МАХ — расчет максимального значения в каждой реализации;
MIN — расчет минимального значения в каждой реализации;
RlSE_EDGE(<значение>) — определение момента первого пересечения заданного уровня снизу вверх (значение уровня задается в круглых скобках; в начале расчета значение реализации должно быть меньше этого уровня);
FALL_EDGE(<значение>) — определение момента первого пересечения заданного уровня сверху вниз (значение уровня задается в круглых скобках; в начале расчета значение реализации должно быть больше этого уровня).
По необязательному ключевому слову LIST на печать выводится список значений всех случайных параметров во всех реализациях.

В отсутствие ключевого слова OUTPUT характеристики цепи, указанные в директивах .PRINT, .PLOT или .PROBE, выводятся на печать или передаются в постпроцессор Probe один раз для номинального значения случайных параметров. С помощью ключевого слова OUTPUT их можно вывести требуемое число раз, задавая после этого слова следующие параметры:

ALL — во всех реализациях;
FIRST <m> — для первых т реализаций;
EVERY <m> — на каждой m-й реализации;
RUNS <m1>,<m2>... — для реализаций с указанными номерами т1, т2, ...
После ключевого слова RANGE определяется диапазон значений, в пределах которого статистически обрабатывается выходная переменная. Если вместо минимального или максимального значения этого диапазона указать звездочку «*», то граница диапазона примет значение -бесконечность или +бесконечность.

Переменная SEED задает начальное значение датчика случайных чисел. Оно может принимать нечетные значения в диапазоне 1...32767. По умолчанию SEED = 17533. При одинаковых значениях SEED результаты статистического моделирования при последующих запусках программы повторяются.

Приведем примеры:

.МС 5 IRAN V(5) YMAX RANGE(-1,*)

.МС 100 AC VM(3) YMAX LIST OUTPUT=ALL

Количество испытаний п ограничено 2000 при выводе данных в текстовый файл *.OUT и 400 при просмотре данных с помощью программы Probe.

Расчет чувствительности и наихудшего случая (WorstCase). Для этого применяется директива WCASE [DC][TRAN][AC] <имя выходной переменной> + <обработка результатов> [<опции>]*

Виды анализа и параметры <имя выходной переменной>, <обработка результатов> такие же, как у директивы .МС.

Проводятся расчеты характеристик цепи при вариации параметров, имеющих опции DEV или LOT. Сначала по очереди изменяются все указанные параметры, что позволяет оценить параметрическую чувствительность характеристик. Измененные значения параметров рассчитываются по формуле

Новое значение = номинальное значение (1 + RELTOL), если не указана опция BY (см. ниже). В заключение рассчитываются характеристики цепи при одновременном изменении всех параметров по методу наихудшего случая. При этом значения параметров определяются по формуле

Новое значение = номинальное значение (1±дельта).

Опции имеют следующий смысл.

Ключевое слово OUTPUT ALL разрешает передавать в выходной файл характеристики цепи, указанные в директивах .PRINT, .PLOT и .PROBE, при всех комбинациях параметров при расчете чувствительности. В его отсутствие передаются данные лишь о номинальном режиме и наихудшем случае.

После ключевого слова RANGE (<минимум>, <максимум>) указывается диапазон значений, в пределах которого производится статистическая обработка выходной переменной. Если вместо минимального или максимального значения этого диапазона указать звездочку <*>, то граница диапазона принимает значение -бесконечность или +бесконечность.

Ключевые слова HI и LOW задают направление изменения параметров компонентов относительно номинальных значений при расчете наихудшего случая. Если определяется функция YMAX или МАХ, по умолчанию назначается ключевое слово HI (положительное приращение), в противном случае — LOW (отрицательное приращение).

Ключевые слова VARY DEV, VARY LOT, VARY BOTH определяют характер случайного разброса параметров. По умолчанию назначается параметр VARY BOTH и случайный разброс задается обоими параметрами DEV и LOT; два других ключевых слова означают случайный разброс, определяемый только одним параметром DEV или LOT соответственно.

Ключевые слова BY RELTOL, BYE <значение> задают относительное изменение параметров при расчете чувствительности. По умолчанию их изменение равно значению параметра RELTOL, указанному в директиве .OPTIONS.

Ключевое слово DEVICES(< список типов компонентов>) назначает типы компонентов, параметры которых изменяются при расчете чувствительности и наихудшего случая. Список типов компонентов состоит из первых символов их имен, перечисляемых слитно, без пробелов. Например, вариация параметров только резисторов (R), конденсаторов (С) и биполярных транзисторов (Q) назначается с помощью ключевого слова DEVICES RCQ.

Приведем примеры директивы .WCASE:

.WCASE DC V(4,5) YMAX

.WCASE IRAN V(1) FALL_EDGE(3.5V) VARY BOTH BY RELTOL DEVICES RL

В задании на моделирование может быть либо директива .МС, либо .WCASE, но не обе вместе. Так моделируется наихудший случай для чисто аналоговых устройств.

Расчет наихудшего случая для смешанных устройств. При исследовании цифровых устройств наиболее актуально оценить влияние случайного разброса временных задержек цифровых ИС на характеристики устройства в целом. Сначала исследуются характеристики при номинальных значениях задержек, а затем интересно проверить работоспособность устройства при вариации задержек в заданных пределах.

Расчет наихудшего случая при моделировании смешанных аналого-цифровых устройств отличается от моделирования чисто аналоговых устройств. При моделировании по методу наихудшего случая аналого-цифровых устройств аналоговые секции моделируются при номинальных значениях параметров. В цифровых компонентах варьируются задержки, имеющие в моделях динамики ненулевые минимальные и максимальные значения (см. разд. 4.3). При подаче на вход цифрового компонента воздействия выходной узел имеет неопределенное логическое состояние на интервале времени, равном разности между максимальной и минимальной задержкой. После прохождения сигнала через второй цифровой компонент длительность неопределенного состояния увеличивается и т.д. Это так называемое моделирование «с нарастающей неопределенностью».

При работе с управляющей оболочкой PSpice Schematics параметры директивы .МС указываются в диалоговом окне , открывающемся после нажатия на кнопку Monte Carlo/Worst Case в меню выбора директив моделирования . Вид анализа — Monte Carlo или Worst Case — выбирается в верхней строке диалогового окна. Здесь же указывается количество статистических испытаний МС Runs. Смысл остальных параметров такой же, как и при текстовом вводе директив (см. выше).

    Bias Point Detail — вывод подробной информации о режиме по постоянному току. Нажатие кнопки Bias Point Detail в окне выбора директив моделирования вставляет в задание на моделирование директиву .ОР
Режим по постоянному току всегда рассчитывается в начале моделирования перед выполнением других видов анализа без указания специальных директив. При расчете режима по постоянному току принимаются во внимание параметры DC всех независимых источников напряжения и тока. Результаты расчетов выводятся в текстовый файл *.OUT в виде таблицы узловых потенциалов и списка токов независимых источников. При наличии директивы .ОР дополнительно рассчитываются малосигнальные параметры линеаризованных схем замещения полупроводниковых приборов и нелинейных управляемых источников, которые также выводится в выходной файл *.OUT.

Кроме того, анализ по постоянному току выполняется перед расчетом пере-ходных процессов по директиве .TRAN для определения начальных условий (если отсутствует ключевое слово SKIPBP) и перед анализом в частотной области по директиве .АС для линеаризации нелинейных компонентов в окрестности режима по постоянному току.

Обсудим особенности расчета режима по постоянному току. В программе он рассчитывается итерационным методом Ньютона-Рафсона. В отсутствие сходимости рекомендуется по директиве .OPTIONS увеличить максимальное количество итераций ITL1 (по умолчанию ITL1 = 40). Для повышения скорости сходимости рекомендуется с помощью директивы .NODESET устанавливать начальные значения узловых потенциалов, как можно более близкие к ожидаемому режиму по постоянному току (при отсутствии этой директивы все узловые потенциалы на начальной итерации полагаются равными нулю). Если решение методом Ньюто-на-Рафсона не сходится, программа автоматически переходит к методу вариации напряжений источников питания, который ценой увеличения затрат машинного времени обеспечивает сходимость решения в большинстве случаев. При включении опции STEPGMIN (см. п. 8) в отсутствие сходимости методом Ньюто-на-Рафсона сначала применяется метод вариации минимальной проводимости GMIN и затем, в случае его неудачи, метод вариации напряжений источников питания.

Приближенные значения режима по постоянному току с помощью директивы .NODESET нужно указывать при анализе схем, имеющих несколько устойчивых состояний.

    Digital Setup — задание параметров цифровых устройств. Параметры цифровых устройств, устанавливаемые по умолчанию, задаются в диалоговом окне (рис. 4.10), открываемом при нажатии кнопки Digital Setup в окне выбора директив моделирования (рис. 3.49). В разделе Timing Mode устанавливается тип времени запаздывания во всех компонентах:
Minimum — минимальное;
Typical — типичное;
Maximum — максимальное;
Worst-case (Min/Max) — вариация задержки при расчете наихудшего случая (минимальная/максимальная).
В разделе Default A/D Interface задается тип модели интерфейсов вход/выход, назначаемый по умолчанию (см. разд. 4.3).

В разделе Flip-flop Initialization задаются начальные значения выходным состояниям триггеров:

Аll X — присвоить неопределенное состояние X;
Аll 0 — присвоить состояние логического «О»;
All 1 — присвоить состояние логической «1».
8. Options — параметры моделирования. Параметры и режимы работы программы PSpice устанавливаются в диалоговом окне, открываемом нажатием кнопки Options в окне выбора директив моделирования . Это выполняется с помощью директивы

.OPTIONS [имя опции]* [<имя опции> = <значение>]*

Например:

.OPTIONS NOPAGE NODE RELTOL=1e-4

Рис. 4.5. Установка параметров моделирования

Опции перечисляются в любом порядке.

Они подразделяются на два вида:

опции, имеющие численное значение — для его изменения в окне, изображенном на рис. 4.5, выбирается курсором имя опции, в строке New Value вводится новое значение и нажимается кнопка Accept;
опции, не имеющие численного значения; их можно назвать флагами, находящимися в положении «включено» (Y) или «выключено» (N) — для изменения их состояний производится двойной щелчок на строке с именем опции.
Приведем список флагов (в скобках указаны значения по умолчанию):

АССТ — вывод статистики времени выполнения всех видов анализа характеристик цепи и других данных о задании на моделирование (N);
EXPAND — включение в описание схемы описания макромоделей (N);
LIBRARY — включение в описание схемы описания моделей из библиотечных файлов (N);
LIST — вывод списка всех компонентов цепи (N);
NOBIAS — запрещение вывода в выходной файл значений узловых потенциалов в рабочей точке (N);
NODE — печать списка соединений (N);
NOECHO — запрещение включения в выходной файл части описания схемы, располагаемой после строки с директивой .OPTIONS (N);
NOICTRANSLATE — отмена установки начальных условий расчета переходных процессов, выполненных с помощью директив .IC (имеются в виду начальные напряжения на конденсаторах и токи через индуктивности) (N);
NOMOD — запрещение вывода списка параметров моделей (N);
NOOUTMSG — подавление передачи в выходной файл сообщений об ошибках моделирования (N);
NOPAGE — запрещение перевода страниц в выходном файле (N);
NOPRBMSG — подавление передачи в файл данных для программы Probe сообщений об ошибках моделирования (N);
NOREUSE — запрещение автоматического сохранения и восстановления информации о режиме по постоянному току при вариации температуры, статистическом анализе, расчете наихудшего случая и при вариации параметров (N);
OPTS — вывод значений всех опций (N);
STEPGMIN — включение алгоритма расчета режима по постоянному току вариацией проводимости GMIN в случае отсутствия сходимости метода Ньютона-Рафсона. При наличии этой опции в отсутствии сходимости сначала применяется метод вариации GMIN и затем, в случае неудачи, метод вариации источников питания (в отсутствии этой опции используется только метод вариации источников питания) (N).
Если какой-либо флаг не указан, то по умолчанию устанавливается режим, противоположный описанному выше.

Опции, имеющие численные значения, представлены в табл. 4.7.

Таблица 4.7. Опции, имеющие численные значения

Имя опции

Наименование

Размерность

Значение по умолчанию

ABSTOL

Допустимая ошибка расчета токов в режиме TRAN

А

10 -12

CHGTOL

Допустимая ошибка расчета заряда в режиме TRAN

Кл

10 -14

CPTIME*

Максимальное время работы процессора, разрешенное для выполнения данного задания

с

0**

DEFAD

Диффузионная площадь стока МОП-транзистора (AD)

м 2

0

DEFAS

Диффузионная площадь истока МОП-транзистора (AS)

м 2

0

DEFL

Длина канала МОП-транзистора (L)

м

10 -4

DEFW

Ширина канала МОП-транзистора (W)

м

10 -4

DIGDRVF

Минимальное выходное сопротивление цифровых устройств (для моделей UIO)

Ом

2

DIGDRVZ

Максимальное выходное сопротивление цифровых устройств (для моделей UIO)

кОм

20

 

Имя опции

Наименование

Размерность

Значение по умолчанию

DIGERRDEFAULT

Максимальное количество контролируемых ошибок цифровых устройств


20

DIGERRLIMIT

Максимальное количество сообщений об ошибках в цифровых устройствах


0**

DIGFREQ

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

Гц

10 10

DIGINITSTATE

Установка начального состояния триггеров: 0 — сброс; 1 — установка; 2 — X


2

DIGIOLVL

Уровень интерфейса А/Ц, Ц/А по умолчанию


1

DIGMNTYMX***

Селектор выбора задержки цифрового устройства по умолчанию: 1 — минимум; 2 — типичное значение; 3 — максимум; 4 — мин/макс


2

DIGMNTYSCALE

Масштабный коэффициент для расчета минимальной задержки


0,4

DIGTYMXSCALE

Масштабный коэффициент для расчета максимальной задержки


1,6

DIGOVRDRV

Отношение выходных сопротивлений цифровых устройств, при которых изменяется состояние общего выходного узла


3

DISTRIBUTION

Закон распределения отклонений параметров от номинальных значений


UNIFORM

GMIN

Минимальная проводимость ветви цепи (проводимость ветви, меньшая GMIN, считается равной нулю)

См

10 -12

ITL1

Максимальное количество итераций в режиме DC


150

ITL2

Максимальное количество итераций при расчете передаточных функций по постоянному току при переходе к последующей точке

-

20

ITL4

Максимальное количество итераций при переходе к следующему моменту времени в режиме TRAN

-

10

ITL5*

Общее максимальное количество всех итераций в режиме TRAN (установка ITL5 = 0 означает бесконечность)


0**

LIMPTS*

Максимальное количество точек, выводимых в таблицу или на график


0**

NUMDGT

Количество значащих цифр в таблицах выходных данных (не более 8)


4

 

Имя опции

Наименование

Размерность

Значение по умолчанию

PIVREL*

Относительная величина элемента строки матрицы, необходимая для его выделения в качестве ведущего элемента (режим АС)


10- 3

PIVTOL*

Абсолютная величина элемента строки матрицы, необходимая для его выделения в качестве ведущего элемента (режим АС)

-

10- 13

RELTOL

Допустимая относительная ошибка расчета напряжений и токов в режиме TRAN


10- 3

TNOM

Номинальная температура

°С

27

VNTOL

Допустимая ошибка расчета напряжений в режиме TRAN

В

10-6

WIDTH

Длина строки выходного файла (аналогично директиве .WIDTH)


80

Значения этих опций рекомендуется не изменять. ** Нулевое значение этих опций означает бесконечность. * Назначение DIGMNTYMX=4 означает моделирование цифровых устройств по методу наихудшего случая.

Начинающим пользователям рекомендуется воспользоваться установкой параметров директивы .OPTIONS по умолчанию и изменять их по мере надобности после приобретения опыта моделирования.

В процессе моделирования программа PSpice генерирует различные сообщения, которые передаются в выходной файл и файл данных для программы Probe. Список сообщений о специфических ошибках в процессе, моделирования цифровых устройств приведен в табл. 5.2.

Статистические сведения о задании выводятся в выходной файл с расширением .OUT при введении опции АССТ в директиве .OPTION. Перечень выводимых данных приведен в табл. 4.8.

Таблица 4.8. Данные, помещаемые в выходном файле

Параметр

Значение

NUNODS

Количество узлов схемы устройства без учета подсхем

NCNODS

Количество узлов схемы устройства с учетом подсхем

NUMNOD

Общее количество узлов схемы замещения устройства с учетом внутренних узлов встроенных моделей компонентов

NUMEL

Общее количество компонентов устройства с учетом подсхем

DIODES

Количество диодов с учетом подсхем

BJTS

Количество биполярных транзисторов с учетом подсхем

JFETS

Количество полевых транзисторов с учетом подсхем

MFETS

Количество МОП-транзисторов с учетом подсхем

GASFETS

Количество арсенид-галлиевых полевых транзисторов с учетом подсхем

 

Параметр

Значение

IGBTS

Количество статически индуцированных биполярных транзисторов с учетом подсхем

NDIGITAL

Количество цифровых устройств с учетом подсхем

NSTOP

Размерность воображаемой матрицы цепи (фактически не все элементы разреженных матриц хранятся в памяти)

NTTAR

Фактическое количество входов в матрице цепи в начале вычислений

NTTBR

Фактическое количество входов в матрице цепи в конце вычислений

NTTOV

Количество ненулевых элементов матрицы цепи

IFILL

Разность между NTTAR и NTTBR

IOPS

Количество операций с плавающей запятой, необходимых для решения одного матричного уравнения цепи

PERSPA

Степень разреженности матрицы цепи в процентах

NUMTTP

Количество шагов интегрирования переходного процесса

NUMRTP

Количество моментов времени при расчете переходного процесса, при которых шаг интегрирования был слишком велик и расчет повторен с меньшим шагом

NUMNIT

Общее количество итераций при расчете переходного процесса

DIGTP

Количество временных шагов при логическом моделировании

DIGEVT

Количество логических событий

DIGEVL

Количество вычислений логических состояний цифровых устройств

MEMUSE

Размер используемой области ОЗУ в байтах

Matrix solution

Время, затраченное на решение матричного уравнения

Matrix load

Время, затраченное на составление уравнений компонентов

READIN

Время, затраченное на чтение входного файла и поиск ошибок в нем

SETUP

Время, затраченное на формирование матрицы цепи

DC sweep

Время, затраченное на расчет передаточных функций по постоянному току

Bias point

Время, затраченное на расчет режима по постоянному току в рабочей точке

Digital simulation

Время, затраченное на вычисление логических состояний цифровых устройств

AC and noise

Время, затраченное на расчет в частотной области

Transient analysis

Время, затраченное на расчет переходного процесса

Monte Carlo

Время, затраченное на выполнение директив .МС и .WCASE

OUTPUT

Время, затраченное на переформатирование данных, необходимое перед выполнением директив .PRINT и .PLOT

OVERHEAD

Время, затраченное на выполнение задания

Total job time

Общее время выполнения задания, за исключением времени, затраченного на загрузку файлов программы PSpice

 

    Parametric — многовариантный анализ. Вариация параметров назначается по директиве .STEP, имеющей следующие разновидности:
.STEP [LIN] <имя варьируемого параметра> <начальное значение> + <конечное значение> <шаг приращения параметра>

.STEP [ОСТ] [DEC] <имя варьируемого параметра>

+ <начальное значение> <конечное значение> <количество точек>

.STEP <имя варьируемого параметра> LIST < значение>*

На каждом шаге вариации параметров по очереди выполняются все виды анализа характеристик цепи, задаваемых директивами .DC, .AC, .TRAN и др. Варьироваться могут все параметры всех моделей компонентов и глобальные параметры за исключением:

параметров L и W МОП-транзистора (разрешается варьировать аналогичные параметры LD и WD);
температурных коэффициентов TCI, TC2 резисторов и других компонентов.
Приведем примеры:

.STEP VIN -.8 .8 .2 .STEP LIN I2 5mA-2mA-0.1mA

.STEP RES RMOD(R) 0.9 1.1 0.05

.STEP TEMP LIST 0 20 27 50 80

.STEP PARAM VPOWER 4 6 0.2

Ключевое слово PARAM в последнем примере указывает, что после него следует имя глобального параметра, определенного ранее по директиве .PARAM.

Дадим пояснения, как с помощью директивы .STEP организовать многовариантный анализ.

Например, многовариантный анализ переходных процессов при изменении амплитуды А гармоиического сигнала реализуется следующим образом:

.PARAM A=0

VSIGNAL1 OSIN(0{A}1kHz)

.STEP PARAM A LIST 12510 TRAN 0.1ms 5ms

Обратим внимание, что при вариации глобальных параметров их необходимо предварительно объявить по директиве .PARAM.

Изменение сопротивления резистора (и параметров других пассивных компонентов) осуществляется двояко. Во-первых, с помощью глобального параметра

.PARAM P=1

R1 2 О {Р}

.STEP PARAM P 15,45,10

Во-вторых, используя модель резистора

.MODEL RMOD RES(R=15)

R1 2 О RMOD 1

.STEP RES RMOD(R) 15,45,10

Здесь RMOD — имя модели резистора; RES — тип модели; R — имя варьируемого параметра.

В связи с тем, что многовариантный анализ производится также с помощью директив .TEMP, .MC, .WCASE и .DC, в одном задании на моделирование вместе с директивой .STEP разрешается помещать только одну из них. Две директивы .STEP в одном задании не допускаются.

При работе с управляющей оболочкой Schematics спецификация варьируемых параметров выполняется в диалоговом окне, открывающемся после нажатия на кнопку Parametric в меню выбора директив моделирования. Назначение его полей такое же, как и для директивы DC Sweep .

    Sensitivity — чувствительность в режиме по постоянному току.
Чувствительность в режиме малого сигнала рассчитывается по директиве SENS <выходная переменная>*

Чувствительность рассчитывается после линеаризации цепи в окрестности рабочей точки. По директиве .SENS рассчитывается чувствительность каждой из указанных выходных переменных к изменению параметров всех компонентов и моделей. Поэтому объем результатов расчета чувствительностей может быть огромным. Результаты расчета выводятся в файл .out. Выходные переменные указываются по тому же формату, что и в директивах .PRINT для режимов TRAN и DC. При этом накладывается ограничение: если выходная переменная должна быть током, то допускается только ток через независимые источники напряжения.

Приведем пример. Если предположить, что цепь состоит из компонентов R1, R2, С1 и т.д., то по директиве

.SENS V(9) V(4,3) I(VCC)

будут рассчитаны чувствительности

dV(9)/dRl, dV(9)/dR2, dV(9)/dC1, .,,, dV(4,3)/dR1 ...

При работе с управляющей оболочкой Schematics имена выходных переменных указываются в диалоговом окне (рис. 4.13), открывающемся после нажатия на кнопку Sensitivity в меню выбора директив моделирования (рис. 3.49).

    Temperature — вариация температуры. Вариация температуры производится по директиве
.TEMP <температура>*

Здесь указывается список значений температуры (по шкале Цельсия), для которых следует выполнить все указанные в задании директивы анализа характеристик. Если указано несколько значений температуры, то все виды анализа проводятся для каждой температуры. Если директива .TEMP не приведена, а в директиве .OPTIONS не указано другого значения температуры, то расчеты проводятся для номинальной температуры Tnom = 27 °С.

При работе с управляющей оболочкой PSpice Schematics список температур указывается в диалоговом окне, открывающемся после нажатия на кнопку Temperature в меню выбора директив моделирования.

    Transfer Function — передаточные функции по постоянному току. Малосигнальные передаточные функции в режиме по постоянному току рассчитываются по директиве
.TF <выходная переменная> <имя источника напряжения или тока>

Они рассчитываются после линеаризации цепи в окрестности рабочей точки. Выходные переменные имеют тот же формат, что и по директиве .PRINT. Если выходная переменная должна быть током, то это ток через независимый источник напряжения. В качестве входной переменной может быть использовано напряжение или ток источника напряжения или тока. Результаты расчетов выводятся в выходной файл *.OUT без обращения к директивам .PRINT или .PLOT. В программе Probe они не могут быть просмотрены.

Приведем примеры:

.TF V(5)VIN TFV(15, 14)I(VDRIV)

В первом случае рассчитывается передаточная функция dV(5)/dVIN, а во втором — dV(15,H)/dI(VDRIV). Кроме того, всегда рассчитываются входные и выходные сопротивления. При работе с управляющей оболочкой Schematics определение передаточной функции задается в диалоговом окне, открывающемся после нажатия на кнопку Transfer Function в меню выбора директив моделирования— указываются имена выходной и входной переменной.

    Transient — расчет переходных процессов. Переходные процессы рассчитываются по директиве
.TRAN[/OP] <шаг вывода данных> <конечное время> + [<начальный момент времени вывода данных> + [<максимальный шаг>]] [SKIPBP]

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

Величина <шаг вывода данных> используется для вывода данных по директивам .PRINT и .PLOT. При этом для расчета значений переменных применяется квадратичная интерполяция между дискретными отсчетами (это не относится к выводу графиков с помощью программы Probe, где применяется линейная интерполяция). С <шагом вывода данных> рассчитываются с помощью обратного преобразования Лапласа импульсные характеристики управляемых источников, заданных передаточными функциями.

Если задан параметр <начальный момент времени вывода данных>, то вывод результатов расчета подавляется на интервале времени от t = 0 до указанного значения.

Параметр < максимальный шаг> задает максимальное значение шага интегрирования. В частности, его полезно использовать при выполнении спектрального анализа как с помощью директивы .FOUR, так и в программе Probe.

Режим по постоянному току определяет начальные условия для расчета переходных процессов. Это связано с тем, что значения источников сигналов в момент t = 0 могут отличаться от их постоянных составляющих. При этом в выходной файл .out выводятся только значения узловых потенциалов в режиме по постоянному току. Указание в директиве .TRAN суффикса /ОР выводит в этот файл полную информацию о режиме по постоянному току (как по директиве .ОР).

Если в конце директивы .TRAN указать параметр SKIPBP (Skip Bias Point), то расчет режима по постоянному току отменяется. При этом начальные значения напряжений на емкостях и токов через индуктивности указываются в опциях вида IС= ..., включенных в описания конденсаторов и индуктивностей, а начальные значения узловых потенциалов указываются в директиве .IC.

При моделировании смешанных аналого-цифровых цепей шаги интегрирования в аналоговых и цифровых устройствах выбираются разными независимо друг от друга. Шаг интегрирования, указываемый для информации на экране программы PSpice, равен шагу интегрирования аналоговой части цепи. Шаг интегрирования цифровой части определяется значениями задержек в цифровых компонентах. Его минимальное значение определяется параметром DIGFREQ директивы .OPTIONS, оно равно 1/DIGFREQ. По умолчанию DIGFREQ = 10 ГГц, но не более 10 15 /TSTOP. Задержками меньше половины шага интегрирования пренебрегают.

При отсутствии сходимости расчета переходного процесса рекомендуется по директиве .OPTIONS увеличить максимальное количество итераций на одном временном шаге ITL4 (по умолчанию ITL4=10).

Допустимая относительная ошибка расчета токов и напряжений задается опцией RELTOL (по умолчанию 10- 3 ), а абсолютные ошибки токов, зарядов и напряжений — опциями ABSTOL (по умолчанию 10- 12 A), CHGTOL (по умолчанию 10- 14 Кл), VNTOL (по умолчанию 10- 6 В). Однако нельзя устанавливать абсолютные ошибки чрезмерно малыми. В частности, при анализе сильноточных или высоковольтных цепей задание абсолютных ошибок по умолчанию может привести к потере точности вычислений из-за ограниченности разрядной сетки ПК.

Приведем примеры:

.TRAN 5ms 500ms

.TRAN/OP 5ms 500ms 100ms SKIPBP

.TRAN 5ms 500ms Oms 0.5ms

Рассмотрим в качестве более конкретного примера особенности расчета переходных процессов в автогенераторе — транзисторном мультивибраторе (рис. 4.16). Сначала рассчитывается режим мультивибратора по постоянному току в соответствии со следующим заданием:

Multivibrator R1 121k R2 5 0 750 R3 1 3 100k

Рис. 4.7. Схема мультивибратора

R4 1 4100k

R5 1 6 1k

R6 7 0 750

С1 230.01UF

C2460.01UF

Q1 245КТ312А

Q2637KT312A

VP 1 О DC 10V

.LIB QRUS.LIB

PROBE

.END

В результате расчета в выходном файле с расширением *.OUT создается таблица узловых потенциалов

V(1)=10,0000 В,

V(2)=6,3538 В,

V(3)=3,4889 В,

V(4)=3,4889 В,

V(5)=2,7835 В,

V(6)=6,3538 В,

V(7)=2,7835 В.

Если после расчета режима по постоянному току непосредственно перейти к расчету переходных процессов, то мультивибратор, находящийся в одном из состояний равновесия, не возбудится. Предложим два способа возбуждения математической модели мультивибратора.

1. Перед началом переходного процесса с помощью директивы .IC задаются начальные значения узловых потенциалов и (или) с помощью параметра IС=... задаются начальные значения напряжений на конденсаторах, отличные от значений в состоянии равновесия.

.IC V(3)=3.46v

и указать директиву расчета переходных процессов .IRAN 100us 1.2ms

Заметим, что если с помощью директивы .IC и параметров IC в описаниях конденсаторов и индуктивностей полностью описан режим схемы по постоянному току, то перед расчетом переходного процесса этот режим рассчитывать не нужно — этот расчет отменяется с помощью параметра SKIPBP в директиве .TRAN:

TRAN 100us 1.2ms SKIPBP

Кроме того, для получения текущей информации о поведении мультивибратора полезно указать директиву

.WATCH TRAN V(2) V(3) V(6)

Если автоколебания не возникли, то все узловые потенциалы будут сохранять постоянное значение, что будет видно на экране программы PSpice и позволит прервать моделирование.

2. Имитируется включение напряжения питания, задавая источник напряжения в виде импульсной функции с линейным передним фронтом и длительностью, равной конечному времени анализа (тогда ее можно явно не указывать)

VP 1 0 PULSE (Ov, 10v, 50us)

Кроме того, для обеспечения самовозбуждения мультивибратора необходимо нарушить симметрию схемы, изменив, например, одно из сопротивлений на 1 %:

R1 1 21.01k

Спектральный анализ проводится по директиве

.FOUR <частота первой гармоники f1> [количество гармоник] + <выходная переменная>*

Спектральный анализ производится с помощью быстрого преобразования Фурье (БПФ) после завершения расчета переходного процесса (в задании на моделирование должна иметься и директива .TRAN). Имена переменных, спектр которых должен быть рассчитан, указываются в списке <выходная переменная>. В директиве .FOUR задается частота первой гармоники f 1 и количество гармоник. Максимальное количество гармоник п = 100. По умолчанию рассчитываются первые 9 гармоник. В программе рассчитываются амплитуды постоянной составляющей А 0 и остальных п гармоник А 1 , A 2 „ ..., A п . Спектральному анализу подвергается участок реализации переходного процесса длительностью Т = 1/f 1 в конце интервала анализа (чтобы завершились переходные процессы). Результаты спектрального анализа выводятся в выходной файл *.OUT в виде таблиц без указания директив .PRINT, .PLOT или .PROBE (в программе Probe они недоступны). Кроме того, рассчитывается коэффициент нелинейных искажений (в процентах) по формуле

Для повышения точности расчета спектров рекомендуется с помощью параметра < максимальный шаг> задать максимальное значение шага интегрирования, равное требуемой величине шага дискретизации по времени.

Приведем пример:

.FOUR 10KHZ 15 V(5) V(6,7) I(VSENS3)

Спецификация выходных переменных составляется по тем же правилам, что в директивах .PRINT или .PLOT. Заметим, что спектральный анализ производится также при обработке данных в графическом постпроцессоре Probe (см. разд. 5.1). Различие состоит в том, что при этом спектральному анализу подвергается целиком весь график, изображенный на экране дисплея, или его часть, размер которой указывается пользователем. При расчете спектров сигналов максимальное количество отсчетов равно 8192 = 2 13 .

При работе с управляющей оболочкой PSpice Schematics определение параметров расчета переходных процессов задается в диалоговом окн, открывающемся после нажатия на кнопку Transient в меню выбора директив моделирования.

В разделе Transient Analysis необходимо задать по крайней мере два параметра:

Print Step — шаг вывода данных;
Final Time — конечное время.
Остальные параметры No-Print Delay (начальный момент вывода данных) и Step Ceiling (максимальный шаг) являются необязательными.

На панели Detailed Bias Pt. отмечается необходимость вывода полной информации о режиме по постоянному току, на панели Skip initial transient solution — отмена расчета режима по постоянному току перед моделированием переходных процессов.

Спектральный анализ выполняется выбором панели Enable Fourier.

Замечание.

Спектральный анализ, основанный на дискретном преобразовании Фурье результатов численного интегрирования дифференциальных уравнений, обладает невысокой точностью. Поэтому область применения PSpice — анализ спектров сигналов при большом уровне нелинейных искажений. Большей точностью обладают программы, использующие метод гармонического баланса, такие как Microwave Office фирмы Applied Wave Research.

14. Задание начальных условий. Начальные значения узловых потенциалов по постоянному току задаются по директиве

.IC V(<HOMep узла>[,<номер узла>}) = Оначение ЭДС>*

Приведем пример

.IC V(5)=1.24V(IN)=0

К'указанным узлам подключаются источники постоянного напряжения с внутренним сопротивлением 0,0002 Ом, и рассчитывается режим по постоянному току. После завершения расчета эти источники отключаются — так задаются начальные значения узловых потенциалов перед расчетом переходных процессов.

Если в задании имеются и директива .NODESET, и директива .IC, то первая не будет выполняться при расчете режима по постоянному току перед началом анализа переходных процессов.

Задание начального приближения узловых потенциалов по постоянному току производится по директиве

.NODESET <V(<узел>[,<узел>])=<значение ЭДС>>*

Приведем пример

.NODESET V(9)=5.6 V(8,2)=4.95

Эта директива назначает начальное значение указанных потенциалов на нулевой итерации при расчете режима по постоянному току как в режиме DC, так и при расчете переходных процессов (в режиме DC Sweep она выполняется только на первом шаге варьирования источников напряжения). Если заданные значения узловых потенциалов близки к точному решению, то процесс итерационного расчета режима по постоянному току завершается за меньшее количество итераций. Эта директива полезна при расчете очень больших схем по частям и расчете схем с несколькими устойчивыми состояниями.

15. Управление выдачей результатов. Результаты расчетов в виде таблиц выводятся в выходной файл с расширением *.OUT по директиве

.PRINT[/DGTLCHG] [DC] [IRAN] [AC] [NOISE] <выходная переменная>*

В одной директиве .PRINT можно выбрать только один вид анализа и привести список не более восьми выходных переменных. Одновременно в задании на моделирование можно поместить несколько таких директив. В таблицах каждая колонка соответствует одной переменной. В первой колонке помещается независимая переменная: постоянное напряжение (режим DC), время (режим TRAN) или частота (режим АС). Количество значащих цифр данных и максимальное количество строк в таблице определяются опциями NUMDGT и LIMPTS директивы .OPTIONS. Формат выходных переменных описан ниже. Приведем примеры:

PRINT DC V(3) V(2,3) I(VIN)

PRINT AC VM(2) VP(2) VDB(5) IR(6)

PRINT TRAN V(1) V(R1) V([RESET])

В последнем примере нецифровое имя узла RESET, начинающееся с буквы, заключено в квадратные скобки, чтобы отличить его от имени компонента.

Логические состояния цифровых компонентов выводятся на внешние устройства после окончания моделирования обычным образом. В общем случае спецификация <выходная переменная> цифровых узлов имеет вид:

D(<имя узла>)

Однако при наличии параметра /DGTLCHG префикс D можно опустить. Поэтому следующие две директивы вывода на печать логических состояний цифровых узлов SET и Q1 эквивалентны

PRINT IRAN D(SET) D(Q1)

PRINT/DGTLCHG IRAN SET Q1

Различие этих директив заключается в том, что по директиве .PRINT на печать выводятся состояния как цифровых, так и аналоговых узлов, а по директиве .PRINT/DGTLCHG — только цифровых.

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

.PLOT [DC] [AC] [NOISE] [TRAN] <выходная переменная>* + [(<нижняя граница>,<верхняя граница>)]*

Смысл параметров такой же, что и в директиве .PRINT. Графики выводятся с помощью буквенно-цифровых символов независимо от типа печатающего устройства, в частности, на АЦПУ старых ЭВМ, для которых была создана программа SPICE. Однако директивой .PLOT пользоваться на современных ПК не имеет смысла. На одном графике помещается до восьми кривых, причем количество директив .PLOT в одном задании не ограничено. Диапазон по оси X указан в директиве, устанавливающей вид анализа, а диапазон по оси Y определяется с помощью параметров <нижняя граница>, <верхняя граница> или автоматически. Приведем примеры:

PLOT DC V(3) V(2,3) V(R1) I(VIN)

PLOT AC VM(2) VP(2) VM(3,4) VG(5)

PLOT NOISE INOISE ONOISE .

PLOT TRAN V(3) V(2,3) (0,5V) ID(M2) (-50mA, 50mA)

Графический постпроцессор Probe подключается директивой .PROBE[/CSDF] [<выходная переменная>*]

Если список выходных переменных не указан, то в файл результатов с расширением имени .DAT заносятся потенциалы всех узлов цепи и токи всех компонентов, разрешенных для помещения в список выходных переменных (см. ниже). Обратим внимание на то, что при этом файл результатов может иметь огромные размеры и не поместиться в ОЗУ. Указание конкретного списка выходных переменных, передаваемых в программу Probe через файл с расширением .DAT, сокращает размер этого файла. Приведем примеры:

PROBE

.PROBE V(3) V(2,3) VM(2) VP(2)

Обратим внимание, что в файл данных *.DAT всегда помещаются уровни внутреннего шума INOISE, ONOISE и данные о кривых гистерезиса магнитных сердечников В(Н), поэтому при наличии списка выходных переменных их в него включать не надо.

По директиве .PROBE/CSDF создается файл результатов в текстовом виде с расширением имени *.ТХТ, который можно использовать для обмена данными с

ЭВМ других типов и для сопряжения с программами дополнительной обработки результатов.

Если в управляющей оболочке PSpice Schematics в меню Analysis>Probe Setup активизирована опция Automatically Run Probe After Simulation, то результаты расчетов автоматически передаются в программу Probe после завершения работы PSpice. При выборе опции Monitor Waveforms вывод графиков на экран программы Probe начинается одновременно с началом моделирования

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

.VECTOR <количество узлов> <номер узла>*

+ [POS=< позиция столбца в таблице>

+ [FILЕ=<1шя файла>] [RADIX=" Binary" | "Hex" | "Octal"

бита>}] [SIGNАМЕS=<шиена сигналов>]

В файл заносятся значения моментов времени и логические уровни сигналов в перечисленных узлах. Формат файла такой же, какой применяется при создании файла цифрового генератора FSTIM. Приведем примеры:

.VECTOR 1 CLOCK SIGNAMES=SYSCLK

.VECTOR 4 DAT A3 DATA2 DATA1 DAT А0

.VECTOR 1 ADDR3 POS=2 RADIX=H BIT=4

.VECTOR 1 ADDR2 POS=2 RADIX=H BIT=3

.VECTOR 1 ADDR1 POS=2 RADIX=H BIT=2

.VECTOR 1 ADDRO POS=2 RADIX=H BIT=1

По умолчанию создается файл, имеющий имя текущей схемы с расширением *.VEC.

Выдача текущих результатов анализа производится по директиве

.WATCH [DC] [AC] [TRAM] [<выходная переменная> + [<нижний предел>,<верхний предел>] ]*

В процессе работы программы PSpice в нижней части экрана в текстовой форме выводятся значения до 3-х выходных переменных типа V или I (арифметические выражения недопустимы). Каждая переменная может иметь свои пределы. Если ее текущее значение выходит за эти пределы — раздается звуковой сигнал, после чего пользователь может прекратить расчеты или не обращать на это внимание. В последнем случае программа больше не будет проверять нахождение переменных в указанных пределах. Для каждого вида анализа DC, AC, TRAN записывается отдельная директива .WATCH. При этом недоступен вывод группового времени запаздывания (в режиме АС) и состояний цифровых узлов.

Длина строки выходного файла устанавливается директивой

.WIDTH OUT = <значение>

Параметр <значение> устанавливает количество колонок в выходном файле: 80 (по умолчанию) или 132.

Выходные переменные. Опишем, как составляются имена выходных переменных, используемых в директивах .PRINT, .PLOT и .PROBE. В разных видах анализа имена несколько различаются.

1. Режимы DC и TRAN. При расчете режима по постоянному току и переходных процессов используются выходные переменные, приведенные в табл. 4.9.

Таблица 4.9. Выходные переменные при анализе переходных процессов

Общая форма

Пример

Пояснение

V(<узел>)

V(2)

Потенциал узла

V(<+узея>, <-узел>)

V(2,4)

Разность потенциалов узла

V(<имя >)

V(R1)

Разность потенциалов между выводами двухполюсного компонента

Vх(<имя>)

VB(Q1)

Потенциал вывода многополюсного компонента

Vу(<имя>)

VCE(Q3)

Разность потенциалов между выводами многополюсного компонента

Vxy(<имя>)

VA(T2)

Напряжение на входе или выходе линии передачи (z = A — вход, z = В — выход)

I(<имя>)

K(D5)

Ток через двухполюсный компонент

Iх(<имя>)

IB(Q1)

Ток через указанный вывод многополюсного компонента

Iz(<имя>)

IA(T3)

Ток через входные или выходные зажимы линии передачи (z = A — вход, z = В — выход)

В спецификации переменных V(<uмя>), I(<имя>) параметр <имя> указывает на один из двухполюсных компонентов, имена которых начинаются со следующих букв: С — конденсатор; D — диод; Е — ИНУН; F — ИТУТ; G — ИТУН; Н — ИНУТ; I — независимый источник тока; L — индуктивность; R — резистор; S — ключ, управляемый напряжением; V — независимый источник напряжения; W — ключ, управляемый током.

В спецификациях переменных V х(<имя>), Vху(<имя>) и I х(<имя>) параметр <имя> указывает имя трехполюсного или четырехполюсного компонента, а х и у — аббревиатуры их выводов (см. табл. 4.10).

Таблица 4.10. Имена трех- и четырехполюсных компонентов

Первая буква имени

Компонент

Аббревиатура вывода

В

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

D (сток) G (затвор) S (исток)

J

Полевой транзистор

D (сток) G (затвор) S (исток)

М

МОП-транзистор

D (сток) G (затвор) S (исток) В (подложка)

Q

Биполярный транзистор

С (коллектор) В (база) Е (эмиттер) S (подложка)

 

Первая буква имени

Компонент

Аббревиатура вывода

Т

Линия передачи

VA (входное напряжение) IA (входной ток) VB (выходное напряжение) IB (выходной ток)

Z

Статически индуцированный биполярный транзистор

С (коллектор) G (затвор)

Е (эмиттер)

Например, напряжение коллектор — база транзистора Q3 обозначается как VCB(Q3). В спецификациях переменных VZ(<UMH>), Iz(<имя>) в качестве параметра <имя> указывается имя линии передачи (начинается с буквы Т), а символ 2 принимает два значения: А — вход, В — выход линии передачи.

2. Режим АС. При выводе результатов расчета частотных характеристик к именам переменных, перечисленным выше, добавляются суффиксы, перечисленные в табл. 4.11.

Таблица 4.11. Суффиксы переменных при расчете частотных характеристик

Суффикс

Пример

Пояснение


V(2,3)

Модуль

М

VM(2)

Модуль

DB

VDB(Rl)

Модуль в децибелах

Р

VCEP(Q3)

Фаза в радианах

G

IAGCT2)

Групповое запаздывание

R

IR(VIN)

Действительная часть

I

IKR13)

Мнимая часть

В отличие от режимов DC и TRAN в режиме АС возможен вывод токов не всех компонентов, а только следующих: R — резисторы; С — конденсаторы; I — независимые источники тока; L — индуктивности; Т — линии передачи; V — независимые источники напряжения. Для вывода токов других устройств необходимо последовательно с ними включить независимый источник напряжения с нулевой ЭДС и затем указать спецификацию тока этого источника.

3. Анализ уровня внутреннего шума. При расчете уровня внутреннего шума имена выходных переменных имеют стандартный вид:

INOISE — эквивалентный уровень шумового напряжения или тока на входе цепи, равный
ONOISE — уровень напряжения шума на выходе, равный корень (S U вых (f);)
DB(INOISE) — эквивалентный уровень шумового напряжения или тока на входе в децибелах;
DB(ONOISE) — уровень напряжения шума на выходе в децибелах.
В программе Probe корень квадратный из спектральной плотности напряжения и тока внутреннего шума выводится в виде V(INOISE), I(INOISE), V(ONOISE).

Кроме того, доступны и парциальные спектральные плотности напряжения выходного шума, обусловленные отдельными источниками шума: шумом отдельного резистора, отдельной составляющей шумов транзистора и общим шумом от каждого транзистора и т.п. Типы этих составляющих спектральных плотностей шума приведены в табл. 4.12.

Таблица 4.12. Обозначения составляющих спектральных плотностей шума

Тип компонента

Тип шума

Пояснения

В (арсенид-галлиевый полевой транзистор

FID

Фликкер-шум

RD

Тепловой шум сопротивления RD

RG

Тепловой шум сопротивления RG

RS

Тепловой шум сопротивления RS

SID

Дробовой шум

ТОТ

Общий шум

D (диод)

FID

Фликкер-шум

RS

Тепловой шум сопротивления RS

SID

Дробовой шум

ТОТ

Общий шум

Digital Input

RHI

Тепловой шум сопротивления RHI

RLO

Тепловой шум сопротивления RLO

ТОТ

Общий шум

Digital Output

ТОТ

Общий шум

J (полевой транзистор)

FID

Фликкер-шум

RD

Тепловой шум сопротивления RD

RG

Тепловой шум сопротивления RG

RS

Тепловой шум сопротивления RS

SID

Дробовой шум

TOT

Общий шум

M (МОП-транзистор)

FID

Фликкер-шум

RB

Тепловой шум сопротивления RB

RD

Тепловой шум сопротивления RD

RG

Тепловой шум сопротивления RG

RS

Тепловой шум сопротивления RS

SID

Дробовой шум

TOT

Общий шум

 

Тип компонента

Тип шума

Пояснения

Q (BJT)

FID

Фликкер-шум

RB

Тепловой шум сопротивления RB

RD

Тепловой шум сопротивления RD

RC

Тепловой шум сопротивления RC

RE

Тепловой шум сопротивления RE

SIB

Дробовой шум тока базы

SIC

Дробовой шум тока коллектора

ТОТ

Общий шум

R (резистор)

ТОТ

Общий шум

Iswitch (ключ)

ТОТ

Общий шум

Vswitch (ключ)

тот

Общий шум

 

Примечания.

1. Парциальные шумы статически индуцированных биполярных транзисторов IGBT в данной версии PSpice не рассчитываются.

2. Спектральная плотность напряжения шума имеет размерность В 2 /Гц.

3. При построении графиков спектральной плотности шума в программе Probe к имени типа составляющей шума добавляется префикс N. Приведем примеры: NFIB(Q1) означает вклад в спектральную плотность выходного шума флик-кер-шума транзистора Q1, NTOT(Q1) — вклад шума транзистора Q1; NTOT(Rl) — вклад шума резистора Rl; NTOT(ONOISE) — суммарная спектральная плотность выходного шума, причем NTOT(ONOISE) = V(ONOISE) 2 .

16. Вспомогательные файлы, определение параметров и функций.

Функции, определяемые пользователем, задаются по директиве

.FUNC <имя функции>([<аргумент>*]) {<тело>}

Количество аргументов находится в пределах от 1 до 10. Имя функции назначает пользователь, но оно не должно совпадать с именами встроенных функций, например SIN и др. Тело функции, содержащее ее описание, состоит из арифметических выражений и стандартных функций и заключается в фигурные скобки {}. Если аргументы отсутствуют, круглые скобки ( ) все равно нужны. Определение функции в задании на моделирование должно предшествовать ее использованию. Тело функции можно записывать на нескольких строках, помещая символ «+» в первой позиции строки продолжения. Приведем примеры:

. FUNC DR(D) D/57.296

.FUNC E(X) ЕХР(Х)

.FUNC APBX(A.B.X) А+В*Х

.FUNCP()SIN(0.19634954)

Набор стандартных функций целесообразно записывать в файлы и подключать их к заданию на моделирование директивой .INC.

Глобальные параметры задаются директивами вида .PARAM «имя параметра>=< значение»* .PARAM «имя параметра>={<выражение>}>*

Значения параметров могут быть константами или выражениями, содержащими константы или другие параметры. Выражения должны заключаться в фигурные скобки { }. Введем, например, параметры pi = л, pi2 = 2л, напряжение источника питания VPOWER=5 и используем один из них при описании емкости конденсатора С1:

.PARAM pi=3.14159265, pi2=6.2831853, VPOWER=5v

.PARAM VNUM = {8*pi} C1 20{1/(pi2*10kHz*5k)}

Имена вводимых параметров не должны совпадать с именем текущего времени TIME и именами стандартных параметров:

GMIN — минимальная проводимость;
TEMP — текущая температура;
VT — температурный потенциал р-л-перехода.
Директиву .PARAM можно использовать внутри описания макромодели для создания локальных параметров. С помощью параметров можно определять все параметры моделей устройств и большинство параметров компонентов и директив, за исключением:

температурных коэффициентов резистора TCI, TC2, задаваемых в описании резистора на схеме (в модели резистора это, конечно, допускается);
параметров кусочно-линейного источника сигнала PWL;
линейных и полиномиальных коэффициентов зависимых линейных источников всех типов Е, F, G и Н (для этого рекомендуется использовать нелинейные источники).
Параметры нельзя использовать для именования узлов цепи и задания значений переменных в директивах моделирования .AC, .DC и др.

Директивы .PARAM можно помещать в библиотечные файлы. В процессе поиска параметров сначала просматривается задание на моделирование, а затем все подсоединенные файлы.

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

.LIB ["имя файла библиотеки"]

В файле библиотеки с указанным именем содержится описание встроенных моделей одного или нескольких компонентов (параметры каждого компонента вводятся по директиве .MODEL) или подсхем (описанных с помощью директив .SUBCKT/.ENDS). В этом же файле могут быть помещены комментарии и обращения к другим директивам .LIB.

При указании в задании на моделирование имени какого-либо конкретного компонента, модель которого содержится в библиотечном файле, в ОЗУ загружается не весь файл, а только его часть, относящаяся к данному компоненту.

Приведем примеры:

.LIB "KT315A.mod" — подключение файла описания модели транзистора КТ315А;

.LIB "QRUS.lib" — подключение файла библиотеки отечественных биполярных транзисторов;

.LIB "D:\PSPICE\LIB\diode.lib" — подключение библиотеки диодов, находящейся на диске С: в подкаталоге LIB каталога PSPICE.

В каталоге \OrCAD\Library\PSpice может находиться файл каталога библиотек NOM.LIB, в нем перечислены директивы подключения всех используемых библиотек.

Приведем пример этого файла, создаваемого пользователем:

.LIB "D:\PSPICE\LIB\qrus.lib"

.LIB "D:\PSPICE\LIB\d.lib"

.LIB "D:\PSPICE\LIB\digit.lib"

В таком случае в задании на моделирование указывается директива .LIB без параметров.

При работе с графическим редактором PSpice Schematics подключение библиотек производится по команде Analysis>Library and Include Files. Причем опции, помеченные звездочкой «*», делают выбранный библиотечный файл доступным для всех схем, без звездочки — только для текущей схемы.

Индексные файлы библиотек. В программе PSpice для ускорения поиска нужной модели в библиотечном файле введены индексные файлы, имеющие расширение *.IND. Они создаются автоматически при первом обращении по директиве .LIB к библиотеке, в которой произведены изменения. Обратим внимание на то, что создание индексного файла требует больших затрат машинного времени, поэтому часто изменяемую часть библиотечного файла целесообразно оформить в виде отдельного файла.

Произвольный файл включается в текст задания на моделирование по директиве

.INC <"имя файла"> Например,

.INC "band.cif

.INC "D:\ORCAD\PSPICE\LIBRARY\diode.mod"

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

При работе с графическим редактором PSpice Schematics подключение произвольных текстовых файлов производится по команде Analysis>Library and Include Files.

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

.END

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

17. Прочие директивы. Задание текстовых переменных, текстовых выражений и имен файлов производится по директиве

.TEXT «имя> = "<имя файла>">*

.TEXT «имя> = |<текстовое выражение>|>*

Директива .TEXT используется только при моделировании цифровых устройств. Текстовые параметры используются в следующих случаях:

для указания имени Intel Hex-файла для программирования ПЗУ или начальной записи в ОЗУ;
для указания имени файла генератора цифровых сигналов FSTIM;
для задания текстового параметра макромодели;
как часть текстового выражения, используемого в указанных выше целях.
Спецификация внешних портов выполняется по директиве .EXTERNAL <атрибут> <имя узла>*

Параметр <атрибут> принимает одно из значений INPUT (входной), OUTPUT (выходной) или BIDIRECTIONAL (двунаправленный) в соответствии с назначением порта. Внешние порты предназначены для подсоединения периферийных устройств (например, генераторов сигналов) к моделируемой схеме. Приведем примеры

.EXTERNAL INPUT Datal, Data2, Data3

.EXTERNAL OUTPUT P1

.EXTERNAL BIDIRECTIONAL BPortl BPort2 BPortS

Задание имени файла с описанием внешних воздействий выполняется по директиве

.STIMLIB <имя файла[.stl}>

Файл описания внешних сигналов с расширением *.STL создается программой Stimulus Editor (разд. 5.2) и делается доступным для моделирования с помощью этой директивы. Расширение имени файла, в том числе и *.STL, указывать обязательно. Задание внешних воздействий выполняется с помощью директивы

.STIMULUS <имя сигнала> <тип> <параметры>* Приведем примеры

.STIMULUS InputPulse PULSE (-1mv 1mv 2ns 2ns 50ns 100ns)

.STIMULUS DigitalPulse STIM (1,1)

+ 0s1

+10ns0

+ 20ns 1

.STIMULUS 50KHZSIN SIN (0 5 50kHz 000)

Директива .STIMULUS вносится в библиотеки воздействий, созданных с помощью программы Stimulus Editor. Каждое воздействие имеет имя <имя сигнала>, присваиваемое источникам напряжения или тока (типа V или I) или источникам цифровых сигналов (типа STIM).

 

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


Параметры компонентов указываются двумя способами: 1) непосредственно в предложении, описывающем включение компонента в схему; 2) с помощью директивы .MODEL, имеющей структуру:

.MODEL <имя модели> [АКО:<имя модели прототипа>]

+ <имя типа модели>

+ ([<имя параметра>= <значение>

+ [<спецификация случайного разброса значения параметра>]]*

+ [Т_МЕАSURED=<значеншг>] [[Т_АВ8>=<значение>] или

+ [Т_REL_СLОВАL=<значение>] или [Т_REL_LOCAL=<значекие>]])

Здесь <имя модели> — имя модели компонента схемы, например RLOAD, KT315V, D104. После ключевого слова АКО (A Kind Of) помещается ссылка на имя модели прототипа, что позволяет указывать только значения различающихся параметров. Тип компонента определяется <именем типа модели>, как указано в табл. 4.13.

Таблица 4.13. Имена типов аналоговых и цифровых компонентов

Имя типа модели

Тип компонента

Аналоговые компоненты

САР

Конденсатор

CORE

Магнитный сердечник трансформатора

D

Диод

GASFET

Арсенид-галлиевый полевой транзистор с каналом п-типа

IND

Индуктивность

ISWITCH

Ключ

LPNP

Боковой биполярный р-л-р-транзистор

NIGBT

Статически индуцированный биполярный транзистор

NJF

Полевой транзистор с каналом л-типа

NMOS

МОП-транзистор с каналом л-типа

NPN

Биполярный л-р-я-транзистор

PJF

Полевой транзистор с каналом р-типа

PMOS

МОП-транзистор с каналом р-типа

PNP

Биполярный р-л-р-транзистор

RES

Резистор

TRN

Линия передачи

VSWITCH

Ключ

Устройства интерфейса

DINPUT

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

DOUTPUT

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

 

Имя типа модели

Тип компонента

Цифровые устройства

UADC

Аналого-цифровой преобразователь

UBTG

Двунаправленный переключающий вентиль

UDAC

Цифроаналоговый преобразователь

UDLY

Цифровая линия задержки

UEFF

Триггер с динамическим управлением

UGATE

Стандартный вентиль

UGFF

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

UIO

Модель входа /выхода цифрового устройства

UPLD

Программируемые логические матрицы

UROM

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

URAM

Оперативное запоминающее устройство

UTGATE

Вентиль с тремя состояниями

В директиве .MODEL в круглых скобках указывается список значений параметров модели компонента (если этот список отсутствует или не полный, то недостающие значения параметров модели назначаются по умолчанию). Приведем примеры этой директивы:

.MODEL RLOAD RES (R=1.5 TC1=0.2 TC2=.005)

.MODEL D104D(IS=1E-10)

.MODEL KT315V NPN (IS=1E-11 BF=50 DEV=5% LOT=20%)

.MODEL CK CAP (C=1 DEV=0.1)

.MODEL KT315G AKO:KT315A NPN (BF=130)

Каждый параметр может принимать случайные значения относительно своего номинального значения в соответствии со < спецификацией случайного'разброса значения параметра>, принимаемой во внимание только при статистическом анализе по директивам .МС и .WCASE (п. 4.1.2). Имеются два способа задания температур пассивных компонентов и полупроводниковых приборов (С, L, R, В, D, J, M, Q и Z). Во-первых, по директиве .MODEL задается температура, при которой измерены входящие в нее параметры:

Т_МЕАSUARED=<значение>

Это значение заменяет температуру Tnom, устанавливаемую по директиве .OPTIONS (по умолчанию 27 °С). Во-вторых, можно установить физическую температуру каждого устройства, заменяя глобальную температуру, устанавливаемую по директивам .TEMP, .STEP TEMP или .DC TEMP. Это возможно сделать, задавая:

1) значение абсолютной температуры устройства T_ABS;

2) относительную температуру T_REL_GLOBAL, так что абсолютная температура равна глобальной температуре плюс значение параметра T_REL_GLOBAL;

3) относительную температуру T_REL_LOCAL, так что абсолютная температура данного устройства равна абсолютной температуре устройства-прототипа (модель АКО) плюс значение параметра T_REL_LOCAL.

Описания аналого-цифровых (О) и цифроаналоговых (N) интерфейсов и цифровых устройств (U) приведены в разд. 4.3. Здесь же дадим правила описания аналоговых компонентов.

 

4.2.1. Пассивные компоненты


Резисторы описываются предложением

Rxxx <+узел> <-узел> [имя модели] <значение> [ТС=<ТС1>[,<TС2>]]

Здесь ххх — произвольная алфавитно-цифровая последовательность общей длиной не более 7 символов, которая пишется слитно с символом R и вместе с ним образует имя компонента. Например:

R1 1502К

RGEN 1 2 2.4Е4 ТС=0.005

R12 3 О RTEMP 5K

.MODEL RTEMP RES (R=3 DEV=5%TC1=0.01)

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

Таблица 4.14. Параметры модели резистора

Обозначение

Параметр

Размерность

Значение по умолчанию

R

Масштабный множитель сопротивления


1

ТС1

Линейный температурный коэффициент сопротивления

°с-1

0

ТС2

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

о С -2

0

ТСЕ

Экспоненциальный температурный коэффициент сопротивления

°с

0

T_MEASURED

Температура измерения

°с


T_ABS

Абсолютная температура

°с


T_REL_GLOBAL

Относительная температура

°с


T_REL_LOCAL

Разность между температурой устройства и модели-прототипа

°с


Если в описании резистора <имя модели> опущено, то его сопротивление равно параметру <сопротивление> в омах. Если <имя модели> указано и в директиве .MODEL отсутствует параметр ТСЕ, то сопротивление резистора определяется выражением

<значение>-& [ 1+ТС1 (T-Tnom)+TC2(T-Tnom) 2 ];

Если параметр ТСЕ указан, то сопротивление равно <значение>R*1,01 ТСЕ(т " Тпоm)

Здесь Т — текущее значение температуры (указывается по директиве .TEMP); Tnom= 27 °С — номинальная температура (указывается по директиве .OPTIONS).

Параметр <значение> может быть как положительным, так и отрицательным, но не равным нулю.

Спектральная плотность теплового тока резистора рассчитывается по формуле Найквиста S i (f)=4kT/<сопротивление>. Для резисторов с отрицательным сопротивлением в этой формуле берется абсолютное значение сопротивления.

Направление падения напряжения на резисторе (как и на произвольном двухполюсном компоненте) и тока через него указаны на рис. 4.8, а.

а)

б)

в)

Рис. 4.8. Типовые двухполюсники: а — резистор; б — источник тока; в — источник напряжения

Конденсатор описывается предложением

Сххх <+узел> <-узел> [имя модели] <значение> + [IС=< начальное значение напряжения>]

Например:

С1 15056pF

C2390.5pFIC=1.5V

C346CMOD10uF

.MODEL CMOD CAP(C=2.5 TC1=0.01 VC1=0.2)

Параметры модели конденсатора приведены в табл.4.15.

Таблица 4.15. Параметры модели конденсатора

Обозначение

Параметр

Размерность

Значение по умолчанию

С

Масштабный множитель емкости


1

VC1

Линейный коэффициент напряжения

в -1


VC2

Квадратичный коэффициент напряжения

в- 2


ТС1

Линейный температурный коэффициент емкости

о С -1

0

ТС2

Квадратичный температурный коэффициент емкости

о С -2

0

T_MEASURED

Температура измерения

°с


T_ABS

Абсолютная температура

°с


 

Обозначение

Параметр

Размерность

Значение по умолчанию

T_REL_GLOBAL

Относительная температура

°С


T_REL_LOCAL

Разность между температурой устройства и модели-прототипа

°С


Если в описании конденсатора <имя модели> опущено, то его емкость равна параметру <значение> в фарадах, в противном случае она определяется выражением

<значение>-С(1+VVСV+VС2.V 2 )[1+ТС1(Т-Тпоm) + TC2(T-Tnom) 2 ].

Здесь V — напряжение на конденсаторе при расчете переходных процессов (режим TRAN). При расчете частотных характеристик (режим АС) емкость считается постоянной величиной, определяемой в рабочей точке по постоянному току.

После ключевого слова IC указывается значение напряжения на конденсаторе при расчете режима по постоянному току, которое при расчете переходных процессов служит начальным значением этого напряжения.

Индуктивность описывается предложением

Lxxx<+yзел> <-узел> [имя модели] <значение> + [IС=< начальное значение тока>]

Например:

L1 15020mH

L2 1 2 0.2Е-6

L3 4 6 2VH Ю=2

LOAD 5 12 LMOD 0.03

.MODEL LMOD IND (L=2 DEV=20% IL1=0.1)

Параметры модели индуктивности приведены в табл. 4.16.

Таблица 4.16. Параметры модели индуктивности

Обозначение

Параметр

Размерность

Значение по умолчанию

L

Масштабный множитель индуктивности


1

IC1

Линейный коэффициент тока

А -1


IC2

Квадратичный коэффициент тока

А -2


ТС1

Линейный температурный коэффициент индуктивности

C- 1

0

ТС2

Квадратичный температурный коэффициент индуктивности

C- 2

0

T_MEASURED

Температура измерений

°С


Т_АВС

Абсолютная температура

°С


T_REL_GLOBAL

Относительная температура

°С


T_REL_LOCAL

Разность между температурой устройства и модели-прототипа

°С


Если в описании опущено <имя модели>, то индуктивность равна параметру <значение> в генри, в противном случае она определяется выражением

<значение>- L( 1+IL1.1+IL2.I 2 )[ I+TC1 (T-Tnom)+TC2(T-Tnom) 2 ].

Здесь I — ток через катушку индуктивности при расчете переходных процессов (режим TRAN). При расчете частотных характеристик (режим АС) индуктивность считается постоянной величиной, определяемой в рабочей точке по постоянному току.

После ключевого слова IC указывается значение тока через катушку индук-тивностей при расчете режима по постоянному току, которое при расчете переходных процессов служит начальным значением этого тока.

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

Кххх Lyyy Lzzz... <коэффициент связи>

Порядок перечисления имен индуктивностей Lyyy, Lzzz, ... безразличен, знак взаимной индуктивности определяется порядком перечисления узлов в описании каждой индуктивности. Параметром взаимной индуктивности является <коэффициент связи>. Если в трансформаторе имеется несколько обмоток, то можно либо определить взаимные индуктивности для каждой попарной комбинации обмоток в отдельных предложениях, либо в одном предложении указать список всех индуктивностей, имеющих одинаковый коэффициент связи. Например, трехобмоточный высокочастотный трансформатор (рис. 4.9) описывается следующим образом:

I1 1 0АС1МА L1 1 010UH L22310UH L33410UH K12L1 L2L30.8

Здесь I1 — источник тока, комплексная амплитуда которого в режиме АС имеет значение 1 мА. Первый узел в описаниях индуктивностей LI, L2, L3 обозначает начало обмотки.

Рис. 4.9. Трехобмоточный трансформатор

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

коэффициент связи = Mij/ (корень LiLj)

где Li Lj — индуктивности обмоток;

M tj — их взаимная индуктивность.

Напряжение на катушке L i с учетом взаимной индукции определяется выражением

Vi = Li *dl i /dt+ Мij*dl i /dt + М ik *dl k /dt+... Магнитный сердечник трансформатора описывается предложением

KxxX Lyyy Lzzz ... <коэффициент связи> <имя модели> + [<масштабный коэффициент>]

На одном сердечнике помещается одна или несколько обмоток с именами Lyyy, Lzzz, ... Все обмотки имеют одинаковый <коэффициент связи>. При описании каждой обмотки Lyyy, упомянутой в составе сердечника, изменяется смысл параметра <значение> — теперь он определяет не индуктивность, а число витков обмотки сердечника. Например, трансформатор с пермаллоевым сердечником МП60 (рис. 4.10) описывается предложениями:

OL1 15 1050; 50 витков

L2 10 0 150; 150 витков

K2L1 L20.99TI125V

.MODEL T1125V CORE (LEVEL=2 MS=334E3 ALPHA=2.5E-2 A=4.05E3 K=166 C=0.05

+ AREA=0.064 PATH=2.25)

Рис. 4.10. Трансформатор с магнитным сердечником

Параметр <масштабный коэффициент> изменяет площадь поперечного сечения магнитопровода (по умолчанию равен единице). Она равна произведению этого коэффициента на параметр модели сердечника AREA.

График кривой намагниченности сердечника выводится на экран (в программе Probe, см. разд. 5.1) при наличии директивы .PROBE; с помощью директив .PRINT и .PLOT эти данные не выводятся.

В программе PSpice используется модель магнитного сердечника, предложенная Джилсом и Атертоном [7]. Она основана на известных представлениях о движении доменных границ магнитных материалов. С ее помощью удается отразить все основные характеристики гистерезиса, такие, как кривая начальной намагниченности, намагниченность насыщения, коэрцитивная сила, остаточная намагниченность и динамические потери на гистерезис.

Существуют две разновидности этой модели — LEVEL = 1 и LEVEL = 2, из которых модель LEVEL = 1 оказалась неудачной и ее исключили из PSpice 8.0. Параметры модели LEVEL = 2 приведены в табл. 4.12.

Таблица 4.17. Параметры модели магнитного сердечника

Имя параметра

Параметр

Размерность

Значение по умолчанию

LEVEL

Индекс модели


2

А

Параметр формы безгистерезисной кривой намагничивания

А/м

10 3

AREA

Площадь поперечного сечения маг-нитопровода

см 2

0,1

С

Постоянная упругого смещения доменных границ


0,2

GAP

Ширина воздушного зазора

см

0

К

Постоянная подвижности доменов

А/м

500

MS

Намагниченность насыщения

А/м

10 6

PACK

Коэффициент заполнения сердечника


1

PATH

Средняя длина магнитной силовой линии

см

1

Параметры AREA, PATH, GAP и PACK определяются геометрическими размерами сердечника, остальные — свойствами магнитного материала.

Линия передачи описывается двояко. Линия передачи без потерь описывается предложением

Тххх <+узел порта А> <—узел порта А> <+узел порта В>

+ <-узел порта В> [имя модели]

+ ZО=<значение> [ТD=<значение>]

+ [F=<значение> [NL=<значение>]]

+ I С=< напряжение на входе А> <ток входа А>

+ <напряжение на входе В> <ток входа В>

Здесь ZO — волновое сопротивление линии (Ом); TD — задержка сигнала в линии (с); NL — электрическая длина линии на частоте F (NL = 1/л, где 1 — геометрическая длина линии, л, — длина волны в линии, по умолчанию NL = 0,25).

Примечание.

Одинаково воспринимаются ZO (буква «О») и ZO (цифра «О»). При описании линии передачи задается параметр TD либо F и NL. Например

Т1 1 2 3 4 ZO50

Т2 1 2 3 4 ZO=75 TD=115ns

ТЗ 1 2 3 4 ZO=75 F=4.5MEG

T4 1 2 3 4 ZO=75 F=4.5MEG NL=0.5

С помощью ключевого слова IC задаются начальные значения напряжений и токов на выводах линии передачи. Схема замещения линии передачи без потерь при расчете переходных процессов или режима по постоянному току изображена на рис. 4.21, а. При расчете частотных характеристик эта линия представляет собой безынерционное звено.

а)

б)

Рис. 4.11. Модель линии передачи без потерь (а) и с их учетом (б)

Линия передач с потерями описывается предложением (рис. 4.11, б):

Тххх <+узел порта А> <-узел порта А> <+узел порта В> <-узел порта В> + [<имя модели> [электрическая длина]] LEN=<значенue> + R=<значение> L=<значение> С=<значение> С=<значение>

Здесь LEN — длина линии (м); R, L, G, С — погонные сопротивление линии (Ом/м), индуктивность (Гн/м), проводимость (См/м), емкость (Ф/м).

В принципе длину линии можно указывать в любых единицах, например в километрах, но тогда нужно соответствующим образом пересчитать значения погонных параметров R, L, G и С.

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

Модель линии передачи описывается предложением:

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

Она характеризуется параметрами, указанными в табл. 4.18.

Таблица 4.18. Параметры модели линии задержки

Обозначение

Параметр

Размерность

Значение по умолчанию

Идеальная линия без потерь

ZO

Волновое сопротивление

Ом


TD

Время задержки сигнала

с


F

Частота для расчета NL

Гц


NL

Электрическая длина на частоте F


0,25

IC

Начальные значения напряжений и токов



Линия с потерями

R

Погонное сопротивление

Ом/м


L

Погонная индуктивность

Гн/м


Обозначение

Параметр

Размерность

Значение по умолчанию

G

Погонная проводимость

См/м


С

Погонная емкость

Ф/м


LEN

Длина линии

м


 

Замечания.

1. Модель линии передачи с потерями требует больших затрат времени при моделировании и не обеспечивает высокую точность расчетов. Поэтому иногда приходится самостоятельно составлять их цепочечные схемы замещения, показанные на рис. 4.11, б (обратим внимание, что в программе PSpice используется другая, встроенная аналитическая модель линии передачи с потерями, требующая больших вычислительных затрат).

2. В представленных моделях можно учесть частотные зависимости погонных параметров R, L и G, существенные при моделировании реальных протяженных линий передачи. Для этого необходимо задать выражения для параметров R(s) и G(s) как функции комплексной переменной s — таким образом имитируется частотная зависимость поверхностного эффекта и потерь в диэлектрике.

3. Линия передачи с потерями при R = G = 0 и LEN = 1 м эквивалентна идеальной линии с волновым сопротивлением ZO = -\JL/C и временем задержки TD = LEN корень( L-C.)

Связанные линии передачи описываются предложением

Кххх 1<имя 1-й линии передачи> 1<имя 2-й линии передачи> + Ст=<взаимная емкость> [Lт-<взаимная индуктивность>

Здесь Cm, Ф/м, и Lm, Гн/м — взаимные емкости и индуктивности связанных линий. Эти параметры представляют собой недиагональные элементы симметричных матриц взаимных емкостей и индуктивностей

 

    | C11 C12 |
|C| = |     |
    | C21 C22 |
где С 12 = C 21 = —Cm, L 12 = L 21 = - Lm.

Диагональные элементы матрицы взаимных емкостей равны

C ii =C ig +Сумма|C ii ,|,

где C ig — погонная емкость i-й линии передачи. Элементы L 11 , L 22 — погонные индуктивности первой и второй линий передач соответственно. Пусть имеются две связанные линии передачи, задаваемые соотношениями

Т1 1 0 2 О R=.31 L=.38u G=6.3u C=70p LEN=1 Т2 3 0 4 О R=.29 L=.33u G=6.0u C=65p LEN=1 К12Т1 Т2 Lm=.04u Cm=6p

Тогда для их моделирования составляются матрицы взаимных емкостей и индуктивностей следующего вида:

    | 75p -6p |
|C| = |     |
    | -6p 71p |

 

    | 0.38u 0.04u |
|L| = |     |
    | 0.04u 0.33u |
Применяемый в программе PSpice метод моделирования связанных линий является приближенным и обеспечивает удовлетворительные результаты для линий с малыми потерями.

 

4.2.2. Идеальные ключи


Ключи, управляемые напряжением или током, используются при расчете переходных процессов.

Ключ, управляемый напряжением, описывается предложением

Sxxx <+узел> <-узел> <+ управляющий узел> <- управляющий узел> + <имя модели>

Здесь <+узел> и <-узел> — номера узлов, к которым подсоединен ключ; <+управляющий узел>, <- управляющий узел> — номера узлов, разность потенциалов которых управляет ключом.

Параметры ключа задаются по директиве

.MODEL <имя модели> VSWITCH (VОN=<значение>VОFF==<значение> +RON=<значение> ROFF=<значеные>)

Параметры модели ключа, управляемого напряжением, приведены в табл. 4.19.

Таблица 4.19. Параметры модели ключа, управляемого напряжением

Обозначение

Параметр

Размерность

Значение по умолчанию

VON

Напряжение замыкания ключа

В

1

VOFF

Напряжение размыкания ключа

В

0

RON

Сопротивление замкнутого ключа

Ом

1

ROFF

Сопротивление разомкнутого ключа

Ом

10 6

Если VON > VOFF, то ключ замкнут при управляющем напряжении Vупр > VON и разомкнут при Vупр < VOFF. На интервале VOFF < Vynp < VON сопротивление ключа плавно изменяется от значения ROFF до RON. Если VON < VOFF, то ключ замкнут при Vynp < VON и разомкнут при Vynp > VOFF. Спектральная плотность тока теплового шума ключа равна S, = 4kT / Rs Ключ, управляемый током независимого источника напряжения, описывается предложением

Wxxx <+узел> <-узел> <имя управляющей ветви> <имя модели>

Здесь <имя управляющей ветви> - имя источника напряжения (его ЭДС может быть равна нулю), ток через который управляет ключом. Параметры ключа задаются по директиве

.MODEL <имя модели> ISWITCH (ION=<значение> IOFF=<значение>

+ RON=<значение> ROFF=<значеные>)

Смысл этих параметров такой же, как для ключа, управляемого напряжением, только параметр ION по умолчанию равен 1 мА. Приведем пример описания ключа, управляемого током:

VCONT 420

W1 6, 3 VCONT SW

.MODEL SW ISWITCH (ION=50MA IOFF=45MA)

Ключ, управляемый во времени, реализуется путем подключения к ключу, управляемому током или напряжением, источника переменного во времени сигнала.

 

4.2.3. Независимые источники сигналов

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

Независимые источники напряжения (V) и тока (I) стандартного вида описываются предложениями

Vxxx <+узел> <-узел> [[DC] <значение>] [АС <модуль> [<фаза>]] + [STIMULUS=<имя сигнала>] + [спецификация сигнала]

Ixxx <+узел> <-узел> [[DC] <значение>] [АС <модуль> [<фаза>]] + [STIMULUS=<имя сигнала>] + [спецификация сигнала]

После ключевого слова STIMULUS указывается имя сигнала, созданного с помощью программы Stimulus Editor. При анализе переходных процессов можно использовать один из стандартных сигналов с помощью конструкции <спецификация сигнала>, имеющей вид:

PULSE <параметры> - импульсный сигнал;

SIN <параметры> - синусоидальный сигнал;

ЕХР <параметры> - сигнал экспоненциальной формы;

PWL <параметры> - кусочно-линейный сигнал;

SFFM <параметры> - гармонический сигнал с синусоидальной частотной модуляцией.

Источники могут использоваться во всех видах анализа. По умолчанию все параметры принимают нулевые значения. Параметр DC определяет постоянную составляющую источника напряжения или тока. Для режима АС задаются модуль и фаза (в градусах) источника гармонического сигнала. Приведем примеры:

IBIAS 1302.3MA

VAC 2 3 АС .001

VACPHS 2 3 АС .001 90

13 26 77 DC 0.002 АС 1 SIN(.002 0.05 1.5MEG)

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

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

ЕХР (y 1 у 2 t d t cr t r t fr )

и описывается выражением

y, при 0 < t < t d ;

У1 + (У 2 -y ( ){l-exp[-(t-t d ) / t cr ]}uput d <t<t/, '

y l+ (y 2 -y l ){l-exp[-(t-t d )/t }- 1 + exp[-(t - t r ) / t lr ]}npu t r < t < TSTEP.

График этой функции приведен на рис. 4.12, а назначение ее параметров объясняется в табл. 4.20.

Таблица 4.20. Параметры экспоненциального сигнала

Обозначение

Параметр

Размерность

Значение по умолчанию

y1

Начальное значение

В или А

-

y2

Максимальное значение

В или А

-

t d

Начало переднего фронта

с

0

t cr

Постоянная времени переднего фронта

с

TSTEP*

t r

Начало заднего фронта

с

t d + TSTEP

t fr

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

с

TSTEP

* TSTEP - шаг по времени вывода на печать результатов расчетов переходных процессов (задается в директиве .TRAN).

Приведем пример описания источника напряжения экспоненциальной формы: V1 3 4 ЕХР (0.02 2NS 20NS 40NS 20NS)

Рис. 4.12. Экспоненциальная функция

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

PULSE (y1 y2 t d t r t f т Т)

Смысл ее параметров объясняется в табл. 4.21.

Таблица 4.21. Параметры импульсного сигнала

Обозначение

Параметр

Размерность

Значение по умолчанию

y1

Начальное значение

В или А

-

y2

Максимальное значение

В или А

-

td

Начало переднего фронта

с

0

tr

Длительность переднего фронта

с

TSTEP*

ti

Длительность заднего фронта

с

TSTEP

т

Длительность плоской части импульса

с

TSTOP**

Т

Период повторения

с

TSTOP

* TSTEP - шаг вывода на печать. ** TSTOP - конечное время анализа переходного процесса (параметры TSTEP и TSTOP задаются в директиве .TRAN).

Рис. 4.13. Импульсная функция
Кусочно-линейная функция задается списком параметров

PWL [TIME_SCALE_FACTOR=<значение>] [VALUE_SCALE_FACTOR=<значе ние>]

+ (точки_отсчета)*

В секции (точки_отсчета) помещаются следующие данные:

(<t n .y n >) - координаты точек;
FILE <имя файла> - чтение координат точек из файла;
REPEAT FOR <п> (точки__отсчета)* ENDREPEAT - повторение п раз;
REPEAT FOREVER (точки_отсчета)* ENDREPEAT -- бесконечное повторение.
PWL представляет собой кусочно-линейную функцию y(t). Соседние точки соединяются прямыми линиями (рис. 4.24). Максимальное количество точек для IBM PC составляет 3995.

Рис. 4.14. Кусочно-линейная функция

Приведем примеры.

1) Ступенчатое напряжение - 10 периодов по 1 мкс:

.PARAM N=1

.STEPPARAMN 1,5,1

V1 1 О PWL TIME_SCALE_FACTOR= 1е-6; Время задано в мкс

+ REPEAT FOR 10

+ (.25, 0) (.26, {N}) (.99, {N}) (1,0)

+ ENDREPEAT .

2) Считывание сигнала из файла:

V2 1 О PWL FILE triangle. in

В текстовом файле triangle. in содержатся значения отсчетов, например

(1ms, 1) (2ms, 0) (3ms, 1) (4ms, 0)

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

Ее параметры описаны в табл. 4.22.

Таблица 4.22. Параметры гармонического сигнала

Обозначение

Параметр

Размерность

Значение по умолчанию

Уо

Постоянная составляющая

В или А

-

Уа

Амплитуда

В или А


f

Частота

Гц

1/TSTOP

td

Задержка

с

0

d,

Коэффициент затухания

1/с

0

Ф

Фаза

град.

0

На рис. 4.15, а приведен график функции при d f = 0, а на рис. 4.15, б - при d f >0.

а)

б)

Рис. 4.15. Незатухающая (а) и затухающая (б) синусоидальные функции

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

SFFM (уо у а f c m f m )

и описывается выражением

y(t) = yо + y a sin[2nf c t + msin(2лf m )]

Ее параметры приведены в табл. 4.23.

Таблица 4.23. Параметры частотно-модулированного сигнала

Обозначение

Параметр

Размерность

Значение по умолчанию

Уо

Постоянная составляющая

В или А

-

Уа

Амплитуда

В или А

-

fc

Частота несущей

Гц

1/TSTOP

т

Индекс частотной модуляции

-

0


Частота модуляции

Гц

1/TSTOP

 

Сигналы произвольной формы

В связи с тем, что программа PSpice имеет довольно бедный набор встроенных источников стандартных сигналов, интересно обсудить возможность генерации сигналов произвольной формы y(t). В этих целях можно использовать генератор цифровых сигналов (разд. 4.3), логические состояния которого при подключении к аналоговой части схемы автоматически преобразуются в импульсное электрическое напряжение, которое может служить источником сигнала. Таким образом, в частности, можно создать генератор псевдослучайных сигналов. При необходимости импульсное напряжение сглаживается аналоговым фильтром. Форма цифрового сигнала задается двояко:

путем задания дискретных отсчетов (y i , t i ,) непосредственно в описании цифрового сигнала (конструкция STIM);
путем предварительной записи отсчетов (y i , t i ) в файл, имя которого указывается в описании цифрового сигнала (конструкция FSTIM).
Второй способ предпочтительнее при формировании длинных отрезков реализаций сигналов сложной формы, в частности случайных сигналов. Отметим, что формируемые таким образом импульсные сигналы имеют постоянное значение на интервале между дискретными отсчетами: y(t)=y(t) при t i < t < t i+1 . Тем самым при постоянном шаге дискретизации t = t i+l - t t сигнал формируется с запаздыванием на t /2.

 

4.2.4. Зависимые источники сигналов


Зависимые источники напряжения и тока могут быть как линейными, так и нелинейными. Существует четыре их разновидности:

v = e(v) - источник напряжения, управляемый напряжением (ИНУН);

i = f(i) - источник тока, управляемый током (ИТУТ);

i = g(v) - источник тока, управляемый напряжением (ИТУН);

v = h(i) - источник напряжения, управляемый током (ИНУТ).

Линейные управляемые источники описываются зависимостями v = ev, i = fi, i = gv, v = hi, где е, f, g и h - коэффициенты передачи.

В описании нелинейных зависимых источников у = у(х 1 , х 2 , ..., х п ) используется полиномиальная функция POLY вида

У = P 0 + P 1 x 1 + P 2 x 2 +...+ P n x n ...

Здесь х 1 , х г , ..., х п - п управляющих переменных. Они могут быть токами или разностью потенциалов; одновременное управление током и разностью потенциалов не допускается. Все коэффициенты полинома Я вводить не обязательно, но вводить их необходимо подряд без пропусков. При одномерном управлении (п = 1) допускается следующая форма полинома у(х):

При п = 2 полином приобретает вид

y = Р 0 + P 1 x 1 + Р 2 х 2 + P 3 x 2 1 + Р 4 х 1 х 2 + Р 5 х 2

Рассмотрим подробно все четыре типа зависимых источников. Источник напряжения, управляемый напряжением (ИНУН), задается предложениями:

1) линейный источник:

Еххх <+узел> <-узел> <+управляющий узел> <-управляющий узел> + <коэффициент передачи>

2) нелинейный источник:

Еххх <+узел> <-узел> POLY(<n>)<< + управляющий узел> + <-управляющий узел>>* + <коэффициент полинома>*

Например, линейный источник ELIN=2,5V 10.11 описывается предложением

ELIN121011 2.5

Нелинейный источник ENONLIN = 0 + 13,6V 3,0 + 0,2V 4,6 + 0,0051V 3,0 (рис. 4.16, a)- предложением

ENONLIN 50 51 POLY(2) (3,0) (4,6) 0.0 13.6 0.2 0.005

Источник тока, управляемый током (ИТУТ), задается следующим образом:

1) линейный источник:

Fxxx <+узел> <-узел> <имя управляющего источника напряжения> + <коэффициент передачи>

2) нелинейный источник:

Fxxx <+узел> <-узел> POLY(<n>)

+ <имя управляющего источника напряжения>*

+ <коэффициент полинома>*

Управляющим током служит ток независимого источника напряжения. Например, линейный источник тока F1=7,5I V4 (рис. 4.16, б) описывается предложением .

F1 2 1 V4 7.5

Нелинейный источник тока -

FNONLIN = 0,01 + 13,6I VС1 + 0,2I VС2 + 0,0054, + 0,001I VC1 I VС2

предложением

FNONLIN1011 POLY(2)VC1 VC2 0.01 13.60.20.0050.001

а)

б)

Рис. 4.16. Нелинейный (а) источник напряжения, управляемые напряжением, и линейный источник тока, управляемый током (б)

Источник тока, управляемый напряжением (ИТУН), задается предложениями:

1) линейный источник:

Gxxx <+узел> <-узел> <+управляющий узел> <-управляющий узел> + <коэффициент передачи>

2) нелинейный источник:

Gxxx <+узел> <-узел> POLY(<n>) «+управляющий узел> + <-управляющий узел>>* <коэффициент полинома>*

Источник напряжения, управляемый током (ИНУТ), задается следующим образом:

1) линейный источник:

Нххх <+узел> <-узел> <имя управляющего источника напряжения> + <коэффициент передачи>

2) нелинейный источник:

Нххх <+узел> <-узел> POLY(<m>)

+ <имя управляющего источника напряжения>*

+ <коэффициент полинома>*

Замечание.

В связи с тем, что в описаниях линейных управляемых источников не допускается использование параметров и функций, в этих целях можно воспользоваться зависимыми источниками с нелинейными передаточными функциями (см. п. 4.2.5).

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

RADIOSIGNAL

VSIN 1 OSIN(0 1 100)

VPULSE 2 О PULSE(0 1 0 0.25 0.25 0.5 1)

GSIGNAL 0 3 POLY(2)(1,0)(2,0) 00001

R1101MEG

R2201MEG

R3301MEG

.IRAN 0.01 1.6

.PROBE V(1)V(2)V(3)

.END

Здесь VSIN - источник гармонического сигнала с частотой 100 Гц; VPULSE - источник импульсного напряжения с периодом повторения 1 с. Перемножение этих сигналов с помощью нелинейного источника тока GSIGNAL создает последовательность радиоимпульсов.

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

Рис. 4.17. Формирование последовательности радиоимпульсов: а - формирователь сигнала; б - эпюры напряжений

Рассмотрим в качестве примера усилитель постоянного тока с квадратором в цепи обратной связи, функциональная схема которого показана на рис. 4.18, а. При бесконечно большом коэффициенте передачи усилителя К ->бесконечности выходное напряжение V out = (V in ) 1/2

Составим схему замещения этого усилителя, используя компоненты, разрешенные в программе PSpice (рис. 4.18, б). С помощью нелинейного источника Е1 осуществляется вычитание напряжений V in , V 0 и усиление разностного сигнала в К раз. Выходное напряжение V ou , возводится в квадрат с помощью нелинейного источника Е2. Каждый источник напряжения замкнут на большое сопротивление, чтобы в схеме замещения не было разомкнутых контуров. На входном языке программы PSpice схема замещения описывается следующим образом:

Rin 1 О 1MEG

Е1 2 О POLY(2) (1,0) (3,0) О 1Е6 -1Е6; усилитель-сумматор

R1201MEG

Е2 3 О POLY(2) (2,0) (2,0) 00001; квадратор

R2301MEG

а)

б)

Рис. 4.18. Моделирование функциональных схем: а - устройство вычисления квадратного корня; б - эквивалентная принципиальная схема для PSpice

Замечание.

Отметим, что наличие в схемном редакторе PSpice Schematics библиотеки символов функциональных блоков amb.slb позволяет не составлять электрические схемы замещения функциональных схем типа рис. 4.18, б, а сразу составлять функциональные схемы из имеющихся стандартных функциональных блоков (см. Приложение 1 [7]).

Продемонстрируем методику решения дифференциальных уравнений на примере системы уравнений

dx 1 /dt=-0,3 x l +x 2 +x 1 2 -3х 1 х 2 -x 1

dx 2 /dt= 0,24 - 0,6x 2 + 4x 1 x 2 - 6x 1 2 x 2 at

с начальными условиями х 1 (0) = 0, х 2 (0) = 0,4. Используя уравнение конденсатора i = Cdu/dt, смоделируем систему дифференциальных уравнений с помощью зависимых источников тока GX1, GX2, подключенных к конденсаторам C1, C2, как показано на рис. 4.19. На входном языке программы PSpice задание на моделирование составляется следующим образом:

DIFFERENTIAL EQUATIONS

GX1 0 1 POLY(3) (1,0) (2,0) (0,0) 0 -0.3 101-300001

GX2 0 2 POLY(3) (1,0) (2,0) (0,0) 0.6 0 -0.6 00400000-6

С1 1 01

С2201

.ICV(1)=OV(2)=0.4

.IRAN 0.1s 40s SKIPBP

Переменные x 1 = V(l), x 2 = V(2).

Рис. 4.19. Моделирование системы двух дифференциальных уравнений

 

4.2.5. Аналоговые функциональные блоки


Аналоговые функциональные блоки моделируются с помощью источников напряжения (Е) или тока (G). В отличие от рассмотренных выше зависимых источников здесь разрешается использовать параметры и любые функции от узловых потенциалов, токов (через независимые источники напряжения) и времени.

Нелинейные передаточные функции задаются по формату

Еххх <+узел> <-узел> VALUE ={<выражение>}

Gххх<+узел> <-узел> VALUE ={<выражение>}

После ключевого слова VALUE в фигурных скобках приводится алгебраическое выражение, зависящее от узловых потенциалов, разности узловых потенциалов, токов через независимые источники напряжения и времени, например

ESIGNAL 2 0 VALUE={50mV* SIN(6.28*100kHz*TIME)*V(3,4)} GPW 6 О VALUE={V(5)*I(VP)}

Здесь для текущего времени выделено ключевое слово TIME. .

Область управляемых источников с нелинейным законом управления очень обширна. В частности, нелинейные проводимости или резисторы имитируются в программе PSpice с помощью источников напряжения, управляемых собственным током, или источников тока, управляемых собственным напряжением. Пример имитации нелинейного резистора дан на рис. 4.20; его описание имеет вид

G 1 2 VALUE={F(V(G))}

Рис. 4.20. Имитация нелинейного резистора с помощью источника тока, управляемого собственным напряжением

Нелинейная функция F(V(G)), описывающая нелинейную зависимость тока от падения напряжения на резисторе, должна быть определена в задании на моделирование до строки с описанием источника G, например

.FUNC F(X)=1e-6*(1-EXP(-40*X))

Замечание.

В режимах .TRAN и .DC значения источников Exxx, Ixxx вычисляются согласно приведенным в фигурных скобках выражениям. Если это выражение представляет собой линейную функцию нескольких переменных, то в режиме .АС данный источник представляет собой линейный управляемый источник. При этом, если в выражение входит переменная TIME, она полагается равной нулю. Если же это выражение представляет собой нелинейную функцию одной переменной, то после расчета режима цепи по постоянному току выражение в фигурных скобках линеаризуется и в частотной области такой источник представляет собой линеаризированный управляемый источник. Нелинейную функцию нескольких переменных при расчете частотных характеристик использовать нельзя - результаты будут непредсказуемы. Эти же замечания справедливы и для описываемого ниже табличного задания управляемых источников.

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

Еххх <+узел> <-узел> TABLE {<выражение>} «аргумент> <функция>>*

Gxxx <+узел> <-узел> TABLE {<выражение>} «аргумент> <фунщия>>*

Входом таблицы является <выражение>, которое содержит любую комбинацию напряжений и токов. При обращении к управляемому источнику вычисляется значение выражения и берется значение функции из таблицы с помощью линейной интерполяции между опорными точками, задаваемыми парами чисел (<аргумент>, <функция>). Например, ВАХ туннельного диода, рассматриваемого как нелинейная проводимость (рис. 4.30), может быть задана в виде

GR 1 2TABLE{V(GR)}=(0.0)(.01.1mA)

+ (.02,1.1mA) (0.05,2mA) (.06,3mA) (.065,3.2mA) (.8,1.5mA) (1,3mA) (1.5,5mA)

Координаты опорных точек задаются в порядке возрастания аргумента.

Заметим, что отсутствие аппроксимации табличных значений сплайнами более высоких порядков, чем линейная интерполяция, в ряде случаев приводит к слишком большим ошибкам.

Линейные функциональные блоки моделируются в терминах соотношения между выходными и входными переменными в частотной области. По директиве .АС определяются значения комплексного коэффициента передачи блока на каждой частоте. При расчете рабочей точки по постоянному току и по директиве .DC берется значение коэффициента передачи на нулевой частоте (поэтому изображения по Лапласу всех узловых потенциалов не должны иметь составляющих типа 1/s). По директиве .TRAN выходная переменная блока вычисляется как интеграл Дюамеля (свертка входного воздействия с импульсной характеристикой блока), что значительно увеличивает длительность расчетов. Возможны следующие варианты задания линейных блоков.

Передаточная функция управляемого источника задается с помощью преобразования Лапласа:

Еххх <+узел> <-узел> LAPLACE {<выражение>}= + {<передаточная функция в s-области>}

Gxxx <+узел> <-узел> LAPLACE {<выражение>}= + {<передаточная функция в s-области>}

Например, передаточная функция активного RC-фильтра задается следующим образом:

EARC 2 О LAPLACE {V(9)}={5/(H-0.01*s)}

Фильтр с чебышевской передаточной функцией задается в виде

Еххх <+узел> <-узел> CHEBYSHEV {<выражение>}=<тип> + <граничная частота>* <затухание>*

Gxxx <+узел> <-узел> CHEBYSHEV {<выражение>}=<тип> + <граничная частота>* <затухание>*

Здесь <тип> - тип фильтра, принимающий значения: LP - фильтр нижних частот, HP - фильтр верхних частот, ВР - полосовой фильтр, BR - режекторный фильтр.

Для задания желаемой характеристики фильтра задается список граничных частот (для ФНЧ и ФВЧ задаются две частоты, для ПФ и РФ - четыре) и затем список затуханий на этих частотах в децибелах; порядок следования граничных частот безразличен. Приведем примеры:

Е1 3 4 CHEBYSHEV {V(10)}=LP 800 1.2К 0.10В 50dB

Е2 5 6 CHEBYSHEV {V(10)}=BP 800 1.2К 2К ЗК 0.1dB 50dB

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

Еххх <+узел> <-узел> FREQ {<выражение>}=[KEYWORD] + <<частота>,<модуль>,<фаза>>* [DELAY]=<задержка>]

Сххх<+узел> <-узел> FREQ {<выражение>}=[ KEYWORD ] + << частота>,<модуль>,<фаза>>* [DELAY]=<задержка>]

Здесь частота задается в герцах, модуль передаточной функции - в децибелах, фаза передаточной функции - в градусах. Значения опорных точек указываются в порядке возрастания частоты. Максимальное количество точек - 2048. Например, передаточная функция типа фильтра верхних частот задается так:

EHIGHPASS 2 О FREQ (V(9)} (0,-60,69.1) (2kHz,-3,45) (5kHz,0,0)

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

MAG - задание абсолютных значений передаточной функции вместо децибел;
DB - задание значений передаточной функции в децибелах (принимается по умолчанию);
RAD - задание фазы в радианах;
DEG - задание фазы в градусах (принимается по умолчанию);
R_I - задание действительной и мнимой части передаточной функции вместо ее модуля и фазы.
Ключевое слово DELAY задает дополнительную задержку, которая принимается во внимание при расчете фазовой характеристики фильтра.

В качестве еще одного примера составим структурную схему моделирования рассмотренной выше системы дифференциальных уравнений:

dx 1 /dt = -0,3x 1 + х 2 + х 1 2 - 3x 1 x 2 - x 1 ,

dx 2 /dt = 0,24 - 0,6x 2 + 4х 1 х 2 - 6х 1 2 х 2

с помощью интеграторов. На рис. 4.31, а представлена функциональная схема моделирования этой системы уравнений, а на рис. 4.31, б - ее реализация в компонентном базисе программы PSpice. В ней использованы управляющие источники напряжения E11, EI2 , заданные с помощью преобразования Лапласа и выполняющие операции интегрирования, а также нелинейные управляемые источники напряжения EF1, EF2 для вычисления правых частей системы уравнений. На входном языке программы PSpice задание на решение рассматриваемой системы уравнений имеет вид:

Laplace transforms

EM 1 0 LAPLACE {V(3)}={1/s}

EI2 2 0 LAPLACE {V(4)}={1/s}

EF1 3 0 POLY(3) (1,0) (2,0) (0,0) 0-0.3101-300001

EF2 4 0 POLY(3) (1,0) (2,0) (0,0) 0.6 0 -0.6 00400000-6

R1 1 01E9

R2201E9

R3301E9

R4401E9

.ICV(1)=0V(2)=0.4

.TRAN 0.1s 40s SKIPBP

На рис. 4.31, в показана реализация этой же схемы с помощью графического редактора PSpice Schematics. В ней использованы символы интеграторов INTEG и управляемых источников напряжения EVALUE из библиотеки символов amb.slb (см. Приложение 2 [7]). Резисторы R1, R2 на этой схеме необходимы только для соблюдения правил составления топологии схемы, согласно которым к выходным зажимам компонентов - в данном случае интеграторов - должна быть подключена нагрузка. Если это неудобно, то нужно отредактировать символ INTEGER, изменив атрибуты вывода Out (выход), изменив в разделе If unconnected (если вывод не подсоединен) значение параметра Float=UniqueNet - создать узел для подключения маркера. После этого резисторы Rl, R2 можно из схемы на рис. 4.21, в удалить.

а)

б)

в)

Рис. 4.21. Функциональная схема моделирования системы двух дифференциальных уравнений {а), ее реализация в виде принципиальной схемы, созданной вручную (б) и с помощью PSpice Schematics (в)

 

4.2.6. Полупроводниковые приборы


Полупроводниковые приборы, математические модели которых встроены в программу PSpice, описываются большим количеством параметров, задаваемых с помощью директивы .MODEL. Перечень и смысл этих параметров подробно объясняются в [7]. Директиву .MODEL можно поместить в описание анализируемой схемы или в файл библиотеки, доступ к которому осуществляется с помощью директивы .LIB. Описание конкретного полупроводникового прибора содержит его имя, номера узлов подключения, имя модели и коэффициент кратности Area, с помощью которого имитируется параллельное включение нескольких одинаковых приборов.

Диод описывается предложением

Dxxx <узел анода> <узел катода> <имя модели> + [< коэффициент кратности Аrеа>]

Модель диода задается в виде

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

Пример 1. Включим между узлами 1 и 2 диод DB, параметры которого вводятся с помощью директивы .MODEL:

D1 12 D9B

.MODEL D9B D(IS=5UA RS=14 BV=2.81 IBV=5UA)

Пример 2. Включим между узлами 1 и 2 диод D104A, параметры которого записаны в библиотечном файле d.lib

D1 1 2D104A .LIB D.LIB

Биполярный транзистор описывается предложением

Qxxx <узел коллектора> <узел базы> <узел эмиттера>

+ [<узел подложки>] <имя модели> [<коэффициент кратности Агеа>]

Модели биполярных транзисторов задаются в виде

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

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

.MODEL <имя модели> LPNP[(napaMempbt модели)]

Статически индуцированный биполярный транзистор описывается предложением

Zxxx <узел коллектора> <узел затвора> <узел эмиттера> + <имя модели> [АRЕА=<значение>] [WB-<значение>] + [АGD=<значение>] [КР=<значение>] [ТАU=<значение>]

Назначение необязательных параметров AREA, WB, AGD, КР и TAU указано в [7] . Модели статически индуцированных биполярных транзисторов задаются в виде

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

Полевой транзистор с управляющим p-n-переходом описывается предложением

Зххх<узел стока> <узел затвора> <узел истока> <имя модели> + [<коэффициент кратности Агеа>]

Модели полевых транзисторов задаются в виде

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

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

Арсенид-галлиевый полевой транзистор с управляющим р-я-переходом и каналом n-типа описывается предложением

Еххх <узел стока><узел затеораХузел истока> <имя модели> + [<коэффициент кратности Агеа>]

Модель арсенид-галлиевого полевого транзистора задается в виде .MODEL <имя модели> GASFET [(параметры модели)] МОП-транзистор описывается предложением

Mxxx <узел стокаХузел затеораХузел истока> <узел подложки> + <имя модели>

+ [L=<значение>] [W=<значение>] [АD=<значение>] [АS=<значение>]

+ [PD=<значение>] [PS=<значение>] [NRD=<значение>] [NRS=<значение>]

+ [NRG=<значение>] [NRB=<значение>] [М=<значение>]

Необязательные параметры приведены в табл. 4.24.

Параметры L и W могут быть заданы при описании модели МОП-транзистора по директиве .MODEL; кроме того, параметры L, W, AD и AS по умолчанию принимают значения, присваиваемые по директиве .OPTIONS (см. разд. 4.1).

Модели МОП-транзисторов задаются в виде

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

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

Таблица 4.24. Необязательные параметры модели МОП-транзистора

Обозначение

Параметр

Значение по умолчанию

Размерность

L

Длина канала

DEFL

м

W

Ширина канала

DEFW

м

AD

Площадь диффузионной области стока

DEFAD

м

AS

Площадь диффузионной области истока

DEFAS

м

PD

Периметр диффузионной области стока

0

м

PS

Периметр диффузионной области истока

0

м

NRD

Удельное относительное сопротивление стока

1

-

NRS

Удельное относительное сопротивление истока

1

-

 

Обозначение

Параметр

Значение по умолчанию

Размерность

NRG

Удельное относительное сопротивление затвора

0

-

NRB

Удельное относительное сопротивление подложки

0

-

M

Масштабный коэффициент

1

-

 

4.2.7. Макромодели

Отдельные фрагменты цепи или схемы замещения компонентов имеет смысл оформлять в виде макромоделей (подсхем). Описание макромодели начинается директивой .SUBCKT и заканчивается директивой .ENDS. Между ними помещаются описания компонентов, входящих в состав макромодели:

.SUBCKT <имя макромодели> <список узлов>

+ [OPTIONAL:<< узел интерфейса> = <значение по умолчанию>>*}

+ [PARAMS:<имя параметра>=<значение>*}

+ [ТЕХТ:<<имя текстовой переменной> - <текст>>*]

{описание компонентов}

.ENDS [имя макромодели]

Ключевое слово OPTIONAL используется для спецификации одного или более необязательных узлов макромодели - указываются имя узла и его значение по умолчанию. Если при вызове макромодели эти узлы не указываются, используются их значения по умолчанию, что удобно для задания источников питания цифровых устройств; после ключевого слова PARAMS приводится список параметров, значения которых передаются из основной цепи в макромодель. После ключевого слова TEXT - текстовая переменная, передаваемая из описания основной цепи в описание макромодели (используется только при моделировании цифровых устройств). Между директивами .SUBCKT и .ENDS можно помещать описания других макромоделей и другие директивы. Приведем пример:

* Макромодель ОУ К140УД11. Создана с помощью программы Model Editor

* Соединения: неинвертирующий вход, инвертирующий вход,

* источник положительного питания, источник отрицательного питания, выход .subckt k140ud11 12345

с1 11 122.469Е-12

с2 6 7 28.00Е-12 ;емкость внутренней коррекции

сее109942.00Е-12

dc 5 53 dx

de 54 5 dx

dip 90 91 dx

din 92 90 dx

dp43dx

egnd 99 0 poly(2) (3,0) (4,0) 0 .5 .5

fb 7 99 poly(5) vb vc ve vip vln О 4.737Е6 -5E6 5E6 5E6 -5E6

ga6011 122.639E-3

gem 06 10 99 83.51 E-9

lee 104dc1.400E-3

hlim900 vlim 1K

q1 11 213qx1

q2 12 1 14qx2

r2 6 9 100.OE3

rc1 3 11 378.9

rc23 12378.9

re1 1310341.9

re2 14 10341.9

ree 1099 142.8E3

ro1 8 5 30

ro2 7 99 40

rp 3 4 4.546E3

vb 9 0 dc 0

vc 3 53 dc 3

ve 54 4 dc 3

vlim 7 8 dc 0

vip 91 0 dc 25

vln 0 92 dc 25

.model dx D(ls=800.0E-18); модель диода

.model qx1 NPN(ls=800.0E-18 Bf=150); модель биполярного транзистора

.model qx2 NPN(ls=970.0E-18 Bf=320)

.ends; конец описания макромодели

Вызов макромодели, т.е. включение ее в нужное место цепи, осуществляется предложением

Хххх <список узлов> <имя макромодели>

+ [PARAMS:«имя параметра>= <значение>>*}

+ [ТЕХТ:<<имя текста>=<текст>>*]

Например, описанная выше макромодель ОУ К140УД11 может быть включена в схему предложением

X1 4015168K140UD11

Имена узлов, устройств и моделей в описании макромодели являются локальными. Поэтому в основной цепи и в макромодели можно использовать совпадающие имена. При-обращении в основной цепи к какому-нибудь имени макромодели применяют так называемые составные имена. Они образуются из имени макромодели и внутреннего имени, разделенных точкой. Например, конденсатор С2 макромодели X1 имеет составное имя X1.С2. При ссылке на компоненты макромоделей составные имена заключаются в квадратные скобки, например, V([XOP1.X3.R2]) - падение напряжения на резисторе R2, который входит в состав макромодели ХЗ, которая, в свою очередь, является составной частью макромодели операционного усилителя ХОР1.

В программе PSpice имеются встроенные макромодели операционного усилителя, компаратора напряжения, регулятора напряжения и стабилизатора напряжения, параметры которых рассчитываются специальной программой Model Editor по их паспортным данным (разд. 5.3). Кроме того, имеются макромодели оптоэлектронных приборов, тиристоров, кварцевых резонаторов и т.п., составляемые фирмами-производителями и отдельными пользователями.

Заметим, чтолспользование встроенной модели ОУ при расчете схем, состоящих даже из небольшого количества ОУ, приводит к большим затратам машинного времени. Поэтому в тех случаях, когда не требуется высокая точность воспроизведения динамических характеристик ОУ, целесообразно применять упрощенные модели ОУ.

Описание макромодели можно поместить непосредственно в файл задания на моделирование или в библиотечный файл макромоделей ОУ, например с именем op.lib. Тогда для включения этого ОУ в схему необходимо сначала по директиве .LIB обеспечить доступ к этому файлу и затем указать номера узлов подключения макромодели

.LIB D:\ORCAD\PSPICE\LIB\OP

.LIB Х1 1718022925K140UD8A

При работе со схемным редактором PSpice Schematics библиотеки математических моделей компонентов подключаются по команде Analysis>Library and Include Files. Обратим внимание на механизм передачи параметров из описания основной схемы в описание макромодели и проиллюстрируем его на следующем примере. Рассмотрим фрагмент описания схемы:

Test

.param С=1р LK=8m

.step param С Itet 5p Юр

X1 5 20 DL params: C={C} L={LK}

.subckt DL 1 2 params: C=0 LK=5m R=1k

R1 1 2 {R}

C1 2 О {С}

L1 1 2 {LK}

.ends DL

.end

Здесь по директиве .SUBCKT определены параметры макромодели С и R и заданы их значения по умолчанию. При вызове макромодели X1 указаны значения параметра С, принимающего значения 5 и 10 пФ, и параметра LK = 8 мГн. Сопротивление резистора R1 по умолчанию принимает значение 1 кОм. Здесь специально подчеркнуто, что локальные и глобальные параметры могут принимать как совпадающие (С={С}), так и различные (L={LR}) обозначения.

 

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

4.3.1. Основные понятия

Первоначально программа PSpice была предназначена для моделирования чисто аналоговых устройств. В настоящее время она обеспечивает моделирование смешанных аналого-цифровых цепей, которые, в частности, могут состоять только из цифровых устройств и не содержать аналоговых блоков. Обычно смешанные устройства моделируются в режиме .TRAN (расчет переходных процессов), однако другие режимы также доступны. В режиме .DC задержки сигналов в цифровых блоках игнорируются и рассчитываются логические уровни выходов цифровых компонентов в стационарном режиме. В режимах .AC, .NOISE, .TF и .SENS цифровые компоненты не участвуют в анализе малосигнальных частотных характеристик цепи, лишь для аналоговых частей аналого-цифровых и цифроана-логовых интерфейсов составляются линеаризированные схемы замещения их входных и выходных комплексных сопротивлений. Директивы программы PSpice описаны в разд. 4.1, здесь же обсудим специфику моделирования цифроаналоговых устройств.

Реальные цифровые ИС в программе PSpice представлены в виде примитивов U xxx, отражающих их функционирование на логическом уровне, и двух аналого-цифровых и цифроаналоговых интерфейсов А/Ц и Ц/А, отображающих их входные и выходные каскады (рис. 4.22). В задании на моделирование указываются только примитивы цифровых устройств Uxxx. Если при этом цифровые ИС соединяются непосредственно друг с другом, то блоки интерфейсов во внимание не принимаются. Если же ко входу или выходу ИС подключен аналоговый компонент, то необходимо включить соответствующий интерфейс. В принципе они могут быть вручную включены в описание задания на моделирование (в файл.*.СIR) как отдельные компоненты, однако программа PSpice Schematics делает это автоматически.

Рис. 4.22. Модель цифровой ИС

Итак, смешанные аналого-цифровые цепи состоят из компонентов трех типов:

аналоговые компоненты;
устройства сопряжения аналоговых и цифровых компонентов (устройства интерфейса);
цифровые компоненты (примитивы).
Соответственно различают три типа узлов:

аналоговые узлы, к которым подключены только аналоговые устройства;
цифровые узлы, к которым подключены только цифровые устройства;
узлы интерфейса, к которым подключена комбинация аналоговых и цифровых устройств
Программа PSpice Schematics автоматически расщепляет каждый узел интерфейса на два узла - чисто аналоговый и чисто цифровой - и включает между ними макромодель аналого-цифрового или цифроаналогового интерфейса. Кроме того, к моделям интерфейсов автоматически подключается источник питания цифровых схем.

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

1 - высокий уровень;
0 - низкий уровень;
R - положительный фронт (Raise, переход из состояния «0» в «1»);
F - отрицательный фронт (Fall, переход из состояния «1» в «0»);
X - неопределенное состояние (может принимать значение «0», «1», промежуточное или нестабильное состояние);
Z - состояние высокого выходного сопротивления (логический уровень может быть высоким, низким, промежуточным или нестабильным).
При вычислении логических уровней узлов, к которым подключено несколько цифровых компонентов, принимаются во внимание выходные сопротивления источников сигналов.

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

 

4.3.2. Устройства интерфейса


Устройства интерфейса включаются между аналоговыми и цифровыми компонентами и выполняют две функции. Во-первых, с их помощью при моделировании электрических процессов в аналоговой части цепи задаются схемы замещения входных и выходных каскадов цифровых компонентов, соединенных непосредственно с аналоговыми компонентами. Во-вторых, они обеспечивают преобразование электрического напряжения в логический уровень и наоборот, чтобы обеспечить обмен данными между подпрограммами моделирования электрических процессов в аналоговой части цепи и логического моделирования цифровой части. Они подразделяются на устройства передачи данных от аналоговых на вход цифровых компонентов, называемые интерфейс А/Ц (Digital Output), и на устройства передачи данных от цифровых на вход аналоговых компонентов, называемые интерфейс Ц/А (Digital Input).

Если аналоговые и цифровые компоненты взаимодействуют в процессе моделирования, устройства интерфейса включаются в схему замещения цепи автоматически, когда они соединяются друг с другом. Пользователь при этом не включает устройство сопряжения в файл описания цепи с расширением *.CIR. Для обеспечения такого режима предварительно в библиотеки цифровых компонентов включаются ассоциируемые с каждым компонентом модели устройств интерфейса, оформленные в виде макромоделей. При расщеплении узла интерфейса для автоматического включения устройства интерфейса программа PSpice Schematics создает новый цифровой узел. Перечень этих узлов, созданных программой, помещается в выходном файле с расширением *.OUT в разделе Generated AtoD and DtoA. Заметим, что узел интерфейса характеризуется электрическим напряжением, а дополнительный цифровой узел - логическим состоянием. Пользователь имеет право непосредственно включить в описание цепи устройства интерфейса А/Ц и Ц/А, при этом программа новые устройства включать уже не будет.

Рассмотрим в качестве примера смешанную цепь на рис. 4.33, а. Она состоит из двух цифровых компонентов: генератора цифрового сигнала U1 и логического вентиля 2И-НЕ, представленного в виде макромодели XI. На один вход вентиля XI подключается генератор аналогового сигнала VSIN, на другой - генератор цифрового сигнала U1, а к выходу - аналоговая RС-цепь. Таким образом, здесь имеются два узла интерфейса 1 и 2. К узлу 1 подключены аналоговый компонент VSIN и вход цифрового компонента XI, поэтому между этими компонентами про-грамма включит в схему замещения интерфейс А/Ц и создаст дополнительный цифровой узел l$AtoD. Аналогично между выходом цифрового компонента XI и аналоговой ЯС-цепью будет включен интерфейс Ц/А и создан дополнительный цифровой узел 3$DtoA, как показано на рис. 4.23, б. Имена дополнительных цифровых узлов составляются по следующему правилу: в начале их имени повторяется имя узла интерфейса, к нему добавляется символ $ и затем суффикс AtoD или DtoA в зависимости от типа интерфейса (имя узла на выходе А/Ц приобретает суффикс AtoD, на входе Ц/А - DtoA). Если к одному узлу интерфейса подключается не один, а несколько однотипных компонентов, то образуются дополнительные цифровые узлы, в конце имен которых добавляются цифры 2, 3 ... Кроме того, в схеме замещения на рис. 4.23, б к интерфейсу Ц/А автоматически подключается источник питания через глобальный узел $G_POS.

Рис. 4.23. Пример смешанной аналого-цифровой цепи

Отметим, что схема замещения на рис. 4.23 содержит аналоговые узлы 1, 3, $G_POS и цифровые узлы l$AtoD, 2, 3$DtoA. Потенциалы аналоговых узлов и логические состояния цифровых узлов можно вывести на печать, например, по директиве

.PRINT TRAN V(l) D(2) V(3)

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

1) два устройства интерфейса для сопряжения с аналоговыми устройствами, которые могут подключаться к его входу и выходу, названные нами для краткости интерфейсами Ц/А и А/Ц; они осуществляют обмен данными между подпрограммами моделирования аналоговых и цифровых устройств программы PSpice;

2) модели вход/выход, отображающие его входные и выходные комплексные сопротивления;

3) модели динамики, учитывающие запаздывания сигналов. Модели цифровых компонентов и ассоциируемые с ними сопутствующие модели помещаются в специальные библиотеки.

 

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


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

в модуль логического моделирования программы PSpice;
в файл (позднее он может быть просмотрен визуально или использован в качестве источника цифрового сигнала в следующем сеансе моделирования).

а)

б)

Рис. 4.24. Аналого-цифровой (а) и цифроаналоговый (б) интерфейсы

При взаимодействии аналоговых и цифровых компонентов в процессе моделирования описание интерфейса А/Ц (digital output: analog-to-digital) имеет формат

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

При записи логических уровней в файл описание интерфейса А/Ц имеет формат

Оххх <+узел интерфейса> <-узел интерфейса> <имя модели А/Ц> + [SIGNAME=<имя цифрового сигнала>]

Приведем примеры:

О12 ANALOG_NODE DIGITAL_GND DOUTJ33 DGTLNET=DIG_NODE IO_STD OVCO 17 0 TO_TTL SIGNAME=VCO_OUT; передача данных в файл

Модель аналого-цифрового интерфейса описывается предложением .MODEL <имя модели А/Ц> DOUTPUT [<параметры модели>] Параметры модели аналого-цифрового интерфейса приведены в табл. 4.25.

Таблица 4.25. Параметры аналого-цифрового интерфейса

Идентификатор

Параметр

Значение по умолчанию

Единица измерения

RLOAD

Сопротивление нагрузки

1/GMIN

Ом

CLOAD

Емкость нагрузки

0

Ф

CHGONLY

Флаг преобразования: 0 - преобразование на каждом шаге по времени; 1 - преобразование при наличии изменения входного напряжения (только при записи в файл)



SONAME

Имя логического состояния «0»

-

-

SOVLO

Нижний уровень напряжения логического «0»

-

В

SOVHI

Верхний уровень напряжения логического

«0»

-

S1NAME

Имя логического состояния «1»

-

-

S1VLO

Нижний уровень напряжения логической «1»

-

В

S1VHI

Верхний уровень напряжения логической «1»

-

в

S19NAME

Имя логического состояния «19»

-

-

S19VLO

Нижний уровень напряжения логического состояния «19»

-

в

S19VHI

Верхний уровень напряжения логического состояния «19»

-

в

SXNAME

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

?

-

FILE

Имя файла цифрового сигнала (только при записи в файл)

-

-

FORMAT

Код формата входного файла цифровых сигналов (только при записи в файл)

1

-

TIMESTEP

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

10- 9

с

TIMESCALE

Масштабный коэффициент при расчете интервала времени TIMESTEP (только при записи в файл)

1

-

Каждому i-му логическому состоянию соответствует определенный диапазон напряжений SiVL0...SiVH1. До тех пор пока входное напряжение интерфейса

А/Ц V ex не выходит за его границы, логическое состояние на выходе интерфейса А/Ц не изменяется. В противном случае входное напряжение будет сравниваться с пороговыми уровнями, начиная с SOVLO, пока оно не попадет в какой-нибудь интервал. Если оно не попадает ни в один интервал напряжений, логическому состоянию интерфейса А/Ц по умолчанию присваивается символ «?» (его можно изменить с помощью параметра SXNAME).

При взаимодействии с модулем логического моделирования программы PSpice имена логических состояний должны быть «0», «1», «X», «R», «F» или «Z» (однако состояние «Z» обычно не используется, так как состояние высокого импеданса не определяет уровень напряжения).

Параметры TIMESCALE, FILE, CHGONLY и FORMAT используются только при записи цифрового сигнала в файл. Параметр TIMESTEP определяет точность установления момента времени изменения логического состояния. При расчете переходных процессов в аналоговых цепях время интегрирования не может превышать значение TIMESTEP. По умолчанию этот параметр принимает меньшее из значений 1 не или 1/DIGFREQ (параметр DIGFREQ устанавливается по директиве .OPTIONS). Моменты времени, в которые записываются значения выборок сигнала, равны целым значениям величин

k = TIMESCALE-TIME/TIMESTEP,

где TIME - текущее время моделирования, k - номер отсчета. По умолчанию TIMESCALE=1. Для экономии машинного времени следует назначать значение параметра TIMESTEP-, исходя из скорости изменения напряжения.

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

SIGMАМЕ=<имя файла>

Если эта опция опущена, то в качестве имени файла будет принято имя интерфейса А/Ц Оххх без первого символа О.

Логическое состояние интерфейса А/Ц можно просмотреть с помощью программы Probe, указывая в качестве имени переменной Е(Оххх), см. комментарий к интерфейсу Ц/ А.

Моделирование входной цепи реального цифрового компонента с помощью линейной RС-цепи, как показано на рис. 4.24, а, не всегда обеспечивает достаточную точность расчетов. Поэтому пользователь должен иметь в своем распоряжении несколько моделей входных цепей логических компонентов, оформляя их в виде макромоделей. В качестве примера на рис. 4.25 представлена нелинейная модель входной цепи ТТЛ-логики, к которой подключено стандартное устройство сопряжения типа Оххх.

 

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


Цифроаналоговый интерфейс предназначен для преобразования логического уровня выходных сигналов цифровых компонентов («1», «О», «X», «R», «F» или «Z») в аналоговое напряжение, как показано на рис. 4.24, б. Эти устройства вклю-

Рис. 4.25. Нелинейная модель входной цепи цифрового компонента

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

в процессе расчета временной диаграммы логических устройств с помощью программы PSpice;
из файла, который создан предварительно вручную или образован в результате моделирования в предыдущем сеансе работы с программой.
В связи с этим цифроаналоговый интерфейс описывается двояко. При взаимодействии аналоговых и цифровых компонентов в процессе моделирования его описание имеет вид (digital input: digital-to-anaiog):

Nxxx <узел интерфейса> <-узел источника опорного напряжения> + <+узел источника опорного напряжения> <имя модели Ц/А> + DGTLNET-<uмя цифрового узла> <имя модели вход/выход> + [IS=<начальное состояние>]

При управлении из файла описание цифро-аналогового интерфейса имеет формат

Nxxx <узел интерфейса> <-узел источника опорного напряжения>

+ <+узел источника опорного напряжения> <имя модели Ц/А>

+ [SIGNA.ME=<имя цифрового сигнала>] [IS=< начальное состояние>]

Например

N1 ANALOG DIGITALJ3ND U_REFDIN_133 DGTLNET=13 IO_STD N271516 FROIVMTL ;

Данные передаются из файла, имя которого + указано в модели FROM_TTL

Модель цифроаналогового интерфейса описывается предложением

.MODEL <имя модели Ц/А> DINPUT [<параметры модели>]

Параметры модели цифроаналогового интерфейса приведены в табл. 4.26.

Таблица 4.26. Параметры цифроаналого интерфейса

Идентификатор

Параметр

Значение по умолчанию

Единица измерения

CLO

Емкость между выходным узлом и «землей»

0

Ф

CHI

Емкость между выходным узлом и источником питания

0

Ф

SONAME

Имя состояния логический «0»

-

-

SOTSW

Время переключения в состояние «0»

-

с

SORLO

Сопротивление между выходным узлом и «землей» в состоянии «0»

-

Ом

SORHI

Сопротивление между выходным узлом и источником питания в состоянии «0»

-

Ом

S1NAME

Имя состояния логическая «1»

-

-

S1TSW

Время переключения в состояние «1»

-

с

S1RLO

Сопротивление между выходным узлом и «землей» в состоянии «1»

-

Ом

S1RHI

Сопротивление между выходным узлом и источником питания в состоянии «1»

-

Ом

. . .




S19NAME

Имя логического состояния «19»

-

-

S19TSW

Время переключения в состояние «19»

-

с

S19RLO

Сопротивление между выходным узлом и «землей» в состоянии «19»

-

Ом

S19RHI

Сопротивление между выходным узлом и источником питания в состоянии «19»

-

Ом

FILE

Имя файла с цифровыми сигналами (только при чтении из файла)

-

-

FORMAT

Код формата входного файла (только при чтении из файла)

1

-

TIMESTEP

Интервал времени между соседними отсчетами цифрового сигнала в файле (только при чтении из файла)

10- 9

с

Опция

DGTNЕТ=<имя цифрового узла> <имя модели вход/выход>

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

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

IS=< начальное состояние>

Параметры модели FILE, FORMAT и TIMESTEP используются только при управлении из файла. При этом управление производится цифровым сигналом, имя которого указано в необязательной опции

SIGNAME=<имя цифрового сигнала>

В ее отсутствие управление осуществляется сигналом, имя которого образовано символами ххх, находящимися справа от префикса N имени цифро-аналогового интерфейса Nxxx.

На рис. 4.24, б изображена схема замещения выходного каскада цифровых ИС. Сопротивления резисторов изменяются в соответствии с логическим уровнем управляющего цифрового узла. При его изменении сопротивления резисторов плавно изменяются по экспоненциальному закону с постоянной времени, которая определяется длительностью переключения, указанной в модели DINPUT. Эти сопротивления рассчитываются по формулам

RLO = R вых E п / (E п - U вых );

RHI = R ВЫХ Е п / U вых ,

где R вых и U ВЫХ - выходное сопротивление и уровень выходного напряжения в данном логическом состоянии, Е п - напряжение источника питания.

К управляющему цифровому узлу не должны подключаться какие-либо аналоговые компоненты, так как между ними автоматически будет включен аналого-цифровой интерфейс и цифровой узел отсоединится.

В процессе моделирования логические состояния управляющего цифрового узла получают имена «0», «1», «X», «R», «F» и «Z». Моделирование прерывается, если хотя бы одно из этих состояний не указано в перечне спецификаций SnNAME, SnTSW, SnRLO и SnRHI

Логическое состояние входного цифрового сигнала можно просмотреть с помощью программы Probe на аналоговом экране, указывая в качестве имени переменной B(Nxxx). Значение E(Nxxx) равно 0.0, если текущее состояние SONAME равно 1.0 в состоянии S1NAME и т.д. до 19.0. Однако логические состояния входных цифровых узлов удобнее выводить на цифровой экран программы Probe.

 

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


Модели вход/выход, ассоциируемые с каждым цифровым компонентом, имеют тип UIO и задаются по формату

.MODEL <имя модели вход/выход> UIO [ <параметры модели>]

Параметры модели вход/выход приведены в табл. 4.27.

Таблица 4.27. Параметры модели вход/выход

Идентификатор параметра

Параметр

Значение по умолчанию

Единица измерения

INLD

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

0

Ф

OUTLD

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

0

Ф

 

Идентификатор параметра

Параметр

Значение по умолчанию

Единица измерения

DRVH

Выходное сопротивление высокого уровня

50

Ом

DRVL

Выходное сопротивление низкого уровня

50

Ом

DRVZ

Выходное сопротивление утечки цепи, моделируемой как цепь хранения заряда

250*10 3

Ом

INK

Входное сопротивление утечки цепи, моделируемой как цепь хранения заряда

30*10 3

Ом

TSTOREMN

Минимальное время сохранения заряда цепи, моделируемой как цепь хранения заряда

10 -3

с

AtoDl

Имя макромодели интерфейса А/Ц первого уровня

AtoDDefauit

-

DtoAl

Имя макромодели интерфейса Ц/А первого уровня

DtoADefault

-

AtoD2

Имя макромодели интерфейса А/Ц второго уровня

AtoDDefauit

-

DtoA2

Имя макромодели интерфейса Ц/А второго уровня

DtoADefault

-

AtoD3

Имя макромодели интерфейса А/Ц третьего уровня

AtoDDefauit

-

DtoAS

Имя макромодели интерфейса Ц/А третьего уровня

DtoADefault

-

AtoD4

Имя макромодели интерфейса А/Ц четвертого уровня

AtoDDefauit

-

DtoA4

Имя макромодели интерфейса Ц/А четвертого уровня

DtoADefault

-

TSWLH1

Время переключения 0->1 для DtoAl

0

с

TSWLH2

Время переключения 0->1 для DtoA2

0

с

TSWLH3

Время переключения 0->1 для DtoAS

0

с

TSWLH4

Время переключения 0->1 для DtoA4

0

с

TSWHL1

Время переключения 1->0 для DtoAl

0

с

TSWHL2

Время переключения 1->0 для DtoA2

0

с

TSWHL3

Время переключения 1->0 для DtoA3

0

с

TSWHL4

Время переключения 1->0 для DtoA4

0

с

TPWRT

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

Равно минимальной задержке

с

DIGPOWER

Имя макромодели источника питания

DIGIFPWR

-

Входная и выходная емкости INLD, OUTLD принимаются во внимание при расчете времен задержки. Выходные сопротивления цифровых устройств задаются параметрами DRVH, DRVL модели вход/выход UIO (рис. 4.34, а). Выходное сопротивление компонента, находящегося в состоянии «1», обозначается как DRVH, в состоянии «О» - DRVL. В программе PSpice выходные сопротивления компонентов принимают значения в диапазоне от DIGDRVF (Forcing strength) до DIGDRVZ (Z strength), который в логарифмическом масштабе разбивается на 64 уровня (максимальному сопротивлению DIGDRVZ присваивают код 0, а минимальному DIGDRVF - код 63). По умолчанию DIGDRVF = 2 Ом, DIGDRVZ = 20 кОм; их значения переназначаются по директиве .OPTIONS. В конфликтных ситуациях, когда к одному узлу подключаются вентили с разными выходными сопротивлениями, логический уровень узла устанавливается вентилем с минимальным выходным сопротивлением, код которого больше кодов остальных сопротивлений в заданное число раз. Это отношение кодов сопротивлений задается параметром DIGOVRDRV директивы .OPTIONS, который по умолчанию равен 3. Когда имеется несколько вентилей с близкими выходными сопротивлениями и разными логическими уровнями, узлу присваивается неопределенное состояние X.

Времена переключения выходных каскадов цифровых ИС задаются параметрами TSWLH/z, TSWHLn (трудности их определения по справочным данным заключаются в том, что обычно приводятся значения общего времени переключения всей ИС).

Макромодели интерфейсов составляются пользователями и включаются в библиотечный файл. Эти модели отражают характер входных/выходных сопротивлений цифровых компонентов с разной степенью подробности.

Модели, имеющиеся в стандартной библиотеке интерфейсов программы PSpice, приведены в табл. 4.28.

Таблица 4.28. Модели интерфейса

IO_LEVEL

Определение

0

Текущее значение параметра DIGIOLVL директивы .OPTIONS (по умолчанию равно 1)

1

Основная (простейшая) модель, имеющая логические состояния 0, 1, X, R и F (AtoDl /DtoAl)

2

Основная (простейшая) модель без промежуточного состояния X (AtoD2/DtoA2)

3

Сложная модель с промежуточным состоянием X (AtoD3/DtoA3)

4

Сложная модель без промежуточных состояний X, R и F (AtoD4/DtoA4)

Сложные модели точнее имитируют нелинейности входных сопротивлений цифровых ИС, однако требуют больших вычислительных затрат.

Имена макромоделей интерфейсов указываются с помощью параметров AtoD1, DtoAl, ..., AtoD4, DtoA4. Выбор уровня модели интерфейса для каждого конкретного цифрового устройства производится с помощью параметра IO_LEVEL.

Схемы замещения простейших интерфейсов первого уровня показаны на рис. 4.34. В текстовом виде они записываются следующим образом.

Макромодель стандартного ТТЛ-интерфейса А/Ц первого уровня имеет вид:

.subckt AtoD_STD A D DPWR DGND params:

CAPACITANCE=0 DO A DGND DO74 DGTLNET=D

IO_STD C1 A DGND {CAPACITANCE+0.1pF} .ends

*

.model DO74 doutput (

+ sOname="X" sOvlo=0.8 sOvhi=2.0 s1name="0"

s1vlo=-1.5 s1vhi=0.8 + s2name="R"

s2vlo=0.8 s2vhi=1.4 s3name="R"

s3vlo=1.3 s3vhi=2.0 + s4name="X"

s4vlo=0.8 s4vhi=2.0 s5name="1"

s5vlo=2.0 s5vhi=7.0 + s6name="F"

s6vlo=1.3 s6vhi=2.0 s7name="F"

s7vlo=0.8 s7vhi=1.4 )

*

.model IO_STD uio (drvh=96.4 drvl=104

+ AtoD1="AtoD_STD"

AtoD2="AtoD_STD_NX"

AtoD3="AtoD_STD_E"

AtoD4="AtoD_STD_NX_E"

+ DtoA1="DtoA_STD"

DtoA2="DtoA_STD_NX"

DtoA3="DtoA_STD_E"

DtoA4="DtoA_STD_NX_E"

+ tswhI1=1.373ns tswlh1=3.382ns

tswhI2= 1.346ns tswlh2=3.424ns

+ tswhI3=1.511ns tswlh3=3.517ns

tswhI4=1.487ns tswlh4=3.564ns

+ DIGROWER = "DIGIFPWR")

Макромодель стандартного ТТЛ-интерфейса Ц/А первого уровня имеет вид:

.subckt DtoA_STD D A DPWR DGND params: DRVL=0 DRVH=0 CAPACITANCE=0

N1 A DGND DPWR DIN74 DGTLNET=D IO_STD

C1 A DGND {CAPAClfANCE+0.1pF}

.ends

.model DIN74 dinput (

+ sOname="0" sOtsw=3.5ns sOrlo=7.13 sOrhi=389 ; 7ohm, 0.09v

+ s1name="1" s1tsw=5.5ns s1rlo=467 s1rhi=200 ; 140ohm, 3.5v

+ s2name="X" s2tsw=3.5ns s2rlo=42.9 s2rhi=116 ; 31.3ohm, 1.35v

+ s3name="R" s3tsw=3.5ns s3rto=42.9 s3rhi=116 ; 31.3ohm, 1.35v

+ s4name="F" s4tsw=3.5ns s4rlo=42.9 s4rhi=116 ; 31.3ohm, 1.35v

+ s5name="Z" s5tsw=3.5ns s5rlo=200K s5rhi=200K )

Более сложная модель интерфейса А/Ц первого уровня имеет схему замещения, показанную на рис. 4.35. Ее текстовое описание имеет вид:

.subckt AtoD_STD_E A D DPWR DGND params: CAPACITANCE=0

OO A DGND DO74 DGTLNET=D IO_STD

C1 A DGND {CAPACITANCE+0.1pF}

DO DGND a D74CLMP

D1 12 D74

D2 2 DGND D74

R1 DPWR 3 4k

Q1 1 3 A 0 Q74; подложку соединить с DGND

.ends

.model D74 D (IS=1e-16 RS=25 CJO=2pf)

.model D74CLMP D (IS=1e-15 RS=2 CJO2pf)

.model Q74 NPN (ISE=1e-16 ISC=4e-16

BF=49 BR=.03 CJE=1pf CJC=.5pf CJS=3pf VJE=0.9v

+ VJC=0.8v VJS=0.7v MJE=0.5 MJC=0.33

MJS=0.33 F=0.2ns TR=10ns RB=50 RC=20)

 

4.3.6. Устройства питания


В программе PSpice принято, что макромодель источника питания имеет имя DIGIFPWR и на нее автоматически делается ссылка при наличии в схеме макромоделей аналого-цифровых интерфейсов. Конкретное содержание макромодели

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

.subckt DIGIFPWR AGND optional:

DPWR=$G_DPWR DGND=$G_DGND

+ params: VOLTAGE=5.0v REFERENCE=Ov

VDPWR DPWR DGND {VOLTAGE}

R1 DPWR AGND 1MEG

VDGND DGND AGND {REFERENCE}

R2 DGNDAGND 1MEG

.ends

Здесь узлам цифрового питания и цифровой «земли» присвоены глобальные имена $G_DPWR, $G_DGND (при желании их можно изменить здесь и одновременно в моделях всех цифровых устройств). Узел AGND - общий узел источника питания, который при включении его в общую схему соединяется с узлом аналоговой «земли» 0. Для создания макромодели источника другого напряжения необходимо в задании на моделирование (в файле *.CIR) включить предложение вызова макромодели источника питания, задав с помощью параметра VOLTAGE нужное значение напряжения питания, и указать после номера узла «земли» 0 имена (номера) узлов его выводов, например:

XMYPOWER О MY_PWR MY_GND DIGIFPWR params: VOLTAGE=9.0v

Здесь вызывается источник напряжения 9 В, выводы которого имеют имена MY_PWR и MY_GND (эти имена указываются в моделях примитивов цифровых устройств, подключаемых к этому источнику, см. ниже). Усложнив макромодель, можно создать источник нескольких напряжений.

 

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


Генераторы цифровых сигналов можно задать двумя способами.

1. Определение формы цифрового сигнала в задании на моделирование по формату (устройства STIM):

Uxxx STIM(< количество сигналов>,<формат>)

+ <+узел источника питания> <-узел источника питания>

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

+ [IO_LEVEL-< номер макромодели интерфейса вход/выход>]

+ [ STIMULUS =<имя воздействия>] [TIMESTEP=< шаг по времени>]

+ <команды описания формы сигнала>*

Переменная <количество сигналов> определяет количество выходов генератора, равное количеству генерируемых разных цифровых сигналов.

Переменная <формат> - это спецификация формата переменной <данные>, в которой представлены логические уровни сигналов генератора. Эта переменная представляет собой последовательность цифр, общее число которых равно значению переменной <количество сигналов>. Каждая цифра принимает значения 1, 3 или 4, что означает двоичную, восьмеричную и шестнадцатеричную систему счисления.

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

Номера подключения выходов генератора к схеме задаются <списком узлов>.

Имя модели вход/выход задается параметром <имя модели вход/ выход>, как для любого цифрового устройства.

STIMULUS - необязательный параметр, обозначающий имя сигнала;

IO_LEVEL - необязательный параметр для выбора одной из четырех макромоделей интерфейса вход/выход (по умолчанию 0);

TIMESTEP - не обязательный параметр для задания периода квантования (или шага). При задании моментов времени номером шага (имеют суффикс «С») он умножается на величину шага. По умолчанию устанавливается TIMESTEP=0. Этот параметр не принимается во внимание, если заданы абсолютные значения моментов времени (имеют суффикс «S»).

Параметр <описание формы- сигнала> представляет собой произвольную комбинацию одной или нескольких следующих строк:

<t>, <логический уровень>

LABEL=<UMH метки>

<t> GOTO <имя'#етки> <п> TIMES

<t> GOTO <имя метки> UNTIL GT <данные>

<t> GOTO <имя метки> UNTIL GE <данные>

<t> GOTO <имя метки> UNTIL LT <данные>

<t> GOTO <имя метки> UNTIL LE <данные>

<t> INCR BY <данные>

<t> DECR BY <данные>

REPEAT FOREVER

REPEAT <n> TIMES

ENDREPEAT

FILЕ=<имя файла>

Каждая цифра переменной <данные> представляет собой логический уровень соответствующего выходного сигнала, который представлен в системе счисления 2т, где т - соответствующая цифра переменной <формат>.

Количество узлов в <списке узлов> должно быть равно значению переменной <количество сигналов>.

Переменная <t> определяет моменты времени, в которые задаются логические уровни сигнала. Если перед значением переменной <t> имеется символ «+», то эта переменная задает приращение относительно предыдущего момента времени; в противном случае она определяет абсолютное значение относительно начала отсчета времени t = 0. Суффикс «S» указывает размерность времени в секундах (допускается суффикс «nS» - наносекунды и т.п.). Суффикс «С» означает измерение времени в количестве циклов, размер которых определяется параметром TIMESTEP (переменная <шаг по времени>).

Переменная <данные> состоит из символов «0», «1», «X», «R», «F» или «Z», интерпретируемых в заданном формате.

Переменная <п> задает количество повторяющихся циклов GOTO; значение п = -1 задает бесконечное повторение цикла.

Переменная <имя метки> используется при организации цикла с помощью оператора перехода GOTO, который передает управление на строку, следующую за оператором LABEL=<имя метки>.

REPEAT FOREVER - начало бесконечно повторяющегося цикла (эквивалентно конструкции REPEAT -1 TIMES).

REPEAT <n> TIMES - повторение п раз.

ENDREPEAT - - конец цикла REPEAT.

FILE - указание имени файла, в котором находится описание одного или нескольких входных сигналов.

Приведем пример:

USIGNAL STIM(2,11) $G_DPWR $G_DGND 1 2 IO_STM TIMESTEP=1ns

+ ОС 00 ; В момент времени t=0 состояния обоих узлов равны «О»

+ LABEL=M

+ 1C 01 ; При t=1 не состояние узла 1 равно «0», узла 2 - «1»

+ 2С 11 ; При t=2 не состояние обоих узлов равны «1»

+ ЗС GOTO M 3 TIMES; В момент времени t=3 не переход на метку М и выполняется

+ первая инструкция без дополнительной задержки. Цикл повторяется 3 раза

2. Считывание временной диаграммы цифрового сигнала из файла (устройства FSTIM). Устройства FSTIM задаются по формату:

Uxxx FSTIM(< количество выходов>) <+узел источника питания>

+ <-узел источника питания> <список узлов>*

+ <имя модели вход/выход> FIL Е=<имя файла сигналов>

+ [IO_LEVEL=<ножер макромодели интерфейса вход/выход>]

+ [SIGNАМЕS=<имя воздействия>]

Параметр <количество выходов> определяет количество узлов, к которым подключаются сигналы. Остальные параметры имеют тот же смысл, что в п. 1. Обратим внимание, что задание с помощью параметра FILE имени файла, в котором описаны сигналы, обязательно.

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

Файл цифрового сигнала имеет две секции:

заголовок (header), содержащий список имен сигналов;
список значений сигнала (transitions), содержащий на одной или более строках моменты времени изменений сигналов и колонки их значений.
Приведем сначала пример файла цифровых сигналов:

Заголовок: содержит имена сигналов CLOCK, RESET, IN1, IN2 ; имена 4-х сигналов
*Начало описания сигналов; отделяется от заголовка пустой строкой

0 0000 ; двоичные коды сигналов

10ns 1100

20ns 0101

30ns 1110

40ns 0111

Заголовок имеет следующий формат:

Переменная <имя метки> используется при организации цикла с помощью оператора перехода GOTO, который передает управление на строку, следующую за оператором LAEEL=<uмя метки>.

REPEAT FOREVER - начало бесконечно повторяющегося цикла (эквивалентно конструкции REPEAT -1 TIMES).

REPEAT <n> TIMES - повторение п раз.

ENDREPEAT - конец цикла REPEAT.

FILE - указание имени файла, в котором находится описание одного или нескольких входных сигналов.

Приведем пример:

USIGNAL STIM(2,11) $G_DPWR $G_DGND 1 2 IO_STM TIMESTEP=1ns

+ ОС 00 ; В момент времени t=0 состояния обоих узлов равны «О»

+ LABEL=M

+ 1C 01 ; При t=1 не состояние узла 1 равно «О», узла 2 - «1»

+ 2С 11 ; При t=2 не состояние обоих узлов равны «1»

+ ЗС GOTO M 3 TIMES; В момент времени t=3 не переход на метку М и выполняется

+ первая инструкция без дополнительной задержки. Цикл повторяется 3 раза

2. Считывание временной диаграммы цифрового сигнала из файла (устройства FSTIM). Устройства FSTIM задаются по формату:

Uxxx FSTIM(< количество выходов>) <+узел источника питания>

+ <-узел источника питания> <список узлов>*

+ <имя модели вход/выход> FILЕ=<имя файла сигналов>

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

+ [ SIGN AMES =<имя воздействия>]

Параметр <количество выходов> определяет количество узлов, к которым подключаются сигналы. Остальные параметры имеют тот же смысл, что в п. 1. Обратим внимание, что задание с помощью параметра FILE имени файла, в котором описаны сигналы, обязательно.

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

Файл цифрового сигнала имеет две секции:

заголовок (header), содержащий список имен сигналов;
список значений сигнала (transitions), содержащий на одной или более строках моменты времени изменений сигналов и колонки их значений.
Приведем сначала пример файла цифровых сигналов:

Заголовок: .содержит имена сигналов CLOCK, RESET, IN1, IN2 ; имена 4-х сигналов
*Начало описания сигналов; отделяется от заголовка пустой строкой

0 0000 ; двоичные коды сигналов

10ns 1100

20ns 0101

30ns 1110

40ns 0111

Заголовок имеет следующий формат:

[ТIМЕSСАLЕ=<значение>] <имя сигнала 1>...<имя сигнала п>... ОСТ(<3-й бит сигнала>...<1-й бит сигнала>)... НЕХ(<4-й бит сигнала>...<1-й бит сигнала>}...

Имена сигналов могут разделяться запятыми или пробелами. Они располагаются на одной или нескольких строках, но строки продолжения не имеют в начале знака «+». Максимальное количество сигналов 255, на одной строке могут размещаться не более 300 символов. Имена сигналов перечисляются в том же порядке, в котором их значения приводятся во временных диаграммах.

Если перед именем сигнала не указывается название системы счисления, он считается двоичным. Имена сигналов, записанных в восьмеричном коде, предваряются кодом ОСТ и группируются по 3 сигнала (имена групп сигналов заключаются в круглые скобки). Имена шестнадцатеричных сигналов имеют код HEX и группируются по 4 сигнала.

Приведем еще один пример файла сигналов:

Clock Reset In1 In2

HEX(Addr7 Addr6 Addr5 Addr4) HEX(Addr3 Addr2 Addrl Addr0)

ReadWrite

0 0000 00 0 ; для наглядности между группами можно включать пробелы

10п 1100 4Е 0

20п 0101 4Е 1

ЗОп 1110 4Е 1

40п 0111 FF 0

Здесь сначала приведены имена четырех двоичных сигналов, затем две группы сигналов, задаваемых в шестнадцатеричном виде, и затем еще один бинарный сигнал. В последующем списке значений сигналов даны 7 колонок, соответствующих приведенным в заголовке сигналам.

Список значений имеет формат:

<время> <значение сигнала>*

Список значений отделяется от заголовка пустой строкой. Моменты времени и список значений сигналов должны быть разделены по крайней мере одним пробелом. Для моментов времени изменений сигналов указываются их абсолютные значения (в секундах), например 25ns, 1.2E-9, 5.8 или приращение относительно предыдущего момента времени. Признак приращения - знак «+» перед значением момента времени, например +5ns. Каждое значение сигнала соответствует одиночному бинарному сигналу или группе сигналов, имена которых помещены в группы с указателями системы счисления ОСТ или HEX. Общее количество значащих цифр в значениях сигналов должно быть равно общему количеству бинарных сигналов и групп сигналов, помеченных символами ОСТ и HEX. Разряды данных сигнала могут принимать значения, приведенные в табл. 4.29.

Таблица 4.29. Значения сигналов

Сигналы

Двоичные

Восьмеричные

Шестнадцатеричные

Логические /цифровые

0, 1

0...7

0...F

Неопределенные

X

X

X

 

Сигналы

Двоичные

Восьмеричные

Шестнадцатеричные

Высокого импеданса

Z

Z

Z

Передний фронт

R

R

-

Задний фронт

F

F

-

Заметим, что задний фронт не может в шестнадцатеричной системе обозначаться как F, потому что этот символ занят под численное значение. Приведем примеры генераторов цифровых сигналов типа FSTIM.

1. Пусть имеется файл digl .stm, в котором описана временная диаграмма сигнала IN1. Тогда в задание на моделирование можно включить следующее описание генератора:

U1 FSTIM(1) $G_DPWR $G_DGND IN1 IO_STM FILE=DIG1.STM

2. Пусть имеется файл flipflop.stm следующего содержания:

J К PRESET CLEAR CLOCK 0 0 0 010

10ns 0 0 111

В задание на моделирование включим описание генератора сигнала

U2 FSTIM(4) $G_DPWR $G_DGND CLK PRE J К IO_STM + FILE=flipflop.stm SIGNAMES = CLOCK PRESET

В этом примере первым двум узлам CLK и PRE соответствуют сигналы CLOCK и PRESET из файла сигналов, это соответствие устанавливается с помощью опции SIGNAMES. Последним узлам J и К соответствуют одноименные сигналы из файла сигналов, поэтому их имена нет необходимости включать в опцию SIGNAMES. Сигнал CLEAR в данном примере не используется (но на него можно сослаться в другом генераторе FSTIM).

 

4.3.8. Цифровые компоненты


Цифровые компоненты (примитивы) задаются по формату

Uxxx <mun> [(<список параметров>*)] <+узел источника питания>

+ <-узел источника питания> <список узлов>*

+ <имя модели динамики> <имя модели вход/выход>

+ [MNTYMXDLY=<вы6op значения задержки>]

+ [IO_LEVEL=< уровень модели интерфейса>]

Параметр <тип> указывает тип логического устройства (их перечень приведен ниже, например AND, NOR); в круглых скобках указываются значения одного или более параметров через запятую (например, для схемы И указывается количество входов). После списка узлов подключения логического устройства следуют имена двух, моделей. Первая модель описывает динамические свойства устройства, вторая - характеристики входных и выходных сопротивлений.

Модели динамики имеют ключевые слова, приведенные в табл. 4.30.

Таблица 4.30. Ключевые слова модели динамики

Имя модели динамики

Тип компонента

UADC

Аналого-цифровой преобразователь

UBTG

Двунаправленный переключающий вентиль

UDAC

Цифроаналоговый преобразователь

UDLY

Цифровая линия задержки

UEFF

Триггер с динамическим управлением

UGATE

Стандартный вентиль

UGFF

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

UIO

Модель входа /выхода цифрового устройства

UPLD

Программируемые логические матрицы

UROM

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

URAM

Оперативное запоминающее устройство

UTGATE

Вентиль с тремя состояниями

Модели вход/выход имеют ключевое слово UIO (п. 4.3.5).

Параметр MNTYMXDLY позволяет конкретному индивидуальному устройству назначить минимальное, типичное или максимальное значение времени задержки, указанное в спецификации модели его динамики:

0 - значение задержки, заданное параметром DIGMNTYMX директивы .OPTIONS (по умолчанию параметр равен 2);

1 - минимальное значение;

2 - типичное значение;

3 - максимальное значение;

4 - расчет наихудшего случая (минимум/максимум).

Параметр IO_LEVEL указывает тип цифроаналогового и аналого-цифрового интерфейса данного цифрового устройства:

0 - в соответствии со значением параметра DIGIOLVL директивы .OPTIONS (по умолчанию он равен 1);

1 - интерфейс AtoD1/DtoA1;

2 - интерфейс AtoD2/DtoA2;

3 - интерфейс AtoD3/DtoA3;

4 - интерфейс AtoD4/DtoA4.

Запаздывание сигнала в примитивах цифровых устройств определяется в двух моделях: динамики и вход/выход.

Модель динамики определяет задержки распространения и такие временные ограничения, как время установки (setup) и удерживания (hold). Модель вход/выход задает входные и выходные сопротивления, емкости и время переключения.

Когда выход примитива соединяется с другим примитивом, общее время задержки распространения первого примитива равно сумме времени установления напряжения на его нагрузке и времени распространения сигнала, указанного в модели динамики. Время установления напряжения на нагрузке (loading delay) рассчитывается по формуле

T нагр =0,69R вых С нагр

где R вых - выходное сопротивление устройства, равное DRVH или DRVL в зависимости от логического уровня на выходе; С нагр - сумма входных и выходных емкостей цифровых устройств INLD, OUTLD, подключенных к данному выводу.

Когда цифровой примитив подключен к аналоговому устройству, задержка распространения уменьшается на величину, равную времени переключения, заданного в модели вход/выход.

Минимальная длительность сигнала на входе цифрового примитива, необходимая для изменения его логического состояния, должна превышать время задержки, приведенное в модели динамики (это ограничение не относится к цифровым линиям задержки). Более короткие входные импульсы не вызовут на выходе никакого эффекта.

Пример. Приведем описание смешанной цепи на рис. 4.33, а:

Analog/Digital Interface Example

.ОРТ АССТ LIST LIBRARY EXPAND RELTOL=.001

.LIB DIG.LIB

VSIN 1 OSIN(05v1MEG)

U1 STIM(1,1) $G_DPWR $G_DGND 2 IO_STD

+ TIMESTEP = 10ns

+ (OC,1)LABEL=BEGIN

+ (10,0) (20,1) (3C.X) (40,0) (5C.Z)

+ 6C GOTO BEGIN -1 TIMES

X1 1 23133LA3

RL 3 0 25k

CL 3 0 5pF

.TRAN 5ns 500ns

.PRINT TRAN V(1) D(2) V(3)

.PROBE

.END

Здесь имеется обращение к библиотечному файлу моделей цифровых отечественных компонентов dig.lib5.

Обратим внимание, что цифровые ИС, даже простейшие, для которых имеются примитивы, представлены в библиотеке в виде макромоделей, имена которых совпадают с обозначением по ЕСКД (правда, в латинской транскрипции). Это позволяет пользователю не задумываться о правилах описания каждой конкретной ИС, предоставляя это разработчикам библиотек моделей.

Информация об автоматически включаемых в схему макромоделях устройств сопряжения, их именах и именах новых цифровых узлов помещается в выходном файле с расширением*.OUT:

**** Generated AtoD and DtoA Interfaces ****

* Analog/Digital interface for node 1

* Moving X1.U1:IN1 from analog node 1 to new digital


+ node 1$AtoD X$1_AtoD1 1 1$AtoDAtoD

Analog/Digital interface for node 3

Moving X1.111 :OUT1 from analog node 3 to new digital + node 3$DtoA

X$3_DtoA1 3$DtoA 3 DtoA

'Analog/Digital interface power supply subckt

X$DIGIFPWR 0 DIGIFPWR

В качестве примера расчета переходных процессов приведем фрагмент выдачи данных в табличной форме по директиве .PRINT:

TIME V(1) D(2) V(3)

0.000E+00O 0.000E+00 1 3.551 E+00

5.000E-09 1.570E-01 1 3.551 E+00

1.000E-08 3.139E-01 0 3.551 E+00

1.500E-08 4.704E-01 0 3.551 E+00

2.000E-08 6.264E-01 1 3.551 E+00

2.500E-08 7.820E-01 X 3.551 E+00

З.ОООЕ-08 9.369Е-01 X 3.551 E+00

.Перейдем теперь к описанию цифровых компонентов различных типов, сгруппировав их по следующим категориям:

многоразрядные АЦП и ЦАП;
вентили;
триггеры;
программируемые логические матрицы;
устройства памяти;
источники постоянных логических сигналов;
линии задержки;
функциональное описание цифровых устройств.
Многоразрядные АЦП задаются по формату

Uxxx ADC(<m>) <список узлов> <модель динамики> + <модель вход / выход>

+ [MNTYMXDLY=<вы6op значения задержки>] + [IO_LEVEL=< уровень модели интерфейса>]

Имена узлов перечисляются в <списке узлов> в следующем порядке (рис. 4.26):

<+узел источника питания>, <-узел источника питания>, <аналоговый вход>, <опорное напряжение>, <"земля">, <сигнал разрешений, <сигнал преобразований, <сигнал переполнения>, <т-и разряд >, ..., <1-й разряд>

Смысл остальных параметров такой же, что и для интерфейса А/Ц типа Оххх.

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

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

Рис. 4.26. Аналого-цифровой преобразователь

Параметры этой модели приведены в табл. 4.31 (значения по умолчанию - 0, единица измерения - с).

Таблица 4.31. Параметры модели динамики ЦАП

Идентификатор

Параметр

TPCSMN

Время задержки запуска - запаздывание между передними фронтами импульсов разрешения и запуска, минимальное значение

TPCSTY

То же, типичное значение

TPCSMX

То же, максимальное значение

TPSDMN

Время цикла кодирования - интервал времени между передним фронтом импульса запуска и переходом выходного сигнала в новое состояние, минимальное значение

TPSDTY

То же, типичное значение

TPSDMX

То же, максимальное значение

TPDSMN

Запаздывание заднего фронта сигнала запуска относительно момента перехода выходного сигнала в новое состояние, минимальное значение

TPDSMTY

То же, типичное значение

TPDSMX

То же, максимальное значение

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

(V(< аналоговый вход >,<" земля" >/V(< опорное напряжение >, <" земля" >)*2 m

где т - количество разрядов. Если это выражение больше 2 т -1, все разряды данных и разряд переполнения примут значение 1. Если оно меньше нуля, разряды данных примут нулевое значение, а разряд переполнения - 1. Таким образом, опорное напряжение устанавливает диапазон входного напряжения АЦП.

Сигнал разрешения (convert pulse) может иметь любую, в том числе и нулевую длительность. Если цикл кодирования t psd = 0, то т разрядов данных и разряд переполнения, не принимая неопределенного состояния, сразу принимают новое значение. Между узлами <опорное напряжение> и <"земля"> включается резистор с сопротивлением, равным 1/GMIN.

Рис. 4.27. Переходные процессы в АЦП

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

Приведем пример описания 4-разрядного АЦП:

U3 ADC(4) $G_DPWR G_DGND1 10 0 conv stat over out3 out2 outl outO DINAM IO_ADC

.MODEL DINAM UADC(

+ tpcsmn=5ns, tpcsty=8ns, tpcsmx=10ns,

+ tpsdmn=16ns, tpsdty=20ns, tpsdmx=22ns,

+ tpdsmn=4ns, tpdsty=5ns, tpdsmx=6ns)

.MODEL IO_ADQ UIO(drvh=50 drvl=50)

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

Uxxx DAC(<m>) <список узлов> <модель динамики> + < модель вход/выход>

+ [MNTYMXDLY=< выбор значения задержки>] + [IO_LEVEL=<ypoвень модели интерфейса>]

Имена узлов перечисляются в <списке узлов> в следующем порядке (рис. 4.28):

<+узел источника питания>, <-узел источника питания>, <аналоговый выход>, <опорное напряжение>, <" земля" >, <т-й разряд входного сигнала>, ..., <1-й разряд входного сигнала>

Модель динамики ЦАП имеет вид

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

Параметры этой модели приведены в табл. 4.32 (значения по умолчанию - 0, единица измерения - с).

Рис. 4.28. Цифроаналоговый преобразователь

Таблица 4.32. Параметры модели динамики АПЦ

Идентификатор

Параметр

TSWMN

Время установления (от момента изменения входного кода до момента достижения выходным напряжением уровня 0,9 установившегося значения), минимальное значение

TSWTY

То же, типичное значение

TSWMX

То же, максимальное значение

Между узлами <аналоговый выход> и <"земля"> включается источник напряжения с нулевым внутренним сопротивлением, ЭДС которого равна: , ч бинарный входной сигнал (<опорное напряжение>, < земля >) х*(бинарный входной сигнал)/2 m

Опорное напряжение определяет диапазон выходного аналогового напряжения. Между узлом источника опорного напряжения и «землей» включается сопротивление, равное 1/GMIN.

Если какой-либо разряд входного цифрового сигнала не определен, выходное напряжение равно половине разности двух напряжений. Одно из них представляет собой выходное напряжение ЦАП, если все не определенные состояния «X» заменить на «1», второе - если эти состояния заменить на логический «О». При изменении состояний всех разрядов выходное напряжение линейно изменяется в течение интервала преобразования, как показано на рис. 4.29.

Рис. 4.29. Переходные процессы в ЦАП

Вентили. Вентили подразделяются на элементарные и сложные. Элементарные вентили имеют один или несколько входов и только один выход. Сложные вентили (сборки) содержат в одном корпусе несколько простых вентилей (рис. 4.30).

Кроме того, вентили подразделяются на два типа: стандартные вентили и вентили с тремя состояниями. Вентили с тремя состояниями управляются сигналами разрешения. Когда этот сигнал имеет уровень «0», выходной сигнал вентиля имеет неопределенный уровень «X» при высоком выходном сопротивлении Z.

Все вентили описываются по формату, приведенному в начале разд. 4.3. Стандартные вентили перечислены в табл. 4.33.

Рис. 4.30. Стандартные вентили и их сборки

Таблица 4.33. Параметры моделей стандартных вентилей

Тип

Параметр

Порядок перечисления выводов

Функциональное назначение

BUF

Нет

Bx., вых.

Буфер

INV

Нет

Вх., вых.

Инвертор

AND

N

Вх.1, вх.2,..., вых.

Логическое И

NAND

N

Вх.1, вх.2,..., вых.

Логическое И-НЕ

OR

N

Вх.1, вх.2,..., вых.

Логическое ИЛИ

NOR

N

Вх.1, вх.2,..., вых.

Логическое ИЛИ-НЕ

XOR

Нет

Вх.1, вх.2, вых.

Исключающее ИЛИ

NXOR

Нет

Вх.1, вх.2, вых.

Исключающее ИЛИ-НЕ

BUFA

L

Вх.1, вх.2,..., вых.1, вых. 2,...

Сборка буферов

INVA

L

Вх.1, вх.2,..., вых.1, вых. 2,...

Сборка инверторов

ANDA

N, L

Вх.1, вх.2,..., вых.1, вых. 2,...

Сборка логики И

NANDA

N, L

Вх.1, вх.2,..., вых.1, вых. 2,...

Сборка логики И-НЕ

ORA

N, L

Вх.1, вх.2,..., вых.1, вых. 2,...

Сборка логики ИЛИ

NORA

N, L

Вх.1, вх.2,..., вых.1, вых. 2,...

Сборка логики ИЛИ-НЕ

XORA

L

Вх.1, вх.2,..., вых.1, вых. 2,...

Сборка логики исключающее ИЛИ

NXORA

L

Вх.1, вх.2,..., вых.1, вых. 2,...

Сборка логики исключающее ИЛИ-НЕ

АО

N, L

Вх.1, вх.2,..., вых.

Сборка логики И-ИЛИ

OA

N, L

Вх.1, вх.2,..., вых.

Сборка логики ИЛИ-И

OAI

N, L

Вх.1, вх.2,..., вых.

Сборка логики ИЛИ-И-НЕ

AOI

N, L

Вх.1, вх.2,..., вых.

Сборка логики И-ИЛИ-НЕ

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

Модель динамики вентилей имеет формат

.MODEL <имя модели> UGATE [{параметры}]

Параметры моделей вентилей типа UGATE приведены в табл. 4.34 (значения по умолчанию - 0, единица измерения - с).

Таблица 4.34. Параметры моделей стандартных вентилей

Идентификатор

Параметр

TPLHMN

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

TPLHTY

То же, типичное значение

TPLHMX

То же, максимальное значение

TPHLMN

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

TPHLTY

То же, типичное значение

TPHLMX

То же, максимальное значение

Вентили с тремя состояниями перечислены в табл. 4.35.

Таблица 4.35. Вентили с тремя состояниями

Тип

Параметр

Порядок перечисления выводов

Функциональное назначение

BUF3

Нет

Bx., разр., вых.

Буфер

INV3

Нет

Вх., разр., вых.

Инвертор

AND3

N

Вх.1, вх.2, ..., разр., вых.

Логика И

NAND3

N

Вх.1, вх.2, ..., разр., вых.

Логика И-НЕ

OR3

N

Вх.1, вх.2, ..., разр., вых.

Логика ИЛИ

NOR3

N

Вх.1, вх.2, ..., разр., вых.

Логика ИЛИ-НЕ

XOR3

Нет

Вх.1, вх.2, разр., вых.

Исключающее ИЛИ

NXOR3

Нет

Вх.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, ...

Сборка элементов логики И-НЕ

OR3A

N, L

Вх.1, вх.2, ..., разр., вых.1, вых. 2, ...

Сборка элементов логики ИЛИ

NOR3A

N, L

Вх.1, вх.2, .,., разр., вых.1, вых. 2, ...

Сборка элементов логики ИЛИ-НЕ

XOR3A

N, L

Вх.1, вх.2, ..., разр., вых.1, вых. 2, ...

Сборка элементов исключающее ИЛИ

NXOR3A

N, L

Вх.1, вх.2, ..., разр., вых.1, вых. 2, ...

Сборка элементов исключающее ИЛИ-НЕ

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

Модель динамики этих вентилей имеет формат

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

Параметры моделей вентилей типа UTGATE приведены в табл. 4.36 (значение по умолчанию - 0, единица измерения - с).

Таблица 4.36. Параметры моделей вентилей с тремя состояниями

Идентификатор

Параметр

TPLHMN

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

TPLHTY

То же, типичное значение

TPLHMX

То же, максимальное значение

TPHLMN

Задержка при переходе от высокого уровня к низкому, Минимальное значение

TPHLTY

То же, типичное значение

TPHLMX

То же, максимальное значение

TPLZMN

Задержка при переходе от низкого уровня к уровню Z, минимальное значение

TPLZTY

То же, типичное значение

TPLZMX

То же, максимальное значение

TPHZMN

Задержка при переходе от высокого уровня к уровню Z, минимальное значение

TPHZTY

То же, типичное значение

TPHZMX

То же, максимальное значение

TPZLMN

Задержка при переходе от уровня Z к низкому уровню, минимальное значение

TPZLTY

То же, типичное значение

TPZLMX

То же, максимальное значение

TPZHMN

Задержка при переходе от уровня Z к высокому уровню, минимальное значение

TPZHTY

То же, типичное значение

TPZHMX

То же, максимальное значение

Двунаправленные вентили. Двунаправленный вентиль представляет собой пассивное устройство, которое соединяет или разъединяет два узла. Коммутация этих узлов определяется логическим состоянием входного управляющего узла. Устройства типа NBTG соединяют два узла при подаче на вход логической «1» и разъединяют при подаче «0». Устройства типа PBTG соединяют .два узла при подаче на вход логического «0» и разъединяют при подаче «1».Они задаются по формату

Vxxx NBTG или PBTG

+ <+узел источника питания> <-узел источника питания>

+ <узел затвора> <узел канала 1><узел канала 2>

+ <имя модели динамики> <имя модели вход/выход>

+ [MNTYMXDLY=< выбор значения задержки>]

+ [IO_LEVEL=< уровень модели интерфейса>]

Эти устройства не имеют параметров, модель их динамики имеет вид MODEL <имя модели> UBTG

Параметры DRVH и DRVL модели вход/выход используются для управления ячейками запоминания заряда, сигналы с которых передаются через двунаправленные вентили. Если двунаправленный вентиль соединен с цепью, к которой подключен хотя бы один вход устройства, в модели вход/выход которого имеется параметр INLD со значением больше нуля, или выход устройства, в модели которого параметр OUTLD больше нуля, то эта цепь будет моделироваться как ячейка запоминания заряда.

Двунаправленные вентили имеют стандартный формат записи. Приведем пример:

U4 NBTG $G_DRWR $_DGND GATE SD1 SD2 BTG1 10_BTG . MODEL BTG1 VBTG

Триггеры. Триггеры имеют динамическое и потенциальное управление. Каждый компонент может содержать один или несколько триггеров в корпусе, у которых общими являются сигналы установки, сброса и тактовой синхронизации (рис. 4.31).

Перечень триггеров приведен в табл. 4.37.

Рис. 4.31. Триггеры:

а - JK-триггер с отрицательным фронтом срабатывания и низким уровнем сигналов установки и сброса; б - D-триггер с положительным фронтом срабатывания и низким уровнем сигналов установки и сброса; в - синхронный двухтактный RS-триггер; г - синхронный однотактный D-триггер

Таблица 4.37. Перечень триггеров

Тип

Параметры

Порядок перечисления выводов

Функциональное назначение

Триггеры с динамическим управлением

JKFF

Количество триггеров

S, R, С, J 1 , J 2 ..... K 1 , K 2 , .... Q 1 , Q 2 ..... Q 1 , Q 2 , ...

JK-триггер с отрицательным фронтом срабатывания и низким уровнем сигнала установки и сброса

DFF

Количество триггеров

S, R, С, D 1 , D 2 ..... Q 1 , Q 2 .....Q 1 , Q 2 , ...

D-триггер с положительным фронтом срабатывания и низким уровнем сигнала установки и сброса

Триггеры. с потенциальным управлением

SRFF

Количество триггеров

S, R, G, S 1 , S 2 ..... R 1 , R 2 , ..., Q 1 ,Q 2 ..... Q 1 , Q2, ...

Двухтактный синхронный RS-триггер

DLTCH

Количество триггеров

S, R, G, D 1 , D 2 , ..., Q 1 , Q 2 , ..., Q 1 ,Q 2 , ...

Однотактный синхронный D-триггер

Модели динамики триггеров с динамическим управлением имеют формат .MODEL <имя модели> UEFF [(параметры)]

Параметры модели триггеров с динамическим управлением типа UEFF приведены в табл. 4.38 (значения-по умолчанию - 0, единица измерения - с). Косая черта «/» означает «или»; например, запись S/R означает сигнал S или R.

Таблица 4.38. Параметры моделей триггеров с динамическим управлением

Идентификатор

Параметр

TPPCQLHMN

Задержка перехода «0»->«1» со входа S/R к выходам Q/Q, минимальное значение

TPPCQLHTY

То же, типичное значение

TPPCQLHMX

То же, максимальное значение

TPPCQHLMN

Задержка перехода «1»->«0» со входа S/R к выходам Q/Q, минимальное значение

TPPCQHLTY

То же, типичное значение

TPPCQHLMX

То же, максимальное значение

TWPCLMN

Максимальная длительность сигнала «0» на входе S/R, минимальное значение

TWPCLTY

То же, типичное значение

TWPCLMX

То же, максимальное значение

TPCLKQLHMN

Задержка перехода «0»->«1» от фронта импульса С/С до выхода Q/Q, минимальное значение

TPCLKQLHTY

То же, типичное значение

TPCLKQLHMX

То же, максимальное значение

 

Идентификатор

Параметр

TPCLKQHLMN

Задержка перехода «1»- >«0» от фронта импульса С/С до выхода Q/Q, минимальное значение

TPCLKQHLTY

То же, типичное значение

TPCLKQHLMX

То же, максимальное значение

TWCLKLMN

Минимальная длительность сигнала «0» на входе С/С, минимальное значение

TWCLKLTY

То же, типичное значение

TWCLKLMX

То же, максимальное значение

TWCLKHMN

Минимальная длительность сигнала «1» на входе С/С, минимальное значение

TWCLKHTY

То же, типичное значение

TWCLKHMX

То же, максимальное значение

TSUDCLKMN

Время подготовки к работе по входам J/K/D перед действием фронта синхроимпульса С, минимальное значение

TSUDCLKTY

То же, типичное значение

TSUDCLKMX

То же, максимальное значение

TSUPCCLKHMN

Длительность сигнала «1» на входах S/R при действии фронта синхроимпульса С/С, минимальное значение

TSUPCCLKHTY

То же, типичное значение

TSUPCCLKHMX

То же, максимальное значение

THDCLKMN

Длительность сигнала на входе J/K/D после действия фронта синхроимпульса С/С, минимальное значение 1

THDCLKTY

То же, типичное значение

THDCLKMX

То же, максимальное значение

Модель динамики триггеров с потенциальным управлением имеет формат .MODEL <имя модели> UGFF [(параметры)]

Параметры моделей триггеров с потенциальным управлением типа UGFF приведены в табл. 4.39 (значения по умолчанию - 0, единица измерения - с).

Таблица 4.39. Параметры моделей триггеров с потенциальным управлением

Идентификатор

Параметр

TPPCQLHMN

Задержка перехода «0»->«1» со входа S/R к выходам Q/Q, минимальное значение

TPPCQLHTY

То же, типичное значение

TPPCQLHMX

То же, максимальное значение

TPPCQHLMN

Задержка перехода «1»- »«0» со входа S/R к выходам Q/Q, минимальное значение

TPPCQHLTY

То же, типичное значение

 

Идентификатор

Параметр

TPPCQHLMX

To же, максимальное значение

TWPCLMN

Минимальная длительность сигнала «0» на входе S/R, минимальное значение

TWPCLTY

То же, типичное значение

TWPCLMX

То же, максимальное значение

TPGQLHMN

Задержка перехода «0»->«1» от фронта импульса синхронизации G до выхода Q/Q, минимальное значение

TPGQLHTY

То же, типичное значение

TPGQLHMX

То же, максимальное значение

TPGQHLMN

Задержка перехода «1»->«0» от фронта импульса синхронизации G до выхода Q/Q, минимальное значение

TPGQHLTY

То же, типичное значение

TPGQHLMX

То же, максимальное значение

TPDQLHMN

Задержка перехода «0»->«1» от входа S/R/D до выхода Q/Q

TPDQLHTY ,

То же, типичное значение

TPDQLHMX

То же, максимальное значение

TPDQHLMN

Задержка перехода «1»->«0» от входа S/R/D до выхода Q/Q

TPDQHLTY

То же, типичное значение

TPDQHLMX

То же, максимальное значение

TWGHMN

Минимальная длительность сигнала «1» на входе G, минимальное значение

TWGHTY

То же, типичное значение

TWGHMX

То же, максимальное значение

TSUDGMN

Время подготовки к работе по входам S/R/D перед действием фронта синхроимпульса G, минимальное значение

TSUDGTY

То же, типичное значение

TSUDGMX

То же, максимальное значение

TSUPCGHMN

Длительность сигнала «1» на входах S/R при действии фронта синхроимпульса G, минимальное значение

TSUPCGHTY

То же, типичное значение

TSUPCGHMX

То же, максимальное значение

THDGMN

Длительность сигнала на входе S/R/D после действия фронта синхроимпульса G, минимальное значение

THDGTY

То же, типичное значение

THDGMX

То же, максимальное значение


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

Определенное начальное состояние триггеров устанавливается с помощью параметра DIGINITSTATE директивы .OPTIONS.

В моделях триггеров имеются параметры, характеризующие минимальные длительности сигналов установки и сброса и минимальную длительность импульсов. Если эти параметры больше нуля, то в процессе моделирования измеренные значения длительностей импульсов сравниваются с заданными данными и при наличии слишком коротких импульсов на экран выдаются предупреждающие сообщения (Warning messages), которые также передаются в программу Probe и заносятся в выходной файл с расширением *OUT.

Программируемые логические матрицы. Программируемые логические матрицы (ПЛМ, PLA - Programmable Logic Arrays) имеют ряд входов, которые формируют столбцы матрицы, и ряд выходов, образующих строки. Каждый выход (строка) управляется одним логическим элементом. Совокупность управляющих сигналов составляют программу для ПЛМ, которая определяет, какие входы соединяются с логическими элементами. В состав примитивов ПЛМ входят только однотипные вентили (И, ИЛИ, И-НЕ и т.п.), поэтому реальные ИС ПЛМ составляются из нескольких примитивов в виде макромоделей.

Программа ПЛМ вводится в задание на моделирование двояко:

предварительно записав ее в файл в формате JEDEC и указав его имя в описании примитива конкретной ПЛМ;
включив данные программы непосредственно в описание ПЛМ (используя конструкцию DATA=...), что менее удобно.
Однако при использовании библиотек, в которых ПЛМ оформлены в виде макромоделей, пользователю не нужно разбираться в деталях их моделей - достаточно указать имя модели ПЛМ, список узлов включениями с помощью опции TEXT указать имя JEDEC-файла, содержащего описание программы ПЛМ, как показано на следующем примере:

Х1 IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 IN11 IN12 IN13 IN14

+ OUT1 OUT2 OUT3 OUT4 PAL14H4 TEXT: JEDEC_FILE = "myprog.jed"

Здесь в схему включена ПЛМ типа PAL14H4, .программируемая из файла myprog. jed. Примитивы ПЛМ вводятся в задание на моделирование предложением:

Uххх <тип ПЛМ> (<количество входов>,<количество выходов>)

+ <+узел источника питания> <-узел источника питания>

+ <входной узел>* <выходной узел>*

+ <имя модели динамики> <имя модели вход/выход>

+ [FILЕ=<имя файла>]

+ [DАТА=<флаг системы счисления> $ <данные программы>$]

+ [MNTYMXDLY= < выбор значения задержки>]

+ [IO_LEVEL=< уровень модели интерфейса>]

Имеются ПЛМ следующих типов:

PLAND - матрица логики И; PLOR - матрица логики ИЛИ;

Рис. 4.32. Программируемая логическая матрица

PLXOR - матрица логики исключающее ИЛИ;

PLNAND - матрица логики И-НЕ;

PLNOR - матрица логики ИЛИ-НЕ;

PLNXOR - матрица логики исключающее ИЛИ-НЕ;

PLANDC - матрица логики И, содержащая для каждого входа столбцы прямого и дополнительного кода;

PLORC - матрица логики ИЛИ, содержащая для каждого входа столбцы прямого и дополнительного кода;

PLXORC - матрица логики исключающее ИЛИ, содержащая для. каждого входа столбцы прямого и дополнительного кода;

PLNANDC - матрица логики И-НЕ, содержащая для каждого входа столбцы прямого и дополнительного кода;

PLNORC - матрица логики ИЛИ-НЕ, содержащая для каждого входа столбцы прямого и дополнительного кода;

PLNXORC - матрица логики исключающее ИЛИ, содержащая для каждого входа столбцы прямого и дополнительного кода.

После ключевого слова FILE указывается имя файла в формате JEDEC, в котором записана программа ПЛМ. Оно может быть указано как текстовая, константа (и тогда заключается в кавычки " ") или как текстовое выражение (заключается между вертикальными черточками | |). Если приведена опция FILE, то любые данные, приведенные после опции DATA, игнорируются. Способ адресации, принятый в файле JEDEC для расположения данных, определяется параметрами модели динамики.

Флаг системы счисления принимает значения:

В - двоичная система счисления;
О - восьмеричная система счисления (бит старшего разряда расположен по младшему адресу);
X - шестнадцатеричная система счисления (бит старшего разряда расположен по младшему адресу).
Данные программы помещаются между знаками доллара $ и могут располагаться как слитно, так и разделяться одним или несколькими пробелами. Поток данных начинается с нулевого адреса, по которому программируется соединение первого входа с вентилем, управляющим первым выходом. Наличие «0» означает, что вход не подсоединен к вентилю, а «1» - наличие такого соединения (изначально все входы не подсоединены ни к каким выходам). Данные по следующему адресу управляют соединением дополнения первого входа к вентилю, управляющему первым выходом (только для ПЛМ с прямыми и дополнительными входами), или второго входа, подключенного к вентилю, управляющему первым выходом. Каждая дополнительная «1» или «0» программирует соединение следующего входа или его дополнения с вентилем, управляющим первым выходом, до тех пор, пока не переберут все входы (и их дополнения). Последующие данные программируют соединения входов со вторым выходом и т.д. Модель динамики ПЛМ имеет формат

.MODEL <имя модели динамики> UPLD {(параметры модели динамики)}

Параметры этой модели приведены в табл. 4.40.

Таблица 4.40. Параметры модели динамики ПЛМ

Идентификатор

Параметр

Значение по умолчанию

Единица измерения

TPLHMN

Время задержки на выход при переключении 0->1, минимальное значение

0

с

TPLHTY

То же, типичное значение

0

с

TPLHMX

То же, максимальное значение

0

с

TPHLMN

Время задержки на выход при переключении 1->0, минимальное значение

0

с

TPHLTY

То же, типичное значение

0

с

TPHLMX

То же, максимальное значение

0

с

OFFSET

Адрес данных, управляющих подключением первого входа к первому выходу (в файле JEDEC)

0

-

COMPOFFSET

Адрес данных, управляющих подключением дополнения первого входа к первому выходу (в файле JEDEC)

1

-

INSCALE

Количество адресов для программирования изменения состояния каждого входа (в файле JEDEC)

1

-

OUTSCALE

Количество адресов в файле JEDEC для программирования изменения состояния каждого выхода (вентиля)

2

-

Приведем пример дешифратора 3x8 (рис. 4.33). Входные узлы обозначим IN1 (старший разряд), IN2, IN3 (младший разряд). Если все входы находятся в состоянии «0», выход OUT1=«1». Если IN1 и IN2 - в состоянии «0», a IN3 - в состоянии «1», OUT2=«1» и т.д. Данные программы для удобства чтения записаны в виде массива. В комментариях сверху от программы указаны имена входных узлов, находящихся в состоянии «1» - true (Т) и «0» - false (F, дополнительный код); в комментариях в конце строк указаны имена выходных узлов, управляемых вентилем.

Рис. 4.33. Дешифратор 3x8, реализованный на ПЛМ

UDECODE PLANDC(3,8); 3 входа, 8 выходов

+ $G_DPWR $G_DGND ; Узлы источника питания и "земли"

+ IN1 IN2 IN3 ; Входы

+ OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 ; Выходы

+ PLD_MDL ; Имя модели динамики ПЛМ

+ IO_STD ; Имя модели вход/выход ПЛМ

+ DATA=B$ ; Данные программы ПЛМ

*IN1 IN2IN3

* TF TF TF

+ 01 01 01 ; OUT1

+ 01 01 10;OUT2

+ 01 1001 ;OUT3

+ 01 1010;OUT4

+ 1001 01 ;OUT5

+ 1001 10;OUT6

+ 101001 ;OUT7

+ 10 10 10$;OUT8

.MODEL PLD_MDL UPLD(...); Определение модели динамики ПЛМ

Запоминающие устройства. Запоминающие устройства (ЗУ) подразделяются на постоянные ЗУ (ROM, Read Only Memories) и оперативные ЗУ (RAM, Random Access Read-Write Memories). Постоянные запоминающие устройства (ПЗУ). Существует два способа записи данных в ПЗУ для последующего моделирования:

обычно данные предварительно записываются в файл в формате Intel Hex и перед началом моделирования они из него считываются;
данные записываются непосредственно в описании ПЗУ с помощью конструкции DATA=...
ПЗУ (рис. 4.44) вводится в задание на моделирование предложением

Uxxx ROM (<количество адресных входов>,<количество выходов>) + <+узел источника питания> <-узел источника питания> + <вход разрешения чтения>

+ <старший разряд адреса> . . .<младший разряд адреса> + <старший разряд выхода> . . <младший разряд выхода> +,<имя модели динамики> <имя модели вход/выход> - + [FILE=<имя файла>]

+ [DАТА=<флаг системы счисления>$<данные программы>$] + [MNTYMXDLY=< выбор значения задержки>] + [IO_LEVEL=< уровень модели интерфейса>]

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

После ключевого слова FILE указывается имя файла в формате Intel Hex, в котором записаны данные ПЗУ. Оно может быть указано как текстовая константа (и тогда заключается в кавычки " ") или как текстовое выражение (заключается между вертикальными черточками | |). Если приведена опция FILE, то любые данные, приведенные после опции DATA, игнорируются.

Флаг системы счисления принимает значения:

В - двоичная система счисления;
О - восьмеричная система счисления (бит старшего разряда расположен по младшему адресу);
X - шестнадцатеричная система счисления (бит старшего разряда расположен по младшему адресу).
Данные программы помещаются между знаками доллара $ и могут располагаться как слитно, так и разделяться одним или несколькими пробелами. Поток данных начинается с нулевого адреса, по которому размещается первый разряд данных. Следующий бит относится ко второму разряду данных и так до тех пор, пока не будут определены состояния всех разрядов по этому адресу. После этого перечисляются данные по следующему адресу и т.д.

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

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

Параметры этой модели приведены в табл. 4.41 (значения по умолчанию - О, единица измерения - с).

Таблица 4.41. Параметры модели динамики ПЗУ

Идентификатор

Параметр

TPADHMN

Время выборки адреса при переключении входных данных 0->1, минимальное значение

TPADHTY

То же, типичное значение

TPADHMX

То же, максимальное значение

TPADLMN

Время выборки адреса при переключении входных данных 1->0, минимальное значение

TPADLTY

То же, типичное значение

TPADLMX

То же, максимальное значение

TPEDHMN

Время выборки разрешения при переключении выходов Z- >1, минимальное значение

TPEDHTY

То же, типичное значение

TPEDHMX

То же, максимальное значение

TPEDLMN

Время выборки разрешения при переключении выходов Z- >0, минимальное значение

TPEDLTY

То же, типичное значение

TPEDLMX

То же, максимальное значение

TPEDHZMN

Время выборки разрешения при переключении выходов 1->Z, минимальное значение

TPEDHZTY

То же, типичное значение

TPEDHZMX

То же, максимальное значение

TPEDLZMN

Время выборки разрешения при переключении выходов 0->Z, минимальное значение

TPEDLZTY

То же, типичное значение

TPEDLZMX

То же, максимальное значение

Переходные процессы при считывании из ПЗУ показаны на рис. 4.35. На вход разрешения чтения необходимо подать «1», а состояния узлов выходных данных изменяются от состояния высокого импеданса Z до соответствующего состояния спустя некоторое время i PED . В течение времени, пока сигнал разрешения чтения

находится в состоянии «1», сигналы адреса могут изменяться, и если это так, то новые данные доступны на выходах через некоторое время задержки t PAD .

Рис. 4.35. Переходные процессы в ПЗУ

Приведем пример ПЗУ 8x8:

UMULTIPLY ROM (8, 8); Модель ПЗУ 256 8 раз рядов

+ $G_DPWR $G_DGND ; Узлы источника питания и "земли"

+ ENABLE ; Вход разрешения чтения

+ AIN3 AIN2 AIN1 AINO ; Первые 4 бита адреса

+ BIN3 BIN2 BIN1 BINO ; Вторые 4 бита адреса

+ OUT? OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 OUTO ; Выходы

+ ROM_MDL ; Имя модели динамики

+ IO_STD ; Имя модели вход/выход

+ DATA=X$

Данные в шестнадцатеричном коде: *01 23456789ABCDEF

+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;

А=0 + 00 01 02 03 04 05 06 07 08 09 ОА 0В ОС OD OE OF ;

А=1 + 00 02 04 06 08 ОА ОС ОЕ 10 12 14 16 18 1А 1C 1Е ;

А=2 + 00 03 06 09 ОС OF 12 15 18 1В 1Е 21 24 27 2А 2D ;

А=3 + 00 04 08 ОС 10 14 18 1C 20 24 28 2С 30 34 38 ЗС ;

А=4 + 00050AOF 14 19 1Е 23 28 2D 32 37 ЗС 41 464В ;

А=5 + 00 06 ОС 12 18 1Е 24 2А 30 36 ЗС 42 48 4Е 54 5А ;

А=6 + 00 07 ОЕ 15 1C 23 2А 31 38 3F 46 4D 54 58 62 69 ;

А=7 + 00 08 10 18 20 28 30 38 40 48 50 58 60 68 70 78 ;

А=8 + 00 09 12 1В 24 2D 36 3F 48 51 5А 63 6С 75 7Е 87 ;

А=9 + 00 ОА 14 1Е 28 32 ЗС 46 50 5А 64 6Е 78 82 8С 96 ;

А=А + 00 0В 16 21 2С 37 42 4D 58 63 6Е 79 84 8F 9А А5 ;

А=В + 00 ОС 18 24 30 ЗС 48 54 60 6С 78 84 90 9С А8 В4 ;

А=С + 00 OD 1А 27 34 41 4Е 5В 68 75 82 8F 9С А9 В6 СЗ ;

A=D + 00 ОЕ 1C 2А 38 46 54 62 70 7Е 8С 9А А8 В6 С4 D2 ;

А=Е + 00 OF 1Е 2D ЗС 48 5А 69 78 87 96 А5 В4 СЗ D1 Е1$ ;

A=F .MODEL ROM_MDL UROM (...)

Оперативные запоминающие устройства (ОЗУ) . Обычно в начальный момент времени в ОЗУ устанавливаются произвольные данные по всем адресам. Существует два способа записи начальных данных в ОЗУ при моделировании:

данные предварительно записываются в файл в формате Intel Hex и перед началом моделирования из него считываются;
данные записываются непосредственно в описании ОЗУ с помощью конструкции DATA=...
ОЗУ (рис. 4.36) вводится в задание на моделирование предложением

UxxxRAM. (<количество адресных входов>, <количество выходов>)

+ <+узел источника питания> <-узел источника питания>

+ <вход разрешения чтения> <вход разрешения записи>

+ <старший разряд адреса>. . . <младший разряд адреса>

+ <старший разряд входа данных>...<младший разряд входа данных>

+ <старший разряд выхода> . . . младший разряд выхода>

+ <имя модели динамики> <имя модели вход/выход>

+ [FILЕ=<имя файла>]

+ [DАТА=<<флаг системы счисления>$<данные программы>$ ]

+ [MNTYMXDLY=< выбор значения задержки>]

+ [IO_LEVEL=< уровень модели интерфейса>]

Рис. 4.36. Оперативное запоминающее устройство

После ключевого слова FILE указывается имя файла в формате Intel Hex, в котором записаны данные ЗУ. Оно может быть указано как текстовая константа (и тогда заключается в кавычки " ") или как текстовое выражение (заключается между вертикальными черточками | |). Если приведена опция FILE, то любые данные, приведенные после опции DATA, игнорируются.

Флаг системы счисления принимает значения:

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

Модель ОЗУ состоит из двух секций записи и считывания данных, которые имеют различные выводы для подачи сигналов разрешения, различные выводы для записи и считывания данных и общие выводы адреса (рис. 4.36).

При записи данных в ОЗУ необходимо сначала подать сигналы на адресные входы и входы данных и не изменять их в течение определенного времени - времени установления t SUAEW и t SUDEW соответственно, после чего установить «1» на входе разрешения записи. Этот сигнал должен удерживаться в течение некоторого минимального интервала времени t WEW и затем может быть сброшен в «О». При этом сигналы адреса и данных не должны изменяться в течение времени, когда сигнал разрешения записи находится в состоянии «1» и удерживается еще некоторое время t HAEW и t HDEW , прежде чем измениться.

Для чтения из ОЗУ на вход разрешения чтения необходимо подать «1», после чего состояния узлов выходных данных изменяются от состояния высокого импеданса Z до соответствующего состояния спустя некоторое время t PED . В течение времени, пока сигнал разрешения чтения находится в состоянии «1», сигналы адреса могут изменяться, и если это так, то новые данные доступны на выходах через некоторое время задержки t PAD .

В модели ОЗУ ничто не препятствует одновременно установить «1» на входах разрешения чтения и записи, хотя в большинстве реальных ОЗУ это не допускается. Новые считанные данные посылаются на выходы данных после перехода сигнала разрешения записи из «1» в «О».

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

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

Параметры этой модели приведены в табл. 4.42 (значения по умолчанию - 0, единица измерения - с).

Таблица 4.42. Параметры модели динамики ОЗУ

Идентификатор

Параметр

Идентификатор

Параметр

TPADHMN

Время выборки адреса при переключении выходов 0->1, минимальное значение

TSUDEWMN

Время установления данных относительно переднего фронта сигнала разрешения, минимальное значение

TPADHTY

То же, типичное значение

TSUDEWTY

То же, типичное значение

TPADHMX

То же, максимальное значение

TSUDEWMX

То же, максимальное значение

TPADLMN

Время выборки адреса при переключении выходов 1->0, минимальное значение

TSUAEWMN

Время установления адреса относительно переднего фронта сигнала разрешения, минимальное значение

TPADLTY

То же, типичное значение

TSUAEWTY

То же, типичное значение

TPADLMX

То же, максимальное значение

TSUAEWMX

То же, максимальное значение

TPERDHMN

1..

Время выборки разрешения при переключении выходов Z->1, минимальное значение

TWEWHMN

Длительность сигнала разрешения при записи 1, минимальное значение

TPERDHTY

То же, типичное значение

TWEWHTY

То же, типичное значение

TPERDHMX

То же, максимальное значение

TWEWHMX

То же, максимальное значение

TPERDLMN

Время выборки разрешения при переключении выходов Z- >0, минимальное значение

TWEWLMN

Длительность сигнала разрешения при записи 0, минимальное значение

TPERDLTY

То же, типичное значение

TWEWLTY

То же, типичное значение

TPERDLMX

То же, максимальное значение

TWEWLMX

То же, максимальное значение

TPERDHZMN

Время выборки разрешения при переключении выходов 1- >Z, минимальное значение

THDEWMN

Время удержания входных данных относительно заднего фронта сигнала разрешения записи, минимальное значение

TPERDHZTY

То же, типичное значение

THDEWTY

То же, типичное значение

TPERDHZMX

То же, максимальное значение

THDEWMX

То же, максимальное значение

TPERDLZMN

Время выборки разрешения при переключении выходов 0->Z, минимальное значение

THAEWMN

Время удержания адреса по отношению к заднему фронту сигнала разрешения записи, минимальное значение

TPERDLZTY

То же, типичное значение

THAEWTY

То же, типичное значение

TPERDLZMX

То же, максимальное значение

THAEWMX

То же, максимальное значение

Прочие устройства. Источники постоянных логических сигналов.

Эти компоненты имеют выходы, но не имеют входов. Логический уровень выходного сигнала равен «1» для источников типа PULLUP и «О» для источников типа PULLDN.

Внутренние сопротивления источников задаются при описании модели вход/выход. Модель динамики эти источники не имеют. Приведем в табл. 4.43 их описание.

Таблица 4.43. Источники постоянных логических сигналов

Тип

Параметр

Порядок перечисления выводов

Функциональное назначение

PULLUP

Количество источников логического сигнала «1»

Вых.1, вых. 2, ...

Матрица источников

PULLDN

Количество источников логического сигнала «0»

Вых.1, вых. 2, ...

Матрица источников

Приведем пример задания источников логических сигналов со своими моделями вход/выход:

U4 PULLUP(2) $G_DPWR $G_DGND PINO PIN1 R2K ; Два источника «1»

U5 PULLDN(4) $G_DPWR $G_DGND BUSO, BUS1, BUS2, BUSS R50 ; Четыре источника «О»

.MODEL R2K UIO (drvh=2K)

.MODEL R50 UIO (drvl=50)

Цифровые линии задержки. Они осуществляют задержку входного сигнала любой длительности (заметим, что вентили не пропускают импульсы, длительность которых меньше времени задержки). Линии задержки имеют тип DLYNE, в списке узлов после перечисления узлов подключения источника питания указываются <узел входа> и <узел выхода>.

Модель динамики линии задержки имеет форму

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

Параметры линия задержки приведены в табл. 4.44 (значение по умолчанию - 0, единица измерения - с).

Таблица 4.44. Параметры цифровых линий задержки

Идентификатор

Параметр

DLYMN

Минимальная задержка

DLYTY

Типичная задержка

DLYMX

Максимальная задержка