Многовариантный анализ
Вариация параметров (Parametric) назначается по директиве .STEP, имеющей следующие разновидности:
.STEP [ LIN ] <имя варьируемого параметра> <начальное значение>
+ <конечное значение> <шаг приращения параметра>
.STEP [ OCT ] [ DEC ] <имя варьируемого параметра>
+ <начальное значение> <конечное значение> <количество точек>
.STEP <имя варьируемого параметра> LIST <значение>*
На каждом шаге вариации параметров по очереди выполняются все виды анализа характеристик цепи, задаваемых директивами .DC, .AC, .TRAN и др. Варьироваться могут все параметры всех моделей компонентов и глобальные параметры за исключением:
– параметров L и W МОП-транзистора (разрешается варьировать аналогичные параметры LD и WD);
– температурных коэффициентов TC1, 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 организовать многовариантный анализ.
Например, многовариантный анализ переходных процессов при изменении амплитуды A гармонического сигнала реализуется следующим образом:
.PARAM A=0
VSIGNAL 1 0 SIN(0 {A} 1kHz)
.STEP PARAM A LIST 1 2 5 10
.TRAN 0.1ms 5ms
Обратим внимание, что при вариации глобальных параметров их необходимо предварительно объявить по директиве .PARAM.
Изменение сопротивления резистора (и параметров других пассивных компонентов) осуществляется двояко. Во-первых, с помощью глобального параметра
.PARAM P=1
R1 2 0 {P}
.STEP PARAM P 15,45,10
Во-вторых, используя модель резистора
.MODEL RMOD RES(R=15)
R1 2 0 RMOD 1
.STEP RES RMOD(R) 15,45,10
Здесь RMOD – имя модели резистора, RES – тип модели, R – имя варьируемого параметра.
В связи с тем что многовариантный анализ производится также с помощью директив .TEMP, .MC, .WCASE и .DC, в одном задании на моделирование вместе с директивой .STEP разрешается помещать только одну из них. Две директивы .STEP в одном задании не допускаются.
Вариация температуры (Temperature) производится по директиве
.TEMP <температура>*
Здесь указывается список значений температуры (по шкале Цельсия), для которых следует выполнить все указанные в задании директивы анализа характеристик. Если указано несколько значений температуры, то все виды анализа проводятся для каждой температуры. Если директива .TEMP не приведена, а в директиве .OPTIONS не указано другого значения температуры, то расчеты проводятся для номинальной температуры Tnom = 27 C.