Xlinx异步FIFO的注意点

Xlinx异步FIFO的大坑

背景及意义

FIFO是FPGA处理跨时钟和数据缓存的必要IP,可以这么说,只要是任意一个成熟的FPGA涉及,一定会涉及到FIFO。但是我在使用异步FIFO的时候,碰见几个大坑,这里总结如下,避免后来者入坑。

注意点

这里博主主要总结两个注意点,也是最常入坑的点:
1、异步FIFO的读写计数不准,经常可以碰见FIFO的空标志拉高,但是计数器显示FIFO中还有数据的情况,所以使用FIFO自带的计数器时,一定要小心,只可以使用大概范围,不可以使用精确范围。
2、异步FIFO在复位一段时间后,才可以继续操作,不可以复位后立马把读写使能拉高,因为异步FIFO需要一定的时间进行同步操作。
3、FIFO复位后需要一些时钟之后,才可以进行正常的读写工作。
4、异步FIFO写数据需要经过10个左右的时钟才能从正确读出,这里一定要流出足够的时钟周期,否则会发生错误。
上面的两点一定要注意,否则很容易跳入一个大坑。当然,同步FIFO没有上述的问题。

总结

创作不易,认为文章有帮助的同学们可以关注、点赞、转发支持。(工程也都在群中)对文章有什么看法或者需要更近一步交流的同学,可以加入下面的群:
在这里插入图片描述

  • 10
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Vivado是一款由赛灵思(Xilinx)公司开发的集成电路设计工具。它提供了丰富的功能和工具,用于设计、验证和实现FPGA(现场可编程门阵列)和SoC(片上系统)。异步FIFO(First In First Out)是FIFO的一种类型,用于跨时钟域信号传递。异步FIFO与同步FIFO相比,不要求读写时钟频率相同,因此更加灵活。 在Vivado中,可以使用IP核(Intellectual Property)库中提供的现成的异步FIFO IP来设计异步FIFO。这个IP核包含了异步FIFO的功能模块,可以直接在设计中使用。可以通过Vivado的可视化界面添加异步FIFO IP核,并根据设计需求进行配置。配置完成后,可以生成对应的硬件描述语言(HDL)代码,通过这些代码可以实例化异步FIFO模块。 除了使用Vivado提供的异步FIFO IP核外,您也可以自己编写异步FIFO模块。根据您提供的引用,您可以自编异步FIFO,并根据具体需求选择normal模式或show-ahead模式。在设计完成后,您可以使用Vivado提供的testbench功能对异步FIFO进行仿真,以验证其功能和性能。根据您的描述,测试结果与Xilinx IP一致,这表明您的自编异步FIFO在功能上与Xilinx IP相似。 总结起来,您可以在Vivado中使用现成的异步FIFO IP核,也可以自己编写异步FIFO模块。通过Vivado的可视化界面或者HDL代码进行配置和实例化。最后,使用Vivado的testbench功能对异步FIFO进行仿真,以验证其功能和性能。这样,您就可以在Vivado中设计和实现异步FIFO了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值