|
|
Within the Bartels AutoEngineer design process the net list is usually created with the Schematic Editor. Besides that BAE provides the subsequently mentioned utilities for creating and/or converting various foreign ASCII net list formats. See also chapter 7 for a detailed description of these utility programs. 3.4.1 Importing Logical Net ListsImporting logical (i.e., unpacked) net lists to the Bartels AutoEngineer requires a subsequent Packager pass to prepare for the layout design. A DDB library file for the Packager process including all of the requested layout symbols and logical library entries is required. The netconv (Logical Netlist Conversion Utility) program is used to transfer logical net list data from BAE ASCII format to internal Bartels AutoEngineer format ready for processing with the BAE Packager. 3.4.2 Importing Physical Net ListsNo packaging is required when importing physical (i.e., packed) net lists to the Bartels AutoEngineer. Nevertheless, a DDB library file including all of the requested layout symbols must be available for the subsequent layout design process. The conconv (Connection Conversion Utility) program is used to transfer physical net lists to the Bartels AutoEngineer. Supported ASCII net list formats are BAE, CALAY, MARCONI and RACAL. Net lists from other systems can often be written in one of these formats providing a convenient link between other schematic systems and the powerful BAE layout system. The redasc (REDAC ASCII Input Interface) program is used to transfer layout data from Redac MAXI system, i.e., redasc converts layout symbols, part lists, net lists, placement information etc. from Redac CDI ASCII format to internal BAE DDB format. 3.4.3 Exporting Net List DataEither the
Bartels User Language programming facilities (see the
Bartels User Language Programmer's Guide for details on how to apply
Bartels User Language) or the
userlist (User Programmable List Generator) utility program can be utilized to provide tools for exporting net list data in arbitrary formats. Use your editor to create a
userlist script named
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 Use the following
userlist call to run the
The above
userlist call produces the
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); Use the following
userlist call to run the
The above
userlist call produces the
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); 3.4.4 Net AttributesThe BAE Packager provides functions for transferring arbitrary net attributes. These attributes are set with special (user-defined) net attribute symbols on SCM sheet level using the function from the menu. Logical library entries must be defined for packaging the net attribute definitions. Figure 3-3 illustrates how to define and use net attribute symbols and corresponding logical library entries (see also chapter 7.11 for a detailed description of the loglib utility program).
Net List Utilities |
|