inst.eecs.berkeley.edu/~ee241b
Borivoje Nikolić
EE241B : Advanced Digital Circuits
Lecture 8 – Standard Cells
EECS241B L08 STANDARD CELLS 1
‘I’m Not a Cat,’ Says Lawyer
Having Zoom Difficulties
The video was immediately shared
widely and brought joy to many.
The lawyer, Rod Ponton, said he
was happy people got a much‐
needed laugh
NY Times, Feb 9, 2021.
Announcements
•
Assignment 1+Lab 2 due next week
•
No lecture next Tuesday
2/11/2021
2
Outline
•
Standard cell libraries
•
Gate delays
3 EECS241B L08 STANDARD CELLS
2.J Standard Cells
4 EECS241B L08 STANDARD CELLS
3
Standard Cell Inverter
•
Schematic and layout
(in a planar bulk process)
Polysilicon
In
Out
VDD
GND
PMOS
2
Metal 1
NMOS
Out
In
V
DD
PMOS
NMOS
Contacts
N Well
EECS241B L08 STANDARD CELLS 5
•
Pitches are integer multiples of
Two Inverters
Connect in Metal
Share power and ground
Abut cells
V
DD2/11/2021
4
FinFET Standard Cells
EECS241B L08 STANDARD CELLS 7
V. Vashishtha, ICCAD’17
ASAP7
ASAP7 Standard Cells
EECS241B L08 STANDARD CELLS 8
7
ASAP7 Standard Cells
EECS241B L08 STANDARD CELLS 9
ASAP7 Standard Cells
2/11/2021
6
ASAP7 Standard Cells
EECS241B L08 STANDARD CELLS 11
ASAP7 Standard Cells
EECS241B L08 STANDARD CELLS 12
11
ASAP7 Standard Cells
EECS241B L08 STANDARD CELLS 13
ASAP7 Standard Cells
2/11/2021
8
ASAP7 Standard Cells
EECS241B L08 STANDARD CELLS 15
ASAP7 Standard Cells
EECS241B L08 STANDARD CELLS 16
15
ASAP7 Standard Cells
EECS241B L08 STANDARD CELLS 17
ASAP7 Standard Cells
2/11/2021
10
ASAP7 Standard Cells
EECS241B L08 STANDARD CELLS 19
ASAP7 Latch
EECS241B L08 STANDARD CELLS 20
19
2.K Design Kit
21 EECS241B L08 STANDARD CELLS
Design Kit Components
•
Physical views
•
Layout and schematic, with abstractions
•
Netlist
•
Logical view
•
Test view
•
Timing, power and noise views
•
Documentation
2/11/2021
12
EE241B Technology
•
ASAP7 7nm predictive technology kit
•
Also available Synopsys 32/28nm Generic Library
•
Multi-vth Standard Cell Library 45 IO pads
•
SRAMs
•
Design rule manual
EECS241B L08 STANDARD CELLS 23
2.L Delay Revisited
24 EECS241B L08 STANDARD CELLS
23
How to Account for Input Slope?
•
t
pHL
= 0.7 R
eq
C
L
EECS241B L08 STANDARD CELLS 25
0
V
DD
V
DD
0
Out In VDD CL Out In VDD CLV
DD
0
V
DD
0
•
t
pHL
= 0.7 R
eq
C
L
different R
eq
!
t
p
= ln2 RC = 0.7 R
eq
C
L
T
r,10-90
= 2.2 R
eq
C
L
T
r,20-80
= 1.4 R
eq
C
L
Input Slope Dependence
•
One way to analyze slope effect
out
out
L
NMOS
PMOS
dV
I
C
I
I
dt
2/11/2021
14
Slope Analysis
•
For falling edge at output:
•
For reasonable inputs, can ignore I
PMOS
•
Either V
DS
is very small, or V
GS
is very small
•
So, output current ramp starts when V
in
=V
ThZ
•
Could evaluate the integral
•
Learn more by using an intuitive, graphical approach
EECS241B L08 STANDARD CELLS 27
Slope Dependence
•
I
out
ramps linearly for
V
ThZ
<V
in
<V
DD
•
Constant once V
in
=V
DD
•
C
L
integrates I
out
•
V
ThZ
<V
in
<V
DD
: V
out
quadratic
•
V
in
= V
DD
: V
out
linear
0
V
ThZV
DD/2
V
DDV
in0
I
DSATI
outV
DD/2
V
DDV
outI
DSAT/2
t
p,rampEECS241B L08 STANDARD CELLS 28
27
Slope Dependence
EECS241B L08 STANDARD CELLS 29
Slope Dependence
•
Compare to step input whose
output crosses V
DD
/2 at same
time
•
V
out
set by charge removed
from C
L
•
Need to make
Q
R
= Q
S
2/11/2021
16
Slope Dependence
EECS241B L08 STANDARD CELLS 31
0
V
ThZV
DD/2
V
DDV
in0
I
DSATI
outV
DD/2
V
DDV
outI
DSAT/2
tp,step
V
half= (V
DD+V
ThZ)/2
t
p,rampt
slope•
To find Δt
slope
:
•
Find V
in
= V
half
when I
out
= I
DSAT
/2
•
And use input t
r
•
I
DSAT
α (V
DD
-V
ThZ
):
V
half
= (V
DD
+V
ThZ
)/2
•
So Δt
slope
= (V
ThZ
/2)/k
r
•
k
r
= V
DD
/(t
r,20-80
) = V
DD
/(2*t
p,in
)
•
t
p,in
– input propagation delay
𝑡
,
𝑡
,
𝑉
𝑘
/2
𝑡
,
𝑉
𝑉
𝑡
,
Result Summary
•
For reasonable input slopes:
•
For t
p,avg
: V
ThZ
is (V
ThZN
+ V
ThZP
)/2
•
V
ThZ
/V
DD
typically ~1/3-1/2 at nominal supplies
•
Propagation delay is a function of
•
Drive strength (R
eq
)
•
Load (C
L
)
•
Input rise/fall time (which is proportional to the propagation delay of the previous gate)
EECS241B L08 STANDARD CELLS 32
𝑡
,
𝑡
,
𝑉
𝑘
/2
𝑡
,
𝑉
𝑉
𝑡
,
𝑡
,
2𝑉
𝑉
𝑡
,
31
Model vs. Spice Data
•
For reasonable
input slope
•
Model matches
Spice very well
•
Model breaks with
very large t
r
•
Input looks “DC” –
traces out VTC
•
Have other problems here anyways
•
Short-circuit current
EECS241B L08 STANDARD CELLS 33
Signal Arrival Times
•
NAND gate:
1
2/11/2021
18
Signal Arrival Times
•
NAND gate:
1
EECS241B L08 STANDARD CELLS 35
Simultaneous Arrival Times
•
NAND gate:
EECS241B L08 STANDARD CELLS 36
35
Impact of Arrival Times
A
B
Delay
0
t
B
- t
A
A arrives early
B arrives early
Up to 25%
EECS241B L08 STANDARD CELLS 37
The edge can also advance in the opposite transition
Not in models; add derating during design
Key Point
•
Timing of a cell is set by its load and input rise/fall time
•
Enables static delay computation
•
Circuits described as graphs
•
Timing as a graph solving problem
2/11/2021
20
2.M Standard Cell Library
39 EECS241B L08 STANDARD CELLS
Standard Cell
Library
•
Contains for each cell:
•
Functional information: cell = a *b * c
•
Timing information: function of
•
input slew
•
intrinsic delay
•
output capacitance
non-linear models used in tabular approach
•
Physical footprint (area)
•
Power characteristics
•
Noise senistivity
•
Wire-load models - function of
•
Block size
•
Fan-out
Library
K. Keutzer, EE244
EECS241B L08 STANDARD CELLS 40
39
Synopsys Delay Models
•
Linear (CMOS2) delay model
•
Similar to what we have studied so far
EECS241B L08 STANDARD CELLS 41
Example Cell Timing
•
From Synopsys training materials
2/11/2021
22
Cell Characterization (Linear Model)
EECS241B L08 STANDARD CELLS 43
Synopsys Nonlinear Delay Model (NLDM)
Delay is a function of:
EECS241B L08 STANDARD CELLS 44
43
ASAP7 (INVBUF)
cell_rise (delay_template_7x7_x1) { index_1 ("5, 10, 20, 40, 80, 160, 320"); index_2 ("5.76, 11.52, 23.04, 46.08, 92.16, 184.32, 368.64"); values ( \ "15.1096, 17.9627, 22.9385, 32.3432, 50.7722, 87.5491, 161.048", \ "16.5685, 19.4199, 24.4133, 33.79, 52.3068, 89.0219, 162.558", \ "19.524, 22.3608, 27.3353, 36.7508, 55.1933, 92.0112, 165.882", \ "24.7681, 27.6326, 32.6303, 42.0258, 60.5712, 97.4164, 170.874", \ "32.336, 35.3813, 40.5148, 49.9033, 68.3822, 105.175, 178.667", \ "42.3648, 45.7309, 51.1095, 60.6139, 79.0285, 115.701, 189.326", \ "55.156, 59.1939, 65.086, 74.8102, 93.0649, 129.979, 203.019" \ ); } rise_transition (delay_template_7x7_x1) { index_1 ("5, 10, 20, 40, 80, 160, 320"); index_2 ("5.76, 11.52, 23.04, 46.08, 92.16, 184.32, 368.64"); values ( \ "8.99752, 13.8369, 23.7312, 43.8335, 84.6028, 166.699, 333.184", \ "8.99926, 13.8598, 23.7484, 43.8239, 84.6112, 166.718, 332.823", \ "9.02142, 13.8578, 23.7, 43.8538, 84.556, 166.735, 330.605", \ "9.54922, 14.3096, 23.9855, 43.9203, 84.7136, 167.621, 331.058", \ "10.9996, 15.5611, 24.9797, 44.3711, 84.7556, 167.261, 330.939", \ "13.4332, 17.8353, 26.8038, 45.7193, 85.3774, 166.849, 332.805", \ "17.1196, 21.5314, 29.9817, 47.9893, 86.8572, 168.099, 330.889" \ ); }EECS241B L08 STANDARD CELLS 45
Two-dimensional tables of
pre-characterized delays/transition times
as a function of input slope and output
capacitance
Synopsys Nonlinear Delay Model
•
Interpolates between characterization points
2/11/2021
24
Composite Current Source (CCS) Model
Synopsys
EECS241B L08 STANDARD CELLS 47
Driver model
Composite current source
(time and voltage dependent)
Receiver model
A set of capacitance models
Wire model
Interpolate
Matches both delay and rise/fall times
Next Lecture
•
Static timing
EECS241B L08 STANDARD CELLS 48