(57)【要約】【課題】異なる接地または電源電圧を伴う駆動ゲートによって駆動されるゲートの遅延を算出する方法およびデバイスを提供する。【解決手段】方法は、被駆動ゲートおよびその駆動ゲートの電源および接地電圧から、調整電源電圧値を算出することと、この調整電源電圧値を単一の電圧パラメータとして、被駆動ゲートの、事前に特徴付けされた遅延モデルへ適用することとを含む。デバイスは、方法を実行するように構成されている。【選択図】図６
2009506568.tif 000002
【特許請求の範囲】
【請求項１】
駆動ゲートによって駆動される被駆動ゲートの遅延を算出する方法であって、前記駆動ゲートは、前記被駆動ゲートの接地または電源の電圧とは異なる接地または電源の電圧を有し、前記方法は、
前記被駆動ゲートおよびその駆動ゲートの前記電源および接地の電圧から調整電源電圧値を算出することと、
前記調整電源電圧値を、単一電圧パラメータとして、前記被駆動ゲートに関する事前に特徴付けられた遅延モデルへ適用することと、
を含む、前記方法。
【請求項２】
前記被駆動ゲートの前記遅延を、スリュー範囲の差異に従って調整することをさらに含む、請求項１に記載の方法。
【請求項３】
駆動ゲートに接続されている被駆動ゲートの少なくとも１つの遅延を算出するプロセスであって、
前記被駆動ゲートおよび駆動ゲートの電源および接地の電圧を算出することと、
前記算出された電圧から単一電圧を確定することと、
前記被駆動ゲートと関連する遅延ルールへ適用される前記単一電圧から、前記被駆動ゲートの前記遅延を算出することと、
を含む、前記プロセス。
【請求項４】
前記被駆動ゲートの前記遅延を、閾値の変動およびスリュー範囲の差異のうちの少なくとも１つに応じて調整することをさらに含む、請求項３に記載のプロセス。
【請求項５】
立ち上がり遷移に由来する遅延の算出に関して、前記算出された電圧の変換がＶｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋに相当し、前記算出された駆動ゲート電圧がＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、前記算出された被駆動ゲート電圧がＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである、請求項３に記載のプロセス。
【請求項６】
前記被駆動ゲートが、複数の内部段を有する複合ゲートであるか否かを判断することをさらに含む、請求項３に記載のプロセス。
【請求項７】
前記複合ゲートに関し、入力段用の前記単一電圧がＶｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋであり、後続段用の前記単一電圧がＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋである、請求項６に記載のプロセス。
【請求項８】
立ち下がり遷移に由来する遅延の算出に関し、前記単一電圧がＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃに相当し、前記算出された駆動ゲート電圧がＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、前記算出された被駆動ゲート電圧がＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである、請求項３に記載のプロセス。
【請求項９】
前記被駆動ゲートが、複数の内部段を有する複合ゲートであるか否かを判断することをさらに含む、請求項８に記載のプロセス。
【請求項１０】
前記複合ゲートに関し、入力段用の前記単一電圧がＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃであり、後続段用の前記単一電圧がＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋである、請求項９に記載のプロセス。
【請求項１１】
前記被駆動ゲートに対する入力の最終電圧が、前記被駆動ゲートの出力がその遷移の大部分を終了するより前に達成されるか否かを判断することと、
前記被駆動ゲートに対する前記入力の前記最終電圧が、前記被駆動ゲートの前記出力がその遷移の大部分を終了するより前に達成される場合に、
前記算出された電圧の変換がＶｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋに相当する、立ち上がり遷移に由来する遅延と、
前記算出された電圧の変換がＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃに相当する、立ち下がり遷移に由来する遅延と、
のうちの少なくとも１つを算出することと、
をさらに含み、前記算出された駆動ゲート電圧がＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、前記算出された被駆動ゲート電圧がＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである、請求項３に記載のプロセス。
【請求項１２】
前記入力が最小論理閾値を超えるとほとんどすぐに前記出力が遷移し始めれば、前記被駆動ゲートが単一段ゲートであると推論することをさらに含む、請求項３に記載のプロセス。
【請求項１３】
調整された値および従来の値が、後期および初期のモードの遅延を計算するのに利用される、請求項３に記載のプロセス。
【請求項１４】
後期モードの遅延に関して、前記単一電圧が以下の計算式、
ｄｅｌａｙ＿ｒｉｓｉｎｇ＿ｉｎ＝ｆ（ｍｉｎ（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ，Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋ））、および
ｄｅｌａｙ＿ｆａｌｌｉｎｇ＿ｉｎ＝ｆ（ｍｉｎ（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ，Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ））
から確定され、前記算出された駆動ゲート電圧がＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、前記算出された被駆動ゲート電圧がＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである、請求項１３に記載のプロセス。
【請求項１５】
初期モードの遅延に関して、前記単一電圧が以下の計算式、
ｄｅｌａｙ＿ｒｉｓｉｎｇ＿ｉｎ＝ｆ（ｍａｘ（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ，Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋ））、および
ｄｅｌａｙ＿ｆａｌｌｉｎｇ＿ｉｎ＝ｆ（ｍａｘ（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ，Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ））
から確定され、前記算出された駆動ゲート電圧がＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、前記算出された被駆動ゲート電圧がＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである、請求項１３に記載のプロセス。
【請求項１６】
予測不可能な、電圧の局地的な変動に関しては、前記算出された電圧の変換が、以下の計算式、すなわち、
後期モードの場合は、
ｄｅｌａｙ＿ｒｉｓｉｎｇ＿ｉｎ＝ｆ（ｍｉｎ（Ｖｄｄ＿ｓｉｎｋ＿ｍｉｎ−Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ，Ｖｄｄ＿ｓｒｃ＿ｍｉｎ−Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ））、および
ｄｅｌａｙ＿ｆａｌｌｉｎｇ＿ｉｎ＝ｆ（ｍｉｎ（Ｖｄｄ＿ｓｉｎｋ＿ｍｉｎ−Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ，Ｖｄｄ＿ｓｉｎｋ＿ｍｉｎ−Ｇｎｄ＿ｓｒｃ＿ｍａｘ））と、
初期モードの場合は、
ｄｅｌａｙ＿ｒｉｓｉｎｇ＿ｉｎ＝ｆ（ｍａｘ（Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ−Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ，Ｖｄｄ＿ｓｒｃ＿ｍａｘ−Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ））、および    ｄｅｌａｙ＿ｆａｌｌｉｎｇ＿ｉｎ＝ｆ（ｍａｘ（Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ−Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ，Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ−Ｇｎｄ＿ｓｒｃ＿ｍｉｎ））と、
を含み、前記算出された駆動ゲート電圧がＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、前記算出された被駆動ゲート電圧がＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである、請求項３に記載のプロセス。
【請求項１７】
前記ゲートが、少なくとも１つの切り替え入力を有する多入力ゲートである、請求項３に記載のプロセス。
【請求項１８】
前記切り替え入力が立ち下がりであり、非切り替え入力Ｘがローである場合、前記プロセスは、Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ＿Ｘに相当する最小値または最大値を含め、これら値をそれぞれ使用してシンク・ブロックの後期または初期の遅延の計算用の電圧をそれぞれ求めることをさらに含み、Ｖｄｄ＿ｓｉｎｋが前記被駆動ゲートの電圧を表し、Ｇｎｄ＿ｓｒｃ＿Ｘが前記非切り替え入力Ｘの前記駆動ゲートの接地電圧を表している、請求項１７に記載のプロセス。
【請求項１９】
前記切り替え入力が立ち上がりであり、非切り替え入力Ｘがハイである場合、前記プロセスは、Ｖｄｄ＿ｓｒｃ＿Ｘ−Ｇｎｄ＿ｓｉｎｋに相当する最小値または最大値を含め、これら値をそれぞれ使用してシンク・ブロックの後期または初期の遅延の計算用の電圧をそれぞれ求めることをさらに含み、Ｖｄｄ＿ｓｒｃ＿Ｘが前記非切り替え入力Ｘの前記駆動ゲートの電圧を表し、Ｇｎｄ＿ｓｉｎｋが前記被駆動ゲートの接地電圧を表す、請求項１７に記載のプロセス。
【請求項２０】
立ち下がり入力に起因する遅延を計算するときに、全ての入力ｉに関してＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ＿ｉの最大値または最小値を使用して、立ち下がり入力に由来する前記遅延を計算することと、
立ち上がり入力に起因する遅延を計算するときに、全ての入力ｉに関してＶｄｄ＿ｓｒｃ＿ｉ−Ｇｎｄ＿ｓｉｎｋの最大値または最小値を使用して、立ち上がり入力に由来する前記遅延を計算することと、をさらに含み、
Ｖｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋが前記被駆動ゲートの電圧を表し、Ｖｄｄ＿ｓｒｃ＿ｉおよびＧｎｄ＿ｓｒｃ＿ｉが前記駆動ゲートの全ての入力ｉの電圧を表している、請求項１７に記載のプロセス。
【請求項２１】
前記プロセスが、スタティック・タイミング・アナライザにおいて実行される、請求項３に記載のプロセス。
【請求項２２】
請求項３に記載の前記プロセスを実行するように構成され配置されている、スタティック・タイミング・アナライザ。
【請求項２３】
コンピュータ可読媒体上に格納されている、請求項２２に記載のスタティック・タイミング・アナライザ。
【請求項２４】
被駆動ゲートおよび駆動ゲートの電源および接地の電圧を受信するデバイスと、
前記受信した電圧から単一電圧を形成するように構成され配置されている制御ユニットと、
前記被駆動ゲートに関連する前記単一電圧を遅延ルールから確定するデバイスと、
を含む、遅延アナライザ。
【請求項２５】
前記受信した電源および接地の電圧を、閾値の変動に従って調整するデバイスをさらに含む、請求項２４に記載の遅延アナライザ。
【請求項２６】
前記確定された遅延を、スリュー範囲の差異に従って調整するデバイスをさらに含む、請求項２４に記載の遅延アナライザ。
【請求項２７】
被駆動ゲート遅延を算出するコンピュータ使用可能なプログラム・コードを含むコンピュータ使用可能な媒体を備える、コンピュータ・プログラム製品であって、
前記コンピュータ・プログラム製品が、
前記被駆動ゲートおよび駆動ゲートの電源および接地の電圧を算出する、コンピュータ使用可能なプログラム・コードと、
前記算出された電圧から単一電圧を生成する、コンピュータ使用可能なプログラム・コードと、
前記被駆動ゲートに関する遅延ルールから、前記単一電圧に関連する前記遅延にアクセスする、コンピュータ使用可能なプログラム・コードと、
を含む、コンピュータ・プログラム製品。
【請求項２８】
前記単一電圧を形成する前記コードのセグメントが、前記算出された電源および接地の電圧を閾値の変動に従って調整するアルゴリズムを含む、請求項２７に記載のコンピュータ・プログラム製品。
【請求項２９】
前記単一電圧を形成する前記コードのセグメントが、前記確定された遅延をスリュー範囲の差異に従って調整するアルゴリズムを含む、請求項２７に記載のコンピュータ・プログラム製品。
【請求項３０】
前記単一電圧を形成する前記コードのセグメントが、立ち上がり遷移に由来する遅延を、式：
Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋ
から算出するアルゴリズムを含み、
前記アルゴリズムが、立ち下がり遷移に由来する遅延を、式：
Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ
から算出し、
前記算出された駆動ゲート電圧がＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、前記算出された被駆動ゲート電圧がＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである、請求項２７に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被駆動ゲートの遅延を見積もるプロセスおよびデバイスに向けられる。さらに、本発明は、遅延を見積もる遅延アナライザおよびコンピュータ・プログラムに向けられる。
【背景技術】
【０００２】
回路またはゲートの従来型の遅延モデルでは、せいぜい１つの電源電圧パラメータを使用するにとどまり、ゲート入力時の信号振幅に作用し、ひいては被駆動ゲートの遅延に作用し得る、駆動ブロックにおける電源および接地電圧の変動について、別途考慮することはない。上述のような電源および接地電圧の差異は、電源ノイズに起因して生じることがあり、電源ノイズには、例えば、ＩＲドロップに起因する静的な電源ノイズ、またはイメージ／パッケージＲＬＣ配電網と相互作用して変動する電力需要に起因する過渡的な電源ノイズ、あるいはその両方が挙げられる。電源および接地電圧の相違は、後にさらに説明するように、ボルテージ・アイランドの存在下で生じることもある。
【０００３】
回路遅延は、一般に、セルの電源電圧およびセル入力の信号振幅の両方に左右され、言い換えると、ソース・セルの電源および接地電圧に左右されている。従来型の遅延モデルでは、入力振幅はセル自体の接地からＶｄｄまでの電圧に一致すると考えられており、電源電圧差の大きいセル間で信号を送信するには明示的なレベル・シフタが必要とされている。しかし、これらは、特別なセルであり、多電源電圧に特徴的な遅延を有するレベルシフタセルである。レベル・シフタが必要とされるのは、低い電源電圧のソース・セルから高い電源電圧のシンク・セルへ信号を送信して、シンク・ゲートのデバイスを完全にオフにし、それによりシンク・セルにおけるノイズ感度および電力消費を低減する場合である。しかし、初期の方式のタイミング解析では、レベル・シフタが必要とされるのは、高い電源電圧セルから低い電源電圧セルへ信号を送信するときに、ただ遅延を抑制できるようになるためであり、回路はレベル・シフタがなくても正常に動作すると考えられるので、時間、領域および電力を無駄にしている。
【０００４】
その上、低電力に不可欠である低電源電圧では電圧に対する遅延の感度が上昇し、ひいてはソース・セルの電源電圧の影響を無視した場合に生じる遅延見積もり誤差も増加する。
【０００５】
上述のような変動の重要性については、Ｒ．Ａｈｍａｄｉ他，「Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ  ｉｎ  Ｐｒｅｓｅｎｃｅ  ｏｆ  Ｐｏｗｅｒ  Ｓｕｐｐｌｙ  ａｎｄ  Ｇｒｏｕｎｄ  Ｖｏｌｔａｇｅ  Ｖａｒｉａｔｉｏｎｓ」，ＩＣＣＡＤ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）  ２００３，ｐ．１７６−１８３、およびＳ．Ｐａｎｔ他，「Ｖｅｃｔｏｒｌｅｓｓ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｓｕｐｐｌｙ  Ｎｏｉｓｅ  Ｉｎｄｕｃｅｄ  Ｄｅｌａｙ  Ｖａｒｉａｔｉｏｎ」，ＩＣＣＡＤ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）  ２００３，ｐ．１８４−１９１によって示されてきた。これらの論文は、ゲート遅延に関する特徴空間を拡張して、駆動ブロックの接地および電源電圧の追加的なパラメータを含めるようにすることを提案している。しかし、この手法はいくつかの欠点を有する。第１に、回路ライブラリに関して、再び特徴付けること、または追加的な遅延モデルを構築することが必要であると考えられ、それによりルールの規模が増大し、ライブラリ・プロバイダの協力なしには適用できなくなる可能性がある。第２に、ゲート遅延の特徴付けプロセスに加えられる追加的な各特徴付けの規模のために、遅延特徴付けのコストが著しく増加しかねず（少なくとも２倍）、しかもこのコストは、数ヶ月といわないまでも数週間のシミュレーション時間をもとより要求しかねないものである。
【０００６】
加えて、さらに詳細な学術論文、Ｌ．Ｃｈｅｎ他，「Ｂｕｆｆｅｒ  Ｄｅｌａｙ  Ｃｈａｎｇｅ  ｉｎ  ｔｈｅ  Ｐｒｅｓｅｎｃｅ  ｏｆ  Ｐｏｗｅｒ  ａｎｄ  Ｇｒｏｕｎｄ  Ｎｏｉｓｅ」，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ＣＡＤ，１１巻，３号，２００３年６月，ｐ．４６１−４７３では、前述の論文に類似して、追加的なパラメータの関数として遅延を特徴付けることを提案しており、この場合は、セル上の同相および差動電源ノイズについて提示している。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ボルテージ・アイランドの使用が増加するにつれ、電源または接地あるいはその両方の値が駆動ゲートのものと異なっている被駆動ゲートの遅延について、正確に計算できるようになることが重要になってくる。被駆動ゲートの接地がその駆動ゲートの接地よりも著しく低い場合、低信号では、被駆動ゲートの接地に接続しているＮＦＥＴを完全にオフにすることはない。同様に、被駆動ゲートの電源電圧がその駆動ゲートの電源電圧よりも著しく高い場合、高信号では、被駆動ゲートの電源電圧に接続しているＰＦＥＴを完全にオフにすることはない。これらのいずれの場合も、過度の電流リークを防ぐためにレベル・シフト回路を必要とし、その遅延は２つの電源電圧の関数として特に特徴付けされる。一方、その他の場合（例えば、共通の接地を共有しながらの高電圧アイランドから低電圧アイランドへの駆動など）は、レベル・シフタを電気的に必要としない。しかし、これらの場合であっても、一部のタイミング方法ではレベル・シフタを必要とし、それは、従来型のタイミング解析方法では、駆動および被駆動ゲートにて異なる電源電圧を有することで生じる遅延変動を正確にはモデル化せず、初期モードあるいは最小のセル遅延を過大に評価しすぎて、設計の不適正なタイミング解析をまねくからである。これらのレベル・シフタは、領域、電力、および遅延を追加するものであり、故に、好ましくないものである。
【０００８】
遅延算出言語（ＤＣＬ：ｄｅｌａｙ  ｃａｌｃｕｌａｔｉｏｎ  ｌａｎｇｕａｇｅ）によって、セル間における閾値の調整について規定されてはいるが、ＤＣＬ仕様には特定の公式は記載されておらず、言い換えれば、かかる調整についてはルールの開発者に任せようとしている。その上、ＤＣＬは、ソース／シンクの電圧差に由来する遅延の一面に対処するのみである。
【０００９】
トランジスタ・レベルのタイミング解析が利用されてきており、これはタイミング中に回路シミュレーションを実行し、それによってソース／シンクの電圧差を直接モデル化することができる。しかし、この分析は高価であり、超大規模設計に合うようにはうまく拡張しない。
【００１０】
従って、ゲート遅延ライブラリの再特徴付けを必要とせずに、異なる電源電圧または接地電圧あるいはその両方を伴うゲートによって駆動されているゲートの遅延をより正確に見積もる方法が、必要とされている。
【課題を解決するための手段】
【００１１】
本発明の一実施形態は、異なる接地または電源電圧を用いた駆動ゲートによって駆動されているゲートの遅延を算出する方法に向けられる。方法には、被駆動ゲートおよびその駆動ゲートの電源および接地電圧から、調整電源電圧値を算出することと、調整電源電圧値を単一電圧パラメータとして、被駆動ゲートに関する事前に特徴付けされた遅延モデルへ適用することとが含まれる。
【００１２】
本発明の特徴によれば、方法には、さらに、被駆動ゲートの遅延を、スリュー範囲（ｓｌｅｗ  ｒａｎｇｅ）の差異に従って調整することも含めることができる。
【００１３】
本発明の一実施形態は、駆動ゲートと接続している被駆動ゲートの少なくとも１つの遅延を算出するプロセスに向けられる。プロセスは、被駆動ゲートおよび駆動ゲートの電源および接地電力を算出することと、算出された電圧から単一電圧を確定し、被駆動ゲートに関連する遅延ルールへ適用された単一電圧から、被駆動ゲートの遅延を算出することを含む。
【００１４】
本発明の特徴によれば、プロセスには、さらに、閾値の変動およびスリュー範囲の差異のうちの少なくとも１つに応じて、被駆動ゲートの遅延を調整することを含めるとよい。
【００１５】
本発明の別の特徴によれば、立ち上がり遷移に由来する遅延の算出に関し、算出された電圧からの変換はＶｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋに相当する。算出された駆動ゲートの電圧はＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、算出された被駆動ゲートの電圧はＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである。プロセスには、さらに、被駆動ゲートが、複数の内部段を有する複合ゲートであるか否かを判断することを含めることができる。さらに、複合ゲートに関しては、入力段の単一電圧はＶｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋであり、後続段の単一電圧はＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋである。
【００１６】
本発明のさらに別の特徴によれば、立ち下がり遷移に由来する遅延の算出に関し、単一電圧は、Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃに相当する。算出された駆動ゲートの電圧はＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、算出された被駆動ゲートの電圧はＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである。プロセスには、被駆動ゲートが複数の内部段を有する複合ゲートであるか否かを判定することを含めてもよい。さらに、複合ゲートに関しては、入力段の単一電圧はＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃであり、後続段の単一電圧はＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋである。
【００１７】
本発明のさらなる特徴によれば、プロセスには、被駆動ゲートの出力が遷移の大部分を終了するより前に、被駆動ゲートの入力の最終電圧が達成されているかどうか判定することと、被駆動ゲートの出力が遷移の大部分を終了するより前に被駆動ゲートへの入力の最終電圧が達成されていたら、算出された電圧からの変換がＶｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋである立ち上がり遷移に由来する遅延、および算出された電圧からの変換がＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃである立ち下がり遷移に由来する遅延のうちの、少なくとも１つを算出することと、を含めるとよい。算出された駆動ゲート電圧はＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、算出された被駆動ゲート電圧はＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである。
【００１８】
プロセスには、さらに、入力が最小論理閾値を超えるとほとんどすぐに出力が遷移を開始する場合には、被駆動ゲートが単一段であると推論することを含めるとよい。
【００１９】
本発明のさらなる特徴によれば、調整された値および従来の値を利用して、後期および初期モードを計算する。後期モードに関しては、単一電圧は以下の計算式から確定される。
ｄｅｌａｙ＿ｒｉｓｉｎｇ＿ｉｎ＝ｆ（ｍｉｎ（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ，Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋ））、および
ｄｅｌａｙ＿ｆａｌｌｉｎｇ＿ｉｎ＝ｆ（ｍｉｎ（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ，Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ））。
【００２０】
算出された駆動ゲート電圧はＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、算出された被駆動ゲート電圧はＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである。初期モードに関しては、単一電圧は以下の計算式から確定される。
ｄｅｌａｙ＿ｒｉｓｉｎｇ＿ｉｎ＝ｆ（ｍａｘ（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ，Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋ））、および
ｄｅｌａｙ＿ｆａｌｌｉｎｇ＿ｉｎ＝ｆ（ｍａｘ（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ，Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ））。
【００２１】
算出された駆動ゲート電圧はＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、算出された被駆動ゲート電圧はＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである。
【００２２】
本発明のさらに別の特徴によれば、電圧の予測不可能な局所的変動に関しては、算出された電圧からの変換は、以下の計算式からなる。
後期モードに関しては、
ｄｅｌａｙ＿ｒｉｓｉｎｇ＿ｉｎ＝ｆ（ｍｉｎ（Ｖｄｄ＿ｓｉｎｋ＿ｍｉｎ−Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ，Ｖｄｄ＿ｓｒｃ＿ｍｉｎ−Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ））、および
ｄｅｌａｙ＿ｆａｌｌｉｎｇ＿ｉｎ＝ｆ（ｍｉｎ（Ｖｄｄ＿ｓｉｎｋ＿ｍｉｎ−Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ，Ｖｄｄ＿ｓｉｎｋ＿ｍｉｎ−Ｇｎｄ＿ｓｒｃ＿ｍａｘ））であり、
初期モードに関しては、
ｄｅｌａｙ＿ｒｉｓｉｎｇ＿ｉｎ＝ｆ（ｍａｘ（Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ−Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ，Ｖｄｄ＿ｓｒｃ＿ｍａｘ−Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ））、および
ｄｅｌａｙ＿ｆａｌｌｉｎｇ＿ｉｎ＝ｆ（ｍａｘ（Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ−Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ，Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ−Ｇｎｄ＿ｓｒｃ＿ｍｉｎ））である。
【００２３】
算出された駆動ゲートの電圧はＶｄｄ＿ｓｒｃ＿ｍｉｍ、Ｖｄｄ＿ｓｒｃ＿ｍａｘ、Ｇｎｄ＿ｓｒｃ＿ｍｉｍ、およびＧｎｄ＿ｓｒｃ＿ｍａｘであり、算出された被駆動ゲートの電圧は、Ｖｄｄ＿ｓｉｎｋ＿ｍｉｍ、Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ、Ｇｎｄ＿ｓｉｎｋ＿ｍｉｍ、およびＧｎｄ＿ｓｉｎｋ＿ｍａｘである。
【００２４】
本発明のさらなる特徴によれば、ゲートが、少なくとも１つの切り替え入力を有する多入力ゲートである。切り替え入力が立ち下がりであり、非切り替え入力Ｘがローのとき、プロセスは、さらに、シンク・ブロックの後期または初期遅延の計算のための電圧をそれぞれ求めるのに使用された、Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ＿Ｘに相当する値を最小値または最大値で含めることを伴い、ここでＶｄｄ＿ｓｉｎｋは被駆動ゲートの電圧を表し、Ｇｎｄ＿ｓｒｃ＿Ｘは、非切り替え入力Ｘの駆動ゲートの接地電圧を表している。さらに、切り替え入力が立ち上がりであり、非切り替え入力Ｘがハイのとき、プロセスには、さらに、シンク・ブロックの後期または初期遅延の計算に用いられる電圧をそれぞれ求めるのに使用された、Ｖｄｄ＿ｓｒｃ＿Ｘ−Ｇｎｄ＿ｓｉｎｋに相当する値を最小値または最大値で含めることを伴い、ここでＶｄｄ＿ｓｒｃ＿Ｘは、非切り替え入力Ｘの駆動ゲートの電圧を表し、Ｇｎｄ＿ｓｉｎｋは、被駆動ゲートの接地電圧を表している。さらに、プロセスには、立ち下がり入力に起因する遅延を計算する場合に、全ての入力ｉに関して、Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ＿ｉの最大値または最小値を使用して、立ち下がり入力に起因する遅延を計算することと、立ち上がり入力に起因する遅延を計算する場合に、全ての入力ｉに関して、Ｖｄｄ＿ｓｒｃ＿ｉ−Ｇｎｄ＿ｓｉｎｋの最大値または最小値を使用して、立ち上がり入力に起因する遅延を計算することと、を含めることができる。この際に、Ｖｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋは被駆動ゲートの電圧を表し、Ｖｄｄ＿ｓｒｃ＿ｉおよびＧｎｄ＿ｓｒｃ＿ｉは被駆動ゲートの全ての入力ｉに関する駆動ゲートの電圧を表している。
【００２５】
本発明のさらに別の特徴によれば、プロセスは、スタティック・タイミング・アナライザにおいて実行される。
【００２６】
本発明のさらに別の特徴によれば、スタティック・タイミング・アナライザは、上述のプロセスを実行するように構成され配置されている。さらに、スタティック・タイミング・アナライザは、コンピュータ可読媒体上に格納されている。
【００２７】
本発明の一実施形態は、被駆動ゲートおよび駆動ゲートの電源および接地電圧を受信するデバイスと、受信した電圧から単一電圧を形成するように構成され配置されている制御ユニットと、遅延ルールから、被駆動ゲートに関連する単一電圧の遅延を確定するデバイスとを含む、遅延アナライザに向けられる。
【００２８】
本発明の特徴によれば、遅延アナライザには、さらに、閾値の変動に従って、受信した電源および接地電圧を調整するデバイスも含めることができる。その上、スリュー範囲の差異に従って、確定された遅延を調整するデバイスを含めることもできる。
【００２９】
本発明の一実施形態は、被駆動ゲートの遅延を算出するための、コンピュータ使用可能なプログラム・コードを有しているコンピュータ使用可能な媒体を含む、コンピュータ・プログラムに向けられる。コンピュータ・プログラムは、被駆動ゲートおよび駆動ゲートの電源および接地電圧を算出するための、コンピュータ使用可能なプログラム・コードと、算出された電圧から単一電圧を形成するための、コンピュータ使用可能なプログラム・コードと、被駆動ゲートに関する遅延ルールから単一電圧に関連する遅延へアクセスするための、コンピュータ使用可能なプログラム・コードとを含む。
【００３０】
本発明の特徴によれば、単一電圧を形成するコード・セグメントには、算出された電源および接地電圧を閾値の変動に従って調整するアルゴリズムが含まれているとよい。
【００３１】
さらに、単一電圧を形成するコード・セグメントには、スリュー範囲の差異に従って確定された遅延を調整するアルゴリズムを含めることができる。
【００３２】
本発明のさらに別の特徴によれば、単一電圧を形成するコード・セグメントには、立ち上がり遷移に由来する遅延を、式Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋから算出するアルゴリズムを含めることができる。
【００３３】
アルゴリズムは、立ち下がり遷移に由来する遅延を、式Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃから算出する。
【００３４】
算出された駆動ゲートの電圧はＶｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃであり、算出された被駆動ゲートの電圧はＶｄｄ＿ｓｉｎｋおよびＧｎｄ＿ｓｉｎｋである。
【発明を実施するための最良の形態】
【００３５】
本発明は、被駆動ゲートおよびその駆動ゲートの電源および接地電圧に基づき、唯一の単一電圧パラメータの関数である、被駆動モデルに関して事前に特徴付けされたまたは構築された遅延モデルを使用して、被駆動ゲートの少なくとも１つの遅延を算出することに向けられる。遅延モデルへ適用される少なくとも１つの調整電圧値が、被駆動ゲートおよびその駆動ゲートの電源および接地電圧から算出される。さらに、被駆動ゲートの入力スリュー、遅延および出力スリューについても、調整電圧の算出にあたって考慮することができ、同時に、駆動および被駆動ゲート間の遅延測定点の差異に相当するように、遅延調整を被駆動ゲートの入力の到達時間に付加することができる。
【００３６】
本出願明細書において、「Ｇｎｄ＿ｓｉｎｋ」および「Ｖｄｄ＿ｓｉｎｋ」は、被駆動ゲート（ｓｉｎｋ：シンク）の接地および電源電圧を指し、「Ｇｎｄ＿ｓｒｃ」および「Ｖｄｄ＿ｓｒｃ」は駆動ゲート（ｓｏｕｒｃｅ：ソース）の接地および電源電圧を指すものとし、これ以外の似たような表記も上記と同じような意味を表す。このリファレンスは任意のものであるので、一般性を損なうことなく、これらの電圧のうちの１つ（例えばＧｎｄ＿ｓｉｎｋ）が共通のリファレンスとなるように選択し、発明の方法を用いた遅延計算サブシステムが、単に残りの３つの個々の電圧値に回されることも可能と考えられる。
【００３７】
図１は、インバータＧ２（シンク）を、他のインバータＧ１、すなわちソースからの信号が駆動しているところを示しており、このインバータのハイおよびローの値、すなわちＶｄｄおよび接地は、駆動されているインバータのものとは一致しない。本発明に従って、立ち上がりおよび立ち下がり信号の両方の場合について検討する。いずれの場合も、Ｇ２内の、出力遷移を駆動しているトランジスタのＶｇｓ値は、例えばＥｉｎｓＴｉｍｅｒ（ＩＢＭ社の登録商標）プログラムといった従来型のスタティック・タイミング・アナライザが通常使用していると考えられるＶＤＤ＿Ｇ２−ＧＮＤ＿Ｇ２の値とは異なっている。
【００３８】
本説明図から分かるように、少なくとも一部の場合では、被駆動ゲートの入力における立ち上がり遷移に由来する遅延は、従来型のタイミング解析によって利用されていたＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋよりも、Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋの関数とした方が、より正確に計算することができる。さらに、被駆動ゲートの入力における立ち下がり遷移に由来する遅延は、一部の場合には、従来型のタイミング解析によって利用されていたＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋよりも、Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃの関数とした方が、より正確に計算することができる。上述のそれぞれの場合で、オフにされたデバイスにはなお、上記で計算された調整電圧とは異なる最終オフＶｄｓ電圧が見られる。しかし、この影響は、オンになって遷移を駆動しているデバイスへ印加されるＶｇｓの影響に比べるとはるかに小さく、故に、上述の調整電圧が、やはり、遅延計算の好適な基準となる。
【００３９】
上記の調整電圧を使用することは、一部の場合にはより正確であるといえるが、或る特定の状況においては、追加的な計算が必要になることもある。例えば、被駆動ゲートが複数の内部段を含んでいる複合ゲートである場合、調整電圧は入力段に関してはより正確であり得るが、一方で、後続段に関しては、従来型のスタティック・タイミング解析方法の方がより精密であるといえる。
【００４０】
図２に示されるように、２０で、ソースおよびシンクのＶｄｄおよびＧｎｄを入手し、２１で、これらの値を単一電圧へ変換する。図１に示されている配置においては、立ち上がりおよび立ち下がり遷移に応じる単一電圧は、上述したやり方で計算する。単一電圧が算出されたら、遅延を算出するために、２２で、事前に特徴付けされた遅延ルールへ単一電圧を適用する。一方、ソースおよびシンクのＶｄｄおよびＧｎｄに基づく他の調整、例えば閾値の変動に起因する調整などは、２３で、後述のように行われる。さらに、以下に述べるように、２２で、単一電圧をスリューに応じて調整することができる。
【００４１】
入力および出力のスリューおよび遅延を使用すると、調整電圧を適用する必要があるか否かを判断しやすくすることもできる。上記で計算されている調整電圧は、被駆動ゲート（または複数段ゲートの場合には、その第１内部段）の出力が遷移の大部分を終了するより前に、入力の最終電圧が達成される場合に、付加的な精度を提供するものである。図３ａでは、最終入力電圧が、被駆動ゲートの出力がその遷移の大部分を終了するより前に達成されているので、最終電圧が遅延に重大な影響を与えるが、それに対して図３ｂでは、最終入力電圧が、被駆動ゲートの出力がその遷移を終了する前には達成されていないので、最終電圧は遅延にほとんど影響を与えない。
【００４２】
さらに、ライブラリ・ゲートに関して付加的な情報が提供される場合、言い換えれば、単一段あるいは複合段のいずれであるのかが示される場合は、この情報を使用して、最大値および最小値を適用する必要があるのか、あるいは調整電圧を単独で使用することができるのかを、判断することができる。場合によっては、被駆動ゲートの入力スリュー、遅延、および出力スリューを検討することによって、ゲートが単一段であると判断することも可能と考えられる。ゲート・ライブラリに関する何らかの最小論理閾値、例えば入力信号遷移において最も初期であり出力遷移を開始させることができるような最小論理閾値が既知であるのなら、ゲートに２つ以上の段が存在するか否かについて、入力信号がこの閾値を越えてから出力信号がその遷移を開始するまでの間に十分な時間が経過するかどうかによって判断することができる。入力が最小論理閾値を超えるとほとんどすぐに出力が遷移を開始するとしたら、これは単一段ゲートであるに違いないと推論することができる。
【００４３】
故に、ゲートが単一段であって出力遷移の大半が終了するより前に入力信号がその遷移を完了すると判断されたら、本発明に従って、前述の調整電圧を使用して遅延計算をすることが有利であり妥当である。
【００４４】
一方、上記に示した、単一段であるか複合段であるかの判断は、常に可能とは限らないといえる。そのような場合には、確実に間違いのない解析をするために、言い換えれば、計算された値が楽観的にならないように、調整電圧および従来の電圧の最小値を使用して後期モードまたは最大遅延を計算するとよく、調整電圧および従来の電圧の最大値を使用して初期モードまたは最小遅延を計算するとよい。その際、以下の計算式が利用される。
・ｄｅｌａｙ＿ｅａｒｌｙ＿ｒｉｓｉｎｇ＿ｉｎ＝ｆ（ｍａｘ（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ，Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋ））
・ｄｅｌａｙ＿ｌａｔｅ＿ｒｉｓｉｎｇ＿ｉｎ＝ｆ（ｍｉｎ（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ，Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｉｎｋ））
・ｄｅｌａｙ＿ｅａｒｌｙ＿ｆａｌｌｉｎｇ＿ｉｎ＝ｆ（ｍａｘ（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ，Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ））
・ｄｅｌａｙ＿ｌａｔｅ＿ｆａｌｌｉｎｇ＿ｉｎ＝ｆ（ｍｉｎ（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ，Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ））
【００４５】
上記に示した計算式が機能するのは、ゲート遅延が、ほぼ常に単調に増加する電圧の関数となっているためである。しかし、これが確実には当てはまらない場合、遅延は、初期モードに使用される最小遅延、後期モードに使用される最大遅延と共に、調整電圧と従来の電圧との両方を使用して計算されるとよい。なお、このことは追加的な遅延計算を必要とすることもあり、それは、例えばＶｄｄ＿ｓｉｎｋ、Ｇｎｄ＿ｓｉｎｋ、Ｖｄｄ＿ｓｒｃおよびＧｎｄ＿ｓｒｃなどの他の遅延関数パラメータが後期および初期モードに関して異なる値を有していることがあり、そのため、同じ２つの計算された遅延の最大値および最小値が、正確な初期および後期モードの遅延を算出するのに使用できない可能性があるからである。
【００４６】
場合によっては、特定のＶｄｄまたはＧｎｄに関して範囲があることもあり、これは、電圧の予測不可能な単独の局所的変動を表していると考えられる。このような場合、初期の値には最大Ｖｄｄおよび最小Ｇｎｄを、後期の値には最小Ｖｄｄおよび最大Ｇｎｄを用いることが考えられる。
・ｄｅｌａｙ＿ｅａｒｌｙ＿ｒｉｓｉｎｇ＿ｉｎ＝ｆ（ｍａｘ（Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ−Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ，Ｖｄｄ＿ｓｒｃ＿ｍａｘ−Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ））
・ｄｅｌａｙ＿ｌａｔｅ＿ｒｉｓｉｎｇ＿ｉｎ＝ｆ（ｍｉｎ（Ｖｄｄ＿ｓｉｎｋ＿ｍｉｎ−Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ，Ｖｄｄ＿ｓｒｃ＿ｍｉｎ−Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ））・ｄｅｌａｙ＿ｅａｒｌｙ＿ｆａｌｌｉｎｇ＿ｉｎ＝ｆ（ｍａｘ（Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ−Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ，Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ−Ｇｎｄ＿ｓｒｃ＿ｍｉｎ））
・ｄｅｌａｙ＿ｌａｔｅ＿ｆａｌｌｉｎｇ＿ｉｎ＝ｆ（ｍｉｎ（Ｖｄｄ＿ｓｉｎｋ＿ｍｉｎ−Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ，Ｖｄｄ＿ｓｉｎｋ＿ｍｉｎ−Ｇｎｄ＿ｓｒｃ＿ｍａｘ））
【００４７】
電圧値の範囲が単独のものでなければ、電圧の組み合わせを利用して、初期モードの計算には最大値をもたらし、後期モードの計算には最小値をもたらす、遅延ルールにすることができる。
【００４８】
ここで、ゲートのトランジスタ用のボディ・バイアス（例えば、ＮウェルおよびＰウェルまたは基板接点）がゲートに近く、そのためにゲートの電源電圧がボディ・バイアス電圧とほぼ等しくなっていることが想定される。これに当たらない場合、バウンディング方法（ｂｏｕｎｄｉｎｇ  ｍｅｔｈｏｄ）を拡張して、後期の遅延に関しては、Ｖｄｄ＿ｓｉｎｋの代わりにｍｉｎ（Ｖｄｄ＿ｓｉｎｋ，Ｎｗｅｌｌ＿ｓｉｎｋ）を、さらにＧｎｄ＿ｓｉｎｋの代わりにｍａｘ（Ｇｎｄ＿ｓｉｎｋ，Ｐｗｅｌｌ＿ｓｉｎｋ）を使用し、初期の遅延に関しては、Ｖｄｄ＿ｓｉｎｋの代わりにｍａｘ（Ｖｄｄ＿ｓｉｎｋ，Ｎｗｅｌｌ＿ｓｉｎｋ）を、さらにＧｎｄ＿ｓｉｎｋの代わりにｍｉｎ（Ｇｎｄ＿ｓｉｎｋ，Ｐｗｅｌｌ＿ｓｉｎｋ）を使用することができる。ＮウェルおよびＰウェルの電圧は、ソース・ゲートに関してはその出力レベルに影響を及ぼさないため重要ではないが、どちらもシンク・ゲートの遅延を左右する。ゲートの遅延が、Ｖｄｄおよび接地の値に由来するＮウェルおよびＰウェルの個別の値に関して特徴付けされていた場合には、ウェルの電圧を直接使用してもよく、上記の置き換えは必要がなくなる。
【００４９】
本発明は、さらに、駆動ゲートと被駆動ゲートとの間における、遅延計算に使用される電圧基準点の差異にも対応することができる。図４は、スリューを単純な傾斜としてモデル化しているものに基づいているが、当然のことながら、他の波形による想定に対応するのにも、同様の一般化手法を使用することができる。
【００５０】
上記に基づき、被駆動ゲートの入力における立ち上がりおよび立ち下がりの到達時間に、下記の遅延調整を付加することが考えられる。以下の考察のために、ソース・ゲートとシンク・ゲートとの間のあらゆる配線遅延はソース・ゲート遅延の一部であるとみなす。パラメータＦＭは、信号の到達時間を判定する通過点を、電源電圧の割合として定義するものである。通常の５０％遅延に関しては、測定ＦＭ＝０．５である。そのため、遅延は、信号が［Ｇｒｏｕｎｄ＋（Ｓｕｐｐｌｙ−Ｇｒｏｕｎｄ）＊ＦＭ］の通過前後から算出される。言い換えると、ソースすなわち駆動ゲートの遅延は、被駆動ゲートの入力が［Ｇｎｄ＿ｓｒｃ＋ＦＭ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｒｃ）］に達する点までで特徴付けされ、シンクすなわち被駆動ゲートの遅延は、被駆動ゲートの入力が［Ｇｎｄ＿ｓｉｎｋ＋ＦＭ＿ｓｉｎｋ＊（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ）］に達する点から特徴付けされる。状況を完全に一般化するために、被駆動および駆動ゲートにて、さらに立ち上がりおよび立ち下がり信号に関して、ＦＭ値が異なることを見込んでいる。この柔軟性は、駆動および被駆動ゲートの接地および電源電圧の差異がなかったとしても、有用であると考えられるが、それは、或る特定のブロックの遅延（出力波形）が、例えば異なるベータ率などのために、或る特定の点を通過するのに他の遅延よりも感度が高くなることがあるからである。同様に、ＦＳは、やはり電源電圧の割合として、スリュー測定に使用されている地点間の電圧範囲を示すものであり、ソースおよびシンク・ゲート、立ち上がりおよび立ち下がり遷移に対して別々の値を使用してもよい。１０％から９０％のＶｄｄスリュー測定に関して、ＦＳ＝（０．９−０．１）＝０．８となる。故に、個々のゲートに関する遅延およびスリューの特徴付けが、独自のＦＭおよびＦＳの値を使用して行うことが可能と考えられる。以下の公式は、駆動ゲートの出力にて（あるいは駆動ゲートが駆動している通信ネットワークのシンクにて）、ソースすなわち駆動ゲートの電源電圧に関して計算されたスリュー（立ち上がりまたは立ち下がり）に適用されて、被駆動すなわちシンク・ゲートの電源電圧に関して調整されたスリューを形成するものである。
・Ｓｌｅｗ＿ｓｉｎｋ＿ｉｎ＿ａｄｊｕｓｔｅｄ＝Ｓｌｅｗ＿ｓｒｃ＿ｏｕｔ＊［（（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ）＊ＦＳ＿ｓｉｎｋ）／（（Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｒｃ）＊ＦＳ＿ｓｒｃ）］
ＦＳ＿ｓｒｃ＝ＦＳ＿ｓｉｎｋであれば、上記が以下のように変換される。
・Ｓｌｅｗ＿ｓｉｎｋ＿ｉｎ＿ａｄｊｕｓｔｅｄ＝Ｓｌｅｗ＿ｓｒｃ＿ｏｕｔ＊［（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ）／（Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｒｃ）］
【００５１】
以下の公式を使用して到達時間調整を計算し、ソースすなわち駆動ゲートの電源電力に関連して計算された、シンク・ゲートへの入力における到達時間へ、付加する。計算結果は、被駆動すなわちシンク・ゲートの入力において、それ自体の電源電力に関連して補正された到達時間である。各公式の１行目は、電源電圧レベルと無関係な信号に関する電圧傾斜率当たりの時間を算出し、残りは、ソースおよびシンク・ゲートの測定基準点間の電圧差を算出するものである。
・ＡＴ＿ｒｉｓｉｎｇ＿ｉｎ＿ａｄｊｕｓｔｍｅｎｔ＝｛Ｓｌｅｗ＿ｓｒｃ＿ｏｕｔ／［ＦＳ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｒｃ）］｝＊
｛［Ｇｎｄ＿ｓｉｎｋ＋ＦＭ＿ｓｉｎｋ＊（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ）］−
［Ｇｎｄ＿ｓｒｃ＋ＦＭ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｒｃ）］｝
および
・ＡＴ＿ｆａｌｌｉｎｇ＿ｉｎ＿ａｄｊｕｓｔｍｅｎｔ＝｛Ｓｌｅｗ＿ｓｒｃ＿ｏｕｔ／［ＦＳ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｒｃ）］｝＊
｛［Ｇｎｄ＿ｓｒｃ＋ＦＭ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｒｃ）］−
［Ｇｎｄ＿ｓｉｎｋ＋ＦＭ＿ｓｉｎｋ＊（Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｉｎｋ）］｝
ＦＳ＿ｓｒｃ＝ＦＳ＿ｓｉｎｋ＝ＦＳであり、ＦＭ＿ｓｒｃ＝ＦＭ＿ｓｉｎｋ＝０．５であれば、上記が以下のように変換される。
・ＡＴ＿ｒｉｓｉｎｇ＿ｉｎ＿ａｄｊｕｓｔｍｅｎｔ＝｛Ｓｌｅｗ＿ｓｒｃ＿ｏｕｔ／［ＦＳ＊（Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｒｃ）］｝＊
｛（Ｇｎｄ＿ｓｉｎｋ＋Ｖｄｄ＿ｓｉｎｋ）−（Ｇｎｄ＿ｓｒｃ＋Ｖｄｄ＿ｓｒｃ）｝／２
および
・ＡＴ＿ｆａｌｌｉｎｇ＿ｉｎ＿ａｄｊｕｓｔｍｅｎｔ＝｛Ｓｌｅｗ＿ｓｒｃ＿ｏｕｔ／［ＦＳ＊（Ｖｄｄ＿ｓｒｃ−Ｇｎｄ＿ｓｒｃ）］｝＊
｛（Ｇｎｄ＿ｓｒｃ  ＋  Ｖｄｄ＿ｓｒｃ）−（Ｇｎｄ＿ｓｉｎｋ＋Ｖｄｄ＿ｓｉｎｋ）｝／２
【００５２】
ＶｄｄおよびＧｎｄ値が電圧の範囲から値をとることができる場合、初期モードに関しては最大のＡＴ調整およびスリューをもたらし、後期モードに関しては最小のＡＴ調整およびスリューをもたらす、極値を選択することが考えられる。このことは、様々なＶｄｄおよびＧｎｄ値の個別の変動に関して、スリュー調整に関する以下の式をもたらす。
・Ｓｌｅｗ＿ｓｉｎｋ＿ｉｎ＿ａｄｊｕｓｔｅｄ＿ｌａｔｅ＝Ｓｌｅｗ＿ｓｒｃ＿ｏｕｔ＿ｌａｔｅ＊［（（Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ−Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ）＊ＦＳ＿ｓｉｎｋ）／（（Ｖｄｄ＿ｓｒｃ＿ｍｉｎ−Ｇｎｄ＿ｓｒｃ＿ｍａｘ）＊ＦＳ＿ｓｒｃ）］
・Ｓｌｅｗ＿ｓｉｎｋ＿ｉｎ＿ａｄｊｕｓｔｅｄ＿ｅａｒｌｙ＝Ｓｌｅｗ＿ｓｒｃ＿ｏｕｔ＿ｅａｒｌｙ＊［（（Ｖｄｄ＿ｓｉｎｋ＿ｍｉｎ−Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ）＊ＦＳ＿ｓｉｎｋ）／（（Ｖｄｄ＿ｓｒｃ＿ｍａｘ−Ｇｎｄ＿ｓｒｃ＿ｍｉｎ）＊ＦＳ＿ｓｒｃ）］
・ＡＴ＿ｒｉｓｉｎｇ＿ｉｎ＿ａｄｊｕｓｔｍｅｎｔ＿ｌａｔｅ＝｛Ｓｌｅｗ＿ｓｒｃ＿ｏｕｔ＿ｌａｔｅ／［ＦＳ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ＿ｍｉｎ−Ｇｎｄ＿ｓｒｃ＿ｍｉｎ）］｝＊｛［Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ＋ＦＭ＿ｓｉｎｋ＊（Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ−Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ）］−
［Ｇｎｄ＿ｓｒｃ＿ｍｉｎ＋ＦＭ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ＿ｍｉｎ−Ｇｎｄ＿ｓｒｃ＿ｍｉｎ）］｝
・ＡＴ＿ｒｉｓｉｎｇ＿ｉｎ＿ａｄｊｕｓｔｍｅｎｔ＿ｅａｒｌｙ＝
｛Ｓｌｅｗ＿ｓｒｃ＿ｏｕｔ＿ｅａｒｌｙ／［ＦＳ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ＿ｍａｘ−Ｇｎｄ＿ｓｒｃ＿ｍａｘ）］｝＊
｛［Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ＋ＦＭ＿ｓｉｎｋ＊（Ｖｄｄ＿ｓｉｎｋ＿ｍｉｎ−Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ）］−
［Ｇｎｄ＿ｓｒｃ＿ｍａｘ＋ＦＭ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ＿ｍａｘ−Ｇｎｄ＿ｓｒｃ＿ｍａｘ）］｝
・ＡＴ＿ｆａｌｌｉｎｇ＿ｉｎ＿ａｄｊｕｓｔｍｅｎｔ＿ｌａｔｅ＝
｛Ｓｌｅｗ＿ｓｒｃ＿ｏｕｔ＿ｌａｔｅ／［ＦＳ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ＿ｍａｘ−Ｇｎｄ＿ｓｒｃ＿ｍａｘ）］｝＊
｛［Ｇｎｄ＿ｓｒｃ＿ｍａｘ＋ＦＭ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ＿ｍａｘ−Ｇｎｄ＿ｓｒｃ＿ｍａｘ）］−
［Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ＋ＦＭ＿ｓｉｎｋ＊（Ｖｄｄ＿ｓｉｎｋ＿ｍｉｎ−Ｇｎｄ＿ｓｉｎｋ＿ｍｉｎ）］｝
・ＡＴ＿ｆａｌｌｉｎｇ＿ｉｎ＿ａｄｊｕｓｔｍｅｎｔ＿ｅａｒｌｙ＝
｛Ｓｌｅｗ＿ｓｒｃ＿ｏｕｔ＿ｅａｒｌｙ／［ＦＳ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ＿ｍｉｎ−Ｇｎｄ＿ｓｒｃ＿ｍｉｎ）］｝＊
｛［Ｇｎｄ＿ｓｒｃ＿ｍｉｎ＋ＦＭ＿ｓｒｃ＊（Ｖｄｄ＿ｓｒｃ＿ｍｉｎ−Ｇｎｄ＿ｓｒｃ＿ｍｉｎ）］−
［Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ＋ＦＭ＿ｓｉｎｋ＊（Ｖｄｄ＿ｓｉｎｋ＿ｍａｘ−Ｇｎｄ＿ｓｉｎｋ＿ｍａｘ）］｝
【００５３】
ＡＴ調整に関してなぜ上述の極値を選択するのかを理解するには、図４を検討し、立ち上がり遷移に関して、Ｖｄｄ＿ｓｃｒを低く、Ｇｎｄ＿ｓｒｃを低く、Ｖｄｄ＿ｓｉｎｋを高く、あるいはＧｎｄ＿ｓｉｎｋを高く動かすことの全てがシンクの到達時間測定点に帰することになり、これが後にソース到達時間測定点に関連することに留意すべきである。故に、上記の極値は、後期モードに適切な最大到達時間調整をもたらし、反対の極値は、初期モードに適切な最小到達時間調整をもたらす。立ち下がり遷移に関する同様の分析結果も、上記に示したような値となった。
【００５４】
上記に加え、ルールの遅延関数となった単一電圧値が、遅延を計算されているセルのＶｄｄ−Ｇｎｄでない場合、ルールの遅延およびスリュー関数からもたらされた遅延およびスリューは、正確な電圧範囲に関するものにはならない。従って、到達時間およびスリューに関して、上述したセル入力におけるものと同様のやり方でセル出力において調整を行い、それにより到達時間を調整し、駆動ブロックのＶｄｄおよびＧｎｄに関連しているスリューを被駆動セルのＶｄｄおよびＧｎｄに関連する正確な値となるよう計算しなくてはならない。前述したものと同様の計算が実行されるが、この場合、「＿ｓｒｃ」情報は、ルール遅延関数となった電圧値に関係しており、「＿ｓｉｎｋ」情報は、被駆動セルの実際のＶｄｄおよびＧｎｄに関連している。この第２の調整を実行するのに、出力遷移の開始点を特定しなくてはならず、これは、立ち上がり出力遷移に関しては被駆動セルのＧｎｄ、立ち下がり出力遷移に関しては被駆動セルのＶｄｄである。この値は、「＿ｓｒｃ」および「＿ｓｉｎｋ」の値の間で共通であると考えられるべきであり他の「＿ｓｒｃ」値、言い換えれば、立ち上がり出力遷移のＶｄｄおよび立ち下がり出力遷移のＧｎｄは、ルール遅延関数となった単一電圧値を加算または減算することによって算出されることになる。これらの計算については、図５に示された一覧表に記載されている。
【００５５】
本発明のさらなる態様によれば、多入力ゲートの遅延は、例えばＮＡＮＤゲートのプルダウンＮＦＥＴなど、直列トランジスタのスタックの導電性に左右されることがある。こうしたもののうちの１つが切り替えであり、その電圧は上述のプロセスに従って算出することができる。一方、非切り替え入力が特別に高いまたは低い電圧を有している場合、ゲートの出力遷移を加速または減速させることがあり、そのため、開示している最小あるいは最大の電圧値が、もはやゲート遅延の信頼できる限界とはならない。
【００５６】
故に、プロセスを拡張して、遅延ルールへ適用する単一電圧値を算出するときに、セルの入力の全てを駆動する、回路の電源および接地電圧を考慮することによって、この問題に対処する。
【００５７】
切り替え入力が立ち下がりであり、非切り替え入力Ｘがローである場合、シンク・ブロックの後期または初期の遅延をそれぞれ計算するのに用いる電圧を求めるために使用される最小値または最大値を含めて、Ｖｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ＿Ｘについて考慮することが考えられる。切り替え入力が立ち上がりであり、非切り替え入力Ｘがハイである場合、シンク・ブロックの後期または初期の遅延をそれぞれ計算するのに用いる電圧を求めるために使用される最小値または最大値を含めて、Ｖｄｄ＿ｓｒｃ＿Ｘ−Ｇｎｄ＿ｓｉｎｋについて考慮することが考えられる。切り替え入力が信号を出力へ伝搬できるようにするには、どちら側の入力の感度を上げることが必要となるのかについては、当然、あまり認識されないので、慎重にするには、立ち下がり入力に起因する遅延を計算するときには、全ての入力ｉに関してＶｄｄ＿ｓｉｎｋ−Ｇｎｄ＿ｓｒｃ＿ｉの最大値または最小値を考慮し、立ち上がり入力に起因する遅延を計算するときには、全ての入力ｉに関してＶｄｄ＿ｓｒｃ＿ｉ−Ｇｎｄ＿ｓｉｎｋの最大値または最小値を常に考慮することが考えられる。
【００５８】
切り替え入力が立ち上がりであって非切り替え入力がローの場合、あるいは切り替え入力が立ち下がりであって非切り替え入力がハイの場合は、いかなる通常のＣＭＯＳゲートにおいても、ゲートへ非切り替え入力が送られているトランジスタは、ゲートへ切り替え入力が送られているトランジスタとは直列スタックにはないことは周知であるが、それは、このようなスタックがオンとなるにはＰＦＥＴおよびＮＦＥＴの両方を含んでいる必要があると考えられ、故に出力遷移を制御するパスとなるからである。そのため、この入力のソースＶｄｄおよび接地電力は、最大値または最小値から通常除外することができる。
【００５９】
特定の入力について、他の非切り替え入力によって入力されているトランジスタと直列スタックにあるトランジスタへは入力をしないことがわかっているのであれば、その非切り替え入力と関連しているソース電圧は、最小値または最大値から除外してもよい。スタック構造に関するこのような認識は、セル・データから明示的に得られる可能性もあり、あるいはゲート関数から推論されることも考えられる。例えば、ＡＮＤ／ＯＲ／ＩＮＶＥＲＴゲートにおいて、同じＡＮＤレグ内の２つの入力は、ＮＦＥＴスタックにても一緒に現れると推論され、そのため、これらの電圧は両方とも、いずれかの入力立ち上がりに起因する遅延の計算に使用することが考えられる。一方、異なるＡＮＤレグ内の入力は、異なるＮＦＥＴスタックに現れると推論され、そのため、いずれかの入力立ち上がりに起因する遅延の計算に、それらの電圧を一緒に使用することはないと考えられる。他方、異なるＡＮＤレグ内のデバイスは、共にＰＦＥＴスタックに現れると推論され、そのため、それらの電圧は、いずれかの入力立ち下がりに起因する遅延の計算に一緒に使用されると考えられる。なお、この関数の推論は、遷移を入力から出力へ伝搬するために感度を上げることが必要な側の入力を判断することと本質的に同等であり、故に、プロセス拡張の第１変形例と類似しており、そこでは、遅延ルールに適用する単一電圧を算出するときにセルの入力全てを駆動する回路の電源および接地電圧について考慮している。
【００６０】
被駆動ゲートの遅延を算出するプロセスについては、図６のフロー図に示されている。ステップ１００で、遅延を算出する対象の遷移を選択する。これには、少なくともゲート、入力ピン、遷移（立ち上がりまたは立ち下がり）、およびスリュー、さらに出力ピンおよび遷移が含まれる。これには、さらに、他の非切り替え入力の状態も含めてもよい。
【００６１】
ステップ１１０で、遅延が算出される被駆動ゲートと駆動ゲートとのＶｄｄおよびＧｎｄ電圧を入手する。
【００６２】
ステップ１２０で、出力がその遷移の大部分を終了するより前に入力遷移がその遷移を終了するかどうかという、任意の判断がなされるが、それについては図３ａおよび図３ｂを参照されたい。これは、被駆動ゲートの最初の遅延および出力スリューを被駆動ゲートの電圧のみを使用して（言い換えれば、周知の方法に従って）計算すること、ならびに入力スリュー、最初の遅延、および出力スリューに基づいて、入力遷移が終了する時点で終了しているであろう出力遷移のおおよそのパーセンテージを算出することによって、判断される。例えば、特定の、定数Ｋ１２０、入力スリューＳｉ、最初の遅延Ｄおよび最初の出力スリューＳｏに関して、論点を数学的に表すと「（０．６２５＊Ｓｉ−Ｄ＋０．６２５＊Ｓｏ）／Ｓｏ＜Ｋ１２０であるか？」とすればよいであろう。この計算式において、分子は、出力が切り替えを開始した後、入力が引き続き切り替えを行う期間がどのくらいかを概算で表し、分母は、出力が遷移を終了するまでにどのくらいの期間が必要かを表している。この不等式が満たされるのであれば、入力遷移は、出力遷移の大部分が終了するより前に終了するとみなされる。
【００６３】
ステップ１３０では、任意に、ゲートが単一段であるかを判断する。これは、ライブラリによって特定されると考えられ、あるいは、（ステップ１２０で使用した定数１２０とは無関係な）定数Ｋ１３０、入力スリューＳｉ、最初の遅延Ｄおよび最初のスリューＳｏに関しては、Ｋ１３０＊Ｓｉ＞Ｄ−０．６２５＊Ｓｏであるか否かを判断することによって数学的に見積もってもよい。この計算式において、不等式の左辺は、入力が何らかの切り替え閾値に達するときを表し、定数Ｋ１３０は、通常、−０．６２５と０．６２５との間であると考えられる。不等式の右辺は、出力が切り替えを開始するときを表している。この不等式が満たされるなら、ゲートは単一段であると考えられる。
【００６４】
ステップ１２０および１３０の質問の答えが肯定であれば、ステップ１４０で、先に図１に関連して述べたように、調整電圧（すなわち、駆動ゲートのＶｄｄまたはＧｎｄと、被駆動ゲートのＶｄｄまたはＧｎｄとの差異であり、この差異は、入力遷移が立ち上がりあるいは立ち下がりのいずれであるかに応じて選択される）のみを単純に選択する。そうでない場合、言い換えれば、ステップ１２０および１３０のいずれかの質問の答えが否定である場合、あるいはこれら任意の質問が実行されない場合は、ステップ１５０で、被駆動ゲートのＶｄｄ−Ｇｎｄおよび調整電圧の極値を使用し、ここで極値とは最大値または最小値であり、初期（最小）遅延または後期（最大）遅延のいずれを計算しているのかに応じて、それぞれ使用する。
【００６５】
ステップ１６０では、上述のように、計算されている遅延に影響を及ぼすことのある他の非切り替え入力について検討する。どの非切り替え入力が遅延に影響を及ぼすかを認識していない場合は、全ての非切り替え入力について検討するとよい。対象の遷移が起こるときの、上記の非切り替え入力の状態が認識されているのであれば、調整電圧はそれらの状態に対してのみ計算されればよく、言い換えれば、ローである入力に関しては、調整電圧はＶｄｄ＿ｄｒｉｖｅｎ−Ｇｎｄ＿ｄｒｉｖｉｎｇとなり、ハイである入力に関しては、調整電圧はＶｄｄ＿ｄｒｉｖｉｎｇ−Ｇｎｄ＿ｄｒｉｖｅｎとなる。これらの式において、「ｄｒｉｖｉｎｇ」電圧は、非切り替え入力を駆動しているゲートの該当する電源電圧であって、切り替え入力を駆動しているゲートのものではない。
【００６６】
ステップ１７０で、図４で説明されているように、入力遅延およびスリュー調整を計算する。
【００６７】
ステップ１８０で、ステップ１２０の既知の遅延計算方法へ、先に選択されている電圧を入力することによって、ゲート遅延および出力スリューを計算する。
【００６８】
ステップ１９０で、ステップ１８０の電圧が、被駆動ゲートのＶｄｄ−Ｇｎｄであったかどうかを判断する。違っていた場合は、ステップ２００で、図５で説明されているように出力遅延およびスリュー調整を適用する。
【００６９】
最後に、ステップ２１０で、遅延（入力および出力調整を含む）および出力スリュー（あらゆる出力スリュー調整を含む）を返答する。
【００７０】
さらに、本発明の一実施形態は、被駆動デバイスにおける遅延を見積もるように構成され配置されている装置を対象としている。装置の例示的な実施形態が図７に図示されており、そこでは遅延デバイス７０が、ソース・エレメントおよびシンク・エレメントの両方からＶｄｄおよびＧｎｄの値を受信するエレメント７１を含んでいる。計算デバイス７２は、受信した値の単一電圧を計算し、制御デバイス７３は、被駆動エレメントに関する遅延ルールへアクセスする。遅延ルールは、遅延デバイス７０の中に格納されていてもよいし、あるいはデバイス７０から離れて格納されてもよいが、いずれにしても遅延は、制御デバイスから遅延を確定するためにアクセスすることができる。さらに、遅延ルールからアクセスされる遅延は、制御デバイス７３から出力することができ、または、例えば閾値の変動、スリューなど上記で言及されている要因が生じた場合には、遅延を制御デバイス７３の中で調整してもよい。その際、エレメント７４が、被駆動デバイス用のスリューを算出し、次いでこのスリューが制御デバイス７３へ転送されて、上記に説明されたやり方で単一電圧の調整が行われる。さらに、エレメント７５は、閾値の変動を監視して、エレメントに対して何らかの到達時間調整が必要か否かを判断し、これらの調整が制御デバイス７３へ転送されて、それにより制御デバイス７３が被駆動エレメントに関する遅延を出力する。
【００７１】
遅延デバイスは、完全なハードウェアの実施形態、完全なソフトウェアの実施形態、あるいはハードウェアおよびソフトウェア双方のエレメントを含んだ実施形態の形を成すことができる。好適な一実施形態では、本発明がソフトウェアに実装されており、これにはファームウェア、常駐ソフトウェア、マイクロコードなどが含まれるが、これらに限定されない。
【００７２】
さらに、本発明は、コンピュータ・プログラムの形を成すこともでき、これは、コンピュータまたは任意の命令実行システムによって使用されるかまたはこれらと関連するプログラム・コードを提供している、コンピュータ使用可能またはコンピュータ可読媒体からアクセス可能となっている。この説明のために、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによって使用されるかまたはこれらと関連するプログラムを、収容、格納、通信、伝搬、または搬送することのできる任意の装置とすることができる。
【００７３】
媒体は、電子、磁気、光学、電磁気、赤外線、または半導体のシステム（あるいは装置もしくはデバイス）、あるいは伝搬媒体とすることができる。コンピュータ可読媒体の例としては、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み出し専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、固定磁気ディスクおよび光ディスクが挙げられる。現行の光ディスクの例には、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、コンパクト・ディスク読み取り／書き取り（ＣＤ−Ｒ／Ｗ：ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ／ｗｒｉｔｅ）およびＤＶＤが挙げられる。
【００７４】
プログラム・コードの格納または実行あるいはその両方に適したデータ処理システムには、システム・バスを通じて直接的あるいは間接的にメモリ・エレメントと接続している少なくとも１つのプロセッサが含まれることになる。メモリ・エレメントには、実際のプログラム・コード実行の間に用いられる局部メモリ、大容量記憶装置、およびキャッシュ・メモリを含めることができ、キャッシュ・メモリは、実行の間に大容量記憶装置からコードを検索しなくてはならない回数を減らすために少なくとも一部のプログラム・コードの一時的な記憶装置を用意するものである。
【００７５】
入力／出力あるいはＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれに限定されない）が、直接的に、または介在するＩ／Ｏコントローラを通じて、システムと接続することができる。
【００７６】
さらに、ネットワーク・アダプタをシステムに接続して、データ処理システムが、介在するプライベートまたはパブリック・ネットワークを通じて、他のデータ処理システムあるいは隔たったプリンタまたは記憶デバイスと接続できるようにしてもよい。モデム、ケーブル・モデムおよびＥｔｈｅｒｎｅｔ（Ｒ）カードは、現在利用可能な各種ネットワーク・アダプタのほんの一部である。
【００７７】
なお、上記の例は、ただ説明のために提示されてきたのであり、決して本発明を制限するものとは解釈されない。本発明について、例示的な実施形態に関連して記載してきたが、当然のことながら、本明細書で使用されている文言は記述と説明の文言であり、限定の文言ではない。本発明の態様につき本発明の範囲および意図を逸脱することなく、現在提示され修正されている添付の請求項の範囲内で、変更を施すことができる。本明細書では、本発明について、特定の手段、材料および実施形態に関連して記載してきたが、本発明を本明細書に開示された詳細に制限しようとするものではない。むしろ、本発明は、添付の請求項の範囲内で、機能的に同等の構造、方法および用途にも及ぶものである。
【図面の簡単な説明】
【００７８】
【図１】異なる接地からＶｄｄまでの電圧で動作する駆動ゲートおよび被駆動ゲートを示す図である。
【図２】本発明を概略的に示す図である。
【図３】図３ａおよび図３ｂは入力および出力それぞれにおける異なるスリューを示す図である。
【図４】遅延閾値の変動およびスリュー測定用の異なる電源範囲の計算法を示す図である。
【図５】計算された到達時間およびスリューを調整する一覧表を表す図である。
【図６】被駆動ゲートの遅延を算出するプロセスのフロー図である。
【図７】本発明の特徴による装置の例示的な実施形態を示す図である。
【図１】
2009506568.tif 000003
【図２】
2009506568.tif 000004
【図３】
2009506568.tif 000005
【図４】
2009506568.tif 000006
【図５】
2009506568.tif 000007
【図６】
2009506568.tif 000008
【図７】
2009506568.tif 000009
【国際調査報告】
2009506568.tif 000010
2009506568.tif 000011