(57)【特許請求の範囲】
【請求項１】
ａ）回路素子に対応するアイテムのオブジェクト・リストを作成するステップであって、前記アイテムが局部効果に対する前記対応する回路素子の応答をモデル化するステップと、
ｂ）前記回路素子が定常状態で解析されて静的応答を決定し、前記静的応答を含む初期条件に応じて前記オブジェクト・リストを初期設定するステップと、
ｃ）過渡信号に対する前記回路素子の応答を解析するステップと、
ｄ）前記応答に応じて前記オブジェクト・リストを調整するステップと、
ｅ）前記調整するステップで行われた調整の間の差が最大許容差よりも小さくなるまで、前記解析ステップ（ｃ）と前記調整ステップ（ｄ）を繰り返すステップを含む回路設計方法。
【請求項２】
前記解析するステップ（ｃ）の後に、素子が休止していると識別され、前記休止素子および対応するアイテムがその後の反復から除かれる請求項１に記載の方法。
【請求項３】
前記解析するステップ（ｃ）の最初の反復の後に、解析期間が識別され、前記解析期間が開始時間と停止時間を有し、局部効果応答が前記解析期間の間に計算される請求項１に記載の方法。
【請求項４】
前記回路素子が、電界効果トランジスタであり、前記局部効果がボディ効果を含む請求項１に記載の方法。
【請求項５】
前記解析ステップ（ｃ）が、各々の解析される電界効果トランジスタで電荷が変化するかどうかを決定し、さらに前記調整ステップ（ｄ）が前記変化の各々に対して新しいボディ電圧を外挿する請求項４に記載の方法。
【請求項６】
前記外挿が指数外挿である請求項５に記載の方法。
【請求項７】
前記指数外挿が、  ｑ＝Ａ（ｅｘｐ（Ｂ（Ｖｂ−Ｖ０））−１）で定義され、ここで、
Ｖ０でｑ＝０、
Ａ＝（ｑ１ｑ３−ｑ２ｑ２）／（２ｑ２−ｑ１−ｑ３）、
Ｂ＝（Ｖｂ２−Ｖｂ１）−１*ｌｎ（（ｑ２＋Ａ）／（ｑ１＋Ａ））、
Ｖｂｎ２＝Ｂ−１*ｌｎ（（ｑｎ１*ｅｘｐ（Ｂ*Ｖｂｎ）−ｑｎ*ｅｘｐ（Ｂ*Ｖｂｎ１））／（ｑｎ１−ｑｎ）)である請求項６に記載の方法。
【請求項８】
前記方法が、
ｆ）１つまたは複数の電界効果トランジスタの設計特性を調整するステップと、
ｇ）ステップ（ａ）〜（ｅ）を繰り返すステップとをさらに含む請求項７に記載の方法。
【請求項９】
前記回路素子が、電界効果トランジスタであり、前記局部効果が局部的な加熱を含む請求項１に記載の方法。
【請求項１０】
前記解析ステップ（ｃ）が、各々の解析される電界効果トランジスタで温度が変化するかどうかを決定し、さらに前記調整するステップ（ｄ）が前記変化の各々に対して平均熱流を外挿する請求項９に記載の方法。
【請求項１１】
前記方法が、
ｆ）１つまたは複数の電界効果トランジスタの設計特性を調整するステップと、
ｇ）ステップ（ａ）〜（ｅ）を繰り返すステップとをさらに含む請求項１０に記載の方法。
【請求項１２】
前記初期設定するステップ（ｂ）で、初期ボディ電圧が、初期ボディ電圧のリストから前記回路素子ごとに与えられる請求項１に記載の方法。
【請求項１３】
集積回路を設計するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムはコンピュータに、
回路素子に対応するアイテムのオブジェクト・リストを作成するステップであって、前記アイテムが局部効果に対する前記対応する回路素子の応答をモデル化するステップと、
複数の前記回路素子を含む回路を定常状態で解析して静的応答を決定し、前記静的応答を含む初期条件に応じて前記オブジェクト・リストを初期設定するステップと、
前記回路モデルの過渡応答を反復解析するステップであって、前記アイテムからの局部効果が、前記反復解析される回路モデルに含まれ、前記回路モデルを、結果間の差が最大許容可能差よりも小さくなるまで解析するステップと、
前記オブジェクト・リストを解消するステップとを実行させるコンピュータ・プログラム。
【請求項１４】
前記オブジェクト・リストを作成するステップが、
各々が対応するデバイス・モデルの入口を含むベース・クラスのオブジェクトを作成するステップと、
前記ベース・クラスから受け継ぐ少なくとも２つの特化クラスのオブジェクトを作成し、関連した素子の局部的効果を外挿するための方法を与えさらに得られたデータを格納するステップとをさらに含む請求項１３に記載の集積回路を設計するためのコンピュータ・プログラム。
【請求項１５】
前記少なくとも２つのクラスが、ボディのクラスと局部的な加熱のクラスを含む請求項１４に記載の集積回路を設計するためのコンピュータ・プログラム。
【請求項１６】
休止素子を識別し、前記休止素子および対応するアイテムをその後の反復の解析から除くステップをさらに含む請求項１５に記載の集積回路を設計するためのコンピュータ・プログラム。
【請求項１７】
解析期間の始めと終わりを識別するステップをさらに含み、初期解析の後で、前記回路の素子の局部効果応答が前記解析期間の間に決定される請求項１６に記載の集積回路を設計するためのコンピュータ・プログラム。
【請求項１８】
集積回路を設計するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムはコンピュータに、
回路素子に対応するアイテムのオブジェクト・リストを作成するステップであって、前記アイテムが局部効果に対する前記対応する回路素子の応答をモデル化するステップと、
前記回路素子の各々の初期ボディ電圧のリストを含む、前記回路素子の回路モデルを初期設定するステップと、
前記リストからの局部効果が含まれる前記回路モデルの応答を解析するステップと、
前記オブジェクト・リストを解消するステップとを実行させるコンピュータ・プログラム。
【請求項１９】
前記回路モデルの応答を解析するステップが、前記回路モデルの静的応答を解析するステップを含む請求項１８に記載の集積回路を設計するためのコンピュータ・プログラム。
【請求項２０】
前記回路モデルの応答を解析するステップが、前記回路モデルの過渡応答を解析するステップを含む請求項１８に記載の集積回路を設計するためのコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般的に半導体集積回路の設計に関し、より詳細には、ＳＯＩ集積回路のシミュレーションおよび設計方法に関する。
【０００２】
【従来の技術】
近年、絶縁体上シリコン（ＳＯＩ）技術は、スケーリングに加えてトランジスタの性能向上のための主力となっている。ＳＯＩトランジスタは、埋込み酸化膜（ＢＯＸ）層でシリコン基板から分離されたシリコン層の表面に形成することができる。一般に複雑なマスク・ステップの列で、酸化物で埋められた浅いトレンチで、表面シリコン層のＳＯＩアイランドを分離し、その上に回路が形成される。デバイス・チャネルは、フローティングになるようにすることが可能であり、または、望ましい場合は、回路の伝導ウェルの各々に局部コンタンクトを形成することが可能であり、シリコン層のアイランドに対して少なくとも1つのボディ・コンタクトを形成することができる。多くの回路では、アイランド全体に分布されたｎ型電界効果トランジスタ（ＮＦＥＴ）に対して共通な点で、ｐ型シリコン・アイランド層への単一のボディ・コンタクトを形成することで十分である可能性がある。通常、センス増幅器、デコーダ、クロック・バッファ、入力または出力ドライブ回路、およびアレイ出力ドライブ回路のような一般的な論理回路に対しては、デバイス閾値のようなデバイス特性の僅かなばらつきは無視できるほど小さく、無視することができ、余り考慮されない。
【０００３】
しかし、デバイス密度をさらに高めかつ性能を向上させるために、ボディ・コンタクトはなくするか、またはますます多数のデバイスで共用するようになる。デバイス密度を高めながら、ボディ・コンタクト密度を減少させるときに、個々のデバイスは局部的な加熱およびボディ効果として知られる効果を非常に受け易くなる。
【０００４】
特に、ＳＯＩボディ層コンタクトが少ない可能性があるアナログ論理回路、メモリまたは論理で、または完全に分離された（すなわち、ボディ・コンタクトのない）フローティングのデバイス・チャネルを有するデバイスでボディ効果は起こる。特定のデバイスが切り換わるときに、電荷がチャネル・ボディに結合されて入って来る、あるいはチャネル・ボディから出ていく。デバイスの漏れおよび寄生バイポーラ効果で電荷が増加する可能性がある。高速スイッチング・デバイスからの電荷は、消散するよりも速く局部的に分離されたボディ・ポケットに注入されるので、チップが動作するときに、分離された場所の電荷が増え、遂には、注入された電荷はある定常状態値に達し、デバイスに対して基板バイアスとして作用する。
【０００５】
これらの電気的に分離されたデバイスは熱的にも分離されているために、局部的な加熱が起こる。デバイスは、スイッチング中に、デバイスのスイッチング電流に依存した電力を消費する。一般的なＳＯＩでない技術では、下にあるシリコン基板を通して、または上の金属接続を通して熱は消散する。しかし、ＳＯＩでは、追加された熱的な分離のために、デバイス内部の自己加熱はすぐに消散しない。時間が経つに連れて、デバイスが加熱を繰返すときに、余熱のために、そのデバイスの定常状態の温度は、同じチップ／回路の他の比較的アクティブでないデバイスよりも高くなる。
【０００６】
閾値電圧（Ｖt）およびデバイス電流を含んだＦＥＴデバイス特性は、デバイスの基板電圧（Ｖsx）および温度に依存する。したがって、局部的な温度およびボディ効果のばらつきにより、デバイスの不均一性が生じる。さらに、これらの局部的な差は最初はゼロであり、回路が動作するときに時間とともに増大するので、同一回路の回路特性も時間とともにばらついてくる。これらのばらつきは、診断し発見し難い、設計中にほとんど予期しない回路の故障を引き起こすことがある。
【０００７】
ランダム・アクセス・メモリ（ＲＡＭ）チップのようなメモリ・セルの大きなアレイを有するメモリ・チップまたはマクロで、これらのばらつきは特に問題になる。スタチックＲＡＭ（ＳＲＡＭ）は、基本的に、高抵抗の負荷抵抗が装荷されている全く同じ１対のクロス・カップル・トランジスタと、内部記憶ノードと１対のビット線との間の１対のパス・トランジスタである。クロス・カップル対の状態が、セルに格納されたデータの状態を決定する。各ＳＲＡＭセルは、アクセス・トランジスタを介してクロス・カップル・トランジスタをビット線対に結合し、それによって、ビット線対上に生じた電圧差を測定することで読み出される。ビット線対上の信号は最終状態に向かって時間とともに増加し、各々のビット線対は、最終的には、完全に上のレベルおよび完全に下のレベルになる可能性がある。しかし、性能を向上させるために、電圧差がその最終値に達するかなり前に、その電圧差は感知される。
【０００８】
ダイナミックＲＡＭ（ＤＲＡＭ）セルは、基本的に、電荷を蓄積するコンデンサと、コンデンサとの電荷やりとりの転送をするパス・トランジスタ（パス・ゲートまたはアクセス・トランジスタとも呼ばれる）である。セルに格納されたデータ（１ビット）は、記憶コンデンサの電荷の有無で決定される。各ＤＲＡＭセルは、セルの記憶コンデンサをより大きなキャパシタンスであるビット線に結合し（アクセス・トランジスタを介して）、それによってビット線上に生じた電圧差を測定して読み出される。一般に、ビット線信号は、数百ミリボルト（ｍｖ）であり、そのビット線信号は、信号経路の全体的なＲＣ時定数に依存してアクセス・トランジスタがオンになった時から漸近的に大きくなる。
【０００９】
１つのセルに繰り返してアクセスすると、セルに局部効果が誘起される。閾値を高めデバイス電流を減少させる局部的な効果により、ＤＲＡＭセルに蓄積される電荷が減少し、アクセス・トランジスタで渡される電圧が減少することがある。これらの局部効果で、ＳＲＡＭセルのクロス・カップル対に不平衡が生じることがあり、またはＳＲＡＭセルのパス・ゲートの局部効果で明らかに不平衡が生じる。さらに、局部効果で、経路抵抗が増加することがあり、それによって、セル書込み時間（すなわち、ＤＲＡＭセルで電荷を蓄積するのに必要な時間、またはＳＲＡＭセルでクロス・カップル対の状態を切り換えるのに必要な時間）が増加し、セル感知時間すなわち感知するために十分な信号を生じるのに必要な時間が増加する。結果として、間違ったデータを感知するスプリアスのような、間欠的な問題が発生する可能性がある。
【００１０】
さらに、高いＤＲＡＭ性能を達成するために、最先端のセンス増幅器は、一般にクロス・カップル・トランジスタ対であるが、最終的な数百ミリボルトの信号よりもいくらか小さな電位差を感知しなければならない。センス増幅器が感知できる電位差が小さければ小さいほどよい。そのために、クロス・カップル対のトランジスタに差があると、必要な電位差が大きくなり、したがって、感知は遅くなる。したがって、クロス・カップル対のトランジスタは、全く同じデバイス特性を持ち、平衡対または整合対として知られているものであることが重要である。その結果、平衡対の設計では、各トランジスタが、確実に、対の他方のトランジスタと全く同じに周囲条件の影響を受けるようにするために非常に大きな注意が払われる。
【００１１】
しかし、他の制約によって、トランジスタの整合対を設計する仕事はさらに複雑になる可能性がある。例えば、各センス増幅器は、隣合うビット線の対と同じピッチに適合するように制約される可能性がある。ここで隣合うビット線の各対は、対応するセンス増幅器に結合される。この例では、他の制約に加えて、クロス・カップル・トランジスタ対は非常に狭いピッチに適合しなければならない。この狭いピッチのために、特にＳＯＩ回路では、平衡対を達成するためのトランジスタの配置設計（レイアウト）がさらに複雑になる。平衡対のＦＥＴの一方だけで局部的な効果が起こると、元の設計ノイズ・マージンが非常に減少して、特定のセンス増幅器が役に立たなくなる可能性がある。さらに、平衡センス増幅器対の局部的な効果は、パターンに依存した故障または突発的な故障として現れ、診断することが非常に困難になる可能性がある。
【００１２】
図１は単一ＮＦＥＴの一般的なボディ効果モデル１００を示す。ここでＮＦＥＴは容量性電圧分割器としてモデル化され、デバイス・チャネルまたはボディ・ノード１０２と、ソース１０４、ドレイン１０６およびゲート１０８の各デバイス・ノード、および下にある基板層を表すノード１１０との間にコンデンサが含まれる。デバイスのソース／ドレイン拡散部は各々、ソース１０４またはドレイン１０６の一方とボディ・ノード１０２の間の１対の背中合せのダイオードで表される。この従来技術のモデル１００は、単一ＦＥＴのボディ効果を決定するのには十分である。ただ単に、１つまたは複数の端子に信号を加え、残りの端子にバイアスを加えるだけで、いくつかの信号遷移の後に、ボディ・ノード１０２は定常状態のバイアス値に達する。その定常状態のバイアス値がそのデバイスに対するボディ効果電圧である。
【００１３】
しかし、多数の入力を有するもっと複雑な回路では、この従来技術の方法は、ばらつきを正確に予測することができないので、マクロまたは回路の局部的な効果を評価するのには不十分である。さらに、各ＦＥＴについてこのボディ効果モデルを含めると、チップ、マクロまたは回路モデルが複雑になり、回路全体のシミュレーションはもっと時間のかかる非現実的なものになる。例えば、１００，０００個のＦＥＴを持つ回路では、４００，０００個のコンデンサと２００，０００個のダイオードをモデルに加えることになる。
【００１４】
熱およびボディ効果のこれらの局部的な効果を予測することに関する他の問題として、場合によっては結果がデバイスのスイッチング履歴に依存して大きく異なることがある。そのために、大きなアレイまたは大きなマクロに及ぼすこれらの履歴効果を正確に計算するには、数千の回路サイクルをシミュレーションするための非常大きな計算時間が必要になる。中ぐらいの規模の回路についてさえ、これらの効果を計算すると法外に高くなる可能性がある。
【００１５】
したがって、大きなマクロに及ぼす履歴に関係したデバイス効果を正確に効率よく評価する技術が必要である。
【００１６】
【発明が解決しようとする課題】
本発明の目的は、集積回路設計を改良することである。
【００１７】
本発明の他の目的は、ＳＯＩデバイスの局部的な温度効果を正確に予測することである。
【００１８】
本発明のさらに他の目的は、ＳＯＩ回路の局部的な温度効果およびボディ効果を正確に予測することである。
【００１９】
本発明のさらに他の目的は、ＳＯＩ回路の局部的なボディ効果を正確に予測することである。
【００２０】
本発明のさらに他の目的は、ボディ効果によって起こるクロス・カップル・デバイスの不整合を識別することである。
【００２１】
【課題を解決するための手段】
本発明は、特に絶縁体上シリコン（ＳＯＩ）回路の多入力回路、マクロまたはチップの回路設計に関するコンピュータ・プログラム・プロダクトの方法である。多入力回路に関して、回路デバイスに対応するアイテムのオブジェクト・リストが作成される。アイテムは、対応する回路素子に対する局部効果をモデル化する。回路は静的解析または直流解析を使用して解析されて、ボディ効果および局部熱効果を含んだ、回路デバイスに及ぼす初期局部効果が得られる。初期局部効果は、過渡解析のために回路モデルに渡される。検査された過渡結果からの局部効果が検査され、更新される。局部効果の変化が上限よりも下になるまで、過渡応答は繰り返し実行され、局部効果は更新される。効率を良くするために、切り換わらないデバイスは反復解析から除くことが可能であり、さらに解析を切換わりが起こる期間に限定することができる。各デバイスの履歴効果は、そのデバイスの最終定常状態の条件とそのデバイスの静的解析または直流解析の初期実行条件との差である。本発明は、アナログ回路または無線周波数回路またはメモリなどの大きなアレイのような複雑な回路に対して利用することができ、必要とするコンピュータ実行時間は従来の方法よりも実質的に少なくなる。
【００２２】
【発明の実施の形態】
図面を参照して、より詳細には、図２は、好ましい実施形態による、マクロ全体またはチップに関するボディ効果と温度効果の両方を含んだ局部効果をモデル化する好ましい方法１２０のプログラムの流れを示す。この方法を本明細書でＳＴＥＡＤＹと呼ぶ。ＳＴＥＡＤＹ１２０は、回路シミュレーション環境の中で、他の最先端の回路シミュレーション・プログラムと協働して動作することを目的にしている。最先端の回路シミュレーション・プログラムは、例えばＳＰＩＣＥまたはＡＳＸであり、本明細書で一般的に標準シミュレーション・プログラムまたは標準回路シミュレータと呼び、さらにそのような標準シミュレーション・プログラム用のデバイス・モデルを本明細書では標準モデルと呼ぶ。さらに、本明細書で参照するように、「カバー」モデルは対応する標準モデルと同じモデル名を持つが、好ましい実施形態の方法を実施するために必要な追加の機能性を備えている。したがって、標準モデルの代わりにカバー・モデルを使用するＳＴＥＡＤＹ１２０に含まれるステップの多くは、標準シミュレーション・プログラムで標準モデルと協働して行われる可能性がある。
【００２３】
ＳＴＥＡＤＹ１２０は４つの主要なステップを含む。第１の主要なステップ１２２で、アイテムまたはオブジェクトのリストが生成される。ここで、各アイテムは、モデル化される回路、マクロまたはチップの中のトランジスタまたは熱流源についての参照を含む。限定としての意図ではなく、簡単にするために、回路、マクロおよびチップは本明細書では交換可能に使用される。第２の主要なステップ１２４で、マクロを初期設定する全ての初期実行が行われる。それから、マクロを初期設定した後で、反復から反復までの結果の間の差が選ばれた最大よりも小さくなるまで、ステップ１２６で、反復ループが実行される。最後に、ステップ１２８で、アイテム・リストが解消され、計算が終了する。この点で、回路の設計者がシミュレーション結果に不満足である場合は、結果を改良するためにデバイスを修正することができ、そして解析を繰り返すことができる。
【００２４】
任意選択的に、回路解析のスピード・アップのために、反復計算ステップ１２６に先行して、カバー・モデルを使用して、ボディ初期設定電圧を与えて回路中のトランジスタのボディ電圧を初期設定することができる。ボディ電圧は、カバー・モデルを通して標準モデルに渡される。もしくは、短時間で推定するために、ボディ電圧はデバイス端子の電圧を掃引して生成することができる。例えば、ＦＥＴのゲート、ドレインおよび／またはソースの端子を接地（０Ｖ）から電源（Ｖhi）まで掃引する。さらに、「最良ケース」または「最悪ケース」のゲート・レベルの解析は、マクロ・レベルで得られたボディ電圧を個々のゲート・レベルの解析に与えることで簡単になる。そのような解析で、より高いレベルの解析とより正確な標準シミュレーションの解析を比較する基盤が得られる。
【００２５】
ステップ１２２で生成されたオブジェクト・リストにより、ＳＴＥＡＤＹ１２０とマクロを記述する対応する素子のカバー・モデルとの間の反復が可能になり、それによって、標準シミュレーション・プログラムとの反復が可能になる。図３は、好ましいオブジェクト１３０のデータ構造を示す。各オブジェクト１３０はクラス階層内のひとつのクラスに属する。ベース・クラスはＴＩｔｅｍ１３２で定義され、そのＴＩｔｅｍから２つの特化クラスが引き継いでいる。クラスＴＩｔｅｍ１３２の各オブジェクトは、オブジェクトが関連付けられる回路素子（例えば、電界効果トランジスタ（ＦＥＴ））を一意に識別する入口を含む。代表的な入口は、階層的ドット表記法の名前列である。
【００２６】
２つの特化クラスの第１は、ＴＢｏｄｙＩｔｅｍ１３４であり、これはトランジスタのボディ効果を決定するために必要な全ての方法およびデータの記憶を可能にする。２つの特化クラスの第２は、ＴＨｅａｔＩｔｅｍ１３６であり、これは自己加熱効果を決定するために必要な全ての方法およびデータの記憶を可能にする。クラスＴＢｏｄｙＩｔｅｍ１３４のオブジェクトは回路のＦＥＴと関連している。クラスＴＨｅａｔＩｔｅｍ１３６のオブジェクトは、ＦＥＴの熱源のような回路または抵抗などの受動素子を含んだ熱を発生する他の回路素子のモデルと関連している。ＳＴＥＡＤＹの回路ネットリストは、２つの部分を含む。すなわち、ボディ効果モデルのコンデンサ、抵抗器および電流源のようなボディ効果構成要素を含む電気に関するネットリスト部分、およびコンデンサ、抵抗器および電流源のような熱効果モデルの構成要素を含む熱に関するネットリスト部分である。第１の主要なステップ１２２で生成されたアイテム・リストは、その後のステップで使用される。その時に、リストに入れられたアイテムの全てが走査され、回路素子のカバー・モデルと協働してリストに入れられたアイテムに対して適当な実行が行われる。
【００２７】
簡単にするために、図２の好ましい方法のステップを、ＴＢｏｄｙＩｔｅｍ１３４クラスのアイテムに関するマクロのボディ効果の決定について示す。しかし、理解されることであるが、特にボディ効果と自己加熱効果の両方が考慮される場合には、一般的な多入力回路のアイテム・リストはＴＢｏｄｙＩｔｅｍ１３４とＴＨｅａｔＩｔｅｍ１３６の両方を含む。
【００２８】
モデルが第２の主要なステップ１２４で初期設定されるときに、最初に、一般に「直流」解析と呼ばれるものが１２４０で要求されて、「直流」初期条件が決定される。このことは、回路は、ＳＴＡＲＴ  ＴＩＭＥ時に、ＳＴＡＲＴ  ＴＩＭＥよりも無限に長い前に加えられた入力電圧を持つものとしてシミュレーションされ、さらに過渡シミュレーションは、ＳＴＡＲＴ  ＴＩＭＥ時の初期状態としてこの結果から始まることを意味する。直流解析の要求は、回路の直流初期条件を決定する標準シミュレーション・プログラムに渡される。このＳＴＡＲＴ  ＴＩＭＥは、モデルの使用者、例えば回路設計者が指定する解析時間サイクルの開始点（ＰＳＴＡＲＴ）と一致するように選ばれるのが好ましく、その解析時間サイクルの間にボディ効果および自己加熱効果が調べられる。直流解析の結果は、次の最初の過渡解析で初期ボディ電圧値として、すなわち初期条件として使用される。ＳＴＥＡＤＹ１２０は、１２４２で、標準回路シミュレータから直流解析結果を取り出し、次に、その結果を次の過渡解析の初期条件としてカバー・モデルに渡す。また、ＳＴＥＡＤＹ１２０は、１２４４で、これらの結果を対応するアイテムに保管して、後で修正された初期条件を計算し強制する際に使用する。
【００２９】
図４は、ＨｅａｔＩｔｅｍ１３６を使用してＳＴＥＡＤＹ１２０で局部自己加熱を解析するための、例えばＦＥＴの、熱モデル１４０の簡単な例の図である。熱モデル１４０は、コンデンサ１４８と並列なａを選択的にドライブする１対の並列切換え電流源１４２ｊ、１４４ｊを含む。電流源は熱流の局部供給源を表し、抵抗器１４６は電気の抵抗器に対する熱の類似物、すなわち熱抵抗率を表し、コンデンサ１４８は電気のコンデンサに対する熱の類似物、すなわち熱容量を表す。スイッチ１４２ｓ、１４４ｓは、電流源１４２ｊ、１４４ｊのうちの対応する１つを選択的に含むために、または除くために設けられる。電流源１４２ｊは、通常標準モデルに含まれ、通常の時間変化する局部的な加熱電流を表すために時間変化する。電流源１４４ｊは、一定電流を供給し、反復で決定される平均加熱電流を表す。
【００３０】
最初に、電流源１４２ｊからの平均電流はゼロに設定され、局部的な加熱がないことを表す。電流源１４２ｊで表される特定の熱源の時間変化する効果が、各反復の間平均される。最終的に、熱平衡状態では、平均局部熱効果が決定され電流源１４２ｊは考慮されないし、さらに、局部的な加熱の範囲は熱抵抗１４６を流れる平均熱流１４４ｊで表され、熱容量１４８は最終温度まで満たされる。
【００３１】
反復の過渡解析は、自己加熱とボディ効果の両方について、次の主要なステップ１２６で始まる。図５のグラフは、１２６０における回路モデルに対するボディ効果シミュレーションの反復１５０、１５２を表す。ＳＴＡＲＴ  ＴＩＭＥおよびＳＴＯＰ  ＴＩＭＥは、それぞれ通常の過渡シミュレーションの開始点および終了点である。しかし、ＳＴＥＡＤＹに関連する回路応答は、サイクルの境界ＰＳＴＡＲＴ１５４から始まり、対応するサイクルの境界ＰＳＴＯＰ１５６で終了する。ここで両方の入力は使用者により指定される。ＳＴＥＡＤＹ１２０は、１２６２で、各デバイスに対する反復１５０、１５２の結果を取り出す。最初の過渡実行は、局部的な加熱についての初期設定の実行であり、最初の３回の過渡実行は後で説明するようなボディ効果についての初期設定の実行である。初期設定の次の各反復１５０、１５２の間に、平均電流１４４ｊのより適切な近似値および初期条件のボディ電圧Ｖｂが計算され、次の反復１５０、１５２に使用される。
【００３２】
局部的な加熱の解析では、最初の過渡反復で、全ての平均電流１４４ｊはゼロに設定され、平均熱流は次の過渡反復の初期条件として近似される。平均は、スイッチ１４２ｓが閉じスイッチ１４４ｓが開いている熱回路で流れる時間に依存した熱電流から計算される。その後の各過渡反復で、平均熱流は前の過渡反復から計算された値である。
【００３３】
図６は、トランジスタ・ボディの電荷（ｑ）を初期ボディ電圧（Ｖｂ）の関数として示す。過渡解析の各反復で曲線１６０上のデータ点が得られる。Ｖｂは、図５のＳＴＡＲＴ  ＴＩＭＥにおけるボディ電圧であり、電荷ｑは特定の反復の間に、対応するボディに蓄積された電荷である。トランジスタのカバー・モデルを使用して、ＰＳＴＡＲＴからＰＳＴＯＰまでにトランジスタのボディに蓄積する電荷ｑを計算する。ＳＴＡＲＴ  ＴＩＭＥからＰＳＴＡＲＴの間の電荷蓄積は無視される。同様に、ＰＳＴＯＰとＳＴＯＰ  ＴＩＭＥの間の電荷蓄積は無視される。このために、最終的に計算された定常状態はＰＳＴＡＲＴからＰＳＴＯＰまでの時間だけに基づいている。過渡シミュレーションは、ＳＴＡＲＴ  ＴＩＭＥからＳＴＯＰ  ＴＩＭＥまでの時間にわたって実行することができる。定常状態は、ｑがゼロになるＶｂの値、すなわち曲線１６０上の点１６２として特徴づけられる。最初に、正確な解１６２は知られていないが、曲線１６０上の前に計算されたデータ点から反復して解に近づくことができる。図６は、前に計算された２つの点１６４、１６６から次のＶｂを選ぶ２つの可能な手法を示す。
【００３４】
第１の手法は、直線内挿／外挿に相当する直線１６８で表され、次のＶｂ１７０が得られ、対応する次の過渡解析で曲線１６０上に点１７２が得られる。このようにして、この例から理解することができるように、直線法の欠点は、点１７２が前に計算された点１６６よりも解の点１６２から遠くなることである。その結果、この手法は発散するようになる。好ましい方法は、曲線１７４となる指数内挿／外挿の第２の手法である。この例では、第２の手法で計算された点１７６で、前の点１６６よりも近い曲線上１６０の次の点１７８が得られる。好ましい手法では、次に来る点の各々が解の点１６２に一層近くなり、結果は反復ごとに収束する。
【００３５】
上記のように、好ましい手法では、３回の初期設定の過渡実行が必要になる。ここで、各実行は、Ｖｂ2−Ｖｂ1＝Ｖｂ3−Ｖｂ2で定義されるような等間隔の３つの選ばれたボディ電圧の１つに基づいている。その各々のボディ電圧は、ここで（Ｖｂ1，ｑ1）、（Ｖｂ2，ｑ2）および（Ｖｂ3，ｑ3）と呼ばれる曲線上のデータ点を識別する。ＴＢｏｄｙＩｔｅｍのクラスは、指数関数を使用する指数内挿／外挿法の計算プログラムを与える。最初の３回の反復の後に、その後の各反復で、Ｖｂが１２６４で計算されて、次式の関係で記述される曲線１６０を生成する。
ｑ＝Ａ（ｅｘｐ（Ｂ（Ｖｂ−Ｖ０））−１）、
ここで、Ａ、ＢおよびＶ０は定数であり、次式で定義される。
Ａ＝（ｑ1ｑ3−ｑ2ｑ2）／（２ｑ2−ｑ1−ｑ3）、
Ｂ＝（Ｖｂ2−Ｖｂ1）-1*ｌｎ（（ｑ2＋Ａ）／（ｑ1＋Ａ））、
Ｖ０＝Ｂ-1ｌｎ（（ｑ3ｅｘｐ（Ｂ*Ｖｂ2）−ｑ2ｅｘｐ（Ｂ*Ｖｂ3））／（ｑ3−ｑ2））。
Ｖ０は、指数的に外挿された次の反復のｘ軸（Ｖｂ）切片の値である。その後の反復ごとに、すなわち４番目の反復から始まる反復ごとに、（Ｖｂn，ｑn）および（Ｖｂnl，ｑnl）を２つの直前の反復で計算されたデータ点と見なし、次の反復のボディ電圧Ｖｂn2は、
Ｖｂn2＝Ｂ-1*ｌｎ（（ｑnl*ｅｘｐ（Ｂ*Ｖｂn）−ｑn*ｅｘｐ（Ｂ*Ｖｂnl）／（ｑnl−ｑn）
となる。各デバイスのＶｂn2を計算した後、１２６６で、計算された値は次の過渡解析、すなわちｎ＋２の反復のために標準シミュレーション・プログラムに渡される。
【００３６】
ボディ効果の計算と同時に、自己加熱効果が各反復で計算される。上で言及したように、平均電流はゼロに設定され、温度の変化が最初の過渡実行で計算されて新しい温度が決定される。それから、１２６２でその新しい温度を取り出し、その新しい温度に基づいて、１２６４で、平均電流が再び計算される。再計算された平均電流は、ボディ効果電圧の結果と共に１２６６で標準モデルに渡され、１２６４で新しい温度として取り出される。
【００３７】
反復と反復の間で計算された結果がボディ効果電圧の最大許容電圧差および自己加熱の最大温度差よりも小さくなると、１２６８で、ＳＴＥＡＤＹ１２０は反復ループを終了する。熱平衡状態または熱定常状態は、一般に、数回の反復内で起こる。最後に、主要なステップ１２８で、アイテム・リストが解消される。
【００３８】
上記のように、ＳＴＥＡＤＹ１２０は、カバー・モデルを利用する。このことは、シミュレータは、例えばトランジスタの、通常のデバイス・シミュレーション・モデルを使用しないで、通常のモデルに比べて追加された特性を持つカバー・モデルが代わりに使用されることを意味する。追加の機能性により、カバー・モデルはＳＴＥＡＤＹ１２０と交信してシミュレーション中に必要な計算を実行することができるようになる。また、シミュレーションの初期条件として望ましいトランジスタ・ボディ電圧を強制するために、さらにシミュレーション中にＳＴＥＡＤＹ１２０で後で使用するために、カバー・モデルはデータを保管する追加の内部回路素子およびパラメータを含む。
【００３９】
そのようにして、本発明に従って複雑な回路をモデル化する際に、入力状態が選ばれ、直流解析または静的解析を使用してデバイスごとに初期ボディ電位が決定される。局部加熱解析の初期設定をする最初の過渡反復で、回路デバイスは初期ボディ電位を使用してバイアスされ、このようにバイアスされた回路に対して過渡解析が実行される。最初の３回の反復のボディ電圧が選ばれ、それに対応する電荷ｑが導き出される。３つの最後に得られた電荷を使用して、その後の過渡解析の反復のためのボディ電圧が見積もられる。反復の結果間の差が前に識別された許容レベルよりも下になるまで、これが繰り返される。また、最終の反復は、回路の定常状態の過渡応答である。
【００４０】
さらに、特定の回路がＰＳＴＡＲＴ１５４の前に、すなわちＳＴＡＲＴ  ＴＩＭＥとＰＳＴＡＲＴ１５４の間でどのように応答するかを理解することが必要となる可能性があるが、そのような解析は最初の過渡解析実行の後では一般に不必要である。最後の実行で過渡定常状態に達する前の、ＰＳＴＯＰ１５６の後で、すなわちＰＳＴＯＰ１５６とＳＴＯＰ  ＴＩＭＥの間で、回路がどのように応答するかを理解することもまた不必要である。このようにして、ＳＴＥＡＤＹ１２０は、中間の過渡反復の間はＰＳＴＡＲＴ１５４およびＰＳＴＯＰ１５６の外での回路シミュレーションを無しで済ませることで、従来技術の方法に優る重要な計算上の利点が得られる。そのように、初期の解析実行はＳＴＡＲＴ  ＴＩＭＥで始まり、ＰＳＴＯＰ１５６で終了する。最終の反復はＰＳＴＡＲＴ１５４から始まり、ＳＴＯＰ  ＴＩＭＥで終わる。
【００４１】
一層効率を良くするために、初期の過渡渡しの間、およびその後の渡しで、切り換わらない、したがって、シミュレートされている条件ではボディ効果を示さない休止トランジスタが識別される。これらの休止トランジスタは切り換わっていないので、そのボディ電圧は前の定常状態の渡しから知られている。したがって、この休止トランジスタに関する計算はマクロ・モデル解析から削除してシミュレーション・サイズを減少することができ、それによって、コンピュータ資源のオーバヘッドを減らし（例えば、割り振られたメモリ）、アルゴリズム収束を向上させることができる。そのように、切り換わるトランジスタだけを反復外挿のステップで解析するのが好ましい。
【００４２】
上で言及したように、最後の過渡実行は局部効果の定常状態解を含み、回路設計者が要求したもの全てについての最終的な解析、例えば、全ての回路の遅延並びに識別された回路ノード全ての正確な波形を含む。大きな回路ブロックおよびマクロについてさえも、初期過渡実行と最後の定常状態の過渡実行を比較して、履歴効果すなわち初期定常状態のシミュレーションと最終過渡渡しの差を識別することができる。
【００４３】
ＳＴＥＡＤＹ１２０を、例えば、多入力ＳＲＡＭ構造に適用すると、２％以下の過渡結果が得られ、計算された温度上昇は１０℃以下であった。さらに、切り換わらないトランジスタを除外し、中間の反復をＰＳＴＡＲＴとＰＳＴＯＰの間に限定することで、３分の１の反復と４０％少ないコンピュータ時間となって２桁少ないコンピュータ資源が必要になる。そのように、これらの簡素化する修正によりＳＴＥＡＤＹ１２０の効率はさらに向上する。
【００４４】
このようにして、本発明の好ましい方法により、マクロまたは比較的大きな回路全体にわたって可変な遅延を評価し、それにって従来技術の方法で通常必要とされる数千サイクルよりも遥かに効率よく、回路の定常状態の局部効果に達することができるようになることが理解できる。さらに、本発明の方法により、従来技術の方法の複雑さおよび大きな計算のオーバヘッドは無くなり、それによって数十サイクル以下で許容可能な定常状態に達し、遥かに少ない計算時間およびそれに応じて遥かに安い解析コストになる。また、好ましい方法は、なお有意義な結果を達成しながら、従来技術よりも多数のトランジスタを含む回路に適用することができる。最後に、好ましい実施形態により、非常に大きな回路の断面に及ぼす履歴効果を評価することが可能になる。
【００４５】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００４６】
（１）ａ）回路素子に対応するアイテムのオブジェクト・リストを作成するステップであって、前記アイテムが局部効果に対する前記対応する回路素子の応答をモデル化するステップと、
ｂ）前記回路素子の初期条件に応じて前記オブジェクト・リストを初期設定するステップと、
ｃ）過渡信号に対する前記回路素子の応答を解析するステップと、
ｄ）前記応答に応じて前記オブジェクト・リストを調整するステップとを含む回路設計方法。
（２）ｅ）前記調整するステップで行われた調整の間の差が最大許容差よりも小さくなるまで、前記解析ステップ（ｃ）と前記調整ステップ（ｄ）を繰り返すステップをさらに含む上記（１）に記載の方法。
（３）前記初期設定ステップ（ｂ）で、前記回路素子が定常状態で解析されて静的応答を決定し、前記オブジェクトが前記静的応答に応じて初期設定される上記（２）に記載の方法。
（４）前記解析するステップ（ｃ）の後に、素子が休止していると識別され、前記休止素子および対応するアイテムがその後の反復から除かれる上記（３）に記載の方法。
（５）前記解析するステップ（ｃ）の最初の反復の後に、解析期間が識別され、前記解析期間が開始時間と停止時間を有し、局部効果応答が前記解析期間の間に計算される上記（３）に記載の方法。
（６）前記回路素子が、電界効果トランジスタであり、前記局部効果がボディ効果を含む上記（３）に記載の方法。
（７）前記解析ステップ（ｃ）が、各々の解析される電界効果トランジスタで電荷が変化するかどうかを決定し、さらに前記調整ステップ（ｄ）が前記変化の各々に対して新しいボディ電圧を外挿する上記（６）に記載の方法。
（８）前記外挿が指数外挿である上記（７）に記載の方法。
（９）前記指数外挿が、
ｑ＝Ａ（ｅｘｐ（Ｂ（Ｖｂ−Ｖ０））−１）で定義され、ここで、
Ｖ０でｑ＝０、
Ａ＝（ｑ1ｑ3−ｑ2ｑ2）／（２ｑ2−ｑ1−ｑ3）、
Ｂ＝（Ｖｂ2−Ｖｂ1）-1*ｌｎ（（ｑ2＋Ａ）／（ｑ1＋Ａ））、
Ｖｂn2＝Ｂ-1*ｌｎ（（ｑnl*ｅｘｐ（Ｂ*Ｖｂn）−ｑn*ｅｘｐ（Ｂ*Ｖｂnl）／（ｑnl−ｑn）である。
（１０）前記方法が、
ｆ）１つまたは複数の電界効果トランジスタの設計特性を調整するステップと、
ｇ）ステップ（ａ）〜（ｅ）を繰り返すステップとをさらに含む上記（９）に記載の方法。
（１１）前記回路素子が、電界効果トランジスタであり、前記局部効果が局部的な加熱を含む上記（３）に記載の方法。
（１２）前記解析ステップ（ｃ）が、各々の解析される電界効果トランジスタで温度が変化するかどうかを決定し、さらに前記調整するステップ（ｄ）が前記変化の各々に対して平均熱流を外挿する上記（１１）に記載の方法。
（１３）前記方法が、
ｆ）１つまたは複数の電界効果トランジスタの設計特性を調整するステップと、
ｇ）ステップ（ａ）〜（ｅ）を繰り返すステップとをさらに含む上記（１２）に記載の方法。
（１４）前記初期設定するステップ（ｂ）で、初期ボディ電圧が、初期ボディ電圧のリストから前記回路素子ごとに与えられる上記（１）に記載の方法。
（１５）集積回路を設計するためのコンピュータ・プログラム・プロダクトであって、前記コンピュータ・プログラム・プロダクトはコンピュータ読み出し可能プログラム・コードを有するコンピュータ使用可能媒体を含み、前記コンピュータ読み出し可能プログラム・コードが、
回路素子に対応するアイテムのオブジェクト・リストを作成するコンピュータ読み出し可能プログラム・コード手段であって、前記アイテムが局部効果に対する前記対応する回路素子の応答をモデル化する手段と、
前記回路素子および対応する前記アイテムの回路モデルを初期設定するコンピュータ読み出し可能プログラム・コード手段と、
前記回路モデルの過渡応答を反復解析するコンピュータ読み出し可能プログラム・コード手段であって、前記アイテムからの局部効果が、前記反復解析される回路モデルに含まれ、前記回路モデルは、結果間の差が最大許容可能差よりも小さくなるまで解析される手段と、
前記オブジェクト・リストを解消するコンピュータ読み出し可能プログラム・コード手段とを含むコンピュータ・プログラム・プロダクト。
（１６）オブジェクト・リストを作成する前記コンピュータ読み出し可能プログラム・コード手段が、
ベース・クラスのオブジェクトを作成するコンピュータ読み出し可能プログラム・コード手段であって、前記ベース・クラスの前記オブジェクトの各々が対応するデバイス・モデルの入口を含む手段と、
前記ベース・クラスから受け継ぐ少なくとも２つの特化クラスのオブジェクトを作成し、関連した素子の局部的効果を外挿するための方法を与えさらに得られたデータを格納するコンピュータ読み出し可能プログラム・コード手段とをさらに含む上記（１５）に記載の集積回路を設計するためのコンピュータ・プログラム・プロダクト。
（１７）前記少なくとも２つのクラスが、ボディのクラスと局部的な加熱のクラスを含む上記（１６）に記載の集積回路を設計するためのコンピュータ・プログラム・プロダクト。
（１８）複数の前記回路素子を含む回路を定常状態で解析して静的応答を決定し、前記静的応答に応じて前記オブジェクトを初期設定するコンピュータ読み出し可能プログラム・コード手段をさらに含む上記（１７）に記載の集積回路を設計するためのコンピュータ・プログラム・プロダクト。
（１９）休止素子を識別し、前記休止素子および対応するアイテムをその後の反復の解析から除くコンピュータ読み出し可能プログラム・コード手段をさらに含む上記（１８）に記載の集積回路を設計するためのコンピュータ・プログラム・プロダクト。
（２０）解析期間の始めと終わりを識別するコンピュータ読み出し可能プログラム・コード手段をさらに含み、初期解析の後で、前記回路の素子の局部効果応答が前記解析期間の間に決定される上記（１９）に記載の集積回路を設計するためのコンピュータ・プログラム・プロダクト。
（２１）集積回路を設計するためのコンピュータ・プログラム・プロダクトであって、前記コンピュータ・プログラム・プロダクトはコンピュータ読み出し可能プログラム・コードを有するコンピュータ使用可能媒体を含み、前記コンピュータ読み出し可能プログラム・コードが、
回路素子に対応するアイテムのオブジェクト・リストを作成するコンピュータ読み出し可能プログラム・コード手段であって、前記アイテムが局部効果に対する前記対応する回路素子の応答をモデル化する手段と、
前記回路素子の各々の初期ボディ電圧のリストを含む前記回路素子の回路モデルを初期設定するコンピュータ読み出し可能プログラム・コード手段と、
前記回路モデルの応答を解析するコンピュータ読み出し可能プログラム・コード手段であって、前記リストからの局部効果は前記解析される回路モデルに含まれる手段と、
前記オブジェクト・リストを解消するコンピュータ読み出し可能プログラム・コード手段とを含むコンピュータ・プログラム・プロダクト。
（２２）前記回路モデルの応答を解析する前記コンピュータ読み出し可能プログラム・コード手段が、前記回路モデルの静的応答を解析するためのコンピュータ読み出し可能プログラム・コード手段を含む上記（２１）に記載の集積回路を設計するためのコンピュータ・プログラム・プロダクト。
（２３）前記回路モデルの応答を解析する前記コンピュータ読み出し可能プログラム・コード手段が、前記回路モデルの過渡応答を解析するためのコンピュータ読み出し可能プログラム・コード手段を含む上記（２１）に記載の集積回路を設計するためのコンピュータ・プログラム・プロダクト。
【図面の簡単な説明】
【図１】容量電圧分割器および１対の背中合せのダイオードとしてモデル化された、単一ＮＦＥＴの一般的なボディ効果モデルを示す図である。
【図２】マクロ全体またはチップ用の局部効果をモデル化する好ましい方法であるＳＴＥＡＤＹのプログラムの流れを示す図である。
【図３】好ましいオブジェクト１３０のデータ構造を示す図である。
【図４】自己加熱効果を計算するためのトランジスタ・モデルを示す模式図である。
【図５】回路、マクロまたはチップ・モデルのトランジスタに対するボディ効果シミュレーションの反復を示すグラフである。
【図６】腕力による計算結果について、直線外挿と指数外挿のグラフでの比較を示す図である。
【符号の説明】
１００  ボディ効果モデル
１０２  ボディ・ノード
１０４  ソース・ノード
１０６  ドレイン・ノード
１０８  ゲート・ノード
１１０  基板層を表すノード
１２０  ＳＴＥＡＤＹプログラム
１２２  アイテム・リストまたはオブジェクト・リスト作成（第１の主要ステップ）
１２４  初期設定（第２の主要ステップ）
１２６  反復計算ステップ（第３の主要ステップ）
１２８  アイテム・リスト解消（第４の主要ステップ）
１３０  オブジェクトのデータ構造
１３２  ベース・クラス
１３４  特化クラス（ボディ効果）
１３６  特化クラス（自己加熱効果）
１４０  熱モデル
１４２ｊ  電流源（時間変化する加熱電流）
１４２Ｓ  スイッチ
１４４ｊ  電流源（平均加熱電流、平均熱流）
１４４Ｓ  スイッチ
１４６  熱抵抗
１４８  熱容量
１５０  ボディ効果シミュレーションの反復
１５２  ボディ効果シミュレーションの反復
１５４  サイクル開始の境界
１５６  サイクル終了の境界
１６０  過渡解析の反復で得られたデータ点（１６４、１６６、１７８、１７２）の曲線
１６２  求める解の点
１６８  直線内挿／外挿
１７０  直線内挿／外挿で計算された点
１７２  １７０に対応する曲線１６０の点
１７４  指数内挿／外挿
１７６  指数内挿／外挿で計算された点
１７８  １７６に対応する曲線１６０の点
【図１】
0003663359.tif 000002
【図２】
0003663359.tif 000003
【図３】
0003663359.tif 000004
【図４】
0003663359.tif 000005
【図５】
0003663359.tif 000006
【図６】
0003663359.tif 000007