Редактирование символов компонентов
Режим редактирования символов (УГО компонентов) активизируется из режима редактирования схем одним из двух способов.
1 способ.
На редактируемой схеме выбирается компонент и в меню команда Edit/Symbol. При этом программа предлагает сохранить схему с внесенными изменениями, после чего в новом окне выводится символ компонента, доступный для редактирования (при этом в верхней строке экрана изменяется перечень команд). Режим редактирования символов завершается нажатием левой кнопки на строке заголовка символа или выбором команды File/Close, после чего восстанавливается режим редактирования схем.
2 способ.
Выбор команды File/Edit Library включает режим редактирования символов, после чего по команде File/New создается новая библиотека символов или по команде File/Open открывается существующая.
Редактирование символов компонентов выполняется с помощью ряда команд, сгруппированных в следующих пунктах горизонтального меню:
File – создание и редактирование библиотек символов компонентов, их вывод на принтер или плоттер;
Edit – редактирование символов;
Graphics – создание графического изображения символа;
Part – создание/редактирование описания символа;
Packaging – создание/редактирование информации об упаковке символа компонента в его корпус;
View – изменение масштаба изображения символа компонента на экране;
Options – установка параметров чертежа на дисплее и активизация режимов автоматической нумерации выводов компонентов и простановки их имен;
Window – работа с окнами;
Help – вызов средств помощи.
Приведем сначала краткое описание команд редактирования символов компонентов.
Команда | Назначение | |||||
Меню File | ||||||
New... | Создание нового библиотечного файла. На экране появляется прямоугольник, внутри которого создается символ компонента, и строка заголовка, свидетельствующая о том, что открывается новый файл (сюда заносится имя библиотечного файла, если его нужно сохранить) | |||||
Open... | Открытие существующей библиотеки символов для редактирования | |||||
Close | Закрытие текущего библиотечного файла | |||||
Save (Ctrl+S) | Запись обновленной библиотеки символов в файл с текущим именем. Старая версия библиотеки записывается в каталог BACKUP | |||||
Save As... | Запись обновленной библиотеки символов в файл с новым именем | |||||
Вывод твердой копии символа выбранного компонента текущей библиотеки или всего содержимого библиотеки | ||||||
Printer Select... | Установка параметров принтера: разрешающая способность, размер бумаги, горизонтальное (Landscape) или вертикальное (Portrait) расположение изображения на бумаге | |||||
Current Errors (F10) | Вывод списка ошибок для просмотра, печати или записи в файл | |||||
Exit | Выход из графического редактора | |||||
Меню Edit | ||||||
Undelete (Ctrl+U) | Восстановление последнего удаленного объекта(ов) | |||||
Cut (Ctrl+X) | Удаление с экрана выбранного объекта, который заносится в буфер для возможного переноса на экран по команде Paste | |||||
Copy (Ctrl+C) | Занесение в буфер изображения выбранного объекта для его копирования по команде Paste | |||||
Paste (Ctrl+V) | Нанесение на чертеж последнего объекта, занесенного в буфер по командам Cut или Copy. Место расположения объекта отмечается курсором щелчком левой кнопки мыши | |||||
Change (Ctrl+H) | Разрешение редактирования выбранного вывода, текста или атрибутов, ассоциированных с символом компонента | |||||
Pin Type (Ctrl+T) | Изменение изображения вывода, назначенного по умолчанию: | |||||
Normal | нормальный сигнал | |||||
Bubble | сигнал с инверсией | |||||
Clock | вход тактовых импульсов | |||||
Inverted Clock | инверсный вход тактовых импульсов | |||||
ANSI Low Activ In | вход в стандарте ANSI | |||||
ANSI Low Activ Out | выход в стандарте ANSI | |||||
ANSI Inverted Clock | инверсный вход тактовых импульсов в стандарте ANSI | |||||
Zero Length | вывод нулевой длины | |||||
Model... | Редактирование директивы .MODEL или .SUBCKT текущего символа. По умолчанию все изменения заносятся в файл user.lib | |||||
Stimulus | Вызов редактора StmEd, если редактируется символ внешнего воздействия | |||||
Push | Переход в режим редактирования схемы замещения иерархического символа. Если такой схемы замещения нет, то создается пустой экран схемного редактора, на котором размещены порты интерфейса; их имена проставляются в соответствии с именами выводов символа | |||||
Set Schematic... | Вывод перечня схем, ассоциированных с данным символом, для внесения в него изменений | |||||
Check Schematic | Проверка взаимного соответствия глобальных и интерфейсных портов и глобальных цепей, к которым подключены скрытые выводы, иерархического символа и его схемы замещения | |||||
Rotate (Ctrl+R) | Вращение выбранного объекта на 90 против часовой стрелки | |||||
Flip (Ctrl+F) | Зеркальное отображение объекта | |||||
Align Horizontal | Выравнивание точек привязки (origin) всех выбранных объектов (линий, дуг, текста и т. п.) по горизонтали. Объекты выравниваются по самому левому объекту | |||||
Align Vertical | Выравнивание точек привязки (origin) всех выбранных объектов (линий, дуг, текста и т. п.) по вертикали. Объекты выравниваются по самому верхнему объекту | |||||
Меню Graphics | ||||||
Arc | Рисование дуги. Нажатием левой кнопки мыши отмечаются концы отрезка, на котором строится дуга; перемещением курсора (в форме карандаша) устанавливается необходимый размер дуги, которая фиксируется одинарным нажатием левой кнопки | |||||
Box | Рисование прямоугольника. Нажатием левой кнопки отмечаются его противоположные углы | |||||
Circle | Рисование окружности. Левой кнопкой отмечаются ее центр и любая точка на окружности | |||||
Line | Рисование линии. Левой кнопкой отмечаются начало линии и точки излома. Построение завершается двукратным нажатием левой кнопки | |||||
Pin | Добавление вывода к символу компонента и разрешение редактирования его имени и номера, а также электрического типа вывода, используемого в режиме поиска ошибок схемы ERC: | |||||
don't care | не проверяется | |||||
input | вход | |||||
output | выход | |||||
bidir | двунаправленный | |||||
highZ | высокого импеданса | |||||
open collec | открытый коллектор | |||||
power | подключения источника питания | |||||
Text | Добавление текстовой строки | |||||
Bbox | Изменение размеров прямоугольного окна, в котором размещен символ компонента | |||||
Origin | Изменение положения начала координат | |||||
Repeat ([Пробел]) | Повторение последней команды | |||||
Меню Part | ||||||
New... | Разрешение на создание в текущей библиотеке символов нового компонента | |||||
Copy... | Копирование символа компонента из другой библиотеки и придание ему статуса текущего компонента (его имя помещается на верхней строке меню) | |||||
Get... (Ctrl+G) | Выбор компонента из текущей библиотеки для редактирования его символа, которое отображается в окне редактора | |||||
Remove... | Удаление компонента из текущей библиотеки | |||||
Save to Library... | Запись в текущую библиотеку символов выбранного компонента | |||||
Attributes... | Разрешение ввода новых атрибутов компонента или редактирование существующих. Кроме того, можно изменить любые атрибуты системы | |||||
Definition (Ctrl+D) | Разрешение редактирования определений компонента: описания компонента – Description, его имени - Part name, списка подобных параметров – Alias list, имени подобного компонента – AKO (применяется для сокращения объема библиотеки символов) и типа символа (Type). Параметр Type принимает значения: | |||||
component | стандартные компоненты типа R, C ... или иерархические символы; должны иметь атрибуты REFDES, TEMPLATE, PART и MODEL | |||||
annotation | неэлектрические символы | |||||
hier port | соединения между разными уровнями иерархии; имеют атрибут LEVEL | |||||
global port | глобальные узлы, соединяющиеся друг с другом на всех страницах схемы (например, соединение с “землей”); имеют атрибут LEVEL | |||||
offpage | соединители цепей на одной или разных страницах; имеют атрибут LEVEL | |||||
title block | угловой штамп чертежа | |||||
border | рамка чертежа | |||||
marker | маркер для вывода графиков | |||||
viewpoint | отображение напряжения узла цепи в рабочей точке | |||||
current probe | отображение тока вывода в рабочей точке | |||||
optimizer parameter | задание значений оптимизируемых параметров | |||||
stimulus | указание узла, к которому подключается источник сигналов, созданный с помощью StmEd | |||||
simulation control | задание команд типа .IC, .NODESET | |||||
Pin List (Ctrl+P) | Разрешение редактирования всех выводов компонента | |||||
Get Symbol Graphics | Перенос символа существующего компонента в качестве символа текущего компонента | |||||
Export | Запись графического и текстового описания компонента из текущей библиотеки в текстовый файл .sym для последующего переноса символа компонента из одной библиотеки символов в другую | |||||
Inport | Чтение текстового файла и придание ему статуса символа текущего компонента с последующей возможностью включения в текущую библиотеку символов | |||||
Меню Packaging | ||||||
New... | Создание новой упаковочной информации: имя прототипа – ACO, количество вентилей в корпусе – # of Gates, количество типов вентилей – # of Gate Types, тип корпуса (footprint) – Package Types, список имен и номеров выводов – Pin Assignments, список логически эквивалентных выводов – Pin Swaps | |||||
Copy... | Копирование упаковочной информации | |||||
Get... | Редактирование упаковочной информации в текущей библиотеке Package Library | |||||
Remove... | Удаление упаковочной информации из текущей библиотеки | |||||
Edit... (Ctrl+E) | Редактирование упаковочной информации текущего символа | |||||
Configure Package Types... | Просмотр списка типов корпусов (DIP, SOIC, SOJ, TO, TSOP, PQFP, DISCRETE, LCC) и редактирование перечня корпусов каждого типа | |||||
Export | Запись упаковочной информации одного или более символов в текстовый файл .pkg | |||||
Import | Чтение упаковочной информации из текстового файла .pkg | |||||
Меню View | ||||||
Fit (Ctrl+N) | Изменение масштаба изображения так, чтобы на полном экране разместились все имеющиеся на схеме компоненты, проводники и соединители | |||||
In (Ctrl+I) | Увеличение масштаба изображения (центр поля зрения указывается курсором). Степень увеличения назначается с помощью параметра ZOOMFACTOR в файле msim.ini | |||||
Out (Ctrl+O) | Уменьшение масштаба изображения (центр поля зрения указывается курсором) | |||||
Area (Ctrl+A) | Вывод на весь экран окаймленной части изображения | |||||
Previous | Возвращение к предыдущему масштабу изображения | |||||
Entire Symbole | Вывод на экран полного изображения символа | |||||
Redraw (Ctrl+L) | Перечерчивание экрана | |||||
Pan-New Center | Расположение символа симметрично относительно точки расположения курсора без изменения масштаба | |||||
Меню Options | ||||||
Display Options | Установка следующих опций дисплея: | |||||
Grid On | включение сетки | |||||
Snap to Grid | автоматическое перемещение объекта для привязки к узлам сетки при его размещении вне сетки чертежа | |||||
Stay on Grid | привязка объектов к узлам сетки | |||||
Status Line | вывод строки состояний | |||||
Cursor X and Y | вывод текущих координат курсора в строке состояний | |||||
Grid Spacing | шаг сетки | |||||
Gravity | радиус области захвата | |||||
Text Stay on Grid | привязка текста к узлам сетки | |||||
Spacing | расстояние между повторяющимися объектами | |||||
Toolbar | включение/выключение строки инструментов с изображением пиктограмм | |||||
Auto-Repeat | Автоматическое размещение на экране одного или нескольких объектов, аналогичных предыдущему, на заданном расстоянии по осям X и Y (после двойного щелчка мышью) | |||||
Set Display Level... | Разрешение размещения на экрана и/или твердой копии текста и других параметров компонента (см. их перечень в разд. 2.2) | |||||
Pan & Zoom | Изменение коэффициентов масштабирования | |||||
Меню Window | ||||||
New Schematic Window | Открытие нового окна, на котором размещена текущая схема для одновременного просмотра разных фрагментов одной и той же схемы большого размера | |||||
Close | Закрытие текущего окна | |||||
Arrange | Упорядочивание размещения открытых окон | |||||
Current Window List | Список открытых окон | |||||
Меню Help | ||||||
Index | Вывод списка разделов встроенной инструкции | |||||
Keyboard | Вывод списка назначений функциональных клавиш и комбинаций клавиш | |||||
Menu Commands | Вывод инструкции о всех командах | |||||
Procedures | Вывод правил настройки конфигурации | |||||
Using Help | Вывод кратких указаний по работе со встроенной инструкцией | |||||
About... | Вывод номера версии программы и ее регистрационного номера | |||||
Рассмотрим подробнее методику создания нового символа компонента.
1. Сначала из режима редактирования схем по команде File/Edit Library переходят в режим редактирования символов, о чем свидетельствует изменение перечня команд в горизонтальном меню, и выбирают команду установки параметров Options/Display Options (рис. 2.8). На открывшейся панели задают шаг сетки и другие параметры. Обратим внимание, что в режиме редактирования символов устанавливается та же система единиц, что принята в режиме редактирования текущей схемы, поэтому для ее изменения нужно вернуться обратно в этот режим и выполнить команду Options/Page Size. Для создания нового символа выбирается команда Part/New и на экране появляется панель диалога для описания символа (рис. 2.9). Эта же панель активизируется по команде Part/Definition
для редактирования следующей информации о новом или существующем символе:
Рис. 2.8. Экран редактора Schematics в режиме редактирования символов |
Part Name – имя компонента, под которым он занесен в библиотеку символов;
Alias List – список псевдонимов символа; при размещении символа на схеме можно равноправно указывать как основное имя (Part Name), так и любой из псевдонимов (Alias);
AKO Name – имя прототипа, т. е. компонента, графика которого, выводы и все атрибуты переносятся для построения нового символа. При этом в текущем компоненте можно редактировать и добавлять новые атрибуты и изменять текстовое описание, графику можно изменять только у прототипа (символ компонента и его прототип должны находиться в одной и той же библиотеке);
Type – тип компонента, принимающий значения component, annotation, hier port, global port, offpage, title block, border, marker, viewpoint, current probe, optimizer parameter, simulation control.
Для ввода текстовых переменных курсором выбирается соответствующее поле редактирования (см.
рис. 2.9) и на клавиатуре набирается текст. При этом для внесения имени псевдонима в список курсором указывается командная кнопка Add. Работа в диалоговом окне завершается выбором OK.
Рис. 2.9. Панель описания символа |
3. Выводы компонента изображаются по команде Graphics/Pin. На экране появляется изображение вывода, помеченное крестиком, и линия вывода, которые перемещаются вместе с курсором. Прежде чем нажатием левой кнопки зафиксировать расположение вывода, можно “горячими” клавишами Ctrl+F, Ctrl+R и Ctrl+T зеркально отобразить линию вывода (Flip), повернуть ее на 90 (Rotate) и изменить тип вывода (Pin Type). Имеются следующие типы выводов:
Normal – нормальный сигнал;
Bubble – сигнал с инверсией;
Clock – вход тактовых импульсов;
Invert Clock – инверсный вход тактовых импульсов;
ANSI Low Active In – вход в стандарте ANSI;
ANSI Low Active Out – выход в стандарте ANSI;
ANSI Invert Clock – инверсный вход тактовых импульсов в стандарте ANSI;
Zero Length – вывод нулевой длины.
После фиксации вывода редактор предлагает разместить следующий вывод. Этот режим заканчивается двукратным нажатием левой кнопки.
В заключение по команде Graphics/Origin
курсором указывается положение начала координат на чертеже символа, которое отмечается квадратиком (см. рис. 2.10). К нему привязан курсор при размещении символа на схеме.
Рис. 2.10. Символ операционного усилителя |
д. Изменения номеров и/или имен выводов производятся в меню команды Part/Pin List (рис. 2.11). В списке имен выводов, помещенном в правом верхнем углу меню, выбирается имя редактируемого вывода, и оно переносится в окно Pin Name. После изменения имени вывода нужно включить/выключить опцию Display Name, чтобы это имя было видно/не видно на схеме. Одновременно редактируется тип вывода и его ориентация. На панели атрибутов вывода (Pin Attributes) изменяется номер вывода и указывается, что нужно делать, если на схеме к данному выводу не подключена ни одна цепь (панель If unconnected). Возможны следующие варианты:
Error – выводится сообщение об ошибке (список соединений не составляется);
RtoGND – вывод подключается к “земле” через резистор с большим сопротивлением;
Рис. 2.11. Редактирование списка выводов символа |
4. После нанесения на чертеж всех выводов компонента и их атрибутов может возникнуть необходимость их редактирования. Для задания типа вывода его помечают одинарным нажатием левой кнопки мыши и затем по команде Edit/Pin Type (Ctrl+T) назначают тип вывода (одинарное выполнение этой команды переключает тип вывода на одну позицию в списке типов). Тип вывода, а также все его остальные атрибуты вводятся в панели диалога (рис. 2.12), которая распахивается после двукратного нажатия левой кнопки при расположении курсора на выбранном выводе (аналогично команде Edit/Change). В нем редактируются следующие параметры:
Pin Name – имя вывода;
Type – тип графического изображения вывода (т. е. указателя вывода);
Hidden – признак скрытого вывода, который не отображается на схеме (например, на схемах цифровых устройств не принято изображать цепи подключения питания и “земли”, для операционных усилителей не всегда указывают подключение цепей питания), но необходим для моделирования (крестик слева от опции Hidden свидетельствует о ее активизации);
Net – имя проводника, к которому на схеме должен быть подключен скрытый вывод (на рис. 2.12 показано, что скрытый вывод +U подключения источника питания микросхемы на рис. 2.10 должен быть соединен с цепью, имеющей на схеме имя $G_+15V);
Display Name – вывод на чертеж схемы имен выводов;
Size, Orient, Hjust, Vjust – размер, ориентация, горизонтальная и вертикальная привязка имен выводов;
Pin – порядковый номер вывода;
ERC – электрический тип вывода, используемый только при выполнении команды поиска ошибок схемы Electrical Rule Check, принимающий значения:
don't care – не проверяется;
input – вход;
output – выход;
Рис. 2.12. Редактирование отдельного вывода |
highZ – высокого импеданса;
open collec – открытый коллектор;
power – подключение источника питания.
Из рассматриваемой панели выбором командной кнопки Edit Attributes переходят в панель диалога для редактирования атрибутов выводов.
Просмотр имен всех выводов и при необходимости их редактирование производятся по команде Part/Pin List (Ctrl+P), панель диалога которой изображена на рис. 2.11.
5. На заключительном этапе создания символа компонента редактируют введенные ранее и дописывают его новые атрибуты. Это производится одним из двух способов.
1 способ. По команде Part/Attributes
возможно как редактирование всех существующих атрибутов символа, так и определение новых, если они не конфликтуют с ними, с помощью панели диалога редактирования атрибутов (рис. 2.13).
Рис. 2.13. Атрибуты компонента |
В связи с тем что способ редактирования атрибутов в различных панелях диалога одинаков, обсудим работу в изображенной на рис. 2.13 панели с наиболее полной информацией. В этой панели имеются следующие поля:
Name – задание имени атрибута (если атрибут с введенным именем существует, то можно отредактировать его значение);
Value – значение атрибута;
What to Display (что выводить на экран):
Value only – только значение атрибута;
Name only – только имя атрибута;
Both name and value – имя и значение атрибута;
Both name and value only if value define – имя и значение атрибута, если его значение определено;
None – ничего;
Display Characteristics (спецификация параметров текста атрибута):
Layer – задание слоя, на котором размещается имя и/или значение атрибута (видимость на экране информации, размещенной в разных слоях, устанавливается по команде Options/Set Display Level);
Orient – ориентация текста атрибута;
Hjust – привязка текста по горизонтали (левая, по центру, правая);
Vjust – привязка текста по вертикали (нижняя, по центру, верхняя);
Size – масштаб изображения текста в процентах.
Changeable in schematic – разрешение изменять значение атрибута в режиме редактирования схем;
Keep relative orientation – вращение атрибута вместе с символом.
Рис. 2.14. Изменение отдельного атрибута компонента |
COMPONENT – имя упаковочной информации компонента. Этот атрибут не нужен, если имя упаковочной информации совпадает с именем символа компонента PART;
GATE – имя секции компонента A, B, C, D и т. д. Не указывается, если компонент состоит из одной секции. При размещении символов на схеме всем им присваивается имя первой секции A, добавляемой к позиционному обозначению, например U1A, U2A. Автоматическое распределение секций по корпусам компонентов производится по команде Tools/Annotate. Изменение имен секций выполняется вручную двойным щелчком по атрибуту REFDES или по команде Edit/Attribute;
GATETYPE – тип секции. Применяется, когда компонент состоит из секций разных типов. Например, ИС 533ТР2 состоит из четырех триггеров, два из которых имеют дополнительный вход установки. Секции каждого типа имеют отдельные символы с разными атрибутами GATETYPE, чтобы правильно назначить номера выводов различных секций;
MODEL – имя модели компонента (должно согласовываться с именами моделей в директивах .MODEL и .SUBCKT, размещаемых в библиотечных файлах .lib). Обычно атрибут MODEL помечен звездочкой в списке атрибутов, что означает невозможность его изменения на схеме. Для изменения имени модели или создания ее копии применяется команда Edit/Model;
PART – имя символа компонента, под которым он заносится в библиотеку символов;
PKGREF – позиционное обозначение корпуса компонента. Если корпус состоит из четырех секций A, B, C и D, то все эти секции имеют один и тот же атрибут PKGREF, например U1, и разные атрибуты REFDES U1A, ..., U1D. Атрибут REFDES образован слиянием атрибутов PKGREF и GATE;
PKGTYPE – тип корпуса компонента, например DIP14, DIP8, SOIC. Если при упаковке компонента указан только один тип корпуса, то атрибуту PKGTYPE это значение присваивается автоматически. Редактирование его возможно по команде Edit/Attributes или при выполнении команды Tools/Annotate;
REFDES – префикс позиционного обозначения, определяющий для программы PSpice тип компонента (например, R – резистор, D – диод и т. п.);
SIMULATIONONLY – наличие этого атрибута означает, что данный символ используется только для моделирования, включается в список соединений, но не размещается на печатной плате. К таким символам относятся источники сигналов из библиотеки source.slb, типовые компоненты из библиотеки breakout.slb и специальные символы из библиотеки special.slb;
TEMPLATE – шаблон для назначения соответствий графических обозначений выводов компонентов с их реальным физическим смыслом, что необходимо для правильного составления списка соединений схемы (например, для транзистора необходимо указать, какие выводы на его графическом обозначении соответствуют коллектору, базе и эмиттеру) и задания параметров компонента (имя модели и др.);
IPIN[<имя скрытого вывода>] – имя цепи схемы, к которой подключается скрытый вывод.
Цифровые интегральные схемы имеют специфические атрибуты (см. гл. 6):
IO_LEVEL – тип интерфейса, вставляемого автоматически между аналоговыми и цифровыми компонентами;
MNTYMXDLY – назначение значений задержек распространения сигналов (по умолчанию, минимальное, типичное и максимальное).
Кроме того, пользователь имеет возможность задать любые атрибуты по формату
<имя атрибута>=<значение>
Допускается рекурсия атрибутов.
6. Обсудим синтаксис шаблона TEMPLATE. В задании на моделирование для программы PSpice описание каждого компонента занимает одну строку, в ней в определенном порядке перечисляются имена цепей, к которым подключаются выводы компонента. В частности, выводы биполярного транзистора должны быть перечислены в порядке коллектор–база–эмиттер.
Пусть, например, символ транзистора KT315A имеет выводы с именами B (база), C (коллектор), E (эмиттер) и атрибуты MODEL =KT315A, REFDES=Q?. Тогда его атрибут TEMPLATE должен иметь вид:
TEMPLATE=Q^@REFDES %C %B %E @MODEL
Если на принципиальной схеме, созданной редактором Schematics, имеется транзистор с позиционным обозначением V1, его база подключена к цепи с именем 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 приведен список соответствий имен выводов символа транзистора именам цепей схемы, к которым они подключены. В последней строке указано имя транзистора на схеме, перечислены имена цепей, к которым подключены его выводы, и имя модели.
Перечень стандартных символов вместе с их атрибутами, помещенных в библиотеки amb.slb, analog.slb, breakout.slb, marker.slb, port.slb, source.slb, special.slb, приведен в Приложении 1.
Перейдем к систематическому изложению синтаксиса шаблона TEMPLATE. Шаблон состоит из списка атрибутов. Атрибуты, состоящие из стандартных символов, копируются в список соединений без изменений. Стандартные символы состоят из алфавитно-цифровых символов, знаков “$”, “_”, пробелов и знаков пунктуации.
Если перед именем атрибута помещен специальный знак “@”, “?”, “~”, “#” или “&”, то в зависимости от его вида атрибуты шаблонов заменяются следующими величинами:
@<имя> – значением атрибута <имя>. В отсутствие указанного атрибута или его значения выдается сообщение об ошибке;
&<имя> – значением атрибута <имя>, если этот атрибут определен;
?<имя>s...s – заменяется текстом, помещенным между одинаковыми символами s, если атрибут определен;
~<имя>s...s – заменяется текстом, помещенным между одинаковыми символами s, если атрибут не определен;
#<имя>s...s – производятся те же действия, что при наличии знака “?”, но остальная часть шаблона TEMPLATE удаляется.
Символы s, ограничивающие текст, могут быть любыми неалфавитными символами (сами они в список соединений не переносятся). Внутри этого текста допускается вложение, т. е. размещение атрибутов, предваряемых специальными знаками.
Знак “^” также специальный. Он заменяется указанием полного пути доступа к компонентам, имеющим иерархическую структуру. Для компонентов, находящихся на высшем уровне иерархии, в списке соединений этот знак заменяется знаком подчеркивания “_”.
Последовательность знаков “\n” приводит к переходу на следующую строку в списке соединений (так, шаблон TEMPLATE, который размещается на одной строке практически неограниченной длины, в списке соединений может быть размещен на нескольких строках).
Имена выводов в шаблоне предваряются знаком “%”. Имена выводов символов перечисляются в шаблоне в том порядке, в котором они должны быть записаны для каждого компонента по правилам PSpice (см. гл. 3, 4, 6). В списке соединений они замещаются именами цепей, к которым они подсоединены на схеме.
В шаблоне под именем вывода понимаются все символы, расположенные между символом “%” и первым разделителем (пробелом или запятой).
Как известно, в программе PSpice имена компонентов в списке соединений должны начинаться с префикса, обозначающего их тип (R – резистор, Q – биполярный транзистор и т. п.). Поэтому, чтобы избежать ошибок, имена символов компонентов в библиотеке символов редактора Schematics состоят из префикса типа, полного иерархического пути и позиционного обозначения. Это обеспечивается с помощью определенной структуры шаблона. Например, атрибут TEMPLATE резистора начинается конструкцией:
R^@REFDES .......
Приведем для иллюстрации перечень параметров нескольких компонентов и соответствующие им строки в списке соединений.
1. Резистор, включенный к узлам 2 и 5 схемы и имеющий позиционное обозначение R3, имеет атрибуты:
VALUE=1k
TC=0.001
PART=R
REFDES=R?
TEMPLATE=R^@REFDES %1 %2 @VALUE ?TC/TC=@TC/
В списке соединений ему соответствует строка:
R_R3 2 5 1k TC=0.001
Если атрибут TC (температурный коэффициент сопротивления) не будет задан, то в этой строке параметр ТС будет отсутствовать.
2. Биполярный транзистор, включенный между узлами 7 (коллектор), 10 (база) и 11 (эмиттер) и имеющий позиционное обозначение VT8, имеет атрибуты:
MODEL=KT315A
VALUE=
REFDES=Q?
TEMPLATE=Q^@REFDES %C %B %E @MODEL ?VALUE/@VALUE/
В списке соединений ему соответствует строка
Q_VT8 7 10 11 KT315A
Атрибут VALUE зарезервирован для введения значения коэффициента кратности AREA.
3. Переменное сопротивление R4, включенное между узлами 3, 4 и 5 (средняя точка), имеет атрибуты:
PART=POT
VALUE=1k
SET=0.5
REFDES=R?
TEMPLATE=RT^@REFDES %1 %t {(@VALUE*(1-@SET))+.001}
\nRB^@REFDES %t %2 {(@VALUE*@SET)+.001}
В списке соединений ему соответствуют две строки (благодаря наличию параметра \n):
RT_R4 3 5 {(1k*(1-0.5))+0.001} (верхняя часть потенциометра)
RB_R4 5 4 {(1k*0.5)+0.001} (нижняя часть потенциометра)
Здесь атрибут SET задает сопротивление нижней секции потенциометра.
4. Предположим, что имеется макромодель Z, имеющая два вывода A и B и параметр G. Если в основной схеме параметр G не определен, то в макромодель передается значение по умолчанию 1000. Для обеспечения возможности редактировать этот параметр при работе со схемой символу макромодели присвоим атрибут G и зададим шаблон TEMPLATE вида:
X^@REFDES %A %B Z PARAMS: ?G¦G=@G¦ ~G¦G=1000¦
Если эту макромодель, имеющую позиционное обозначение U22, подключить к узлам 11 и 12 и задать параметр G=1024, то в списке соединений будет создана строка
X_U22 11 12 Z PARAMS: G=1024
Если же на схеме не задать параметр G, то эта строка будет иной
X_U22 11 12 Z PARAMS: G=1000
5. Библиотечный элемент имеет атрибуты:
REFDES=LIB?
FILENAME=EVAL.LIB
TEMPLATE=.LIB "@FILENAME"
В списке соединений ему соответствует строка
.LIB "EVAL.LIB"
Здесь атрибут FILENAME задает имя файла библиотеки математических моделей. Обратим внимание, что для включения в задание на моделирование таких директив, как .PARAM, .LIB, .INC, .NODESET и др. (кроме директив анализа, которые задаются в пункте Analysis/Setup), создаются специальные символы, которые размещаются на чертеже (см. рис. 1.1). Имя директивы заносится в шаблон TEMPLATE символа, а ее содержание задается при редактировании соответствующего атрибута. Специальные символы находятся в библиотеке special.slb (см. Приложение 1).
6. Резистор, сопротивление которого имеет случайный разброс, имеет атрибуты
REFDES=R?
R^@REFDES %1 %2 ?MODEL/@MODEL/ @VALUE ?TC/TC=@TC/
VALUE=1k
TC=
MODEL=MR
Имя модели резистора, в которой задаются параметры случайного разброса его сопротивления, указывается в атрибуте MODEL. Например, 5%-ный разброс сопротивления, имеющего равномерный закон распределения, задается с помощью модели
.model MR RES (R=1 DEV=5%)
Имя этой модели указывается в атрибуте MODEL=MR.
Текстовое описание модели .model ... может быть включено в любую имеющуюся текстовую библиотеку или в собственную библиотеку пользователя. В последнем случае ее имя должно быть включено в файл nom.lib или, что более удобно, указано в файле конфигурации msim.ini по команде Analysis/Library and Include Files.
7. Вариация параметров компонентов, например сопротивления резистора, может осуществляться двояко.
Во-первых, сопротивление резистора задается на схеме не численно, а с помощью буквенного параметра, помещаемого в фигурные скобки, например {PR}. Имя и численное значение буквенного параметра указываются с помощью атрибутов символа PARAM из библиотеки special.slb (см. Приложение 1). После этого имя варьируемого параметра можно указывать на панели Parametric
команды меню Analysis/Setup.
Во-вторых, можно создать текстовое описание макромодели, в которую численные значения параметров передаются через ее заголовок. Приведем пример текстового описания модели резистора, в котором использованы следующие параметры: {PR} – сопротивление, {DEV} – разброс случайного значения сопротивления, {TC1} – температурный коэффициент сопротивления:
.subckt MR 1 2 PARAMS: PR=1k DEV=0.1 TC1=0.001
R1 1 2 MTR {PR}
.model MTR RES (R=1 DEV={DEV} TC1={TC1})
.ends
В заголовке макромодели после ключевого слова PARAMS указаны значения параметров, устанавливаемые по умолчанию. Для изменения этих значений используется символ param из библиотеки special.slb (см. выше).
8. Создание макромоделей. Пакет Design Center поддерживает иерархические структуры. Поэтому можно создать графическое обозначение сложного компонента, например операционного усилителя (ОУ), которое наносится на принципиальную схему, и одновременно создать его принципиальную схему, размещаемую на нижнем уровне иерархии. Однако при этом перед началом моделирования схемы, содержащей ОУ, будет тратиться время на составление текстового описания макромоделей ОУ по его схеме замещения.
Поэтому более разумно один раз нарисовать схему замещения ОУ, в меню Analyses
выполнить команду моделирования Simulate
и затем отредактировать текстовое описание схемы замещения ОУ, созданное в файле выходных данных с расширением .out, превратив его в описание макромодели .subsck. Аналогичные операции выполняются автоматически по команде File/Simbolize.
Заметим, что конкретные значения атрибутов компонентов (сопротивление резистора, имя файла библиотеки моделей и т. п.) не обязательно задавать в библиотеке символов – их можно задать при редактировании атрибутов компонентов, занесенных на схему.
9. При создании символа нового компонента разумно не выполнять всю работу заново, а скопировать графику и набор атрибутов какого-нибудь похожего компонента и затем их отредактировать. Рекомендуется следующая последовательность действий:
а) по команде File/New открыть новую библиотеку или по команде File/Open
открыть для редактирования существующую, указав по дополнительному запросу ее имя;
б) скопировать графику компонента-прототипа командой Part/Copy Part, заполнив поля:
New Part Name – имя нового символа (заполняется вначале);
Existing Part Name – имя существующего символа.
При копировании символа из другой библиотеки имя библиотеки предварительно указывается после выбора опции Select Lib;
в) командой Part/Attributes изменить имя математической модели компонента, записанного на строке атрибута MODEL=<имя модели>. Для этого выделить курсором строку MODEL и на панели Value
ввести новое имя модели (обычно совпадает с именем символа). После этого сохранить измененный атрибут нажатием кнопки Save Attr. При необходимости вводятся новые атрибуты;
г) по команде Part/Definition
указать (отредактировать) имя символа-прототипа в пункте AKO Name (применение прототипов сокращает объем библиотеки). Прототип AKO должен находиться в той же библиотеке. Например, в библиотеке opamp.slb используются следующие прототипы: op5 – ОУ с 5 выводами, op6 – ОУ с 6 выводами, op7 – ОУ с 7 выводами.
10. После завершения редактирования символа по команде File/Save записывают на диск обновленную библиотеку символов. Предварительно редактор запрашивает о необходимости занести в библиотеку изменения в редактируемый символ:
Save changes to Part?
При положительном ответе (OK) для вновь создаваемых символов запрашивается их имя:
Enter name for current symbol:
После ввода с клавиатуры имени символа запрашивается имя библиотеки, если оно не было определено ранее:
Enter file name to save as:
После этого программа Schematics возвращается в режим редактирования схем.