005---Xilinx Viivado FIFO (一)---IP核生成与配置


摘要

文章为学习记录。以配置Native接口、双时钟FIFO为例,介绍FIFO IP 核配置过程中选项卡的各个参数。


一、FIFO IP 核简介

FIFO(First In First Out),即先进先出。
应用于数据的缓存、数据位宽转换、跨时钟域数据处理。
它与普通存储器的区别是没有外部读写地址线,使用起来相对简单。缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加 1 完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。
在这里插入图片描述

二、FIFO IP 核生成与配置

1.Basic Tab

Interface Type

FIFO Implementation:单时钟 FIFO:读写共用一个时钟。双时钟:写相关的信号同步于写时钟 wr_clk,读相关的信号同步于读时钟 rd_clk 。
Synchronization stages:跨时钟域逻辑的同步器阶数。
在这里插入图片描述

2.Native Ports Tab

在这里插入图片描述

Read Mode

Standard FIFO Read Operation:给了读数据使能后,数据才出来。(需要读使能后一个时钟输出才有效)。

在这里插入图片描述

First-Word Fall-Through FIFO Read Operation:当前数据提前已经到读数据线上,在读使能到来后,
下一个数据会到数据线上。(写入的数据,会在读端口提前准备好)。
在这里插入图片描述
Data Port Parameters:

需要注意的是设置数据后面有实际深度。

ECC, Output Register and Power Gating Options:

Output Register:Output Register 勾选并选择Embedded Register。也可以选择 Fabric Register,或者两个寄存器都选加上,多加一个输出寄存器,输出就会多延迟一个时钟周期出来。

Initialization:

Reset:复位后,读写指针清零。
Enable Reset Synchronization:对异步输入的复位信号分别在读写时钟域内先进行同步后再进行读写的各自复位。
Enable Safety Circuit:勾选 Enable Safety Circuit 后 fifo 模块的管脚会多出 wr_rst_busy 和 rd_rst_busy 两个信
号输出,这两个信号分别表示的是写/读时钟域复位忙信号。
每次给一个异步复位信号对 FIFO 进行复位时,需要等到 wr_rst_busy 从1 变为 0 后才能对 FIFO 进行写数据操作。同样的要等到 rd_rst_busy 从 1 变为 0 后才能对 FIFO 进行读操作。
Full Flag Reset Value:设置在复位时,满信号处于什么值,这里保持默认的 1。
Dout Reset Value:设置复位时,FIFO 输出处于什么值。
Read Latency:这里会根据前面设置自动更新,前面我们设置输出加上一个寄存器,这里就变为了 2,不加寄存器的情况下是 1,加两个寄存器就是 3。

3.Status Flags Tab

在这里插入图片描述

Optional Flags

Almost Full Flag:只能再写一个数据。
Almost Full Flag:只能再读一个数据。

Handshaking Options

wr_ack:写操作响应信号。当向 FIFO 写入数据时,如果正确写入到 FIFO ,输出高电平表示数据已成功写入。
overflow:上溢出标识信号。表示 FIFO 数据满情况下继续往 FIFO 里写数据,该信号拉高,标志向上溢出。
valid:读数据输出数据有效信号。在进行读操作时,valid 信号伴随数据输出而拉高,高电平表示输出数据有效。
underflow:下溢出标识信号。表示 FIFO 数据空情况下继续对 FIFO 进行读操作,该信号拉高,标志向下溢出。

Programmable Flags

空、满信号产生的数据个数阈值。

Full Threshold Assert Value: FIFO内数据个数 >= 253,full 信号置 1。
Full Threshold Negate Value:在 full 为 1 情况下,FIFO 内数据个数 <= 252时,full变为 0。
Empty Threshold Assert Value:FIFO 内数据个数 >= 3,empty 信号变为0。
Empty Threshold Negate Value:在 empty 为 0 的情况下, FIFO 内数据个数 <= 2,empty 变为1。

4.Data Counts Tab

在这里插入图片描述

Data Count Options

More Accurate Data Counts:仅用于block RAM or distributed RAM的双时钟FIFO, 并且Read Mode选择FWFT。

5.Summary Tab

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值