|
|
1.3.1 Allgemeine HinweiseDas Kernstück des Bartels AutoEngineer ist die den Bedürfnissen der Anwender optimal angepasste Datenbank. Da komplexe und vor allem unterschiedlich große Dateneinträge gespeichert und verarbeitet werden müssen, ist die Datenbank objektorientiert aufgebaut. Schneller Zugriff auf die gewünschten Informationen durch einen speziell hierfür entwickelten Suchalgorithmus vermeidet überflüssige Wartezeiten am Bildschirm. Ein ausgeklügeltes Programm zur Bibliotheksverwaltung ermöglicht es, mehrere Normbibliotheken parallel zu halten. Der Anwender kann also besondere Bibliotheken für einzelne Projekte oder Jobs definieren, sie mit dem Projekt abspeichern und - sofern gewünscht - diese Projektbibliotheken auch in eine Hauptbibliothek des Systems schreiben. Objektklassen, HierarchieDie einzelnen Datenbankeinträge sind nach Klassen sortiert. Innerhalb einer Klasse wird ein Element über seinen Namen eindeutig identifiziert. Jedes Element enthält die Daten, durch die es unmittelbar beschrieben wird (z.B. grafische Elemente, Texte, Anschlusspositionen und Pinbezeichnungen bei Stromlauf- bzw. Layoutsymbolen). Darüber hinaus kann jedes Element einer Datenbankklasse Verweise auf andere Elemente aus der in der Hierarchieebene darunterliegenden Klasse beinhalten. So enthält z.B. ein Layout Verweise auf die in ihm verwendeten Bauteile, die Bauteile wiederum Verweise auf die darin enthaltenen Padstacks, und diese wiederum Verweise auf die Pads, aus denen sie aufgebaut sind. Alle diese Verweise sind der Datenbank bekannt. So werden z.B. beim Laden oder Kopieren eines Bauteils alle dazugehörigen Padstack-Elemente und mit diesen wiederum alle zugehörigen Pad-Elemente gegebenenfalls mit übernommen. All dies geschieht vollautomatisch und transparent. HomogenitätAlle Datenbankklassen unterliegen den allgemeinen Dateiverwaltungsfunktionen. D.h., der Schaltplaneditor ist zum Erstellen und Verändern von Stromlaufplänen, Stromlauf-, Label- und Pinsymbolen gleichermaßen geeignet. Gleiches gilt natürlich auch für den Layouteditor in Bezug auf die Erstellung bzw. Änderung von Layouts, Bauteilen, Padstacks und Pads. Die Funktionen werden jeweils automatisch entsprechend angepasst, d.h. die jeweiligen Menüs sind sowohl im Schaltplan-Paket als auch im Layout auf allen Hierarchieebenen weitgehend identisch. Die dadurch gegebenen weit reichenden Analogien bei der Bearbeitung von Objekten jeglicher Art gewährleisten eine leichte Erlernbarkeit des Systems. DateiformatDie verschiedenen Programme des
Bartels AutoEngineer arbeiten alle mit demselben Datenbank- bzw. Dateiformat. Dieses Format nennen wir Design DataBase- oder kurz DDB-Format. Die File-Extension des Dateityps, auf die dieses Format abgebildet wird, lautet grundsätzlich
DatenkonsistenzEin Element wird während eines Ladevorgangs grundsätzlich dynamisch aufgebaut. So wird beim Laden eines Layouts zunächst das Layoutelement in den Speicher gelesen und dann die zugehörigen Bauteil-Elemente aus der selben Projektdatei; diese wiederum laden die benötigten Padstacks, usw. Dieser dynamische Ladevorgang setzt natürlich voraus, dass z.B. beim erstmaligen Platzieren eines neuen Bauteils alle benötigten Elemente wie etwa das Bauteil selbst, die Padstack- oder auch Pad-Elemente in der Projektdatei vorhanden sein müssen. Dies wird vom System automatisch geprüft. Sofern die Elemente nicht vorhanden sind, werden genau diese Elemente aus der gewählten Symbol- bzw. Bauteilbibliothek in die aktuell bearbeitete Projektdatei geladen. Somit wird automatisch eine projektspezifische Symbol- und Bauteilbibliothek innerhalb der bearbeiteten Projetdatei erstellt. Durch die Speicherung jobspezifischer Bibliotheken innerhalb der Projektdateien ergeben sich immense Vorteile z.B. hinsichtlich der Archivierung von Projekten oder der geringen Abhängigkeit von der Verfügbarkeit von Master-Bibliotheken. Auf der anderen Seite sichert dieses Verfahren auch die Datenkonsistenz bei etwaigen Änderungen in der Bibliothek. Mit den Dateiverwaltungsfunktionen zum Löschen von Elementen können nur solche Dateielemente gelöscht werden, die nicht durch andere Elemente aus derselben DDB-Datei referenziert werden. Die Funktionen zur Verwaltung der Datenbank sorgen dafür, dass Änderungen nur kontrolliert übernommen werden. So ist es z.B. möglich, mit der Funktion (im Menü ) in kürzester Zeit eine komplette Aktualisierung der jobspezifischen Bibliothek eines Projektes herbeizuführen. Ein typischer Anwendungsfall hierfür ist die Angleichung an eine Master-Bibliothek bei einem Redesign eines zuvor archivierten Projektes.Kontrollierte FertigungsanpassungEine weiterer Vorteil des Datenbankkonzepts besteht in der Möglichkeit der kontrollierten Anpassung an die Fertigung. So ist es möglich, projektbezogene Änderungen durchzuführen, d.h. spezielle Bauteile, Padformen, usw. zu erstellen, und diese gezielt für bestimmte Projekte einzusetzen. Ein Beispiel hierfür wäre die Erstellung eines Technologiebauteils, welches alle Padstacks einer Technologie, z.B. alle SMD-Pads beinhaltet. Dieses Bauteil kommt dann nicht im Layout vor, sondern wird als Element für einen manuellen Kopiervorgang verwendet. Die Padstacks und Pads wiederum können in verschiedenen Technologiebibliotheken verschiedene Formen und Größen haben. Bei oder mit der Projektdatei und dem Technologiebauteil als Zielangabe und einer dieser Technologiebibliotheken als Quellangabe werden dann genau die mit dem Technologiebauteil gewählten Elemente aus der Technologiebibliothek in das Projekt kopiert.Erstellung von BibliothekselementenDie Erstellung komplett neuer Bibliothekselemente geschieht im Stromlauf- wie im Layouteditor grundsätzlich mit der Funktion aus dem Menü . Nach der Spezifikation der Hierarchieebene, in der das Element zu erstellen ist, wird der Anwender nach dem Namen der DDB-Datei, in der das Element abgelegt werden soll, dem Namen des zu erstellenden Elements selbst, sowie den Elementgrenzen gefragt. Anschließend erfolgt die eigentliche Definition des Elements durch Laden und Positionieren von Elementen der darunterliegenden Hierarchieebene und durch Einbringung zusätzlicher (in der aktuellen Hierarchieebene zulässiger) Daten (Zeichnungsinformation, Texte, usw.). SQL-Funktionen, Relationale DatenbankenÜber die Bartels User Language werden SQL (Structured Query Language)-Funktionen zur Verwaltung Relationaler Datenbanken angeboten. Damit stehen dem Anwender Software-Tools zur Programmierung von Datenbankmanagement-Systemen zur Verfügung. Mit den SQL-Funktionen ist es möglich, Datenbanksysteme zur Adress- und Projektverwaltung, zum Projektmanagement, zur Versionsverwaltung, zur Produktionsplanung und -steuerung (PPS), zur Verwaltung von Lieferanten- und Kundenverzeichnissen, usw. zu realisieren. Eine detaillierte Beschreibung der Bartels User Language und der darin integrierten SQL-Funktionen finden Sie im Bartels User Language Programmierhandbuch. 1.3.2 Datenbankhierarchie im StromlaufAbbildung 1-4 zeigt beispielhaft das Schema der Datenbankhierarchie im Stromlaufpaket des Bartels AutoEngineer. Die Planebene ist die oberste Hierarchieebene im Stromlauf. Auf dieser Ebene erfolgt die Eingabe des Stromlaufplans. D.h., hier werden Stromlaufblätter definiert, Symbole platziert und über Verbindungen, Busse und Labels eine Netzliste definiert. Zusätzlich kann Grafik und Text zur Dokumentation mit eingebracht werden. In der Symbolebene werden die Stromlaufsymbole, also die Schaltzeichen erstellt (und in Form von Stromlauf-Bibliothekselementen in einer Schaltzeichenbibliothek abgelegt). Im wesentlichen werden in dieser Ebene durch Selektieren und Platzieren von Elementen aus der darunterliegenden Pinebene die logischen Anschlüsse des Schaltzeichens in Form und Position festgelegt. Daneben lassen sich hier Grafik und Texte (z.B. Symbol-Outline und Referenz für den Bauteilnamen) einbringen. In der Labelebene werden Spezialsymbole zur Definition von Netznamen erstellt. Mit Hilfe dieser Symbole können im Stromlauf die Verbindungen explizit auf definierte Signale bzw. Signalpegel (auch stromlaufblattübergreifend) gelegt werden. In der Markerebene werden über die Definition eines Kontaktbereiches Pinsymbole erstellt. Diese Pinsymbole lassen sich auf Symbol- oder Labelebene platzieren und legen somit die Form und Position der entsprechenden Anschlüsse fest. Neben den normalen Pinsymbolen lässt sich in dieser Hierarchieebene auch ein spezielles Markersymbol (mit einer normalen Grafikfläche anstelle des Kontaktbereiches) definieren, welches nach einer entsprechenden Selektion auf Planebene zur Kenntlichmachung von T-förmigen Verbindungsstücken dient. 1.3.3 Datenbankhierarchie im LayoutAbbildung 1-5 zeigt beispielhaft das Schema der Datenbankhierarchie im Layoutsystem des Bartels AutoEngineer. Die Layoutebene ist die höchste Hierarchieebene im Layout. Hier wird das Leiterplatten-Layout bearbeitet. D.h., die Leiterkartenkontur wird festgelegt, die Bauteile (aus der darunterliegenden Bauteilebene) platziert, Sperr-, Potential- und Kupferflächen definiert, die Leiterbahnen verlegt, und schließlich die Ausgabedaten für die Fertigung generiert. In der Bauteil- bzw. Partebene werden die Layoutsymbole, also die Gehäusebauformen definiert (und in Form von Layoutbibliothekselementen in einer Gehäusebibliothek abgelegt). Im wesentlichen werden in dieser Ebene durch Selektieren und Platzieren von Elementen aus der darunterliegenden Padstackebene die Bauteilanschlüsse in Form und Position festgelegt. Daneben lassen sich hier Leiterbahnen und Vias (z.B. für gedruckte Spulen) platzieren, Sperr- oder Kupferflächen definieren sowie Zeichnungsinformationen und Texte (z.B. Bauteilumriss und Referenz für den Bauteilnamen auf dem Bestückungsplan) aufbringen. In der Padstackebene werden durch selektieren und positionieren von Padsymbolen die Pinsymbole erstellt, die lagenbezogen aus verschiedenen Padformen aufgebaut sein können und für gebohrte Pins eine entsprechende Bohrung enthalten. Auch Texte (z.B. Referenz für den Pinnamen), Zeichnungsinformation (z.B. für den Bohrplan) und Sperrflächen (z.B. zur Bestimmung der Anschlussart durch den Autorouter) können hier eingebracht werden. Die in dieser Ebene generierten Padstacks lassen sich auf Bauteilebene platzieren und definieren somit in Form und Position die Bauteilanschlüsse. In der Padebene werden durch die Definition von Kupferflächen Anschlussformen festgelegt. Die in dieser Ebene generierten Pads werden dann in der Padstackebene über die verschiedenen Lagen zu einem Stapel (Padstack) zusammengefasst und bilden die eigentliche Bauteil-Anschlussdefinition. 1.3.4 Logische BibliothekDie logische Bibliothek stellt das Bindeglied zwischen Stromlauf- und Layoutbibliothek dar. In dieser logischen Bibliothek sind Informationen über die Zuordnung der Stromlauf- zu den Layoutsymbolen (mit Gatterdefinitionen und Pin-Mapping), Pin-, Gatter- und Pingruppen-Vertauschbarkeit, feste Anschlüsse zur Stromversorgung, usw., enthalten. Alle diese Definitionen können mit Hilfe eines Editors in einer ASCII-Datei eingetragen (siehe hierzu Beschreibung für das Programm loglib in Kapitel 7.11 dieses Handbuchs) und anschließend mit dem Programm loglib in eine DDB-Datei eingespielt werden. Die Informationen aus der logischen Bibliothek benötigt der Packager, um eine (mit dem Schaltplaneditor erzeugte) ungepackte, logische Netzliste in eine gepackte, physikalische (d.h., eine für das Layoutsystem verständliche) Netzliste zu transferieren (siehe hierzu auch die Beschreibung zum Packager in Kapitel 3.2). Während eines Packager-Laufs müssen die in der logischen Bibliothek definierten Einträge zusätzlich auch gegen die Einträge in der Layoutbibliothek geprüft werden. Da der Packager nur eine Bibliotheksdatei auswerten kann, setzt dies voraus, dass sowohl die logische als auch die Layoutbibliothek in einer einzigen Bibliotheksdatei gespeichert sein müssen. Abbildung 1-6 zeigt ein Beispiel für eine Bauteildefinition wie sie entsprechend Datenblatt in der logischen Bibliotheksdatei vorzunehmen ist. Bei der Erstellung eines komplett neuen Bauteiles empfehlen wir grundsätzlich folgende Vorgehensweise:
Nach Ausführung obiger Arbeitschritte kann das neu definierte Schaltzeichen bei der Erstellung eines Stromlaufs verwendet werden, der Packager ist in der Lage dieses Schaltzeichen in das richtige Gehäuse zu packen, und die Gehäusebauform ist für die Platzierung im Layout verfügbar. Weniger erfahrene Anwender sollten neue Bibliothekselemente zunächst in einer Testdatei erstellen und einen Packager-Testlauf durchführen, bevor die neue Bauteildefinition für reale Projekte freigegeben wird. Dadurch lässt sich die Übernahme fehlerhafter Definitionen in Bibliotheks- bzw. Projektdateien verhindern.
Datenbank |
|