Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Agenda
Introduction
Design Flow
Overview
Floorplan
Timing Driven Placement
Clock Tree Synthesis
Routing
Verification
Design Example
Introduction
Introduction
Technological Advances
19th Century - Steel
20th Century Silicon
Intel indicates that dual core processors will soon exist that
contain 1 billion transistors
Introduction
Manual (Human) design can occur with small number of
transistors
Introduction
CAD tools provide several advantages
Ability to evaluate complex conditions in which solving one
problem creates other problems
Use analytical methods to assess the cost of a decision
Use synthesis methods to help provide a solution
Allows the process of proposing and analyzing solutions to occur
at the same time
Design Flow
38
Transistor or Device
Representation
CMOS Inverter Example VDD
PMOS
IN
OUT
OUT
IN
NMOS
GND
Gate Schematic
VDD
VDD
PMOS
PMOS
OUT
IN
IN
OUT
NMOS
NMOS
GND
GND
39
Silicon Substrate
Layout or Mask (aerial) view
40
Input
PMOS
VDD
Output
GND
NMOS
Aerial or Layout View
Metal 1
Oxide insulation Metal 1
Poly
Diffusion
Diffusion
VDD
IN
GND
49
Length
Length
L
Widt
h
G
A
T
E
Narrow
er
Width
=
Lower
current
throug
h
channe
l
G
A
T
E
Width
(W)
Wider
Width
=
Higher
current
throug
h
chann
el
42
L = 0.5 um
Comparing Technologies
L = 0.25 um
2L
2L
W = 3 um
2L
2L
W = 1.5 um
A: 0.5 um Technology
B: 0.25 um Technology
Area Comparison
43
IN
0.25 um
L = 0.25 um
IN
IN
3 um
W = 1.5 um
OUT
OUT
GND
1X NMOS (W/L = 6)
1.5 um
GND
2X NMOS (W/L = 12)
OUT
GND
2X NMOS (W/L = 6 + 6)
44
inv1
2x
1x
PMOS
transistor
Input
Output
NMOS
transistor
Parallel PMOS
transistors
Input
Output
Parallel NMOS
transistors
45
Maximum Transition
Rule Violation
After Optimization
1x
Before Optimization
1x
2x
1x
1x
46
Timing Constraints
3rd Input to Astro
Derived from system specifications and implementation of
design
Identical to timing constraints used during logic synthesis
Common constraints in electronic designs
Clock Speed/Frequency
Input / Output Delays associated with I/O signals
Multicycle Paths
False Paths
Concepts of Placement
Concepts of Routing
Floorplan
Floorplan of design:
Core area defined with large macros placed
Periphery area defined with I/O macros placed
Power and Ground Grid (Rings and Straps) established
Utilization:
The percentage of the core that is used by placed standard cells and
macros
Goal of 100%, typically 80-85%
Timing
Area
Power
Signal Integrity
Timing Constraints
Astro needs constraints to
understand the timing
intentions
Arrival time of inputs
Required arrival time at outputs
Clock period
Logic Optimizations
Gated - CTS
Effects of CTS
Several (Hundreds/Thousands)
of clock buffers added to the
design
Placement / Routing congestion
may increase
Non-clock cells may have been
moved to less ideal locations
Timing violations can be
introduced
Routing
Verification
Verification
Formal Verification
New standard cells have been added to the design
through timing optimizations and clock tree synthesis
The final netlist created by Astro needs to be compared
to the original gate-level netlist
Timing Verification
Star-RCXT performs the layout parasitic extraction of
the resistances and capacitances of all routes in the
design
Results in a format such as SPEF (Standard Parasitic
Extended Format)
SPEF is an smaller, extended format of Standard Parasitic Format
(SPF), which enables the transfer of design specific resistances
and capacitances from physical design to timing analysis and
simulation tools
Physical Verification
Checks the design for fabrication feasibility and physical
defects that could result in the design to not function
properly
3 checks (DRC, ERC, and LVS)
Fabrication
Physical Design process is complete
upon successful completion of timing,
functional, and physical verification
The design can be Taped-Out and
GDSII created for the manufacturer
GDSII (Graphic Design System II) is a
binary format containing the physical
geometry information of the design.
The shapes are assigned numeric
attributes in the form of Layer Number
and Data Type (Metal 1 => 100:0)
GDSII (Stream)
Masks
Wafer
30
Outputs:
64-bit FIFO out
Overflow flag
Full, Empty flags
Block Diagram
data_in_x
data_in_y_fifo_in
64
clk
rst
register
overfl
add_fifo
64
register
unsignedAdder
64
register bank
sum_cnt
64
rd
wr
en
64 x 8
FIFO
data_out
full
empty
data_in_y_fifo_in
64
clk
rst
register
overfl
64
register
unsignedAdder
Critical Path
add_fifo
64
register bank
sum_cnt
64
rd
wr
en
64 x 8
FIFO
data_out
full
empty
Floorplan
Placement
Clock Tree Synthesis
Routing
Floorplanning
Aspect Ratio
Power Planning
Utilization
Pin Placement
Macro Placement
Define Core Rows and Routing Tracks
Read in Netlist, Libraries, and SDC.
Groups and Regions
Floorplan (Theoretical)
clk
reset
64
data_in
sum_cnt
data
out
64
data_in
FIFO
Input
Register
output
flags
Data Flow
Floorplan
Placement
Timing
First look at non-wire load model timing.
Concentrate on any large setup violations.
Ignore violations caused by design rule
failures.
Design Placement
Reset Net
Goals:
Low Clock Skew
Low Clock Insertion Delay
Sharp Transitions
Timing
Setup violations clean
Design Rules fixed
Initial evaluation of real hold violations
Routed Design
Route (zoom)
QUESTIONS ?