(57)【特許請求の範囲】
【請求項１】
コンピュータによって論理回路の遅延を計算する方法であって、
複数のゲートと前記複数のゲートをそれぞれ接続する複数の配線とを含む論理回路を、可変電圧源と抵抗からなるゲートとそのゲートに接続されＲＣネットとなる配線とを単位とする複数の単位回路に分割する第１のステップと、
前記単位回路毎に固定入力波形鈍りを与えたときの出力遅延を仮出力波形鈍りとして求める第２のステップと、
前記単位回路毎に当該単位回路の入力に接続させる単位回路の前記仮出力波形鈍りを仮入力波形鈍りとして与えたときの出力遅延を当該単位回路の出力波形鈍りとして求める第３のステップと、
前記単位回路毎に当該単位回路の入力に接続される単位回路の前記出力波形鈍りを入力波形鈍りとして与え当該単位回路の伝播遅延時間を求める第４のステップとを含み、
前記第２乃至第４のステップにおいて前記複数の単位回路について同時に並行して処理されることを特徴とする論理回路の遅延計算方法。
【請求項２】
前記単位回路の伝播遅延時間に基いて前記論理回路に対する入力信号が変化してから出力信号が変化するまでの信号の伝播遅延時間を求める第５のステップをさらに備えたことを特徴とする請求項１記載の論理回路の遅延計算方法。
【請求項３】
単位回路の仮出力波形鈍りと出力波形鈍りとの差異が一定値以内に収束するまで前記出力波形鈍りに基いて仮出力波形鈍りを与え直して前記第３のステップを繰り返すことを特徴とする請求項１または２記載の論理回路の遅延計算方法。
【請求項４】
前記第１のステップは、ゲートとそのゲートの出力に接続される配線とを単位として分割するステップであって、前記第２のステップは、ゲートを前記固定入力波形鈍りで電圧が変化する可変電圧源と抵抗のモデルに置き換え、配線の抵抗、容量成分をπ型ネットに縮退して前記仮出力波形鈍りを求めるステップであることを特徴とする請求項１乃至３いずれか１項記載の論理回路の遅延計算方法。
【請求項５】
前記第３のステップは、ゲートを前記仮入力波形鈍りで電圧が変化する可変電圧源と抵抗のモデルに置き換え、配線の抵抗、容量成分をπ型ネットに縮退して前記出力波形鈍りを求めるステップであることを特徴とする請求項４記載の論理回路の遅延計算方法。
【請求項６】
複数のゲートと前記複数のゲートをそれぞれ接続する複数の配線とを含む論理回路を、可変電圧源と抵抗からなるゲートとそのゲートに接続されＲＣネットとなる配線とを単位とする複数の単位回路に分割する回路分割手段と、前記単位回路毎に固定入力波形鈍りを与えたときの出力遅延を仮出力波形鈍りとして求める単位回路仮出力波形鈍り算出手段と、
前記単位回路毎に当該単位回路の入力に接続させる単位回路の前記仮出力波形鈍りを仮入力波形鈍りとして与えたときの出力遅延を当該単位回路の出力波形鈍りとして求める単位回路出力鈍り算出手段と、
前記単位回路毎に当該単位回路の入力に接続される単位回路の前記出力波形鈍りを入力波形鈍りとして与え当該単位回路の伝播遅延時間を求める単位回路伝播遅延時間算出手段とを含み、前記複数の単位回路について前記仮出力鈍り、出力波形鈍り及び伝播遅延時間が夫々同時に並行して算出されることを特徴とする論理回路の遅延計算装置。
【請求項７】
前記単位回路出力波形鈍り算出手段は、全ての単位回路の仮出力波形鈍りと出力波形鈍りとの差異が一定値以内に収束するまで前記出力波形鈍りに基いて仮出力波形鈍りを与え直して出力波形鈍りの算出を繰り返すことを特徴とする単位回路出力鈍り算出手段であることを特徴とする請求項６記載の論理回路の遅延計算装置。
【請求項８】
前記回路分割手段は、ゲートとそのゲートの出力に接続される配線とを単位として論理回路を分割する回路分割手段であって、
前記単位回路仮出力波形鈍り算出手段は、ゲートを前記固定入力波形鈍りで電圧が変化する可変電圧源と抵抗のモデルに置き換え、配線の抵抗、容量成分をπ型ネットに縮退して前記仮出力波形鈍りを求める単位回路仮出力波形鈍り算出手段であることを特徴とする請求項６または７記載の論理回路の遅延計算装置。
【請求項９】
前記単位回路出力波形鈍り算出手段は、ゲートを前記仮入力波形鈍りで電圧が変化する可変電圧源と抵抗のモデルに置き換え、配線の抵抗、容量成分をπ型ネットに縮退して前記出力波形鈍りを求める単位回路出力波形鈍り算出手段であることを特徴とする請求項８記載の論理回路の遅延計算装置。
【請求項１０】
コンピュータに論理回路の遅延計算を実行させるためのプログラムを記録した記録媒体であって、
複数のゲートと前記複数のゲートをそれぞれ接続する複数の配線とを含む論理回路を、可変電圧源と抵抗からなるゲートとそのゲートに接続されＲＣネットとなる配線とを単位とする複数の単位回路に分割する第１のステップと、
前記単位回路毎に固定入力波形鈍りを与えたときの出力遅延を仮出力波形鈍りとして求める第２のステップと、
前記単位回路毎に当該単位回路の入力に接続させる単位回路の前記仮出力波形鈍りを仮入力波形鈍りとして与えたときの出力遅延を当該単位回路の出力波形鈍りとして求める第３のステップと、
前記単位回路毎に当該単位回路の入力に接続される単位回路の前記出力波形鈍りを入力波形鈍りとして与え当該単位回路の伝播遅延時間を求める第４のステップとを含み、前記第２乃至第４のステップにおいて前記複数の単位回路について同時に並行して処理されることを特徴とする論理回路の遅延計算プログラムを記録した記録媒体。
【請求項１１】
前記単位回路の伝播遅延時間に基いて前記論理回路に対する入力信号が変化してから出力信号が変化するまでの信号の伝播遅延時間を求める第５のステップをさらに備えたことを特徴とする請求項１０記載の論理回路の遅延計算プログラムを記録した記録媒体。
【請求項１２】
単位回路の仮出力波形鈍りと出力波形鈍りとの差異が一定値以内に収束するまで前記出力波形鈍りに基いて仮出力波形鈍りを与え直して前記第３のステップを繰り返すことを特徴とする請求項１０または１１記載の論理回路の遅延計算プログラムを記録した記録媒体。
【請求項１３】
前記第１のステップは、ゲートとそのゲートの出力に接続される配線とを単位として分割するステップであって、
前記第２のステップは、ゲートを前記固定入力波形鈍りで電圧が変化する可変電圧源と抵抗のモデルに置き換え、配線の抵抗、容量成分をπ型ネットに縮退して前記仮出力波形鈍りを求めるステップであることを特徴とする請求項１０乃至１２いずれか１項記載の論理回路の遅延計算プログラムを記録した記録媒体。
【請求項１４】
前記第３のステップは、ゲートを前記仮入力波形鈍りで電圧が変化する可変電圧源と抵抗のモデルに置き換え、配線の抵抗、容量成分をπ型ネットに縮退して前記出力波形鈍りを求めるステップであることを特徴とする請求項１３記載の論理回路の遅延計算プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は論理回路の遅延計算方法、論理回路の遅延計算装置および論理回路の遅延計算プログラムを記録した媒体に関する。特に信号のパスに沿って入力端子から順番に各ゲートに対する入力波形鈍りを求めていかなくてもＶＬＳＩ回路の遅延時間を高速かつ高精度に計算できる論理回路の遅延計算方法、論理回路の遅延計算装置および論理回路の遅延計算プログラムを記録した媒体に関する。
【０００２】
【従来の技術】
ＶＬＳＩの開発に、回路の遅延時間を求め、回路が動作するかどうかを検証する工程がある。その回路の遅延時間の計算は、ＳＰＩＣＥ（Ｓｉｍｕｌａｔｉｏｎ  Ｐｒｏｇｒａｍ  ｗｉｔｈ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｅｍｐｈａｓｉｓ）での電圧波形の解析で行なえる。
【０００３】
しかし、ＳＰＩＣＥによる回路の遅延時間の計算方法は、回路全体に対して過渡解析を行なうため、大規模化の進むＶＬＳＩに対しては、実用時間内の解析が不可能という問題点がある。
【０００４】
上述の問題点を解決する従来の遅延計算方法の一例が、特開平１０−１９９９９０号公報に記載されており、図１１（ａ）はこの公報に記載されている遅延計算方法の模式図を示している。図１１（ａ）に示した方法では、配線遅延をゲート遅延に足し込んだ形で計算が行なわれている。図１１（ａ）において、図１１（ｂ）の回路の遅延時間を求める方法について説明する。まず、図１１（ａ）のステップ９０１で、第１段ゲート９０５に対して、回路入力の電圧波形の鈍り９０８を用いて、ゲート９０５の遅延時間および次段ゲート９０６への入力波形鈍り９０９を下記の（１）式、（２）式を用いて計算する。
（１）  ｔｐｄ＝ｔ０＋Ｋｓｉ×Ｓ＋（Ｋｓ０×Ｓ＋Ｋｃｌ＋Ｒｏ）×Ｃ０
（２）  ｔｒｆ＝ｓ０＋Ｓｓｉ×Ｓ＋（Ｓｓ０×Ｓ＋Ｓｃｌ＋Ｒ）×Ｃ
但し、Ｒ，Ｃは最終ゲートと前段ゲート間の配線負荷抵抗、配線負荷容量で、ｓは最終ゲートへの入力波形鈍り（即ち前段のｔｒｆ）、Ｒ０、Ｃ０は最終ゲートの出力負荷抵抗、出力負荷容量であり、ｔ０、Ｋｓｉ、Ｋｓｏ、Ｋｃｌ、ｓ０、Ｓｓｉ、Ｓｓｉはパラメータである。
【０００５】
次にステップ９０２で、第２段ゲート９０６に対して、求められた入力波形鈍り９０９を用いて、上記（１）式、（２）式から、ゲート９０６の遅延時間および次段ゲートへの入力波形鈍りを計算する。このようにして、順次ゲート毎に求められた入力波形鈍りを用いて、ゲートの遅延時間と次段ゲートへの入力波形鈍りを求めていく。そして、最終ゲート９０７に至るまでこれを繰り返し、求められた最終ゲート９０７の入力波形鈍り９１０を用い、上記（１）式、（２）式から最終ゲート９０７の遅延時間と出力波形鈍りを求める。
【０００６】
以上のように、従来法では  上記（１）式、（２）式を用いて、回路の入力側からパストレースをしながら各ゲートの遅延時間および次段ゲートへの入力波形鈍りを求めることができる。
【０００７】
【発明が解決しようとする課題】
上述した従来の遅延計算方法には、以下の問題点がある。
【０００８】
第１の問題点としては、順序回路等のループを含む回路に対して一貫した遅延計算が行なえない点である。
【０００９】
その理由に関して、図１２（ａ）のような３段のゲートから構成された回路に対して、入力波形鈍り３０７を入力に与えた場合の計算例で説明する。
【００１０】
まず、図１２（ｂ）のように回路の入力から与えられた入力波形鈍り３０７を使用して、第１段ゲート３０１のゲート遅延３２６、ＲＣネット３０４の配線遅延３１９および次段ゲート３０２への入力波形鈍り３２０を求める。
【００１１】
次に、図１２（ｃ）のように第２段ゲート３０２に関して遅延計算を行ないたいわけだが、入力波形鈍り３２８が求まっていないので、前段のゲート３０３の遅延計算へ移る。
【００１２】
図１２（ｄ）のように、第３段ゲート３０３に関しても入力波形鈍り３２９が求まっていないので、前段のゲート３０２の遅延計算へ移る。
【００１３】
そうすると、図１３（ｅ）のように入力波形鈍り３２８が求まっていない第２段ゲート３０２の遅延計算へ戻ってしまう。よって、信号が伝播していく順番に入力から出力に対して順次遅延計算を行う従来例ではここで遅延計算がとまってしまう。そこで、このままでは遅延計算が行なえないので、図１３（ｆ）のように第３段ゲート３０３へ任意の入力波形鈍り３３０を与えて、第２段ゲート３０２への入力波形鈍り３１２を求めて、遅延計算を続ける。つまり、信号の伝播する順番に遅延計算を行う遅延計算方法では、この時点で一貫性のない遅延計算を行なうことになる。
【００１４】
そして、図１３（ｇ）のように、第２段ゲート３０２に対して、入力波形鈍り３１２、３２０を使用して遅延計算を行ない、ゲート遅延３２５、配線遅延３１７、次段ゲート３０３への入力波形鈍り３１８を求める。
【００１５】
最後に、図１３（ｈ）のように、第３段ゲート３０３に対して、入力波形鈍り３１８を使用して、遅延計算を行ない、ゲート遅延３２７、配線遅延３２１、３２２および出力波形鈍り３２３、３２４を求める。
【００１６】
以上のように従来例では、回路中にループがある場合、図１０（ｆ）のように任意の入力波形鈍り３３０を使用するといった一貫性のない処理を行なわなくてはならない。任意の入力波形鈍り３３０を使用した場合には、遅延計算の精度も得られない。
【００１７】
第２の問題点としては、遅延計算の処理が遅いことである。その理由は、入力波形鈍りが求まっていないゲートに対しては、遅延計算が行えないため、前段ゲートへの後戻り処理を行なつて波形鈍りを求めなければならず、処理が複雑になるからである。また、前段ゲートの遅延計算を行い出力波形鈍りを求めてからでなければ次段ゲートの遅延計算が行えないため、複数のコンピュータを用いて並列処理により、遅延計算の高速化を行うことも困難である。
【００１８】
本発明の目的は、遅延計算を信号の伝播経路の順番に行う必要がなく、順序回路等のループを含んだ回路に対しても一貫性を持った信頼性の高い遅延計算方法、遅延計算装置および遅延計算プログラムを記録した媒体を提供することである。
【００１９】
また、本発明の別の目的は、前段ゲートへの後戻り処理を行なわずに、ＳＰＩＣＥに近い精度が得られ、かつ高速な遅延計算方法、遅延計算装置および遅延計算プログラムを記録した媒体を提供することである。
【００２０】
さらに、別な本発明の目的は、容易に並列処理による高速化を可能とする遅延計算方法、遅延計算装置および遅延計算プログラムを記録した媒体を提供することである。
【００２１】
【課題を解決するための手段】
本発明の論理回路の遅延計算方法はコンピュータによって論理回路の遅延を計算する方法であって、
複数のゲートと前記複数のゲートをそれぞれ接続する複数の配線とを含む論理回路を、可変電圧源と抵抗からなるゲートとそのゲートに接続されＲＣネットとなる配線とを単位とする複数の単位回路に分割する第１のステップと、
前記単位回路毎に固定入力波形鈍りを与えたときの出力遅延を仮出力波形鈍りとして求める第２のステップと、
前記単位回路毎に当該単位回路の入力に接続させる単位回路の前記仮出力波形鈍りを仮入力波形鈍りとして与えたときの出力遅延を当該単位回路の出力波形鈍りとして求める第３のステップと、
前記単位回路毎に当該単位回路の入力に接続される単位回路の前記出力波形鈍りを入力波形鈍りとして与え当該単位回路の伝播遅延時間を求める第４のステップとを含み、
前記第２乃至第４のステップにおいて前記複数の単位回路について同時に並行して処理されることを特徴とする。
【００２２】
また、本発明の論理回路の遅延計算装置は、複数のゲートと前記複数のゲートをそれぞれ接続する複数の配線とを含む論理回路を、可変電圧源と抵抗からなるゲートとそのゲートに接続されＲＣネットとなる配線とを単位とする複数の単位回路に分割する回路分割手段と、
前記単位回路毎に固定入力波形鈍りを与えたときの出力遅延を仮出力波形鈍りとして求める単位回路仮出力波形鈍り算出手段と、
前記単位回路毎に当該単位回路の入力に接続させる単位回路の前記仮出力波形鈍りを仮入力波形鈍りとして与えたときの出力遅延を当該単位回路の出力波形鈍りとして求める単位回路出力鈍り算出手段と、
前記単位回路毎に当該単位回路の入力に接続される単位回路の前記出力波形鈍りを入力波形鈍りとして与え当該単位回路の伝播遅延時間を求める単位回路伝播遅延時間算出手段とを含み、前記複数の単位回路について前記仮出力鈍り、出力波形鈍り及び伝播遅延時間が夫々同時に並行して算出されることを特徴とする。
【００２３】
さらに、本発明の論理回路の遅延計算プログラムを記録した記録媒体は、コンピュータに論理回路の遅延計算を実行させるためのプログラムを記録した記録媒体であって、
複数のゲートと前記複数のゲートをそれぞれ接続する複数の配線とを含む論理回路を、可変電圧源と抵抗からなるゲートとそのゲートに接続されＲＣネットとなる配線とを単位とする複数の単位回路に分割する第１のステップと、
前記単位回路毎に固定入力波形鈍りを与えたときの出力遅延を仮出力波形鈍りとして求める第２のステップと、
前記単位回路毎に当該単位回路の入力に接続させる単位回路の前記仮出力波形鈍りを仮入力波形鈍りとして与えたときの出力遅延を当該単位回路の出力波形鈍りとして求める第３のステップと、
前記単位回路毎に当該単位回路の入力に接続される単位回路の前記出力波形鈍りを入力波形鈍りとして与え当該単位回路の伝播遅延時間を求める第４のステップとを含み、前記第２乃至第４のステップにおいて前記複数の単位回路について同時に並行して処理されることを特徴とする。
【００２４】
【発明の実施の形態】
次に本発明の第１の実施の形態について図面を参照して詳細に説明する。図１は、第１の実施の形態の構成を示すブロック図である。図１を参照すると、本発明の第１の実施の形態は、ハードディスク等のファイルの入力装置１１と、プログラム制御により動作するデータ処理装置１２と、情報を記憶する記憶装置１３と、ディスプレイ装置、ファイル装置などの出力装置１４とを含む。
【００２５】
記憶装置１３は、ゲート・ＲＣネット記憶装置１３１と仮の入力波形鈍り記憶装置１３２と入力波形鈍り記憶装置１３３とを備えている。ゲート・ＲＣネット記憶装置１３１は、入力された回路の情報であるゲート、ＲＣネットを記憶する。なお、入力端子または出力端子とゲートとの間、またはゲートとゲートとの間を接続する配線は、抵抗と容量からなるＲＣネットとして取り扱われる。仮の入力波形鈍り記憶装置１３２は、π型ネットから計算された波形鈍りを記憶する。入力波形鈍り記憶装置１３３は、仮の入力波形鈍りとＲＣネットを使用して計算された出力波形鈍りを記憶する。
【００２６】
データ処理装置１２は、ゲート・ＲＣネット記憶手段１２１と、π型ネット変換手段１２２と、仮の入力波形鈍り算出手段１２３と、配線遅延・出力波形鈍り算出手段１２４と、ゲート遅延算出手段１２５とを備える。ゲート・ＲＣネット記憶手段１２１は、入力装置１１から遅延計算の対象とする論理回路のゲート及び配線の情報を読み込み、ゲート・ＲＣネット記憶装置１３１へ記憶させる。π型ネット変換手段１２２は、ゲート及びゲートの出力に接続されるＲＣネットをゲート・ＲＣネット記憶装置１３１から取り出し、ゲートを可変電圧源と抵抗のモデルに、ＲＣネットをπ型ネットへ変換してπ型ネットの出力波形鈍り算出手段１２３へそのゲートモデルとπ型ネットとを渡す処理を行なう。仮の入力波形鈍り算出手段１２３は、π型ネット変換手段１２２からゲートモデルとπ型ネットとを受け取り、仮の入力波形鈍りを計算して、仮の入力波形鈍り記憶装置１３２へ記憶する処理を行なう。配線遅延・出力波形鈍り算出手段１２４は、ゲート・ＲＣネット記憶装置１３１からゲートおよびＲＣネットを取り出し、仮の入力波形鈍り記憶装置１３２からそのゲートへの仮の入力波形鈍りを取り出して、配線遅延および出力波形鈍りを計算して出力装置１４に出力する。また、出力波形鈍りを次段のゲートへの入力波形鈍りとして、入力波形鈍り記憶装置１３３へ記憶する。ゲート遅延算出手段１２５は、ゲート・ＲＣネット記憶装置１３１からゲートおよびＲＣネットを取り出し、入力波形鈍り記憶装置１３３からそのゲートへの入力波形鈍りを取り出して、ゲート遅延を計算して出力装置１４へ出力する。
【００２７】
次に図１乃至図４を参照して、第１の実施の形態の動作について詳細に説明する。
【００２８】
まず、図２のステップ２０１で、図１のゲート・ＲＣネット読込み手段１２１は、入力装置１１から図３（ａ）に図示する遅延計算の対象とする論理回路中のすべてのゲート・ＲＣネットを読み込み、ゲート・ＲＣネット記憶装置１３１へ記憶させる。前述したように、配線はＲＣネットとして取り扱われる。
【００２９】
次に、ステップ２０２で、ゲート・ＲＣネット記憶装置１３１から、１個のゲートとそのゲートの出力に接続されているＲＣネットを１組の単位回路として取り出す。たとえば、図３（ａ）のゲート１とＲＣネット１、ゲート２とＲＣネット２、ゲート３とＲＣネット３（ゲート２の入力に接続されているＲＣネット３と外部に出力されるＲＣネット３の両方）はそれぞれ単位回路を構成する。このステップ２０２は、遅延計算の対象とする論理回路全体から１つのゲートとＲＣネットとからなる単位回路を分割していると考えることもできる。
【００３０】
次に、ステップ２０３で、ステップ２０２で分割した単位回路のゲートを可変電圧源と抵抗のモデルに、ＲＣネットをπ型ネットへ変換する。たとえば、図３（ｂ）に示すようにゲート３０１は電圧源と抵抗Ｒｄ１のモデルに置き換え、ＲＣネット３０４は、容量Ｃｂ１、Ｃａ１、抵抗Ｒ１からなるπ型ネット３０８に変換する。
【００３１】
次に、ステップ２０４で、単位回路への入力として固定入力鈍りを与え、ステップ２０３で変換したゲートモデルとπ型ネットを用いて単位回路の出力波形として仮出力鈍りを算出し、その単位回路の出力が接続される単位回路の仮入力波形鈍りとして仮の入力波形鈍り記憶部１３２に記憶する。たとえば、図３（ｄ）の電圧波形３１１のように可変電圧源に固定時間Δｔ’で０Ｖから電源電圧Ｖｄｄまで立ち上がるランプ入力を与えて、ゲートモデルとπ型ネット３０８を用いて、π型ネット３０８の出力波形鈍りを計算し、ゲート３０２及びＲＣネット３０５からなる単位回路の仮入力波形鈍りとして、仮の入力波形鈍り記憶装置１３２へ記憶する。図３（ｃ）、（ｅ）も図３（ｄ）と同様である。ただし、図３（ｅ）で他のゲートの入力とされていない外部に出力されるＲＣネット３０６については仮入力波形鈍りの算出の必要はないので図示していない。
【００３２】
次に、ステップ２０５で、すべてのネットに対してπ型変換および仮の入力波形鈍りの計算が終了していない場合は、他の単位回路についてステップ２０２からステップ２０４の処理を繰り返す。全ての単位回路について、ステップ２０２からステップ２０４の処理が完了した場合には、ステップ２０６へ進む。なお、このステップ２０２からステップ２０５の処理は単位回路間の接続とは無関係に単位回路毎に任意の順番で処理を行うことが可能である。従って、複数のデータ処理装置を用いて複数の単位回路について同時に並行して処理することも可能である。
【００３３】
次に、ステップ２０６で、ゲート・ＲＣネット記憶装置１３１から、１個の単位回路に含まれる１組のゲートとＲＣネットとを取り出す。その単位回路への入力波形の鈍りを、仮の入力波形鈍り記憶部１３２から取り出す。
【００３４】
次に、ステップ２０７で、ステップ２０６で取り出した仮の入力波形鈍りを用いてその単位回路に含まれるＲＣネットによる配線遅延と単位回路の出力波形鈍りを計算し、出力装置１４へ出力する。また、この出力波形鈍りは、その単位回路の出力が接続される単位回路の入力波形鈍りとして入力波形鈍り記憶部１３３に記憶される。ステップ２０７では、ステップ２０４では、単位回路への入力として固定入力波形鈍りを与えていたのに対して、仮の入力波形鈍り記憶部から取り出した仮入力波形鈍りを用いて、出力波形鈍りを計算するので、ステップ２０４で計算した出力波形鈍りに対してより正確な出力波形鈍りを計算することができる。また、この実施の形態では、ＲＣネットをπ型ネットに縮退せずに元のＲＣネットを用いてより正確に出力鈍り及び配線遅延を計算している。たとえば、図３（ｆ）ではゲート３０２に対する入力鈍りとして、固定時間Δｔ’で変化する鈍りを与えるのではなく、図３（ｄ）と図３（ｅ）で求めたｔｒｆ２‘を仮入力鈍りとして与え、π型ネット３０９ではなく、元のＲＣネット３０５を用いて配線遅延ｔｗｉｒｅ２と出力鈍りｔｒｆ３を求めている。図４（ｇ）、（ｈ）も同様である。なお、図４（ｈ）に示すように他のゲート入力に接続されず外部に出力されるＲＣネット３０６についても配線遅延ｔｗｉｒｅ３Ｂ、出力波形鈍りｔｒｆ４が計算される。
【００３５】
次に、ステップ２０８で、すべての単位回路に対して配線遅延および出力波形鈍りの計算が終了していない場合は、ステップ２０６へ戻る。終了した場合は、ステップ２０９へ進む。なお、このステップ２０６からステップ２０８の処理についても単位回路毎に任意の順番で処理を行うことが可能である。また、複数のデータ処理装置を用いて複数の単位回路について同時に並行して処理することも可能である。
【００３６】
次に、ステップ２０９で、ゲート・ＲＣネット記憶装置１３１から、１個の単位回路に含まれる１組のゲートおよびＲＣネットを取り出し、そのゲートへの入力波形鈍りを入力波形鈍り記憶装置１３３から取り出す。
【００３７】
次に、ステップ２１０では、ステップ２０９で取り出した入力波形鈍りを用いてその単位回路に含まれるゲートのゲート遅延を計算し、出力装置１４へ出力する。ゲート遅延の計算は、下記の（３）式の計算式によりテーブルルックアップ方式で、図示しない遅延テーブルを参照して求められる。
（３）  ｔｐｄ＝ｔｐｄ＿ｔａｂｌｅ（ｔｒｆ、ＣＬ）
ここで、ｔｐｄ＿ｔａｂｌｅは遅延テーブル、ｔｒｆは入力波形鈍り、ＣＬはゲートの負荷容量である。ステップ２１０では、ステップ２０４で求めた仮入力鈍りよりさらに正確なステップ２０７で求めた入力鈍りを用いてゲート遅延の算出を行うので、ステップ２０４で求めた仮入力波形鈍りを用いてゲート遅延を算出する場合に比べてより正確なゲート遅延を算出することができる。また、テーブルルックアップ方式を用いてゲート遅延を算出するので、正確かつ高速にゲート遅延を算出することができる。たとえば、図４（ｉ）では、図４（ｇ）と図４（ｈ）で求めた入力波形鈍りｔｒｆ２を用いてテーブルルックアップ方式によりゲート遅延ｔｐｄ２を求めているので、正確かつ高速にゲート遅延を求めることができる。図４（ｊ）、（ｋ）も図４（ｉ）と同様である。
【００３８】
なお、図示はしないが、ステップ２０７で求めた配線遅延ｔｗｉｒｅとステップ２１０で求めたｔｐｄを加算することにより１つの単位回路に対して入力が与えられてから出力が変化するまでの伝播遅延時間を求めることができる。
【００３９】
次に、ステップ２１１で全ての単位回路に対してゲート遅延の計算が終了していない場合には、ステップ２０９へ戻る。また、ゲート遅延の計算が終了した場合は、図２の流れ図が終了となる。なお、このステップ２０９からステップ２１１の処理についても単位回路毎に任意の順番で処理を行うことが可能である。また、複数のデータ処理装置を用いて複数の単位回路について同時に並行して処理することも可能である。
【００４０】
なお、ゲート３０１のように他の単位回路の出力信号ではなく、外部端子から直接信号が与えられるゲートはステップ２０７及びステップ２１０で、外部から与えられる信号の鈍りがそのまま入力波形鈍りとして与えられる。
【００４１】
ここで、この明細書で使われる入力波形鈍りｔｒｆ、ゲート遅延ｔｐｄ、配線遅延ｔｗｉｒｅがそれぞれどのような意味を持つ値であるのか、説明をしておく。図１４は、入力波形鈍りｔｒｆ、ゲート遅延ｔｐｄ、配線遅延ｔｗｉｒｅの説明図である。
【００４２】
入力波形鈍りｔｒｆは入力波形がＶｔｈＬからＶｔｈＨまで変化する時間をＶｄｄ／（ＶｔｈＨ−ＶｔｈＬ）倍した値である。ここで、Ｖｄｄは電源電圧で、ＶｔｈＬ、ＶｔｈＨは下記の（４）式を満足する任意の電圧値である。
（４）  ０＜ＶｔｈＬ＜ＶｔｈＨ＜Ｖｄｄ
ゲート遅延ｔｐｄはゲート入力電圧がＶｔｈに達してからゲート出力電圧がＶｔｈに達する時間である。また、配線遅延ｔｗｉｒｅは、ゲート出力電圧がＶｔｈに達してから次段ゲート入力電圧がＶｔｈに達するまでの時間である。ここで、Ｖｔｈは、論理閾値電圧で０＜Ｖｔｈ＜Ｖｄｄを満足する任意の電圧値である。ゲート遅延ｔｐｄと配線遅延ｔｗｉｒｅを加算すればその単位回路の伝播遅延時間を求めることができる。
【００４３】
また、単位回路の伝播遅延時間は、単位回路に対する入力の立ち上がりと立下りに対してそれぞれ計算される。また、複数の入力を有する単位回路については、それぞれの入力の立ち上がり、立下りに対して遅延計算が行われ、出力の立ち上がり、立下りについて遅延が最も大きいデータと小さいデータが記録される。たとえば、ゲート３０２とＲＣネット３０５からなる単位回路に対しては、ＲＣネット１の立ち上がり、立下り、及びＲＣネット３の立ち上がり、立下りそれぞれの場合について出力波形鈍り、伝播遅延時間が計算され、立ち上がり出力遅延の最も大きいデータと小さいデータ、立下り出力遅延の最も大きいデータと小さいデータが出力装置１４、入力波形鈍り記憶部１３３に対してそれぞれ出力される。
【００４４】
さらに、遅延計算の対象となる論理回路に含まれる全ての単位回路について、上記伝播遅延時間、ゲート遅延ｔｐｄ、配線遅延ｔｗｉｒｅが求まっていれば、論理回路の任意の入力端子または観測点から、任意の出力端子または観測点までの信号の伝播時間を、信号伝播経路に含まれる単位回路の伝播遅延時間または、ゲート遅延ｔｐｄ、配線遅延ｔｗｉｒｅを単純に加算することで容易に求めることができる。本発明の方法で求めた単位回路の伝播遅延時間または、ゲート遅延ｔｐｄ、配線遅延ｔｗｉｒｅは実際の論理回路の中で使用された場合の入力波形鈍りを考慮しているので、単位回路の遅延を加算しただけでも論理回路の伝播遅延時間を非常に正確に求めることができる。
【００４５】
また、上述した実施の形態の説明では、各単位回路についてステップ２０７による仮入力波形鈍りｔｒｆ’を使用した出力（次段への入力）波形鈍りｔｒｆの計算は各単位回路について１回づつしか行わなかったが、仮の入力波形鈍り記憶部１３２に記憶された仮入力波形鈍りｔｒｆ’とステップ２０７で求め入力波形鈍り記憶部１３３に記憶された入力波形鈍りｔｒｆとの差異が大きい場合には、入力波形鈍り記憶部１３３に記憶された入力波形鈍りｔｒｆを仮の入力波形記憶部１３２にコピーし、ステップ２０６からステップ２０８の処理を繰り返すことにより、さらに精度の高い配線遅延ｔｗｉｒｅ、出力波形鈍りｔｒｆを求めることもできる。
【００４６】
この場合は、ステップ２０８の後に仮の入力波形記憶部１３２に記憶された仮入力波形鈍りｔｒｆ’と入力波形記憶部１３３に記憶された入力波形鈍りｔｒｆを単位回路毎に比較し、すべての単位回路について入力波形鈍りｔｒｆと仮入力波形鈍りｔｒｆ’との差が一定値以内であれば、ステップ２０９へ進む。一方、１つでも入力波形鈍りｔｒｆと仮入力波形鈍りｔｒｆ’との差が一定値を超えるものがある場合は、入力波形記憶部１３３に記憶されたすべての入力波形鈍りｔｒｆを仮の入力波形記憶部１３２にコピーし、ステップ２０６へ戻る。また、配線遅延ｔｗｉｒｅ、出力波形鈍りｔｒｆは、ステップ２０７で出力装置１４に出力するのではなく、とりあえず図示しないバッファーに格納しておき、ステップ２１１の後に、全ての単位回路についてまとめて、バッファーから出力装置１４に、配線遅延ｔｗｉｒｅ、出力波形鈍りｔｒｆ、ゲート遅延ｔｐｄを出力するようにすればよい。
【００４７】
また、入力波形鈍りｔｒｆを単純に新たな仮入力鈍りｔｒｆ’として仮の入力波形記憶部１３２にコピーしただけでは入力波形鈍りｔｒｆの値が発振してしまって一定の値に収束しないような場合があれば、入力波形鈍りｔｒｆと仮入力波形鈍りｔｒｆ’の中間の値を新たな仮入力波形鈍りｔｒｆ’として仮の入力波形記憶部１３２に記憶させてステップ２０６からステップ２０８の処理を繰り返せばよい。
【００４８】
次に、本発明の第２の実施の形態について図面を参照して説明する。第２の実施の形態の説明は第１の実施の形態と相違する点のみを重点的に説明し、第１の実施の形態と共通する点については、説明の冗長を避けるために省略する。
【００４９】
図５を参照すると、本発明の第２の実施の形態は、記憶装置１３に対して、図１に示された第１の実施の形態における記憶装置１３にπ型ネット記憶部１３４が加えられている点で異なる。
【００５０】
また、データ処理装置１２に対して、図１の配線遅延算出・出力波形鈍り算出手段１２４およびゲート遅延算出手段１２５の代わりに図５のπ型ネットによる配線遅延算出・出力波形鈍り算出手段１２６およびπ型ネットによるゲート遅延算出手段１２７にそれぞれ置き換えられている点で異なる。
【００５１】
図５のπ型ネット記憶部１３４は、π型変換手段１２２によりＲＣネットから変換されたπ型ネットを記憶する。
【００５２】
π型ネットによる配線遅延算出・出力波形鈍り算出手段１２６は、仮の入力波形鈍り記憶部１３２から仮の入力波形鈍りとπ型ネット記憶部１３４からπ型ネットを受け取り、配線遅延および出力波形鈍りを求める。
【００５３】
π型ネットによるゲート遅延算出手段１２７は、ゲート・ＲＣネット記憶部１３１からゲートを受け取り、入力波形鈍り記憶部１３３からそのゲートへの入力波形鈍りとπ型ネット記憶部１３４からπ型ネットを受け取り、ゲート遅延を求める。
【００５４】
本発明の第２の実施の形態の動作について第１の実施の形態と異なる点について図５乃至図８を参照し、第１の実施の形態を説明する図２、図３と対比しながら説明する。
【００５５】
第１の実施の形態では、ステップ２０３で変換された単位回路のゲートモデル、π型ネットはステップ２０４で仮出力波形鈍りの計算に用いられただけであつたが、第２の実施の形態では、ステップ２０３で変換された単位回路のゲートモデル、π型ネットを、後で使用するため、単位回路毎にπ型ネット記憶部１３４に記憶する点が第１の実施の形態とは異なる。
【００５６】
次に、第１の実施の形態では、ステップ２０６で、ゲート・ＲＣネット記憶装置１３１から、１個の単位回路に含まれる１組のゲートとＲＣネットとを取り出していたのに対して、本実施の形態では、ステップ２１２で、π型ネット記憶部１３４から１個の単位回路に含まれる１組のゲートモデルとπ型ネットを取り出す点が異なる。
【００５７】
さらに、第１の実施の形態では、ステップ２０７で、元のＲＣネットを用いて出力波形鈍りの計算を行っていたのに対して、本実施の形態では、ステップ２１３でゲートモデル及びπ型ネットを用いて出力波形鈍り及び配線遅延を計算している点が異なる。本実施の形態では、ゲートモデル及びπ型ネットを用いて出力波形鈍り及び配線遅延を計算しているので、第１の実施の形態に比べてより高速な処理が可能となる。たとえば、図３（ｆ）では元のＲＣネット３０５を用いて配線遅延ｔｗｉｒｅ２と出力波形鈍りｔｒｆ４を求めていたのに対して、本実施の形態では図７（ｆ）に示すようにゲート２はゲートモデルを用い、ＲＣネット２はπ型ネット３０９を用いて配線遅延ｔｗｉｒｅ２と出力波形鈍りｔｒｆ４を求めている。図８（ｇ）、（ｈ）も図７（ｆ）と同様である。なお、ステップ２１０、図８（ｉ）（ｊ）（ｋ）でテーブルルックアップ方式によりゲート遅延ｔｐｄ１、ｔｐｄ２、ｔｐｄ３を求めている点は第１の実施の形態と同じである。
【００５８】
以上、述べたように、第２の実施の形態では、ステップ２１３でゲートモデル、π型ネットに縮退したＲＣネットを用いて出力波形鈍りｔｒｆ、配線遅延ｔｗｉｒｅを計算しているので、第１の実施の形態に対してより高速な計算が可能である。
【００５９】
【発明の効果】
第１の効果は、順序回路等のループが含まれる回路に対しても、一貫した遅延計算を行なうことができる。
【００６０】
その理由は、発明の実施の形態で説明した通り、各ゲートの入力に対して遅延計算を行なう前に仮の入力波形鈍りを求めてしまうため、ループを考慮する必要がなくなることによる。
【００６１】
第２の効果は、従来法に比べ処理が簡単になるので実行速度が向上する。
【００６２】
その理由は、入力波形鈍りの求まっていないゲートに対しての前段ゲートへの後戻り処理が一切不要となり、その分の処理時間が不要となることによる。また、ＲＣネットからのπ型ネット変換およびπ型ネットから仮の入力波形鈍り算出の実行時間は、前段ゲートへの後戻り処理に比べて短いことによる。なお、本発明によれば、遅延計算を行うゲート及びＲＣネットの順番に制約を受けないので、複数のデータ処理装置を用い複数のゲート及びＲＣネットに対して同じに並行して遅延計算を行うことにより、さらに、高速化することも可能である。
【００６３】
第３の効果は、ＳＰＩＣＥに対してほとんど誤差のない高精度の遅延計算が高速に行なえるということである。本発明の遅延計算方法による遅延計算結果とＳＰＩＣＥによる遅延計算結果にほとんど誤差が見られないことがすでに確認されている。具体的には、図９に示した回路のインバータ７０１からバッファ７１９までの遅延時間を本発明実施の形態１の遅延計算方法とＳＰＩＣＥで計算した結果を図１０に示した。図１０（ａ）には図９の各ゲートおよび配線の遅延時間およびＳＰＩＣＥとの誤差の数値を示し、図１０（ｂ）には図１０（ａ）の数値をグラフ化した結果を示した。図１０の結果から、誤差がほとんどないことがわかる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】第１の実施の形態の動作を示す流れ図である。
【図３】第１の実施の形態について動作の具体例を示す回路図である。
【図４】第１の実施の形態について動作の具体例の続きを示す回路図である。
【図５】本発明の第２の実施の形態の構成を示すブロック図である。
【図６】第２の実施の形態の動作を示す流れ図である。
【図７】第２の実施の形態について動作の具体例を示す回路図である。
【図８】第２の実施の形態について動作の具体例の続きを示す回路図である。
【図９】本発明とＳＰＩＣＥの処理対象とする回路の回路図である。
【図１０】本発明とＳＰＩＣＥとの計算精度の比較結果を示す図である。
【図１１】従来例の動作を示す流れ図および回路例の図である。
【図１２】従来例について動作の具体例を示す回路図である。
【図１３】従来例について動作の具体例の続きを示す回路図である。
【図１４】入力波形鈍りｔｒｆ、ゲート遅延ｔｐｄ、配線遅延ｔｗｉｒｅについての説明図である。
【符号の説明】
１１  入力装置
１２  データ処理装置
１３  記憶装置
１２１  ゲート・ＲＣネット読込み手段
１２２  π型変換手段
１２３  π型ネットの出力波形鈍り算出手段
１２４  配線遅延算出，出力波形鈍り算出手段
１２５  ゲート遅延算出手段
１２６  π型ネットによる配線遅延算出，出力波形鈍り算出手段
１２７  π型ネットによるゲート遅延算出手段
１３１  ゲート・ＲＣネット記憶部
１３２  仮の入力波形鈍り記憶部
１３３  入力波形鈍り記憶部
１３４  π型ネット記憶部
３０１  ゲート１
３０２  ゲート２
３０３  ゲート３
３０４  ＲＣネット１
３０５  ＲＣネット２
３０６  ＲＣネット３
３０７  回路への入力波形鈍り
３０８  π型ネット１
３０９  π型ネット２
３１０  π型ネット３
３１１  ランプ入力の鈍りを表す固定時間Δｔ’
３１２  ゲート２への仮の入力波形鈍りｔｒｆ２’
３１３  ランプ入力の鈍りを表す固定時間Δｔ’
３１４  ゲート３への仮の入力波形鈍りｔｒｆ３’
３１５  ランプ入力の鈍りを表す固定時間Δｔ’
３１６  ゲート２への仮の入力波形鈍りｔｒｆ２’
３１７  ＲＣネット２の配線遅延ｔｗｉｒｅ２
３１８  ゲート３への入力波形鈍りｔｒｆ３
３１９  ＲＣネット１の配線遅延ｔｗｉｒｅ１
３２０  ゲート２への入力波形鈍りｔｒｆ２
３２１  ＲＣネット３の配線遅延ｔｗｉｒｅ３Ａ
３２２  ＲＣネット３の配線遅延ｔｗｉｒｅ３Ｂ
３２３  ゲート２への入力波形鈍りｔｒｆ２
３２４  出力波形鈍りｔｒｆ４
３２５  ゲート２のゲート遅延ｔｐｄ２
３２６  ゲート１のゲート遅延ｔｐｄ１
３２７  ゲート３のゲート遅延ｔｐｄ３
３２８  求まっていない入力波形鈍り
３２９  求まっていない入力波形鈍り
３３０  任意の入力波形鈍り
７０１  インバータ１
７０２  バッファ２
７０３  バッファ３
７０４  バッファ４
７０５  バッファ５
７０６  バッファ６
７０７  バッファ７
７０８  バッファ８
７０９  バッファ９
７１０  バッファ１０
７１１  バッファ１１
７１２  バッファ１２
７１３  バッファ１３
７１４  バッファ１４
７１５  バッファ１５
７１６  バッファ１６
７１７  バッファ１７
７１８  バッファ１８
７１９  バッファ１９
９０５  ゲート１
９０６  ゲート２
９０７  ゲートＮ
９０８  回路への入力波形鈍りｔｒｆ
９０９  ゲート２への入力波形鈍りｔｒｆ１
９１０  ゲートＮへの入力波形鈍りｔｒｆ（Ｎ−１）
【図１】
0003544885.tif 000002
【図２】
0003544885.tif 000003
【図３】
0003544885.tif 000004
【図４】
0003544885.tif 000005
【図５】
0003544885.tif 000006
【図６】
0003544885.tif 000007
【図７】
0003544885.tif 000008
【図８】
0003544885.tif 000009
【図９】
0003544885.tif 000010
【図１０】
0003544885.tif 000011
【図１１】
0003544885.tif 000012
【図１２】
0003544885.tif 000013
【図１３】
0003544885.tif 000014
【図１４】
0003544885.tif 000015