page header

Most Common AIF Errors

July 6, 2001


When designers initially start creating AIF files for input into Artwork's tools such as Wirebond, Bondgen and FA4ST they often make mistakes that prevent the programs from using the data.

 

Since these "problem" files make it to our offices, I've compiled a list of the most common errors that we run across.



Missing Section Header

The designer forgets to use one of the required section headers. The one we have seen missing the most is the [netlist] section.

[DATABASE]
TYPE=AIF
VERSION=2
UNITS=UM

[DIE]
WIDTH=6800
HEIGHT=7200
NAME=testdie2

[PADS]
dp50=SQUARE 50

[NETLIST]                                   <--- sometimes forgotten
clock5    1   dp50 xxxxx   yyyyyy   A5


Pad Stack Definition doesn't match

The padstack name in the [PADS] section must match the name used in the [NETLIST] section. This is case sensitive!


[PADS]
dp50=SQUARE 50

[NETLIST]                                   
clock5    1   DP50 xxxxx   yyyyyy   A5   <--wrong case!


Spaces in Net Names

Net Names may not have spaces in them. If your original net names have spaces use the underscore ( _ ) character to replace them. When the AIF reader sees the space it thinks it is reading the next field.



[NETLIST]                                   
clock skew 55    1   dp50 xxxxx   yyyyyy   A5   <--Wrong

clock_skew_55    1   dp50 xxxxx   yyyyyy   A5   <--OK


Net Names Run Into Die Pad Number

Sometimes the net name "runs" into the die pad number. This occurs when you have not set your net name column wide enough in Excel. We have also seen this occur for coordinates that run into the next field.


[NETLIST]                                   
clock_skew_551   dp50 xxxxx   yyyyyy   A5   <-- Wrong

clock_skew_55 1   dp50 xxxxx   yyyyyy   A5   <-- OK


Ambiguous Use of Signal Names

Die pads which are electrically connected together (for example, that are all bonded to the same ring) should have identical net names.

Some designers feel the need to give these enumerated net names such as VDD1, VDD2, VDD3 when in fact they should all be VDD.


[NETLIST]                                   
vdd#1  2   dp50  xxxxx yyyyyy    -   <-- Wrong
vdd#2  12  dp50  xxxxx yyyyyy    -
vdd#3  22  dp50  xxxxx yyyyyy    -

[NETLIST]                                   
vdd    2   dp50  xxxxx yyyyyy    -   <-- Right
vdd    12  dp50  xxxxx yyyyyy    -
vdd    22  dp50  xxxxx yyyyyy    -

While using the numbered VDD's will not crash the AIF reader it will cause you problems later when using these files to create netlists in the package design tool and will also mess up routines that enumerate for you the number of power and ground nets.