<> <> <> <> Dynabus Pads Dynabus Pads Louis Monier Abstract: All the circuits connecting to the dynabus share a common set of pads, and if possible a common pad frame. Created by: Louis Monier Maintained by: Louis Monier Keywords: Pads, Dynabus, Common Pad Frame XEROX Xerox Corporation Palo Alto Research Center 3333 Coyote Hill Road Palo Alto, California 94304 For Internal Xerox Use Only 1. Introduction In order to simplify the layout, bonding, and probing of the chips connecting to the Dynabus, as well as the layout of the wafers, and later the layout of hybrid packages, it is desirable to standardize the pad frames. We propose here a common pad frame which fits the "large PGA", to be used by the IOB, the Display Controller, the Memory Controller, and the Map Cache. The layout of the Small Cache is not advanced enough at this point to include it in the discussion, but the hope is that it will share the pad frame, or at least the set of pads. The only risks of this approach are to fit chips into too large a pad frame, with a subsequent loss of yield, or to underestimate the size of the core of a chip, as could be the case with the cache. Area estimates show that the standard pad frame is close enough from the ideal pad frame of most chips. At this stage of early prototyping, the difference in yield is not a problem. The library The pad library is DynaBusPads.dale from CellLibraries.df. Its documentation, the document you are reading, is also included in CellLibraries.df. You will also find in DynabusExampleCircuit.dale, from /Indigo/Dragon7.0/Top/DynaBus.df, an example of pad frame construction for a typical "Dynabus circuit". It shows four standard sides and a fake inner cell. All standard pads are already specified: Dynabus, DBus, clocks. Please preserve the public names and the location of these pads, even if you don't use them. You should import the large schematics, make the imports from DynabusExampleCircuit resident (all pads must remain imports), and use it to build your top level schematics: substitute your inner cell and customize the remining pads. The names of the wires inside the pad frame are only here for convenience, you may modify them if you want to match names in your inner cell. Pads should be imported and should not be edited. This is a clear case were standardization is a plus and unnecessary customization a nuisance. The Probe card A standard probe card will (hopefully) be designed that will probe the 268 possible pad positions. For that reason, all the pad locations must contain a pad, even if unused in that particular chip. All issues concerning the test of these circuits have not been resolved yet, so just stay tuned. 2. Zooming on the Pad frame The large PGA The PGA has an inside ring of signal tabs and an outside ring of large power tabs. There are 67 signal tabs on a 250 side (total 268). Each side has 8 power tabs, alternating between power and ground. The corners power tabs are truncated. The cavity is 17.75mm, or large enough to accomodate any circuit we can currently dream of. For too small a chip, long bonding wires might actually be a problem. The pad frame tries to mirror the arrangment of power and signal pads to simplify bonding. Pad dimensions The pad opening is 100 guarantee that the corners will not be too populated with pins: we choose to extend the top and bottom sides by 180 there is a 90 height (679 vary slightly. Pentronix and most bonding houses in the Valley (but not VTI) can accomodate 7 mils pitch and 4 mils opening. Probes are also no problem with these dimensions (BIC used the same numbers). 3. The pad library The library is reduced to its minimum to simplify maintenance and reduce chances of bugs. There is a unique I/O pad for the inner (signal) ring, and three power pads for the outside (power) ring. A double decker bus carries power from the power pads to the signal pads and the circuit: it's a 150 Gnd) with a 150 ensures a maximum current density of 75mA for metal1 and 100mA for metal2. The general I/O pad The pad is the combination of a tristate driver in output and a TTL-level buffer in input. The input buffer is TTL compatible (think about tester, TTL chips). The pins are: dataOut: the data from chip to be driven out. enableOut: when high, pad_dataOut; when low, pad is tristate. dataIn: buffered input. Drive is about a standard cell inverter. enableIn: when high, dataIn is driven. pad: the bonding site, also available inside the chip as unbuffered input. Vdd, Gnd: the unique power supply, common to chip logic and pad drivers. The last stage of drivers can deliver about 50mA under 5V. It drives a 40pF load in a couple of ns. The drains of the n transistor (w=500 similar actual circuit, spikes of up to 1000V (from a 100pF capacitor through 2k receives power from the outside power bus (the double decker) and passes some of it to the inside of the circuit. Other pads The following other pads are provided for user convenience. They are derived trivially from the I/O pad by omitting or fixing some of the public wires. PadIn: buffered input. PadOut: output only. Pad3Out: output tristate. PadIn3Out: buffered input and output tristate. PadWire: a metal wire straight from the bonding site. Used for clocks, analog voltages... Pad3In3Out: both inputs and outputs are tristable separately. Outside power pads Power pads are located on the periphery of the die, and match the power fingers on the package. Notice that a wire goes through them: think of it as the projection of the bonding wire coming from the corresponding signal pad. This wire is here to keep the DA system sane, and will not appear on the masks. There is a Vdd pad, a Gnd pad, and an empty pad needed to space areas of Vdd and Gnd. The pattern for the top row is: 3 Vdd, 1 Empty, (9 Gnd, 1 Empty, 9 Vdd, 1 Empty)3, 3 Gnd. Sides are obtained through rotation, not symetry. If you copy the standard pad frame, you don't have to manipulate explicitely these pads. 3. Power consideration Worst case circuit (inner) Let's picture a worst case chip by making the following hypothesis: (1) a worst case chip is made of 900 standard cell flip-flops (the IOBridge, so far) (2) the chip is 10mm by 10mm, distributed on 30 rows (3) the flops are evenly distributed between rows (4) power is provided to a row on both sides through a 10 Justifications: (1) the IOBridge is the largest SC block we have placed, and combinatorial logic switches in successive waves, producing smaller spikes; (2) and (3) result from elementary remarks about cell sizes and die size. So, we can reduce the problem to half a row, holding 15 flops, powered through a 5mm long by 10 30m Voltage drop: A SPICE simulation has shown that a switching flop produces a spike of 2.2mA and we can suppose that at worst, all flops switch simultaneously. The resulting spike of 33mA will produce a voltage drop of 495mV. This is a worst case, ignoring any inductance or capacitance of wire, which will no doubt round those spikes. Current density: Assuming a 20MHz clock rate, the average current through one flop is about 0.088mA; the half-row will thus need 1.32mA of current. The 10 Dynamic power: Measuring the total capacitance of all nodes in a circuit (IOB) leads to a value of 5.5nF; assuming a 20MHz clock and an equal distribution between up and down-going nodes, the average intensity comes up to 1/2 * 5.5nF * 5V / 50ns = 275mA and the power dissipation to 1.4W. This figures lead to 275mA average current for the inner of the chip: it takes 100 metal2 or 200 Pads We build a model of a typical load on the wire wrapped machine. In the region we plan to use the circuits (2ns rise time), the load is equivalent to a 0.123mH inductor followed by a 40pF capacitor to ground. Spice simulations show a peak current of 50mA lasting 6ns; at 40MHz, that is 6mA average current. By design, the power bus might have to provide power to as much as 5 pads, (plus a fraction of the inner power, negligible in practice). that is 250mA peak, 30mA average. Power bus sizing: At 180 sources for a worst case: the spike is 1.35/w (V); to keep it below 10mV, we need at least 135 density through a metal1 line of 135 the circuit. DC current: according to Jim, a TTL load is 20mA in Vdd, 5mA in Gnd. No problem driving 5 such pads through the double decker bus. 4. How to be a good citizen in the Dynabus world A simple collection of odds and ends, aimed at saving time and promotting more standardization. None of this was decided in a meeting: I gathered it through a lot of conversations and tried to make sense of it. Pad positions Unless absolutely necessary, please keep the position of pads specified in the example. Even if you don't know why now, one day this standardization will buy you something (think for example of layout on the hybrid). Dynabus signals All input signals must go from the input buffer of the pad to a flop: no logic in between. Similarly, all output signals must go directly from a flop to the output driver of the pad. Notice that the following signals are enabled by grant: DataOut, SpareOut, ParityOut, HeaderOut. Other output signals are always driven. Clock The clock is input through a regular input pad (using the pad pin, not the buffered version), and amplified through two buffers distributed throughout the standard cell blocks. This ensures that the clock is generated where it is needed, and the size of the buffers is tailored for each chip. The amplified clock is then output through a simple metal wire to be sampled inside the BIC. Actual zapping tests showed that ESD-induced latchup was not an issue. No extra buffer can be inserted in this path, or the skew control mechanism will fail. Assuming a 40pF load on the clock, the buffers have standard cell drives of 14 and 56. Mint can be used to estimate the load on the clock line. For memory, the load on a SC flop is 58fF. Grant Grant is input through a regular input pad and latched. The nQ output of the flop goes through 3 buffers (drive=2, 8, 32) and is distributed to the pads. The delay from rising edge of clock to data valid on bus was found to be about 8ns. Testing trick If it becomes necessary to save probes, one can use the output side of an input-only pad (say X) for testing an output only signal (say Y). Y is connected to the dataOut pin of X and a global "test" signal to the enableOut, so the X pad is used as a bidirectional pad, and the Y pad is not probed. This saves probes, but not tester resources, at least on the present tester. Let's hope that we wan't have to go to such extremities to test!