集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 9691|回复: 10

PCIe的RC和EP能同时跑在1.25G吗

[复制链接]
ccs 发表于 2010-10-31 15:25:08 | 显示全部楼层 |阅读模式
PCIe的RC和EP能同时跑在1.25G吗
前两天还有人问V5的PCIe频率,偶以为125MHz pipe clock很轻松,没想到综合之后结果很不乐观.
目前在V5上做PCIe的原型验证,用块FPGA分别实现RC和EP.芯片选型时,对PCIe的规模没有估计充分,结果综合下来,资源占用率很高,频率跑不上去.Pipe_clk本来想跑125MHz,目前看来,只能到100MHz,很难有调整的余地了.

如果不重新换FPGA芯片或重新布板,而把RC和EP的refclk都降到50MHz(原来规划是100MHz), 能否在线路上实现1.25G, 而pipe_clk跑62.5MHz,,从而实现RC和EP的通信?

我对PCIe的物理层实现细节不太了解,不知道这种简单的降频处理,在实际应用中能否顺利实现?
 楼主| ccs 发表于 2010-10-31 15:25:20 | 显示全部楼层
纯理论分析,只要你的位宽选宽,然后并行时钟是可以降下来的。

Gen1的线路码率2.5Ghz,10b一个symbol(就是一个byte)。如果Phy采用byte的接口,那么phy得到的并行时钟是2.5Ghz/10=250Mhz;如果采用word的接口,那么得到的并行时钟是2.5Ghz/20=125Mhz。如果抛开10b中的2b overhead,那么有效码率是2.5Ghz*80%=2Ghz,上述结果就变为200Mhz以及100Mhz。

上述就是目前Phy频率的大概范围。而在GTP都可以提供这些8b/16b接口的选择。

但是按照帖子的意思,将refclk降低来试图得到更低的线路码率,最显而易见的就是这个玩意儿根本不是pci-e了。而且pll以及里面的com detect这些都是模拟电路,特别是跟频率严格相关的com detect,个人推测完全不能实现1.25Ghz以及2.5Ghz同时支持。

好奇问一下,你那边资源占用是多少?我这边2.5Ghz X1的EP占的资源大概是6K LE(spartan6);RC没做,个人估计要在8~9K左右。当然我做的并不是完全兼容协议,只是在通用PC上测试没有问题。其他资源就是ram耗得太快,所以VC以及retry buffer仅仅是用最低花销的设计。

当时做的时候,de/scrambler最费时间,但是16位位宽跑125Mhz问题还是不大的。
 楼主| ccs 发表于 2010-10-31 15:25:32 | 显示全部楼层
我这边GTP用的16bit接口,所以,期望的pipe clk为125MHz.
8b/10b, scramble这些变换,应该在GTP里面应该已经完成了吧.
Xilinx的LUT占用率超过90%了,所以,timing很紧,而且很难有调整空间.

如果线路上跑1.25Gbs,我主要担心两方面:
1. contoller里的一些timer有可能会不符合协议,不知道会不会导致链路错误,无法通信
2. RX CDR原本是去锁2.5G的信号.如果输入变成1.25G,不知道能否顺利锁定.
 楼主| ccs 发表于 2010-10-31 15:25:43 | 显示全部楼层
100M是PHY的参考时钟,用来产生2.5G, 5G的bit clock.所以你不能降这个时钟的
但你可以通过加宽PIPE IF的data bus来达到降频的目的,一般PHY都support 2.5G/5G,
在link negotiation时决定link speed 是2.5G or 5G. PIPE IF 一般可以support
6/16/32 bits。所以link speed跟PIPE有如下的关系:

5G    32-bit  125M
5G    16-bit  250M
5G     8-bit  500M

2.5G  32-bit  62.5M
2.5G  16-bit  125M
2.5G   8-bit  250M
 楼主| ccs 发表于 2010-10-31 15:25:54 | 显示全部楼层
90%你是没戏的了,我现在60%都run不到125M。
不过我的PIPE IF data bus为32-bit, try过16-bit的GTP,core这边run在62.5M,link
speed run在G1 mode. Timing 没什么问题的。
 楼主| ccs 发表于 2010-10-31 15:26:14 | 显示全部楼层
这边从综合报告来看,只能跑到90M,离125M还有相当的距离
 楼主| ccs 发表于 2010-10-31 15:26:23 | 显示全部楼层
FPGA跟ASIC完全不一样,即使你换大容量的芯片,也很难做到125M
我现在在用XC5VLX330T, 容量好像是最大的那块,run出来timing很
糟糕的
 楼主| ccs 发表于 2010-10-31 15:26:37 | 显示全部楼层
这么说你们的PIPE interface 是16-bit??
 楼主| ccs 发表于 2010-10-31 15:26:46 | 显示全部楼层
,我用的是110t
内部逻辑的话,其实只是在接口很小一部分是在125MHz下跑的,很快就过度了62.5MHz了
内部大量的逻辑,是在62.5MHz
换大容量的,应该情况好很多吧
原来觉得,用FPGA和外挂PHY,跑Gbit ethernet,不算很难的事情.
PCIe应该也差不多,从时钟频率来说.
 楼主| ccs 发表于 2010-10-31 15:27:00 | 显示全部楼层
ASIC prototype还用掉90% 的LUT...
换pin兼容的大器件吧
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-20 09:17 , Processed in 0.064772 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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