|
|
|
HINWEIS Dieses Kapitel erläutert die Handhabung der Programm-Module Chipeditor (IC-Maskeneditor), Cellplacer und Cellrouter für den physikalischen Entwurf integrierter Schaltungen (ICs) und ASICs. Darüberhinaus werden die Module GDS-View und CIF-View zum Importieren und Prüfen von Zellenbibliotheken und IC-Maskendaten in den Formaten GDS und CIF vorgestellt. In diesem Kapitel können wir leider keine realen Designbeispiele zeigen, da sowohl die Parameter für den IC-Fertigungsprozess als auch die Zellenbibliotheken vom IC-Hersteller bereitgestellt werden. Ihr IC-Hersteller wird Ihnen diese Daten sicherlich kostenfrei in einem zur Übernahme in den Bartels AutoEngineer geeigneten Format (z.B. GDS) zur Verfügung stellen, aber die Veröffentlichung derartiger Daten verbietet sich in allen uns bekannten Fällen aufgrund von NDAs ("Non Disclosure Agreements"). Inhalt
5.1 Allgemeine HinweiseBartels AutoEngineer IC Design besteht im Wesentlichen aus einem grafisch-interaktiven Chipeditor (IC-Maskeneditor) mit integriertem Zellen- bzw. Makrosymboleditor und Entwurfsregelprüfroutinen (DRC), dem Cellplacer zur automatischen Platzierung von Standardzellen und dem Cellrouter zur automatischen Entflechtung des IC-Layouts. Außerdem sind in der Software die Zusatzmodule GDS-View und CIF-View zum Importieren bzw. Prüfen von Zellenbibliotheken und IC-Maskendaten in den Formaten GDS und CIF enthalten. 5.1.1 Komponenten und LeistungsmerkmaleChipeditorDie Fließpunktarithmetik des grafischen Chipeditors ermöglicht, Daten metrisch (mm, µm) oder in Zollwerten (Inch, mil) frei zu definieren, dadurch jede erdenkliche Form für Anschlußflächen zu generieren und diese frei zu positionieren (z.B. Drehungen um einen bestimmten, auf acht Stellen hinter dem Komma vorgegebenen Winkel). Pinflächen, Zellen und geometrische Gebilde werden also nicht nur annäherungsweise dimensioniert bzw. platziert, sondern sitzen in der exakt vorgegebenen Größe exakt da, wo sie hingehören. Kreise sind auch auf dem Bildschirm echte Kreise und keine elliptischen Gebilde. Der Online-Check ermittelt rasterunabhängig auf acht Stellen hinter dem Komma die genauen Abstandswerte. Mit der gleichen Genauigkeit werden Abstandsverletzungen registriert und umgehend auf dem Bildschirm angezeigt. So können Fehlerquellen sofort erkannt und eliminiert werden, nachträgliche, komplizierte Korrekturen entfallen. Der Online-Check arbeitet inkremental und daher mit extrem hoher Geschwindigkeit (d.h. in Echtzeit!). Die zwanzigstufige -Funktion gewärleistet nicht nur Datensicherheit sondern ermöglicht auch, Alternativen parallel durchzuspielen. Beliebige Teile des Chips können - zu Gruppen zusammengefasst - bewegt, gedreht, gespiegelt, kopiert und archiviert werden. Gleiches gilt für Leiterbahnstrukturen ohne Zellen. Das spart, beispielsweise beim Erstellen spezieller Makrostrukturen, eine Menge Zeit. Das schnelle interaktive Platzieren von Zellen unter ständiger Aktualisierung der Verbindungen garantiert eine optimale Ausnutzung der Chipfläche. Während die Zelle auf dem Bildschirm bewegt wird, aktualisieren sich die Verbindungen ohne Zeitverlust dynamisch zum nächst gelegenen Anschlusspunkt. Alle Zellen lassen sich skalieren, spiegeln und um jeden beliebigen Winkel drehen. Es können beliebige Koordinaten für die Zellenplatzierung spezifiziert werden und auch Polarkoordinaten für die Platzierung von Zellen auf einem Kreisbogen sind möglich. Ein komfortabler Automatismus ergibt sich aus der Möglichkeit, Defaultwerte für die Drehung (in 90-Grad-Schritten) und Spiegelung der Zellen vorzugeben. Während des manuellen Platzierens kann - sofern über die Bibliotheksdefiniton konfiguriert - eine alternative Zellendefinition für die aktuell bearbeitete Zelle gewählt werden. Da das System netzorientiert und nicht pinorientiert ist, können Verbindungen nicht nur über Leiterbahnen, sondern auch über beliebige andere Anschlußflächen hergestellt werden. Es muss also nicht extra ein Anschlusspin oder eine Durchkontaktierung angefahren werden (echte Connectivity). Leiterbahnen und Anschlußflächen können mit Fließpunktgenauigkeit in jedem beliebigen Raster erstellt werden. Das gewünschte oder interaktiv bearbeitete Potential wird sofort "gehighlighted", das heißt aufgehellt dargestellt, und ist an jedem beliebigen Punkt des gleichen Netzes anschließbar. Bei der Verwendung partieller Durchkontaktierungen wählt das System automatisch das für den jeweiligen Lagenumstieg am besten geeignete Via. Aktive Flächen können stufenlos vergrößert bzw. verkleinert werden. Segmentlängen von Leiterbahnen und Kantenlängen von Anschlußflächen können jederzeit automatisch abgefragt werden. Konstruktionselemente können zu Dokumentationszwecken vom System bemaßt werden. Durch die Einbindung der Bartels User Language in den Chipeditor hat der Anwender die Möglichkeit, eigene Menüfunktionen (Makros), Import- und Exportfunktionen, Report-, Test- und Editierfunktionen, usw. zu implementieren, die er wahlweise explizit (über eine spezielle Menüfunktion) oder implizit (über Tastatur oder ereignisgesteuert) aktivieren kann. CellplacerDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. CellrouterMit dem Cellrouter wird die automatische Entflechtung des Chiplayouts vorgenommen. Der Cellrouter ist eine an die Anforderungen des IC- und ASIC-Layouts angepasste Variante des bekannten Bartels AutoEngineer mit seinen bewährten Backtracking- und Ripup- und Retry-Algorithmen. Der Cellrouter besticht durch die Verknüpfung sehr hoher Entflechtungsintelligenz mit hervorragender Fertigungsqualität. Die Ripup- und Retry-Algorithmen sorgen dafür, dass die Leiterbahnen zunächst für eine vollständige Entflechtung optimal verlegt und dann das Chiplayout noch einmal grundlegend in Richtung Fertigungsqualität optimiert. So werden bei der Entflechtung regelmäßig 100%-Ergebnisse erreicht. Der Algorithmus wird von einem Backtracking überwacht, das nicht nur eine Verschlechterung des Ergebnisses während Ripup oder Optimierung sowie ein Festfahren des Routers wirksam verhindert, sondern auch völlig neue Wegevarianten erschließt. Der selektive Ripup-/Retry-Algorithmus erlaubt es dem Cellrouter insbesondere auch, gezielt ganze Leiterbahnbündel zu verschieben, um so Platz für noch nicht verlegte Verbindungen zu schaffen (Push'n'Shove Routing). Der netzübergreifende Optimierer gewährleistet durch das komplette Neuverlegen der Leiterbahnen nach Kriterien der Fertigungsfreundlichkeit eine hohe Qualität des Chiplayouts. Der Durch Optimiereläufe wird die Anzahl der Durchkontaktierungen (Vias) ülicherweise erheblich reduziert, und gleichzeitig werden dabei kürzestmögliche Wegevarianten erschlossen, d.h. es werden redundante Leiterzüge eliminiert und Leiterbahnbegradigungen vorgenommen. Mit dem Cellrouter können bis zu 12 Routinglagen simultan entflochten werden. Die Funktionen des Cellrouters sind stark praxisorientiert. Vorverlegte Leiterbahnen und Potentialflächen werden automatisch identifiziert und korrekt ankontaktiert. Die Anschlussbreite ist pin- und nicht netzbezogen, T-Stücke werden automatisch konstruiert (Copper-Sharing). Der gesamte Routingvorgang kann am Bildschirm verfolgt und bei Bedarf jederzeit abgebrochen, fortgeführt oder mit geänderten Routingparametern neu gestartet werden. Bereits entflochtene Chiplayouts können automatisch vom Router an veränderte Platzierungen oder Netzlisten angepasst werden (Änderungsrouten, Re-Entrant-Routing). Dabei entfernt der Router selbsttätig nunmehr falsche Leiterbahnen und ergänzt fehlende. Das modifizierte Chiplayout kann dann nochmals optimiert werden. Die heute in der Chipfertigung eingesetzten Technologien werden vom Router voll unterstützt. Er erkennt alle frei definierbaren Strukturen (Anschlußflächen, Leiterbahnen, Durchkontaktierungen) und schließt sie auf dem bestmöglichen Wege an. Auch die nicht im Routingraster liegende Anschlüsse stellen durch die integrierte Offgrid-Erkennung kein Problem dar. Im Bereich der für das Chiplayout vorgegebenen Entwurfsregeln kann ein beliebiges Routingraster mit wahlweiser Aktivierung des Halbraster-Routingverfahrens selektiert werden. Optional kann ein Initialroutinglauf zur Generierung von Pinanschlüssen aktiviert werden. Der Cellrouter beherrscht selbstverständlich partielle Durchkontaktierungen. Durch die Definition von Sperrflächen kann der Router angewiesen werden, ausgewählte Bereiche auf unterschiedlichen Lagen des Chips von Leiterbahnen bzw. Vias freizuhalten. GDS-ViewGDS-View ist ein Grafikprogramm zur visuellen Kontrolle von GDS-II-Dateien und zur Überprüfung der darin enthaltenen Strukturen. Für das Einlesen kann gewählt werden ob nur die oberste oder alle Hierarchieebenen aus der angegebenen GDS-Datei geladen werden sollen. Zur Darstellung der Daten stehen Zoom- und Farbzuweisungsfunktionen zur Verfügung. GDS-View bietet darüber hinaus eine Funktion zum Abspeichern der aktuell geladenen GDS-Daten als Zellendefinition im internen Bartels AutoEngineer-Format sowie eine Batch-Funktion zum automatisierten Importieren von GDS-II-Standardzellenbibliotheken in das Bartels AutoEngineer IC-Design-System. CIF-ViewCIF-View ist ein Grafikprogramm zur visuellen Kontrolle von CIF-Dateien und zur Überprüfung der darin enthaltenen Strukturen. Zum Einlesen der CIF-Daten kann ein Skalierungsfaktor angegeben werden. Zur Darstellung der Daten stehen Zoom- und Farbzuweisungsfunktionen zur Verfügung. 5.1.2 IC-Design-ProgrammaufrufWenn Sie nicht auf einem System mit Mehrfenstertechnik und komfortablen Dialogen zur Verzeichnis- und Dateiauswahl arbeiten, dann empfiehlt es sich, den Aufruf des
Bartels AutoEngineers grundsätzlich aus dem Verzeichnis heraus vorzunehmen, in welchem die zu bearbeitenden Projektdateien abgelegt bzw. abzulegen sind. Wechseln Sie also zunächst in Ihr Projektverzeichnis. Zur Abarbeitung der in diesem Handbuch aufgeführten Beispiele ist es zweckmäßig, in das bei der Installation des
Bartels AutoEngineer angelegte Verzeichnis
> bae Modernere Betriebssysteme mit Mehrfenstertechnik bieten Ihnen selbstverständlich komfortablere Möglichkeiten für den Aufruf des BAE-Hauptmenüs. Unter Windows wird beispielsweise eine BAE-Programmgruppe mit der Funktion zum Aufruf des BAE-Hauptmenüs im -Menü installiert. Ein Wechseln in Ihr Arbeitsverzeichnis ist vor dem BAE-Aufruf auch nicht unbedingt notwendig, wenn Ihr System komfortable Dialogfunktionen zur Datei- und Elementauswahl bietet. Nach dem Aufruf des BAE-Hauptmenüs erscheint auf dem Schirm das Bartels-Logo sowie folgendes Menü:
Die Funktion ist nur unter Windows bzw. Motif verfügbar, die Funktion ist nur in BAE HighEnd und im BAE IC-Design verfügbar, und der Menüpunkt ist nur im BAE IC-Design vorhanden. Zum Arbeiten mit dem IC-Design-System wählen Sie den Menüpunkt mit der Maus an, und bestätigen Sie Ihre Wahl durch Drücken der linken Maustaste:
Nun wird der Chipeditor des AutoEngineer geladen. Sollte der Programmaufruf fehlschlagen, dann deutet dies darauf hin, dass die Software nicht richtig installiert ist. Wir verweisen in diesem Zusammenhang auf die Bartels AutoEngineer® Installationsanleitung. 5.1.3 Chipeditor-HauptmenüAbhängig vom verwendeten Betriebssystem kann der Bartels AutoEngineer mit verschiedenen Benutzeroberflächen bzw. Menükonfigurationen betrieben werden. Bei der auf allen Plattformen verfügbaren Seitenmenükonfiguration befindet sich auf der rechten Bildschirmseite eine Menüleiste, bestehend aus dem Hauptmenü im oberen Bereich sowie dem im Hauptmenü selektierten Menü im unteren Bereich. Nach dem Laden des Chipeditors ist das Menü aktiviert, und der grüne Menübalken steht auf Laden. Unter Windows und Motif kann anstelle der Standard- bzw. Seitenmenükonfiguration wahlweise auch ein Benutzerinterface mit Pulldownmenüs aktiviert werden. Die Auswahl der gewünschten Menükonfiguration kann in einfacher Weise über den aus dem BAE-Hauptmenü erreichbaren Dialog vorgenommen werden. Bei der Selektion der Pulldownmenükonfiguration über die Option werden gleichzeitig die Funktionswiederholung und das Kontextpopupmenü entweder an die rechte und linke oder an die linke und rechte Maustaste zugewiesen. Bei der Verwendung von Pulldownmenüs ist das Hauptmenü als horizontal ausgerichtete Menüleiste am oberen Ende der Benutzerschnittstelle angeordnet. Das Hauptmenü ist ständig verfügbar und ermöglicht im Chipeditor die Aktivierung der folgenden Menüs bzw. Funktionen:
Undo, RedoIm Menü finden Sie die -Funktion, mit der die letzten zwanzig Arbeitsschritte rückgängig gemacht werden können. Mit der -Funktion kann der -Befehl wieder aufgehoben werden. Sie sollten diese wichtigen Funktionen unbedingt an einigen Stellen in den nachfolgenden Beispielen ausprobieren, um ein Gefühl für die Mächtigkeit dieser Kommandos zu bekommen. Ansicht, BilddarstellungIm Menü bzw. , das Sie außer durch Selektion im Hauptmenü auch immer über die mittlere Maustaste erreichen können, können Sie Zoomfunktionen aktivieren, das Eingabe- bzw. Hintergrundraster definieren, oder die Farbtabelle einstellen. Darüberhinaus finden Sie hier nützliche Hilfsfunktionen z.B. zur Bauteilsuche oder zur Elementabfrage. DateiverwaltungÜber das Menü können Elemente neu generiert, geladen, gespeichert, kopiert, ersetzt oder gelöscht werden. Außerdem können von hier aus Farbtabellen geladen oder gespeichert werden, und es sind in diesem Menü auch wichtige Datenbank-Verwaltungsfunktionen (Auflisten Dateiinhalt, Update Bibliothek) enthalten. MacrosDas Menü enthält die Funktionen zur manuellen Zellenplatzierung, zur Umbenennung von platzierten Zellen sowie zur manuellen Platzierungsoptimierung (Component Swap bzw. Pin/Gate Swap). Darüberhinaus kann in diesem Menü die Auswahl der Durchkontaktierung(en) für das Routing vorgenommen werden. Auf Zellebene werden die Funktionen aus dem Menü zur Definition bzw. Platzierung von Pins verwendet. BahnenIm Menü sind die Funktionen zum interaktiven Verlegen von Leiterbahnen enthalten. FlaechenDas Menü enthält die Funktionen zur Definition der Chipumrandung, zur Erzeugung von Anschlussflächen sowie zur Generierung von Dokumentarlinien und Dokumentarflächen. Zur Bearbeitung bestehender Flächen stehen Funktionen zum Bewegen, Drehen, Spiegeln, Kopieren und Löschen zur Verfügung. TexteDas Menü dient dazu, Texte einzugeben, zu bewegen, zu verändern, oder wieder zu löschen. GruppenIm Menü werden Funktionen angeboten, mit deren Hilfe Teile des gesamten Chips in Gruppen zusammengefasst und dann gespeichert, geladen, bewegt, gedreht, gespiegelt, skaliert, kopiert, gelöscht, fixiert oder freigegeben werden können. ParameterDas Menü enthält Funktionen zur Selektion der Bibliothek, zum Setzen des Nullpunktes bzw. der Elementgrenzen, zur Selektion der -Funktion, sowie zur Aktivierung der automatischen Datensicherung. DiverseIm Menü kann der Programmabbruch oder der Rücksprung in die Shell des Bartels AutoEngineer veranlasst werden. Über dieses Menü des Chipeditors ist auch der Aufruf der IC-Designmodule Cellplacer, Cellrouter und GDS-View möglich. Daneben werden hier weitere nützliche Funktion wie und angeboten. Auch der explizite Aufruf von User Language-Programmen ist von diesem Menü aus möglich. 5.1.4 Chipeditor-BenutzeroberflächeMenübelegung und TastaturprogrammierungEinige der mit der BAE-Software installierten User Language-Programme definieren implizite User Language-Programmaufrufe über die eine weit reichend modifizierte Benutzeroberfläche mit einer Vielzahl von Zusatzfunktionen (Startups, Toolbars, Menübelegung, Tastaturprogrammierung) aktiviert wird. Das User Language-Startupprogramm bae_st wird automatisch beim Aufruf des Chipeditors gestartet. bae_st ruft seinerseits das User Language-Programm uifsetup auf, welches eine vordefinierte Menü- und Tastaturbelegung im Chipeditor aktiviert. Änderungen bzw. Anpassungen der Menü- und Tastaturbelegung können zentral in der Quellcodedatei von uifsetup vorgenommen werden. Die aktuelle Tastaturbelegung kann mit dem User Language-Programm hlpkeys angezeigt werden. Der Aufruf von hlpkeys ist über die Funktion aus dem Menü möglich, sofern die vordefinierte Menübelegung aus uifsetup aktiviert ist. Mit dem User Language-Programm uifdump kann die in der aktuellen Interpreterumgebung definierte Menü- und Tastaturbelegung in Form eines Reports angezeigt bzw. auf eine Datei ausgegeben werden. Mit dem User Language-Programm uifreset lässt sich die komplette Menü- und Tastaturbelegung zurücksetzen. uifsetup, uifdump und uifreset sind auch über das Menü des User Language-Programms keyprog aufrufbar, welches zudem komfortable Funktionen zur Programmierung von Funktionsmakros, zur Online-Tastenbelegung sowie zur Menüprogrammierung und Menükonfiguration zur Verfügung stellt. Dieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.1.5 Chipeditor-BedienungshinweiseDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. NetzlisteDie Netzliste stellt üblicherweise die verbindliche Vorgabe für den Entwurf des Chiplayouts dar. Im Bartels AutoEngineer wird die Netzliste mit Hilfe des Schematic Editors generiert und durch den Packager in das IC-Design übertragen. Daneben besteht die Möglichkeit, ASCII-Netzlisten z.B. mit dem Utilityprogramm netconv oder mit anwendungsspezifischen User Language-Programmen in den AutoEngineer zu importieren. In Kapitel 3 dieses Handbuchs finden Sie weitere Erläuterungen zur Netzlistenverarbeitung im Bartels AutoEngineer. Ein Chiplayout wird beim Laden dynamisch aufgebaut. Neben den auf dem Chiplayout befindlichen Elementen aus den darunterliegenden Datenbank-Hierarchiestufen (Zellen, Pins) wird auch die Netzliste mitgeladen und mit den Geometriedaten auf dem Chip korreliert ("Connectivity Generierung"). Dies setzt allerdings voraus, dass der Elementname des Chiplayouts und der Name der Netzliste identisch sind. Nach erfolgreicher Connectivity-Generierung ist das System in der Lage, das Chiplayout ständig mit den Vorgaben in der Netzliste zu korrelieren. Dies stellt sicher, dass elektrische Verbindungen grundsätzlich erkannt werden, gleichgültig, ob sie über Leiterbahnen, Anschlussflächen oder Durchkontaktierungen verlaufen. Verbindungen über Kreuzungen und T-Stücke sowie Aneinanderreihungen (z.B. bei Gruppenkopien) werden ebenfalls erkannt. Diese Funktionalität bezeichnet man als Echte Connectivity. Dieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.2 IC-ZellenbibliothekDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.2.1 IC-PindefinitionenDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.2.2 IC-ZellendefinitionenDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.3 IC-MaskenlayoutDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.3.1 Erstellen und Bearbeiten von ChiplayoutsDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.3.2 Zellen, PlatzierungDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.3.3 Text und GrafikDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.3.4 Leiterbahnen, RoutingDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.4 Cellplacer5.4.1 Cellplacer-ProgrammaufrufDer Aufruf des Cellplacers erfolgt mit der Funktion im Menü des Chipeditors. Sofern bei Aktivierung der Funktion ein Chiplayout geladen ist, wird dieses vor dem Aufruf des Cellplacers automatisch gesichert. 5.4.2 Cellplacer-HauptmenüDas Hauptmenü des Cellplacers beinhaltet die folgenden Menüs bzw. Funktionen:
Im Menü , das Sie außer durch Selektion im Hauptmenü auch immer über die mittlere Maustaste erreichen können, können Sie Zoomfunktionen aktivieren und die Farbeinstellungen für die Bilddarstellung ändern. Im Menü sind die Funktionen zum Laden des Chiplayouts für die automatische Platzierung, zum Laden von Parameterdateien für die automatische Standardzellenplatzierung, zum Speichern des aktuell geladenen Chiplayouts und zur Auflistung von Projektdateiinhalten enthalten. Im Menü sind die eigentlichen Funktionen zur Durchfürung der automatischen Standardzellenplatzierung enthalten. Über das Menü wird die Platzierungsmatrix für die nachfolgende Standardzellenplatzierung definiert. Das Menü können Strategieparameter und heuristische Kostenfaktoren für die Platzierungsprozeduren gesetzt werden. Das Menü beinhaltet neben den Funktionen zum Beenden der AutoEngineer- bzw. Cellplacer-Sitzung und zum Rücksprung in den Chipeditor eine -Funktion zur Abschätzung des Platzbedarfs für die Platzierung bzw. zur Überprüfung des aktuellen Platzierungsstatus. 5.4.3 Cellplacer-BedienungshinweiseDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.4.4 Cellplacer-OptionenDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.4.5 Cellplacer-SteuerungDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.4.6 Cellplacer-ProzedurenDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.5 CellrouterDas IC-Designsystem der BAE-Software enthält das Cellrouter-Modul zur automatischen Entflechtung des Chiplayouts. Bei einem realen Projekt sollten Sie vor dem Cellrouter-Aufruf kritische Leitungen vorverlegen und fixieren. Nach dem Autorouting sollte in jedem Fall ein Batch-Design Rule Check durchgeführt werden, bevor die Fertigungsdaten für die IC-Maskenproduktion erzeugt werden. 5.5.1 Cellrouter-ProgrammaufrufDer Cellrouter kann nur gestartet werden, wenn im Chipeditor bereits ein Chiplayout geladen ist. Auf diesem Layout sollte (mit der Funktion im Menü ) eine Chipumrandung definiert worden sein, und es sollte (mit der Funktion aus dem Menü des Chipeditors) eine Viazuweisung durchgeführt worden sein. Außerdem müssen alle in der Netzliste definierten Zellen platziert sein. Der Aufruf des Cellrouters erfolgt mit der Funktion im Menü des Chipeditors. Nach der Aktivierung dieser Funktion wird das aktuell geladene Chiplayout gespeichert, und anschließend wird der Cellrouter gestartet. Die folgenden Fehlermeldungen können beim Aufruf des Cellrouters bzw. im Cellrouter selbst auftreten:
5.5.2 Cellrouter-HauptmenüDas Hauptmenü des Cellrouters beinhaltet die folgenden Menüs bzw. Funktionen:
Im Menü , das Sie außer durch Selektion im Hauptmenü auch immer über die mittlere Maustaste erreichen können, können Sie Zoomfunktionen aktivieren, die Farbtabelle einstellen, den Wert für die Breitendarstellung setzen oder den Modus für die Anzeige von Stromversorgunganschlüssen festlegen. Die Hauptmenüfunktion dient dazu, einen vorher mit festgelegten Ablauf unterschiedlicher Routerdurchläufe (Router-Passes) zu starten. Die Hauptmenüfunktion startet einen Routerdurchlauf mit allen Router-Passes (wahlweise Pin-Vias Vorverlegen, kompletter Initialrouting-Lauf, falls nötig Rip-Up-Routing, sowie Optimierung). Die Hauptmenüfunktion startet einen einzelnen Durchlauf des Fertigungsoptimierers, welcher unnötige Vias eliminiert, Leiterbahnen glättet und (wenn möglich) auch optimaler verlegt. Die Hauptmenüfunktion ermöglicht das Einlesen von komplett oder teilweise gerouteten Chiplayouts unter Berücksichtigung der aktuell eingestellten Optionsvorgaben (Re-Entrant-Routing). Mit der Hauptmenüfunktion erfolgt der Rücksprung in den Chipeditor. Das Menü dient dazu, die Optionsvorgaben für die nachfolgenden Routerläufe festzulegen. D.h. hier werden die grundlegenden Design- und Technologievorgaben (Lagenanzahl und Lagenzuordnung, Routingraster, Leiterbreite, Mindestabstände, Pinanschluss-Verfahren, etc.) definiert. Im Menü kann der Programmabbruch, der Rücksprung in das Hauptmenü des Bartels AutoEngineer oder der Router-Neustart veranlasst werden. Daneben enthält dieses Menü wichtige Kontrollfunktionen zur Steuerung des Routerablaufs (Anzahl der Optimiererläufe, Pin-Fanout-Router aktivieren/deaktivieren, automatisches Zwischenspeichern an- oder abschalten). Das Menü enthält die Funktionen zur Festlegung der Strategieparameter und heuristischen Kostenfaktoren für die nachfolgenden Router- bzw. Optimiererläufe. 5.5.3 Cellrouter-BedienungshinweiseGrafikausgabe und StatusanzeigenNach dem Start des Cellrouters wird der Fortgang des Routingprozesses sowohl grafisch als auch in einem Fenster mit statistischen Angaben angezeigt. Während der Entflechtung zeigt der
Cellrouter in der Mitteilungszeile die Anzahl der vom Router bereits realisierten Verbindungen (in Relation zur Gesamtanzahl der Verbindungen) sowie die aktuelle Viaanzahl an. Gleichzeitig wird ein Statusfenster zur Anzeige von Informationen zum internen Ablauf der aktuell aktiven Routingprozedur angezeigt. Die vorletzte Zeile dieses Statusfensters enthält eine Kennung für den aktiven Routerpass
( Vom Menü aus können Zoomfunktionen (, und ) zur Auswahl des anzuzeigenden Arbeitsbereiches aufgerufen werden. Üblicherweise wird man hierbei mit die Übersichtsdarstellung wählen, die auch per Default eingestellt ist. Die Funktionen zum Ändern des Zoomfaktors (, ) und Funktion können nur dann ausgeführt werden, wenn die Layoutdaten bereits geladen sind. Die Funktion startet im Cellrouter automatisch die Prozeduren zum Laden des Chiplayouts, wenn dieses nicht bereits in den Arbeitsspeicher geladen wurden. Nach dem Laden der Layoutdaten bestehen Einschränkungen hinsichtlich der Änderbarkeit der Cellrouter-Optionsparameter (siehe unten). Mit der Funktion
aus dem Menü
kann die aktuelle Farbzuordnung definiert werden. Mit
lässt sich eine spezielle Farbtabelle laden. Beim Aufruf des
Cellrouters wird automatisch die Farbtabelle mit dem Namen
Die Funktion (Default-Einstellung 1.5mm) aus dem Menü ermöglicht unter Berücksichtigung des Zoomfaktors die Darstellung der Leiterbahnen in ihrer wahren Breite. Alle Leiterbahnen, deren Breite über dem eingestellten Wert liegen, werden in ihrer wahren Breite relativ zum Zoomfaktor, alle schmäleren als Center-Linie dargestellt. Die Funktion aus dem Menü ermöglicht die Darstellung von Stromversorgungsverbindungen durch ein Markierungskreuz (Default) oder eine Schwerpunktlinie. Bei der Markierungskreuz-Anzeige werden die Unroutes in Netzen mit Anschlussflächen durch einen Punkt (Markierungskreuz) auf den entsprechenden Pins gekennzeichnet. Die andere Variante bewirkt die Freigabe von Vektor-Unroutes zum Schwerpunkt der Anschlussfläche; d.h. die Unroutes in Netzen mit Anschlussflächen, (jedoch ohne Versorgungslagen) werden mit zwei Punkten zum nächstgelegenen Schwerpunkt einer potentialmäßig geeigneten Anschlussfläche (Schwerpunktlinie) dargestellt. 5.5.4 Cellrouter-OptionenBevor Sie den Cellrouter-Lauf starten, sollten Sie über das Menü die Parameter einstellen, mit denen der Router das Chiplayout entflechten soll. Mit Hilfe dieser Parameter werden prinzipiell die Designregeln für die automatische Entflechtung festgelegt. Aus diesem Grunde ist - sofern nicht anders vermerkt - die Änderung der nachfolgend beschriebenen Options-Parameter jeweils nur vor einem Router-Neustart möglich. Die über eingestellten Parameter werden bei einer Sicherung der Layoutdaten durch den Cellrouter in der Projektdatei mit abgespeichert und müssen daher bei späteren Cellrouter-Läufen nicht nochmals eingestellt werden, sofern das Routing mit den zuvor definierten Parametern durchgeführt werden soll. Routingraster, Standard-Leiterbreite, Standard-MindestabstandDer Cellrouters arbeitet rasterorientiert. Der Anwender kann vor dem Start des Autoroutings das Routingraster festlegen. Dies geschieht mit der Funktion aus dem Menü . Beim ersten Cellrouter-Aufruf ist die Auflösung per Default auf eingestellt. Mit der Option kann ein anderes Raster vorgegeben werden. Jede Neueinstellung wird mit dem Chiplayout abgespeichert und setzt automatisch auch die Standard-Leiterbahnbreite und den Standard-Mindestabstand auf Defaultwerte. Diese beiden Parameter lassen sich nach der Festlegung der Auflösung noch verändern (Funktionen und ). Zu beachten ist hierbei jedoch, dass die Summe dieser beiden Werte den Wert für die Auflösung nicht überschreiten darf. Es empfiehlt sich, nach der Definition der Auflösung die Werte für die Standard-Leiterbahnbreite und den Standard-Mindestabstand auf jeweils etwa die Hälfte des Rasters einzustellen. Üblicherweise ergeben sich diese Einstellungen aus den für die IC-Produktion vorgegebenen Prozessparametern Ihres Chipherstellers. Der Cellrouter verfügt über eine Offgrid-Erkennung. Dadurch kann der Cellrouter auch Pins anschließen, die nicht im aktuell eingestellten Routingraster liegen. Grundsätzlich sollte der Anwender jedoch bereits bei der Zellenplatzierung dafür sorgen, dass - soweit möglich - die Zellenanschlüsse im Routingraster liegen. Andernfalls kann sich der Rechenzeitbedarf aufgrund der zeitintensiven Offgrid-Erkennung signifikant erhöhen, oder aber bestimmte Anschlüsse können im vorgegebenen Routingraster überhaupt nicht realisiert werden. Bei der Wahl der Auflösung sollte man darauf achten, dass man kein unnötig feines Routingraster einstellt, da der Speicherplatzbedarf für die Routingmatrix quadratisch mit der Verkleinerung des Rasters anwächst. So wird für eine Routingmatrix im 2um Raster viermal so viel Speicher benötigt wie im 4um Raster. Bei einer Verkleinerung des Routingrasters ist darüber hinaus zu bedenken, dass auch der Rechenzeitbedarf für die Entflechtung dramatisch anwächst, da die Anzahl der vom Cellrouter zu bewertenden möglichen Wegevarianten in einem noch viel stärkeren Maß als der Speicherplatzbedarf zunimmt. Die Standard-Leiterbreite gibt an, mit welcher Leiterbahnbreite der
Cellrouter die Verbindungen verlegen soll. Ausnahmen hiervon bilden die Signalnetze, für die spezielle Netzattribute definiert sind. Ist für ein Signal das Netzattribut
Routinglagenzahl und LagenzuordnungÜber die Funktionen und kann die Anzahl der Routinglagen sowie der Typ der Lagen definiert werden. Dabei kann für jede Lage wahlweise eine Vorzugsrichtung (horizontal, vertikal, oder keine) angegeben werden. Es besteht auch die Möglichkeit, Sperrlagen zu definieren, auf welchen der Cellrouter keine Leiterbahnen verlegen darf. Für die Routinglagenzahl können Werte von 2 bis 12 angegeben werden, d.h. der Cellrouter ist in der Lage, bis zu 12 Lagen simultan zu routen.Der Cellrouter benutzt alle nicht als Sperrlagen definierte Routinglagen für das Verlegen von Leiterbahnen. Single-Layer-Routing ist damit z.B. mit einer Routinglagenzahl von 2 und der Konfiguration einer der beiden selektierten Routinglage als Sperrlage möglich. Die Definition der Lagenzuordnung (bei vorgegebener Routinglagenzahl) ist auch zwischen unterschiedlichen Routerläufen (d.h. ohne Router-Neustart) möglich. Dabei ist allerdings zu beachten, dass bei der Definition von Sperrlagen die darauf bereits gerouteten Leiterbahnen in nachfolgenden Routerläufen nur dann umverlegt bzw. wieder entfernt werden, wenn sich dadurch keine Verschlechterung des Routergebnisses ergibt, d.h. wenn dadurch die Anzahl der bereits gerouteten Verbindungen nicht abnimmt. Maximal zulässige ViaanzahlMit der Funktion kann die maximal zulässige Anzahl Vias pro Verbindung festgelegt werden. Die Default-Einstellung ist 30. Wird der Wert 0 definiert, dann versucht der Router, das Layout ohne Verwendung von Vias zu routen. Dieser Optionsparameter kann auch zwischen unterschiedlichen Routerläufen (d.h. ohne Router-Neustart) geändert werden. Dabei ist allerdings zu beachten, dass bei einer Reduzierung der maximal zulässigen Viaanzahl nur dann Vias eliminiert werden, wenn sich dadurch keine Verschlechterung des Routergebnisses ergibt, d.h. wenn dadurch die Anzahl der bereits gerouteten Verbindungen nicht abnimmt. Via-VersatzÜber die Option kann angegeben werden, ob mit oder ohne Via-Versatz geroutet werden kann. Durch das Versetzen der Vias kann die Anzahl der durch Durchkontaktierungen gesperrten Routingkanäle mölicherweise verringert und damit das Routingergebnis verbessert werden. Sofern größere Vias verwendet werden, sollte der Via-Versatz abgeschaltet werden, da sich sonst das Routingergebnis dramatisch verschlechtern könnte. HalbrasterDas Menü enthält die Funktion mit den Auswahlpunkten und . Mit Hilfe dieser Option kann gewählt werden, ob das über eingestellte Routingraster im Verhältnis 1:1 eingehalten werden soll (, Default), oder ob der Router zusätzlich wahlweise auf einem um den halben Rasterabstand verschobenen Grid routen darf (). Erlaubt man dem Router die Entflechtung auf dem Halbraster, dann kann er also z.B. bei einer Standard-Auflösung von 4um - sofern nötig - zusätzlich das Routingraster 2um benutzen, wobei allerdings die aktuell für das Standardraster definierten Werte für die Standard-Leiterbahnbreite und den Standard-Mindestabstand unverändert Gültigkeit besitzen. Pin-AnschlussartDie Funktion erlaubt die Definition der Pin-Anschlussart. Hierbei kann wahlweise festgelegt werden, ob die Anschlüsse an rechteckige bzw. annähernd rechteckige Pins über die Pinecken ausgeführt werden dürfen (), oder ob diese Anschlussart unterdrückt werden soll (; Default-Einstellung). Wird das Anrouten an die Pinecken gesperrt, dann ergibt sich i.d.R. ein schöneres (weil gleichmäßigeres) Leiterbild; allerdings kann diese Pin-Anschlussart das Erreichen der 100%-Entflechtung erschweren. Weiterhin ist bei gesperrten Pinecken zu beachten, dass das Anrouten an Pins mit etwa Leiterbreite (oder kleiner) fehlschlagen kann (zu achten ist insbesondere auf breite Leiterbahnen; Workaround evtl.: Vorverlegen und Fixieren). Auch können sich beim Busrouting mit gesperrten Pinecken u.U. unerwünschte Nebeneffekte einstellen. 5.5.5 Cellrouter-SteuerungÜber das Menü können verschiedene Router-Steuerungsparameter eingestellt werden. Router RestartDie Funktion ermöglicht den Neustart des Routers mit geänderten Optionen und Strategien, wobei das im Hauptspeicher befindliche, aktuelle Routingergebnis verworfen wird. Nach einem kann z.B. nach einer Änderung der Entflechtungsparameter (Routingraster, Halbrasterfreigabe, usw.) ein neuerlicher Routerlauf gestartet werden, ohne dass der Cellrouter verlassen werden muss. OptimierungszahlMit der Funktion kann die Anzahl der Optimierungsdurchläufe für die -Funktion festgelegt werden (Wertebereich 0..99, Default 2). Die Optimierungszahl gibt an, wie viele Optimierungen nach dem Erreichen einer 100-prozentigen Entflechtung durch den durchzuführen sind. Router-Cleanup, Optimierer-CleanupCleanup-Läufe (Anzeige ) sind netzübergreifende Via-Optimierungen, die üblicherweise zu einer drastischen Reduzierung der Viaanzahl führen. Über die Funktionen bzw. können diese Cleanup-Läufe im Rip-Up-Router bzw. im Optimierer ein- (Default) oder abgeschaltet werden. Durch die während der Cleanup-Läufe aktive netzübergreifende Mustererkennung kann der Cellrouter erkennen, welche Leiterbahnverläufe die Realisierung noch nicht verlegter Verbindungen bzw. das Umverlegen bereits gerouteter Bahnen blockieren. Bei komplexen Aufgabenstellungen und insbesondere für das Rip-Up-Routing ist daher von einem Abschalten der Cleanup-Läufe abzuraten. Wenn die Patternsuche deaktiviert ist, dann erfolgt eine sequentielle Abarbeitung der Verbindungen. Dies kann durchaus ausreichend sein für abschließende Optimiererläufe, allerdings sind für die Verschiebung oder Begradigung ganzer Leiterbahnbündel dann ggf. mehrere Durchläufe des Fertigungsoptimierers notwendig. Rip-Up Baumzahl, Rip-Up Tiefe, Rip-Up RetriesMit den Funktionen (maximale Anzahl der gleichzeitig herausnehmbaren Verbindungen pro Rip-Up-Suchlauf, der Defaultwert hierfür ist 2, der Wertebereich für mögliche Vorgaben erstreckt sich von 1 bis 9), (maximale Rip-Up-Baumtiefe, Defaultwert 50, Wertebereich 1 bis 999) und (maximale Anzahl Wiederholungen des Rip-Up-Suchlaufs für eine spezielle Leiterbahn; Defaultwert 2, Wertebereich 0 bis 99) kann die Hartnäckigkeit und Intensität des Rip-Up-Routers beeinflusst werden. Es empfiehlt sich z.B. die Steuerparameter für den Rip-Up-Router auf Maximalwerte zu setzen, wenn nur noch sehr wenige Leiterbahnen zu verlegen sind. Dadurch spart man sich u.U. zeitaufwändige Zwischenläufe des Optimierers während des Rip-Up-Routings, oder aber man erkennt sehr schnell, ob die noch fehlenden Verbindungen mit den aktuellen Vorgaben und Routeroptionen überhaupt realisierbar sind. Der Rip-Up-Router erkennt sehr schnell, wenn z.B. ein Pinanschluss durch Sperrflächen oder vorverlegte und fixierte Leiterbahnen blockiert ist. In diesem Fall wird der Rip-Up-Router nicht endlos lange versuchen, die entsprechende Verbindung zu realisieren; vielmehr wird das Rip-Up-Routing dann abgebrochen, und es erfolgt die Aktivierung der nachgeschalteten Fertigungsoptimierung. Wenn nach einem Rip-Up-Lauf mehr als 99.5% der Verbindungen gefunden sind, werden die Rip-Up-Parameter automatisch auf Rip-Up Baumzahl 6, Rip-Up Level 200 und Rip-Up Retries 10 gesetzt, sofern nicht bereits höhere Werte eingestellt sind. Damit lassen sich ggf. die langwierigen Optimierer-Cleanupläufe zwischen Rip-Up-Prozessen vermeiden, wenn nur noch wenige Verbindungen offen sind. Pin Via-VorlegenDer Cellrouter verfügt über ein spezielles Routingverfahren zur Vorverdrahtung von Zellenanschlüssen (Pin-Fanout-Routing). Dieser Initiallauf kann mit Hilfe der Funktion im Menü abgeschaltet (Default; ) oder aktiviert werden (). Ist die Option zur Durchführung der Pin-Via-Vorverdrahtung aktiviert, dann werden - soweit möglich bzw. sinnvoll - in einem dem eigentlichen Initialrouter-Lauf vorgeschalteten speziellen Pin-Via-Routerlauf alle zu verdrahtenden Zellenpins mit Leiterbahnanschlüssen zu Durchkontaktierungen versehen, wobei sich die Routing-Richtung sinnvollerweise nach Form und Lage der anzuschließenden Pins ausrichtet. Hierbei bleiben die über die Lagenzuordnung vorgegebenen lagenspezifischen Vorzugsrichtungen unberücksichtigt, um die Blockierung von Pinkanälen bzw. Anschlüssreihen, die entgegen der Vorzugsrichtung angeordnet sind, zu vermeiden. Durch diese Art der Vorverdrahtung soll beim Routing mit mehr als zwei Signallagen möglichst frühzeitig eine einigermaßen sinnvolle Vorgabe für die weitgehende Vermeidung der extensiven Nutzung der Zellanschlusslagen erreicht werden. Zellenanschlüsse, die bereits über fixierte Leiterbahnen verbunden sind, werden von diesem Verfahren ausgenommen. Spätestens bei der Optimierung werden eventuell überflüssige Pin-Via-Routes wieder eliminiert. Bei der Verwendung des Verfahrens zur Vorverdrahtung von Pin-Anschlüssen ist allerdings zu beachten, dass u.U. überflüssige Durchkontaktierungen erzeugt werden, und sich der Cellrouter dadurch relativ frühzeitig die Möglichkeit einer einfacheren Verdrahtung verbaut. Dies kann in speziellen Fällen sowohl zu einer Verschlechterung des Routingergebnisses als auch zu einem dramatischen Anstieg der Rechenzeit führen, da es ggf. für den Router sehr mühselig wird, die frühzeitig blockierten Bereiche durch Rip-Up-Patternsuche wieder zu bereinigen. ZwischenspeichernDie Funktion ermöglicht das automatische Zwischenspeichern von Teil-Routingergebnissen (Default) oder die Abschaltung dieser Funktion. 5.5.6 Cellrouter-StrategieÜber das Menü können verschiedene Router-Strategieparameter eingestellt werden. Die hierbei änderbaren Kostenfaktoren sollten nur in Ausnahmefällen modifiziert und erst recht nicht auf Extremwerte gesetzt werden, da die Default-Einstellungen Erfahrungswerte sind, die für den Großteil der Routingprobleme die bestmögliche Routerstrategie darstellen. Bei einer Änderung der Strategieparameter ist insbesondere zu bedenken, dass sich diese Parameter in den meisten Fällen in hohem Maß wechselseitig beeinflussen. So hat z.B. die Elimination von Vias (z.B. durch hohe Via-Kosten) in aller Regel zur Folge, dass in höherem Maße gegen die Vorzugsrichtungen verstoßen werden muss. Dadurch wird die Einstellung eines hohen Kostenfaktors für die Einhaltung der Vorzugsrichtung möglicherweise völlig kompensiert wenn nicht gar bedeutungslos. Des Weiteren ist zu beachten, dass mit den Strategieparametern lediglich untergeordnete Optionen für die Entflechtung vorgegeben werden können. Viel wichtiger als z.B. die Einhaltung von Vorzugsrichtungen ist für den Cellrouter die komplette Lösung des gestellten Verdrahtungsproblems. Der Cellrouter versucht in jedem Fall die Leiterkarte zu 100% zu entflechten, wobei bestimmte Strategieparameter ggf. zunächst völlig unberücksichtigt bleiben müssen. Tabelle 5-1: Cellrouter-Strategieparameter
Vorzugsrichtungs-OptimierungÜber die Funktion kann der Optimierer angewiesen werden, ohne Vorzugsrichtung (, Default), mit Vorzugsrichtung (, für Schwallbadlötung ohne Lötstoplack) oder vorzugsweise diagonal (, 45-Grad) zu optimieren. ViakostenMit wird der Router angewiesen, mit möglichst wenigen Vias (hoher Wert, möglicherweise kompliziertere Leiterbahnführung) oder unter Verwendung einer größeren Anzahl von Vias (niedriger Wert, u.U. einfachere Leiterbahnführung) zu entflechten. Pinkanal-KostenMit der Einstellung der kann eine Vermeidung der Benutzung oder Belegung von Pinkanälen (hoher Wert) oder eine häufige Belegung der Pinkanäle (niedriger Wert) veranlasst werden. Pinkanäle sind die Bereiche zwischen benachbarten Bauteilanschlüssen. VorzugsrichtungskostenÜber können die Kosten für das Routen gegen die Vorzugsrichtung eingestellt werden. Ein hoher Wert bedeutet dabei die kontinuierliche Einhaltung der Vorzugsrichtung, während ein niedriger Wert die häufige Verletzung der Vorzugsrichtung zulässt. Die Vorzugsrichtung kann für jede Routinglage mit der Funktion (Menü ) für jede Routinglage entweder auf horizontal oder auf vertikal gesetzt werden. Dieser Kostenfaktor wird beim Routen immer berücksichtigt. Beim Optimieren hingegen werden die Vorzugsrichtungskosten nur dann berücksichtigt, wenn der Optimierer mit der Funktion (siehe oben) angewiesen wurde, die eingestellten Vorzugsrichtungen einzuhalten. RichtungsänderungskostenMit werden dem Optimierer die Richtungsänderungskosten vorgegeben. Ein hoher Wert führt zu einer lokalen Vermeidung von Richtungsänderungen, ein niedriger Wert erlaubt eine höhere Anzahl von Leiterbahnknicken. PackungskostenÜber werden die Packungskosten für das Routing vorgegeben. Ein hoher Wert führt zu einer starken Bündelung der Leiterbahnen, ein niedriger Wert erlaubt eine weitere Verteilung der Leiterbahnen (möglicherweise jedoch auf Kosten einer 100%-Auflösung). Kostenbasis für die Statistische VerteilungMit wird die Kostenbasis für die statistische Verteilung der Leiterbahnen vorgegeben. Je höher der Wert, umso höher der Einfluss auf das Routing, d.h. umso gleichmäßiger die globale Verteilung der Leiterbahnen über die Leiterkarte. Bus-AbknickkostenDie regeln das bei Busverbindungen notwendige Abknicken direkt nach einem durchlaufenen Pinkanal. Ein hoher Wert bewirkt eine hohe Priorität des Abknickens. Rip-Up-AbstandskostenDie regeln während des Rip-Up-Routings die Vermeidung der Benutzung von Wegen gelöschter Leiterbahnen im Nahbereich. Eine hohe Zahl steht für eine weitgehende Vermeidung. Die regeln während des Rip-Up-Routings die Vermeidung der Benutzung von Wegen gelöschter Leiterbahnen im Fernbereich. Eine hohe Zahl steht für eine weitgehende Vermeidung. KreuzungskostenDie durch einstellbaren Leiterbahn-Übergangskosten steuern die Patternerkennung während der netzübergreifenden Optimierung und haben damit Einfluss auf die Erkennung unnötiger Vias. Ein hoher Wert erlaubt mehr komplexe und viahaltige Leiterbahnkonstruktionen. Ein niedriger Wert führt zur vermehrten Analyse und zeitaufwändigeren netzübergreifenden Optimierung. Diagonalrouting-KostenDie erlauben (hoher Wert) bzw. verbieten (niedriger Wert) dem Optimierer die vorzugsweise diagonale (45-Grad) Leiterbahnführung. Dieser Kostenfaktor wird nur dann berücksichtigt, wenn der Optimierer mit der Funktion angewiesen wurde, in Diagonal-Richtung zu optimieren. Offgrid-Routing-KostenMit wird für den Fall, dass im Halbraster (siehe oben) geroutet wird, die Priorität der Vermeidung (hoher Wert) oder Benutzung (niedriger Wert) des Halbrasters während dem Routen und Optimieren bestimmt. 5.5.7 Cellrouter-ProzedurenDie eigentlichen Routingfunktionen des Cellrouters können entweder direkt vom Hauptmenü oder über die Funktionen und (siehe unten) aktiviert werden. Nach dem Start einer Cellrouter-Prozedur kann der Routvorgang am Bildschirm verfolgt und jederzeit durch Betätigung einer beliebigen Taste angehalten bzw. abgebrochen werden. Der Abbruch des Routvorgangs bewirkt automatisch auch eine Sicherung des aktuell besten Routergebnisses. Pin Via-VorlegenDie Funktion dient der Vorplatzierung von Vias für alle angeschlossenen Pins ("Fanout Routing"). Der Fanout-Router stellt hierzu von jedem Netzlistenpin über jeweils ein kurzes Leiterbahnstück mit einem einzelnen Via eine Verbindung zu einer anderen Lage her. Dabei bestimmt die Kanalbreite die maximal zulässige Abweichung von der Vorzugsrichtung. Zweck dieser Routingprozedur ist es, eine allzu dichte Belegung der Pinlagen und somit eine nurmehr per Rip-Up auflösbare Blockade von Pinreihen in einem frühen Stadium des Routingablaufes zu verhindern. Diese Prozedur wird vom (siehe unten) automatisch als erster Routing-Pass aktiviert, wenn der entsprechende Parameter zur Routersteuerung mit der Funktion im Menü vorher gesetzt wurde. Initialrouter EinzeldurchgangDiese Prozedur führt einen einzelnen Durchgang des Initialrouters mit einer vorgegebenen Kanalbreite und einer maximal zulässigen Anzahl von Durchkontaktierungen pro Verbindung durch. Die Routingkanalbreite ist dabei in Rasterpunkten zu spezifizieren und gibt die einseitige maximal zulässige Abweichung von der Vorzugsrichtung an; der Wert 0 für die Kanalbreite entspricht hierbei einer vollständigen Freigabe. Die tatsächliche maximal zulässige Viazahl wird bestimmt durch das Minimum aus dem über den entsprechenden Optionsparameter mit der Funktion eingestellten Wert und dem für den Initialrouting-Lauf angegebenen Wert. Initialrouter KomplettdurchgangDiese Prozedur aktiviert automatisch alle Standarddurchgänge des Initialrouters, um alle ohne Rip-Up vom Router realisierbaren offenen Verbindungen zu verlegen. Es werden hierbei nacheinander automatisch vier Initialrouting-Läufe aktiviert, wobei sukzessive die Kanalbreite und die maximal zulässige Viaanzahl erhöht werden. Der vierte und letzte Initialrouting-Durchlauf wird mit einer Kanalbreite von 0 (keine Einschränkung hinsichtlich der Abweichung von der Vorzugsrichtung) und der über den entsprechenden Optionsparameter eingestellten maximal zulässigen Anzahl an Vias pro Verbindung (siehe oben) durchgeführt. Rip-Up/Retry-RouterDiese Prozedur aktiviert den Rip-Up/Retry-Router, um noch verbleibende offene Verbindungen zu verlegen. Verbindungen, bei denen kein Rip-Up notwendig ist, werden nach kurzem Test ohne dieses realisiert. Existieren nach einem Rip-Up-Durchlauf noch offene Verbindungen, die ohne Verletzung der Designregeln realisierbar wären, dann wird nach einem zweimaligen Optimiererlauf erneut der Rip-Up-Router gestartet. OptimiererDie Funktion startet einen einzelnen Durchlauf des Fertigungsoptimierers. Der eliminiert unnötige Vias eliminiert, glättet Leiterbahnen und verlegt letztere wenn möglich auch optimaler. Gleichzeitig versucht der , die noch fehlenden Verbindungen zu verlegen. Dies geschieht mit einer Kanalbreite von 0 (keine Einschränkung hinsichtlich der Abweichung von der Vorzugsrichtung) und der mit der Funktion im Menü eingestellten maximal zulässigen Anzahl von Vias pro Verbindung. Voll-CellrouterDie Funktion führt einen vollautomatischen Router-Durchlauf mit allen Router-Passes (Pin-Vias Vorverlegen, kompletter Initialrouting-Lauf, Rip-Up-Lauf, Optimierung) durch. Dies ist die Standardprozedur für die vollständige Entflechtung einer Platine. Die Anzahl der Optimierungsläufe ist als Steuerparameter mit der Funktion im Menü einstellbar. Der Initiallauf zur Vorverdrahtung von Pin-Anschlüssen wird nur dann durchgeführt, wenn der entsprechende Parameter zur Routersteuerung mit der Funktion im Menü (siehe Kapitel 5.5.6) vorher gesetzt wurde. Einlesen LayoutDie Funktion ermöglicht das Einlesen von bereits komplett oder teilweise gerouteten Layouts (Re-Entrant-Routing). Vor dem Start dieser Funktion sind unbedingt die Optionen (siehe Kapitel 5.5.5) und Strategien (siehe Kapitel 5.5.7) zu überprüfen und ggf. einzustellen. Leiterbahnen, die Designregeln verletzen (Kurzschlüsse, nicht im Routingraster liegende Leiterbahnen, nicht im Viaraster liegende Durchkontaktierungen, usw.), werden nicht übernommen. Die Übernahme fixierter Leiterbahnen erfolgt jedoch in jedem Fall auch ohne Aufruf dieser Funktion. Nicht fixierte, kreisbogenförmige Leiterbahnsegmente werden (falls möglich) durch gerade Leiterbahnsegmente ersetzt. Die Routingdaten werden also nicht einfach unverändert übernommen sondern vielmehr unter Berücksichtigung geänderter Netzlistenvorgaben oder Routeroptionen, neuer Sperrflächen- und Pindefinitionen, geänderter Viazuweisungen, umplatzierter Zellen, usw. evaluiert. Damit können mit Hilfe der Funktion Änderungen am Chiplayout vollautomatisch durchgeführt werden (Änderungsrouting). Hierzu ist zunächst die Funktion und anschließend typischerweise die Funktion aufzurufen, wobei letztere versucht, alle nunmehr fehlenden Verbindungen nachzurouten. Programm-Setup und Programm-StartMit der Funktion kann ein zuvor mit der Funktion festgelegter Router-Lauf mit bis zu 10 Router-Passes gestartet werden. Dabei können folgende Routingprozeduren aktiviert werden:
Bei sind die Routingkanalbreite und die maximal zulässige Viaanzahl pro Verbindung anzugeben. erfordert die Spezifikation der Routingkanalbreite. verlangt die Angabe über die Anzahl der durchzuführenden -Läufe wobei bis zu 999 Durchgänge aktiviert werden können. 5.6 Import und Export von IC-Designdaten5.6.1 Übernahme und Ausgabe von GDS-DatenDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.6.2 Übernahme und Ausgabe von CIF-DatenDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht.
IC-/ASIC-Entwurf |
| |||||