Integriertes Schaltungsdesign - Integrated circuit design

Layoutansicht eines einfachen CMOS-Operationsverstärkers (Eingänge links und Kompensationskondensator rechts). Die Metallschicht ist blau gefärbt, grün und braun sind N- und P-dotiertes Si, das Polysilizium ist rot und Vias sind gekreuzt.
Ingenieur, der eine frühe IC-Design-Workstation verwendet, um einen Abschnitt eines auf Rubylith geschnittenen Schaltungsdesigns zu analysieren , ca. 1979

Integriertes Schaltungsdesign oder IC-Design ist eine Teilmenge der Elektroniktechnik , die die speziellen Logik- und Schaltungsdesigntechniken umfasst, die zum Entwerfen integrierter Schaltungen oder ICs erforderlich sind . ICs bestehen aus miniaturisierten elektronischen Komponenten, die durch Photolithographie auf einem monolithischen Halbleitersubstrat in ein elektrisches Netzwerk eingebaut werden .

Das IC-Design kann in die großen Kategorien des digitalen und analogen IC-Designs unterteilt werden. Beim Design digitaler ICs werden Komponenten wie Mikroprozessoren , FPGAs , Speicher ( RAM , ROM und Flash ) und digitale ASICs hergestellt . Digitales Design konzentriert sich auf logische Korrektheit, Maximierung der Schaltungsdichte und Platzierung von Schaltungen, damit Takt- und Zeitsignale effizient geroutet werden. Das analoge IC-Design hat sich auch auf das Design von Leistungs-ICs und HF- ICs spezialisiert. Analoges IC-Design wird beim Design von Operationsverstärkern , Linearreglern , Phasenregelkreisen , Oszillatoren und aktiven Filtern verwendet . Analoges Design befasst sich mehr mit der Physik der Halbleiterbauelemente wie Verstärkung, Anpassung, Verlustleistung und Widerstand. Die Genauigkeit der analogen Signalverstärkung und -filterung ist normalerweise kritisch, und daher verwenden analoge ICs aktive Bauelemente mit größerer Fläche als digitale Designs und sind in der Regel weniger dicht in der Schaltung.

Moderne ICs sind enorm kompliziert. Ein durchschnittlicher Desktop-Computerchip (Stand 2015) verfügt über mehr als 1 Milliarde Transistoren. Auch die Regeln dafür, was hergestellt werden kann und was nicht, sind äußerst komplex. Gemeinsame IC-Prozesse von 2015 haben mehr als 500 Regeln. Da der Herstellungsprozess selbst nicht vollständig vorhersehbar ist, müssen die Konstrukteure außerdem seine statistische Natur berücksichtigen . Die Komplexität des modernen IC-Designs sowie der Druck des Marktes, Designs schnell zu erstellen, haben zu einem umfassenden Einsatz automatisierter Designtools im IC-Designprozess geführt. Kurz gesagt, der Entwurf eines ICs unter Verwendung von EDA-Software besteht aus Entwurf, Test und Überprüfung der Anweisungen, die der IC ausführen soll.

Grundlagen

Das Design integrierter Schaltungen beinhaltet die Herstellung elektronischer Komponenten wie Transistoren , Widerstände , Kondensatoren und die Verbindung dieser Komponenten auf einem Halbleiterstück, typischerweise Silizium . Ein Verfahren zum Isolieren der im Substrat gebildeten Einzelkomponenten ist notwendig, da das Substratsilizium leitfähig ist und oft einen aktiven Bereich der Einzelkomponenten bildet. Die beiden gebräuchlichen Methoden sind die pn-Übergangsisolation und die dielektrische Isolation . Der Verlustleistung von Transistoren und Verbindungswiderständen und der Stromdichte der Verbindungen, Kontakte und Durchkontaktierungen muss Aufmerksamkeit geschenkt werden, da ICs im Vergleich zu diskreten Komponenten, bei denen solche Bedenken weniger wichtig sind, sehr kleine Bauelemente enthalten. Auch Elektromigration in metallischen Verbindungen und ESD- Schäden an den winzigen Komponenten sind von Bedeutung. Schließlich ist das physikalische Layout bestimmter Schaltungsunterblöcke typischerweise kritisch, um die gewünschte Betriebsgeschwindigkeit zu erreichen, verrauschte Teile eines IC von ruhigen Teilen zu trennen, die Auswirkungen der Wärmeerzeugung über den IC auszugleichen oder die Platzierung zu erleichtern von Verbindungen zu Schaltungen außerhalb des ICs.

Designschritte

Wichtige Schritte im IC-Design-Flow

Ein typischer IC-Designzyklus umfasst mehrere Schritte:

  1. System Spezifikation
    1. Machbarkeitsstudie und Schätzung der Werkzeuggröße
    2. Funktionsanalyse
  2. Architektur- oder Systemebene-Design
  3. Logik-Design
    1. Analoges Design, Simulation & Layout
    2. Digitales Design & Simulation
    3. Systemsimulation und -verifizierung
  4. Schaltungsdesign
    1. Digitale Designsynthese
    2. Design für Test und automatische Testmustergenerierung
    3. Design für Herstellbarkeit (IC)
  5. Physikalisches Design
    1. Bodenplanung
    2. Ort und Route
    3. Parasitäre Extraktion
  6. Physische Verifizierung und Freigabe
    1. Statisches Timing
    2. Co-Simulation und Timing
  7. Maskendatenaufbereitung (Layout Post Processing)
    1. Chipfinishing mit Tape out
    2. Absehen-Layout
    3. Layout-zu-Maske-Vorbereitung
  8. Waferherstellung
  9. Verpackung
  10. Würfeltest
    1. Post-Silizium-Validierung und -Integration
    2. Gerätecharakterisierung
    3. Optimieren (wenn nötig)
  11. Chip-Bereitstellung
    1. Datenblatterstellung (von normalerweise einer Portable Document Format (PDF)-Datei)
    2. Aufstocken
    3. Produktion
    4. Ertragsanalyse / Garantieanalyse Zuverlässigkeit (Halbleiter)
    5. Fehleranalyse bei eventuellen Rücksendungen
    6. Planen Sie nach Möglichkeit den Chip der nächsten Generation unter Verwendung von Produktionsinformationen

Grob gesagt lässt sich das digitale IC-Design in drei Teile unterteilen.

  • Elektronisches Design auf Systemebene : In diesem Schritt wird die funktionale Spezifikation des Benutzers erstellt. Der Benutzer kann eine Vielzahl von Sprachen und Werkzeugen verwenden, um diese Beschreibung zu erstellen. Beispiele sind ein C / C++- Modell, SystemC , SystemVerilog Transaction Level Models , Simulink und MATLAB .
  • RTL-Design: Dieser Schritt wandelt die Benutzerspezifikation (was der Benutzer vom Chip wünscht) in eine Beschreibung der Registerübertragungsebene (RTL) um. Die RTL beschreibt das genaue Verhalten der digitalen Schaltungen auf dem Chip sowie die Verschaltungen zu Ein- und Ausgängen.
  • Physisches Design: In diesem Schritt werden die RTL und eine Bibliothek verfügbarer Logikgatter verwendet und ein Chipdesign erstellt. Dazu müssen Sie herausfinden, welche Gates verwendet werden sollen, Orte für sie definieren und sie miteinander verdrahten.

Beachten Sie, dass der zweite Schritt, das RTL-Design, dafür verantwortlich ist, dass der Chip das Richtige tut. Der dritte Schritt, das physische Design, beeinflusst die Funktionalität überhaupt nicht (bei korrekter Ausführung), sondern bestimmt, wie schnell der Chip arbeitet und wie viel er kostet.

Designlebenszyklus

Der Entwicklungsprozess für integrierte Schaltungen (IC) beginnt mit der Definition der Produktanforderungen, geht über die Architekturdefinition, Implementierung, Bereitstellung und schließlich die Produktion. Die verschiedenen Phasen des Entwicklungsprozesses integrierter Schaltungen werden unten beschrieben. Obwohl die Phasen hier auf einfache Weise dargestellt werden, gibt es in Wirklichkeit eine Iteration und diese Schritte können mehrmals auftreten.

Anforderungen

Bevor eine Architektur definiert werden kann, müssen einige übergeordnete Produktziele definiert werden. Die Anforderungen werden in der Regel von einem funktionsübergreifenden Team generiert, das sich mit Marktchancen , Kundenbedürfnissen, Machbarkeit und vielem mehr befasst. Diese Phase sollte zu einem Produktanforderungsdokument führen .

Die Architektur

Die Architektur definiert die grundlegende Struktur, Ziele und Prinzipien des Produkts. Es definiert übergeordnete Konzepte und das intrinsische Wertversprechen des Produkts. Architekturteams berücksichtigen viele Variablen und arbeiten mit vielen Gruppen zusammen. Wer die Architektur erstellt, hat in der Regel viel Erfahrung im Umgang mit Systemen in dem Bereich, für den die Architektur erstellt wird. Das Arbeitsergebnis der Architekturphase ist eine architektonische Spezifikation .

Mikroarchitektur

Die Mikroarchitektur kommt der Hardware einen Schritt näher. Es implementiert die Architektur und definiert spezifische Mechanismen und Strukturen, um diese Implementierung zu erreichen. Das Ergebnis der Mikroarchitekturphase ist eine Mikroarchitekturspezifikation, die die zur Implementierung der Architektur verwendeten Methoden beschreibt.

Implementierung

In der Implementierungsphase wird der Entwurf selbst erstellt, wobei die mikroarchitektonische Spezifikation als Ausgangspunkt verwendet wird. Dies beinhaltet Low-Level- Definition und -Partitionierung, das Schreiben von Code , das Eingeben von Schaltplänen und die Überprüfung. Diese Phase endet mit einem Design, das Tapeout erreicht .

Zur Sprache bringen

Nachdem ein Design erstellt, abgeklebt und hergestellt wurde, wird die eigentliche Hardware, das „erste Silizium“, empfangen, das ins Labor gebracht wird, wo es auf den Markt kommt . Bringup ist der Prozess, das Design im Labor zu betreiben, zu testen und zu charakterisieren. Es werden zahlreiche Tests durchgeführt, angefangen von sehr einfachen Tests, wie z. Das Ergebnis der Bring-Up-Phase ist die Dokumentation von Charakterisierungsdaten (wie gut das Teil gemäß den Spezifikationen funktioniert) und Errata (unerwartetes Verhalten).

Produktion

Productization ist die Aufgabe, ein Design vom Engineering in die Serienfertigung zu überführen. Obwohl ein Design die Spezifikationen des Produkts im Labor während der Einführungsphase möglicherweise erfolgreich erfüllt hat, gibt es viele Herausforderungen, denen sich Produktingenieure gegenübersehen, wenn sie versuchen, diese Designs in Serie zu produzieren. Der IC muss auf Produktionsvolumen mit akzeptabler Ausbeute hochgefahren werden. Das Ziel der Produktionsphase ist es, Massenproduktionsvolumen zu akzeptablen Kosten zu erreichen.

Erhalten

Sobald ein Design ausgereift ist und die Massenproduktion erreicht hat, muss es aufrechterhalten werden. Der Prozess muss kontinuierlich überwacht und Probleme schnell behoben werden, um signifikante Auswirkungen auf das Produktionsvolumen zu vermeiden. Das Ziel der Nachhaltigkeit besteht darin, das Produktionsvolumen aufrechtzuerhalten und die Kosten kontinuierlich zu senken, bis das Produkt das Ende seiner Lebensdauer erreicht .

Designprozess

Mikroarchitektur und Design auf Systemebene

Der anfängliche Chip-Designprozess beginnt mit dem Design auf Systemebene und der Mikroarchitekturplanung. In IC-Designunternehmen erstellen das Management und oft auch die Analytik einen Vorschlag für ein Designteam, um mit dem Design eines neuen Chips zu beginnen, der in ein Industriesegment passt. In dieser Phase treffen sich hochrangige Designer, um zu entscheiden, wie der Chip funktional funktioniert. In diesem Schritt werden die Funktionalität und das Design eines ICs festgelegt. IC-Designer werden die funktionalen Anforderungen, Verifikations-Testbenches und Testmethoden für das gesamte Projekt abbilden und dann den vorläufigen Entwurf in eine Spezifikation auf Systemebene umwandeln, die mit einfachen Modellen unter Verwendung von Sprachen wie C++ und MATLAB und Emulationswerkzeugen simuliert werden kann. Bei reinen und neuen Designs wird in der Systemdesignphase ein Befehlssatz und eine Operation geplant, und in den meisten Chips werden vorhandene Befehlssätze für neuere Funktionalität modifiziert. Design in dieser Phase ist oft Anweisungen wie kodiert in das MP3- Format oder implementiert IEEE-Gleitkomma-Arithmetik . In späteren Phasen des Designprozesses erweitert sich jede dieser unschuldig aussehenden Aussagen auf Hunderte von Seiten Textdokumentation.

RTL-Design

Nach Vereinbarung eines Systemdesigns implementieren RTL-Designer dann die Funktionsmodelle in einer Hardwarebeschreibungssprache wie Verilog , SystemVerilog oder VHDL . Mit digitalen Designkomponenten wie Addierern, Schiebern und Zustandsautomaten sowie Computerarchitekturkonzepten wie Pipelining, superskalarer Ausführung und Verzweigungsvorhersage werden RTL-Designer eine Funktionsbeschreibung in Hardwaremodelle von Komponenten auf dem Chip aufteilen, die zusammenarbeiten. Jede der im Systemdesign beschriebenen einfachen Anweisungen kann leicht zu Tausenden von Zeilen RTL- Code werden, weshalb es äußerst schwierig ist zu überprüfen, ob RTL in allen möglichen Fällen, die der Benutzer darauf werfen kann, das Richtige tut .

Um die Anzahl von Funktionsfehlern zu reduzieren, prüft eine separate Hardware-Verifizierungsgruppe die RTL- und Design-Testbenches und -Systeme, um zu überprüfen, ob die RTL tatsächlich dieselben Schritte unter vielen verschiedenen Bedingungen ausführt, die als Domäne der funktionalen Verifizierung klassifiziert werden . Es werden viele Techniken verwendet, von denen keine perfekt, aber alle nützlich sind – umfangreiche Logiksimulation , formale Methoden , Hardware-Emulation , Lint- ähnliche Codeprüfung, Codeabdeckung und so weiter.

Ein winziger Fehler hier kann den ganzen Chip unbrauchbar machen oder noch schlimmer machen. Der berühmte Pentium-FDIV-Bug führte dazu, dass die Ergebnisse einer Division in sehr seltenen Fällen um höchstens 61 Teile pro Million falsch waren. Niemand bemerkte es, bis der Chip monatelang in Produktion war. Doch Intel war gezwungen, bietet kostenlos zu ersetzen, verkaufte jeder Chip , bis sie den Fehler beheben konnten, zu einem Preis von $ 475 Millionen (US).

Physisches Design

Physische Konstruktionsschritte im digitalen Konstruktionsablauf

RTL ist nur ein Verhaltensmodell der tatsächlichen Funktionalität dessen, unter dem der Chip arbeiten soll. Es hat keine Verbindung zu einem physikalischen Aspekt, wie der Chip im wirklichen Leben auf der Seite der Materialien, Physik und Elektrotechnik funktionieren würde. Aus diesem Grund besteht der nächste Schritt im IC-Designprozess, die physische Designphase , darin, die RTL in tatsächliche geometrische Darstellungen aller elektronischen Geräte wie Kondensatoren, Widerstände, Logikgatter und Transistoren abzubilden, die auf dem Chip verwendet werden.

Die wichtigsten Schritte des physischen Designs sind unten aufgeführt. In der Praxis gibt es keinen einfachen Fortschritt – es sind beträchtliche Iterationen erforderlich, um sicherzustellen, dass alle Ziele gleichzeitig erreicht werden. Dies ist an sich ein schwieriges Problem, das als Designverschluss bezeichnet wird .

Analoges Design

Vor dem Aufkommen der mikroprozessor- und softwarebasierten Designtools wurden analoge ICs mithilfe von Handberechnungen und Prozess-Kit-Teilen entworfen. Diese ICs waren Schaltungen geringer Komplexität, zum Beispiel Operationsverstärker , die normalerweise nicht mehr als zehn Transistoren und wenige Verbindungen umfassten. Ein iterativer Trial-and-Error-Prozess und ein "Overengineering" der Gerätegröße waren oft notwendig, um einen herstellbaren IC zu erhalten. Die Wiederverwendung bewährter Designs ermöglichte es, auf Vorkenntnissen zunehmend kompliziertere ICs aufzubauen. Als in den 1970er Jahren eine kostengünstige Computerverarbeitung verfügbar wurde, wurden Computerprogramme geschrieben, um Schaltungsdesigns mit größerer Genauigkeit zu simulieren, als dies durch Handberechnung möglich war. Der erste Schaltungssimulator für analoge ICs hieß SPICE (Simulation Program with Integrated Circuits Emphasis). Computergestützte Schaltungssimulationstools ermöglichen eine größere Komplexität des IC-Designs, als es mit Handberechnungen möglich ist, was das Design von analogen ASICs praktisch macht.

Da beim analogen Design viele funktionale Einschränkungen berücksichtigt werden müssen, ist manuelles Design auch heute noch weit verbreitet. Infolgedessen zeichnen sich moderne Designflows für analoge Schaltungen durch zwei unterschiedliche Designstile aus – Top-Down und Bottom-Up. Der Top-Down-Designstil verwendet optimierungsbasierte Tools, die den herkömmlichen digitalen Abläufen ähneln. Bottom-up-Verfahren verwenden „Expertenwissen“ mit dem Ergebnis zuvor konzipierter und in einer Verfahrensbeschreibung festgehaltener Lösungen, die eine Expertenentscheidung imitieren. Ein Beispiel sind Zellgeneratoren wie PCells .

Mit Variabilität umgehen

Eine der kritischsten Herausforderungen beim Design analoger ICs besteht in der Variabilität der einzelnen Bauelemente, die auf dem Halbleiterchip aufgebaut sind. Im Gegensatz zum Schaltungsdesign auf Leiterplattenebene, das es dem Designer ermöglicht, Geräte auszuwählen, die jeweils getestet und nach Werten in Klassen eingeteilt wurden, können die Gerätewerte auf einem IC stark variieren, was vom Designer nicht kontrollierbar ist. Einige IC-Widerstände können beispielsweise um ±20 % schwanken und β eines integrierten BJT kann von 20 bis 100 variieren. In den neuesten CMOS-Prozessen kann β von vertikalen PNP-Transistoren sogar unter 1 sinken variieren oft zwischen jedem bearbeiteten Halbleiterwafer. Geräteeigenschaften können sogar deutlich über jeden einzelnen IC variieren aufgrund Dotieren Gradienten . Die zugrunde liegende Ursache dieser Variabilität ist, dass viele Halbleiterbauelemente gegenüber unkontrollierbaren Zufallsvarianzen im Prozess hochempfindlich sind. Geringfügige Änderungen der Diffusionszeit, ungleichmäßige Dotierungsniveaus usw. können große Auswirkungen auf die Geräteeigenschaften haben.

Einige Designtechniken, die verwendet werden, um die Auswirkungen der Gerätevariation zu reduzieren, sind:

  • Verwenden Sie die Verhältnisse der Widerstände, die gut übereinstimmen, anstatt des absoluten Widerstandswerts.
  • Verwenden von Geräten mit abgestimmten geometrischen Formen, damit sie abgestimmte Variationen haben.
  • Geräte so groß zu machen, dass statistische Schwankungen zu einem unbedeutenden Bruchteil der gesamten Geräteeigenschaft werden.
  • Segmentieren großer Geräte, wie z. B. Widerstände, in Teile und Verweben dieser, um Variationen auszugleichen.
  • Verwendung eines gemeinsamen Schwerpunkt- Gerätelayouts, um Variationen in Geräten zu beseitigen, die eng übereinstimmen müssen (wie das Transistor-Differenzpaar eines Operationsverstärkers ).

Anbieter

Die drei größten Unternehmen, die Tools zur Automatisierung des elektronischen Designs verkaufen, sind Synopsys , Cadence und Mentor Graphics .

Siehe auch

Verweise

Weiterlesen

Externe Links