Wednesday, November 21, 2012

Updated PADS netlister script

Although the true power of Altium Designer comes from utilizing the entire unified flow, there are a handful of customers who, for various reasons, use just the schematic editor as a point tool. There are a number of netlisters available from the Design menu in schematic, including one for PADS. While the format of the resulting outputs is technically correct, it’s a bit out of date and there is usually some manual editing that needs to be done for PADS to recognize the files. A customer of mine wanted a more elegant solution to make it easier for his engineers to work in Altium while the layout team makes a slower transition from PADS over to Altium.

I found a netlisting script as part of the legacy “Scripts” folders that used to get installed in the “Examples” folder. Those scripts, incidentally, are now available on AltiumLive here. The original netlisting script is for Protel (in Scripts\Delphiscript Scripts\WSM\Protel Netlister). I made some formatting changes to it and now have a script that outputs a correctly-formatted, single PADS netlist in the current format (V9).

There are two ways to run the script that need some explaining. The current PADS netlister in Altium uses only the footprint to populate *Part* section:

*PART*
U1 FG456
U2 SOT95P280-5
U3 TSOP80P1176-44

However, PADS does not need the name of the footprint (decal) first, it needs the name of the Part with the footprint name following an @ sign:

*PART*
U1 XC3S1000-4FG456C@FG456
U2 SN74LVC1G04DBV@SOT95P280-5
U3 SRAM-256Kx16@TSOP80P1176-44

This script populates the Part field by pulling either Altium’s “Comment” field or the “Design Item ID” field. This gives the user a choice of what to use as the equivalent Part in PADS. In addition, the Comment field can be populated using "indirection," which will use one of the user-defined parameters instead. This allows the user to have a separate parameter (e.g, "PadsPartType") dedicated to the PADS Part name. (**Keep in mind that spaces are not allowed in the parameter name when indirection is used.) When the script is run, the user can choose which method to use to populate the Part field.

Another change with this script is that unlike the current netlister which creates two files (one for the parts section of the netlist and another for the nets), this will create one file with the proper .asc extension for immediate import to PADS. Because Altium does not recognize .asc as a netlist file, however, it will be placed in the “Text Documents” section of the Project panel, rather than “Netlist Files.” The file itself gets placed in the default Output Path folder.

The file header is set for PADS V9 (“!PADS-POWERPCB-V9.0-MILS! NETLIST FILE FROM ALTIUM DESIGNER). If the user requires an older format, a simple text replace in the script file (“ScripterPadsNetlist.pas”) will do the trick. Feel free to make any other edits you require.

Hope this helps some of you!

No comments:

Post a Comment