CN115292102A - 仿真方法、电子设备、可读存储介质 - Google Patents
仿真方法、电子设备、可读存储介质 Download PDFInfo
- Publication number
- CN115292102A CN115292102A CN202210550152.3A CN202210550152A CN115292102A CN 115292102 A CN115292102 A CN 115292102A CN 202210550152 A CN202210550152 A CN 202210550152A CN 115292102 A CN115292102 A CN 115292102A
- Authority
- CN
- China
- Prior art keywords
- signal
- signals
- idle
- design
- tested
- 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.)
- Granted
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012360 testing method Methods 0.000 claims abstract description 167
- 238000013461 design Methods 0.000 claims abstract description 125
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 4
- 239000003550 marker Substances 0.000 description 21
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 8
- 101100457838 Caenorhabditis elegans mod-1 gene Proteins 0.000 description 6
- 101150110972 ME1 gene Proteins 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本申请涉及仿真测试技术领域,具体公开了一种仿真方法、电子设备、可读存储介质,所述方法包括:接收待测设计的描述和测试环境的描述,所述待测设计和所述测试环境包括多个信号;根据所述待测设计和所述测试环境,在所述多个信号中识别所述待测设计和所述测试环境中的关键信号;根据所述关键信号确定所述待测设计和所述测试环境中的空闲信号;对所述待测设计进行仿真,其中,跳过对所述空闲信号的仿真。本申请通过获取待测设计的描述和测试环境描述,并基于待测设计和测试环境的关键信号确定待测设计和测试环境中的空闲信号,使得对待测设计进行仿真时跳过对空闲信号的仿真,可以进一步提高仿真效率,改善覆盖率统计,缩减测试时间。
Description
技术领域
本申请涉及仿真测试技术领域,特别是涉及一种仿真方法、电子设备、可读存储介质。
背景技术
由于空前的高效集成性能,片上系统级别的待测设计(DUT,design under test)越来越庞大。因此在进行待测设计仿真时,通常需要将一个完整的设计分割为多个模块来开发,并分配给不同的调试工程师或者团队来进行仿真和调试。相应地,调试工程师往往只能针对性聚焦部分模块进行仿真。
现有技术中,在仿真过程中,仿真器会尝试运行一个模块的全部代码,而实际上,由于模块本身并不完整,一个模块在仿真过程中仅部分代码是真实运行的。
发明内容
基于此,有必要针对上述技术问题,提供一种仿真方法、电子设备、可读存储介质和计算机程序产品。
第一方面,本申请提供了一种仿真方法。所述方法包括:
接收待测设计的描述和测试环境的描述,所述待测设计和所述测试环境包括多个信号;
根据所述待测设计和所述测试环境,在所述多个信号中识别所述待测设计和所述测试环境中的关键信号;
根据所述关键信号确定所述待测设计和所述测试环境中的空闲信号;
对所述待测设计进行仿真,其中,跳过对所述空闲信号的仿真。
在其中一个实施例中,所述关键信号包括所述待测设计和所述测试环境中的非悬空的输入信号、输出信号、以及被监测的信号的至少一个。
在其中一个实施例中,所述根据所述关键信号确定所述待测设计和所述测试环境中的空闲信号进一步包括:
在所述多个信号中确定直接或间接驱动所述关键信号的信号为非空闲信号并且未直接和间接驱动所述关键信号的信号为空闲信号。
在其中一个实施例中,所述在所述多个信号中确定直接或间接驱动所述关键信号的信号为非空闲信号并且未直接和间接驱动所述关键信号的信号为空闲信号进一步包括:
追踪所述关键信号的驱动信号,将所述驱动信号确定为非空闲信号;
根据所述关键信号和所述非空闲信号标记所述多个信号中的空闲信号。
在其中一个实施例中,所述在所述多个信号中确定直接或间接驱动所述关键信号的信号为非空闲信号并且未直接和间接驱动所述关键信号的信号为空闲信号还包括:
追踪所述空闲信号的负载信号;
确定所述负载信号是否为所述非空闲信号或所述关键信号;
响应于所述负载信号是所述非空闲信号或所述关键信号,将所述空闲信号重新确定为非空闲信号。
在其中一个实施例中,所述对所述待测设计进行仿真,其中,跳过对所述空闲信号的仿真进一步包括:
根据所述测试环境对所述待测设计进行仿真;
实时获取所述空闲信号的标记,并根据所述空闲信号的标记跳过所述空闲信号的处理。
在其中一个实施例中,所述方法还包括:
输出对所述待测设计的仿真结果,所述仿真结果中包括所述待测设计中的空闲信号信息。
第二方面,本申请还提供了一种电子设备。所述电子设备包括存储器,用于存储一组指令;以及至少一个处理器,配置为执行该组指令以使得所述电子设备执行如第一方面所述的方法。
第三方面,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使所述计算机执行如第一方面所述的方法。
第四方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面所述的方法。
上述仿真方法、电子设备、可读存储介质和计算机程序产品,至少包括以下有益条例果:
本申请通过获取待测设计的描述和测试环境描述,并基于待测设计和测试环境的关键信号确定待测设计和测试环境中的空闲信号,使得对待测设计进行仿真时跳过对空闲信号的仿真,避免待测设计中不需要参与测试的信号依然被运行,可以进一步提高仿真效率,缩减测试时间。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请实施例的主机的示意图;
图2示出了根据本申请实施例的仿真工具的示意图;
图2A示出了根据本申请实施例的待测设计和测试环境的示意图;
图3示出了根据本申请实施例的空闲标记器的信号处理流程图;
图4示出了根据本申请实施例的一种仿真方法的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技条例人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。“连接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。同时,在本说明书中,术语“和/或”包括相关所列项目的任何及所有组合。
如上所述,仿真过程中,往往存在测试环境针对性聚焦待测设计的部分模块进行仿真的情况,然而在仿真时仿真器会驱动运行待测设计完整模块的全部代码。这会限制仿真效率的提高,造成仿真资源的浪费。本申请实施例提供的仿真方法,可以应用在仿真测试场合。采用本申请实施例提供的方法,可以在一定程度上提高方仿真效率。
具体地,仿真测试是在运行仿真测试系统的主机上对逻辑系统设计施加各种激励以检测逻辑系统设计是否可以实现预定的功能。
图1示出了根据本申请实施例的主机100的示意图。主机100可以是运行仿真系统的电子设备。如图1所示,主机100可以包括:处理器102、存储器104、网络接口106、外围接口108和总线110。其中,处理器102、存储器104、网络接口106和外围接口108通过总线 110实现彼此之间在主机内部的通信连接。
处理器102可以是中央处理器(Central Processing Unit,CPU)、图像处理器、神经网络处理器(NPU)、微控制器(MCU)、可编程逻辑器件、数字信号处理器(DSP)、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路。处理器102 可以用于执行与本申请描述的技术相关的功能。在一些实施例中,处理器102还可以包括集成为单一逻辑组件的多个处理器。如图1所示,处理器102可以包括多个处理器103A、103B 和102c。
存储器104可以配置为存储数据(例如,指令集、计算机代码、中间数据等)。在一些实施例中,用于仿真测试设计的仿真测试系统可以是存储器104中存储的计算机程序。如图1 所示,存储器存储的数据可以包括程序指令(例如,用于实现本申请的仿真方法的程序指令) 以及要处理的数据(例如,存储器可以存储在编译过程产生的临时代码)。处理器102也可以访问存储器存储的程序指令和数据,并且执行程序指令以对要处理的数据进行操作。存储器 104可以包括易失性存储装置或非易失性存储装置。在一些实施例中,存储器104可以包括随机访问存储器(RAM)、只读存储器(ROM)、光盘、磁盘、硬盘、固态硬盘(SSD)、闪存、存储棒等。
网络接口106可以配置为经由网络向主机100提供与其他外部设备的通信。该网络可以是能够传输和接收数据的任何有线或无线的网络。例如,该网络可以是有线网络、本地无线网络(例如,蓝牙、WiFi、近场通信(NFC)等)、蜂窝网络、因特网或上述的组合。可以理解的是,网络的类型不限于上述具体示例。在一些实施例中,网络接口106可以包括任意数量的网络接口控制器(NIC)、射频模块、接收发器、调制解调器、路由器、网关、适配器、蜂窝网络芯片等的任意组合。
外围接口108可以配置为将主机100与一个或多个外围装置连接,以实现信息输入及输出。例如,外围装置可以包括键盘、鼠标、触摸板、触摸屏、麦克风、各类传感器等输入设备以及显示器、扬声器、振动器、指示灯等输出设备。
总线110可以被配置为在主机100的各个组件(例如处理器102、存储器104、网络接口106和外围接口108)之间传输信息,诸如内部总线(例如,处理器-存储器总线)、外部总线(USB端口、PCI-E总线)等。
需要说明的是,尽管上述主机架构仅示出了处理器102、存储器104、网络接口106、外围接口108和总线110,但是在具体实施过程中,该主机架构还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述主机架构中也可以仅包含实现本申请实施例方案所必需的组件,而不必包含图中所示的全部组件。
图2示出了根据本申请实施例的仿真工具200的示意图。仿真工具200可以是运行在主机100上的计算机程序。
在芯片设计领域,通常可以利用仿真工具对一个设计进行仿真。图2示出的示例性仿真工具200可以包括编译器202、空闲标记器204、和仿真器206。在一些实施例中,空闲标记器204可以作为编译器202的一部分。
编译器202可以获得待测设计的描述和测试环境的描述(例如,源代码),并且将待测设计210和测试环境220编译为目标代码(例如,二进制代码或RTL代码等)。可以理解的是,待测设计在这里可以是一个完整的逻辑系统设计中的一个模块,并且待测设计中可以包括多个信号。这些信号可以是一个模块的一个或多个输入信号以及一个或多个输出信号,也可以是一条信号通路上的多个信号。一条信号通路上的上游信号可以被称为其下游信号的驱动信号。类似地,下游信号可以被称为其上游信号的负载信号。
空闲标记器204可以根据待测设计210和测试环境220的目标代码识别待测设计和测试环境中的关键信号,以及根据关键信号确定待测设计和测试环境中的空闲信号。关键信号可以是指待测设计和测试环境的多个信号中对待测设计的测试验证结果有着直接或间接关联性或影响性的信号。空闲信号可以是指该信号针对当前测试环境和待测设计的测试逻辑而言属于空闲逻辑,换而言之,空闲信号不影响待测设计的验证结果。可以理解的是,空闲信号可以仅存在于待测设计、仅存在于测试环境或同时存在于待测设计和测试环境。类似地,关键信号可以仅存在于待测设计、仅存在于测试环境或同时存在于待测设计和测试环境。仿真器 206可以根据目标代码对待测设计进行仿真,并将仿真结果输出。并且,仿真器206可以跳过对空闲信号的仿真。例如,仿真工具200可以将仿真结果(例如,仿真波形图)经由图1 的外围接口108输出到输出设备上(例如,显示在显示器上)。
图2A示出了根据本申请实施例的示例性待测设计210和测试环境220的示意图。
如图2A所示,对待测设计210的测试需要利用测试环境220来向待测设计210提供激励信号(例如,输入信号),而待测设计210则可以基于该激励信号生成相应的输出信号(例如,输出信号)。在一些实施例中,通过仿真工具200对待测设计和测试环境进行仿真,最终可以得到相应的测试结果,进而可以基于该测试结果判断待测设计210是否正确地实现了所需实现的功能。
其中,待测设计210可以是一个完整逻辑系统设计的多个模块中的一个,这个模块还可以进一步包括一个或多个子模块(例如,接口模块212)。每个模块可以包括至少一个输入信号或输出信号。
测试环境220可以是通过测试语言(例如,SystemVerilog、SystemC、PSS语言等)搭建的用于测试待测设计210的测试平台(testbench)。测试环境220可以包括实现不同功能的多个组件。在一些实施例中,测试环境220可以包括信号发生组件(Sequencer)224、信号驱动组件(Driver)226与信号采集组件(Monitor)228。信号发生组件224可以按照特定的序列发送激励信号。信号驱动组件226可以将该激励信号转化成待测设计可接收的信号(例如,图2A中的输入信号)同时按照特定的协议驱动待测设计210。信号采集组件228可以收集从待测设计210返回的信号(例如,图2A中的输出信号)并转交给测试环境220中的其他组件以做进一步处理。在一些实施例中,测试环境220还可以包括一些其他组件,例如用于与待测设计210对接的接口组件222、环境组件(未示出)、代理(agent)组件(未示出)等。
待测设计210和测试环境220之间的连接也并非电线或光缆等实体或其模拟,而是待测设计210与测试环境220之间的一种接口协议。这种接口协议可以通过测试语言实现。例如,用户可以预先在待测设计210中定义一个接口模块(例如,图2A中的接口模块212),并在测试环境220中定义一个接口组件(例如,图2A中的接口组件222),与接口模块212进行通信。也就是说,该接口模块与该接口组件之间可以互相交换数据。
本实施例提供的方法通过获取待测设计的描述和测试环境描述,并在待测设计和测试环境中基于关键信号确定待测设计中的空闲信号,使得对待测设计进行仿真时跳过对空闲信号的仿真,避免待测设计中不需要参与测试的信号依然被运行,可以进一步提高仿真效率,缩减测试时间。
在一些实施例中,空闲标记器204可以通过遍历待测设计210和测试环境220的描述(即目标代码)的方式,确定出待测设计210和测试环境220中的关键信号。关键信号可以包括待测设计210和测试环境220中非悬空的输入信号、输出信号、以及被监测的信号的至少一个。例如,关键信号可以是涉及系统函数调用的信号、需要存档的波形信号等。在一些实施例中,关键信号的设定也可以由用户通过主机100的输入装置接收设定规则或者相应算法。待测设计和测试环境往往涉及大批量的信号交互,如果依次对每一个信号单独进行空闲逻辑判断会大大降低空闲标记效率。通过识别待测设计和测试环境中的关键信号,通过关键信号识别空闲信号可以更加精准的对空闲信号进行识别,且提高识别效率。
在一些实施例中,空闲标记器204根据目标代码,可以确定待测设计210和测试环境220 的信号中直接或间接驱动关键信号的信号为非空闲信号,并且确定直接或间接驱动关键信号的信号为空闲信号。空闲标记器204可以将待测设计中的空闲信号进行标记,使得仿真器206 对待测设计210进行仿真时可以根据空闲信号的标记跳过对空闲信号的仿真。本实施例确定空闲信号和非空闲信号的依据是基于关键信号是否可以追踪到该关键信号的驱动,将追踪到的驱动信号确定为非空闲信号,将没有追踪到的信号确定为空闲信号,以关键信号为起点进行驱动追踪可以快速确定未被追踪到的空闲信号,提高确定空闲信号的效率。
在一个示例性实施例中,以下为待测设计和测试环境的部分示例代码一:
在上述代码中,模块mod1内的逻辑属于空闲逻辑,因为mod1中的信号都没有存在于测试环境的观察中,比如$monitor或者$display里。空闲标记器204在追踪关键信号的驱动信号的过程中国,并未追踪到mod1中的信号,因此可以标记mod1包含的信号为空闲信号。在仿真阶段,mod1中的信号(如信号clk和d)都会被关断,仿真器206在仿真的时候mod1内部的逻辑就不会被触发,进而加快仿真速度。
在一些实施例中,空闲标记器204可以以关键信号为起点进行驱动追踪,驱动追踪到的信号为驱动信号。其中,驱动追踪可以是指以关键信号为起点持续地追踪其驱动信号。驱动追踪过程可以追踪到若干信号,可以为0个或1个或多个信号。通常可以在追踪到驱动终点信号或者追踪到的信号形成循环时完成对关键信号的驱动追踪。空闲标记器204可以将追踪到的驱动信号确定为非空闲信号。空闲标记器204可以根据关键信号和非空闲信号标记待测设计210和测试环境220中的空闲信号,即将待测设计210和测试环境220中除关键信号和非空闲信号之外的信号标记为空闲信号。在一些实施例中,空闲标记器204还可以将驱动信号和关键信号确定为非空闲信号,并根据非空闲信号标记待测设计210和测试环境220中多个信号的空闲信号,即将待测设计210和测试环境220中除非空闲信号之外的信号标记为空闲信号。
在一示例性实施例中,以下为待测设计和测试环境的部分示例代码二:
在上述代码中,模块mod内的逻辑只有一部分属于空闲逻辑,除了产生信号q的always block以外,其他三个always block和一个continuous assignment都属于空闲逻辑。空闲标记器204可以以关键信号(例如上述代码中的信号d和信号q)为起点进行驱动追踪,持续追踪信号d和信号q的驱动信号,从inst可以追踪到待测设计mod里的信号d和clk,进而可以追踪到测试环境里的信号d和clk。空闲标记器204可以判断mod里的信号d和clk以及测试环境里的信号d和clk为非空闲信号。空闲标记器204可以将没有驱动追踪到的信号标记为空闲信号,例如上述代码中的信号modClk、inner_q、inner_x、inner_y。
在一些实施例中,参考图3所示的空闲标记器的信号处理流程图,空闲标记器204可以以空闲信号为起点进行负载追踪,负载追踪到的信号为负载信号。其中,负载追踪可以是指以空闲信号为起点持续地追踪其负载信号,负载追踪过程可以追踪到若干信号,可以为0个或1个或多个信号。通常可以在追踪到负载终点信号或者追踪到的信号形成循环时完成对空闲信号的负载追踪。空闲标记器204可以判断追踪到的负载信号是否为非空闲信号或关键信号。空闲标记器204可以响应于追踪到的负载信号是非空闲信号或关键信号,将空闲信号重新确定为非空闲信号。空闲标记器204通过对空闲信号的负载追踪,可以及时将驱动追踪中遗漏的非空闲信号纠正回到仿真中。
在一些实施例中,仿真器206可以根据空闲标记器204完成标记的目标代码对待测设计进行仿真。仿真器206可以实时获取空闲信号的标记,并根据空闲信号的标记跳过该空闲信号的处理,例如前述示例代码一中的信号clk和d。
在一些实施例中,仿真器206可以输出对待测设计的仿真结果,例如,仿真结果可以包括仿真的波形图、覆盖率统计等。其中,覆盖率统计可以用于表征测试完备性,通常被定义为仿真执行代码已达到待测设计的百分比。覆盖率可以包括行覆盖率、分支覆盖率、功能覆盖率等。本申请仅以行覆盖率为例进行说明。在传统的仿真方法中,覆盖率统计对待测设计的全部代码进行。由于与空闲信号关联的代码并不实际执行,因此在传统的仿真方法中可能出现覆盖率偏低的情况,而实际上与待测设计的运行真实有关的代码已经得到了充分执行。采用本方法,在覆盖率统计时移除与空闲信号关联的代码,从而覆盖率统计更加准确的表征测试完备性。在一些实施例中,仿真结果可以包括空闲信号信息,空闲信号信息可以指示未仿真的空闲信号。可以通过主机100中的输出设备(例如显示器)展示仿真过程中未处理的空闲信号信息列表。
本申请的一些实施例中还提供了一种仿真方法。
图4示出了根据本申请实施例的一种仿真方法400的示意图。方法400可以由图1的主机100执行,更具体地,可以由在主机100上运行的图2的仿真工具200来执行。方法400 可以包括如下步骤。
在步骤410,主机100可以接收待测设计(例如,图2的210)的描述和测试环境(例如,图2的220)的描述(例如,源代码),待测设计和测试环境包括多个信号。其中,测试环境可以是UVM(Universal Verification Methodology)测试环境。可以理解的是,主机100可以将待测设计和测试环境的描述处理为目标代码(例如,二进制代码或者RTL代码等),并且进一步处理待测设计和测试环境的目标代码。
在步骤420,根据待测设计和测试环境,主机100可以在待测设计和测试环境的多个信号中识别待测设计和测试环境中的关键信号。例如,图2中空闲标记器204根据编译器202 产生的目标代码识别待测设计210和测试环境220中的关键信号。在一些实施例中,关键信号包括待测设计和测试环境中的非悬空的输入信号、输出信号、以及被监测的信号的至少一个。
在步骤430,根据关键信号,主机100可以确定待测设计和测试环境中的空闲信号。例如,图2中空闲标记器204根据编译器202产生的目标代码和确定的关键信号,进而确定待测设计中的空闲信号。在一些实施例中,根据所述关键信号确定所述待测设计和所述测试环境中的空闲信号进一步包括:在多个信号中确定直接或间接驱动关键信号的信号为非空闲信号,并且未直接和间接驱动关键信号的信号为空闲信号。例如,通过图2中空闲标记器204 确定空闲信号和非空闲信号。
在一些实施例中,在多个信号中确定直接或间接驱动关键信号的信号为非空闲信号并且未直接和间接驱动关键信号的信号为空闲信号进一步包括:追踪所述关键信号的驱动信号,将所述驱动信号确定为非空闲信号;根据所述关键信号和所述非空闲信号标记所述多个信号中的空闲信号。
在一些实施例中,在多个信号中确定直接或间接驱动关键信号的信号为非空闲信号并且未直接和间接驱动关键信号的信号为空闲信号还包括:追踪所述空闲信号的负载信号;确定所述负载信号是否为所述非空闲信号或所述关键信号;响应于所述负载信号是所述非空闲信号或所述关键信号,将所述空闲信号重新确定为非空闲信号。
在步骤440,主机100可以对所述待测设计进行仿真,其中,跳过对所述空闲信号的仿真。例如图2中仿真器206可以对待测设计的进行仿真,并且跳过所述空闲信号的仿真。在一些实施例中,主机100可以输出对所述待测设计的仿真结果,所述仿真结果中包括所述待测设计中的空闲信号信息。例如,仿真结果可以包括仿真的波形图、覆盖率统计等。在一些实施例中,仿真结果可以包括空闲信号信息,空闲信号信息可以指示未仿真的空闲信号。
本申请通过获取待测设计的描述和测试环境描述,并基于待测设计和测试环境的关键信号确定待测设计和测试环境中的空闲信号,使得对待测设计进行仿真时跳过对空闲信号的仿真,可以进一步提高仿真效率,改善覆盖率统计,缩减测试时间。
需要说明的是,本申请的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在本申请实施例还提供了一种电子设备,包括存储器,用于存储一组指令;以及至少一个处理器,配置为执行该组指令以使得所述电子设备执行本申请实施例提供的方法400。
本申请实施例还提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使所述计算机执行本申请实施例提供的方法 400。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器 (Read-Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(PhaseChange Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(RandomAccess Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
在本申请提供的另一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
上述对本申请的一些实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明它们没有在细节中提供。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种仿真方法,其特征在于,所述方法包括:
接收待测设计的描述和测试环境的描述,所述待测设计和所述测试环境包括多个信号;
根据所述待测设计和所述测试环境,在所述多个信号中识别所述待测设计和所述测试环境中的关键信号;
根据所述关键信号确定所述待测设计和所述测试环境中的空闲信号;
对所述待测设计进行仿真,其中,跳过对所述空闲信号的仿真。
2.根据权利要求1所述的方法,其特征在于,所述关键信号包括所述待测设计和所述测试环境中的非悬空的输入信号、输出信号、以及被监测的信号的至少一个。
3.根据权利要求1所述的方法,其特征在于,所述根据所述关键信号确定所述待测设计和所述测试环境中的空闲信号进一步包括:
在所述多个信号中确定直接或间接驱动所述关键信号的信号为非空闲信号并且未直接和间接驱动所述关键信号的信号为空闲信号。
4.根据权利要求3所述的方法,其特征在于,所述在所述多个信号中确定直接或间接驱动所述关键信号的信号为非空闲信号并且未直接和间接驱动所述关键信号的信号为空闲信号进一步包括:
追踪所述关键信号的驱动信号;
将所述驱动信号确定为非空闲信号;
根据所述关键信号和所述非空闲信号标记所述多个信号中的空闲信号。
5.根据权利要求3或4所述的方法,其特征在于,所述在所述多个信号中确定直接或间接驱动所述关键信号的信号为非空闲信号并且未直接和间接驱动所述关键信号的信号为空闲信号还包括:
追踪所述空闲信号的负载信号;
确定所述负载信号是否为所述非空闲信号或所述关键信号;
响应于所述负载信号是所述非空闲信号或所述关键信号,将所述空闲信号重新确定为非空闲信号。
6.根据权利要求5所述的方法,其特征在于,所述对所述待测设计进行仿真,其中,跳过对所述空闲信号的仿真进一步包括:
根据所述测试环境对所述待测设计进行仿真;
实时获取所述空闲信号的标记,并根据所述空闲信号的标记跳过所述空闲信号的处理。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
输出对所述待测设计的仿真结果,所述仿真结果中包括所述待测设计中的空闲信号信息。
8.一种电子设备,包括
存储器,用于存储一组指令;以及
至少一个处理器,配置为执行该组指令以使得所述电子设备执行如权利要求1至7的任一项所述的方法。
9.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使所述计算机执行如权利要求1至7的任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210550152.3A CN115292102B (zh) | 2022-05-20 | 2022-05-20 | 仿真方法、电子设备、可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210550152.3A CN115292102B (zh) | 2022-05-20 | 2022-05-20 | 仿真方法、电子设备、可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115292102A true CN115292102A (zh) | 2022-11-04 |
CN115292102B CN115292102B (zh) | 2024-05-28 |
Family
ID=83820789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210550152.3A Active CN115292102B (zh) | 2022-05-20 | 2022-05-20 | 仿真方法、电子设备、可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115292102B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002073370A (ja) * | 2000-08-25 | 2002-03-12 | Nec Microsystems Ltd | デバッグ支援装置およびその装置によるデバッグ方法 |
US20030237075A1 (en) * | 2002-06-25 | 2003-12-25 | Daniel Tormey | System and method for increasing OS idle loop performance in a simulator |
CN102279768A (zh) * | 2010-06-10 | 2011-12-14 | 株式会社东芝 | 仿真装置、仿真程序以及仿真方法 |
JP2012123726A (ja) * | 2010-12-10 | 2012-06-28 | Mitsubishi Electric Corp | シミュレーション装置及びシミュレーションプログラム |
CN113191166A (zh) * | 2021-03-06 | 2021-07-30 | 南京航空航天大学 | 一种基于比特检测的可靠rfid标签识别方法 |
US20220065923A1 (en) * | 2020-08-25 | 2022-03-03 | Stmicroelectronics S.R.L. | Electronic device and corresponding self-test method |
-
2022
- 2022-05-20 CN CN202210550152.3A patent/CN115292102B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002073370A (ja) * | 2000-08-25 | 2002-03-12 | Nec Microsystems Ltd | デバッグ支援装置およびその装置によるデバッグ方法 |
US20030237075A1 (en) * | 2002-06-25 | 2003-12-25 | Daniel Tormey | System and method for increasing OS idle loop performance in a simulator |
CN102279768A (zh) * | 2010-06-10 | 2011-12-14 | 株式会社东芝 | 仿真装置、仿真程序以及仿真方法 |
US20110307236A1 (en) * | 2010-06-10 | 2011-12-15 | Toshiba Solutions Corporation | Simulation apparatus, simulation method and recording medium for recording simulation program |
JP2012123726A (ja) * | 2010-12-10 | 2012-06-28 | Mitsubishi Electric Corp | シミュレーション装置及びシミュレーションプログラム |
US20220065923A1 (en) * | 2020-08-25 | 2022-03-03 | Stmicroelectronics S.R.L. | Electronic device and corresponding self-test method |
CN113191166A (zh) * | 2021-03-06 | 2021-07-30 | 南京航空航天大学 | 一种基于比特检测的可靠rfid标签识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115292102B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6074426A (en) | Method for automatically generating behavioral environment for model checking | |
US8271252B2 (en) | Automatic verification of device models | |
CN107436762A (zh) | 一种寄存器代码文件生成方法、装置和电子设备 | |
CN114662427B (zh) | 一种逻辑系统设计的调试方法及设备 | |
WO2016026328A1 (zh) | 一种信息处理方法、装置及计算机存储介质 | |
CN112100957B (zh) | 用于调试逻辑系统设计的方法、仿真器、存储介质 | |
CN112597064A (zh) | 对程序进行仿真的方法、电子设备及存储介质 | |
CN114548027A (zh) | 在验证系统中追踪信号的方法、电子设备及存储介质 | |
CN112434478B (zh) | 仿真逻辑系统设计的虚拟接口的方法及相关设备 | |
CN115827636B (zh) | 存储及从波形数据库读取逻辑系统设计的仿真数据的方法 | |
US8627273B2 (en) | Model checking of liveness property in a phase abstracted model | |
CN115292102B (zh) | 仿真方法、电子设备、可读存储介质 | |
US8065641B2 (en) | Automatically creating manufacturing test rules pertaining to an electronic component | |
CN113760751B (zh) | 生成测试用例的方法、电子设备及存储介质 | |
CN115935870A (zh) | 功耗分析方法、装置、电子设备、存储介质 | |
CN112464636B (zh) | 约束文件的比较方法、装置、电子设备和存储介质 | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
Chou et al. | Finding reset nondeterminism in RTL designs-scalable X-analysis methodology and case study | |
CN114443375A (zh) | 测试方法及装置、电子装置及计算机可读存储介质 | |
CN112131806A (zh) | 验证设计的编译方法、电子设备及存储介质 | |
CN117408198B (zh) | 一种仿真模型建模方法、装置、设备及存储介质 | |
JP2006285835A (ja) | 消費電力評価方法および消費電力評価システム | |
CN116069629B (zh) | 测试设计的方法、电子设备及存储介质 | |
CN114169287B (zh) | 生成验证环境的连接示意图的方法、电子设备及存储介质 | |
CN111950219A (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 | ||
CB02 | Change of applicant information |
Address after: Room 1840, Hatching Building, No. 99 Tuanjie Road, Nanjing Area, China (Jiangsu) Pilot Free Trade Zone, Nanjing, Jiangsu, 211899 Applicant after: Xinhuazhang Technology Co.,Ltd. Address before: Room 1840, hatch Eagle building, No. 99, Tuanjie Road, Nanjing area, China (Jiangsu) pilot Free Trade Zone, Suzhou, Jiangsu 215000 Applicant before: Xinhuazhang Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant |