4.1.2. Директивы моделирования

 

4.1.2. Директивы моделирования

Программа PSpice рассчитывает следующие характеристики электронных цепей:

  • режим цепи по постоянному току в «рабочей точке» (Bias Point);
  • режим по постоянному току при вариации источников постоянного напряжения или тока, температуры и других параметров цепи (DC Sweep);
  • чувствительность характеристик цепи к вариации параметров компонентов в режиме по постоянному току (Sensitivity);
  • малосигнальные передаточные функции в режиме по постоянному току (Transfer Function);
  • характеристики линеаризованной цепи в частотной области при воздействии одного или нескольких сигналов (AC Sweep);
  • спектральную плотность внутреннего шума (Noise Analysis);
  • переходные процессы при воздействии сигналов различной формы (Transient Analysis);
  • спектральный анализ (Fourier Analysis);
  • "статистические испытания по методу Монте-Карло и расчет наихудшего случая (Monte Carlo/Worst Case);
  • многовариантный анализ при вариации температуры (Temperature) и других параметров (Parametric).

С помощью модуля PSpice Optimizer выполняется параметрическая оптимизация (см. разд. 5.4).

Каждому виду расчета соответствует определенная директива. Их полный перечень приведен в табл. 4.6.

Таблица 4.6. Директивы моделирования

Имя

Назначение

Расчет стандартных характеристик

.АС

Расчет частотных характеристик

.DC

Расчет режима по постоянному току

.FOUR

Спектральный анализ

.NOISE

Расчет уровня внутреннего шума

.OP

Передача в выходной файл параметров схемы, линеаризованной в окрестности рабочей точки

.SENS

Расчет малосигнальных чувствительностей в режиме по постоянному току

.TF

Расчет малосигнальных передаточных функций в режиме по постоянному току

.IRAN

Расчет переходных процессов

Управление выдачей результатов

.PLOT

Представление результатов расчета в выходном файле в виде графиков, построенных в текстовом режиме

 

Имя

Назначение

.PRINT

Представление результатов расчета в выходном файле в виде таблиц

.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.

  1. AC Sweep — расчет частотных характеристик и уровня шума. Частотные характеристики рассчитываются по директиве:

.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 определяется характер изменения частоты:

  • Linear — линейная шкала;
  • Octave — изменение частоты октавами;
  • Decade — изменение частоты декадами.

В разделе Sweep Parameters задаются параметры диапазона частот:

  • Total Pts., Pts/Decade, Pts/Octave — общее количество точек при выборе линейного масштаба или количество точек по частоте на одну декаду или октаву;
  • Start. Freq. — начальная частота;
  • End Freq. — конечная частота.

В разделе Noise Analysis устанавливаются параметры расчета спектральной плотности внутреннего шума:

  • Noise Enabled — включение режима расчета уровня шума;
  • Output Voltage — выходное напряжение;
  • I/ V Source — имя входного источника напряжения или тока;
  • Interval — интервал п расчета парциальных уровней шума.

Расчет характеристик в частотной области производится после определения режима по постоянному току и линеаризации нелинейных компонентов (это делается автоматически, никаких дополнительных директив не требуется). Все независимые источники напряжения 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 <выходная переменная>*

В качестве выходных переменных при расчете уровней шума используются следующие имена:

  • INOISE, DB(INOISE) —корень(S BX (f)) в относительных единицах и децибелах;
  • ONOISE, DB(ONOISE) — корень( S u вых (f)) в относительных единицах и децибелах.

Например:

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

  1. Load Bias Point — загрузка данных режима по постоянному току.

Считывание из файла узловых потенциалов производится по директиве

.LOADBIAS <"имя файла">

Из файла, созданного в предыдущем сеансе работы с программой PSpice, считываются узловые потенциалы по постоянному току. Для выполнения расчета переходных процессов по директиве .TRAN с заданными начальными условиями этот файл можно предварительно отредактировать и заменить директиву .NODESET на .IC. Для передачи содержания файла узловых потенциалов, указанного в директиве .LOADBIAS, в выходной файл результатов (с расширением имени *.OUT), необходимо в директиве .OPTIONS указать параметр EXPAND.

Приведем примеры:

.LOADBIAS "DC_POINT.NOD"

.LOADBIAS "D:\PSPICE\JOB\TR_DATA.TRN"

  1. Save Bias Point — сохранение данных режима по постоянному току. Запись в файл узловых потенциалов осуществляется по директиве

.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).

  1. DC Sweep — вариация параметров при расчете режима по постоянному току. Расчет режима по постоянному току производится при вариации одного или нескольких источников постоянного напряжения или тока, температуры, параметров моделей компонентов схемы и глобальных параметров по директивам

.DC [LIN] <имя 1-й переменной> <начальное значение>

+ <конечное значение> <приращение>

+ [<имя 2-й переменной> <начальное значение>

+ <конечное значение> <приращение>]*

.DC [ОСТ] [DEC] <имя 1-й переменной> <начальное значение> + <конечное значение> <количество точек>

+ [<имя 2-й переменной> <начальное значение> + <конечное значение> <количество точек>]*

.DC <имя 1-й переменной> LIST <значение>* + [<имя 2-й переменной> LIST <значение>*]

Режим по постоянному току рассчитывается для нескольких значений варьируемых переменных, в качестве которых могут приниматься:

  • имена независимых источников напряжения или тока;
  • параметры моделей компонентов (указываются тип компонента, имя модели и в круглых скобках имя варьируемого параметра);
  • температура (в качестве ее имени указывается TEMP);
  • глобальные параметры (указывается ключевое слово PARAM и вслед за ним имя варьируемого глобального параметра, определенного ранее).

Характер изменения переменных задается ключевыми словами:

  • LIN — линейный масштаб (ключевое слово LIN можно не указывать);
  • DEC, ОСТ — логарифмический масштаб декадами или октавами;
  • 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 задается тип варьируемого параметра:

  • Voltage Source — источник напряжения;
  • Temperature — температура;
  • Current Source — источник тока;
  • Model Parameter — параметр модели компонента;
  • Global Parameter — глобальный параметр.

В зависимости от выбранного типа параметра заполняются одно или несколько строк:

  • Name — имя варьируемого параметра (для параметров типа Voltage Source, Current Source, Global Parameter);
  • Model Type — тип модели, например, RES, DIODE, NPN (для Model Parameter);
  • Model Name — имя модели, например КТ315А (для Model Parameter);
  • Param. Name — имя параметра (для Model Parameter, Global Parameter).

В разделе Sweep Type задается тип вариации параметра:

  • Linear — линейный масштаб;
  • Octave — логарифмический масштаб октавами;
  • Decade — логарифмический масштаб декадами;
  • Value List — в виде списка параметров.

Пределы изменения параметров задаются на строках:

  • Start Value — начальное значение;
  • End Value — конечное значение;
  • Increment — приращение;
  • Pts/ Decade (Octave) — количество точек на одну декаду (октаву);
  • Values — список параметров.
  1. Monte Carlo/Worst Case — статистический анализ и наихудший случай. Статистический анализ по методу Монте-Карло (Monte Carlo) производится при статистическом разбросе параметров, описанных по директиве .MODEL. Случайное значение параметра х рассчитывается по формуле где x HOM — номинальное значение параметра, указанное в директиве .MODEL; А — относительный разброс параметра х; £, — центрированная случайная величина, принимающая значения на отрезке (-1, +1).

Случайные величины создаются с помощью генераторов случайных чисел. Величина относительного разброса каждого параметра А и закон распределения случайной величины £, задаются опцией < спецификация случайного разброса параметра> директивы .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%)

В программе имеются генераторы случайных величин с двумя стандартными законами распределения:

  • UNIFORM — равновероятное распределение на отрезке (-1, +1);
  • GAUSS — гауссовское распределение на отрезке (-1, +1) с нулевым средним значением и среднеквадратическим отклонением ст = 0,25 (т.е. создается усеченное гауссовское распределение на интервале ±4а).

Кроме того, пользователь может задать нестандартный закон распределения случайных величин £, с помощью директивы

.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. Бимодальный закон распределения

При статистическом анализе предусматривается разнообразная статистическая обработка результатов моделирования, характер которой определяется с помощью опции < обработка результатов>, принимающей одно из следующих значений:

  • YМАХ — расчет максимального отклонения текущей реализации от номинальной;
  • МАХ — расчет максимального значения в каждой реализации;
  • MIN — расчет минимального значения в каждой реализации;
  • RlSE_EDGE(<значение>) — определение момента первого пересечения заданного уровня снизу вверх (значение уровня задается в круглых скобках; в начале расчета значение реализации должно быть меньше этого уровня);
  • FALL_EDGE(<значение>) — определение момента первого пересечения заданного уровня сверху вниз (значение уровня задается в круглых скобках; в начале расчета значение реализации должно быть больше этого уровня).

По необязательному ключевому слову LIST на печать выводится список значений всех случайных параметров во всех реализациях.

В отсутствие ключевого слова OUTPUT характеристики цепи, указанные в директивах .PRINT, .PLOT или .PROBE, выводятся на печать или передаются в постпроцессор Probe один раз для номинального значения случайных параметров. С помощью ключевого слова OUTPUT их можно вывести требуемое число раз, задавая после этого слова следующие параметры:

  • ALL — во всех реализациях;
  • FIRST <m> — для первых т реализаций;
  • EVERY <m> — на каждой m-й реализации;
  • RUNS <m1>,<m2>... — для реализаций с указанными номерами т1, т2, ...

После ключевого слова 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. Смысл остальных параметров такой же, как и при текстовом вводе директив (см. выше).

  1. Bias Point Detail — вывод подробной информации о режиме по постоянному току. Нажатие кнопки Bias Point Detail в окне выбора директив моделирования вставляет в задание на моделирование директиву .ОР

Режим по постоянному току всегда рассчитывается в начале моделирования перед выполнением других видов анализа без указания специальных директив. При расчете режима по постоянному току принимаются во внимание параметры DC всех независимых источников напряжения и тока. Результаты расчетов выводятся в текстовый файл *.OUT в виде таблицы узловых потенциалов и списка токов независимых источников. При наличии директивы .ОР дополнительно рассчитываются малосигнальные параметры линеаризованных схем замещения полупроводниковых приборов и нелинейных управляемых источников, которые также выводится в выходной файл *.OUT.

Кроме того, анализ по постоянному току выполняется перед расчетом пере-ходных процессов по директиве .TRAN для определения начальных условий (если отсутствует ключевое слово SKIPBP) и перед анализом в частотной области по директиве .АС для линеаризации нелинейных компонентов в окрестности режима по постоянному току.

Обсудим особенности расчета режима по постоянному току. В программе он рассчитывается итерационным методом Ньютона-Рафсона. В отсутствие сходимости рекомендуется по директиве .OPTIONS увеличить максимальное количество итераций ITL1 (по умолчанию ITL1 = 40). Для повышения скорости сходимости рекомендуется с помощью директивы .NODESET устанавливать начальные значения узловых потенциалов, как можно более близкие к ожидаемому режиму по постоянному току (при отсутствии этой директивы все узловые потенциалы на начальной итерации полагаются равными нулю). Если решение методом Ньюто-на-Рафсона не сходится, программа автоматически переходит к методу вариации напряжений источников питания, который ценой увеличения затрат машинного времени обеспечивает сходимость решения в большинстве случаев. При включении опции STEPGMIN (см. п. 8) в отсутствие сходимости методом Ньюто-на-Рафсона сначала применяется метод вариации минимальной проводимости GMIN и затем, в случае его неудачи, метод вариации напряжений источников питания.

Приближенные значения режима по постоянному току с помощью директивы .NODESET нужно указывать при анализе схем, имеющих несколько устойчивых состояний.

  1. Digital Setup — задание параметров цифровых устройств. Параметры цифровых устройств, устанавливаемые по умолчанию, задаются в диалоговом окне (рис. 4.10), открываемом при нажатии кнопки Digital Setup в окне выбора директив моделирования (рис. 3.49). В разделе Timing Mode устанавливается тип времени запаздывания во всех компонентах:
  • Minimum — минимальное;
  • Typical — типичное;
  • Maximum — максимальное;
  • Worst-case (Min/Max) — вариация задержки при расчете наихудшего случая (минимальная/максимальная).

В разделе Default A/D Interface задается тип модели интерфейсов вход/выход, назначаемый по умолчанию (см. разд. 4.3).

В разделе Flip-flop Initialization задаются начальные значения выходным состояниям триггеров:

  • Аll X — присвоить неопределенное состояние X;
  • Аll 0 — присвоить состояние логического «О»;
  • All 1 — присвоить состояние логической «1».

8. Options — параметры моделирования. Параметры и режимы работы программы PSpice устанавливаются в диалоговом окне, открываемом нажатием кнопки Options в окне выбора директив моделирования . Это выполняется с помощью директивы

.OPTIONS [имя опции]* [<имя опции> = <значение>]*

Например:

.OPTIONS NOPAGE NODE RELTOL=1e-4

Рис. 4.5. Установка параметров моделирования

Опции перечисляются в любом порядке.

Они подразделяются на два вида:

  • опции, имеющие численное значение — для его изменения в окне, изображенном на рис. 4.5, выбирается курсором имя опции, в строке New Value вводится новое значение и нажимается кнопка Accept;
  • опции, не имеющие численного значения; их можно назвать флагами, находящимися в положении «включено» (Y) или «выключено» (N) — для изменения их состояний производится двойной щелчок на строке с именем опции.

Приведем список флагов (в скобках указаны значения по умолчанию):

  • АССТ — вывод статистики времени выполнения всех видов анализа характеристик цепи и других данных о задании на моделирование (N);
  • EXPAND — включение в описание схемы описания макромоделей (N);
  • LIBRARY — включение в описание схемы описания моделей из библиотечных файлов (N);
  • LIST — вывод списка всех компонентов цепи (N);
  • NOBIAS — запрещение вывода в выходной файл значений узловых потенциалов в рабочей точке (N);
  • NODE — печать списка соединений (N);
  • NOECHO — запрещение включения в выходной файл части описания схемы, располагаемой после строки с директивой .OPTIONS (N);
  • NOICTRANSLATE — отмена установки начальных условий расчета переходных процессов, выполненных с помощью директив .IC (имеются в виду начальные напряжения на конденсаторах и токи через индуктивности) (N);
  • NOMOD — запрещение вывода списка параметров моделей (N);
  • NOOUTMSG — подавление передачи в выходной файл сообщений об ошибках моделирования (N);
  • NOPAGE — запрещение перевода страниц в выходном файле (N);
  • NOPRBMSG — подавление передачи в файл данных для программы Probe сообщений об ошибках моделирования (N);
  • NOREUSE — запрещение автоматического сохранения и восстановления информации о режиме по постоянному току при вариации температуры, статистическом анализе, расчете наихудшего случая и при вариации параметров (N);
  • OPTS — вывод значений всех опций (N);
  • STEPGMIN — включение алгоритма расчета режима по постоянному току вариацией проводимости GMIN в случае отсутствия сходимости метода Ньютона-Рафсона. При наличии этой опции в отсутствии сходимости сначала применяется метод вариации GMIN и затем, в случае неудачи, метод вариации источников питания (в отсутствии этой опции используется только метод вариации источников питания) (N).

Если какой-либо флаг не указан, то по умолчанию устанавливается режим, противоположный описанному выше.

Опции, имеющие численные значения, представлены в табл. 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

 

  1. Parametric — многовариантный анализ. Вариация параметров назначается по директиве .STEP, имеющей следующие разновидности:

.STEP [LIN] <имя варьируемого параметра> <начальное значение> + <конечное значение> <шаг приращения параметра>

.STEP [ОСТ] [DEC] <имя варьируемого параметра>

+ <начальное значение> <конечное значение> <количество точек>

.STEP <имя варьируемого параметра> LIST < значение>*

На каждом шаге вариации параметров по очереди выполняются все виды анализа характеристик цепи, задаваемых директивами .DC, .AC, .TRAN и др. Варьироваться могут все параметры всех моделей компонентов и глобальные параметры за исключением:

  • параметров L и W МОП-транзистора (разрешается варьировать аналогичные параметры LD и WD);
  • температурных коэффициентов TCI, TC2 резисторов и других компонентов.

Приведем примеры:

.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 .

  1. Sensitivity — чувствительность в режиме по постоянному току.

Чувствительность в режиме малого сигнала рассчитывается по директиве 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).

  1. Temperature — вариация температуры. Вариация температуры производится по директиве

.TEMP <температура>*

Здесь указывается список значений температуры (по шкале Цельсия), для которых следует выполнить все указанные в задании директивы анализа характеристик. Если указано несколько значений температуры, то все виды анализа проводятся для каждой температуры. Если директива .TEMP не приведена, а в директиве .OPTIONS не указано другого значения температуры, то расчеты проводятся для номинальной температуры Tnom = 27 °С.

При работе с управляющей оболочкой PSpice Schematics список температур указывается в диалоговом окне, открывающемся после нажатия на кнопку Temperature в меню выбора директив моделирования.

  1. Transfer Function — передаточные функции по постоянному току. Малосигнальные передаточные функции в режиме по постоянному току рассчитываются по директиве

.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 в меню выбора директив моделирования— указываются имена выходной и входной переменной.

  1. Transient — расчет переходных процессов. Переходные процессы рассчитываются по директиве

.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 необходимо задать по крайней мере два параметра:

  • Print Step — шаг вывода данных;
  • Final Time — конечное время.

Остальные параметры 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. Анализ уровня внутреннего шума. При расчете уровня внутреннего шума имена выходных переменных имеют стандартный вид:

  • INOISE — эквивалентный уровень шумового напряжения или тока на входе цепи, равный
  • ONOISE — уровень напряжения шума на выходе, равный корень (S U вых (f);)
  • DB(INOISE) — эквивалентный уровень шумового напряжения или тока на входе в децибелах;
  • DB(ONOISE) — уровень напряжения шума на выходе в децибелах.

В программе 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 и именами стандартных параметров:

  • GMIN — минимальная проводимость;
  • TEMP — текущая температура;
  • VT — температурный потенциал р-л-перехода.

Директиву .PARAM можно использовать внутри описания макромодели для создания локальных параметров. С помощью параметров можно определять все параметры моделей устройств и большинство параметров компонентов и директив, за исключением:

  • температурных коэффициентов резистора TCI, TC2, задаваемых в описании резистора на схеме (в модели резистора это, конечно, допускается);
  • параметров кусочно-линейного источника сигнала PWL;
  • линейных и полиномиальных коэффициентов зависимых линейных источников всех типов Е, F, G и Н (для этого рекомендуется использовать нелинейные источники).

Параметры нельзя использовать для именования узлов цепи и задания значений переменных в директивах моделирования .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 используется только при моделировании цифровых устройств. Текстовые параметры используются в следующих случаях:

  • для указания имени Intel Hex-файла для программирования ПЗУ или начальной записи в ОЗУ;
  • для указания имени файла генератора цифровых сигналов FSTIM;
  • для задания текстового параметра макромодели;
  • как часть текстового выражения, используемого в указанных выше целях.

Спецификация внешних портов выполняется по директиве .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).

4.16.gif

Изображение: 

4.1a.gif

Изображение: 

4.2a.gif

Изображение: 

4.2b.gif

Изображение: 

4.3a.gif

Изображение: 

4.3b.gif

Изображение: 

4.6.gif

Изображение: 

4.8.gif

Изображение: