User Tools

Site Tools


geda:faq-simulation.ru

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
geda:faq-simulation.ru [2012/03/10 15:38]
vzh Spelling
geda:faq-simulation.ru [2014/04/25 08:47]
vzh Updated using po4a
Line 1: Line 1:
 +//Эта страница доступна также на следующих языках://​
 +[[faq-simulation|English]],​ [[faq-simulation.fr|Français]].
 +
 ====== Моделирование ====== ====== Моделирование ======
- 
- 
  
 ===== Я хочу смоделировать работу своей аналоговой схемы. Какие есть варианты?​ ===== ===== Я хочу смоделировать работу своей аналоговой схемы. Какие есть варианты?​ =====
Line 8: Line 9:
 подробно:​ подробно:​
   * [[http://​ngspice.sourceforge.net/​|ngspice]] --- это перенос/​доработка классической программы **SPICE 3f5** для платформы GNU/Linux. Она полнофункциональна,​ включает расширения XSpice (такие как конструкции SPICE 2 POLY) и фреймворк CIDER.   * [[http://​ngspice.sourceforge.net/​|ngspice]] --- это перенос/​доработка классической программы **SPICE 3f5** для платформы GNU/Linux. Она полнофункциональна,​ включает расширения XSpice (такие как конструкции SPICE 2 POLY) и фреймворк CIDER.
-  * [[http://​www.gnucap.org/​|gnucap]] --- это новая, написанная с нуля программа схемотехнического моделирования. Она предоставляет возможность выполнения как событийного,​ так и сквозного моделирования. Это --- плод труда //Al Davis//. Если вы хотите загрузить её, убедитесь,​ что скачиваете последнюю версию,​ которую можно найти по ссылке ​"​development releases" ​(рабочие выпуски) на сайте **gnucap**.+  * [[http://​www.gnucap.org/​|gnucap]] --- это новая, написанная с нуля программа схемотехнического моделирования. Она предоставляет возможность выполнения как событийного,​ так и сквозного моделирования. Это --- плод труда //Al Davis//. Если вы хотите загрузить её, убедитесь,​ что скачиваете последнюю версию,​ которую можно найти по ссылке ​«development releases» ​(рабочие выпуски) на сайте **gnucap**.
  
-Обе программы имеют только интерфейс командной строки,​ то есть взаимодействие +Обе программы имеют только интерфейс командной строки,​ то есть 
-с программой моделирования осуществляется набором команд в командной строке. +взаимодействие с программой моделирования осуществляется набором команд в 
-Это значит также, что вам нужно изучить специфический для программы набор +командной строке. ​ Это значит также, что вам нужно изучить специфический для 
-команд+программы набор команд.
- +
-Если вы предпочитаете графический интерфейс,​ новое приложение gEDA **gspiceui** +
-предоставляет хорошую графическую оболочку для работы с этими программами +
-моделирования. Однако **gspiceui** не предоставляет полного цикла вида +
-"​от-схемы-до-вывода-моделирования"​ подобно **LTSpice** или **PSpice**. Точнее,​ она просто +
-предоставляет графическое меню, помогающее управлять командами,​ нужными для +
-выполнения моделирования с помощью **ngspice** / **gnucap**.+
  
 +Если вы предпочитаете графический интерфейс,​ новое приложение gEDA
 +**gspiceui** предоставляет хорошую графическую оболочку для работы с этими
 +программами моделирования. Однако **gspiceui** не предоставляет полного
 +цикла вида «от-схемы-до-вывода-моделирования» подобно **LTSpice** или
 +**PSpice**. Точнее,​ она просто предоставляет графическое меню, помогающее
 +управлять командами,​ нужными для выполнения моделирования с помощью
 +**ngspice** / **gnucap**.
  
 ===== Как насчёт tclspice? Что это? Стоит ли это использовать?​ ===== ===== Как насчёт tclspice? Что это? Стоит ли это использовать?​ =====
 Проект [[http://​tclspice.sourceforge.net/​|tclspice]] был ответвлением Проект [[http://​tclspice.sourceforge.net/​|tclspice]] был ответвлением
-основного маршрута разработки **ngspice**. Он был начат в 2002 году. В принципе,​ +основного маршрута разработки **ngspice**. Он был начат в 2002 году. В 
-**tclspice** должен был бы экспортировать набор команд SPICE в API TCL, позволяя +принципе,​ **tclspice** должен был бы экспортировать набор команд SPICE в API 
-вам встроить SPICE-анализ в TCL-программу. Это определённо очень +TCL, позволяя вам встроить SPICE-анализ в TCL-программу. Это определённо 
-привлекательная цель, так как TCL --- это мощный скриптовый язык, намного +очень привлекательная цель, так как TCL --- это мощный скриптовый язык, 
-более мощный,​ чем скриптовые конструкции имеющиеся в самом SPICE. При +намного более мощный,​ чем скриптовые конструкции имеющиеся в самом 
-использовании TCL, как можно себе представить,​ возможно написание сложных +SPICE. При использовании TCL, как можно себе представить,​ возможно написание 
-оптимизаторов схем, добавление в моделирование поведенческих элементов и, +сложных оптимизаторов схем, добавление в моделирование поведенческих 
-наконец,​ получение управления над графическим выводом SPICE.+элементов и, наконец,​ получение управления над графическим выводом SPICE.
  
-Как оказалось,​ эта цель была достигнута частично --- с помощью **tclspice** ​в +Как оказалось,​ эта цель была достигнута частично --- с помощью **tclspice** 
-самом деле можно сделать что-то вроде этого:+в самом деле можно сделать что-то вроде этого:
 <​code>#​! tclsh <​code>#​! tclsh
 package require spice package require spice
Line 50: Line 51:
 моделирование или оно завершилось ошибкой. Кажется и графическая моделирование или оно завершилось ошибкой. Кажется и графическая
 функциональность тоже никогда не работала (по крайней мере для меня...,​ и функциональность тоже никогда не работала (по крайней мере для меня...,​ и
-разработчики согласны,​ что графика отвратительна). Трансляция переменных TCL в +разработчики согласны,​ что графика отвратительна). Трансляция переменных TCL 
-векторы SPICE и наоборот тоже, кажется,​ никогда не работала,​ опять, по +в векторы SPICE и наоборот тоже, кажется,​ никогда не работала,​ опять, по 
-крайней мере для меня. Наконец,​ в **ngspice** (по крайней мере) множество утечек +крайней мере для меня. Наконец,​ в **ngspice** (по крайней мере) множество 
-памяти,​ что затрудняет выполнение длительного моделирования. Поэтому **tclspice** не +утечек памяти,​ что затрудняет выполнение длительного моделирования. Поэтому 
-соответствует данным изначально обещаниям:​ быть удобным скриптовым средством +**tclspice** не соответствует данным изначально обещаниям:​ быть удобным 
-для выполнения SPICE-моделирования+скриптовым средством для выполнения SPICE-моделирования.
- +
-Действительная разработка проекта **tclspice** остановилась в 2004 году. Возможно +
-когда-нибудь кто-нибудь снова возьмётся за него. Тем временем основная ветка +
-разработки [[http://​ngspice.sourceforge.net/​|ngspice]] приобрела возможности +
-**tclspice**,​ если они вам нужны (для них требуются особые ключи в конфигурации),​ +
-и код там более свежий.+
  
 +Действительная разработка проекта **tclspice** остановилась в 2004
 +году. Возможно когда-нибудь кто-нибудь снова возьмётся за него. Тем временем
 +основная ветка разработки [[http://​ngspice.sourceforge.net/​|ngspice]]
 +приобрела возможности **tclspice**,​ если они вам нужны (для них требуются
 +особые ключи в конфигурации),​ и код там более свежий.
  
 ===== Где взять модели?​ ===== ===== Где взять модели?​ =====
-Существует очень мало моделей с открытым исходным кодом, предоставленных +Существует очень мало моделей с открытым исходным кодом, предоставленных в 
-в общее пользование энтузиастами. Вот почему в пакетах **gnucap** и **ngspice** +общее пользование энтузиастами. Вот почему в пакетах **gnucap** и 
-нет больших библиотек моделей. Если вы сваяли свою собственную, ​и +**ngspice** нет больших библиотек моделей. Если вы сваяли свою собственную,​ 
-вам хотелось бы внести свой вклад в проект,​ это может быть отличной+и вам хотелось бы внести свой вклад в проект,​ это может быть отличной
 возможностью (намёк,​ намёк...). возможностью (намёк,​ намёк...).
  
 Хотя многие производители и предоставляют бесплатно SPICE-модели,​ они Хотя многие производители и предоставляют бесплатно SPICE-модели,​ они
 сохраняют проприетарную лицензию. Это значит,​ что данные модели не могут сохраняют проприетарную лицензию. Это значит,​ что данные модели не могут
-распространяться вместе с gEDA Suite. К тому же, в различных реализациях ​SPICE +распространяться вместе с gEDA Suite. К тому же, в различных реализациях 
-мнения насчёт правильного синтаксиса несколько различаются. Как следствие,​ +SPICE мнения насчёт правильного синтаксиса несколько различаются. Как 
-некоторые модели,​ поставляемые производителями,​ необходимо корректировать для +следствие,​ некоторые модели,​ поставляемые производителями,​ необходимо 
-работы со специфической реализацией.+корректировать для работы со специфической реализацией.
  
 **spicelib** предоставляет средство получения моделей,​ скорректированных для **spicelib** предоставляет средство получения моделей,​ скорректированных для
-**gnucap** и **ngspice**. Это набор скриптов,​ который доставит модели поставщиков +**gnucap** и **ngspice**. Это набор скриптов,​ который доставит модели 
-непосредственно из исходного местоположения,​ что решает проблему их +поставщиков непосредственно из исходного местоположения,​ что решает проблему 
-распространения. Затем подправит их для совместимости с **gnucap** и **ngspice**. +их распространения. Затем подправит их для совместимости с **gnucap** и 
-**spicelib** можно загрузить со страницы+**ngspice**. **spicelib** можно загрузить со страницы
 [[http://​www.h-renrew.de/​h/​spicelib/​doc/​index.html]]. [[http://​www.h-renrew.de/​h/​spicelib/​doc/​index.html]].
- 
  
 ===== Нет ли какой-нибудь красивой графической оболочки (редактора схем), в которой я мог бы просто добавлять компоненты и нажимать кнопку "​моделирование"?​ ===== ===== Нет ли какой-нибудь красивой графической оболочки (редактора схем), в которой я мог бы просто добавлять компоненты и нажимать кнопку "​моделирование"?​ =====
 Нет. Лучшее,​ что можно сделать --- использовать Нет. Лучшее,​ что можно сделать --- использовать
 [[http://​www.geda.seul.org/​tools/​gspiceui/​index.html|gspiceui]]. [[http://​www.geda.seul.org/​tools/​gspiceui/​index.html|gspiceui]].
- 
  
 ===== Как подготовить свою схему для аналогового моделирования?​ ===== ===== Как подготовить свою схему для аналогового моделирования?​ =====
-Обычная последовательность разработки --- +Обычная последовательность разработки --- **gschem** -> **''​gnetlist -g 
-**gschem** -> **''​gnetlist -g spice-sdb''​** -> [**ngspice** | **gnucap**]. +spice-sdb''​** -> [**ngspice** | **gnucap**]. ​ Чтобы задать необходимые 
-Чтобы задать необходимые атрибуты для SPICE / **gnucap**, их нужно прикрепить к +атрибуты для SPICE / **gnucap**, их нужно прикрепить к компонентам в своей 
-компонентам в своей схеме. Можно также добавить атрибуты с помощью +схеме. Можно также добавить атрибуты с помощью **gattrib**
-**gattrib**.+ 
 +Всё это очень подробно описано в [[gEDA:​csygas.ru|HOWTO по схемотехническому 
 +моделированию с помощью gEDA и SPICE]].
  
-Всё это очень подробно описано в [[gEDA:​csygas.ru|HOWTO по схемотехническому моделированию 
-с помощью gEDA и SPICE]]. 
  
 Некоторые [[http://​www.brorson.com/​gEDA/​SPICE/​|SPICE-ресурсы]] помогут вам Некоторые [[http://​www.brorson.com/​gEDA/​SPICE/​|SPICE-ресурсы]] помогут вам
 понять,​ как использовать **spice-sdb**. понять,​ как использовать **spice-sdb**.
- 
  
 ===== Какой драйвер для gnetlist использовать для создания списка соединений SPICE? Их несколько... ===== ===== Какой драйвер для gnetlist использовать для создания списка соединений SPICE? Их несколько... =====
 Используйте драйвер **spice-sdb**. Он наиболее продвинутый и очень богат Используйте драйвер **spice-sdb**. Он наиболее продвинутый и очень богат
 возможностями. Другие остались только по историческим причинам. Обратите возможностями. Другие остались только по историческим причинам. Обратите
-внимание,​ что **spice-sdb** является расширением одного из других драйверов SPICE, +внимание,​ что **spice-sdb** является расширением одного из других драйверов 
-так что, используя его, вы ничего не потеряете. +SPICE, так что, используя его, вы ничего не потеряете.
  
 ===== А что если я хочу использовать gnucap, можно ли мне использовать spice-sdb для создания списка соединений для него? ===== ===== А что если я хочу использовать gnucap, можно ли мне использовать spice-sdb для создания списка соединений для него? =====
Line 118: Line 114:
 Лучше просто начертить схему, без директив,​ и запустить эту программу Лучше просто начертить схему, без директив,​ и запустить эту программу
 моделирования интерактивно. моделирования интерактивно.
- 
  
 ===== Почему бы мне не использовать свою схему моделирования также и для разработки топологии?​ ===== ===== Почему бы мне не использовать свою схему моделирования также и для разработки топологии?​ =====
Line 133: Line 128:
   * Обычно на самом деле нужно смоделировать поведение только какой-то части разработки. Например,​ вы можете захотеть смоделировать поведение фильтра или кварцевого резонатора,​ но вам не нужно (или вы не можете) моделировать работу источника питания,​ логики или других частей своего проекта. Если вы упорно будете настаивать на создании SPICE-моделей для этих отдельных частей схемы, то может быть вам придётся пройти множество трудных испытаний,​ --- и сделать много ненужной тяжёлой работы,​ --- чтобы найти или создать SPICE-модели для частей своей разработки,​ которые не так уж и важны.   * Обычно на самом деле нужно смоделировать поведение только какой-то части разработки. Например,​ вы можете захотеть смоделировать поведение фильтра или кварцевого резонатора,​ но вам не нужно (или вы не можете) моделировать работу источника питания,​ логики или других частей своего проекта. Если вы упорно будете настаивать на создании SPICE-моделей для этих отдельных частей схемы, то может быть вам придётся пройти множество трудных испытаний,​ --- и сделать много ненужной тяжёлой работы,​ --- чтобы найти или создать SPICE-модели для частей своей разработки,​ которые не так уж и важны.
  
-Поэтому я (SDB) обычно рекомендую не слишком сильно пытаться использовать одну +Поэтому я (SDB) обычно рекомендую не слишком сильно пытаться использовать 
-и ту же схему и для моделирования,​ и для разработки топологии. Если можно это +одну и ту же схему и для моделирования,​ и для разработки топологии. Если 
-сделать --- здорово! Но обычно --- нельзя.+можно это сделать --- здорово! Но обычно --- нельзя.
  
-Лично я склоняюсь к тому, чтобы создавать SPICE-модели только для критических +Лично я склоняюсь к тому, чтобы создавать SPICE-модели только для 
-аналоговых частей своих проектов. Поэтому проект побольше может содержать пару +критических аналоговых частей своих проектов. Поэтому проект побольше может 
-схем для моделирования аналоговых частей схемы с целью проверки их +содержать пару схем для моделирования аналоговых частей схемы с целью 
-работоспособности. Кроме схем для моделирования,​ у меня будет и основная схема, +проверки их работоспособности. Кроме схем для моделирования,​ у меня будет и 
-используемая для разработки топологии.+основная схема, используемая для разработки топологии.
  
geda/faq-simulation.ru.txt · Last modified: 2014/04/25 08:47 by vzh