(57)【要約】トランジスタ回路における信号遅延を解析するにあたり、該当する回路部分の所定の動作に対して論理的には影響を与えないが信号遅延量に影響する入力の信号設定を行なう構成であり、その際、当該回路部分に関連する条件によっては発生の可能性の無い信号設定を除いた設定、遅延が最大となる信号設定、遅延が最小となる信号設定、並びに実際の使用条件に合致した信号設定等を行う構成である。
2004079600.tif 000002
【特許請求の範囲】
【請求項１】
所定の回路部分の動作における信号遅延を解析するにあたり、該所定の回路部分の動作に対して論理的には影響を与えない周辺入力に対して所定の条件による信号設定を行なう周辺入力信号設定手段を含み、当該信号設定による信号入力による影響を加味して当該所定の回路部分の動作における信号伝播動作遅延を解析する回路解析装置。
【請求項２】
前記周辺入力信号設定手段が所定の回路部分の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、当該回路部分に関連する条件によっては発生の可能性の無い信号設定を除いた範囲に限定するという条件よりなる請求の範囲１に記載の回路解析装置。
【請求項３】
前記周辺入力信号設定手段が所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、該当する所定の回路部分の動作の遅延が最大となる信号設定を選択するという条件よりなる請求の範囲１に記載の回路解析装置。
【請求項４】
前記周辺入力信号設定手段が所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、該当する所定の回路部分の動作の遅延が最小となる信号設定を選択するという条件よりなる請求の範囲１に記載の回路解析装置。
【請求項５】
前記周辺入力信号設定手段が所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、当該回路部分の実際の使用条件に合致した信号設定を行うという条件よりなる請求の範囲１に記載の回路解析装置。
【請求項６】
所定の回路部分の動作における信号遅延を解析するにあたり、該所定の回路部分の動作に対して論理的には影響を与えない周辺入力に対して所定の条件による信号設定を行なう周辺入力信号設定段階を含み、当該信号設定による信号入力による影響を加味して当該所定の回路部分の動作における信号伝播動作遅延を解析する回路解析方法。
【請求項７】
前記周辺入力信号設定段階にて所定の回路部分の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、当該回路部分に関連する条件によっては発生の可能性の無い信号設定を除いた範囲に限定するという条件よりなる請求の範囲６に記載の回路解析方法。
【請求項８】
前記周辺入力信号設定段階にて所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、該当する所定の回路部分の動作の遅延が最大となる信号設定を選択するという条件よりなる請求の範囲６に記載の回路解析方法。
【請求項９】
前記周辺入力信号設定段階にて所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、該当する所定の回路部分の動作の遅延が最小となる信号設定を選択するという条件よりなる請求の範囲６に記載の回路解析方法。
【請求項１０】
前記周辺入力信号設定段階にて所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、当該回路部分の実際の使用条件に合致した信号設定を行うという条件よりなる請求の範囲６に記載の回路解析方法。
【請求項１１】
所定の回路部分の動作における信号遅延を解析するにあたり、該所定の回路部分の動作に対して論理的には影響を与えない周辺入力に対して所定の条件による信号設定を行なう周辺入力信号設定処理をコンピュータに実行させるためのプログラムであって、
当該信号設定による信号入力による影響を加味して当該所定の回路部分の動作における信号伝播動作遅延を解析する回路解析処理をコンピュータに実行させるためのプログラム。
【請求項１２】
前記周辺入力信号設定処理において所定の回路部分の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、当該回路部分に関連する条件によっては発生の可能性の無い信号設定を除いた範囲に限定するという条件よりなる構成とされてなる請求の範囲１１に記載のプログラム。
【請求項１３】
前記周辺入力信号設定処理において所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、該当する所定の回路部分の動作の遅延が最大となる信号設定を選択するという条件よりなる構成とされてなる請求の範囲１１に記載のプログラム。
【請求項１４】
前記周辺入力信号設定処理において所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、該当する所定の回路部分の動作の遅延が最小となる信号設定を選択するという条件よりなる構成とされてなる請求の範囲１１に記載のプログラム。
【請求項１５】
前記周辺入力信号設定処理において所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、当該回路部分の実際の使用条件に合致した信号設定を行うという条件よりなる構成とされてなる請求の範囲１１に記載のプログラム。
【請求項１６】
請求の範囲１１に記載のプログラムを格納したコンピュータ読取り可能な記録媒体。
【請求項１７】
請求の範囲１２に記載のプログラムを格納したコンピュータ読取り可能な記録媒体。
【請求項１８】
請求の範囲１３に記載のプログラムを格納したコンピュータ読取り可能な記録媒体。
【請求項１９】
請求の範囲１４に記載のプログラムを格納したコンピュータ読取り可能な記録媒体。
【請求項２０】
請求の範囲１５に記載のプログラムを格納したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】  本発明は、回路解析装置、回路解析方法、当該装置或いは方法による動作をコンピュータに実行させるプログラム及びそのプログラムを格納するコンピュータ読取り可能な記録媒体に係り、特にＬＳＩ回路設計等における回路動作遅延に対する効率的な検証手法を適用した回路解析装置、回路解析方法、当該装置或いは方法による動作をコンピュータに実行させるプログラム及びそのプログラムを格納するコンピュータ読取り可能な記録媒体に関する。
【背景技術】  近年、様々な産業分野におけるデータ解析、制御等の用途に必要不可欠なＬＳＩ等の大規模集積回路においては、高度の集積度と共に、その回路動作タイミングに対する厳しい要求が有り、それらの回路特性を回路設計段階のおいて高精度の検証し得る機能を有する信号遅延時間検証（シミュレーション）手法の導入が望まれている。
このようなＬＳＩ等のトランジスタ回路の信号遅延時間解析においては、回路上、所定の入出力項目に直接関わる回路部分（以下「活性パス」と称する）の入力端の所定の入力値の印加から出力端に所定の出力値が現れるまでに要する時間を求めることが行なわれている。このような回路動作解析を行なうにあたって該当回路部分の所定の動作を実行することを「活性パス」の「活性化」と称する。ここで、通常大規模集積回路では一つの回路中に様々な活性パスが存在し、特定の活性パスにおける活性化による解析を行なう場合、回路解析上その周辺回路の状態をどのように設定するかが問題となる。
このような回路解析において、活性パスの活性化に論理的に影響を与えない入力の信号設定は論理回路動作解析においては不要である。従来のＬＳＩ回路ではそれ程動作の高速化に対する要求が厳しくなかったため、特に周辺回路の動作状況を考慮しなくても実回路評価に有用な信号遅延時間値、即ちディレイ値を得ることが可能であった。しかしながらクロック周波数が１ＧＨｚを超えるような超高速ＬＳＩにおいては周辺回路の信号設定の違いによって生じる実回路における実際の信号伝播動作遅延量、即ちディレイ値とシミュレーション計算で得られるディレイ値との差が大きくなり、実回路に促した信号伝播動作遅延時間解析、即ちディレイ解析を行うことが困難となる場合がある。そのため、超高速ＬＳＩ回路設計において活性パスのディレイ解析を高精度に行うには周辺回路の動作状況を考慮する必要がある。
即ち、従来の回路設計解析においては、例えば信号伝播動作遅延時間、即ちディレイ計算対象の活性パスに沿って回路部分を切り出し、このように切り出された活性パスの回路部分についてのみディレイ解析を行なっていた。この手法では、当該活性パスの活性化に影響を与える可能性のある他の周辺回路部分の信号設定については特に考慮していなかった。ところが上記の如く、近年の超高速ＬＳＩの実回路では活性パスのディレイはその周辺回路の信号設定状況によって受ける影響が大きい。このため、上記の如くのディレイ計算対象のパスに沿って回路を切り出す方法では、必ずしも信号遷移に伴う負荷を正確に再現することは出来なかった。また、信号遷移や周辺回路の状態が十分考慮されておらず、パス上から見える負荷が一律であり、実回路と計算上の誤差が大きくなる傾向があった。又、これとは別に活性化パスに着目して活性化のパターン生成を行う手法が有り、この方法では上記回路を切り出す方法と比較して正確なディレイ計算を行えるものの、周辺回路の信号設定状況が考慮されていなかったため、必ずしもディレイ計算の精度が十分高いものとは言えなかった。
【特許文献１】    特開平８−６３４９９
【特許文献２】    特開平９−３２５９８１
【特許文献３】    特開２００１−７６０２０
【発明の開示】
本発明は上記問題点に鑑みてなされたものであり、活性パスの信号伝播動作遅延解析において、直接その活性パスの活性化に影響を与えない入力項目のうち、当該活性パスの信号伝播動作遅延解析に必要な入力項目を抽出してその入力項目に対して適当な信号設定を行なうことにより、ディレイ解析の精度を効果的に向上可能な回路解析装置を提供することを目的とする。
本発明では、所定の回路構成中、特定の回路部分の所定の動作における信号伝播動作遅延を解析する際、当該特定回路部分の所定の動作に対して論理的には影響を与えない入力項目についても着目し、その入力項目について所定の条件で信号設定を行ない、それによる影響も加味して当該特定回路部分の所定の動作における信号伝播動作遅延を解析する。
このように当該特定回路部分の所定の動作に対して論理的には影響を与えない入力項目についても考慮し且つ所定の条件でそれに対する信号設定を行なうため、特定の条件における周辺回路部分の入力信号設定状態による影響を加味した上で当該回路部分における信号伝播動作遅延を解析可能である。そのため、当該回路構成の実回路状態での実際の使用状態における信号伝播動作遅延についての高精度の解析結果を得ることが可能となる。
【図面の簡単な説明】  本発明の他の目的、特徴及び作用効果は添付の図面を参照しながら以下の詳細な説明を見ることによってより一層明瞭となるであろう。
図１は本発明の一実施例による回路解析装置の概要を示すブロック図である。
図２は図１中、周辺回路信号設定部の動作を詳細に説明するためのフローチャートである。
図３は本発明の実施例の動作を説明するための、その解析対象としてのトランジスタ回路例を示す回路図である。
図４Ａ，４Ｂ，４Ｃは、本発明の実施例による回路解析に適用可能な回路入力関連データについて説明するための図である。
図５は、本発明の実施例による回路解析に適用可能な回路異常動作防止のための信号設定ルールについて説明するための図である。
図６は、本発明の実施例による回路解析に適用可能な活性パスの分岐に対する信号設定ルールの記述例を説明するための図である。
図７は、本発明の実施例による回路解析に適用可能な活性パスの分岐に対する信号設定ルールの一例としての最大ディレイ計算用信号設定アルゴリズムについて説明するためのフローチャートである。
図８は、本発明の実施例による回路解析に適用可能な活性パスの分岐に対する信号設定ルールの一例としての最小ディレイ計算用信号設定アルゴリズムについて説明するためのフローチャートである。
図９は、本発明の実施例による回路解析に適用可能な活性パスの分岐に対する信号設定ルールの一例としての実回路動作を考慮した信号設定アルゴリズムについて説明するためのフローチャートである。
図１０Ａ，１０Ｂは、図９に示す実回路動作を考慮した信号設定アルゴリズムを説明するための図である。
図１１は本発明の実施例による回路解析動作を実行可能なコンピュータの一例の構成を示すブロック図である。
【発明を実施するための最良の形態】  以下、本発明の実施例を図面に基づいて説明する。
図１は、本発明の一実施例による回路設計解析システムのブロック図である。
同図に示す如く、本実施例による回路設計解析システムは、シミュレーション入力パターンデータ作成部１０とアナログ回路シミュレータ２０とよりなる。このシステムは例えば図１１と共に後述する如く、汎用コンピュータとこれにインストールするソフトウェアプログラムによって実現可能である。
同図のシステムでは、先ず、所定の設計工程によって設計がなされたＬＳＩ回路設計データ３１がシミュレーション入力パターンデータ作成部１０のパス解析部１１に与えられる。ここで与えられる回路データは、通常ＬＳＩ回路を構成する実際の回路素子の物理特性、これらの回路素子間を接続する配線の物理特性等を除いた情報とされ、適用する回路素子種別の選定（ＮＭＯＳトランジスタかＰＭＯＳトランジスタか等）、各回路素子間の接続構成等の論理的な回路構成を示すデータである。これを受けたシミュレーション入力パターンデータ作成部１０のパス解析部１１では当該入力回路データから所定の手法によって当該ＬＳＩ回路の使用目的、基本的回路特性等に鑑み、当該回路構成における、シミュレーションにて検証すべき回路動作を起動（活性化）するための必要十分なシミュレーション入力パターンを求める。
一般に一つのＬＳＩ回路設計構成データにおいて、全ての可能なシミュレーション入力パターンの数はその回路規模に応じて指数関数的に増加する。特に近年の大規模ＬＳＩ回路等においては、その可能な全ての入力パターンに対してシミュレーションによる回路動作検証を行なうと膨大な時間と工数を要する事となる。そのため、その回路の使用目的、基本的な回路特性等に鑑みて真に検証が必要な最小限の規模の入力パターンを予め決定しておくことが必要となる。この必要最小限な入力パターンを求める方法として、例えば前記の特許文献３にて本発明者等が提示した活性化パスシミュレーション方法における「活性化パターン作成方法」の適用が可能である。
次にこのようにして求められた基本的なシミュレーション入力パターンに対し、パス活性化解析部１２にて、論理的見地からパス活性化解析処理を行なう。当該解析処理は回路遅延解析等、適用する各回路素子、配線等の詳細な物理的特性に基づいて行なうようなものではなく、各回路素子を純粋な論理素子と見なし、所望の論理動作が確実に実行され得るか否かのみを検証するものである。
次に周辺回路信号設定部１３では、このようにして抽出、検証されたシミュレーション入力パターンデータに対し、当該入力パターンによってその動作を検証する対象の回路部分である活性パスの周辺の所定の回路部分に対する入力パターンを求める。即ち、検証すべき活性パスの基本的な論理動作を決定するノードに対する入力信号よりなるシミュレーション入力パターンに加え、当該活性パスの論理動作には影響を与えないが、活性パスの論理動作に関わる信号伝播動作遅延に対して実質的に影響を与えるノードに対する入力信号よりなるシミュレーション入力パターンを求める。
ここでは、活性パスの論理動作には影響を与えないが、その信号伝播動作遅延に対して影響を与えるノードを抽出し、更に、その信号設定値として、該当する活性パスの動作に関わる信号伝播動作遅延に影響を与える設定値又はその信号遷移を決定する。尚、この抽出設定動作は、オペレータ又は他の解析システム等によって予め設定される基本的な入力関連データ、信号設定ルール等に従ってアプリケーションプログラムが自動的に行なう。そして、このようにして設定された入力パターンデータ３２（活性パスの論理動作に直接関わるノード入力信号設定、及び、直接関わらないが、その動作遅延に影響を与えるノード入力信号設定を含む）をアナログ回路シミュレータ２０に入力する。
アナログ回路シミュレータ２０では、当該シミュレーション入力パターンデータ３２と、回路設計データ３１とを基に、回路設計データ３１にて示される回路構成（ここでは基本的論理構成に限らず、各適用回路素子、配線等の詳細な物理データを含む）に対して入力パターンデータに従った入力信号が与えられた際の回路動作をコンピュータの論理演算によって詳細にシミュレーションし、その結果をディレイライブラリ３３として出力する。このディレイライブラリ３３は活性パスの動作シミュレーション結果であり、この場合には単なる論理動作検証に止まらず、各適用素子及び配線材等の詳細な物理データ（インピーダンス値等）を加味したパス入出力間の信号伝播動作遅延状態を含めた解析結果である。
図２は、図１に示す周辺回路信号設定部１３が実行する動作を示すフローチャートである。ここでは図３に示す如くの回路構成を本実施例による解析装置にて検証すべき回路構成の例として適用した場合の同設定部１３の動作について説明する。図３の回路構成において、破線Ｐにて示す経路を、ここで検証すべき活性パスとする。この場合、ノードＩＮ１、ＩＮ２以外のノードＩＮ３，Ｓ１，Ｓ２，Ｓ３，ＩＮ４，Ｓ４は、全て当該活性パスＰの論理動作に影響を与えないノードである。
図２中、ステップＳ１では回路入力関連データについて解析する。即ち、図４Ａに示す如く、上記ノードＩＮ１，ＩＮ３について考えるに、その入力にインバータＩＮＶが接続されていると仮定した場合、図４Ｂ、図４Ｃに示す如くこれらノードの入力信号パターンは互いに反転する信号となる。そのため、活性パスのノードＩＮ１に“１”の信号を設定する場合、ノードＩＮ３には、その反転値、即ち“０”を設定することとなる（ステップＳ２）。
即ちこれらステップＳ１，Ｓ２では、活性パス（Ｐ）に直接関わるノード（ＩＮ１、ＩＮ２）以外のノードに関し、図３に示す如くの解析対象回路構成に対する入力部分による条件によって必然的に決定される場合には、その条件に従って設定を行う。尚、活性パス（Ｐ１）に直接関わるノード（ＩＮ１、ＩＮ２）の入力信号設定については既に活性パスを活性化するノード又は活性パスの論理動作に直接影響を与えるノードに対する設定として図１に示すパス解析部１１にて行われ、パス活性化解析部１２にてその基本的論理動作が検証されている。
次にステップＳ３では、信号ルールの解析を行なう。即ち、例えば図６に示す如くの、活性パスに直接関わらないノードの入力信号として設定すべき値に対する条件を予め設けておき、当該条件（ルール）によって決定されるノード入力信号設定値を設定する。
次にステップＳ４では、活性パスからの分岐ノードを抽出する。これは、活性パスから分岐する回路部分の論理動作に対して影響を与えるノードを検出するものである。即ち、図３の例では活性パスＰに対してノードＩＮ３，Ｓ１，Ｓ２，Ｄ３，ＩＮ４，Ｓ４の各ノードがこれに該当する分岐ノードとして順次検出されることとなる。
そしてステップＳ５にて、このようにして順次検出されるノードに対し、これまでのステップの処理によって、その信号の設定が可能か否かを判定する。即ち、ステップＳ１，Ｓ２による回路入力関連データによる条件、並びにステップＳ３による信号設定ルールによる条件によって設定可か否かを判定する。そして、その結果判定可の場合、ステップＳ６にて、それらの条件に従って当該ノードの信号入力を設定する。
ステップＳ５の判定の結果、設定不可の場合、或いはステップＳ６にて設定済の場合、次にステップＳ７にて、回路異常動作防止の見地から、ノードの入力信号設定を検討する。即ち、図５に示す「貫流電流」の発生等、特定の入力パターンでは該当する回路が異常動作を行なう場合等、明らかにあり得ない入力設定を行なわないような条件の設定を行なう。
次にステップＳ８では既に全ての分岐ノードについて処理済みか否かを判定する。処理済みでない場合、ステップＳ４に戻って未処理のノードについて、上記ステップＳ４乃至Ｓ７の処理を実行する。
次に、図３の回路構成を例に採り、本発明の実施例による周辺回路信号設定部１３における処理について以下に詳細に説明する。
上述の如くトランジスタ回路の活性パスの活性化に関し、該当する活性パスの論理動作に影響を与えない入力の信号設定は論理的には不要と考えられるが、超高速ＬＳＩ回路等においては活性パスにおける信号伝播動作遅延（ディレイ）は、その周辺回路の動作状況によって受ける影響が大きい場合がある。従って正確なクリティカルパスのディレイを求めるためにはこの周辺回路の動作状況をも考慮する必要がある。本発明の実施例では活性パスの論理動作に影響を与えない入力ピンへの信号設定方法として以下の３種の方法を適用する。
（１）最大ディレイ計算用信号設定法（アルゴリズム）
（２）最小ディレイ計算用信号設定法（アルゴリズム）
（３）実回路動作を考慮した信号設定法（アルゴリズム）
以下にこれらの方法について具体的に説明する。図３の回路において、活性パスＰはＰＭＯＳトランジスタＰ１とＮＭＯＳトランジスタＮ１とよりなる周知のＣＭＯＳインバータ回路を構成する。そのため、例えばその入力ピンであるＩＮ１への印加値が「０」の場合、ＰＭＯＳトランジスタＰ１はＯＦＦ状態となり、他方ＮＭＯＳトランジスタＮ１はＯＮ状態となる。その結果、その出力ピンであるＯＵＴ１に現れる値は「１」となる。又、入力ピンＩＮ２については当該活性化パスＰの活性化に関する論理検討により、上記ＣＭＯＳインバータの動作を可能にするためには、このピンＩＮ２には常時「１」が印加されている必要があることが求められる。
この際、他のピンＩＮ３，ＩＮ４，Ｓ１〜Ｓ４については、どのような信号設定を行っても、上記ＩＮ１→ＯＵＴ１の活性化には論理的には影響を与えることはないが、正確なディレイを求めるにはこれらの入力に対する信号設定も重要となる。ここで、このディレイを求める上での上記「最大ディレイ計算用信号設定法（即ち上記活性パスの動作上の遅延量が最大となる信号設定）」では、ピンＩＮ１の印加値が‘０’→‘１’に変化する場合、ピンＩＮ１の電荷が‘１’（即ちプラス側のチャージ状態）に変化するのを妨げる信号設定、つまり、当該活性パス以外の分岐パスに信号が拡散伝播され、もって活性パスの充電に要する時間が余計に掛かってしまうような信号設定を行う。このような条件を満たす信号設定は、図３の場合においてはＩＮ３＝‘１’，Ｓ１＝‘０’，Ｓ２＝‘１’である。
即ち、ＩＮ３＝‘１’とすることによってピンＯＵＴ２を出力とする２ＮＡＮＤ（ＰＭＯＳトランジスタＰ３，Ｐ４，ＮＭＯＳトランジスタＮ３，Ｎ４よりなる回路）が稼動し、ピンＯＵＴ２にはＩＮ１と逆相の信号、即ち‘０’が出力される。このためピンＯＵＴ２とピンＩＮ１との間の見かけ上の容量が大きくなり、その結果ピンＩＮ１から見た場合の電荷をチャージすべき負荷が大きく見える。又、Ｓ１＝‘０’，Ｓ２＝‘１’の信号設定によってパストランジスタＰＡＳ１が導通し、その結果ピンＩＮ１→ＯＵＴ３のパスが導通する。この状態においてはピンＩＮ１が‘０’→‘１’に変化するときにピンＩＮ１に電荷をチャージする必要があるが、ＩＮ１→ＯＵＴ３のパスが導通しているためピンＩＮ１へ供給する電荷の一部がＯＵＴ３側に抜けてしまい、結果的にピンＩＮ１への充電が遅れ、その結果活性パスＰの活性化が遅れてパスを構成するトランジスタの動作が遅れ、もってディレイが大きくなる。
他方、ピンＩＮ１が‘１’→‘０’に変化する場合、ピンＩＮ１の電荷が‘０’に変化するのを妨げる信号設定、つまり、当該活性パス以外のその分岐パスへの信号の拡散伝播が行われないような信号設定を行う。即ち、この場合ピンＩＮ１の電荷を取り除くことによってその値を‘１’→‘０’に変化させることが実現されるが、当該ピンＩＮ１から電荷が流出して拡散し得るパスを無くすことによってディレイが大きくなる。図３の例においてはＩＮ３＝‘１’，Ｓ１＝‘１’，Ｓ２＝‘０’の各設定を行なう。
ここで上記設定Ｓ１＝‘１’，Ｓ２＝‘０’によってパストランジスタＰＡＳ１が非導通となり、その結果ピンＩＮ１→ＯＵＴ３のパスが非導通となる。ピンＩＮ１が‘１’→‘０’に変化する際上記の如くピンＩＮ１からは電荷が抜けなければならないが、ＩＮ１→ＯＵＴ３のパスが非導通のためこのパスを通ってピンＯＵＴ３に電荷が抜けることがなくなる。その結果、ピンＩＮ１→ＯＵＴ３へのパスが導通している場合と比較してパス活性化に対するディレイは大きくなる。
図７は、上記最大ディレイ計算用信号設定法の動作を示すフローチャートである。まずステップＳ３１で活性パスを選択し、ステップＳ３２にて当該パスをトレースしてｐｎ接続（ＰＭＯＳトランジスタとＮＭＯＳトランジスタとの双方との接続）ノードを得る。ステップＳ３３では、当該ノード（着目ノード）がパス終端か否か判定する。終端で無い場合、当該着目ノードに接続されたトランジスタに着目し（ステップＳ３５）、その際既に着目ノードに接続された全部のトランジスタについて処理済みの場合ステップＳ３２に戻って次にノードへ移り、上記処理を繰り返す。それ以外の場合（ステップＳ３６のＮｏ）、ステップＳ３７にて、当該着目トランジスタが活性パス上のトランジスタか否か判定し、活性パス上のものであればステップＳ３５に戻って次の未処理トランジスタへ処理対象を移す。
そうでない場合、即ち分岐パス上のものである場合（ステップＳ３７のＹｅｓ）、ステップＳ３８にて着目トランジスタが着目ノードにゲート端子接続しているか否かを判定し、Ｎｏの場合（即ち、図３の例のパストランジスタＰＡＳ１の場合等）にはステップＳ４２にて着目ノードにソース接続しているか否かを判定し、そうでなければ（Ｎｏ）ステップＳ３５に戻って次の未処理トランジスタに処理対象を移す。ソース接続の場合（図３の例におけるパストランジスタＰＡＳ１の場合等が該当）、ステップＳ４３にてゲート端子が信号未設定端子か否か判定する。即ち、図４Ａの例の如く他の条件にて既に決定されていないかどうかを確認する。Ｙｅｓの場合（未設定の場合）、上記着目ノードの信号遷移が１→０か否かを判定する（ステップＳ４４）。即ち、現在検証対象となっている活性パスの活性化動作が着目ノードから電荷を取り除く動作か否かを判定する。
その結果Ｙｅｓなら着目トランジスタが導通しないような信号設定を行なう。即ち、電荷を取り除く場合着目トランジスタが導通しないようにすることによって着目ノードの電荷の逃げ場を無くし、その結果ディレイが大きくなるようにする。他方、逆の場合（ステップＳ４４のＮｏ）、上記と逆に着目トランジスタを導通させて着目ノードの電荷の逃げ場を作り、その結果着目ノードがチャージされにくくし、その結果ディレイが大きくなるうにする。
又、ステップＳ３８のＹｅｓの場合、即ち着目ノードの信号によって直接その論理が決定されるトランジスタの場合（図３の例の場合、例えばＩＮ１に対してＰ３が該当）、ステップＳ３９にて着目トランジスタの端子間をソース−ドレイン方向にトレースし、電源−グランド−ｐｎ接続に至る経路上に存在するトランジスタを抽出する。そしてステップＳ４０にて、抽出トランジスタの各々に対し、信号未決定端子に対する信号入出力のシミュレーションを実施し、その結果を格納する。ステップＳ４１ではその結果に基づき、ｐｎ接続ノード（図３の例の場合、ＯＵＴ２等）上に、着目ノード（この場合、ＩＮ１）と逆相の信号遷移を出力する信号入力を選択する。その結果、着目ノードとの間の容量値が見かけ上大きくなり、着目ノードから見た際、チャージしなくてはならない負荷容量が増加する。その結果この場合もディレイが大きくなる。他方、そのような信号入力が無い場合、所定の固定値（任意値）が出力される信号入力を選択する。
次に上記「最小ディレイ計算用信号設定法（即ち当該活性パスの動作における信号遅延量を最小とするための信号設定）では、ピンＩＮ１の値が‘０’→‘１’に変化する場合には、ピンＩＮ１の電荷が‘１’に変化するのを妨げない信号設定、つまり、活性パス以外の分岐パスへの信号の拡散伝播が行われないような信号設定を行う。図３の例においてはＩＮ３＝‘０’，Ｓ１＝‘１’，Ｓ２＝‘０’の各設定を行なう。ここで上記設定ＩＮ３＝‘０’ではピンＯＵＴ２を出力とする２ＮＡＮＤ（トランジスタＰ３，Ｐ４，Ｎ３，Ｎ４よりなる回路）は、常に‘１’を出力するように稼動するため、ピンＯＵＴ２には初期状態のピンＩＮ１と同相の信号‘１’が現れる。この場合、上記の如く常に逆相の信号が現れる場合と比較するとピンＩＮ１から見た見かけ上の要チャージ容量は小さくなり、もってチャージすべき負荷は小さく見えることとなる。その結果チャージ動作を高速化してディレイを小さくする。
又、上記設定Ｓ１＝‘１’，Ｓ２＝‘０’では上記パストランジスタＰＡＳ１が非導通化し、その結果ピンＩＮ１→ＯＵＴ３のパスが非導通となる。ピンＩＮ１が‘０’→‘１’に変化するとき、ピンＩＮ１には電荷がチャージされなければならず、このようにＩＮ１→ＯＵＴ３へのパスが非導通の場合電荷の逃げ場が無いため、導通している場合と比較してパス活性化に対するディレイは小さくなる。
他方、ピンＩＮ１が‘１’→‘０’に変化する場合、ピンＩＮ１の電荷が‘０’に変化するのを妨げないような信号設定、つまり、ピンＩＮ１から活性パス以外の分岐パスに対して信号が拡散伝播され得るような信号設定を行う。図３の例においてはＩＮ３＝‘０’，Ｓ１＝‘０’，Ｓ２＝‘１’の各設定である。この設定Ｓ１＝‘０’，Ｓ２＝‘１’によって上記の如くピンＩＮ１→ＯＵＴ３のパスが導通する。ＩＮ１が‘１’→‘０’に変化するとき、ピンＩＮ１からは電荷が抜けなければならない。ここで上記の如く、ＩＮ１→ＯＵＴ３のパスが導通していれば、電荷の一部がＯＵＴ３にも抜け、ピンＩＮ１→ＯＵＴ３のパスが非導通の場合に比して結果的にディレイが小さくなる。
図８はこのような最小ディレイ用信号設定アルゴリズムを示すフローチャートである。動作の流れは基本的に上述の図７のアルゴリズムと同じである。但し、ステップＳ６５，Ｓ６６では、夫々、図７のステップＳ４５、Ｓ４６とは導通／非導通が逆であり、ステップＳ６１では、図７のステップＳ４１において「逆相」としているものを「同相」としている。いずれも最大ディレイ信号設定用アルゴリズムの場合とは逆に、着目ノードのチャージ時（０→１）には当該ノードからの電荷の逃げ場を作らないようにし、ディスチャージ時（１→０）には逆に積極的に逃げ場を作ることでディレイと小さくする。或いは、着目ノードから見たチャージ負荷容量を見かけ上小さくすることでチャージに要する時間を削減してディレイを小さくする。
又、図４Ａに示す場合のようにピンＩＮ１とピンＩＮ３との可能な信号の関係が外部で決定されている場合、図３の回路での活性パスＰに対する信号決定（ＩＮ１に対する信号設定）後のピンＩＮ３に対する最大（最小）ディレイ計算用の信号設定等の検討は不要となる。
次に「実回路動作を考慮した信号設定方法（アルゴリズム）」では、実際の回路動作を考慮した信号設定を行う。即ち、図４Ａ乃至４Ｃの場合、ピンＩＮ１とＩＮ３の反転関係を論理演算“ＩＮ１＝！ＩＮ３”（図４Ｂ）、可能な信号の関係を表す表“（ＩＮ１，ＩＮ３）：（１，０）、（０，１）”（図４Ｃ）等で記述されたものをアプリケーションにて解析出来るようにし、任意のノードに対する入力に関し、関連する他のノードの入力が決定された場合その信号値を一意、若しくは一定の範囲内に限定する処理を行う。
図９は上記実回路動作を考慮した信号設定アルゴリズムを示すフローチャートである。この場合、ステップＳ８１では予め用意された、例えば図４Ｂ等に示される論理演算情報を読み込み、ステップＳ８２では、図４Ｃ等に示される如くの入力信号として可能な組み合わせに関する情報を読み込む。そしてステップＳ８３では、シミュレーション対象の回路に関して別途与えられた信号設定状態を基に、ステップＳ８１，Ｓ８２にて読み込んだ条件情報に鑑みて信号設定を拡張する。即ち当該動作検証対象回路構成（設計データ）について、その使用目的に合致した様々な入出力条件を設定し、それらの条件に合致する、可能な回路論理動作を演算により求め、その論理動作の結果として得られる新たな信号設定を基に更に可能な論理動作を求める工程を繰り返す（ステップＳ８３、Ｓ８４によるループ）。このような動作を行なうことで、対象回路の使用目的に応じた、使用条件に合致した信号設定を行なう。その結果、その使用目的を加味した上で実回路に即したシミュレーションを実行可能となり、より効率的に所望のディレイ情報を得ることが可能となる。
例えば図１０Ａの回路例において、ピンＡ１に“１”の信号が設定され、ピンＡ２，Ａ３の信号が未決定の場合を考える。ここで、ピンＡ１が“１”である時、ピンＡ２は反転関係である“０”となることが、図１０Ｂに示す回路入力関連データ（図９のステップＳ８１にて読み込まれるものであり、図２中、データＤ１に該当する）の１行目より分かる。更に、同じく回路入力関連データの２行目より、ピンＡ２が“０”である時に、ピンＡ３がとり得る値は、“１”しかないので、Ａ３は“１”であることが分かる。従って図１０Ａの回路で、ピンＡ１が“１”である時、ピンＡ２は“０”，ピンＡ３は“１”となる。このように、外部条件をその使用状態に基づいて指定することにより、実際の使用状態に即した信号設定が可能となる。
しかしながらこのように実回路動作を考慮した信号設定ではトランジスタ回路を論理代数に変換しなければならず。巨大なカスタムセルでは回路上の全ての構成を論理代数に変更することは困難な場合も発生し得る。そのような場合においては上記の如くの最大／最小ディレイ計算用信号設定法を適宜適用することにより、目的に応じたディレイ計算を比較的簡易な構成にて行うことが可能である。上記、最大／最小ディレイ計算用信号設定法、実回路動作を考慮した信号設定法をどのように適用するかについては、予めルールとして外部より与えられるようにしておき、個々の回路構成やその使用目的によって適用ルールを適宜変更することによって様々なケースに対応出来るようにしておくことが望ましい。
図６は“活性パスの分岐に対する信号設定ルール”（図２中、データＤ２）としてのアルゴリズムを示す。即ち、ここでは図中の上に位置するほどその条件を適用する際の優先順位が高い。▲１▼は固定値指定条件を示し、「ノードＳ１には“１”、Ｓ３には“０”が設定されるべき」との内容を示す。▲２▼は信号設定ノード指定条件を示し、「ノードＩＮＸについては上記最小ディレイ計算用信号設定アルゴリズムを適用すべき」との内容を示す。▲３▼は所定ルールの適用の要否を示す条件であり、「所定の回路入力関連データに従って信号設定を行なうべき」との内容を示す。尚、この記述（▲３▼）が無い場合、アプリケーションは「回路入力関連データ」を無視して信号設定を行なうことになる。▲４▼は一般的ノードに対する適用アルゴリズムを指定する項目であり、“ＭＡＸ”の記述により、「特に指定の無かったノードについては最大ディレイ計算用信号設定アルゴリズムを適用すべき」との内容を示す。
又更に、他の条件によっては信号設定が行われなかった信号入力対象ノードについては、例えば図５に示す貫通電流対策条件による信号設定を適用する（図２のステップＳ７）。即ち、実際のＣＭＯＳ回路では、回路が絶縁破壊を起こしてしまうような信号設定が行われることはない。具体的には異常動作の原因としては図５に示すようなパストランジスタで構成される回路について、本来想定していない電源ノード（ＶＤＤ）→グランド（ＶＳＳ）への電気的ショートが発生し、貫通電流が流れてしまうことが挙げられる。ここではこのような状況発生防止のため、そのような異常動作を防止するために活性パスに関係を持たないトランジスタについては可能な限り非導通とする信号設定を行うことが望ましい。又、信号設定の際に電源ノードからグランドノードへの導通パスが出来ないようにチェックを行い、そのような信号設定を禁止する。
即ち本発明による実施例は、所定の回路部分の所定の動作における信号遅延を解析するにあたり、該所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して所定の条件による信号設定を行なう周辺回路信号設定手段を含み、当該信号設定による信号入力による影響を加味して当該所定の回路部分の所定の動作における信号伝播動作遅延を解析する回路解析装置であって、前記周辺回路信号設定手段が所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、当該回路部分に関連する条件によっては発生の可能性の無い信号設定を除いた範囲に限定するという条件、該当する所定の回路部分の所定の動作の遅延が最大となる信号設定を選択するという条件、該当する所定の回路部分の所定の動作の遅延が最小となる信号設定を選択するという条件、並びに当該回路部分の実際の使用条件に合致した信号設定を行うという条件の所定の組み合わせよりなる構成とすることが望ましい。
このように本発明では、ディレイ解析に必要なテストパターン生成についてパスの活性化という観点だけでなく、回路の負荷条件の再現という観点からも考慮を行い、より精度の高いディレイ計算を実現し得る。従って、超高速ＬＳＩ回路等において回路のクロック周波数が増加しても実回路状態に近い精度でディレイ値を得ることが出来る。具体的には、ディレイ計算用のシミュレーションパターンについて、実回路では起こり得ない信号設定を行わないことにより、ディレイ計算用のパターンを正確に求めることが出来る。又、ディレイ計算用のシミュレーションパターンについて、回路の特徴によりパターン生成手法を切り替えることにより、ディレイ計算用のパターンをより実回路条件に即したものとして求めることができる。
図１１は上述した本発明の実施例による回路解析動作を実行可能なコンピュータの一例の構成を示すブロック図である。同図に示す如く、当該コンピュータは上記回路解析動作を実施するＣＰＵ１１０と、ＲＯＭ，ＲＡＭ等よりなりＣＰＵ１１０の動作上必要となる一時的記憶手段等としての機能を有する記憶装置１２０と、キーボード、マウス等よりなり、操作者が所定の操作指示、データ等を当該コンピュータに入力するために入力装置１３０と、ＣＲＴ，液晶表示装置等よりなり、ＣＰＵ１１０による処理結果等を表示するための表示装置１４０と、補助記憶装置としてのハードディスク装置（以下、ＨＤＤと略称する）１２５と、外部からプログラム、データ等を取り込むためのＣＤ−ＲＯＭドライブ（ＤＶＤ−ＲＯＭドライブ等、同様の可搬記録媒体記録・再生装置でも良い）１５０と，インターネット、ＬＡＮ等の通信網を介して遠方との情報のやりとりを可能とするための所定の情報処理を行なうモデム１７０とよりなる。尚、上記各部分はバス１９０によって互いに接続され、互いに必要な情報のやりとりが可能な構成とされている。
当該コンピュータによって上述の本発明の実施例による回路解析動作を実行する際には、まず、図１と共に説明したシュミレーション入力パターンデータ作成部１０及びアナログ回路シュミレータ２０としての機能をコンピュータに実行させるためのソフトウェアプログラムを準備する。尚、当該プログラムの具体的作成、準備方法については、上記本発明の実施例の構成に対する説明内容によって当該技術分野におけるプログラム設計者の通常の設計能力をもって十分実施可能であり、ここではその詳細に対する説明は省略する。
そして、このソフトウェアプログラムを予めＣＤ−ＲＯＭ１６０等の可搬式記録媒体に格納し、この場合ＣＤ−ＲＯＭドライブ１５０を介して読み込み、これを一旦ＨＤＤ１２５に格納する。又同様にして図１に示す所定の回路データ３１をＣＤ−ＲＯＭドライブ１５０を介して読み込み、これも一旦ＨＤＤ１２５に格納する。そして操作者の入力装置１３０を介した操作入力等により、ＣＰＵ１１０が上記ソフトウェアプログラムをＨＤＤ１２５から読み出し、同様にＨＤＤ１２５から読み出した回路データ１３に基づき、ソフトウェアプログラムに含まれる命令に従って上述の本発明の実施例による回路解析動作を順次実行するものである。
尚その間、図１と共に述べた如く、シミュレーション入力パターンデータ作成部１０としてのプログラムによって作成された入力信号パターンデータ３２が更に回路データ３１と共にアナログ回路シミュレータ２０としてのプログラムで処理され、その結果ディレイライブラリ３３が作成される。このディレイライブラリ３３はＨＤＤ１２５、ＣＤ−ＲＯＭ１６０等に格納され、或いはモデム１７０を介してインターネット、ＬＡＮ等の通信網を介して遠方の所定のクライアントに対して送信される。
尚、本発明の実施例としての回路解析動作をコンピュータに実行させるプログラム及び回路データ３１等のコンピュータに対する取り込み方法としてＣＤ−ＲＯＭドライブ１５０を介して行なう方法につき説明したが、この方法に限られず、このような可搬記録媒体を介さず、インターネット、ＬＡＮ等の通信網２００を介して遠方の所定のサーバから直接取り込むことも可能である。
尚、本発明は上記実施例に限られず、本発明の基本思想を踏襲する限りにおいて様々な他の実施例が考案可能なことは言うまでも無い。
【図１】
2004079600.tif 000003
【図２】
2004079600.tif 000004
【図３】
2004079600.tif 000005
2004079600.tif 000006
【図５】
2004079600.tif 000007
【図６】
2004079600.tif 000008
【図７】
2004079600.tif 000009
【図８】
2004079600.tif 000010
【図９】
2004079600.tif 000011
2004079600.tif 000012
【図１１】
2004079600.tif 000013
【国際調査報告】
2004079600.tif 000014
2004079600.tif 000015
2004079600.tif 000016
2004079600.tif 000017