Software für Simulation und Design

 

Prof. Dr.-Ing. Holger Vogt
14.07.2009

 

Auf dieser Seite möchte ich Ihnen einige Tipps für frei verfügbare Software geben, mit deren Hilfe Sie sich eine Designumgebung zum Entwurf integrierter Schaltungen aufbauen können. Es ist eine persönliche Auswahl, daher sicherlich nicht vollständig. Außerdem muss ich bekennen, dass ich und die Mitarbeiter von EBS nicht in der Lage sind, die Nutzung dieser Software durch Rat und Tat zu unterstützen. Es hat sich jedoch durch die freie Verfügbarkeit eine Menge unterstützender Literatur angesammelt, so dass Sie über das Internet dort sicherlich Hilfe finden werden. Ferner können wir natürlich auch keine Gewährleistung für die genannte Software übernehmen.

Beim Entwurf einer integrierten Schaltung spielen zunächst Überlegungen zum System eine Rolle, es erfolgt die Erstellung eines Schaltplans und dessen Eingabe ( Schematic capture ), die Simulation der Schaltung und ihre Umsetzung in Daten für die Herstellung ( Layout ). Vor der Herstellung steht die Entwicklung der Fertigungstechnologie, der Bauelemente und der zugehörigen Fertigungsstätte. Zu allen Themenpunkten ist Software, überwiegend an Universitäten entstanden. Das Resultat ist natürlich keine integrierte Designumgebung, die alle Komponenten unter einem Dach vernetzt. Zu Übungszwecken und für kleine Schaltungen ist eine heterogene Umgebung durchaus nützlich, wie Sie sie aus den folgenden Anmerkungen zusammenstellen können.

 

 

Schaltungssimulation

Der Klassiker unter den Simulationswerkzeugen ist das Programm SPICE, das von der Universität von Kalifornien in Berkeley entwickelt wurde. Hier ist ein Download von DuSpice, einer Version von SPICE3f5 für MS Windows (98, NT, XP) möglich (selbstextrahierende Datei DuSpiceWin.exe, 1,576 MB, oder als Zip-File, 1,534 MB). Sie basiert auf dem SPICE3f4-Originalcode der Universität in Berkeley, enthält aber die neuesten MOS-Modelle aus Berkeley (BSIM3v3.3.0, BSIM4.6.4, für SOI-Transistoren BSIMSOI3.2 und BSIMSOI4.1) und das Modell HiSIM1.2.0 von STARC aus Yokohama. Die Eingabe erfolgt über eine Textdatei, zur Ausgabe ist ein Plot innerhalb des Programms, für die wichtigsten Simulationen aber auch über EXCEL möglich. Parameter zur Beschreibung der Bauelemente stammen ebenfalls aus Berkeley und Yokohama. Eine Rauschquelle für transiente Rauschsimulation ist als Option zu den Spannungs- und Stromquellen neu eingebaut.

 

Schematic Capture

Zur Eingabe einer Schaltung ist ein spezielles Zeichenprogramm sinnvoll, das mit geeigneten Bibliotheken die Schaltplanerstellung unterstützt. Wenn nun dieses Programm auch die Erstellung einer SPICE-Eingabedatei aus dem Schaltplan heraus ermöglicht, steht einem Schaltungsdesign mit zugehöriger Überprüfung und Optimierung durch Simulation nichts mehr im Weg. Hier möchte ich das Programm Xcircuit empfehlen, das für LINUX, UNIX und MS Windows zur Verfügung steht. Eine Version für "native" Windows ist verfügbar unter: http://www.geocities.com/sw286000.

 

Layout

Zur Umsetzung in ein IC muss aus dem Schaltungskonzept, aus dem Schaltplan oder aus der Systembeschreibung ein Layout erzeugt werden. Hierzu sind komplexe graphische Wekzeuge notwendig. Zwei dieser Tools, die im Internet frei verfügbar sind, möchte ich hier vorstellen:

  • LASI ist ein originär für Windows geschriebenes Tool, das ständig weiterentwickelt wird.
  • MAGIC wurde ursprünglich wiederum in Berkeley entwickelt. Verschiedene Versionen wurde kürzlich zur Version 7.1 zusammengefasst und sind für LINUX, UNIX (Sourcecode) oder Windows (ausführbare Datei) verfügbar.
    Unter Windows ist zuvor die Installation eines Xservers notwendig (siehe unten).

Beide Werkzeuge sind sehr mächtig (neben Layout: DRC, Zellenkataloge, SPICE-Dateien...), bedürfen eines Setup , um die unterstützte Technologie zu beschreiben, und benötigen eine Einarbeitung. Unter den genannten Adressen ist jeweils ein Setup verfügbar (z.B. für MOSIS). Weitere freie Layout-Editoren sind unter http://layout.sourceforge.net/links/index.html zu finden, z.B. Layout-Editor oder Glade.

 

Systementwurf
 

Der Entwurf von Schaltungen auf einem höheren Abstraktionsniveau wird zur Zeit mit speziellen Sprachen, z.B. VHDL ( http://tech-www.informatik.uni-hamburg.de/vhdl/) durchgeführt. Dazu sind Compiler notwendig, die Bestandteil der großen kommerziellen Softwarepakete sind. Vielversprechend ist ein neuer Ansatz, C++ um Klassen und Bibliotheken zu erweitern, die eine Hardware-Beschreibung gestatten. Außerdem kann man mit diesen Tools Systeme entwicklen, die Hardware und Software nutzen (Codesign). Die Einarbeitung ist bei vorhandener C++-Kenntnis nicht aufwendig. Hervorzuheben ist hier SystemC, das kostenlos als Ergänzung zu C++ unter LINUX und MS Windows geladen werden kann.

 

Technologie und Bauelemente

Bevor man zur Technologieentwicklung aufwendig einen Halbleiterprozess fährt (das ist meine eigene Profession im IMS, siehe http://www.ims.fraunhofer.de), ist es sinnvoll, die resultierenden Dotierstoffverteilungen und Schichtdicken zu simulieren. Schnelle Ergebnisse erhält man mit einem eindimensionalen Technologiesimulator, der Dotierung, Diffusion und Oxidation realistisch darstellt. Als Eingabe dient der Prozesslaufplan (die Laufkarte). Als Simulator ist hier TESIM zu nennen, ein 1D-Prozesssimulator, der Basis meherer kommerzieller Tools geworden ist. Eine Version von TESIM für Windows ist hier zu finden (zip-File, 776 kB). Das TESIM-Manual ist zur Zeit allerdings nur in Deutsch verfügbar. Eine andere Software ist SUPREM3 aus Stanford.

Will man das Verhalten moderner Kurzkanaltransistoren verstehen und optimieren, ist eine mindestens zweidimensionale Simulation notwendig. Die Voraussetzung für die Bauelementesimulation ist nun, die zweidimensionale Dotierstoffverteilung herzustellen (d.h. zu simulieren). Hier besteht als freies Programm die UNIX-Variante von SUPREM IV ebenfalls aus Stanford. Eine Windows-Portierung diese Programms ist mir nicht bekannt. Allerdings gibt es Patches für LINUX unter ( http://mysite.verizon.net/dave_clark/stanford.html). Für UNIX, LINUX und Windows (unter cygwin) gibt es das Programm FLOOPS.

Auf diese Ergebnisse setzen zweidimensionale Bauelemente-Simulatoren auf. Die Halbleitergleichungen (Poisson- und Kontinuitätsgleichungen) werden auf einem optimierten Gitter diskretisiert und numerisch gelöst. Zwei Quellen sind hier zu nennen. Aus Wien stammt ein Programm MINIMOS, das mit dem Ziel der MOS-Bauelemente-Simulation entwickelt wurde. Eine andere bekannte Software namens PISCES entstand in Stanford (Windows-Version unter http://home.comcast.net/~john.faricelli/tcad.htm).

Die in diesem Abschnitt genannten Programme habe ich bisher nicht selbst probiert. Daher wäre ich für weitere Inputs und Kommentare sehr dankbar.

 

Fertigung

Der rasante, einfach nicht enden wollende Fortschritt in der Halbleitertechnik ist ganz wesentlich durch den immensen Fortschritt der Fertigungstechnologien und der zugehörigen Fertigungsanlagen bedingt. Zur Zeit nähert sich die kleinste Strukturabmessung in der Fertigung der 100 nm-Grenze, die sicherlich bald unterschritten wird. MOS-Transistoren laufen noch bei 25 nm Kanallänge mit zufriedenstellenden Ergebnissen. Fertigungsstätten mit diesen Fähigkeiten sind Großinvestitionen, die mehr als 1 Milliarde $ kosten. Daher kommt der optimalen Planung und Ausnutzung solcher Einrichtungen große Bedeutung zu. Wirtschafts- und Ingenieurwissenschaften gehen hier ein wichtiges Bündnis ein. Dies spiegelt sich auch in der Literatur wider, die exzellent zusammengefasst ist unter http://www.jkrconsult.com/capbib.htm.

Bei mir ist ein Simulationsprogramm, genannt FabSim, in Arbeit, mit dem der Durchsatz einer (Halbleiter-)Fabrik berechnet werden kann. Als Input dienen die geplanten oder vorhandenen Maschinen, die Laufkarten der installierten Prozesse und die geplanten Wafer-Starts. Mittels zeitdiskreter Simulation werden die Lose eingeschleust, gemäß der Laufkarten durch alle Maschinen hindurchbewegt und schließlich ausgeschleust. Für weitere Infos siehe http://www.fabsim.com. Dort ist auch ein Download einer auf 5 Maschinengruppen beschränkten Demo-Version von FabSim oder FabSim Interactive möglich.

 

Verschiedenes
 

Im Laufe vieler Projekte entsteht manchmal Software, die nicht einer der obigen Kategorie zuzuordnen ist, aber dennoch nützlich sein kann. Ein erstes Beispiel ist Films. Dieses Programm erlaubt die Berechnung der optischen Eigenschaften (Transmission, Absorption) von dünnen, optisch transparenten Filmen auf Substraten wie Silizium oder Glas. Damit lassen sich Parameter für optische Filter, Antireflexschichten, aber auch Fabry-Perot-Resonatoren berechnen. EXCEL wird zum Plotten genutzt, die Daten lassen sich aber auch zur Auswertung in eine Datei schreiben.


Anmerkungen zur Software

Die genannten Quellen für Software zum Download beziehen sich häufig auf die Windows-Versionen. Selbstverständlich sind die meisten auch für UNIX (oft das ursprüngliche Betriebssystem) oder LINUX verfügbar.

SPICE

 

Für SPICE existieren mittlerweile mehrere Webseiten mit kostenlosem Download eines unlimitierten Simulators oder mit SPICE kooperierender Software, Anleitungen und Manuals:
http://www.fe.uni-lj.si/spice,
http://www.winspice.co.uk,
http://www.soi.tec.ufl.edu/soispice.html,
http://www.linear.com/designtools/software/switchercad.jsp,
http://www.comefly.us/,
http://tclspice.sourceforge.net/ (outdated, see ngspice below),
http://ngspice.sourceforge.net/

GnuCap wird aktive als Nachfolge von Spice entwickelt.

Layout

Für MAGIC unter Windows ist ein Xserver notwendig.

 

Systementwurf

 

Sonstiges