Структура текстового задания на моделирование
Задание на моделирование для программы PSpice заносится в текстовые файлы. Знание их форматов при графическом вводе схемы не обязательно, но желательно, так как:
значительно облегчает
поиск ошибок
при отладке схемы;
позволяет создавать
шаблоны
новых символов компонентов;
позволяет составлять текстовые описания
макромоделей
(иногда это проще, чем рисовать их схемы замещения).
При графическом вводе схем как с помощью программы PSpice Schematics, так и с помощью OrCAD Capture, создаются три файла задания с одним и тем же именем и различными расширениями имени: *.NET (таблица соединений), *.ALS (список подключения цепей к выводам компонентов) и *.CIR (список директив моделирования). При моделировании в PSpice непосредственно загружается файл *.CIR, в котором имеются ссылки на остальные файлы. Для его составления вручную на бумаге сначала рисуется принципиальная схема моделируемого устройства и присваиваются имена всем ее узлам (при графическом вводе этого делать не обязательно). Имена узлов могут быть целыми числами от 0 до 9990 или алфавитно-цифровыми символами длиной не более 131 символа. В качестве этих символов используются буквы латинского алфавита от А до Z, цифры 0, 1, ..., 9 и знаки «$», «_», «*», «/», «%». Стандартное обозначение ряда узлов приведено в табл. 4.1.
Таблица 4.1. Глобальные узлы
Имя узла |
Напряжение / уровень |
Описание | |||||||
0 |
OB |
Аналоговая «земля» | |||||||
$G_CD4000_VDD |
5 В |
Источник питания к-МОП ИС | |||||||
$G_CD4000_VSS |
OB |
Источник питания к-МОП ИС | |||||||
$G_DPWR |
5B |
Источник питания ТТЛ ИС | |||||||
$G_DGND |
OB |
Источник питания ТТЛ ИС | |||||||
$G_ECL_10K_VEE |
-5,2 В |
Источник питания ЭСЛ 10К ИС | |||||||
$G_ECL_10K_VCCl |
OB |
Источник питания ЭСЛ 10К ИС | |||||||
Имя узла |
Напряжение / уровень |
Описание | |||||||
$G_ECL_10K_VCC2 |
0 B |
Источник питания ЭСЛ 10К ИС | |||||||
$G_ECL_100K_VEE |
-4,5 В |
Источник питания ЭСЛ 100К ИС | |||||||
$G_ECL_100K_VCC1 |
OB |
Источник питания ЭСЛ100К ИС | |||||||
$G_ECL_100K_VCC2 |
0 B |
Источник питания ЭСЛ 100К ИС | |||||||
$D_HI |
«1» |
Логическая «1» | |||||||
$D_LO |
«0» |
Логический «0» | |||||||
$D_X |
«X» |
Неопределенное логическое состояние X | |||||||
$D_NC |
— |
Не подключенный к схеме вывод цифрового компонента | |||||||
Логические состояния цифровых узлов $D_HI, $D_LO, $ D_X поддерживаются постоянными независимо от того, с чем они соединены. Узел $D_NC применяется для обозначения неиспользуемых выводов (аббревиатура NC означает Not Connected — нет подключения), чтобы при проверке схемы они не включались в список ошибок.
При ссылке на цифровые имена узлов они заключаются в круглые скобки, например V(6) — потенциал узла 6. Имена узлов в виде алфавитно-цифровых символов при ссылках на них заключаются в квадратные скобки [ ], чтобы отличить их от имен компонентов. Например, потенциал узла IN обозначается как V([IN]), a V(I2) — напряжение на источнике тока 12. Заметим, что в программе Probe при ссылке на алфавитно-цифровые имена узлов квадратные скобки не нужны, они отсутствуют и в выходном файле с расширением *.OUT.
В программе существует соглашение, что все узлы, имена которых начинаются с символов $G_, являются
глобальными,
например узел $G_POS.
Глобальные узлы используются в схемах, имеющих макромодели. Глобальные узлы с одинаковыми именами автоматически соединяются в основной цепи и во всех макромоделях. С их помощью удобно прокладывать цепи питания, синхронизации и т.п. (узел «земля» 0 всегда является глобальным). Глобальные узлы с произвольными именами назначаются с помощью директивы .GLOBAL (см. п. 4.1.2).
После именования узлов составляют задание на моделирование, которое заносится в файл. Имя файла произвольное, в качестве расширения имени рекомендуется использовать *.CIR, воспринимаемое программой PSpice по умолчанию.
Первая строка файла
— строка заглавия, которая затем выводится в виде заголовка в выходном файле.
Строки комментариев
содержат символ «*» в первой позиции. Конец любой строки после знака «;» также воспринимается как комментарий.
Последняя строка файла
.END. Порядок ввода промежуточных строк значения не имеет, за небольшим исключением:
строка описания функции .FUNC должна быть помещена до ссылки на нее;
директива .OPTIONS NOECHO запрещает запись в выходной файл расположенной после нее части описания схемы.
Строка продолжения
начинается с символа «+» в первой позиции, максимальная длина строки 132 символа. Число пробелов между операторами в строке произвольное. Пробелы и запятые или знаки равенства эквивалентны.
Внимание!
Программа PSpice не различает прописные и строчные буквы.
Предложения
входного языка программы PSpice делятся на
описания компонентов и директивы.
Описанием компонента
считается любая строка, не начинающаяся с символа «.» (кроме первой строки и строк комментариев и продолжений). Описание компонента имеет следующую структуру:
<имя компонента> <номера двух или более узлов> [<имя модели>] < числовые данные >
Имя компонента состоит из последовательности символов латинского алфавита и цифр, общая длина имени не должна превосходить 13Г символ (рекомендуется не более 8 символов). Первый символ — одна из букв латинского алфавита от А до Z, далее в любом порядке — алфавитно-цифровые символы и знаки $, _, *, /, %. Первый символ имени компонента определяет его тип, например R1, ROUT, Q12 (табл. 4.2). При графическом вводе схем пользователь может вводить первый символ имени компонента по своему усмотрению, так как графические редакторы при составлении текстового описания схемы для передачи его в PSpice к именам всех компонентов в соответствии с табл. 4.2 автоматически добавят префиксы — это выполняется в соответствии с так называемыми шаблонами символов компонентов TEMPLATE (см. разд. 3.3). Поэтому на схемах компоненты можно именовать, не придерживаясь приведенных в табл. 4.2 правил (они должны быть учтены при составлении шаблонов символов). Например, транзисторы всех типов можно согласно ЕСКД именовать как V1, V2, V3..., а при составлении текстового описания схемы биполярный транзистор получит имя Q_V1, полевой — J_V2, МОП-транзистор -- M_V3 и т.д.
Таблица 4.2. Первые символы имен компонентов
Первый символ имени |
Тип компонента |
||
В |
Арсенид-галлиевый полевой транзистор (GaAsFET) с каналом n-типа |
||
С |
Конденсатор |
||
D |
Диод |
||
Е |
Источник напряжения, управляемый напряжением (ИНУН) |
||
F |
Источник тока, управляемый током (ИТУТ) |
||
G |
Источник тока, управляемый напряжением (ИТУН) |
||
Н |
Источник напряжения, управляемый током (ИНУТ) |
||
I |
Независимый источник тока |
||
J |
Полевой транзистор с управляющим р-n-переходом (JFET) |
||
К |
Связанные индуктивности и линии передачи, ферромагнитные сердечники |
||
Первый символ имени |
Тип компонента |
||
L |
Индуктивность |
||
М |
МОП-транзистор (MOSFET) |
||
N |
Аналого-цифровой преобразователь на входе цифрового устройства |
||
О |
Цифроаналоговый преобразователь на выходе цифрового устройства |
||
Q |
Биполярный транзистор |
||
R |
Резистор |
||
S |
Ключ, управляемый напряжением |
||
Т |
Линия передачи |
||
V |
Независимый источник напряжения |
||
W |
Ключ, управляемый током |
||
Y |
Цифровое устройство |
||
X |
Макромодель (операционный усилитель, компаратор напряжения, регулятор напряжения, стабилизатор напряжения и др.) |
||
Z |
Статически индуцированный биполярный транзистор (IGBT) |
||
Номера узлов подключения компонента к схеме перечисляются в определенном порядке, установленном для каждого компонента (см. ниже). Имя модели компонента не является обязательным параметром. В заключение указываются численные значения параметров компонента. В программе PSpice осуществляется масштабирование чисел с помощью суффиксов, приведенных в табл. 4.3.
Таблица 4.3. Масштабные коэффициенты
Суффикс |
Масштабный коэффициент |
Наименование |
||
f |
10- 15 |
Фемто |
||
Р |
10- 12 |
Пико |
||
п |
10- 9 |
Нано |
||
U |
10- 6 |
Микро |
||
mil |
25,4*10 6 |
Мил (0,001 дюйма) |
||
m |
10- 3 |
Милли |
||
k или К |
10 3 |
Кило |
||
MEG |
10 6 |
Мега |
||
G |
109 |
Гига |
||
Суффикс |
Масштабный коэффициент |
Наименование |
||
Т |
10 12 |
Тера |
||
С |
Признак целого числа тактов цифровых сигналов |
|||
Примечание. В программе PSpice прописные и строчные буквы не различаются |
||||
Сопротивления, емкости и индуктивности должны быть постоянными величинами (зависимость от времени или от токов и напряжений, как в программе Micro-Cap, к сожалению, не допускается). Они могут быть как положительными, так и отрицательными величинами. Исключение составляет анализ переходных процессов, где отрицательные значения емкостей и индуктивностей могут привести к ошибкам в расчете. В любом случае нулевые значения параметров компонентов не допускаются.
При наличии ошибок, обнаруженных при трансляции схемы и при выполнении моделирования, на экран и в выходной файл *.OUT выводятся сообщения о них.
Помимо числовых значений в предложениях входного языка программы могут использоваться
идентификаторы параметров,
которые заключаются в фигурные скобки { }. Например, постоянное напряжение источника питания может быть задано с помощью параметра VPOWER:
VP 6 0 DC {VPOWER}
Внутри фигурных скобок допускаются символы
арифметических выражений,
например:
С2 5 4 {CLOAD*2.5}
Это не допускается при задании:
параметров NL, F, LEN, R, L, G и С линии передачи;
температурных коэффициентов резистора TCI, TC2 в его описании (в модели резистора эти выражения допускаются);
параметров линейно-ломаного сигнала PWL;
полиномиальных коэффициентов зависимых источников типа Е, F, G, H;
в именах узлов и параметрах директив .AC, .DC и др.
Выражение должно помещаться на одной строке длиной не более 131 символа (громоздкие выражения целесообразно оформлять в виде функций с помощью директивы .FUNCTION). Кроме арифметических выражений допускается использование
стандартных функций,
приведенных в табл. 4.4.
Таблица 4.4. Обозначения стандартных функций
Функция |
Определение |
Комментарий |
Наличие в программе Probe |
||
ABS(x) |
Абсолютное значение х |
Да |
|||
ACOS(x) |
Арккосинус х |
Результат в радианах |
Нет |
||
ARCTAN(x) |
Арктангенс х |
Результат в радианах |
Да |
||
ASIN(x) |
Арксинус х |
Результат в радианах |
Нет |
||
ATAN(x) |
Арктангенс х |
Результат в радианах |
Да |
||
ATAN2(y,x) |
Арктангенс у/х |
Результат в радианах |
Нет |
||
COS(x) |
Косинус х |
х в радианах |
Да |
||
COSH(x) |
Косинус гиперболический х |
х в радианах |
Нет |
||
DDT(x) |
Производная dx/dt |
Применяется только при анализе переходных процессов |
Да* |
||
EXPM |
Экспонента числа х |
Да |
|||
W(t,x,y) |
х, если t — истинно, у, если t — ложно |
t — булева переменная, оператор отношений |
Нет |
||
IMGU) |
Мнимая часть х |
Да |
|||
LIMIT(x, min, max) |
min, если x<min, max, если х>тах, х, если min<x<max |
Ограничитель с линейной областью |
Нет |
||
LOG(x) |
Натуральный логарифм х |
Да |
|||
LOGIO(x) |
Десятичный логарифм х |
Да |
|||
M(x) |
Модуль х |
Эквивалентно ABS(x) |
Да |
||
MAX(x,y) |
Максимум х,у |
Да |
|||
MIN(x,y) |
Минимум х,у |
Да |
|||
P(x) |
Фаза х |
Равна 0 для вещественных чисел |
Да |
||
PWR(x,y) |
Степенная функция |х| у |
Да |
|||
PWRS(x,y) |
+ |x| у , если x;<0 -|х| у , если х>0 |
Нет |
|||
R(x) |
Действительная часть х |
Да |
|||
SDT(x) |
Интеграл f x(t)dt |
Применяется только при анализе переходных процессов |
Да** |
||
SGN(x) |
Знак х |
Да |
|||
SIN(x) |
Синус х |
х в радианах |
Да |
||
SINH(x) |
Синус гиперболический х |
х в радианах |
Нет |
||
Функция |
Определение |
Комментарий |
Наличие в программе Probe |
||
STP(x) |
1, если х > 0, 0, если х < 0 |
Нет |
|||
SQRT(x) |
корень из х |
Да |
|||
TABLE (x,x1,y1,...) |
Табличная зависимость функции у от х |
Задаются координаты точек (xi, yi), в промежуточных точках используется линейная аппроксимация |
Нет |
||
TAN(x) |
Тангенс х |
х в радианах |
Нет |
||
TANH(x) |
Тангенс гиперболический х |
х в радианах |
Нет |
||
* В программе Probe эта функция имеет обозначение d(x) ** В программе Probe эта функция имеет обозначение S(A:) |
|||||
Таблица 4.5. Математические операции
Символ операции |
Назначение |
||
Арифметические операции |
|||
+ |
Сложение |
||
- |
Вычитание |
||
* |
Умножение |
||
/ |
Деление |
||
Логические операции (для функции IF и описания моделей цифровых компонентов в булевых выражениях) |
|||
- |
Логическое отрицание |
||
| |
Логическое ИЛИ |
||
- |
Логическое исключающее ИЛИ |
||
& |
Логическое И |
||
** |
Бинарный оператор |
||
Операции отношений (для функции IF) |
|||
== |
Равно |
||
!= |
Не равно |
||
> |
Больше |
||
>= |
Больше или равно |
||
< |
Меньше |
||
<= |
Меньше или равно |
||