(57)【特許請求の範囲】
【請求項１】
ＩＣセルデータ入力部と、遅延データ生成部と、劣化後遅延データ生成部と、劣化後タイミングデータ生成部とを含むコンピュータにおいて、少なくとも１つの半導体デバイスを有する集積回路におけるホットキャリア効果をシミュレーションする方法であって、
前記ＩＣセルデータ入力部が、
前記集積回路内の、少なくとも１つの半導体デバイスをそれぞれ有する少なくとも１つのセルを記述するＩＣセルデータを受け、
前記遅延データ生成部が、
前記各セルについて、当該セルに含まれた各半導体デバイスの、異なる経年数における特性劣化を決定し、スティミュラスパターンを定め、前記スティミュラスパターンに対して、前記ホットキャリア効果に起因する経時特性劣化を求めることによって、ホットキャリア効果に起因する時間の経過と、入力スルー時間および出力負荷容量とを考慮した前記各セルにおける入力から出力までの伝播遅延を表す遅延データを生成し、
前記劣化後遅延データ生成部が、
前記遅延データおよび各セルのスイッチング動作情報に基づいて、スイッチング動作を考慮した前記各セルにおける入力から出力までの伝播遅延を記述する劣化後遅延データを生成し、
前記劣化後タイミングデータ生成部が、
前記劣化後遅延データと、前記各セルの遅延時間を示すスケーリング前タイミングデータとに基づいて、シミュレーションに用いるセルインスタンスにおける入力から出力までの伝播遅延を表した劣化後タイミングデータをスケーリングで生成する
ことを特徴とするシミュレーション方法。
【請求項２】
ＩＣセルデータ入力部と、遅延データ生成部と、スイッチング回数決定部と、劣化後遅延データ生成部と、劣化後タイミングデータ生成部とを含むコンピュータにおいて、少なくとも１つの半導体デバイスを有する集積回路におけるホットキャリア効果をシミュレーションする方法であって、
前記ＩＣセルデータ入力部が、
前記集積回路内の、少なくとも１つの半導体デバイスをそれぞれ有する少なくとも１つのセルを記述するＩＣセルデータを受け、
前記遅延データ生成部が、
前記各セルについて、当該セルに含まれた各半導体デバイスの、異なる経年数における特性劣化を決定し、スティミュラスパターンを定め、前記スティミュラスパターンに対して、前記ホットキャリア効果に起因する経時特性劣化を求めることによって、ホットキャリア効果に起因する時間の経過と、入力スルー時間および出力負荷容量とを考慮した前記各セルにおける入力から出力までの伝播遅延を表す遅延データを生成し、
前記スイッチング回数決定部が、
所定の期間、当該集積回路の論理シミュレーションを行い、前記各セルのうち組合せ論理を含む一のセルを構成要素に分解し、各構成要素について、前記所定の期間において、個別に、前記構成要素の出力状態が変化する回数を計ることによって、前記各セルのスイッチング動作情報を生成し、
前記劣化後遅延データ生成部が、
前記遅延データおよび各セルのスイッチング動作情報に基づいて、スイッチング動作を考慮した前記各セルにおける入力から出力までの伝播遅延を記述する劣化後遅延データを生成し、
前記劣化後タイミングデータ生成部が、
前記劣化後遅延データと、前記各セルの遅延時間を示すスケーリング前タイミングデータとに基づいて、シミュレーションに用いるセルインスタンスにおける入力から出力までの伝播遅延を表した劣化後タイミングデータをスケーリングで生成する
ことを特徴とするシミュレーション方法。
【請求項３】
ＩＣセルデータ入力部と、遅延データ生成部と、劣化後遅延データ生成部と、劣化後タイミングデータ生成部とを含むコンピュータにおいて、少なくとも１つの半導体デバイスを有する集積回路におけるホットキャリア効果をシミュレーションする方法であって、
前記ＩＣセルデータ入力部が、
前記集積回路内の、少なくとも１つの半導体デバイスをそれぞれ有する少なくとも１つのセルを記述するＩＣセルデータを受け、
前記遅延データ生成部が、
前記各セルについて、当該セルに含まれた各半導体デバイスの、異なる経年数における特性劣化を決定し、スティミュラスパターンを定め、前記スティミュラスパターンに対して、前記ホットキャリア効果に起因する経時特性劣化を求めることによって、ホットキャリア効果に起因する時間の経過と、入力スルー時間および出力負荷容量とを考慮した前記各セルにおける入力から出力までの伝播遅延を表す遅延データを生成し、
前記劣化後遅延データ生成部が、
前記各セルの駆動能力を、セルに係るＩ／Ｏパス遅延および配線遅延に基づくソーステーブル遅延モデルを用いて、複数の入力スルー時間および出力負荷容量に基づいてキャラクタライズを行い、前記遅延データおよび各セルのスイッチング動作情報に基づいて、スイッチング動作を考慮した前記各セルにおける入力から出力までの伝播遅延を記述する劣化後遅延データを生成し、
前記劣化後タイミングデータ生成部が、
前記劣化後遅延データと、前記各セルの遅延時間を示すスケーリング前タイミングデータとに基づいて、シミュレーションに用いるセルインスタンスにおける入力から出力までの伝播遅延を表した劣化後タイミングデータをスケーリングで生成する
ことを特徴とするシミュレーション方法。
【請求項４】
請求項３記載のシミュレーション方法において、
入力スルー時間および負荷容量に基づく遅延値を含む駆動ソーステーブルを、各セルに対して生成する
ことを特徴とするシミュレーション方法。
【請求項５】
請求項４記載のシミュレーション方法において、
前記駆動ソーステーブルを、入力スルー時間および出力負荷容量に基づいて参照し、補間によって、遅延値を求める
ことを特徴とするシミュレーション方法。
【請求項６】
請求項４記載のシミュレーション方法において、
前記駆動ソーステーブルを参照するための入力スルー時間を、遅延計算のためのものとは別個に、設定する
ことを特徴とするシミュレーション方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、集積回路のシミュレーションに関するものであり、特に、集積回路のホットキャリア効果をシミュレーションする技術に属する。
【０００２】
【従来の技術】
集積回路（ＩＣ）の設計は、半導体製造技術の進歩によって単一基板に数百万個のトランジスタが形成可能になったことに伴って、より複雑に、より長い時間を要するようになった。集積回路の設計者は、近年の集積回路における異常なまでの複雑さや、改良設計の短期間開発に対する要求から、益々、設計を支援する様々なＣＡＤツールに依存するようになっている。改良設計はしばしば、多くの可能設計解に対して試行錯誤を行い、その中から「最適な」設計解を選択することによって行われる。そして、集積回路向けＣＡＤツールすなわちＩＣＣＡＤツールは、設計者を、より速く「最適な」設計をできるように支援するものである。
【０００３】
ＩＣＣＡＤツールの中には一般に、ＩＣレイアウトツールとＩＣ設計ツールがある。ＩＣレイアウトツールは、設計者がＩＣレイアウトを生成するのを支援する。集積回路設計において、ＩＣ「レイアウト」とは、半導体デバイスを生成するのに用いられる異なる種類の材料の大きさおよび位置と、ＩＣの製造期間にデバイス間に配置される電気的接続とを表す幾何学的パターンのことをいい、例えば多角形の形態で表される。例えば、ＩＣ上の拡散窓はレイアウト上では１つまたは複数の多角形によって表され、これは、製造側では「拡散層形状」を意味するものと解釈される。コンタクトやビアのような他の層の材料や形態もまた同様に、ＩＣレイアウトにおいて表される。
【０００４】
ＩＣレイアウトにおける多角形形状は、ある種の材料の最小サイズおよび異種材料間の最小間隔を規定するデザインルールに従わなければならない。このデザインルールはまた、コンタクトのような他のレイアウト形態に対して要求されるサイズおよび間隔を特定する。ＩＣレイアウトツールは、ＩＣレイアウトが生成されたときに自動的にデザインルール違反を検出できるので、ＩＣレイアウトが完成するまえにこれを修正することが可能になる。
【０００５】
ＩＣレイアウトが一旦生成されると、ＩＣ設計ツールが、そのＩＣレイアウトの特性をシミュレートしてテストするために用いられる。ＩＣ設計ツールとしては多くの種類のものがあるが、そのうち重要なものは、ＩＣシミュレーションツールとＩＣ信頼性ツールの２つである。
【０００６】
従来のＩＣシミュレーションツールは、機能デバイスの接続と、デバイスの寸法や接合部面積のような物理的なモデルおよびパラメータとを組み合わせて、開発中のＩＣに対して、電流電圧波形の時間変化や周波数応答をシミュレートする。ＩＣシミュレーションツールによってＩＣ特性が前もって分かるので、ＩＣ設計において論理およびタイミングエラーを知ることができる。よく知られたトランジスタレベルのＩＣシミュレーションツールの一例としては、カリフォルニア大学バークレー校で開発された「ＳＰＩＣＥ」（Simulation Program for Integrated Circuit Emphasis）がある。
【０００７】
【発明が解決しようとする課題】
ＩＣシミュレーションツールの限界の１つに、トランジスタ、特にＭＯＳトランジスタのホットキャリア効果に起因するＩＣ特性の劣化を反映できない、ということがある。ホットキャリア効果は、時間の経過とともにトランジスタ、ひいてはＩＣの特性を劣化させる、よく知られた物理的現象である。長期間動作すると、ホットキャリア効果はスレッショルド電圧の増加やトランスコンダクタンスの減少、およびデバイススイッチング速度の減少として現れ、ＩＣのレスポンスの変化を引き起こし、極端な場合、ＩＣの誤動作を引き起こす。近年のＩＣではデバイスの微細化が進み、一方で電源電圧のスケーリングが追いつかず、トランジスタ内の高電界によってホットキャリア効果はより激しくあらわれ、ＩＣの寿命を縮める大きな要因になっている。
【０００８】
ホットキャリア効果に起因するＩＣ劣化を低減するための、多くの技術が知られている。例えば、電源電圧や動作周波数の低減、またはＬＤＤ構造のような特殊なドレイン構造の採用などがある。これらの手法は、ＩＣ性能を逆に下げたり、ＩＣのサイズを大きくしたり、製造プロセスを複雑にしたりするためトレードオフとなる。ＩＣ特性を所望のレベルに保ちつつ、ホットキャリア効果を抑えるための最適な手法を選択するためには、設計者はＩＣにおけるホットキャリア効果をキャラクタライズしてシミュレートしなければならない。半導体デバイス特性における長期間にわたるホットキャリア効果を評価したいというニーズに対して、様々なＩＣ信頼性ツールが開発されている。
【０００９】
いくつかのＩＣ信頼性ツールでは、半導体デバイス特性におけるホットキャリア効果がモデル化されている。このようなツールは、半導体デバイスにおけるホットキャリア効果を決定するのに特に有用である。なぜなら、ホットキャリア効果を決めるためにはいくつかの複雑な方程式を解くことを必要とするからである。すなわち、トランジスタのドレイン近傍の最大電界の計算は、２次元ポアソン方程式のコンピュータ支援解を必要とする複雑な処理となる。
【００１０】
ＩＣ信頼性ツールは、単一の半導体デバイスにおけるホットキャリア効果については、比較的精度の高いモデルを与える。ところが、ＩＣ全体に対するホットキャリア効果のモデル化については成功していない。なぜなら、数百万のデバイスに対してホットキャリア効果をモデル化するには、圧倒的に膨大な量のコンピュータ資源が必要となるからである。ＩＣ信頼性ツールである商業的に利用可能なＩＣ信頼性シミュレータの一例としては、「ＢＴＡＢＥＲＴ」（BTA Technology,Inc.,of Santa Clara,California,USA ）がある。ＢＴＡＢＥＲＴは、ある動作条件におけるホットキャリア効果によるデバイス劣化をキャラクタライズできるＩＣ信頼性シミュレータである。ホットキャリア効果によるデバイス劣化がキャラクタライズされると、劣化後デバイスモデルが生成され、それから劣化後波形が得られ、劣化前デバイスモデルから得られる劣化前波形と比較できる。この手法は精度は高いが時間がかかる。またこのことは、数百万個のデバイスを有する大規模ＩＣについてはシミュレートできない、という限界にもなる。
【００１１】
ＩＣ全体のホットキャリア効果をモデル化する１つの手法として、「標準的な」デバイスに対してホットキャリア効果をキャラクタライズし、これらの標準的なキャラクタライゼーションを用いてＩＣ全体におけるホットキャリア効果を評価する、というものがある。この手法では、同種類のデバイスは全て同様にホットキャリア効果の影響を受けるものと近似するため、ＩＣ中の各デバイス毎にキャラクタライズする手法に比べて、必要となるコンピュータ資源が格段に小さくなる。しかしながら、この手法には、いくつかの欠点がある。第１に、多くのＩＣは、異なるレイアウト形状に合わせて、「標準的な」デバイスの多様な変形例を用いている。これら様々なデバイスはしばしば異なるホットキャリア特性を有する。また、「標準的な」デバイスと同一のものであってもホットキャリア特性が異なる場合がある。なぜなら、あるデバイスのホットキャリア特性は、ＩＣ中における他のデバイスとの接続関係と、そのデバイスのスイッチング周波数などの動作条件とに依存するからである。したがって、前述したＩＣ全体のホットキャリア効果を推定する手法では、ＩＣ全体についてホットキャリア効果を正確にキャラクタライゼーションすることができない。
【００１２】
ＩＣ全体のホットキャリア効果をシミュレーションしたいというニーズ、および従来の手法の限界に基づいて、ＩＣ全体のホットキャリア効果をシミュレーションする手法として、より正確なキャラクタゼーションが実現でき、かつ、従来の手法よりも必要となるコンピュータ資源が少ないものが、高く望まれている。
【００１３】
前記の問題に鑑み、本発明は、集積回路におけるホットキャリア効果のシミュレーションとして、ＩＣ全体規模のホットキャリア効果を、従来よりも少ないコンピュータ資源で実行できるようにすることを課題とする。
【００１４】
【課題を解決するための手段】
請求項１の発明が講じた解決手段は、ＩＣセルデータ入力部と、遅延データ生成部と、劣化後遅延データ生成部と、劣化後タイミングデータ生成部とを含むコンピュータにおいて、少なくとも１つの半導体デバイスを有する集積回路におけるホットキャリア効果をシミュレーションする方法として、前記ＩＣセルデータ入力部が、前記集積回路内の、少なくとも１つの半導体デバイスをそれぞれ有する少なくとも１つのセルを記述するＩＣセルデータを受け、前記遅延データ生成部が、前記各セルについて、当該セルに含まれた各半導体デバイスの、異なる経年数における特性劣化を決定し、スティミュラスパターンを定め、前記スティミュラスパターンに対して、前記ホットキャリア効果に起因する経時特性劣化を求めることによって、ホットキャリア効果に起因する時間の経過と、入力スルー時間および出力負荷容量とを考慮した前記各セルにおける入力から出力までの伝播遅延を表す遅延データを生成し、前記劣化後遅延データ生成部が、前記遅延データおよび各セルのスイッチング動作情報に基づいて、スイッチング動作を考慮した前記各セルにおける入力から出力までの伝播遅延を記述する劣化後遅延データを生成し、前記劣化後タイミングデータ生成部が、前記劣化後遅延データと、前記各セルの遅延時間を示すスケーリング前タイミングデータとに基づいて、シミュレーションに用いるセルインスタンスにおける入力から出力までの伝播遅延を表した劣化後タイミングデータをスケーリングで生成するものである。
【００１５】
請求項２の発明が講じた解決手段は、ＩＣセルデータ入力部と、遅延データ生成部と、スイッチング回数決定部と、劣化後遅延データ生成部と、劣化後タイミングデータ生成部とを含むコンピュータにおいて、少なくとも１つの半導体デバイスを有する集積回路におけるホットキャリア効果をシミュレーションする方法として、前記ＩＣセルデータ入力部が、前記集積回路内の、少なくとも１つの半導体デバイスをそれぞれ有する少なくとも１つのセルを記述するＩＣセルデータを受け、前記遅延データ生成部が、前記各セルについて、当該セルに含まれた各半導体デバイスの、異なる経年数における特性劣化を決定し、スティミュラスパターンを定め、前記スティミュラスパターンに対して、前記ホットキャリア効果に起因する経時特性劣化を求めることによって、ホットキャリア効果に起因する時間の経過と、入力スルー時間および出力負荷容量とを考慮した前記各セルにおける入力から出力までの伝播遅延を表す遅延データを生成し、前記スイッチング回数決定部が、所定の期間、当該集積回路の論理シミュレーションを行い、前記各セルのうち組合せ論理を含む一のセルを構成要素に分解し、各構成要素について、前記所定の期間において、個別に、前記構成要素の出力状態が変化する回数を計ることによって、前記各セルのスイッチング動作情報を生成し、前記劣化後遅延データ生成部が、前記遅延データおよび各セルのスイッチング動作情報に基づいて、スイッチング動作を考慮した前記各セルにおける入力から出力までの伝播遅延を記述する劣化後遅延データを生成し、前記劣化後タイミングデータ生成部が、前記劣化後遅延データと、前記各セルの遅延時間を示すスケーリング前タイミングデータとに基づいて、シミュレーションに用いるセルインスタンスにおける入力から出力までの伝播遅延を表した劣化後タイミングデータをスケーリングで生成するものである。
【００１６】
請求項３の発明が講じた解決手段は、ＩＣセルデータ入力部と、遅延データ生成部と、劣化後遅延データ生成部と、劣化後タイミングデータ生成部とを含むコンピュータにおいて、少なくとも１つの半導体デバイスを有する集積回路におけるホットキャリア効果をシミュレーションする方法として、前記ＩＣセルデータ入力部が、前記集積回路内の、少なくとも１つの半導体デバイスをそれぞれ有する少なくとも１つのセルを記述するＩＣセルデータを受け、前記遅延データ生成部が、前記各セルについて、当該セルに含まれた各半導体デバイスの、異なる経年数における特性劣化を決定し、スティミュラスパターンを定め、前記スティミュラスパターンに対して、前記ホットキャリア効果に起因する経時特性劣化を求めることによって、ホットキャリア効果に起因する時間の経過と、入力スルー時間および出力負荷容量とを考慮した前記各セルにおける入力から出力までの伝播遅延を表す遅延データを生成し、前記劣化後遅延データ生成部が、前記各セルの駆動能力を、セルに係るＩ／Ｏパス遅延および配線遅延に基づくソーステーブル遅延モデルを用いて、複数の入力スルー時間および出力負荷容量に基づいてキャラクタライズを行い、前記遅延データおよび各セルのスイッチング動作情報に基づいて、スイッチング動作を考慮した前記各セルにおける入力から出力までの伝播遅延を記述する劣化後遅延データを生成し、前記劣化後タイミングデータ生成部が、前記劣化後遅延データと、前記各セルの遅延時間を示すスケーリング前タイミングデータとに基づいて、シミュレーションに用いるセルインスタンスにおける入力から出力までの伝播遅延を表した劣化後タイミングデータをスケーリングで生成するものである。
【００１７】
請求項４の発明では、前記請求項３のシミュレーション方法において、入力スルー時間および負荷容量に基づく遅延値を含む駆動ソーステーブルを、各セルに対して生成するものとする。
【００１８】
請求項５の発明では、前記請求項４のシミュレーション方法において、前記駆動ソーステーブルを、入力スルー時間および出力負荷容量に基づいて参照し、補間によって、遅延値を求めるものとする。
【００１９】
請求項６の発明では、前記請求項４のシミュレーション方法において、前記駆動ソーステーブルを参照するための入力スルー時間を、遅延計算のためのものとは別個に、設定するものとする。
【００２０】
【発明の実施の形態】
以下の記載では、説明のために、具体的詳細を本発明の十分な理解のために示す。しかしながら、本発明は明らかに、ここに示す以外の形態によっても実現され得る。ここでは、本発明が必要以上に分かりにくくなることを避けるために、よく知られた構成や装置をブロック図の形で示す。
【００２１】
（機能の概観）
前述のＩＣ信頼性ツールとして、ＩＣにおけるホットキャリア効果を回路レベルでシミュレートするホットキャリアシミュレーションツールを提供する。このホットキャリアシミュレーションツールはホットキャリアタイミングライブラリジェネレータとホットキャリアシミュレータとを有し、これらは２つのフェーズの処理でそれぞれ用いられる。ここで扱うＩＣは、論理セルや機能ブロックが相互に配線されて回路を構成するセルベース設計に基づくＩＣを考える。第１のフェーズでは、ホットキャリアタイミングライブラリジェネレータは、ＩＣ設計における各セルのホットキャリアタイミングデータを含むホットキャリアタイミングライブラリを生成する。
【００２２】
第２のフェーズでは、ホットキャリアシミュレータはホットキャリアタイミングライブラリを参照して、各セルインスタンスに対して遅延劣化率に基づく劣化後タイミングデータを決定する。このデータは、後述のセルインスタンスタイミングデータをスケーリングし、スケーリングされたタイミングデータを生成するのに用いられる。このスケーリングされたタイミングデータは、論理シミュレータなどの一般的なＩＣシミュレーションプログラムがＩＣ全体規模でのホットキャリアシミュレーションを行うために用いられる。本発明に係るホットキャリアシミュレーションツールは、所望のシミュレーションに応じて、ＩＣ全体にわたって、またはＩＣの一部分に対して用いられる。例えばある状況では、ＩＣ全体にわたるホットキャリア効果が決定できるよう、ＩＣ全体のシミュレーションが望まれる。他の状況では、ＩＣレイアウトや製造プロセスがより適切に実行できるように、ＩＣのうち、ホットキャリア効果が重要な関心事となる部分についてのシミュレーションが望まれる。例えば、ＩＣによっては、寸法の小さなデバイスが密に詰め込まれた部分を有しており、この部分ではホットキャリア効果は重要な関心事となる。本発明に係るホットキャリアシミュレーションツールを用いると、ＩＣのある部分についてのホットキャリア効果が個別にシミュレートでき、またＩＣ全体についてもシミュレーションを行うことができる。
【００２３】
（実施形態）
図１は本発明の一実施形態に係る集積回路（ＩＣ）におけるホットキャリア効果のシミュレーションを行うためのシステム構成を示すブロック図である。ＩＣセルデータ１０２は、遅延データ生成部および劣化後遅延データ生成部としてのホットキャリアタイミングライブラリジェネレータ１０４に与えられる。ＩＣセルデータ１０２では、通常、ＩＣにおいてシミュレーションの対象となるセルの特性や性質が記述されている。ＩＣセルデータ１０２の具体的な内容については後述する。
【００２４】
第１のフェーズにおいて、ホットキャリアタイミングライブラリジェネレータ１０４はＩＣセルデータ１０２を処理し、シミュレーションの対象となる各セルのホットキャリアタイミングデータを含むホットキャリアタイミングライブラリ１０６を出力する。第２のフェーズにおいて、劣化後タイミングデータ生成部としてのホットキャリアシミュレータ１１０はホットキャリアタイミングライブラリ１０６と入力タイミングデータ１０８とを受け、劣化後タイミングデータ１１２を出力する。劣化後タイミングデータ１１２は、ＩＣを構成するセルのホットキャリア効果をゲートレベルでシミュレートするように論理シミュレータ１１４に与えられる。また劣化後タイミングデータ１１２はタイミングアナライザ１１６にも与えることができ、タイミングアナライザ１１６はタイミング解析を行う。第１のフェーズ（ホットキャリアタイミングライブラリ生成）および第２のフェーズ（ホットキャリアシミュレーション）について、詳細に説明する。
【００２５】
Ｉ．ホットキャリアタイミングライブラリ生成
第１のフェーズにおいて、ホットキャリアタイミングライブラリは、シミュレーション対象であるＩＣで用いられる各セルに対し、ホットキャリアタイミングライブラリジェネレータ１０４によって生成される。これを行うために、ＩＣは、複数のセルに分けられ、各セルについてホットキャリアタイミングライブラリのデータが個別に決定される。ＩＣセルの例としては、加算器やシフトレジスタのようなＭＳＩ（medium scale integration）デバイスや、ＡＮＤ、ＮＯＲまたはＸＯＲのような論理ゲートがある。ＩＣシミュレーションの対象となるセルは、シミュレーションに応じて異なる。多段セルでは、入力から出力までの遅延は、それぞれが異なるホットキャリア劣化を有する２以上の部分に分けられる。後に詳述するように、ホットキャリア劣化をより正確に解析するために、ホットキャリアプリミティブが用いられる。ホットキャリアタイミングライブラリは、ホットキャリアタイミングライブラリ生成の間に、全てのホットキャリアプリミティブに対して生成される。
【００２６】
Ａ．入力データ
図２はホットキャリアタイミングライブラリ１０６の生成をより詳細に示すブロック図である。前述したように、ＩＣセルデータ１０２はホットキャリアタイミングライブラリジェネレータ１０４に与えられ、ホットキャリアタイミングライブラリジェネレータ１０４はＩＣセルデータ１０２を処理してホットキャリアタイミングライブラリ１０６を生成する。ここでは、ＩＣセルデータ１０２は４種類のデータ、すなわち、（１）セルキャラクタライゼーション・コンディションデータ、（２）セルネットリストデータ、（３）デバイスモデルデータ、（４）セル特性データ、を有するものとする。例えば、セルキャラクタライゼーション・コンディションデータは、ＩＣセルデータ入力部としてのユーザインターフェース２０２を介してホットキャリアタイミングライブラリジェネレータ１０４に供給される。ユーザインターフェース２０２は、ユーザがプルダウンメニューを選択して入力フィールドへ入力することによってセルキャラクタライゼーション・コンディションデータを特定できるＧＵＩ（graphical user interface）が好ましい。以下、ＩＣセルデータ１０２の４種類のデータについて、説明する。
【００２７】
１．セルキャラクタライゼーション・コンディションデータ
セルキャラクタライゼーション・コンディションデータは、電源電圧、動作温度、入力スルー（立上り／立下り）時間の範囲、出力負荷容量の範囲および動作時間の範囲（経年数）などのような、セルの動作条件を表したものである。各範囲では、キャラクタライゼーションポイントを表す多数の値が準備されている。また、遅延量、しきい値電圧Ｖth、出力スルー高電圧ＶSHおよび出力スルー低電圧ＶSLのような他のパラメータも、コンディションデータに含まれている。出力スルー高電圧ＶSHおよび出力スルー低電圧ＶSLは、スルー立上り／立下り時間を決めるのに用いられる。
【００２８】
図３は本発明の一実施形態に係るシステムにおけるライブラリ生成条件設定の画面を示す図である。図３に示すように、条件設定として、さらに、キャラクタライゼーション実行時に起動する回路信頼性シミュレータや回路性能シミュレータに関する情報（図３におけるCircuit Simulator ）、これらのシミュレータを搭載するコンピュータのネットワーク環境下における認識用名称の情報（図３におけるHost Name ）、または、複数電源系の回路についてはキャラクタライゼーションの対象となる電源（接地）名の情報（図３におけるPower Name,Ground Name）も含んでよい。
【００２９】
図４（ａ）はスルー立下り時間ｔSFの定義を表す図である。スルー立下り時間ｔSFは、出力電圧（曲線２１２）が、例えば電圧ＶDDの約２０％で表されるスルー低電圧レベルＶSLに達するのに要する時間を外挿推定し、この時間に基づいて決定される。図４（ｂ）はスルー立上り時間ｔSRの定義を表す図である。スルー立上り時間ｔSRは、出力電圧（曲線２１６）が、例えば電圧ＶDDの約８０％で表されるスルー高電圧レベルＶSHに達するのに要する時間を外挿推定し、この時間に基づいて決定される。ここで、図４のように電圧波形はノイズ等で電源電圧ＶＤＤより高い値またはグランドＶＳＳより低い値をとりうる。
【００３０】
２．セルネットリストデータ
セルネットリストデータは、各セルにおけるデバイスと寄生素子とを記述し、かつ、各デバイスの固有情報および電気的接続を記述するものである。デバイス固有情報の内容は、そのデバイスの種類によって決まる。例えば、抵抗についてはその特性は抵抗値であり、容量については容量値であり、またトランジスタについては例えばゲート長やゲート幅のような寸法である。また電気的接続は、デバイスの各端子がＩＣ中において接続される箇所を示すものであり、通常、ＩＣノードで表される。例えば後述のＳＰＩＣＥの場合には、抵抗「Ｒ１」は「１０Ｋ」の抵抗値を持ち、その第１および第２の端子はノード「Ｎ１」と「Ｎ２」にそれぞれ接続される、というように記述される。
【００３１】
３．デバイスモデルデータ
デバイスモデルデータは、セル内部の各ノードの電圧および電流を求めるための回路性能シミュレーションや回路信頼性シミュレーションにおいて用いられる時間的な（time-based）数式モデルを含んでいる。ＩＣデバイスの数式モデルは、一般には、デバイスパラメータと、デバイス動作のシミュレーションのために解くべき複雑な方程式群とを含んでいる。商業上利用可能な回路性能シミュレーションソフトウェアの多くは、特定の製造プロセスやアプリケーションに合うように変更可能なデフォルトのデバイスパラメータとモデルを備えている。このようなシミュレーションソフトウェアすなわちシミュレータの例としては、「ＳｔａｒＨｓｐｉｃｅ」（Avant! Corporation,Fremont,California,USA ）、「ＳＰＥＣＴＲＥ」（Cadence Design Systems,San Jose,California,USA）および「ＳＰＩＣＥ」がある。デバイスモデルデータは、異なるデバイス年齢におけるデバイス動作をモデル化するために「劣化前」デバイスモデルと「劣化後」デバイスモデルとを含んでいる。
【００３２】
劣化後デバイスモデルには、使用が望ましい累積劣化（図３中のAge limit,ストレス累積積分値）の範囲があるので、その範囲をセルキャラクタライゼーション・コンディションデータの条件設定に含んでもよい。回路信頼性シミュレータでセルのキャラクタライゼーションを実行する過程で、各デバイス（トランジスタ）の累積劣化がこの範囲内であることをチェックし、範囲外である場合は誤差が大きくなることが予想されることから警告を出力するようにしてもよい。
【００３３】
４．セル特性データ
セル特性データは各セルの特性を記述するものであり、セルの名前や、「ＩＮＰＵＴ１」「ＩＮＰＵＴ２」「ＯＵＴＰＵＴ１」などのようなセルの入力・出力端子の識別子を表すものである。またセル特性データは、セルの機能、入力スティミュラスとこの入力スティミュラスに対して予想されるセルのレスポンス（応答）を定義する。例えば、２個の入力Ａ，Ｂと１個の出力Ｙとを有するセルに対して、次表のようなセルのレスポンスが与えられる。
【００３４】
【表１】
0004066399.tif 000002
【００３５】
ここで、「０」とＬＯＷは論理レベルのローを表し、「１」とＨＩＧＨは論理レベルのハイを表す。また、「Ｒ」（rise）は入力が論理レベルのＬＯＷからＨＩＧＨへ変化することを意味し、「Ｆ」（fall）は入力が論理レベルのＨＩＧＨからＬＯＷへ変化することを意味する。
【００３６】
図５は本発明の一実施形態に係るシステムにおける入力スティミュラスパターン設定画面を示す図である。図５に示すように、全ての入力組合せに対してキャラクタリゼーションを行う必要がない場合は、条件設定として、各組合せに対してキャラクタリゼーションを行うか否かを示す属性（図５におけるMask）を設けて、制御するようにしてもよい。
【００３７】
Ｂ．入力データの処理
ホットキャリアタイミングライブラリジェネレータ１０４は回路信頼性シミュレータ２０４を用いてＩＣセルデータ１０２を処理し、各ＩＣセルの信頼性を、ホットキャリア効果に起因する各セルの動作劣化を基にして求める。またホットキャリアタイミングライブラリジェネレータ１０４は回路性能シミュレータ２０６を用いてＩＣセルデータ１０２を処理し、セルの動作を異なるセル年齢においてシミュレートし、ホットキャリア効果に起因する回路の動作劣化を推定する。ホットキャリアタイミングライブラリジェネレータ１０４はセルの動作を測定し、特に、ホットキャリア効果に起因するセル劣化を考慮したときのセルの遅延を測定する。
【００３８】
図６はホットキャリア効果に起因するあるセル（図示せず）の動作劣化を示す図である。図６において、入力曲線３０２はこのセルの入力に与えられた立上り電圧レベル（Ｖ）と時間（ｔ）との関係を示す。また、出力曲線３０４，３０６，３０８はそれぞれ、０年、１年または２年経過した時のセルのレスポンスを表している。セルはその経年数が増すにつれて、出力レベルＶout が電圧ＶDDから所定の電圧レベルＶ１まで下がるのに要する時間が長くなる。すなわち、曲線３０４に示すように、経年数が０年でありホットキャリア効果に起因する動作劣化がない場合は、セルの出力が電圧Ｖ１に達するのに時間ｔ１を要する。そして、１年経過すると、曲線３０６に示すように、出力が電圧Ｖ１に達するのに時間ｔ２を要し、２年経過すると、曲線３０８に示すように、出力が電圧Ｖ１に達するのに時間ｔ３を要する。このように、セルのレスポンス時間は、ホットキャリア効果に起因して時間の経過とともに劣化すなわちこの例では増大する（ｔ３＞ｔ２＞ｔ１）。
【００３９】
Ｃ．ソーステーブル遅延モデル
ここでは、セルの駆動能力を、異なる入力スルー時間ｔｓおよび負荷容量ｃｌに基づいてキャラクタライズするために、ソーステーブル遅延モデルを用いる。これにより、配線遅延および入力スルー時間が精度良く決定される。このソーステーブル遅延モデルに基づいて、各セルに対して駆動ソーステーブルが生成される。駆動ソーステーブルに含まれた値は、図６に示すような劣化前遅延ｔ１および劣化後遅延ｔ２，ｔ３を決定するために用いられる。
【００４０】
図７は駆動ソーステーブルの値を決定するために用いられるソーステーブル遅延モデルを示す図である。次にこのソーステーブル遅延モデルを、ＩＣセルインスタンス（図７（ａ））およびタイミングチャート（図７（ｂ））で説明する。ＩＣセルインスタンスは、入力Ａおよび出力Ｙを有するゲート３１４を含んでいる。出力Ｙは例えば寄生抵抗Ｒと寄生容量Ｃとを含むＲＣ配線ネットワーク３２０を介して、次段のゲート３２４の入力Ｚに接続されている。ゲート３２４は出力３２６に信号を出力する。
【００４１】
図７（ｂ）のタイミングチャートは図７（ａ）のＩＣセルインスタンスの動作に係る信号伝搬遅延関係を示している。Ｖｔｈは遅延計算の基準となるゲートのしきい値電圧である。ｔｐｄｘはＩ／Ｏパス遅延であり、入力Ａから出力Ｙまでの伝搬遅延を表している。Ｉ／Ｏパス遅延ｔｐｄｘは、入力Ａがしきい値電圧Ｖｔｈをクロスしてから出力Ｙが「立ち下がってＶｔｈをクロスする」までに要する時間である。Ｉ／Ｏパス遅延ｔｐｄｘは、図８（ａ）に示すテーブルのような入力スルー時間ｔｓ（ここでは３点ｔｓ１〜ｔｓ３）と出力負荷容量ｃｌ（ここでは６点ｃｌ１〜ｃｌ６）との１８点の組合せについてそれぞれｔｐｄｘが求められ、２次元テーブルの形で格納される。
【００４２】
ｔｐｄｗは配線遅延であり、出力Ｙから入力Ｚまでの伝搬遅延を表している。ＲＣ配線ネットワーク３２０に係る遅延によって、出力Ｙの立ち下がりと入力Ｚの立ち下がりとの間に遅延が生じる。
【００４３】
ゲート３１４に係る遅延は、入力Ａから入力Ｚまでの伝搬遅延すなわちｔｐｄｘとｔｐｄｗとの和によって表される。図８（ａ）の駆動ソーステーブルは後述する図１９の所定の処理ステップで内部・外部遅延計算機２２２が配線遅延ｔｐｄｗを計算するために用いられる。
【００４４】
また、図８（ｂ），（ｃ），（ｄ）は一実施形態に係る駆動トランジスタの電圧Ｖｄｓ−電流Ｉｄｓ特性を示すグラフである。駆動トランジスタの出力特性は、駆動トランジスタが飽和して動作する飽和領域と、線形的に動作する線形領域とにわたって特徴づけられる。飽和領域では、定電圧源、飽和ドレイン電流Ｉdsatおよび抵抗値Ｒ（＝Ｖdsat／Ｉdsat）の線形抵抗が近似的に用いられる。トランジスタの出力特性は、入力スルー時間ｔｓの影響を受けるゲート電圧Ｖｇｓの変化と、出力負荷容量ｃｌの影響を受けるドレイン電圧Ｖｄｓの変化に依存する。具体的には、図８（ｂ）のグラフの破線はｔｓが小さくｃｌが大きいときのトランジスタの出力特性の軌跡を、図８（ｃ）のグラフの破線はｔｓが中程度でｃｌも中程度のときのトランジスタの出力特性の軌跡を、そして図８（ｄ）のグラフの破線はｔｓが大きくｃｌが小さいときのトランジスタの出力特性の軌跡を示している。
【００４５】
図９はＮＭＯＳ（Ｎチャネル型ＭＯＳ）トランジスタの飽和領域および線形領域における動作をキャラクタライズするために用いるモデルの一例を示す図である。同図中、（ａ）はＮＭＯＳトランジスタ、（ｂ）は（ａ）に示すＮＭＯＳトランジスタの飽和領域における動作をキャラクタライズするために用いられるモデル、（ｃ）は（ａ）に示すＮＭＯＳトランジスタの線形領域における動作をキャラクタライズするために用いられるモデルである。
【００４６】
図９（ｂ）のモデルにおいて、ドレイン飽和電流Ｉdsatはｔｓとｃｌの関数である。次式は、ＮＭＯＳトランジスタの飽和領域における動作をキャラクタライズするために用いられる。ここで、Ｃｏはセル内部のトランジスタもしくはセルの出力端子自身が有する負荷容量である。
Ｖｏ（ｔ）＝ＶＤＤ−Ｉdsat・（ｔ−ｔ０）／（Ｃｏ＋ｃｌ）
ただし、ＶＤＤ＞Ｖｏ（ｔ）＞Ｖdsat    …（１）
【００４７】
図９（ｃ）のモデルにおいて、抵抗値“Ｒ”は飽和電圧Ｖdsat（ts,cl）と飽和電流Ｉdsat（ts,cl）との比である。次式は、ＮＭＯＳトランジスタの線形領域における動作をキャラクタライズするために用いられる。
Ｖｏ（ｔ）
＝Ｖdsat・ｅｘｐ（−Ｉdsat・（ｔ−ｔsat）／（（Ｃｏ＋ｃｌ）・Ｖdsat））
ただし、Ｖｏ（ｔ）＜Ｖdsat    …（２）
【００４８】
図９（ｄ）はドレイン飽和電流Ｉdsatとドレイン飽和電圧Ｖdsatとの関係を示すグラフ、図９（ｅ）は出力電圧と時間との関係Ｖｏ（ｔ）を示すグラフである。図９（ｅ）中に示すように、実際の波形と本モデルの波形との間に若干の差があるが無視できる程度である。
【００４９】
図１０はＰＭＯＳ（Ｐチャネル型ＭＯＳ）トランジスタの飽和領域および線形領域における動作をキャラクタライズするために用いるモデルの一例を示す図である。同図中、（ａ）はＰＭＯＳトランジスタ、（ｂ）は（ａ）に示すＰＭＯＳトランジスタの飽和領域における動作をキャラクタライズするために用いられるモデル、（ｃ）は（ａ）に示すＰＭＯＳトランジスタの線形領域における動作をキャラクタライズするために用いられるモデルである。
【００５０】
図１０（ｂ）のモデルにおいて、ドレイン飽和電流Ｉdsatはｔｓとｃｌの関数である。次式はＰＭＯＳトランジスタの飽和領域における動作をキャラクタライズするために用いられる。
Ｖｏ（ｔ）＝Ｉdsat・（ｔ−ｔ０）／（Ｃｏ＋ｃｌ）
ただし、０＞Ｖｏ（ｔ）＞Ｖdsat  …（３）
【００５１】
図１０（ｃ）のモデルにおいて、抵抗値“Ｒ”はＶＤＤと飽和電圧Ｖdsat（ts,cl）との差と、飽和電流Ｉdsat（ts,cl）との比である。次式は、ＰＭＯＳトランジスタの線形領域における動作をキャラクタライズするために用いられる。
Ｖｏ（ｔ）
＝Ｖdsat＋（ＶＤＤ−Ｖdsat）
・（１−ｅｘｐ（−Ｉdsat・（ｔ−ｔsat）／（（Ｃｏ＋ｃｌ）・Ｖdsat）））
ただし、Ｖｏ（０）＞Ｖdsat  …（４）
【００５２】
図１０（ｄ）はドレイン飽和電流Ｉdsatとドレイン飽和電圧Ｖdsatとの関係を示すグラフ、図１０（ｅ）は出力電圧と時間との関係Ｖｏ（ｔ）を示すグラフである。図１０（ｅ）中に示すように、実際の波形と本モデルの波形との間に若干の差があるが無視できる程度である。前記Ｉdsat、Ｖdsatについても、tpdxと同様に、図８（ａ）に示すようなｔｓとｃｌに関する２次元のソーステーブルを生成する。図８（ａ）中の丸で囲んだところはそれぞれ、Ｉdsatが最小、最大になりうるところを示している（ｔｓ１＜ｔｓ２＜ｔｓ３，ｃｌ１＜ｃｌ２＜ｃｌ３＜ｃｌ４＜ｃｌ５＜ｃｌ６の仮定の場合）。
【００５３】
式（１）〜（４）において、ｔ０，ｔsatは、図９（ｅ）と図１０（ｅ）にそれぞれ示すように、変化の始まる時点とＶdsatをクロスする時点を表す。
【００５４】
Ｄ．スティミュラスパターン
ホットキャリアタイミングライブラリ１０６は、ホットキャリア回路シミュレーションに含まれる各セルに対してタイミングデータを有している。各セルに対するタイミングデータは、そのセルの各スティミュラスパターンに対する遅延データを含んでいる。ここでは、「スティミュラスパターン」はある特定の入力値に基づく特定の出力値を意味している。あるセルに対するスティミュラスパターンの個数は、セルの入力および出力の端子数と、セルの機能とに依る。各スティミュラスパターンに対しては個別の遅延データを用意する必要がある。なぜなら、ホットキャリア効果に起因するセルの動作劣化は、スティミュラスパターンが異なると変わり得るからである。
【００５５】
図１１（ａ）は２個の入力Ａ，Ｂおよび１個の出力Ｙを有する論理ＮＡＮＤゲートを示す図、図１１（ｂ）は図１１（ａ）のセルに対する４種類のスティミュラスパターンを示すテーブルである。スティミュラスパターン＃１，＃２は入力Ａが“１”一定状態で入力Ｂが変化する２つの状態にそれぞれ対応する。具体的には、スティミュラスパターン＃１は入力Ａが“１”で入力Ｂが“０”から“１”に立ち上がる状態（“Ｒ”）に対応し、スティミュラスパターン＃２は入力Ａが“１”で入力Ｂが“１”から“０”に立ち下がる状態（“Ｆ”）に対応する。
【００５６】
図１２はホットキャリアタイミングライブラリ１０６の内容の一例を示す図である。ホットキャリアライブラリ１０６は、ホットキャリアシミュレーションに含まれる各セルに対する遅延データ４２０を有する。各遅延データ４２０は、セル毎に各スティミュラスパターンに対する経年数ベース（時間ベース）の遅延時間を含んでいる。この経年数べースの遅延時間は、ホットキャリア効果に起因するセルのレスポンスにおける遅延を反映している。ここでは、セル１データ４２２が図１１（ａ）のセルに対応するものであり、各スティミュラスパターン＃１〜＃４に対する経年数ベースの遅延時間を含んでいるものとする。図１１（ａ）のセルに対しては４種類のスティミュラスパターン＃１〜＃４があるので、セル１データ４２２はスティミュラスパターン＃１〜＃４にそれぞれ対応する４個の遅延テーブル４２４，４２６，４２８および４３０を備えている。遅延テーブル４２４はスティミュラスパターン＃１に対する経年数ベースの遅延時間を有している。スティミュラスパターン＃１に対する経年数ベースの遅延時間は、経年数０すなわちホットキャリア効果に起因するセル動作劣化が全く反映されていない劣化前（初期）の遅延時間を、他の経年数１〜Ｎに対する遅延時間とともに有している。
【００５７】
経年数の点の個数と刻み幅は、ホットキャリアタイミングライブラリジェネレータ１０４が受けた経年情報に基づく。例えば、セルキャラクタライゼーション・コンディションデータに含まれた経年情報が、ホットキャリアシミュレーションを１０年間、各年ごとに実行することを規定するものとする。遅延テーブル４２４，４２６，４２８および４３０はそれぞれ１１種類のエントリー、すなわち１つは経年数０すなわち劣化前である初期の、そして１年から１０年までの各年のエントリーを含む。あるスティミュラスパターンに対する遅延データは、例えば、入力スルー時間および出力負荷容量に基づく遅延時間の前記２次元テーブルによって表され格納される。この２次元テーブルは、前記駆動ソーステーブルおよび図８（ａ）で説明したとおりである。Ｉdsat，Ｖdsatについても同様に各スティミュラスパターンと各経年数に対して前記２次元テーブルで表し格納される。各セルの各スティミュラスパターンに対して、経過時間にわたって個別に遅延データを求めることによって、セルの動作条件を細かく分類でき、より正確なホットキャリアシミュレーションを行うことができる。
【００５８】
図１３はセルに対してホットキャリアタイミングライブラリを生成する方法の一例を示すフローチャートである。まずステップ５０２において、ＩＣセルデータ１０２は、対象とするセル中の各デバイスに対するホットキャリア効果に起因する動作劣化をキャラクタライズするために、回路信頼性シミュレータ２０４および回路性能シミュレータ２０６によって処理される。回路信頼性シミュレータ２０４は、ホットキャリア効果に起因するセルの動作劣化をキャラクタライズする。回路信頼性シミュレータ２０４は、必要となるノード電圧および電流を与える回路性能シミュレータ２０６と連動して用いられる。好ましい回路信頼性シミュレータの一例は、「ＢＴＡＢＥＲＴ」（BTA Technology Inc.,Santa Clara California,USA）である。好ましい回路性能シミュレータの一例としては、「ＳｔａｒＨｓｐｉｃｅ」と「ＳＰＥＣＴＲＥ」がある。他の回路信頼性および回路性能シミュレータを用いてもよい。
【００５９】
ステップ５０４において、セルの「劣化前」タイミング情報が、回路信頼性シミュレータ２０４および回路性能シミュレータ２０６によるＩＣセルデータ１０２の処理結果から劣化前デバイスモデルを用いて抽出される。「劣化前」タイミング情報は、ホットキャリア効果に起因する動作劣化がないときのセルの遅延時間を含んでいる。劣化前タイミング情報は、図１２に示すホットキャリアタイミングライブラリ１０６の中の適当な遅延テーブルに格納される。
【００６０】
ステップ５０６において、ステップ５０２の処理結果を用いて、セルに対して劣化後デバイスモデルが生成される。劣化後デバイスモデルは、ホットキャリアに起因するセルの動作劣化を考慮して、ある経過時間点におけるセルの動作をキャラクタライズするために、回路性能シミュレータによって用いることができる。例えば、セルキャラクタライズ・コンディションデータが１０年間、１年ごとのシミュレーションを規定している状態において、１年から１０年までの１０年分の劣化後デバイスモデルが生成される。その中で５年後のモデルは、５年後のセルの動作をシミュレートするために用いられる、ホットキャリア効果に起因する動作劣化を含む数式モデルである。
【００６１】
ステップ５０８において、ＩＣセルデータ１０２は、ホットキャリア効果に起因する動作劣化を含む最初の時間間隔後のセル動作をシミュレートするために、ステップ５０６において生成された第１の劣化後デバイスモデルを用いて回路性能シミュレータ２０６によって処理される。ステップ５１０において、回路性能シミュレータ２０６によるＩＣデータ１０２と劣化後デバイスモデルの処理結果から、劣化後タイミング情報が抽出される。劣化後タイミング情報は、最初の時間間隔の後（図１２の経年数１に相当）のセルの各スティミュラスパターンに対する遅延時間を含む。この遅延時間は、図１２に示すホットキャリアタイミングライブラリ１０６内の適当な遅延テーブルに格納される。
【００６２】
ステップ５１２において、他の劣化後デバイスモデルを処理する必要があるか否かを判断する。必要があるときはステップ５０８に戻る。これにより、ステップ５０８，５１０は、各劣化後デバイスモデルが全て処理されて、全ての遅延時間がホットキャリアタイミングライブラリ１０６に格納されるまで繰り返される。全ての劣化後デバイスモデルが処理されたとき、処理を終了する。
【００６３】
なお、「Ａ．入力データ」の項で触れたＧＵＩには、次のような機能を持たせてもよい。
・ＬＳＩを構成するセルは、通常、数百種類以上あるため、キャラクタライズの対象とするセルを容易に指定できるのが好ましい。このため、図１４に示すツリー構造のように、セル毎に属性を持たせたり、グループ化できるようにしてもよい。
・キャラクタライズ処理の進行が分かるように、進行状況をリアルタイムに表示させてもよい（図１４のステータスボタン）。
・キャラクタライズ処理を並列にできるようにしてもよく、この場合は、並列処理に必要なコンピュータの設定をできるようにしてもよい。
・ホットキャリアタイミングライブラリジェネレータ１０４の入出力データはファイルの形態でもよく、その場合はファイルの所在であるコンピュータ上のディレクトリを指定できるようにしてもよい。
・ホットキャリアタイミングライブラリ１０６に格納されているデータを、視覚的に分かりやすく表示させてもよい。図１５（ａ）のようにテーブルで表示したり、図１５（ｂ）のように３次元グラフで表示してもよい。また、図１６に示すように、各スティミュラスパターンの解析結果であるセルの入出力電圧波形を表示させてもよい。この場合、さらに図１７に示すように、表示させる（ｔｓ，ｃｌ）の組合せを指定できるようにしてもよい。
【００６４】
なお、これまで説明したＧＵＩに持たせる機能は、バッチコマンドのオプションとして実現できるようにしてもよい。
【００６５】
II．ホットキャリアシミュレーション
再び図１において、第２のフェーズであるホットキャリアシミュレーションでは、ホットキャリアシミュレータ１１０が、ホットキャリアタイミングライブラリ１０６およびユーザから供給された入力タイミングデータ１０８に含まれるデータを処理して、劣化後タイミングデータ１１２を供給する。劣化後タイミングデータ１１２は、論理シミュレータ１１４がゲートレベルにおけるＩＣのホットキャリアシミュレーションを行うために、またタイミングアナライザ１１６がタイミング解析を行うために、用いられる。ホットキャリアタイミングライブラリ１０６およびユーザが供給する入力タイミングデータ１０８に含まれるデータに基づく劣化後タイミングデータ１１２の生成は、以下、図１８のブロック図および図１９のフローチャートを参照して具体的に説明する。
【００６６】
図１９はＩＣのホットキャリア効果をシミュレートする方法の一例を示すフローチャートである。まず、ステップ６０２において、各セルインスタンスに対して、劣化前入力スルー時間と出力負荷容量が決定される。ここで「インスタンス」は、ＩＣ内に含まれる複数の同じ種類のセルを個々に区別したものである。劣化前入力スルー時間と出力負荷容量は、ＩＣの寄生素子付設計ネットリスト２２０、好ましくは、内部または外部遅延計算機２２２が用いるＤＳＰＦ（Detailed Standard Parasitic Format：Cadence Design Systems,Inc.,San Jose,California,USA ）ファイルから抽出される。
【００６７】
Ａ．スイッチング頻度
ステップ６０４において、各セルインスタンスのスイッチング頻度が決定される。各セルインスタンスに対して、ＩＣの論理シミュレーション期間における所定の入力スティミュラスに基づくセル出力の状態変化の回数が、決定される。各セルインスタンスの出力は各セルインスタンスの入力に対応させて評価する。なぜなら、入力が異なると、ある出力におけるスイッチング回数も異なり、これにより、ホットキャリア効果に起因するセル劣化の程度も異なるからである。例えば、再び図１１（ａ）のセルを参照すると、入力Ａは出力Ｙに、ある論理シミュレーション期間において、ある回数の状態変化を引き起こす。一方、入力Ｂは出力Ｙに、同一の論理シミュレーション期間において、異なる回数の状態変化を引き起こす。あるデバイスにおけるホットキャリア効果は、入力の状態変化に応じたセルインスタンス出力のスイッチング回数に関係する。したがって、各入力による出力の状態変化回数は個別に決めなければならない。
【００６８】
一実施形態では、セルインスタンスに対するスイッチング頻度情報２２４は、スイッチング回数決定部としての論理シミュレータ２２６によってＩＣをシミュレーションして得られたセルインスタンスのレスポンスを解析することによって、決定される。これにより、論理シミュレータ２２６の出力結果が、ＩＣの全てのセルインスタンスについてスイッチング頻度を決めるために評価される。この目的に合う論理シミュレータ２２６の一例として、「VeriLog-XL」（Cadence Design Systems,Inc.,San Jose,California,USA ）がある。また、スイッチング回数をインスタンス毎に求める方法以外に、ＩＣ全体で一律にスイッチング確率を設定し、動作周波数、動作期間とその確率からスイッチング回数を計算するような近似を用いてもよい。
【００６９】
ある状況では、セルの内部ノードのスイッチングは、そのセルが有する組合せ論理のために、決めることが困難である。このような状況では、セルは構成部分に分解され、この構成部分毎にスイッチング頻度が個別に決められる。例えば、図２０に示す６入力ＮＡＮＤセル７００について考える。セル７００では、２個の３入力ＮＡＮＤゲートＮＡＮＤ１，ＮＡＮＤ２が並列にＮＯＲゲートＮＯＲに接続され、さらに直列にインバータＩＮＶに接続されている。ＮＡＮＤ２の入力Ｄは“０”なので、その出力は入力Ｅ，Ｆの値にかかわらず“１”である。そして、ＮＡＮＤ２の出力は“１”なので、ＮＯＲの出力は常に“０”である。加えて、ＮＯＲの出力は常に“０”なので、インバータＩＮＶの出力は常に“１”である。したがって、方形波スティミュラスパターンが入力Ａに与えられても、ＮＡＮＤ１の出力におけるスイッチング動作は、インバータＩＮＶの出力のスイッチング動作からは検出されない。なぜなら、インバータＩＮＶの出力は常に“１”であり、入力Ａの入力スティミュラスパターンによっては変化しないからである。この場合には、セル７００は個別に評価可能な構成部分に分解される。構成部分のスイッチング動作はセル７００の内部ノードのスイッチングを決めるために用いられる。この例では、ＮＡＮＤ１およびＮＡＮＤ２のスイッチング頻度はＮＯＲおよびインバータＩＮＶのスイッチング頻度とは別に、決定される。
【００７０】
Ｂ．ホットキャリアプリミティブ
一実施形態では、スイッチング頻度を決定する目的のために通常、構成部分に分解されるようなある種の複雑なセルは、その代わりに、構成部分である所定のホットキャリアプリミティブを単位にして解析される。なぜなら、ホットキャリアプリミティブのホットキャリア効果はスイッチング頻度を求められるため正確に決定することができるからである。組合せ論理を含むセルに対しては、このホットキャリアプリミティブを、１または複数入力と単一出力の一段ＣＭＯＳ回路構造か、または単一入力と単一出力の多段ＣＭＯＳ回路構造のいずれかと定義する。単一入力と単一出力の多段ＣＭＯＳ回路構造の一例には、２個のインバータからなる２段バッファがある。ホットキャリアプリミティブは、複雑なセルのホットキャリア効果に起因する動作劣化がより正確に決定できるように、用いられる。ホットキャリアプリミティブも、ホットキャリアタイミングライブラリジェネレータ１０４での処理の対象となる。
【００７１】
フリップフロップを含むＩＣセルのスイッチング頻度は、タイミング解析における順序回路型セルの役割の重要性およびこのタイプのセルの分解の困難性のために、フリップフロップの専用モデルを別途準備して決定する。以下に詳細に示すように、特別な遅延モデルが、入出力遅延（＝Ｉ／Ｏパス遅延）を決定するために用いられる。
【００７２】
図２１は入力Ｄ，クロック入力ＣＬＫおよび２個の出力Ｑ，／Ｑを有するＤフリップフロップを示す図である。図２１に示すフリップフロップの内部はマスターおよびスレーブの回路とクロックバッファとからなる。ＣＫはフリップフロップの内部クロックである。例えば、フリップフロップのＩ／Ｏパス遅延すなわちＣＬＫからＱまたはＣＬＫから／Ｑの遅延は、（１）ＣＬＫからＣＫの遅延tpd（ＣＬＫtoＣＫ）と、（２）ＣＫからＱまたはＣＫから／Ｑの遅延tpd（ＣＫtoＱ），tpd（ＣＫto／Ｑ）との２つの部分に分けられる。遅延tpd（ＣＬＫtoＣＫ）は、ホットキャリアタイミングライブラリ１０６においてＩ／Ｏパス遅延tpdxのテーブルで表される。他の情報、例えばＩdsatテーブル値やＶdsatテーブル値は、この遅延に対しては考慮しない。クロックのスイッチング回数が、この劣化後遅延の補間のために用いられる。遅延tpd（ＣＫtoＱ），tpd（ＣＫto／Ｑ）は、全ての情報、すなわちＩ／Ｏパス遅延tpdx、Ｉdsatテーブル値およびＶdsatテーブル値から求められる。出力ピンのスイッチング回数が、この劣化後遅延の補間のために用いられる。ＣＬＫからＱおよびＣＬＫから／ＱのＩ／Ｏパス遅延tpd は次のようになる。
tpd（ＣＬＫtoＱ）  ＝tpd（ＣＬＫtoＣＫ）＋tpd（ＣＫtoＱ）  …（５）
tpd（ＣＬＫto／Ｑ）＝tpd（ＣＬＫtoＣＫ）＋tpd（ＣＫto／Ｑ）…（６）
【００７３】
入力Ｄとクロック入力ＣＬＫとの位相関係を示すセットアップ時間やホールド時間などのタイミング制約も、劣化によって変化する。図２２は図２１のフリップフロップの構成をさらに詳細に示す図である。図２２において、セットアップ時間Ｔsetup およびホールド時間Ｔholdは、次のように定義される。
Ｔsetup ＝max｛tpd（ＤtoＰＤ01），tpd（ＤtoＮＤ01）｝
−min｛tpd（ＣＬＫtoＰＣＫ），tpd（ＣＬＫtoＮＣＫ）｝…（７）
Ｔhold  ＝max｛tpd（ＣＬＫtoＰＣＫ），tpd（ＣＬＫtoＮＣＫ）｝
−min｛tpd（ＤtoＰＤ01），tpd（ＤtoＮＤ01）｝  …（８）
上式に示すようなセットアップ時間Ｔsetup およびホールド時間Ｔholdについて、劣化前（Ｔsetup-fresh，Ｔhold-fresh ）および劣化後（Ｔsetup-aged，Ｔhold-aged ）の値を求め、さらにこれらの差分を求める。
ΔＴsetup ＝Ｔsetup-aged  −Ｔsetup-fresh  …（９）
ΔＴhold  ＝Ｔhold-aged   −Ｔhold-fresh   …（１０）
この差分ΔＴsetup ，ΔＴholdは、ステップ６１６において、初期（劣化前）のタイミングファイル中の所定のＴsetup ，Ｔholdに対してそれぞれ加えられ劣化後タイミングファイルに格納される。セットアップ時間、ホールド時間以外のタイミング制約も計算対象としてもよい。
【００７４】
ステップ６０６において、各セルインスタンスに対する劣化後入力スルー時間は、各セルに対して、そのセルの前段の駆動段に係る遅延に基づいて更新される。ステップ６０８において、劣化前遅延が、各セルに対して、内部または外部遅延計算機２２２によって決定される。ステップ６１０において、各セルインスタンスおよびホットキャリアプリミティブに対する劣化後遅延が、内部または外部遅延計算機２２２によって、劣化後遅延およびスイッチング頻度情報２２４に基づき決定され、セルインスタンスおよびホットキャリアプリミティブのホットキャリア効果に起因する動作劣化が表される。
【００７５】
ステップ６０２において、各インスタンス毎にｔｓおよびｃｌが決定され、ステップ６０４において、スイッチング回数が決定されると、ステップ６１０において、図２３に示すように、これらの情報を基にして、ホットキャリアタイミングライブラリ１０６に格納されている図１２の遅延データ４２０からテーブルを参照し、Ｉ／Ｏパス遅延tpdx，ドレイン飽和電流Ｉdsat，ドレイン飽和電圧Ｖdsatをそれぞれ補間で求める。図２３に示すように、ホットキャリアタイミングライブラリ１０６中には設定した経年数のポイントに従ってtpdx,Idsat,Vdsatのテーブルがポイント毎にそれぞれ生成されており（例えば図中の経年数１と経年数２のテーブル）、任意の経年数に相当するスイッチング回数Ｎが動作周波数から求められ、ｔｓ，ｃｌと合わせて与えられると、それらのテーブルの補間が行える。ここでの補間は、線形補間または対数補間によって行えばよい。劣化後遅延は、これらインスタンスおよびホットキャリアプリミティブ毎に補間されたtpdx，Ｉdsat，Ｖdsatを用いて計算される。
【００７６】
ステップ６１２において、劣化前遅延に対する劣化後遅延の比率すなわち遅延劣化率が各セルインスタンスに対して決定される。遅延劣化率は、次のように決定される。
遅延劣化率＝劣化後遅延／劣化前遅延  …（１１）
【００７７】
あるＣＭＯＳ論理回路では、トランジスタは直列に接続されている。この場合、直列に接続されたトランジスタに係る劣化は、これらのトランジスタに依る遅延パスに影響を与える。このようなパスに対する複雑な遅延劣化現象をキャラクタライズするためには、大きなコンピュータ資源を必要とする。シミュレーション速度を改善するために、ここで述べるホットキャリアシミュレーションツールは、直列に接続されたトランジスタに対するホットキャリア効果を求めるために、下記の特別なモデルを用いる。
【００７８】
例えば、直列抵抗モデルを、直列に接続された２個のトランジスタのホットキャリア効果を決定するために用いる。これは、直列に接続された２個のトランジスタに対するホットキャリア効果を決定するために必要となるコンピュータ資源を考慮したものである。
【００７９】
図２４は直列接続された２個のトランジスタＭ１，Ｍ２を含む回路を示す図である。図２４において、トランジスタＭ１はソースＳ１、ゲートＧ１およびドレインＤ１を有し、トランジスタＭ２はソースＳ２、ゲートＧ２およびドレインＤ２を有し、トランジスタＭ１のドレインＤ１はトランジスタＭ２のソースＳ２と接続されている。この回路のホットキャリア効果を決めるためには大量のコンピュータ資源が必要になる。なぜなら、トランジスタＭ１，Ｍ２のホットキャリア効果は相互に独立ではなく、互いに依存するからである。このため、ここでは、直列に接続された２個のトランジスタのホットキャリア効果を決めるために直列抵抗モデルを用いるものとする。
【００８０】
図２５は直列に接続された２個のトランジスタのホットキャリア効果を決めるためのモデルとなる直列抵抗回路を示す図である。図２５に示す抵抗回路は直列に接続された２個の抵抗Ｒ１，Ｒ２を含んでいる。抵抗Ｒ１は２個の端子９１２，９１４を有し、抵抗Ｒ２は２個の端子９１６，９１８を有し、端子９１４は端子９１６と接続されている。
【００８１】
次に、直列接続されたトランジスタのホットキャリア効果を決めるために用いられる定義と式を示す。
（１２）定義
α１：トランジスタＭ１のみが劣化したときの劣化前遅延に対する劣化後遅延の比率
α２：トランジスタＭ２のみが劣化したときの劣化前遅延に対する劣化後遅延の比率
β１：トランジスタＭ１のみが劣化したときの劣化前抵抗値に対する劣化後抵抗値の比率
β２：トランジスタＭ２のみが劣化したときの劣化前抵抗値に対する劣化後抵抗値の比率
α：トランジスタＭ１，Ｍ２がともに劣化したときの劣化前遅延に対する劣化後遅延の比率
α１，α２およびαの値は次式で決定される。
α１＝（β１・Ｒ１＋Ｒ２）／（Ｒ１＋Ｒ２）  …（１３）
α２＝（Ｒ１＋β２・Ｒ２）／（Ｒ１＋Ｒ２）      …（１４）
α  ＝（β１・Ｒ１＋β２・Ｒ２）／（Ｒ１＋Ｒ２）
＝α１＋α２−１  …（１５）
【００８２】
上記の式は、直列接続されたトランジスタを含む論理ゲートのホットキャリア効果を決めるために用いられる。図２６は２入力ＮＡＮＤゲートを示す図である。ＮＡＮＤゲートは２個の入力Ａ，Ｂおよび１個の出力Ｙを有する。ＮＡＮＤゲートの動作は従来からよく知られている。ＮＡＮＤゲートの双方の遅延パス、すなわち入力Ａから出力Ｙまでの遅延および入力Ｂから出力Ｙまでの遅延におけるホットキャリア効果は、次式でキャラクタライズされる。
αfinal＝αBtoY＋αAtoY−１  …（１６）
【００８３】
図２６に示すＮＡＮＤゲート中のＮＭＯＳに着目すると、図２４のような２段直列の回路が一般的に見い出せる。ここで、式（１６）は式（１５）と同様に、αfinal はαに、αBtoYはα2 に、αAtoYはα1 に対応する。
【００８４】
ある条件では、αfinalの値は、直列接続されたトランジスタにおけるホットキャリア効果に起因する動作劣化を、過剰に評価してしまうことがある。これゆえ、他の実施形態では、次に示すような別の式が、直列接続されたトランジスタにおけるホットキャリア効果を求めるために用いられる。
＜ＢからＹへの遅延パス＞
α(BtoY)final＝αBtoY＋（αAtoY−１）・Ｋ  …（１７）
＜ＡからＹへの遅延パス＞
α(AtoY)final＝αAtoY＋（αBtoY−１）・Ｋ  …（１８）
フィッティングパラメータＫ（例えば０から１の間の値をとる）を導入し、式（１６）の精度を高めるために用いられる。フィッティングパラメータＫは直列接続された２個のトランジスタの両方が劣化した場合の劣化を計ることによって決定され、個別に決定されたα１，α２が、Ｋの値を計算するために用いられる。
【００８５】
この結果は、直列接続された任意の個数のトランジスタに対して一般化される。ｎ個のトランジスタが直列接続され、入力端子がＡ１〜Ａｎ、出力端子がＹとする。
＜ＡｉからＹへの遅延パス＞
ｎ
α(AitoY)final＝αAitoY＋（ Σ αAjtoY−（ｎ−１））・Ｋ
j=1;j≠i
…（１９）
直列トランジスタを含むセルについて、フィッティングパラメータＫはホットキャリアタイミングライブラリジェネレータ１０４によって求められ、ホットキャリアタイミングライブラリ１０６に格納されて、ステップ６１２において参照される。
【００８６】
図１９に戻り、ステップ６１４において、各セルインスタンスに対する劣化前のものである入力タイミングデータ１０８（図１）が、入力タイミングファイルから読み出される。入力タイミングファイルはユーザが与えるか、所定のファイルを用いる。一実施形態では、入力タイミングファイルに含まれるデータは、ファイルフォーマットＳＤＦ（standard delay format：Cadence Design Systems,Inc.,San Jose,California,USA）で記述される。
【００８７】
ステップ６１６では、式（１９）のように、入力タイミングデータ１０８は、劣化前遅延に対する劣化後遅延の比率である遅延劣化率が掛けられ、すなわちスケールされて、ホットキャリア効果に起因するセルインスタンス遅延を決定する。
【００８８】
なお、ステップ６１６において、全てのセルインスタンスについて劣化前／劣化後比率を求め、求めた比率に基づいて個々にスケールしてもよいし、特定のインスタンスのみについて劣化前／劣化後比率を求めて、それ以外のインスタンスには、予め別途ファイルに設定しておいた比率を参照して、スケールしてもよい。さらに、劣化計算の対象外にしたいセルやインスタンスには、比率を１、すなわち劣化が生じないという設定ができるようにしてもよい。
劣化後タイミングデータ＝入力タイミングデータ・遅延劣化率  …（２０）
【００８９】
ステップ６１８において、スケーリング後の劣化後タイミングデータは劣化後タイミングファイルに書き込まれる。この劣化後タイミングファイルには、例えば前記のＳＤＦ書式が用いられる。このファイルは、ステップ６２０において、セルインスタンスによって表されたＩＣ全体におけるホットキャリア効果をシミュレートするために、論理シミュレータまたはタイミングアナライザによって参照される。そして、処理を終了する。
【００９０】
ホットキャリアシミュレータ１１０は次のような機能のＧＵＩを備えてもよい。
・図２７に示すように、経過時間（Aging ）、補間計算法（Interpolating method）、動作周波数（Switching activityのFrequency ）などを設定できるようにしてもよい。
・図２８に示すように、ホットキャリアシミュレータ１１０の入力データのうちファイルでなされるものは、そのファイルの所在であるコンピュータ上のディレクトリを指定できるようにしてもよい。
・図２９の処理実行メニュー画面に示すように、図１９の処理方法における各ステップを、個別に、または一括して順次、実行、中断できるようなコマンドを備えてもよい。
・処理の進行が分かるように、リアルタイムに進行度合を表示させてもよい。
・図１９の処理方法における中間データや最終結果データを表示させる機能を持たせてもよい。
【００９１】
なお、これまで説明したＧＵＩに持たせる機能は、バッチコマンドのオプションとして実現できるようにしてもよい。
【００９２】
入力スルー時間ｔｓは図１９のステップ６０６や６１０において、２種類の目的で用いられる。１つの目的は図１２に示すテーブルを参照するためであり、出力負荷容量ｃｌやスイッチング回数とともに用いられる。他の目的は、遅延計算のためである。
【００９３】
図３０（ａ）に示すように、入力スルー時間ｔｓは図４で説明したように、セルの出力波形２５０が予め設定された観測電位ＶSH，ＶSLと交わる２点を直線で外挿した時間ｔSFによって定義される。ところが、元来曲線である出力波形２５０を直線近似して求めるため、計算誤差が生じる。このため、遅延計算のためには、計算誤差が最小になるように観測電位ＶSH，ＶSLを設定する必要がある。この場合、設定された観測電位ＶSH，ＶSLはあくまでも遅延計算において最適なものに過ぎず、前記のテーブル参照のために用いる入力スルー時間としては、最適なものとは限らない。そこで図３０（ｂ）に示すように、さらにもう１組の観測電位ＶSH２，ＶSL２を定義し、これを基に得られた入力スルー時間ｔSF2 をテーブル参照のために用いればよい。
【００９４】
このように２種類の観測電位を設定することによって、それぞれの目的に応じて観測電位を最適化できるので、結果として、ホットキャリアシミュレーションの精度向上を実現することができる。この場合、２種類の入力スルー時間は、図１９のステップ６０２において決定される。
【００９５】
Ｃ．インプリメントメカニズム
ＩＣのホットキャリア効果をシミュレートするアプローチは、ここでは、コンピュータによって実行される１つまたは複数の命令、プロセス、プログラム、サブルーチン、機能、ルーチンその他の同等物として、インプリメントされる。例えば、一実施形態では、ＩＣのホットキャリア効果をシミュレーションするアプローチは、汎用コンピュータが実行する１つまたは複数の命令からなる１つまたは複数のシーケンスを含むコンピュータプログラムによって、インプリメントされる。このようなコンピュータプログラムの一例としては「ＧＬＡＣＩＥＲ」（BTA Technology Inc.,Santa Clara,California,USA）がある。またここでは、ＩＣのホットキャリア効果をシミュレートするアプローチは、具体的なハード構成によってもインプリメントされる。このように、本発明の実施形態は、コンピュータソフトウェア、具体的なハードウェアまたはソフトウェアとハードウェアとの組合せによって実現される。
【００９６】
Ｄ．ハードウェア概観
図３１は本発明の一実施形態がインプリメントされたコンピュータシステム１０００を示すブロック図である。コンピュータシステム１０００はバス１００２または情報を伝達するための他の情報伝達機構と、バス１００２と接続された情報処理を行うプロセッサ１００４とを有している。コンピュータシステム１０００はまた、例えばＲＡＭまたは他の動的記憶装置からなるメインメモリ１００６を有し、メインメモリ１００６はバス１００２と接続され、情報やプロセッサ１００４が実行する命令を記憶する。またメインメモリ１００６は、プロセッサ１００４が命令を実行しているとき、一時的な変数や他の中間情報を記憶するために用いられる。コンピュータシステム１０００はさらに、バス１００２と接続され、静的な情報およびプロセッサ１００４の命令を記憶するＲＯＭ１００８または他の静的記憶装置を有している。また、磁気ディスクや光ディスクのような記憶装置１０１０がバス１００２と接続されて設けられており、情報や命令を記憶する。
【００９７】
コンピュータシステム１０００はバス１００２を介して、ユーザに情報を表示するための例えばＣＲＴ（Cathode Ray Tube）のようなディスプレイ１０１２と接続されている。入力装置１０１４は英数その他のキーを有し、情報や命令選択を転送するバス１００２を介してプロセッサ１００４に接続されている。他のタイプのユーザ入力装置として、マウス、トラックボールまたはカーソル方向キーなどの、プロセッサ１００４に情報や命令選択を伝達し、ディスプレイ１０１２におけるカーソルの動きをコントロールするカーソルコントロール１０１６がある。このカーソルコントロール１０１６はＸ方向およびＹ方向に２次元の自由度を有し、平面上における位置を特定することができる。
【００９８】
本発明の一実施形態では、ＩＣにおけるホットキャリア効果のシミュレーションは、コンピュータシステム１０００において、プロセッサ１００４がメインメモリ１００６に記憶された命令列を実行することによって実現される。この命令列は、記憶装置１０１０のような他のコンピュータ読み取り可能な媒体からメインメモリ１００６に書き込まれる。プロセッサ１００４がメインメモリ１００６に記憶された命令列を実行することによって、前述したシミュレーション処理が実現される。別の実施形態では、本発明を実現するために、ハードワイヤド回路を、ソフトウェア命令に代えて、またはこれと組み合わせて用いてもよい。すなわち、本発明の実施形態は、特定のハードウェア回路とソフトウェアとの組合せに限定されるものではない。
【００９９】
ここで用いられる「コンピュータ読み取り可能な媒体」という用語は、プロセッサ１００４に実行させる命令を供給するために用いられるいかなる媒体も含む。このような媒体は、不揮発性媒体、揮発性媒体または転送媒体などの多くの形態をとりうるものであり、またこれらの形態に限定されるものではない。不揮発性媒体としては、例えば記録装置１０１０のような光ディスク、磁気ディスクがある。揮発性媒体としては、例えばメインメモリ１００６のような動的メモリがある。転送媒体としては、同軸ケーブル、銅線または光ファイバがあり、バス１００２を含む配線もある。また転送媒体は、例えば無線通信や赤外線データ伝送によって生成された音響波や光波のような形態もとりうる。
【０１００】
コンピュータ読み取り可能な媒体の共通の形態としては、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープその他の磁気媒体、ＣＤ−ＲＯＭその他の光媒体、パンチカード、紙テープその他の穴あき媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭその他のメモリチップまたはカートリッジ、後述する搬送波、その他のコンピュータが読みとれる媒体を含む。
【０１０１】
様々な形態のコンピュータ読みとり可能な媒体が、プロセッサ１００４が実行する命令列を転送するために用いられる。例えば、最初に、遠隔コンピュータの磁気ディスクに命令列が転送される。この遠隔コンピュータはこの命令列を自らの動的メモリにロードし、そしてその命令列を電話線を介してモデムを用いて送信する。コンピュータシステム１０００のモデムは電話線を介してデータを受信し、赤外線伝送器を用いてそのデータを赤外線信号に変換する。バス１００２と接続された赤外線検出器は赤外線信号の形で送信されたデータを受け、そのデータをバス１００２に供給する。バス１００２はそのデータをメインメモリ１００６に送り、プロセッサ１００４は命令を再生して実行する。メインメモリ１００６が受けた命令列は、場合によっては、プロセッサ１００４の実行の前または後に記憶装置１０１０に記憶させてもよい。
【０１０２】
コンピュータシステム１０００はまた、バス１００２と接続された通信インターフェース１０１８を有している。通信インターフェース１０１８はローカルネットワーク１０２２と接続されたネットワークリンク１０２０とともに、双方向データ伝送を行う。通信インターフェース１０１８は例えば、特定種類の電話線とのデータ伝送接続を実現するためのＩＳＤＮ（Integrated Services Digital Network ）カードやモデムである。他の実施形態では、通信インターフェース１０１８は互換性のあるＬＡＮ（Local Area Network）とのデータ伝送接続を実現するためのＬＡＮカードである。ワイヤレスリンクもまた利用可能である。いかなる形態であれ、通信インターフェース１０１８は、様々な種類の情報を表すディジタルデータストリームを運ぶ電気、電磁または光信号を送受信する。
【０１０３】
ネットワークリンク１０２０は具体的には、１または複数のネットワークを介して他のデータ装置に対するデータ通信を行う。例えばネットワークリンク１０２０はローカルネットワーク１０２２を介して、ホストコンピュータ、またはＩＳＰ（Internet Service Provider ）１０２６によって管理されるデータ装置との接続を行う。そしてＩＳＰ１０２６は、いわゆるインターネット１０２８と称される世界的パケットデータ通信ネットワークを介してデータ通信サービスを供給する。ローカルネットワーク１０２２およびインターネット１０２８はともに、ディジタルデータストリームを運ぶ電気、電磁または光信号を用いる。ディジタルデータをコンピュータシステム１０００に、またはコンピュータシステム１０００から運ぶために、様々なネットワークを流れる信号およびネットワークリンク１０２０や通信インターフェース１０１８を通る信号は、例えば、情報を転送する搬送波の形態で実現される。
【０１０４】
コンピュータシステム１０００は、ネットワークや、ネットワークリンク１０２０および通信インターフェース１０１８を介して、メッセージを送信したり、プログラムコードを含むデータを受信したりすることができる。インターネットを用いる例では、サーバ１０３０はアプリケーションプログラムに対する要求コードを、インターネット１０２８、ＩＳＰ１０２６、ローカルネットワーク１０２２および通信インターフェース１０１８を介して転送することができる。本発明によると、このようなダウンロードされたアプリケーションによって、前述したＩＣにおけるホットキャリア効果のシミュレーションが実現される。
【０１０５】
受信されたコードは受信時にプロセッサ１００４によって実行され、これとともに、またはこれに代えて、後の実行のために記録装置１０１０または不揮発性媒体に記憶される。このように、コンピュータシステム１０００はアプリケーションコードを搬送波の形態で受け取ってもよい。
【０１０６】
ここで述べた技術は、従来技術と比べて、ホットキャリア効果に起因するＩＣの動作劣化をシミュレートする際に、さまざまな利点をもたらす。第１に、ここでのアプローチによると、ＩＣの各セルは個別にキャラクタライズされるので、ＩＣ全体におけるホットキャリア効果に起因する動作劣化についてより精度の高いシミュレーションを実現することができる。具体的には、各セルの各インスタンスに対するホットキャリア経時劣化が個別に決定されるので、より精度よくホットキャリア効果に起因する動作劣化をキャラクタライズすることができる。複雑なセルインスタンスはホットキャリアプリミティブに分割されて扱われるので、ホットキャリア効果のキャラクタライゼーションをより精度良く実現することができる。加えて、各セルインスタンスのスイッチング頻度を特定の経年数において決定できるように、所定期間にわたって評価する。これにより、ホットキャリア効果に起因する動作劣化をより正確に評価することができる。
【０１０７】
ここで述べたアプローチによって、膨大な数のデバイスを有するＩＣをシミュレートすることが可能になる。加えて、ここで述べたアプローチによって、従来技術に対してパフォーマンス面での効果も得られる。なぜなら、ホットキャリアタイミングライブラリが一旦生成されると、このホットキャリアタイミングライブラリに含まれたデータは再利用することができ、これにより、ＩＣ全体のホットキャリア効果をシミュレートするのに要するコンピュータ資源の量を削減することができるからである。これにより、設計者は数多くのＩＣについて容易にシミュレートすることができるので、「最適」設計解を比較的少ないコンピュータ資源を用いて求めることができる。
【０１０８】
以上の説明において、本発明は特定の実施形態に基づいて説明された。しかしながら、本発明の広い思想および範囲から外れない範囲において、本実施形態に対して様々な変形や変更が可能であることはいうまでもない。したがって、本明細書および図面は、限定的な意味ではなく、例示としてみなされるものである。
【図面の簡単な説明】
【図１】  本発明の一実施形態に係る集積回路におけるホットキャリア効果のシミュレーションを行うためのシステム構成を示すブロック図である。
【図２】  図１の構成の一部を詳細に示すブロック図である。
【図３】  本発明の一実施形態に係るシステムにおけるライブラリ生成条件設定の画面を示す図である。
【図４】  （ａ）はスルー立下り時間を決定する方法を示す図、（ｂ）はスルー立上り時間を決定する方法を示す図である。
【図５】  本発明の一実施形態に係るシステムにおける入力スティミュラスパターン設定の画面を示す図である。
【図６】  ホットキャリア効果によるセルの動作劣化を示す図である。
【図７】  （ａ）（ｂ）は本発明の一実施形態に係るソーステーブル遅延モデルを示す図である。
【図８】  （ａ）は駆動ソーステーブルを示す図、（ｂ）〜（ｄ）は駆動トランジスタの特性を示すグラフである。
【図９】  ＮＭＯＳトランジスタの飽和領域および線形領域における動作をキャラクタライズするために用いられるモデルを示す図である。
【図１０】  ＰＭＯＳトランジスタの飽和領域および線形領域における動作をキャラクタライズするために用いられるモデルを示す図である。
【図１１】  （ａ）は２入力ＮＡＮＤゲートを示す図、（ｂ）は（ａ）のＮＡＮＤゲートに対するスティミュラスパターンのテーブルを示す図である。
【図１２】  ホットキャリアタイミングライブラリ中のデータの一例を示す図である。
【図１３】  セルに対してホットキャリアタイミングライブラリを生成する方法の一例を示すフローチャートである。
【図１４】  本発明の一実施形態に係るシミュレーションツールにおけるセルのツリー構造の画面を示す図である。
【図１５】  （ａ），（ｂ）は本発明の一実施形態に係るシミュレーションツールにおけるホットキャリアライブラリのデータを表示する画面を示す図である。
【図１６】  本発明の一実施形態に係るシステムにおけるホットキャリアタイミングライブラリのデータを表示する画面を示す図である。
【図１７】  本発明の一実施形態に係るシミュレーションツールにおける入力スルー時間と出力負荷容量を指定する画面を示す図である。
【図１８】  図１の構成の一部を詳細に示すブロック図である。
【図１９】  図１３の方法によって生成されたホットキャリアタイミングライブラリに含まれたデータを用いて、集積回路のホットキャリア効果をシミュレーションする方法を示すフローチャートである。
【図２０】  ６入力ＮＡＮＤセルの構成を示す図である。
【図２１】  Ｄフリップフロップの構成を示す図である。
【図２２】  図２１のＤフリップフロップの構成を詳細に示す図である。
【図２３】  図１２の遅延データからテーブルを参照し、Ｉ／Ｏパス遅延tpdx，ドレイン飽和電流Ｉdsat，ドレイン飽和電圧Ｖdsatを補間で求める方法を示す図である。
【図２４】  直列接続された２個のトランジスタＭ１，Ｍ２を含むトランジスタ回路を示す図である。
【図２５】  直列接続された２個のトランジスタのホットキャリア効果を決めるためのモデルとなる直列抵抗回路を示す図である。
【図２６】  ＮＡＮＤゲートを示す図である。
【図２７】  本発明の一実施形態に係るシミュレーションツールにおける処理実行メニュー画面を示す図である。
【図２８】  本発明の一実施形態に係るシミュレーションツールにおけるセットアップファイル画面を示す図である。
【図２９】  本発明の一実施形態に係るシミュレーションツールにおける処理実行メニュー画面を示す図である。
【図３０】  （ａ），（ｂ）は入力スルー時間を設定する２種類の観測電位を説明するための図である。
【図３１】  本発明の一実施形態に係るコンピュータシステムを示すブロック図である。
【符号の説明】
１０２  ＩＣセルデータ
１１２  劣化後タイミングデータ
２２４  スイッチング頻度情報
４２０  遅延データ
【図１】
0004066399.tif 000003
【図２】
0004066399.tif 000004
【図３】
0004066399.tif 000005
【図４】
0004066399.tif 000006
【図５】
0004066399.tif 000007
【図６】
0004066399.tif 000008
【図７】
0004066399.tif 000009
【図８】
0004066399.tif 000010
【図９】
0004066399.tif 000011
【図１０】
0004066399.tif 000012
【図１１】
0004066399.tif 000013
【図１２】
0004066399.tif 000014
【図１３】
0004066399.tif 000015
【図１４】
0004066399.tif 000016
【図１５】
0004066399.tif 000017
【図１６】
0004066399.tif 000018
【図１７】
0004066399.tif 000019
【図１８】
0004066399.tif 000020
【図１９】
0004066399.tif 000021
【図２０】
0004066399.tif 000022
【図２１】
0004066399.tif 000023
【図２２】
0004066399.tif 000024
【図２３】
0004066399.tif 000025
【図２４】
0004066399.tif 000026
【図２５】
0004066399.tif 000027
【図２６】
0004066399.tif 000028
【図２７】
0004066399.tif 000029
【図２８】
0004066399.tif 000030
【図２９】
0004066399.tif 000031
【図３０】
0004066399.tif 000032
【図３１】
0004066399.tif 000033