Physikalisches Design (Elektronik)

Im Integriertes Schaltungsdesign, physisches Design ist ein Schritt im Standard -Entwurfszyklus, der nach dem folgt Schaltungsdesign. In diesem Schritt werden Schaltungsdarstellungen der Komponenten (Geräte und Verbindungen) des Entwurfs in geometrische Darstellungen von Formen umgewandelt, die bei der Herstellung in den entsprechenden Materialien die erforderliche Funktionen der Komponenten gewährleisten. Diese geometrische Darstellung heißt Integriertes Schaltungslayout. Dieser Schritt wird normalerweise in mehrere Unterschritte aufgeteilt, darunter Design und Überprüfung und Validierung des Layouts.[1][2]

Moderne Integrierter Schaltkreis (IC) Design ist aufgeteilt in Front-End-Design Verwenden HDLs und Back-End-Design oder Physisches Design. Die Eingaben zum physischen Design sind (i) eine Netzliste, (ii) Bibliotheksinformationen zu den grundlegenden Geräten im Design und (iii) eine technologische Datei, die die Herstellungsbeschränkungen enthält. Das physische Design wird normalerweise von abgeschlossen von Layout nach der Verarbeitung, in welchen Änderungen und Ergänzungen des Chip -Layouts durchgeführt werden.[3] Es folgt die Herstellung oder Herstellungsverfahren wo Designs auf Siliziumstirme übertragen werden, die dann in ICS verpackt werden.

Jedes der oben genannten Phasen verfügt über Designströme, die mit ihnen verbunden sind. Diese Konstruktionsströme legen den Prozess und die Führungslinien/das Rahmen für diese Phase fest. Der physische Designfluss verwendet die Technologiebibliotheken, die von den Fabricationshäusern bereitgestellt werden. Diese Technologiedateien enthalten Informationen zu den Art des verwendeten Siliziumwafers, den verwendeten Standardzellen, den Layoutregeln (wie Drc in VLSI) usw.

Physikalische Designschritte innerhalb des IC -Designflusses

Abteilungen

Normalerweise wird das iC -physikalische Design in kategorisiert Voller Brauch und Semi-Bustom-Design.

  • Vollkunden: Designer hat die volle Flexibilität beim Layoutdesign, es werden keine vordefinierten Zellen verwendet.
  • Halbkunden: Vorentwickelte Bibliothekszellen (vorzugsweise getestet mit DFM) werden verwendet, Designer hat Flexibilität bei der Platzierung der Zellen und der Routing.[4]

Man kann gebrauchen Asic für volles benutzerdefiniertes Design und FPGA Für Semi-Kürze-Designflüsse. Der Grund dafür ist, dass man die Flexibilität hat, Entwurfsblöcke aus dem Anbieter zur Verfügung gestellten Bibliotheken in ASIC zu entwerfen/zu ändern.[5] Diese Flexibilität fehlt bei Halbkundenströmen unter Verwendung von FPGAs (z. Altera).

ASIC Physical Design Flow

Eine typische Asic Back-End-Fluss

Die Hauptschritte in der Asic Physischer Designfluss sind:

  • Design -Netzliste (nach der Synthese)
  • Bodenplanung
  • Partitionierung
  • Platzierung
  • Clock-Tree-Synthese (CTS)
  • Routing
  • Physische Überprüfung
  • Layout -Post -Verarbeitung mit Maskendatenerzeugung

Diese Schritte sind nur die Grundlagen. In Abhängigkeit von den verwendeten Tools und der Methodik/Technologie werden detaillierte PD -Strömungen verwendet. Einige der im Back-End-Design verwendeten Tools/Software sind:

  • Cadence (Cadence Encounter RTL Compiler, Begegnung mit digitaler Implementierung, Cadence Voltus IC Power Integrity -Lösung, Cadence Tempus Timing Signoff -Lösung)
  • Synopsys (Design Compiler, IC Compiler II, IC -Validator, Primetime, PrimPower, Primerail)
  • Magma (Blastfusion usw.)
  • Mentorgrafik (Olympus Soc, IC-Station, Kaliber)

Der ASIC Physical Design Flow verwendet die Technologiebibliotheken, die von den Herstellungshäusern bereitgestellt werden. Technologien werden üblicherweise nach minimaler Merkmalsgröße klassifiziert. Standardgrößen in der Reihenfolge der Miniaturisierung sind 2μm, 1 μm, 0,5 & mgr; m, 0,35 μm, 0,25 μm, 180nm, 130 nm, 90 nm, 65 nm, 45 nm, 28 nm, 22 nm, 18 nm, 14 nm usw. Sie können auch nach wichtigen Herstellungsansätzen klassifiziert werden: n-Well-Prozess, Twin-Well-Prozess, Soi Prozess usw.

Design -Netzliste

Das physische Design basiert auf einer Netzliste, die das Endergebnis des Syntheseprozesses ist. Die Synthese konvertiert das RTL-Design, das normalerweise in VHDL- oder Verilog-HDL-Beschreibungen auf Gate-Ebene codiert ist, die der nächste Satz von Tools lesen/verstehen kann. Diese Netzliste enthält Informationen zu den verwendeten Zellen, deren Zusammenhänge, verwendeten Bereich und anderen Details. Typische Synthesewerkzeuge sind:

  • Cadence RTL Compiler/Build -Gates/physikalisch sachkundige Synthese (PKS)
  • Synopsys Design Compiler

Während des Syntheseprozesses werden Einschränkungen angewendet, um sicherzustellen, dass das Design die erforderliche Funktionalität und Geschwindigkeit (Spezifikationen) entspricht. Erst nachdem die Netzliste auf Funktionen und das Timing überprüft wurde, wird sie für den physischen Entwurfsfluss gesendet.

Schritte

Bodenplanung

Der zweite Schritt im physischen Designfluss ist Bodenplanung. Grundlagen können Strukturen identifizieren, die nahe beieinander liegen und Platz für sie so zuweisen, dass sie die manchmal widersprüchlichen Ziele des verfügbaren Raums (Kosten des Chips), die erforderliche Leistung und den Wunsch, alles in der Nähe zu haben, erreicht werden zu allem anderen.

Basierend auf dem Gebiet des Designs und der Hierarchie wird ein geeigneter Grundriss entschieden. Die Bodenplanung berücksichtigt die Makros, die im Design, Speicher, andere IP -Kerne und deren Platzierungsanforderungen, die Routing -Möglichkeiten und auch den Bereich des gesamten Designs verwendet werden. Grundlagen bestimmt auch die IO -Struktur und das Seitenverhältnis des Designs. Ein schlechter Grundriss führt zu einer Verschwendung des Gebiets und zur Routing -Überlastung.

In vielen Entwurfsmethoden,, Bereich und Geschwindigkeit sind Untertanen von Kompromisse. Dies ist auf begrenzte Routing -Ressourcen zurückzuführen, da die mehr Ressourcen der Betrieb langsamer sind. Die Optimierung des Mindestbereichs ermöglicht es dem Design, sowohl weniger Ressourcen als auch für eine größere Nähe der Abschnitte des Designs zu verwenden. Dies führt zu kürzeren Verbindungsentfernungen, weniger Routing-Ressourcen, schnelleren End-to-End-Signalpfaden sowie sogar schneller und konsistenterer Ort- und Routenzeiten. Richtig gemacht, gibt es keine Negative für Bodenplanung.

In der Regel profitieren Datenpfadabschnitte am meisten von der Grundlagen, während zufällige Logik, Zustandsmaschinen und andere nicht strukturierte Logik dem Placer-Abschnitt der Ort und der Routensoftware sicher überlassen werden können.

Datenpfade sind typischerweise die Bereiche des Designs, in denen mehrere Bits parallel verarbeitet werden, wobei jedes Bit mit möglicherweiseem Einfluss von benachbarten Bits auf die gleiche Weise geändert wird. Beispielstrukturen, die Datenpfade bestehen, sind Addierer, Subtrahierer, Zähler, Register und Muxen.

Partitionierung

Durch die Partitionierung wird der Chip in kleine Blöcke unterteilt. Dies geschieht hauptsächlich, um verschiedene Funktionsblöcke zu trennen und auch die Platzierung und Routing zu vereinfachen. Die Partitionierung kann in der RTL-Entwurfsphase durchgeführt werden, wenn der Design das gesamte Design in Unterblockierungen aufteilt und anschließend jedes Modul entwirft. Diese Module werden im Hauptmodul mit dem Namen Top -Level -Modul miteinander verknüpft. Diese Art der Partitionierung wird allgemein als logische Partitionierung bezeichnet. Das Ziel der Partitionierung ist es, die Schaltung so aufzuteilen, dass die Anzahl der Verbindungen zwischen Partitionen minimiert wird.

Platzierung

Vor Beginn der Platzierungsoptimierung werden alle Drahtlastmodelle (WLM) entfernt. Die Platzierung verwendet RC -Werte aus der virtuellen Route (VR), um das Timing zu berechnen. VR ist der kürzeste Abstand von Manhattan zwischen zwei Stiften. VR -RCs sind genauer als WLM -RCs.

Die Platzierung erfolgt in vier Optimierungsphasen:

  1. Vorlag-Optimierung
  2. In der Platzierungsoptimierung
  3. Post -Placement -Optimierung (PPO) vor der Taktbaumsynthese (CTS)
  4. PPO nach CTS.
  • Die Optimierung der Vorlagenoptimierung optimiert die Netzliste vor der Platzierung, HFNs (High Fanout Nets) werden zusammengebrochen. Es kann auch die Zellen verkleinern.
  • In-Placement-Optimierung optimiert die Logik basierend auf VR. Dies kann Zellgrößen, Zellbewegung, Zellbypadung, Nettoaufspaltung, Gate -Duplikation, Pufferinsertion und Flächenwiederherstellung durchführen. Die Optimierung führt die Iteration von Setup -Fixierungen, inkrementellem Timing und staus angetriebener Platzierung durch.
  • Post -Placement -Optimierung, bevor CTS die NetList -Optimierung mit idealen Uhren durchführt. Es kann Setup, Halten, maxe Trans/Cap -Verstöße reparieren. Es kann die Platzierungsoptimierung basierend auf dem globalen Routing durchführen. Es macht die HFN -Synthese.
  • Optimierung nach der Platzierung nach CTS optimiert das Timing mit propagierter Uhr. Es versucht, die Uhr verzerrt zu erhalten.

Taktbaumsynthese

Ideale Uhr vor CTS

Das Ziel von Taktbaumsynthese (CTS) ist die minimierte Verpackung und Einfügungsverzögerung. Die Uhr wird nicht vor CTS wie im Bild gezeigt ausbreitet. Nachdem CTS Hold Slack sich verbessern sollte. Der Taktbaum beginnt bei .SDC -definierten Uhrenquelle und endet an Stoppstiften des Flops. Es gibt zwei Arten von Stoppnadeln, die als Ignorierstifte und Synchronisierungsstifte bekannt sind. "Nicht berühren" Schaltungen und Stifte vor dem Ende (Logiksynthese) werden als "Ignorieren" -Kreisläufe oder Stifte am hinteren Ende (physikalische Synthese) behandelt. Die Stifte "Ignorieren" werden für die Timing -Analyse ignoriert. Wenn die Uhr geteilt ist, ist eine separate SCEW -Analyse erforderlich.

  • Global Skew erreicht Null -Sib zwischen zwei synchronen Stiften, ohne die logische Beziehung zu berücksichtigen.
  • Lokale Schräge erreicht Null -Schräg zwischen zwei synchronen Stiften, während er eine logische Beziehung berücksichtigt.
  • Wenn die Uhr absichtlich verzerrt ist, um das Setup -Slack zu verbessern, wird sie als nützlicher Verschleierung bezeichnet.

Starrheit ist der in Astro geprägte Begriff, um die Entspannung von Einschränkungen anzuzeigen. Höher ist die Steifigkeit enger die Einschränkungen.

Uhr nach CTS

Im Taktbaumoptimierung (Cto) Uhr kann abgeschirmt werden, damit das Geräusch nicht an andere Signale gekoppelt ist. Die Abschirmung erhöht jedoch die Fläche um 12 bis 15%. Da das Taktsignal global in der Natur ist, wird auch für die Uhr die gleiche Metallschicht verwendet, die für die Stromversorgung verwendet wird. CTO wird durch Puffergrößen, Gate -Größen, Pufferverschiebung, Pegelanpassung und HFN -Synthese erreicht. Wir versuchen, die Setup-Slack in der Vorlage zu verbessern, in der Platzierung und nach der Platzierung vor dem CTS-Stufen zu platzieren und gleichzeitig die Hold Lack zu vernachlässigen. Bei der Optimierung nach der Platzierung nach dem CTS -Halten wird Slack verbessert. Infolge von CTS werden viele Puffer hinzugefügt. Im Allgemeinen werden 100.000 Tore um 650 Puffer hinzugefügt.

Routing

Es gibt zwei Arten von Routing Im physischen Designprozess, globales Routing und detailliertes Routing. Global Routing weist Routing -Ressourcen zu, die für Verbindungen verwendet werden. Es verfolgt auch die Zuordnung für ein bestimmtes Netz.

Das detaillierte Routing führt die tatsächlichen Verbindungen aus. Unterschiedliche Einschränkungen, die während des Routings gepflegt werden sollen, sind DRC, Drahtlänge, Timing usw.

Physische Überprüfung

Die physische Überprüfung überprüft die Richtigkeit des generierten Layoutdesigns. Dies beinhaltet die Überprüfung des Layouts

  • Entspricht allen technologischen Anforderungen - Konstruktionsregelprüfung (DRC)
  • Stimmt mit der ursprünglichen NetList - Layout vs. Schematisch (LVS) überein.
  • Hat keine Antenneneffekte - Antennenregelprüfung
  • Dies beinhaltet auch die Dichteüberprüfung auf der gesamten Chip -Ebene ... die Reinigungsdichte ist ein sehr kritischer Schritt in den unteren Technologieknoten
  • Entspricht allen elektrischen Anforderungen - Elektro -Regelprüfung (ERC).[6]

Layout nach der Verarbeitung

Layout -Post -Verarbeitung, auch bekannt Datenvorbereitung maskieren, oft schließt das physische Design und die physische Überprüfung. Es konvertiert die physisches Layout (Polygone) in Maskendaten (Anweisungen für die Fotomaske Schriftsteller). Es enthält[3]

  • CHIP -Finishing, wie das Einsetzen von Unternehmens-/Chip -Etiketten und endgültigen Strukturen (z. B. Dichtungsring, Füllstrukturen),
  • Erzeugen eines Abplementslayouts mit Testmustern und Ausrichtungsmarken,
  • Layout-zu-Masken-Vorbereitung, die Layoutdaten mit Grafikoperationen erweitert (z. B.,,,,, Auflösungsverbesserungstechnologien, Ret) und passt die Daten an die Maskenproduktionsgeräte (Photomask Writer) an.

Siehe auch

Verweise

  1. ^ N. Sherwani, "Algorithmen für VLSI Physical Design Automation", Kluwer (1998), ISBN9780792383932
  2. ^ A. Kahng, J. Lienig, I. Markov, J. Hu: "VLSI Physikalisches Design: Von der Grafikverteilung bis zum Timing -Verschluss", Springer (2011), doi:10.1007/978-90-481-9591-6, ISBN978-90-481-9590-9, p. 7.
  3. ^ a b J. Lienig, J. Scheible (2020). "Kap. 3.3: Daten maskieren: Layout nach der Verarbeitung". Grundlagen des Layoutdesigns für elektronische Schaltkreise. Springer. p. 102-110. doi:10.1007/978-3-030-39284-0. ISBN 978-3-030-39284-0. S2CID 215840278.
  4. ^ Semi-Kunden-Designfluss
  5. ^ Mehrotra, Alok; Van Ginneken, Lukas P p P P; Trivedi, Yatin. "Designfluss und Methodik für 50m Gate Asic", IEEE Conference Publications, ISBN0-7803-7659-5
  6. ^ A. Kahng, J. Lienig, I. Markov, J. Hu: "VLSI Physikalisches Design: Von der Grafikverteilung bis zum Timing -Verschluss", Springer (2011), doi:10.1007/978-90-481-9591-6, ISBN978-90-481-9590-9, p. 27.