Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

clock domain crossing

Status
Not open for further replies.

peen1

Member level 2
Member level 2
Joined
Nov 2, 2004
Messages
47
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,286
Activity points
495
How do you move data from a fast clock domain to a slow clock domain?

I understand that if you move from slow to fast you can double flop with fast clock or use the fast domain to catch the falling edge of the slow clock and then latch in the data.
 

quake

Member level 5
Member level 5
Joined
Nov 23, 2004
Messages
86
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,286
Activity points
882
clock domain crossing handshake

using two clock domain FIFO or buffer, several ways to design it, find them out in this forum.
 

    V

    Points: 2
    Helpful Answer Positive Rating

hover

Junior Member level 2
Junior Member level 2
Joined
Jun 12, 2004
Messages
22
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Location
China
Activity points
178
clock+domain+crossing

You also can use handshake as a simple way.
 
  • Like
Reactions: pdhama

    pdhama

    Points: 2
    Helpful Answer Positive Rating

claint

Member level 5
Member level 5
Joined
May 21, 2004
Messages
94
Helped
5
Reputation
10
Reaction score
2
Trophy points
1,288
Activity points
762
passing clock domains handshake

still use fast clock to sample slow clock, then the delayed posedge of slow clock (this signal is synchronized to fast clock),if is signal is low, hold data in the slow domain , change the data output to fast clock domain only if this signal is high. In a word , avoiding changing data at the posedge of slow clock by holding the data under such occassions.
 

    V

    Points: 2
    Helpful Answer Positive Rating

soccer

Full Member level 3
Full Member level 3
Joined
Jul 30, 2004
Messages
172
Helped
4
Reputation
8
Reaction score
1
Trophy points
1,298
Activity points
1,186
clock doman

with faster clock domain in your design, you must define a efficient operation protocol for synchrony. the setup and hold time delay is key for consideration.
 

    V

    Points: 2
    Helpful Answer Positive Rating

bibo1978

Full Member level 4
Full Member level 4
Joined
May 1, 2004
Messages
210
Helped
12
Reputation
24
Reaction score
6
Trophy points
1,298
Activity points
2,548
cdc fast to slow clock domain

If we are taking about data lines then generally two techniques, using a protocol a simple protocol can work where an new data is indicated by a flag set and reset signal after data capture "u can use a flancter to do this". or the other ultimate choice is to use a async. FIFO. in both design you have to take care of metastability issue
 
  • Like
Reactions: pdhama

    pdhama

    Points: 2
    Helpful Answer Positive Rating

jackson_peng

Full Member level 2
Full Member level 2
Joined
Apr 11, 2005
Messages
139
Helped
24
Reputation
48
Reaction score
9
Trophy points
1,298
Location
Shanghai, China
Activity points
2,380
fast to slow clock domain crossing circuits

hand shake is proper for low speed data transfer
FIFO is more common and much faster, but add difficult to your design
 
  • Like
Reactions: pdhama

    pdhama

    Points: 2
    Helpful Answer Positive Rating

chandhramohan

Member level 2
Member level 2
Joined
Mar 24, 2005
Messages
50
Helped
10
Reputation
20
Reaction score
4
Trophy points
1,288
Activity points
1,644
handshake crossing clock domain

If it is asyncronous signal , latch the i/p thru Flip Fliops (atleast 2 FF's) using Rx domain frequency .Here you will be losing 1 or 2 clks ,but probability of getting into Metastable is low.

Use FIFO for data lines & high speed transfers , but take care of FIFO depth.

Handshaking is also another method whereby one can sample the asyncronous signal using Handshaking signal from both the domains , here also speed matters at the cost of extra handshakes.
 
  • Like
Reactions: pdhama

    pdhama

    Points: 2
    Helpful Answer Positive Rating

FLEXcertifydll

Full Member level 4
Full Member level 4
Joined
Sep 4, 2003
Messages
193
Helped
6
Reputation
12
Reaction score
3
Trophy points
1,298
Activity points
1,081
clock domain crossing slower

Use level synchronize circuit
 
  • Like
Reactions: pdhama

    pdhama

    Points: 2
    Helpful Answer Positive Rating

nittinsharma80

Member level 5
Member level 5
Joined
Apr 11, 2005
Messages
93
Helped
11
Reputation
22
Reaction score
2
Trophy points
1,288
Location
INDIA
Activity points
2,337
passing data from slow to fast clock domains

There are various techniques to handle CDC.

i am attaching a paper on CDC.

go through it. its realy a good paper.
 

    V

    Points: 2
    Helpful Answer Positive Rating

zsmc2003

Newbie level 4
Newbie level 4
Joined
Apr 14, 2005
Messages
5
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,281
Activity points
1,313
move data from slow to fast clock domain

use FIFO
 

    V

    Points: 2
    Helpful Answer Positive Rating

power-twq

Full Member level 6
Full Member level 6
Joined
Jun 10, 2005
Messages
373
Helped
8
Reputation
16
Reaction score
3
Trophy points
1,298
Activity points
4,550
clock domain handshaking

you can use two phase handshaking protocol to passing data from

one clock domain to another clock domain,

if you want high speed, use a asynchronous dual port fifo to

realize your dream.





peen1 said:
How do you move data from a fast clock domain to a slow clock domain?

I understand that if you move from slow to fast you can double flop with fast clock or use the fast domain to catch the falling edge of the slow clock and then latch in the data.

Added after 4 hours:


the attached file has some content on this problem.



peen1 said:
How do you move data from a fast clock domain to a slow clock domain?

I understand that if you move from slow to fast you can double flop with fast clock or use the fast domain to catch the falling edge of the slow clock and then latch in the data.
 
  • Like
Reactions: lorna8899

    lorna8899

    Points: 2
    Helpful Answer Positive Rating
    V

    Points: 2
    Helpful Answer Positive Rating

peen1

Member level 2
Member level 2
Joined
Nov 2, 2004
Messages
47
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,286
Activity points
495
fast to slow crossing clock domains

use a dual port ram....and 2 counters to increment address....
increment the address of the read counter whenever not same as write counter
 

    V

    Points: 2
    Helpful Answer Positive Rating

Meme69

Newbie level 2
Newbie level 2
Joined
May 31, 2006
Messages
2
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,281
Activity points
1,286
signal crossing clock domains slower clock

Use handshake
 

    V

    Points: 2
    Helpful Answer Positive Rating

alam.tauqueer

Full Member level 2
Full Member level 2
Joined
Jun 19, 2007
Messages
127
Helped
5
Reputation
10
Reaction score
2
Trophy points
1,298
Activity points
2,005
clock domain crossing fast to slow

Using handshake is the best option to avoid metastability.
 

    V

    Points: 2
    Helpful Answer Positive Rating

vizpal

Member level 2
Member level 2
Joined
Apr 26, 2007
Messages
44
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,286
Activity points
1,519
slow clock fast clock signal

Better go for Dual Port Ram or even Handshake Toggle Synchronizer....:D
 

    V

    Points: 2
    Helpful Answer Positive Rating

anoop12

Member level 5
Member level 5
Joined
Nov 29, 2006
Messages
89
Helped
6
Reputation
12
Reaction score
3
Trophy points
1,288
Activity points
1,867
Use asynch fifo or handshake
 

    V

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top