CN115859877A - 一种仿真测试中信息同步方法、装置、设备及存储介质 - Google Patents
一种仿真测试中信息同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115859877A CN115859877A CN202211724077.4A CN202211724077A CN115859877A CN 115859877 A CN115859877 A CN 115859877A CN 202211724077 A CN202211724077 A CN 202211724077A CN 115859877 A CN115859877 A CN 115859877A
- Authority
- CN
- China
- Prior art keywords
- simulation test
- information
- soc
- data
- address
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种仿真测试中信息同步方法、装置、设备及存储介质,涉及数字IC验证技术领域,该方法包括:SoC中的监控模块按照写操作周期,监控仿真测试信息,仿真测试信息包括地址信号和写数据信号,地址信号中的地址信息位于预留地址空间;监控模块从写数据信号中获取第一数据信息。然后,仿真测试平台从监控模块获取第一数据信息,并基于第一预设对应关系,确定第一数据信息对应的第一事件信息。由于SoC中的各个模块和仿真测试平台均可以识别第一数据信息,并共同约定了第一预设对应关系,因此,仿真测试平台可以直接确定第一数据信息对应的第一事件信息,保证了SoC中产生的第一事件信息可同步至仿真测试平台。
Description
技术领域
本发明实施例涉及数字IC(Integrated Circuit)验证技术领域,尤其涉及一种仿真测试中信息同步方法、装置、设备及存储介质。
背景技术
随着电子产品更加倾向于多功能、低功耗、速度快的发展趋势,片上系统(Systemon Chip,SoC)越来越备受关注。SoC是一个有专用目标的、兼具硬件系统和嵌入式软件的集成电路。准确来说,SoC是由微处理器、模拟IP核、数字IP核和存储器等模块集成的单一芯片,通过SoC便可以实现信号采集、处理和反馈等功能。随着SoC的集成度越来越高,导致SoC的构造越来越复杂,因此,在SoC设计完成后及投入量产之前,对SoC进行仿真测试是保证功能正确与完备的重要环节之一。
常用的SoC仿真测试语言有Vera、Psl、E、SystemC、System Verilog等,目前,一般采用System Verilog中的UVM库建立仿真测试平台,对SoC进行验证。然而,由于SoC中的微处理器所执行的指令一般为C语言或C++语言,因此,仿真测试代码一般采用C语言或C++语言进行编写,并将仿真测试代码在SoC中的微处理器运行,以便检查SoC中各个模块的功能。
由于仿真测试平台的编写语言和仿真测试代码的编写语言并不相同,因此,当仿真测试代码执行后,所获得的仿真测试信息无法输出至仿真测试平台,进而无法确定SoC的仿真测试信息。
发明内容
本申请实施例提供了一种仿真测试中信息同步方法、装置、设备及存储介质,用于在仿真测试平台便可确定SoC的仿真测试信息。
一方面,本申请实施例提供了一种仿真测试中信息同步方法,应用于部署在仿真测试平台中的系统级芯片SoC;该方法包括:
在所述微处理器执行仿真测试代码的过程中,所述SoC中的监控模块按照写操作周期,监控仿真测试信息;所述仿真测试信息包括地址信号和写数据信号;所述地址信号中的地址信息位于预留地址空间;所述仿真测试代码是基于第一编码语言编写的,用于对所述SoC进行测试验证;
所述监控模块从所述写数据信号中获取第一数据信息;所述第一数据信息用于所述仿真测试平台基于第一预设对应关系,确定对应的第一事件信息;所述仿真测试平台是基于第二编码语言编写的。
可选地,所述写操作周期包括地址周期和数据周期;
所述SoC中的监控模块按照写操作周期,获取仿真测试信息,包括:
在所述地址周期内,若写使能信号有效,所述监控模块获取所述地址信号;
确定所述地址信号中的地址信息位于所述预留地址空间后,在所述数据周期内,所述监控模块获取与所述地址信号对应的写数据信号。
可选地,所述监控模块是通过绑定BIND方式插入所述SoC中的。
可选地,还包括:
所述SoC中的微处理器从所述SoC中的至少一个寄存器中,获取第二数据信息,所述第二数据信息是所述仿真测试平台基于第二事件信息生成并存储至所述至少一个寄存器中的;
所述SoC中的微处理器基于所述第二预设对应关系确定所述仿真测试平台中的第二事件信息;
所述SoC中的微处理器基于所述第二事件信息继续执行所述仿真测试代码。
一方面,本申请实施例提供了一种仿真测试中信息同步方法,应用于对SoC进行测试验证的仿真测试平台,该方法包括:
从所述SoC中的监控模块获取第一数据信息,所述第一数据信息是所述监控模块在仿真测试信息的地址信号中的地址信息位于预留地址空间时,从所述仿真测试信息的写数据信号中获取的;所述仿真测试信息是所述SoC中微处理器执行仿真测试代码的过程中输出的;所述仿真测试代码是基于第一编码语言编写的,用于对所述SoC进行测试验证;
基于第一预设对应关系,确定所述第一数据信息对应的第一事件信息。
可选地,还包括:
基于所述第一事件信息触发所述仿真测试平台中第二事件并生成第二事件信息;
通过所述第二预设对应关系,确定所述第二事件信息对应的第二数据信息;
将所述第二数据信息添加至至少一个寄存器中;所述至少一个寄存器位于所述SoC中;所述第二数据信息由所述SoC的微处理器中的仿真测试代码进行访问;所述第二数据信息用于所述仿真测试代码基于所述第二预设对应关系确定所述仿真测试平台中的第二事件信息。
可选地,所述至少一个寄存器为所述SoC中各模块中的寄存器,或者所述至少一个寄存器为增加至所述SoC中的寄存器。
可选地,所述将所述第二数据信息添加至至少一个寄存器中,包括:
通过后门方式,将所述第二数据信息添加至所述至少一个寄存器中。
一方面,本申请实施例提供了一种仿真测试中信息同步装置,该装置包括:
监控模块,用于在所述微处理器执行仿真测试代码的过程中,所述SoC中的监控模块按照写操作周期,监控仿真测试信息;所述仿真测试信息包括地址信号和写数据信号;所述地址信号中的地址信息位于预留地址空间;所述仿真测试代码是基于第一编码语言编写的,用于对所述SoC进行测试验证;
第一获取模块,用于所述监控模块从所述写数据信号中获取第一数据信息;所述第一数据信息用于所述仿真测试平台基于第一预设对应关系,确定对应的第一事件信息;所述仿真测试平台是基于第二编码语言编写的。
可选地,所述写操作周期包括地址周期和数据周期;
所述监控模块,具体用于:
在所述地址周期内,若写使能信号有效,所述监控模块获取所述地址信号;
确定所述地址信号中的地址信息位于所述预留地址空间后,在所述数据周期内,所述监控模块获取与所述地址信号对应的写数据信号。
可选地,所述监控模块是通过绑定BIND方式插入所述SoC中的。
可选地,还包括添加模块,所述添加模块,具体用于:
所述SoC中的微处理器从所述SoC中的至少一个寄存器中,获取第二数据信息,所述第二数据信息是所述仿真测试平台基于第二事件信息生成并存储至所述至少一个寄存器中的;
所述SoC中的微处理器基于所述第二预设对应关系确定所述仿真测试平台中的第二事件信息;
所述SoC中的微处理器基于所述第二事件信息继续执行所述仿真测试代码。
一方面,本申请实施例提供了一种仿真测试中信息同步装置,该装置包括:
第二获取模块,用于从所述SoC中的监控模块获取第一数据信息,所述第一数据信息是所述监控模块在仿真测试信息的地址信号中的地址信息位于预留地址空间时,从所述仿真测试信息的写数据信号中获取的;所述仿真测试信息是所述SoC中微处理器执行仿真测试代码的过程中输出的;所述仿真测试代码是基于第一编码语言编写的,用于对所述SoC进行测试验证;
确定模块,用于基于第一预设对应关系,确定所述第一数据信息对应的第一事件信息。
可选地,所述确定模块,还用于:
基于所述第一事件信息触发所述仿真测试平台中第二事件并生成第二事件信息;
通过所述第二预设对应关系,确定所述第二事件信息对应的第二数据信息;
将所述第二数据信息添加至至少一个寄存器中;所述至少一个寄存器位于所述SoC中;所述第二数据信息由所述SoC的微处理器中的仿真测试代码进行访问;所述第二数据信息用于所述仿真测试代码基于所述第二预设对应关系确定所述仿真测试平台中的第二事件信息。
可选地,所述至少一个寄存器为所述SoC中各模块中的寄存器,或者所述至少一个寄存器为增加至所述SoC中的寄存器。
可选地,所述确定模块,具体用于:
通过后门方式,将所述第二数据信息添加至所述至少一个寄存器中。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述仿真测试中信息同步方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述仿真测试中信息同步方法的步骤。
在本申请实施例中,SoC中的监控模块按照写操作周期,监控仿真测试信息,仿真测试信息包括地址信号和写数据信号,地址信号中的地址信息位于预留地址空间;监控模块从写数据信号中获取第一数据信息。然后,仿真测试平台从SoC中的监控模块获取第一数据信息,并基于第一预设对应关系,确定第一数据信息对应的第一事件信息。由于SoC中的各个模块和仿真测试平台均可以识别第一数据信息,并共同约定了第一预设对应关系,因此,仿真测试平台可以直接确定第一数据信息对应的第一事件信息,保证了在对SoC进行仿真测试的过程中,SoC中产生的第一事件信息可同步至仿真测试平台,实现了仿真测试中的信息同步。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统架构示意图;
图2为本申请实施例提供的一种系统架构示意图;
图3为本申请实施例提供的一种仿真测试中信息同步方法的流程示意图;
图4为本申请实施例提供的一种系统架构示意图;
图5为本申请实施例提供的一种系统架构示意图;
图6为本申请实施例提供的一种仿真测试信息的结构示意图;
图7为本申请实施例提供的一种存储器中的地址空间的结构示意图;
图8为本申请实施例提供的一种仿真测试平台确定第一事件信息方法的流程示意图;
图9为本申请实施例提供的一种仿真测试平台处理第一事件信息方法的流程示意图;
图10为本申请实施例提供的一种微处理器确定第二事件信息方法的流程示意图;
图11为本申请实施例提供的一种仿真测试中信息同步装置的结构示意图;
图12为本申请实施例提供的一种仿真测试中信息同步装置的结构示意图;
图13为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本申请实施例中,只针对系统级芯片SoC进行仿真测试,并不针对成片后的硬件级芯片SoC进行测试。
如图1所示,系统级芯片SoC部署在仿真测试平台TestBench中,其中,SoC包括微处理器(MIPS Processor)、总线桥、存储器以及其他模块。仿真测试平台基于第二编码语言编写的,SoC以及SoC中各个模块同样是基于第二编码语言编写的,第二编码语言可以是Vera、Psl、E、SystemC、System Verilog、verilog、VHDL等任意一种;仿真测试代码是基于第一编码语言编写的,第一编码语言是C语言或C++语言,仿真测试代码用于对SoC中各个模块进行测试验证,可以对SoC中的微处理器模块,存储器模块等进行测试,在此不做限定。
由于仿真测试平台的编写语言和仿真测试代码的编写语言并不相同,因此,当仿真测试代码执行后,所获得的仿真测试信息无法输出至仿真测试平台,进而无法直接从仿真测试平台确定SoC的仿真测试信息。针对以上问题,本申请实施例,提出了监控模块,用于获取SoC的仿真测试信息。如图2所示,本申请实施例提供的一种系统架构图,将监控模块通过绑定BIND方式插入SoC中。在本申请实施例中,采用绑定BIND方式将监控模块插入SoC中,可以有效地保证SoC和仿真测试平台的独立性。
基于图2所述的架构图,在微处理器执行仿真测试代码的过程中,本申请实施例提供了一种仿真测试中信息同步方法,如图3所示,该方法的流程由图2所示的SoC中的监控模块执行,包括以下步骤:
步骤S301,SoC中的监控模块按照写操作周期,监控仿真测试信息。
具体地,在微处理器执行仿真测试代码的过程中,微处理器输出的仿真测试信息,通过总线桥将仿真测试结果存储于存储器中。SoC中的监控模块监控微处理器输出的仿真测试信息,并获取仿真测试信息。
一种可能的实施方式,如图4所示,SoC中的监控模块直接监控微处理器输出的仿真测试信息,即监控微处理器输出至总线桥的仿真测试信息。
另一种可能的实施方式,如图5所示,SoC中的监控模块监控通过总线桥输出至存储器的仿真测试信息。
可选地,写操作周期包括地址周期和数据周期;在地址周期内,若写使能信号有效,SoC中的监控模块获取地址信号;确定地址信号中的地址信息位于预留地址空间后,在数据周期内,SoC中的监控模块获取与地址信号对应的写数据信号。将地址信号和写数据信号作为仿真测试信息。
举例来说,如图6所示,一般来说,当写使能信号为高电平时,写使能信号有效;当写使能信号为低电平时,写使能信号无效。
在地址周期内,写使能信号为高电平,写使能信号有效,SoC中的监控模块获取地址信号,其中,地址信号中包括地址A。
确定地址信号中的地址信息位于预留地址空间后,在数据周期内,SoC中的监控模块获取与地址信号对应的写数据信号,其中,写数据信号中包括数据A。
确定地址信号中的地址信息不位于预留地址空间,则不做任何处理。
其中,预留地址空间位于SoC中的存储器,在对SoC进行仿真测试之前,在SoC中的存储器设置预留地址空间。如图7所示,存储器中的地址空间被划分为多段,包括预留地址空间、栈、堆、BSS段、数据段以及代码段。在本申请实施例中,可以将存储器中的地址空间中的任意一段地址空间划分为预留地址空间,在此不做限定。
步骤S302,监控模块从写数据信号中获取第一数据信息。
可选地,在监控模块获取第一数据信息后,仿真测试平台具体执行如图8所示的以下步骤:
步骤S801,仿真测试平台从SoC中的监控模块获取第一数据信息。
具体地,第一数据信息是监控模块在仿真测试信息的地址信号中的地址信息位于预留地址空间时,从仿真测试信息的写数据信号中获取的。
步骤S802,仿真测试平台基于第一预设对应关系,确定第一数据信息对应的第一事件信息。
具体地,第一预设对应关系如表1所示。仿真测试平台获取第一数据信息h00后,根据第一预设对应关系,确定第一事件信息,即仿真测试代码对SoC的仿真测试结束。
表1.
第一数据信息 | 第一事件信息 |
h00 | 仿真测试结束 |
h01~h07F | 打印字符ASCII码 |
h82 | 仿真测试遇到错误 |
h83 | 仿真测试没有遇到错误 |
h96 | 打印当前仿真测试时间 |
在本申请实施例中,SoC中的监控模块按照写操作周期,监控仿真测试信息,仿真测试信息包括地址信号和写数据信号,地址信号中的地址信息位于预留地址空间;监控模块从写数据信号中获取第一数据信息。然后,仿真测试平台从SoC中的监控模块获取第一数据信息,并基于第一预设对应关系,确定第一数据信息对应的第一事件信息。由于SoC中的各个模块和仿真测试平台均可以识别第一数据信息,并共同约定了第一预设对应关系,因此,仿真测试平台可以直接确定第一数据信息对应的第一事件信息,保证了在对SoC进行仿真测试的过程中,SoC中产生的第一事件信息可同步至仿真测试平台,实现了仿真测试中的信息同步。
可选地,仿真测试平台在确定第一数据信息对应的第一事件信息后,基于第一事件信息进行处理,包括以下两种可能的处理方式:
第一种可能的处理方式,仿真测试平台基于第一事件信息触发仿真测试平台中第二事件,并结束。
举例来说,仿真测试平台在确定第一数据信息h00对应的第一事件信息为“仿真测试结束”后,在仿真测试平台输出第二编码语言可识别出的“仿真测试结束”信息,并结束。
第二种可能的处理方式,具体包括如图9所示的以下步骤:
步骤S901,仿真测试平台基于第一事件信息触发仿真测试平台中第二事件并生成第二事件信息。
步骤S902,仿真测试平台通过第二预设对应关系,确定第二事件信息对应的第二数据信息。
具体地,第二预设对应关系如表2所示。若第一事件信息为微处理器在等待仿真测试平台对watchdog的复位操作,则仿真测试平台对watchdog进行复位,在复位完成后生成hff,将hff作为第二数据信息。
表2.
第二数据信息 | 第二事件信息 |
hff | 仿真测试平台对watchdog复位成功 |
h0f | 仿真测试平台对watchdog复位失败 |
步骤S903,仿真测试平台将第二数据信息添加至至少一个寄存器中。
在本申请实施例中,将第二数据信息添加至寄存器中,便于SoC的微处理器中的仿真测试代码在访问存储器时,从存储器中获取第二数据信息。
在本申请实施例中,SoC包括至少一个寄存器;其中,至少一个寄存器可以为SoC中各模块中的寄存器,也可以为增加至SoC中的寄存器。
可选地,仿真测试平台通过后门方式,将第二数据信息添加至至少一个寄存器中,可以降低事件复杂度,提高效率。
仿真测试平台将第二数据信息添加至至少一个寄存器之后,SoC中的微处理器执行如图10所示的以下步骤:
步骤S1001,SoC中的微处理器从SoC中的至少一个寄存器中,获取第二数据信息。
其中,第二数据信息是仿真测试平台基于第二事件信息生成并存储至至少一个寄存器中的。
步骤S1002,SoC中的微处理器基于第二预设对应关系确定仿真测试平台中的第二事件信息。
步骤S1003,SoC中的微处理器基于第二事件信息继续执行仿真测试代码。
在本申请实施例中,仿真测试平台基于第一事件信息触发仿真测试平台中第二事件并生成第二事件信息,并通过第二预设对应关系,确定第二事件信息对应的第二数据信息,再将第二数据信息添加至至少一个寄存器中。然后,SoC中的微处理器从SoC中的至少一个寄存器中,获取第二数据信息,并基于第二预设对应关系确定仿真测试平台中的第二事件信息,再基于第二事件信息继续执行仿真测试代码。由于SoC中的各个模块和仿真测试平台均可以识别第二数据信息,并共同约定了第二预设对应关系,因此,SoC中的微处理器可以直接确定第二数据信息对应的第二事件信息,保证了仿真测试平台产生的第二事件信息可同步至SoC,实现了仿真测试中的信息同步。
举例来说,为了验证在仿真测试平台对watchdog进行复位后,是否会对仿真测试代码产生影响,本申请实施例提出了一种仿真测试中信息同步方法,由仿真测试平台和SoC交互执行,具体执行以下步骤:
步骤S1101,在SoC的微处理器执行仿真测试代码的过程中,微处理器输出仿真测试信息,仿真测试信息包括地址信号和写数据信号。
其中,地址信号包括地址信息;地址信号中的地址信息位于预留地址空间;写数据信号包括第一数据信息,第一数据信息为h11,其对应的第一时间信息为:微处理器在等待仿真测试平台对watchdog的复位操作。
步骤S1102,SoC中的监控模块按照写操作周期,监控并获取仿真测试信息。
步骤S1103,SoC中的监控模块从写数据信号中获取第一数据信息。
步骤S1104,仿真测试平台从SoC中的监控模块获取第一数据信息。
步骤S1105,仿真测试平台基于第一预设对应关系,确定第一数据信息对应的第一事件信息。
具体地,仿真测试平台根据第一时间信息,确定微处理器在等待仿真测试平台对watchdog的复位操作。
步骤S1106,仿真测试平台基于第一事件信息触发仿真测试平台中第二事件并生成第二事件信息。
具体地,仿真测试平台对watchdog进行复位操作,在复位操作完成后,生成第二事件信息。第二事件信息用于表示仿真测试平台对watchdog复位成功。
步骤S1107,仿真测试平台通过第二预设对应关系,确定第二事件信息对应的第二数据信息。
具体地,仿真测试平台基于第二预设对应关系,确定仿真测试平台对watchdog复位成功所对应的第二数据信息为hff。
步骤S1108,仿真测试平台将第二数据信息添加至至少一个寄存器中。
具体地,仿真测试平台将hff添加至至少一个寄存器中。
步骤S1109,SoC中的微处理器从SoC中的至少一个寄存器中,获取第二数据信息。
步骤S1110,SoC中的微处理器基于第二预设对应关系确定仿真测试平台中的第二事件信息。
具体地,微处理器基于第二预设对应关系,确定第二数据信息hff对应的第二时间信息为:仿真测试平台对watchdog复位成功。
步骤S1111,SoC中的微处理器基于第二事件信息继续执行仿真测试代码。
具体地,SoC中的微处理器在确定仿真测试平台对watchdog复位成功后,继续执行仿真测试代码。
在本申请实施例中,由于SoC中的各个模块和仿真测试平台均可以识别第一数据信息,并共同约定了第一预设对应关系,因此,仿真测试平台可以直接确定第一数据信息对应的第一事件信息,保证了在对SoC进行仿真测试的过程中,SoC中产生的第一事件信息可同步至仿真测试平台,实现了仿真测试中的信息同步。
由于SoC中的各个模块和仿真测试平台均可以识别第二数据信息,并共同约定了第二预设对应关系,因此,SoC中的微处理器可以直接确定第二数据信息对应的第二事件信息,保证了仿真测试平台产生的第二事件信息可同步至SoC,实现了仿真测试中的信息同步。
基于相同的技术构思,本申请实施例提供了一种仿真测试中信息同步装置,如图11所示,该仿真测试中信息同步装置1200包括:
监控模块1201,用于在所述微处理器执行仿真测试代码的过程中,所述SoC中的监控模块按照写操作周期,监控仿真测试信息;所述仿真测试信息包括地址信号和写数据信号;所述地址信号中的地址信息位于预留地址空间;所述仿真测试代码是基于第一编码语言编写的,用于对所述SoC进行测试验证;
第一获取模块1202,用于所述监控模块从所述写数据信号中获取第一数据信息;所述第一数据信息用于所述仿真测试平台基于第一预设对应关系,确定对应的第一事件信息;所述仿真测试平台是基于第二编码语言编写的。
可选地,所述写操作周期包括地址周期和数据周期;
所述监控模块1201,具体用于:
在所述地址周期内,若写使能信号有效,所述监控模块获取所述地址信号;
确定所述地址信号中的地址信息位于所述预留地址空间后,在所述数据周期内,所述监控模块获取与所述地址信号对应的写数据信号。
可选地,所述监控模块是通过绑定BIND方式插入所述SoC中的。
可选地,还包括添加模块1203,所述添加模块1203,具体用于:
所述SoC中的微处理器从所述SoC中的至少一个寄存器中,获取第二数据信息,所述第二数据信息是所述仿真测试平台基于第二事件信息生成并存储至所述至少一个寄存器中的;
所述SoC中的微处理器基于所述第二预设对应关系确定所述仿真测试平台中的第二事件信息;
所述SoC中的微处理器基于所述第二事件信息继续执行所述仿真测试代码。
本申请实施例提供了一种仿真测试中信息同步装置,如图12所示,该仿真测试中信息同步装置1300包括:
第二获取模块1301,用于从所述SoC中的监控模块获取第一数据信息,所述第一数据信息是所述监控模块在仿真测试信息的地址信号中的地址信息位于预留地址空间时,从所述仿真测试信息的写数据信号中获取的;所述仿真测试信息是所述SoC中微处理器执行仿真测试代码的过程中输出的;所述仿真测试代码是基于第一编码语言编写的,用于对所述SoC进行测试验证;
确定模块1302,用于基于第一预设对应关系,确定所述第一数据信息对应的第一事件信息。
可选地,所述确定模块1302,还用于:
基于所述第一事件信息触发所述仿真测试平台中第二事件并生成第二事件信息;
通过所述第二预设对应关系,确定所述第二事件信息对应的第二数据信息;
将所述第二数据信息添加至至少一个寄存器中;所述至少一个寄存器位于所述SoC中;所述第二数据信息由所述SoC的微处理器中的仿真测试代码进行访问;所述第二数据信息用于所述仿真测试代码基于所述第二预设对应关系确定所述仿真测试平台中的第二事件信息。
可选地,所述至少一个寄存器为所述SoC中各模块中的寄存器,或者所述至少一个寄存器为增加至所述SoC中的寄存器。
可选地,所述确定模块1302,具体用于:
通过后门方式,将所述第二数据信息添加至所述至少一个寄存器中。
基于相同的技术构思,本申请实施例提供了一种计算机设备,计算机设备可以是终端或服务器,如图13所示,包括至少一个处理器1401,以及与至少一个处理器连接的存储器1402,本申请实施例中不限定处理器1401与存储器1402之间的具体连接介质,图13中处理器1401和存储器1402之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器1402存储有可被至少一个处理器1401执行的指令,至少一个处理器1401通过执行存储器1402存储的指令,可以执行上述仿真测试中信息同步方法中所包括的步骤。
其中,处理器1401是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器1402内的指令以及调用存储在存储器1402内的数据,从而进行仿真测试中信息同步。可选的,处理器1401可包括一个或多个处理单元,处理器1401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1401中。在一些实施例中,处理器1401和存储器1402可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1401可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1402可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1402是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1402还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述仿真测试中信息同步方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种仿真测试中信息同步方法,其特征在于,应用于部署在仿真测试平台中的系统级芯片SoC;所述方法包括:
在所述微处理器执行仿真测试代码的过程中,所述SoC中的监控模块按照写操作周期,监控仿真测试信息;所述仿真测试信息包括地址信号和写数据信号;所述地址信号中的地址信息位于预留地址空间;所述仿真测试代码是基于第一编码语言编写的,用于对所述SoC进行测试验证;
所述监控模块从所述写数据信号中获取第一数据信息;所述第一数据信息用于所述仿真测试平台基于第一预设对应关系,确定对应的第一事件信息;所述仿真测试平台是基于第二编码语言编写的。
2.如权利要求1所述的方法,其特征在于,所述写操作周期包括地址周期和数据周期;
所述SoC中的监控模块按照写操作周期,获取仿真测试信息,包括:
在所述地址周期内,若写使能信号有效,所述监控模块获取所述地址信号;
确定所述地址信号中的地址信息位于所述预留地址空间后,在所述数据周期内,所述监控模块获取与所述地址信号对应的写数据信号。
3.如权利要求1所述的方法,其特征在于,所述监控模块是通过绑定BIND方式插入所述SoC中的。
4.如权利要求1-3任一所述的方法,其特征在于,还包括:
所述SoC中的微处理器从所述SoC中的至少一个寄存器中,获取第二数据信息,所述第二数据信息是所述仿真测试平台基于第二事件信息生成并存储至所述至少一个寄存器中的;
所述SoC中的微处理器基于所述第二预设对应关系确定所述仿真测试平台中的第二事件信息;
所述SoC中的微处理器基于所述第二事件信息继续执行所述仿真测试代码。
5.一种仿真测试中信息同步方法,其特征在于,应用于对SoC进行测试验证的仿真测试平台,所述方法包括:
从所述SoC中的监控模块获取第一数据信息,所述第一数据信息是所述监控模块在仿真测试信息的地址信号中的地址信息位于预留地址空间时,从所述仿真测试信息的写数据信号中获取的;所述仿真测试信息是所述SoC中微处理器执行仿真测试代码的过程中输出的;所述仿真测试代码是基于第一编码语言编写的,用于对所述SoC进行测试验证;
基于第一预设对应关系,确定所述第一数据信息对应的第一事件信息。
6.如权利要求5所述的方法,其特征在于,还包括:
基于所述第一事件信息触发所述仿真测试平台中第二事件并生成第二事件信息;
通过所述第二预设对应关系,确定所述第二事件信息对应的第二数据信息;
将所述第二数据信息添加至至少一个寄存器中;所述至少一个寄存器位于所述SoC中;所述第二数据信息由所述SoC的微处理器中的仿真测试代码进行访问;所述第二数据信息用于所述仿真测试代码基于所述第二预设对应关系确定所述仿真测试平台中的第二事件信息。
7.如权利要求6所述的方法,其特征在于,所述至少一个寄存器为所述SoC中各模块中的寄存器,或者所述至少一个寄存器为增加至所述SoC中的寄存器。
8.如权利要求6-7任一所述的方法,其特征在于,所述将所述第二数据信息添加至至少一个寄存器中,包括:
通过后门方式,将所述第二数据信息添加至所述至少一个寄存器中。
9.一种仿真测试中信息同步装置,其特征在于,包括:
监控模块,用于在所述微处理器执行仿真测试代码的过程中,所述SoC中的监控模块按照写操作周期,监控仿真测试信息;所述仿真测试信息包括地址信号和写数据信号;所述地址信号中的地址信息位于预留地址空间;所述仿真测试代码是基于第一编码语言编写的,用于对所述SoC进行测试验证;
第一获取模块,用于所述监控模块从所述写数据信号中获取第一数据信息;所述第一数据信息用于所述仿真测试平台基于第一预设对应关系,确定对应的第一事件信息;所述仿真测试平台是基于第二编码语言编写的。
10.一种仿真测试中信息同步装置,其特征在于,包括:
第二获取模块,用于从所述SoC中的监控模块获取第一数据信息,所述第一数据信息是所述监控模块在仿真测试信息的地址信号中的地址信息位于预留地址空间时,从所述仿真测试信息的写数据信号中获取的;所述仿真测试信息是所述SoC中微处理器执行仿真测试代码的过程中输出的;所述仿真测试代码是基于第一编码语言编写的,用于对所述SoC进行测试验证;
确定模块,用于基于第一预设对应关系,确定所述第一数据信息对应的第一事件信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211724077.4A CN115859877A (zh) | 2022-12-30 | 2022-12-30 | 一种仿真测试中信息同步方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211724077.4A CN115859877A (zh) | 2022-12-30 | 2022-12-30 | 一种仿真测试中信息同步方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115859877A true CN115859877A (zh) | 2023-03-28 |
Family
ID=85656383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211724077.4A Pending CN115859877A (zh) | 2022-12-30 | 2022-12-30 | 一种仿真测试中信息同步方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115859877A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116796673A (zh) * | 2023-08-22 | 2023-09-22 | 北京芯驰半导体科技有限公司 | 测试方法、测试装置、电子设备及存储介质 |
-
2022
- 2022-12-30 CN CN202211724077.4A patent/CN115859877A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116796673A (zh) * | 2023-08-22 | 2023-09-22 | 北京芯驰半导体科技有限公司 | 测试方法、测试装置、电子设备及存储介质 |
CN116796673B (zh) * | 2023-08-22 | 2023-11-28 | 北京芯驰半导体科技有限公司 | 测试方法、测试装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105205249B (zh) | 一种soc调试验证系统及其软硬件协同方法 | |
CN113076227B (zh) | Mcu验证方法、系统和终端设备 | |
CN115841089B (zh) | 一种基于uvm的系统级芯片验证平台及验证方法 | |
CN104681100B (zh) | 用于闪存装置的错误更正码单元、自我测试方法及控制器 | |
US10007492B2 (en) | System and method for automatically generating device drivers for run time environments | |
CN104408264B (zh) | 一种基于断言的嵌入式存储控制器验证系统及方法 | |
CN102521467B (zh) | 一种针对sram型fpga的逐位翻转故障注入方法 | |
CN111104421A (zh) | 一种基于数据接口标准配置的数据查询方法及装置 | |
JPH07230484A (ja) | 有限状態マシン遷移アナライザ | |
CN101689216B (zh) | 压缩型电路仿真输出 | |
CN115859877A (zh) | 一种仿真测试中信息同步方法、装置、设备及存储介质 | |
CN112199040A (zh) | 存储访问方法及智能处理装置 | |
CN108628734A (zh) | 一种功能程序调试方法和终端 | |
CN112613257A (zh) | 验证方法、装置、电子设备和计算机可读存储介质 | |
US20100153622A1 (en) | Data Access Controller and Data Accessing Method | |
CN113704126A (zh) | 验证方法及其装置、计算机存储介质以及处理器 | |
CN117435483A (zh) | 基于Formal工具的仿真验证激励生成方法、装置、介质及终端 | |
CN115470125B (zh) | 基于日志文件的调试方法、设备以及存储介质 | |
CN113760751B (zh) | 生成测试用例的方法、电子设备及存储介质 | |
CN109324838B (zh) | 单片机程序的执行方法、执行装置及终端 | |
CN116450431A (zh) | Cpu参考模型的指令功能测试系统及其方法、计算机设备和存储介质 | |
CN102750167B (zh) | 应用程序启动方法、装置和计算机系统 | |
CN115470738A (zh) | 功能验证方法及装置、电子设备和存储介质 | |
CN115587026A (zh) | 芯片测试方法、装置、存储介质及芯片 | |
CN113536716A (zh) | Soc系统验证方法、装置、计算机设备和可读存储介质 |
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 |