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.

[SOLVED] is it safe to use 2 separate buffer for clock domain crossing?

Status
Not open for further replies.

LatticeSemiconductor

Member level 2
Joined
Aug 31, 2013
Messages
45
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Activity points
589
hi all,

i have a stream consisting of data and address, synchronous to clk1 . I am buffering them in FIFOs to pass the data synchrounos to clk2. address and data are stored in separate FIFOs, bc the data read is half the width of the data written.

The fifos are both on the same clocks, clk1 (write) and clk2 (read). Can it still be that their watermark on clk2 domain are updated at different clock cycles?
 

Can it still be that their watermark on clk2 domain are updated at different clock cycles?
Yes it can.
Therefore it's safe only if you evaluate the empty/full flags of both FIFO before reading/writing.

I'd use one FIFO in such a case.
It'll consume less logic and probably will have a higher Fmax.
 
address and data are stored in separate FIFOs, bc the data read is half the width of the data written.

I'd use one FIFO in such a case.
It'll consume less logic and probably will have a higher Fmax.

Based on the requirements of reading data with a 1:2 ratio with writing means you needed to use width conversion and therefore had two FIFOs. You can still use shaiko's suggestion of one FIFO but you will have to do the 1:2 width conversion outside the FIFO itself for just the data.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top