Net Assignment Optimization

netopt.png

  The BGA net optimization is one of the most fundamental function of package design. Above figure depicts the function of auto-assignment of BGA nets, considering the bonding pad locations. It is also possible to make assignment for selected partial set of bonding pads and balls. Further, manual adjustment functions are possible, such as copy-and-pasting the chip nets into BGA balls, swapping nets of two selected balls, locking the ball nets to prevent the net change, etc.

IO Grouping

netopt_grp.png

  In high-speed wide-band applications, multiple occurrence of high-speed macros are needed, and their signals are hoped to form physical groups in chip IOs and in package IOs. For such applications, designer can introduce groups in chip IOs and package IOs, and set up group-to-group net assignment constraints. Once set, the net assignment functions begin considering the constraints.

Assigning Differential Pairs In Adjacent IOs

diffsigballs.png

  The differential signals are heavily used in current high speed designs. GemPackage has an automatic constraint generation function that acknowledges the differential signals by their names, and force the pair of signals to be assigned in adjacent positions in IOs. Once set, the net assignment functions begin considering the constraints.

Routing Path Aware Net Assignment

netopt_route.png

  The BGA net assignment must also consider routing paths. In GemPackage, the net assignment functions consider the current sketch to re-optimize the ball assignment, to satisfy the constraints and to minimize the rats crossings. Then, designer can re-optimize the ball assignment during the substrate routability study, which finally converges to the net assignment that simultaneously satisfies the constraints and substrate routability.

Optimizing Chip Nets

  Above description assumes the net assignment is optimized outwardly, i.e. changing the package IOs while chip nets are fixed. However, high-speed chips needs inward optimization as well, i.e. changing the net assignments on chip IOs while package IOs are fixed. GemPackage has almost same functionality for inward net assignment optimization as the outward functions described above.