赛灵思
直播中

薛静斗

7年用户 194经验值
私信 关注
[问答]

什么是fifo深度?

嗨,
我有一个设计问题,输入数据是突发性的,输出数据需要是恒定的比特率。
输入clk1(freq) - > 100 Mhz
输出clk 2(频率) - > 64 Mhz
inp_Data  -  8位,输出数据 -  1位
输入数据速率 -  8 MBytes / sec,具备以下条件
一个。
爆裂尺寸150 us(长)

突发尺寸100 us(短)
C。
突发之间的间隙可以是2ms到3ms之间的任何值
输出数据速率 - 恒定8 MB /秒(一旦开始读取,您将需要保持数据速率,不允许上溢/下溢)
什么应该是fifo深度?
谢谢,

以上来自于谷歌翻译


以下为原文

Hi,

I have a design problem where the input data is bursty and output data needs to be constant bit rate.

Input clk1 (freq) -> 100 Mhz
Output clk 2 (freq) -> 64 Mhz

inp_Data - 8 bit, output data - 1 bit

Input data rate - 8 MBytes / sec with the following conditions

a. Burst size 150 us (long)
b. Burst size 100 us (short)
c. Gap between bursts can be anywhere between 2ms to 3 ms


Output data rate - Constant 8 Mbytes/sec (once you start reading you will need to maintain the data rate, no overflow/underflow allowed)

What should be the fifo depth?


Thanks,

回帖(3)

姜雨孜

2019-4-26 11:12:59
嗨,
我有一个设计问题,输入数据是突发性的,输出数据需要是恒定的比特率。
输入clk1(freq) - > 100 Mhz
输出clk 2(频率) - > 64 Mhz
inp_Data  -  8位,输出数据 -  1位
输入数据速率 -  8 MBytes / sec,具备以下条件
一个。
爆裂尺寸150 us(长)

突发尺寸100 us(短)
C。
突发之间的间隙可以是2ms到3ms之间的任何值
输出数据速率 - 恒定8 MB /秒(一旦开始读取,您将需要保持数据速率,不允许上溢/下溢)
什么应该是fifo深度?
谢谢,

以上来自于谷歌翻译


以下为原文

Hi,
 
I have a design problem where the input data is bursty and output data needs to be constant bit rate.
 
Input clk1 (freq) -> 100 Mhz
Output clk 2 (freq) -> 64 Mhz
 
inp_Data - 8 bit, output data - 1 bit
 
Input data rate - 8 MBytes / sec with the following conditions
 
a. Burst size 150 us (long)
b. Burst size 100 us (short)
c. Gap between bursts can be anywhere between 2ms to 3 ms
 
 
Output data rate - Constant 8 Mbytes/sec (once you start reading you will need to maintain the data rate, no overflow/underflow allowed)
 
What should be the fifo depth?
 
 
Thanks,
举报

李雨欣

2019-4-26 11:28:55
这取决于对“爆发完成”事件的响应速度。
如果输出是一个即将响应的PL块,那么你只需要一个足够大的FIFO来保存一个完整的突发(即15KB)。
如果输出是运行Linux的Zynq PS或MicroBlaze,并且可能无法开始读取数据100ms或更长时间因为它在其他地方繁忙,则需要一个足够大的FIFO来保持8MB / s * 100ms = 800KB。

以上来自于谷歌翻译


以下为原文

It depends on how fast the response to a "burst finished" event is. If the output is to a PL block that will respond instantly, then you just need a FIFO big enough to hold one complete burst (ie 15KB). If the output is to a Zynq PS or MicroBlaze that's running Linux and might not be able to start reading the data for 100ms or more because it's busy elsewhere, you need a FIFO big enough to hold 8MB/s * 100ms = 800KB.
举报

陈自萤

2019-4-26 11:46:56
让我们假设输出被写入一个非常大的存储器位置,并且不会中断来自FIFO的任何读操作。
在我们的控制下,启用FIFO的读取,基本上内存从属组件“始终准备好”接受数据。
总而言之,我们的设置是
数据输入(写入,8位) - > FIFO(indep clk) - >数据输出(读取,1位) - >内存

以上来自于谷歌翻译


以下为原文

Lets assume the output is being written to a memory location that is extremely large and will not interrupt any reads from the FIFO. It is in our control to enable the read for the FIFO, basically the memory slave component is "always ready" to accept data.
 
To summarize, our setup is
 
Data In  (write, 8 bits) -> FIFO (indep clk) -> data out (read, 1 bit) -> Memory
举报

更多回帖

发帖
×
20
完善资料,
赚取积分