|
|
Natürlich sollten Sie bei einem realen Projekt vor dem Autorouter-Aufruf die Versorgungslagen definieren bzw. kritische Leitungen oder den Versorgungskamm manuell vorverlegen und fixieren, ggf. die oberste Lage definieren, usw. Nach dem Autorouting sollte in jedem Fall ein Batch-Design Rule Check durchgeführt werden, bevor mit dem CAM-Prozessor die Fertigungsdaten erzeugt werden. Die Benutzeroberfläche des Bartels Autorouters ähnelt der des Layouteditors. Der Bartels Autorouter unterstützt neben den eigentlichen Autorouting-Funktionen (Voll-Autorouter, Initial-Routing, Ripup- und Retry-Router, Fertigungsoptimierer) eine Reihe spezieller Platzierungs- und Routingfunktionen wie automatisches Initialplacement mit Platzierungsoptimierung, Einzelnetz- und Netzgruppen-Routing, Component-Routing, Bereichs- bzw. Blockrouting, Routen in gemischten Rastern, selektiver Bauteil- und Pin/Gate-Swap während des Rip-Up-Routings, usw. Die in BAE HighEnd integrierte Version des Autorouters bietet darüber hinaus mächtige Zusatzfunktionen basierend auf einer patentierten Technologie neuronaler Netzwerke. Der Autorouter der BAE HighEnd-Software bedient sich künstlicher Intelligenz zur automatischen Lösung spezieller Entflechtungsprobleme wie sie z.B. typischerweise beim Analogrouting oder bei der Erzeugung von Leiterbahnen mit speziellen elektrischen Eigenschaften bzw. bei der Generierung von Mikrowellenstrukturen auftreten. Hierzu arbeitet der Neuronale Autorouter mit Funktionen zur Erlernung und automatischen Anwendung von Regeln zur Lösung spezieller Entflechtungsprobleme und wird dabei zusätzlich noch unterstützt durch einen rasterlos arbeitenden, objektorientierten Routingalgorithmus mit integrierter Platzierungsoptimierung. 4.5.1 ProgrammaufrufDer Aufruf des Autorouters erfolgt mit der Funktion im Menü des Layouteditors. Nach der Aktivierung dieser Funktion wird das aktuell geladene Layout gespeichert, und anschließend wird der Autorouter gestartet. War vorher im Layouteditor ein Layout geladen, so wird dieses auch automatisch im Autorouter geladen. Auf diesem Layout sollte (mit der Funktion im Menü ) eine Platinenumrandung definiert worden sein, und es sollte (mit der Funktion im Menü des Layouteditors) eine Viazuweisung durchgeführt worden sein. Beim Aufruf von Autorouter-Prozeduren können die folgenden Fehlermeldungen auftreten:
Andere Autorouter-Fehlermeldungen werden ausgegeben, wenn das Layout Kurzschlüsse (verursacht durch vorverlegte, fixierte Leiterbahnen) enthält. 4.5.2 HauptmenüIn der Benutzeroberfläche des Autorouters werden neben bereits aus dem Layouteditor bekannten Menüs (wie , bzw. , , ) Funktionen zur automatischen Platzierung, zur Vorgabe von Options- und Strategieparametern, zur Durchführung der automatischen Entflechtung, sowie zur Aktivierung spezieller Routingfunktionen angeboten. Nach dem Aufruf des Autorouters 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 Autorouters ist das Menü aktiviert, und der grüne Menübalken steht auf der Funktion . Unter Windows und Motif kann anstelle der Standard- bzw. Seitenmenükonfiguration wahlweise auch ein Benutzerinterface mit Pulldownmenüs aktiviert werden. Hierzu ist mit Hilfe des Utilityprogramms
bsetup das Kommando
Das Hauptmenü ist während der Dauer der Layoutbearbeitung mit dem Autorouters ständig verfügbar und ermöglicht die Aktivierung der folgenden Menüs:
Im Menü Autorouter-Läufe anwenden. 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. Diese Funktionen lassen sich insbesondere auch auf komplexe Operationen wie z.B. kompletteIm 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.Das Menü Autorouters entspricht dem Menü des Layouteditors (siehe Kapitel 4.4.3 und Kapitel 4.4.4). Damit stehen im Autorouter die aus dem Layouteditor bekannten Initialplacement-Funktionen sowie die Routinen zur Durchführung von Platzierungsoptimierungen zur Verfügung, d.h. im Autorouter kann (vor dem Start eines Autorouting-Prozesses) eine vollautomatische Vorplatzierung der Bauteile sowie eine Platzierungsoptimierung durch automatischen Bauteiltausch und Pin/Gate-Swap vorgenommen werden. desDas Menü Autorouter-Prozeduren , und sowie die Funktionen und , mit deren Hilfe ein festgelegter Ablauf unterschiedlicher Routerdurchläufe (Router-Passes) gestartet werden kann. enthält die Funktionen zur Aktivierung derDas Menü enthält die Funktionen zur Durchführung spezieller Routingoperationen wie z.B. Einzelnetzrouting, Routen von Netzgruppen, Component-Routing, Bereichsrouting, usw.Das Menü Autorouter-Prozedur ( , Initialrouting, SMD-Fanout-Routing, Rip-Up-Routing, Optimierer, ) automatisch ein Router-Neustart mit Verwurf des aktuellen Routingergebnisses durchgeführt. dient dazu, die Optionsvorgaben für die nachfolgenden Routerläufe festzulegen. D.h. hier werden die grundlegenden Design- und Technologievorgaben (Lagenanzahl und Lagenzuordnung, Routingraster mit optionaler Benutzung des Halbrasters, Standard-Leiterbreite, Standard-Mindestabstand, maximal zulässige Viaanzahl, Via-Raster, Leiterbahnknicke on-grid oder off-grid, Pinanschlussverfahren) definiert. Werden grundlegende Optionsparameter (Lagenanzahl, Routingraster, Freigabe/Sperren des Halbrasters, Standard-Leiterbreite, Standard-Mindestabstand oder Pinanschlussverfahren) geändert, dann wird beim nachfolgenden Aufruf einerDas Menü enthält wichtige Kontrollfunktionen zur Steuerung des Routerablaufs (Anzahl der Optimiererläufe, aktivieren/deaktivieren der netzübergreifenden Patternerkennung, Festlegung der Hartnäckigkeit des Rip-Up-Routers, SMD-Fanout-Router aktivieren/deaktivieren, automatisches Zwischenspeichern an- oder abschalten).Über das Menü können die Strategieparameter und heuristischen Kostenfaktoren für die nachfolgenden Router- bzw. Optimiererläufe festgelegt werden (Art der Vorzugsrichtungs-Optimierung, Viakosten, Pinkanal-Kosten, Vorzugsrichtungskosten, Richtungsänderungskosten, Packungskosten, Kostenbasis für die statistische Leiterbahn-Verteilung, Bus-Abknickkosten, Rip-Up-Abstandskosten, Kreuzungskosten, Diagonalrouting-Kosten, Offgrid-Routing-Kosten).Das Menü enthält Funktionen zur Definition des Zugriffspfades auf die Layoutbibliothek, zur Auswahl der -Funktion, zum Setzen des Koordinatenanzeigemodus, sowie zur Aktivierung der automatischen Datensicherung.Im Menü Bartels AutoEngineer oder der Rücksprung in den Layouteditor veranlasst werden. Dieses Menü enthält weiterhin wichtige Dateiverwaltungsfunktionen zum Laden von Elementen und zum Auflisten von Dateiinhalten. Auch der explizite Aufruf von User Language-Programmen ist von diesem Menü aus möglich. kann der Programmabbruch, der Rücksprung in die Shell des4.5.3 Modifizierte Benutzeroberfläche des AutoroutersEinige 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 Autorouters gestartet. bae_st ruft seinerseits das User Language-Programm uifsetup auf, welches eine vordefinierte Menü- und Tastaturbelegung im Autorouter 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 Online-Tastaturprogrammierung sowie zur Verwaltung von Hilfstexten für User Language-Programme zur Verfügung stellt. Die Windows- und Motifversionen des Autorouters ermöglichen die Konfiguration kaskadierender Pulldownmenüs. Menüpunkte können ihrerseits implizit auf Untermenüs verweisen. Die Notwendigkeit des Aufrufs von Funktionen zur expliziten Anzeige von Untermenüs entfällt damit. Die Pulldownmenüs der Windows- und Motifversionen des Autorouters werden über das User Language-Programm uifsetup entsprechend mit kaskadierenden Menüs ausgestattet. Untermenüfunktionen lassen sich damit einfach lokalisieren und starten. Die über die rechte Maustaste implementierte Wiederholfunktion ist entsprechend angepasst. Die Wiederholung von in Untermenus untergebrachten Funktionen vereinfacht sich dadurch erheblich. In den Windows- und Motifversionen des Autorouters sind die folgenden Dialoge für Parametereinstellungen implementiert:
In den Pulldownmenükonfigurationen werden die Standardfunktionen für Parametereinstellungen über das User Language-Programm uifsetup durch die obigen Menüfunktionen zum Aufruf der entsprechenden Dialoge ersetzt. Bei der Verwendung von Pulldownmenüs unter Windows und Motif wird über das User Language-Programm uifsetup eine an Windows angepasste Menüanordnung mit zum Teil geänderten Funktionsbezeichnungen und einer Vielzahl von Zusatzfunktionen konfiguriert. Das Hauptmenü des Autorouters wird dabei wie folgt aufgebaut:
4.5.4 Grundsätzliches zur BedienungAutomatische ParametersicherungIm Autorouter sind Funktionen zur automatischen Sicherung wichtiger Design- und Bearbeitungsparameter implementiert. Die folgende Parameter werden automatisch beim Sichern des aktuell geladenen Layouts in der aktuell bearbeiteten Designdatei gespeichert:
Die Elementnamen der zu sichernden Parametersätze werden vom aktuell bearbeiteten Layout abgeleitet, d.h. diese layoutspezifischen Parametersätze erhalten den Elementnamen des aktuell bearbeiteten Layouts. Beim Laden eines Layouts wird automatisch der entsprechende Parametersatz mitgeladen. Dadurch wird in komfortabler Weise eine spezifische Arbeitsumgebung zur Bearbeitung des selektierten Layouts aktiviert. Grafikausgabe und StatusanzeigenNach dem Start des Autorouters wird der Fortgang des Routingprozesses sowohl grafisch als auch in einem Fenster mit statistischen Angaben angezeigt. Es ist moeglich, waehrend des Routingvorganges die Grafik- bzw. Bildschirmausgabe und die Aktualisierung der Statistik über den Routingprozess zu deaktivieren. Die Deaktivierung erfolgt durch Betätigung der Taste b. Bei deaktivierter Grafikausgabe wird die Meldung angezeigt. Durch nochmaliges Betätigen der Taste 'b' wird die Grafikausgabe wieder aktiviert. Durch die Deaktivierung der Grafikausgabe lässt sich insbesondere in den Windowsversionen eine Beschleunigung des Routvorgangs um bis zu etwa 10 Prozent erreichen. Nach Beendigung des Routingprozesses erfolgt in jedem Fall ein Bildneuaufbau. Während der Entflechtung zeigt der
Autorouter 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.Mit der Funktion
Autorouters 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 Verbindungen zu Potentialflächen durch ein Markierungskreuz (Default) oder eine Schwerpunktlinie. Bei der Markierungskreuz-Anzeige werden die Unroutes in Netzen mit Kupferflächen durch einen Punkt (Markierungskreuz) auf den entsprechenden Pins gekennzeichnet. Die andere Variante bewirkt die Freigabe von Vektor-Unroutes zum Schwerpunkt der Kupferfläche; d.h. die Unroutes in Netzen mit Kupferflächen, (jedoch ohne Versorgungslagen) werden mit zwei Punkten zum nächstgelegenen Schwerpunkt einer potentialmäßig geeigneten Kupferfläche (Schwerpunktlinie) dargestellt.User LanguageIm Autorouter ist der Bartels User Language Interpreter integriert, d.h. vom Autorouter aus können User Language-Programme gestartet werden. Der Anwender hat damit die Möglichkeit, eigene Zusatzfunktionen nach anwender- bzw. firmenspezifischen Bedürfnissen zu implementieren und in den Autorouter einzubinden. Hierzu zählen zum Beispiel Statusanzeigen und Parametereinstellungen, Report- und Testfunktionen, Prüf- und Editierfunktionen, spezielle Plotfunktionen, automatische Platzierungs- und Routingfunktionen, Batch-Prozeduren, usw. usf. Im
Autorouter können
User Language-Programme explizit oder implizit aufgerufen werden. Der explizite Programmaufruf erfolgt über den Menüpunkt
im Menü
. Nach der Aktivierung dieses Menüpunktes ist auf die Abfrage nach dem Programmnamen der Name des aufzurufenden
User Language-Programms (z.B.
User Language-Programme können auch implizit über die Tastatur aktiviert werden. Diese Art des Programmaufrufs ist immer dann möglich, wenn nicht gerade eine andere interaktive Eingabe über Tastatur erwartet wird. Die Spezifikation des Programmnamens erfolgt dabei implizit durch Drücken einer Taste. Zulässige Tasten sind dabei die Standardtasten (1, 2, ..., 0, a, b, c, ...; entsprechende Programmnamen sind ar_1, ar_2, ..., ar_0, ar_a, ar_b, ar_c, ...) bzw. die Funktionstasten (F1, F2, ...; entsprechende Programmnamen sind dabei ar_f1, ar_f2, ...). Der Autorouter ermöglicht den ereignisgesteuerten Aufruf von User Language-Programmen. Dabei lösen spezielle Ereignisse bzw. Operationen implizit, d.h. automatisch den Aufruf von User Language-Programmen mit definierten Namen aus, sofern diese verfügbar sind. Im Einzelnen sind dies die User Language-Programme ar_st beim Starten des Autorouters, ar_load nach dem Laden eines Elements, ar_save vor dem Speichern eines Elements, ar_tool bei Selektion eines Toolbarelements sowie ar_zoom bei Änderung des Zoomfaktors. Der Aufruf über die Startupsequenz der Interpreterumgebung eignet sich besonders zur automatischen Voreinstellung von modulspezifischen Parametern sowie zur Tastaturprogrammierung und Menübelegung. Der implizite Aufruf von User Language-Programmen nach dem Laden bzw. vor dem Speichern von Elementen ermöglicht die automatische Aktivierung elementspezifischer Bearbeitungsparameter wie z.B. des zuletzt selektierten Zoombereichs oder spezieller Farbeinstellungen. Bei Interaktionen in der Werkzeugliste werden die den selektierten Toolbarelementen zugewiesenen Funktionen ausgelöst. Die Änderung des Zoomfaktors kann dazu benutzt werden, Aktualisierungen in Funktionen zur Verwaltung von Entwurfsansichten auszulösen. Mit der Bartels User Language werden darüber hinaus mächtige Systemfunktionen zur Tastaturprogrammierung und Menübelegung sowie zur Definition von Werkzeugleisten (Toolbars) zur Verfügung gestellt. Beachten Sie bitte, dass über die mit der BAE-Software ausgelieferten User Language-Programme eine Vielzahl von Zusatzfunktionen implementiert und transparent in die Benutzeroberfläche des Autorouters eingebunden sind. Eine ausführliche Beschreibung der Bartels User Language finden Sie im Bartels User Language Programmierhandbuch (Kapitel 4.2 enthält eine Auflistung aller mit der BAE-Software ausgelieferten User Language-Programme). Neuronales RegelsystemIm Bartels AutoEngineer sind eine Reihe mächtiger Zusatzfunktionen mit Auswirkungen auf die Arbeitsweise des Autorouters über das integrierte Neuronale Regelsystem implementiert. Kapitel 6.3.2 enthält eine Übersicht über die im Leiterkartenlayoutsystem bereitgestellten Regelsystemanwendungen. 4.5.5 OptionenBevor Sie den Autorouter-Lauf starten, sollten Sie über das Menü bzw. den Dialog die Parameter einstellen, mit denen der Router die Leiterkarte entflechten soll. Mit Hilfe dieser Parameter werden prinzipiell die Designregeln für die automatische Leiterkartenentflechtung 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 Autorouter in der Projektdatei mit abgespeichert und müssen daher bei späteren Autorouter-Läufen nicht nochmals eingestellt werden, sofern das Routing mit den zuvor definierten Parametern durchgeführt werden soll. Routingraster, Standard-Leiterbreite, Standard-MindestabstandSofern der Gridless-Router des Autorouters nicht aktiviert ist (siehe unten), arbeitet der Autorouter rasterorientiert. Der Anwender kann vor dem Start des Autoroutings das Routingraster festlegen. Dies geschieht mit der Funktion im Menü . Die möglichen Eingaben sind in Tabelle 4-1 aufgelistet.
Beim ersten Autorouter-Aufruf ist die Auflösung per Default auf eingestellt. Jede Neueinstellung wird mit dem Layout abgespeichert und setzt automatisch auch die Standard-Leiterbahnbreite und den Standard-Mindestabstand auf Defaultwerte (siehe Tabelle 4-1). 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. Soll z.B. ein SMD-Layout mit einer Auflösung von 1/40 Zoll entflochten werden, dann empfiehlt es sich, nach der Definition der Auflösung die Werte für die Standard-Leiterbahnbreite und den Standard-Mindestabstand auf z.B. jeweils 0.2mm einzustellen, damit der Autorouter zur Realisierung normaler Leiterbahnen die Pinkanäle zwischen benachbarten Anschlüssen von SO-Gehäusen nutzen kann. Die Auflösung 1/60 Zoll erlaubt das Verlegen von zwei Leiterbahnen zwischen benachbarten Anschlüssen von DIL-Gehäusen. Um eine saubere Ausmittelung der Leiterbahnen in den entsprechenden Pinkanälen zu erreichen, wird in diesem speziellen Fall intern die gesamte Routingmatrix um 1/120 Zoll verschoben. Neben den in Tabelle 4-1 aufgeführten Standard-Routingrastern besteht zusätzlich die Möglichkeit, ein beliebiges Routingraster (z.B. metrisch oder für spezielle Pin-Grids) zu wählen. Dies geschieht mit der Option im Routingraster-Auswahlmenü der Funktion des Menüs . In diesem Fall werden die Standard-Leiterbahnbreite und der Standard-Mindestabstand auf den halben Wert des gewählten Routingrasters eingestellt (also z.B. auf 0.55mm, wenn ein Raster von 1.1mm gewählt wurde). Der Bartels AutoEngineer verfügt über eine Offgrid-Erkennung. Dadurch kann der Autorouter auch Pins anschließen, die nicht im aktuell eingestellten Routingraster liegen (z.B. Stecker mit metrischem Pin-Grid). Grundsätzlich sollte der Anwender jedoch bereits bei der Bauteilplatzierung dafür sorgen, dass - soweit möglich - die Bauteilanschlü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 1/80 Zoll Raster viermal so viel Speicher benötigt wie im 1/40 Zoll 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 Autorouter zu bewertenden möglichen Wegevarianten in einem noch viel stärkeren Maß als der Speicherplatzbedarf zunimmt. Bei fast allen Auflösungen kann angegeben werden, ob mit oder ohne Via-Versatz geroutet werden kann. Durch das Versetzen der Vias kann die Anzahl der durch Durchkontaktierungen gesperrten Kanäle drastisch verringert und damit das Routingergebnis entsprechend verbessert werden (siehe Abbildung 4-5). Die Standardwerte sind für Vias kleiner 1mm berechnet. Sofern größere Vias verwendet werden, sollte der Via-Versatz abgeschaltet werden, da sich sonst das Routingergebnis dramatisch verschlechtern könnte. Die Standard-Leiterbreite gibt an, mit welcher Leiterbahnbreite der
Autorouter 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 Autorouter keine Leiterbahnen verlegen darf. Die Lagenzahl ist per Default entsprechend der im Layouteditor vorgenommenen Definition der Obersten Lage (Bestueckseite), die Vorzugsrichtungen sind abwechselnd auf horizontal und vertikal (beginnend bei Signallage 1) eingestellt. und kann die Anzahl der Signallagen 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 Bartels AutoEngineer ist in der Lage, bis zu 12 Signallagen simultan zu routen. Die Zählweise der Lagen beginnt mit der Signallage 1 (Lötseite). Der Autorouter benutzt alle nicht als Sperrlagen definierte Routinglagen für das Verlegen von Leiterbahnen. Die Entflechtung von Single-Layer-Platinen ist damit z.B. mit einer Routinglagenzahl von 2 und der gleichzeitigen Definition der Lage 1 (Lötseite) zur Sperrlage mit Hilfe der Lagenzuordnung möglich. Alle für die Enflechtung relevanten Objekte auf Sperrlagen werden vom Autorouter entsprechend berücksichtigt. Diesen Umstand und die Möglichkeit der Definition von Sperrlagen kann man sich z.B. zunutze machen, um Via-Sperrflächen zu vorzugeben. Hierzu sind z.B. bei einem Zwei-Lagen-Layout zunächst im Layouteditor entsprechende Sperrflächen auf der Signallage 3 zu definieren; anschließend kann der Autorouter aufgerufen werden, die Routinglagenzahl ist auf 3 einzustellen und die Routinglage 3 als Sperrlage zu definieren. Danach kann das Routing gestartet werden, wobei der Autorouter die Signallagen 1 und 2 für die Entflechtung benutzt und zugleich die auf der Signallage 3 definierten Sperrflächen als Bereiche erkennt, in welchen er keine (über alle Signallagen definierten) Durchkontaktierungen setzen darf. 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. Wenn z.B. bei einer Multilayer-Platine mit SMD-Bestückung die Anforderung besteht, die Außenlagen zunächst nur zur Ankontaktierung der SMD-Anschlüsse in die Innenlagen zu verwenden, dann könnte man (über und ) zunächst einen Router-Pass zum Vorverlegen von SMD-Vias starten. Anschließend werden die Außenlagen zu Sperrlagen definiert und es wird z.B. ein komplettes Initialrouting - ggf. auch mit anderen Vorzugsrichtungen, als beim Vorverlegen von SMD-Anschlüssen - durchgeführt. Ergebnis wäre ein Layout, dessen Außenlagen nur die SMD-Anschlüsse in die Innenlagen enthalten, während die eigentliche Entflechtung in den Innenlagen vorgenommen wurde.Der Bartels AutoEngineer kann außer den normalen Signallagen noch bis zu 12 Versorgungslagen in den Routingprozess mit einbeziehen. Auf diesen Versorgungslagen können zusätzlich Potentialflächen definiert sein (Split Power Planes). Bei der Verwendung von Versorgungslagen erzeugt der Autorouter über Durchkontaktierungen automatisch die korrekten Anschlüsse der SMD-Pins in die Versorgungslagen bzw. zu den darin definierten Potentialen (Power Layer Routing bzw. Split Power Plane Routing). Damit können vom Bartels AutoEngineer Multilayer-Platinen mit bis zu 24 Lagen entflochten werden. Maximal zulässige ViaanzahlMit der Funktion kann die maximal zulässige Anzahl Vias pro Verbindung festgelegt werden. Die Default-Einstellung ist 20. Wird der Wert 0 definiert, dann versucht der Autorouter, 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-RasterMit lässt sich das Raster für die Platzierung der Durchkontaktierungen auf 1/10 oder 1/20 Zoll einstellen. Per Default ist hier kein Raster vorgegeben ( ). Dieser Optionsparameter kann auch zwischen unterschiedlichen Routerläufen (d.h. ohne Router-Neustart) geändert werden. Dabei ist allerdings zu beachten, dass bei einer Einschränkung des Via-Rasters nur dann Vias umplatziert bzw. eliminiert werden, wenn sich dadurch keine Verschlechterung des Routergebnisses ergibt, d.h. wenn dadurch die Anzahl der bereits gerouteten Verbindungen nicht abnimmt.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 1/40 Zoll - sofern nötig - zusätzlich das Routingraster 1/80 Zoll 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.Gridless Routing im Neuronalen AutorouterIm Autorouter ist ein regelgesteuerter, rasterfrei arbeitender Router (Gridless Router) integriert. Normalerweise ist der Gridless Router deaktiviert. Dies entspricht der Einstellung in der Funktion des Menüs . Zur Aktivierung des Gridless Routers ist über die Funktion einfach die Option zu selektieren. Der Gridless Router arbeitet selektiv, d.h. rasterfreies Routen wird nur lokal an solchen Stellen durchgeführt, wo dies eine Verbesserung hinsichtlich der Entflechtbarkeit bzw. der Fertigungsfreundlichkeit bewirkt. Beim rasterfreien Routen ergeben sich sehr viel mehr Möglichkeiten der Belegung von nicht im Raster liegenden Pinkanälen, wodurch die Entflechtbarkeit komplexer Layouts entscheidend erhöht werden kann. Offgrid-platzierte Pins, d.h. Pins, die nicht im Raster liegen, werden durch den Gridless Router in der Regel auf direkterem Wege angeschlossen. Hierbei kann der Router auch über längere Strecken hinweg vom Raster abweichen, wodurch zum einen die Blockierung benachbarter Pins bzw. Pinkanäle vermieden werden kann, und zum anderen das Layout insgesamt besser für die Fertigung optimiert wird. Im Modus kann der Router zudem zwischen rasterfrei platzierten Pins unter Berücksichtigung (d.h., in diesem Fall besser gesagt Ausnutzung) der aktuell eingestellten Mindestabstände hindurchrouten. Damit lassen sich speziell bei dichtbepackten SMD-Platinen erheblich bessere Routingergebnisse erzielen.Im Gridlessmodus werden lediglich die Anschlussegmente an rasterfrei platzierten Pins solange wie möglich gerade gehalten bevor ins Routingraster abgeknickt wird. Beim normalen Routen von Leiterbahnen werden in diesem Modus keine Gridlessabfragen durchgeführt, d.h. es kann z.B. nicht allen Fällen wo dies möglich wäre zwischen rasterfrei platzierten Pins hindurchgeroutet werden.WarnungBeachten Sie, dass aufgrund der Verwendung zusätzlicher interner Datenstrukturen (Priority Tree) für das rasterfreie Routen ein gesteigerter Bedarf an Hauptspeicher und Rechenleistung entsteht. Bahnen Ongrid/OffgridDie Funktion Abbildung 4-6). ermöglicht die Festlegung, ob Leiterbahnknicke nur auf dem Routingraster liegen dürfen, oder auch Offgrid ( , Default-Einstellung) abgeknickt werden darf. Befinden sich auf der Leiterkarte sehr viele rechteckige bzw. quadratische Lötaugen, dann empfiehlt es sich u.U., auf einzustellen, damit die Mindestabstände zwischen geknickten Leiterbahnsegmenten und Lötaugenecken nicht unterschritten werden (siehe hierzuPin-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 ( ; Default-Einstellung), oder ob diese Anschlussart unterdrückt werden soll ( ). 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.4.5.6 SteuerungÜber das Menü können verschiedene Router-Steuerungsparameter eingestellt werden.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 Autorouter 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 dringend abzuraten. Wenn die Patternsuche deaktiviert ist, dann erfolgt einfach eine sequentielle Abarbeitung der Verbindungen. Dies kann durchaus ausreichend sein für abschließende Optimiererläufe, wobei allerdings zu bedenken ist, dass für die Verschiebung oder Begradigung ganzer Leiterbahnbündel dann ggf. mehrere Durchläufe des Fertigungsoptimierers notwendig sind. ) sind netzübergreifende Via-Optimierungen, die eine gewisse Rechenzeit benötigen, jedoch 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. SMD Via-VorlegenDer Bartels AutoEngineer verfügt über ein spezielles Routingverfahren zur Vorverdrahtung von SMD-Anschlüssen (SMD-Fanout-Routing). Dieser Initiallauf kann mit Hilfe der Funktion im Menü abgeschaltet (Default; ) oder aktiviert werden ( ). Ist die Option zur Durchführung der SMD-Via-Vorverdrahtung aktiviert, dann werden - soweit möglich bzw. sinnvoll - in einem dem eigentlichen Initialrouter-Lauf vorgeschalteten speziellen SMD-Via-Routerlauf alle zu verdrahtenden SMD-Pins mit Leiterbahnanschlüssen zu Durchkontaktierungen versehen, wobei sich die Routing-Richtung sinnvollerweise nach Form und Lage der anzuschließenden SMD-Pads ausrichtet. Hierbei bleiben die über die Lagenzuordnung vorgegebenen lagenspezifischen Vorzugsrichtungen unberücksichtigt, um die Blockierung von PLCC/SMD-Pinkanälen bzw. PLCC/SMD-Anschlüssen, die entgegen der Vorzugsrichtung angeordnet sind, zu vermeiden. Durch diese Art der Vorverdrahtung soll beim SMD-Routing mit mehr als zwei Signallagen möglichst frühzeitig eine einigermaßen sinnvolle Vorgabe für die weitgehende Vermeidung der extensiven Nutzung der SMD-Außenlagen erreicht werden. SMD-Pins, die bereits über fixierte Leiterbahnen verbunden sind, werden von diesem Verfahren ausgenommen. Spätestens bei der Optimierung werden eventuell überflüssige SMD-Via-Routes wieder eliminiert. Bei der Verwendung des Verfahrens zur Vorverdrahtung von SMD-Anschlüssen ist allerdings zu beachten, dass u.U. überflüssige Durchkontaktierungen erzeugt werden, und sich der Autorouter 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. Platzierungsoptimierung im Rip-Up-RouterDer Rip-Up/Retry-Router des Autorouters bedient sich integrierter Funktionen zur Platzierungsoptimierung durch selektive Bauteil- und Pin/Gate-Swaps. Dieses Verfahren kann über die Funktion im Menü wahlweise aktiviert (Option ) bzw. deaktiviert (Option ; Default) werden. Ist die Platzierungoptimierung aktiviert, dann führt der Rip-Up-Router nach Bedarf Pin/Gate-Swaps durch, um die Entflechtbarkeit der getauschten Bauteile, Gatter oder Pins zu erhöhen bzw. überhaupt zu ermöglichen und dadurch schneller zu einem komplett gerouteten Layout zu gelangen. Die Auswahl der Swaps erfolgt selektiv, d.h. es werden nur solche Swaps ausgeführt, die auch tatsächlich eine Vereinfachung des Entflechtungsproblems bewirken. Die Platzierungsoptimierung unterliegt natürlich dem Backtrackingverfahren des Routers, d.h. Swaps, die eine Verschlechterung des aktuellen Routingergebnisses bewirken, werden automatisch zurückgenommen. Selbstverständlich wird die Zulässigkeit der Swaps anhand der jeweiligen Bauteildefinitionen aus der Logischen Bibliothek überprüft. Von der Platzierungsoptimierung ausgenommen bleiben fixierte Bauteile sowie Pins, die bereits über fixierte Leiterbahnen angeschlossen sind. Wurden vom Autorouter Pin/Gate-Swaps durchgeführt, dann wird beim Speichern des Layouts ein spezieller Datenbankeintrag erzeugt, der im Schaltplaneditor ausgewertet wird und die automatische Durchführung notwendiger -Prozesse beim Laden von Schaltplänen aktiviert (siehe hierzu Kapitel 2.7. Im Packager wird dieser Datenbankeintrag ebenfalls ausgewertet, um den Anwender ggf. über eine Bestätigungsabfrage auf die Notwendigkeit zur Durchführung der vor dem nächsten Packager-Lauf hinzuweisen (siehe hierzu Kapitel 3.2.3). ZwischenspeichernDie Funktion ermöglicht das automatische Zwischenspeichern von Teil-Routingergebnissen (Default) oder die Abschaltung dieser Funktion.4.5.7 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 Autorouter die komplette Lösung des gestellten Verdrahtungsproblems. Der Autorouter 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.Vorzugsraster, Anti-Vorzugsraster-KostenZur besseren Leiterbahnverteilung auf Leiterkarten kann ein im Bereich von 0 bis 7 angegeben werden. Mit der Voreinstellung 0 ist kein Vorzugsraster selektiert. Mit höheren Vorzugsrasterwerten wird bevorzugt jeder 2. (bzw. 4., 8., 16., 32., 64. oder 128.) Rasterpunkt geroutet. Mit den wird vorgegeben, wie stark ein Routen außerhalb des Vorzugsrasters bestraft werden soll. Vorzugsrastereinstellungen sind nur für Layouts sinnvoll, auf denen entsprechend viel Freiraum vorhanden ist. Die Kostenfaktoren sollten schon beim ersten Start des Autorouters entsprechend eingestellt werden. Ein nachträgliches Optimieren erfordert mehrere Optimiererläufe und kann daher sehr zeitaufwändig werden. Es sei auch darauf hingewiesen, dass eine entsprechend hohe Einstellung der Kostenfaktoren ein Routen von Umwegen begünstigen kann.Anti-Netzbereich-Kosten (BAE HighEnd)Der Strategieparameter BAE HighEnd unterstützt. Damit wird vorgegeben, wie stark ein Routen außerhalb vorgegebener netzspezifischer Routingbereiche bestraft werden soll. Ein hoher Wert weist den Router an, netzspezifische Routingbereiche nach Möglichkeit nicht zu verlassen, ein niedriger Wert gestattet ein häufigeres Verlassen vorgegener netzspezifischer Routingbereiche. Für diesen Strategieparameter können Werte von 0 bis 5 angegeben werden, die Standardeinstellung ist 1. wird nur in4.5.8 AutorouterprozedurenDer Autorouter unterstützt verschiedene Autorouting-Algorithmen bzw. Autorouter-Prozeduren wie , Initialrouting, SMD-Fanout-Routing, Rip-Up/Retry-Routing, Optimierer, Änderungsrouten, usw. Die entsprechenden Funktionen zur Aktivierung dieser Routingprozesse finden sich in den Menüs ( , , , und ), ( ) und ( , ). Wird im Neuronalen Autorouter eine dieser Prozeduren aktiviert, nachdem über das Menü grundlegende Routerparameter (Lagenanzahl, Routingraster, Freigabe/Sperren des Halbrasters, Standard-Leiterbreite, Standard-Mindestabstand oder Pinanschluss-Verfahren) geändert wurden, dann wird automatisch das aktuelle (unfixierte) Routingergebnis verworfen und die selektierte Autorouter-Prozedur wird mit den geänderten Optionen neu aufgesetzt. Beachten Sie, dass die Autourouting-Prozesse in BAE HighEnd aufgrund der Verwendung effizienterer, interner Datenstrukturen (HighSpeed Kernel) um etwa 30 Prozent schneller ablaufen als in BAE Professional. Nach dem Start einer Autorouter-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. 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.SMD Via-VorlegenDie Funktion Kapitel 4.5.6) vorher gesetzt wurde. dient der Vorplatzierung von Vias für alle angeschlossenen SMD-Pins ("SMD Fanout Routing"). Dabei bestimmt die Kanalbreite die maximal zulässige Abweichung von der Vorzugsrichtung. Diese Prozedur wird vom (siehe unten) automatisch als erster Routing-Pass aktiviert, wenn der entsprechende Parameter zur Routersteuerung mit der Funktion im Menü (sieheVoll-AutorouterDie Funktion Kapitel 4.5.6) vorher gesetzt wurde. führt einen vollautomatischen Router-Durchlauf mit allen Router-Passes (SMD-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 SMD-Anschlüssen wird nur dann durchgeführt, wenn der entsprechende Parameter zur Routersteuerung mit der Funktion im Menü (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.EinzelnetzroutingDer im Autorouter integrierte Single-Net-Autorouter dient der automatischen Entflechtung einzelner, selektierbarer Signalnetze bzw. Verbindungen. Damit können z.B. Stromversorgungsnetze oder kritische Leiterbahnen unter Berücksichtigung spezifischer Vorgaben für Leiterbreiten, Mindestabstände, Lagenzuordnungen, usw. selektiv vorverlegt werden. Der Single-Net-Router wird mit der Funktion Autorouters aktiviert. Die Auswahl des zu verdrahtenden Signalnetzes erfolgt durch Selektion eines entsprechenden Pins oder einer (vorverlegten) Leiterbahn des gewünschten Netzes. im Menü desComponent-RoutingMit der Funktion aus dem Menü können mausselektierte Bauteile verdrahtet werden. Es werden dabei alle am jeweils selektierten Bauteil angeschlossenen Netze geroutet.Vollautomatische Platzierung und EntflechtungMit der Funktion aus dem Menü werden die nacheinander die Prozeduren und aktiviert. Damit ist eine vollautomatische Platzierung und Entflechtung des Layouts möglich.Selektive Airlineanzeige und Netzgruppen-RoutingBei der Auswahl der Layouteditor Funktionen zum Ein- und Ausblenden von Netzen für die Airlineanzeige zur Verfügung. Ausgeblendete Netze werden vom Autorouter nicht geroutet. Diese Einstellungen können zwischen einzelnen Routerläufen geändert werden. So ist es z.B. möglich, mit zunächst selektiv einzelne Netze einzulesen und dann die Netzsichtbarkeit anderer Netze zu ändern, um diese neu hinzuzurouten. -Funktion stehen wie imBereichs- und Blockrouting im Autorouter der BAE HighEnd VersionIn
BAE HighEnd ist im
Autorouter die Vorgabe von Routingbereichen für Netztypen möglich. Die Routingbereiche sind im
Layouteditor als Dokumentarflächen auf Signallagen zu definieren. Zusätzlich sind an diese Dokumentarflächen (mit dem
User Language-Programm
gedrule) Regeln zuzuweisen, aus deren Prädikat
4.5.9 Durchführung des AutoroutingsAufruf des AutoroutersSofern Sie sich nicht im
Layouteditor befinden, sollten Sie diesen zunächst aufrufen und das Layout
OptionsvorgabenEs soll nun für das Beispiellayout ein Routing auf 3 Signallagen mit speziellen Router-Passes durchgeführt werden. Stellen Sie zunächst mit den folgenden Kommandos die Routinglagenzahl auf 3 ein:
Stellen Sie mit den folgenden Kommandos die Auflösung auf 1/40 Zoll ohne Via-Versatz, sowie die Standard-Leiterbahnbreite und den Standard-Mindestabstand auf 0.3mm ein:
Bilddarstellung, LayoutanzeigeStellen Sie nun über das Menü die Breitendarstellung auf den Wert 0.1mm ein, und rufen Sie die Funktion auf:
Router-Batch-LaufDefinieren Sie nun mit der Funktion einen Router-Batch-Lauf bestehend aus mit Routingkanalbreite 4, Initialrouting Komplettdurchgang sowie einem Optimierer-Lauf:
Die Eingabe eines Bindestrichs auf die Abfrage nach dem neuen Pass bewirkt das Löschen des selektierten Eintrags aus dem . Die Reihenfolge, in der die Router-Passes mit der Funktion definiert werden, gibt gleichzeitig die Abarbeitungsreihenfolge an, in der diese Router-Passes anschließend durch die Funktion ausgeführt werden. Starten Sie nun mit dem folgenden Kommando die zuvor mit definierten Router-Passes:
Das Router-Batchprogramm kann wahlweise auch ohne Umweg über die Beendigung von und die Aktivierung einfach durch Betätigung des -Buttons im Dialog der Funktion gestartet werden.Der erste Router-Pass führt eine Vorverdrahtung der SMD-Anschlüsse durch. Danach wird ein kompletter Initialrouting-Lauf durchgeführt. Nach dem Initialrouting ist das Layout bereits zu 100% entflochten. Abschließend erfolgt noch ein Optimiererlauf. Nach jedem einzelnen Router-Pass wird automatisch das aktuelle Routingergebnis gesichert. Nach Beendigung des letzten Routerlaufes sollte folgende Meldung in der Mitteilungszeile stehen: Max. 53 von 53 Routes (Pins: 76, Vias: 5) Der Autorouter hat das Layout also nun fertig entflochten und dabei 5 Durchkontaktierungen gesetzt. OptimierungFühren Sie nun mit den folgenden Kommandos einen zusätzlichen Optimiererlauf (ohne Patternerkennung, jedoch mit hoher Priorität zur Einhaltung der Vorzugsrichtung) durch:
Nach Beendigung des obigen Optimiererlaufes sind die Leiterbahnen soweit möglich entsprechend der eingestellten Vorzugsrichtungen verlegt. Der Preis hierfür ist eine Erhöhung der Viaanzahl auf 13. Verlassen des AutoroutersDer Autorouter kann mit einer der Funktionen , oder aus dem Menü verlassen werden. Die Funktion Bartels AutoEngineer (mit automatischer Sicherung des bearbeiteten Layouts). Mit der Funktion gelangen Sie (nach automatischer Sicherung des bearbeiteten Layouts) zurück in den Layouteditor, wo automatisch das gerade bearbeitete Layout geladen wird. bewirkt einen Rücksprung auf die Betriebssystemebene. Die Funktion bewirkt einen Rücksprung in die Shell desSpringen Sie also nun wieder zurück in den Layouteditor:
ÄnderungsroutingDie Verwendung von drei Signallagen erscheint für unser einfaches Beispiellayout etwas verschwenderisch. Wir wollen daher jetzt in einem erneuten Router-Lauf die Routinglagenzahl auf 2 reduzieren. Die vom vorhergehenden Routerlauf erzeugten Daten sollen dabei mit Hilfe der Funktion soweit möglich übernommen werden.Wechseln Sie also wieder in den Autorouter:
Setzen Sie nun die Routinglagenzahl auf zwei und aktivieren Sie die Funktion :
Die Funktion übernimmt die Routingdaten aus dem vorhergehenden Routerlauf. Da jedoch zwischenzeitlich die Routinglagenzahl auf 2 verringert wurde, können die zuvor auf der Signallage 3 gerouteten Verbindungen nicht wieder geladen werden. Die Anzeige in der Mitteilungszeile meldet daher nach der Ausführung der Funktion 9 offene Verbindungen (44 von 53 Routes) und eine Viaanzahl von 8 (anstatt 13).Stellen Sie nun die Vorzugsrichtung für den Optimierer wieder auf und starten Sie den , um die noch fehlenden Verbindungen einzulegen:
Nach dem Layouteditor zurückspringen. -Lauf ist das Layout - nun mit einer Viaanzahl von 6 und auf zwei anstatt 3 Signallagen - wieder zu 100% geroutet. Damit ist das Autorouting beendet, und Sie können mit den folgenden Kommandos wieder zum
Das Beispeillayout sollte jetzt entsprechend Abbildung 4-7 aussehen.
Autorouter |
|