Вспомогательные файлы, определение параметров и функций
Функции, определяемые пользователем, задаются по директиве
.FUNC <имя функции>([<аргумент>*]) <тело>
Количество аргументов находится в пределах от 1 до 10. Имя функции назначает пользователь, но оно не должно совпадать с именами встроенных функций, например SIN и др. Тело функции, содержащее ее описание, состоит из арифметических выражений и стандартных функций. Если аргументы отсутствуют, круглые скобки ( ) все равно нужны. Определение функции должно в задании на моделирование предшествовать ее использованию. Тело функции можно записывать на нескольких строках, помещая символ “+” в первой позиции строки продолжения. Приведем примеры (см. также [41]):
.FUNC DR(D) D/57.296
.FUNC E(X) EXP(X)
.FUNC APBX(A,B,X) A+B*X
.FUNC P( ) SIN(0.19634954)
Набор стандартных функций целесообразно записывать в файлы и подключать их к заданию на моделирование директивой .INC.
Глобальные параметры задаются директивами вида
.PARAM <<имя параметра>=<значение>>*
.PARAM <<имя параметра>={<выражение> }>*
Значения параметров могут быть константами или выражениями, содержащими константы или другие параметры. Выражения должны заключаться в фигурные скобки { }.
Введем, например, параметры pi=
, рi2=2, напряжение источника питания VPOWER=5 и используем один из них при описании емкости конденсатора C1:.PARAM pi=3.14159265, pi2=6.2831853, VPOWER=5v
.PARAM VNUM = {8*pi}
C1 2 0 {1/(pi2*10kHz*5k)}
Имена вводимых параметров не должны совпадать с именем текущего времени TIME и именами стандартных параметров
GMIN – минимальная проводимость;
TEMP – текущая температура;
VT – температурный потенциал p–n-перехода.
Директиву .PARAM можно использовать внутри описания макромодели для создания локальных параметров (в Design Center 5 это было запрещено).
С помощью параметров можно определять все параметры моделей устройств и большинство параметров компонентов и директив, за исключением:
– температурных коэффициентов резистора TC1, TC2, задаваемых в описании резистора на схеме (в модели резистора это, конечно, допускается);
– параметров кусочно-линейного источника сигнала PWL;
– линейных и полиномиальных коэффициентов зависимых источников всех типов E, F, G и H (для этого рекомендуется использовать нелинейные источники).
Параметры нельзя использовать для именования узлов цепи и задания значений переменных в директивах моделирования .AC, .DC и др.
Директивы .PARAM можно помещать в библиотечные файлы. В процессе поиска параметров сначала просматривается задание на моделирование, а затем все подсоединенные библиотечные файлы.
Файл библиотеки компонентов
подключается по директиве
.LIB ["имя файла библиотеки"]
В файле библиотеки с указанным именем содержится описание встроенных моделей одного или нескольких компонентов (параметры каждого компонента вводятся по директиве .MODEL) или подсхем (описанных с помощью директив .SUBCKT/.ENDS). В этом же файле могут быть помещены комментарии и обращения к другим директивам .LIB.
При указании в задании на моделирование имени какого-либо конкретного компонента, модель которого содержится в библиотечном файле, в ОЗУ загружается не весь файл, а только его часть, относящаяся к данному компоненту.
Приведем примеры:
.LIB "KT315A.mod" – подключение файла описания модели транзистора КТ315А;
.LIB "QRUS.lib" – подключение файла библиотеки отечественных биполярных транзисторов;
.LIB "D:\PSPICE\LIB\d.lib" – подключение библиотеки диодов, находящейся на диске C в подкаталоге LIB каталога PSPICE.
В том же каталоге, из которого запускается пакет PSpice, может находиться файл каталога библиотек nom.lib, в нем перечислены директивы подключения всех используемых библиотек. Приведем пример этого файла, создаваемого пользователем
.LIB "D:\PSPICE\LIB\qrus.lib"
.LIB "D:\PSPICE\LIB\d.lib"
.LIB "D:\PSPICE\LIB\digit.lib"
В таком случае в задании на моделирование указывается директива .LIB без параметров.
Другая особенность связана с переменной среды DOS SIMLIBPATH (разд. 1.4), с помощью которой указывается перечень каталогов, которые просматривает программа PSpice в поисках библиотечных файлов, не указанных в файле nom.lib. Пусть, например, эта переменная установлена по команде
SET SIMLIBPATH=D:\PSPICE\LIB
Тогда в задании на моделирование достаточно указать имя файла библиотеки без пути доступа к нему, например
.LIB qrus.lib
При работе c графическим редактором Schematics подключение библиотек производится по команде Analysis/Library and Include Files. Причем опции, помеченные звездочкой “*”, делают выбранный библиотечный файл доступным для всех схем, без звездочки – только для текущей схемы.
Индексные файлы библиотек. В программе PSpice для ускорения поиска нужной модели в библиотечном файле введены индексные файлы, имеющие расширение .ind. Они создаются автоматически при первом обращении по директиве .LIB к библиотеке, в которой произведены изменения. Обратим внимание на то, что создание индексного файла требует больших затрат машинного времени, поэтому часто изменяемую часть библиотечного файла целесообразно оформить в виде отдельного файла.
Произвольный файл включается в текст задания на моделирование по директиве
.INC <"имя файла">
Например,
.INC "band.cir"
.INC "D:\MSIM\diode.mod"
Допускаются четыре уровня включения, причем включаемые файлы не должны иметь заголовков и директив .END.
При работе c графическим редактором Schematics подключение произвольных текстовых файлов производится по команде Analysis/Library and Include Files.
Конец задания отмечается директивой
.END
В одном файле могут помещаться задания на моделирование нескольких цепей, каждое из которых начинается с заголовка задания и заканчивается этой директивой.