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.

What are the cases when handshaking is preferred over FIFO?

Status
Not open for further replies.

khaila

Full Member level 2
Joined
Jan 13, 2007
Messages
121
Helped
5
Reputation
10
Reaction score
1
Trophy points
1,298
Activity points
2,105
Supposed a Data transferred between two clock domains.
In this case we have two choices for avoiding metastability:
1. Using FIFO.
2. Handshaking.

My question is:
What is the cases that handshaking is preferred than FIFO???


Khalil.
 

Handshaking vs FIFO

Async FIFO is for multi-width data transfer, and this FIFO acts as the same function with normal FIFO.
Handshaking is used for control signal, usually for 1 or two bits signals which cross two clock domain.
 

Handshaking vs FIFO

well, lets say i've this scenario. i've a async.fifo with a depth of 256. so, my pointers will have a minimum width of [7:0] . in this case, my pointer is multi-bit. so, how can i transfer the pointer info. from the write-clock domain to the read-clock domain ?
 

Re: Handshaking vs FIFO

asicengineer1 said:
well, lets say i've this scenario. i've a async.fifo with a depth of 256. so, my pointers will have a minimum width of [7:0] . in this case, my pointer is multi-bit. so, how can i transfer the pointer info. from the write-clock domain to the read-clock domain ?

Gray-encode your pointers and just pass all 8 bits through 8 synchronizers.
 

Handshaking vs FIFO

would it be possible to use handshake mechanism there, instead of synchronizers ?
 

Re: Handshaking vs FIFO

asicengineer1 said:
would it be possible to use handshake mechanism there, instead of synchronizers ?

if you are crossing async clock boundaries, you need synchronizers.
Even any handshake protocol needs to synchronize the control signals going back n forth...
 

Handshaking vs FIFO

If the data is essetially continuously, you cannot avoid to use a FIFO.
 

Re: Handshaking vs FIFO

Hii,

The performance of the system when using HANDSHAKING will be less as the Tx will send the next data only after receiving the acknowledgement from the Rx for the previous data . In this case , there will be synchronizers used for the request(Tx to Rx) and ack (Rx to Tx) control signals which also account for the more delay.

So, When u need higher performance and u can afford for more hardware in ur design, u can use FIFO. Other wise u can go for Handshaking where u can use very less hardware.

Best regards,
subbu.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top