SlideShare a Scribd company logo
Synchronization Issues in Multiple-Clock Domain Designs   Reuven Dobkin vSync Circuits ltd. www.vsyncc.com May 4, 2010
Outline Multiple Clock Domain designs Metastability and MTBF Common synchronization mistakes Advanced synchronization with EDA tools
Multiple Clock Domain (MCD) Designs
Multiple Clock Domains (1) Where can I encounter MCD? Everywhere! Single clock domain distribution is cumbersome in large designs due to: Variations (cells and interconnect) Clock uncertainty (skew) limits the performance Actually we always have ‘mesochronous’ clocks (same freq, slightly different phase), which are “synchronized” by timing assumptions (maximal skew)
Multiple Clock Domains (2) System-on-Chip (ASIC or FPGA) Usually consists of multiple IP-blocks Each IP works with its own clock Local / Global clock gating Dynamic Voltage and Frequency Scaling (DVFS): The speed of each module may change over time for power reduction
Taxonomy of Multiple Clock Domains R. Dobkin, R. Ginosar, &quot;Fast Universal Synchronizers,&quot; PATMOS, 2008  0 drifts Multi-synchronous Asynchronous f d >  Periodic f d <  Varies Plesiochronous 0  c Mesochronous 0 0 Synchronous  f  Class
Inter-MCD Communication Data transfer between different clock domains should be performed  carefully Incoming data change near receiver clock sampling edge causes  metastability , which may lead to a functional failure Either set-up or hold time is not satisfied
Metastability and MTBF
Metastability What happens when the data changes during sampling? The sampling FF becomes  metastable   Metastability : the FF goes into an unstable intermediate state presenting  non-deterministic delay
Asynchronous Failures Clock t pd t su + t h © 2003 Prof. Ran Ginosar, Technion,  048878-VLSI Architectures In 1 Out 1 In 2 Out 2 Data conflict Long Delay In 3 Out 3 Metastability Terrible data conflict All look fine in RTL simulation!  Rarely caught in GL (SU/H Warnings)! Do YOU run GL on your FPGA design?
Synchronization Failure Not a singular problem! It spreads through the entire circuit, causing total failure Long delay due to M/S causes violation of cycle time Failures due new M/S event or incorrect function
M/S Handling: The Two-Flop Synchronizer Allow time for Metastability settling Why two flops? (could actually be 1,2,3…) Settling time (S): 2 cycles Latency (from RDY+ to data latching): At least 2, up to 3 Why synchronize RDY and not data? Is this circuit enough? (NO) data BFF Clock B FF1 FF2 RDY enable
MTBF Mean Time Between Failures Given metastability at  t  = 0,  probability of metastability at  t > 0  =  e -t/         2 FO4 gate delay Failure: Still metastable  by next clock Failure = p(enter m.s)    p(still m.s. after T) Rate(failure) = Rate(enter m.s)    p(still m.s. after T) =W   F c    F d     e -T/    MTBF = 1/ Rate( failure) =
MTBF (various frequencies) One day One year 100 years 10K years 200MHz 400MHz 600MHz 800MHz 1 GHz © 2003 Prof. Ran Ginosar, Technion,  048878-VLSI Architectures
MTBF: Low Voltage is Deadly ! At nominal Vdd range (0.9—1.1V), MTBF(1T) is millions of years At  half  nominal Vdd, ckt is only 2-3x slower, but MTBF is  less than one year! 90nm NORMAL © 2003 Prof. Ran Ginosar, Technion,  048878-VLSI Architectures
   vs. V DD  and temperature Tau significantly increases at low temperature and low supply voltage © 2003 Prof. Ran Ginosar, Technion,  048878-VLSI Architectures
 : Recent findings (1)   S. Beer, R. Dobkin, R. Ginosar, A. Kolodny, &quot;The Devolution of Synchronizers,&quot; Proc. of ASYNC, 2010.  We thank our partner  GiDEL  for supporting this research. We also thank  Freescale Semiconductor  for their support.
 : Recent findings (2) We thank our partner  GiDEL  for supporting this research. We also thank  Freescale Semiconductor  for their support. S. Beer, R. Dobkin, R. Ginosar, A. Kolodny, &quot;The Devolution of Synchronizers,&quot; Proc. of ASYNC, 2010.
Common Synchronization Mistakes
Not Really Errors ! Most examples actually work as planned They may not scale, or not be portable They may fail when assumptions change
Avoiding Synchronization Myth: “since MTBF is a million years, there is no metastability and I don’t need a synchronizer” Truth:  Lots of metastability events per second Design should be “metastability-tolerant”, not “metastability-free”
One Flop Synchronizer Long delay may lead to setup violation Works if T SETTLE +T PD +T SETUP  < T CYCLE Use with caution, only in latency-critical situations Real life – year 2005: 10MHz design with hundreds of clocks (signals used as clocks). Works, although unintentionally…
Greedy Path Typically wrong “edge detector” Advise against in SoC methodology Use with caution, only in latency-critical situations
Parallel Synchronizer This one is  extremely dangerous !
Advanced Synchronization
Conclusion from previous slides Growing number of clock domain crossings (CDC) calls for an  automatic  CDC handling approach: Correct by design flexible synchronizer IPs Customized for the  specific  targeted FPGA / ASIC technology Enforced methodology avoiding synchronization pitfalls Tool-based CDC verification Sign off the design for each new change including porting to another technology
Correct by design synchronizers Guided requirement specification Different interface protocols Simulation models Synthesis constraints Efficient clock relation handling Different operating conditions handling FPGA/ASIC design flows support  vSync Generator
Tool-based CDC verification vSync Checker CDC Identification  CDC Classification Different operating conditions handling Design Reliability Grading RTL and GL support Similar tools are available from Mentor, Atrenta and Real Intent
Summary Synchronization is essential in most of the designs we deal with today Analyze all system requirements including reliability before choosing correct synchronizer Need EDA tools for reliable integration of multiple CDCs Validate each synchronizer Make this part of design methodology Use EDA tools for CDC verification
Thank you! You are welcome to visit us at www.vsyncc.com

More Related Content

PPTX
Meetup 19/01/2017 - Meet LoRa, a gamechanger in Antwerp?
PDF
Clock Tree Timing 101
PDF
Totem Technologies for Analog, Memory, Mixed-Signal Designs
PDF
Thermal Reliability for FinFET based Designs
PPT
Nano_PI_rvw
PDF
How to Identify and Prevent ESD Failures using PathFinder
PDF
Achieving Power Noise Reliability Sign-off for FinFET based Designs
PDF
Get it right the first time lpddr4 validation and compliance test
Meetup 19/01/2017 - Meet LoRa, a gamechanger in Antwerp?
Clock Tree Timing 101
Totem Technologies for Analog, Memory, Mixed-Signal Designs
Thermal Reliability for FinFET based Designs
Nano_PI_rvw
How to Identify and Prevent ESD Failures using PathFinder
Achieving Power Noise Reliability Sign-off for FinFET based Designs
Get it right the first time lpddr4 validation and compliance test

What's hot (18)

PDF
PacTec 2nd Source - Metrology Equipment Argon Laser Tube Replacement
PDF
High performance standard cell layout synthesis for advanced nanometer
PDF
PAM4 Analysis and Measurement Considerations Webinar
PDF
Patch Cord Test Adapter Data Sheet
PPTX
Adam_Mcconnell_Revision3
PDF
A view of semiconductor industry
PDF
Apollo brochure v2.0
PPT
POLYTEDA: Power DRC/LVS, June 2017
PDF
Automotive Electrostatic Discharge Case Study
PDF
Arduino esc2.0
PDF
Ap113 lcm4570 aquaculture mooring line monitoring
PPTX
PPTX
EE673+F14+T2+Project1+Final+Pres+r3rg
PPTX
trojan detection
PDF
Slow dancing pdn on memory-controller-packages may-10th_2012_hf_last
PDF
Polyteda: Power DRC/LVS, October 2016
PDF
Hardware Trojans
PPTX
Hardware Trojans By - Anupam Tiwari
PacTec 2nd Source - Metrology Equipment Argon Laser Tube Replacement
High performance standard cell layout synthesis for advanced nanometer
PAM4 Analysis and Measurement Considerations Webinar
Patch Cord Test Adapter Data Sheet
Adam_Mcconnell_Revision3
A view of semiconductor industry
Apollo brochure v2.0
POLYTEDA: Power DRC/LVS, June 2017
Automotive Electrostatic Discharge Case Study
Arduino esc2.0
Ap113 lcm4570 aquaculture mooring line monitoring
EE673+F14+T2+Project1+Final+Pres+r3rg
trojan detection
Slow dancing pdn on memory-controller-packages may-10th_2012_hf_last
Polyteda: Power DRC/LVS, October 2016
Hardware Trojans
Hardware Trojans By - Anupam Tiwari
Ad

Similar to Vsync track c (20)

PDF
Vlsi interview questions1
PDF
DELAY ERROR WITH META-STABILITY DETECTION AND CORRECTION USING CMOS TRANSMISS...
PPT
Semiconductor overview
PDF
A Low Power Solution to Clock Domain Crossing
PPTX
PPTX
6TiSCH @Telecom Bretagne 2015
PDF
T2: What the Second Generation Holds
PDF
VLSI Physical Design Physical Design Concepts
PDF
Physical design-complete
PPT
CMOS VLSI design
PDF
A Lecture Note on Bluetooth v5.2 in TTA Education Program(2020)
PDF
P358387
PDF
FPGA IMPLEMENTATION OF RECOVERY BOOSTING TECHNIQUE TO ENHANCE NBTI RECOVERY I...
PPTX
ZERO WIRE LOAD MODEL.pptx
PPTX
lec16_nanophotonics.pptx
PPTX
Very Large Scale Integrated Circuits VLSI Overview
PDF
Digital Wave Simulation of Lossy Lines for Multi-Gigabit Applications
PPT
Timing and Design Closure in Physical Design Flows
PPT
vlsi digital circuits full power point presentation
PDF
Design of -- Two phase non overlapping low frequency clock generator using Ca...
Vlsi interview questions1
DELAY ERROR WITH META-STABILITY DETECTION AND CORRECTION USING CMOS TRANSMISS...
Semiconductor overview
A Low Power Solution to Clock Domain Crossing
6TiSCH @Telecom Bretagne 2015
T2: What the Second Generation Holds
VLSI Physical Design Physical Design Concepts
Physical design-complete
CMOS VLSI design
A Lecture Note on Bluetooth v5.2 in TTA Education Program(2020)
P358387
FPGA IMPLEMENTATION OF RECOVERY BOOSTING TECHNIQUE TO ENHANCE NBTI RECOVERY I...
ZERO WIRE LOAD MODEL.pptx
lec16_nanophotonics.pptx
Very Large Scale Integrated Circuits VLSI Overview
Digital Wave Simulation of Lossy Lines for Multi-Gigabit Applications
Timing and Design Closure in Physical Design Flows
vlsi digital circuits full power point presentation
Design of -- Two phase non overlapping low frequency clock generator using Ca...
Ad

More from Alona Gradman (19)

PDF
Bary pangrle mentor track d
PPT
C:\fakepath\apache track d updated
PPT
Apache track d updated
PPT
National instruments track e
PPT
Stephan berg track f
PPT
Mullbery& veriest track g
PPT
Xilinx track g
PPT
Altera trcak g
PPT
Arm updated track h
PPT
Evatronix track h
PPT
Target updated track f
PPT
C:\fakepath\micrologic track c
PDF
Synopsys track c
PPT
Intel track a
PPT
Mips track a
PPT
E silicon track b
PPT
Magma trcak b
PPT
Timing¬Driven Variation¬Aware NonuniformClock Mesh Synthesis
PPT
Chip Ex2010 Gert Goossens
Bary pangrle mentor track d
C:\fakepath\apache track d updated
Apache track d updated
National instruments track e
Stephan berg track f
Mullbery& veriest track g
Xilinx track g
Altera trcak g
Arm updated track h
Evatronix track h
Target updated track f
C:\fakepath\micrologic track c
Synopsys track c
Intel track a
Mips track a
E silicon track b
Magma trcak b
Timing¬Driven Variation¬Aware NonuniformClock Mesh Synthesis
Chip Ex2010 Gert Goossens

Recently uploaded (20)

PDF
Trump Administration's workforce development strategy
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
Practical Manual AGRO-233 Principles and Practices of Natural Farming
PDF
Weekly quiz Compilation Jan -July 25.pdf
PDF
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PPTX
CHAPTER IV. MAN AND BIOSPHERE AND ITS TOTALITY.pptx
PPTX
Virtual and Augmented Reality in Current Scenario
PDF
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
PDF
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
PPTX
Unit 4 Computer Architecture Multicore Processor.pptx
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
PPTX
TNA_Presentation-1-Final(SAVE)) (1).pptx
PDF
FORM 1 BIOLOGY MIND MAPS and their schemes
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PPTX
Introduction to Building Materials
Trump Administration's workforce development strategy
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Practical Manual AGRO-233 Principles and Practices of Natural Farming
Weekly quiz Compilation Jan -July 25.pdf
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Paper A Mock Exam 9_ Attempt review.pdf.
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
CHAPTER IV. MAN AND BIOSPHERE AND ITS TOTALITY.pptx
Virtual and Augmented Reality in Current Scenario
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
Unit 4 Computer Architecture Multicore Processor.pptx
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
TNA_Presentation-1-Final(SAVE)) (1).pptx
FORM 1 BIOLOGY MIND MAPS and their schemes
LDMMIA Reiki Yoga Finals Review Spring Summer
202450812 BayCHI UCSC-SV 20250812 v17.pptx
Introduction to Building Materials

Vsync track c

  • 1. Synchronization Issues in Multiple-Clock Domain Designs Reuven Dobkin vSync Circuits ltd. www.vsyncc.com May 4, 2010
  • 2. Outline Multiple Clock Domain designs Metastability and MTBF Common synchronization mistakes Advanced synchronization with EDA tools
  • 3. Multiple Clock Domain (MCD) Designs
  • 4. Multiple Clock Domains (1) Where can I encounter MCD? Everywhere! Single clock domain distribution is cumbersome in large designs due to: Variations (cells and interconnect) Clock uncertainty (skew) limits the performance Actually we always have ‘mesochronous’ clocks (same freq, slightly different phase), which are “synchronized” by timing assumptions (maximal skew)
  • 5. Multiple Clock Domains (2) System-on-Chip (ASIC or FPGA) Usually consists of multiple IP-blocks Each IP works with its own clock Local / Global clock gating Dynamic Voltage and Frequency Scaling (DVFS): The speed of each module may change over time for power reduction
  • 6. Taxonomy of Multiple Clock Domains R. Dobkin, R. Ginosar, &quot;Fast Universal Synchronizers,&quot; PATMOS, 2008 0 drifts Multi-synchronous Asynchronous f d >  Periodic f d <  Varies Plesiochronous 0  c Mesochronous 0 0 Synchronous  f  Class
  • 7. Inter-MCD Communication Data transfer between different clock domains should be performed carefully Incoming data change near receiver clock sampling edge causes metastability , which may lead to a functional failure Either set-up or hold time is not satisfied
  • 9. Metastability What happens when the data changes during sampling? The sampling FF becomes metastable Metastability : the FF goes into an unstable intermediate state presenting non-deterministic delay
  • 10. Asynchronous Failures Clock t pd t su + t h © 2003 Prof. Ran Ginosar, Technion, 048878-VLSI Architectures In 1 Out 1 In 2 Out 2 Data conflict Long Delay In 3 Out 3 Metastability Terrible data conflict All look fine in RTL simulation! Rarely caught in GL (SU/H Warnings)! Do YOU run GL on your FPGA design?
  • 11. Synchronization Failure Not a singular problem! It spreads through the entire circuit, causing total failure Long delay due to M/S causes violation of cycle time Failures due new M/S event or incorrect function
  • 12. M/S Handling: The Two-Flop Synchronizer Allow time for Metastability settling Why two flops? (could actually be 1,2,3…) Settling time (S): 2 cycles Latency (from RDY+ to data latching): At least 2, up to 3 Why synchronize RDY and not data? Is this circuit enough? (NO) data BFF Clock B FF1 FF2 RDY enable
  • 13. MTBF Mean Time Between Failures Given metastability at t = 0, probability of metastability at t > 0 = e -t/     2 FO4 gate delay Failure: Still metastable by next clock Failure = p(enter m.s)  p(still m.s. after T) Rate(failure) = Rate(enter m.s)  p(still m.s. after T) =W  F c  F d  e -T/  MTBF = 1/ Rate( failure) =
  • 14. MTBF (various frequencies) One day One year 100 years 10K years 200MHz 400MHz 600MHz 800MHz 1 GHz © 2003 Prof. Ran Ginosar, Technion, 048878-VLSI Architectures
  • 15. MTBF: Low Voltage is Deadly ! At nominal Vdd range (0.9—1.1V), MTBF(1T) is millions of years At half nominal Vdd, ckt is only 2-3x slower, but MTBF is less than one year! 90nm NORMAL © 2003 Prof. Ran Ginosar, Technion, 048878-VLSI Architectures
  • 16. vs. V DD and temperature Tau significantly increases at low temperature and low supply voltage © 2003 Prof. Ran Ginosar, Technion, 048878-VLSI Architectures
  • 17.  : Recent findings (1) S. Beer, R. Dobkin, R. Ginosar, A. Kolodny, &quot;The Devolution of Synchronizers,&quot; Proc. of ASYNC, 2010. We thank our partner GiDEL for supporting this research. We also thank Freescale Semiconductor for their support.
  • 18.  : Recent findings (2) We thank our partner GiDEL for supporting this research. We also thank Freescale Semiconductor for their support. S. Beer, R. Dobkin, R. Ginosar, A. Kolodny, &quot;The Devolution of Synchronizers,&quot; Proc. of ASYNC, 2010.
  • 20. Not Really Errors ! Most examples actually work as planned They may not scale, or not be portable They may fail when assumptions change
  • 21. Avoiding Synchronization Myth: “since MTBF is a million years, there is no metastability and I don’t need a synchronizer” Truth: Lots of metastability events per second Design should be “metastability-tolerant”, not “metastability-free”
  • 22. One Flop Synchronizer Long delay may lead to setup violation Works if T SETTLE +T PD +T SETUP < T CYCLE Use with caution, only in latency-critical situations Real life – year 2005: 10MHz design with hundreds of clocks (signals used as clocks). Works, although unintentionally…
  • 23. Greedy Path Typically wrong “edge detector” Advise against in SoC methodology Use with caution, only in latency-critical situations
  • 24. Parallel Synchronizer This one is extremely dangerous !
  • 26. Conclusion from previous slides Growing number of clock domain crossings (CDC) calls for an automatic CDC handling approach: Correct by design flexible synchronizer IPs Customized for the specific targeted FPGA / ASIC technology Enforced methodology avoiding synchronization pitfalls Tool-based CDC verification Sign off the design for each new change including porting to another technology
  • 27. Correct by design synchronizers Guided requirement specification Different interface protocols Simulation models Synthesis constraints Efficient clock relation handling Different operating conditions handling FPGA/ASIC design flows support vSync Generator
  • 28. Tool-based CDC verification vSync Checker CDC Identification CDC Classification Different operating conditions handling Design Reliability Grading RTL and GL support Similar tools are available from Mentor, Atrenta and Real Intent
  • 29. Summary Synchronization is essential in most of the designs we deal with today Analyze all system requirements including reliability before choosing correct synchronizer Need EDA tools for reliable integration of multiple CDCs Validate each synchronizer Make this part of design methodology Use EDA tools for CDC verification
  • 30. Thank you! You are welcome to visit us at www.vsyncc.com

Editor's Notes

  • #5: Variations cause: skew, jitter and drifts.
  • #10: - While latches can present an intermediate voltage at the outputs, FF just present an non-deterministic delay (the chance of having intermediate voltage is very low thanks to the inverters asymmetry).
  • #13: Here we allow one cycle for settling
  • #15: This is easy to chart with Excel or similar tool. You can draw your own if you need to change any of the parameters. If you can decide how much MTBF you want, you can find out how long S should be. Alternative formats of drawing the data were published by Xilinx in 2002 (reference below). Note that if F C remains the same but we consider the slow corner (tau and W 50% higher, say tau=100ps and W=200ps), the MTBF values are smaller. But there is also a simpler way of approaching this.
  • #16: FO4 gate delay depends (roughly) linearly or quadratically on voltage. But MTBF depends exponentially on delay, hence exponentially on voltage !!!