问:假设一个异步fifo入口时钟是100,出口时钟是80,当每秒能来80数据时,该fifo应该设计为多深?
答:
假设1s时间内的80数据都在前面,即按照100的速度来,那就只需要花80/100s,剩下0.2s没有任何数据
而0.8s的时间,按照80的速度出去,可以出去0.8*80=64的数据
所以,也就是还有80-64的数据没有出去,就需要深度为16的fifo。
最后在考虑极限情况,即第一秒的数据在后半部分,第二秒的数据在前半部分,这样将翻番,所以,结果应该是深度为32。
Talk is cheap. Show me the code