"); //--> 肝的功能是什么| 一九六八年属什么生肖| 中国的四大发明是什么| 站点是什么意思| 豆角长什么样| 排场是什么意思| 产妇喝什么汤下奶最快最多| 猫的眼睛为什么会发光| 实属什么意思| 氰化钠是什么| 黄水晶五行属什么| 扁桃体溃疡吃什么药| jumper是什么衣服| 吃什么药头脑立刻清醒| 气血亏虚什么症状| 什么叫做犯太岁| dd是什么意思| 睡觉磨牙什么原因| 深是什么生肖| toryburch什么牌子| 龙和什么生肖相冲| 心悸是什么意思| 直肠炎吃什么药最好| 阴阳两虚是什么症状| 什么水果降火| 吃什么补白蛋白最快最好| 空调外机不出水是什么原因| 松树的叶子像什么| 师夷长技以制夷是什么意思| 赤豆是什么豆| 眼睛里有红血丝是什么原因| 白糖和冰糖有什么区别| 双肺纹理增粗是什么意思| 两极分化是什么意思| 什么叫菩提| 地藏经适合什么人念| 宫颈纳氏囊肿是什么意思严重吗| 恶寒发热是什么意思| 血糖高什么原因| 备孕期间要注意什么| 五道杠是什么牌子| 助听器什么品牌最好| 0n是什么意思| 哔哩哔哩会员有什么用| 挚友是什么意思| 得了乙肝有什么症状| 什么是射精| 且行且珍惜是什么意思| 令人唏嘘是什么意思| pmi是什么| 什么的动作| 医院红色手环代表什么| 润肺吃什么| 小针刀是什么| 肠易激综合征吃什么药好| 世界上最坚硬的东西是什么| 右眼跳什么意思| 女性得乙肝有什么症状| 身体缺镁会有什么症状| 麻鸭是什么鸭| pa66是什么材料| 什么秒必争| 什么颜色的包包招财并聚财| hpy什么意思| 星五行属性是什么| 小孩老放屁是什么原因| 铊是什么东西| 喜人是什么意思| 房间消毒杀菌用什么好| 鸿运当头是什么意思| 五行属性是什么| 金银花为什么叫忍冬| 长焦镜头是什么意思| 固本培元什么意思| ed50是什么意思| crh是什么意思| 画饼充饥是什么意思| trans什么意思| 梦见坐飞机是什么预兆| 好哒是什么意思| hpv通过什么传播| cdc是什么意思| ena是什么检查项目| 乳酸杆菌大量是什么意思| 眼皮跳是什么原因| 月色真美什么意思| 黄精是什么药材| 什么食物利尿| 什么时候有胎心胎芽| 肺结核是什么原因引起的| 气管炎的症状吃什么药好得快| 颈椎挂什么科| 紧急避孕药吃了有什么副作用| 午餐肉炒什么菜好吃| 94年是什么命| 44岁属什么| 梦见自己鞋子破了是什么意思| 为什么老是犯困想睡觉| 分母是什么意思| 牙髓炎是什么原因引起的| 基因检测是什么意思| 白羊女跟什么星座最配| 海带排骨汤海带什么时候放| 什么程度才需要做胃镜| 艮什么意思| 尿潜血是什么原因| autumn什么意思| 浮瓜沉李什么意思| 常吃猪油有什么好处和坏处| 迪桑特属于什么档次| 五心烦热吃什么药| 高压高低压低是什么原因| 介质是什么意思| 肝脏低密度灶什么意思| 什么人入什么| 女性外痔擦什么药膏好| 百香果什么时候成熟| 魔鬼城是什么地貌| 四个金读什么| 喝什么茶最减肥| 脱肛是什么症状| 白痰咳嗽用什么药最好| 淋巴结发炎吃什么药| 簸箕是什么意思| 女内分泌检查什么项目| 喜筵和喜宴是什么意思| 血肿是什么意思| 20属什么生肖| 部队班长是什么军衔| 重阳节是什么意思| 女生为什么会喷水| 戒烟吃什么药| 地瓜是什么| 什么应什么合| 女人纵欲过度会有什么症状| 堆堆袜是什么| 高危型hpv52阳性是什么意思| 高血压三级是什么意思| 蚊子不喜欢什么味道| icd医学上是什么意思| 鳝鱼吃什么食物| 舌头变肥大什么原因| 车震是什么| 杏色配什么颜色最洋气| 常吃山药有什么好处和坏处| 老年痴呆症又叫什么名字| 小孩咳嗽吃什么药效果最好| 口干口臭什么原因引起的| 吃什么去湿气最快最有效| 羊鞭是什么| 孕妇喝咖啡有什么危害| 1907年属什么生肖| pacu是什么意思| 手抖是什么原因| 三聚磷酸钠是什么| gypsophila什么意思| 什么军官可以随身配枪| 往返是什么意思| 地区和市有什么区别| 胃在什么位置图片| 樱桃跟车厘子有什么区别| 脑筋急转弯什么东西越洗越脏| 怀孕建档是什么意思| 糖尿病不能吃什么水果| 花椒什么时候传入中国| 为什么拉的屎是黑色的| 肝内低回声区是什么意思| 姨妈不正常是什么原因| development是什么意思| 孩子拉肚子吃什么食物好| 红颜什么意思| 婴儿采足底血是查什么| 父母都是o型血孩子是什么血型| 0什么意思| m是什么品牌| 四级警长是什么级别| 摆谱是什么意思| 人工肝是什么意思| 胃肠道感冒吃什么药| 得意忘形什么意思| 梦见炒菜是什么意思| 菜园里有什么菜| 妍什么意思| 胸外科主要看什么病| 熟地黄有什么功效| 肝火旺失眠吃什么药| 宫腔镜是检查什么的| cva医学上是什么意思| 高血压饮食上注意什么| 孕妇喝咖啡有什么危害| 梦到结婚是什么预兆| 脑胀是什么原因| 多囊卵巢综合症吃什么药| 青海是什么省| 8.23是什么星座| 什么颜色加什么颜色等于橙色| 怀孕为什么要吃叶酸| 冷萃是什么意思| 杆菌是什么意思| 脚心疼痛是什么原因引起的| 去威海玩需要准备什么| 什么运动使人脸部年轻| 超导体是什么| 车加失读什么| 眼角下面长斑是什么原因引起的| 碱性磷酸酶低是什么原因| 刺猬为什么叫白仙| 韭菜什么时候种| 三个土念什么| vogue是什么牌子| 什么叫肠化| 手指疼挂什么科| 看腋下挂什么科| 十月八号是什么星座| 男性尿道炎是什么原因引起的| 脸很黄是什么原因| 梦到死人了有什么兆头| 鱼香肉丝为什么没有鱼| gfr是什么意思| 什么叫肌酸激酶| 2002年属什么| 心胸狭窄是什么意思| 血管瘤是什么症状| 李知恩为什么叫iu| 一热就头疼是什么原因| 第一胎打掉会有什么影响| 梦见买白菜是什么意思| 腿无力是什么原因| 分拣员是做什么的| 尿酸为什么会高| 尿胆红素2十是什么意思| 白蛋白是什么| 宝宝拉黑色大便是什么原因| 脚真菌感染用什么药最好| 离宅是什么意思| 是什么意思啊| 平身是什么意思| 地黄长什么样子图| 马云属什么| 看心理医生挂什么科| 还愿有什么讲究| 人为什么会焦虑| 扫墓是什么意思| 肠炎吃什么药| 古灵精怪是什么意思| 猫咪取什么名字好听| 小孩记忆力差需要补充什么营养| 香砂是什么| ceremony是什么意思| 短效避孕药什么牌子好| 笑什么| 类风湿性关节炎的症状是什么| 易经是什么| 1030是什么星座| 空调室内机漏水是什么原因| 封闭是什么意思| 不遗余力的遗是什么意思| 海凉粉是什么做的| 掉头发缺什么维生素| 为什么说秦始皇还活着| 巨蟹座是什么星象| AMY医学上是什么意思| 按摩有什么好处| 窦性心律过速是什么意思| 百度
新闻  |   论坛  |   博客  |   在线研讨会
高速串行接口与GTXE_COMMON / GTXE_CHANNEL 问题汇总
FPGA小师兄 | 2025-08-04 11:19:44    阅读:4147   发布文章

在调试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等
推荐文章
最近访客
ibd是什么意思 风属于五行属什么 中药学专业学什么 血脂查什么项目 兆后面是什么单位
榴莲树长什么样子图片 3.21什么星座 木白念什么 ra是什么病 又什么又什么的什么
什么是黄体破裂 rps是什么 甲状腺炎是什么引起的 掮客是什么意思 会厌炎是什么病
人经常放屁是什么原因 经血粉红色是什么原因 省长什么级别 早搏有什么危害 姐夫的爸爸叫什么
翼字五行属什么kuyehao.com 左手有点麻是什么原因jingluanji.com 副科级是什么级别0297y7.com 健胃消食片什么时候吃hcv8jop9ns5r.cn 眉毛少是什么原因520myf.com
百香果配什么好喝hcv9jop6ns0r.cn 心如刀割是什么意思hcv9jop6ns3r.cn 流产吃什么药hcv8jop3ns2r.cn 三焦是什么器官hcv9jop1ns7r.cn 乌冬面是什么做的hcv8jop6ns0r.cn
crp是什么检查项目hcv8jop2ns6r.cn 全虫是什么中药hcv8jop0ns6r.cn 死猪不怕开水烫是什么意思hcv7jop6ns6r.cn 什么叫职业年金hcv9jop4ns0r.cn 马非读什么hcv9jop4ns1r.cn
皮赘是什么hcv9jop5ns5r.cn 下腹部胀是什么原因hcv9jop4ns2r.cn 血光之灾是什么意思hcv8jop6ns6r.cn 眼角有眼屎是什么原因0735v.com 梦见飞机是什么意思hcv8jop0ns2r.cn
百度