CN104142675A - 可控性检验系统及方法 - Google Patents

可控性检验系统及方法 Download PDF

Info

Publication number
CN104142675A
CN104142675A CN201310746659.7A CN201310746659A CN104142675A CN 104142675 A CN104142675 A CN 104142675A CN 201310746659 A CN201310746659 A CN 201310746659A CN 104142675 A CN104142675 A CN 104142675A
Authority
CN
China
Prior art keywords
controllability
intelligent
qbf
check
inspection
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
CN201310746659.7A
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN104142675A publication Critical patent/CN104142675A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Stored Programmes (AREA)
  • Feedback Control In General (AREA)

Abstract

一种智能可控性检验过程,其可智能地检查是否可避免控制信号输入集的一些可能值的枚举(例如,导致不是所有可能值都枚举等)。可利用改进的智能QBF可控性检验,该检验包括改进的智能QBF求解器。该过程可包括正式的可控性检验,具有对可能赋值的广泛或穷举性的考虑,而避免一些可能值的枚举。该正式可控性检验可检查证据是否建立关于赋值的结论。证据可用于确定的可能结果包括:(1)信号提供可控性的结论;(2)信号不提供可控性的结论;或(3)无论如何无法得到信号是否提供或不提供可控性的结论。该QBF可控性检验的结果(例如,SAT、UNSAT等)可被验证。

Description

可控性检验系统及方法
技术领域
本发明涉及电源控制系统。特别地,本发明涉及电源管理可控性检验的系统和方法。
背景技术
电子系统和装置(例如,大规模集成化芯片、中央加工单元、图形加工单元等)为现代社会的进步做出了显著的贡献,其在广泛地应用中获得有益的结果。许多电子技术,如数字计算机、计算器、音频设置、视频设备和电话系统,促进在商业、科学、教育和娱乐等大部分领域中分析和交流数据的生产率提升和成本降低。这些电子技术经常涉及在非常大和复杂硬件设计中电源管理控制的尝试。然而,在电源管理控制检验方面的传统尝试通常对非常大硬件设计应用的快速电源管理控制检验缺乏足够容量和能力。缺乏对传统可控性检验方法的快速响应经常导致对资源的低效占用。
控制非常大硬件设计应用的电源使用和供应的能力是非常重要的,且电源可控性经常可显著地影响性能和功耗效率。电源管理可控性在涉及有限电源供应(例如,移动设备、电池供电设备等)的非常大硬件设计应用中非常关键。在一些传统方法中,关闭(例如,当确定不使用它们时等)设备和系统的区域,这可导致电源支出的减少,否则会发生(例如,由于电源泄漏等)电源支出。在许多应用中,相对小的部件(例如,电源门、开关、晶体管等)被用于允许或防止设备或系统的各种部件的电源消耗。相对小的部件经常是由电源控制部件输出的专门信号(例如,钳位信号(clamp signal)、休眠信号等)开启或关闭。相对小的控制部件可控制各种部件或部件的区块,电源可控性检验可用于各种粒度(例如,芯片的单个部件、芯片部件的区块等)的部件。
通常,可控性是通过操控某输入信号而改变系统状态的能力。可控性通常是控制系统的输出导致响应具体输入配置的特定值的属性。电源管理可控性检验通常试图确定输入集是否可控制输出信号状态。在一示例中,执行检查以确定,休眠控制信号或电源钳位信号是否在输入特定赋值时激活,并在另一输入配置值时处于非活动状态。一些传统可控性检验检查,电源控制信号集是否可设置和重设与其他输入无关的电源门信号。
传统可控性检验通常涉及逻辑方程,其定义所分析控制部件和产生输出信号下、用于所分析控制部件的控制输入终端上控制信号输入C集的信号值、以及S值的目标值指定给或应用于控制信号输入C集和已求解逻辑方程的目标值(例如通过所分析控制部件的模拟传播值)。在将所赋值应用于控制信号输入C集并求解方程后,若产生信号S得到目标值V,认为成功地发现或确定了提供可控性的控制信号输入C的所请求赋值。
在非常大硬件设计中通常有很多输入,识别许多输入信号中的哪个影响电源可控性对于执行电源控制和电源管理是重要的。大量的输入使检验其中哪个影响电源管理可控性变得复杂和困难。在可控性检验中通常有许多集应用于控制信号输入C的值。传统方法通常包括可应用于控制信号输入C的所有可能值的枚举。在许多传统检验可控性方法中,尽力从无考虑其他输入由S得到V值的2|C|可能性中找出控制信号输入的赋值。在控制信号输入C的集多于非常小的集的情况下,每个可能值的枚举导致检验多数可能性,该可能性通常消耗相当多的加工资源和时间。电源可控性检验的两个可选择传统方法是X传播可控性检验和常数传播可控性检验。每个方法包括所有可能输入值的枚举,在非常大硬件设计应用中通常消耗相当多的加工资源和时间。
传统X传播可控性检验是基于三值模拟(0,1,X)。对于控制信号输入(例如,每位输入C上0和1)集的值的每个可能赋值,剩余的输入终端设为X。然后,评估被“传播”或应用于相应方程和信号S的值。例如,传统电源门控的一个版本包括带有两输入的AND逻辑门。若一输入设为0,其他输入设为X,AND门的输出评估为常数0。在一示例中,带有X值的s1信号和被否定或被反转的s1信号是AND门的输入。X传播方法将评估该门为X,而其他更详细的评估将会意识到其为常数0。即使赋值评估的X传播技术对非常小尺寸集的控制信号输入C可足够地快,其仍然具有潜在的问题。其中的一个问题是它可能太过保守(导致假阴性)而跳过好赋值。进一步的,即使X传播通常不需要表达的优化,其仍然涉及对控制信号输入C集的所有可能值的枚举,并随着控制信号输入C集的尺寸增加而以指数方式地变得更慢。
在常数传播可控性检验的传统尝试中,枚举所有可能的多集控制信号输入C值,将控制信号输入C的每集值分配给输入。然后,可优化输出信号的表达(例如,使用表达优化如常数传播、冗余去除、脱摩根的规则等)并传播常数。若输出信号降至常数值,值是经过检验的目标值v。该传统常数传播可控性检验方法通常比传统X传播可控性检验方法更准确。例如,传统常数传播可控性检验方法可实现上AND门是常数0。然而,该方法通常慢得多且通常仍然过于保守。例如,在复杂的情况下,其得到太过复杂以至于不能意识到它是常数的表达,这可能导致跳过好赋值。
发明内容
所提出的系统和方法可利于可控性检验。在一实施例中,智能可控性检验过程检查,是否可建立关于可控性检验的结论,且避免枚举控制信号输入集的一些可能值。减少或避免枚举控制信号输入集(例如C等)的一些可能值可节省用于执行可控性检验的资源(例如,处理时间、处理电源等)。在一实施例中,智能可控性检验过程包括正式的可控性检验,该检验可包括可能赋值的广泛或穷举的考虑,与此同时避免枚举一些可能值。在示例性实施中,正式可控性检验检查,证据是否确立关于赋值的结论(例如,证实引起输出目标值的输入值存在、证实无这样的输入值存在等)。改进的智能可控性检验过程可利用证据确定可能结果,包括:(1)信号提供可控性的结论;(2)信号不提供可控性的结论;或(3)无论如何无法得到信号是否提供或不提供可控性的结论。
在一实施例中,利用改进的智能量化的布尔公式(QBF)可控性检验包括改进地智能QBF求解器。在一实施例中,可控性检验寻找控制输入信号集的赋值,其导致输出信号的值是与其他输入值无关的特别值。智能可控性过程可包括:执行初始化过程,包括转化可控性环境格式的值为求解器环境格式;执行改进的智能QBF求解;以及返回求解的结果。智能可控性过程可包括:在每个求解器环境格式值和相应所分析控制部件的界面值之间建立映射;以及维持(maintain)此映射的列表。
可以理解,可以各种配置容易地实施所提出的方法。智能可控性检验可包括可控性检验的多层次或技术。不同层次的可控性检验可用于各种原因(例如,若一技术未能得到结论,利用第二技术验证第一技术的结果等)。在一实施例中,智能可控性性过程包括:执行第一可控性检验技术(例如,改进的智能QBF可控性检验,等等)和执行第二可控性检验技术(例如,常数传播可控性检验,等等)。可依据验证的第一技术执行第二可控性检验技术。若第一可控性检验技术未能得到信号是可控的结论,则执行第二可控性检验技术。在示例性实施中,若以枚举控制信号输入集的不到所有可能值不能确定关于可控性的结论,可实施枚举所有可能值的选择。
附图说明
纳入本说明书和形成本说明书一部分的附图通过示例或不是通过限制的方式解释本发明。该说明书所参考的附图,除非特别说明,应理解为不是按比例绘制的。
图1为本发明一实施例中智能可控性检验方法的流程图。
图2为本发明一实施例中智能可控性检验环境的方框图。
图3为本发明一实施例中控制信号输入C集的赋值场景的方框图。
图4为本发明一实施例中智能可控性检验过程的流程图。
图5为本发明一实施例中包括转换和映射的可控性检验系统的方框图。
图6为本发明一实施例中包括转换和映射的智能QBF可控性检验系统的方框图。
图7为本发明一实施例中智能QBF可控性检验方法的流程图。
图8为本发明一实施例中包括验证的智能QBF可控性检验方法的流程图。
图9为本发明一实施例中包括第二可控性检验过程的可控性检验方法的流程图。
图10为依据本发明一实施例中可控性检验方法的流程图,若改进的智能QBF可控性检验过程不能得出结论的一种方式或若信号是可控的其他方式,该方法包括常数传播可控性检验过程。
图11为依据本发明一实施例中可控性检验方法的流程图,若改进的常数传播可控性检验过程不能得出结论的一种方式或若信号提供或不提供可控的其他方式,该方法包括改进的常数传播可控性检验过程、改进的智能QBF可控性检验过程。
图12为依据本发明一实施例中可控性检验方法的流程图,当改进的智能QBF可控性检验过程得出信号是可控的结论时,该方法包括验证改进的智能QBF可控性检验过程的结论;若改进的智能QBF可控性检验过程得出信号不提供可控性的结论,或不能得到结论的一种方式或若信号提供或不提供可控性的其他方式,该方法包括常数传播可控性检验过程。
图13为本发明一实施例中运行时间与复杂性结果的表格或图表。
图14所示为计算机系统的方框图,本发明的实施例可在一计算机系统的实施例上完成。
具体实施方式
现参考优选实施和附图详细地描述地描述本发明。虽然将结合优选实施例描述本发明,可以理解,它们并不旨在于将本发明限于这些实施例。相反的,本发旨在涵盖替代、改进、等价物,其可包括于所附权利要求定义的发明范围和精神中。此外,在本发明的以下详细描述中,对许多具体细节进行了阐述,以便彻底理解本发明。然而,本领域技术人员应该清楚,本发明可以在没有这些具体细节的情况下实施。在其他实例中,为避免本发明的不必要地模糊方面,公知的方法、步骤、部件、和电路并未详细地描述。
所提出的系统和方法可利于有效的智能可控性检验。图1为本发明一实施例中智能可控性检验方法100的流程图。在实施例中,智能可控性检验方法100在非常大硬件设计应用中实施。在示例性实施中,若可避免控制信号输入集一些可能赋值的枚举且若可确定关于可控性的结论,智能可控性检验智能地加工检验。若不是枚举控制信号输入集的所有可能赋值而不能确定关于可控性的结论,可实施枚举和考虑所有可能值的选择。
在区块110中,接收与所分析(例如,硬件描述、逻辑表达等)控制部件的定义关联的信息。在一实施例中,接收所分析定义控制部件的方程、所分析输入到控制部件的一集控制信号输入C、所分析控制部件的输出信号的目标值v。可以理解,所分析控制部件可为电源控制部件(例如,电源门、开关等)。
在区块120中,基于在区块110中所接收的信号可实施智能可控性检验过程。在一实施例中,智能可控性过程检查是否控制信号输入C的赋值导致输出信号为目标值V。在示例性实施中,智能可控性检验过程检查,是否可避免控制信号输入(例如C等)集的一些可能赋值的枚举。
在一实施例中,改进的智能可控性检验过程包括形式的可控性检验。形式的可控性检验方法可包括可能赋值的广泛或详尽的考虑,同时避免一些可能性的枚举。在示例性实施中,改进的智能可控性检验过程的枚举避免导致,不是所有可能值被枚举且应用于依据分析的控制部件的输入或应用于定义依据分析的控制部件的方程的输入,否则其将以传统常数传播方法发生。在一实施例中,正式可控性检验方法不使用随机分析(例如,可能值的随机选择等)。在示例性实施中,正式可控性检验检查,证据是否确定关于赋值的结论(例如,证实引起输出目标值的输入值存在、证实无此输入值存在等)。改进的智能可控性检验过程可利用证据确定可能结果包括:(1)信号提供可控性的结论;(2)信号不提供可控性的结论;或(3)无论如何无法得到信号是否提供或不提供可控性的结论。
可以可以理解,智能可控性检验过程可利用各种技术避免控制信号输入C集的赋值。在示例性实施中,改进的智能QBF可控性检验被用于改进地智能QBF求解器。关于改进的智能QBF可控性检验的其他信息呈现于以下部分的详细描述。
在区块150中,返回对依据分析的控制部件的可控性分析结果的指示。在一实施例中,若发现导致控制信号输入C是目标值v(不考虑其他输入值)的赋值,结果指示输出信号是可控的。在一实施例中,输出信号s是钳位信号或休眠信号。
图2为本发明一实施例中智能可控性检验系统200的方框图。智能可控性检验系统200包括在计算机系统210上的智能可控性检验部件211和在计算机系统210上的所分析控制部件220。可以理解,所分析控制部件220可以是在计算机系统210上实施的模拟。所分析控制部件220可代表包含于非常大硬件设计(例如,在非常大规模集成芯片的电源控制单元、在中央加工)的电源控制部件。通过智能可控性检验部件检验或分析所分析部件220。
所分析可控性部件220有多个输入,包括控制信号输入C集(例如,C1、C2、C3)和其他输入信号(例如,R1和R2)。可控性经分析的可控性部件220还具有输出信号S。在一实施例中,智能可控性检验涉及控制信号输入C(例如,C1、C2、C3)、输出信号S的目标值V、定义所分析控制部件220和输出信号S的方程。图3为信号输入C集的赋值场景的方框图。在赋值场景310中,枚举具体应用的控制信号输入C的所有可能赋值(例如,A1、A2、A3等)集。在赋值场景320中,枚举具体应用的控制信号输入C的智能选择赋值(A1、A4、A5)集。智能选择的控制信号输入C的赋值集具有比控制信号输入C的赋值(A1、A2、A3,等等)所有可能集少的枚举值。可以理解,控制信号输入C的智能选择赋值集可利用各种技术(例如,QBF技术等)开发和建立。关于改进的智能QBF可控性检验的其他信息呈现于以下部分的详细描述。
智能可控性检验部件211执行智能可控性检验。在示例性实施例中,智能可控性检验检查,当应用于定义所分析控制部件的方程时,控制信号输入C集的赋值(例如,逻辑值、信号值等)是否产生具有无关其他输入的值(例如R1和R2)的目标值V(例如逻辑值1和逻辑值0等)的输出。智能可控性检验应用控制信号输入C集的赋值的智能枚举集。在示例性实施中,应用智能枚举赋值集(A1、A4和A5)去分析定义所分析控制部件220的方程。分析包括决定,智能枚举赋值集是否包括导致S是特定目标值V的控制信号输入C集的赋值Av。分析还能够证明该赋值Av不存在。
可以理解,应用所分析智能枚举赋值集(例如,定义所分析控制部件的方程等)导致比应用所有的潜在枚举赋值更少的资源占用。可以理解,智能枚举赋值集不提供可控性或缺乏可控性的确认,然后,智能可控性检验可选择地实施应用所有的潜在枚举赋值的分析。关于不同可控性检验的其他信息呈现于以下部分的详细描述。
在一实施例中,智能可控性检验进行检验控制信号输入C的赋值是否能将输入信号设定到两个可能目标逻辑值。它检验,无关所分析控制部件220的其他输入(例如R1和R2),控制信号输入C集的逻辑赋值(例如A1等)是否将输出信号S设定到第一逻辑值(例如逻辑值1、追假值等)。然后,它检验,无关所分析控制部件220的其他输入,控制信号输入C集的另一赋值(例如A2)是否将输出信号设定到第二逻辑值(例如,第一逻辑值的逻辑值倒数、逻辑值0、真值等)。
图4为本发明一实施例中智能可控性检验过程400的流程图。在一实施例中,智能可控性检验过程400类似于用于区块120的智能可控性检验过程。
在区块410中,执行初始化过程。在一实施例中,可控性环境格式(例如,逻辑表达格式、兼容所分析控制部件的格式等)的值被转化为求解器环境格式(例如兼容智能求解器的格式)。在示例性实施中,求解器环境格式包括改进的智能QBF求解器格式(例如,CNF格式、Qdimacs等)。关于初始化过程的其他信息呈现于以下部分的详细描述。
在区块420中,执行改进的智能求解。可以理解,智能可控性检验过程可利用各种技术。在一实施例中,执行改进的智能QBF求解。关于改进的智能求解的其他信息呈现于以下部分的详细描述。
在区块430中,返回求解结果。结果可包括,无关所分析控制部件的其他输入或定义所分析控制部件的表达的输入,控制信号输入C集的赋值Av控制输出信号的指示。结果可包括指示,控制信号输入C的赋值Av不控制所分析输出S的控制部件。在一实施例中,执行在区块420中改进的智能QBF求解的结果可包括SAT、UNSAT和ABORT指示。不同于传统技术,SAT指示可包括与可控性检验关联的其他信息。在一实施例中,其他SAT指示信息包括以终端C和值相应对的列表形式的赋值C。在示例性实施中,SAT指示包括合取范式标识部分和值对的列表。关于改进的智能QBF可控性检验和求解的其他信息呈现于以下部分的详细描述。
图5为本发明一实施例中智能可控性测试系统500的方框图。可控性测试环境500是可控性测试系统200的一实施例。可控性测试系统500包括在计算机系统510上和所分析控制部件520上实施的的智能可控性检验部件511。可以理解,所分析控制部件520可以是在计算机系统510上的模拟。所分析控制部件520是所分析控制部件的一实施例。智能可控性检验部件511是智能可控性检验部件211的一实施例。智能可控性检验部件511包括转化部件512、智能求解器513、和其他特征部件514。
智能可控性测试系统500的部件共同操作以执行智能卡可控性检验。智能可控性测试系统500执行各种转化,包括在不同数据结构格式间的转化(例如,BED、CNF等)、在非布尔式与布尔式表达间的转化(例如BIT-blast等)。在一实施例中,可控性环境格式(例如,兼容所分析控制部件520的格式等)的值被转化部件转化为求解器环境格式(例如,兼容智能求解器513的格式)。转化部件512在每个求解器环境格式值与所分析边值(例如,控制信号值、其余信号值等)的相应控制部件之间映射、并维持映射列表。在一实施例中,转化部件512在逻辑表达和求解器格式(例如,BED格式、CNF格式)间转化。在一实施例中,智能求解器513智能地检查,当将其枚举和应用于定义所分析控制部件(否则将经传统方法发生的)方程的输入之前有效地避免可能但无效的赋值给控制信号输入C,输出信号是否是可控的。在示例性实施中,若结果指示可避免一些赋值枚举,不会耗尽其他加工时间和资源分析那些已避免的赋值。其他特征部件514可提供各种其他特征(例如,验证结果、若智能求解器未能推断出信号是可控的时可选的可控性检验方法,等等)。
图6为本发明一实施例中改进的智能QBF可控性检验系统600的方框图。可控性检验系统600包括可控性环境/QBF环境转化部件610和改进的智能QBF求解器620。改进的智能QBF可控性检验系统600的部件共同操作以执行改进的智能QBF可控性检验。
可控性环境/QBF环境转化部件610在可控性检验兼容格式与改进的智能QBF兼容格式之间转化。在一实施例中,可控性环境/QBF环境转化部件610包括布尔表达图形(BED)/逻辑表达映射部件611和相应列表部件612。QBF环境转化部件610还可包括合取范式(CNF)/逻辑表达映射部件613和相应列表部件614。
在一实施例中,改进的智能QBF可控性检验过程将输出信号的逻辑方程转化到CNF。在转化期间,它可填充控制信号输入C集中每个控制信号输入的CNF标识之间的映射。表示控制信号输入C集的CNF标识部分集是CCNF标识部分(Ccnflds)。此外,其建立表示其余输入的CNF标识部分列表并将此CNF标识部分列表保留在INCNF标识部分(incnflds)中。其建立表示和将其保留在CNF的CNF公式。最终,其将新的可变的CNF保留在新CNF标识部分。使用这些数据,其建立被传输到改进的智能QBF求解器的下列所分析控制部件输入公式或表达:[1]存在CCNF标识部分(Ccnflds)、ForallINCNF标识部分(IncnfIds)、存在新CNF标识部分(newcnflds)。输入公式[1]是若并仅若为可控的时满足的QBF SAT公式。理由是,满足[1]的每个赋值展示对无关其余终端的值设置信号的C中终端的赋值。
改进的智能QBF求解器部件620智能地确定可控性赋值。在一实施例中,改进的智能QBF部件620智能地避免一些可能赋值的枚举在执行有效检验过时不相关的考虑。改进的智能QBF求解器可返回SAT指示、UNSAT指示和ABORT指示。ABORT返回意味着求解器运行时间超出最大时间限制。UNSAT返回意味着没有这样的赋值。SAT返回意味着求解器找到赋值。在一实施例中,SAT指示包括以终端C和值的相应对的列表形式的赋值C。该赋值若应用于C终端并以常数传播评估将无关其他输入的任何值设置S。在示例性实施中,SAT指示包括合取范式标识部分和值对的列表650。在示例性实施中,改进求解器以返回赋值给CCNF标识部分。然后,使用映射613和611,将该赋值转化为C终端。在一实施例中,在求解器返回ABORT的情况下,然后调用常数传播可控性检验。在有UNSAT的情况下,求解器指示没有这样赋值。在返回UNSAT的实施例中,有两种选择。第一种选择是,推断没有这样赋值,结束在该点的检验,并指示信号不是可控的。第二种选择是,假若在改进的智能QBF求解器中有错误(bug),调用常数传播可控性检验.
在一实施例中,改进的智能QBF求解器可用于可控性检验。在示例性实施中,求解器输入文件格式是与CNF的标准DIMACS相似的QDIMACS,除非其它前面有另一量词。调用QBF可控性的新方程被实施并使用改进的智能QBF求解器。在一实施例中,利用改进的智能QBF-SAT求解器。在示例性实施中,若给予足够时间返回令人满意的赋值Av(例如,赋值给导致导致输出S的目标值V的控制信号输入C)或该赋值不能被发现的证据,求解是完整的。虽然它可仔细检查控制信号输入C的所有可能赋值,它智能地使用最近SAT求解技术以执行能够使它跳过许多无用赋值的智能学习。在示例性实施中,改进的智能QBF求解器的赋值结果可转发到常数传播验证过程,该过程在来自改进的智能QBF过程而不是其他可能性的赋值结果上进行。在一实施例中,在来自改进的智能QBF过程而不是其他可能性的赋值结果上进行常数传播验证过程,与验证所有可能性的传统常数传播尝试相比更有效。在一实施例中,若改进的智能QBF可控性检验未能推断出输出信号是可控的,然后有两种选择。第一种选择是,推断没有这样赋值,结束在该点的检验,并指示信号不是可控的。第二种选择包括调用使用常数传播(例如,常数可控性等)的函数。
可以理解,智能可控性检验过程可包括各种可控性检查技术。在一实施例中,智能可控性检验过程的一部分包括第一检查技术,且另一部分包括第二检查技术。在示例性实施中,第一部分可为第一可控性检验,且可利用第二部分验证第一可控性检验的结果。关于其他或可选择特征(例如,验证、交替检验技术等)的其他信息呈现于以下部分的细节描述。
在一实施例中,智能可控性检验包括改进的智能QBF可控性检验或检查技术。图7为本发明一实施例中改进的智能QBF可控性检验方法700的流程图。改进的智能QBF可控性检验方法700类似于可控性检验方法100的实施例,方法100中智能可控性检验过程120是改进的智能QBF可控性检验过程。
在区块710中,接收与所分析定义的控制部件关联的信息。区块710是区块110的一实施例。
在区块720中,依据定义所分析控制部件的方程执行改进的智能QBF可控性检验过程。区块720是区块120的一实施例。在一实施例中,改进的智能QBF可控性检验过程包括改进的智能QBF求解和在可控性检验兼容格式与改进的智能QBF兼容格式之间的转化。在示例性实施中,利用改进的智能QBF可控性检验系统600执行改进的QBF可控性检验过程720。在一实施例中,改进的智能QBF可控性检验过程检验输出信号可设置到1。接下来,改进的智能QBF可控性检验过程检验,通过将反向器加到输出信号S后调用它,输出信号S可设置到0。
在一实施例中,改进的智能QBF可控性检验过程包括执行正式可控性检验,该正式可控性检验检查是否可避免(例如,不是所有可能性都枚举)控制信号输入(例如C等)集的一些可能值赋值的枚举。在示例性实施中,改进的智能QBF可控性检验避免枚举控制信号输入集的一些可能值,否则在传统可控性检验方法中将发生这些枚举(例如,避免枚举X传播可控性检验不避免的值、避免枚举常数传播可控性检验不避免的值,等等)。改进的智能QBF可控性检验可包括利用改进的智能QBF求解器。在一实施例中,改进的智能QBF可控性检验过程包括正式的可控性检验,该检验包括广泛或详尽地考虑可能值赋值而避免一些可能性的枚举。正式的可控性检验可检查,证据是否确定关于赋值的结论(例如,证实引起输出目标值的输入值存在、证实无此输入值存在等)。改进的智能QBF可控性检验过程可使用确定可能结果的证据,包括:(1)信号提供可控性的结论;(2)信号不提供可控性的结论;或(3)无论如何无法得到信号是否提供或不提供可控性的结论。关于改进的智能QBF可控性检验的其他信息呈现于以下部分的详细描述。
在区块750中,返回对所分析控制部件的可控性分析结果的指示。区块750是区块150的一实施例。
以理解,改进的智能QBF可控性检验的执行可具有输入阈值或范围。若输入的数目不在阈值范围内,不执行改进的智能QBF可控性检验。在示例性实施中,阈值或范围包括5-70输入。在一实施例中,若输入的数目不在阈值或范围内,可执行改进的另外或其他可控性检验(例如,常数传播可控性检验、改进的智能常数可控性检验、X传播可控性检验等)。
可以理解,智能可控性检验可包括各种可控性验证技术。在示例性实施中,利用一检查技术检验可控性,利用另一检查技术验证结果。图8为本发明一实施例中可控性检验方法800的流程图。可控性检验方法800类似于可控性检验方法100,当改进的智能QBF可控性检验过程导出输出信号是可控的结论,其中包括改进的智能QBF可控性检验过程的结果的验证。在返回SAT的实施例中,可利用赋值以设置控制信号输入C集的值,然后,调用常数传播可控性验证方法。该方法传播输入C常数并执行优化,该优化降低代表输出信号的方程到常数1。其用于验证从QBF求解器接收的赋值,无关其他输入,该赋值将输出信号设置到目标值V。在一实施例中,常数传播可控性验证方法类似于常数传播可控性检验,除了重要的常数传播可控性验证方法检验改进的智能QBF可控性检验过程的结果而不是所有可能的赋值给控制信号输入C集。
在区块810中,接收与所分析定义的控制部件关联的信息。区块810是区块110的一实施例。
区块820、830和840包含于区块120的实施例中。
在区块820中,依据定义所分析控制部件的方程执行改进的智能QBF可控性检验过程。
在区块830中,做出的决定是关于以下哪个是区块820中改进的智能QBF可控性检验过程:(1)信号提供可控性的结论;(2)信号不提供可控性的结论;或(3)无论如何无法得到信号是否提供或不提供可控性的结论。若改进的智能QBF可控性检验过程结果包括(1)信号提供可控性的结论,过程继续进行到区块840。若改进的智能QBF可控性检验过程结果包括:(2)信号不提供可控性的结论;或(3)无论如何无法得到信号是否提供或不提供可控性的结论,过程继续进行到区块850。
在区块840中,依据指示信号提供可控性的改进的智能QBF可控性检验的结果,执行常数传播可控性验证过程。在一实施例中,常数传播可控性验证过程验证信号和值,改进的智能QBF可控性检验指示的值提供可控性还依据常数传播可控性验证提供可控性。在一实施例中,常数传播可控性验证过程有效地验证指示信号提供可控性的改进的智能QBF可控性检验的结果,未在不提供可控性的信号上浪费时间。在示例性实施中,改进的智能QBF可控性检验允许快速且有效识别可控性,同时常数传播可控性验证过程允许结果是准确的保证。
可以理解,在许多情况下,改进的智能QBF可控性检验的结果,与传统常数传播可控性检验过程相比,显著地减少输入常数传播可控性验证过程的枚举赋值的数目。在一实施例中,与输入到传统常数传播可控性检验(例如,10、450、所有可能输入等)的通常数目相比,输入常数传播可控性验证过程的枚举赋值的数目是非常小(例如,1、2、4、10等)。在示例性实施例中,枚举输入的小数目允许常数传播可控性验证过程提供其他保证和以非常小额外代价(例如,时间、占用加工资源、电源消耗等)验证的信心。
在区块850中,返回对所分析控制部件的可控性分析结果的指示。区块850是区块150的一实施例。
在一实施例中,智能可控性检验包括低效运行(fall-back)检验过程。在示例性实施中,若利用一检查技术而未能提供足够的结果,则利用另一低效运行检查技术提供结果。图9为本发明一实施例中可控性检验方法900的流程图。可控性检验方法900类似于可控性检验方法100,且若第一可控性检验过程不能得到关于信号可控性的结集结论,该可控性检验方法900包括第二或低效运行可控性检验。
在区块910中,接收与所分析的控制部件定义相关的信息。区块910是区块110的一实施例。
区块920、930和945包含于区块120的实施例中。
在区块920中,依据定义所分析控制部件的方程执行第一可控性检验过程。在一实施例中,第一可控性检验过程被认为是第一层次。在示例性实施中,第一可控性检验过程与第二可控性检验过程相比更快(例如,得到结果需要更少时间,可在有限时间阈值内得到结论,等等)。
在区块930中,做出的决定是关于以下哪个是区块920中第一可控性检验过程:(1)信号提供可控性的结论;(2)信号不提供可控性的结论;或(3)无论如何无法得到信号是否提供或不提供可控性的结论。若第一可控性检验过程结果包括:(1)信号提供可控性的结论;或(2)信号不提供可控性的结论,过程继续进行到区块950。若第一可控性检验过程结果是(3)无论如何无法得到信号是否提供或不提供可控性的结论,过程继续进行到区块945。在一实施例中,若存在放弃第一可控性检验过程的指示,可执行第二可控性检验过程。
在示例性实施中,第一可控性检验过程具有限制约束的预定时间。若在完成区块930之前限制约束的时间到期或超过,过程可继续进行到区块940。
在区块945中,其可控性检验无论如何无法得到信号是否提供或不提供可控性的结论。在一实施例中,第二可控性检验过程被认为是第二层次。在示例性实施中,第二可控性检验过程与第一可控性检验过程相比更慢(例如,得到结果需要更多时间,可在更大时间阈值内得到结论,等等)。可以理解,第一可控性检验过程和第二可控性检验过程可以是不同的。
在区块950中,返回对所分析控制部件的可控性分析结果的指示。区块950是区块150的一实施例。
在示例性实施中,具有第二可控性检验提供“安全”或低效运行检验。若第二可控性检验不能得到信号是可控的结论或信号是不可控的结论,第二可控性检验可提供低效运行检验。
图10为本发明一实施例中可控性检验方法1000的流程图。可控性检验方法1000类似于可控性检验方法100,若改进的智能QBF可控性检验过程不能得到信号是可控的结论或信号是不可控的结论,包括可控性传播可控性检验过程。在一实施例中,可控性检验方法1000类似于可控性检验方法900,可控性检验方法900中第一层次是改进的智能QBF可控性检验过程,第二层次是常数传播可控性检验。在示例性实施中,若放弃第一层次改进的智能QBF可控性检验过程,执行常数传播可控性检验。
在区块1010中,接收与所分析定义的控制部件关联的信息。区块1010是区块110的一实施例。
区块1020、1030和1045包含于区块120的实施例中。
在区块1020中,依据定义所分析控制部件的方程执行改进的智能QBF可控性检验过程。在一实施例中,改进的智能QBF可控性检验过程包括改进的智能QBF求解和在可控性检验兼容格式与改进的智能QBF兼容格式之间的转化。在示例性实施中,利用改进的智能QBF可控性检验系统600执行改进的QBF可控性检验过程1020。
在区块1030中,做出的决定是关于以下哪个是区块1020中改进的智能QBF可控性检验过程:(1)信号提供可控性的结论;(2)信号不提供可控性的结论;或(3)无论如何无法得到信号是否提供或不提供可控性的结论。若改进的智能QBF可控性检验过程结果包括:(1)信号提供可控性的结论;或(2)信号不提供可控性的结论,过程继续进行到区块1050。若改进的智能QBF可控性检验过程结果是(3)无论如何无法得到信号是否提供或不提供可控性的结论,过程继续进行到区块1045。
在区块1045中,执行常数传播可控性检验过程。在一实施例中,常数传播可控性检验过程执行对所有信号的可控性检验。即使当改进的智能QBF可控性检验不能得到信号是可控的或不是可控的结论时,常数传播可控性检验过程还执行对所有信号的可控性检验,即使当改进的智能QBF可控性检验得到信号是可控的结论或得到信号不是可控的结论而不执行常数传播可控性检验,可控性检验控性检验方法1000通常仍然比传统方法更有效。当QBF可控性检验得到信号是可控的结论时,由此产生效率的节省通常比执行常数传播可控性检验过程的几次机会有价值。在示例性实施中,若改进的智能QBF可控性检验不是令人信服的,具有常数传播可控性检验提供替代性的检验。
区块1050中,返回对所分析控制部件的可控性分析结果的指示。区块1050是区块150的一实施例。
图11为本发明一实施例中可控性检验方法1100的流程图。可控性检验方法1100类似于包括改进的常数传播可控性检验过程和改进的智能QBF可控性检验过程的可控性检验方法100,其中,若改进的智能QBF可控性检验过程得到信号不提供可控性的结论、或无论如何无法得到信号是否提供或不提供可控性的结论,执行改进的智能QBF可控性检验过程。在一实施例中,可控性检验方法1100类似于可控性检验方法900,可控性检验方法900中第一层次是改进的常数传播可控性检验过程,第二层次是改进的智能QBF可控性检验。
在区块1110中,接收与所分析定义的控制部件关联的信息。区块1110是区块110的一实施例。
区块1120、1130和1145包含于区块120的实施例中。
在区块1120中,依据定义所分析控制部件的方程执行改进的常数传播可控性检验过程。在一实施例中,和改进的常数传播可控性检验过程,对少于控制信号输入C的所有可能赋值执行常数传播可控性检验。在示例性实施中,以所有可能赋值的子集执行常数传播可控性检验。可以理解,子集可具有多个值或配置。赋值的子集可为被强加于输入的特殊阵列(例如,000、001、101、111等等)。子集可以是从所有可能赋值的集中选择有限数目的随机值。
在区块1130中,做出的决定是关于以下哪个是区块1120中改进的常数传播可控性检验过程:(1)信号提供可控性的结论;(2)信号不提供可控性的结论;或(3)无论如何无法得到信号是否提供或不提供可控性的结论。若改进的常数传播可控性检验过程结果包括:(1)信号提供可控性的结论;或(2)信号不提供可控性的结论,过程继续进行到区块1150。若改进的常数传播可控性检验过程结果包括(3)无论如何无法得到信号是否提供或不提供可控性的结论,过程继续进行到区块1145。
在区块1145中,执行改进的智能QBF可控性检验过程。在一实施例中,改进的智能QBF检验过程类似于区块820。还可以理解,决定(图未示)可包括在与区块830的决定类似的过程1100中。
在区块1150中,返回对所分析控制部件的可控性分析结果的指示。区块1150是区块150的一实施例。
虽然没有显示,可以解理解,可具有多个两个层次的可控性检验。在一实施例中,在和改进的智能QBF可控性检验过程1145后可增加与常数可控性检验过程1045类似的另一常数可控性检验过程,以取得和改进的智能QBF可控性检验过程1145的不确定性的结果。可以理解,可执行各种配置或选择。在一实施例中,智能可控性检验包括验证过程和低效运行(fall-back)检验过程。
图12为本发明一实施例中可控性检验方法1200的流程图。图12为依据本发明一实施例中可控性检验方法的流程图,当改进的智能QBF可控性检验过程得出信号是可控的结论时,可控性检验方法1200类似于执行改进的智能QBF可控性检验过程的结果验证的可控性检验方法100,若改进的智能QBF可控性检验过程得出信号不提供可控性的结论,或不能得到结论的一种方式或若信号提供或不提供可控性的其他方式,执行常数传播可控性检验过程。在示例性实施中,改进的智能QBF可控性检验方面(例如,QBF试探法(QBFheuristics)、对特定应用的特定QBF算法的适用性、从网表到QBF格式的转化,等等)引起执行改进的智能QBF可控性检验的验证的愿望。
在区块1210中,接收与所分析定义的控制部件关联的信息。区块1210是区块110的一实施例。
区块1220、1230、1240和1245包含于区块120的实施例中。
在区块1220中,依据定义所分析控制部件的方程执行改进的智能QBF可控性检验过程。在一实施例中,改进的智能QBF可控性检验过程包括改进的智能QBF求解和在可控性检验兼容格式与改进的智能QBF兼容格式之间的转化。在示例性实施中,利用智能QBF可控性检验系统600执行改进的智能QBF可控性检验过程1220。
在区块1230中,做出的决定是关于以下哪个是区块1220中改进的智能QBF可控性检验过程:(1)信号提供可控性的结论;(2)信号不提供可控性的结论;或(3)无论如何无法得到信号是否提供或不提供可控性的结论。若改进的智能QBF可控性检验过程结果包括(1)信号提供可控性的结论,过程继续进行到区块1240。若改进的智能QBF可控性检验过程结果包括(2)信号不提供可控性的结论,或(2)无论如何无法得到信号是否提供或不提供可控性的结论,过程继续进行到区块1245。
在区块1240中,依据指示信号提供可控性的改进的智能QBF可控性检验的结果,执行常数传播可控性验证过程。在一实施例中,区块1240的常数传播可控性验证过程类似于区块840的常数传播可控性验证过程。
在区块1245中,执行常数传播可控性检验过程。在一实施例中,区块1245的常数传播可控性检验过程类似于区块1045的常数传播可控性检验过程。
在区块1250中,返回对所分析控制部件的可控性分析结果的指示。区块1250是区块150的一实施例。
可以理解,通过所提供的多层次检验,可实现比传统方法提供的效率。在一实施例中,通过关于在第一层次控制检验可控性的相对快速的结论得出的在时间和资源占用上的节省,通常比直到执行控制检验的第二层次分析才得到结论的示例中时间和资源占用更重要。在示例性实施中,在第一层次的改进的智能QBF可控性检验得到关于未枚举控制信号输入C的所有可能赋值的可控性的结论,通常比枚举并用于得到可控性结论的控制信号输入的所有可能赋值的第二层次常数传播检验的示例重要。
可以理解,可执行各种不同改进的智能QBF可控性检验过程。不同改进的智能QBF可控性检验过程可包括不同试探或针对不同问题。在一实施例中,第一改进的智能QBF可控性检验过程指向或转向第一问题或应用(例如,硬件验证问题、CAD特定问题等等),第二改进的智能QBF可按性检验过程指向或转向第二问题(例如,一般问题、人工智能问题、随机问题等等)。在一实施例中,常数传播可控性验证过程和常数传播可控性检验过程的利用可基于特定QBF可控性检验过程的准确性和适用性的信任或信心水平。
在一实施例中,检测和检验包括几十个到一千多个包含于可控性检验中的信号。这些信号中每个的检验可为独立的。因而,检测或检验可并行。在示例性实施中,为比较老方法和新方法可运行在单个机器上。并行的结果可快得多。
若结论是UNSAT(例如,现有技术包括为冲突和任务重建编码先成、通过后根(post-root)DFS构建分辨率基证明)才验证的传统方法不同;所呈现的智能可控性检验方法(例如,方法100、700、800和系统200等)可验证信号是可控(例如SAT等)的结论,还可验证信号不是可控的(例如UNSAT等)结论。在示例性实施中,通过求解器利用不仅仅是传递失败来验证求解器。在一实施例中,求解器提供其发现的赋值给最外层存在的变量。大部分的DPLL求解器保留该赋值,因此它是可供利用的。在一实施例中,所呈现的可控性检验不需要任何重要编码的信号,从而节省存储器并加速运行时间。在示例性实施中,通过非常快和有效的常数传播和优化过程加工证据。
常数传播检验过程可包括赋值可控性检验的随机方法,改进的智能QBF可控性检验(例如,智能地避免一些可能值的枚举等)的优点是,在枚举较多值和随机检验赋值的各种常数传播方法上通常更有效。在一实施例中,在模块输入的数目可有上限或阈值(例如,高达242、265等),其中超过常数传播检验过程的改进的智能QBF可控性检验过程的效率减小。赋值的常数传播检验过程的随机方法有随机得到可控性结论的机会,且当模块输入的数目超过上限或阈值时,与改进的智能QBF可控性检验相比可为有效的。在示例性实施中,当输入的数目是为或低于阈值时,利用改进的智能QBF可控性检验过程,当输入的数目高于阈值时,利用常数传播检验过程。
在一实施例中,有与所呈现的改进智能QBF可控性检验方法关联的两个行为。第一行为是利用改进的智能QBF-SAT求解器。在示例性实施中,可通过其使用的独特的输入文件识别改进的智能QBF-SAT求解器的使用。与使用dimacs格式的标准SAT求解器不同,改进的智能QBF-SAT求解器使用具有在文件顶部的独特数据区的Qdimacs。第二行为是对QBF-SAT求解器所做的独特的改进。改进提升求解器以返回其所发现赋值的相关部分。多数QBF求解器不返回全部的赋值,因为这是不切实际的。仅返回该创新所需的部分是所呈现的改进的智能QBF可控性检验方法的特点。
在示例性实施中,通过选择简单的参数基准证明本智能可控性检验方法的优点,Bbench(n)中的n定义复杂性并从1到14变化。选择具有与一所讨论相似的AND门(具有输入和其否定(negation))的基准。从而,X传播不能求解它。此外,基准的选择要经历越来越多的组合,这样常数评估将花费越来越多的时间。最终,许多XOR门用于挑战SAT求解器一点点。
以下是Bench(1)的示例性表达或定义:
Inputs:in1,in2...in10,c1,c2,c3.
Outputs:k1_0,k1_1,s1
K1_0=!c2
K11=c1&c3
S1=(k1_1|(in1^in2^...in10^c3))&k1_0|(in1&!in1)
以下是Bench(i+1)的示例性表达或定义:
Inputs:in1,in2...in10,c1,c2,c3,..c{i*2},c{i*2+1}.
Outputs:k1_0,k1_1,s1
Ki_0=!c2&!c4&...&!c{i*2}
Ki_1=c1&c3&...&c{i*2+1}
Si=(ki_1|(in1^in2^...in10^c3^...^c{i*2+1}))&ki_0|(in1&!in1)
可分析和比较不同运行时间对复杂性的结果。该分析和比较可显示,尽管以上概述的条件下,虽然常数传播方法指数增加,所提出的改进的智能QBF方法运行时间线性增加。在一实施例中,结果显示,虽然基准的复杂性依据n增加,运行时间线性增加。该线性增加无关所需检验的组合的数目的指数增加。
可以理解,所提出的改进的智能QBF可控性检验系统和方法可包括于各种环境中。虽然经常从电源可控性和管理角度讨论所提出的改进的智能QBF可控性检验系统和方法的描述,可以理解,所提供的改进的智能QBF可控性检验可用于各种可控性检验(例如,通信、加工)。在一实施例中,电源可控性和管理可用于制造或生产环境(例如,用于地板清扫、用于测试等)。
因此,所提出的方法有利于有效的可控性检验。传统方法经常尝试所分析部件输入的所有可能布尔赋值的检验或分析,可导致运行时间过大(例如,为几天级)。在一实施例中,所提出的改进的智能QBF可控性检验方法描述新算法,该算法是基于跳过许多无用赋值的改进的QBF-SAT求解器。所提出的改进的智能QBF可控性检验方法运行时间可为传统常数俾方法时间的一部分(几分钟级)。所提出的方法可有利于电源门控制模块的有效可控性检验。
图14所示为计算机系统1400的方框图,本发明的实施例可在一计算机系统的实施例上完成。计算机系统1400包括中央处理器单元1401、主存储器1402(例如,随机存取存储器等)、具有北桥1421和南桥1425的芯片集1420、可删除数据存储装置1404、输入装置1407、信号通信端口1408和与显示器1470耦接的图像子系统1450。计算机系统1440包括与计算机系统1400的元件通信耦合的几个总线。通信总线1491(例如前侧总线)将芯片1420的北桥1421耦接于中央处理器单元1401。通信总线1492(例如主存储器总线)将芯片1420的北桥1421耦接于主存储器1402。通信总线1493(例如高级图像端子接口)将芯片1420的北桥909耦接于图像子系统1450。通信总线1494至1497(例如,PCI总线)将芯片集1420的南桥1425分别耦接于可删除数据存储装置1404、输入装置1407、信号通信端口1408。图像子系统1450包括图像处理器1455、存在管理单元1455和图形缓冲器1459。
计算机系统1400的部件共同操作以执行各种处理任务和有利于存储器访问。通信总线1491、1492、1493、1494、1495和1497通信信息。中央处理器1401处理信息。主存储器1402存储中央处理器1401的信息和指令。可删除信息存储装置1404也存储信息和指令(例如,起大量信息库的作用)。输入装置1407提供输入信息和/或在显示器1470上指点或高亮显示信息的机械装置。信号通信端口1408提供对外部装置的通信接口(例如,与网络的接口)。显示装置1470显示与存储于帧缓冲器1459的数据一致的信息。图像处理器1451处理来自中央处理器1401的图像指令,并将所得数据提供给由显示监视器1470存储和取回的图形缓冲器1459。存储管理单元1455操纵图形处理器1451和图形缓冲器1459之间的存储器访问请求。可以理解,可实施类似的存储管理单元,以利于对计算机系统1400的其他存储部件有效且独立的访问请求,其他存储部件包括主存储器1402和批量数据存储1404。
可以理解,可以各种实施例实施本发明。在示例性实施中,本发明可用于被用以提供包括视频游戏的各种图形应用的处理系统的可控性检验。例如,本发明可用于游戏机、个人电脑、个人数字助理、手机或用以实施视频游戏的任何数目平台的可控性检验。还可以理解,对视频游戏应用实施的参考是示例性的,本发明不限于这些实施。
依据方法提出并讨论部分详细的描述。即使本文以附图揭示和描述该方法操作的步骤和顺序,该步骤和顺序是示例性的。实施例非常适于执行本文的流程图所述的各种其他步骤或步骤的变化,而不是以本文所解释和描述的顺序。
依据可在计算机存储器中执行的数据位操作的程序、步骤、逻辑区块、过程和其他符号表征提出部分的详细描述。这些描述和表征是数据处理界的普通技术人员通常用到的手段,用以有效地将工作的本质传递给本领域的其他技术人员。此处的程序、计算机执行步骤、逻辑块、步骤等通常被认为是步骤的自洽序列或导致所期望结果的指令。步骤包括物理量的物理操作。通常,虽然不是必然的,这些物理量是以电、磁、光、量子信号的形式而能够在计算机系统中被存储、转化、复合、比较或其他操纵。这有时证明是方便的,主要是因为通用的原因,将这些信号称为比特、值、元素、符号、字符、术语、数字等。
然而,应该牢记的是,所有这些或类似的术语与适当的物理量相关联,并且仅仅是应用于这些量的方便标记。除非特别声明,否则从以下论述明显看出,可以理解通篇利用诸如“处理”、“计算”,“运算”、“确定”、“显示”、“访问”、“写”、“包括”、“存储”、“发送”、“转化”、“关联”、“识别”等的讨论,是指计算机系统的动作和过程、或类似的电子计算设备,其操纵和变换以计算机系统的寄存器和存储器中物理(电子)量代表的数据,以成为以计算机系统的存储器或寄存器中物理量所代表的其他数据,或其他这样的信息存储、传输或显示设备。
这些实施例可描述在计算机可读指示的通常环境中,由一个或多个计算机或其他设备执行。一般而言,程序模块包括例程、程序、对象、部件、数据结构等,它们执行特定的任务或实施特定的抽象数据类型。通常,程序模块的功能在各种实施例按所期望的组合或分布。
本发明具体实施例的前述描述意在于描述和说明。不希望用其穷尽或将发明限制于上述明确的形式,许多改进和变化可能明显落入本发明的教示范围。选择和描述实施例是为了更好地解释发明和其实际应用的原理,从而使本领域的普通技术人员能够利用本发明及其各种实施例的适于所期望特定用途的各种改进。希望本发明的范围由所附权利要求书及其等效物来限定。

Claims (20)

1.一种可控性检验方法,包括:
接收与所分析的控制部件的定义关联的信息,所述信息包括定义该所分析的控制部件的方程;
基于所接收的信息,执行智能可控性检验过程,包括执行正式的可控性检验检查是否可避免对控制信号输入集的一些可能值的枚举;以及
返回对该所分析控制部件的可控性分析结果的指示。
2.如权利要求1所述的可控性检验方法,其中智能可控性过程包括:
执行初始化过程,包括将可控性环境格式的值转化为求解器环境格式的值;
执行改进的智能QBF求解;以及
返回该求解的结果。
3.如权利要求2所述的可控性检验方法,其中智能可控性过程包括:
在每个求解器环境格式值和相应的所分析控制部件的界面值之间建立映射;以及
维持该映射的列表。
4.如权利要求2所述的可控性检验方法,其中该QBF求解的结果包括三个可能值之一:
ABORT意味着该求解器运行时间超出最大时间限制;
UNSAT意味着该求解器发现没有这样的赋值;以及
SAT意味着求解器发现赋值。
5.如权利要求2所述的可控性检验方法,其中智能可控性检验过程寻找C集的赋值A,其具有以下特性:
将A应用于C导致定义所分析的控制部件的方程的输出是与其他输入值无关的目标值;以及
若存在这样的值,则提供该值用于以上的A,否则,则证明这样的A不存在。
6.如权利要求1所述的可控性检验方法,其中智能可控性过程包括:
执行第一可控性检验技术,其中该第一可控性检验技术具有预定的时间限制约束;以及
若第一可控性检验技术的结果无论如何无法得到信号是否提供或不提供可控性的结论,则执行第二可控性检验技术。
7.如权利要求1所述的可控性检验方法,其中该智能可控性过程包括该结果的验证。
8.一种智能可控性检验系统,包括:
所分析的控制部件;
智能可控性检验部件,该部件可操作为对该所分析的控制部件执行智能可控性检验,包括执行正式的可控性检验,该检验检查是否可避免对控制信号输入集的一些可能值的枚举。
9.如权利要求8所述的智能可控性检验系统,其中该所分析的控制部件包括于非常大的硬件设计。
10.如权利要求8所述的智能可控性检验系统,其中利用改进的智能QBF过程确立对控制信号输入的智能枚举的赋值。
11.如权利要求8所述的智能可控性检验系统,其中该智能可控性检验部件检查,当应用于定义所分析的控制部件的方程时,对控制信号输入的赋值是否产生具有与其它输入的值无关的目标值的输出。
12.如权利要求8所述的智能可控性检验系统,其中该智能可控性检验部件包括转化部件,该部件可操作为在每个求解器环境格式值和相应的所分析的控制部件的界面值之间建立映射以及维持该映射的列表。
13.如权利要求8所述的智能可控性检验系统,其中该智能可控性检验部件包括可控性环境/QBF环境转化部件,该部件可操作为在可控性检验兼容格式与改进的智能QBF兼容格式之间转化。
14.如权利要求8所述的智能可控性检验系统,其中该智能可控性检验部件包括改进的智能QBF部件,该部件可操作为在执行高效的检验时智能地避免枚举一些无关的可能赋值。
15.一种系统,其包括处理器和存储器,该存储器用于存储指导该处理器执行可控性检验方法的指令,该方法包括:
接收与所分析的控制部件的定义关联的信息,包括定义该所分析的控制部件的方程;
基于所接收的所述信息,执行智能可控性检验过程,包括执行正式的可控性检验,该检验检查是否可避免对控制信号输入集的一些可能值的枚举;以及
返回对该所分析的控制部件的可控性分析结果的指示。
16.如权利要求15所述的可控性检验系统,其中智能可控性过程包括执行改进的智能QBF可控性检验;以及该改进的智能QBF可控性检验避免枚举控制信号输入集的一些可能值,X传播可控性检验和常数传播可控性检验不避免。
17.如权利要求15所述的可控性检验系统,其中该智能可控性过程包括:
在每个求解器环境格式值和相应的所分析的控制部件的界面值之间建立映射;以及
维持该映射的列表。
18.如权利要求15所述的可控性检验系统,其中智能可控性检验过程寻找C集的赋值A,其具有以下特性:
将A应用于C导致定义所分析的控制部件的方程的输出是与其他输入值无关的目标值;以及
若存在这样的值,则提供该值用于以上的A,否则,则证明这样的A不存在,即使输入的数目非常大。
19.如权利要求15所述的可控性检验系统,其中该智能可控性过程包括:
执行第一可控性检验技术;以及
若该第一可控性检验技术无论如何无法得到信号是否提供或不提供可控性的结论,则执行第二可控性检验技术。
20.如权利要求15所述的可控性检验系统,其中智能可控性过程包括所述结果的验证,其中该验证可基于改进的智能QBF可控性检验中的信任水平,且所述验证可包括SAT和UNSAT。
CN201310746659.7A 2013-05-08 2013-12-31 可控性检验系统及方法 Pending CN104142675A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/890,180 US20140337265A1 (en) 2013-05-08 2013-05-08 Controllability checking systems and methods
US13/890,180 2013-05-08

Publications (1)

Publication Number Publication Date
CN104142675A true CN104142675A (zh) 2014-11-12

Family

ID=51787471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310746659.7A Pending CN104142675A (zh) 2013-05-08 2013-12-31 可控性检验系统及方法

Country Status (4)

Country Link
US (1) US20140337265A1 (zh)
CN (1) CN104142675A (zh)
DE (1) DE102013114900A1 (zh)
TW (1) TWI537749B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324544A (zh) * 2020-03-12 2020-06-23 惠州市德赛电池有限公司 基于LabView的测试方法和测试系统
CN112487740A (zh) * 2020-12-23 2021-03-12 国微集团(深圳)有限公司 一种布尔可满足性问题求解方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604895A (en) * 1994-02-22 1997-02-18 Motorola Inc. Method and apparatus for inserting computer code into a high level language (HLL) software model of an electrical circuit to monitor test coverage of the software model when exposed to test inputs
US8892386B2 (en) * 2011-07-10 2014-11-18 International Business Machines Corporation Method and apparatus for post-silicon testing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324544A (zh) * 2020-03-12 2020-06-23 惠州市德赛电池有限公司 基于LabView的测试方法和测试系统
CN112487740A (zh) * 2020-12-23 2021-03-12 国微集团(深圳)有限公司 一种布尔可满足性问题求解方法及系统

Also Published As

Publication number Publication date
TW201443668A (zh) 2014-11-16
DE102013114900A1 (de) 2014-11-13
US20140337265A1 (en) 2014-11-13
TWI537749B (zh) 2016-06-11

Similar Documents

Publication Publication Date Title
CN111145076B (zh) 数据并行化处理方法、系统、设备及存储介质
WO2024060452A1 (zh) 信号路径自动提取方法、系统、设备和存储介质
US20210287131A1 (en) Machine learning model accuracy fairness
CN113032275A (zh) 字段测试方法、装置、电子设备及存储介质
CN112948233A (zh) 一种接口测试方法、装置、终端设备及介质
US7761827B1 (en) Integrated circuit design system, method, and computer program product that takes into account observability based clock gating conditions
CN108804878B (zh) 一种染色模拟方法及装置
CN104142675A (zh) 可控性检验系统及方法
US9483593B2 (en) Method for decomposing a hardware model and for accelerating formal verification of the hardware model
CN113033132A (zh) 一种确定端口时序约束的方法及相关装置
CN102855278B (zh) 一种仿真方法和系统
Habiby et al. Power-aware test scheduling framework for IEEE 1687 multi-power domain networks using formal techniques
CN104636509B (zh) 门级仿真中验证时序问题的系统及方法
US20110178970A1 (en) Template clauses based sat techniques
US7246334B1 (en) Topological analysis based method for identifying state nodes in a sequential digital circuit at the transistor level
CN116224126A (zh) 一种电动汽车锂离子电池健康状态估计方法及系统
US7428712B1 (en) Design optimization using approximate reachability analysis
US20220261986A1 (en) Diagnosis pattern generation method and computer
CN118382858A (zh) 软件中的间接函数调用目标识别
CN108334313A (zh) 用于大型soc研发的持续集成方法、装置及代码管理系统
US20110071809A1 (en) Model generation based on a constraint and an initial model
CN103713962B (zh) 一种检测数据链表方法及电子设备
Gandini et al. A framework for automated detection of power-related software errors in industrial verification processes
CN110763984A (zh) 逻辑电路失效率确定方法、装置、设备及存储介质
US20080082471A1 (en) Resolve Trace Minimization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141112

WD01 Invention patent application deemed withdrawn after publication