请选择 进入手机版 | 继续访问电脑版

集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2153|回复: 6

关于异步fifo的安全问题

[复制链接]
晓灰灰 发表于 2018-3-5 10:36:44 | 显示全部楼层 |阅读模式

关于异步fifo的安全问题:

1. 虽然异步fifo可以提供多个握手信号,但真正影响安全性能的就两个:
2. 一个是读时钟域的空信号rdrempty
3. 另一个是写时钟域的满信号wrfull
4. 这是由于,如果异步fifo的双口ram真的空了,而跨时钟域延迟造成的rdempty仍然非空,则读fifo的逻辑,就有可能根据rdempty信号(非空指示),发出将导致错误的读请求rdreq
5. 另外,如果异步fifo的双口ram真的满了,而跨时钟域延迟造成的wrfull仍然非满,则写fifo的逻辑,就有可能根据wrfull信号(非满指示),发出将导致错误的写请求信号wrreq
6. 因此,异步fifo必须谨慎的分析其节拍关系,确定读时钟域的空信号,一定要在真空之前出现;写时钟域的满信号,一定还要在真满之前出现。
7. 这种almost empty和almost full的设置,无论altera或xilinx均采用。
8. 也就是说,如果双口RAM真空之前报空,则延迟造成的rdreq,异步fifo仍然可以正确响应
9. 双开RAM真满之前报满,则延迟造成的wrreq,异步fifo仍然可以正确响应
10. 异步fifo的报空过程,可以用火车票比喻。车站在还有几张票的情况下,显示票已经售空。这并不会发生混乱,但如果有紧急情况或领导需要,还有这几张票缓冲。
 楼主| 晓灰灰 发表于 2018-3-5 10:37:27 | 显示全部楼层
关于异步fifo的安全问题:

1. 虽然异步fifo可以提供多个握手信号,但真正影响安全性能的就两个:
2. 一个是读时钟域的空信号rdrempty
3. 另一个是写时钟域的满信号wrfull
 楼主| 晓灰灰 发表于 2018-3-6 11:09:58 | 显示全部楼层
关于异步fifo的安全问题
zxopenhl 发表于 2018-3-6 15:24:47 | 显示全部楼层
不错,学习了,谢谢分享!
lixirui 发表于 2018-4-11 15:56:30 | 显示全部楼层
很有用,谢谢分享。
 楼主| 晓灰灰 发表于 2018-11-30 11:26:20 | 显示全部楼层
关于异步fifo的安全问题
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-3-29 16:22 , Processed in 0.122326 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表