AIFVU

BGA Section

Many times a die designer will know the signal name and even the ball assignment for his die pads but does not have the "coordinates" of the ball pads. However often he needs to explore different package options - package size, pitch, ball diameter ...

the [BGA] section in the AIF file allows him to quickly define a package from well known parameters; AIFVU will then draw the package footprint along with the die. This allows the die designer both to see the die together with the package and also to see a ratsnest from die pad to ball pad (assuming nets have been defined.)

[BGA] Section Syntax

[BGA]
NAME=BGA                     name (ref designator)
WIDTH=23000                  package outline width in same units as  AIF file
HEIGHT=23000                 package outline height (y) 
PITCH=1270                   center-center spacing between ball pads
CHAMFER=UL 250               a chamfer on the outline. You can specify all 4 corners
POPULATION= 17 17            number of balls along x and y
DEPOPULATION= 9 9            remove this many balls in the interior
REPOPULATION= 0 0            add back in this many balls (typically ground)
BALL=CIRCLE 750              ball pad shape and size
A1=UL                        location of A1 (looking from above the package)

[BGA] Section Layout
Notes:

    If population is even; depopulation and repopulation should be even. If population is odd, depopulation and repopulation should be odd.

    rectangular packages are supported - but pitch must be equal in both directions.

    the package outline can have up to four chamfers - UR 1000 LL 500 UL 250 LR 600



 

RATSNEST DISPLAY

A ratsnest is a group of lines that connect pins sharing the same net name. The lines go direct from pin to pin and do not attempt to route "around" items. It gives the designer a general idea of where signals originate and where they end up.

AIFVU can display a ratsnest if the AIF file under consideration has associated the die pad nets with the ball pads or fingers. For example if a die designer knows which ball a die pad goes to it can be listed on the same line with the die pad:



[NETLIST]
;net  pad#  padstack Xcoord  Ycoord  ball
IO5     1      SQ50   4200    4250    A3
IO6     2      SQ50   4200    4100    B3


In the example at left, AIFVU knows that both die pad #1 and Ball A3 are on the same net. Therefore it can draw a line between the two pins. (Hint: you don't need to enter the coordinates of each ball pad if you use the [BGA] section described earlier ...)


Setting up the RatsNest Display

First load a file into AIFVU. Then from the View pulldown, select Ratsnest. (Alternatively, you can use the ratsnest button on the toolbar.) A dialog will pop open:

AIFVU  Ratsnest Dialog
  • Display Ratsnest - turns on/off the display of the ratsnest
  • Color Box - click on the box to set the color of the ratsnest lines
  • Ratsnest Type
    • BGA-Die draws lines from the die pad to the BGA ball pads.
    • Die-Finger draws lines from the die to the fingers
    • BGA-Finger draws lines from the fingers to the balls
  • Nets
    Generally it is not helpful and can be very confusing if ratsnets lines are drawn for nets that have many pins as members - especially your power and ground nets. These are generally routed through a power or ground plane. We recommend that you exclude all such nets from the ratsnest display. Do this by highligting each net that should be excluded: typical examples, VDD, VSS, GND, NC, VDDIO, VCC. use the Ctrl or Shift key to select multiple nets to exclude.
  AIFVU Rats Off

In this snapshot, ratsnest is turned off. (this display is from sample2.aif with fingers and rings turned off for clarity.)

  AIFVU Rats On

Ratsnest from die to BGA have been selected and colored red. Nets VDD and VSS have been excluded.

  AIFVU Rats On Zoomed In

Same as before but zoomed in for a closer look.



 

Color by Net

When working with a large package that has hundreds of die pads, balls and fingers, it can be very helpful to assign certain nets a distinct color. AIFVU supports the coloring of pins by net. There are two ways to associate colors with nets:

  1. in the AIF File using the [COLORS] section
  2. from the color dialog in AIFVU (Pro Version Only)

In the example shown at right, VSS has been set to Green, VDD15 set to RED and VDDIO* (with different endings but all the same net) set to a light orange.

colored nets:VSS,VDD15 and VDDIO*

From the AIF File

It is useful to be able to assign colors in the AIF file so that if a file is transferred to another person the color information will remain. The syntax for the color section is:

[COLORS]
VSS* = ACI 3
VSS* = RGB  0 255 0
VSS* = RGB 00FF00
VSS* = GREEN
AIFVU supports several methods of defining the color. These methods are:
  1. ACI - this stands for AutoCAD's color number index and it is here because many of our programs run inside of AutoCAD. You should only use this type of definition if you are working with FA4ST inside of AutoCAD. 1-red,2-yellow,3-green,4-cyan 5-blue,6-magenta, 7-black/white, 8-grey, 9-light-grey. The other values are not consistent.

  2. RGB Decimal - each component RGB can range from 0 (no intensity) to 255 (full intensity) The components are separated by a space.

  3. RGB Hex - each component RGB is expressed as a hexadecimal triplet FF=255 and there is no space between the components. i.e. red would be FF0000, blue would be 0000FF.

  4. Text - basic names of colors are supported: white, black, red, green, blue, cyan, magenta, yellow.

Wild Cards for Net Name

Because there are a large number of nets in many designs and the netnames often have some systematic naming system you can use a wildcard symbol to define which nets will match a particular color. For example, suppose you have a group of nets PCI[1],PCI[2],PCI[3], and so on ... You could arrange to have all of these set to a common color by entering:
PCI* = RGB CC0000

or

PCI[?] = RGB CC0000

You can have as many assignment statements as you need to color your package nets. However if the assignments have conflicts the later assignment will have priority over an earlier one.