"); //--> rimowa是什么品牌| 隔离霜和防晒霜有什么区别| 什么人群不适合吃阿胶糕| 备孕前要注意什么| 真菌涂片检查是查什么| yet是什么意思| 淋巴结肿大吃什么食物好| 1978年属什么生肖| 甲状腺吃什么药| 查染色体挂什么科| 对偶是什么意思| 慢性非萎缩性胃炎吃什么药效果好| 药品经营与管理学什么| 备孕男性吃什么精子强| 诺如病毒吃什么药好得快一点| pas什么意思| 吃什么大补| 梦见黑狗是什么意思| 不来月经吃什么药| 晚上吃什么减肥| 瘘管是什么病| 低烧什么症状| 灵隐寺求什么最灵| 火字旁的字有什么| smart是什么| 为什么星星会眨眼睛| m什么单位| hpv是什么检查| 山竹是什么| 谷草转氨酶高吃什么药| 什么是静脉血栓| 正方体体积公式是什么| 百草枯什么味道| 为什么第一次进不去| 碧生源减肥茶有什么副作用| 膂力是什么意思| 胃疼为什么后背也疼| 吃什么降血压最快最好方法| 中天是什么意思| 不自爱是什么意思| island什么意思| 分开后我会笑着说是什么歌| 胆囊壁增厚吃什么药| crh是什么意思| 的是什么意思| 死库水是什么| bdsm什么意思| 事无巨细什么意思| 什么是前置胎盘| 小样什么意思| 北京市长什么级别| 口臭吃什么药好| 1955年属什么| 荨麻疹吃什么药最好| 藿香泡水喝有什么好处| 原研药是什么意思| 经常放屁吃什么药好| 绿头牌是什么意思| 血脂高吃什么药| 肛门坠胀吃什么药最好| 蓝黑色是什么颜色| 为什么会拉水| 单脐动脉是什么意思| 荷叶泡水喝有什么作用| 花指什么生肖| 中国最高学位是什么| 心源性哮喘首选什么药| 性功能下降是什么原因| 我想长胖点有什么办法| 乙状结肠炎吃什么药| 膀胱钙化是什么意思| 手抖是什么病的症状| 吃什么能安神助睡眠| 什么人不能吃玉米| 尿血是什么病| 女人大把掉头发是什么原因| 早上起床牙龈出血是什么原因| 眷属是什么意思| 法院庭长是什么级别| 为什么会有盆腔积液| 盆腔检查做什么检查| 连衣裙配什么鞋子好看| 吃什么愈合伤口恢复最快| 睡觉打呼噜是什么病| 横纹肌溶解症是什么原因造成的| 强光斑是什么意思| 小孩爱流鼻血是什么原因| 保底和底薪有什么区别| rue是什么意思| 心率过高是什么原因| 聿读什么| 燊字五行属什么| 皮肤自愈能力差缺什么| 维生素h的作用及功能主治是什么| 乳糖不耐受吃什么药| 脾胃虚弱有什么症状| 疤痕增生是什么| jvc是什么牌子| 请什么自什么| 老人喝什么牛奶比较好| 打嗝不停是什么病前兆| 梦见家里发大水了是什么征兆| 阳痿吃什么药好| 右眼皮跳是什么预兆男| 黄瓜籽粉有什么功效| 降钙素原高是什么原因| 娃娃鱼吃什么| 一念之间什么意思| 尉迟恭是什么生肖| 9.23号是什么星座| 理工男是什么意思啊| 一什么泪珠| 静的部首是什么| 孕妇喝什么汤好| 985是什么| 鼻子一直流血是什么原因| 彩虹像什么| 养老金什么时候可以领取| ct查什么| 安康鱼长什么样| 什么叫管状腺瘤| 脑梗会引起什么症状| 吃白饭是什么意思| 我的梦想是什么| 什么是大专| 鸽子咕咕叫是什么意思| sos是什么意思| 幸福是什么的经典语录| 为什么眼泪是咸的| 大天真香是什么意思| 长红痣是什么原因| 黄宗洛黄海波什么关系| 三七粉什么人不适合吃| 宿主是什么意思| 慈禧属什么生肖| 女人依赖男人说明什么| 白酒是什么时候出现的| 人格魅力是什么意思| 加湿器用什么水比较好| drg什么意思| 社恐是什么意思| 狗改不了吃屎是什么意思| 为什么狐臭女很漂亮| 梦见手机失而复得是什么意思| 骨密度是什么意思| 什么家欢乐| 为什么会眼压高| 310什么意思| 小便发黄是什么原因引起的| 虚火牙痛吃什么药效果最快| 无痛人流和普通人流有什么区别| 煜这个字读什么| 什么是霉菌| 五行缺土戴什么| 白玫瑰代表什么| 梦见跳舞是什么意思| 白羊座是什么象星座| 心脏房颤吃什么药最好| 三叉神经吃什么药好| 南乳和腐乳有什么区别| 男生的蛋蛋长什么样| 戴的部首是什么| 高尿酸血症吃什么药| 石膏是什么成分| 肌层回声均匀是什么意思| 什么是表达方式| 周瑜属什么生肖| 维生素b族有什么用| 脚酸疼是什么原因引起的吗| 五年生存率是什么意思| acca是什么专业| 辽宁古代叫什么| 辣根是什么| 老卵上海话什么意思| 椰子不能和什么一起吃| 狭鳕鱼是什么鱼| 就此别过是什么意思| 自恋是什么意思| 不可或缺是什么意思| 光谱是什么| 长期上夜班对身体有什么危害| 傻狍子什么意思| 鬼压床是什么| 信阳毛尖是什么茶| 女人吃玛卡有什么好处| 头孢有什么作用| 小苏打可以用什么代替| 肠粉是用什么粉做的| 没有孕吐反应说明什么| 开门是什么意思| 葡萄球菌感染是什么原因引起的| 屈光是什么意思| 星盘是什么| 孩子咬手指甲是什么原因| 射手座什么性格| da是什么意思| 胃有灼热感是什么原因| 什么的形状| 梅毒是什么| 硬不起来吃什么好| 什么是百慕大三角| 子宫下垂吃什么药| 残疾证有什么用| 薄荷绿是什么颜色| 梦见蛇吃人代表什么预兆| 孩子出汗多是什么原因| 印堂发黑是什么征兆| 绦是什么意思| 金牛男喜欢什么样的女生| 打水光针有什么副作用| 风水宝地是什么意思| 两毛二是什么军衔| 刁子鱼是什么鱼| 生吃紫苏叶有什么功效| 长沙有什么大学| 糙米饭是什么米| 风热感冒咳嗽吃什么药| 葡萄糖升高说明什么| 心功能二级是什么意思| 恩五行属性是什么| ambush是什么牌子| 树木什么| 庭字五行属什么| 花花世界不必当真是什么歌| 瓜尔佳氏现在姓什么| 呦是什么意思| 亲家是什么意思| 动销是什么意思| 化作风化作雨是什么歌| 异什么意思| 一点小事就暴躁的人是什么病| 胃炎吃什么消炎药| 起死回生是什么生肖| 橘红是什么| rna是什么意思| 隐翅虫咬人后用什么药| 九夫痣是什么意思| 总流口水是什么原因| 舌苔黄是什么原因引起的| 乳房皮肤痒是什么原因| 五月十二是什么星座| 血糖高可以喝什么粥| 石榴木命是什么意思| 什么道路| 猪肉不能和什么一起吃| 县法院院长是什么级别| 手术后可以吃什么水果| 右手臂痛是什么预兆| 83岁属什么生肖| 为什么睡觉后鱼刺没了| 转氨酶高有什么危害| 慢性非萎缩性胃炎吃什么药| 1962年五行属什么| pp材质和ppsu材质有什么区别| 拿铁和美式有什么区别| 甲炎是什么病| 什么人靠别人的脑袋生活| 诸葛亮字什么| 甘油三酯偏高是什么原因| 女生白带是什么| 梦见一坨屎是什么意思| 壁虎吃什么食物| 为什么越睡越困| 12颗珠子的手串什么意思| 百度
新闻  |   论坛  |   博客  |   在线研讨会
高速串行接口与GTXE_COMMON / GTXE_CHANNEL 问题汇总
FPGA小师兄 | 2025-08-04 11:19:44    阅读:4146   发布文章

在调试FPGA的GTX接口时,经常会遇到报GTXE_COMMON / GTXE_CHANNEL的问题,下面将该问题出现的原因及解决方案介绍一下,本文提供两种不同场景下的解决方案。

+

RocketIO简介

+

随着信息技术的快速发展,板卡、芯片之间的数据传输速率越来越高。由于受到物理限制,采用并行的方式无法实现远距离高速数据传输,因此串行传输目前已成为主流的高速数据传输的方式。要想实现高速数据流的串行传输,必不可少的一个核心器件是SerDes(SERializer/DESerializer,其核心功能是实现数据的串并\并串转换。

RocketIO的种类和对应的速率, 最高速率(Gbps/s)

MTG: 6.5

GTP: 6.6, 3.75, 3.2

GTX: 12.5, 6.6, 6.5

GTH: 16.3, 16, 13.1, 11

GTZ: 28.05

GTY: 32.75, 30.5

Xilinx公司在Virtex-2 Pro及更高级的FPGA芯片内集成了SerDes硬核,Xilinx公司将其称为RocketIO模块。在FPGA设计中使用RocketIO模块可以实现片间的高速数据传输。同时也可以以RocketIO为基础,通过在其上层(数据链路层)增加协议,实现不同应用环境下的专用接口,如SGMII(SerialGigabit Media Independent Interface)接口、10G以太网接口、Aurora接口、RapidIO接口等。Xilinx FPGA芯片中集成的RocketIO模块的版本和对应的最大数据传输速率如表2.1所示,其中同一种RocketIO模块在不同的芯片中支持不同的最高速率。

图2 RocketIO GTX/GTH结构图

图2所示为RocketIO GTX/GTH的结构图,从图中可以看出RocketIO分为发送和接收两大部分,每一部分又分为PCS(Physical CodeSublayer)层和PMA(Physical Medium Attachment)层。注意,此处的PCS层和PMA层是GTX/GTH接口的,要注意与前面介绍的10G以太网接口的PCS和PMA区分。见之前文章链接:10G 以太网接口的FPGA实现,你需要的都在这里了。同时,如果GTX/GTH上面跑的是Aurora协议或者是SGMII或者是RapidIO,那么也同样有不同的PCS/PMA(虽然有不同,但其核心都是Rocket IO GTX/GTH的PCS和PMA) 。

一、场景1 同一个quad中重复使用GTXE_COMMON的问题

如上图所示,在485T FPGA上同时使用1G SGMII接口和10G接口,单独建1G SGMII接口工程或者单独建10G的工程都可以正常工作,但将两个工程合并,需要同时支持1G SGMII接口和10G的接口时,就会报错,错误提示如下:

[Place 30-140]

Unroutable Placement! A GTXE_COMMON / GTXE_CHANNEL clock component pair is not placed in a routable site pair. The GTXE_COMMON component can use the dedicated path between the GTXE_COMMON and the GTXE_CHANNEL if both are placed in the same clock region. If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file to demote this message to a WARNING. However, the use of this override is highly discouraged. These examples can be used directly in the .xdc file to override this clock rule.

< set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets core_wrapper_i/inst/core_gt_common_i/gt0_qplloutclk_out] >core_wrapper_i/inst/core_gt_common_i/gtxe2_common_i (GTXE2_COMMON.QPLLOUTCLK) is provisionally placed by clockplacer on GTXE2_COMMON_X1Y1

core_wrapper_i/inst/pcs_pma_block_i/transceiver_inst/gtwizard_inst/inst/gtwizard_i/gt0_GTWIZARD_i/gtxe2_i (GTXE2_CHANNEL.QPLLCLK) is locked to GTXE2_CHANNEL_X1Y1

The above error could possibly be related to other connected instances. Following is a list of

all the related clock rules and their respective instances.

Clock Rule: rule_bufds_bufg

Status: PASS

Rule Description: A BUFDS driving a BUFG must be placed on the same half side (top/bottom) of the device core_wrapper_i/inst/core_clocking_i/ibufds_gtrefclk (IBUFDS_GTE2.O) is locked to IBUFDS_GTE2_X1Y0 core_wrapper_i/inst/core_clocking_i/bufg_gtrefclk (BUFG.I) is provisionally placed by clockplacer on BUFGCTRL_X0Y2

Clock Rule: rule_bufds_gtxchannel_intelligent_pin

Status: PASS

Rule Description: A BUFDS driving a GTXChannel must both be placed in the same or adjacent clock region (top/bottom)

core_wrapper_i/inst/core_clocking_i/ibufds_gtrefclk (IBUFDS_GTE2.O) is locked to IBUFDS_GTE2_X1Y0

core_wrapper_i/inst/pcs_pma_block_i/transceiver_inst/gtwizard_inst/inst/gtwizard_i/gt0_GTWIZARD_i/gtxe2_i (GTXE2_CHANNEL.GTREFCLK0) is locked to GTXE2_CHANNEL_X1Y1

Clock Rule: rule_bufds_gtxcommon_intelligent_pin

Status: PASS

Rule Description: A BUFDS driving a GTXCommon must both be placed in the same or adjacent clock region(top/bottom)

core_wrapper_i/inst/core_clocking_i/ibufds_gtrefclk (IBUFDS_GTE2.O) is locked to IBUFDS_GTE2_X1Y0 core_wrapper_i/inst/core_gt_common_i/gtxe2_common_i (GTXE2_COMMON.GTREFCLK0) is provisionally placed by clockplacer on GTXE2_COMMON_X1Y1

Clock Rule: rule_gt_bufg

Status: PASS

Rule Description: A GT driving a BUFG must be placed on the same half side (top/bottom) of the device

core_wrapper_i/inst/pcs_pma_block_i/transceiver_inst/gtwizard_inst/inst/gtwizard_i/gt0_GTWIZARD_i/gtxe2_i (GTXE2_CHANNEL.RXOUTCLK) is locked to GTXE2_CHANNEL_X1Y1

and core_wrapper_i/inst/core_clocking_i/rxrecclkbufg (BUFG.I) is provisionally placed by clockplacer on BUFGCTRL_X0Y3

最后问题定位是因为1G SGMII和10G 以太网接口在实例化时,都产生了gtcommon,去掉其中一个就没有上面的错误了。

一个quad只能有一个gtcommon。

二、场景二 AURORA主从模式下跨BANK驱动多个GTX的布线问题


在Aurora片间接口的调试中,一共需要用到两片FPGA,为达到速率的要求,所以Aurora需要采用主从双核,双通道绑定的工作模式,一共需要四个GTX(一个GTX 支持4Gbps的速率,一个Aurora核使用两个GTX,所以本例程中一个Aurora核最高支持8Gbps的速率)来完成片间数据的传输工作。


在工程中,主从双核的例化截图如下图所示(上图为主核,下图为从核):


主核


从核


由上两图可以发现,主从双核最大的区别在于时钟和复位的逻辑是否包含在例化的IP核中,主核的时钟和复位的逻辑包含在例化的IP核中,而从核是包含在生成的example design中。


在完成Aurora的外部设计后,需要对GTX分配管脚,FPGA1和FPGA2中GTX的管脚如下图所示(上图为FPGA1,下图为FPGA2):


FPGA1


FPGA2

在之前的设计计划中,可以使用同一个BANK中的四个GTX,但是在实际分配时发现,FPGA1正常,但是FPGA2中的BANK 115只接了三个GTX的管脚,而BANK 116的时钟管脚没有接晶振,考虑到差分时钟可以驱动相邻的BANK,所以采用BANK 115和BANK 116共同使用,在两个BANK中各接两个GTX的方案。

此时在工程在实现时报了如下的错误:

[Place 30140] Unroutable Placement! A GTXE_COMMON / GTXE_CHANNEL clock component pair is not placed in a routable site pair. The GTXE_COMMON component can use the dedicated path between the GTXE_COMMON and the GTXE_CHANNEL if both are placed in the same clock region. If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file to demote this message to a WARNING. However, the use of this override is highly discouraged. These examples can be used directly in the .xdc file to override this clock rule.

< set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets core_wrapper_i/inst/core_gt_common_i/gt0_qplloutclk_out] >

core_wrapper_i/inst/core_gt_common_i/gtxe2_common_i (GTXE2_COMMON.QPLLOUTCLK) is provisionally placed by clockplacer on GTXE2_COMMON_X1Y1

core_wrapper_i/inst/pcs_pma_block_i/transceiver_inst/gtwizard_inst/inst/gtwizard_i/gt0_GTWIZARD_i/gtxe2_i (GTXE2_CHANNEL.QPLLCLK) is locked to GTXE2_CHANNEL_X1Y1

The above error could possibly be related to other connected instances. Following is a list of

all the related clock rules and their respective instances.

Clock Rule: rule_bufds_bufg

Status: PASS

Rule Description: A BUFDS driving a BUFG must be placed on the same half side (top/bottom) of the device

core_wrapper_i/inst/core_clocking_i/ibufds_gtrefclk (IBUFDS_GTE2.O) is locked to IBUFDS_GTE2_X1Y0

core_wrapper_i/inst/core_clocking_i/bufg_gtrefclk (BUFG.I) is provisionally placed by clockplacer on BUFGCTRL_X0Y2

Clock Rule: rule_bufds_gtxchannel_intelligent_pin

Status: PASS

Rule Description: A BUFDS driving a GTXChannel must both be placed in the same or adjacent clock region

(top/bottom)

core_wrapper_i/inst/core_clocking_i/ibufds_gtrefclk (IBUFDS_GTE2.O) is locked to IBUFDS_GTE2_X1Y0

core_wrapper_i/inst/pcs_pma_block_i/transceiver_inst/gtwizard_inst/inst/gtwizard_i/gt0_GTWIZARD_i/gtxe2_i (GTXE2_CHANNEL.GTREFCLK0) is locked to GTXE2_CHANNEL_X1Y1

Clock Rule: rule_bufds_gtxcommon_intelligent_pin

Status: PASS

Rule Description: A BUFDS drivin

错误显示GTX的布局出了问题,问题指到了GTX COMMON和GTX CHANNEL上,然后查阅Aurora的用户手册发现了下面的内容:


上图中显示,在外界的差分时钟进来之后需要先经过一个GTX_COMMON模块,在生成QPLLOUTLCK之后接到GTX_CHANNEL之中。这样差分时钟就可以驱动GTX正常工作。

但是如果差分时钟驱动多个GTX时,情况如下图所示:


在图中我们可以发现差分时钟可以最多驱动12个GTX正常工作,但是在驱动时要注意GTX_COMMOM模块,即一个GTX_COMMON最多可以驱动同一个QUAD上的4个GTX_CHANNEL,如果说要驱动超过四个或者其他QUAD上的GTX,必须要生成新的GTX_COMMON模块,来保证其他QUAD上的GTX可以正常工作。

这是检查了一下工程发现了问题,主核的Aurora IP核中包含了GTX_COMMON模块,但是从核GTX_COMMON模块在IP核的外面被注释掉了,因为在之前的设计中,两个IP核的四个GTX在同一个BANK中,所以在从核的顶层将GTX_COMMOM模块删掉了,所以该模块产生的信号(gt_qpllclk_quad1_in_i和gt_qpllrefclk_quad1_in_i)采用了主核产生后外接到从核的工作模式。

发现问题后,将从核的GTX_COMMON模块添加到从核的顶层,并且将gt_qpllclk_quad1_in_i和gt_qpllrefclk_quad1_in_i这两个信号从外接改成了从核的GTX_COMMON模块产生后再接到IP核的方式,问题解决。



全文完。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
专注网络与交换领域的FPGA实现和芯片化,如TSN、TTE等
推荐文章
最近访客
人体第一道防线是什么 经常喝蜂蜜水有什么好处和坏处 公招是什么意思 胃肠蠕动慢吃什么药 吃什么蔬菜对眼睛好
男生做爱什么感觉 呼吸道感染用什么药 胃胀气有什么症状 强劲的动物是什么生肖 老年人吃什么钙片补钙好
百合什么时候种 哺乳期感冒吃什么药不影响哺乳 p是什么意思医学 什么手组词 M3什么意思
眼睛发胀是什么原因 戴芬是什么药 尤甚是什么意思 欧盟是什么 轩字属于五行属什么
为什么肚子老是胀气hcv8jop2ns7r.cn 无语凝噎是什么意思hcv8jop3ns5r.cn 巴戟天为什么要抽芯hcv9jop5ns0r.cn 宫颈糜烂是什么hcv8jop0ns0r.cn 蠓虫叮咬后涂什么药膏hcv8jop5ns0r.cn
郡肝是什么部位hcv9jop8ns1r.cn 68年属什么生肖多少岁hcv9jop4ns4r.cn 荔枝有什么寓意naasee.com s和m是什么意思hcv8jop7ns0r.cn 柠檬吃多了有什么坏处hcv8jop4ns1r.cn
经血颜色淡是什么原因hcv7jop4ns8r.cn 血红蛋白低吃什么药hcv9jop7ns3r.cn 梦见刺猬是什么意思hcv9jop6ns6r.cn 九月一号是什么节日1949doufunao.com 小蜜蜂是什么牌子hcv8jop5ns9r.cn
看书有什么好处hcv9jop7ns3r.cn 什么牌子洗发水好tiangongnft.com 心跳过缓是什么原因造成的hcv8jop5ns4r.cn 为什么青蛙跳的比树高hcv8jop7ns9r.cn 人加三笔是什么字imcecn.com
百度