可控性檢驗(yàn)系統(tǒng)及方法
【專利摘要】一種智能可控性檢驗(yàn)過程,其可智能地檢查是否可避免控制信號(hào)輸入集的一些可能值的枚舉(例如,導(dǎo)致不是所有可能值都枚舉等)。可利用改進(jìn)的智能QBF可控性檢驗(yàn),該檢驗(yàn)包括改進(jìn)的智能QBF求解器。該過程可包括正式的可控性檢驗(yàn),具有對(duì)可能賦值的廣泛或窮舉性的考慮,而避免一些可能值的枚舉。該正式可控性檢驗(yàn)可檢查證據(jù)是否建立關(guān)于賦值的結(jié)論。證據(jù)可用于確定的可能結(jié)果包括:(1)信號(hào)提供可控性的結(jié)論;(2)信號(hào)不提供可控性的結(jié)論;或(3)無(wú)論如何無(wú)法得到信號(hào)是否提供或不提供可控性的結(jié)論。該QBF可控性檢驗(yàn)的結(jié)果(例如,SAT、UNSAT等)可被驗(yàn)證。
【專利說明】可控性檢驗(yàn)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及電源控制系統(tǒng)。特別地,本發(fā)明涉及電源管理可控性檢驗(yàn)的系統(tǒng)和方 法。
【背景技術(shù)】
[0002] 電子系統(tǒng)和裝置(例如,大規(guī)模集成化芯片、中央加工單元、圖形加工單元等)為 現(xiàn)代社會(huì)的進(jìn)步做出了顯著的貢獻(xiàn),其在廣泛地應(yīng)用中獲得有益的結(jié)果。許多電子技術(shù),如 數(shù)字計(jì)算機(jī)、計(jì)算器、音頻設(shè)置、視頻設(shè)備和電話系統(tǒng),促進(jìn)在商業(yè)、科學(xué)、教育和娛樂等大 部分領(lǐng)域中分析和交流數(shù)據(jù)的生產(chǎn)率提升和成本降低。這些電子技術(shù)經(jīng)常涉及在非常大和 復(fù)雜硬件設(shè)計(jì)中電源管理控制的嘗試。然而,在電源管理控制檢驗(yàn)方面的傳統(tǒng)嘗試通常對(duì) 非常大硬件設(shè)計(jì)應(yīng)用的快速電源管理控制檢驗(yàn)缺乏足夠容量和能力。缺乏對(duì)傳統(tǒng)可控性檢 驗(yàn)方法的快速響應(yīng)經(jīng)常導(dǎo)致對(duì)資源的低效占用。
[0003] 控制非常大硬件設(shè)計(jì)應(yīng)用的電源使用和供應(yīng)的能力是非常重要的,且電源可控性 經(jīng)常可顯著地影響性能和功耗效率。電源管理可控性在涉及有限電源供應(yīng)(例如,移動(dòng)設(shè) 備、電池供電設(shè)備等)的非常大硬件設(shè)計(jì)應(yīng)用中非常關(guān)鍵。在一些傳統(tǒng)方法中,關(guān)閉(例如, 當(dāng)確定不使用它們時(shí)等)設(shè)備和系統(tǒng)的區(qū)域,這可導(dǎo)致電源支出的減少,否則會(huì)發(fā)生(例 如,由于電源泄漏等)電源支出。在許多應(yīng)用中,相對(duì)小的部件(例如,電源門、開關(guān)、晶體 管等)被用于允許或防止設(shè)備或系統(tǒng)的各種部件的電源消耗。相對(duì)小的部件經(jīng)常是由電源 控制部件輸出的專門信號(hào)(例如,鉗位信號(hào)(clamp signal)、休眠信號(hào)等)開啟或關(guān)閉。相 對(duì)小的控制部件可控制各種部件或部件的區(qū)塊,電源可控性檢驗(yàn)可用于各種粒度(例如, 芯片的單個(gè)部件、芯片部件的區(qū)塊等)的部件。
[0004] 通常,可控性是通過操控某輸入信號(hào)而改變系統(tǒng)狀態(tài)的能力??煽匦酝ǔJ强刂?系統(tǒng)的輸出導(dǎo)致響應(yīng)具體輸入配置的特定值的屬性。電源管理可控性檢驗(yàn)通常試圖確定輸 入集是否可控制輸出信號(hào)狀態(tài)。在一示例中,執(zhí)行檢查以確定,休眠控制信號(hào)或電源鉗位信 號(hào)是否在輸入特定賦值時(shí)激活,并在另一輸入配置值時(shí)處于非活動(dòng)狀態(tài)。一些傳統(tǒng)可控性 檢驗(yàn)檢查,電源控制信號(hào)集是否可設(shè)置和重設(shè)與其他輸入無(wú)關(guān)的電源門信號(hào)。
[0005] 傳統(tǒng)可控性檢驗(yàn)通常涉及邏輯方程,其定義所分析控制部件和產(chǎn)生輸出信號(hào)下、 用于所分析控制部件的控制輸入終端上控制信號(hào)輸入C集的信號(hào)值、以及S值的目標(biāo)值指 定給或應(yīng)用于控制信號(hào)輸入C集和已求解邏輯方程的目標(biāo)值(例如通過所分析控制部件的 模擬傳播值)。在將所賦值應(yīng)用于控制信號(hào)輸入C集并求解方程后,若產(chǎn)生信號(hào)S得到目標(biāo) 值V,認(rèn)為成功地發(fā)現(xiàn)或確定了提供可控性的控制信號(hào)輸入C的所請(qǐng)求賦值。
[0006] 在非常大硬件設(shè)計(jì)中通常有很多輸入,識(shí)別許多輸入信號(hào)中的哪個(gè)影響電源可控 性對(duì)于執(zhí)行電源控制和電源管理是重要的。大量的輸入使檢驗(yàn)其中哪個(gè)影響電源管理可控 性變得復(fù)雜和困難。在可控性檢驗(yàn)中通常有許多集應(yīng)用于控制信號(hào)輸入C的值。傳統(tǒng)方法 通常包括可應(yīng)用于控制信號(hào)輸入C的所有可能值的枚舉。在許多傳統(tǒng)檢驗(yàn)可控性方法中, 盡力從無(wú)考慮其他輸入由S得到V值的2|C|可能性中找出控制信號(hào)輸入的賦值。在控制 信號(hào)輸入C的集多于非常小的集的情況下,每個(gè)可能值的枚舉導(dǎo)致檢驗(yàn)多數(shù)可能性,該可 能性通常消耗相當(dāng)多的加工資源和時(shí)間。電源可控性檢驗(yàn)的兩個(gè)可選擇傳統(tǒng)方法是X傳播 可控性檢驗(yàn)和常數(shù)傳播可控性檢驗(yàn)。每個(gè)方法包括所有可能輸入值的枚舉,在非常大硬件 設(shè)計(jì)應(yīng)用中通常消耗相當(dāng)多的加工資源和時(shí)間。
[0007] 傳統(tǒng)X傳播可控性檢驗(yàn)是基于三值模擬(〇, l,x)。對(duì)于控制信號(hào)輸入(例如,每位 輸入C上0和1)集的值的每個(gè)可能賦值,剩余的輸入終端設(shè)為X。然后,評(píng)估被"傳播"或 應(yīng)用于相應(yīng)方程和信號(hào)S的值。例如,傳統(tǒng)電源門控的一個(gè)版本包括帶有兩輸入的AND邏 輯門。若一輸入設(shè)為〇,其他輸入設(shè)為X,AND門的輸出評(píng)估為常數(shù)0。在一示例中,帶有X 值的si信號(hào)和被否定或被反轉(zhuǎn)的si信號(hào)是AND門的輸入。X傳播方法將評(píng)估該門為X,而 其他更詳細(xì)的評(píng)估將會(huì)意識(shí)到其為常數(shù)0。即使賦值評(píng)估的X傳播技術(shù)對(duì)非常小尺寸集的 控制信號(hào)輸入C可足夠地快,其仍然具有潛在的問題。其中的一個(gè)問題是它可能太過保守 (導(dǎo)致假陰性)而跳過好賦值。進(jìn)一步的,即使X傳播通常不需要表達(dá)的優(yōu)化,其仍然涉及 對(duì)控制信號(hào)輸入C集的所有可能值的枚舉,并隨著控制信號(hào)輸入C集的尺寸增加而以指數(shù) 方式地變得更慢。
[0008] 在常數(shù)傳播可控性檢驗(yàn)的傳統(tǒng)嘗試中,枚舉所有可能的多集控制信號(hào)輸入C值, 將控制信號(hào)輸入C的每集值分配給輸入。然后,可優(yōu)化輸出信號(hào)的表達(dá)(例如,使用表達(dá)優(yōu) 化如常數(shù)傳播、冗余去除、脫摩根的規(guī)則等)并傳播常數(shù)。若輸出信號(hào)降至常數(shù)值,值是經(jīng) 過檢驗(yàn)的目標(biāo)值V。該傳統(tǒng)常數(shù)傳播可控性檢驗(yàn)方法通常比傳統(tǒng)X傳播可控性檢驗(yàn)方法更 準(zhǔn)確。例如,傳統(tǒng)常數(shù)傳播可控性檢驗(yàn)方法可實(shí)現(xiàn)上AND門是常數(shù)0。然而,該方法通常慢 得多且通常仍然過于保守。例如,在復(fù)雜的情況下,其得到太過復(fù)雜以至于不能意識(shí)到它是 常數(shù)的表達(dá),這可能導(dǎo)致跳過好賦值。
【發(fā)明內(nèi)容】
[0009] 所提出的系統(tǒng)和方法可利于可控性檢驗(yàn)。在一實(shí)施例中,智能可控性檢驗(yàn)過程檢 查,是否可建立關(guān)于可控性檢驗(yàn)的結(jié)論,且避免枚舉控制信號(hào)輸入集的一些可能值。減少或 避免枚舉控制信號(hào)輸入集(例如C等)的一些可能值可節(jié)省用于執(zhí)行可控性檢驗(yàn)的資源 (例如,處理時(shí)間、處理電源等)。在一實(shí)施例中,智能可控性檢驗(yàn)過程包括正式的可控性檢 驗(yàn),該檢驗(yàn)可包括可能賦值的廣泛或窮舉的考慮,與此同時(shí)避免枚舉一些可能值。在示例性 實(shí)施中,正式可控性檢驗(yàn)檢查,證據(jù)是否確立關(guān)于賦值的結(jié)論(例如,證實(shí)引起輸出目標(biāo)值 的輸入值存在、證實(shí)無(wú)這樣的輸入值存在等)。改進(jìn)的智能可控性檢驗(yàn)過程可利用證據(jù)確定 可能結(jié)果,包括:(1)信號(hào)提供可控性的結(jié)論;(2)信號(hào)不提供可控性的結(jié)論;或(3)無(wú)論如 何無(wú)法得到信號(hào)是否提供或不提供可控性的結(jié)論。
[0010] 在一實(shí)施例中,利用改進(jìn)的智能量化的布爾公式(QBF)可控性檢驗(yàn)包括改進(jìn)地智 能QBF求解器。在一實(shí)施例中,可控性檢驗(yàn)尋找控制輸入信號(hào)集的賦值,其導(dǎo)致輸出信號(hào)的 值是與其他輸入值無(wú)關(guān)的特別值。智能可控性過程可包括:執(zhí)行初始化過程,包括轉(zhuǎn)化可控 性環(huán)境格式的值為求解器環(huán)境格式;執(zhí)行改進(jìn)的智能QBF求解;以及返回求解的結(jié)果。智能 可控性過程可包括:在每個(gè)求解器環(huán)境格式值和相應(yīng)所分析控制部件的界面值之間建立映 射;以及維持(maintain)此映射的列表。
[0011] 可以理解,可以各種配置容易地實(shí)施所提出的方法。智能可控性檢驗(yàn)可包括可控 性檢驗(yàn)的多層次或技術(shù)。不同層次的可控性檢驗(yàn)可用于各種原因(例如,若一技術(shù)未能得 到結(jié)論,利用第二技術(shù)驗(yàn)證第一技術(shù)的結(jié)果等)。在一實(shí)施例中,智能可控性性過程包括: 執(zhí)行第一可控性檢驗(yàn)技術(shù)(例如,改進(jìn)的智能QBF可控性檢驗(yàn),等等)和執(zhí)行第二可控性檢 驗(yàn)技術(shù)(例如,常數(shù)傳播可控性檢驗(yàn),等等)。可依據(jù)驗(yàn)證的第一技術(shù)執(zhí)行第二可控性檢驗(yàn) 技術(shù)。若第一可控性檢驗(yàn)技術(shù)未能得到信號(hào)是可控的結(jié)論,則執(zhí)行第二可控性檢驗(yàn)技術(shù)。在 示例性實(shí)施中,若以枚舉控制信號(hào)輸入集的不到所有可能值不能確定關(guān)于可控性的結(jié)論, 可實(shí)施枚舉所有可能值的選擇。
【專利附圖】
【附圖說明】
[0012] 納入本說明書和形成本說明書一部分的附圖通過示例或不是通過限制的方式解 釋本發(fā)明。該說明書所參考的附圖,除非特別說明,應(yīng)理解為不是按比例繪制的。
[0013] 圖1為本發(fā)明一實(shí)施例中智能可控性檢驗(yàn)方法的流程圖。
[0014] 圖2為本發(fā)明一實(shí)施例中智能可控性檢驗(yàn)環(huán)境的方框圖。
[0015] 圖3為本發(fā)明一實(shí)施例中控制信號(hào)輸入C集的賦值場(chǎng)景的方框圖。
[0016] 圖4為本發(fā)明一實(shí)施例中智能可控性檢驗(yàn)過程的流程圖。
[0017] 圖5為本發(fā)明一實(shí)施例中包括轉(zhuǎn)換和映射的可控性檢驗(yàn)系統(tǒng)的方框圖。
[0018] 圖6為本發(fā)明一實(shí)施例中包括轉(zhuǎn)換和映射的智能QBF可控性檢驗(yàn)系統(tǒng)的方框圖。
[0019] 圖7為本發(fā)明一實(shí)施例中智能QBF可控性檢驗(yàn)方法的流程圖。
[0020] 圖8為本發(fā)明一實(shí)施例中包括驗(yàn)證的智能QBF可控性檢驗(yàn)方法的流程圖。
[0021] 圖9為本發(fā)明一實(shí)施例中包括第二可控性檢驗(yàn)過程的可控性檢驗(yàn)方法的流程圖。
[0022] 圖10為依據(jù)本發(fā)明一實(shí)施例中可控性檢驗(yàn)方法的流程圖,若改進(jìn)的智能QBF可控 性檢驗(yàn)過程不能得出結(jié)論的一種方式或若信號(hào)是可控的其他方式,該方法包括常數(shù)傳播可 控性檢驗(yàn)過程。
[0023] 圖11為依據(jù)本發(fā)明一實(shí)施例中可控性檢驗(yàn)方法的流程圖,若改進(jìn)的常數(shù)傳播可 控性檢驗(yàn)過程不能得出結(jié)論的一種方式或若信號(hào)提供或不提供可控的其他方式,該方法包 括改進(jìn)的常數(shù)傳播可控性檢驗(yàn)過程、改進(jìn)的智能QBF可控性檢驗(yàn)過程。
[0024] 圖12為依據(jù)本發(fā)明一實(shí)施例中可控性檢驗(yàn)方法的流程圖,當(dāng)改進(jìn)的智能QBF可控 性檢驗(yàn)過程得出信號(hào)是可控的結(jié)論時(shí),該方法包括驗(yàn)證改進(jìn)的智能QBF可控性檢驗(yàn)過程的 結(jié)論;若改進(jìn)的智能QBF可控性檢驗(yàn)過程得出信號(hào)不提供可控性的結(jié)論,或不能得到結(jié)論 的一種方式或若信號(hào)提供或不提供可控性的其他方式,該方法包括常數(shù)傳播可控性檢驗(yàn)過 程。
[0025] 圖13為本發(fā)明一實(shí)施例中運(yùn)行時(shí)間與復(fù)雜性結(jié)果的表格或圖表。
[0026] 圖14所示為計(jì)算機(jī)系統(tǒng)的方框圖,本發(fā)明的實(shí)施例可在一計(jì)算機(jī)系統(tǒng)的實(shí)施例 上完成。
【具體實(shí)施方式】
[0027] 現(xiàn)參考優(yōu)選實(shí)施和附圖詳細(xì)地描述地描述本發(fā)明。雖然將結(jié)合優(yōu)選實(shí)施例描述本 發(fā)明,可以理解,它們并不旨在于將本發(fā)明限于這些實(shí)施例。相反的,本發(fā)旨在涵蓋替代、改 進(jìn)、等價(jià)物,其可包括于所附權(quán)利要求定義的發(fā)明范圍和精神中。此外,在本發(fā)明的以下詳 細(xì)描述中,對(duì)許多具體細(xì)節(jié)進(jìn)行了闡述,以便徹底理解本發(fā)明。然而,本領(lǐng)域技術(shù)人員應(yīng)該 清楚,本發(fā)明可以在沒有這些具體細(xì)節(jié)的情況下實(shí)施。在其他實(shí)例中,為避免本發(fā)明的不必 要地模糊方面,公知的方法、步驟、部件、和電路并未詳細(xì)地描述。
[0028] 所提出的系統(tǒng)和方法可利于有效的智能可控性檢驗(yàn)。圖1為本發(fā)明一實(shí)施例中智 能可控性檢驗(yàn)方法100的流程圖。在實(shí)施例中,智能可控性檢驗(yàn)方法100在非常大硬件設(shè) 計(jì)應(yīng)用中實(shí)施。在示例性實(shí)施中,若可避免控制信號(hào)輸入集一些可能賦值的枚舉且若可確 定關(guān)于可控性的結(jié)論,智能可控性檢驗(yàn)智能地加工檢驗(yàn)。若不是枚舉控制信號(hào)輸入集的所 有可能賦值而不能確定關(guān)于可控性的結(jié)論,可實(shí)施枚舉和考慮所有可能值的選擇。
[0029] 在區(qū)塊110中,接收與所分析(例如,硬件描述、邏輯表達(dá)等)控制部件的定義關(guān) 聯(lián)的信息。在一實(shí)施例中,接收所分析定義控制部件的方程、所分析輸入到控制部件的一集 控制信號(hào)輸入C、所分析控制部件的輸出信號(hào)的目標(biāo)值V??梢岳斫猓治隹刂撇考蔀?電源控制部件(例如,電源門、開關(guān)等)。
[0030] 在區(qū)塊120中,基于在區(qū)塊110中所接收的信號(hào)可實(shí)施智能可控性檢驗(yàn)過程。在 一實(shí)施例中,智能可控性過程檢查是否控制信號(hào)輸入C的賦值導(dǎo)致輸出信號(hào)為目標(biāo)值V。在 示例性實(shí)施中,智能可控性檢驗(yàn)過程檢查,是否可避免控制信號(hào)輸入(例如C等)集的一些 可能賦值的枚舉。
[0031] 在一實(shí)施例中,改進(jìn)的智能可控性檢驗(yàn)過程包括形式的可控性檢驗(yàn)。形式的可控 性檢驗(yàn)方法可包括可能賦值的廣泛或詳盡的考慮,同時(shí)避免一些可能性的枚舉。在示例性 實(shí)施中,改進(jìn)的智能可控性檢驗(yàn)過程的枚舉避免導(dǎo)致,不是所有可能值被枚舉且應(yīng)用于依 據(jù)分析的控制部件的輸入或應(yīng)用于定義依據(jù)分析的控制部件的方程的輸入,否則其將以傳 統(tǒng)常數(shù)傳播方法發(fā)生。在一實(shí)施例中,正式可控性檢驗(yàn)方法不使用隨機(jī)分析(例如,可能 值的隨機(jī)選擇等)。在示例性實(shí)施中,正式可控性檢驗(yàn)檢查,證據(jù)是否確定關(guān)于賦值的結(jié)論 (例如,證實(shí)引起輸出目標(biāo)值的輸入值存在、證實(shí)無(wú)此輸入值存在等)。改進(jìn)的智能可控性 檢驗(yàn)過程可利用證據(jù)確定可能結(jié)果包括:(1)信號(hào)提供可控性的結(jié)論;(2)信號(hào)不提供可控 性的結(jié)論;或(3)無(wú)論如何無(wú)法得到信號(hào)是否提供或不提供可控性的結(jié)論。
[0032] 可以可以理解,智能可控性檢驗(yàn)過程可利用各種技術(shù)避免控制信號(hào)輸入C集的賦 值。在示例性實(shí)施中,改進(jìn)的智能QBF可控性檢驗(yàn)被用于改進(jìn)地智能QBF求解器。關(guān)于改 進(jìn)的智能QBF可控性檢驗(yàn)的其他信息呈現(xiàn)于以下部分的詳細(xì)描述。
[0033] 在區(qū)塊150中,返回對(duì)依據(jù)分析的控制部件的可控性分析結(jié)果的指示。在一實(shí)施 例中,若發(fā)現(xiàn)導(dǎo)致控制信號(hào)輸入C是目標(biāo)值v (不考慮其他輸入值)的賦值,結(jié)果指示輸出 信號(hào)是可控的。在一實(shí)施例中,輸出信號(hào)s是鉗位信號(hào)或休眠信號(hào)。
[0034] 圖2為本發(fā)明一實(shí)施例中智能可控性檢驗(yàn)系統(tǒng)200的方框圖。智能可控性檢驗(yàn)系 統(tǒng)200包括在計(jì)算機(jī)系統(tǒng)210上的智能可控性檢驗(yàn)部件211和在計(jì)算機(jī)系統(tǒng)210上的所分 析控制部件220??梢岳斫?,所分析控制部件220可以是在計(jì)算機(jī)系統(tǒng)210上實(shí)施的模擬。 所分析控制部件220可代表包含于非常大硬件設(shè)計(jì)(例如,在非常大規(guī)模集成芯片的電源 控制單元、在中央加工)的電源控制部件。通過智能可控性檢驗(yàn)部件檢驗(yàn)或分析所分析部 件 220。
[0035] 所分析可控性部件220有多個(gè)輸入,包括控制信號(hào)輸入C集(例如,C1、C2、C3)和 其他輸入信號(hào)(例如,R1和R2)??煽匦越?jīng)分析的可控性部件220還具有輸出信號(hào)S。在 一實(shí)施例中,智能可控性檢驗(yàn)涉及控制信號(hào)輸入c(例如,C1、C2、C3)、輸出信號(hào)S的目標(biāo)值 V、定義所分析控制部件220和輸出信號(hào)S的方程。圖3為信號(hào)輸入C集的賦值場(chǎng)景的方框 圖。在賦值場(chǎng)景310中,枚舉具體應(yīng)用的控制信號(hào)輸入C的所有可能賦值(例如,Al、A2、 A3等)集。在賦值場(chǎng)景320中,枚舉具體應(yīng)用的控制信號(hào)輸入C的智能選擇賦值(Al、A4、 A5)集。智能選擇的控制信號(hào)輸入C的賦值集具有比控制信號(hào)輸入C的賦值(A1、A2、A3,等 等)所有可能集少的枚舉值??梢岳斫?,控制信號(hào)輸入C的智能選擇賦值集可利用各種技 術(shù)(例如,QBF技術(shù)等)開發(fā)和建立。關(guān)于改進(jìn)的智能QBF可控性檢驗(yàn)的其他信息呈現(xiàn)于 以下部分的詳細(xì)描述。
[0036] 智能可控性檢驗(yàn)部件211執(zhí)行智能可控性檢驗(yàn)。在示例性實(shí)施例中,智能可控性 檢驗(yàn)檢查,當(dāng)應(yīng)用于定義所分析控制部件的方程時(shí),控制信號(hào)輸入C集的賦值(例如,邏輯 值、信號(hào)值等)是否產(chǎn)生具有無(wú)關(guān)其他輸入的值(例如R1和R2)的目標(biāo)值V(例如邏輯值 1和邏輯值〇等)的輸出。智能可控性檢驗(yàn)應(yīng)用控制信號(hào)輸入C集的賦值的智能枚舉集。 在示例性實(shí)施中,應(yīng)用智能枚舉賦值集(A1、A4和A5)去分析定義所分析控制部件220的方 程。分析包括決定,智能枚舉賦值集是否包括導(dǎo)致S是特定目標(biāo)值V的控制信號(hào)輸入C集 的賦值Αν。分析還能夠證明該賦值Αν不存在。
[0037] 可以理解,應(yīng)用所分析智能枚舉賦值集(例如,定義所分析控制部件的方程等)導(dǎo) 致比應(yīng)用所有的潛在枚舉賦值更少的資源占用。可以理解,智能枚舉賦值集不提供可控性 或缺乏可控性的確認(rèn),然后,智能可控性檢驗(yàn)可選擇地實(shí)施應(yīng)用所有的潛在枚舉賦值的分 析。關(guān)于不同可控性檢驗(yàn)的其他信息呈現(xiàn)于以下部分的詳細(xì)描述。
[0038] 在一實(shí)施例中,智能可控性檢驗(yàn)進(jìn)行檢驗(yàn)控制信號(hào)輸入C的賦值是否能將輸入信 號(hào)設(shè)定到兩個(gè)可能目標(biāo)邏輯值。它檢驗(yàn),無(wú)關(guān)所分析控制部件220的其他輸入(例如R1和 R2),控制信號(hào)輸入C集的邏輯賦值(例如Α1等)是否將輸出信號(hào)S設(shè)定到第一邏輯值(例 如邏輯值1、追假值等)。然后,它檢驗(yàn),無(wú)關(guān)所分析控制部件220的其他輸入,控制信號(hào)輸 入C集的另一賦值(例如Α2)是否將輸出信號(hào)設(shè)定到第二邏輯值(例如,第一邏輯值的邏 輯值倒數(shù)、邏輯值〇、真值等)。
[0039] 圖4為本發(fā)明一實(shí)施例中智能可控性檢驗(yàn)過程400的流程圖。在一實(shí)施例中,智 能可控性檢驗(yàn)過程400類似于用于區(qū)塊120的智能可控性檢驗(yàn)過程。
[0040] 在區(qū)塊410中,執(zhí)行初始化過程。在一實(shí)施例中,可控性環(huán)境格式(例如,邏輯表 達(dá)格式、兼容所分析控制部件的格式等)的值被轉(zhuǎn)化為求解器環(huán)境格式(例如兼容智能求 解器的格式)。在示例性實(shí)施中,求解器環(huán)境格式包括改進(jìn)的智能QBF求解器格式(例如, CNF格式、Qdimacs等)。關(guān)于初始化過程的其他信息呈現(xiàn)于以下部分的詳細(xì)描述。
[0041] 在區(qū)塊420中,執(zhí)行改進(jìn)的智能求解??梢岳斫?,智能可控性檢驗(yàn)過程可利用各種 技術(shù)。在一實(shí)施例中,執(zhí)行改進(jìn)的智能QBF求解。關(guān)于改進(jìn)的智能求解的其他信息呈現(xiàn)于 以下部分的詳細(xì)描述。
[0042] 在區(qū)塊430中,返回求解結(jié)果。結(jié)果可包括,無(wú)關(guān)所分析控制部件的其他輸入或定 義所分析控制部件的表達(dá)的輸入,控制信號(hào)輸入C集的賦值Αν控制輸出信號(hào)的指示。結(jié)果 可包括指示,控制信號(hào)輸入C的賦值Αν不控制所分析輸出S的控制部件。在一實(shí)施例中, 執(zhí)行在區(qū)塊420中改進(jìn)的智能QBF求解的結(jié)果可包括SAT、UNSAT和ABORT指示。不同于傳 統(tǒng)技術(shù),SAT指示可包括與可控性檢驗(yàn)關(guān)聯(lián)的其他信息。在一實(shí)施例中,其他SAT指示信息 包括以終端C和值相應(yīng)對(duì)的列表形式的賦值C。在示例性實(shí)施中,SAT指示包括合取范式標(biāo) 識(shí)部分和值對(duì)的列表。關(guān)于改進(jìn)的智能QBF可控性檢驗(yàn)和求解的其他信息呈現(xiàn)于以下部分 的詳細(xì)描述。
[0043] 圖5為本發(fā)明一實(shí)施例中智能可控性測(cè)試系統(tǒng)500的方框圖。可控性測(cè)試環(huán)境500 是可控性測(cè)試系統(tǒng)200的一實(shí)施例??煽匦詼y(cè)試系統(tǒng)500包括在計(jì)算機(jī)系統(tǒng)510上和所分 析控制部件520上實(shí)施的的智能可控性檢驗(yàn)部件511??梢岳斫?,所分析控制部件520可以 是在計(jì)算機(jī)系統(tǒng)510上的模擬。所分析控制部件520是所分析控制部件的一實(shí)施例。智能 可控性檢驗(yàn)部件511是智能可控性檢驗(yàn)部件211的一實(shí)施例。智能可控性檢驗(yàn)部件511包 括轉(zhuǎn)化部件512、智能求解器513、和其他特征部件514。
[0044] 智能可控性測(cè)試系統(tǒng)500的部件共同操作以執(zhí)行智能卡可控性檢驗(yàn)。智能可控性 測(cè)試系統(tǒng)500執(zhí)行各種轉(zhuǎn)化,包括在不同數(shù)據(jù)結(jié)構(gòu)格式間的轉(zhuǎn)化(例如,BED、CNF等)、在非 布爾式與布爾式表達(dá)間的轉(zhuǎn)化(例如BIT-blast等)。在一實(shí)施例中,可控性環(huán)境格式(例 如,兼容所分析控制部件520的格式等)的值被轉(zhuǎn)化部件轉(zhuǎn)化為求解器環(huán)境格式(例如,兼 容智能求解器513的格式)。轉(zhuǎn)化部件512在每個(gè)求解器環(huán)境格式值與所分析邊值(例如, 控制信號(hào)值、其余信號(hào)值等)的相應(yīng)控制部件之間映射、并維持映射列表。在一實(shí)施例中, 轉(zhuǎn)化部件512在邏輯表達(dá)和求解器格式(例如,BED格式、CNF格式)間轉(zhuǎn)化。在一實(shí)施例 中,智能求解器513智能地檢查,當(dāng)將其枚舉和應(yīng)用于定義所分析控制部件(否則將經(jīng)傳統(tǒng) 方法發(fā)生的)方程的輸入之前有效地避免可能但無(wú)效的賦值給控制信號(hào)輸入C,輸出信號(hào) 是否是可控的。在示例性實(shí)施中,若結(jié)果指示可避免一些賦值枚舉,不會(huì)耗盡其他加工時(shí)間 和資源分析那些已避免的賦值。其他特征部件514可提供各種其他特征(例如,驗(yàn)證結(jié)果、 若智能求解器未能推斷出信號(hào)是可控的時(shí)可選的可控性檢驗(yàn)方法,等等)。
[0045] 圖6為本發(fā)明一實(shí)施例中改進(jìn)的智能QBF可控性檢驗(yàn)系統(tǒng)600的方框圖??煽匦?檢驗(yàn)系統(tǒng)600包括可控性環(huán)境/QBF環(huán)境轉(zhuǎn)化部件610和改進(jìn)的智能QBF求解器620。改進(jìn) 的智能QBF可控性檢驗(yàn)系統(tǒng)600的部件共同操作以執(zhí)行改進(jìn)的智能QBF可控性檢驗(yàn)。
[0046] 可控性環(huán)境/QBF環(huán)境轉(zhuǎn)化部件610在可控性檢驗(yàn)兼容格式與改進(jìn)的智能QBF兼 容格式之間轉(zhuǎn)化。在一實(shí)施例中,可控性環(huán)境/QBF環(huán)境轉(zhuǎn)化部件610包括布爾表達(dá)圖形 (BED) /邏輯表達(dá)映射部件611和相應(yīng)列表部件612。QBF環(huán)境轉(zhuǎn)化部件610還可包括合取 范式(CNF) /邏輯表達(dá)映射部件613和相應(yīng)列表部件614。
[0047] 在一實(shí)施例中,改進(jìn)的智能QBF可控性檢驗(yàn)過程將輸出信號(hào)的邏輯方程轉(zhuǎn)化到 CNF。在轉(zhuǎn)化期間,它可填充控制信號(hào)輸入C集中每個(gè)控制信號(hào)輸入的CNF標(biāo)識(shí)之間的映射。 表示控制信號(hào)輸入C集的CNF標(biāo)識(shí)部分集是CCNF標(biāo)識(shí)部分(Ccnf Ids)。此外,其建立表示 其余輸入的CNF標(biāo)識(shí)部分列表并將此CNF標(biāo)識(shí)部分列表保留在INCNF標(biāo)識(shí)部分(incnf Ids) 中。其建立表示和將其保留在CNF的CNF公式。最終,其將新的可變的CNF保留在新CNF 標(biāo)識(shí)部分。使用這些數(shù)據(jù),其建立被傳輸?shù)礁倪M(jìn)的智能QBF求解器的下列所分析控制部件 輸入公式或表達(dá):[1]存在CCNF標(biāo)識(shí)部分(CcnfIds)、Forall INCNF標(biāo)識(shí)部分(Incnflds)、 存在新CNF標(biāo)識(shí)部分(newcnflds)。輸入公式[1]是若并僅若為可控的時(shí)滿足的QBF SAT 公式。理由是,滿足[1]的每個(gè)賦值展示對(duì)無(wú)關(guān)其余終端的值設(shè)置信號(hào)的C中終端的賦值。
[0048] 改進(jìn)的智能QBF求解器部件620智能地確定可控性賦值。在一實(shí)施例中,改進(jìn)的 智能QBF部件620智能地避免一些可能賦值的枚舉在執(zhí)行有效檢驗(yàn)過時(shí)不相關(guān)的考慮。改 進(jìn)的智能QBF求解器可返回SAT指示、UNSAT指示和ABORT指示。ABORT返回意味著求解器 運(yùn)行時(shí)間超出最大時(shí)間限制。UNSAT返回意味著沒有這樣的賦值。SAT返回意味著求解器 找到賦值。在一實(shí)施例中,SAT指示包括以終端C和值的相應(yīng)對(duì)的列表形式的賦值C。該賦 值若應(yīng)用于C終端并以常數(shù)傳播評(píng)估將無(wú)關(guān)其他輸入的任何值設(shè)置S。在示例性實(shí)施中, SAT指示包括合取范式標(biāo)識(shí)部分和值對(duì)的列表650。在示例性實(shí)施中,改進(jìn)求解器以返回賦 值給CCNF標(biāo)識(shí)部分。然后,使用映射613和611,將該賦值轉(zhuǎn)化為C終端。在一實(shí)施例中, 在求解器返回ABORT的情況下,然后調(diào)用常數(shù)傳播可控性檢驗(yàn)。在有UNSAT的情況下,求解 器指示沒有這樣賦值。在返回UNSAT的實(shí)施例中,有兩種選擇。第一種選擇是,推斷沒有這 樣賦值,結(jié)束在該點(diǎn)的檢驗(yàn),并指示信號(hào)不是可控的。第二種選擇是,假若在改進(jìn)的智能QBF 求解器中有錯(cuò)誤(bug),調(diào)用常數(shù)傳播可控性檢驗(yàn).
[0049] 在一實(shí)施例中,改進(jìn)的智能QBF求解器可用于可控性檢驗(yàn)。在示例性實(shí)施中,求解 器輸入文件格式是與CNF的標(biāo)準(zhǔn)DIMACS相似的QDIMACS,除非其它前面有另一量詞。調(diào)用 QBF可控性的新方程被實(shí)施并使用改進(jìn)的智能QBF求解器。在一實(shí)施例中,利用改進(jìn)的智 能QBF-SAT求解器。在示例性實(shí)施中,若給予足夠時(shí)間返回令人滿意的賦值Αν (例如,賦值 給導(dǎo)致導(dǎo)致輸出S的目標(biāo)值V的控制信號(hào)輸入C)或該賦值不能被發(fā)現(xiàn)的證據(jù),求解是完整 的。雖然它可仔細(xì)檢查控制信號(hào)輸入C的所有可能賦值,它智能地使用最近SAT求解技術(shù)以 執(zhí)行能夠使它跳過許多無(wú)用賦值的智能學(xué)習(xí)。在示例性實(shí)施中,改進(jìn)的智能QBF求解器的 賦值結(jié)果可轉(zhuǎn)發(fā)到常數(shù)傳播驗(yàn)證過程,該過程在來自改進(jìn)的智能QBF過程而不是其他可能 性的賦值結(jié)果上進(jìn)行。在一實(shí)施例中,在來自改進(jìn)的智能QBF過程而不是其他可能性的賦 值結(jié)果上進(jìn)行常數(shù)傳播驗(yàn)證過程,與驗(yàn)證所有可能性的傳統(tǒng)常數(shù)傳播嘗試相比更有效。在 一實(shí)施例中,若改進(jìn)的智能QBF可控性檢驗(yàn)未能推斷出輸出信號(hào)是可控的,然后有兩種選 擇。第一種選擇是,推斷沒有這樣賦值,結(jié)束在該點(diǎn)的檢驗(yàn),并指示信號(hào)不是可控的。第二 種選擇包括調(diào)用使用常數(shù)傳播(例如,常數(shù)可控性等)的函數(shù)。
[0050] 可以理解,智能可控性檢驗(yàn)過程可包括各種可控性檢查技術(shù)。在一實(shí)施例中,智能 可控性檢驗(yàn)過程的一部分包括第一檢查技術(shù),且另一部分包括第二檢查技術(shù)。在示例性實(shí) 施中,第一部分可為第一可控性檢驗(yàn),且可利用第二部分驗(yàn)證第一可控性檢驗(yàn)的結(jié)果。關(guān)于 其他或可選擇特征(例如,驗(yàn)證、交替檢驗(yàn)技術(shù)等)的其他信息呈現(xiàn)于以下部分的細(xì)節(jié)描 述。
[0051] 在一實(shí)施例中,智能可控性檢驗(yàn)包括改進(jìn)的智能QBF可控性檢驗(yàn)或檢查技術(shù)。圖 7為本發(fā)明一實(shí)施例中改進(jìn)的智能QBF可控性檢驗(yàn)方法700的流程圖。改進(jìn)的智能QBF可 控性檢驗(yàn)方法700類似于可控性檢驗(yàn)方法100的實(shí)施例,方法100中智能可控性檢驗(yàn)過程 120是改進(jìn)的智能QBF可控性檢驗(yàn)過程。
[0052] 在區(qū)塊710中,接收與所分析定義的控制部件關(guān)聯(lián)的信息。區(qū)塊710是區(qū)塊110 的一實(shí)施例。
[0053] 在區(qū)塊720中,依據(jù)定義所分析控制部件的方程執(zhí)行改進(jìn)的智能QBF可控性檢驗(yàn) 過程。區(qū)塊720是區(qū)塊120的一實(shí)施例。在一實(shí)施例中,改進(jìn)的智能QBF可控性檢驗(yàn)過程 包括改進(jìn)的智能QBF求解和在可控性檢驗(yàn)兼容格式與改進(jìn)的智能QBF兼容格式之間的轉(zhuǎn) 化。在示例性實(shí)施中,利用改進(jìn)的智能QBF可控性檢驗(yàn)系統(tǒng)600執(zhí)行改進(jìn)的QBF可控性檢 驗(yàn)過程720。在一實(shí)施例中,改進(jìn)的智能QBF可控性檢驗(yàn)過程檢驗(yàn)輸出信號(hào)可設(shè)置到1。接 下來,改進(jìn)的智能QBF可控性檢驗(yàn)過程檢驗(yàn),通過將反向器加到輸出信號(hào)S后調(diào)用它,輸出 信號(hào)S可設(shè)置到0。
[0054] 在一實(shí)施例中,改進(jìn)的智能QBF可控性檢驗(yàn)過程包括執(zhí)行正式可控性檢驗(yàn),該正 式可控性檢驗(yàn)檢查是否可避免(例如,不是所有可能性都枚舉)控制信號(hào)輸入(例如C等) 集的一些可能值賦值的枚舉。在示例性實(shí)施中,改進(jìn)的智能QBF可控性檢驗(yàn)避免枚舉控制 信號(hào)輸入集的一些可能值,否則在傳統(tǒng)可控性檢驗(yàn)方法中將發(fā)生這些枚舉(例如,避免枚 舉X傳播可控性檢驗(yàn)不避免的值、避免枚舉常數(shù)傳播可控性檢驗(yàn)不避免的值,等等)。改進(jìn) 的智能QBF可控性檢驗(yàn)可包括利用改進(jìn)的智能QBF求解器。在一實(shí)施例中,改進(jìn)的智能QBF 可控性檢驗(yàn)過程包括正式的可控性檢驗(yàn),該檢驗(yàn)包括廣泛或詳盡地考慮可能值賦值而避免 一些可能性的枚舉。正式的可控性檢驗(yàn)可檢查,證據(jù)是否確定關(guān)于賦值的結(jié)論(例如,證實(shí) 引起輸出目標(biāo)值的輸入值存在、證實(shí)無(wú)此輸入值存在等)。改進(jìn)的智能QBF可控性檢驗(yàn)過 程可使用確定可能結(jié)果的證據(jù),包括:(1)信號(hào)提供可控性的結(jié)論;(2)信號(hào)不提供可控性 的結(jié)論;或(3)無(wú)論如何無(wú)法得到信號(hào)是否提供或不提供可控性的結(jié)論。關(guān)于改進(jìn)的智能 QBF可控性檢驗(yàn)的其他信息呈現(xiàn)于以下部分的詳細(xì)描述。
[0055] 在區(qū)塊750中,返回對(duì)所分析控制部件的可控性分析結(jié)果的指示。區(qū)塊750是區(qū) 塊150的一實(shí)施例。
[0056] 以理解,改進(jìn)的智能QBF可控性檢驗(yàn)的執(zhí)行可具有輸入閾值或范圍。若輸入的數(shù) 目不在閾值范圍內(nèi),不執(zhí)行改進(jìn)的智能QBF可控性檢驗(yàn)。在示例性實(shí)施中,閾值或范圍包括 5-70輸入。在一實(shí)施例中,若輸入的數(shù)目不在閾值或范圍內(nèi),可執(zhí)行改進(jìn)的另外或其他可控 性檢驗(yàn)(例如,常數(shù)傳播可控性檢驗(yàn)、改進(jìn)的智能常數(shù)可控性檢驗(yàn)、X傳播可控性檢驗(yàn)等)。
[0057] 可以理解,智能可控性檢驗(yàn)可包括各種可控性驗(yàn)證技術(shù)。在示例性實(shí)施中,利用一 檢查技術(shù)檢驗(yàn)可控性,利用另一檢查技術(shù)驗(yàn)證結(jié)果。圖8為本發(fā)明一實(shí)施例中可控性檢驗(yàn) 方法800的流程圖。可控性檢驗(yàn)方法800類似于可控性檢驗(yàn)方法100,當(dāng)改進(jìn)的智能QBF可 控性檢驗(yàn)過程導(dǎo)出輸出信號(hào)是可控的結(jié)論,其中包括改進(jìn)的智能QBF可控性檢驗(yàn)過程的結(jié) 果的驗(yàn)證。在返回SAT的實(shí)施例中,可利用賦值以設(shè)置控制信號(hào)輸入C集的值,然后,調(diào)用 常數(shù)傳播可控性驗(yàn)證方法。該方法傳播輸入C常數(shù)并執(zhí)行優(yōu)化,該優(yōu)化降低代表輸出信號(hào) 的方程到常數(shù)1。其用于驗(yàn)證從QBF求解器接收的賦值,無(wú)關(guān)其他輸入,該賦值將輸出信號(hào) 設(shè)置到目標(biāo)值V。在一實(shí)施例中,常數(shù)傳播可控性驗(yàn)證方法類似于常數(shù)傳播可控性檢驗(yàn),除 了重要的常數(shù)傳播可控性驗(yàn)證方法檢驗(yàn)改進(jìn)的智能QBF可控性檢驗(yàn)過程的結(jié)果而不是所 有可能的賦值給控制信號(hào)輸入C集。
[0058] 在區(qū)塊810中,接收與所分析定義的控制部件關(guān)聯(lián)的信息。區(qū)塊810是區(qū)塊110 的一實(shí)施例。
[0059] 區(qū)塊820、830和840包含于區(qū)塊120的實(shí)施例中。
[0060] 在區(qū)塊820中,依據(jù)定義所分析控制部件的方程執(zhí)行改進(jìn)的智能QBF可控性檢驗(yàn) 過程。
[0061] 在區(qū)塊830中,做出的決定是關(guān)于以下哪個(gè)是區(qū)塊820中改進(jìn)的智能QBF可控性 檢驗(yàn)過程:(1)信號(hào)提供可控性的結(jié)論;(2)信號(hào)不提供可控性的結(jié)論;或(3)無(wú)論如何無(wú) 法得到信號(hào)是否提供或不提供可控性的結(jié)論。若改進(jìn)的智能QBF可控性檢驗(yàn)過程結(jié)果包括 (1)信號(hào)提供可控性的結(jié)論,過程繼續(xù)進(jìn)行到區(qū)塊840。若改進(jìn)的智能QBF可控性檢驗(yàn)過程 結(jié)果包括:(2)信號(hào)不提供可控性的結(jié)論;或(3)無(wú)論如何無(wú)法得到信號(hào)是否提供或不提供 可控性的結(jié)論,過程繼續(xù)進(jìn)行到區(qū)塊850。
[0062] 在區(qū)塊840中,依據(jù)指示信號(hào)提供可控性的改進(jìn)的智能QBF可控性檢驗(yàn)的結(jié)果,執(zhí) 行常數(shù)傳播可控性驗(yàn)證過程。在一實(shí)施例中,常數(shù)傳播可控性驗(yàn)證過程驗(yàn)證信號(hào)和值,改進(jìn) 的智能QBF可控性檢驗(yàn)指示的值提供可控性還依據(jù)常數(shù)傳播可控性驗(yàn)證提供可控性。在一 實(shí)施例中,常數(shù)傳播可控性驗(yàn)證過程有效地驗(yàn)證指示信號(hào)提供可控性的改進(jìn)的智能QBF可 控性檢驗(yàn)的結(jié)果,未在不提供可控性的信號(hào)上浪費(fèi)時(shí)間。在示例性實(shí)施中,改進(jìn)的智能QBF 可控性檢驗(yàn)允許快速且有效識(shí)別可控性,同時(shí)常數(shù)傳播可控性驗(yàn)證過程允許結(jié)果是準(zhǔn)確的 保證。
[0063] 可以理解,在許多情況下,改進(jìn)的智能QBF可控性檢驗(yàn)的結(jié)果,與傳統(tǒng)常數(shù)傳播可 控性檢驗(yàn)過程相比,顯著地減少輸入常數(shù)傳播可控性驗(yàn)證過程的枚舉賦值的數(shù)目。在一實(shí) 施例中,與輸入到傳統(tǒng)常數(shù)傳播可控性檢驗(yàn)(例如,1〇、450、所有可能輸入等)的通常數(shù)目 相比,輸入常數(shù)傳播可控性驗(yàn)證過程的枚舉賦值的數(shù)目是非常?。ɡ纾?、2、4、10等)。在 示例性實(shí)施例中,枚舉輸入的小數(shù)目允許常數(shù)傳播可控性驗(yàn)證過程提供其他保證和以非常 小額外代價(jià)(例如,時(shí)間、占用加工資源、電源消耗等)驗(yàn)證的信心。
[0064] 在區(qū)塊850中,返回對(duì)所分析控制部件的可控性分析結(jié)果的指示。區(qū)塊850是區(qū) 塊150的一實(shí)施例。
[0065] 在一實(shí)施例中,智能可控性檢驗(yàn)包括低效運(yùn)行(fall-back)檢驗(yàn)過程。在示例性 實(shí)施中,若利用一檢查技術(shù)而未能提供足夠的結(jié)果,則利用另一低效運(yùn)行檢查技術(shù)提供結(jié) 果。圖9為本發(fā)明一實(shí)施例中可控性檢驗(yàn)方法900的流程圖??煽匦詸z驗(yàn)方法900類似于 可控性檢驗(yàn)方法100,且若第一可控性檢驗(yàn)過程不能得到關(guān)于信號(hào)可控性的結(jié)集結(jié)論,該可 控性檢驗(yàn)方法900包括第二或低效運(yùn)行可控性檢驗(yàn)。
[0066] 在區(qū)塊910中,接收與所分析的控制部件定義相關(guān)的信息。區(qū)塊910是區(qū)塊110 的一實(shí)施例。
[0067] 區(qū)塊920、930和945包含于區(qū)塊120的實(shí)施例中。
[0068] 在區(qū)塊920中,依據(jù)定義所分析控制部件的方程執(zhí)行第一可控性檢驗(yàn)過程。在一 實(shí)施例中,第一可控性檢驗(yàn)過程被認(rèn)為是第一層次。在示例性實(shí)施中,第一可控性檢驗(yàn)過程 與第二可控性檢驗(yàn)過程相比更快(例如,得到結(jié)果需要更少時(shí)間,可在有限時(shí)間閾值內(nèi)得 到結(jié)論,等等)。
[0069] 在區(qū)塊930中,做出的決定是關(guān)于以下哪個(gè)是區(qū)塊920中第一可控性檢驗(yàn)過程: (1)信號(hào)提供可控性的結(jié)論;(2)信號(hào)不提供可控性的結(jié)論;或(3)無(wú)論如何無(wú)法得到信號(hào) 是否提供或不提供可控性的結(jié)論。若第一可控性檢驗(yàn)過程結(jié)果包括:(1)信號(hào)提供可控性 的結(jié)論;或(2)信號(hào)不提供可控性的結(jié)論,過程繼續(xù)進(jìn)行到區(qū)塊950。若第一可控性檢驗(yàn)過 程結(jié)果是(3)無(wú)論如何無(wú)法得到信號(hào)是否提供或不提供可控性的結(jié)論,過程繼續(xù)進(jìn)行到區(qū) 塊945。在一實(shí)施例中,若存在放棄第一可控性檢驗(yàn)過程的指示,可執(zhí)行第二可控性檢驗(yàn)過 程。
[0070] 在示例性實(shí)施中,第一可控性檢驗(yàn)過程具有限制約束的預(yù)定時(shí)間。若在完成區(qū)塊 930之前限制約束的時(shí)間到期或超過,過程可繼續(xù)進(jìn)行到區(qū)塊940。
[0071] 在區(qū)塊945中,其可控性檢驗(yàn)無(wú)論如何無(wú)法得到信號(hào)是否提供或不提供可控性的 結(jié)論。在一實(shí)施例中,第二可控性檢驗(yàn)過程被認(rèn)為是第二層次。在示例性實(shí)施中,第二可控 性檢驗(yàn)過程與第一可控性檢驗(yàn)過程相比更慢(例如,得到結(jié)果需要更多時(shí)間,可在更大時(shí) 間閾值內(nèi)得到結(jié)論,等等)??梢岳斫?,第一可控性檢驗(yàn)過程和第二可控性檢驗(yàn)過程可以是 不同的。
[0072] 在區(qū)塊950中,返回對(duì)所分析控制部件的可控性分析結(jié)果的指示。區(qū)塊950是區(qū) 塊150的一實(shí)施例。
[0073] 在示例性實(shí)施中,具有第二可控性檢驗(yàn)提供"安全"或低效運(yùn)行檢驗(yàn)。若第二可控 性檢驗(yàn)不能得到信號(hào)是可控的結(jié)論或信號(hào)是不可控的結(jié)論,第二可控性檢驗(yàn)可提供低效運(yùn) 行檢驗(yàn)。
[0074] 圖10為本發(fā)明一實(shí)施例中可控性檢驗(yàn)方法1000的流程圖。可控性檢驗(yàn)方法1000 類似于可控性檢驗(yàn)方法100,若改進(jìn)的智能QBF可控性檢驗(yàn)過程不能得到信號(hào)是可控的結(jié) 論或信號(hào)是不可控的結(jié)論,包括可控性傳播可控性檢驗(yàn)過程。在一實(shí)施例中,可控性檢驗(yàn)方 法1000類似于可控性檢驗(yàn)方法900,可控性檢驗(yàn)方法900中第一層次是改進(jìn)的智能QBF可 控性檢驗(yàn)過程,第二層次是常數(shù)傳播可控性檢驗(yàn)。在示例性實(shí)施中,若放棄第一層次改進(jìn)的 智能QBF可控性檢驗(yàn)過程,執(zhí)行常數(shù)傳播可控性檢驗(yàn)。
[0075] 在區(qū)塊1010中,接收與所分析定義的控制部件關(guān)聯(lián)的信息。區(qū)塊1010是區(qū)塊110 的一實(shí)施例。
[0076] 區(qū)塊1020、1030和1045包含于區(qū)塊120的實(shí)施例中。
[0077] 在區(qū)塊1020中,依據(jù)定義所分析控制部件的方程執(zhí)行改進(jìn)的智能QBF可控性檢驗(yàn) 過程。在一實(shí)施例中,改進(jìn)的智能QBF可控性檢驗(yàn)過程包括改進(jìn)的智能QBF求解和在可控 性檢驗(yàn)兼容格式與改進(jìn)的智能QBF兼容格式之間的轉(zhuǎn)化。在示例性實(shí)施中,利用改進(jìn)的智 能QBF可控性檢驗(yàn)系統(tǒng)600執(zhí)行改進(jìn)的QBF可控性檢驗(yàn)過程1020。
[0078] 在區(qū)塊1030中,做出的決定是關(guān)于以下哪個(gè)是區(qū)塊1020中改進(jìn)的智能QBF可控 性檢驗(yàn)過程:(1)信號(hào)提供可控性的結(jié)論;(2)信號(hào)不提供可控性的結(jié)論;或(3)無(wú)論如何 無(wú)法得到信號(hào)是否提供或不提供可控性的結(jié)論。若改進(jìn)的智能QBF可控性檢驗(yàn)過程結(jié)果 包括:(1)信號(hào)提供可控性的結(jié)論;或(2)信號(hào)不提供可控性的結(jié)論,過程繼續(xù)進(jìn)行到區(qū)塊 1050。若改進(jìn)的智能QBF可控性檢驗(yàn)過程結(jié)果是(3)無(wú)論如何無(wú)法得到信號(hào)是否提供或不 提供可控性的結(jié)論,過程繼續(xù)進(jìn)行到區(qū)塊1045。
[0079] 在區(qū)塊1045中,執(zhí)行常數(shù)傳播可控性檢驗(yàn)過程。在一實(shí)施例中,常數(shù)傳播可控性 檢驗(yàn)過程執(zhí)行對(duì)所有信號(hào)的可控性檢驗(yàn)。即使當(dāng)改進(jìn)的智能QBF可控性檢驗(yàn)不能得到信 號(hào)是可控的或不是可控的結(jié)論時(shí),常數(shù)傳播可控性檢驗(yàn)過程還執(zhí)行對(duì)所有信號(hào)的可控性檢 驗(yàn),即使當(dāng)改進(jìn)的智能QBF可控性檢驗(yàn)得到信號(hào)是可控的結(jié)論或得到信號(hào)不是可控的結(jié)論 而不執(zhí)行常數(shù)傳播可控性檢驗(yàn),可控性檢驗(yàn)控性檢驗(yàn)方法1〇〇〇通常仍然比傳統(tǒng)方法更有 效。當(dāng)QBF可控性檢驗(yàn)得到信號(hào)是可控的結(jié)論時(shí),由此產(chǎn)生效率的節(jié)省通常比執(zhí)行常數(shù)傳 播可控性檢驗(yàn)過程的幾次機(jī)會(huì)有價(jià)值。在示例性實(shí)施中,若改進(jìn)的智能QBF可控性檢驗(yàn)不 是令人信服的,具有常數(shù)傳播可控性檢驗(yàn)提供替代性的檢驗(yàn)。
[0080] 區(qū)塊1050中,返回對(duì)所分析控制部件的可控性分析結(jié)果的指示。區(qū)塊1050是區(qū) 塊150的一實(shí)施例。
[0081] 圖11為本發(fā)明一實(shí)施例中可控性檢驗(yàn)方法1100的流程圖??煽匦詸z驗(yàn)方法1100 類似于包括改進(jìn)的常數(shù)傳播可控性檢驗(yàn)過程和改進(jìn)的智能QBF可控性檢驗(yàn)過程的可控性 檢驗(yàn)方法100,其中,若改進(jìn)的智能QBF可控性檢驗(yàn)過程得到信號(hào)不提供可控性的結(jié)論、或 無(wú)論如何無(wú)法得到信號(hào)是否提供或不提供可控性的結(jié)論,執(zhí)行改進(jìn)的智能QBF可控性檢驗(yàn) 過程。在一實(shí)施例中,可控性檢驗(yàn)方法1100類似于可控性檢驗(yàn)方法900,可控性檢驗(yàn)方法 900中第一層次是改進(jìn)的常數(shù)傳播可控性檢驗(yàn)過程,第二層次是改進(jìn)的智能QBF可控性檢 驗(yàn)。
[0082] 在區(qū)塊1110中,接收與所分析定義的控制部件關(guān)聯(lián)的信息。區(qū)塊1110是區(qū)塊110 的一實(shí)施例。
[0083] 區(qū)塊1120、1130和1145包含于區(qū)塊120的實(shí)施例中。
[0084] 在區(qū)塊1120中,依據(jù)定義所分析控制部件的方程執(zhí)行改進(jìn)的常數(shù)傳播可控性檢 驗(yàn)過程。在一實(shí)施例中,和改進(jìn)的常數(shù)傳播可控性檢驗(yàn)過程,對(duì)少于控制信號(hào)輸入C的所有 可能賦值執(zhí)行常數(shù)傳播可控性檢驗(yàn)。在示例性實(shí)施中,以所有可能賦值的子集執(zhí)行常數(shù)傳 播可控性檢驗(yàn)??梢岳斫猓蛹删哂卸鄠€(gè)值或配置。賦值的子集可為被強(qiáng)加于輸入的特 殊陣列(例如,〇〇〇、〇〇1、1〇1、111等等)。子集可以是從所有可能賦值的集中選擇有限數(shù)目 的隨機(jī)值。
[0085] 在區(qū)塊1130中,做出的決定是關(guān)于以下哪個(gè)是區(qū)塊1120中改進(jìn)的常數(shù)傳播可控 性檢驗(yàn)過程:(1)信號(hào)提供可控性的結(jié)論;(2)信號(hào)不提供可控性的結(jié)論;或(3)無(wú)論如何 無(wú)法得到信號(hào)是否提供或不提供可控性的結(jié)論。若改進(jìn)的常數(shù)傳播可控性檢驗(yàn)過程結(jié)果 包括:(1)信號(hào)提供可控性的結(jié)論;或(2)信號(hào)不提供可控性的結(jié)論,過程繼續(xù)進(jìn)行到區(qū)塊 1150。若改進(jìn)的常數(shù)傳播可控性檢驗(yàn)過程結(jié)果包括(3)無(wú)論如何無(wú)法得到信號(hào)是否提供或 不提供可控性的結(jié)論,過程繼續(xù)進(jìn)行到區(qū)塊1145。
[0086] 在區(qū)塊1145中,執(zhí)行改進(jìn)的智能QBF可控性檢驗(yàn)過程。在一實(shí)施例中,改進(jìn)的智 能QBF檢驗(yàn)過程類似于區(qū)塊820。還可以理解,決定(圖未示)可包括在與區(qū)塊830的決定 類似的過程1100中。
[0087] 在區(qū)塊1150中,返回對(duì)所分析控制部件的可控性分析結(jié)果的指示。區(qū)塊1150是 區(qū)塊150的一實(shí)施例。
[0088] 雖然沒有顯示,可以解理解,可具有多個(gè)兩個(gè)層次的可控性檢驗(yàn)。在一實(shí)施例中, 在和改進(jìn)的智能QBF可控性檢驗(yàn)過程1145后可增加與常數(shù)可控性檢驗(yàn)過程1045類似的另 一常數(shù)可控性檢驗(yàn)過程,以取得和改進(jìn)的智能QBF可控性檢驗(yàn)過程1145的不確定性的結(jié) 果??梢岳斫?,可執(zhí)行各種配置或選擇。在一實(shí)施例中,智能可控性檢驗(yàn)包括驗(yàn)證過程和低 效運(yùn)行(fall-back)檢驗(yàn)過程。
[0089] 圖12為本發(fā)明一實(shí)施例中可控性檢驗(yàn)方法1200的流程圖。圖12為依據(jù)本發(fā)明 一實(shí)施例中可控性檢驗(yàn)方法的流程圖,當(dāng)改進(jìn)的智能QBF可控性檢驗(yàn)過程得出信號(hào)是可控 的結(jié)論時(shí),可控性檢驗(yàn)方法1200類似于執(zhí)行改進(jìn)的智能QBF可控性檢驗(yàn)過程的結(jié)果驗(yàn)證 的可控性檢驗(yàn)方法100,若改進(jìn)的智能QBF可控性檢驗(yàn)過程得出信號(hào)不提供可控性的結(jié)論, 或不能得到結(jié)論的一種方式或若信號(hào)提供或不提供可控性的其他方式,執(zhí)行常數(shù)傳播可控 性檢驗(yàn)過程。在示例性實(shí)施中,改進(jìn)的智能QBF可控性檢驗(yàn)方面(例如,QBF試探法(QBF heuristics)、對(duì)特定應(yīng)用的特定QBF算法的適用性、從網(wǎng)表到QBF格式的轉(zhuǎn)化,等等)引起 執(zhí)行改進(jìn)的智能QBF可控性檢驗(yàn)的驗(yàn)證的愿望。
[0090] 在區(qū)塊1210中,接收與所分析定義的控制部件關(guān)聯(lián)的信息。區(qū)塊1210是區(qū)塊110 的一實(shí)施例。
[0091] 區(qū)塊1220、1230、1240和1245包含于區(qū)塊120的實(shí)施例中。
[0092] 在區(qū)塊1220中,依據(jù)定義所分析控制部件的方程執(zhí)行改進(jìn)的智能QBF可控性檢驗(yàn) 過程。在一實(shí)施例中,改進(jìn)的智能QBF可控性檢驗(yàn)過程包括改進(jìn)的智能QBF求解和在可控 性檢驗(yàn)兼容格式與改進(jìn)的智能QBF兼容格式之間的轉(zhuǎn)化。在示例性實(shí)施中,利用智能QBF 可控性檢驗(yàn)系統(tǒng)600執(zhí)行改進(jìn)的智能QBF可控性檢驗(yàn)過程1220。
[0093] 在區(qū)塊1230中,做出的決定是關(guān)于以下哪個(gè)是區(qū)塊1220中改進(jìn)的智能QBF可控 性檢驗(yàn)過程:(1)信號(hào)提供可控性的結(jié)論;(2)信號(hào)不提供可控性的結(jié)論;或(3)無(wú)論如何 無(wú)法得到信號(hào)是否提供或不提供可控性的結(jié)論。若改進(jìn)的智能QBF可控性檢驗(yàn)過程結(jié)果包 括(1)信號(hào)提供可控性的結(jié)論,過程繼續(xù)進(jìn)行到區(qū)塊1240。若改進(jìn)的智能QBF可控性檢驗(yàn) 過程結(jié)果包括(2)信號(hào)不提供可控性的結(jié)論,或(2)無(wú)論如何無(wú)法得到信號(hào)是否提供或不 提供可控性的結(jié)論,過程繼續(xù)進(jìn)行到區(qū)塊1245。
[0094] 在區(qū)塊1240中,依據(jù)指示信號(hào)提供可控性的改進(jìn)的智能QBF可控性檢驗(yàn)的結(jié)果, 執(zhí)行常數(shù)傳播可控性驗(yàn)證過程。在一實(shí)施例中,區(qū)塊1240的常數(shù)傳播可控性驗(yàn)證過程類似 于區(qū)塊840的常數(shù)傳播可控性驗(yàn)證過程。
[0095] 在區(qū)塊1245中,執(zhí)行常數(shù)傳播可控性檢驗(yàn)過程。在一實(shí)施例中,區(qū)塊1245的常數(shù) 傳播可控性檢驗(yàn)過程類似于區(qū)塊1045的常數(shù)傳播可控性檢驗(yàn)過程。
[0096] 在區(qū)塊1250中,返回對(duì)所分析控制部件的可控性分析結(jié)果的指示。區(qū)塊1250是 區(qū)塊150的一實(shí)施例。
[0097] 可以理解,通過所提供的多層次檢驗(yàn),可實(shí)現(xiàn)比傳統(tǒng)方法提供的效率。在一實(shí)施例 中,通過關(guān)于在第一層次控制檢驗(yàn)可控性的相對(duì)快速的結(jié)論得出的在時(shí)間和資源占用上的 節(jié)省,通常比直到執(zhí)行控制檢驗(yàn)的第二層次分析才得到結(jié)論的示例中時(shí)間和資源占用更重 要。在示例性實(shí)施中,在第一層次的改進(jìn)的智能QBF可控性檢驗(yàn)得到關(guān)于未枚舉控制信號(hào) 輸入C的所有可能賦值的可控性的結(jié)論,通常比枚舉并用于得到可控性結(jié)論的控制信號(hào)輸 入的所有可能賦值的第二層次常數(shù)傳播檢驗(yàn)的示例重要。
[0098] 可以理解,可執(zhí)行各種不同改進(jìn)的智能QBF可控性檢驗(yàn)過程。不同改進(jìn)的智能QBF 可控性檢驗(yàn)過程可包括不同試探或針對(duì)不同問題。在一實(shí)施例中,第一改進(jìn)的智能QBF可 控性檢驗(yàn)過程指向或轉(zhuǎn)向第一問題或應(yīng)用(例如,硬件驗(yàn)證問題、CAD特定問題等等),第二 改進(jìn)的智能QBF可按性檢驗(yàn)過程指向或轉(zhuǎn)向第二問題(例如,一般問題、人工智能問題、隨 機(jī)問題等等)。在一實(shí)施例中,常數(shù)傳播可控性驗(yàn)證過程和常數(shù)傳播可控性檢驗(yàn)過程的利用 可基于特定QBF可控性檢驗(yàn)過程的準(zhǔn)確性和適用性的信任或信心水平。
[0099] 在一實(shí)施例中,檢測(cè)和檢驗(yàn)包括幾十個(gè)到一千多個(gè)包含于可控性檢驗(yàn)中的信號(hào)。 這些信號(hào)中每個(gè)的檢驗(yàn)可為獨(dú)立的。因而,檢測(cè)或檢驗(yàn)可并行。在示例性實(shí)施中,為比較老 方法和新方法可運(yùn)行在單個(gè)機(jī)器上。并行的結(jié)果可快得多。
[0100] 若結(jié)論是UNSAT(例如,現(xiàn)有技術(shù)包括為沖突和任務(wù)重建編碼先成、通過后根 (post-root)DFS構(gòu)建分辨率基證明)才驗(yàn)證的傳統(tǒng)方法不同;所呈現(xiàn)的智能可控性檢驗(yàn)方 法(例如,方法100、700、800和系統(tǒng)200等)可驗(yàn)證信號(hào)是可控(例如SAT等)的結(jié)論,還 可驗(yàn)證信號(hào)不是可控的(例如UNSAT等)結(jié)論。在示例性實(shí)施中,通過求解器利用不僅僅 是傳遞失敗來驗(yàn)證求解器。在一實(shí)施例中,求解器提供其發(fā)現(xiàn)的賦值給最外層存在的變量。 大部分的DPLL求解器保留該賦值,因此它是可供利用的。在一實(shí)施例中,所呈現(xiàn)的可控性 檢驗(yàn)不需要任何重要編碼的信號(hào),從而節(jié)省存儲(chǔ)器并加速運(yùn)行時(shí)間。在示例性實(shí)施中,通過 非??旌陀行У某?shù)傳播和優(yōu)化過程加工證據(jù)。
[0101] 常數(shù)傳播檢驗(yàn)過程可包括賦值可控性檢驗(yàn)的隨機(jī)方法,改進(jìn)的智能QBF可控性檢 驗(yàn)(例如,智能地避免一些可能值的枚舉等)的優(yōu)點(diǎn)是,在枚舉較多值和隨機(jī)檢驗(yàn)賦值的各 種常數(shù)傳播方法上通常更有效。在一實(shí)施例中,在模塊輸入的數(shù)目可有上限或閾值(例如, 高達(dá)242、265等),其中超過常數(shù)傳播檢驗(yàn)過程的改進(jìn)的智能QBF可控性檢驗(yàn)過程的效率 減小。賦值的常數(shù)傳播檢驗(yàn)過程的隨機(jī)方法有隨機(jī)得到可控性結(jié)論的機(jī)會(huì),且當(dāng)模塊輸入 的數(shù)目超過上限或閾值時(shí),與改進(jìn)的智能QBF可控性檢驗(yàn)相比可為有效的。在示例性實(shí)施 中,當(dāng)輸入的數(shù)目是為或低于閾值時(shí),利用改進(jìn)的智能QBF可控性檢驗(yàn)過程,當(dāng)輸入的數(shù)目 高于閾值時(shí),利用常數(shù)傳播檢驗(yàn)過程。
[0102] 在一實(shí)施例中,有與所呈現(xiàn)的改進(jìn)智能QBF可控性檢驗(yàn)方法關(guān)聯(lián)的兩個(gè)行為。第 一行為是利用改進(jìn)的智能QBF-SAT求解器。在示例性實(shí)施中,可通過其使用的獨(dú)特的輸入 文件識(shí)別改進(jìn)的智能QBF-SAT求解器的使用。與使用dimacs格式的標(biāo)準(zhǔn)SAT求解器不同, 改進(jìn)的智能QBF-SAT求解器使用具有在文件頂部的獨(dú)特?cái)?shù)據(jù)區(qū)的Qdimacs。第二行為是對(duì) QBF-SAT求解器所做的獨(dú)特的改進(jìn)。改進(jìn)提升求解器以返回其所發(fā)現(xiàn)賦值的相關(guān)部分。多 數(shù)QBF求解器不返回全部的賦值,因?yàn)檫@是不切實(shí)際的。僅返回該創(chuàng)新所需的部分是所呈 現(xiàn)的改進(jìn)的智能QBF可控性檢驗(yàn)方法的特點(diǎn)。
[0103] 在示例性實(shí)施中,通過選擇簡(jiǎn)單的參數(shù)基準(zhǔn)證明本智能可控性檢驗(yàn)方法的優(yōu)點(diǎn), Bbench (η)中的η定義復(fù)雜性并從1到14變化。選擇具有與一所討論相似的AND門(具有 輸入和其否定(negation))的基準(zhǔn)。從而,X傳播不能求解它。此外,基準(zhǔn)的選擇要經(jīng)歷越 來越多的組合,這樣常數(shù)評(píng)估將花費(fèi)越來越多的時(shí)間。最終,許多X0R門用于挑戰(zhàn)SAT求解 器一點(diǎn)點(diǎn)。
[0104] 以下是Bench (1)的示例性表達(dá)或定義:
[0105] Inputs :inl, in2. . . inlO, cl, c2, c3.
[0106] Outputs :kl_0, kl_l, si
[0107] Kl_0=!c2
[0108] Kll=cl & c3
[0109] Sl=(kl_l | (inl'in2'. . . inl0'c3)) & kl_0 | (ini & ! ini)
[0110] 以下是Bench (i+1)的示例性表達(dá)或定義:
[0111] Inputs :inl, in2. . . inlO, cl, c2, c3, . . c {i*2}, c {i*2+l}.
[0112] Outputs :kl_0, kl_l, si
[0113] Ki_0=!c2 & !c4 & · · · & !c{i*2}
[0114] Ki_l=cl & c3 & · · · & c{i*2+l}
[0115] Si = (ki_l | (inl'in2'. . . inl0'c3'. . . 'c {i*2+l})) & ki_0 | (ini & ! ini)
[0116] 可分析和比較不同運(yùn)行時(shí)間對(duì)復(fù)雜性的結(jié)果。該分析和比較可顯示,盡管以上概 述的條件下,雖然常數(shù)傳播方法指數(shù)增加,所提出的改進(jìn)的智能QBF方法運(yùn)行時(shí)間線性增 力口。在一實(shí)施例中,結(jié)果顯示,雖然基準(zhǔn)的復(fù)雜性依據(jù)η增加,運(yùn)行時(shí)間線性增加。該線性 增加無(wú)關(guān)所需檢驗(yàn)的組合的數(shù)目的指數(shù)增加。
[0117] 可以理解,所提出的改進(jìn)的智能QBF可控性檢驗(yàn)系統(tǒng)和方法可包括于各種環(huán)境 中。雖然經(jīng)常從電源可控性和管理角度討論所提出的改進(jìn)的智能QBF可控性檢驗(yàn)系統(tǒng)和方 法的描述,可以理解,所提供的改進(jìn)的智能QBF可控性檢驗(yàn)可用于各種可控性檢驗(yàn)(例如, 通信、加工)。在一實(shí)施例中,電源可控性和管理可用于制造或生產(chǎn)環(huán)境(例如,用于地板清 掃、用于測(cè)試等)。
[0118] 因此,所提出的方法有利于有效的可控性檢驗(yàn)。傳統(tǒng)方法經(jīng)常嘗試所分析部件輸 入的所有可能布爾賦值的檢驗(yàn)或分析,可導(dǎo)致運(yùn)行時(shí)間過大(例如,為幾天級(jí))。在一實(shí)施 例中,所提出的改進(jìn)的智能QBF可控性檢驗(yàn)方法描述新算法,該算法是基于跳過許多無(wú)用 賦值的改進(jìn)的QBF-SAT求解器。所提出的改進(jìn)的智能QBF可控性檢驗(yàn)方法運(yùn)行時(shí)間可為傳 統(tǒng)常數(shù)俾方法時(shí)間的一部分(幾分鐘級(jí))。所提出的方法可有利于電源門控制模塊的有效 可控性檢驗(yàn)。
[0119] 圖14所示為計(jì)算機(jī)系統(tǒng)1400的方框圖,本發(fā)明的實(shí)施例可在一計(jì)算機(jī)系統(tǒng)的實(shí) 施例上完成。計(jì)算機(jī)系統(tǒng)1400包括中央處理器單元1401、主存儲(chǔ)器1402 (例如,隨機(jī)存取 存儲(chǔ)器等)、具有北橋1421和南橋1425的芯片集1420、可刪除數(shù)據(jù)存儲(chǔ)裝置1404、輸入裝 置1407、信號(hào)通信端口 1408和與顯示器1470耦接的圖像子系統(tǒng)1450。計(jì)算機(jī)系統(tǒng)1440 包括與計(jì)算機(jī)系統(tǒng)1400的元件通信耦合的幾個(gè)總線。通信總線1491 (例如前側(cè)總線)將 芯片1420的北橋1421耦接于中央處理器單元1401。通信總線1492(例如主存儲(chǔ)器總線) 將芯片1420的北橋1421耦接于主存儲(chǔ)器1402。通信總線1493(例如高級(jí)圖像端子接口) 將芯片1420的北橋909耦接于圖像子系統(tǒng)1450。通信總線1494至1497(例如,PCI總線) 將芯片集1420的南橋1425分別耦接于可刪除數(shù)據(jù)存儲(chǔ)裝置1404、輸入裝置1407、信號(hào)通 信端口 1408。圖像子系統(tǒng)1450包括圖像處理器1455、存在管理單元1455和圖形緩沖器 1459。
[0120] 計(jì)算機(jī)系統(tǒng)1400的部件共同操作以執(zhí)行各種處理任務(wù)和有利于存儲(chǔ)器訪問。通 信總線1491、1492、1493、1494、1495和1497通信信息。中央處理器1401處理信息。主存 儲(chǔ)器1402存儲(chǔ)中央處理器1401的信息和指令??蓜h除信息存儲(chǔ)裝置1404也存儲(chǔ)信息和 指令(例如,起大量信息庫(kù)的作用)。輸入裝置1407提供輸入信息和/或在顯示器1470上 指點(diǎn)或高亮顯示信息的機(jī)械裝置。信號(hào)通信端口 1408提供對(duì)外部裝置的通信接口(例如, 與網(wǎng)絡(luò)的接口)。顯示裝置1470顯示與存儲(chǔ)于幀緩沖器1459的數(shù)據(jù)一致的信息。圖像處 理器1451處理來自中央處理器1401的圖像指令,并將所得數(shù)據(jù)提供給由顯示監(jiān)視器1470 存儲(chǔ)和取回的圖形緩沖器1459。存儲(chǔ)管理單元1455操縱圖形處理器1451和圖形緩沖器 1459之間的存儲(chǔ)器訪問請(qǐng)求??梢岳斫猓蓪?shí)施類似的存儲(chǔ)管理單元,以利于對(duì)計(jì)算機(jī)系 統(tǒng)1400的其他存儲(chǔ)部件有效且獨(dú)立的訪問請(qǐng)求,其他存儲(chǔ)部件包括主存儲(chǔ)器1402和批量 數(shù)據(jù)存儲(chǔ)1404。
[0121] 可以理解,可以各種實(shí)施例實(shí)施本發(fā)明。在示例性實(shí)施中,本發(fā)明可用于被用以提 供包括視頻游戲的各種圖形應(yīng)用的處理系統(tǒng)的可控性檢驗(yàn)。例如,本發(fā)明可用于游戲機(jī)、個(gè) 人電腦、個(gè)人數(shù)字助理、手機(jī)或用以實(shí)施視頻游戲的任何數(shù)目平臺(tái)的可控性檢驗(yàn)。還可以理 解,對(duì)視頻游戲應(yīng)用實(shí)施的參考是示例性的,本發(fā)明不限于這些實(shí)施。
[0122] 依據(jù)方法提出并討論部分詳細(xì)的描述。即使本文以附圖揭示和描述該方法操作的 步驟和順序,該步驟和順序是示例性的。實(shí)施例非常適于執(zhí)行本文的流程圖所述的各種其 他步驟或步驟的變化,而不是以本文所解釋和描述的順序。
[0123] 依據(jù)可在計(jì)算機(jī)存儲(chǔ)器中執(zhí)行的數(shù)據(jù)位操作的程序、步驟、邏輯區(qū)塊、過程和其他 符號(hào)表征提出部分的詳細(xì)描述。這些描述和表征是數(shù)據(jù)處理界的普通技術(shù)人員通常用到的 手段,用以有效地將工作的本質(zhì)傳遞給本領(lǐng)域的其他技術(shù)人員。此處的程序、計(jì)算機(jī)執(zhí)行步 驟、邏輯塊、步驟等通常被認(rèn)為是步驟的自洽序列或?qū)е滤谕Y(jié)果的指令。步驟包括物理 量的物理操作。通常,雖然不是必然的,這些物理量是以電、磁、光、量子信號(hào)的形式而能夠 在計(jì)算機(jī)系統(tǒng)中被存儲(chǔ)、轉(zhuǎn)化、復(fù)合、比較或其他操縱。這有時(shí)證明是方便的,主要是因?yàn)橥?用的原因,將這些信號(hào)稱為比特、值、元素、符號(hào)、字符、術(shù)語(yǔ)、數(shù)字等。
[0124] 然而,應(yīng)該牢記的是,所有這些或類似的術(shù)語(yǔ)與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián),并且僅僅是 應(yīng)用于這些量的方便標(biāo)記。除非特別聲明,否則從以下論述明顯看出,可以理解通篇利用諸 如"處理"、"計(jì)算","運(yùn)算"、"確定"、"顯示"、"訪問"、"寫"、"包括"、"存儲(chǔ)"、"發(fā)送"、"轉(zhuǎn)化"、 "關(guān)聯(lián)"、"識(shí)別"等的討論,是指計(jì)算機(jī)系統(tǒng)的動(dòng)作和過程、或類似的電子計(jì)算設(shè)備,其操縱 和變換以計(jì)算機(jī)系統(tǒng)的寄存器和存儲(chǔ)器中物理(電子)量代表的數(shù)據(jù),以成為以計(jì)算機(jī)系 統(tǒng)的存儲(chǔ)器或寄存器中物理量所代表的其他數(shù)據(jù),或其他這樣的信息存儲(chǔ)、傳輸或顯示設(shè) 備。
[0125] 這些實(shí)施例可描述在計(jì)算機(jī)可讀指示的通常環(huán)境中,由一個(gè)或多個(gè)計(jì)算機(jī)或其他 設(shè)備執(zhí)行。一般而言,程序模塊包括例程、程序、對(duì)象、部件、數(shù)據(jù)結(jié)構(gòu)等,它們執(zhí)行特定的任 務(wù)或?qū)嵤┨囟ǖ某橄髷?shù)據(jù)類型。通常,程序模塊的功能在各種實(shí)施例按所期望的組合或分 布。
[0126] 本發(fā)明具體實(shí)施例的前述描述意在于描述和說明。不希望用其窮盡或?qū)l(fā)明限制 于上述明確的形式,許多改進(jìn)和變化可能明顯落入本發(fā)明的教示范圍。選擇和描述實(shí)施例 是為了更好地解釋發(fā)明和其實(shí)際應(yīng)用的原理,從而使本領(lǐng)域的普通技術(shù)人員能夠利用本發(fā) 明及其各種實(shí)施例的適于所期望特定用途的各種改進(jìn)。希望本發(fā)明的范圍由所附權(quán)利要求 書及其等效物來限定。
【權(quán)利要求】
1. 一種可控性檢驗(yàn)方法,包括: 接收與所分析的控制部件的定義關(guān)聯(lián)的信息,所述信息包括定義該所分析的控制部件 的方程; 基于所接收的信息,執(zhí)行智能可控性檢驗(yàn)過程,包括執(zhí)行正式的可控性檢驗(yàn)檢查是否 可避免對(duì)控制信號(hào)輸入集的一些可能值的枚舉;以及 返回對(duì)該所分析控制部件的可控性分析結(jié)果的指示。
2. 如權(quán)利要求1所述的可控性檢驗(yàn)方法,其中智能可控性過程包括: 執(zhí)行初始化過程,包括將可控性環(huán)境格式的值轉(zhuǎn)化為求解器環(huán)境格式的值; 執(zhí)行改進(jìn)的智能QBF求解;以及 返回該求解的結(jié)果。
3. 如權(quán)利要求2所述的可控性檢驗(yàn)方法,其中智能可控性過程包括: 在每個(gè)求解器環(huán)境格式值和相應(yīng)的所分析控制部件的界面值之間建立映射;以及 維持該映射的列表。
4. 如權(quán)利要求2所述的可控性檢驗(yàn)方法,其中該QBF求解的結(jié)果包括三個(gè)可能值之 ABORT意味著該求解器運(yùn)行時(shí)間超出最大時(shí)間限制; UNSAT意味著該求解器發(fā)現(xiàn)沒有這樣的賦值;以及 SAT意味著求解器發(fā)現(xiàn)賦值。
5. 如權(quán)利要求2所述的可控性檢驗(yàn)方法,其中智能可控性檢驗(yàn)過程尋找C集的賦值A(chǔ), 其具有以下特性: 將A應(yīng)用于C導(dǎo)致定義所分析的控制部件的方程的輸出是與其他輸入值無(wú)關(guān)的目標(biāo) 值;以及 若存在這樣的值,則提供該值用于以上的A,否則,則證明這樣的A不存在。
6. 如權(quán)利要求1所述的可控性檢驗(yàn)方法,其中智能可控性過程包括: 執(zhí)行第一可控性檢驗(yàn)技術(shù),其中該第一可控性檢驗(yàn)技術(shù)具有預(yù)定的時(shí)間限制約束;以 及 若第一可控性檢驗(yàn)技術(shù)的結(jié)果無(wú)論如何無(wú)法得到信號(hào)是否提供或不提供可控性的結(jié) 論,則執(zhí)行第二可控性檢驗(yàn)技術(shù)。
7. 如權(quán)利要求1所述的可控性檢驗(yàn)方法,其中該智能可控性過程包括該結(jié)果的驗(yàn)證。
8. -種智能可控性檢驗(yàn)系統(tǒng),包括: 所分析的控制部件; 智能可控性檢驗(yàn)部件,該部件可操作為對(duì)該所分析的控制部件執(zhí)行智能可控性檢驗(yàn), 包括執(zhí)行正式的可控性檢驗(yàn),該檢驗(yàn)檢查是否可避免對(duì)控制信號(hào)輸入集的一些可能值的枚 舉。
9. 如權(quán)利要求8所述的智能可控性檢驗(yàn)系統(tǒng),其中該所分析的控制部件包括于非常大 的硬件設(shè)計(jì)。
10. 如權(quán)利要求8所述的智能可控性檢驗(yàn)系統(tǒng),其中利用改進(jìn)的智能QBF過程確立對(duì)控 制信號(hào)輸入的智能枚舉的賦值。
11. 如權(quán)利要求8所述的智能可控性檢驗(yàn)系統(tǒng),其中該智能可控性檢驗(yàn)部件檢查,當(dāng)應(yīng) 用于定義所分析的控制部件的方程時(shí),對(duì)控制信號(hào)輸入的賦值是否產(chǎn)生具有與其它輸入的 值無(wú)關(guān)的目標(biāo)值的輸出。
12. 如權(quán)利要求8所述的智能可控性檢驗(yàn)系統(tǒng),其中該智能可控性檢驗(yàn)部件包括轉(zhuǎn)化 部件,該部件可操作為在每個(gè)求解器環(huán)境格式值和相應(yīng)的所分析的控制部件的界面值之間 建立映射以及維持該映射的列表。
13. 如權(quán)利要求8所述的智能可控性檢驗(yàn)系統(tǒng),其中該智能可控性檢驗(yàn)部件包括可控 性環(huán)境/QBF環(huán)境轉(zhuǎn)化部件,該部件可操作為在可控性檢驗(yàn)兼容格式與改進(jìn)的智能QBF兼容 格式之間轉(zhuǎn)化。
14. 如權(quán)利要求8所述的智能可控性檢驗(yàn)系統(tǒng),其中該智能可控性檢驗(yàn)部件包括改進(jìn) 的智能QBF部件,該部件可操作為在執(zhí)行高效的檢驗(yàn)時(shí)智能地避免枚舉一些無(wú)關(guān)的可能賦 值。
15. -種系統(tǒng),其包括處理器和存儲(chǔ)器,該存儲(chǔ)器用于存儲(chǔ)指導(dǎo)該處理器執(zhí)行可控性檢 驗(yàn)方法的指令,該方法包括: 接收與所分析的控制部件的定義關(guān)聯(lián)的信息,包括定義該所分析的控制部件的方程; 基于所接收的所述信息,執(zhí)行智能可控性檢驗(yàn)過程,包括執(zhí)行正式的可控性檢驗(yàn),該檢 驗(yàn)檢查是否可避免對(duì)控制信號(hào)輸入集的一些可能值的枚舉;以及 返回對(duì)該所分析的控制部件的可控性分析結(jié)果的指示。
16. 如權(quán)利要求15所述的可控性檢驗(yàn)系統(tǒng),其中智能可控性過程包括執(zhí)行改進(jìn)的智能 QBF可控性檢驗(yàn);以及該改進(jìn)的智能QBF可控性檢驗(yàn)避免枚舉控制信號(hào)輸入集的一些可能 值,X傳播可控性檢驗(yàn)和常數(shù)傳播可控性檢驗(yàn)不避免。
17. 如權(quán)利要求15所述的可控性檢驗(yàn)系統(tǒng),其中該智能可控性過程包括: 在每個(gè)求解器環(huán)境格式值和相應(yīng)的所分析的控制部件的界面值之間建立映射;以及 維持該映射的列表。
18. 如權(quán)利要求15所述的可控性檢驗(yàn)系統(tǒng),其中智能可控性檢驗(yàn)過程尋找C集的賦值 A,其具有以下特性: 將A應(yīng)用于C導(dǎo)致定義所分析的控制部件的方程的輸出是與其他輸入值無(wú)關(guān)的目標(biāo) 值;以及 若存在這樣的值,則提供該值用于以上的A,否則,則證明這樣的A不存在,即使輸入的 數(shù)目非常大。
19. 如權(quán)利要求15所述的可控性檢驗(yàn)系統(tǒng),其中該智能可控性過程包括: 執(zhí)行第一可控性檢驗(yàn)技術(shù);以及 若該第一可控性檢驗(yàn)技術(shù)無(wú)論如何無(wú)法得到信號(hào)是否提供或不提供可控性的結(jié)論,則 執(zhí)行第二可控性檢驗(yàn)技術(shù)。
20. 如權(quán)利要求15所述的可控性檢驗(yàn)系統(tǒng),其中智能可控性過程包括所述結(jié)果的驗(yàn) 證,其中該驗(yàn)證可基于改進(jìn)的智能QBF可控性檢驗(yàn)中的信任水平,且所述驗(yàn)證可包括SAT和 UNSAT。
【文檔編號(hào)】G05B23/02GK104142675SQ201310746659
【公開日】2014年11月12日 申請(qǐng)日期:2013年12月31日 優(yōu)先權(quán)日:2013年5月8日
【發(fā)明者】塔米爾·海曼, 丹·史密斯, 浩崙·梁, 胡塞姆·阿布海梅德, 約格什·馬哈詹 申請(qǐng)人:輝達(dá)公司