(57)【要約】【課題】回路シミュレーション用のネットリストに基づいて、当該回路のファンアウトを計算できるようにすること。【解決手段】回路設計検証装置は、半導体素子レベルの回路シミュレーション用のネットリストを、論理を構成する複数の駆動回路に分割するネットリスト分割部と、前記複数の駆動回路のそれぞれに含まれるＭＯＳトランジスタのゲート長およびゲート幅からゲートサイズを算出するゲートサイズ算出部と、前記複数の駆動回路のそれぞれによって駆動される後段の素子の負荷容量を算出する負荷容量算出部と、算出されたゲートサイズおよび算出された負荷容量に基づいて、前記複数の駆動回路のそれぞれに対するファンアウトを算出するファンアウト算出部と、を備えている。【選択図】図１
2012203626.tif 000002
【特許請求の範囲】
【請求項１】
半導体素子レベルの回路シミュレーション用のネットリストを、論理を構成する複数の駆動回路に分割するネットリスト分割部と、
前記複数の駆動回路のそれぞれに含まれるＭＯＳトランジスタのゲート長およびゲート幅からゲートサイズを算出するゲートサイズ算出部と、
前記複数の駆動回路のそれぞれによって駆動される後段の素子の負荷容量を算出する負荷容量算出部と、
算出されたゲートサイズおよび算出された負荷容量に基づいて、前記複数の駆動回路のそれぞれに対するファンアウトを算出するファンアウト算出部と、を備えていることを特徴とする、回路設計検証装置。
【請求項２】
前記ネットリストに含まれるトランスファーゲートを抽出するトランスファーゲート抽出部をさらに備え、
前記負荷容量算出部は、前記複数の駆動回路のそれぞれと、前記複数の駆動回路のそれぞれによって駆動される後段の素子との間に、抽出されたトランスファーゲートが接続されている場合には、該後段の素子に対する負荷容量に該トランスファーゲートの拡散層容量を組み入れることを特徴とする、請求項１に記載の回路設計検証装置。
【請求項３】
前記ゲートサイズは、インバータ換算のゲートサイズであることを特徴とする、請求項１または２に記載の回路設計検証装置。
【請求項４】
算出されたファンアウトを所定の閾値によってフィルタリングして出力する出力部を備えていることを特徴とする、請求項１ないし３のいずれか１項に記載の回路設計検証装置。
【請求項５】
半導体素子レベルの回路シミュレーション用のネットリストを、論理を構成する複数の駆動回路に分割する工程と、
前記複数の駆動回路のそれぞれに含まれるＭＯＳトランジスタのゲート長およびゲート幅からゲートサイズを算出する工程と、
前記複数の駆動回路のそれぞれによって駆動される後段の素子の負荷容量を算出する工程と、
算出されたゲートサイズおよび算出された負荷容量に基づいて、前記複数の駆動回路のそれぞれに対するファンアウトを算出する工程と、を含むことを特徴とする、設計回路検証方法。
【請求項６】
前記ネットリストに含まれるトランスファーゲートを抽出する工程と、
前記複数の駆動回路のそれぞれと、前記複数の駆動回路のそれぞれによって駆動される後段の素子との間に、抽出されたトランスファーゲートが接続されている場合には、該後段の素子に対する負荷容量に該トランスファーゲートの拡散層容量を組み入れる工程と、を含むことを特徴とする、請求項５に記載の設計回路検証方法。
【請求項７】
前記ゲートサイズは、インバータ換算のゲートサイズであることを特徴とする、請求項５または６に記載の設計回路検証方法。
【請求項８】
算出されたファンアウトを所定の閾値によってフィルタリングして出力する工程を含むことを特徴とする、請求項５ないし７のいずれか１項に記載の設計回路検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は回路設計検証装置および回路設計検証方法に関し、特に、大規模な回路の設計検証を行なう回路設計検証装置および回路設計検証方法に関する。
【背景技術】
【０００２】
半導体回路の動作を検証するには、すべてのＭＯＳトランジスタを対象とした回路シミュレーション（過渡解析）を行う必要がある。しかしながら、大規模回路に対する回路シミュレーションを行うには、膨大な計算時間を必要とする。また、シミュレーション結果として出力された膨大な波形をチェックする作業にも、多くの時間を費やす必要がある。
【０００３】
そこで、例えば、特許文献１および特許文献２において、ファンアウトを計算して回路動作を検証するシステムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−０９１３２５号公報
【特許文献２】特開２００５−１１５９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下の分析は、本発明者によってなされたものである。
【０００６】
特許文献１および特許文献２に記載されたシステムは、ＮＡＮＤ回路、ＮＯＲ回路のように、構成が決まった特定の回路を対象としている。しかし、ＤＲＡＭのような大規模アナログ回路においては、ＮＡＮＤ回路およびＮＯＲ回路以外の回路が複雑に組み合わされている。これらの文献に記載された技術によると、特定の回路以外の駆動回路が接続された回路構成において、ファンアウトを計算することが困難となる。
【０００７】
また、駆動回路のファンアウトを計算して回路動作検証を行なう従来の方法によると、回路シミュレーションのネットリスト以外に、データベース等の多くの情報を駆動回路ごとに予め用意する必要があり、操作性が損なわれる。
【０００８】
そこで、回路シミュレーション用のネットリストに基づいて、当該回路のファンアウトを計算できるようにすることが課題となる。
【課題を解決するための手段】
【０００９】
本発明の第１の視点に係る回路設計検証装置は、
半導体素子レベルの回路シミュレーション用のネットリストを、論理を構成する複数の駆動回路に分割するネットリスト分割部と、
前記複数の駆動回路のそれぞれに含まれるＭＯＳトランジスタのゲート長およびゲート幅からゲートサイズを算出するゲートサイズ算出部と、
前記複数の駆動回路のそれぞれによって駆動される後段の素子の負荷容量を算出する負荷容量算出部と、
算出されたゲートサイズおよび算出された負荷容量に基づいて、前記複数の駆動回路のそれぞれに対するファンアウトを算出するファンアウト算出部と、を備えている。
【００１０】
本発明の第２の視点に係る回路設計検証方法は、
コンピュータが、半導体素子レベルの回路シミュレーション用のネットリストを、論理を構成する複数の駆動回路に分割する工程と、
前記複数の駆動回路のそれぞれに含まれるＭＯＳトランジスタのゲート長およびゲート幅からゲートサイズを算出する工程と、
前記複数の駆動回路のそれぞれによって駆動される後段の素子の負荷容量を算出する工程と、
算出されたゲートサイズおよび算出された負荷容量に基づいて、前記複数の駆動回路のそれぞれに対するファンアウトを算出する工程と、を含む。
【発明の効果】
【００１１】
本発明に係る回路設計検証装置および回路設計検証方法によると、回路シミュレーション用のネットリストに基づいて、当該回路のファンアウトを計算することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】第１ないし第３の実施形態に係る回路設計検証装置の構成を示すブロック図である。
【図２】第１の実施形態に係る回路設計検証装置の動作を説明するための図である。
【図３】第１の実施形態に係る回路設計検証装置の動作を示すフローチャートである。
【図４】第１の実施形態に係る回路設計検証装置におけるネットリスト分割部の動作について説明するための図である。
【図５】第１の実施形態に係る回路設計検証装置におけるゲートサイズ算出部の動作について説明するための図である。
【図６】第１の実施形態に係る回路設計検証装置における負荷容量算出部の動作について説明するための図である。
【図７】第１の実施形態に係る回路設計検証装置におけるファンアウト算出部の動作について説明するための図である。
【図８】第２の実施形態に係る回路設計検証装置の動作について説明するための図である。
【図９】第３の実施形態に係る回路設計検証装置の動作について説明するための図である。
【発明を実施するための形態】
【００１３】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００１４】
図１を参照すると、本発明の回路設計検証装置（１０）は、半導体素子レベルの回路シミュレーション用のネットリスト（２０）を、論理を構成する複数の駆動回路に分割するネットリスト分割部（１１）と、前記複数の駆動回路のそれぞれに含まれるＭＯＳトランジスタのゲート長およびゲート幅からゲートサイズを算出するゲートサイズ算出部（１２）と、前記複数の駆動回路のそれぞれによって駆動される後段の素子の負荷容量を算出する負荷容量算出部（１３）と、算出されたゲートサイズおよび算出された負荷容量に基づいて、前記複数の駆動回路のそれぞれに対するファンアウトを算出するファンアウト算出部（１４）と、を備えている。
【００１５】
また、回路設計検証装置（１０）は、ネットリスト（２０）に含まれるトランスファーゲートを抽出するトランスファーゲート抽出部（１５）をさらに備え、負荷容量算出部（１３）は、前記複数の駆動回路のそれぞれと、前記複数の駆動回路のそれぞれによって駆動される後段の素子との間に、抽出されたトランスファーゲートが接続されている場合には、該後段の素子に対する負荷容量に該トランスファーゲートの拡散層容量を組み入れるようにしてもよい。
【００１６】
ここで、上記のゲートサイズを、インバータ換算のゲートサイズとしてもよい。
【００１７】
また、回路設計検証装置（１０）は、算出されたファンアウトを所定の閾値によってフィルタリングして出力する出力部（１６）を備えていてもよい。
【００１８】
本発明に係る回路設計検証装置は、半導体素子レベルの回路シミュレーション用ネットリストからファンアウトを計算する。これにより、回路動作検証を容易にかつ高速に行なう。また、本発明に係る回路設計検証装置によると、シミュレーション用のネットリストに基づいて、大規模な回路に対する動作検証を行うことが可能となる。
【００１９】
（実施形態１）
第１の実施形態に係る回路設計検証装置について、図面を参照して説明する。図１は、本実施形態に係る回路設計検証装置１０の構成を一例として示すブロック図である。図１を参照すると、回路設計検証装置１０は、ネットリスト分割部１１、ゲートサイズ算出部１２、負荷容量算出部１３、ファンアウト算出部１４、および、出力部１６を備えている。
【００２０】
図２は、回路設計検証装置１０の動作の概要を説明するための図である。図２を参照すると、全体回路の駆動回路へのグループ化が行われ、駆動回路ごとにファンアウトが計算される様子が示されている。
【００２１】
まず、ネットリスト分割部１１は、全体回路を表すネットリスト２０に対し、前処理として、回路の階層展開、抵抗素子削除、ＭＯＳトランジスタの直列・並列縮退を行なう。次に、ネットリスト分割部１１は、これらの操作を施したネットリストを、論理を構成する駆動回路ＤＲ１〜ＤＲ６のグループに分ける。
【００２２】
ゲートサイズ算出部１２は、駆動回路ごとに、ＭＯＳのゲート長およびゲート幅を算出する。次に、ゲートサイズ算出部１２は、算出した駆動回路のゲート長およびゲート幅から代表的なゲートサイズを計算する。代表的なゲートサイズとして、一例として、インバータ換算のゲートサイズ（以下「等価ゲートサイズ」という。）を採用してもよい。一方、負荷容量算出部１３は、駆動回路の出力部分と後段の素子の接続関係を検索して、素子のゲート容量、拡散層容量及び配線容量から負荷に相当する合計容量を計算する。
【００２３】
ファンアウト算出部１４は、等価ゲートサイズと負荷容量からファンアウトを計算する。これらの操作をすべての駆動回路に対して行うことで、高速かつ容易に回路全体についての回路動作検証が可能となる。
【００２４】
図３は、本実施形態に係る回路設計検証装置１０の動作を一例として示すフローチャートである。図３を参照して、回路設計検証装置１０の動作について説明する。
【００２５】
通常、回路シミュレーション用のネットリストは、回路ブロック毎に階層化されている。ネットリスト分割部１１は、この階層化されたネットリストを階層展開する（ステップＳ１）。次に、ネットリスト分割部１１は、ネットリストから、ファンアウト計算に不要な抵抗素子を削除し、ＭＯＳ素子の直列・並列縮退を施す（ステップＳ２）。次に、ネットリスト分割部は、ネットリストを、論理を構成する駆動回路のグループへ分割する（ステップＳ３）。
【００２６】
ゲートサイズ算出部１２は、駆動回路のファンアウトを計算するために、駆動回路ごとに等価ゲートサイズを計算する（ステップＳ４）。
【００２７】
次に、負荷容量算出部１３は、駆動回路の出力と接続されている素子を検索する（ステップＳ５）。負荷容量算出部１３は、駆動回路に接続されている素子のゲート容量や拡散層容量から合計容量を計算して、負荷容量とする（ステップＳ６）。
【００２８】
次に、ファンアウト算出部１４は、計算した駆動回路の等価ゲートサイズと負荷容量のバランス比率を計算する。この比率が、駆動回路のファンアウトとなる（ステップＳ７）。
【００２９】
すべての駆動回路に対して、等価ゲートサイズの計算（ステップＳ４）、接続関係の検索（ステップＳ５）、負荷容量の計算（ステップＳ６）、および、ファンアウトの計算（ステップＳ７）を繰り返して行なう（ステップＳ８）。
【００３０】
最後に、出力部１６は、求めたファンアウトを、一例として、ファイルに出力する（ステップＳ９）。なお、出力部１６は、ファイルに出力する際、閾値によってフィルタリングするようにしてもよい。これにより、検証に要する工数を削減することができる。
【００３１】
図４は、ネットリスト分割部１１の動作について説明するための図である。図４を参照して、設計回路中の全ＭＯＳトランジスタに対して論理を構成する駆動回路にグループ分けする方法について説明する。
【００３２】
ネットリスト分割部１１は、階層展開や抵抗を削除したネットリストに対して、トランジスタの接続関係を検索する。検索は、一例として、トランジスタのソース・ドレイン端子を交点とし、電源・グランド（対地）を終端とするようなグラフ理論に基づく幅優先探索で行なうことができる。このルールでグループ化した回路は、ゲート端子を入力とし、ＰＭＯＳトランジスタ（以下、単に「ＰＭＯＳ」という。）とＮＭＯＳトランジスタ（以下、単に「ＮＭＯＳ」という。）の共有節点を出力とする駆動回路となる。容量素子（例えば、図４の容量素子Ｃ１１）は、そのまま負荷容量に組み入れる。
【００３３】
例えば、図４の左側に示した駆動回路ＤＲ７において、ＰＭＯＳ  Ｐ４とＮＭＯＳ  Ｎ３の共有節点が出力接点となる。また、図４の中央に示した駆動回路ＤＲ８において、ＰＭＯＳ  Ｐ６とＮＭＯＳ  Ｎ６の共有節点が出力接点となる。さらに、図４の右側に示した駆動回路ＤＲ９において、ＰＭＯＳ  Ｐ７とＮＭＯＳ  Ｎ７の共有節点が出力節点となる
【００３４】
図５は、ゲートサイズ算出部１２の動作について説明するための図である。図５を参照して、駆動回路を代表するゲート長（「等価ゲートサイズ」という。）を計算する方法について説明する。ここでは、駆動回路を構成するＭＯＳに制限を与えないインバータ換算のゲート長を求める方法を示す。
【００３５】
等価ゲートサイズを求めるには、出力に相当する節点（例えば、図５のＰＭＯＳ  Ｐ１３とＮＭＯＳ  Ｎ１２との共有節点）から駆動回路のグループの終端になる電源・グランド（対地）までを、グラフ理論に基づく深さ優先探索で経路検索する。直列接続されたＭＯＳ同士についてはゲート長およびゲート幅を合成し、並列接続されたＭＯＳについては別の等価ゲートサイズとして計算すればよい。図５においては、経路１および経路２のそれぞれに沿って計算されたゲートサイズが、等価ゲートサイズとなる。
【００３６】
図６は、負荷容量算出部１３の動作について説明するための図である。図６を参照して、ＭＯＳトランジスタのゲート容量や拡散層容量の計算方法について説明する。負荷容量算出部１３は、駆動回路ＤＲ１０の出力節点に接続されているすべてのＭＯＳ素子のゲート端子やソース・ドレイン端子の容量及び配線容量を算出し、総合計を求める。この合計した容量が、駆動回路ＤＲ１０に対する負荷容量となる。
【００３７】
図７は、ファンアウト算出部１４の動作について説明するための図である。図７を参照して、図５において算出された等価ゲートサイズと、図６において算出された負荷容量とのバランス比率を求める方法を示す。
【００３８】
まず、ファンアウト算出部１４は、等価ゲートサイズから容量を求める。次に、ファンアウト算出部１４は、求めた容量を使用して、図７において点線で囲んだ組み合わせのように、ＰＭＯＳ  Ｐ３１側およびＮＭＯＳ  Ｎ３１側のそれぞれについて容量の比を計算する。この比の計算をすべての駆動回路に対して行うことで、ＭＯＳトランジスタに対する駆動能力を求めることができる。
【００３９】
（実施形態２）
第２の実施形態に係る回路設計検証装置について、図面を参照して説明する。図１を参照すると、本実施形態の回路設計検証装置１０は、さらに、トランスファーゲート抽出部１５を備えている。
【００４０】
図８は、本実施形態に係る回路設計検証装置の動作について説明するための図である。図８を参照して、駆動回路ＤＲ１１と負荷容量との間にトランスファーゲートが存在する場合の処理方法について説明する。図８において、負荷容量は、ＰＭＯＳ  Ｐ４２およびＮＭＯＳ  Ｎ４２のゲート容量である。
【００４１】
トランスファーゲートは信号を制御・通過させる回路であり、負荷容量として取り扱うことができる。トランスファーゲートはＰＭＯＳとＮＭＯＳが対になった回路であり、容易に識別することができる。図８を参照すると、ＰＭＯＳ  Ｐ４１とＮＭＯＳ  Ｎ４１とから成るトランスファーゲートが、駆動回路と駆動回路によって駆動される後段の素子（ＰＭＯＳ  Ｐ４２およびＮＭＯＳ  Ｎ４２）との間に設けられている。
【００４２】
トランスファーゲート抽出部１５は、全体回路のグループ化を行なう前に、まず、トランスファーゲート回路を識別する。負荷容量算出部１３は、駆動回路間の接続関係を調べる際に、図８に示すように、トランスファーゲートが挟まれている場合には、トランスファーゲートの後段に接続された合計容量に対して、トランスファーゲート自身の拡散層容量を組み入れて負荷容量を算出する。
【００４３】
（実施形態３）
第３の実施形態に係る回路設計検証装置について、図面を参照して説明する。図９は、本実施形態に係る回路設計検証装置の動作について説明するための図である。図９を参照して、抵抗素子を削除する代わりに抵抗素子を容量換算し、負荷容量として組み入れる方法について説明する。
【００４４】
図９を参照すると、抵抗素子を容量換算する場合には、抵抗値をＭＯＳトランジスタがオンしたときのＯＮ抵抗に置き換える。ＭＯＳに置き換えることができれば、さらに、トランスファーゲートに置き換えることができる。トランスファーゲートに置き換えた場合には、拡散層容量とみなすことができる。
【００４５】
以上のようにして、抵抗素子を負荷容量に変換することができる。したがって、本実施形態によると、第１の実施形態と異なり、ネットリストを駆動回路に分割する前に抵抗素子を削除する必要がなくなる。
【００４６】
本発明に係る回路設計検証装置は、概略以下の動作にしたがって、ネットリストからファンアウトを計算する。
（１）まず、半導体素子レベルの回路シミュレーション用ネットリストから論理を構成する駆動回路にグループ分けして駆動回路の接続に組み直す。
（２）次に、ネットリストをグループ分けして接続を組み直した駆動回路ごとに、ＭＯＳトランジスタのゲート長およびゲート幅からＭＯＳのゲートサイズを求め、回路能力の指標となる駆動能力を算出する。
（３）次に、駆動回路が駆動すべき後段の素子の接続関係を検索し、素子のゲート容量または拡散層容量、および、配線容量から合計容量を求め、負荷の指標となる負荷容量を算出する。
（４）次に、駆動回路の代表的なゲートサイズと負荷容量との比から、ファンアウトを算出する。
（５）算出した結果をユーザが指定した閾値でフィルタリングしてファイル等に出力する。
【００４７】
かかる回路設計検証装置によると、以下の効果がもたらされる。
【００４８】
第１に、全ＭＯＳトランジスタの回路シミュレーションを行うことなく、ＭＯＳトランジスタレベルの駆動能力を検証することができる。
【００４９】
第２に波形を目視することに頼らず、数値結果に基づく客観的な設計検証が可能となる。
【００５０】
第３に、ＮＡＮＤ回路、ＮＯＲ回路のみならず、複雑な組み合わせを有する回路を検証することができる。
【００５１】
第４に、データベース等の特別な情報を用意することなく、回路シミュレーション用ネットリストからファンアウトを計算することができる。
【００５２】
以上のことから、本発明に係る回路設計検証装置および回路設計検証方法によると、大規模アナログ回路の検証工数を大幅に短縮することができる。
【００５３】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００５４】
１０    回路設計検証装置
１１    ネットリスト分割部
１２    ゲートサイズ算出部
１３    負荷容量算出部
１４    ファンアウト算出部
１５    トランスファーゲート抽出部
１６    出力部
２０    ネットリスト
ＤＲ１〜ＤＲ１１    駆動回路
Ｃ１、Ｃ２、Ｃ１１、Ｃ２１、Ｃ３１    容量素子
Ｎ１〜Ｎ７、Ｎ１１〜Ｎ１３    ＮＭＯＳトランジスタ
Ｎ２１、Ｎ２２、Ｎ３１、Ｎ４１、Ｎ４２、Ｎ５１      ＮＭＯＳトランジスタ
Ｐ１〜Ｐ７、Ｐ１１〜Ｐ１３    ＰＭＯＳトランジスタ
Ｐ２１、Ｐ２２、Ｐ３１、Ｐ４１、Ｐ４２、Ｐ５１、Ｐ５２    ＰＭＯＳトランジスタ
【図１】
2012203626.tif 000003
【図２】
2012203626.tif 000004
【図３】
2012203626.tif 000005
【図４】
2012203626.tif 000006
【図５】
2012203626.tif 000007
【図６】
2012203626.tif 000008
【図７】
2012203626.tif 000009
【図８】
2012203626.tif 000010
【図９】
2012203626.tif 000011