JP5012418B2 - 検証方法、システム及び記憶媒体 - Google Patents

検証方法、システム及び記憶媒体 Download PDF

Info

Publication number
JP5012418B2
JP5012418B2 JP2007282426A JP2007282426A JP5012418B2 JP 5012418 B2 JP5012418 B2 JP 5012418B2 JP 2007282426 A JP2007282426 A JP 2007282426A JP 2007282426 A JP2007282426 A JP 2007282426A JP 5012418 B2 JP5012418 B2 JP 5012418B2
Authority
JP
Japan
Prior art keywords
approaches
reachability
verification
image calculation
image
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.)
Expired - Fee Related
Application number
JP2007282426A
Other languages
English (en)
Other versions
JP2008123517A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2008123517A publication Critical patent/JP2008123517A/ja
Application granted granted Critical
Publication of JP5012418B2 publication Critical patent/JP5012418B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Eye Examination Apparatus (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Stored Programmes (AREA)

Description

本明細書中に開示される実施形態は、検証(verification)に関して、より具体的には、有機的アプローチによるハードウェア又はソフトウェアの検証及び到達可能性解析(reachability analysis)に関する。
複雑なハードウェア及びソフトウェア設計の開発が増えるに伴って、既存の検証技術の限界がより明白になりつつある。一般に、検証は、ソフトウェア及び/又はハードウェア設計が特定の仕様又は特性に関して期待される条件を満足するかどうかをチェックすることに対応する。検証に対する一般的アプローチは、設計の特性をチェックすることである。1つのこのようなアプローチは、システムの不変性に関する無限モデル照合である。これは、一般に、到達可能性解析を実施することによって行われる。かかるアプローチは、初期状態から到達可能な全ての状態を見つけ出して、不変性が到達可能状態で満足されるかどうかをチェックすることを対象とする。通常、到達可能性解析は、計算に基づく遷移関係(transition relation)を用いて実施される。しかし、無限モデル照合及び他の類似のアプローチは、特に大規模設計を表す際に、所謂状態爆発(state explosion)問題を有する。これは、到達可能状態を扱う表示(representaion)の大きさが指数関数的に大きくなるためである。更に、かかる表示の大きさに起因して、大きなメモリ空間がかかる表示を記憶するために必要とされる。
大きなメモリ空間の使用を必要とすることに加えて、有効状態セットを計算するための一般的な技術は、完全なエラー検出範囲が必要とされるので、全ての到達可能状態が計算されることを要する。全ての計算サブ動作は、新しい状態が抽出される前に完了される必要があるので、かかる技術は、単一の計算の間に解析又は検証を可能にしない。即ち、夫々の結合(conjunction)は、前の1つが完了した後にのみ実施され得る。従って、全ての計算が完了するまで、新しい状態を抽出するメカニズムは存在しない。
通常、有効状態セットは、大規模回路シミュレーションを実行することによって計算される。これは、無効状態がシミュレーションの間に検出されるならば、特性が無効にされ得るためである。しかし、有効状態のセットは通常、明示的に列挙するには大きすぎるので、シミュレーションにより特性を有効にすることは可能でない。一般的なデジタル回路の検証は、大規模シミュレーションによって実行されてきたが、それらの性能は、シミュレーションが補償範囲全体を提供せず、起こり得る刺激の僅かの部分しかチェックせず、バグ/問題を検出されないままとするので、十分でない。
一般に、検証は、全ての計算が完了するまで1つの計算を実行し、その結果をチェックし、かかる結果によって満足されないならば、異なる方法を実行する。かかる技術は、全ての到達可能状態の計算のためのリソースを費やすことを必要とせずに最適な解決法を決定して、個々の技術を解析するインテリジェントな方法を提供しない。また、一般的な検証技術は、全ての計算の完了まで特定の方法に制限されるので、検証の特定の段階において適用されるべき方法を指定することは不可能である。
様々な検証技術が提案されているが、既存の検証技術は、検証を能率的に実行するよう最適な解決法を特定する方法を提供しない。次善の方法と、より良く適する方法との間の差異は桁違い又はそれ以上であるため、最適な検証方式を提供する検証システム及び方法が必要とされる。
本明細書中に開示される実施形態は、並行して複数の計算を実行し、個々のアプローチの効率に基づいて使用のための計算アプローチの1つを選択する方法及びシステムを提供する。
開示される方法は、同時に実行する計算アプローチの1つを選択することによって、検証を受けるシステムの到達可能状態を取得するステップと、当該システムの目標仕様に関して到達可能状態を解析することによって、当該システムの特性を検証するステップとを含む。
これらは、後に明らかにされる他の態様及び効果とともに、添付の図面を参照して、より詳細に以下で説明される構成及び動作の詳細に含まれる。図面において、同じ参照番号は同じ構成要素を表す。
本発明により、従来技術と比して、最適な検証方式を提供する検証システム及び方法を提供することが可能となる。
ここで、本明細書中で説明される本実施形態を詳細に参照する。これら本実施形態の例は添付の図面に表される。なお、同じ参照番号は、図面全体を通して同じ要素を表す。かかる実施形態は、以下、図を参照することによって、開示されるシステム及び方法を説明するために記載される。それでもなお、当然、それによって本発明の技術的範囲は限定されず、例えば、表される装置における代替及び更なる変形や、本明細書中に表される原理の更なる応用が、かかる実施形態に関連する技術分野において通常の知識を有する者にとって通常なされるように行われ得る。
かかる実施形態は、ハードウェア及びソフトウェア設計の検証のための有機的なアプローチに関して記載されている。開示されるアプローチは、プログラム、ソフトウェア、1又はそれ以上ハードウェア部品、又は全体で複数の構成要素を有する機器を検証するために使用される。到達可能性解析とは、計算が、一定の点が到達されるまで、プログラム又は機械の初期状態に対して実施されるところの前進的到達可能性と、計算が、その無効状態が得られるまで、特性から得られる状態セットの補完へ適用されるところの後進的到達可能性とを言う。
図1は、有機的な検証アプローチを実施するシステムを表す。図1に示されるように、システム10は、検証装置14a及び14bへ接続された制御装置12を有する。制御装置12は、検証装置14を用いて実施されるハードウェア又はソフトウェア検証を管理し、検証装置14へ検証を受けるハードウェア又はソフトウェアに関連する設計情報を供給することができる。制御装置12は、また、ネットワーク15を介して、検証を受けるシステム(又はプログラム)の設計、仕様若しくは特性の情報を提供するソース13に接続され得る。制御装置12は、図1においてネットワーク15を介してソース13へ接続されているが、システム10は、如何なる特定のソースから検証を受けるシステムの情報を取得することにも制限されない。例えば、ユーザは、検証装置14の入力ユニット18を用いて、検証を受けるハードウェア/ソフトウェアの設計情報を入力することができる。
検証装置14a及び14bは、夫々、表示ユニット16a及び表示ユニット16bを有する。表示ユニット16a及び16bは、状態セットのデータ、初期若しくは現在の状態、要求若しくは目標仕様が満たされたかどうかを示す検証結果、あるいは、検証を受けるハードウェア/ソフトウェアに関連する検証及び/又は到達可能性の解析に関する他のデータを含むが、それらに限定されない、検証を受けるハードウェア/ソフトウェアの情報を提供する。
検証装置14a及び14bは、検証を受けるハードウェア又はソフトウェアの変数、パラメータ、機能又は特性の入力を可能にする対応する入力ユニット18a及び18bを有しても良い。代替的に、検証を受ける対象の特性は、制御装置12を介してソース13から取得され得る。更に、システム10は、また、例えば、検証を受けるシステムの設計情報を与えるヴェリログ(Verilog)のようなハードウェア記述言語や、システムの設計情報を関数に変換するオープンソースツールなどを有しても良い。
図1は、複数の処理層及びメモリを備えた構造20aを有する検証装置14aを表し、一方、検証装置14bは、1つの処理装置及び1つのメモリを備えた構造20bを有するように表される。しかし、本発明は、如何なる特定のアーキテクチャにも限定されない。例えば、システム10は、メモリへ接続された2又はそれ以上の処理装置を有する対称型マルチプロセッシング(SMP)アーキテクチャや、複数のメモリを備えた一連の処理装置を有するグリッド構造などを有しても良い。更に、検証に関する並列処理は、複数のスレッドを実施するマルチコア処理装置により実行されても良い。また、図1に表されるように、システム10は、検証を実行するための更なる検証装置を有することができる。検証装置14の動作は、図2、3A及び3Bに関して、以下でより詳細に説明される。
図1に示されるように、システム10は、検証に関する情報を記憶するデータベース19を有することができる。データベース19に記憶される情報は、代理人明細書1956.1002、発明者Jawahar Jain等による「検証に基づく遷移関係の選言的な分割」と題され、2007年10月19に出願された米国出願整理番号11/875,364の特許文献に開示されるような、検証を受けるシステムの選言的遷移関係分解表示(disjunctive transition relation decompostion representation)を含む二分決定グラフ(Binary Decision Diagram;BDD)、システムの到達可能状態、システムの目標仕様、システムの機能などを含んでも良い。更に、データベース19は、また、IWLA‘95、MLPなどを含むが、それらに限定されない、例えば遷移関数、パーティション順BDDなどの、検証の間に使用される様々な形式の技術及び/又はアルゴリズムを記憶することもできる。
システム10は、両方の検証装置14a及び14bへシステムの初期状態を提供することによって、又は、検証装置14a及び14bの間でシステムの遷移関係の1又はそれ以上の分解要素を分配することによって、検証を受けるシステムに関する到達可能性解析を実施することができる。制御装置12は、例えば、操作可能な状態のまま、システムの遷移関係のセマンティクスを捕らえる補助関数を構成することによって、検証を受けるシステムの遷移関係の分解を構築する。例えば、システム10は、検証を受けるシステムの遷移関係を、例えば、代理人明細書1956.1002、2007年10月19日に出願された米国出願整理番号11/875,364の、発明者Jawahar Jain等による「検証に基づく選言的遷移関係の分解」と題された米国特許出願に開示されたTRのような構成要素に分解しても良く、かかる構成要素の夫々は、複数の計算アプローチを用いて到達可能性解析を実施するよう、検証装置14の処理装置へ提供され得る。検証を受けるシステムの到達可能性解析を実施するための動作は、図3A及び3Bに関連して、以下でより詳細に説明される。
到達可能性解析の中心は、状態セットSが与えられる場合に、次のクロック周期でSから到達可能である全ての状態Si+1を検出する計算動作である。通常、与えられる不変性P(バーs)は、到達可能性解析の間チェックされる。不変性は、総体的な到達可能状態がR(バーs)⊂P(バーs)であるならば満たされ、それ以外の場合には満たされない。到達可能性解析の間、得られる状態セットの中に到達不可能な状態が存在するならば、検証を受けるシステムにはエラーが存在しうる。同様に、エラーは、また、かかるセットの否定が到達可能状態のいずれかをもたらす場合には、存在すると判断され得る。システムを検証するための他の方法は、検証されるべき特性が時間セマンティクスを有しうるので、1度に1つを実際の計算において調べることである。例えば、値がクロック周期iで真であるならば、他の値はクロック周期i+5で真である。到達可能性解析の特定の例が記載されるが、本発明は、到達可能性解析を実施する如何なる特定の技術にも限定されず、また、線形時間ロジック(Linear Temporal Logic;LTL)や、計算ツリーロジック(Computational Tree Logic;CTL)などのような、特性を検証する言語を使用することができる。
k個のラッチ及びr個の入力を有する同期回路は、リセット状態セットSと、そのメモリ素子のk個の次の状態関数δ:{0,1}×{0,1}|→{0,1}をカプセル化する遷移関数δ:{0,1}×{0,1}|→{0,1}とによって定義される。遷移関係
Figure 0005012418
は、ブール関数として形成され得る。なお、
Figure 0005012418
であり、遷移関係は、
Figure 0005012418
として計算される。関数
Figure 0005012418
は、回路のビット関係である。状態セットSで動作する場合、計算は
Figure 0005012418
であり、到達可能状態セットは
Figure 0005012418
である。
前出の式(1)から暗示されるように、モノリシック構造の遷移関係は、比較的小さなビット関係に関してすら失敗となる可能性が高い。選言的な遷移関係の分解の効果は、ブール関数として形成される遷移関数
Figure 0005012418
が以下
Figure 0005012418
に従って分解される場合に明白であり、は、以下
Figure 0005012418
のように計算され得る。
次いで、遷移関係の構成要素の夫々に関する計算は、存在量化が選言(disjunction)全体にわたって分布するので、独立に計算され得る。更に、かかる計算は分解が得られた後に実行され得るので、各計算において入力変数バーpを定量化する必要はない。具体的に、前置計算は、以下
Figure 0005012418
に従って実施され得る。なお、計算は、以下
Figure 0005012418
のように表される。
システム10を用いて実行される検証アプローチは、検証を実行するよう要求するユーザによって選択可能な、あるいは、例えば「検証に基づく選言的遷移関係の分解」と題された米国出願整理番号11/875,364に開示されるアルゴリズムなどのようにユーザ提供されるアルゴリズムに基づき、予め決定され得る。しかし、本発明は、如何なる特定の検証アプローチを実行することにも限定されず、計算のレベルで、状態を発生させることができる如何なるアルゴリズムを用いても実施され得る。
開示されるシステム10は、他の状態を発生させ、所与の数の計算を行い、特定の時間間隔で又は計算レベルで並行して実行する複数のアプローチを同期させるために使用され得る複数の計算を実行することができる。計算の様々なスケジューリングの実施は、図4に関連して、以下でより詳細に説明される。
有機的な検証アプローチのための例となる処理30は図2に表される。図2に示されるように、処理30は、並行して複数の計算アプローチを実行すること32によって開始する。例えばクラスタ化、順序づけ、並列化、及び遷移関数、分割BDD、IWLS、MLPなどの遷移関係技術のような、初期状態(即ち、現在の状態。)から到達可能な全ての状態を得るための様々なアプローチが、同時に実行され得る。各到達可能性アプローチは、専用の処理装置が各到達可能性アプローチを実行することを可能にするよう、検証装置14(図1)の処理装置の1つへ割り当てられ得る。代替的に、計算アプローチの処理は、検証装置の構造20a及び構造20bの処理装置にわたって分配され得る。
実行32の後、処理30は、個々のアプローチの効率に基づいて、各計算で使用される計算アプローチの1つを選択すること34によって続く。アプローチは、並行して実行する他のアプローチにより実施される到達可能性解析と比べて、そのアプローチによる到達可能性解析の完了の時間に基づいて選択され得る34。例えば、並行して実行する他のアプローチのいずれかよりも前に、検証を受けるシステムの状態に関して計算を完了するアプローチは、システム10(図1)によって選択され得る。システム10は、検証に関する処理の様々な段階でアプローチの1つを選択しても良く、選択されるアプローチにより得られる結果は、他のアプローチによる検証のその後の段階で状態を得るために使用され得る。例えば、アプローチは、計算が検証を受けるシステムの状態を用いて実行されている間に選択されても良く、計算の結果は、その後の計算を実行するよう、並行して実行する他のアプローチへ供給され得る。
図3Aは、複数の計算アプローチを実行するための動作40を表す。検証を受けるシステムの遷移関係(Transition Relation;TR)42は、ブール関数として形成され、初期状態から到達可能な状態を見つけ出して、検証されるべきシステムの特性が到達可能状態で満足されるかどうかをチェックするために、アプローチ1乃至3へ供給される。図3Aに示されるように、アプローチ1及び2は、TR42を用いて、検証を受けるシステムの到達可能状態を得る。アプローチ1及び2が、並行して実行するアプローチ3と比較して、最適に到達可能状態を得ていると判断される場合、得られた到達可能状態は、システムの目標仕様に関してシステムの特性を検証するために使用され得る。代替的に、アプローチ3が、アプローチ1及び2に比較して最適であると判断される場合には、アプローチ3により得られた到達可能状態は、システムの目標仕様に関してシステムの特性を検証するために利用される。アプローチ1及び2は、検証を受けるハードウェア又はソフトウェアの検証のための計算を実行するために使用され得るIWLS、MLP、又はその他既存のアプローチであっても良い。
アプローチ3は、TR42の分解TR1、TR2及びTR3を形成し、かかる分解を、「検証に基づく選言的遷移関係の分解」と題された米国出願番号11/875,364の特許文献に開示されるような選言的遷移関係表示へと変換する。好ましい実施形態で、分解TR1、TR2及びTR3の大きさは、最適な計算が分解要素の夫々にわたって実施されるように、分解要素の夫々の間の平衡の達成に基づいて決定される。例えば、関数は、相対的に等しい数のノードを有するTR1、TR2及びTR3分解要素を表すよう構成され得る。更に、分解要素は、他の分解要素によって表される状態を除いて、状態セットを表すことに限定されない。代わりに、かかる要素によって表される組は重複をもたらしうる。
動作40は、アプローチ1乃至3のうちのどれが到達可能性解析を実施するための最適な解決法を提供するかを、例えば、解析の完了の時間に基づいて決定し、更に、検証を受けるシステムの特性を検証するために、選択されたアプローチを使用する。
図3Aに表されるように、処理装置の構造44は、アプローチ1乃至3のいずれか1つを用いて検証を受けるシステムの到達可能状態を得るために提供され得る。例えば、TR1は、検証を受けるシステムの到達可能状態を得るために処理装置44bへ提供され得、一方、TR2は処理装置44aへ提供される。アプローチ1及び2のTR42は、また、構造44の処理装置のいずれかへ提供され得る。動作40は、検証を受けるシステムのTR42をアプローチ1乃至3へ提供し、アプローチ3は、TRを要素(TR1、TR2、TR3)に分解することによって様々にTRを扱い、アプローチ1及び2はモノリシック構造の遷移関係(TR)を維持する。例えば、アプローチ1及び2は、検証を受けるシステムの遷移関係の結合した要素を保つMLP/IWLSのようなアプローチであっても良い。
図3Bは、検証を受けるシステムの遷移関係の分解へ複数のアプローチを適用する動作50を表す。図3Bに表されるように、TR52は、複数の選言要素52a、52b及び52cに分解され、分解52a、52b及び52cは、アプローチ1乃至3及び/又は処理装置54へ送られる。例えば、TR1の到達可能性解析は、処理装置54aを用いてIWLSにより実行され得、一方、TR2は、処理装置54cを用いて到達可能性解析を実行するようMLBへ提供される。
並行して実行する計算アプローチの結果が、アプローチ1が最も効率的であること示す場合、アプローチ2及び3の処理は終了され、アプローチ1からの結果が、検証を受けるシステムの特性を検証するために使用される。更なる計算が、アプローチ1により得られる結果が最も効率的であると決定した後に実行される必要がある場合、かかる結果はアプローチ2及び3へ提供される。従って、アプローチ1乃至3は、アプローチ1により得られる結果を用いて、その後の計算を行う。
更に、アプローチ1乃至3は、処理装置54の1又はそれ以上を用いて到達可能性解析を実施するよう構成され得る。例えば、処理装置54aが、並行して実行する構造54における処理装置のどれよりも前に、検証を受けるシステムの到達可能性解析の実行を終えたならば、処理装置54aによりもたらされた結果は、その後の到達可能性解析を実施するために処理装置54b乃至54dへ提供される。
これは、特に、多数の計算を実行する必要がある大規模回路に関して、効率的な到達可能性解析を可能にする。並行して実行する多数のアプローチを同期させるリソースを仮定する場合でさえ、このようなコミュニケーションのための不利益は修正される。好ましい実施形態で、同期は、計算リソースを最適に使用するよう計算の間実施される。
本質的に、動作40及び50は、検証を受けるシステムに関して到達可能性解析を実施するための最適な解決法を特定するよう決定がなされるところの計算に対応する中間点を与える。例えば、アプローチ3を用いて到達可能状態を得た後、アプローチ1及び2の処理は終了され、その後の到達可能状態は、アプローチ3によって提供される到達可能状態を用いて取得される。各中間点で、制御装置12(図1)は、どのアプローチがその後の到達可能状態を得るために実行されるべきかをもう一度決定することができる。
図3Aに示されるように、アプローチ1及び2は、TR42を用いて到達可能性解析を行って、夫々、特定の到達可能性アプローチにより状態を提供し、一方、選言要素52a、52b及び52cは、図3Aに示されるように、アプローチ1乃至3へ適用され得る。動作40及び50は、検証を受けるシステムの状態の特定のセットを取り上げ、新しい状態セットを発生させるようTRを用いて計算を適用する。例えば、他の並列実行アプローチの中から最適であると判断されるアプローチを用いてTR1を扱うことによって得られるシステムの到達可能状態は、新しい状態セットを発生させるよう、他の並列実行アプローチへ送られる。そのようなものとして、動作40及び50は、検証の様々な段階における最適な検証の解決法の決定を可能にする。
動作40及び50は、検証を受けるシステムの遷移関係の選言要素が、夫々、複数の計算アプローチを用いて到達可能状態を得るために使用されるところの様々なレベルの並列化を提供し、遷移関係及びその選言要素は、複数の計算アプローチを用いて到達可能状態を得るために使用される。分解要素の結果を無視することにより状態セットの部分的な検証を得ることが可能であり、一方、分解要素から生じた状態が他の要素と重なって、形式にかなった検証を与えることが可能である。更に、到達可能性アプローチが実行され続けるならば、検証は、重複した要素により形式にかなったものとなりうる。
更に、既存のアプローチが到達可能状態を得られなかった場合、遷移関係の構成要素を形成することにより、検証アプローチが到達可能状態を得るために利用され得るところの遷移関係の一部を処理する機会が与えられる。
図4は、有機的な検証アプローチの構成を表す。図4に示されるように、検証のための有機的なアプローチは、検証方式A、B及びCを組み合わせて、微視的レベルで1の方式から他の方式へと切り替えることによって与えられる。所与の計算から、有機的な検証アプローチは、並行して方式A乃至Cを用いて到達可能性解析を実行し、かかる方式の1つによる解析の完了時に到達可能性解析を夫々ペンディングしたままとすることを取消し、一定の点が到達されるまで全ての他の方式へかかる計算を転送する。そのようなものとして、有機的な検証アプローチは、1の計算フロンティアから他の計算フロンティアへのトレースを可能にする。なお、各部は複数の手法を用いることができる。
有機的なアプローチによる到達可能状態セットは、一定の又は所定の点が到達されるまで、TR及び/又はTRの選言要素を用いて計算を繰り返し実行することによって得られる。到達可能状態の取得が終了されるところの点は、例えば、所与の数の状態セットが、システム設計者によって与えられる近似した数の状態に基づいて得られるところの点でありうる。所定の点は、また、準公式の検証結果を与えるために選言的TR要素を用いて存在量化を選択的に適用することによって決定され得る。幾つかの例が、到達可能状態の取得が終了されるところの点を決定するために与えられるが、本発明は如何なる特定の決定にも限定されず、検証装置及び/又は設計者を含む様々な要素が考慮され得る。例えば、中間点は、遷移関係の要素に関する計算の完了に対応する点に対応する必要はない。
開示される検証システム及び方法に従って、方式A及びBを考えると、有機的なアプローチが達成する最終的な実行時間は、A又はBのまさに最小値ではないが、いずれか一方よりも小さい。これは、開示される有機的なアプローチが、各計算の間に複数の方式(A、B及び/又はC)を並行して試みることができるためであり、単一のアプローチの使用に固定されない。
要素が選択される順序は解析の正確さにとって重大ではないが、要素の夫々について計算を実行することの性能に対する影響は重要である。計算スケジュールのための要素の順序は、完了時間を最適化するために指定され得る。システム10(図1)は、順次スケジュール、スレデッド(threaded)スケジュール、同期スレデッドスケジュールなどを含むが、それらに限定されない、分解要素の計算に関する様々な形式のスケジューリングを実施することができる。
有機的な検証アプローチは、TR選言要素の夫々が順次的な計算を実行するよう構成されるところの順次スケジューリングを実施することができる。例えば、計算は、図3Aに示されるTR要素42a、42b、42cを用いて連続して実行され得る。代替的に、スレデッドスケジューリングは、構造44における処理装置の各スレッドがアプローチ1乃至3のうちの1つを適用して、次の計算の前に全てのスレッドが完了するまで待機するよう構成され得る場合に、実施され得る。スレデッドスケジュールはいつでも並行して結果を得るが、それにまでに完了したスレッドはシステム10(図1)へ結果を返す。従って、他のスレッドが開始する場合に、その他のスレッドは結果の現在の状態を知る。更に、開示される有機的な検証は、また、現在の状態セットにおいて、計算がTRを用いて適用されるところの同期スケジューリングを実施しても良く、かかるアルゴリズムは、全てのこのような計算が完了した後にのみ繰り返し、結果は状態セットに集められる。
そのようなものとして、開示される有機的な検証アプローチは、並行して実行する複数のアプローチの中から最適なアプローチを決定することによって、既存の検証方式の有効性を増し、計算の間に1のアプローチから他のアプローチへの切替えを可能にする。
本実施形態の多数の特徴及び効果は、詳細な記載から明らかであり、従って、添付の特許請求の範囲によって、その真の趣旨及び技術的範囲の中にある実施形態の全てのこのような特徴及び効果を包含することが意図される。更に、多数の変形及び変更は所謂当業者によって容易になされるので、図示及び記載される厳密な構成及び動作に本発明の実施形態を限定することは好ましくなく、従って、全ての適切な変形及び均等はその技術的範囲に属するよう用いられる。
本願は、米国特許商標局において2006年10月31に出願された、発明者Jawahar Jain等による「有機的アプローチによる検証」と題された米国出願整理番号60/855,411に関し、その優先権を主張する。その特許文献の開示は、参照することにより本願に援用される。
(付記1)複数の計算アプローチを並行して実行するステップと、
個々のアプローチの効率に基づ使用のために前記計算アプローチの1つを選択するステップとを有する方法。
(付記2)前記計算アプローチの1つを選択するステップは一定の時間間隔で行われる、付記1記載の方法。
(付記3)前記計算アプローチの1つを選択するステップは各計算において行われる、付記1記載の方法。
(付記4)選択された前記計算アプローチの1つにより、検証を受けるシステムの到達可能状態を得るステップと、
前記システムの目標仕様に対して前記到達可能状態を解析することによって前記システムの特性を検証するステップとを有する、付記1記載の方法。
(付記5)前記計算アプローチの1つを選択するステップは、選択された前記計算アプローチの1つを除いて前記複数の計算アプローチの処理を終了するステップを含む、付記1記載の方法。
(付記6)前記複数の計算アプローチの前記処理は、後の計算において実行される、付記5記載の方法。
(付記7)単一の処理装置は、前記複数の計算アプローチを実行するために使用される、付記1記載の方法。
(付記8)処理装置は、前記複数の計算アプローチの夫々へ割り当てられる、付記1記載の方法。
(付記9)並行して実行する到達可能性アプローチの中から、個々の前記到達可能性アプローチの効率に基づき、適切なアプローチを選択するステップと、
前記適切な到達可能性アプローチにより検証を受ける回路の状態を発生させ、該回路の特性が前記状態で満足されるかどうかをチェックするステップとを有する検証の方法。
(付記10)前記選択に従って計算を行う、付記9記載の方法。
(付記11)前記到達可能性アプローチの実行は、所定の点が到達されるまで繰り返される、付記9記載の方法。
(付記12)前記到達可能性アプローチの1つは、
前記回路の遷移関係の分解を構築するステップと、
前記分解を選言的遷移関係表示へ変換するステップと、
前記遷移関係表示を操作し、前記回路の到達可能状態を得るステップとを有する、付記9記載の方法。
(付記13)前記適切なアプローチのみが、所定の点が到達されるまで実行/継続される、付記12記載の方法。
(付記14)計算は、同時に、順次に処理装置によって行われ、
各処理装置は一定の時間間隔で同期する、付記12記載の方法。
(付記15)前記分解の夫々の大きさは所定閾値を下回る、付記14記載の方法。
(付記16)前記到達可能性アプローチの1つは、前記選言的遷移関係表示の前記分解の構成要素に対して利用される、付記15記載の方法。
(付記17)アプローチは、前記検証の異なる段階で、該異なる段階での到達可能性解析の完了の時間に基づき選択される、付記9記載の方法。
(付記18)検証を受けるシステムの到達可能状態と、前記システムの選言的遷移関係分解表示と、前記システムの目標仕様とを含むデータ構造を有するコンピュータを制御するコンピュータ読み取り可能な記憶媒体。
(付記19)コンピュータに、
複数の計算アプローチを並行して実行するステップと、
個々のアプローチの効率に基づく使用のために前記計算アプローチの1つを選択するステップとを有する動作を実行させるプログラムを記録したコンピュータ読み取り可能な媒体。
(付記20)複数の計算アプローチを並行して実行する少なくとも2つの処理装置と、
個々のアプローチの効率に基づく使用のために前記計算アプローチの1つを選択する制御装置とを有するシステム。
有機的な検証アプローチを実行するよう構成されたシステムのブロック図である。 計算アプローチを選択するフローチャートである。 複数の計算アプローチの実行を表す図である。 複数の計算アプローチの実行を表す図である。 有機的な検証アプローチの構成を表す図である。
12 制御装置
13 ソース
14a,14b 検証装置
15 ネットワーク
16a,16b 表示ユニット
18a,18b 入力ユニット
19 データベース
20a,20b 構造
42,52 遷移関係(TR)
44,54 処理装置

Claims (20)

  1. 一つまたは複数の処理装置によって、検証を受けるシステムの到達可能状態を得るための複数の像計算アプローチを並行して実行するステップと、
    制御装置によって、並行して実行されている個々の像計算アプローチのうちから、効率に基づいて、各像計算での使用のために、前記像計算アプローチの1つを、ある像計算レベルにおいて選択するステップと、
    検証手段によって、選択された前記像計算アプローチの1つにより得られた前記検証を受けるシステムの到達可能状態を、前記システムの目標仕様に対して解析することによって前記システムの特性を検証するステップとを有する方法。
  2. 前記像計算アプローチの1つを選択するステップは一定の時間間隔で行われる、請求項1記載の方法。
  3. 前記像計算アプローチの1つを選択するステップは各像計算において行われる、請求項1記載の方法。
  4. 前記処理装置によって、選択された前記像計算アプローチの1つにより、検証を受けるシステムの到達可能状態を得るステップを有する、請求項1記載の方法。
  5. 前記像計算アプローチの1つを選択するステップは、選択された前記像計算アプローチの1つを除いて前記複数の像計算アプローチの処理を終了するステップを含む、請求項1記載の方法。
  6. 前記複数の像計算アプローチの前記処理は、後の像計算において実行される、請求項5記載の方法。
  7. 前記複数の像計算アプローチを実行するために単一の処理装置が使用される、請求項1記載の方法。
  8. 前記複数の像計算アプローチの夫々に処理装置が割り当てられる、請求項1記載の方法。
  9. 検証を受ける回路に対して並行して一つまたは複数の処理装置が実行する到達可能性アプローチの中から、個々の前記到達可能性アプローチの効率に基づき、適切なアプローチを制御装置が像計算レベルごとに選択するステップと、
    前記適切な到達可能性アプローチにより検証を受ける回路の状態を前記処理装置が発生させ、該回路の特性が前記状態で満足されるかどうかをチェック手段がチェックするステップとを有する検証の方法。
  10. 前記処理装置が前記選択に従って像計算を行う、請求項9記載の方法。
  11. 前記到達可能性アプローチの実行は、所定の点が到達されるまで繰り返される、請求項9記載の方法。
  12. 前記処理装置が実行する前記到達可能性アプローチの1つは、
    前記回路の遷移関係の分解を構築するステップと、
    前記分解を選言的遷移関係表示へ変換するステップと、
    前記遷移関係表示を操作し、前記回路の到達可能状態を得るステップとを有する、請求項9記載の方法。
  13. 前記適切なアプローチのみが、所定の点が到達されるまで実行/継続される、請求項12記載の方法。
  14. 計算は、同時に、順次に処理装置によって行われ、
    各処理装置は一定の時間間隔で同期する、請求項12記載の方法。
  15. 前記分解の夫々の大きさは所定閾値を下回る、請求項14記載の方法。
  16. 前記到達可能性アプローチの1つは、前記選言的遷移関係表示の前記分解の構成要素に対して利用される、請求項15記載の方法。
  17. アプローチは、前記検証に関する処理の様々な段階で、該異なる段階での到達可能性解析の完了の時間に基づき選択される、請求項9記載の方法。
  18. 検証を受けるシステムの到達可能状態と、前記システムの選言的遷移関係分解表示と、前記システムの目標仕様とを含むデータ構造を有するコンピュータを制御するプログラムであって、前記制御は、
    検証を受けるシステムに関して複数の像計算アプローチを並行して実行するステップと、
    並行して実行されている複数のアプローチのうちから、使用するアプローチを、ある像計算レベルにおいて選択するステップと、
    選択されたアプローチを使って得られた前記検証を受けるシステムの到達可能状態を、前記システムの目標仕様に対して解析することによって前記システムの特性を検証するステップとを含む、
    プログラム。
  19. コンピュータに、
    検証を受けるシステムの到達可能状態を得るための複数の像計算アプローチを並行して実行するステップと、
    並行して実行されている個々の像計算アプローチのうちから、効率に基づいて、各像計算での使用のために、前記像計算アプローチの1つを、ある像計算レベルにおいて選択するステップと、
    選択された前記像計算アプローチの1つにより得られた前記検証を受けるシステムの到達可能状態を、前記システムの目標仕様に対して解析することによって前記システムの特性を検証するステップとを有する動作を実行させるプログラム。
  20. 検証を受けるシステムの到達可能状態を得るための複数の像計算アプローチを並行して実行する少なくとも2つの処理装置と、
    並行して実行されている個々の像計算アプローチのうちから、効率に基づいて、各像計算での使用のために、前記像計算アプローチの1つを、ある像計算レベルにおいて選択する制御装置とを有するシステム。
JP2007282426A 2006-10-31 2007-10-30 検証方法、システム及び記憶媒体 Expired - Fee Related JP5012418B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US85541106P 2006-10-31 2006-10-31
US60/855,411 2006-10-31
US11/924,291 US8595659B2 (en) 2006-10-31 2007-10-25 Verification and reachability using an organic approach
US11/924,291 2007-10-25

Publications (2)

Publication Number Publication Date
JP2008123517A JP2008123517A (ja) 2008-05-29
JP5012418B2 true JP5012418B2 (ja) 2012-08-29

Family

ID=39154110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007282426A Expired - Fee Related JP5012418B2 (ja) 2006-10-31 2007-10-30 検証方法、システム及び記憶媒体

Country Status (3)

Country Link
US (1) US8595659B2 (ja)
EP (1) EP1939773A3 (ja)
JP (1) JP5012418B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595659B2 (en) * 2006-10-31 2013-11-26 Fujitsu Limited Verification and reachability using an organic approach
US8719214B2 (en) * 2011-09-23 2014-05-06 Fujitsu Limited Combining medical binary decision diagrams for analysis optimization
US10263422B2 (en) * 2012-02-23 2019-04-16 Cyber Power Systems Inc. Shutdown controlling method for power system
US8875074B1 (en) * 2013-04-23 2014-10-28 Infineon Technologies Ag Formal fault detection

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788556B2 (en) * 2002-11-13 2010-08-31 Fujitsu Limited System and method for evaluating an erroneous state associated with a target circuit
JP4418353B2 (ja) 2003-11-20 2010-02-17 富士通株式会社 複数のエンジンを利用した回路検証
US7594195B2 (en) * 2005-06-07 2009-09-22 Fujitsu Limited Multithreaded reachability
US7546563B2 (en) * 2005-06-28 2009-06-09 Fujitsu Limited Validating one or more circuits using one of more grids
US8595659B2 (en) * 2006-10-31 2013-11-26 Fujitsu Limited Verification and reachability using an organic approach

Also Published As

Publication number Publication date
US8595659B2 (en) 2013-11-26
US20080109202A1 (en) 2008-05-08
JP2008123517A (ja) 2008-05-29
EP1939773A3 (en) 2008-11-26
EP1939773A2 (en) 2008-07-02

Similar Documents

Publication Publication Date Title
Wang et al. Melia: A mapreduce framework on opencl-based fpgas
US9477799B2 (en) Hierarchical determination of metrics for component-based parameterized SoCs
US8181132B2 (en) Validating one or more circuits using one or more grids
Vianna et al. Analytical performance models for MapReduce workloads
US11624773B2 (en) System and methods for analyzing and estimating susceptibility of circuits to radiation-induced single-event-effects
Cai et al. Tensoropt: Exploring the tradeoffs in distributed dnn training with auto-parallelism
Piscitelli et al. Design space pruning through hybrid analysis in system-level design space exploration
Drinic et al. Latency-guided on-chip bus-network design
JP5012418B2 (ja) 検証方法、システム及び記憶媒体
Nouri et al. Building faithful high-level models and performance evaluation of manycore embedded systems
US9720792B2 (en) Information theoretic caching for dynamic problem generation in constraint solving
Kansakar et al. A design space exploration methodology for parameter optimization in multicore processors
Janssen et al. A specification invariant technique for regularity improvement between flow-graph clusters
Cheng et al. FastFold: Optimizing AlphaFold Training and Inference on GPU Clusters
Chatterjee et al. EQUIPE: Parallel equivalence checking with GP-GPUs
González-Álvarez et al. Automatic design of domain-specific instructions for low-power processors
Shao et al. Self-Adaptive Anomaly Detection With Deep Reinforcement Learning and Topology
Noack et al. High-performance hybrid-global-deflated-local optimization with applications to active learning
Ramamonjisoa et al. Simulation of asynchronous iterative algorithms using simgrid
Paone et al. An exploration methodology for a customizable opencl stereo-matching application targeted to an industrial multi-cluster architecture
Czappa et al. Design-time performance modeling of compositional parallel programs
Czekster et al. Simulation of Markovian models using Bootstrap method
EP1918821A2 (en) Disjunctive transition relation decomposition based verification
Needell et al. An asynchronous parallel approach to sparse recovery
Arkin et al. Systematic approach for deriving feasible mappings of parallel algorithms to parallel computing platforms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120305

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120313

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120508

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120521

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees