(57)【特許請求の範囲】
【請求項１】
半導体回路の設計情報を入力する設計情報入力手段と、
前記設計情報入力手段によって入力された設計情報から前記半導体回路を構成する複数の能動素子を結ぶ信号線に寄生する寄生素子を検索する寄生素子検索手段と、
前記複数の能動素子のうち、各能動素子と次段の能動素子との間の時定数を、これら能動素子を結ぶ信号線に寄生する、前記寄生素子検索手段によって検索された寄生素子を含めて算出する時定数算出手段と、
前記時定数算出手段によって算出された時定数に関する情報を前記半導体回路の設計情報の少なくとも一部と関連づけて出力する時定数情報出力手段と
を具備し、
前記設計情報は、前記能動素子について予め設定した検証内容に沿った動作状態を指定する能動素子動作状態情報を含み、
前記時定数算出手段は、前記設計情報を基に検証対象の能動素子が特定されると、前記設定情報から当該能動素子に関する能動素子動作状態情報を抽出すると共に、この能動素子動作状態情報にて指定される前記能動素子の動作状態に適合する時定数を求める計算式を、予め用意した検証対象の半導体回路を構成する能動素子の各動作状態にそれぞれ適合する時定数を求める複数の計算式の中から選択し、当該計算式により前記能動素子の動作状態に合致した時定数の算出を行う半導体回路設計検証装置。
【請求項２】
時定数算出手段は、各能動素子及び次段の能動素子の抵抗成分及び容量成分ならびに寄生素子を１つの合成抵抗と１つの合成容量の組み合わせに置き換えて時定数を算出することを特徴とする請求項１記載の半導体回路設計検証装置。
【請求項３】
所定の基準時定数の値が格納されている格納手段と、時定数算出手段によって算出された時定数と前記格納手段に格納されている前記所定の基準時定数の値とを比較する比較手段とをさらに有し、時定数情報出力手段は前記比較手段による比較の結果、前記基準時定数よりも大きい値の時定数に関する情報を出力することを特徴とする請求項１または請求項２記載の半導体回路設計検証装置。
【請求項４】
時定数算出手段は入力された半導体回路の設計情報中の、ユーザによって選択された信号線を含むパスの時定数を算出して時定数情報出力手段に送出することを特徴とする請求項１から請求項３のうちのいずれか１項記載の半導体回路設計検証装置。
【請求項５】
時定数算出手段は入力された半導体回路の設計情報が、設計変更により更新されている場合には、半導体回路の設計変更された部分に対して時定数の算出を実行する請求項１から請求項３のうちのいずれか１項記載の半導体回路設計検証装置。
【請求項６】
半導体回路にバス配線を含む場合には、時定数算出手段はバス配線までの領域とバス配線後の領域とに分割して、それぞれの領域で独立に時定数の算出を実行することを特徴とする請求項１から請求項５のうちのいずれか１項記載の半導体回路設計検証装置。
【請求項７】
時定数情報出力手段は時定数算出手段によって算出された時定数に関する情報を時定数の値の大きい方から順に出力する請求項１から請求項６のうちのいずれか１項記載の半導体回路設計検証装置。
【請求項８】
時定数情報出力手段は時定数算出手段によって算出された時定数に関する情報を半導体回路の論理回路図の信号線に対応づけて出力することを特徴とする請求項１から請求項６のうちのいずれか１項記載の半導体回路設計検証装置。
【請求項９】
時定数情報出力手段は時定数算出手段によって算出された時定数に関する情報を半導体回路のレイアウトプロット図の信号線に対応づけて出力することを特徴とする請求項１から請求項６のうちのいずれか１項記載の半導体回路設計検証装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はＬＳＩ等の半導体回路の設計にあたり、その設計回路の妥当性を検証する半導体回路設計検証装置に関するものである。
【０００２】
【従来の技術】
図１６は従来の半導体回路設計検証装置を示すブロック図であり、図において、１０１は設計するＬＳＩの論理回路が記載された論理回路図面情報、１０２は設計するＬＳＩのチップのレイアウトがプロットされたレイアウトプロット図面情報、１０３は論理回路図面情報１０１とレイアウトプロット図面情報１０２とからユーザが動作上クリティカルと思われる部分を選択して出力するクリティカル部分選択部、１０４はクリティカル部分選択部１０３によって選択されたクリティカルな部分の回路シミュレーションを実行するために必要なデータを作成する回路シミュレーション用入力データ作成部、１０５は回路シミュレーション用入力データ作成部１０４によって作成されたデータを保持する回路シミュレーション用入力データ保持部、１０６は回路シミュレーション用入力データ保持部１０５のデータに基づいてクリティカル部分選択部１０３によって選択されたクリティカルな部分の回路シミュレーションを実行する回路シミュレーション実行部、１０７は回路シミュレーション実行部１０６の実行結果を格納するシミュレーション結果保持部、１０８はシミュレーション結果保持部１０７に保持されたシミュレーション結果を表示するシミュレーション結果表示部１０８である。
【０００３】
次に動作について説明する。
まず、ＬＳＩの設計者は設計したＬＳＩの論理回路図面情報１０１及びレイアウトプロット図面情報１０２を入力して、クリティカル部分選択部１０３で回路上、クリティカルと考える部分を検討して選択する。ここでクリティカルな部分とはその部分の動作状態によっては設計回路全体が動作しないか、あるいは動作しても所定の規格値を下回る可能性がある部分、すなわち、設計回路の動作に大きく影響を与える部分を意味する。回路シミュレーション用入力データ作成部１０４は設計回路中から選択されたクリティカルな部分の回路シミュレーション用入力データを作成し、このデータは回路シミュレーション用入力データ保持部１０５に格納される。回路シミュレーション実行部１０６は回路シミュレーション用入力データ保持部１０５に保持されている回路シミュレーション用データを入力して回路シミュレーションを実行し、このシミュレーション結果はシミュレーション結果保持部１０７に保持される。さらにこのシミュレーション結果はシミュレーション結果表示部１０８に送られ、設計回路の動作が適切であるか否か、すなわち、シミュレーションを実行した回路中のトランジスタの出力負荷（ファンアウト）を考慮した回路動作が適正であるか否かを操作者がシミュレーション結果表示部１０８に表示されたシミュレーション結果を見て判断していた。
【０００４】
【発明が解決しようとする課題】
従来の半導体設計検証装置は以上のように構成されているので、ＬＳＩの設計者が選択した部分についてだけ、トランジスタのサイズ、配線容量（寄生容量含む）、配線抵抗（寄生抵抗含む）に対してそのトランジスタの駆動能力と出力信号線との関係の検証（ファンアウト検証）を実行していた。すなわち、回路シミュレーションを行うには時系列に応じたダイナミックな演算が必要であるので、回路全体あるいは広範囲の回路についてファンアウト検証を行う場合に、この回路の数多くのトランジスタのサイズ、配線容量（寄生容量含む）、配線抵抗（寄生抵抗含む）の組み合わせに対して回路シミュレーションを行うことが必要となり、ファンアウト検証に膨大な時間がかかり、このため実用上は設計者が選択した一部の回路について回路シミュレーションが行われ、全体の回路のシミュレーションを行うことは困難であるという課題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、設計した回路全体あるいは比較的広い範囲の部分のファンアウト検証を高速に行うことができる半導体回路設計検証装置を得ることを目的とする。
【０００６】
【課題を解決するための手段】
請求項１記載の発明に係る半導体回路設計検証装置は、半導体回路の設計情報を入力する設計情報入力手段と、前記設計情報入力手段によって入力された設計情報から前記半導体回路を構成する複数の能動素子を結ぶ信号線に寄生する寄生素子を検索する寄生素子検索手段と、前記複数の能動素子のうち、各能動素子と次段の能動素子との間の時定数を、これら能動素子を結ぶ信号線に寄生する、前記寄生素子検索手段によって検索された寄生素子を含めて算出する時定数算出手段と、前記時定数算出手段によって算出された時定数に関する情報を前記半導体回路の設計情報の少なくとも一部と関連づけて出力する時定数情報出力手段とを具備し、前記設計情報は、前記能動素子について予め設定した検証内容に沿った動作状態を指定する能動素子動作状態情報を含み、前記時定数算出手段は、前記設計情報を基に検証対象の能動素子が特定されると、前記設定情報から当該能動素子に関する能動素子動作状態情報を抽出すると共に、この能動素子動作状態情報にて指定される前記能動素子の動作状態に適合する時定数を求める計算式を、予め用意した検証対象の半導体回路を構成する能動素子の各動作状態にそれぞれ適合する時定数を求める複数の計算式の中から選択し、当該計算式により前記能動素子の動作状態に合致した時定数の算出を行うものである。
【０００７】
請求項２記載の発明に係る半導体回路設計検証装置は、時定数算出手段が各能動素子及び次段の能動素子の抵抗成分及び容量成分ならびに寄生素子を１つの合成抵抗と１つの合成容量の組み合わせに置き換えて時定数を算出するものである。
【０００８】
請求項３記載の発明に係る半導体回路設計検証装置は、時定数算出手段によって算出された時定数と格納手段に格納されている所定の基準時定数の値とを比較する比較手段とをさらに有し、時定数情報出力手段が比較手段による比較の結果、基準時定数よりも大きい値の時定数に関する情報を出力するものである。
【００１０】
請求項４記載の発明に係る半導体回路設計検証装置は、時定数算出手段が入力された半導体回路の設計情報中の、ユーザによって選択された信号線を含むパスの時定数を算出して出力データ作成部に送出するものである。
【００１１】
請求項５記載の発明に係る半導体回路設計検証装置は、時定数算出手段が入力された半導体回路の設計情報が、設計変更により更新されている場合には、半導体回路の設計変更された部分に対して時定数の算出を実行するものである。
【００１２】
請求項６記載の発明に係る半導体回路設計検証装置は、半導体回路にバス配線を含む場合には、時定数算出手段はバス配線までの領域とバス配線後の領域とに分割して、それぞれの領域で独立に時定数の算出を実行するものである。
【００１３】
請求項７記載の発明に係る半導体回路設計検証装置は、時定数情報出力手段が時定数算出手段によって算出された時定数に関する情報を時定数の値の大きい方から順に出力するものである。
【００１４】
請求項８記載の発明に係る半導体回路設計検証装置は、時定数情報出力手段が時定数算出手段によって算出された時定数に関する情報を半導体回路の論理回路図の信号線に対応づけて出力するものである。
【００１５】
請求項９記載の発明に係る半導体回路設計検証装置は、時定数情報出力手段が時定数算出手段によって算出された時定数に関する情報を半導体回路のレイアウトプロット図の信号線に対応づけて出力するものである。
【００１７】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの実施の形態１の半導体回路設計検証装置の構成を示すブロック図である。同図において、１は設計回路の論理回路図面情報、２は設計回路のレイアウトプロット図面情報である。なお、論理回路図面情報１とレイアウトプロット図面情報２とは互いに整合がとられている。３は論理回路図面情報１から回路接続情報を抽出して保持する回路接続情報抽出部（設計情報入力手段）、４はレイアウトプロット図面情報から各信号線等に発生する抵抗成分及び容量成分である寄生素子に関する情報（バックアノテーション情報）を抽出するバックアノテーション情報抽出部（設計情報入力手段）、５は回路接続情報抽出部３によって抽出された回路接続情報を保持する回路接続情報保持部、６はバックアノテーション情報抽出部４によって抽出されたバックアノテーション情報を保持するバックアノテーション情報保持部、７は回路接続情報とバックアノテーション情報とから回路内の各信号線の寄生素子を検索して出力する寄生素子検索部（寄生素子検索手段）、８は設計回路中のＣＭＯＳ論理ゲートを構成するトランジスタまたはトランジスタ単体（能動素子）の出力信号線に対して、この信号線に寄生する寄生素子を含めて時定数を計算して出力する時定数計算部（時定数算出手段）、９は回路の接続情報とともに時定数計算部８で計算された時定数を保持する時定数情報保持部、１０はユーザが設定する基準時定数を示す情報を格納する基準時定数情報保持部（格納手段）、１１は時定数計算部８で計算された時定数と基準時定数情報保持部１０に格納された基準時定数とを比較して基準時定数を越える時定数の情報のみを出力する時定数比較部（比較手段）、１２は時定数比較部１１から出力された時定数の情報を保持する時定数比較結果保持部、１３は検証結果をどのようなフォーマットで出力するかの情報を保持している出力制御情報保持部、１４は時定数比較結果保持部１２に保持された時定数の情報を出力制御情報保持部１３に保持されている出力制御情報に従ったフォーマットで生成して検証結果１５として出力するとともに表示部１６に検証の結果を表示させる出力データ生成部（時定数情報出力手段）である。
【００１８】
次に動作について説明する。
図２は上述した構成の半導体回路設計検証装置の動作を示すフローチャートである。まず、上述した半導体回路設計検証装置の概略動作について説明する。検証の対象となる回路の論理回路図面情報１及びこの論理回路図面情報１と整合のとれているレイアウトプロット図面情報２とから回路接続情報抽出部３及びバックアノテーション情報抽出部４で回路接続情報及びバックアノテーション情報が、それぞれ、抽出されて回路接続情報保持部５及びバックアノテーション情報保持部６に格納される（ステップＳＴ２０１）。
【００１９】
次に、回路接続情報とバックアノテーション情報とから寄生素子検索部７で各ＣＭＯＳ論理ゲートの出力信号線に付加される寄生素子を検索し、設計回路の接続情報とともに検索された寄生素子情報を出力する（ステップＳＴ２０２）。このとき寄生素子の検索は次段の論理ゲートの入力端子もしくはトランジスタのゲート端子に到達するまで行う。次段のＣＭＯＳ論理ゲートの入力端子もしくはトランジスタのゲート端子に到達したときは、下記の式（１）により次段のＣＭＯＳ論理ゲートの入力端子またはトランジスタのゲート端子のゲート容量を計算して、これを寄生素子に加える。
【００２０】
ＣＭＯＳ論理ゲートの入力端子もしくはトランジスタのゲート端子のゲート容量ＣＧは以下の式（１）によって求められる。
ＣＧ＝Ｌ・Ｗ・ＣOX      ・・・・・（１）
ここで、Ｌはトランジスタのチャネル長、Ｗはトランジスタのチャネル幅、ＣOXは単位面積当たりのゲート容量である。
【００２１】
次に、検証の対象となるＣＭＯＳ論理回路内のＣＭＯＳ論理ゲートまたはトランジスタについて、そのゲートと次段のゲートあるいはトランジスタとの間の時定数を各パス毎に時定数計算部８において計算する（ステップＳＴ２０３）。なお、各パス毎の時定数計算の詳細な動作については後で詳述する。そして、求められた時定数を回路接続情報とともに時定数情報保持部９に保存する（ステップＳＴ２０４）。次に、検証の対象となっている回路のすべてのＣＭＯＳ論理ゲートについて時定数の計算が完了したか否かの判定を行い（ステップＳＴ２０５）、まだすべてのＣＭＯＳ論理ゲートまたはトランジスタについて時定数の計算が終了していない場合には、残りのＣＭＯＳ論理ゲートまたはトランジスタの中から１つを選択して、ステップＳＴ２０３に戻り、そのＣＭＯＳ論理ゲートまたはトランジスタについて時定数の計算を実行する。ステップＳＴ２０５において次段を有するすべてのＣＭＯＳ論理ゲートまたはトランジスタに対して次段との間の時定数の計算が終了した場合には、ステップＳＴ２０４で時定数情報保持部９に保持したすべての時定数情報の中の時定数の値と基準時定数情報保持部１０に格納されている基準時定数の値とを比較し（ステップＳＴ２０６）、基準時定数の値よりも大きな時定数の値に対応する時定数情報のみを時定数情報保持部９の中から時定数比較部１１が検索して時定数比較結果保持部１２に格納する（ステップＳＴ２０７）。次に、時定数比較結果保持部１２に保持された時定数情報から出力制御情報保持部１３に保持されている出力フォーマットに基づいて出力データが出力データ生成部１４で生成される（ステップＳＴ２０８）。生成された出力データは出力フォーマットに基づいた形式の検証結果１５として出力される（ステップＳＴ２０９）。また、表示部１６に生成されたデータが表示される。
【００２２】
図３は出力データ生成部１４の出力結果の一例として時定数情報の一覧表を出力した場合の表示部１６に表示される画面を示す図である。同図において、２５は信号線名表示領域、２６は信号線論理表示領域、２７は時定数表示領域を示している。この例では出力信号線名、トランジスタの極性を示す情報（時定数の計算時のパスにあるトランジスタがＮチャネルであるか、Ｐチャネルであるかという情報）、及び時定数を表示している。すなわち、同図の信号線名表示領域２５には信号線名が表示され、信号線論理表示領域２６には各信号線に対応するトランジスタの極性を示す情報が表示され、時定数表示領域２７には各信号線に対応する時定数が表示される。信号線論理表示領域２６に表示されるトランジスタの極性はＮチャネルのオン抵抗を用いて時定数を計算した場合には「Ｌ」が表示され、Ｐチャネルのオン抵抗を用いて時定数を計算した場合には「Ｈ」が表示される。
【００２３】
なお、出力データ生成部１４は時定数情報をソートするソート機能を有しており、このソート機能によって時定数の情報は時定数の値の大きい方から順にソートされて出力される。このようにソートする事によって、設計の検証にとって重要度の高い情報から表示されるので検証が迅速に行われる。
【００２４】
次に、上述したステップＳＴ２０３におけるＣＭＯＳ論理ゲートの各パスの次段との間の時定数を計算する処理について説明する。まず、時定数の計算の前処理としてＣＭＯＳ論理ゲートを構成するトランジスタのオン抵抗を算出する。このとき、論理ゲートを構成するトランジスタ同士の接続が並列接続である場合と、直列接続である場合とについて、それぞれ説明する。
【００２５】
図４、図５はトランジスタの接続が並列である場合の時定数の計算を説明する図である。図４は計算の処理前の状態を示す図であり、図５は計算の処理後の状態を示す図である。トランジスタ（能動素子）Ｑ１、Ｑ２が並列に接続されている場合には並列接続された各々のトランジスタについてオン抵抗を計算する。すなわち、図４のようにトランジスタＱ１、Ｑ２が並列に接続されている場合には図５に示すようにトランジスタＱ１、Ｑ２のオン抵抗を別々に計算する。なお、並列に接続されたトランジスタが同時にオンした場合には合成の抵抗は低くなり、その他の条件が同じであれば次段との間の時定数は１つのトランジスタのみがオンした場合よりも小さくなるためここでは考慮しないことにする。
【００２６】
トランジスタのオン抵抗を求めるために、まず、以下の式（２）〜（４）によりドレイン電流Ｉdsを求める。
Ｉds＝（β／２）・（Ｖgs−Ｖth）2 ・・・・・（２）
β＝Ｗ／Ｌ・μ・ＣOX              ・・・・・（３）
ＣOX＝εOX・ε0 ／ＴOX            ・・・・・（４）
ここで、βはトランジスタの利得定数、Ｖgsはトランジスタのゲート・ソース間電圧、Ｖthはトランジスタのしきい値電圧、Ｗはトランジスタのチャネル幅、Ｌはトランジスタのチャネル長、ＴOXはトランジスタのゲート酸化膜厚、μはキャリアの移動速度、ＣOXは単位面積当たりのゲート容量、εOXは酸化膜の比誘電率、ε0 は真空の誘電率である。これらのトランジスタに関する値は論理回路図面情報から抽出された回路接続情報に含まれている。
【００２７】
ドレイン電流Ｉdsが求められると、オームの法則を用いてオン抵抗ＲONを以下の式（５）に従って求める。
ＲON＝ＶDD／Ｉds            ・・・・・（５）
ここで、ＶDDは電源電圧である。
【００２８】
また、図６、７はトランジスタの接続が直列接続である場合の処理を説明するための図である。図６は計算の処理前のトランジスタの接続状態を示す図であり、図７は計算処理後のトランジスタの接続情報を示す。すなわち、トランジスタ（能動素子）Ｑ３、Ｑ４が直列接続されている場合には、それぞれのトランジスタのチャネルが直列接続された１つのトランジスタとみなしてオン抵抗を計算する。すなわち、図６に示すようにトランジスタＱ３、Ｑ４が直列に接続されている場合には、図７に示すように１つの各トランジスタのチャネルが直列に接続されたチャネルを有する１つのトランジスタ（能動素子）Ｑ５として、このトランジスタＱ５に対して上述した式（２）〜（５）を適用してオン抵抗を計算する。
【００２９】
次に、時定数の計算について説明する。図８は時定数計算のためのトランジスタ情報、回路接続情報、出力信号線の寄生素子及び次段のトランジスタのゲート容量の情報を視覚化して表した図である。同図において、１７はトランジスタのオン抵抗、１８、１９は出力信号線の寄生抵抗（寄生素子）、２０、２１は信号線の寄生容量（寄生素子）、２２は前述した式（１）により計算した次段のゲート容量、Ｎ１〜Ｎ３は信号線を示している。図９は図８に示した回路の等価回路を示す図である。同図において、２３は直列に接続されている複数の抵抗の合成抵抗、２４は出力信号線とグラウンドとの間に接続されている複数の寄生容量及びゲート容量の合成容量を示している。なお、図８では信号線Ｎ１、Ｎ２、Ｎ３が独立に存在していたが、図９では素子をマージしたために、信号線Ｎ１〜Ｎ３は記載されていない。これは、時定数計算時の便宜を図ったものであるが、Ｎ１〜Ｎ３の信号線の接続情報はそのまま保持されている。
【００３０】
以上の前処理を行った後、時定数τを次式（６）により計算する。
τ＝Ｒ・Ｃ        ・・・・・（６）
ここで、Ｒは直列抵抗の総和の抵抗値、Ｃは並列容量の総和の容量値である。
【００３１】
次に、実際のＣＭＯＳ論理ゲートについて以上の計算処理によって時定数を求める例を示す。図１０は３入力ＮＯＲゲートを示す回路図である。同図に示すように３入力ＮＯＲゲートは直列に接続された３つのＰチャネルのトランジスタ（能動素子）Ｑ６〜Ｑ８と、それぞれが並列に接続された３つのＮチャネルのトランジスタ（能動素子）Ｑ９〜Ｑ１１とを具備する。まず、このゲート回路において考慮すべきパスとしてはＶDD端子からＰチャネルのトランジスタＱ６〜Ｑ８を介して出力するパス１、グラウンドからＮチャネルのトランジスタＱ９を介して出力されるパス２、グラウンドからＮチャネルのトランジスタＱ１０を介して出力されるパス３、グラウンドからＮチャネルのトランジスタＱ１１を介して出力されるパス４がある。
【００３２】
そこでまず、ＰチャネルのトランジスタＱ６〜Ｑ８を介して出力されるパス１について時定数を求めることを考える。トランジスタＱ６〜Ｑ８の抵抗値を、それぞれ、Ｒ６〜Ｒ８とする。このとき、上述した式（２）〜（４）から明らかなように、各トランジスタのチャネル幅をＷ、チャネル長をＬ、Ｋｐ＝（εOX・μ）／ＴOXとすると、一般的にトランジスタのドレイン・ソース間電流Ｉdsは
Ｉds＝（Ｋｐ／２）・（Ｗ／Ｌ）・（Ｖgs−Ｖth）2 ・・・・・（７）
ただし、ＶgsはトランジスタＱ８のゲート・ソース間電圧、Ｖthはトランジスタのしきい値電圧で一般には定数が用いられる。
【００３３】
また、直列に接続された３つのトランジスタのオン抵抗の和Ｒは、
Ｒ＝Ｒ６＋Ｒ７＋Ｒ８  ・・・・・（８）
従って、パス１の時定数τは以下のように求められる。
【数１】
0003715011.tif 000002
なお、Ｖdsには電源電圧ＶDDが入力される。
【００３４】
ここで、Ｗ１〜Ｗ３は各トランジスタＱ６〜Ｑ８のチャネル幅、Ｌ１〜Ｌ３は各トランジスタＱ６〜Ｑ８のチャネル長である。
【００３５】
このようにして、パス１に対しては直列接続されたトランジスタの抵抗成分を合成して時定数τを求める。すなわち、複数のトランジスタを１つの集合体と考えて、この１つの集合体が出力信号線（図１０のＶOUT ）を介して次段に接続されている場合の時定数を求める。この時定数はＰチャネルのトランジスタを介するパスであるので図３に示す信号線論理表示領域２６には「Ｈ」が表示される。
【００３６】
また、パス２については、トランジスタＱ９のチャネル幅をＷ４，チャネル長をＬ４とすると、パス２の時定数τ２は以下のようになる。
【数２】
0003715011.tif 000003
なお、Ｖdsにはデフォルト値として電源電圧値ＶDDが入力されるが、ユーザが変更することも可能である。
【００３７】
また、パス３、４はパス２と同様にして求められる。なお、パス２〜４はＮチャネルのトランジスタを介したパスであるので、図３に示す信号線論理表示領域２６には「Ｌ」が表示される。
【００３８】
図１１は３入力ＮＡＮＤゲートとそれぞれのパス１〜４を示す図である。同図において、Ｑ１２〜Ｑ１７はトランジスタ（能動素子）、Ｒ１２〜Ｒ１７はトランジスタＱ１２〜Ｑ１７のオン抵抗を示す。この場合にはＶDD端子からトランジスタＱ１２を介するパス１、ＶDD端子からトランジスタＱ１３を介するパス２、ＶDD端子からトランジスタＱ１４を介するパス３、及び、グランドからトランジスタＱ１５〜Ｑ１７を介するパス４がある。各パスに対応する時定数の計算は図１０に示した３入力ＮＯＲゲートの場合と同様に行う。
【００３９】
図１２は各信号線の寄生容量計算の具体例を示す図である。同図に示すように、各信号線に寄生容量（寄生素子）Ｃ１〜Ｃ３が発生している場合には、同図の点線で示すように、合計の寄生容量Ｃが信号線とグラウンド間に接続されているとみなして計算する。
【００４０】
以上のように、この実施の形態１によれば論理回路図面情報またはレイアウト図面情報から抽出した回路接続情報及び寄生素子情報（バックアノテーション情報）を入力する半導体回路設計検証装置において、ＣＭＯＳ論理ゲートを構成するトランジスタの中で直列接続、並列接続、複合論理ゲート等の直列接続と並列接続の組み合わせからなるＣＭＯＳトランジスタ回路の各パス毎に合成インピーダンスを算出し、電圧変化時の時定数が求められる。さらに、ユーザによって設定された基準時定数の値と求められた時定数の値とが比較され、基準時定数を越える時定数を駆動トランジスタの接続情報とともに時定数情報として保持する。さらに、保持された時定数情報は表示され、あるいは、所定のフォーマットのデータとして出力される。
【００４１】
このため、ユーザは時定数情報から設計回路の検証を行うことができる。なお、従来のダイナミックな解析を必要とする回路シミュレーションに比較して、時定数の計算はスタティックな解析であるので計算量を少なく抑えることができ、従来では計算量が膨大なために難しかった大規模の設計回路の全体についての検証を短時間で行うことが可能である。
【００４２】
さらに、この実施の形態１では、複数のトランジスタの中で直列接続、並列接続、複合論理ゲート等の直列接続と並列接続の組み合わせがある場合に各パス毎に合成インピーダンスを算出し、複数の寄生容量を合成して１つの寄生容量として計算することにより、複数の素子を１つの集合体として、この集合体の時定数を求めることにより、計算量を少なくして、より大きな規模の回路に対して、より高速な検証ができる。さらに、ユーザが設定する基準時定数と計算で求められた時定数を比較し、基準時定数の値以下の時定数情報を無視する事で回路の検証に影響を与えない計算の量を減少させて、より高速に検証結果を出力する事ができる。
【００４３】
チップの回路規模にもよるが、一般にすべての検証結果を出力すると１０万項目も結果が出力される場合がある。従って、検証に必要でない時定数情報の出力を抑制する事は高速化の面からと、設計回路の不具合な部分を迅速に特定する面からも重要であり、検証の効率が向上する。
【００４４】
実施の形態２．
この実施の形態２の基本的構成及び動作は実施の形態１の図１、図２に示す構成及び動作と同様であり、実施の形態１の回路接続情報保持部５及び時定数計算部８の動作に以下の動作が付け加わったものである。すなわち、実施の形態１ではトランジスタのドレイン電流は以下に示すように１つの式で与えられていた。
Ｉds＝（Ｋｐ／２）・（Ｗ／Ｌ）・（Ｖgs−Ｖth）2 ・・・・・（１１）
【００４５】
これはトランジスタが飽和状態で動作しているときの電流を示す式であり、トランジスタが非飽和の状態で動作している場合には以下の式によってドレイン電流が求められる。
0003715011.tif 000004
【００４６】
従って、この場合の３つのトランジスタＱ６〜Ｑ８のオン抵抗値の合成値はＲ＝Ｒ６＋Ｒ７＋Ｒ８であることから、３つのトランジスタＱ６〜Ｑ８が直列に接続されている場合には、時定数τは以下のように計算される。
【数３】
0003715011.tif 000005
ここで、Ｋｐ＝（εOX・μ）／ＴOXである。
【００４７】
ユーザは、論理回路図面情報１にトランジスタが飽和状態での動作か、非飽和状態での動作かを区別するトランジスタ動作状態情報（能動素子動作状態情報）を付加する。このトランジスタ動作状態情報は、ＣＭＯＳ論理ゲート単位またはトランジスタ単位毎に指定しても良いし、あるいは設計回路の機能ブロック毎に指定しても良い。回路接続情報抽出部３ではこのトランジスタ動作状態情報が抽出され、接続情報とともに回路接続情報保持部５に保持される。時定数計算部８では、抽出されたトランジスタ動作状態情報に基づいて式（９）、（１３）のうちからトランジスタのドレイン電流を算出する適切な式を１つ選択して、時定数の計算を実行する。その後の動作については実施の形態１と同様にして時定数の比較が行われて出力される。
【００４８】
以上のように、この実施の形態２によれば、検証の対象となっている回路のＣＭＯＳ論理ゲート単位またはトランジスタ単位あるいは回路の機能ブロック単位毎に指定された回路動作状態に従って、トランジスタの動作状態に適したドレイン電流が計算され、このドレイン電流に基づいて時定数が計算される。このため、トランジスタの動作状態に応じたより精度の高い検証を行うことが可能である。
【００４９】
実施の形態３．
この実施の形態３の半導体回路設計検証装置は上述した実施の形態１と基本的構成及び動作は同様であるが、以下の点が実施の形態１とは異なっている。すなわち、上述した実施の形態１では出力データ生成部１４は時定数情報を出力する際に、出力データを図３に示す時定数情報を一覧表の形式で出力した。しかしながら、この実施の形態３では出力データ生成部１４からのデータ出力の形式を回路図作成装置が入力できる形式で出力するようにした。このように回路図作成装置が直接読みとれるようにすることで回路設計の変更等をする場合に迅速に設計変更の作業にとりかかることが可能である。さらに、出力データ生成部１４から出力された時定数情報に対応する信号線を論理回路図面上で他の信号線と色、線種等により区別して表示出力させるようにしても良い。
【００５０】
図１３はこの実施の形態３の出力結果の一例を示す。同図において、２５ａ、２５ｂは信号線名表示領域、２６ａ、２６ｂは時定数計算時のトランジスタがＮチャネルであるかＰチャネルであるかを示す信号線論理表示領域、２７ａ、２７ｂは信号線の時定数を表示する信号線時定数表示領域である。同図に示すように、対応する信号線が太くなるようにハイライト表示される。
【００５１】
以上のように、この実施の形態３によれば時定数情報を表示・出力する場合に時定数情報を論理回路図面上の信号線に対応させて表示している。このようにする事で、検証結果をユーザが回路図面と関連づけて的確に把握することができる。
【００５２】
実施の形態４．
この実施の形態４は上述した実施の形態１と基本的構成及び動作は同様であるが、以下の点が実施の形態１とは異なっている。すなわち、上述した実施の形態１では出力データ生成部１４は時定数情報を出力する際に、出力データを図３に示す時定数情報を一覧表の形式で出力した。しかしながら、この実施の形態４では出力データ生成部１４からのデータ出力の形式をレイアウトプロット図作成装置が入力できる形式で出力するようにした。このようにレイアウトプロット図作成装置が直接読みとれるようにして回路のレイアウトの変更等をする場合に迅速にレイアウト変更の作業にとりかかれる。さらに、出力データ生成部１４から出力された時定数情報に対応する信号線をレイアウトプロット図面上で他の信号線と色、線種等により区別して表示出力させるようにしても良い。
【００５３】
図１４はこの実施の形態４の出力結果の一例を示す。同図において、２５ｃ〜２５ｅは信号線名表示領域、２６ｃ〜２６ｅは時定数計算時のトランジスタがＮチャネルであるかＰチャネルであるかを示す信号線論理表示領域、２７ｃ〜２７ｅは信号線の時定数を表示する信号線時定数表示領域である。
【００５４】
以上のように、この実施の形態４によれば時定数情報を表示・出力する場合に時定数情報をレイアウトプロット図面上の信号線に対応させて表示している。このようにする事で、検証結果をユーザがレイアウトプロット図面と関連づけて的確に把握することができる。
【００５５】
実施の形態５．
この実施の形態５は上述した実施の形態１と基本的構成及び動作は同様であるが、寄生素子検索部７及び時定数計算部８に以下の機能が加わっていることで上述した実施の形態１と異なっている。
【００５６】
この実施の形態５の寄生素子検索部７は、寄生素子を検索する際に次段のＣＭＯＳ論理ゲートの入力端子もしくはトランジスタのゲート端子に到達するまでにバス配線に到達した場合にはバス配線までの寄生素子のみを検索するようにしている。
【００５７】
図１５はバス配線を含む回路を示している。同図において、２８ａ〜２８ｄはバス配線、２９ａ〜２９ｄはバス配線２８ａ〜２８ｄに寄生する寄生容量素子、３０ａ〜３０ｄはバス配線２８ａ〜２８ｄに達するまでの信号線に寄生する寄生容量素子、３１ａ〜３１ｄはトランスミッションゲートである。バス配線を含む回路の解析ではパスの検索はバス配線２８ａ〜２８ｄまでとする。ただし、バス配線自体の寄生素子は考慮する必要があるためバス配線の寄生容量素子２９ａ〜２９ｄをバス配線２８ａ〜２８ｄまでの寄生素子３０ａ〜３０ｄに加えて時定数計算を実行する。
【００５８】
このようにバス配線を境にして複数の領域に分けて時定数の計算を行うのはバス配線には通常トランスファーゲート、トランスミッションゲート等が接続されており、これらのゲートはＣＰＵ等の制御の下で時間の経過とともにオンしたり、オフしたりしているからである。すなわち、本発明における時定数の計算による設計回路のファンアウトの検証はスタティックな解析であるため、時間とともに接続状態が変化する部分の検証には向かないので、この実施の形態５ではバス配線までのパスとバス配線以降のパスに分離して別々に時定数の計算を実行して表示するようにしている。
【００５９】
以上のように、この実施の形態５によればバス配線を含む回路の設計のファンアウト検証をする場合にも計算量を増加させずに回路全体の検証を行うことができる。
【００６０】
実施の形態６．
この実施の形態６では、以上の各実施の形態１から実施の形態５において、ユーザが任意に指定する１つあるいは複数の信号線に対してのみファンアウト検証するようにしている。
【００６１】
すなわち、指定された１つあるいは複数の信号線のみについて寄生素子検索部７が寄生素子の検索を行い、時定数計算部８が時定数を計算する。得られた時定数の計算結果を上述した各実施の形態で示した形式で出力する構成にしても良い。このようにすることで無駄な時定数計算を省き、さらに高速に検証を行うことができる。
【００６２】
実施の形態７．
この実施の形態７では、以上の各実施の形態１から実施の形態５において、設計回路を検証して設計の変更をした場合に、設計を変更した部分についてのみファンアウト検証をするようにしている。
【００６３】
すなわち、設計の変更があった場合に、設計変更があったことを示す設計変更情報を論理回路図面情報１またはレイアウトプロット図面情報２に付加して、次回、検証をする場合には設計変更情報を参照して設計を変更した部分についてのみ、寄生素子検索部７が寄生素子の検索を実行し、時定数計算部８が時定数の計算を実行するようにしている。このようにすることで自動的に検証を必要とする部分が特定されて時定数計算が行われるので迅速に検証ができる。
【００６４】
なお、以上の実施の形態１から実施の形態７については、汎用コンピュータ上のソフトウエアによって構成しても良いし、すべてハードウエアによって構成して良い。
【００６５】
【発明の効果】
以上のように、請求項１記載の発明によれば、半導体回路の設計情報を入力する設計情報入力手段と、前記設計情報入力手段によって入力された設計情報から前記半導体回路を構成する複数の能動素子を結ぶ信号線に寄生する寄生素子を検索する寄生素子検索手段と、前記複数の能動素子のうち、各能動素子と次段の能動素子との間の時定数を、これら能動素子を結ぶ信号線に寄生する、前記寄生素子検索手段によって検索された寄生素子を含めて算出する時定数算出手段と、前記時定数算出手段によって算出された時定数に関する情報を前記半導体回路の設計情報の少なくとも一部と関連づけて出力する時定数情報出力手段とを具備し、前記設計情報は、前記能動素子について予め設定した検証内容に沿った動作状態を指定する能動素子動作状態情報を含み、前記時定数算出手段は、前記設計情報を基に検証対象の能動素子が特定されると、前記設定情報から当該能動素子に関する能動素子動作状態情報を抽出すると共に、この能動素子動作状態情報にて指定される前記能動素子の動作状態に適合する時定数を求める計算式を、予め用意した検証対象の半導体回路を構成する能動素子の各動作状態にそれぞれ適合する時定数を求める複数の計算式の中から選択し、当該計算式により前記能動素子の動作状態に合致した時定数の算出を行うように構成したので、設計回路の検証に要する計算量を少なく抑えることができ、大規模の設計回路の全体についての検証を短時間で行うことが可能になる効果がある。また、能動素子を考慮したより正確な設計の検証を行うことが可能になる効果がある。
【００６６】
請求項２記載の発明によれば、時定数算出手段を、各能動素子及び次段の能動素子の抵抗成分及び容量成分ならびに寄生素子を１つの合成抵抗と１つの合成容量の組み合わせに置き換えて時定数を算出するように構成したので、時定数の計算量を少なくすることができ、設計回路の検証の時間をさらに短縮することが可能になる効果がある。
【００６７】
請求項３記載の発明によれば、時定数情報出力手段を、比較手段による比較の結果、基準時定数よりも大きい値の時定数に関する情報を出力するように構成したので、設計の検証に必要な時定数に関する情報が限定されて出力されるので設計の検証を迅速に行うことが可能になる効果がある。
【００６９】
請求項４記載の発明によれば、時定数算出手段を、入力された半導体回路の設計情報中の、ユーザによって選択された信号線を含むパスの時定数を算出して出力データ作成部に送出するように構成したので、設計回路のうち検証が必要な部分をユーザが特定することができ、その部分の設計の検証が行われることでさらに、検証に要する計算時間を短縮することができる効果がある。
【００７０】
請求項５記載の発明によれば、時定数算出手段を、入力された半導体回路の設計情報が設計変更により更新されている場合に、半導体回路の設計変更された部分に対してのみ時定数の算出を実行するように構成したので、設計の検証が必要な部分が自動的に特定されて迅速に検証を行うことが可能になる効果がある。
【００７１】
請求項６記載の発明によれば、時定数算出手段を、半導体回路にバス配線を含む場合にはバス配線までの領域とバス配線後の領域とに分割してそれぞれの領域で独立に時定数の算出を実行するように構成したので、バス配線がある設計回路であってもスタティックな解析だけでよく、設計回路の検証のための計算量を減少させることができ、バス配線を含む回路であっても短時間に設計の検証が可能になる効果がある。
【００７２】
請求項７記載の発明によれば、時定数情報出力手段を、時定数算出手段によって算出された時定数に関する情報が時定数の値の大きい方から順に出力するように構成したので、設計の検証において重要な情報が優先して出力され、設計の不具合部の特定が迅速に行える効果がある。
【００７３】
請求項８記載の発明によれば、時定数情報出力手段を、時定数算出手段によって算出された時定数に関する情報を半導体回路の論理回路図の信号線に対応づけて出力するように構成したので、検証の結果を論理回路図面上でより明確に把握することが可能になる効果がある。
【００７４】
請求項９記載の発明によれば、時定数情報出力手段を、時定数算出手段によって算出された時定数に関する情報を半導体回路のレイアウトプロット図の信号線に対応づけて出力するように構成したので、検証の結果をレイアウトプロット図面上でより明確に把握することができる効果がある。
【図面の簡単な説明】
【図１】  実施の形態１の半導体回路設計検証装置の構成を示すブロック図である。
【図２】  実施の形態１の半導体回路設計検証装置の動作を示すフローチャートである。
【図３】  実施の形態１の出力データ生成部の出力結果の一例として時定数情報の一覧表を出力した場合の表示部に表示される画面を示す図である。
【図４】  設計回路のトランジスタの接続が並列である部分を示す図である。
【図５】  設計回路のトランジスタの接続が並列である部分の時定数の計算を説明する図である。
【図６】  設計回路のトランジスタの接続が直列である部分を示す図である。
【図７】  設計回路のトランジスタの接続が直列である部分の時定数の計算を説明する図である。
【図８】  時定数計算のためにトランジスタ情報、回路接続情報、出力信号線の寄生素子及び次段のトランジスタのゲート容量の情報を視覚化して表した図である。
【図９】  図８に示した回路の等価回路を示す図である。
【図１０】  ３入力ＮＯＲゲートを示す回路図である。
【図１１】  ３入力ＮＡＮＤゲートとそれぞれのパスを示す図である。
【図１２】  各信号線の寄生容量計算の具体例を示す図である。
【図１３】  実施の形態３の検証の出力結果の一例を示す図である。
【図１４】  実施の形態４の検証の結果の一例を示す図である。
【図１５】  実施の形態５におけるバス配線を含む設計回路を示す図である。
【図１６】  従来の半導体設計検証装置を示すブロック図である。
【符号の説明】
３  回路接続情報抽出部（設計情報入力手段）、４  バックアノテーション情報抽出部（設計情報入力手段）、７  寄生素子検索部（寄生素子検索手段）、８時定数計算部（時定数算出手段）、１０  基準時定数情報保持部（格納手段）、１１  時定数比較部（比較手段）、１４  出力データ生成部（時定数情報出力手段）、１８，１９  寄生抵抗（寄生素子）、２０，２１，Ｃ１，Ｃ２，Ｃ３  寄生容量（寄生素子）、Ｑ１〜Ｑ１７  トランジスタ（能動素子）、２８ａ，２８ｂ，２８ｃ，２８ｄ  バス配線。
【図１】
0003715011.tif 000006
【図２】
0003715011.tif 000007
【図３】
0003715011.tif 000008
【図４】
0003715011.tif 000009
【図５】
0003715011.tif 000010
【図６】
0003715011.tif 000011
【図７】
0003715011.tif 000012
【図８】
0003715011.tif 000013
【図９】
0003715011.tif 000014
【図１０】
0003715011.tif 000015
【図１１】
0003715011.tif 000016
【図１２】
0003715011.tif 000017
【図１３】
0003715011.tif 000018
【図１４】
0003715011.tif 000019
【図１５】
0003715011.tif 000020
【図１６】
0003715011.tif 000021