(57)【要約】  本発明は、デジタル回路（３．３）のスイッチング活動状態をモデル化する方法に関する。このデジタル回路（３．３）は、相互接続部（６）によって互いに連結され入力端の少なくとも１つが状態を変化させた時点で切り換わるセル（４．１〜４．Ｌ）を含む。回路（３．３）のセルの後続のスイッチングは、この回路のクロック周期（Ｔｃｌｋ）中に起こる。本発明によれば、スイッチング活動状態モデルが計算され、それによって、ポアソン統計分布モデルに基づき、クロック周期中に含まれる各サブ時間間隔［ｔｋ；ｔｋ＋１］にわたって切り換わるであろうセルの数が得られ、スイッチングモデルが生成するスイッチング時点が回路のセルに割り当てられる。【選択図】図１
2009543240.tif 000002
【特許請求の範囲】
【請求項１】
デジタル回路（３．３）のスイッチング活動状態をモデル化するための方法を用いるソフトウェアまたは電子回路であって、このデジタル回路（３．３）が、相互接続部（６）によって互いに連結されたセル（４．１〜４．Ｌ）を含み、これらのセル（４．１〜４．Ｌ）が、その入力端の少なくとも１つが状態を変化させた時点で切り換わり、前記回路（３．３）のセルの後続のスイッチングが、この回路のクロック周期Ｔｃｌｋ中に起こり、このクロック周期Ｔｃｌｋが、前記回路入力端に加えられた信号がこのデジタル回路（３．３）のセルによって処理される時間であり、
前記クロック周期が時間間隔［ｔｋ；ｔｋ＋１］に分割されるときに、それが、
応用統計モデルに基づいて、前記クロック周期の各時間間隔［ｔｋ；ｔｋ＋１］にわたって切り換わるであろうセルの数を計算するステップと、
前記時間間隔［ｔｋ；ｔｋ＋１］にわたって切り換わるであろうセルの数についての知識に基づいて、前記デジタル回路（３．３）の別々のセル（４．１〜４．Ｌ）にスイッチング時点を割り当てるステップとを含むことを特徴とする、ソフトウェアまたは電子回路。
【請求項２】
請求項１に記載のソフトウェアを使用するコンピュータ。
【請求項３】
前記統計モデルがポアソン統計分布モデルであることを特徴とする、請求項１または２に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項４】
前記ポアソンモデルが次式を用いた応用モデルであり、
【数１】
2009543240.tif 000009
ここで
【数２】
2009543240.tif 000010
であり、
ｔｋがｔｋ＝ｋ・ｔｍに等しく、ｋが、［０；ｉｎｔ（Ｔｃｌｋ／ｔｍ）］に属する整数であり、ｔｍが、前記クロック周期Ｔｃｌｋよりも短い一定期間であり、
Ｎａが、前記回路の、クロック周期Ｔｃｌｋにわたって呼び出されるであろうセルの数であり、
【数３】
2009543240.tif 000011
が、各セルの出力端に接続されたセルの平均数であることを特徴とする、請求項３に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項５】
前記回路の切り換わるであろうセルの数（Ｎａ）が、前記回路のセルの数（Ｌ）に等しいこと、あるいは前記回路のセルのこの数の半分に、この回路の平均スイッチング活動状態で等しいことを特徴とする、請求項４に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項６】
セルの数（Ｎａ）が、前記セルに対する呼出し確率と、セル間の別々のノードの状態変化の確率とに関するグラフの分析によって決定されることを特徴とし、ノードがいくつかのセル間の相互接続部に相当する、請求項４に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項７】
ｔｍが、前記デジタル回路内で１つのセルから別のセルまで情報を伝送するための最小期間であることを特徴とし、この伝送期間がセルの最小スイッチング時間と、相互接続部を介する信号の最小伝送時間とを含む、請求項４から６の一項に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項８】
ある時間間隔にわたって切り換わるであろうセルの数を計算するために、
前記時間間隔でのＤ［ｋ］とＤ［ｋ＋１］の間の直線補間を計算するステップであって、ここでＳ［ｉ］＝（Ｄ［ｋ＋１］＋Ｄ［ｋ］）／２であり、ｉが［０；ｉｎｔ（Ｔｃｌｋ／ｔｍ）−１］に属し、ｉｎｔ（Ｔｃｌｋ／ｔｍ）がＴｃｌｋ／ｔｍの整数部を表すステップと、
各時間間隔［ｔｋ；ｔｋ＋１］にわたって前記応用ポアソン分布の面積の近似値を得るために、Ｓ［ｉ］に前記時間間隔ｔｍを乗算するステップと、
各時間間隔［ｔｋ；ｔｋ＋１］で切り換わるであろうセルの自然数を得るために、Ｓ［ｉ］・ｔｍの値を最も近い整数に丸めるステップとが実行されることを特徴とする、請求項４から７の一項に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項９】
すべての時間間隔にわたってＳ［ｉ］・ｔｍの実際値とＳ［ｉ］・ｔｍの整数値との差を相殺するステップを含むことを特徴とする、請求項８に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項１０】
前記スイッチング活動状態の開始時に、すなわち第１の時間間隔［ｔ０；ｔ１］にわたって、切り換わるセルの数をそれが少なくとも１に等しくなるように適合させるステップを含むことを特徴とする、請求項８または９に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項１１】
前記セル（４．１〜４．Ｌ）のスイッチング活動状態において連鎖を維持するステップであって、間隔［ｔｋ；ｔｋ＋１］にわたって切り換わるであろうセルの数がゼロになる場合は、前記回路の切り換わるであろうすべてのセルが切り換わっていなければならないステップを含むことを特徴とする、請求項８から１０の一項に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項１２】
別々のセルにスイッチング時点を割り当てるために、各時間間隔［ｔｋ；ｔｋ＋１］ごとに、
この時間間隔にわたって切り換わるであろうセルの数に等しい数のセルを前記回路内で無作為に選択するステップと、
これら無作為に選択したセルに、前記時間間隔［ｔｋ；ｔｋ＋１］にわたってそれ自体が無作為に選択されたスイッチング時点を割り当てるステップとを含み、
このスイッチング時点がｋ・ｔｍ＋ｒａｎｄ（）・ｔｍに等しく、ｔｍが時間間隔［ｔｋ；ｔｋ＋１］の期間に等しく、かつｒａｎｄ（）が０と１の間のランダム値であることを特徴とする、請求項８から１１の一項に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項１３】
スイッチング時点を割り当てられたセルが無作為に選択される可能性はもはやないことを特徴とする請求項１２に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項１４】
時点ｔｋと関連する離散分布Ｄ［ｋ］を最小自乗法により近似して連続多項式関数Ｐ（ｔ）を計算するステップと、
期間［０；Ｔｃｌｋ］について連続関数Ｐ（ｔ）を積分し、関数Ｆ（ｔ）を得るステップと、
［０〜ｎ］からのｑの整数について、Ｎａ／ｎが自然数になるようにｎが選択されたＦ（ｔｑ）＝ｑ×Ｎａ／ｎを解くことによってｔｑを見出すステップと、
同じ数Ｎａ／ｎ個のセルがそれぞれの間隔で切り換わるであろう連続するｎ個の時間間隔［ｔｑ；ｔｑ＋１］を導き出すステップと
これらの間隔に基づいてスイッチング時間を、切り換わるであろうと無作為に選択されたＮａ個のセルに割り当てるステップとを含むことを特徴とする、請求項３から７の一項に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項１５】
前記セルのそれぞれにスイッチング時間を割り当てるために、
時間間隔［ｔｑ；ｔｑ＋１］を無作為に選択するステップと、
前記選択した間隔内で呼出し時間を計算するステップであって、この呼出し時間がｔｑ＋ｒａｎｄ（）×（ｔｑ＋１−ｔｑ）に等しく、ｒａｎｄ（）が、０と１の間の値を与える確率関数であるステップと、
前記呼出し時間をセルに割り当てるステップであって、セルへの呼出し時間の割当てが所与の各間隔［ｔｑ；ｔｑ＋１］に対してＮａ／ｎ回繰り返されるステップとを含むことを特徴とする、請求項１４に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項１６】
前記デジタル回路（３．３）が前記クロック信号（ＣＬＫ）の多重周波数（ｆｍｕｌｔ）で動作する、あるいは前記クロック信号の立上がりエッジまたは立下がりエッジで動作する場合、いくつかのポアソンモデルが前記クロック周期Ｔｃｌｋ内で用いられて、前記回路のスイッチング活動状態が決定されることを特徴とする、請求項１から１５の一項に記載のソフトウェア、電子回路、またはコンピュータ。
【請求項１７】
請求項１から１６のいずれかに記載の決定予備スイッチング活動状態モデル化ステップを含む製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル回路のスイッチング活動状態をモデル化する方法に関する。本発明はシミュレーション方法ではないので、本発明は、回路のスイッチング活動状態を決定するための網羅的または疑似網羅的なシミュレーションの代替方法である。本発明により、回路のスイッチング活動状態モデルを、この回路の正確な構成を知る必要なく高速で計算することが可能になる。
【背景技術】
【０００２】
本発明には、アナログ回路およびデジタル回路を含む混合信号電子システムの信号完全性ソフトウェアの分野において特に有利な用途がある。非限定的な一例として、電子システムは、単一シリコンブロック上、または同じパッケージ内のいくつかのシリコン基板上に集積回路を包含するとともに、プリント回路上の（集積化された、または集積化されていない）構成要素からなるアセンブリを包含する。
【０００３】
これらの電子システムを製造することは、特にそのシステムが１つまたは複数のシリコン集積構成要素を含む場合、非常に費用のかかる作業である。したがって、大規模な製造を開始する前にすべての製造パラメータを調べ、これらのパラメータのいくつかに、製造される回路が適正に動作する確率を最大にできる値を与えることが不可欠である。
【０００４】
この目的のために、「電子設計自動化ツール」と呼ばれる一連のソフトウェア製品があり、これは電子システム設計を、製造すべきシステムの仕様書の記述から、システムを製造するときに使用されるフォトマスクの製造まで支援する。
【０００５】
電子システムを設計する際の重要な要素の１つは、特に混合信号システムにおいては、回路で生成されるノイズを定量化することである。実際には、製造の前に、ノイズの影響を受けやすい特定の回路が機能するかどうかを判断するために、１つのステップが、システム内の信号の完全性を検証すること、すなわち、システム内部で観測することができるノイズを正確にマッピングすることにある。
【０００６】
この目的のために、ノイズ発生器回路（侵害側）およびノイズの影響を受けやすい回路（被害側）が特定される。より厳密には、システムのすべての回路をノイズ発生器（侵害側）と考えることができる。しかし、デジタル回路、メモリセル、ＶＣＯ（電圧制御発振器）などのアナログと高周波（ＲＦ）の回路、電力増幅器、および入出力回路を含む群からノイズ発生器回路を選択することが好ましい。特にデジタル回路は、その入力信号が切り換わるときにノイズを発生する傾向がある。もちろん、少なくとも１つのノイズ発生器回路を備える回路は、それ自体ノイズ発生器回路と考えられる。
【０００７】
ノイズの影響を受けやすい回路（被害側）は、増幅器、フィルタ、発振器、ミキサ、サンプラーブロッカー、デジタルメモリ回路、位相ループ、入力／出力回路、および電圧基準回路などのアナログ回路およびＲＦ回路を含む群から選択される。もちろん、ノイズの影響を受けやすい回路を少なくとも１つ含む回路は、それ自体ノイズの影響を受けやすいと考えられる。
【０００８】
侵害側で発生したノイズは、内部に回路が集積されている基板、金属製相互接続部およびパッケージを通って被害側に向かって広がる。このノイズは、被害側の性能を劣化させる傾向がある。したがって、ノイズとは、侵害側ブロックで発生し、被害側に望ましくない影響を及ぼすあらゆる信号を意味する。
【０００９】
より具体的には、これらのシステム内で識別可能なノイズは、システムのデジタル回路を構成するデジタルセルのスイッチング活動状態と関連する。したがって、設計支援ソフトウェアでは、どの時点でセルがノイズを電子システム内部に注入するかを決定するために、集積回路のデジタル部のスイッチング活動状態を知ること、すなわち各セルが切り換わる時点を知ることが必要になりうる。
【００１０】
切り換わるセルは、その入力が論理状態を変化させるセルであり、論理状態（０または１）はある電圧の範囲に対応する。論理状態０は、例えばセルの電源電圧の０〜５％の間の電圧に対応することがあり、論理状態１は、例えばセルの電源電圧の９５〜１００％の間の電圧に対応することがある。セルは、その入力の１つが状態を変化させるとすぐに内部活動状態を示す。
【００１１】
集積化システム用の信号完全性ソフトウェアの特定の問題に関して製造前に、この回路内で支配的なスイッチング活動状態の範囲を決定することが有用なことがある。すなわち、回路の最大数のセルが切り換わる最大活動状態、最小数のセルが切り換わる最小活動状態、あるいは回路が動作しているときに最も多く識別可能な活動状態である平均活動状態を決定することが有用なことがある。この回路で発生する最大、最小および平均ノイズを再現するために、これらの最大、最小および平均の活動状態レベルから、回路および／または素子で消費される最大電力など、電源を特定の大きさにするデータを導き出すことが可能である。
【００１２】
デジタル回路のスイッチング活動状態を決定するのに既知の方法を用いる場合は、その回路の挙動を網羅的または疑似網羅的にシミュレートする。網羅的シミュレーションでは、可能なすべての入力信号の組合せ（すなわちテストパターン）を回路の一次入力端、すなわち外部から制御可能な入力端に加える。次に、どの時点で各セルがそれぞれの入力信号に基づいて切り換わるかを観測する。
【００１３】
疑似網羅的なシミュレーションでは、可能なすべての組合せから無作為に選択できる特定の信号の組合せを回路の入力端に加える。次に、可能なすべてのテストパターンと比較したケース抽出からスイッチング活動状態推定量を構築する。
【００１４】
スイッチング活動状態は、平均であろうと限度であろうと、回路のＳＰＩＣＥトランジスタレベルモデルを使用して決定することができる。このモデル化は、所与の入力信号に対するスイッチング活動状態を非常に正確にシミュレートすることを可能にするが、多くの資源を必要とし、小規模の回路についてのみ適用可能である。
【００１５】
非常に多数の論理ゲート、すなわち一例では数百万の論理ゲートを含みうるＶＬＳＩ（超大規模集積）回路のシミュレーションに使用される挙動モデル（ＶＨＤＬ、ＶＥＲＩＬＯＧ）を用いて、スイッチング活動状態をシミュレートすることも可能である。
【００１６】
挙動シミュレーション法は、それぞれ異なるシミュレーションレベルを提供する。第１のレベルは、情報伝搬時間が考慮されない、セルの厳密な意味における機能シミュレーションである。第２のシミュレーションレベルでは、セルの内部スイッチング時間（１つの論理状態から別の論理状態に切り換わるための時間）を考慮に入れる。第３のシミュレーションレベルでは、内部スイッチング時間だけでなく、セル間の線路上での情報伝達時間（線遅延）も考慮に入れる。
【００１７】
しかし、挙動シミュレーション技法、またはＳＰＩＣＥモデル化などの詳細シミュレーション技法は、平均および／または限度の活動状態を計算するための多数のテストパターンを使用する必要がある。２つの論理状態を取ることができるＮ個の入力端では、網羅的処理のために２Ｎ×２Ｎ−１個のテストパターンを回路の一次入力端に加える必要があり、これは非常に長い処理時間になる。
【００１８】
グラフ分析シミュレーション、ペトリネットワーク、マルコフ連鎖に基づく方法、または確率マトリクスなどの他の方法もまた、セルのスイッチング活動状態の決定を可能にする。これらの非シミュレーション技法は、各セルの確率的挙動に基づくものであり、デジタル回路の挙動データを生成する。これらの技法では、デジタル回路は、限定されたテストパターンに特に対応するのではなく、セルの平均挙動に対応する。しかし、これらのグラフ分析技法は、回路の平均活動状態を明らかにするだけである。
【００１９】
さらに、シミュレーション技法でもグラフ分析に基づく技法でも、回路の全体構成についての知識が必要である。したがって、基礎設計中またはＲＴＬシミュレーション状態中でのスイッチング活動状態の推定、すなわち論理システム設計前のスイッチング活動状態の推定は、回路ゲート数しか分かっていない場合では、既知の方法を用いると不可能である。
【発明の概要】
【発明が解決しようとする課題】
【００２０】
本発明は、既存の技法の複雑な実施から生じる問題の解決策を提供し、回路の全体構成が分かっていない場合により広い応用分野を提供する。
【課題を解決するための手段】
【００２１】
本発明は、デジタル回路内を信号がどのように伝達されるかに関する簡単な発見に由来する。デジタル回路がクロック信号によって励起されるとき、かつ／またはこの回路の入力端に励起信号が印加されることによって励起されるとき、この回路の入力端に接続されたセルが切り換わり、それに接続された後続のセルに信号を伝達し、このようにして信号が回路内で段階的に伝達される。したがって、スイッチング活動状態は、それが活動状態ピークに達するまで高まる。次いで活動状態は、別のセルがこのクロック信号、またはこの励起信号に対して切り換わるまで低下する。
【００２２】
したがって、経験に基づいて、スイッチング活動状態の変化に関するこの発見に概ね一致するスイッチング活動状態プロファイルモデルを適用することができる。これらの活動状態プロファイルは、正規分布モデルまたはポアソン分布モデルなどの周知の統計的分布モデルにより得ることができる。
【００２３】
なされた発見に最も関係のある統計的分布はポアソン分布であり、これは、デジタルセルの「サービス」、または「待ち行列」の概念を導入する。したがって、このサービスの概念と、特定の励起信号に対して切り換わるであろうセルの数との間に対応関係を確立する。すなわち、ポアソン分布モデルは、経時的に切り換わるセルの数（分布面積）を示して、最終的に、所与のクロックエッジまたは励起信号に対して切り換わるセルの数を表す総面積を与える。
【００２４】
この目的のために、ポアソン数学モデルが、セルの実際のスイッチング活動状態を明らかにする物理的基準に実験的に応用される。言い換えると、このモデルは、スイッチング時点の分布がそれに応じて時間の関数として変化すると思われる物理的パラメータに応用される。
【００２５】
したがって、応用されるポアソン分布は、切り換わるであろうセルの数（推定または確定）と、各セルに対して発生する平均ファンアウト値と、１つのセルから別のセルまで情報を伝送するための最小時間とによってパラメータ化が可能である。
【００２６】
各セルのファンアウトは、考察する各セルの出力端に接続されたセルの数を示す。一方、最小伝送時間は、ゲート遅延と線遅延の合計の最小値である。
【００２７】
このポアソン分布には、デジタル回路内部のスイッチング活動状態を、この回路のセルおよびそれらの間の接続部についての完全な記述を正確に知らないでモデル化することが可能になるという利点がある。セル母集団に関する簡単な１片の情報（セルの数、平均ファンアウトなど）があれば、設計の流れの初期、例えばデジタル回路の論理システム設計の前に、回路のスイッチング活動状態をモデル化することが可能である。
【００２８】
より詳細には、このスイッチング活動状態の分析に基づいて、電源を特定の大きさにすることが可能であり、また、混合信号システム内のノイズのマップを創り出すために、ノイズ注入をモデル化するセルのマクロモデルとスイッチング時点を関連付けることが可能である。
【００２９】
したがって本発明は、デジタル回路のスイッチング活動状態をモデル化する方法に関し、このデジタル回路は、相互接続部によって互いに連結されたセルを含み、これらのセルは、その入力端の少なくとも１つが状態を変化させた時点で切り換わる。この回路のセルの後続のスイッチングがクロック周期Ｔｃｌｋ中に起こり、このクロック周期Ｔｃｌｋは、回路内に入力される信号がこのデジタル回路のセルによって処理される時間であり、
クロック周期が時間間隔に分割されるので、それが、
応用統計モデルに基づいて、クロック周期の各時間間隔にわたって切り換わるであろうセルの数を計算するステップと、
その時間間隔にわたって切り換わるであろうセルの数についての知識に基づいて、デジタル回路の別々のセルにスイッチング時点を割り当てるステップとを含むことを特徴とする。
【００３０】
本発明は、以下の説明を読み、添付の図を検討すればよりよく理解されるであろう。これらの図は、説明のみを目的として示したものであり、本発明を何ら限定するものではない。これらの図は以下を示す。
【図面の簡単な説明】
【００３１】
【図１】ポアソンモデルに基づいて開発された本発明による統計的スイッチング活動状態モデルを示すグラフ、およびデジタル回路の別々のセルに対するスイッチング時間間隔の分布の概略図である。
【図２】クロック周期の時間間隔中に切り換わるであろうセルの計数値を得るためにポアソン分布を応用した、本発明によるアルゴリズムである。
【図３】本発明による、クロック周期中の回路のいくつかの活動状態プロファイルの概略図であり、ポアソン活動状態モデルは、電子システムの基準周期内のいくつかの刺激を考慮に入れている。
【図４】ポアソン分布が、所与の時間間隔内の同じ数のセル呼出しに対応する等しい面積に分割される、本発明の変形形態の諸ステップの概略図である。
【発明を実施するための形態】
【００３２】
同じ要素には、１つの図から別の図まで同じ参照符号が保持される。
【００３３】
図１は、アナログブロック２．１〜２．Ｑ、およびデジタルブロック３．１〜３．Ｋを含む混合信号電子システム１の概略図である。デジタルブロック３．３は、デジタルセル４．１〜４．Ｌを含む。各セル４．１〜４．Ｌは、１つまたは複数の論理ゲートを含み、特定の機能を実行する。これらのセル４．１〜４．Ｌは、相互接続部６によって互いに連結されている。これらのセル４．１〜４．Ｌの状態変化は、ブロック３．３のクロック入力端に加えられるクロック信号ＣＬＫによって同期される。
【００３４】
このクロック信号ＣＬＫは周期Ｔｃｌｋを有し、この周期にわたって、ブロックの一次入力端Ｅ１〜ＥＮに加えられた信号がブロック３．３のセル４．１〜４．Ｌで処理される。
【００３５】
例えば、デジタルブロック３．３のスイッチング活動状態モデルを決定するには、次式による適合離散ポアソン分布を用いる。
【００３６】
【数１】
2009543240.tif 000003
【００３７】
ここで、
【００３８】
【数２】
2009543240.tif 000004
【００３９】
すなわちポアソン分布は、セルの平均ファンアウト
【００４０】
【数３】
2009543240.tif 000005
【００４１】
および切り換わるであろうセルの数Ｎａに適合されている。ここでｋは正の整数である。
【００４２】
より詳細には、Ｎａは、クロック周期Ｔｃｌｋにわたって呼び出されるであろう回路のセル、すなわちその入力端で変化を受け取るであろうセルの数である。Ｎａは、ポアソン分布の単位面積（＝１）をセルの数Ｎａに対応させるために用いられる。
【００４３】
Ｎａは、それがブロック３．３のセルの数Ｌと等しくなるように選択することができる。しかし一般には、入力が状態を変化させるセルが、状態を変化させない出力を有することがあるので、切り換わるであろうセルの数を回路のセルの総数よりも少なく選択する。ここで、そのようなセルの後に接続された後続のセルは、その入力のどんな修正も受け入れない。したがって、回路に関する技術情報がほとんど入手できない場合は、デジタルブロックの平均スイッチング活動状態を表すＮａ＝Ｌ／２を選択する。
【００４４】
変形形態として、Ｎａを決定するのに、セルの呼出確率、およびセル間の別々のノードの状態変化の確率を用いてグラフを分析することができる。ノードは、いくつかのセルの間の相互接続部に相当する。
【００４５】
【数４】
2009543240.tif 000006
【００４６】
は、回路のセルのうち切り換わるセルの平均ファンアウト、すなわち、その回路の各セルの出力端に接続されたセルの平均数である。例えば、１つの出力端が他の２つのセルの各入力端に接続された第１のセルと、１つの出力端が別の１つのセルの入力端に接続された第２のセルとを有する回路では、そのファンアウトは（２＋１）／２＝１．５になる。
【００４７】
実際には、ネットリストと呼ばれるブロック３．３についての情報リストから平均ファンアウトを求めることが可能である。このネットリストは、セル４．１〜４．Ｌ、およびこれらのセルの間の相互接続部についての情報を含む。この情報が入手できない場合は、電子回路の平均ファンアウトを初期仮定として２、３または４に等しいとしてよいことが経験から分かっている。
【００４８】
また、時間ｋの離散単位を時点ｔｋ−ｋ×ｔｍに一致させることによって、離散分布を応用する。ｋは［０；ｉｎｔ（Ｔｃｌｋ／ｔｍ）］に属する整数であり、ｉｎｔ（Ｔｃｌｋ／ｔｍ）はＴｃｌｋ／ｔｍの全体部分を表す。ｔｍは、デジタルブロック３．３内で１つのセルから別のセルまで情報を伝送するための最小時間である。
【００４９】
期間ｔｍは、一方が他方の入力端に接続されそれを制御する、２つの連続したセルの２つのスイッチングを分離する最小時間によって定義される。期間ｔｍは２つの時間の組合せからなる。その第１はセルのスイッチング時間であり、セルの入力端の１つが立上がりエッジまたは立下がりエッジを受け取ったときに、セルが状態を変化させるための時間である。第２はセル間の信号伝送時間であり、具体的にはＲＣラインネットワーク、およびセル４．１〜４．Ｌの入力静電容量に結合したセル間相互接続部上での信号伝搬時間に相当する。Ｔｃｌｋよりも短い期間ｔｍはまた、連続した２つのセルの２つのスイッチング間の最小時間以外の定数とすることもできる。
【００５０】
一実施では、［０．．．ｉｎｔ（Ｔｃｌｋ／ｔｍ）］に属する整数ｋに対するＤ［ｋ］の各値を計算し、これらの値を離散時点ｔｋ＝ｋ．ｔｍと関連付ける。こうして、図１に表された点を得る。この図の離散分布Ｄ［Ｋ］は、ブロック３．３についてＮａ＝５０、
【００５１】
【数５】
2009543240.tif 000007
【００５２】
ｔｍ＝１ｍｓ、およびＴｃｌｋ＝１７ｍｓの場合に得られたことに注意されたい。
【００５３】
次に、時間間隔［ｔｋ；ｔｋ＋１］について分散値を計算する。これを行うために、次式を用いてＤ［ｋ］とＤ［ｋ＋１］の間で直線補間を実行する。
【００５４】
Ｓ［ｉ］＝（Ｄ［ｋ＋１］＋Ｄ［ｋ］）／２
ここで、間隔ｉは［０；ｉｎｔ（Ｔｃｌｋ／ｔｍ）−１］に属する整数であり、ｉｎｔ（Ｔｃｌｋ／ｔｍ）はＴｃｌｋ／ｔｍの整数部を表す。
【００５５】
したがって、例えばＤ［０］＝１およびＤ［１］＝３．３の場合、［ｔ０；ｔ１］での直線補間はＳ［ｉ］＝２．１５になる。
【００５６】
Ｓ［ｉ］の整数部に時間間隔ｔｍを乗算することによって、各時間間隔にわたってポアソン分布面積の近似値を得る。言い換えると、この時間間隔中に切り換わるであろうセルの近似数を得る。こうして得られた値は実効値である。
【００５７】
計算されたこれらの実効値を、所与の時間間隔にわたってセルの全数が呼び出される実際の状況に適合させるために、Ｓ［ｉ］・ｔｍの実効値を整数として再配分する。
【００５８】
この目的のために、Ｓ［ｉ］・ｔｍを最も近い整数に丸め、この丸めた整数を対応する間隔に関連付ける。したがって、時間間隔［ｔ０；ｔ１］にわたって切り換わるであろうセルの数は、（２．１５・ｔｍ）の整数部と等しくなる。
【００５９】
こうして棒グラフ１２が得られ、それぞれの棒１３の面積が、各時間間隔［ｔｋ；ｔｋ＋１］で切り換わるであろうセルの自然数を与える。棒１３すべての面積は、クロック周期Ｔｃｌｋの間に呼び出されるであろう（言い換えると、切り換わるであろう）セルの総数と等しい。
【００６０】
図２のアルゴリズムのうち、各間隔［ｔｋ；ｔｋ＋１］に対して用いられるループ内に含まれた部分Ａの命令は、１つの間隔にわたって切り換わるセルの自然数を計算することを可能にする。この目的のために、Ｓ［ｉ］にｔｍを乗算したものに等しい「サブ面積」変数を定義する。また、ＲＯＵＮＤ関数を用いて、この変数を最も近い整数に丸め、それを「Ｃｅｌｌｓ＿ｃａｌｌｅｄ＿ｉｎ＿ｄｅｌａｙ」変数に格納する。この変数は、１つの間隔中に呼び出されるセルの物理（自然）数に対応しうる棒１３の面積に等しい。
【００６１】
さらに、面積の実効値と、最も近い整数に丸めたこの面積との差１４がメモリ内に記憶され、他の各間隔［ｔｋ；ｔｋ＋１］にわたって存在する他のそれぞれの差と合計される。この差の整数部がゼロに等しくない場合には、この整数部（正または負）を、後続の間隔にわたって切り換わるであろうセルの数に加算する。こうして、各棒１３の総面積が確実にＮａに等しくなるようにする。言い換えると、棒の面積と、最も近い整数に丸めたこの面積との間に存在しうる差をグラフ全体にわたって再配分する。
【００６２】
図２のアルゴリズムの部分Ｂは、計算された差１４を再配分することを可能にする命令を含む。この目的のために、「ｄｉｆｆｅｒｅｎｃｅ」変数は、実際のセルの値と、最も近い整数に丸めたこれらの値との差の合計に対応する。「ｄｉｆｆｅｒｅｎｃｅ」変数の整数部（ＩＮＴ）は、この整数部が０と異なる場合、時間間隔にわたって切り換わるであろうセルの数に加算される。しかし、一般には、最も近い整数に丸められた値と、端数を切り捨てた値との差は、自然に互いに相殺することがあり、その場合には、本発明による方法を用いるのにこの相殺計算を実行する必要がない。
【００６３】
さらに、本発明による方法では、第１の時間間隔［ｔ０；ｔ１］にわたって少なくとも１つのセルが、この第１の時間間隔中に切り換わるセルの数を最も近い整数に丸めたものがたとえ０であっても、切り換わるものと想定する。この選択は、ブロック３．３のスイッチング活動状態の開始時に少なくとも１つのセルが切り換わることが明らかであるので、スイッチングセルの挙動を最善に近似することを可能にする。しかし、本発明による方法を用いるのに、第１の時間間隔［ｔ０；ｔ１］にわたって少なくとも１つのセルが切り換わるものと想定する必要はない。
【００６４】
したがって、図２のアルゴリズムの部分Ｃは、第１の時間間隔中に少なくとも１つのセルが確実に切り換わるようにすることを可能にする命令を含む。この目的のために、第１の間隔（ｋ＝１）が関係する場合で、かつこの間隔にわたって切り換わるであろうセルの数が０に等しい場合（Ｃｅｌｌｓ＿ｃａｌｌｅｄ＿ｉｎ＿ｄｅｌａｙ＝０）、この第１の間隔中にわたって切り換わるであろうセルの数に値１を割り当てる。こうして「ｄｉｆｆｅｒｅｎｃｅ」変数を１だけ減分する。
【００６５】
また、回路の動作中に観測できるセルのスイッチングの連続性も維持する。実際には、切り換わるセルがそれ以上ない場合は、これは、切り換わるであろうすべてのセルが切り換わったことを意味する。したがって、回路の切り換わるであろうすべてのセルがまだ呼び出されていない場合は、間隔［ｔｋ；ｔｋ＋１］にゼロのセルの値を割り当てないようにする。言い換えると、セルを切り換えることなく間隔を空けて後で切換えを再開しないようにする。というのは、切換えをしないこれらの間隔は、回路の情報処理の連続性の点で矛盾するからである。
【００６６】
したがって、図２のアルゴリズムの部分Ｄは、非ゼロの値を「Ｃｅｌｌｓ＿ｃａｌｌｅｄ＿ｉｎ＿ｄｅｌａｙ」変数に割り当てることを可能にし、この変数は、前述のように、１つの間隔中に呼び出されるであろうセルの数を、この間隔中のセルの数がアルゴリズムによりゼロに等しいはずであるが、ポアソン曲線の面積がブロック３．３内で切り換わるであろうセルの数（Ｎａ）に等しくない場合に、表す。その間隔に割り当てられたこのセルを後続の間隔にわたって相殺するために、ここで再び「ｄｉｆｆｅｒｅｎｃｅ」変数が１だけ減分される。
【００６７】
棒グラフ１２を得た後で、各時間間隔［ｔｋ；ｔｋ＋１］にわたって各セルにランダム時間を割り当てる。この時間は、時間間隔［ｔｋ；ｔｋ＋１］、およびこの時間間隔にわたって切り換わるであろうセルでは、ｋ・ｔｍ＋ｒａｎｄ（）・ｔｍに等しい。ここでｒａｎｄ（）は、０と１の間のランダム値を与える関数である。この選択は、呼出しがある間隔にわたって、ｋを整数とする厳密ではない時点ｋ・ｔｍで行われる（これもまた可能性がありうる）時間間隔［ｔｋ；ｔｋ＋１］内で、現在の呼出しを容易にすることを可能にする。
【００６８】
ここで例えば、２つのセルを無作為に選択し、それにそれぞれ、クロック周期の開始と比べて例えばｔｍ＋０．１ｔｍおよびｔｍ＋０．３ｔｍに等しいスイッチング時点を割り当てる。次に、［ｔ１；ｔ２］にわたって、クロック周期の開始と比べて時点２ｔｍ＋ｒａｎｄ（）・ｔｍなどで呼び出される別の５つのセルを無作為に選択する。セルは置換えなしで選択される。すなわち、あるセルがひとたび無作為に選択されれば、それが無作為に選択される可能性はもはやない。
【００６９】
実際には、ポアソンモデルによりスイッチング活動状態をモデル化する場合、グリッチ、すなわち１つのセルの、回路の情報処理に有用ではない連続呼出しは無視する。次に、各間隔の間に呼び出されたセルの数の変化を得る。
【００７０】
ブロック３．３のセル４．１〜４．Ｌに対するスイッチング時点の分布は、クロック信号ＣＬＫすなわち基準信号の立上がりエッジ１７または立下がりエッジ１８が識別可能であるごとに生じる。単一の基準信号が、電子システムのすべてのデジタルブロックに対して規定される。
【００７１】
しかし、図３に示すように、デジタルブロック３．１〜３．Ｋは、クロック周期Ｔｃｌｋにわたっていくつかのスイッチング活動状態プロファイル１２を有することがあり、同一の活動状態プロファイルがそのクロック周期内で繰り返される。２つの連続プロファイル１２は、非ゼロ時間によって互いに分離することができる。
【００７２】
このスイッチングプロファイルの増加は、デジタルブロック３．１〜３．Ｋがクロック信号ＣＬＫの周波数の多重周波数ｆｍｕｌｔ＝１／Ｔｍｕｌｔで動作する場合に観測することができる。この場合、スイッチングプロファイルは、Ｔｃｌｏｃｋ／Ｔｍｕｌｔ回繰り返される。
【００７３】
プロファイルの増加はまた、異なるエッジについても、例えば立上がりクロックエッジおよび立下がりクロックエッジについても観測することができる。この場合には、同一のポアソンモデルが両方のエッジについて繰り返される。
【００７４】
示した例では、デジタルブロック３は、クロック信号ＣＬＫの周波数よりも４倍高い周波数で動作する。
【００７５】
システムの基準周期Ｔｃｌｋの開始と、デジタルブロック３．１〜３．Ｋのスイッチング活動状態の開始との間に時間遅れＴｄがありうる。この時間遅れＴｄは、例えば、デジタルブロックに加えられる前に他の回路またはクロックツリーを通るクロック信号に関連したデジタルブロック３．１〜３．Ｋの応答時間に起因することがある。
【００７６】
さらに、いくつかのデジタル回路３．１〜３．Ｋを含む混合信号システム１では、回路ごとにスイッチング時点の分布を有することができ、各回路３．１〜３．Ｋの活動状態をモデル化することができる。その場合、各デジタル回路３．１〜３．Ｋに特定的な適合ポアソン分布のパラメータ組を使用する。
【００７７】
特定の一応用例では、デジタルブロック３．３内の識別可能なノイズを計算するために、ノイズ注入スペクトルをセル４．１〜４．Ｌと関連付けるとともに、注入ノイズ波形の実効呼出し時間を得るためにクロックエッジと比べた時間とも関連付ける。この時間は、ポアソンモデリング１２を用いて計算される。こうして、周波数遅延演算子を乗算したスペクトルである、結果として生じたスペクトルを各セルについて得る。次いで、これら結果として生じたスペクトルを組み合わせて、ブロックの総合ノイズを計算することが可能である。次にまた、これらのブロックノイズを組み合わせて、所与のスイッチング活動状態モデルに対してシステム１内に注入される総合ノイズを計算することが可能である。
【００７８】
変形形態として、図４に示すように、同じ数のセルが切り換わった別々の時間間隔［ｔｑ；ｔｑ＋１］をサーチする。
【００７９】
この目的のために、連続関数Ｐ（ｔ）によって、例えば、最小自乗近似法を用いて得られた式Ｐ（ｔ）＝ａ０＋ａ１・ｔ＋ａ２・ｔ２＋．．．＋ａｒ・ｔｒを用いた多項式関数によって時点ｔｋと関連する離散ポアソン分布Ｄ［ｋ］を近似する。次に、ポアソン分布を連続的に表したものを得るが、離散値Ｄ［ｋ］と比べて誤差がごくわずかである。
【００８０】
曲線Ｐ（ｔ）の下の面積は、この面積と関連する時間間隔で切り換わるであろうセルの数を示す。したがって、曲線Ｐ（ｔ）の下の総面積３１は、デジタル回路の切り換わるであろうセルの総数Ｎａと等しい。切り換わるであろうとみなされるＮａ個のセルは、前記の方法で無作為に選択される。
【００８１】
時間の関数として切り換わった総セルの変化を得るために、関数Ｐ（ｔ）を［０，Ｔｃｌｋ］において積分して（３２）、グラフが示されている関数Ｆ（ｔ）を得る。この積分は、関数Ｐ（ｔ）が多項式であるので、計算するのが容易である。曲線Ｆ（ｔ）は、クロック周期Ｔｃｌｋの開始時には回路のどのセルもまだ切り換わっておらず、クロック周期Ｔｃｌｋの終わりにはすべての切り換わるであろうセルＮａが切り換わっているように増加する。
【００８２】
次に、同じ数Ｎａ／ｎ個のセルがそれぞれの間隔で切り換わるであろうｎ個の時間間隔［ｔｑ；ｔｑ＋１］を探して選ぶ。ｎは、Ｎａ／ｎがセルの自然数になるように選択される。図４に示した例では、ｎ＝６で、Ｎａは６の倍数である。
【００８３】
この目的のために、呼び出されるセルの数のそれぞれ異なる値について関数Ｆ（ｔ）を解くが、これらの値は呼出しの数Ｎａ／ｎの倍数である。したがって、Ｆ（ｔｑ）＝ｑ×Ｎａ／ｎでｑの整数が１からｎまでの範囲について、すなわちＦ（ｔ１）＝Ｎａ／ｎ、Ｆ（ｔ２）＝２Ｎａ／ｎ、Ｆ（ｔ３）＝Ｎａ／ｎ、．．．、Ｆ（ｔｎ）＝Ｎａまでについて、ｔｑを探して選ぶ。
【００８４】
ここから一連の間隔［ｔｑ；ｔｑ＋１］を導き出して、表に格納される領域Ａ１〜Ａｎの境界を定める。次に、関数時間軸Ｐ（ｔ）を区切る。次に、曲線Ｐ（ｔ）の領域Ａ１〜Ａｎの各下位区分に対し同じ数の呼出しセルを含む別々の呼出し間隔［ｔｑ；ｔｑ＋１］を得る。したがって、次式を得る。
【００８５】
（ｔｑ＋２−ｔｑ＋１）≠（ｔｑ＋１−ｔｑ）
また、
【００８６】
【数６】
2009543240.tif 000008
【００８７】
ここで、Ａ１＝Ａ２＝Ａ３．．．＝Ａｎである。
【００８８】
時間間隔［ｔｑ；ｔｑ＋１］には、経時的に減少し、次いで再び増加する期間があることに注目する。クロック周期Ｔｃｌｋ中では、スイッチング活動状態が、活動状態の最大値まで増大し、次いで低下する傾向がある。
【００８９】
次に、切り換わるであろうＮａ個のセルにスイッチング時間を割り当てる。この目的のために、まずスイッチング間隔［ｔｑ；ｔｑ＋１］を無作為に選択する。
【００９０】
次に、選択した間隔内で呼出し時間を規定する。この呼出し時間はｔｑ＋ｒａｎｄ（）×（ｔｑ＋１−ｔｑ）に等しい。ｒａｎｄ（）は、０と１の間の値を与える確率関数であると分かっている。
【００９１】
また、呼出し時間をセルに割り当てる。所与の間隔［ｔｑ；ｔｑ＋１］について、セルへのランダム呼出し時間の割当てはＮａ／ｎ回繰り返される。
【００９２】
呼出し時間がすでに割り当てられたセルに呼出し時間を割り当てることは不可能であると想定する。統計的な見地から、こうしてセルが置き換えなしに選択される。
【００９３】
前述のように、スイッチングプロファイルは、１つのクロック周期Ｔｃｌｋ内で数回繰り返されることがある。
【００９４】
もちろん、本発明による方法の異なるステップを電子回路によって、またはコンピュータで実行されるソフトウェアを用いて実施することができる。このソフトウェアは、ディスケット、ＣＤ、ＤＶＤ、ＵＳＢメモリ、または他の任意の等価な媒体に記憶される。本発明は、本発明による予備スイッチング活動状態モデル化ステップを含む回路製作方法、ならびに本発明を実施することを可能にするソフトウェアに及ぶ。
【図１】
2009543240.tif 000012
【図２】
2009543240.tif 000013
【図３】
2009543240.tif 000014
【図４】
2009543240.tif 000015
【国際調査報告】
2009543240.tif 000016
2009543240.tif 000017
2009543240.tif 000018
2009543240.tif 000019
2009543240.tif 000020
2009543240.tif 000021