Иллюстрированный самоучитель по OrCAD

Атрибуты и шаблоны символов

Обсудим синтаксис шаблона TEMPLATE. В задании на моделирование для программы PSpice описание каждого компонента занимает одну строку, в ней в определенном порядке перечисляются имена цепей, к которым подключаются выводы компонента. В частности, выводы биполярного транзистора должны быть перечислены в порядке коллектор-база-эмиттер.

Пусть, например, символ транзистора КТ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^@REFDES...
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.