Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR Topics n CAD systems. n...
-
Upload
morgan-fleming -
Category
Documents
-
view
218 -
download
2
Transcript of Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR Topics n CAD systems. n...
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Topics
CAD systems. Simulation. Placement and routing. Layout analysis.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
CAD systems
Tools aren’t very useful if they don’t talk to each other.
Design interchange languages:– VHDL (TM), Verilog (TM) (function and structure);– EDIF (netlists);– GDS, CIF (masks).
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
CAD tool interactions
database
tool 1 tool 2
tool 3 tool 4
database (hub-and-spoke) translator
tool 1 tool 2
tool 3 tool 4
xlate a
xlate c
xlate b
xlate e
xlate d
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Back annotation
Often want to iteratively improve design. Back annotation updates a more-abstract
design with information from later design stages.– Example: annotate logic schematic with
extracted parasitic Rs and Cs. Back annotation requires tools to know
more about each other.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Event-driven simulation
Event-driven simulation is designed for digital circuit characteristics:– small number of signal values;– relatively sparse activity over time.
Event-driven simulators try to update only those signals which change in order to reduce CPU time requirements.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Event-driven simulator structure
An event is a change in a signal value. A timewheel is a queue of events. Simulator traces structure of circuit to
determine causality of events—event at input of one gate may cause new event at gate’s output.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Event-driven simulation example
A
B
CD
logic network behavior
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Event-driven simulation example, cont’d
Events at primary inputs:– A changes at t=1;– B changes at t=2.
Immediate causality:– C changes at t=3 when both inputs to NOR are
0. Event propagation:
– D changes at t=4.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Delay models
Unit-delay simulators assume that each component has a one-unit delay. Model function but not performance.
Variable-delay simulators allow each component to have its own delay. Accuracy of performance estimates from variable-delay simulators depends on how well circuits can be extracted to digital model.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Switch simulation
Special type of event-driven simulation optimized for MOS transistors.
Treats transistor as switch. Takes capacitance into account to model charge sharing, etc.
Can also be enhanced to model transistor as resistive switch.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Switch simulation example
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Switch simulation example, cont’d
Node g may be connected to either power supply, but signals on that node are terminated by gate of transistor.
To solve for values of a and b nodes, must first solve for value of g node.– If g=1, then a=b.– If g=0, other parts of circuit determine a and b
independently.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Switch simulation and charge sharing
Closed transistor connects source and drain nodes. Want to determine voltages of source/drain nodes taking into account capacitance.
Capacitance determines node size. Use size of connected nodes to determine new value of nodes.
Result may be X (unknown).
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Layout synthesis
Two critical phases of layout design:– placement of components on the chip;– routing of wires between components.
Placement and routing interact, but separating layout design into phases helps us understand the problem and find good solutions.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Placement metrics
Quality metrics for layout:– area;– delay.
Area and delay deterined in part by wiring. How do we judge a placement without
wiring? Estimate wire length without actually performing routing.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Wire length as a quality metric
bad placement good placement
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Wire length measures
Estimate wire length by distance between components.
Possible distance measures:– Euclidean distance (sqrt(x2 + y2));– Manhattan distance (x + y).
Multi-point nets must be broken up into trees for good estimates.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Placement techniques
Can construct an initial solution, improve an existing solution.
Pairwise interchange is a simple improvement metric:– Interchange a pair, keep the swap if it helps
wire length.– Heuristic determines which two components to
swap.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Placement by partitioning
Works well for components of fairly uniform size.
Partition netlist to minimize total wire length using min-cut criterion.
Partitioning may be interpreted as 1-D or 2-D layout.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Min-cut bisecting partitioning
partition 1 partition 2
AB
C D
3 nets
1 net
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Min-cut bisecting partitioning, cont’d
Swapping A and B:– B drags 1 net;– A drags 3 nets;– total cut increase: 4 nets.
Conclusion: probably not a good swap, but must be compared with other pairs.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Kernighan-Lin algorithm
Compute min cut criterion:– count total net cut change.
Algorithm exchanges sets of nodes to perform hill-climbing—finding improvements where no single swap will improve the cut.
Recursively subdivide to determine placement detail.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Simulated annealing
Powerful but CPU-intensive optimization technique.
Analogy to annealing of metals:– temperature determines probability of a
component jumping position;– probabilistically accept moves.– start at high temperature, cool to lower
temperature to try to reach good placement.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Routing
Major phases in routing:– global routing assigns nets to routing areas;– detailed routing designs the routing areas.
Net ordering is a major problem. Order in whch nets are routed determines quality fo result. Net ordering is a heuristic.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Maze routing
Will find shortest path for a single wire, if such a path exists.
Two phases:– Label nodes with distance, radiating from
source.– Use distances to trace from sink to source,
choosing a path that always decreases distance to source.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Maze routing example
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Detailed routing
Dogleg router breaks net into multiple segments as needed.
Try to minimize number of dogleg segments per net to minimize congestion for future nets.
One good heuristic—use left-edge criterion on each dogleg segment to fill up the channel.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Rivest-Fiduccia channel router
Routes from left to right. Assigns all nets that cross the current column to tracks.
Heuristics:– Make connections to pins.– Add jogs to put multi-track net into one track.– Add jogs to reduce distance in multi-track nets.– Add jogs to move net toward next pin.– Add tracks when necessary.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
YACR2
Tries to minimize number of vias as well as number of tracks.
Temporarily satisfies vertical constraints by adding blank space between pins.
Eliminates blank space ater by adding jobs. May route in both directions on same layer.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Layout analysis
Test design rules using Boolean combinations of masks, grow/shrink.
M1
M2
M1 and M2 not (M1 or M2)
M1
M2
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Scan line algorithm
Mark each edge of polygon with direction. Sweep scan line across layout. At each point on scan line, count number of
left-hand and right-hand edges to determine what rectangle that point is in.
Modern VLSI Design 3e: Chapter 10 Copyright 1998, 2002 Prentice Hall PTR
Scan line algorithm example
M1
M2
sweep
a
b