Another prob?

R

rsk

Guest
Dear Friends,

This is the problem.

Sender sends data at the rate of "80 words / 100 clocks" to the "FIFO"
and
The "Receiver can consume at the rate of 8 words / 10 clocks"

then how to "Calculate the depth of FIFO so that no data is dropped"?.

Assumptions: There is no feedback or handshake mechanism. Occurrence of
data in that time period is guaranteed but exact place in those clock
cycles is indeterminate.

I will be waiting for your replies.

Thanks & Regards,
krs...
 
Assume synchronous read/write clocks, a depth of 3 should work fine.

Jim

"rsk" <krs_1980@yahoo.co.in> wrote in message
news:407178becd09c30317506860b5cd01c3@localhost.talkaboutprogramming.com...
Dear Friends,

This is the problem.

Sender sends data at the rate of "80 words / 100 clocks" to the "FIFO"
and
The "Receiver can consume at the rate of 8 words / 10 clocks"

then how to "Calculate the depth of FIFO so that no data is dropped"?.

Assumptions: There is no feedback or handshake mechanism. Occurrence of
data in that time period is guaranteed but exact place in those clock
cycles is indeterminate.

I will be waiting for your replies.

Thanks & Regards,
krs...
 
Hi Jim,
But how you are able to say "Depth of 3"?will you elaborate your
answer.

Thanks & Regards,
krs...
 
Ditch my previous answer. Now I had my morning coffee and hope I can
get it right this time. You will need a depth of 16 (again assuming
synchronous rd/wr clocks): The worst case is that you have a burst of
80 writes in the first 80 clock cycles and you are only be able to read
8 words x 8 cycles = 64 words out of it, so you need 16 words of
storage.

Jim

rsk wrote:
Hi Jim,
But how you are able to say "Depth of 3"?will you elaborate your
answer.

Thanks & Regards,
krs...
 
Your questions all sound like a homework problems.


On Fri, 22 Jul 2005 03:18:27 -0400, "rsk" <krs_1980@yahoo.co.in>
wrote:

Dear Friends,

This is the problem.

Sender sends data at the rate of "80 words / 100 clocks" to the "FIFO"
and
The "Receiver can consume at the rate of 8 words / 10 clocks"

then how to "Calculate the depth of FIFO so that no data is dropped"?.

Assumptions: There is no feedback or handshake mechanism. Occurrence of
data in that time period is guaranteed but exact place in those clock
cycles is indeterminate.

I will be waiting for your replies.

Thanks & Regards,
krs...
 
No, this is an interview question, though mercilessly re-cycled. The
question to ask back is "Is 80/100 or 8/10 the sustainable burst rate
or statistical average?" and then sit back, relax and watch the
helplessness on interviewer's face, who most likely will have no clue.
(BTW, the answers are 16 and 32 respectively).

- Swapnajit.
 
If it is statistical average over time, you could have a long-long
write burst then no write for 20% of that write burst time. You will
not have an answer for the FIFO depth in this case.

The OP says the assumption is "Occurrence of data in that time period
is guaranteed but exact place in those clock cycles is indeterminate".
To be really thorough, the question should be asked back is "Is the
time period sliding time period (the time is sliced into 100 and 10
cycles windows for write and read) or continously rolling time period
(for any given 100 and 10 cycles)"?

If it's sliding time period, you will need 32 deep FIFO because the
worst burst is 80 writes in the last 80 cycles of the first 100-cycle
window and then another 80 write is the first 80 cycles of the second
100-cycle window.

If it's rolling time period, you will need 16 deep FIFO because the
worst case is 80 writes in 100 cycles.

Jim
 
Jim,

Thanks for the explanation. Yes, indeed, by 'statistical avarage' I had
meant what you termed more appropriately as 'sliding time period'.

- Swapnajit.

--
SystemVerilog, DPI, Verilog PLI and all other good stuffs.
Project VeriPage: http://www.project-veripage.com
For subscribing to the mailing list:
<URL: http://www.project-veripage.com/list/?p=subscribe&id=1>
 

Welcome to EDABoard.com

Sponsor

Back
Top