Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
ngspice [Le 06/04/2011, 23:49] 62.147.186.155 [Installation à partir des sources] |
ngspice [Le 06/08/2017, 09:55] (Version actuelle) L'Africain petit nettoyage |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | + | {{tag>Xenial conception_électronique BROUILLON}} | |
- | {{tag>conception_electronique geda}} | + | |
---- | ---- | ||
Ligne 7: | Ligne 6: | ||
Ngspice est un logiciel de simulation électronique permettant notamment d'étudier des montages électriques, de tracer des diagrammes de Bode, de calculer des gains, etc. | Ngspice est un logiciel de simulation électronique permettant notamment d'étudier des montages électriques, de tracer des diagrammes de Bode, de calculer des gains, etc. | ||
- | Il est basé sur Spice3f5, Cider1b1 et Xspice | + | Il est basé sur Spice3f5, Cider1b1 et Xspice. |
- | ===== Installation à partir des dépots ===== | + | |
- | Depuis Lucid lynx ce logiciel est présent dans les dépôts: il suffit [[:tutoriel:comment_installer_un_paquet|d'installer le paquet]] **ngspice** [[apt://ngspice|{{apt.png}}]] et **ngspice-doc** [[apt://ngspice-doc|{{apt.png}}]] | + | ===== Installation===== |
- | + | Il suffit [[:tutoriel:comment_installer_un_paquet|d'installer les paquets]] **[[apt>ngspice]]** et **[[apt>ngspice-doc]]**. | |
- | ===== Installation à partir des sources ===== | + | |
- | + | ||
- | Nous allons installer la dernière version ngspice des dépôts Debian non libre. Pour ce faire rechercher sur [[http://www.google.com/search?q=ngspice_22-1.dsc|Google]] le fichier ngspice_22-1.dsc | + | |
- | + | ||
- | Nous trouvons par exemple comme lien http://kambing.ui.ac.id/debian/pool/non-free/n/ngspice/ | + | |
- | ==== Pré-requis ==== | + | |
- | + | ||
- | Pour pouvoir effectuer cette installation un certain nombre de pré-requis sont nécessaires : | + | |
- | + | ||
- | * Les dépôts source doivent être disponibles dans synaptic (décommentez les lignes qui commencent par deb-src dans /etc/apt/sources.list) | + | |
- | * [[tutoriel:comment_installer_un_paquet|Installez les paquets]] **debhelper cdbs lintian build-essential fakeroot devscripts pbuilder dh-make debootstrap blt** ([[apt://debhelper,cdbs,lintian,build-essential,fakeroot,devscripts,pbuilder,dh-make,debootstrap,blt|en 1 clic]]). | + | |
- | + | ||
- | ==== Préparation de pbuilder ==== | + | |
- | + | ||
- | On va utiliser l'outil [[:pbuilder]], qui crée un chroot d'un système Ubuntu de base, puis le compresse dans un fichier base.tgz.\\ | + | |
- | Lors de l'utilisation de pbuilder pour construire le paquet binaire, le chroot va être décompressé, les Build-Deps installées et le paquet compilé. S'il manque une Build-Dep, la compilation échouera.\\ | + | |
- | Le principal intérêt de pbuilder est de vérifier que les Build Deps sont bonnes (cf. fichier control .dsc). | + | |
- | + | ||
- | Pour supporter les dépôts Universe et Multiverse | + | |
- | + | ||
- | <code> | + | |
- | sudo su | + | |
- | echo "COMPONENTS=\"main restricted universe multiverse\"" >> /etc/pbuilderrc | + | |
- | ctrl+d | + | |
- | </code> | + | |
- | + | ||
- | Permet d'activer l'utilisation des dépôts universe et multiverse sous dapper (désactivés par défaut). | + | |
- | + | ||
- | ==== Installation ==== | + | |
- | + | ||
- | créé un répertoire ~/packaging | + | |
- | + | ||
- | <code bash> | + | |
- | mkdir ~/packaging | + | |
- | cd packaging | + | |
- | </code> | + | |
- | + | ||
- | Téléchargez dans ce répertoire les fichiers | + | |
- | + | ||
- | http://gudjon.org/debian/source/ngspice_22-1.debian.tar.gz | + | |
- | + | ||
- | http://gudjon.org/debian/source/ngspice_22-1.dsc | + | |
- | + | ||
- | http://gudjon.org/debian/source/ngspice_22.orig.tar.gz | + | |
- | + | ||
- | ==== Compilation et création du paquet binaire ==== | + | |
- | + | ||
- | === Création du chroot avec pbuilder=== | + | |
- | + | ||
- | Pour initialiser pbuilder, tapez dans votre terminal : | + | |
- | + | ||
- | <code bash> | + | |
- | sudo pbuilder create | + | |
- | </code> | + | |
- | + | ||
- | <note idée> | + | |
- | Pour faire un chroot d'une autre version d'ubuntu que celle que vous utilisez actuellement (pour créer un paquet compatible), vous pouvez ajouter à la fin de la deuxième commande ''--distribution hardy'': | + | |
- | <code bash> | + | |
- | sudo pbuilder create --distribution hardy | + | |
- | </code> | + | |
- | (hardy peut être remplacé par le nom de code d'une autre version d'Ubuntu). | + | |
- | </note> | + | |
- | + | ||
- | Cette étape peut prendre un certain temps. | + | |
- | + | ||
- | ===Création du paquet binaire=== | + | |
- | + | ||
- | Une fois l'étape précédente terminée il ne vous reste plus qu'a taper la commande suivante pour compiler votre paquet source (dans « ~/packaging/ ») : | + | |
- | + | ||
- | <code bash> | + | |
- | sudo pbuilder build *.dsc | + | |
- | </code> | + | |
- | + | ||
- | Et à laisser mariner… en cas d'erreur de dépendance (eh oui cela peut encore arriver pendant la compilation) reprendre à l'étape **Création du paquet binaire** en ajoutant le paquet manquant avant de lancer le //build//, il est possible d'ajouter plusieurs paquet en les séparants avec une espace : | + | |
- | + | ||
- | <code bash> | + | |
- | sudo pbuilder update --extrapackages nomdupaquetmanquant (ex: libq4t-dev) | + | |
- | </code> | + | |
- | + | ||
- | Une fois cette étape terminée, votre .deb est dans **/var/cache/pbuilder/result** | + | |
- | ==== Installer les packets ==== | + | |
- | + | ||
- | <code bash> | + | |
- | cd /var/cache/pbuilder/result | + | |
- | sudo dpkg -i ngspice-doc_20-1_all.deb ngspice_20-1_*.deb tclspice_20-1_*.deb | + | |
- | </code> | + | |
===== Utilisation ===== | ===== Utilisation ===== | ||
Ligne 167: | Ligne 79: | ||
===== Images ===== | ===== Images ===== | ||
- | {{:application:ngspice.png|}} | + | {{:application:ngspice.png?450|}} |
===== Syntaxe des fichiers circuit ===== | ===== Syntaxe des fichiers circuit ===== | ||
Ligne 244: | Ligne 156: | ||
W1 1 2 vclock switchmod1</code> | W1 1 2 vclock switchmod1</code> | ||
- | === Notes === | ||
- | Nodes n+ and n- are the nodes between which the switch terminals are connected. The model name is mandatory while the initial conditions are optional. For the voltage controlled switch, nodes nc+ and nc- are the positive and negative controlling nodes respectively. For the current controlled switch, the controlling current is that through the specified voltage source. The direction of positive controlling current flow is from the positive node, through the source, to the negative node. | ||
==== Sources de tension ==== | ==== Sources de tension ==== | ||
Ligne 260: | Ligne 170: | ||
DC/TRAN sont le régime continu et transitoire d'analyse, AC est la valeur alternative. | DC/TRAN sont le régime continu et transitoire d'analyse, AC est la valeur alternative. | ||
- | ==== Current Sources ==== | + | ==== Sources de courant ==== |
- | Syntax | + | Syntaxe |
<code>Iname n+ n- <<DC> DC/TRAN VALUE> <AC <ACMAG <ACPHASE>>> <DISTOF1 <F1MAG <F1PHASE>>> <DISTOF2 <F2MAG <F2PHASE>>></code> | <code>Iname n+ n- <<DC> DC/TRAN VALUE> <AC <ACMAG <ACPHASE>>> <DISTOF1 <F1MAG <F1PHASE>>> <DISTOF2 <F2MAG <F2PHASE>>></code> | ||
- | === Examples === | + | === Exemples === |
<code>Igain 12 15 DC 1 | <code>Igain 12 15 DC 1 | ||
Irc 23 21 0.333 AC 5 SFFM(0 1 1K)</code> | Irc 23 21 0.333 AC 5 SFFM(0 1 1K)</code> | ||
=== Notes === | === Notes === | ||
- | ACMAG is the ac magnitude and ACPHASE is the ac phase. The source is set to this value in the ac analysis. If ACMAG is omitted following the keyword AC, a value of unity is assumed. If ACPHASE is omitted, a value of zero is assumed. If the source is not an ac small-signal input, the keyword AC and the ac values are omitted. | + | ACMAG est la grandeur AC et ACPHASE est la phase AC. La source est réglée sur cette valeur dans l'analyse CA. Si ACMAG est omis après le mot-clé AC, une valeur de l'unité est supposée. Si ACPHASE est omis, une valeur de zéro est supposée. Si la source n'est pas une entrée de petit signal AC, le mot-clé AC et les valeurs AC sont omis. |
- | DISTOF1 and DISTOF2 are the keywords that specify that the independent source has distortion inputs at the frequencies F1 and F2 respectively (see the description of the .DISTO control line). The keywords may be followed by an optional magnitude and phase. The default values of the magnitude and phase are 1.0 and 0.0 respectively. | + | DISTOF1 et DISTOF2 sont les mots-clés qui spécifient que la source indépendante a des entrées de distorsion aux fréquences F1 et F2 respectivement (voir la description de la ligne de contrôle .DISTO). Les mots-clés peuvent être suivis d'une magnitude et d'une phase facultatives. Les valeurs par défaut de l'amplitude et de la phase sont 1,0 et 0,0 respectivement. |
- | ==== Linear Voltage-Controlled Current Sources ==== | + | ==== Sources de courant linéaires à tension contrôlée ==== |
- | Syntax | + | Syntaxe |
<code>Gname n+ n- nc+ nc- value</code> | <code>Gname n+ n- nc+ nc- value</code> | ||
- | === Example === | + | === Exemple === |
<code>G1 2 0 5 0 0.1MMHO</code> | <code>G1 2 0 5 0 0.1MMHO</code> | ||
=== Notes === | === Notes === | ||
- | n+ andn- are the positive and negative nodes, respectively. Current flow is from the positive node, through the source, to the negative node. nc+ and nc- are the positive and negative controlling nodes, respectively. VALUE is the transconductance (in mhos). | + | n+ et n- sont les noeuds positif et négatif, respectivement. Le flux de courant est du nœud positif, de la source au nœud négatif. nc+ et nc- sont les nœuds de contrôle positifs et négatifs, respectivement. VALUE est la transconductance (en mhos). |
- | ==== Linear Voltage-Controlled Voltage Sources ==== | + | ==== Sources de tension linéaires à tension contrôlée ==== |
- | Syntax | + | Syntaxe |
<code>Ename n+ n- nc+ nc- value</code> | <code>Ename n+ n- nc+ nc- value</code> | ||
- | === Example === | + | === Exemple === |
<code>E1 2 3 14 1 2.0</code> | <code>E1 2 3 14 1 2.0</code> | ||
=== Notes === | === Notes === | ||
- | n+ is the positive node, and n- is the negative node. nc+ and nc- are the positive and negative controlling nodes, respectively. Value is the voltage gain. | + | n+ est le noeud positif, et n- est le noeud négatif. nc+ et nc- sont les noeuds de contrôle positifs et négatifs, respectivement. La valeur est le gain de tension. |
- | + | ==== Sources de courant à courant continu linéaire ==== | |
- | ==== Linear Current-Controlled Current Sources ==== | + | Syntaxe |
- | Syntax | + | |
<code>Fname n+ n- Vname value</code> | <code>Fname n+ n- Vname value</code> | ||
- | === Example === | + | === Exemple === |
<code>F1 13 5 Vsen 5</code> | <code>F1 13 5 Vsen 5</code> | ||
=== Notes === | === Notes === | ||
- | n+ andn- are the positive and negative nodes, respectively. Current flow is from the positive node, through the source, to the negative node. Vname is the name of a voltage source through which the controlling current flows. The direction of positive controlling current flow is from the positive node, through the source, to the negative node of Vname. Value is the current gain. | + | n+ et n- sont les noeuds positif et négatif, respectivement. Le flux de courant est du nœud positif, à travers la source, au nœud négatif. Vname est le nom d'une source de tension à travers laquelle circule le courant de commande. La direction du flux de courant de commande positif est du noeud positif, à travers la source, au noeud négatif de Vname. La valeur est le gain courant. |
- | ==== Linear Current-Controlled Voltage Sources ==== | + | ==== Sources de tension linéaire commandée en courant ==== |
- | Syntax | + | Syntaxe |
<code>Hname n+ n- Vname value</code> | <code>Hname n+ n- Vname value</code> | ||
- | === Example === | + | === Exemple === |
<code>Hx1 5 17 Vz 0.5K</code> | <code>Hx1 5 17 Vz 0.5K</code> | ||
=== Notes === | === Notes === | ||
- | n+ and n- are the positive and negative nodes, respectively. Vnameis the name of a voltage source through which the controlling current flows. The direction of positive controlling current flow is from the positive node, through the source, to the negative node of Vname. Value is the transresistance (in ohms). | + | n+ et n- sont les noeuds positifs et négatifs, respectivement. Vname est le nom d'une source de tension à travers laquelle circule le courant de commande. La direction du flux de courant de commande positif est du nœud positif, à travers la source, au noeud négatif de Vname. La valeur est la transresistance (en ohms). |
- | ==== Non-linear Dependent Sources ==== | + | ==== Sources non linéaires dépendantes ==== |
- | Syntax | + | Syntaxe |
<code>Bname n+ n- <I=EXPR> <V=EXPR></code> | <code>Bname n+ n- <I=EXPR> <V=EXPR></code> | ||
- | === Example === | + | === Exemple === |
<code>B1 0 1 I=cos(v(1))+sin(v(2))</code> | <code>B1 0 1 I=cos(v(1))+sin(v(2))</code> | ||
=== Notes === | === Notes === | ||
- | n+ is the positive node, and n- is the negative node. The values of the V and I parameters determine the voltages and currents across and through the device, respectively. If I is given then the device is a current source, and if V is given the device is a voltage source. One and only one of these parameters must be given. The small-signal AC behavior of the nonlinear source is a linear dependent source (or sources) with a proportionality constant equal to the derivative (or derivatives) of the source at the DC operating point. | + | n+ est le nœud positif, et n- est le nœud négatif. Les valeurs des paramètres V et I déterminent respectivement les tensions et les courants à travers et à travers le dispositif. Si I est donné alors le dispositif est une source de courant, et si V est donné le dispositif est une source de tension. Un seul de ces paramètres doit être donné. Le comportement AC à petit signal de la source non linéaire est une source (ou sources) linéairement dépendante avec une constante de proportionnalité égale à la dérivée (ou aux dérivées) de la source au point de fonctionnement en courant continu. |
- | ==== Lossless Transmission Lines ==== | + | ==== Lignes de transmission sans perte ==== |
- | Syntax | + | Syntaxe |
<code>Oname n1 n2 n3 n4 Mname</code> | <code>Oname n1 n2 n3 n4 Mname</code> | ||
- | === Example === | + | === Exemple === |
<code>O23 1 0 2 0 LOSSYMOD</code> | <code>O23 1 0 2 0 LOSSYMOD</code> | ||
=== Notes === | === Notes === | ||
- | This is a two-port convolution model for single-conductor lossy transmission lines. n1 and n2 are the nodes at port 1; n3 and n4 are the nodes at port 2. Note that a lossy transmission line with zero loss may be more accurate than than the lossless transmission line due to implementation details. | + | Il s'agit d'un modèle de convolution à deux ports pour les lignes de transmission à un seul conducteur avec perte. n1 et n2 sont les nœuds au port 1; n3 et n4 sont les nœuds du port 2. Il est à noter qu'une ligne de transmission avec perte sans perte peut être plus précise que la ligne de transmission sans perte en raison des détails d'implémentation. |
- | + | ==== Lignes RC uniformément réparties (avec perte) ==== | |
- | ==== Uniform Distributed RC Lines (lossy) ==== | + | Syntaxe |
- | Syntax | + | |
<code>Uname n1 n2 n3 Mname L=LEN <N=LUMPS></code> | <code>Uname n1 n2 n3 Mname L=LEN <N=LUMPS></code> | ||
- | === Example === | + | === Exemple === |
<code>U1 1 2 0 URCMOD L=50U</code> | <code>U1 1 2 0 URCMOD L=50U</code> | ||
=== Notes === | === Notes === | ||
- | n1 and n2 are the two element nodes the RC line connects, while n3 is the node to which the capacitances are connected. Mname is the model name, LEN is the length of the RC line in meters. Lumps, if specified, is the number of lumped segments to use in modeling the RC line (see the model description for the action taken if this parameter is omitted). | + | n1 et n2 sont les nœuds à deux éléments que la ligne RC connecte, tandis que n3 est le nœud auquel les capacités sont connectées. Mname est le nom du modèle, LEN est la longueur de la ligne RC en mètres. Lumps, si spécifié, est le nombre de segments agrégés à utiliser dans la modélisation de la ligne RC (voir la description du modèle de l'action effectuée si ce paramètre est omis). |
- | ==== Junction Diodes ==== | + | ==== Diodes de jonction ==== |
- | Syntax | + | Syntaxe |
<code>Dname n+ n- Mname <Area> <OFF> <IC=VD> <TEMP=T></code> | <code>Dname n+ n- Mname <Area> <OFF> <IC=VD> <TEMP=T></code> | ||
- | === Example === | + | === Exemple === |
<code>Dfwd 3 7 DMOD 3.0 IC=0.2</code> | <code>Dfwd 3 7 DMOD 3.0 IC=0.2</code> | ||
=== Notes === | === Notes === | ||
- | n+ and n- are the positive and negative nodes, respectively. Mname is the model name, Area is the area factor, and OFF indicates an (optional) starting condition on the device for dc analysis. | + | n+ et n- sont les noeuds positifs et négatifs, respectivement. Mname est le nom du modèle, Area est le facteur de zone et OFF indique une condition de départ (optionnelle) sur le périphérique pour l'analyse de courant continu. |
- | ==== Bipolar Junction Transistors (BJT) ==== | + | ==== Transistors de jonction bipolaire (BJT) ==== |
- | Syntax | + | Syntaxe |
<code>Qname nC nB nE <nS> Mname <AREA> <OFF> <IC=VBE, VCE> <TEMP=T></code> | <code>Qname nC nB nE <nS> Mname <AREA> <OFF> <IC=VBE, VCE> <TEMP=T></code> | ||
- | === Example === | + | === Exemple === |
<code>Q23 10 24 13 QMOD IC=0.6, 5.0</code> | <code>Q23 10 24 13 QMOD IC=0.6, 5.0</code> | ||
=== Notes === | === Notes === | ||
- | nC, nB, andnE are the collector, base, and emitter nodes, respectively. nS is the (optional) substrate node. If unspecified, ground is used. Mname is the model name, Area is the area factor, and OFF indicates an (optional) initial condition on the device for the dc analysis. | + | nC, nB et nE sont respectivement les nœuds de collecteur, de base et d'émetteur. nS est le nœud de substrat (facultatif). Si non spécifié, la terre est utilisée. Mname est le nom du modèle, Area est le facteur de zone, et OFF indique une condition initiale (facultative) sur le périphérique pour l'analyse DC. |
- | ==== Junction Field-Effect Transistors (JFET) ==== | + | ==== Transistors à effet de champ de jonction (JFET) ==== |
- | Syntax | + | Syntaxe |
<code>Jname nD nG nS Mname <Area> <OFF> <IC=VDS, VGS> <TEMP=T></code> | <code>Jname nD nG nS Mname <Area> <OFF> <IC=VDS, VGS> <TEMP=T></code> | ||
- | === Example === | + | === Exemple === |
<code>J1 7 2 3 JM1 OFF</code> | <code>J1 7 2 3 JM1 OFF</code> | ||
=== Notes === | === Notes === | ||
- | nD, nG, and nS are the drain, gate, and source nodes, respectively. Mname is the model name, Area is the area factor, and OFF indicates an (optional) initial condition on the device for dc analysis. | + | nD, nG et nS sont respectivement les nœuds drain, gate et source. Mname est le nom du modèle, Area est le facteur de zone, et OFF indique une condition initiale (facultative) sur le périphérique pour l'analyse CC. |
==== MOSFETs ==== | ==== MOSFETs ==== | ||
- | Syntax | + | Syntaxe |
<code>Mname ND NG NS NB MNAME <L=VAL> <W=VAL> <AD=VAL> <AS=VAL> <PD=VAL> <PS=VAL> <NRD=VAL> <NRS=VAL> <OFF> <IC=VDS, VGS, VBS> <TEMP=T></code> | <code>Mname ND NG NS NB MNAME <L=VAL> <W=VAL> <AD=VAL> <AS=VAL> <PD=VAL> <PS=VAL> <NRD=VAL> <NRS=VAL> <OFF> <IC=VDS, VGS, VBS> <TEMP=T></code> | ||
- | === Example === | + | === Exemple === |
<code>M31 2 17 6 10 Mname L=5U W=2U</code> | <code>M31 2 17 6 10 Mname L=5U W=2U</code> | ||
=== Notes === | === Notes === | ||
- | nD, nG, nS, and nB are the drain, gate, source, and bulk (substrate) nodes, respectively. Mname is the model name. L and W are the channel length and width, in meters. AD and AS are the areas of the drain and source diffusions, in 2 meters . Note that the suffix U specifies microns (1e-6 m) 2 and P sq-microns (1e-12 m ). If any of L, W, AD, or AS are not specified, default values are used. | + | nD, nG, nS et nB sont respectivement les nœuds drain, gate, source et bulk (substrat). Mname est le nom du modèle. L et W sont la longueur et la largeur du canal, en mètres. AD et AS sont les zones des diffusions drain et source, à 2 mètres. Notez que le suffixe U spécifie microns (1exp-6 m) 2 et P microns (1exp-12 m). Si l'un de L, W, AD ou AS n'est pas spécifié, les valeurs par défaut sont utilisées. |
==== MESFETs ==== | ==== MESFETs ==== | ||
- | Syntax | + | Syntaxe |
<code>Zname nD nG nS Mname <Area> <OFF> <IC=VDS, VGS></code> | <code>Zname nD nG nS Mname <Area> <OFF> <IC=VDS, VGS></code> | ||
Ligne 391: | Ligne 297: | ||
=== Notes === | === Notes === | ||
- | nD, nG, andnS are the drain, gate, and source nodes, respectively. Mname is the model name, Area is the area factor, and OFF indicates an (optional) initial condition on the device for dc analysis. | + | nD, nG et nS sont respectivement les nœuds drain, gate et source. Mname est le nom du modèle, Area est le facteur de zone, et OFF indique une condition initiale (facultative) sur le périphérique pour l'analyse CC. |
===== Liens ===== | ===== Liens ===== | ||
- | [[http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/|Documentation]] (en) | + | [[http://ngspice.sourceforge.net/docs.html|Documentation]] (en) |
[[http://www.iznogood-factory.org/pub/gEDA/gEDA_Spice_HOWTOfr.pdf|Tutoriel]] | [[http://www.iznogood-factory.org/pub/gEDA/gEDA_Spice_HOWTOfr.pdf|Tutoriel]] | ||
- | [[http://www.geda.seul.org/wiki/geda:faq.fr|gEDA]] | + | [[http://wiki.geda-project.org/start_fr|gEDA]] |
---- | ---- | ||
//Contributeur principal :[[:utilisateurs:Sefran|Sefran]] Le 17/12/2009, 00:31// | //Contributeur principal :[[:utilisateurs:Sefran|Sefran]] Le 17/12/2009, 00:31// |