Clock Domain Crossing Keon Amini.

Slides:



Advertisements
Similar presentations
1 A latch is a pair of cross-coupled inverters –They can be NAND or NOR gates as shown –Consider their behavior (each step is one gate delay in time) –From.
Advertisements

Registers Computer Organization I 1 September 2009 © McQuain, Feng & Ribbens A clock is a free-running signal with a cycle time. A clock may.
Tutorial 2 Sequential Logic. Registers A register is basically a D Flip-Flop A D Flip Flop has 3 basic ports. D, Q, and Clock.
1 Lecture 16 Timing  Terminology  Timing issues  Asynchronous inputs.
Synchronous Counters with SSI Gates
Chapter 5 Internal Memory
Digital Logic Chapter 5 Presented by Prof Tim Johnson
Sequential Logic Computer Organization Ellen Walker Hiram College Figures from Computer Organization and Design 3ed, D.A. Patterson & J.L. Hennessey, Morgan.
Synchronous Digital Design Methodology and Guidelines
Assume array size is 256 (mult: 4ns, add: 2ns)
Embedded Systems Hardware:
ENGIN112 L26: Shift Registers November 3, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 26 Shift Registers.
Flip Flops. Clock Signal Sequential logic circuits have memory Output is a function of input and present state Sequential circuits are synchronized by.
1 CSE370, Lecture 16 Lecture 19 u Logistics n HW5 is due today (full credit today, 20% off Monday 10:29am, Solutions up Monday 10:30am) n HW6 is due Wednesday.
Lecture 5. Sequential Logic 3 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education & Research.
Synchronous Counters ET 5. Thinking back In the past we have seen that asynchronous counters can be used to count binary in the order that we have filled.
1 Registers and Counters A register consists of a group of flip-flops and gates that affect their transition. An n-bit register consists of n-bit flip-flops.
1 CSE370, Lecture 17 Lecture 17 u Logistics n Lab 7 this week n HW6 is due Friday n Office Hours íMine: Friday 10:00-11:00 as usual íSara: Thursday 2:30-3:20.
Abdullah Said Alkalbani University of Buraimi
RTL Hardware Design by P. Chu Chapter Poor design practice and remedy 2. More counters 3. Register as fast temporary storage 4. Pipelined circuit.
Sequential logic circuits
COUNTERS Why do we need counters?
Chapter 6 – Digital Electronics – Part 1 1.D (Data) Flip Flops 2.RS (Set-Reset) Flip Flops 3.T Flip Flops 4.JK Flip Flops 5.JKMS Flip Flops Information.
D Flip Flop. Also called: Delay FF Data FF D-type Latches ‘Delayed 1 Clock Pulse’
1 Programming of FPGA in LiCAS ADC for Continuous Data Readout Week 6 Report Wednesday 6 th August 2008 Jack Hickish.
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
Counters and registers Eng.Maha Alqubali. Registers Registers are groups of flip-flops, where each flip- flop is capable of storing one bit of information.
Sequential Logic Circuit Design Eng.Maha Alqubali.
DATA ENCODING METHODS. When the data is received from a serial digital circuit, it is in a format know as NRZ or Non- Return to Zero. This is most common.
Serial Communications
Computer Science 210 Computer Organization
Flip Flops.
Class Exercise 1B.
Chapter 6 Input/Output Organization
CSE 140 – Discussion 7 Nima Mousavi.
Lecture 15 Sequential Circuit Design
REGISTER TRANSFER LANGUAGE (RTL)
Chapter #6: Sequential Logic Design
Flip Flops Lecture 10 CAP
Clocks A clock is a free-running signal with a cycle time.
Asynchronous Counters with SSI Gates
Clock in Digital Systems
Sequential Logic Counters and Registers
Flip Flops.
Sequential Circuit: Counter
DR S. & S.S. GHANDHY ENGINEENRING COLLEGE
Computer Science 210 Computer Organization
University of Maryland Baltimore County Department of Computer Science and Electrical Engineering   CMPE 212 Laboratory (Discussion 12) Hasib Hasan
Introduction to Sequential Logic Design
CPE/EE 422/522 Advanced Logic Design L03
Registers and Counters Register : A Group of Flip-Flops. N-Bit Register has N flip-flops. Each flip-flop stores 1-Bit Information. So N-Bit Register Stores.
100BASE-TX: uses 2-pair UTP or STP that can handle 125 MHz signals and beyond. It uses a binary coding scheme called 4B5B, every 5 clock pulses are used.
LECTURE 15 – DIGITAL ELECTRONICS
Asynchronous Serial Communications
CSE 370 – Winter Sequential Logic-2 - 1
Computer Science 210 Computer Organization
Elec 2607 Digital Switching Circuits
COE 202: Digital Logic Design Sequential Circuits Part 4
Counters and Registers
Digital Logic & Design Dr. Waseem Ikram Lecture No. 31.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
ECE434a Advanced Digital Systems L06
CSE 370 – Winter Sequential Logic-2 - 1
Thought of the Day To be what we are, and to become
Lecture 19 Logistics Last lecture Today
Registers and Counters
Synchronous Digital Design Methodology and Guidelines
Serial Communications
Synchronous Digital Design Methodology and Guidelines
Lecture 3: Timing & Sequential Circuits
Presentation transcript:

Clock Domain Crossing Keon Amini

What is Clock Domain Crossing (CDC)? If we have two sequential circuits, each running with different clocks, and signals are being transmitted from one to the other, the signals are said to be crossing clock domains. Examples of CDC usage include buttons, switches, UART receivers, incoming SPI clocks, asynchronous resets, USB-FPGA interfacing, etc.

Some CDC Techniques Crossing into Higher Frequency Domain Multi-Flip Flop Synchronizers Crossing into Similar or Lower Frequency Domain Asynchronous FIFOs

Multi-Flip Flop Synchronizers Cascading Flip Flops introduces a delay in the output which reduces the chances of any propagated metastability Signal A must not transition any faster than the time required for signal C to stabilize, otherwise there will be data loss MTBF > 1/(fA*fC2) To discard the excess samples in C, additional follow-up logic is required.

Asynchronous FIFOs Since the receiver is slower, the data must be written into a memory Domain A writes data into the FIFO using clock A (fast), Domain B reads data from the FIFO using clock B (slow) Once the FIFO is full, Domain A must stop writing, and Domain B will continue reading until FIFO is empty Uses n+1 bit registers: n for data, 1 for full/not full flag

Asynchronous FIFOs Read and write pointers must cross domains in order to be checked for fullness, as a result 2-FF synchronizers are used Must use a clever numbering scheme for address pointers so that there are minimum bit transitions -> maximum reliability of the 2FF synchronizers Best Scheme: Gray Code

Other Considerations Data Incoherency Multiple Bits crossing over domains – some may have longer metastable durations -> incoherent output Solution: MUX Recirculation Synchronizers More CDC use-cases to be considered in the near future

References http://www.sunburst- design.com/papers/CummingsSNUG2008Boston_CDC.pdf https://www.eetimes.com/document.asp?doc_id=1276114 https://www.youtube.com/watch?v=a_RL56y8Fpo http://zipcpu.com/blog/2017/10/20/cdc.html