Example: quiz answers

Clock Domain Crossing (CDC) Design & Verification ...

World Class Verilog & SystemVerilog TrainingClock Domain Crossing (CDC) Design & VerificationTechniques Using SystemVerilogClifford E. CummingsSunburst Design , Design considerations require that multi- Clock designs be carefully constructed atClock Domain Crossing (CDC) boundaries. This paper details some of the latest strategies andbest known methods to address passing of one and multiple signals across a CDC in the paper are techniques related to CDC Verification and an interesting 2-deep FIFO Design for passing multiple control signals between Clock domains. Although the Design methodsdescribed in the paper can be generally implemented using any HDL, the examples are shownusing efficient SystemVerilog , MAVoted Best Paper1st PlaceSNUG Boston 2008 Clock Domain Crossing (CDC) Design & VerificationRev Using SystemVerilog2 Table of.

SNUG Boston 2008 Clock Domain Crossing (CDC) Design & Verification Rev 1.0 Techniques Using SystemVerilog 6 1.0 Introduction In 2001, I presented my first paper on multi-asynchronous clock design.

Tags:

  Technique, Clock, Crossing, Domain, Clock domain crossing

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Clock Domain Crossing (CDC) Design & Verification ...

1 World Class Verilog & SystemVerilog TrainingClock Domain Crossing (CDC) Design & VerificationTechniques Using SystemVerilogClifford E. CummingsSunburst Design , Design considerations require that multi- Clock designs be carefully constructed atClock Domain Crossing (CDC) boundaries. This paper details some of the latest strategies andbest known methods to address passing of one and multiple signals across a CDC in the paper are techniques related to CDC Verification and an interesting 2-deep FIFO Design for passing multiple control signals between Clock domains. Although the Design methodsdescribed in the paper can be generally implemented using any HDL, the examples are shownusing efficient SystemVerilog , MAVoted Best Paper1st PlaceSNUG Boston 2008 Clock Domain Crossing (CDC) Design & VerificationRev Using SystemVerilog2 Table of.

2 Is metastability a problem?.. synchronization scenarios .. flip-flop synchronizer .. - mean time before failure .. flip-flop synchronizer .. signals from the sending Clock signals into the receiving Clock fast signals into slow Clock domains .. for reliable signal passing between Clock domains .. "three edge" requirement .. - passing a fast CDC pulse .. - sampling a long CDC pulse - but not long enough!.. solution - sampling signals with synchronizers .. loop solution - sampling signals with synchronizers .. multiple signals between Clock domains .. CDC signal consolidation.

3 - Two simultaneously required control - - Two phase-shifted sequencing control - consolidation and an extra flip-flop .. - Multiple CDC for passing multiple CDC Path (MCP) formulation .. formulation using a synchronized enable pulse .. - MCP formulation with feedback .. - MCP formulation with acknowledge feedback .. counters .. codes .. conversion .. conversion .. code counter style #1 .. code counter style #2 .. multi-bit CDC techniques .. CDC signal passing using asynchronous CDC signal passing using 1-deep / 2-register FIFO synchronizer .. conventions & Design partitioning.

4 & signal naming conventions .. 36 SNUG Boston 2008 Clock Domain Crossing (CDC) Design & VerificationRev Using / multi-source modules with no naming Verification for each Clock oriented Design analysis of Clock -partitioned with MCP gate-level simulation issues .. gate-level CDC simulation issue .. to remove X-propagation from gate-level command to turn off timing checks .. flip-flop setup and hold times to and modify new flip-flop models .. set_annotated_check command .. strategies to remove X-propagation .. multiple SDF files .. synchronizer cell with supporting SDF generation tools.

5 With built-in synchronizer support .. SDF files for gate-level CDC simulations .. synchronizer notifier inputs to a fixed & FPGA library cell synchronizers .. model with random delay insertion .. & conclusions .. 1-bit CDC multi-bit CDC techniques .. naming conventions and Design partitioning .. solutions to multi- Clock gate-level CDC simulations .. References .. Author & Contact Common sync2 model - used by MCP formulation and FIFO MCP formulation with ready-acknowledge source code .. Multi-bit 1-deep / 2-register FIFO synchronizer source code .. 55 SNUG Boston 2008 Clock Domain Crossing (CDC) Design & VerificationRev Using SystemVerilog4 Table of FiguresFigure 1 - Asynchronous clocks and synchronization failure.

6 6 Figure 2 - Metastable bdat1 output propagating invalid data throughout the 7 Figure 3 - Two flip-flop 9 Figure 4 - Primary contributing factors to short MTBF 10 Figure 5 - Three flip-flop synchronizer used in higher speed designs .. 10 Figure 6 - Unregistered signals sent across a CDC 11 Figure 7 - Registered signals sent across a CDC boundary .. 12 Figure 8 - Short CDC signal pulse missed during synchronization .. 14 Figure 9 - Marginal CDC pulse that violates the destination setup and hold 10 - Lengthened pulse to guarantee that the control signal will be sampled ..16 Figure 11 - Signal with feedback to acknowledge receipt.

7 17 Figure 12 - Problem - Passing multiple control signals between Clock 13 - Solution - Consolidating control signals before passing between Clock domains .. 20 Figure 14 - Problem - Passing sequential control signals between Clock 21 Figure 15 - Solution - Logic to generate proper sequencing signals in the new Clock domains .. 22 Figure 16 - Problem - Encoded control signals passed between Clock domains .. 23 Figure 17 - Logic to pass a synchronized enable pulse between Clock domains .. 24 Figure 18 - Synchronized pulse generation 25 Figure 19 - Synchronized enable pulse generation logic and equivalent symbol.

8 26 Figure 20 - Multi-Cycle Path (MCP ) formulation toggle-pulse 26 Figure 21 - Multi-Cycle Path (MCP ) formulation toggle-pulse generation with 27 Figure 22 - Multi-Cycle Path (MCP ) formulation toggle-pulse generation with ready-ack .. 28 Figure 23 - Binary count values sampled in mid-transition .. 29 Figure 24 - 4-bit gray-to-binary conversion 30 Figure 25 - 4-bit gray-to-binary conversion equations - 2nd method .. 31 Figure 26 - 4-bit binary-to-gray conversion 31 Figure 27 - Gray code counter style #1 - only one gray code 32 Figure 28 - Gray code counter style #2 - binary register and gray code 33 Figure 29 - 1-deep / 2-register FIFO synchronizer block 35 Figure 30 - Design partitioned on Clock boundaries.

9 38 Figure 31 - Partitioned Design with MCP 40 Figure 32 - Synchronizer gate-level CDC simulation waveforms .. 41 Figure 33 - Sample ASIC & FPGA synchronizer cell for synthesis and simulation .. 46 SNUG Boston 2008 Clock Domain Crossing (CDC) Design & VerificationRev Using SystemVerilog5 Table of ExamplesExample 1 - Non-working but conceptually correct gray-to-binary SystemVerilog model .. 30 Example 2 - Parameterized and correct gray-to-binary SystemVerilog 31 Example 3 - Parameterized binary-to-gray SystemVerilog 32 Example 5 - Parameterized gray-code counter SystemVerilog 33 Example 6 - Parameterized gray-code counter with binary counter.

10 34 Example 7 - SystemVerilog model for ASIC & FPGA synchronizer cell .. 47 Example 8 - 50 Example 9 - code .. 50 Example 10 - 51 Example 11 - code .. 51 Example 12 - code .. 52 Example 13 - code .. 53 Example 14 - code .. 54 Example 15 - code .. 55 Example 16 - code .. 55 Example 17 - Dual Port Ram code - .. 56 Example 18 - 56 SNUG Boston 2008 Clock Domain Crossing (CDC) Design & VerificationRev Using IntroductionIn 2001, I presented my first paper on multi-asynchronous Clock Design . At that time, I had notfound any good sources to describe the Design and synthesis techniques required to do propermulti- Clock Design .


Related search queries