(57)【要約】  【課題】アナログ回路とその機能モデル単体での等価性検証を実現する。  【解決手段】回路トポロジや機能記述から、その回路に含まれる機能を抽出し、抽出された回路機能に応じた検証ベクタを入力可能なテスト回路を生成し、検証を行って結果を得る。等価性を検証したい場合は、上記で作成したテスト回路の比較対象回路のみ置き換えて、同様の検証を行い、結果を得た後、上記で得た結果と差を比較し、差が許容範囲内であれば等価であると判断する。本発明の構成を使用することで、アナログ回路または機能モデル単体で、その回路自身の検証を行うことが可能である。また、最小限の構成で等価性を検証することが可能である。【選択図】  図２０
2006031277.tif 000002
【特許請求の範囲】
【請求項１】
回路を検証するベクタの生成方法であって、
前記回路のうちの少なくともひとつの要素回路から当該回路の検証ベクタを抽出し、検証ベクタを生成する工程を含む検証ベクタの生成方法。
【請求項２】
請求項１に記載の検証ベクタ生成方法であって、
前記少なくともひとつの回路はアナログ回路である検証ベクタの生成方法。
【請求項３】
請求項１または２に記載の検証ベクタ生成方法であって、
前記少なくともひとつの回路はトランジスタレベル記述によって記述されたものである検証ベクタの生成方法。
【請求項４】
請求項１または２に記載の検証ベクタ生成方法であって、
前記少なくともひとつの回路は機能記述によって記述されたものである検証ベクタの生成方法。
【請求項５】
請求項１乃至４のいずれかに記載の検証ベクタ生成方法であって、
前記生成する工程は、対象となる回路から特徴ある回路を抽出し、前記特徴ある回路から抽出された前記特徴ある回路を検証するベクタを抽出する工程を含むことを特徴とする検証ベクタの生成方法。
【請求項６】
請求項１に記載の検証ベクタ生成方法であって、
前記生成する工程は、前記回路からマッチングの対象とする素子を選択しスコープする工程と、素子レベルでのトポロジのマッチングを行う工程と、前記素子に対する検証内容を決定する工程と、前記検証内容に応じた検証ベクタを生成する工程とを含むことを特徴とする検証ベクタ生成方法。
【請求項７】
請求項４に記載の検証ベクタ生成方法であって、
前記生成する工程は、前記回路の対象となる機能記述から特徴ある記述を抽出し、前記特徴ある記述から前記抽出された特徴ある記述を検証するベクタを抽出する工程とを有することを特徴とする検証ベクタ生成方法。
【請求項８】
請求項４に記載の検証ベクタ生成方法であって、
前記生成する工程は、前記回路から単位記述を抽出する工程と、前記単位記述での記述のマッチングを行う工程と、検証内容を決定する工程とを有することを特徴とする検証ベクタ生成方法。
【請求項９】
請求項７に記載の検証ベクタ生成方法であって、
前記生成する工程は、前記回路についての前記機能記述から単位記述に変更する工程と、前記単位記述での記述のマッチングを行う工程と、検証内容を決定する工程とを有することを特徴とする検証ベクタ生成方法。
【請求項１０】
請求項５に記載の検証ベクタ生成方法であって、
前記生成する工程は、
あらかじめ用意された回路特徴と検証ベクタとの対応情報とに基づいて、特徴ある回路を抽出する工程により抽出された回路特徴に対し、検証ベクタを生成することを特徴とする検証ベクタ生成方法
【請求項１１】
請求項７に記載の検証ベクタ生成方法であって、
前記生成する工程は、
特徴ある記述を抽出する工程により抽出された記述特徴と、あらかじめ用意された記述特徴と検証ベクタとの対応情報に基づいて、検証ベクタを生成することを特徴とする検証ベクタ生成方法
【請求項１２】
請求項１に記載の検証ベクタ生成方法であって、
前記少なくとも一つの回路はレイアウト記述されていることを特徴とする検証ベクタ生成方法。
【請求項１３】
請求項１２に記載の検証ベクタ生成方法であって、
前記生成する工程は、レイアウトから回路のトランジスタレベル記述を抽出する工程を含むことを特徴とする検証ベクタ生成方法。
【請求項１４】
請求項１３に記載の検証ベクタ生成方法であって、
レイアウトから抽出された回路の前記トランジスタレベル記述は、寄生素子情報を含んでいることを特徴とする検証ベクタ生成方法。
【請求項１５】
請求項４に記載の検証ベクタ生成方法であって、
前記機能記述は、Verilog-A、Verilog-AMS記述のうち少なくとも１つであることを特徴とする請求項５の検証ベクタ生成方法。
【請求項１６】
請求項５に記載の検証ベクタ生成方法であって、
前記特徴ある回路はスイッチを意味することを特徴とする検証ベクタ生成方法。
【請求項１７】
請求項７に記載の検証ベクタ生成方法であって、
前記特徴ある記述はスイッチを意味することを特徴とする検証ベクタ生成方法。
【請求項１８】
請求項１乃至１７のいずれかに記載の検証ベクタ生成方法を用いて、対象となる回路のうちの少なくともひとつの回路から当該回路の検証ベクタを生成する工程と、
抽出された前記検証ベクタを用いて前記回路を検証する工程とを含む回路検証方法。
【請求項１９】
請求項１８に記載の回路検証方法であって、
前記検証する工程は、少なくとも２つ以上の回路が機能的に等価か否かを検証する工程を含むことを特徴とする回路検証方法。
【請求項２０】
請求項１８に記載の回路検証方法であって、
前記抽出する工程は、レイアウト記述から前記回路のトランジスタレベル記述を抽出する工程を含み、
前記検証する工程は、前記回路のトランジスタレベル記述から得られた検証ベクタを用いて回路検証する工程を含むことを特徴とする回路検証方法。
【請求項２１】
請求項２０に記載の回路検証方法であって、
前記レイアウト記述から抽出された前記回路の前記トランジスタレベル記述は、寄生素子情報を含んでいることを特徴とする回路検証方法。
【請求項２２】
請求項１８乃至２１のいずれかに記載の回路検証方法であって、
前記生成する工程は、前記回路が特定の状態となる入力条件を抽出し、前記入力条件から回路が特定の状態となる検証ベクタを抽出する工程を有することを特徴とする回路検証方法。
【請求項２３】
請求項１８に記載の回路検証方法において、
前記少なくとも一つの回路は機能記述のなされた回路であり、この回路を回路検証する工程を含むことを特徴とする回路検証方法。
【請求項２４】
請求項１８乃至２３のいずれかに記載の回路検証方法であって、
前記検証する工程は、検証する工程における検証結果を比較し特性あるいは機能が仕様と等価であるか否かの結果を判断する工程を有することを特徴とする回路検証方法。
【請求項２５】
請求項２４に記載の回路検証方法において、
前記判断する工程における結果の判断は、回路が特定の状態になっているかどうかに基づくことを特徴とする回路検証方法。
【請求項２６】
請求項１８乃至２３のいずれかに記載の回路検証方法において、
前記検証する工程は、入力信号の組み合わせを生成する工程と、回路が特定の状態かどうかを判定する工程とを備えたことを特徴とする回路検証方法。
【請求項２７】
請求項２５の回路検証方法において、
前記特定の状態は、パワーダウン状態であることを特徴とする回路検証方法。
【請求項２８】
請求項１８に記載の回路検証方法において、
前記検証する工程は、前記抽出する工程により生成された検証ベクタと、
特徴抽出手段により抽出された回路情報とより、テスト回路を生成する工程を備えていることを特徴とする回路検証方法。
【請求項２９】
請求項１８の回路検証方法において、
前記検証する工程は、前記抽出する工程により生成された検証ベクタと、特徴抽出手段により抽出された記述情報とより、テスト回路を生成する工程を備えていることを特徴とする回路検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証ベクタ生成方法およびこれを用いた電子回路の検証方法に係り、特に回路から抽出した検証ベクタを用いてその回路自身の検証を行う方法、および、抽出した検証ベクタから２つ以上の回路の等価性を検証する方法に関するものである。
【背景技術】
【０００２】
近年、集積回路に集積される回路が大規模化し、ＳＯＣ(System on Chip)と呼ばれる大規模集積回路が開発されている。これは、従来複数の半導体集積回路で実現した処理システムを、１チップに集積化した大規模集積回路を指す。ＳＯＣにはアナログ回路とデジタル回路が混在した回路（以下、アナ・デジ混載回路と略す）が集積されていることが多い。
【０００３】
従来、アナログ回路のシミュレーションは物理特性を厳密に考慮したＳＰＩＣＥ（Software Process  Improvement Capability determination）などの回路シミュレータによって行われてきた。ＳＰＩＣＥでは、シリコン上で形成されるデバイスの物理的な特性を厳密にモデル化しトランジスタ素子の動作をシミュレートすることで、アナログ回路の解析をおこなってきた。しかし、一般に回路シミュレータの実行には非常に時間がかかるため、デジタル回路とアナログ回路を同じ時間軸でシミュレーションすることは難しかった。その結果、ＳＯＣ上に混載されるデジタル回路とアナログ回路を組み合わせた形でのシミュレーションが実行されることは少なく、検証不足による接続ミスなどが多発している。
【０００４】
また、ＳＯＣのような大規模な回路を短期間・低コストで開発するには、設計の初期段階で十分にシステム最適化を行い、回路ブロックごとの仕様を決定する必要がある。従来、デジタル回路の分野ではＨＤＬ（Hardware Description Language）を用いた回路モデル化を行うことで回路を簡略化し、シミュレーションを高速化させることにより、大規模なシステムであっても最適化を実施することが可能であった。しかし、従来のＨＤＬではアナログ回路の記述が困難であり、アナ・デジ混載回路のシステム最適化は非常に困難であった。
【０００５】
このような状況の中、ＡＨＤＬ（Analog Hardware Description Language）と呼ばれるアナログ記述言語が開発された。この言語は、アナログ回路の機能を記述することが可能であり、かつ比較的シミュレーション速度が高速であった。このため、ＡＨＤＬが先にのべたアナ・デジ混載回路でのアナログ・デジタル間の接続検証や、アナ・デジ混載ＳｏＣのシステム最適化のために用いられるようになった。
【０００６】
このＡＨＤＬで記述されたモデルは、シミュレーション高速化のため、回路の機能の一部を表現したモデルであることが一般的であり、アナログ回路が持つ全ての特性を表現してはいない。このため、そのモデルを用いて実施する検証内容によってモデル化される特性はまちまちであった。そのため、機能モデルを自動で作成することが困難であり、人手で必要とされる機能のみモデル化したモデルを作成している。この作業中に人手によるミスの混入などが発生し、元になったアナログ回路と機能モデル間の等価性が保障されないという問題が常に発生してきた。
【０００７】
この等価性の問題を解決するため、従来はアナ・デジ混載回路を機能モデルで構築し、デジタル回路からアナログ機能モデルへの入力を保存し、アナログ機能モデルからの出力を期待値として保存し、アナログ回路に対して、先に保存した入力信号を入力として与えたときの出力値が期待値と一致しているかどうかを確認するという方法で、等価性を検証していた（例えば、特許文献１参照。）。
【０００８】
図２７は、上記従来の電子回路の検証方法の概略フローチャート図である。以下、従来の電子回路検証方法について説明する。前処理は機能記述されたデジタル回路Ｄ０と、同じく機能記述されたアナログ回路Ａ０を１つの機能シミュレータ１１０によってシミュレーションを行い、デジタル回路Ｄ０とアナログ回路Ａ０の境界の信号をダンプする処理を行う。ダンプされた波形は、アナログ回路１２０とともにシミュレーション可能な機能素子１３０としてデータを保存し、この機能素子１３０からアナログ回路１２０へ入力信号を与え、その結果アナログ回路から出力される信号と、期待値を比較することで等価性を検証していた。
【０００９】
また、ＳＯＣでのアナログ・デジタル回路間の接続ミスを低減する方法として、従来はデジタル回路からの入力信号を与えた状態で、アナログ回路の各素子の動作状態を確認することによって、特定の動作条件を満たしているかどうかを確認する方法が提案されている。（例えば、特許文献２参照）
【００１０】
図２８は上記従来の電子回路検証方法の流れを示した概念図である。以下、従来の電子回路検証方法について説明する。まずアナログ回路２１０が特定の動作条件となるデジタル回路２２０への入力パタン２３０を入力し、これを与えたときのデジタル回路２２０の出力値の論理状態を２４０で保存する。この値をアナログ回路２１０に与えたとき、アナログ回路２１０の各回路素子がどの動作状態になっているかを確認することで、アナ・デジ間の接続ミスがないか確認する。例えば、パワーダウン状態の特定であれば、ＭＯＳの端子電圧によってドレイン・ソース間が遮断されているか否かを判定し、また容量があれば無条件に遮断と判定することで、電源からグラウンドへの全てのノードが遮断されていることを確認する。このようにすることで、接続ミスを容易に発見することが可能である。
【００１１】
【特許文献１】特開２０００−２１５２２２号公報（第１−６頁、第３図）
【特許文献２】特開２０００−３２３５７５号公報（第１−７頁、第５図）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、前記構成の等価性検証方法や電子回路検証方法では、デジタル回路からアナログ回路へ入力される信号を検証ベクタとしており、アナログ回路とその機能モデル単体での等価性検証が実現できなかった。本来、アナログ回路とその機能モデルの等価性は、それら単体で検証できるものであり、不必要に大きな構成となっている。また、機能モデルを汎用的なライブラリとする場合、機能モデルに入力される信号は使用される回路によってまちまちであり、特定の入力信号で等価性検証を行っても、別の入力信号が与えられた場合の等価性は保障されない。
【００１３】
また、特許文献１の構成は先にアナログ機能モデルが存在し、後にアナログ回路が作成されるトップダウン設計手法を対象としているが、先にアナログ回路が存在し、後にアナログ機能モデルが作成されるボトムアップ設計手法を対象としていない。主に、アナ・デジ間の接続検証を行う場合にボトムアップ設計手法は使用されるため、特許文献１の構成は接続検証をサポートすることができないという問題があった。
本発明は前記実情に鑑みてなされたもので、入力信号に依存することなく、容易に信頼性の高い回路検証を実現することを目的とする。
また、本発明では、アナログ回路と機能モデル単体との間の等価性検証を実現することを目的とする。
また、本発明では、機能記述の回路とレイアウト記述の回路との間の等価性検証を容易に実現することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明の検証ベクタ生成方法は、アナログ回路またはその機能をＡＨＤＬで記述した機能モデルから回路用の検証用ベクタを抽出する工程を有することを特徴とする。また、本発明の電子回路検証方法は、前記検証用ベクタをテスト対象回路に入力可能なテストベンチ回路を作成する工程と、前記テストベンチ回路および検証ベクタを用いて前記アナログ回路および機能モデルの検証を行いその結果を比較する工程を備えたことを特徴とする。
また、前記検証用ベクタから、アナログ回路素子の動作状態を解析する工程と、アナログ回路が特定の動作条件になっていることを検証する工程を備えたことを特徴とする。
【００１５】
すなわち、本発明の検証ベクタの生成方法は、検証しようとする回路のうちの少なくともひとつの回路から当該回路の検証ベクタを抽出し、検証ベクタを生成する工程を含むことを特徴とする。
この方法によれば、当該回路自身から検証ベクタを抽出しているため、入力信号や検証を行う設計者の習熟度に依存することなく、信頼性の高い検証ベクタの抽出が容易である。
【００１６】
また、本発明の検証ベクタの生成方法は、少なくともひとつの前記回路がアナログ回路であるものを含む。
この方法によれば、検証ベクタの選択が難しいアナログ回路に対しても、回路中から検証ベクタを選択することができるため、容易に抽出可能である。
【００１７】
また、本発明の検証ベクタの生成方法は、前記少なくともひとつの回路はトランジスタレベル記述によって記述されたものを含む。
この方法によれば、トランジスタレベル記述に対しても、容易に検証ベクタの抽出が可能である。
【００１８】
また、本発明の検証ベクタの生成方法は、前記少なくともひとつの回路は機能記述によって記述されたものを含む。
この方法によれば、機能記述の回路に対しても、容易に検証ベクタの抽出が可能である。
【００１９】
また、本発明の検証ベクタの生成方法は、前記生成する工程は、対象となる回路から特徴ある回路を抽出し、抽出された前記特徴ある回路を検証する検証ベクタを抽出する工程を含むものを含む。
この方法によれば、特徴ある回路を抽出しこれを検証するための検証ベクタを抽出するようにしているため、回路内に含まれる要素回路に対しても、容易に検証ベクタを生成することが可能となる。また、対象となる回路から当該回路自身を検証することができる。
【００２０】
また、本発明の検証ベクタの生成方法は、前記生成する工程が、前記回路からマッチングの対象とする素子を選択しスコープする工程と、素子レベルでのトポロジのマッチングを行う工程と、前記素子に対する検証内容を決定する工程とを有するものを含む。
この方法によれば、素子レベルでのマッチングを行うため、回路内に含まれる要素回路を抽出し、抽出された要素回路に対して、容易に検証を行うことが可能となる。
【００２１】
また、本発明の検証ベクタの生成方法は、前記生成する工程は、前記回路の対象となる機能記述から特徴ある記述を抽出し、前記抽出された記述を検証する検証ベクタを抽出する工程とを有するものを含む。
この方法によれば、機能記述から特徴ある記述を抽出することができるため、機能記述中に対して、容易に検証を行うことが可能となる。
【００２２】
また、本発明の検証ベクタの生成方法は、前記生成する工程は、前記回路から単位記述を抽出する工程と、前記単位記述での記述のマッチングを行う工程と、検証内容を決定する工程とを有するものを含む。
この方法によれば、記述単位でのマッチングを行うため、機能記述内の単位記述に対しても、容易に検証を行うことが可能となる。
【００２３】
また、本発明の検証ベクタの生成方法は、前記生成する工程は、前記回路についての前記機能記述から単位記述に変更する工程と、記述単位での記述のマッチングを行う工程と、検証内容を決定する工程とを有するものを含む。
この方法によれば、記述単位でのマッチングを行うため、機能記述内の単位記述に対しても、容易に検証を行うことが可能となる。
【００２４】
また、本発明の検証ベクタの生成方法は、前記生成する工程が、あらかじめ用意された回路特徴と検証ベクタとの対応情報とに基づいて、特徴ある回路を抽出する工程により抽出された回路特徴に対し、検証ベクタを生成するものを含む。
この方法によれば、抽出された回路特徴に対して、容易に検証ベクタを生成することが可能となる。
【００２５】
また、本発明の検証ベクタの生成方法は、前記生成する工程が、特徴ある記述を抽出する工程により抽出された記述特徴と、あらかじめ用意された記述特徴と検証ベクタとの対応情報に基づいて、検証ベクタを生成するものを含む。
この方法によれば、抽出された記述特徴に対して、容易に検証ベクタを生成することが可能となる。
【００２６】
また、本発明の検証ベクタの生成方法は、少なくとも一つの回路はレイアウト記述されているものを含む。
この方法によれば、レイアウト記述に対して、容易に検証ベクタを生成することが可能となる。
【００２７】
また、本発明の検証ベクタの生成方法は、前記生成する工程が、レイアウトから回路のトランジスタレベル記述を抽出する工程を含むものを含む。
この方法によれば、レイアウト記述に対して、トランジスタレベル記述と同様に、容易に検証ベクタを生成することが可能となる。
【００２８】
また、本発明の検証ベクタの生成方法は、レイアウトから抽出された回路の前記トランジスタレベル記述は、寄生素子情報を含んでいるものを含む。
この方法によれば、レイアウトから抽出したトランジスタ記述に寄生素子情報が含まれていても、容易に検証ベクタを生成することが可能となる。
【００２９】
また、本発明の検証ベクタの生成方法は、前記機能記述は、Verilog-A、Verilog-AMS記述のうち少なくとも１つであるものを含む。
この方法によれば、アナログ機能記述の標準言語であるVerilog-A、 Verilog-AMSに対して、容易に検証を行うことが可能となる。
【００３０】
また、本発明の検証ベクタの生成方法は、前記特徴ある回路はスイッチを意味するものを含む。
この方法によれば、スイッチ回路に対して、容易に検証ベクタを生成することが可能となる。
【００３１】
また、本発明の検証ベクタの生成方法は、特徴ある記述はスイッチを意味するものを含む。
この方法によれば、スイッチ回路の機能記述に対して、容易に検証ベクタを生成することが可能となる。
【００３２】
また、本発明の回路検証方法は、上記検証ベクタ生成方法で生成した検証ベクタを用いて、対象となる回路のうちの少なくとも1つの回路から当該回路の検証ベクタを抽出する工程と、抽出された前記検証ベクタを用いて前記回路を検証する工程とを含む。
この方法によれば、入力信号や検証を行う設計者の習熟度に依存しない回路検証が容易に可能である。
【００３３】
また、本発明の回路検証方法は、少なくとも２つ以上の回路が機能的に等価か否かを検証する工程を含むものを含む。
この方法によれば、容易に２つ以上の回路の等価性検証を行なうことが可能となる。また、トランジスタレベル回路、機能記述回路、レイアウト記述回路に対して、どのような組み合わせであっても回路表現の種類を問わず、容易に２つ以上の回路の等価性検証を行うことが可能となる。
【００３４】
また、本発明の回路検証方法は、前記抽出する工程は、レイアウト記述から前記回路のトランジスタレベル記述を抽出する工程を含み、前記検証する工程は、前記回路のトランジスタレベル記述から得られた検証ベクタを用いて回路検証する工程を含むものを含む。
この方法によれば、レイアウト記述から、回路図と等価なレベルでの回路検証を容易に行うことが可能である。
【００３５】
また、本発明の回路検証方法は、前記レイアウト記述から抽出された前記回路の前記トランジスタレベル記述は、寄生素子情報を含む。
この方法によれば、寄生素子情報を含んでいても、高精度の回路検証を容易に行うことが可能である。
【００３６】
また、望ましくは、前記レイアウト記述から抽出された前記回路の前記トランジスタレベル記述を用いて、前記抽出する工程で得られた回路のトランジスタレベル記述を回路検証する工程を含むものを含む。
この方法によれば、回路図とレイアウトとの等価性検証を容易に行うことが可能である。
【００３７】
また、本発明の回路検証方法は、前記生成する工程が、前記回路が特定の状態となる入力条件を抽出し、前記入力条件から回路が特定の状態となる検証ベクタを抽出する工程を有するものを含む。
この方法によれば、容易に特定状態の動作検証を行うことが可能である。
【００３８】
また、本発明の回路検証方法は、前記少なくとも一つの回路は機能記述のなされた回路であり、この回路を回路検証する工程を含むものを含む。
この方法によれば、機能記述の回路に対して、容易に回路検証を行うことが可能である。
【００３９】
また、本発明の回路検証方法は、前記検証する工程における検証結果を比較し特性あるいは機能が仕様と等価であるか否かの結果を判断する工程を有するものを含む。
この方法によれば、特性あるいは機能が仕様と、等価であるか否かの検証を容易に行うことが可能である。
【００４０】
また、本発明の回路検証方法は、前記判断する工程における結果の判断は、回路が特定の状態になっているかどうかに基づくものを含む。
この方法によれば、容易に回路が特定の状態になっているか検証を行うことが可能である。
【００４１】
また、本発明の回路検証方法は、入力信号の組み合わせを生成する工程と、回路が特定の状態かどうかを判定する工程とを備えたものを含む。
この方法によれば、いかなる場合に特定の状態を形成するかを容易に検証可能である。
【００４２】
また、本発明の回路検証方法は、特定の状態は、パワーダウン状態であるものを含む。
この方法によれば、容易にパワーダウン状態の検証が可能である。
【００４３】
また、本発明の回路検証方法は、前記抽出する工程により生成された検証ベクタと、特徴抽出手段により抽出された回路情報とより、テスト回路を生成する工程を備えているものを含む。
この方法によれば、回路情報からテスト回路を容易に生成することが可能であり、回路検証を容易に行うことが可能である。
【００４４】
また、本発明の回路検証方法は、前記抽出する工程により生成された検証ベクタと、特徴抽出手段により抽出された記述情報とより、テスト回路を生成する工程を備えているものを含む。
この方法によれば、記述情報からテスト回路を容易に生成することが可能であり、回路検証を容易に行うことが可能である。
【発明の効果】
【００４５】
本発明の検証ベクタ生成方法によれば、検証用ベクタを回路自身から作成するため、入力信号や検証を行う設計者の習熟度に依存することなく、検証ベクタを生成することが可能である。また、検証ベクタの生成を行う対象回路の表現手段は問わず、トランジスタレベル記述や機能記述やレイアウト記述であっても検証ベクタを生成可能である。
また本発明の電子回路検証方法によれば、アナログ回路または機能モデル単体でその回路自身を検証することが可能となる。この検証ベクタを用いることで、最小限の構成でアナログ回路または機能モデルの検証を行うことが可能となる。また、作成された回路検証環境を用いることで、２つ以上の回路の等価性を検証することが可能となる。等価性検証の対象の組み合わせは回路表現方法を問わず、いずれの組み合わせでも検証可能である。また、アナログ回路同士でも、機能モデル同士でも等価性を検証可能である。また、先にアナログ回路が存在し、後で機能モデルを作成するボトムアップ設計手法でも、この等価性検証法を使用することが可能となる。さらに、本発明の検証用ベクタを用いることで、最小限の構成で、アナログ回路が特定の動作条件になっていることを検証可能となる。
【発明を実施するための最良の形態】
【００４６】
以下、本発明の実施の形態を、図面を参照しながら説明する。
（実施の形態１）
図１は、本発明の電子回路の検証方法を示すフローチャートである。本実施の形態では、トランジスタレベル記述の一例としてＳＰＩＣＥネットリストが入力されたものとする。トランジスタレベル記述で入力された対象となる回路から特徴ある回路を抽出し、抽出された特徴ある回路を検証するベクタを抽出するようにしたことを特徴とする。
【００４７】
まず検証すべき回路が入力されると、そこで回路のフォーマットが判定される（３０１）。本実施の形態では、トランジスタレベル記述のＳＰＩＣＥネットリストが入力されるため、トランジスタレベル記述と判定される。
【００４８】
このようにして、フォーマットが判定された回路は、特徴ある回路を抽出する工程即ち特徴抽出ステップに入力される（３０２）。
【００４９】
入力された回路がトランジスタレベル記述である場合の、特徴抽出ステップの詳細なフローチャートを図２に示す。
入力されたＳＰＩＣＥネットリストは、ルールに記載されたトポロジと同じトポロジであるかマッチングが行われる（４０１）。
【００５０】
回路特定がなされたか否かの判断がなされ、トポロジのマッチングにより回路機能が特定されたら、回路機能に対してあらかじめ決められた検証項目を選択することで検証内容を決定する（４０２）。
一方回路が特定されていない場合はエラーとして処理フローを終了する。
【００５１】
図３は、図２のトポロジのマッチング（４０１）で使用されるルールファイルの例である。このルールは、図４に示すアナログスイッチ回路のトポロジのマッチング用ルールの例を示している。アナログスイッチ回路は、ＰＭＯＳとＮＭＯＳが対になってお互いドレインまたはソース同士が接続されている構成をとっている。このため、ルールファイルでも、お互いのドレインまたはソースに同じネット名が付与されていて、ゲートおよびバックゲートに違うネット名が付与されていれば、アナログスイッチと判定するようにルールが書かれている。
【００５２】
ここでトポロジマッチングを行った際、回路の接続情報も抽出する。すなわち、ルールファイルの中で示されたネット名と、回路機能が特定された回路で実際に使用されているネット名のマッピング情報を抽出する。
【００５３】
例えば図３と図４では、図３のネットＤ、Ｓ、Ｇ１、Ｇ２、Ｂ１、Ｂ２が、それぞれ図４のネットＶＯＵＴ、ＶＩＮ，ＳＷＩＴＣＨ，ＮＳＷＩＴＣＨ、０、ＶＤＤ！に、マッピングされるという接続情報が抽出される。
特徴抽出（３０２）で回路機能が判定されると、検証ベクタが生成される（３０３）。
【００５４】
図２３は、この検証ベクタ生成（３０３）をフローチャートにまとめたものである。
まず、検証内容が決定されたら（４０２）、回路機能に対してあらかじめ決められた規定の検証内容を選択する（２５０１）。アナログスイッチと判定された回路の規定の検証内容の例を図５に示す。これはスイッチがオンとなる条件を検証する内容であり、VDの電圧が高い条件をオンと判断することができる。これに、対象とする回路の固有情報として、あらかじめ指定された情報（２５０２）を加えて検証ベクタを生成する（２５０３）。このあらかじめ指定された対象とする回路の固有情報の例を図２４に示す。
【００５５】
この情報はプロセスから与えられる情報であり、この例では、電源電圧の値や温度条件・モデルパラメータなどが定義されている。また、生成された検証ベクタの例を図２５に示す。これは、図５と図２４が組み合わせて、図２５を構成している。このようにすることで、プロセスや検証条件などに応じた検証ベクタを生成することができる。
【００５６】
検証ベクタ生成（３０３）で生成された検証ベクタと、入力された回路図を組み合わせることで、テスト回路が生成される（３０４）。生成されたテスト回路の例を図２６に示す。これは、入力された回路（図４）Ａと検証ベクタ（図２５）Ｂと特徴抽出（３０２）で抽出した接続情報Ｃが組み合わされて生成されている。
【００５７】
もし、特徴抽出で複数の回路機能が発見された場合は、複数のテスト回路が生成されても良い。最後にテスト回路に対してシミュレーションを実行し（３０５）、結果を表示し（３０６）、結果を保存して終了する（３０７）。
【００５８】
本実施の形態では、入力された回路に対して自動的に回路機能を特定し、それに応じたテストベンチ回路を作成して検証を実行し、結果を表示させることが可能である。これにより、検証工数が削減される。また、設計者の習熟度に依存しない同一基準での回路検証を実現することが可能である。
【００５９】
なお、本実施の形態ではトランジスタレベル記述の一例としてＳＰＩＣＥネットリストを入力したが、機能記述の例として回路図を入力するようにしてもよい。この場合、回路図からネットリストを抽出するステップを設けることで、本実施の形態のＳＰＩＣＥネットリストが入力された場合と同様に扱うことが可能である。
【００６０】
（実施の形態２）
図１において、実施の形態１ではＳＰＩＣＥネットリストが入力された場合を想定して説明したが、本実施の形態では機能記述が入力された場合のフローを説明する。
機能記述が入力された場合の、特徴抽出（３０２）の詳細なフローチャートを図６に示す。
【００６１】
入力された機能記述は、記述を探索され、ルールに記載された記述があるかマッチングが行われる（８０１）。記述のマッチング（８０１）により回路機能の特定がなされたら、回路機能に対してあらかじめ決められた検証項目を選択することで検証内容を決定する（８０２）。
【００６２】
図７は、入力された機能記述の記述例である。このモジュールは、抵抗の記述例である。この例では記述言語として、Verilog-AまたはVerilog-AMSを用いているが、Verilog-HDL、VHDL、VHDL-A、VHDL-AMS、SystemVerilog、SystemVHDL、C、C＋＋、SystemC、Matlabなどの記述であっても良い。
【００６３】
図８は、図６の記述のマッチング（８０１）で使用されるルールファイルの例である。このルールは、図９に示す抵抗の記述のマッチング用ルールの例を示している。
図６の記述のマッチングステップ８０１において入力された回路の回路機能が特定されたら、回路機能に対してあらかじめ決められた検証内容を選択する。抵抗と判定された回路の検証内容の例を図１０に示す。これは抵抗の他端の電圧を上げていき、電流が抵抗値に応じて増加するかを検証する内容であり、これにより抵抗が正常に動作しているか否かを判断することができる。
【００６４】
以下、図１の検証ベクタの生成（３０３）以降の処理は実施の形態１と同様である。
【００６５】
（実施の形態３）
図１において、実施の形態１ではＳＰＩＣＥネットリストが入力された場合、実施の形態２では機能モデルが入力された場合を想定して説明したが、本実施の形態ではレイアウトデータが入力された場合のフローを説明する。
【００６６】
レイアウトデータが入力された場合の、特徴抽出ステップ（３０２）の詳細なフローチャートを図１１に示す。
【００６７】
入力されたレイアウトデータに基づき、レイアウトルールから素子やトポロジの抽出がなされる（１３０１）。図１２は素子やトポロジを抽出する際のレイアウトルールである。このルールは、レイヤー（層）名の定義、デバイスを認識するためのレイヤーの演算式、デバイスのサイズを計算する式、レイヤー間の配線のコンタクトルール、寄生素子の抽出ルールなどで構成されている。このルールを用いて図形処理を行うことによって、素子の認識や各レイヤーの接続などを認識することができる。
【００６８】
抽出された素子・トポロジは、例えばトランジスタレベル記述のネットリストとして出力される（１３０２）。この際、ここで用いられたネットリストがレイアウトの配線レイヤーにラベルが設定されているネットに関するものである場合は、そのラベル名をつけたネットリストを出力し、それらの入出力ピンとして登録する。
【００６９】
例えば、図１３に示されるアナログスイッチ回路のマスクレイアウトが、本実施の形態の電子回路の検証方法に入力されたとすると、レイアウトルールから素子とトポロジの抽出が行われる。この抽出結果は図１４に示すように、ＳＰＩＣＥネットリストの例の形で出力される。
【００７０】
出力されたトランジスタレベル記述のネットリストは、図２のトランジスタレベル記述が入力された際の特徴抽出フローチャートと同様の処理が行われる。以降の処理は、実施の形態１と同様である。
【００７１】
さらに、レイアウトから素子の接続関係だけでなく、ＬＰＥ（Layout Parasitic Extraction）等の方法により寄生素子を含めたトランジスタレベルのネットリストを抽出することにより、寄生素子も含めた回路特性の検証を行うことが可能である。一方、寄生素子を考慮しないのであれば、素子とトポロジのみについて検証を行った方が高速に検証することが可能である。
【００７２】
（実施の形態４）
図１において、前記実施の形態１ではトランジスタレベルの記述の一例としてＳＰＩＣＥネットリストが入力された場合の動作について説明した。実施の形態１では、入力された回路が、図１６に示すような複数の回路機能が組み合わさった回路であった場合、トポロジのマッチングを行うことができなかった。
【００７３】
本実施の形態では、この問題を解決するため、複数の回路が組み合わさった回路から、トポロジのマッチングルールに記載された特徴を持つ回路を部分的に抽出し、これに対して回路検証を行う方法を説明する。
【００７４】
図１に示した特徴抽出ステップ（３０２）の本実施の形態におけるフローチャートを図１５に示す。ここでは、本実施の形態の電子回路の検証方法に、図１６に示す回路が入力されたとして、その動作を説明する。
【００７５】
この回路に対し、図３に示したトポロジ探索ルールを用いて、特徴抽出を行う。まず入力された回路がこのトポロジ探索ルールに記載されたトポロジと同じトポロジであるか否かのマッチングが行われる（４０１）。
【００７６】
ここでマッチするルールは存在しないため、入力された回路の一部分がルールにマッチする箇所を検索する。まず、ルールに含まれる素子の１つを回路から選択しスコープする（１７０１）、その素子を基準にルールがマッチする素子を探索する（１７０２）。素子レベルでのトポロジのマッチングにより、ルールにマッチする回路が発見されれば、それを保存する。
【００７７】
例えば、図１６の回路のMN1にスコープし、ルールにあてはまる素子を探索する（１７０２）。このルールでは、MN1に対してソースまたはドレイン端子がPMOSのソースまたはドレイン端子に接続されている素子を探索すればよい。結果MP1が該当し、ルールにマッチしたと判定される。マッチしたルールが表現する回路機能と素子の情報は保存される。
【００７８】
MN1の探索が終わり、まだ終了条件を満たしていなければ、次にルールに含まれる素子としてMN2を選択してスコープし（１７０１）、ルールにあてはまる素子を探索する（１７０２）。結果、MP2が該当し、ルールにマッチしたと判定される。
【００７９】
この処理は終了条件を満たすまで実施される。終了条件の一例として、全素子がスコープになった、規定回数ループした、最初にマッチする回路が見つかるまで、指定した数までマッチする回路が見つかるまで、などを終了条件とし、これらをあらかじめ決定しておく。
【００８０】
発見された回路機能と素子の情報から、あらかじめ決められた検証内容を選択する（１７０３）。
以降の処理は、実施の形態１と同様である。
【００８１】
（実施の形態５）
図１において、実施の形態２では機能記述が入力された場合の動作を説明した。実施の形態２では、入力された回路が、図１７のような複数の記述が組み合わさった回路であった場合、記述のマッチングを行うことができなかった。
本実施の形態では、この問題を解決するため、複数の記述が組み合わさった回路から、記述のマッチングルールに記載された特徴を持つ記述を部分的に抽出し、これに対して回路検証を行う方法を説明する。
【００８２】
本実施の形態での特徴抽出ステップ（３０２）のフローチャートを図１８に示す。本実施の形態の電子回路の検証方法に、図１７に示す回路が入力されたとして、その動作を説明する。
【００８３】
この回路に対し、機能記述である図８に示す記述の探索ルールを用いて、特徴抽出を行う。まず入力された回路がルールに記載された記述と同じ記述であるかマッチングが行われる（４０１）。
【００８４】
ここでマッチするルールは存在しないため、入力された回路の一部分がルールにマッチする箇所を検索する。まず、記述の探索ルールを図１９に示すような単位記述での探索を行うルールに変更する（２００１）。単位記述とは、機能記述での文節区切り文字間の記述を指す。文節区切り文字とは、Verilog-Aでは";"（セミコロン）である。
【００８５】
次に、入力された機能記述の単位記述ごとに、ルールにマッチする記述を探索する。ここでルールにマッチする記述が見つかれば、それを保存する。図１７の回路に対して、図１９に示す単位記述での探索ルールを用いて記述を探索したとすると、５行目がルールにマッチし、そのマッチした記述とルールの回路機能が保存される。全ての単位記述に対してマッチングが終了すると、次のルールに変更して探索を行う。
【００８６】
この処理は終了条件を満たすまで実施される。終了条件の一例として、全ルールで探索を行った、規定回数ループした、最初にマッチする記述が見つかるまで、指定した数までマッチする回路が見つかるまで、などを終了条件とする。
発見された回路機能と記述の情報から、あらかじめ決められた検証内容を選択する（２００３）。
以降の処理は、実施の形態１と同様である。
【００８７】
（実施の形態６）
図２０は、本発明の電子回路の検証方法における、２つ以上の回路に対して同じ検証ベクタで検証を行い、それらの結果を比較する検証方法のフローチャートにまとめたものである。
図２０の３０１〜３０７の処理は、実施の形態１〜５と同様である（図３参照）。ここで入力された回路に対して、テストベクタを生成し（３０３）、テスト回路を生成し（３０４）、その結果を保存する（３０７）。
【００８８】
次に、別の回路に対し同じテストベクタで回路検証を行う場合、２２０１の条件判断がNoと判定され、回路検証を行いたい、別の回路を入力する（２２０２）。入力された回路に対して、３０３で生成した同じテストベクタを、別回路に対して入力できるようにテスト回路を生成する（３０４）。この際、入力される別の回路は、少なくともテストベクタが入力されるネット名が、先に入力された回路と同じであることを条件とする。
【００８９】
作成されたテスト回路に対して、検証を実行し（３０５）、その結果を保存する（３０７）。もし、さらに別の回路を入力して検証を実施する場合は、２２０１の条件判断でNoと判断され、再度検証処理が実行される。
【００９０】
このようにして、全ての回路で検証が終了したら、それぞれの回路での検証結果を比較する（２２０３）。この比較では、波形間の平均二乗誤差や差の割合、スイッチがオンとなる制御信号の値、波形のあるポイントでの値の差（例えば、ある時間での電圧値）などで比較される。
【００９１】
このステップで、あらかじめ定義された許容誤差以内であれば、結果が一致したと判定を行うことで、元の回路と、同じテストベクタで検証を行った回路の等価性を検証することが可能である。
【００９２】
この等価性検証では、比較対象回路のフォーマットはどのような組み合わせでも問題なく、トランジスタレベルと機能記述の等価検証についても検証可能であり、またトランジスタレベル記述の回路同士や機能記述の回路同士でも等価性検証可能である。
【００９３】
さらに、比較を行う際、比較のベースとなる回路のフォーマットはどのフォーマットでも問題なく、最初に入力された回路が比較のベースとなる。このため、トップダウン設計を行った際、機能モデルが先に存在し、後にアナログ回路を設計し、この機能モデルとアナログ回路の等価性を検証したい場合は、機能記述を比較のベースとなる回路として最初に入力すればよい。
【００９４】
逆に、ボトムアップ設計を行った際、先にアナログ回路が存在し、後に機能記述を作成した場合は、アナログ回路を比較のベースとなる回路として最初に入力すればよい。このように、本実施の形態の等価性検証方法は、トップダウン・ボトムアップの両設計手法に対応することが可能である。
【００９５】
さらに本発明によれば、レイアウト後の回路特性が、トランジスタレベルあるいは機能レベルにおける特性と等価かどうかの検証を行うことが可能である。また、レイアウト修正を行った場合には、レイアウト修正前後の特性の等価検証を行うことが可能である。
【００９６】
（実施の形態７）
図２１は本発明の電子回路の検証方法における回路が特定の状態となる条件を抽出する方法のフローチャートである。
図２１において、本検証フローでは、入力端子が指定された回路が入力されると（２３０１）、入力端子に対して検証ベクタを入力可能なテスト回路を生成し（２３０２）、回路に入力する検証ベクタの組み合わせを生成する（２３０３）。生成された検証ベクタが入力されたテスト回路に対して各素子の動作状態を判定し（２３０４）、そのとき入力された回路が特定の状態になっているか否かを検証する（２３０５）。
【００９７】
もし、特定の状態になっていれば、結果を保存する（２３０６）。そして順次検証ベクタのパターンを入力し、入力する検証ベクタが取りうる全ての組み合わせの検証が完了したか否かを判定する（２３０７）。そして完了していなければ、２３０３に戻って再度検証を行う。もし、入力する検証ベクタに対して取りうる全ての組み合わせで検証が完了していれば、入力された回路が特定の状態となる入力ベクタを表示して終了する（２３０８）。
【００９８】
次に、本実施の形態において、抽出する回路の特定の状態がパワーダウン状態となる入力信号条件を抽出する場合のフローを説明する。検証ベクタの電圧は、回路に含まれる素子がオンまたは遮断状態となる２つの電圧を与える。例えば、入力された回路の電源電圧とグランド電圧を与えるとする。検証ベクタは、全入力端子に対して、この２つの電圧の組み合わせとして与える。
【００９９】
まず入力端子・電源端子・グラウンド端子が指定された回路が入力されると（２３０１）、入力端子に対して電源電圧値またはグラウンド電圧を与えることが可能なテスト回路を生成する（２３０２）。回路に入力される検証ベクタは、入力端子に対して電源電圧値とグラウンド電圧の２値の組み合わせで構成される（２３０３）。生成され検証ベクタを入力されたテスト回路に対して各素子の動作状態を判定し、そのとき入力された回路がパワーダウンの状態になっているかを検証する（２３０４）。
【０１００】
図２２は、パワーダウン状態と判定するステップをフローチャートで示した図である。まず、テスト回路の検証ベクタの値によって、入力された回路の各素子の動作状態を判定する（２４０１）。パワーダウンを判定する場合、トランジスタがオンになっているか遮断になっているかを判定する。
【０１０１】
次に、オンになっているトランジスタはドレイン端子とソース端子が接続されていると判断し、遮断となっているトランジスタはドレイン端子とソース端子の間でトポロジが切れていると判断し、容量は常に遮断と判断して、電源端子として指定されたノードからトポロジを探索し、グラウンドへとつながるノードがないか全ノードを探索する（２４０２）。
【０１０２】
このとき、グラウンドへとつながるノードがみつからなければ、残りの電源端子に対して同様の処理を行う。全電源端子に対してこの処理を行い、それでもグラウンドへつながるノードがなければ、その検証ベクタはパワーダウン状態と判断され、その検証ベクタが保存される（２３０６）。もし、グラウンドへつながるノードが発見されれば、そこで処理を中止する。全検証ベクタで同様の処理を行い、パワーダウンと判断された検証ベクタの条件を表示して終了する（２３０８）。この結果表示の際、電源電圧を入力した端子の値を１とし、グラウンド電圧を入力した端子の値を０として、入力論理の簡単化を行うとよりわかりやすい。
【０１０３】
このようにすることで、入力された回路からパワーダウン条件を抽出することが可能であり、その結果が仕様と合致するかを確認することで、回路の制御信号の論理間違いなどを低減することが可能となる。
【産業上の利用可能性】
【０１０４】
本発明にかかる電子回路の検証方法は、回路検証用ベクタを検証対象回路から抽出してくる工程を有し、ＳＯＣを設計する際の機能モデルとアナログ回路の等価性の検証等に有用である。また、特定の動作条件の確認等にも有用である。
【図面の簡単な説明】
【０１０５】
【図１】本発明の実施の形態１における電子回路の検証方法のフローチャートである。
【図２】特徴抽出（３０２）の詳細なフローチャートである。
【図３】トポロジ探索ルールの一例である。
【図４】入力されるトランジスタレベル記述の回路の一例である。
【図５】規定の検証内容の一例である。
【図６】本発明の実施の形態２の特徴抽出（３０２）の詳細なフローチャートである。
【図７】入力される機能記述の回路の一例である。
【図８】記述探索ルールの一例である。
【図９】機能記述を回路図で表記した一例である。
【図１０】検証内容の一例である。
【図１１】本発明の実施の形態３の特徴抽出（３０２）の詳細なフローチャートである。
【図１２】レイアウトルールの一例である。
【図１３】入力されるレイアウトの一例である。
【図１４】レイアウトから抽出されたトランジスタレベル記述の一例である。
【図１５】特徴抽出（３０２）の詳細なフローチャートである。
【図１６】本発明の実施の形態４で入力されるトランジスタレベル記述の回路の一例である。
【図１７】本発明の実施の形態５で入力される機能記述の回路の一例である。
【図１８】特徴抽出（３０２）の詳細なフローチャートである。
【図１９】単位記述ごとの記述探索ルールの一例である。
【図２０】本発明の実施の形態６における電子回路の検証方法のフローチャートである。
【図２１】本発明の実施の形態７における電子回路の検証方法のフローチャートである。
【図２２】図２１の回路の状態判定（２３０４）におけるパワーダウン状態であるかを判断する詳細なフローチャートである。
【図２３】検証ベクタ生成のフローチャートである。
【図２４】回路固有の情報の一例である。
【図２５】検証ベクタの一例である。
【図２６】テスト回路の一例である。
【図２７】従来の電子回路の検証方法の概略フローチャート図である。
【図２８】従来の電子回路検証方法の流れを示した概念図である。
【符号の説明】
【０１０６】
Ａ  入力された回路
Ｂ  検証ベクタ
Ｃ  接続情報
【図１】
2006031277.tif 000003
【図２】
2006031277.tif 000004
【図３】
2006031277.tif 000005
【図４】
2006031277.tif 000006
【図５】
2006031277.tif 000007
【図６】
2006031277.tif 000008
【図７】
2006031277.tif 000009
【図８】
2006031277.tif 000010
【図９】
2006031277.tif 000011
【図１０】
2006031277.tif 000012
【図１１】
2006031277.tif 000013
【図１２】
2006031277.tif 000014
【図１３】
2006031277.tif 000015
【図１４】
2006031277.tif 000016
【図１５】
2006031277.tif 000017
【図１６】
2006031277.tif 000018
【図１７】
2006031277.tif 000019
【図１８】
2006031277.tif 000020
【図１９】
2006031277.tif 000021
【図２０】
2006031277.tif 000022
【図２１】
2006031277.tif 000023
【図２２】
2006031277.tif 000024
【図２３】
2006031277.tif 000025
【図２４】
2006031277.tif 000026
【図２５】
2006031277.tif 000027
【図２６】
2006031277.tif 000028
【図２７】
2006031277.tif 000029
【図２８】
2006031277.tif 000030