| Power Grid Analysis | Data Mining |
|---|---|
|
When designing large microprocessors, accurate simulation
of the power distribution network is necessary. Electrical
characteristics such as voltage drop and current density
are computed to determine if the chip satisfies
manufacturing reliability requirements.
The electrical model for the power distribution network reduces to solving millions of equations of the form GV=I. The G matrix is a sparse symmetric positive definite matrix which models the resistance of wires in the power grid. New numercial solvers were developed to solve this large problem and were integrated into the IBM's IMaD and CPAM methodologies. Both programs find electromigration and IR drop problems. CPAM is used by designers before the chips are manufactured, while IMaD is used by chip manufacturing to monitor electrical changes in the chip due to process parameter variations. To efficiently place IO drivers on ASIC chips, a new placement algorithm was developed. The IOs are modeled as current sources on a power grid. By changing the location of the IOs, the voltage drops on the power grid change also. When GV=I is solved on each placement iteration, an optimal IO assignment is achieved which minimizes IR drop. This technique is currently in production use for IBM ASIC chips. |
To optimize chip profit, speed sorting chips is critical.
That is, being able to predict early in the manufacturing
process which chips are slow and which chips are fast.
Data mining techinques have been applied to this problem. By choosing the appropriate process parameters, several data mining techinques were implemented:
To visualize the data, Java programs were written that displayed a matrix of scatter plots for the most important process parameters. Chip yield and performance were optimized based on these data mining algorithms and visualizations. |
| Custom Design | Array Logic & Verification |
In this project, I developed new CAD algorithms
for custom design. By actually doing custom
design, I found new logic transforms
and verification techniques that are useful
enhancements to existing synthesis and verification
programs.
Several 64-bit adders have been designed including carry select, carry lookahead, Ling, and Brent-Kung. Using multi-bit transformations and pseudo propagates and carries, I optimized the logic to eight logic levels by using pass transistors and complex decode structures. The transistor sizes were tuned automatically using IBM's formal circuit tuning program. For timing to converge, accurate estimates of wire RC from a floorplan were used. New logic transforms were used that mapped complex gates into simpler gates by detecting redundancies in the design. For better diagnosis of a logic failure, I wrote a new Boolean verfication program. When counterexamples are detected, the input vectors are minimized so that isolation of logic errors is improved. |
Programmable logic arrays (PLAs) are useful
in implementing control logic. Instead of the
usual AND-OR structures, logic can be factored
into a 3-level AND-GAP-OR structure which is
useful in optimizing dynamic PLAs. The Gap cells
are small strobed AND-OR arrays which allow
logic to be factored more efficiently so that
circuit timing and area are improved.
By using 2-bit decoders and new folding and partitioning algorithms, PLAs in many cases are faster than gate level designs created by logic synthesis. For fast Boolean verification, I have developed a new multi-valued Boolean verification engine. The algorithms transform binary valued logic into multi-valued array logic and then use this compact representation of Boolean functions to efficiently verify two logic networks. The array logic representation is much different than BDDs, and is efficient in verifying the functionality of combinational circuits. Several dataflow macros including adders, rotators, shifters, and parity trees were verified using these algorithms. A 64-bit adder was successfully verified in 0.5 seconds. |
|---|