估计形式验证问题的难度级的制作方法

文档序号:6560291阅读:120来源:国知局
专利名称:估计形式验证问题的难度级的制作方法
技术领域
本发明总体上涉及集成电路设计领域,更具体来说,涉及对形式验证问题的难度级的估计。
背景技术
电路技术的进步已提出在集成电路上布置多得多的晶体管,这需要更复杂的电路设计。然而,当面对更复杂的电路设计时,用于对电路设计进行评估的公知技术往往是低效的。因此,在某些情况下,用于对电路设计进行评估的公知技术可能是不令人满意的。

发明内容
根据本发明,可以减少或消除与用于估计形式验证问题的难度级的先前技术相关联的缺点和问题。
根据一个实施例,对验证问题的难度级的估计包括以下步骤接收输入,该输入包括设计和可以被验证的关于该设计的性质。针对关于该设计的每个性质执行验证处理。根据所述验证处理针对每个性质建立性质可验证性量度值,其中性质可验证性量度值表示对关于所述设计的性质进行验证的难度级。根据所述多个性质可验证性量度值确定设计可验证性量度值,其中,所述设计可验证性量度值表示对所述设计进行验证的难度级。
本发明的某些实施例可以提供一个或更多个技术优点。一个实施例的技术优点可能在于建立了用于对电路进行验证的难度级。针对一组性质中的每个性质,确定了用于对关于电路的性质进行验证的难度级。根据这些性质的难度级,建立了用于对电路进行验证的难度级。电路的难度级可以用于估计对电路进行验证所需要的资源量、设计验证方法、调节验证引擎参数、修改电路设计以进行验证、或执行任何其他合适的目的。
本发明的某些实施例可以不包括以上多个技术优点中的任何一个、可以包括以上多个技术优点中的一些或所有技术优点。对于本领域的技术人员,根据附图、说明书以及所附权利要求,将容易显见一个或更多个其他技术优点。


为了更全面地理解本发明及其特征和优点,下面结合附图来参考以下描述,在附图中图1是用于估计形式验证问题的难度级的系统的一个实施例的框图;图2是例示了难度级的示例组的表;图3是用于估计对电路的性质进行的验证的难度级的方法的一个实施例的流程图;以及图4是例示了根据可抽出性和抽出后的电路的最终规模的示例粗略分类的表。
具体实施例方式
通过参照附图的图1到4可以最佳地理解本发明的多个实施例及其优点,将类似的标号用于各图的类似和对应部分。
图1是用于估计形式验证问题的难度级的系统10的一个实施例的框图。根据本实施例,系统10建立了用于对电路进行验证的难度级。针对一组性质中的每个性质,确定用于对关于电路的性质进行验证的难度级。可以根据这些性质的难度级建立用于对电路进行验证的难度级。
通常,电路的规范描述了电路的期望行为,对电路的设计描述了为了执行所期望的行为而设计的算术和逻辑操作。可以由多个数学模型来表示该规范和设计。根据形式验证处理可以对这些数学模型进行比较,以建立该设计是否执行了由规范描述的期望行为。然而,执行该比较往往是困难的。此外,在某些情况下验证处理可能根本不会完成。
系统10对形式验证问题的难度级进行估计。根据一个实施例,难度级可以反映用于执行验证问题所需的资源的量。例如,资源可以包括计算时间或存储或计算时间和存储二者。通常,越高的难度级表示越多的资源,而越低的难度级表示越少的资源。通过估计难度级,在运行全部验证处理之前可以对验证方法进行设计或者可以对形式验证问题进行调节。
根据所例示的实施例,系统10包括如图1所示地相连接的客户机系统20、数据库22以及服务器系统24。根据一个实施例,客户机系统20允许用户与服务器系统24相通信,以估计形式验证问题的难度级。
数据库22存储可能由服务器系统24使用的数据。根据所例示的实施例,数据库22存储经受验证的模型30。模型30表示由系统10正在分析的模型。模型30包括经受验证的设计34和性质36。设计34可以表示可以被验证的任何合适的设计,如电路设计。电路设计可以包括任何合适的规模的寄存器传输级(RTL)电路设计,如多达20,000个锁存器和多达30,000个门。例如,可以采用(可以在电路的设计过程中使用的)超高速集成电路(VHSIC)硬件描述语言(VHDL)或VERILOG来表达设计34。
然而,设计34可以表示任何合适的设计。作为示例,设计34可以表示规范(specification)级或系统级电路设计。作为另一示例,设计34可以表示软件设计而非电路设计。
性质36可以表示可以验证的设计34的特征。根据一个实施例,特征通常描述了电路在指定条件下的行为。示例性质36可以包括与工业或学术基准(benchmark)设计相关联的性质,如包括可视交互合成(VIS)基准组。性质可以用于捕获系统行为随时间的演变,或者性质可以表示时间不变系统特性。
服务器系统24对可以用于估计形式验证问题的难度级的应用进行管理。根据所例示的实施例,服务器系统24包括验证引擎40、难度估计器44以及设计修改器48。
验证引擎40可以表示可进行操作以执行验证处理的软件编码引擎。验证处理可以指对关于设计的性质进行验证的处理,并且可以包括形式或非形式验证处理。示例验证处理例如可以包括自动测试模式生成(ATPG)处理、基于可满足性的有界模型检验(SAT BMC)处理、基于二叉判定图(BDD)的符号模型检验处理、仿真处理、其他合适的验证处理或前述处理的任何组合。
难度估计器44可以进行操作以估计验证问题的难度级。根据一个实施例,难度估计器44可以对可以用于估计验证问题的难度级的可验证性量度进行计算。难度估计器44可以根据用于估计难度级的任何合适的技术进行操作。参照图2对方法的示例进行描述。
根据一个实施例,验证引擎40和难度估计器44可以协作以建立用于验证引擎40的验证方法或验证参数。验证参数可以指验证引擎的参数,并且可以包括超时(time out)、努力(effort)、深度(depth)、其他参数或前述参数的任何合适的组合。
根据本实施例,验证引擎40可以执行验证问题的样本运行,并将结果发送给难度估计器44。难度估计器44可以根据样本运行来计算可验证性量度。可验证性量度可以表示可以如何改变验证参数以降低难度级。作为示例,如果一问题的难度级高,则可以增大验证引擎40的超时值。作为另一示例,可以改变验证参数以选择比使用更多资源的验证引擎40使用更少资源的多个验证引擎40的特定组或特定序列。
设计修改器48可以用于响应于来自难度估计器44的结果对设计34进行修改。可以对设计34进行修改以降低设计34的难度级。根据一个实施例,设计修改器48可以允许用户响应于来自系统10的结果对设计34进行修改。根据另一实施例,设计修改器48可以响应于来自系统10的结果对设计34自动地进行修改。不必要求对最终电路设计进行修改。作为示例,可以仅仅为了验证电路设计而进行修改,并且对于电路的实际生产可以去除所述修改。
根据一个实施例,可以按以下方式计算可验证性量度。模型30包括电路R的设计34和待验证电路R的n个性质{P1,...,Pn}的组36。电路R的性质Pi的性质可验证性量度值V(R,Pi)表示对关于电路R的性质Pi进行验证的难度级。作为示例,越高的量度值可以表示越高的难度级,而越低的量度值可以表示越低的难度级。
根据本实施例,可以针对性质计算出通过(passing)可验证性量度值和不通过(failing)可验证性量度值。作为示例,通过可验证性量度值Vpass(R,Pi)假设性质Pi最终通过了,而不通过可验证性量度值Vfail(R,Pi)假设性质Pi最终不通过。
可以将设计34的设计可验证性量度值计算成表示对关于设计34的性质组进行验证的难度级。作为示例,可以将电路R的电路可验证性量度值V(R)计算成表示对关于电路R的性质组进行验证的难度级。可以根据性质可验证性量度值V(R,Pi)的加权平均来计算电路可验证性量度值V(R)。
根据一个实施例,可以根据通过可验证性量度值Vpass(R,Pi)来计算电路可验证性量度值V(R),这是因为在某些情况下难以估计不通过可验证性量度值。根据本实施例,可以根据公式(1)来计算电路可验证性量度值V(R)V(r)=1nΣi=1nwiVpass(R,Pi)---(1)]]>其中,wi表示性质Pi的权重。可以使用通过可验证性量度值作为不通过可验证性量度值的过近似(over-approximation)。
可以按任何合适的方式对所述多个性质进行加权。根据一个实施例,与较不重要或较不关键的性质相比,可以对更重要或更关键的性质赋予更高的权重。作为示例,可以对具有更大影响锥的性质赋予更高的权重。
可以按任何合适的方式来表示可验证性量度值。作为示例,可以将该值表示为数字、范围或分类。根据一个实施例,将可验证性量度值表示为一组m个难度级{L1,...,Lm}的分类。可以根据希望的计算时间和精度级来选择难度级的数量m。参照图2对难度级的示例组进行更详细的描述。
图2是例示了难度级的示例组的表60。根据所例示的实施例,该组包括6个难度级L1,...,L6。这些级是简单、容易、中等、难、非常难以及未定级。近似时间表示对所述难度级的问题执行验证所需的时间的近似。未定难度级表示不能确定难度级。
在不脱离本发明的范围的情况下可以对难度级的示例组进行修改、添加或删除。作为示例,组可以具有更多、更少或不同的难度级。作为另一示例,近似时间可以不同。作为另一示例,可以采用除近似时间以外的参数来表示难度级。
再次参照图1,电路可验证性量度值可以具有置信值。可以按任何合适的方式对置信值进行估定。作为示例,可以对根据提供对电路的更大覆盖度的一组性质计算出的电路可验证性量度值赋予比根据提供更小覆盖度的组计算出的电路可验证性量度值更高的置信值。
根据具体需要,可以对系统10的一个或更多个组成部分进行集成或分离。例如,使用单个计算机系统(例如,单台个人计算机)可以提供客户机系统20和服务器系统24的功能。如果对任何组成部分进行分离,则可以使用一个或更多个局域网(LAN)、城域网(MAN)、广域网(WAN)、诸如因特网的全球计算机网或其他有线或无线链路来耦合这些组成部分。
“计算机”可以指可进行操作以接受输入、根据预定义规则对输入进行处理并产生输出的任何合适的设备,例如,个人计算机、工作站、网络计算机、无线电话、个人数字助理、这些或其他设备中的一个或更多个微处理器、或任何其他合适的处理设备。
系统10的一个或更多个组成部分可以包括合适的输入设备、输出设备、大容量存储介质、处理器、存储器、或其他用于根据系统10的操作对信息进行接收、处理、存储或通信的其他组成部分。作为示例,系统10的一个或更多个组成部分可以包括逻辑、接口、存储器、其他组成部分、或前述组成部分的任何合适的组合。“逻辑”可以指硬件、软件、其他逻辑、或这些部分的任何合适的组合。某些逻辑可以对设备的操作进行管理,并且可以例如包括处理器。“处理器”可以指可进行操作以执行指令并对数据进行操纵以执行操作的任何合适的装置。
“接口”可以指设备的这样的逻辑,即,其可进行操作以接收该设备的输入、从该设备发送输出、执行对输入或输出或这两者的合适的处理、或前述处理的任何合适的组合,并且该逻辑可以包括一个或更多个端口、转换软件或这两者。“存储器”可以指可进行操作以存储并使得便于获取信息的逻辑,并且可以包括随机存取存储器(RAM)、只读存储器(ROM)、磁驱动器、盘驱动器、光盘(CD)驱动器、数字视频盘(DVD)驱动器、可移动介质存储器、任何其他合适的数据存储介质、或这些部分中的任何部分的组合。
在不脱离本发明的范围的情况下可以对系统10进行修改、添加或删除。作为示例,尽管将系统10描述为对电路设计进行评估,但是系统10可以用于对软件进行评估。此外,可以由更多、更少或其他多个模块来执行系统10的操作。再者,可以使用包括软件、硬件、其他逻辑、或这些部分的任何合适的组合的任何合适的逻辑来执行系统10的操作。在本文档中使用的“每个”是指一个组中的每个元素或一个组的子组中的每个元素。
图3是用于对验证有关电路的性质的难度级进行估计的方法的一个实施例的流程图。根据本实施例,设计表示带有诸如锁存器的多个电路元件的电路。对设计的结构和功能特征进行分析以估计性质的性质可验证性量度值。结构特征可以描述设计34的结构,功能特征可以描述设计34的操作。可以由任何合适的系统(如图1的系统10)来执行本方法。
本方法在步骤100处开始,在该步骤中接收输入。该输入可以包括模型30,模型30包括设计34和性质36的组中的一性质。可以将该性质作为斜接(miter)插入设计34中。在步骤104处根据设计34生成逻辑影响锥。通过将设计34合成到多个门可以生成逻辑影响锥,然后根据这些门来提取逻辑影响锥。
在步骤108处执行自动测试模式生成(ATPG)处理。自动测试模式生成处理试图按不同的信号对一系列值进行验核。在该处理过程中,可以发现直接的局部冲突,使得不需要对整个设计34进行分析。因此,自动测试模式生成处理的结果和运行时间可以表示难度级。
根据一个实施例,更短的运行时间可能对应于更低的难度级,而越长的运行时间可能对应于越高的难度级。根据所例示的实施例,比一运行时间阈值短的运行时间可以表示该问题是简单的。该运行时间阈值可以具有被选择来标识简单问题的任何合适的值。作为示例,该运行时间阈值可以小于5秒,如一秒、两秒、三秒或四秒。
如果在步骤112处自动测试模式生成处理的运行时间小于运行时间阈值,则本方法进行到步骤116。在步骤116处将该问题归类为简单(trivial)。然后本方法进行到步骤152。
如果在步骤112处运行时间不小于运行时间阈值,则本方法进行到步骤120,在步骤120处执行有界模型检验(BMC)处理。该处理可以执行任何合适的时间量,如10到60秒,例如,约20秒。有界模型检验处理考虑特定长度的反例,并且,当且仅当存在这种反例时对可满足的命题公式进行测试。典型地,将界限中的时间帧的数量渐进地增大预定数量,并对该问题求解更大数量的时间帧,直到超过了时间限。每个步长可以增大任何适合数量个时间帧,如2到20个时间帧,例如,约10个时间帧。
根据一个实施例,时间帧的数量的增大速率表示难度级。根据该实施例,越低的速率可以表示越高的难度级,而越高的速率可以表示越低的难度级。根据所例示的实施例,低于一速率阈值的速率可以表示较高的难度级。该速率阈值可以具有任何合适的值,例如,每秒10到60个时间帧,如每秒20、30或50个时间帧。
如果在步骤124处速率低于速率阈值,则本方法进行到步骤128,在步骤128处对设计34执行抽出(abstraction)处理。抽出处理对电路进行适当的简化,以减小电路的规模。作为示例,可以去除诸如冗余锁存器的冗余电路元件。
可以按任何合适的方式执行抽出处理。根据一个实施例,可以利用有界模型检验处理来执行该处理。有界模型检验处理可以具有任何合适的界限,如20到50个帧,例如,25个帧,并且可以运行任意合适的时间,如10到60秒,例如,约20秒。
根据一个实施例,原始电路包括多个原始电路元件。从原始电路抽出多个电路元件,以得到具有其余电路元件的抽出后电路。例如,可以保留构成不可满意的核的多个锁存器,而将其余部分抽出,作为主输入。可以将电路的可抽出性表示为从原始电路抽出的元件的数量和原始电路元件的数量的函数。作为示例,可以将可抽出性定义为抽出后的电路元件与原始电路元件之比。
电路的可抽出性和其余电路元件的数量可以表示难度级。例如,越高的可抽出性可以表示越低的难度级,并且更多数量的剩余电路元件可以表示更高的难度级。因此,可以使用可抽出性和剩余电路元件的数量来将问题归类成多个粗略分类。参照图4对示例粗略分类进行更详细的描述。
图4是例示了根据电路的可抽出性和抽出后的电路的最终规模的示例粗略分类的表70。根据本示例,将可抽出性表示为抽出后的电路元件的数量与原始电路元件的数量之比,并将其分成4个类别。将抽出后的电路的规模(最终规模)表示为抽出后的电路的触发器(flip-flop(FF))的数量,并将其分成5个类别。
在不脱离本发明的范围的情况下可以对示例粗略分类进行修改、添加或删除。作为示例,粗略分类可以具有更多、更少或不同的最终规模或可抽出性类别。作为另一示例,粗略分类可以具有更多、更少或不同的分类。
再次参照图3,如果在步骤124处所述速率不低于速率阈值,则所述方法直接进行到步骤130。在步骤132处执行基于BDD的符号模型检验处理。基于BDD的符号模型检验处理可以指对被编码成二叉判定图的状态机进行验证的处理。符号模型检验处理可以运行任意合适的时间。例如,该处理可以运行10到60秒,对于经抽出的电路,运行约20秒,对于未经抽出的电路,运行40秒。
在步骤136处对来自符号模型检验处理的数据进行分析。可以使用该数据来确定抽出处理(如果执行的话)是否过度了。如果二叉判定图步骤在短时段内进行得很深(deep),则可以将该抽出指定为过度的(over-aggressive)。作为示例,可以将这样的抽出指定为过度的其中,在15到25秒(如约20秒)的时段内二叉判定图步骤深入了多于140(如多于150)。如果在步骤140处将抽出指定为过度的,则方法进行到步骤144,在步骤144处将问题归类为未判定的。然后该方法进行到步骤152。
如果在步骤140处未将抽出指定为过度的,则方法进行到步骤148。在步骤148处根据二叉判定图数据对问题进行归类。如果在所述运行时间内完成了符号模型检验处理,则可以将难度级指定为简单或容易的。否则,二叉判定图数据的其他特征可以表示难度级,或者可以用于对在步骤130中生成的分类进行细分。
根据一个实施例,二叉判定图转变关系的规模可以表示难度级。越小的转变关系可以表示越低的难度级。作为示例,小于15,000个节点的转变关系规模可能具有较低的难度级。二叉判定图的生长速率也可以表示难度级。越低的速率可以表示越低的难度级。根据一个实施例,可以使用以下准则来根据BDD数据对问题进行归类。可以使用该分类对在步骤130中生成的分类进行细分,以生成最终分类1、如果规模是在20秒时大于90,000个节点,则难度级是中等到非常难。
2、如果规模是在20秒时小于30,000个节点,则难度级是简单到容易。
3、如果规模是在40秒时大于160,00个节点,则难度级是难到非常难。
4、如果规模是在40秒时小于100,000个节点,则难度级是中等到容易。
在步骤152处报告结果。在报告了该结果之后,方法结束。
在不脱离本发明的范围的情况下可以对本方法进行修改、添加或删除。本方法可以包括更多、更少或其他步骤。此外,在不脱离本发明的范围的情况下可以按任何合适的顺序执行多个步骤。
以上方法适用于通过性质。类似的方法可以用于不通过性质。本方法可以包括任何合适的准则。作为示例,电路元件的数量可以表示难度级。越大数量的电路元件可以表示越高的难度级。作为另一示例,二叉判定图运行的深度可以表示难度级。越深的二叉判定图运行可以表示越低的难度级。作为另一示例,有界模型检验帧的生长速率可以表示难度级。越高的速率可以表示越低的难度级。作为另一示例,二叉判定图转变关系可以表示难度级。越小的转变关系可以表示越低的难度级。
本发明的某些实施例可以提供一个或更多个技术优点。一个实施例的技术优点可能在于建立了用于对电路进行验证的难度级。针对一组性质中的每个性质,确定了用于对关于电路的性质进行验证的难度级。根据这些性质的难度级,建立了用于对电路进行验证的难度级。电路的难度级可以用于估计对电路进行验证所需要的资源量、设计验证方法、调节验证引擎参数、修改电路设计以进行验证或执行任何其他合适的目的。
尽管按照某些实施例和通用的相关联的方法对本公开内容进行了描述,但是本领域的技术人员将显见这些实施例和方法的变更和变换。因此,对示例实施例的以上描述不会限制本公开内容。如由以下权利要求所限定的,在不脱离本公开内容的精神和范围的情况下还可以进行其他修改、替换以及变更。
权利要求
1.一种用于估计验证问题的难度级的方法,其包括以下步骤接收包括设计和一组性质的输入,所述性质组中的性质可操作以针对所述设计而被验证;针对所述性质组中的每个性质重复以下步骤对关于所述设计的所述每个性质执行多个验证处理;和根据所述多个验证处理,针对所述每个性质建立性质可验证性量度值,所述性质可验证性量度值表示对关于所述设计的所述每个性质进行验证的难度级;以及根据所述性质组的所述性质可验证性量度值确定设计可验证性量度值,所述设计可验证性量度值表示对关于所述设计的所述性质组进行验证的难度级。
2.根据权利要求1所述的方法,其中,所述设计包括对电路的电路设计;并且所述设计可验证性量度值包括电路可验证性量度值。
3.根据权利要求1所述的方法,其中,所述确定所述设计可验证性量度值的步骤还包括以下步骤对所述性质组中的每个性质分配权重;计算所述性质可验证性量度值的加权平均,所述性质的性质可验证性量度值是根据分配给所述性质的所述权重进行加权的;以及根据所述加权平均生成所述设计可验证性量度值。
4.根据权利要求1所述的方法,其中,所述建立所述性质可验证性量度值的步骤还包括以下步骤针对所述性质建立通过性质可验证性量度值,所述通过可验证性量度值表示在假设所述性质通过的情况下对所述性质进行验证的难度级。
5.根据权利要求1所述的方法,其中,所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤对所述设计执行自动测试模式生成处理;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤如果所述自动测试模式生成处理的运行时间小于运行时间阈值,则建立较低的难度级。
6.根据权利要求1所述的方法,其中,所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤对所述设计执行有界模型检验处理;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤确定所述有界模型检验处理的多个时间帧的生长速率;并且如果所述速率低于速率阈值,则对所述设计执行抽出处理。
7.根据权利要求1所述的方法,其中,所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤对所述设计执行抽出处理,以从包括第二数量个原始元件的所述设计中抽出第一数量个被抽出元件,以获得第三数量个剩余元件;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤如果第三数量个剩余元件的数量大于剩余元件阈值,则建立较高的难度级。
8.根据权利要求1所述的方法,其中,所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤对所述设计执行抽出处理,以从包括第二数量个原始元件的所述设计中抽出第一数量个被抽出元件,以获得第三数量个剩余元件;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤计算所述设计的可抽出性,所述可抽出性包括第一数量个被抽出元件与第二数量个原始元件的数量之比;并且如果所述可抽出性大于可抽出性阈值,则建立较低的难度级。
9.根据权利要求1所述的方法,其中,所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤基于关于所述设计的一个或更多个二叉判定图,执行符号模型检验处理;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤计算所述二叉判定图的生长速率;并且如果所述生长速率高于生长速率阈值,则选择较高的难度级。
10.根据权利要求1所述的方法,其中,所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤基于关于所述设计的一个或更多个二叉判定图,执行符号模型检验处理;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤计算所述二叉判定图的转变关系规模;并且如果所述转变关系规模小于转变关系规模阈值,则选择较低的难度级。
11.一种用于估计验证问题的难度级的逻辑,所述逻辑被实现在介质中并且可操作以接收包括设计和一组性质的输入,所述性质组中的性质可操作以针对所述设计而被验证;针对所述性质组中的每个性质重复以下步骤对关于所述设计的所述每个性质执行多个验证处理;和根据所述多个验证处理,针对所述每个性质建立性质可验证性量度值,所述性质可验证性量度值表示对关于所述设计的所述每个性质进行验证的难度级;以及根据所述性质组的所述多个性质可验证性量度值确定设计可验证性量度值,所述设计可验证性量度值表示对关于所述设计的所述性质组进行验证的难度级。
12.根据权利要求11所述的逻辑,其中,所述设计包括对电路的电路设计;并且所述设计可验证性量度值包括电路可验证性量度值。
13.根据权利要求11所述的逻辑,其中,所述确定所述设计可验证性量度值的步骤还包括以下步骤对所述性质组中的每个性质分配权重;计算所述性质可验证性量度值的加权平均,所述性质的性质可验证性量度值是根据分配给所述性质的所述权重进行加权的;以及根据所述加权平均生成所述设计可验证性量度值。
14.根据权利要求11所述的逻辑,其中,所述建立所述性质可验证性量度值的步骤还包括以下步骤针对所述性质建立通过性质可验证性量度值,所述通过可验证性量度值表示在假设所述性质通过的情况下对所述性质进行验证的难度级。
15.根据权利要求11所述的逻辑,其中,所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤对所述设计执行自动测试模式生成处理;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤如果所述自动测试模式生成处理的运行时间小于运行时间阈值,则建立较低的难度级。
16.根据权利要求11所述的逻辑,其中,所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤对所述设计执行有界模型检验处理;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤确定所述有界模型检验处理的多个时间帧的生长速率;并且如果所述速率低于速率阈值,则对所述设计执行抽出处理。
17.根据权利要求11所述的逻辑,其中,所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤对所述设计执行抽出处理,以从包括第二数量个原始元件的所述设计中抽出第一数量个被抽出元件,以获得第三数量个剩余元件;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤如果第三数量个剩余元件的数量大于剩余元件阈值,则建立较高的难度级。
18.根据权利要求11所述的逻辑,其中,所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤对所述设计执行抽出处理,以从包括第二数量个原始元件的所述设计中抽出第一数量个被抽出元件,以获得第三数量个剩余元件;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤计算所述设计的可抽出性,所述可抽出性包括第一数量个被抽出元件与第二数量个原始元件的数量之比;并且如果所述可抽出性大于可抽出性阈值,则建立较低的难度级。
19.根据权利要求11所述的逻辑,其中,所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤基于关于所述设计的一个或更多个二叉判定图,执行符号模型检验处理;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤计算所述二叉判定图的生长速率;并且如果所述生长速率高于生长速率阈值,则选择较高的难度级。
20.根据权利要求11所述的逻辑,其中,所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤基于关于所述设计的一个或更多个二叉判定图,执行符号模型检验处理;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤计算所述二叉判定图的转变关系规模;并且如果所述转变关系规模小于转变关系规模阈值,则选择较低的难度级。
21.一种用于估计验证问题的难度级的系统,其包括用于接收包括设计和一组性质的输入的装置,所述性质组中的性质可操作以针对所述设计而被验证;用于针对所述性质组中的每个性质重复以下步骤的装置对关于所述设计的所述每个性质执行多个验证处理;和根据所述多个验证处理针对所述每个性质建立性质可验证性量度值,所述性质可验证性量度值表示对关于所述设计的所述每个性质进行验证的难度级;以及根据所述性质组的所述多个性质可验证性量度值来确定设计可验证性量度值,所述设计可验证性量度值表示对关于所述设计的所述性质组进行验证的难度级。
22.一种用于估计验证问题的难度级的方法,其包括以下步骤接收包括设计和一组性质的输入,所述设计包括对电路的电路设计,所述性质组中的性质可操作以针对所述设计而被验证;针对所述性质组中的每个性质重复以下步骤对关于所述设计的所述每个性质执行多个验证处理;和根据所述多个验证处理,针对所述每个性质建立性质可验证性量度值,所述性质可验证性量度值表示对关于所述设计的所述每个性质进行验证的难度级,所述建立所述性质可验证性量度值的步骤还包括以下步骤针对所述性质建立通过性质可验证性量度值,所述通过可验证性量度值表示在假设所述性质通过的情况下对所述性质进行验证的难度级;和根据所述性质组的所述多个性质可验证性量度值来确定设计可验证性量度值,所述设计可验证性量度值包括电路可验证性量度值,所述设计可验证性量度值表示对关于所述设计的所述性质组进行验证的难度级,所述确定所述设计可验证性量度值的步骤还包括以下步骤对所述性质组中的每个性质分配权重;计算所述性质可验证性量度值的加权平均,所述性质的性质可验证性量度值是根据分配给所述性质的所述权重而进行加权的;以及根据所述加权平均生成所述设计可验证性量度值,其中所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤对所述设计执行自动测试模式生成处理;所述建立所述性质可验证性量度值的步骤还包括以下步骤如果所述自动测试模式生成处理的运行时间小于运行时间阈值,则建立较低的难度级;所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤对所述设计执行有界模型检验处理;所述建立所述性质可验证性量度值的步骤还包括以下步骤确定所述有界模型检验处理的多个时间帧的生长速率;并且如果所述速率低于速率阈值,则对所述设计执行抽出处理;并且所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤对所述设计执行抽出处理,以从包括第二数量个原始元件的所述设计中抽出第一数量个被抽出元件,以得到第三数量个剩余元件;所述建立所述性质可验证性量度值的步骤还包括以下步骤如果第三数量个剩余元件的数量大于剩余元件阈值,则建立较高的难度级;所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤对所述设计执行抽出处理,以从包括第二数量个原始元件的所述设计中抽出第一数量个被抽出元件,以获得第三数量个剩余元件;所述建立所述性质可验证性量度值的步骤还包括以下步骤计算所述设计的可抽出性,所述可抽出性包括第一数量个被抽出元件的与第二数量个原始元件的数量之比;并且如果所述可抽出性大于可抽出性阈值,则建立较低的难度级;所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤基于关于所述设计的一个或更多个二叉判定图,执行符号模型检验处理;所述建立所述性质可验证性量度值的步骤还包括以下步骤计算所述二叉判定图的生长速率;并且如果所述生长速率高于生长速率阈值,则选择较高的难度级;所述对关于所述设计的所述每个性质执行所述多个验证处理的步骤还包括以下步骤基于关于所述设计的一个或更多个二叉判定图,执行所述符号模型检验处理;并且所述建立所述性质可验证性量度值的步骤还包括以下步骤计算所述二叉判定图的转变关系规模;并且如果所述转变关系规模小于转变关系规模阈值,则选择较低的难度级。
全文摘要
估计形式验证问题的难度级。对验证问题的难度级的估计包括以下步骤接收输入,该输入包括设计和可以被验证的关于该设计的性质。针对关于该设计的每个性质执行验证处理。根据所述验证处理,针对每个性质建立性质可验证性量度值,其中性质可验证性量度值表示对关于设计的性质进行验证的难度级。根据所述多个性质可验证性量度值来确定设计可验证性量度值,其中,所述设计可验证性量度值表示对所述设计进行验证的难度级。
文档编号G06F17/50GK1900937SQ20061010594
公开日2007年1月24日 申请日期2006年7月19日 优先权日2005年7月19日
发明者因德拉迪普·高希, 穆库尔·R·普拉萨德 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1