赞
踩
面试必杀技:异步FIFO
上一篇介绍了异步FIFO的基础部分,包括为什么用Gray Code来同步read pointer, write pointer。这一篇咱们从头一起过一遍异步FIFO的具体设计,然后再讨论几个常见的问题。
有的面试官可能上来让你先画异步FIFO的框图,建议大家自己手画一下,能够记住。
要注意,wptr和rptr都是gray code,在上一篇我们已经讨论过gray code是可以直接利用2flop synchronizer来同步的。而用来读写实际的memory必须是binary address,在FIFO write control和FIFO read control里面我们进行binary to gray code的转换。
下面是上图中间fifo memory部分的简单实现
上面的code简化了rdata的逻辑,如果使用SRAM,可能需要加一级flop来存储SRAM读出来的值。
这里插一句,在设计异步FIFO或者使用异步FIFO的时候,需要计算清楚FIFO的深度,(如何FIFO的深度计算老李打算以后单独开一篇文章来讨论)然后要比较使用SRAM和flop ar
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。