在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 304|回复: 3

[讨论] 高速设计里面的异步FIFO低延时问题

[复制链接]
发表于 2025-4-14 18:06:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 robertlee2014 于 2025-4-14 18:10 编辑

高速设计里面的rx fifo设计会直接影响到延时。如UCIe协议要求端到端延时要在2ns内,以2Ghz的lclk读rx fifo时候,读写延时就不能太大,常规的aysnc fifo完全不可用。
这种情况下比较好的思路应该是phase detect后做phase selection。具体原理可参考:
https://research.nvidia.com/site ... er%3A//05476986.pdf
但是其中的phase detect和phase selection方面的一致性上比较难做。比如协议不会给离散的wr_en,可能是连续的wr_en,这样只有第一笔数据可以作为phase detect用。
各位有什么其他比较好的思路或者phase detect方案简化一致性问题吗?
发表于 2025-4-15 09:37:11 | 显示全部楼层
本帖最后由 ilmkduse 于 2025-4-16 16:18 编辑

没做过,帮顶

看了下论文,我理解是:
    phase detect是通过让figure5里evenm对F2和F3的td时间差制造出一个错拍来判断处于奇/偶态。
    selection是通过计算当前可能处相位的上限和下限(pu和pl)来确定应该采取哪部分数据。论文中仅取pl,pu作为参考当前同步质量的信号出现。

    而pu和pl的值在有错拍时更新为初值,如果没有错拍就按之前求得的tclk 1clk时长,对应的rclk奇偶的相位变化来计算目前同步的相位。
    这里pu和pl做了一个加减1的区分来表达不确定性。

如果是这样,它的r域的even值应该会在被写入的时候更新,这样的话会让过来的evenm的边沿变多,即更加易于同步?
发表于 7 天前 | 显示全部楼层
这是设计了个FIFO?这么高的频率用lib里的memory是不是更好呢?
 楼主| 发表于 3 小时前 | 显示全部楼层


doctor_ic 发表于 2025-4-29 17:38
这是设计了个FIFO?这么高的频率用lib里的memory是不是更好呢?


目的是尽可能降低延时,用mem写1读1不寄存器输出最快也要大于2拍了。同样也要生成rd en逻辑
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-5-6 21:47 , Processed in 0.016571 second(s), 7 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表