TWI488063B - 最佳化並驗證第一電路的設備,方法及電腦可讀取儲存媒體 - Google Patents
最佳化並驗證第一電路的設備,方法及電腦可讀取儲存媒體 Download PDFInfo
- Publication number
- TWI488063B TWI488063B TW099100931A TW99100931A TWI488063B TW I488063 B TWI488063 B TW I488063B TW 099100931 A TW099100931 A TW 099100931A TW 99100931 A TW99100931 A TW 99100931A TW I488063 B TWI488063 B TW I488063B
- Authority
- TW
- Taiwan
- Prior art keywords
- circuit
- hypothesis
- input
- hypotheses
- stimulus
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
Description
本發明主要有關於電子設計自動化。詳言之,本發明關於用於最佳化正式電路驗證之電路設計的技術及系統。
使用高階硬體描述語言來描述電路允許硬體工程師在將高階描述轉換成電路的詳細實體布局前界定電路的功能並最佳化電路的架構。
電路驗證之目的在於判斷是否預期電路在正常操作條件下如希望般表現。可使用不同技術來驗證電路,其包括正式驗證技術、基於模擬驗證技術、及混合式驗證技術,其結合正式驗證技術及基於模擬驗證技術兩者的元素。
正式驗證技術嘗試證明驗證下電路(CUV)於操作期間將會如希望般操作。正式驗證技術典型利用兩種邏輯條件:假設及判定(assertions)。假設為用來模型化運作環境之邏輯條件,且判定為界定CUV之所希望的行為之邏輯條件。不幸地,正式地驗證大且複雜之電路有時在運算上難以實行。
基於模擬驗證技術模擬CUV以確保CUV如所希望般表現。相較於正式驗證技術,模擬一般需要較少運算資源。不幸地,基於模擬驗證技術通常無法保證CUV會如希望般表現,因其通常無法實際涵蓋整個狀態空間。
在混合式驗證技術中,驗證工具可模擬CUV,且當電路到達關注狀態時,工具可正式地為CUV驗證判定。混合式驗證技術可提供這兩方面的好處:比正式驗證技術需要較少運算資源,且比基於模擬驗證技術更健全。
無論使用哪種電路驗證技術,上市時間(time-to-market)的一大部分通常是花在驗證電路上。因此,希望能改善驗證工具之性能,因其對上市時間會有大幅的影響。
本發明之一實施例提供一種促進電路設計之最佳化及驗證的系統。系統可接收與一電路關連的一組假設。該組假設指明對該電路的至少一組主要輸入的一組邏輯條件(如邏輯約束)。注意到預期在正常電路操作期間滿足該組假設。系統可部分基於該組假設中之一假設產生刺激源產生器。來自該刺激源產生器的輸出值,當其分配至該電路之該組主要輸入時,令該組主要輸入滿足該假設。接下來,系統可藉由耦合該刺激源產生器之該些輸出與該電路之一組主要輸入來產生已修改電路。系統可接著對該已修改電路執行邏輯最佳化以獲得最佳化電路。
在一些實施例中,系統可接收與該第一電路關連的一組判定。注意到該組判定指明對該第一電路之至少一組輸出的邏輯約束,且該組判定模型化該第一電路之希望的行為。接著,系統可對該最佳化電路執行功能驗證以驗證每當滿足該組假設時滿足該組判定。
在一些實施例中,該組判定指明對該第一電路之該組主要輸入、該第一電路之一組狀態變數、及該第一電路的一組輸出的邏輯約束。
在一些實施例中,該組假設指明對該第一電路之該組主要輸入、該第一電路之一組狀態變數、及該第一電路的一組輸出的邏輯約束。
在一些實施例中,系統可藉由下列產生該刺激源產生器:首先將該組假設分割成一組假設群組,使得該組假設群組包括第一假設群組及第二假設群組。注意到在一假設群組中的任兩個假設共享至少一共同主要輸入,且該第一假設群組的主要輸入與該第二假設群組的主要輸入不相交。系統可接著部分基於該第一假設群組產生該刺激源產生器的第一部分,且可部分基於該第二假設群組產生該刺激源產生器的第二部分。
在一些實施例中,可在產生刺激源產生器時將數個主要輸入視為狀態變數。因此,當兩個假設共享這些主要輸入的子集時,可將這兩假設之一放在第一假設群組中,且將另一假設放在第二假設群組中。
在一些實施例中,系統可藉由下列產生該刺激源產生器:首先從該組假設選擇第一假設,並產生該刺激源產生器的第一部分以滿足對該第一假設之該些主要輸入的該些邏輯約束。接著,當該些假設保留在該組假設中時:系統可從該組假設選擇第二假設,並可產生該刺激源產生器的第二部分,其滿足並未被該刺激源產生器的該第一部分涵蓋的對該第二假設之該些主要輸入的該些邏輯約束。系統接著可將該刺激源產生器的該第二部分附加至該刺激源產生器的該第一部分,藉此產生該刺激源產生器的新第一部分,其滿足該第二假設之該些主要輸入的該些邏輯約束。
在一些實施例中,系統可藉由下列來產生該刺激源產生器的第一部分以滿足對該第一假設之該些主要輸入的該些邏輯約束:首先處理該第一假設,以針對該電路的個別合法狀態枚舉一組主要輸入的數個合法值。接著,系統可產生與該電路之一個別合法狀態關連的一輸入多工器,其包含第一組輸入信號、第一選擇信號、及第一輸出信號。欲產生該輸入多工器,系統可耦合該第一組輸入信號的一輸入信號至該電路的該邏輯狀態之一對應的合法主要輸入值、可耦合該第一選擇信號至一隨機變數,其辨別該第一組輸入信號之一輸入信號、及可組態該第一輸出信號以從該第一組輸入信號之該辨別的輸入信號傳播一值。系統亦可產生包含第二組輸入信號、第二選擇信號、及第二輸出信號的輸出多工器。欲產生該輸出多工器,系統可耦合該第二組輸入信號的一輸入信號至一對應輸入多工器的該第一輸出信號及耦合該第二選擇信號至該電路的一狀態變數以辨別該第二組信號之一輸入信號。此外,系統可組態該第二輸出信號以從該第二組輸入信號之該辨別的輸入信號傳播一值。
提出下列說明以讓熟悉此技藝人士得據以製造並使用本發明,並在特定應用及其要求的情境下提供下列說明。熟悉此技藝人士可輕易得到所揭露實施例的各種變化,且在此所界定之上位原則可應用至其他實施例與應用,而不背離本發明之精神與範疇。因此,本發明不限於所示之實施例,但應給予與在此所揭露之原則及特徵一致之最廣的解釋範圍。
描述在此詳細說明中之資料結構及碼典型儲存在電腦可讀取儲存媒體上,其可為可儲存供電腦系統使用的碼及/或資料之任何裝置或媒體。電腦可讀取儲存媒體包括但不限於依電性記憶體、非依電性記憶體、磁性及光學儲存裝置,如磁碟機、磁帶、光碟(CD)、數位多功能碟或數位視訊碟(DVD)或能夠儲存電腦可讀取媒體之已知或未來開發的其他媒體。
描述在此詳細說明中方法及程序可體現為碼及/或資料,其可儲存在上述的電腦可讀取儲存媒體中。當電腦系統讀取並執行儲存在電腦可讀取儲存媒體中之碼及/或資料時,電腦系統執行體現成資料結構及碼並儲存在電腦可讀取儲存媒體中之方法及程序。
此外,於下說明之方法及程序可包括在硬體模組中。例如,硬體模組可包括但不限於專門應用積體電路(ASIC)晶片、場可編程閘陣列(FPGA)及已知或未來開發的其他可編程邏輯裝置。當啟動硬體模組時,硬體模組執行包括在硬體模組內之方法及程序。
第1圖描繪根據本發明之一實施例的積體電路的設計與製造中的各個階段。
程序典型上以產品構想(操作100)開始,其可使用以電子設計自動化(EDA)程序設計之積體電路加以實現(操作110)。一旦設計完成後,典型將其下線(tapeout)(事件140),此時其經歷製造程序(操作150)及封裝與組裝程序(操作160)以產生已製造之微晶片(結果170)。
EDA程序(操作110)包含操作112至130,於下加以描述,此僅為了說明而非意圖限制本發明。尤其,實際積體電路設計可能需要設計人員以與以下所述的順序不同之順序來執行設計操作。
系統設計(操作112):在此階段中,設計人員描述實行產品構想之功能。他們亦可執行「假使...又如何」(what-if)計畫以精簡功能性、執行成本分析等等。硬體-軟體架構區分可在此階段發生。可用於此階段之來自新思科技公司(SYNOPSYS,INC.)的範例EDA軟體產品包括Model Architect、Saber、System Studio、及Design Ware。
邏輯設計及功能驗證(操作114):在此階段,編寫系統中之模組的VHDL或Verilog碼,並檢查設計的功能正確性。詳言之,可檢查設計以確保其產生正確的輸出。可用在此階段之來自新思科技公司的範例EDA軟體產品包括VCS、Vera、Design Ware、MagellanTM
、Formality、ESP、及Leda。
測試用之合成及設計(操作116):可在此階段中將VHDL/Verilog轉譯成網路連線表(netlist)。可針對目標技術最佳化此網路連線表,並可設計並實施測試以檢查製造的微晶片。可用在此階段之來自新思科技公司的範例EDA軟體產品包括Design Compiler、Physical Compiler、Test Compiler、Power CompilerTM
、FPGA Compiler、TetraMAX、及Design Ware。
網路連線表驗證(操作118):在此階段中,檢查網路連線表與時序約束的順應性以及與VHDL/Verilog來源碼的對應性。可用在此階段之來自新思科技公司的範例EDA軟體產品包括Formality、PrimeTime、及VCS。
設計計畫(操作120):在此階段中,構成微晶片的整體平面佈置圖並分析時序及高階路由。可用在此階段之來自新思科技公司的範例EDA軟體產品包括AstroTM
及IC Compiler產品。
實體實施(操作122):自此階段發生佈置(電路元件之定位)及路由(互連之佈置)。可用在此階段之來自新思科技公司的範例EDA軟體產品包括AstroTM
及ICCompiler產品。
分析及提取(操作124):在此階段,於電晶體等級驗證電路功能;此則允許「假使...又如何」精簡。可用在此階段之來自新思科技公司的範例EDA軟體產品包括AstroRailTM
、PrimeRail、PrimeTime、及Star-RCXTTM
。
實體驗證(操作126):在此階段中,檢查設計以確保製造、電性問題、微影問題、及電路之正確性。可用在此階段之來自新思科技公司的範例EDA軟體產品包括HerculesTM
。
解析度增進(操作128):此階段涉及布局之幾何操縱以改善設計之可製造性。可用在此階段之來自新思科技公司的範例EDA軟體產品包括Proteus/Progen、ProteusAF、及PSMGen。
遮罩資料備置(操作130):此階段提供可提供遮罩產生之「下線」資料以產生已完成之微晶片。可用在此階段之來自新思科技公司的範例EDA軟體產品包括CATS系列的產品。
第2圖描繪根據本發明之一實施例對CUV執行邏輯最佳化之範例程序。首先藉由產生邏輯最佳化設定210來最佳化CUV 212,該邏輯最佳化設定210包括CUV 212的刺激源產生器214。接著,邏輯最佳化機制220處理CUV 212以產生最佳化CUV 230。刺激源產生器214以來自CUV 212之主要輸出216及狀態變數217作為輸入,並亦以隨機變數218作為輸入;刺激源產生器使用這些輸入來產生CUV 212之輸入信號的合法輸入219。刺激源產生器214針對CUV 212的每一合法狀態指明一組合法主要輸入值,藉此使邏輯最佳化機制220能夠決定如何限制CUV 212的狀態空間以產生最佳化CUV 230。
在本發明之一些實施例中,系統藉由分析一組假設來產生刺激源產生器。假設指明在正常電路操作期間預期電路之一組主要輸入會滿足的邏輯條件(如邏輯約束),且可與電路的數個主要輸入、狀態變數、及/或主要輸出關連。若且唯若被每一狀態s
之假設所約束的該數個主要輸入值n
滿足關係n s
≦N
,則稱假設為N
嚴謹假設(N
-tight assumption)。換言之,若假設滿足下列性質,則此假設為N
嚴謹假設。
使用標記U
(s
,i
)來表示假設,其中s
為來自CUV之狀態變數的向量,且i
為至CUV的主要輸入之向量。在一些實施例中,如下般界定該組合法主要輸入值U legal
:
U legal
的式子為CUV之每一狀態的所有合法主要輸入值的聯合(union),且以兩個巢套聯合運算表示。外聯合運算使用變數j
以橫跨CUV的每一狀態,其中|s|表示CUV之所有狀態變數使用的位元數量。內聯合運算使用變數k
以橫跨,針對個別狀態s j
,該數個主要輸入值n sj
。此外,s j
表示狀態向量s
的第j
個值,且表示狀態s j
之第k
個合法主要輸入值。
注意到針對非
合法狀態的狀態s j
,n sj
=0,且內聯合運算不橫跨變數k
的任何值。因此,變數j
及k
橫跨CUV之每一狀態的該組合法主要輸入值,且式子(s j
,)表示狀態s j
及主要輸入值之合法配對。此外,若且唯若U
(s j
,)=1,
在一些實施例中,系統可使用SAT枚舉運算一假設之U legal
。在其他實施例中,系統可藉由建構假設之二元決定圖(BDD)並分析該BDD來運算一假設之U legal
。在另外實施例中,系統可使用SAT枚舉及BDD分析的結合來運算一假設之U legal
。
使用標記f
(s
,r
)來表示刺激源產生器,其中s
為CUV的狀態變數,且r
為隨機變數,其之可能的值範圍滿足0≦r
<N
。在一些實施例中,可將刺激源產生器實施成針對CUV之數個主要輸入的合法隨機值之向量。於操作期間,可藉由CUV之目前狀態s
及隨機變數r
來選擇針對CUV之數個主要輸入的一組合法隨機值。針對CUV之個別狀態所選擇的該數個合法隨機值係由參數N
所限制。在一些變化例中,針對CUV之個別狀態所選擇的該數個合法隨機值係由log(N
)所限制。
在一些實施例中,刺激源產生器實施如下般之函數f
(s
,r
):
針對CUV之個別狀態所產生的數個合法主要輸入值n
可根據狀態而變,使得n s
≦N
。在一些變化例中,無論CUV狀態為何,分配一值給隨機變數r
,使r
滿足0≦r
<N
。因此,當針對CUV的狀態s
之變數r
及n
滿足關係r
≧n s
時,函數f
(s
,r
)返還預設輸入向量。狀態s
的預設輸入向量可與隨機值r
=0關連(亦即,)。另一方面,當針對CUV的狀態s
之變數r
及n
滿足關係0≦r
<n s
時,函數f
(s
,r
)可返還輸入向量。
第3圖描繪根據本發明之一些實施例的刺激源產生器。可將刺激源產生器300實施成二級多工器結構,其包括數個第一級多工器302至308,及第二級多工器310。第一級多工器(如多工器302)耦合至數個主要輸入向量(如輸入向量320至328),其與CUV之一對應狀態關連(如狀態s 0
)。此外,第一級多工器亦耦合至隨機變數312,其用來選擇朝第一級多工器之輸出傳播之一對應的主要輸入向量。
第二級多工器310耦合至來自第一級多工器302至308之多工器輸出362至368,且耦合至狀態變數314,其用來選擇朝第二級多工器輸出370傳播的一第一級多工器輸出(如多工器輸出362)。此外,多工器輸出370耦合至CUV的主要輸入以用合法主要輸入值驅動CUV。
在這些實施例的一些變化例中,當針對CUV的狀態s
之變數r
及n
滿足關係r
≧n s
時,刺激源產生器300之一對應輸入多工器組態成選擇一預設輸入向量。在一些變化例中,狀態s
的預設輸入向量可與隨機值r
=0關連(亦即,)。另一方面,當針對CUV的狀態s
之變數r
及n
滿足關係0≦r
<n s
時,刺激源產生器300之一對應輸入多工器組態成選擇一輸入向量。
通常使用多個假設來模型化CUV的環境。在一些實施例中,一組假設,其表示一CUV的環境,可用來產生數個刺激源產生器部分,其產生CUV之主要輸入的輸入向量。在此實施例的一變化例中,可藉由將該組假設分割成數個等效的類別(class)來產生數個刺激源產生器部分。在第二變化例中,可藉由使用序列組成技術來產生數個刺激源產生器部分,此技術將一序列的假設轉換成一序列的刺激源產生器部分,並接著鏈接所得之刺激源產生器部分序列以形成一包含刺激源產生器。在第三變化例中,可藉由首先將一組假設分割成數個不相交的假設群組,並接著應用序列組成技術來產生個別不相交假設群組的刺激源產生器部分來從該組假設產生數個刺激源產生器部分。在第四變化例中,當產生刺激源產生器部分時可將數個主要輸入視為狀態變數。因此,當兩個假設僅共享這些主要輸入的子集時,可使用這兩個假設之一來產生第一刺激源產生器部分,且使用另一假設來產生第二刺激源產生器部分。此外,若一假設的整組主要輸入被視為狀態變數,則不使用假設來產生刺激源產生器部分。
第4圖描繪根據本發明之一實施例的藉由將一組假設分割成等效類別而產生數個刺激源產生器部分的運算機制。運算機制400包括假設-分割機制402及假設分析器404。假設-分割機制402拿一組假設410作為輸入,且將假設410分割成數個不相交假設群組412至416。一不相交假設群組內的假設形成一等效類別,使其共享至少一共同主要輸入變數,且第一假設群組具有與第二假設群組不相交組的主要輸入變數。假設分析器404拿個別假設群組作為輸入(如假設群組412),並產生滿足該假設群組的該組假設之一對應的刺激源產生器部分(如刺激源產生器部分422)。
第5圖描繪根據本發明之一實施例的藉由從諸刺激源產生器部分產生一序列組成而從一組假設產生一刺激源產生器的運算機制。於操作期間,運算機制500拿數個假設512至516作為輸入,並產生在一序列中之對應數量的刺激源產生器部分522至526,使得兩刺激源產生器部分不嘗試為共同的主要輸入變數產生向量。此外,來自個別刺激源產生器部分的輸出變成至該序列中之下一個刺激源產生器部分的輸入。
在一些實施例中,當兩個假設共享數個主要輸入變數時,運算機制500可使用受約束之變數來幫助產生共享的主要輸入之向量。因此,當兩個刺激源產生器部分對應至具有一或更多共享主要輸入變數的兩個假設時,第一刺激源產生器部分可傳播數個受約束變數至第二刺激源產生器部分,以用來產生共享的主要輸入變數之向量。注意到受約束的變數可與隨機變數類似地作用,且其可區域化假設之間的共享主要輸入的效果。
為了說明,假設512指明主要輸入變數I1
至I3
的約束、假設514指明主要輸入變數I3
至I6
的約束、及假設516指明主要輸入變數I5
至I10
的約束。在第一迭代中,運算機制500產生假設512的刺激源產生器部分522以滿足輸入I1
至I3
的約束,並提供隨機變數532、狀態變數534、及受約束變數538給刺激源產生器部分522作為輸入。注意到受約束變數538為運算機制500決定刺激源產生器部分522產生共享的主要輸入I3
之向量時所需要的額外變數。
在第二迭代中,運算機制500產生假設514的刺激源產生器部分524以滿足輸入I3
至I6
的約束,並考量到共享的主要輸入I3
亦發生在假設512中。運算機制500提供隨機變數532、受約束變數539、及狀態變數534給刺激源產生器部分524作為輸入。注意到受約束變數539為運算機制500決定刺激源產生器部分524產生共享的主要輸入I5
及I6
之向量時所需要的額外變數。此外,運算機制500組態刺激源產生器部分524以提供主要約束I4
至I6
及受約束變數538給刺激源產生器部分522。刺激源產生器部分522使用來自刺激源產生器部分524的受約束變數538來滿足假設512之主要輸入I3
的約束。
在第三迭代中,運算機制500類似地產生假設516的刺激源產生器部分526以滿足輸入I5
至I10
的約束,並考量到共享的主要輸入I5
及I6
亦發生在假設514中。運算機制500提供隨機變數532及狀態變數534給刺激源產生器部分526作為輸入。此外,運算機制500組態刺激源產生器部分526以提供主要約束I7
至I10
及受約束變數539給刺激源產生器部分524。刺激源產生器部分524使用來自刺激源產生器部分526的受約束變數539來滿足假設514之主要輸入I5
及I6
的約束。
在此實施例的一些變化例中,運算機制500藉由在增加之N嚴謹複雜度的序列中迭代通過假設510,並產生假設512至516的刺激源產生器部分522至526來實施刺激源產生器520的序列組成。亦即,在序列組成程序的個別迭代,運算機制500從該組假設510選擇具有含有最小數量的可能合法值之主要輸入變數的假設,且針對選定的假設產生刺激源產生器部分。
第6圖描繪根據本發明之一實施例的對CUV執行邏輯最佳化的邏輯最佳化設定。邏輯最佳化設定600包括CUV 602、刺激源產生器604、一組假設606、及一組判定608。CUV 602經由隨機變數616耦合至刺激源產生器604,該些隨機變數滿足CUV 602之數個主要輸入變數的一組可能合法值。此外,刺激源產生器604經由指明來自CUV 602的運算結果之狀態變數618及主要輸出620耦合至CUV 602。CUV 602及刺激源產生器604之間的組態允許邏輯最佳化系統能夠針對CUV 602的合法主要輸入及狀態變值最佳化CUV 602。
在一些實施例中,CUV 602拿刺激源產生器604產生的數個隨機輸入614及數個主要輸入612作為輸入,並傳播狀態變數618及主要輸出620至假設606及至判定608。刺激源產生器604拿一或更多隨機變數614作為輸入,並產生隨機輸入616的一組向量,其傳播至CUV 602、假設606、及判定608。此外,刺激源產生器604為N
嚴謹的,因此其針對CUV 602的個別狀態儲存最大N
個合法主要輸入值。
在一些實施例中,假設606拿主要輸入612、隨機輸入616、狀態變數618、及主要輸出620作為輸入。此外,假設606可產生有效度變數622,其傳播至判定608,並辨別假設606中之約束是否被CUV 602的操作環境滿足(亦即約束並未因主要輸入612、隨機輸入616、狀態變數618、及/或主要輸出620的不合法結合而失敗)。在這些實施例的一些變化例中,假設606為M
嚴謹的,使得M
>N
;因此,假設606可表示CUV 602之比刺激源產生器604更大的合法環境。
在一些實施例中,判定608可拿主要輸入612、隨機輸入616、狀態變數618、主要輸出620、及有效度變數622作為輸入。此外,判定608可判斷CUV 602的數個約束是否被滿足,且當有效度變數622指明CUV 602非以合法主要輸入值在合法狀態中操作(亦即假設606中之至少一假設已經失敗)時判定608並未失敗。
產生一最佳化CUV作為自CUV 602之已修改的電路,使得這些變更可引進數個信號到CUV 602中、從CUV 602移除數個信號、及/或從變更CUV 602內之數個信號的性質。在一些實施例中,刺激源產生器604用來映照CUV 602及最佳化CUV之間的信號。如此,刺激源產生器604用來驅動向量序列到最佳化CUV的主要輸入中,且接著驅動相同的向量序列到CUV 602中。接著,比較最佳化CUV及CUV 602之間的來自狀態變數及主要輸出的回應以決定在CUV 602及最佳化CUV之間的信號映照。在一些實施例中,在CUV 602及最佳化CUV之間的此信號映照用來修改假設606及判定608以反映對CUV 602的修改。
CUV之合法操作環境可能可允許CUV之有限狀態機(FSM)的死端狀態。亦即,針對CUV之某些狀態s
,U(s
,i
)無法被滿足。FSM中之死端狀態的結果為給定針對CUV的死端狀態合法輸入值i
不存在,CUV不產生有效的狀態或主要輸出值。因此,一旦CUV的FSM進入死端狀態CUV的判定不應失敗,因為至判定的輸入值並非合法值,且CUV之後續的行為為無效的。
在一些實施例中,死端偵測器組態成判斷CUV的FSM是否在死端狀態內操作。由下列式子界定死端狀態組D
:
於操作期間,死端偵測器可藉由運算下列式子來判斷CUV的FSM何時在死端狀態內操作:
d
(s
,r
)=U
(s
,f
(s
,r
))
在一些實施例中,死端偵測器藉由判斷針對所有r [0,N
>d
(s
,r)是否評估成0來判斷CUV的FSM之狀態s
是否在死端狀態。
第7圖描繪根據本發明之一實施例對最佳化CUV執行正式驗證的驗證設定。驗證設定700包括最佳化CUV 702、一組最佳化假設704、死端偵測器706、及一組最佳化判定708。最佳化假設704及最佳化判定708為第6圖之假設606及判定608的修改形式,其反映第6圖之對CUV 602執行的最佳化以產生最佳化CUV 702。
最佳化CUV 702、最佳化假設704死端偵測器706、及最佳化判定708拿主要輸入712及隨機輸入716作為輸入。此外,最佳化CUV 702經由指明最佳化CUV 702之運算結果的狀態變數718及主要輸出720耦合至最佳化假設704死端偵測器706、及最佳化判定708。此組態讓驗證系統能夠確保當驗證最佳化CUV 702之功能時最佳化CUV 702在合法操作環境內操作。
死端偵測器706拿主要輸入712、隨機輸入716、狀態變數718、及主要輸出720作為輸入。此外,死端偵測器706可產生死端變數724,其傳播至最佳化假設704及最佳化判定708,並辨別最佳化CUV 702是否在死端狀態內操作。在這些實施例的一些變化例中,從用來產生第6圖之刺激源產生器604的相同組N嚴謹假設來產生死端偵測器706。
在一些實施例中,最佳化假設704拿主要輸入712、隨機輸入716、狀態變數718、及主要輸出720作為輸入。此外,最佳化假設704可產生有效度變數722,其傳播至最佳化判定708,並辨別最佳化假設704中之約束是否被最佳化CUV 702之操作環境滿足(亦即約束並未因主要輸入712、隨機輸入716、狀態變數718、及/或主要輸出720的非合法結合而失敗)。在這些實施例的一些變化例中,最佳化假設704為M
嚴謹的,使得M
>N
;因此,最佳化假設704能夠表示最佳化CUV 702之比死端偵測器706更大的合法環境。
在一些實施例中,最佳化判定708可拿主要輸入712、隨機輸入716、狀態變數718、主要輸出720、有效度變數722、及死端變數724作為輸入。此外,當有效度變數722指明CUV 702非以合法主要輸入值在合法狀態中操作(亦即最佳化假設704中之至少一假設已經失敗)或死端變數724指明最佳化CUV 702在死端狀態中操作時,最佳化判定708並未失敗。此最佳化判定708的組態讓正式驗證系統能夠使用最佳化判定708來判斷當最佳化CUV 702在合法操作環境內操作時最佳化CUV 702之數個約束是否沒有失敗。
第8圖提出描繪根據本發明之一實施例之針對正式驗證最佳化電路之程序的流程圖。邏輯最佳化系統可藉由首先接收CUV的一組假設來執行程序(操作802)。接著,系統可基於該組假設產生刺激源產生器(操作804),並藉由耦合刺激源產生器之輸出與CUV的主要輸入來產生已修改的電路(操作806)。系統可接著對已修改的電路執行邏輯最佳化以獲得最佳化CUV(操作808)。注意到系統對包括刺激源產生器及CUV之已修改的電路執行最佳化。最佳化已修改的電路可導致比若僅最佳化CUV所得之電路更最佳化的電路。這是因為刺激源產生器限制CUV之主要輸入可採用的值,且因此,最佳化程序可找出比若僅最佳化CUV所找到之更多的最佳化機會。
第9圖提出描繪根據本發明之一實施例基於一組假設產生一組不相交的刺激源產生器部分的程序之流程圖。產生刺激源產生器之程序可對應至第8圖中的操作804。一電腦系統可藉由首先接收一組假設來執行程序(操作902),並將該組假設分割成具有不相交的主要輸入變數之一組假設群組(操作904)。接著,針對個別假設群組(操作906),系統產生刺激源產生器之一部分(操作908)。
第10圖提出描繪根據本發明之一實施例的產生一組假設的刺激源產生器之程序的流程圖。一電腦系統可藉由首先接收一組假設來執行程序(操作1002),並從該組假設選擇第一假設(操作1004)。在此實施例的一些變化例中,系統可從該組假設選擇具有最低N嚴謹複雜度之第一假設。接下來,系統針對第一假設產生第一刺激源產生器部分,其滿足第一假設之主要輸入的邏輯約束(操作1006)。
接著,當假設留在該組假設中時(操作1008),系統執行下列操作。系統從該組假設選擇第二假設(操作1010),並且針對第二假設產生第二刺激源產生器部分,其滿足不被該刺激源產生器部分滿足的第二假設之主要輸入的邏輯約束(操作1012)。在此實施例的一些變化例中,系統可從該組假設選擇具有最低N嚴謹複雜度之第二假設。系統接著將第二刺激源產生器部分附加至第一刺激源產生器部分以產生新的刺激源產生器部分(操作1014)。
第11圖提出描繪根據本發明之一實施例的實施刺激源產生器的一部分的程序之流程圖,其對應至第10圖之步驟1006。一電腦系統可執行下列的程序。針對CUV的個別合法狀態(操作1102),系統針對一組主要輸入枚舉最多N
個合法值(操作1104),並針對CUV的合法狀態產生一輸入多工器(操作1106)。此輸入多工器包含耦合至CUV之個別合法狀態的對應組合法主要輸入值之數個輸入信號,且包含耦合至隨機變數r
的選擇信號,其辨別此輸入多工器的輸入信號。此外,輸入多工器亦包含輸出信號,組態成從辨別出的輸入信號傳播值。在一些變化例中,隨機變數r
滿足式子0≦r
<N
。
接著,系統產生一輸出多工器,其組態成從個別輸入多工器傳播輸出信號(操作1108)。此輸出多工器包含耦合至來自該組輸入多工器之一組對應輸出信號的數個輸入信號,並包含耦合至CUV之狀態變數s
的選擇信號,其辨別此輸出多工器的輸入信號。輸出多工器亦包含輸出信號,組態成從辨別出的輸入信號傳播值。
第12圖描繪根據本發明之一實施例的在邏輯設計階段期間幫助最佳化電路設計以減少佈置及路由階段期間路由阻塞之一範例電腦系統。電腦系統1202包括處理器1204、記憶體1206、及儲存裝置1208。此外,電腦系統1202可耦合至顯示裝置1210及輸入裝置1212。
儲存裝置1208儲存操作系統1214、邏輯分析系統1216、CUV 1220、假設1222、判定1224、刺激源產生器1226、及死端偵測器1228。邏輯分析系統1216可包括圖形使用者介面(GUI) 1218。於操作期間,從儲存裝置1208載入邏輯分析系統1216至記憶體1206並由處理器1204加以執行。在一些變化例中,邏輯分析系統1216可實施成硬體模組,如ASIC。
邏輯分析系統1216可拿假設1222作為輸入以為CUV 1220產生刺激源產生器1226及死端偵測器1228。邏輯分析系統1216可接著產生邏輯最佳化設定1230,其包括CUV 1220、假設1222、判定1224、及刺激源產生器1226。邏輯最佳化設定1230可由一邏輯最佳化系統處理以為CUV 1220產生最佳化CUV。邏輯分析系統1216亦可產生驗證設定1232,其包括最佳化CUV、假設1222、判定1224、及死端偵測器1228。驗證設定1232可由一電路驗證系統用來對最佳化CUV執行混合式或正式驗證。
僅為了圖解並說明而呈現上述本發明之實施例的詳細說明。其並非意圖為窮舉性或將本發明限制於所揭露的形式。因此,熟悉該項技藝者可輕易做出許多修改及變化。此外,上述揭露非意圖限制本發明。本發明之範疇係由所附之申請專利範圍而定。
210‧‧‧邏輯最佳化設定
212‧‧‧驗證下電路(CUV)
214‧‧‧刺激源產生器
216‧‧‧主要輸出
217‧‧‧狀態變數
218‧‧‧隨機變數
220‧‧‧邏輯最佳化機制
230‧‧‧最佳化CUV
300‧‧‧刺激源產生器
302~308‧‧‧第一級多工器
310‧‧‧第二級多工器
312‧‧‧隨機變數
314‧‧‧狀態變數
320~328‧‧‧輸入向量
362~368‧‧‧多工器輸出
370‧‧‧第二級多工器輸出
400‧‧‧運算機制
402‧‧‧假設-分割機制
404‧‧‧假設分析器
410‧‧‧一組假設
412~416‧‧‧不相交假設群組
422‧‧‧刺激源產生器部分
500‧‧‧運算機制
510‧‧‧假設
512~516‧‧‧假設
520‧‧‧刺激源產生器
522~526‧‧‧刺激源產生器部分
532‧‧‧隨機變數
534‧‧‧狀態變數
538、539‧‧‧受約束變數
600‧‧‧邏輯最佳化設定
602‧‧‧驗證下電路(CUV)
604‧‧‧刺激源產生器
606‧‧‧一組假設
608‧‧‧一組判定
612‧‧‧主要輸入
614、616‧‧‧隨機輸入
618‧‧‧狀態變數
620‧‧‧主要輸入
622‧‧‧有效度變數
700‧‧‧驗證設定
702‧‧‧最佳化CUV
704‧‧‧一組最佳化假設
706‧‧‧死端偵測器
708‧‧‧一組最佳化判定
712‧‧‧主要輸入
716‧‧‧隨機輸入
718‧‧‧狀態變數
720‧‧‧主要輸入
722‧‧‧有效度變數
724‧‧‧死端變數
1202‧‧‧電腦系統
1204‧‧‧處理器
1206‧‧‧記憶體
1208‧‧‧儲存裝置
1210‧‧‧顯示系統
1212‧‧‧輸入裝置
1214‧‧‧操作系統
1216‧‧‧邏輯分析系統
1218‧‧‧圖形使用者介面(GUI)
1220‧‧‧驗證下電路(CUV)
1222‧‧‧假設
1224‧‧‧判定
1226‧‧‧刺激源產生器
1228‧‧‧死端偵測器
1230‧‧‧邏輯最佳化設定
1232‧‧‧驗證設定
第1圖描繪根據本發明之一實施例的積體電路的設計與製造中的各個階段。
第2圖描繪根據本發明之一實施例對CUV執行邏輯最佳化之範例程序。
第3圖描繪根據本發明之一些實施例的刺激源產生器。
第4圖描繪根據本發明之一實施例的藉由將一組假設分割成等效類別而產生數個刺激源產生器部分的運算機制。
第5圖描繪根據本發明之一實施例的藉由從諸刺激源
產生器部分產生一序列組成而從一組假設產生一刺激源產生器的運算機制。
第6圖描繪根據本發明之一實施例的對CUV執行邏輯最佳化的邏輯最佳化設定。
第7圖描繪根據本發明之一實施例對最佳化CUV執行正式驗證的驗證設定。
第8圖提出描繪根據本發明之一實施例之針對正式驗證最佳化電路之程序的流程圖。
第9圖提出描繪根據本發明之一實施例基於一組假設產生一組不相交的刺激源產生器部分的程序之流程圖。
第10圖提出描繪根據本發明之一實施例的產生一組假設的刺激源產生器之程序的流程圖。
第11圖提出描繪根據本發明之一實施例的實施刺激源產生器的一部分的程序之流程圖。
第12圖描繪根據本發明之一實施例的在邏輯設計階段期間幫助最佳化電路設計以減少佈置及路由階段期間路由阻塞之一範例電腦系統。
400...運算機制
410...假設
402...假設-分割機制
412,414,416...假設群組
404...假設分析器
422,424,426...刺激源產生器
Claims (24)
- 一種最佳化並驗證第一電路的方法,該方法包含:接收該第一電路及與該第一電路關連的一組假設,其中該組假設指明對該第一電路的至少一組主要輸入的第一組邏輯約束,且其中預期在正常電路操作期間滿足該組假設;部分基於該組假設中之一假設產生刺激源產生器電路,其中來自該刺激源產生器電路的輸出值,當其分配至該第一電路之該組主要輸入時,令該組主要輸入滿足該假設;藉由耦合該刺激源產生器電路之該些輸出與該第一電路之一組主要輸入來產生已修改電路;以及由電腦對該已修改電路執行邏輯最佳化以獲得最佳化電路。
- 如申請專利範圍第1項所述之方法,其中該方法進一步包含:接收與該第一電路關連的一組判定,其中該組判定指明對該第一電路之至少一組輸出的邏輯約束,其中該組判定模型化該第一電路之希望的行為;以及對該最佳化電路執行功能驗證以驗證每當滿足該組假設時滿足該組判定。
- 如申請專利範圍第2項所述之方法,其中該組判定指明對該第一電路之該組主要輸入、該第一電路之一組狀態變數、及該第一電路的一組輸出的邏輯約束。
- 如申請專利範圍第1項所述之方法,其中該組假設指明對該第一電路之該組主要輸入、該第一電路之一組狀態變數、及該第一電路的一組輸出的邏輯約束。
- 如申請專利範圍第1項所述之方法,其中產生該刺激源產生器包含:將該組假設分割成一組假設群組,其中在一假設群組中的任兩個假設共享至少一共同主要輸入,其中該組假設群組包括第一假設群組及第二假設群組,且其中該第一假設群組的主要輸入與該第二假設群組的主要輸入不相交;部分基於該第一假設群組產生該刺激源產生器的第一部分;以及部分基於該第二假設群組產生該刺激源產生器的第二部分。
- 如申請專利範圍第5項所述之方法,其中在將該組假設分割成一組假設群組之前,產生該刺激源產生器進一步包含至少在該分割操作期間將一假設的數個主要輸入重新分類成狀態變數。
- 如申請專利範圍第1項所述之方法,其中產生該刺激源產生器包含藉由下列產生第二電路:從該組假設選擇第一假設,並產生該刺激源產生器的第一部分以滿足對該第一假設之該些主要輸入的該些邏輯約束;以及當該些假設保留在該組假設中時:從該組假設選擇第二假設; 產生該刺激源產生器的第二部分,其滿足並未被該刺激源產生器的該第一部分涵蓋的對該第二假設之該些主要輸入的該些邏輯約束;以及將該刺激源產生器的該第二部分附加至該刺激源產生器的該第一部分,藉此產生該刺激源產生器的新第一部分,其滿足該第二假設之該些主要輸入的該些邏輯約束。
- 如申請專利範圍第7項所述之方法,其中產生該刺激源產生器的第一部分以滿足對該第一假設之該些主要輸入的該些邏輯約束包含:處理該第一假設以針對該電路的個別合法狀態枚舉一組主要輸入的數個合法值;產生與該電路之一個別合法狀態關連的一輸入多工器,其包含第一組輸入信號、第一選擇信號、及第一輸出信號,藉由:耦合該第一組輸入信號的一輸入信號至該電路的該合法狀態之一對應的合法主要輸入值;耦合該第一選擇信號至一隨機變數,其辨別該第一組輸入信號之一輸入信號;以及組態該第一輸出信號以從該第一組輸入信號之該辨別的輸入信號傳播一值;以及產生包含第二組輸入信號、第二選擇信號、及第二輸出信號的輸出多工器,藉由:耦合該第二組輸入信號的一輸入信號至一對應輸 入多工器的該第一輸出信號;耦合該第二選擇信號至該電路的一狀態變數以辨別該第二組信號之一輸入信號;以及組態該第二輸出信號以從該第二組輸入信號之該辨別的輸入信號傳播一值。
- 一種儲存指令之非暫態電腦可讀取儲存媒體,當由電腦執行指令時令該電腦執行一最佳化並驗證第一電路的方法,該方法包含:接收該第一電路及與該第一電路關連的一組假設,其中該組假設指明對該第一電路的至少一組主要輸入的第一組邏輯約束,且其中預期在正常電路操作期間滿足該組假設;部分基於該組假設中之一假設產生刺激源產生器電路,其中來自該刺激源產生器電路的輸出值,當其分配至該第一電路之該組主要輸入時,令該組主要輸入滿足該假設;藉由耦合該刺激源產生器電路之該些輸出與該第一電路之一組主要輸入來產生已修改電路;以及對該已修改電路執行邏輯最佳化以獲得最佳化電路。
- 如申請專利範圍第9項所述之電腦可讀取儲存媒體,其中該方法進一步包含:接收與該第一電路關連的一組判定,其中該組判定指明對該第一電路之至少一組輸出的邏輯約束,其中該組判定模型化該第一電路之希望的行為;以及 對該最佳化電路執行功能驗證以驗證每當滿足該組假設時滿足該組判定。
- 如申請專利範圍第10項所述之電腦可讀取儲存媒體,其中該組判定指明對該第一電路之該組主要輸入、該第一電路之一組狀態變數、及該第一電路的一組輸出的邏輯約束。
- 如申請專利範圍第9項所述之電腦可讀取儲存媒體,其中該組假設指明對該第一電路之該組主要輸入、該第一電路之一組狀態變數、及該第一電路的一組輸出的邏輯約束。
- 如申請專利範圍第9項所述之電腦可讀取儲存媒體,其中產生該刺激源產生器包含:將該組假設分割成一組假設群組,其中在一假設群組中的任兩個假設共享至少一共同主要輸入,其中該組假設群組包括第一假設群組及第二假設群組,且其中該第一假設群組的主要輸入與該第二假設群組的主要輸入不相交;部分基於該第一假設群組產生該刺激源產生器的第一部分;以及部分基於該第二假設群組產生該刺激源產生器的第二部分。
- 如申請專利範圍第13項所述之電腦可讀取儲存媒體,其中在將該組假設分割成一組假設群組之前,產生該刺激源產生器進一步包含至少在該分割操作期間將一假設的數個主要輸入重新分類成狀態變數。
- 如申請專利範圍第9項所述之電腦可讀取儲存媒體,其中產生該刺激源產生器包含藉由下列產生第二電路:從該組假設選擇第一假設,並產生該刺激源產生器的第一部分以滿足對該第一假設之該些主要輸入的該些邏輯約束;以及當該些假設保留在該組假設中時:從該組假設選擇第二假設;產生該刺激源產生器的第二部分,其滿足並未被該刺激源產生器的該第一部分涵蓋的對該第二假設之該些主要輸入的該些邏輯約束;以及將該刺激源產生器的該第二部分附加至該刺激源產生器的該第一部分,藉此產生該刺激源產生器的新第一部分,其滿足該第二假設之該些主要輸入的該些邏輯約束。
- 如申請專利範圍第15項所述之電腦可讀取儲存媒體,其中產生該刺激源產生器的第一部分以滿足對該第一假設之該些主要輸入的該些邏輯約束包含:處理該第一假設以針對該電路的個別合法狀態枚舉一組主要輸入的數個合法值;產生與該電路之一個別合法狀態關連的一輸入多工器,其包含第一組輸入信號、第一選擇信號、及第一輸出信號,藉由:耦合該第一組輸入信號的一輸入信號至該電路的 該合法狀態之一對應的合法主要輸入值;耦合該第一選擇信號至一隨機變數,其辨別該第一組輸入信號之一輸入信號;以及組態該第一輸出信號以從該第一組輸入信號之該辨別的輸入信號傳播一值;以及產生包含第二組輸入信號、第二選擇信號、及第二輸出信號的輸出多工器,藉由:耦合該第二組輸入信號的一輸入信號至一對應輸入多工器的該第一輸出信號;耦合該第二選擇信號至該電路的一狀態變數以辨別該第二組信號之一輸入信號;以及組態該第二輸出信號以從該第二組輸入信號之該辨別的輸入信號傳播一值。
- 一種最佳化並驗證第一電路的設備,包含:接收機制,組態成接收該第一電路及與該第一電路關連的一組假設,其中該組假設指明對該第一電路的至少一組主要輸入的第一組邏輯約束,且其中預期在正常電路操作期間滿足該組假設;運算機制,組態成:部分基於該組假設中之一假設產生刺激源產生器電路,其中來自該刺激源產生器電路的輸出值,當其分配至該第一電路之該組主要輸入時,令該組主要輸入滿足該假設;以及藉由耦合該刺激源產生器電路之該些輸出與該第 一電路之一組主要輸入來產生已修改電路;以及邏輯最佳化機制,組態成對該已修改電路執行邏輯最佳化以獲得最佳化電路。
- 如申請專利範圍第17項所述之設備,其中該接收機制進一步組態成接收與該第一電路關連的一組判定,其中該組判定指明對該第一電路之至少一組輸出的邏輯約束,其中該組判定模型化該第一電路之希望的行為;以及其中該設備進一步包含功能驗證機制,組態成對該最佳化電路執行功能驗證以驗證每當滿足該組假設時滿足該組判定。
- 如申請專利範圍第18項所述之設備,其中該組判定指明對該第一電路之該組主要輸入、該第一電路之一組狀態變數、及該第一電路的一組輸出的邏輯約束。
- 如申請專利範圍第17項所述之設備,其中該組假設指明對該第一電路之該組主要輸入、該第一電路之一組狀態變數、及該第一電路的一組輸出的邏輯約束。
- 如申請專利範圍第17項所述之設備,其中產生該刺激源產生器包含:將該組假設分割成一組假設群組,其中在一假設群組中的任兩個假設共享至少一共同主要輸入,其中該組假設群組包括第一假設群組及第二假設群組,且其中該第一假設群組的主要輸入與該第二假設群組的主要輸入不相交;部分基於該第一假設群組產生該刺激源產生器的第一部分;以及 部分基於該第二假設群組產生該刺激源產生器的第二部分。
- 如申請專利範圍第21項所述之設備,其中在將該組假設分割成一組假設群組之前,產生該刺激源產生器進一步包含至少在該分割操作期間將一假設的數個主要輸入重新分類成狀態變數。
- 如申請專利範圍第17項所述之設備,其中產生該刺激源產生器包含藉由下列產生第二電路:從該組假設選擇第一假設,並產生該刺激源產生器的第一部分以滿足對該第一假設之該些主要輸入的該些邏輯約束;以及當該些假設保留在該組假設中時:從該組假設選擇第二假設;產生該刺激源產生器的第二部分,其滿足並未被該刺激源產生器的該第一部分涵蓋的對該第二假設之該些主要輸入的該些邏輯約束;以及將該刺激源產生器的該第二部分附加至該刺激源產生器的該第一部分,藉此產生該刺激源產生器的新第一部分,其滿足該第二假設之該些主要輸入的該些邏輯約束。
- 如申請專利範圍第23項所述之設備,其中產生該刺激源產生器的第一部分以滿足對該第一假設之該些主要輸入的該些邏輯約束包含:處理該第一假設以針對該電路的個別合法狀態枚舉一 組主要輸入的數個合法值;產生與該電路之一個別合法狀態關連的一輸入多工器,其包含第一組輸入信號、第一選擇信號、及第一輸出信號,藉由:耦合該第一組輸入信號的一輸入信號至該電路的該邏輯狀態之一對應的合法主要輸入值;耦合該第一選擇信號至一隨機變數,其辨別該第一組輸入信號之一輸入信號;以及組態該第一輸出信號以從該第一組輸入信號之該辨別的輸入信號傳播一值;以及產生包含第二組輸入信號、第二選擇信號、及第二輸出信號的輸出多工器,藉由:耦合該第二組輸入信號的一輸入信號至一對應輸入多工器的該第一輸出信號;耦合該第二選擇信號至該電路的一狀態變數以辨別該第二組信號之一輸入信號;以及組態該第二輸出信號以從該第二組輸入信號之該辨別的輸入信號傳播一值。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/361,282 US8104002B2 (en) | 2009-01-28 | 2009-01-28 | Performing logic optimization and state-space reduction for hybrid verification |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201040766A TW201040766A (en) | 2010-11-16 |
TWI488063B true TWI488063B (zh) | 2015-06-11 |
Family
ID=42355198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099100931A TWI488063B (zh) | 2009-01-28 | 2010-01-14 | 最佳化並驗證第一電路的設備,方法及電腦可讀取儲存媒體 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8104002B2 (zh) |
EP (1) | EP2382570A4 (zh) |
CN (1) | CN101789035B (zh) |
TW (1) | TWI488063B (zh) |
WO (1) | WO2010088102A2 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569574B1 (en) * | 2014-03-07 | 2017-02-14 | Altera Corporation | Method and apparatus for performing fast incremental physical design optimization |
CN109753714B (zh) * | 2018-12-28 | 2023-03-21 | 中国人民解放军国防科技大学 | 基于知识库的覆盖数据通路边界情况的测试向量生成方法及系统 |
CN110688821B (zh) * | 2019-09-27 | 2023-10-13 | 北京中电华大电子设计有限责任公司 | 一种复杂算法的测试激励生成器及其控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156378A1 (en) * | 2005-12-30 | 2007-07-05 | Cadence Design Systems, Inc. | System and method for verification aware synthesis |
US20070299648A1 (en) * | 2003-01-10 | 2007-12-27 | Levitt Jeremy R | Reuse of learned information to simplify functional verification of a digital circuit |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182258B1 (en) | 1997-06-03 | 2001-01-30 | Verisity Ltd. | Method and apparatus for test generation during circuit design |
US6591402B1 (en) * | 1999-03-19 | 2003-07-08 | Moscape, Inc. | System and method for performing assertion-based analysis of circuit designs |
US6975976B1 (en) * | 2000-03-20 | 2005-12-13 | Nec Corporation | Property specific testbench generation framework for circuit design validation by guided simulation |
US6931611B2 (en) | 2001-12-19 | 2005-08-16 | Freescale Semiconductor, Inc. | Design verification system for avoiding false failures and method therefor |
US6567971B1 (en) | 2001-12-20 | 2003-05-20 | Logicvision, Inc. | Circuit synthesis method using technology parameters extracting circuit |
US7882473B2 (en) * | 2007-11-27 | 2011-02-01 | International Business Machines Corporation | Sequential equivalence checking for asynchronous verification |
-
2009
- 2009-01-28 US US12/361,282 patent/US8104002B2/en active Active
- 2009-10-27 CN CN200910208099.3A patent/CN101789035B/zh active Active
-
2010
- 2010-01-14 TW TW099100931A patent/TWI488063B/zh active
- 2010-01-19 EP EP10736234.5A patent/EP2382570A4/en not_active Withdrawn
- 2010-01-19 WO PCT/US2010/021429 patent/WO2010088102A2/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070299648A1 (en) * | 2003-01-10 | 2007-12-27 | Levitt Jeremy R | Reuse of learned information to simplify functional verification of a digital circuit |
US20070156378A1 (en) * | 2005-12-30 | 2007-07-05 | Cadence Design Systems, Inc. | System and method for verification aware synthesis |
Also Published As
Publication number | Publication date |
---|---|
CN101789035B (zh) | 2014-01-15 |
EP2382570A4 (en) | 2013-11-27 |
WO2010088102A3 (en) | 2010-11-25 |
US20100192111A1 (en) | 2010-07-29 |
US8104002B2 (en) | 2012-01-24 |
EP2382570A2 (en) | 2011-11-02 |
WO2010088102A2 (en) | 2010-08-05 |
CN101789035A (zh) | 2010-07-28 |
TW201040766A (en) | 2010-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI424327B (zh) | 用於處理電路設計之電腦實作表示的方法、設備、資料處理系統及提供相應軟體的產品 | |
US7934180B2 (en) | Incremental speculative merging | |
US10970443B2 (en) | Generation of module and system-level waveform signatures to verify, regression test and debug SoC functionality | |
US7926020B1 (en) | Methods for automatically generating assertions | |
US7216318B1 (en) | Method and system for false path analysis | |
TWI471748B (zh) | 形式性質驗證之假設的自動近似 | |
US11829694B2 (en) | Verification of hardware design for component that evaluates an algebraic expression using decomposition and recombination | |
US9483595B2 (en) | Method for scalable liveness verification via abstraction refinement | |
Chen et al. | A two-variable model for SAT-based ATPG | |
Letychevskyi et al. | Modeling method for development of digital system algorithms based on programmable logic devices | |
TWI488063B (zh) | 最佳化並驗證第一電路的設備,方法及電腦可讀取儲存媒體 | |
Kaiss et al. | Industrial strength SAT-based alignability algorithm for hardware equivalence verification | |
TWI461945B (zh) | 實施使用下限距離之抽象化-精緻化技術的方法及裝置 | |
JP2001052043A (ja) | 組合せ検証におけるエラー診断方法及びエラーサイト証明方法 | |
Guo et al. | Automatic RTL-to-formal code converter for IP security formal verification | |
US20130007680A1 (en) | Coverage Based Pairwise Test Set Generation for Verification of Electronic Designs | |
Karimi et al. | Component failure analysis (cfa): A new method for implemented fpga design failure analysis | |
US11030370B2 (en) | Modular event-based performance monitoring in integrated circuit development | |
Viilukas et al. | Identifying untestable faults in sequential circuits using test path constraints | |
Nishimaki et al. | Functional Unit and Register Binding Methods for Hierarchical Testability | |
Mele et al. | A SAT based test generation method for delay fault testing of macro based circuits | |
Nopper et al. | Counterexample Generation for Incomplete Designs. | |
Alizadeh et al. | Early case splitting and false path detection to improve high level ATPG techniques | |
Ramana et al. | Functional Constraint Extraction at Register Transfer Level for ATPG to Improve Verification in terms of Coverage | |
Polian et al. | Pattern-based verification of connections to intellectual property cores |