TP 2, Generierung und Berücksichtigung von

Werbung
Leonidas
TP 2, Generierung und Berücksichtigung von
verdrahtungsbezogenen Constraints in
Layoutwerkzeugen
• Verkleinerung der Abmessungen in modernen Deep
Submicron Technologien ⇒ Einfluß der
Verbindungs-Parasiten steigt
• Verbindungs-Parasiten dominieren Device-Parasiten
• Vernachlässigung der Verbindungsparasiten ⇒
Redesign!
• Redesigns sind teuer (Zeit + Geld)
• Verbesserung Time-To-Market: Redesigns
vermeiden!
Wie können Redesigns vermieden werden?
• Definition von verdrahtungsbezogenen Constraints in
Layout Tools
• Effiziente und allgemeingültige Speicherung der Constraints
• Frühzeitige Berücksichtung der Constraints im Flow
• Entwicklung von Layout Tools zur Erfüllung Constraints
Parasitensymmetrsiche Verdrahtung
Stromgeführte Verdrahtung und Layout-Dekompaktierung
zur Vermeidung von elektromigrationsbedingten Fehlerausfällen
Vorausschauende Stromgeführte Verdrahtung
Vorgehensweise parasitensym. Netzbündel-Verdrahter
Stromgeführte Layout-Dekompaktierung
• Die Stromdichte ist der wichtigste Designparameter für die
Verdrahtung.
• Die Verdrahtungsplanung muss den zyklischen Designkonflikt: Kenntnis der kompletten Netztopologie bei
gleichzeitiger Kenntnis aller Netzsegmentströme“ geeignet
auflösen können.
• Optimierungsziel: Minimierung der benötigten
Verdrahtungsfläche.
Stromgeführte Verdrahtungsplanung
• Die Anpassung der stromdichte-korrekten
Leitbahnquerschnitte erfolgt nach der Verdrahtung.
• Die Netztopologie ist bekannt, daher können alle
Netzsegmentströme sofort bestimmt werden:
→ Vorteil: kein zyklischer Designkonflikt!
• Hauptsächliche Anwendung bei der automatischen
Reparatur von kleineren und mittleren
Schaltungsblöcken.
= Terminal
T2a
=
=
T1b T2b
-45°
0°
Generatoraufruf: BUS N=3 LENGTH=4e-5 WIDTH=5e-6 LAYER=2
BEVELSTART=45 BEVELEND=0
Layout Dekompaktier ung
Anwendungsbeispiel
Stromdichteprob leme
in Leiterbahnen und
Vias
a) Zu verdrahtende Terminals
T- und L-Struktur der Dreiecksmethodik
= VT
T1a
Handlayout für eine Differenzleitung
n Problem:
Beim Schaltungs- und Layout-Entwurf sind Nebenbedingungen (Constraints)
– oft nicht formalisiertes Erfahrungswissen
von Designern und Layoutern
Implementierung eines Constraint-Typs
Beispiel: Matching von Transistoren
Matching-Constraints:
L2 = L1
W2 = W1
è Fehlende durchgängige Verwaltung von Constraint-Informationen
Vorteile von zentralem Constraint Management:
Tupel (t,E,Q) = {
Problemstellung und Designflow
•Für heutige, schnell getaktete Analog Blöcke bei
gleichzeitiger Reduzierung der Versorgungsspannung wird
der dynamische IR-drop immer wichtiger
•Die hier entwickelte Lösung berücksichtigt die parasitären
Widerstände und Kapazitäten auf den Versorgungsleitungen
•Als Eingabe werden benötigt: ideale CDL-Netzliste, GDS,
Stimuli für die Schaltung
•Das Ergebnis ist eine IR-drop Karte, die die schlimmsten IRdrop Abfälle im Simulationszeitraum t kartiert, eine em Karte,
die Stellen markiert in denen die Stromdichte verletzt wird,
und Stromverläufe an den Devices
Darstellung als Tupel
Type:
Elements:
Qualifier:
Matching
instances, Min. Anz.: 2
equation system (mandatory)
}
<Type>
xml-Format
<Name>Matching</Name>
<ElementType type="instance"/>
<ElementLength min="2"/>
<ParamDeclaration>
<ParamName>Matching_Conditions</ParamName>
<ParamType type="equationsystem"></ParamType>
<ParamFlag flag="mandatory"/>
</ParamDeclaration>
</Type>
n Erfassung von nicht formalisiertem Erfahrungswissen
n Überblick über alle Constraints durch zentrale Speicherung
n keine wiederholte Eingabe der Constraints für verschiedene Tools
n leicht automatisch generierbare Schaltungs-Dokumentation
PARSY -Layout
Zusammenfassung
• Problemstellung: Analoge Schaltungen werden immer stärker vom Spannungsabfall auf den Versorgungsleitungen,
der durch parasitäre Widerstände und Kapazitäten verursacht wird, beeinflusst
•Es gibt bisher auf dem Markt kein kommerzielles Tool, was dieses Problem löst, deswegen war eine
Codeentwicklung zusammen mit einem EDA-Vendor erforderlich
•Anforderungen: Blöcke mit bis zu 100000 Transistoren, Unterstützung aller internen analogen Bauteile, bei
Extraktion und Simulation Berücksichtigung der Versorgungsleitungen
•Ergebnis ist eine integrierte SW Lösung, mehrere Testcases wurden durch den Flow getragen, die SW Lösung wird
in den internen Designflow integriert
Warum Constraint Management?
– meist nicht wiederverwendbar für Neuentwürfe (Redesigns),
da nicht systematisch erfasst und verwaltet.
differentielle Kopplungen werden während der
Verdrahtung berücksichtigt, Leitungen werden
„kopplungsgünstig“ verlegt
• Virtuelle Terminals werden erstellt und vereinfachen den
Verdrahtungsvorgang durch Aufteilung in Teilprobleme
• Modulgeneratoren verstecken die Technologieabhängigkeiten
vor dem Router
• Modulgeneratoren durch neuartiges Trapezkonzept
vereinfacht
Volla uto ma tisch
korrigie rte s Layout
b) Stromdichtegerechtes Ergebnis
– falls formalisiert, für verschiedene EDA-Tools
mehrmals in tool-spezifischen Formaten einzugeben
Ergebnisse
• Kapazitive,
n Wiederverwendung von Constraints bei Migration und Reuse
(MATCHING,{M1,M2},{$1.l=$2.l,$1.w =$2.l})
GDS
Zentrales Constraint Management
Calibre LVS
Calibre CCI
Star-RCXT
parasitic
extraction
Parasitic
DSPF
netlist
Ideal
Netlist
Input
Vectors
zentral für
alle Tools!
Abb. 3: IR-drop Karte für das Beispiel aus Abb. 2.
Spannungsversorgung unten links, schlimmster Spannungsabfall
oben rechts
FastMOS
simulation with
power rails
(nanosim
mode=5)
Astro Rail
Transistor Level
Transient
Analysis Engine
SNPS
Railtool
GUI
Current Waveform
Abb. 1: Designflow für die Analyse des dynamischen IR-drops
Beispiel:
Tool 1
Tool 2
Abb. 4: Stromverlauf für an Device für das Beispiel aus Abb. 2
Tool 3
:
Datenbasis
Tool n
Abb. 2: Beispiel Layout mit 50 FF zur Demonstration des
Flows, Versorgungsleitung seitlich von unten nach oben
Schnittstelle
Multi Clock ScanChain Insertion
Multi Clock ScanChain Insertion
SI
SI
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
Clk_1
Clk_1
Clk_2
Clk_2
Kettenaufbau
Kettenaufbau
Skew Problem
Skew Problem
0 ??
0 ??
0
1
0
SI
Datenverlust
Datenverlust
1
FF1
FF1
FF3
FF3
FF2
FF2
FF4
FF4
SO
SO
SI
SI
SI
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
Cluster 2
Cluster 2
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SFF
SO
SO
Cluster 1
Cluster 1
Clk_1
Clk_1
Clk_1
Clk_1
Clk_2
Clk_2
Durch die Laufzeitunterschiede zwischen Clock1 und 2 werden hier die
Durch
Laufzeitunterschiede
zwischen bevor
Clock1FF3
undden
2 werden
hier die
Daten
andie
FF1
und FF2 bereits geschoben,
bisherigen
Daten
an
FF1
und
FF2
bereits
geschoben,
bevor
FF3
den
bisherigen
Wert übernehmen konnte. Zum “Receive” Zeitpunkt an FF3 ( Clock2
Wert
konnte.
Zum “Receive” Zeitpunkt an FF3 ( Clock2
liegt
an)übernehmen
ist die “0” bereits
überschrieben.
liegt an) ist die “0” bereits überschrieben.
Clk_2
Clk_2
Lösungen für Skew Problem
Lösungen für Skew Problem
Anti Skew Element einbauen
Anti Skew Element einbauen
SI
SI
1
0
FF
1
FF
FF
0
0
FF
FF
FF
FF
FF
SO
SO
Clk_1
Clk_1
SI
0
SI
SI
1
0 FF
Clk_2
Clk_2
Clocking Order
Clocking Order
0
1
FF
FF
0
FF
FF
FF
FF
FF
SO
SO
Clk_2
Clk_2
Clk_1
Clk_1
SO
SO
Einbau AntiSkew
Einbau AntiSkew
FF
FF
SFF
SFF
Multi Clock ScanChain Insertion Randbedingungen
Multi
Clock ScanChain Insertion Randbedingungen
und
Constraints
und Constraints
• Netzliste vorhanden, aber
• Netzliste vorhanden, aber
– Keine Angaben zu Timing!
– Keine Angaben zu Timing!
– Noch kein Layout vorhanden!
– Noch kein Layout vorhanden!
•
•
Constraints
Constraints
– Funktionale Abhängigkeiten beachten
– Funktionale Abhängigkeiten beachten
• Z.B. vorhandene Schieberegister
• Z.B. vorhandene Schieberegister
• Clusterreihenfolgen
• Clusterreihenfolgen
– Scan Chain Balancing
– Scan Chain Balancing
• Neue Parameter für Optimierungsproblerm
• Neue Parameter für Optimierungsproblerm
– Verarbeitung flacher und hierarchischer
– Netzlisten
Verarbeitung flacher und hierarchischer
Netzlisten
– Handling von Multi-Million-Gate Schaltungen
– Handling von Multi-Million-Gate Schaltungen
Ergebnisse
Ergebnisse
• Spezifikation der Software umgesetzt
• Spezifikation der Software umgesetzt
– Multi Clock Domain ScanChain Creation (d.h., die Elemente der
– Kette
Multikönnen
Clock Domain
ScanChain
Creation
(d.h.,
die Elemente der
unterschiedliche
Clocks
haben)
möglich
Kette können unterschiedliche Clocks haben) möglich
– Multi Skew Domain ScanChain Creation (d.h., ScanChain
– Elemente
Multi Skew
Domain
(d.h.,
ScanChain
haben
zwar ScanChain
die gleiche Creation
Clock, aber
verschiedene
Elemente
haben
zwar
die
gleiche
Clock,
aber
verschiedene
ClockGates in diesem Tree, oder gehören zu verschiedenen
ClockGates
diesem
Tree, oder gehören zu verschiedenen
Branches
des in
Trees.)
möglich
Branches des Trees.) möglich
Clk_2
Clk_2
Clk_1
Clk_1
Clk_2
Clk_2
Cluster 3
Cluster 3
Clk_1
Clk_1
Clk_2
Clk_2
Clk_1
Clk_1
SFF
SFF
Clk_3
Clk_3
SI
0
Clusterbildung
Clusterbildung
Ergebnis
•Toolentwicklung inklusive der Weiterentwicklung
des FastMOS Simulators nanosim
•Testen des Flows mit verschiedenen Testcases
•Integration des Tools in den internen Designflow
•Produktive Pilotbenutzung bei internen
Entwicklungsprojekten
•Tool bildet die Basis für die Projektfortführung in
Leo+
SFF
SFF
SO
SO
Clk_3
Clk_3
AntiSkew FF (½ Takt Verschiebung)
AntiSkew FF (½ Takt Verschiebung)
– Skew safe ScanChains durch automatisierten Einbau von
– AntiSkewFF
Skew safe in
ScanChains
durch automatisierten Einbau von
die Netzliste
AntiSkewFF in die Netzliste
– Skew safe ScanChains durch user-defined AntiSkewFF
– Skew safe ScanChains durch user-defined AntiSkewFF
– Skew safe ScanChains durch Berücksichtigung einer
– Taktreihenfolge
Skew safe ScanChains
einer
(Clockingdurch
Order)Berücksichtigung
beim Prüfkettenzusammenbau
Taktreihenfolge (Clocking Order) beim Prüfkettenzusammenbau
Herunterladen