Contour-Autorouter
Siehe auch Stichwort Autorouter. Dort wird der Hybrid-Autorouter beschrieben.
Der Contour Router verlegt Leiterbahnen, wobei durchaus Abstandsverletzungen und Kreuzungen zunächst zugelassen sind. In mehreren Routeläufen steigen die Kosten für derartige Regelverletzungen jedoch stetig an, so dass zum Schluss gar keine Fehler mehr vorkommen sollten. Dieser logische Ansatz sorgt dafür, dass beim Routen einer einzelnen Bahn bereits alle anderen Signale mitbeachtet werden können. Die Verwaltung der Routefläche intern ist voll vektororientiert, und somit im Speicherbedarf unabhängig von einem Raster (rein konturorientiert). Mit [ESC] lässt sich der Router abbrechen. Für größere Projekte mit feinen Strukturen (z.B. SMD oder Chip Design) und Layouts mit mehreren Route-Ebenen ist der Contour Router gut geeignet.
Signale
Folgendes Fenster öffnet sich durch klicken auf Menü Aktionen / Contour-Autorouter
TARGET 3001! listet zunächst alle verwendeten Signale links auf. Wenn Sie nur ein Signal routen möchten, dann wählen Sie es aus der Liste durch anklicken aus. Nehmen Sie ggf. die [Umschalt] oder die [Strg]-Taste hinzu. In der Mitte werden alle Design-Regeln eingestellt. Sie können entscheiden, welche Leiterbahnen Sie zuerst verlegt haben wollen. Die Mindest-Leiterbahnbreite bezieht sich auf alle Signale. Sollen hingegen z.B. Versorgungssignale breiter geroutet werden, dann muss folgender Eintrag in der Eigenschaftsliste der Signalbahn im Schaltplan(!) vorgenommen werden:
Alle Versorgungssignale werden dann mit einer Breite von 1 mm geroutet. Gleiches gilt für den Leiterbahn-Abstand, den Sie in den Signaleigenschaften individuell definieren können, wenn Sie von dem im Routerdialog genannten Standardwert abweichen wollen.
Der Autorouter definiert Durchkontaktierungen grundsätzlich auf Ebene "100 = auf allen Kupferebenen". Ihre Dimensionen werden bestimmt durch den Durchmesser des Bohrlochs und die Breite des Restrings. Bei einem Bohrlochdurchmesser von 0,600mm und einem Restring mit einer Breite von 0,300mm ums Bohrloch herum, ergibt sich ein Durchmesser der DuKo von 1,200mm.
Sie können die Reihenfolge der zu routenden Leiterbahnen folgendermaßen festlegen:
- Dicke Leiterbahnen zuerst routen: Signale mit größerer Leiterbahnbreite werden vor dünnen Signalen geroutet.
- Kurze Leiterbahnen zuerst routen: Signale mit kurzen Luftlinien werden vor Signalen mit großer Spannweite geroutet.
- Leiterbahn-Breite mindestens: Geben Sie hier die minimale Breite für Leiterbahnen ein. Die Eigenschaft MINDESTBREITE eines Signals im Schaltplan kann diesen Wert überschreiben, s. o.
- Bohrloch-Durchmesser mindestens: Geben Sie hier den Mindest-Bohrloch-Durchmesser für eine normale Durchkontaktierung ein.
- Breite des Restrings ums Bohrloch mindestens: Geben Sie hier die Mindestbreite des Kupferrestringes um das Bohrloch für die DuKo ein. Ein Restring entsteht, wenn das Kupferpad größer als die Bohrung ist.
Algorithmus
Router-Durchläufe:
- Busse vorab routen: Dieser Route-Durchlauf ist speziell auf Bus- und Speicherstrukturen zugeschnitten. Achtung: Diese Funktion routet nicht unbedingt die Signale, die an einem Bus angeschlossen sind. Generell werden alle parallel liegenden Signale zusammengefasst.
- Flucht-DuKos für SMD-Pads: Platziert bei kritischen SMD-Pads (z.B. PLCC-Gehäuse) Fan-Outs, d.h. der Router verlegt ein Stückchen Leiterbahn vom SMD-Pad und platziert automatisch eine Durchkontaktierung. Die SMD-Pads, die in einer Reihe mit der Vorzugsrichtung liegen, werden mit DuKos versehen, damit diese auch von einer Ebene mit gegenteiliger Vorzugsrichtung erreicht werden können.
Nach der Optimierungsphase bleiben dann nur die DuKos übrig, die im konkreten Fall auch wirklich verwendet wurden.
- Durchläufe (Entflechtphase): In der Entflecht-Phase werden die Leitungen einzeln unter Inkaufnahme von Abstandsverletzungen und Kreuzungen verlegt. Diese Verstöße werden jedoch zunehmend mit höheren Kosten beaufschlagt.
- Durchläufe (Optimierungsphase): In der Optimierungsphase sollen dann überhaupt keine Abstandsverletzungen mehr vorkommen. Die Vorzugsrichtungen werden jetzt ignoriert, um DuKos abzubauen. Der Optimierungsdurchlauf wird direkt nach dem Routlauf gestartet. Die Anzahl der Durchläufe kann man von 0 bis max. 15 eingeben. Der Autorouter strafft dabei alle Leiterbahnen und reduziert die Anzahl der Durchkontaktierungen, wobei die Anordnung der Vorzugsrichtungen aber aufgehoben wird. Bedeutung der hochlaufenden Anzeige während des Routlaufs in der Statuszeile:
....Die Zahl, die alleinstehend "hochgezählt" wird, ist ein interner Zähler (also ohne weitere Bedeutung) ....z.B.: AutoRouten: Signal PB4 7/6/21 (1/2)- 7. Signal (PB4), 6 (wieviel er schon von PB4 gepackt hat), 21 (gesamte Signalanzahl) - (1/2): 1 Signalinsel von Signalinseln übrig geblieben (2 Signalinseln sind zusammenzupacken. ...z.B.: Optimieren #1: Signal PB3 2/21 (1/2) - ...---#1: erster Optimierungsdurchlauf, 2. Signal (PB3) von 21 Signalen ...---(1/2): 1 Signalinsel von 2 Signalinseln übrig geblieben (2 Signalinseln sind zusammenzupacken Achtung: - Bei einseitigen Platinen werden nur die Leiterbahnen gestrafft! Der Optimierungsdurchlauf kann nicht alleine angestoßen werden, sondern nur in Verbindung mit dem Routlauf.
- Verbindungen, die in Regelverstöße verstrickt sind, wieder in Luftlinien umwandeln: Leiterbahnverbindungen, die an Abstandsverletzungen oder Kreuzungen mit anderen Signalen beteiligt sind, werden am Ende aufgerissen und als ungeroutete Luftlinien dargestellt.
Route-Optionen:
- Bereits vorhandene autogeroutete Leiterbahnen dürfen neu verlegt werden: Geben Sie an, ob bereits per Autorouter verlegte Bahnen aufgerissen und nochmals verlegt werden dürfen. Handverlegte Bahnen werden immer belassen.
- DuKos sind in SMD-Pads erlaubt: Aktivieren Sie dieses Feld, wenn Durchkontaktierungen in SMD-Pads erlaubt sind.
- Blinde DuKos sind übereinander erlaubt: Mehrere DuKos von verschiedenen Signalen dürfen übereinander plaziert werden (z.B. Sacklöcher oder blinde DuKos).
Route-Kosten: Falls der Router auf mehr als einer Kupferebene tätig werden soll, gelten in den verschiedenen Ebenen (orthogonale) Vorzugsrichtungen. Vielleicht will man auf der Bestückungsseite vornehmlich in Nord-Süd Richtung routen, auf der Lötebene vornehmlich in Ost-West Richtung. Hintergrund ist, dass man sich nicht durch "Querläufer" das Terrain verbauen will. Ein Schritt gegen die Vorzugsrichtung oder diagonal dazu ist somit unerwünscht und kostet etwas. In welcher Höhe der Routeralgorithmus diese jeweiligen fiktiven Kosten berücksichtigen soll, bestimmen Sie durch das Setzen eines entsprechenden Wertes in den Kästchen. Setzen Sie z. B. die Kosten für einen Schritt gegen die Vorzugsrichtung hoch an, werden vermehrt Durchkontaktierungen gesetzt.
- ... für einen Schritt in die Vorzugsrichtung: Jede Ebene kann also eine Vorzugsrichtung haben. Der hier eingetragene Wert ist der Preis für einen Schritt mit der Vorzugsrichtung. Die Kosten dafür sind niedrig anzusetzen.
- ... für einen Schritt diagonal: Dieser Preis entsteht für einen Schritt diagonal. Der Betrag ist relativ zum Preis "Mit der Vorzugsrichtung".
- ... für einen Schritt gegen die Vorzugsrichtung: Dieser Preis entsteht für einen Schritt gegen die Vorzugsrichtung. Der Betrag ist relativ zum Preis "mit der Vorzugsrichtung".
- ... für eine Durchkontaktierung: Dieser Preis entsteht für eine normale Durchkontaktierung. Der Betrag ist relativ zum Preis "...für einen Schritt in die Vorzugsrichtung".
- ... um einen Route-Zaun zu kreuzen: Route-Zäune können z.B. zwischen analogen und digitalen Schaltungsblöcken sinnvoll sein oder zwischen Schaltungsteilen mit hohen und niedrigen Spannungen. Ein Route-Zaun wird als Linie auf einer Route-Zaun Ebene gezeichnet. Ggf. muß dazu zunächst eine Ebene mit der Funktion Route:Zaun angelegt werden. Wird ein Route-Zaun von einem Signal überschritten, entstehen diese Kosten. Der Betrag ist relativ zum Preis "...für einen Schritt in die Vorzugsrichtung".
Route-Ebenen:
Hier werden alle route-fähigen Ebenen (links) aufgezählt, wenn nicht, drücken Sie auf den Knopf [Standard]. Wenn Sie bestimmte Ebene anklicken (blau markieren), können Sie im rechten Bereich bestimmen, wie auf dieser Ebene geroutet werden soll.
- ... ist für alle Signale geperrt: Auf dieser Ebene darf nicht geroutet werden.
- ... ist für alle Signale nutzbar: Diese Ebene ist normal verfügbar, hat aber ggf. eine Vorzugsrichtung (horizontal, vertikal, keine).
- Zusätzliche Route-Kosten für einen Schritt auf dieser Route-Ebene: Dieser Preis entsteht zusätzlich für einen Schritt auf dieser Ebene. Damit können die Ebenen verschieden "teuer" gemacht werden. Der Betrag gilt zusätzlich zum Preis "Mit der Vorzugsrichtung".
- ... ist nur für dieses Signal nutzbar: Auf dieser Ebene wird vorrangig das angegebene Signal (ohne Vorzugsrichtung) verlegt. Dort ein anderes Signal zu verlegen kostet extra, wie in Route-Kosten für einen Schritt eines anderen Signals angegeben ist
- Ebenen Zugabe: Dem jeweiligen Restring der DuKo auf den Außenlagen kann mehr Weite gegeben werden als auf den Innenlagen oder auf den Innenlagen kann ihnen Weite genommen werden. Die DuKo wird dadurch mit mehr mechanischer Belastbarkeit ausgestattet, weil sich das Lot auf den Außenlagen auf größerer Fläche anschmiegen kann.
Spezielle Dukos
Gestalten und verwalten Sie hier (oder im Dialog "Aktionen/DuKos als Padstacks definieren...") spezielle Durchkontaktierungen (Sacklöcher, Padstacks, Blind Vias, Buried Vias). Diese Art Durchkontaktierungen benötigen Sie unter Umständen, wenn Sie in Multilayer-Technik arbeiten.
- Spezielle Duko definieren (Padstack): Wenn Sie im obigen Dialog auf dieses Symbol klicken, können Sie neue DuKos als Padstacks erstellen. Wählen Sie zuerst einen geeigneten Namen für die Durchkontaktierung, die Sie definieren wollen. Nach Bestätigung mit OK sehen Sie im Feld links nun die Platinenebenen 0-99. Durch Anklicken wählen Sie nun die Kupferebenen aus, die Sie mit dieser Art DuKo durchkontaktieren wollen, z. B. "2 Kupfer unten" und "10 Kupfer innen". Betätigen Sie die Pfeil-Taste zum "Herüberholen" in das Auswahlfeld. Jetzt haben Sie eine DuKo definiert, die die beiden unteren Kupferlagen durchkontaktiert. Eine solche DuKo nennt man auch ein "Sackloch", engl. "Padstack". Wenn Sie eine zweite DuKo definieren, wieder mit einem eigenen Namen, könnten Sie zum Beispiel die Ebenen "16 Kupfer oben" und "13 Kupfer innen" durchkontaktieren. Nun hätten Sie eine DuKo für die beiden oberen Kupferlagen. Legt man diese beiden Arten DuKos direkt übereinander, erhält man eine sog. Blind Via. Blind deswegen, weil man, wenn man sie gegen das Licht hält, nicht hindurch sehen kann. Würden Sie beispielsweise lediglich die Innenlagen durchkontaktieren (Ebenen 10 und 13), so hätten Sie eine sog, Buried Via, eine vergrabene DuKo. Die virtuellen Ebenen ab Ebene 101 stehen für die Definition spezieller DuKos zur Verfügung. Jede individuelle DuKo wird auf einer Ebene ab 101 definiert und kann im Dialog "DuKo ändern" angewählt werden. Es wird Ihnen dann auch der Name der Duko im Dialog angezeigt.
- Mögliche Ebenen für die Duko: Ebenen, die noch hier stehen, werden von der Duko nicht benutzt.
- Von der Duko benutzte Ebenen (PadStack): Ebenen, die hier stehen, werden von der Duko benutzt.
- Mindest-Bohrloch: Stellen Sie hier den Mindestdurchmesser des Bohrloches für die Duko ein.
- Mindest-Restring: Stellen Sie hier den Mindestdurchmesser rings um das Bohrloch für die Duko ein.
- Kosten für diese Duko: Dieser Preis entsteht für eine Durchkontaktierung dieser Art. Der Betrag ist relativ zum Preis "...für einen Schritt in die Vorzugsrichtung".
- Zugabe auf dieser Ebene: Die Ausgabe in der markierten Ebene soll ringsum soviel breiter oder schmaler (-) sein als das Original Pad.
Bei Druck auf den Knopf "ACHTUNG!" erscheint der folgende Hinweis:
Der Contour-Autorouter liefert beim Beispielprojekt PIC.T3001 das folgende Ergebnis: