Downloaded and integrated latest wiki documentation from the geda website.
[geda-gaf/whiteaudio.git] / docs / wiki / 001geda_faq-simulation.html
blobdda12309de68f1725c4bdfb333e98a5b8f856a8f
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
4 lang="en" dir="ltr">
5 <head>
6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <title>geda:faq-simulation.fr</title>
8 <meta name="generator" content="DokuWiki Release rc2007-05-24" />
9 <meta name="robots" content="index,follow" />
10 <meta name="date" content="2007-05-24T22:27:26-0400" />
11 <meta name="keywords" content="geda,faq-simulation.fr" />
12 <link rel="search" type="application/opensearchdescription+xml" href="http://geda.seul.org/wiki/lib/exe/opensearch.php" title="geda Wiki" />
13 <link rel="start" href="http://geda.seul.org/wiki/" />
14 <link rel="contents" href="http://geda.seul.org/wiki/geda:faq-simulation.fr?do=index" title="Index" />
15 <link rel="alternate" type="application/rss+xml" title="Recent Changes" href="http://geda.seul.org/wiki/feed.php" />
16 <link rel="alternate" type="application/rss+xml" title="Current Namespace" href="http://geda.seul.org/wiki/feed.php?mode=list&ns=geda" />
17 <link rel="alternate" type="text/html" title="Plain HTML" href="http://geda.seul.org/wiki/_export/xhtml/geda:faq-simulation.fr" />
18 <link rel="alternate" type="text/plain" title="Wiki Markup" href="http://geda.seul.org/wiki/_export/raw/geda:faq-simulation.fr" />
19 <link rel="stylesheet" media="all" type="text/css" href="lib/exe/css" />
20 <link rel="stylesheet" media="screen" type="text/css" href="lib/exe/001css" />
21 <link rel="stylesheet" media="print" type="text/css" href="lib/exe/002css" />
22 </head>
23 <body>
24 <div class="dokuwiki export">
25 <div class="toc">
26 <div class="tocheader toctoggle" id="toc__header">Table of Contents</div>
27 <div id="toc__inside">
29 <ul class="toc">
30 <li class="level1"><div class="li"><span class="li"><a href="#simulation" class="toc">Simulation</a></span></div>
31 <ul class="toc">
32 <li class="level2"><div class="li"><span class="li"><a href="#je_veux_simuler_mon_circuit_analogique._quelles_sont_mes_options" class="toc">Je veux simuler mon circuit analogique. Quelles sont mes options?</a></span></div></li>
33 <li class="level2"><div class="li"><span class="li"><a href="#qu_en_est-il_de_tclspice_qu_est_ce_que_c_est_dois-je_l_utiliser" class="toc">Qu&#039;en est-il de tclspice? Qu&#039;est ce que c&#039;est? Dois-je l&#039;utiliser?</a></span></div></li>
34 <li class="level2"><div class="li"><span class="li"><a href="#n_existe-t-il_une_belle_interface_graphique_capture_de_schema_de_telle_maniere_que_je_n_ai_juste_qu_a_placer_des_composants_et_presser_un_bouton_simulation" class="toc">N&#039;existe-t-il une belle interface graphique (capture de schéma) de telle manière que je n&#039;ai juste qu&#039;à placer des composants et presser un bouton «·simulation·»?</a></span></div></li>
35 <li class="level2"><div class="li"><span class="li"><a href="#comment_puis-je_creer_mes_schemas_pour_faciliter_les_simulations_analogiques" class="toc">Comment puis-je créer mes schémas pour faciliter les simulations analogiques?</a></span></div></li>
36 <li class="level2"><div class="li"><span class="li"><a href="#quelles_sont_les_commandes_gnetlist_pour_spice_sont_a_utiliser_ici_il_y_en_a_beaucoup" class="toc">Quelles sont les commandes gnetlist pour SPICE sont à utiliser ici? Il y en a beaucoup. . . .</a></span></div></li>
37 <li class="level2"><div class="li"><span class="li"><a href="#comment_faire_si_on_veut_utiliser_gnucap_puis-je_utiliser_spice-sdb_pour_creer_mes_netlists_gnucap" class="toc">Comment faire si on veut utiliser gnucap, puis-je utiliser spice-sdb pour créer mes netlists gnucap?</a></span></div></li>
38 <li class="level2"><div class="li"><span class="li"><a href="#pourquoi_ne_puis-je_reutiliser_mon_schema_de_simulation_pour_le_placement_sur_carte" class="toc">Pourquoi ne puis-je réutiliser mon schéma de simulation pour le placement sur carte?</a></span></div></li></ul>
39 </li></ul>
40 </div>
41 </div>
45 <h1><a name="simulation" id="simulation">Simulation</a></h1>
46 <div class="level1">
48 </div>
49 <!-- SECTION "Simulation" [1-25] -->
50 <h2><a name="je_veux_simuler_mon_circuit_analogique._quelles_sont_mes_options" id="je_veux_simuler_mon_circuit_analogique._quelles_sont_mes_options">Je veux simuler mon circuit analogique. Quelles sont mes options?</a></h2>
51 <div class="level2">
53 <p>
54 Parmi les applications de la Suite gEDA, il y a deux simulateurs de circuits analogiques: ngspice et gnucap. Plus (un peu) en détail:
55 </p>
56 <ul>
57 <li class="level1"><div class="li"> <a href="http://ngspice.sourceforge.net/" class="urlextern" title="http://ngspice.sourceforge.net/" rel="nofollow">Ngspice</a> est un portage/nettoyage du SPICE 3f5 classique sur la plate-forme GNU/Linux. Il est pleinement fonctionnel, inclut des extensions XSpice (tels que des constructions SPICE 2 POLY) et une structure CIDER.</div>
58 </li>
59 <li class="level1"><div class="li"> <a href="http://www.gnucap.org/" class="urlextern" title="http://www.gnucap.org/" rel="nofollow">Gnucap</a> est un nouveau simulateur de circuit écrit depuis zéro. Il offre la possibilité d’effectuer des simulations basées sur les événements – de même qu’en temps –. C’est le travail de Al Davis, Professor of Electrical Engineering à l’Université Kettering. Si vous voulez le télécharger, assurez-vous de prendre la dernière version, disponible avec les liens des «·developement releases·» sur le site gnucap.</div>
60 </li>
61 </ul>
63 <p>
64 Les deux sont des programmes CLI (command line interface·; «·interface à ligne de commande·»), signifiant que vous intérragissez avec le simulateur en saisissant les commandes sur la ligne de commande. Cela signifie aussi que vous avez besoin d’apprendre le jeu de commandes spécifique au simulateur.
65 </p>
67 <p>
68 Si vous préférez une interface graphique, la nouvelle application GSpiceUI de gEDA fournit une jolie interface utilisateur graphique pour piloter les programmes de simulation. Néanmoins, GSpiceUI n’est pas un simulateur sortie-schema-vers-simulation complet comme LTSpice ou PSpice. Il fournit, à la place, un menu d’interface graphique qui vous vous aide à porter des commandes dont vous avez besoin pour effectuer vos simulations ngspice/gnucap.
69 </p>
71 </div>
72 <!-- SECTION "Je veux simuler mon circuit analogique. Quelles sont mes options?" [26-1717] -->
73 <h2><a name="qu_en_est-il_de_tclspice_qu_est_ce_que_c_est_dois-je_l_utiliser" id="qu_en_est-il_de_tclspice_qu_est_ce_que_c_est_dois-je_l_utiliser">Qu&#039;en est-il de tclspice? Qu&#039;est ce que c&#039;est? Dois-je l&#039;utiliser?</a></h2>
74 <div class="level2">
76 <p>
77 <a href="http://tclspice.sourceforge.net/" class="urlextern" title="http://tclspice.sourceforge.net/" rel="nofollow">Tclspice</a> est un fork du développement de ngspice. Il a débuté en 2002. En principe, tclspice exportera le jeu de commande SPICE vers un <acronym title="Application Programming Interface">API</acronym> TCL, vous permettant d’embarquer des analyses SPICE en un programme TCL. Cette vision est certainement très attirante car TCL est un langage à scripts très puissant – bien plus puissant que les constructions de scripts disponibles dans SPICE lui-même. En utilisant TCL, il est possible d’imaginer l’écriture d’optimisateurs de circuits complexes, ajoutant des éléments de comportement à la simulation et finalement en gagnant le contrôle de la sortie graphique de SPICE.
78 </p>
80 <p>
81 Au fur et à mesure, le but a été partiellement atteint – avec tclspice, vous pouvez donc faire quelque chose comme ceci:
82 </p>
83 <pre class="code">#! tclsh
84 package require spice
85 spice::codemodel /usr/local/src/tclspice-0.2.12/src/xspice/icm/spice2poly.cm
87 spice::source netlistname.cir
88 spice::tran 0.1ns 40ns
89 spice::run
90 spice::plot Vout
91 puts &quot;All done now!&quot;</pre>
93 <p>
94 Malheureusement, tclspice manque de fonctionnalités importantes, comme vous fournir un code de retour qui vous indique à quel stade réel est votre simulation ou si elle est en erreur. Aussi, les fonctionnalités graphiques semblent de jamais fonctionner (au moins pour moi &hellip; et les développeurs admettent que la partie graphique a des problèmes). Convertir des variables TCL vers et depuis des vecteurs SPICE semble ne jamais fonctionner – encore une fois, au moins pour moi. Finalement, ngspice (au moins) beaucoup de fuites de mémoire, rendant les simulations longues difficiles. C’est la raison pour laquelle, tclspice n’a pas encore réalisé les promesses qui ont été originellement été faites: une manière pratique, par scripts pour piloter les simulations SPICE.
95 </p>
97 <p>
98 Les développements sur tclspice ont effectivement cessé en 2004. Peu être qu’un jour, quelqu’un le redémarrera. Pendant ce temps, la branche de développement <a href="http://ngspice.sourceforge.net/" class="urlextern" title="http://ngspice.sourceforge.net/" rel="nofollow">ngspice</a> a récupéré quelques fonctionnalités tclspice si vous les voulez (elles nécessitent des options de configuration séparées) et le code est plus récent.
99 </p>
101 </div>
102 <!-- SECTION "Qu'en est-il de tclspice? Qu'est ce que c'est? Dois-je l'utiliser?" [1718-3965] -->
103 <h2><a name="n_existe-t-il_une_belle_interface_graphique_capture_de_schema_de_telle_maniere_que_je_n_ai_juste_qu_a_placer_des_composants_et_presser_un_bouton_simulation" id="n_existe-t-il_une_belle_interface_graphique_capture_de_schema_de_telle_maniere_que_je_n_ai_juste_qu_a_placer_des_composants_et_presser_un_bouton_simulation">N&#039;existe-t-il une belle interface graphique (capture de schéma) de telle manière que je n&#039;ai juste qu&#039;à placer des composants et presser un bouton «·simulation·»?</a></h2>
104 <div class="level2">
107 Non. Le miux que vous puissiez faire est d’utiliser GSpiceUI.
108 </p>
110 </div>
111 <!-- SECTION "N'existe-t-il une belle interface graphique (capture de schéma) de telle manière que je n'ai juste qu'à placer des composants et presser un bouton «·simulation·»?" [3966-4210] -->
112 <h2><a name="comment_puis-je_creer_mes_schemas_pour_faciliter_les_simulations_analogiques" id="comment_puis-je_creer_mes_schemas_pour_faciliter_les_simulations_analogiques">Comment puis-je créer mes schémas pour faciliter les simulations analogiques?</a></h2>
113 <div class="level2">
116 Le chemin habituel pour la conception est «·gschem·» → «·gnetlist -g spice-sdb·» → [«·ngspice·» | «·gnucap·»]. Vous avez besoin d’attacher des attributs aux composants dans votre schéma pour fournir les attributs nécessaires à SPICE/Gnucap. Vous pouvez aussi attacher des attributs en utilisant gattrib.
117 </p>
120 Le <a href="http://geda.seul.org/wiki/geda:csygas" class="wikilink1" title="geda:csygas">Circuit Simulation using gEDA and SPICE - HOWTO</a> décrit tout ceci en détail.
121 </p>
124 Quelques <a href="http://www.brorson.com/gEDA/SPICE/" class="urlextern" title="http://www.brorson.com/gEDA/SPICE/" rel="nofollow">ressources SPICE</a> vous aideront pour comprendre comment utiliser spice-sdb.
125 </p>
127 </div>
128 <!-- SECTION "Comment puis-je créer mes schémas pour faciliter les simulations analogiques?" [4211-4853] -->
129 <h2><a name="quelles_sont_les_commandes_gnetlist_pour_spice_sont_a_utiliser_ici_il_y_en_a_beaucoup" id="quelles_sont_les_commandes_gnetlist_pour_spice_sont_a_utiliser_ici_il_y_en_a_beaucoup">Quelles sont les commandes gnetlist pour SPICE sont à utiliser ici? Il y en a beaucoup. . . .</a></h2>
130 <div class="level2">
133 Utilisez spice-sdb. Il est le plus riche en fonctionnalités. Les autres ne sont présent que pour des raisons historiques. Notez que spice-sdb est une extension d’une des autres commandes SPICE, vous ne perdez rien en utilisant spice-sdb.
134 </p>
136 </div>
137 <!-- SECTION "Quelles sont les commandes gnetlist pour SPICE sont à utiliser ici? Il y en a beaucoup. . . ." [4854-5201] -->
138 <h2><a name="comment_faire_si_on_veut_utiliser_gnucap_puis-je_utiliser_spice-sdb_pour_creer_mes_netlists_gnucap" id="comment_faire_si_on_veut_utiliser_gnucap_puis-je_utiliser_spice-sdb_pour_creer_mes_netlists_gnucap">Comment faire si on veut utiliser gnucap, puis-je utiliser spice-sdb pour créer mes netlists gnucap?</a></h2>
139 <div class="level2">
142 Oui. Vous pouvez aussi dessiner votre schéma en utilisant les directives gnucap disponibles dans le répertoire de symbole «·spice·».
143 </p>
145 </div>
146 <!-- SECTION "Comment faire si on veut utiliser gnucap, puis-je utiliser spice-sdb pour créer mes netlists gnucap?" [5202-5455] -->
147 <h2><a name="pourquoi_ne_puis-je_reutiliser_mon_schema_de_simulation_pour_le_placement_sur_carte" id="pourquoi_ne_puis-je_reutiliser_mon_schema_de_simulation_pour_le_placement_sur_carte">Pourquoi ne puis-je réutiliser mon schéma de simulation pour le placement sur carte?</a></h2>
148 <div class="level2">
151 Les nouveau veulent habituellement créer un schéma unique pour la simulation/validation et le placement sur carte. Cette vision semble tout d’abord attirante car votre carte aura d’abord été testée et validée avant de la créer en FR-4. Néanmoins, le diable est dans les détails·; utiliser un seul schéma pour la simulation et le placement ne fonctionne habituellement pas pour els raisons suivantes:
152 </p>
153 <ul>
154 <li class="level1"><div class="li"> Les composants nécessaires pour la simulation et le placement sont normalement très différents. par exemple, la simulation nécessite souvent un schéma comportant un lot d’éléments liés à SPICE comme mes sources de tension, les sources dépendantes, les directives SPICE et ainsi de suite. D’un autre côté, le placement nécessite des composant impossible à modéliser comme des connecteurs, des composants logiques et même des éléments comme des régulateurs de tension qui peuvent ne pas avoir de modèles SPICE de disponibles mais qui vont poluer votre netlist SPICE, rendant le netlister et le simulateur malheureux.</div>
155 </li>
156 <li class="level1"><div class="li"> Quelques composants électroniques réels n’ont pas de modèles SPICE. Il existe beaucoup de composants qui n’en possèdent pas comme les potentiomètres, les transformateurs, les thermistances, les filtres EMI, les portes logiques, les quartz, les tubes à vide et ainsi de suite. C’est la raison pour laquelle si votre schéma utilise un de ces composants, vous devez avoir un élément utilisant un circuit équivalent pour faire la simulation. Cela rend très difficile la réutilisation du schéma de simulation pour le placement.</div>
157 </li>
158 <li class="level1"><div class="li"> Habituellement, vous avez seulement besoin de simuler un sous-ensemble de votre schéma. Par exemple, vous pouvez vouloir simuler le comportement d’un filtre ou d’un circuit oscillant mais sans vous préoccuper de (ou vous ne pouvez pas simuler) votre alimentation, la partie logique ou tout autre partie de votre schéma. Si vous insister pour créer un modèle SPICE pour ces sous-sections de circuit, vous pourriez avoir beaucoup de problèmes – et faire beaucoup de travail inutile – de manière à trouver ou créer des modèles SPICE pour des zones de votre circuit qui ne sont pas importantes.</div>
159 </li>
160 </ul>
163 C’est la raison pour laquelle, je (SDB) recommande normalement de ne pas trop tenter d’utiliser le même schéma pour la simulation et pour le placement. Si vous pouvez le faire, c’est bien! Mais, habituellement, vous ne le pouvez pas.
164 </p>
167 Personellement, je ne crée des modèles SPICE que pour les sections analogiques critiques de mon circuit. Un projet plus grand devrait donc avoir plusieurs schémas de simulation validant les sous-circuits analogiques. En plus des schémas de simulation, j’ai un schéma principal qui est utilisé pour le placement.
168 </p>
170 </div>
171 <!-- SECTION "Pourquoi ne puis-je réutiliser mon schéma de simulation pour le placement sur carte?" [5456-] --></div>
172 </body>
173 </html>