JP4629682B2 - 有限メモリ検査における埋込みメモリの効率的なモデリング方法 - Google Patents
有限メモリ検査における埋込みメモリの効率的なモデリング方法 Download PDFInfo
- Publication number
- JP4629682B2 JP4629682B2 JP2006551362A JP2006551362A JP4629682B2 JP 4629682 B2 JP4629682 B2 JP 4629682B2 JP 2006551362 A JP2006551362 A JP 2006551362A JP 2006551362 A JP2006551362 A JP 2006551362A JP 4629682 B2 JP4629682 B2 JP 4629682B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- modeling method
- modeling
- sat
- emm
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/54—Arrangements for designing test circuits, e.g. design for test [DFT] tools
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0401—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Debugging And Monitoring (AREA)
- Tests Of Electronic Circuits (AREA)
Description
制御用メモリとデータ用メモリとを有する全体の回路をモデル化する努力の成果において、Velev 他は、使用される記号変数の数が、メモリの大きさではなく、メモリ・アクセスの数に比例することを可能にする行動モデルを発表した(例えば、非特許文献2参照。)。このモデルはメモリを置換し、ソフトウェア・インタフェイスを介して回路のその他の部分と相互に作用する。 Burch と Dill が示したと同様に、Velev 他の読み取りおよび書き込み動作は、メモリ・セマンティクス(すなわち、記憶場所からのデータ読み取りが同じ位置に書き込まれた最新のデータと同じである)の転送性質が満足されるような方法で、定義される。しかし、残念ながら、ブーリアン式を表すために使用されるBDDは、分岐またはロード/格納命令を有するプロセッサに対しては「膨張する」傾向があり、BDDを良く管理することは、データ上のアドレスの依存性のために不可能であり、逆もまた同様である。
「パイプラインで結ばれたマイクロプロセッサ制御の自動的検証」Proceedings of the sixth International Conference on Computer-Aided Verification, volume 818, D. L. Dill, Ed.: Springer-Verlag, 1994, pp. 68-80 「記号シミュレーションにおけるメモリ・アレイの効率的なモデル化」Computer Aided Verification, O.Grumberg, Ed., pp. 399-399 in 1987 「命題論理に対する解釈されない機能の論理に対して効率的な縮減を行うプロセッサ検証」ACM Transactions on Computational Logic (TOCL) on pp.93-134, Vol., 2, No. 1, January 2001 M.N. Velev 、「スーパースケーラ・マイクロプロセッサの形式的検証におけるメモリの自動的な抽象化」 Proceeding of Tools and Algorithms for the Construction and Analysis of Systems, 2001, pp. 252-267 「証明分析を伴うSATベースのBMCを使用する反復抽象化」Proceedings of International Conference on Computer Aided Design in 2003
上記のように構成された本発明においては、第1の態様から考察すると、本発明による新規な方法は、埋込みメモリを有するメモリ・ビットが明示的にモデル化される必要がないような、1つまたは複数の埋込みメモリを有する電子的な設計に適用可能なコンピュータにより実行される方法である。本方法は、データ転送セマンティクスを保存している間に、メモリを設計から除外するステップと、データ転送セマンティクスと、効率的メモリ・モデリング(EMM)制約条件として任意の初期メモリ状態を保存するためのメモリ保存制約条件を、媒介変数がファンアウトしない構造を生成せず、CNFベースのSATソルバーに否定的に影響を及ぼす不必要な2−リテラル節を生成しない表現で収集するステップと、有限分析を使用して設計を検証するステップとを有する。
(最新のSATソルバー)
ブーリアン満足化可能性(SAT)問題は、構成要素であるブール変数によってブーリアン数式に対する割り当てを満足させるか、あるいはこのような割り当てが存在しないことを証明するかの決定を含んでいる。この問題はNP完全として知られており、当業者には容易に理解されよう、最新のSATソルバーは図3に示すようなDPLLスタイルのアルゴリズムを通常使用している。図3を参照すれば、このようなアルゴリズムは、3つの主な構成エンジン、すなわち、決定、推論および診断を有することを容易に知ることができる。
(有界モデル検証)
有界モデル検証(BMC)を使用して、仕様は線形時相論理(LTL)で表現される。クリプケ構造M、LTL数式f、およびバウンドnを仮定すれば、BMCにおける変換タスクは、長さnのウイットネスが存在する場合にのみ本数式が満足できるように、命題式
(証明ベースの抽象化(PBA))
SATベースBMCのためのPBA技術が、図4の行10−11に示される。特に、図4を参照して、行8においてSAT問題が満足できない場合、すなわち、所与の深度iにおいて安全性に対するカウンタ用例が存在しない場合、行10の手順SAT_Get_Refutationを使用して、満足し得ないコア(U_Core)が得られる。この手順は、SATソルバーにより使用された解決ベースのプルーフ・ツリーを単に遡り、非満足化可能性に対して十分な部分集合式を識別する。次に、U_Coreから抽象モデルを得るために、ゲートベースの抽象化あるいはラッチベースの抽象化技術を使用することができる。ここで、深度iにおける1組のラッチ理由LRiを得るために、行11にラッチベースの抽象化技術を示す。
(メモリのセマンティクス)
当業者には容易に理解できるように、埋込みメモリは、それぞれデータ・アクセスに対して少なくとも1つのポートを有するように実現された、ランダムにアクセス可能なメモリ(RAM)、連続的にアクセス可能なメモリ(SAM)、ファーストイン・ファーストアウト(FIFO)およびラストイン・ラストアウト(すなわち、スタック)のような、いくつかの形式で通常使用される。本明細書の説明のために、次のインタフェイス信号、すなわち、アドレス・バス(Addr)、書き込みデータ・バス(WD)、読み取りデータ・バス(RD)、書き込みイネーブル(WE)読み取りイネーブル(RE)、を有する図1に示すような単一ポート・メモリを想定する。
(本発明による方法)
本発明による新規な教示によれば、本発明による方法は、(本発明による形式的検証プラットフォームの一部として)BMC分析のすべてのアンロール深度において、メモリ・モデリング制約条件を追加するメカニズムを使用して、SATベースのBMCを強化する。詳しくは、本発明は、ブーリアン制約条件のハイブリッド表現を使用する、すなわち、元の回路問題を表すために2入力のOR/INVERTERゲートを、学習した制約条件を表すためにCNFを使用する、ハイブリッドSATソルバーを利用する。都合の良いことに、本発明は、効率的なブーリアン制約条件伝搬は、2入力ユニフォーム・ゲート表現に高速の表検索方式を使用して実現できることを決定し、かつ示したので、本発明はメモリ制約条件を効率的にモデル化するためにハイブリッド表現の使用を拡張する、具体的にはハイブリッド表現を2入力ユニフォーム・ゲート(マルチ入力のゲートの代わりに)表現のみと比較する。
(メモリ・モデリング制約条件の効率的な表現)
前述のように、本発明は、数式(3)および(4)を簡潔に収集する制約条件を作るハイブリッド表現を有利に使用する。さらに、本発明によるハイブリッド表現は、次のようにさらなる効率化をもたらす。
(Gen_Addr_Equal_Sig:アドレス比較信号の生成)
この手順において、mはアドレスのビット幅を表す。次に、アドレス比較は次のように実行される。すべてのアドレス対比較
(Gen_Valid_Read_Sig : 排他的有効読み取り信号の生成)
上記の(3)のように排他的有効読み取り信号の表現において、本発明はCNF節の代わりに2入力ゲート表現を使用する。しかし、各媒介変数は他の信号に対してファンアウトを有するので、本発明は完全にそれらを除外することができない。本発明がCNF節を使用してそれらを表現すれば、本発明が避けようと努力する大量の2−リテラル節を導入するであろう。この表現は、すべての深度kに対して、3kの2入力ゲート(あるいは9kのゲート節)を加える。
(Gen_Read_Data_Constraints : 読み取りデータ信号の制約条件の生成)
構造にもとづいて、所与のkに対して、多くても1つの
(ITE表現との比較)
この時点で本発明による新規なハイブリッド方法を、ITE表現を有する表現と比較することは有用である。特に、すべての深度kにおいて、入れ子にされたITE表現を表すために本発明が2入力ゲートを使用すれば、アドレス比較のために(4m−1)kのゲート、ITE制御信号のためにkのゲート、ITE演算子の合計がnkである場合にITE演算子を実現するために3nkのゲートを本発明は必要とするであろう。したがって、発明は全体で4mk+3nkのゲートを必要とする。
(複数のメモリ、読み取りおよび書き込みポートに対するEMM)
効率的なモデリングを深く探求する前に、複数の読み取りおよび書き込みポートが存在する状態のメモリ・セマンティクスをまず定義する。ここでデータ競合はないと想定する。言い換えれば、任意の所与のサイクルにおいて、ただ1つの書き込みポートを介してのみ、記憶場所は更新できる。(本発明による方法は、データ競合に対する検査にも容易に拡張することができる。)各メモリ・モジュールはそのポートを介してのみアクセスされるので、メモリ・モジュールは相互に独立していると考えることができる。下記の説明において、複数の読み取りポートと複数の書き込みポートを有する単一のメモリを最初に考える。
(メモリの不均一な初期化)
通常、メモリは一様に初期化されている。言い換えれば、パワー・オン・リセットに際して、メモリは、すべての記憶場所においてある同一の初期値に設定される。しかし、パワー・オン・リセット状態以外の任意の状態においてBMCが適用し得る半形式的検証方法では、メモリは一様な値を有しないことがある。このような不均一な初期値の取り扱いは、本発明が提案する枠組み内で容易に可能である。
例として、メモリが、p個の異なる初期値、すなわち、設計の所与の初期状態に対して、アドレス位置
(任意の初期メモリ状態)
任意の初期状態を有するメモリをモデル化するために、本発明は、すべての時間フレームにおいて、新しい記号変数を導入する。設計の(k−1)深度分析に対して、単一の読み取りポートから多くてもk個の異なるメモリ読み取りアクセスが存在しうることに注意を払われたい。その中で多くてもk個のアクセスが書き込まれていない記憶位置であり得る。したがって、全体では、分析深度k−1において各読み取りポートに対して、異なるデータ・ワードに対して、k個の記号変数を導入する必要がある。しかし、これらの変数は完全に独立ではない。単に新しい変数を導入することは、検証モデルに余分な行動を持ち込む。したがって、メモリの任意の初期状態を正確にモデル化する制約条件の十分な一揃いを確認する必要がある。
(証明ベースの抽象化を使用するEMM)
前述のように、複数のメモリと複数のポートを有するSoCに対して、EMMは、検証モデルの大きさを大幅に減少することができる。しかし、所与の安全性の正当性を検査するために、本発明は、すべてのメモリ・モジュールまたはポートを必要としないこともある。さらにモデルを縮小するために、本発明は、無関係のメモリ・モジュールあるいはポートを完全に除外することができる。この場合、無関係のメモリ・モジュールまたはポートに対して、本発明はメモリ・モデリング制約条件を加える必要がなく、したがって、BMCの複雑さをさらに減少させる。
(事例研究)
図10に注目して、図11に示すようなランダム・アクセス・メモリ(RAM)を使用するスタックの代表的な具体化例(VerilogHDLで)を使用して本発明による新規な方法を説明する。理解を容易にするために、メモリ・インタフェイス信号の表記は、前の説明と同じものを使用する。図11を特に参照すると、行6−18はRAMの具体化例を示し、行22−41はスタックの具体化例を示す。メモリを明示的にモデル化すれば、130Kの状態ビットを必要とすることに注目されたい。明らかに、このようなモデリングは、SATベースのBMCを非実用的にするであろう。しかし、再帰的なプログラムを処理するためには、同じ規模の有限に大きいスタックを必要とするであろう。
(実験)
実験のために、図10に示す公知の4つの再帰的なソフトウェア・プログラムを使用した。1つの設計は埋め込みスタックを有し、1つの設計は埋め込みRAMを有する。これらの設計のそれぞれに、全部のメモリのモデル化を絶対必要とする安全性を選択した。すなわち、設計からメモリを完全に除去することは簡単にはできない。さらに、図11で説明したように、スタック・モデルを使用するVerilogHDLを使用して、ソフトウェア・プログラムのそれぞれを等価なハードウェア・モデルに変換した。ソフトウェア設計のそれぞれに対して、ここで、簡単な説明と選択された性質を紹介する。
(フィボナッチ(fib,fib−c))
再帰的な具体化例を有するフィボナッチ関数を、図10の行3−7に示す。キャッシュを使用する同じプログラムの最適化された具体化例を、行10−19に示す。nの所与の値に対して、これらの機能は対応するフィボナッチ数を返す。非自明な状態空間検索問題を生成するために、無効にされた安全性を説明するために逆関数を使用する、すなわち、一定の値のフィボナッチ数を与えると、対応するnが存在するか?
(3n+1(3nプラス1))
これは公知の未解決の3n+1問題である。ソフトウェア表現を、図10の行24−31に示す。nの所与の値に対して、広域変数周期は、プログラムを終了するために必要とされる再帰呼出しの数を維持する。非自明な状態空間検索問題を生成するために、無効にされた安全性を説明するために逆関数を使用する、すなわち、一定の値の周期を与えると、nの値が存在するか?
(「ハノイのタワー」(TOH))
「ハノイのタワー」アルゴリズムを、図10の行35−40に示す。スタッキング要素の数nを仮定すると、再帰的なアルゴリズムは、補助aを使用してソースsからデスティネーションdまで、すべての要素を転送する正当な移動を見出す。広域変数度数は、必要とされる移動の数を維持する。上記と同様に、非自明な状態空間検索問題を生成するために、無効にされた安全性を説明するために逆関数を使用する、すなわち、一定の値の度数を与えると、対応するnが存在するか?
実験は、4Gbの物理的メモリを有するデュアルのインテル2.8ギガヘルツXeonプロセッサを有するワークステーションで、レッド・ハット・リナックス7.2を実行し、各BMCランに対して3時間の時間制限を使用して、行われた。埋込みメモリを処理するための強化したSATベースのBMCの性能を、明示的なメモリ・モデリングおよび他のスタイルと比較した。さらに、所与の性質と設計に対して、メモリ・サイズを増加して、性能を比較した。
提案されたEMM技術は、試作品検証プラットフォームに実現された。試作品検証プラットフォームは、SATベースのBMCおよびBDDベースのモデル検証に対する標準の検証技術を含んでいる。複数の読み取りおよび書き込みポートを持つ埋込みメモリ・モジュールを有する大きな産業用設計とソフトウェア・プログラムから成るいくつかの事例研究についての経験を報告する。2つの事例研究が、多くの到達可能性を有する産業用設計に対応する。他の事例研究は、アルゴリズムの妥当性を検証する性質を有する分類アルゴリズムを含んでいる。性質の各々に対して、埋込みメモリのモデル化が必要であり、事例研究は本発明によるそれぞれに異なる貢献の利用法を強調するように選ばれた。本発明による方法の有効性を示すために、本発明による方法(EMMと表示する)を、明示的なメモリ・モデリング(明示的なモデリングと表示する)と比較する。実験は、レッド・ハット・リナックス7.2を実行する、4GBを有する2.8ギガヘルツのXeonプロセッサを装備したワークステーションで行われた。
この事例研究は、複数メモリ帰納プルーフを有するEMMに対するEMMの本発明による方法を利用する。産業用設計は、756のラッチ(メモリ・レジスタを除く)、28の入力、および〜15Kの2入力ゲートを有するローパス画像フィルタである。これは、共にアドレス幅AW=10、データ幅DW=8の2つのメモリ・モジュールを有する。各モジュールは、1つの書き込みポートと1つの読み取りポートを有し、メモリ状態は0に初期化されている。216の到達可能性がある。
(EMM)
約400秒で、50Mbを必要として、216の性質の中206に対して、ウイットネスを発見することが可能であった。すべてのウイットネスに対して最大の深度は51であった。残りの10の性質に対して、BMC−3を使用して帰納により、1秒以内に、6Mbを必要として、プルーフを得ることが可能であった。任意の初期メモリ状態をモデル化するための新しい変数の導入は、数式(6)の制約条件無しで、検証モデルで余分の行動を収集するが、プルーフに対して十分であったことに注目されたい。
(明示的なモデリング)
すべての206の性質に対して、ウイットネスを発見するために、20540秒(〜6時間)と912Mbを必要とした。残りの10の性質に対して、BMC−1を使用して帰納により、25秒で、50Mbを必要として、プルーフを得ることが可能であった。
(産業用設計IIの事例研究)
この事例研究は、複数のポートを有するメモリに対して、また帰納によるプルーフを支援することができる不変量を発見するために、EMMを利用する。この設計は、2400のラッチ(メモリ・レジスタを除く)、103の入力、および〜46Kの2入力ゲートを有する。これは、AW=12、DW=32の1つのメモリ・モジュールを有する。メモリ・モジュールは、1つの書き込みポートと3つの読み取りポートを有し、メモリ状態は0に初期化されている。8つの到達可能性がある。
すなわち、常に、書き込みイネーブルがアクティブではない状態であるか、あるいは、書き込みデータ(WD)が0である。BMC−3を使用して、深度2において1秒以内に、逆方向帰納を使用して、上記の性質を証明することが可能であった。これを証明するために、BMC−1を使用する明示的なモデリングは、78秒を要する。
当然ながら、前述の事項は本発明による原理の単なる実例であり、さまざまな修正が本発明の範囲と技術思想から逸脱することなく当業者により行い得ることは、当業者により理解されるであろう。したがって、本発明は、本明細書に添付される特許請求の範囲によってのみ制限されるべきである。
110 メモリモジュール
120 メインモジュール
200 設計
Claims (22)
- 1つまたは複数の埋込みメモリを有するメモリ・ビットの1部または全部が明示的にモデル化される必要がないような、前記1つまたは複数の埋込みメモリを有する電子的設計をモデル化するコンピュータにより実行されるモデリング方法であって、
データ転送セマンティクスを保存している間に、前記メモリの1つまたは複数を前記設計から除外するステップと、
前記データ転送セマンティクスと、効率的メモリ・モデリング(EMM)制約条件として任意の初期メモリ状態を保存するためのメモリ保存制約条件を、媒介変数がファンアウトしない構造を生成せず、CNFベースのSATソルバーに否定的に影響を及ぼす不必要な2−リテラル節を生成しない表現で収集するステップと、
有界分析を使用して前記設計を検証するステップとを有するモデリング方法。 - 前記表現に排他性制約条件を付加する段階であって、有効な整合読み取りと書き込みの組み合わせが決定されるとき、前記排他性制約条件の結果として、他の組み合わせが直ちに無効であることを意味するように、前記表現に排他性制約条件を付加するステップをさらに有する請求項1に記載のモデリング方法。
- 前記収集するステップは、EMMに加えて、証明ベースの抽象化(PBA)を使用する請求項1に記載のモデリング方法。
- PBAに無関係のメモリと無関係のポートの使用によって、検証の間に前記対応するEMM制約条件が除外されることがあるように、自動的に決定するステップをさらに有する請求項3に記載のモデリング方法。
- 前記検証するステップの間に、任意の対応するEMM制約条件を除外するステップをさらに有する請求項4に記載のモデリング方法。
- 前記表現は、回路の定式化と節の定式化との両方を含むハイブリッド表現である請求項1に記載のモデリング方法。
- 前記検証するステップは、SATベースの有界分析を含む請求項1に記載のモデリング方法。
- 前記検証するステップは、SATベースの有界分析を含む請求項に2記載のモデリング方法。
- 前記検証するステップは、帰納によるプルーフを含む請求項1に記載のモデリング方法。
- 前記検証するステップは、帰納によるプルーフを含む請求項2に記載のモデリング方法。
- 前記検証するステップは、SATベースの帰納を含む請求項1に記載のモデリング方法。
- 前記検証するステップは、SATベースの帰納を含む請求項2に記載のモデリング方法。
- 前記検証するステップは、等価検証を含む請求項1に記載のモデリング方法。
- 前記検証するステップは、等価検証を含む請求項2に記載のモデリング方法。
- 1つまたは複数の埋込みメモリを有する電子的な設計をモデル化するコンピュータにより実行されるモデリング方法であって、前記モデル化は前記1つまたは複数の埋込みメモリを有するメモリ・ビットの1部または全部が明示的にモデル化される必要がないように実行され、
データ転送セマンティクスを保存している間に、前記メモリの1つまたは複数を前記設計から除外するステップと、
前記データ転送セマンティクスを、効率的メモリ・モデリング(EMM)制約条件として、媒介変数がファンアウトしない構造を生成せず、CNFベースのSATソルバーに否定的に影響を及ぼす不必要な2−リテラル節を生成しない表現で収集するステップと、
前記表現に排他性制約条件を付加するステップと、
有効な整合読み取りと書き込みの組み合わせが決定されるとき、前記排他性制約条件の結果として、他の組み合わせが直ちに無効であることを意味するように、有限分析を使用して前記設計を検証するステップとを有するモデリング方法。 - 前記収集するステップの間のEMMに加えて、証明ベースの抽象化(PBA)を利用するステップをさらに有する請求項15に記載のモデリング方法。
- PBAに無関係のメモリと無関係のポートの使用によって、検証の間に前記対応するEMM制約条件が除外されることがあるように、自動的に決定するステップをさらに有する請求項16に記載のモデリング方法。
- 前記検証するステップの間に、任意の対応するEMM制約条件を除外するステップをさらに有する請求項17に記載のモデリング方法。
- 前記表現は、回路の定式化と節の定式化との両方を含むハイブリッド表現である請求項15に記載のモデリング方法。
- 前記表現は、回路の定式化と節の定式化との両方を含むハイブリッド表現である請求項18に記載のモデリング方法。
- 前記検証するステップは、SATベースの有限分析を含む請求項15に記載のモデリング方法。
- 前記検証するステップは、SATベースの有限分析を含む請求項18に記載のモデリング方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US53852604P | 2004-01-22 | 2004-01-22 | |
US11/037,920 US7386818B2 (en) | 2004-01-22 | 2005-01-18 | Efficient modeling of embedded memories in bounded memory checking |
PCT/US2005/002176 WO2005072305A2 (en) | 2004-01-22 | 2005-01-20 | Efficient modeling of embedded memories in bounded memory checking |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007524165A JP2007524165A (ja) | 2007-08-23 |
JP4629682B2 true JP4629682B2 (ja) | 2011-02-09 |
Family
ID=34829732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006551362A Expired - Fee Related JP4629682B2 (ja) | 2004-01-22 | 2005-01-20 | 有限メモリ検査における埋込みメモリの効率的なモデリング方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7386818B2 (ja) |
EP (1) | EP1756739A4 (ja) |
JP (1) | JP4629682B2 (ja) |
WO (1) | WO2005072305A2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7290230B2 (en) * | 2005-03-17 | 2007-10-30 | Fujitsu Limited | System and method for verifying a digital design using dynamic abstraction |
US7788618B2 (en) * | 2007-09-29 | 2010-08-31 | International Business Machines Corporation | Scalable dependent state element identification |
US7441216B1 (en) * | 2008-03-31 | 2008-10-21 | International Business Machines Corporation | Applying CNF simplification techniques for SAT-based abstraction refinement |
US8001498B2 (en) * | 2008-10-27 | 2011-08-16 | Synopsys, Inc. | Method and apparatus for memory abstraction and verification using same |
US8181131B2 (en) | 2010-04-30 | 2012-05-15 | International Business Machines Corporation | Enhanced analysis of array-based netlists via reparameterization |
US8478574B2 (en) | 2010-04-30 | 2013-07-02 | International Business Machines Corporation | Tracking array data contents across three-valued read and write operations |
US8146034B2 (en) | 2010-04-30 | 2012-03-27 | International Business Machines Corporation | Efficient Redundancy Identification, Redundancy Removal, and Sequential Equivalence Checking within Designs Including Memory Arrays. |
US8566764B2 (en) | 2010-04-30 | 2013-10-22 | International Business Machines Corporation | Enhanced analysis of array-based netlists via phase abstraction |
US8336016B2 (en) | 2010-05-07 | 2012-12-18 | International Business Machines Corporation | Eliminating, coalescing, or bypassing ports in memory array representations |
US8307313B2 (en) | 2010-05-07 | 2012-11-06 | International Business Machines Corporation | Minimizing memory array representations for enhanced synthesis and verification |
US8291359B2 (en) * | 2010-05-07 | 2012-10-16 | International Business Machines Corporation | Array concatenation in an integrated circuit design |
US8473883B2 (en) | 2011-08-03 | 2013-06-25 | International Business Machines Corporation | Abstraction for arrays in integrated circuit models |
CN102663191B (zh) * | 2012-04-09 | 2014-07-23 | 西安电子科技大学 | 基于sat的命题投影时序逻辑限界模型检测方法 |
CN102663190B (zh) * | 2012-04-09 | 2014-07-23 | 西安电子科技大学 | Pptl符号模型检测方法 |
US10839124B1 (en) * | 2019-06-26 | 2020-11-17 | Amazon Technologies, Inc. | Interactive compilation of software to a hardware language to satisfy formal verification constraints |
LU101294B1 (en) * | 2019-07-03 | 2021-01-20 | Onespin Solutions Gmbh | Method of checking equivalence between a first design comprising a shift register logic srl chain and a second design |
JPWO2022264414A1 (ja) * | 2021-06-18 | 2022-12-22 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09319782A (ja) * | 1996-05-30 | 1997-12-12 | Hitachi Ltd | 論理装置の検証方法 |
JPH09325975A (ja) * | 1996-06-04 | 1997-12-16 | Hitachi Ltd | 論理装置の検証方法 |
US6216258B1 (en) * | 1998-03-27 | 2001-04-10 | Xilinx, Inc. | FPGA modules parameterized by expressions |
US20040078674A1 (en) * | 2001-04-04 | 2004-04-22 | Bops, Inc. | Methods and apparatus for generating functional test programs by traversing a finite state model of an instruction set architecture |
US7711525B2 (en) * | 2002-05-30 | 2010-05-04 | Nec Corporation | Efficient approaches for bounded model checking |
US6944838B2 (en) * | 2003-02-03 | 2005-09-13 | Cadence Design Systems, Inc. | Method and system for design verification using proof-partitioning |
JP4418353B2 (ja) * | 2003-11-20 | 2010-02-17 | 富士通株式会社 | 複数のエンジンを利用した回路検証 |
-
2005
- 2005-01-18 US US11/037,920 patent/US7386818B2/en active Active
- 2005-01-20 EP EP05706055A patent/EP1756739A4/en not_active Withdrawn
- 2005-01-20 JP JP2006551362A patent/JP4629682B2/ja not_active Expired - Fee Related
- 2005-01-20 WO PCT/US2005/002176 patent/WO2005072305A2/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
US20060190864A1 (en) | 2006-08-24 |
WO2005072305A3 (en) | 2007-01-04 |
EP1756739A4 (en) | 2008-03-12 |
EP1756739A2 (en) | 2007-02-28 |
JP2007524165A (ja) | 2007-08-23 |
US7386818B2 (en) | 2008-06-10 |
WO2005072305A2 (en) | 2005-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4629682B2 (ja) | 有限メモリ検査における埋込みメモリの効率的なモデリング方法 | |
JP4000567B2 (ja) | 効率的な有界モデル検査方法 | |
Biere et al. | Symbolic model checking without BDDs | |
Bloem et al. | Efficient decision procedures for model checking of linear time logic properties | |
Mishchenko et al. | FRAIGs: A unifying representation for logic synthesis and verification | |
US7305637B2 (en) | Efficient SAT-based unbounded symbolic model checking | |
US6035107A (en) | Method for performing functional comparison of combinational circuits | |
Ganai et al. | SAT-based scalable formal verification solutions | |
US20040230407A1 (en) | Iterative abstraction using SAT-based BMC with proof analysis | |
US20020053064A1 (en) | Dynamic detection and removal of inactive clauses in sat with application in image computation | |
US9195634B2 (en) | Optimizing constraint solving by rewriting at least one modulo constraint | |
Gupta et al. | SAT-based verification methods and applications in hardware verification | |
Chauhan et al. | Using SAT based image computation for reachability analysis | |
Ben-David et al. | Model checking at IBM | |
Disch et al. | Combinational equivalence checking using incremental SAT solving, output ordering, and resets | |
Alizadeh et al. | Formal equivalence verification and debugging techniques with auto-correction mechanism for RTL designs | |
Ganai et al. | Verification of embedded memory systems using efficient memory modeling | |
Ganai et al. | Efficient modeling of embedded memories in bounded model checking | |
US7428712B1 (en) | Design optimization using approximate reachability analysis | |
Isles et al. | Computing reachable control states of systems modeled with uninterpreted functions and infinite memory | |
Clarke et al. | Making predicate abstraction efficient: How to eliminate redundant predicates | |
Li et al. | A satisfiability-based approach to abstraction refinement in model checking | |
EP1515251B1 (en) | Efficient approaches for bounded model checking | |
Zaks et al. | Bitwidth reduction via symbolic interval analysis for software model checking | |
German | A theory of abstraction for arrays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090929 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091022 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091118 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100310 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100610 |
|
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: 20101013 |
|
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: 20101111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4629682 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |