Глава 4.
Моделирование
с помощью PSpice Часть II
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
CГ
}-
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=<значе
ние>]
+ (точки_отсчета)*
В секции
(точки_отсчета)
помещаются следующие данные:
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т
|
Частота модуляции
|
Гц
|
1/TSTOP
|
||
Сигналы
произвольной формы
В связи с
тем, что программа PSpice имеет довольно бедный набор встроенных источников
стандартных сигналов, интересно обсудить возможность генерации сигналов произвольной
формы
y(t).
В этих целях можно использовать
генератор цифровых сигналов
(разд. 4.3), логические состояния которого при подключении к аналоговой
части схемы автоматически преобразуются в импульсное электрическое напряжение,
которое может служить источником сигнала. Таким образом, в частности, можно
создать генератор
псевдослучайных сигналов.
При необходимости импульсное
напряжение сглаживается аналоговым фильтром. Форма цифрового сигнала задается
двояко:
Второй способ
предпочтительнее при формировании длинных отрезков реализаций сигналов сложной
формы, в частности случайных сигналов. Отметим, что формируемые таким образом
импульсные сигналы имеют постоянное значение на интервале между дискретными
отсчетами:
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 изменяется способ задания таблицы передаточной функции.
Оно может принимать следующие значения:
Ключевое слово
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
|
-
|
||
Отдельные
фрагменты цепи или схемы замещения компонентов имеет смысл оформлять в виде
макромоделей (подсхем). Описание макромодели начинается директивой .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. Описание цифровых компонентов
Первоначально
программа PSpice была предназначена для моделирования чисто аналоговых устройств.
В настоящее время она обеспечивает моделирование смешанных аналого-цифровых
цепей, которые, в частности, могут состоять только из цифровых устройств и не
содержать аналоговых блоков. Обычно смешанные устройства моделируются в режиме
.TRAN (расчет переходных процессов), однако другие режимы также доступны. В
режиме .DC задержки сигналов в цифровых блоках игнорируются и рассчитываются
логические уровни выходов цифровых компонентов в стационарном режиме. В режимах
.AC, .NOISE, .TF и .SENS цифровые компоненты не участвуют в анализе малосигнальных
частотных характеристик цепи, лишь для аналоговых частей аналого-цифровых и
цифроана-логовых интерфейсов составляются линеаризированные схемы замещения
их входных и выходных комплексных сопротивлений. Директивы программы PSpice
описаны в разд. 4.1, здесь же обсудим специфику моделирования цифроаналоговых
устройств.
Реальные цифровые
ИС в программе PSpice представлены в виде примитивов U
xxx,
отражающих
их функционирование на логическом уровне, и двух аналого-цифровых и цифроаналоговых
интерфейсов А/Ц и Ц/А, отображающих их входные и выходные каскады (рис. 4.22).
В задании на моделирование указываются только примитивы цифровых устройств
Uxxx.
Если при этом цифровые ИС соединяются непосредственно друг с другом, то
блоки интерфейсов во внимание не принимаются. Если же ко входу или выходу ИС
подключен аналоговый компонент, то необходимо включить соответствующий интерфейс.
В принципе они могут быть вручную включены в описание задания на моделирование
(в файл.*.СIR) как отдельные компоненты, однако программа PSpice Schematics
делает это автоматически.
Рис. 4.22.
Модель цифровой ИС
Итак, смешанные
аналого-цифровые цепи состоят из компонентов трех типов:
Соответственно
различают три типа узлов:
Программа
PSpice Schematics автоматически расщепляет каждый узел интерфейса на два узла
- чисто аналоговый и чисто цифровой - и включает между ними макромодель аналого-цифрового
или цифроаналогового интерфейса. Кроме того, к моделям интерфейсов автоматически
подключается источник питания цифровых схем.
Логические
уровни цифровых узлов принимают одно из пяти значений:
При вычислении
логических уровней узлов, к которым подключено несколько цифровых компонентов,
принимаются во внимание выходные сопротивления источников сигналов.
Приведем далее
описания устройств интерфейса и цифровых компонентов.
Устройства
интерфейса включаются между аналоговыми и цифровыми компонентами и выполняют
две функции. Во-первых, с их помощью при моделировании электрических процессов
в аналоговой части цепи задаются схемы замещения входных и выходных каскадов
цифровых компонентов, соединенных непосредственно с аналоговыми компонентами.
Во-вторых, они обеспечивают преобразование электрического напряжения в логический
уровень и наоборот, чтобы обеспечить обмен данными между подпрограммами моделирования
электрических процессов в аналоговой части цепи и логического моделирования
цифровой части. Они подразделяются на устройства передачи данных от аналоговых
на вход цифровых компонентов, называемые интерфейс А/Ц (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,
а.
Информация о логическом уровне сигнала на выходе интерфейса
А/Ц может направляться двояко:
а)
б)
Рис. 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.
Нелинейная модель входной цепи цифрового компонента
чают на входе
аналоговых компонентов. Аналоговое напряжение образуется с помощью источника
опорного напряжения и делителя на резисторах, сопротивления которых изменяются
программно в соответствии с логическим уровнем цифрового сигнала. Информация
о логическом уровне сигнала может быть получена из двух источников:
В связи с
этим цифроаналоговый интерфейс описывается двояко. При взаимодействии аналоговых
и цифровых компонентов в процессе моделирования его описание имеет вид (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.
Модели вход/выход,
ассоциируемые с каждым цифровым компонентом, имеют тип 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)
В программе
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 имени файла, в котором описаны сигналы, обязательно.
Файл цифрового
сигнала может быть получен путем редактирования файла результатов моделирования
или составлен вручную с помощью любого текстового редактора.
Файл цифрового
сигнала имеет две секции:
Приведем сначала
пример файла цифровых сигналов:
*Начало описания
сигналов; отделяется от заголовка пустой строкой
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 имени файла, в котором описаны сигналы, обязательно.
Файл цифрового
сигнала может быть получен путем редактирования файла результатов моделирования
или составлен вручную с помощью любого текстового редактора.
Файл цифрового
сигнала имеет две секции:
Приведем сначала
пример файла цифровых сигналов:
*Начало описания
сигналов; отделяется от заголовка пустой строкой
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).
Цифровые компоненты
(примитивы) задаются по формату
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) имеют ряд входов, которые формируют столбцы матрицы, и ряд выходов,
образующих строки. Каждый выход (строка) управляется одним логическим элементом.
Совокупность управляющих сигналов составляют программу для ПЛМ, которая определяет,
какие входы соединяются с логическими элементами. В состав примитивов ПЛМ входят
только однотипные вентили (И, ИЛИ, И-НЕ и т.п.), поэтому реальные ИС ПЛМ составляются
из нескольких примитивов в виде макромоделей.
Программа
ПЛМ вводится в задание на моделирование двояко:
Однако при
использовании библиотек, в которых ПЛМ оформлены в виде макромоделей, пользователю
не нужно разбираться в деталях их моделей - достаточно указать имя модели ПЛМ,
список узлов включениями с помощью опции 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 для расположения
данных, определяется параметрами модели динамики.
Флаг системы
счисления
принимает значения:
Данные
программы
помещаются между знаками доллара $ и могут располагаться как слитно,
так и разделяться одним или несколькими пробелами. Поток данных начинается с
нулевого адреса, по которому программируется соединение первого входа с вентилем,
управляющим первым выходом. Наличие «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).
Постоянные запоминающие устройства (ПЗУ).
Существует два способа
записи данных в ПЗУ для последующего моделирования:
ПЗУ (рис.
4.44) вводится в задание на моделирование предложением
Uxxx
ROM
(<количество адресных входов>,<количество выходов>) + <+узел
источника питания> <-узел источника питания> + <вход разрешения
чтения>
+ <старший
разряд адреса> . . .<младший разряд адреса> + <старший разряд выхода>
. . <младший разряд выхода> +,<имя модели динамики> <имя модели
вход/выход> - + [FILE=<имя файла>]
+
[DАТА=<флаг
системы счисления>$<данные программы>$] +
[MNTYMXDLY=<
выбор
значения задержки>]
+ [IO_LEVEL=<
уровень модели интерфейса>]
Рис. 4.34.
Постоянное запоминающее устройство
После ключевого
слова FILE указывается
имя файла
в формате Intel Hex, в котором записаны
данные ПЗУ. Оно может быть указано как текстовая константа (и тогда заключается
в кавычки " ") или как текстовое выражение (заключается между вертикальными
черточками | |). Если приведена опция FILE, то любые данные, приведенные после
опции DATA, игнорируются.
Флаг системы
счисления
принимает значения:
Данные программы
помещаются между знаками доллара $ и могут располагаться как слитно, так и разделяться
одним или несколькими пробелами. Поток данных начинается с нулевого адреса,
по которому размещается первый разряд данных. Следующий бит относится ко второму
разряду данных и так до тех пор, пока не будут определены состояния всех разрядов
по этому адресу. После этого перечисляются данные по следующему адресу и т.д.
Модель
динамики
ПЗУ имеет формат:
.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 (...)
Оперативные
запоминающие устройства (ОЗУ)
.
Обычно в начальный момент времени
в ОЗУ устанавливаются произвольные данные по всем адресам. Существует два способа
записи начальных данных в ОЗУ при моделировании:
ОЗУ (рис.
4.36) вводится в задание на моделирование предложением
UxxxRAM.
(<количество адресных входов>, <количество выходов>)
+ <+узел
источника питания> <-узел источника питания>
+ <вход
разрешения чтения> <вход разрешения записи>
+
<старший
разряд адреса>. . . <младший разряд адреса>
+ <старший
разряд входа данных>...<младший разряд входа данных>
+ <старший
разряд выхода> . . . младший разряд выхода>
+ <имя
модели динамики> <имя модели вход/выход>
+
[FILЕ=<имя
файла>]
+
[DАТА=<<флаг
системы счисления>$<данные программы>$ ]
+
[MNTYMXDLY=<
выбор
значения задержки>]
+
[IO_LEVEL=<
уровень
модели интерфейса>]
Рис. 4.36.
Оперативное запоминающее устройство
После ключевого
слова FILE указывается
имя файла
в формате Intel Hex, в котором записаны
данные ЗУ. Оно может быть указано как текстовая константа (и тогда заключается
в кавычки " ") или как текстовое выражение (заключается между вертикальными
черточками | |). Если приведена опция FILE, то любые данные, приведенные после
опции DATA, игнорируются.
Флаг системы
счисления
принимает значения:
Данные
программы
помещаются между знаками доллара $ и могут располагаться как слитно,
так и разделяться одним или несколькими пробелами. Поток данных начинается с
нулевого адреса, по которому размещается первый разряд данных. Следующий бит
относится ко второму разряду данных, и так до тех пор, пока не будут определены
состояния всех разрядов по этому адресу. После этого перечисляются данные по
следующему адресу и т.д., как и в ПЗУ.
Модель ОЗУ
состоит из двух секций записи и считывания данных, которые имеют различные выводы
для подачи сигналов разрешения, различные выводы для записи и считывания данных
и общие выводы адреса (рис. 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
|
Максимальная
задержка
|
||