一种多芯片的并行深度调试系统、调试方法、应用
技术领域
本发明属于电子领域,涉及集成电路的芯片调试技术,具体为一种多芯片的并行深度调试系统、调试方法、应用。
背景技术
随着集成电路技术的快速发展,以及计算机系统的功能和复杂程度的不断提高。多芯片调试是集成电路计算机辅助设计(ICCAD)又叫电子设计自动化(EDA)的重要功能,对于多芯片系统设计来说,用户既要关注各个芯片的功能是否符合需求,也要关注芯片与芯片之间的接口对接是否满足系统要求,因此,需要不断的对各种芯片进行调试,以避免在开发过程中可能会出现各种错误。
目前,对于多芯片系统的多个芯片的调试,传统的做法是在单个芯片里插入调试接口逻辑,用JTAG扫描链的方式把调试信号存在单个芯片的内部存储器中,等待触发信号满足后再将调试信号上传到上位机中。这种方式的设计实现比较简单,占用的芯片资源较少,但是存在以下几种局限性:
1.JTAG扫描链的传输速率太低,用户需要上传大量的调试数据回上位机的使用场景时,完成一次调试数据上传的时间长、效率低;
2.单个芯片的内部存储器的存储空间有限,当用户需要存储海量的调试数据进行数据分析时,存在存储空间不足的问题;
3.基于JTAG扫描链的调试系统,单次调试触发只能抓取来自单个芯片的调试信号,无法并行抓取来自多个芯片的调试信号,对于多芯片系统设计调试来说,调试效率低速度慢,且无法看到整个系统调试状态的全貌。
因此,需要对现有的多芯片系统的调试方法进行改进,已解决上述问题。
发明内容
本发明的目的在于解决现有的多芯片调试系统的调试数据传输速率低、调试数据存储空间小、调试效率低,且无法并行抓取来自多个芯片的调试信号,需要对各个芯片进行单独调试的局限性,提供了一种多芯片的并行深度调试系统、调试方法、应用。
本发明多芯片的并行深度调试方法的设计思路是,通过设计并行深度调试系统,使多个芯片的调试数据能够通过并行抓取来自多个芯片的调试信号,实现多芯片的同时且同步的快速调试。
本发明提供了一种多芯片的并行深度调试方法,包括以下步骤:
S1、多个芯片分别接收调试数据,分别将调试数据分别封装成数据包,并将数据包转换为高速串行数据包;
S2、各个芯片的高速串行数据包输入至专用调试芯片内;
S3、专用调试芯片接收多路高速串行数据包后,将高速串行数据包转换为高速并行数据包,并将高速并行数据包解析恢复成各个芯片的调试数据;
S4、将专用调试芯片内各个芯片的调试数据对齐并存储至外部存储器模块内;
S5、专用调试芯片内调试信号的触发条件发生,存储至外部存储器模块的调试数据回读至专用调试芯片内,并上传至上位机进行调试。
在本发明的一个优选实施例中,步骤S1中,调试数据以数据编码的方式封装成数据包。
在本发明的一个优选实施例中,步骤S4中,专用调试芯片内的调试数据是通过滚动的存储方式存储至外部存储器模块内。
在本发明的一个优选实施例中,步骤S5中,当专用调试芯片内的调试信号触发条件发生时,调试数据回读至专用调试芯片的过程中,多芯片系统的多个芯片接收的调试数据暂停经步骤S1至步骤S4向外部存储器模块存储。
本发明还提供了一种多芯片的并行深度调试系统,并行深度调试系统采用并行深度调试方法对多个芯片进行同时同步的并行调试。并行深度调试系统包括多个芯片,芯片内设有调试数据接收模块、并串转换模块、调试数据封装模块、数据包发送模块。具体的,调试数据接收模块用于将调试数据接收至各个芯片内;调试数据封装模块用于将芯片接收到的各个调试数据封装成数据包;并串转换模块用于将数据包转换成高速串行数据包;数据包发送模块可以为高宽带、低延迟的数据传输通道,以便于实现用户将多个芯片的调试数据到专用调试芯片内。
并行深度调试系统还包括专用调试芯片,专用调试芯片上设有数据包接收端口、调试端口、高速上位机端口。具体的,数据包接收端口用于接收各个芯片的数据包发送模块输出的高速串行数据包并转换为高速并行数据包;调试端口用于用户实时设定调试数据的触发条件,并进行触发条件的监控;高速上位机端口用于将专用调试芯片的调试数据发送至上位机。
专用调试芯片用于接收芯片的调试数据,接收调试信号的触发条件,并对上位机发送调试数据进行调试。具体的,上位机经专用调试芯片上的高速上位机端口与专用调试芯片电连接,上位机接收、存储回读的调试数据,存储成通用的标准调试数据波形文件进行多芯片系统的调试数据深度分析。
本发明通过多芯片的并行深度调试系统内专用调试芯片的设置,实时且同步接收多个芯片的高速串行数据包,经高速上位机端口发送至上位机,实现了芯片的同时同步的并行调试,提高了用户芯片调试的效率,解决了传统多芯片调试系统一次只能调试1个芯片的难题。
进一步的,并行深度调试系统还包括外部存储器模块,且专用调试芯片上还设有存储模块端口,外部存储器模块经存储模块端口与专用调试芯片双向电连接。外部存储器模块用于接收专用调试芯片发送的调试数据,或者向专用调试芯片回读存储的调试数据。多个芯片的调试数据可以存储在外部存储器模块内,当调试信号的触发条件发生后,再从外部存储器模块内回读调试数据,解决了各个芯片内的存储空间小,不能满足海量的调试数据存储的问题。
进一步的,专用调试芯片内还设有配置模块,配置模块用于对多芯片系统的各个芯片的调试数据进行同步对齐,并经滚动的方式存储至外部存储器模块内。
本发明还提供了一种多芯片的并行深度调试应用,应用于并行深度调试系统及并行深度调试方法对多芯片系统的至少2个芯片进行同时同步的并行调试。
与现有技术相比,本发明的有益效果是:
1.多个芯片的数据包发送模块与专用调试芯片的数据包接收端口均通过高速串行通道进行数据传输,有效的解决了调试数据速率低的问题。
2.外部存储器模块能够存储海量的调试数据,有效的解决了现有的单个芯片的内部存储空间有限的问题。
3.采用专用调试芯片,将接收到的多路高速串行数据包恢复成源于多个芯片的调试数据,实现了并行抓取来自多个芯片的调试信号的用户需求。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明为了更清楚地说明本发明实施例或现有技术中的技术方案,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明多芯片的并行深度调试方法的流程图;
图2为本发明多芯片的并行深度调试系统的调试数据输送示意图;
图3为本发明多芯片的并行深度调试系统的外部存储器模块存储调试数据的示意图;
图4为本发明多芯片的并行深度调试系统的上位机接口调试数据传输模块图。
具体实施方式
下面结合具体实施例来进一步描述本发明,本发明的优点和特点将会随着描述而更为清楚。但这些实施例仅是范例性的,并不对本发明的范围构成任何限制。本领域技术人员应该理解的是,在不偏离本发明的精神和范围下可以对本发明技术方案的细节和形式进行修改或替换,但这些修改和替换均落入本发明的保护范围内。
在本实施例的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明创造和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明创造的限制。
此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明创造的描述中,除非另有说明,“多个”的含义是两个或两个以上。
实施例1:
本实施例提供了一种多芯片的并行深度调试方法,在本实施方式中,如图1所示,多芯片的并行深度调试方法,包括以下步骤:
S1、用户的多个芯片(芯片的数量大于等于2个)分别接收调试数据,分别将调试数据分别封装成数据包,并将数据包转换为高速串行数据包。具体的,调试数据包括GTX时钟数据、包头数据、包尾数据、数据有效数据、数据(所有数据)等等;各个芯片的调试数据是采用64b/66b的编码方式进行数据封装打包成数据包;数据包经串转换模块转换成高速串行数据包。
S2、各个芯片的高速串行数据包输入至专用调试芯片内。具体的,芯片与专用调试芯片之间的数据传输是通过高带宽,低延迟的数据传输通道,如高速串行收发器实现的,高速串行收发器的发送端数据经由高性能的线缆,如Mini-SAS线缆传送到专用调试芯片的数据包接收端口。
S3、专用调试芯片接收多路的高速串行数据包后,将高速串行数据包转换为高速并行数据包,并将高速并行数据包解析恢复成各个芯片的调试数据。
S4、将专用调试芯片内各个芯片的调试数据对齐并存储至外部存储器模块内。具体的,多个芯片的调试数据对齐是通过GTX时钟信号进行一一对齐的。
S5、专用调试芯片内调试信号的触发条件发生,存储至外部存储器模块的调试数据回读至专用调试芯片内,并上传至上位机进行调试。具体的,调试信号的触发条件发生后,芯片0至芯片3的回读的调试数据是通过高速上位机端口,如通过千兆以太网接口将调试数据同时同步且并行上传到上位机,并在上位机内存储成通用的标准调试数据波形文件,如VCD文件以供用户对多芯片的调试数据进行深度分析。本实施例中,采用高速上位机端口进行调试数据上传,数据传输带宽可达几百兆字节每秒,其上传速度是传统多芯片调试系统调试数据通过JTAG方式上传的几百倍,提高了调试数据上传的速度。
在本实施例的一个优选实施例中,步骤S1中,调试数据以数据编码的方式封装成数据包。
在本实施例的一个优选实施例中,步骤S4中,专用调试芯片内的调试数据是通过滚动的存储方式存储至外部存储器模块内。
在本实施例的一个优选实施例中,步骤S5中,当专用调试芯片内的调试信号触发条件发生时,调试数据回读至专用调试芯片的过程中,多芯片系统的多个芯片接收的调试数据暂停经步骤S1至步骤S4向外部存储器模块存储。
专有调试芯片来进行多芯片系统的调试数据采集,可以支持4个或以上的用户芯片同步并行调试,解决了传统多芯片调试系统一次只能调试1颗用户芯片的难题。
实施例2:
本实施例提供了一种多芯片的并行深度调试系统,并行深度调试系统采用并行深度调试方法对多个芯片进行同时同步的并行调试。本实施例的并行深度调试系统通过实施例1的并行深度调试方法对多芯片系统的至少2个芯片进行同时同步的并行调试。
如图2至图3所示,本实施例以对多芯片系统的4个芯片(芯片0、芯片1、芯片2、芯片3)进行同时同步的并行调试进行说明。
并行深度调试系统包括多个芯片,芯片内设有调试数据接收模块、并串转换模块、调试数据封装模块、数据包发送模块。具体的,调试数据接收模块用于将调试数据接收至各个芯片内;调试数据封装模块用于将芯片接收到的各个调试数据封装成数据包;并串转换模块用于将数据包转换成高速串行数据包;数据包发送模块可以为高宽带、低延迟的数据传输通道,以便于实现用户将多个芯片的调试数据到专用调试芯片内。
并行深度调试系统还包括专用调试芯片,专用调试芯片上设有数据包接收端口、调试端口、高速上位机端口。具体的,数据包接收端口用于接收各个芯片的数据包发送模块输出的高速串行数据包并转换为高速并行数据包;调试端口用于用户实时设定调试数据的触发条件,并进行触发条件的监控;高速上位机端口用于将专用调试芯片的调试数据发送至上位机。
专用调试芯片用于接收芯片的调试数据,接收调试信号的触发条件,并对上位机发送调试数据进行调试。具体的,上位机经专用调试芯片上的高速上位机端口与专用调试芯片电连接,上位机接收、存储回读的调试数据,存储成通用的标准调试数据波形文件进行多芯片系统的调试数据深度分析。
本发明通过多芯片的并行深度调试系统内专用调试芯片的设置,实时且同步接收多个芯片的高速串行数据包,经高速上位机端口发送至上位机,实现了芯片的同时同步的并行调试,提高了用户芯片调试的效率,解决了传统多芯片调试系统一次只能调试1个芯片的难题。
进一步的,并行深度调试系统还包括外部存储器模块,且专用调试芯片上还设有存储模块端口,外部存储器模块经存储模块端口与专用调试芯片双向电连接。外部存储器模块用于接收专用调试芯片发送的调试数据,或者向专用调试芯片回读存储的调试数据。多个芯片的调试数据可以存储在外部存储器模块内,当调试信号的触发条件发生后,再从外部存储器模块内回读调试数据,解决了各个芯片内的存储空间小,不能满足海量的调试数据存储的问题。在本实施例中,外部存储器模块可以选用DDR4内存存储器,其存储容量可以高达8GB以上,存储空间比芯片的内部存储空间增大了上千倍,解决了传统多芯片调试系统调试数据存储空间不够的问题。
进一步的,专用调试芯片内还设有配置模块,配置模块用于对多芯片系统的各个芯片的调试数据进行同步对齐,并经滚动的方式存储至外部存储器模块内。如图1所示,通过GTX时钟,将4个芯片,如芯片0、芯片1、芯片2、芯片3的调试数据分别编号并以时钟进行对齐。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。