Структура задания на моделирование
Задание на моделирование для программы PSpice заносится в текстовые файлы. При графическом вводе схем с помощью программы Schematics создаются три файла задания с одним и тем же именем и расширениями имени .cir, .net и .als. При составлении этого задания непосредственно с помощью текстового редактора достаточен один файл .cir. На бумаге составляется принципиальная схема, и присваиваются имена всем ее узлам (при графическом вводе с помощью Schematics это делать необязательно). Имена узлов могут быть целыми числами от 0 до 9990 или алфавитно-цифровыми символами длиной не более чем 131 символ. В качестве этих символов используются буквы латинского алфавита от A до Z, цифры 0, 1, ..., 9 и знаки “$”, “_”, “*”, “/”, “%”. Стандартное обозначение ряда узлов приведено в табл. 3.1.
Таблица 3.1
Имя узла | Напряжение/уровень | Описание | |||
0 | 0 В | Аналоговая “земля”
| |||
$G_CD4000_VDD | 5 В | Источник питания к-МОП ИС | |||
$G_CD4000_VSS | 0 В | ” | |||
$G_DPWR | 5 В | Источник питания ТТЛ ИС | |||
$G_DGND | 0 В | ” | |||
$G_ECL_10K_VEE | -5,2 В | Источник питания ЭСЛ 10К ИС | |||
$G_ECL_10K_VCC1 | 0 В | ” | |||
$G_ECL_10K_VCC2 | 0 В | ” | |||
$G_ECL_100K_VEE | -4,5 В | Источник питания ЭСЛ 100К ИС | |||
$G_ECL_100K_VCC1 | 0 В | ” | |||
$G_ECL_100K_VCC2 | 0 В | ” | |||
$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]), а V(I2) –напряжение на источнике тока I2. Заметим, что в программе Probe при ссылке на алфавитно-цифровые имена узлов квадратные скобки не нужны, они отсутствуют и в выходном файле с расширением .out.
В программе существует соглашение, что все узлы, имена которых начинаются с символов $G_, являются глобальными, например узел $G_POS. Глобальные узлы используются в схемах, имеющих макромодели. Глобальные узлы с одинаковыми именами автоматически соединяются в основной цепи и во всех макромоделях. С их помощью удобно прокладывать цепи питания, синхронизации и т. п. (узел “земля” 0 всегда является глобальным). Глобальные узлы с произвольными именами назначаются с помощью директивы .GLOBAL (см. разд. 3.3).
После именования узлов составляют задание на моделирование, которое заносится в файл. Имя файла произвольное, в качестве расширения имени рекомендуется использовать .cir, воспринимаемое программой PSpice по умолчанию. Первая строка файла – строка заглавия, которая затем выводится в виде заголовка в выходном файле (в ней может быть помещен любой текст, не содержащий кириллицу). Строки комментариев содержат символ “*” в первой позиции (в них допускается использование и кириллицы). Конец любой строки после знака “;” также воспринимается как комментарий. Последняя строка файла .END. Порядок ввода промежуточных строк значения не имеет, за небольшим исключением:
– строка описания функции .FUNC должна быть помещена до ссылки на нее;
– директива .OPTIONS NOECHO запрещает запись в выходной файл расположенной после нее части описания схемы.
Строка продолжения начинается с символа “+” в первой позиции. Число пробелов между операторами в строке произвольное. Пробелы и запятые или знаки равенства эквивалентны.
Внимание! Программа PSpice не различает большие и малые буквы.
В одном файле можно объединить задания на моделирование нескольких цепей; каждое задание начинается со своего заголовка и заканчивается директивой .END.
При наличии ошибок в задании на моделирование, обнаруженных на этапе его трансляции или при выполнении моделирования, на экран и в выходной файл с расширением имени .out выводятся сообщения об ошибках, основные из которых перечислены в Приложении 2.
Предложения входного языка программы PSpice делятся на описания компонентов и директивы.
Описанием компонента
считается любая строка, не начинающаяся с символа “.” (кроме первой строки и строк комментариев и продолжений). Описание компонента имеет следующую структуру:
<имя компонента> <номера двух или более узлов> [<имя модели>]
+ <числовые данные>
Имя компонента состоит из последовательности символов латинского алфавита и цифр, общая длина имени не должна превосходить 131 символа (рекомендуется не более 8 символов). Первый символ – одна из букв латинского алфавита от A до Z, далее в любом порядке – алфавитно-цифровые символы и знаки “$”, “_”, “*”, “/”, “%”. Первый символ имени компонента определяет его тип, например R1, ROUT, Q12 (табл. 3.2).
Таблица 3.2
Первый символ имени |
Тип компонента |
B |
Арсенид-галлиевый полевой транзистор (GaAsFET) с каналом n-типа |
C |
Конденсатор |
D |
Диод |
E |
Источник напряжения, управляемый напряжением (ИНУН) |
F |
Источник тока, управляемый током (ИТУТ) |
G |
Источник тока, управляемый напряжением (ИТУН) |
H |
Источник напряжения, управляемый током (ИНУТ) |
I |
Независимый источник тока |
J |
Полевой транзистор с управляющим p– n-переходом (FET) |
K |
Связанные индуктивности и линии передачи |
L |
Индуктивность |
M |
МОП-транзистор (MOSFET) |
N |
Аналого-цифровой преобразователь на входе цифрового устройства |
O |
Цифро-аналоговый преобразователь на выходе цифрового устройства |
Q |
Биполярный транзистор |
R |
Резистор |
S |
Ключ, управляемый напряжением |
T |
Линия передачи |
V |
Независимый источник напряжения |
W |
Ключ, управляемый током |
U |
Цифровое устройство |
X |
Макромодель |
Заметим, что помимо перечисленных выше компонентов схем в состав моделируемого устройства могут входить и не электронные элементы (электрические машины, системы автоматического управления и др.), оформленные в виде макромоделей.
Номера узлов подключения компонента к схеме перечисляются в определенном порядке, установленном для каждого компонента (см. ниже). Имя модели компонента не является обязательным параметром. Далее указываются численные значения параметров компонента. В программе PSpice осуществляется масштабирование чисел с помощью суффиксов, приведенных в табл. 3.3.
Таблица 3.3
Суффикс |
Масштабный коэффициент |
Наименование |
F |
10 |
Фемто |
P |
10 |
Пико |
N |
10 |
Нано |
U |
10 |
Микро |
MIL |
25,4·10 |
Мил (0,001 дюйма) |
M |
10 |
Милли |
K |
10 |
Кило |
MEG |
10 |
Мега |
G |
10 |
Гига |
T |
10 |
Тера |
С |
Признак целого числа тактов цифровых сигналов |
Сопротивления, емкости и индуктивности должны быть постоянными величинами (зависимость от времени или от токов и напряжений, к сожалению, не допускается). Они могут быть как положительными, так и отрицательными величинами. Исключение составляет анализ переходных процессов, где отрицательные значения емкостей и индуктивностей могут привести к ошибкам в расчете. В любом случае нулевые значения параметров компонентов не допускаются.
Помимо числовых значений в предложениях входного языка программы могут использоваться идентификаторы параметров, которые заключаются в фигурные скобки { }.
Например, постоянное напряжение источника питания может быть задано с помощью параметра VPOWER:
VP 6 0 DC {VPOWER}
Внутри фигурных скобок допускаются символы арифметических выражений, например:
C2 5 4 {CLOAD*2.5}
Это не допускается при задании:
– параметров NL, F, LEN, R, L, G и C линии передачи;
– температурных коэффициентов резистора TC1, TC2 в его описании (в модели резистора эти выражения допускаются);
– параметров линейно-ломаного сигнала PWL;
– полиномиальных коэффициентов зависимых источников типа E, F, G, H;
– в именах узлов и параметрах директив .AC, .DC и др.
Выражение должно помещаться на одной строке длиной не более 131 символа (громоздкие выражения целесообразно оформлять в виде функции с помощью директивы .FUNCTION). Кроме арифметических выражений допускается использование стандартных функций, приведенных в табл. 3.4.
Таблица 3.4
Функция |
Определение |
Комментарий |
ABS(x) |
Абсолютное значение x |
|
ACOS(x) |
Арккосинус x |
Результат в радианах |
ARCTAN(x) |
Арктангенс x |
|
ASIN(x) |
Арксинус x |
|
ATAN(x) |
Арктангенс x |
|
ATAN2(y,x) |
Арктангенс y/x |
|
COS(x) |
Косинус x |
x в радианах |
COSH(x) |
Косинус гиперболический x |
x в радианах |
DDT(x) |
Производная dx/dt |
Применяется только при анализе переходных процессов |
EXP(x) |
Экспонента числа x |
|
IF(t,x,y) |
x, если t – истинно, y, если t – ложно |
t – булевая переменная |
IMG(x) |
Мнимая часть x |
|
LIMIT(x,min,max) |
min, если x<min, max, если x>max, x, если min<x<max |
Ограничитель с линейной областью |
LOG(x) |
Натуральный логарифм x |
|
LOG10(x) |
Десятичный логарифм x |
|
M(x) |
Модуль x |
Эквивалентно ABS(x) |
MAX(x,y) |
Максимум x, y |
|
MIN(x,y) |
Минимум x, y |
|
P(x) |
Фаза x |
Равна 0 для вещественных чисел |
PWR(x,y) |
Степенная функция |x| |
|
PWRS(x,y) |
+|x|, если x<0 -|x|, если x>0 |
|
R(x) |
Действительная часть x |
|
SDT(x) |
Интеграл |
Применяется только при анализе переходных процессов |
SGN(x) |
Знак x |
|
SIN(x) |
Синус x |
x в радианах |
SINH(x) |
Синус гиперболический x |
x в радианах |
STP(x) |
1, если x0, 0, если x0 |
|
SQRT(x) |
|
|
TAN(x) |
Тангенс x |
x в радианах |
TANH(x) |
Тангенс гиперболический x |
x в радианах |
ATAN(x) |
Арктангенс x |
Результат в радианах |
TABLE(x,x,y,...) |
Табличная зависимость функции y от x |
Задаются координаты точек (x,y), в промежуточных точках используется линейная аппроксимация |
Выражения могут содержать следующие математические операции:
Символ операции |
Назначение |
Арифметические операции |
|
+ |
Сложение |
– |
Вычитание |
* |
Умножение |
/ |
Деление |
Логические операции |
|
~ |
Логическое отрицание |
| |
Логическое ИЛИ |
^ |
Логическое исключающее ИЛИ |
& |
Логическое И |
** |
Бинарный оператор |
Операции отношений (для функции IF) |
|
== |
Равно |
!= |
Не равно |
> |
Больше |
>= |
Больше или равно |
< |
Меньше |
<= |
Меньше или равно |
Таблица 3.5
Имя |
Назначение |
Задание начальных условий |
|
.IC |
Задание начальных условий |
.NODESET |
Задание узловых потенциалов по постоянному току на начальной итерации |
.SAVEBIAS |
Запись в файл узловых потенциалов схемы |
.LOADBIAS |
Считывание из файла узловых потенциалов схемы |
Pасчет стандаpтных хаpактеpистик |
|
.OP |
Передача в выходной файл параметров схемы, линеаризованной в окрестности рабочей точки |
.TF |
Расчет малосигнальных передаточных функций в режиме по постоянному току |
.SENS |
Расчет малосигнальных чувствительностей в режиме по постоянному току |
.DC |
Расчет режима по постоянному току |
.TRAN |
Расчет переходных процессов |
.FOUR |
Спектральный анализ |
.AC |
Расчет частотных характеристик |
.NOISE |
Расчет уровня внутреннего шума |
Многовариантный анализ |
|
.STEP |
Вариация параметров |
.TEMP |
Назначение температуры окружающей среды |
Статистический анализ |
|
.MC |
Статистический анализ по методу Монте-Карло |
.WCASE |
Расчет наихудшего случая |
Управление выдачей результатов |
|
.PLOT |
Представление результатов расчета в выходном файле в виде графиков, построенных в текстовом режиме |
.PRINT |
Представление результатов расчета в выходном файле в виде таблиц |
.PROBE |
Передача данных в графический постпроцессор Probe |
.VECTOR |
Создание файла с результатами моделирования цифровых устройств |
.WATCH |
Выдача промежуточных результатов анализа на экран программы PSpice в текстовом виде |
.WIDTH |
Назначение длины строк выходного файла |
Модели устройств |
|
.MODEL |
Описание моделей компонентов |
.DISTRIBUTION |
Табличное определение закона распределения случайных величин |
.SUBCKT |
Начало описания макромодели |
.ENDS |
Конец описания макромодели |
Вспомогательные файлы, определение функций и параметров |
|
.FUNC |
Определение функции |
.PARAM |
Определение глобальных параметров |
.INC |
Включение во входной файл другого файла |
.LIB |
Подключение библиотеки моделей компонентов |
.END |
Конец задания |
Прочие директивы |
|
.EXTERNAL |
Спецификация внешних портов |
.OPTIONS |
Установка параметров и режимов работы программы |
.STIMLIB |
Задание имени файла с описанием внешних воздействий |
.STIMULUS |
Задание внешних воздействий |
Задание текстовых переменных, текстовых выражений или имен файлов, используемых в описании цифровых устройств |
|
Взаимодействие с графическим редактором Schematics |
|
.ALIASES |
Начало списка соответствий имен выводов графических обозначений компонентов именам цепей схемы, к которым они подключены |
.ENDALIASES |
Конец списка соответствий |