SPICE (logiciel)

SPICE(SimulationProgram withIntegratedCircuitEmphasis) est unlogiciel librede 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 logicielsEasyspice,Gspiceuidans la suitegEDA,LTspice(en)ouPSpice(en)sont desinterfaces graphiquesgénéralistes pour l'utilisation de SPICE.
Le logicielGwavese concentre sur la visualisation des courbes des signaux analogiques fournis par SPICE.
Il est également à noter l'évolution de Spice qu'estNgspice(en), plus moderne, plus puissant et plus récent.
Contrairement aux conceptions au niveau de cartes électroniques intégrant des composants discrets, il n'est pas possible d'essayer un schéma de circuits intégrés surbreadboarden phase de conception avant leur fabrication. En outre, les coûts élevés desmasques photolithographiqueset d'autres conditions préalables à la fabrication font qu'il est essentiel de concevoir le circuit de manière qu'il soit aussi parfait que possible avant que le circuit intégré ne soit lancé en fonderie  pour la première fois.
La simulation du circuit avec SPICE est la méthode standard de l'industrie pour vérifier le fonctionnement d'une conception au niveau du transistor avant de s'engager dans la fabrication d'un circuit intégré. Les simulateurs SPICE aident à prédire le comportement du circuit intégré dans différentes conditions de fonctionnement, telles que différents niveaux de tension et de courant, des variations de température et du bruit.
Les conceptions de circuits au niveau de la carte peuvent souvent être montées sur une carte d'essai pour être testées. Même avec une carte d'essai, certaines propriétés du circuit peuvent ne pas être précises par rapport à la carte de circuit imprimée finale, comme lesrésistances et capacités parasite, dont les effets peuvent souvent être estimés avec plus de précision à l'aide de la simulation. Par ailleurs, les concepteurs peuvent souhaiter disposer de plus d'informations sur le circuit que celles disponibles à partir d'une maquette unique. Par exemple, les performances du circuit sont affectées par les tolérances de fabrication des composants. Dans ce cas, il est courant d'utiliser SPICE pour effectuer des simulationsMonte Carlode l'effet des variations des composants sur les performances, une tâche qui n'est pas réalisable en effectuant des calculs à la main pour un circuit d'une complexité appréciable.
Les programmes de simulation de circuits, dont SPICE et ses dérivés sont les plus importants, prennent un textenetlistdécrivant les éléments du circuit (transistors,résistances,condensateurs, etc.) et leurs connexions, et traduisentcette description en équations à résoudre. Les équations générales produites sont dessystèmes d'équations algébriques différentielles(en)non linéairesqui sont résolues à l'aide deméthodes d'intégration implicite, deméthode de Newtonet detechniques de matrice creuse.
SPICE a été créé à l'université de Californie(Berkeley) au début desannées 1970par 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 de1985.
Il est disponible souslicence BSD.
Différents avatars commerciaux existent depuis lesanné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 delangages de description matérielleévolués tels que leVerilog-Aet leVHDL-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érentiellesquelconques.
On peut également signaler l'existence d'une extension AMS àSystemCqui a été spécifiée par l'Open SystemC Initiative (OSCI)et implémentée pour l'institut Fraunhoferpour les circuits intégrés.
Aucune version plus récente de Berkeley SPICE n'a été publiée après la version 3f5 en 1993. Depuis lors, les continuations open-source ou académiques de SPICE comprennent : XSPICE, développé auGeorgia Tech, qui a ajouté des "modèles de code" mixtes analogiques/numériques pour la simulation comportementale ; CIDER(précédemment CODECS), développé par UC Berkeley et Oregon State University, qui a ajouté lasimulation de dispositifs à semi-conducteur(en);Ngspice(en), basé sur SPICE 3f5 ; WRspice, une réécriture en C++ du code original de spice3f5. D'autres simulateurs libres non développés par des universitaires sontQUCS, QUCS-S, Xyce, et Qucsator.
Berkeley SPICE a inspiré et servi de base à de nombreux autres programmes de simulation de circuits, dans les universités, dans l'industrie et dans les produits commerciaux. La première version commerciale de SPICE est ISPICE, une version interactive sur un service de multipropriété,National CSS(en). Les versions commerciales les plus connues de SPICE comprennent HSPICE (commercialisé à l'origine parAshawna et Kim Haileyde Meta Software, mais appartenant maintenant àSynopsys) etPSPICE(en)(appartenant maintenant àCadence Design Systems). L'industrie des circuits intégrés a rapidement adopté SPICE et, jusqu'à ce que les versions commerciales soient bien développées, de nombreuses sociétés de conception de circuits intégrés disposaient de versions propriétaires de SPICE.
Aujourd'hui, quelques fabricants de circuits intégrés, généralement les plus grandes entreprises, ont des groupes qui continuent à développer des programmes de simulation de circuits basés sur SPICE. Parmi ceux-ci figurent ADICE chezAnalog Devices,LTspice(en)chez Analog Devices (disponible au public en tant que logiciel gratuit), MCSPICE, suivi de Mica chezFreescale Semiconductor, aujourd'huiNXP Semiconductors, etTINA-TI(en)chezTexas Instruments. LTspice et TINA-TI sont tous deux fournis avec les modèles de leur société respective. D'autres entreprises disposent de simulateurs de circuits internes qui ne sont pas directement basés sur SPICE, notamment PowerSpice chezIBM, TITAN chezInfineon Technologies, Lynx chezIntel Corporation, et Pstar chezNXP Semiconductorségalement.
SPICE utilise des composants élémentaires modélisés par un ensemble d'équations. Par exemple, pour une résistance, on a tout simplement laloi d'OhmU=RI{\displaystyle U=RI}.
Le fait de relier ces composants entre eux permet de créer un système d'équations à l'aide 
deslois 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 hauteimpédance.
SPICE est devenu populaire parce qu'il contenait les analyses et les modèles nécessaires à la conception des circuits intégrés de l'époque, et qu'il était suffisamment robuste et rapide pour être pratique à utiliser. Les précurseurs de SPICE avaient souvent un seul objectif : le BIAS, par exemple, simulait les points de fonctionnement des circuits de transistors bipolaires ; le programme SLICprogramme ne faisait que desanalyses de petits signaux(en). SPICE combinait des solutions de points de fonctionnement, des analyses transitoires et diverses analyses de petits signaux avec les éléments de circuit et les modèles de dispositifs nécessaires pour simuler avec succès de nombreux circuits.
SPICE2 comprend les analyses suivantes :
Étant donné que SPICE est généralement utilisé pour modéliser des circuitsnon linéaires, les analyses de petits signaux sont nécessairement précédées d'un calcul dupoint de reposauquel le circuit est linéarisé. SPICE2 contient également du code pour d'autres analyses de petits signaux :analyse de sensibilité,analyse pôle-zéro(en)etanalyse de distorsionà petit signal. L'analyse à différentes températures est réalisée en mettant automatiquement à jour les paramètres du modèle de semi-conducteur en fonction de la température, ce qui permet de simuler le circuit à des températures extrêmes.
D'autres simulateurs de circuits ont depuis ajouté de nombreuses analyses au-delà de celles de SPICE2 pour répondre à l'évolution des besoins de l'industrie. Des balayages paramétriques ont été ajoutés pour analyser les performances du circuit en cas de modification des tolérances de fabrication ou des conditions de fonctionnement. Des calculs de gain de boucle et de stabilité ont été ajoutés pour les circuits analogiques. Des analyses d'équilibre harmonique(en)(enanglais:Harmonic balance) ou de régime permanent dans le domaine temporel ont été ajoutées pour la conception de circuitsRFet à condensateurs commutés. Toutefois, aucun simulateur de circuit du domaine public contenant les analyses et les fonctions modernes nécessaires pour succéder à SPICE en termes de popularité n'a encore vu le jour.
Il est très important d'utiliser des analyses appropriées avec des paramètres soigneusement choisis. Par exemple, l'application d'une analyse linéaire à des circuits non linéaires doit être justifiée séparément. De même, l'application de l'analyse transitoire avec des paramètres de simulation par défaut peut conduire à des conclusions qualitativement erronées sur la dynamique du circuit.
SPICE2 comprend de nombreuxmodèles compacts(en)de dispositifs semi-conducteurs : trois niveaux de modèleMOSFET, un modèle combinéEbers-MolletGummel-Poon, un modèleJFETet un modèle pour unediode de jonction. En outre, il comportait de nombreux autres éléments : résistances, condensateurs, inductances (y compriscouplage),tensionetsource de courantindépendantes,ligne de transmissionidéale, composants actifs et sources contrôlées en tension et en courant.
SPICE3 a ajouté des modèles MOSFET plus sophistiqués, rendus nécessaires par les progrès de la technologie des semi-conducteurs. En particulier, la famille de modèlesBSIM(en)a été ajoutée, qui a également été développée à l'UC Berkeley.
Les simulateurs commerciaux et industriels SPICE ont ajouté de nombreux autres modèles de dispositifs au fur et à mesure que la technologie progressait et que les modèles antérieurs devenaient inadéquats. Pour tenter de normaliser ces modèles afin qu'un ensemble de paramètres de modèle puisse être utilisé dans différents simulateurs, un groupe de travail industriel a été formé, leCompact Model Council(en), pour choisir, maintenir et promouvoir l'utilisation de modèles normalisés. Les modèles standard actuels comprennentBSIM3,BSIM4,BSIMSOI,PSP,HICUMetMEXTRAM.
SPICE2 prend en entrée unenetlisttextuelle et produit en sortie des listings imprimés à la machine à écrire, ce qui correspond à l'environnement informatique de1975. Ces listes sont soit des colonnes de nombres correspondant à des sorties calculées (typiquement des tensions ou des courants), soit descaractères "plots". SPICE3 conserve la liste des réseaux pour la description des circuits, mais permet de contrôler les analyses à partir d'uneinterface en ligne de commandesimilaire à l'interpréteur en C shell. SPICE3 a également ajouté un système de traçage de baseX Window System, à mesure que lesUNIXet lesstations de travaild'ingénierie devenaient courants.
Les fournisseurs et divers projets de logiciels libres ont ajouté desfrontalsdecapture de schémas(en)à SPICE, ce qui permet de dessiner un schéma du circuit et de générer automatiquement la listenetlistet de la transférer à diversbackendsSPICE. Des interfaces graphiques ont également été ajoutées pour sélectionner les simulations à effectuer et manipuler les vecteurs de sortie de tension et de courant. En outre, des utilitaires graphiques très performants ont été ajoutés pour visualiser les formes d'onde et les graphiques des dépendances paramétriques. Plusieurs versions gratuites de ces programmes étendus sont disponibles.
LesnetlistsSPICE sont les fichiers d'entrée du simulateur. Ils comportent la liste des composants avec (dans l'ordre) :
On a ici un générateur sinusoïdal de 1Và 1kHzà l'entrée d'uncircuit RCpasse-bas.
Comme SPICE résout généralement des équations algébriques différentielles non linéaires, il peut être appliqué à la simulation au-delà du domaine électrique.
Les plus importantes sont lessimulations thermiques, car les systèmes thermiques peuvent être décrits par des éléments de circuit forfaitaires correspondant aux éléments électroniques SPICE (capacité thermique → capacité, conductance/résistance thermique → conductance/résistance, température → tension, flux de chaleur ou chaleur générée → courant). Les systèmes thermiques et électroniques étant étroitement liés par la dissipation de puissance et les systèmes de refroidissement, la simulation électrothermique est aujourd'hui prise en charge par les fabricants de dispositifs semi-conducteurs qui proposent des modèles (de transistors) avec des nœuds électriques et thermiques. On peut donc obtenir la dissipation de puissance électrique, qui entraîne un auto-échauffement provoquant des variations de paramètres, et l'efficacité du système de refroidissement en une seule simulation.
SPICE peut très bien simuler la partie électronique d'une commande de moteur. Cependant, il décrira tout aussi bien le modèleélectro-mécaniquedu moteur. Encore une fois, ceci est réalisé en faisant correspondre les éléments mécaniques aux éléments électriques (couple → tension, vitesse angulaire → courant, coefficient de frottement visqueux → résistance, moment d'inertie → inductance). Ainsi, le modèle final n'est constitué que d'éléments de circuits forfaitaires compatibles avec SPICE, mais on obtient des données mécaniques en même temps que des données électriques au cours de la simulation.
Lamodélisation électromagnétiqueest accessible à un simulateur SPICE via la méthode PEEC (circuit équivalent à éléments partiels). Leséquations de Maxwellont été cartographiées, le RLC, l'effet Skin, les matériaux diélectriques ou magnétiques et les champs incidents ou rayonnés ont été modélisés.
Cependant, en 2019, SPICE ne peut pas être utilisé pour "simuler la photonique et l'électronique ensemble dans unsimulateur de circuit photonique"et il n'est donc pas encore considéré comme un simulateur de test pour les circuits intégrés photoniques.
Les circuits microfluidiques ont été modélisés avec SPICEen créant un FET pneumatique.
SPICE a été appliqué pour modéliser l'interface entre lessystèmes biologiques et électroniques, par exemple comme outil de conception pour la biologie synthétique et pour le prototypage virtuel de biocapteurs et de laboratoires sur puce.
SPICE a été appliqué enrecherche opérationnellepour évaluer deschaînes d'approvisionnementperturbées.