Wire Setup for NETEXGMGRIn most cases the wire data for an IC package is provided not as a set of wire endpoints but rather as one or more Gerber files. In each file a draw command is used to represent a wire running from point A to point B. For NETEX to properly handle this the calling program must first build the njb file with the appropriate entries. This page explains what those entries are and runs an example showing how this all works. We will continue to use the PBGA1 example. Case 1 Single Layer of WiresOur first example shows a single layer of wires originating from a Gerber file called wbond.gbr. Let's look at how the stackup looks physically: You can see that the wire data comes from a Gerber file. What that file lacks is information about which end of the wire goes to the die pad (which is a node point) and which end drops down and attaches to the top metal layer. Netex-G computes a bounding box for the wire endpoints and "assumes" that the wire end closest to the center of the box is on the die side and that the other side of the wire must drop down to a metal layer. You can see that for die with only one row of bond pads this approach will fail. For most packages the assumption works. The LAYERS Section The gerber file containing the wires gets its own stackup and if you are creating GDSII output you must separate your wire layer from other wire layers or from metal layers with a dielectric layer. This tells NETEX where the wires are located in the stackup. By convention, wires are always above the first metal layer. Here is a stackup with no wires: B_LAYERS 1 M1 METAL 0.000000 - 0x00000000 0.000000 0.000000 0.000000 2 D13 DIELECTRIC 0.000000 - 0x00000000 0.000000 0.000000 0.000000 3 M2 METAL 0.000000 - 0x00000000 0.000000 0.000000 0.000000 E_LAYERS Here is the layer stackup with a wire layer above M1. B_LAYERS 1 W1 WIREBOND 0.000000 - 0x00000000 0.000000 0.000000 0.000000 2 D13 DIELECTRIC 0.000000 - 0x00000000 0.000000 0.000000 0.000000 3 M1 METAL 0.000000 - 0x00000000 0.000000 0.000000 0.000000 4 D35 DIELECTRIC 0.000000 - 0x00000000 0.000000 0.000000 0.000000 5 M2 METAL 0.000000 - 0x00000000 0.000000 0.000000 0.000000 E_LAYERS Here is the layer stackup with three wire layers above M1. B_LAYERS 1 W1 WIREBOND 0.000000 - 0x00000000 0.000000 0.000000 0.000000 2 D13 DIELECTRIC 0.000000 - 0x00000000 0.000000 0.000000 0.000000 3 W2 WIREBOND 0.000000 - 0x00000000 0.000000 0.000000 0.000000 4 D35 DIELECTRIC 0.000000 - 0x00000000 0.000000 0.000000 0.000000 5 W3 WIREBOND 0.000000 - 0x00000000 0.000000 0.000000 0.000000 6 D57 DIELECTRIC 0.000000 - 0x00000000 0.000000 0.000000 0.000000 7 M1 METAL 0.000000 - 0x00000000 0.000000 0.000000 0.000000 8 D79 DIELECTRIC 0.000000 - 0x00000000 0.000000 0.000000 0.000000 9 M2 METAL 0.000000 - 0x00000000 0.000000 0.000000 0.000000 E_LAYERS The WIRES Section of the NJB File If you have wires in a design, you need a WIRES section which defines the separate tiers. For a single wire layer: B_WIRES TIER W1 1 0.025 3 E_WIRES W1 the name of the wire layer that you assiged in the LAYER section. 1 the stackup position of the wires in this tier 0.025 the wire diameter (in the input units) 3 the metal layer stackup position that the wire attaches to. For three wire layers: B_WIRES TIER W1 1 0.025 7 TIER W2 3 0.025 7 TIER W3 5 0.025 7 E_WIRES Note: if any wire coordinate entries are present in the WIRES section, the netexgmgr will not update the job file. The SETTINGS Section For some reason, the location of the Gerber files representing wires shows up in this section. Probably a legacy issue. Anyway, you need to point to the files containing the wires. Here is an example with three wire bond layers. B_SETTINGS WIREBOND 1 GBR "/home/netexg_ex/pbga1/wbond1.gbr" WIREBOND 3 GBR "/home/netexg_ex/pbga1/wbond2.gbr" WIREBOND 5 GBR "/home/netexg_ex/pbga1/wbond3.gbr" E_SETTINGS WIREBOND keyword indicating this is wirebond input line 1 stackup position for this line GBR type of data file "home/netexg_ex/pbga1/wbond1.gbr" path/filename for the Gerber file |