JPH1173448A - フィルタリング型アプローチを使用する組合せ回路の検証方法 - Google Patents

フィルタリング型アプローチを使用する組合せ回路の検証方法

Info

Publication number
JPH1173448A
JPH1173448A JP13069098A JP13069098A JPH1173448A JP H1173448 A JPH1173448 A JP H1173448A JP 13069098 A JP13069098 A JP 13069098A JP 13069098 A JP13069098 A JP 13069098A JP H1173448 A JPH1173448 A JP H1173448A
Authority
JP
Japan
Prior art keywords
circuit
verification
computer
technique
data structure
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.)
Granted
Application number
JP13069098A
Other languages
English (en)
Other versions
JP3441645B2 (ja
Inventor
Jawahar Jain
ジャイン ジャワハー
Rajarshi Mukherjee
ムカージィー ラージャーシ
浩一郎 ▲高▼山
Koichiro Takayama
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 JPH1173448A publication Critical patent/JPH1173448A/ja
Application granted granted Critical
Publication of JP3441645B2 publication Critical patent/JP3441645B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • G01R31/318357Simulation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318371Methodologies therefor, e.g. algorithms, procedures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318385Random or pseudo-random test pattern
    • 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/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Abstract

(57)【要約】 【課題】 本発明は、検証方式を切り替える際のオーバ
ーヘッドが最低限に抑えられ、先に適用された検証方式
の結果を共有し、種々のコア検証方式を自動的に利用
し、一つ以上の検証方式が成功したときに検証結果が得
られるディジタル回路の検証方法の提供を目的とする。 【解決手段】 本発明は、順番に配置され、検証の結果
を判定、又は、回路データ構造を変更し、コンピュータ
メモリ使用量及び/又はコンピュータ実行時間使用量に
関する所定の制約条件集合を超えるまで実行される完全
な検証技術集合並びに補助技術集合を有し、回路検証の
結果が判定されるまで、最終的な検証結果又は結果的に
変更された回路データ構造を次の完全な検証技術又は補
助技術に提供するフィルタベースド組合せ回路検証シス
テムである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的にコンピュ
ータ支援設計(CAD)システム及び方法に係わり、特
に、ディジタル回路設計及び検証のため使用される方法
に関する。
【0002】
【従来の技術】複雑なディジタルシステムを巧く設計す
るためには、意図された機能性に関して実装の正しさを
検証することが必要である。従来、設計検証の作業はシ
ミュレーションによって行われる。シミュレーションベ
ース方式の場合、設計者はシステムへの全ての実現可能
な入力を表わす完全なテストベクトル集合を作成する必
要がある。上記の各テストベクトルに対する出力は設計
の正確さを保証するため解析される。この処理は中央処
理装置(CPU)の時間を著しく集約するので、殆どの
実際の状況で設計の正しさを保証するため設計を徹底的
にシミュレーションすることは不可能である。
【0003】シミュレーションベース方式に起因して、
種々の形式的な検証戦略が普及し始めている。これらの
方式を利用することにより、全ての実現可能な入力の組
合せの元で設計の正確さを保証することが可能になる。
複雑なシステムを設計する処理は、通常、システムの抽
象的モデルから始まる。このモデルは、多数のシミュレ
ーションを受けた後、設計の“最高の仕様”になる。こ
の抽象的モデルから、詳細な実装が階層的な手法で導き
出される。最初に、抽象的モデルは、設計のブロック構
造行動を表わす統合可能な行動レジスタ・トランスファ
・モデル(RTL)モデルに変換される。この行動RT
Lモデルは、次に、システムの論理レベル記述である構
造的モデルに変換される。構造的RTLモデルから、ト
ランジスタのネットリスト及び設計の物理的レイアウト
が導出される。
【0004】巧く働く設計方法論において、設計過誤を
設計サイクルの早期に見つけることが不可欠である。こ
の目標を達成するため、設計の機能性は、前のレベルか
らの設計仕様に対し設計サイクル階層のあらゆるレベル
で検証される。同一設計の異なる実装が等価性を検査す
るため比較されるこの種の形式的な検証は、実装上の検
証として知られてる。図1は、従来技術による典型的な
検証作業のフローチャートである。検証作業は設計作業
と並行している点に注意する必要がある。典型的な検証
作業は原仕様に対し第1の実装を検証することにより開
始される。実装が成功であると検証された後、その実装
は典型的に前の実装を最適化することにより得られる次
の実装のための仕様になる。最初又は原設計は、RTL
設計10として示され、最適化RTL設計14を生産す
るため最適化される(ステップ12)。最適化RTLは
検証1によって最初のRTLに対し検証される(ステッ
プ16)。最適化RTLはゲートレベルネットリスト2
0を生成するため統合される(ステップ18)。ゲート
レベルネットリスト20は検証2によって最適化RTL
に対し検証される(ステップ22)。ゲートレベルネッ
トリスト20は最適化ネットリスト26を生成するため
最適化される(ステップ24)。最適化ネットリスト2
6は検証3によってゲートレベルネットリスト20に対
し検証される。次に、テスト論理が修正ネットリスト3
2を作成するため最適化ネットリスト26に追加される
(ステップ30)。修正ネットリスト32は、最終ネッ
トリスト38を生成するため配置及び経由される(ステ
ップ36)。最後に、最終ネットリスト38は検証5に
よって修正ネットリスト32に対し検証される(ステッ
プ40)。
【0005】実装検証は、典型的に二つのフェーズで進
行する。第1フェーズにおいて、原設計を表わすブール
ネットワークはRTL記述又はゲートレベルネットリス
トから抽出される。第2フェーズにおいて、このブール
ネットワークの正確さは形式的な方法を用いて検証され
る。最近の研究は、2個のブールネットワークの等価性
を検証する分野の発展に集中している。より詳しく言う
と、研究は、出力が現在の入力だけではなく過去の入力
のシーケンスにも依存する順序回路ではなく、組合せ回
路、即ち、出力が現在の入力だけに依存する回路の検証
に集中している。例えば、二つの設計の対応するラッチ
が識別され得るとき、ある種の順序検証問題は組合せ検
証問題に軽減され得る。一般的な順序回路を検証する方
式は存在するが、現在の技術の場合に上記方法を用いて
大規模で複雑な回路設計を検証することは実際的ではな
い。
【0006】以下に組合せ照合問題を説明する。2個の
ブールネットリストが存在する場合、2個の回路の対応
した出力が全ての可能な入力に対し一致するか否かが検
査される。この問題はNP困難であるので、任意のブー
ル関数を取り扱い得る一般的な解法は存在しそうにな
い。しかし、実際に回路設計に実装された関数は、ラン
ダムブール関数ではないので、大規模設計を巧く検証し
得る種々の方式が開発された。
【0007】組合せ等価性検査の作業は、二つの主要な
カテゴリに分類され得る。第1のアプローチは、特有の
表現(即ち、正準表現)を用いて2個のネットワークの
出力関数を表わすことによる。2個の回路は、対応する
出力の正準表現が一致する時に限り等価である。最も普
及している正準表現は2進決定図(BDD)に基づいて
いる。最悪の場合に、上記方法は入力の個数に対し指数
関数的に空間を必要とする。
【0008】第2のアプローチは、2個の回路の間で等
価ポイント及び含意を同定することからなる。この情報
を用いることにより、等価性検査の処理は簡単化され
る。典型的な設計は一連の局部変更により進められるの
で、殆どの場合に、検証されるべき2個の回路の間に多
数の含意がある。上記の含意ベースの方式は、大規模回
路を検証する際に巧くゆき、殆どの組合せ検証システム
の基礎をなす。
【0009】殆どの組合せ検証用の方法は、OBDD、
自動テストパターン発生(ATPG)、学習などの単一
の“コア”検証方式に基づいている。コア検証方式は、
十分な時間及び空間が与えられた場合、単独で回路を検
証し、又は、ある種のブール式の恒真性又は充足可能性
を証明することができる。コア検証方式は、完全解析方
式、即ち、十分な時間及び空間が与えられた場合に単独
である種のブール式の恒真性又は充足可能性を証明し得
る方式としても知られている。一方、補助解析方式は、
単独で使用された場合、十分な時間及び空間が与えられ
たとしても、全てのブール式ではなく、一部のブール式
の恒真性又は充足可能性しか検出できない方式である。
【0010】検証問題のNP困難複合性に起因して、単
一コア検証方式は広範囲の回路において巧く動作しない
と予想される。更に、検証問題の性質は先見的には分か
らない。この不確実性は、ある種の検証方式において全
ての検証問題が(小さいが)より多数の検証問題に分割
されるので更に悪化する。
【0011】
【発明が解決しようとする課題】従って、一方の検証方
式から他方の検証方式に切り替える際のオーバーヘッド
を最低限に抑えると共に、先に適用された検証方式の結
果を共有しながら種々のコア検証方式を自動的に利用
し、かつ、一つ以上の検証方式が成功したときに検証結
果が得られる方法が必要である。
【0012】
【課題を解決するための手段】本発明は、順番に配置さ
れ、検証の結果を判定、又は、回路データ構造を変更
し、コンピュータメモリ使用量及び/又はコンピュータ
実行時間使用量に関する所定の制約条件集合を超えるま
で実行される完全な検証技術集合並びに補助技術集合を
有し、回路検証の結果が判定されるまで、最終的な検証
結果、又は、結果的に変更された回路データ構造を次の
完全な検証技術又は補助技術に提供するフィルタベース
ド組合せ回路検証システムである。
【0013】本発明において、フィルタ集合はディジタ
ル回路設計の検証のため順番に配置される。フィルタ
は、回路設計の検証に直接的に係る能動フィルタ(例え
ば、2進決定図(BDD)ベースド検証器若しくは自動
テストパターン発生(ATPG)ベースド検証器、又
は、検証問題を簡単化するため回路に関する情報を収集
し若しくは回路構造を変換する受動フィルタ(例えば、
ランダムパターンシミュレーション又は回路分割)であ
る。一対の回路を検証する必要がある場合、フィルタア
プローチは、最初、メモリ使用必要量が非常に少なく非
常に簡単かつ高速な技術を回路に適用する。このステッ
プの後に、消費時間が増加し、その動作のためにより多
量のコンピュータメモリを必要とし、能力が徐々に高ま
る一連の方法が続く。より簡単化した能動フィルタと、
より複雑化された能動フィルタとの間において、回路内
の潜在的な等価ノードに関する情報が集められ、回路を
分割すべきか否かに関し決定がなされる。検証方法論
は、検証しやすい回路設計に対し、高価な技術が決して
誤用されないように構造化される。この方法は、検証問
題が複雑化すると共に適用される検証技術の複雑さを増
大させる。
【0014】本発明の一実施例において、システムは、
(A)製造されたディジタル回路に欠陥が在るか否かの
決定、(B)“タイミング”に関する制約条件の決定、
(C)最小コスト“エンジニアリングチェンジ”解、
(D)(モデル検査方法への応用を含む)順序(時間依
存形)回路の正確さの決定、又は、(E)ディジタル回
路特性のようなブール表現のブール充足可能性又はブー
ル恒真性のテストに依存する回路特性の分析を行う。
【0015】本発明の一実施例は、順番に配置され、解
析結果を判定、又は、回路データ構造を変更する完全な
検証技術の集合並びに補助技術の集合を有し、回路解析
の結果が判定されるまで、最終的な解析結果、又は、結
果的に変更された回路データ構造を次の完全な解析技術
に提供するフィルタベースド組合せ回路解析システムで
ある。
【0016】本発明は容易に拡張し得る利点があること
に注意する必要がある。フィルタ構造は、新しい検証技
術を追加することにより拡張又は増強され得る。新しい
技術は、新しい技術の強さ、並びに、既にフィルタに収
容されている他の技術に関する相対的な強さ又は弱さに
依存してフィルタ構造の適当な場所に付加される。例え
ば、ブール表現図(BED)のような技術は、検証コア
のマイクロフィルタ内で自動テストパターン発生(AT
PG)検証の後にBED技術を追加することにより本発
明のフィルタ配置を拡張するため包含される。或いは、
BED技術は、マイクロフィルタのスマートカットセッ
トベースド検証の後に実行しても良い。同様に、別の新
しい技術が提案又は開発された場合、新しい技術はフィ
ルタ配置の適当な場所に挿入され得る。かくして、検証
ソフトウェアシステムの全体を再開発する必要はない。
かかる本発明の拡張性は、フィルタ志向型アプローチに
対する重要な利点である。
【0017】以下の詳細な説明には、本発明を実施する
ため考えられたベストモードの実例を用いて本発明の実
施例が開示、記載されているので、以下の詳細な説明か
ら、本発明の他の実施例が当業者には明らかになる。本
発明は他の種々の実施例が可能であり、本発明の細部
は、本発明の精神及び範囲を逸脱することなく、種々の
明瞭な観点から変更することが可能である。従って、添
付図面及び詳細な説明は、本質的に例示的に過ぎず、制
限として捉えるべきではない。
【0018】
【発明の実施の形態】
I. 検証に対するフィルタ志向型アプローチ A. 定義 カットセット(Cutset):ネットワークNのノードvの推
移的ファンイン(TFI)のカットセットはノードの集合S
={v1 ,v2 ,...vk }であり、1次入力からv
へのあらゆるパスは集合Sのノードvi を通過しなけれ
ばならない。
【0019】直接含意(Direct Implication):回路Nの
ノードにブール値が初期割当てされた場合、ノードの接
続性及びその対応した真理表だけを使用して回路Nの他
のノードでブール値を決定する処理は、直接含意と称さ
れる。間接含意(Indirect Implication):間接含意は、
対偶則を用いない限り直接含意だけでは得られない二つ
のノードのブール値の間の関係である。間接含意を得る
処理は学習と称される。
【0020】弱い技術(Weaker Technique):コンピュー
タシステムにおいて、技術Aは技術Bよりも弱い技術と
称される。検証手続の性能をベンチマークテストするた
め使用され、本発明による検証のため与えられた回路に
類似した回路のサンプル集合を表わすと考えられる回路
の経験的試験は、技術Aの時間的/空間的必要量が技術
Bの時間的/空間的必要量よりも少なく、技術Aは技術
Bよりも多数のケースを解決し得ることを明かす。
【0021】完全検証技術(Complete Verification Tec
hnique) :十分な時間及び空間が与えられた場合に単体
で一対の回路を検証し得る技術である。 完全解析技術(Complete Analysis Technique) :十分な
時間及び空間が与えられた場合にある種のブール式の恒
真性及び充足可能性を証明し得る技術である。 補助検証技術(Supporting Verification Technique) :
単独で使用された場合に、合理的な時間及び空間が与え
られるならば、一対の回路におけるブール式の全部では
なく一部の検証を検出し得る技術である。
【0022】補助解析技術(Supporting Analysis Techn
ique) :単独で使用された場合に、十分な時間及び空間
が与えられるならば、全部ではなく一部のブール式の恒
真性又は充足可能性を検出し得る技術である。 回路特性(Circuit Property):製造されたディジタル回
路の欠陥の有無の決定、タイミングに関する制約条件の
決定、最小コストエンジニアリングチェンジ解、順列
(時間依存形)回路の正確さの決定、又は、ブール表現
のブール充足可能性又はブール恒真性のテストに依存す
るようなあらゆるディジタル回路特性を表わす。
【0023】用語ネットワーク及び回路、ゲート及びノ
ード、並びに、(順序付きの2進決定図を表わす)OB
DD及びBDDは交換して使用してもよい。 B.概要 本発明は順番に配置されたフィルタの集合により構成さ
れる。フィルタには、(1)回路設計の検証に直接的に
関連する能動フィルタ(例えば、BDDベースド検証器
又はATPGベースド検証器)と、(2)回路に関する
情報を収集し、検証問題を単純化するため回路構造を変
換する能動フィルタ(例えば、ランダムパターンシミュ
レーション若しくは回路分割)の2タイプがある。
【0024】1対の回路N1 、N2 を検証すべき場合、
本発明のフィルタアプローチは、最初に、非常に僅かな
メモリ使用量しか必要としない非常に簡単、高速な技術
をその回路の対に適用する。これらのステップの後に、
動作のためより多くの時間を消費し、屡々より多くのコ
ンピュータメモリを必要とし、徐々に能力が高くなる一
連の方法が続けられる。簡単な方の能動フィルタと、複
雑な方の能動フィルタとの間に、回路内の潜在的な等価
ノードに関する情報を収集し、回路を分割すべきか否か
を決定する段が存在する。本発明の検証方法は、学習の
ような高価な技術を検証しやすい回路設計に決して誤っ
て適用しない。本発明の構造は、検証問題の複雑さに応
じて、適用された検証技術の複雑さ(従って、計算コス
ト)を徐々に増大させる。このように、本発明は全体的
な検証性能の緩やかな劣化を許容する。
【0025】図2は本発明のフィルタアプローチのフロ
ーチャートである。二つのネットワークN1 及びN2
与えられた場合、複合ネットワークNc は、N1 及びN
2 の対応した1次入力を連結することにより作成され
る。検証器全体は回路の内部ノードの対を検証すること
により進行する。全ての等価ノードは併合される。検証
器内の最初の2個のフィルタ、即ち、構造的フィルタ及
び機能的フィルタは、計算コストの小さい高速フィルタ
である。上記フィルタは、非常に少ない計算コストでN
c 内の簡易な内部等価性を認定する。かかる内部等価性
は、次のフィルタによって同様に認定され得る。しか
し、次のフィルタを用いてこの内部等価性を識別するこ
とは、必要とされる計算資源の点で実質的にコスト高で
ある。次に、機能的に等価であるノードの対を認定する
ためランダムパターンシミュレーションが使用される。
このような候補の数が少ない場合、回路は、より多数の
候補を作成し、検証作業を単純化するため分割される。
次に、BDDベースドフィルタ及びATPGベースドフ
ィルタが大半の候補を検証するため呼び出される。これ
らのフィルタは、検証器の検証コア(VC)により構成
される。残りの全ての検証段階は困難であると考えられ
る。回路を再統合し、全ての大きいBDDを分割する二
つのフィルタは、それ自体の検証のため利用される。以
下、提案した検証方法論における各フィルタを詳細に説
明する。
【0026】スタートステップ100の後、検証される
べきネットワークは、目標とする標的分解を用いてテク
ノロジー分解される(ステップ102)。分解処理の目
的は、多数の等価物の候補が作成されるように回路内の
複雑なゲートを単純な原始的(プリミティブ)ゲートの
集合に分解することである。問題は連続した別個のフィ
ルタに送られる。各フィルタは異なる検証方法により構
成されている。各フィルタは、一部の問題を解法し、系
列内の連続的な各フィルタは、典型的に、先行フィルタ
よりも少ない数の検証問題の解決に取り組む。系列内の
最後のフィルタは、残りの全ての問題を解法する。全て
の問題が解法された場合、検証処理は系列内のあらゆる
ポイントで停止される。従来のシステムの場合に、1
個、2個、若しくは、高々3個の検証技術(即ち、フィ
ルタ)が検証問題を解法するため使用される。本発明
は、検証解を得るために必要に応じて検証問題を多数の
フィルタに通す。系列内の検証技術の特定の配置は、最
適性能のため非常に重要である。
【0027】ステップ104において、構造的フィルタ
がネットワークに適用される。ステップ106におい
て、機能的フィルタがネットワークに適用される。次
に、ランダムパターン発生器がネットワークをシミュレ
ーションするため使用される(ステップ108)。ステ
ップ109において、検証のための内部ゲートの候補リ
ストが剪定される。ステップ110において、検証用の
候補が非常に少ない場合、YES側のパス112が選択
され、ステップ114に進む。ステップ114におい
て、検証される回路はK個の区分に分割される。このス
テップの目標は、回路設計の各区分内のゲート間に、よ
り多くの等価物を作成することである。ステップ118
乃至136が各区分毎に実行される。テストステップ1
10において、検証用の十分な候補が存在する場合、N
O側のパス116が選択され、ステップ118に進む。
処理は各区分毎に検証コアで続けられる(ステップ11
8)。検証コアは、“マクロフィルタ”と称される3個
の別々のフィルタにより構成される。これらのフィルタ
は、ナイーブカットセットベースド検証120と、スマ
ートカットセットベースド検証122と、ATPGベー
スド検証124とを含む。スマートカットセットベース
ド検証122及びATPGベースド検証124は、解に
集まるより効率的な検証を行うためループ配置で処理さ
れる。
【0028】検査フェーズ126の後、ネットワークは
検証用再統合により処理される(ステップ128)。こ
のステップは、ODC及び学習ベースド再統合130を
含む。ネットワークは次に検証コア132の中に送られ
る。最後に、ネットワークは、BDD分割136を含む
修正検査フェーズ134により処理され、検証処理はエ
ンドステップ138で終了する。
【0029】図4に示された別の実施例において、修正
検査フェーズ134は、改良型修正検査フェース135
によって置換される。修正検査フェーズ134は、検査
フェーズ126と同一の処理に関与するが、BDDが爆
発する場合、BDDはBDD分割136を用いて小さい
BDDに細分される。別の有用な実施例として、回路分
割(図示しない)は、処理のこの段階でBDD分割13
6と共に導入しても良い。この組合せは、図4に示され
る如く改良型修正検査フェーズ135と称される。改良
型修正検査フェーズ135において、修正検査フェーズ
134に与えられた各検証問題に対し、回路は入力変数
又は内部変数を用いる分割によって数個の区分に分割さ
れる。次に分割されたかかる回路に対し、ステップ10
8からステップ136までの全てのステップが適用され
る。
【0030】図2には、フィルタベースド検証システム
の一実施例が記載されているが、数通りの別の構成を実
現することができる。例えば、ODC及び学習ベースド
再統合130又は検証フィルタ用再統合128を省いて
も良い。或いは、構造的フィルタ104及び/又は機能
的フィルタ106は、フィルタ毎に後に適用しても良
い。同様に、検証コアフィルタ128内の構造を変更
し、スマートカットセットベースド検証122及びAT
PGベースド検証124だけを使用するように、又は、
ナイーブカットセットベースド検証120と、後続した
ATPGベースド検証124と、後続したスマートカッ
トセットベースド検証122とを使用するように選択す
ることが可能である。別の方法は、スマートカットセッ
トベースド検証122と、ATPGベースド検証124
との間のループを省略する。回路分割は、回路再統合の
後に、BDD分割と共に使用してもよい。各回路分割毎
に、ステップ118からステップ138までの全てのス
テップが実行される。修正検査フェーズ134は、改良
型修正検査フェーズ135により置換してもよい。上記
フィルタアプローチの幾つかの別の実施例が図3乃至9
に記載されている。上記変形例の他に、当業者は成功の
程度が変化する種々の明らかな組合せの形でフィルタア
プローチの基本ステップを使用する。
【0031】充足可能性(SAT)の解決は多くのCA
Dの領域で主要な問題であることは公知である。CAD
の殆どの問題はSAT問題としてモデル化することがで
きる。本発明は、エンジニアリングチェンジ、統合、配
置、及び、強力なSAT解決器が必要とされる場面に適
用可能である。本発明は、図10に示される如く、SA
T問題を解法する解析ツールとして使用することができ
る。同図に示す如く、スタートステップ200に続い
て、解放されるべきCAD問題は、ステップ204にお
いて、図2乃至4に示されたフィルタアプローチを使用
して解法される。処理はステップ206で終了する。
【0032】II.標的分解(targeted decomposition) A.各回路毎に使用する単一分解 ディジタル回路の多レベル最適化の間に、消去、分解、
抽出、簡略化及び置換のような数種類の変換が行われ
る。ある種の変換は、種々のノードを併合又は分離させ
ることにより回路構造に局所的な変化を生じさせる。そ
の結果として、原ネットワークと最適化されたネットワ
ークとの間の多数の対応ポイントは消失する。この内部
的対応関係の欠如は、検証問題を非常に困難にする。従
って、多くの内部的対応関係が見えるようにネットワー
クの高速再統合が行われる。この目的のため、単純なテ
クノロジー分解技術102が組み込まれる。5入力以上
を有する二つのネットワーク内の複雑なゲートは2レベ
ルのアンド・オア論理ネットワークに分解される。ま
た、11入力以上を有するアンドゲート及びオアゲート
は、夫々アンド木及びオア木に分解される。既存のゲー
トのグループは、回路内に新しい原始的ゲートを作成す
るため既存のライブラリに基づいて標的を変更される。
この方法は大規模かつ複雑な回路に対し非常に効果的で
あることが分かっている。
【0033】B.各回路毎に使用する多重分解 二つの回路C1 とC2 の間の“類似性”を増大させ、よ
り検証し易くさせる方法を説明する。この処理は、最初
に、与えられた回路の複雑な論理ゲート又は論理ゲート
の集合を種々のテクノロジー分解と関連付けることによ
り動作する。各テクノロジー分解毎に、ある複雑なゲー
トg又はあるゲートの集合を表す原始的ゲートの集合が
得られる。あるテクノロジー分解に対応する論理回路
は、ローカルゲートマップと称される。多数のローカル
ゲートマップgM1,...,gMkはゲートgと関連して
いる。このテクノロジー分解処理は所定の回路の対の各
回路の全てのゲートに対し繰り返し行われ、多数のロー
カルゲートマップを各回路の各ゲートと関連付け、かく
して得られた回路は多重マップ回路と称される。次に、
多重マップ回路の各ゲートはシミュレーションにより評
価される。即ち、所定のテクノロジーマップされた両方
の回路の各ゲートの各テクノロジー分解はシミュレーシ
ョンされる。このシミュレーションは、1次入力変数に
対し行われたブール割り当て(ベクトル)の共通集合を
用いることにより行われ、ローカルゲートマップ内の所
定のゲートに関する対応するシミュレーション結果(シ
グネチャー)は、その論理ゲートに格納される。
【0034】1次入力から始めて、第1の回路の複雑な
ゲートgのあるシミュレーションから得られた結果(シ
グネチャー)は、第2の回路の別の複雑なゲートhのシ
ミュレーションと比較される。この比較において、回路
1 のゲートgのある主のローカルゲートマップgMi
のゲートに格納されたシミュレーションは、回路C2
ある種のゲートhのローカルゲートマップhMjに格納さ
れたシグネチャーと一致するようなシミュレーションで
ある。ローカルゲートマップgMi及びhMjが最大個数の
等価/相補形シグネチャーの対を有する場合を想定す
る。一定のゲートg及びhは対応したテクノロジー分解
Mi及びhMjで置換される。かくして、回路は原始的論
理ゲートに関して作成される。同一処理は、所定の各ゲ
ートが対応したテクノロジー分解で置換されるまで、又
は、適当な置換は不可能であるとの結論が得られるまで
残りのゲートに対し繰り返し行われる。従って、2個の
変換された回路は、原回路の複雑な各ゲート又はゲート
の集合を上記の処理で選択されたような適当なテクノロ
ジー分解で置換することにより原回路C1 、C2 から作
成される。
【0035】フィルタの効率的な性能のため、かかる巧
みなテクノロジー分解処理は、以下の条件(1)及び
(2)の一方又は両方の条件下で実行することが好まし
い。 (1)2個の回路C1 及びC2 は多数の等価/相補形候
補対を含まない、及び、(2)等価/相補形候補対が含
まれない与えられた2個の回路内に連続的な内部ゲート
の大きい集合が存在する。
【0036】フィルタベースド検証処理内にある多重分
解ベースドテクノロジー分解処理について説明したが、
多重分解テクノロジー分解処理はシミュレーション処理
が実行された後だけに使用されることを意図している。 III.サブグラフ同型ベースド構造的フィルタ 統合ツールの適用後に回路の構造に生じた変化は屡々局
在する。このような場合に、原回路の主要部分はその統
合された回路の部分と構造的に一致したままである。直
接的な態様で同一構造の情報を利用し得る方法は、モノ
リシックOBDDを構築するような明示的な検証方法よ
りも効率的である。この目的のため、サブグラフの同型
の認知に基づく高速方法が構造的フィルタ104として
使用される。フィルタは1次入力から1次出力までNc
を処理し、同型であるネットワークの部分を識別し、識
別された部分はネットワークNc1を生成するため併合さ
れる。
【0037】ネットワークの構造的に同型部分を識別す
るため、以下の方法が使用される。ゲートgに対し、構
造的に同型である候補ノードが識別される。これは以下
の通り行われる。F={n1 ,...,nk }をゲート
gに供給する側のゲートの集合とする。C=
{p1 ,...,pj }は隣接したファンインとして集
合F内の全ゲートを有するゲートの集合とする。また、
集合C内の全てのゲートは他のゲートからの供給を受け
ないとする。集合Cはゲートgとの等価性を検査される
候補ゲートの集合を形成する。ゲートh∈Cがgと同一
の関数を実現するならば、g≡hである。ゲートg及び
hは併合され、処理はネットワーク内の他の全てのゲー
トに対し繰り返される。このステップの時間的な複雑さ
は、O(|Nc |)のオーダである。
【0038】IV.OBDDハッシングベースド機能的
フィルタ このフィルタは、局部OBDDに基づく簡単な機能的フ
ィルタ106である。ネットワーク内のノードに対する
OBDDは他の内部ノードを構成するカットセットに関
して構築される。このフェーズは、Nc1内の内部的な等
価ノードを識別する。Nc1の1次入力はネットワーク内
のノードに対しBDDを構築する第1のカットセットを
形成する。独立したBDD変数は1次入力に割り当てら
れ、BDDはNc1内の内部ノードに対し構築される。好
ましい実施例において、ノードは幅優先順に処理され
る。ノードを処理する他の順序を選択してもよい。ノー
ドは、キーとしてBDDへのポインタを使用してハッシ
ュ表BDDハッシュにハッシュされる。共有BDDデー
タ構造が予めセットされた限界に達したとき、別のBD
Dは現在のカットセットに基づいて構築されない。全て
の等価及び相補ゲートは併合され、併合されたノード及
び1次入力からなる新しいカットセットが深さ優先トラ
バーサルにより1次入力から選択される。この処理は新
しいカットセットに基づいて繰り返される。かくして、
回路の各ゲート毎に典型的に、重複するBDDの集合が
種々の回路に基づいて構築される。
【0039】図11はBDD用のハッシング機構を説明
する図である。カットセット1はネットワークへの1次
入力からなる。ノードn3、n4及びn5用のBDDは
カットセット1に関して構築される。ノードn4及びn
5は、カットセット1に関して同一のBDDを有するの
で、BDDハッシュの同一衝突チェーンにハッシュす
る。
【0040】2種類の発見的方法、即ち、(1)共有B
DDデータ構造のサイズに基づく発見的方法、及び、
(2)任意のカットセットを用いてBDDが構築された
回路の構造的レベルの数に基づく発見的方法がいつでも
BDDのサイズを制限するため使用される。これらは、
既に発見された等価ノードに基づいて新しいカットセッ
トを導入するためにも使用される。等価ノードはネット
ワークNc2を生成するため併合される。典型的に、任意
の所定の時点に維持される50,000個のノードの制
限は共有BDDデータベースに加えられる。任意のカッ
トセットを用いて処理された回路レベルの最大個数は典
型的に5である。この技術のフローチャートは図12に
示されている。最大のBDDがSlimit 個のノード未満
であるならば、このステップの時間的複雑さは、固定の
limit に対する回路のサイズに線形的な項O(S
limit ・Nc1)よりも少ない。BDDハッシュ処理は、
スタートステップ300で始まる。ステップ302にお
いて、複合ネットワークが作成される。次に、ステップ
306で、1次入力に基づく内部ゲートに対するBDD
が構築される。テストステップ308において、BDD
サイズ限界が超えられないならば、NO側のパス310
が選択されステップ306に戻る。そうではない場合、
YES側のパス312が選択されステップ314に進
み、内部ノードがそのBDDポインタに基づいてハッシ
ュされる。次に、ステップ316で、ハッシュ表が等価
ノード及び反転ノードを識別並びに併合するため使用さ
れる。ステップ318において、回路内の全ノードが処
理された場合、YES側のパス320が選択され、処理
はエンドステップ322で終了する。そうではない場
合、NO側のパス324が選択されステップ326へ進
み、併合されたノード又は1次入力の新しいカットセッ
トが選択される。ステップ328において、内部ノード
用のBDDが新しいカットセットを用いて構築される。
ステップ330で、BDDサイズ限界が超えられた場
合、処理はステップ314へ進む。そうではない場合、
処理はステップ328に進む。
【0041】このフィルタは、ランダムパターンシミュ
レーションベースド候補収集ステップ及び逐次合成技術
と組み合わされた場合に単独で検証ツールとして使用さ
れ得る。かかる検証アプローチのフローチャートは図1
3に示されている。スタートステップ350に続いて、
複合ネットワークがステップ352で作成される。次
に、ステップ354において、ランダムパターンシミュ
レーションが候補ゲートの全ての対を収容するハッシュ
表を作成するため使用される。次に、ステップ356に
おいて、1次入力に基づく内部ゲート用のBDDは構
築、ハッシュされる。全ての等価ゲート及び反転ゲート
は併合される。テストステップ358において、全ての
出力(PO)が検証されたならば、YES側のパス36
0が選択され、BDDハッシュを用いた検証はエンドス
テップ362で終了する。そうではない場合、NO側の
パス366が選択され、逐次合成を用いて偽陰性が除去
される。処理はエンドステップ362で終了する。
【0042】V.ランダムパターンシミュレーション このフェーズでは、並列ランダムパターンシミュレーシ
ョン108が機能的に等価である候補ノードを決定する
ためNc2上で行われる。各ノードには、シミュレーショ
ンの結果を格納するため長さkのビットベクトル(シグ
ネチャーとも称される)Bが割り当てられる。典型的な
kの値は32である。これは、典型的な32ビットコン
ピュータ上の1ワードの記憶容量に対応する。このステ
ップの時間的な複雑さはO(k・|Nc2|)である。回
帰ベースドシミュレーションの後、同一シグネチャーを
有するノードが機能的等価物の候補として選択される。
【0043】内部ゲート対は、両方の回路の各ゲートを
各ゲートが到達又は影響する対応した1次出力と関連付
けることにより、機能的等価性又は機能的相補性が検査
される。即ち、各ゲートの推移的ファンアウトコーンに
存在する回路出力が決定される。次に、ランダムパター
ンシミュレーションは、所定の適用されたランダムシミ
ュレーションベクトルの集合に対し各ゲートのシグネチ
ャーを決定するため適用される。同一シグネチャー又は
相補シグネチャーのいずれかを有し、かつ、出力リスト
が交差する各ゲート対は、少なくとも1個の共通対応1
次出力が推移的ファンアウトコーン内に含まれるように
一つに集められる。
【0044】VI.回路は分割されるべきか? 参考として引用した Dr. J. Jain他:“Functional Par
titioning For Verification And Related Problems
”, MIT VLSI Conference 1992 には、検証問題は、
n変数関数Fの2n ブール空間を分割することにより著
しく単純化され得ることが記載されている。この分割
は、Fの充足可能性集合の互いに素な分割とみなすこと
ができる。かくして、関数Fは、少なくとも1個の分割
が充足可能で有る場合に限り充足可能である。かかる分
割は機能的分割と呼ばれる。回路構造の分割及びBDD
分割に基づくような機能的分割技術の一部は既に開発さ
れている。回路分割は縮小された回路の集合を作成し、
BDD分割は小さいBDDの集合を作成し、典型的に非
常に大形のBDDだけに対して適用される。例えば、変
数xi =0、xi =1に関して回路Cをシミュレーショ
ンすることにより、2個の回路分割Cxi=0及びCxi=1
作成される。各回路は別々に解析できるようになる。原
ネットワークN1 、N2 を検証するため、Nc2の各区分
がブール値0に減少するか否かを検証する。
【0045】回路分割は、検証される回路のサイズを縮
小するだけではなく、以下の数種類の利点を有する。 (1)新しい条件付き等価物が作成される。例えば、あ
るゲートga 、gb は変数xi =0の場合に限り等価で
ある。一方、あるゲートgc 、gd はxi =1の場合に
限り等価である。 (2)新しい条件付き学習が作成される。この学習は所
定の区分だけに保持される含意である。かかる簡略化は
検証問題を著しく容易化し、屡々、検証処理を劇的に高
速化させる。
【0046】所定の回路Nc2に対し機能的区分を作成す
べきか否かの決定は、このポイントで行われる。フィル
タ構造内のこのステップで考量されるのは、BDD分割
ではなく回路分割だけであり、BDD分割は、現在のア
プローチが巨大なBDDを構築することなく二つの所定
の回路を検証し得ない場合に限り行われる。回路を分割
すべきか否かを決定するため使用される規準は、潜在的
な機能的等価物の候補の密度に基づいている。機能的等
価物の個数がNc2内のゲート総数よりも著しく少ないこ
とが判明した場合、或いは、1次出力に最も近い候補の
限界が1次出力から構造的距離に関して非常に離れてい
る場合、即ち、膨大なノードのバンドが(計算上コスト
高の間接含意の抽出を伴うことなく)容易に関連付けら
れない2個のネットワークに残される場合、2個の回路
はブール定数を少数の1次入力に割り当てることにより
分割される。一般的に、2個の回路の間に充分な数の潜
在的等価物が作成されるまで、又は、分割の個数に関す
る予めセットされた最大限界(典型的に約8)が超過さ
れるまで、分割が行われる。最大の推移的ファンアウト
コーンに影響を与える1次入力は回路を分離する変数と
して選択される。
【0047】VII.検証コア(VC) 所定のノード対(n1 ,n2 )に対し、システムがn1
≡n2 かどうかを解法できない場合、以下の2通りのシ
ナリオを考えることができる。 シナリオ(A):n1 ≡n2 の場合に、関係を見つける
ため、(n1 ,n2 )のコーン内の内部(入力)ノード
(変数)の間の機能的依存性を解析する必要がある。 シナリオ(B):n1 ≠n2 の場合に、関係を見つける
ため、1次入力に関する関数
【0048】
【外1】
【0049】に対する充足ベクトルを表現する必要があ
る。BDDベースド技術又はATPGベースド方法のい
ずれか一方は、より複雑な解析を実行し、n1 ≡n2
あるか否かを証明するため使用することができる。AT
PGベースド方法は空間剪定方法論であるとみなすこと
ができ、OBDDベースド方法は空間コンパクション
(関数表現)技術であるとみなされる。そのため、逆の
場合があるとしても、ATPGベースド方法はn1 ≠n
2 の場合に最も良く動作し、OBDDベースド方法はn
1 ≡n2 である場合に最も効率的であると考えられる。
厳密な回帰ベースドシミュレーションに起因して、大半
の候補対(n1 ,n2 )は実際上機能的に等価であると
期待される。従って、検証コアの初期フィルタはOBD
Dベースド技術であり、その後にATPGベースドアプ
ローチが続く。
【0050】A.マクロフィルタの構造 検証プログラムのコアは、有効なタイムアウト及びスペ
ースアウト機構によって厳しく制限された3通りの別々
の技術により構成される。その中の二つの技術はループ
状に結合され、非常に有効な内部フィルタを構成する。
上位レベルフィルタはマクロフィルタと称され、内部フ
ィルタはミクロフィルタと称される。ノードの対は、ラ
ンダムパターンシミュレーション108により作成され
た候補リストから取り上げられ、検証コア118はノー
ド対が機能的に等価であるか否かを検証するため適用さ
れる。等価であることが判明した場合、下位構造レベル
を有するノードはネットワークに保持され、もう一方の
ノードを機能的に置換するため使用される。保持された
ノードにはEQノードのマークが付けられる。
【0051】検証コアは、(1)ナイーブカットセット
(Naive Cutset)ベースド検証120、(2)スマートカ
ットセットベースド検証122、及び、(3)ATPG
ベースド検証124の3通りの技術からなる。各技術は
固有のタイムアウト限界と関連付けられる。特定の技術
が呼び出されてからの経過時間を追跡し、プリセット時
間が経過した後、割込を発生するアラーム機構が実装さ
れている。最初の2つの方法は、BDDベースの技術で
あり、固有のスペースアウト限界と関連付けられる。B
DD管理下のノードの総数が予め指定された限界を超過
した場合に、割込が発生され、BDDベースド機構が打
ち切られる。ATPGベースド方法はバックトラックの
回数に制限を設定することにより制御される。バックト
ラックのプリセット数が超過した場合にATPGベース
ド方法は打ち切られる。スマートカットセットベースド
技術及びATPGベースド技術はループ状に配置される
(マイクロフィルタ)。このループへの連続的な各エン
トリは、上記二つの技術を大きいタイムアウト及びスペ
ースアウト限界、即ち、高い強度で呼び出す。かくし
て、検証されるべきノードの対が与えられた場合、二つ
のコア方法の中の各方法は、もう一方の方法により多く
の計算資源を消費する前に、問題を解法するための公平
なチャンスを与えられるべきである。この技術は、特に
大規模、複雑な回路に関して非常に有効であることが実
験により分かった。
【0052】B.ローカルナイーブカットセットベース
ド検証(NCV) ランダムパターンシミュレーションによって機能的等価
物の候補であると判定された2個のノードn1 及びn2
が与えられた場合、最初に内部ノードのナイーブカット
セットλが選択される。n1 ∈λなる各ノードは、1次
入力又はEQノードである。次に、このカットセット
は、λ内のノード間の相互機能的依存性を最小限に抑え
るため安定化される。λ内の各ノードは、カットセット
の他のメンバによって完全にカバーされているか否かを
判定するため順番に調べられる。完全にカバーされてい
る場合に、そのノードはカットセットから除去される。
例えば、図14において、初期カットセットλがノード
{p7,p2,p1,p3,p5,p6}からなる場合
を想定する。ノードp5は、ノードp3及びp6によっ
て完全にカバーされている。従って、ノードp5はカッ
トセットから除去しても構わない。また、カットセット
内のノードがカットセットの1個以上のメンバに機能的
に依存し、その依存性が除去されるように別のノードで
置換できるならば、置換が行われる。図14のノードp
1は機能的にノードp2及びp3に依存している。ノー
ドp1はλの他のいかなるメンバにも依存していないノ
ードp4により置換され得る。従って、安定化されたカ
ットセットλは、ノード{p7,p2,p4,p3,p
6}により構成される。次に、2個のOBDD、B1
びB2 がλs に関して夫々n1 及びn2 に対し構築され
る。B1 ≡B2 である場合、ノードn1 及びn2 は機能
的に等価であることが証明される。このフェーズは、ユ
ーザが指定し得るタイムアウト及びスペースアウト限界
によって制限される。タイムアウト限界及びスペースア
ウト限界の典型的な値は、5秒(CPU実行時間)及び
10,000ノードである。
【0053】C.マイクロフィルタ:ローカルスマート
カットセットベースド検証(SCV) 参考のため引用したMatsunaga,“An Efficient Equival
ence Checker For Combinational Circuits", Design A
utomation Conference (DAC), 1996に記載されているよ
うに、ノードn1 及びn2 が等価であり、ナイーブカッ
トセットλN を用いてBDDを構築することによりその
等価を証明できない場合、カットλN 上のカットセット
変数間の機能的依存性(ドントケア)はNCVによって
適切に説明できないので、このアプローチは失敗する
(即ち、偽陰性に到達する)。かかる偽陰性の可能性を
低下させるため、カットセットλは、λ内のノードが最
小相互機能的依存性を有するように選択される。一方、
1 ≠n2 であり、関係を見つけることができない場
合、上記の如く、少なくとも関数
【0054】
【外2】
【0055】の一部を1次入力変数に関して表現する必
要がある。これは、ATPGフィルタに適当であり、か
つ、機能的依存性を最小限に抑えるため使用されたフィ
ルタ技術が失敗したときにATPGフィルタに自動的に
渡される作業である。ノードの集合Sが与えられた場
合、スマートカットセットを選択する方法は以下の手順
で行われる。TFIs はS内の全ノードの推移的ファン
イン(TFI)のノードの集合を表すことにする。2個
のカウンタC1 及びC2 はTFIs の各ノードと関連付
けられる。ni ∈TFIs なる各ノード毎に、カウンタ
i は、TFIにni が存在するS内のノードの個数を
カウントする。全ての1次入力に対するc2 の値は、そ
のc1 の値と一致する。隣接したファンインノードであ
るfaninnjを備えたTFIs 内のnj である全ての
他のノードに対し、c2 が以下の通り計算される。
【0056】
【数1】
【0057】次に、スマートカットセットは、集合Sか
ら始まり、1次入力に向かって進む簡単な深さ優先探索
手続によって選択される。深さ優先探索は、c1 ≡c2
なるノードで停止する。初期カットセットλが選択され
た後、λs を獲得するため安定化される。次に、OBD
Dはλs に関してS内のノードに対し構築される。二つ
のノードn1 及びn2 がスマートカットセットを用いて
検証されるとき、最初に、n1 及びn2 のOBDDの排
他的論理和(XOR)が構築される。このBDDが0に
縮小する場合、ノードn1 及びn2 は機能的に等価であ
ることが証明される。そうではない場合、逐次合成と称
される技術が使用される。現在のXOR形BDDが組み
立てられるという点で新しい安定化スマートカットセッ
トを検出する。この逐次合成の処理は、一定回数(典型
的に3回)繰り返される。BDDが0に減少する場合、
1 ≡n2 である。一方、BDDが1次入力変数に関し
て充足可能になるならば、n1 ≠n2 である。また、ス
マートカットセットベースド検証はタイムアウト及びス
ペースアウト機構によって制御される。タイムアウト限
界及びスペースアウト限界の典型的な値は、夫々、20
秒(CPU実行時間)及び100,000ノードであ
る。タイムアウト限界はSCVの次のパスで増加され
る。スマートカットセットベースド検証がタイムアウト
又はスペースアウトに起因して停止する場合、或いは、
1 ≡n2 又は n1 ≠n2 のいずれであるかを証明で
きない場合、ATPGベースド検証が行われる。
【0058】D.マイクロフィルタ:ATPGベースド
検証(AV) ATPGを用いてn1 及びn2 を検証するため、最初
に、n1 及びn2 を使用してマイタが作成される。マイ
タとは、二つの回路の対応する出力の排他的論理和(X
OR)を取ることにより作成された回路
【0059】
【外3】
【0060】である。図16にはマイタの一例が示され
ている。同図において、破線は元の回路接続を表わす。
新しいXORゲートが導入され、XORゲートの出力は
元々ノードn1 から給電されていたノードに給電する。
次に、ATPGツールは、図16に示される如く、故障
スタック・アット・ゼロ(s−a−0)をテストするた
め使用される。故障が冗長である場合、n1 はn2 に機
能的に一致するか、又は、両者は可観測性ドントケア条
件(ODC)の下で相互に一致する。このフェースで消
費される時間は、ATPG処理で許容されたバックトラ
ックの回数を制限し、タイムアウト機構を作動すること
により制御される。AVの最初のパスに対し、バックト
ラック限界は典型的に50にセットされる。この限界は
後続のパスで増大される。タイムアウト限界は典型的に
50秒にセットされ、同様に後続のパスで増大される。
【0061】第1のパスがSCV及びAVを通過した
後、n1 及びn2 が機能的に等価である、若しくは、機
能的に等価ではないのいずれも証明されなかった場合、
SCV及びAVは、より大きいタイムアウト、スペース
アウト、及び、バックトラック限界を用いて(マイクロ
フィルタ内で)繰り返される。かくして、VCはネット
ワークNc2を容認し、ネットワークNc3を生成する。こ
の変換の時間的複雑さは、OBDD及びATPGルーチ
ンに設定された空間的限界及び時間的限界に依存するの
で、完全に制御することができる。
【0062】VIII.検査フェーズ 検査フェーズ126において、1次出力の対応する対
は、それらの等価性を検証しようとして解析される。ネ
ットワークNc3において、全ての機能的に等価なノード
は既に併合され、多数の1次出力の等価性ができるだけ
先に識別されている。そのため、先行フェーズは、二つ
の回路を検証するため充分である場合が多い。しかし、
VC単独では検証できない回路が存在する。二つの原回
路の間の多数の(容易な)等価ノードは既に得られてい
るので、完全BDD構成の問題はかなり簡単化されてい
る。このフェーズにおいて、出力BDDを構成するた
め、本発明は、1次入力に到達するまで、若しくは、関
数が零に達するまで、内部等価ポイントのカットセット
に関して出力
【0063】
【外4】
【0064】のOBDDを順番に組み立てる。しかし、
本発明のフィルタの原理、及び、計算困難な関数のOB
DD爆発の留意により示されるように、BDD構成は、
大きい予めセットされたスペースアウト/タイムアウト
限界が超過された後に停止される。 IX.ODC等価性及びODC学習ベースド再統合 このステップにおいて、残りの未検証1次出力の各対は
別々に目標とされる。かかる出力対毎に、新しいネット
ワークNhardがその推移的ファンインコーンに対し作成
される。このフェーズの目的は、Nhardのノードの間で
より複雑な関係を見つけ、検証問題が単純化されるよう
に、この関係をNhardを再統合するため使用することで
ある。選択された出力対に最も近いEQノードのカット
セットは配置されている。この境界の前方のノードは、
アヘッドオフフロンティア(AOF)集合を構成する。
AOFの全てのノードは、Nc の他のノードと機能的に
等価であることが分かっているノードが含まれないよう
なノードである。このフェーズの目的は、ネットワーク
のODCの下で等価又は他のノードと学習関係を有する
ノードを抽出することである。
【0065】A.ODC等価性及びODC学習候補の同
定 最初に、回路は各ノードのシグネチャーを獲得するため
ランダムにシミュレーションされる。ノードの対は、シ
ミュレーションによって得られたシグネチャーがk1
ットよりも多数のビットで異なるならば、ODC等価性
の候補である。本例ではk1 =1である。この数字は、
入力スペースの非常に小さい部分に亘る2個のノードの
間の機能的な差異が可観測性ドントケアによって屡々マ
スクされ、1次出力で現れないので選択された。ODC
学習に対する候補の場合、以下の4通りの動作がni
j ∈AOFなるノードの各対のシグネチャーの間で行
われる。
【0066】
【数2】
【0067】ここで、signiはノードni のシグネチ
ャーを表わす。掲記の最初の演算の結果は、
【0068】
【外5】
【0069】である場合に、恒真である。同様に、他の
三つの演算は他の3通りの学習の場合に該当する。OD
C学習のための候補を同定するため、上記の各演算の合
成シグネチャーは、全数1のシグネチャー、即ち、各ビ
ットがブール値1であるシグネチャーと比較される。合
成シグネチャーがk2 個よりも多数のビットで全数1シ
グネチャーと相違するならば(但し、k2 =1が選択さ
れている)、二つのノードはODC学習の候補であると
考えられる。ODC等価性及びODC学習に対する候補
が見つけられた後、それらの関係を抽出するルーチンが
始動される。
【0070】B.ODC等価性及びODC学習の抽出 ODC等価性の抽出はATPGベースド検証と同一であ
る。ODC学習の抽出は以下に詳説する。ノードn1
びn2 がODCの下で、学習
【0071】
【外6】
【0072】の候補であることが分かっている場合を考
える。次に、マイタが図16に示される如く作成され
る。続いて、ATPGツールは、Yにおける故障s−a
−0をテストするため始動される。故障が冗長である場
合、
【0073】
【外7】
【0074】及び、n1 ∨n2 が回路内でn2 を機能的
に置換するため使用される。他の3タイプのODC学習
は同様な方法で抽出される。かかる再統合は2個の回路
の併合を補助し、潜在的に検証問題を単純化し得る。ま
た、再統合は、屡々、AOFのノード間により多くの機
能的等価物を作成する。これらの機能的等価物は検証を
更に単純化するため利用され得る。再統合が終了した
後、VC及び検査フェーズは、1次出力の単一の対を含
むNhard上で再起動される。検査フェーズの間にBDD
サイズが爆発した場合、BDD分割が上記の如く起動さ
れる。
【0075】X.2進決定図(BDD)分割 BDD分割は、Fの2n ブール空間を互いに素の部分空
間に分割し、各部分空間を別々に表現することにより、
(非常に大きいモノリシックBDDを有する)困難な関
数FのBDDを構成する。BDDの各区分には新しいB
DDマネージャが割り当てられるので、個別に記録する
ことが可能である。更なる区分は、BDDサイズ上の限
界に依存して逐次合成の間に動的に作成される。分割は
BDD爆発の問題を著しく解消する。各区分が別個のB
DDによって表現されるとき、各BDDは独立に作成し
てもよく、与えられた関数の合成表現は“分割”OBD
D表現と称される。
【0076】A.分割ROBDDの意味:定義 n個の入力Xn ={x1 ,...,xn }に関して定義
されたブール関数
【0077】
【外8】
【0078】を考える。関数fの分割ROBDD表現X
f は以下の通り定義される。Xn に関して定義されたブ
ール関数
【0079】
【外9】
【0080】が与えられた場合、関数fの分割ROBD
D表現Xf はk個の関数対の集合
【0081】
【数3】
【0082】であり、式中、
【0083】
【外10】
【0084】はXn に関して定義され、以下の条件を充
たす。 ・条件1. wi 及び
【0085】
【外11】
【0086】は、変数順序πi 、但し、1≦j≦kの場
合にROBDDとして表現される。 ・条件2. w1 +w2 +...+wk =1 ・条件3.
【0087】
【数4】
【0088】式中、+又は∧は、夫々ブール論理オア及
びアンドを表わす。集合{w1 ,...,wk }はWに
より示される。各wi はウィンドウ関数と称される。直
観的に、ウィンドウ関数wi は関数fが定義されている
ブール空間の一部を表わす。各対
【0089】
【外12】
【0090】は、関数fの区分を表わす。ここで、用語
“区分”は、区分が互いに素であるという従来の意味で
は使用されていない。条件1乃至3に加えて、 wi ∧wj =0、但し、i≠j なる条件がある場合、区分は直交している。このとき、
明らかに
【0091】
【外13】
【0092】は従来の意味での区分に相当する。 B.分割ROBDDを構成する方法 分割された縮小順序付き2進決定図(ROBDD)の性
能は、関数がコンパクトに表現されたブール空間の良好
な区分を生成する能力に決定的に依存する。ブール空間
の良い区分を見つける問題は、分割ROBDD表現の中
心である。以下に、コンパクトな直交した分割ROBD
Dを生成する際に非常に効果的な簡単な発見的方法を説
明する。ブールネットリストは本アプローチで使用され
ているが、この技術は汎用的であり、任意のブール演算
の系列に適用することが可能である。
【0093】本BDD分割アプローチにおいて、ウィン
ドウの個数は、先見的又は動的に決定される。ウィンド
ウwi が決定された後、ウィンドウに対応する分割RO
BDDは、ウィンドウwi に対応したブール空間内でF
を組み立てることにより得られる。ある関数Fに対しB
DDを分割する際に、分解されたBDD表現(即ち、入
力変数の意味ではなく、所定のターゲット関数Fに対す
るBDDを構築する過程で作成された疑似入力変数の意
味でのBDD)に基づいて作業が行われる。Fに対する
分割BDDを作成する必要があるならば、区分を生じさ
せるため分解されたBDDが解析される。分解ポイント
ψ1 ,...,ψk に関してFに対する分解されたBD
Dを組み立てることができないので、区分決定が典型的
に行われる。Fに対し分解されたBDDから分割BDD
を作成し得る3通りの方法があることに注意する必要が
ある。 (1)入力変数を使用する分割。入力変数の個数は動的
に変更してもよく、又は、所定の定数に設定してもよ
い。 (2)“内部”変数、即ち、入力変数ではない変数を使
用する分割。かかる変数は内部ゲートに取り込まれた疑
似変数でも構わない。 (3) 上記(1)と(2)の組合せを用いる分割。
【0094】本フィルタリングベースド検証処理におけ
る時間的なあるポイントで、Fの分解された表現f
d (Ψ,X)が得られる。ここで、Ψ=
{ψ1 ,...,ψk }は、ナイーブカット又はスマー
トカット処理により分解集合と称され、ψi ∈Ψなる各
ψi は分解ポイントである。
【0095】
【数5】
【0096】が分解ポイントのROBDDを含む配列を
表わす、即ち、ψi ∈Ψなる各ψi が1次入力変数、並
びに、(できる限り)ψj ≠ψi なる他のψj ∈Ψなる
ψj に関して、
【0097】
【外14】
【0098】と表される対応したROBDDを有する場
合を想定する。同様に、
【0099】
【外15】
【0100】の配列は、
【0101】
【外16】
【0102】によって表される。fd (Ψ,X)におけ
るψi の合成は、
【0103】
【外17】
【0104】によって表され、但し、
【0105】
【数6】
【0106】である。fd (Ψ,X)におけるΨのベク
トル合成は、
【0107】
【外18】
【0108】により表され、ψi のfd への逐次合成を
表現する。 C.分解表現の分割 ウィンドウ関数wi 、分解表現fd (Ψ,X)、fのR
OBDD配列Ψbdd が与えられ、
【0109】
【数7】
【0110】を表わすROBDDがfよりも小さくなる
ようなfi を見つける場合を考える。キューブに他なら
ない全てのwi はこの要求を充たす。fd 、Ψbdd 及び
i が与えられた場合、共通係数
【0111】
【外19】
【0112】を作成する。次に、
【0113】
【外20】
【0114】において、
【0115】
【外21】
【0116】を組み立てることにより、分割関数
【0117】
【数8】
【0118】が得られる。ウィンドウ関数wi の集合が
与えられた場合、fの分割ROBDDxf は、
【0119】
【数9】
【0120】により与えられる。上記定義が上記条件
1.乃至条件3.を充たすことは容易に確かめられる。
i がキューブの場合、fi はfに対するROBDDよ
りも小さいサイズを有することが保証される。また、w
i を表わすROBDDは、kがwi 内の文字数であると
き、k個の内部ノードを有する。wi 及び
【0121】
【外22】
【0122】は、互いに素のサポートを有するため、
【0123】
【数10】
【0124】である。また、fi 構築の各中間結果はf
構築の中間結果よりも小さくなると共に、中間ピークメ
モリ要求量が低減される。上記考察は、f及びfi が異
なる変数順序を有するとき、動的変数再整列がある場合
に成り立たないことに注意する必要がある。しかし、実
際上、動的変数再整列は分割の場合により小さいグラフ
上で動作するので、おそらくより効率的である。
【0125】ウィンドウ関数がキューブよりも複雑なP
Iの関数である場合でも、
【0126】
【数11】
【0127】が使用される。ここで、
【0128】
【外23】
【0129】は、wi 上のfの汎用共通係数である。w
i 上のfの汎用共通係数は、一般的にfよりもかなり小
さい。しかし、i番目の分割ROBDD
【0130】
【外24】
【0131】は、最悪の場合では
【0132】
【外25】
【0133】になる可能性がある。これを回避するた
め、一般的なウィンドウ関数を使用すると共に、小さい
i を使用する。 D.ウィンドウ関数の選定 与えられたウィンドウ関数から分割関数を構成する方法
を決定した後、より優れたウィンドウ関数を得るために
方法を検査する。上記の方法は、先見的選定と“爆発”
ベースド選定の二つのカテゴリに分類される。
【0134】1.先見的分割 この方法において、所定数の1次入力(PI)を分割の
ため選択する。k個のPI上で分割する場合、この変数
の全ての2進割当てに対応した2k 個の区分を作成す
る。例えば、x1 及びx2 上で分割することに決めた場
合、4個の区分
【0135】
【外26】
【0136】が作成される。前節で行った考察から、こ
の種のウィンドウ関数が与えられた場合、モノリシック
ROBDDよりも小さい分割ROBDDを作成し得るこ
とが分かる。ある時点でメモリに存在すべき区分は1個
しかないので、空間的に優れている。メモリの削減量は
大きく、同時に全ての区分を処理するため要する時間が
全体的に短縮される。
【0137】異なる区分を独立に作成する際に生じる冗
長性を最小限に抑えると同時に、実現される分割を最大
化する変数、即ち、任意の分割及び獲得アプローチの基
本原理の選択を目標とする。このため、変数x上で関数
fを分割するコストを
【0138】
【数12】
【0139】として定義する。式中px (f)は分割係
数を表し、
【0140】
【数13】
【0141】によって与えられ、rx (f)は冗長性係
数を表し、
【0142】
【数14】
【0143】によって与えられる。小さい分割係数は最
悪の二つの区分が小さいということを意味するので分割
係数は小さいほど優れ、同様に、小さい冗長性係数は二
つの区分を作成する際に含まれる全作業が少ないという
ことを意味するので冗長性係数は小さいほど優れている
ことに注意する必要がある。比較的少ない総コストを有
する変数xが分割のため選定される。
【0144】関数F及び変数xの所定のベクトルに対
し、分割のコストは、
【0145】
【数15】
【0146】のように定義される。全てのPIをfd
びΨを分割するコストが増加する順序に並べ、最良のk
を選定する(kはユーザによって指定された所定の数値
である)。類似したコスト関数を使用することにより、
分割ROBDDを作成するため、PI変数だけではな
く、PIに関して表現された
【0147】
【外27】
【0148】のような疑似変数を選定することができ
る。この場合、共通係数演算は、非キューブ形のウィン
ドウ関数に対する汎用共通係数動作になる。fd 及びΨ
を分割するコストに従ってランク付けされたこのタイプ
の選定は、静的分割選定と称される。一方、最良のPI
(即ち、x)がfd 及びΨに基づいて選定され、後続の
PIが一方の分割において
【0149】
【外28】
【0150】に、他方の分割において
【0151】
【外29】
【0152】に基づいて再帰的に選定される動的分割戦
略をとることも可能である。動的分割方法は指数関数的
な数の共通係数を必要とし、コスト高になる。このコス
トは、関心のある値が
【0153】
【外30】
【0154】の共通係数の値だけであるという事実を利
用することにより幾分削減され得る。
【0155】
【外31】
【0156】の値の上限は、fd のROBDDをトラバ
ースし、xに対応した変数idを有するノードが見つけ
られる毎に、x=1の分岐を取ることにより計算され
る。ROBDDをこのようにトラバースして得られるB
DDは削減されないので、この方法は正確なカウントを
与えない。この方法は、新しいノードを作成する必要が
無く、かつ、トラバースが高速にできる利点がある。
【0157】また、分割の個数が動的に選定されるよう
な区分の作成を選択することが可能である。この場合、
BDDが爆発する毎に(BDD爆発を定量化する方法に
関する詳細は戦略2の説明を参照のこと)、BDD爆発
が回避できると考えられるまで、1ずつインクリメント
して選択された分解変数を用いてBDDを動的に分割す
る。
【0158】2.爆発ベースド分割 この方法では、fd
【0159】
【外32】
【0160】を逐次的に組み立てる。グラフサイズがあ
る構成(例えば、ψj )に対し著しく増大する場合、現
在の
【0161】
【外33】
【0162】に基づいてウィンドウ関数wを選定する。
ウィンドウ関数は、PI及びその相補形、若しくは、あ
【0163】
【外34】
【0164】及び、PIだけに関して表現されたその相
補形であり、非常にサイズが小さい。ウィンドウ関数w
が得られた後、二つの区分
【0165】
【外35】
【0166】を作成し、各区分毎にルーチンを再帰的に
呼び出す。典型的に、合成後に得られたBDDが、既に
合成された全ての先行した分解BDDの合計と、元の分
解されたBDDのサイズとの和よりも10倍以上大きい
場合、爆発ベースド分割の実行が選択される。 3.先見的変数選択並びに爆発ベースド分割 この戦略では、一定数の分解変数を決定し、爆発ベース
ド分割を実行し、次に、一定数の1次入力変数ベースド
分割が行われ、或いは、その逆順の処理が行われる。爆
発ベースド分割は1次入力並びに疑似変数/分解ポイン
トの両方を使用することができる。
【0167】E.合成の順序 ウィンドウ関数を選定し、
【0168】
【外36】
【0169】によって与えられたi番目の分割に対する
分解された表現を作成した後、最終的なステップは、
【0170】
【外37】
【0171】における
【0172】
【外38】
【0173】即ち、
【0174】
【外39】
【0175】を合成する。最終的なROBDDサイズは
所定の変数順序に対し一定ではあるが、中間メモリ必要
量及び合成のための時間は、分解ポイントが合成される
順番の強い関数であることが分かる。fd に合成され得
るあらゆる候補変数に対し、結果として合成されたRO
BDDのサイズを評価するコストが割り当てられる。最
小コストを伴う変数が合成される。サポート集合サイズ
に基づく簡単なコスト関数は、巧く働くことが分かる。
従って、合成後にROBDDのサポート集合のサイズの
増加量が最も少ない分解変数を選定する。各ステップ毎
に、合成用の候補ψを他のいずれのψbdd にも存在しな
い分解ポイントに制限する。これにより、分解変数はf
d において1回だけ合成されれば足りることが保証され
る。
【0176】本発明の種々の実施例を具体的に示した
が、本発明の範囲及び精神を逸脱することなく形式及び
詳細に関する種々の変更をなし得ることは当業者によっ
て認められる。
【0177】
【発明の効果】本発明は容易に拡張し得る利点があるこ
とに注意する必要がある。フィルタ構造は、新しい検証
技術を追加することにより拡張又は増強され得る。新し
い技術は、新しい技術の強さ、並びに、既にフィルタに
収容されている他の技術に関する相対的な強さ又は弱さ
に依存してフィルタ構造の適当な場所に付加される。例
えば、ブール表現図(BED)のような技術は、検証コ
アのマイクロフィルタ内で自動テストパターン発生(A
TPG)検証の後にBED技術を追加することにより本
発明のフィルタ配置を拡張するため包含される。或い
は、BED技術は、マイクロフィルタのスマートカット
セットベースド検証の後に実行しても良い。同様に、別
の新しい技術が提案又は開発された場合、新しい技術は
フィルタ配置の適当な場所に挿入され得る。かくして、
検証ソフトウェアシステムの全体を再開発する必要はな
い。かかる本発明の拡張性は、フィルタ志向型アプロー
チに対する重要な利点である。
【図面の簡単な説明】
【図1】従来技術による典型的な検証作業のフローチャ
ートである。
【図2】本発明のフィルタアプローチのフローチャート
である。
【図3】本発明のフィルタアプローチの別の実施例のフ
ローチャートである。
【図4】本発明のフィルタアプローチの別の実施例のフ
ローチャートである。
【図5】本発明のフィルタアプローチの別の実施例のフ
ローチャートである。
【図6】本発明のフィルタアプローチの別の実施例のフ
ローチャートである。
【図7】本発明のフィルタアプローチの別の実施例のフ
ローチャートである。
【図8】本発明のフィルタアプローチの別の実施例のフ
ローチャートである。
【図9】本発明のフィルタアプローチの別の実施例のフ
ローチャートである。
【図10】充足可能性(SAT)問題を解法する解析ツ
ールとして本発明のフィルタアプローチを使用する方法
のフローチャートである。
【図11】BDD用ハッシュ機構の説明図である。
【図12】BDDハッシュ技術のフローチャートであ
る。
【図13】BDDハッシュ技術を使用する検証のフロー
チャートである。
【図14】カットセット安定化の説明図である。
【図15】マイクロフィルタの説明図である。
【図16】マイタ(miter) の説明図である。
【図17】ODC学習の獲得の説明図である。
【符号の説明】
102 標的分解 104 構造的フィルタ 106 機能的フィルタ 108 ランダムパターンシミュレーション 109 候補リスト剪定 114 回路分割 118,132 検証コア 120 ナイーブカットセットベースド検証 122 スマートカットセットベースド検証 124 ATPGベースド検証 126 検査フェーズ 128 検証用再統合 130 ODC及び学習ベースド再統合 134 修正検査フェーズ 136 BDD分割
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H01L 21/822 H01L 27/04 T (72)発明者 ▲高▼山 浩一郎 東京都八王子市松が谷52−5−507

Claims (39)

    【特許請求の範囲】
  1. 【請求項1】 回路データ構造により表現された組合せ
    回路を検証するシステムにおいて、 上記組合せ回路に対し、順番に並べられ検証結果を決定
    又は上記回路データ構造を変更する複数の完全検証技術
    及び複数の補助技術を実行し、 上記検証結果又は上記変更された回路データ構造を、上
    記順番の後側の完全検証技術又は補助技術の中の一つに
    送り、 最終的な検証結果又は結果として変更された回路データ
    構造を提供する手段からなるシステム。
  2. 【請求項2】 上記手段は、所定のコンピュータメモリ
    使用量又はコンピュータ実行時間使用量に関する制約集
    合を超えるまで、若しくは、上記最終的な検証結果が決
    定されるまで上記完全検証技術及び補助技術を実行する
    請求項1記載のシステム。
  3. 【請求項3】 回路データ構造により表現された組合せ
    回路を検証するコンピュータ実装された方法において、 上記組合せ回路に対し、順番に並べられ検証結果を決定
    又は上記回路データ構造を変更する複数の完全検証技術
    及び複数の補助技術を実行する段階と、 上記検証結果又は上記変更された回路データ構造を、後
    続の完全検証技術又は補助技術の中の一つに供給する段
    階と、 最終的な検証結果又は結果として変更された回路データ
    構造が決定されるまで、上記実行する段階及び上記供給
    する段階を繰り返す段階とからなるコンピュータ実装さ
    れた方法。
  4. 【請求項4】 上記実行する段階及び上記供給する段階
    は、所定のコンピュータメモリ使用量又はコンピュータ
    実行時間使用量に関する制約集合を超えるまで、若しく
    は、上記最終的な検証結果が決定されるまで繰り返され
    る請求項3記載のコンピュータ実装された方法。
  5. 【請求項5】 上記完全検証技術の中の一つの技術は、
    ナイーブカットセットベースド検証技術である請求項3
    記載のコンピュータ実装された方法。
  6. 【請求項6】 上記完全検証技術の中の一つの技術は、
    スマートカットセットベースド検証技術である請求項3
    記載のコンピュータ実装された方法。
  7. 【請求項7】 上記完全検証技術の中の一つの技術は、
    自動テストパターン発生ベースド検証技術である請求項
    3記載のコンピュータ実装された方法。
  8. 【請求項8】 上記完全検証技術の中の第1番目はスマ
    ートカットセットベースド検証技術であり、 上記完全検証技術の中の第2番目は自動テストパターン
    発生ベースド検証技術であり、 上記スマートカットセットベースド検証技術を実行し、 引き続き自動テストパターン発生技術を実行し、 最終的な検証結果が決定されるまで、又は、空間、時
    間、若しくは、上記自動テストパターン発生技術におい
    て使用されるバックトラックの回数に関して定められた
    資源の所定の最大値集合を超えるまで、上記スマートカ
    ットセットベースド検証技術及び上記自動テストパター
    ン発生技術の実行を繰り返す段階を更に有する請求項3
    記載のコンピュータ実装された方法。
  9. 【請求項9】 上記順番内の第1の技術は上記順番内の
    後続の第2の技術よりも弱い技術であり、 技術の強弱は、上記組合せ回路に類似したベンチマーク
    回路のサンプル集合について経験的に決定され、 上記第1の技術による上記ベンチマーク回路のサンプル
    集合の検証のための計算時間及びメモリ空間の必要量
    は、上記第2の技術における必要量よりも少ない請求項
    3記載のコンピュータ実装された方法。
  10. 【請求項10】 上記組合せ回路は別の組合せ回路であ
    る複数の区分に分割され、 上記実行する段階及び上記供給する段階は、上記組合せ
    回路の個別の区分について動作する請求項3記載のコン
    ピュータ実装された方法。
  11. 【請求項11】 上記補助技術の中の一つの技術はサブ
    グラフ同型ベースド構造的フィルタ技術である請求項3
    記載のコンピュータ実装された方法。
  12. 【請求項12】 上記補助技術の中の一つの技術はハッ
    シングベースド機能的フィルタ技術である請求項3記載
    のコンピュータ実装された方法。
  13. 【請求項13】 上記補助技術の中の一つの技術はラン
    ダムパターン発生技術である請求項3記載のコンピュー
    タ実装された方法。
  14. 【請求項14】 上記補助技術の中の一つの技術は2進
    決定図(BDD)分割技術である請求項3記載のコンピ
    ュータ実装された方法。
  15. 【請求項15】 上記補助技術の中の一つの技術は可観
    測性ドントケア(ODC)及び学習ベースド再統合技術
    である請求項3記載のコンピュータ実装された方法。
  16. 【請求項16】 回路データ構造により表現された組合
    せ回路を解析するシステムにおいて、 上記組合せ回路に対し、順番に並べられ解析結果を決定
    又は上記回路データ構造を変更する複数の完全解析技術
    及び複数の補助技術を実行し、 上記解析結果又は上記変更された回路データ構造を、上
    記順番内の後続の完全解析技術又は補助技術の中の一つ
    に送り、 最終的な解析結果又は結果として変更された回路データ
    構造を提供する手段からなるシステム。
  17. 【請求項17】 上記手段は、所定のコンピュータメモ
    リ使用量、コンピュータ実行時間使用量、又は、少なく
    とも一つの上記完全解析技術が自動テストパターン発生
    技術である場合にバックトラックの回数に関する制約集
    合を超えるまで上記完全解析技術及び補助技術を実行す
    る請求項16記載のシステム。
  18. 【請求項18】 上記手段は、上記組合せ回路の欠陥の
    有無を決定する手段を更に有する請求項16記載のシス
    テム。
  19. 【請求項19】 上記手段は、上記組合せ回路のタイミ
    ング制約条件を決定する手段を更に有する請求項16記
    載のシステム。
  20. 【請求項20】 上記手段は、上記組合せ回路に対する
    最小コストエンジニアリングチェンジ解を決定する手段
    を更に有する請求項16記載のシステム。
  21. 【請求項21】 上記手段は、順序回路の正確さを決定
    する手段を更に有する請求項16記載のシステム。
  22. 【請求項22】 回路データ構造によって表現された組
    合せ回路を解析するコンピュータ実装された方法におい
    て、 上記組合せ回路に対し、順番に並べられ解析結果を決定
    又は上記回路データ構造を変更する複数の完全解析技術
    及び複数の補助技術を実行する段階と、 上記解析結果又は上記変更された回路データ構造を、後
    続の上記完全解析技術又は補助技術の中の一つに供給す
    る段階と、 最終的な解析結果又は結果として変更された回路データ
    構造が決定されるまで、上記実行する段階及び上記供給
    する段階を繰り返す段階とからなるコンピュータ実装さ
    れた方法。
  23. 【請求項23】 上記実行する段階及び上記供給する段
    階は、所定のコンピュータメモリ使用量又はコンピュー
    タ実行時間使用量に関する制約集合を超えるまで、若し
    くは、上記最終的な解析結果が決定されるまで繰り返さ
    れる請求項22記載のコンピュータ実装された方法。
  24. 【請求項24】 上記順番内の第1の技術は上記順番内
    の後続の第2の技術よりも弱い技術であり、 技術の強弱は上記組合せ回路に類似したベンチマーク回
    路のサンプル集合について経験的に決定され、 上記第1の技術による上記ベンチマーク回路のサンプル
    集合の解析のための計算時間及びメモリ空間の必要量
    は、上記第2の技術に対する必要量よりも少ない請求項
    22記載のコンピュータ実装された方法。
  25. 【請求項25】 回路データ構造によって表現された一
    対の組合せ回路を検証するコンピュータ実装された方法
    において、 (a)ランダムパターンシミュレーションを用いて、上
    記回路データ構造をシミュレーションし、 (b)上記回路の一部の候補リストを剪定し、 (c)上記組合せ回路を複数の区分に分割し、 (d)少なくともナイーブカットセットベースド検証技
    術と、スマートカットセットベースド検証技術と、自動
    テストパターン発生検証技術とからなるマクロフィルタ
    を、上記回路データ構造の選択された区分に適用し、 (e)可観測性ドントケア(ODC)及び学習ベースド
    再統合技術を用いて、上記回路データ構造の上記選択さ
    れた区分を再統合し、 (f)等価性検査用の候補を選択するための上記ランダ
    ムパターンシミュレーション及び上記マクロフィルタ
    を、上記回路データ構造の上記再統合された区分に適用
    し、 (g)2進決定図(BDD)分割を用いて、上記回路デ
    ータ構造の上記再統合され選択された区分を検査し、 (h)上記選択された区分に対し、最終的な検証結果又
    は結果として得られた回路構造データが決定されるまで
    上記段階(d)、(e)、(f)及び(g)を繰り返
    し、 (i)上記組合せ回路の全ての区分に対し上記段階
    (d)、(e)、(f)、(g)及び(h)を繰り返す
    段階からなるコンピュータ実装された方法。
  26. 【請求項26】 上記シミュレーションする段階(a)
    を行う前に、機能的フィルタを上記回路データ構造に適
    用する段階を更に有する請求項25記載のコンピュータ
    実装された方法。
  27. 【請求項27】 上記機能的フィルタを適用する前に、
    構造的フィルタを上記回路データ構造に適用する段階を
    更に有する請求項26記載のコンピュータ実装された方
    法。
  28. 【請求項28】 上記構造的フィルタを適用する前に、
    上記回路データ構造の標的分解を実行する段階を更に有
    する請求項27記載のコンピュータ実装された方法。
  29. 【請求項29】 上記マクロフィルタを適用する段階
    (f)は、 スマートカットセットベースド検証技術を実行し、 引き続き自動テストパターン発生技術を実行し、 最終的な検証結果が上記選択された区分に対し決定され
    るまで上記スマートカットセットベースド検証技術及び
    上記自動テストパターン発生技術の実行を繰り返す段階
    を有する請求項25記載のコンピュータ実装された方
    法。
  30. 【請求項30】 上記剪定する段階(b)は、 上記回路の各ゲートに対し、各ゲートが影響を与える対
    応した1次出力を関連づけ、 適用されたランダムシミュレーションベクトル集合に対
    し各ゲートのシグネチャーを決定するためランダムパタ
    ーンシミュレーションを適用し、 同一又は相補的なシグネチャーを有し出力リストが交差
    する各ゲート対を、機能的等価性又は機能的相補性の次
    の検査のためのグループに割り当てる段階を有する請求
    項25記載のコンピュータ実装された方法。
  31. 【請求項31】 回路データ構造によって表現された一
    対の組合せ回路を解析するコンピュータ実装された方法
    において、 (a)ランダムパターンシミュレーションを用いて、上
    記回路データ構造をシミュレーションし、 (b)上記回路の一部の候補リストを剪定し、 (c)上記組合せ回路を複数の区分に分割し、 (d)回路解析技術からなるマクロフィルタを、上記回
    路データ構造の選択された区分に適用し、 (e)可観測性ドントケア(ODC)及び学習ベースド
    再統合技術を用いて、上記回路データ構造の上記選択さ
    れた区分を再統合し、 (f)等価性検査用の候補を選択するための上記ランダ
    ムパターンシミュレーション及び上記マクロフィルタ
    を、上記回路データ構造の上記再統合された区分に適用
    し、 (g)2進決定図(BDD)分割を用いて、上記回路デ
    ータ構造の上記再統合され選択された区分を検査し、 (h)上記選択された区分に対し、最終的な解析結果又
    は結果として得られた回路構造データが決定されるまで
    上記段階(d)、(e)、(f)及び(g)を繰り返
    し、 (i)上記組合せ回路の全ての区分に対し上記段階
    (d)、(e)、(f)、(g)及び(h)を繰り返す
    段階からなるコンピュータ実装された方法。
  32. 【請求項32】 上記シミュレーションする段階(a)
    を行う前に、機能的フィルタを上記回路データ構造に適
    用する段階を更に有する請求項31記載のコンピュータ
    実装された方法。
  33. 【請求項33】 上記機能的フィルタを適用する前に、
    構造的フィルタを上記回路データ構造に適用する段階を
    更に有する請求項32記載のコンピュータ実装された方
    法。
  34. 【請求項34】 上記構造的フィルタを適用する前に、
    上記回路データ構造の目標とされた分解を実行する段階
    を更に有する請求項33記載のコンピュータ実装された
    方法。
  35. 【請求項35】 上記剪定する段階(b)は、 上記回路の各ゲートに対し、各ゲートが影響を与える対
    応した1次出力を関連づけ、 適用されたランダムシミュレーションベクトル集合に対
    し各ゲートのシグネチャーを決定するためランダムパタ
    ーンシミュレーションを適用し、 同一又は相補的シグネチャーを有し出力リストが交差す
    る各ゲート対を、機能的等価性又は機能的相補性の次の
    検査のためのグループに割り当てる段階を有する請求項
    31記載のコンピュータ実装された方法。
  36. 【請求項36】 複数の論理ゲートからなる一対の回路
    の間の類似性を増加させ、上記回路を新しい回路を作成
    することによってより検証し易くさせる方法において、 (i) 各論理ゲートを上記回路の各対の各ゲート毎に対応
    するテクノロジー分解の集合と関連付ける段階と、 (ii)上記関連したテクノロジー分解毎に各ゲートのシグ
    ネチャーを生成するため、上記関連した各テクノロジー
    分解に対する上記回路の各論理ゲートを上記回路の1次
    入力変数になされた共通ブール集合割当てによってシミ
    ュレーションする段階と、 (iii) 各回路の各論理ゲートを備えた上記テクノロジー
    分解の一つを、上記二つの分解回路のゲートのシグネチ
    ャーが比較されたとき等価性又は相補性シグネチャーを
    備えた最大個数のゲートの対が獲得されるように、上記
    テクノロジー分解の適用後に上記二つの回路の原始的論
    理ゲートが関連したシグネチャーを有するように選択さ
    れた各テクノロジー分解と関連付ける段階と、 (iv)上記回路の対の各論理ゲートを上記関連付ける段階
    (iii) で関連付けられたテクノロジー分解で置換するこ
    とにより、上記原始的論理ゲートに関して上記新しい回
    路を作成する段階とからなる方法。
  37. 【請求項37】 ワイヤと相互接続された論理ゲートの
    集合と相互接続された1次入力ゲートの集合及び1次出
    力ゲートの集合を有するディジタル回路のトポロジー内
    で、一つの論理ゲートとの間でアサートされた信号を伝
    達するワイヤ上の場所であるポイント間で論理的等価性
    及び反転性を決定するコンピュータ支援設計システムに
    おいて、 上記ディジタル回路内のゲートのランダムパターンシミ
    ュレーションと、各ゲートに格納されたランダムパター
    ンシミュレーション結果のビットベクトルを用いて上記
    ディジタル回路内のゲートを第1のハッシュ表にハッシ
    ングすることとにより、機能的等価性及び機能的反転性
    状態を検査するため候補ゲートを識別する段階と、 上記1次入力ゲートの集合からなる第1のカットを含む
    上記ディジタル回路内のゲートのカットを選択する段階
    と、 上記ディジタル回路のカットの前方のゲートに対するカ
    ットに関して2進決定図(BDD)を構築する段階と、 上記カットのBDDへのポインタを用いて上記ゲートを
    第2のハッシュ表にハッシングする段階と、 上記第2のハッシュ表の同一場所にハッシュする全ての
    ゲートによって識別されるように、全ての機能的に等価
    性のゲート及び反転性のゲートを併合する段階とからな
    るディジタル回路のトポロジー内のポイント間で論理的
    等価性及び反転性を決定するコンピュータ実装された方
    法。
  38. 【請求項38】 共有データ構造のサイズに関する所定
    の限界を超えた場合、又は、単一のカットを用いてBD
    Dが構築された上記ディジタル回路のレベルの数に関す
    る所定の限界に達した場合に、単一のカットに基づいて
    BDDの構築を停止する段階と、 新しいカットは上記ディジタル回路の上記1次出力ゲー
    トから始まり、上記ディジタル回路の上記1次入力ゲー
    ト又は他の機能的に等価性若しくは機能的に反転性のゲ
    ートと既に併合されているゲートのいずれかで終わる上
    記ディジタル回路の深さ先行トラバーサルにより選択さ
    れる、カットを選択する段階を繰り返す段階と、 上記カットに関して上記カットの前方のゲートに対する
    BDDを構築する段階を繰り返す段階と、 上記ゲートのBDDポインタを上記ハッシュ表へのキー
    として用いて、上記ディジタル回路の上記ゲートを上記
    第2のハッシュ表にハッシングする段階を繰り返す段階
    とを更に有する請求項37記載のコンピュータ実装され
    た方法。
  39. 【請求項39】 上記識別、等価性検査、及び、ハッシ
    ングを行う段階は、 未検証1次出力ゲートの推移的ファンインコーンを決定
    する段階と、 等価性又は反転性検査のための候補であって未だ検査さ
    れていない上記推移的ファンインコーン内の全てのゲー
    トの対を決定する段階と、 上記未だ検査されていないゲートの対を選択し、選択さ
    れた未検査ゲートの対から始まり、1次入力ゲート又は
    他の等価性若しくは反転性ゲートと既に併合されている
    ゲートのいずれかで終わる上記回路の深さ先行トラバー
    サルによりカットを選定する段階と、 上記カットに関して上記選択された未検査ゲートの対に
    対するBDDを構築する段階と、 排他的論理和BDDを形成するため、上記BDDの排他
    的論理和を作成する段階と、 上記排他的論理和BDDがブール値0に減少するかどう
    かを検査し、上記排他的論理和BDDがブール値0に減
    少しないとき、別のカットを選定し、排他的論理和BD
    Dがブール値0に減少するか、又は、カットセットに1
    次入力ゲートだけが含まれるようになるまで、新しい各
    カットに関して排他的論理和BDDを逐次的に合成する
    段階と、 上記排他的論理和BDDのサイズが予めセットされた限
    界を超えた場合に上記排他的論理和を逐次的に合成する
    段階を打ち切る段階と、 偽陰性検証結果を解法するため、上記1次入力ゲートに
    対応する1次出力ゲートの対の排他的論理和BDDを逐
    次的に合成する段階とからなる請求項37記載のコンピ
    ュータ実装された方法。
JP13069098A 1997-05-16 1998-05-13 フィルタリング型アプローチを使用する組合せ回路の検証方法 Expired - Lifetime JP3441645B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/857,916 US6086626A (en) 1997-05-16 1997-05-16 Method for verification of combinational circuits using a filtering oriented approach
US857916 1997-05-16

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003131457A Division JP3858000B2 (ja) 1997-05-16 2003-05-09 フィルタリング型アプローチを使用する組合せ回路の検証方法

Publications (2)

Publication Number Publication Date
JPH1173448A true JPH1173448A (ja) 1999-03-16
JP3441645B2 JP3441645B2 (ja) 2003-09-02

Family

ID=25327028

Family Applications (2)

Application Number Title Priority Date Filing Date
JP13069098A Expired - Lifetime JP3441645B2 (ja) 1997-05-16 1998-05-13 フィルタリング型アプローチを使用する組合せ回路の検証方法
JP2003131457A Expired - Lifetime JP3858000B2 (ja) 1997-05-16 2003-05-09 フィルタリング型アプローチを使用する組合せ回路の検証方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2003131457A Expired - Lifetime JP3858000B2 (ja) 1997-05-16 2003-05-09 フィルタリング型アプローチを使用する組合せ回路の検証方法

Country Status (3)

Country Link
US (2) US6086626A (ja)
EP (1) EP0878769A3 (ja)
JP (2) JP3441645B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014186642A (ja) * 2013-03-25 2014-10-02 Fujitsu Ltd 論理検証プログラム、論理検証方法および論理検証装置

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9720648D0 (en) * 1997-09-29 1997-11-26 Sgs Thomson Microelectronics Method and apparatus for proving system properties
US6212669B1 (en) * 1997-11-05 2001-04-03 Fujitsu Limited Method for verifying and representing hardware by decomposition and partitioning
US6247165B1 (en) * 1998-03-31 2001-06-12 Synopsys, Inc. System and process of extracting gate-level descriptions from simulation tables for formal verification
US6389374B1 (en) * 1998-06-03 2002-05-14 Fujitsu Limited OBDD variable ordering using sampling based schemes
US6473885B1 (en) * 1998-07-17 2002-10-29 Mentor Graphics Corporation Digital circuit layout techniques using circuit decomposition and pin swapping
US6308299B1 (en) * 1998-07-17 2001-10-23 Cadence Design Systems, Inc. Method and system for combinational verification having tight integration of verification techniques
US6532440B1 (en) * 1998-10-16 2003-03-11 Fujitsu Limited Multiple error and fault diagnosis based on Xlists
EP1127323A1 (de) * 1998-11-03 2001-08-29 Siemens Aktiengesellschaft Verfahren und anordnung zum vergleich einer ersten eigenschaft mit vorgegebenen eigenschaften eines technischen systems
WO2000026825A1 (de) * 1998-11-03 2000-05-11 Siemens Aktiengesellschaft Verfahren und anordnung zum vergleich technischer systeme untereinander
US6292916B1 (en) * 1998-12-10 2001-09-18 Lucent Technologies Inc. Parallel backtracing for satisfiability on reconfigurable hardware
JP2000242672A (ja) * 1999-02-23 2000-09-08 Mitsubishi Electric Corp 形式的論理検証装置および形式的論理検証方法
US7216306B1 (en) * 1999-03-24 2007-05-08 Zhe Li Checkpoint restart method using condensed partial results by determining boolean constant subsets
US6446243B1 (en) * 1999-04-23 2002-09-03 Novas Software, Inc. Method for functional verification of VLSI circuit designs utilizing reusable functional blocks or intellectual property cores
US6321186B1 (en) * 1999-05-03 2001-11-20 Motorola, Inc. Method and apparatus for integrated circuit design verification
US6282694B1 (en) * 1999-06-18 2001-08-28 Chung-Kuan Cheng IC design floorplan generation using ceiling and floor contours on an O-tree structure
US6415430B1 (en) * 1999-07-01 2002-07-02 Nec Usa, Inc. Method and apparatus for SAT solver architecture with very low synthesis and layout overhead
US6662323B1 (en) * 1999-07-07 2003-12-09 Nec Corporation Fast error diagnosis for combinational verification
US6389376B1 (en) * 1999-07-26 2002-05-14 Sun Microsystems, Inc. Method and apparatus for generating n-segment steiner trees
JP2001067384A (ja) * 1999-08-26 2001-03-16 Matsushita Electric Ind Co Ltd 集積回路装置の設計用データベース及び集積回路装置の設計方法
JP2001195441A (ja) * 2000-01-13 2001-07-19 Nec Ic Microcomput Syst Ltd 出力ドントケア指定方法並びにこれを用いた処理装置、処理方法及び処理プログラムを記録した記録媒体
US6714902B1 (en) * 2000-03-02 2004-03-30 Cadence Design Systems, Inc. Method and apparatus for critical and false path verification
US6473884B1 (en) * 2000-03-14 2002-10-29 International Business Machines Corporation Method and system for equivalence-checking combinatorial circuits using interative binary-decision-diagram sweeping and structural satisfiability analysis
US6993740B1 (en) * 2000-04-03 2006-01-31 International Business Machines Corporation Methods and arrangements for automatically interconnecting cores in systems-on-chip
US7031896B1 (en) 2000-06-30 2006-04-18 Intel Corporation Methods for performing generalized trajectory evaluation
US6725431B1 (en) 2000-06-30 2004-04-20 Intel Corporation Lazy symbolic model checking
US20050192789A1 (en) * 2000-06-30 2005-09-01 Jin Yang Methods for formal verification on a symbolic lattice domain
US6560755B1 (en) * 2000-08-24 2003-05-06 Cadence Design Systems, Inc. Apparatus and methods for modeling and simulating the effect of mismatch in design flows of integrated circuits
US6591400B1 (en) 2000-09-29 2003-07-08 Intel Corporation Symbolic variable reduction
US6643827B1 (en) * 2000-09-30 2003-11-04 Intel Corporation Symbolic model checking with dynamic model pruning
US6618841B1 (en) * 2000-11-06 2003-09-09 Verplex Systems, Inc. Non-assignable signal support during formal verification of circuit designs
US6938223B2 (en) * 2001-02-15 2005-08-30 Zenasis Technologies, Inc. Logic circuit having a functionally redundant transistor network
US7149675B2 (en) * 2001-03-09 2006-12-12 Intel Corporation System and method for automatically mapping state elements for equivalence verification
US6567959B2 (en) * 2001-03-30 2003-05-20 Intel Corporation Method and device for verification of VLSI designs
US6877146B1 (en) 2001-06-03 2005-04-05 Cadence Design Systems, Inc. Method and apparatus for routing a set of nets
WO2002103583A1 (en) * 2001-06-15 2002-12-27 Quiroga Jose L Optimal circuit verification method
US7110525B1 (en) 2001-06-25 2006-09-19 Toby Heller Agent training sensitive call routing system
US6609234B2 (en) * 2001-06-29 2003-08-19 Intel Corporation Ordering binary decision diagrams used in the formal equivalence verification of digital designs
US6782514B2 (en) * 2002-01-24 2004-08-24 Zenasis Technologies, Inc. Context-sensitive constraint driven uniquification and characterization of standard cells
US6854097B2 (en) * 2002-01-31 2005-02-08 Cadence Design Systems, Inc. Method and apparatus for performing technology mapping
US6854098B2 (en) * 2002-01-31 2005-02-08 Cadence Design Systems, Inc. Method and apparatus for performing technology mapping
US6990650B2 (en) * 2002-01-31 2006-01-24 Cadence Design Systems, Inc. Method and apparatus for performing technology mapping
US20030217026A1 (en) * 2002-01-31 2003-11-20 Steven Teig Structure for storing a plurality os sub-networks
US7076760B2 (en) * 2002-01-31 2006-07-11 Cadence Design Systems, Inc. Method and apparatus for specifying encoded sub-networks
US6857117B2 (en) * 2002-01-31 2005-02-15 Cadence Design Systems, Inc. Method and apparatus for producing a circuit description of a design
US7024639B2 (en) * 2002-01-31 2006-04-04 Cadence Design Systems, Inc. Method and apparatus for specifying encoded sub-networks
US7383524B2 (en) * 2002-01-31 2008-06-03 Cadence Design Systems, Inc Structure for storing a plurality of sub-networks
US6848086B2 (en) * 2002-01-31 2005-01-25 Cadence Design Systems, Inc. Method and apparatus for performing technology mapping
US7003743B2 (en) * 2002-02-01 2006-02-21 Freescale Semiconductor, Inc. Method and system of data processor design by sensitizing logical difference
US6842884B2 (en) * 2002-08-28 2005-01-11 Verplex Systems, Inc. Combinational equivalence checking methods and systems with internal don't cares
DE10239782A1 (de) * 2002-08-29 2004-03-18 Infineon Technologies Ag Verfahren und Vorrichtung zur Verifikation von digitalen Schaltungen
US6792581B2 (en) * 2002-11-07 2004-09-14 Intel Corporation Method and apparatus for cut-point frontier selection and for counter-example generation in formal equivalence verification
US7788556B2 (en) 2002-11-13 2010-08-31 Fujitsu Limited System and method for evaluating an erroneous state associated with a target circuit
US7144739B2 (en) * 2002-11-26 2006-12-05 Cem Corporation Pressure measurement and relief for microwave-assisted chemical reactions
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7266790B2 (en) * 2003-03-07 2007-09-04 Cadence Design Systems, Inc. Method and system for logic equivalence checking
US6877141B2 (en) * 2003-04-01 2005-04-05 Fujitsu Limited Evaluating a validation vector for validating a network design
US7168014B2 (en) * 2003-04-01 2007-01-23 Fujitsu Limited Propagating an error through a network
US7139929B2 (en) * 2003-04-01 2006-11-21 Fujitsu Limited Generating a test environment for validating a network design
US7571403B2 (en) * 2003-05-23 2009-08-04 Fujitsu Limited Circuit verification
US7627842B1 (en) 2003-06-03 2009-12-01 Cadence Design Systems, Inc. Method and system for verification of circuits with encoded signals
US7512912B1 (en) * 2003-08-16 2009-03-31 Synopsys, Inc. Method and apparatus for solving constraints for word-level networks
US7623894B2 (en) 2003-10-09 2009-11-24 Freescale Semiconductor, Inc. Cellular modem processing
EP1679627A4 (en) * 2003-10-31 2009-07-22 Fujitsu Microelectronics Ltd VERIFICATION SUPPORT DEVICE, METHOD AND PROGRAM, AND RECORDING MEDIUM
US7269541B1 (en) 2003-11-13 2007-09-11 Cadence Design Systems, Inc. System and method for supporting multi-rate simulation of a circuit having hierarchical data structure
US7392170B1 (en) * 2003-11-13 2008-06-24 Cadence Design Systems, Inc. System and method for dynamically compressing circuit components during simulation
US7409328B1 (en) 2003-11-13 2008-08-05 Cadence Design Systems, Inc. System and method for communicating simulation solutions between circuit components in a hierarchical data structure
US8428928B1 (en) 2003-11-13 2013-04-23 Cadence Design Systems, Inc. System and method for dynamically representing repetitive loads of a circuit during simulation
US7039883B2 (en) * 2003-12-05 2006-05-02 Freescale Semiconductor, Inc. Derivation of circuit block constraints
US7636655B1 (en) * 2003-12-08 2009-12-22 Altera Corporation Extracting synchronous secondary signals by functional analysis
US7146589B1 (en) * 2004-08-23 2006-12-05 Synplicity, Inc. Reducing equivalence checking complexity using inverse function
US7373289B2 (en) * 2004-11-19 2008-05-13 Cadence Design Systems, Inc Electrical isomorphism
US7380226B1 (en) * 2004-12-29 2008-05-27 Cadence Design Systems, Inc. Systems, methods, and apparatus to perform logic synthesis preserving high-level specification
US7260799B2 (en) * 2005-02-10 2007-08-21 International Business Machines Corporation Exploiting suspected redundancy for enhanced design verification
US7346862B2 (en) * 2005-08-19 2008-03-18 Synopsys, Inc. Method and apparatus for optimizing a logic network in a digital circuit
US7363603B2 (en) * 2005-09-13 2008-04-22 International Business Machines Corporation Method and system for case-splitting on nodes in a symbolic simulation framework
US7555733B1 (en) * 2005-09-18 2009-06-30 Infinisim, Inc. Hierarchical partitioning
US7437690B2 (en) * 2005-10-13 2008-10-14 International Business Machines Corporation Method for predicate-based compositional minimization in a verification environment
US20070168372A1 (en) * 2006-01-17 2007-07-19 Baumgartner Jason R Method and system for predicate selection in bit-level compositional transformations
US7356792B2 (en) * 2006-01-26 2008-04-08 International Business Machines Corporation Method and system for enhanced verification by closely coupling a structural overapproximation algorithm and a structural satisfiability solver
US7571299B2 (en) * 2006-02-16 2009-08-04 International Business Machines Corporation Methods and arrangements for inserting values in hash tables
US7360181B2 (en) * 2006-05-10 2008-04-15 International Business Machines Corporation Enhanced structural redundancy detection
US7398488B2 (en) * 2006-05-17 2008-07-08 International Business Machines Corporation Trace equivalence identification through structural isomorphism detection with on the fly logic writing
US7546561B2 (en) * 2006-05-25 2009-06-09 International Business Machines Corporation System and method of state point correspondence with constrained function determination
US7349792B2 (en) * 2006-05-31 2008-03-25 Caterpillar Inc. System for a virtual liquid sensor
US7913208B2 (en) * 2007-10-11 2011-03-22 International Business Machines Corporation Optimal simplification of constraint-based testbenches
US7882473B2 (en) * 2007-11-27 2011-02-01 International Business Machines Corporation Sequential equivalence checking for asynchronous verification
US20090188753A1 (en) * 2008-01-30 2009-07-30 Feng Chia Liang Rope climbing device
US8117576B2 (en) * 2008-03-05 2012-02-14 Rambus Inc. Method for using an equivalence checker to reduce verification effort in a system having analog blocks
US7934180B2 (en) * 2008-05-27 2011-04-26 International Business Machines Corporation Incremental speculative merging
US8495546B1 (en) * 2008-05-28 2013-07-23 Altera Corporation Method for simplifying RTL schematic by grouping nodes into a cloud
US8799837B2 (en) * 2008-08-25 2014-08-05 International Business Machines Corporation Optimizing a netlist circuit representation by leveraging binary decision diagrams to perform rewriting
US8195439B1 (en) 2008-09-02 2012-06-05 Infinisim, Inc. Real-time adaptive circuit simulation
US8898618B2 (en) * 2009-03-26 2014-11-25 Altera Corporation Interactive simplification of schematic diagram of integrated circuit design
US8418093B2 (en) * 2009-05-15 2013-04-09 International Business Machines Corporation Method and system for design simplification through implication-based analysis
US20110055221A1 (en) * 2009-08-26 2011-03-03 Sovio Sampo Juhani Method and apparatus for obtaining decision diagrams from unknown hash identifiers
US8332624B2 (en) * 2009-08-26 2012-12-11 Nokia Corporation Method and apparatus for encoding decision diagrams
US8572528B1 (en) * 2009-11-25 2013-10-29 Xilinx, Inc. Method and apparatus for analyzing a design of an integrated circuit using fault costs
US8689069B2 (en) * 2011-06-09 2014-04-01 Mentor Graphics Corporation Multi-targeting boolean satisfiability-based test pattern generation
US9003346B1 (en) 2012-05-17 2015-04-07 Cypress Semiconductor Corporation Stability improvements for timing-driven place and route
US8869080B2 (en) * 2012-09-26 2014-10-21 Apple Inc. Automatically identifying resettable flops for digital designs
US8671375B1 (en) * 2012-11-09 2014-03-11 National Taiwan University Functional timing analysis method for circuit timing verification
US9293450B2 (en) * 2014-07-22 2016-03-22 Freescale Semiconductor, Inc. Synthesis of complex cells
US10325050B2 (en) * 2016-04-14 2019-06-18 Oracle International Corporation User-defined partitions for logical and physical circuit syntheses
US10706181B1 (en) * 2017-12-19 2020-07-07 National Technology & Engineering Solutions Of Sandia, Llc Randomization of dangling nodes in a digital circuit design to mitigate hardware trojans
US10726178B1 (en) 2019-07-23 2020-07-28 International Business Machines Corporation Functional logic cone signature generation for circuit analysis
CN111737858B (zh) * 2020-05-29 2024-03-08 西安理工大学 一种堆石混凝土中随机堆石的生成方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5243538B1 (en) * 1989-08-09 1995-11-07 Hitachi Ltd Comparison and verification system for logic circuits and method thereof
US5331568A (en) * 1991-06-18 1994-07-19 Microelectronics & Computer Technology Corporation Apparatus and method for determining sequential hardware equivalence
US5469367A (en) * 1994-06-06 1995-11-21 University Technologies International Inc. Methodology and apparatus for modular partitioning for the machine design of asynchronous circuits
DE4423367A1 (de) * 1994-07-04 1996-07-25 Siemens Ag Verfahren zur hierarchischen Logik-Verifikation hochintegrierter Schaltungen
US5649165A (en) * 1995-01-31 1997-07-15 Fujitsu Limited Topology-based computer-aided design system for digital circuits and method thereof
US5638381A (en) * 1995-07-21 1997-06-10 Motorola, Inc. Apparatus and method for deriving correspondence between storage elements of a first circuit model and storage elements of a second circuit model
US5787006A (en) * 1996-04-30 1998-07-28 Micron Technology, Inc. Apparatus and method for management of integrated circuit layout verification processes
US5937183A (en) * 1996-11-05 1999-08-10 Nec Usa, Inc. Enhanced binary decision diagram-based functional simulation
US5754454A (en) * 1997-03-03 1998-05-19 Motorola, Inc. Method for determining functional equivalence between design models

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014186642A (ja) * 2013-03-25 2014-10-02 Fujitsu Ltd 論理検証プログラム、論理検証方法および論理検証装置

Also Published As

Publication number Publication date
EP0878769A3 (en) 2000-06-21
US6086626A (en) 2000-07-11
JP3858000B2 (ja) 2006-12-13
JP2003345850A (ja) 2003-12-05
EP0878769A2 (en) 1998-11-18
JP3441645B2 (ja) 2003-09-02
US6301687B1 (en) 2001-10-09

Similar Documents

Publication Publication Date Title
JP3441645B2 (ja) フィルタリング型アプローチを使用する組合せ回路の検証方法
JP4028107B2 (ja) 分解及び分割によるハードウェアの検証並びに表現方法
JP3857961B2 (ja) ディジタル回路論理ネットワークベースのコンピュータ支援設計方法及び装置
US6957404B2 (en) Model checking with layered localization reduction
Jyu et al. Statistical timing analysis of combinational logic circuits
US6035107A (en) Method for performing functional comparison of combinational circuits
Goldberg et al. Using SAT for combinational equivalence checking
Oh et al. AMUSE: a minimally-unsatisfiable subformula extractor
Yuan et al. Modeling design constraints and biasing in simulation using BDDs
US20070294650A1 (en) Method and System for Logic Equivalence Checking
Wu et al. A robust functional ECO engine by SAT proof minimization and interpolation techniques
Kuehlmann et al. Combinational and sequential equivalence checking
Mishchenko et al. A new enhanced constructive decomposition and mapping algorithm
Huang et al. AQUILA: An equivalence checking system for large sequential designs
Jussila et al. A first step towards a unified proof checker for QBF
JP2001022820A (ja) 順序回路の検証方法
Nalla et al. The art of semi-formal bug hunting
Van Eijk et al. Detection of equivalent state variables in finite state machine verification
Parthasarathy et al. Safety property verification using sequential SAT and bounded model checking
Zhang et al. Simulation and satisfiability in logic synthesis
Chen et al. Don’t-care-based node minimization for threshold logic networks
Tibebu et al. Augmenting all solution SAT solving for circuits with structural information
Tu et al. Homing sequence derivation with quantified boolean satisfiability
Penczek et al. SAT-based (parametric) reachability for a class of distributed time Petri nets
Amjad Data compression for proof replay

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030311

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030603

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

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20140620

Year of fee payment: 11

EXPY Cancellation because of completion of term