Программа PSpice рассчитывает следующие характеристики электронных цепей:
С помощью модуля PSpice Optimizer выполняется параметрическая оптимизация (см. разд. 5.4).
Каждому виду расчета соответствует определенная директива. Их полный перечень приведен в табл. 4.6.
Таблица 4.6. Директивы моделирования
Имя |
Назначение |
||
Расчет стандартных характеристик |
|||
.АС |
Расчет частотных характеристик |
||
.DC |
Расчет режима по постоянному току |
||
.FOUR |
Спектральный анализ |
||
.NOISE |
Расчет уровня внутреннего шума |
||
.OP |
Передача в выходной файл параметров схемы, линеаризованной в окрестности рабочей точки |
||
.SENS |
Расчет малосигнальных чувствительностей в режиме по постоянному току |
||
.TF |
Расчет малосигнальных передаточных функций в режиме по постоянному току |
||
.IRAN |
Расчет переходных процессов |
||
Управление выдачей результатов |
|||
.PLOT |
Представление результатов расчета в выходном файле в виде графиков, построенных в текстовом режиме |
||
Имя |
Назначение |
||
|
Представление результатов расчета в выходном файле в виде таблиц |
||
.PROBE |
Передача данных в графический постпроцессор Probe |
||
.VECTOR |
Создание файла с результатами моделирования цифровых устройств |
||
.WATCH |
Выдача промежуточных результатов анализа на экран программы PSpice в текстовом виде |
||
.WIDTH |
Назначение длины строк выходного файла |
||
Многовариантный анализ |
|||
.STEP |
Вариация параметров |
||
.TEMP |
Назначение температуры окружающей среды |
||
Вспомогательные файлы, определение функций и параметров |
|||
.END |
Конец задания |
||
.FUNC |
Определение функции |
||
.INC |
Включение во входной файл другого файла |
||
.LIB |
Подключение библиотеки моделей компонентов |
||
.PARAM |
Определение глобальных параметров |
||
Статистический анализ |
|||
.МС |
Статистический анализ по методу Монте-Карло |
||
.WCASE |
Расчет наихудшего случая |
||
Модели устройств |
|||
.ENDS |
Конец описания макромодели |
||
.DISTRIBUTION |
Табличное определение закона распределения случайных величин |
||
.MODEL |
Описание моделей компонентов |
||
.SUBCKT |
Начало описания макромодели |
||
Задание начальных условий |
|||
.IC |
Задание начальных условий |
||
.LOADBIAS |
Считывание из файла узловых потенциалов схемы |
||
.NODESET |
Задание узловых потенциалов по постоянному току на начальной итерации |
||
.SAVEBIAS |
Запись в файл узловых потенциалов схемы |
||
Прочие директивы |
|||
.ALIASES |
Начало списка соответствий имен выводов графических обозначений компонентов именам цепей схемы, к которым они подключены |
||
.ENDALIASES |
Конец списка соответствий |
||
.EXTERNAL |
Спецификация внешних портов |
||
.OPTIONS |
Установка параметров и режимов работы программы |
||
.STIMLIB |
Задание имени файла с описанием внешних воздействий |
||
.STIMULUS |
Задание внешних воздействий |
||
Имя |
Назначение |
||
.TEXT |
Задание текстовых переменных, текстовых выражений или имен файлов, используемых в описании цифровых устройств |
||
* |
Комментарий |
||
; |
Комментарий в конце строки |
||
+ |
Продолжение строки |
||
Директивы моделирования задаются в схемном редакторе PSpice Schematics по команде Analysis>Setup или выбором пиктограммы. В раскрывшемся меню (см. рис. 3.49) выбирают нужный вид анализа (помечая его крестиком в графе Enabled) и щелчком мыши по панели с именем вида анализа раскрывают меню задания параметров моделирования.
При работе с OrCAD Capture аналогичные директивы моделирования задаются/редактируются по командам PSpice>New/Edit Simulation Profile. Приведенное ниже описание директив моделирования будем иллюстрировать изображением диалоговых окон PSpice Schematics. Этого достаточно для понимания их ввода в OrCAD Capture.
Обратим внимание, что в меню схемных редакторов задаются не все возможные директивы программы PSpice. He вошедшие в меню директивы (.LIB, .INC и др.) задаются с помощью атрибутов, присваиваемых на схеме специальным символам из библиотеки Special.sib, каждой директиве — отдельный символ.
Приведем ниже описание всех директив программы PSpice.
.AC [LIN] [ОСТ] [DEC] <n> <начальная частота> <конечная частота>
Эта директива задает диапазон частот в пределах <начальная частота> ... <конечная частота>. Параметр LIN устанавливает линейный шаг по частоте, при этом п — общее количество точек по частоте. Параметры ОСТ и DEC устанавливают логарифмический характер изменения частоты октавами и декадами соответственно. Параметр п определяет в таком случае количество точек по частоте на одной октаве или декаде. Анализ спектральной плотности внутреннего шума производится по директиве
.NOISE У(<узел>[,<узел>]) <имя> <п>
Директива .NOISE указывается совместно с директивой .АС, в которой задается диапазон частот анализа. Источниками шума служат резисторы, ключи и полупроводниковые приборы, шумовые схемы замещения которых приведены в [7]. На каждой частоте / рассчитывается спектральная плотность выходного напряжения S UBbIX (f), В 2 /Гц, обусловленная наличием статистически независимых источников внутреннего шума. Точки съема выходного напряжения указываются по спецификации М(<узел> [,<узел>]). К входным зажимам цепи подключается независимый источник напряжения или тока, <имя> которого приводится в списке параметров директивы .NOISE. Этот источник не является источником реального сигнала, он служит лишь для обозначения входных зажимов цепи, к которым пересчитывается выходной шум. Если ко входу подключается источник напряжения, то на входе рассчитывается эквивалентная спектральная плотность напряжения S U BX ЭK (f), В 2 /Гц; если ко входу подключен источник тока, то рассчитывается эквивалентная спектральная плотность тока Si вх эк (f), А 2 /Гц. Уровень шума пересчитывается с выхода на вход делением спектральной плотности выходного напряжения S u вых на квадрат модуля соответствующей передаточной функции. Заметим, что внутреннее сопротивление реального генератора сигнала R r должно быть включено в описание цепи как отдельный резистор. Если указан целочисленный параметр <п>, то на каждой n-й частоте в диапазоне анализа будет рассчитываться не только спектральная плотность суммарного шума, но и вклад в нее каждого шумового источника. Если параметр <п> не указан, то этот расчет не производится.
Рис. 4.1. Расчет частотных характеристик и уровня шума
В диалоговом окне задания параметров режима AC Sweep имеются два раздела (рис. 4.1). В первом задаются параметры директивы изменения частоты.
В диалоговом окне в разделе AC Sweep Type определяется характер изменения частоты:
В разделе Sweep Parameters задаются параметры диапазона частот:
В разделе Noise Analysis устанавливаются параметры расчета спектральной плотности внутреннего шума:
Расчет характеристик в частотной области производится после определения режима по постоянному току и линеаризации нелинейных компонентов (это делается автоматически, никаких дополнительных директив не требуется). Все независимые источники напряжения V и тока I., для которых -заданы параметры АС-сигналов (амплитуды и фазы) являются входными воздействиями. При проведении АС-анализа остальные спецификации этих источников, в том числе параметры синусоидального сигнала SIN, не принимаются во внимание, они учитываются при анализе переходных процессов. Результаты расчета комплексных амплитуд узловых напряжений и токов ветвей выводятся по директивам .PRINT, .PLOT или .PROBE.
Приведем примеры текстового задания директив:
.ACDEC2010k100MEG
.NOISE V(5)VIN
.NOISE V(101)VSRC 20
.NOISE V(4,5) ISRC
Результаты расчета уровней шума выводятся в выходной файл .out по директиве .PRINT или .PLOT:
PRINT NOISE <выходная переменная>' PLOT NOISE <выходная переменная>*
В качестве выходных переменных при расчете уровней шума используются следующие имена:
Например:
PRINT NOISE INOISE ONOISE DB(INOISE)
PRINT NOISE INOISE ONOISE
PRINT NOISE ONOISE DB(ONOISE)
Графики спектральных плотностей можно построить с помощью программы Probe. Причем помимо суммарных спектральных плотностей INOISE и ONOISE доступны и парциальные спектральные плотности напряжения выходного шума, обусловленные отдельными источниками шума. Для их построения в программе Probe используются специальные обозначения, приведенные в п. 15.
По результатам расчета спектральной плотности внутреннего шума легко вычисляется дифференциальный коэффициент шума линейного четырехполюсника, изображенного на рис. 4.2, а. Как известно, дифференциальный коэффициент шума равен
Kш=S u вх . эк (f)/S u r
где S u вх . эк (7) — спектральная плотность напряжения, обусловленного шумом сопротивления генератора R r и внутренним шумом четырехполюсника, пересчитанная на его вход, S U BX ЭK (f) = INOISE 2 ; S ur = 4kT 0 R r — спектральная плотность напряжения шума сопротивления генератора; k = 1,38-10" 23 Дж/°С — постоянная Больцмана; Т 0 = 300 К — номинальная абсолютная температура.
а)
б)
Рис. 4.2. Измерение коэффициента шума четырехполюсника при подключении ко входу источника напряжения (а) или тока (б)
Формула для расчета дифференциального коэффициента шума приобретает, таким образом, вид ,
K(f)= INOISE 2 /1 ,656*10- 20 R r
где сопротивление R r указывается в омах.
Приведем фрагмент задания на расчет коэффициента шума четырехполюсника, изображенного на рис. 4.2, а:
.TEMP 80
VG 1 О АС 1
RG 1 2 75
RLOAD 3 4 500
CLOAD 3 4 30рР
{описание четырехполюсника}
.AC LIN 21 0 1000HZ
.NOISE V(3,4) VG
PRINT INOISE ONOISE
Аналогично измеряется дифференциальный коэффициент шума при подключении на вход четырехполюсника источника тока (рис. 4.2, б):
K(f)=INOISE 2 /1,656*10- 20 /R r
Расчет среднеквадратического отклонения выходного напряжения шума производится по формуле
бu вых=корень(интеграл(Su вых(f))df)
с помощью функции интегрирования s(x) программы Probe (разд. 5.1):
SQRT(S(V(ONOISE)*V(ONOISE)))
Среднеквадратическое отклонение шума а U вых равно значению этой функции на верхней границе диапазона частот.
При измерении коэффициента шума сопротивлению генератора R r должна быть приписана номинальная температура Т 0 , четырехполюснику — его физическая температура, а сопротивлению нагрузки R H — температура абсолютного нуля, так как его шумы обычно принимаются во внимание при расчете коэффициента шума последующего каскада. Назначение резисторам индивидуальных значений температуры производится с помощью параметра T_ABS.
В некоторых задачах могут потребоваться независимые источники шума. Они могут быть представлены в виде зависимых источников, управляемых током шумящего резистора (в связи с особенностями программы PSpice допускается управлять током источника ЭДС, включенного последовательно с шумящим резистором).
На рис. 4.3, а представлена модель независимого источника шумового напряжения. Сопротивление шумящего резистора этого источника связано с требуемой спектральной плотностью напряжения шума S u соотношением RN = S u / (4kT). Например, при S u = 10- 18 В 2 /Гц описание модели на рис. 4.3, а имеет вид:
RN 1 0 60.4
VN 1 0 DC 0
HN23VN1
а)
б)
Рис. 4.3. Независимый источник напряжения (а) и тока (б) широкополосного шума
Модель независимого источника шумового тока представлена на рис. 4.3, б. Для нее сопротивление шумящего резистора связано со спектральной плотностью шумового тока Si- соотношением RN = 4kT/Si. Например, при S,- = 10- 24 А 2 /Гц модель описывается следующим образом:
RN 1 0 16.56К
VN 1 0 DC 0
FN 2 3 VN 1
Считывание из файла узловых потенциалов производится по директиве
.LOADBIAS <"имя файла">
Из файла, созданного в предыдущем сеансе работы с программой PSpice, считываются узловые потенциалы по постоянному току. Для выполнения расчета переходных процессов по директиве .TRAN с заданными начальными условиями этот файл можно предварительно отредактировать и заменить директиву .NODESET на .IC. Для передачи содержания файла узловых потенциалов, указанного в директиве .LOADBIAS, в выходной файл результатов (с расширением имени *.OUT), необходимо в директиве .OPTIONS указать параметр EXPAND.
Приведем примеры:
.LOADBIAS "DC_POINT.NOD"
.LOADBIAS "D:\PSPICE\JOB\TR_DATA.TRN"
.SAVEBIAS <"имя файла"> <[ОР] [DC] [TRAN]> [NOSUBCKT]
+ [ТIME=<значение> [REPEAT]] [ТЕМР=<змачение>] [SТЕР=<значение>]
+ [МСRUN=<знамение>] [DС=<значение>] [DС1=<значение>]
+ [DС2=<значение>]
В файл с указанным именем записываются значения узловых потенциалов схемы для анализа указанного вида OP, DC или TRAN. Для каждого вида анализа в одном задании должна быть отдельная директива.
Параметр NOSUBCKT запрещает запись в файл узловых потенциалов внутренних узлов макромоделей.
Параметры ТIМЕ=<значеные> [REPEAT] определяют моменты времени, в которые запоминаются узловые потенциалы схемы при расчете переходных процессов (режим TRAN). Ели параметр REPEAT не указан, то узловые потенциалы запоминаются в первый момент времени, равный указанному значению (с точностью до шага интегрирования) или превышающий его. При наличии параметра REPEAT параметр <значение> равен интервалу времени, с которым узловые потенциалы периодически запоминаются, при этом в файле сохраняется только последняя запись.
Параметр ТЕМР=<значение> задает температуру, для которой сохраняются узловые потенциалы при вариации температуры, а необязательный параметр SТЕР=<значение> задает интервал температур, через который обновляется запись в файл.
Параметр МСRUN=<значение> определяет количество вариантов расчетов, через которые обновляется запись в файл при статистическом анализе или расчете по методу наихудшего случая.
Параметры DC = <значение>, DC1 = <значение> и DC2 = <значение> задают значения параметров, варьируемых по директиве .DC, для которых производится запись в файл. Параметр DC = <значение> используется только при вариации одной переменной, a DC1 и DC2 — при вариации двух переменных (соответственно первой и второй).
Образуемый на диске текстовый файл имеет следующий формат. Сначала на одной или более строках в виде комментариев указываются имя схемы, заголовок, дата создания, затраты времени на расчет, тип анализа, температура и т.п. Далее помещается единственная директива .NODESET, содержащая полную информацию об узловых потенциалах схемы. Поэтому после загрузки файла по директиве .LOADBIAS эти потенциалы будут установлены автоматически.
Одно из типичных применений директив .SAVEBIAS, .LOADBIAS — исследование больших схем, для которых расчет режима по постоянному току занимает значительное время. Тогда после расчета режима по постоянному току он может быть сохранен по директиве .SAVEBIAS и в дальнейшем перед выполнением других видов анализа (переходных процессов, частотных характеристик, статистического анализа и т.п.) узловые потенциалы в этом режиме могут быть загружены по директиве .LOADBIAS. Единственное ограничение: директивы .SAVEBIAS и .LOADBIAS должны помещаться в разных заданиях на моделирование. Заметим, что при модификации схемы пользователь может для улучшения сходимости вручную отредактировать файл режима, добавляя или исключая из директивы .NODESET ряд узлов схемы и корректируя их потенциалы.
Приведем примеры:
.SAVEBIAS "DC_POINT.NOD" OP
.SAVEBIAS "TR_DATA.TRN" TRAN NOSUBCKT TIME=10us
.SAVEBIAS "DC.BSP" DC MCRUN=3 DC1=2.5 DC2=10
При работе с управляющей оболочкой Schematics имя файла узловых потенциалов и другие параметры указывается в диалоговом окне (рис. 4.4), открывающемся после нажатия на кнопку Save Bias Point в меню выбора директив моделирования (рис. 3.49).
.DC [LIN] <имя 1-й переменной> <начальное значение>
+ <конечное значение> <приращение>
+ [<имя 2-й переменной> <начальное значение>
+ <конечное значение> <приращение>]*
.DC [ОСТ] [DEC] <имя 1-й переменной> <начальное значение> + <конечное значение> <количество точек>
+ [<имя 2-й переменной> <начальное значение> + <конечное значение> <количество точек>]*
.DC <имя 1-й переменной> LIST <значение>* + [<имя 2-й переменной> LIST <значение>*]
Режим по постоянному току рассчитывается для нескольких значений варьируемых переменных, в качестве которых могут приниматься:
Характер изменения переменных задается ключевыми словами:
Если указаны спецификации двух варьируемых параметров, то первый параметр изменяется в заданных пределах для каждого значения второго параметра.
Такой вложенный цикл удобен, в частности, для построения статических характеристик полупроводниковых приборов.
Максимальное количество итераций при переходе к следующему варианту по умолчанию устанавливается равным достаточно малой величине ITL2=20. Поэтому в схемах, чувствительных к вариациям параметров, могут возникнуть проблемы со сходимостью. В этих случаях рекомендуется по директиве .OPTIONS увеличить значение ITL2.
Приведем примеры:
.DC VIN 0.5 5.0 0.25
.DC LIN VDS 0 10 .5 VGS 0 5 1
.DC VCE 0V 10V .25V IB 0 10МА 1МА
.DC RES MODRES(R) 0.75 1.5 0.05
.DC DEC NPN KT315A(BF) 20 100 10
.DC TEMP LIST -50 0 27 60 80
.DC PARAM VPOWER 7.5 12 .5
Первый пример задает диапазон изменения напряжения источника VIN от 0,5 до 5,0 В с шагом 0,25 В. Второй и третий примеры демонстрируют вложенные циклы изменений двух источников. В четвертом и пятом примерах варьируются сопротивление резистора R и коэффициент передачи тока BF биполярного транзистора. В шестом варьируется температура, заданная списком значений. В седьмом — глобальный параметр VPOWER, задающий ЭДС источника питания.
В качестве еще одного примера покажем, как рассчитывают семейство выходных характеристик транзистора (рис. 4.6), используя вложенные циклы:
VC 1 О DC 10V
VB 2 О DC 0.5V
Q1 120КТ315А
.MODEL KT315A NPN (IS= ...)
.DC VC 0V 10V 0.2V VB 0V 1V 0.05V
.PROBE
Результаты расчета режима цепи по постоянному току выводятся по директивам .PRINT, .PLOT или .PROBE.
После завершения вариации параметров по директиве .DC варьируемые параметры принимают номинальные значения, которые они имели до многовариантного анализа.
Замечание.
В разделе Sweep Var. Type задается тип варьируемого параметра:
В зависимости от выбранного типа параметра заполняются одно или несколько строк:
В разделе Sweep Type задается тип вариации параметра:
Пределы изменения параметров задаются на строках:
Случайные величины создаются с помощью генераторов случайных чисел. Величина относительного разброса каждого параметра А и закон распределения случайной величины £, задаются опцией < спецификация случайного разброса параметра> директивы .MODEL, которая имеет вид
[DEV[/<seHepamop#>] [/ <закон распределения>] <разброс>[%]] [LOT[/< генератор #>] [/<закон распределения>] <разброс>[%]}
Параметр <генератор #> указывает номер генератора случайных чисел (от О до 9). С его помощью создаются коррелированные параметры. Случайные параметры, для которых не указаны номера генераторов случайных чисел, образуются с помощью индивидуальных независимых генераторов; они, естественно, являются некоррелированными. Для расчета значений разбросов параметров DEV и LOT используются различные генераторы: имеется 10 генераторов для параметров DEV и столько же для параметров LOT.
В простейшем случае номера генераторов случайных чисел не указываются. Тогда параметры, имеющие опции DEV, получают независимые, а параметры, имеющие опции LOT, — коррелированные случайные значения (последнее характерно для имитации разброса параметров партий изделий).
Приведем примеры:
.MODEL RLOAD RES (R=1 DEV/GAUSS 5% LOT/UNIFORM 10%)
.MODEL CMOD CAP (C=1 DEV/4/GAUSS 1% TC1 DEV/4/USER1 10% LOT/5 2%)
В программе имеются генераторы случайных величин с двумя стандартными законами распределения:
Кроме того, пользователь может задать нестандартный закон распределения случайных величин £, с помощью директивы
.DISTRIBUTION <имя> <<^>< P >>;*
Здесь параметр <имя> назначает имя закону распределения, который задается в табличной форме. Пары чисел задают значения случайной величины % и соответствующую вероятность Р. Всего может быть задано до 100 точек. Все значения % должны находиться на интервале (-1, +1). Координаты точек должны указываться в порядке возрастания £, (допускается повторять предыдущие значения £). Между соседними точками производится линейная интерполяция. Приведем пример задания бимодального распределения, график которого изображен на рис. 4.8:
.DISTRIBUTION BI_MODAL (-1,1) (-5,1) (-.5,0) (.5,0) (.5,1) (1,1)
Случайным параметрам, закон распределения которых не задан явно в директиве .MODEL, по умолчанию назначается распределение, указанное в опции DISTRIBUTION директивы .OPTIONS. Статистические испытания по методу Монте-Карло проводятся при расчете режима по постоянному току, переходных процессов или частотных характеристик по директиве
.MC <n> [DC] [IRAN] [AC] <имя выходной переменой>
+ <обработка результатов> [LIST]
+ [OUTPUT <спецификация>] [NAMЕ(<минимум>,<максимум>) ]
+ [SEED=<значение>]
Параметр <п> задает количество статистических испытаний. Ключевые слова DC, TRAN, АС указывают вид анализа. После них указывается <имя выходной перемвнной>, подлежащей статистической обработке.
Рис. 4.4. Бимодальный закон распределения
При статистическом анализе предусматривается разнообразная статистическая обработка результатов моделирования, характер которой определяется с помощью опции < обработка результатов>, принимающей одно из следующих значений:
По необязательному ключевому слову LIST на печать выводится список значений всех случайных параметров во всех реализациях.
В отсутствие ключевого слова OUTPUT характеристики цепи, указанные в директивах .PRINT, .PLOT или .PROBE, выводятся на печать или передаются в постпроцессор Probe один раз для номинального значения случайных параметров. С помощью ключевого слова OUTPUT их можно вывести требуемое число раз, задавая после этого слова следующие параметры:
После ключевого слова RANGE определяется диапазон значений, в пределах которого статистически обрабатывается выходная переменная. Если вместо минимального или максимального значения этого диапазона указать звездочку «*», то граница диапазона примет значение -бесконечность или +бесконечность.
Переменная SEED задает начальное значение датчика случайных чисел. Оно может принимать нечетные значения в диапазоне 1...32767. По умолчанию SEED = 17533. При одинаковых значениях SEED результаты статистического моделирования при последующих запусках программы повторяются.
Приведем примеры:
.МС 5 IRAN V(5) YMAX RANGE(-1,*)
.МС 100 AC VM(3) YMAX LIST OUTPUT=ALL
Количество испытаний п ограничено 2000 при выводе данных в текстовый файл *.OUT и 400 при просмотре данных с помощью программы Probe.
Расчет чувствительности и наихудшего случая (WorstCase). Для этого применяется директива WCASE [DC][TRAN][AC] <имя выходной переменной> + <обработка результатов> [<опции>]*
Виды анализа и параметры <имя выходной переменной>, <обработка результатов> такие же, как у директивы .МС.
Проводятся расчеты характеристик цепи при вариации параметров, имеющих опции DEV или LOT. Сначала по очереди изменяются все указанные параметры, что позволяет оценить параметрическую чувствительность характеристик. Измененные значения параметров рассчитываются по формуле
Новое значение = номинальное значение (1 + RELTOL), если не указана опция BY (см. ниже). В заключение рассчитываются характеристики цепи при одновременном изменении всех параметров по методу наихудшего случая. При этом значения параметров определяются по формуле
Новое значение = номинальное значение (1±дельта).
Опции имеют следующий смысл.
Ключевое слово OUTPUT ALL разрешает передавать в выходной файл характеристики цепи, указанные в директивах .PRINT, .PLOT и .PROBE, при всех комбинациях параметров при расчете чувствительности. В его отсутствие передаются данные лишь о номинальном режиме и наихудшем случае.
После ключевого слова RANGE (<минимум>, <максимум>) указывается диапазон значений, в пределах которого производится статистическая обработка выходной переменной. Если вместо минимального или максимального значения этого диапазона указать звездочку <*>, то граница диапазона принимает значение -бесконечность или +бесконечность.
Ключевые слова HI и LOW задают направление изменения параметров компонентов относительно номинальных значений при расчете наихудшего случая. Если определяется функция YMAX или МАХ, по умолчанию назначается ключевое слово HI (положительное приращение), в противном случае — LOW (отрицательное приращение).
Ключевые слова VARY DEV, VARY LOT, VARY BOTH определяют характер случайного разброса параметров. По умолчанию назначается параметр VARY BOTH и случайный разброс задается обоими параметрами DEV и LOT; два других ключевых слова означают случайный разброс, определяемый только одним параметром DEV или LOT соответственно.
Ключевые слова BY RELTOL, BYE <значение> задают относительное изменение параметров при расчете чувствительности. По умолчанию их изменение равно значению параметра RELTOL, указанному в директиве .OPTIONS.
Ключевое слово DEVICES(< список типов компонентов>) назначает типы компонентов, параметры которых изменяются при расчете чувствительности и наихудшего случая. Список типов компонентов состоит из первых символов их имен, перечисляемых слитно, без пробелов. Например, вариация параметров только резисторов (R), конденсаторов (С) и биполярных транзисторов (Q) назначается с помощью ключевого слова DEVICES RCQ.
Приведем примеры директивы .WCASE:
.WCASE DC V(4,5) YMAX
.WCASE IRAN V(1) FALL_EDGE(3.5V) VARY BOTH BY RELTOL DEVICES RL
В задании на моделирование может быть либо директива .МС, либо .WCASE, но не обе вместе. Так моделируется наихудший случай для чисто аналоговых устройств.
Расчет наихудшего случая для смешанных устройств. При исследовании цифровых устройств наиболее актуально оценить влияние случайного разброса временных задержек цифровых ИС на характеристики устройства в целом. Сначала исследуются характеристики при номинальных значениях задержек, а затем интересно проверить работоспособность устройства при вариации задержек в заданных пределах.
Расчет наихудшего случая при моделировании смешанных аналого-цифровых устройств отличается от моделирования чисто аналоговых устройств. При моделировании по методу наихудшего случая аналого-цифровых устройств аналоговые секции моделируются при номинальных значениях параметров. В цифровых компонентах варьируются задержки, имеющие в моделях динамики ненулевые минимальные и максимальные значения (см. разд. 4.3). При подаче на вход цифрового компонента воздействия выходной узел имеет неопределенное логическое состояние на интервале времени, равном разности между максимальной и минимальной задержкой. После прохождения сигнала через второй цифровой компонент длительность неопределенного состояния увеличивается и т.д. Это так называемое моделирование «с нарастающей неопределенностью».
При работе с управляющей оболочкой PSpice Schematics параметры директивы .МС указываются в диалоговом окне , открывающемся после нажатия на кнопку Monte Carlo/Worst Case в меню выбора директив моделирования . Вид анализа — Monte Carlo или Worst Case — выбирается в верхней строке диалогового окна. Здесь же указывается количество статистических испытаний МС Runs. Смысл остальных параметров такой же, как и при текстовом вводе директив (см. выше).
Режим по постоянному току всегда рассчитывается в начале моделирования перед выполнением других видов анализа без указания специальных директив. При расчете режима по постоянному току принимаются во внимание параметры DC всех независимых источников напряжения и тока. Результаты расчетов выводятся в текстовый файл *.OUT в виде таблицы узловых потенциалов и списка токов независимых источников. При наличии директивы .ОР дополнительно рассчитываются малосигнальные параметры линеаризованных схем замещения полупроводниковых приборов и нелинейных управляемых источников, которые также выводится в выходной файл *.OUT.
Кроме того, анализ по постоянному току выполняется перед расчетом пере-ходных процессов по директиве .TRAN для определения начальных условий (если отсутствует ключевое слово SKIPBP) и перед анализом в частотной области по директиве .АС для линеаризации нелинейных компонентов в окрестности режима по постоянному току.
Обсудим особенности расчета режима по постоянному току. В программе он рассчитывается итерационным методом Ньютона-Рафсона. В отсутствие сходимости рекомендуется по директиве .OPTIONS увеличить максимальное количество итераций ITL1 (по умолчанию ITL1 = 40). Для повышения скорости сходимости рекомендуется с помощью директивы .NODESET устанавливать начальные значения узловых потенциалов, как можно более близкие к ожидаемому режиму по постоянному току (при отсутствии этой директивы все узловые потенциалы на начальной итерации полагаются равными нулю). Если решение методом Ньюто-на-Рафсона не сходится, программа автоматически переходит к методу вариации напряжений источников питания, который ценой увеличения затрат машинного времени обеспечивает сходимость решения в большинстве случаев. При включении опции STEPGMIN (см. п. 8) в отсутствие сходимости методом Ньюто-на-Рафсона сначала применяется метод вариации минимальной проводимости GMIN и затем, в случае его неудачи, метод вариации напряжений источников питания.
Приближенные значения режима по постоянному току с помощью директивы .NODESET нужно указывать при анализе схем, имеющих несколько устойчивых состояний.
В разделе Default A/D Interface задается тип модели интерфейсов вход/выход, назначаемый по умолчанию (см. разд. 4.3).
В разделе Flip-flop Initialization задаются начальные значения выходным состояниям триггеров:
8. Options — параметры моделирования. Параметры и режимы работы программы PSpice устанавливаются в диалоговом окне, открываемом нажатием кнопки Options в окне выбора директив моделирования . Это выполняется с помощью директивы
.OPTIONS [имя опции]* [<имя опции> = <значение>]*
Например:
.OPTIONS NOPAGE NODE RELTOL=1e-4
Рис. 4.5. Установка параметров моделирования
Опции перечисляются в любом порядке.
Они подразделяются на два вида:
Приведем список флагов (в скобках указаны значения по умолчанию):
Если какой-либо флаг не указан, то по умолчанию устанавливается режим, противоположный описанному выше.
Опции, имеющие численные значения, представлены в табл. 4.7.
Таблица 4.7. Опции, имеющие численные значения
Имя опции |
Наименование |
Размерность |
Значение по умолчанию |
||
ABSTOL |
Допустимая ошибка расчета токов в режиме TRAN |
А |
10 -12 |
||
CHGTOL |
Допустимая ошибка расчета заряда в режиме TRAN |
Кл |
10 -14 |
||
CPTIME* |
Максимальное время работы процессора, разрешенное для выполнения данного задания |
с |
0** |
||
DEFAD |
Диффузионная площадь стока МОП-транзистора (AD) |
м 2 |
0 |
||
DEFAS |
Диффузионная площадь истока МОП-транзистора (AS) |
м 2 |
0 |
||
DEFL |
Длина канала МОП-транзистора (L) |
м |
10 -4 |
||
DEFW |
Ширина канала МОП-транзистора (W) |
м |
10 -4 |
||
DIGDRVF |
Минимальное выходное сопротивление цифровых устройств (для моделей UIO) |
Ом |
2 |
||
DIGDRVZ |
Максимальное выходное сопротивление цифровых устройств (для моделей UIO) |
кОм |
20 |
||
Имя опции |
Наименование |
Размерность |
Значение по умолчанию |
||
DIGERRDEFAULT |
Максимальное количество контролируемых ошибок цифровых устройств |
— |
20 |
||
DIGERRLIMIT |
Максимальное количество сообщений об ошибках в цифровых устройствах |
— |
0** |
||
DIGFREQ |
Частота дискретизации при анализе цифровых устройств |
Гц |
10 10 |
||
DIGINITSTATE |
Установка начального состояния триггеров: 0 — сброс; 1 — установка; 2 — X |
— |
2 |
||
DIGIOLVL |
Уровень интерфейса А/Ц, Ц/А по умолчанию |
— |
1 |
||
DIGMNTYMX*** |
Селектор выбора задержки цифрового устройства по умолчанию: 1 — минимум; 2 — типичное значение; 3 — максимум; 4 — мин/макс |
|
2 |
||
DIGMNTYSCALE |
Масштабный коэффициент для расчета минимальной задержки |
— |
0,4 |
||
DIGTYMXSCALE |
Масштабный коэффициент для расчета максимальной задержки |
— |
1,6 |
||
DIGOVRDRV |
Отношение выходных сопротивлений цифровых устройств, при которых изменяется состояние общего выходного узла |
|
3 |
||
DISTRIBUTION |
Закон распределения отклонений параметров от номинальных значений |
— |
UNIFORM |
||
GMIN |
Минимальная проводимость ветви цепи (проводимость ветви, меньшая GMIN, считается равной нулю) |
См |
10 -12 |
||
ITL1 |
Максимальное количество итераций в режиме DC |
— |
150 |
||
ITL2 |
Максимальное количество итераций при расчете передаточных функций по постоянному току при переходе к последующей точке |
- |
20 |
||
ITL4 |
Максимальное количество итераций при переходе к следующему моменту времени в режиме TRAN |
- |
10 |
||
ITL5* |
Общее максимальное количество всех итераций в режиме TRAN (установка ITL5 = 0 означает бесконечность) |
— |
0** |
||
LIMPTS* |
Максимальное количество точек, выводимых в таблицу или на график |
— |
0** |
||
NUMDGT |
Количество значащих цифр в таблицах выходных данных (не более 8) |
— |
4 |
||
Имя опции |
Наименование |
Размерность |
Значение по умолчанию |
||
PIVREL* |
Относительная величина элемента строки матрицы, необходимая для его выделения в качестве ведущего элемента (режим АС) |
|
10- 3 |
||
PIVTOL* |
Абсолютная величина элемента строки матрицы, необходимая для его выделения в качестве ведущего элемента (режим АС) |
- |
10- 13 |
||
RELTOL |
Допустимая относительная ошибка расчета напряжений и токов в режиме TRAN |
— |
10- 3 |
||
TNOM |
Номинальная температура |
°С |
27 |
||
VNTOL |
Допустимая ошибка расчета напряжений в режиме TRAN |
В |
10-6 |
||
WIDTH |
Длина строки выходного файла (аналогично директиве .WIDTH) |
— |
80 |
||
Значения этих опций рекомендуется не изменять. ** Нулевое значение этих опций означает бесконечность. * Назначение DIGMNTYMX=4 означает моделирование цифровых устройств по методу наихудшего случая. |
|||||
Начинающим пользователям рекомендуется воспользоваться установкой параметров директивы .OPTIONS по умолчанию и изменять их по мере надобности после приобретения опыта моделирования.
В процессе моделирования программа PSpice генерирует различные сообщения, которые передаются в выходной файл и файл данных для программы Probe. Список сообщений о специфических ошибках в процессе, моделирования цифровых устройств приведен в табл. 5.2.
Статистические сведения о задании выводятся в выходной файл с расширением .OUT при введении опции АССТ в директиве .OPTION. Перечень выводимых данных приведен в табл. 4.8.
Таблица 4.8. Данные, помещаемые в выходном файле
Параметр |
Значение |
||
NUNODS |
Количество узлов схемы устройства без учета подсхем |
||
NCNODS |
Количество узлов схемы устройства с учетом подсхем |
||
NUMNOD |
Общее количество узлов схемы замещения устройства с учетом внутренних узлов встроенных моделей компонентов |
||
NUMEL |
Общее количество компонентов устройства с учетом подсхем |
||
DIODES |
Количество диодов с учетом подсхем |
||
BJTS |
Количество биполярных транзисторов с учетом подсхем |
||
JFETS |
Количество полевых транзисторов с учетом подсхем |
||
MFETS |
Количество МОП-транзисторов с учетом подсхем |
||
GASFETS |
Количество арсенид-галлиевых полевых транзисторов с учетом подсхем |
||
Параметр |
Значение |
||
IGBTS |
Количество статически индуцированных биполярных транзисторов с учетом подсхем |
||
NDIGITAL |
Количество цифровых устройств с учетом подсхем |
||
NSTOP |
Размерность воображаемой матрицы цепи (фактически не все элементы разреженных матриц хранятся в памяти) |
||
NTTAR |
Фактическое количество входов в матрице цепи в начале вычислений |
||
NTTBR |
Фактическое количество входов в матрице цепи в конце вычислений |
||
NTTOV |
Количество ненулевых элементов матрицы цепи |
||
IFILL |
Разность между NTTAR и NTTBR |
||
IOPS |
Количество операций с плавающей запятой, необходимых для решения одного матричного уравнения цепи |
||
PERSPA |
Степень разреженности матрицы цепи в процентах |
||
NUMTTP |
Количество шагов интегрирования переходного процесса |
||
NUMRTP |
Количество моментов времени при расчете переходного процесса, при которых шаг интегрирования был слишком велик и расчет повторен с меньшим шагом |
||
NUMNIT |
Общее количество итераций при расчете переходного процесса |
||
DIGTP |
Количество временных шагов при логическом моделировании |
||
DIGEVT |
Количество логических событий |
||
DIGEVL |
Количество вычислений логических состояний цифровых устройств |
||
MEMUSE |
Размер используемой области ОЗУ в байтах |
||
Matrix solution |
Время, затраченное на решение матричного уравнения |
||
Matrix load |
Время, затраченное на составление уравнений компонентов |
||
READIN |
Время, затраченное на чтение входного файла и поиск ошибок в нем |
||
SETUP |
Время, затраченное на формирование матрицы цепи |
||
DC sweep |
Время, затраченное на расчет передаточных функций по постоянному току |
||
Bias point |
Время, затраченное на расчет режима по постоянному току в рабочей точке |
||
Digital simulation |
Время, затраченное на вычисление логических состояний цифровых устройств |
||
AC and noise |
Время, затраченное на расчет в частотной области |
||
Transient analysis |
Время, затраченное на расчет переходного процесса |
||
Monte Carlo |
Время, затраченное на выполнение директив .МС и .WCASE |
||
OUTPUT |
Время, затраченное на переформатирование данных, необходимое перед выполнением директив .PRINT и .PLOT |
||
OVERHEAD |
Время, затраченное на выполнение задания |
||
Total job time |
Общее время выполнения задания, за исключением времени, затраченного на загрузку файлов программы PSpice |
||
.STEP [LIN] <имя варьируемого параметра> <начальное значение> + <конечное значение> <шаг приращения параметра>
.STEP [ОСТ] [DEC] <имя варьируемого параметра>
+ <начальное значение> <конечное значение> <количество точек>
.STEP <имя варьируемого параметра> LIST < значение>*
На каждом шаге вариации параметров по очереди выполняются все виды анализа характеристик цепи, задаваемых директивами .DC, .AC, .TRAN и др. Варьироваться могут все параметры всех моделей компонентов и глобальные параметры за исключением:
Приведем примеры:
.STEP VIN -.8 .8 .2 .STEP LIN I2 5mA-2mA-0.1mA
.STEP RES RMOD(R) 0.9 1.1 0.05
.STEP TEMP LIST 0 20 27 50 80
.STEP PARAM VPOWER 4 6 0.2
Ключевое слово PARAM в последнем примере указывает, что после него следует имя глобального параметра, определенного ранее по директиве .PARAM.
Дадим пояснения, как с помощью директивы .STEP организовать многовариантный анализ.
Например, многовариантный анализ переходных процессов при изменении амплитуды А гармоиического сигнала реализуется следующим образом:
.PARAM A=0
VSIGNAL1 OSIN(0{A}1kHz)
.STEP PARAM A LIST 12510 TRAN 0.1ms 5ms
Обратим внимание, что при вариации глобальных параметров их необходимо предварительно объявить по директиве .PARAM.
Изменение сопротивления резистора (и параметров других пассивных компонентов) осуществляется двояко. Во-первых, с помощью глобального параметра
.PARAM P=1
R1 2 О {Р}
.STEP PARAM P 15,45,10
Во-вторых, используя модель резистора
.MODEL RMOD RES(R=15)
R1 2 О RMOD 1
.STEP RES RMOD(R) 15,45,10
Здесь RMOD — имя модели резистора; RES — тип модели; R — имя варьируемого параметра.
В связи с тем, что многовариантный анализ производится также с помощью директив .TEMP, .MC, .WCASE и .DC, в одном задании на моделирование вместе с директивой .STEP разрешается помещать только одну из них. Две директивы .STEP в одном задании не допускаются.
При работе с управляющей оболочкой Schematics спецификация варьируемых параметров выполняется в диалоговом окне, открывающемся после нажатия на кнопку Parametric в меню выбора директив моделирования. Назначение его полей такое же, как и для директивы DC Sweep .
Чувствительность в режиме малого сигнала рассчитывается по директиве SENS <выходная переменная>*
Чувствительность рассчитывается после линеаризации цепи в окрестности рабочей точки. По директиве .SENS рассчитывается чувствительность каждой из указанных выходных переменных к изменению параметров всех компонентов и моделей. Поэтому объем результатов расчета чувствительностей может быть огромным. Результаты расчета выводятся в файл .out. Выходные переменные указываются по тому же формату, что и в директивах .PRINT для режимов TRAN и DC. При этом накладывается ограничение: если выходная переменная должна быть током, то допускается только ток через независимые источники напряжения.
Приведем пример. Если предположить, что цепь состоит из компонентов R1, R2, С1 и т.д., то по директиве
.SENS V(9) V(4,3) I(VCC)
будут рассчитаны чувствительности
dV(9)/dRl, dV(9)/dR2, dV(9)/dC1, .,,, dV(4,3)/dR1 ...
При работе с управляющей оболочкой Schematics имена выходных переменных указываются в диалоговом окне (рис. 4.13), открывающемся после нажатия на кнопку Sensitivity в меню выбора директив моделирования (рис. 3.49).
.TEMP <температура>*
Здесь указывается список значений температуры (по шкале Цельсия), для которых следует выполнить все указанные в задании директивы анализа характеристик. Если указано несколько значений температуры, то все виды анализа проводятся для каждой температуры. Если директива .TEMP не приведена, а в директиве .OPTIONS не указано другого значения температуры, то расчеты проводятся для номинальной температуры Tnom = 27 °С.
При работе с управляющей оболочкой PSpice Schematics список температур указывается в диалоговом окне, открывающемся после нажатия на кнопку Temperature в меню выбора директив моделирования.
.TF <выходная переменная> <имя источника напряжения или тока>
Они рассчитываются после линеаризации цепи в окрестности рабочей точки. Выходные переменные имеют тот же формат, что и по директиве .PRINT. Если выходная переменная должна быть током, то это ток через независимый источник напряжения. В качестве входной переменной может быть использовано напряжение или ток источника напряжения или тока. Результаты расчетов выводятся в выходной файл *.OUT без обращения к директивам .PRINT или .PLOT. В программе Probe они не могут быть просмотрены.
Приведем примеры:
.TF V(5)VIN TFV(15, 14)I(VDRIV)
В первом случае рассчитывается передаточная функция dV(5)/dVIN, а во втором — dV(15,H)/dI(VDRIV). Кроме того, всегда рассчитываются входные и выходные сопротивления. При работе с управляющей оболочкой Schematics определение передаточной функции задается в диалоговом окне, открывающемся после нажатия на кнопку Transfer Function в меню выбора директив моделирования— указываются имена выходной и входной переменной.
.TRAN[/OP] <шаг вывода данных> <конечное время> + [<начальный момент времени вывода данных> + [<максимальный шаг>]] [SKIPBP]
Переходные процессы всегда рассчитываются с момента t = 0 до момента <конечное время>. Перед началом расчета переходных процессов рассчитывается режим по постоянному току. Шаг интегрирования выбирается автоматически. Если задан параметр <начальный момент времени вывода данных>, то вывод результатов расчетов подавляется на интервале времени от t = О до указанного значения. Максимальное значение шага интегрирования устанавливается параметром < максимальный шаг>; если он не указан, то максимальный шаг интегрирования устанавливается равным <конечное время> /50. Если исследуемая схема не имеет инерционностей, то шаг интегрирования равен величине <шаг вывода данных>.
Величина <шаг вывода данных> используется для вывода данных по директивам .PRINT и .PLOT. При этом для расчета значений переменных применяется квадратичная интерполяция между дискретными отсчетами (это не относится к выводу графиков с помощью программы Probe, где применяется линейная интерполяция). С <шагом вывода данных> рассчитываются с помощью обратного преобразования Лапласа импульсные характеристики управляемых источников, заданных передаточными функциями.
Если задан параметр <начальный момент времени вывода данных>, то вывод результатов расчета подавляется на интервале времени от t = 0 до указанного значения.
Параметр < максимальный шаг> задает максимальное значение шага интегрирования. В частности, его полезно использовать при выполнении спектрального анализа как с помощью директивы .FOUR, так и в программе Probe.
Режим по постоянному току определяет начальные условия для расчета переходных процессов. Это связано с тем, что значения источников сигналов в момент t = 0 могут отличаться от их постоянных составляющих. При этом в выходной файл .out выводятся только значения узловых потенциалов в режиме по постоянному току. Указание в директиве .TRAN суффикса /ОР выводит в этот файл полную информацию о режиме по постоянному току (как по директиве .ОР).
Если в конце директивы .TRAN указать параметр SKIPBP (Skip Bias Point), то расчет режима по постоянному току отменяется. При этом начальные значения напряжений на емкостях и токов через индуктивности указываются в опциях вида IС= ..., включенных в описания конденсаторов и индуктивностей, а начальные значения узловых потенциалов указываются в директиве .IC.
При моделировании смешанных аналого-цифровых цепей шаги интегрирования в аналоговых и цифровых устройствах выбираются разными независимо друг от друга. Шаг интегрирования, указываемый для информации на экране программы PSpice, равен шагу интегрирования аналоговой части цепи. Шаг интегрирования цифровой части определяется значениями задержек в цифровых компонентах. Его минимальное значение определяется параметром DIGFREQ директивы .OPTIONS, оно равно 1/DIGFREQ. По умолчанию DIGFREQ = 10 ГГц, но не более 10 15 /TSTOP. Задержками меньше половины шага интегрирования пренебрегают.
При отсутствии сходимости расчета переходного процесса рекомендуется по директиве .OPTIONS увеличить максимальное количество итераций на одном временном шаге ITL4 (по умолчанию ITL4=10).
Допустимая относительная ошибка расчета токов и напряжений задается опцией RELTOL (по умолчанию 10- 3 ), а абсолютные ошибки токов, зарядов и напряжений — опциями ABSTOL (по умолчанию 10- 12 A), CHGTOL (по умолчанию 10- 14 Кл), VNTOL (по умолчанию 10- 6 В). Однако нельзя устанавливать абсолютные ошибки чрезмерно малыми. В частности, при анализе сильноточных или высоковольтных цепей задание абсолютных ошибок по умолчанию может привести к потере точности вычислений из-за ограниченности разрядной сетки ПК.
Приведем примеры:
.TRAN 5ms 500ms
.TRAN/OP 5ms 500ms 100ms SKIPBP
.TRAN 5ms 500ms Oms 0.5ms
Рассмотрим в качестве более конкретного примера особенности расчета переходных процессов в автогенераторе — транзисторном мультивибраторе (рис. 4.16). Сначала рассчитывается режим мультивибратора по постоянному току в соответствии со следующим заданием:
Multivibrator R1 121k R2 5 0 750 R3 1 3 100k
Рис. 4.7. Схема мультивибратора
R4 1 4100k
R5 1 6 1k
R6 7 0 750
С1 230.01UF
C2460.01UF
Q1 245КТ312А
Q2637KT312A
VP 1 О DC 10V
.LIB QRUS.LIB
PROBE
.END
В результате расчета в выходном файле с расширением *.OUT создается таблица узловых потенциалов
V(1)=10,0000 В,
V(2)=6,3538 В,
V(3)=3,4889 В,
V(4)=3,4889 В,
V(5)=2,7835 В,
V(6)=6,3538 В,
V(7)=2,7835 В.
Если после расчета режима по постоянному току непосредственно перейти к расчету переходных процессов, то мультивибратор, находящийся в одном из состояний равновесия, не возбудится. Предложим два способа возбуждения математической модели мультивибратора.
1. Перед началом переходного процесса с помощью директивы .IC задаются начальные значения узловых потенциалов и (или) с помощью параметра IС=... задаются начальные значения напряжений на конденсаторах, отличные от значений в состоянии равновесия.
.IC V(3)=3.46v
и указать директиву расчета переходных процессов .IRAN 100us 1.2ms
Заметим, что если с помощью директивы .IC и параметров IC в описаниях конденсаторов и индуктивностей полностью описан режим схемы по постоянному току, то перед расчетом переходного процесса этот режим рассчитывать не нужно — этот расчет отменяется с помощью параметра SKIPBP в директиве .TRAN:
TRAN 100us 1.2ms SKIPBP
Кроме того, для получения текущей информации о поведении мультивибратора полезно указать директиву
.WATCH TRAN V(2) V(3) V(6)
Если автоколебания не возникли, то все узловые потенциалы будут сохранять постоянное значение, что будет видно на экране программы PSpice и позволит прервать моделирование.
2. Имитируется включение напряжения питания, задавая источник напряжения в виде импульсной функции с линейным передним фронтом и длительностью, равной конечному времени анализа (тогда ее можно явно не указывать)
VP 1 0 PULSE (Ov, 10v, 50us)
Кроме того, для обеспечения самовозбуждения мультивибратора необходимо нарушить симметрию схемы, изменив, например, одно из сопротивлений на 1 %:
R1 1 21.01k
Спектральный анализ проводится по директиве
.FOUR <частота первой гармоники f1> [количество гармоник] + <выходная переменная>*
Спектральный анализ производится с помощью быстрого преобразования Фурье (БПФ) после завершения расчета переходного процесса (в задании на моделирование должна иметься и директива .TRAN). Имена переменных, спектр которых должен быть рассчитан, указываются в списке <выходная переменная>. В директиве .FOUR задается частота первой гармоники f 1 и количество гармоник. Максимальное количество гармоник п = 100. По умолчанию рассчитываются первые 9 гармоник. В программе рассчитываются амплитуды постоянной составляющей А 0 и остальных п гармоник А 1 , A 2 „ ..., A п . Спектральному анализу подвергается участок реализации переходного процесса длительностью Т = 1/f 1 в конце интервала анализа (чтобы завершились переходные процессы). Результаты спектрального анализа выводятся в выходной файл *.OUT в виде таблиц без указания директив .PRINT, .PLOT или .PROBE (в программе Probe они недоступны). Кроме того, рассчитывается коэффициент нелинейных искажений (в процентах) по формуле
Для повышения точности расчета спектров рекомендуется с помощью параметра < максимальный шаг> задать максимальное значение шага интегрирования, равное требуемой величине шага дискретизации по времени.
Приведем пример:
.FOUR 10KHZ 15 V(5) V(6,7) I(VSENS3)
Спецификация выходных переменных составляется по тем же правилам, что в директивах .PRINT или .PLOT. Заметим, что спектральный анализ производится также при обработке данных в графическом постпроцессоре Probe (см. разд. 5.1). Различие состоит в том, что при этом спектральному анализу подвергается целиком весь график, изображенный на экране дисплея, или его часть, размер которой указывается пользователем. При расчете спектров сигналов максимальное количество отсчетов равно 8192 = 2 13 .
При работе с управляющей оболочкой PSpice Schematics определение параметров расчета переходных процессов задается в диалоговом окн, открывающемся после нажатия на кнопку Transient в меню выбора директив моделирования.
В разделе Transient Analysis необходимо задать по крайней мере два параметра:
Остальные параметры No-Print Delay (начальный момент вывода данных) и Step Ceiling (максимальный шаг) являются необязательными.
На панели Detailed Bias Pt. отмечается необходимость вывода полной информации о режиме по постоянному току, на панели Skip initial transient solution — отмена расчета режима по постоянному току перед моделированием переходных процессов.
Спектральный анализ выполняется выбором панели Enable Fourier.
Замечание.
Спектральный анализ, основанный на дискретном преобразовании Фурье результатов численного интегрирования дифференциальных уравнений, обладает невысокой точностью. Поэтому область применения PSpice — анализ спектров сигналов при большом уровне нелинейных искажений. Большей точностью обладают программы, использующие метод гармонического баланса, такие как Microwave Office фирмы Applied Wave Research.
14. Задание начальных условий. Начальные значения узловых потенциалов по постоянному току задаются по директиве
.IC V(<HOMep узла>[,<номер узла>}) = Оначение ЭДС>*
Приведем пример
.IC V(5)=1.24V(IN)=0
К'указанным узлам подключаются источники постоянного напряжения с внутренним сопротивлением 0,0002 Ом, и рассчитывается режим по постоянному току. После завершения расчета эти источники отключаются — так задаются начальные значения узловых потенциалов перед расчетом переходных процессов.
Если в задании имеются и директива .NODESET, и директива .IC, то первая не будет выполняться при расчете режима по постоянному току перед началом анализа переходных процессов.
Задание начального приближения узловых потенциалов по постоянному току производится по директиве
.NODESET <V(<узел>[,<узел>])=<значение ЭДС>>*
Приведем пример
.NODESET V(9)=5.6 V(8,2)=4.95
Эта директива назначает начальное значение указанных потенциалов на нулевой итерации при расчете режима по постоянному току как в режиме DC, так и при расчете переходных процессов (в режиме DC Sweep она выполняется только на первом шаге варьирования источников напряжения). Если заданные значения узловых потенциалов близки к точному решению, то процесс итерационного расчета режима по постоянному току завершается за меньшее количество итераций. Эта директива полезна при расчете очень больших схем по частям и расчете схем с несколькими устойчивыми состояниями.
15. Управление выдачей результатов. Результаты расчетов в виде таблиц выводятся в выходной файл с расширением *.OUT по директиве
.PRINT[/DGTLCHG] [DC] [IRAN] [AC] [NOISE] <выходная переменная>*
В одной директиве .PRINT можно выбрать только один вид анализа и привести список не более восьми выходных переменных. Одновременно в задании на моделирование можно поместить несколько таких директив. В таблицах каждая колонка соответствует одной переменной. В первой колонке помещается независимая переменная: постоянное напряжение (режим DC), время (режим TRAN) или частота (режим АС). Количество значащих цифр данных и максимальное количество строк в таблице определяются опциями NUMDGT и LIMPTS директивы .OPTIONS. Формат выходных переменных описан ниже. Приведем примеры:
PRINT DC V(3) V(2,3) I(VIN)
PRINT AC VM(2) VP(2) VDB(5) IR(6)
PRINT TRAN V(1) V(R1) V([RESET])
В последнем примере нецифровое имя узла RESET, начинающееся с буквы, заключено в квадратные скобки, чтобы отличить его от имени компонента.
Логические состояния цифровых компонентов выводятся на внешние устройства после окончания моделирования обычным образом. В общем случае спецификация <выходная переменная> цифровых узлов имеет вид:
D(<имя узла>)
Однако при наличии параметра /DGTLCHG префикс D можно опустить. Поэтому следующие две директивы вывода на печать логических состояний цифровых узлов SET и Q1 эквивалентны
PRINT IRAN D(SET) D(Q1)
PRINT/DGTLCHG IRAN SET Q1
Различие этих директив заключается в том, что по директиве .PRINT на печать выводятся состояния как цифровых, так и аналоговых узлов, а по директиве .PRINT/DGTLCHG — только цифровых.
Результаты в виде графиков выводятся в выходной файл по директиве
.PLOT [DC] [AC] [NOISE] [TRAN] <выходная переменная>* + [(<нижняя граница>,<верхняя граница>)]*
Смысл параметров такой же, что и в директиве .PRINT. Графики выводятся с помощью буквенно-цифровых символов независимо от типа печатающего устройства, в частности, на АЦПУ старых ЭВМ, для которых была создана программа SPICE. Однако директивой .PLOT пользоваться на современных ПК не имеет смысла. На одном графике помещается до восьми кривых, причем количество директив .PLOT в одном задании не ограничено. Диапазон по оси X указан в директиве, устанавливающей вид анализа, а диапазон по оси Y определяется с помощью параметров <нижняя граница>, <верхняя граница> или автоматически. Приведем примеры:
PLOT DC V(3) V(2,3) V(R1) I(VIN)
PLOT AC VM(2) VP(2) VM(3,4) VG(5)
PLOT NOISE INOISE ONOISE .
PLOT TRAN V(3) V(2,3) (0,5V) ID(M2) (-50mA, 50mA)
Графический постпроцессор Probe подключается директивой .PROBE[/CSDF] [<выходная переменная>*]
Если список выходных переменных не указан, то в файл результатов с расширением имени .DAT заносятся потенциалы всех узлов цепи и токи всех компонентов, разрешенных для помещения в список выходных переменных (см. ниже). Обратим внимание на то, что при этом файл результатов может иметь огромные размеры и не поместиться в ОЗУ. Указание конкретного списка выходных переменных, передаваемых в программу Probe через файл с расширением .DAT, сокращает размер этого файла. Приведем примеры:
PROBE
.PROBE V(3) V(2,3) VM(2) VP(2)
Обратим внимание, что в файл данных *.DAT всегда помещаются уровни внутреннего шума INOISE, ONOISE и данные о кривых гистерезиса магнитных сердечников В(Н), поэтому при наличии списка выходных переменных их в него включать не надо.
По директиве .PROBE/CSDF создается файл результатов в текстовом виде с расширением имени *.ТХТ, который можно использовать для обмена данными с
ЭВМ других типов и для сопряжения с программами дополнительной обработки результатов.
Если в управляющей оболочке PSpice Schematics в меню Analysis>Probe Setup активизирована опция Automatically Run Probe After Simulation, то результаты расчетов автоматически передаются в программу Probe после завершения работы PSpice. При выборе опции Monitor Waveforms вывод графиков на экран программы Probe начинается одновременно с началом моделирования
Запись в файл результатов моделирования цифровых устройств производится по директиве
.VECTOR <количество узлов> <номер узла>*
+ [POS=< позиция столбца в таблице>
+ [FILЕ=<1шя файла>] [RADIX=" Binary" | "Hex" | "Octal"
бита>}] [SIGNАМЕS=<шиена сигналов>]
В файл заносятся значения моментов времени и логические уровни сигналов в перечисленных узлах. Формат файла такой же, какой применяется при создании файла цифрового генератора FSTIM. Приведем примеры:
.VECTOR 1 CLOCK SIGNAMES=SYSCLK
.VECTOR 4 DAT A3 DATA2 DATA1 DAT А0
.VECTOR 1 ADDR3 POS=2 RADIX=H BIT=4
.VECTOR 1 ADDR2 POS=2 RADIX=H BIT=3
.VECTOR 1 ADDR1 POS=2 RADIX=H BIT=2
.VECTOR 1 ADDRO POS=2 RADIX=H BIT=1
По умолчанию создается файл, имеющий имя текущей схемы с расширением *.VEC.
Выдача текущих результатов анализа производится по директиве
.WATCH [DC] [AC] [TRAM] [<выходная переменная> + [<нижний предел>,<верхний предел>] ]*
В процессе работы программы PSpice в нижней части экрана в текстовой форме выводятся значения до 3-х выходных переменных типа V или I (арифметические выражения недопустимы). Каждая переменная может иметь свои пределы. Если ее текущее значение выходит за эти пределы — раздается звуковой сигнал, после чего пользователь может прекратить расчеты или не обращать на это внимание. В последнем случае программа больше не будет проверять нахождение переменных в указанных пределах. Для каждого вида анализа DC, AC, TRAN записывается отдельная директива .WATCH. При этом недоступен вывод группового времени запаздывания (в режиме АС) и состояний цифровых узлов.
Длина строки выходного файла устанавливается директивой
.WIDTH OUT = <значение>
Параметр <значение> устанавливает количество колонок в выходном файле: 80 (по умолчанию) или 132.
Выходные переменные. Опишем, как составляются имена выходных переменных, используемых в директивах .PRINT, .PLOT и .PROBE. В разных видах анализа имена несколько различаются.
1. Режимы DC и TRAN. При расчете режима по постоянному току и переходных процессов используются выходные переменные, приведенные в табл. 4.9.
Таблица 4.9. Выходные переменные при анализе переходных процессов
Общая форма |
Пример |
Пояснение |
||
V(<узел>) |
V(2) |
Потенциал узла |
||
V(<+узея>, <-узел>) |
V(2,4) |
Разность потенциалов узла |
||
V(<имя >) |
V(R1) |
Разность потенциалов между выводами двухполюсного компонента |
||
Vх(<имя>) |
VB(Q1) |
Потенциал вывода многополюсного компонента |
||
Vу(<имя>) |
VCE(Q3) |
Разность потенциалов между выводами многополюсного компонента |
||
Vxy(<имя>) |
VA(T2) |
Напряжение на входе или выходе линии передачи (z = A — вход, z = В — выход) |
||
I(<имя>) |
K(D5) |
Ток через двухполюсный компонент |
||
Iх(<имя>) |
IB(Q1) |
Ток через указанный вывод многополюсного компонента |
||
Iz(<имя>) |
IA(T3) |
Ток через входные или выходные зажимы линии передачи (z = A — вход, z = В — выход) |
||
В спецификации переменных V(<uмя>), I(<имя>) параметр <имя> указывает на один из двухполюсных компонентов, имена которых начинаются со следующих букв: С — конденсатор; D — диод; Е — ИНУН; F — ИТУТ; G — ИТУН; Н — ИНУТ; I — независимый источник тока; L — индуктивность; R — резистор; S — ключ, управляемый напряжением; V — независимый источник напряжения; W — ключ, управляемый током.
В спецификациях переменных V х(<имя>), Vху(<имя>) и I х(<имя>) параметр <имя> указывает имя трехполюсного или четырехполюсного компонента, а х и у — аббревиатуры их выводов (см. табл. 4.10).
Таблица 4.10. Имена трех- и четырехполюсных компонентов
Первая буква имени |
Компонент |
Аббревиатура вывода |
||
В |
Арсенид-галлиевый полевой транзистор |
D (сток) G (затвор) S (исток) |
||
J |
Полевой транзистор |
D (сток) G (затвор) S (исток) |
||
М |
МОП-транзистор |
D (сток) G (затвор) S (исток) В (подложка) |
||
Q |
Биполярный транзистор |
С (коллектор) В (база) Е (эмиттер) S (подложка) |
||
Первая буква имени |
Компонент |
Аббревиатура вывода |
||
Т |
Линия передачи |
VA (входное напряжение) IA (входной ток) VB (выходное напряжение) IB (выходной ток) |
||
Z |
Статически индуцированный биполярный транзистор |
С (коллектор) G (затвор) Е (эмиттер) |
||
Например, напряжение коллектор — база транзистора Q3 обозначается как VCB(Q3). В спецификациях переменных VZ(<UMH>), Iz(<имя>) в качестве параметра <имя> указывается имя линии передачи (начинается с буквы Т), а символ 2 принимает два значения: А — вход, В — выход линии передачи.
2. Режим АС. При выводе результатов расчета частотных характеристик к именам переменных, перечисленным выше, добавляются суффиксы, перечисленные в табл. 4.11.
Таблица 4.11. Суффиксы переменных при расчете частотных характеристик
Суффикс |
Пример |
Пояснение |
||
|
V(2,3) |
Модуль |
||
М |
VM(2) |
Модуль |
||
DB |
VDB(Rl) |
Модуль в децибелах |
||
Р |
VCEP(Q3) |
Фаза в радианах |
||
G |
IAGCT2) |
Групповое запаздывание |
||
R |
IR(VIN) |
Действительная часть |
||
I |
IKR13) |
Мнимая часть |
||
В отличие от режимов DC и TRAN в режиме АС возможен вывод токов не всех компонентов, а только следующих: R — резисторы; С — конденсаторы; I — независимые источники тока; L — индуктивности; Т — линии передачи; V — независимые источники напряжения. Для вывода токов других устройств необходимо последовательно с ними включить независимый источник напряжения с нулевой ЭДС и затем указать спецификацию тока этого источника.
3. Анализ уровня внутреннего шума. При расчете уровня внутреннего шума имена выходных переменных имеют стандартный вид:
В программе Probe корень квадратный из спектральной плотности напряжения и тока внутреннего шума выводится в виде V(INOISE), I(INOISE), V(ONOISE).
Кроме того, доступны и парциальные спектральные плотности напряжения выходного шума, обусловленные отдельными источниками шума: шумом отдельного резистора, отдельной составляющей шумов транзистора и общим шумом от каждого транзистора и т.п. Типы этих составляющих спектральных плотностей шума приведены в табл. 4.12.
Таблица 4.12. Обозначения составляющих спектральных плотностей шума
Тип компонента |
Тип шума |
Пояснения |
||
В (арсенид-галлиевый полевой транзистор |
FID |
Фликкер-шум |
||
RD |
Тепловой шум сопротивления RD |
|||
RG |
Тепловой шум сопротивления RG |
|||
RS |
Тепловой шум сопротивления RS |
|||
SID |
Дробовой шум |
|||
ТОТ |
Общий шум |
|||
D (диод) |
FID |
Фликкер-шум |
||
RS |
Тепловой шум сопротивления RS |
|||
SID |
Дробовой шум |
|||
ТОТ |
Общий шум |
|||
Digital Input |
RHI |
Тепловой шум сопротивления RHI |
||
RLO |
Тепловой шум сопротивления RLO |
|||
ТОТ |
Общий шум |
|||
Digital Output |
ТОТ |
Общий шум |
||
J (полевой транзистор) |
FID |
Фликкер-шум |
||
RD |
Тепловой шум сопротивления RD |
|||
RG |
Тепловой шум сопротивления RG |
|||
RS |
Тепловой шум сопротивления RS |
|||
SID |
Дробовой шум |
|||
TOT |
Общий шум |
|||
M (МОП-транзистор) |
FID |
Фликкер-шум |
||
RB |
Тепловой шум сопротивления RB |
|||
RD |
Тепловой шум сопротивления RD |
|||
RG |
Тепловой шум сопротивления RG |
|||
RS |
Тепловой шум сопротивления RS |
|||
SID |
Дробовой шум |
|||
TOT |
Общий шум |
|||
Тип компонента |
Тип шума |
Пояснения |
||
Q (BJT) |
FID |
Фликкер-шум |
||
RB |
Тепловой шум сопротивления RB |
|||
RD |
Тепловой шум сопротивления RD |
|||
RC |
Тепловой шум сопротивления RC |
|||
RE |
Тепловой шум сопротивления RE |
|||
SIB |
Дробовой шум тока базы |
|||
SIC |
Дробовой шум тока коллектора |
|||
ТОТ |
Общий шум |
|||
R (резистор) |
ТОТ |
Общий шум |
||
Iswitch (ключ) |
ТОТ |
Общий шум |
||
Vswitch (ключ) |
тот |
Общий шум |
||
Примечания.
1. Парциальные шумы статически индуцированных биполярных транзисторов IGBT в данной версии PSpice не рассчитываются.
2. Спектральная плотность напряжения шума имеет размерность В 2 /Гц.
3. При построении графиков спектральной плотности шума в программе Probe к имени типа составляющей шума добавляется префикс N. Приведем примеры: NFIB(Q1) означает вклад в спектральную плотность выходного шума флик-кер-шума транзистора Q1, NTOT(Q1) — вклад шума транзистора Q1; NTOT(Rl) — вклад шума резистора Rl; NTOT(ONOISE) — суммарная спектральная плотность выходного шума, причем NTOT(ONOISE) = V(ONOISE) 2 .
16. Вспомогательные файлы, определение параметров и функций.
Функции, определяемые пользователем, задаются по директиве
.FUNC <имя функции>([<аргумент>*]) {<тело>}
Количество аргументов находится в пределах от 1 до 10. Имя функции назначает пользователь, но оно не должно совпадать с именами встроенных функций, например SIN и др. Тело функции, содержащее ее описание, состоит из арифметических выражений и стандартных функций и заключается в фигурные скобки {}. Если аргументы отсутствуют, круглые скобки ( ) все равно нужны. Определение функции в задании на моделирование должно предшествовать ее использованию. Тело функции можно записывать на нескольких строках, помещая символ «+» в первой позиции строки продолжения. Приведем примеры:
. FUNC DR(D) D/57.296
.FUNC E(X) ЕХР(Х)
.FUNC APBX(A.B.X) А+В*Х
.FUNCP()SIN(0.19634954)
Набор стандартных функций целесообразно записывать в файлы и подключать их к заданию на моделирование директивой .INC.
Глобальные параметры задаются директивами вида .PARAM «имя параметра>=< значение»* .PARAM «имя параметра>={<выражение>}>*
Значения параметров могут быть константами или выражениями, содержащими константы или другие параметры. Выражения должны заключаться в фигурные скобки { }. Введем, например, параметры pi = л, pi2 = 2л, напряжение источника питания VPOWER=5 и используем один из них при описании емкости конденсатора С1:
.PARAM pi=3.14159265, pi2=6.2831853, VPOWER=5v
.PARAM VNUM = {8*pi} C1 20{1/(pi2*10kHz*5k)}
Имена вводимых параметров не должны совпадать с именем текущего времени TIME и именами стандартных параметров:
Директиву .PARAM можно использовать внутри описания макромодели для создания локальных параметров. С помощью параметров можно определять все параметры моделей устройств и большинство параметров компонентов и директив, за исключением:
Параметры нельзя использовать для именования узлов цепи и задания значений переменных в директивах моделирования .AC, .DC и др.
Директивы .PARAM можно помещать в библиотечные файлы. В процессе поиска параметров сначала просматривается задание на моделирование, а затем все подсоединенные файлы.
Файл библиотеки компонентов подключается по директиве
.LIB ["имя файла библиотеки"]
В файле библиотеки с указанным именем содержится описание встроенных моделей одного или нескольких компонентов (параметры каждого компонента вводятся по директиве .MODEL) или подсхем (описанных с помощью директив .SUBCKT/.ENDS). В этом же файле могут быть помещены комментарии и обращения к другим директивам .LIB.
При указании в задании на моделирование имени какого-либо конкретного компонента, модель которого содержится в библиотечном файле, в ОЗУ загружается не весь файл, а только его часть, относящаяся к данному компоненту.
Приведем примеры:
.LIB "KT315A.mod" — подключение файла описания модели транзистора КТ315А;
.LIB "QRUS.lib" — подключение файла библиотеки отечественных биполярных транзисторов;
.LIB "D:\PSPICE\LIB\diode.lib" — подключение библиотеки диодов, находящейся на диске С: в подкаталоге LIB каталога PSPICE.
В каталоге \OrCAD\Library\PSpice может находиться файл каталога библиотек NOM.LIB, в нем перечислены директивы подключения всех используемых библиотек.
Приведем пример этого файла, создаваемого пользователем:
.LIB "D:\PSPICE\LIB\qrus.lib"
.LIB "D:\PSPICE\LIB\d.lib"
.LIB "D:\PSPICE\LIB\digit.lib"
В таком случае в задании на моделирование указывается директива .LIB без параметров.
При работе с графическим редактором PSpice Schematics подключение библиотек производится по команде Analysis>Library and Include Files. Причем опции, помеченные звездочкой «*», делают выбранный библиотечный файл доступным для всех схем, без звездочки — только для текущей схемы.
Индексные файлы библиотек. В программе PSpice для ускорения поиска нужной модели в библиотечном файле введены индексные файлы, имеющие расширение *.IND. Они создаются автоматически при первом обращении по директиве .LIB к библиотеке, в которой произведены изменения. Обратим внимание на то, что создание индексного файла требует больших затрат машинного времени, поэтому часто изменяемую часть библиотечного файла целесообразно оформить в виде отдельного файла.
Произвольный файл включается в текст задания на моделирование по директиве
.INC <"имя файла"> Например,
.INC "band.cif
.INC "D:\ORCAD\PSPICE\LIBRARY\diode.mod"
Допускаются четыре уровня включения, причем включаемые файлы не должны иметь заголовков и директив .END.
При работе с графическим редактором PSpice Schematics подключение произвольных текстовых файлов производится по команде Analysis>Library and Include Files.
Конец задания отмечается директивой
.END
В одном файле могут помещаться задания на моделирование нескольких цепей, каждое из которых начинается с заголовка задания и заканчивается этой директивой.
17. Прочие директивы. Задание текстовых переменных, текстовых выражений и имен файлов производится по директиве
.TEXT «имя> = "<имя файла>">*
.TEXT «имя> = |<текстовое выражение>|>*
Директива .TEXT используется только при моделировании цифровых устройств. Текстовые параметры используются в следующих случаях:
Спецификация внешних портов выполняется по директиве .EXTERNAL <атрибут> <имя узла>*
Параметр <атрибут> принимает одно из значений INPUT (входной), OUTPUT (выходной) или BIDIRECTIONAL (двунаправленный) в соответствии с назначением порта. Внешние порты предназначены для подсоединения периферийных устройств (например, генераторов сигналов) к моделируемой схеме. Приведем примеры
.EXTERNAL INPUT Datal, Data2, Data3
.EXTERNAL OUTPUT P1
.EXTERNAL BIDIRECTIONAL BPortl BPort2 BPortS
Задание имени файла с описанием внешних воздействий выполняется по директиве
.STIMLIB <имя файла[.stl}>
Файл описания внешних сигналов с расширением *.STL создается программой Stimulus Editor (разд. 5.2) и делается доступным для моделирования с помощью этой директивы. Расширение имени файла, в том числе и *.STL, указывать обязательно. Задание внешних воздействий выполняется с помощью директивы
.STIMULUS <имя сигнала> <тип> <параметры>* Приведем примеры
.STIMULUS InputPulse PULSE (-1mv 1mv 2ns 2ns 50ns 100ns)
.STIMULUS DigitalPulse STIM (1,1)
+ 0s1
+10ns0
+ 20ns 1
.STIMULUS 50KHZSIN SIN (0 5 50kHz 000)
Директива .STIMULUS вносится в библиотеки воздействий, созданных с помощью программы Stimulus Editor. Каждое воздействие имеет имя <имя сигнала>, присваиваемое источникам напряжения или тока (типа V или I) или источникам цифровых сигналов (типа STIM).