[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 5715Your 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. |