Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-release > by-pkgid > 7470e5ba72ba56f1e2ffc81f92c36e65 > files > 58

geda-docs-1.8.2-7.mga7.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <title></title>
  <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
  <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
  <link rel="stylesheet" media="print" type="text/css" href="./print.css" />

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>


<h1 class="sectionedit1803"><a name="моделирование" id="моделирование">Моделирование</a></h1>
<div class="level1">

</div>
<!-- EDIT1803 SECTION "Моделирование" [1-44] -->
<h2 class="sectionedit1804"><a name="я_хочу_смоделировать_работу_своей_аналоговой_схемы_какие_есть_варианты" id="я_хочу_смоделировать_работу_своей_аналоговой_схемы_какие_есть_варианты">Я хочу смоделировать работу своей аналоговой схемы. Какие есть варианты?</a></h2>
<div class="level2">

<p>
Среди канонических программ gEDA Suite есть две программы аналогового
моделирования: <strong>ngspice</strong> и <strong>gnucap</strong>. (Чуть) более
подробно:
</p>
<ul>
<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>
</li>
<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>
</li>
</ul>

<p>
Обе программы имеют только интерфейс командной строки, то есть взаимодействие
с программой моделирования осуществляется набором команд в командной строке.
Это значит также, что вам нужно изучить специфический для программы набор
команд.
</p>

<p>
Если вы предпочитаете графический интерфейс, новое приложение gEDA <strong>gspiceui</strong>
предоставляет хорошую графическую оболочку для работы с этими программами
моделирования. Однако <strong>gspiceui</strong> не предоставляет полного цикла вида
“от-схемы-до-вывода-моделирования” подобно <strong>LTSpice</strong> или <strong>PSpice</strong>. Точнее, она просто
предоставляет графическое меню, помогающее управлять командами, нужными для
выполнения моделирования с помощью <strong>ngspice</strong> / <strong>gnucap</strong>.
</p>

</div>
<!-- EDIT1804 SECTION "Я хочу смоделировать работу своей аналоговой схемы. Какие есть варианты?" [45-2642] -->
<h2 class="sectionedit1805"><a name="как_насчёт_tclspice_что_это_стоит_ли_это_использовать" id="как_насчёт_tclspice_что_это_стоит_ли_это_использовать">Как насчёт tclspice? Что это? Стоит ли это использовать?</a></h2>
<div class="level2">

<p>
Проект <a href="http://tclspice.sourceforge.net/" class="urlextern" title="http://tclspice.sourceforge.net/"  rel="nofollow">tclspice</a> был ответвлением
основного маршрута разработки <strong>ngspice</strong>. Он был начат в 2002 году. В принципе,
<strong>tclspice</strong> должен был бы экспортировать набор команд SPICE в <acronym title="Application Programming Interface">API</acronym> TCL, позволяя
вам встроить SPICE-анализ в TCL-программу. Это определённо очень
привлекательная цель, так как TCL — это мощный скриптовый язык, намного
более мощный, чем скриптовые конструкции имеющиеся в самом SPICE. При
использовании TCL, как можно себе представить, возможно написание сложных
оптимизаторов схем, добавление в моделирование поведенческих элементов и,
наконец, получение управления над графическим выводом SPICE.
</p>

<p>
Как оказалось, эта цель была достигнута частично — с помощью <strong>tclspice</strong> в
самом деле можно сделать что-то вроде этого:
</p>
<pre class="code">#! tclsh
package require spice
spice::codemodel /usr/local/src/tclspice-0.2.12/src/xspice/icm/spice2poly.cm

spice::source netlistname.cir
spice::tran 0.1ns 40ns
spice::run
spice::plot Vout
puts &quot;Всё готово!&quot;</pre>

<p>
К сожалению, в <strong>tclspice</strong> отсутствуют некоторые важные возможности, как
например выдача кода возврата, который сообщит, работает ли в данный момент
моделирование или оно завершилось ошибкой. Кажется и графическая
функциональность тоже никогда не работала (по крайней мере для меня…, и
разработчики согласны, что графика отвратительна). Трансляция переменных TCL в
векторы SPICE и наоборот тоже, кажется, никогда не работала, опять, по
крайней мере для меня. Наконец, в <strong>ngspice</strong> (по крайней мере) множество утечек
памяти, что затрудняет выполнение длительного моделирования. Поэтому <strong>tclspice</strong> не
соответствует данным изначально обещаниям: быть удобным скриптовым средством
для выполнения SPICE-моделирования.
</p>

<p>
Действительная разработка проекта <strong>tclspice</strong> остановилась в 2004 году. Возможно
когда-нибудь кто-нибудь снова возьмётся за него. Тем временем основная ветка
разработки <a href="http://ngspice.sourceforge.net/" class="urlextern" title="http://ngspice.sourceforge.net/"  rel="nofollow">ngspice</a> приобрела возможности
<strong>tclspice</strong>, если они вам нужны (для них требуются особые ключи в конфигурации),
и код там более свежий.
</p>

</div>
<!-- EDIT1805 SECTION "Как насчёт tclspice? Что это? Стоит ли это использовать?" [2643-6120] -->
<h2 class="sectionedit1806"><a name="где_взять_модели" id="где_взять_модели">Где взять модели?</a></h2>
<div class="level2">

<p>
Существует очень мало моделей с открытым исходным кодом, предоставленных
в общее пользование энтузиастами. Вот почему в пакетах <strong>gnucap</strong> и <strong>ngspice</strong>
нет больших библиотек моделей. Если вы сваяли свою собственную, и
вам хотелось бы внести свой вклад в проект, это может быть отличной
возможностью (намёк, намёк…).
</p>

<p>
Хотя многие производители и предоставляют бесплатно SPICE-модели, они
сохраняют проприетарную лицензию. Это значит, что данные модели не могут
распространяться вместе с gEDA Suite. К тому же, в различных реализациях SPICE
мнения насчёт правильного синтаксиса несколько различаются. Как следствие,
некоторые модели, поставляемые производителями, необходимо корректировать для
работы со специфической реализацией.
</p>

<p>
<strong>spicelib</strong> предоставляет средство получения моделей, скорректированных для
<strong>gnucap</strong> и <strong>ngspice</strong>. Это набор скриптов, который доставит модели поставщиков
непосредственно из исходного местоположения, что решает проблему их
распространения. Затем подправит их для совместимости с <strong>gnucap</strong> и <strong>ngspice</strong>.
<strong>spicelib</strong> можно загрузить со страницы
<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>.
</p>

</div>
<!-- EDIT1806 SECTION "Где взять модели?" [6121-8115] -->
<h2 class="sectionedit1807"><a name="нет_ли_какой-нибудь_красивой_графической_оболочки_редактора_схем_в_которой_я_мог_бы_просто_добавлять_компоненты_и_нажимать_кнопку_моделирование" id="нет_ли_какой-нибудь_красивой_графической_оболочки_редактора_схем_в_которой_я_мог_бы_просто_добавлять_компоненты_и_нажимать_кнопку_моделирование">Нет ли какой-нибудь красивой графической оболочки (редактора схем), в которой я мог бы просто добавлять компоненты и нажимать кнопку &quot;моделирование&quot;?</a></h2>
<div class="level2">

<p>
Нет. Лучшее, что можно сделать — использовать
<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>.
</p>

</div>
<!-- EDIT1807 SECTION "Нет ли какой-нибудь красивой графической оболочки (редактора схем), в которой я мог бы просто добавлять компоненты и нажимать кнопку моделирование?" [8116-8551] -->
<h2 class="sectionedit1808"><a name="как_подготовить_свою_схему_для_аналогового_моделирования" id="как_подготовить_свою_схему_для_аналогового_моделирования">Как подготовить свою схему для аналогового моделирования?</a></h2>
<div class="level2">

<p>
Обычная последовательность разработки —
<strong>gschem</strong> → <strong><code>gnetlist -g spice-sdb</code></strong> → [<strong>ngspice</strong> | <strong>gnucap</strong>].
Чтобы задать необходимые атрибуты для SPICE / <strong>gnucap</strong>, их нужно прикрепить к
компонентам в своей схеме. Можно также добавить атрибуты с помощью
<strong>gattrib</strong>.
</p>

<p>
Всё это очень подробно описано в <a href="geda-csygas.ru.html" class="wikilink1" title="geda-csygas.ru.html">HOWTO по схемотехническому моделированию
с помощью gEDA и SPICE</a>.
</p>

<p>
Некоторые <a href="http://www.brorson.com/gEDA/SPICE/" class="urlextern" title="http://www.brorson.com/gEDA/SPICE/"  rel="nofollow">SPICE-ресурсы</a> помогут вам
понять, как использовать <strong>spice-sdb</strong>.
</p>

</div>
<!-- EDIT1808 SECTION "Как подготовить свою схему для аналогового моделирования?" [8552-9441] -->
<h2 class="sectionedit1809"><a name="какой_драйвер_для_gnetlist_использовать_для_создания_списка_соединений_spice_их_несколько" id="какой_драйвер_для_gnetlist_использовать_для_создания_списка_соединений_spice_их_несколько">Какой драйвер для gnetlist использовать для создания списка соединений SPICE? Их несколько...</a></h2>
<div class="level2">

<p>
Используйте драйвер <strong>spice-sdb</strong>. Он наиболее продвинутый и очень богат
возможностями. Другие остались только по историческим причинам. Обратите
внимание, что <strong>spice-sdb</strong> является расширением одного из других драйверов SPICE,
так что, используя его, вы ничего не потеряете.
</p>

</div>
<!-- EDIT1809 SECTION "Какой драйвер для gnetlist использовать для создания списка соединений SPICE? Их несколько..." [9442-10094] -->
<h2 class="sectionedit1810"><a name="а_что_если_я_хочу_использовать_gnucap_можно_ли_мне_использовать_spice-sdb_для_создания_списка_соединений_для_него" id="а_что_если_я_хочу_использовать_gnucap_можно_ли_мне_использовать_spice-sdb_для_создания_списка_соединений_для_него">А что если я хочу использовать gnucap, можно ли мне использовать spice-sdb для создания списка соединений для него?</a></h2>
<div class="level2">

<p>
Да. Также можно начертить свою схему с использованием директив <strong>gnucap</strong>,
находящихся в библиотеке символов в каталоге <em><code>spice</code></em>.
</p>

<p>
Лучше просто начертить схему, без директив, и запустить эту программу
моделирования интерактивно.
</p>

</div>
<!-- EDIT1810 SECTION "А что если я хочу использовать gnucap, можно ли мне использовать spice-sdb для создания списка соединений для него?" [10095-10714] -->
<h2 class="sectionedit1811"><a name="почему_бы_мне_не_использовать_свою_схему_моделирования_также_и_для_разработки_топологии" id="почему_бы_мне_не_использовать_свою_схему_моделирования_также_и_для_разработки_топологии">Почему бы мне не использовать свою схему моделирования также и для разработки топологии?</a></h2>
<div class="level2">

<p>
Новички обычно хотят сделать одну <a href="geda-glossary.ru.html#принципиальная_схема" class="wikilink1" title="geda-glossary.ru.html">принципиальную схему</a> и для моделирования/проверки работоспособности
проекта, и для <a href="geda-glossary.ru.html#проектирование_топологии" class="wikilink1" title="geda-glossary.ru.html">разработки
топологии</a>. На первый взгляд это кажется заманчивым, так как проект топологии
уже будет протестирован и проверен на работоспособность до его отправки на
производство на <a href="geda-glossary.ru.html#fr-4" class="wikilink1" title="geda-glossary.ru.html">FR-4</a>. Однако
дьявол кроется в деталях. Использовать одну и ту же схему для моделирования и
разработки топологии обычно не получается по следующим причинам:
</p>
<ul>
<li class="level1"><div class="li"> Компоненты для моделирования и разработки топологии обычно совершенно различны. Например, для моделирования часто требуется, чтобы в схеме содержалось много устройств, относящихся к SPICE, таких как источники напряжения, зависимые источники, директивы SPICE и так далее. С другой стороны, для разработки топологии нужны компоненты, не используемые в SPICE, такие как соединители, логические устройства, и даже такие устройства, как регуляторы напряжения, для которых может и не быть модели SPICE, но они будут засорять список соединений SPICE, возможно вызывая недовольство генератора списка соединений и программы моделирования.</div>
</li>
<li class="level1"><div class="li"> Для некоторых настоящих электронных компонентов нет моделей SPICE, встроенных в программы. Есть множество компонентов, не имеющих моделей для SPICE, например, потенциометры, трансформаторы, термисторы, фильтры электромагнитных помех, логические элементы, кварцевые резонаторы, электронные лампы и так далее. Поэтому, если в вашем проекте используются какие-либо из этих компонентов, вам придётся для моделирования имитировать эти устройства, используя эквивалентные схемы. Это сильно осложняет использование для разработки топологии той схемы, что создана для моделирования.</div>
</li>
<li class="level1"><div class="li"> Обычно на самом деле нужно смоделировать поведение только какой-то части разработки. Например, вы можете захотеть смоделировать поведение фильтра или кварцевого резонатора, но вам не нужно (или вы не можете) моделировать работу источника питания, логики или других частей своего проекта. Если вы упорно будете настаивать на создании SPICE-моделей для этих отдельных частей схемы, то может быть вам придётся пройти множество трудных испытаний, — и сделать много ненужной тяжёлой работы, — чтобы найти или создать SPICE-модели для частей своей разработки, которые не так уж и важны.</div>
</li>
</ul>

<p>
Поэтому я (SDB) обычно рекомендую не слишком сильно пытаться использовать одну
и ту же схему и для моделирования, и для разработки топологии. Если можно это
сделать — здорово! Но обычно — нельзя.
</p>

<p>
Лично я склоняюсь к тому, чтобы создавать SPICE-модели только для критических
аналоговых частей своих проектов. Поэтому проект побольше может содержать пару
схем для моделирования аналоговых частей схемы с целью проверки их
работоспособности. Кроме схем для моделирования, у меня будет и основная схема,
используемая для разработки топологии.
</p>

</div>
<!-- EDIT1811 SECTION "Почему бы мне не использовать свою схему моделирования также и для разработки топологии?" [10715-] --></body>
</html>