Вы находитесь на странице: 1из 10

92 проектирование

Продолжение. Начало в № 11 `2008


Программа схемотехнического
моделирования SwitcherCAD III
В этой части статьи рассмотрены синтаксис языка LTspice и директивы
Михаил ПУШКАРЕВ моделирования.

Кратко о LTspice под новым именем или создайте новый чис- бы начать комментарий в середине строки.
тый файл схемы под новым именем. LTspice Строка, начинающаяся с «C1», объявляет, что
LTspice — инструмент моделирования схем использует различные типы файлов и доку- есть конденсатор емкостью 100 пФ между уз-
в SwitcherCAD III. Это программа моделиро- ментов. Описание схемы сохраняется в фай- лом n2 и «землей». Узел «0» — глобальная
вания схем с поддержкой рисования. LTspice- ле с расширением .asc. Команды рисования «земля» схемы.
симулятор первоначально базировался на схемы находятся в меню Edit. Клавиши бы- Случайные знаки, пробелы и табуляции
Berkeley SPICE 3F4/5. Симулятор претерпел строго вызова показаны в списке команд ре- игнорируются.
полную переработку с целью улучшения ра- дактора схем. Первый отличный от пробела знак в стро-
боты, обнаружения ошибок и доведен до со- Когда схема моделируется, информация ке (табл. 6) определяет тип элемента схемы.
стояния промышленного стандарта в полу- для списка соединений извлекается из графи- Числа могут быть выражены не только в на-
проводниковых и поведенческих моделях. ческой информации для создания файла учном написании, например, 1e12, но и с ис-
Наряду с расширением возможностей анало- с именем схемы, но с расширением .net.
гового SPICE-моделирования добавлена воз- LTspice читает его как netlist. Таблица 6. Первый символ в строке
можность цифрового моделирования, чтобы Можно также открывать, моделировать
сделать LTspice симулятором аналогового и редактировать текстовый список соедине- Символ,
начинающий Тип строки
и смешанного моделирования промышлен- ний, созданный вручную или сгенерирован- строку

ного уровня для большого класса схем им- ный извне. Файлы с расширениями .net, .cir * Комментарий
A Устройство со специальными функциями
пульсных регуляторов и фильтров на пере- и .sp распознаются LTspice как список соеди-
B Источник с произвольным поведением
ключаемых конденсаторах. нений. C Конденсатор
Многие продукты Linear Technology смо- D Диод
делированы с использованием составляющих Общая структура и соглашения E Источник напряжения, управляемый напряжением
F Источник тока, управляемый током
собственность блоков и (или) составляющих
G Источник тока, управляемый напряжением
собственность языка, которые объединяют Анализируемая схема описывается текс- H Источник напряжения, управляемый током
реалистичное поведение с традиционными товым файлом, называемым списком со- I Независимый источник тока
макромоделями. Это дает возможность быс- единений. Первая строка в списке соедине- J Полевой транзистор
с управляющим pn/переходом (JFET)
тро смоделировать систему питания и изго- ний игнорируется, так как по предположе- K Взаимная индуктивность
товить прототип. нию является комментарием. Последняя L Индуктивность
М МОП/транзистор (MOS)
LTspice может использоваться как SPICE- строка списка соединений обычно просто
O Линия передачи с потерями
симулятор схем общего назначения. Новые строка .END, но она может быть опущена. Q Биполярный транзистор
схемы можно создать с использованием под- Любые строки после строки .END игнори- R Резистор
ключенной программы рисования. Команды руются. S Ключ, управляемый напряжением
T Линия передачи без потерь
моделирования и параметры помещаются на Порядок строк между комментарием и кон-
U Распределенная RC/цепь
схему как текст с использованием синтакси- цом не регламентирован. Строки могут быть V Независимый источник напряжения
са SPICE. Щелчком мыши на цепи схемы комментариями, параметрами элементов схе- W Ключ, управляемый током
в процессе моделирования или после моде- мы или директивами моделирования. Нач- X Макромодель
Z Полевой транзистор с затвором Шоттки (MESFET)
лирования на экран выводятся графики на- нем с примера: Директива моделирования, например:
.
пряжений и токов. .options reltol=1e/4
* Первая строка игнорируется Продолжение предыдущей строки.
LTspice — зарегистрированная торговая + «+» не учитывается и продолжение строки считают
* Схема представляет собой резистивно-емкостной фильтр
марка Linear Technology Corporation. * с входным сигналом прямоугольной формы 1 МГц
частью предшествующей строки
R1 n1 n2 1К; резистор 1 кОм между узлами n1 и n2
C1 n2 0 100p; конденсатор 100 пФ между узлами n2 и «землей»
Описание схемы V1 n1 0 PULSE(0 1 0 0 0 .5μ 1μ); прямоугольный сигнал 1 МГц Таблица 7. Масштабные коэффициенты
.tran 3μ; анализ переходного процесса продолжительностью 3 мкс
.end
Схемы описываются текстом списка соеди- Суффикс Масштабный коэффициент

нений (netlist). Список соединений состоит T 1×1012


G 1×109
из списка элементов схемы и их узлов, опре- Первые две строки — комментарии. Любая Meg 1×106
делений моделей и других SPICE-команд. строка, начинающаяся с «*», является ком- K 1×103
Обычно список соединений формируется ментарием и игнорируется. Строка, начина- Mil 25,4×10–6
M 1×10–3
при графическом вводе схемы. Чтобы начать ющаяся с «R1», объявляет, что есть резистор
u (или μ) 1×10–6
новую схему, выберите в меню File>Open. сопротивлением 1 кОм, включенный между n 1×10–9
Появится окно файлового браузера. Выбери- узлами n1 и n2. Отметим, что при этом мо- p 1×10–12
те любую имеющуюся схему и сохраните ее жет использоваться точка с запятой «;», что- f 1×10–15

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 2 '2009


проектирование 93

пользованием инженерных множителей.


Таблица 8. Синтаксис компонентов
Таким образом, 1000 или 1e3 может также
быть записано как 1 К. В таблице 7 перечис- Устройство со специальными функциями Axx <узел 1> <узел 2> <узел 3> <узел 4> <узел 5> <узел 6> <узел 7> <узел 8>
<имя модели> [дополнительные параметры]
лены масштабные коэффициенты. Источник с произвольным поведением Bxx <+узел> <–узел> <V=… или I=…>
Не специфицированные буквы, следую- Cxx <+узел> <–узел> <емкость> [ic=<начальное напряжение>] [Rser=<значение>]
Конденсатор [Lser=<значение>] [Rpar=<значение>] [Cpar=<значение>]
щие после числа или инженерного множи- [m=<значение>] [дополнительные параметры]
теля, игнорируются. Следовательно, 10, 10 V, Диод Dxx <узел анода> <узел катода <имя модели> [коэффициент кратности area]
10 Volts и 10 Hz представляют одно и то же Источник напряжения, Exx <+узел> <–узел> <+управляющий узел>
управляемый напряжением </управляющий узел> <коэффициент передачи>
число, и М, MA, МSec и MMhos представ- Источник тока, управляемый током Fxx <+узел> <–узел> <имя управляющего источника напряжения> <коэффициент передачи>
ляют один и тот же масштабный коэффи- Источник тока, управляемый напряжением Gxx <+узел> <–узел> <+управляющий узел>
<–управляющий узел> <коэффициент передачи>
циент (0,001). Распространенная ошибка Источник напряжения, управляемый током Hxx <+узел> <–узел> <имя управляющего источника напряжения> <коэффициент передачи>
состоит в изображении резистора со значе- Независимый источник тока Ixx <+узел> <–узел> <значение тока>
Полевой транзистор Jxx <узел стока> <узел затвора> <узел истока> <имя модели>
нием сопротивления 1M, подразумевая ре- с управляющим pn/переходом (JFET) [коэффициент кратности area] [проводимость] [IC=<Vds,Vgs>] [temp=<температура>]
зистор в один мегаом, однако, 1M интер- Взаимная индуктивность Kxx L1 L2 L3… <коэффициент связи>
претируется как резистор с сопротивлени- Индуктивность Lxx <+узел> <–узел> <индуктивность> [ic=<начальный ток>] [Rser=<значение>]
[Rpar=<значение>] [Cpar=<значение>] [m=<значение>] [дополнительные параметры]
ем один миллиом. Этим обеспечивается Mxx <узел стока> <узел затвора> <узел истока> <узел подложки> <имя модели>
[L=<длина канала>] [W=<ширина канала>] [AD=<площадь стока>]
совместимость со стандартными SPICE-пра- МОП/транзистор (MOSFET) [AS=<площадь истока>] [PD=<периметр стока>] [PS=<периметр истока>] [NRD=<значение>]
вилами. [NRS=<значение>] [проводимость] [IC=<Vds, Vgs, Vbs>] [temp=<температура>]
Линия передачи с потерями Oxx <+узел порта L> <–узел порта L> <+узел порта R> <–узел порта R> <имя модели>
LTspice воспринимает числа, написанные Qxx <узел коллектора> <узел базы> <узел эмиттера> [узел подложки]
в форме 6K34, как 6,34 K. Это справедливо Биполярный транзистор <имя модели> [коэффициент кратности area] [проводимость]
[IC=Vbe,Vce][temp=<температура>]
для любого из перечисленных множителей. Резистор Rxx <узел1> <узел2> <сопротивление> [дополнительные параметры]
Эта возможность может быть выключена сле- Ключ, управляемый напряжением Sxx <узел1> <узел2> <+управляющий узел> <–управляющий узел> <имя модели>
[сопротивление замкнутого ключа, сопротивление разомкнутого ключа]
дующим путем Tools>Control Panel>SPICE Txx <+узел порта L><–узел порта L>
с отключением Accept 3K4 as 3.4K. Линия передачи без потерь <+узел порта R><–узел порта R>
ZO=<значение> TD=<значение>
Имена узлов могут быть произвольным Однородная RC/линия Uxx <узел1> <узел2> <узел общий> <имя модели> L=< длина, м>
с распределеными параметрами [N=<количество сегментов>]
набором символов. Узел глобальной «земли» Независимый источник напряжения Vxx <+узел> <–узел> <значение напряжения>
схемы — «0», хотя есть и «GND» — специаль- Ключ, управляемый током Wxx <узел1> <узел2> <имя управляющей ветви> <модель>
[сопротивление замкнутого ключа, сопротивление разомкнутого ключа]
ный синоним. Поскольку узлы обозначают-
Макромодель Xxx n1 n2 n3… <имя макромодели>
ся строкой символов, то «0» и «00» — разные Полевой транзистор Zxx <узел стока> <узел затвора> <узел истока> <имя модели>
цепи. с затвором Шоттки (MESFET) [коэффициент кратности area] [проводимость] [IC=<Vds,Vgs>]

Во всех последующих разделах угловые


скобки, помещенные вокруг полей данных, .AC — анализ на переменном токе
должны быть заполнены соответствующей в режиме малого сигнала,
информацией, например, <srcname> будет линеаризованный в окрестности
именем некоего определенного источника. рабочей точки по постоянному току
Квадратные скобки указывают, что вложен- (расчет частотных характеристик)
ные в поле данные являются дополнитель- Для малых приращений сигнала (линей-
ными и необязательными. ных) на переменном токе LTspice вычисляет
комплексные значения узловых напряжений
Синтаксис компонента и токов ветвей в функции частоты. Сначала
определяется рабочая точка схемы по посто-
Компоненты, поддерживаемые в LTSpice, янному току. Затем находятся линеаризован-
и их синтаксис приведены в таблице 8. ные для малого сигнала модели всех нели-
нейных компонентов схемы в этой рабочей
Директивы моделирования. точке. И, наконец, при использовании неза- Рис. 31. Задание параметров .AC/анализа
Команды с точкой висимых источников напряжения и тока как
управляющие сигналы результирующая ли-
Для начала моделирования необходимо оп- неаризованная схема обсчитывается в задан- бором в диалоговом окне пункта AC Analysis
ределить не только схему, но и вид анализа, ном диапазоне частот. и заполнением ячеек соответственно заданию.
который будет выполнен. Есть шесть различ- Этот метод применяется при анализе филь- Диалоговое окно показано на рис. 31.
ных типов анализа: линеаризованный анализ тров и цепей, устойчивости и шумов. Один из примеров анализа на переменном
на переменном токе в режиме малого сигна- Синтаксис: токе содержится в файле …LTC\SwCADIII\ex-
ла (linearized small signal AC), анализ на по- amples\Educational\phono.asc.
стоянном токе со ступенчатым изменением .ac <oct, dec, lin> <количество точек> <начальная частота> <ко-
нечная частота>
параметра (DC sweep), анализ шумов (noise), .BACKANNO — связь имен выводов
расчет рабочей точки на постоянном токе макромодели с токами портов
(DC operating point), нахождение передаточ- Частота изменяется от <начальной часто- Синтаксис:
ной функции на постоянном токе в режиме ты> до <конечной частоты>. Ключевые сло-
малого сигнала (small signal DC transfer func- ва oct, dec устанавливают логарифмический .backanno
tion) и анализ переходного процесса (tran- характер изменения частоты октавами и де-
sient analysis). Один из этих типов анализа кадами соответственно, lin — линейное из-
должен быть правильно описан. менение частоты. Ключевое слово <количе- Эта директива автоматически включается
Схема обычно изображается графически, ство точек> определяет количество точек на в каждый список соединений, генерируемый
а команды помещаются в схему как текст. Все октаву, декаду или весь диапазон частот. SwitcherCAD III из схемы. Она заставляет
такие команды начинаются с точки и поэто- Директива .AC вносится в лист схемы по ко- LTspice включить в .raw файл информацию
му названы «команды с точкой». манде Edit>SPICE Analysis с последующим вы- о связи токов портов с именами выводов. Это

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 2 '2009 www.kit5e.ru


94 проектирование

позволяет отображать ток через вывод ком- пользования .DC-директивы для демонстра- Например:
понента щелчком мыши на выводе компо- ции выходных характеристик биполярного
нента. транзистора. .func Pythag(x,y) {sqrt(x*x+y*y)}

.DC — анализ режима .END — конец списка соединений


по постоянному току Эта директива отмечает конец текстово- Директива .FUNC позволяет создание поль-
с вариацией параметров источников го списка соединений. Все строки после нее зовательских функций для использования
По этой директиве выполняется анализ по игнорируются. Не нужно помещать дирек- в собственных параметризованных схемах
постоянному току со ступенчатым изменени- тиву как текст на схеме, поскольку экстрак- и поведенческих источниках. Этим обеспе-
ем параметра источника постоянного напря- тор списка соединений делает это самосто- чивается понятная ассоциативная связь име-
жения или тока. Одновременно может быть ятельно. ни с функцией и параметризованной макро-
использовано до трех источников. Директи- моделью, чтобы абстрактные схемы можно
ва, в частности, применяется для вычисления .ENDS — конец описания макромодели было сохранить в библиотеках.
передаточной функции усилителя по посто- Синтаксис: Директива .FUNC может быть включена
янному току или отображения характерис- в описание макромодели, чтобы ограничить
тик для проверки модели транзистора. .ends [имя макромодели] использование функции этой макромоделью
Синтаксис: и макромоделями, входящими в нее.
Чтобы вводить параметр и оценивать вы-
.dc < имя 1-го источника> < начальное значение> <конечное зна- Эта директива отмечает конец описания ражение пользовательской функции, выра-
чение> < приращение> [<имя 2-го источника> < начальное зна- макромодели. (См. .SUBCKT для дополни- жение заключается в фигурные скобки. Вло-
чение> <конечное значение> < приращение>]
тельной информации.) Необязательный па- женное выражение будет заменено числом
раметр [имя макромодели] используется с плавающей точкой.
<Имя источника> — имя независимого ис- для удобства чтения и анализа текстового Пример использования директив .FUNC
точника напряжения или тока, выходной сиг- файла. и .PARAM:
нал которого задается ступенями <прираще-
ние> от <начального значения> до <конеч- .FOUR — вычисление * Example deck using a .func statement
.func myfunc(x,y) {sqrt(x*x+y*y)}
ного значения>. Фурье-компонентов .param u=100 v=600
Это не документировано разработчиком, после .TRAN-анализа V1 a 0 pulse(0 1 0 1n 1n .5μ 1μ)
R1 a b {myfunc(u,v/3)}
но возможно в качестве одного из источни- Синтаксис: C1 b 0 100p
ков указывать температуру. При вариации .tran 3μ
.end
температуры в качестве имени источника ука- .four <частота первой гармоники> [количество гармоник] [коли-
чество периодов] <выходные данные 1> [<выходные данные 2> ...]
зывается ключевое слово TEMP.
Параметры моделирования задаются с ис- Подстановка параметров делается до нача-
пользованием диалогового окна, вызывае- Например: ла моделирования.
мого по команде меню Edit>SPICE Analysis
с выбором пункта DC sweep, показанного .four 1kHz V(out) .FERRET — загрузка файла данных
на рис. 32. с использованием URL
Эта команда позволяет загружать файлы
Эта команда выполняется после анализа пакетным способом, указывая URL. Это удоб-
переходного процесса. Результат выполне- но, когда не хочется указывать пути к каждо-
ния команды печатается в файл .log. Для про- му файлу через интернет-браузер. Загружен-
смотра результата используется команда ме- ный файл будет в том же каталоге, что и ис-
ню View>Spice Error Log. В большинстве слу- ходная схема или список соединений. Эта
чаев для быстрого преобразования Фурье команда не имеет никакого воздействия на
лучше воспользоваться возможностями ок- моделирование:
на графиков по команде меню View>FFT.
Задается частота первой гармоники и ко- * example deck
личество анализируемых гармоник. По умол- .ferret http://ltspice.linear.com/software/scad3.pdf
.end
чанию рассчитываются первые 9 гармоник.
Фурье-анализ выполняется на отрезке вре-
мени, отстоящем от конечного времени, Tend, .GLOBAL —
Рис. 32. Задание параметров .DC/анализа более чем на период, по меньшей мере, на один назначение глобальных узлов
период, если после количества гармоник ука- Синтаксис:
зано количество периодов. Если количество
Для каждого от одного до трех независи- периодов задано равным –1, Фурье-анализ вы- .global <узел1> [узел2 [узел3] [...]]
мых источников необходимо указать его имя, полняется по всему временному отрезку.
характер изменения его выходного сигнала Пример использования директивы .FOUR
(линейный, логарифмический на октаву или приведен в файле …LTC\SwCADIII\exam- Например:
декаду, задаваемый в виде списка значений), ples\Educational\audioamp.asc.
начальное и конечное значения, шаг измене- .global VDD VCC
ния или количество точек. .FUNC — функции,
В качестве выходного сигнала выступают определяемые пользователем
разность узловых потенциалов или ток через Синтаксис: Команда .GLOBAL позволяет объявить, что
ветвь с включенным в нее резистором. определенные узлы, упомянутые в макромо-
В файле …LTC\SwCADIII\examples\Educa- .func <имя>([аргументы]) {<выражение>} делях, не локальные для макромодели узлы,
tional\ stepmodelparam.asc показан пример ис- а абсолютно глобальные узлы.

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 2 '2009


проектирование 95

Общим глобальным для схемы является Отметим, что если запрашиваемый url не Зашифрованные библиотеки
узел «0», для этого не требуется использовать существует, большинство серверов сети не
директиву .GLOBAL. Узлы с именами в фор- показывают ошибку, но показывают html LTspice может генерировать и читать библио-
ме «$G_» также являются глобальными без web-страницу в вашем web-браузере, кото- теки, зашифрованные в специальной форме.
упоминания в директиве .GLOBAL. рая объясняет ошибку. LTspice может не все- Это позволяет одному пользователю готовить
гда воспринимать эти страницы как указание библиотеку для другого пользователя, кото-
.IC — задание начальных условий на ошибку, таким образом, можно получить рую можно использовать в моделировании,
Директива .IC задает начальные условия некое загадочное сообщение об ошибке, ког- не показывая ее содержимое. Резонно попы-
для анализа переходных процессов. Могут да идет процесс моделирования с включени- таться сделать зашифрованную библиотеку,
быть заданы узловые напряжения и токи че- ем html web-страницы как директивы SPICE. которую исключительно сложно расшифро-
рез катушки индуктивности. Решение для по- Если полученный документ представляет вывать, но такое решение нельзя считать аб-
стоянного тока выполняется с использовани- собой .pdf-файл, моделирование прервется солютным, если только не решить проблему
ем начальных условий как ограничений. Ес- после загрузки. Например, после загрузки непосредственно в программном обеспечении.
ли катушки индуктивности в решении для файла .pdf будет получен следующий ком- Чтобы подготовить зашифрованную биб-
постоянного тока в других SPICE-програм- ментарий: лиотеку, нужно вызвать LTspice из команд-
мах обычно рассматриваются коротко замк- ной строки с выбором опции «-encrypt». Сна-
нутыми, в LTspice, если начальный ток опре- * Dummy simulation to download the help file. чала следует сделать копию библиотеки, по-
делен, они рассматриваются как источники * The simulation will abort with an error, but скольку она будет заменена зашифрованной
* you'll be left with the file scad3.pdf in the
тока бесконечного импеданса. * same directory containing the netlist. версией. Нет никакой возможности преобра-
Синтаксис: .inc http://ltspice.linear.com/software/scad3.pdf зовать зашифрованную библиотеку обратно
.end
в текстовый формат. Уточним эти два шага:
.ic [V(<узел>)=<напряжение>] [I(<катушка>)=<ток>] 1. Сделайте резервные копии библиотеки.
Директива .INCLUDE использована в при- Версия, которая кодируется, будет удалена.
мере …LTC\SwCADIII\examples\Educational\ 2. В командной строке напечатайте:
Например: logamp.asc для подключения макромодели
компонента opamp, в атрибутах которого нет scad3.exe -encrypt <filename>
.ic V(in)=2 V(out)=5 V(vc)=1.8 I(L1)=300m указания на имя макромодели или файл, ее
содержащий.
Файл <filename> будет заменен зашифро-
.INCLUDE — .LIB — подключение библиотеки ванной версией. Процесс шифрования зай-
подключение текстовых файлов Синтаксис: мет несколько минут.
Синтаксис: По окончании этого процесса вы будете
.lib <имя файла> иметь зашифрованный ASCII-файл. Можно
.include <имя файла> добавить уведомление об авторском праве вы-
ше строки «*Begin:», но первые 9 строк файла
Эта директива подключает модель и опи- должны остаться неизменными, и каждая стро-
Эта директива подключает названный сание макромодели в названном файле, как ка уведомления об авторском праве, добавлен-
файл, как будто этот файл напечатан в спи- будто этот файл напечатан в списке соедине- ная вами, должна начинаться символом «*».
ске соединений вместо команды .INCLUDE. ний вместо команды .lib. Если модель (моде- Итак, приведем пример зашифрованного
Она используется для подключения библио- ли) компонентов в подключаемом файле файла, созданный LTspice:
тек моделей или макромоделей. имеет альтернативные описания в библиоте-
В имени файла должен быть указан пол- ке LTSpice, то последние игнорируются. * LTspice Encrypted File
*
ный путь к нему. Иначе LTspice смотрит сна- В имени файла должен быть указан пол- * This encrypted file has been supplied by a 3rd
чала в каталоге <SwCADIII>\lib\sub, а затем ный путь к нему. Иначе LTspice смотрит сна- * party vendor that does not wish to publicize
* the technology used to implement this library.
в каталоге, который содержит запрашивае- чала в каталоге <SwCADIII>\lib\sub, а затем *
мый список соединений, где <SwCADIII> — в каталоге, который содержит запрашивае- * Permission is granted to use this file for
* simulations but not to reverse engineer its
каталог, содержащий исполняемый scad3.exe, мый список соединений, где <SwCADIII> — * contents.
типично устанавливается как C:\Program каталог, содержащий исполняемый scad3.exe, *
* Begin:
Files\LTC\SwCADIII. типично устанавливается как C:\Program Files\ 50 3E 46 0F FA 6E 67 FF B8 4D D9 62 14 32 60 24
Недопустимо игнорировать расширение LTC\SwCADIII. 36 71 35 0B 66 4F AD 52 B8 F5 9E 22 9F C0 18 8B
FB FE 1D...
имени файла. Следует использовать .inc my- Недопустимо игнорировать расширение име-
file.lib, а не .inc myfile, если файл называет- ни файла. Необходимо указать .lib myfile.lib,
ся myfile.lib. а не .lib myfile, если файл называется myfile.lib Можете изменить файл следующим образом:
Можно определить url как имя файла сле- Можно определить url как имя файла сле-
дующим образом: дующим образом: * LTspice Encrypted File
*
* This encrypted file has been supplied by a 3rd
* party vendor that does not wish to publicize
.inc http://www.company.com/models/library.lib .lib http://www.company.com/models/library.mod * the technology used to implement this library.
*
* Permission is granted to use this file for
* simulations but not to reverse engineer its
Файл library.lib будет передан в каталог схемы Файл library.mod будет передан в каталог схе- * contents.
*
и подключен. Во избежание повторной загруз- мы и подключен. Во избежание повторной за- * Copyright © 2005 Acme SPICE Modeling
ки файла при следующем сеансе моделирова- грузки файла при следующем сеансе модели- * For additional information, see
* www.acmespicemodels.com
ния можно отредактировать директиву .INC. рования можно отредактировать указание .lib: *
* Begin:
50 3E 46 0F FA 6E 67 FF B8 4D D9 62 14 32 60 24
.inc library.lib .lib library.mod 36 71 35 0B 66 4F AD 52 B8 F5 9E 22 9F C0 18 8B
FB FE 1D...

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 2 '2009 www.kit5e.ru


96 проектирование

.LOADBIAS — загрузка
.MEAS TRAN res3 FIND V(out) WHEN V(x)=3*V(y) cross=3 Таблица 9. Вычислительные операции,
предварительно выполненного расчета
выполняемые по диапазону данных
по постоянному току
Синтаксис: Результат — значение V(out), когда усло- Ключевое Выполняемая по диапазону операция
вие V(x)=3*V(y) встречается в третий раз. слово

.loadbias <имя файла> Он будет именован как res3. AVG Вычисление среднего значения <выражение>
MAX Нахождение максимального значения <выражение>
MIN Нахождение минимального значения <выражение>
.MEAS TRAN res4 FIND V(out) WHEN V(x)=3*V(y) rise=last
PP Нахождение размаха от пика до пика <выражение>
Команда LOADBIAS — дополнение к коман- Вычисление среднеквадратичного значения
RMS
де .SAVEBIAS. Сначала выполните моделиро- <выражение>
вание по команде .SAVEBIAS. Затем измените Результат — значение V(out), для которо- INTEG Интегрирование <выражение>

команду .SAVEBIAS на команду .LOADBIAS. го условие V(x)=3*V(y) встречается в послед-


ний раз, либо когда V(x) максимально близ- которые могут быть выполнены в интерва-
.MEASURE — измерение заданных ко к 3*V (y). Он будет именован как res4. ле, перечислены в таблице 9.
пользователем электрических величин Если никакое измерение не задано, резуль-
Есть два различных варианта директив .MEAS TRAN res5 FIND V(out) WHEN V(x)=3*V(y) cross=3 TD=1m тат директивы .MEAS — расстояние по абс-
.MEASURE. В первом случае обращаются циссе между точками TRIG и TARG. Далее —
к точке на оси абсцисс (независимая перемен- пример директивы .MEAS по диапазону:
ная, откладываемая по горизонтальной оси, Результат — значение V(out) через 1 мс по-
ось времени для .TRAN-анализа), во втором сле того, как условие V(x)=3*V(y) встречает- .MEAS TRAN res7 AVG V(NS01) TRIG V(NS05) VAL=1.5 TD=1.1u
FALL=1 TARG V(NS03) VAL=1.5 TD=1.1u FALL=1
случае обращаются к диапазону по оси абсцисс. ся в третий раз. Он будет именован как res5.
Первый вариант используется, чтобы найти
значение данных или выражения в заданной .MEAS TRAN res6 PARAM 3*res1/res2 Результат — среднее значение напряжения
точке на оси абсцисс, или когда выполняет- V(NS01) на отрезке времени от 1-го умень-
ся необходимое условие. Используется сле- шения V(NS05) до 1,5 В с задержкой 1,1 мкс
дующий синтаксис: Результат — значение 3*res1/res2. Такая и до 1-го уменьшения V (NS03) до 1,5 В с за-
форма используется, чтобы определить зна- держкой 1,1 мкс. Результат именован как res7.
.meas[sure] [AC|DC|OP|TRAN|TF|NOISE] <имя результата>
[<FIND|DERIV|PARAM> <выражение>] [WHEN <выражение> |
чение выражения, составленного из резуль- Для .AC-анализа условные выражения
AT=<выражение>]] [TD = <значение1>] [<RISE|FALL|CROSS> = татов других .MEAS-утверждений. Не пред- в комплексных данных упрощаются до ве-
[<отсчет1> |LAST]]
полагается, что в оцениваемом выражении щественной части с преобразованием в вы-
присутствуют непосредственные результаты ражение для амплитуды. Например:
Здесь [AC|DC|OP|TRAN|TF|NOISE] — вид моделирования, например, V(3), если только
анализа, к которому применяется директива; это не данные из последней точки моделиро- .MEAS AC res8 when V(out)=1/sqrt(2)
FIND (найти); DERIV (производная); PARAM вания. Результат именован как res6.
(использование результатов предшествую- В приведенных примерах обращения к од-
щих измерений); WHEN (условие); AT (ко- ной точке на оси абсцисс результат соответ- Результат res8 — частота, на которой вели-
ордината точки измерения на оси абсцисс); ствует данным ординаты (зависимые пере- чина V(out) равна 0.7071067811865475.
TD (задержка в единицах измерения по оси менные). Если информация об ординате не Кроме того, результат директивы .MEAS
абсцисс относительно момента выполнения требуется, результатом .MEAS-утверждения может использоваться в другой директиве
условия); RISE (увеличение); FALL (умень- будет точка на оси абсцисс, в которой выпол- .MEAS. В следующем примере рассчитана по-
шение); CROSS (пересечение); LAST (послед- няется условие измерений: лоса пропускания на уровне 3 дБ:
ний случай).
.MEAS AC tmp max mag(V(out)); найдем амплитуду и запомним
В первой позиции можно указать вид ана- .MEAS TRAN res6 WHEN V(x)=3*V(y) как tmp
лиза, к которому применяется директива .MEAS AC BW trig mag(V(out))=tmp/sqrt(2) rise=1 targ
mag(V(out))=tmp/sqrt(2) fall=last
.MEAS. Это позволяет использовать соответ-
ствующие директивы .MEAS только в опре- Результат — это момент времени, когда
деленных видах анализа. Обязательно следу- условие V(x)=3*V(y) встречается впервые. Результат — разность частот между двумя
ет присваивать имя результату, который мо- Он именован как res6. точками, лежащими на 3 дБ ниже максималь-
жет быть использован в качестве параметра Второй вариант директивы .MEAS обраща- ного значения сигнала. Отметим, что данные,
в других директивах .MEAS. Далее — приме- ется к диапазону по абсциссе. Используется получаемые в .AC-анализе, комплексные, и та-
ры директивы .MEAS с обращением к одной следующий синтаксис: ковы же результаты по директиве .MEASURE.
точке на оси абсцисс: Тем не менее, равенство оперирует только
.meas [AC|DC|OP|TRAN|TF|NOISE] <имя результата> с реальной частью комплексного числа, то есть
[<AVG|MAX|MIN|PP|RMS|INTEG> <выражение>] [TRIG <lhs1>
.MEAS TRAN res1 FIND V(out) AT=5m [[VAL] =] <rhs1>] [TD = <значение1>] [<RISE|FALL|CROSS> = выражение mag(V(out))=tmp/sqrt(2) эквива-
<отсчет1>] [TARG <lhs2> [[VAL] =] <rhs2>] [TD = <значение2>] лентно Re(mag(V(out)))=Re(tmp/sqrt(2)).
[<RISE|FALL|CROSS> = <отсчет2>]
Операции AVG, RMS и INTEG в .NOISE-
Результат — значение V(out) для t = 5 мс, анализе несколько иные, чем в анализах дру-
именованный как res1. Диапазон по абсциссе ограничен точками, гих типов, так как .NOISE связан с квадратом
определенными как «TRIG» и «TARG». частоты. Таким образом, и AVG, и RMS да-
.MEAS TRAN res2 FIND V(out)*I(Vout) WHEN V(x)=3*V(y) По умолчанию точка TRIG устанавливает на- ют среднеквадратичное напряжение шумов,
чало моделирования и может быть опущена. а INTEG дает интегрированный полный
Точно так же точка TARG по умолчанию со- шум. Следовательно, если вы добавляете
Результат — значение выражения ответствует данным в конце моделирования. SPICE-директивы:
V(out)*I(Vout), когда условие V(x)=3*V(y) Если все три из TRIG, TARG и WHEN точки
встречается в первый раз. Он будет именован опущены, то утверждение .MEAS действует .MEAS NOISE out_totn INTEG V(onoise)
.MEAS NOISE in_totn INTEG V(inoise)
как res2. на весь диапазон данных. Типы измерений,

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 2 '2009


проектирование 97

к .NOISE-анализу, в .log-файле будут напеча- Имя модели должно быть уникальным. .NODESET можно использовать, чтобы уста-
таны значения полных интегрированных Таким образом, два различных типа элемен- новить схему в то или иное состояние. В ос-
среднеквадратичных шумов, приведенных тов схемы, типа диода и транзистора, не мо- новном, после того как выполнен проход ре-
к выходу и входу. гут иметь одного имени модели. Список па- шения с напряжением, определенным в ди-
Директива .MEAS выполняется после окон- раметров зависит от ее типа. В таблице 10 рективе .NODESET, ограничение удаляется
чания моделирования. Это позволяет запи- приведен перечень типов моделей. в последующих итерациях.
сывать сценарии директив .MEAS и выпол- Синтаксис:
нять их над набором данных. Для этого сде- .NET — расчет параметров цепей
лайте окно графиков активным и выполните в .AC-анализе .nodeset V(узел1)=<напряжение> [V(узел2)=<напряжение [...]]
команду меню File>Execute .MEAS Script. Эта директива используется при .AC-ана-
Другое последствие .MEAS-директив, выпол- лизе в режиме малого сигнала, чтобы вычис-
няемых после моделирования, — то, что точ- лить входной и выходной адмиттанс, импе- .NOISE — расчет
ность вычислений ограничена точностью данс, Y-, Z-, H- и S-параметры четырехполюс- спектральной плотности шумов
данных графика после сжатия. Можно изме- ника. Эту методику можно также использовать Синтаксис:
нить параметры настройки сжатия для полу- для вычисления входного адмиттанса и импе-
чения более точных результатов по .MEAS- данса двухполюсника. Директива должна ис- .noise V(<узел1>[,<узел2>]) <имя источника> <oct, dec, lin> <ко-
личество точек> <начальная частота> <конечная частота>
директиве. пользоваться с директивой .AC, определяю-
Не следует задавать условие в виде равен- щей девиацию частоты при анализе цепи.
ства, типа «when <cond1> = <cond2>». Это Синтаксис: Это — анализ в частотной области, в кото-
объясняется тем, что равенство чисел в фор- ром вычисляются джонсоновский тепловой
ме с плавающей запятой никогда не должно .net [V(out[,ref])|I(Rout)] <Vin|Iin> [Rin=<значение>] шум, дробовый и фликкер-шумы. Выходные
[Rout=<значение>]
требоваться из-за конечной точности, исполь- данные — значения квадратного корня из
зуемой при хранении чисел. спектральной плотности шумов.
Пример использования директивы .MEASURE Входной порт цепи определяется либо не- V(<узел1>[,<узел2>]) — участок цепи,
приведен в файле …LTC\SwCADIII\examples\ зависимым источником напряжения, <Vin>, для которого вычисляется полный выходной
Educational\MeasureBW.asc. либо независимым источником тока, <Iin>. шум. Это может быть выражено как V (n1, n2),
Соответственно, выходной порт определяет- чтобы представить напряжение между дву-
.MODEL — определение SPICE-модели ся либо как узел, V(out), либо как резистор, мя узлами. <Имя источника> — имя незави-
Директива определяет модель для диода, I(Rout). К портам подключаются резисторы симого источника напряжения или тока,
транзистора, ключа, линии передачи с поте- Rin и Rout. Если не указано определенно, под- к входу которого пересчитывается шум. Это
рями или однородной RC-линии. ключаемые импедансы по умолчанию 1 Ом, фиктивный не шумящий источник сигнала.
Некоторые элементы схемы, например, кроме случаев источника напряжения с оп- Параметры <oct, dec, lin>, <количество то-
транзисторы, имеют много параметров. Вме- ределенным Rser или выходного порта, оп- чек>, <начальная частота> и <конечная час-
сто того чтобы определять каждый параметр ределенного как резистор. В этих двух случа- тота> определяют интересующий частотный
для каждого транзистора, транзисторы объ- ях подключаемые резисторы по умолчанию диапазон и разрешение таким же образом,
единены именем модели и имеют общие па- являются импедансами устройства. Импедан- как и при использовании в директиве .AC.
раметры. Транзисторы одной модели могут сы подключаемых по директиве .NET уст- Параметры анализа вводятся с помощью ди-
иметь различные размеры, и электрическое ройств действительны только для вычисле- алогового окна (рис. 33), вызываемого по ко-
поведение масштабируется в соответствии ний по этой директиве, но не для узловых на- манде меню Edit>Spice Analysis, с выбором
с размером. пряжений и токов обычного .AC-анализа. пункта Noise.
Синтаксис: То есть директива .NET не навязывает под- График выходных данных V(onoise) — спе-
ключаемые к цепи импедансы при расчете ктральная плотность шумового напряжения
.model <имя модели> <имя типа модели> [(<список параметров>)] напряжений и токов в процессе .AC-анализа. в узле (узлах), определенных как выход в вы-
Файл примера — …\LTC\SwCADIII\examples\ шеупомянутом синтаксисе. Если источник
Educational\S-param. Рекомендуется исполь- входного сигнала — источник напряжения,
Например: зовать источник напряжения, V4, с установ- то график V(inoise) — приведенная к входу
кой требуемого импеданса источника Rser, плотность напряжения шумов. Если источ-
.model DIODE D (Is=1E-10) и резистор, Rout, подключенный к выходу, ник входного сигнала — источник тока,
с простой формой записи директивы .net то график inoise — шум, приведенный к то-
I(Rout) V4. При этом нет необходимости за- ку источника входного сигнала. Может быть
Таблица 10. Имена типов моделей компонентов давать значения Rin или Rout в директиве
.NET, достаточно задать характеристики уст-
Имя типа
модели Тип компонента ройств, подключенных к входу и выходу.
Доступ к графикам зависимостей малосиг-
CSW Ключ, управляемый током
D Диод
нальных параметров по команде Plot Settings>
LTRA Линия передачи с потерями Visible Traces или View>Add Trace.
NJF Полевой транзистор с каналом n/типа
NMF MESFET с каналом n/типа .NODESET — задание начального
NMOS МОП/транзистор с каналом n/типа
NPN Биполярный npn/транзистор
режима по постоянному току
PJF Полевой транзистор с каналом p/типа Директива .NODESET устанавливает на-
PMF MESFET с каналом p/типа чальные значения узловых потенциалов в ра-
PMOS МОП/транзистор с каналом p/типа бочей точке по постоянному току. Если схе-
PNP Биполярный pnp/транзистор
ма имеет множество возможных состояний
SW Ключ, управляемый напряжением
URC Однородная RC/линия с распределенными параметрами
по постоянному току, например, триггер,
Мощный вертикальный МОП/транзистор процесс итерации решения по постоянному Рис. 33. Задание параметров .NOISE/анализа
VDMOS по технологии двойной диффузии току может никогда не сойтись. Директиву

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 2 '2009 www.kit5e.ru


98 проектирование

.PARAM — параметры,
Таблица 11. Параметры моделирования
определяемые пользователем
Тип Значение
Директива .PARAM позволяет создавать
Параметр Наименование
данных по умолчанию определяемые пользователем переменные.
ABSTOL число 1 пА Абсолютная погрешность расчета токов Она обеспечивает понятную ассоциативную
BAUTRATE число нет Используется при просмотре графиков. Задает режим сглаживания битовых переходов
связь имени с параметризованной макромо-
CHGTOL число 10 фК Абсолютная погрешность расчета заряда
CSHUNT число 0 Дополнительная емкость, добавляемая к каждому узлу относительно «земли» делью, чтобы абстрактные схемы можно бы-
CSHUNTINTERN число cshunt Дополнительная емкость, ло сохранить в библиотеках.
добавляемая к каждому внутреннему узлу устройства относительно «земли»
DEFAD число 0 Площадь стока МОП/транзистора по умолчанию
Директива .PARAM может быть включена
DEFAS число 0 Площадь истока МОП/транзистора по умолчанию в описание макромодели, чтобы ограничить
DEFL число 100 мкм Длина канала МОП/транзистора по умолчанию действие значения параметра этой макромо-
DEFW число 100 мкм Ширина канала МОП/транзистора по умолчанию
делью и макромоделями, включенными в эту
DELAY число 0 Используется при просмотре графиков. Перемещает позиции битов в графике
FASTACCESS флаг false Преобразование в формат файла fastaccess в конце моделирования
макромодель.
FLSGLOADS флаг false Включение внешних источников тока в режим нагрузки Для подстановки параметра в оцениваемое
GMIN число 1.00E/12 Проводимость, добавленная к каждому pn/переходу для облегчения преобразований выражение заключите выражение в фигур-
Устанавливается в нуль, чтобы предотвратить перебор параметра при начальном решении
GMINSTEPS число 25 по постоянному току ные скобки. Вложенное выражение будет за-
GSHUNT число 0 Дополнительная проводимость, добавляемая к каждому узлу относительно «земли» менено величиной с плавающей точкой.
ITL1 число 100 Максимальное количество итераций в расчете по постоянному току Далее приведен пример использования как
ITL2 число 50 Максимальное количество итераций при расчете передаточной функции по постоянному току
Максимальное количество итераций при переходе к следующему моменту времени
собственно директивы .PARAM, так и непо-
ITL4 число 10 при анализе переходного процесса средственного ввода параметров в строке вы-
Устанавливается в нуль, чтобы предотвратить ступенчатое изменение параметра источника
ITL6 число 25 при начальном решении по постоянному току зываемой макромодели:
MAXCLOCKS число бескон. Максимальное сохраняемое количество тактов
MAXSTEP число бескон. Максимальный шаг при анализе переходного процесса *
Формат комплексных чисел для результатов директивы .MEASURE. * This is the circuit definition
MEASCPLXFMT слово bode .params x=y y=z z=1k*tan(pi/4+.1)
Один из возможных: “polar”, “cartesian” или “bode”
MEASDGT число 6 Разрядность выходных данных для директивы .MEASURE. X1 a b 0 divider top=x bot=z
V1 a 0 pulse(0 1 0 .5μ .5μ 0 1μ)
METHOD слово trap Выбор метода численного интегрирования
* this is the definition of the subcircuit
MINCLOCKS число 10 Минимальное сохраняемое количество тактов .subckt divider n1 n2 n3
MINDELTAGMIN число 1.00E/04 Установка ограничения для завершения подбора gmin r1 n1 n2 {top}
NOMARCH флаг false Отключение вывода графиков в процессе моделирования r2 n2 n3 {bot}
NOOPITER флаг false Переход к непосредственному управлению шагом gmin .ends
Исторически “numdgt” использовался для установки разрядности выходных данных. *
NUMDGT число 6 В LTspice, если “numdgt” больше 6, для зависимых переменных данных используется .tran 3μ
двойная точность .end
Относительная величина элемента строки матрицы, необходимая для его выделения
PIVREL число 1.00E/03 в качестве ведущего элемента
PIVTOL число 1.00E/13 Абсолютная величина элемента строки матрицы, необходимая для его выделения
в качестве ведущего элемента
Доступные математические функции и опе-
PLOTABSTOL число 1 нА Установка абсолютной погрешности по току при сжатии графиков рации собраны в таблицах 12, 13.
PLOTRELTOL число 0,0025 Установка относительной погрешности при сжатии графиков В файле …\LTC\SwCADIII\examples\Educa-
PLOTVNTOL число 10 мкВ Установка абсолютной погрешности по напряжению при сжатии графиков
tional\Cohn.asc приведен пример использо-
Количество точек данных в одном окне после сжатия.
PLOTWINSIZE число 300 Устанавливается в нуль, чтобы отменить сжатие вания директивы .PARAM.
RELTOL число 0,001 Относительная погрешность при расчете напряжений и токов
SRCSTEPMETHOD число 0 Алгоритм ступенчатого изменения параметра источника
SRCSTEPS число 25 Альтернативное имя для itl6
.SAVE — ограничение количества
SSTOL число 0,001 Относительная погрешность детектирования установившегося режима сохраняемых данных
STARTCLOCKS число 5 Количество тактов ожидания перед поиском установившегося режима В процессе некоторых видов анализа, осо-
По умолчанию температура элементов схемы,
TEMP число 27 °С для которых не задано определенное значение температуры бенно при моделировании во временной об-
TNOM число 27 °С Номинальное значение температуры ласти, может быть сгенерирован большой
TOPOLOGYCHECK число 1 Устанавливается в нуль, чтобы отменить проверку плавающих узлов,
контуров источников напряжения и топологии витков трансформаторов
объем данных. Объем выходных данных мо-
TRTOL число 1 Установка погрешности анализа переходного процесса. жет быть ограничен при использовании ди-
Этот параметр — коэффициент, определяющий фактическую ошибку округления
Представление в компактной форме информации о токах и напряжениях
рективы .SAVE, чтобы сохранить только оп-
TRYTOCOMPACT число 1 в длинных линиях с потерями ределенные интересующие узловые напря-
VNTOL число 1 мкВ Абсолютная погрешность при расчете напряжений жения и токи в устройстве.
Синтаксис:
отображен шумовой вклад каждого компо- решение для постоянного тока выполняет-
нента. Эти вклады пересчитываются к выхо- ся как часть другого анализа, чтобы найти .save V(out) [V(in) [I(L1) [I(S2)]]] [dialogbox]
ду. Можно пересчитать их к входу, поделив рабочую точку схемы. Используйте дирек-
данные графика на усиление. тиву .OP, если нужно только найти рабо-
В окне графиков можно суммировать шу- чую точку. Результаты появятся в диалого- Директива .save I(Q2) сохраняет токи базы,
мы в полосе пропускания, нажав на имя со- вом окне. Решение по постоянному току коллектора и эмиттера биполярного транзи-
ответствующего графика правой кнопкой появится в управляющей строке, если ука- стора Q2. Чтобы сохранить ток через один
мыши при нажатой клавише Ctrl. зать на узел или цепь с током после .OP-мо- вывод транзистора, следует указать Ic(Q2).
Пример использования директивы .NOISE делирования. Чтобы сохранить данные графиков, соот-
приведен в файле …LTC\SwCADIII\examples\ В файле …\LTC\SwCADIII\examples\Educa- ветствующих образцу, можно использовать
Educational\noise.asc. tional\DcopPnt.asc приведен пример исполь- символы группировки «*» и «?». Например,
зования директивы .OP. «.save V(*) Id(*)» позволит сохранить каждое
.OP — определение режима значение напряжения и каждое значение тока.
по постоянному току в рабочей точке .OPTIONS — установка Если присутствует ключевое слово dialogbox,
Выполняется решение для постоянного параметров моделирования то появляется диалоговое окно со списком
тока с отключенными емкостями и корот- Все доступные параметры моделирования всех доступных по умолчанию узловых на-
ко замкнутыми индуктивностями. Обычно приведены в таблице 11. пряжений и токов, позволяющее пользова-

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 2 '2009


проектирование 99

Поскольку суммарное состояние всех реак-


Таблица 12. Математические функции Таблица 13. Математические операции
тивностей схемы не сохраняется в .SAVEBIAS
Функция Определение Символ файле, успешное решение в этой технике до-
Назначение
ABS(x) Абсолютное значение x
операции стижимо не всегда.
& Преобразование, эквивалентное логическому И (AND)
Действительная часть arcos(x),
ACOS(x) например, acos(–5) возвращает 3.14159, | Преобразование, эквивалентное логическому ИЛИ (OR)
а не 3.14159+2.29243i Преобразование, эквивалентное логическому
.STEP — ступенчатое
^
ARCOS(x) Синоним для acos(x) исключающему ИЛИ (XOR) изменение параметра
ИСТИНА (TRUE), если выражение слева
ACOSH(x) Действительная часть acosh(x), например,
acosh(.5) возвращает 0, а не 1.0472i
> больше выражения справа, иначе ЛОЖЬ (FALSE) Эта команда заставляет неоднократно вы-
Действительная часть арксинуса x, < ИСТИНА (TRUE), если выражение слева
меньше выражения справа, иначе ЛОЖЬ (FALSE)
полнять анализ, ступенчато изменяя темпера-
ASIN(x) например, asin(–5) возвращает –1.57080,
а не –1.57080+2.29243i >= ИСТИНА (TRUE), если выражение слева больше туру, параметр модели, глобальный параметр
или равно выражению справа, иначе ЛОЖЬ (FALSE)
ARCSIN(x) Синоним для asin(x)
ИСТИНА (TRUE), если выражение слева меньше
или параметр независимого источника. Ступе-
ASINH(x) Гиперболический арксинус <= или равно выражению справа, иначе ЛОЖЬ (FALSE) ни могут быть линейными, логарифмически-
ATAN(x) Арктангенс x + Сложение с плавающей точкой
ARCTAN(x) Синоним для atan(x) ми или определенными как список значений.
– Вычитание с плавающей точкой
ATAN2(y, x) Арктангенс (x/y) * Умножение с плавающей точкой Например:
ATANH(x) Гиперболический арктангенс / Деление с плавающей точкой
BUF(x) buf(x)=1, если x>0,5; buf(x)=0, если x≤0,5 Возведение в степень, возвращается только действитель/
** .step oct v1 1 20 5
CBRT(x) Кубический корень из x ная часть, например, –2**1,5 возвращает 0, а не 2,82843i
CEIL(x) Целое число, равное или большее x ! Преобразование, эквивалентное логической инверсии
COS(x) Косинус x @ Оператор выбора шага
COSH(x) Гиперболический косинус x Ступенчатое изменение напряжения незави-
DDT(x) Первая производная dx/dt
DELAY(x,y) Задержка сигнала x на время y
.SAVEBIAS — симого источника напряжения V1 от 1 до 20 В
EXP(x) Экспоненциальная функция x сохранение рабочей точки на диске с логарифмическим изменением ступеней
FABS(x) То же самое, что и abs(x) Синтаксис: с 5 точками на октаву.
Случайное число между –x и x
FLAT(x) с нормальным распределением Например:
FLOOR(x) Целое число, равное или меньше x .savebias <имя файла> [internal] [temp=<значение>] [time=< зна-
Случайное число с распределением Гаусса чение > [repeat]] [step=< значение >] [DC1=< значение >] [DC2=<
GAUSS(x) .step I1 10u 100u 10u
с сигмой x значение >] [DC3=< значение >]
HUPOT(x,y) sqrt(x**2 + y**2)
IDT(x) Интеграл ∫ x(t)
IF(x, y, z) y, если x истинно, иначе z
Это команда записи на диск текстового Изменение тока независимого источника
INT(x) Округление x до целого числа
INV(x) inv(x)=0, если x>0,5; inv(x)=1, если x≤0,5
файла, который при последующем модели- тока I1 от 10 до 100 мкА с шагом 10 мкА.
LIMIT(x,y,z) x, если y<x<z; y, если x<y; z, если x>y ровании загружается командой .LOADBIAS. Например:
LN(x) Натуральный логарифм x Для схемы, имеющей сложный расчет режи-
LOG(x) Альтернатива ln(x)
ма по постоянному току в рабочей точке, .step param RLOAD LIST 5 10 15
LOG10(x) Десятичный логарифм x
MAX(x,y) Максимальное из x или y можно сохранить решение на диске, чтобы
MC(x,y) Случайное число между x * (1+y) и x * (1–y) сэкономить время на расчете режима по по-
с нормальным распределением
MIN(x,y) Минимальное из x или y
стоянному току при последующих анализах. Трехкратное выполнение моделирования
POW(x, y) Действительная часть x**y, например, Ключевое слово INTERNAL добавляется, с глобальным параметром Rload, равным 5,
pow(–0.5,1.5) возвращает 0, а не 0,353553i
PWR(x, y) abs(x)**y
чтобы указать, что внутренние узловые по- 10 и 15.
PWRS(x, y) sgn(x)*abs(x)**y тенциалы некоторых устройств также долж- Например:
RAND(x) Случайные числа между 0 и 1 ны быть сохранены с сохранением более пол-
в зависимости от значения x
Функция, подобная rand(x), но с более
ного решения по постоянному току. .step NPN 2N2222(VAF) 50 100 25
RANDOM(x) плавными переходами между значениями Чтобы сохранить определенную рабочую
ROUND(x) Ближайшее целое число к x
SGN(x) Знак x
точку по постоянному току при расчете пе-
SIN(x) Синус x реходных процессов .TRAN, необходимо ука- Ступенчатое изменение параметра VAF мо-
SINH(x) Гиперболический синус x зать момент времени. Первое решение для дели NPN от 50 до 100 с шагом 25.
SQRT(x) Действительная часть квадратного корня x,
например, sqrt(–1) возвращает 0, не 0,707107i
момента времени, следующего за указанным, Например:
Табличная зависимость функции от x. будет сохранено. Модификатор REPEAT за-
Координаты точек (x, y) в виде таблицы,
TABLE(x,a,b,c,d,...) в промежутках между точками линейная ставляет записывать решение по постоянно- .step temp -55 125 10
аппроксимация
му току через каждый период после указан-
TAN(x) Тангенс x
TANH(x) Гиперболический тангенс x ного момента времени. В файл записывает-
U(x) Ступенчатая функция: u(x)=1, ся только последнее решение по постоянному Изменение температуры от –55 до 125 °C
если x> 0; u(x)=0, если x≤0
Функция ограничения: uramp(x)=x,
току. Можно указать DC1, DC2 и DC3, что- с шагом 10 °C.
URAMP(x) если x> 0; uramp(x)=0, если x≤0 бы извлечь единственную рабочую точку из Вариации шага могут быть вложениями
Случайные числа между –0,5 и 0,5
WHITE(x) с плавными переходами между значениями, .DC-анализа с вариацией параметров. глубиной до трех уровней.
даже более плавными, чем в random()
По директиве .SAVEBIAS записывается текс- Например:
товый файл в формате директивы .NODESET.
телю составить список сохраняемых данных. Отметим, что директивы .NODESET — только .step I1 10u 100u 10u temp list 25 100
Если список соединений был сгенерирован рекомендации для решения. Таким образом, вы-
из схемы, то, указав на выбранные ранее уз- числитель начнет повторять решение с узловы-
лы и устройства и нажав кнопку мыши, мож- ми напряжениями, заданными в директиве Изменение тока независимого источника
но отобразить графики в окне. .NODESET, но продолжит повторять вычисле- тока I1 от 10 до 100 мкА с шагом 10 мкА при
Если указать для сохранения только один ния, пока не будет найдено правильное реше- двух значениях температуры: 25 и 100 °C.
график, то после запуска процесса модели- ние. Если нужно повторно запустить .TRAN-ре-
рования он будет отображаться в окне гра- шение из рабочей точки по постоянному току, .SUBCKT — описание макромодели
фиков по ходу процесса, если только не дез- можно изменить файл .NODESET на .IC, чтобы Для упрощения описания повторяющие-
активирована ячейка Marching Waveforms принудить вычислитель начать решение с этой ся схемы могут быть оформлены в виде ма-
в окне Operation панели управления. рабочей точки по постоянному току. кромоделей со своим описанием и использо-

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 2 '2009 www.kit5e.ru


100 проектирование

ваться в одной схеме многократно. Прежде норировать переходные процессы при вклю-
чем начнется моделирование, список соеди- чении. Последний параметр dTmax является
нений схемы будет расширен с заменой каж- максимальным шагом интегрирования. Если
дого обращения к макромодели элементами заданы Tstart или dTmax, то должен быть за-
схемы из описания макромодели. Нет ника- дан и Tstep. Параметры моделирования легко
ких ограничений по размеру или сложности задаются с использованием диалогового окна,
макромоделей. изображенного на рис. 35.
Описание макромодели должно заканчивать- В строку .TRAN могут быть помещены не-
ся директивой .ENDS. Для удобства работы сколько модификаторов из перечисленных
с текстовым файлом в дальнейшем целесооб- далее.
разно строку дополнить именем макромодели.
Пример использования макромодели: UIC
Использование начальных условий. Обыч-
* но расчет рабочей точки по постоянному то-
* Описание схемы
X1 a b 0 divider Рис. 34. Задание параметров .TF/анализа ку выполняется перед началом анализа пере-
V1 a 0 pulse(0 1 0 .5μ .5μ 0 1μ) ходного процесса. Директива подавляет эту
* Описание макромодели инициализацию. Начальные условия для не-
.subckt divider n1 n2 n3 Например: которых элементов схемы могут быть опре-
r1 n1 n2 1k
r2 n2 n3 1k делены случайным образом. UIC — не осо-
.ends .TF V(out) Vin бенно рекомендуемая возможность SPICE.
.TF V(5,3) Vin Пропуск расчета рабочей точки по постоян-
.tran 3μ .TF I(Vload) Vin
.end ному току пункта ведет к нереализуемому фи-
зически начальному условию. Рассмотрим,
Расширение после запуска моделирования: .TRAN — анализ переходных процессов например, подключение емкости к источни-
По этой директиве выполняется анализ пе- ку напряжения. Узловое напряжение равно
* Расширение X1 до набора из двух резисторов реходного процесса. Это наиболее информа- нулю, если не задано иное. Тогда в первый мо-
r:1:1 a b 1k
r:1:2 b 0 1k тивное моделирование схемы. В процессе ана- мент бесконечный ток обязан заряжать кон-
* лиза вычисляется, что происходит в схеме по- денсатор. Симулятор не может найти доста-
v1 a 0 pulse(0 1 0 .5μ .5μ 0 1μ)
.tran 3μ сле подачи питания. В качестве испытательных точно короткий шаг времени и выдает сооб-
.end сигналов часто применяются независимые ис- щение time step too small convergence fail.
точники.
Отметим, что для элементов схемы, обра- Синтаксис: STARTUP
зованных расширением макромодели, созда- Модификатор подобен оригинальному
ны уникальные имена, основанные на име- .TRAN <Tstep> <Tstop> [Tstart [dTmax]] [modifiers] SPICE UIC. Он означает, что независимые ис-
.TRAN <Tstop> [modifiers]
ни макромодели и именах элементов описа- .TRAN <шаг вывода данных> <конечное время> [начальный момент точники должны отключаться на первые
ния макромодели. времени вывода данных [максимальный шаг]] [модификаторы] 20 мс моделирования. Однако анализ рабо-
.TRAN <конечное время> [модификаторы]
чей точки по постоянному току выполнен
.TEMP — температурный анализ с использованием ограничений, заданных ди-
Это устаревшая форма для команды сту- Первая запись представляет собой традици- рективой .IC.
пенчатого изменения температуры. Все ви- онную форму для SPICE команды .TRAN.
ды анализа выполняются для каждой указан- Tstep — шаг вывода графиков. LTspice исполь- STEADY
ной температуры. зует сжатие графиков, так что этот параметр Останавливает моделирование по достиже-
Синтаксис: не имеет большого значения и может быть опу- нию установившегося режима. Это требуется
щен или установлен в ноль. Tstop — продол- для создания отчета о расчете эффективности.
.TEMP <температура1> <температура2> ... жительность моделирования. Анализ переход- Обнаружение установившегося режима запи-
ного процесса всегда начинается с момента вре- сано в макромоделях ВИП. Обычное реше-
мени, равного нулю. Однако, если определено ние — обнаружение нулевого значения в вы-
Что эквивалентно: Tstart, данные для графика между нулем и Tstart ходном токе усилителя ошибки, усредненном
не сохраняются. Это — средство управления по периоду тактовой частоты. Алгоритм пред-
.STEP TEMP LIST <температура1> <температура2> ... размером файлов графиков, позволяющее иг- полагает анализ выходного сигнала усилителя
ошибки. Доля импульсного тока, считающая-
ся нулевым током, задается параметром SSTOL.
.TF — определение Автоматическое обнаружение установив-
малосигнальной передаточной функции шегося режима может быть неудачным
по постоянному току вследствие неоптимального критерия его де-
В этом режиме определяется малосигналь- тектирования. Можно в интерактивном ре-
ная передаточная функция по постоянному жиме определить установившийся режим
току для узлового напряжения или тока вет- следующим образом: как только моделиро-
ви при малых изменениях параметра незави- вание начинается, выполните команду меню
симого источника. Параметры моделирова- Simulate>Efficiency Calculation>Mark Start.
ния можно задать через диалоговое окно, по- При выполнении этой команды в первый раз
казанное на рис. 34. вы указываете LTspice, что собираетесь вруч-
Синтаксис: ную определять пределы интегрирования.
После того как схема достигла установивше-
.TF V(<узел>[, <опорный узел>]) <независимый источник> гося режима, выполните эту команду снова.
.TF I(<источник напряжения>) <независимый источник>
Рис. 35. Задание параметров .TRAN/анализа
Это очистит историю и перезапустит расчет

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 2 '2009


проектирование 101

потерь. Затем, по меньшей мере через 10 так- 2. Нагрузка ступенчато изменяется к следу- Синтаксис:
товых импульсов выполните команду Simulate> ющему значению из списка со скоростью
Efficiency Calculation>Mark End. Каждый раз 20 A/мкс. .wave <имя файла .wav> <Nbits> <SampleRate> V(out) [V(out2)
...]
при выполнении команды Simulate>Efficiency 3. Определяется установившийся режим.
Calculation>Mark Start повторно начинается 4. Нагрузка ступенчато изменяется к следу-
расчет потерь и очищается история графи- ющему значению из списка или отключа- Например:
ков. Это хороший метод воспрепятствовать ется, если его нет.
чрезмерному увеличению файла и замедле- В сложной схеме автоматически изменение .wave C:\output.wav 16 44.1K V(left) V(right)
нию рисования. Рекомендуется периодичес- тока нагрузки можно и не обнаружить. В по-
ки выполнять Simulate>Efficiency Calculation> добном случае лучше использовать команду
Mark Start всякий раз, когда ясно, что накопле- .TRAN для запуска моделирования переход- Здесь <имя файла .wav> — полный путь
но существенное количество данных, которые ного процесса и наблюдать начало и конец к .wav-файлу или относительный путь, оп-
нецелесообразно включать в расчет потерь. периода желаемого отклика на скачок нагруз- ределяемый из каталога, содержащего симу-
Используйте директиву .IC для определе- ки. Используйте команду PWL, чтобы про- лируемую схему или список соединений.
ния узловых напряжений и токов через катуш- граммировать выходной ток нагрузки и пе- <Nbits> — число битов в выборке. Допус-
ки индуктивности, чтобы уменьшить длитель- реключать его на различные уровни в жела- тимый диапазон — от 1 до 32 битов.
ность анализа переходного процесса, предше- емые моменты времени. Например: <SampleRate> — количество выборок в се-
ствующего установившемуся режиму. кунду. Допустимый диапазон — от 1 до
PWL(0 0.5 1m 0.5 1.01m 0.1 3m 0.1 3.01m 0.5) 4 294 967 295 выборок в секунду. Далее в син-
NODICARD Ток нагрузки начинается с 0,5 A в момент времени 0, таксисе — перечисление узловых напряже-
пребывает равным 0,5 A в течение 1 мс,
Не удалять часть моделирования переход- переключается на 0,1 A в момент времени 1,01 мс, ний, значения которых нужно сохранить.
ного процесса, прежде чем будет достигнут пребывает равным 0,1 A до 3 мс, Каждый узел будет независимым каналом
переключается на 0,5A в 3,01 мс и остается равным 0,5 A.
установившийся режим. в .wav-файле. Число каналов может быть от
одного до 65 535. Можно записать ток в уст-
STEP PWL может иметь почти неограниченную ройстве, например, Ib(Q1), или узловое на-
Расчет отклика схемы на ступенчатое воз- последовательность пар (время, значение). пряжение. .wav-аналог цифрового преобра-
действие. Эта функция работает с использо- зователя имеет полномасштабный диапазон
ванием в качестве нагрузки источника тока .WAVE — от –1 до +1 вольта или ампера.
со ступенчатым изменением тока. Процеду- запись выбранных узлов в .wav-файл В файле …\LTC\SwCADIII\examples\Educa-
ра включает в себя следующие этапы: LTspice может записывать звуковые фай- tional\wavein.asc приведен пример использо-
1. Определяется установившийся режим лы .wav. Эти файлы можно слушать или ис- вания директивы .WAVE.
и очищается история, если не использует- пользовать в качестве входных для другого В следующей статье — примеры моделиро-
ся NODISCARD. моделирования. вания схем с использованием программы. ■

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 2 '2009 www.kit5e.ru