JP2008117398A5 - - Google Patents

Download PDF

Info

Publication number
JP2008117398A5
JP2008117398A5 JP2007282425A JP2007282425A JP2008117398A5 JP 2008117398 A5 JP2008117398 A5 JP 2008117398A5 JP 2007282425 A JP2007282425 A JP 2007282425A JP 2007282425 A JP2007282425 A JP 2007282425A JP 2008117398 A5 JP2008117398 A5 JP 2008117398A5
Authority
JP
Japan
Prior art keywords
state
verification
transition
function
component
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
JP2007282425A
Other languages
English (en)
Other versions
JP2008117398A (ja
Filing date
Publication date
Priority claimed from US11/875,364 external-priority patent/US20080109201A1/en
Application filed filed Critical
Publication of JP2008117398A publication Critical patent/JP2008117398A/ja
Publication of JP2008117398A5 publication Critical patent/JP2008117398A5/ja
Pending legal-status Critical Current

Links

Description

選言的遷移関係分解に基づく検証
本願明細書で議論される実施例は、ハードウェア及びソフトウェアの検証に関連し、より詳細には、選言的遷移関係分割に基づく検証に関する。
検証は、一般的にソフトウェア又はハードウェア設計が特定仕様書又は特性に関する要件を満足するか否かの検査を扱う。検証の共通の手法は、設計の特性を検査することである。このような手法の1つは、システムの不変性を検査する無限モデルであり、一般的に到達可能性分析を実施することにより実行される。この手法は、初期状態から到達可能な全ての状態を発見し、及び不変性が到達可能な状態で満足されるか否かを検査することを目的とする。しかしながら、上記及び他の同様の手法は、特に大きい状態セットを表現する場合に、到達した状態を表現するために使用される二分決定グラフ及び遷移関係の大きさが指数関数的に大きくなるので、所謂、状態爆発問題に悩んでいる。到達可能性分析は、標準的に画像計算に基づく遷移関係、及び状態の横型検索を実行する固定点計算に基づくアルゴリズムを使用して実行される。注意深く設計された手法の使用にも拘わらず、画像計算は、一般的に状態空間の爆発をもたらし、産業界に問題として残されている。
分割した遷移関係の使用が提案されている。この手法では、遷移関係の一体構造の二分決定グラフ表現を使用する代わりに、異なるラッチの遷移関係が別個の二分決定グラフとして保たれる、又は画像計算の間に結合されるラッチの小さいグループにクラスタ化される。遷移関係を二分決定グラフの自動的に結合されたベクトルとして維持することは、遷移関係の構築の問題を解決し得るが、中間の結合の間に、中間処理の二分決定グラフが画像計算の結果より遙かに大きくなることを予測できない。更に、存在量化は結合ベクトルに分配されないので、処理の予測可能性は良くても制限される。
分割した遷移関係構成要素の使用は結合された状態セットに関連するので、これらの解決法は二分決定グラフに関連する中心的問題を解決せず、単に爆発問題を画像の計算まで延期するだけである。これは、到達した状態セットが十分に複雑になる場合、中間の二分決定グラフが対応する画像より大きい規模になる傾向があるからである。結合の中間結果は、最終結果が最終的に扱いやすい大きさになる場合にさえ大きくなり得る。結合として又は「連鎖」方法で表現された遷移関係を使用する手法もまた、全ての結合された遷移関係の分析を同時に必要とするので、遷移関係の独立した分析のための技術を提供しない。
設計の大きさ及びシステムの複雑性が増大するにつれ、検証は現代の設計フローの中で隘路になってきている。従来の検証手法の別の不利点は、状態セットの表現構想を格納するために空間が必要とされることである。
大きいメモリー空間の使用の必要に加え、有効状態セットを計算する従来の技術では、全ての到達可能状態は状態セット及び状態遷移を表現するブール関数の結合を使用して計算される必要がある。全ての画像計算の下位処理は、新たな状態が抽出される前に完了する必要があるので、上述の技術は計算中の分析又は検証を提供しない。つまり、各結合は、先行する1つの結合が完了した後にのみ実行され得る。従って画像計算が完了するまで、新たな状態を抽出する如何なる機構も存在しない。
有限状態機械の有効状態の計算は、特性の正確性を検証するために必須である。標準的に、正しくない状態がシミュレーション中に検出された場合に特性は正しくない可能性があるので、有効状態セットは、大規模な回路シミュレーションを実行することにより計算される。しかしながら、標準的に有効状態のセットはきちんと列挙するには大きすぎるので、シミュレーションを通じて特性の正当性を確認することは、不可能である。標準的なデジタル回路検証は大規模シミュレーションにより実行されてきたが、シミュレーションは完全な範囲を提供せず、可能なほんの一部分の刺激を検査するだけなので、それら検証の性能は満足できるものではなく、バグ/問題を検出されないまま残してしまう。
有効状態を計算する種々の技術が開発されてきたが、従来の検証技術は、種々の性能の不利点を有する。従って、柔軟且つ効率的なハードウェア及びソフトウェア検証を可能にする技術が必要である。
開示されるシステム及び方法は、システムの遷移関係分割を構築し、分割を選言的遷移関係表現に変換し、遷移関係の操作から到達可能状態を得る。
開示される方法は、回路の選言的遷移関係分割表現を構築する段階、及び遷移関係を操作することにより回路の到達可能状態を得る段階、及び到達可能状態がシステムの目標特性を満足するか否かを検証する段階、を有する。
方法は、ビット関係結合を自動的に実行する変数を有する遷移関係の関数を定める段階、各構成要素が閾値より低くなるまで、関数を選言的に分割する段階、及び各変数が除去されるまで存在量化を実行する段階、を有する。開示されるシステム及び方法は、システムの目標仕様に対し到達可能状態を分析することにより、システムの特性を検証する。
上述の及び他の態様及び利点が構成及び動作の詳細に存在し、当該態様及び利点は、添付の図面を参照し以下により完全に記載され、そして請求される。複数の図を通じて同様の番号は同様の部分を表す。
本発明の現在の実施例の詳細を参照する。当該例は添付の図面に図示され、図を通じて同様の要素に同様の参照符号が付される。実施例は、開示されるシステム及び方法を図を参照して説明するために以下に記載される。しかしながら、理解されるべき点は、以下の説明及び図により本発明の範囲が如何様にも制限されないことである。従って、図示された装置の代案及び更なる変更、及び本願明細書に説明される原理の更なる応用は、本発明の実施例に関連する当業者が通常想到し得るものである。
従来の検証及び到達可能な分析技術の欠点を克服するため、開示されるシステム及び方法は、効率的且つ柔軟な到達可能性分析及び検証を可能にするシステムの選言的遷移関係(TR)分割を構築する。検証の対象は、システムのプログラム、ソフトウェア、1若しくは複数のハードウェア構成要素、又はシステム全体であって良い。到達可能性分析は、固定点に到達するまで画像計算がプログラム又は機械の初期状態に対し実行される順方向到達可能性、及び特性から得られた状態セットの補集合の無効状態が得られるまで画像計算が当該補集合に適用される逆方向到達可能性の両方を参照する。初期状態セットは、リセット状態セットを有する如何なるセット、又は開始又はいくつかの特定状態等のいくつかの他の特定の状態セットを参照し、当該状態セットを使用し到達可能状態が計算される。状態に基づく分析の場合の画像計算は、所与の関数の範囲又は値の式を参照する。
図1は、選言的遷移関係分割に基づく検証を実行するよう構成されたシステムを示す。図1に示されるように、検証器10は、ディスプレイ装置12及び入力装置14を有して良い。ディスプレイ装置12は、検証中のシステムに関連する検証及び/又は到達可能性分析に関する情報を提供して良い。当該情報は、状態セット、初期若しくは現在の状態、システムの要件若しくは目標仕様に適合したか否かの検証結果、又はシステムの検証及び/又は到達可能性分析に関連する如何なる他のデータも有するがこれらに限定されない。
入力装置14は、変数、パラメーター、又は検証中のシステムの特性を検証器10に入力することを可能にする。例えば、ユーザーは、入力装置14を使用し、検証されるべきシステムに関連する設計情報を入力して良い。しかしながら、検証器10は、特定の種類の入力に限定されず、またVerilogのような検証中のシステムの設計情報を提供するハードウェア記述言語を有しても良い。検証器10はまた、入力装置14を介し提供されたシステムの設計情報を関数に翻訳するオープン・ソース・ツールを有しても良い。更に、検証中のシステムの状態の取得が完了したと決定される点を識別する範囲情報は、入力装置14を使用して指定されて良い。例えば、略式検証では、システムの到達可能な及び/又は到達不可能な状態のセットの概算の大きさは、指定されたセットが得られた場合に検証が終了するように指定されて良い。
検証器10は、ネットワーク15を介し情報源13aと、及び13bと接続され、検証中のシステム(又はプログラム)の設計、仕様、又は特性情報を得て良い。例えば、検証器10は、ネットワーク15を介しシステムの設計者からシステムのハードウェア特性を提供されて良い。検証器はまた、データベース19と接続されて良い。データベース19は、検証中のシステムの選言的遷移関係分割表現を有する二分決定グラフ(BDD)、システムの到達可能状態、システムの目標仕様を含むがこれらに限定されない検証に関するデータを格納するよう構成される。データベース19は図1に検証器10と接続されるとして示されるが、データベースは、検証器10の構成要素として統合されても良い。
検証器10は、プロセッサー16及びメモリー18を有する。図1は複数のプロセッサー16及びメモリー18を示すが、開示されるシステムは、特定数のメモリー又はプロセッサーに限定されない。例えば、共有メモリーを具えたマルチコアプロセッサー及び/又は分散型メモリーアーキテクチャーが検証器10に設けられても良い。図1に示されたプロセッサー16は、命令の受信及びデータの処理が可能な任意の構成要素を参照する。またメモリー18は、情報を記録又は格納するよう構成される如何なる種類の装置であっても良い。
検証器10は、検証中のシステム(又はプログラム)の有効状態セットを決定し、及びシステムの目標仕様を検証するよう構成される。検証器10を介した有効状態の決定は、記号モデル検査の環境で初期状態から到達可能な全ての状態セットを計算する段階を有する。この手法を用い、状態セット及び状態遷移は、二分決定グラフとして維持され得るブール関数として表現される。また初期(リセット)状態セットは、全ての到達可能状態が計算されるまで、新たな状態のセットを繰り返し増補される。
到達可能性分析の中核は、画像計算処理である。画像計算処理は、状態セットSiを用いて表すと、次のクロック周期でSiから到達可能な全ての状態Si+1を検出する。標準的に、提供された不変特性P(ベクトルs)は、到達可能性分析の間に検査される。到達可能性分析では、全ての到達可能状態がR(ベクトルs)⊂P(ベクトルs)である場合、不変特性は「通過」する。到達可能性分析の間に、得られた状態セットの中に到達不可能な状態があった場合、検証中のシステムには誤りが存在し得る。同様に、セットの否定が結果として如何なる到達可能状態を生じた場合も、誤りが存在すると決定されて良い。システムを検証する別の方法は、検証されるべき特性が時間セマンティックを有し得る場合に、実際の画像計算で、一度に1つを調査することである。例えば、ある値がクロック周期iで真である場合、別の値はクロック周期i+5で真である。到達可能性分析の特定の例が説明されたが、本発明は、到達可能性分析を実施する如何なる特定の技術にも限定されず、及び線形時相論理(LTL)、計算木論理(CTL)等のような特性を検証する言語を使用しても良い。
k個のラッチ及びr個の入力を有する同期回路は、リセット状態のセットS及び遷移関数δ:{0,1}k×{0,1}r→{0,1}kにより定められる。関数δは記憶要素のk個先の状態関数δi:{0,1}k×{0,1}m→{0,1}をカプセル化する。遷移関係
Figure 2008117398
は、ブール関数として整形されて良い。ここで、
Figure 2008117398
従って遷移関係は次式のように計算される。
Figure 2008117398
関数
Figure 2008117398
は回路のビット関係である。状態セットSiを処理する場合、画像計算は次式の通りである。
Figure 2008117398
また、到達可能状態Sは次式の通りである。
Figure 2008117398
上述の(1)式から分かるように、一体構造の遷移関係は比較的小さいビット関係の場合でさえ爆発する可能性がある。選言的遷移関係分割の利点は、ブール関数として整形された遷移関係
Figure 2008117398
が次式により分割される場合に明らかである。
Figure 2008117398
また、画像は次式のように計算されて良い。
Figure 2008117398
また、存在量化は選言に渡り分配されるので、遷移関係の各構成要素の画像計算は、独立に計算され得る。更に、各画像計算は分割が得られた後に実行され得るので、変数ベクトルpを各画像計算時に数量化する必要がない。特に、事前計算は、次式に従い実施されて良い。
Figure 2008117398
ここで画像計算は次式のように表現される。
Figure 2008117398
システムの遷移関係分割を得る処理は、図3及び図4を参照し以下に更に詳細に説明される。
図2は、選言的遷移関係分割を使用したシステム特性の検証の例である処理30を示す。図2に示されるように、処理30は、システムの遷移関係分割を構築する段階32で始まる。一体構造のTR((1)式)の生成は結果として爆発を生じる可能性があるので、検証器10(図1)は検証中のシステムの遷移関係分割を構築する。分割を構築する段階32は、検証中のシステムの遷移関係を操作可能に維持しつつ且つ
Figure 2008117398
のような構成要素に分割すると同時に、検証中のシステムの遷移関係のセマンティックをキャプチャーする補助関数TRaを構築する段階を有する。補助関数TRaを構築するため、葉がビット関係である二分木全体を形成する変数が導入される。関数TRaの構築の例は、図3を参照して以下に更に詳細に説明される。
関数TRaは、自動的に表現され且つ最大でもビット関係の大きさの合計と等しい全体の大きさを有する結合を有する。好適な実施例では、分割の大きさは、各分割構成要素間の平衡の達成に基づき決定される。従って効率的な画像計算が各分割構成要素に渡り実施され得る。例えば、補助TR関数は、100万個のノードを有するあるTR及び190万個のノードを有する別のTRを有する代わりに、相対的に等しいノード数を有するTR分割構成要素を表現するために構築されて良い。更に、分割構成要素は、別の分割構成要素により表現される状態を除いた状態セットを表現することに限定されない。むしろ、構成要素により表現されたセットは、結果として重複して良い。
比較的小さく且つ複雑でない回路では、構築する段階32は、一体構造の遷移表現を構築する段階、単一の二分決定グラフを選言的に分割する段階、及び遷移関係を繰り返し分割する段階を有して良い。
遷移関係分割を構築する段階32の後、処理30は、分割を選言的遷移関係表現へ変換する段階34を続ける。上述の例と同一の例を用いると、自動的にビット関係結合を実行する多数の補助変数は、構築された関数TRaに導入される。変換する段階34の間、関数TRaは、全ての得られた構成要素の大きさが所与の閾値より低くなるまで繰り返し選言的に分割される。つまり、分割の構築は、結果が選言的分割TRaを形成するような方法で表現される。関数TRaの分割の例は、以下に更に詳細に説明される。
分割を選言的遷移関係表現に変換する段階34の後、処理30は、所定の点に到達するまで遷移関係の操作から到達可能状態を得る段階36へ進む。到達可能状態セットは、段階36で、固定点に到達するまで各選言構成要素に画像計算を繰り返し実行することにより得られて良い。構成要素が選択される順序は分析の正確さにとって重要ではないが、各構成要素に画像計算を実行することが性能に与える影響は有意である。しかしながら、画像計算のスケジュールにおける構成要素の順序は、画像計算を最適化するよう指定されて良い。
到達可能状態の取得が終了する所定点は、例えば、所与の状態セット数がシステムの設計者により提供された概算状態数に基づき得られた点であって良い。所定点はまた、略式検証結果を提供するため、存在量化を選言的TR分割に選択的に適用することにより決定されて良い。到達可能状態の取得が終了する点を決定するいくつかの例が提供されたが、本発明は如何なる特定の決定にも限定されず、及び検証器及び/又は設計者の要求を含む種々の要因が考慮されて良い。
到達可能状態を得る段階36の後、処理30は、システムの目標仕様に関して到達可能状態を分析することにより、システム特性を検証する段階38へ進む。例えば、システム特性は、システムの公式仕様の要件と比較され、システムの実装が仕様を満足するかが検証される。システムの目標仕様は、システムの製造者又は設計者から得られて良く、及び/又は検証を要求するユーザーにより手動で入力されて良い。図2は到達可能状態を得る段階36及び特性を検証する段階38が順次実行されるとして示したが、本開示は特定の順序に限定されない。例えば、到達可能状態は、段階36で単一の画像計算毎に得られて良く、段階38でシステム特性を検証し、そして所定点(つまり固定点)に到達するまで繰り返して良い。
図3は、自動的に表現された結合を有する分割アルゴリズムの二分木である。図3に示されるように、当該二分木は、ノードが0又は2の何れかの出次数を有し且つブール関数を表現する完全な二分木である。上述のように、システムの遷移関係分割を構築する段階32(図2)は、関数TRaを構築する段階を有する。自動的に表現された結合を有する関数をTRaを構築するため、入力に先行するlog kの補助変数ベクトルd、及び状態変数が順に導入される。これらの変数は、葉がビット関係である完全な二分木を形成する。例えばベクトルdはブール変数のベクトルであり、及びi∈Nならば、
(ベクトルd=[i])は変数ベクトルdの積項として定められる。またiの2進表現から得られる方向性の例は次の通りである。
Figure 2008117398
従って積項(ベクトルd=[1101])は
Figure 2008117398
として定められる。
関数TRaは次の通り定められる。
Figure 2008117398
上述の関数TRaは次の特性を維持している。
Figure 2008117398
従って、関数TRaはTR全体を一度に操作する機会を提供すると同時に、ビット関係の大きさの合計と等価であって良い処理しやすい大きさを維持する。基本的に、関数TRaは、変数と接続された各層及び葉がビット関係briである完全な二分木を表現する。また、乗算を実行せずに関数TRaを構築することにより、関数の大きさの合計と同じ大きさに維持される。好適な実施例では、変数ベクトルdを通じて自動的に符号化された結合は、選言が得られた後、且つ実際の画像計算が実行される前の点に延期される。更に、ビット関係は通常、同一のBDDマネージャーに既に格納されているので、TRaを構築するコストは無視できる。
関数TRaの自動的表現は、分割構成要素が構築された後に操作を実行させる。従って表現は大きくならない。
各分割構成要素は、検証中のシステムに関し到達可能性分析を実施するため、プロセッサー16(図1)の1つに供給されて良い。分割構成要素のうちいくつかの構成要素を利用すると、結果として状態セットの部分的検証をもたらすことが可能であるが、同時に、分割構成要素から生成された状態は、別の分割構成要素と重複して良く、及び正式な検証を提供して良い。
図4は、遷移関係の構成要素への選言的分割を説明する。検証器10(図1)は、任意の1又は複数の既存のアルゴリズムを使用し所与の関数fを少なくとも2つの構成要素に分割して良い。上述の例と同一の例を用いると、関数TRaは、DisjDecompA、DisjDecompBのような分割アルゴリズム、及び所与の関数fを少なくとも2つの部分に分割可能な他の同様のアルゴリズムを使用して構成要素に分割されて良い。
関数TRaは、各構成要素の大きさが所与の閾値より低くなるまで繰り返し選言的に分割される。例えばユーザーが大きさの閾値Sthを指定した場合、関数TRaは、全ての構成要素がSthより小さい又は等しい大きさを有するまで繰り返し選言的に分割される。また、各繰り返しで、現在の最大構成要素が選択され、そしてアルゴリズムDisjDecompA及びDisjDecompBを使用して2つの部分に分割される。当該2つのうち小さい方の構成要素が選択される。関数TRaの分割はDisjDecompA及びDisjDecompBアルゴリズムを使用して記述されるが、本発明は、如何なる特定の分割アルゴリズムにも限定されない。例えば、
Figure 2008117398
の形式の良く知られたシャノン分割は、他のアルゴリズムが所望の選言を生成しない場合に使用されて良い。
また、関数のセット
Figure 2008117398
が得られる。ここで
Figure 2008117398
である。
好適な実施例では、DisjDecompA及びDisjDecompBの両方が分割に使用され、シャノン分割は大抵の場合、特にfの対応するセット内の大部分の変数が検査される場合、遅いので、シャノン分割は最終の再ソートとして利用される。
更に、選言は、検証中のシステムの状態のグラフの構造を分析することにより及び1又は複数の分割二分決定グラフ(POBDD)を生成することにより、達成されて良い。
図5は、関数TRaを構成する場合に導入された補助変数の数量化を示す。補助変数iは依然として分割構成要素内に存在するので、変数は次式に従い一度に全て数量化される。
定義2.6
Figure 2008117398
が関数のセット{L,L,…,Ln}を表すならば、
Figure 2008117398
Figure 2008117398
定義2.7
Figure 2008117398
が2個の関数セットを表すならば、
Figure 2008117398
は関数Li,Mjの全ての対結合のセット
Figure 2008117398
として定められる。
関数セット
Figure 2008117398
は次のように得られる。
Figure 2008117398
上記セットの基数m’は最大でmである。この段階で、変数dj及び
Figure 2008117398
の構成要素はもはや存在しない。
例えば関数TRaが3個の構成要素に分割され及び2個の補助変数が関数TRaの構築に使用された場合、次の通りである。
Figure 2008117398
更に
Figure 2008117398
ここで上記関数のいくつかは0であって良い。最終的に次のように表現される。
Figure 2008117398
ここでm’はゼロでない結合の数に等しく、最大で9である。
図5は、入力セット{A,B}からの変数dの全ての数量化を示す。また変数dはもはや結果として生じるセット{A,B}内に存在しない。上述のように、この時点で、変数djは構成要素の対応するセットから除去され、同時に選言が維持される。しかしながら、結果内の構成要素数はm乃至最悪の場合mに増大している可能性がある。このような場合、構成要素数は残りの補助変数を除去する前に減少させる必要があり得る。
セット
Figure 2008117398
は、セット
Figure 2008117398
の構成要素から直接に得られる。これは、
Figure 2008117398
内の最小の大きさを有する2つの構成要素を繰り返し選択し、そしてそれらを分離することにより行われる。選択は、全体の分割が可能な限り平衡を維持するように実行される。この動作は、m個の構成要素が残されるまで繰り返される。最小の構成要素を選択し分離することは、中間リストの構成要素の平衡を良好に保ち、全ての変数ベクトルdが数量化された後に所望の選言的TR分割が得られる。表2に数量化アルゴリズムの例が示される。
開示された分割は、関数TRaを構築する段階(図3)を有する。ここで補助変数が導入されビット関係結合を自動的に実行し、TRa(図4)は全ての得られた構成要素の大きさが所与の閾値より低くなるまで繰り返し選言的に分割され、及び構成要素内に依然として存在する補助変数は全て数量化される(図5)。開示された分割は、構成要素の大きさの閾値及び表3に示された所望の構成要素数によりパラメーターを供給されるアルゴリズムを使用し実施されて良い。
図6は、検証中のシステムの遷移関係の操作を示す。図6に示されるように、各分割構成要素TR、TR、...、TRは、現在の状態セットで乗算され、次のビットのためのビット全体を生成する。画像計算は、関数TRの各分割構成要素に適用されて良い。ここで各TR構成要素(TR、TR、...、TR)は画像計算を実施するために使用される。TR構成要素は画像を計算するために使用され得る関数であり、特定の構成要素の画像(つまりTR)は大きいTRの画像の一部なのでサブ画像を参照する。
更に、構成要素の大きさが所定の閾値より大きい場合、構成要素は廃棄されて良い。例えば図6に示されるPが閾値を超える場合、構成要素は廃棄されて良い。結果として、特定の状態を除いて表現された構成要素の場合に略式検証をもたらすか、又は同一の状態が別の構成要素にも含まれる場合に正式検証をもたらし得る。
従って、状態がi+1で計算される必要がある場合、クロック周期iにおける状態セットが与えられると、ある構成要素はセットの一部を計算して良く、別の構成要素は当該セットの別の一部を計算して良いなどである。また状態の合併(ORバリエーションで実行される)は、結果として正確に次の状態を生じる。
図2に示されるように、到達可能状態セットは、固定点に到達するまで各選言構成要素に画像計算を繰り返し実行することにより得られて良い。画像計算のスケジュールにおける構成要素の順序は、画像計算を最適化するよう指定されて良い。このようなスケジュールで現在の到達可能状態セットの地点からどれだけの時間が進むかを考えると、時刻t=0で、セットSは初期状態を有する。時間はセットSiが読み出される時には進まず、新たな状態が提出された時に1単位だけ進む。得られた選言的TRの構成要素がTR、j=1…mであり、ICi,kが状態セットSiに関する画像計算処理を表す場合、構成要素TR及び{ICi,k}で到達可能状態が得られる。IC処理のシーケンスは、到達可能性分析スケジュールを一意に定める。
開示された検証器10(図1)は、順次スケジューリング、スレッドスケジューリング、同期スレッドスケジューリング等を含むがこれらに限定されない種々の種類のスケジューリング分割を分割構成要素の画像計算に実施して良い。
例えばπ(j)がTRj構成要素のインデックスに関する順列である場合、順次スケジューリングは次の通りである。
Figure 2008117398
各ICは直前にあり且つ単一CPUシステムにより良く適した状態セットに影響するので、順次スケジューリングは並列抽出を許可しないが、スケジュールは、固定点に到達するために必要な画像計算の数を低減する大きな可能性を有する。
スレッドスケジューリングは、ICβ,kがスケジュール内の位置jに現れ、ICα,kがi<j、β≧iである位置iに現れる場合、各処理対ICα,k,ICβ,kに対し、制約に基づき実施されて良い。この制約は、スケジューラーが常にTR構成要素毎に1より多いアクティブな画像計算を維持することを回避する。更に、m個の画像計算は如何なる所与の時刻にもアクティブであり得るので、スレッドスケジューリングは有意な並列抽出を許可する。望ましくは、Sが任意の他のスレッドから更新されると直ぐに、各スレッドが状態Sの共通プールの画像を計算する場合、スケジュールはm個のスレッドを有し、TRのm個の構成要素のそれぞれ1つが1個のスレッドを有する。
同期スレッドスケジューリングは、スレッドスケジューリングに関連して議論された制約に加え、追加の制約を導入する。特に{t∈N}として、スケジュール内のm個の処理の各シーケンス(t・m+1,…,(t+1)・m)は、2つの処理
Figure 2008117398
を有するべきではない。この制約は利用可能な並列処理を低減するが、画像計算処理のより制御された用途を可能にする。更に、同期スレッドスケジューリングは、t番目のシーケンスの間、システムが少なくともIWLS‘95のような接続手法のt番目の画像計算の到達した状態を生成することを保証する。このスケジューリング技術はまた、如何なる追加の不要な制約を課すことなく、横型検索方法で到達可能状態を計算する。
開示されたシステム及び方法は、仕様に従う軌跡で動作する関数を構築することにより、複雑な特性及び回路設計を有するシステム又はプログラムを含むハード検証の場合に特に有益である。
従って、方法は、所与の全ての初期状態セットから1クロック周期で到達可能である全ての可能な状態を記述する記号表現を提供する。方法は、システムの到達可能状態セットを計算する関数を構築する段階を有する。ここで遷移関係は、全ての画像計算に先立ち及び制御された方法で、限られた数のビット関係結合を一度に実行することにより選言的に分割される。開示されたシステムに供給されるビット関係は、細かい接合分割であり得る。実際に、開発されたアルゴリズムは、基本的に如何なる提供された接合も選言に変換する。
実施例の多くの特徴及び利点は、詳細な説明から明らかである。また本発明は、特許請求の範囲により定められ、本発明の真の精神と範囲に包含される実施例の全ての特長及び利点を含む。更に、当業者は多くの変形及び変更を直ちに成し得る。本発明の実施例は図示及び記載された構成及び処理に限定されるべきではない。及び従って全ての適切な変形及び等価物は、本発明の範囲に包含される。
Figure 2008117398
Figure 2008117398
Figure 2008117398
Figure 2008117398
(付記)
(付記1) 方法であって、
システムの遷移関係分割を構築し及び前記分割を選言的遷移関係表現に変換する段階、
所定点に到達するまで,前記遷移関係の操作から到達可能状態を得る段階、並びに
前記到達可能状態を前記システムの目標仕様に関し分析することにより、前記システムの特性を検証する段階、を有する方法。
(付記2) 前記分割の各構成要素の大きさは、所定の閾値より低い、付記1記載の方法。
(付記3) 画像計算の前記所定点に到達する前に、存在量化は分割を使用して実行される、付記2記載の方法。
(付記4) 前記遷移関係の分割のデータ、到達可能状態及び前記システムの特性は、二分決定グラフに格納される、付記1記載の方法。
(付記5) 前記所定点は前記到達可能状態が収束した時である、付記1記載の方法。
(付記6) 前記所定点に到達するまで、前記分割の1つは操作される、付記1記載の方法。
(付記7) 前記特性を検証する段階は並列に実行される、付記1記載の方法。
(付記8) 前記検証する段階は複数のプロセッサーにより実行される、付記7記載の方法。
(付記9) 分析されるべきシステムの状態セットを提供する段階、及び
前記提供された状態セットを分析すると、前記所定点に到達したと決定する段階、を有する付記1記載の方法。
(付記10) 前記分割の画像計算を独立に実行する段階、を有する付記1記載の方法。
(付記11) 固定点に到達するまで、前記画像計算が実行される、付記10記載の方法。
(付記12) 前記画像計算の間、前記システムの状態セットを部分的に抽出する段階、を有する付記10記載の方法。)
(付記13) 独立変数の数量化は、前記画像計算の間に実行される、付記10記載の方法。
(付記14) 検証方法であって、
回路の選言的遷移関係分割表現を構築する段階、及び
前記遷移関係を操作することにより前記回路の到達可能状態を得て、及び前記到達可能状態が前記システムの目標特性を満足するか否かを検証する段階、を有する方法。
(付記15) 前記構築する段階は、
ビット関係結合を自動的に実行する変数を有する遷移関係の関数を定める段階、
各構成要素が閾値より低くなるまで、前記関数を選言的に分割する段階、及び
各変数が除去されるまで存在量化を実行する段階、を有する付記14記載の方法。
(付記16) 前記回路の設計者により提供された概算状態セットに到達するまで、前記到達可能状態が得られる、付記15記載の方法。
(付記17) 検証器であって、
システムの初期状態を入力する入力装置、並びに
前記システムの選言的遷移関係分割表現を構築し、及び前記システムの目標仕様に関し前記システムの到達可能状態を分析することにより前記システムの特性を検証する少なくとも1つのプロセッサー、を有する検証器。
(付記18) コンピューター可読記憶装置であって、二分決定グラフを有するデータ構造を有し、前記二分決定グラフは、システムの選言的遷移関係分割表現、前記システムの状態セット、及び前記システムの目標仕様を有する、コンピューター可読記憶装置。
(付記19) 前記データ構造は、到達可能であるとして検出された前記システムの状態セットの自動的表現を有する、付記18記載のコンピューター可読記憶装置。
(付記20) コンピューター可読媒体であって、コンピューターに処理を実行させるプログラムを有し、前記処理は、
システムの遷移関係分割を構築し及び前記分割を選言的遷移関係表現に変換する段階、
所定点に到達するまで,前記遷移関係の操作から到達可能状態を得る段階、並びに
前記到達可能状態を前記システムの目標仕様に関し分析することにより、前記システムの特性を検証する段階、を有する、コンピューター可読媒体。
選言的遷移関係分割に基づく検証を実行するよう構成されたシステムのブロック図である。 システムの選言的遷移関係分割を使用した、システムの特性を検証するためのフローチャートである。 分割アルゴリズムの二分木表現である。 遷移関係の構成要素への選言的分割を説明する図である。 分割アルゴリズムに含まれる変数の存在量化を説明する図である。 選言的遷移関係分割に基づく画像計算を説明する図である。
10 検証器
12 ディスプレイ装置
13a、13b 情報源
14 入力装置
15 ネットワーク
16a−c プロセッサー
18a−c メモリー
19 データベース
JP2007282425A 2006-10-31 2007-10-30 選言的遷移関係分解に基づく検証 Pending JP2008117398A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85536406P 2006-10-31 2006-10-31
US11/875,364 US20080109201A1 (en) 2006-10-31 2007-10-19 Disjunctive transition relation decomposition based verification

Publications (2)

Publication Number Publication Date
JP2008117398A JP2008117398A (ja) 2008-05-22
JP2008117398A5 true JP2008117398A5 (ja) 2010-09-02

Family

ID=39144487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007282425A Pending JP2008117398A (ja) 2006-10-31 2007-10-30 選言的遷移関係分解に基づく検証

Country Status (3)

Country Link
US (1) US20080109201A1 (ja)
EP (1) EP1918821A3 (ja)
JP (1) JP2008117398A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996339B2 (en) * 2011-09-07 2015-03-31 International Business Machines Corporation Incremental formal verification
US9021450B2 (en) * 2013-03-11 2015-04-28 International Business Machines Corporation Scalable and precise string analysis using index-sensitive static string abstractions

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212669B1 (en) * 1997-11-05 2001-04-03 Fujitsu Limited Method for verifying and representing hardware by decomposition and partitioning
US7711525B2 (en) * 2002-05-30 2010-05-04 Nec Corporation Efficient approaches for bounded model checking
US7788556B2 (en) * 2002-11-13 2010-08-31 Fujitsu Limited System and method for evaluating an erroneous state associated with a target circuit
US7281225B2 (en) * 2003-11-20 2007-10-09 Fujitsu Limited Circuit verification using multiple engines
US20060058989A1 (en) * 2004-09-13 2006-03-16 International Business Machines Corporation Symbolic model checking of generally asynchronous hardware
US7693690B2 (en) * 2005-08-09 2010-04-06 Nec Laboratories America, Inc. Disjunctive image computation for sequential systems

Similar Documents

Publication Publication Date Title
US20160299998A1 (en) Logic circuit generation device and method
JP4028107B2 (ja) 分解及び分割によるハードウェアの検証並びに表現方法
Brayton et al. ABC: An academic industrial-strength verification tool
US20150363110A1 (en) MEMORY CONFIGURATION FOR INTER-PROCESSOR COMMUNICATION IN AN MPSoC
US8707273B2 (en) Precondition generating apparatus
Aloul et al. Faster SAT and smaller BDDs via common function structure
US7302656B2 (en) Method and system for performing functional verification of logic circuits
WO2022068124A1 (zh) 一种可重构阵列处理器的指令调度***及方法
US7222317B1 (en) Circuit comparison by information loss matching
Lee et al. Unbounded scalable verification based on approximate property-directed reachability and datapath abstraction
US9817930B1 (en) Method, system, and computer program product for verifying an electronic circuit design with a graph-based proof flow
WO2010092825A1 (ja) 回路解析方法
US7203631B2 (en) System and method to analyze VLSI designs
US8903699B2 (en) Determining large-scale finite state machines using constraint relaxation
Van Eijk et al. Detection of equivalent state variables in finite state machine verification
JP2008117398A5 (ja)
US8595659B2 (en) Verification and reachability using an organic approach
JP2008117398A (ja) 選言的遷移関係分解に基づく検証
Fujita Equivalence checking between behavioral and RTL descriptions with virtual controllers and datapaths
Shahshahani et al. Resource and performance estimation for CNN models using machine learning
JPH1063537A (ja) プロパティ検証方法および装置
Nepomnyashchy et al. Methods and algorithms for a high-level synthesis of the very-large-scale integration
Mahzoon et al. Polynomial formal verification of general tree-like circuits
Sadeghi-Kohan et al. Improving polynomial datapath debugging with HEDs
KR102423988B1 (ko) 사물인터넷 모델 검증 방법 및 장치