您的位置:首页 > 其它

异步 FIFO 控制器 (Asynchronous FIFO Controller)

2017-02-04 11:28 309 查看
异步 FIFO 控制器 (Asynchronous FIFO Controller)

Introduction

FIFO 是设计中常用的器件,用于跨时钟域的数据传送。一般从厂家库中直接调用即可,是不需要自己设计的。

但学习和理解 FIFO 设计方法,对于理解跨时钟域异步信号的处理方法很有帮助。

项目地址:Laotzu

Feature

经典 FIFO 设计方法(见参考文档)

参数化数据宽度和 FIFO 深度

增强的同步数据有效指示

增强的首数据预读加速功能(可关闭)

Application



Input/Output

NameI/ODescription
w_rst_nIReset in write-side
1 is normal
0 is reset
w_clkIClock in write-side
w_enIWrite enable
1 is write
0 is NOP
w_fullO1 is FIFO full
w_errorOError in write-side
1 is error
0 is normal
w_counter []OFIFO counter in write-side
r_rst_nIReset in read-side
1 is normal
0 is reset
r_clkIClock in read-side
r_enIRead enable
1 is read
0 is NOP
r_validO1 is data valid in read-side
r_errorOError in read-side
1 is error
0 is normal
r_counter []OFIFO counter in read-side
w_ram_addr []OWrite address for dual-port RAM
w_ram_enOWrite enable for dual-port RAM
1 is enable
0 is disable
r_ram_addr []ORead address for dual-port RAM
r_ram_enORead enable for dual-port RAM
1 is enable
0 is disable

Parameter

NameDescription
FWFTENFirst word pre-read enable
1 is enable
0 is disable
ADDRWIDTHAddress bus width
FIFODEPTHFIFO depth

首数据预读加速

比较下面两种情况下的时序,在 FWFTEN = 1 的情况,FIFO 从空到有数据的时候不用等到 r_en 有效,其第一个数据 (D0) 就被自动读出。相对于 FWFTEN = 0 的情况,r_valid 指示信号提前了,这样可以加快 FIFO 的吞吐率。

FWFT = 0 的情况



FWFT = 1 的情况



注:

在某些设计中,“首数据自动预读”的功能可能引起错误,可以使 FWFTEN = 0 关掉这个功能。

同步数据有效指示

和传统 FIFO 控制器使用空信号 (EMPTY) 指示读数据有效不同,此控制器采用 r_valid 信号同步指示 FIFO 读数据有效,这样可以给 FIFO 应用带来一点方便。

如果 FIFO 读侧确实需要空信号或者需要进行门限控制设计,请使用 r_counter[] 替代。

注:

一般 Dual-port RAM 的时序是在 r_ram_en 和 r_ram_addr[] 有效的下一个时钟周期输出读数据。

References

[1] Clifford E. Cummings, “Simulation and Synthesis Techniques for Asynchronous FIFO Design”, SNUG 2002 (Synopsys Users Group Conference, San Jose, CA, 2002). Also available at www.sunburst-design.com/papers

[2] Clifford E. Cummings and Peter Alfke, “Simulation and Synthesis Techniques for Asynchronous FIFO Design with Asynchronous Pointer Comparisons,” SNUG 2002 (Synopsys Users Group Conference, San Jose, CA, 2002) User Papers, March 2002, Section TB2, 3rd paper. Also available at www.sunburst-design.com/papers
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  异步 FIFO