0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

提高复杂串行协议的调试效率

星星科技指导员 来源:synopsys 作者:synopsys 2023-05-26 11:23 次阅读

调试复杂的串行协议是验证工程师面临的最大挑战。这是影响每个项目进度的最耗费时间和精力的活动之一。传统的调试方法使用松散连接的波形、日志文件、消息和文档的组合,这不足以进行高效的调试。使用日志文件调试 SoC 和块级问题既繁琐又耗时。在开发周期的后期阶段出现的设计问题可能极难跟踪和调试,从而使项目进度面临风险。

有没有办法简化调试过程和性能?如果可以查看数据包和交易而不是信号,不是更容易吗?在这篇博客中,我们将讨论用户在调试复杂协议时面临的一些挑战;并重点介绍基于 GUI 的事务调试解决方案,该解决方案既简单又快速。.我们将以USB为例,讨论复杂的功能,调试挑战和相应的解决方案。

让我们看一下USB 3.0协议的复杂性及其相应的调试挑战。USB 3.0 协议指定主机通过交换以下类型的信令和数据包来控制与设备的通信

链接命令数据包

链路命令用于链路级数据完整性、流量控制和链路电源管理。这些数据包具有八个符号的固定长度,重复以增加容错能力。仅使用波形中的串行信号很难识别这些符号的模式。

协议命令数据包

首先,主机启动多个传输,如批量、中断、常时等量和中断。每次转账都有多个事务 - 设置、状态、传入和传出。根据类型,每个事务都有 TP(事务数据包)和 DP(数据包)的必要数据包组合。使用许多类型的TP,如ACK,NRDY,ERDY,STALL,PING等。然后,主机为多个设备地址和端点号启动这些数据包。对于调试,检查这些数据包的适当顺序在波形中是一项艰巨的任务。

低频周期信令 (LFPS)

LFPS 用于在“低功耗链路状态”下通过链路的两个端口之间进行边带通信。当链路正在训练中,或者当下游端口发出“热重置”以重置链路时,也会使用它。LFPS 功能涉及链路速度协商、退出低功耗状态和链路复位。识别波形中传输信号的时序具有挑战性。

还有其他挑战,例如:

USB 还定义了由单个事务组成的软件级传输。

USB 允许数据包突发,并且确认是流水线的,这使得查找与任何事务对应的响应数据包变得更加困难。

总线上不同端点的流量启动和交错数据包使得很难找到与端点对应的流量。

波形能否为这些验证挑战提供快速解决方案?我们需要知道总线上发生了什么来调试问题。波形将仅显示总线上的序列化数据包,手动解码所有串行数据以获取所需的数据包/事务/传输详细信息非常复杂。幸运的是,Verdi 协议分析器已被证明是一种简单有效的调试方法,可将生产力提高数倍。

Verdi 协议分析器按总线上发生的顺序显示分层事务活动,如下面的快照所示。选择相应的父传输时,所有链接的事务和数据包都会突出显示。

poYBAGRwJaCAXsUrAAI_0px5Lvc786.png

Verdi 协议分析器为用户提供了传输、事务、数据包和协议握手的图形视图。它突出显示了整个层次结构之间的关系,直观地揭示了高度交错流量的复杂行为。对错误、警告和消息进行注释,以快速识别模拟中的问题。它使用户能够快速了解协议活动、识别瓶颈并调试意外行为。

我们已经描述了一些调试挑战,以及Verdi协议分析器如何帮助快速轻松地解决这些问题。有关更多详细信息,请阅读我们最近的白皮书 - “调试基于 IIP 的设计和 SoC 的简单方法:使用 Verdi 事务调试平台”。本白皮书介绍了使用 Verdi 事务调试平台(包括协议分析仪、波形查看器、源代码浏览器)使用“实时仿真数据”进行调试的概念,并通过常见 USB 验证挑战的示例演示了易用性和省时功能。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • usb
    usb
    +关注

    关注

    60

    文章

    7890

    浏览量

    263953
  • 分析器
    +关注

    关注

    0

    文章

    92

    浏览量

    12486
  • GUI
    GUI
    +关注

    关注

    3

    文章

    648

    浏览量

    39535
收藏 人收藏

    评论

    相关推荐

    使用泰克混合信号示波器 调试混合信号嵌入式设计

    使用串行协议,如I2C和SPI,以简化电路板上系统模块之间的通信。这些串行协议可以降低布线的复杂性,但传统示波器一直很难
    发表于 11-26 09:56

    基于FPGA的通用高速串行互连协议设计

    基于FPGA的通用高速串行互连协议设计基于FPGA的通用高速串行互连协议设计
    发表于 08-11 15:46

    协议转换网关支持OPC UA及SNMP协议

    转SNMP OPC UA网关可以带来很多好处。它可以提高不同系统之间的数据交互能力,从而实现更加集中管理和控制。通过将多种协议转换为通用的SNMP OPC UA协议,可以降低系统的复杂
    发表于 10-09 19:52

    提高数字调试效率的技巧

    本文将讨论几种技巧,帮助您在处理快速边沿影响和间歇性问题时提高数字调试阶段的效率
    发表于 08-06 08:32 28次下载

    高效的串行通信协议的制定及实现

    探讨了一种基于串行通信的简单、高效的通信协议制定方法。实验结果证明,该协议有效提高串行通信的通信效率
    发表于 12-03 17:22 18次下载
    高效的<b class='flag-5'>串行</b>通信<b class='flag-5'>协议</b>的制定及实现

    泰克升级抖动测量软件,增强串行总线调试能力

    全球示波器市场的领导厂商---泰克公司日前宣布,其正着力简化串行总线测试复杂度---考虑到目前串行总线标准变得更快和更复杂调试已成为一个主
    发表于 07-06 17:45 922次阅读

    基于FPGA的通用高速串行互连协议设计

    基于FPGA的通用高速串行互连协议设计。
    发表于 05-11 09:46 18次下载

    有助于提高FPGA调试效率的技术与问题分析

    本文重点介绍在调试FPGA系统时遇到的问题及有助于提高调试效率的技术,针对Altera和Xilinx的FPGA调试提供了最新的方法和工具。
    的头像 发表于 11-28 08:43 2486次阅读
    有助于<b class='flag-5'>提高</b>FPGA<b class='flag-5'>调试</b><b class='flag-5'>效率</b>的技术与问题分析

    消息协议如何提高数据传输的可靠性

    串行端口是PIC与其他设备通信的最简单方法之一。但是,事件串行端口存在缺陷,因此在本教程中,我们将了解消息协议如何提高数据传输的可靠性。
    的头像 发表于 08-01 16:48 3169次阅读

    GreenPAK 串行调试器快速入门指南

    GreenPAK 串行调试器快速入门指南
    发表于 01-12 18:39 0次下载
    GreenPAK <b class='flag-5'>串行</b><b class='flag-5'>调试</b>器快速入门指南

    GreenPAK 串行调试器用户手册

    GreenPAK 串行调试器用户手册
    发表于 01-12 18:39 0次下载
    GreenPAK <b class='flag-5'>串行</b><b class='flag-5'>调试</b>器用户手册

    调试您的WiFi项目 仅通过串行

    电子发烧友网站提供《调试您的WiFi项目 仅通过串行.zip》资料免费下载
    发表于 06-20 09:18 1次下载
    <b class='flag-5'>调试</b>您的WiFi项目 仅通过<b class='flag-5'>串行</b>

    GreenPAK 串行调试器快速入门指南

    GreenPAK 串行调试器快速入门指南
    发表于 06-30 20:58 1次下载
    GreenPAK <b class='flag-5'>串行</b><b class='flag-5'>调试</b>器快速入门指南

    GreenPAK 串行调试器用户手册

    GreenPAK 串行调试器用户手册
    发表于 06-30 20:58 0次下载
    GreenPAK <b class='flag-5'>串行</b><b class='flag-5'>调试</b>器用户手册

    [电源调试分享]-调试温升及效率问题

    [电源调试分享]-调试温升及效率问题【应用】小家电【规格】12V1.5A【问题描述】:①效率较低,②温度较高,③切载时电压跳动此效率图为原样
    的头像 发表于 11-20 01:02 49次阅读
    [电源<b class='flag-5'>调试</b>分享]-<b class='flag-5'>调试</b>温升及<b class='flag-5'>效率</b>问题