МИФИ
Московский государственный инженерно-физический институт (технический университет)
УЧЕБНО - МЕТОДИЧЕСКИЙ КОМПЛЕКС...
281 downloads
857 Views
2MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
МИФИ
Московский государственный инженерно-физический институт (технический университет)
УЧЕБНО - МЕТОДИЧЕСКИЙ КОМПЛЕКС МЕТОДИКА АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ ИНТЕГРАЛЬНЫХ СХЕМ И ЭЛЕКТРОННОЙ АППАРАТУРЫ НА ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРАХ ЧАСТЬ 1 СХЕМОТЕХНИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
АРХАНГЕЛЬСКИЙ А. Я.
PSPICE И DESIGN CENTER ЧАСТЬ 2 МОДЕЛИ ЦИФРОВЫХ И АНАЛОГО-ЦИФРОВЫХ УСТРОЙСТВ ИДЕНТИФИКАЦИЯ ПАРАМЕТРОВ МОДЕЛЕЙ ГРАФИЧЕСКИЕ РЕДАКТОРЫ
2
ОДЕРЖАНИЕ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ ПО ВЫСШЕМУ ОБРАЗОВАНИЮ __________________________________________________________________________________________ _ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) _________________________________________________________
УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС МЕТОДИКА АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ ИНТЕГРАЛЬНЫХ СХЕМ И ЭЛЕКТРОННОЙ АППАРАТУРЫ НА ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРАХ ЧАСТЬ 1 СХЕМОТЕХНИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
А. Я. АРХАНГЕЛЬСКИЙ
PSpice и Design Center Часть 2 МОДЕЛИ ЦИФРОВЫХ И АНАЛОГО-ЦИФРОВЫХ УСТРОЙСТВ. ИДЕНТИФИКАЦИЯ ПАРАМЕТРОВ МОДЕЛЕЙ. ГРАФИЧЕСКИЕ РЕДАКТОРЫ
Рекомендовано к изданию редсоветом института в качестве учебного пособия
Москва 1996
УДК 621.382.82.001 А Архангельский А.Я. PSpice и Design Center. В 2-х ч. Часть 1. Модели цифровых и аналого-цифровых устройств. Идентификация параметров моделей. Графические редакторы. Учебное пособие. М., МИФИ, 1996, 212 с.
Пособие является частью учебно-методического комплекса “Методика автоматизированного проектирования интегральных схем и электронной аппаратуры на персональных компьютерах. Часть 1. Схемотехническое проектирование” и выходит в двух частях. В учебном пособии рассмотрена методика схемотехнического моделирования с помощью пакетов программ PSpice и Design Center различных версий: от PSpice 4 до Design Center 6.0 и 6.2. В первой части пособия были приведены сведения о входном языке, о различных видах анализа, об основных моделях элементов. Подробно рассмотрены способы построения макромоделей аналоговых электронных устройств. Дана методика решения различных задач схемотехнического проектирования.. Во второй части пособия приведена методика моделирования цифровых и аналогоцифровых устройств. Рассмотрены графические редакторы, предназначенные для обработки результатов моделирования и для изображения принципиальных и логических схем. Изложены сведения об идентификации параметров моделей элементов. Даны различные вспомогательные программы. Изложение методики проектирования опирается на справочный материал, содержащийся в справочном пособии, входящем в комплекс. Пособие предназначено для студентов радиотехнических и других смежных специальностей (электроника, микроэлектроника, вычислительная техника, автоматика и т.п.), связанных с разработкой электронной аппаратуры, средств автоматики и вычислительной техники. Может быть полезно также для аспирантов, инженеров и исследователей соответствующих специальностей. Рецензент проф. МАИ, зав.каф. САПР В.Н. Ильин.
ISBN 5-7262-0010-1 А 2304030000 − 012 без объявл. 1К 9(03) − 96
© А.Я. Архангельский, 1996 © Московский государственный инженерно-физический институт (технический университет), 1996
4
ОДЕРЖАНИЕ
СОДЕРЖАНИЕ Предисловие ..................................................................................... 5 1. Моделирование цифровых схем ............................................... 6 1
Модели цифровых элементов ................................................
.1.
6 1
Задержки срабатывания элементов .......................................
.2.
9 1
Сила выходных сигналов элементов ......................................
.3.
12 1
Логические примитивы цифровых элементов ........................
.4.
14 1.4.1. Логические вентили, их сборки и матрицы ................... 14 1.4.2. Триггеры ...................................................................... 20 1.4.3. Запоминающие устройства .......................................... 23 1.4.4. Линии задержки и контроллеры ................................... 26 1.4.5. Источники логических сигналов ................................... 29
2. Моделирование аналого-цифровых схем ............................... 36 2
Алгоритмы смешанного моделирования ................................
2
Подготовка аналого-цифровой схемы к расчету .....................
2
Аналого-цифровые интерфейсы ............................................
.1.
36
.2.
39
.3.
49 2.3.1. Интерфейсный элемент ............................................... 49 2.3.2. Подсхемы аналого-цифровых интерфейсов ................. 55 2
Цифро-аналоговые интерфейсы ............................................
.4.
58 2.4.1. Интерфейсный элемент ............................................... 58 2.4.2. Подсхемы цифро-аналоговых интерфейсов ................. 63 2
Цифро-аналоговые и аналого-цифровые преобразователи ....
.5. 3. Графический постпроцессор PROBE и графический входных сигналов STMED ........................................
66 редактор
69 3
Запуск PROBE на счет ...........................................................
.1.
69 3
Обозначения переменных и математические функции PROBE
.2.
71 3
Начальные меню PROBE .......................................................
.3.
77 3
Построение графиков в PROBE ..............................................
.4.
79 3
Исследования и измерения графиков в PROBE ......................
3
Редактор входных сигналов STMED для MS DOS ...................
3.
Редактор STMED в Design Center 6 .......................................
.5.
88
.6.
97 106
7. 4. Идентификация параметров моделей с помощью программы PARTS ...................................................................... 4 Общие сведения .................................................................... .1. 4 Диоды .2. 4 Биполярные транзисторы .3. 4 Полевые транзисторы .4. 4 МДП транзисторы .5. 4 Операционные усилители .6. 4 Компараторы напряжения .7. 4 Модель магнитного сердечника ............................................. .8. 5. Оболочка PSpice для MC DOS. Графический ввод схем с помощью внешних редакторов ................................................ 5 Управляющяя оболочка PSpice .............................................. .1. 5
Графический ввод схем в PSpice внешними редакторами .....
.2. 5.2.1. Графический редактор PCCAPS пакета P-CAD ............. 5.2.2. Графический редактор DRAFT пакета OrCAD ................ 5 .3.
Включение внешних графических редакторов в оболочку PSpice ...................................................................................
111 1 11 1 18 1 23 1 32 1 37 1 42 1 48 1 52 1 54 1 54 1 58 1 59 1 78 1 80
6
ОДЕРЖАНИЕ
6. Оболочка Design Center для Windows ..................................... 6 Общее описание .................................................................... .1. 6 Ввод принципиальных и логических схем и их расчет ............ .2. 6 Разработка символов библиотечных элементов ..................... .3.
1 84 1 84 1 88 2 00 2
Литература ........................................................................................ 08
ВВЕДЕНИЕ Издание “Pspice и Design Center”, посвященное широко распространенным пакетам схемотехнического проектирования, состоит из двух частей. В первой части были представлены входной язык программ моделирования, модели электронных компонентов, методика построения макромоделей аналоговых устройств. В данной второй части рассматривается методика моделирования цифровых и аналого-цифровых устройств, графические редакторы, предназначенные для обработки результатов моделирования и для изображения принципиальных и логических схем. Приводятся сведения об идентификации параметров моделей элементов. Предлагаются различные вспомогательные программы. Рассматриваются различные версии PSpice и Design Center: от PSpice 4 до Design Center 6. Особенности последней версии Design Center 6.2 и, в частности, программы PLogic в пособии представлены не будут. Обзор некоторых возможностей Design Center 6.2 приведен в первой части пособия. А особенности PLogic будут изложены во второй части учебнометодического комплекса, посвященной логическому проектированию цифровых схем.
1. М О Д Е Л И Р О В А Н И Е ЦИФРОВЫХ СХЕМ
1.1. МОДЕЛИ ЦИФРОВЫХ ЭЛЕМЕНТОВ PSpice и Design Center - это прежде всего программы схемотехнического моделирования. Однако, в них реализована возможность и логического моделирования не очень сложных цифровых схем. Правда, в PSpice это возможно только, если в поставленной версии имеется опция Digital Simulation, что требует наличия соответствующих файлов .OVL и библиотек. В Design Center эта опция включена всегда. В PSpice 4 осуществляется трехзначное моделирование: логические сигналы могут принимать следующие значения: “1” высокий уровень; “0” низкий уровень; “X” неопределенное состояние. В PSpice 5 и, соответственно, в Design Center алфавит расширен и в него добавлено еще 2 значения: “R” переход “0”→“1” (положительный фронт); “F” переход “1”→“0” (отрицательный фронт). Логическим сигналам может быть приписана сила. Сила сигнала используется в случаях, когда к одному узлу подключено несколько выходов логических элементов. Тогда значение сигнала в этом узле соответствует тому сигналу, который имеет большую силу. Если несколько сигналов имеют одинаковую силу, то результирующий сигнал будет неопределенным. Сила сигнала определяется выходными сопротивлениями, задаваемыми в описанных далее моделях входа/выхода. В PSpice определены стандартные имена узлов, соответствующих постоянным уровням логических сигналов (табл. 1.1). Таблица 1.1 Имя узла
Уровень
1.1. Модели цифровых элементов $D_HI $D_LO $D_X $D_NC
9
“1” “0” “X” не определен
Узлы $D_HI, $D_LO, $D_X поддерживают соответствующие уровни независимо от того, что к ним подключено. Узел $D_NC используется для подключения к нему выходов цифровых элементов, которые не используются в моделируемой схеме. Расчет по постоянному току в цифровых схемах не проводится. В нулевой момент времени все логические сигналы считаются равными “X”. При расчете переходных процессов учитываются задержки цифровых элементов. В простейшем случае задержка - отрезок времени между появлением входного сигнала элемента и изменением его выходного сигнала. Пока не прошло время задержки, заданное для переключения “0”→“1” или “1”→“0”, выходной сигнал не меняется (на рис. 1.1 реакция на длинный импульс), хотя элемент помнит пришедшее возбуждение. Если же длительность входного сигнала меньше длительности соответствующей задержки, то Рис. 1.1. Реакция цифрового элемента возбуждение гасится и сигнал на на длинный и короткий входной сигнал выходе вообще не появляется (см. на рис. 1.1 реакцию на короткий импульс). Таким образом моделируется свойственная реальным логическим элементам фильтрация коротких импульсов. Наличие в схеме таких коротких импульсов обычно расценивается как логический сбой. Задержка в цифровом элементе складывается из двух составляющих: - внутренняя задержка самого элемента, обусловленная переходными процессами в его внутренних узлах; - задержка в выходном каскаде, связанная с перезарядкой емкости нагрузки Cн через выходное сопротивление элемента. Внутренняя задержка имеет фиксированную величину для данного элемента. А задержка на выходе зависит от нагрузочной емкости, которая в свою очередь определяется тем, сколько других элементов подключено к тому же выходному узлу. Cн в общем случае равна Cн = Cвых + C м + ∑ Cвх. i + ∑ Cвых. j , где Cвых - выходная емкость i
j
10
1. Моделирование цифровых схем
элемента, Cм - емкость межсоединений на выходе элемента, индекс i относится к цифровым элементам, входы которых подключены к выходу данного элемента (т.е. к нагрузочным элементам), а индекс j - к элементам, выходы которых включены параллельно выходу данного элемента (если таковые имеются в схеме). Таким образом, емкость Cн зависит от схемы включения элемента. Задержка в выходном каскаде считается равной Rвых⋅Cн⋅ ln(2)≅ 0,69⋅Rвых⋅Cн, где Rвых - выходное сопротивление цифрового элемента. Суммарную емкость программа подсчитывает автоматически, исключая, конечно, емкость Cм, которая должна быть включена искусственно или в выходную емкость элемента, или как фиктивный цифровой элемент, подключенный к данному узлу. Моделирование ведется с помощью библиотеки логических примитивов, имеющихся в программе. Каждый цифровой элемент, из которых состоит моделируемая схема, описывается оператором U, имеющим в PSpice 4 при чисто цифровом моделировании вид: U<имя> <тип примитива> [(<параметры>)] <узлы элемента> + <модель задержек> <модель входа/выхода> + [MNTYMXDLY=<уровень>] В PSpice 5 этот оператор имеет несколько другой вид: U<имя> <тип примитива> [(<параметры>)] + <<узел питания +> <узел питания ->> <узлы элемента> + <модель задержек> <модель входа/выхода> + [MNTYMXDLY=<уровень>] Данная форма оператора отличается от предыдущей наличием в ней узлов питания. Эти узлы имеют смысл только для смешанного моделирования аналого-цифровых устройств. А при чисто цифровом моделировании имена этих узлов могут указываться произвольными (например, UP, UM) и к ним ничего не надо подключать. Как видно из приведенных описаний, элемент характеризуется типом используемого примитива, определяющего логическую функцию, узлами подключения, моделью задержек и моделью входа/выхода. Кроме того, для некоторых примитивов предусмотрены определенные параметры. Например, оператор U1 AND(2) UP UM IN0 IN1 OUT MDL IO_STD
1.1. Модели цифровых элементов
11
описывает элемент И с двумя входами, подключенными к узлам IN0 и IN1, с выходом, подключенным к узлу OUT, с моделью задержек по имени MDL и с моделью входа/выхода IO_STD. Каждый тип примитива определяется ключевым словом, список которых дается в описании библиотеки в п. 1.4. Для каждого примитива в описании библиотеки приводится также смысл передаваемых в него параметров (обычно это число разрядов элемента), ключевое слово, определяющее его модель внутренних задержек, смысл и имена параметров модели задержек. 1.2. ЗАДЕРЖКИ СРАБАТЫВАНИЯ ЭЛЕМЕНТОВ В модели задержек для каждой внутренней задержки могут указываться три значения: минимальное, типовое и максимальное. Таким образом, можно рассчитывать схему, учитывая разброс задержек. Задавать, какие значения внутренних задержек должны использоваться - минимальные, типовые или максимальные, можно тремя способами. Во-первых, имеется опция DIGMNTYMX, задаваемая оператором .OPTIONS и определяющая тип задержек, принимаемый по умолчанию: 1 - минимальные значения, 2 типовые, 3 - максимальные. Если эта опция не задана, то ее значение по умолчанию равно 2, т.е. по умолчанию берутся типовые задержки. Второй способ задания типа задержек - указание параметра MNTYMXDLY в конкретной модели задержек. Этот параметр может принимать значения: 0 умолчание (т.е. тип задержек определяется опцией DIGMNTYMX), 1 минимальные задержки, 2 - типовые, 3 - максимальные. Таким образом, параметр MNTYMXDLY может отменять действие опциии DIGMNTYMX для данной модели задержек. И третий путь указания типа задержек - задание MNTYMXDLY в операторе U, описанном выше. При этом значения параметра MNTYMXDLY означают: 0 - используется величина MNTYMXDLY, заданная в модели задержек (это значение MNTYMXDLY принято по умолчанию), 1 - используются минимальные значения задержек, 2 - типовые, 3 - максимальные. Таким образом предоставляется возможность задать для данного элемента задержки, отличные от задержек других элементов, использующих ту же модель. Например, описание модели задержек с именем MDL следующего вида .MODEL MDL UGATE (TPLHMN=5ns TPHLMN=10ns TPLHTY=10ns + TPHLTY=15ns TPLHMX=15ns TPHLMX=20ns MNTYMXDLY=2) задает для задержки переключения из “0” в “1” минимальное значение 5 нс, типовое - 10 нс, максимальное - 15 нс. Для задержки переключения из “1” в
12
1. Моделирование цифровых схем
“0” соответствующие значения равны 10, 15 и 20 нс. Поскольку задан параметр MNTYMXDLY=2, то для расчета выбираются типовые значения задержек. Но если описание элемента, использующего данную модель, имеет вид U1 AND(2) UP UM IN0, IN1, OUT, MDL, IO_STD, MNTYMXDLY=1, то для этого элемента будут использоваться минимальные значения задержек. Если же ни в описании элемента, ни в описании модели задержек не указано значение MNTYMXDLY или задано MNTYMXDLY=0, то значения задержек будут определяться опцией DIGMNTYMX. Например, если задан оператор .OPTIONS DIGMNTYMX=3, то будут использоваться максимальные значения задержек. Наконец, если и этой опции не задано, то ее значение по умолчанию равно 2 и при расчетах будут использоваться средние значения задержек. Если в модели задержек не описаны все три варианта задержек: минимальный, типовой и максимальный, то недостающие варианты рассчитываются программой самостоятельно, исходя из значений коэффициентов DIGMNTYSCALE и DIGTYMXSCALE, первый из которых равен отношению минимальной задержки к типовой, а второй - отношению максимальной задержки к типовой. Коэффициенты DIGMNTYSCALE и DIGTYMXSCALE задаются оператором .OPTIONS. По умолчанию DIGMNTYSCALE=0.4, а DIGTYMXSCALE=1.6, т.е. по умолчанию разброс задержек равен ± 60 % от типового значения. Например, если задано только типовое значение задержки, равное 10 нс, то по умолчанию максимальное значение данной задержки будет считаться равным 16 нс, а минимальное 4 нс. Если задано только максимальное значение задержки, равное 10 нс (обычно для цифровых элементов именно максимальные значения задержек приводятся в справочниках), то типовое значение по умолчанию будет считаться равным 6.25 нс (максимальное, деленное на DIGTYMXSCALE), а минимальное - 2.5 нс (типовое, умноженное на DIGMNTYSCALE). Исключением из этого правила является случай, когда заданы минимальное и максимальное значения, а типового не задано. В этом случае программа примет в качестве типовой задержки величину, среднюю между минимальной и максимальной. По умолчанию все задержки считаются равными нулю. Поэтому, если в модели не указаны значения никаких задержек, проводится синхронное
1.2. Задержки срабатывания элементов
13
моделирование. Такой вид моделирования позволяет оценить только правильность алгоритма функционирования схемы, но не дает возможности проверить наличие сбоев, происходящих из-за неодновременного прихода сигналов на вход какого-либо элемента. Модели задержек для часто используемых цифровых элементов обычно заносятся в библиотеку и тогда пользователю не приходится задумываться о значениях задержек. Достаточно просто указать имя соответствующей библиотечной модели. Модель задержек определяет внутренние задержки элемента. Задержки в выходном каскаде, как указывалось выше, зависят от числа нагрузок и от значений входных и выходных импедансов элемента, задававемых в модели входа/выхода. Оператор, определяющий модель входа/выхода имеет вид .MODEL <имя модели> UIO [(параметры модели)]. К числу параметров модели входа/выхода, используемых при логическом моделировании, относятся: INLD - входная емкость в фарадах (по умолчанию 0); OUTLD выходная емкость в фарадах (по умолчанию 0); DRVH - выходное сопротивление высокого уровня в омах (по умолчанию 0 для PSpice 4 и 50 Ом для PSpice 5) DRVL - выходное сопротивление низкого уровня в омах (по умолчанию 0 для PSpice 4 и 50 Ом для PSpice 5). Пример описания модели входа/выхода: .MODEL IO_STD +OUTLD=0.5pf).
UIO
(DRVH=96.4,
DRVL=104,
INLD=0.1pf,
Заданные значения емкостей и сопротивлений используются программой для подсчета суммарных емкостей в узлах и для расчета задержек в выходных каскадах цифровых элементов по приведенным ранее соотношениям. При работе с моделями серийно выпускаемых цифровых элементов возникают проблемы, связанные с тем, что в справочных данных приводятся значения полных задержек, включающих в себя как внутренние задержки, так и задержки в выходных каскадах. Решить эти проблемы можно двумя путями. Первый и наиболее простой заключается в том, что справочное значение задержки приравнивается к внутренней задержке элемента. В этом случае в модели входа/выхода следует задать INLD=OUTLD=0 (или вообще не задавать INLD и OUTLD, так как по умолчанию эти емкости равны нулю). Преимуществом такого подхода является то, что в библиотеке моделей
14
1. Моделирование цифровых схем
PSpice значения задержек будут совпадать со справочными, что естественно для пользователя. Однако при этом отключается механизм учета зависимости задержки от числа нагрузок элемента, что снижает адекватность моделирования. Другой подход - выделение из справочных данных внутренней задержки. Это возможно только если известны (или хотя бы могут быть примерно оценены) значения выходных сопротивлений и входных и выходных емкостей. Тогда из справочного значения задержки tспр можно выделить внутреннюю задержку tвн, воспользовавшись соотношением tвн=tспр-Rвых⋅(Cвых+M⋅Cвх)⋅ln(2), где M - нагрузочная способность элемента (число нагрузок, для которого приведено значение tспр). Модели входа/выхода так же, как и модели задержек для часто используемых цифровых элементов обычно заносятся в библиотеку. Тогда пользователю не приходится задумываться о значениях задаваемых в них параметров. Достаточно просто указать имя соответствующей библиотечной модели. 1.3. СИЛА ВЫХОДНЫХ СИГНАЛОВ ЭЛЕМЕНТОВ Задаваемые в моделях входа/выхода значения сопротивлений используются также для определения силы сигнала, которая, как указывалось выше, влияет на разрешение конфликтов при работе нескольких выходов элементов на один узел. В PSpice 4 приняты следующие силы сигналов (они перечисляются в порядке убывания силы и сопровождаются условными трактовками их смыслового значения): F - сила внешних генераторов сигналов и источников питания; D - сила выходов вентилей; W - сила нагрузочных сопротивлений; Z - высокоомное состояние. Считается, что F > D > W > Z. Значения выходных сопротивлений DRVH и DRVL, соответствующие различным силам сигнала, определяются пороговыми функциями с порогами DIGSTRF, DIGSTRD, DIGSTRW, задаваемыми в операторе .OPTIONS. Соотношения, определяющие Rвых, приведены в табл. 1.2, а значения порогов по умолчанию - в табл. 1.3. Таблица 1.2 Условие для Rвых
Сила сигнала
1.3. Сила выходных сигналов элементов Rвых < DIGSTRF DIGSTRF ≤ Rвых < DIGSTRD DIGSTRD ≤ Rвых < DIGSTRW Rвых ≥ DIGSTRW
15
F D W Z Таблица 1.3
Параметр DIGSTRF DIGSTRD DIGSTRW
Умолчание, Ом 10 100 10 000
Задавая разные значения DRVH и DRVL, можно приписать разные силы различным уровням выходного сигнала. В приведенном ранее примере заданы DRVH=96,4, DRVL=104. Тогда при значениях опций по умолчанию высокий уровень имеет силу D (DIGSTRF
16
1. Моделирование цифровых схем
В PSpice имеется множество встроенных примитивов цифровых элементов, из которых и набирается моделируемая схема. Использование аппарата подсхем позволяет формировать из этих примитивов описания более сложных цифровых устройств и применять такие подсхемы как элементы при описании схемы. Полный список примитивов и их описание приведены в работе [2]. В п. 1.4 дадим только краткий обзор возможностей библиотеки логических примитивов PSpice. 1.4.1. ЛОГИЧЕСКИЕ ВЕНТИЛИ, ИХ СБОРКИ И МАТРИЦЫ В библиотеке имеется множество вентилей с двумя состояниями. Их список приведен в табл. 1.4. Вентили представлены в двух видах: одиночные вентили и сборки (массивы) вентилей. Одиночный вентиль имеет один или несколько входов (Nвх) и один выход. Сборки вентилей состоят из одного или более (Mв) одинаковых вентилей. Соответственно сборка имеет Nвх⋅Mв входов и Mв выходов. Использование сборок позволяет работать непосредственно со стандартными элементами интегральных схем, имеющими часто в одном корпусе несколько вентилей. Помимо одиночных вентилей и сборок вентилей имеются еще составные элементы. Они содержат Mв вентилей первого уровня, выходы которых подключены к единственному вентилю второго уровня. Каждый из вентилей первого уровня имеет Nвх входов. Вентиль второго уровня имеет Mв входов. Выход вентиля второго уровня является единственным выходом составного вентиля. Выходной сигнал вентиля имеет силу D и равен “0”, “1”, или “X”. Неопределенное состояние “X” появляется только в тех случаях, когда какието из входных сигналов равны “X”, причем состояние выхода при замене “X” на “0” и на “1” различно. Таким образом, наличие неопределенного состояния на входе еще не означает
1.4. Логические примитивы цифровых элементов
17
Таблица 1.4 Типы вентилей Тип
Параметры
Описание
BUF INV AND
0 0
NAND
NВХ
И-НЕ
OR
NВХ
ИЛИ
NOR
NВХ 0 0
ИЛИ-НЕ
XOR NXOR BUFA
Буфер Инвертор И
NВХ
MВ
Исключающее ИЛИ Исключающее ИЛИ-НЕ Сборка буферов
INVA
MВ
Сборка инверторов
ANDA
NВХ, MВ
Сборка элементов И
NANDA N , M ВХ В ORA N ,M
Сборка элементов И-НЕ
NORA
NВХ, MВ
Сборка элементов ИЛИ-НЕ
XORA
MВ
Сборка элементов исключающее ИЛИ
ВХ
В
Сборка элементов ИЛИ
NXORA M В AO NВХ, MВ OA N ,M
Сборка элементов исключающее ИЛИ-НЕ
AOI
Составной элемент И-ИЛИ-НЕ
OAI
ВХ
В
NВХ, MВ NВХ, MВ
Составной элемент И-ИЛИ Составной элемент ИЛИ-И Составной элемент ИЛИ-И-НЕ
неопределенного состояния выхода. Например, для элемента И на два входа таблица истинности имеет вид: “0” “1” “X ”
“0” “0” “0” “0”
“1” “0” “1” “X”
“X” “0” “X” “X”
Порядок перечисления узлов в операторе описания для всех вентилей одинаков: сначала перечисляются входы, затем выходы. В случае сборок вентилей сначала перечисляются все входы первого вентиля, затем входы второго и т.д.; затем перечисляются выход первого вентиля, выход второго и
18
1. Моделирование цифровых схем
т.д. Порядок перечисления узлов составных вентилей: входы первого вентиля, входы второго вентиля, ..., выход. Тип модели задержек вентилей - UGATE. Модель содержит значения задержек переключения “0” → “1” и “1” → “0”. Приведем примеры описания схем, состоящих из вентилей. Инвертор с входным сигналом IN и выходным OUT может иметь описание U2 INV UP UM IN OUT MDL IO_STD . Двухвходовой элемент 2И-НЕ может быть описана оператором U1 NAND(2) UP UM IN1 IN2 OUT MDL IO_STD . Микросхема 155ЛА12, состоящая из четырех двухвходовых элементов 2ИНЕ, может быть представлена следующим образом: U1 NANDA(2, 4) UP UM INA1 INA2 INB1 INB2 INC1 INC2 IND1 IND2 + OUTA OUTB OUTC OUTD MDL IO_STD . Элемент, состоящий из трех двухвходовых элементов 2И, объединенных по выходам элементом ИЛИ-НЕ, может быть описан оператором: U2 AOI(2, 3) UP UM INA1 INA2 INB1 INB2 INC1 INC2 OUT + MDL IO_STD . Помимо вентилей с двумя состояниями имеются вентили и сборки вентилей с тремя состояниями. Кроме обычных входов и выхода они имеют еще вход разрешения. Если сигнал на этом входе равен нулю, то сигнал на выходе равен “X” с силой Z и не зависит от состояния других входов. Если же сигнал разрешения равен “1” или “X”, то состояние выхода определяется логикой работы вентиля и сигналами на его входах. При этом выходной сигнал вентиля имеет силу D и равен “0”, “1” или “X”. Неопределенное состояние “X” появляется только в тех случаях, когда какие-то из входных сигналов равны “X”, причем состояние выхода при замене “X” на “0” и на “1” различно. Таким образом, наличие неопределенного состояния на входе еще не означает неопределенного состояния выхода. Например, для элемента И на два входа A и B со входом разрешения C и выходом D таблица истинности имеет вид, представленный в табл. 1.5.
1.4. Логические примитивы цифровых элементов
19
Таблица 1.5 Таблица истиности элемента И на два входа с разрешением A “0” “1” “X” “0” “1” “X” “1” “X” “0” “1” “X”
B “0” “0” “1” “X” “1” “1” “X” “X” “0” “1” “X”
C “1” “X” “1” “X” “1” “X” “1” “X” “1” “X” “0”
D (уровень/сила) “0” / D “0” / D “1” / D “X” / D “X” / D “X” / Z
Одиночный вентиль с тремя состояниями имеет вход разрешения, один или несколько сигнальных входов и один выход. Сборки вентилей состоят из нескольких одинаковых вентилей. При этом сборка имеет один вход разрешения, действующий на выходы сразу всех вентилей. Порядок перечисления узлов в операторе описания для всех вентилей одинаков: сначала перечисляются сигнальные входы, после вход разрешения, затем выходы. В случае сборок вентилей сначала перечисляются все входы первого вентиля, далее входы второго и т.д.; затем указывается вход разрешения; после этого перечисляются выход первого вентиля, выход второго и т.д. Имена вентилей и сборок с тремя состояниями те же, что приведены в табл. 1.4, но с добавлением цифры 3 после описания функции: BUF3, INV3, AND3, ... , BUF3A, INV3A, AND3A, ..., NXOR3A. Тип модели задержек вентилей с тремя состояниями - UTGATE. Помимо задержек переключения “0” → “1” и “1” → “0” модель содержит задержки “0” → “Z”, “Z” → “0”, “1” → “Z”, “Z” → “1”. В PSpice 5 и, соответственно, в Design Center, помимо логических вентилей и их сборок, имеются программируемые логические матрицы ПЛМ. Оператор, описывающий ПЛМ, имеет формат: U<имя> <тип ПЛМ> (<число входов>, <число выходов>) + <узел питания +> <узел питания -> <узлы входов> <узлы выходов> + <модель задержек> <модель входа/выхода> + [FILE=<имя файла>] + [DATA=<символ системы счисления>$<данные программы>$] + [MNTYMXDLY=<уровень>] Допустимые типы ПЛМ приведены в табл. 1.6. ПЛМ представляют собой матрицы логических элементов одного типа и имеют ряд входов, составляющих столбцы матрицы, и ряд выходов, образующих строки. К каждому выходу подключен выход одного
20
1. Моделирование цифровых схем
логического элемента. Управляющие сигналы определяют программу работы ПЛМ, т.е. какие входы соединяются с логическими элементами. В операторе, описывающем ПЛМ, программа может быть задана двумя способами: или спецификацией FILE, определяющей имя файла, содержащего программу в формате JEDEC, или спецификацией DATA, после которой следует программа. Если используется спецификация FILE, то <имя файла> задается или текстовой константой, заключенной в кавычки “ ”, или текстовым выражением, заключенным в вертикальные черточки ||. Например, UD2X4 PLANDC(2,4) UP UM X1 X2 Q1 Q2 Q3 Q4 PLD_MDL IO_STD + FILE=“D2X4.JED” При наличии спецификации FILE спецификация DATA игнорируется, даже если она присутствует в операторе. Если отсутствует спецификация FILE, то программа задается спецификацией DATA. После ключевого слова DATA указывается <символ системы счисления>: B - двоичная, O - восьмеричная, X шестнадцатеричная. Затем между знаками $ записывается программа. Она может писаться слитно или разделяться в любых местах пробелами для удобства понимания и контроля. Программа начинается с символа соединения первого входа с элементом, управляющим первым выходом. Символ “0” означает, что вход не подключен к элементу, а символ “1” - что подключен. Далее для матриц без входов дополнительного кода следует описание соединения второго входа с первым элементом и т.д. Для матриц со входами прямого и дополнительного кода входы перебираются попарно: первый вход прямого кода, первый вход дополнительного кода, второй вход прямого кода и т.д. После того, как все входы перебраны, аналогичным образом программируется соединение входов со вторым элементом и т.д.
1.4. Логические примитивы цифровых элементов
21
Таблица 1.6 Типы ПЛМ Тип
Описание матрицы
PLAND PLOR PLXOR PLNAND PLNOR PLNXOR PLANDC PLORC PLXORC
И ИЛИ исключающее ИЛИ И-НЕ ИЛИ-НЕ исключающее ИЛИ-НЕ И со входами прямого и дополнительного кода ИЛИ со входами прямого и дополнительного кода исключающее ИЛИ со входами прямого и дополнительного кода И-НЕ со входами прямого и дополнительного кода
PLNAND C PLNORC PLNXORC
ИЛИ-НЕ со входами прямого и дополнительного кода исключающее ИЛИ-НЕ со входами прямого и дополнительного кода
В качестве примера опишем дешифратор 2х4. Он имеет два входа X1, X2 и четыре выхода Q1, Q2, Q3, Q4. Если входные сигналы равны (“0”,”0”), то Q1=“1”; если входные сигналы равны (“1”,”0”), то Q2=“1” и т.д. Для описания дешифратора удобно использовать матрицу элементов И со входами прямого и дополнительного кода. Описание может иметь вид UD2X4 PLANDC(2,4) UP UM X1 X2 Q1 Q2 Q3 Q4 + PLD_MDL IO_STD + DATA=B$ + 01 01 + 10 01 + 01 10 + 10 10 $ Матрица содержит четыре двухвходовых элемента. Каждая строчка описания соответствует одному элементу, а пары чисел - его входам прямого и обратного кода. Так, в первой после DATA строке первая пара чисел указывает, что к первому входу первого элемента подключено инверсное значение сигнала X1, а ко второму его входу подключено инверсное значение
22
1. Моделирование цифровых схем
сигнала X2 (значит, Q1=“1” только при X1=X2=“0”). Во второй строке первая пара чисел указывает, что к первому входу второго элемента подключен сигнал X1, а ко второму его входу подключено инверсное значение сигнала X2 (значит, Q2=“1” только при X1=“1” и X2=“0”). Третья и четвертая строки аналогично описывают подключение элементов Q3 и Q4. Тип модели задержек ПЛМ - UPLD. Модель содержит задержки переключения “0” → “1” и “1” → “0”. 1.4.2. ТРИГГЕРЫ В библиотеке логических примитивов имеется ряд триггеров. Начнем с рассмотрения JK и D триггеров с динамическим управлением. Описываются они оператором: U<имя> <тип триггера> (<число триггеров в корпусе>) +<<узел питания +> <узел питания ->>5) + <узел сигнала установки> <узел сигнала сброса> +<узел синхронизации> <узлы информационных входных сигналов> + <узлы прямых выходов> <узлы инверсных выходов> + <модель задержек> <модель входа/выхода> 5) - только для PSpice 5 Типы триггеров: JKFF - JK триггер, DFF - D триггер. Тип модели задержек - UEFF. Триггеры изменяют свое состояние при изменении синхронизирующего импульса. JK триггер срабатывает на срез синхроимпульса, а D триггер - на фронт синхроимпульса. Триггеры имеют управляющие входы установки S, сброса R и синхронизации - C. Для входов S и R активным является сигнал “0”, т.е. на эти входы надо подавать инверсные сигналы S и R . Кроме указанных управляющих входов JK триггер имеет по одному входу J и K, а D триггер имеет вход D. Все триггеры имеют прямой Q и инверсный Q выходы. В одном элементе может быть несколько одинаковых триггеров, имеющих общие входы установки, сброса и синхронизации. Это позволяет непосредственно моделировать интегральные схемы, имеющие часто по несколько триггеров в одном корпусе. При описании элемента сначала указываются узел установки, узел сброса, узел синхронизации. Затем для JK триггера указываются узлы J и K, а для D триггера - узел D. Если в элементе несколько триггеров, то указываются эти узлы сначала для первого триггера, затем для второго и т.д. В конце
1.4. Логические примитивы цифровых элементов
23
указывается узел (или узлы, если триггеров несколько) прямого выхода, а затем - инверсного. Примеры описания триггеров: U5 JKFF(1) UP UM S R C J K Q NQ MDL IO_STD U2 DFF(2) UP UM S R C D0 D1 Q0 Q1 NQ0 NQ1 MDL IO_STD Логика работы триггеров обычная, дополненная учетом неопределенного состояния “X”. Реакция на неопределенное состояние следующая: если какой-то вход имеет состояние “X” и при замене “X” на “1” и “0” состояние выходов триггера различно, то выходным сигналам присваивается значение “X”. Например, если сигнал установки S=“X” и Q=“0”, то Q переключается в “X”. Однако при том же неопределенном состоянии сигнала установки и при Q=“1” выходной сигнал Q так и остается равным “1”. В числе временных параметров триггеров фигурируют: ♦ задержки переключения “0” → “1” и “1” → “0” со входов S и R на выходы Q и Q ; ♦ минимальная длительность сигнала “0” на входах S и R; ♦ задержки переключения “0” → “1” и “1” → “0” от фронта или среза импульса синхронизации ( C / C ) на выходы Q и Q ; ♦ минимальные длительности сигналов “0” и “1” импульса синхронизации; ♦ минимальное время установки J/K/D, т.е. минимальный сдвиг по времени между сигналами на входах J, K, D и последующим фронтом или срезом импульса синхронизации, переключающим выходы; ♦ минимальное время установки S/R, т.е. минимальный сдвиг по времени между сигналами “1” на входах S, R и последующим фронтом или срезом импульса синхронизации, переключающим выходы; ♦ минимальное время удержания J/K/D, т.е. минимальная длительность сигналов на входах J, K, D после действия фронта или среза импульса синхронизации. Помимо триггеров с динамическим управлением в PSpice имеются примитивы RS и D триггеров-защелки с потенциальным управлением. Они описываются оператором U<имя> <тип триггера> (<число триггеров в корпусе>) + <<узел питания +> <узел питания ->>5) + <узел сигнала установки> <узел сигнала сброса> +<узел сигнала защелки> + <узлы информационных входных сигналов>
24
1. Моделирование цифровых схем
+ <узлы прямых выходов> <узлы инверсных выходов> + <модель задержек> <модель входа/выхода> 5) - только для PSpice 5 Типы триггеров: SRFF - RS триггер, DLTCH - D триггер. Тип модели задержек - UGFF. Состояние RS и D триггеров-защелок с потенциальным управлением определяется информационными входными сигналами при уровне “1” на входе сигнала защелки G (сигнала синхронизации). При G=“0” триггер сохраняет ранее принятое состояние независимо от значений входных сигналов. Помимо входа G триггеры имеют управляющие входы предустановки S и сброса R. Для входов S и R активным является сигнал “0”, т.е. на эти входы надо подавать инверсные сигналы S и R . В одном элементе может быть несколько одинаковых триггеров, имеющих общие входы сигнала защелки G, установки S и сброса R. Это позволяет непосредственно моделировать интегральные схемы, имеющие часто по несколько триггеров в одном корпусе. Кроме указанных управляющих входов RS триггеры имеют информационные входы S и R (отдельные для каждого триггера), а D триггеры имеют входы D. Все триггеры имеют прямой Q и инверсный Q выходы. При описании элемента сначала указываются общий узел установки, общий узел сброса, узел сигнала защелки. Затем для RS-триггера указываются его узлы S и R, а для D триггера - узел D. Если в элементе несколько триггеров, то указываются эти узлы сначала для первого триггера, затем для второго и т.д. В конце указывается узел (или узлы, если триггеров несколько) прямого выхода, а затем - инверсного. Примеры описания: U5 SRFF(1) UP UM S R G S1 R1 Q NQ MDL IO_STD U2 DLTCH(2) UP UM S R G D0 D1 Q0 Q1 NQ0 NQ1 MDL IO_STD Логика работы триггеров обычная, дополненная учетом неопределенного состояния “X” так же, как было описано ранее для триггеров с динамическим управлением. В числе временных параметров триггеров фигурируют: ♦ задержки переключения “0” → “1” и “1” → “0” с общих входов S и R на выходы Q и Q ; ♦ минимальная длительность сигнала “0” на общих входах S и R;
1.4. Логические примитивы цифровых элементов
25
♦ задержки переключения “0” → “1” и “1” → “0” от сигнала защелки на выходы Q и Q ; ♦ задержки переключения “0” → “1” и “1” → “0” от информационных входов S, R, D на выходы Q и Q ; ♦ минимальная длительность уровня “1” сигнала защелки; ♦ минимальное время установки S/R/D, т.е. минимальный сдвиг по времени между сигналами на информационных входах S, R, D и последующим фронтом сигнала защелки, переключающим выходы; ♦ минимальное время установки общих входов S/R, т.е. минимальный сдвиг по времени между сигналами “1” на общих входах S, R и последующим фронтом сигнала защелки, переключающим выходы; ♦ минимальное время удержания S/R/D, т.е. минимальная длительность сигналов на входах S, R, D после переключения сигнала защелки. 1.4.3. ЗАПОМИНАЮЩИЕ УСТРОЙСТВА В число примитивов PSpice включены запоминающие устройства: постоянное (ПЗУ, ROM) и оперативное (ОЗУ, RAM). Описание ПЗУ дается оператором: U<имя> ROM (<число адресных входов>, + <число разрядов (выходов)>) <узел питания +> <узел питания -> + <вход разрешения чтения> <старший разряд адреса> ... + <младший разряд адреса> <старший разряд выхода> ... + <младший разряд выхода> <модель задержек> + <модель входа/выхода> + [FILE=<имя файла>] + [DATA=<символ системы счисления>$<данные программы>$] + [MNTYMXDLY=<уровень>] Тип модели задержек ПЗУ - UROM. В постоянное запоминающее устройство загружены данные (программа), которые можно читать при сигнале, равном “1” на входе разрешения чтения. Число ячеек ПЗУ определяет <число адресных входов> Nвх как 2Nвх. Разрядность данных определяет <число разрядов (выходов)>. При отсутствии сигнала “1” на входе разрешения чтения выходы находятся в высокоомном состоянии “Z”. При подаче сигнала разрешения они переключаются в состояние, определяемое содержимым выбранной ячейки. Если при сигнале разрешения, равном “1”, переключаются сигналы на адресных входах, то выходы переключаются с некоторой задержкой.
26
1. Моделирование цифровых схем
В операторе, описывающем ПЗУ, загружаемые данные могут быть заданы двумя способами: или спецификацией FILE, определяющей имя файла, содержащего данные в формате INTEL HEX, или спецификацией DATA, после которой следуют данные. Если используется спецификация FILE, то <имя файла> задается или текстовой константой, заключенной в кавычки “”, или текстовым выражением, заключенным в вертикальные черточки ||. При наличии спецификации FILE, спецификация DATA игнорируется, даже если она присутствует в операторе. Пример описания: UROM16X8 ROM(4,8) UP UM ENABLE + A3 A2 A1 A0 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 + ROM_MDL + FILE=“ROM16X8.INT” В примере описана память на шестнадцать 8-разрядных чисел с 4-мя адресными входами A3, A2, A1, A0 и 8-ю выходами Q7, Q6, .., Q0. Вход разрешения чтения ENABLE. Программа, записанная в ПЗУ, содержится во внешнем файле ROM16X8.INT. Если отсутствует спецификация FILE, то загружаемые данные задаются спецификацией DATA. После ключевого слова DATA указывается <символ системы счисления>: B - двоичная, O - восьмеричная, X шестнадцатеричная. Затем между знаками $ записываются данные. Они могут писаться слитно или разделяться в любых местах пробелами для удобства понимания и контроля. Данные записываются начиная с первого бита числа, лежащего по нулевому адресу, затем следует его второй бит и т.д. После записи всех бит этого числа аналогично указываются биты числа по первому адресу и т.д. Между символом системы счисления и первым знаком $ не должно быть пробела. В приведенном ниже примере описано то же ПЗУ, что и ранее, но с программой, записанной спецификацией DATA в ёЁ еричном виде: UROM16X8 ROM(4,8) UP UM ENABLE + A3 A2 A1 A0 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 + ROM_MDL + DATA=X$ + F1 0A 00 14 + 00 01 50 3E + 0B C1 D6 90 + BF 1C AD E0
1.4. Логические примитивы цифровых элементов
27
$ В числе временных параметров триггеров фигурируют задержки выборки адреса при разрешении чтения и переключениях выходов “0” → “1” и “1” → “0”, а также задержки по входу разрешения при переключениях выходов “Z” → “1”, “Z” → “0”, “1” → “Z”, “0” → “Z”. Модель оперативного запоминающего устройства во многом похожа на модель ПЗУ. Отличие заключается только в наличии входа разрешения записи. Описание ОЗУ дается оператором: U<имя> RAM (<число адресных входов>, + <число разрядов (выходов)>) <узел питания +> + <узел питания -> <вход разрешения чтения> + <вход разрешения записи> + <старший разряд адреса> ... <младший разряд адреса> + <старший разряд входа данных> ... + <младший разряд входа данных> <старший разряд выхода> ... + <младший разряд выхода> <модель задержек> + <модель входа/выхода> [FILE=<имя файла>] + [DATA=<символ системы счисления>$<данные программы>$] + [MNTYMXDLY=<уровень>] В ОЗУ начальное состояние всех ячеек по умолчанию неопределенное. Однако в операторе описания ОЗУ можно задать начальные данные, загружаемые в память. В процессе расчета схемы данные в память могут записываться (при подаче на <вход разрешения записи> сигнала “1”) и считываться (при подаче на <вход разрешения чтения> сигнала “1”). При записи в ОЗУ сначала надо подать сигналы на адресные входы и входы данных и поддерживать их в течение соответствующих длительностей установления. Затем на вход разрешения записи подается сигнал “1” длительностью не менее некоторой минимальной величины. Сигналы на адресных входах и входах данных не должны изменяться, пока сохраняется “1” на входе разрешения записи, и удерживаться в прежнем состоянии еще в течение некоторого времени удержания. При отсутствии сигнала “1” на входе разрешения чтения выходы ОЗУ находятся в высокоомном состоянии “Z”. При подаче сигнала разрешения чтения они переключаются в состояние, определяемое содержимым выбранной ячейки. Если при сигнале разрешения чтения, равном “1”, переключаются сигналы на адресных входах, то с некоторой задержкой происходит переключение выходов.
28
1. Моделирование цифровых схем
В модели ОЗУ не запрещено одновременное наличие сигналов “1” на входах разрешения записи и чтения. В этом случае считанные данные передаются на выходы после перехода сигнала разрешения записи из состояния “1” в состояние “0”. В операторе, описывающем ОЗУ, начальная загрузка данных может быть задана теми же способами, что и для ПЗУ. В модели задержек, помимо аналогичных модели ПЗУ задержек выборки адреса и задержек по входу разрешения чтения, задаются еще: ♦ время установления данных относительно переднего фронта разрешения записи; ♦ время установления адреса относительно переднего фронта разрешения записи; ♦ минимальные длительности сигнала разрешения записи при записи “0” и “1”; ♦ времена удержания данных и адреса относительно заднего фронта сигнала разрешения записи. 1.4.4. ЛИНИИ ЗАДЕРЖКИ И КОНТРОЛЛЕРЫ К вспомогательным цифровым примитивам можно отнести линию задержки цифровых сигналов и контроллеры. Линия задержки имеет один вход и один выход. Ее выходной сигнал повторяет ее входной сигнал с заданной в модели задержкой. Через линию задержки могут передаваться сигналы любой длительности. Этим она отличается от других логических элементов, например, от буфера, поскольку все логические элементы не реагируют на сигналы, длительность которых меньше задержки распространения. Линия задержки может использоваться для моделирования передачи логических сигналов по длинным линиям связи, например кабелям. Тип линии задержки - DLYLINE, тип модели задержек - UDLY. Оператор описания имеет стандартную форму. Пример описания: U5 DLYLINE UP UM IN OUT MDL IO_STD. Контроллеры являются вспомогательными элементами, которые можно использовать для контроля правильности временных диаграмм моделируемой схемы и фиксации возможных сбоев. Первый вид контроллера - контроллер длительности состояний “1” и “0”. Он может использоваться для контроля длительности сигналов синхронизации и защелки в триггерах, а также для фиксаций сбоев в любых точках схемы, вызванных появлением недопустимо коротких сигналов. Оператор описания контроллера имеет вид:
1.4. Логические примитивы цифровых элементов
29
U<имя> WDTHCK (<число контроллеров>) + <<узел питания +> <узел питания ->>5) <узлы входов> + <узлы выходов высокого уровня> <узлы выходов низкого уровня> + <модель задержек> <модель входа/выхода> 5) - только для PSpice 5 Тип модели задержек контроллера - UWDTH. Один элемент может содержать несколько контроллеров. Каждый из них имеет один вход и два выхода. На выходе высокого уровня HOUT устанавливается уровень “1”, если во входном сигнале длительность состояния “1” меньше заданной величины. Установление HOUT=“1” происходит по срезу входного сигнала, следующему после недостаточно долгого состояния “1” на входе; при очередном фронте входного сигнала HOUT сбрасывается в “0”. На выходе низкого уровня LOUT устанавливается уровень “1”, если во входном сигнале длительность состояния “0” меньше заданной величины. Установление LOUT=“1” происходит по фронту входного сигнала, следующему после недостаточно долгого состояния “0” на входе; при очередном срезе входного сигнала LOUT сбрасывается в “0”. Порядок перечисления узлов в описании элемента: входные узлы всех контроллеров, узлы HOUT, узлы LOUT. Например: U5 WDTHCK(2) UP UM IN1 IN2 HOUT1 HOUT2 LOUT1 LOUT2 MDL + IO_STD В качестве параметров модели задержек задаются минимальные длительности состояний “0” и “1”, выявляемые контроллером. Другой вид контроллера - контроллер длительностей установления, удержания и сдвигов между сигналами. Оператор его описания имеет вид: U<имя> SUHDCK (<число контроллеров>) + <<узел питания +> <узел питания ->>5) <узел синхронизации> + <узлы входов> <узлы контроля установления> + <узлы контроля удержания> + <модель задержек> <модель входа/выхода> 5) - только для PSpice 5 Тип модели задержек - USUHD. Один элемент может содержать несколько контроллеров. Все контроллеры имеют один общий вход сигнала синхронизации CLOCK. Кроме того,
30
1. Моделирование цифровых схем
каждый контроллер имеет один вход IN и два выхода: выход контроля времени установления - SOUT и выход контроля времени удержания - HOUT. Под временем установления подразумевается интервал времени между изменением сигнала IN и фронтом импульса CLOCK, фиксирующим состояние, в которое пришла контролируемая схема под воздействием сигнала IN. На выходе контроля длительности установления SOUT устанавливается уровень “1”, если задержка фронта сигнала CLOCK по отношению к изменению входного сигнала IN меньше заданного минимального времени установления. Установление SOUT=“1” происходит по фронту импульса CLOCK, при котором нарушено ограничение на время установления; сброс SOUT в “0” происходит по следующему фронту CLOCK (если, конечно, не произошло нового нарушения ограничения). Под временем удержания подразумевается интервал времени между фронтом импульса CLOCK и изменением входного сигнала IN, т.е. это - время, в течение которого сигнал IN должен сохранять свое значение, чтобы после фронта импульса CLOCK контролируемая схема успела его зафиксировать. На выходе контроля длительности удержания HOUT устанавливается уровень “1”, если задержка изменения входного сигнала IN по отношению к фронту сигнала CLOCK меньше заданного минимального времени удержания. Установление HOUT=“1” происходит в момент изменения сигнала IN, вызвавшего нарушение заданного времени удержания; сброс HOUT в “0” происходит по следующему фронту CLOCK. Контроллер может использоваться для оценки правильности временных соотношений сигналов в триггерах, а также для фиксации недопустимо малых сдвигов между сигналами в любых точках схемы. В последнем случае на вход CLOCK можно подавать любой интересующий сигнал, а не обязательно сигнал синхронизации. Порядок перечисления узлов в описании элемента: узел сигнала синхронизации, входные узлы всех контроллеров, узлы SOUT, узлы HOUT. Например: U5 SUHDCK(2) UP UM CLK IN1 IN2 SETUP1 SETUP2 HOLD1 HOLD2 + MDL IO_STD В параметрах модели задержек задаются минимальные установления и удержания, контролируемые контроллером. 1.4.5. ИСТОЧНИКИ ЛОГИЧЕСКИХ СИГНАЛОВ
времена
1.4. Логические примитивы цифровых элементов
31
Источниками постоянных логических уровней, как уже указывалось в п. 1.1, являются глобальные узлы: $D_HI - источник сигнала “1”, $D_LO - сигнал “0”, $D_X - сигнал “X”. Эти узлы поддерживают соответствующие уровни независимо от того, что к ним подключено. Кроме того, имеется глобальный узел $D_NC, применяемый для подключения к нему выходов цифровых элементов, которые не используются в моделируемой схеме. Если требуется иметь источник постоянного логического сигнала с некоторой заданной силой, то для него используются специальные примитивы источников постоянных уровней логических сигналов “1” и “0”, которые описываются операторами вида: U<имя> <тип источника> (<число выходов>) + <<узел питания +> <узел питания ->>5) <узлы выходов> + <модель входа/выхода> 5) - только для PSpice 5 Тип источника “0” - PULLDN, источника “1” - PULLUP. Модель задержки в этих элементах не используется. А модель входа/выхода определяет силу сигнала. Примеры описания источников: U5 PULLUP(1) 10 R1K U2 PULLDN(4) BUS3, BUS2, BUS1, BUS0, R500 Генератор входных логических сигналов для цифровой схемы описывается как цифровой элемент оператором: U<имя> STIM(<число выходов> <форматы>) + <<узел питания +> <узел питания ->>5) <узлы> + <модель входа/выхода> + [TIMESTEP=<величина>] <программа задания сигналов> 5) - только для PSpice 5 Параметр <число выходов> определяет число генерируемых сигналов. Узлы подключения этих сигналов перечисляются в списке <узлы>. Параметр <форматы> указывает, в каком виде (двоичном, восьмеричном или шестнадцатеричном) будут представляться в дальнейших операторах значения сигналов. Соответственно, формат указывается равным числу разрядов: 1, 3 или 4 для двоичного, восьмеричного или шестнадцатеричного представления соответственно. Сумма разрядов, указанных в параметре <форматы>, должна совпадать с числом сигналов, указанных в параметре
32
1. Моделирование цифровых схем
<число выходов>. Например, пусть <число выходов> равно четырем. Тогда параметр <форматы> может быть записан в виде 1111. Это означает, что вектор значений всех сигналов в дальнейшем будет записываться в двоичном виде, например 1010. Однако при четырех сигналах параметр <форматы> может быть записан в виде 4. Это означает, что вектор значений сигналов в дальнейшем будет записываться в виде одной шестнадцатеричной цифры, т.е. не 1010, а A. Наконец, при четырех сигналах параметр <форматы> может быть записан в виде 13 или 31. Это значит, что значения сигналов в дальнейшем будет записываться в виде одной двоичной и одной восьмеричной цифры (т.е. не 1010, а 12) или, наоборот, одной восьмеричной и одной двоичной цифры (т.е. не 1010, а 50). Параметр <модель входа/выхода> определяет, как и обычно, нагрузочную способность генератора, в частности дополнительные задержки на выходе. Параметр TIMESTEP=<величина> определяет величину шага (цикла) в секундах. Здесь под шагом подразумевается некоторая единица измерения времени, которая может использоваться в дальнейших операторах для записи временных соотношений. Например, TIMESTEP=10ns означает, что в дальнейшем можно измерять время в шагах (циклах), т.е. в десятках наносекунд. Перейдем теперь к главной части оператора - к разделу <программа задания сигналов>. Основой программы являются команды вида <время> <значение вектора сигналов>. В этой команде <время> - момент, в который вектор сигналов принимает значение, указанное в команде; <значение вектора сигналов> записывается в соответствие с определенными ранее форматами. А <время> может измеряться или в секундах, или в шагах (циклах), определенных параметром TIMESTEP. Если время задается в шагах, то после числа пишется суффикс "С" (cycle). Если же время задается в секундах, то пишется суффикс "S" или масштабные суффиксы "NS", "MS" и т.п. Например, при формате 11 команда 10ns 01 означает, что в момент 10 нс значение первого выхода генератора равно “0”, а второго - “1”. Если был определен параметр TIMESTEP=10ns, то команда 5c 01 означает, что выходы примут это значение в 50 нс (5 циклов по 10 нс). Пусть требуется описать источник сигнала OUT0, находящийся в нулевой момент в состоянии “0”, в 20 нс переключающийся в “1”, а в 40 нс возвращающийся в “0”. Описание может иметь вид
1.4. Логические примитивы цифровых элементов
33
UCLOCK STIM(1,1) UP UM OUT0 IO_STM + 0s 0 ; в нулевой момент OUT0=“0” + 20ns 1 ; в 20 нс OUT0=“1” + 40ns 0 ; в 40 нс OUT0=“0” Воспользовавшись представить в виде
параметром
TIMESTEP,
то
же
описание
можно
UCLOCK STIM(1,1) UP UM OUT0 IO_STM TIMESTEP=20ns ; в нулевой момент OUT0=“0” + 0s 0 + 1c 1 ; в 20 нс OUT0=“1” + 2c 0 ; в 40 нс OUT0=“0” Значения времени в последовательных командах должны строго возрастать. В частности, не должно быть двух событий, относящихся к одному моменту времени. Перед числом, обозначающим время, может ставиться знак "+" - это означает, что задан не момент, а отрезок времени, который должен прибавляться к текущему времени. Например, команда +5ns 10 означает, что заданные в ней значения сигналов появятся через 5 нс при отсчете от момента, которому соответствует данная команда. Таким образом, приведенный выше пример может быть записан в виде: UCLOCK STIM(1,1) UP UM OUT0 IO_STM TIMESTEP=20ns + 0s 0 ; в нулевой момент OUT0=“0” + +1c 1 ; в 20 нс OUT0=“1” + +1c 0 ; в 40 нс OUT0=“0” Помимо указанной основной команды в программе могут использоваться команды: 1) > 2) <<время> GOTO <имя метки> TIMES> 3) <<время> GOTO <имя метки> UNTIL GT <значение> 4) <<время> GOTO <имя метки> UNTIL GE <значение> 5) <<время> GOTO <имя метки> UNTIL LT <значение> 6) <<время> GOTO <имя метки> UNTIL LE <значение> 7) <<время> INCR BY <значение> 8) <<время> DECR BY <значение> Первая из них задает метку точке программы, в которую можно передать управление. Команды 2 - 6 передают управление на метку. Причем команда
34
1. Моделирование цифровых схем
LABEL должна быть записана до команды GOTO. Команда GOTO передает управление не на саму метку, а на оператор, следующий за меткой, причем команда, записанная в этом операторе, выполняется немедленно, независимо от указанного в ней времени. Команда 2 осуществляет безусловную передачу управления N раз, после чего перестает выполняться. Таким образом, петля команд от LABEL до GOTO выполняется N+1 раз (один раз при первом проходе и N раз при возвратах). Если задано N=-1, то возвраты на метку повторяются неограниченное число раз, т.е. моделируется периодический сигнал с неограниченным числом периодов. Команды 3 - 6 осуществляют условные передачи управления. При этом вектор выходных сигналов сравнивается с параметром <значение>. Команда 3 передает управление, если вектор сигналов > <значение>; команда 4 - если ≥; команда 5 - если <; команда 6 - если≤ Команда 7 осуществляет сложение вектора сигналов с параметром <значение>, а команда 8 вычитает из вектора параметр <значение>. Рассмотрим примеры описания генераторов сигналов, использующие эти команды. Пусть требуется описать источник периодического сигнала OUT1, в нулевой момент времени находящегося в состоянии “0”, а затем неограниченное число раз переключающийся из “0” в “1” и обратно каждые 5 нс. Описание может иметь следующий вид
1.4. Логические примитивы цифровых элементов
35
UCLOCK STIM(1,1) UP UM OUT1 IO_STM + 0s 0 ; в нулевой момент OUT1=“0” + LABEL=STARTLOOP + +5ns 1 ; через 5 нс OUT1=“1” + +5ns 0 ; еще через 5нс OUT1=“0” + +5ns GOTO STARTLOOP -1 ; через 5 нс уход на TIMES STARTLOOP После ухода на метку STARTLOOP выполняется первый оператор цикла без ожидания указанных в нем пяти наносекунд. Задание -1 TIMES вызывает бесконечное повторение цикла. Второй пример иллюстрирует генератор двух сигналов OUT1 и OUT2, первый из которых переключается с полупериодом 10 нс, а второй - 20 нс. Таким образом, полный цикл переключений составляет 40 нс и требуется описать три таких цикла. Подобные сигналы, каждый последующий с удвоенным периодом по отношению к предыдущему, позволяют перебрать все возможные сочетания входных сигналов схемы. Описание может иметь вид US1 STIM (2,11) OUT1 OUT2 IO_STM TIMESTEP=10ns + 0c 00 + LABEL=STARTLOOP + +1c 01 + +1c 10 + +1c 11 + 4c GOTO STARTLOOP 2 TIMES В момент 40 нс происходит переход на метку STARTLOOP и выполняется без задержки первый оператор цикла. Поскольку задано 2 TIMES, в следующий раз будет осуществлен повторный уход на начало цикла. Таким образом, цикл будет повторен 3 раза. Следующий пример иллюстрирует шестнадцатеричный формат описания: U1 STIM(4,4) IN1 IN2 IN3 IN4 IO_STM TIMESTEP=1ns
36
1. Моделирование цифровых схем
+ 0, 0 + LABEL=START + 10C, 1 + +5ns, 0 + 20C, A + +5ns 0 + 30C, GOTO START 1 TIMES
+ +10C, 1
; в нулевой момент все узлы = “0” ; в 10нс IN1, IN2 и IN3 = “0”, IN4 = “1” ; через 5 нс все узлы = “0” ; в 20 нс IN1 и IN3 = “1”, IN2 и IN4 = “0” ; через 5 нс все узлы = “0” ; в 30 нс без задержки выполняется первый ; оператор цикла; 1 TIMES вызывает ; выполнение цикла 2 раза (1 уход на ; начало) ; после выполнения цикла второй раз ; задержка 10 нс и потом IN1, IN2 и IN3 = “0”, ; IN4 = “1”
В следующем примере описан генератор шестнадцати сигналов. Пример иллюстрирует применение операции INCR и организацию цикла, число повторений которого определяется условием UNTIL. U2 STIM (16, 4444) 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 IO_STM + TIMESTEP=10 ns + 0s, 0000 ; в нулевой момент все узлы = “0” + LABEL=STARTLOOP + 10c INCR BY 0001 ; в 100 нс увеличение сигнала + 20c GOTO STARTLOOP UNTIL GE; шины на 1 000A ; если сигнал шины < 10, возврат ; на STARTLOOP и выполнение ; первого оператора без задержки Последний пример иллюстрирует применение смешанного формата, в котором сигналы узлов 1, 2 и 7 описаны в двоичном формате, а узлы 3, 4, 5, 6 - в шестнадцатеричном.
USTIM STIM(7,1141) 1 2 3 4 5 6 7 IO_STM
1.4. Логические примитивы цифровых элементов
+ 0s 0000 + LABEL=STARTLOOP + 1ns 0070 + 2ns 11F1 + 3ns GOTO STARTLOOP 3 TIMES
; в нулевой момент все узлы = “0” ; в 1 нс узлы 1,2,3=“0”, узлы 4,5,6=“1”, узел7=“0” ; в 2 нс все узлы = “1” ; в 3 нс без задержки выполняется первый ; оператор цикла; 3 TIMES вызывает выпол; нение цикла 4 раза (3 уход на ; начало)
37
2. М О Д Е Л И Р О В А Н И Е АНАЛОГО-ЦИФРОВЫХ СХЕМ 2.1. АЛГОРИТМЫ СМЕШАННОГО МОДЕЛИРОВАНИЯ PSpice и Design Center позволяют осуществлять смешанное электрологическое моделирование аналого-цифровых схем. В первом приближении модель аналого-цифрового устройства при смешанном моделировании можно представить схемой рис. 2.1.
Рис. 2.1. Модель аналого-цифрового устройства
Одна часть схемы представляется аналоговой моделью, которая рассчитывается на электрическом уровне. В ней определяются электрические сигналы - напряжения и токи. В некоторых случаях на электрическом уровне может моделироваться не только действительно аналоговая часть схемы, но и какие-то небольшие фрагменты цифровой части. Например, на электрическом уровне может рассчитываться какой-то логический элемент, в котором разработчика интересуют токи и напряжения во время переходного процесса. Однако моделирование на этом уровне больших цифровых фрагментов невозможно из-за непомерно больших затрат машинного времени. Другая часть схемы - цифровая, моделируется на логическом уровне с помощью описанных в п. 1 примитивов. В ней фигурируют не электрические, а логические сигналы. Между аналоговой и цифровой моделями включаются интерфейсные элементы. Их задача - согласовать сигналы и события в этих двух принципиально различных моделях. Интерфейс Ц/А преобразует вектор выходных логических сигналов Qвых цифровой модели в вектор напряжений Uвх аналоговой модели. Интерфейс моделирует также выходные ВАХ цифровых элементов, являющихся источниками сигналов для аналоговой части схемы.
2.1. Алгоритмы смешанного моделирования
39
Интерфейс А/Ц преобразует вектор напряжений Uвых в узлах аналоговой части схемы, соответствующих входам цифровой части, в вектор логических сигналов Qвх цифровых элементов. Одновременно осуществляется преобразование непрерывного времени в аналоговой модели в дискретное время цифровой модели. Этот интерфейс моделирует также входные ВАХ цифровых элементов, являющихся нагрузкой для аналоговой части схемы. Смешанное моделирование в PSpice может осуществляться в двух вариантах. Первый из них - одновременное, параллельное моделирование аналоговой и цифровой части самой программой PSpice. В PSpice эта возможность обеспечивается той же опцией Digital Simulation, которая необходима для цифрового моделирования. При расчете аналого-цифровой схемы по постоянному току все задержки цифровых элементов считаются равными нулю, а сигналы генераторов логических сигналов равны своим начальным значениям. Работает тот же итерационный алгоритм, что и при расчете аналоговых схем. Если за допустимое число итераций (задается опцией ITL1, см. [1], п. 3.2) решение не найдено, то выходы всех А/Ц интерфейсов переводятся в неопределенное состояние “X” и дальнейшие итерации не проводятся. При расчете переходных процессов в аналого-цифровой схеме аналоговая и цифровая части рассчитываются каждая со своим изменяющимся шагом. Алгоритм смешанного моделирования осуществляет синхронизацию временных шагов в моменты, соответствующие событиям в интерфейсах. Внутренний шаг в цифровой модели равен целому числу минимальных шагов. Задержки меньшие половины этого минимального шага считаются равными нулю. Минимальный шаг может быть задан опцией DIGFREQ в операторе .OPTIONS и равен 1/DIGFREQ. По умолчания DIGFREQ равен минимальной из величин 1010 и 2⋅109/TSTOP, где TSTOP - длительность переходного процесса, заданная в операторе .TRAN. Таким образом, при небольших длительностях переходного процесса минимальный шаг по умолчанию равен 10-10 с=0,1 нс. Малосигнальный анализ аналого-цифровых схем может проводиться, но при этом цифровая часть схемы не функционирует и отражается только своими входными и выходными импедансами. Описанное смешанное моделирование не ставит каких-либо ограничений на конфигурацию рассчитываемого аналого-цифрового устройства. Однако сложность цифровой части устройства должна соответствовать возможностям логического моделирования в PSpice. А эти возможности не очень велики по сравнению со специализированными программами логического моделирования, например с программами, входящими в систему P-CAD.
40
2. Моделирование аналого-цифровых схем
Второй вариант смешанного моделирования при работе с PSpice требует наличия в его составе опции Digital Files. Этот вариант заключается в поочередном, последовательном расчете аналоговой и цифровой частей схемы двумя разными программами. При этом аналоговая часть моделируется PSpice, а цифровая какой-нибудь внешней специализированной программой, например PCLOGS, входящей в P-CAD. Обмен информацией между программами в этом случае осуществляется через файлы. PSpice формирует выходной файл, в который заносит логические сигналы Qвх, получаемые с выходов интерфейса А/Ц. Эти сигналы являются входными для цифровой модели, которая рассчитывается внешней программой логического моделирования. Эта программа в свою очередь должна сформировать свой выходной файл и занести в него логические сигналы Qвых, относящиеся к выходным узлам, подключенным к аналоговой части схемы. С этим файлом может работать PSpice, подавая считанные из него логические сигналы на входы интерфейса Ц/А, который преобразует их в сигналы Uвх. Таким образом, PSpice осуществляет расчет аналоговой части устройства и интерфейсов. Так что из схемы на рис. 2.1 только цифровая модель является внешней по отношению к PSpice. Однако в действительности схему вида, представленного на рис. 2.1, по второму варианту в общем случае рассчитать нельзя. В этой схеме имеется обратная связь между аналоговой и цифровой частями, и рассчитывать их независимо друг от друга невозможно. Вариант последовательного смешанного моделирования применим только к схемам, в которых такие обратные связи отсутствуют. Подобная схема представлена на рис. 2.2. Она состоит из последовательно работающих цифровых и аналоговых блоков. К такому классу схем относятся многие измерительные системы, системы связи, системы физического эксперимента. В системах, имеющих такую последовательную структуру, можно на одной программе просчитать переходные процессы в первом блоке на протяжении всего заданного интервала времени. Затем на другой программе просчитать следующий блок, используя в качестве его входных сигналов уже полученные выходные сигналы предыдущего блока, и т.д. Такое последовательное смешанное моделирование и обеспечивает опция Digital Files.
2.1. Алгоритмы смешанного моделирования
41
Рис. 2.2.Устройство с чередованием аналоговых и цифровых блоков
Следует отметить, что при расчете возможна комбинация рассмотренных способов смешанного моделирования. Тогда PSpice рассчитывает аналогоцифровые фрагменты с обратными связями и формирует выходные файлы для расчета внешней программой больших цифровых фрагментов, с которых нет обратных связей на фрагменты, рассчитанные PSpice. Таким образом, в этом случае блоки аналоговой модели на рис. 2.2 в действительности могут быть аналого-цифровыми моделями, рассчитываемыми с помощью Pspice. 2.2 ПОДГОТОВКА АНАЛОГО-ЦИФРОВОЙ СХЕМЫ К РАСЧЕТУ При описании аналого-цифровой схемы получаются узлы трех типов: ♦ аналоговые узлы, расположенные внутри аналоговой части схемы, к которым подходят только аналоговые компоненты; ♦ цифровые узлы, расположенные внутри цифровой части схемы, к которым подходят входы и выходы только цифровых элементов; ♦ смешанные узлы, расположенные на стыке аналоговой и цифровой частей схемы, к которым подходят выводы как аналоговых, так и цифровых элементов. Каждый смешанный узел должен быть расщеплен минимум на два узла аналоговый и цифровой. В первом из них сигналом будет являться напряжение, в другом - логический сигнал. Между этими узлами должен включаться А/Ц или Ц/А интерфейс. Если к смешанному узлу подключены в цифровой части и входы, и выходы цифровых элементов, то расщепление должно производиться на три узла: один цифровой, относящийся к выходам цифровых элементов, другой - аналоговый и третий - цифровой, относящийся ко входам цифровых элементов. Между первым и вторым узлом включается Ц/А интерфейс, транслирующий выходной логический сигнал в аналоговый,
42
2. Моделирование аналого-цифровых схем
а между вторым и третьим включается А/Ц интерфейс, транслирующий аналоговый сигнал в логический сигнал входов цифровых элементов. Типичные подсхемы интерфейсов для ряда серий цифровых интегральных схем включены в прилагаемую к программе библиотеку DIGIO.LIB. Подобную библиотеку можно создать и самому для применяемых цифровых интегральных схем, пользуясь сведениями, приведенными в п. 2.2 и последующих пунктах. При подготовке аналого-цифровой схемы к расчету можно использовать автоматическое или ручное расщепление смешанных узлов и включение интерфейсов. При ручном способе подготовка схемы заключается в следующем. ♦ Каждый смешанный узел расщепляется на аналоговый и один, два или более цифровых, которым присваиваются разные имена. Расщепление с двумя цифровыми узлами, как указывалось выше, обязательно производится, если к смешанному узлу подключены и выходы, и входы цифровых элементов. Тогда один цифровой узел относится к этим входам, а другой - к выходам. Кроме того, если к смешанному узлу подключено несколько входов разных цифровых элементов, то можно их представить одним цифровым узлом, а можно несколькими и к каждому в дальнейшем подключить свой интерфейс. Тогда эти интерфейсы автоматически отразят параллельное включение входных импедансов цифровых элементов. Если же не проводить такого разбиения, то надо вручную подсчитать эквивалентный импеданс входов и описать его в интерфейсе. Аналогичные альтернативные подходы возможны и в случае, если к одному смешанному узлу подключено несколько выходов цифровых элементов. ♦ Аналоговая и цифровая части схемы описываются обычным образом. При этом в описании аналоговой части используются имена аналоговых узлов, а при описании цифровой части - цифровых. В операторах, описывающих цифровые элементы, указываемые для PSpice 5 узлы питания, как и при чисто цифровом моделировании, не имеют никакого значения. К этим узлам можно ничего не подключать. ♦ Между аналоговыми и цифровыми узлами, получившимися в результате расщепления смешанных узлов, включаются интерфейсы. При этом между узлом выхода цифровой схемы и соответствующим ему аналоговым узлом включается Ц/А интерфейс - элемент типа N или собранная на его основе более сложная и точная интерфейсная подсхема. А между узлом входа цифровой схемы и соответствующим ему аналоговым узлом включается А/Ц интерфейс - элемент типа O или собранная на его основе более детальная интерфейсная подсхема.
2.2. Подготовка аналого-цифровой схемы к расчету
43
♦ Задаются независимые источники напряжения, подключаемые к интерфейсам и определяющие, как будет показано в пп. 2.3 и 2.4, уровни напряжений, соответствующих различным логическим сигналам.
Рис.2.3. Аналого-цифровой генератор импульсов: принципиальная схема (а) и расщепление узлов при отсутствии R3 (б) и с R3 (в)
Рассмотрим в качестве примера схему генератора импульсов, показанную на рис. 2.3а. При подаче на вход IN0 сигнала “1” на выходе OUT сигнал равен “1”. А при поступлении на вход IN0 сигнала “0” генератор начинает выдавать прямоугольные импульсы, частота которых определяется задержкой элемента И-НЕ и постоянной времени емкости C1. Если в схеме отсутствует показанный пунктиром на рис. 2.3а резистор R3, то узлы IN0 и IN1 являются цифровыми, узел 1 - аналоговый, а узлы IN2 и OUT - смешанные. Эти узлы должны быть расщеплены, как показано на рис. 2.3б. Узел IN2 расщеплен на 2 узла - IN2 и DIN2, из которых первый является аналоговым, а второй - цифровым, подключенным ко входу логического элемента. Между этими узлами включается подсхема А/Ц интерфейса XAD1, передающего информацию с IN2 в DIN2. Узел OUT также расщепляется на OUT и DOUT и между ними включается подсхема Ц/А интерфейса XDA1,
44
2. Моделирование аналого-цифровых схем
передающего информацию из DOUT в OUT. К интерфейсам должны быть подключены не указанные на рисунке питающие напряжения, с помощью которых задаются уровни, соответствующие сигналам “0” и “1”. Пусть, например, А/Ц интерфейс описывается библиотечным типом подсхемы с именем DA, а Ц/А интерфейс описывается библиотечным типом подсхемы с именем AD. И пусть узлы питания интерфейсов UP и “0”, причем потенциал UP должен быть равен 5 В. Используются также библиотечные модели задержек с именем MDL и входа/выхода с именем IO. Тогда описание схемы, соответствующей рис. 2.3б может иметь вид U1 U2 VP RP
INV NAND(2) UP 0 UP 0
UP 0 IN0 IN1 MDL IO UP 0 IN1 DIN2 DOUT MDL IO 5v 1MEG ; Сопротивление включается для того, чтобы узел UP ; не оказался оборванным XDA1 UP DOUT OUT DA ; В модель подсхемы DA передаются имена ;аналогового и цифрового узлов и узла питания XAD1 UP DIN2 IN2 AD ; В модель подсхемы AD передаются имена ;аналогового и цифрового узлов и узла питания R1 OUT 1 1K R2 1 IN2 1K C1 1 0 10PF
Чаще узлы питания интерфейсов делают глобальными. Например, в библиотеке DIGIO.LIB используются имена $G_DPWR и $G_DGND. Тогда имена узлов питания не требуется передавать в подсхемы интерфейсов, так как они уже используются внутри этих подсхем. Результаты расчета схемы с помощью Design Center приведены на рис. 2.4. В верхней части даны диаграммы логических сигналов в цифровых узлах, в нижней - графики напряжений в аналоговых узлах. Двойные линии при переключении цифровых сигналов соответствуют попаданию элементов в неопределенное состояние “X”. Это связано со сравнительно медленным изменением напряжения на входе IN2, в результате чего на элемент И-НЕ в течение некоторого времени подается сигнал, величина которого лежит между “0” и “1”. Если в схеме рис. 2.3а присутствует сопротивление R3, то узел IN1 становится смешанным. Поскольку к этому узлу подключен выход инвертора и вход элемента И-НЕ, то этот узел расщепляется на три (рис. 2.3в): D1IN1 цифровой выход инвертора, D2IN1 - цифровой вход элемента И-НЕ, IN1 аналоговый узел. Между ними включаются интерфейсы O2, N2.
2.2. Подготовка аналого-цифровой схемы к расчету
45
Подготовка схемы к расчету для автоматического расщепления смешанных узлов и включения интерфейсов отличается от рассмотренной выше и сводится к следующему. ♦ Обычным способом описывается аналоговая часть схемы и модели компонентов. ♦ Описывается цифровая часть схемы, модели задержек цифровых элементов и модели входа/выхода. Отличие от описания, используемого при чисто цифровом моделировании заключается только в том, что в моделях входа/выхода должны быть указаны подсхемы интерфейсов, и в том, что в описании элементов уже не безразлично, какие узлы указывать в качестве узлов питания. Подробнее об этом будет сказано ниже. ♦ Описываются подсхемы А/Ц и Ц/А интерфейсов на основе элементов O и N. Чаще всего эти описания уже содержатся в DIGIO.LIB или другой библиотеке. И ссылки на них содержатся в библиотечных моделях входа/выхода. Тогда никакого дополнительного описания не требуется. ♦ Описывается подсхема питания цифровых элементов DIGIFPWR, которая определяет уровни напряжений в интерфейсах. Если эта подсхема не описывает всех требуемых напряжений, то эти напряжения могут быть заданы обычными независимыми источниками напряжения. Обычно описание соответствующей подсхемы питания уже содержатся в DIGIO.LIB или другой библиотеке. Тогда никакого дополнительного описания не требуется.
46
2. Моделирование аналого-цифровых схем
Рис. 2.4. Переходные процессы в аналого-цифровом генераторе импульсов
Таким образом, при наличии соответствующих библиотек вся подготовка схемы сводится к обычному описанию аналоговой и цифровой частей схемы и к указанию соответствующих библиотечных моделей входа/выхода и узлов источников питания интерфейсов. Пусть, например, для цифровых элементов схемы (см. рис. 2.3а) имеется в библиотеке модель задержек MDL, модель входа/выхода IO со ссылками на библиотечные подсхемы интерфейсов и подсхема DIGIFPWR, задающая потенциалы глобальных узлов питания интерфейсов $G_DPWR и $G_DGND. Тогда описание схемы (см. рис. 2.3а) может иметь вид U1 U2 R1 R2 C1 R3
INV IO NAND(2) IO OUT 1 1 IN1
$G_DPWR
$G_DGND
IN0 IN1
MDL
$G_DPWR
$G_DGND
IN1 IN2 OUT MDL
1 IN2 0 0
1K 1K 10PF 1K
2.2. Подготовка аналого-цифровой схемы к расчету
47
Рассмотрим теперь, как работает алгоритм автоматического расщепления смешанных узлов. Программа просматривает информацию о схеме, выявляет смешанные узлы и расщепляет их. Если к смешанному узлу подключено несколько входов и выходов цифровых элементов, то вводится по одному новому цифровому узлу на каждый вход и выход. Таким образом, в этих случаях цифровая схема как бы разрывается и цифровые элементы, подключенные к одному узлу, начинают взаимодействовать друг с другом только через интерфейсы к общему для них аналоговому узлу. При этом, если к одному узлу подключены несколько выходов цифровых элементов, то арбитраж между их сигналами решается уже не на основании механизма силы сигналов, рассмотренному в п. 1.3, а определяется результирующим сигналом в аналоговом узле. Для вновь появляющихся аналоговых узлов сохраняется имя, заданное в описании схемы, а новым цифровым узлам присваивается имя <имя>$AtoD или <имя>$DtoA соответственно для узлов входов и выходов цифровых элементов. Здесь <имя> - это имя узла, указанное в описании схемы. Если при расщеплении смешанного узла образовалось несколько входных или выходных узлов, то в конце имени для каждого, кроме первого, добавляется порядковый номер, например <имя>$AtoD2. Ниже приведена секция выходного файла .OUT для Design Center, описывающая производимые замены в схеме, показанной на рис. 2.3а (в скобках даются комментарии и перевод сообщений программы). **** Generated AtoD and DtoA Interfaces **** (Генерация А/Ц и Ц/А интерфейсов) * Analog/Digital interface for node in1 (А/Ц интерфейс узла in1) * Moving U2:IN1 from analog node IN1 to new digital node IN1$AtoD (Замена в U2: IN1 заменяется на новый цифровой узел IN1$AtoD) X$in1_AD1 in1 IN1$AtoD $G_DPWR $G_DGND AD1 + PARAMS: CAPACITANCE= 100.0000E-15
(Предыдущий оператор задает подсхему А/Ц интерфейса X$in1_AD1 типа AD1, который описан в используемой элементом модели входа/выхода IO. В подсхему передаются имена аналогового и цифрового узлов, имена узлов питания и параметр - емкость) *Moving U1:OUT1 from analog node IN1 to new digital node IN1$DtoA X$IN1_DA1 IN1$DtoA in1 $G_DPWR $G_DGND DA1 + PARAMS: DRVH= 96.4 DRVL= 104 CAPACITANCE= 500.0000E-15
48
2. Моделирование аналого-цифровых схем
(Аналогичная рассмотренной выше замена в U1 узла IN1 на новый цифровой узел IN1$DtoA. Описание подсхемы Ц/А интерфейса и передача в нее необходимых параметров) * Analog/Digital interface for node in2 (А/Ц интерфейс узла in2) * Moving U2:IN2 from analog node IN2 to new digital node IN2$AtoD X$in2_AD1 in2 IN2$AtoD $G_DPWR $G_DGND AD1 + PARAMS: CAPACITANCE= 100.0000E-15 * Analog/Digital interface for node out (А/Ц интерфейс узла out) * Moving U2:OUT1 from analog node OUT to new digital node OUT$DtoA X$OUT_DA1 OUT$DtoA out $G_DPWR $G_DGND DA1 + PARAMS: DRVH= 96.4 DRVL= 104 CAPACITANCE= 500.0000E-15 * * Analog/Digital interface power supply subcircuits X$DIGIFPWR 0 DIGIFPWR (Ссылка на подсхему источников питания интерфейсов и передача в нее узла “земля” 0) .END ;(end of AtoD and DtoA interfaces) (Конец описания А/Ц и Ц/А интерфейсов).
При автоматической генерации интерфейсов программа ориентируется на подсхемы интерфейсов, указанные в модели входа/выхода элемента. В пп. 1.2 и 1.3 описывались параметры, задаваемые в модели входа/выхода. Однако там не упоминалась группа параметров, используемых только при автоматической генерации интерфейсов. Это параметры AtoD1, AtoD2, AtoD3, AtoD4 - имена подсхем А/Ц интерфейсов различных уровней, а также параметры DtoA1, DtoA2, DtoA3, DtoA4 - имена подсхем Ц/А интерфейсов различных уровней. По умолчанию первые из них имеют имя AtoDDefault, а последние - DtoADefault. Таким образом, для каждой модели входа/выхода можно задать до четырех вариантов подсхем интерфейсов. Они отличаются разной степенью точности: от простейших, имеющих только два состояния “0” и “1” и идеальные импедансы, до сложных, описываюших нелинейные ВАХ реальных элементов. Примеры подсхем интерфейсов будут приведены в пп. 2.3.2 и 2.4.2. Те или иные подсхемы интерфейсов, имена которых заданы в модели входа/выхода, включаются в схему в зависимости от параметра IO_LEVEL, задаваемого при описании цифровых элементов. Например: U2 NAND(2) $G_DPWR $G_DGND IN1 IN2 OUT MDL IO + IO_LEVEL=2.
2.2. Подготовка аналого-цифровой схемы к расчету
49
При IO_LEVEL=1 включаются AtoD1/DtoA1, при IO_LEVEL=2 AtoD2/DtoA2 и т.д. Таким образом, можно изменять модели интерфейсов, не изменяя описания схемы, а только задавая для того или иного элемента соответствующее значение IO_LEVEL. При IO_LEVEL=0 для выбора моделей интерфейсов используется значение опции DIGIOLVL, задаваемое оператором .OPTIONS. По умолчанию DIGIOLVL=1. В PSpice 5 в модели входа/выхода могут также задаваться дополнительные задержки переключений “0”→“1” и “1”→“0” в Ц/А интерфейсах. Задержки переключения “0”→“1” задаются параметрами TSWLH1 - TSWLH4 соответственно для DtoA1 - DtoA4, а задержки переключения “1”→“0” задаются параметрами TSWHL1 - TSWHL4. По умолчанию эти задержки равны нулю. Введение этих задержек оправдано, в частности в тех случаях, когда интерфейсы разрывают цифровую часть схемы, как это произошло в рассмотренном выше примере в узле IN1 при наличии сопротивления R3. В таких случаях программа не может учесть влияние входных емкостей нагрузочных цифровых элементов на задержку в оборвавшемся выходе цифрового элемента. Задержка, определяемая этими емкостями, и может быть указана как дополнительная для соответствующего Ц/А интерфейса. При задании выходных сопротивлений в моделях входа/выхода для PSpice 5 надо иметь ввиду определенные ограничения: минимальное сопротивление для силы F ограничено опцией DIGDRVF (по умолчанию 2 Ом), а максимальное сопротивление для силы Z - опцией DIGDRVZ (по умолчанию 20 кОм). Значения опций могут быть изменены оператором .OPTIONS. Теперь остановимся на описании источника питания интерфейсов, который в PSpice 5 задается подсхемой с именем DIGIFPWR. Чаще всего эта подсхема включается в библиотеку. При автоматической генерации интерфейсов она, хотя бы пустая, обязательно должна присутствовать, даже если напряжения питания заданы просто отдельными источниками напряжения. На эту подсхему автоматически делается ссылка при генерации интерфейсов. Форма этой автоматической ссылки была видна из приведенного выше примера: X$DIGIFPWR 0 DIGIFPWR , где 0 - узел “земля” в аналоговой части схемы. В простейшем случае, если, например, в схеме используются глобальные узлы питания $G_DPWR и $G_DGND, на первый из которых должно быть подано напряжение 5 В, а на другой - 0 В, подсхема DIGIFPWR может иметь вид SUBCKT DIGIFPWR AGND
50
2. Моделирование аналого-цифровых схем
VP $G_DPWR $G_DGND 5v VG $G_DGND AGND R1 $G_DPWR AGND R2 $G_DPWR AGND .ENDS DIGIFPWR
0 10MEG 10MEG
В этом описании AGND - узел земли аналоговой части схемы. Параметр V задает напряжение питания, а параметр VGND - разность напряжений между “аналоговой” и “цифровой” землей. Сопротивления R1 и R2 включены в эту подсхему, чтобы избежать висячих узлов, поскольку подключенные к узлам питания интерфейсы не считается программой за обычные элементы. Если в схеме используются цифровые элементы с разными уровнями сигналов, то удобнее подсхема DIGIFPWR, оформленная в виде, допускающем обращение к ней из подсхем интерфейсов для задания соответствующих напряжений в узлы питания интерфейса: SUBCKT DIGIFPWR AGND + OPTIONAL: DPWR=$G_DPWR DGND=$G_DGND + PARAMS: V=5V VGND=0V VP DPWR DGND {V} VG DGND AGND {VGND} R1 DPWR AGND 10MEG R2 DGND AGND 10MEG .ENDS DIGIFPWR При автоматическом обращении к этой подсхеме в момент генерации интерфейсов в виде X$DIGIFPWR 0 DIGIFPWR задаст узлам $G_DPWR и $G_DGND потенциалы 5 В и 0 В (значения по умолчанию). Но если в какойто подсхеме интерфейса надо некоторым узлам UP и UM задать, например, потенциалы 10 В и 0 В, то достаточно из этого интерфейса вызвать ту же подсхему с помощью оператора: X1 0 UP UM DIGIFPWR PARAMS: V=10V. На этом можно закончить общее описание подготовки схемы для смешанного параллельного моделирования. Задание подсхем интерфейсов будет подробно рассмотрено в последующих пунктах. А теперь коротко остановимся на более редко используемом варианте смешанного моделирования с помощью PSpice и внешней программы логического моделирования. Такое моделирование возможно только для аналогоцифровых схем, имеющих структуру, представленную на рис. 2.2. В этих случаях аналоговая часть схемы описывается в PSpice обычным способом. На
2.2. Подготовка аналого-цифровой схемы к расчету
51
тех входах схемы, на которые должны поступать цифровые сигналы, ставятся Ц/А интерфейсы. В описании интерфейса указываются имя и формат файла, из которого будут читаться сигналы, и имя сигнала. Это имя, которое присвоено данному сигналу во внешней программе логического моделирования. На таких выходах схемы, на которых сигналы должны передаваться во внешнюю программу логического моделирования, ставятся А/Ц интерфейсы. В описании интерфейса указываются имя и формат выходного файла, в который будут записываться сигналы, и имена сигналов, которые должны совпадать с именами в программе логического моделирования. Цифровая часть схемы описывается по правилам той программы, на которой она будет моделироваться. При этом имена интерфейсных сигналов должны совпадать с теми, которые указаны в описаниях интерфейсов в PSpice. Входные сигналы, поступающие из интерфейсных узлов аналоговой части, должны читаться программой из файла, формируемого в PSpice. Программа логического моделирования должна формировать файл, содержащий значения тех сигналов, которые в дальнейшем будут передаваться в PSpice. Возможные форматы входных и выходных файлов, которыми обмениваются PSpice и внешняя программа логического моделирования, приведены в работе [2]. Если эти форматы не подходят в точности для используемой программы моделирования, то нетрудно написать небольшую вспомогательную внешнюю программу, преобразующую файлы к виду, допустимому для PSpice и для программы логического моделирования. 2.3. АНАЛОГО-ЦИФРОВЫЕ ИНТЕРФЕЙСЫ 2.3.1. ИНТЕРФЕЙСНЫЙ ЭЛЕМЕНТ Основой построения подсхем А/Ц интерфейсов является элемент типа О аналого-цифровой интерфейсный элемент. Рассмотрим сначала А/Ц интерфейс, передающий сигнал на вход цифрового элемента PSpice. Такие интерфейсы используются при параллельном смешанном моделировании. В этом случае оператор, описывающий интерфейс, имеет вид O<имя> <узел (+)> <узел (-)> <имя модели> + DGTLNET = <цифровой узел> <имя модели входа/выхода> Интерфейс транслирует аналоговый сигнал (разность напряжений между узлами <узел (+)> и <узел (-)>) в логический сигнал в цепи <цифровой узел>. Помимо трансляции напряжений в логические сигналы модель аналого-
52
2. Моделирование аналого-цифровых схем
цифрового интерфейса отражает входной импеданс цифрового элемента, являющийся нагрузкой для аналоговой части схемы. Например, оператор O1 ANALOG 0 DM1 DGTLNET=DIG IO описывает интерфейс O1, имеющий модель с именем DM1 и модель входа/выхода с именем IO. Интерфейс преобразует разность напряжений между аналоговыми узлами ANALOG и 0 в логический сигнал цифрового узла DIG. Модель DM1 описывает входной импеданс между узлами ANALOG и 0. Цифровой узел, указываемый в операторе, не должен непосредственно соединяться с каким-либо аналоговым элементом, поскольку в противном случае PSpice автоматически вставит элемент O между цифровым входом (изменив его имя) и аналоговым узлом. Модель А/Ц интерфейса имеет тип DOUTPUT и задается оператором вида .MODEL <имя модели> DOUTPUT [<параметры модели>]. Параметры модели представлены в табл. 2.1. Эквивалентная схема модели аналого-цифрового интерфейса представляет собой параллельное соединение нагрузочного сопротивления RLOAD и нагрузочной емкости CLOAD (входного сопротивления и входной емкости цифрового элемента), включенное между узлами <узел (+)> и <узел (-)>. Множество возможных значений логического сигнала определяется параметрами модели S0NAME - S19NAME. Однако такая избыточность - 20 возможных значений, может использоваться только при смешанном моделировании с обращением к внешней программе логического моделирования. Для цифровых элементов PSpice 4 возможные значения - “0”, “1”, “X”, “Z”, для PSpice 5 - “0”, “1”, “X”, “Z”, “R”, “F”.
2.3. Аналого-цифровые интерфейсы
53 Таблица 2.1
ПАРАМЕТРЫ МОДЕЛИ А/Ц ИНТЕРФЕЙСА Имя RLOAD CLOAD S0NAME S0VLO S0VHI S1NAME S1VLO S1VHI S2NAME S2VLO S2VHI ... S19NAME S19VLO S19VHI TIMESTEP CHGONLY
Параметр
Размерность Ом Ф В В В В В В
входное сопротивление входная емкость символ состояния 0 низкий уровень в состоянии 0 высокий уровень в состоянии 0 символ состояния 1 низкий уровень в состоянии 1 высокий уровень в состоянии 1 символ состояния 2 низкий уровень в состоянии 2 высокий уровень в состоянии 2 ... символ состояния 19 низкий уровень в состоянии 19 В высокий уровень в состоянии 19 В минимальный шаг по времени с запись: 0 - каждый шаг, 1 - изменения (только для вывода в файл) FILE выходной файл (только для вывода в файл) FORMAT формат выходного файла (только для вывода в файл) TIMESCALE масштабный коэффициент для TIMESTEP с (только для вывода в файл)
Умолчание ∞ 0 10-9 0 1 1
Преобразование напряжения в логические сигналы осуществляется пороговыми функциями. Для каждого из возможных состояний i логического сигнала в описании модели задается диапазон напряжений SiVLO - SiVHI. Входное напряжение сначала сравнивается с диапазоном напряжений того состояния, в котором вход цифрового элемента находился до данного момента. Если напряжение находится внутри этого диапазона, то считается, что логический сигнал не изменился. В противном случае напряжение сравнивается с диапазонами, заданными для последующих состояний, а если список состояний кончился, то он просматривается с начала - с состояния S0NAME. В качестве нового значения логического сигнала принимается первое, для которого заданный диапазон напряжений включает действительное значение входного напряжения. Такой алгоритм позволяет
54
2. Моделирование аналого-цифровых схем
при желании описать гистерезис при изменении состояний. Если ни один из заданных диапазонов не содержит входного напряжения, то в качестве символа выходного сигнала выдается "?". При этом моделирование прерывается. Поэтому диапазоны напряжений в описании модели должны охватывать все возможные значения напряжений, которые могут появиться в моделируемой схеме. Преобразование напряжений в логические сигналы интерфейс производит в моменты времени, кратные параметру TIMESTEP. Таким образом, этот параметр определяет точность, с которой фиксируются моменты пересечения напряжением пороговых величин различных значений логического сигнала. Чтобы с требуемой точностью определить момент пересечения, алгоритм аналогового моделирования делает шаг, не превышающий TIMESTEP на интервалах времени, на которых может произойти пересечение. По умолчанию TIMESTEP равен 1 нс и в любом случае не больше, чем 1/DIGFREQ (см. работы [1] и [3]). Во многих схемах такое высокое временное разрешение излишне и можно существенно сократить время расчета, увеличив TIMESTEP. Параметры модели TIMESCALE, FILE, CHGONLY, FORMAT в интерфейсах, передающих сигнал в цифровые элементы PSpice, не используются. Приведем примеры описаний моделей А/Ц интерфейса. Оператор .MODEL DM1 DOUTPUT RLOAD=1k CLOAD=2pf + S0NAME=0 S0VLO=-10 S0VHI=0.5 + S1NAME=1 S1VLO=0.5 S1VHI=10 описывает двузначную модель, в которой порог между состояниями “0” и “1” равен 0,5 В. Любое напряжение меньшее 0,5 В будет восприниматься как “0”, а большее - как “1”. При желании отразить в модели различие между порогами состояний “0” и “1” и неопределенное состояние “X” оператор можно записать в виде .MODEL DM1 DOUTPUT RLOAD=1k CLOAD=2pf + S0NAME=0 S0VLO=-10 S0VHI=0.5 + S1NAME=1 S1VLO=0.7 S1VHI=10 + S2NAME=X S2VLO=0.5 S2VHI=0.7 В этой модели напряжение меньшее 0,5 В воспринимается как логический "0", напряжение большее 0,7 В - как логическая "1", а напряжение между 0,5 В и 0,7 В - как неопределенное состояние "X". Если требуется моделировать цифровой элемент с гистерезисом (такие элементы обладают повышенной помехоустойчивостью и используются в ряде схем), то это можно сделать, задав, например, такое описание модели:
2.3. Аналого-цифровые интерфейсы
55
.MODEL DM1 DOUTPUT RLOAD=1k CLOAD=2pf + S0NAME=0 S0VLO=-10 S0VHI=1.5 + S1NAME=1 S1VLO= 0.5 S1VHI=10 В этой модели при увеличении напряжения от нуля состояние “0” в цифровом узле поддерживается вплоть до 1,5 В, после чего появляется состояние “1”. Если напряжение потом начнет уменьшаться, то состояние “1” будет поддерживаться, пока напряжение не упадет ниже 0,5 В. Таким образом, получается гистерезис с шириной петли 1 В (от 0,5 до 1,5 В). В заключение приведем стандартную модель, включенную в библиотеку PSpice 5 и учитывающую состояния “R” и “F”: .MODEL DO74 DOUTPUT ( + s0name=X, s0vlo= 0.8, s0vhi=2.0, + s1name=0, s1vlo=-1.5, s1vhi=0.8, + s2name=R, s2vlo= 0.8, s2vhi=1.4, + s3name=R, s3vlo= 1.3, s3vhi=2.0, + s4name=X, s4vlo= 0.8, s4vhi=2.0, + s5name=1, s5vlo= 2.0, s5vhi=7.0, + s6name=F, s6vlo= 1.3, s6vhi=2.0, + s7name=F, s7vlo= 0.8, s7vhi=1.4) В этой модели используются те же особенности алгоритма преобразования сигналов, что и в приведенной ранее модели с гистерезисом. Если напряжение попадает в диапазон 0,8 ÷ 2,0 В из состояния “0”, то модель выдает состояние “R” - нарастание, а если в тот же диапазон сигнал попадает из состояния “1”, то он становится равным “F” - спад. Теперь рассмотрим А/Ц интерфейс, передающий сигнал в выходной файл. Такие интерфейсы используются при расчете аналого-цифровых схем с использованием внешней программы логического моделирования. В этом случае оператор, описывающий интерфейс, имеет вид: O<имя> <узел (+)> <узел (-)> <имя модели> + [ SIGNAME = <имя цифрового сигнала>] Параметр SIGNAME = <имя цифрового сигнала> определяет имя сигнала в выходном файле. Если этот параметр не задан, то в качестве имени логического сигнала будут приняты символы, следующие за символом "O" в имени элемента. Например, оператор
56
2. Моделирование аналого-цифровых схем
O7 A B TO_TTL SIGNAME=OUT описывает интерфейс, передающий в выходной файл сигнал с именем OUT, а оператор OA1 1 0 TO_TTL описывает интерфейс, передающий в выходной файл сигнал с именем A1 (символы, следующие в имени интерфейса за символом “O”). В интерфейсе, записывающем сигналы в выходной файл, используются, помимо прочих, такие параметры модели, как FILE, FORMAT, CHGONLY, TIMESCALE. Параметр FILE задает имя файла, в который при моделировании записываются выходные логические сигналы. В задании на расчет может быть описано сколько угодно моделей аналого-цифровых интерфейсов, которые могут ссылаться на одни и те же или разные файлы. При ссылках на один файл из разных моделей эти ссылки должны быть идентичны. Например, нельзя в одной модели сослаться на некоторый файл как на C:TEST.DAT, а в другой сослаться на тот же файл как на TEST.DAT, даже если диск C: является текущим диском. Иначе при моделировании могут получиться непредсказуемые результаты. Параметр FORMAT определяет формат записи в выходной файл. Подробные сведения о форматах приведены в работе [2]. Параметр CHGONLY определяет характер записи в файл: при CHGONLY=0 результаты записываются с шагом TIMESTEP; при CHGONLY=1 записываются только те шаги, на которых изменился хотя бы один из выходных сигналов. Параметры TIMESTEP и TIMESCALE определяют масштаб времени, передаваемого в выходной файл. Если в аналоговой части схемы текущее время равно T то в выходной файл запишется величина, равная целой части от T⋅TIMESCALE/TIMESTEP. Иначе говоря, цена временного шага в цифровой модели считается равной TIMESTEP/TIMESCALE и в выходной файл записывается время в единицах этих шагов. Поскольку, как было сказано ранее, величина TIMESTEP выбирается из соображений точности определения моментов пересечения порогов, параметр TIMESCALE позволяет согласовать единицы измерения времени в аналоговом и цифровом моделировании, если цена шага в цифровой модели много меньше, чем TIMESTEP. Например, если TIMESTEP=1 нс, а цена шага в цифровой модели равна 0.1 нс, надо задать TIMESCALE=10. При увеличении TIMESTEP с целью сокращения затрат времени на аналоговое моделирование надо пропорционально увеличивать и TIMESCALE.
2.3. Аналого-цифровые интерфейсы
57
2.3.2. ПОДСХЕМЫ АНАЛОГО-ЦИФРОВЫХ ИНТЕРФЕЙСОВ Если смешанное моделирование ведется с ручной расстановкой интерфейсов или с обращением к внешней моделирующей программе, то оформление интерфейса в виде подсхемы не обязательно. Однако и в этих случаях полезно оформить модель интерфейсной подсхемы, чтобы не повторять ее описание столько раз, сколько интерфейсов имеется в схеме. При этом к модели подсхемы не предъявляется каких-либо специальных требований. Если же применяется автоматическая генерация интерфейсов, то они обязательно должны представлять собой подсхему. Имена этих подсхем указываются в соответствующих моделях входа/выхода, на которые дается ссылка при описаниях цифровых элементов. Обращение к моделям подсхем задается программой автоматически в процессе генерации А/Ц интерфейсов и имеет вид <имя подсхемы> <аналоговый узел> <цифровой узел> + <узел питания+> <узел питания-> <имя модели подсхемы> + PARAMS: CAPACITANCE=<величина>. Например (см. фрагмент выходного файла автоматической генерации интерфейсов в п. 2.2): X$in1_AD1 in1 IN1$AtoD $G_DPWR $G_DGND AD1 + PARAMS: CAPACITANCE= 100.0000E-15. Передаваемая в модель подсхемы, как параметр, величина входной емкости цифрового элемента совпадает с величиной параметра INLD, заданной в модели входа/выхода цифрового элемента. Приведенной форме вызова подсхемы должен соответствовать заголовок ее модели: .SUBCKT <имя модели подсхемы> <аналоговый узел> + <цифровой узел> <узел питания+> <узел питания-> + PARAMS: CAPACITANCE=<значение по умолчанию> Простейшая модель подсхемы А/Ц интерфейса с бесконечным входным сопротивлением может состоять только из одного интерфейсного элемента и описания его модели: .SUBCKT AtoD A D UP UM PARAMS: CAPACITANCE=1e-15 O1 A UM AD1 DGTLNET=D IO .MODEL AD1 DOUTPUT (CLOAD={CAPACITANCE}, S0NAME=0
58
2. Моделирование аналого-цифровых схем
+ S0VLO=-10 S0VHI=0.5 S1NAME=1 S1VLO=0.5 S1VHI=10) .ENDS AtoD В этом примере модель интерфейсного элемента описана внутри модели подсхемы и значение емкости передается в нее в качестве параметра. Модель интерфейсного элемента может быть вынесена из описания модели подсхемы и использоваться для нескольких разных типов подсхем. Тогда возможны два варианта описания емкости. В первом варианте в модели должно быть указано конкретное значение емкости CLOAD и оно будет одинаковым для всех цифровых элементов, использующих соответствующие подсхемы интерфейсов. При этом емкости, указанные параметром INLD в моделях входа/выхода цифровых элементов будут игнорироваться. Во втором варианте CLOAD вообще не указывается (тогда по умолчанию CLOAD=0), а в модели подсхем интерфейсов емкости вводятся в качестве отдельных элементов: .SUBCKT AtoD A D UP UM PARAMS: CAPACITANCE=1e-15 O1 A UM AD1 DGTLNET=D IO C1 A UM ={CAPACITANCE+0.01pF} .ENDS AtoD Величина 0.01 пФ прибавляется к емкости, чтобы она не оказалась равной нулю (что запрещено в PSpice) в случае, если в модели подсхемы будет передано CAPACITANCE=0. В приведенных примерах входное активное сопротивление интерфейса считалось бесконечно большим. Это справедливо для цифровых элементов на МДП транзисторах. Для схем на ЭСЛ или ТТЛ элементах необходимо учитывать входное сопротивление. Для ЭСЛ элементов во многих случаях можно считать его постоянным и ввести или в модель интерфейсного элемента как параметр RLOAD с фиксированным значением, или добавить как отдельный элемент в подсхему. Для ТТЛ элемента такое приближение слишком грубое, так как реальная ВАХ (рис. 2.5а) существенно нелинейна и при нулевом входном напряжении протекает значительный ток смещения. Поэтому для повышения точности моделирования можно использовать эквивалентную схему интерфейса, представленную на рис. 2.5б. Ниже приведена модель подсхемы интерфейса, построенная по этой схеме и включенная в стандартные библиотеки Pspice. .SUBCKT AtoD_STD_E A D DPWR DGND + params: CAPACITANCE=0
2.3. Аналого-цифровые интерфейсы
59
O0 A DGND DO74 DGTLNET=D IO C1 A DGND {CAPACITANCE+0.1pF} D0 DGND A D74CLMP D1 1 2 D74 D2 2 DGND D74 R1 DPWR 3 4k Q1 1 3 A 0 Q74 .ENDS Диод D0 описывает охранный диод элемента, обусловливающий резкое нарастание тока при отрицательных входных напряжениях (левая часть ВАХ на рис. 2.5а). А резистор R1, транзистор Q1 и диоды D1, D2 воспроизводят входной каскад реального элемента. В интерфейсе использована модель DO74, описанная в предыдущем п. 2.3, и следующие модели диодов и транзистора: .model D74 D (IS=1e-16 RS=25 CJO=2pF) .model D74CLMP D (IS=1e-15 RS=2 CJO=2pF) .model Q74 NPN (IS=1e-16 ISC=4e-16 BF=49 BR=0.03 CJE=1pF + CJC=5pF CJS=3pF VJE=0.9 VJC=0.8 VJS=0.7 MJE=0.5 + MJC=0.33 MJS=0.33 TF=0.2ns TR=10ns RB=50 RC=20)
а)
б)
60
2. Моделирование аналого-цифровых схем Рис.2.5. Входная ВАХ ТТЛ элемента (а) и модель его интерфейса (б)
Детальное описание входной ВАХ, подобное приведенному выше, заметно повышает точность, но увеличивает время расчета. Поэтому применение моделей А/Ц интерфейсов с уточненной ВАХ оправдано только при запуске цифровых элементов от высокоомного источника сигнала, так как только в этом случае входные токи способны оказать заметное влияние на работу схемы. В некоторых случаях, когда цифровые элементы, входящие в схему, имеют разные питающие напряжения, в модель подсхемы интерфейса можно включить оператор обращения к подсхеме питания DIGIFPWR, как это было указано в п 2.2. 2.4. ЦИФРО-АНАЛОГОВЫЕ ИНТЕРФЕЙСЫ
2.4.1. ИНТЕРФЕЙСНЫЙ ЭЛЕМЕНТ Основой построения подсхем Ц/А интерфейсов является элемент типа N цифро-аналоговый интерфейсный элемент. Рассмотрим сначала Ц/А интерфейс, передающий сигнал с выхода цифрового элемента PSpice. Такие интерфейсы используются при параллельном смешанном моделировании. В этом случае оператор, описывающий интерфейс, имеет вид N<имя> <интерфейсный узел> + <узел низкого уровня> <узел высокого уровня> + <имя модели> + DGTLNET = <цифровой узел> <имя модели входа/выхода> + [ IS = <начальное состояние>] Цифро-аналоговый интерфейс транслирует логические сигналы заданного цифрового узла в источник соответствующих уровней напряжения с заданными выходными сопротивлениями и емкостями, подключенный к аналоговому узлу <интерфейсный узел>. Указанный в операторе цифровой узел не должен непосредственно соединяться с каким-либо аналоговым элементом, поскольку в противном случае PSpice автоматически вставит элемент N между цифровым выходом (изменив его имя) и аналоговым узлом. Модель Ц/А интерфейса имеет тип DINPUT и задается оператором вида .MODEL <имя модели> DINPUT [<параметры модели>]
2.4. Цифро-аналоговые интерфейсы
61
Параметры модели представлены в табл. 2.2. Эквивалентная схема интерфейсного элемента приведена на рис. 2.6. Она включает в себя два изменяющихся во времени сопротивления RHI и RL0, подсоединенных между интерфейсным узлом (т.е. узлом аналоговой части схемы) и узлами, к которым подключены Рис. 2.6 Эквивалентная схема Ц/А внешние источники постоянных интерфейсного элемента напряжений высокого и низкого уровня Vhi и Vlo. Cопротивления зашунтированы соответственно емкостями CHI и CL0. При изменении цифрового сигнала сопротивления RHI и RL0 изменяются в течение времени переключения по экспоненте от своего предыдущего значения до нового, определяемого пришедшим сигналом. Это вызывает изменение сигнала в интерфейсном узле. В качестве параметров модели для некоторого логического состояния i
62
2. Моделирование аналого-цифровых схем
задаются время включения (длительность фронта) SiTSW и значения сопротивлений SiRLO и SiRHI. Следует отметить, что фронты в Ц/А интерфейсе вносят некоторую путаницу в понятие задержки распространения сигнала. Поскольку задержка распространения измеряется по уровню 0,5 от Таблица 2.2 ПАРАМЕТРЫ МОДЕЛИ Ц/А ИНТЕРФЕЙСА Имя CLO CHI S0NAME S0TSW S0RLO S0RHI S1NAME S1TSW S1RLO S1RHI S2NAME S2TSW S2RLO S2RHI ... S19NAME S19TSW S19RLO S19RHI FILE FORMAT TIMESTEP
Параметр
Размерность емкость узла низкого уровня Ф емкость узла высокого уровня Ф символ состояния 0 задержка включения состояния 0 с сопротивление узла низкого уровня в Ом состоянии 0 сопротивление узла высокого уровня Ом в состоянии 0 символ состояния 1 задержка включения состояния 1 с сопротивление узла низкого уровня в Ом состоянии 1 сопротивление узла высокого уровня Ом в состоянии 1 символ состояния 2 задержка включения состояния 2 с сопротивление узла низкого уровня в Ом состоянии 2 сопротивление узла высокого уровня Ом в состоянии 2 ... символ состояния 19 задержка включения состояния 19 с сопротивление узла низкого уровня в Ом состоянии 19 сопротивление узла высокого уровня Ом в состоянии 19 входной файл (только для чтения из файла) формат входного файла (только для чтения из файла) шаг по времени входного файла с (только для чтения из файла)
Умолчание 0 0 -
1 -9
10
2.4. Цифро-аналоговые интерфейсы
63
амплитуды сигнала, то к внутренней задержке цифрового элемента добавляется примерно половина длительности фронта, заданной в модели интерфейса. Поэтому, строго говоря, при задании внутренних задержек цифровых элементов, связанных своими выходами с Ц/А интерфейсами, значения задержек должны быть уменьшены на половину длительности фронта, заданного в модели интерфейса. Выбирая соответствующие источники напряжения в узлах высокого и низкого уровней и значения резисторов, можно промоделировать в интерфейсном узле уровня и сопротивления SiRLO, SiRHI, можно обеспечить требуемые уровни логических сигналов при требуемых импедансах. Выходное сопротивление при некотором логическом состоянии i равно параллельному включению сопротивлений SiRLO и SiRHI, а уровень выходного сигнала Ui определяется делителем из этих сопротивлений: Ui = Vlo + ( Vhi - Vlo ) ⋅ SiRLO / ( SiRLO + SiRHI ). Таким образом, если известно, что для какого-то состояния надо обеспечить выходное сопротивление Rвых и уровень выходного напряжения Vlo+Uвых при заданных значениях Vlo и Vhi, то требуемые значения сопротивлений RLO и RHI можно найти из соотнгошений: RHI=Rвых⋅(Vhi-Vlo)/Uвых , RLO=Rвых⋅(Vhi-Vlo)/(Vhi-Vlo-Uвых). Логические сигналы в цифровых элементах могут принимать значения "0", "1", "X", "Z" в PSpice 4 и кроме этого значения “R” и “F” в PSpice 5. Соответственно в модели должны быть описаны параметры для всех значений логических сигналов, которые могут появиться в моделируемой схеме (см. выше пример 1). Иначе моделирование прервется, как только сигнал цифрового выхода примет значение, параметры которого в модели не описаны. Начальное состояние цифрового выхода определяется автоматически при расчете рабочей точки. В тех случаях, когда этот расчет не проводится (например при расчете схем генераторов - см. работу [1]), надо задавать начальное состояние выхода, вводя в оператор описания элемента N параметр IS = <начальное состояние>. Приведем пример описания интерфейсного элемента и его модели: N1 ANALOG DIG_GND DIG_PWR DM1 DGTLNET=DIG IO .MODEL DM1 DINPUT (CL0=5pf CHI=2pf + S0NAME=0 S0TSW=3.5ns S0RLO=7.13 S0RHI=389; 7 Ом 0.09 В
64
2. Моделирование аналого-цифровых схем
+ S1NAME=1 S1TSW=5.5ns S1RLO= 467 S1RHI=200; 140 Ом 3.5 В + S2NAME=X S2TSW=3.5ns S2RLO=42.9 S2RHI=116; 31.3 Ом 1.35 В + S3NAME=Z S3TSW=3.5ns S3RLO=200K S3RHI=200K) Данный пример описывает интерфейсный элемент N1, подключенный между цифровым выходом с именем DIG и аналоговым узлом с именем ANALOG. Узлы подключения источников напряжений, определяющих уровни аналоговых сигналов - DIG_GND и DIG_PWR. Цифровой выход DIG использует модель входа/выхода IO. Параметры интерфейсного элемента N1 задаются моделью с именем DM1. В комментариях к строкам описания различных состояний приведены выходные сопротивления интерфейсного элемента и уровни напряжений при условии, что потенциал узла DIG_GND=0, а потенциал DIG_PWR=5 В. Теперь рассмотрим Ц/А интерфейс, передающий сигнал из входного файла. Этот текстовый файл может создаваться вручную или любой внешней программой логического моделирования. Возможные форматы файлов приведены в работе [2]. Оператор, описывающий интерфейс, имеет вид N<имя> <интерфейсный узел> <узел низкого уровня> + <узел высокого уровня> <имя модели> + [ SIGNAME = <имя цифрового сигнала>] + [ IS = <начальное состояние>] Параметр SIGNAME = <имя цифрового сигнала> определяет имя сигнала во входном файле. Если этот параметр не задан, то в качестве имени логического сигнала будут приняты символы, следующие за символом "N" в имени элемента. Например, оператор N7 7 0 30 FROM_CMOS SIGNAME=A описывает интерфейс, воспринимающий из входного файла сигнал с именем A, а оператор NA1 1 20 21 DM2 IS=0 описывает интерфейс, воспринимающий из входного файла сигнал с именем A1 (символы, следующие в имени интерфейса за символом “N”). При этом задано начальное значение этого сигнала - “0”. Необходимо учитывать, что если в операторе начальное сотояние сигнала задано параметром IS, то отвечающее нулевому моменту времени значение этого сигнала во входном файле будет проигнорировано.
2.4. Цифро-аналоговые интерфейсы
65
Параметры модели интерфейса FILE и FORMAT задают имя и формат файла, из которого при моделировании читаются входные логические сигналы. В задании на расчет может быть описано сколько угодно моделей цифроаналоговых интерфейсов, которые могут ссылаться на одни и те же или разные файлы. При ссылках на один файл из разных моделей эти ссылки должны быть идентичны. Например, нельзя в одной модели сослаться на некоторый файл как на C:TEST.DAT, а в другой сослаться на тот же файл как на TEST.DAT, даже если диск C: является текущим диском. Иначе при моделировании могут получиться непредсказуемые результаты. Параметр модели TIMESTEP задает цену в секундах внутреннего временного шага программы, осуществляющей цифровое моделирование. Например, при -9 принятом по умолчанию значении TIMESTEP, равном 10 , шаг логического моделирования соответствует одной наносекунде. 2.4.2. ПОДСХЕМЫ ЦИФРО-АНАЛОГОВЫХ ИНТЕРФЕЙСОВ Если смешанное моделирование ведется с ручной расстановкой интерфейсов или с обращением к внешней моделирующей программе, то оформление Ц/А интерфейса в виде подсхемы не обязательно. Если при этом модель интерфейсной подсхемы вводится, чтобы не повторять ее описание столько раз, сколько интерфейсов имеется в схеме, то при этом к ней не предъявляется каких-либо специальных требований. Если же применяется автоматическая генерация интерфейсов, то интерфейсы обязательно должны представлять собой подсхему. Имена этих подсхем указываются в соответствующих моделях входа/выхода, на которые дается ссылка при описаниях цифровых элементов. Обращение к моделям подсхемам задается программой автоматически в процессе генерации А/Ц интерфейсов и имеет вид <имя подсхемы> <цифровой узел> <интерфейсный узел> + <узел высокого уровня> <узел низкого уровня> + <имя модели подсхемы> PARAMS: + DRVH=<величина> DRVL=<величина> + CAPACITANCE=<величина>. Например (см. фрагмент выходного файла автоматической генерации интерфейсов в п. 2.2): X$OUT_DA1 OUT$DtoA out $G_DPWR $G_DGND DA1 + PARAMS: DRVH= 96.4 DRVL= 104 CAPACITANCE= 500.0000E-15
66
2. Моделирование аналого-цифровых схем
Передаваемые в модель подсхемы как параметры величины выходной емкости CAPACITANCE и выходных сопротивлений DRVH и DRVL высокого и низкого уровней цифрового элемента совпадают с величинами параметров OUTLD, DRVH и DRVL, заданными в модели входа/выхода цифрового элемента. Приведенной форме вызова подсхемы должен соответствовать заголовок ее модели: .SUBCKT <имя модели подсхемы> + <цифровой узел> <интерфейсный узел> + <узел высокого уровня> <узел низкого уровня> + PARAMS: DRVH=<значение по умолчанию> + DRVL=<значение по умолчанию> + CAPACITANCE=<значение по умолчанию> Простейшая модель подсхемы Ц/А интерфейса может состоять только из одного интерфейсного элемента и описания его модели: .SUBCKT DtoA D A UP UM + PARAMS: DRVH= 100 DRVL= 100 CAPACITANCE=1e-15 N1 A UM UP DIN DGTLNET=D IO .model DIN dinput ( + CLO={CAPACITANCE}, CHI={CAPACITANCE}, + S0NAME=0 S0TSW=3.5ns S0RLO=7.13 S0RHI=389; Ом 0.09 В + S1NAME=1 S1TSW=5.5ns S1RLO= 467 S1RHI=200; 40 Ом 3.5 В + S2NAME=X S2TSW=3.5ns S2RLO=42.9 S2RHI=116; 31.3 Ом 1.35 В + S3NAME=Z S3TSW=3.5ns S3RLO=200K S3RHI=200K) .ENDS AtoD В этом примере модель интерфейсного элемента описана внутри модели подсхемы и значение емкости передается в нее в качестве параметров. Значения параметров DRVH и DRVL, передаваемые в подсхему при ее стандартном вызове, игнорируются. Если задавать напряжения высокого и низкого уровней UPI и UMI, питающие интерфейсный элемент, отличными от UP и UM, и задаться, например, постоянным отношением сопротивлений S0RHI/S0RLO=S1RLO/S1RHI=K, то в модели интерфейсного элемента можно учесть и параметры DRVH и DRVL. Обозначив выходные напряжения состояний “1” и “0” при холостом ходе на выходе через U1 и U2, можно получить выражения для выбора параметров:
2.4. Цифро-аналоговые интерфейсы 1+ K ; S0 RHI = DRVL ⋅ (1 + K ); K 1+ K S1RLO = DRVH ⋅ (1 + K ); S1RHI = DRVH ⋅ ; K S2RLO = S2RHI = DRVH + DRVL ; K ⋅ U1 − U 0 K ⋅ U 0 − U1 UP1 = ; UM 1 = . K −1 K −1 S0 RLO = DRVL ⋅
67
Соотношение для сопротивлений S2RLO и S2RHI, описывающих неопределенное состояние “X”, обеспечивает средний между “0” и “1” уровень напряжения и среднее значение выходного сопротивления. Приведенные выражения можно заложить в описание элементов интерфейсной подсхемы. Например, при K=2, U1=3,5 В, U0=0,09 В подсхема может иметь вид .SUBCKT DtoA D A UP UM + PARAMS: DRVH= 100 DRVL= 100 CAPACITANCE=1e-15 N1 A UM1 UP1 DIN DGTLNET=D IO VP1 UP1 0 6.91 ; 2U1-U0 VM1 UM1 0 -3,32 ; 2U0-U1 .model DIN dinput ( + CLO={CAPACITANCE}, CHI={CAPACITANCE}, + S0NAME=0 S0TSW=3.5ns S0RLO={1.5*DRVL} S0RHI={3*DRVL} + S1NAME=1 S1TSW=5.5ns S1RLO={3*DRVH} S1RHI={1.5*DRVH} + S2NAME=X S2TSW=3.5ns S2RLO={DRVL+DRVH} + S2RHI={DRVL+DRVH} + S3NAME=Z S3TSW=3.5ns S3RLO=200K S3RHI=200K) .ENDS AtoD Возможны, конечно, и другие варианты подсхем Ц/А интерфейсов. В частности, так же как и для А/Ц интерфейсных подсхем, можно емкость указывать не в модели, а в виде отдельного элемента, можно включить в подсхему обращение к подсхеме питания DIGIFPWR, можно описать нелинейные выходные ВАХ. 2.5. ЦИФРО-АНАЛОГОВЫЕ И АНАЛОГО-ЦИФРОВЫЕ ПРЕОБРАЗОВАТЕЛИ Интерфейсные элементы не единственные, которые могут осуществлять взаимное преобразование цифровых и аналоговых сигналов. В PSpice имеются также модели аналого-цифрового и цифро-аналогового преобразователей. В п. 2.5 рассмотрим первую из них. Оператор, описывающий аналого-цифровой преобразователь (АЦП), имеет вид U<имя> ADC(<число разрядов>) <список узлов> + <модель задержек> <модель входа/выхода> + <узел сигнала разрешения> <узел запуска> + [MNTYMXDLY=<уровень>] [IO_LEVEL=<уровень>], где <список узлов> для PSpice 4: <входной узел ><опорный узел> <земля>
3.1. Запуск PROBE на счет
69
+ <узел сигнала переполнения> <узел старшего разряда> ... + <узел младшего разряда> для PSpice 5: <узел питания +> <узел питания -> <входной узел> + <опорный узел> <земля> <узел сигнала разрешения> + <узел запуска> <узел сигнала переполнения> + <узел старшего разряда> ... <узел младшего разряда> Форма описания модели задержек: .MODEL <имя модели> UADC [<(параметры модели)>] Входной аналоговый сигнал Uвх подается между узлами <входной узел> и <земля>. Входное сопротивление между этими узлами равно 1/GMIN, где -12 GMIN определяется оператором .OPTIONS. По умолчанию GMIN=10 . Между узлами <опорный узел> и <земля> подается опорное напряжение Uоп, определяющее диапазон преобразования. Выходной сигнал АЦП равен ближайшему целому от величины U вх M ⋅2 , U оп M где M - разрядность АЦП. Если эта величина больше, чем 2 -1, то все разряды выходных данных и сигнал переполнения равны “1”. Если Uвх и Uоп не совпадают по знаку, то все разряды выходных данных равны “0”, а сигнал переполнения равен “1”.
Рис. 2.7. Диаграммы сигналов АЦП
Входы разрешения и запуска являются логическими. Диаграмма сигналов имеет вид, представленный на рис. 2.7. Выборка входного напряжения производится по переднему фронту импульса разрешения. Его длительность может быть любой, в частности нулевой. Преобразование начинается по переднему фронту импульса запуска и длится на протяжении времени Tpsd. Время преобразования Tpsd может быть задано нулевым. В этом случае преобразование осуществляется сразу, без
70
3. Построцессор PROBE и редактор сигналов STMED
промежуточного неопределенного состояния. Импульс запуска должен поступать через время задержки Tpcs после импульса разрешения и длиться в течение времени Tpds после окончания преобразования. Интервалы времени Tpsd, Tpcs, Tpds задаются как параметры модели задержек. Приведем пример: N1 ADC(4) UP UM SIG REF 0 CONV START OVRNG OUT3 OUT2 OUT1 +OUT0 ADCMDL IO В примере описан элемент N1, являющийся четырехразрядным АЦП. SIG аналоговый входной сигнал АЦП. Цифровым выходом являются сигналы OUT3 OUT2 OUT1 OUT0, из которых OUT3 соответствует старшему разряду, а OUT0 - младшему. На аналоговый узел REF подается опорное напряжение. Логические сигналы разрешения и запуска преобразования подаются на цифровые входы CONV и START. Выходной сигнал переполнения появляется на цифровом выходе OVRNG. Оператор, описывающий цифро-аналоговый преобразователь (ЦАП), имеет вид U<имя> DAC(<число разрядов>) <список узлов> + <модель задержек> <модель входа/выхода> + [MNTYMXDLY=<уровень>] [IO_LEVEL=<уровень>] , где <список узлов> для PSpice 4: <выходной узел > <опорный узел> <земля> + <узел старшего разряда> ... <узел младшего разряда> для PSpice 5: <узел питания +> <узел питания -> <выходной узел> + <опорный узел> <земля> + <узел старшего разряда> ... <узел младшего разряда> Оператор описания модели задержек: .MODEL <имя модели> UDAC [<(параметры модели)>] Модель ЦАП преобразует логические сигналы на входах разрядов в сигнал аналогового напряжения Uвых между узлами <выходной узел > и <земля>. Выходное сопротивление равно нулю. Между узлами <опорный узел> и <земля> должно подключаться опорное напряжение Uоп, определяющее масштаб преобразования. Входное сопротивление модели между этими узлами равно 1/GMIN, где GMIN определяется оператором .OPTIONS. По -12 умолчанию GMIN=10 . Выходной сигнал Uвых равен Uоп⋅(двоичный входной сигнал)/ 2M . Если какие-нибудь разряды входных сигналов имеют неопределенное состояние “X”, то выходной сигнал равен среднему между значением Uвых в случае,
3.1. Запуск PROBE на счет
71
если все “X” заменить на “1”, и значением Uвых в случае, если все “X” заменить на “0”. Переходный процесс на выходе представляет собой линейно изменяющееся во времени напряжение в течение заданной задержки переключения Tsw, являющейся параметром модели задержек. Переключение начинается в момент изменения входных сигналов. Пример описания ЦАП: N1 DAC(4) UP UM SIG REF 0 IN3 IN2 IN1 IN0 DACMDL IO_STD Пример описывает четырехразрядный ЦАП, преобразующий логические сигналы цифровых входов IN3, IN2, IN1, IN0 в напряжение аналогового выхода SIG. Опорное напряжение должно быть подано на аналоговый узел REF. 3. Г Р А Ф И Ч Е С К И Й П О С Т П Р О Ц Е С С О Р PROBE И ГРАФИЧЕСКИЙ РЕДАКТОР ВХОДНЫХ СИГНАЛОВ STMED
3.1. ЗАПУСК PROBE НА СЧЕТ Графический постпроцессор PROBE - важнейший инструмент обработки результатов расчета. С его помощью проводится просмотр графиков результатов расчета, измеряются параметры и характеристики схемы, исследуется работа отдельных элементов схемы, оценивается влияние параметров компонентов. Постпроцессор PROBE берет исходную информацию из файла с расширением .DAT, получающегося после расчета схемы, в описании которой был оператор .PROBE. Если этот оператор был указан без списка, то в постпроцессоре доступны все напряжения и токи схемы. Если же оператор .PROBE был со списком переменных, то в файле .DAT содержится информация только о тех переменных, которые были указаны в списке. Имя файла .DAT, формируемого при расчете, в PSpice 4 по умолчанию PROBE.DAT (оно может быть изменено соответствующим обращением к PSpice, см. работу [1]). В PSpice 5 и последующих версиях программы имя файла .DAT по умолчанию совпадает с именем исходного файла описания схемы. Файл .DAT может содержать информацию о результатах расчета одной или нескольких схем, но обычно он относится к одной схеме. Файл в общем случае состоит из нескольких секций, соответствующих различным
72
3. Построцессор PROBE и редактор сигналов STMED
видам анализа: DC, AC, TRAN и т.д. Может быть также и несколько секций, относящихся к одному виду анализа, но к разным вариантам схемы. Это получается при расчете с использованием многовариантных видов анализа: .STEP, .TEMP, .MC, .WCASE и др. Кроме того, некоторые секции могут содержать семейства кривых. Например, семейство кривых в секции получается при использовании двухуровневого оператора .DC (т.е. оператора, изменяющего два параметра схемы). При изображении кривых на графиках PROBE проводит интерполяцию точек, содержащихся в файле .DAT. При небольшом числе точек это может иногда приводить к недоразумениям, поскольку на графике появятся отрезки кривых, не соответствующие действительному ходу кривых. В каждой версии PSpice и Design Center имеется свой постпроцессор PROBE. Постпроцессоры разных версий несовместимы друг с другом: каждый из них может работать только с файлом .DAT, подготовленным программой PSpice той же версии. Работа с PROBE существенно различается в зависимости от того, предназначена ли данная версия для работы в MS DOS (PSpice 4, PSpice 5, Design Center 5 для MS DOS), или в Windows (Design Center 5 и Design Center 6 для Windows). Однако основные приемы работы и основные команды являются общими для всех версий. Запуск графического постпроцессора PROBE осуществляется командой PROBE [<опции>][<имя файла>[.DAT]]. Работа с текстовой формой файла рассматриваться не будет, так как она используется крайне редко. Если файл не указан, то по умолчанию в PROBE 4 предполагается файл PROBE.DAT, а в PROBE 5 для MS DOS предполагается файл, с которым в последний раз работал PROBE. В Design Center для Windows имя файла можно не указывать, а ввести в режиме диалога, пользуясь командой меню FILE/OPEN. Опции могут быть следующие: /C <имя файла> - задает командный файл .CMD; /D <имя файла> - задает имя и путь к файлу .DEV, если он имеет нестандартное имя или расположен в директории, путь к которой не установлен; /L <имя файла> - задает генерацию логического файла .LOG ; /M [<имя файла>] - задает файл .MAC с макросами; по умолчанию его имя PROBE.MAC; /S [<имя файла>] - задает имя файла .DSP, содержащего спасенные ранее параметры экрана; по умолчанию имя этого файла - PROBE.DSP;
3.1. Запуск PROBE на счет
73
/G [<имя файла>]
- задает имя файла .GF с описанием целевой функции для обработки графика (только начиная с PSpice 5). Имя файла может отделяться от опции пробелом или записываться без пробела. Примеры команд: PROBE PROBE F1.DAT PROBE /D C:\PSpice\PROBE.DEV /L F1.CMD F1.DAT Если работа проводится с PROBE 4 и указанный в команде запуска файл .DAT или PROBE.DAT не обнаружены, то программа выведет на экран сообщение: Unable to read from the data file '...' Either: 1) the file-name is misspelled, 2) the file doesn't exist, or 3) is in a different directory.
(Невозможно прочесть из файла “...”) (Или) (ошибочное имя файла) (файл не существует) (файл в другой директории)
После этого сообщения программа закончит работу. Если используется PROBE 5 для MS DOS, то при отсутствии требуемого файла на экран будет выведено приведенное выше сообщение, после которого будет указано: Try again.
(Попытайтесь снова)
You may use <enter> alone to exit PROBE
(Используйте <enter>, покинуть PROBE) (Имя файла [.DAT/.TXT]?)
Data file name [.DAT/.TXT]?
чтобы
В ответ можно нажать клавишу ENTER и завершить работу программы, или ввести правильное имя файла. При работе с Design Center для Windows при неверном имени файла появится сообщение: Unable to open ... , после чего можно открыть нужный файл, воспользовавшись разделом меню FILE.
3 Постпроцессор PROBE и редактор сигналов STMED
3.2. ОБОЗНАЧЕНИЯ ПЕРЕМЕННЫХ И МАТЕМАТИЧЕСКИЕ ФУНКЦИИ PROBE В PROBE используется та же система размерностей, что и в PSpice. Отличие в масштабных суффиксах только следующее: используется символ m нижнего регистра для обозначения 10-3 и M верхнего регистра для обозначения 106. Суффиксы MEG и MIL не используются. При обработке результатов расчета по постоянному току или переходных процессов можно использовать в постпроцессоре PROBE обозначения переменных, приведенные в табл. 3.1. Форма I(<имя>) применима к двухполюсным элементам C, D, I, L, R, V. Формы Vx(<имя>) и Ix(<имя>) применимы к трех- и четырехполюсным элементам, для которых 'x' в зависимости от вида элемента может принимать следующие значения: биполярный транзистор Q: C - коллектор, B - база, E - эмиттер, S подложка; МДП-транзистор M: D - сток, G - затвор, S - исток, B подложка; полевые транзисторы J и B: D - сток, G - затвор, S - исток. Формы Vx(<имя>) и Ix(<имя>) можно применять и к двухполюсным элементам. В этих случаях "x" - номер полюса в описании элемента. Например, V1(R1) - напряжение первого полюса резистора R1. Соответственно V1(R1)-V2(R1) означает падение напряжения на R1. Формы Vz(<имя>) и Iz(<имя>) применимы к длинной линии и 'z' может принимать одно из двух значений: A или B. A означает выводы A (первая пара узлов), а B - выводы B (вторая пара узлов). В формах V(<узел>) и V(<узел+>,<узел->), если имя узла символьное, начинается не с цифры и совпадает с именем какого-нибудь компонента, то оно заключается в квадратные скобки. Формы B(<имя K-элемента>) и H(<имя K-элемента>) описывают магнитную индукцию (в гауссах) и напряженность магнитного поля (в эрстедах) магнитного сердечника. Не все токи могут фигурировать в качестве выходных величин. Нельзя непосредственно обращаться к токам элементов F и G - зависимых источников тока. Если все же эти токи требуются, надо включить последовательно в интересующую цепь источник нулевого напряжения и обращаться к току этого источника.
3.2. Обозначения переменных и математические функции PROBE
75
Формат <счисление>(<имена>) описывает в PROBE 4 шину, состоящую из перечисленных в списке имен цифровых сигналов (до 32 сигналов). Параметр <счисление> указывает форму представления результатов и может принимать значения: BIN - двоичная, OCT - восьмеричная, DEC - десятичная, HEX - шестнадцатеричная. Начиная с PROBE 5 для шин используется формат {<цифровые узлы>}. При описании шин имена сигналов перечисляются начиная со старшего разряда. Например, в шине {A3 A2 A1 A0} сигнал A0 младший разряд, а A3 - старший. Таблица 3.1 Обозначения переменных при расчетах по постоянному току и переходных процессов Форма V(<узел>) V(<узел+>,<узел->)
Переменная напряжение в узле разность потенциалов узла+ и узла-
Пример V(5) V(5,6)
Пояснение примера потенциал узла 3 разность потенциалов узлов 5 и6 Vx(<имя>) напряжение на VB(Q1) напряжение базы выводе 'x' элемента транзистора Q1 Vz(<имя>) напряжение на конVA(T1) напряжение на це длинной линии выводах A линии T1 I(<имя>) ток двухполюсника I(D1) ток диода D1 Ix(<имя>) ток, втекающий в IB(Q1) ток базы транзистора вывод элемента Q1 Iz(<имя>) ток на конце длинной IA(T1) ток на выводах A линии линии T1 B(<имя K-элемента>) магнитная индукция B(K1) индукция в K1 в гауссах H(<имя K-элемента>) напряженность H(K1) напряженность поля магнитного поля в K1 в эрстедах D(<имя>) цифровой сигнал D(DA) сигнал цифрового цифрового узла узла DA <счисление>(<имена>)4) шина цифровых BIN(Q2 Q1) Q1 - младший разряд сигналов {<цифровые узлы>}5) шина цифровых {A3 A2 A1} A1 - младший разряд сигналов TIME время <переменная DC> переменная, V1 напряжение варьируемая в источника V1, режиме DC являющегося переменной режима DC 4) 5) в PROBE 4 начиная с PROBE 5
76
3. Построцессор PROBE и редактор сигналов STMED
Для обозначения переменной, относящейся к внутреннему узлу или элементу подсхемы, перед узлом или элементом указывается имя подсхемы (или цепочка имен, если подсхемы вложенные), завершающееся символом ".". Например, V(X1.3) - напряжение узла 3 подсхемы X1; или V(XEXT2.XINT1.R3) - напряжение резистора R3 подсхемы XINT1, входящей в подсхему XEXT2. Если идет работа с несколькими секциями файла .DAT (например, с несколькими вариантами многовариантного анализа), то все указанные выше обозначения означают переменные сразу всех секций (вариантов). Соответственно, если речь идет о выводе кривой на график, будет сразу выведено семейство кривых. Если же надо указать переменную конкретного варианта, то после ее имени надо ввести символ "@" и номер варианта. Например, V(4)@2 означает напряжение узла 4 второго варианта. Таблица 3.2 Суффиксы, применяемые при AC анализе Суффикс Значение Пример суффикс модуль V(2,3) отсутствует M модуль VM(2) DB модуль в децибеллах VDB(R1) P
фаза
VBEP(Q1)
G
IAG(T1)
R
групповая задержка d(фаза)/d(частота) действительная часть
I
мнимая часть
Пояснение примера модуль разности потенциалов узлов 2 и 3 модуль напряжения узла 2 модуль напряжения на резисторе R1 в децибеллах фаза напряжения база-эмиттер транзистора Q1 ток выводов A линии T1
IBR(Q1) действительная часть базового тока транзистора Q1 II(R1) мнимая часть тока резистора R1
При работе в PROBE с результатами AC анализа используются те же обозначения переменных, что и для расчета по постоянному току и для расчета переходных процессов. Однако к этим обозначениям добавляются суффиксы, отражающие тот факт, что в данном случае все переменные комплексные. Эти суффиксы приведены в табл. 3.2. Кроме того, помимо обычных выходных переменных в арифметических выражениях может указываться частота FREQUENCY. При анализе шумов можно использовать обозначения: V(INOISE) - корень из спектральной плотности эквивалентного шума на входе; V(ONOISE) - корень из спектральной плотности шума на выходе.
3.2. Обозначения переменных и математические функции PROBE
77
Работая с PROBE можно наряду с переменными использовать и математические выражения при задании кривых на графиках, выборе аргумента графика и в ряде других случаев. Математические выражения для аналоговых переменных могут содержать переменные, константы, арифметические операции "+", "-", "*", "/", скобки, функции, вводимые пользователем в виде макросов и встроенные функции: ABS(X) SGN(X) SQRT(X) EXP(X) LOG(X) LOG10(X) DB(X) M(X) 5) P(X) 5) R(X) 5) IMG(X) 5) G(X) 5) PWR(X,Y) SIN(X) COS(X) TAN(X) ATAN(X) ARCTAN(X
|X| +1 при X>0, 0 при X=0, -1 при X<0 X X e ln(X) - натуральный логарифм log(X) - десятичный логарифм 20⋅log(|X|) перевод в децибеллы модуль комплексной переменной фаза комплексной переменной действительная часть комплексной переменной мнимая часть комплексной переменной групповое время запаздывания комплексной переменной в секундах |X| Y sin(X), X в радианах COS(X) tg(X), X в радианах arctg(X) результат в радианах arctg(X) результат в радианах
d(Y)
приращение Y при единичном приращении аргумента X (аналог дифференциала) интеграл Y по аргументу X текущее среднее значение Y по X текущее среднее геометрическое значение Y по X минимальное значение Y в диапазоне изменения X максимальное значение Y в диапазоне изменения X
) S(Y) AVG(Y) RMS(Y) MIN(Y) MAX(Y) 5)
- в PSpice 5
Для дифференциалов и интегралов простых переменных (не выражений) можно использовать как форму записи с круглыми скобками, так и без них. Например, выражения d(V(4)) и dV(4), s(IC(Q1)) и sIC(Q1) эквивалентны. Если на экране уже построен график некоторого выражения, то на это выражение можно сослаться в последующих выражениях, введя номер кривой с предшествующим ему символом "#". Например, если уже построено две каких-то кривых, то можно при построении следующей кривой записать
78
3. Построцессор PROBE и редактор сигналов STMED
(#1 + #2)/2 или #1 - #2 и будут построены соответственно кривая среднего значения или разности двух предыдущих. При работе с цифровыми сигналами в PROBE 5 в выражениях могут использоваться следующие операции (в порядке убывания их старшинства): {} - объединение сигналов в шину; ~ - логическое отрицание; *и/ - умножение и деление сигналов шин; +и- сложение и вычитание сигналов шин; & - логическое И; ^ - логическое исключающее ИЛИ; | - логическое ИЛИ. Результаты арифметических и логических операций с несколькими шинами представляются шиной с числом разрядов, достаточным для отражения результата. Операции с шиной и цифровым сигналом представляются шиной с тем же числом разрядов, что и участвующяя в операции шина. В операциях с цифровыми сигналами можно использовать константы `0, `1, `F, `R, `X, `Z - значения сигналов. Кроме того, можно использовать многоразрядные константы, записываемые в формате r`<цифры>. Символ r определяет систему счисления: b - двоичная, o - восьмеричная, d десятичная, h или x - шестнадцатеричная. Например, десятичное число 11 можно записать в следующих формах: b`1011, o`13, h`B, d`11. Приведем некоторые примеры применения математических выражений. Если при анализе результатов DC анализа записать dIC(Q1)/dIB(Q1), то будет построен график дифференциального коэффициента передачи базового тока транзистора Q1. Если желательно построить характеристику некоторой переменной, например, V(4), отнормировав ее на максимальное значение, то достаточно записать V(4)/MAX(V(4)). Если требуется определить размах изменения некоторой переменной, например, V(4), то можно написать MAX(V(4))-MIN(V(4)). Если желательно на одном графике получить кривые входного (например, V(1)) и выходного (например, V(2)) напряжений усилителя с коэффициентом усиления 100, то можно задать построение графиков величин V(1)*100 и V(2). Тогда обе кривые на графике будут иметь примерно одинаковый размах (в противном случае входной сигнал не был бы виден на фоне выходного). 3.3. НАЧАЛЬНЫЕ МЕНЮ PROBE
3.3. Начальное менюPROBE
79
Если файл .DAT имеет только одну секцию, то при запуске программы сразу открывается основное меню, позволяющее строить и исследовать графики. Однако если в файле имеются секции, относящиеся к различным видам анализа, то сначала на экране высвечивается небольшое меню, предлагающее выбрать вид анализа: Dc_sweep, Ac_sweep, Transient_analysis и т.д. Дело в том, что PROBE 4 и PROBE 5 для MS DOS позволяют одновременно работать только с графиками, относящимися к одному виду анализа, поскольку для всех графиков, построенных на экране задается одна и та же ось аргументов. Для графиков частотного анализа AC по умолчанию аргументом является частота, для графиков переходных процессов - время, для DC анализа - параметр оператора DC. Поэтому и требуется выбирать тот или иной вид анализа. В PROBE для Windows это ограничение снято, но и в этом случае открыть файл можно только для одного вида анализа. Правда, затем можно открыть тот же файл снова в другом окне для другого вида анализа и иметь на экране одновременно графики для разных видов анализа. Если в файле .DAT имеется несколько секций для выбранного вида анализа, то после того, как выбран вид анализа, PROBE предлагает выбрать требуемые секции. В PROBE для MS DOS при этом появляется список доступных секций, примерный вид которого приведен ниже. List of analysis sections for DC Sweep.
(Список секций для DC анализа.)
VAC -60.0 Deg VAC - 27.0 Deg VAC - 85.0 Deg В нижней строке экрана высвечивается небольшое меню вида Exit (Выход
All_Dc_sweep Все секции DC
Select_sections Выбор секции)
Если выбрать раздел ALL, то в дальнейшем будут строиться графики сразу для всех секций. Например, если в дальнейшем будет указано построения графика какой-то переменной, то в действительности сразу будет построена серия кривых для этой переменной. Впрочем, в п. 3.2 было указано, как и в этом случае построить только кривую, соответствующую одной секции. Если выбрать раздел Select_sections, то на экране появится курсор и перемещая его клавишами ↑, ↓ можно выбрать требуемые секции и отметить их нажатием клавиши “Пробел” (начиная с PSpice 5 все эти операции удобнее выполнять манипулятором мышь). Когда выбор закончен, нажимается клавиша “Enter”. В PROBE для Windows процедура аналогична. Высвечивается список секций и меню, содержащее пункты
80
3. Построцессор PROBE и редактор сигналов STMED All
None
OK
Cancel
Раздел All обеспечивает выбор всех секций. Если нужны только некоторые секции, то они указываются мышью. Ошибочный выбор можно отменить разделом меню None. После окончания выбора мышью указывается раздел меню OK. В случаях, когда .DAT файл содержит очень много точек и PROBE работает в MS DOS, файл не может быть целиком загружен в память. В этих случаях после выбора секций может появиться еще одно меню типа: Exit
First_8000_data_points
Last_8000_data_points
Other
В этом меню предлагается выбрать для построения один из отрезков файла, содержащий 8000 точек. Если указать Other, то будет задан вопрос: Enter a range: ,
в ответ на который следует ввести желательный диапазон значений аргумента. Если диапазон будет задан ошибочно, например минимальная величина не будет лежать в диапазоне изменений аргумента, то будет сделано замечание Minimum value is not in the X axis domain. Ensure you enter X axis values
после чего можно повторить ввод диапазона значений аргумента. Если в выбранном диапазоне окажется более 8000 точек, то появится сообщение: Range contains more than 8000 data points, list truncated
после чего программа перейдет в меню построения графиков, но данные будут усечены (truncated) на допустимом количестве точек. В Design Center подобные ограничения на число точек в файле сняты. 3.4. ПОСТРОЕНИЕ ГРАФИКОВ В PROBE После того, как все операции в начальных меню произведены, или если в файле .DAT всего одна секция и начальное меню на экране не возникали, PROBE переходит в основное меню построения графиков. Все разделы этого меню различных версий PROBE для MS DOS и Windows приведены в работе [2]. Поэтому в дальнейшем ограничимся только описанием основных операций при построении и исследовании графиков.
3.4. Построение графиков в PROBE
81
Начнем с работы в MS DOS. Общий вид экрана с одной координатной сеткой представлен на рис. 3.1. В нижней части экрана расположено меню, разделы которого можно выбирать клавишами ← или → с последующим нажатием Enter, манипулятором мышь или нажатием клавиши символа, выделенного в названии соответствующего раздела. Экран, показанный на рис. 3.1, соответствует PROBE 5. Для PROBE 4 экран выглядит аналогично, но разделов меню меньше и они несколько другие. В первый момент коодинатная сетка пуста и содержит сведения о доступных переменных. Если в файл .DAT, с которым идет работа, данные занесены оператором .PROBE со списком, то в середине координатной сетки, в которой будет строится график, высвечены имена доступных переменных. Если же файл .DAT формируется оператором .PROBE без списка, то в середине экрана высвечивается текст: All voltages and currents are available (Доступны все напряжения и токи)
Построение графика начинается с раздела меню Add_trace в MS DOS или Trace/Add в Windows. После входа в этот раздел в MS DOS появляется надпись: Enter varaibles or expressions (Введите переменную или выражение)
В ответ на это приглашение необходимо ввести список сигналов, графики которых должны быть построены. При работе с PROBE 5 имеется возможность нажать клавишу F4, после чего в верхней части экрана появится список доступных переменных, из которого имена переменных в рабочую строку можно извлекать с помощью мыши. В PROBE для Windows список доступных переменных появляется автоматически в диалоговом окне. Состав переменных в списке (токи, цифровые сигналы и т.п.) можно менять, задавая в окне диалога соответствующие опции.
82
3. Построцессор PROBE и редактор сигналов STMED
Рис. 3.1. Вид экрана в PROBE 5
Часто необходимо строить графики не только отдельных переменных, но и каких-то функций от них. Пусть, например, обрабатываются результаты частотного анализа и требуется построить АЧХ входного сопротивления схемы. Предположим, что входной узел схемы 1 и к нему подключен источник сигнала с внутренним сопротивлением R1. Тогда для построения графика входного сопротивления следует задать выражение V(1)/I(R1).При этом учитывается, что PROBE умеет работать с комплексными величинами и в результате указанное выражение выдает модуль отношения напряжения к току. Если требуется изобразить на графике несколько кривых, их имена или описывающие их выражения можно вводить, разделяя знаками пробела или запятой. После завершения списка нажимается ENTER и графики высвечиваются на экране. При задании кривых на графике можно использовать любые математические функции, список которых приведен в п. 3.2. Можно также использовать и дополнительные функции, введенные самим пользователем и
3.4. Построение графиков в PROBE
83
оформленные как макросы. Макросы заносятся в специальный текстовый файл, по умолчанию имеющий имя PROBE.MAC. Подготовка макросов может производиться в любом текстовом редакторе или в разделе меню PROBE Macros (для MS DOS) или Trace/Macro (для Windows). Макрос имеет формат <имя макроса>[<список параметров>]=<выражение> Полезно написать соответствующие макросы для часто встречающихся выражений. Это упрощает работу при построении графиков. Например, часто удобно работать с нормированными графиками. По ним легче определять граничные частоты, длительности фронтов и т.п. Если надо провести нормировку положительной функции на ее максимальное значение, то можно для этих целей написать макрос NORM(X)=X/MAX(X). Такой макрос полезен, например, при нормировке АЧХ без выбросов. Если этот макрос введен в файл .MAC, то, например, задание в разделе Add_trace выражения NORM(VM(2)) приведет к построению нормированной АЧХ напряжения V(2). Тут надо иметь ввиду, что функция MAX и некоторые другие не воспринимают имя комплексной переменной без суффикса как модуль. Поэтому в данном примере модуль указан явным образом посредством суффикса: VM(2), а не V(2). Для импульсных характеристик без выбросов и без заметных выбегов удобнее макрос вида NORMIMP(X)=(X-MIN(X))/(MAX(X)-MIN(X)). При этом отсекается начальное значение переменной X, которое в импульсных характеристиках может быть сравнимо или даже заметно больше, чем амплитуда импульса. Пример применения нормировки см. в п. 3.5 на рис. 3.6. По умолчанию аргументом для графиков частотного анализа AC является частота, для графиков переходных процессов - время, для DC анализа параметр оператора DC. Именно для этих аргументов строится автоматически координатная сетка. Однако в качестве аргумента можно задать и другие переменные или выражения. Например, можно строить ВАХ какого-то элемента схемы - зависимость его тока от напряжения на выводах элемента. Для изменения аргумента служит команда X_axis/X_variable в PROBE для MS DOS или Plot/X Axis Settings/Axis Variable в Probe для Windows. Поскольку все кривые на графике изображаются в одном масштабе, необходимо подбирать на одном графике переменные, соизмеримые по величине и по размерности. Если требуется смотреть кривые сигналов, различающихся во много раз (например, входной и выходной сигналы усилителя с большим коэффициентом усиления), то возможно несколько
84
3. Построцессор PROBE и редактор сигналов STMED
подходов. Самое простое - при выводе на график малый входной сигнал домножать на большое число. Например, если надо вывести на один график малое напряжение V(IN) и примерно в 100 раз большее напряжение V(2), то в команде Add_trace можно задать список сигналов V(IN)*100 V(2) и напряжение V(IN) будет выводиться на график увеличенным в 100 раз. Дополнительная возможность получения на одном графике кривых разномасштабных сигналов имеется в PROBE 5. Начиная с этой версии в разделе Y_axis имеется команда add_axis, позволяющая вводить на графике несколько Y осей с разными масштабами по ним. В этом случае, например, можно вывести на график кривую большого напряжения V(2), а затем выполнить команду Y_axis/Add_axis. На экране появится вторая Y ось (рис. 3.2). После этого командой Add_trace задается график малого напряжения V(IN), и масштаб вновь введенной Y-оси будет соответствовать этой переменной. Подраздел меню Y_axis/Color_option в MS DOS или Options/Trace Color Scheme в Windows позволяют выбрать цвета кривых, соответствующих различным Y осям. В частности, можно сделать так, чтобы кривые, соответствующие каждой из Y осей, обозначались одним цветом и тем же цветом писалось обозначение оси. Это позволяет легко видеть, к каким кривым на графике относится данная Y ось. Подробнее эти возможности рассмотрены в работе [2]. Не всегда целесообразно строить кривые в одной координатной сетке. Например, вряд ли целесообразно накладывать друг на друга кривые напряжений и токов. И уж конечно не имеет смысла строить в одной координатной сетке амплитудно-частотные и фазочастотные характеристики. В этих случаях надо иметь на экране несколько координатных сеток (Plots). Для добавления на экран новой координатной сетки служит команда Plot_control/Add-plot в MS DOS и Plot/Add Plot в Windows. В результате в графическом окне возникает новая сетка, в которой ось аргумента совпадает с первой координатной сеткой, а Y ось независима. В примере на рис. 3.3 в нижней координатной сетке построена АЧХ схемы, а в верхней - ФЧХ.
3.4. Построение графиков в PROBE
85
Рис.3.2. Пример графика с двумя осями Y
Можно вводить и еще дополнительные координатные сетки. Однако поскольку при этом размеры каждого графика уменьшаются, использовать более 2-3 сеток нецелесообразно. В каждый момент в графическом окне с несколькими координатными сетками активной является одна из них, помеченная символами SEL>>. Все команды работы с графиками относятся к активному графику. Переключение активного графика производится мышью или командой Plot_control/Select_plot (только в MS DOS).
86
3. Построцессор PROBE и редактор сигналов STMED
Рис. 3.3. Пример с двумя координатными сетками
Наличие общей X оси для разных координатных сеток часто неудобно. В PROBE для Windows это ограничение устранено. Имеется команда Plot/Unsync Plot, которая позволяет сделать X ось для вновь созданной координатной сетки несинхронизованной с другими сетками. Тогда для данной сетки можно выбирать аргумент, диапазон его изменения, масштаб независимо от аргумента других сеток в данном графическом окне. Принципиально новые возможности построения множества различных координатных сеток имеются в PROBE для Windows. Раздел меню Window/New позволяет создавать новые графические окна, в которых могут изображаться графики с совершенно независимыми координатными сетками. В разных окнах могут быть графики, относящиеся к различным видам анализа схемы. Команда File/Open позволяет открыть в новом окне новый файл .DAT. Таким образом, на экране могут одновременно присутствовать результаты расчета различных вариантов схем, что облегчает сравнение их характеристик. Введенная в PROBE для Design Center 6 команда File/Append позволяет объединять результаты расчетов различных вариантов схем даже в
3.4. Построение графиков в PROBE
87
рамках одного графика. Пример работы с несколькими графическими окнами в Design Center приведен на рис. 3.4. На этом рисунке график 1 является примером построения в одном графическом окне двух координатных сеток с разными аргументами: в нижней части окна построена АЧХ, а в верхней построена амплитудно-фазовая характеристика - годограф, зависимость мнимой части коэффициента усиления VI(OUT) от его действительной части VR(OUT).
Рис. 3.4. Вид экрана PROBE в Design Center 5
Размеры и расположение графических окон можно изменять обычным для Windows образом. Можно также воспользоваться командой меню Window/Arrange, чтобы упорядочивать окна в двух вариантах: Tile размещение окон без перекрытия, и Cascade - размещение с перекрытием, но так, чтобы были видны все заголовки, и чтобы любое окно можно было извлечь поверх других.
88
3. Построцессор PROBE и редактор сигналов STMED
Масштаб по осям программа определяет автоматически исходя из полного диапазона изменения аргумента и функций. Однако масштаб по любой оси можно изменить, чтобы лучше разглядеть какой-нибудь участок графика. Задать масштаб этой оси можно, выполнив подкоманду Set_range в разделе меню, связанном с соответствующей координатной осью. По этой команде в ответ на предложение “Enter a range:” вводятся два числа, определяющие диапазон изменения переменной по данной оси координат. В тех же подразделах меню X_axis или Y_axis можно изменить линейный масштаб данной оси на логарифмический и наоборот. При задании логарифмического масштаба надо помнить, что он возможен, только если переменная, откладываемая по данной оси, положительна. Начиная с PROBE 5 имеются более простые и удобные способы изменения масштаба, чем команда Set_range. Для этого предназначены разделы меню Zoom в PROBE 5 и View в PROBE 6. Команды этих разделов позволяют резко уменьшать или увеличивать масштаб вокруг указанного центра (команды In и Out), перемещаться по увеличенному графику (команда Pan), вырезать из графика прямоугольную область и растягивать ее на все графическое окно. Подробнее эти команды описаны в работе [2]. Если в координатной сетке нанесено много кривых, то они могут перепутываться, накладываться друг на друга и в этом случае, несмотря на разные цвета кривых, иногда трудно отследить ход конкретной кривой. В разделе Plot_control имеются команды, позволяющие пометить кривые различными символами, что облегчает отслеживание отдельных кривых. Остановимся на некоторых особенностях построения диаграмм цифровых сигналов при моделировании цифровых и аналого-цифровых схем. В этом случае аргументом может быть, конечно, только время. В качестве функций можно указывать сигналы, шины, арифметические и логические выражения в соответствии с правилами, приведенными в п. 1.2. Диаграммы сигналов размещаются друг под другом, как показано в примере на рис. 3.5. Неопределенное состояние “X” выделяется красным цветом и двойной линией. Высокоомное состояние “Z” выделяется синим цветом и тройной линией. Состояния переходов “R” и “F” выделяются серыми двойными наклонными линиями. Сигналы шин изображаются двойными линиями, внутри которых проставляется число, соответсвующее состоянию шины (нижняя диаграмма на рис. 3.5). Если в некоторые моменты времени состояние сигнала оказывается неоднозначным (Ambiguity Convergens), т.е. используемая логика работы не дает однозначного ответа на то, каково состояние сигнала, то в соответствующие отрезки времени сигнал выделяется желтым цветом и появляются сообщения о неоднозначности.
3.4. Построение графиков в PROBE
89
Число диаграмм может быть велико и тогда все они могут не поместиться в графическом окне. В этом случае в окне появляются обычные для Windows полосы прокрутки (см. рис. 3.5), с помощью которых можно перемещаться как по Y оси, так и по оси времени (если автоматически установленный масштаб по времени был изменен).
Рис. 3.5. Цифровые сигналы в PROBE 6 для Windows
При моделировании аналого-цифровых схем можно одновременно наблюдать сигналы в аналоговых и цифровых узлах. В этом случае цифровые сигналы автоматически размещаются в верхней части графического окна, а в его нижней части помещаются графики аналоговых сигналов (см. график 3 на рис. 3.4). В разделе меню Plot/Digital Size можно изменить процент площади графика, отводимой под диаграммы цифровых сигналов (от 16 до 84%), и длину имен цифровых сигналов, которая при смешанном моделировании может быть большой и занимать значительное место в окне. При подготовке графиков к печати часто желательно сделать на них какието надписи, проставить стрелки, указывающие на характерные точки, нарисовать какие-то графические примитивы - рамки, ограничивающие характерные участки кривых, нагрузочные прямые и т.п. Все эти построения могут делаться начиная с версии PROBE 5 в разделе Label при работе в MS DOS или в разделе Tools/Label при работе в Windows. Подробнее соответствующие подкоманды изложены в работе [2]. Примеры такого оформления графиков уже приводились. На графике, показанном на рис. 3.1, были с помощью подкоманды Text нанесены значения базового тока,
90
3. Построцессор PROBE и редактор сигналов STMED
являющегося параметром семейства кривых, величина нагрузочного сопротивления, надпись типа транзистора. Эта надпись заключена в рамку с помощью подкоманды Box. Нагрузочная прямая и указатели выполнены подкомандами Line и Arrow. Координаты точки пересечения нагрузочной прямой и характеристики для IБ=4 мкА нанесены подкомандой Cursor/Label_point (в Probe для Windows такие координаты наносятся подкомандой Mark того же раздела Tools/Label, в котором вводятся другие графические элементы). Обозначения кривых на графике (см. рис. 3.2) сделаны теми же средствами. Обозначение Y оси как IC на рис. 3.1 сделано командой Y_axis/Change_title. Заголовки графиков на рис. 3.4 сделаны Edit/Modify Title. Построенные графики иногда желательно запомнить для последующего использования и сравнения с другими графиками, которые будут рассчитаны и построены позднее. Это можно делать командами раздела Display_control. В этом разделе можно запомнить (Save) графическое окно под некоторым именем, загрузить (Restore) ранее запомненное окно, удалить запомненное окно и т.д. Окна запоминаются в файле PROBE.DSP. Подробнее об этом см. в работе [2]. 3.5. ИССЛЕДОВАНИЯ И ИЗМЕРЕНИЯ ГРАФИКОВ В PROBE PROBE позволяет детально исследовать графики и измерить их характеристики. Особенно расширились эти возможности начиная с PROBE 5. Прежде, чем проводить исследования, часто полезно убедиться, что графики достоверны. Дело в том, что при построении графиков программа берет реально посчитанные точки из файла .DAT и проводит их интерполяцию. Если точек в файле мало, то график является только грубым приближением к действительности. На нем могут отсутствовать какие-то важные элементы истинной зависимости, а положение его характерных точек - экстремумов, изломов и т.п. может сильно отличаться от действительности. Начиная с PROBE 5 убедиться в достоверности графика можно, выполнив подкоманду Mark_data_points в разделе Plot_control в MS DOS или Tools/Options в Windows. По этой команде на кривых высвечиваются истинные точки, по которым проводится интерполяция, и можно выяснить, достаточна ли их плотность. Если недостаточна (это особенно часто бывает в зависимостях, построенных с помощью оператора .DC), то следует повторить расчет с меньшим шагом в режиме DC, или с большим числом точек в режиме AC, или с заданием меньших погрешностей в режиме TRAN.
3.5. Исследования и измерения графиков в PROBE
91
Перед началом измерений на графиках полезно также выбрать соответствующий масштаб интересующей части графика, о чем рассказывалось в п. 3.4. Основные исследования графиков проводятся в разделе Cursor для MS DOS или Tools/Cursor/Display для Windows. При переходе в соответствующий раздел на экране появляются два курсора в виде перекрестий, пересекающих весь экран, и таблица, содержащая координаты курсоров и разность их координат (рис. 3.6). В первый момент оба курсора находятся в начале координат, их перекрестия могут совпадать с координатными осями и быть невидимыми на их фоне. Перемещение первого курсора осуществляется клавишами ← и →, а также клавишами “Home” - переход к начальной точке графика, и “End” - переход к конечной точке. Если в координатной сетке построено несколько кривых, то перевод курсора с графика одной переменной на график другой переменной осуществляется нажатием клавиш Ctrl-→ или Ctrl-→. Перемещение второго курсора осуществляется теми же клавишами, но с нажатой клавишей “Shift”. Начиная с PROBE 5 перемещение курсоров можно осуществлять и манипулятором мышь: левая кнопка перемещает первый курсор, правая второй. Однако это перемещение достаточно грубое и для точной установки курсора в нужной точке все равно надо пользоваться клавишами. При работе с цифровыми сигналами обычно интересуют моменты переключения сигналов. Для установки курсора на эти моменты служат команды Next Transition (“горячие” клавиши Ctrl-Shift-N) поиск следующего момента переключения, и Previous Transition (“горячие” клавиши Ctrl-ShiftR) поиск предыдущего момента переключения.
92
3. Построцессор PROBE и редактор сигналов STMED
Рис. 3.6. Измерение длительности спада импульса
На рис. 3.6 приведен пример измерения с помощью курсоров отрицательного фронта (спада) импульса по уровням 0,1÷0,9 от амплитуды. Это удобно делать, предварительно отнормировав график так, чтобы график импульса лежал в пределах 0÷1 (например, с помощью макроса, описанного в п. 3.4). На рис. 3.6 первый курсор подведен к точке на фронте, в которой относительная величина напряжения V(OUT) равна примерно 0,1, а второй к точке 0,9. Конечно, абсолютно точно указать нужную точку на графике невозможно из-за дискретности перемещений курсоров. Поэтому, как видно из рисунка, в данном случае вместо уровня 0,9 выделен близкий к нему уровень 0,899183, а вместо уровня 0,1 - уровень 0,100123. Разность координат X двух курсоров, высвечивыемая в таблице и равная в данном примере 15,363 нс, является искомой длительностью спада. Аналогичным образом можно измерять граничные частоты, длительности импульсов, задержки распространения между импульсами и т.п.
3.5. Исследования и измерения графиков в PROBE
93
Рис. 3.7. Импульс и его характерные точки
Начиная с PROBE 5 при работе с курсорами в меню имеется еще ряд команд поиска характерных точек (см. рис. 3.6). Это команды: Peak - перемещение курсора к точке очередного локального максимума; Trough - перемещение курсора к точке очередного локального минимума; Slope - перемещение курсора к точке очередного максимума производной; Min - перемещение курсора к точке глобального минимума; Max - перемещение курсора к точке глобального максимума. Например, при исследовании графика имульса, приведенного на рис. 3.7, если перед выполнением команды курсор находился в начале координат, то первое выполнение команда Peak приведет его в точку 3, а второе - в точку 6. При тех же условиях команда Trough приведет курсор в точку 5, первое выполнение команды Slope приведет его в точку 2, а второе - в точку 4. Выполнение команды Min переведет курсор в точку 8, а выполнение команды Max - в точку 3. Рассмотренные команды меню являются частным случаем гораздо более мощных команд поиска, с которыми можно работать в разделе меню
94
3. Построцессор PROBE и редактор сигналов STMED
Cursor/Search_commands. Рассмотрим синтаксис и применение этих команд поиска. В приведенной ниже команде и во всех ее элементах при записи допускаются сокращения: ключевые слова могут сокращаться до строчных букв, выделенных в каждом слове. Команда поиска имеет формат: Search [<направление>] [/<начальная точка>/] + [#<число проверок>#] [<диапазон X>[,<диапазон Y>]] + [FOR] [<число повторений>:] <условие> Здесь <направление>]
указывает направление поиска: Forvard вперед, Backward - назад, т.е. в направлении нарастания или убывания аргумента X. По умолчанию подразумевается Forword. [/<начальная точка>/] - та точка, от которой начинается поиск. Эта опция команды может принимать значения: Begin или * -начальная точка X оси; End или $ -последняя точка X оси; x<номер> -номер точки (это может использоваться только при построении функций обработки результатов многовариантного анализа, см. следующий п. 3.6). [#<число проверок>#] определяет, на скольких точках должно повторяться условие, чтобы считаться выполненным. Смысл этой опции зависит от вида условия и будет указан ниже при описании различных условий. [<диапазон X>[,<диапазон Y>]] задает интервалы поиска по соответствующим осям. По умолчанию эти интервалы совпадают с видимой на экране частью графика. Границы интервалов могут задаваться своими значениями или как относительные величины в процентах от полного диапазона изменения по соответствующей оси. При построении функций обработки результатов многовариантного анализа границы могут также указываться в формате x<номер>. Примеры задания диапазонов: (10, x1) -
3.5. Исследования и измерения графиков в PROBE
95
диапазон по X от 10 до точки x1, по Y диапазон неограничен; (,,10n,50%) - диапазон по X неограничен, по Y от 10-9 до 50% от максимального значения на оси Y. [<число повторений>:] задает, какое по порядку выполнение условия принимается во внимание. Например, задание числа “3:” указывает, что определяется третья точка, в которой будет выполнено условие. Теперь рассмотрим виды условий, которые могут задаваться в команде поиска. MAx - определение максимального значения функции. Если есть несколько максимумов с одинаковыми значениями Y, то определяется ближайший в заданном направлении. Опции <число проверок> и <число повторений> на результат не влияют. MIn - определение минимальное значения функции. Если есть несколько минимумов с одинаковыми значениями Y, то определяется ближайший в заданном направлении. Опции <число проверок> и <число повторений> на результат не влияют. PEak - поиск очередного “пика” - очередного локального максимума кривой. Опция <число проверок> определяет, сколько точек с каждой стороны от максимума должны иметь значение функции меньше этого максимума, чтобы точка максимума была признана “пиком”. Задание этого числа больше единицы позволяет сгладить случайные флуктуации вычислений, которые могут создавать ложные “пики”. TRough - поиск очередного локального минимума кривой. Так же как для Peak опция <число проверок> определяет, сколько точек с каждой стороны от минимума должны иметь значение функции больше этого минимума. SLope[(<знак>)] - определение очередной точки с максимальной по модулю производной. Опция <знак> определяет требуемый знак производной в искомой точке. Опция может принимать значения: Positive (положительный), Negative (отрицательный), Both (безразлично). Например, если задать опцию Positive, то будут определяться точки на нарастающих участках кривой, т.е. при положительной производной. Значение опции по умолчанию Both. Level (<значение[<знак>]>) - определение точки, в которой функция равна заданному значению. Опция <знак> так же, как и в условии
96
3. Построцессор PROBE и редактор сигналов STMED
Slope, определяет требуемый знак производной в искомой точке может принимать значения Positive, Negative, Both (по умолчанию). Значения уровня могут задаваться в виде: ♦ числа, например, 10k; ♦ процента от полного размаха функции, т.е. если min минимальное значение функции, а max - максимальное, то задание Level 50% означает уровень min+0.5⋅(max-min); ♦ отмеченной точки, например, y1 (это может использоваться только при построении функций обработки результатов многовариантного анализа, см. п. 3.6); ♦ значения в децибеллах или абсолютных величинах, отсчитываемого относительно максимального (max) или минимального (min) значения функции; например, min+3db, max-3db - значения на 3 децибелла выше минимального и ниже максимального, или, например, max-1k, min+10; ♦ значения в децибеллах или абсолютных величинах, отсчитываемого относительно текущей точки; в этих случаях перед величиной ставится точка: например, .3db, .-3db значения на 3 децибелла выше или ниже текущего, или, например, .-1k, .+10. XValue (<значение>) - определение точки, в которой аргумент равен заданному значению. Значения могут задаваться теми же способами, как и в условии Level. Приведем примеры функций поиска. Команда SEARCHMAX или sma определяет точку максимума. Эта команда идентична команде Max, имеющейся в меню, и ее имеет смысл применять только в описаниях целевых функций, которые будут рассмотрены позднее. Команда “s2:pe” определяет вторую по порядку точку локального максимума. В примере на рис. 3.7, если перед этим курсор был в начале координат, определится точка 6. Команда “sbtr” определяет первую при движении в обратном направлении точку локального минимума. Если в примере (см. рис. 3.7) перед этим выполнялась приведенная выше команда и курсор находился в точке 6, то будет определена точка 5. Команда “sle(50%)” определяет ближайшую в прямом направлении точку, в которой функция равна среднему значению между своими минимальным и максимальным значениями. Если в примере (см. рис. 3.7) курсор был в начале координат, то при первом выполнении этой команды он перейдет в точку 1, в
3.5. Исследования и измерения графиков в PROBE
97
которой функция равна среднему значению 0,5⋅(13,355-5,4299)=3,96255 кВ. Повторное выполнение той же команды переведет курсор в точку 7. Команда “sle(50%,n)” так же, как и предыдущая, определяет ближайшую в прямом направлении точку, в которой функция равна своему среднему значению. Однако в данной команде добавлено условие: производная в этой точке должна быть отрицательной. Поэтому из начала координат курсор сразу перейдет в точку 7. Рассмотрим теперь применение функций поиска при записи целевых функций. Целевые функции, как не очень удачно они названы в PROBE (обычно в математике целевыми называются функции, используемые в задачах оптимизации), предназначены для расчета каких-либо параметров или функционалов на зависимостях, содержащихся в файле .DAT. К таким параметрам могут относиться длительности фронтов, величины выбросов, задержки, неравномерность АЧХ, добротность и многое другое. Целевые функции описываются в текстовом файле PROBE.GF. Эти функции применяются в PROBE 5 для MS DOS при построении графиков зависимостей от параметра многовариантного анализа, осуществленного по директивам .STEP, .TEMP, .MC. Аргументом строящегося графика многовариантного анализа является его параметр: температура, параметр оператора .STEP или номер варианта при выполнении оператора .MC. По оси Y откладывается одна из функций, описанных в файле PROBE.GF. Имя используемой функции вводится при работе в разделе X_axis/Performance_analysis командой Add_trace. В Design Center для Windows эначения целевых функций могут рассчитываться и для отдельного графика, никак не связанного с многовариантным анализом. Расчет производится по команде Trace/Eval_Goal_Function. Формат описания целевой функции следующий: <имя функции> (1,2,...,N,<список параметров>)=<выражение> { 1|<команды поиска выделяемых точек> 2|<команды поиска выделяемых точек> ... N|<команды поиска выделяемых точек> }
98
3. Построцессор PROBE и редактор сигналов STMED
Имя функции может содержать до 50-ти символов: латинских букв, цифр, символов подчеркивания. Имя не должно начинаться с цифры. Аргументы функции 1, ..., N - номера групп последующих команд поиска, относящихся к какой-то одной переменной. При вызове функции эти аргументы заменяются именами или выражениями, указываемыми как параметры. Список параметров представляет собой список идентификаторов, которые строятся по тем же правилам, что и имя функции (не должны начинаться с цифры). Параметры используются в командах поиска выделяемых точек. При вызове функции эти параметры заменяются числами. Команды поиска выделяемых точек объединяются в общем случае в группы, относящиеся к различным переменным, и записываются по формату <команда поиска> !<номер> ... ; где <номер> - номер выделенной точки. Символ “;” в конце обязателен. Пример: 1| sle(50%,p)!1 sle(50%,n)!2; В этом примере выделено две точки по уровню 50%: первая при положительной производной, вторая - при отрицательной. Выражение, определяющее функцию, строится по принятым в PROBE правилам со следующими ограничениями. ♦ В выражение могут входить константы, параметры целевой функции и координаты выделенных точек: x1, y1 и т.д.; обычные переменные типа V(1) и др. использоваться не могут. ♦ Не могут использоваться функции нескольких переменных, такие как D, S, AVG, RMS, MIN, MAX и функции комплексных переменных M, P, R, IMG, G. ♦ Добавлена функция MPAVG(<граница 1>,<граница 2>[,<коэффициент>]), вычисляющая среднее значение переменной Y в заданном диапазоне аргумента X. Границы диапазона задаются координатами X выделенных точек (например, x1, x3); <коэффициент> по умолчанию равен 1 и в этом случае указанные границы совпадают с границами диапазона; если же <коэффициент> не равен 1, то средняя точка диапазона соответствует среднему значению заданных границ, а длина диапазона умножается на заданный коэффициент. Поясним применение рассмотренного аппарата. Пусть, например, в некоторой схеме по оператору .TEMP просчитаны при ряде температур
3.5. Исследования и измерения графиков в PROBE
99
переходные процессы. Приведем примеры функций и их интерпретацию для этого случая. 1) arg(1,y)=x1 {1|sle(y)!1;} Эта функция определяет значение аргумента при заданном значении переменной y. Если в режиме X_axis/Performance_analysis/Add_trace задается arg(V(2),5v), то будет построен график зависимости от температуры моментов времени, когда напряжение в узле 2 равно 5 В. 2) max(1)=y1 {1|sma!1;} Эта функция определяет максимум. При задании max(v(2)) будет построен график зависимости максимума напряжение в узле 2 от температуры. 3) ampl(1)=y1-y2 {1|sma!1 smi!2;} Эта функция определяет размах переменной - разность между максимумом и минимумом. 4) delay(1,2)=x1-x2{ 1|sle(50%)!1; 2|sle(50%)!2;} Эта функция определяет задержку между двумя сигналами по среднему уровню. Например, при задании delay{V(2),V(1)) будет построена зависимость задержки напряжения в узле 2 по отношению к напряжению в узле 1. 3.6. РЕДАКТОР ВХОДНЫХ СИГНАЛОВ STMED ДЛЯ MS DOS Графический редактор входных аналоговых и цифровых сигналов STMED предназначен для создания и редактирования формы внешних воздействий в схеме. STMED является вспомогательной программой и используется, вообще говоря, сравнительно редко. Может быть только при отладке описаний сложных цифровых сигналов он действительно может заметно облегчить работу. Входная информация для STMED берется из файла задания на расчет схемы с расширением .CIR. Впрочем, если входной файл отсутствует, то программа сама его создает. Выходная информация STMED - отредактированные или вновь созданные описания сигналов, заносятся во входной файл. Версии редактора, предназначенные для PSpice 4, PSpice 5 и Design Center 5, работают в MS DOS и не очень отличаются друг от друга. В Design Center 6 включен вариант для Windos, существенно отличающийся от предыдущих и по своим функциям. Поэтому целесообразно рассматривать версии для MS DOS и для Windows отдельно. Запуск STMED для MS DOS осуществляется командой STMED [<опции>][<имя файла>[.CIR]]
100
3. Построцессор PROBE и редактор сигналов STMED
По умолчанию расширение файла .CIR. Если файл не указан, то его имя можно ввести в процессе диалога. Если при этом указать имя файла, которого нет, то этот файл может быть автоматически создан. Опции при запуске STMED те же, что и при запуске PROBE (см. п 3.1). Экран программы имеет вид, представленный на рис. 3.8. Основная часть экрана отведена под графики сигналов, расположенные в одной или нескольких координатных сетках. Если имеются аналоговые и цифровые сигналы, то диаграммы цифровых сигналов размещаются в верхней части экрана. Они изображаются так же, как в PROBE: двойной красной линией выделяется неопределенное состояние, тройной синей линией выделяется высокоомное состояние, наклонными серыми линиями выделяются переходные состояния “R” и “F”, двойными линиями с проставленными внутри состояниями выделяются сигналы шин (см. рис. 3.8, сигнал UD) и т.д. Внизу под графиками помещается меню. Все разделы и подразделы меню STMED перечислены и пояснены в работе [2]. К тому же многие из них, такие, как X_axis, Y_axis, Cursor, Hard_Copy, мало отличаются от аналогичных разделов в меню постпроцессора PROBE. Поэтому ограничимся только изложением последовательности и методики работы с основными разделами программы.
3.6. Редактор входных сигналов STMED для MS DOS
101
Рис. 3.8. Экран STMED 5
В начале работы, если входной файл содержит уже описанные источники сигналов, графики этих сигналов автоматически высвечиваются на экране. При это аналоговые сигналы располагаются в одной или нескольких координатных сетках, а под диаграммы цифровых сигналов всегда отводится одна сетка. При работе всегда одна из сеток активна. Она выделяется указателем SEL>>. Переключения между сетками производится в разделе меню Plot_control/Select_plot. Если работа проводятся с STMED 4 и необходимо переключиться из аналоговой сетки в цифровую или наоборот, то сначала в главном меню надо указать команду Select_digital, если ранее работали с аналоговым сигналом, или Select_analog, если работа шла с цифровыми сигналами. В STMED 5.1, если работа велась с аналоговыми сигналами, то для переключения сеток, включая цифровую, достаточно просто войти в раздел Plot_control и указать мышью нужную сетку. Если же работа велась с цифровыми сигналами, то для перехода к аналоговым сеткам по-прежнему надо выполнить команду Select_analog. Начиная с STMED 5.3 переключаться из одной аналоговой сетки в другую можно, не входя в раздел
102
3. Построцессор PROBE и редактор сигналов STMED
Plot_control. Однако переключиться в сетку цифровых диаграмм можно только командами Plot_control/Display_stimulus и Plot_control/Undisplay_stimulus Удаление с экрана ненужной сетки вместе с расположенными в ней графиками производится в разделе Plot_control/Remove_plot. Добавление новой сетки осуществляется командой Plot_control/Add_plot. Удаление с графика кривой одного из сигналов осуществляется командой Plot_control/Undisplay_stimulus, добавление новой кривой какого-либо из уже описанных сигналов - Plot_control/Display_stimulus. Следует особо отметить, что нельзя путать команду Plot_control/Undisplay_stimulus, удаляющую график с экрана, и команду Delete_stimulus, удаляющую данный сигнал не только с экрана, но и из файла .CIR. Выполнение команды Delete_stimulus осуществляется следующим образом. На экране появляется подменю: All - удаление всех сигналов; All_Digital - удаление всех цифровых сигналов; All_Analog - удаление всех аналоговых сигналов; Select - выбор удаляемых сигналов; Undelete - восстановление ошибочно удаленных сигналов; данный раздел появляется в меню после выполнения какой-нибудь команды удаления и отменяет ее, восстанавливая удаленные сигналы. Если используется раздел Select, то появляется указание Use arrows and tab to move highlight , space to select, enter to delete (Используйте стрелки и клавишу “Tab” для перемещения засветки, пробел для выбора, Enter для удаления). В ответ соответствующими клавишами или мышью перемещается засветка, указывающяя имя сигнала. Клавиша “Tab” переключает засветку с одной координатной сетки на другую. Клавишей “Пробел” производится выделение нужного сигнала (или сигналов). Повторное нажатие пробела снимает выделение сигнала. После того, как нужные сигналы выбраны, нажимается Enter. Поскольку команда Delete_stimulus опасна в том плане, что ее случайное применение может удалить сигнал из файла, то после ее выполнения появляется команда Undelete, которая позволяет восстановить ошибочно удаленный сигнал. Рассмотрим теперь, как проводится модификация существующего аналогового сигнала. Для этого служит раздел меню Modify_stimulus. В начале работы в этом разделе выбирается (так же, как было описано выше для команды Delete) модифицируемый сигнал. После этого на экране (см. пример на рис. 3.9) возникает увеличенный график модифицируемого сигнала, список значений его параметров и меню модификации.
3.6. Редактор входных сигналов STMED для MS DOS
103
Рис. 3.9. Режим модификации сигнала
Раздел Spec_type позволяет сменить модель для данного источника сигнала, выбрав ее из списка: EXP, PULSE, PWL, SFFM, SIN. Раздел Other_info позволяет изменить дополнительную информацию об источнике сигнала: имя источника (Name), уровень постоянной составляющей (DC_value), модуль (Magnitude) и фазы (Phase) сигнала для AC анализа (AC_value), узлы подключения источника сигнала (Nodes). Основной раздел режима модификации параметров - Transiet_parameters, который позволяет изменять параметры аналогового сигнала, определяющие его форму. При этом предлагается подменю, содержащее имена параметров, которые можно менять. После выбора параметра предлагается его прежнее значение, которое можно отредактировать. Выход из Transiet_parameters команда подменю Exit или клавиша Esc. При выходе график сигнала перерисовывается и можно видеть результаты проведенных изменений параметров.
104
3. Построцессор PROBE и редактор сигналов STMED
Рис. 3.10. Раздел Transiet_parameters для модели PWL
Несколько иначе выглядит работа в разделе Transiet_parameters для кусочнолинейного сигнала, описываемого моделью PWL (рис. 3.10). На экране высвечивается таблица точек излома и меню: Add_corner - добавление точки излома после последней, описанной для данного сигнала; Change_corner - изменение одной из точек излома (точка указывается курсором в таблице и нажимается Enter); Remove_corner - удаление одной из точек излома (точка указывается курсором в таблице и нажимается Enter); Insert_corner - вставка точки излома (курсором в таблице и нажатием Enter указывается точка, перед которой должна быть вставлена точка). После выбора того или иного раздела в меню координаты вводимой точки излома указываются или числами, или перемещением курсора и нажатием
3.6. Редактор входных сигналов STMED для MS DOS
105
левой кнопки мыши (клавиши Enter). При перемещении курсора в нижней строке экрана высвечиваются его координаты. Включение в схему описания нового аналогового сигнала осуществляется в разделе меню New_stimulus. Предварительно желательно открыть новую координатную сетку, в которой будет изображаться график сигнала. На запрос программы Enter the stimulus device name (в разных версиях программы вопрос несколько варьируется) надо указать имя источника. Оно, конечно, должно начинаться с символа V для источников напряжения и с символа I для источников тока. Затем следует выбрать модель источника при расчетах переходных процессов: EXP, PULSE, PWL, SFFM или SIN. После этого на экране появляется таблица параметров модели, в которой некоторые значения параметров заданы программой по умолчанию. Поочередно задаются вопросы о значениях параметров. В ответ надо указать начальное приближение для параметров, которое затем можно будет уточнить в рассмотренном ранее режиме модификации параметров. При описании источника моделью PWL в качестве параметров надо задавать координаты точек излома. Это делается так же, как и при модификации параметров этой модели: или в нижней строке указываются числами координаты точек, или курсор перемещается по полю координатной сетки, в нижней строке высвечиваются его координаты и в нужный момент нажимается левая кнопка мыши. Рассмотрим теперь процедуру создания и модификации источника цифрового сигнала. Как и в случае аналогового сигнала, новый цифровой элемент создается в разделе меню New_stimulus. При этом для младших версий STMED предварительно надо выполнить команду Select_digital. На запрос программы указывается имя цифрового источника сигнала, которое должно начинаться с символа U. Далее в ответ на запрос “Enter number of output nodes” указывается число выходов источника. После этого программа переходит в раздел Modify_stimulus, который используется и при модификации уже описанных цифровых сигналов. В этом разделе (пример приведен на рис. 3.11) на экране представлены диаграммы цифровых сигналов, имя модифицируемого сигнала и его описание в виде последовательности введенных ранее команд (если это не новый сигнал, который еще не был описан). Подменю содержит следующие основные разделы: Add_command - добавление команд в описание источника; в открывающемся подменю можно выбрать следующие команды (назначение и синтаксис команд см. в п. 1.4.5 и в работе [2]):
106
Set
3. Построцессор PROBE и редактор сигналов STMED
- задание момента времени и логических уровней сигналов; Goto n Times - задание команды передачи управления в цикле; Goto Until GE/GT/LE/LT - задание команд условной передачи управления; Incr by - задание положительного приращения сигналов; Decr by - задание отрицательного приращения сигналов; Label - задание имени метки; Modify_command - выбор изменяемой команды при редактировании цифровых сигналов; Remove_command - удаление команды при редактировании цифровых сигналов; Insert_command - вставка одной или нескольких команд перед выбранной командой при редактировании цифровых сигналов; Other_info - изменение дополнительной информации об источнике сигнала: имя источника (Name), имя модели входа/выхода (IO_Model), величина временного шага (Step_Size), число выходов (Width), формат, определяющий систему счисления в описании сигналов (Radix), список выходных узлов (Output_Nodes), узлы питания (Power) и земли (Ground); Display_help или Show_help - вывод на экран пояснений по командам описания цифрового сигнала.
3.6. Редактор входных сигналов STMED для MS DOS
107
Рис. 3.11. Модификация цифрового сигнала
При работе в разделе Add_command сначала из подменю выбирается команда, а затем по запросам программы вводятся значения отдельных ее элементов. При задании моментов времени их можно вводить в виде чисел, или можно перемещать курсор (при этом внизу высвечиваются соответствующие моменты времени) и, когда требуется, нажать левую кнопку мыши. При работе в разделах Modify_command, Remove_command и Insert_command сначала мышью или стрелками перемещается засветка на нужную команду (в разделе Insert_command - на команду, перед которой нужна вставка), а затем нажимается Enter. Окончание работы в любом из этих разделов - Esc. В заключение рассмотрим очень важный момент - окончание работы с STMED. При выполнении команды Exit главного меню на экране возникает подменю, содержащее следующие команды: Exit_program - запись отредактированного описания сигнала в файл .CIR и выход из программы; при этом предыдущее состояние файла .CIR запоминается в файл с тем же именем и с расширением .BAK;
108
3. Построцессор PROBE и редактор сигналов STMED
Start_editor
-
Abort_program
-
возвращение в меню редактирования аналоговых сигналов; выход из программы без записи отредактированного описания сигнала в файл .CIR; при этом надо утвердительно ответить на вопрос: Abort without saving changes (Y/N)? действительно ли требуется уход без спасения результатов.
3 Постпроцессор PROBE и редактор сигналов STMED
3.7. РЕДАКТОР STMED В DESIGN CENTER 6 Редактор STMED в Design Center 6 отличается от предшествующих версий не только тем, что предназначен для работы в Windows. Изменено само назначение программы: теперь она заносит создаваемые или редактируемые сигналы в библиотеки сигналов - текстовые файлы с расширением .SLB. Эти файлы могут использоваться как программой PSpice, так и новой программой логического моделирования PLOGIC. Файлы включают в себя операторы .STIMULUS вида .STIMULUS <имя сигнала> <модель сигнала> + <параметры модели> Например: .STIMULUS InputPulse PULSE (-1mv 1mv 2ns 2ns 50ns 100ns) .STIMULUS DigitalPulse STIM (1,1) + 0S 1 + 10NS 0 + 20NS 1 .STIMULUS 50KHZSIN SIN (0 5 50KHZ 0 0 0 ) На имена сигналов, определенные операторами .STIMULUS, можно ссылаться в операторах, описывающих V и I элементы и цифровые элементы STIM. В операторах .STIMULUS в качестве значений параметров моделей могут использоваться не только числа, но и произвольные имена, заключенные в фигурные скобки. Тогда значения, присваиваемые этим именам определяются оператором вида .STIMULUS <имя параметра> PARAM <значение> Например, .STIMULUS InputPulse PULSE (-1mv {A} 2ns 2ns 50ns 100ns) .STIMULUS A PARAM 1mV Во входной язык PSpice добавлен оператор подключения библиотеки сигналов: .STMLIB <имя файла[.STL]>
110
4. Идентификация параметров моделей с помощью PARTS
Расширение .STL по умолчанию не подразумевается и должно указываться явно.
Рис. 3.12. Экран STMED в DESIGNE CENTER 6
Формирование библиотек сигналов и является задачей редактора STMED в Design Center 6. Общий вид экрана при работе с STMED 6 представлен на рис. 3.12. Как видно, экран похож на вариант STMED для MS DOS, но, как и в любой программе Design Center для Windows, можно работать сразу в нескольких графических окнах. Разделы меню и пояснения к ним приведены в работе [2]. Многие разделы подобны аналогичным разделам постпроцессора PROBE, рассмотренным в пп. 3.4 - 3.5. Это относится к разделам File, Plot, View, Tools/Label, Window, Help и к некоторым другим. Поэтому ниже будет рассмотрена только основные режимы работы. Для редактирования какого-нибудь сигнала можно просто сделать двойной щелчок мыши на имени этого сигнала. Перейти к редактированию можно и иначе: выделить одиночным щелчком мыши имя сигнала, и затем
4.1. Общие сведения
111
выполнить команду Edit/Object. Повторное выполнение этой команды завершает редактирование данного сигнала. Если осуществляется редактирование аналогового сигнала, кроме описываемого моделью PWL, то после выполнения указанных выше действий на экране появляется диалоговое окно (см. пример на рис. 3.13), в котором можно изменить требуемые параметры. Если после проведенных изменений выполнить команду Apply, то график данного сигнала перестроится и можно наблюдать влияние параметров на форму сигнала, не покидая диалогового окна. Выполнение команды OK закрывает диалоговое окно и график перестраивается с Рис. 3.13. Диалоговое окно учетом введенных изменений модификации сигнала параметров. Выполнение команды Cansel закрывает окно, но при этом все проведенные в нем изменения аннулируются. Несколько иначе осуществляется редактирование кусочно-линейного сигнала, описываемого моделью PWL. Переход к редактированию этого сигнала приводит к выделению на его графике точек излома. Для удаления какой-либо точки излома надо выделить ее курсором и нажать клавишу Delete (то же самое можно сделать командой Edit/Delete). Для добавления какой-либо новой точки излома надо выполнить команду Edit/Add point или нажать “горячие” клавиши Alt-A. При этом на экране появляется курсор мыши в форме карандаша. Его следует переместить на график примерно в том месте, где желательно добавить точку излома, после чего нажимается и удерживается левая кнопка мыши. Координаты курсора отразятся в нижней строке графического окна, а за курсором потянутся отрезки прямых, показывая новую форму сигнала. Уточнив расположение курсора следует отпустить левую кнопку мыши, и введенная точка изменит вид графика. В этот момент данная точка выделена, и, если она получилась неудачной, можно нажать клавишу Delete и удалить ее, вернувшись к исходной форме сигнала. Когда все изменения в форме сигнала сделаны, надо повторно сделать двойной щелчок на имени сигнала или повторно выполнить команду Edit/Object.
112
4. Идентификация параметров моделей с помощью PARTS
При описании аналоговых сигналов можно использовать не только численные, но и символьные значения параметров, заключенные в фигурные скобки. Например, можно задать амплитуду импульса как {A}. Тогда численное значение данного параметра A задается командой Tools/Parameters. В диалоговом окне вводится значение параметра в формате <имя>= <значение>. Подкоманда Save запоминает значение параметра, которое будет использовано всеми сигналами, ссылающимися на этот параметр. Подкоманда Apply приводит к немедленному учету параметра в моделях сигналов и к перестроению графиков без выхода из диалогового окна. Переход к редактированию цифрового сигнала осуществляется так же, как для аналоговых сигналов: двойным щелчком на имени сигнала или выделением имени и выполнением команды Edit/Object. После этого на графике сигнала выделяются точки переключений. Для удаления какоголибо переключения надо выделить соответствующюю точку курсором и нажать клавишу Delete (то же самое можно сделать командой Edit/Delete). Для задания новой точки переключения надо выполнить команду Edit/Add transition или нажать “горячие” клавиши Alt-A. Тогда, если сигнал является битовым (не шиной), то появится меню, в котором можно выбрать одну из следующих команд: To 0/1 To 0/R/1/F To X To Z
- если в текущей точке сигнал равен “1”, то он будет переключаться в “0”, а если он равен “0”, то будет переключаться в “1”; - последовательное переключение в “1” и в “0” через промежуточные значения “R” и “F”; - переключение в неопределенное состояние X; - переключение в высокоомное состояние Z.
После выбора команды на экране появляется курсор мыши в форме карандаша. Его следует переместить на график примерно в том месте, где желательно добавить момент переключения, после чего нажимается и удерживается левая кнопка мыши. Значение времени, соответствующее положению курсора, высвечивается в нижней строке графического окна. Уточнив расположение курсора следует отпустить левую кнопку мыши, и введенная точка изменит вид графика. Далее можно перевести курсор в другое место и задать новое переключение. Нажатие Esc прерывает выполнение данной команды. Выполнение прервется также, если войти в раздел Edit/Add transition для задания новой команды. Если редактируется сигнал шины, то в разделе Edit/Add transition фигурируют следующие команды:
4.1. Общие сведения
To value Incr by Decr by To X To Z
113
- указание нового значения сигнала шины; - увеличение сигнала шины на заданную величину приращения; - уменьшение сигнала шины на заданную величину приращения; - переключение в неопределенное состояние X; - переключение в высокоомное состояние Z.
Выполнение команд производится так же, как было описано выше. Создание описания нового сигнала осуществляется командой Stimulus/New. После этого программа переходит в диалоговое окно, в котором задается имя сигнала и его тип: цифровой (Stim) или один из аналоговых - EXP, PULSE, PWL, SFFM, SIN. Из вспомогательных команд имеет смысл отметить команду View/Redraw. Она приводит к перерисовке графиков, которые могут испортиться в процессе перестроений и изменений, производимых некоторыми командами. Остальные команды описаны в работе [2] и вряд ли вызовут трудности при их применении. 4. И Д Е Н Т И Ф И К А Ц И Я П А Р А М Е Т Р О В МОДЕЛЕЙ С ПОМОЩЬЮ ПРОГРАММЫ PARTS 4.1. ОБЩИЕ СВЕДЕНИЯ Параметры сложных моделей практически невозможно задать просто на основании справочных или экспериментальных данных. Для того, чтобы описать те или иные характеристики моделируемого компонента, требуются сложные расчеты параметров моделей. В системе PSpice для этих целей служит программа PARTS. Она позволяет в режиме диалога идентифицировать параметры компонента и оформить результаты в виде операторов, включаемых непосредственно в библиотеку PSpice. PARTS несколько различается в зависимости от версии. Ниже параллельно рассматриваются 2 версии - PARTS-4 и PARTS-5. Для работы программы должен быть сформирован файл PARTS.DEV или файл PROBE.DEV, содержащий информацию о типах монитора и принтера (см. работу [1], п. 1.2). Программа PARTS вызывается командой PARTS.EXE {<опции>} Здесь используются следующие опции:
114
4. Идентификация параметров моделей с помощью PARTS
/C <имя командного файла>.CMD - задание имени командного файла, под управлением которого будет работать программа PARTS; /D<имя файла настройки>.DEV - задание имени файла настройки конфигурации ПЭВМ; /L <имя командного файла>.LOG - задание имени командного файла, в который будет занесен протокол работы с программой PARTS. Имя файла настройки (опцию /D) можно не указывать. В этом случае программа ищет в текущей директории файл PARTS.DEV, а если его не находит, то файл PROBE.DEV. Поэтому следующие команды вызова программы идентичны: parts parts /d parts.dev parts /d probe.dev Если же в качестве файла настройки используется файл с другим именем или файл в другой директории, то его необходимо указать. Командный файл может использоваться для повторения ранее проведенной идентификации с какими-либо изменениями исходных данных, для автоматического выполнения некоторых повторяющихся начальных команд PARTS, а также для создания обучающей программы, демонстрирующей работу с PARTS. Командный файл (*.CMD) может создаваться с помощью любого текстового редактора или на основе файла протокола (см. ниже) и может содержать любые команды, имеющиеся в меню PARTS, со следующими дополнениями: ♦ строка, начинающаяся с * , воспринимается как комментарий; ♦ пустые строки игнорируются; их можно добавлять для улучшения читаемости файла; ♦ команды @CR, @DWN, @UP используются для представления клавиш <ввод>, <вниз>, <вверх> соответственно; ♦ команда Pause прерывает выполнение командного файла до нажатия любой клавиши. Командный файл может создаваться на основе файла протокола, задаваемого опцией /L. Файл протокола содержит последовательность команд, выполнявшихся в последнем сеансе работы с PARTS. Этот файл, переименовав его и дополнив при желании какими-либо командами (например, Pause) или удалив из него лишние команды (например, команды Exit в конце), можно в дальнейшем использовать в качестве входного командного файла. Например, командный файл, полученный на основе файла протокола, может иметь вид
4.1. Общие сведения
115
* log file created using Parts version 4.03A on 01/02/95 at 13:05 Bipolar Transistor (gen'l purpose) qq NPN * screen: Junction Voltage pause X_axis Linear pause Upper_list Vbe 0.7 Ib 1e-3 Vce 0.1 Exit pause Trace Add_trace 80 Trace Add_trace -60 Запоминание хода идентификации в файле протокола позволяет сохранить информацию о тех исходных данных, на основании которых проводилась идентификация. В дальнейшем при необходимости можно повторить ранее проведенную идентификацию, внеся какие-то коррективы в исходные данные. При вызове программы PARTS появляется меню (рис. 4.1), которое позволяет выбрать вид компонента: диод, биполярный транзистор, полевой или МДП транзистор, макромодель операционного усилителя или компаратора напряжения. В PARTS-5 дополнительно могут быть идентифицированы параметры магнитного сердечника. После выбора типа компонента программа дает запрос об имени компонента: "Device_part_number (or name):",
116
4. Идентификация параметров моделей с помощью PARTS
в ответ на который надо указать имя компонента, параметры которого идентифицируются. Имя компонента может состоять из букв или цифр, общее количество символов не более семи.При образовании имени файла, содержащего результаты идентификации параметров моделей диодов, биполярных, полевых и МОП транзисторов программа PARTS добавляет к имени компонента букву, соответствующую типу компонента: к имени диода - D, биполярного транзистора - Q, полевого транзистора - J, МДП транзистора M. Поэтому имена этих компонентов могут начинаться с цифры. Например, для образования файла параметров модели диода D104 необходимо в качестве имени компонента ввести 104; в результате параметры модели занесутся в файл D104.MOD. При расчете параметров операционных усилителей и компараторов напряжения первый символ имени должен быть буквой, так как программа при образовании имени файла ничего к нему не добавляет. Рис. 4.1. Входное меню PARTS
+-------+ ¦ Partsкомпонента ¦ После задания имени и ответа на ряд вопросов, +-------+ зависящих от вида компонента (например, для биполярного транзистора estimator for PSpice models надо выбрать Parameter тип - NPN или PNP), следует серия последовательно Release 4.03A March 1990 предъявляемых экранов, каждый из которых определяет некоторую MicroSim Corporation характеристику (C) компонента, связанную1985-1990 с той или иной группой ************************************************** параметров. При этом показывается график определяемой характеристики. Пример экрана приведен на рис. 4.2. В нижней части экрана расположено меню. Справа сверху вниз располагаются: имя компонента, заголовок данного экрана, список вводимых электрических параметров ("Верхний список"), список идентифицируемых параметров модели ("Нижний список"). В PARTS-5 на некоторых экранах имеется еще один список - Conditions 0) Exit Program ("Условия"), в который заносятся условия измерения. В PARTS-4 эти 1) Diode (signal/rectifier/Zener) условия включены в верхний список. В дальнейшем изложении мы 2) Bipolar Transistor (gen'l purpose) будем пренебрегать этим несущественным различием. 3) JFET (small-signal, gen'l purpose) 4) Power MOSFET Transistor (all types) 5) Operational Amplifier (bipolar/FET) 6) Voltage Comparator (bipolar OC) Select: 2
Рис. 4.2. Пример экрана PARTS
4.1. Общие сведения
117
В середине экрана расположены графики характеристик модели, которые и должны быть подогнаны в результате идентификации под экспериментальные или справочные характеристики. Исходные данные в процессе идентификации могут задаваться двумя способами. 1. Задаются электрические параметры или точки характеристик по справочным или экспериментальным данным: в PSpice-4 соответствующий раздел меню называется "Upper_list" ("Верхний список"), в PSpice-5 - "Device data" ("Параметры прибора" ). Значения задаваемых параметров появляются в правой верхней части экрана. После того, как параметры заданы, программа автоматически рассчитывает некоторые параметры модели из нижнего списка. Посчитанные значения параметров появляются на экране. Одновременно перестраиваются графики в соответствии с новыми значениями параметров. 2. Задаются непосредственно сами параметры модели: в PSpice-4 соответствующий раздел меню называется "Lower_list" ("Нижний список"), в PSpice-5 - "Model parameters" ("параметры модели"). Значения задаваемых параметров появляются в правой нижней части экрана (в начале они равны значениям по умолчанию). Среди параметров нижнего списка есть такие, которые определяются автоматически при задании данных в верхний список, но есть и такие, которые автоматически не рассчитываются и могут быть изменены только самим пользователем. Задание и изменение параметров осуществляется следующим образом. После выбора в меню одного из разделов "Upper_list" или "Lower_list" в меню появляется список соответствующих параметров. Надо выбрать один из них и задать требуемое значение, затем выбрать другой и т.д. После задания всех требуемых параметров следует выйти из соответствующего раздела меню. Если изменения касались верхнего списка, то график сразу покажет изменения в характеристиках, вызванные введенным значением. Если же вводилось значение параметра из нижнего списка, то, чтобы это отразилось на графике, надо проимитировать какое-то изменение в верхнем списке (например, просто повторить какое-то уже введенное ранее значение). Можно построить на графике семейство кривых, различающихся значениями некоторой переменной: температуры или какого-либо параметра компонента. Какая именно переменная в данный момент является текущим параметром семейства кривых указано в скобках в подписи под графиком. Например, если после имени переменной указана в скобках температура, значит, именно температура и является текущим параметром семейства. Семейство кривых строится с помощью раздела меню "Trace" ("Кривые").При входе в этот раздел можно выбрать одну из следующих команд:
118
4. Идентификация параметров моделей с помощью PARTS
Exit Add_Trace Delete_Trace Trace_Variable
♦ Add_trace позволяет задать новое значение текущей переменной, ответив на вопрос: "Enter value for ..."; ♦ Delete_trace позволяет удалить кривую с графика; ♦ Trace_Variable позволяет задать имя текущей переменной. Построение семейства кривых относительно какого-либо параметра модели облегчает поиск значения этого параметра, приближающего характеристики модели к заданным. А семейство относительно температуры позволяет осуществить подгонку характеристик в диапазоне температур. Команды PARTS, позволяющие изменять масштаб по осям графика, содержатся в разделах меню X_axis и Y_axis. При выборе одного из этих разделов появляется меню, состав которого может варьироваться и включать в себя разделы: Exit Log Linear Set_range Auto_range
♦ Log - задание логарифмического масштаба по оси; ♦ Linear - задание линейного масштаба по оси; ♦ Set_range - установление пределов изменения переменной; в этом разделе нужно ввести два значения - верхнего и нижнего пределов; ♦ Auto_range - автоматическое установление пределов. После завершения работы с данной характеристикой можно перейти к работе со следующим экраном, выбрав в меню раздел Next Set, или вернуться к работе с предыдущим экраном, выбрав раздел Previous Set. Раздел меню HARD_COPY позволяет вывести графики полученных характеристик на принтер. После выбора этого раздела появляется следующее меню: Exit 1_page_long 2_page_long Other_length
♦ 1_page_long - вывод графика длиной 1 страница; ♦ 2_page_long - вывод графика длиной 2 страницы; ♦ Other_length - выбор произвольной длины графика; при выборе этого раздела появляется приглашение “Enter plot length in inches”, на которое надо ввести длину графика в дюймах. После завершения работы с последним экраном выводится завершающее меню:
4.1. Общие сведения
119
Model complete.Choose "Exit" to save results (только в PARTS-5) 0) Exit 1) First Set 2) Last Set: 0 Отсюда можно вернуться к первому (First Set) или к последнему (Last Set) экрану, а также завершить расчет параметров модели, нажав клавишу <Enter>. В результате будет создан текстовый файл с засширением .MOD и с именем, которое вы присвоили компоненту. Этот файл содержит оператор .MODEL входного языка PSpice, включающий все идентифицированные параметры. Результирующий файл можно включить в библиотеку PSpice или непосредственно в файл задания на расчет схемы. В последующих разделах данной главы будут приведены краткие сведения по идентификации с помощью PARTS параметров моделей различных типов компонентов. Сведения будут включать в себя пояснения к экранам, последовательно предъявляемым в PARTS в процессе идентификации.
120
4. Идентификация параметров моделей с помощью PARTS
4.2. ДИОДЫ Основные параметры модели диода (подробнее см. работы [1] и [2]), идентифицируемые программой PARTS: IS RS IKF N XTI EG CJ0 VJ M FC ISR NR BV IBV TT
- тепловой ток неосновных носителей заряда при температуре 27 ° С; - объемное сопротивление; - ток перегиба ВАХ при высоком уровне инжекции; - коэффициент неидеальности в показателе экспоненты для тока неосновных носителей заряда; - температурный коэффициент для тока неосновных носителей заряда; - ширина запрещенной зоны; - барьерная емкость при нулевом смещении на p-n переходе; - контактная разность потенциалов; - коэффициент, учитывающий плавность p-n перехода; - коэффициент нелинейности барьерной емкости прямосмещенного p-n перехода; - тепловой ток основных носителей заряда; - коэффициент неидеальности в показателе экспоненты для тока основных носителей заряда; - напряжение обратного пробоя (модуль); - начальный ток пробоя (модуль); - время переноса заряда.
Такие параметры, как NBV, IBVL, NBVL, TBV1, TBV2, TRS1, TRS2, программой не идентифицируются. Экран "Forward Current" Прямая ветвь ВАХ ВЕРХНИЙ СПИСОК Обозн а-чение If1
Справочные данные Координаты трех
НИЖНИЙ СПИСОК Обозн а-чение IS
Значение по умолчанию 10-14 А
4.2. Диоды Vj1 If2 Vj2 if3 Vj3
точек ВАХ диода при малых, средних и больших токах соответственно
121
RS IKF N XTI EG
1 Ом 0 1 3 1.11 В
Этот экран позволяет подобрать аппроксимацию ВАХ открытого диода. По трем точкам прямой ветви ВАХ автоматически определяются три параметра - IS, RS и IKF. Точки желательно выбирать так, чтобы первая соответствовала низким уровням инжекции, при которых ВАХ близка к экспоненциальной, вторая - средним уровням инжекции и третья - высоким, при которых отчетливо проявляется сопротивление RS. Не при любых значениях тока и напряжения в этих точках параметры могут быть идентифицированы. Нередко может получаться отрицательное сопротивление RS и в этих случаях программа сообщает, что надо изменить в ту или иную сторону какие-то из заданных токов. Можно также попытаться в этих случаях немного варьировать величиной N. Если известна только одна точка ВАХ, ее следует повторить трижды, т.е. задать все три требуемых точки одинаковыми. В этом случае будет идентифицирован только ток IS при заданных величинах RS и IKF. Если известны две точки ВАХ, то одну из них следует задать в качестве первой, а другую - в качестве второй и третьей. В этом случае будут идентифицироваться IS и RS при заданной величине IKF. Остальные параметры - N, XTI и EG можно подбирать, непосредственно задавая их значения. Значения параметров по умолчанию соответствуют кремниевым диодам. Впрочем, изменять величину N без серьезных оснований не следует. Для диодов Шотки точнее значения XTI=2, EG=0.69 В. Для подбора XTI полезно построить семейство графиков для разных температур. Экран "P-N Capacitance" Барьерная емкость перехода ВЕРХНИЙ СПИСОК Обоз на-чение Cj1
Справочные данные Барьерная емкость перехода
НИЖНИЙ СПИСОК Обозн а-чение CJ0
Значение по умолчанию 10 пФ
122 Vj1 Cj2 Vj2
4. Идентификация параметров моделей с помощью PARTS при двух значениях модуля напряжения обратного смещения
VJ M FC
0.75 B 0.3333 0.5 B
Этот экран позволяет подобрать аппроксимацию зависимости барьерной емкости от запирающего напряжения. Качество аппроксимации этой зависимости обычно не очень влияет на точность моделей выпрямительных, ключевых или мощных диодов, но весьма существенно при создании модели варикапа. Первая из вводимых точек зависимости C(V) должна соответствовать минимальному запирающему напряжению (можно задать его равным нулю), вторая - большему напряжению. В результате будут автоматически определены параметры CJ0 и M при заданных VJ и FC. Если известна только одна точка зависимости C(V), ее следует задать в качестве обеих требуемых для идентификации точек. В этом случае программа определит только величину CJ0 при заданных значениях остальных параметров. Величину M в этой ситуации следует задавать исходя из типа p-n перехода: 0.5 для резкого перехода, 0.3333 для плавного. Параметры VJ и FC мало влияют на величину барьерной емкости и то практически только при прямом смещении на переходе, когда само влияние барьерной емкости на характеристики диода становится слабым, поскольку начинает доминировать диффузионная емкость. Поэтому обычно заданные по умолчанию значения этих параметров, характерные для кремниевых диодов, можно не изменять. При точном описании емкостей, особенно для высокочастотных схем, надо учитывать, что в реальном диоде помимо нелинейных емкостей p-n перехода имеется еще постоянная емкость между выводами диода. Эта емкость не входит в модель и при расчете на PSpice должна включаться как внешняя. Но в этом случае в PARTS при задании значений емкостей следует вычитать из экспериментальных или справочных значений величину этой паразитной емкости. Экран "Reverse Leakage" Рекомбинационная составляющяя тока диода ВЕРХНИЙ СПИСОК
НИЖНИЙ СПИСОК
4.2. Диоды Обозн а-чение Ir Vr
Справочные данные
123 Обозна -чение
Ток утечки Абсолютное значение напряжения обратного смещения при измерении Ir
ISR NR
Значение по умолчанию 10-12 А 2
Ток основных носителей, главной составляющей которого является ток рекомбинации-генерации в переходе, влияет и на прямую, и на обратную ветви ВАХ диода (см. работу [1]). Однако PARTS рассчитывает параметры этого тока только исходя из обратной ветви, что может вносить определенную погрешность в ВАХ открытого диода. В данном экране по значению обратного тока при некоторой величине запирающего напряжения рассчитываются параметры ISR и R. При этом влияющие на этот ток параметры VJ и M берутся из предыдущего экрана. Экран "Reverse Breakdown" Область пробоя ВЕРХНИЙ СПИСОК Обозначени е Vz Iz Zz
Справочные данные Абсолютное значение напряжения пробоя (стабилизации) при токе Iz Ток пробоя (стабилизации) Дифференциальное сопротивление на участке пробоя в точке (Iz,Vz)
НИЖНИЙ СПИСОК Обозначен ие BV IBV
Значение по умолчанию 100 В 10-4 А
В качестве данных для идентификации параметров области пробоя задаются напряжение, ток и дифференциальное сопротивление в этой точке. По этим данным PARTS определяет параметры одной составляющей тока в области пробоя, хотя в модели предусмотрены две составляющие, позволяющие подогнать под экспериментальные или справочные данные не одну, а две точки в области пробоя.
124
4. Идентификация параметров моделей с помощью PARTS
Экран "Reverse Recovery" Время рассасывания носителей заряда ВЕРХНИЙ СПИСОК Обозначени е Trr Ifwd Irev Rl
Справочные данные Время рассасывания носителей заряда Ток диода в прямом направлении до переключения Обратный ток диода в первый момент при переключе-нии Эквивалентное сопротивление нагрузки (включая выходное сопротивление генератора)
НИЖНИЙ СПИСОК Обознач е-ние TT
Значение по умолчанию 5 нс
Среднее время пролета носителей TT, определяющее в модели диффузионную емкость, идентифицируется в PARTS по переходному процессу, протекающему при запирании ранее открытого диода. Исходные данные: Ifwd - ток, который протекает через открытый диод до начала переключения; Irev - обратный запирающий ток, протекающий через диод в первый момент при резком (скачкообразном) запирании диода; RL - сопротивление, через которое подается запирающий сигнал (включая выходное сопротивление источника сигнала). 4.3. БИПОЛЯРНЫЕ ТРАНЗИСТОРЫ Основные параметры модели биполярного транзистора (подробнее см. работы [1] и [2]), идентифицируемые программой PARTS: IS XTI EG VAF BF NE
тепловой ток при температуре 27 °С; температурный коэффициент тока IS; ширина запрещенной зоны; напряжение Эрли в нормальном включении; максимальный коэффициент передачи базового тока β в нормальном включении; - коэффициент неидеальности в показателе экспоненты для тока основных носителей эмиттерного перехода;
-
4.3. Биполярные транзисторы
125
ISE - тепловой ток основных носителей эмиттерного перехода; IKF - точка начала спада зависимости β от тока коллектора в нормальном включении; XTB - температурный коэффициент BF и BR; BR - максимальный коэффициент передачи базового тока β в инверсном включении; NC - коэффициент неидеальности в показателе экспоненты для тока основных носителей коллекторного перехода; ISC - тепловой ток основных носителей коллекторного перехода; IKR - точка начала спада зависимости β от тока коллектора в инверсном включении; RC - объемное сопротивление коллектора; CJС - барьерная емкость коллекторного перехода при нулевом смещении; VJC - контактная разность потенциалов коллекторного перехода; MJC - коэффициент, учитывающий плавность коллекторного перехода; FC - коэффициент нелинейности барьерных емкостей прямосмещенных переходов; CJE - барьерная емкость эмиттерного перехода при нулевом смещении; VJE - контактная разность потенциалов эмиттерного перехода; MJE - коэффициент, учитывающий плавность эмиттерного перехода; TR - время переноса заряда в инверсном режиме; TF - время переноса заряда в нормальном режиме; ITF - ток, характеризующий зивисимость времени пролета от тока; VTF - напряжение, характеризующее зависимость времени пролета от напряжения; XTF - коэффициент, определяющий зависимость времени пролета от напряжения. Такие параметры, как NF, NR, VAR, NK, ISS, NS, RE, RB, RBM, IRB, XCJC, CJS, VJS, MJS, PTF, QC0, RC0, V0, GAMMA, TRE1, TRE2, TRB1, TRB2, TRM1, TRM2, TRC1, TRC2 программой PARTS не идентифицируются. Экран "Junction Voltage" Входная ВАХ насыщенного транзистора ВЕРХНИЙ СПИСОК
НИЖНИЙ СПИСОК
126 Обозн а-чение Vbe Vce Ib %Ib
4. Идентификация параметров моделей с помощью PARTS Справочные данные
Обоз Значение на-чение по умолчанию IS 10-14 А XTI 3 EG 1.11
Напряжение Б-Э в режиме насыщения Напряжение К-Э в режиме насыщения Ток базы в режиме насыщения Доля тока неосновных носителей
Этот экран позволяет определить тепловой ток неосновных носителей IS по заданной точке ВАХ транзистора в режиме насыщения. Задаются напряжения база-эмиттер (Vbe), коллектор-эмиттер (Vce
Справочные данные
НИЖНИЙ СПИСОК Обозначени е
Значение по умолчанию
4.3. Биполярные транзисторы hoe Vce Iс
Дифференциальная выходная проводимость Напряжение К-Э при измерении hoe Ток коллектора при измерении hoe
VAF
127 100 В
По заданному значению выходной проводимости hoe в нормальной активной области работы в схеме с общим эмиттером и заданному режиму ее измерения (Vce и Iс) рассчитывается параметр VAF, отражающий эффект Эрли. Этот параметр (см. работу [1]) характеризует не только выходную проводимость, но и зависимости коэффициента передачи тока β и времени пролета от напряжения на закрытом коллекторном переходе. Величину hoe можно получить непосредственно из справочных данных или определить из наклона выходных ВАХ транзистора в нормальной активной области работы в схеме с общим эмиттером. Экран "Forvard DC Beta" Зависимость β от тока ВЕРХНИЙ СПИСОК Обозначение hfe1 Iс1 hfe2 Iс2 hfe3 Iс3 Vсe
Справочные данные Значения коэффициента передачи постоянного базового тока при трех различных значениях коллекторного тока
НИЖНИЙ СПИСОК Обозначени е BF NE ISE IKF XTB
Значение по умолчанию 100 1.5 0 0 1.5
Напряжение К-Э при измерениях hfe
В данном экране аппроксимируется зависимость коэффициента передачи базового тока hfe (по постоянному току) в нормальной активной области работы в схеме с общим эмиттером от значения коллекторного тока (подробнее см. п. 4.2 в работе [1]). В качестве исходных данных задаются три пары значений: величина hfe и соответствующий ток Iс, при котором эта величина измерена. Предполагается, что все измерения проводятся при одном и том же значении напряжения коллектор-эмиттер Vсe, которое тоже
128
4. Идентификация параметров моделей с помощью PARTS
задается в качестве исходных данных. Это позволяет учесть определенную в предыдущем экране зависимость hfe от напряжения. Первая пара значений должна соответствовать области малых токов, вторая - области средних токов, но при этом все-таки должна располагаться на участке нарастающей зависимости hfe(I) (см. рис. 4.4 в п. 4.2 работы [1]). Третья пара значений должна соответствовать точке максимума зависимости β(I). Таким образом, должны выполняться соотношения hfe1
4.3. Биполярные транзисторы
129
наихудших (с минимальными hfe), и на типовых транзисторах. Нередко типовые и средние значения даются в справочниках только для одного режима, а режимная зависимость hfe(I) дается для средних типовых транзисторов. Тогда при желании идентифицировать параметры для наихудшего транзистора надо предварительно трансформировать зависимость hfe(I), умножив все значения hfe на то отношение минимального значения hfe к среднему, которое приведено в справочнике для какогонибудь тока. Экран "Vce(sat) Voltage" Коллекторное напряжение насыщенного транзистора ВЕРХНИЙ СПИСОК Обозначен ие Vce
Iс Iс/Ib
Справочные данные Напряжение К-Э насыщенного транзистора Коллекторный ток Отношение коллекторного и базового токов
НИЖНИЙ СПИСОК Обознач е-ние BR NC ISC IKR RC
Значение по умолчанию 1 2 0А 0А 0 Ом
Данный экран позволяет автоматически определить коэффициент переноса базового тока в инверсном включении BR по величине остаточного напряжения коллектор-эмиттер насыщенного транзистора при токе коллектора Iс и базовом токе Ib. Кроме того, можно задать и ряд других параметров модели - NC, ISC, IKR и объемное сопротивление коллектора RC. Следует учитывать, что большинство этих параметров влияют, конечно, не только на остаточное напряжение насыщенного транзистора, но и на другие характеристики. В частности, BR, NC, ISC и IKR определяют в первую очередь коэффициент передачи базового тока в инверсном включении транзистора. Поэтому если в схемах, которые планируется рассчитывать, возможно инверсное включение, то лучше определить эти параметры из данных для инверсного включения, конечно, если они известны. Для этого можно воспользоваться предыдущим экраном, подставляя в него значения инверсного коэффициента передачи тока. Параметр RC может также заметно влиять и на частотные характеристики в нормальной активной области работы для транзисторов, в которых
130
4. Идентификация параметров моделей с помощью PARTS
величина RC значительна. Однако чаще всего все эти параметры мало существенны и тогда можно воспользоваться их значениями по умолчанию или принять их равными ранее определенным аналогичным параметрам для нормального включения. Экран "C-B Capacitance" Барьерная емкость коллекторного перехода ВЕРХНИЙ СПИСОК Обозначен ие Cobo1 Vcb1 Cobo2 Vcb2
Справочные данные Барьерная емкость коллекторного перехода при двух значениях модуля обратного напряжения
НИЖНИЙ СПИСОК Обознач е-ние CJC VJC MJC FC
Значение по умолчанию 2 нФ 0.75 B 0.3333 0.5 B
Этот экран позволяет подобрать аппроксимацию зависимости барьерной емкости коллекторного перехода от запирающего напряжения. Первая из вводимых точек зависимости C(V) должна соответствовать небольшому запирающему напряжению (можно задать его равным нулю), вторая - большему напряжению. В результате будут автоматически определены параметры CJС и MОС при заданных VJС и FC. Если известна только одна точка зависимости C(V), ее следует задать в качестве обеих требуемых для идентификации точек. В этом случае программа определит только величину CJС при заданных значениях остальных параметров. Величину MОС в этой ситуации следует задавать исходя из типа коллекторного перехода: 0.5 для резкого перехода, 0.3333 для плавного. Параметры VJС и FC мало влияют на величину барьерной емкости и то практически только при прямом смещении на переходе, т.е. в режиме насыщения или в инверсном включении, когда само влияние барьерной емкости на характеристики транзистора становится слабым, поскольку начинают доминировать диффузионные емкости. Поэтому обычно заданные по умолчанию значения этих параметров, характерные для кремниевых транзисторов, можно не изменять. При точном описании емкостей, особенно для высокочастотных схем, надо учитывать, что в реальном транзисторе помимо нелинейных емкостей p-n переходов имеются еще постоянные емкости между выводами транзистора (см. п. 4.2.2 работы [1]). Эти емкости не входят в модель и при расчете на PSpice должны включаться как внешние. В этом случае в PARTS при задании
4.3. Биполярные транзисторы
131
значений емкостей следует вычитать из экспериментальных или справочных значений величины этих внешних паразитных емкостей. Экран "E-B Capacitance” Барьерная емкость эмиттерного перехода ВЕРХНИЙ СПИСОК Обозначен ие Cibo1 Veb1 Cibo2
Справочные данные Барьерная емкость эмиттерного перехода при двух значениях модуля обратного напряжения
Veb2
НИЖНИЙ СПИСОК Обозначени е CJE VJE MJE
Значение по умолчанию 5 нФ 0.75 B 0.3333
Данный экран аналогичен предыдущему, но относится к барьерной емкости эмиттера. Все сказанное для того экрана справедливо и для данного с тем единственным отличием, что параметр FC одинаков для всех емкостей. Экран "Storage Time" Рассасывание носителей заряда в базе насыщенного транзистора ВЕРХНИЙ СПИСОК Обозначен ие ts Iс Iс/Ib
Справочные данные Время рассасывания Коллекторный ток Отношение коллекторного и базового токов
НИЖНИЙ СПИСОК Обозначени е TR
Значение по умолчанию 10 нс
Этот экран служит для определения среднего времени пролета базы в инверсном направлении TR (т.е. величины диффузионной емкости коллекторного перехода), исходя из времени рассасывания носителей заряда в базе насыщенного транзистора при его запирании. Величину TR можно определять или из частотных характеристик транзистора в инверсном включении, или из постоянной накопления в режиме насыщения (см. п. 4.2.2 работы [1]). Обычно инверсное включение мало интересует и определение
132
4. Идентификация параметров моделей с помощью PARTS
TR из времени рассасывания оправдано. Если же транзистор предполагается использовать в инверсном включении, параметр TR надо определять исходя из предельной частоты в этом включении, как это делается в следующем экране для нормального включения. Следует отметить, что поскольку при расчете времени рассасывания в модели еще не известна диффузионная емкость эмиттерного перехода, в определении параметра TR возможна погрешность для некоторых типов транзисторов. Экран "Gain Bandwidth" Предельная частота усиления ВЕРХНИЙ СПИСОК Обоз на-чение fT Iс Vсe
Справочные данные Предельная частота усиления Коллекторный ток Напряжение К-Э
НИЖНИЙ СПИСОК Обозначение TF
Значение по умолчанию 1 нс
ITF VTF XTF
0А 0В 0
В данном экране по заданной предельной частоте fT в нормальной активной области (т.е. по частоте, на которой коэффициент передачи базового тока падает до 1) рассчитывается среднее время пролета базы в нормальном направлении TF, определяющее диффузионную емкость эмиттерного перехода. Это наряду с барьерными емкостями важнейший параметр, определяющий частотные характеристики и длительность переходных процессов. Если в справочнике значение fT не приведено, но известна граничная частота f, на которой коэффициент передачи базового тока падает в 2 раз, то fT можно оценить соотношением fT ≈ f/hoe, где hoe коэффициент передачи базового тока при данном режиме. Если известно значение модуля коэффициента передачи hf на какой-то высокой частоте f и значение коэффициента передачи ho в том же режиме на низкой частоте, то 2 2 2 fT можно оценить соотношением fT ≈ f ⋅ ho ⋅ hf ho − hf . Наконец, если известна зависимость h(f), то fT можно оценить путем экстраполяции к точке, в которой h=0. Кроме TF, все остальные параметры по умолчанию в данном экране заданы идеальными. Если их не менять, то особенности частотных характеристик при высоких уровнях инжекции, в частности связанные с эффектом Кирка, моделироваться не будут. Типичные значения для этих параметров следующие: ITF=10 мА ÷ 1 А, VTF=5 В ÷ 50 В, XTF≈2.
d
i
4.4. Полевые транзисторы
133
4.4. ПОЛЕВЫЕ ТРАНЗИСТОРЫ Основные параметры модели полевого транзистора (подробнее см. п. 4.3 работы [1] и работу [2]), идентифицируемые программой PARTS: BETA
- коэффициент пропорциональности, определяющий крутизну транзистора; BETATCE - температурный коэффициент BETA; RD - объемное сопротивление стока; RS - объемное сопротивление истока; LAMBDA - коэффициент модуляции длины канала,определяющий выходную проводимость; VTO - напряжение отсечки; VTOTC - температурный коэффициент VTO; CGD - емкость перехода затвор-сток при нулевом смещении; M - коэффициент, учитывающий плавность p-n перехода затвора; PB - контактная разность потенциалов p-n перехода затвора; FC - коэффициент нелинейности емкостей переходов при прямом смещении; CGS - емкость перехода затвор-исток при нулевом смещении; IS - тепловой ток неосновных носителей p-n перехода; ISR - тепловой ток рекомбинации-генерации p-n перехода; N - коэффициент неидеальности в показателе экспоненты для тока неосновных носителей p-n перехода; NR - коэффициент неидеальности в показателе экспоненты для тока основных носителей p-n перехода; XTI - температурный коэффициент тока IS; ALPHA - коэффициент ионизации; VK - напряжение, характеризующее ток ионизации; KF - коэффициент, определяющий спектральную плотность фликкер-шума; AF - показатель степени, определяющий зависимость спектральной плотности фликкер-шума от тока через переход. Параметры VBI и PB программой PARTS не идентифицируются. Экран "Transconductance" Крутизна затворно - стоковой ВАХ
134
4. Идентификация параметров моделей с помощью PARTS ВЕРХНИЙ СПИСОК
Обоз на-чение
Справочные данные
gFS Id
Проводимость прямой передачи Ток стока при заданной gFS
НИЖНИЙ СПИСОК Обозна -чение BETA BETA TCE RD RS
Значение по умолчанию 0.001 А/В 0.5 1 Ом 1 Ом
В данном экране по зависимости крутизны транзистора от тока стока рассчитывается BETA - параметр, определяющий крутизну. По семейству кривых для нескольких температур можно также подобрать температурный коэффициент BETACE. Можно задать значения сопротивления стока и истока RD и RS, однако они чаще всего пренебрежимо малы. Экран "Output Conductance" Выходная проводимость ВЕРХНИЙ СПИСОК Обозначен ие gOS Id
НИЖНИЙ СПИСОК
Справочные данные Выходная проводимость
A
Обознач Значение е-ние по умолчанию LAMBD 0.01 А/В
Ток стока при заданной gOS
В данном экране по зависимости выходной проводимости транзистора от тока стока рассчитывается LAMBDA - параметр модуляции длины канала, определяющий выходную проводимость. Экран "Transfer Curve" Затворно-стоковая ВАХ транзистора ВЕРХНИЙ СПИСОК Обозначение Id Vgs Vds
Справочные данные Ток стока Напряжение З-И для Id Напряжение С-И для Id
НИЖНИЙ СПИСОК Обозначени е VTO VTOTC
Значение по умолчанию 2.5 В 0.0025 В
4.4. Полевые транзисторы
135
В данном экране по затворно-стоковой характеристике автоматически определяется напряжение отсечки. В качестве исходных данных задается одна точка ВАХ (Id, Vgs и Vds). Используются ранее определенные параметры, определяющие крутизну и выходную проводимость. Если не удается удовлетворительно аппроксимировать ВАХ, можно вернуться к предыдущим экранам и попробовать переопределить параметр BETA. Задав семейство характеристик для разных температур можно подобрать температурный коэффициент VTOTC. При этом также может потребоваться вернуться к первому экрану и попробовать переопределить параметр BETATCE. Экран "Reverse Transfer Capacitance" Проходная емкость затвор-сток ВЕРХНИЙ СПИСОК Обозначение Crss1 Vgs1 Crss2 Vgs2 Vds
Справочные данные 2 значения емкости и соответствующие им напряжения затвористок Напряжение С-И
НИЖНИЙ СПИСОК Обозначение CGD M PB FC
Значение по умолчанию 1 пФ 0.3333 1 0.5
Этот экран позволяет подобрать аппроксимацию зависимости барьерной проходной емкости затвор-сток от запирающего напряжения. Первая из вводимых точек зависимости C(V) должна соответствовать минимальному запирающему напряжению (можно задать его равным нулю), вторая большему напряжению. В результате будут автоматически определены параметры CGD и M при заданных PB и FC. Если известна только одна точка зависимости C(V), ее следует задать в качестве обеих требуемых для идентификации точек. В этом случае программа определит только величину CGD при заданных значениях остальных параметров. Величину M в этой ситуации следует задавать исходя из типа p-n перехода: 0.5 для резкого перехода, 0.3333 для плавного. Параметры PB и FC мало влияют на величину барьерной емкости. Поэтому обычно заданные по умолчанию значения этих параметров можно не изменять. Экран "Input Capacitance" Емкость затвор-сток
136
4. Идентификация параметров моделей с помощью PARTS
ВЕРХНИЙ СПИСОК Обозначение Ciss Vgs Vds
Справочные данные Входная емкость Напряжение ЗИ Напряжение СИ
НИЖНИЙ СПИСОК Обозначение
Значение по умолчанию 1 пФ
CGS
В этом экране задается входная емкость, которая состоит из емкостей затвор-исток и затвор-сток. По заданному значению входной емкости и по уже известной емкости затвор-сток рассчитывается CGS - емкость затвористок при нулевом напряжении на переходе. Так как полевой транзистор обычно симметричный, то получаемая величина CGS, как правило, близка к CGD, определенной в предыдущем экране. Экран "Passive Gate Leakage" Пассивная утечка затвора ВЕРХНИЙ СПИСОК Обозначение
Справочные данные Ток затвора Напряжение С-
Igss Vdg
НИЖНИЙ СПИСОК Обозначение Is Isr
З
Значение по умолчанию 10-13 А -12 10 А
N NR XTI
1 2 3
В этом экране подбираются параметры токов утечки затворного p-n перехода. Расчет ведется на основании одной заданной точки ВАХ. Предполагается, что измерения проводятся при коротком замыкании стокисток. При необходимости более точной аппроксимации ВАХ (что нужно крайне редко) можно подбирать параметры модели примерно так, как это рассмотрено в п. 4.2 для диодов. Экран "Active Gate Leakage"
4.4. Полевые транзисторы
137
Ионизационный ток утечки затвора ВЕРХНИЙ СПИСОК Обозначение
НИЖНИЙ СПИСОК
Справочные данные
Ig1 Vdg1 Ig2 Vdg2 Id
Ток затвора Напряжение С-З при Ig1 Ток затвора Напряжение С-З при Ig2 Ток стока
Обозначен ие ALFA Vk
Значение по умолчанию 10-5 100 В
Пояснения В этом экране определяются параметры, описывающие ток ионизации, который появляется в открытом транзисторе (см. п. 4.3 работы [1]) и резко увеличивает ток утечки затвора. В качестве исходных данных задаются две пары значений тока стока и напряжения сток-затвор при некотором значении тока стока. Первая точка должна соответствовать низкому напряжению, а вторая - высокому. Экран "Noise Voltage" Шумовые характеристики ВЕРХНИЙ СПИСОК Обозначен ие en Freq Ids
По
НИЖНИЙ СПИСОК
Справочные данные Эквивалентная плотность входного напряжения шума Частота для en Ток стока для en
заданному
значению
Обозначен ие KF
Значение по умолчанию 10 -18
AF
эквивалентной
1
спектральной 1 2
плотности
напряжения шума, приведенного ко входу (в В/гц ), автоматически определяется коэффициент фликкер-шума KF. Коэффициент AF можно изменять, но обычно он близок к заданному по умолчанию значению 1. 4.5. МДП ТРАНЗИСТОРЫ
138
4. Идентификация параметров моделей с помощью PARTS
С помощью PARTS можно идентифицировать параметры модели МДП транзистора уровня 3. Основные параметры этой модели (подробнее см. п. 4.3 работы [1] и работу [2]), идентифицируемые программой PARTS: KP - удельная крутизна; W - длина канала; L - ширина канала; VTO - пороговое напряжение при нулевом смещении подложкаисток; CBD - емкость перехода подложка-сток при нулевом смещении; PB - контактная разность потенциалов донной части p-n перехода; MJ - коэффициент, учитывающий плавность p-n перехода; FC - коэффициент нелинейности барьерной емкости прямосмещенного p-n перехода; CGSO - удельная (на единицу ширины канала) емкость перекрытия затвор-исток (возникает за счет боковой диффузии); CGDO - удельная (на единицу ширины канала) емкость перекрытия затвор-сток (возникает за счет боковой диффузии); RD - объемное сопротивление стока; RDS - сопротивление утечки сток-исток; RS - объемное сопротивление истока; RG - объемное сопротивление затвора; IS - тепловой ток p-n перехода; N - коэффициент неидеальности в показателе экспоненты для p-n перехода. Экран "Transconductance" Крутизна затворно - стоковой ВАХ ВЕРХНИЙ СПИСОК Обозначен ие gFS1 Id1 gFS2 Id2
Справочные данные Проводимости прямой передачи при двух значениях тока стока
НИЖНИЙ СПИСОК Обозначение RS KP W L
Значение по умолчанию 0.02 Ом 20⋅10-6 0.5 2⋅10-6
В данном экране задаются основные геометрические размеры транзистора и по зависимости крутизны от тока стока рассчитывается удельная крутизна KP и сопротивление истока RS, влияющее на крутизну при высоких уровнях тока. В качестве исходных данных задаются два значения крутизны gFS1 и
4.5. МДП транзисторы
139
gFS1 при двух значениях тока стока Id1 и Id1. Ток Id1 должен соответствовать низкому уровню тока, а Id2 - высокому. В идеальном приборе согласно модели крутизна нарастает пропорционально корню из тока стока. Но при больших токах начинает сказываться падение напряжения на RS. Именно это отклонение и позволяет определить величину RS. При расчетах делается ряд предположений о структуре прибора, в частности о толщине окисла под затвором, которая, впрочем, обычно мало сказывается на точности модели. Экран "Transfer Curve" Затворно-стоковая ВАХ транзистора ВЕРХНИЙ СПИСОК Обозначен ие Id Vgs
Справочные данные Ток стока Напряжение З-И для
НИЖНИЙ СПИСОК Обозначени е VTO
Значение по умолчанию 3В
Id
В данном экране по затворно-стоковой характеристике автоматически определяется пороговое напряжение. В качестве исходных данных задается одна точка ВАХ (Id, Vgs). Используются ранее идентифицированные параметры, определяющие крутизну и RS. Если не удается удовлетворительно аппроксимировать ВАХ, можно вернуться к предыдущим экранам и попробовать переопределить эти параметры. Вообще говоря, обычно надо не столько получить точное значение VTO, сколько хорошо аппроксимировать ВАХ в рабочей точке. Если идентификация параметров проводится для включения в библиотеку, то полезно задавать ток Id близким к максимальному постоянному току прибора.
Экран "Rds(on) Resistance" Сопротивление сток-исток во включенном состоянии ВЕРХНИЙ СПИСОК
НИЖНИЙ СПИСОК
140
4. Идентификация параметров моделей с помощью PARTS
Обозначен ие Rds Vgs Id
Справочные данные Сопротивление сток-исток Напряжение З-И для Rds Ток стока для Rds
Обозначен ие Rd
Значение по умолчанию 0.01 Ом
В данном экране по статическому сопротивлению сток-исток во включенном состоянии транзистора автоматически рассчитывается омическое сопротивление стока. В модели сопротивление открытого транзистора определяется тремя составляющими: нелинейным сопротивлением канала и последовательно включенными омическими сопротивлениями истока и стока. Первые две составляющие уже известны, а третья (Rd) определяется так, чтобы общее сопротивление соответствовало заданному. Если при этом Rd получится отрицательным, надо или подкорректировать данные предыдущих экранов, или отказаться от точного описания сопротивления открытого транзистора и задать Rd=0. Экран "Zero-bias Leakage" Утечка сток-исток закрытого транзистора ВЕРХНИЙ СПИСОК Обозначение Idss Vds
Справочные данные Ток утечки сток-исток Напряжение стокисток
НИЖНИЙ СПИСОК Обознач е-ние RDS
Значение по умолчанию 1 МОм
В этом экране по заданному току утечки сток-исток при напряжении затвор-исток равном нулю (утечка в основном обусловлена поверхностными эффектами) определяется сопротивление RDS, которое шунтирует канал в модели. Экран "Output Capacitance" Емкость сток-подложка ВЕРХНИЙ СПИСОК
НИЖНИЙ СПИСОК
4.5. МДП транзисторы Обозначен ие Ciss Coss Crss Vds
Справочные данные Входная емкость Выходная емкость Проходная емкость Напряжение С-И
Обозначени е CBD PB MJ FC
141 Значение по умолчанию 1 нФ 0.8 В 0.5 0.5
В этом экране по заданным значениям емкостей транзистора при некотором напряжении сток-исток Vds определяются параметры емкости p-n перехода сток-подложка. Обычно эта емкость не велика и оказывает малое воздействие по сравнению с другими емкостями. Экран "Turn-on Charge" Заряд включения ВЕРХНИЙ СПИСОК Обозначение Qg Qgs Vdd Id
Справочные данные Заряд затвора для включения Id от источника Vdd Заряд затвор-исток для начала переключения Напряжение источника сигнала для Qg Нагрузочный ток стока
НИЖНИЙ СПИСОК Обознач е-ние CGSO CGDO
Значение по умолчанию 4 нФ 1 нФ
В этом экране определяются паразитные емкости перекрытия затвора, возникающие за счет боковой диффузии. Эти емкости вместе с уже идентифицированной емкостью канала определяют заряд, требуемый для включения транзистора. Включение производится от источника импульса с амплитудой Vdd. Величина Qgs - заряд, требуемый для того, чтобы напряжение затвор-исток наросло от нуля до порога VTO. Величина Qg - полный заряд, необходимый для включения тока нагрузки Id. Разность этих зарядов определяется проходной емкостью затвор-сток.
142
4. Идентификация параметров моделей с помощью PARTS
К сожалению, в отечественных справочниках требуемые заряды не приводятся. Их можно рассчитать по экспериментальным данным, если провести соответствующие эксперименты. В противном случае приходится задавать непосредственно емкости CGSO и CGDO в нижний список. При этом надо учитывать, что в модели полные емкости затвор-исток и затворсток получаются умножением величин CGSO и CGDO на ширину канала W. Так что если известны полные емкости, то их надо разделить на W, чтобы задать CGSO и CGDO. Экран "Switching Time" Время выключения ВЕРХНИЙ СПИСОК Обоз на-чение tf Id Vdd Zo
Справочные данные Время спада тока Id от источника Vdd Нагрузочный ток стока Напряжение источника сигнала Сопротивление источника сигнала
НИЖНИЙ СПИСОК Обозн а-чение RG
Значение по умолчанию 5 Ом
В этом экране по заданному времени выключения нагрузочного тока стока Id от источника сигнала с амплитудой Vdd и сопротивлением Zo определяется омическое сопротивление затвора. Это сопротивление ограничивает ток затвора и вместе с паразитными емкостями, которые уже идентифицированы в предыдущем экране, определяет временные задержки. Под временем спада в данном экране понимается длительность спада именно тока стока, а не выходного напряжения.
Экран "Reverse Drain Current" Обратный ток стока
4.6. Операционные усилители ВЕРХНИЙ СПИСОК Обозначен ие Vsd Idr
Справочные данные Напряжение исток-сток Обратный ток стока
143
НИЖНИЙ СПИСОК Обозначени е IS N
Значение по умолчанию 10-14 А 1
В этом экране определяется тепловой ток IS по заданному падению напряжения Vsd при токе Idr. Важна не столько действительная величина IS, сколько хорошая аппроксимация зависимости падения напряжения от тока. При идентификации параметров для включения в библиотеку полезно выбирать уровень тока примерно равный половине максимального постоянного тока. Для некоторых высоковольтных P-канальных приборов необходимо задавать в нижнем листе значение N в пределах 2 - 3.
4.6. ОПЕРАЦИОННЫЕ УСИЛИТЕЛИ
144
4. Идентификация параметров моделей с помощью PARTS
PARTS генерирует макромодель операционных усилителей, рассмотренную в работе [1], п. 5.4. Результатом является файл, содержащий описание макромодели в виде подсхемы. Могут моделироваться операционные усилители со входным каскадом на биполярных или полевых транзисторах, с внешней или внутренней коррекцией. Макромодель описывает следующие эффекты: ♦ нелинейность входных ВАХ, входные токи смещения; ♦ дифференциальный и синфазный коэффициенты усиления; ♦ амплитудно- и фазочастотные характеристики; ♦ выходное сопротивление; ♦ ограничение скорости отклика; ♦ ограничение выходного напряжения и тока нагрузки; ♦ потребляемую мощность по постоянному току. В начале работы с операционными усилителями надо указать программе тип усилительных элементов во входном каскаде, выбрав ответ из следующего меню: 0) Bipolar, NPN input 1) Bipolar, PNP input 2) JFET, n-channel input 3) JFET, p-channel input
(example: uA741) (example: LM324) (example: LH032) (example: LF355)
Затем надо выбрать тип коррекции: внутренняя (internally) или внешняя (externally), из следующего меню: 0) Internally compensated (example: uA741) 1) Externally compensated (example: uA748) После этого начинается работа по идентификации параметров. Программа идентифицирует следующие внутренние параметры макромодели (см. работу [1], п. 5.4): VC - разность между положительным питающим напряжением и максимальным значением положительного выходного сигнала; VE - разность между отрицательным питающим напряжением и максимальным значением отрицательного выходного сигнала; BF - коэффициент передачи тока базы входного биполярного транзистора (если вход на биполярных транзисторах); BETA - крутизна входного полевого транзистора (если вход на полевых транзисторах; C2 - корректирующая емкость
4.6. Операционные усилители
145
CEE или CSS - емкость, регулирующая скорость отклика выходного напряжения; GA - коэффициент передачи между каскадами макромодели; GCM - коэффициент передачи синфазного сигнала; IEE или ISS- режимный ток (эмиттеров или стоков) входного каскада; REE или RSS- сопротивление источника режимного тока входного каскада; RC или RD - сопротивления нагрузки (коллектора или стока) транзисторов входного каскада; RE - сопротивления в эмиттерных цепях транзисторов входного каскада (если вход на биполярных транзисторах); IS - входной ток утечки (если вход на полевых транзисторах); RP - сопротивление, отражающее потребляемую мощность; C1 - емкость, описывающая второй полюс частотных характеристик; C2 - корректирующая емкость (если усилитель с внутренней коррекцией); RO1 - выходное сопротивление (см. работу [1], п. 5.4); RO2 - выходное сопротивление(см. работу [1], п. 5.4); GB - коэффициент передачи выходного каскада макромодели. Экран "Large Signal Swing" Максимальный выходной сигнал ВЕРХНИЙ СПИСОК Обозначен ие +Vpwr -Vpwr +Vout -Vout +SR -SR
Справочные данные Номинальное положительное питающее напряжение Номинальное отрицательное питающее напряжение Максимальный положительный выходной сигнал Максимальный отрицательный выходной сигнал Максимальная скорость положительного отклика, В/с Максимальная скорость отрицательного отклика, В/с
НИЖНИЙ СПИСОК Обозначен ие VC VE
Значение по умолчанию 2B 2B
146
4. Идентификация параметров моделей с помощью PARTS
Pd
Статическая потребляемая мощность при Uвх=0
На экране представлен график зависимости максимальной амплитуды выходного синусоидального сигнала, передаваемого без нелинейных искажений, от частоты. Эта характеристика определяется как ограничениями выходного напряжения, так и максимальными скоростями отклика. Задаваемые в качестве исходных данных напряжения питания (+Vpwr и Vpwr) - номинальные значения, используемые программой для расчета VC и VE - разностей между питающими напряжениями и предельными значениями выходного сигнала. В действительности, в дальнейшем к макромодели можно подключать любые напряжения питания. Но при изменении питающих напряжений будут меняться и предельные значения выходного сигнала. Заданные в этом экране характеристики усилителя служат для расчета величин VC и VE и используются в дальнейших экранах. Экран "Open Loop Gain" АЧХ коэффициента усиления ВЕРХНИЙ СПИСОК Обозначени е Cc Ib Av-dc f-0db CMRR
Справочны е данные Корректиру ющая емкость Входной ток смещения Коэффицие нт усиления Частота единичного усиления Коэффицие нт подавления синфазного сигнала
НИЖНИЙ СПИСОК Обозначение BF
Значение по умолчанию 75
C2
30 пФ
CEE
0 -6
GA
189⋅10
GCM
1.9⋅10
IEE
15⋅10
RC
5305
Тип транзистора биполярны й биполярны й биполярны й биполярны й
-9
биполярны й
-6
биполярны й биполярны й
4.6. Операционные усилители
147
RE
1832
REE
13⋅10
RP
18160
BETA C2 CSS GA GCM IS ISS RD RSS RP
.00158 10 пФ 0 -6 63⋅10 -9 6.3⋅10 -12 15⋅10 -6 5⋅10 15.9 40 18000
6
биполярны й биполярны й биполярны й полевой полевой полевой полевой полевой полевой полевой полевой полевой полевой
На экране график амплитудно-частотной характеристики коэффициента усиления усилителя без обратной связи. Коэффициент усиления на графике имеет размерность децибеллы. Рассчитываемые параметры макромодели относятся к ее входному и промежуточному каскаду и зависят от того, какие транзисторы - биполярные или полевые стоят на входе. Если величина корректирующей емкости Cc не известна из справочных данных, что характерно для усилителей с внутренней коррекцией, следует задавать ее в пределах 10 - 20 пФ. Для усилителя с внешней коррекцией надо задать одно из указываемых в справочнике значений корректирующей емкости. Причем надо следить, чтобы остальные вводимые данные соответствовали этой величине Cc. В этом случае надо понимать, что создаваемая макромодель будет адекватна, вообще говоря, только при этом заданном значении корректирующей емкости. Величину малосигнального коэффициента усиления Av-dc можно задавать как в децибеллах, добавляя к числу размерность db, так и в виде отношения выходного сигнала ко входному. Например, если отношение выходного сигнала ко входному парафазному сигналу равно 1000, то величину Av-dc можно указать как 1000, или как 60db. Частоту единичного усиления в данном случае следует определять, экстраполируя спад коэффициента усиления в области не очень высоких частот к точке, в которой он равен единице (0 децибелл). Дело в том, что график на данном экране учитывает только первый полюс частотной характеристики. Второй, высокочастотный полюс будет определен позднее, исходя из фазовой характеристики.
148
4. Идентификация параметров моделей с помощью PARTS
Коэффициент подавления синфазного сигнала CMRR задается для низких частот, поскольку в макромодели его частотная зависимостьне описывается. Экран "Open Loop Phase" ФЧХ коэффициента усиления ВЕРХНИЙ СПИСОК Обозначен ие Phi
Справочные данные Фазовый сдвиг на частоте единичного усиления
НИЖНИЙ СПИСОК Обозначен ие C1
Значение по умолчанию 2.9 пФ
На экране график фазочастотной характеристики коэффициента усиления усилителя без обратной связи. По заданной величине фазового сдвига Phi на частоте единичного усиления рассчитывается значение емкости C1, участвующей в формировании второго полюса частотной характеристики, определяющего фазовый сдвиг на высоких частотах. Если в справочных данных этой величины нет, но есть график фазочастотной характеристики, можно попытаться найти Phi экстраполяцией графика. Если и это невозможно, следует согласиться со значением C1, задаваемым по умолчанию - оно близко к тому, которое свойственно типичным операционным усилителям. Экран "Max. Output Swing" Выходное сопротивление ВЕРХНИЙ СПИСОК Обозначен ие Ro-dc Ro-ac Ios
Справочные данные Выходное сопротивление по постоянному току Выходное сопротивление по переменному току Предельное значение выходного тока короткого замыкания
НИЖНИЙ СПИСОК Обознач е-ние RO1
Значение по умолчанию 50
RO2
25
GB
424.4
4.6. Операционные усилители
149
В данном экране определяются параметры выходного каскада макромодели. График показывает зависимость максимального выходного напряжения от сопротивления нагрузки. Эта зависимость определяется выходным сопротивлением, которое равно сумме Ro-dc + Ro-ac. Под сопротивлением Ro-ac понимается сопротивление в области ограничения выходного тока. Нет никаких оснований по справочным данным различить Ro-dc и Ro-ac. Поэтому рекомендуется так разделить эти величины, чтобы Ro-dc равнялось примерно 2⋅Ro-ac. * * * На этом идентификация параметров макромодели заканчивается. Следует отметить, что ряд важных параметров операционного усилителя в процессе идентификации не используется и, следовательно, неизвестно, какими получатся значения этих параметров. Это относится к температурным, шумовым характеристикам и, прежде всего, ко входному сопротивлению. Входная емкость усилителя получается равной нулю, поскольку в модели транзистора емкости не указываются. Если надо выдержать в макромодели входной импеданс, можно определить его расчетом на PSpice, подобрать соответствующие параметры макромодели (прежде всего RE и емкости транзистора), а затем вернуться в PARTS и повторить идентификацию. Подробнее достоинства и недостатки данной модели а также основные соотношения ее параметров рассмотрены в работе [1], п. 5.4. 4.7. КОМПАРАТОРЫ НАПРЯЖЕНИЯ PARTS генерирует макромодель компараторов напряжения, рассмотренную в работе [1], п. 5.5. Результатом является файл, содержащий описание макромодели в виде подсхемы. Могут моделироваться компараторы напряжения со входным каскадом на n-p-n или p-n-p биполярных транзисторах. Выход макромодели открытый коллектор, к которому внешним образом надо подключать нагрузку. Макромодель описывает следующие эффекты: ♦ нелинейность входных ВАХ, входные токи смещения; ♦ коэффициент усиления; ♦ сопротивление нагрузки; ♦ время задержки, спада, фронта.
150
4. Идентификация параметров моделей с помощью PARTS
В начале работы с компаратором напряжения надо указать программе тип усилительных элементов во входном каскаде, выбрав ответ из следующего меню: 0) Bipolar, NPN input (example: LM319) 1) Bipolar, PNP input (example: LM339) В ответе на следующий запрос программы: 0) Output grounded to V-suply (example: LM339) 1) Output has separate ground (example: LM319) указывается, как включен оконечный каскад (вариант 0 - транзистор выходного каскада подключен к источнику отрицательного напряжения, вариант 1 -предусмотрен независимый вывод "земли" выходного каскада). После этого начинается работа по идентификации параметров. Программа идентифицирует следующие внутренние параметры макромодели (см. работу [1], п. 5.5): BF1 - коэффициент передачи тока транзисторов входного каскада; BF5 - коэффициент передачи тока выходного транзистора; RP - сопротивление, отражающее рассеиваемую мощность; VI - входное смещение; TR3 - время пролета носителей в инверсном включении транзистора Q3 (см. работу [1], п. 5.5); TF5 - время пролета носителей в выходном транзисторе; TR5 - время пролета носителей в инверсном включении выходного транзистора. Экран "Transfer Function" Передаточная характеристика ВЕРХНИЙ СПИСОК Обозначен ие +Vpwr -Vpwr
Справочные данные Номинальное положительное питающее напряжение Номинальное отрицательное питающее напряжение
НИЖНИЙ СПИСОК Обозначение BF1 BF5
Значение по умолчанию 2000 10350
4.7. Компараторы напряжения +Vicr -Vicr Ib Avd Rl Pd
Максимальное положительное синфазное напряжение Максимальное отрицательное синфазное напряжение Входной ток смещения Усиление по постоянному току Сопротивление нагрузки Статическая потребляемая мощность при Uвх=0
151
RP
50
V1
0
Приводится график передаточной характеристики - зависимость выходного напряжения от парафазного входного сигнала. В варианте макромодели с независимым выводом земли GND (см. работу [1], п. 5.5) выходное напряжение отсчитывается от потенциала этого вывода. В верхнем списке перечисляются электрические параметры, определяющие передаточную характеристику, а в нижнем - соответствующие параметры элементов макромодели. Задаваемые величины +Vpwr и -Vpwr представляют собой фактически максимальное и минимальное значения выходного напряжения. Действительные напряжения питания, подаваемые на макромодели в процессе ее использования могут, конечно, отличаться от заданных. При этом будет соответственно изменяться и размах выходного напряжения. Величина Ib определяет усиление входных транзисторов - параметр BF1. Коэффициент Avd определяет чувствительность компаратора, т.е. пороги срабатывания, отражаемые на передаточной характеристике. Величины Avd и Rl совместно определяют параметр BF5 - коэффициент передачи тока выходного транзистора макромодели. При этом под Rl понимается номинальная нагрузка, которая в процессе моделирования, конечно, может изменяться. Значение Pd совместно с заданными питающими напряжениями определяет величину сопротивления RP, описывающего потребляемую мощность. Задание отличных от умолчания величин +Vicr и -Vicr вообще никак не сказывается на параметрах макромодели. По-видимому, задание этих значений зарезервировано для каких-то будущих изменений макромодели. Если величина V1 оставляется равной нулю, то источники Vi1 и Vi2 (см. работу [1], п. 5.5) вообще не присутствуют в макромодели. Если же V1 задать, то источники Vi1 и Vi2 включаются в макромодель и их напряжения равны V1. На характеристиках макромодели это практически не сказывается, но дает возможность при моделировании изменять их значение и исследовать влияние асимметрии входного каскада.
152
4. Идентификация параметров моделей с помощью PARTS
Экран "Falling Delay" Задержка выключения ВЕРХНИЙ СПИСОК Обозначен ие Vst Vod td
Справочные данные Перепад входного напряжения Перевозбуждение входного напряжения Задержка выключения
НИЖНИЙ СПИСОК Обозначение TR3
Значение по умолчанию 594 нс
Приводится график зависимости задержки выключения от величины входного сигнала. Задержка измеряется по уровням 1÷0.9 выходного сигнала, т.е. до начала спада. По заданной величине задержки рассчитывается параметр TR3, определяющий время рассасывания носителей в базе внутреннего нагрузочного транзистора Q3 макромодели (см. работу [1], п. 5.5), которое и дает основной вклад в задержку выключения. Обычно в справочных данных дается полное время выключения. Но само время спада часто значительно меньше задержки и им можно пренебречь или вычесть его из времени выключения при задании td. Экран "Transition Time" Время переключения ВЕРХНИЙ СПИСОК Обознач е-ние Vst Vod ttr
Справочные данные Перепад входного наряжения Перевозбуждение входного напряжения Время переключения
НИЖНИЙ СПИСОК Обознач е-ние TF5
Значение по умолчанию 7 нс
Приводится график зависимости времени переключения по уровням 0.9÷ 0.1. Обычно эта величина составляет около 25% от полного времени переключения, которое дается в справочниках. По заданному времени переключения определяется параметр TF5 - время пролета носителей в базе выходного транзистора макромодели.
4.7. Компараторы напряжения
153
Экран "Rising Delay" Время включения ВЕРХНИЙ СПИСОК Обозначен ие Vst Vod td
Справочные данные Перепад входного напряжения Перевозбуждение входного напряжения Задержка включения
НИЖНИЙ СПИСОК Обозначение TR5
Значение по умолчанию 384 нс
Приводится график зависимости задержки включения от величины входного сигнала. Задержка измеряется по уровням 0÷0.1 выходного сигнала, т.е. до начала переключения. По заданной величине задержки рассчитывается параметр TR5, определяющий время рассасывания носителей в базе выходного транзистора. Обычно в справочных данных дается полное время включения. Но само время нарастания часто значительно меньше задержки и им можно пренебречь или вычесть его из времени включения при задании td.
3 Постпроцессор PROBE и редактор сигналов STMED
4.8. МОДЕЛЬ МАГНИТНОГО СЕРДЕЧНИКА Начиная с пятой версии в PARTS включена идентификация параметров магнитного сердечника. В отличие от идентификации других элементов, которая построена как работа с рядом последовательно предъявляемых экранов, в данном случае вся работа ведется с одним экраном, вид которого представлен на рис. 4.3.
Рис. 4.3. Идентификация параметров магнитного сердечника
На графике представлена гистерезисная кривая зависимости магнитной индукции B (в гауссах) от напряженности магнитного поля H (в эрстедах). Представлена также кривая начальной намагниченности, определяемая начальной магнитной проницаемостью (ее можно изменять в разделе меню Conditions). В нижнем списке приведены параметры модели: MS - намагниченность насыщения, в А/м; A - параметр формы безгистерезисной кривой намагниченности, в А/м; C - постоянная упругого смещения доменных границ; K - постоянная подвижности доменов.
5.1. Управляющяя оболочка Pspice
155
Изменение параметров модели вызывает перестройку кривых на графике. Можно также в разделе меню TRACE построить семейство гистерезисных кривых в зависимости от любого параметра модели. В отличие от всех других экранов PARTS, в данном экране идентифицируемые параметры меняются с изменением диапазона, охватываемого осью X (раздел меню X_axis). Дело в том, что гистерезисная кривая зависит от предистории, т.е. от напряженности воздействующих полей. При расчете параметров модели PARTS моделирует поля с напряженностью, соответствующей максимальной величине на оси X. Значит, изменение диапазона величин по оси X влечет за собой перерасчет параметров и соответствующее перестроение графика. При этом PARTS ориентируется именно на максимальную величину по оси X. Например, задание изменения переменной H -3÷+3 и 0÷+3 даст один и тот же результат. 5. О Б О Л О Ч К А P S P I C E ДЛЯ M C D O S. ГРАФИЧЕСКИЙ ВВОД СХЕМ С ПОМОЩЬЮ ВНЕШНИХ РЕДАКТОРОВ 5.1. УПРАВЛЯЮЩАЯ ОБОЛОЧКА PSPICE Управляющая оболочка призвана интегрировать отдельные программы пакета PSpice и облегчить работу с ними. Оболочка реализована двумя программами PS.EXE и PSHELL.EXE и вызывается командой PS [-M] [<имя файла>[.CIR]] Опция -M применяется для монохромных мониторов. Экран оболочки имеет вид, представленный на рис. 5.1. Описание всех разделов меню содержится в работе [2].
156
5. Оболочка PSpice для MS DOS. Графический ввод схем
Рис. 5.1. Экран управляющей оболочки
Основные операции, выполнение которых обеспечивает оболочка: ♦ редактирование входного файла .CIR тремя способами: встроенным текстовым редактором (раздел меню Files/Edit), внешним текстовым или графическим редактором (раздел Files/X - External Editor) или в режиме диалога (многие разделы меню, которые будут перечислены позднее); ♦ запуск на счет моделирующей программы (раздел меню Analysis/Run Pspice); ♦ просмотр выходного файла .OUT встроенным редактором (раздел меню Files/Browse Output) или внешним редактором (раздел Files/RExternal Browser); ♦ запуск постпроцессора PROBE (раздел PROBE/Run Probe), в том числе автоматический запуск PROBE после моделирования (эта опция задается командой PROBE/Auto-run); ♦ работа с редактором сигналов STMED (раздел STMED); ♦ пользование в любом режиме работы встроенным справочным руководством по PSpice (клавиша F3); ♦ пользование в любом режиме работы встроенным калькулятором (клавиша F5); ♦ использование контекстной помощи (клавиша F1). Рассмотрим подробнее некоторые из перечисленных операций. Загрузка входного файла .CIR производится или автоматически, если файл указан в командной строке при вызове оболочки, или в разделе меню Files/Current File. В последнем случае в ответ на запрос программы
5.1. Управляющяя оболочка Pspice
157
вводится имя файла, или нажимается клавиша F4 и производится выбор из предъявляемого списка доступных файлов .CIR (при выборе файлов в других разделах меню также можно пользоваться клавишей F4). Редактирование файла .CIR с помощью встроенного текстового редактора производится в разделе меню Files/Edit. При работе со встроенным редактором можно использовать обычные для всех редакторов операции, а также осуществлять поиск в тексте заданной подстроки (например, имени какого-то элемента или узла), нажимая клавиши Alt-S. Можно также работать с фрагментами текста - блоками, используя следующие клавиши: Alt-M - начало выделения блока (специальной команды конца выделения нет; снимается выделение нажатием Esc); Alt-C - копирование выделенного блока в буфер; Alt-X - вырезание выделенного блока в буфер; Alt-P - чтение из буфера. Таким образом, если требуется перенести фрагмент текста на другое место в файле, то сначала этот фрагмент выделяется: подводится курсор к одному концу фрагмента (началу или концу), нажимаются клавиши Alt-M и курсор подводится к другому концу фрагмента. При этом фрагмент выделяется засветкой. Затем нажимаются клавиши Alt-X, фрагмент исчезает из текста и перемещается в буфер. После этого курсор подводится к тому месту, перед которым должен быть вставлен фрагмент, и нажимаются клавиши Alt-P. Копирование фрагмента осушествляется таким же образом, но вместо клавиш Alt-X используются клавиши Alt-C. При этом фрагмент помещается в буфер, но остается и на прежнем месте в тексте файла. По окончании редактирования текста нажимается клавиша Esc. Все редактирование в действительности проводится не в самом файле .CIR, а в некотором временном файле. Поэтому при выходе из редактора программа задает вопрос: “Save changes (to temporary working file) or Discard (S/D)?”, т.е. надо ли спасать сделанные изменения. При ответе S изменения будут внесены в файл .CIR. При ответе D файл .CIR останется без изменений. После того, как задание отредактировано, его можно запускать на счет командой Analysis/Run Pspice. Полученный в результате выходной файл .OUT можно просматривать тем же встроенным текстовым редактором, задав команду Files/Browse Output. При этом не допускается редактирование (изменение) текста. Можно использовать команду поиска Alt-S и команду Alt-G - переход по заданному номеру строки. Выход из просмотра осуществляется клавишей Esc. Если при расчете обнаружены ошибки, их можно просмотреть не только непосредственно в файле .OUT. Команда Circuit/Errors или нажатие
158
5. Оболочка PSpice для MS DOS. Графический ввод схем
клавиши F6 выводит список обнаруженных в задании ошибок и замечаний транслятора. Рассмотренное выше редактирование текста файла с помощью встроенного редактора удобно для пользователей, достаточно хорошо знающих входной язык PSpice. В оболочке предусмотрен и другой вариант редактирования - режим диалога. Этот режим используется в большинстве разделов меню: в разделе Circuit с подразделами Devices (просмотр и редактирование параметров элементов), Models (просмотр и редактирование параметров моделей), Parameters (просмотр и редактирование глобальных параметров); в разделе Analysis с подразделами AC&Noise (ввод и редактирование операторов .AC и .NOISE), DC Sweep (ввод и редактирование оператора .DC), Transient (ввод и редактирование операторов .TRAN и .FOUR), Parametric (ввод и редактирование оператора .STEP), Spesify Temperature (ввод и редактирование оператора .TEMP), Monte Carlo (ввод и редактирование оператора .MC), Change Options (ввод и редактирование оператора .OPTIONS); в разделе Display/Print (ввод и редактирование оператора .PRINT); в разделе Probe с подразделами None/Some/All (ввод и редактирование оператора .Probe: None - исключение оператора .Probe из задания, Some - задание оператора .Probe со списком, All - задание оператора .Probe без списка), Format (задание двоичного или текстового формата файла .DAT, т.е. формирование опции CSDF в операторе .Probe).
5.2. Графический ввод схем в PSPICE внешними редакторами
159
Рассмотрим в качестве примера просмотр и редактирование параметров элементов в разделе меню Circuit/Devices. При входе в этот раздел на экране высвечивается список всех элементов схемы с указанием их моделей и индивидуальных параметров. При указании курсором на некоторый элемент высвечивается список значений его параметров. Выбрав тот или иной параметр, можно изменить его значение. Аналогичным образом в разделе Circuit/Models можно выбрать из списка нужную модель, посмотреть список значений ее параметров и, указав какой-то параметр, изменить его значение. Некоторые особенности выполнения других операторов диалогового редактирования приведены в работе [2]. Редактирование в диалоге предъявляет меньшие требования к знанию пользователем входного языка PSpice, но зато более трудоемко. В процессе редактирования в любой момент можно нажать клавишу F3 и посмотреть синтаксис того или иного оператора. К сожалению, подсказок по параметрам моделей не предусмотрено. Помимо перечисленных режимов редактирования можно редактировать (раздел Files/X - External Editor) и просматривать (раздел Files/R-External Browser) тексты с помощью внешних редакторов. В частности, имеет смысл подключить внешний многооконный редактор, который позволил бы одновременно смотреть выходной файл .OUT и редактировать текст входного файла .CIR. Однако значительно больший интерес может представлять подключение внешних графических редакторов, позволяющих смотреть и редактировать изображения принципиальных и логических схем. Поэтому способы подключения внешних редакторов будут изложены позднее, в п. 5.3 после рассмотрения способов графического ввода схем. Из дополнительных функций оболочки остановимся на работе со встроенным калькулятором. Калькулятор позволяет проводить несложные вычисления, которые могут понадобиться при задании параметров элементов и моделей или при обработке результатов расчета. Вызывается калькулятор клавишей F5. При этом открывается окно (см. рис. 5.1). В нижней части окна вводятся числа и символы операций и функций. Используются знаки операций “+”, “-”, “*”, “/” и символы функций: T - tan; C - cos; S - sin; X - exp; Q- ; P - число π; I - 1/x; L - ln; ! - смена знака числа; > - перевод из градусов в радианы; < - перевод из радиан в градусы . В верхней части окна калькулятора высвечиваются вводимые числа и результаты вычислений. Знаки операций применяются к двум последним числам в верхней части экрана. Поэтому сначала надо ввести два числа, над которыми выполняется операция, а затем - символ операции. Функции относятся к последнему числу в верхней части экрана. В примере,
160
5. Оболочка PSpice для MS DOS. Графический ввод схем
представленном на рис. 5.1 видны результаты вычислений exp(-5) и sin(π/4). Последовательность ввода данных для этих вычислений следующая: “5”, “-” или “!”, “X” для расчета exp(-5) и “P”, “4”, “/”, “S” для расчета sin(π/4). 5.2. ГРАФИЧЕСКИЙ ВВОД СХЕМ В PSPICE ВНЕШНИМИ РЕДАКТОРАМИ Графический ввод схем нередко облегчает работу с PSpice, так как позволяет легко найти на рисунке нужные элементы и цепи и упрощает анализ схемы, не говоря уже о возможностях документирования проекта. Однако в PSpice нет своих графических редакторов схем для работы в MS DOS. Впрочем, это не является большим недостатком, поскольку большинство редакторов других систем проектирования имеют конверторы изображений в текстовые файлы формата SPICE. В частности, можно пользоваться такими редакторами, как PCCAPS пакета P-CAD, DRAFT пакета OrCAD и другими. Можно также использовать конверторы из других программ моделирования. Например, программа MICRO-CAP имеет очень простой схемный графический редактор и имеется программа TOPSpice, конвертирующая изображение в формат PSpice. Далее достаточно в полученный файл внести любым текстовым редактором необходимые дополнения и можно рассчитывать схему на PSpice. Ниже рассмотрено использование для ввода схем в PSpice широко распространенных редакторов пакетов P-CAD и OrCAD. 5.2.1. Графический редактор PCCAPS пакета P-CAD Пакет P-CAD является одной из самых распространенных САПР для персональных компьютеров. Этот пакет позволяет подготавливать графическую информацию о схеме, проводить моделирование цифровых схем, проектировать печатные платы, готовить конструкторскую документацию. Пакет имеет выход на PSpice для моделирования аналоговых и аналого-цифровых схем. Применение в качестве схемного редактора программы PCCAPS, входящей в состав P-CAD, позволяет объединить PSpice с другими этапами проектирования, в частности с проектированием печатных плат. Подробное описание работы с PCCAPS будет дано во второй части учебнометодического комплекса, посвященной в основном пакету P-CAD. В работе [2] дается описание всех разделов меню PCCAPS. Ниже ограничимся только изложением основных операций, применяемых при подготовке
5.2. Графический ввод схем в PSPICE внешними редакторами
161
графического изображения принципиальной схемы для последующего моделирования ее на PSpice. Изложение ориентировано на версию PCCAPS 4.5. Вызов редактора PCCAPS производится командой PCCAPS [-R] [<имя файла>[<.SCH>]] Опция -R позволяет непосредственно войти в режим редактирования без предварительного останова в начальном меню, которое применяется для конфигурирования редактора. Поэтому практически всегда эту опцию имеет смысл указывать. Исключение составляют случаи, когда надо указать директорию, в которой лежат символы компонентов (файлы с расширением .SYM), или указать порт, к которому подключен манипулятор “мышь”. Экран в режиме редактирования изображения принципиальной схемы имеет вид, представленный на рис. 5.2. В правой части экрана в два столбца расположены разделы меню, а в середине левого столбца - разделы подменю (на рис. 5.2 это разделы, начиная с Line и кончая Text). Вторая снизу строка строка сообщений (на рис. 5.2 в ней написано “Select text location. (Attributes OK?)”). Нижняя строка экрана является строкой состояния, в которой можно устанавливать толщину и тип линий, размер надписей, ориентацию компонентов и т. п. Основную часть экрана занимает графическое окно, в котором и строится изображение схемы. В окне нанесена сетка, по узлам которой перемещается курсор.
162
5. Оболочка PSpice для MS DOS. Графический ввод схем
Рис. 5.2. Экран редактора PCCAPS
Управление курсором осуществляется клавишами со стрелками или манипулятором “мышь”. Выбор в меню осуществляется нажатием левой кнопки мыши или клавишей “Пробел”. Отказ от выполнения какой-нибудь команды осуществляется нажатием правой (иногда средней) кнопки мыши или клавишей Esc. Иногда надо, подведя курсор к требуемой точке изображения, переключиться в меню для выполнения какой-то команды, а затем вернуться к исходной точке. Это можно осуществить нажатием клавиши F10. Нажатие этой клавиши переводит курсор в область меню, а повторное нажатие F10 возвращает курсор в ту точку графического окна, в которой он был до этого. Аналогичное переключение из графического окна в строку состояния и обратно осуществляется клавишей F9.
Строка состояния
5.2. Графический ввод схем в PSPICE внешними редакторами
163
В строке состояния отражаются текущие значения различных опций, определяющих выполнение тех или иных команд. Содержание строки состояния меняется в зависимости от выполняемой команды. Рассмотрим основные опции строки состояния. Имя слоя, в котором будет размещен очередной элемент изображения отражается в левой части строки (на рис. 5.2 это слой ATTR). Различные элементы изображения размещаются в разных слоях, различающихся, в частности, цветом. При изображении принципиальных схем в большинстве случаев переключение нужных слоев происходит автоматически при выполнении соответствующей команды. Однако в некоторых случаях требуется разместить элемент изображения не в том слое, который предлагает программа. Тогда надо указать курсором на имя слоя в строке состояния и нажать левую кнопку мыши. При каждом нажатии переключается имя слоя, перебирая все из числа доступных наблюдению. Если нужный слой не появляется, надо выполнить команду VLYR, после чего будет предъявлен список слоев. В нем после имени слоя стоит цифра цвета и далее статус слоя: OFF - невидимый; ON - видимый, но недоступный редактированию; ABL - доступный редактированию. Указание курсором на статус переключает его. Перед началом работы с принципиальной схемой надо установить статусы слоев SDOT (изображение точек в местах соединения проводников) и ATTR (атрибуты, о смысле которых будет сказано позднее) в состояние ON или ABL. Полезно также изменить цвет слоя NETNAM (имена цепей), поскольку принятый по умолчанию синий плохо виден на большинстве мониторов. Для изменения цвета надо указать курсором на цифру цвета данного слоя и в открывшейся внизу экрана палитре выбрать цвет (для слоя NETNAM можно рекомендовать выбрать желтый). Шаг сетки, нанесенной в графическом окне, определяется двумя цифрами в строке состояния, разделенными двоеточием (10:10 - наиболее распространенные шаги на рис. 5.2). Указав на эти цифры курсором, можно задать их новые значения, введя два числа, разделенных пробелом. Шаги определяются в единицах измерения DBU, которые могут выражаться или в миллиметрах, или в дюймах. Соответственно одна единица равна 0,1 мм, или 0,01 дюйма. Выбор системы измерений: метрической или в дюймах, задается в разделе меню SCMD/UNIT. Можно работать в любой системе, но весь проект обязательно должен быть выдержан в одной системе измерений. Наличие изображения сетки задается цветом символа S, расположенного в строке состояния: зеленый цвет - сетка включена, красный - выключена. Переключение производится указанием курсора на этот символ и нажатием
164
5. Оболочка PSpice для MS DOS. Графический ввод схем
левой кнопки мыши. При построении изображения сетку всегда полезно иметь на экране. А на законченном изображении ее полезно выключить, чтобы она не затеняла рисунок. Шаг перемещения курсора определяется цветом символа G в строке состояния: зеленый - перемещение по узлам сетки, красный - по малым дискретам (при этом графическое окно обрамляется красной рамкой). Практически всегда надо использовать перемещения по узлам сетки, поскольку иначе могут возникнуть проблемы при подключении проводников к выводам элементов и иные неприятности. Перемещение по малым дискретам имеет смысл использовать только при нанесении некоторых элементов изображения, имеющих в основном декоративный характер. Координаты курсора высвечиваются справа в строке состояния (на рис. 5.2 это -440 и 480). Указав на эти цифры курсором можно задать требуемые координаты, после чего курсор переместится в указанную точку. Режим захвата вывода при проведении межсоединений определяется цветом символа L в строке состояния: красный - захват выключен (по умолчанию), зеленый - включен. При выключенном режиме захвата подключение проводника к выводу компонента происходит только, если точно указана точка вывода, а при включенном режиме захвата подключение произойдет, даже если указана точка, лежащая на некотором расстоянии от вывода. Это расстояние может задаваться клавиатурной командой /SGAT. Поворот символа или текста определяется в строке состояния символом F, расположенным в четырех различных положениях: . Одно из этих положений выделено цветом. Если указать курсором на эти символы F, то при нажатии левой кнопки мыши выделяться будет символ следующего положения, что будет означать соответствующее вращение элемента, который будет вводиться после этого. Зеркальное изображение вводимого элемента задается цветом символа M в строке состояния: красный цвет - нормальное изображение, зеленый зеркальное. Вид текста различных надписей, включая имена элементов, цепей и т.п., определяется несколькими опциями в строке состояния. Опция Size задает размер символов (на рис. 5.2 размер 25). Размер может задаваться в пределах от 2 до 5000, но обычно размер лежит в более узких пределах: от 10 до 35. Две опции задают выравнивание текста относительно точки привязки, указываемой курсором как точка размещения надписи. Первая из них определяет выравнивание по горизонтали и может принимать значения: L влево, C - по центру, R - вправо. Вторая определяет выравнивание по вертикали и принимает значения: B - низ, C - центр, T - верх. На рис. 5.2 задано выравнивание C и C.
5.2. Графический ввод схем в PSPICE внешними редакторами
165
Вид линий отображается в строке состояния следующими опциями. Толщина линий определяется опцией W и последующим числом от 0 до 250. Нормальная ширина тонкой линии соответствует W=0. При изображении на схеме жгутов проводов и в ряде других случаев может потребоваться проведение более толстых линий. Вид линий может быть следующий: Solid непрерывные (по умолчанию), Dotted - пунктирные, Dashed - штриховые. Углы, под которыми проводятся кусочно ломанные линии (проводники и другие) задается опцией, принимающей значения: ORTH - прямые, т.е. горизонтальные и вертикальные отрезки (по умолчанию), 45D - под углами, кратными 45°, ANDL - под любыми углами (т.е. по прямой, соединяющей две точки). Рассмотрим теперь основные этапы создания изображения принципиальной схемы. Прежде всего надо учесть, что в PCCAPS имеется два различных режима работы, устанавливаемые соответствующими командами меню: DETL - режим создания изображения схемы, SYMB режим создания символа библиотечного элемента. Поэтому для изображения схемы прежде всего надо перейти в режим DETL, если, конечно, программа уже не работает в этом режиме. Рисунок схемы состоит из символов компонентов и межсоединений. Рассмотрим сначала работу с компонентами. Ввод и перемещение компонентов Ввод компонентов осуществляется командой ENTER/COMP. При выполнении этой команды в строке сообщений появляется текст: Comp-file-name G/T scales (F1 for list) В ответ можно или ввести имя компонента, или нажать клавишу F1 и выбрать файл с символом компонента из списка, представленного на экране. Если имя компонента задается текстом, то одновременно можно задать масштаб его изображения по осям X и Y в процентах: <имя> [<масштаб по X>][<масштаб по Y>] Например, команда “NPN 200 200” даст удвоенный размер изображения n-p-n транзистора. Обычно в состав P-CAD входят следующие символы компонентов, предназначенные для связи с PSpice: RESV, RESH - вертикально и горизонтально расположенные резисторы;
166
5. Оболочка PSpice для MS DOS. Графический ввод схем
CAPV, CAPH
-
вертикально и горизонтально расположенные конденсаторы; IND, INDLN - линейные и нелинейные индуктивности; DIODE - диоды; NPN, PNP, NPNS, PNPS - n-p-n и p-n-p биполярные транзисторы и транзисторы с выводом подложки; NJFET, PJFET - n и p- канальные полевые транзисторы; NMOS, PMOS, NMOSB, PMOSB - n и p- канальные МДП-транзисторы и транзисторы с выводом подложки; VDC, VAC, VEXP, VPWL и др. -независимые источники напряжения с разными моделями; все они идентичны по смыслу и во всех случаях можно использовать какой-то один из этих символов, например, VDC; IDC, IAC, IEXP, IPWL и др. - независимые источники тока с разными моделями; все они идентичны по смыслу и во всех случаях можно использовать какой-то один из этих символов, например, IDC. После задания имени символа программа выдает запрос: Select loc to place comp. (Orientation OK?) В ответ на этот запрос следует указать курсором место расположения компонента. Предварительно можно изменить ориентацию компонента: повернуть его, задав соответствующую ориентацию символа F в строке состояния, или получить зеркальное изображение элемента, указав курсором на букву M в строке состояний. Угол поворота, кратный 45°, в этот момент можно также задать опцией A в строке состояния. После того, как элемент размещен, программа повторяет вопрос о месте размещения компонента и можно разместить тот же компонент в других местах схемы. Выход из команды ввода компонента осуществляется клавишей Esc, или правой кнопкой мыши, или выбором в меню новой команды. Можно рекомендовать не размещать сразу компоненты в требуемых местах схемы. Удобнее где-то на краю экрана расположить символы всех компонентов, которые потребуются для рисунка (см. рис. 5.2 в правой части графического окна), а затем брать командой копирования нужные элементы и размещать их на схеме. Такое, созданное самим пользователем, меню символов намного облегчает и ускоряет работу. Надо только иметь ввиду, что команды копирования, перемещения и вращения компонентов не позволяют получать зеркального изображения символа. Поэтому, если в схеме требуются, например, транзисторы в нормальном и зеркальном
5.2. Графический ввод схем в PSPICE внешними редакторами
167
изображении, следует в момент ввода соответствующего символа получить сразу и нормальное, и зеркальное изображения. Копирование символа компонента осуществляется командой COPY без указания какой-либо подкоманды. Просто, выбрав в меню команду COPY, следует указать курсором на соответствующий компонент, который надо копировать, и затем указать место, куда его надо скопировать. Перемещение компонента осуществляется командой MOVE тоже без подкоманды. Ее выполнение аналогично выполнению команды COPY. Вращение символа компонента осуществляется командой ROT также без подкоманды. После указания курсором на требуемый компонент каждое нажатие левой кнопки мыши поворачивает изображение на 90°. Завершение поворотов - клавиша Esc или правая кнопка мыши. Если команды MOVE и ROT относятся к компоненту, к которому подведены межсоединения, то надо учитывать, что эти межсоединения потянутся за перемещаемым компонентом, что может привести к путанице в изображении схемы. Если это надо исключить, то предварительно следует отсоединить проводники от выводов компонента, воспользовавшись командой ENTR/UCOM. Удаление компонента производится командой DEL без подкоманд. Если по ошибке удалился не тот компонент, который нужен, восстановить последнее удаление можно подкомандой UNDO той же команды DEL.
Имена компонентов Рассмотрим теперь операции, которые применяются для того, чтобы задать или изменить имя компонента. Вообще говоря, именовать компоненты не обязательно. Непоименованным компонентам программа сама присваивает имена вида: UC<трехзначный номер страницы><трехзначный номер элемента>. По умолчанию номер страницы 000 для одностраничных схем. При трансляции изображения в файл .CIR первый символ U заменяется символом типа компонента (R, Q, M и т.п.). Например, QC000005. Обычно это неудобно, так что можно рекомендовать всегда задавать имена всем компонентам схемы. Задание имени осуществляется командой NAME/COMP. При этом программа сначала дает указание “Select a component”, в ответ на которое надо указать конкретный компонент. Затем в ответ на запрос “Enter componetnt name:” надо задать имя компонента в нотации, принятой в PSpice. Затем программа высвечивает текст “Name=... Select location”, в котором
168
5. Оболочка PSpice для MS DOS. Графический ввод схем
указывается введенное имя и предлагается указать место его размещения. Если имя оказалось неправильным, то можно нажать Esc и прервать выполнение команды. Кроме того, перед указанием места размещения можно изменить размер шрифта (параметр SIZE в строке состояний) и выбрать центровку надписей по горизонтали и вертикали относительно той точки экрана, которая будет указана для размещения. Изменение имени, ошибочно присвоенного компоненту, можно произвести следующим образом. Выполняется команда NAME/COMP, но в ответ на вопрос об имени компонента нажимается клавиша Esc. Тем самым прежнее имя стирается. Затем повторно выполняется команда NAME/COMP, но при этом вводится новое имя. Перемещение по экрану неудачно расположенного имени компонента производится все той же командой NAME/COM. Если эта команда относится к уже поименованному компоненту, то после указания на этот компонент имя помещается в светящуюся рамочку, задается приведенный ранее вопрос о месте размещения и после указания курсором нового места имя будет помещено туда. Тем же самым путем можно изменить размер шрифта в имени компонента.
Атрибуты компонента Теперь остановимся на том, как задавать или изменять атрибуты компонента. Атрибутами задаются номинальные значения параметров, модели компонентов и другая информация, требуемая для PSpice. Общая форма задания атрибутов в P-CAD: <ключевое слово> = <значение атрибута> Значение атрибута может содержать любую текстовую и цифровую информацию. Обычно можно использовать только латинские буквы, но есть и русифицированные версии. Длина значения не должна превышать 39-ти символов. Если в значении атрибута встречаются пробелы, то весь текст заключается в круглые скобки. Если в значении атрибута перечислено несколько параметров, они разделяются запятыми. Атрибуты компонентов, требуемые для PSpice, определяются ключевыми словами SPP1, SPP2 и т.д. Смысл этих атрибутов следующий. При
5.2. Графический ввод схем в PSPICE внешними редакторами
169
трансляции изображения в PSpice оператор, описывающий компонент, будет иметь вид <имя компонента> <список узлов> <значение атрибута SPP1> <значение атрибута SPP2> ... Таким образом, в качестве атрибута SPP1 задается информация, которая должна быть расположена в операторе, описывающем компонент, после списка узлов. Если длина этой информации превышает допустимые для атрибута 39 символов, то информация может быть продолжена в атрибуте SPP2 и т.д. Например, для резистора, имеющего номинал 3 кОм, атрибут должен иметь вид SPP1=3к. Для транзистора, описываемого моделью QNPN атрибут имеет вид SPP1=QNPN. Для источника сигнала, имеющего параметры DC, AC и модель для расчета переходных процессов, атрибут может иметь вид SPP1=(DC 1V AC 1 PWL(0 0 1ns 3V)) В этом атрибуте его значение заключено в скобки, поскольку оно содержит пробелы. В большинство символов компонентов, используемых для PSpice, уже заложены атрибуты SPP1. Например, “VALUE” в символах резисторов и конденсаторов или “MODEL” в символах транзисторов и диодов. Их назначение - просто напомнить пользователю о том, что в качестве этих атрибутов должны быть указаны конкретные значения номиналов или конкретные модели. Чтобы эти атрибуты были видны на экране, слой ATTR должен быть в состоянии ON или ABL (по умолчанию его состояния OFF, для изменения состояния используется команда VLYR). Иногда для длинных атрибутов целесообразно использовать другой слой - ATTR 2. В него можно записать атрибуты, а затем перевести его в состояние OFF. Тогда нормально эти атрибуты не будут накладываться на изображение схемы и портить его. А если пользователю нужно их посмотреть или изменить, то он всегда может перевести слой ATTR 2 в состояние ON или ABL. Задание и изменение атрибутов осуществляется командой ATTR c тремя подкомандами: SCHG - изменение значения уже имеющегося атрибута, ACOM - ввод нового атрибута, DATR - уничтожение имеющегося атрибута. При выполнении подкоманды SCHG появляется запрос “Select one attribute”. После указания курсором изменяемого атрибута, он выделяется цветом вместе со своим ключевым словом и появляется предложение “Enter new value”. В ответ надо записать новое значение или исправить прежнее. Изменить при этом ключевое слово, местоположение атрибута или размер
170
5. Оболочка PSpice для MS DOS. Графический ввод схем
шрифта невозможно. Если в атрибуте нужны подобные изменения, то прежний атрибут надо уничтожить подкомандой DATR и ввести новый атрибут подкомандой ACOM. При выполнении команды ACOM программа сначала предлагает выбрать компонент: “Select a component”. После указания компонента возникает запрос “Select location (Text attributes OK?)”. В ответ следует указать курсором точку размещения атрибута. Предварительно можно изменить опции текста: размер символов, выравнивание по горизонтали и вертикали (лучше задать C и C), ориентацию текста (изменением положения символа F в строке состояния можно сделать текст горизонтальным или вертикальным). Затем в ответ на запрос “Type in attribute spec.” надо написать ключевое слово и текст атрибута. Перемещение атрибута по экрану, если его текст неудачно разместился, осуществляется командой MOVE/ATRB.
Ввод межсоединений Теперь остановимся на вводе соединений. Новые соединения в виде одиночных проводников вводятся одной из следующих эквивалентных друг другу команд: ENTR/WIRE или EDIT/WIRE. Команда EDIT в некотором отношении удобнее, поскольку в числе ее подкоманд есть ряд команд редактирования соединений. Проведение соединения начинается с указания его первой точки, затем программа просит указать следующую точку и т.д. Чтобы выйти из команды ввода межсоединения, надо нажать Esc. При проведении межсоединений можно менять угол, под которым проводится соединение, изменяя параметр в строке состояний: ORTH - проведение под прямыми углами; 45D проведение под углами, кратными 45°; ANDL - проведение по прямой, соединяющей точки. Для того, чтобы межсоединение было подключено к выводу элемента, одна из точек должна точно приходиться на крестик, обозначающий вывод. Впрочем, это справедливо, если отключен режим захвата L (см. описание строки состояния). При включенном режиме захвата подключение произойдет, если указана точка, лежащая на некотором расстоянии от вывода. Свидетельством того, что межсоединение подключилось к выводу, является исчезновение крестика на выводе.
5.2. Графический ввод схем в PSPICE внешними редакторами
171
Если при пересечении двух проводников они должны электрически соединяться друг с другом, то при проведении второго проводника одна из точек должна быть указана точно на месте пересечения. При этом цепь, к которой принадлежит пересекаемый проводник, выделится белым цветом и будет задан вопрос с предложенными ответами “Merge the nets ? YES NO”. В ответ надо указать YES, и тогда проводники окажутся электрически соединенными. В месте соединения через некоторое время (после выполнения следующей команды) появится точка, если слой SDOT находится в состоянии ON. Следует отметить, что не обязательно надо реально проводить все межсоединения. Соединить электрически цепи, расположенные в разных концах схемы, можно, если присвоить им одно имя. Этим часто удобно пользоваться, чтобы не запутывать рисунок принципиальной схемы проведением длинных межсоединений. В частности, это относится к цепи “земля”, которая обычно изображается отдельными проводниками в разных местах схемы. Редактирование формы межсоединения проводится с помощью подкоманд команды EDIT. Основные из них: MOVS - перемещение сегмента (сегментом называется отрезок соединения между точками излома), DELS удаление сегмента, MOVV - перемещение вершины (точки излома), DELV удаление вершины. Удалить цепь полностью можно командой DEL без подкоманды: просто при выполнении этой команды указать курсором на удаляемую цепь. При этом имеется большая разница в результатах действия команд DEL и EDIT/DELS. Первая из них удаляет всю разветвленную цепь, а вторая - только один сегмент одного межсоединения. С другой стороны цепь, ошибочно удаленную командой DEL, можно тут же восстановить командой DEL/UNDO, а сегмент, удаленный командой EDIT/DELS, можно восстановить, только проведя его заново. Если при выполнении команды EDIT/DELS цепь, которой присвоено имя, разрывается на две части, то задается вопрос с предложенными ответами “Rename Subnets? YES NO”. Если ответить NO, то обе половины цепи будут иметь прежнее имя, т.е. они останутся электрически соединенными, цепь в действительности не разорвется, хотя на изображении этого не будет видно. В этом может быть один из источников трудно обнаруживаемых ошибок. Если же на указанный выше вопрос ответить YES, то цепь разорвется, одна из ее частей будет иметь прежнее имя, а вторая получит новый порядковый номер. Программа сообщит об этом и о новом имени следующим замечанием “Split nets: Created net ...”. После проведения межсоединений цепям (цепь в P-CAD то же, что узел в PSpice) должны быть присвоены имена. Строго говоря, не обязательно
172
5. Оболочка PSpice для MS DOS. Графический ввод схем
присваивать имена всем цепям, поскольку PCCAPS сам дает имена типа UN<трехзначный номер страницы> <трехзначный порядковый номер>. Например, UN000045. Однако с подобными именами неудобно работать в PSpice, когда надо указывать, например, потенциалы узлов. Поэтому всем цепям, информацию о потенциалах которых предполагается получать в PSpice, имена должны быть присвоены. Присвоение имени осуществляется командой NAME/NET. В ответ на запрос программы пишется имя, присваиваемое цепи, и указывается место его размещения на схеме. Если размещать имя не требуется, то в ответ на соответствующий запрос надо нажать Esc. При этом цепь все равно получит присвоенное ей имя, хотя на изображении схемы этого не будет видно. Если при вводе имени какой-то цепи программа обнаружит, что таким именем уже названа другая цепь, то эта цепь выделится цветом и будет задан вопрос с рекомендуемыми ответами “ Net ... exists. Merge? YES NO”, т.е. “Цепь с именем ... уже существует. Соединить? Да Нет”. Если ответить YES, то цепи окажутся электрически соединены, хотя это не будет видно на рисунке. Это позволяет соединять друг с другом удаленные участки цепи, не проводя при этом длинных трасс, запутывающих изображение. Если же на указанный выше вопрос ответить NO, то будет предложено ввести новое имя. Изменение имени какой-либо цепи или отдельной подцепи (если цепь состоит из нескольких подцепей, связанных друг с другом только именами) производится командой NAME/SUBN. При этом в ответ на запрос “Enter new net name: <прежнее имя>“ можно ввести новое имя подцепи или цепи. Таким путем можно разорвать ошибочно связанные подцепи. Удаление имени, присвоенного цепи, невозможно. Команда DEL без подкоманды удаляет имя только с экрана, но в действительности цепь остается поименованной. Операции с фрагментами схем Остановимся теперь на нескольких командах, позволяющих оперировать с целыми фрагментами схемы. Это прежде всего команды COPY/WIN копирование окна, MOVE/WIN - перемещение окна, DEL/WIN - удаление окна, ROT/WIN - вращение окна. Команда COPY/WIN широко применяется при изображении многокаскадных или многоразрядных схем, состоящих из идентичных или почти идентичных фрагментов. В этих случаях достаточно изобразить фрагмент один раз, а затем скопировать его столько раз, сколько нужно. При выполнении указанных команд в ответ на запросы программы “corner 1” и “corner 2” курсором указываются углы прямоугольника, охватывающего
5.2. Графический ввод схем в PSPICE внешними редакторами
173
требуемый фрагмент. В результате выделяются цветом те компоненты, цепи, надписи и другие элементы изображения, которые программа считает относящимися к данному окну. Если границы окна пересекают какие-то цепи, то часть цепей, выходящих из границ окна, программа может отнести к выделенным, а часть - нет. Если выделение элементов изображения, отнесенных к данному фрагменту окажется неудачным, можно нажать Esc и попробовать указать границы фрагмента снова. После выделения фрагмента при выполнении команды COPY/WIN появится указание “Select reference point”, т.е. “Укажите точку привязки”. В ответ надо указать курсором некоторую точку фрагмента (обычно удобно указать точку какого-то вывода компонента или цепи, пересекающей границу фрагмента). К этой точке фрагмента окажется привязанным курсор при дальнейших перемещениях. Затем по запросам программы “Select new location” курсор вместе с рамкой, охватывающей фрагмент, перемещается в нужное место и нажимается левая кнопка мыши. Выход из команды - Esc или выбор новой команды. Примерно так же выполняется команда MOVE/WIN. При выполнении команды DEL/WIN задается вопрос с предложенными ответами “OK to delete? YES NO” и удаление происходит только при подтверждении YES. Восстановить ошибочно удаленный фрагмент командой UNDO невозможно. При выполнении команды ROT/WIN в ответ на запрос “Select center of rotation” следует указать центр вращения, после чего каждое нажатие левой кнопки мыши будет вращать фрагмент на 90°. Рассмотренные команды позволяют оперировать с фрагментом внутри данной схемы. Имеются также команды, позволяющие переносить фрагмент из одной схемы в другую. Это команда FILE/BKSV - спасение блока (фрагмента), и команда FILE/BKLD - чтение фрагмента. По первой из них фрагмент спасается в виде файла, а по второй изображение, хранящееся в этом файле, может быть загружено и включено в другую схему. Ввод операторов моделирования для PSpice В редакторе PCCAPS можно создать не только изображение принципиальной схемы, но и задать управляющие операторы PSpice, которые определяют виды и условия анализа, форму выдачи результатов расчета и т.п. Подобные операторы вводятся как атрибуты. Но поскольку эти атрибуты относятся не к отдельным компонентам, а к схеме в целом, то они должны вводиться не в режиме DETL, в котором создается изображение схемы, а в режиме SYMB.
174
5. Оболочка PSpice для MS DOS. Графический ввод схем
Вообще говоря, эти операторы не обязательно вводить в PCCAPS. Их можно добавлять в файл .CIR, сформированный на основе полученного изображения схемы, любым текстовым редактором. Если желательно ввести управляющие операторы PSpice в редакторе PCCAPS, то после перехода в режим SYMB они вводятся в любом месте экрана где-то в стороне от изображения (см. рис. 5.2, нижний левый угол графического окна). Операторы вводятся, изменяются, удаляются обычными командами работы с атрибутами ATTR/ACOM, ATTR/SCHG, ATTR/DATR как атрибуты с ключевыми именами от CARD1 до CARD99. Каждый атрибут соответствует одному оператору PSpice. Например, CARD1=.PROBE, CARD2=(.AC DEC 10 1K 100MEG). Если длина оператора превышает допустимые для атрибута 39 символов, то он разбивается на секции атрибута и номера секций отделяются от имени точкой. Например, CARD1.1=..., CARD1.2=... Атрибутом SPTI может быть задана первая информационная строка файла .CIR. Например, SPTI=AMPLIFIER. При отсутствии этого атрибута в первую строку файла будет занесено имя файла изображения схемы без расширения. В качестве атрибута с ключевым именем SPMI в режиме SYMB вводится также значение взаимной индуктивности. Например, атрибут SPMI=(K2 L1 L2 0.5) приведет к включению в файл .CIR оператора K2 L1 L2 0.5. Атрибутами INCL1 - INCL99 вида INCLn=<имя файла> можно включить в файл .CIR указанные в атрибуте файлы. Это похоже на оператор INCLUDE, но оператор включает файл только в листинг .OUT, а атрибут INCL включает файл непосредственно в файл .CIR. Некоторые вспомогательные команды Остановимся теперь на некоторых полезных вспомогательных командах. Команда REDR позволяет восстановить изображение, которое могло быть нарушено командами перемещения, удаления и др. Команда QRY позволяет получить информацию о компонентах и цепях. Она очень полезна при отладке схемы. Например, по команде QRY/NET можно указать интересующую цепь, и она выделится на рисунке белым цветом вместе со всеми своими подцепями. При этом легко проследить, правильно ли она идет. Одновременно в строке сообщений высвечивается число выводов, подключенных к этой цепи, что позволяет проверить, ко всем ли требуемым выводам осуществлено подключение. Команда QRY/COMP позволяет высветить всю информацию, относящуюся к указанному курсором компоненту: атрибуты, имя компонента и т.п. Таким путем можно, например,
5.2. Графический ввод схем в PSPICE внешними редакторами
175
найти такую частую ошибку, как наличие у компонента нескольких одинаковых атрибутов с разными значениями. Завершение работы с PCCAPS осуществляется командой SYS/QUIT. Предварительно надо спасти редактировавшийся файл командой FILE/SAVE. Если этого не сделать, то при выполнении команды SYS/QUIT будет задан вопрос с предложенными ответами “Workfile modified. Exit still? YES NO” (Файл был изменен. Действительно выходить? Да Нет). Если ответить YES, то все исправления, сделанные в файле, пропадут. Поэтому, если исправления действительно нужно сохранить, то на этот вопрос следует ответить NO, спасти файл и только после этого повторить команду SYS/QUIT. Описание подсхем и многостраничных схем Если схема описывается с использованием подсхем, то для модели подсхемы должен быть создан символ. Для этого подсхема изображается в отдельном файле обычным образом. Затем, перейдя в режим SYMB, на том же рисунке надо нарисовать символ подсхемы. Символ рисуется в слое GATE с помощью команд DRAW/LINE - линия, DRAW/RECT прямоугольник, DRAW/CIRC - окружность и других команд раздела DRAW (см. работу [2]). Предварительно надо актвизировать слой GATE, присвоив ему командой VLYR статус ABL A. После того, как контур символа нарисован, командой ENTR/PIN вводятся выводы (тип выводов безразличен) и их имена. Командой ENTR/ORG вводится точка привязки курсора. Обычно это - левый нижний вывод символа подсхемы. Имя подсхемы задается в том же режиме SYMB атрибутом SNAME. Например, SNAME=OPAMP. Файл подсхемы спасается как файл с расширением .SYM (при спасении из режима SYMB это расширение дается файлу по умолчанию). При изображении схемы, использующей данную подсхему, ее символ вызывается командой ENTR/COMP как символ любого компонента. И как обычно ему присваивается имя. Если требуется, чтобы в файл .CIR было внесено описание модели подсхемы, то введенному символу подсхемы присваивается атрибут PNAME: PNAME=<имя модели>. Если не присвоить этот атрибут, то описание модели подсхемы во входной файл не попадет. Это допустимо, если описание модели подсхемы внесено в библиотеку, которая подключена к данному заданию на расчет. Отметим, что в атрибуте PNAME имя не обязательно должно совпадать с именем модели, указанным в ее атрибуте SNAME. В этом случае в файл .CIR описание модели будет
176
5. Оболочка PSpice для MS DOS. Графический ввод схем
включено под именем, указанным в PNAME. Зачем это делается, будет ясно ниже при рассмотрении моделей с изменяемыми параметрами. При изображении модели подсхемы можно вводить значения параметров элементов атрибутами, численное значение которых будет индивидуальным для каждой подсхемы. В этом случае в изображение модели подсхемы вводятся в режиме SYMB атрибуты с произвольными ключевыми словами, определяющие идентификаторы используемых параметров. А в описании элементов подсхемы вместо численных значений используются эти идентификаторы. Например, пусть в модели подсхемы с именем MSC есть емкость С1, значение которой желательно менять извне при описании подсхем, использующих эту модель. Тогда в модель вводится атрибут, с ключевым словом, например, CNOM, определяющий параметр с именем C: CNOM=C. А емкости C1 присваивается атрибут SPP1=C. Пусть в схеме есть две подсхемы X1 и X2, использующие модель подсхемы MSC, причем в X1 надо иметь значение C=10 пФ, а в X2 C=15 пФ. Тогда для X1 вводится атрибут PNAME, например, такой: PNAME=MSC1, а для X2, например, PNAME=MSC2 (т.е. для X1 имя модели задается как MSC1, а для X2 как MSC2). Кроме того, для X1 задается атрибут CNOM=10pF, а для X2 - CNOM=15pF. В результате в файл .CIR будет включено два описания модели подсхемы: одно с именем MSC1, в котором емкость C1 будет равна 10 пФ, и другое с именем MSC2, в котором емкость C1 будет равна 15 пФ. Большие схемы могут быть не только иерархическими, использующими подсхемы, но и многостраничными, в которых изображение занимает несколько отдельных файлов. Тогда связь между этими файлами осуществляется по именам цепей: цепи на разных страницах, имеющие одинаковые имена, считаются электрически связанными друг с другом. В многостраничных схемах файлы должны иметь атрибут SHEET=<номер страницы>. Первый файл по умолчанию имеет нулевой номер страницы. Последовательность действий при изображении схемы В заключение укажем порядок действий, которого целесообразно придерживаться при изображении принципиальной схемы для последующего расчета ее с помощью PSpice: ♦ установить статус ON для слоев ATTR1 и SDOT; ♦ вызвать и расположить на краю экрана необходимые компоненты; ♦ командами COPY, MOVE, ROT разместить компоненты в нужных местах схемы; ♦ провести межсоединения;
5.2. Графический ввод схем в PSPICE внешними редакторами
177
♦ ввести имена компонентов; ♦ ввести атрибуты компонентов; ♦ ввести имена цепей; ♦ перейти в режим SYMB и в стороне от схемы ввести в качестве атрибутов CARD операторы задания на анализ схемы (если решено вводить их одновременно с изображением схемы); ♦ вернуться в режим DETL, спасти файл и выйти из программы. Трансляция изображения во входной файл PSpice После того, как рисунок принципиальной схемы подготовлен, осуществляется трансляция его в текстовый файл для PSpice. Для этого запускается программа PCNODES, которая создает файл с расширением .NLT, содержащий список цепей схемы. Команда запуска PCNODES имеет формат: PCNODES [<имя файла>[.SCH]][<имя файла>[.NLT]] Если имя выходного файла не задано, оно по умолчанию совпадает с именем исходного файла. Если при запуске программы не задано имя входного файла, то PCNODES переходит в режим диалога, в котором и задаются требуемые имена. Когда транслируется иерархическая или многостраничная схема, программу PCNODES надо поочередно запустить для всех файлов, содержащих изображения схемы и моделей подсхем. После образования файла (или файлов) .NLT запускается на счет транслятор NXSPICE, который и создает текстовый файл для PSpice. Команда запуска NXSPICE может иметь вид NXSPICE [<имя файла>[.NLT>]] [<имя выходного файла>] Если не задано имя выходного файла, то оно по умолчанию совпадает с именем файла .NLT. Расширение выходного файла по умолчанию .SPI. Это непривычно, поскольку для PSpice обычно используется расширение .CIR. Поэтому лучше указывать в команде запуска имя выходного файла и его расширение .CIR.
178
5. Оболочка PSpice для MS DOS. Графический ввод схем NX-SPICE Configuration Create Numeric Node Names ? : NO Report Non-numeric Node Names : NO Correct Invalid Component Names : NO Line Numbers : NO Update Configuration File
: YES
Press: [SPACE] for the next option; [RETURN] to accept Рис. 5.3.Экран конфигурирования NXSPICE
Если в команде запуска NXSPICE не указано имя входного файла, то программа открывает начальное меню, из которого можно запустить трансляцию, или указать имя управляющего файла (об этом будет сказано позднее), или войти в раздел конфигурирования. На рис. 5.3 приведен вид экрана в режиме конфигурирования, опции, задаваемые в этом режиме, и их рекомендуемые значения. Первая и вторая опции связаны с тем, что в старых версиях PSpice не разрешались символьные имена узлов. Поэтому NXSPICE преобразовывал их в цифровые (первая опция) и отмечал их как ошибочные (вторая опция). Третья опция предлагает усекать слишком длинные имена компонентов. А четвертая опция в случае, если дать ей статус YES, введет в файл .CIR номера строк. Иногда это может помочь при отладке и поиске ошибок, но такой файл нельзя задавать как входной для PSpice, поскольку номера строк будут восприняты как ошибки. Несколько иначе, чем описано выше, организуется трансляция для многостраничных схем. В этом случае сначала в любом текстовом редакторе должен быть создан управляющий файл с расширением .BCF, содержащий списки подключаемых в процессе трансляции файлов. Тогда запуск NXSPICE осуществляется командой: NXSPICE [@ <имя управляющего файла>] Если имя управляющего файла не указывается, то при запуске NXSPICE открывается начальное меню, из которого можно подключить управляющий файл, обратившись к разделу Bath Processing. Синтаксис управляющего файла следующий: CIRCUIT [<имя выходного файла>] <список имен файлов страниц основной схемы>
5.2. Графический ввод схем в PSPICE внешними редакторами
179
<список имен файлов всех подсхем> Если имя выходного файла не указано, то в качестве имени будет взято имя первого файла в списке файлов страниц. Список файлов страниц должен содержать сначала имя файла первой страницы, а затем имена файлов других страниц и имена иерархических файлов, в которых есть обращение к подсхемам. Списки имен файлов страниц и подсхем начинаются каждый с новой строки. Если список не умещается в одной строке, он может быть продолжен на следующих. Строки продолжения должны содержать символ “+” в первой позиции. В файл могут быть включены комментарии, начало которых отмечается символом “%”. После этого символа и до конца строки текст воспринимается как комментарий. Рассмотренный путь трансляции изображения схемы во входной файл PSpice применяется при раздельной работе с P-CAD и PSpice. Кроме того, имеется возможность подключения программ пакета P-CAD в качестве внешнего графического редактора к управляющей оболочке PSpice. Этот путь будет рассмотрен в п. 5.3. 5.2.2. Графический редактор DRAFT пакета OrCAD Графический редактор DRAFT пакета OrCAD - системы проектирования, во многом схожей и конкурирующей с P-CAD, проще в применении, чем PCCAPS, хотя и несколько слабее. Простота применения стала причиной популярности этого редактора. Для связи DRAFT с PSpice имеется три возможности: ♦ раздел меню Quit Pspice в версии 3 или Run User Commands в версии 4 позволяет оттранслировать изображение в формат входного файла PSpice, провести моделирование и просмотреть результаты в постпроцессоре PROBE, не выходя из редактора; ♦ трансляция изображения в формат входного файла PSpice с помощью программы NETLIST, входящей в состав пакета OrCAD; ♦ включение DRAFT в качестве внешнего редактора в оболочку PSpice (этот путь будет рассмотрен в п. 5.3). Первый и последний из указанных путей удобны тем, что вся работа проводится в рамках одной оболочки. К недостаткам первого пути относятся большие требования к памяти компьютера, поскольку надо одновременно загружать в нее и DRAFT, и PSpice. Возникают также сложности, если необходимо проводить многократные расчеты схемы с изменением управляющих операторов PSpice.
180
5. Оболочка PSpice для MS DOS. Графический ввод схем
Раздел меню Quit Pspice обеспечивает автоматическую трансляцию изображения схемы в текстовый файл описания схемы для PSpice (расширение этого файла .NET) и запуск файла PSpice.BAT. В этот файл можно включить команды запуска моделирующей программы PSpice и последующего запуска графического постпроцессора PROBE. Возможные тексты подобных файлов приведены в работе [1], п. 1.3. Файл .NET, содержащий описание схемы, не включает в себя операторы моделирования и описания источников сигналов. Поэтому надо заранее подготовить в любом текстовом редакторе файл .CIR, содержащий эти операторы и оператор .INCLUDE, подключающий файл .NET. Пусть, например, схема, с которой идет работа, имеет имя CIRC1 и то же имя CIRC1.SCH имеет файл изображения схемы. Тогда надо подготовить файл CIRC1.CIR, включающий операторы описания источников сигналов, задания видов анализа, выдачи результатов расчета, а также оператор .INCLUDE CIRC1.NET. Именно этот файл и должен запускаться на счет в пакетном файле PSpice.BAT. А файл CIRC1.NET, содержащий описание схемы, будет формироваться автоматически при обращении в раздел меню Quit Pspice редактора DRAFT. Чтобы избежать чрезмерных затрат памяти на одновременную загрузку моделирующей программы PSpice и редактора DRAFT, можно организовать взаимодействие программ несколько иначе. Файл PSpice.BAT, запускаемый в разделе Quit Pspice, можно сделать фактически пустым. Тогда обращение к разделу Quit Pspice приведет только к формирования файла .NET. А запуск PSpice на счет можно осуществлять автономно, завершая работу с DRAFT. Правда, этот путь менее удобен, чем предыдущий, но он приводит к экономии памяти и за счет этого допускает моделирование схем большей сложности. Если желательно вводить редактором DRAFT вводить и редактировать не только изображение схемы, но и управляющие операторы PSpice, то можно воспользоваться разделом меню PlaceText. В этом разделе операторы PSpice вводятся на поле чертежа где-то в стороне от основного изображения в виде отдельный строк, начинающихся с символа “|”. Первая строка должна иметь вид |SPICE. Трансляция изображения вместе с этими операторами проводится отдельной программой NETLICT, входящей в состав OrCAD. Вызов этой программы может иметь вид NETLIST <имя файла .SCH> <имя файла .CIR> SPICE /S [/O] [/N] В этой команде указываются имена файла с изображением схемы .SCH и текстового файла .CIR, являющегося входным для PSpice. Опция /S дает указание программе создать файл в указанном в команде формате SPICE.
5.3. Включение внешних графических редакторов в оболочку PSPICE
181
Опция /O указывает, что схема расположена на одном листе. Опция /N указывает на использование имен узлов, введенных в режиме Place Text. Возможен и еще один путь вставки операторов PSpice в формируемый текст: вместо ввода их в разделе PlaceText можно воспользоваться разделом вставки текстового файла Block ASCII Import. 5.3. ВКЛЮЧЕНИЕ ВНЕШНИХ ГРАФИЧЕСКИХ РЕДАКТОРОВ В ОБОЛОЧКУ PSPICE Управляющая оболочка PSpice позволяет подключать внешние текстовые или графические редакторы для просмотра и редактирования заданий на расчет схем. Использование внешнего редактора для редактирования задания осуществляется в разделе меню оболочки Files/X-External Editor. Подключаемый редактор должен быть описан переменной среды DOS, значение которой задается командой следующего вида SET PSEDIT=<файл загрузки редактора> [<опции>] Опции этой команды задают форму, в которой передается имя редактируемого файла в редактор. Они могут быть следующими: %c - только текущая директория; %p - только путь к файлу; %e - имя файла с путем, но без расширения; %f - имя файла с путем и расширением; %n - имя файла без пути и расширения. Аналогичная команда для подключения внешнего редактора в раздел меню оболочки Files/R-External Browser для просмотра файла имеет вид: SET PSBROWSE=<файл загрузки редактора> [<опции>] где опции те же, что приводились выше. Команды SET PSEDIT и SET PSBROWSE должны быть выполнены до вызова управляющей оболочки. Они могут быть выполнены с клавиатуры, или включены в файл AUTOEXEC.BAT, или составить отдельный пакетный файл. Надо иметь в виду, что команды должны выполняться не в NORTON COMMANDER. Кроме того, при включении в .BAT файл этих команд символ “%” в опциях должен удваиваться. Например, пакетный файл, подключающий для редактирования файл edit.bat, а для просмотра файл browse.bat, может иметь вид
182
5. Оболочка PSpice для MS DOS. Графический ввод схем
@echo off set psedit=edit.bat %%e set psbrowse=browse.bat %%e В качестве внешних редакторов могут подключаться какие-то текстовые редакторы, более мощные, чем редактор, встроенный в оболочку. Например, удобно подключить многооконный редактор, позволяющий одновременно смотреть и анализировать выходной файл .OUT, и тут же в другом окне редактировать входной файл .CIR. Однако более интересный вариант подключение внешних графических редакторов схем, например, тех, которые описаны в п. 5.2. Для редактирования изображения схемы из оболочки PSpice с помощью графического редактора PCCAPS системы P-CAD можно создать файл, имеющий, например, имя edit.bat, подключаемый приведенной выше командой set psedit и содержащий последовательные обращения к программам PCCAPS, PCNODES и NXSPICE: @echo off pccaps.exe -r %1.sch pcnodes.exe %1.sch nxspice.exe %1.nlt %1.cir В этом случае предполагается, что все необходимые управляющие операторы PSpice внесены в графический файл .SCH в качестве атрибутов CARDn (см. п. 5.2.1). Это, усложняет возможности диалогового изменения этих операторов, предоставляемые такими разделами меню оболочки, как Analysis и PROBE. Точнее, этими разделами можно пользоваться, но при любых изменениях в изображении схемы все установки, заданные в этих разделах меню, будут стерты из файла .CIR и заменены операторами, записанными в файле изображения .SCH. А изменять каждый раз в процессе работы со схемой эти операторы в файле .SCH неудобно. Выходом из положения является создание файла .CIR, содержащего все необходимые операторы моделирования и оператор .INCLUDE, подключающий файл описания схемы. Этот файл, в который будет транслироваться изображение, может иметь то же имя, что и файл .CIR, но другое расширение, например, .SPI, принятое по умолчанию в трансляторе NXSPICE. На изображение схемы в этом случае не надо наносить атрибуты с управляющими операторами PSpice, кроме одного: “SPTI=*”. Этот атрибут обеспечит превращение первой информационной строки файла .SPI в строку
5.3. Включение внешних графических редакторов в оболочку PSPICE
183
комментария и включение файла .SPI в файл .CIR оператором .INCLUDE не вызовет синтаксических ошибок. В рассмотренном варианте подключения PCCAPS к оболочке с управляющими операторами в файле .CIR можно работать, пользуясь всеми возможностями диалога, предоставляемыми управляющей оболочкой PSpice. А изображение схемы транслировать в файл .SPI. Для этого достаточно в приведенном выше примере файла edit.bat заменить последний оператор на команду: nxspice.exe %1.nlt %1.spi или эквивалентную ей команду nxspice.exe %1.nlt Подключение PCCAPS только для просмотра схемы в разделе Files/RExternal Browser происходит проще. В приведенных выше примерах файл browse.bat, указываемый в команде set psbrowse, может иметь вид @echo off pccaps.exe -r %1.sch Можно обойтись вообще без файла browse.bat, указав имя редактор PCCAPS непосредственно в команде set psbrowse. Но в этом случае нельзя использовать опцию -R и пользователю каждый раз будет предъявляться ненужное ему начальное меню PCCAPS. Подключение к оболочке PSpice графического редактора DRAFT пакета OrCAD (см. п. 5.2.2) производится примерно теми же путями, которые были рассмотрены для редактора PCCAPS. Если управляющие операторы PSpice не вносятся в файл изображения схемы в режиме Place Text редактора DRAFT, то в файл .CIR, содержащий операторы моделирования и описания источников сигналов, надо ввести оператор .INCLUDE, подключающий файл .NET, в котором содержится оттранслированное описание схемы, а пакетный файл edit.bat может иметь вид @echo off draft.exe %1.sch netlist.exe %1.sch %1.net spice /S /O /N Это обеспечит возможность диалогового изменения операторов моделирования с помощью оболочки PSpice. Если же операторы моделирования внесены в изображение схемы, то в последней строке этого файла надо изменить расширение выходного файла: netlist.exe %1.sch %1.cir spice /S /O /N В этом случае подразумевается, что операторы моделирования изменяются не оболочкой, а графическим редактором. Включение DRAFT в качестве внешнего редактора в раздел Files/RExternal Browser, предусматривающий только просмотр схемы,
184
5. Оболочка PSpice для MS DOS. Графический ввод схем
осуществляется просто указанием имени файла редактора в команде set psbrowse: set psbrowse=draft.exe %e Рассмотренные способы подключения к оболочке PSpice внешних графических редакторов облегчают работу со схемами. Использование их в разделе Files/R-External Browser позволяет в любой момент посмотреть изображение схемы, найти нужный компонент или узел и т.д. Кроме того, графический редактор предоставляет возможность документирования разработки изображением исследованной схемы. Включение редактора в раздел Files/X-External Editor позволяет изменять параметры схемы или ее структуру (добавлять или убирать какие-то каскады и элементы) непосредственно на ее изображении. Однако при этом теряют смысл разделы меню оболочки, предусматривающие диалоговое изменение параметров. Изменения параметров непосредственно во входном файле с помощью раздела меню Files/Edit также нежелательно, так как это вызовет расхождение между рисунком и действительно анализируемой схемой. Такие расхождения нередко трудно обнаружить и это способно существенно осложнить анализ схемы.
6. О Б О Л О Ч К А D E S I G N C E N T E R Д Л Я WI NDOWS 6.1. ОБЩЕЕ ОПИСАНИЕ В Design Center для Windows функции графического схемного редактора и оболочки объединены фактически в рамках одной программы - редактора SCHEMATICS. Он не только служит для графического ввода принципиальных и логических схем, для создания библиотечных символов элементов и устройств, но и служит оболочкой, объединяющей графический ввод, моделирующую программу и графический постпроцессор PROBE. Начиная с версии Design Center 6.2, создаваемые графические изображения могут передаваться в системы конструкторского и топологического проектирования печатных плат и аппаратуры: P-CAD, OrCAD и др. Прежде всего коротко рассмотрим настройку Design Center файлом MSIM.INI, расположенным в директории Windows. Строка LIBPATH=<имя директории библиотек> определяет директорию, библиотеки. Строка
из
которой
по
умолчанию
будут
браться
BACKUP=<директория> в секции [SCHEMATICS] определяет директорию, в которой хранятся файлы решаемых задач. Остальные строки этой секции задают значения по умолчанию параметров настройки. Например, строка LARGERESISTOR=<значение> определяет максимальное значение сопротивления, включаемое в некоторых случаях автоматически, чтобы избежать “плавающих” узлов. Строки секции [SCHEMATICS COLORS] определяют цвета изображений схемы. Секция [SCHEMATICS LIBS] определяет библиотеки, которые загружаются при вызове SCHEMATICS. Приведем примеры строк этой секции:
186
6. Оболочка DESIGN CENTER для WINDOWS
LIB1=analog [.slb] LIB2=eval [.slb,.plb] LIB3=marker [.slb] LIB4=port [.slb] LIB5=source [.slb] LIB6=special [.slb] При перечислении библиотек надо иметь в виду, что если библиотек очень много и они большие, то это замедляет вызов SCHEMATICS и ведет к дополнительным затратам памяти. Поэтому целесообразно перечислять только библиотеки, используемые в большинстве решаемых задач. А дополнительные библиотеки всегда можно подключить в процессе работы со SCHEMATICS. Секция [SCHEMATICS NETLIST] определяет строки, которые всегда должны включаться в файл описания схемы. Это, в частности, операторы .LIB, подключающие основные библиотеки. Приведем примеры строк этой секции: LINE1=.lib G:\WPSpice\WPSpice\LIB\eval.lib LINE2=.lib G:\WPSpice\WPSpice\LIB\7400.lib Остальные настройки в файле MSIM.INI приходится менять сравнительно редко и мы не будем их рассматривать. Головным модулем графического редактора является программа PSCHED.EXE. После запуска этой программы открывается экран графического редактора, имеющий вид, представленный на рис. 6.1. В верхней части экрана расположено главное меню, в нижней - строка состояния, а основное поле экрана занимает графическое окно. В строке состояния слева указаны координаты курсора (на рис. 6.1 это цифры 1.75 1.26), справа - выполняемая команда: “Cmd: ...” (на рис. 6.1 - Mark), в середине - указание по ее выполнению. В заголовке окна указано имя редактируемой схемы, номер страницы и имя последнего введенного символа: “Part: ...” (на рис. 6.1 - R). Редактор может работать в двух режимах: ♦ ввод и редактирование принципиальной или логической схемы; ♦ ввод и редактирование символа компонента. Состав меню (подробное описание его разделов см. в работе [2]) зависит от выбранного режима работы. При загрузке программы устанавливается режим редактирования схем, который и представлен на рис. 6.1. Выбор в меню проводится манипулятором “мышь” или клавишами: разделы главного меню
6.1. Общее описание
187
выбираются нажатием клавиши Alt и клавиши буквы, подчеркнутой в имени раздела (см. рис. 6.1), разделы в подменю могут быть выбраны просто нажатием клавиши с подчеркнутой буквой. Рассмотрим теперь некоторые приемы, используемые при работе с различными разделами меню. Выделение объектов для редактирования, с которыми будет работать очередная команда, может производиться несколькими способами. Выделение одного объекта осуществляется одиночным щелчком левой кнопки мыши. При этом объект выделяется цветом и последующая команда будет относиться именно к этому объекту. Выделение нескольких объектов может производиться также одиночными щелчками на них левой кнопки мыши, но при нажатой клавише Shift. Другой способ выделения фрагмента изображения - окаймление его прямоугольной рамкой. Для этого нажимается левая кнопка мыши в одном углу строящейся рамки, и далее, не отпуская кнопки, курсор транспортируется к другому углу рамки. При отпускании кнопки объекты, целиком попавшие в рамку, выделяются цветом. К ним могут быть добавлены другие объекты, если при нажатой клавише Shift щелкнуть на них левой кнопкой мыши. Снятие выделения осуществляется щелчком левой кнопки мыши где-то в стороне, не на объекте. Вызов команды редактирования некоторого объекта может осуществляться без обращения к меню двойным щелчком левой кнопки мыши на объекте. Двойной щелчок левой кнопкой не на объекте приводит к завершению команды, а одиночный щелчок правой кнопки - к ее прерыванию. Двойной щелчок правой кнопки или нажатие клавиши “Пробел” вызывают повторение предыдущей операции. Сдвиг выделенного объекта или группы объектов, выделенных рамкой, осуществляется транспортировкой курсора мыши: при нажатой левой кнопке курсор перемещается в нужную позицию и кнопка отпускается. Если группа объектов была выделена с использованием клавиши Shift, то и транспортировку надо производить не отпуская этой клавиши. Тот же результат можно получить, если сначала выполнить команду Edit/Cut (“горячие” клавиши Ctrl-X), которая вырезает выделенные компоненты и помещает их в буфер, а затем выполнить команду Edit/Paste (Ctrl-V), которая считывает информацию из буфера и помещает ее в место, указанное курсором. При этом одновременно можно размножить изображение, поскольку информацию из буфера можно извлечь несколько раз.
188
6. Оболочка DESIGN CENTER для WINDOWS
Рис. 6.1. Экран Design Center 6.0
Копирование выделенных объектов осуществляется аналогично. Сначала командой Edit/Copy (Ctrl-C) они копируются в буфер, а затем командой Edit/Paste (Ctrl-V) извлекаются из него. Вращение выделенных объектов осуществляется командой Edit/Rotate или “горячими” клавишами Ctrl-R. Зеркальное отражение объектов производится командой Edit/Flip или “горячими” клавишами Ctrl-F. Удаление выделенных объектов производится клавишей Delete. Изменение масштаба изображения производится так же, как в большинстве графических редакторов. В разделе View имеются команды In - увеличение размера изображения, Out - уменьшение и др. (см. работу [2]). 6.2. ВВОД ПРИНЦИПИАЛЬНЫХ И ЛОГИЧЕСКИХ СХЕМ И ИХ РАСЧЕТ Ввод изображения принципиальной или логической схемы сводится к вводу компонентов, вводу межсоединений, заданию их имен и параметров.
6.2. Ввод принципиальных и логических схем и их расчет
189
Ввод компонентов осуществляется в разделе меню Draw/Get New Part (“горячие” клавиши Ctrl-G). В начале выполнения этой команды возникает диалоговое окно, представленное на рис. 6.2. В нем можно написать имя символа вводимого компонента, если ранее символы брались из той же библиотеки, что и требуемый. После этого можно нажать OK. Если же требуется найти и выбрать в библиотеках нужный символ, следует нажать Browse. Рис. 6.2. Начало ввода компонента В этом случае открывается главное диалоговое окно, вид которого представлен на рис. 6.3. В этом окне два списка: Library - список библиотек символов (на рис. 6.3 в нем выбрана библиотека source.slb), и Part - список символов выбранной библиотеки. В верхнем окне Part Name появляется имя выбираемого символа, а в строке Description - его краткое описание. После того, как символ выбран, следует нажать OK. В стандартной поставке Design Center имеется множество библиотек символов. Библиотека SOURCE.SLB содержит источники сигналов разных видов и с разными моделями, смысл которых понятен из их имен. Если нужны источники напряжения и тока без моделей, содержащие только спецификации DC и AC, то можно выбрать символы VSRC и ISRC. Библиотека ANALOG.SLB содержит символы элементов R, C, L, E, G, F, H, T, взаимных индуктивностей. Множество символов полупроводниковых приборов и других элементов электронных схем содержится в библиотеке EVAL.SLB. В библиотеке PORT.SLB содержатся символы портов, в частности EGND - символ “земля”, GLOBAL - символ глобального узла и др. Надо отметить, что в Design Center нельзя просто нарисовать разорванную цепь и связать ее отдельные подцепи одинаковым именем. Но вот если к подцепям подключены порты EGND, GLOBAL и др., то подцепи объединяются в целостную цепь.
190
6. Оболочка DESIGN CENTER для WINDOWS
Рис. 6.3. Окно выбора компонента
Библиотека SPECIAL.SLB содержит специальные символы, соответствующие различным операторам PSpice, таким как .LIB, .PARAM, .INCLUDE, .PRINT, .PLOT и многим другим. Эти символы, конечно, не подключаются к цепям схемы, а размещаются на свободном месте. Введены они для того, чтобы их можно было легко редактировать и тем самым вводить в задание соответствующие операторы. После выбора символа вводимого компонента программа возвращается в графическое окно и появившееся изображение символа можно поместить в нужных местах схемы, нажимая левую кнопку мыши. Для выхода из этой команды надо нажать правую кнопку мыши или клавишу Esc. Последний введенный символ компонента запоминается программой и его имя высвечивается в верхней строке экрана: “Part:...” (см. рис. 6.1). Поэтому последующие размещения тех же символов на схеме можно выполнять, не обращаясь к разделу меню Draw/Get New Part. Если последней выполнявшейся командой была Get New Part (имя последней команды высвечивается в правой части строки состояния), то для повторения ввода достаточно нажать клавишу “Пробел” или сделать двойной щелчок правой кнопкой мыши. И то, и другое эквивалентно команде Draw/Repeat, т.е повторению последней команды. Если же последней была не команда Get New Part, то можно попробовать повторить ввод прежнего символа компонента командой Draw/Place Part (Ctrl-P).
6.2. Ввод принципиальных и логических схем и их расчет
191
В некоторых случаях при изображении линеек и матриц требуется регулярное размещение одинаковых компонентов - резисторов, диодов и т.п. Это удобнее всего делать, воспользовавшись командой Configure(Options)/Auto-Repeat, включив с ее помощью опцию Enable AutoRepeat и задав шаг сдвига по осям X и Y. Тогда каждое повторение команды Place Part вызовет автоматическое размещение компонента с заданным сдвигом. В этом случае последовательность действий может быть следующая. Включается опция Enable Auto-Repeat и однократно выполняется команда Get New Part или Place Part. Она завершается нажатием Esc или двойным щелчком. А затем многократно нажимается “Пробел” или делаются двойные щелчки правой кнопки мыши. Компоненты автоматически размещаются с заданным шагом. Этот прием удобен и при копировании целых фрагментов схемы, например при изображении многоразрядного устройства. В этом случае надо изобразить схему одного разряда и скопировать ее в буфер, выделив рамкой и выполнив команду Edit/Copy (Ctrl-C). А затем, включив опцию Enable AutoRepeat, можно однократно выполнить команду чтения из буфера Edit/Paste (Ctrl-V) и нажатиями клавиши “Пробел” или двойными щелчками правой кнопки мыши разместить с заданным шагом копируемые фрагменты. Присвоение имен компонентам может производиться автоматически или вручную. Если в разделе меню C0nfigure(Options)/Auto-Naming в диалоговом окне задана (отмечена крестиком) опция Enable Auto-Naming в разделе Reference Designators и установлен некоторый начальный номер (Starting Designatur No), то программа при вводе очередного символа присваивает ему имя, состоящее из символа типа компонента (R, C, Q и т.д.) и порядкового номера. Например, R1, R2, R3, ... . Если же в разделе меню C0nfigure(Options)/Auto-Naming опция Enable Auto-Naming не задана, то в процессе ввода компонентов имена им не присваиваются. Впрочем, и в этом случае для большинства компонентов высвечивается имя, состоящее из символа типа компонента и знака “?”. При этом тоже можно провести автоматическое присвоение имен компонентов. Для этого после изображения всей или части схемы следует выполнить команду Analyses/Annotate. При выполнении команды открывается диалоговое окно, представленное на рис. 6.4. В нижней левой части окна в разделе Set Values for можно выбрать одну из опций, определяющих, к каким компонентам будет применена автоматическое присвоение имен: All Except User-Assigned - ко всем, кроме тех, которым присвоил имена пользователь;
192
6. Оболочка DESIGN CENTER для WINDOWS
Only
Unassigned - только непоименованным (если были ранее автоматически поименованные компоненты, то прежние имена сохраняются); All - всем компонентам (ранее присвоенные имена стираются). Величина Starting Designator определяет, с какого номера начнется автоматическая генерация имен.
Рис. 6.4. Диалоговое окно автоматического присвоения имен
Если какие-то компоненты были поименованы вручную, а затем применяется автоматическое задание имен остальных компонентов, то надо иметь в виду, что возможно появление одинаковых имен у некоторых компонентов, так как при автоматическом именовании не проверяется, не встречалось ли присваиваемое имя раньше. Этого можно избежать, если задать величину Starting Designator большей, чем максимальный номер, присвоенный компонентам вручную. Автоматическое присвоение имен удобно, но нумерация компонентов в порядке их ввода может приводить к тому, что имена на схеме расположатся хаотически и схема станет неудобной для чтения. Например, в документации на схему или в ее описании будет дана ссылка на какой-нибудь транзистор Q7, но пользователю придется приложить много усилий, чтобы найти его на изображении большой и сложной схемы. Поэтому часто приходится отключать автоматическое присвоение имен или изменять имена, присвоенные автоматически. Присвоение имени выделенному компоненту, не имеющему его, или изменение имени можно осуществить командой Edit/Label (Ctrl-E).
6.2. Ввод принципиальных и логических схем и их расчет
193
Изменение имени можно сделать и проще: двойным щелчком левой клавиши мыши на изменяемом имени. Обычно компоненты характеризуются какими-то параметрами: номиналами сопротивлений, емкостей, индуктивностей, именами моделей и т.п. Эти параметры являются атрибутами компонента и их перечень задается при создании символа. Задание значений атрибутов выделенного компонента осуществляется командой Edit/Attribute, но к выполнению той же команды проще перейти, сделав двойной щелчок левой кнопкой мыши на символе компонента. В обоих случаях открывается диалоговое окно, пример которого приведен на рис. 6.5.
Рис. 6.5. Окно задания атрибутов
В заголовке окна высвечивается имя компонента и тип символа (на рис. 6.5 - VSRC). В верхнем окне - имя компонента (V2) и имя символа (VSRC). В следующей строке: Name - имя редактируемого в данный момент атрибута (AC), Value - значение атрибута, которое можно изменять или задавать. Ниже - список атрибутов, зависящий от типа символа. Атрибуты, отмеченные символом “*”, изменять нельзя. Если внизу экрана отключить (убрать крестик) опцию Include Non-changeable Attributes, то эти атрибуты вообще не будут высвечиваться в окне. Если отключить и опцию Include System-defined Attributes, то с экрана исчезнут и определяемые системой атрибуты (в данном примере SIMULATIONONLY и PKGREF). Тогда в списке останутся только атрибуты, представляющие собой параметры компонента. Нужный атрибут выбирается в списке и задается его значение. По окончании задания значений всех атрибутов нажимается OK. После выбора
194
6. Оболочка DESIGN CENTER для WINDOWS
атрибута можно установить опции, характеризующие форму его отображения на рисунке схемы. Для этого надо нажать Change Display и на экране появится окно, представленное на рис. 6.6. Опции Value и Name определяют, будут ли высвечиваться на изображении схемы тексты значения и имени атрибута. Остальные опции определяют слой (Layer), в котором высвечивается текст, его ориентацию (Orient), центровку по горизонтали (Hjust) и вертикали (Vjust), размер (Size) текста.
Рис. 6.6. Окно задания опций атрибутов
Повороты и сдвиги компонентов проводятся обычными способами, описанными в п. 6.1. Надо только иметь в виду, что если к выводам компонента подключены проводники, то при перемещении компонента они не тянутся за выводами, а остаются на месте. Поэтому при сдвигах компонентов приходится доводить оборвавшиеся соединения и удалять их ненужные сегменты. Перейдем теперь к методике проведения межсоединений. Ввод проводника осуществляется командой Draw/Wire (Ctrl-W). При выполнении этой команды курсор принимает форму карандаша. Нажатие левой кнопки мыши фиксирует точки начала, изломов и конца проводника. Если в разделе Configuration(Options)/Display Options включена опция Orthogonal, то проводники проводятся с изломами под прямыми углами. Если же включена опция Rubbenband, то они проводятся под любыми углами по прямым, соединяющим точки излома. При пересечении двух проводников
6.2. Ввод принципиальных и логических схем и их расчет
195
соединение их в точке пересечения будет только в том случае, если одна из точек второго проводника указывается в месте их пересечения. Завершается построение проводника двойным щелчком левой кнопки мыши, или одинарным щелчком правой кнопки, или клавишей Esc. Ввод шин или жгутов проводников осуществляется командой Draw/Bus (Ctrl-B). Шина изображается линией, более толстой, чем проводник. В любых местах к этой шине могут подходить и выходить из нее проводники. Имена проводников задаются той же командой Edit/Label (Ctrl-E), что и присвоение имени компоненту. Более простой способ - двойной щелчок левой кнопки мыши на изображении проводника. Имя шины задается так же. Это имя может задаваться любым, но удобно в этом имени перечислить через запятые имена проводников, входящих в шину. Возможно и полуавтоматическое присвоение имен. В этом случае в нижней части (Wire/Port Labels) диалогового окна команды Configuration(Options)/Auto-Naming задается опция Enable Auto-Increment и вводится некоторый шаблон (Label Template) - например, “M1” или “1”. Тогда при каждом выполнении команды Edit/Label (Ctrl-E) имя будет автоматически формироваться прибавлением к шаблону единицы: “M1”, “M2”, “M3” и т.д. при шаблоне “M1” и 1, 2, 3 и т.д. при шаблоне “1”. После того, как изображение схемы готово, его надо записать в файл (разделы меню File/Save или File/Save as). Далее можно проверить синтаксическую правильность схемы, обратившись к разделу Analysis/Electrical Rule Check, и создать файл описания схемы, обратившись к разделу Analysis/Create Netlist. Если ошибок нет или они не очень существенные, то создается текстовый файл описания схемы .NET. Его можно просмотреть командой Analysis/Examine Netlist. Если же обнаружены ошибки, то файл .NET не создается, появляется окно сообщения об ошибке с текстом: ERC:Netlist/ERC error - netlist not created, и затем появляется список ошибок с указанием, к каким компонентам или их выводам относится ошибка и с координатами ошибочных элементов. В дальнейшем этот список можно повторно вызвать командой File/Current Errors (F10). Впрочем, обращаться к разделам Analysis/Electrical Rule Check и Analysis/Create Netlist не обязательно. Обращение к ним все равно будет сделано автоматически при запуске моделирующей программы. Подготовка к моделированию сводится прежде всего к заданию требуемых видов анализа и к выбору параметров моделирования. Задание видов анализа осуществляется в разделе меню Analysis/Setup. При этом открывается диалоговое окно, представленное на рис. 6.7. В нем перечислены все доступные виды анализа. Те виды, которые требуются, надо отметить
196
6. Оболочка DESIGN CENTER для WINDOWS
крестиком и, нажав клавишу соответствующего вида анализа, задать в его диалоговом окне требуемые параметры. Необходимо также задать операторы выдачи результатов моделирования и другие вспомогательные операторы. Как уже говорилось, многие из них, в частности операторы .PRINT, .PARAM, .INCLUDE, .LIB, .IC, .NODESET и др., задаются как обычные компоненты из библиотеки SPECIAL.SLB.
Рис. 6.7. Установка видов анализа
Особняком стоит оператор .PROBE. Прежде всего надо отметить, что в Design Center имеется возможность организовать взаимодействия с постпроцессором PROBE при помощи специальных элементов - маркеров. Маркеры определяют переменные, графики которых требуется строить. Они могут проставляться как перед моделированием, так и после него в процессе просмотра графиков. Вводятся маркеры в разделе меню Markers и могут быть вида ♦ Mark Voltage/Level - маркер потенциала или цифрового сигнала; этот маркер подключается к узлу схемы; на рис. 6.1 можно видеть маркер, подключенный к узлу OUT; рисунок отражает момент ввода нового маркера; ♦ Mark Voltage Differential - маркер разности потенциалов; состоит из двух указателей, подобных предыдущему маркеру, но со значками “+” и “-”, которые подключаются к требуемым узлам; ♦ Mark Current into Pin - маркер тока, втекающего в вывод компонента; подключается к выводу компонента;
6.2. Ввод принципиальных и логических схем и их расчет
197
♦
Mark Advanced (только начиная с Design Center 6.0) - маркеры из специальной библиотеки MARKER.SLB, позволяющие задавать для токов и напряжений графики действительных и мнимых частей, фазы, групповой задержки, выражать результаты в децибеллах и т.п. Начиная с Design Center 6.0 можно в разделе меню Analysis/Probe Setup задавать опции, устанавливающие взаимодействие моделирующей
Рис. 6.8. Установка PROBE
программы с графическим постпроцессором PROBE. Открывающееся при этом диалоговое окно приведено на рис. 6.8. Первый набор переключателей Auto-run Option определяет условия запуска PROBE: Automatically Run Probe After Simulation - автоматический запуск PROBE после того, как отработает моделирующяя программа; Monitor Waveform (Auto-Update) - запуск PROBE одновременно с моделирующей программой;
198
6. Оболочка DESIGN CENTER для WINDOWS
Do Not Auto-Run Probe - режим автономного запуска PROBE c помощью команды Analysis/Run Probe. Чаще всего целесообразно выбирать первый вариант - автоматический запуск PROBE после моделирующей программы. Вариант параллельного запуска позволяет смотреть графики одновременно с работой моделирующей программы, но существенно затягивает процесс моделирования. Автономный запуск Probe c помощью команды Analysis/Run Probe не очень удобен. Вторая группа переключателей At Probe Startup задает условия работы PROBE в момент его запуска: Restore Last Probe Session - загрузка координатных сеток, использовав-шихся в предыдущем сеансе работы с PROBE; Show All Markers - автоматическое построение графиков всех маркеров; Show Selected Markers - автоматическое построение графиков выделенных маркеров; None - графики автоматически не строятся, для их построения используются обычные команды PROBE; Если на схеме указаны маркеры, то обычно целесообразно выбирать второй или третий вариант. Третья группа переключателей Data Collection определяет, какие переменные будут запоминаться в файле .DAT: At Markers Only - только переменные маркеров; All - все токи и напряжения; All Except Internal Subcircuit Data -все токи и напряжения, за исключением внутренних токов и напряжений подсхем. С точки зрения свободы в построении графиков при последующей работе с PROBE лучше, конечно, выбрать второй вариант. Однако при расчете сложных схем это может привести к слишком большому размеру файла .DAT, что вызовет проблемы с памятью. В этих случаях целесообразно выбирать третий или первый вариант. Если в опциях PROBE задана опция Show Selected Markers, то прежде чем запускать программу моделирования, следует выделить требуемые маркеры.
6.2. Ввод принципиальных и логических схем и их расчет
199
Рис. 6.9. Совместная работа Schematics и Probe
После того, как все предварительные процедуры проделаны, можно запускать моделирующую программу. Это делается функциональной клавишей F11, идентичной командам Analysis/Run Pspice в Design Center 5 и Analysis/Simulate в Design Center 6. Отличие команды Analysis/Simulate заключается в том, что в зависимости от конкретной схемы будет работать программа PSpice или PLOGIC. В процессе моделирования на экране высвечивается окно моделирующей программы. После завершения моделирования будет автоматически (если была установлена соответствующая опция) запущен PROBE. Дальнейшая работа может быть организована в многооконном режиме. Можно одновременно расположить на экране окна просмотра схемы и графиков (рис. 6.9) и, перемещая по схеме маркеры, тут же просматривать графики соответствующих переменных. Работа при этом предельно приближается к работе с макетом схемы, когда можно подключиться к любой точке схемы и просмотреть соответствующие сигналы.
200
6. Оболочка DESIGN CENTER для WINDOWS
Можно также просмотреть результаты расчета в выходном текстовом файле .OUT, выполнив команду Analysis/Examine Output. Если необходимо изменить какие-то параметры схемы, то после этого надо повторно запустить программу моделирования. Если перед этим шла работа с PROBE и файл .DAT не был закрыт, то на экране появится сообщение “Warning: The current data file will be unloaded from Probe”, предупреждающее, что файл .DAT будет выгружен из PROBE. С этим надо согласиться и расчет будет продолжен. Конечно, можно рассчитывать подготовленную в SCHEMATICS схему обычным образом, выйдя из оболочки и запуская программу PSpice. В ряде случаев такой автономный рассчет удобен, так как позволяет, например, объединить в одно задание расчет нескольких разных схем и затем в PROBE смотреть их графики, наложенные один на другой. При автономном запуске можно добавить в схему какие-то элементы, которые нежелательно указывать на рисунке, чтобы не загромождать его. Или наоборот, можно удалить из схемы какие-то каскады, не изменяя исходного рисунка. Для автономного расчета надо выплнить в SCHEMATICS команду Analysis/Create Netlist, создающую файл описания схемы с расширением .NET, файл псевдонимов с расширением .ALS и файл задания с расширением .CIR. Структура этих файлов следующая. В файле .CIR содержатся операторы задания на расчет, описания библиотек и ряд других, а также операторы .INC, включающие в задание файлы .NET и .ALS: .INC <имя файла>.NET .INC <имя файла>.ALS. Файл .NET содержит операторы описания элементов. А в файле .ALS записаны операторы .ALIASES и .ENDALIASES, между которыми включены операторы, устанавливающие соответствие тех имен, которые высвечиваются на изображении схемы, и тех, которые используются в описании схемы (в файле .NET). Эти имена по причинам, рассмотренным в п. 6.3, могут различаться. Например, обычно к именам транзисторов Q1, Q2 и т.п., обозначенным на схеме, добавляются символы Q_, т.е. истинные имена получаются такими: Q_Q1, Q_Q2 и т.д. Аналогичные добавления производятся и к другим именам. Таким образом для автономного расчета надо запустить PSpice, передав в программу имя файла .CIR. А при желании автономно изменить что-то в задании можно менять операторы файлов .CIR или .NET. 6.3. РАЗРАБОТКА СИМВОЛОВ БИБЛИОТЕЧНЫХ ЭЛЕМЕНТОВ
Рассмотрим методику создания и редактирования символов компонентов, которые включаются в библиотеки Design Center. Поскольку методика несколько различается в различных версиях программы, будем ориентироваться на конкретную версию - Design Center 5.3. Отличия в других версиях носят не принципиальный характер. Редактирование уже имеющегося в библиотеке символа наиболее легко осуществляется следующим образом. На редактируемой схеме выделяется компонент, использующий данный символ, и задается команда Edit/Symbol. После этого программа предлагает сохранить редактируемую схему, а затем переходит в режим редактирования. При этом можно изменить описание символа элемента (команда Part/Definition), в частности дать его на русском языке, и изменить любые атрибуты (команда Part/Attributs), например, задать новые значения по умолчанию или сделать изменяемыми те атрибуты, которые были заданы как неизменяемые. После проведения требуемых модификаций символа осуществляется возврат в режим редактирования схемы (команда File/Return to Schematic). При этом программа задает вопросы “Save changes to Part?” и “Save changes to Current library?” (“Спасти ли проведенные изменения во временную библиотеку элементов?” и “Спасти ли проведенные изменения в текущую библиотеку?”). При положительном ответе на оба вопроса измененный символ будет запомнен в библиотеке, а программа вернется в режим редактирования схемы. Введенные изменения появятся во всех местах схемы, где использован отредактированный символ. Создание нового символа элемента осуществляется переходом в режим редактирования символов командой File/Edit Library. После этого прежде всего желательно открыть командой File/Open библиотеку .SLB, в которую предполагается внести новый символ. Символ может создаваться целиком заново, а может базироваться на графике и атрибутах какого-то другого символа, имеющегося в той же библиотеке. В обоих случаях создание символа начинается командой Part/New. В открывающемся диалоговом окне (рис. 6.10) пишется описание элемента (Description), имя создаваемого символа (Part Name). Если символ создается на основе другого символа, то указывается имя прототипа (AKO Name), который должен лежать в той же библиотеке. Могут также указываться псевдонимы символа (Alias List). Они пишутся в соответствующем поле окна, заносятся в список командой Add и могут удаляться из него командой Delete. Если введены псевдонимы, то в дальнейшем можно будет вызывать символ под любым из указанных имен.
202
6. Оболочка DESIGN CENTER для WINDOWS
Рис. 6.10. Начало создания нового символа
Следует также задать тип компонента, например: component - стандартные компоненты типа R, C, D, Q, ..., X, annotation - текст, global port - глобальные узлы, соединяющиеся друг с другом на всех страницах схемы (например, "земля"), offpage - соединитель цепей на одной или разных страницах, titleblock - угловой штамп чертежа, border - рамка чертежа, marker - маркер. Если используется прототип, то в прямоугольнике, ограничивающем изображение символа появляется его рисунок, который можно редактировать, пользуясь графическими командами раздела Graphics. Если прототип не используется, то рисунок символа создается теми же командами. Предварительно удобно увеличить размер рамки командой Graphics/Bbox. Выводы компонента вводятся командой Graphics/Pin, а редактируются командой Edit/Pin Type. Если выделить какой-то вывод и произвести одиночный щелчок в разделе меню Edit/Pin Type, то просто изменится тип вывода. Если же произвести двойной щелчок на изображении вывода, которое надо редактировать, или в разделе меню Edit/Pin Type, то откроется диалоговое окно (рис. 6.11), в котором можно изменять все признаки вывода. Имя вывода (Pin Name) задается в поле в левом верхнем углу окна. Наличие или отсутствие крестика около надписи Display Name определит, будет или нет высвечиваться это имя на изображении символа. Вывод можно сделать невидимым (Hidden). Это используется в цифровых схемах для выводов питания и “земли”, которые обычно на схеме не отображаются. Для невидимого символа надо задать имя цепи (Net), подключаемой к нему.
Рис. 6.11. Редактирование типа вывода
Поле Type определяет тип вывода. Для электрических выводов аналоговых элементов применяется тип Normal. Остальные типы применяются для выводов цифровых элементов: Bubble - сигнал с инверсией, Clock - вход тактовых импульсов, Inv Clock - инверсный вход тактовых импульсов, ANSI In - вход в текстовом виде, ANSI Out - выход в текстовом виде, ANSI Invert Clock - инверсный вход тактовых импульсов в текстовом виде. Поля Size, Orient, Hjust, Vjust определяют размер, ориентацию и привязку текстов имен выводов на изображении символа. Поле Pin задает порядковый номер вывода. Раздел ERC определяет проверки, которые осуществляет программа поиска ошибок схемы, запускаемая в разделе меню Analysis/Electrical Rule Check: don't care - непроверяемый вывод, input - вход, output - выход, bidir - двунаправленный вывод, highZ - вывод высокого импеданса, open collec - выход с открытым коллектором, power - вывод подключения источника питания.
204
6. Оболочка DESIGN CENTER для WINDOWS
Признак Modeled Pin определяет, моделируется ли данный вывод. Если не моделируется и оставлен “плавающим”, то этот вывод вообще не появляется в файле .NET. Если же к этому узлу подключена цепь, то вывод фигурирует в файле .NET и между ним и землей подключается большой резистор вида R__UC<номер> <узел> 0 <величина>, где <величина> равна 1/GMIN. Эта величина может быть изменена значением LARGERESISTOR в секции [SCHEMATICS] файла MSIM.INI. Кроме того, величина GMIN может быть изменена в разделе меню Analysis/Setup/Options. Раздел Float определяет реакцию на то, что данный вывод в схеме оказывается плавающим: Error - сообщение об ошибке, RtoGND - заземление вывода, Unique Net - подключение к выводу цепи с уникальным именем. Раздел Edit Attributs позволяет перейти в режим редактирования атрибутов. В этот же режим приводит команда меню Part/Attributs. Окно редактирования атрибутов представлено на рис. 6.12. Справа высвечивается список атрибутов, из которого курсором выбирается объект редактирования. Его имя (Name) и значение (Value) высве-чиваются в верхних полях окна. Если надо ввести новый атрибут, то курсором выделяется первая свободная строка в списке атрибутов и в соответствующих полях пишутся имя и значение. Переключатель Changeable Schematic определяет, сможет ли пользователь изменять значение данного атрибута при его использовании в изображении схемы. Переключатели Display Value и Display Name определяют, будут ли высвечиваться на экране значение и имя атрибута. После того, как атрибут отредактирован, нажимается Save Attr и атрибут запоминается. Затем можно переходить к другому атрибуту. Del Attr отменяет проведенные изменения атрибута. Остановимся коротко на основных атрибутах. Их имена (кроме TEMPLATE, о котором будет сказано ниже) часто не зафиксированы и могут задаваться любыми. Однако некоторые имена в большинстве символов задаются традиционно и используются в некоторых разделах меню. Атрибут PART определяет имя (или его псевдоним), под которым символ хранится в библиотеке и под которым он вызывается в разделе Draw/Get New Part. Атрибут MODEL задает имя модели и может редактироваться в разделе Edit/Model. VALUE обычно определяет значение по умолчанию индивидуального параметра компонента: номинала резистора или емкости,
относительной площади транзистора и т.д. REFDES задает форму позиционного обозначения компонента на схеме. Атрибут COMPONENT задает имя описания корпуса и упаковки элемента (package definition) в случае, если имя симола и описания упаковки не совпадают. Атрибут SIMULATIONONLY используется в некоторых символов источников сигналов и в ряде других символов, для обозначения информации, которая имеет отношение только к моделированию.
Рис. 6.12. Редактирование атрибутов
Наиболее существенный атрибут - TEMPLATE, определяющий шаблон, по которому изображение компонента транслируется в оператор входного языка PSpice. Шаблон состоит из списка атрибутов. Атрибуты, не содержащие описанных ниже специальных символов, копируются в оператор описания компонента без изменений. Если же перед именем атрибута помещен один из специальных символов "@", "?", "~", "#" или "&", то в зависимости от этого символа атрибуты заменяются следующими величинами: @<имя> - значением атрибута <имя>; если указанного атрибута или его значения нет, то выдается сообщение об ошибке; &<имя> - значением атрибута <имя>, если этот атрибут определен; ?<имя>s...s - текстом, помещенным между одинаковыми символами s, если атрибут определен;
206
6. Оболочка DESIGN CENTER для WINDOWS
~<имя>s...s
- текстом, помещенным между одинаковыми символами s, если атрибут не определен; #<имя>s...s - производятся те же действия, что при символе "?", но остальная часть шаблона TEMPLATE не воспроизводится. Символы s, ограничивающие текст в случае специальных символов ?, -, #, могут быть любыми неалфавитными символами. Сами эти символы в текст не заносятся. Внутри текста допускается иерархия, т.е. размещение атрибутов и специальных символов. Символ "\n" приводит к переходу на следующую строку в операторе описания компонента. Символ "^" заменяется указанием полного пути к компонентам, имеющим иерархическую структуру. Для компонентов на высшем уровне иерархии, этот символ заменяется в операторе символом подчеркивания "_". Имена выводов символа в шаблоне предваряются знаком "%" и завершаются разделителем - пробелом или запятой. Имена перечисляются в том порядке, в котором они должны быть записаны для компонента по правилам языка PSpice. В операторе они заменяются именами подключенных к ним цепей. Приведем примеры шаблонов для различных компонентов. Символ резистора может иметь шаблон вида TEMPLATE=@REFDES %1 %2 @VALUE ?TC/TC=@TC/ Он определяет, что сначала в оператор будет занесено значение атрибута REFDES, затем имена цепей, подключенных к выводам 1 и 2, далее значение атрибута VALUE и в конце, если задано значение атрибута TC, то будет помещен текст, заключенный в символы “/”: TC=<значение атрибута TC>. В результате, если в схеме есть резистор, подключенный к узлам 5 и 6, имеющий значения атрибутов REFDES=R2 и VALUE=5k и не имеющий значения атрибута TC, то в описании схемы ему будет соответствовать оператор R2 5 6 5k Если же для резистора будет задано еще значение атрибута TC=0.001, то оператор будет иметь вид R2 5 6 5k TC=0.001
Описанный шаблон подразумевает, что позиционное обозначение компонента начинается с символа, соответствующего типу компонента. Чтобы избежать возможных ошибок, связанных с тем, что пользователь изменит первый символ обозначения на схеме, часто используются шаблоны вида TEMPLATE=R^@REFDES %1 %2 @VALUE ?TC/TC=@TC/ При таком шаблоне оператор, резистору, будет иметь вид
соответствующий
описанному
выше
R_R2 5 6 5k Таким образом, ошибка обозначения элемента на схеме не вызовет синтаксической ошибки оператора. Биполярный транзистор может иметь шаблон TEMPLATE=Q^@REFDES %C %B %E @MODEL ?VALUE/@VALUE/ в котором задается порядок перечисления узлов: коллектор, база, эмиттер, атрибут MODEL задает имя модели, а атрибут VALUE, если задано его значение, определяет относительную площадь (AREA) транзистора. Элемент, отражающий печать потенциала узла и имеющий один вывод, подключаемый к требуемой цепи, может иметь шаблон .PRINT ?ANALYSIS|@ANALYSIS|~ANALYSIS|TRAN|V([%1]) Если задано значение атрибута ANALYSIS, например AC, и элемент подключен к узлу с именем OUT, то в задании будет сгенерирован оператор .PRINT AC V([OUT]) А если значение атрибута ANALYSIS не задано, то будет сгенерирован оператор .PRINT TRAN V([OUT]) В обоих случаях позиционное обозначение REFDES элемента вообще не используется в шаблоне.
208
6. Оболочка DESIGN CENTER для WINDOWS
Символы портов имеют обычно один атрибут LABEL, задающий по умолчанию имя цепи. Например, в символ “земля” заносится LABEL=0, что задает имя “0” цепи, к которой подключается изображение символа. В заключение приведем пример потенциометра, символ которого имеет выводы 1, 2 и T - средняя точка, атрибут VALUE, задающий сопротивление, и атрибут POS, задающий относительное положение ползунка потенциометра. Шаблон такого компонента может иметь вид TEMPLATE=RU^@REFDES %1 %T |{(@VALUE*(1-@POS))+.001}| \nRD^@REFDES %T %2 |{(@VALUE*@POS)+.001}| Если REFDES=P1 и задано VALUE=10k, POS=0.1, то этому элементу будут соответствовать два оператора: RU_P1 3 5 {(10k*(1-0.1))+0.001} RD_P1 5 4 {(10k*0.1)+0.001} Таким образом, один элемент генерирует сразу два оператора компонентов, определяющих верхнее и нижнее плечи потенциометра. По окончании создания символа так же, как и при редактировании имеющегося в библиотеке символа, выполняется команда File/Return to Schematic. При этом программа задает вопросы: “Save changes to Part?” и “Save changes to Current library?” и при положительном ответе на оба вопроса символ будет запомнен в библиотеке.
ЛИТЕРАТУРА 1. Архангельский А.Я. PSpice и Design Center. Ч. 1. Модели цифровых и аналого-цифровых устройств. Идентификация параметров моделей. Графические редакторы. Учебное пособие. М., МИФИ, 1996 2. Архангельский А.Я. , Савинова Т.А. Справочное пособие по PSpice и Design Center. М., МИФИ, 1996
210
6. Оболочка DESIGN CENTER для WINDOWS
Алексей Яковлевич Архангельский
PSPICE и DESIGN CENTER Ч а с т ь 2 Модели цифровых и аналого-цифровых устройств. Идентификация параметров моделей. Графические редакторы
Редактор и техн. редактор М.В.Макарова
ЛР № 020676 от 09.12.92. Подписано в печать . Формат 60×84 1/16. Уч.-изд. л. Печ. л. 13,25 Тираж 200 экз. Изд. № 013-1. Заказ №
Московский государственный инженерно-физический институт (технический университет). Типография МИФИ.
115409, Москва, Каширское ш., 31.