Example: tourism industry

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.

SNUG Boston 2008 Clock Domain Crossing (CDC) Design & Verification Rev 1.0 Techniques Using SystemVerilog 2 Table of Contents 1.0 Introduction..... 6

Tags:

  Design, Clock, Crossing, 2008, Domain, Clock domain crossing, 2008 clock domain crossing

Information

Domain:

Source:

Link to this page:

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

Other abuse

Advertisement

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.

2 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 .. 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.

3 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 .. - Two simultaneously required control - - Two phase-shifted sequencing control - consolidation and an extra flip-flop .. - Multiple CDC for passing multiple CDC Path (MCP) formulation.

4 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 .. & 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.

5 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 .. 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.

6 & 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.

7 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.

8 16 Figure 11 - Signal with feedback to acknowledge receipt .. 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.

9 24 Figure 18 - Synchronized pulse generation 25 Figure 19 - Synchronized enable pulse generation logic and equivalent symbol .. 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.

10 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 .. 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.


Related search queries