Система схемотехнического моделирования и проектирования Design Center

       

Статистический анализ


Статистический анализ по методу Монте-Карло (Monte Carlo). Он производится при статистическом разбросе параметров, описанных по директиве .MODEL. Случайное значение параметра x рассчитывается по формуле

где

 – номинальное значение параметра, указанное в директиве .MODEL;
 – относительный разброс параметра x;
 – центрированная случайная величина, принимающая значения на отрезке (–1, +1). 

Случайные величины x создаются с помощью генераторов случайных чисел. Величина относительного разброса каждого параметра

 и закон распределения случайной величины
 задаются опцией <спецификация случайного разброса параметра> директивы .MODEL, которая имеет вид

[DEV[/<генератор #>][/<закон распределения>] <разброс>[%]]

[LOT[/<генератор #>][/<закон распределения>] <разброс>[%]]

Параметр <генератор #> указывает номер генератора случайных чисел (от 0 до 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>>*

Здесь параметр <имя> назначает имя закону распределения, который задается в табличной форме. Пары чисел задают значения случайной величины
 и соответствующую вероятность P. Всего может быть задано до 100 точек. Все значения
 должны находиться на интервале (–1, +1). Координаты точек должны указываться в порядке возрастания
 (допускается повторять предыдущие значения
). Между соседними точками производится линейная интерполяция.

Приведем пример задания бимодального распределения, график которого изображен на рис. 3.19

.DISTRIBUTION  BI_MODAL  (-1,1)  (-.5,1)  (-.5,0)  (.5,0)  (.5,1)  (1,1)





Рис. 3.19. Бимодальный закон распределения
Случайным параметрам, закон распределения которых не задан явно в директиве .MODEL, по умолчанию назначается распределение, указанное в опции DISTRIBUTION директивы .OPTIONS.

Статистические испытания по методу Монте-Карло проводятся при расчете режима по постоянному току, переходных процессов или частотных характеристик по директиве

.MC <n> [ DC ] [ TRAN ] [ AC ] <имя выходной переменной>

+ <обработка результатов> [ LIST ]

+ [ OUTPUT <cпецификация>] [ RANGE(<минимум>,<максимум>) ]

+ [ SEED=<значение>]

Параметр <n> задает количество статистических испытаний. Ключевые слова DC, TRAN, AC указывают вид анализа. После них указывается <имя выходной переменной>, подлежащей статистической обработке.

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

YMAX – расчет максимального отклонения текущей реализации от номинальной;



MAX – расчет максимального значения в каждой реализации;

MIN – расчет минимального значения в каждой реализации;

RISE_EDGE(<значение>) – определение момента первого пересечения заданного уровня снизу вверх (значение уровня задается в круглых скобках; в начале расчета значение реализации должно быть меньше этого уровня);

FALL_EDGE(<значение>) – определение момента первого пересечения заданного уровня сверху вниз (значение уровня задается в круглых скобках; в начале расчета значение реализации должно быть больше этого уровня).

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

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

ALL – во всех реализациях;

FIRST <m> – для первых m реализаций;

EVERY <m> – на каждой m-й реализации;

RUNS <m
>,<m
>... – для реализаций с указанными номерами m
, m
...

После ключевого слова RANGE определяется диапазон значений, в пределах которого статистически обрабатывается выходная переменная. Если вместо минимального или максимального значения этого диапазона указать звездочку “*”, то граница диапазона примет значение -
 или +
.

Переменная SEED задает начальное значение датчика случайных чисел. Оно может принимать нечетные значения в диапазоне 1...32 767 [6]. По умолчанию SEED=17 533. При одинаковых значениях SEED результаты статистического моделирования при последующих запусках программы повторяются.

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

.MC   5   TRAN  V(5)  YMAX   RANGE(-1,*)

.MC   100  AC  VM(3)  YMAX   LIST  OUTPUT=ALL

В старых версиях программы PSpice количество испытаний n ограничено 2000 при выводе данных в текстовый файл .out и 100 при наличии директивы .PROBE.   В Design Center 6.2 – не более 1000 испытаний.



Расчет чувствительности и наихудшего случая (Worst Case). Для этого применяется директива

.WCASE  [ DC ] [ TRAN ] [ AC ] <имя выходной переменной>

+ <обработка результатов> [<опции>]*

Виды анализа и параметры <имя выходной переменной>, <обработка результатов> такие же, как у директивы .MC.

Проводятся расчеты характеристик цепи при вариации параметров, имеющих опции DEV или LOT. Сначала по очереди изменяются все указанные параметры, что позволяет оценить параметрическую чувствительность характеристик. Измененные значения параметров рассчитываются по формуле

Новое значение = номинальное значение · (1 + RELTOL),

если не указана опция BY (см. ниже). В заключение рассчитываются характеристики цепи при одновременном изменении всех параметров по методу наихудшего случая. При этом значения параметров определяются по формуле

Новое значение = номинальное значение  · (1 ±
),

Опции имеют следующий смысл.

Ключевое слово OUTPUT ALL разрешает передавать в выходной файл характеристики цепи, указанные в директивах .PRINT, .PLOT и .PROBE, при всех комбинациях параметров при расчете чувствительности. В его отсутствие передаются данные лишь о номинальном режиме и наихудшем случае.

После ключевого слова RANGE(<минимум>,<максимум>) указывается диапазон значений, в пределах которого производится статистическая обработка выходной переменной. Если вместо минимального или максимального значения этого диапазона указать звездочку “*”, то граница диапазона принимает значение  –
 или +
.

Ключевые слова HI и LOW задают направление изменения параметров компонентов относительно номинальных значений при расчете наихудшего случая. Если определяется функция YMAX или MAX, по умолчанию назначается ключевое слово HI (положительное приращение), в противном случае – LOW (отрицательное приращение).

Ключевые слова VARY DEV, VARY LOT, VARY BOTH определяют характер случайного разброса параметров.


По умолчанию назначается параметр VARY BOTH и случайный разброс задается обоими параметрами DEV и LOT; два других ключевых слова означают случайный разброс, определяемый только одним параметром DEV или LOT соответственно.

Ключевые слова BY RELTOL, BYE <значение> задают относительное изменение параметров при расчете чувствительности. По умолчанию их изменение равно значению параметра RELTOL, указанному в директиве .OPTIONS.

Ключевое слово DEVICES(<список типов компонентов>) назначает типы компонентов, параметры которых изменяются при расчете чувствительности и наихудшего случая. Список типов компонентов состоит из первых символов их имен, перечисляемых слитно, без пробелов. Например, вариация параметров только резисторов (R), конденсаторов (C) и биполярных транзисторов (Q) назначается с помощью ключевого слова DEVICES RCQ.

Приведем примеры директивы .WCASE

.WCASE  DC  V(4,5)  YMAX

.WCASE  TRAN  V(1)  FALL_EDGE(3.5V)  VARY  BOTH  BY  RELTOL  DEVICES  RL

В задании на моделирование может быть либо директива .MC, либо .WCASE, но не обе вместе. Так моделируется наихудший случай для чисто аналоговых устройств.

Расчет наихудшего случая для смешанных устройств. При исследовании цифровых устройств наиболее актуально оценить влияние случайного разброса временных задержек цифровых ИС на характеристики устройства в целом. Сначала исследуются характеристики при номинальных значениях задержек, а затем интересно проверить работоспособность устройства при вариации задержек в заданных пределах. В версии PSpice 4 директива .WCASE для смешанных аналого-цифровых устройств неприменима, и поэтому приходилось одновременно всем задержкам присваивать минимальные, номинальные или максимальные значения. Эта информация полезна, но недостаточна, так как неприятности могут возникать не только при синхронных отклонениях задержек, но и при определенном сочетании максимальных отклонений отдельных варьируемых задержек. Эту возможность представляет директива .WCASE для Design Center  5.1.

Расчет наихудшего случая при моделировании смешанных аналого-цифровых устройств отличается от моделирования чисто аналоговых устройств. При моделировании по методу наихудшего случая аналого-цифровых устройств аналоговые секции моделируются при номинальных значениях параметров. В цифровых компонентах варьируются задержки, имеющие в моделях динамики ненулевые минимальные и максимальные значения (см. разд. 6.2). При подаче на вход цифрового компонента воздействия выходной узел имеет неопределенное логическое состояние на интервале времени, равном разности между максимальной и минимальной задержкой. После прохождения сигнала через второй цифровой компонент длительность неопределенного состояния увеличивается и т. д. Это так называемое моделирование “с нарастающей неопределенностью”.


Содержание раздела