Download CHAP10-1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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
xlate a
tool 1
tool 2
tool 1
tool 2
xlate b
xlate c
xlate d
database
xlate e
tool 3
tool 4
database (hub-and-spoke)
Modern VLSI Design 3e: Chapter 10
tool 3
tool 4
translator
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
C
D
B
logic network
Modern VLSI Design 3e: Chapter 10
behavior
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 variabledelay 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
Modern VLSI Design 3e: Chapter 10
good placement
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 2D layout.

Modern VLSI Design 3e: Chapter 10
Copyright  1998, 2002 Prentice Hall PTR
Min-cut bisecting partitioning
A
1 net
B
3 nets
C
partition 1
Modern VLSI Design 3e: Chapter 10
D
partition 2
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.
M2
M1
M1 and M2 not (M1 or 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
M2
M1
b
a
sweep
Modern VLSI Design 3e: Chapter 10
Copyright  1998, 2002 Prentice Hall PTR