Willkommen bei Bartels
Cellrouter - Deutsche Version Cell Router - English Version
Bartels

Bartels System GmbH
[13.07.2017 13:03:54 [UTC]] Willkommen bei Bartels / AktualisiertBartels
Bartels AutoEngineer
BAE Produktinfo
BAE Preisliste
BAE Downloads
BAE Dokumentation
BAE Installationsanleitung
BAE Benutzerhandbuch
Vorwort
1 Einleitung
2 Schaltungsentwurf
3 Packager
4 Leiterkartenentwurf
5 IC-/ASIC-Entwurf
5.1 Allgemeine Hinweise
5.2 IC-Zellenbibliothek
5.3 IC-Maskenlayout
5.4 Cellplacer
5.5 Cellrouter
5.5.1 Cellrouter-Programmaufruf
5.5.2 Cellrouter-Hauptmenü
5.5.3 Cellrouter-Bedienungshinweise
5.5.4 Cellrouter-Optionen
5.5.5 Cellrouter-Steuerung
5.5.6 Cellrouter-Strategie
5.5.7 Cellrouter-Prozeduren
5.6 IC-Design Daten
6 Regelsystem
7 Utilities
BAE Bibliotheken
User Language Programmierhandbuch
BAE Update-Historie
BAE Nächste Version Freigabemitteilungen Vorabinfo
BAE V8.0 Freigabemitteilungen
BAE V7.8 Freigabemitteilungen
BAE V7.6 Freigabemitteilungen
BAE V7.4 Freigabemitteilungen
BAE V7.2 Freigabemitteilungen
BAE V7.0 Freigabemitteilungen
BAE V6.8 Freigabemitteilungen
BAE V6.6 Freigabemitteilungen
BAE V6.4 Freigabemitteilungen
BAE V6.2 Freigabemitteilungen
BAE V6.0 Freigabemitteilungen
BAE V5.4 Freigabemitteilungen
BAE V5.0 Freigabemitteilungen
BAE V4.6 Freigabemitteilungen
BAE V4.4 Freigabemitteilungen
BAE V4.2 Freigabemitteilungen
BAE V4.0 Freigabemitteilungen
BAE V3.4 Freigabemitteilungen
BAE Support
BAE Contrib
BAE Entwickler und Dienstleister
Elektronikentwicklung
Sport
Firmenprofil
Impressum
Bartels :: Bartels AutoEngineer :: BAE Dokumentation :: BAE Benutzerhandbuch :: IC-/ASIC-Entwurf :: Cellrouter
Bartels AutoEngineer® - Benutzerhandbuch

5.5 Cellrouter

Bartels AutoEngineer® Dokumentation

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-Programmaufruf

Der Cellrouter kann nur gestartet werden, wenn im Chipeditor bereits ein Chiplayout geladen ist. Auf diesem Layout sollte (mit der Funktion Neue Umrandung im Menü Flaechen) eine Chipumrandung definiert worden sein, und es sollte (mit der Funktion Definieren Via aus dem Menü Macros 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 Cellrouter im Menü Datei 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:

Befehl fuer dieses Element nicht erlaubt!
Ursache:kein Chiplayout geladen bei Aufruf Cellrouter
Abhilfe:Chipeditor - Datei - Laden - Chip Layout - ...
Die Umrandung fehlt!
Ursache:keine Chipumrandung definiert
Abhilfe:Chipeditor - Flaechen - Neue Umrandung - ...
Fehlende Standard-Via Definition!
Ursache:keine Viazuweisung definiert
Abhilfe:Chipeditor - Macros - Definieren Via - ...
Macros fehlen oder sind vom falschen Typ!
Ursache:noch nicht alle in der Netzliste definierten Zellen sind (mit der korrekten Zellendefinition) platziert
Abhilfe:ggf. Chipeditor - Macros - Update loeschen zur Elimination von mit falschen Zelldefinitionen platzierten Netzlistenzellen und anschließende interaktive bzw. automatische Platzierung der noch nicht platzierten Zellen
Die Optionsvorgaben widersprechen sich!
Ursache:im Menü Optionen wurden Parameter gewählt, die nicht kompatibel zueineander sind
Abhilfe:stellen Sie sicher, dass die Summe aus Standard Leiterbreite und Standard Mindestabstand nicht größer sind als die gewählte Aufloesung
Abbruch aufgrund vorangegangener Fehler!
Ursache:die aktuellen Chiplayoutdaten sind nicht für ein Routing mit den gewählten Parametern geeignet
Abhilfe:benutzen Sie Router Restart und korrigieren Sie die Optionen oder aktivieren Sie den Chipeditor um die in vorangegangen Fehlern gemeldeten Probleme mit dem Chiplayout bzw. der Zellenbibliothek zu beheben
Pad-Stack doppelt definiert!
Ursache:Chiplayout enthält; mehrdeutige Bibliotheksdefinition(en); z.B. Zelle(n) mit mehr als einem Pin an derselben Position
Abhilfe:Zellendefinition(en) korrigieren
Pad-Stack nicht gefunden!
Ursache:Chiplayout bzw. die verwendete Zellenbibliothek enthält; Zellendefinition(en) mit fehlenden Pindefinition
Abhilfe:fehlende Pindefinitionen hinzufügen
Pad doppelt definiert!
Ursache:Chiplayout enthält; mehrdeutige Bibliotheksdefinition(en); z.B. Pin(s) mit mehr als einer Anschlussfläche auf derselben Routinglage
Abhilfe:Pindefinition(en) korrigieren
Pin ausserhalb der Umrandung (<bauteilname>) !
Ursache:Netzlistenzelle bzw. Netzlistenpin außerhalb der Chipumrandung platziert
Abhilfe:Korrektur der Zellenplatzierung
Pin Kurzschluss mit Kupferflaeche!
Ursache:ein Zellenanschluss ist auf einer aktiven/leitenden Fläche platziert und verursacht einen Kurzschluss
Abhilfe:Kurschluss im Chipeditor durch Umplatzieren der betroffenen Zelle(n) bzw. Flächen eliminieren
Pin Kurzschluss mit anderem Pin!
Ursache:Zellenanschlüsse sind aufeinander platziert und und verursacht einen Kurzschluss
Abhilfe:Kurschluss im Chipeditor durch Umplatzieren der betroffenen Zelle(n) eliminieren
Via Pad-Stack als Via ungeeignet!
Ursache:die Liste der Durchkontaktierungen ist unvollstädig oder enthält eine ungültige Via-Definition
Abhilfe:Korrektur der Via-Definition(en); jedes Via muss Anschlussflächen für zumindest zwei adjazente Routinglagen enthalten, und die Vialiste muss die Routinglagen abdecken.
Leiterbahn ausserhalb der Umrandung!
Ursache:vorverlegte, fixierte Leiterbahn(en) außerhalb der Chipumrandung
Abhilfe:Leiterbahn(en) außerhalb der Chipumrandung freigeben bzw. löschen
Via ausserhalb der Umrandung!
Ursache:vorplatzierte, fixierte Durchkontaktierung(en) außerhalb der Chipumrandung
Abhilfe:Durchkontaktierung(en) außerhalb der Chipumrandung freigeben bzw. löschen
Allgemeiner Routerfehler!
Ursache:eine Routingprozeudr wurde gestartet trotz gemeldeter Fehler
Abhilfe:Cellrouter beenden (Programmende, Hauptmenue oder Chipeditor)
 

5.5.2 Cellrouter-Hauptmenü

Das Hauptmenü des Cellrouters beinhaltet die folgenden Menüs bzw. Funktionen:

Bilddarstellung
Programm-Setup
Programm-Start
Voll-Cellrouter
Optimierer
Einlesen Layout
Chipeditor
Optionen
Steuerung
Strategie

Im Menü Bilddarstellung, 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 Programm-Start dient dazu, einen vorher mit Programm-Setup festgelegten Ablauf unterschiedlicher Routerdurchläufe (Router-Passes) zu starten.

Die Hauptmenüfunktion Voll-Cellrouter 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 Optimierer startet einen einzelnen Durchlauf des Fertigungsoptimierers, welcher unnötige Vias eliminiert, Leiterbahnen glättet und (wenn möglich) auch optimaler verlegt.

Die Hauptmenüfunktion Einlesen Layout 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 den Chipeditor.

Das Menü Optionen 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ü Steuerung kann der Programmabbruch, der Rücksprung in das Hauptmenü des Bartels AutoEngineer oder der Router-Neustart veranlasst werden. Daneben enthält dieses Menü wichtige Kontrollfunktionen zur Steuerung des Routerablaufs (Anzahl der Optimiererläufe, Pin-Fanout-Router aktivieren/deaktivieren, automatisches Zwischenspeichern an- oder abschalten).

Das Menü Strategie enthält die Funktionen zur Festlegung der Strategieparameter und heuristischen Kostenfaktoren für die nachfolgenden Router- bzw. Optimiererläufe.

 

5.5.3 Cellrouter-Bedienungshinweise

Grafikausgabe und Statusanzeigen

Nach 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 (E - Einlesenen Bahnen, S - Pin-Viavorverlegen, I - Initialroutingpass, R - Rip-Up-Pass, P - Optimierer Patternsuchpass, O - Optimiererpass). Auf die Routerpass-Kennung folgt die Anzeige der Anzahl n der aktuell bearbeiteten Elemente in Relation zur Gesamtanzahl m der zu bearbeitenden Elemente in der Form n/m. Die Routerpass-Statuszeile wird abgeschlossen durch die Anzeige des c aktuellen Routerpasses in Relation zur Gesamtanzahl p der durchzuführenden Routerpasses in der Form c/p. Die angezeigten Werte sind kein zuverlässiges Maß für eventuell zu erwartende Gesamtroutzeiten, da die Bearbeitungszeit zur Realisierung einer Verbindung bzw. eines Netzes stark von der Komplexität der jeweiligen Bahnkonstellation abhängt.

Vom Menü Ansicht aus können Zoomfunktionen (Zoom Uebersicht, Zoom groesser und Zoom kleiner) zur Auswahl des anzuzeigenden Arbeitsbereiches aufgerufen werden. Üblicherweise wird man hierbei mit Zoom Uebersicht die Übersichtsdarstellung wählen, die auch per Default eingestellt ist. Die Funktionen zum Ändern des Zoomfaktors (Zoom groesser, Zoom kleiner) und Funktion Bildneuaufbau können nur dann ausgeführt werden, wenn die Layoutdaten bereits geladen sind. Die Funktion Zoom Uebersicht startet im Cellrouter automatisch die Prozeduren zum Laden des Chiplayouts, wenn dieses nicht bereits in den Arbeitsspeicher geladen wurden. Nach dem Laden der Layoutdaten bestehen Einschränkungen hinsichtlich der Änderbarkeit der Cellrouter-Optionsparameter (siehe unten).

Mit der Funktion Farbpalette aus dem Menü Ansicht kann die aktuelle Farbzuordnung definiert werden. Mit Farben laden lässt sich eine spezielle Farbtabelle laden. Beim Aufruf des Cellrouters wird automatisch die Farbtabelle mit dem Namen standard (aus der Datei ced.dat im BAE-Programmverzeichnis) geladen. Es empfiehlt sich in jedem Fall, die Farbpalette so einzustellen, dass alle Routinglagen angezeigt werden. Beim Routen mit partiellen Durchkontaktierungen kann es sinnvoll sein, die Farbeinstellung so zu definieren, dass die verwendeten Via-Typen unterschieden werden können.

Die Funktion Breitendarstellung (Default-Einstellung 1.5mm) aus dem Menü Ansicht 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 Potentialanzeige aus dem Menü Ansicht 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-Optionen

Bevor Sie den Cellrouter-Lauf starten, sollten Sie über das Menü Optionen 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 Optionen 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-Mindestabstand

Der Cellrouters arbeitet rasterorientiert. Der Anwender kann vor dem Start des Autoroutings das Routingraster festlegen. Dies geschieht mit der Funktion Aufloesung aus dem Menü Optionen.

Beim ersten Cellrouter-Aufruf ist die Auflösung per Default auf 6 um eingestellt. Mit der Option Anderes Raster 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 Standard Leiterbreite und Standard Mindestabstand). 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 routwidth mit einer entsprechenden Angabe für die Leiterbahnbreite definiert, dann wird das gesamte Netz in dieser Breite geroutet. Ist für ein Signal das Netzattribut powwidth definiert, dann werden die in der Bauteilbibliothek vordefinierten Anschlüsse zur Stromversorgung mit der entsprechenden Leiterbahnbreite angeroutet. Der Standard-Mindestabstand gibt an, welche Abstände beim Verlegen der Leiterbahnen von signalfremdem Strukturen mindestens einzuhalten sind. Ausnahmen hiervon bilden die Signalnetze, für die über das Netzattribut mindist ein spezieller Mindestabstand zu anderen Potentialen vorgegeben ist. Signale, für die Netzattribute definiert sind, werden vom Cellrouter automatisch mit höherer Priorität bearbeitet. Darüber hinaus kann über das Netzattribut priority für jedes Signalnetz explizit eine Routingpriorität vorgegeben werden. Weitere Ausführungen zur Definition von netzspezifischen Attributen zur Routersteuerung finden Sie in der Beschreibung des Utilityprogramms loglib (siehe Kapitel 7.11 dieses Handbuchs).

Routinglagenzahl und Lagenzuordnung

Über die Funktionen Routinglagenzahl und Lagenzuordnung kann die Anzahl der Routinglagen sowie der Typ der Lagen definiert werden. Dabei kann für jede Lage wahlweise eine Vorzugsrichtung (horizontal, vertikal, oder keine) angegeben werden. Es besteht auch die Möglichkeit, Sperrlagen zu definieren, auf welchen der Cellrouter keine Leiterbahnen verlegen darf.

Für die Routinglagenzahl können Werte von 2 bis 12 angegeben werden, d.h. der Cellrouter ist in der Lage, bis zu 12 Lagen simultan zu routen.Der Cellrouter benutzt alle nicht als Sperrlagen definierte Routinglagen für das Verlegen von Leiterbahnen. Single-Layer-Routing ist damit z.B. mit einer Routinglagenzahl von 2 und der Konfiguration einer der beiden selektierten Routinglage als Sperrlage möglich.

Die Definition der Lagenzuordnung (bei vorgegebener Routinglagenzahl) ist auch zwischen unterschiedlichen Routerläufen (d.h. ohne Router-Neustart) möglich. Dabei ist allerdings zu beachten, dass bei der Definition von Sperrlagen die darauf bereits gerouteten Leiterbahnen in nachfolgenden Routerläufen nur dann umverlegt bzw. wieder entfernt werden, wenn sich dadurch keine Verschlechterung des Routergebnisses ergibt, d.h. wenn dadurch die Anzahl der bereits gerouteten Verbindungen nicht abnimmt.

Maximal zulässige Viaanzahl

Mit der Funktion Max. Via-Zahl 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 Via Raster 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.

Halbraster

Das Menü Optionen enthält die Funktion Halbraster mit den Auswahlpunkten Standard 1:1 und Halbgrid 1:2. Mit Hilfe dieser Option kann gewählt werden, ob das über Aufloesung eingestellte Routingraster im Verhältnis 1:1 eingehalten werden soll (Standard 1:1, Default), oder ob der Router zusätzlich wahlweise auf einem um den halben Rasterabstand verschobenen Grid routen darf (Halbraster 1:2). 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-Anschlussart

Die Funktion Pin Anschluss 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 (Pin-Ecken frei), oder ob diese Anschlussart unterdrückt werden soll (Pin-Ecken sperren; 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ü Steuerung können verschiedene Router-Steuerungsparameter eingestellt werden.

Router Restart

Die Funktion Router Restart ermöglicht den Neustart des Routers mit geänderten Optionen und Strategien, wobei das im Hauptspeicher befindliche, aktuelle Routingergebnis verworfen wird. Nach einem Router Restart kann z.B. nach einer Änderung der Entflechtungsparameter (Routingraster, Halbrasterfreigabe, usw.) ein neuerlicher Routerlauf gestartet werden, ohne dass der Cellrouter verlassen werden muss.

Optimierungszahl

Mit der Funktion Optimierungszahl kann die Anzahl der Optimierungsdurchläufe für die Voll-Cellrouter-Funktion festgelegt werden (Wertebereich 0..99, Default 2). Die Optimierungszahl gibt an, wie viele Optimierungen nach dem Erreichen einer 100-prozentigen Entflechtung durch den Voll-Cellrouter durchzuführen sind.

Router-Cleanup, Optimierer-Cleanup

Cleanup-Läufe (Anzeige Pattern Suche) sind netzübergreifende Via-Optimierungen, die üblicherweise zu einer drastischen Reduzierung der Viaanzahl führen. Über die Funktionen Router Cleanup bzw. Optimierer Cleanup können diese Cleanup-Läufe im Rip-Up-Router bzw. im Optimierer ein- (Default) oder abgeschaltet werden. Durch die während der Cleanup-Läufe aktive netzübergreifende Mustererkennung kann der Cellrouter erkennen, welche Leiterbahnverläufe die Realisierung noch nicht verlegter Verbindungen bzw. das Umverlegen bereits gerouteter Bahnen blockieren. Bei komplexen Aufgabenstellungen und insbesondere für das Rip-Up-Routing ist daher von einem Abschalten der Cleanup-Läufe abzuraten. Wenn die Patternsuche deaktiviert ist, dann erfolgt eine sequentielle Abarbeitung der Verbindungen. Dies kann durchaus ausreichend sein für abschließende Optimiererläufe, allerdings sind für die Verschiebung oder Begradigung ganzer Leiterbahnbündel dann ggf. mehrere Durchläufe des Fertigungsoptimierers notwendig.

Rip-Up Baumzahl, Rip-Up Tiefe, Rip-Up Retries

Mit den Funktionen Rip-Up Baumzahl (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), Rip-Up Tiefe (maximale Rip-Up-Baumtiefe, Defaultwert 50, Wertebereich 1 bis 999) und Rip-Up Retries (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-Vorlegen

Der Cellrouter verfügt über ein spezielles Routingverfahren zur Vorverdrahtung von Zellenanschlüssen (Pin-Fanout-Routing). Dieser Initiallauf kann mit Hilfe der Funktion Pin Via-Vorlegen im Menü Steuerung abgeschaltet (Default; Via Vorlegen Aus) oder aktiviert werden (Via Vorlegen Ein). 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.

Zwischenspeichern

Die Funktion Zwischenspeichern ermöglicht das automatische Zwischenspeichern von Teil-Routingergebnissen (Default) oder die Abschaltung dieser Funktion.

 

5.5.6 Cellrouter-Strategie

Über das Menü Strategie können verschiedene Router-Strategieparameter eingestellt werden. Die hierbei änderbaren Kostenfaktoren sollten nur in Ausnahmefällen modifiziert und erst recht nicht auf Extremwerte gesetzt werden, da die Default-Einstellungen Erfahrungswerte sind, die für den Großteil der Routingprobleme die bestmögliche Routerstrategie darstellen.

Bei einer Änderung der Strategieparameter ist insbesondere zu bedenken, dass sich diese Parameter in den meisten Fällen in hohem Maß wechselseitig beeinflussen. So hat z.B. die Elimination von Vias (z.B. durch hohe Via-Kosten) in aller Regel zur Folge, dass in höherem Maße gegen die Vorzugsrichtungen verstoßen werden muss. Dadurch wird die Einstellung eines hohen Kostenfaktors für die Einhaltung der Vorzugsrichtung möglicherweise völlig kompensiert wenn nicht gar bedeutungslos.

Des Weiteren ist zu beachten, dass mit den Strategieparametern lediglich untergeordnete Optionen für die Entflechtung vorgegeben werden können. Viel wichtiger als z.B. die Einhaltung von Vorzugsrichtungen ist für den Cellrouter die komplette Lösung des gestellten Verdrahtungsproblems. Der Cellrouter versucht in jedem Fall die Leiterkarte zu 100% zu entflechten, wobei bestimmte Strategieparameter ggf. zunächst völlig unberücksichtigt bleiben müssen.

Tabelle 5-1: Cellrouter-Strategieparameter

StrategieparameterWertebereichDefaultWirkung im
Router
Wirkung im
Optimierer
V-Richtung optim.Normal
Vorzugsrichtung
Diagonal
Normal-x
Via-Kosten2..2010xx
Pinkanal-Kosten0..103x-
V-Richtung-Kosten0..51xx
R-Aend.-Kosten0..52-x
Pack-Kosten0..51x-
Stat. Verteilung0..5010x-
Bus-Abknickkosten0..52x-
Abstand-1-Kosten0..105x-
Abstand-2-Kosten0..102x-
Kreuzungskosten2..10020xx
Diagonal-Kosten0..105-x
Off-Grid-Kosten0..52xx

Vorzugsrichtungs-Optimierung

Über die Funktion V-Richtung optim. kann der Optimierer angewiesen werden, ohne Vorzugsrichtung (Normal, Default), mit Vorzugsrichtung (Vorzugsrichtung, für Schwallbadlötung ohne Lötstoplack) oder vorzugsweise diagonal (Diagonal, 45-Grad) zu optimieren.

Viakosten

Mit Via-Kosten 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-Kosten

Mit der Einstellung der Pinkanal-Kosten 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 V-Richtung-Kosten 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 Lagenzuordnung (Menü Optionen) 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 V-Richtung optim. (siehe oben) angewiesen wurde, die eingestellten Vorzugsrichtungen einzuhalten.

Richtungsänderungskosten

Mit R-Aend.-Kosten 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 Pack-Kosten 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 Verteilung

Mit Stat. Verteilung 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-Abknickkosten

Die Bus-Abknickkosten regeln das bei Busverbindungen notwendige Abknicken direkt nach einem durchlaufenen Pinkanal. Ein hoher Wert bewirkt eine hohe Priorität des Abknickens.

Rip-Up-Abstandskosten

Die Abstand-1-Kosten 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 Abstand-2-Kosten 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.

Kreuzungskosten

Die durch Kreuzungskosten 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-Kosten

Die Diagonal-Kosten 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 V-Richtung optim. angewiesen wurde, in Diagonal-Richtung zu optimieren.

Offgrid-Routing-Kosten

Mit Off-Grid-Kosten 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-Prozeduren

Die eigentlichen Routingfunktionen des Cellrouters können entweder direkt vom Hauptmenü oder über die Funktionen Programm-Setup und Programm-Start (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-Vorlegen

Die Funktion Pin Via-Vorlegen 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 Voll-Cellrouter (siehe unten) automatisch als erster Routing-Pass aktiviert, wenn der entsprechende Parameter zur Routersteuerung mit der Funktion Pin Via-Vorlegen im Menü Steuerung vorher gesetzt wurde.

Initialrouter Einzeldurchgang

Diese 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 Max. Via-Zahl eingestellten Wert und dem für den Initialrouting-Lauf angegebenen Wert.

Initialrouter Komplettdurchgang

Diese 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-Router

Diese 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.

Optimierer

Die Funktion Optimierer startet einen einzelnen Durchlauf des Fertigungsoptimierers. Der Optimierer eliminiert unnötige Vias eliminiert, glättet Leiterbahnen und verlegt letztere wenn möglich auch optimaler. Gleichzeitig versucht der Optimierer, 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 Max. Via-Zahl im Menü Optionen eingestellten maximal zulässigen Anzahl von Vias pro Verbindung.

Voll-Cellrouter

Die Funktion Voll-Cellrouter 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 Optimierungszahl im Menü Steuerung einstellbar. Der Initiallauf zur Vorverdrahtung von Pin-Anschlüssen wird nur dann durchgeführt, wenn der entsprechende Parameter zur Routersteuerung mit der Funktion Pin Via-Vorlegen im Menü Steuerung (siehe Kapitel 5.5.6) vorher gesetzt wurde.

Einlesen Layout

Die Funktion Einlesen Layout ermöglicht das Einlesen von bereits komplett oder teilweise gerouteten Layouts (Re-Entrant-Routing). Vor dem Start dieser Funktion sind unbedingt die Optionen (siehe Kapitel 5.5.5) und Strategien (siehe Kapitel 5.5.7) zu überprüfen und ggf. einzustellen. Leiterbahnen, die Designregeln verletzen (Kurzschlüsse, nicht im Routingraster liegende Leiterbahnen, nicht im Viaraster liegende Durchkontaktierungen, usw.), werden nicht übernommen. Die Übernahme fixierter Leiterbahnen erfolgt jedoch in jedem Fall auch ohne Aufruf dieser Funktion. Nicht fixierte, kreisbogenförmige Leiterbahnsegmente werden (falls möglich) durch gerade Leiterbahnsegmente ersetzt. Die Routingdaten werden also nicht einfach unverändert übernommen sondern vielmehr unter Berücksichtigung geänderter Netzlistenvorgaben oder Routeroptionen, neuer Sperrflächen- und Pindefinitionen, geänderter Viazuweisungen, umplatzierter Zellen, usw. evaluiert. Damit können mit Hilfe der Funktion Einlesen Bahnen Änderungen am Chiplayout vollautomatisch durchgeführt werden (Änderungsrouting). Hierzu ist zunächst die Funktion Einlesen Bahnen und anschließend typischerweise die Funktion Voll-Cellrouter aufzurufen, wobei letztere versucht, alle nunmehr fehlenden Verbindungen nachzurouten.

Programm-Setup und Programm-Start

Mit der Funktion Programm-Start kann ein zuvor mit der Funktion Programm-Setup festgelegter Router-Lauf mit bis zu 10 Router-Passes gestartet werden. Dabei können folgende Routingprozeduren aktiviert werden:

Kommando Routingprozedur
EEinlesen Layout
VVoll-Cellrouter
IInitialrouter Einzeldurchgang
PPin Via-Vorlegen
CInitialrouter Komplettdurchgang
RRip-Up/Retry-Router
OOptimierer
-keine Funktion (Router-Pass aus Batch entfernen)

Bei Initialrouter Einzeldurchgang sind die Routingkanalbreite und die maximal zulässige Viaanzahl pro Verbindung anzugeben. Pin-Via-Vorverlegen erfordert die Spezifikation der Routingkanalbreite. Optimierer verlangt die Angabe über die Anzahl der durchzuführenden Optimierer-Läufe wobei bis zu 999 Durchgänge aktiviert werden können.

Bartels :: Bartels AutoEngineer :: BAE Dokumentation :: BAE Benutzerhandbuch :: IC-/ASIC-Entwurf :: Cellrouter

Cellrouter
© 1985-2017 Oliver Bartels F+E • Aktualisiert: 11. October 2010, 10:32 [UTC]

© 1985-2017 Oliver Bartels F+E Bartels Startseite Kontakt und Impressum

Webentwicklung Baumeister Mediasoft Engineering

Cellrouter - Deutsche Version Cell Router - English Version