Questions tagged [cdc]

Clock Domain Crossing. Used where information is transferred from synchronous logic from one clock source to synchronous logic using a different clock source.

50 questions
11
votes
2 answers

How does 2-ff synchronizer ensure proper synchonization?

Using 2-ff synchronizers has been a standard for a signal to cross clock boundaries. And there are lots of paper/figures illustrating the mechanism, such as this one: It seems bclk can only sample the pulse of adat once (at the second rising edge of…
fiedel
  • 163
  • 1
  • 2
  • 10
8
votes
1 answer

gray code clock domain crossing FIFO fast to slow

I'm trying to understand how clock crossing FIFOs are implemented, and the usual answer I see to convert the read/write address pointers to gray code and then pass through synchronizer circuits into each others clock domain to determine if there's…
user2913869
  • 1,041
  • 3
  • 12
  • 23
5
votes
2 answers

cross clock domain databus

I asked a question some time ago about crossing clock domains Design practice crossing clock domains and async signals. One of the "rules" is to never synchronize multi-bit signal bit-by-bit, because of timing glitches between individual bits. I…
JakobJ
  • 2,298
  • 1
  • 21
  • 42
5
votes
3 answers

Design practice crossing clock domains and async signals

I have been designing a few projects on different FPGA's in VHDL, and it seems my most common source of "hard to find errors" is when I forget to synchronize an async signal, or forgets to resync a signal crossing clock domains. My best weapon so…
JakobJ
  • 2,298
  • 1
  • 21
  • 42
5
votes
0 answers

Do I need a clock crossing circuit for signals clocked by mirrored PLLs?

Assume that within an FPGA, I have two data streams that are being driven by two clocks. The two clocks are generated by 2 physically separated PLLs (still within the same FPGA), both of which have the same single input reference oscillator, and…
Sittin Hawk
  • 670
  • 5
  • 15
5
votes
4 answers

Clock Dividers with Clock Domain Crossing

I am doing a design in FPGA that looks like this: 100 MHz is the clock available in my FPGA board. It feeds Module 2. Module 1 is needs a slow clock of 10 MHz clock. So I used a clock divider with flip flops. I thought of not using PLL to make my…
Meenie Leis
  • 2,752
  • 11
  • 28
5
votes
2 answers

Metastability error propagation with flip flop

I do have a confusion regarding the metastability resolution using flip flops , I know that I should add synchronizer of two or three d-flip flop to guarantee a safe transmission at clock domain crossing boundaries, but my confusion is that the…
5
votes
1 answer

CDC Synchonisation primitives for an Altera FPGA

I am working on my first non-trival FPGA design and finally have a need for Clock Domain Crossing (CDC). There are multiple resources (amongst others) which discuss various architectures for CDC and some related questions. The theory is fine, but…
Damien
  • 1,504
  • 1
  • 17
  • 30
4
votes
1 answer

How to properly implement an n-FF synchronizer in Lattice FPGAs?

Unlike Xilinx which provides their users with a set of convenient xpm_cdc_* modules, Lattice does not seem to have “the standard” way for clock domain crossing. So I have no choice other than write my own synchronizer. In the Xilinx's world I'd use…
firegurafiku
  • 247
  • 1
  • 7
3
votes
1 answer

questions about up-sampling and moving from slow to fast clock domain in FPGA

I encountered some questions and problems I asked myself lately and hoped I can get a nice lead here before I start reading long articles without even be sure if it's the right way. Let's assume I have an FPGA design, where I get ADC data with a…
Michael Rahav
  • 505
  • 3
  • 14
3
votes
2 answers

Clock Domain Crossing for Pulse and Level Signal

For pulse we use Pulse-Synchronizer and for Level Signal we use 2-flop synchronizer but what if the signal can be of Pulse or Level behaviour. Is there any way to synchronize that? EDIT: After @Paebbels's answer, there is modification in Circuit, it…
Prakash Darji
  • 697
  • 6
  • 16
3
votes
2 answers

Clock domain crossing timing constraints for Altera

I have a slight problem with my clock domain crossing timing constraints. I have two clock groups set_clock_groups -asynchronous -group {clk_A} -group {clk_B} As I understand it this will cause all signals from clk_A to clk_B to be treated as false…
AxelOmega
  • 131
  • 1
  • 4
2
votes
3 answers

Is it true that for asynchronous clock domain crossing, there is always a small chance that data will be lost or corrupted?

There are several techniques that can be used to transfer data between two asynchronous clock domains. For a few bits, and depending on direction of data between the two clock domains, one could use register chain for slow -> fast domain and use…
quantum231
  • 11,218
  • 24
  • 99
  • 192
2
votes
1 answer

How to calculate the number of required flip-flop stages needed for clock-domain crossing?

In a given scenario where I have two clock domains driven by a 200MHz and a 30 MHz external independent clocks, what would be the best way to calculate the number of flip-flop stages needed for proper clock-domain crossing? At the moment, I'm…
nanoeng
  • 171
  • 11
2
votes
3 answers

Why 1.5x ratio limitation for synchronizing slow signals into fast clock domain?

Why 1.5x ratio limitation for Synchronizing Slow Signals Into Fast Clock Domain ?
kevin998x
  • 403
  • 2
  • 10
1
2 3 4