Chipentwurf
Chipentwurf (oder Chipentwicklung) bezeichnet in der Mikroelektronik den Prozess der Entwicklung eines Mikrochips von der ersten Idee über die Spezifikation und Umsetzung in einen Schaltplan und ein Layout bis zum gefertigten Schaltkreis.
Entwurfsmethoden
Die Probleme aufgrund zunehmender Komplexität sowie der Kosten- und Zeitdruck haben zur Entwicklung unterschiedlicher Methodiken des Chipentwurfs geführt. Allen Methoden gemein ist, dass Masken für die Fotolithografie verwendet werden, mit denen eine Fertigung in der Halbleitertechnik möglich ist. Die Unterschiede der Methoden bestehen im Entwicklungsaufwand und in der Entwurfsflexibilität.
Die Bezeichnung der Methodik hängt oftmals eng mit dem gewünschten Produkt zusammen und lässt sich folgendermaßen einordnen:
- Entwurf als Standardschaltung
- Fest verdrahteter Vollentwurf. Dieses ist die klassische Methodik, die alle Möglichkeiten der Halbleitertechnik bietet, inklusive analoger Schaltungen. Hiermit werden vor allem Massenprodukte hergestellt, wie z. B. Mikroprozessoren, RAM-Bausteine und Produkte mit besonderen Anforderungen z. B. Analog-Digital-Umsetzer, Bausteine der Automobilelektronik.
- Maskenprogrammierung. Die Funktion ist mit einer Entwurfsmethodik wie oben festgelegt, jedoch können die Inhalte für integrierte Speicher durch Änderung der Fotomasken nur des letzten Fertigungsschrittes festgelegt (verdrahtet) werden. Beispiele: ROM, Mikrocontroller.
- Anwendungsspezifische Programmierung. Auf Basis eines Standardbauteils können darin vorhandene logische Grundelemente durch nachträgliche Programmierung verbunden werden, ohne dass erneut lithografische Masken benötigt werden. Beispiele: PROM, PLD, PLA, FPGA.
- Entwurf als anwendungsspezifische integrierte Schaltung (ASIC). Wird für hochspezialisierte Bausteine in meist kleineren Stückzahlen verwendet.
- Full-Custom-Entwurf
- Semi-Custom-Entwurf
- Entwurf mit Standardzellen
- Gate Array / Sea-of-Gates
- FPGA-Entwurf. Ähnlich wie oben, jedoch wird Funktion beim Programmieren fest eingebrannt, z. B. mit Antifuse-Technik
Full-Custom-Entwurf
Die Entwicklung des Chips oder der integrierten Schaltung erfolgt nicht mit vorgefertigten Zellen oder Schaltungsteilen, sondern individuell an die Anforderungen der zu entwerfenden Schaltung angepasst. Grundsätzlich unterscheidet man analoge und digitale Schaltungen. Im Bereich der analogen Schaltungstechnik verwendet man fast ausschließlich den Full-Custom-Entwurf. Man hat die Möglichkeit, jeden einzelnen Transistor so zu verschalten und zu dimensionieren, wie es für die Funktion der Schaltung nötig ist. Im Bereich der digitalen Schaltungstechnik wird häufig der Semi-Custom-Entwurf verwendet. Dieser schränkt jedoch den Entwurf meist stark ein, da dabei im Wesentlichen statische Logik Verwendung findet. Möchte man hingegen andere Logiktechniken wie beispielsweise dynamische Logik verwenden, so greift man auf den flexibleren Full-Custom-Entwurf zurück.
Der Full-Custom-Entwurf ist wesentlich zeitaufwendiger, da er nicht so stark automatisiert ist wie der Semi-Custom-Entwurf. Er bietet jedoch die Möglichkeit, die Schaltung bezüglich der Leistungsaufnahme, der Geschwindigkeit und der benötigten Chipfläche zu optimieren. Durch die großen Freiheiten beim Entwurf sowie bei der Ausführung des Layouts ist enormes Optimierungspotential vorhanden.
Für den Full-Custom-Entwurf werden dem Entwickler vom Halbleiterhersteller sogenannte Design Kits zur Verfügung gestellt. Dies sind Software-Bibliotheken für das jeweils verwendete Design-Tool, welche dem Entwickler eine Anzahl primitiver Bauteile (Transistoren, Widerstände etc.) mit den dazugehörigen, aus Messdaten gefertigter Schaltungen gewonnenen, Softwaremodellen für die Schaltungssimulation bieten.
Das Layout eines Full-Custom-Entwurfs wird manuell generiert. Dabei kann der Entwickler die Geometrien der einzelnen Transistoren und der Metallleitungen bestimmen und optimieren. Dabei müssen Einschränkungen der Fertigung in Form von geometrischen und elektrischen Regeln (Design Rules) eingehalten werden.
Semi-Custom-Entwurf
Beim Semi-Custom-Entwurf sind die Freiheiten des Entwicklers weiter eingeschränkt. Dadurch wird der Entwicklungsprozess jedoch einfacher, da vermehrt auf vorgefertigte Elemente zurückgegriffen wird.
Etwas an Bedeutung verloren haben die Gate-Arrays oder Sea-Of-Gates. Bei beiden handelt es sich um halbfertige Bausteine, bei denen die Transistoren bereits platziert sind. Die logischen Elemente entstehen durch Festlegung der Verdrahtungsebenen (Metalllagen) nur mit den dafür zuständigen Fotomasken. Dadurch können prinzipiell Kosten gespart werden. Der Entwurfsprozess ist jedoch eingeschränkt durch begrenzten Raum für Verdrahtung. Insbesondere bei den Gate-Arrays sind im Gegensatz zu Sea-of-Gates nur bestimmte Gebiete (Verdrahtungskanäle) für Verbindungen zugelassen. Weiterhin sind die Treiberstärken der Gatter nicht variabel genug. Die daraus resultierenden Nachteile sind: Hoher Stromverbrauch sowie geringe Funktionsdichte und daraus resultierend hohe Stückkosten.
Verbreitet ist der Entwurf mit Standardzellen. Standardzellen sind vorentworfene Elemente vom einfachen Gatter über Flipflops bis hin zu RAM oder Prozessoren. Auch analoge Blöcke wie Analog-digital-Umsetzer sind möglich. Die Zellen können frei im Layout platziert werden, haben aber bekannte elektrische und geometrische Parameter. Diese Parameter sind in sog. Bibliotheken abgelegt und werden von den Entwicklungswerkzeugen abgerufen. Im Layout wird die Schaltung durch grafisches Aneinanderreihen und Verbinden der Standardzellen erzeugt. Dadurch wird der Entwicklungsprozess gegenüber dem Full-Custom-Entwurf deutlich einfacher, weil ein Großteil der Schaltungssimulation auf logischer Ebene gemacht werden kann. Bei hohen Stückzahlen (> 100.000) ist der Semi-Custom-Entwurf der beste Kompromiss zwischen der Effektivität des Chipentwurfs und Kosten/Qualität des resultierenden Bausteins.
Bei geringeren Stückzahlen und komplexen Funktionen bieten sich FPGAs an. Die Entwurfsmethodik hat sich mit steigender Komplexität immer mehr der des Semi-Custom-Entwurfs angenähert. Im Gegensatz dazu sind die logischen Elemente beim FPGA bereits auf dem Chip vorhanden und werden lediglich durch vorübergehendes oder dauerhaftes Programmieren (Brennen) verbunden. Verwendet werden vorproduzierte integrierte Schaltkreise, die als Standardschaltung entworfen wurden. Eine wesentliche Ersparnis an Zeit und Kosten resultiert daher, dass die entworfene Funktion „im Feld“, d. h. in wenigen Minuten beim Anwender auf den Baustein aufgebracht werden kann. Nachteilig sind jedoch die teilweise sehr hohen Kosten, großen Bauformen und der Stromverbrauch dieser Bausteine.
Entwurfsprozess („Designflow“)
Alle komplexen digitalen integrierten Schaltungen werden grob nach folgendem Schema entwickelt, das sich stark auf Werkzeuge zur Entwurfsautomatisierung abstützt:
- Spezifikation (Festlegung der Funktion in Worten und Bildern)
- Beschreibung und Validierung auf Verhaltensebene (Eingabe und Simulation beispielsweise in C/C++ oder MATLAB)
- Beschreibung und Validierung auf RTL-Ebene (Eingabe und Simulation in einer Hardwarebeschreibungssprache, siehe unten)
- Synthese (Erzeugung von Gattern aus der RTL-Beschreibung)
- Validierung auf Gatterebene (Simulation oder formale Verifikation)
Kern des modernen Entwurfsprozess ist die Beschreibung der Funktion auf einer höheren Abstraktionsebene, die RTL (Register Transfer Level) genannt wird. Hier können komplexe Funktionen in einer Hardwarebeschreibungssprache (ähnlich einer Programmiersprache) (z. B. Addition, Multiplikation) eingegeben und die Gesamtfunktion der eingegebenen RTL-Beschreibung am Computer simuliert werden. Als Hardwarebeschreibungssprachen kommen meist VHDL oder Verilog zum Einsatz. Eine grafische Eingabe des Schaltplans auf RTL- oder Gatterebene ist möglich, aber für größere Schaltungen meist nicht praktikabel.
Die RTL-Beschreibung wird dann mit einem Synthesewerkzeug, das ähnlich wie ein Compiler arbeitet, in eine Gatterbeschreibung, die sogenannte Netzliste umgesetzt. Diese Netzliste kann zur Kontrolle des Ergebnisses erneut simuliert werden, da sie in der Regel dieselbe VHDL- oder Verilog-Syntax verwendet.
Die Synthese auf Verhaltensebene und die Validierung auf Spezifikationsebene sind im Gegensatz dazu derzeit (2006) im Allgemeinen nicht automatisiert.
Zur Vorbereitung der Fertigung sind weiterhin folgende Schritte nötig:
- Layoutsynthese (beginnend mit der Partitionierung und dem Floorplanning, Erstellen einer detaillierten geometrischen Anordnung der Zellen und Verbindungen, das sog. Maskenlayout)
- statische Timing-Analyse (STA)
- Layoutverifikation – Überprüfung der elektrischen Designregeln (ERC), der geometrischen und sonstigen Designregeln (DRC) sowie Netzlistenvergleich (LVS)
- Tape-Out (Abgabe bei der Fertigung)
Bei FPGAs wird das Layout nicht (wie bei Semi- oder Full-Custom-Entwürfen) zur Herstellung von Fotomasken, sondern zur Erzeugung der Programmierung der Verbindungen verwendet. Die Schritte für Design Rule Check (DRC) und Tape-Out entfallen damit.
Die Taktfrequenz ist begrenzt durch die Addition der Signallaufzeiten durch die Schaltelemente und der Verdrahtung. Werden moderne VLSI-Fertigungsprozesse mit Strukturgrößen von 130 nm (deep submicron) oder kleiner verwendet, steigt der Einfluss der Verbindungen auf die Signallaufzeiten. Dies wirkt sich reduzierend auf die erreichbare Taktfrequenz aus, mit welcher der Baustein korrekt arbeiten kann. Die Ergebnisse des Layouts koppeln also auf die Funktion zurück, was zwar berechenbar ist, aber bei Ziel-Verfehlung dennoch weitere Design-Zyklen nötig macht.
Die Laufzeiten der Gatter und der Verdrahtung werden mittels „statischer Timing-Analyse“ addiert und dargestellt. Dabei wird der kritische Pfad ermittelt. Dieser stellt den längst möglichen Weg dar, den ein Signal während einer Taktperiode in der Schaltung nehmen kann und legt damit die maximale Arbeitsfrequenz der gesamten Schaltung fest. Dabei sind Fertigungstoleranzen und Temperatureffekte zu berücksichtigen. Heutige Designs skalieren die Taktraten im System mit zunehmendem Abstand vom Kern herunter oder/und spalten den Halbleiter in einzelne logische Recheneinheiten auf, die dann ihre Operationen nur in einem verhältnismäßig kleinen Bereich aber mit hoher Frequenz und synchron durchführen.
Die fertigen Geometriedaten werden an die Fertigung übergeben, wo sie zur Herstellung der fotografischen Masken verwendet werden. Der Vorgang wird als Tape-Out bezeichnet, weil dafür früher Magnetbänder (tapes) verwendet wurden. Die Einhaltung aller Designregeln ist wichtig, damit die Ausbeute (yield) an funktionsfähigen Bauteilen in der Fabrik möglichst hoch ist.
Siehe auch
Literatur
- Erich Barke et al.: Electronic Design Automation – Entwurfsautomatisierung in der Mikroelektronik. Vorlesungsskript, Universität Hannover.
- Jens Lienig: Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung, 2. Aufl. Springer, Berlin 2016, ISBN 978-3-662-49814-9.
- Peter Marwedel: Synthese und Simulation von VLSI-Systemen. Hanser Fachbuchverlag, 1993, ISBN 978-3-446-16146-7.
- Franz J. Rammig: Systematischer Entwurf digitaler Systeme. Vieweg+Teubner, Stuttgart 1989, ISBN 978-3-519-02265-7.