pipeline synchronization

22
Avshalom Elyada, Ran Ginosar Pipeline Synchronization 1 Pipeline Pipeline Synchronization Synchronization A Unique and Successfully A Unique and Successfully Implemented Approach to the Implemented Approach to the Synchronization Problem Synchronization Problem Based on the article Based on the article “Pipeline Synchronization” “Pipeline Synchronization” by Jakov N. Seizovic, 1994 by Jakov N. Seizovic, 1994

Upload: eyad

Post on 05-Jan-2016

38 views

Category:

Documents


0 download

DESCRIPTION

Pipeline Synchronization. A Unique and Successfully Implemented Approach to the Synchronization Problem Based on the article “Pipeline Synchronization” by Jakov N. Seizovic, 1994. Search for New Solutions. More and more sync operations per unit time: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 1

Pipeline Pipeline SynchronizationSynchronization

A Unique and Successfully A Unique and Successfully Implemented Approach to Implemented Approach to

the Synchronization Problemthe Synchronization Problem

Based on the articleBased on the article“Pipeline Synchronization” “Pipeline Synchronization” by Jakov N. Seizovic, 1994by Jakov N. Seizovic, 1994

Page 2: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 2

Search for New Search for New SolutionsSolutions

• More and more sync operations per unit time:– complex chipsmore inter-domain transitions– Higher freq less settling time smaller MTBF

• Existing solutions no longer deliver required PoF– And if they can it is a matter of the next

generation or two…

• inter-domain interfaces are often long interconnects; need to solve both with one mechanism

Page 3: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 3

Current SolutionsCurrent Solutions

• Reviewed in previous lectures– Two-flop – Clock shifting/streching, predicitve– …

• All treat sync as “one-shot” process, at end of which signal is either synced or not

Page 4: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 4

Pipeline Pipeline SynchronizationSynchronization

• Pipeline approach: control signals synced in stages, along with data flow

• Each step of the pipeline “partially synchronizes” the signal, reducing it’s degree of asynchronicity.

• More stages less PoF: safety vs. latency tradeoff

• Data is latched at each stage– Divide long interconnect into short segments– Deal with inter-bit skew

Page 5: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 5

Degree of Degree of AsynchronicityAsynchronicity

• Until now, signal was either synchronous or asynchronous

• For sync in stages, let’s look at more information:– A signal’s arrival time in interval [0-T]

as random variable with distribution function

and degree of asynchronicity :

Page 6: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 6

• For a time-window 0<Tw<T, Asynchronicity of a signal is defined as:

• Intuitive meaning: when sampling within a window of Thold+Tsetup=Tw , As is the lowest prob. of MS behavior that can be achieved.

Asynchronicity of Asynchronicity of SignalsSignals

Page 7: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 7

Insightful ExamplesInsightful Examples• Synchronous: can make As = 0 if satisfy

Thold+Tsetup< certain Tmax

• Asynchronous: As = Tw/T

• As = 1 corresponds to a “Malicious” signal: no matter where we sample, the signal always arrives within our time window

Page 8: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 8

Pipeline Pipeline SynchronizationSynchronization

• Building blocks– Stage-synchronizer based on one or

two Mutual-Exclusion elements– FIFO element

• Start with async elements (latch & latch-like)– Explore possible use of DFFs for both

data & sync (ctrl) path• More appealing to sync. designers

Page 9: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 9

An ME as a Synchronizer An ME as a Synchronizer (I)(I)

• Outputs mutually exclusive : only one asserts at a given time

• Connect ‘clk’ and signal ‘R’ to inputs• ‘A’ synced output, other output unused

clk

S

clk

XR1

R0

A1

A0

ME

R A

A +

R -

A -

R

Clk +Clk -

Clk=0

Clk=1

Page 10: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 10

An ME as a An ME as a SynchronizSynchroniz

er (II)er (II)

A is synced to clk

Page 11: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 11

An ME as a Synchronizer An ME as a Synchronizer (III)(III)

Inverse the clk:A syncs to clk sync to posedge

R1

R0

A1

A0

ME

R A

clk

Page 12: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 12

ME ImplementationME Implementation• A latch with a MS

filter• As inherent to any

sync. decision h/w, ME has a MS-state.– If in MS-state, Ao

does not assert until MS resolved

– Next clk edge forces ME out of MS-state.

Page 13: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 13

Dual-edge SynchronizerDual-edge Synchronizer• Want to use 2-

phase protocol, better for long interconnects

• Need to sync rise and fall of Ri->Ro

• Use 2 MEs and another latch

Page 14: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 14

FIFO FIFO ElementElement

• Holds data in stage while ctrl is synced

• 2-phase single-rail handshake– 2-phase more suited for

long interconnects

• Latch as mem. element– can also use DFF, appeal

to sync. designers

• Simple async ctrl (petrify)– More on implementation

next time…

Page 15: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 15

Pipeline w/ Embedded Pipeline w/ Embedded SynchronizingSynchronizing

S Ri

Ai

Di

Ro

Ao

Do

S Ri

Ai

Di

Ro

Ao

Do

S Ri

Ai

Di

Ro

Ao

Do

Synchronous Asynchronous

Taken from “Synchronization Ideas”, Charles E. Dike, Intel Corporation

Page 16: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 16

Likewise for Multi-Likewise for Multi-Synchronous DomainsSynchronous Domains

S Ri

Ai

Di

Ro

Ao

Do

S Ri

Ai

Di

Ro

Ao

Do

Ri

Ai

Di

Ro

Ao

Do

S

Mult.-sync. domain B Mult.-sync. domain A

S

S

S

Taken from “Synchronization Ideas”, Charles E. Dike, Intel Corporation

Page 17: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 17

Step-by-Step-by-StepStep

Page 18: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 18

Long Interconnect:Long Interconnect:Pipeline SynchronizerPipeline Synchronizer

Seizovic, “Pipeline Synchronization,” Async 1994Kessels, Peeters, Kim, "Bridging Clock Domains by synchronizing the mice in the mousetrap", PATMOS, 2003

B clk

half cycledistance

• Last 3 stages in each direction contain synchronizers

A clk

ME

ME

A clk

REQ

ME

B clk

ME

ME

ACK

ME

Page 19: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 19

Probability of Failure Probability of Failure • Pipeline PoF as formally proven in article:

-k(T/2-Toh)/τ Pk=P0*e– P0– PoF without any sync– k– # stages

• t = T/2-Toh is the time each sync hasToh = synchronizer+FIFO delay

• Recall prob. of exit MS is P(t) = exp(-t/τ)• Intuitively, each stage works alone

during its allocated time (while clk is high, minus overhead). The contributions are combined.

Page 20: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 20

FutureFuture

• At each stage, time for sync isT/2 –Toh. Insert logic in the pipeline– On data, no problem– On ctrl possible, Toh effectively grows

need more stages for same PoF– But pipeline would have added

functionality• Can also contemplate insertion of

ME-elements along existing pipelines in synchronous designs…

Page 21: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 21

Glancing BackGlancing Back

Need for better solution that also addresses long-interconnect issueAsynchronicity (degree of)Syncing in stages: pipelineME as a synchronizerFIFO elementPipeline Synchronizers

Page 22: Pipeline Synchronization

Avshalom Elyada, Ran Ginosar Pipeline Synchronization 22

Next PresentationNext Presentation

More on Pipeline Sync, …“Bridging Clock Domains by Synchronizing the Mice in the Mousetrap” Kessels, Peeters, KimPhilips Research Laboratory, 2003