page header

 

[NETLIST]

The NETLIST section is the "heart" of the AIF file and defines each circuit net and associated pad, finger and ball. The netlist can be very simple or complex depending on whether you are describing only a die or a complete package shell. The coordinate data enables an AIF II reader to actually draw the package layout. It is also useful when developing test and manufacturing tools - for example the coordinates of the finger centers and ball centers directly supports probe station programming.

Placeholder - If a particular column item is not present or not known the dash (-) should be used as a place holder since the parser counts the number of entities per line to determine the context of the data.

Delimiter - Data items can be delimited by one or more spaces or a tab. Do not use commas or colons.

Comments - The semicolon (;) indicates a comment. Anything after a semicolon is ignored. Good practice demands that at the top of the netlist a commented line indicates the heading of each column.

Example - Simple Die Pad

;NETNAME   PAD#    TYPE    PAD_X     PAD_Y    
   net23    23      DP60   -4493.5   -3325     

This is the simplest case where a die designer may not even know the netname. Use an arbritrary netname such as net23. Each die pad should have a number, a padstack reference and x,y center coordinates. It is preferable if the true signal name is known -- the package designer will be able to automatically derive a netlist if this is done.


Example 2 Die with Ball Assignment

Very often a device designer will know which die pad (i.e. which signal) must go to which ball pad based on system design and requirements. This information is required by the package designer. In such a case one can specify in column 6 the ball assignment. If no assignment put a dash as a place holder.

;NETNAME   PAD#    TYPE    PAD_X     PAD_Y   Ball   
   net23    23      DP60   -4493.5   -3325    A6
   vss      24      DP60   -4593.5   -3325    -
   .
   .
   .
   vss       -       -       -         -      A1
   vss       -       -       -         -      A15
   


Example 3 Die Pad attached to a Ring

In thisexample die pad 166 is a ground net (VSS) located at -4493.5,-3325 is connected to ring2 at coordinates -5276.97 ,-3736.26. Note that no ball information is included for a net such as VSS because there would be a list of 15 to 20 balls all attached to ground. Instead the balls belonging to VSS should be listed further down in the netlist section. Note: some design tools use a "dummy" via to attach the wire to the ring.
;NETNAME   PAD#    TYPE    PAD_X    PAD_Y    BALL#    TYPE    BALL_X    BALL_Y
   VSS     166     DP60   -4493.5   -3325     -         -       -         -

 FIN#    FIN/RING       X            Y         ANGLE
   -        R2      -5276.97      -3736.26       -


Balls Attached to Power and Ground Nets or NoConnect

The VSS,VCC and NC nets normally attach to many balls; listing each one for each die pad would be very inefficient. Instead, balls attached to power and ground nets should be segregated at the end of the netlist section for readablity (although the parser doesn’t care where they occur in the netlist.)

VSS     -     -     -     -     AF3    BP750   -13335    -15875
VSS     -     -     -     -     AD1    BP750   -15875    -13335
VSS     -     -     -     -     AC3    BP750   -13335    -12065
VSS     -     -     -     -     AA2    BP750   -14605    -9525
VTERM   -     -     -     -     AD4    BP750   -12065    -13335
VTERM   -     -     -     -     AA4    BP750   -12065    -9525
VDD     -     -     -     -      H6    BP750   -9525      6985
VDD     -     -     -     -      J6    BP750   -9525      5715
Your netlist should include all balls - even if they are no connect. Our AIF reader uses the range of balls to determine package size, population, depopulation and repopulation. For tools such as AIF translators you must list all balls or the symbols/library element for the BGA will be incomplete.

Ball coordinates need not be specified. It is possible to use the [BGA] section to define the package outline, ball diameter and pitch - the AIF reader can then use that information to place the ball correctly.

Common Netlist Errors

Netnames - may not have any spaces and should not use special characters other than "_" underscore, "-" dash, and "/" slash. Some target systems may have stricter rules than the AIF parser.

Missing Padstack Definitions

Any padstack referenced in the netlist must have a definition in the PADS section.