vivado Versal 串行 I/O 硬件调试流程、使用 Vivado Serial I/O Analyzer 来调试设计

本文主要是介绍vivado Versal 串行 I/O 硬件调试流程、使用 Vivado Serial I/O Analyzer 来调试设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Versal 串行 I/O 硬件调试流程
Versal ACAP 无需再生成 IBERT IP 因为使用系统内串行 I/O 调试所需的必要逻辑现已集成到 GTY 收发器架构内。使
GTY 收发器的任何设计均可用于串行 I/O 硬件调试。 Versal 串行 I/O 硬件调试流程具有 2 个不同阶段
1. 设计创建 自定义并生成使用器件 GTY 收发器的设计 这通常是使用 Versal ACAP Transceivers Wizard 来完成
的。
2. 串行 I/O 分析阶段 使用 Vivado ® 硬件管理器与设计中的 GTY 收发器进行交互 以对高速串行 I/O 链路中的问题
进行调试和验证。
在硬件中调试串行 I/O 设计
实现 IBERT 核后 您可使用运行时串行 I/O 分析器功能来对硬件中的设计进行调试。仅限 IBERT v3.0 版本和更高版
本才能使用串行 I/O 分析器功能来访问。
使用 Vivado Serial I/O Analyzer 来调试设计
Vivado ® Serial I/O Analyzer 功能用于与设计中的 IBERT 调试 IP 核进行交互。要访问 Vivado Serial I/O Analyzer
请单击 Flow Navigator 的“编程和调试”部分中的“ Open Hardware Manager ”按钮。
对硬件中的设计进行调试的步骤如下
1. 连接到硬件目标并使用比特文件对 FPGA 进行编程。
2. 创建链路。
3. 修改链路设置并检验状态。
4. 按需运行扫描。
连接至硬件目标并执行器件编程
在调试前对 FPGA ACAP 执行编程的步骤与“对 FPGA ACAP 进行编程”中所述步骤完全相同。使用包含 IBERT
核的 .pdi 文件完成器件编程后 “硬件 (Hardware) ”窗口就会显示 IBERT 核的组件 并在其右侧括号内显示扫描器
件时检测到的 RTL 实例名称 如下图所示
重要提示 如果在您的设计中为 UltraScale UltraScale+ 设计使用了 In-System IBERT IP 那么您将在
Hardware ”窗口中看到检测到的 In-System IBERT 核。
创建链路和链路组
设计中存在的 IBERT 核会显示在“硬件 (Hardware) ”窗口中的目标器件下。如果未显示此核 请右键单击器件并选中
Refresh Hardware ”命令。这样将重新扫描 FPGA 并刷新“ Hardware ”窗口。
注释 如果编程和 / 或刷新 FPGA 器件后仍未显示 IBERT 请检查并确保已使用正确的 .bit 文件完成了器件编程。此
请检查并确保已实现的设计包含 IBERT v3.0 核。
Vivado Serial I/O Analyzer 功能是围绕链路概念构建的。链路是开发板上通道的模拟链路 具有发射器和接收器。发射
器和接收器可能采用相同或不同 GT 、位于相同或不同器件上或者采用相同或不同架构。由于链路必须同时与发射器和
接收器关联 因此不支持将外部模式生成器连接到单一 GT 接收器。要创建 1 条或多条链路 请转至 Vivado 中的
Links ”选项卡 并单击“ Create Links ”按钮 或者右键单击并选择“ Create Links ”。这将显示“创建链路 (Create
Links) ”对话框 如下图所示。
检测到 IBERT 核时 硬件管理器会发现不存在任何链路 并在顶部显示绿色条幅。请单击“ Create Links ”以打开对话
如下图所示。
从可用列表中选择 TX / RX 。或者在搜索字段中输入字符串以缩小列表范围。然后单击“ + 添加 按钮 以将
链路添加到列表中。针对所有目标链路重复此过程。
重要提示 任一给定 TX RX 端点只能属于单一链路。
链路还可包含在链路组中。默认情况下 所有新链路都分组在一起。您可通过取消选中“ Create link group ”来避免将
链路添加到同一组中。链路组名称可在“链路组描述 (Link group description) ”字段中指定。

这篇关于vivado Versal 串行 I/O 硬件调试流程、使用 Vivado Serial I/O Analyzer 来调试设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud