0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在FPGA设计中FIFO的使用技巧

FPGA设计论坛 ? 来源:EETOP ? 作者:lucien_1986 ? 2021-09-09 11:15 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

FIFO是在FPGA设计中使用的非常频繁,也是影响FPGA设计代码稳定性以及效率等得关键因素。在数据连续读取时,为了能不间断的读出数据而又不导致FIFO为空后还错误的读出数据。可以将FIFO的Empty和Almost_empty以及读使能配合起来使用,来保证能够连续读,并准确的判断FIFO空满状态,提前决定是否能启动读使能。

具体的实施办法是:当Empty为1,立即停止读;当Empty为0,Almost_empty为0时,可以放心读;当Empty为0,但是Almost_empty为1时,如果上一拍读使能Read也为1,那么不能读;当Empty为0,但是Almost_empty为1时,如果上一拍读使能Read为0,可以读最后一拍。

在FIFO使用时,使用到Almost_full信号以及读写counter来控制FIFO的读满预警,如果数据不是在空满判断的下一拍写入FIFO,则设计FIFO的满预警时要小心。如果你不确定判断满预警之后要延迟多少拍才能真正写入FIFO,那么尽量让FIFO有足够满预警裕量。

例如,在wr_data_count为128才是真的满了,你可以设成wr_data_count为120的时候就给出满预警,可以保证设计的可靠和安全。当然,如果你能准确的算出判断满预警与真正写入FIFO的延迟,可以用精确的满预警阈值。

当需要使用到数据位宽转换时,如将128位的数据转换成64位的数据,最好不要用XILINX自己生成的位宽转换FIFO。可以例化两个64位的FIFO,自己控制128转64。这样可以大大的节省资源,是XILINX CORE生成的FIFO资源的一半。

另外,当需要使用到位宽大于18bits,且深度小于等于512的FIFO时,建议使用XILINX COREGenerator来产生,它可以将一个36bits位宽512深度的FIFO在一个18×1024的BLOCK RAM中实现。如果我们自己用BLOCK RAM来实现一个FIFO,那只能例化一个36×1024的BLOCK RAM基元,造成浪费。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1646

    文章

    22105

    浏览量

    621065
  • Xilinx
    +关注

    关注

    73

    文章

    2185

    浏览量

    127222
  • fifo
    +关注

    关注

    3

    文章

    402

    浏览量

    45013

原文标题:FIFO使用技巧

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FPGA机器学习的具体应用

    ,越来越多地被应用于机器学习任务。本文将探讨 FPGA 机器学习的应用,特别是加速神经网络推理、优化算法和提升处理效率方面的优势。
    的头像 发表于 07-16 15:34 ?1671次阅读

    【RK3568+PG2L50H开发板实验例程】FPGA部分 | ROM、RAM、FIFO 的使用

    ROM 数据。 2.3. FIFO 介绍 FIFO 即先入先出, FPGA FIFO
    发表于 07-10 10:37

    PLL技术FPGA的动态调频与展频功能应用

    随着现代电子系统的不断发展,时钟管理成为影响系统性能、稳定性和电磁兼容性(EMI)的关键因素之一。FPGA设计,PLL因其高精度、灵活性和可编程性而得到广泛应用,本文将深入探讨PLL技术
    的头像 发表于 06-20 11:51 ?1540次阅读
    PLL技术<b class='flag-5'>在</b><b class='flag-5'>FPGA</b><b class='flag-5'>中</b>的动态调频与展频功能应用

    智多晶FIFO_Generator IP介绍

    FIFO_Generator是智多晶设计的一款通用型FIFO IP。当前发布的FIFO_Generator IP是2.0版本,相比之前的1.1版本主要新增了非等比输入输出数据位宽支持和异步FI
    的头像 发表于 04-25 17:24 ?1099次阅读
    智多晶<b class='flag-5'>FIFO</b>_Generator IP介绍

    基于FPGAFIFO实现

    FIFO(First in First out)为先进先出队列,具有存储功能,可用于不同时钟域间传输数据以及不同的数据宽度进行数据匹配。如其名称,数据传输为单向,从一侧进入,再从另一侧出来,出来的顺序和进入的顺序相同。
    的头像 发表于 04-09 09:55 ?806次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIFO</b>实现

    AXI接口FIFO简介

    AXI接口FIFO是从Native接口FIFO派生而来的。AXI内存映射接口提供了三种样式:AXI4、AXI3和AXI4-Lite。除了Native接口FIFO支持的应用外,AXI FIFO
    的头像 发表于 03-17 10:31 ?1222次阅读
    AXI接口<b class='flag-5'>FIFO</b>简介

    ADS822加FIFO测试的时候老是卡死,为什么?

    请问下专家:为什么我ADS822加FIFO测试的时候老是卡死,基本过程是这样的,我外部提供一个时钟,分别给ADS822做采样时钟与FIFO的写时钟,程序开始控制FIFO写开启,读关
    发表于 02-06 06:32

    FIFO IP核的使用教程

    在数字设计,利用FIFO进行数据处理是非常普遍的应用,例如,实现时钟域交叉、低延时存储器缓存、总线位宽调整等。下图给出了FIFO生成器支持的一种可能配置。
    的头像 发表于 01-03 09:36 ?3106次阅读
    <b class='flag-5'>FIFO</b> IP核的使用教程

    FPGA 实时信号处理应用 FPGA图像处理的优势

    优势之一是其并行处理能力。与传统的CPU或GPU相比,FPGA可以同时执行多个操作,这在图像处理尤为重要,因为图像处理通常涉及大量的并行数据流和复杂的算法。例如,进行图像滤波或边缘检测时,
    的头像 发表于 12-02 10:01 ?1980次阅读

    FPGA 人工智能的应用

    随着人工智能技术的飞速发展,FPGA(现场可编程门阵列)AI领域扮演着越来越重要的角色。FPGA以其独特的灵活性、低延迟和高能效等优势,为AI应用提供了强大的硬件支持。 1. FPGA
    的头像 发表于 12-02 09:53 ?2456次阅读

    AFE4960如何正确的从FIFO读取样本呢?

    我有一些问题想请教。 双芯片串行模式下,MCU 收到 AFE4960 发送的 FIFO_RDY 中断信号后,开始通过 SPI 通信从 AFE4960 的 FIFO 读取样本。 具
    发表于 11-14 06:41

    FIFO Generator的Xilinx官方手册

    都知道FF资源FPGA是非常珍贵的。 built-in FIFO:这种类型的FIFO只有7系列之后(包括UltraScale)才有。笔者
    的头像 发表于 11-12 10:46 ?1916次阅读
    <b class='flag-5'>FIFO</b> Generator的Xilinx官方手册

    FIFO的深度应该怎么计算

    FIFOFPGA/IC设计中经常使用到的模块,它经常被用在两个模块之间进行数据的缓存,以避免数据传输过程丢失。同时FIFO也经常被用在
    的头像 发表于 10-25 15:20 ?1140次阅读
    <b class='flag-5'>FIFO</b>的深度应该怎么计算

    FPGA物联网的应用前景

    FPGA(现场可编程门阵列)物联网的应用前景非常广阔,其高度的灵活性和可编程性使其成为物联网应用不可或缺的核心组件。以下是对FPGA
    的头像 发表于 10-25 09:22 ?1300次阅读

    Efinity FIFO IP仿真问题 -v1

    Efinity目前不支持联合仿真,只能通过调用源文件仿真。 我们生成一个fifo IP命名为fifo_sim Deliverables中保留Testbench的选项。 IP的生成目
    的头像 发表于 10-21 11:41 ?1660次阅读
    Efinity <b class='flag-5'>FIFO</b> IP仿真问题 -v1