1 FIFO概述
FIFO芯片是一种具有存储功能的高速逻辑芯片,可在高速数字系统中用作数据缓存。FIFO通常利用双口RAM和读写地址产生模块来实现其功能。FIFO的接口信号包括异步写时钟(wr-clk)和读时钟(rd-clk)、与写时钟同步的写有效(wren)和写数据(wr-data)、与读时钟同步的读有效(rden)和读数据(rd-data)。写地址产生模块一般还根据读地址和写地址来产生FIFO的满标志。读地址产生模块一般根据读地址和写地址的差来产生FIFO的空标志。
为了实现正确的读写和避免FIFO的上溢或下溢,通常还应给出与读时钟和写时钟同步的FIFO的空标志(empty)和满标志(full),以禁止读写操作。写地址产生模块通常根据写时钟和写有效信号来产生递增的写地址,而读地址产生模块则根据读时钟和读有效信号来产生递增的读地址。
FIFO一般在操作时,首先在写时钟wr clk的上升沿且当wren有效时,将wrdata写入双口RAM中写地址对应的位置中,然后将读地址对应的双口RAM中的数据输出到读数据总线上,这样就可实现先进先出功能。读写操作一般会自动访问存储器中连续的存储单元。从FIFO中读出的数据顺序与写入的顺序相同,而地址的顺序则在内部已经预先定义好,因此,对FIFO芯片的操作不需要额外的地址信息。另外,FIFO芯片还能提供对读/写指针的复位功能。