|
|
Das 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 Chipeditor. erfolgt der Rücksprung in denDas 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ü 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). kann der Programmabbruch, der Rücksprung in das Hauptmenü desDas 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ü 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). 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 imMit der Funktion
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 Cellrouter keine Leiterbahnen verlegen darf. 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 derFü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 Cellrouter verlassen werden muss. 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 derOptimierungszahlMit 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 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. ) 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 derRip-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.
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 Kapitel 5.5.6) vorher gesetzt wurde. 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ü (sieheEinlesen LayoutDie Funktion 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. ermöglicht das Einlesen von bereits komplett oder teilweise gerouteten Layouts (Re-Entrant-Routing). Vor dem Start dieser Funktion sind unbedingt die Optionen (sieheProgramm-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.
Cellrouter |
|