Simulation De Circuit Avec Geda Et SPICE – HOWTO
Total Page:16
File Type:pdf, Size:1020Kb
Simulation de circuit avec gEDA et SPICE { HOWTO Stuart BRORSON 1 18 janvier 2005 1Ce HOWTO a ´et´e ´ecrit gr^ace a` Electronicscript, inc. sous GNU Free Documentation licence. L'auteur peut ^etre joint a` [email protected]. La version la plus r´ecente de ce document peut ^etre trouv´ee sur http\protect://www.brorson.com/gEDA/HOWTO/. Cette tradution a ´et´e r´ealis´ee par Iznogood de la www.iznogood-factory.org. Table des mati`eres 1 Introduction 4 1.0.1 Audience cibl´ee pour ce HOWTO . 5 1.0.2 Remerciements . 5 2 La grande image : le chemin de la conception dans gEDA. 6 2.1 Survol de l'utilisation de SPICE avec gEDA . 7 2.2 R´esum´e d´etaill´e du flux dessin/simulation . 8 3 Travail pr´eliminaire : pr´eparer les symboles et fichiers SPICE. 9 3.1 Configurer vos symboles. 9 3.1.1 Identifier le composant pour le netlister . 9 3.1.2 Initialiser l'ordre des broches . 10 3.2 Configurer vos fichiers SPICE. 10 4 Cr´eer votre circuit : la capture de sch´ema 11 4.1 Attributs Gschem pour la netlist de spice . 11 4.2 Attributs de composant et interpr´etations . 11 4.3 Conventions refdes . 12 4.4 Passifs . 12 4.4.1 Passifs de base . 12 4.4.2 R´esistance d'exemple : . 12 4.4.3 Condensateur d'exemple : . 12 4.5 Passifs avec attributs additionnels . 13 4.5.1 R´esistance d'exemple : . 13 4.6 Passifs pour la conception de semiconducteurs . 13 4.6.1 Exemple de r´esistance de semiconducteur . 13 4.7 Transistors et diodes . 14 4.7.1 Cha^ıne de param`etres SPICE a` ligne unique . 14 4.7.2 Diode d'exemple : . 14 4.7.3 Fichier de mod`ele SPICE . 14 4.8 Actifs { circuits int´egr´es . 15 4.8.1 Les param`etres SPICE `a ligne unique . 15 4.8.2 Fichier .MODEL ou .SUBCKT SPICE . 15 4.9 Sources ind´ependantes . 16 4.10 Sources d´ependantes . 16 4.11 Composants SPICE . 16 4.11.1 Bloc de mod`ele Spice . 16 4.11.2 Le mod`ele SPICE a` ligne unique : . 16 1 TABLE DES MATIERES` 2 4.11.3 Le mod`ele SPICE multiligne : . 16 4.11.4 Bloc Include . 17 4.11.5 Bloc de directive SPICE . 17 4.12 Traitement de mod`eles hi´erarchiques . 17 5 G´en´eration de netlist SPICE 20 5.1 En utilisant gnetlist . 20 5.2 Cr´eation de la netlist en utilisant gnetlist et spice-sdb . 21 5.3 Les probl`emes de netlisting habituels . 21 6 Simulation SPICE 22 6.1 LTSpice . 22 6.1.1 Installation et configuration de LTSpice . 23 6.1.2 Lancer LTSpice avec les dessins gEDA . 23 6.2 Ngspice . 24 6.2.1 Installation and configuration de ngspice . 24 6.2.2 T´el´echarger le code source . 24 6.2.3 Extraire le code source . 24 6.2.4 Configuration et compilation de ngspice. 25 6.2.5 Tester l'installation . 26 6.2.6 Utilisation de ngspice . 26 6.3 Tclspice . 26 6.3.1 T´el´echarger, installer et construire tclspice . 27 6.3.2 Utilisation de Tclspice . 27 6.3.3 Probl`emes de Tclspice . 28 7 Conclusion 30 A Composants natifs et leurs attributs. 31 B ® Types ¯ de values valides 35 TABLE DES MATIERES` 3 Abstract Linux deviendra une plate-forme d'ing´enieurs de plus en plus populaire dans le futur. Les applications de CAO de qualit´e professionnelle pour la conception de circuits sont rendus disponibles par des d´eveloppeurs de la communaut´e du logiciel libre. Pour l'´electronique, la suite gEDA est le jeu d'outils pr´ef´er´e pour la conception de circuits. La simulation de circuits analogiques utilisant SPICE est maintenant aussi disponible sur Linux. Ce HOWTO d´ecrit la m´ethode de conception employ´ee pour effectuer des simulations SPICE utilisant les outils gEDA sur Linux. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 2 or any later version published by the Free Software Foundation with no Invariant Sec- tions, no Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy of the GNU Free Documentation License from the Free Software Foundation by visiting their Web site (http://www.fsf.org/) or by wri- ting to : Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Chapitre 1 Introduction Le d´eveloppement moderne est une discipline utilisant intensivement les ordi- nateurs. Comme les professionels des autres disciplines d'enginerie, les ing´enieurs en ´electricit´e et les d´eveloppeurs ´electroniques sont des utilisateurs importants de tous types de logiciels de CAO, qui incluent les logiciels pour la conception de circuits et la simulation, de m^eme que la production de PCB et de circuits int´egr´es. Les ing´enieurs ´electriques ont un nom sp´ecial pour les logiciels de CAO utilis´es : EDA, ce qui signifie ® Electronic Design Automation (Automatisation de Conception Electronique)´ ¯. On peut trouver diff´erents types de logiciels de CAO sous cette rubrique. Par exemple, pendant les phases de dessins d'un pro- jet, un ing´enieur ´electrique utilisera un programme appel´e ® schematic capture (capture de sch´emas) ¯ pour saisir son dessin dans l'ordinateur. Un programme de capture de sch´emas est basiquement un programme de dessin sp´ecialis´e incor- porant des symboles utilis´es dans la cr´eation de sch´emas de circuits. Apr`es avoir dessin´e ce sch´ema, l'ing´enieur ´electrique peut choisir de simuler le comportement de son circuit de mani`ere a` v´erifier que son sch´ema fonctionnera comme souhait´e. Le programme le plus connu pour ce faire est SPICE (Simulation Program with Integrated Circuit Emphasis), qui a ´et´e d´evelopp´e par Berkeley dans le d´ebut des ann´ees 1970 et qui est largement disponible sous de multiples formes de nos jours. SPICE est maintenant consid´er´e comme un outil d'enginerie fondamental et est une partie essentielle dans l'´eventail des ing´enieurs les plus actifs. Le projet gEDA (http://geda.seul.org) est un effort open-source pour cr´eer une suite GPL d'une EDA fonctionnant sur GNU/Linux. gEDA s'est d´e- velopp´e jusqu'au point d'obtenir des outils de haut niveau de puissance et de qualit´e ; en utilisant la suite gEDA, vous pouvez maintenant cr´eer des netlists SPICE complexes (fichiers) incorporant les fichiers de mod`eles des fabricants. Vous pouvez alors utiliser divers simulateurs fonctionnant sous Linux pour ef- fectuer des simulations SPICE de vos netlists. L'objectif de ce document est d'expliquer comment utiliser les outils de gEDA (typiquement fonctionnant sous GNU/Linux) pour effectuer des simulations SPICE. En particulier, ce HOWTO documente l'utilisation de spice-sdb, qui est une interface avanc´ee pour le net- lister de gEDA (gnetlist) utilis´e pour cr´eer des netlists SPICE. Spice-sdb est fourni avec la suite d'outils de gEDA ; si vous avez install´e gEDA, vous ^etes d´ej`a pr^ets a` cr´eer des netlists SPICE. Ce HOWTO fournit aussi des conseils sur l'utilisation de ngspice/tclspice et/ou LTSpice pour simuler un circuit netlist´e avec spice-sdb. 4 CHAPITRE 1. INTRODUCTION 5 1.0.1 Audience cibl´ee pour ce HOWTO Ce HOWTO n'est pas un tutoriel sur la conception de circuits ou sur la simulation avec SPICE. Il est plut^ot con¸cu pour aider l'ing´enieur utilisant gEDA a` effectuer des simulations SPICE sur la plate-forme Linux. Je suppose donc que vous ^etes d´ej`a familier avec la conceptions ´electronique, les m´ecanismes de de capture de sch´emas en utilisant des outils EDA et la simulation SPICE en g´en´eral. Je suppose aussi que vous ^etes raisonnablement familiers avec le syst`eme d'exploitation GNU/Linux et son environnement de d´eveloppement. Finalement, je suppose que vous avez d´ej`a install´e gEDA et que vous savez comment l'utiliser. Si vous avez besoin de vous mettre a` niveau rapidement avec un de ces sujets, des informations compl´ementaires sont disponibles sur les sites web suivants : { Le projet gEDA : http://www.geda.seul.org/; { La syntaxe et les commandes pour SPICE3 : http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/ ; { Ngspice : http://ngspice.sourceforge.net/; { Tclspice : http://tclspice.sourceforge.net/; { LTSpice : http://www.linear.com/software/; { Spice sur Linux : http://www.brorson.com/gEDA/SPICE/; { Free Dog { Le Groupe des Utilisateurs Free EDA : http://www.freeedaug.org/. 1.0.2 Remerciements Ce document n'est pas isol´e. Plusieurs membres actifs de la communaut´e EDA libre ont oeuvr´e pour m'aider a` cr´eer ce HOWTO. D'abord et en premier, Paolo Nenzi, l'auteur de ngspice, a pris mon HOWTO original et l'a transform´e en document Lyx qui peut ensuite r´ealiser un DocBook. Merci, Paolo, pour l'aide sur ce HOWTO et, plus important, merci pour le gros travail sur ngspice ! Il y a aussi Ales Hvezda en haut de la liste pour ^etre le moteur derri`ere le projet gEDA. Sans Ales, rien de tout ceci n'aurait ´et´e possible ; sa contribution a` gschem est incalculable. Merci, Ales, pour la cr´eation de gEDA et de l'avoir distribu´e sous GPL { vous avez d´emarr´e une r´evolution ! Stefan Jones m´erite un grand merci pour son travail sur tclspice, son support gracieux et les efforts d'int´egration lorsque j'ai soumis des patches au projet tclspice.