|
|
Bartels AutoEngineer IC Design besteht im Wesentlichen aus einem grafisch-interaktiven Chipeditor (IC-Maskeneditor) mit integriertem Zellen- bzw. Makrosymboleditor und Entwurfsregelprüfroutinen (DRC), dem Cellplacer zur automatischen Platzierung von Standardzellen und dem Cellrouter zur automatischen Entflechtung des IC-Layouts. Außerdem sind in der Software die Zusatzmodule GDS-View und CIF-View zum Importieren bzw. Prüfen von Zellenbibliotheken und IC-Maskendaten in den Formaten GDS und CIF enthalten. 5.1.1 Komponenten und LeistungsmerkmaleChipeditorDie Fließpunktarithmetik des grafischen Chipeditors ermöglicht, Daten metrisch (mm, µm) oder in Zollwerten (Inch, mil) frei zu definieren, dadurch jede erdenkliche Form für Anschlußflächen zu generieren und diese frei zu positionieren (z.B. Drehungen um einen bestimmten, auf acht Stellen hinter dem Komma vorgegebenen Winkel). Pinflächen, Zellen und geometrische Gebilde werden also nicht nur annäherungsweise dimensioniert bzw. platziert, sondern sitzen in der exakt vorgegebenen Größe exakt da, wo sie hingehören. Kreise sind auch auf dem Bildschirm echte Kreise und keine elliptischen Gebilde. Der Online-Check ermittelt rasterunabhängig auf acht Stellen hinter dem Komma die genauen Abstandswerte. Mit der gleichen Genauigkeit werden Abstandsverletzungen registriert und umgehend auf dem Bildschirm angezeigt. So können Fehlerquellen sofort erkannt und eliminiert werden, nachträgliche, komplizierte Korrekturen entfallen. Der Online-Check arbeitet inkremental und daher mit extrem hoher Geschwindigkeit (d.h. in Echtzeit!). Die zwanzigstufige -Funktion gewärleistet nicht nur Datensicherheit sondern ermöglicht auch, Alternativen parallel durchzuspielen.Beliebige Teile des Chips können - zu Gruppen zusammengefasst - bewegt, gedreht, gespiegelt, kopiert und archiviert werden. Gleiches gilt für Leiterbahnstrukturen ohne Zellen. Das spart, beispielsweise beim Erstellen spezieller Makrostrukturen, eine Menge Zeit. Das schnelle interaktive Platzieren von Zellen unter ständiger Aktualisierung der Verbindungen garantiert eine optimale Ausnutzung der Chipfläche. Während die Zelle auf dem Bildschirm bewegt wird, aktualisieren sich die Verbindungen ohne Zeitverlust dynamisch zum nächst gelegenen Anschlusspunkt. Alle Zellen lassen sich skalieren, spiegeln und um jeden beliebigen Winkel drehen. Es können beliebige Koordinaten für die Zellenplatzierung spezifiziert werden und auch Polarkoordinaten für die Platzierung von Zellen auf einem Kreisbogen sind möglich. Ein komfortabler Automatismus ergibt sich aus der Möglichkeit, Defaultwerte für die Drehung (in 90-Grad-Schritten) und Spiegelung der Zellen vorzugeben. Während des manuellen Platzierens kann - sofern über die Bibliotheksdefiniton konfiguriert - eine alternative Zellendefinition für die aktuell bearbeitete Zelle gewählt werden. Da das System netzorientiert und nicht pinorientiert ist, können Verbindungen nicht nur über Leiterbahnen, sondern auch über beliebige andere Anschlußflächen hergestellt werden. Es muss also nicht extra ein Anschlusspin oder eine Durchkontaktierung angefahren werden (echte Connectivity). Leiterbahnen und Anschlußflächen können mit Fließpunktgenauigkeit in jedem beliebigen Raster erstellt werden. Das gewünschte oder interaktiv bearbeitete Potential wird sofort "gehighlighted", das heißt aufgehellt dargestellt, und ist an jedem beliebigen Punkt des gleichen Netzes anschließbar. Bei der Verwendung partieller Durchkontaktierungen wählt das System automatisch das für den jeweiligen Lagenumstieg am besten geeignete Via. Aktive Flächen können stufenlos vergrößert bzw. verkleinert werden. Segmentlängen von Leiterbahnen und Kantenlängen von Anschlußflächen können jederzeit automatisch abgefragt werden. Konstruktionselemente können zu Dokumentationszwecken vom System bemaßt werden. Durch die Einbindung der Bartels User Language in den Chipeditor hat der Anwender die Möglichkeit, eigene Menüfunktionen (Makros), Import- und Exportfunktionen, Report-, Test- und Editierfunktionen, usw. zu implementieren, die er wahlweise explizit (über eine spezielle Menüfunktion) oder implizit (über Tastatur oder ereignisgesteuert) aktivieren kann. CellplacerDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. CellrouterMit dem Cellrouter wird die automatische Entflechtung des Chiplayouts vorgenommen. Der Cellrouter ist eine an die Anforderungen des IC- und ASIC-Layouts angepasste Variante des bekannten Bartels AutoEngineer mit seinen bewährten Backtracking- und Ripup- und Retry-Algorithmen. Der Cellrouter besticht durch die Verknüpfung sehr hoher Entflechtungsintelligenz mit hervorragender Fertigungsqualität. Die Ripup- und Retry-Algorithmen sorgen dafür, dass die Leiterbahnen zunächst für eine vollständige Entflechtung optimal verlegt und dann das Chiplayout noch einmal grundlegend in Richtung Fertigungsqualität optimiert. So werden bei der Entflechtung regelmäßig 100%-Ergebnisse erreicht. Der Algorithmus wird von einem Backtracking überwacht, das nicht nur eine Verschlechterung des Ergebnisses während Ripup oder Optimierung sowie ein Festfahren des Routers wirksam verhindert, sondern auch völlig neue Wegevarianten erschließt. Der selektive Ripup-/Retry-Algorithmus erlaubt es dem Cellrouter insbesondere auch, gezielt ganze Leiterbahnbündel zu verschieben, um so Platz für noch nicht verlegte Verbindungen zu schaffen (Push'n'Shove Routing). Der netzübergreifende Optimierer gewährleistet durch das komplette Neuverlegen der Leiterbahnen nach Kriterien der Fertigungsfreundlichkeit eine hohe Qualität des Chiplayouts. Der Durch Optimiereläufe wird die Anzahl der Durchkontaktierungen (Vias) ülicherweise erheblich reduziert, und gleichzeitig werden dabei kürzestmögliche Wegevarianten erschlossen, d.h. es werden redundante Leiterzüge eliminiert und Leiterbahnbegradigungen vorgenommen. Mit dem Cellrouter können bis zu 12 Routinglagen simultan entflochten werden. Die Funktionen des Cellrouters sind stark praxisorientiert. Vorverlegte Leiterbahnen und Potentialflächen werden automatisch identifiziert und korrekt ankontaktiert. Die Anschlussbreite ist pin- und nicht netzbezogen, T-Stücke werden automatisch konstruiert (Copper-Sharing). Der gesamte Routingvorgang kann am Bildschirm verfolgt und bei Bedarf jederzeit abgebrochen, fortgeführt oder mit geänderten Routingparametern neu gestartet werden. Bereits entflochtene Chiplayouts können automatisch vom Router an veränderte Platzierungen oder Netzlisten angepasst werden (Änderungsrouten, Re-Entrant-Routing). Dabei entfernt der Router selbsttätig nunmehr falsche Leiterbahnen und ergänzt fehlende. Das modifizierte Chiplayout kann dann nochmals optimiert werden. Die heute in der Chipfertigung eingesetzten Technologien werden vom Router voll unterstützt. Er erkennt alle frei definierbaren Strukturen (Anschlußflächen, Leiterbahnen, Durchkontaktierungen) und schließt sie auf dem bestmöglichen Wege an. Auch die nicht im Routingraster liegende Anschlüsse stellen durch die integrierte Offgrid-Erkennung kein Problem dar. Im Bereich der für das Chiplayout vorgegebenen Entwurfsregeln kann ein beliebiges Routingraster mit wahlweiser Aktivierung des Halbraster-Routingverfahrens selektiert werden. Optional kann ein Initialroutinglauf zur Generierung von Pinanschlüssen aktiviert werden. Der Cellrouter beherrscht selbstverständlich partielle Durchkontaktierungen. Durch die Definition von Sperrflächen kann der Router angewiesen werden, ausgewählte Bereiche auf unterschiedlichen Lagen des Chips von Leiterbahnen bzw. Vias freizuhalten. GDS-ViewGDS-View ist ein Grafikprogramm zur visuellen Kontrolle von GDS-II-Dateien und zur Überprüfung der darin enthaltenen Strukturen. Für das Einlesen kann gewählt werden ob nur die oberste oder alle Hierarchieebenen aus der angegebenen GDS-Datei geladen werden sollen. Zur Darstellung der Daten stehen Zoom- und Farbzuweisungsfunktionen zur Verfügung. GDS-View bietet darüber hinaus eine Funktion zum Abspeichern der aktuell geladenen GDS-Daten als Zellendefinition im internen Bartels AutoEngineer-Format sowie eine Batch-Funktion zum automatisierten Importieren von GDS-II-Standardzellenbibliotheken in das Bartels AutoEngineer IC-Design-System. CIF-ViewCIF-View ist ein Grafikprogramm zur visuellen Kontrolle von CIF-Dateien und zur Überprüfung der darin enthaltenen Strukturen. Zum Einlesen der CIF-Daten kann ein Skalierungsfaktor angegeben werden. Zur Darstellung der Daten stehen Zoom- und Farbzuweisungsfunktionen zur Verfügung. 5.1.2 IC-Design-ProgrammaufrufWenn Sie nicht auf einem System mit Mehrfenstertechnik und komfortablen Dialogen zur Verzeichnis- und Dateiauswahl arbeiten, dann empfiehlt es sich, den Aufruf des
Bartels AutoEngineers grundsätzlich aus dem Verzeichnis heraus vorzunehmen, in welchem die zu bearbeitenden Projektdateien abgelegt bzw. abzulegen sind. Wechseln Sie also zunächst in Ihr Projektverzeichnis. Zur Abarbeitung der in diesem Handbuch aufgeführten Beispiele ist es zweckmäßig, in das bei der Installation des
Bartels AutoEngineer angelegte Verzeichnis
Modernere Betriebssysteme mit Mehrfenstertechnik bieten Ihnen selbstverständlich komfortablere Möglichkeiten für den Aufruf des BAE-Hauptmenüs. Unter Windows wird beispielsweise eine BAE-Programmgruppe mit der Funktion zum Aufruf des BAE-Hauptmenüs im -Menü installiert. Ein Wechseln in Ihr Arbeitsverzeichnis ist vor dem BAE-Aufruf auch nicht unbedingt notwendig, wenn Ihr System komfortable Dialogfunktionen zur Datei- und Elementauswahl bietet. Nach dem Aufruf des BAE-Hauptmenüs erscheint auf dem Schirm das Bartels-Logo sowie folgendes Menü:
Die Funktion BAE HighEnd und im BAE IC-Design verfügbar, und der Menüpunkt ist nur im BAE IC-Design vorhanden. ist nur unter Windows bzw. Motif verfügbar, die Funktion ist nur inZum Arbeiten mit dem IC-Design-System wählen Sie den Menüpunkt mit der Maus an, und bestätigen Sie Ihre Wahl durch Drücken der linken Maustaste:
Nun wird der Chipeditor des AutoEngineer geladen. Sollte der Programmaufruf fehlschlagen, dann deutet dies darauf hin, dass die Software nicht richtig installiert ist. Wir verweisen in diesem Zusammenhang auf die Bartels AutoEngineer® Installationsanleitung. 5.1.3 Chipeditor-HauptmenüAbhängig vom verwendeten Betriebssystem kann der Bartels AutoEngineer mit verschiedenen Benutzeroberflächen bzw. Menükonfigurationen betrieben werden. Bei der auf allen Plattformen verfügbaren Seitenmenükonfiguration befindet sich auf der rechten Bildschirmseite eine Menüleiste, bestehend aus dem Hauptmenü im oberen Bereich sowie dem im Hauptmenü selektierten Menü im unteren Bereich. Nach dem Laden des Chipeditors ist das Menü aktiviert, und der grüne Menübalken steht auf Laden. Unter Windows und Motif kann anstelle der Standard- bzw. Seitenmenükonfiguration wahlweise auch ein Benutzerinterface mit Pulldownmenüs aktiviert werden. Die Auswahl der gewünschten Menükonfiguration kann in einfacher Weise über den aus dem BAE-Hauptmenü erreichbaren Dialog vorgenommen werden. Bei der Selektion der Pulldownmenükonfiguration über die Option werden gleichzeitig die Funktionswiederholung und das Kontextpopupmenü entweder an die rechte und linke oder an die linke und rechte Maustaste zugewiesen. Bei der Verwendung von Pulldownmenüs ist das Hauptmenü als horizontal ausgerichtete Menüleiste am oberen Ende der Benutzerschnittstelle angeordnet.Das Hauptmenü ist ständig verfügbar und ermöglicht im Chipeditor die Aktivierung der folgenden Menüs bzw. Funktionen:
Undo, RedoIm Menü finden Sie die -Funktion, mit der die letzten zwanzig Arbeitsschritte rückgängig gemacht werden können. Mit der -Funktion kann der -Befehl wieder aufgehoben werden. Sie sollten diese wichtigen Funktionen unbedingt an einigen Stellen in den nachfolgenden Beispielen ausprobieren, um ein Gefühl für die Mächtigkeit dieser Kommandos zu bekommen.Ansicht, BilddarstellungIm Menü bzw. , das Sie außer durch Selektion im Hauptmenü auch immer über die mittlere Maustaste erreichen können, können Sie Zoomfunktionen aktivieren, das Eingabe- bzw. Hintergrundraster definieren, oder die Farbtabelle einstellen. Darüberhinaus finden Sie hier nützliche Hilfsfunktionen z.B. zur Bauteilsuche oder zur Elementabfrage.DateiverwaltungÜber das Menü können Elemente neu generiert, geladen, gespeichert, kopiert, ersetzt oder gelöscht werden. Außerdem können von hier aus Farbtabellen geladen oder gespeichert werden, und es sind in diesem Menü auch wichtige Datenbank-Verwaltungsfunktionen (Auflisten Dateiinhalt, Update Bibliothek) enthalten.MacrosDas Menü enthält die Funktionen zur manuellen Zellenplatzierung, zur Umbenennung von platzierten Zellen sowie zur manuellen Platzierungsoptimierung (Component Swap bzw. Pin/Gate Swap). Darüberhinaus kann in diesem Menü die Auswahl der Durchkontaktierung(en) für das Routing vorgenommen werden.Auf Zellebene werden die Funktionen aus dem Menü zur Definition bzw. Platzierung von Pins verwendet.BahnenIm Menü sind die Funktionen zum interaktiven Verlegen von Leiterbahnen enthalten.FlaechenDas Menü enthält die Funktionen zur Definition der Chipumrandung, zur Erzeugung von Anschlussflächen sowie zur Generierung von Dokumentarlinien und Dokumentarflächen. Zur Bearbeitung bestehender Flächen stehen Funktionen zum Bewegen, Drehen, Spiegeln, Kopieren und Löschen zur Verfügung.TexteDas Menü dient dazu, Texte einzugeben, zu bewegen, zu verändern, oder wieder zu löschen.GruppenIm Menü werden Funktionen angeboten, mit deren Hilfe Teile des gesamten Chips in Gruppen zusammengefasst und dann gespeichert, geladen, bewegt, gedreht, gespiegelt, skaliert, kopiert, gelöscht, fixiert oder freigegeben werden können.ParameterDas Menü enthält Funktionen zur Selektion der Bibliothek, zum Setzen des Nullpunktes bzw. der Elementgrenzen, zur Selektion der -Funktion, sowie zur Aktivierung der automatischen Datensicherung.DiverseIm Menü Bartels AutoEngineer veranlasst werden. Über dieses Menü des Chipeditors ist auch der Aufruf der IC-Designmodule Cellplacer, Cellrouter und GDS-View möglich. Daneben werden hier weitere nützliche Funktion wie und angeboten. Auch der explizite Aufruf von User Language-Programmen ist von diesem Menü aus möglich. kann der Programmabbruch oder der Rücksprung in die Shell des5.1.4 Chipeditor-BenutzeroberflächeMenübelegung und TastaturprogrammierungEinige der mit der BAE-Software installierten User Language-Programme definieren implizite User Language-Programmaufrufe über die eine weit reichend modifizierte Benutzeroberfläche mit einer Vielzahl von Zusatzfunktionen (Startups, Toolbars, Menübelegung, Tastaturprogrammierung) aktiviert wird. Das User Language-Startupprogramm bae_st wird automatisch beim Aufruf des Chipeditors gestartet. bae_st ruft seinerseits das User Language-Programm uifsetup auf, welches eine vordefinierte Menü- und Tastaturbelegung im Chipeditor aktiviert. Änderungen bzw. Anpassungen der Menü- und Tastaturbelegung können zentral in der Quellcodedatei von uifsetup vorgenommen werden. Die aktuelle Tastaturbelegung kann mit dem User Language-Programm hlpkeys angezeigt werden. Der Aufruf von hlpkeys ist über die Funktion aus dem Menü möglich, sofern die vordefinierte Menübelegung aus uifsetup aktiviert ist. Mit dem User Language-Programm uifdump kann die in der aktuellen Interpreterumgebung definierte Menü- und Tastaturbelegung in Form eines Reports angezeigt bzw. auf eine Datei ausgegeben werden. Mit dem User Language-Programm uifreset lässt sich die komplette Menü- und Tastaturbelegung zurücksetzen. uifsetup, uifdump und uifreset sind auch über das Menü des User Language-Programms keyprog aufrufbar, welches zudem komfortable Funktionen zur Programmierung von Funktionsmakros, zur Online-Tastenbelegung sowie zur Menüprogrammierung und Menükonfiguration zur Verfügung stellt. Dieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. 5.1.5 Chipeditor-BedienungshinweiseDieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht. NetzlisteDie Netzliste stellt üblicherweise die verbindliche Vorgabe für den Entwurf des Chiplayouts dar. Im Bartels AutoEngineer wird die Netzliste mit Hilfe des Schematic Editors generiert und durch den Packager in das IC-Design übertragen. Daneben besteht die Möglichkeit, ASCII-Netzlisten z.B. mit dem Utilityprogramm netconv oder mit anwendungsspezifischen User Language-Programmen in den AutoEngineer zu importieren. In Kapitel 3 dieses Handbuchs finden Sie weitere Erläuterungen zur Netzlistenverarbeitung im Bartels AutoEngineer. Ein Chiplayout wird beim Laden dynamisch aufgebaut. Neben den auf dem Chiplayout befindlichen Elementen aus den darunterliegenden Datenbank-Hierarchiestufen (Zellen, Pins) wird auch die Netzliste mitgeladen und mit den Geometriedaten auf dem Chip korreliert ("Connectivity Generierung"). Dies setzt allerdings voraus, dass der Elementname des Chiplayouts und der Name der Netzliste identisch sind. Nach erfolgreicher Connectivity-Generierung ist das System in der Lage, das Chiplayout ständig mit den Vorgaben in der Netzliste zu korrelieren. Dies stellt sicher, dass elektrische Verbindungen grundsätzlich erkannt werden, gleichgültig, ob sie über Leiterbahnen, Anschlussflächen oder Durchkontaktierungen verlaufen. Verbindungen über Kreuzungen und T-Stücke sowie Aneinanderreihungen (z.B. bei Gruppenkopien) werden ebenfalls erkannt. Diese Funktionalität bezeichnet man als Echte Connectivity. Dieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht.
Allgemeine Hinweise |
|