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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2806|回复: 4

[求助] pcie、ddr2仲裁问题

[复制链接]
发表于 2012-7-20 10:24:04 | 显示全部楼层 |阅读模式

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

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

x
目前我做了从PCIE收数据放入ddr2的工程,现在想加一个数据处理算法进去,同样也要从ddr2读写数据,这样的话,PCIE传输模块和算法模块会共用DDR2接口,这个仲裁机制该怎么解决呢?
发表于 2012-7-20 14:29:51 | 显示全部楼层
回复 1# qingweisan

不清楚你加的这个算法要怎么样工作,一般来说, 写入DDR2之前做算法处理,再写进去;反向,先从DDR2读数据,然后再做算法反处理,这样就不需要把数据从DDR2折腾两次。
发表于 2012-7-20 15:06:42 | 显示全部楼层
回复 1# qingweisan

你的PCIE是作为EP吧?也就是数据何时到来或读取不受FPGA控制吧。

其实这个仲裁不难,只要你这两部分对于时序的要求不太高够用就行。比如PCIE作为EP,是可以有等待时间的,就是如果PC或RC来写一个数据,如果DDR没准备好的话,是可以放在BAR里缓存下;同样,读一个数据,暂时不可行的话,也会等待DDR过段时间返回数据才会完成。 而这段时间是TLP层面上的等待,并不是DLLP数据链路上的等待,并不会出现timeout之类的ERROR。也就是等会没影响。


同样,你的算法接口应该也不会对DDR操作过于频繁。


可以参考类似令牌的方式, 如果其中一端想占用DDR读写了,那先查询当前状态,另一方没有占用,那将之占用,同时将状态拉高,待用完后释放。 如果一方优先级高,那也可以在对方完成一次简单的读写后就将之强行释放再占用。等等,


应该不会太复杂,你可以将算法读写的优先级设置得更高。
 楼主| 发表于 2012-7-21 09:58:13 | 显示全部楼层
回复 2# vongy


   嗯,我也想过这样做,可是PCIE并不保证数据的顺序。
 楼主| 发表于 2012-7-21 09:59:35 | 显示全部楼层
回复 3# eaglelsb


  嗯,谢谢你!很详细了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-21 01:58 , Processed in 0.026120 second(s), 8 queries , Gzip On, Redis On.

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