OpenEdv-开源电子网
标题: 【FPGA开源教程连载】第十五章 嵌入式块RAM使用之FIFO [打印本页]
作者: 芯航线跑堂 时间: 2017-1-4 16:17
标题: 【FPGA开源教程连载】第十五章 嵌入式块RAM使用之FIFO
本帖最后由 芯航线跑堂 于 2017-1-4 17:01 编辑
嵌入式块RAM使用之FIFO
实验目的:学会配置Altera提供的FIFO核并通过仿真了解其接口时序
实验平台:无
实验原理:
1.FIFO概念
FIFO的完整英文拼写为First In First Out,即先进先出。FPGA或者ASIC中使用到的FIFO一般指的是对数据的存储具有先进先出特性的一个存储器,常被用于数据的缓存或者高速异步数据的交互。
2.FIFO结构
FIFO从大的情况来分,有两类结构:单时钟FIFO(SCFIFO)和双时钟FIFO(DCFIFO),其中双时钟FIFO又可以分为普通双时钟(DCFIFO)和混合宽度双时钟FIFO (DCFIFO_MIXED_WIDTHS)。三种FIFO结构的英文含义如下所示:
• SCFIFO: single-clock FIFO
• DCFIFO: dual-clock FIFO(supports same port widths for input and output data)
• DCFIFO_MIXED_WIDTHS:dual-clock FIFO (supports different port widths for input and output data)
注意: 在没有特别指明的情况下,混合宽度双时钟FIFO和双时钟FIFO统称为双时钟FIFO。
从图中我们可以看到,单时钟FIFO具有一个独立的时钟端口clock,因此所有输入信号的读取都是在clock的上升沿进行的,所有输出信号的变化也是在clock信号的上升沿的控制下进行的,即单时钟FIFO的所有输入输出信号都是同步于clock信号的。而在双时钟FIFO结构中,写端口和读端口分别有独立的时钟,所有与写相关的信号都是同步于写时钟wrclk的,所有与读相关的信号都是同步于读时钟rdclk的。在双时钟FIFO的符号图中,位于上部分的为与写相关的所有信号,位于中间部分的为与读相关的所有信号,位于下部的为异步清零信号。