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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2473|回复: 8

[讨论] 读写速率不匹配而且不能中断的异步FIfO如何设计

[复制链接]
发表于 2018-5-4 10:15:00 | 显示全部楼层 |阅读模式

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

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

x
在做一个CPRI转JESD204B的设计。物理层链路层均使用Xilinx Ip,现在要解决数据跨时钟域的问题(CPRI IQ速率153.6MHz JESD是122.88MHZ 都是16bit).CPRI数据是10ms的连续帧,发完一帧停顿一段时间再发下一个10ms这样子。可是10ms内不能间断。
将CPRI RX通过一个fifo连到JESD TX,反之亦然。
由于读写IQ速率不匹配而且10ms数据量太大(FIFO深度要308000)超过Xilinx FIFO 上限了,想问一下有什么好的办法可以解决这个跨时钟域传数据 而且收发在10ms帧内不能中断的问题呢?
发表于 2018-5-4 18:15:08 | 显示全部楼层
拼FIFO行不行?
发表于 2018-5-4 23:10:42 | 显示全部楼层
选择更多block ram资源的FPGA型号,或者外置高速双口RAM芯片
发表于 2018-5-5 16:36:34 | 显示全部楼层
如果是读写带宽不匹配,中途数据有不能断。也许使用握手的方式可以实现。FIFO确实是一种比较好的跨时钟域的结构,不过FIFO还是有一些前提条件的,比如,在写FIFO的时候,FIFO可能被写满,而在FIFO为满的时候,就不能再向FIFO写数据了;FIFO为空的时候,就不能从FIFO中读取数据。所以如果读写两个方向带宽不匹配,而又不允许读写数据中段,这可能就不适合使用FIFO了。如果读>写,那么FIFO始终会出现空的情况;如果写>读,那么FIFO始终会出现满的情况。增加FIFO的深度,只是推迟了空满到来的时间而已。而使用握手的方式则不会出现不能写或者不能读的情况。不过使用握手的方式,数据的准确性就不能达到100%的不丢失了。
发表于 2018-5-5 22:42:48 | 显示全部楼层
回复 1# 295953710


    厉害了
发表于 2018-5-8 15:14:25 | 显示全部楼层
看来得DDR
发表于 2018-5-9 16:52:07 | 显示全部楼层
CPRI IQ速率 153.6MHz JESD是122.88MHZ 都是16bit
要么再加一片DDR,做单位时间吞吐量的匹配。
也就是CPRI 16bit, JESD32bit。。
发表于 2018-5-9 17:33:47 | 显示全部楼层
本帖最后由 fangxuezhou 于 2018-5-9 17:36 编辑

高速时钟写入RAM,然后异步FIFO从RAM读数据。或者高速时钟串行写入多个异步FIFO,低速时钟并行读出做带宽匹配
发表于 2018-5-9 20:11:17 | 显示全部楼层
谢谢谢谢谢谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-3-28 21:42 , Processed in 0.026015 second(s), 8 queries , Gzip On, Redis On.

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