在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 21755|回复: 33

[求助] 关于异步FIFO深度的计算

[复制链接]
发表于 2013-3-19 22:26:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
最近面试,考到了关于异步FIFO的计算。后来在网上看的多数关于异步FIFO的计算都是一个原型,即:A个时钟周期写入B个数据,X个时钟周期读出Y个数据。并且应该知道r_clk和w_clk。
于是有公式:fifo_depth = burst_length - burst_length * (X/Y) * (r_clk/w_clk)
但是VIA的笔试中给出的题目是这样的:
一个8bit宽的AFIFO,输入时钟为100MHz,输出时钟为95MHz,设一个package为4Kbit,且两个package之间的发送间距足够大。问AFIFO的深度。

对于这样的问题又该怎么样计算呢?
求大神讲解!!!
发表于 2013-3-20 10:36:15 | 显示全部楼层
带到上面的公式就可以,A, B , X , Y 都是1
500-500X95/100 =25
 楼主| 发表于 2013-3-20 19:31:42 | 显示全部楼层
回复 2# muylor


   太感谢了,帮了我大忙了。
发表于 2013-3-21 09:00:56 | 显示全部楼层
fifo深度是用来缓冲读写带宽不匹配的,不管用什么公式,算差值就对了。
发表于 2013-3-21 16:05:01 | 显示全部楼层
回复 2# muylor

burst_length为什么是500?不理解
发表于 2013-3-21 22:05:04 | 显示全部楼层
4K/8=500....
 楼主| 发表于 2013-3-21 22:25:43 | 显示全部楼层
回复 5# lyreason


   有木有进一步的解释,就拿这个说说看
发表于 2013-3-21 23:08:11 | 显示全部楼层
为什么A, B , X , Y 都是1????不理解,
 楼主| 发表于 2013-3-22 12:16:43 | 显示全部楼层
回复 9# 清秋倦客


   有一类出题是这样的:w_clk在100个时钟周期内写入80个数据,r_clk在10个周期内读出8个数据。这样的关系一般不是每个时钟周期都读出或者写入数据。但是上面这个题中,没有强调这个问题,可以认为数据量为4K/8=500,所以就需要500个时钟周期,相应的写入读出数据都是500,那么写时钟和读时钟也都就需要500.我是这么认为的
发表于 2013-3-24 17:07:21 | 显示全部楼层
   题目中一个包有4K/8=500拍


要防止溢出,当这个包发完的时候存了500个,但是又可以读走475 剩下的就是fifio深度了


异步fifo的深度只要是写快 读慢,還是得考虑具体的数据流,不然不管怎么都会溢出的,


不要纠结于公式如何计算。看具体使用场景
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-21 16:07 , Processed in 0.021890 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表