首页/文章/ 详情

Verisium Debug推出Verisium Debug App Store

3天前浏览11

本文翻译转载于:Cadence Blog

作者:Rich Chang

Cadence 统一调试平台 Verisium Debug 提供多种调试功能,如 RTL 调试、UVM 仿真平台调试、UPF 调试、DMS 调试等。从 IP 到 SoC 级调试,用户可以利用丰富的调试功能来缩短调试时间。

Verisium Debug 不仅提供常用和高级调试功能,还采用基于 Python 的接口 API,可供用户自定义函数,从设计、波形数据库访问,并将相应的功能添加到 Verisium Debug 的 GUI 中,实现可视化效果。借助 Verisium Debug Python API,用户还可以将重复性工作自动化,或利用 Verisium Debug 完善的基础架构,减少创建内部实用程序所需的工作量。

下面是用户如何使用 Python API 创建自定义函数的示例。用户可以编写 Python 程序,提取特定设计范围内的信号并报告提取的信号值。图 1 展示了遍历的整体流程。

  1. 在 Verisium Debug 包中导入 Python 库。

  2. 设置数据库以进行遍历。

  3. 使用设计数据库中的层次结构信息搜索范围。

  4. 查询信号列表和信号值。

  5. 打印结果。

           

图 1. Verisium Debug Python 程序流程图


Verisium Debug Python App 的结果可用于后处理设计检查或反馈给设计流程中的其他实用程序。

这个概念非常简单。启用 Verisium Debug 和 Python API 环境后,便可轻松查询存储在 Verisium Debug 数据库中的任何信息。查询结果能够以文本格式输出,也可以通过 API 在 Verisium Debug 的 GUI 中显示。

Verisium Debug Python API 是 Verisium Debug 用户的重要功能和资源。为了提高 Verisium Debug Python API 的易用性,从 Verisium Debug 24.10 版本开始,后续版本均引入了全新的 Verisium Debug Python App Store。


           

图 2. Verisium Debug App Store


Python App Store 包含即用型 Python App 示例以及原始源代码文档,可帮助用户了解如何开始编写适合其用例的应用程序。


           

图 3. Verisium Debug App Store 中的应用示例


Verisium Debug Python App Store 还可作为团队的应用管理系统。应用创建者可以在公司内部的团队之间共享开发的应用。这些内部创建的应用易于管理,工程师可以从中心位置轻松访问,用户也能在 Verisium Debug App Store 中找到新版可用的 Verisium Debug App。   

来源:Cadence楷登
SystemUGpythonUMCadence
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-10-26
最近编辑:3天前
Cadence楷登
签名征集中
获赞 1粉丝 107文章 630课程 0
点赞
收藏
作者推荐

解析 PCIe 6.0 中的正交头内容 (OHC)

本文翻译转载于:Cadence Blog作者:Igor Krause简介在引入 Flit 模式后,TLP Header 中的信息进行了重新调整。除基本包头外,还可以将正交头内容 (OHC) 添加到 TLP 中。OHC 作为 TLP 的额外包头,包含 TLP 类型所需的信息字段。OHC 背景介绍OHC 有多种类型,TLP 包中的每种 OHC 都包含一组特定的信息。对于特定的 TLP 类型,发射器必须包含相应的 OHC 内容。TLP Header 可能包含任意 OHC 内容组合。如果存在 OHC,OHC 必须在 Header Base 之后,并按照 A-B-C-E 顺序依次排布。所包含 OHC 的数量和类型由 TLP Header 第一个 DW 中的 OHC 字段指示。一个 TLP Header 最多可包含 7 个 OHC。 OHC[4:0] 字段指示“正交头内容”(OHC) 的存在,其编码如下:0 0000b = 不存在 OHCx xxx1b = 存在 OHC-Ax xx1xb = 存在 OHC-Bx x1xxb = 存在 OHC-C0 0xxxb = 不存在 OHC-E0 1xxxb = 存在 OHC-E11 0xxxb = 存在 OHC-E21 1xxxb = 存在 OHC-E4OHC 类型 – 适配场景OHC-A1如果请求需要 OHC-A1 中的任何字段,则必须包含 OHC-A1。这种 OHC 适用于包含具体 Byte Enable(字节支持)和/或 PASID 的内存请求、包含 PASID 的地址路由消息以及包含 PASID 转换请求的路由到根复合体消息。对于所有内存请求,允许存在 OHC-A1(参见图 2-7)。如果内存请求中不存在 OHC-A1,且请求长度大于或等于 2 DW,第一个和最后一个 DW Byte Enable 字段的值都必须处理为 1111b。如果请求需要的 Byte Enable 字段值不是这些值,则必须存在 OHC-A1。如果存在 OHC-A1,当且仅当设置 PV 位后,PASID、PMR 和 ER 字段才有效。 OHC-A2所有 I/O 请求都必须包含 OHC-A2。 OHC-A3所有配置请求都必须包含 OHC-A3。 OHC-A4当需要 Destination Segment 或 PASID 时,ID 路由消息中必须包含 OHC-A4。 OHC-A对于 Unsuccessful Completion(不成功的填写)、Lower Address[1:0] 不等于 00b 的 Non-UIO Completion(非 UIO 填写),以及由于相关未发布请求包含与填写人获取的字段不匹配的 Requester Segment 而需要填写 Destination Segment 的填写,都需要 OHC-A5。如果不存在 OHC-A5,意味着填写状态为成功,无需明确指示 Completer Segment 和 Destination Segment,并且对于 Non-UIO Completion,Lower Address[1:0] = 00b。 OHC-B当使用 TLP 处理提示 (TPH) 时,必须包含 OHC-B 以及适当的 PH 和 ST 值。 OHC-CIDE TLP 必须包含 OHC-C。在某些情况下,如果要指示 Requester Segment,Non-IDE Request TLP 还必须包含 OHC-C。 OHC-E先前存在于端到端前缀中的信息现在作为 OHC-E 纳入 TLP Header 中。OHC-E 传达原本使用 E-E 前缀 0011 至 1111 的内容。 OHC 验证挑战和解决方案OHC 为 TLP Header 的组织调整引入了新的规则。TLP Header 大小不仅取决于 TLP 类型,还与包含的 OHC 数量有关。一些功能现在需要特定的 OHC,例如完整性和数据加密 (IDE) 以及进程地址空间 ID (PASID)。在包头末尾可以轻松检测到端到端前缀。需要对该解决方案进行验证,检查何时包含 OHC,是否违反了使用规则。此外,还需检查 OHC 字段里的内容和基础 TLP Header 上的字段。实施者需要了解所有可能包含在 TLP 包中的 OHC,并充分掌握每种 OHC 的使用规则。 来源:Cadence楷登

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈