Update wiki pages
[geda-gaf.git] / docs / wiki / geda-faq-simulation.ru.html
blob0e55ac21c665ce6850c99d89f5ca4e97b10e3984
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
5 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
6 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
7 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 </head>
11 <body>
13 <p>
14 <em>Эта страница доступна также на следующих языках:</em>
15 <a href="geda-faq-simulation.html" class="wikilink1" title="geda-faq-simulation.html">English</a>, <a href="geda-faq-simulation.fr.html" class="wikilink1" title="geda-faq-simulation.fr.html">Français</a>.
16 </p>
18 <h1 class="sectionedit1" id="моделирование">Моделирование</h1>
19 <div class="level1">
21 </div>
22 <!-- EDIT1 SECTION "Моделирование" [157-198] -->
23 <h2 class="sectionedit2" id="я_хочу_смоделировать_работу_своей_аналоговой_схемы_какие_есть_варианты">Я хочу смоделировать работу своей аналоговой схемы. Какие есть варианты?</h2>
24 <div class="level2">
26 <p>
27 Среди канонических программ gEDA Suite есть две программы аналогового
28 моделирования: <strong>ngspice</strong> и <strong>gnucap</strong>. (Чуть) более
29 подробно:
30 </p>
31 <ul>
32 <li class="level1"><div class="li"> <a href="http://ngspice.sourceforge.net/" class="urlextern" title="http://ngspice.sourceforge.net/" rel="nofollow">ngspice</a> — это перенос/доработка классической программы <strong>SPICE 3f5</strong> для платформы GNU/Linux. Она полнофункциональна, включает расширения XSpice (такие как конструкции SPICE 2 POLY) и фреймворк CIDER.</div>
33 </li>
34 <li class="level1"><div class="li"> <a href="http://www.gnucap.org/" class="urlextern" title="http://www.gnucap.org/" rel="nofollow">gnucap</a> — это новая, написанная с нуля программа схемотехнического моделирования. Она предоставляет возможность выполнения как событийного, так и сквозного моделирования. Это — плод труда <em>Al Davis</em>. Если вы хотите загрузить её, убедитесь, что скачиваете последнюю версию, которую можно найти по ссылке «development releases» (рабочие выпуски) на сайте <strong>gnucap</strong>.</div>
35 </li>
36 </ul>
38 <p>
39 Обе программы имеют только интерфейс командной строки, то есть
40 взаимодействие с программой моделирования осуществляется набором команд в
41 командной строке. Это значит также, что вам нужно изучить специфический для
42 программы набор команд.
43 </p>
45 <p>
46 Если вы предпочитаете графический интерфейс, новое приложение gEDA
47 <strong>gspiceui</strong> предоставляет хорошую графическую оболочку для работы с этими
48 программами моделирования. Однако <strong>gspiceui</strong> не предоставляет полного
49 цикла вида «от-схемы-до-вывода-моделирования» подобно <strong>LTSpice</strong> или
50 <strong>PSpice</strong>. Точнее, она просто предоставляет графическое меню, помогающее
51 управлять командами, нужными для выполнения моделирования с помощью
52 <strong>ngspice</strong> / <strong>gnucap</strong>.
53 </p>
55 </div>
56 <!-- EDIT2 SECTION "Я хочу смоделировать работу своей аналоговой схемы. Какие есть варианты?" [199-2800] -->
57 <h2 class="sectionedit3" id="как_насчёт_tclspice_что_это_стоит_ли_это_использовать">Как насчёт tclspice? Что это? Стоит ли это использовать?</h2>
58 <div class="level2">
60 <p>
61 Проект <a href="http://tclspice.sourceforge.net/" class="urlextern" title="http://tclspice.sourceforge.net/" rel="nofollow">tclspice</a> был ответвлением
62 основного маршрута разработки <strong>ngspice</strong>. Он был начат в 2002 году. В
63 принципе, <strong>tclspice</strong> должен был бы экспортировать набор команд SPICE в <abbr title="Application Programming Interface">API</abbr>
64 TCL, позволяя вам встроить SPICE-анализ в TCL-программу. Это определённо
65 очень привлекательная цель, так как TCL — это мощный скриптовый язык,
66 намного более мощный, чем скриптовые конструкции имеющиеся в самом
67 SPICE. При использовании TCL, как можно себе представить, возможно написание
68 сложных оптимизаторов схем, добавление в моделирование поведенческих
69 элементов и, наконец, получение управления над графическим выводом SPICE.
70 </p>
72 <p>
73 Как оказалось, эта цель была достигнута частично — с помощью <strong>tclspice</strong>
74 в самом деле можно сделать что-то вроде этого:
75 </p>
76 <pre class="code">#! tclsh
77 package require spice
78 spice::codemodel /usr/local/src/tclspice-0.2.12/src/xspice/icm/spice2poly.cm
80 spice::source netlistname.cir
81 spice::tran 0.1ns 40ns
82 spice::run
83 spice::plot Vout
84 puts &quot;Всё готово!&quot;</pre>
86 <p>
87 К сожалению, в <strong>tclspice</strong> отсутствуют некоторые важные возможности, как
88 например выдача кода возврата, который сообщит, работает ли в данный момент
89 моделирование или оно завершилось ошибкой. Кажется и графическая
90 функциональность тоже никогда не работала (по крайней мере для меня…, и
91 разработчики согласны, что графика отвратительна). Трансляция переменных TCL
92 в векторы SPICE и наоборот тоже, кажется, никогда не работала, опять, по
93 крайней мере для меня. Наконец, в <strong>ngspice</strong> (по крайней мере) множество
94 утечек памяти, что затрудняет выполнение длительного моделирования. Поэтому
95 <strong>tclspice</strong> не соответствует данным изначально обещаниям: быть удобным
96 скриптовым средством для выполнения SPICE-моделирования.
97 </p>
99 <p>
100 Действительная разработка проекта <strong>tclspice</strong> остановилась в 2004
101 году. Возможно когда-нибудь кто-нибудь снова возьмётся за него. Тем временем
102 основная ветка разработки <a href="http://ngspice.sourceforge.net/" class="urlextern" title="http://ngspice.sourceforge.net/" rel="nofollow">ngspice</a>
103 приобрела возможности <strong>tclspice</strong>, если они вам нужны (для них требуются
104 особые ключи в конфигурации), и код там более свежий.
105 </p>
107 </div>
108 <!-- EDIT3 SECTION "Как насчёт tclspice? Что это? Стоит ли это использовать?" [2801-6277] -->
109 <h2 class="sectionedit4" id="где_взять_модели">Где взять модели?</h2>
110 <div class="level2">
113 Существует очень мало моделей с открытым исходным кодом, предоставленных в
114 общее пользование энтузиастами. Вот почему в пакетах <strong>gnucap</strong> и
115 <strong>ngspice</strong> нет больших библиотек моделей. Если вы сваяли свою собственную,
116 и вам хотелось бы внести свой вклад в проект, это может быть отличной
117 возможностью (намёк, намёк…).
118 </p>
121 Хотя многие производители и предоставляют бесплатно SPICE-модели, они
122 сохраняют проприетарную лицензию. Это значит, что данные модели не могут
123 распространяться вместе с gEDA Suite. К тому же, в различных реализациях
124 SPICE мнения насчёт правильного синтаксиса несколько различаются. Как
125 следствие, некоторые модели, поставляемые производителями, необходимо
126 корректировать для работы со специфической реализацией.
127 </p>
130 <strong>spicelib</strong> предоставляет средство получения моделей, скорректированных для
131 <strong>gnucap</strong> и <strong>ngspice</strong>. Это набор скриптов, который доставит модели
132 поставщиков непосредственно из исходного местоположения, что решает проблему
133 их распространения. Затем подправит их для совместимости с <strong>gnucap</strong> и
134 <strong>ngspice</strong>. <strong>spicelib</strong> можно загрузить со страницы
135 <a href="http://www.h-renrew.de/h/spicelib/doc/index.html" class="urlextern" title="http://www.h-renrew.de/h/spicelib/doc/index.html" rel="nofollow">http://www.h-renrew.de/h/spicelib/doc/index.html</a>.
136 </p>
138 </div>
139 <!-- EDIT4 SECTION "Где взять модели?" [6278-8271] -->
140 <h2 class="sectionedit5" id="нет_ли_какой-нибудь_красивой_графической_оболочки_редактора_схем_в_которой_я_мог_бы_просто_добавлять_компоненты_и_нажимать_кнопку_моделирование">Нет ли какой-нибудь красивой графической оболочки (редактора схем), в которой я мог бы просто добавлять компоненты и нажимать кнопку &quot;моделирование&quot;?</h2>
141 <div class="level2">
144 Нет. Лучшее, что можно сделать — использовать
145 <a href="http://www.geda.seul.org/tools/gspiceui/index.html" class="urlextern" title="http://www.geda.seul.org/tools/gspiceui/index.html" rel="nofollow">gspiceui</a>.
146 </p>
148 </div>
149 <!-- EDIT5 SECTION "Нет ли какой-нибудь красивой графической оболочки (редактора схем), в которой я мог бы просто добавлять компоненты и нажимать кнопку моделирование?" [8272-8706] -->
150 <h2 class="sectionedit6" id="как_подготовить_свою_схему_для_аналогового_моделирования">Как подготовить свою схему для аналогового моделирования?</h2>
151 <div class="level2">
154 Обычная последовательность разработки — <strong>gschem</strong><strong><code>gnetlist -g
155 spice-sdb</code></strong> → [<strong>ngspice</strong> | <strong>gnucap</strong>]. Чтобы задать необходимые
156 атрибуты для SPICE / <strong>gnucap</strong>, их нужно прикрепить к компонентам в своей
157 схеме. Можно также добавить атрибуты с помощью <strong>gattrib</strong>.
158 </p>
161 Всё это очень подробно описано в <a href="geda-csygas.ru.html" class="wikilink1" title="geda-csygas.ru.html">HOWTO по схемотехническому
162 моделированию с помощью gEDA и SPICE</a>.
163 </p>
166 Некоторые <a href="http://www.brorson.com/gEDA/SPICE/" class="urlextern" title="http://www.brorson.com/gEDA/SPICE/" rel="nofollow">SPICE-ресурсы</a> помогут вам
167 понять, как использовать <strong>spice-sdb</strong>.
168 </p>
170 </div>
171 <!-- EDIT6 SECTION "Как подготовить свою схему для аналогового моделирования?" [8707-9597] -->
172 <h2 class="sectionedit7" id="какой_драйвер_для_gnetlist_использовать_для_создания_списка_соединений_spice_их_несколько">Какой драйвер для gnetlist использовать для создания списка соединений SPICE? Их несколько...</h2>
173 <div class="level2">
176 Используйте драйвер <strong>spice-sdb</strong>. Он наиболее продвинутый и очень богат
177 возможностями. Другие остались только по историческим причинам. Обратите
178 внимание, что <strong>spice-sdb</strong> является расширением одного из других драйверов
179 SPICE, так что, используя его, вы ничего не потеряете.
180 </p>
182 </div>
183 <!-- EDIT7 SECTION "Какой драйвер для gnetlist использовать для создания списка соединений SPICE? Их несколько..." [9598-10249] -->
184 <h2 class="sectionedit8" id="а_что_если_я_хочу_использовать_gnucap_можно_ли_мне_использовать_spice-sdb_для_создания_списка_соединений_для_него">А что если я хочу использовать gnucap, можно ли мне использовать spice-sdb для создания списка соединений для него?</h2>
185 <div class="level2">
188 Да. Также можно начертить свою схему с использованием директив <strong>gnucap</strong>,
189 находящихся в библиотеке символов в каталоге <em><code>spice</code></em>.
190 </p>
193 Лучше просто начертить схему, без директив, и запустить эту программу
194 моделирования интерактивно.
195 </p>
197 </div>
198 <!-- EDIT8 SECTION "А что если я хочу использовать gnucap, можно ли мне использовать spice-sdb для создания списка соединений для него?" [10250-10868] -->
199 <h2 class="sectionedit9" id="почему_бы_мне_не_использовать_свою_схему_моделирования_также_и_для_разработки_топологии">Почему бы мне не использовать свою схему моделирования также и для разработки топологии?</h2>
200 <div class="level2">
203 Новички обычно хотят сделать одну <a href="geda-glossary.ru.html#принципиальная_схема" class="wikilink1" title="geda-glossary.ru.html">принципиальную схему</a> и для моделирования/проверки работоспособности
204 проекта, и для <a href="geda-glossary.ru.html#проектирование_топологии" class="wikilink1" title="geda-glossary.ru.html">разработки
205 топологии</a>. На первый взгляд это кажется заманчивым, так как проект топологии
206 уже будет протестирован и проверен на работоспособность до его отправки на
207 производство на <a href="geda-glossary.ru.html#fr-4" class="wikilink1" title="geda-glossary.ru.html">FR-4</a>. Однако
208 дьявол кроется в деталях. Использовать одну и ту же схему для моделирования и
209 разработки топологии обычно не получается по следующим причинам:
210 </p>
211 <ul>
212 <li class="level1"><div class="li"> Компоненты для моделирования и разработки топологии обычно совершенно различны. Например, для моделирования часто требуется, чтобы в схеме содержалось много устройств, относящихся к SPICE, таких как источники напряжения, зависимые источники, директивы SPICE и так далее. С другой стороны, для разработки топологии нужны компоненты, не используемые в SPICE, такие как соединители, логические устройства, и даже такие устройства, как регуляторы напряжения, для которых может и не быть модели SPICE, но они будут засорять список соединений SPICE, возможно вызывая недовольство генератора списка соединений и программы моделирования.</div>
213 </li>
214 <li class="level1"><div class="li"> Для некоторых настоящих электронных компонентов нет моделей SPICE, встроенных в программы. Есть множество компонентов, не имеющих моделей для SPICE, например, потенциометры, трансформаторы, термисторы, фильтры электромагнитных помех, логические элементы, кварцевые резонаторы, электронные лампы и так далее. Поэтому, если в вашем проекте используются какие-либо из этих компонентов, вам придётся для моделирования имитировать эти устройства, используя эквивалентные схемы. Это сильно осложняет использование для разработки топологии той схемы, что создана для моделирования.</div>
215 </li>
216 <li class="level1"><div class="li"> Обычно на самом деле нужно смоделировать поведение только какой-то части разработки. Например, вы можете захотеть смоделировать поведение фильтра или кварцевого резонатора, но вам не нужно (или вы не можете) моделировать работу источника питания, логики или других частей своего проекта. Если вы упорно будете настаивать на создании SPICE-моделей для этих отдельных частей схемы, то может быть вам придётся пройти множество трудных испытаний, — и сделать много ненужной тяжёлой работы, — чтобы найти или создать SPICE-модели для частей своей разработки, которые не так уж и важны.</div>
217 </li>
218 </ul>
221 Поэтому я (SDB) обычно рекомендую не слишком сильно пытаться использовать
222 одну и ту же схему и для моделирования, и для разработки топологии. Если
223 можно это сделать — здорово! Но обычно — нельзя.
224 </p>
227 Лично я склоняюсь к тому, чтобы создавать SPICE-модели только для
228 критических аналоговых частей своих проектов. Поэтому проект побольше может
229 содержать пару схем для моделирования аналоговых частей схемы с целью
230 проверки их работоспособности. Кроме схем для моделирования, у меня будет и
231 основная схема, используемая для разработки топологии.
232 </p>
234 </div>
235 <!-- EDIT9 SECTION "Почему бы мне не использовать свою схему моделирования также и для разработки топологии?" [10869-] --></body>
236 </html>