300 likes | 311 Views
Why Interconnect Prediction Doesn’t Work. Introduction. How is interconnect planning used in industry today? Problems with interconnect prediction What limits the accuracy? Can it be improved? Alternatives to interconnect prediction The future of interconnect prediction.
E N D
Introduction • How is interconnect planning used in industry today? • Problems with interconnect prediction • What limits the accuracy? • Can it be improved? • Alternatives to interconnect prediction • The future of interconnect prediction
Interconnect Prediction little used in industry • Examples of interconnect prediction • Wire load models – used in synthesis • Rent’s rule – used in sizing FPGAs and Gate Arrays • But wire load models are being replaced by Physical Synthesis • Tools with constructive prediction sell for 4-10x same tool with wire load models. • Main reason – reliability of results • Rent’s rule replaced by extensive experimentation
The law of small numbers Collective effects, or the N-1 problem All layers are not created equal The devil is in the details Problems with Interconnect Estimation
Some design properties (such as power or size) depend on a sum over all nets or components Statistical methods work well Some properties depend on the worst of many (congestion) Doesn’t matter that 99% of design is easily routable if remaining 1% is not. Statistical methods work OK. Some depend on just a few nets Statistical methods work poorly Lots of ‘noise’ in the implementation The law of small numbers
Law of small numbers example • Imagine a 30%, normally distributed, uncorrelated error per net • Imagine estimation is perfectly calibrated • Then we would expect • A sum property off by 0.03% • A max property off by 7-8% for N=100K-1M • (order statistics) • An individual net off by 30%
Law of small numbers • Timing is one of the most critical predictions • Timing may depend on only a small subset of nets • 128 bit adder has about 4K paths through it, but only one is critical. • Number of nets that are critical varies wildly from design to design.
Collective Effects, or the N-1 problem • Effects that cannot be predicted one nets at a time. N-1 space N nets 1 net
All layers are not created equal • Layers differ in: • Pitch • Performance • Effects on other layers (via blockage) • Assignment based on timing, not routability • Lots of design to design variation
The Devil is in the Details • Industrial benchmarks often won/lost on 5-10% variations • > Estimator must be aggressive • But if estimator claims it can be routed, it must be true • >Estimator must be conservative • Net result – estimator must be VERY accurate. • Industry moving to constructive estimators based on global routing.
Details that make a difference • Wrong way routing • Pin blockages • Antenna rules • Via blockage • Timing driven routing
Wrong way routing • Modern routers can route in the ‘wrong’ direction • Locally, to relieve congestion • Over a whole ‘channel’, to fix pin access issues • Confuses estimators • Can route over capacity
Pin blockages • Example: Cell M1 pin M1 wire Possible problems: Pin not accessible Extra vias needed M1 blockage
Antenna Rules • A long line connected to gate only can cause failure • Not a problem after chip is complete since every net has at least one driver M2 M1 Driver (diffusion) Load (poly)
Antenna Rules • But, we can have a problem during manufacturing • Here is the same net after M1 is built, but not yet M2 • Error! M1 Driver (diffusion) Load (poly)
Antenna Rules • Possible solution – reverse order of layer assignments • Changes local layer utilization M2 M1 Driver (diffusion) Load (poly)
Antenna Rules • After M1 is built…. OK so far M2 M1 Driver (diffusion) Load (poly)
Antenna Rules • After M2 is built M2 M1 Driver (diffusion) Load (poly)
Antenna Rules • Another possible solution • Little change of routing, but adds vias M2 M1 Driver (diffusion) Load (poly)
Antenna Rules • After M1 we have floating nodes, but that’s OK M1 Driver (diffusion) Load (poly)
Antenna Rules • After M2, net is complete… M2 M1 Driver (diffusion) Load (poly)
Antenna Rules • Another solution – add diodes • In practice, required by modern rules • But introduces more via blockage (and performance penalty) M2 M1 Driver (diffusion) Load (poly)
Via blockage • Each upper layer route requires at least two vias on each layer below. • Natural strategy – route longest net on topmost layer to reduce via blockages. • But layer assignments based on timing, not via blockage • Timing varies considerably from design to design
Can the estimators be upgraded? • Need to add placement information • Need to do layer assignment • Need to generate Steiner routes respecting capacities • Need to look at ‘relevent’ routing details • Need final router to follow previous decisions • But this is exactly a global router!
Conclusions from previous slide • Wire load model problems • Lots of scatter • Systematically pessimistic for critical nets and optimistic for non-critical nets. • PKS curve (placement + Steiner) is better • Critical nets almost perfect since they are routed first and hence get near-Steiner routes • A few nets off (optimistic) from collective effects. OK for this design, but in a harder design this might be a problem. • Not shown: global route. Matches final route very well.
FPGA and Gate Array Design • Traditional use for Interconnect Prediction • Now moving towards extensive trials. Why? • Running previous generation detail router, or a crude global router tuned to the new architecture, give better results than predictors • Customers have expectations not related to wiring models. For example, certain data path elements MUST be wireable. • Small details (which side a pin is on) make big differences
What are people doing instead? • Methodology changes: • Do global routing first • Used by microprocessor companies internally • NANO project from Cadence • Tool changes • Combine synthesis & placement (better) • Combine synthesis, placement & global route (better yet) • Possible extensions – add detailed route, clock tree, test insertion, etc.
Future of Interconnect prediction • Where is interconnect prediction useful? • Prediction of radical process changes for which no detailed tools exist: • 3D interconnect • Optical interconnect • Wild new FPGA architectures • Properties that really do depend on averages • Yield analysis