ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

FIFOXilinx IP核阅读

2021-07-08 23:02:18  阅读:228  来源: 互联网

标签:异步 Full 信号 阈值 IP FIFO FIFOXilinx 阅读 时钟


标准FIFO概述

在这里插入图片描述

官网提供的IP核已经经过了全面的验证,能够以最佳性能进行调用,其中FIFO的最大时钟频率为500MHZ

FIFO提供四种用户接口:标准 AXI4-Stream AXI4 AXI4-LITE
FIFO支持使用三种资源:block ram; distributed ram; built-in FIFO

其中在使用AXI总线的时候,FIFO不支持built-in FIFO 和 Shift Register FIFO配置

在这里插入图片描述

FIFO最大支持的存储深度为 4,194,304words, 也即67,108,864bit

在这里插入图片描述
在标准模型下:
FIFO数据宽度为 1 — 1024bits
对称或非对称纵横比(读写端口数据宽度范围为1:8或8:1)
支持同步或者异步复位操作
支持可选内部存储空间
支持两种数据写入写出方式(FIFO 和 FWFT)
可配置握手信号

FWFT First-Word Fall-Through
FWFT与标准FIFO是不一样的,FWFT FIFO模式下的FIFO,当里面有效的值大于1就会一直置1,所以想用它当做后端逻辑使能信号的情况下,需要特别注意,不能直接用valid信号来标志读数据有效。FWFT具有不访问读操作信号就能得知下一个状态数据是否有效,当数据可用的时候,FWFT会自动将数据放在输出总线上。这种模式比较适合低延时应用中,在使用时需要特别注意不能在使用读标志位,这样可能会造成错误。

在这里插入图片描述

在使用独立时钟控制时:
FIFO的存储模式只能选择为block RAM或者Distribute RAM。
使用独立时钟时,读时钟域与读操作时钟同步,写时钟域与写操作时钟同步
独立时钟域操作支持non-symmetric aspect ratios(different write and read port widths)。
能够使用握手信号进行控制

标准模式下FIFO接口信号

在这里插入图片描述

Full 标志信号共有四种可编程方式
在这里插入图片描述

1、Single Threshold
这种方式允许你设置一个单阈值,来产生 Full 信号或取消Full信号
这种方式下,当FIFO中的数据超过或等于阈值时,产生Full信号,不产生Full信号时分为两种情况。
(1)当FIFO类型为built-in FIFO时,当FIFO数据小于阈值时,不产生Full信号
(2)当FIFO类型为non built-IN FIFO时,当FIFO数据小于最小阈值时(我理解为固定的,人为不能设置的,最小阈值),取消Full信号

在这里插入图片描述

  1. Single threshold constant
    该设置下,用户指定一个阈值,在FIFO设置GUI界面,一旦Core生成后,该值不能改变,除非重置Core设置。

  2. Single threshold with dedicated input port(non-built-in FIFOs only)
    该设置下,用户可以通过输入端口来对阈值进行配置。配置后FIFO复位,就能改变FIFO的阈值设置,而不需要再重新配置Core。

**2、Assert and Negate Thresholds **
这种方式允许你设置两个分离的值来产生Full信号或者取消Full信号。
这种方式一般情况下设置一个最大值和最小值。当FIFO中的数据超过最大值时会产生Full信号,当FIFO中的信号小于最小值时会取消Full信号。
在这里插入图片描述

  1. Assert and negate threshold constants
    该设置下,用户指定两个个阈值,在FIFO设置GUI界面,一旦Core生成后,该值不能改变,除非重置Core设置。

  2. Assert and negate thresholds with dedicated input ports
    该设置下,用户可以通过输入端口来对阈值进行配置。配置后FIFO复位,就能改变FIFO的阈值设置,而不需要再重新配置Core。

Full 在配置阈值范围时需要考虑的一些限制
在这里插入图片描述

在这里插入图片描述
empty信号与Full信号特性类似,不在展开详述。

FIFO如何实现读和写同步
异步FIFO
在这里插入图片描述
同步FIFO
在这里插入图片描述
真实的FIFO深度
理解FIFO的有效深度或实际深度不是必须和GUI中选择的深度一致,因为FIFO真实深度取决于其实现和影响其实现的特性。

对于block RAM,distributed RAM,和shift RAM FIFO真实深度受以下改变其实现的特性的影响。
在这里插入图片描述

真实深度受FIFO如何配置所影响,如何计算如下图所示:
在这里插入图片描述
在这里插入图片描述

FIFO 满 空逻辑注意事项 异步FIFO情况下
由于异步FIFO读时钟和写时钟的差异导致跨时钟域问题,为此带来许多需要注意的事项。

异步时钟下,Full flag与写时钟域同步,empty flag与读时钟域同步。

  1. Pessimistic Full and Empty
    当采用异步时钟时,由于读时钟和写时钟的差异,会导致full flag和empty flag出现不准确情况(pessimistic falgs).
    为什么会出现pessimistic flags参考我的文章《异步FIFO设计》

  2. 同时断言满标志和空标志
    对于异步FIFO来讲,满空标志位产生和取消由于跨时钟域的出现导致延时,而这些延时则有可能导致FIFO同时出现满标志和空标志位。为了避免这种情况的出现,需要保证A和B等式成立
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

上述公式中提到的延时信息,总结入下表所示:
在这里插入图片描述在这里插入图片描述

标签:异步,Full,信号,阈值,IP,FIFO,FIFOXilinx,阅读,时钟
来源: https://blog.csdn.net/little_ox/article/details/118559587

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有