FPGA---7系列之IBERT_GTX内外环测试

2024-08-31 08:58
文章标签 系列 测试 fpga 内外 gtx ibert

本文主要是介绍FPGA---7系列之IBERT_GTX内外环测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、概述

IBERT(集成误码率测试仪)是xilinx为7系列FPGA GTX收发器设计的,用于评估和监控GTX收发器。IBERT包括在FPGA逻辑中实现的模式生成器和检查器,以及对端口的访问和GTX收发器的动态重新配置端口属性,还包括通信逻辑,以允许设计在运行时通过JTAG进行访问。

IBERT工具用于对Xilinx FPGA芯片的高速串行收发器进行板级硬件测试。通过IBERT可以获取误码率,观察眼图,调节串行收发器的参数,从而有助于判断可能存在的问题,便于验证硬件的稳定性和信号完整性。

二、测试原理

GTX接收和发送方向均由PMA和PCS两部分组成,PCS提供丰富的物理编码层特性,如8b10b编码、时钟校准等功能,PMA部分为模拟电路,提供高性能的串行接口特性,如预加重、均衡等功能。GTX同时还提供动态配置接口,用于动态的修改GTX的配置。

图片         IBERT 工具的环回模式有近端PCS环回测试(路径①),数据流仅通过近端GTX的PCS部分,可用于验证近端GTX中PCS收发双向的设置;近端PMA环回测试(路径②,数据流通过近端GTX的PCS、PMA,可用于验证近端GTX收发双向的设置;远端PMA环回测试(路径③),数据流通过近端GTX的PCS和PMA,远端的GTX的PMA部分,通过两个GTX之间的物理连线,验证两个GTX之间物理联系的可靠性,以及验证两个GTX的PMA部分设置的正确性;远端PCS环回测试(路径④)验证近端收发器和远端收发器的通信状况;以及None无环回模式即通过外部连接发送和接收。

远端PCS或PMA环回测试时板卡下载IBERT核生成的bit文件,通过两个通道上的Tx和Rx接口互相连接,其中一个通道上的模式设置为Far_End_PMA或Far_End_PCS模式,另一个通道设置为默认的None模式并监测误码率。

Vivado中IBERT默认模式为None模式,收发器通过外部连线由外部环回进行自收自发而实现。可将同一组收发器的TX和RX进行短接,在RX接收端接收TX发送的数据后,通过比对发送和接收的数据,从而得出接收端误码的统计值。

三、测试过程

1、器件支持速率说明

GTP , GTX , GTH都是串行收发器,区别在速率不一样,在不同的器件中叫的名字不同而已,由于在vivado创建工程时选择对应的器件型号,使用IBERT时会自动根据器件型号检查所选的线速是否在器件支持的线速范围以内。

在示例中使用器件型号为xc7z030ffg676-2,在数据手册中根据7系列-2的速度等级和FF封装可查到该器件GTX的数据率范围为0.5~10.3125G,因此在测试的过程测试速率应在此范围内。(参考文档DS182)

2、IBERT IP核配置

(1)首先打开vivado,新建工程后从IP Catalog找到IBERT并双击打开;

图片
(2)IBERT测试协议选择Custom1,GTX参考时钟选择频率为125MHz,在配置的过程中,Refclk可选的频率是由LineRate决定,由于在板卡上Refclk已固定为125MHz,因此测试所选择的线速应支持125MHz的参考时钟。(以4G线速为例)

图片
(3)在开发板中,差分时钟与MGTREFCLK0112连接,因此参考时钟选择MGTREFCLK0112。

图片
(4)将GTX输入的125MHz的时钟同时作为IBERT内部逻辑的工作时钟,这样就可以不使用额外的外部时钟。

(5)配置结束后点击OK

图片
(6)完成配置后,右击打开exampledesign工程

图片
(7)打开exampledesign工程后,经过Synthese、Implementation,生成bit文件即可进行烧录。

3、测试

(1)近端PCS或PMA环回测试(Near-End PCS/PMA loopback)

无需外部连线,烧录成功后,在Serial I/O Links窗口创建连接,将同1个GTX中同一个通道的TX和RX建立link。(也可以选择auto-detectlinks)

图片

图片

建立link后,若链路中连续五个数据传输成功,则认为链路连通,否则为未连通。在serial I/O link最右端的loopback mode选择近端PCS(或PMA)环回模式,在改变模式时可能会出现误码,需要点击reset重新监测。

图片
经过一段时间测试, Errors的数值一直为0,表明测试过程中没有出现误码,说明板级层面的GTX硬件工作稳定。

图片
眼图可以更直观的观察GTX的信号完整性,右键所连接的link,选择create scan,便可以生成眼图。

在Serial I/O link窗口中,errors为误码个数,BER为误码率,在reset之后,errors和BER会恢复为0重新统计,通常在改变其他的参数后可能会出现少量的误码,此时需要reset后重新统计误码。TX Pre-Cursor和TX Post-Cursor为预加重和后加重,TX Diff Swing为摆幅,RX Pattern和TX Pattern为输入、输出数据类型,提供不同位宽的伪随机码、慢时钟(101010……)和快时钟(11111111110000000000……),需要注意的是输入和输出的数据类型应设置为同一种类型,Loopback Mode为环回模式,默认为None无环回模式,Near-End PCS为近端PCS环回模式,Near-End PMA为近端PMA环回模式,Far-End PCS为远端PCS环回模式,Far-End PMA为远端PMA环回模式。若信号传输质量不够理想,可以通过在serial I/O link的参数设置进行调整,再重新扫描眼图查看是否有改善。

为了测试GTX四个通道的误码率,创建多个links,对四个通道都进行近端环回测试

图片
(2)远端PMA环回测试(Far-End PMA loopback)

在一个板卡上烧录ibert生成的bit文件,将其中两个通道的Tx和Rx接口互连,一个通道设置为Far-EndPMA模式,另一个通道设置为None模式并监测误码情况和眼图。

图片
创建对应连接的link并查看误码率和眼图

图片
(3)远端PCS环回测试(Far-End PCS loopback)

在一个板卡上烧录ibert生成的bit文件,将其中两个通道的Tx和Rx接口互连,一个通道设置为Far-End PCS模式,另一个通道设置为None模式并监测误码情况和眼图。

图片
创建对应连接的link并查看误码率和眼图

图片图片

(4)None模式的测试方式

板卡下载IBERT核生成的bit文件,然后将同一通道的Tx与Rx接口连接起来,环回模式设置为None,实现自发自收。

图片

图片

四、总结

通过环回和开环方式的误码率测试,可判断出存在的问题以及测试出板卡实际支持的速率。IBERT可在运行过程中设置高速串行收发通道的各项参数,并提供了多种环回模式及多种测试激励源,并可通过自动扫描测试,确定收发的最佳参数。可以满足硬件测试时对高速串行收发通道信号测试的大部分需求,在故障定位等场合均可使用。

这篇关于FPGA---7系列之IBERT_GTX内外环测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1123449

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(