Le projet gEDA travaille à produire une suite GPL complète d'outils EDA (Electronic Design Automation). Ces outils sont utilisés pour la conception de circuits électriques, la saisie de schémas, la simulation, le prototypage et la production. Le projet gEDA offre actuellement une suite mature d’applications de logiciels libres pour la conception électronique, incluant le la saisie de schémas, la gestion d’attributs, la génération de bill of materials (BOM), le netlisting dans plus de 20 formats de netlist, la simulation analogique et numérique et le placement sur circuit imprimé « printed circuit board (PCB) ».
Ales Hvezda est à l'origine du projet gEDA. Le projet gEDA a quelque peu grossi, depuis le printemps 1998. Ces outils ne sont plus l'oeuvre d'une seule personne. De nombreuses personnes s'y sont impliquées. Quelques personnes contribuent aux outils originaux, alors que les autres développent leurs propres outils. C'est la raison pour laquelle gEDA ne se réfère plus aux outils originels (ils ont maintenant leurs propres vies) mais à tous les projets qui sont libres et qui sont associés quelque part dans ces pages web ou les listes de diffusion geda-dev/geda-user. En association avec gEDA, les auteurs de logiciels libres ne laissent pas le contrôle sur leurs outils mais ils sont aidés par la communauté pour maintenir la qualité et la liberté des outils EDA.
gEDA peut être prononcé « gee-daahhh » (rhymes with cheetah) ou “g-dahhh (short g).
gaf signifie « gschem and friends » (gschem et ses amis). C'est un sous-jeu de la suite d'outils complète groupée sous le nom de gEDA. gEDA/gaf est une collection d'outils qui inclut actuellement:
gschem: un programme de capture de schémas
gnetlist: un programme de génération de netlist
gsymcheck: un vérificateur de syntaxe pour les symboles de schémas
gattrib: une feuille de calcul qui manipule les propriétés des symboles d'un schéma
libgeda: les bibliothèques pour gnetlist de gschem et gsymcheck
gsch2pcb: Annotation directe depuis votre schéma vers le circuit en utilisant
PCB.
quelques utilitaires mineurs
Les outils gEDA/gaf partagent un format de fichier commun (.sch) et partagent aussi une bibliothèque commune (libgeda.so). Les sources de la distribution gEDA/gaf peuvent être trouvées sur ce site web (geda.seul.org).
Bien que gaf se réfère surtout à gEDA, le nom gEDA ne s'applique pas obligatoirement à gaf – les outils rassemblés sous la bannière de « gEDA » comprennent beaucoup d'autres programmes. En fait, gEDA fait référence à tout outil d'EDA sous GPL qui décide de s'associer avec le site web/liste de diffusion. Des exemples importants d'outils gEDA incluent le programme de création de circuit imprimé PCB, le compilateur Verilog Icarus Verilog, le simulateur de circuits analogiques gnucap et le simulateur open-source SPICE ngspice. Il existe plusieurs autres programmes gEDA.
Pour des raisons historiques, sur freshmeat, gaf est connu comme le paquet ‘gEDA’.
La suite gEDA est une image CDROM (.iso) crée par Stuart Brorson pour faciliter l'installation des divers outils qui forment, sont associés oiu fonctionnent totalement avec le projet gEDA. L'objectif est que les outils rassemblés sur la suite gEDA en CDROM constitue un environnement de conception cohérent, complet, open-source en un seul téléchargement. La suite gEDA sur CDROM inclut actuellement:
gEDA/gaf – saisie de schématic et netlisting
-
gnucap – simulation analogique
gspiceui –
GUI front end for ngspice/gnucap
-
gerbv – visualisation Gerber
-
GTKWave – visualisation de forme d'onde numérique
wcalc – analyse de ligne de transmission et structure électromagnetique
Au centre de la suite gEDA en CDROM est la facilité d'utiliser l'installateur qui automatise la construction et l'installation des divers paquets depuis les sources - facilitant l'installation la suite complète pour les novices. La suite gEDA en CDROM est disponible sur la page de téléchargement. Note: L'installateur ne fonctionne qu'avec Linux!
Les outils de la suite gEDA et leurs associés ont les caractéristiques suivantes:
Gratuit.
Tous les formats de fichiers et tous les codes sources sont disponibles en licence
GPL. Cette licence vous garantit des droits spécifiques aux auteurs et aux utilisateurs de logiciels
GPL.
L'indépendence vis à vis de toute entreprise. Tous les outils gEDA sont fournis avec les sources complètes. Vous pouvez les changer, les améliorer, les porter (sur d'autres systèmes) et même les distribuer (si vous respectez les termes de la
GPL).
Aucun mécanisme n'est utilisé pour restreindre l'utilisation de ces outils (comme l'utilisation de numéros de série du disque dur ou des adresses ethernet pour forcer le logiciel à ne fonctionner que sur un machine).
Aucunes limitations arbitraires, imposées par les marketing ou les ingénieurs. Les versions gratuites des outils commerciaux incluent des limitations capricieuses (i.e. une taille de carte limité, l'impossibilité d'imprimer, l'impossibilité d'exporter des netlists, etc.) qui verrouille le programme et force les utilisateurs sérieux à acheter les outils complets. Par contraste, les outils gEDA sont pleinement fonctionnels et n'imposent aucune limitation arbitraire sur la conception pour vous soutirer de l'argent.
Garanties de protection de conception. Comme le logiciel fonctionnera pour toujours (pour les raisons citées ci-dessus), les fichiers de conception de gEDA sera toujours visualisable/éditable (avec les bonnes versions du logiciel).
Flux de conception ouverts. Cela signifie que les outils correspondent les uns avec les autres par des moyens connus et documentés (fichiers /
API). Il est facile de remplacer un outil ou de l'améliorer avec quelque chose d'autre si vous le désirez.
Stabilité - Les bogues qui plantent sont étudiés immediatement et réparés dès que possible.
Minimise les fonctionnalités gourmandes et inutiles.
Fonctionne sur autant de plates-formes que possible. Pour gEDA/gaf: GNU/Linux et d'autres systèmes Unix.
Dévelopé d'une manière ouverte (pas de secrets).
Les programmes sont documentées.
gEDA n'aura peut être pas les dernières fonctionnalités les plus pointues que l'on pourrait trouver dans d'autres paquets et peut, quelques fois, être vu comme à la traîne de la technique EDA mais les outils sont devenus utiles à beaucoup de personnes à cause des raisons mentionnées ci-dessus.
La Suite gEDA est un rassemblement de programmes independants. Cela s'est produit pour des raisons historiques: Ales Hvezda a débuté le programme gEDA plus ou moins seul. La vision originelle était de produire une suite intégrée complète pour créer des circuits imprimés de telle manière que les passionnés de robots puissent concevoir leurs propres cartes. Néanmoins, au fur et à mesure de la progression du projet gEDA, l'ampleur de la tâche est devenu claire - et le codage des nombreuses applications proposées n'avait pas encore commencé!
Pendant ce temps, d'autres développeurs de logiciels -avec leurs propres applications écrites indépendament - ont trouvé que la vision du projet permettait de les compléter. Les auteurs de ces applications se sont joints à Ales et ont fait contribuer leur programme au projet gEDA. Parmi des projets, on trouve « pcb », un programme de création de circuits imprimés vieux de 10 ans (à ce moment). Avec cette contribution de « pcb », l'outil originel pour circuits imprimés de gEDA, « gpcb » a été abandonné. Au même moment, d'autres développeurs ont ajouté des simulateurs analogiques et numériques, des visualiseurs de formes de signal, ainsi de suite.
C'est de cette manière que s'est agglomérée la suite gEDA. Ce n'est pas un code partagé ou une interface utilisateur commune qui distingue la suite gEDA. C'est plutôt la vision partagée d'un environnement EDA open-source qui maintient la cohérence du projet. Aujourd'hui, la Suite gEDA est un ensemble de différents programmes réalisés par plusieurs auteurs. Les applications tentent de fonctionner ensemble et réussissent généralement. Mais les démarrages séparés de chaque programme de la suite sont encore observables. Néanmoins, avec un peu de travail, les divers composants de la Suite sont intéropérables et plusieurs personnes ont achevé des circuits imprimés assez compliqués en utilisant la Suite gEDA.
C'est plus une question de religion. Je vais résumer quelques pour et contre (tel que je les vois) de chaque approche ici.
Vous pouvez utiliser les « meilleures des espèces » d'applications pour chaque partie de la conception. Ceci étant, vous pouvez utiliser le flux standard de gEDA gschem →gsch2pcb →pcb pour créer un circuit imprimé. Néanmoins, si vous pensez que l'application open-source « PCB » craint, vous pouvez utiliser le flux gschem →gnetlist →Protel (par exemple). Rappelez-vous que gnetlist peut sortir plus de vingt différents formats de netlist! De plus, si vous n'aimez pas un des composants du flux, vous pouvez écrire un autre outil qui le remplacera. Maintenant, il est vrai, qu'en ce moment, en général, qu'il n'existe qu'une seule application pour effectuer une tâche particulière. Cette situation devrait néanmoins changer avec le temps – comme en témoigne la nouvelle branche du projet « pcb », le netlister supplémentaire
gnetman, de même que le projet
HEC. En règle générale, l'approche de la suite offre la plus grande liberté à l'utilisateur.
Le flux de la conception possède quelques points d'arrêts naturels. Cela se produit lorsqu'un des outils achève son travail et l'écrit dans un dans un fichier (i.e. gschem écrit un fichier .sch ou gnetlist écrit une netlist SPICE). A ce point, vous pouvez facilement casser le flux et écrire des scripts qui traite totalement et/ou partiellement les données de l'étude. Pour les grands développements, c'est un avantage réel d'avoir une approche de « suite de conception ». Cet avantage peut peut ne parler qu'aux « utilisateurs intensifs » mais notez son importance: toutes les suites d'EDA de rang professionnel (Synopsys, Xilinx) travaillent de la même manière.
L'utilisation d'une suite d'applications peut être automatisé en utilisant un Makefile ou même un script
Perl. Les concepteur d'ASIC le font en permanence avec leurs outils de schémas et de synthèse. Quelques utilisateurs gEDA ont publiquement annoncé (sur la liste de diffusion) qu'ils le faisaient aussi et soulignent que c'est une fonctionnalité importante de la suite gEDA.
Extensibilité: une application monolithique est presque toujours développée un seul développeur qui a une vision unique de son programme. Ce développeur peut assurer un standard de style et d'interface utilisateur pour tous ses outils. Le problème avec ceci est qu'un développeur seul ne peut écrire - même s'il est particulièrement doué - qu'un (ou quelques) partie d'une application EDA. C'est la raison pour laquelle toute application EDA monolithique, open-source, sera toujours limitée dans son champ et ses fonctionnalités par les aptitudes d'un développeur seul. (J'aimerais que l'on me prouve que j'ai tord sur ce point. Les contres-exemples sont les bienvenus mais aucun n'a attiré mon attention lors de l'écriture de cette partie.) D'un autre côté, une assemblée de développeurs travaillant indépendamment sur leurs propres applications - tout en contribuant à l'oeuvre dans son ensemble – peuvent donc créer un environnement EDA très grand et très capable.
C'est plus difficile pour les nouveaux car ils ne connaissent pas le flux d'avance. Ceci étant, ils ont réellement besoin de
RTFM pour savoir quel est l'outil qu'ils devront faire ensuite fonctionner. Une bonne documentation aide (c'est la raison pour laquelle vous lisez ceci) mais elle reste toujours un second choix après le développement d'une interface intuitive.
Les différents programmes peuvent avoir diverses conventions d'interfaces utilisateur (i.e. l'organisation du menu est différente, la fonctionnalité des touches ou de la souris sont différents). Ceci peut être désagréable pour ceux qui ne sont pas familiers avec les programmes.
Comme aucune supposition n'est faite dans le flux de la conception, les symboles
légers de schémas sont nécessaires. Cela impose à l'utilisateur de passer plus de temps à ajouter, par exemple, des attributs d'empreintes de composants à son schéma. De plus, l'utilisateur doit passer réellement plus de temps à trouver quelle empreinte utiliser. Néanmoins, une bonne suite (comme la suite gEDA) offrira de multiples méthodes pour effectuer cette tâche (i.e. gattrib, des scripts
Perl pour faciliter les empreintes, etc.).
Quelques développeurs sont plus énergiques que d'autres ou ont plus de temps libre. C'est la raison pour laquelle quelques programmes de la suite seront plus développés (et moins bogués) que d'autres. Malheureusement, un seul programme bogué dans une suite peut entacher la perception d'un nouvel utilisateur sur la suite complète.
Elles ne sont pas ajustables indéfiniment. Un développeur ne peut pas tout faire, quelque soit sa force. C'est la raison pour laquelle une application monolithique n'aura jamais la puissance d'une suite développée par une confédération de programmeurs.
Manque de choix. Si le développeur n'aime pas votre manière de faire les choses, vous n'auvez aucun autre choix. Même si vous soumettez des patches pour permettre pour pouvoir travailler à votre manière, il est possible que le développeur principal ignore ou rejette vos modifications. Ce n'est probablement pas grave pour les nouveaux mais çà l'est pour les « utilisateurs intensifs ».
Risque. Si le développeur de l'application abandonne, le code est abandoné et les utilisateurs en patissent. C'est ce qui s'est produit avec le programme
XTrkCAD, un programme de CAO pour concevoir des voies ferrées. L'auteur du programme a cessé de le développer mais l'a heureusement placé sur Sourceforge pour l'empêcher de disparaître. Malheureusement, sans l'implication du développeur originel, le code a stagné. Les patches des contributeurs sont allés dans /dev/null. Une coalition d'utilisateurs/développeurs ont fini par créer un
fork du code pour permettre un développement ultérieur. Néanmoins, le travail sur le code forké a été parcimonieux et sporadique. (J'espère que cela changera un jour.) pendant ce temps, pour l'utilisateur normal, l'abandon du développeur a représenté une catastrophe.
Tous les outils et fichiers associés de gEDA sont sous GNU General Public License version 2 (GPL), de la Free Software Foundation
La licence:
Lorsque nous parlons de logiciels libre, nous nous référons à la liberté, pas au prix. Nos « General Public Licenses » sont conçues pour s'assurer que vous avez la liberté de distribuer des copies des logiciels libres (et de faire payer pour ce service si vous le souhaitez), que vous recevez le code source ou que vous puissiez l'obtenir si vous le souhaitez, que vous pouvez modifier le logiciel ou en utiliser des morceaux dans de nouveaux programmes libres; et que vous sachiez comment le faire.
Ce n'est jamais assez répété: « gEDA est un logiciel GPL ». C'est la raison pour laquelle rien de propriétaire ne peut être distribué avec gEDA, tel que les bibliothèques de composants depuis les produits d'EDA propriétaires. Le programme de conversion pour les bibliothèques propriétaires sera disponible mais les fichiers de conversion qui font partie du produit propriétaire ne doivent jamais être mis dans gEDA. Les fichiers contribués doivent pouvoir être GPL (ou être placé sous une autre licence libre). Veuillez garder ceci en mémoire si vous souhaitez y contribuer.
Bien que l'ojectif de gEDA soit les logiciels GPL, les logiciels avec d'autres licences sont plus que les bienvenus, tant qu'ils restent compatibles avec la GPL.
Le site officiel est gEDA Project, hébergé par le projet SEUL. Le miroir européen est sur miroir du projet Européen de gEDA hébergé par le réseau des universités suédoises.
Il existe plusieurs listes de diffusion. Veuillez aller voir la page d'info sur les listes de diffusion pour savoir comment souscrire et poster.
Vous pouvez télécharger tous les logiciels, incluant la suite gEDA sur CDROM depuis la page download.
Vous pouvez trouver le dernier jeu de documentation sur la page de sommaire documentation.
La chose la plus importante à faire est de lire et de comprendre l'excellent tutoriel de Bill Wilson gschem -> gsch2pcb -> PCB. Cela vous permettra de débuter.
Assurez-vous aussi de visionner les autres documentations gEDA. Un guide d'installation est contenu dans ce Wiki, ainsi que des informations générales sur l'utilisation de ces outils. Prenez un peu de temps à naviguer, télécharger la Suite gEDA Suite et essayez-le par vous même!