← 2022 · 大疆创新 笔试

推荐答案 测试一下

32bit位宽的异步fifo,写时钟1000M,读时钟续率800M,在数据包大小为4KB,包间隔足够大时,fifo的最小深度为()

A、158 B、205 C、638 D、820
单选题 中等 笔试真题单选

参考答案

正确答案为B:205。 解析:FIFO最小深度计算需考虑写时钟与读时钟的频率差异以及数据突发长度。本题中,写时钟频率f_w=1000 MHz,周期T_w=1 ns;读时钟频率f_r=800 MHz,周期T_r=1.25 ns。数据位宽32 bit(4 Byte),数据包大小为4 KB,即4096 Byte,对应的数据字数为4096/4=1024个。由于包间隔足够大,只需计算单个包内写操作与读操作的差值。写入整个包所需时间T=1024字×1 ns=1024 ns。在这段时间内,读时钟可读出的字数为T/T_r=1024/1.25=819.2个,因此FIFO中最大累积数据量为1024−819.2=204.8,取整后最小深度为205(向上取整)。注意:实际工作中需考虑时钟抖动、相位差等因素,但理论计算取整即可。 易错点:①误将4KB当作4096个字,忽略位宽转换(32bit=4B);②直接计算频率比1000/800=1.25,误得深度1024×(1-1/1.25)=204.8,但未明确取整方向;③错误考虑连续读写导致深度过大(如选项C 638、D 820),忽略了包间隔足够大这一条件。

涉及知识点

  • 异步FIFO深度计算公式
  • 时钟频率与周期的换算
  • 数据包大小与位宽的转换
  • 突发传输中的读写速率匹配
  • 深度取整原则(向上取整)
← 上一题
登录后反馈错题
下一题 →