EE241 - Spring 2007bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s07/... · Flip-Flop – Based...
Transcript of EE241 - Spring 2007bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s07/... · Flip-Flop – Based...
-
1
EE241 - Spring 2007Advanced Digital Integrated Circuits
Lecture 25: SynchronizationTiming
2
AnnouncementsHomework 5 due on 4/26Final exam on May 8 in classProject presentations on May 3, 1-5pm
-
2
3
Project Reports and PresentationsShould be in paper format – max of 6 pages
Title of the project/ your names and e-mail addressesAbstract (100 words)MotivationProblem statementPossible solutions from literature (from midterm report)Proposed comparison/solution. Discuss why did you select this particular one.Conditions/assumptions of your designAnalysis: Does it work? Analytical analysis, simulation results.Conclusion. What is this approach good for? What else could be done?References
Due on May 2, at 6pm (on the web), both the report and the slidesTime = 2min + 5min/person (two person teams get 12minutes)
4
Class MaterialLast lecture
Flip-flopsToday’s lecture
SynchronizationTiming
-
3
5
Timing OverviewSynchronization ApproachesSynchronous Systems
Timing methodologiesLatching elementsClock distributionClock generation
Asynchronous Systems
6
ReferencesChapter 10 in Rabaey Chapter 11 in Bowhill – Clocked storage elements, by H. PartoviHigh-speed CMOS design styles, Bernstein, et al, Kluwer 1998.Unger/Tan IEEE Trans. Comp. 10/86Harris/Horowitz JSSC 11/97Messerschmitt JSAC 10/90Stojanović/Oklobdžija JSSC 4/99
-
4
7
Issues in Timing
D. Messerschmitt, Oct 1990Boolean signal - stream of 0’s and 1’s, generated by saturating circuits and bistable memory elementsbut …
finite rise and fall times inter-symbol interferencemetastability leads to non-deterministic behavior
signal transitions are crucialtypically defined with respect to slicer/samplerassociated clock with uniformly spaced transitions
0 1 0 0 0 0 0 01 1 1 1 1 1 1 1 1
8
Boolean signalBoolean signal
Isochronousf + Δf = constant
Anisochronousf + Δf ≠ constant
SingleSingle
Clock signal :
f + Δf average frequencydφ/dt instantaneous frequency deviation
Issues in Timing
“equal” “not equal”
-
5
9
Issues in Timing
Synchronousf + Δf identicalΔφ(t) = 0 (or known)
Asynchronous
MesochronousΔφ(t) variable (but bounded)
PlesiochronousAverage Frequencyalmost the same
HeterochronousNominallyDifferent freq
“together” “not together”
“near”
“middle” “different”
Two Boolean SignalsTwo Boolean Signals
10
Some Definitions
Signals that can only transition at predetermined times with respect to a signal clock are called “{syn,meso,plesio}chronous”
An asynchronous signal can transition at any arbitrary time.
-
6
11
Some Definitions (contd)
Synchronous Signal: exactly the same frequency as local clock, and fixed phase offset to that clock.
Mesochronous Signal: exactly the same frequency as local clock, but unknown phase offset.
Plesiochronous Signal: frequency nominally the same as local clock, but slightly different
Mesochronous and plesiochronous concepts are very useful for thedesign of systems with long interconnections, and/or multipleclock domains
12
Mesochronous Interconnect
clock
synchronous
islandData synchronous
island
Phase Generator
Select
PhaseDetect
DataR1 R2
Clock
Local Synchronization
samples in certainty period of signal
(local)
-
7
13
Mesochronous Communication
R1Interconnect R2
ClkA
D2Block A
DelayBlock B
ClkB
D4
Control
D1
D3
VariableDelay Line
Timing Recovery
14
Plesiochronous Communication
Originating ReceivingFIFO
TimingClock C1
Clock C 2
Module Module
Recovery
C3
Does only marginally deal with fast variations in data delay
-
8
15
Anisochronous Interconnect
16
Synchronous Pipelined Datapath
In
tpd,reg tpd1
DR1
Q
CLK
LogicBlock #1
tpd2
DR2
QLogic
Block #2
tpd3
DR3
Q DR4
QLogic
Block #3
-
9
17
Latch Parameters
D
Clk
Q
D
Q
Clk
TClk-Q
TH
PWm TSU
TD-Q
Delays can be different for rising and falling data transitions
Unger and TanTrans. on Comp.10/86
18
Flip-Flop (Register) Parameters
D
Clk
Q
D
Q
Clk
TClk-Q
TH
PWm
TSU
Delays can be different for rising and falling data transitions
-
10
19
Example Clock System
Courtesy of IEEE Press, New York. © 2000
20
Clock NonidealitiesClock skew
Spatial variation in temporally equivalent clock edges; deterministic + random, tSK
Clock jitterTemporal variations in consecutive edges of the clock signal; modulation + random noiseCycle-to-cycle (short-term) tJSLong term tJL
Variation of the pulse width for level sensitive clocking
-
11
21
Clock Skew and Jitter
Both skew and jitter affect the effective cycle timeOnly skew affects the race margin
Clk1
Clk2
tSK
tJS
22
Clock Uncertainties
2
43
Power Supply
Interconnect
5 Temperature
6 Capacitive Load
7 Coupling to Adjacent Lines
1 Clock Generation
Devices
Sources of clock uncertainty
-
12
23
Clock Skew
# of registers
Clk delayInsertion delayMax Clk skew
Earliest occurrenceof Clk edgeNominal – δ/2
Latest occurrenceof Clk edge
Nominal + δ /2
δ
24
Clock Constraints in Edge-Triggered Systems
Courtesy of IEEE Press, New York. © 2000
-
13
25
Flip-Flop – Based Timing
Flip-flop
Logic
φ
φ = 1φ = 0
Flip-flopdelay
Skew
Logic delay
TSUTClk-Q
Illustration idea fromHorowitz, VLSI’96
26
Latch timing
D
Clk
Q
tD-Q
tClk-Q
When data arrives to transparent latch
When data arrives to closed latch
Data has to be ‘re-launched’
Latch is a ‘soft’ barrier
-
14
27
Single-Phase Clock with Latches
Latch
Logic
φ
Clk
P
PW
Tskl Tskl TsktTskt
Unger and TanTrans. on Comp.10/86
sktsklsk TTT +=In Chapter 10:
28
Preventing Late Arrivals
Clk
P PW
TSU Datamustarrive
Clk
TClk-Q TLM
TSU
Clk
TD-Q TLM
TSUPW
TSU
-
15
29
Preventing Late Arrivals
LMQMD
QMclkSUsktsklT
T
PWTTTTP +
⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧ −+++
≥−
− ,max
PWTTTTTP sktsklSULMQMclk −++++≥ −
LMQMD TTP +≥ −
Or:
30
Preventing Premature Arrivals
ClkTHPW
QmClkHsktsklLm TPWTTTT −−+++≥
TClk-Q TLm
Two cases, reduce to one:
QmClkHsktsklLm TPWTTTT −−+++≥
-
16
31
Single-Latch Timing
Latch
Logic
φ LMQMD
QMclkSUsktsklT
T
PWTTTTP +
⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧ −+++
≥−
− ,max
QmClkHsktsklLm TPWTTTT −−+++≥
Bounds on logic delay:
Either balance logic delaysor make PW short
32
Latch-Based Design
L1Latch Logic
Logic
L2Latch
f
L1 latch is transparentwhen f = 0
L2 latch is transparent when f = 1
-
17
33
Latch-Based Timing
As long as transitions are within the assertion period of the latch,no impact of position of clock edges
34
Latch Design and Hold Times
-
18
35
Latch-Based TimingLongest path
LLMLHMQMD TTTP ++≥ −2
Short paths
QmClkHSKCLLm TTTT −−+≥
QmClkHSKCLHm TTTT −−+≥
Same as register-based design but holdsfor both clock edges
Independent of skew
36
Latch-Based Timing
L1Latch Logic
Logic
L2Latch
φ
φ = 1
φ = 0
L1 latch
L2 latch
Skew
Can tolerate skew!
Longpath
Shortpath
Static logic
-
19
37
Dynamic Logic with Latches
Edges become hardTime available to logic is P – 2TD-Q From [Harris]
38
Latches with Dynamic Logic
φ = 0
φ = 1
L2 latchL1 latch
Shortpath
Clock evaluates logicand opens subsequent latch:
Static signals driving dynamiclogic must be eithernon-inverting orstable before evaluation
Phase1-dominoprecharges
Phase2-dominoevaluates
Phase1-dominoevaluates
Phase2-dominoprecharges
-
20
39
Soft-Edge Properties of LatchesSlack passing – logical partition uses left over time (slack) from the previous partitionTime borrowing – logical partition utilizes a portion of time allotted to the next partitionMakes most impact in unbalanced pipelines
Bernstein et al, Chapter 8, Partovi, Chap 11
40
Slack-Passing and Cycle Borrowing
For N stage pipeline, overall logic delay should be < N Tcl
-
21
41
Slack Passing Example
Edge Triggered:T = 125 nsec
Latch-based:T = 100 nsec
42
Skew-Tolerant Domino
General Reference:Harris, Horowitz, “Skew-tolerant domino circuits”
ISSCC’97, JSSC 11/97
Also slides from D. Harris’s Web site:http://www3.hmc.edu/~harris/index.html
-
22
43
Domino Logic with Latches
Time available to logic is P – 2TD-Q
44
Clock Skew
Time penalty: TL = P – (2TD-Q + 2Tsk)
-
23
45
Non-Balanced Phase Delays
Time penalty: TL = P – (2TD-Q + 2Tsk) - Timbal
46
Skew-Tolerant Domino
Overlap clocks:• x evaluates before y precharges• implicit latch between φ1 and φ2• no need for latch between domino phases
From [Harris]
-
24
47
Multiple Phases
48
Precharge Phase
-
25
49
Evaluation Phase
50
Skew Tolerance
From [Harris]
-
26
51
Time Borrowing
52
Next LectureFinish timingAsynchronous design