一种芯片内部信号的编码方法、系统及电子设备转让专利

申请号 : CN202210333992.4

文献号 : CN114490480B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈欣舞裴江华

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本申请公开了一种芯片内部信号的编码方法,包括:利用多路选择器采集芯片内部信号;其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;判断所述芯片内部信号是否变化;若是,则将所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包。本申请能够在保证完整性的前提下降低监测的芯片内部信号时产生的数据量。本申请还公开了一种芯片内部信号的编码系统、一种芯片内部信号的监测方法、一种芯片内部信号的监测系统及一种电子设备,具有以上有益效果。

权利要求 :

1.一种芯片内部信号的编码方法,其特征在于,包括:

利用多路选择器采集芯片内部信号;其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;其中,所述第一域为一帧芯片内部信号的低N+1位,所述第二域对应一帧芯片内部信号的第N+1位至最高位;

判断当前帧的所述芯片内部信号是否变化;

若是,则将同一帧所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;

其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包。

2.根据权利要求1所述芯片内部信号的编码方法,其特征在于,还包括:

按照信号变化频率将所述芯片内部信号划分为1个所述第二域和多个所述第一域;其中,信号变化频率越大的第一域在所述芯片内部信号中的位置越低。

3.根据权利要求2所述芯片内部信号的编码方法,其特征在于,所述第一域包括A域、B域和C域;所述A域的信号变化频率大于所述B域,所述B域的信号变化频率大于所述C域;

相应的,若所述目标位处于所述第一域,按照预设规则根据所述目标位生成所述芯片内部信号的数据包,包括:若所述目标位处于所述A域,则对所述芯片内部信号中的第0位至第N1位进行编码得到所述数据包,N1为所述A域的最高位;

若所述目标位处于所述B域,则对所述芯片内部信号中的第0位至第N2位进行编码得到所述数据包,N2为所述B域的最高位;

若所述目标位处于所述C域,则对所述芯片内部信号中的第0位至第N3位进行编码得到所述数据包,N3为所述C域的最高位。

4.根据权利要求2所述芯片内部信号的编码方法,其特征在于,所述芯片内部信号为32位的信号;所述第一域包括A域、B域和C域;

相应的,所述按照信号变化频率将所述芯片内部信号划分为1个所述第二域和多个所述第一域,包括:将所述芯片内部信号的第0位至第3位设置为所述A域;

将所述芯片内部信号的第4位至第7位设置为所述B域;

将所述芯片内部信号的第8位至第15位设置为所述C域;

将所述芯片内部信号的第16位至第31位设置为所述第二域。

5.根据权利要求1所述芯片内部信号的编码方法,其特征在于,所述按照预设规则根据所述目标位生成所述芯片内部信号的数据包,包括:按照所述预设规则根据所述目标位生成包含时间戳信息的所述芯片内部信号的数据包;其中,所述时间戳信息用于描述所述芯片内部信号被采集的时刻。

6.根据权利要求1所述芯片内部信号的编码方法,其特征在于,在按照预设规则根据所述目标位生成所述芯片内部信号的数据包之后,还包括:将所述数据包存储至芯片内存;

和/或,将所述数据包通过目标接口送出芯片,以便将所述数据包恢复为所述芯片内部信号的波形图。

7.一种芯片内部信号的监测方法,其特征在于,包括:

接收数据包;其中,所述数据包的生成过程包括:利用多路选择器采集芯片内部信号;

其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;其中,所述第一域为一帧芯片内部信号的低N+1位,所述第二域对应一帧芯片内部信号的第N+1位至最高位;判断当前帧的所述芯片内部信号是否变化;若是,则将同一帧所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包;

根据所述芯片内部信号的总位数对所述数据包进行恢复,得到所述芯片内部信号;

生成所述芯片内部信号的波形图。

8.一种芯片内部信号的编码系统,其特征在于,包括:

信号采集模块,用于利用多路选择器采集芯片内部信号;其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;其中,所述第一域为一帧芯片内部信号的低N+1位,所述第二域对应一帧芯片内部信号的第N+1位至最高位;

变化判断模块,用于判断当前帧的所述芯片内部信号是否变化;

编码模块,用于若所述芯片内部信号变化,则将同一帧所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;

其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包。

9.一种芯片内部信号的监测系统,其特征在于,包括:

数据接收模块,用于接收数据包;其中,所述数据包的生成过程包括:利用多路选择器采集芯片内部信号;其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;其中,所述第一域为一帧芯片内部信号的低N+1位,所述第二域对应一帧芯片内部信号的第N+1位至最高位;判断当前帧的所述芯片内部信号是否变化;若是,则将同一帧所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包;

信号恢复模块,用于根据所述芯片内部信号的总位数对所述数据包进行恢复,得到所述芯片内部信号;

波形图生成模块,用于生成所述芯片内部信号的波形图。

10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至7任一项方法的步骤。

说明书 :

一种芯片内部信号的编码方法、系统及电子设备

技术领域

[0001] 本申请涉及芯片监测技术领域,特别涉及一种芯片内部信号的编码方法、系统及电子设备。

背景技术

[0002] 芯片内部信号极多,但芯片的外部引脚确相对较少,因而在芯片生产完成之后,监测芯片的内部信号通常十分困难。相关技术中,采用一组软件可编程、通过寄存器控制的多路选择器(MUX,Multiplexer),一侧连接芯片内部信号,另一侧连接芯片外部引脚。在芯片调试时,按照用户配置将芯片内部选通至外部引脚,以使用示波器,逻辑分析仪等进行直接测量。实际调试场景中,这种方案的缺点在于难以保证预留足够多的物理管脚供信号监测使用。因此,业界有另一种方案是对原本连接到芯片外部引脚的监测信号,在其变化时进行采样,将采样值及对应时间戳,以二进制数据的形式保存在芯片内存,或通过MIPI‑PTI接口送出芯片,之后通过工具软件将采样值恢复为监测信号的波形,上述方案的优点在于不受芯片物理引脚数量的限制,允许同时监测多根信号。但由于待测信号中可能存在时钟、状态机等频繁跳变的信号,而任意一位监测信号的变化,都会产生一个32 Bit,或 64 Bit(当使能时间戳功能时)的数据包,当这类信号为多路选择器选中的监测信号时,这组信号采样结果的数据量会非常大,导致占用过大的MIPI‑PTI接口带宽,或在固定的芯片内存空间中只能存储很短时间的监测信息。
[0003] 因此,如何在保证完整性的前提下降低监测的芯片内部信号时产生的数据量是本领域技术人员目前需要解决的技术问题。

发明内容

[0004] 本申请的目的是提供一种芯片内部信号的编码方法、一种芯片内部信号的编码系统、一种芯片内部信号的监测方法、一种芯片内部信号的监测系统及一种电子设备,能够在保证完整性的前提下降低监测的芯片内部信号时产生的数据量。
[0005] 为解决上述技术问题,本申请提供一种芯片内部信号的编码方法,该芯片内部信号的编码方法包括:
[0006] 利用多路选择器采集芯片内部信号;其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;
[0007] 判断所述芯片内部信号是否变化;
[0008] 若是,则将所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;
[0009] 其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包。
[0010] 进一步的,还包括:
[0011] 按照信号变化频率将所述芯片内部信号划分为1个所述第二域和多个所述第一域;其中,信号变化频率越大的第一域在所述芯片内部信号中的位置越低。
[0012] 进一步的,所述第一域包括A域、B域和C域;所述A域的信号变化频率大于所述B域,所述B域的信号变化频率大于所述C域;
[0013] 相应的,若所述目标位处于所述第一域,按照预设规则根据所述目标位生成所述芯片内部信号的数据包,包括:
[0014] 若所述目标位处于所述A域,则对所述芯片内部信号中的第0位至第N1位进行编码得到所述数据包,N1为所述A域的最高位;
[0015] 若所述目标位处于所述B域,则对所述芯片内部信号中的第0位至第N2位进行编码得到所述数据包,N2为所述B域的最高位;
[0016] 若所述目标位处于所述C域,则对所述芯片内部信号中的第0位至第N3位进行编码得到所述数据包,N3为所述C域的最高位。
[0017] 进一步的,所述芯片内部信号为32位的信号;所述第一域包括A域、B域和C域;
[0018] 相应的,所述按照信号变化频率将所述芯片内部信号划分为1个所述第二域和多个所述第一域,包括:
[0019] 将所述芯片内部信号的第0位至第3位设置为A域;
[0020] 将所述芯片内部信号的第4位至第7位设置为B域;
[0021] 将所述芯片内部信号的第8位至第15位设置为C域;
[0022] 将所述芯片内部信号的第16位至第32位设置为所述第二域。
[0023] 进一步的,所述按照预设规则根据所述目标位生成所述芯片内部信号的数据包,包括:
[0024] 按照预设规则根据所述目标位生成包含时间戳信息的所述芯片内部信号的数据包;其中,所述时间戳信息用于描述所述芯片内部信号被采集的时刻。
[0025] 进一步的,在按照预设规则根据所述目标位生成所述芯片内部信号的数据包之后,还包括:
[0026] 将所述数据包存储至芯片内存;
[0027] 和/或,将所述数据包通过目标接口送出芯片,以便将所述数据包恢复为所述芯片内部信号的波形图。
[0028] 本申请还提供了一种芯片内部信号的编码系统,包括:
[0029] 信号采集模块,用于利用多路选择器采集芯片内部信号;其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;
[0030] 变化判断模块,用于判断所述芯片内部信号是否变化;
[0031] 编码模块,用于若所述芯片内部信号变化,则将所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;
[0032] 其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包。
[0033] 本申请还提供了一种芯片内部信号的监测方法,包括:
[0034] 接收数据包;其中,所述数据包的生成过程包括:利用多路选择器采集芯片内部信号;其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;判断所述芯片内部信号是否变化;若是,则将所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包。
[0035] 根据所述芯片内部信号的总位数对所述数据包进行恢复,得到所述芯片内部信号;
[0036] 生成所述芯片内部信号的波形图。
[0037] 本申请还提供了一种芯片内部信号的监测系统,包括:
[0038] 数据接收模块,用于接收数据包;其中,所述数据包的生成过程包括:利用多路选择器采集芯片内部信号;其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;判断所述芯片内部信号是否变化;若是,则将所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包;
[0039] 信号恢复模块,用于根据所述芯片内部信号的总位数对所述数据包进行恢复,得到所述芯片内部信号;
[0040] 波形图生成模块,用于生成所述芯片内部信号的波形图。
[0041] 本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述芯片内部信号的编码方法执行的步骤。
[0042] 本申请提供了一种芯片内部信号的编码方法,该芯片内部信号的编码方法包括:利用多路选择器采集芯片内部信号;其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;判断所述芯片内部信号是否变化;若是,则将所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包。
[0043] 本申请将多路选择器采集芯片内部信号划分为第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域。在芯片内部信号变化时,可以根据发生变化的信号的最高位确定生成的数据包的位数。具体的,若信号变化的最高位处于第一域,仅对第一域对应的信号进行编码得到数据包;若信号变化的最高位处于第二域,再对芯片内部信号进行编码得到数据包。在上述方式能够降低编码得到的数据包的数据量,且数据包包括所有的发生变化的信号,能够在保证完整性的前提下降低监测的芯片内部信号时产生的数据量。本申请同时还提供了一种芯片内部信号的编码系统、一种芯片内部信号的监测方法、一种芯片内部信号的监测系统和一种电子设备,具有上述有益效果,在此不再赘述。

附图说明

[0044] 为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045] 图1为本申请实施例所提供的一种芯片内部信号的编码方法的流程图;
[0046] 图2为本申请实施例所提供的一种芯片内部信号采集端的工作原理示意图;
[0047] 图3为本申请实施例所提供的一种芯片内部信号区域划分示意图;
[0048] 图4为本申请实施例所提供的一种芯片内部信号的变化示意图;
[0049] 图5为本申请实施例所提供的一种芯片内部信号的编码系统的结构示意图。

具体实施方式

[0050] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0051] 下面请参见图1,图1为本申请实施例所提供的一种芯片内部信号的编码方法的流程图。
[0052] 具体步骤可以包括:
[0053] S101:利用多路选择器采集芯片内部信号;
[0054] 其中,本实施例可以应用于芯片内部信号的采集端,请参见图2,图2为本申请实施例所提供的一种芯片内部信号采集端的工作原理示意图。本实施例可以包括多个层级的多路选择器,如模块级MUX、子系统级MUX和芯片顶层MUX,本实施例提供的方案适用于各个层级的多路选择器。STP格式编码器用于进行编码操作,选通器用于控制STP格式编码器输出的数据包存储至芯片内存还是通过MIPI‑PTI接口输出。上述数据包可以恢复为相应的波形,以便实现芯片内部信号的监测。MIPI(Mobile Industry Processor Interface)即移动产业处理器接口,PTI(Parallel Trace Interface)即并行跟踪接口。
[0055] 在多路数据传送过程中,多路选择器能够根据需要将其中任意一路选出来的电路。多路选择器可以采集多个芯片生成的待监测信号,并对各个待监测信号进行排列得到芯片内部信号。具体的,多路选择器采集的芯片内部信号可以按照信号变化频率排列,上述信号变化频率可以根据历史数据确定,也可以由工作人员自行定义。本实施例可以将信号每秒跳变的次数确定信号变化频率,信号每秒跳变的次数越多信号变化频率越大。芯片内部信号包括第一域和第二域,第一域的信号变化频率大于第二域,因此第一域又称快域,第二域又称普通域。第一域在所述芯片内部信号中的位置低于第二域。第一域和第二域均为连续区间,所述第一域中的每一位(Bit)均低于第二域的最低位,例如第0位至第15位为第一域,第16位至第31位为第二域。本实施例可以设置位越低对应的信号变化频率越高,即第N位的信号变化频率大于第N+1位的信号变化频率。
[0056] S102:判断所述芯片内部信号是否变化;若是,则进入S103;若否,则结束流程。
[0057] 其中,本实施例可以判断当前帧的芯片内部信号是否变化,若发生变化则可以记录发生变化的位。如芯片内部信号中第15位和第10位发生变化。作为一种可行的实施方式,若当前帧的芯片内部信号未变化,则可以结束本次流程,并重新进入S101以便获取下一帧的芯片内部信号。
[0058] S103:将所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;
[0059] 其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包。芯片内部信号中发生变化的最高位指:同一帧芯片内部信号中发生变化的最高位,芯片内部信号中第15位和第10位发生变化,目标位为第15位。
[0060] 在按照预设规则根据所述目标位生成所述芯片内部信号的数据包之后,可以将所述数据包存储至芯片内存,也可以将所述数据包通过目标接口送出芯片,以便将所述数据包恢复为所述芯片内部信号的波形图。
[0061] 本实施例将多路选择器采集芯片内部信号划分为第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域。在芯片内部信号变化时,可以根据发生变化的信号的最高位确定生成的数据包的位数。具体的,若信号变化的最高位处于第一域,仅对第一域对应的信号进行编码得到数据包;若信号变化的最高位处于第二域,再对芯片内部信号进行编码得到数据包。在上述方式能够降低编码得到的数据包的数据量,且数据包包括所有的发生变化的信号,能够在保证完整性的前提下降低监测的芯片内部信号时产生的数据量。
[0062] 作为对于图1对应实施例的进一步介绍,上述实施例可以按照信号变化频率将所述芯片内部信号划分为1个所述第二域和多个所述第一域;其中,信号变化频率越大的第一域在所述芯片内部信号中的位置越低。
[0063] 将芯片内部信号划分为1个所述第二域和3个所述第一域,第一域包括A域、B域和C域;所述A域的信号变化频率大于所述B域,所述B域的信号变化频率大于所述C域;A域、B域和C域均为第一域。
[0064] 相应的,按照预设规则根据目标位生成所述芯片内部信号的数据包的过程包括:若所述目标位处于所述A域,则对所述芯片内部信号中的第0位至第N1位进行编码得到所述数据包,N1为所述A域的最高位;若所述目标位处于所述B域,则对所述芯片内部信号中的第
0位至第N2位进行编码得到所述数据包,N2为所述B域的最高位;若所述目标位处于所述C域,则对所述芯片内部信号中的第0位至第N3位进行编码得到所述数据包,N3为所述C域的最高位。
[0065] 请参见图3,图3为本申请实施例所提供的一种芯片内部信号区域划分示意图,图3中芯片内部信号为32位的信号;所述第一域包括A域、B域和C域;可以通过以下方式划分第二域和第一域:将所述芯片内部信号的第0位至第3位设置为A域;将所述芯片内部信号的第4位至第7位设置为B域;将所述芯片内部信号的第8位至第15位设置为C域;将所述芯片内部信号的第16位至第32位设置为所述第二域。32位待监测信号中,通常跳变频率一般是有差异的,且观测者通常知道哪些信号跳变更频繁。因而观测者在配置各层级MUX,选通待监测信号时,可以将信号按跳变频繁程度,从A域至C域依次排布。实现监测信号快、第二域的划分。
[0066] 本实施例在为多路选择器选择监测信号时,将变化频繁的信号安排在第一域,其他普通信号安排在第二域。A域、B域和C域中信号的变化,对应产生MIPI系统跟踪协议MIPI STP(System Trace Protocol) v2.2 格式中的 D4MTS、D8MTS、D16MTS 数据包,或 D4、D8、D16数据包;第二域的变化,对应产生MIPI STP v2.2 格式中的 D32MTS,或D32数据包。
[0067] 作为一种可行的实施方式,所述按照预设规则根据所述目标位生成所述芯片内部信号的数据包,包括:按照预设规则根据所述目标位生成包含时间戳信息的所述芯片内部信号的数据包;其中,所述时间戳信息用于描述所述芯片内部信号被采集的时刻。
[0068] 本实施例不限定对信号的编码方式,下面以 MIPI STP v2.2 格式编码说明基于A域、B域、C域和第二域采集芯片内部信号的过程:
[0069] MIPI STP (System Trace Protocol)是 MIPI 联盟制定的系统跟踪调试数据的编码格式,最新版本为STP v2.2。其最小帧为4 Bit,基本跟踪数据消息可传输4Bit、8Bit、16Bit、32Bit和64 Bit宽度的数据,在协会相关文件中定义为D4、D8、 D16、D32 和 D64 数据类型。另有 D4MTS、D8MTS、 D16MTS、D32MTS和D64MTS 数据类型,则是在4Bit、8Bit、
16Bit、32Bit和64 Bit宽度的数据之后,附加一个时间戳信息(TS,Time Stamp)以标记消息产生的时间。
[0070] 若仅需要检测信号变化的顺序关系,而不关心监测信号变化的准确时间时,可以通过以下方式确定编码得到的数据包的数据类型:
[0071] 当芯片内部信号仅在A域中变化时,STP编码器将监测信号低4位输出为D4数据类型,占用 4 Bit,即 D[3:0];
[0072] 当芯片内部信号中发生变化的最高位在B域时,STP编码器将监测信号低8位输出为D8数据类型,占用 8 Bit,即 D[7:0];
[0073] 当芯片内部信号中发生变化的最高位在C域时,STP编码器将监测信号低16位输出为D16数据类型,占用 16 Bit,即 D[15:0];
[0074] 当芯片内部信号的第二域中发生变化时,STP编码器将监测信号全部32位输出为D32数据类型,占用 32 Bit,即 D[31:0]。
[0075] 若需要监测信号变化的准确时间时,可以通过以下方式确定编码得到的数据包的数据类型:
[0076] 当芯片内部信号仅在A域中变化时,STP编码器将监测信号低4位输出为D4MTS数据类型,占用 4 Bit,和附加的时间戳信息,即 D[3:0]+TS;
[0077] 当芯片内部信号中发生变化的最高位在B域时,STP编码器将监测信号低8位输出为D8MTS数据类型,占用 8 Bit,和附加的时间戳信息,即 D[7:0]+TS;
[0078] 当芯片内部信号中发生变化的最高位在C域时,STP编码器将监测信号低16位输出为D16MTS数据类型,占用 16 Bit,和附加的时间戳信息,即 D[15:0]+TS;
[0079] 当芯片内部信号的第二域中发生变化时,STP编码器将监测信号全部32位输出为D32MTS数据类型,占用 32 Bit,和附加的时间戳信息,即 D[31:0]+TS。
[0080] 按照 MIPI STP v2.2 格式标准,时间戳 TS 在多数情况下为相对上一次监测信号变化的相对时间,因而多数情况下小于32 Bit,且变化越频繁,相对上一次所间隔的时间就越短,时间戳所占用的数据宽度越小,STP格式标准中规定最小时间戳为4 Bit。
[0081] 请参见图4,图4为本申请实施例所提供的一种芯片内部信号的变化示意图,图4中“X”表示信号发生变化所在的位,每一行代表一个时钟周期。
[0082] 时钟周期为1时,当芯片内部信号中发生变化的最高位为1,生成的数据包的数据类型为D4或D4TS。
[0083] 时钟周期为2时,当芯片内部信号中发生变化的最高位为6,生成的数据包的数据类型为D8或D8TS。
[0084] 时钟周期为3时,当芯片内部信号中发生变化的最高位为11,生成的数据包的数据类型为D16或D16TS。
[0085] 时钟周期为4时,当芯片内部信号中发生变化的最高位为17,生成的数据包的数据类型为D32或D32TS。
[0086] 时钟周期为5时,当芯片内部信号中发生变化的最高位为1,生成的数据包的数据类型为D4或D4TS。
[0087] 时钟周期为6时,当芯片内部信号中发生变化的最高位为11,生成的数据包的数据类型为D16或D16TS。
[0088] 时钟周期为7时,当芯片内部信号中发生变化的最高位为1,生成的数据包的数据类型为D4或D4TS。
[0089] 时钟周期为8时,当芯片内部信号中发生变化的最高位为31,生成的数据包的数据类型为D32或D32TS。
[0090] 时钟周期为9时,当芯片内部信号中发生变化的最高位为11,生成的数据包的数据类型为D16或D16TS。
[0091] 时钟周期为10时,当芯片内部信号中发生变化的最高位为6,生成的数据包的数据类型为D8或D8TS。
[0092] 时钟周期为11时,当芯片内部信号中发生变化的最高位为1,生成的数据包的数据类型为D4或D4TS。
[0093] 时钟周期为12时,当芯片内部信号中发生变化的最高位为26,生成的数据包的数据类型为D32或D32TS。
[0094] 按照当前的压缩编码方式,12个时钟周期均有信号变化,在无时间信息的情况下,需占用12*32Bit=384Bit;在含时间信息的情况下,每一个时钟周期还需送出一个32 bit时间戳,共需占用768 Bit。按本实施例所提出的方法,由于采用MIPI STP v2.2格式,每帧数据(如D4、D4MTS等)需要额外4 Bit作为操作码(Opcode)用来标识帧类型。在无时间信息的情况下,需占用12*4 + 175=224 Bit;在含时间信息的情况下,每一个时钟周期还需送出一个位宽可变的时间戳(4Bit到32bit之间),由于每周期都有数据,因而可假设第一个时间戳为32 Bit,其后11个时间戳均为4 Bit,共需占用 224 + 1*32 + 11*4 = 300 Bit;显然,按照本实施例所提出的方法,芯片内部信号所占用的空间得到了有效的压缩,可以明显降低数据传输或存储所需要的带宽和空间。本实施例提供了一种芯片内部监测信号的压缩编码方案,当监测信号中存在频繁跳变信号时,仍不会明显增加采样结果的数据量。
[0095] 编码后的数据包可通过离线解码工具恢复为芯片内部信号的波形,编码后的数据包可以保存在芯片的内存中稍后读出,或通过MIPI‑PTI((Parallel Trace Interface,并行跟踪接口)等高速接口送出芯片外。离线的通过工具软件解码后,即可恢复出带时间信息、或不带时间信息的芯片内部信号波形。
[0096] 本实施例中将芯片内部信号按照变化由快到慢排布,划分为第一域和第二域。进行MIPI STP v2.2编码时,第一域的信号编码为占用空间较小的D4、D4MTS、D8、D8MTS、D16、D16MTS等数据类型,只有在第二域的信号变化才编码为D32\D32MTS类型,利用统计学的概念进行编码优化。在此基础上,利用MIPI STP v2.2格式中对时间戳信息仅保留差值的特点,进一步压缩时间戳所占用数据空间。
[0097] 本实施例中所示监测信号为32Bit宽度,实际应用中可以扩展为64Bit,对应编码为的 MIPI STP v2.2 格式中D64、D64MTS类型,因此文中此方法只是为了便于理解本发明的实施方式,并非用以限定本发明仅能这种方案。本实施例中提及采用 MIPI‑PTI (Parallel Trace Interface)接口送出编码后的数据,当然,编码后的数据也可通过其他高速串行接口(如PCIe、USB)送出,这种情况下仅需要增加额外的硬件转换模块。本实施例中采用 MIPI PTI v2.2 版本的编码方式实现数据编码,也可以根据实际应用场景选用其他版本的编码方式实现数据编码,此处不进行具体的限定。
[0098] 本申请实施例还提供了一种芯片内部信号的监测方法,可以应用于芯片内部信号的监测端,具体包括以下步骤:
[0099] 步骤1:接收数据包;
[0100] 上述数据包可以为芯片内部信号的采集端发送的数据包,数据包的生成过程包括:利用多路选择器采集芯片内部信号;其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;判断所述芯片内部信号是否变化;若是,则将所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包。
[0101] 步骤2:根据所述芯片内部信号的总位数对所述数据包进行恢复,得到所述芯片内部信号;
[0102] 步骤3:生成所述芯片内部信号的波形图。
[0103] 具体的,本实施例可以通过高位补0的方式对数据包进行恢复,以使恢复后的信号与述芯片内部信号的总位数相同。例如,芯片内部信号为32位信号,数据包只包括第0 3位~的信号,此时可以对第4 31位补0恢复芯片内部信号。
~
[0104] 请参见图5,图5为本申请实施例所提供的一种芯片内部信号的编码系统的结构示意图,该系统可以包括:
[0105] 信号采集模块501,用于利用多路选择器采集芯片内部信号;其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;
[0106] 变化判断模块502,用于判断所述芯片内部信号是否变化;
[0107] 编码模块503,用于若所述芯片内部信号变化,则将所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;
[0108] 其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包。
[0109] 本实施例将多路选择器采集芯片内部信号划分为第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域。在芯片内部信号变化时,可以根据发生变化的信号的最高位确定生成的数据包的位数。具体的,若信号变化的最高位处于第一域,仅对第一域对应的信号进行编码得到数据包;若信号变化的最高位处于第二域,再对芯片内部信号进行编码得到数据包。在上述方式能够降低编码得到的数据包的数据量,且数据包包括所有的发生变化的信号,能够在保证完整性的前提下降低监测的芯片内部信号时产生的数据量。
[0110] 可选的,还包括:
[0111] 区域划分模块,用于按照信号变化频率将所述芯片内部信号划分为1个所述第二域和多个所述第一域;其中,信号变化频率越大的第一域在所述芯片内部信号中的位置越低。
[0112] 进一步的,所述第一域包括A域、B域和C域;所述A域的信号变化频率大于所述B域,所述B域的信号变化频率大于所述C域;
[0113] 相应的,编码模块503用于若所述目标位处于所述A域,则对所述芯片内部信号中的第0位至第N1位进行编码得到所述数据包,N1为所述A域的最高位;还用于若所述目标位处于所述B域,则对所述芯片内部信号中的第0位至第N2位进行编码得到所述数据包,N2为所述B域的最高位;若所述目标位处于所述C域,则对所述芯片内部信号中的第0位至第N3位进行编码得到所述数据包,N3为所述C域的最高位。
[0114] 进一步的,所述芯片内部信号为32位的信号;所述第一域包括A域、B域和C域;
[0115] 相应的,区域划分模块用于将所述芯片内部信号的第0位至第3位设置为A域;将所述芯片内部信号的第4位至第7位设置为B域;将所述芯片内部信号的第8位至第15位设置为C域;将所述芯片内部信号的第16位至第32位设置为所述第二域。
[0116] 进一步的,编码模块503用于按照所述预设规则根据所述目标位生成包含时间戳信息的所述芯片内部信号的数据包;其中,所述时间戳信息用于描述所述芯片内部信号被采集的时刻。
[0117] 进一步的,还包括:
[0118] 数据处理模块,用于在按照预设规则根据所述目标位生成所述芯片内部信号的数据包之后,将所述数据包存储至芯片内存;和/或,将所述数据包通过目标接口送出芯片,以便将所述数据包恢复为所述芯片内部信号的波形图。
[0119] 本申请实施例还提供一种芯片内部信号的监测系统,包括:
[0120] 数据接收模块,用于接收数据包;其中,所述数据包的生成过程包括:利用多路选择器采集芯片内部信号;其中,所述芯片内部信号包括第一域和第二域,所述第一域的信号变化频率大于所述第二域,所述第一域在所述芯片内部信号中的位置低于所述第二域;判断所述芯片内部信号是否变化;若是,则将所述芯片内部信号中发生变化的最高位设置为目标位,按照预设规则根据所述目标位生成所述芯片内部信号的数据包;其中,所述预设规则包括:若所述目标位处于所述第一域,则对所述芯片内部信号中的第0位至第N位进行编码得到所述数据包,N为所述第一域的最高位;若所述目标位处于所述第二域,则对所述芯片内部信号进行编码得到所述数据包;
[0121] 信号恢复模块,用于根据所述芯片内部信号的总位数对所述数据包进行恢复,得到所述芯片内部信号;
[0122] 波形图生成模块,用于生成所述芯片内部信号的波形图。
[0123] 由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
[0124] 本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述芯片内部信号的编码方法和/或芯片内部信号的监测方法实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read‑Only Memory ,ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0125] 本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述芯片内部信号的编码方法和/或芯片内部信号的监测方法实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
[0126] 说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
[0127] 还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。