User Tools

Site Tools


geda:faq.ru

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
geda:faq.ru [2012/02/11 03:00]
vzh Updated, reworded something
geda:faq.ru [2015/08/25 08:21]
vzh Updated
Line 1: Line 1:
 +//Эта страница доступна также на следующих языках://​ [[faq|English]],​
 +[[faq.fr|Français]].
 +
 +====== gEDA FAQ ======
 +
 +
 +===== gEDA - что это за проект?​ =====
 +В рамках проекта gEDA создана и продолжает разрабатываться
 +[[geda:​glossary.ru#​САПР электроники|система автоматизированного
 +проектирования электроники]] полностью под лицензией GPL.  Эта система
 +используется для разработки электрических схем, схемотехнического
 +проектирования и моделирования,​ прототипирования и производства. В настоящее
 +время проект gEDA предлагает развитый комплект свободного программного
 +обеспечения для проектирования электроники,​ включающий программы для
 +[[geda:​glossary.ru#​Схемотехническое проектирование|схемотехнического
 +проектирования]],​ управления [[geda:​glossary.ru#​Атрибут|атрибутами]],​
 +создания [[geda:​glossary.ru#​Перечень элементов|перечней элементов]] (BOM) и
 +[[geda:​glossary.ru#​Список соединений|списков соединений]] в более чем
 +двадцати форматах,​ аналогового и цифрового
 +[[geda:​glossary.ru#​Схемотехническое моделирование|моделирования]] и
 +[[geda:​glossary.ru#​Проектирование топологии|проектирования топологии]]
 +печатных плат.
 +
 +Проект gEDA начал //Ales Hvezda// весной 1998 г., чтобы улучшить состояние
 +свободного аппаратного обеспечения и открытого аппаратного обеспечения((Что
 +такое свободное и открытое аппаратное обеспечение,​ смотрите,​ например,​ на
 +веб-странице [[http://​www.opencollector.org/​Whyfree/​]]. --- //Прим.
 +перев.//​)). За последние десять лет программное обеспечение и сообщество
 +gEDA значительно выросли. Несколько человек участвуют в разработке исходных
 +программ,​ в то время как другие разрабатывают свои собственные. «gEDA»
 +теперь относится не только к исходным программам (они теперь
 +самостоятельны),​ но и ко всем свободным проектам,​ которые как-либо связаны с
 +этой веб-страницей или со [[mailinglists.ru|списками рассылки]] gEDA. При
 +присоединении к gEDA авторы свободного программного обеспечения не только
 +ничуть не теряют управления над своими программами,​ но и усиливают
 +сообщество,​ которое заботится о качественных и свободных((Имеется в виду
 +свобода,​ а не бесплатность. --- //Прим. перев.//​)) программах САПР
 +электроники.
 +
 +gEDA может произноситься «ги-да» (рифмуется с Лида) или «г-да» (короткое
 +г)((Насчёт произношения даже у основных разработчиков нет единого мнения,​
 +так что произносите,​ как нравится,​ главное --- пишите правильно. ---
 +//​Прим. ​ перев.//​)).
 +
 +===== Что такое gEDA/gaf и как это относится к gEDA? =====
 +**gaf** означает «__g__schem __a__nd __f__riends» (**gschem** и друзья). Это подмножество большого набора программных средств,​ собранных под названием gEDA. gEDA/gaf --- это набор программ,​ в который в настоящее время входят:​
 +  * **gschem**: программа разработки принципиальных схем
 +  * **gnetlist**:​ программа создания списков соединений
 +  * **gsymcheck**:​ программа проверки [[geda:​glossary.ru#​символ|символов]] электрических схем
 +  * **gattrib**:​ программа электронной таблицы для изменения свойств символов в электрических схемах
 +  * **libgeda**:​ библиотеки для **gschem**, **gnetlist** и **gsymcheck**
 +  * **gsch2pcb**:​ средство прямого аннотирования [[geda:​glossary.ru#​Принципиальная схема|принципиальной схемы]] в [[geda:​glossary.ru#​Топология|топологию печатной платы]] для [[http://​pcb.geda-project.org|pcb]]
 +  * несколько второстепенных утилит
 +
 +Программы gEDA/gaf совместно используют общий формат файла (//''​.sch''//​),​ а
 +также общую библиотеку (**libgeda.so**). Дистрибутив исходных текстов
 +gEDA/gaf можно найти на сайте http://​www.geda-project.org.
 +
 +Хотя gaf и является наибольшей частью gEDA, название gEDA не относится
 +только лишь к gaf --- программные средства,​ собранные под названием «gEDA»,
 +включают и многие другие программы. На самом деле gEDA относится к **любым**
 +программным средствам САПР электроники под лицензией GPL, которые решили
 +присоединиться к веб-сайту/​списку рассылки gEDA. Важными примерами
 +программных средств gEDA являются программа разработки печатных плат
 +[[http://​pcb.geda-project.org|pcb]],​ компилятор Verilog
 +[[http://​www.icarus.com/​eda/​verilog/​|Icarus Verilog]], программа
 +моделирования аналоговых схем [[http://​www.gnucap.org/​|gnucap]] и программа
 +[[geda:​glossary.ru#​SPICE]]-моделирования с открытым исходным кодом
 +[[http://​www.ngspice.org/​|ngspice]]. gEDA включает и множество других
 +программ.
 +
 +По историческим причинам на [[http://​freshmeat.net/​|freshmeat]] gaf известен
 +как пакет «gEDA».
 +
 +
 +===== Что такое gEDA Suite? =====
 +gEDA Suite --- это набор различных программных средств,​ которые являются частью,​ связаны или просто работают с программным обеспечением проекта gEDA.  В настоящее время в gEDA Suite входят следующие программы:​
 +  * Средства для редактирования схем и создания списков соединений:​
 +    * [[geda>​geda:​gaf|gEDA/​gaf]]
 +  * Средства для цифрового и аналогового моделирования:​
 +    * [[geda:​documentation.ru#​spice]] -- генератор списка соединений для моделирования в SPICE
 +    * [[geda:​documentation.ru#​ngspice]] -- SPICE-моделирование
 +    * [[geda:​documentation.ru#​gnucap]] -- современная пост-SPICE (а также SPICE) программа моделирования аналоговых схем и схем со смешанными сигналами
 +    * [[geda:​documentation.ru#​Icarus Verilog]] – программа моделирования Verilog
 +    * [[geda:​documentation.ru#​covered]] -- анализатор степени покрытия кода Verilog
 +    * [[geda:​documentation.ru#​gspiceui]] -- графическая оболочка для **ngspice/​gnucap**
 +    * Программы для [[geda:​documentation.ru#​Графическое представление и просмотр данных|графического представления и просмотра данных]]:​
 +  * Средства для разводки печатных плат и их производства:​
 +    * [[geda:​documentation.ru#​pcb]] -- разработка печатных плат
 +    * [[geda:​documentation.ru#​gerbv]] -- программа просмотра [[geda:​glossary.ru#​Gerber-файлы|Gerber-файлов]]
 +    * [[geda:​documentation.ru#​wcalc]] -- анализ передающих линий и электромагнитной структуры
 +    * [[geda:​documentation.ru#​mcalc]] -- калькулятор для анализа/​синтеза микрополосковых линий
 +  * Библиотеки символов и посадочных мест для всего вышеперечисленного:​
 +    * [[http://​www.gedasymbols.org/​]]
 +
 +
 +===== Зачем? Чем gEDA так отличается от других САПР электроники?​ =====
 +Программные средства в gEDA Suite и связанные с gEDA имеют следующие характеристики:​
 +  * Бесплатность.
 +  * Все форматы файлов и исходные тексты доступны под лицензией GPL. Эта лицензия даёт особые права авторам и пользователям программного обеспечения.
 +  * Независимость от любого поставщика. Все программы gEDA поставляются с полным набором исходных текстов. Их можно свободно распространять,​ изменять,​ улучшать и переносить на другие архитектуры. Можно также распространять и свои изменения,​ если следовать условиям лицензии GPL.
 +  * Нет никакого механизма ограничения использования данных программ (таких как использование серийных номеров жёстких дисков или ethernet-адресов для принуждения запускать программное обеспечение только на одной машине).
 +  * Никаких специальных ограничений,​ установленных торговцами. Свободные версии коммерческих программных средств обычно включают особые ограничения (т. е. ограниченный размер проекта,​ невозможность печати,​ невозможность экспорта списков соединений и т. д.), уродующие программу и заставляющие серьёзных пользователей покупать полные версии. В противоположность этому программы gEDA полнофункциональны и специальных ограничений на проекты,​ чтобы выжимать из вас деньги,​ не накладывают.
 +  * Защита старых версий проектов. Так как программное обеспечение всегда будет доступно и всегда может быть обновлено для работы с обновлённой операционной системой или библиотеками,​ всегда будет возможность просмотра и редактирования файлов проектов gEDA.
 +  * Открытый процесс разработки. Это означает,​ что программы взаимодействуют друг с другом с помощью известных и документированных средств (файлов/​API). Если хочется,​ программы можно легко заменить другими или новыми. gEDA Suite --- это набор инструментальных средств САПР электроники. Отдельные части слабо связаны друг с другом и конечные пользователи сами вольны настраивать или менять компоненты [[geda:​glossary.ru#​маршрут проектирования|маршрута проектирования]].
 +  * Стабильность. Ошибки,​ вызывающие отказы,​ обнаруживаются немедленно и исправляются настолько быстро,​ насколько это возможно.
 +  * Минимизация размера и ненужных возможностей.
 +  * Работа на большом количестве платформ. Для gEDA/gaf: GNU/Linux, разные другие системы Unix.
 +  * Разрабатываются открытым образом (без секретов).
 +  * Прикладываются усилия по разработке документации.
 +
 +gEDA не может содержать всех последних передовых возможностей,​ имеющихся в
 +других пакетах,​ и иногда может расцениваться как отстающая система в
 +технологии САПР электроники,​ но всё равно эти программные средства
 +становятся полезными для множества людей по вышеуказанным причинам.
 +
 +
 +===== Почему gEDA Suite кажется набором случайных программ,​ а не единым интегрированным приложением?​ =====
 +gEDA Suite всё же представляет собой конфедерацию в какой-то степени
 +независимых программ. Это случилось по историческим причинам:​ //Ales
 +Hvezda// начал проект gEDA в большей мере самостоятельно. Исходное намерение
 +состояло в том, чтобы произвести полный набор программ для создания печатных
 +плат, чтобы любители робототехники могли проектировать свои собственные
 +платы. Однако,​ когда проект gEDA развивался,​ стала видна внушительность этой
 +задачи,​ и написание многих задуманных приложений даже не началось!
 +
 +Тем временем другие разработчики программного обеспечения,​ имеющие свои
 +собственные независимо написанные приложения,​ не смогли устоять перед таким
 +видением проекта gEDA. Авторы таких приложений присоединились к //Ales// и
 +помогли проекту своими программами. Одним из таких вкладов была **pcb**,
 +десятилетняя (на данный момент) программа разработки печатных плат. При
 +добавлении **pcb** позорно сбежала исходно планируемая в gEDA программа
 +**gpcb**. В то же самое время другие разработчики добавили средства
 +аналогового и цифрового моделирования,​ программы просмотра сигналов и так
 +далее.
 +
 +Таким образом программы gEDA Suite объединились. gEDA Suite отличается не
 +совместно используемым кодом и не общим пользовательским
 +интерфейсом. Скорее,​ воедино проект связывает общее видение окружения САПР
 +электроники с открытым исходным кодом. Сегодня gEDA Suite является большим
 +набором различных программ,​ привнесённых разными авторами. Приложения
 +стараются работать вместе и обычно им это удаётся. Но разное происхождение
 +программ в наборе всё же заметно. Несмотря ни на что, небольшое приложение
 +усилий делает различные компоненты набора способными к взаимодействию,​ и
 +многие выполнили с помощью gEDA Suite довольно сложные проекты плат.
 +
 +В конце концов,​ gEDA Suite лучше всего представить как набор
 +инструментальных средств САПР электроники. Такой инструментальный подход
 +даёт конечному пользователю больше свободы. Для своих задач конечные
 +пользователи могут менять или полностью замещать отдельные этапы маршрута
 +проектирования.
 +
 +===== Так что же лучше, набор программ (т. е. конфедерация) или интегрированное приложение?​ =====
 +Это, в конечном счёте, вопрос религии. Здесь я приведу некоторые за и против
 +(как мне это видится) обоих подходов.
 +
 +==== За набор программ (конфедерацию):​ ====
 +  * Для каждой стадии проектирования можно использовать приложения "​высшего сорта"​. Например,​ для создания печатной платы можно использовать стандартный маршрут проектирования в gEDA: **gschem** -> **gsch2pcb** -> **pcb**. Однако,​ если вы на дух не переносите приложение с открытым исходным кодом **pcb**, можно, например,​ использовать последовательность:​ **gschem** -> **gnetlist** -> **Protel**. Вспомните,​ что **gnetlist** может производить более двадцати различных форматов списков соединений! Более того, если вам не нравится какой-то из компонентов маршрута проектирования,​ вы можете написать другую программу для его замены. Это правда,​ что в настоящий момент для каждой отдельной задачи есть, как правило,​ только одно приложение. Но со временем,​ вероятно,​ такое положение дел изменится,​ свидетельством чему являются разветвление проекта **pcb**, добавление генератора списка соединений [[http://​www.viasic.com/​opensource/​|gnetman]],​ а также проект [[http://​web.comhem.se/​~u31829222/​|HEC]]. Самое главное,​ что такой подход,​ когда используются разные программы,​ даёт пользователю наибольшую свободу выбора.
 +  * В процессе разработки много естественных точек останова. Например,​ при завершении работы программы и выдаче выходного файла (т. е. когда **gschem** выдаёт .sch-файл,​ или **gnetlist** --- список соединений SPICE). В этой точке процесс разработки легко прервать и написать скрипты для обработки и/или преобразования данных проекта. Для больших,​ передовых проектов --- это большое преимущество «комплектного» подхода. Это преимущество,​ возможно,​ нравится только «опытным пользователям»,​ но отметьте его важность:​ программные комплексы САПР электроники профессионального класса (**Synopsys**,​ **Xilinx**) работают таким же образом.
 +  * Использование набора приложений можно автоматизировать с помощью Makefile, или даже скрипта на **Perl**. Разработчики [[geda:​glossary.ru#​ASIC]] постоянно занимаются этим в своих средствах проектирования и синтеза. Некоторые пользователи gEDA утверждали в списке рассылки,​ что они тоже так делают,​ и отмечали это как важную возможность в gEDA Suite.
 +==== Против набора программ (конфедерации) ====
 +  * Больше сбивает с толку новых пользователей,​ так как без посторонней помощи они не могут узнать,​ что дальше делать. То есть фактически им необходимо прочитать документацию,​ чтобы узнать,​ какую программу запускать следующей. В этом случае выручает хорошая документация (поэтому,​ видимо,​ вы это и читаете),​ но документации всегда отдаётся меньший приоритет,​ нежели разработке интуитивного интерфейса приложения.
 +  * Для разных программ соглашения по интерфейсу различны. То есть организация меню, привязки клавиш клавиатуры и кнопок мыши не соответствуют друг другу. Это может быть неудобно даже тем, кто хорошо знаком с этими программами.
 +  * Так как заранее предположений об используемом маршруте проектирования сделать нельзя,​ символы для схем обязательно должны быть [[geda:​faq-gschem.ru#​Что за вопрос насчёт тяжёлых символов против лёгких|лёгкими]]. Это заставляет пользователя тратить больше времени,​ например,​ на добавление в свой проект атрибутов посадочных мест. Более того, ещё больше времени уходит на самом деле на то, чтобы разобраться,​ какие файлы посадочных мест собственно использовать.
 +  * Некоторые разработчики более энергичны,​ чем прочие,​ или у них просто больше свободного времени. Поэтому некоторые программы комплекта будут разработаны лучше других (и будут содержать меньше ошибок). К сожалению,​ одна ненормальная программа может несправедливо исказить представление нового пользователя о наборе в целом.
 +
 +==== За монолитное приложение:​ ====
 +  * Новому пользователю легче освоить единую,​ унифицированную среду проектирования.
 +  * Соглашения по графическому интерфейсу легче скоординировать.
 +  * Символы для принципиальных схем могут быть тяжёлыми,​ так что потребуется меньше работы по добавлению атрибутов для каждого символа в схеме.
 +
 +==== Против монолитного приложения:​ ====
 +  * Не бесконечно масштабируемо. Один разработчик не может сделать всё, вне зависимости от того, насколько он умён. Поэтому монолитное приложение никогда не достигнет размера или мощи набора,​ разработанного конфедерацией программистов.
 +  * Отсутствие выбора. Если разработчику не нравится ваш метод работы,​ выбора у вас нет. Даже если вы предложите заплаты,​ чтобы получить возможность использовать свой метод решения задачи,​ есть вероятность,​ что основной разработчик проигнорирует или отклонит их. Это, возможно,​ не вопрос для новичков,​ но для опытных пользователей это проблема.
 +  * Риск. Если разработчик уйдёт, код останется брошенным и пострадают пользователи. Это в самом деле случилось с программой [[http://​sourceforge.net/​projects/​xtrkcad|XTrkCAD]],​ САПР моделей железных дорог. Автор этой программы оставил её разработку,​ хотя и любезно поместил своё детище на Sourceforge,​ чтобы программа просто не пропала. К сожалению,​ без участия исходного разработчика код завял. Предлагаемые проекту заплаты уходили в /dev/null. Наконец коалиция интересующихся пользователей и разработчиков создала [[http://​xtrkcad-fork.sourceforge.net/​|ветку]] кода, чтобы можно было продолжить дальнейшую разработку. Однако работа над веткой несогласована и случайна. (Надеюсь,​ это когда-нибудь изменится.) Тем временем для обычных пользователей тот факт, что исходный разработчик ушёл, стал катастрофой.
 +
 +
 +===== В программе XXX отсутствует крайне необходимая возможность YYY! Что я могу сделать?​ =====
 +Новички время от времени появляются в списках рассылки gEDA и ругают проект
 +за отсутствующие возможности,​ кажущиеся им ошибки и предполагаемые выверты
 +пользовательского интерфейса. Разработчики gEDA очень заинтересованы в
 +получении конструктивной обратной связи и критики,​ так что мы приветствуем
 +запросы новых возможностей и отчёты об ошибках. Но пожалуйста,​ имейте в
 +виду, что разработчики являются профессиональными инженерами-электрониками
 +или инженерами-программистами,​ занятыми полную рабочую неделю,​ и gEDA для
 +них --- неоплачиваемое занятие,​ хотя и любимое и увлекательное.
 +Неконструктивные или невежественные разговоры не приведут к реализации новых
 +возможностей.
 +
 +Если вы хотите,​ чтобы новая возможность была реализована в одной из программ
 +gEDA, вот что можно сделать:​
 +
 +  * Написать её самому. Исходные тексты программ открыты и каждый может посмотреть их, разобраться и модифицировать. Если вы реализовали новую возможность,​ [[http://​bugs.launchpad.net/​geda|предложите свои заплаты]] проекту;​ велика вероятность,​ что они будут включены в основную ветку разработки.
 +
 +  * Вежливо попросить в списке рассылки gEDA. Если запрашиваемая вами возможность проста или интересна кому-то из разработчиков,​ возможно кто-нибудь её воплотит. Если она сложна,​ вероятно,​ что эта возможность уже обсуждается среди разработчиков,​ но ни у кого нет достаточного количества свободного времени,​ чтобы её реализовать. (Также можно запросить возможность через [[ http://​bugs.launchpad.net/​geda|систему отслеживания ошибок Launchpad]]). Не надоедайте криком или руганью в списках рассылки,​ так как, вероятно,​ вы сами будете обруганы и вообще не получите своей возможности. Зачем тратить своё время?
 +
 +  * Если вышеуказанные варианты вам не подходят,​ наймите разработчика программ с открытым исходным кодом, чтобы он написал нужную вам особенность программы! Удивительно,​ как часто такая возможность игнорируется. Люди, собирающиеся платить $25000 -- $100000 за коммерческие средства САПР электроники упрутся,​ чтобы заплатить ловкому подростку-программисту $10/час, чтобы он воспроизвёл такие же возможности в gEDA Suite. Почему?​.. Если вы преподаватель,​ рассмотрите наём некоторых студентов для проекта UROP((Undergraduate Research Opportunities Program --- программа поддержки студенческих исследовательских работ. --- //Прим. перев.//​)),​ чтобы они работали над gEDA. Если у вас свой бизнес,​ наймите подростка или кого-то,​ свободного от школы! А если вы хотите компетентной помощи,​ можете (быстро) обратиться к какому-нибудь из основных разработчиков gEDA, который даст совет.
 +
 +
 +===== Какую лицензию использует gEDA? =====
 +Все программные средства и связанные файлы в gEDA будут выпускаться под
 +Стандартной Общественной Лицензией GNU версии 2 (GPL) от Free Software
 +Foundation.
 +
 +Из лицензии:​
 +
 +«Когда мы говорим о свободном программном обеспечении,​ мы говорим о свободе,​
 +а не о цене. Наши Стандартные Общественные Лицензии разработаны так, чтобы
 +обеспечить вам свободу распространения копий свободного программного
 +обеспечения (и, если хотите,​ назначать цену за эти услуги),​ чтобы вы
 +получили исходный код или могли получить его, если вы этого захотите,​ чтобы
 +вы могли изменять программное обеспечение или использовать его части в новых
 +свободных программах,​ и чтобы вы знали, что вы можете всё это сделать.»
 +
 +Яснее не выразить:​ **gEDA --- это программное обеспечение под лицензией
 +GPL**. ​ Поэтому ничего проприетарного,​ как например библиотеки электронных
 +компонентов из проприетарных продуктов САПР электроники,​ вместе с gEDA
 +распространяться не может. Программы конверсии для проприетарных библиотек
 +будут доступны,​ но все преобразованные файлы, являющиеся частью
 +проприетарных продуктов,​ никогда не должны попасть в gEDA.  Для добавляемых
 +в проект файлов должна быть возможность их распространения под лицензией GPL
 +(или под другой свободной лицензией). Имейте это в виду, если хотите что-то
 +добавить в проект.
 +
 +Хотя gEDA и фокусируется на GPL, для существующего программного обеспечения
 +более чем приветствуется сочетать с ней и другие,​ совместимые с GPL
 +лицензии.
 +
 +Более подробную информацию насчёт используемой проектом gEDA лицензии можно
 +найти на странице про [[geda>​geda:​license |лицензирование]].
 +
 +
 +
 +===== Где найти больше информации и откуда загрузить gEDA? =====
 +Официальная веб-страница проекта gEDA: [[http://​geda-project.org/​]].
 +
 +Есть несколько списков рассылки. Чтобы узнать,​ как подписаться на них и
 +посылать свои сообщения,​ посмотрите [[mailinglists.ru|страницу про списки
 +рассылки]].
 +
 +Вы можете загрузить всё программное обеспечение со
 +[[http://​geda-project.org/​download.html|страницы загрузки]].
 +
 +Последний комплект документации можно найти на
 +[[geda:​documentation.ru|главной странице документации]].
 +
 +
 +===== Хорошо,​ с чего начать освоение gEDA? =====
 +Самое важное,​ что следует сделать,​ это прочитать один из двух или оба интерактивных учебника и разобраться в них:
 +  * Превосходный учебник [[geda:​gsch2pcb_tutorial.ru|gschem -> gsch2pcb -> pcb]] от //Bill Wilson//.
 +  * [[http://​www.delorie.com/​pcb/​docs/​gs/​gs.html|Введение в pcb]] от //DJ Delorie// тоже включает основы использования **gschem**.
 +
 +Непременно посмотрите и другую [[geda:​documentation.ru|документацию
 +gEDA]]. В этой Wiki содержится руководство по установке и некоторая общая
 +информация по использованию программ. Потратьте немного времени,​ пролистайте
 +документацию,​ затем загрузите набор gEDA Suite и попробуйте самостоятельно с
 +ним поработать!
  
geda/faq.ru.txt · Last modified: 2015/08/25 08:21 by vzh