Директивы моделирования
Задание начальных условий
Начальные значения узловых потенциалов по постоянному току задаются по директиве:
.IC V(
<Номер узла>
[,
<номер узла>
})
=
<Значение ЭДС>
*
Приведем пример:
.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 она выполняется только на первом шаге варьирования источников напряжения). Если заданные значения узловых потенциалов близки к точному решению, то процесс итерационного расчета режима по постоянному току завершается за меньшее количество итераций. Эта директива полезна при расчете очень больших схем по частям и расчете схем с несколькими устойчивыми состояниями.
Управление выдачей результатов
Результаты расчетов в виде таблиц выводятся в выходной файл с расширением *.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
)