Bartels :: Bartels AutoEngineer :: BAE Dokumentation :: BAE Benutzerhandbuch :: Packager :: Utilities zur Netzlistenverarbeitung |
Bartels AutoEngineer® - Benutzerhandbuch3.4 Utilities zur Netzlistenverarbeitung |
Die Netzliste wird im Bartels AutoEngineer üblicherweise mit dem Stromlauf-Editor erzeugt. Es besteht daneben aber auch die Möglichkeit, (in Fremdsystemen erzeugte) ASCII-Netzlisten in den AutoEngineer einzuspielen. Der Bartels AutoEngineer enthält die nachfolgend aufgeführten Utilityprogramme (genaue Beschreibung dieser Utilities siehe Kapitel 7), mit deren Hilfe Netzlisten verschiedener Formate eingelesen bzw. ausgegeben werden können.
Sofern logische, ungepackte Netzlisten in den AutoEngineer eingespielt werden, ist anschließend ein Packager-Lauf durchzuführen, bevor das Layout erstellt werden kann. Dies setzt natürlich das Vorhandensein einer Bibliothek mit den vom Packager benötigten Informationen voraus. D.h., ggf. ist vor dem Packager-Lauf eine DDB-Datei mit allen benötigten Layoutsymbolen und loglib-Einträgen zu erstellen.
Das Programm netconv (Logical Netlist Conversion Utility) dient dazu, logische (d.h. ungepackte) Netzlisten in den Bartels AutoEngineer zu übertragen.
Bei der Umsetzung bereits gepackter Netzlisten in den AutoEngineer erübrigt sich der Packager-Lauf. Allerdings wird das Vorhandensein einer Bibliothek mit den vom Layout benötigten Informationen vorausgesetzt. D.h., ggf. ist vor der Netzlistenumsetzung eine DDB-Datei mit allen benötigten Layoutsymbolen zu erstellen.
Das Programm conconv (Connections Conversion Utility) erlaubt die Übertragung von ASCII-Netzlisten im Bartels-, CALAY-, MARCONI- oder RACAL-Format in den AutoEngineer.
Das Programm redasc (REDAC ASCII Input Interface) erlaubt die Übernahme von Layoutdaten des Redac-MAXI-Systems, d.h. sowohl die Transformation von Layoutsymbolen, als auch die Übertragung der Bauteilliste, der Netzliste, sowie ggf. der Platzierung im MAXI-CDI-Format in den AutoEngineer.
Die Ausgabe von Netzlisten beliebiger Formate ist z.B. mit Hilfe des Programms
userlist möglich. Hierzu ist die Definition eines
userlist-Scripts notwendig. Dieses Script wird vom Programm
userlist interpretiert, und es wird entsprechend den Vorgaben im Script eine ASCII-Ausgabedatei generiert. Erstellen Sie mit Ihrem Editor das
userlist-Script
netlist.usf
mit folgendem Inhalt:
EXTENSION = ".nl"; PRINT("NETLIST ",PROJECTNAME,";",CR); FOR (ALL PARTS) { PRINT(PARTNAME:-5,"(",$plname:-8,") : "); CLEARCOUNTER; FOR (ALL PINS) { IF (NETPINCOUNT > 1) { PRINT(PINNAME,"(",NETNAME,")"); COUNTUP; IF (COUNTVALUE > 4) { PRINT(CR,TAB);CLEARCOUNTER; } } } PRINT(";",CR); } ENDSPEC
Nun können Sie mit folgendem
userlist-Aufruf die in
demo.ddb
gespeicherte physikalische Netzliste
board
auf die Datei
demo.nl
ausgeben:
> userlist netlist demo board
Nach erfolgreichem
userlist-Lauf sollte die Datei
demo.nl
folgenden Inhalt haben:
NETLIST board; c100 (chip1210) : 1(vss)2(vdd); c101 (chip1206) : 1(vss)2(net); ic10 (dil14 ) : 1(@7)10(@9)11(@2)12(@3)13(@9)14(vdd)2(net) 3(@6)4(@4)5(@5)6(@6)7(vss)8(@11)9(@4); k1 (relais ) : a1(vdd)a2(@14)c1(vdd)c2(vdd)nc1(bus.out1) nc2(bus.out3)no1(bus.out0)no2(bus.out2); r100 (r04a25 ) : 1(@7)2(@6); r101 (r04a25 ) : 1(@5)2(@4); r102 (r04a25 ) : 1(@11)2(@9); r103 (r04a25 ) : 1(@3)2(@2); r104 (minimelf) : 1(@2)2(@8); r105 (chip1206) : 1(net)2(vdd); s1000(s1dilo ) : 1(@7)2(net); s1001(s1dilo ) : 1(@5)2(net); s1002(s1dilo ) : 1(@11)2(net); s1003(s1dilo ) : 1(@3)2(net); s1004(s1dilo ) : 1(net)2(vss); s1005(s1dilo ) : 1(net)2(vss); s1006(s1dilo ) : 1(net)2(vss); s1007(s1dilo ) : 1(net)2(vss); s1008(s1dilo ) : 1(net)2(vss); s1009(s1dilo ) : 1(net)2(vss); v1 (to92 ) : 1(vss)2(@8)3(@14); v1000(d04a25 ) : a(@14)k(vdd); x1000(xsubd9bl) : 1(vss)4(bus.out0)5(bus.out1)6(bus.out2)7(bus.out3) 9(vdd);
Mit folgendem
userlist-Aufruf lässt sich die in
demo.ddb
gespeicherte logische Netzliste
board_log
auf die Datei
demo.nl
ausgeben:
> userlist netlist demo board_log
Nach erfolgreichem
userlist-Lauf sollte die Datei
demo.nl
folgenden Inhalt haben (beachten Sie die im Vergleich zur vorherigen Ausgabedatei unterschiedlichen Pinbezeichnungen und
$plname
-Einträge):
NETLIST board_log; c100 (c ) : 1(vss)2(vdd); c101 (c ) : 1(vss)2(net); ic10 (cd4081 ) : a(@7)b(net)y(@6); ic11 (cd4081 ) : a(@5)b(@6)y(@4); ic12 (cd4081 ) : a(@11)b(@4)y(@9); ic13 (cd4081 ) : a(@3)b(@9)y(@2); k10 (rels ) : a1(vdd)a2(@14); kk100(relc ) : c(vdd)nc(bus.out1)no(bus.out0); kk101(relc ) : c(vdd)nc(bus.out3)no(bus.out2); r100 (r ) : 1(@7)2(@6); r101 (r ) : 1(@5)2(@4); r102 (r ) : 1(@11)2(@9); r103 (r ) : 1(@3)2(@2); r104 (r ) : 1(@2)2(@8); r105 (r ) : 1(net)2(vdd); s1000(s_1dil ) : 1(@7)2(net); s1001(s_1dil ) : 1(@5)2(net); s1002(s_1dil ) : 1(@11)2(net); s1003(s_1dil ) : 1(@3)2(net); s1004(s_1dil ) : 1(net)2(vss); s1005(s_1dil ) : 1(net)2(vss); s1006(s_1dil ) : 1(net)2(vss); s1007(s_1dil ) : 1(net)2(vss); s1008(s_1dil ) : 1(net)2(vss); s1009(s_1dil ) : 1(net)2(vss); v1 (tr_bc517) : b(@8)c(@14)e(vss); v1000(d ) : a(@14)k(vdd); x1000(x_subd9b) : 1(vss)4(bus.out0)5(bus.out1)6(bus.out2)7(bus.out3) 9(vdd);
Im Packager sind Funktionen zur Übernahme beliebiger netzspezifischer Attribute integriert. Diese Netzattribute können im Stromlaufplan an speziellen Netzattributsymbolen definiert werden (Funktion im Menü ). Damit der Packager diese Information in die physikalische Netzliste übertragen kann, ist zusätzlich ein entsprechender Eintrag in der Logischen Bibliothek erforderlich. Abbildung 3-3 zeigt ein Beispiel für die Definition und Verwendung von Netzattributsymbolen mit den entsprechenden Loglib-Definitionen (siehe hierzu auch die Beschreibung des Utilityprogramms loglib im Kapitel 7.11 dieses Handbuchs).
Bartels :: Bartels AutoEngineer :: BAE Dokumentation :: BAE Benutzerhandbuch :: Packager :: Utilities zur Netzlistenverarbeitung |
Utilities zur Netzlistenverarbeitung
© 1985-2024 Oliver Bartels F+E