1.1 如何设计合理的FIFO宽度和深度
异步FIFO的要点:
读写指针采用格雷码,消除亚稳态;
空满标志的生成方法。
异步FIFO的一个重要属性是它的深度,即FIFO最多可以存储的以位为单位的数据的个数,他决定了数据传输的延时和吞吐量,是影响系统性能的一个重要参数。
给系统中的异步FIFO设定适当的深度,既可以满足系统的性能需求,又可以优化系统的面积和功耗,因此受到人们的关注。
这样就需要一种通过分析异步FIFO动态参数,来确定其深度的方法。异步FIFO的动态参数包括FIFO的饱和度、读写速率和溢出情况等,它们反映了FIFO的运行状况并且对确定FIFO的深度有指导意义。设计者可以根据这些动态参数,分析FIFO深度对系统性能的影响,为异步FIFO确定适当的深度。
饱和度
某一时刻FIFO中已存储数据的个数相对于FIFO深度的百分比;
FIFO的饱和度是瞬时值,反映了当前FIFO中存储单元的使用率;
其值为0表示FIFO中没有数据,值为100表示FIFO已满,存储单元的使用达到饱和;
在FIFO运行过程当中,如果其饱和度一直很低,则表明FIFO的深度值过大,很多存储单元被浪费了;如果频繁出现饱和状态,则表明