Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Fondements de la programmation SPICE

La programmation d'une simulation de circuit avec SPICE ressemble beaucoup à la programmation dans n'importe quel autre langage informatique :vous devez taper les commandes sous forme de texte dans un fichier, enregistrer ce fichier sur le disque dur de l'ordinateur, puis traiter le contenu de ce fichier avec un programme (compilateur ou interpréteur) qui comprend de telles commandes. Dans un langage informatique interprété, l'ordinateur contient un programme spécial appelé interprète qui traduit le programme que vous avez écrit (le soi-disant fichier source ) dans la langue de l'ordinateur, à la volée, au fur et à mesure de son exécution : Dans un langage informatique compilé, le programme que vous avez écrit est traduit d'un seul coup dans le propre langage de l'ordinateur par un programme appelé compilateur . Une fois que le programme que vous avez écrit a été « compilé », l'exécutable résultant Le fichier n'a pas besoin de traduction supplémentaire pour être compris directement par l'ordinateur. Il peut maintenant être « exécuté » sur un ordinateur, qu'un logiciel de compilation ait ou non été installé sur cet ordinateur : SPICE est un langage interprété. Pour qu'un ordinateur puisse comprendre les instructions SPICE que vous tapez, le programme SPICE (interprète) doit être installé : Les fichiers source SPICE sont communément appelés « netlists », bien qu'ils soient parfois appelés « decks » avec chacun ligne dans le fichier appelé « carte ». Mignon, tu ne trouves pas ? Les netlists sont créées par une personne comme vous qui tape des instructions ligne par ligne à l'aide d'un traitement de texte ou d'un éditeur de texte. Les éditeurs de texte sont de loin préférés aux traitements de texte pour tout type de programmation informatique, car ils produisent du texte ASCII pur sans codes intégrés spéciaux pour la surbrillance du texte (comme l'italique ou gras polices), qui ne sont pas interprétables par les logiciels d'interprétation et de compilation. Comme pour la programmation générale, le fichier source que vous créez pour SPICE doit suivre certaines conventions de programmation. C'est un langage informatique en soi, même s'il est simple. Ayant programmé en BASIC et C/C++, et ayant une certaine expérience de la lecture de programmes PASCAL et FORTRAN, je suis d'avis que le langage de SPICE est beaucoup plus simple que n'importe lequel d'entre eux. C'est à peu près la même complexité qu'un langage de balisage tel que HTML, peut-être moins. Il y a un cycle d'étapes à suivre pour utiliser SPICE pour analyser un circuit. Le cycle commence lorsque vous invoquez pour la première fois le programme d'édition de texte et faites votre premier brouillon de la netlist. L'étape suivante consiste à exécuter SPICE sur cette nouvelle netlist et à voir quels sont les résultats. Si vous êtes un utilisateur novice de SPICE, vos premières tentatives pour créer une bonne netlist seront semées de petites erreurs de syntaxe. Ne vous inquiétez pas, comme tout programmeur informatique le sait, la compétence s'accompagne de beaucoup de pratique. Si votre essai produit des messages d'erreur ou des résultats manifestement incorrects, vous devez ré-appeler le programme d'édition de texte et modifier la netlist. Après avoir modifié la netlist, vous devez exécuter à nouveau SPICE et vérifier les résultats. La séquence ressemble alors à ceci :

Pour « exécuter » un « programme » SPICE, vous devez saisir une commande dans une interface d'invite de terminal, telle que celle trouvée dans MS-DOS, UNIX ou l'option d'invite MS-Windows DOS :

épice  

Le mot « spice » appelle le programme d'interprétation SPICE (à condition que le logiciel SPICE ait été installé sur l'ordinateur !), le symbole « < » redirige le contenu du fichier source vers l'interpréteur SPICE et example.cir est le nom du fichier source de cet exemple de circuit. L'extension de fichier « .cir " n'est pas obligatoire ; J'ai vu ".inp » (pour « input ») et tout simplement « .txt « fonctionne bien aussi. Cela fonctionnera même lorsque le fichier netlist n'a pas d'extension. SPICE ne se soucie pas du nom que vous lui donnez, tant qu'il a un nom compatible avec le système de fichiers de votre ordinateur (pour les anciennes machines MS-DOS, par exemple, le nom de fichier ne doit pas dépasser 8 caractères, avec un 3 extension de caractère, et pas d'espaces ou d'autres caractères non alphanumériques). Lorsque cette commande est saisie, SPICE lira le contenu de example.cir fichier, analysez le circuit spécifié par ce fichier et envoyez un rapport texte à la sortie standard du terminal informatique (généralement l'écran, où vous pouvez le voir défiler). Une sortie SPICE typique est constituée de plusieurs écrans d'informations, vous pouvez donc vouloir la consulter avec une légère modification de la commande :

épice

Cette alternative « canalise » la sortie de texte de SPICE vers l'utilitaire « plus », qui ne permet d'afficher qu'une seule page à la fois. Cela signifie (en anglais) que la sortie de texte de SPICE est interrompue après un écran plein et attend que l'utilisateur appuie sur une touche du clavier pour afficher le prochain écran plein de texte. Si vous ne faites que tester votre exemple de fichier de circuit et que vous souhaitez rechercher d'éventuelles erreurs, c'est un bon moyen de le faire.

épice  ​​example.txt 

Cette deuxième alternative (ci-dessus) redirige la sortie texte de SPICE vers un autre fichier, appelé example.txt , où il peut être consulté ou imprimé. Cette option correspond à la dernière étape du cycle de développement indiqué précédemment. Il est recommandé par cet auteur d'utiliser cette technique de "redirection" vers un fichier texte uniquement après avoir prouvé que votre exemple de liste de circuits imprimés fonctionne bien, afin que vous ne perdiez pas de temps à invoquer un éditeur de texte juste pour voir la sortie pendant les étapes de « débogage ». Une fois que vous avez une sortie SPICE stockée dans un .txt fichier, vous pouvez utiliser un éditeur de texte ou (mieux encore !) un traitement de texte pour modifier la sortie, en supprimant les bannières et les messages inutiles, et même en spécifiant des polices alternatives pour mettre en évidence les titres et/ou les données pour une apparence plus soignée. Ensuite, bien sûr, vous pouvez imprimer la sortie sur papier si vous le souhaitez. Étant donné que la sortie directe de SPICE est du texte ASCII brut, un tel fichier sera universellement interprétable sur n'importe quel ordinateur, que SPICE y soit installé ou non. De plus, le format texte brut garantit que le fichier sera très petit par rapport aux fichiers de capture d'écran graphiques générés par les simulateurs « pointer-cliquer ». Le format de fichier netlist requis par SPICE est assez simple. Un fichier netlist n'est rien de plus qu'un simple fichier texte ASCII contenant plusieurs lignes de texte, chaque ligne décrivant soit un composant de circuit, soit une commande SPICE spéciale. L'architecture du circuit est spécifiée en attribuant des numéros aux points de connexion de chaque composant dans chaque ligne, les connexions entre les composants désignés par des numéros communs. Examinez l'exemple de schéma de circuit suivant et son fichier SPICE correspondant. Veuillez garder à l'esprit que le schéma de circuit n'existe que pour rendre la simulation plus facile à comprendre pour les êtres humains. SPICE ne comprend que les netlists :

Exemple de netlist v1 1 0 dc 15 r1 1 0 2.2k r2 1 2 3,3k r3 2 0 150 .finir 

Chaque ligne du fichier source montré ci-dessus est expliquée ici :

  • v1 représente la batterie (source de tension 1), borne positive numérotée 1, borne négative numérotée 0, avec une sortie de tension continue de 15 volts.
  • r1 représente la résistance R1 dans le diagramme, connecté entre les points 1 et 0, avec une valeur de 2,2 kΩ.
  • r2 représente la résistance R2 dans le diagramme, connecté entre les points 1 et 2, avec une valeur de 3,3 kΩ.
  • r3 représente la résistance R3 dans le diagramme, connecté entre les points 2 et 0, avec une valeur de 150 kΩ.

Les points électriques communs (ou « nœuds ») dans une description de circuit SPICE partagent des numéros communs, de la même manière que les fils reliant les points communs dans un grand circuit partagent généralement des étiquettes de fil communes. Pour simuler ce circuit, l'utilisateur taperait ces six lignes de texte sur un éditeur de texte et les enregistrerait dans un fichier avec un nom unique (tel que example.cir ). Une fois la netlist composée et enregistrée dans un fichier, l'utilisateur traite ensuite ce fichier avec l'une des instructions de ligne de commande présentées précédemment (spice ), et recevront ce texte sur l'écran de leur ordinateur :

1*******10/10/99 ******** épice 2g.6 15/03/83 ********07:32:42**** * 0exemple de netlist 0**** température de liste d'entrée =27.000 deg c v1 1 0 dc 15 r1 1 0 2.2k r2 1 2 3,3k r3 2 0 150 .finir *****10/10/99 ********* épice 2g.6 15/03/83 ******07:32:42****** 0exemple de netlist 0**** température de la solution de polarisation du petit signal =27.000 deg c tension du nœud tension du nœud ( 1) 15.0000 ( 2) 0.6522 courants de source de tension nom actuel v1 -1.117E-02 dissipation de puissance totale 1,67E-01 watts travail terminé 0 temps de travail total 0,02 1*******10/10/99 ******** épice 2g.6 15/03/83 ******07:32:42***** 0**** température de liste d'entrée =27.000 deg c

SPICE commence par imprimer l'heure, la date et la version utilisées en haut de la sortie. Il répertorie ensuite les paramètres d'entrée (les lignes du fichier source), suivis d'un affichage des lectures de tension continue de chaque nœud (numéro de référence) à la terre (toujours numéro de référence 0). Ceci est suivi d'une liste de lectures de courant à travers chaque source de tension (dans ce cas, il n'y en a qu'une, v1). Enfin, la dissipation de puissance totale et le temps de calcul en secondes sont imprimés. Toutes les valeurs de sortie fournies par SPICE sont affichées en notation scientifique. La liste de sortie SPICE ci-dessus est un peu verbeuse au goût de la plupart des gens. Pour une présentation finale, il peut être intéressant de couper tout le texte inutile et de ne laisser que ce qui compte. Voici un exemple de cette même sortie, redirigé vers un fichier texte (spice ​​example.txt ), puis rogné judicieusement avec un éditeur de texte pour la présentation finale et imprimé :

exemple de netlist v1 1 0 dc 15 r1 1 0 2.2k r2 1 2 3,3k r3 2 0 150 .finir tension de nœud tension de nœud ( 1) 15.0000 ( 2) 0.6522 courants de source de tension nom actuel v1 -1.117E-02 dissipation de puissance totale 1,67E-01 watts

L'un des avantages de SPICE est que les formats d'entrée et de sortie sont en texte brut, qui est le format électronique le plus universel et le plus facile à éditer. Pratiquement tout l'ordinateur pourra éditer et afficher ce format, même si le programme SPICE lui-même n'est pas résident sur cet ordinateur. Si l'utilisateur le souhaite, il ou elle est libre d'utiliser les capacités avancées des programmes de traitement de texte pour rendre la sortie plus sophistiquée. Des commentaires peuvent même être insérés entre les lignes de la sortie pour plus de clarté pour le lecteur.


Technologie industrielle

  1. Introduction à SPICE
  2. Histoire de SPICE
  3. L'interface de ligne de commande
  4. Composants de circuit
  5. Programmation du microprocesseur
  6. Périphériques semi-conducteurs dans SPICE
  7. Espaces de noms dans la programmation C#
  8. Opérateurs de programmation C
  9. C Tutoriel