Атрибуты и
шаблоны символов
Кроме
того, пользователь имеет возможность задать любые атрибуты по формату <имя
атрибута>=<значение>
Допускается рекурсия атрибутов.
Пусть, например, символ транзистора КТ315А имеет выводы с именами В (база), С
(коллектор), Е (эмиттер) и атрибуты MODEL =KT315A, REFDES=Q?. Тогда его атрибут
TEMPLATE должен иметь вид:
TEMPLATE=Q^@REFDES %C %B %E ©MODEL
Если на принципиальной схеме, созданной редактором PSpice Schematics, имеется
транзистор с позиционным обозначением VI, его база подключена к цепи с именем
5, коллектор — 22, а эмиттер — к неименованной цепи, которой по умолчанию присвоено
имя $N_0004, то в списке соединений, составленном по команде Analyses>Create
Netlist, появятся строки:
.ALIASES
Q_V1 Q1(C=22 B=5 E=$N_0004)
.ENDALIASES
Q_V1 22 5 $N_0004 KT315A
Здесь после директивы .ALIASES программы PSpice приведен список соответствий имен
выводов символа транзистора именам цепей схемы, к которым они подключены. В последней
строке указано имя транзистора на схеме, перечислены имена цепей, к которым подключены
его выводы, и имя модели.
Перечень стандартных символов (библиотеки abm.slb, analog.slb, breakout.slb, port.slb,
source.slb, special.slb) приведен в Приложении 2 [7].
Перейдем к систематическому
описанию синтаксиса шаблона TEMPLATE. Шаблон состоит из списка атрибутов. Атрибуты,
состоящие из стандартных символов, копируются в список соединений без
изменений. Стандартные символы состоят из алфавитно-цифровых символов, знаков
«$», «_», пробелов и знаков пунктуации.
Если перед именем атрибута
помещен специальный знак «@», «?», «~», «#»
или «&», то в зависимости от его вида атрибуты шаблонов заменяются
следующими величинами:
@<имя> — значением атрибута <имя>. В отсутствие
указанного атрибута или его значения выдается сообщение об ошибке;
&<имя>
— значением атрибута <имя>, если этот атрибут определен;
?<имя>s...s — заменяется текстом, помещенным между одинаковыми символами
s, если атрибут определен;
~<имя>s...s — заменяется текстом, помещенным между одинаковыми
символами s, если атрибут не определен;
#<имя>s...s — производятся те же действия, что при наличии знака «?»,
но остальная часть шаблона удаляется, если <имя> не определено.
Символы s, ограничивающие текст, могут быть любыми неалфавитными символами (сами
они в список соединений не переносятся). Внутри этого текста допускается вложение,
т.е. размещение атрибутов, предваряемых специальными знаками.
Знак «^» также
специальный. Он заменяется указанием полного пути доступа к компонентам, имеющим
иерархическую структуру. Для компонентов, находящихся на высшем уровне иерархии,
в списке соединений этот знак заменяется знаком подчеркивания «_».
Последовательность знаков «\п» приводит к переходу на следующую строку
в списке соединений. Так что шаблон TEMPLATE, который размещается на одной строке
практически неограниченной длины, в списке соединений может быть размещен на нескольких
строках. Кроме того таким способом в шаблоне TEMPLATE можно описать подключение
к основному компоненту ряда дополнительных (например, учесть сопротивление потерь
катушки индуктивностей и т.п.).
Имена выводов в шаблоне предваряются знаком «%». Имена выводов символов
перечисляются в шаблоне в том порядке, в котором они должны быть записаны для
каждого компонента по правилам PSpice (см. разд. 4.2 — 4.3). В списке соединений
они замещаются именами цепей, к которым они подсоединены на схеме. В шаблоне под
именем вывода понимаются все символы, расположенные между символом «%»
и первым разделителем (пробелом или запятой).
Как известно, в программе
PSpice имена компонентов в списке соединений должны начинаться с префикса, обозначающего
их тип (R — резистор, Q — биполярный транзистор и т.п.). Поэтому, чтобы избежать
ошибок, имена символов компонентов в библиотеке символов редактора PSpice Schematics
состоят из префикса типа, полного иерархического пути и позиционного обозначения.
Это обеспечивается с помощью определенной структуры шаблона. Например, атрибут
TEMPLATE резистора начинается конструкцией:
TEMPLATE=R
A @REFDES ...
Приведем для иллюстрации перечень параметров нескольких компонентов и соответствующие
им строки в списке соединений.
1) Резистор, включенный к узлам 2 и 5 схемы и имеющий
позидионное обозначение R3, имеет атрибуты:
REFDES=R?
VALUE=1k
ТС=0.001
PART=R
TEMPLATE=R A @REFDES %1 %2 ©VALUE ?ТСЯС=@ТС/
В списке соединений ему соответствует строка: R_R325 1k TC=0.001
Если
атрибут ТС (температурный коэффициент сопротивления) не будет задан, то в этой
строке параметр ТС будет отсутствовать.
2) Биполярный транзистор, включенный между узлами 7 (коллектор), 10 (база)
и 11 (эм,иттер) и имеющий позиционное обозначение VT8, имеет атрибуты:
REFDES=Q?
MODEL=KT315A
VALUE=
TEMPLATE=Q^@REFDES %C %B %E @MODEL ?VALUE/@VALUE/
В списке соединений ему соответствует строка Q_VT871011 KT315A
Атрибут VALUE зарезервирован
для введения значения коэффициента кратности AREA.
3) Переменное сопротивление
R4, включенное между узлами 3, 4 и 5 (средняя точка), имеет атрибуты:
REFDES=R?
PART=POT
VALUE=Tk
SET=0.5
TEMPLATE=RT A @REFDES %1 %t {(@VALUE*(1-@SET))+.001}
\nRB^@REFDES %t %2 {(@VALUE*@SET)+.001)
В списке соединений ему соответствуют две строки (благодаря наличию параметра
\п):
RT_R4 3 5 {(1k*(1-0.5))+0.001} (верхняя часть потенциометра)
RB_R4 5 4 {(1k*0.5)+0.001}
(нижняя часть потенциометра)
Здесь атрибут. SET задает относительное значение сопротивления нижней секции потенциометра
(т.е. определяет позицию движка потенциометра).
4) Предположим, что
имеется макромодель Z, имеющая два вывода А и В и параметр G. Если в основной
схеме параметр G не определен, то в макромодель передается значение по умолчанию
1000. Для обеспечения возможности редактировать этот параметр при работе со схемой
символу макромодели присвоим атрибут G и зададим шаблон TEMPLATE вида:
X^@REFDES %А %В Z PARAMS: ?G|G=@G| ~G|G=1000|
Если эту макромодель, имеющую позиционное обозначение U22, подключить к узлам
11 и 12 и задать параметр G=1024, то в списке соединений будет создана строка
X_U22 11 12 Z PARAMS: G=1024
Если же на схеме не задать параметр G, то эта строка будет иной:
X_U2211 122 PARAMS: G=100
0
5) Символы директив. В библиотеке special.slb имеется несколько символов
LIB, INCLUDE, IC1, IC2, NODESET1, NODESET2, PARAM, OPTPARAM (CM. Приложение 2
[7]), используемых для задания директив моделирования, отсутствующих в диалоговом
окне команды Analysis>Setup. Эти символы размещаются на чертеже либо
в любом свободном месте, как символы LIB, INCLUDE и др., либо подсоединяя их к
узлам схемы. Имя директивы заносится в шаблон TEMPLATE символа, а ее содержание
задается при редактировании соответствующего атрибута. Например, символ LIB, используется
для включения в задание на моделирование имени файла библиотеки моделей с помощью
директивы .LIB. Его атрибуты имеют вид:
REFDES=LIB? FILENAME=<имя файла> TEMPLATE=.LIB "@FILENAME"
При указании имени файла EVAL.LIB
в списке соединений ему будет соответствовать строка
.LIB "EVAL.LIB"
6) Резистор, сопротивление
которого имеет случайный разброс, имеет атрибуты
REFDES=R?
TEMPLATE=R^@REFDES %1'%2 ?MODEL/@MODEL/ @VALUE
VALUE=1k
MODEL=MR
Имя модели
резистора, в которой задаются параметры случайного разброса его сопротивления,
указывается в атрибуте MODEL. Например, 5%-ный разброс сопротивления, имеющего
равномерный закон распределения, задается с помощью модели
.model MR RES (R=1
DEV=5%)
Имя этой
модели указывается в атрибуте MODEL=MR.
Текстовое описание модели .model ... может быть включено в любую имеющуюся текстовую
библиотеку моделей или в собственную библиотеку пользователя. В последнем случае
ее имя должно быть включено в файл nom.lib или, что более удобно, указано в файле
конфигурации pspice.ini по команде Analysis>Library and Include Files.
Другой, более удобный способ, заключается в введении описания директивы .model
непосредственно в шаблон резистора:
REFDES=R?
TEMPLATE=R^@REFDES %1 %2 ?TOLERANCE |R^@REFDES| @VALUE ?TOLERANCE
|\n.model R^@REFDES RES R=1 DEV=@TOLERANCE%| VALUE=1k PART=R TOLERANCE=
Теперь если такой резистор
поместить на схему, присвоить ему позиционное обозначение R1 и задать значение
атрибута TOLERANCE=20%, то в списке соединений ему будут соответствовать строки:
R_R1 0 1 R_R1 1k
.model R_R1 RES R=1 DEV=20%
7) Приведем еще пример двухобмоточного воздушного трансформатора XFRM_LINEAR:
REFDES=TX?
TEMPLATE=K^@REFDES L1 ^@REFDES L2^@REFDES @COUPLING
\nL1*@REFDES %1 %2
@L1_VALUE \nL2 A @REFDES %3 %4 @L2_VALUE
COUPLING=
L1_VALUE=
L2_VALUE=
Если
на схеме присвоить трансформатору позиционное обозначение ТХ1 и задать значения
атрибутов коэффициента связи COUPLING=0.75 и индуктивно-стей Ll_VALUE=10m, L2_VALUE=25m,
в списке соединений ему будут соответствовать строки:
К_ТХ1 L1_TX1 L2_TX1
0.75 L1_TX1 1 0 10m L2 ТХ1 2 0 25m
Alias
— псевдоним (дополнительное имя) цепи, шины или компонента
Annotation — простановка позиционных
обозначений компонентов и распределение (упаковка) секций компонентов по корпусам
ANSI — American National Standards Institute — американский национальный институт
стандартов
Aperture — апертура — диафрагма фотоплоттера, с помощью которой производится засветка
фоточувствительного слоя (имеет различные размеры и форму)
Aperture list — текстовый
файл, содержащий размеры всех используемых встроенных апертур конкретного фотоплоттера
Определенный интеграл как
функция верхнего предела Производная определенного интеграла по верхнему пределу
в точке x равна значению подынтегральной
функции в точке x.
Ascend — переход на одну ступень вверх в иерархической структуре
ASCII
— American Standard Code for Information Interchange — наиболее распространенный
способ кодирования текстовой информации
Attribute — характеристика объекта
Attach — присоединение
| |