24
SoC Clock SoC Clock Synchronizers Synchronizers Project Project Elihai Elihai Maicas Maicas Harel Harel Mechlovitz Mechlovitz Characterization Presentation

SoC Clock Synchronizers Project

  • Upload
    nikita

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

SoC Clock Synchronizers Project. Characterization Presentation. Elihai Maicas Harel Mechlovitz. Presentation Agenda:. The synchronization problem Project motivation Synchronization classifications Various solutions Our goals Timeline. The synchnization problem. - PowerPoint PPT Presentation

Citation preview

Page 1: SoC Clock Synchronizers  Project

SoC Clock SoC Clock Synchronizers Synchronizers

Project Project

Elihai MaicasElihai Maicas

Harel Harel MechlovitzMechlovitz

Characterization Presentation

Page 2: SoC Clock Synchronizers  Project

Presentation Agenda:Presentation Agenda: The synchronization problemThe synchronization problem Project motivationProject motivation Synchronization classificationsSynchronization classifications Various solutionsVarious solutions Our goalsOur goals TimelineTimeline

Page 3: SoC Clock Synchronizers  Project

The synchnization The synchnization problemproblem

Large chips have multiple clock domains Large chips have multiple clock domains because:because: Chip interfaces with several unrelated blocksChip interfaces with several unrelated blocks Chip has inner IPs that require different Chip has inner IPs that require different

frequency frequency Chip size is growing, what makes it hard to Chip size is growing, what makes it hard to

design one LARGE single clockdesign one LARGE single clock And more…And more…

Page 4: SoC Clock Synchronizers  Project

The synchnization The synchnization problemproblem

Example: A communication HubExample: A communication Hub

Page 5: SoC Clock Synchronizers  Project

The synchnization The synchnization problemproblem

When spreading out the problem, it comes to When spreading out the problem, it comes to transfer data from transmitter to receiver:transfer data from transmitter to receiver:

Given that ckA and ckB are not from the same Given that ckA and ckB are not from the same clock domain, there is a probability that the clock domain, there is a probability that the receiver won’t sample the data correctlyreceiver won’t sample the data correctly MetastabilityMetastability ts/th issuests/th issues Duplicate / dropped samplesDuplicate / dropped samples

Page 6: SoC Clock Synchronizers  Project

The synchnization The synchnization problemproblem

What is the probability of this unfortunate situation to occur ?

In general, the probability of synchronization failure can be calculated as follows:P(failure) = P(enter metastable state) · P(still in metastable state after tw)

Page 7: SoC Clock Synchronizers  Project

The synchnization The synchnization problemproblem

Flip-flop can enter a metastable state, when its data input D changes the state during the aperture time or sampling window of the flip-flop

Probability of an input transition to occur during the sampling window is computed by dividing the apeture time ta by the clock period tcy

aE a Clk

cy

tP t f

t

Page 8: SoC Clock Synchronizers  Project

Project motivationProject motivation Sync problems become more and more Sync problems become more and more

frequent in the industryfrequent in the industry Common knowledge is quite insufficientCommon knowledge is quite insufficient Solutions are not well categorizedSolutions are not well categorized Too little do we know about the various Too little do we know about the various

solutions solutions Common synchronization mistakesCommon synchronization mistakes Some of the solutions were never looked Some of the solutions were never looked

at closely for proper correctness at closely for proper correctness checkingchecking

Page 9: SoC Clock Synchronizers  Project

Synchronization Synchronization classificationclassification

We can classify different synchronization We can classify different synchronization problems to number of groups:problems to number of groups:

Page 10: SoC Clock Synchronizers  Project

Synchronization Synchronization classificationsclassifications

MesochronousMesochronous

Phase difference stays constantPhase difference stays constant We could have a problem if clkB came too We could have a problem if clkB came too

fast after clkA (not allowing proper ts), or fast after clkA (not allowing proper ts), or too slow (not allowing th) too slow (not allowing th)

Page 11: SoC Clock Synchronizers  Project

Synchronization Synchronization classificationsclassifications

PlesiochronousPlesiochronous

Phase difference driftsPhase difference drifts ∆∆f< f< εε OtherOther

Every few cycles we might have a sync problem Every few cycles we might have a sync problem needs to be solvedneeds to be solved

Page 12: SoC Clock Synchronizers  Project

Synchronization Synchronization classificationsclassifications

PeriodicPeriodic

Events are periodic, therefore enables Events are periodic, therefore enables predictionprediction

The sychronizer can detect a conflict The sychronizer can detect a conflict enough time a head for the resualt to be enough time a head for the resualt to be ready on timeready on time

Page 13: SoC Clock Synchronizers  Project

Synchronization Synchronization classificationsclassifications

AsynchronousAsynchronous Communication between two asynchronic blocksCommunication between two asynchronic blocks Sampling asynchronic signals (real-world input Sampling asynchronic signals (real-world input

devices) for a synchronized blockdevices) for a synchronized block Synchronization is required when the Synchronization is required when the

outputs or output events depend on the outputs or output events depend on the order in which input events are receivedorder in which input events are received

Asynchronous design is sometimes selected Asynchronous design is sometimes selected for eliminating the need for synchronizationfor eliminating the need for synchronization

Page 14: SoC Clock Synchronizers  Project

Various solutionsVarious solutions

General solutionGeneral solution

The Two-FF synchronizer AKA Brute-Force The Two-FF synchronizer AKA Brute-Force synchronizersynchronizer

The first flop samples signal AThe first flop samples signal A AW has a high probability of being in a metastable AW has a high probability of being in a metastable

statestate The second flop samples AW after a large waiting The second flop samples AW after a large waiting

time allowing the metastable state to decaytime allowing the metastable state to decay

Page 15: SoC Clock Synchronizers  Project

Various solutionsVarious solutions

Mesochronous solutionMesochronous solution

By delaying the clock with the actual phase By delaying the clock with the actual phase difference, one of the registers will sample difference, one of the registers will sample correctly correctly

Page 16: SoC Clock Synchronizers  Project

Various solutionsVarious solutions

Plesiochronous solutionPlesiochronous solution

Using FIFO synchronizer, Using FIFO synchronizer, we can keep all timingwe can keep all timing needed for right sample needed for right sample

Page 17: SoC Clock Synchronizers  Project

Various solutionsVarious solutions

Periodic solutionPeriodic solution

Using prediction for shorter latencyUsing prediction for shorter latency Result (unsafe signal) is ready by the time input Result (unsafe signal) is ready by the time input

arrivesarrives

Page 18: SoC Clock Synchronizers  Project

Various solutionsVarious solutions

Asynchronous solutionAsynchronous solution

Both clocks are aperiodicBoth clocks are aperiodic AdvantagesAdvantages

Lower probability of synchronization failureLower probability of synchronization failure Inherent flow-controlInherent flow-control

Page 19: SoC Clock Synchronizers  Project

Our goalsOur goals Our main goal is to compare between various Our main goal is to compare between various

synchronization methods, with the following synchronization methods, with the following criteria:criteria: LatencyLatency AreaArea PowerPower SimplicitySimplicity Plug-n-playPlug-n-play

Categorize the various solutions and give certain Categorize the various solutions and give certain parameters for the choosing process of a parameters for the choosing process of a synchronizersynchronizer

Page 20: SoC Clock Synchronizers  Project

Our goalsOur goals In addition, we will check correctness of above In addition, we will check correctness of above

circuits with the following circuit:circuits with the following circuit:

Page 21: SoC Clock Synchronizers  Project

TimelineTimeline

Page 22: SoC Clock Synchronizers  Project

TimelineTimeline

Page 23: SoC Clock Synchronizers  Project

TimelineTimeline

Page 24: SoC Clock Synchronizers  Project

Q & AQ & A