SPICE (logiciel)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Spice (homonymie).

SPICE (Simulation Program with Integrated Circuit Emphasis) est un logiciel libre de simulation généraliste de circuits électroniques analogiques. Il permet la simulation au niveau du composant (résistances, condensateurs, transistors) en utilisant différents types d'analyses :

Les logiciels Easyspice, Gspiceui, NGspice sont des interfaces graphiques généralistes pour l'utilisation de SPICE. Le logiciel Gwave se concentre sur la visualiser des courbes des signaux analogique fournis par SPICE.


Historique[modifier | modifier le code]

SPICE a été créé à l'université de Californie (Berkeley) au début des années 1970 par l'équipe de Ron Rohrer, dont en particulier Larry Nagel.

C'est devenu par la suite le standard des simulateurs analogiques. Trois versions se sont succédé dont la dernière, SPICE3, date de 1985[1].

Il est disponible sous licence BSD.

Différents avatars commerciaux existent depuis les années 1980. Parmi les plus célèbres, on peut citer IS_SPICE, PSpice, MICROCAP, HSpice, ELDO, etc.

Aujourd'hui le paysage de la simulation analogique tend à se modifier lentement avec le développement de langages de description matérielle évolués tels que le Verilog-A et le VHDL-AMS. Ceux-ci permettent une plus grande flexibilité de modélisation en facilitant la modélisation mixte analogique-numérique et en autorisant l'écriture d'un modèle sous la forme d'un système d'équations différentielles quelconques. On peut également signaler l'existence d'une extension AMS à SystemC qui a été spécifiée par l'Open SystemC Initiative (OSCI) et implémentée pour l'institut Fraunhofer pour les circuits intégrés.

Fonctionnement[modifier | modifier le code]

SPICE utilise des composants élémentaires modélisés par un ensemble d'équations. Par exemple, pour une résistance, on a tout simplement la loi d'Ohm U=RI.

Le fait de relier ces composants entre eux permet de créer un système d'équations à l'aide des lois de Kirchhoff. Celui-ci est linéarisé localement autour du point de polarisation courant si besoin et résolu. En non-linéaire, il faut alors itérer jusqu'à convergence (point fixe) avant de passer au pas de temps suivant. Il arrive toutefois que le système ne converge pas, lorsqu'il est mal conditionné ce qui est souvent provoqué par des nœuds en haute impédance.

Netlists SPICE[modifier | modifier le code]

Les netlists SPICE sont les fichiers d'entrée du simulateur. Ils comportent la liste des composants avec (dans l'ordre) :

  1. leur type et référence (R3 est une résistance) ;
  2. les nœuds auxquels ils sont reliés (deux pour une résistance, trois pour un transistor bipolaire...) ;
  3. la valeur dans les cas simples ;
  4. éventuellement le modèle (jeu de paramètres utilisés) ;
  5. éventuellement une liste de paramètres permettant d'altérer le modèle utilisé.

Exemple de netlist SPICE[modifier | modifier le code]

* Ceci est un commentaire
C1 1 0 1n
* résistance utilisant un modèle modifié 
* et un paramètre (température)
R1 1 2 1k ResModel TEMP=27

* générateur sinusoïdal
VIN 2 0 SIN(0 1 1k)

On a ici un générateur sinusoïdal de 1 V à 1 kHz à l'entrée d'un circuit RC passe-bas.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Notes et références[modifier | modifier le code]

Littérature[modifier | modifier le code]

  • Carl Conrad : Simulation de circuits électroniques avec PSpice, Eyrolles, 1998, ISBN 2-212-09586-4

Liens externes[modifier | modifier le code]