【vivado】 IBERT GT收发器误码率测试

news2025/1/12 13:17:17

一、前言

IBERT(Integrated Bit Error Ratio Tester),集成误码率测试仪。作为用户来说可以使用这个工具对自己设计的板子中的高速串行收发器进行简单测试,从而判断设计的接口是否有问题。因为这个工具是直接集成到FPGA上,这样一来直接使用这个工具来测试高速接口就方便很多了,它只需要JTAG和测试接口用的连接线就能完成对板子的测试。

二、IBERT配置

使用ibrt时主要时例化时对各个参数进行配置,本节将顺应IP的配置顺序对各个配置参数进行介绍。在对4个配置页面进行介绍之前,先对component name进行说明,这个就是ip的定义名字,可以有字母数字下划线组合而成,下划线不能再最前面。

2.1 协议定义

协议是线速/数据宽度/参考时钟速率的组合。一个 IBERT 内核最多可以定义三个协议,并且可以将任意数量的可用 Quad 指定为定义的任何协议。

Silicon Version:选择“常规 ES/产品”或“初始 ES”按钮以匹配目标芯片,这两者的区别暂时还没弄清楚,一般来说使用过程中默认选第一个。

Number of Protocols:选择协议的数量, 一个IBERT 最多可定义三个协议。

Protocol:在Protocol框中,选择自定义(custom)或其他预定义协议。如果为自定义,需要在linerate框中输入线速率(如果超出允许的范围,则线速率以红色文本显示)。

LianRate(Gbps):线速率,单位为吉比特每秒。可以根据要求选择自定义值,也可以从预先提供的行业标准协议(例如,CPRI、™千兆以太网或 XAUI)中进行选择。

DataWith:选择数据的位宽。

refclk(Mhz):参考时钟频率,单位为兆赫兹。GT收发器的参考时钟。

Quad Count:再参考时钟频率下运行的Quad数量。一个Quad对应四个channel。

Quad PLL:Quad的时钟单元,默认情况下,Quad PLL 处于选中状态。要改为选择 CPLL,可以取消选中 QPLL 复选框。Xilinx建议在高于 6.5 Gb/s 的线速率下使用 QPLL,可以为 0.6 Gb/s 至 6.5 Gb/s 范围内的每个线速选择 QPLL或者CPLL。

2.2 协议选择

GTH location:将显示器件/封装组合中可用的Quad。

Protocol Selected:将要测的Quad分配给特定协议。

Refclk Selection:参考时钟输入的合法选择列在 REFCLK 选择组合中,这里需要结合原理图确定是选择MGTREFCLK0还是MGTREFCLK1,以及是否选择相邻的南北两个Quad的参考时钟作为本Quad的参考时钟。

TXUSRCLK Source:将 Quad 分配给协议后,将启用 TXUSRCLK 驱动源组合会被使能。TXUSRCLK 在 Quad 中的所有四个通道之间共享,因此需要确认组合中 TXOUTCLK 中的哪一个通道应用于用户时钟。

2.3 Clock Settings

Add RXOUTCLK Probes:如果需要,接收器时钟探头使能功能可从任何串行收发器中提取恢复的时钟。启用后,会出现一个新面板,可以在其中填写串行收发器源和探针标准。在“时钟设置”选项卡中,单击“添加RXOUTCLK探头”,Quad lane0 驱动输出引脚或引脚对。需要从列表中选择 I/O 标准并分配有效的引脚位置。

Systom clock:IBERT内核需要一个自由运行的系统时钟,用于通信和内核中包含的其他逻辑。选择 I/O 标准、有效引脚位置和频率以完成系统时钟设置。或者,也可以选择任何启用的Quad参考时钟。为了使内核正常工作,当FPGA配置为IBERT内核设计时,该系统时钟源必须保持工作和稳定。如果系统时钟的运行速度超过150 MHz,则会使用混合模式时钟管理器(MMCM)在内部对其进行分频,以满足时序限制。xilinx推荐选择外部时钟源来驱动系统时钟 。

注:在我自己的使用过程中选择了一个Quad的参考时钟作为系统,结果在vivado hardware 下始终不会出现IBERT,导致无法观测误码率,最终选择板上晶振作为IBERT时钟IBERT才被探测到,而后发现最初为其选择参考时钟为系统的哪个Quad则是无法link上。因此如Xilinx的推荐一样,最好选择外部时钟源来驱动IBERT的系统时钟。

2.4 Summary

回顾总结之前配置的内容。

三、IBRT使用

在完成好IP的设置之后,可以在工程下看到综合好的IP模块,单击右键点击open IP example design即可获得基于该IP生成的示例工程。直接生成比特然后下载到板子上即可。

工程下载完成后,在vivado hardware manager中便会显示IBRT的内容,下下方也会出现serial I/O Links以及serial I/O Scans页面,在IBERT上右键创建Links或者直接在serial I/O Links点击+号添加links。

3.1 serial I/O Links

在serial I/O Links页面中可以看见详细的链路信息。

Status:链路传输速率,如果为建链成功会显示No Link,建链不成功多半时时钟不对,以及PCB的问题。.当检查器连续五个周期接收到没有错误的数据时,就会断言LINK信号(显示线速率)。如果 LINK 信号被置位,并且检查器连续收到五个带有数据错误的周期,则 LINK 信号将被取消置位(显示No Link)。

Bits:探测到的比特数量。

Error:错误的比特数量。

BER:误码率,bit error ratio。

Reset:如果更改了serial I/O Links中的某些配置,需要reset下一重新进行检测。

TX/RX Pattern:测试时的伪随机码(PRBS),接收端需要校验发送端发送的数据是否正确的来计算误码率,故需要Tx和Rx的伪随机码一致。

TX Pre-Cursor:TX 预加重,用于改善信号传输质量的参数,可以修改参数获取最优质量链路。

TX Post-Cursor:TX后加重,用于改善信号传输质量的参数,可以修改参数获取最优质量链路。

TX Diff Swing:用于改善信号传输质量的参数,可以修改参数获取最优质量链路。

DFE Enabled:收发器的Rx接收端的均衡器的使能信号,勾选有利补偿信号在信道传输中的损失。

Inject Error:可以在测试过程中注入错误,可以模拟真实情况下有可能遇到的各种影响。

TX/RX Reset:发送端和接收端各自单独的复位。

RX/TX PLL Status:显示locked即表示可以进行测试,如果显示其他则说明对应的参考时钟设置或参考时钟的管脚约束有问题,需要重新设置。

Loopback Mode:主要五个选项,分为近端、远端的PCS和近端、远端PMA回环,以及none。如果选择none,则Tx端的码流将会输出,根据自行外部连接线再输入到Rx端去,选择外部连接一定要注意连接情况。

3.2 serial I/O Scans

serial I/O Scans用来生成GT链路的眼图,可以在serial I/O Links页面中右键添加scan以产生眼图,也可以在serial I/O Scans页面添加。

眼图的横坐标为-0.5到0.5,表示一个数据的数字周期。

除了单次查看眼图判断信道质量,还可以选择sweep的方式来设置多组不同的参数生成眼图的方式,这样就可以获取最佳预加重参数,这样一来在此后的接口设计当中就可以使用到这样的一组参数,以此提供信号传输的质量。

四、参考资料

xilinx pg152:Integrated Bit Error Ratio Tester 7 Series GTH Transceivers v3.0

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

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

相关文章

搜索引擎的设计与实现(三)

目录 5 系统详细实现 5.1实现环境配置 5.2功能实现 5.2.1 建立索引 5.2.2 文件搜索实现 5.2.3 数据库的连接配置 5.2.4 数据库搜索实现 5.2.5 后台数据编辑实现 前面内容请移步 搜索引擎的设计与实现(二) 免费源代码&毕业设计论文 搜索…

vaspkit 画 Charge-Density Difference

(echo 314;echo $(cat 1))|vaspkit 文件1提前写好使用的CHGCAR路径 SPIN_DW.vasp ../ML2scf/SPIN_DW.vasp ../ML1scf/SPIN_DW.vasp POSite and negative 默认为blue,and 青色 (RGB 30 245 245) 正值:blue 。负值:青色 RGB 30 245 245。 提示&…

(四十二)第 6 章 树和二叉树(树的二叉链表(孩子-兄弟)存储)

1. 背景说明 2. 示例代码 1) errorRecord.h // 记录错误宏定义头文件#ifndef ERROR_RECORD_H #define ERROR_RECORD_H#include <stdio.h> #include <string.h> #include <stdint.h>// 从文件路径中提取文件名 #define FILE_NAME(X) strrchr(X, \\) ? strrch…

Nodejs笔记2

模块化 模块化初体验 模块暴露数据 导入模块 fs 写绝对路径 require写相对路径不会受到影响 ./../不能省略 js 和json文件后缀可以省略 如果存在 命名相同的js和json文件&#xff0c;优先导入js文件 导入文件夹时的情况 require导入模块的基本流程 commonJS模块…

大数据可视化实验(四):Excel数据可视化

目录 一、实验目的... 1 二、实验环境... 1 三、实验内容... 1 1&#xff09;excel函数应用.. 1 2&#xff09;数据透视图绘制... 3 四、总结与心得体会... 5 一、实验目的 1&#xff09;掌握函数和公式的原理 2&#xff09;掌握在单元格或编辑栏中直接输入带函数的公式…

react18【系列实用教程】react-router-dom —— 路由管理 (2024最新版)

类似 vue-router 安装 npm i react-router-domreact-router 中包含 native 的开发&#xff0c;仅网站开发&#xff0c;使用更轻量的 react-router-dom 即可 路由模式 history 模式需要后端支持&#xff0c;使用 createBrowserRouter 函数实现hash 模式无需后端支持&#xff0c;…

TypeScript学习日志-第二十六天(weakMap,weakSet,set,map)

weakMap,weakSet,set,map 一、set set 的基本用法如下&#xff1a; 二、map map 与 set 的 区别 就是 map 的 key 可以是引用类型 object array , map 的添加时使用 set 三、weakmap weakset weakmap和weakset 都是弱项 弱引用 其键必须是引用类型&#xff0c;不能是其它类…

RT Thread + CLion环境搭建

RT Thread CLion环境搭建 0.前言一、准备工具1. Env RT Thread v5.12.CLion安装3.编译及下载工具 二、新建Env工程三、CLion配置四、运行测试 0.前言 事情的起因是最近在使用RT Thread Studio时&#xff0c;发现默认的 rtt 内核版本及交叉编译链版本都过于陈旧&#xff0c;于…

【基本数据结构】链表

文章目录 前言链表简介头节点与尾节点特性 分类单向链表双向链表循环链表 单链表基本操作定义并初始化单链表读取节点插入节点删除节点修改节点 参考资料写在最后 前言 本系列专注更新基本数据结构&#xff0c;现有以下文章&#xff1a; 【算法与数据结构】数组. 【算法与数…

软件工程期末复习(6)需求分析的任务

需求分析 需求分析的任务 “建造一个软件系统的最困难的部分是决定要建造什么……没有别的工作在做错时会如此影响最终系统&#xff0c;没有别的工作比以后矫正更困难。” —— Fred Brooks 需求难以建立的原因&#x…

CAN模块开发问题概述

问题一 问题描述 工作环境&#xff1a;ECU外接canoe 操作&#xff1a;使用CANoe模拟发送NM报文&#xff0c;然后停发或者断开CANoe 现象&#xff1a;程序跑死&#xff0c;调用call stack查看压栈情况如下图所示 定位代码如下图所示。可见是由于CAN模块在设置Controller状态时…

tomcat--目录结构和文件组成

目录结构 目录说明bin服务启动&#xff0c;停止等相关程序和文件conf配置文件lib库目录logs日志记录webapps应用程序&#xff0c;应用部署目录workjsp编译后的结果文件&#xff0c;建议提前预热访问 /usr/local/apache-tomcat-8.5.100/work/Catalina/localhost/ROOT/org/apac…

[笔试训练](二十二)064:添加字符065:数组变换066:装箱问题

目录 064:添加字符 065:数组变换 066:装箱问题 064:添加字符 添加字符_牛客笔试题_牛客网 (nowcoder.com) 题目&#xff1a; 题解&#xff1a; 枚举所有A&#xff0c;B字符串可能的对应位置&#xff0c;得出对应位置不同字符数量的最小情况 两字符串的字符数量差n-m&…

Hadoop 3.4.0+HBase2.5.8+ZooKeeper3.8.4+Hive+Sqoop 分布式高可用集群部署安装 大数据系列二

创建服务器,参考 虚拟机创建服务器 节点名字节点IP系统版本master11192.168.50.11centos 8.5slave12192.168.50.12centos 8.5slave13192.168.50.13centos 8.5 1 下载组件 Hadoop:官网地址 Hbase:官网地址 ZooKeeper:官网下载 Hive:官网下载 Sqoop:官网下载 为方便同学…

【已解决】力扣打不开

表现&#xff1a; 1.访问国内其他网站都没有问题 2.访问github也能成功 3.wifi没有问题 4.连接同网络的其他主机能打开 唯独力扣打不开&#xff0c;可能是DNS解析错误 》自己网络配置问题 解决办法【亲测可行】 找可用的hosts 打开站长之家&#xff0c;进行DNS查询&#xff…

FreeRTOS事件标志组

目录 一、事件标志组的概念 1、事件标志位 2、事件标志组 二、事件标志组相关API 1、创建事件标志组 2、设置事件标志位 3、清除事件标志位 4、等待事件标志位 三、事件标志组实操 1、实验需求 2、CubeMX配置 3、代码实现 一、事件标志组的概念 1、事件标志位 表…

128.Mit6.S081-实验1-Xv6 and Unix utilities(下)

今天我们继续实验一接下来的内容。 一、pingpong(难度easy) 1.需求 编写一个程序&#xff0c;使用 UNIX 系统调用通过一对管道(每个方向一个管道)在两个进程之间 "ping-pong" 传递一个字节。父进程应该向子进程发送一个字节; 子进程应该打印<pid>: received p…

短视频语音合成:成都鼎茂宏升文化传媒公司

短视频语音合成&#xff1a;技术革新与创意融合的新篇章 随着科技的飞速发展&#xff0c;短视频已经成为人们生活中不可或缺的一部分。在这个快速变化的时代&#xff0c;短视频语音合成技术正逐渐崭露头角&#xff0c;以其独特的魅力和广泛的应用前景&#xff0c;吸引了众多创…

R语言:ROC分析

> install.packages("pROC") > library(pROC) > inputFile"结果.txt" > rtread.table(inputFile, headerT, sep"\t", check.namesF, row.names1) > head(rt) con treat TCGA-E2-A1L7-11A-con…

6. 第K小的和-二分

6.第K小的和 - 蓝桥云课 (lanqiao.cn) #include <bits/stdc.h> #define int long long #define endl \n using namespace std; int n,m,k,an[100005],bm[100005]; int check(int x){int res0;//序列C中<x的数的个数for(int i0;i<n;i){//遍历数组A&#xff0c;对于每…