CN116450516A - 一种芯片验证结果校验方法、装置、设备及存储介质 - Google Patents

一种芯片验证结果校验方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116450516A
CN116450516A CN202310420216.2A CN202310420216A CN116450516A CN 116450516 A CN116450516 A CN 116450516A CN 202310420216 A CN202310420216 A CN 202310420216A CN 116450516 A CN116450516 A CN 116450516A
Authority
CN
China
Prior art keywords
verification
neural network
execution result
result
model
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
Application number
CN202310420216.2A
Other languages
English (en)
Inventor
王文博
邵海波
朱雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202310420216.2A priority Critical patent/CN116450516A/zh
Publication of CN116450516A publication Critical patent/CN116450516A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Geometry (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本申请公开了一种芯片验证结果校验方法、装置、设备及存储介质,涉及芯片验证技术领域。应用于预设芯片验证平台,该方法包括:获取芯片验证时用于验证待测设计的目标功能的测试用例并从中确定出验证激励;基于验证激励确定出模型训练样本库,并利用其中的样本对预设神经网络进行训练,得到目标神经网络模型;将验证激励分别输入待测设计、参考模型和目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果;将第一执行结果与第二执行结果进行比对,并利用第三执行结果对比对结果相同的正确结果进行校验。通过本申请的技术方案,可以提高芯片验证的可靠性,有效发现潜在但被遗忘的漏洞。

Description

一种芯片验证结果校验方法、装置、设备及存储介质
技术领域
本发明涉及芯片验证技术领域,特别涉及一种芯片验证结果校验方法、装置、设备及存储介质。
背景技术
芯片验证的目的是为了检查待测设计(Device Under Test,DUT)中是否存在漏洞(bug)。在进行芯片验证时,首先要搭建芯片验证平台,芯片验证平台主要由Driver(驱动器)、Monitor(监测器)、sequencer、Reference model(参考模型)、Scoreboard(记分板)等组件组成。芯片验证平台搭建完成后,在芯片验证仿真时,将验证激励分别输入到芯片验证平台与待测设计两条路径中,在前者路径中,验证激励会流经Reference model,并将Reference model的执行结果输入到Scoreboard中;在后者路径中,验证激励输入待测设计后会得到待测设计的执行结果,并将执行结果输入到Scoreboard中。在Scoreboard中,将得到的两者的执行结果进行比对,根据比对结果检查并分析待测设计中是否存在漏洞。
在一般情况下,若Reference model的执行结果与待测设计的执行结果都比对正确,则认为待测设计中不存在漏洞。但是,会存在比对正确,而Reference model与待测设计执行结果都错误的情况。而且,算法模块DUT内部包含了复杂的算法运算,更增加了出错的可能性。
综上,如何在芯片验证时提高验证的可靠性,更有效的发现待测设计中的漏洞是目前有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种芯片验证结果校验方法、装置、设备及存储介质,能够在芯片验证时提高验证的可靠性,更有效的发现待测设计中的漏洞。其具体方案如下:
第一方面,本申请公开了一种芯片验证结果校验方法,应用于预设芯片验证平台,包括:
获取芯片验证时用于验证待测设计的目标功能的测试用例;
从所述测试用例中确定出验证激励;
基于所述验证激励确定出模型训练样本库,并利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型;
将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果;其中,所述参考模型为在所述预设芯片验证平台中根据所述待测设计的原理构造的一个具有相同功能的芯片验证平台组件;
将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验。
可选的,所述基于所述验证激励确定出模型训练样本库,包括:
根据所述验证激励以及所述验证激励中数据的随机约束条件生成模型训练样本库。
可选的,所述利用所述模型训练样本库中的样本对预设神经网络进行训练,得到神经网络模型之前,还包括:
为所述模型训练样本库中的每个样本标注相应的标签,以得到样本标签;
相应的,所述利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型,包括:
将所述模型训练样本库中携带有所述样本标签的样本输入至所述预设神经网络中,以得到与所述样本对应的预测输出;
基于所述预测输出与所述样本标签确定所述目标神经网络模型在训练过程中的预测误差,并根据所述预测误差,利用神经网络优化算法对所述预设神经网络进行训练,当神经网络模型收敛时,确定出所述目标神经网络模型。
可选的,所述利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型,包括:
利用所述模型训练样本库中的样本对全连接神经网络、卷积神经网络以及循环神经网络中的任意一种神经网络进行训练,得到目标神经网络模型。
可选的,所述将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果,包括:
将所述验证激励输入所述待测设计,以得到第一执行结果;
将所述验证激励输入参考模型,以得到第二执行结果;
对所述验证激励进行转换处理,以得到所述目标神经网络模型能够处理的数据格式,然后将转换为所述数据格式的验证激励输入所述目标神经网络模型中,以得到第三执行结果。
可选的,所述将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果,包括:
基于并行处理机制,将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果。
可选的,所述将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验,包括:
若所述第三执行结果与所述正确结果不同,并且所述第三执行结果大于预设阈值,则判定所述待测设计中存在漏洞;
若所述第三执行结果与所述正确结果不同,并且所述第三执行结果不大于所述预设阈值,则判定所述待测设计中不存在所述漏洞;
若所述第三执行结果与所述正确结果相同,则判定所述待测设计中不存在所述漏洞。
第二方面,本申请公开了一种芯片验证结果校验装置,应用于预设芯片验证平台,包括:
测试用例获取模块,用于获取芯片验证时用于验证待测设计的目标功能的测试用例;
验证激励确定模块,用于从所述测试用例中确定出验证激励;
神经网络模型训练模块,用于基于所述验证激励确定出模型训练样本库,并利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型;
执行结果获取模块,用于将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果;其中,所述参考模型为在所述预设芯片验证平台中根据所述待测设计的原理构造的一个具有相同功能的芯片验证平台组件;
结果校验模块,用于将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验。
第三方面,本申请公开了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如前所述的芯片验证结果校验方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如前所述的芯片验证结果校验方法。
本申请提供了一种芯片验证结果校验方法,应用于预设芯片验证平台,包括:获取芯片验证时用于验证待测设计的目标功能的测试用例;从所述测试用例中确定出验证激励;基于所述验证激励确定出模型训练样本库,并利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型;将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果;其中,所述参考模型为在所述预设芯片验证平台中根据所述待测设计的原理构造的一个具有相同功能的芯片验证平台组件;将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验。可见,从芯片验证层面来说,在传统的芯片验证平台中加入了训练得到的目标神经网络模型,该神经网络模型通过自我学习,具有与待测设计和参考模型相同的功能,进而待测设计、参考模型、目标神经网络模型组成了一个新的芯片验证平台。相比传统的芯片验证方法将验证激励输入到两条路径中,增加了第三条路径,即将验证激励同时输入到神经网络模型中;利用神经网络模型的执行结果对仿真时参考模型与待测设计之间的比对结果进行再次验证,提高了芯片验证的可靠性,更有效的发现待测设计中潜在的但可能被遗漏掉的漏洞。同时,该神经网络模型独立于预设芯片验证平台中,不进行编译与仿真,可与待测设计与参考模型间的芯片验证仿真并行执行,未增加编译与仿真时间,节省了芯片验证的宝贵时间。
此外,本申请提供的一种芯片验证结果校验装置、设备及存储介质,与上述芯片验证结果校验方法对应,效果同上。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种芯片验证结果校验方法流程图;
图2为本申请公开的一种预设芯片验证平台示意图;
图3为本申请公开的一种具体的芯片验证结果校验方法流程图;
图4为本申请公开的一种全连接神经网络模型示意图;
图5为本申请公开的一种芯片验证结果校验装置结构示意图;
图6为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,在芯片验证时存在参考模型与待测设计比对正确,但执行结果都错误的情况。而且,算法模块DUT内部包含了复杂的算法运算,更增加了出错的可能性。
为此,本申请提供了一种芯片验证结果校验方案,能够在芯片验证时提高验证的可靠性,更有效的发现待测设计中的漏洞。
本发明实施例公开了一种芯片验证结果校验方法,参见图1所示,应用于预设芯片验证平台,该方法包括:
步骤S11:获取芯片验证时用于验证待测设计的目标功能的测试用例。
本申请实施例中,在芯片验证的整个流程中,首先需要根据DUT的设计与架构文档提取要进行验证的待测设计的功能点,每个功能点会有对应的测试用例(test case)。
步骤S12:从所述测试用例中确定出验证激励。
在芯片仿真验证过程中,对于每个测试用例,都会有多个验证激励作为输入,并会得到一个或者多个执行结果。
步骤S13:基于所述验证激励确定出模型训练样本库,并利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型。
本申请实施例中,利用从测试用例中确定出来的验证激励生成训练预设神经网络的模型训练样本库,根据当前芯片验证场景以及该模型训练样本库中样本的特征,构建神经网络模型。将样本库中的样本输入到神经网络模型中,让神经网络模型学习样本中的知识,如此一来,利用神经网络模型通过自我学习,使其具有与传统验证平台中的待测设计和参考模型相同的功能。
需要指出的是,神经网络模型存在两种状态,一种状态是未训练的神经网络模型,另一种状态是训练完成后的神经网络模型。将训练完成后的神经网络模型集成到芯片验证平台中,形成预设芯片验证平台,如此一来,相比传统的芯片验证方法,将验证激励输入到两条路径中,增加了第三条路径,即将验证激励同时输入到目标神经网络模型中。
用于构建使用的目标神经网络模型时,训练的预设神经网络可选择全连接神经网络、卷积神经网络、循环神经网络等神经网络在内的多种神经网络模型。由于神经网络具有强大的自学习能力与数据拟合能力,因此,在本申请实施例中,利用基于验证激励确定出的模型训练样本库,训练预设神经网络,使神经网络模型能够学习待测设计中的功能特征,达到接近于待测设计的性能。
步骤S14:将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果;其中,所述参考模型为在所述预设芯片验证平台中根据所述待测设计的原理构造的一个具有相同功能的芯片验证平台组件。
在芯片仿真验证时,验证激励会输入到芯片验证平台中与待测设计中,在芯片验证平台中,验证激励会输入到参考模型中,然后在芯片验证平台的计分板中对待测设计的执行结果与参考模型的执行结果进行比对。需要指出的是,参考模型是芯片验证人员根据待测设计的原理构造的一个具有相同功能的芯片验证平台组件。
通常情况下,会根据计分板中执行结果有没有错误来分析待测设计中是否存在漏洞。但是会存在计分板执行结果正确,而待测设计的执行结果与参考模型的执行结果错误的情况,因此,需要对计分板中比对后得到的执行结果的正确性进行检查。
本申请实施例中,在芯片验证仿真过程中,会将验证激励同时输入到训练完成时得到的目标神经网络模型中,因为验证激励与神经网络模型的输入格式不同,所以要先将验证激励转换为神经网络模型的输入格式,再输入到神经网络模型中。具体的,对所述验证激励进行转换处理,以得到所述目标神经网络模型能够处理的数据格式,然后将转换为所述数据格式的验证激励输入所述目标神经网络模型中,以得到第三执行结果。另外,验证激励输入到待测设计中得到第一执行结果;验证激励输入参考模型中得到第二执行结果。
本申请实施例中,神经网络模型不进行编译与仿真,可与芯片验证仿真并行执行,并不会参与到芯片验证环境编译与仿真的过程中,实现了对仿真结果的双重验证。因此,未增加编译与仿真时间,节省了芯片验证的宝贵时间。具体的,基于并行处理机制,将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果。
步骤S15:将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验。
本申请实施例中,在芯片验证仿真时,将验证激励输入到待测设计、参考模型以及目标神经网络模型中,并得到三者各自对应的执行结果。将待测设计的第一执行结果与参考模型的第二执行结果进行比对,确定出比对结果相同的正确结果,进而对该正确结果进行双重验证。也即,只对计分板中执行正确的结果进行正确性检查,即若第一执行结果与第二执行结果相同,则再与目标神经网络模型的第三执行结果进行比较,若第三执行结果与前两者的执行结果不同且神经网络模型的执行结果超过了设定的阈值,则认为待测设计中可能存在漏洞,需要进一步分析确认。反之,当第三执行结果与比对的正确结果不同,但目标神经网络模型的第三执行结果小于设定的阈值时,则认为芯片中不存在漏洞,当神经网络模型的执行结果与比对正确的结果相同时,亦认为芯片中不存在漏洞。
具体的,若所述第三执行结果与所述正确结果不同,并且所述第三执行结果大于预设阈值,则判定所述待测设计中存在漏洞;若所述第三执行结果与所述正确结果不同,并且所述第三执行结果不大于所述预设阈值,则判定所述待测设计中不存在所述漏洞;若所述第三执行结果与所述正确结果相同,则判定所述待测设计中不存在所述漏洞。
如图2所示为本申请实施例中提供的一个新的芯片验证平台,独立于传统的芯片验证框架,在传统的UVM(Universal Verification Methodology,通用验证方法学)验证平台中加入了训练后得到的神经网络模型,是对芯片仿真验证的执行结果做了双重验证,进一步检查芯片仿真验证执行结果的正确性。神经网络模型擅长于学习算法运算的任务,因此适合于学习算法模块DUT中的算法功能特征,达到与算法模块DUT相同的功能。在神经网络模型中,将验证激励作为输入,让神经网络模型能够自我学习,不断完善。在芯片验证仿真时,通过神经网络模型的执行结果对芯片仿真验证结果进行再次验证,发现DUT中潜在的但可能被遗漏掉的bug,提高了芯片仿真验证的可靠性;而且训练完成后的神经网络模型可与芯片验证仿真过程并行执行,不占用编译与仿真时间,节省仿真的宝贵时间。可以理解的是,神经网络模型的构建以及样本的数量与质量直接影响到任务预测的精度。对于功能较为单一的待测设计,普通的神经网络模型即可达到理想的效果,但对于功能复杂的待测设计,需要构建适用于当前任务的特定的神经网络模型,甚至需要构建多个神经网络模型,且复杂的任务往往需要更多高质量的训练样本,对样本的数量与质量有较高的要求。
本申请提供了一种芯片验证结果校验方法,应用于预设芯片验证平台,包括:获取芯片验证时用于验证待测设计的目标功能的测试用例;从所述测试用例中确定出验证激励;基于所述验证激励确定出模型训练样本库,并利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型;将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果;其中,所述参考模型为在所述预设芯片验证平台中根据所述待测设计的原理构造的一个具有相同功能的芯片验证平台组件;将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验。可见,从芯片验证层面来说,在传统的芯片验证平台中加入了训练得到的目标神经网络模型,神经网络模型擅长于学习算法运算的任务,该神经网络模型通过自我学习,具有与待测设计和参考模型相同的功能,进而待测设计、参考模型、目标神经网络模型组成了一个新的芯片验证平台。相比传统的芯片验证方法将验证激励输入到两条路径中,增加了第三条路径,即将验证激励同时输入到神经网络模型中;利用神经网络模型的执行结果对仿真时参考模型与待测设计之间的比对结果进行再次验证,提高了芯片验证的可靠性,更有效的发现待测设计中潜在的但可能被遗漏掉的漏洞。同时,该神经网络模型独立于预设芯片验证平台中,不进行编译与仿真,可与待测设计与参考模型间的芯片验证仿真并行执行,未增加编译与仿真时间,节省了芯片验证的宝贵时间。
本申请实施例公开了一种具体的芯片验证结果校验方法,参见图3所示,应用于预设芯片验证平台,该方法包括:
步骤S21:获取芯片验证时用于验证待测设计的目标功能的测试用例。
步骤S22:从所述测试用例中确定出验证激励。
其中,关于上述步骤S21、步骤S22更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
步骤S23:根据所述验证激励以及所述验证激励中数据的随机约束条件生成模型训练样本库。
步骤S24:为所述模型训练样本库中的每个样本标注相应的标签,以得到样本标签。
本申请实施例中,根据验证激励以及验证激励中数据的随机约束条件生成样本,对生成的样本进行手工标注,生成带标签的样本。为了保证神经网络模型的性能,生成的样本数量要适当多一点,且各类的样本数量要保持均衡。
步骤S25:将所述模型训练样本库中携带有所述样本标签的样本输入至所述预设神经网络中,以得到与所述样本对应的预测输出。
示例性的,如图4所示为常见的全连接神经网络模型,该模型由3层组成,分别是输入层、隐含层与输出层。输入层的输入1,输入2,…,输入n为验证激励。输出层的输出1,输出2,…,输出m为当前测试用例的执行结果。
步骤S26:基于所述预测输出与所述样本标签确定所述目标神经网络模型在训练过程中的预测误差,并根据所述预测误差,利用神经网络优化算法对所述预设神经网络进行训练,当神经网络模型收敛时,确定出所述目标神经网络模型。
本申请实施例中,将生成的样本输入到构建的神经网络模型中,计算神经网络模型的预测值与样本标签的误差,使用神经网络优化算法对神经网络模型进行训练,直至神经网络模型收敛,收敛后表明神经网络模型训练完成。
步骤S27:将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果;其中,所述参考模型为在所述预设芯片验证平台中根据所述待测设计的原理构造的一个具有相同功能的芯片验证平台组件。
步骤S28:将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验。
其中,关于上述步骤S27、步骤S28更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请提供了一种芯片验证结果校验方法,应用于预设芯片验证平台,包括:获取芯片验证时用于验证待测设计的目标功能的测试用例;从所述测试用例中确定出验证激励;根据所述验证激励以及所述验证激励中数据的随机约束条件生成模型训练样本库;为所述模型训练样本库中的每个样本标注相应的标签,以得到样本标签;将所述模型训练样本库中携带有所述样本标签的样本输入至所述预设神经网络中,以得到与所述样本对应的预测输出;基于所述预测输出与所述样本标签确定所述目标神经网络模型在训练过程中的预测误差,并根据所述预测误差,利用神经网络优化算法对所述预设神经网络进行训练,当神经网络模型收敛时,确定出所述目标神经网络模型;将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果;其中,所述参考模型为在所述预设芯片验证平台中根据所述待测设计的原理构造的一个具有相同功能的芯片验证平台组件;将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验。可见,从芯片验证层面来说,在传统的芯片验证平台中加入了训练得到的目标神经网络模型,神经网络模型擅长于学习算法运算的任务,该神经网络模型通过自我学习,具有与待测设计和参考模型相同的功能,进而待测设计、参考模型、目标神经网络模型组成了一个新的芯片验证平台。相比传统的芯片验证方法将验证激励输入到两条路径中,增加了第三条路径,即将验证激励同时输入到神经网络模型中;利用神经网络模型的执行结果对仿真时参考模型与待测设计之间的比对结果进行再次验证,提高了芯片验证的可靠性,更有效的发现待测设计中潜在的但可能被遗漏掉的漏洞。同时,该神经网络模型独立于预设芯片验证平台中,不进行编译与仿真,可与待测设计与参考模型间的芯片验证仿真并行执行,未增加编译与仿真时间,节省了芯片验证的宝贵时间。
下面通过一个具体的例子对本申请中的技术方案进行说明。
假设存在一个算法模块DUT,该待测设计具有奇偶校验的单一功能。奇校验表示当数据位中1的个数为奇数时,校验位为0,否则为1;偶校验表示当数据位中1的个数为偶数时,校验位为0,否则为1。将验证激励输入到DUT中,验证激励中包含了要配置的奇校验功能或偶校验功能以及待校验的数据,DUT的执行结果为输出校验位,校验位只包含0或1。其中,寄存器的长度与验证激励中数据的长度都为32bit,待测设计与参考模型输出的校验位为1bit。举例如下:
存在一个32bit的数据1111_1111_1111_1111_1110_0000_0000_0000,其中1的个数为奇数。若选择奇校验功能,因为1的个数为奇数,所以校验位为0;若选择偶校验功能,因为1的个数为奇数,所以校验位为1。
存在一个测试用例,用于验证待测设计的奇偶校验功能,其执行流程为:
1.配置待测设计的时钟使能寄存器使能DUT;
2.配置待测设计的奇偶校验寄存器选择奇偶校验功能;
3.向待测设计中用于存储待校验数据的寄存器发送待校验数据;
4.获取待测设计的执行结果;
5.获取参考模型的执行结果;
6.对待测设计的执行结果与参考模型的执行结果进行比对。
首先根据测试用例中的验证激励以及验证激励中数据的随机约束生成样本。上述测试用例中共有三个验证激励,依次为:
验证激励1,配置待测设计的时钟使能寄存器;
验证激励2,配置待测设计的奇偶检验寄存器;
验证激励3,向待测设计待校验数据寄存器发送待校验的数据。
其中,只有验证激励3中的数据具有随机约束,该随机约束为:验证激励3中的数据为32bit长度的数据,每一个bit位的数据只能为0或者1,则满足此约束的数据共有232个。因为232个数据量较大,所以需要从232个数据中采样,共采样n个数据,依次为验证激励3_1,验证激励3_2,…,验证激励3_n。最终,会生成如下的n个样本:
样本1:[验证激励1,验证激励2,验证激励3_1],
样本2:[验证激励1,验证激励2,验证激励3_2],
样本n:[验证激励1,验证激励2,验证激励3_n]。
但是,在训练神经网络模型的时候使用的是带标签的样本,因此需要对n个样本标注标签。标签是指将单个样本进行与待测设计相同的运算得到的正确的执行结果。因此,添加标注后的n个样本如下:
样本1:[验证激励1,验证激励2,验证激励3_1,标签1],
样本2:[验证激励1,验证激励2,验证激励3_2,标签2],
样本n:[验证激励1,验证激励2,验证激励3_n,标签n]。
样本举例:
样本1:奇校验,数据中1的个数为奇数,所以标签为0
[0000_0000_0000_0000_0000_0000_0000_0001,
0000_0000_0000_0000_0000_0000_0000_0001,
0000_0000_0000_0000_0000_0000_0001_1111,
0];
样本2:奇校验,数据中1的个数为偶数,所以标签为1
[0000_0000_0000_0000_0000_0000_0000_0001,
0000_0000_0000_0000_0000_0000_0000_0001,
0000_0000_0000_0000_0000_0000_0000_1111,
1];
样本3:偶校验,数据中1的个数为偶数,所以标签为0
[0000_0000_0000_0000_0000_0000_0000_0001,
0000_0000_0000_0000_0000_0000_0000_0000,
0000_0000_0000_0000_0000_0000_0000_1111,
0];
样本4:偶校验,数据中1的个数为奇数,所以标签为1
[0000_0000_0000_0000_0000_0000_0000_0001,
0000_0000_0000_0000_0000_0000_0000_0000,
0000_0000_0000_0000_0000_0000_0001_1111,
1]。
然后,构建神经网络模型。此处使用的是三层的全连接神经网络模型,如图4所示。该全连接神经网络模型的输入层维度为32,也就是与待测设计中寄存器的长度以及验证激励中数据的长度都相同。隐藏层维度为N,N为大于0的整数。输出层维度为2,分别表示校验位为0和1。
接下来,将生成的样本输入到神经网络模型中训练模型,直到模型收敛。在将样本输入到神经网络模型中时,要将样本中的数据转换成神经网络模型可处理的数据格式,即将样本中的数据做求和运算:验证激励1+验证激励2+验证激励3,转换后的样本数据是一个维度为32的向量,记为X,将向量X作为神经网络模型的输入。
最后将训练完成后的神经网络模型用于图2所示的芯片验证过程。芯片验证仿真时,依次向待测设计输入如下验证激励,
验证激励1,配置待测设计的时钟使能寄存器
验证激励2,配置待测设计的奇偶检验寄存器
验证激励3,向待测设计待校验数据寄存器发送待校验的数据
而神经网络模型(此处及下文的神经网络模型皆为训练完成后的神经网络模型)的输入与上文提到的向量X格式相同,记为X1。向量X1在神经网络模型中作如下运算,
H=f(X1W1+b1),其中,H为隐藏层向量,维度为N;W1为权重矩阵,维度为32×N;b1为偏移;f为激活函数。
然后再对向量H做如下运算得到输出向量Y,Y(y1,y2)=SoftMax(HW2+b2);其中,W2为权重矩阵,维度为N×2;b2为偏移;SoftMax为激活函数,作用是将向量中的每个数都映射到0到1之间,表示预测的概率,且所有数的和为1;Y为输出层的输出向量,维度为2;y1、y2分别表示模型执行结果为0与1的概率,且y1+y2=1。若y1>y2,则神经网络模型的执行结果为y1所在位置对应的标签值,否则为y2所在位置对应的标签值。
同时,待测设计的执行结果与参考模型的执行结果也会输出校验位,并将两者的执行结果进行比对,若比对正确,即两者的执行结果相同,则根据神经网络模型的输出向量Y得到以下几种执行结果:
假设阈值设置为0.8,
1.神经网络模型的执行结果与待测设计的执行结果(或参考模型的执行结果)不同,假设神经网络模型的执行结果为1,待测设计的执行结果为0。假设Y=(0.4,0.6),0.4表示值为0的概率,0.6表示值为1的概率。因为0.6<0.8,所以认为待测设计中不存在bug。
2.神经网络模型的执行结果与待测设计的执行结果(或参考模型的执行结果)不同,假设神经网络模型的执行结果为1,DUT的执行结果为0。假设Y=(0.1,0.9),0.1表示值为0的概率,0.9表示值为1的概率。因为0.9>0.8,所以认为待测设计中可能存在bug,需要进一步分析。
3.神经网络模型的执行结果与待测设计的执行结果(或参考模型的执行结果)相同,则认为待测设计中不存在bug。
相应的,本申请实施例还公开了一种芯片验证结果校验装置,参见图5所示,应用于预设芯片验证平台,该装置包括:
测试用例获取模块11,用于获取芯片验证时用于验证待测设计的目标功能的测试用例;
验证激励确定模块12,用于从所述测试用例中确定出验证激励;
神经网络模型训练模块13,用于基于所述验证激励确定出模型训练样本库,并利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型;
执行结果获取模块14,用于将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果;其中,所述参考模型为在所述预设芯片验证平台中根据所述待测设计的原理构造的一个具有相同功能的芯片验证平台组件;
结果校验模块15,用于将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
由此可见,通过本实施例的上述方案,应用于预设芯片验证平台,包括:获取芯片验证时用于验证待测设计的目标功能的测试用例;从所述测试用例中确定出验证激励;基于所述验证激励确定出模型训练样本库,并利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型;将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果;其中,所述参考模型为在所述预设芯片验证平台中根据所述待测设计的原理构造的一个具有相同功能的芯片验证平台组件;将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验。可见,从芯片验证层面来说,在传统的芯片验证平台中加入了训练得到的目标神经网络模型,神经网络模型擅长于学习算法运算的任务,该神经网络模型通过自我学习,具有与待测设计和参考模型相同的功能,进而待测设计、参考模型、目标神经网络模型组成了一个新的芯片验证平台。相比传统的芯片验证方法将验证激励输入到两条路径中,增加了第三条路径,即将验证激励同时输入到神经网络模型中;利用神经网络模型的执行结果对仿真时参考模型与待测设计之间的比对结果进行再次验证,提高了芯片验证的可靠性,更有效的发现待测设计中潜在的但可能被遗漏掉的漏洞。同时,该神经网络模型独立于预设芯片验证平台中,不进行编译与仿真,可与待测设计与参考模型间的芯片验证仿真并行执行,未增加编译与仿真时间,节省了芯片验证的宝贵时间。
进一步的,本申请实施例还公开了一种电子设备,图6是根据一示例性实施例示出的电子设备20结构图,图中内容不能认为是对本申请的使用范围的任何限制。
图6为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的芯片验证结果校验方法中的相关步骤。另外,本实施例中的电子设备20具体可以为计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,数据223可以包括各种各样的数据。存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的芯片验证结果校验方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,这里所说的计算机可读存储介质包括随机存取存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述芯片验证结果校验方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的芯片验证结果校验或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种芯片验证结果校验方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种芯片验证结果校验方法,其特征在于,应用于预设芯片验证平台,包括:
获取芯片验证时用于验证待测设计的目标功能的测试用例;
从所述测试用例中确定出验证激励;
基于所述验证激励确定出模型训练样本库,并利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型;
将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果;其中,所述参考模型为在所述预设芯片验证平台中根据所述待测设计的原理构造的一个具有相同功能的芯片验证平台组件;
将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验。
2.根据权利要求1所述的芯片验证结果校验方法,其特征在于,所述基于所述验证激励确定出模型训练样本库,包括:
根据所述验证激励以及所述验证激励中数据的随机约束条件生成模型训练样本库。
3.根据权利要求1所述的芯片验证结果校验方法,其特征在于,所述利用所述模型训练样本库中的样本对预设神经网络进行训练,得到神经网络模型之前,还包括:
为所述模型训练样本库中的每个样本标注相应的标签,以得到样本标签;
相应的,所述利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型,包括:
将所述模型训练样本库中携带有所述样本标签的样本输入至所述预设神经网络中,以得到与所述样本对应的预测输出;
基于所述预测输出与所述样本标签确定所述目标神经网络模型在训练过程中的预测误差,并根据所述预测误差,利用神经网络优化算法对所述预设神经网络进行训练,当神经网络模型收敛时,确定出所述目标神经网络模型。
4.根据权利要求1所述的芯片验证结果校验方法,其特征在于,所述利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型,包括:
利用所述模型训练样本库中的样本对全连接神经网络、卷积神经网络以及循环神经网络中的任意一种神经网络进行训练,得到目标神经网络模型。
5.根据权利要求1所述的芯片验证结果校验方法,其特征在于,所述将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果,包括:
将所述验证激励输入所述待测设计,以得到第一执行结果;
将所述验证激励输入参考模型,以得到第二执行结果;
对所述验证激励进行转换处理,以得到所述目标神经网络模型能够处理的数据格式,然后将转换为所述数据格式的验证激励输入所述目标神经网络模型中,以得到第三执行结果。
6.根据权利要求1所述的芯片验证结果校验方法,其特征在于,所述将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果,包括:
基于并行处理机制,将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果。
7.根据权利要求1至6任一项所述的芯片验证结果校验方法,其特征在于,所述将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验,包括:
若所述第三执行结果与所述正确结果不同,并且所述第三执行结果大于预设阈值,则判定所述待测设计中存在漏洞;
若所述第三执行结果与所述正确结果不同,并且所述第三执行结果不大于所述预设阈值,则判定所述待测设计中不存在所述漏洞;
若所述第三执行结果与所述正确结果相同,则判定所述待测设计中不存在所述漏洞。
8.一种芯片验证结果校验装置,其特征在于,应用于预设芯片验证平台,包括:
测试用例获取模块,用于获取芯片验证时用于验证待测设计的目标功能的测试用例;
验证激励确定模块,用于从所述测试用例中确定出验证激励;
神经网络模型训练模块,用于基于所述验证激励确定出模型训练样本库,并利用所述模型训练样本库中的样本对预设神经网络进行训练,得到目标神经网络模型;
执行结果获取模块,用于将所述验证激励分别输入所述待测设计、参考模型和所述目标神经网络模型中,以得到相应的第一执行结果、第二执行结果和第三执行结果;其中,所述参考模型为在所述预设芯片验证平台中根据所述待测设计的原理构造的一个具有相同功能的芯片验证平台组件;
结果校验模块,用于将所述第一执行结果与所述第二执行结果进行比对,并利用所述第三执行结果对比对结果相同的正确结果进行校验。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的芯片验证结果校验方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的芯片验证结果校验方法。
CN202310420216.2A 2023-04-14 2023-04-14 一种芯片验证结果校验方法、装置、设备及存储介质 Pending CN116450516A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310420216.2A CN116450516A (zh) 2023-04-14 2023-04-14 一种芯片验证结果校验方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310420216.2A CN116450516A (zh) 2023-04-14 2023-04-14 一种芯片验证结果校验方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116450516A true CN116450516A (zh) 2023-07-18

Family

ID=87123373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310420216.2A Pending CN116450516A (zh) 2023-04-14 2023-04-14 一种芯片验证结果校验方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116450516A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116827522A (zh) * 2023-08-25 2023-09-29 珠海星云智联科技有限公司 基于uvm的aes-gcm功能验证方法及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116827522A (zh) * 2023-08-25 2023-09-29 珠海星云智联科技有限公司 基于uvm的aes-gcm功能验证方法及相关设备
CN116827522B (zh) * 2023-08-25 2023-11-17 珠海星云智联科技有限公司 基于uvm的aes-gcm功能验证方法及相关设备

Similar Documents

Publication Publication Date Title
CN113032195B (zh) 芯片仿真验证方法、系统、设备及存储介质
US7979848B2 (en) Systems, methods and apparatus for pattern matching in procedure development and verification
CN111522734B (zh) 软件功能测试方法、装置、电子设备及存储介质
US20100146340A1 (en) Analyzing Coverage of Code Changes
CN107807881B (zh) 代码覆盖率的测试方法、装置和计算机设备
Rosaria et al. Applying models in your testing process
US8271252B2 (en) Automatic verification of device models
US20200151081A1 (en) Automated Repair Of Bugs And Security Vulnerabilities In Software
US7752608B1 (en) Systems, methods and apparatus for verification of knowledge-based systems
CN116450516A (zh) 一种芯片验证结果校验方法、装置、设备及存储介质
Caliebe et al. Dependency-based test case selection and prioritization in embedded systems
US7739671B1 (en) Systems, methods and apparatus for implementation of formal specifications derived from informal requirements
CN113342669A (zh) 一种缩短芯片代码覆盖率收敛时间的验证方法及装置
EP1314045B1 (en) Method for providing bitwise constraints for test generation
US20090222234A1 (en) Generating Worst Case Test Sequences For Non-Linearly Driven Channels
Ateşoğulları et al. White Box Test Tools: A Comparative View
CN112988578A (zh) 一种自动化测试方法和装置
CN116306479A (zh) 基于uvm的以太网phy通用验证平台及验证方法
Sahai et al. Improving the Coverage of GPT for Automated Feedback on High School Programming Assignments
Izzat et al. Software testing techniques and tools: A review
US11775729B2 (en) Technology file process rule validation
Hsieh et al. On application of data mining in functional debug
Ali-Shahid et al. A case study on reliability and usability testing of a Web portal
CN114238128A (zh) 测试用例生成方法、装置、电子设备及计算机可读介质
US8671395B1 (en) Adaptive deadend avoidance in constrained simulation

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