WO2014026600A1 - 一种片上系统芯片追踪调试的方法及装置 - Google Patents

一种片上系统芯片追踪调试的方法及装置 Download PDF

Info

Publication number
WO2014026600A1
WO2014026600A1 PCT/CN2013/081409 CN2013081409W WO2014026600A1 WO 2014026600 A1 WO2014026600 A1 WO 2014026600A1 CN 2013081409 W CN2013081409 W CN 2013081409W WO 2014026600 A1 WO2014026600 A1 WO 2014026600A1
Authority
WO
WIPO (PCT)
Prior art keywords
chip
data processing
read
module
tracking
Prior art date
Application number
PCT/CN2013/081409
Other languages
English (en)
French (fr)
Inventor
董亮
吴枫
陈月强
王喜瑜
曾献君
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2014026600A1 publication Critical patent/WO2014026600A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing

Abstract

本发明公开了一种片上系统芯片追踪调试的方法及装置,包括:采集数据处理模块与芯片总线之间的读请求信号、读完成信号的发送时间信息,和/或写请求信号、写完成信号的发送时间;将采集的发送时间信息作为追踪调试数据保存;分析所述追踪调试数据,判断所述数据处理模块工作是否正常,如果正常则结束;如果不正常则确定发生问题的原因。本发明通过记录数据处理模块的相关读写操作的时间,实时追踪整个数据处理过程,不但可以了解模块内部逻辑的运行状态,同时还能了解SOC芯片内部总线的拥堵状况;几乎不增加原有系统处理的任何开销;通过分析整个数据处理的过程,能够快速准确地定位问题,减轻了设计和测试人员的工作量,提高了调试工作的效率。

Description

一种片上系统芯片追踪调试的方法及装置 技术领域
本发明涉及通讯领域,特别是涉及一种片上系统( SOC, System On Chip ) 芯片追踪调试的方法及装置。 背景技术
目前,通信 SOC芯片的规模越来越大,除包含常规的 DSP( Digital Signal Processing, 数字信号处理 )核或 CPU ( Central Processing Unit, 中央处理 器)核之外, 集成进去的硬件功能模块也越来越多, 相应的设计与调试的 复杂度也随之增加。
通常, 对于这种大规模的 SOC芯片, 任何一家公司都很难全部自己设 计, 一般都会结合 IP ( Intellectual Property, 知识产权)授权的方式购买一 部分模块,而其他功能模块进行定制化的专门设计。对于这样的 SOC芯片, 其中通过购买的 IP模块, 例如 DSP核或者 CPU核, 一般都自带 IDE ( Integrated Development Environment, 集成开发环境)调试工具, 具有较 为完备的手段可以追踪 DSP核与 CPU核的故障(例如软件跑飞、运行超时 等)。 其中, 软件跑飞是指系统受到某种干扰后, 软件程序计数器的值偏离 了给定的唯一变化历程, 导致软件程序运行偏离正常的运行路径。 但对于 SOC 芯片内自行设计的硬件功能模块来说, 如果也像专业芯片厂商那样开 发一套完整的 IDE工具则成本太高, 只能通过其他的手段来追踪调试、 定 位问题。
由于 SOC芯片硬件功能模块的输入输出通常都是芯片内部信号, 所以 不能用示波器或者逻辑分析仪来对信号进行实时追踪和查看。 另外这些信 号通常数据量非常大, 在调试时也不适合将其信号波形通过工具进行实时 导出分析。 对于 SOC芯片内部数据处理模块的追踪调试, 传统的做法都是 在数据处理模块的内部添加一些探测点; 或者从数据处理模块内部引出一 些特定的状态指示信号; 再或者给模块内部添加一个类似示波器功能的模 块, 在满足特定触发条件时, 对需要观测的信号进行采样。 但是, 这些方 法都普遍存在一些缺点和不足, 比如加入的探测点或者状态指示信号对原 有系统的运行存在一定的影响, 会增加原有设计的难度或者降低原有设计 的处理效率; 另外, 探测点和状态指示信号的输出比较抽象, 需要了解模 块具体设计才能对具体问题进行分析; 再者, 探测点和状态指示信号在设 计时很难做到完备, 芯片流片之后无法增补, 导致无法准确定位问题。
综上所述, 当前需要一种既不影响原有系统的运行, 又能提供足够多 的信息以便追踪和定位问题的技术方案, 来辅助设计人员对 SOC芯片的模 块进行追踪调试及系统分析。 发明内容
本发明实施例提供一种片上系统芯片追踪调试的方法及装置, 用以至 少解决现有技术中对 SOC芯片的模块进行追踪调试时, 要么影响原有系统 运行, 要么增加原有设计的难度的问题。
为解决上述技术问题, 一方面, 本发明实施例提供一种片上系统芯片 追踪调试的方法, 包括:
采集数据处理模块与芯片总线之间的读请求信号、 读完成信号的发送 时间信息, 和 /或采集数据处理模块与芯片总线之间的写请求信号、 写完成 信号的发送时间; 将采集的所述发送时间信息作为追踪调试数据保存; 分析所述追踪调试数据, 判断所述数据处理模块工作是否正常, 如果 正常则结束; 如果不正常, 则确定发生问题的原因。
优选的, 当所述数据处理模块为多输入多输出的数据处理模块或片上 系统芯片包括多个数据处理模块时, 将所述读请求信号、 读完成信号的身 份标识号码和与所述身份标识对应的发送时间, 和 /或写请求信号、 写完成 信号的身份标识号码和与所述身份标识对应的发送时间一起保存。
优选的, 当所述数据处理模块为多输入多输出的数据处理模块或片上 系统芯片包括多个数据处理模块时, 将数据处理模块与芯片总线之间的读 请求信号、 读完成信号的发送时间, 和 /或写请求信号、 写完成信号的发送 时间按照实际操作时读操作和 /或写操作进行的顺序进行保存。
优选的, 所述分析所述追踪调试数据, 判断所述数据处理模块工作是 否正常, 包括:
用同一次读操作的读完成信号发送时间减去读请求信号发送时间, 得 到该读操作的读操作持续时间;
用同一次写操作的写完成信号发送时间减去写请求信号发送时间, 得 到该写操作的写操作持续时间;
用写操作对应的写请求信号发送时间减去上一次读操作对应的读完成 信号发送时间, 得到数据处理时间;
用所述读操作持续时间、 写操作持续时间或数据处理时间与预先设定 的对应读操作持续时间阈值、 写操作持续时间阈值或数据处理时间阈值进 行比对, 判断所述数据处理模块工作是否正常。
另一方面, 本发明实施例还提供一种片上系统芯片追踪调试的装置, 包括:
追踪模块, 配置为采集数据处理模块与芯片总线之间的读请求信号、 读完成信号的发送时间信息, 和 /或采集数据处理模块与芯片总线之间的写 请求信号、 写完成信号的发送时间; 将采集的所述发送时间信息作为追踪 调试数据保存;
分析模块, 配置为分析所述追踪调试数据, 判断所述数据处理模块工 作是否正常, 如果正常则结束; 如果不正常, 则确定发生问题的原因。
优选的, 当所述数据处理模块为多输入多输出的数据处理模块或片上 系统芯片包括多个数据处理模块时, 所述追踪模块将所述读请求信号、 读 完成信号的身份标识号码和与所述身份标识对应的发送时间, 和 /或写请求 信号、 写完成信号的身份标识号码和与所述身份标识对应的发送时间一起 保存。
优选的, 当所述数据处理模块为多输入多输出的数据处理模块或片上 系统芯片包括多个数据处理模块时, 所述追踪模块将数据处理模块与芯片 总线之间的读请求信号、 读完成信号的发送时间, 和 /或写请求信号、 写完 成信号的发送时间按照实际操作时读操作和 /或写操作进行的顺序进行保存。
优选的, 所述分析模块还包括:
读操作持续时间获取子模块, 配置为用同一次读操作的读完成信号发 送时间减去读请求信号发送时间, 得到该读操作的读操作持续时间;
写操作持续时间获取子模块, 配置为用同一次写操作的写完成信号发 送时间减去写请求信号发送时间 , 得到该写操作的写操作持续时间;
数据处理时间获取子模块, 配置为用写操作对应的写请求信号发送时 间减去上一次读操作对应的读完成信号发送时间, 得到数据处理时间;
比对子模块, 配置为用所述读操作持续时间、 写操作持续时间或数据 处理时间与预先设定的获取读操作持续时间阈值、 写操作持续时间阈值或 数据处理时间阈值进行比对, 判断所述数据处理模块工作是否正常。
优选的, 所述追踪模块为专用集成电路 ASIC 或现场可编程门阵列 FPGA;所述分析模块为个人计算机或片上系统 SOC芯片的嵌入式处理器; 当所述分析模块为个人计算机时, 所述分析模块与追踪模块的接口是串口、 以太网接口或通用串行总线 USB接口;当所述分析模块为嵌入式处理器时, 所述分析模块通过芯片总线访问存储器获取所述追踪调试数据。
优选的, 所述追踪模块通过时钟模块获取读请求信号、 读完成信号和 / 或写请求信号、 写完成信号的发送时间; 所述时钟模块为 SOC芯片的系统 时钟模块, 或者为所述追踪模块的时钟模块; 所述追踪模块将所述追踪调 试数据存储在存储器中, 所述存储器为 SOC芯片内的随机存储器 RAM, 或者是 SOC芯片外的双倍速率同步动态随机存储器 DDR。
本发明实施例有益效果如下:
本发明实施例通过记录数据处理模块的相关读写操作的时间, 实时追 踪整个数据处理过程, 不但可以了解模块内部逻辑的运行状态, 同时还能 了解 SOC芯片内部总线的拥堵状况; 而且只采集数据处理模块的相关读写 操作信号, 且只在输出相关追踪调试数据时会略微占用芯片的总线带宽, 几乎不增加原有系统处理的任何开销; 追踪模块独立于数据处理模块, 当 数据处理模块发生致命错误而复位时, 相关的追踪调试信息已经被追踪模 块保存于系统内存或者系统存储器, 系统复位后依然可以获取这些信息, 不影响调试; 追踪模块可以以系统时钟为基准, 记录每次读写操作的发生 与完成时刻, 以便于分析整个数据处理的过程; 帮助设计及测试人员还原 整个数据处理过程, 以便更快速准确地定位问题, 减轻了设计和测试人员 的工作量, 提高了调试工作的效率。 附图说明
图 1 是本发明实施例中一种 SOC芯片追踪调试的方法的流程图; 图 2是本发明实施例中追踪模块与数据处理模块级芯片总线之间的连 接关系示意图;
图 3 是本发明实施例中多输入多输出数据处理模块与追踪模块的信号 连接关系图;
图 4是本发明实施例中 SOC芯片系统中多个数据处理模块与追踪模块 的信号连接关系图;
图 5 是本发明实施例中一种发送时间信息的保存格式示意图; 图 6是本发明实施例中再一种发送时间信息的保存格式示意图; 图 7是本发明实施例中一种片上系统芯片追踪调试的装置的结构示意 图;
图 8是本发明实施例中追踪模块在 SOC芯片系统中的连接关系示意图; 图 9是本发明实施例中整个追踪调试过程的流程示意图;
图 10是本发明实施例中一种分析模块的结构示意图;
图 11 是本发明具体实施例中 LTE上行比特级处理模块的数据流示意 图;
图 12是本发明具体实施例中追踪调试数据保存格式示意图;
图 13是本发明具体实施例中数据处理模块与追踪模块的信号连接关系 示意图;
图 14是本发明具体实施例中根据追踪调试数据分析模块绘制的数据处 理过程示意图。 具体实施方式
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并不限定本发明。
如图 1所示,本发明实施例涉及一种 SOC芯片追踪调试的方法,包括: 步驟 S101 , 采集数据处理模块与芯片总线之间的读请求信号、 读完成 信号的发送时间信息, 和 /或采集数据处理模块与芯片总线之间的写请求信 号、 写完成信号的发送时间信息; 将采集的所述发送时间信息作为追踪调 试数据保存。
本步驟中, 当数据处理模块读取数据时, 会向总线发出读请求信号, 采集到该读请求信号, 同时从时钟模块获取该读请求信号的发送时间信息, 将该发送时间信息附加在追踪调试数据中, 并将其保存在存储器中。 当数 据处理模块本次读操作完成时, 总线会向数据处理模块发出读完成信号, 采集到该读完成信号, 同时从时钟模块获取该读完成信号的发送时间信息, 将本次读操作完成的发送时间信息附加在追踪调试数据中, 并将其保存在 存储器中。
同理, 当数据处理模块处理完毕, 需要将数据写出时, 会向总线发出 写请求信号, 当写操作完成时,总线也会向数据处理模块发出写完成信号。 在此过程中, 将写请求信号的发送时间信息和写完成信号的发送时间信息 附加在追踪调试数据中, 并保存在存储器中。
以上描述的是单输入单输出的数据处理模块读写操作的情景, 追踪模 块(用于上述采集发送时间信息, 获取上述追踪调试数据) 与其信号连接 关系如图 2所示。 对于单输入单输出的数据处理模块, 每次处理一包数据 只有一次读操作和一次写操作。 而对于更加复杂的多输入多输出的数据处 理模块, 每次处理一包数据包含多次读操作和多次写操作, 追踪模块需要 将这一系列读写操作加上 ID ( IDentity, 身份标识号码)并全部记录下来, 即将读请求信号、 读完成信号的 ID和与该 ID对应的发送时间信息, 和 /或 写请求信号、 写完成信号的 ID和与该 ID对应的发送时间信息一起保存。 多输入多输出数据处理模块与追踪模块的信号连接关系如图 3所示。另外, 如果存在多个数据处理模块需要追踪, 同样, 可以将这些模块的读 /写请求 和读 /写完成信号加上 ID都发送给追踪模块, 连接关系如图 4所示。
追踪模块将记录下来的读写操作 ID及其对应的起始时间和结束时间按 照图 5 的格式保存在存储器中。 另外, 为了进一步减少追踪调试数据的数 据量, 可以直接按照实际处理时所有读写操作的顺序进行保存, 将读写操 作 ID省略, 追踪调试数据中只保留相应的时间信息, 如图 6所示。
步驟 S102, 分析所述追踪调试数据, 判断所述数据处理模块工作是否 正常, 如果正常则结束; 如果不正常, 则确定发生问题的原因。
本步驟中, 获取追踪调试数据后, 按照数据格式逐条解析, 还可以将 该数据信息转换为更加直观的图形输出并显示。 用同一次读操作的读完成 信号发送时间减去读请求信号发送时间, 得到该读操作的读操作持续时间; 用同一次写操作的写完成信号发送时间减去写请求信号发送时间, 得到该 写操作的写操作持续时间; 用写操作对应的写请求信号发送时间减去上一 次读操作对应的读完成信号发送时间, 得到数据处理时间; 这样, 追踪模 块就记录了一个数据包的完整处理过程。 用所述读操作持续时间、 写操作 持续时间或数据处理时间与预先设定的相应读操作持续时间阈值、 写操作 持续时间阈值或数据处理时间阈值进行比对, 判断所述数据处理模块工作 是否正常。 通过分析读写操作的持续时间可以了解芯片总线的拥堵状况; 通过分析数据处理时间可以了解数据处理模块的工作状态是否异常。 其中, 由于数据处理模块是设计者自己开发设计的, 因此, 对于其数据处理流程 非常熟悉, 清楚读操作持续时间、 写操作持续时间或数据处理时间的正常 时间范围, 因此, 可以根据实际经验设置读操作持续时间阈值、 写操作持 续时间阈值或数据处理时间阈值。 另外, 读操作持续时间阈值、 写操作持 续时间阈值或数据处理时间阈值可以设置为一个数值, 也可以设置成一个 范围, 当计算得到的时间值处于范围之内, 则认为工作正常; 否则, 则认 为工作异常。 由于记录了数据处理模块每一条读写操作, 因此, 可以清楚 的判断数据处理模块进行每一次读写操作是否工作正常, 当工作不正常时, 也可以清楚地定位出是哪一次读 /写操作出现了问题, 即, 可以定位故障。
本发明实施例通过对系统总线传输接口信号进行采集以获取需要的追 踪调试数据, 不给原有系统引入额外的处理开销; 再对追踪调试数据进行 分析, 帮助设计及测试人员还原整个数据处理过程, 以便更快速准确地定 位问题, 减轻了设计和测试人员的工作量, 提高了调试工作的效率。
如图 7所示, 本发明实施例还涉及一种实现上述方法的片上系统芯片 追踪调试的装置, 包括:
追踪模块 201 ,配置为采集数据处理模块与芯片总线之间的读请求信号、 读完成信号的发送时间信息, 和 /或采集数据处理模块与芯片总线之间的写 请求信号、 写完成信号的发送时间信息; 将采集的所述发送时间信息作为 追踪调试数据保存; 如图 8所示, SOC芯片系统一般包含嵌入式处理器、 数据处理模块、 存储器、 时钟模块和其他模块等, 追踪模块和上述的嵌入式处理器、 数据 处理模块、 存储器、 时钟模块和其他模块在 SOC芯片系统内通过芯片总线 互联通信。
基于数据包处理的数据处理模块的处理流程一般包括: 数据读入, 数 据处理和数据写出三个基本步驟。其中,在数据读入和数据写出的过程中, 数据处理模块会向总线 (芯片总线)发出读 /写请求信号; 当数据读入和数 据写出操作完成时, 总线会向数据处理模块反馈读 /写完成信号。 追踪模块 就是采集数据处理模块与总线之间的读 /写请求信号、 以及读 /写完成信号作 为追踪调试数据。
具体的, 当数据处理模块读取数据时, 会向总线发出读请求信号, 追 踪模块采集到该读请求信号, 同时向时钟模块发出锁存控制信号, 追踪模 块得到时钟模块的锁存时间信息后, 将本次读操作开始的时间信息附加在 追踪调试数据中, 并将其保存在存储器中。 当数据处理模块本次读操作完 成时, 总线会向数据处理模块发出读完成信号, 追踪模块采集到该读完成 信号, 同时从时钟模块获取时间信息, 将本次读操作完成的时间信息附加 在追踪调试数据中, 并将其保存在存储器中。
同理, 当数据处理模块进行数据处理完毕后, 需要将数据写出时, 会 向总线发出写请求信号; 当写操作完成时, 总线也会向数据处理模块发出 写完成信号。 追踪模块在此过程中, 将写操作的开始时间和完成时间附加 在追踪调试数据中, 并保存在存储器中。
追踪模块可以是 ASIC ( Application Specific Integrated Circuit, 专用集 成电路;), 也可以是由 FPGA ( Field Programmable Gate Array, 现场可编程 门阵列) 实现; 上述时钟模块可以是 SOC芯片的系统时钟模块, 也可以是 追踪模块自带的时钟模块。 使用追踪模块自带的时钟可以根据实际追踪精 度的需要调整时钟模块的频率, 更低的时钟频率可以有效减少追踪调试数 据中时间信息部分的数据量。 上述存储器可以是 SOC 芯片内的 RAM ( Random Access Memory, 随机存储器), 也可以是 SOC芯片外的 DDR ( Double Data Rate synchronous dynamic random access memory,双倍速率同 步动态随机存储器)。
以上描述的是单输入单输出的数据处理模块读写操作的情景, 对于单 输入单输出的数据处理模块, 每次处理一包数据只有一次读操作和一次写 操作。 而对于更加复杂的多输入多输出的数据处理模块, 每次处理一包数 据包含多次读操作和多次写操作 , 追踪模块需要将这一系列读写操作加上 ID并全部记录下来, 即将读请求信号、 读完成信号的 ID和与该 ID对应的 发送时间信息, 和 /或写请求信号、 写完成信号的 ID和和与该 ID对应的发 送时间信息一起保存。 另外,如果存在多个数据处理模块需要追踪, 同样, 可以将这些模块的读 /写请求和读 /写完成信号加上 ID都发送给追踪模块。
追踪模块将记录下来的读写操作 ID及其对应的起始时间和结束时间保 存在存储器中。 另外, 为了进一步减少追踪调试数据的数据量, 可以直接 按照实际处理时所有读写操作的顺序进行保存, 将读写操作 ID省略, 追踪 调试数据中只保留相应的时间信息。
分析模块 202, 配置为分析所述追踪调试数据, 判断所述数据处理模块 工作是否正常, 如果正常则结束; 如果不正常, 则确定发生问题的原因。
分析模块 202从系统存储器读取追踪调试数据, 将追踪调试数据保存 在追踪数据文件中, 并且根据需要还可将追踪数据以图形方式输出。
追踪模块、 分析模块的整个追踪调试过程如图 9所示。 其中, 分析模 块可以是 PC ( Personal Computer, 个人计算机), 还可以是 SOC系统内的 嵌入式处理器。 如果分析模块是 PC, 则它与追踪模块的接口可以是串口、 以太网接口、 USB ( Universal Serial BUS , 通用串行总线)接口等; 如果分 析模块是嵌入式处理器, 则分析模块可以直接通过总线访问存储器获取追 踪调试数据。 如图 10所示, 分析模块 202还包括:
读操作持续时间获取子模块 2021 , 配置为用同一次读操作的读完成信 号发送时间减去读请求信号发送时间, 得到该读操作的读操作持续时间; 写操作持续时间获取子模块 2022, 配置为用同一次写操作的写完成信 号发送时间减去写请求信号发送时间 , 得到该写操作的写操作持续时间; 数据处理时间获取子模块 2023 , 配置为用写操作对应的写请求信号发 送时间减去上一次读操作对应的读完成信号发送时间, 得到数据处理时间; 比对子模块 2024, 配置为用所述读操作持续时间、 写操作持续时间或 数据处理时间与预先设定的对应读操作持续时间阈值、 写操作持续时间阈 值或数据处理时间阈值进行比对, 判断所述数据处理模块工作是否正常。
下面, 以一具体实例进行详细说明。
图 11是 LTE ( Long Term Evolution, 长期演进)上行比特级处理模块 的数据流示意图, 整个数据处理模块分为两个处理单元(处理单元 A、 处 理单元 B ), 是一个多输入多输出的数据处理模块。 根据两路输入和三路输 出的数据流形式, 追踪调试数据可以按照图 12所示的格式存放。 每个数据 包的追踪数据包含该数据包所有数据流的时间记录信息, 对于本实施例来 说, 即数据流 1的读请求、 数据流 1的读完成、 数据流 2的读请求、 数据 流 2的读完成、 数据流 3的写请求、 数据流 3的写完成、 数据流 4的写请 求、 数据流 4的写完成、 数据流 5的写请求、 数据流 5的写完成共计 10个 时间信息记录。
当数据处理模块跑死或处理超时, 很难从模块本身的输出结果获得故 障信息, 可以利用追踪模块进行问题的定位, 具体过程如下:
连接好系统, 数据处理模块与追踪模块的信号连接关系如图 13所示; 系统开始上电工作;
当有数据包需要处理时, 追踪模块按照追踪数据的格式依次锁存数据 流 1到数据流 5的请求时间和完成时间, 并将这些时间信息保存在系统存 储器中事先预定的地址上;
锁存地址自动加一, 下一数据包处理时, 追踪数据存放到系统存储器 的下一位置;
重复以上的过程, 直到数据处理模块追踪调试结束, 或者中途发生处 理超时或者跑死等异常;
追踪调试结束后, 通过 SOC芯片系统接口, 将追踪模块保存在系统存 储器的追踪调试数据输出分析模块, 并保存在文件中;
分析模块对追踪调试数据进行分析比对, 检查各处理环节是否存在问 题。 将追踪调试数据的时间信息作为横坐标, 纵坐标表示不同的数据包, 绘制出形如图 14的数据处理过程示意图, 标识出每个数据流的读写所用时 间和每个数据处理单元的处理时间, 通过对异常数据包的处理时间与正常 处理的参考时间 (预先设置的阈值)进行比对, 可以很快定位处理模块超 时或跑死的问题。
由上述实施例可以看出, 本发明实施例通过记录数据处理模块的相关 读写操作的时间, 实时追踪整个数据处理过程, 不但可以了解模块内部逻 辑的运行状态, 同时还能了解 SOC芯片内部总线的拥堵状况; 而且只采集 数据处理模块的相关读写操作信号, 且只在输出相关追踪调试数据时会略 微占用芯片的总线带宽, 几乎不增加原有系统处理的任何开销; 追踪模块 独立于数据处理模块, 当数据处理模块发生致命错误而复位时, 相关的追 踪调试信息已经被追踪模块保存于系统存储器中, 系统复位后依然可以获 取这些信息, 不影响调试; 追踪模块可以以系统时钟为基准, 记录每次读 写操作的发生与完成时刻, 以便于分析整个数据处理的过程; 帮助设计及 测试人员还原整个数据处理过程, 以便更快速准确地定位问题, 减轻了设 计和测试人员的工作量, 提高了调试工作的效率。
尽管为示例目的, 已经公开了本发明的优选实施例, 本领域的技术人 员将意识到各种改进、 增加和取代也是可能的, 因此, 本发明的范围应当 不限于上述实施例。

Claims

权利要求书
1、 一种片上系统芯片追踪调试的方法, 包括:
采集数据处理模块与芯片总线之间的读请求信号、 读完成信号的发 送时间信息, 和 /或采集数据处理模块与芯片总线之间的写请求信号、 写 完成信号的发送时间; 将采集的所述发送时间信息作为追踪调试数据保 存;
分析所述追踪调试数据, 判断所述数据处理模块工作是否正常, 如 果正常则结束; 如果不正常, 则确定发生问题的原因。
2、 如权利要求 1所述的片上系统芯片追踪调试的方法, 其中, 当所 述数据处理模块为多输入多输出的数据处理模块或片上系统芯片包括多 个数据处理模块时, 将所述读请求信号、 读完成信号的身份标识号码和 与所述身份标识对应的发送时间, 和 /或写请求信号、 写完成信号的身份 标识号码和与所述身份标识对应的发送时间一起保存。
3、 如权利要求 1所述的片上系统芯片追踪调试的方法, 其中, 当所 述数据处理模块为多输入多输出的数据处理模块或片上系统芯片包括多 个数据处理模块时, 将数据处理模块与芯片总线之间的读请求信号、 读 完成信号的发送时间, 和 /或写请求信号、 写完成信号的发送时间按照实 际操作时读操作和 /或写操作进行的顺序进行保存。
4、 如权利要求 1~3任一项所述的片上系统芯片追踪调试的方法, 其 中,所述分析所述追踪调试数据,判断所述数据处理模块工作是否正常, 包括:
用同一次读操作的读完成信号发送时间减去读请求信号发送时间, 得到该读操作的读操作持续时间;
用同一次写操作的写完成信号发送时间减去写请求信号发送时间, 得到该写操作的写操作持续时间; 用写操作对应的写请求信号发送时间减去上一次读操作对应的读完 成信号发送时间, 得到数据处理时间;
用所述读操作持续时间、 写操作持续时间或数据处理时间与预先设 定的对应读操作持续时间阈值、 写操作持续时间阈值或数据处理时间阈 值进行比对, 判断所述数据处理模块工作是否正常。
5、 一种片上系统芯片追踪调试的装置, 包括:
追踪模块, 配置为采集数据处理模块与芯片总线之间的读请求信号、 读完成信号的发送时间信息, 和 /或采集数据处理模块与芯片总线之间的 写请求信号、 写完成信号的发送时间; 将采集的所述发送时间信息作为 追踪调试数据保存;
分析模块, 配置为分析所述追踪调试数据, 判断所述数据处理模块 工作是否正常,如果正常则结束; 如果不正常, 则确定发生问题的原因。
6、 如权利要求 5所述的片上系统芯片追踪调试的装置, 其中, 当所 述数据处理模块为多输入多输出的数据处理模块或片上系统芯片包括多 个数据处理模块时, 所述追踪模块将所述读请求信号、 读完成信号的身 份标识号码和与所述身份标识对应的发送时间, 和 /或写请求信号、 写完 成信号的身份标识号码和与所述身份标识对应的发送时间一起保存。
7、 如权利要求 5所述的片上系统芯片追踪调试的装置, 其中, 当所 述数据处理模块为多输入多输出的数据处理模块或片上系统芯片包括多 个数据处理模块时, 所述追踪模块将数据处理模块与芯片总线之间的读 请求信号、 读完成信号的发送时间, 和 /或写请求信号、 写完成信号的发 送时间按照实际操作时读操作和 /或写操作进行的顺序进行保存。
8、 如权利要求 5~7任一项所述的片上系统芯片追踪调试的装置, 其 中, 所述分析模块还包括:
读操作持续时间获取子模块, 配置为用同一次读操作的读完成信号 发送时间减去读请求信号发送时间, 得到该读操作的读操作持续时间; 写操作持续时间获取子模块, 配置为用同一次写操作的写完成信号 发送时间减去写请求信号发送时间 , 得到该写操作的写操作持续时间; 数据处理时间获取子模块, 配置为用写操作对应的写请求信号发送 时间减去上一次读操作对应的读完成信号发送时间, 得到数据处理时间; 比对子模块, 配置为用所述读操作持续时间、 写操作持续时间或数 据处理时间与预先设定的对应读操作持续时间阈值、 写操作持续时间阈 值或数据处理时间阈值进行比对, 判断所述数据处理模块工作是否正常。
9、 如权利要求 5~7任一项所述的片上系统芯片追踪调试的装置, 其 中, 所述追踪模块为专用集成电路 ASIC或现场可编程门阵列 FPGA; 所 述分析模块为个人计算机或片上系统 SOC芯片的嵌入式处理器; 当所述 分析模块为个人计算机时, 所述分析模块与追踪模块的接口是串口、 以 太网接口或通用串行总线 USB接口;当所述分析模块为嵌入式处理器时, 所述分析模块通过芯片总线访问存储器获取所述追踪调试数据。
10、 如权利要求 9所述的片上系统芯片追踪调试的装置, 其中, 所 述追踪模块通过时钟模块获取读请求信号、读完成信号和 /或写请求信号、 写完成信号的发送时间; 所述时钟模块为 SOC芯片的系统时钟模块, 或 者为所述追踪模块的时钟模块; 所述追踪模块将所述追踪调试数据存储 在存储器中,所述存储器为 SOC芯片内的随机存储器 RAM,或者是 SOC 芯片外的双倍速率同步动态随机存储器 DDR。
PCT/CN2013/081409 2012-08-13 2013-08-13 一种片上系统芯片追踪调试的方法及装置 WO2014026600A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210286663.5A CN103593271A (zh) 2012-08-13 2012-08-13 一种片上系统芯片追踪调试的方法及装置
CN201210286663.5 2012-08-13

Publications (1)

Publication Number Publication Date
WO2014026600A1 true WO2014026600A1 (zh) 2014-02-20

Family

ID=50083423

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/081409 WO2014026600A1 (zh) 2012-08-13 2013-08-13 一种片上系统芯片追踪调试的方法及装置

Country Status (2)

Country Link
CN (1) CN103593271A (zh)
WO (1) WO2014026600A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685212A (zh) * 2021-01-05 2021-04-20 上海擎昆信息科技有限公司 一种处理器异常的调试追踪方法、装置和系统
CN114090480A (zh) * 2022-01-17 2022-02-25 英韧科技(南京)有限公司 主控内嵌式指令和数据记录装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105511806B (zh) * 2015-11-30 2018-09-07 华为技术有限公司 处理写请求的方法和移动终端
CN107066707B (zh) * 2017-03-27 2019-07-30 中国科学院计算技术研究所 一种使用快照的可调试性设计追踪方法及装置
CN107194258B (zh) * 2017-04-06 2019-10-01 珠海格力电器股份有限公司 监测代码漏洞的方法、装置及电子设备、存储介质
CN108170571B (zh) * 2017-12-22 2020-11-03 苏州中晟宏芯信息科技有限公司 一种芯片追踪调试装置及方法
CN109581913A (zh) * 2018-11-20 2019-04-05 深圳芯邦科技股份有限公司 一种mcu控制方法及相关设备
CN111752360B (zh) * 2019-03-28 2022-05-06 龙芯中科技术股份有限公司 一种复位信号产生电路、芯片及控制方法
CN113447799B (zh) * 2020-03-27 2022-06-14 阿里巴巴集团控股有限公司 集成电路、信息收集方法、设备
CN112104382A (zh) * 2020-09-10 2020-12-18 中国电子科技集团公司第五十八研究所 一种基于数字信号的并行数字下变频处理系统
CN113438135A (zh) * 2021-07-08 2021-09-24 上海擎昆信息科技有限公司 一种用于数据分析调试的装置及方法
CN115293080B (zh) * 2022-09-22 2023-01-31 沐曦科技(北京)有限公司 基于追踪文件的芯片调试系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107494B1 (en) * 2003-04-29 2006-09-12 Advanced Micro Devices, Inc. Bus architecture using debug packets to monitor transactions on an internal data processor bus
CN101788947A (zh) * 2010-02-09 2010-07-28 华为技术有限公司 系统总线的监测方法、系统总线监测器及片上系统
CN102184134A (zh) * 2010-06-22 2011-09-14 上海盈方微电子有限公司 一种片上系统的性能分析器
CN102265262A (zh) * 2005-06-07 2011-11-30 爱特梅尔公司 用于使用微控制器中的内部存储器来存储和提取追踪信息的机制

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493847A (zh) * 2008-01-22 2009-07-29 中兴通讯股份有限公司 一种通讯片上系统芯片追踪调试的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107494B1 (en) * 2003-04-29 2006-09-12 Advanced Micro Devices, Inc. Bus architecture using debug packets to monitor transactions on an internal data processor bus
CN102265262A (zh) * 2005-06-07 2011-11-30 爱特梅尔公司 用于使用微控制器中的内部存储器来存储和提取追踪信息的机制
CN101788947A (zh) * 2010-02-09 2010-07-28 华为技术有限公司 系统总线的监测方法、系统总线监测器及片上系统
CN102184134A (zh) * 2010-06-22 2011-09-14 上海盈方微电子有限公司 一种片上系统的性能分析器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685212A (zh) * 2021-01-05 2021-04-20 上海擎昆信息科技有限公司 一种处理器异常的调试追踪方法、装置和系统
CN112685212B (zh) * 2021-01-05 2024-03-19 上海擎昆信息科技有限公司 一种处理器异常的调试追踪方法、装置和系统
CN114090480A (zh) * 2022-01-17 2022-02-25 英韧科技(南京)有限公司 主控内嵌式指令和数据记录装置
CN114090480B (zh) * 2022-01-17 2022-04-22 英韧科技(南京)有限公司 主控内嵌式指令和数据记录装置

Also Published As

Publication number Publication date
CN103593271A (zh) 2014-02-19

Similar Documents

Publication Publication Date Title
WO2014026600A1 (zh) 一种片上系统芯片追踪调试的方法及装置
US9952963B2 (en) System on chip and corresponding monitoring method
US10929260B2 (en) Traffic capture and debugging tools for identifying root causes of device failure during automated testing
US6944796B2 (en) Method and system to implement a system event log for system manageability
US10955461B2 (en) Smart and efficient protocol logic analyzer configured within automated test equipment (ATE) hardware
US20220252665A1 (en) On-chip Debugging Device and Method
TWI474162B (zh) 在一多重核心處理器架構內的監視執行緒執行過程的方法以及執行緒層級偵錯控制器
EP3369015B1 (en) Methods and circuits for debugging circuit designs
US20040019827A1 (en) Emulation interface system
CN108009065B (zh) 监控axi总线的方法和装置
CN102662828A (zh) 一种实现软件自动测试的方法及装置
CN104615477A (zh) 运行中的fpga 系统的周期精确级重放和调试
US20120036501A1 (en) Method and System for Capturing System and User Events Using Hardware Trace Devices
CN111078492B (zh) 一种SoC内部总线的状态监控系统及方法
US7373619B2 (en) Post-silicon test coverage verification
CN115480976B (zh) 一种软硬件协同片上系统诊断方法
US10970442B1 (en) Method of debugging hardware and firmware of data storage
US10088523B2 (en) Debug adapter
CN111008133B (zh) 粗粒度数据流架构执行阵列的调试方法及装置
Chen et al. A configurable bus-tracer for error reproduction in post-silicon validation
JP2008134838A (ja) バスデバイス
Zhang et al. Security and Fault Diagnosis-Based Assertion-Based Verification for FPGA
Krosman Instruction trace analysis and enhanced debugging in embedded systems
CN116560892A (zh) 一种外设接口的异常自诊断方法及系统
JP2016091278A (ja) Icチップ

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13829479

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13829479

Country of ref document: EP

Kind code of ref document: A1