CN115470751B - 基于内存数据库的追踪信息生成系统 - Google Patents
基于内存数据库的追踪信息生成系统 Download PDFInfo
- Publication number
- CN115470751B CN115470751B CN202211160339.9A CN202211160339A CN115470751B CN 115470751 B CN115470751 B CN 115470751B CN 202211160339 A CN202211160339 A CN 202211160339A CN 115470751 B CN115470751 B CN 115470751B
- Authority
- CN
- China
- Prior art keywords
- bus interface
- memory database
- dut
- data
- page table
- 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/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Test And Diagnosis Of Digital Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于内存数据库的追踪信息生成系统,实现步骤S1、基于第一直接编程接口在内存数据库中按照预设的页表格式为ITk建立追踪页表Pk;步骤S2、运行DUT和/或仿真模型,获取ITk中每一信号对应的信号值转换为整型数据,通过第二直接编程接口发送至所述内存数据库,基于ITk中每一信号对应的信号值整型数据生成对应的有效总线接口数据记录,存储至Pk的第二页表区域;步骤S3、基于Pk生成每一ITk对应的追踪文件或生成SQL数据库。本发明无需实时大批量访问I/O文件接口,不受I/O文件接口访问数量阈值的限制,提高了实时系统性能,基于追踪文件能够对DUT进行功能验证或性能验证,完善芯片设计以及对应的测试平台,提高了芯片设计效率和芯片验证效率。
Description
技术领域
本发明涉及芯片技术领域,尤其涉及一种基于内存数据库的追踪信息生成系统。
背景技术
芯片通常为多层级设计,规模巨大,芯片设计和芯片验证是研发过程中的重要阶段。芯片设计和验证过程中,需要追踪定位芯片设计问题点,进行及时更正。现有技术中通常需要编写大量的代码建立验证平台(Testbench,简称TB)和待测设计(Design UnderTest,简称DUT)之间的互联,对DUT进行验证,且通常需要根据验证结果多次修改代码重新建立验证平台和待测设计之间的互联。此外,验证过程中,很多DUT内部的总线接口的数据无法直接追踪验证,导致芯片设计效率和芯片验证效率低。
发明内容
本发明目的在于,提供一种基于内存数据库的追踪信息生成系统,能够基于内存数据库获取待测设计DUT的每一总线接口对应的追踪信息,基于追踪信息来完善芯片设计以及对应的测试平台,提高了芯片设计效率和芯片验证效率。
本发明提供了一种基于内存数据库的追踪信息生成系统,包括待测芯片设计DUT、仿真模型、内存数据库、存储有计算机程序的存储器和处理器,其中,所述仿真模型用于模拟DUT,DUT中包括多个总线接口,所述系统中设置至少一个目标总线接口ITk,ITk为DUT中的一个总线接口或者DUT中一个总线接口在对应的仿真模型中的输出端口,k的取值范围为1到K,K为目标总线接口总数;所述内存数据库为C++内存数据库,存储在虚拟内存中;目标总线接口与内存数据库之间通过第一直接编程接口和第二直接编程接口通信;
所述处理器执行所述计算机程序时,实现以下步骤:
步骤S1、基于第一直接编程接口在所述内存数据库中按照预设的页表格式为ITk建立追踪页表Pk,预设的页表格式包括第一页表区域和第二页表区域,Pk的第一页表区域中存储有ITk对应的描述信息,所述第二页表区域用于存储ITk对应的有效总线接口数据记录;
步骤S2、运行DUT和/或仿真模型,获取ITk中每一信号对应的信号值,将信号值转换为整型数据,通过第二直接编程接口发送至所述内存数据库,基于ITk中每一信号对应的信号值整型数据生成对应的有效总线接口数据记录,存储至Pk的第二页表区域;
步骤S3、基于所有Pk生成每一ITk对应的追踪文件或生成SQL数据库。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种基于内存数据库的追踪信息生成系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
本发明基于内存数据库获取目标总线接口的追踪信息,在虚拟内存中生成内存数据库,基于内存数据库再转换为追踪文件或SQL数据库,无需实时大批量访问I/O文件接口,不受I/O文件接口访问数量阈值的限制,提高了实时(Runtime)系统性能,基于追踪文件能够对DUT进行功能验证或性能验证,基于追踪信息来完善芯片设计以及对应的测试平台,提高了芯片设计效率和芯片验证效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例提供的基于内存数据库的追踪信息生成系统示意图;
图2为本发明实施例提供的追踪页表示意图;
图3为本发明另一实施例提供的追踪页表意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于内存数据库的追踪信息生成系统的具体实施方式及其功效,详细说明如后。
本发明实施例提供了一种基于内存数据库的追踪信息生成系统,如图1所示,包括待测芯片设计DUT、仿真模型、内存数据库、存储有计算机程序的存储器和处理器。其中,所述仿真模型用于模拟DUT,DUT中包括多个总线接口(Bus Interface),所述系统中设置至少一个目标总线接口ITk,ITk为DUT中的一个总线接口或者DUT中一个总线接口在对应的仿真模型中的输出端口,k的取值范围为1到K,K为目标总线接口总数。所述内存数据库为C++内存数据库,存储在虚拟内存中。由于目标总线接口通常对应的是System Verilog等语言,内存数据库对应的是C++语言,因此需要通过直接编程接口(Direct ProgrammingInterface,简称DPI)来实现通信,目标总线接口与内存数据库之间通过第一直接编程接口和第二直接编程接口通信。
所述处理器执行所述计算机程序时,实现以下步骤:
步骤S1、基于第一直接编程接口在所述内存数据库中按照预设的页表格式为ITk建立追踪页表Pk,预设的页表格式包括第一页表区域和第二页表区域,Pk的第一页表区域中存储有ITk对应的描述信息,所述第二页表区域用于存储ITk对应的有效总线接口数据记录。
步骤S2、运行DUT和/或仿真模型,获取ITk中每一信号对应的信号值,将信号值转换为整型数据,通过第二直接编程接口发送至所述内存数据库,基于ITk中每一信号对应的信号值整型数据生成对应的有效总线接口数据记录,存储至Pk的第二页表区域。
其中,通过DUT对应的验证平台(Testbench)驱动DUT。
步骤S3、基于所有Pk生成每一ITk对应的追踪文件或生成结构化查询语言(Structured Query Language,简称SQL)数据库。
需要说明的是,随着芯片规模的不断增大,DUT总的接口数量也会不断增加,现有的DUT的总线接口数量可达八千甚至一万个以上,如果直接生成追踪文件,则需要对八千甚至一万个文件I/O接口并行的实时进行文件访问操作,但是通常存在操作系统OS对文件句柄访问数量阈值,例如为4096,也即无法直接对八千甚至一万个以上的总线接口进行实时生成追踪文件操作,因此需要耗费大量的时间切换来生成所有总线接口对应的追踪文件,且实时生成过程中需要不断打开和关闭文件I/O接口,访问磁盘,导致系统性能差。本申请通过设置内存数据库,在运行DUT和/或仿真模型过程中,直接将想获取的追踪数据先存储至内存数据库中,内存数据库仅占用虚拟内存,减少文件I/O操作。优选的,可以在运行DUT和/或仿真模型结束以后,执行步骤S3,生成追踪文件或SQL数据库。通过本发明实施例所述操作,使得追踪信息生成的速度为直接采用文件I/O接口实时进行文件访问操作生成追踪文件的速度的50-70倍,甚至70倍以上。
作为一种实施例,有效总线接口数据记录在页表中逐行存储,即每一有效总线接口数据记录占据一行,如图2所示示例。所述有效总线接口数据记录也可以逐列存储,即每一有效总线接口数据记录占据一列,如图3所示示例。通过追踪文件或SQL数据库能够快速准确获取任意一个目标总线接口总线对应的目标数据,实现芯片功能验证或性能验证,图2和图3中均为Z表示有效总线接口数据记录总条数,标号1表示第一页表区域,标号2表示第二页表区域。
作为一种实施例,每一ITk对应一个独立的Pk,存储在一个独立内存数据库中,或者,多个ITk对应一个共享表,多个ITk对应的多个Pk以数组的形式存储在所述共享表中,每个Pk的数据格式是一致的。
作为一种实施例,所述系统包括C++内存数据库基类,每一内存数据库对应一个C++内存数据库实例,根据所需内存数据库的数量以及与目标总线接口的对应关系直接实例化对应的内存数据库即可。
作为一种实施例,DUT包括{U1,U2,…UM},其中,Um为DUT的第m个组成模块,m的取值范围为1到M,U1,U2,…UM层级设置,Ui和Uj之间通过至少一个总线接口互联,Ui和Uj为具有互联关系的两个组成模块,i、j的取值范围均为1到M,Ui和Uj为具有互联关系兄弟模块或者为父子模块,具有互联关系兄弟模块或者为父子模块之间通过至少一个总线接口互联。
其中,若ITk为DUT的总线接口,ITk对应的组成模块可以为ITk的发起端组成模块或者接收端组成模块,ITk对应的总线接口信息存储在对应的组成模块中,可以理解的是,每一总线接口信息存储在均将存储在对应的发起端组成模块,或者存储在对应的接收端组成模块。
作为一种实施例,所述描述信息基于DUT获取,所述描述信息包括ITk对应的组成模块标识、总线接口标识、总线接口信号与ITk的信号映射信息、数据有效标识约束信息,所述总线接口标识基于总线接口对应的层级信息和总线接口实例名称生成。所述描述信息包括还包括ITk对应的总线接口类型标识和信号描述信息,信号描述信息具体包括信号宽度、信号方向信息等。需要说明的是,若ITk为DUT中一个总线接口在对应的仿真模型中的输出端口,则直接获取该输出接口在DUT中对应的总线接口所对应的描述信息即可。
作为一种实施例,Um具体可以为原子单元或者是由原子单元组成的模块,原子单元预先设置有对应的RTL代码,RTL代码具体可以采用Verilog、System Verilog、VHDL等硬件编程语言编写。设置m=i1,Ui1包括模块唯一标识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,......,XK4_YK4_CMDK4),其中,Xi5和Yi5属于{U1,U2,…UM},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,...,IDFK3),K3>=0。其中,IDFi3包括总线接口唯一标识IDF-IDi3、Z4(i3)个信号(Sigi3 1,Sigi3 2,...,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信号和有效标识信号对应不同的信号,ITk对应的信号中除了有效标识信号、追踪id信号之外的所有信号均为数据信号。
基于上述Ui1、DIY、IDF信息可以自动生成ITk对应的描述信息。
所述步骤S2中,当ITk对应的有效标识信号满足对应的数据有效标识约束信息时,再获取ITk对应的第一有效总线接口数据记录。
作为一种实施例,所述有效总线接口数据记录还包括ITk中每一组信号对应的时钟周期(Cycle)序号和绝对时间。时钟周期序号表示对应第几个时钟周期,绝对时间表示从初始时刻开始计时,采集一条有效总线接口数据记录对应的一组信号对应的时间。
作为一种实施例,所述步骤S3中,基于所有Pk生成每一ITk对应的追踪文件,包括:
步骤S31、将所述内存数据库的Pk通过I/O文件接口单个或批量将Pk转换为对应的追踪文件存储至磁盘中,批量操作数量不超过操作系统OS对I/O文件接口访问数量阈值,所述追踪文件包括第一文件区域和第二文件区域,所述第一文件区域为第一页表区域对应的信息转换生成,所述第二文件区域为第二页表区域的信息转换生成。
需要说明的是,可以分块将内存数据库的Pk通过I/O文件接口单个或批量将Pk转换为对应的追踪文件存储至磁盘中,从而可以实时释放虚拟内存,提高效率。在内存足够大的情况下,也可以待仿真结束后将所有内存数据库的Pk一次性写入文件。
作为一种实施例,所述步骤S3中,基于所有Pk生成SQL数据库,包括:
步骤S31,、将所述内存数据库的Pk通过SQL数据库的应用程序接口(ApplicationProgram Interface,简称API)接口,将Pk中的转换为SQL数据结构,存储至SQL数据库中。
需要说明的是,SQL数据库中可以存储多轮DUT和/或仿真模型运行的追踪信息,可以基于SQL数据库进行大数据分析,并在网页等显示区域进行显示。
本发明实施例基于内存数据库获取目标总线接口的追踪信息,在虚拟内存中生成内存数据库,基于内存数据库再转换为追踪文件或SQL数据库,无需实时大批量访问I/O文件接口,不受I/O文件接口访问数量阈值的限制,提高了实时系统性能,基于追踪文件能够对DUT进行功能验证或性能验证,基于追踪信息来完善芯片设计以及对应的测试平台,提高了芯片设计效率和芯片验证效率。
作为一种实施例,所述步骤S3之后包括:
步骤S4、基于追踪文件或SQL数据库对DUT进行功能验证或性能验证。
作为一种实施例,将DUT的待验证总线接口对应的有效总线接口数据记录作为第一有效总线接口数据记录,将对应的仿真模型输出端口对应的有效总线接口数据记录作为第二有效总线接口数据记录。在基于追踪文件进行功能验证的过程中,由于仿真模型中是可能对数据进行压缩或组包的,从而导致从仿真模型中输出的数据和从DUT中的对应组成模块输出的数据顺序、格式等不同。例如,DUT中的对应组成模块输出5个按照一定顺序排列数据,而仿真模型输出的对应5个数据的顺序和DUT中的对应组成模块输出不同,或者其中2个数据组合在一起等等。因此,需要对第一有效总线接口数据记录和第二有效总线接口数据记录进行转换后进行对比。作为一种实施例,基于追踪文件进行功能验证包括:
步骤S10、判断待验证总线接口对应的第一目标有效总线接口数据记录和第二目标有效总线接口数据记录的数据结构是否一致,若一致,则直接执行步骤S30,否则,执行步骤S20。
步骤S20、将第二目标有效总线接口数据记录转换为与第一目标有效总线接口数据记录相同的数据结构,或者将第一目标有效总线接口数据记录和第二目标有效总线接口数据记录均转换为相同的预设目标数据结构。
具体可以通过脚本以非二义化的方式进行数据结构转换。需要说明的是,现有的任何通过脚本将第一目标有效总线接口数据记录和第二目标有效总线接口数据记录的数据结构转换为相同的实施方式均落入本发明保护范围之内。通过步骤S20可以实现对第一有效总线接口数据记录和第二有效总线接口数据记录公共部分进行提取。
步骤S30、逐一对比待验证总线接口对应的第一目标有效总线接口数据记录和第二目标有效总线接口数据记录中每一信号值,若均一致,则验证通过,否则生成预警信息。
数据库中可以为每一总线接口对应的追踪信息设置追踪id,在基于SQL数据库进行功能验证的过程中,可以包括以下步骤:
步骤S40、基于待验证总线接口对应的总线接口标识和目标追踪id检索所述数据库,得到第一目标有效总线接口数据记录和第二目标有效总线接口数据记录,对比第一目标有效总线接口数据记录和第二目标有效总线接口数据记录中的所有信号值,若均一致,则验证通过,否则生成预警信息。
本发明实施例所述系统通过设置待测总线接口,基于待测总线接口对应的追踪数据,实现快速准确地获取所有目标节点的数据进行功能验证,提高了芯片功能验证的效率和准确性。
作为一种实施例,在基于追踪文件对DUT进行性能验证的过程中,基于待验证总线接口对应的追踪文件确定待验证总线接口对应的吞吐量和延时,将所述待验证总线接口对应的吞吐量和延时与所述配置文件中对应的吞吐量目标值和延时目标值进行比对,以实现芯片性能验证。具体可以包括,待验证总线接口对应的信号列表为{Si1,Si2,…Sif(k)},Siik为ITk对应的第ik个信号,ik的取值范围为1到f(k),f(k)为k的函数,Siik对应的信号宽度为Weik,基于追踪文件对DUT进行性能验证的过程包括:
步骤S100、基于待验证总线接口对应的总线接口标识获取对应的追踪文件;
步骤S200、从待验证总线接口对应的追踪文件中选取F行有效总线接口数据记录,基于F行有效总线接口数据记录对应的绝对时间和/或时钟周期序号确定采集F行有效总线接口数据记录所需时间TF,基于TF、Weik、F确定待验证总线接口对应的吞吐量THk:
从待验证总线接口对应的追踪文件中选取目标请求信息对应的目标追踪id和绝对时间和/或时钟周期序号,基于目标追踪id从待验证总线接口对应的追踪文件中目标请求信息对应的目标响应信息对应的绝对时间和/或时钟周期序号,基于目标请求信息、目标响应信息对应的绝对时间和/或时钟周期序号确定待验证总线接口对应延时;
步骤S300、将所述待验证总线接口对应的吞吐量和延时与所述配置文件中对应的吞吐量目标值和延时目标值进行比对,若均匹配,则芯片性能验证通过,否则,生成预警信息。
需要说明的是,吞吐量目标值和延时目标值可以为具体的数值,也可以为数值范围,具体根据性能测试需求来确定。若吞吐量目标值和延时目标值为具体数值,则待验证总线接口对应的吞吐量与所述配置文件中对应的吞吐量目标值相等时确定为吞吐量匹配。待验证总线接口对应的延时与所述配置文件中对应的延时目标值相等时确定为延时匹配。若吞吐量目标值和延时目标值为数值范围,则待验证总线接口对应的吞吐量在吞吐量目标值的数值范围内时,确定为吞吐量匹配;若待验证总线接口对应的延时在延时目标值的数值范围内时,确定为延时匹配。
作为一种实施例,在基于SQL数据库对DUT进行性能验证的过程中,可以进一步通过显示界面对性能验证结果进行直观显示,进一步提高芯片性能验证效率。作为一种实施例。所述系统还包括显示界面,显示界面具体可以为GUI界面。所述显示界面上用于呈现DUT对应的数据流拓扑结构,所述数据流拓扑结构包括DUT的组成模块和组成模块之间的总线接口,若生成预警信息,还包括:
步骤S400、若THk高于吞吐量目标值,则在所述数据流拓扑结构对应的待验证总线接口上显示第一提示标识;若THk低于吞吐量目标值,则在所述数据流拓扑结构对应的待验证总线接口上显示第二提示标识;若待验证总线接口对应延时高于延时目标值,则在所述数据流拓扑结构对应的待验证总线接口上显示第三提示标识;若THk低于吞吐量目标值,则在所述数据流拓扑结构对应的待验证总线接口显示第四提示标识。
需要说明的是,第一提示标识、第二提示标识、第三提示标识、第四提示标识可以采用不同的颜色、形状等方式显示。还可基于THk与吞吐量目标值的相差程度大小,待验证总线接口的吞吐量和吞吐量目标值进一步采用不同级别的提示标识进行显示。
作为一种实施例,所述步骤S400之后还可进一步包括:
步骤S500、若接收到针对第一提示标识生成的第一显示指令或接收到针对第二提示标识生成的第二显示指令,则从所述第一显示指令或第二显示指令中解析待验证总线接口对应的总线接口标识;
其中,可以直接通过点击等方式选中提示标识生成对应的显示指令。
步骤S600、基于待验证总线接口对应的总线接口标识检索所述数据库,并将生成对应预警信息对应的F行有效总线接口数据记录呈现在所述显示界面上。
作为一种实施例,所述步骤S4之后还可进一步包括:
步骤S500’、若接收到针对第三提示标识生成的第三显示指令或接收到针对第四提示标识生成的第四显示指令,则从所述第三显示指令或第四显示指令中解析待验证总线接口对应的总线接口标识;
步骤S600’、基于待验证总线接口对应的总线接口标识检索所述数据库,并将生成对应预警信息对应的目标请求信息以及目标响应信息对应的有效总线接口数据记录呈现在所述显示界面上。
通过在显示界面上显示对应的提示标识以及呈现对应的有效总线接口数据记录,可以直观追踪芯片性能测试相关数据,提高芯片性能测试效率。
由于DUT的性能测试参数是可能随时变化的,通过更改性能配置文件,即可更改对应的性能测试参数,避免更改大量RTL代码,且不易出错,作为一种实施例,待验证总线接口对应的吞吐量目标值和延时目标值所述性能配置文件包括待验证总线接口标识以及待验证总线接口标识对应的所述处理器执行所述计算机程序时,实现以下步骤:
步骤S110、若接收到性能配置文件更新指令,则更新所述性能配置文件,具体包括新增待验证总线接口以及待验证总线接口对应的吞吐量目标值和延时目标值,删除待验证总线接口以及待验证总线接口对应的吞吐量目标值和延时目标值,更新已有待验证总线接口对应的吞吐量目标值和/或延时目标值。
本发明所述系统通过每一待验证总线接口对应的追踪数据,从而实现快速准确地获取所有待验证节点的数据进行性能验证,提高了芯片性能验证的效率和准确性。
需要说明的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (8)
1.一种基于内存数据库的追踪信息生成系统,特征在于,
包括待测芯片设计DUT、仿真模型、内存数据库、存储有计算机程序的存储器和处理器,其中,所述仿真模型用于模拟DUT,DUT中包括多个总线接口,所述系统中设置至少一个目标总线接口ITk,ITk为DUT中的一个总线接口或者DUT中一个总线接口在对应的仿真模型中的输出端口,k的取值范围为1到K,K为目标总线接口总数;所述内存数据库为C++内存数据库,存储在虚拟内存中;目标总线接口与内存数据库之间通过第一直接编程接口和第二直接编程接口通信;
所述处理器执行所述计算机程序时,实现以下步骤:
步骤S1、基于第一直接编程接口在所述内存数据库中按照预设的页表格式为ITk建立追踪页表Pk,预设的页表格式包括第一页表区域和第二页表区域,Pk的第一页表区域中存储有ITk对应的描述信息,所述第二页表区域用于存储ITk对应的有效总线接口数据记录;
步骤S2、运行DUT和/或仿真模型,获取ITk中每一信号对应的信号值,将信号值转换为整型数据,通过第二直接编程接口发送至所述内存数据库,基于ITk中每一信号对应的信号值整型数据生成对应的有效总线接口数据记录,存储至Pk的第二页表区域;
步骤S3、基于所有Pk生成每一ITk对应的追踪文件或生成SQL数据库;
所述步骤S3中,基于所有Pk生成每一ITk对应的追踪文件,包括:
步骤S31、将所述内存数据库的Pk通过I/O文件接口单个或批量将Pk转换为对应的追踪文件存储至磁盘中,批量操作数量不超过操作系统OS对I/O文件接口访问数量阈值,所述追踪文件包括第一文件区域和第二文件区域,所述第一文件区域为第一页表区域对应的信息转换生成,所述第二文件区域为第二页表区域的信息转换生成;
所述步骤S3中,基于所有Pk生成SQL数据库,包括:
步骤S31,、将所述内存数据库的Pk通过SQL数据库的API接口,转换为SQL数据结构,存储至SQL数据库中。
2.根据权利要求1所述的系统,其特征在于,
每一ITk对应一个独立的Pk,存储在一个独立内存数据库中,或者,多个ITk对应一个共享表,多个ITk对应的多个Pk以数组的形式存储在所述共享表中。
3.根据权利要求1所述的系统,其特征在于,
所述系统包括C++内存数据库基类,每一内存数据库对应一个C++内存数据库实例。
4.根据权利要求1所述的系统,其特征在于,
DUT包括{U1,U2,…UM},其中,Um为DUT的第m个组成模块,m的取值范围为1到M,U1,U2,…UM层级设置,Ui和Uj之间通过至少一个总线接口互联,Ui和Uj为具有互联关系的两个组成模块,i、j的取值范围均为1到M,Ui和Uj为具有互联关系兄弟模块或者为父子模块,具有互联关系兄弟模块或者为父子模块之间通过至少一个总线接口互联。
5.根据权利要求4所述的系统,其特征在于,
所述描述信息基于DUT获取,所述描述信息包括ITk对应的组成模块标识、总线接口标识、总线接口信号与ITk的信号映射信息、数据有效标识约束信息,所述总线接口标识基于总线接口对应的层级信息和总线接口实例名称生成。
6.根据权利要求5所述的系统,其特征在于,
ITk对应的信号包括至少一个有效标识信号、追踪id信号和数据信号,所述数据有效标识约束信息包括基于所有有效标识信号生成的约束条件;
所述步骤S2中,当ITk对应的有效标识信号满足对应的数据有效标识约束信息时,再获取ITk对应的第一有效总线接口数据记录。
7.根据权利要求1所述的系统,其特征在于,
所述有效总线接口数据记录还包括ITk中每一组信号对应的时钟周期序号和绝对时间。
8.根据权利要求1-7中任意一项所述的系统,其特征在于,
所述步骤S3之后包括:
步骤S4、基于追踪文件或SQL数据库对DUT进行功能验证或性能验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211160339.9A CN115470751B (zh) | 2022-09-22 | 2022-09-22 | 基于内存数据库的追踪信息生成系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211160339.9A CN115470751B (zh) | 2022-09-22 | 2022-09-22 | 基于内存数据库的追踪信息生成系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115470751A CN115470751A (zh) | 2022-12-13 |
CN115470751B true CN115470751B (zh) | 2023-06-06 |
Family
ID=84335672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211160339.9A Active CN115470751B (zh) | 2022-09-22 | 2022-09-22 | 基于内存数据库的追踪信息生成系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115470751B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722432A (zh) * | 2011-03-29 | 2012-10-10 | 国际商业机器公司 | 追踪内存访问的方法和装置 |
CN103455460A (zh) * | 2012-06-01 | 2013-12-18 | 广东新岸线计算机系统芯片有限公司 | 一种验证高级微控制器总线接口的装置 |
WO2022148305A1 (zh) * | 2021-01-07 | 2022-07-14 | 苏州浪潮智能科技有限公司 | 一种芯片的系统级验证方法、系统及相关装置 |
CN114896173A (zh) * | 2022-07-12 | 2022-08-12 | 北京云枢创新软件技术有限公司 | 用于目标数据路径显示的数据处理系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106940428B (zh) * | 2016-01-04 | 2020-11-03 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
CN108664380B (zh) * | 2017-03-30 | 2021-08-03 | 中国航空工业集团公司西安航空计算技术研究所 | 一种带性能显示的执行后软件调试系统及调试方法 |
US10572115B2 (en) * | 2018-01-31 | 2020-02-25 | Mellanox Technologies Ltd. | Systems and methods for tracking progress of design of a semiconductor device |
US10877944B2 (en) * | 2019-05-08 | 2020-12-29 | Atlassian Pty Ltd. | External data repository file integration using a virtual file system |
US11501046B2 (en) * | 2020-03-24 | 2022-11-15 | International Business Machines Corporation | Pre-silicon chip model of extracted workload inner loop instruction traces |
CN113569509B (zh) * | 2021-08-13 | 2024-01-05 | 眸芯科技(上海)有限公司 | 面向amba总线架构芯片的性能验证系统及应用 |
CN114548027A (zh) * | 2021-12-28 | 2022-05-27 | 芯华章科技股份有限公司 | 在验证系统中追踪信号的方法、电子设备及存储介质 |
CN114048520B (zh) * | 2022-01-11 | 2022-04-08 | 沐曦集成电路(上海)有限公司 | 跨芯片访问控制的检测系统 |
CN114707453A (zh) * | 2022-03-29 | 2022-07-05 | 上海阵量智能科技有限公司 | 芯片功能的验证方法、装置、电子设备及存储介质 |
CN114741250A (zh) * | 2022-04-22 | 2022-07-12 | 北京奕斯伟计算技术有限公司 | 用于验证多级高速缓存器的系统及方法 |
CN114896923A (zh) * | 2022-06-13 | 2022-08-12 | 杭州云合智网技术有限公司 | 基于uvm的存储建模优化方法 |
-
2022
- 2022-09-22 CN CN202211160339.9A patent/CN115470751B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722432A (zh) * | 2011-03-29 | 2012-10-10 | 国际商业机器公司 | 追踪内存访问的方法和装置 |
CN103455460A (zh) * | 2012-06-01 | 2013-12-18 | 广东新岸线计算机系统芯片有限公司 | 一种验证高级微控制器总线接口的装置 |
WO2022148305A1 (zh) * | 2021-01-07 | 2022-07-14 | 苏州浪潮智能科技有限公司 | 一种芯片的系统级验证方法、系统及相关装置 |
CN114896173A (zh) * | 2022-07-12 | 2022-08-12 | 北京云枢创新软件技术有限公司 | 用于目标数据路径显示的数据处理系统 |
Non-Patent Citations (1)
Title |
---|
基于UVM实现SM4算法的自动化验证平台;马盼;靳旭;;铁路通信信号工程技术(08);33-37 * |
Also Published As
Publication number | Publication date |
---|---|
CN115470751A (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100952B (zh) | 一种集成电路后仿真方法、装置、电子设备及存储介质 | |
US8875082B1 (en) | System and method for detecting and prescribing physical corrections for timing violations in pruned timing data for electronic circuit design defined by physical implementation data | |
CN115470750B (zh) | 基于追踪文件的芯片性能验证系统 | |
US20030018945A1 (en) | System and method for evaluating functional coverage linked to a verification test plan | |
US20090228849A1 (en) | Method for Using an Equivalence Checker to Reduce Verification Effort in a System Having Analog Blocks | |
US8209650B2 (en) | Method and system for entry and verification of parasitic design constraints for analog integrated circuits | |
US20090254525A1 (en) | Method and system for a database to monitor and analyze performance of an electronic design | |
US6263301B1 (en) | Method and apparatus for storing and viewing data generated from a computer simulation of an integrated circuit | |
US9934354B1 (en) | Methods, systems, and computer program product for implementing a layout-driven, multi-fabric schematic design | |
US20100185992A1 (en) | System for Quickly Specifying Formal Verification Environments | |
CN101894058B (zh) | 针对自动测试系统的测试覆盖性自动分析方法及其装置 | |
US7225416B1 (en) | Methods and apparatus for automatic test component generation and inclusion into simulation testbench | |
US6370493B1 (en) | Simulation format creation system and method | |
CN106557420B (zh) | 测试db数据生成方法及装置 | |
US8418099B2 (en) | Performance counters for integrated circuits | |
CN115293080A (zh) | 基于追踪文件的芯片调试系统 | |
CN116126700A (zh) | 一种基于SystemC的芯片验证方法及系统 | |
US7003753B2 (en) | Method of generating a physical netlist for a hierarchical integrated circuit design | |
CN115470751B (zh) | 基于内存数据库的追踪信息生成系统 | |
CN115470752B (zh) | 基于追踪文件的芯片功能验证系统 | |
US8091052B2 (en) | Optimization of post-layout arrays of cells for accelerated transistor level simulation | |
CN112861455B (zh) | Fpga建模验证系统及方法 | |
Goli et al. | Through the looking glass: Automated design understanding of SystemC-based VPs at the ESL | |
Tomko et al. | Hardware/software co-debugging for reconfigurable computing | |
CN100527138C (zh) | 集成电路元件的模拟实例产生方法与装置 |
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 |