[IC笔试题] FIFO深度计算

目录

    • 1. 解题技巧/公式
    • 2. 例题详解
      • case-1
      • case-2
      • case-3
      • case-4
      • case-5
      • case-6
      • case-7
      • case-8
      • case-9
      • case-10
    • Reference

1. 解题技巧/公式

FIFO深度计算的关键在于
在规定时间内传输的数据等于接收的数据,写快读慢的情况下,突发burst写入的数据减去该burst时间内读出的数据,多余的数据需要能缓冲下来,让接收端在剩下空闲的时间能从容地把多余的数据读出来。

举例:写时钟频率 w_clk,读时钟频率 r_clk
写时钟周期里,每B个时钟周期会有A个数据写入FIFO
读时钟周期里,每Y个时钟周期会有X个数据读出FIFO
fifo_depth = burst_length - burst_length/w_clk * r_clk * (X/Y)
其中,burst考虑背靠背情况,burst_length = A*2

2. 例题详解

case-1

[IC笔试题] FIFO深度计算_第1张图片
写快读慢,总传输数据为120。
数据全部写入的时间为Burst Length / Writing frequency(单位ns,1 / Writing frequency为写入一个数据的时间,*120就是写入全部数据的时间)
再 ✖ 读频率 Reading Frequency,得到写入120个数据的时间内,最多读取的数据个数。
总传输数据 - 最多读取出的数据,为剩余未读取的数据,为FIFO深度。

case-2

fA > fB with one clk cycle delay between two successive reads and
writes.(在两个连续的读写之间隔1个clk)

这个场景与case -1没有什么不同,因为两个连续的读和写之间总是会有一个时钟周期延迟。所以,这个方法和前面的一样。

case-3

[IC笔试题] FIFO深度计算_第2张图片
(每2个clk写一个数据,每4个clk读一个数据)

解:写120个数据需要的时间:2/80mhz(1个数据的时间)×120
在该时间内最多读的数据数:再×50mhz/4(4个时钟读一个)
fifo_depth = 120-120×2/80mhz×50mhz/4= 83

case-4

[IC笔试题] FIFO深度计算_第3张图片
和case3相同,只是问题描述方式不同

case-5

[IC笔试题] FIFO深度计算_第4张图片
写满读快,FIFO深度为1即可

case-6

[IC笔试题] FIFO深度计算_第5张图片
写频率:30/2 = 15mhz;读频率:50/4 = 12.5mhz
fifo_depth = 120-120/15mhz×12.5mhz = 20

case-7

[IC笔试题] FIFO深度计算_第6张图片
如果clkA和clkB之间没有相位差,则不需要FIFO,如果clka和clkb有相位差,可以采用两级dff或者深度为1的fifo。

case-8

[IC笔试题] FIFO深度计算_第7张图片
写频率:50/2 = 25mhz,读频率50/4 = 12.5mhz
fifo_depth = 120-120/25mhz×12.5mhz = 60

case-9

[IC笔试题] FIFO深度计算_第8张图片
对于100个clk下读80个数据,一共有如下几种情况
[IC笔试题] FIFO深度计算_第9张图片
考虑最坏情况,也就是最短时间内把数据写完,就是case4,160个clk就把160个数据全写完,问题转化为在160个clk下,最多读取多少数据?
最多读160clk×8data/10clk
fifo_depth = 160 - 160×8/10 = 32

case-10

[IC笔试题] FIFO深度计算_第10张图片
这题非常的绕,首先clkA是写时钟,clkB是读时钟,从第二行可以看出burst size是100,clkB的时钟比较快,因此读写同时工作时(不需要fifo),这里提到duty cycle(en_b),clkb工作的时间只占1/4占空比,也就是说还有3/4的时间是只有写操作的,FIFO需要存储这一部分数据。
fifo_depth = 100*3/4 = 75,这是最坏情况下的深度为75。

Reference

https://blog.csdn.net/CrazyUncle/article/details/97012907
https://blog.csdn.net/maxwell2ic/article/details/81110963
https://hardwaregeeksblog.files.wordpress.com/2016/12/fifodepthcalculationmadeeasy2.pdf

你可能感兴趣的:([IC笔试题] FIFO深度计算)