OpenEdv-开源电子网

标题: 【FPGA开源教程连载】第十五章 嵌入式块RAM使用之FIFO [打印本页]

作者: 芯航线跑堂    时间: 2017-1-4 16:17
标题: 【FPGA开源教程连载】第十五章 嵌入式块RAM使用之FIFO
本帖最后由 芯航线跑堂 于 2017-1-4 17:01 编辑

嵌入式块RAM使用之FIFO


https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=f0188zxqozx&auto=0



实验目的:学会配置Altera提供的FIFO核并通过仿真了解其接口时序
实验平台:无
实验原理:
1.FIFO概念
       FIFO的完整英文拼写为First In First Out,即先进先出。FPGA或者ASIC中使用到的FIFO一般指的是对数据的存储具有先进先出特性的一个存储器,常被用于数据的缓存或者高速异步数据的交互。
2.FIFO结构
       FIFO从大的情况来分,有两类结构:单时钟FIFOSCFIFO)和双时钟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。
图15-1为单时钟FIFO和双时钟FIFO的符号图,关于SCFIFO和DCFIFO各个端口的功能解释请大家参考Altera提供的“SCFIFO and DCFIFO IP Cores User Guide”中第4页和第5页中的内容。
从图中我们可以看到,单时钟FIFO具有一个独立的时钟端口clock,因此所有输入信号的读取都是在clock的上升沿进行的,所有输出信号的变化也是在clock信号的上升沿的控制下进行的,即单时钟FIFO的所有输入输出信号都是同步于clock信号的。而在双时钟FIFO结构中,写端口和读端口分别有独立的时钟,所有与写相关的信号都是同步于写时钟wrclk的,所有与读相关的信号都是同步于读时钟rdclk的。在双时钟FIFO的符号图中,位于上部分的为与写相关的所有信号,位于中间部分的为与读相关的所有信号,位于下部的为异步清零信号。
(, 下载次数: 3)