CN115293080B - 基于追踪文件的芯片调试*** - Google Patents
基于追踪文件的芯片调试*** Download PDFInfo
- Publication number
- CN115293080B CN115293080B CN202211159094.8A CN202211159094A CN115293080B CN 115293080 B CN115293080 B CN 115293080B CN 202211159094 A CN202211159094 A CN 202211159094A CN 115293080 B CN115293080 B CN 115293080B
- Authority
- CN
- China
- Prior art keywords
- dut
- bus interface
- target
- signal
- interface data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于追踪文件的芯片调试***,实现步骤S1、基于DUTH获取每一ITk对应的描述信息;步骤S2、从DUTH中转存每一ITk对应的有效总线接口数据记录;步骤S3、从ITCLn对应的所有ITk的原始追踪文件中提取激励信号,并发送给对应的仿真模型;步骤S4、转存ITCLn中每一ITk对应的第一有效总线接口数据记录,生成第一追踪文件,转存ITCLn中每一ITk对应的第二有效总线接口数据记录,生成第二追踪文件;步骤S5、基于DUTLn中所有ITk对应的第一追踪文件和第二追踪文件对DUTLn进行追踪调试,快速准确定位DUTLn中的问题点。本发明提高了芯片验证调试的效率。
Description
技术领域
本发明涉及芯片技术领域,尤其涉及一种基于追踪文件的芯片调试***。
背景技术
芯片通常为多层级设计,规模巨大,芯片设计和芯片验证是研发过程中的重要阶段,在芯片设计和芯片验证过程中,需要追踪定位芯片设计问题点,进行芯片调试(Debug)。当发现高层级(High Level)的待测设计(Design Under Test ,简称DUT)出现问题时,需要进一步对高层级所包括的低层级的DUT设计进行验证,定位问题点。由于在芯片验证过程中通常由验证平台产生随机约束激励的方式进行验证,因此无法重复采用相同的激励验证低层级的设计,很难快速准确定位低层级设计的问题,导致芯片调试效率低。
发明内容
本发明目的在于,提供一种基于追踪文件的芯片调试***,能够基于高层级待测设计DUT 转存(dump)的追踪文件,以相同的激励调试低层级待测设计DUT,从而快速准确定位问题点,提高了芯片验证调试的效率。
本发明提供了一种基于追踪文件的芯片调试***,包括总线接口配置文件、高层级待测设计DUTH、DUTH对应的N个低层级待测设计{DUTL1,DUTL2,…,DUTLn ,…,DUTLN}、存储有计算机程序的存储器和处理器,其中,DUTH={UH1,UH2,…,UHM},UH1,UH2,…,UHM为DUTH的组成模块,M为DUTH的组成模块数量,UH1,UH2,…,UHM层级设置;{DUTL1,DUTL2,…, DUTLn ,…,DUTLN}为{UH1,UH2,…,UHM}的子集;DUTLn为DUTH对应的第n个低层级待测设计,n的取值范围为1到N,DUTLn={UL1 n,UL2 n,…,ULf(n) n}, UL1 n,UL2 n,…,ULf(n) n为DUTLn的组成模块,f(n)为DUTLn包括的组成模块数量,UL1 n,UL2 n,…,ULf(n) n层级设置;{UL1 n,UL2 n,…,ULf(n) n}为{UH1,UH2,…,UHM}的子集;Ui和Uj为两个具有互联关系的组成模块,Ui和Uj均属于{UH1,UH2,…,UHM}或者均属于{UL1 n,UL2 n,…,ULf(n) n};Ui和Uj之间通过至少一个总线接口互联,Ui和Uj为兄弟模块或者为父子模块,具有互联关系兄弟模块或者父子模块之间通过至少一个总线接口互联;所述总线接口配置文件包括{ITCL1,ITCL2,…, ITCLn,…,ITCLN },ITCLn为DUTLn的目标总线接口列表,每一ITCLn中包括至少一个目标总线接口ITk,k的取值范围为1到K,K为目标总线接口总数;
所述处理器执行所述计算机程序时,实现以下步骤:
步骤S1、基于DUTH获取每一ITk对应的描述信息,所述描述信息包括ITk对应的组成模块标识、总线接口标识、总线接口信号与ITk的信号映射信息、数据有效标识约束信息、信号描述信息,所述总线接口标识基于总线接口对应的层级信息和总线接口实例名称生成,所述信号描述信息包括信号方向;
步骤S2、运行DUTH,从DUTH中转存 每一ITk对应的有效总线接口数据记录,所述有效总线接口数据记录包括ITk中每一信号对应的信号值、绝对时间和/或时钟周期序号,基于ITk对应的描述信息和有效总线接口数据记录生成原始追踪文件;
步骤S3、根据信号方向和信号值从ITCLn对应的所有ITk的原始追踪文件中提取激励信号,并根据绝对时间和/或时钟周期序号按预设顺序将对应的激励信号发送给DUTLn和DUTLn对应的仿真模型;
步骤S4、从DUTLn中转存 ITCLn中每一ITk对应的第一有效总线接口数据记录,从对应的仿真模型中转存 ITCLn中每一ITk对应的第二有效总线接口数据记录,基于ITk对应的描述信息和第一有效总线接口数据记录生成第一追踪文件,基于ITk对应的描述信息和第二有效总线接口数据记录生成第二追踪文件;
步骤S5、基于DUTLn中所有ITk对应的第一追踪文件和第二追踪文件对DUTLn进行追踪调试,从而定位DUTLn中的问题点。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种基于追踪文件的芯片调试***可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
本发明能够基于高层级的DUT 转存的追踪文件,以相同的激励调试低层级待测设计DUT,从而快速准确定位问题点,提高了芯片验证调试的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例提供的基于追踪文件的芯片调试***示意图;
图2为本发明一种实施例提供的追踪文件格式示意图;
图3为本发明另一种实施例提供的追踪文件格式意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于追踪文件的芯片调试***的具体实施方式及其功效,详细说明如后。
本发明实施例提供了一种基于追踪文件的芯片调试***,如图1所示,包括总线接口配置文件、高层级待测设计DUTH、DUTH对应的N个低层级待测设计{DUTL1,DUTL2,…, DUTLn,…,DUTLN}、存储有计算机程序的存储器和处理器,其中,DUTH={UH1,UH2,…,UHM},UH1,UH2,…,UHM为DUTH的组成模块,M为DUTH的组成模块数量,UH1,UH2,…,UHM层级设置;{DUTL1,DUTL2,…,DUTLn ,…,DUTLN}为{UH1,UH2,…,UHM}的子集;DUTLn为DUTH对应的第n个低层级待测设计,n的取值范围为1到N,DUTLn={UL1 n,UL2 n,…,ULf(n) n}, UL1 n,UL2 n,…,ULf(n) n为DUTLn的组成模块,f(n)为DUTLn包括的组成模块数量,UL1 n,UL2 n,…,ULf(n) n层级设置;{UL1 n,UL2 n,…,ULf(n) n}为{UH1,UH2,…,UHM}的子集;Ui和Uj为两个具有互联关系的组成模块。需要说明的是,DUTH为初步选定的存在问题点的高层级待测设计DUT。
Ui和Uj均属于{UH1,UH2,…,UHM}或者均属于{UL1 n,UL2 n,…,ULf(n) n};Ui和Uj之间通过至少一个总线接口互联,Ui和Uj为兄弟模块或者为父子模块,具有互联关系兄弟模块或者父子模块之间通过至少一个总线接口互联可以理解的是,Ui和Uj满足均属于{UL1 n,UL2 n,…,ULf(n) n}时,一定也满足均属于{UH1,UH2,…,UHM}。Ui和Uj满足均属于{UH1,UH2,…,UHM}时,不一定满足均属于{UL1 n,UL2 n,…,ULf(n) n}。
所述总线接口配置文件包括{ITCL1,ITCL2,…, ITCLn,…,ITCLN},ITCLn为DUTLn的目标总线接口列表,每一ITCLn中包括至少一个目标总线接口ITk,k的取值范围为1到K,K为目标总线接口总数。需要说明的是,DUTH为待调试的高层级芯片设计,需要在DUTH包含的低层级的芯片设计中定位问题点。芯片设计规模巨大,因此不宜将DUTH中所有的接口信息的数据全部转存(Dump),因为全部转存会消耗大量的资源,导致调试过程缓慢。而在调试过程中,是可以划定可能的问题点区域的,因此可以通过设置总线接口配置文件选定目标总线接口ITk,提高调试效率,减小资源消耗。
所述处理器执行所述计算机程序时,实现以下步骤:
步骤S1、基于DUTH获取每一ITk对应的描述信息,所述描述信息包括ITk对应的组成模块标识、总线接口标识、总线接口信号与ITk的信号映射信息、数据有效标识约束信息、信号描述信息,所述信号描述信息包括信号方向。
其中,ITk对应的组成模块可以为ITk的发起端组成模块或者接收端组成模块,ITk对应的总线接口信息存储在对应的组成模块中,可以理解的是,每一总线接口信息均存储在对应的发起端组成模块,或者存储在对应的接收端组成模块。所述描述信息还包括ITk对应的总线接口类型标识。所述信号描述信息还可以包括信号宽度。
步骤S2、运行DUTH,从DUTH中转存每一ITk对应的有效总线接口数据记录,所述有效总线接口数据记录包括ITk中每一信号对应的信号值、绝对时间和/或时钟周期(Cycle)序号,基于ITk对应的描述信息和有效总线接口数据记录生成原始追踪文件。
其中,通过DUTH对应的验证平台(Testbench)驱动DUTH。时钟周期序号表示对应第几个时钟周期,绝对时间表示从初始时刻开始计时,采集一条有效总线接口数据记录对应的一组信号对应的时间。
步骤S3、根据信号方向和信号值从ITCLn对应的所有ITk的原始追踪文件中提取激励信号,并根据绝对时间和/或时钟周期序号按预设顺序将对应的激励信号发送给DUTLn和DUTLn对应的仿真模型。
其中,根据信号方向能够获取信号方向为Input的激励信号,根据绝对时间和/或时钟周期序号可以确定激励信号的发送顺序和时间,将激励信号按预设顺序将对应的激励信号发送给DUTLn和DUTLn对应的仿真模型能够实现相同激励下的回放(Replay),从而能够在相同激励的条件下,快速准确地从低层次的DUT中确定问题点。
步骤S4、从DUTLn中转存 ITCLn中每一ITk对应的第一有效总线接口数据记录,从对应的仿真模型中转存 ITCLn中每一ITk对应的第二有效总线接口数据记录,基于ITk对应的描述信息和第一有效总线接口数据记录生成第一追踪文件,基于ITk对应的描述信息和第二有效总线接口数据记录生成第二追踪文件;
步骤S5、基于DUTLn中所有ITk对应的第一追踪文件和第二追踪文件对DUTLn进行追踪调试,从而定位DUTLn中的问题点。
作为一种实施例,所述步骤S5之后还包括:
步骤S6、修改DUTLn中的问题点,返回重新执行步骤S3至步骤S4,生成ITk对应的修改后第一追踪文件和修改后第二追踪文件,基于修改后第一追踪文件和修改后第二追踪文件判断DUTLn中的问题点是否修复。
需要说明的是,在芯片开发的前期和中期,芯片设计以及验证平台都未完善,采用本发明所述***进行相同激励下的回放,能够迅速定位问题,提高芯片调试效率,辅助芯片设计和芯片验证,进而也提高了芯片验证和设计的效率。
修改问题点之后,返回执行步骤S3至步骤S4,仍然可以采用原始追踪文件中相同的激励来运行修改后的DUTLn,从而快速准确地判断DUTLn中的问题点是否修复。
作为一种实施例,所述原始追踪文件、第一追踪文件和第二追踪文件均按照预设的追踪文件格式生成,所述预设的追踪文件格式包括第一文件区域和第二文件区域,所述第一文件区域用于存储ITk对应的描述信息,所述第二文件区域用于存储有效总线接口数据记录。所述有效总线接口数据记录逐行存储,即每一有效总线接口数据记录占据一行,如图2所示示例。所述有效总线接口数据记录也可以逐列存储,即每一有效总线接口数据记录占据一列,如图3所示示例。通过追踪文件能够快速准确获取任意一个目标总线接口总线对应的目标数据,实现芯片性能验证,图2和图3中均为Z表示有效总线接口数据记录总条数,标号1表示第一文件区域,标号2表示第二文件区域。
作为一种实施例,设置组成模块Modi1为{UH1,UH2,…,UHM}或{UL1 n,UL2 n,…,ULf(n) n}中的元素,Modi1具体可以为原子单元或者是由原子单元组成的模块,原子单元预先设置有对应的RTL代码,RTL代码具体可以采用Verilog、System Verilog、VHDL等硬件编程语言编写。设置 Modi1包括模块唯一标识MIDi1、与Modi1的子模块互联的Z1(i1)个模块内部总线接口(Interior Interface)列表(InI1,InI2,...,InIZ1(i1))、以及与Modi1的兄弟模块互联的Z2(i1)个模块外部总线接口(External Interface)列表(MExI1,MExI2,...,MExIZ2(i1))。所述Modi1的子模块为位于Modi1内部的且比Modi1低一个层级的组成模块。DUT中还包括基于所有组成模块对应的内部总线接口列表和外部总线接口列表可以生成K4个设计互联组装DIY(Design Interconnect assemblY)=(X1_Y1_CMD1, X2_Y2_CMD2,...,Xi5_Yi5_CMDi5,...,XK4_YK4_CMDK4),其中,Xi5和Yi5也为{UH1,UH2,…,UHM}或{UL1 n,UL2 n,…,ULf(n) n}中的元素,i5的取值范围为1到K4;Xi5和Yi5互为兄弟模块,或者Xi5为Yi5的父模块,或者Yi5为Xi5的父模块。
作为一种实施例,Xi5和Xi6可以相同,也可以不同;Yi5和Yi6可以相同,也可以不同;i6的取值范围为1到K4。CMDi5为IDF-ID,用于从总线接口描述重构库获取对应的总线接口细节信息,总线接口描述重构库包括K3个预先定义的总线接口重构结构IDF(InterfaceDescription reFactor)=(IDF1,IDF2,..., IDFi3,...,IDFK3),K3≥0。其中,IDFi3包括总线接口唯一标识IDF-IDi3、Z4(i3)个信号(Sigi3 1,Sigi3 2,..., Sigi3 i4,...,Sigi3 z4(i3)),Sigi3 i4包括信号方向、信号宽度Wid(i3,i4)、复位(ReSeT)值(RSTi3i4 1,RSTi3i4 2,...,RSTi3i4 Wid(i3 ,i4))、默认(Default)值(Defi3i4 1,Defi3i4 2,...,Defi3i4 Wid(i3,i4))以及数据有效标识约束信息。i3的取值为1到K3,i4的取值为1到Z4(i3),Z4(i3)是i3的函数。
优选的,IDF-IDi3与总线接口类型相关。总线接口类型例如是AMBA总线、PCIE总线、SATA总线、USB总线、HBM总线或自定义总线接口类型等。所述信号方向可被设置为输入方向(Input)、输出方向(Output)和双向方向(Inout)。所述信号宽度Wid(i3,i4)为信号Sigi3 i4所使用的信号线(Wire)的数量。
作为一种实施例,ITk对应的信号包括至少一个有效标识信号、追踪id信号和数据信号,所述数据有效标识约束信息包括基于所有有效标识信号生成的约束条件。以ITk对应的信号包括{Si1,Si2,…,SiR}为例,则可以仅设置Si1为有效标识信号,当Si1的信号值等于预设的信号值时,说明对应的Si2,…,SiR为有效数据。也可以为多个信号,例如Si1,Si2, Si3的信号值之间满足预设的约束条件,例如相加等于一个预设的信号值时,对应的Si1,Si4,…,SiR为有效数据。其中一个信号,例如SiR为追踪id信号,具体可以设置为结构体或联合体,需要说明的是,追踪id在同一条数据链中,传递的同一数据是相同的,但是由于不同的总线接口总线对应的信号格式可能不同,因此,追踪id在不同的总线接口总线对应的形态可能不同,通过总线接口对应的编码规则对追踪信号id进行解码即可得到追踪信号id的信号值,从而追踪信号id在多个ITk对应的追踪文件进行问题追踪。追踪id信号和有效标识信号对应不同的信号,ITk对应的信号中除了有效标识信号、追踪id信号之外的所有信号均为数据信号。
基于上述Ui1、DIY、IDF信息可以自动生成ITk对应的描述信息。
作为一种实施例,ITk对应的信号包括至少一个有效标识信号、追踪id信号和数据信号,所述数据有效标识约束信息包括基于所有有效标识信号生成的约束条件。所述步骤S2中,当ITk对应的有效标识信号满足对应的数据有效标识约束信息时,执行从DUTH中转存每一ITk对应的有效总线接口数据记录操作;所述步骤S4中,当DUTLn中ITk对应的有效标识信号满足对应的数据有效标识约束信息时,从DUTLn中转存 ITk对应的第一有效总线接口数据记录;当ITk对应的仿真模型中对应的有效标识信号满足对应的数据有效标识约束信息时,从ITk对应的仿真模型中转存 ITk对应的第二有效总线接口数据记录。
作为一种实施例,所述步骤S5包括:
步骤S51、基于ITk对应的总线接口标识获取对应的第一追踪文件和第二追踪文件。
步骤S52、基于目标追踪id确定ITk对应的第一目标有效总线接口数据记录和第二目标有效总线接口数据记录。
步骤S53、基于ITk对应的第一目标有效总线接口数据记录和第二目标有效总线接口数据记录对ITk对应的组成模块进行功能验证。
需要说明的是,仿真模型中是可能对数据进行压缩或组包的,从而导致从仿真模型中输出的数据和从DUTLn中的对应组成模块输出的数据顺序、格式等不同。例如,DUTLn中的对应组成模块输出5个按照一定顺序排列数据,而仿真模型输出的对应5个数据的顺序和DUTLn中的对应组成模块输出不同,或者其中2个数据组合在一起等等。因此,需要对第一有效总线接口数据记录和第二有效总线接口数据记录进行转换后进行对比。作为一种实施例,所述步骤S53包括:
步骤S531、判断DUTLn中每一ITk对应的第一目标有效总线接口数据记录和第二目标有效总线接口数据记录的数据结构是否一致,若一致,则直接执行步骤S533,否则,执行步骤S532。
步骤S532、将第二目标有效总线接口数据记录转换为与第一目标有效总线接口数据记录相同的数据结构,或者将第一目标有效总线接口数据记录和第二目标有效总线接口数据记录均转换为相同的预设目标数据结构。
具体可以通过脚本以非二义化的方式进行数据结构转换。需要说明的是,现有的任何通过脚本将第一目标有效总线接口数据记录和第二目标有效总线接口数据记录的数据结构转换为相同的实施方式均落入本发明保护范围之内。通过步骤S532可以实现对第一有效总线接口数据记录和第二有效总线接口数据记录公共部分进行提取。
步骤S533、逐一对比ITk对应的第一目标有效总线接口数据记录和第二目标有效总线接口数据记录中每一信号值,若均一致,则ITk功能验证通过,否则确定该ITk为DUTLn中的问题点。
作为一种实施例,所述步骤S5包括:
步骤S51’、基于DUTLn中每一ITk对应的第一追踪文件中的信号宽度、绝对时间和/或时钟周期序号、所选择的第一有效总线接口数据记录行数确定ITk对应的吞吐量。
具体的,ITk对应的信号列表为{Si1,Si2,…, Siik,…,Sif(k)}, Siik为ITk对应的第ik个信号,ik的取值范围为1到f(k), f(k)为k的函数,Siik对应的信号宽度为Weik,所述步骤S51’包括:
步骤S511’、基于ITk对应的总线接口标识获取对应的追踪文件。
步骤S512’、从ITk对应的追踪文件中选取F行有效总线接口数据记录,基于 F行有效总线接口数据记录对应的绝对时间和/或时钟周期序号确定采集F行有效总线接口数据记录所需时间TF,基于TF、Weik、F确定ITk对应的吞吐量THk:
步骤S513’、基于DUTLn中每一ITk对应的一组目标请求信息和目标响应信息对应的绝对时间和/或时钟周期序号确定ITk对应延时。
步骤S514’、基于ITk对应延时和吞吐量与Tk对应的预设的目标延时和目标吞吐量对比,若匹配,则ITk性能验证通过,否则确定该ITk为DUTLn中的问题点。
需要说明的是,目标延时和目标吞吐量可以通过设置一个配置文件来配置,且可直接通过更改配置文件来更改目标延时和目标吞吐量。吞吐量目标值和延时目标值可以为具体的数值,也可以为数值范围,具体根据性能测试需求来确定。若吞吐量目标值和延时目标值为具体数值,则ITk对应的吞吐量与所述配置文件中对应的吞吐量目标值相等时确定为吞吐量匹配。ITk对应的延时与所述配置文件中对应的延时目标值相等时确定为延时匹配。若吞吐量目标值和延时目标值为数值范围,则ITk对应的吞吐量在吞吐量目标值的数值范围内时,确定为吞吐量匹配;若ITk对应的延时在延时目标值的数值范围内时,确定为延时匹配。
对DUTL进行调试时,一种可能是任何一个DUTLn均不确定问题点,通过逐个调试来确定。另一种可能已经确定其中一些DUTLn存在问题点,需要定位问题点的具***置。对于已经确定存在问题点的DUTLn,可以标识为指定问题DUT,若所有DUTLn均不是指定问题DUT,则所述步骤S5还包括:
步骤S54、若DUTLn中所有ITk的功能和性能均验证通过,则DUTLn验证通过;
步骤S55、若所有DUTLn均验证通过,则生成集成预警信息。
需要说明的是,DUTH存在问题点,而每一个DUTLn分别验证时都不存在问题,则即极有可能是DUTLn之间的集成存在问题,因此生成集成预警信息。
作为一种实施例,若DUTLn为指定问题DUT,若DUTLn中所有ITk的功能和性能均验证通过,则执行:
步骤S56、基于DUTLn对应的验证平台TBLn生成包括TBLn标识的验证平台预警信息。
需要说明的是,DUTLn为指定问题DUT,说明一定存在问题点,而DUTLn中所有ITk的功能和性能均验证通过,则能及时发现验证平台存在问题,因此生成验证平台预警信息,基于验证平台预警信息修改验证平台,提高验证平台的鲁棒性和准确性。
本发明实施例所述***能够基于高层级的DUT 转存的追踪文件,以相同的激励调试低层级待测设计DUT,从而快速准确定位问题点,提高了芯片验证调试的效率,辅助芯片设计和芯片验证及时发现问题进行修正,进而提高了芯片设计和验证的效率。
需要说明的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (6)
1.一种基于追踪文件的芯片调试***,其特征在于,
包括总线接口配置文件、高层级待测设计DUTH、DUTH对应的N个低层级待测设计{DUTL1,DUTL2,…,DUTLn,…,DUTLN}、存储有计算机程序的存储器和处理器,其中,DUTH={UH1,UH2,…,UHM},UH1,UH2,…,UHM为DUTH的组成模块,M为DUTH的组成模块数量,UH1,UH2,…,UHM层级设置;{DUTL1,DUTL2,…,DUTLn,…,DUTLN}为{UH1,UH2,…,UHM}的子集;DUTLn为DUTH对应的第n个低层级待测设计,n的取值范围为1到N,DUTLn={UL1 n,UL2 n,…,ULf(n) n}, UL1 n,UL2 n,…,ULf(n) n为DUTLn的组成模块,f(n)为DUTLn包括的组成模块数量,UL1 n,UL2 n,…,ULf(n) n层级设置;{UL1 n,UL2 n,…,ULf(n) n}为{UH1,UH2,…,UHM}的子集;Ui和Uj为两个具有互联关系的组成模块,Ui和Uj均属于{UH1,UH2,…,UHM}或者均属于{UL1 n,UL2 n,…,ULf(n) n};Ui和Uj之间通过至少一个总线接口互联,Ui和Uj为兄弟模块或者为父子模块,具有互联关系兄弟模块或者父子模块之间通过至少一个总线接口互联;所述总线接口配置文件包括{ITCL1,ITCL2,…,ITCLn,…,ITCLN },ITCLn为DUTLn的目标总线接口列表,每一ITCLn中包括至少一个目标总线接口ITk,k的取值范围为1到K,K为目标总线接口总数;
所述处理器执行所述计算机程序时,实现以下步骤:
步骤S1、基于DUTH获取每一ITk对应的描述信息,所述描述信息包括ITk对应的组成模块标识、总线接口标识、总线接口信号与ITk的信号映射信息、数据有效标识约束信息、信号描述信息,所述总线接口标识基于总线接口对应的层级信息和总线接口实例名称生成,所述信号描述信息包括信号方向;
步骤S2、运行DUTH,从DUTH中转存每一ITk对应的有效总线接口数据记录,所述有效总线接口数据记录包括ITk中每一信号对应的信号值、绝对时间和/或时钟周期序号,基于ITk对应的描述信息和有效总线接口数据记录生成原始追踪文件;
步骤S3、根据信号方向和信号值从ITCLn对应的所有ITk的原始追踪文件中提取激励信号,并根据绝对时间和/或时钟周期序号按预设顺序将对应的激励信号发送给DUTLn和DUTLn对应的仿真模型;
步骤S4、从DUTLn中转存 ITCLn中每一ITk对应的第一有效总线接口数据记录,从对应的仿真模型中转存 ITCLn中每一ITk对应的第二有效总线接口数据记录,基于ITk对应的描述信息和第一有效总线接口数据记录生成第一追踪文件,基于ITk对应的描述信息和第二有效总线接口数据记录生成第二追踪文件;
步骤S5、基于DUTLn中所有ITk对应的第一追踪文件和第二追踪文件对DUTLn进行追踪调试,从而定位DUTLn中的问题点;
所述步骤S5包括:
步骤S51、基于ITk对应的总线接口标识获取对应的第一追踪文件和第二追踪文件;
步骤S52、基于目标追踪id确定ITk对应的第一目标有效总线接口数据记录和第二目标有效总线接口数据记录;
步骤S53、基于ITk对应的第一目标有效总线接口数据记录和第二目标有效总线接口数据记录对ITk对应的组成模块进行功能验证;
所述步骤S53包括:
步骤S531、判断DUTLn中每一ITk对应的第一目标有效总线接口数据记录和第二目标有效总线接口数据记录的数据结构是否一致,若一致,则直接执行步骤S533,否则,执行步骤S532;
步骤S532、将第二目标有效总线接口数据记录转换为与第一目标有效总线接口数据记录相同的数据结构,或者将第一目标有效总线接口数据记录和第二目标有效总线接口数据记录均转换为相同的预设目标数据结构;
步骤S533、逐一对比ITk对应的第一目标有效总线接口数据记录和第二目标有效总线接口数据记录中每一信号值,若均一致,则ITk功能验证通过,否则确定该ITk为DUTLn中的问题点。
2.根据权利要求1所述的***,其特征在于,
所述步骤S5之后还包括:
步骤S6、修改DUTLn中的问题点,返回重新执行步骤S3至步骤S4,生成ITk对应的修改后第一追踪文件和修改后第二追踪文件,基于修改后第一追踪文件和修改后第二追踪文件判断DUTLn中的问题点是否修复。
3.根据权利要求1所述的***,其特征在于,
ITk对应的信号包括至少一个有效标识信号、追踪id信号和数据信号,所述数据有效标识约束信息包括基于所有有效标识信号生成的约束条件;
所述步骤S2中,当ITk对应的有效标识信号满足对应的数据有效标识约束信息时,执行从DUTH中转存 每一ITk对应的有效总线接口数据记录操作;
所述步骤S4中,当DUTLn中ITk对应的有效标识信号满足对应的数据有效标识约束信息时,从DUTLn中转存 ITk对应的第一有效总线接口数据记录;
当ITk对应的仿真模型中对应的有效标识信号满足对应的数据有效标识约束信息时,从ITk对应的仿真模型中转存 ITk对应的第二有效总线接口数据记录。
4.根据权利要求1所述的***,其特征在于,
所述信号描述信息还包括信号宽度,所述步骤S5包括:
步骤S51’、基于DUTLn中每一ITk对应的第一追踪文件中的信号宽度、绝对时间和/或时钟周期序号、所选择的第一有效总线接口数据记录行数确定ITk对应的吞吐量;
步骤S52’、基于DUTLn中每一ITk对应的一组目标请求信息和目标响应信息对应的绝对时间和/或时钟周期序号确定ITk对应延时;
步骤S53’、基于ITk对应延时和吞吐量与Tk对应的预设的目标延时和目标吞吐量对比,若匹配,则ITk性能验证通过,否则确定该ITk为DUTLn中的问题点。
5.根据权利要求4所述的***,其特征在于,
若所有DUTLn均不是指定问题DUT,则所述步骤S5还包括:
步骤S54、若DUTLn中所有ITk的功能和性能均验证通过,则DUTLn验证通过;
步骤S55、若所有DUTLn均验证通过,则生成集成预警信息。
6.根据权利要求4所述的***,其特征在于,
若DUTLn为指定问题DUT,若DUTLn中所有ITk的功能和性能均验证通过,则执行:
步骤S56、基于DUTLn对应的验证平台TBLn生成包括TBLn标识的验证平台预警信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211159094.8A CN115293080B (zh) | 2022-09-22 | 2022-09-22 | 基于追踪文件的芯片调试*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211159094.8A CN115293080B (zh) | 2022-09-22 | 2022-09-22 | 基于追踪文件的芯片调试*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115293080A CN115293080A (zh) | 2022-11-04 |
CN115293080B true CN115293080B (zh) | 2023-01-31 |
Family
ID=83834295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211159094.8A Active CN115293080B (zh) | 2022-09-22 | 2022-09-22 | 基于追踪文件的芯片调试*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115293080B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686655B (zh) * | 2022-11-14 | 2023-06-13 | 沐曦集成电路(上海)有限公司 | 用于gpu ip验证的联合仿真*** |
CN117077588B (zh) * | 2023-10-16 | 2024-01-23 | 沐曦集成电路(上海)有限公司 | 硬件加速仿真调试*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411535A (zh) * | 2011-08-02 | 2012-04-11 | 上海交通大学 | 导航SoC芯片仿真、验证和调试平台 |
CN103748562A (zh) * | 2010-12-23 | 2014-04-23 | 英特尔公司 | 测试、验证和调试架构 |
CN112685278A (zh) * | 2021-01-05 | 2021-04-20 | 上海擎昆信息科技有限公司 | 一种芯片驱动追踪调试方法和装置 |
CN112685212A (zh) * | 2021-01-05 | 2021-04-20 | 上海擎昆信息科技有限公司 | 一种处理器异常的调试追踪方法、装置和*** |
CN114896174A (zh) * | 2022-07-12 | 2022-08-12 | 北京云枢创新软件技术有限公司 | 用于后处理调试的数据处理*** |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004086447A (ja) * | 2002-08-26 | 2004-03-18 | Renesas Technology Corp | マイクロコンピュータ |
CN101493847A (zh) * | 2008-01-22 | 2009-07-29 | 中兴通讯股份有限公司 | 一种通讯片上***芯片追踪调试的方法及装置 |
CN101593218B (zh) * | 2008-05-28 | 2012-05-09 | 中兴通讯股份有限公司 | 芯片维护方法 |
CN103593271A (zh) * | 2012-08-13 | 2014-02-19 | 中兴通讯股份有限公司 | 一种片上***芯片追踪调试的方法及装置 |
CN108170571B (zh) * | 2017-12-22 | 2020-11-03 | 苏州中晟宏芯信息科技有限公司 | 一种芯片追踪调试装置及方法 |
CN109684672B (zh) * | 2018-11-30 | 2022-12-02 | 上海芯钛信息科技有限公司 | 一种soc芯片***级验证***及方法 |
CN114236359B (zh) * | 2021-12-21 | 2023-08-08 | 无锡江南计算技术研究所 | 面向ate测试设备的集成电路测试激励生成方法 |
CN114780402A (zh) * | 2022-04-21 | 2022-07-22 | 南京英锐创电子科技有限公司 | 一种芯片仿真***的调试方法、装置及服务器 |
-
2022
- 2022-09-22 CN CN202211159094.8A patent/CN115293080B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103748562A (zh) * | 2010-12-23 | 2014-04-23 | 英特尔公司 | 测试、验证和调试架构 |
CN102411535A (zh) * | 2011-08-02 | 2012-04-11 | 上海交通大学 | 导航SoC芯片仿真、验证和调试平台 |
CN112685278A (zh) * | 2021-01-05 | 2021-04-20 | 上海擎昆信息科技有限公司 | 一种芯片驱动追踪调试方法和装置 |
CN112685212A (zh) * | 2021-01-05 | 2021-04-20 | 上海擎昆信息科技有限公司 | 一种处理器异常的调试追踪方法、装置和*** |
CN114896174A (zh) * | 2022-07-12 | 2022-08-12 | 北京云枢创新软件技术有限公司 | 用于后处理调试的数据处理*** |
Also Published As
Publication number | Publication date |
---|---|
CN115293080A (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115293080B (zh) | 基于追踪文件的芯片调试*** | |
CN112100952B (zh) | 一种集成电路后仿真方法、装置、电子设备及存储介质 | |
US10732221B2 (en) | Signal tracing using on-chip memory for in-system post-fabrication debug | |
US7478346B2 (en) | Debugging system for gate level IC designs | |
US6074426A (en) | Method for automatically generating behavioral environment for model checking | |
US7421670B2 (en) | Chip development system enabled for the handling of multi-level circuit design data | |
US6370675B1 (en) | Semiconductor integrated circuit design and evaluation system using cycle base timing | |
JP2002215712A (ja) | Ic設計の検証方法 | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
US7761825B2 (en) | Generating testcases based on numbers of testcases previously generated | |
US6370493B1 (en) | Simulation format creation system and method | |
US6067652A (en) | Tester-compatible timing translation system and method using time-set partnering | |
CN115470750A (zh) | 基于追踪文件的芯片性能验证*** | |
WO2023245719A1 (zh) | 时序逻辑元件性能检查方法及设备 | |
US7823101B2 (en) | Device, method, and storage for verification scenario generation, and verification device | |
CN115470748A (zh) | 一种芯片仿真加速方法、装置、电子设备及存储介质 | |
US20070192753A1 (en) | Technique for generating input stimulus to cover properties not covered in random simulation | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
CN115470752B (zh) | 基于追踪文件的芯片功能验证*** | |
CN116227398B (zh) | 一种自动化生成ip核测试激励的方法及*** | |
CN112731117A (zh) | 芯片的自动验证方法和***,及存储介质 | |
US8661302B2 (en) | Enhanced debug/test capability to a core reset process | |
CN112861455B (zh) | Fpga建模验证***及方法 | |
US20120124440A1 (en) | Lbist diagnostic scheme | |
JP3955301B2 (ja) | デジタル回路を検証するための方法、装置、プログラムおよびプログラムを格納したデジタル記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |