KC705开发板——MGT IBERT测试记录

本文介绍使用KC705开发板进行MGT的IBERT测试。

KC705开发板

KC705开发板的图片如下图所示。FPGA芯片型号为XC7K325T-2FFG900C。
在这里插入图片描述

MGT

MGT是 Multi-Gigabit Transceiver的缩写,是Multi-Gigabit Serializer/Deserializer (SERDES)的别称。MGT包含GTP、GTX、GTH、GTZ、GTY、GTM。在Kintex-7系列FPGA只有GTX。
根据UG810中介绍,KC705上引出的16个GTX收发器分别是

  1. Eight of the GTX transceivers are wired to the PCI Express® x8 endpoint edge connector (P1) fingers
  2. Four of the GTX transceivers are wired to the FMC HPC connector (J22)
  3. One GTX is wired to the FMC LPC connector (J2)
  4. One GTX is wired to SMA connectors (RX: J17, J18 TX: J19, J20)
  5. One GTX is wired to the SFP/SFP+ Module connector (P5)
  6. One GTX is used for the SGMII connection to the Ethernet PHY (U37)

7系列FPGA中的GTX收发器分为四个通道,称为Quad。某Quad的参考时钟可以来源于上一个Quad或下一个Quad。KC705板上有4个GTX Quad,具体连接如下表所示:

Transceiver BankAssociated Net NameConnections
MGT_BANK_115GTXE2_CHANNEL_X0Y0PCIe7
GTXE2_CHANNEL_X0Y1PCIe6
GTXE2_CHANNEL_X0Y2PCIe5
GTXE2_CHANNEL_X0Y3PCIe4
MGTREFCLK0N/C
MGTREFCLK1PCIe_CLK
MGT_BANK_116GTXE2_CHANNEL_X0Y4PCIe3
GTXE2_CHANNEL_X0Y5PCIe2
GTXE2_CHANNEL_X0Y6PCIe1
GTXE2_CHANNEL_X0Y7PCIe0
MGTREFCLK0Si5326
MGTREFCLK1FMC LPC GBT_CLK0
MGT_BANK_117GTXE2_CHANNEL_X0Y8SMA
GTXE2_CHANNEL_X0Y9SGMII
GTXE2_CHANNEL_X0Y10SFP/SFP+
GTXE2_CHANNEL_X0Y11FMC LPC DP0
MGTREFCLK0SGMII_CLK
MGTREFCLK1SMA_CLK
MGT_BANK_118GTXE2_CHANNEL_X0Y12FMC HPC DP0
GTXE2_CHANNEL_X0Y13FMC HPC DP1
GTXE2_CHANNEL_X0Y14FMC HPC DP2
GTXE2_CHANNEL_X0Y15FMC HPC DP3
MGTREFCLK0FMC HPC GBT_CLK0
MGTREFCLK1FMC HPC GBT_CLK1

时钟

KC705板载的时钟源有以下几个

1. System Clock Source

系统时钟源为2.5V LVDS差分200 MHz振荡器,SYSCLK_P——AD12,SYSCLK_N——AD11。
在这里插入图片描述

2. Programmable User Clock Source

可编程用户时钟源为低抖动3.3V差分振荡器Si570,USER_CLOCK_P——K28, USER_CLOCK_N——K29。上电默认输出频率为156.250 MHz,可通过I2C接口在10MHz~810 MHz范围内调整输出频率。
在这里插入图片描述

3. User SMA Clock Input

连接关系:
USER_SMA_CLOCK_P ——L25,USER_SMA_CLOCK_N——K25。
在这里插入图片描述

4. GTX SMA Clock Input

连接关系:
SMA_MGT_REFCLK_P——J8,SMA_REFCLK_N——J7,其连接至Bank 117 MGT参考时钟1。
在这里插入图片描述

5. Jitter Attenuated Clock

连接关系:
REC_CLOCK_C_P——W27,REC_CLOCK_C_N——W28。
SI5326_OUT_C_P——L8,SI5326_OUT_C_N——L7,连接至Bank 116 MGT参考时钟0。
SI5326_RST——SI5326_RST_LS——AE20。
在这里插入图片描述

6. SGMII GTX Transceiver Clock

ICS844021I为一个倍频系数固定为5的芯片,故在此处其输出为125 MHz LVDS差分时钟。
连接关系:SGMIICLK_Q0_P——G8,SGMIICLK_Q0_N——G7,连接至Bank 117 MGT参考时钟0。

在这里插入图片描述

IBERT IP核

Protocol Definition

在这里插入图片描述
在Protocol为Custom1时,线速率LineRate、数据位宽DataWidth、参考时钟频率Refclk可自行指定。Quad Count取决于待测试的GTX是否位于同一个Bank。勾选Quad PLL则该Quad内的GTX共用一个QPLL,不勾选则不同GTX使用不同的CPLL。QPLL和CPLL的关系示意图如下。
在这里插入图片描述

Protocol Selection

在这里插入图片描述

根据待测试的GT所位于的Bank号设置Protocol Selected。参考时钟Refclk可以来自于本Quad或上一个Quad或下一个Quad的参考时钟输入。在前面勾选Quad PLL的情况下,TXUSERCLK Source可以任意设置。

Clock Settings

在这里插入图片描述
系统时钟System Clock可以选择前面所设置的GT参考时钟,也可以选择外部参考时钟。

生成IP核示例工程

在这里插入图片描述
右击IP核后,点击Open IP Example Design生成工程。

注意事项

生成IP核示例工程后,查看综合后的Schematic和I/O Ports确认。
在这里插入图片描述
此时修改该工程中的IBERT IP核的GT参考时钟和系统时钟时,引脚分配是不会发生改变的。

SMA回环测试

根据前面的介绍,接下来进行KC705的GT测试。KC705上的J17和J66、J19和J20分别连接了Quad 117的GT的接收通道和发送通道。使用SMA连接线将J17与J19相连,J66与J20相连。
在这里插入图片描述
生成并下载Bitstream,点击Auto-detect links,即可看到测试结果。
在这里插入图片描述
链路测试所用的回环方式一共有4种,分别是
在这里插入图片描述
该4种方式在通信链路中对应的位置示意图如下。
在这里插入图片描述
点击Serial I/O Scans中的Create Scan创建扫描。
在这里插入图片描述
扫描后得到如下结果。
在这里插入图片描述

SFP+回环测试

使用如图所示的回环器,插到KC705开发板上的SFP/SFP+连接器上。
在这里插入图片描述
注意到SPF/SFP+所连接的GT收发器是X0Y10。

Transceiver BankAssociated Net NameConnections
MGT_BANK_117GTXE2_CHANNEL_X0Y8SMA
GTXE2_CHANNEL_X0Y9SGMII
GTXE2_CHANNEL_X0Y10SFP/SFP+
GTXE2_CHANNEL_X0Y11FMC LPC DP0
MGTREFCLK0SGMII_CLK
MGTREFCLK1SMA_CLK

再做一个MGT参考时钟的实验。方法是从其他博主那里学到的。
即是将SI570默认输出的156.250MHz的差分时钟输入(引脚为K28和K29);
通过USER_SMA_CLOCK(引脚为L25和K25,SMA头为J11和J12)输出;
然后通过SMA连接线接到SMA_MGT_REFCLK(Bank 117的参考时钟1,引脚为J8和J7,SMA头为J16和J15)。
此时需要更改IBERT IP核中GTX的参考时钟频率和来源,同时该SFP+回环器最高支持10 Gbps,于是我们也将线速率设置为10 Gbps。具体设置如下图所示。
在这里插入图片描述
在这里插入图片描述
接下来,重新生成IBERT IP核示例工程。
在示例工程的顶层文件中,添加如下代码。

input USER_CLOCK_P,
input USER_CLOCK_N,
output USER_SMA_CLOCK_P,
output USER_SMA_CLOCK_N,wire user_clock;
IBUFGDS u_user_clock(.I(USER_CLOCK_P),.IB(USER_CLOCK_N),.O(user_clock));wire user_clock_bufg;
BUFG u_BUFG_sysclk (.O(user_clock_bufg),.I(user_clock)
);OBUFDS u_OBUFDS_sysclk (.O (USER_SMA_CLOCK_P),      .OB(USER_SMA_CLOCK_N), .I (user_clock_bufg)  
);

同时在xdc文件中,添加时钟约束和引脚约束。

create_clock -name user_clock -period 6.4 [get_ports USER_CLOCK_P]
create_clock -name user_sma_clock -period 6.4 [get_ports USER_SMA_CLOCK_P]
set_property PACKAGE_PIN K28 [get_ports USER_CLOCK_P]
set_property IOSTANDARD LVDS_25 [get_ports USER_CLOCK_P]
set_property PACKAGE_PIN L25 [get_ports USER_SMA_CLOCK_P]
set_property IOSTANDARD LVDS_25 [get_ports USER_SMA_CLOCK_P]

综合后得到额外的RTL电路为。
在这里插入图片描述

生成并下载Bitstream,链路正常锁定,得到链路测试结果如下。
在这里插入图片描述
眼图扫描结果如下。
在这里插入图片描述

参考资料

  1. kc705_Schematic_xtp132_rev1_1.pdf
  2. xtp200-kc705-ibert-c-2014-3.pdf
  3. ug810_KC705_Eval_Bd.pdf
  4. ug811_ChipScopeUsingIBERTwithAnalyzer.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/68272.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Calico IP In IP模拟组网

Calico IP In IP模拟组网 网络架构 模拟组网 先在k8s-master-1节点执行如下命令: # 创建veth-pair设备对ip link add veth1 type veth peer name eth0# 创建ns1网络命名空间ip netns add ns1# 将eth0网卡插入ns1网络命名空间ip link set eth0 netns ns1# 为ns1网…

CC-TDOB01 CC-TDIL01 有效地监控和管理热工设备

CC-TDOB01 CC-TDIL01 有效地监控和管理热工设备 新兴的互联工厂技术是霍尼韦尔启动其43的亮点注册营养师霍尼韦尔用户组(HUG)美洲研讨会,重点是向制造商展示数字化转型如何帮助他们实现更高水平的高性能。 来自石油和天然气、化工、纸浆和造纸以及金属和采矿行业的…

全国唯一一所初试考Java的学校!平均300分拿下

苏州科技大学 考研难度(☆) 内容:23考情概况(拟录取和复试分析)、院校概况、23专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文1187字,预计阅读:3分钟 2023考情概况 苏州科技…

大数据组件Sqoop-安装与验证

🥇🥇【大数据学习记录篇】-持续更新中~🥇🥇 个人主页:beixi 本文章收录于专栏(点击传送):【大数据学习】 💓💓持续更新中,感谢各位前辈朋友们支持…

19-springcloud(上)

一 微服务架构进化论 单体应用阶段 (夫妻摊位) 在互联网发展的初期,用户数量少,一般网站的流量也很少,但硬件成本较高。因此,一般的企业会将所有的功能都集成在一起开发一个单体应用,然后将该单体应用部署到一台服务器…

实现Android APK瘦身99.99%

摘要: 如何瘦身是 APK 的重要优化技术。APK 在安装和更新时都需要经过网络下载到设备,APK 越小,用户体验越好。本文作者通过对 APK 内在机制的详细解析,给出了对 APK 各组成成分的优化方法及技术,并实现了一个基本 APK…

【PyGame/PyQy5】get-start 快速入门

1.windows、linux,mac 安装python3 2.PC系统安装pygame, 指令:pip install pygame 3. 保存如下文件: test_game.py 4.PC上运行 python test_game.py import pygame# 初始化Pygame pygame.init()# 创建游戏窗口 window pygame.display.s…

语言深入理解指针(非常详细)(三)

目录 数组名的理解使用指针访问数组 一维数组传参的本质二级指针指针数组指针数组模拟二维数组 数组名的理解 在上⼀个章节我们在使用指针访问数组的内容时,有这样的代码: int arr[10] {1,2,3,4,5,6,7,8,9,10}; int *p &arr[0];这里我们使用 &am…

史上最全PMP学习资料、项目管理资料、备考经验包,3A一次通过

你是否也有过类似的经历? 为了获取备考资料,有的同学在论坛、知乎或者相关垂直类网站下载了很多的资料,这些资料大部分是机构进行获客引流的资料,没有真正的干货。 经常会看到10G、20G的资料包,感觉内容很丰富&#xf…

【LeetCode算法系列题解】第51~55题

CONTENTS LeetCode 51. N 皇后(困难)LeetCode 52. N 皇后 II(困难)LeetCode 53. 最大子序和(中等)LeetCode 54. 螺旋矩阵(中等)LeetCode 55. 跳跃游戏(中等) …

智慧电力系统

智慧电力系统依托电易云-智慧电力物联网,将人工智能技术、物联网技术与电力行业相结合,通过数据的收集、分析和应用,实现电力资源精准调度、安全稳定运行、智能管理的全过程解决方案。 智慧电力系统的核心理念是将科技与能源紧密结合&#x…

pycharm创建的虚拟环境为什么用conda env list命令查询不到?

问题描述:pycharm创建的虚拟环境为什么用conda env list命令查询不到。 pycharm开发环境可以创建虚拟环境,目的是为隔绝其他环境种库带来的版本干扰,但是发现一个问题,无论是在windows终端、anaconda终端、Pycharm开发环境中的终…

【Spring】SpringBoot的10个参数验证技巧

这里写目录标题 前言1.使用验证注解2 使用自定义验证注解3 在服务器端验证4 提供有意义的错误信息5 将 i18n 用于错误消息messages.properties6 使用分组验证7 对复杂逻辑使用跨域验证8 对验证错误使用异常处理9 测试你的验证逻辑10 考虑客户端验证总结 前言 参数验证很重要&am…

第一次做接口测试用例

一、简介 在开始接口测试之前,我们想一下,接口测试的流程是什么?说到这里,有些人就会产生好奇和疑问,心里mmp:接口测试要什么流程哈???不就是参考接口文档,直…

如何通过构建遥感光谱反射信号与地表参数之间的关系模型来准确估算植被参数?植被参数光学遥感反演方法(Python)及遥感与生态模型数据同化算法

目录 专题一 植被参数遥感反演理论 专题二 植被叶片及冠层反射率模拟与处理 专题三 植被遥感模型参数敏感性分析 专题四 基于查找表(LUT)方法反演植被参数 专题五 基于优化算法反演植被参数 专题六 基于机器学习反演植被参数 专题七 遥感数据同化理论 专题八 同化遥感反…

MASM32编程状态栏显示字符动画,按钮跑马灯

一、需求分析 由于sysInfo扫描的内容比较多,打算为它增加一点动画效果,提醒用户程序正在运行,耐心等待。 二、构建测试窗口 测试窗口上放置有一个按钮,按钮上的初始文字是“开始扫描”;并使用状态栏,状态…

视频垂直镜像播放,为您的影片带来新鲜感

大家好!在制作视频时,我们常常希望能够给观众带来一些新鲜感和独特的视觉效果。而垂直镜像播放是一个能够让您的影片与众不同的技巧。然而,传统的视频剪辑软件往往无法直接实现视频的垂直镜像播放,给我们带来了一些困扰。现在&…

基于Python的IOS自动化测试环境搭建

文章目录 一、测试架构介绍1.1 WebDriverAgent原理分析1.2 tidevice原理分析二、环境安装2.1 iOS 设备安装 WebDriverAgent2.2 安装iTunes2.3 安装tidevice2.4 安装facebook-wda自动化三、操作流程四、Weditor的安装和使用一、测试架构介绍 以下为测试架构原理图 手机端的WDA…

QT C++ 基于TCP通信的网络聊天室

一、基本原理及流程 1&#xff09;知识回顾&#xff08;C语言中的TCP流程&#xff09; 2&#xff09;QT中的服务器端/客户端的操作流程 二、代码实现 1&#xff09;服务器 .ui .pro 在pro文件中添加network库 .h #ifndef WIDGET_H #define WIDGET_H#include <QWidget>…

危险边缘:揭示 Python 编程中易被忽视的四个安全陷阱

今天我们将要谈论一个非常重要的话题&#xff1a;Python 编程中的安全问题。作为一门广受欢迎的编程语言&#xff0c;Python 已经成为了许多开发者、计算机专业学生以及打工人的必备技能。 原文链接食用更佳 危险边缘&#xff1a;揭示 Python 编程中易被忽视的四个安全问题 然…