(57)【特許請求の範囲】
【請求項１】
所定の二つの回路の論理等価検証の結果において論理不一致となった論理コーンである不一致論理コーンが複数検出された場合に、論理不一致の原因を解析するための論理等価検証装置であって、
前記不一致論理コーンを構成する素子を記憶する記憶部と、
前記不一致論理コーンのうち解析の対象として選択した論理コーンを構成する
素子を解析素子として抽出し、前記解析素子を含む前記不一致論理コーンを該当論理コーンとして前記解析素子毎に抽出し、前記該当論理コーンの数を該当数として前記解析素子毎に算出する解析手段と、
前記解析素子毎に前記該当数を表示する表示制御手段と、
を備えてなる論理等価検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計中の回路の変更時における変更前回路と変更後回路との論理等価検証後において、変更前回路と変更後回路との論理が不一致となる箇所のみを表示し、さらに、論理が不一致となる箇所が大量に検出された場合に、変更前回路と変更後回路における論理不一致の共通の原因の素子である共通不一致原因の解析を行う論理等価検証装置に関するものである。
【背景技術】
【０００２】
論理等価検証技術は、大規模集積回路（ＬＳＩ）などの論理設計検証を行うＣＡＤ技術のひとつである。ＬＳＩの開発は、仕様検討から始まり、最終的なＬＳＩが製造されるまでに多数の工程がある。高い品質のＬＳＩを開発するためには、その設計工程の途中で論理設計ミスが混入しないことが非常に重要となっている。
【０００３】
設計工程では、論理的な仕様が確定してからも、実際のものづくりのための実装設計工程で、信号のタイミング調整や製造テストを行うためのスキャン回路挿入など、論理仕様は変更しないが論理回路の実現構成を変更することが多く行われる。この作業をインプリ工程と称する。このインプリ工程において論理を変更してしまうミスが混入する可能性が高い。そのため、インプリ工程前の論理回路とインプリ工程後の論理回路の論理仕様が一致しているか否かを検証して論理設計品質を高める必要がある。そのための技術が論理等価検証技術である。以下、インプリ工程前の論理回路をスペック（Specification）、インプリ工程後の論理回路をインプリ（Implementation）と称する。
【０００４】
論理等価検証を行う前に、まず論理回路内で複数の検証ポイントが選定される。検証ポイントは通常、ＬＳＩの外部端子やフリップフロップ（ＦＦ）など回路を切りやすいポイントが選定される。次に、ある検証ポイントを出力ポイントとする部分を論理コーンとして抽出する。論理コーンとは、出力ポイントとなった検証ポイントから、入力ポイントとなる他の検証ポイントまでバックトレースされた部分のことである。
【０００５】
図２３は、論理コーンの一例を示す図である。図２３に示すにように、論理コーン５１は、出力ポイントである検証ポイント５２から入力ポイントである検証ポイント５３，５４までバックトレースされた部分である。また、検証ポイント５３，５４は、他の論理コーンの出力ポイントである。それぞれの論理コーンは通常それほど大きくはないが、ひとつのＬＳＩ内からは数千〜数万、数十万の論理コーンが切り出され、それぞれ論理等価検証が行われる。全ての論理コーンの論理が一致した場合に、インプリとスペックの２つの論理回路は初めて等価とみなされる。不一致となる場合には、複数の論理コーンの論理が不一致になることが多いため解析も大変になる。例えば図２３に示すように、論理コーン５１と論理コーン５５が重複している場合、重複している箇所に設計ミスが混入すると両論理コーンが不一致と検証される。
【０００６】
スペックとインプリの論理は一致することが期待されているが、論理構造の修正ミスなどにより検証結果が不一致となった場合には、その原因を解析し、論理を正しいものに修正する必要がある。
【０００７】
変更前回路と変更後回路の論理等価検証を行い、その結果を表示する論理等価検証装置として、変更前回路と変更後回路の論理が不一致となった場合に、不一致となる部分を表示するものがある。（例えば、特許文献１参照）。
【０００８】
【特許文献１】特開平１０−２５４９２３号公報（第３−４頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述したように１つのＬＳＩを構成する論理コーンの数は膨大であり、論理等価検証後における不一致原因の特定に多くの手間や時間がかかるという問題があった。また、ユーザは、論理等価検証後、論理不一致となった複数の論理コーンの中からスペックとインプリの組を選び、回路図上でスペックとインプリの違いを調べ、不一致原因を調査するが、この場合どの不一致原因から調べれば効率的なのかわからず、不一致原因を調査する回数が非常に多くなる。
【００１０】
本発明は上述した課題に鑑みてなされたものであり、論理等価検証後における不一致原因解析の手間を軽減し、設計・検証ＴＡＴ（Turn-around Time）を短縮できる論理等価検証装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決するために、本発明は、所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証装置であって、前記二つの回路における互いに対応するそれぞれの論理コーンにおいて、回路の構造について対応する部分があるか否かを判定する構造マッチングを行い、前記構造マッチングの結果を素子毎の識別子として記録する第１識別子記録手段と、前記論理コーンから、互いに接続され同じ識別子を持つ素子の集まりをサブコーンとして抽出するサブコーン抽出手段と、前記サブコーン抽出手段により抽出されたサブコーン毎に前記二つの回路の論理等価検証を行う検証手段と、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示する表示制御手段とを備えてなるものである。
【００１２】
このような構成によれば、二つの回路の論理等価検証前に行われる構造マッチングの結果を用いて容易にサブコーンを抽出することができる。また二つの回路の論理等価検証後において、論理が一致したサブコーンと論理が不一致であるサブコーンが区別されて表示されることにより、不一致原因の解析の手間を軽減することができ、設計期間を短縮することができる。なお、本実施の形態における第１識別子記録手段とは、内部ＤＢ５と前処理手段７のことである。
【００１３】
また、本発明は、所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証装置であって、前記二つの回路における互いに対応する論理コーンにおいて、素子毎にインスタンス名が一致するか否かを判定するインスタンス名マッチングを行い、該インスタンス名マッチングの結果を識別子として記録する第２識別子記録手段と、前記論理コーンから、互いに接続され同じ識別子を持つ素子の集まりをサブコーンとして抽出するサブコーン抽出手段と、前記サブコーン抽出手段により抽出されたサブコーン毎に前記二つの回路の論理等価検証を行う検証手段と、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示する表示制御手段とを備えてなるものである。
【００１４】
このような構成によれば、二つの回路の論理等価検証前に行われるインスタンス名マッチングの結果を用いて容易にサブコーンを抽出することができる。また二つの回路の論理等価検証後において、論理が一致したサブコーンと論理が不一致であるサブコーンが区別されて表示されることにより、不一致原因の解析の手間を軽減することができ、設計期間を短縮することができる。なお、本実施の形態における第２識別子記録手段とは、内部ＤＢ５と前処理手段７のことである。
【００１５】
また、本発明は、所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証装置において、前記二つの回路における互いに対応する論理コーンにおいて、論理コーンのうち所定部分に外部入力を与えて前記所定部分の出力を一定値とすることで、論理コーンから前記所定部分を除いて、サブコーンを抽出するサブコーン抽出手段と、前記サブコーン抽出手段により抽出されたサブコーン毎に前記二つの回路の論理等価検証を行う検証手段と、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示する表示制御手段とを備えてなるものである。
【００１６】
なお、本発明に係る論理等価検証装置において、論理コーンが前記所定部分によって複数の部分へ分割される場合に、前記サブコーン抽出手段は前記複数の部分をサブコーンとして抽出することを特徴とすることができる。
【００１７】
このような構成によれば、二つの回路の論理等価検証前において、テスト回路等の検証対象外となる部分を除外することにより容易にサブコーンを抽出することができる。また二つの回路の論理等価検証後において、検証対象外となる部分は表示されず、論理が一致したサブコーンと論理が不一致であるサブコーンが区別されて表示されることにより、不一致原因の解析の手間を軽減することができ、設計期間を短縮することができる。
【００１８】
また、本発明は、所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証装置において、前記二つの回路における互いに対応するそれぞれの論理コーンにおいて、部分の出力を見るための内部検証ポイントを選定し、前記内部検証ポイントの対応付けを行う内部検証ポイント対応付け手段と、前記論理コーンから、前記内部検証ポイントを用いてサブコーンを抽出するサブコーン抽出手段と、前記サブコーン抽出手段により抽出されたサブコーン毎に前記二つの回路の論理等価検証を行う検証手段と、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示する表示制御手段とを備えてなるものである。
【００１９】
このような構成によれば、二つの回路の論理等価検証前に設定される内部検証ポイントを用いて容易にサブコーンを抽出することができる。また二つの回路の論理等価検証後において、論理が一致したサブコーンと論理が不一致であるサブコーンが区別されて表示されることにより、不一致原因の解析の手間を軽減することができ、設計期間を短縮することができる。なお、本実施の形態における内部検証ポイント対応付け手段とは、前処理手段７のことである。
【００２０】
なお、本発明に係る論理等価検証装置において、前記表示制御手段は、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンのみを表示することを特徴とすることができる。
【００２１】
このような構成によれば、二つの回路の論理等価検証後において、論理が不一致であるサブコーンのみが表示されることにより、不一致原因の解析の手間を軽減することができ、設計期間を短縮することができる。
【００２２】
また、本発明は、所定の二つの回路の論理等価検証の結果において論理不一致となった論理コーンである不一致論理コーンが複数検出された場合に、論理不一致の原因を解析するための論理等価検証装置であって、前記不一致論理コーンを構成する素子を記憶する記憶部と、前記不一致論理コーンのうち解析の対象として選択した論理コーンを構成する素子を解析素子として抽出し、前記解析素子を含む前記不一致論理コーンを該当論理コーンとして前記解析素子毎に抽出し、前記該当論理コーンの数を該当数として前記解析素子毎に算出する解析手段と、前記解析素子毎に前記該当数を表示する表示制御手段とを備えてなるものである。
【００２３】
このような構成によれば、ユーザは解析素子毎の該当数を閲覧することにより、該当数が多い解析素子が、二つの回路の間の論理不一致の共通の原因である可能性が高いと判断することができる。なお、本実施の形態における記憶部とは、ＤＢ１０１のことである。
【００２４】
なお、本発明に係る論理等価検証装置において、前記表示制御手段は、前記該当数が所定の範囲である前記解析素子のみを表示することを特徴とすることができる。
【００２５】
このような構成によれば、ユーザは該当数が所定の範囲である解析素子のみを閲覧することにより、二つの回路の間の論理不一致の共通の原因である可能性が高い解析素子を絞り込むことができる。
【００２６】
また、本発明に係る論理等価検証装置において、前記表示制御手段はさらに、前記解析素子毎に前記該当論理コーンの識別子を表示することを特徴とすることができる。
【００２７】
このような構成によれば、ユーザは解析素子毎の該当論理コーンと該当数を閲覧することにより、解析素子を含む論理コーンと、二つの回路の間の論理不一致の共通の原因である可能性が高い解析素子を知ることができる。
【００２８】
また、本発明に係る論理等価検証装置において、前記表示制御手段は、素子の修正により影響の及ぶ出力ポイントを強調表示することを特徴とすることができる。
【００２９】
このような構成によれば、論理等価検証での論理不一致となった論理コーンに対して、素子の修正の影響を表示することにより、ユーザは不必要な回路変更と再検証を減らすことができる。
【００３０】
また、本発明に係る論理等価検証装置において、前記表示制御手段は、所定の回路を除外するための入力の制約により影響の及ぶ出力ポイントを強調表示することを特徴とすることができる。
【００３１】
このような構成によれば、論理等価検証での論理不一致となった論理コーンに対して、入力の制約の影響を表示することにより、ユーザは不必要な回路変更と再検証を減らすことができる。
【００３２】
また、本発明に係る論理等価検証装置において、前記所定の二つの回路は、設計中の回路の変更時における変更前回路と変更後回路であることを特徴とすることができる。
【００３３】
このような構成によれば、変更前回路と変更後回路の論理等価検証後において、論理が不一致であるサブコーンのみが表示されることにより、不一致原因の解析の手間を軽減することができ、設計期間を短縮することができる。
【００３４】
なお、本発明によれば、所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法であって、前記二つの回路における互いに対応するそれぞれの論理コーンにおいて、回路の構造について対応する部分があるか否かを判定する構造マッチングを行い、前記構造マッチングの結果を素子毎の識別子として記録するステップと、前記論理コーンから、互いに接続され同じ識別子を持つ素子の集まりをサブコーンとして抽出するステップと、前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップとを備えてなる論理等価検証方法を提供することができる。
【００３５】
また、本発明によれば、所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法であって、前記二つの回路における互いに対応する論理コーンにおいて、素子毎にインスタンス名が一致するか否かを判定するインスタンス名マッチングを行い、該インスタンス名マッチングの結果を識別子として記録するステップと、前記論理コーンから、互いに接続され同じ識別子を持つ素子の集まりをサブコーンとして抽出するステップと、前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップとを備えてなる論理等価検証方法を提供することができる。
【００３６】
また、本発明によれば、所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法であって、前記二つの回路における互いに対応する論理コーンにおいて、論理コーンのうち所定部分に外部入力を与えて前記所定部分の出力を一定値とすることで、論理コーンから前記所定部分を除いて、サブコーンを抽出するステップと、前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップとを備えてなる論理等価検証方法を提供することができる。
【００３７】
また、本発明によれば、所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法であって、前記二つの回路における互いに対応するそれぞれの論理コーンにおいて、部分の出力を見るための内部検証ポイントを選定し、前記内部検証ポイントの対応付けを行うステップと、前記論理コーンから、前記内部検証ポイントを用いてサブコーンを抽出するステップと、前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップとを備えてなる論理等価検証方法を提供することができる。
【００３８】
また、本発明によれば、所定の二つの回路の論理等価検証の結果において論理不一致となった論理コーンである不一致論理コーンが複数検出された場合に、論理不一致の原因を解析するための論理等価検証方法であって、前記不一致論理コーンを構成する素子を記憶するステップと、前記不一致論理コーンのうち解析の対象として選択した論理コーンを構成する素子を解析素子として抽出し、前記解析素子を含む前記不一致論理コーンを該当論理コーンとして前記解析素子毎に抽出し、前記該当論理コーンの数を該当数として前記解析素子毎に算出するステップと、前記解析素子毎に前記該当数を表示するステップとを備えてなる論理等価検証方法を提供することができる。
【００３９】
また、本発明によれば、所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法をコンピュータに実行させるために、コンピュータにより読取可能な媒体に記憶された論理等価検証プログラムであって、
前記二つの回路における互いに対応するそれぞれの論理コーンにおいて、回路の構造について対応する部分があるか否かを判定する構造マッチングを行い、前記構造マッチングの結果を素子毎の識別子として記録するステップと、前記論理コーンから、互いに接続され同じ前記素子毎の識別子を持つ素子の集まりをサブコーンとして抽出するステップと、前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップとをコンピュータに実行させることを特徴とする論理等価検証プログラムを提供することができる。
【００４０】
また、本発明によれば、所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法をコンピュータに実行させるために、コンピュータにより読取可能な媒体に記憶された論理等価検証プログラムであって、
前記二つの回路における互いに対応する論理コーンにおいて、素子毎にインスタンス名が一致するか否かを判定するインスタンス名マッチングを行い、該インスタンス名マッチングの結果を識別子として記録するステップと、前記論理コーンから、互いに接続され同じ識別子を持つ素子の集まりをサブコーンとして抽出するステップと、前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップとをコンピュータに実行させることを特徴とする論理等価検証プログラムを提供することができる。
【００４１】
また、本発明によれば、所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法をコンピュータに実行させるために、コンピュータにより読取可能な媒体に記憶された論理等価検証プログラムであって、前記二つの回路における互いに対応する論理コーンにおいて、論理コーンのうち所定部分に外部入力を与えて前記所定部分の出力を一定値とすることで、論理コーンから前記所定部分を除いて、サブコーンを抽出するステップと、前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップとをコンピュータに実行させることを特徴とする論理等価検証プログラムを提供することができる。
【００４２】
また、本発明によれば、所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法をコンピュータに実行させるために、コンピュータにより読取可能な媒体に記憶された論理等価検証プログラムであって、
前記二つの回路における互いに対応するそれぞれの論理コーンにおいて、部分の出力を見るための内部検証ポイントを選定し、前記内部検証ポイントの対応付けを行うステップと、前記論理コーンから、前記内部検証ポイントを用いてサブコーンを抽出するステップと、前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップとをコンピュータに実行させることを特徴とする論理等価検証プログラムを提供することができる。
【００４３】
また、本発明によれば、所定の二つの回路の論理等価検証の結果において論理不一致となった論理コーンである不一致論理コーンが複数検出された場合に、論理不一致の原因を解析するための論理等価検証方法をコンピュータに実行させるために、コンピュータにより読取可能な媒体に記憶された論理等価検証プログラムであって、前記不一致論理コーンを構成する素子を記憶するステップと、前記不一致論理コーンのうち解析の対象として選択した論理コーンを構成する素子を解析素子として抽出し、前記解析素子を含む前記不一致論理コーンを該当論理コーンとして前記解析素子毎に抽出し、前記該当論理コーンの数を該当数として前記解析素子毎に算出するステップと、前記解析素子毎に前記該当数を表示するステップとをコンピュータに実行させることを特徴とする論理等価検証プログラムを提供することができる。
【発明の効果】
【００４４】
以上に詳述したように本発明によれば、サブコーン単位で論理等価検証を行い、不一致原因が潜んでいるサブコーンのみを表示することにより、ユーザが行う不一致原因の解析の手間を軽減し、設計・検証ＴＡＴを短縮することができる。また、多数の論理不一致サブコーンが出現した場合に、複数の論理不一致について同時に解析を行うことができ、共通不一致原因を解析することが容易となる。そのため、全ての論理不一致サブコーンを１つずつ解析する方法に比べて、解析の時間が大幅に短縮される。また論理不一致の原因の共通性を考慮することにより、修正箇所が増えたり、他に新たな不一致原因を生成することを防ぎ、修正の最適化を行うことができる。
【発明を実施するための最良の形態】
【００４５】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
実施の形態１．
本実施の形態では、論理等価検証前に論理コーン内に設定される複数の内部検証ポイントを利用して論理コーン内の部分をサブコーンとして抽出し、サブコーン毎に検証を行い、検証結果が一致しないサブコーンのみを表示する。
【００４６】
まず、論理等価検証装置の構成について説明する。図１は、論理等価検証装置の構成の一例を示すブロック図である。図１に示すように、論理等価検証装置は、記憶部１と制御部２と表示部３と入力部４から構成される。記憶部１は、回路情報に関するデータベース（ＤＢ）や検証制御プログラム等を記憶する。制御部２は、記憶部１の検証制御プログラムや入力部４からの指示に従って表示部３への表示を行う。ユーザは、入力部４を用いて、回路の入力・変更、論理等価検証の指示等を行う。
【００４７】
次に、論理等価検証装置の機能について説明する。図２は、論理等価検証装置の機能の一例を示す機能ブロック図である。図２に示すように、論理等価検証装置の機能は、ＤＢ１００と検証制御プログラム２００から構成される。ＤＢ１００は、回路に関する情報を記録する内部ＤＢ５と、論理等価検証に関する情報を記録する検証ＤＢ６から構成されている。内部ＤＢ５は、セルライブラリ５１とスペックデザイン５２とインプリデザイン５３から構成される。セルライブラリ５１はセル名やセルの回路情報等を記録する。セル名は、例えばＡＮＤ２（２入力のＡＮＤ）、ＡＮＤ３（３入力のＡＮＤ）等で表される。スペックデザイン５２は、スペックにおけるインスタンス情報、セル名、回路接続情報等を記録する。インスタンス情報とはインスタンス名とインスタンス端子名からなる情報のことである。インスタンス名は個々の素子につけられた名称である。同様にインプリデザイン１３は、インプリにおけるインスタンス情報、セル名、回路接続情報等を記録する。検証ＤＢ６は、サブコーンに関する情報とサブコーン毎の検証結果である検証情報を検証テーブルとして記録する。
【００４８】
また、図２に示すように、検証制御プログラム２００は、前処理手段７とサブコーン抽出手段８と検証手段９と表示制御手段１０から構成される。図３は、検証制御プログラムのフローの一例を示すフローチャートである。
【００４９】
まず、前処理手段７は、内部ＤＢ５の回路に関する情報を用いて論理等価検証の前処理を行う（Ｓ１）。まず、前処理手段７は、スペックとインプリの間で階層インスタンスの対応付けを行う。ここでは、例えば階層のインスタンス名を用いて対応付けを行う。次に、スペックとインプリにおいて検証ポイントの選定と対応付けを行う。また、検証ポイントを出力ポイントとする部分を論理コーンとして抽出する。次に、前処理手段７は、スペックとインプリにおいて論理コーン内の内部検証ポイントの選定と対応付けを行う。内部検証ポイントは、論理コーン内の部分的な出力を見るためのポイントである。
【００５０】
次に、サブコーン抽出手段８は、複数の内部検証ポイントを利用して論理コーンからサブコーンを抽出し、抽出したサブコーンに関する情報を検証ＤＢ６の検証テーブルに記録する（Ｓ２）。本実施の形態におけるサブコーンとは、出力ポイントとなった内部検証ポイントから、入力ポイントとなる他の内部検証ポイントまでバックトレースされた部分のことである。
【００５１】
次に、検証手段９は、スペックとインプリの間で対応するサブコーン毎に論理等価検証を行い（Ｓ３）、その結果を検証情報としてサブコーン毎に検証ＤＢ６の検証テーブルに記録する。検証情報には例えば「不一致」、「未検証」、「一致」等の情報がある。
【００５２】
また、本実施の形態において、検証情報が一致となった第１のサブコーンの入力ポイントとなる内部検証ポイントが、検証情報が一致となった第２のサブコーンの出力ポイントとなる内部検証ポイントである場合、それらの内部検証ポイントは保持せず、第１のサブコーンと第２のサブコーンを１つのサブコーンとして検証ＤＢ６の検証テーブルを更新する。
【００５３】
次に、表示制御手段１０は、検証ＤＢ６の検証テーブルにおける検証情報に従って、内部ＤＢ５からスペックとインプリの回路に関する情報を読み出し、スペックの回路図とインプリの回路図において論理が不一致となるサブコーンのみを表示部３に表示する（Ｓ４）。ここで、検証情報が「一致」であるサブコーンは表示されず、検証情報が「不一致」または「未検証」であるサブコーンは表示される。
【００５４】
図４は、内部検証ポイントを用いて抽出されたサブコーンの一例を示す図である。図４の（ａ）はスペックにおける論理コーンを示し、図４の（ｂ）はインプリにおける論理コーンを示す。これら２つは対応する論理コーンである。また、白丸は検証ポイントを示し、黒丸は内部検証ポイントを示す。
【００５５】
図４の（ａ）の論理コーンにおいては、内部検証ポイント２１を出力ポイントとするサブコーンの検証情報が「不一致」となったため、このサブコーンは表示される。同様に、図４の（ｂ）の論理コーンにおいては、内部検証ポイント２２を出力ポイントとするサブコーンの検証情報が「不一致」となったため、このサブコーンは表示される。その他の内部検証ポイントを出力ポイントとするサブコーンについても、表示されるか否かが検証情報に従って決定される。
【００５６】
実施の形態２．
本実施の形態では、論理等価検証前に自動的に実行される構造マッチングの結果を利用して論理コーン内の部分をサブコーンとして抽出し、サブコーン毎に検証を行い、検証結果が一致しないサブコーンのみを表示する。
【００５７】
なお、本実施の形態においても図１に示した論理等価検証装置を用いて図３に示したフローで論理等価検証の処理を行うが、本実施の形態における前処理とサブコーン抽出の処理は実施の形態１における処理とは異なる。以下、本実施の形態における前処理とサブコーン抽出の処理について説明する。
【００５８】
本実施の形態において、前処理手段７は、検証ポイントを出力ポイントとする部分を論理コーンとして抽出した後、スペックとインプリの間で対応する論理コーン同士の構造マッチングを行う。構造マッチングとは、スペックとインプリの間でインスタンス名やインスタンス間の接続関係や論理式等を比較することにより、回路の構造について対応する部分があるか否かを判定する処理である。サブコーン抽出手段８は構造マッチングの結果を用いて、論理コーンからサブコーンを抽出し、抽出したサブコーンに関する情報を検証ＤＢ６の検証テーブルに記録する（Ｓ２）。論理等価検証（Ｓ３）とサブコーンの表示（Ｓ４）については実施の形態１と同様の処理が行われる。
【００５９】
次に、本実施の形態におけるサブコーンの抽出処理について説明する。まず、前処理手段７による構造マッチングの結果は、インスタンス毎に識別フラグとしてスペックデザイン５２とインプリデザイン５３に記録される。例えば、構造が不一致となったインスタンスには、識別フラグとして１が記録される。また、構造が一致となったインスタンスには、識別フラグとして０が記録される。次に、サブコーン抽出手段８は、スペックデザイン５２とインプリデザイン５３に記録された識別フラグを用いてサブコーンの抽出を行う。
【００６０】
図５は、実施の形態１における論理コーン内のサブコーンの抽出処理の一例を示すブロック図である。まず、論理コーンの出力ポイントである検証ポイントをサーチし、検証ポイントを最初のトレース元とする（Ｓ１１）。次に、インスタンス間の接続情報に従って、トレース元のインスタンスから論理コーンの入力ポイント方向に接続されたトレース先のインスタンスを探索するトレース処理を行う（Ｓ１２）。次に、トレース処理において、トレース元のインスタンスの識別フラグとトレース先全てのインスタンスの識別フラグとを比較を行う（Ｓ１３）。
【００６１】
識別フラグの比較の結果、トレース先のいずれかのインスタンスの識別フラグがトレース元のインスタンスの識別フラグと等しい場合（Ｓ１３，Ｎｏ）、処理Ｓ１２へ戻り、等しい識別フラグを持つインスタンスを新たなトレース元としてトレース処理を続ける。
【００６２】
一方、識別フラグの比較の結果、トレース先全てのインスタンスの識別フラグがトレース元のインスタンスの識別フラグと異なる場合（Ｓ１３，Ｙｅｓ）、トレース処理された範囲をサブコーンとして抽出し、抽出したサブコーンを検証ＤＢ６へ登録する（Ｓ１４）。論理コーン内における新たなトレース元のインスタンスをサーチする（Ｓ１５）。
【００６３】
論理コーン内にトレース元となりうるインスタンスが、まだトレース処理されずに残っている場合（Ｓ１６，Ｎｏ）、処理Ｓ１２へ戻る。一方、論理コーン内にトレース元となりうるインスタンスがなくなった場合（Ｓ１６，Ｙｅｓ）、このフローを終了する。以上のフローにより、論理コーン内の全てのサブコーンが抽出される。このフローは全ての論理コーンに対して行われる。
【００６４】
図６は、構造マッチングの結果を用いて抽出されたサブコーンの一例を示す図である。図６の（ａ）はスペックにおける論理コーンを示し、図６の（ｂ）はインプリにおける論理コーンを示す。これら２つは対応する論理コーンである。また、点線で囲まれた部分はそれぞれ抽出されたサブコーンである。
【００６５】
図６の（ａ）の論理コーンにおいては、検証ポイント１１からトレース処理が行われる。まず、ａ１と接続されたａ２がａ１と等しい識別フラグを持つとすると、ａ１からａ２へトレース処理が行われる。次に、ａ２と接続されたａ５がａ２と異なる識別フラグを持つとすると、トレース処理が行われない。さらに、ａ１と接続されたａ３がａ１と異なる識別フラグを持つとすると、トレース処理されるインスタンスがなくなる。結果として、ａ１とａ２がサブコーン１２として抽出される。
【００６６】
次に、ａ３が新たなトレース元となり、同様のトレース処理が開始される。ａ３と接続されたａ４、ａ５、ａ６が、ａ３と等しい識別フラグを持つとすると、ａ３からａ４、ａ５、ａ６へトレース処理が行われる。次に、トレース元となるインスタンスがなくなる。結果として、ａ３、ａ４、ａ５、ａ６がサブコーン１５として抽出される。従って図６の（ａ）の論理コーンにおいては、２つのサブコーン１２，１５が抽出される。
【００６７】
同様に、図６の（ｂ）の論理コーンにおいては、検証ポイント１３からトレース処理が行われる。まず、ａ１と接続されたａ２がａ１と等しい識別フラグを持つとすると、ａ１からａ２へトレース処理が行われる。次に、ａ２と接続されたａ８，ａ９がａ２と異なる識別フラグを持つとすると、トレース処理が行われない。さらに、ａ１と接続されたａ７がａ１と異なる識別フラグを持つとすると、トレース処理されるインスタンスがなくなる。結果として、ａ１とａ２がサブコーン１４として抽出される。
【００６８】
次に、ａ７が新たなトレース元となり、同様のトレース処理が開始される。ａ７と接続されたａ８がａ７と等しい識別フラグを持つとすると、ａ７からａ８へトレース処理が行われる。次に、ａ８と接続されたａ９がａ８と等しい識別フラグを持つとすると、ａ８からａ９へトレース処理が行われる。次に、トレース元となるインスタンスがなくなる。結果として、ａ７、ａ８、ａ９がサブコーン１６として抽出される。従って図６の（ｂ）の論理コーンにおいては、２つのサブコーン１４，１６が抽出される。
【００６９】
以上のように、互いに接続され、等しい識別フラグを持つインスタンスの集まりをサブコーンとして抽出し、スペックとインプリにおいて対応するサブコーン毎に検証を行う。図６において、対応するサブコーン１２とサブコーン１４は論理等価検証され、例えば検証結果が一致であれば表示しない。また、対応するサブコーン１５とサブコーン１６は論理等価検証され、例えば検証結果が不一致であれば表示される。以上により、論理が不一致であるサブコーンのみが表示部３に表示されることにより、不一致原因の解析の手間を軽減することができ、設計期間を短縮することができる。
【００７０】
実施の形態３．
本実施の形態では、論理等価検証前に自動的に実行されるインスタンス名マッチングの結果を利用して論理コーン内の部分をサブコーンとして抽出し、サブコーン毎に検証を行い、検証結果が一致しないサブコーンのみを表示する。
【００７１】
なお、本実施の形態においても図１に示した論理等価検証装置を用いて図３に示したフローで論理等価検証の処理を行うが、本実施の形態における前処理とサブコーン抽出の処理は実施の形態１における処理とは異なる。以下、本実施の形態における前処理とサブコーン抽出の処理について説明する。
【００７２】
本実施の形態において、前処理手段７は、検証ポイントを出力ポイントとする部分を論理コーンとして抽出した後、スペックとインプリの間で対応する論理コーン内においてインスタンス名マッチングを行う。インスタンス名マッチングとは、スペックとインプリの間でインスタンス名を比較することにより、インスタンス名について対応する部分があるか否かを判定する処理である。サブコーン抽出手段８は、インスタンス名マッチングの結果を用いて、論理コーンからサブコーンを抽出し、抽出したサブコーンに関する情報を検証ＤＢ６の検証テーブルに記録する（Ｓ２）。論理等価検証（Ｓ３）とサブコーンの表示（Ｓ４）については実施の形態１と同様の処理が行われる。
【００７３】
次に、本実施の形態におけるサブコーンの抽出処理について説明する。まず、前処理手段７によるインスタンス名マッチングの結果は、インスタンス毎に識別フラグとリンク情報としてスペックデザイン５２とインプリデザイン５３に記録される。
【００７４】
例えば、スペックのあるインスタンス名がインプリのいずれのインスタンス名とも一致しない場合は、スペックデザイン５２内のあるインスタンスにおいて、識別フラグを１として記録するとともに、リンク情報は記録されない。同様に、インプリのあるインスタンス名がスペックのいずれのインスタンス名とも一致しない場合は、インプリデザイン５３内のあるインスタンスにおいて、識別フラグを１として記録するとともに、リンク情報は記録されない。
【００７５】
一方、スペックのあるインスタンス名がインプリのあるインスタンス名と一致している場合は、スペックデザイン５２内のあるインスタンスにおいて、識別フラグが０として記録されるとともに、対応するインプリのインスタンスへのリンク情報が記録され、インプリデザイン５３内のあるインスタンスにおいて、識別フラグが０として記録されるとともに、対応するスペックのインスタンスへのリンク情報が記録される。
【００７６】
サブコーン抽出手段８は、スペックデザイン５２とインプリデザイン５３に記録された識別フラグを用いてサブコーンの抽出を行う。本実施の形態におけるサブコーンの抽出処理は、識別フラグがインスタンス名マッチングの結果によるものであること以外は、図５に示したフローチャートと同様のフローでサブコーンの抽出処理が行われる。このサブコーンの抽出処理は全ての論理コーンに対して行われる。
【００７７】
図７は、インスタンス名マッチングの結果を用いて抽出されたサブコーンの一例を示す図である。図７の（ａ）はスペックにおける論理コーンを示し、図７の（ｂ）はインプリにおける論理コーンを示す。これら２つは対応する論理コーンである。また、ｂ１〜ｂ６はインスタンス名を示す。
【００７８】
図７の（ａ）の論理コーンにおいて、ｂ１，ｂ２，ｂ３が同じ識別フラグを持つとすると、ｂ１，ｂ２，ｂ３がサブコーン３１として抽出される。また、ｂ４，ｂ５，ｂ６が同じ識別フラグを持つとすると、ｂ４，ｂ５，ｂ６がサブコーン３２として抽出される。
【００７９】
同様に、図７の（ｂ）の論理コーンにおいて、ｂ１，ｂ２，ｂ３は同じ識別フラグを持つとすると、ｂ１，ｂ２，ｂ３がサブコーン３３として抽出される。また、ｂ４，ｂ５，ｂ６は同じ識別フラグを持つとすると、ｂ４，ｂ５，ｂ６がサブコーン３４として抽出される。
【００８０】
以上のように、互いに接続され、等しい識別フラグを持つインスタンスの集まりをサブコーンとして抽出し、スペックとインプリにおいて対応するサブコーン毎に検証を行う。図７において、対応するサブコーン３１とサブコーン３３は論理等価検証され、例えば検証結果が一致であれば表示しない。また、対応するサブコーン３２とサブコーン３３は論理等価検証され、例えば検証結果が不一致であれば表示される。以上により、論理が不一致であるサブコーンのみが表示部３に表示されることにより、不一致原因の解析の手間を軽減することができ、設計期間を短縮することができる。
【００８１】
実施の形態４．
本実施の形態では、論理等価検証前に論理コーンから検証対象外となる所定の部分を除外してサブコーンを抽出し、サブコーン毎に検証を行い、検証結果が一致しないサブコーンのみを表示する。
【００８２】
なお、本実施の形態においても図１に示した論理等価検証装置を用いて図３に示したフローで論理等価検証の処理を行うが、本実施の形態における前処理とサブコーン抽出の処理は実施の形態１における処理とは異なる。以下、本実施の形態における前処理とサブコーン抽出の処理について説明する。
【００８３】
まず、検証対象外となる部分について説明する。検証対象外となる部分には、例えば製造テストに使用するテスト回路（スキャン回路）や、ループ回路の切断による論理の変更箇所などがある。検証対象外となる部分は通常、論理等価検証前にユーザからの指示や前処理により、回路図から除外される。
【００８４】
本実施の形態において、スペックとインプリにおける検証対象外の部分は、外部入力を備え、外部入力に所定の値を入力すると、他の入力ポイントにいかなる値を入力しても、出力ポイントの値が常に一定値を出力するように、あらかじめ設計される。論理等価検証前に、スペックとインプリにおける検証対象外の部分の外部入力に所定の値を入力することにより、出力ポイントの値は等しくなり、検証対象外の部分の抽出の処理は、実現される。
【００８５】
次に、本実施の形態におけるサブコーンの抽出処理について説明する。本実施の形態では、前処理手段７が検証ポイントを出力ポイントとする部分を論理コーンとして抽出した後、サブコーン抽出手段８は、スペックとインプリの対応する論理コーンに対して外部入力を行い、検証対象外の部分の抽出を行う（Ｓ２１）。この検証対象外の部分は非表示のサブコーンとして、検証ＤＢ６へ登録される。検証対象外の部分により論理コーンが複数に分割されない場合（Ｓ２２，Ｎｏ）、残りの部分をサブコーンとして検証ＤＢ６へ登録し（Ｓ２３）、このフローを終了する。一方、検証対象外の部分により論理コーンが複数に分割された場合（Ｓ２２，Ｙｅｓ）、複数に分割された部分をサブコーンとして検証ＤＢ６へ登録し（Ｓ２４）、このフローを終了する。以上のフローによるサブコーン抽出処理は、検証対象外としたい部分を持つ論理コーン全てについて行われる。
【００８６】
サブコーン抽出手段８は以上のフローに従って、論理コーンからサブコーンを抽出し、抽出したサブコーンに関する情報を検証ＤＢ６の検証テーブルに記録する（Ｓ２）。論理等価検証（Ｓ３）とサブコーンの表示（Ｓ４）については実施の形態１と同様の処理が行われる。
【００８７】
図９は、検証対象外の部分を除いて抽出されたサブコーンの一例を示す図である。図９の（ａ）はスペックにおける論理コーンを示し、図９の（ｂ）はインプリにおける論理コーンを示す。これら２つは対応する論理コーンである。また、斜線部分はそれぞれ検証対象外の部分である。
【００８８】
図９の（ａ）の論理コーンにおいては、外部入力を行うことにより、斜線部分の出力ポイント４１は常に一定値を出力する。これにより、斜線部分は検証対象外とすることができる。ここでは、検証対象外の部分の抽出により論理コーンが２つに分割されるため、２つに分割された部分がサブコーン４２，４３として抽出される。
【００８９】
同様に、図９の（ｂ）の論理コーンにおいては、外部入力を行うことにより、斜線部分の出力ポイント４４は常に一定値を出力する。これにより、斜線部分は検証対象外とすることができる。ここでは、検証対象外の部分の抽出により論理コーンが２つに分割されるため、２つに分割された部分がサブコーン４５，４６として抽出される。
【００９０】
以上のように、検証対象外の部分を除いてサブコーンを抽出し、スペックとインプリにおいて対応するサブコーン毎に検証行う。図９において、斜線部分は表示されない。また、対応するサブコーン４３とサブコーン４６は論理等価検証され、例えば検証結果が一致であれば表示されない。また、対応するサブコーン４２とサブコーン４５は論理等価検証され、例えば検証結果が不一致であれば表示される。以上により、論理が不一致であるサブコーンのみが表示部３に表示されることにより、不一致原因の解析の手間を軽減することができ、設計期間を短縮することができる。本実施の形態では、検証対象外の部分を表示しないとしたが、低輝度表示を行うようにしても良い。
【００９１】
なお、実施の形態１から実施の形態４においては、検証結果としてスペックの回路図とインプリの回路図の両方を表示部３へ表示するとしたが、一方の回路図のみを表示するようにしても良い。また、本実施の形態では、検証結果が一致した箇所は表示しないとしたが、低輝度表示を行っても良い。
【００９２】
実施の形態５．
本実施の形態では、実施の形態１乃至実施の形態４のいずれかを用いてスペックとインプリの論理等価検証を行った結果、論理不一致となったサブコーンである不一致サブコーンが大量に検出された場合に、スペックとインプリにおける論理不一致の共通の原因の素子である共通不一致原因の解析を行う。
【００９３】
多段論理回路の設計においては、素子を共有化してできるだけ少ない素子で回路を作ることを目標とし、論理合成を行うことにより、可能な共有化が全てなされた論理回路を設計することも可能となっている。共有化された素子は複数のサブコーンに属する。もし、インプリにおいて、多くのサブコーンに属する素子に１箇所でも間違いがあった場合、多数のサブコーンで論理不一致となることがある。つまり、複数の論理不一致が検出され、複数の関連性のある部分が論理不一致である場合は、共通の原因が存在する可能性が高い。そのため、本実施の形態では、不一致サブコーンで共通に存在する素子を共通不一致原因候補とする。
【００９４】
まず、本実施の形態における論理等価検証装置の機能について説明する。本実施の形態では、ＤＢ１００の代わりにＤＢ１０１を備え、検証制御プログラム２０１の代わりに検証制御プログラム２００を備える。また、検証ＤＢ６の代わりに検証ＤＢ６３を備え、表示制御手段１０の代わりに表示制御手段６２を備え、さらに解析手段６１を加える。検証ＤＢ６３は、検証テーブルに加え、解析テーブルと解析結果テーブルを備える。表示制御手段６２は、不一致サブコーンの表示機能に加え、後述する論理不一致リスト画面、解析条件設定画面、共通不一致原因解析結果画面、不一致原因影響解析画面、影響伝播範囲画面、検証制約設定画面の表示機能を備える。解析手段６１は、共通不一致原因解析を行う。
【００９５】
以下、共通不一致原因解析について図１１のフローチャートを用いて説明する。本実施の形態では、図１２に示すスペックと図１３に示すインプリを例に挙げて説明する。図１２に示すスペックは、Ｌ１〜Ｌ１０のインスタンス名で表された素子で構成され、入力ポイントＡ、Ｂ、Ｃ、Ｄと出力ポイントＳ、Ｔ、Ｕ、Ｖを備える。また、図１３に示すインプリは、Ｍ１〜Ｍ１０のインスタンス名で表された素子で構成され、入力ポイントＡ、Ｂ、Ｃ、Ｄと出力ポイントＳ、Ｔ、Ｕ、Ｖを備える。図１４は、スペックにおけるＳを出力ポイントとしたサブコーンを示す。スペックとインプリにおけるＳ、Ｔ、Ｕ、Ｖを出力ポイントとするサブコーンは図１４と同様に抽出される。ここでは、サブコーン単位で論理等価検証及び共通不一致原因解析を行うとしたが、サブコーンの代わりに論理コーンを用いても良い。
【００９６】
まず、図１２に示すスペックと図１３に示すインプリは、サブコーン毎に論理等価検証され、検証結果が一致しないサブコーンは表示される。実施の形態１乃至実施の形態４では、表示制御手段６２が、スペックとインプリにおいて不一致サブコーンを回路図上で表示するとしたが、本実施の形態では、不一致サブコーンの出力を論理不一致リストとして表示する（Ｓ３１）。
【００９７】
図１５は、論理不一致リスト画面の一例を示す図である。論理不一致リスト画面では、スペックとインプリにおける不一致サブコーンの出力ポイントが一覧として表示される。論理不一致リスト画面において、ユーザは入力部４を用いて不一致サブコーンの出力ポイントをチェックすることにより、解析サブコーンの選択を行う。解析サブコーンとは、不一致サブコーンのうち共通不一致原因解析の対象となるサブコーンのことである。ここでは、図１５に示すように、ユーザはスペックとインプリにおける出力ポイントＳ、Ｔ、Ｕ、Ｖをチェックすることにより解析サブコーンとして選択したとする。解析サブコーンの選択については、論理不一致リスト画面上で初期設定として予め出力ポイントが選択されることにより、全ての出力ポイントまたは一定の個数の出力ポイントが自動的に選択される機能を備えても良い。
【００９８】
解析サブコーンの選択後、ユーザが論理不一致リスト画面において、解析条件設定ボタン７１をクリックすると、解析手段６１は、論理不一致リスト画面で選択された解析サブコーンを検証ＤＢ６３の解析テーブルに格納し、表示制御手段６２は、解析条件設定画面の表示を行う（Ｓ３２）。図１６は、解析条件設定画面の一例を示す図である。ここでユーザは、入力部４を用いて共通不一致原因解析を行うための条件の設定を行う。解析条件設定画面では、解析ゲート種類と、解析素子接続状況と、出現回数を設定することができる。
【００９９】
解析ゲート種類では、共通不一致原因解析の対象となる素子の種類を制限することができる。例えば図１６に示すように、ＡＮＤとＯＲをＯＮとすると、ＡＮＤとＯＲの素子のみが共通不一致原因解析の対象となる。ここでは一例としてＡＮＤとＯＲのみをＯＮとしているが、他の解析ゲート種類を選択しても良い。
【０１００】
解析素子接続状況では、共通不一致原因解析の対象となる素子の接続状況を制限することができる。最小入力数は素子に対する入力の最小値を示し、最大入力数は素子に対する入力の最大値を示し、最小出力分岐数は素子の出力の最小分岐数を示し、最大出力分岐数は素子の出力の最大分岐数を示す。例えば図１６に示すように、最小入力数が２、最大入力数、最小分岐数、最大分岐数は制限なしとすると、２入力以上の素子のみが共通不一致原因解析の対象となる。
【０１０１】
出現回数では、共通不一致原因解析の対象となる素子の出現状況を制限することができる。例えば図１６に示すように、出現回数が１回以上とすると、１回以上出現した素子のみが共通不一致原因解析の対象となる。
【０１０２】
ここでは、ユーザが図１６に示すような解析条件を設定したとする。解析条件の設定後、ユーザが解析条件設定画面において、解析実行ボタン７２をクリックすると、解析手段６１は、解析条件設定画面で設定された解析条件を検証ＤＢ６３の解析テーブルに格納する。次に、解析手段６１は、ＤＢ１０１の解析サブコーンに関する情報と解析条件を用いて共通不一致原因解析を行う（Ｓ３３）。
【０１０３】
ここで、共通不一致原因解析について説明する。まず、解析手段６１は、スペックとインプリにおいて、解析サブコーンを構成する素子のうち解析条件に合致する素子である解析素子を抽出する。次に、各解析素子と各不一致サブコーンを構成する素子とを比較することにより、解析素子を含んだ不一致サブコーンである該当サブコーンを抽出するとともに、該当サブコーンの数である該当数を算出する。次に、解析素子毎に、該当サブコーンと該当数とを関連付けて解析結果テーブルへ格納する。
【０１０４】
次に、表示制御手段６２は、解析結果テーブルに従って共通不一致原因解析結果画面の表示を行う（Ｓ３４）。図１７は、共通不一致原因解析結果画面の一例を示す図である。図１７に示すように、共通不一致原因解析結果画面では、スペックとインプリそれぞれについて、行ラベルを解析素子のインスタンス名、列ラベルを不一致サブコーンの出力ポイント名とし、解析素子毎の該当サブコーンに対応する位置にチェックをつけた行列を表示するとともに、解析素子毎の該当数を表示する。
【０１０５】
ここで、図１７に示すスペックの共通不一致原因解析結果では、解析サブコーンを構成する素子のうち、ＡＮＤまたはＯＲ、２入力以上、出現回数１回以上という解析条件に合致する解析素子はＬ１〜Ｌ１０であり、行ラベルとして解析素子Ｌ１〜Ｌ１０が表示される。例えば、出力ポイントＳで表された不一致サブコーンはＬ１、Ｌ２、Ｌ４、Ｌ６、Ｌ７を含むため、出力ポイントＳに対応する列の中で、解析素子Ｌ１、Ｌ２、Ｌ４、Ｌ６、Ｌ７に対応する行の位置にチェックが表示される。同様に全ての解析素子とその該当サブコーンに対応する位置にチェックが表示され、さらに解析素子Ｌ１の該当数が４と表示される。
【０１０６】
また、該当数の下限を指定し、下限より多くの論理不一致サブコーンに共通している解析素子のみを表示するようにしても良く、これにより、解析素子数が多い場合にユーザが閲覧しやすくなる。ここでは、解析素子の番号順で表示されているが、該当数が多い順に表示されるようにしても良い。このような共通不一致原因解析結果画面を閲覧することにより、ユーザは、該当数が多い解析素子を、共通不一致原因である可能性が高い共通不一致原因候補と判断することができる。
【０１０７】
次に、ユーザは共通不一致原因候補に対して、素子を修正するか、検証制約を設定して再検証を行う。ここで、素子の修正や検証制約の設定により、その回路変更が前回の論理等価検証での不一致サブコーンにどれだけ影響を及ぼすかを表示することにより、不必要な回路変更と再検証を減らすことができる。
【０１０８】
共通不一致原因解析結果画面において、ユーザが素子の修正による影響の表示を希望した場合（Ｓ３５，Ｙｅｓ）、表示制御手段６２は、素子の修正に伴う影響伝搬範囲の表示を行い（Ｓ３６）、このフローを終了する。また、ユーザが検証制約の設定による影響の表示を希望した場合（Ｓ３７，Ｙｅｓ）、表示制御手段６２は、検証制約に伴う影響伝搬範囲の表示を行い（Ｓ３８）、このフローを終了する。また、ユーザが素子の修正と検証制約の設定による影響の表示を希望しなかった場合（Ｓ３７，Ｎｏ）、このフローを終了する。
【０１０９】
ここで、素子の変更に伴う影響伝搬範囲の表示について説明する。共通不一致原因解析結果画面の閲覧後、ユーザが図１７において、例えば素子Ｍ１をダブルクリックすることにより共通不一致原因候補として選択すると、表示制御手段６２は図１８に示すような不一致原因影響解析画面の表示を行う。図１８の例において、不一致原因影響解析画面には回路図が表示され、その中の素子Ｍ１が強調表示される。さらに、ユーザが素子Ｍ１をクリックすることにより選択すると、素子の修正方法候補として、「論理を反転する」、「論理を変更する」、「入力を交換する」がポップアップ表示される。
【０１１０】
次に、ユーザが修正方法候補の中から例えば「論理を反転する」を選択すると、表示制御手段６２は図１９に示すような影響伝播範囲画面の表示を行う。影響伝播範囲画面には回路図が表示され、選択した修正による影響の及ぶ範囲を強調表示する。図１９の例は、素子Ｍ１の論理反転による影響が、Ｍ４、Ｍ６、Ｍ７、Ｍ８、Ｍ９、Ｍ１０、Ｓ、Ｔ、Ｕ、Ｖに及ぶことを表す。また、論理不一致リスト画面において、素子Ｍ１の論理反転による影響が及ぶ出力ポイントを強調表示するようにしても良い。
【０１１１】
図１９の影響伝播範囲画面から、ユーザは素子Ｍ１の修正により出力ポイントＳ、Ｔ、Ｕ、Ｖに影響があることがわかり、再検証を行う意味があることがわかる。もし影響伝播範囲画面において、素子Ｍ１の論理反転による影響が出力ポイントＳ、Ｔ、Ｕ、Ｖのいずれかに伝播しない場合、ユーザは素子Ｍ１の修正を行う必要がなく、他の共通不一致原因候補を調査すれば良いことがわかる。
【０１１２】
次に、検証制約の設定に伴う影響伝搬範囲の表示について説明する。共通不一致原因解析結果の閲覧後、ユーザが検証制約設定画面の表示の指示を入力すると、表示制御手段６２は図示しない検証制約設定画面の表示を行う。検証制約の設定とは、スペックとインプリのうち一方の回路にだけテスト回路等の検証対象外となる部分が追加されている場合に、検証対象外となる部分の入力に一定値を設定することにより、検証対象外となる部分を除外することである。例えば図２０に示すスペックと図２１に示すインプリの論理等価検証を行った場合は、出力ポイントＸ、Ｙ、Ｚが論理不一致であり、論理不一致の原因である入力Ｅはテスト回路として追加されたものであるとする。そこで、このテスト回路を機能させないために、検証制約として入力ＥをＨｉｇｈに設定する。
【０１１３】
検証制約設定画面は、検証制約の設定項目と、影響確認ボタンを備える。図２１の例において、ユーザが検証制約の設定項目において入力ＥをＨｉｇｈに設定した後、影響確認ボタンをクリックすることにより、表示制御手段６２は、図２２に示すような影響伝播範囲画面の表示を行う。影響伝播範囲画面には回路図が表示され、検証制約の設定による影響の及ぶ範囲を強調表示する。図２２の例は、入力Ｅによる影響が、Ｐ７、Ｐ８、Ｐ９、Ｘ、Ｙ、Ｚに及ぶことを表す。また、図１５に示す論理不一致リスト画面において、入力Ｅによる影響が及ぶ出力ポイントを強調表示するようにしても良い。
【０１１４】
図２２の影響伝播範囲画面から、ユーザは検証制約の設定により出力ポイントＸ、Ｙ、Ｚに影響があることがわかり、再検証を行う意味があることがわかる。もし影響伝播範囲画面において、検証制約の設定による影響が出力ポイントＸ、Ｙ、Ｚのいずれかに伝播しない場合、ユーザは検証制約の設定を行う必要がなく、他の共通不一致原因候補を調査すれば良いことがわかる。
【０１１５】
（付記１）所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証装置であって、
前記二つの回路における互いに対応するそれぞれの論理コーンにおいて、回路の構造について対応する部分があるか否かを判定する構造マッチングを行い、前記構造マッチングの結果を素子毎の識別子として記録する第１識別子記録手段と、
前記論理コーンから、互いに接続され同じ識別子を持つ素子の集まりをサブコーンとして抽出するサブコーン抽出手段と、
前記サブコーン抽出手段により抽出されたサブコーン毎に前記二つの回路の論理等価検証を行う検証手段と、
前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示する表示制御手段と、
を備えてなる論理等価検証装置。
（付記２）所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証装置であって、
前記二つの回路における互いに対応する論理コーンにおいて、素子毎にインスタンス名が一致するか否かを判定するインスタンス名マッチングを行い、該インスタンス名マッチングの結果を識別子として記録する第２識別子記録手段と、
前記論理コーンから、互いに接続され同じ識別子を持つ素子の集まりをサブコーンとして抽出するサブコーン抽出手段と、
前記サブコーン抽出手段により抽出されたサブコーン毎に前記二つの回路の論理等価検証を行う検証手段と、
前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示する表示制御手段と、
を備えてなる論理等価検証装置。
（付記３）所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証装置において、
前記二つの回路における互いに対応する論理コーンにおいて、論理コーンのうち所定部分に外部入力を与えて前記所定部分の出力を一定値とすることで、論理コーンから前記所定部分を除いて、サブコーンを抽出するサブコーン抽出手段と、
前記サブコーン抽出手段により抽出されたサブコーン毎に前記二つの回路の論理等価検証を行う検証手段と、
前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示する表示制御手段と、
を備えてなる論理等価検証装置。
（付記４）付記３に記載の論理等価検証装置において、
論理コーンが前記所定部分によって複数の部分へ分割される場合に、前記サブコーン抽出手段は前記複数の部分をサブコーンとして抽出することを特徴とする論理等価検証装置。
（付記５）所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証装置において、
前記二つの回路における互いに対応するそれぞれの論理コーンにおいて、部分の出力を見るための内部検証ポイントを選定し、前記内部検証ポイントの対応付けを行う内部検証ポイント対応付け手段と、
前記論理コーンから、前記内部検証ポイントを用いてサブコーンを抽出するサブコーン抽出手段と、
前記サブコーン抽出手段により抽出されたサブコーン毎に前記二つの回路の論理等価検証を行う検証手段と、
前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示する表示制御手段と、
を備えてなる論理等価検証装置。
（付記６）付記１乃至付記５のいずれかに記載の論理等価検証装置において、
前記表示制御手段は、前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンのみを表示することを特徴とする論理等価検証装置。
（付記７）所定の二つの回路の論理等価検証の結果において論理不一致となった論理コーンである不一致論理コーンが複数検出された場合に、論理不一致の原因を解析するための論理等価検証装置であって、
前記不一致論理コーンを構成する素子を記憶する記憶部と、
前記不一致論理コーンのうち解析の対象として選択した論理コーンを構成する素子を解析素子として抽出し、前記解析素子を含む前記不一致論理コーンを該当論理コーンとして前記解析素子毎に抽出し、前記該当論理コーンの数を該当数として前記解析素子毎に算出する解析手段と、
前記解析素子毎に前記該当数を表示する表示制御手段と、
を備えてなる論理等価検証装置。
（付記８）付記７に記載の論理等価検証装置において、
前記表示制御手段は、前記該当数が所定の範囲である前記解析素子のみを表示することを特徴とする論理等価検証装置。
（付記９）付記７または付記８に記載の論理等価検証装置において、
前記表示制御手段はさらに、前記解析素子毎に前記該当論理コーンの識別子を表示することを特徴とする論理等価検証装置。
（付記１０）付記７乃至付記９のいずれかに記載の論理等価検証装置において、
前記表示制御手段は、素子の修正により影響の及ぶ出力ポイントを強調表示することを特徴とする論理等価検証装置。
（付記１１）付記７乃至付記１０のいずれかに記載の論理等価検証装置において、
前記表示制御手段は、所定の回路を除外するための入力の制約により影響の及ぶ出力ポイントを強調表示することを特徴とする論理等価検証装置。
（付記１２）付記１乃至付記１１のいずれかに記載の論理等価検証装置において、
前記所定の二つの回路は、設計中の回路の変更時における変更前回路と変更後回路であることを特徴とする論理等価検証装置。
（付記１３）所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法であって、
前記二つの回路における互いに対応するそれぞれの論理コーンにおいて、回路の構造について対応する部分があるか否かを判定する構造マッチングを行い、前記構造マッチングの結果を素子毎の識別子として記録するステップと、
前記論理コーンから、互いに接続され同じ識別子を持つ素子の集まりをサブコーンとして抽出するステップと、
前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、
前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップと、
を備えてなる論理等価検証方法。
（付記１４）所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法であって、
前記二つの回路における互いに対応する論理コーンにおいて、素子毎にインスタンス名が一致するか否かを判定するインスタンス名マッチングを行い、該インスタンス名マッチングの結果を識別子として記録するステップと、
前記論理コーンから、互いに接続され同じ識別子を持つ素子の集まりをサブコーンとして抽出するステップと、
前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、
前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップと、
を備えてなる論理等価検証方法。
（付記１５）所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法であって、
前記二つの回路における互いに対応する論理コーンにおいて、論理コーンのうち所定部分に外部入力を与えて前記所定部分の出力を一定値とすることで、論理コーンから前記所定部分を除いて、サブコーンを抽出するステップと、
前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、
前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップと、
を備えてなる論理等価検証方法。
（付記１６）所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法であって、
前記二つの回路における互いに対応するそれぞれの論理コーンにおいて、部分の出力を見るための内部検証ポイントを選定し、前記内部検証ポイントの対応付けを行うステップと、
前記論理コーンから、前記内部検証ポイントを用いてサブコーンを抽出するステップと、
前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、
前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップと、
を備えてなる論理等価検証方法。
（付記１７）所定の二つの回路の論理等価検証の結果において論理不一致となった論理コーンである不一致論理コーンが複数検出された場合に、論理不一致の原因を解析するための論理等価検証方法であって、
前記不一致論理コーンを構成する素子を記憶するステップと、
前記不一致論理コーンのうち解析の対象として選択した論理コーンを構成する素子を解析素子として抽出し、前記解析素子を含む前記不一致論理コーンを該当論理コーンとして前記解析素子毎に抽出し、前記該当論理コーンの数を該当数として前記解析素子毎に算出するステップと、
前記解析素子毎に前記該当数を表示するステップと、
を備えてなる論理等価検証方法。
（付記１８）所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法をコンピュータに実行させる論理等価検証プログラムであって、
前記二つの回路における互いに対応するそれぞれの論理コーンにおいて、回路の構造について対応する部分があるか否かを判定する構造マッチングを行い、前記構造マッチングの結果を素子毎の識別子として記録するステップと、
前記論理コーンから、互いに接続され同じ前記素子毎の識別子を持つ素子の集まりをサブコーンとして抽出するステップと、
前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、
前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップと、
をコンピュータに実行させることを特徴とする論理等価検証プログラム。
（付記１９）所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法をコンピュータに実行させる論理等価検証プログラムであって、
前記二つの回路における互いに対応する論理コーンにおいて、素子毎にインスタンス名が一致するか否かを判定するインスタンス名マッチングを行い、該インスタンス名マッチングの結果を識別子として記録するステップと、
前記論理コーンから、互いに接続され同じ識別子を持つ素子の集まりをサブコーンとして抽出するステップと、
前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、
前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップと、
をコンピュータに実行させることを特徴とする論理等価検証プログラム。
（付記２０）所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法をコンピュータに実行させる論理等価検証プログラムであって、
前記二つの回路における互いに対応する論理コーンにおいて、論理コーンのうち所定部分に外部入力を与えて前記所定部分の出力を一定値とすることで、論理コーンから前記所定部分を除いて、サブコーンを抽出するステップと、
前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、
前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップと、
をコンピュータに実行させることを特徴とする論理等価検証プログラム。
（付記２１）所定の二つの回路の論理等価検証を行い、該論理等価検証の結果の表示を行う論理等価検証方法をコンピュータに実行させる論理等価検証プログラムであって、
前記二つの回路における互いに対応するそれぞれの論理コーンにおいて、部分の出力を見るための内部検証ポイントを選定し、前記内部検証ポイントの対応付けを行うステップと、
前記論理コーンから、前記内部検証ポイントを用いてサブコーンを抽出するステップと、
前記サブコーン毎に前記二つの回路の論理等価検証を行うステップと、
前記論理等価検証の結果に基づいて、前記論理等価検証の結果が不一致となるサブコーンと前記論理等価検証の結果が一致するサブコーンとを区別して表示するステップと、
をコンピュータに実行させることを特徴とする論理等価検証プログラム。
（付記２２）所定の二つの回路の論理等価検証の結果において論理不一致となった論理コーンである不一致論理コーンが複数検出された場合に、論理不一致の原因を解析するための論理等価検証方法をコンピュータに実行させる論理等価検証プログラムであって、
前記不一致論理コーンを構成する素子を記憶するステップと、
前記不一致論理コーンのうち解析の対象として選択した論理コーンを構成する素子を解析素子として抽出し、前記解析素子を含む前記不一致論理コーンを該当論理コーンとして前記解析素子毎に抽出し、前記該当論理コーンの数を該当数として前記解析素子毎に算出するステップと、
前記解析素子毎に前記該当数を表示するステップと、
をコンピュータに実行させることを特徴とする論理等価検証プログラム。
【図面の簡単な説明】
【０１１６】
【図１】本実施の形態における論理等価検証装置の構成の一例を示すブロック図である。
【図２】実施の形態１乃至実施の形態４における論理等価検証装置の機能の一例を示す機能ブロック図である。
【図３】検証制御プログラムの処理の一例を示すフローチャートである。
【図４】内部検証ポイントを用いて抽出されたサブコーンの一例を示す図である。
【図５】実施の形態２と実施の形態３における論理コーン内のサブコーンの抽出処理の一例を示すブロック図である。
【図６】構造マッチングの結果を用いて抽出されたサブコーンの一例を示す図である。
【図７】インスタンス名マッチングの結果を用いて抽出されたサブコーンの一例を示す図である。
【図８】実施の形態４におけるサブコーンの抽出処理の一例を示すブロック図である。
【図９】検証対象外の部分を除いて抽出されたサブコーンの一例を示す図である。
【図１０】実施の形態５における論理等価検証装置の機能の一例を示す機能ブロック図である。
【図１１】共通不一致原因解析の処理の一例を示すフローチャートである。
【図１２】スペックの一例を示す図である。
【図１３】インプリの一例を示す図である。
【図１４】スペックにおけるＳを出力ポイントとしたサブコーンを示す図である。
【図１５】論理不一致リスト画面の一例を示す図である。
【図１６】解析条件設定画面の一例を示す図である。
【図１７】共通不一致原因解析結果画面の一例を示す図である。
【図１８】不一致原因影響解析画面の一例を示す図である。
【図１９】影響伝播範囲画面の一例を示す図である。
【図２０】スペックの他の一例を示す図である。
【図２１】インプリの他の一例を示す図である。
【図２２】影響伝播範囲画面の他の一例を示す図である。
【図２３】論理コーンの一例を示す図である。
【符号の説明】
【０１１７】
１  記憶部、２  制御部、３  表示部、４  入力部、１００，１０１  ＤＢ、５  内部ＤＢ、５１  セルライブラリ、５２  スペックデザイン、５３  インプリデザイン、６，６３  検証ＤＢ、２００，２０１  検証制御プログラム、７  前処理手段、８  サブコーン抽出手段、６１  解析手段、９  検証手段、１０，６２  表示制御手段、１１，１３  検証ポイント、２１，２２  内部検証ポイント、１２，１４，１５，１６，３１，３２，３３，３４，４２，４３，４５，４６  サブコーン。
【図１】
0004559519.tif 000002
【図２】
0004559519.tif 000003
【図３】
0004559519.tif 000004
【図４】
0004559519.tif 000005
【図５】
0004559519.tif 000006
【図６】
0004559519.tif 000007
【図７】
0004559519.tif 000008
【図８】
0004559519.tif 000009
【図９】
0004559519.tif 000010
【図１０】
0004559519.tif 000011
【図１１】
0004559519.tif 000012
【図１２】
0004559519.tif 000013
【図１３】
0004559519.tif 000014
【図１４】
0004559519.tif 000015
【図１５】
0004559519.tif 000016
【図１６】
0004559519.tif 000017
【図１７】
0004559519.tif 000018
【図１８】
0004559519.tif 000019
【図１９】
0004559519.tif 000020
【図２０】
0004559519.tif 000021
【図２１】
0004559519.tif 000022
【図２２】
0004559519.tif 000023
【図２３】
0004559519.tif 000024