(57)【特許請求の範囲】
【請求項１】
クロックスケジューラーと同期デジタルシステムとを有する装置であって、
前記同期デジタルシステムは、経路遅延が異なる複数の回路経路および当該回路経路の開始点となる複数のレジスタによって規定される１若しくは複数のパイプライン段を有する組み合わせ回路を有し、
前記同期デジタルシステムは、前記クロックスケジューラーによって生成されるクロック選択信号に応答してより最適なクロック周波数で動作するように構成されているものであり、
前記クロックスケジューラーは、選択された開始点レジスタのサブセットの入力により信号状態値の切り替えを検出するものであり、このサブセットは、次の動作クロック周期の間に交点ノードで伝播される経路の開始点レジスタを有するものであり、
前記クロックスケジューラーは、前記信号状態値の切り替えの検出に基づいて、その内部のハードウェア論理に次の動作クロック周期の間の前記組み合わせ回路における最悪経路遅延を決定させ、この決定に応答して、次の動作クロック周期において前記同期デジタルシステムをより最適なクロック周波数に設定するためのクロック選択信号を生成するものである、
装置。
【請求項２】
請求項１記載の装置において、信号状態値の切り替えは、信号状態の変化自体を指すものであり、ビット値０またはビット値１を指すものではない、装置。
【請求項３】
請求項２記載の装置において、前記組み合わせ回路は、一連の段階からなるデータパイプラインを有し、前記レジスタは、当該一連の段階における各段階の開始時点でのデータ開始点である、装置。
【請求項４】
請求項３記載の装置において、前記レジスタは、前記次の動作クロック周期に先行する動作クロック周期の間に生成された、前記データパイプラインにおける前段の出力値を記憶するものである、装置。
【請求項５】
請求項４記載の装置において、さらに、
前記クロックスケジューラーにより生成された前記クロック選択信号に応答して、前記より最適なクロック周波数を生成するクロックマネジャーを有するものである、装置。
【請求項６】
請求項１記載の装置において、
前記複数の回路経路の少なくとも１つは、少なくとも１つのマルチプレクサ回路を含み、各マルチプレクサ回路は、所定の段階を１若しくはそれ以上の下位階段に論理的に分離する少なくとも１つの交点ノードを規定し、
前記クロックスケジューラーは、どの回路経路がどのパイプライン段で能動的に伝播されるかを決定して所定の交点ノードにおける信号状態値を感知し、この感知された信号状態値を用いて前記クロック選択信号を生成するようにさらに構成されているものである、
装置。
【請求項７】
請求項１記載の装置において、前記最悪経路遅延は、スラックタイミング解析から導出されるものであり、ネガティブスラックを回避し、最小限のポジティブスラックを提供するように構成されているものである、装置。
【請求項８】
請求項１記載の装置において、前記クロックスケジューラーは、適切な電子設計自動化（ＥＤＡ）ツールを用いて作成されるクロック周波数スイッチングポリシーを実行するように設計されており、前記クロック周波数スイッチングポリシーは、経路伝播遅延を特定し、部分的にそれに基づいて、前記クロックスケジューラーに供給される選択された回路経路におけるレジスタのサブセットを特定するために、前記電子設計自動化（ＥＤＡ）ツールを用いて前記組み合わせ回路で実行される経路解析の結果である、装置。
【請求項９】
請求項８記載の装置において、前記電子設計自動化（ＥＤＡ）ツールは、プラグインおよびスタンドアロンソフトウェアソリューションのうちの少なくとも１つであり、このツールは、
前記同期デジタルシステムを規定する構成要素およびインスタンス、並びに種々の構成要素間の交点ノードのリストを含むネットリストを特定し、
前記クロックスケジューラーによるクロック選択信号の生成に関連付けられた機能を追加するために前記ネットリストを修正するように構成されているものである、
装置。
【請求項１０】
請求項８記載の装置において、前記電子設計自動化（ＥＤＡ）ツールはネットリストを生成するように構成されたスタンドアロンソフトウェアソリューションであり、前記ネットリストは、前記同期デジタルシステムを規定する構成要素およびインスタンス、並びに前記組み合わせ回路内の種々の構成要素間の交点ノードのリストを含むとともに、前記クロックスケジューラー内のハードウェア論理に関連付けられた構成要素を規定するものである、装置。
【請求項１１】
請求項１記載の装置において、前記次の動作クロック周期におけるクロック周波数の設定を変更する、任意の単一のパイプラインの動作に関し、当該単一のパイプラインの動作全体、および当該クロック周波数の変更の双方は、前記次の動作クロック周期に先行する動作クロック周期の間に起こるものである、装置。
【請求項１２】
回路設計者によるクロックスケジューラーと同期デジタルシステムとを有する装置の設計を支援するため、電子設計自動化（ＥＤＡ）ツールとして動作するように構成された非一時的なコンピュータプログラム製品であって、
前記同期デジタルシステムは、経路遅延が異なる複数の回路経路、当該回路経路の開始点となる複数のレジスタ、および交点ノードによって規定される１若しくは複数のパイプライン段を有する組み合わせ回路を有し、
前記同期デジタルシステムは、前記クロックスケジューラーによって生成されるクロック選択信号に応答してより最適なクロック周波数で動作するように構成されているものであり、
前記クロックスケジューラーは、選択された開始点レジスタのサブセットの入力により信号状態値の切り替えを検出するものであり、このサブセットは、次の動作クロック周期の間に交点ノードで伝播される経路の開始点レジスタを有するものであり、
前記クロックスケジューラーは、前記信号状態値の切り替えの検出に基づいて、その内部のハードウェア論理に次の動作クロック周期の間の前記組み合わせ回路における最悪経路遅延を決定させ、この決定に応答して、次の動作クロック周期において前記同期デジタルシステムをより最適なクロック周波数に設定するためのクロック選択信号を生成するものであり、
前記コンピュータプログラム製品は、前記電子設計自動化（ＥＤＡ）ツールに、
前記同期デジタルシステムを規定する構成要素およびインスタンス、並びに種々の構成要素間の交点ノードのリストを含むネットリストを特定する工程と、
前記クロックスケジューラーによるクロック選択信号の選択を容易にすることに関連付けられた機能を追加するために前記ネットリストを修正する工程と、
を実行させるための命令を有するものであり、
前記最悪経路の伝播特性は、スラックタイミング解析から導出されるものであり、ネガティブスラックを回避し、最小限のポジティブスラックを提供するように構成されているものである、
コンピュータプログラム製品。
【請求項１３】
回路設計者によるクロックスケジューラーと同期デジタルシステムとを有する装置の設計を支援するため、電子設計自動化（ＥＤＡ）ツールとして動作するように構成された非一時的なコンピュータプログラム製品であって、
前記同期デジタルシステムは、経路遅延が異なる複数の回路経路、当該回路経路の開始点となる複数のレジスタ、および交点ノードによって規定される１若しくは複数のパイプライン段を有する組み合わせ回路を有し、
前記同期デジタルシステムは、前記クロックスケジューラーによって生成されるクロック選択信号に応答してより最適なクロック周波数で動作するように構成されているものであり、
前記クロックスケジューラーは、選択された開始点レジスタのサブセットの入力により信号状態値の切り替えを検出するものであり、このサブセットは、次の動作クロック周期の間に交点ノードで伝播される経路の開始点レジスタを有するものであり、
前記クロックスケジューラーは、前記信号状態値の切り替えの検出に基づいて、その内部のハードウェア論理に次の動作クロック周期の間の前記組み合わせ回路における最悪経路遅延を決定させ、この決定に応答して、次の動作クロック周期において前記同期デジタルシステムをより最適なクロック周波数に設定するためのクロック選択信号を生成するものであり、
前記コンピュータプログラム製品は、前記電子設計自動化（ＥＤＡ）ツールに、
前記組み合わせ回路を規定する構成要素およびインスタンス、並びに前記組み合わせ回路内の種々の構成要素間の交点ノードのリストを含むとともに、前記クロックスケジューラーに関連付けられた構成要素を規定する、ネットリストを生成する工程を実行させるための命令を有するものであり、
前記最悪経路の伝播特性は、スラックタイミング解析から導出されるものであり、ネガティブスラックを回避し、最小限のポジティブスラックを提供するように構成されているものである、
コンピュータプログラム製品。
【請求項１４】
回路設計者によるクロックスケジューラーと同期デジタルシステムとを有する装置の設計を支援する電子設計自動化（ＥＤＡ）ツールを使用してコンピュータによって実行される方法であって、
前記同期デジタルシステムは、経路遅延が異なる複数の回路経路、当該回路経路の開始点となる複数のレジスタ、および交点ノードによって規定される１若しくは複数のパイプライン段を有する組み合わせ回路を有し、
前記同期デジタルシステムは、前記クロックスケジューラーによって生成されるクロック選択信号に応答してより最適なクロック周波数で動作するように構成されているものであり、
前記クロックスケジューラーは、選択された開始点レジスタのサブセットの入力により信号状態値の切り替えを検出するものであり、このサブセットは、次の動作クロック周期の間に交点ノードで伝播される経路の開始点レジスタを有するものであり、
前記クロックスケジューラーは、前記信号状態値の切り替えの検出に基づいて、その内部のハードウェア論理に次の動作クロック周期の間の前記組み合わせ回路における最悪経路遅延を決定させ、この決定に応答して、次の動作クロック周期において前記同期デジタルシステムをより最適なクロック周波数に設定するためのクロック選択信号を生成するものであり、前記方法は、
前記同期デジタルシステムを規定する構成要素およびインスタンス、並びに種々の構成要素間の交点ノードのリストを含む、先に生成されたネットリストを特定する工程と、
前記組み合わせ回路上で経路解析を実行して部分的に前記回路経路の経路伝播遅延および交点ノードを特定する工程と、
前記経路解析の結果に基づいて、クロック周波数スイッチングポリシーを規定する工程と、
前記経路解析に基づいて、前記クロックスケジューラーに対して入力を供給する選択された回路経路におけるレジスタのサブセットを特定する工程と、
前記クロックスケジューラーによるクロック選択信号の選択を容易にすることに関連付けられた機能を追加するために前記ネットリストを修正する工程と
を有する、方法。
【請求項１５】
回路設計者によるクロックスケジューラーと同期デジタルシステムとを有する装置の設計を支援する電子設計自動化（ＥＤＡ）ツールを使用してコンピュータによって実行される方法であって、
前記同期デジタルシステムは、経路遅延が異なる複数の回路経路、当該回路経路の開始点となる複数のレジスタ、および交点ノードによって規定される１若しくは複数のパイプライン段を有する組み合わせ回路を有し、
前記同期デジタルシステムは、前記クロックスケジューラーによって生成されるクロック選択信号に応答してより最適なクロック周波数で動作するように構成されているものであり、
前記クロックスケジューラーは、選択された開始点レジスタのサブセットの入力により信号状態値の切り替えを検出するものであり、このサブセットは、次の動作クロック周期の間に交点ノードで伝播される経路の開始点レジスタを有するものであり、
前記クロックスケジューラーは、前記信号状態値の切り替えの検出に基づいて、その内部のハードウェア論理に次の動作クロック周期の間の前記組み合わせ回路における最悪経路遅延を決定させ、この決定に応答して、次の動作クロック周期において前記同期デジタルシステムをより最適なクロック周波数に設定するためのクロック選択信号を生成するものであり、前記方法は、
前記組み合わせ回路上で経路解析を実行して部分的に前記回路経路の経路伝播遅延および交点ノードを特定する工程と、
前記経路解析に基づいて、前記クロックスケジューラーに対して入力を供給する選択された回路経路におけるレジスタのサブセットを特定する工程と、
前記組み合わせ回路を規定する構成要素およびインスタンス、並びに前記組み合わせ回路内の種々の構成要素間の交点ノードのリストを含むとともに、前記クロックスケジューラーに関連付けられた構成要素を規定する、ネットリストを生成する工程と
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１６年７月８日付けで出願された「ＤＹＮＡＭＩＣ  ＦＲＥＱＵＥＮＣＹ  ＢＯＯＳＴＩＮＧ  ＭＥＴＨＯＤ  ＥＸＰＬＯＴＴＩＮＧ  ＰＡＴＨ  ＤＥＬＡＹ  ＶＡＲＩＡＢＩＬＩＴＹ  ＩＮ  ＩＮＴＥＧＲＡＴＥＤ  ＣＩＲＣＵＩＴＳ（集積回路の経路遅延変動を利用する動的周波数増大方法）」と題する米国特許仮出願第６２／３５９，８１４号に対して優先権を主張する、２０１７年７月８日付けで出願された「ＤＹＮＡＭＩＣ  ＦＲＥＱＵＥＮＣＹ  ＢＯＯＳＴＩＮＧ  ＥＸＰＬＯＴＴＩＮＧ  ＰＡＴＨ  ＤＥＬＡＹ  ＶＡＲＩＡＢＩＬＩＴＹ  ＩＮ  ＩＮＴＥＧＲＡＴＥＤ  ＣＩＲＣＵＩＴＳ（集積回路の経路遅延変動を利用する動的周波数増大）」と題する、米国特許本出願第１５／６４４，７６０号の利益を主張するものであり、両出願は、本出願の譲受人によって共通に所有され、同譲受人に譲渡されているものである。
【０００２】
本開示は、集積回路においてクロック速度を最適化するための技術に関する。
【背景技術】
【０００３】
電子設計自動化（ＥＤＡ）は電子コンピュータ支援設計（ＥＣＡＤ）とも呼ばれるが、集積回路やプリント回路基板などの電子システムを設計するためのソフトウェアツールの範疇に属する。斯かるツールは、半導体チップ全体を設計および解析するのにチップ設計者が使用する設計フロー内で共に用いられる。今日の半導体チップは何十億もの構成要素を有しているので、斯かる設計にはＥＤＡツールは不可欠である。
【０００４】
ＥＤＡツールの言語およびツールは何年にも亘って大幅に進化してはきたが、テキスト形式プログラミング言語の望ましい行動を特定する一般的アプローチおよび詳細な物理的設計をツールに行わせる一般的アプローチは、今日でもデジタルＩＣ設計の基礎となっている。
【０００５】
目標は、物理的設計が適切に機能すること、すなわち全ての機能が意図されたように動作することではあるが、必ずしもそのようにならない場合もある。設計者達は電子回路シミュレーションツールを用いるが、斯かるツールは、本質的には、実際の電子装置または回路の行動を複製するのに用いられる数学モデルである。この点に関して、シミュレーションツールは回路動作のモデル化を可能とするものであり、非常に貴重なツールである。回路を実際に構築する前にその行動をシミュレーションすれば、既知の誤設計を行うことにより設計効率を大幅に改善でき、電子回路設計の面でも深い理解が提供される。特に、集積回路においては、ツーリング（フォトマスク）は高価であり、実験用基板は非実際的であり、内部信号の行動のプロービングは極めて困難である。従って、ほとんど全てのＩＣ設計がシミュレーションに大いに依存している。
【０００６】
静的タイミング解析（ＳＴＡ）は、全回路のシミュレーションを必要とすることなく、デジタル回路の予期されたタイミングを計算するシミュレーション方法である。
【０００７】
高性能集積回路は、通常、操作されるクロック周波数によって特徴付けられる。特定の速度で動作する回路の機能を測定するには、設計工程中に、関連経路（臨界経路）に沿った経路遅延の測定能力が要求される。更に、遅延計算は、種々の設計段階において、例えば、論理合成、レイアウト（配置およびルーティング）、設計サイクルの後期に実施されるインプレース最適化などにおいて、タイミングオプティマイザの内部ループに組み込まれなければならない。静的タイミング解析は、回路タイミングの迅速で妥当かつ正確な測定を簡便化するのに重要な役割を演じる。
【０００８】
通常の同期デジタルシステムの適切な回路操作においては、データはロックステップで移動（すなわちクロック信号の各周期で１段階前進）することが想定されている。これは、クロック指示に従って入力を出力にコピーするフリップフロップやラッチなどの同期化要素によって実行される。斯かるシステムにおいては、二種類のタイミングエラーのみが可能である。斯かるエラーの１つは、信号の到着が遅過ぎて、前進すべき時間に間に合わないセットアップ時間違反である。もう一つのエラーは、クロックのアクティブトランジション後余りにも早く入力信号が変化するホールドタイム違反である。
【０００９】
信号が到着する時間は多くの理由（入力データの変動、回路による異なる動作の実行、温度および電圧の変動、各部品の正確な構築面での製造の違い）により変動し得る。静的タイミング解析の主要目標は、斯かる潜在的な変動要因にも拘わらず、全ての信号が遅過ぎることなく早過ぎることなく到着し、適切な回路操作が確実に行われることを保証することである。
【００１０】
静的タイミング解析は、各経路を検証できるので、グリッチ、低速経路、クロックスキューなどの他の問題も検出可能である。
【００１１】
「臨界」経路は、最大遅延を有する入力と出力との間の経路として定義される。回路タイミングが種々の伝播遅延を有する一組の経路に関して決定されると、臨界経路はトレースバック方法を用いて容易に見出し得る。
【００１２】
信号の到着時間は、特定の時点において信号が到着するのに経過する時間である。クロック信号の到着時間として、基準または時間０．０が頻繁に使用される。到着時間を計算するには、経路の全構成要素の遅延計算が必要である。到着時間、並びにタイミング解析におけるほとんど全ての時間は、通常、一対の値すなわち信号が変化し得る最も早い時間および最も遅い時間として保存される。
【００１３】
別の有用な概念は動作必要時間である。これは、クロック周期を希望の周期よりも長くすることなく、信号が到着し得る最も遅い時間である。動作必要時間の計算は以下のように行われる。各主要出力において、上昇／下降のための動作必要時間が、回路に提供される明細書に従って設定される。次に、全ファンアウトの動作必要時間が既知の場合、逆方向の位相幾何学的横断が行われ、各ゲートが処理される。
【００１４】
各接続に関連付けられたスラックは、動作必要時間と到着時間との間の差である。あるノードにおけるポジティブスラックｓは、回路の全体的な遅延に影響を及ぼすことなく、そのノードにおける到着時間をｓだけ増加してもよいことを意味する。反対に、ネガティブスラックは経路が遅過ぎることを意味しており、回路全体が望ましい速度で機能するには、経路の速度を上げなければならない（あるいは基準信号を遅延させなければならない）ことを意味している。
【００１５】
静的タイミング解析において、静的と言う用語は、斯かるタイミング解析は入力非依存的に実行されると言う事実を暗に示しており、あらゆる潜在的な入力組み合わせの中から最悪遅延を見出すことを意味している。ＩＣ動作中、電気信号は、ＩＣが支持する機能に従ってチップ設計者が設定した種々の経路を通ってＩＣを横断する。
【００１６】
最悪遅延は、ＩＣ（あるいは、ある例では、チップの特定のセクション）が機能し得る最速のクロック速度を決定する。全伝播電気信号が１つのクロック周期で首尾一貫して確実に出力場所に到達するには、使用される最大クロック周波数は、臨界経路遅延を超えない時間枠に対応する周波数である。
【００１７】
近代のＩＣ集積の規模は増々拡大しており、チップ内の信号を伝搬および処理するのに使用される経路数は驚異的なまでに増大している。ＥＤＡツールは、経路遅延をある程度均等化するのを助ける既知の技術を利用してはいるが、設計は通常複雑であり、いくつかの経路は、他の経路よりも潜在的に伝播遅延が大幅に小さいか、あるいは大きい。従って、最適経路の均等化は、チップ面積の制約、性能（例えば、チップ機能に影響を及ぼすことなく可能な限り最大のクロック周波数を選択すること）、電力および／またはエネルギー消費（エネルギー保存が主要目的であれば、目標はクロック速度を減少させる場合もある）を含む設計トレードオフ以外の何物でもない。
【００１８】
チップ面積の制約に関して言えば、例えば、ゲートおよび他の論理を追加して機能を並列に処理することによるパイプライン経路のグループ化が知られている。通常パイプラインは追加のレジスタや他の論理回路の故にチップ面積を増大させるものではあるが、特定のパイプラインは、より大きいクロック周波数で全クロック周期段階が機能するのを可能にするので、設計の観点から言えば、それはチップサイズの増大を相殺する以上のものを含むものであるかもしれない。
【００１９】
従来の集積回路および類似の同期デジタルシステムは、経路遅延間のスラックを用いて更に効率的な実施をもたらすため、ヒューリスティックな設計アルゴリズムを利用する場合がある。ＩＣ設計の規模の増大に伴い、経路遅延を均等化するための設計が複雑なものとなっており、その結果、経路遅延間の偏差が現実のものとなっている。
【００２０】
非同期回路（または自己タイミング型回路）は、クロック回路信号またはグローバルクロック信号によっては支配されない順序デジタル論理回路であると言う意味で、同期回路とは異なっている。その代わり、非同期回路は、簡単なデータ転送プロトコールによって特定される、指示および動作の完了を示す信号を使用する。
【００２１】
同期設計は、共通のクロック信号、離散的な（同期的な）時間動作、および利用可能な自動化ツールで支援される設計を用いる、低複雑度の設計を提供する。一方、非同期設計は、経路遅延変動の大きい大型集積回路の性能利点を提供する。同期設計の欠点は、クロック周波数が必ず臨界経路遅延に依存すると言う事実である。非同期設計の場合、その欠点には、高複雑の設計、非離散的な（非同期的な）時間動作、および設計を支援する自動化ツールの欠如である。
【００２２】
更に最適化された方式で同期デジタルシステムを動作し、臨界経路遅延の制限が課す課題を解決するための必要性が求められている。
この出願の発明に関連する先行技術文献情報としては、以下のものがある（国際出願日以降国際段階で引用された文献及び他国に国内移行した際に引用された文献を含む）。
（先行技術文献）
（特許文献）
（特許文献１）  米国特許第８，４１３，０８６号明細書
（非特許文献）
（非特許文献１）  Ｇｈｏｓｈ  Ｓ．ＥＴ  ＡＬ：  "ＣＲｌＳＴＡ：  Ａ  Ｎｅｗ  Ｐａｒａｄｉｇｎ  ｆｏｒ  Ｌｏｗ−Ｐｏｗｅｒ，Ｖａｒｉａｔｉｏｎ−Ｔｏｌｅｒａｎｔ，  ａｎｄ  Ａｄａｐｔｉｖｅ  Ｃｉｒｃｕｉｔ  Ｓｙｎｔｈｅｓｉｓ  ｕｓｉｎｇ  Ｃｒｉｔｉｃａｌ  Ｐａｔｈ  Ｉｓｏｌａｔｉｏｎ"，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，ＩＥＥＥ  Ｓｅｒｖｉｃｅ  Ｃｅｎｔｅｒ，Ｐｉｓｃａｔｔａｗａｙ，ＮＪ，ＵＳ，ｖｏｌ．２６，ｎｏ．１１，１  Ｎｏｖｅｍｂｅｒ  ２００７（２００７−１１−０１），ｐｐ．１９４７−１９５６．
（非特許文献２）  Ｊｅｒｅｍｙ  Ｃｏｎｓｔａｎｔｉｎ  ＥＴ  ＡＬ："Ｅｘｐｌｏｉｔｉｎｇ  Ｄｙｎａｍｉｃ  Ｔｉｍｉｎｇ  Ｍａｒｇｉｎｓ  ｉｎ  Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒｓ  ｆｏｒ  Ｆｒｅｑｕｅｎｃｙ−Ｏｖｅｒ−Ｓｃａｌｉｎｇ  ｗｉｔｈ  ｌｎｓｔｒｕｃｔｉｏｎ−Ｂａｓｅｄ  Ｃｌｏｃｋ  Ａｄｊｕｓｔｍｅｎｔ"，２０１５０３０９−２０１５０３１３，９  Ｍａｒｃｈ  ２０１５（２０１５−０３０９），ｐｐ  ３８１−３８６．ＩＳＢＮ：  ９７８−３−９８１５３７０−４−８．
（非特許文献３）  Ｃｈｉｐｐａ  Ｖｉｎａｙ  ＥＴ  ＡＬ："Ａｐｐｒｏｘｉｍａｔｅ  Ｃｏｍｐｕｔｉｎｇ：  Ａｎ  Ｉｎｔｅｇｒａｔｅｄ  Ｈａｒｄｗａｒｅ  Ａｐｐｒｏａｃｈ"，２０１３  ＡＳＩＬＯＭＡＲ  ＣＯＮＦＥＲＥＮＣＥ  ＯＮ  ＳＩＧＮＡＬＳ，ＳＹＳＴＥＭＳ  ＡＮＤ  ＣＯＭＰＵＴＥＲＳ，ＩＥＥＥ，３  Ｎｏｖｅｍｂｅｒ  ２０１３（２０１３−１１−０３），ｐｐ  １１１−１１７．
（非特許文献４）  Ａｌｅｘａｎｄｒｕ  Ｇｈｅｏｌｂａｎｏｉｕ  ＥＴ  ＡＬ：  "Ｈｙｂｒｉｄ  Ａｄａｐｔｉｖｅ  Ｃｌｏｃｋ  Ｍａｎａｇｅｍｅｎｔ  ｆｏｒ  ＦＰＧＡ  Ａｃｃｅｌｅｒａｔｉｏｎ"，２０１５０３０９−２０１５０３１３，９  Ｍａｒｃｈ  ２０１５  （２０１５−０３−０９），ｐｐ  １３５９−１３６４．ＩＳＢＮ：  ９７８−３−９８１５３７０−４−８．
（非特許文献５）  ＰＣＴ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｅａｒｃｈ  Ｒｅｐｏｒｔ  ａｎｄ  Ｗｒｉｔｔｅｎ  Ｏｐｉｎｉｏｎ  ｏｆ  ｔｈｅ  ｌｎｔｅｍａｔｉｏｎａｌ  Ｓｅａｒｃｈｉｎｇ  Ａｕｔｈｏｒｉｔｙ  ｉｎ  ｃｏｎｎｅｃｔｉｏｎ  ｗｉｔｈ  ＰＣＴ  ｃｏｕｎｔｅｒｐａｒｔ  ＰＣＴ／ＧＲ／２０１７／００００３８，ｗｈｉｃｈ  ｃｌａｉｍｓ  ｔｈｅ  ｂｅｎｅｆｉｔ  ｏｆ  ｐｒｉｏｒｉｔｙ  ｏｆ  ａｂｏｖｅ  ｉｄｅｎｔｉｆｉｅｄ  ａｐｐｌｉｃａｔｉｏｎ．Ｄａｔｅ  ｏｆ  ｍａｉｌｉｎｇ：  １７  Ｏｃｔ．２０１７．
【発明の概要】
【課題を解決するための手段】
【００２３】
本開示は、動的周波数増大を利用する、集積回路（ＩＣ）などの同期デジタルシステムの設計および製造に関する。提案されている技術は、臨界経路の時間的制約にも拘らず、しかも正確な機能を侵害することなく、クロック周波数の動作を増大させることにより、従来の同期クロック設計の限界を乗り越えるものである。
【００２４】
例示的実施形態によれば、ＩＣは、各状態イベント中に、より最適なクロック周波数を選択することにより、クロック周期ベースでクロック周波数を設定するように構成されており、従って、同期デジタルシステムの恩恵および設計アプローチを維持しつつ、処理能力の面でシステム性能を改善するものである。
【００２５】
提案されている技術は、集積回路の動作中、臨界経路は、クロック周期期間にとって一定の厳密な制約なのではないと言う事実を利用している。それは、回路の経路を横断する電気信号は、各クロック周期でその状態を切り替えるものではないからである。安定な経路信号は、適用されたクロック周波数とは独立に一定の値を有しており、信号値切り替えだけが伝播される経路遅延に等しい時間を必要とする。従って、臨界経路を横断する信号が一連のクロック周期に関して安定であれば、ＩＣは、出力場所における臨界経路信号の安定性について心配することなく、臨界経路よりも高い周波数で動作できる。従って、集積回路は、状態を変化させる経路信号の伝播遅延に基づいて、クロック周期期間を調整可能である。
【００２６】
特に、ＩＣは、臨界経路制約に関して、潜在的な機能エラーを導入したり発生させたりすることなく、クロック周期ベースで、動作周波数を調整可能である。代替実施形態においては、いくつかの小さな機能エラーを斟酌し、それを許容したり全体的な性能に影響を与えないようにしたりすることにより、ある程度の柔軟性が追加の性能向上のために導入される。
【００２７】
提案されているアプローチは、ＩＣの次のクロック周期動作用にクロック周波数を設定する直前に、交点ノードと定義される特定のノードに関して回路経路入力並びに電気信号変化条件についての事前の知識を利用することにより、クロック周波数増大を達成する。
【００２８】
１つのアプローチにおいては、標的ＩＣにおいて、全ての回路経路入力、並びに全ての交点ノードの変化条件を特定する必要はない。階層的に臨界経路から始まって短い経路に至る経路遅延の降順調査を行えば、重要な伝播遅延の全てが確実に考慮できる。この点に関し、回路経路を更に広範に調査することにより、ある場合には、更に積極的な周波数増大の機会が提供されるかもしれない。
【００２９】
各調査された経路に関して、本技術は、経路遅延の降順調査に含まれる他の経路と共に交点ノードも調査する。交点ノードは、２つ以上の経路が通過するＩＣ内の点として特定される。斯かるノードにおいて、マルチプレクサはどの経路が通過しどの経路が通過しないかを規定する。従って、交点ノードを通過する経路の組み合わせ論理も、マルチプレクサ機能として定式化されてもよい。マルチプレクサの制御信号は、どの経路が通過しどの経路が通過しないかを規定する。斯かる制御信号は、他の交点ノードにおける他の経路の一部であってもよく、他の経路信号によって制御されていてもよい。制御信号の回帰的調査は、調査経路の主要制御として機能する最初の親信号に帰結する。各親信号は、対応する伝播遅延を有する複数の経路を制御し得る。親信号に相互関連する最大の伝播遅延が、この親信号がトリガ可能な最大動作周波数を規定する。
【００３０】
周波数増大は、経路信号がその状態をどのように切り替えるかに基づいて決定される。スケジューラーは斯かる変化の跡を辿り、クロック周期ベースでそれぞれのクロック周波数を自動的にトリガする。特定の親制御信号の影響下にある最長の経路が、達成可能な最大クロック周波数を決定できる。この目的は、単一のクロック周期期間において、時宜を得た伝播、並びに出力場所における全経路信号のローディングを確実なものにすることである。
【００３１】
好ましいアプローチにおいて、クロックスケジューラーを用いてクロック周波数を適合させる。組み合わせ回路のソースレジスタの前に、追加の入力レジスタを追加し、現在の最後の周期におけるスケジューラーへの供給を追跡したりそれを処理したりする更なる時間（追加の周期）をスケジューラーに与えてもよい。１つの周期だけでは、スケジューラーのハードウェア論理が処理を完了するのには不十分である。
【００３２】
提案されているＩＣ設計へのアプローチは、既存のＥＤＡツールに容易に統合することにより、特に大型ＩＣにおける本発明の設計複雑度を簡略化してもよい。代替商業化アプローチにおいては、提案されているアプローチは、主要商業ＥＤＡツールによって作成されるネットリスト定義を更新できるように構成された、個別のＥＤＡ支援ツールオファリング（またはプラグイン）である。
【図面の簡単な説明】
【００３３】
本発明は、添付の図面を参照することにより、更によく理解され、種々の特徴および利点が明白となるであろう。理解と簡略化のため、図面内の要素の符号には、それらが異なる図面であっても同一の場合には共通のものが用いられる。
【図１】図１は、従来の例示的同期デジタルシステムの高レベル概略図である。
【図２】図２は、図１の例示的同期デジタルシステムの代替高レベル概略図であり、経路１のラッチング、クロッキング、および伝播遅延が強調されているものであり、経路１は２つのレジスタ間に配置された組み合わせ論理回路として簡略に示してあり、最小クロック周期長に対応する伝播経路遅延によって規定されている。
【図３】図３は、図１および２の組み合わせ論理回路の異なるクロッキング条件を示しており、臨界経路の面で違反があった場合、望ましくない不安定出力が生じることを示している。
【図４】図４は、クロック周期ベースでクロック周波数の増大を支援するため、本明細書に提案されているクロックスケジューラーおよびクロックマネジャーを利用する、例示的実施形態の高レベル概略図である。
【図５】図５は、図４のマルチプレクサの１つのＩ／Ｏおよび制御信号を示す詳細図である。
【図６】図６は、従来の４ｘ２マルチプレクサの真理表状態図である。
【図７Ａ】図７Ａは、同図に示されるブール演算式の真理表状態図である。
【図７Ｂ】図７Ｂは、例示的実施形態により、マルチプレクサとして使用され相互接続ノードとして構成されている、例示的な構成要素レベルの組み合わせ論理表示である。
【図８】図８は、図４の臨界経路と短い経路（それらの経路は共通の出力レジスタで終わっている）との間のクロック特異性および安定性の関係を示すタイミング図である。
【図９】図９は、更なる例示的実施形態による高レベル概略図であり、クロックスケジューラーおよびクロックマネジャーが用いてあるが、組み合わせ論理に配置された複数の相互接続ノードも使用されており、該相互接続ノードは、交差経路が１つ以上の相互接続ノードへ電気信号を横断させるのを可能にしており、以後のクロック周期においてどの臨界経路が不変であり、従って増大クロック周波数で組み合わせ論理回路全体をクロッキング可能であるかを特定するのにクロックスケジューラーが使用可能な情報を提供するように機能するものである。
【図１０】図１０は、少なくとも１つの相互接続ノードを利用し、組み合わせ論理回路の選択位置で変化状態条件を提供するように接続された組み合わせ論理回路の高レベル概略図であるが、クロックスケジューラーは、同時に、多段パイプラインのように並列に動作する他の組み合わせ論理回路から変化状態条件を受け取るように構成されており、その場合、各パイプラインの段は個別の組み合わせ論理回路であり、斯かる段の全てが同じクロック信号によってクロッキングされるようになっており、従って、クロックスケジューラーは、状態変化条件をクロックスケジューラーへ供給する全段を考慮に入れ、最悪遅延を適合させるようにクロック周波数を設定する必要がある。
【図１１Ａ】図１１Ａは、従来の発信器クロック信号およびクロックスケジューラーからのクロック選択信号によって駆動され、条件が満たされた場合には、それに応答して、ＩＣを増大クロック周波数に設定するように構成された、例示的実施形態によるクロックマネジャーの概略図である。
【図１１Ｂ】図１１Ｂは、図１１Ａに示されるクロックマネジャーのスイッチング状態に関連付けられたタイミング図である。
【発明を実施するための形態】
【００３４】
本発明の実施形態の詳細な説明が以下に記載される。各記載は前述の図面に言及するものであり、本発明の説明を例示的に提供するものである。本記載の範囲は、提案されている技術の適用について明確な方向性を教示および提供したり、潜在的な設計問題に対処したりすることである。当業界を前進させる本発明の教示に基づくあらゆる修正、適合、または変更が、本発明の精神および範囲に含まれる。本発明は図示された実施形態に限定されるものでないことは理解されており、従って、斯かる記載および図面は限定的な意味で考慮されるべきではない。
【００３５】
本明細書において、「例示的」と言う用語は、「例、例え、または図示として機能する」と言う意味で使用される。本明細書に「例示」として記載されている任意の実施形態は、他の実施形態よりも好ましい、あるいは有利であると必ずしも解釈されるべきではない。本明細書使用の用語は特定の実施形態のみを記載する目的で使用されており、限定的な意図はないことが理解されるべきである。定義されている用語は、本教示の技術分野で一般的に理解され受け入れられている定義された用語の技術的および科学的意味に追加されるものである。
【００３６】
本明細書および添付の請求項に使用されている不定冠詞（「ａ」、「ａｎ」）および定冠詞（「ｔｈｅ」）は、文脈によって明白に別の意味が付されない限り、単数および複数の両方の意味を含むものである。従って、例えば、「システム」または「装置」は、１つのシステムまたは装置並びに複数のシステムまたは装置を含む。
【００３７】
図１は、従来の例示的同期デジタルシステムの高レベル概略図である。
【００３８】
図２は、図１の例示的同期デジタルシステムの代替高レベル概略図であり、経路１のラッチング、クロッキング、および伝播遅延が強調されているものであり、経路１は２つのレジスタ間に配置された組み合わせ論理回路として簡略に示してあり、最小クロック周期長に対応する伝播経路遅延によって規定されている。
【００３９】
図３は、図１および２の組み合わせ論理回路の異なるクロッキング条件を示しており、臨界経路の面で違反があった場合、望ましくない不安定出力が生じることを示している。
【００４０】
図１を参照すると、組み合わせ回路は、一般的にレジスタ１００、１６０と呼ばれる記憶構造で開始され、終了する。レジスタ間のデータは、組み合わせ回路１７０を通して、長さの異なるいくつかの経路１５０、１４０、１３１に従って、電気振動として伝播される。各経路は、ソースレジスタ１００と出力レジスタ１６０との間を接続する経路として特定される。経路の横断は信号伝播に時間遅延を挿入する。経路長の変動は、信号が出力場所へ到着するにあたり、異なる伝播遅延を反映している。出力レジスタ１６０は、組み合わせ回路１７０のデータ結果を保存する。組み合わせ経路において、伝播信号１７０の全てが、安定状態で到着しなければならず、１つのクロック周期１７１で出力レジスタにローディングされなければならない。全信号が時間内に確実に到着するように設計された従来のクロック同期設計は、一定のクロック周期期間を、臨界経路１４０として知られる最長経路遅延に等しいものとして、あるいはそれよりも長いものとして規定する。本発明は、出力レジスタにおけるデータ安定性に影響を及ぼすことなく、臨界経路制約を超える可能性のある条件を利用し、より柔軟性のある規定をクロックサイクル期間に提供するものである。斯かる条件は以下に詳細に説明される。
【００４１】
第一条件は、経路信号の状態が安定であれば、出力レジスタにおけるデータは、クロック周期期間が伝播遅延よりも短くても安定のままであるという推定で概略される。経路１が２つの連続したクロック周期において同じ信号状態（「１」または「０」）を維持する場合、第二クロック周期において経路１の伝播遅延よりも短い期間中、出力レジスタ１６０の結果は影響を受けない（図２を参照）。経路信号状態は出力レジスタにおいて既に前のクロック周期からローディング済みなので、短いクロック周期は、第二クロック周期においてその状態に影響を及ぼさないからである。しかし、信号状態が変化したならば、第二クロック周期は十分長くなり、新しい信号状態が出力レジスタで伝播し、新しい状態がローディングされるようになる。従って、状態を切り替える経路信号だけがクロック周期期間の制約を導入する。同じ出力レジスタに２つ以上の経路が到着する場合、各個々の経路に関して同じ規則が適用される。
【００４２】
再び図２を参照すると、臨界経路に関する出力レジスタ１２１の出力が、２つの異なるクロック周波数について調査される。クロック１（３００）は臨界経路遅延に等しい期間を有する周波数を示しており、クロック２周波数（３１０）は、臨界経路を除く残りの経路の遅延に従う。クロック１が動作すると（３１１）、臨界経路信号における変化は、出力レジスタ出力１２１において絶えずローディングされる。クロック２が適用され（３１２）、臨界経路１４０が安定な場合、出力１２１は安定なまま（３１４）である。
【００４３】
臨界経路１４０に変化が生じると、出力は不安定となり（３１５）、安定（３１６）において、再び安定な臨界経路信号に戻る。すなわち、集積回路の動作中、臨界経路よりも短いクロック周期期間は安定な経路信号の出力レジスタ１６０に影響を及ぼさない。クロック周波数に関する決定は、制約としては、安定経路信号の伝播遅延を無視可能である。最後の部分は、本発明が利用する第一の結論を示している。
【００４４】
いくつかの経路が集積回路の同一点を横断できるが、各クロック周期において１つの経路信号だけが通過可能であるというのが、第二の結論である。
【００４５】
図４は、クロック周期ベースでクロック周波数の増大を支援するため、本明細書に提案されているクロックスケジューラーおよびクロックマネジャーを利用する、例示的実施形態の高レベル概略図である。
【００４６】
図４を参照すると、経路１４０および１５０が同一点３５０を横断する。斯かる点は交点ノードとして特定される。交点ノードにおいて、どの経路は通過しどの経路は通過しないかをマルチプレクサ２００が規定する。
【００４７】
図５は、図４のマルチプレクサ２００のＩ／Ｏおよび制御信号を示す詳細図である。図４および５から分かるように、マルチプレクサ２００はエントリ信号２６０、２５０、２４０、２３０、および制御信号２２０、２１０で構成される。エントリ信号は潜在的なマルチプレクサ出力を示しており、制御信号はどのエントリ信号が通過するかを選択する。
【００４８】
マルチプレクサが物理的実体として存在しない場合、マルチプレクサの等価物が規定されてもよい。各ブール論理はマルチプレクサとして実現してもよい。
【００４９】
図６は、従来の４ｘ２マルチプレクサの真理表状態図である。
【００５０】
図６を参照すると、明瞭なマルチプレクサ機能の真理表が示されており、Ａ（２６０）、Ｂ（２５０）、Ｃ（２４０）、Ｄ（２３０）はエントリ信号を示しており、Ｓ０（２２０）、Ｓ１（２１０）は制御信号を示しており、Ｄ（２７０）は出力を示している。  
図７Ａは、同図に示されるブール演算式の真理表状態図である。図７Ｂは、例示的実施形態により、マルチプレクサとして使用され相互接続ノードとして構成されている、例示的な構成要素レベルの組み合わせ論理表示である。
【００５１】
図７Ａおよび７Ｂを参照すると、どの経路を信号が通過するか、それとも通過しないかを規定するのは制御信号である。交点モードを通過するエントリ経路信号はアクティブであり、それを通過しないエントリ信号はインアクティブであると考えられる。インアクティブ経路は、その伝播が交点ノード３５０でブロックされるので、集積回路の動作には影響を及ぼすことができず、従って、対応する経路遅延は無視できる。
【００５２】
図８は、図４の臨界経路と短い経路（それらの経路は共通の出力レジスタで終わっている）との間のクロック特異性および安定性の関係を示すタイミング図である。
【００５３】
更に詳しく述べると、図８は、クロック周波数ポリシーが、同じ交点ノード３５０を横断し同一の出力レジスタ１２１を有する臨界経路１４０と短い経路１５０との間の動作スイッチを、信号安定化問題を回避しながらどのように利用するかを示している。クロック１の周波数は臨界経路１４０に従い、クロック２は第二経路１５０の遅延だけに従う。制御信号Ｓ１およびＳ２は、どの経路が交点３５０を通過するかを規定する。Ｓ１＝０、Ｓ２＝０の場合、臨界経路１４０はアクティブであり、Ｓ１＝０、Ｓ２＝１の場合、経路１５０がアクティブである。臨界経路がアクティブの間、出力１２１において影響を及ぼすことなく、クロック１からクロック２への第一のスイッチがトリガされるが、それは、クロック２が適用される周期中、臨界経路が状態「１」で安定状態のままだからである。経路１５０が動作すると、臨界経路における変化は交点ノード３５０を通過しないので無視され、レジスタ１２１の出力に絶えず転送される経路１５０の状態だけが伝播される。第二の基本的な結論は、クロック周期期間はインアクティブな経路の伝播遅延を無視できるというものである。
【００５４】
第三の調査条件は、交点ノードにおけるマルチプレクサの制御信号は、他の交点ノードマルチプレクサによっても制御可能な他の経路の一部であり得るかどうかである。  
図９は、更なる例示的実施形態による高レベル概略図であり、クロックスケジューラーおよびクロックマネジャーが用いてあるが、組み合わせ論理に配置された複数の相互接続ノードも使用されており、該相互接続ノードは、交差経路が１つ以上の相互接続ノードへ電気信号を横断させるのを可能にしており、以後のクロック周期においてどの臨界経路が不変であり、従って増大クロック周波数で組み合わせ論理回路全体をクロッキング可能であるかを特定するのにクロックスケジューラーが使用可能な情報を提供するように機能するものである。
【００５５】
更に詳しく述べると、図９は交点ノード３５１での経路の通過を調整するように動作するマルチプレクサ制御信号３０１を示している。交点ノード３５２は制御信号３０１を調整し、交点ノード３５３は交点ノード３５２の制御信号３０２を調整する。すなわち、交点３５１における経路選択は交点ノード３５２、３５３における制御経路信号と相互関連している。制御信号間の依存性の回帰的評価は、各経路の主要制御として機能する初期親信号に帰結する。
【００５６】
親信号は、組み合わせ回路経路１７０へ供給されるソースレジスタの入力信号として開始される。いくつかの経路が、同一の初期親信号を共有できる。従って、親信号は２つ以上の経路と相互関連し得る。親信号の変化は、関係している経路のいずれかに影響を及ぼし得る。親信号の変化が交点ノードでどのように伝播するかを研究および追跡することにより、異なる入力刺激に対してどの組み合わせの経路がアクティブであるかを知ることが可能である。各経路は、斯かる経路がアクティブな場合とアクティブでない場合とを規定する親／制御信号を有すると言うのが、第三の結論である。
【００５７】
本技術の柱である結論を概略すると、安定でインアクティブな経路は、集積回路動作中クロック周期期間の規定に影響を及ぼさず、（ソースレジスタ内の）親／制御信号は経路のアクティブ化または非アクティブ化をトリガし、他の経路を有する交点ノードにおいてその通過を規定する。
【００５８】
例示的実施形態によれば、提案されている動的周波数増大技術は、実行時において、クロック周期ベースで、どの経路がアクティブであり、その状態を変化させるのかを特定する。
【００５９】
図１０は、少なくとも１つの相互接続ノードを利用し、組み合わせ論理回路の選択位置で変化状態条件を提供するように接続された組み合わせ論理回路の高レベル概略図であるが、クロックスケジューラーは、同時に、多段パイプラインのように並列に動作する他の組み合わせ論理回路から変化状態条件を受け取るように構成されており、その場合、各パイプラインの段は個別の組み合わせ論理回路であり、斯かる段の全てが同じクロック信号によってクロッキングされるようになっており、従って、クロックスケジューラーは、状態変化条件をクロックスケジューラーへ供給する全段を考慮に入れ、最悪遅延を適合させるようにクロック周波数を設定する必要がある。
【００６０】
更に詳しく述べると、スケジューラー１３０は、対応する組み合わせ回路１７０の経路に電気信号を供給する前に、ソースレジスタ（親信号）７１０（パイプラインの段階１）、７１０' （パイプラインの段階２）、７１０"（（パイプラインの段階３）の信号状態を追跡するための適用クロック周波数ポリシーを規定する。更に明確に述べると、段階３の組み合わせ回路だけがブロック形式で示してある。段階１および段階２の対応する組み合わせ回路（通常互いに異なっており、異なる入力、経路、および交点ノードを有している）は示されていない。
【００６１】
スケジューラー１３０は、ＥＤＡツールが提供する経路ルーティング解析を利用することにより、例えば静的タイミング解析を用いて、利用可能なソースレジスタ入力の中で適切に接続されたサブセットについて賢明に選択された状態変化を考慮するように、実行可能である。
【００６２】
クロックスケジューラーは、関連ソースレジスタの状態変化を入力として受け取り、それに基づいて、次のクロック周期に適したクロック選択信号を生成するように構成される。クロックスケジューラーの決定は、実行時に、好ましくは１つのクロック周期で、並びに（各組合せ回路前に必要なエキストラ周期に等しいエキストラレジスタを追加するように準備しない限り）現在のクロック周期よりも短くないクロック期間内で行われなければならないからである。設計プロセスは、利用可能なソースレジスタのサブセットのうちいずれがクロックスケジューラーにタップするかだけでなく、スケジューラーの実行経費および複雑性に影響を及ぼすタップの数も適切に特定することが重要である。
【００６３】
斯かる目的に関し、クロックスケジューラーの主な役割は、現在のクロック周期で生成される特定のソースレジスタにおける状態値および／または状態値変化を特定することであり、斯かる状態値および／または状態値変化は、設計段階で事前に適切に分析および解釈されるならば、クロックスケジューラーが制御信号（クロック選択信号）を自動的かつ動的に生成するのを可能にするものであり、その場合、斯かる制御信号は、直後の（新しい）クロック周期において利用される最適な（最速の）クロック期間に、斯かる新しいクロック周期中にタイミング違反を導入する心配なしに、ＩＣを設定するものである。
【００６４】
タップに関して言えば、タップは通常１段階のソースレジスタノードの特定の入力信号（７１０）をクロックスケジューラー上の関連入力に接続するワイヤボンド接続部である。設計段階における経路ルーティング解析は、タップされソース入力としてクロックスケジューラーに供給されるソースレジスタを適切に規定しなければならない。経路解析は、斯かるタップ、並びに特定のＩＣに最適周波数増大の結果をもたらす斯かる最適なタップ数を選択しなければならない。例えば、経路解析は、状態値変化が臨界経路基準に直接関係する（経路に接続された）ソースレジスタ（交点ノードを横断するか否かに関係なく）を特定しようとするであろう。更に、経路解析は、臨界経路に関係する交点ノードへの制御信号として機能するソースレジスタも特定しようとするであろう。
【００６５】
特定の組み合わせ論理回路の臨界経路解析が実行され説明されたならば、臨界経路の次に長い経路伝播遅延を有する経路が、どのソースレジスタが同じ方法でタップされクロックスケジューラーに供給されるべきかに関して解析されてもよい。
【００６６】
設計段階は、経路解析に加え、クロックマネジャーによって生成される異なるクロック信号の適切な「数」、並びに特定のＩＣに相応しい最適クロック期間（周波数）変動も特定しなければならないことは理解されるべきである。周波数の範囲も別の設計基準であり、電力制約およびエネルギー制約も考慮に入れなければならない。  
好ましいアプローチにおいては、クロックスイッチングを同期化し、適用クロック周波数を、組み合わせ回路１７０を横断する対応アクティブ経路信号に一致させる。クロックマネジャー７２０は、共通のクロック信号を集積回路全体に供給し、回路動作全体を同期状態に維持する。
【００６７】
アクティブと特定され状態を変化させる最大伝播遅延を有する経路が、適用クロック周期期間を、その遅延に等しいまたはそれよりも僅かに長い時間として規定する。クロックスケジューラーは通常クロックマネジャーに接続されており、クロックマネジャーは適切なクロックスイッチをトリガする。
【００６８】
図１１Ａは、従来の発信器クロック信号およびクロックスケジューラーからのクロック選択信号によって駆動され、条件が満たされた場合には、それに応答して、ＩＣを増大クロック周波数に設定するように構成された、例示的実施形態によるクロックマネジャーの概略図である。
【００６９】
図１１Ｂは、図１１Ａに示されるクロックマネジャーのスイッチング状態に関連付けられたタイミング図である。
【００７０】
図１０、１１Ａ、および１１Ｂを参照すると、クロックマネジャー（マルチプレクサ）７２０は、マルチクロック信号を駆動し、クロックスイッチ管理機能を提供するように活用され機能する。クロックスイッチングのグリッチを回避するため、図示されているように、負エッジトリガー型Ｄフリップフロップが各被駆動クロックに挿入されている。
【００７１】
対象のフリップフロップにクロック選択信号を供給すると、他のクロックの排除後初めて新しいクロックスイッチが可能となり、出力クロック信号７２０においてグリッチに対する保護が提供される。
【００７２】
クロック管理機能を実施するために代表的な実施方法が示してあるが、任意の等価のクロックマネジャー実施方法が本発明の範囲から除外されるものでないことは理解されるべきである。
【００７３】
図１１Ａのクロックマネジャー実施もクロックグリッチ現象からの保護を提供する。更に詳しく述べると、提案されている設計実施では、選択信号に対して出力クロック信号７２０内の１つのクロックパルスが損失するグリッチフリーマネジャーが導入される。これは図１１Ａに示される追加レジスタの所為で生じる。
【００７４】
図１１Ｂを参照すると、クロックマネジャーの動作がいくつかの場合について示してある。クロック＃２（３１０）およびクロック＃１（３００）は標的集積回路に適用される２つのクロックである。選択信号はスケジューラーから生じ、どのクロックが適用されるか規定される。クロック出力は、全集積回路に供給され、選択信号を含む全信号を同期化するクロック信号である。最初の２つのクロック出力パルスがクロック＃２（３１０）に従う。第三クロック出力パルスの正エッジにおいて選択信号がその状態を変化させ、クロック＃１（３００）をトリガする。新しいクロックの確立が第四パルスで実施され、前述されたように、選択信号に対する出力クロック信号７２０内の１つのクロックパルス損失として、クロック周期遅延が導入される。加えて、２つのクロック間のスイッチは第三パルスでトランジション効果３０７を有しており、出力パルスをクロック＃２（３１０）よりも低いレベルに維持することにより、任意の潜在的なクロックグリッチ現象を防止している。
【００７５】
新しいクロックスイッチは第六パルスでトリガされ、別のクロックスイッチが第七パルスでトリガされる。両方共、反復スイッチのような極端な場合であっても、新しいクロックは１クロック遅延で確立される。トランジション効果の最悪遅延は、適用された最長クロック期間に等しい時間である。トランジション効果による遅延は、適用周波数加速、並びに最悪遅延は頻繁ではないと言う事実により吸収可能である。図１１Ａにおいて、第三パルス３０７から、第六パルス３０８および第七パルス３０９のトランジション効果が僅かであることが分かる。
【００７６】
重要な点は、選択信号のトリガ後に新しいクロックを確立するには、クロックトランジションは、絶えず１つのクロック周期を必要とすることである。従って、新しいクロックスイッチは、各々、斯かるスイッチをトリガする選択信号に対して１クロック周期７２０の遅延を有する。選択信号と新しく確立されるクロックとの間の安定した１クロック周期差は、適用周波数と斯かるクロック周波数をトリガする経路信号との同期化を実現するためには重要であり、この点は以下に詳細に説明される。
【００７７】
図１０を参照すると、ソースレジスタに供給される入力信号７１０は、クロックマネジャー７２０を新しいクロックスイッチにトリガするスケジューラー１３０にも供給される。集積回路は全てクロックマネジャー７２０の出力クロック信号と同期化される。ソースレジスタの入力信号７１０が次のクロック周期で組み合わせ回路にローディングされている間、クロックスイッチのトリガは、スケジューラー１３０およびクロックマネジャー７２０の介入の故に、新しいクロック周波数を確立するため、追加のクロックサイクルを要求してもよい。
【００７８】
クロックマネジャー７２０は１つのクロック周期遅延を追加するが、クロックスケジューラーも遅延周期を追加してもよい。合計の遅延周期により、組み合わせ回路１７０を横断する経路信号と適用クロックサイクル期間との間にミスマッチが生じる。（図１１Ａに示されるような）遅延周期に等しい、ソースレジスタレベル前の追加レジスタレベル７００により、クロック周波数スイッチをクロック周期に正確に同期化できるので、クロックスイッチをトリガする対応する経路信号が組み合わせ回路にローディングされる。斯かる技術により、最初の組み合わせ回路に何らの機能的変更も適用することなく、クロックスイッチの数とは独立に同期化が可能となる。
【００７９】
上述の観点から、提案されている技術は、状態を変化させるアクティブな信号経路を特定するクロックスケジューラーを用いて、特定された最高経路遅延に従うクロックスイッチをトリガするのは明白である。
【００８０】
本技術の実施形態は、アクティブ変化信号経路の特定を用いて、標的集積回路の性能に僅かな影響を及ぼす経路遅延のいくつかに部分的に違反するクロックスイッチをトリガしてもよい。Ａｐｐｒｏｘｉｍａｔｅ  Ｃｏｍｐｕｔｉｎｇ技術開発に関連して、スケジューラーは、出力レジスタにおける潜在的エラーの影響を考慮に入れ、アクティブ経路が課すよりも更に積極的な増大周波数を適用可能である。斯かるアプローチにおける本発明の利点は、許容エラーを十分制御し、どの経路が違反されるのかを規定できることである。
【００８１】
本技術はＩＣ動作の周波数増大に焦点を当ててはいるが、前述の考察のいくつかを用いる設計改善は、いずれも本発明の範囲から除外されるものではない。本技術が提案する性能向上は、設計トレードオフを達成するために従来技術に適用される他の設計目標、例えばチップ面積、電力消費およびエネルギー消費の改善に用いられてもよい。
【００８２】
前述の結論の全てが本発明の範囲から除外されるものではないが、技術記載の残りの部分は設計実施形態に焦点を当て、特に大型集積回路において、本発明の実施面での複雑性を減少させることを対象とする。特定された経路の必要数および制御信号の調査は、大型設計にとっては余りにも極端に複雑な課題である。本発明の範囲は、設計者の余分な努力を必要とすることなく、ＥＤＡツールが提供する機能のみを用いて、任意の集積回路設計に適用可能な柔軟なアプローチを提供することである。
【００８３】
本実施形態は  階層的に臨界経路から始まり短い経路を経て最小時間遅延に至る経路遅延の降順調査に従って、調査される経路の数を規定する。これはＥＤＡツールが自動的に支援するサービスである。どの程度広範に調査するかが、最終的な周波数増大の範囲を規定するであろう。臨界経路は適用周波数の低閾値を規定し、最短調査経路は高閾値を規定する。更に正確に言えば、Ｆｍａｘ＝１／ｔｍｉｎなので、最小経路遅延（ｔｍｉｎ）が最高周波数を規定し、Ｆｍｉｎ＝１／ｔｍａｘなので、最高経路遅延（ｔｍａｘ）が最低周波数を示す。非調査経路は最小時間制約（ｔｍｉｎ）よりも短い遅延なので、最も制限された周波数であるＦｍａｘは、その伝播遅延に違反することはない。
【００８４】
最も重要な遅延経路の階層構造を調べたので、次のステップは斯かる経路の交点ノードを規定することである。ＥＤＡツールが提供するネットリストにおける調査経路の共通通路点を調査することにより、経路の交点は容易に特定可能である。本実施形態の終わりにおいて交点ノードの調査は必要でないことが分かるが、斯かる単純化の説明は、以下に説明される一連の考察の後の最終結論において初めて明らかとなるであろう。
【００８５】
上述の図４に示されるマルチプレクサ２００は交点ノードにおける経路信号の通路を規定する。調査された実施形態において、交点ノードのマルチプレクサにおいてどの経路信号が制御信号またはエントリ信号かを特定する複雑さを回避するため、各経路が、同じ交点ノード内の他の経路のいずれかのための制御信号２２０、２１０（図５を参照）として動作すると考える。この仮定は、同じ交点ノード内の経路間の任意の潜在的相互関係を包含する。ある経路がエントリ信号２６０、２５０、２４０、２３０として動作し、制御信号として動作しないならば、この経路は他の経路のアクティブ化には影響を及ぼさない。各個別の経路の調査を避けるため、経路信号における任意の変化が交点内の他の経路のいずれかをアクティブ化または非アクティブ化し得ると仮定する。この仮定はクロック周波数スケジューリングに影響を及ぼす。本実施形態におけるスケジューラーの基本的役割は調査経路の信号状態変化をモニターし、各経路のそれぞれのソースレジスタ（図２を参照）の入力信号を追跡し、遅延制約に従うクロック周波数をトリガすることである。前述の仮定を扱うには、交点ノード内の全関連経路の最悪遅延に基づき、交点ノードを横断する経路の各追跡変化用に、更に限定的な場合を取り扱うようにスケジューラーを修正してもよい。この仮定は過大評価であることが分かるかもしれないが、同じ交点内の経路間の相互関係を断続させるためにそれを暫定的に利用する。
【００８６】
未解決の課題は、（短い経路遅延の故に）経路調査には含まれない経路の影響の調査である。以下の節は、非包含経路が本発明の適用に何故影響を及ぼさないかを解析する。包含経路と言う用語は経路遅延の降順調査に含まれる経路を意味し、非包含経路と言う用語は、それに含まれない経路を意味する。
【００８７】
非包含経路は、集積回路内のマルチプレクサへのエントリ信号または制御信号として動作可能である。非包含経路は、エントリ信号として、最大適用クロック周波数期間よりも短い遅延を有するので、非調査経路のいずれも違反されることがない。制御信号に関しては、２つの課題を考慮する必要がある。第一は、非包含経路は状態を変える包含経路をアクティブ化するかどうかであり、第二は、非包含経路は同一状態のままである包含経路をアクティブ化するかどうかである。非包含状態が非包含経路信号をアクティブ化する事象は調査しない。前述の通り、非包含経路の遅延は最大適用クロック周波数よりも短いので、非包含経路はいずれの制約も導入しないからである。最初のシナリオでは、包含経路信号の状態変化は、遅延違反の可能性なしに、基本的スケジューラー動作として、遅延に従うクロック周波数をトリガする。しかし、第二のシナリオにおいては、以下に更に詳細に説明されるように、スケジューラーは何らの変化も追跡しない。従って、包含経路のアクティブ化がトリガされても、クロック周波数は安定のままである。従って、伝播遅延違反の可能性が調査される。
【００８８】
図１０を参照すると、包含経路（６０１および６０２の組み合わせ経路）は安定である（ソースレジスタは安定として追跡される）が、その伝播は交点ノード３５０で妨害される可能性があり、全経路の一部６０１だけを横断して交点ノード６００の入り口に到着する。非包含経路６０３は、交点を通って出力レジスタに至る斯かる安定経路の通路をトリガし得る。この状態は、（斯かる変化は追跡されないので）実行クロック周波数とは独立に、安定信号を交点ノード６１０から経路６０２を通って最終出力場所１６０へ伝播するための十分な時間を必要とする。斯かる条件を保証するため、残りの距離６０２の伝播遅延は、最も制約のあるクロック周期期間（Ｆｍａｘ）（より厳密な例）よりも短くなければならない。この条件は以下の理由で守られる。
【００８９】
制御信号として動作する非包含経路（６０３および６０４の組み合わせ経路）も、いずれの包含経路の部分でもない経路６０３を通って、交点ノード６１０の入り口に到着する。従って、もし６０２の伝播遅延が包含経路遅延のいずれかよりも長ければ、図１０の２つの経路６０３および６０２を組み合わせる包含経路が存在し、斯かる包含経路が経路遅延の降順調査に現れるであろう。６０３がいずれの調査経路の一部でもないと言う事実は、この経路が存在しないことを意味している。前述の調査の結論は、非包含経路は、高適用周波数の期間よりも長い時間遅延を要求するような変化はトリガできないと言うことである。従って、斯かる経路は無視してもよい。
【００９０】
例示的実施形態によれば、包含経路は、各々、図２に示されるソースレジスタおよび出力レジスタに類似のソースレジスタおよび出力レジスタを有している。ソースレジスタ１００は、組み合わせ回路経路に状態「１」または「０」を供給する。斯かるレジスタがその状態を切り替えるならば、それに従って、該レジスタは、斯かるレジスタをソースとして有する全包含信号の状態変化を伝播する。包含経路は、共通のソースレジスタを共有する経路と見なされる。従って、包含経路の状態変化は同時にトリガされる。ソースレジスタの変化は、全包含経路信号の時宜を得た伝播を保証するため、包含経路の最悪遅延の時間制約に従わなければならない。  
従って、交点ノードの経路のいずれかにおける各追跡変化は交点ノードの最悪遅延経路に従わなければならないと言うのは、過大評価である。
【００９１】
現在提案されている実施形態は、少なくとももう一つの条件を活用する。更に正確に述べれば、クロック周波数調整は、状態（複数も可）を変化させる変化包含経路（複数も可）の遅延のみに従えばよいことが証明されている。斯かる仮定に従えば、ある包含経路信号の変化を追跡するスケジューラー１３０は、（最悪交点経路遅延に基づくのではなく）斯かる経路の遅延に基づいて周波数ポリシーを適用し、基本的スケジューリング動作を実施する。複数の経路における同時変化が検出されたら、最も制限された例として、最高の変化経路遅延に従う周波数がトリガされる。
【００９２】
斯かるスケジューリングアプローチの正確性を立証するには、変化経路に起因する適用周波数ポリシーが、交点３５０からの伝播用にアクティブ化されている非変化経路も含んでいることが、証明されなければならない。変化経路は連続クロック周期間の状態を切り替える経路であり、非変化経路は安定な経路である。
【００９３】
調査シナリオは、安定経路信号（６０１、６０２）が包含経路６０３を通って非包含経路と同じ方向に交点ノードを通過するようにアクティブ化される場合に、交点ノードから出力レジスタ６０２までの安定経路信号の要求伝播遅延に違反が生じる可能性があるか否かを調査する。
【００９４】
スケジューラーは、別の包含経路信号の変化に起因して交点３５０から始まる信号伝播は追跡できない。スケジューラーは、組み合わせ回路１７０の開始点であるソースレジスタ１００の変化しか追跡しないからである。従って、安定経路信号は、遅延制約を保証するクロック周波数調整をいずれもトリガしない。そこで、適用クロック周波数がその伝播遅延に違反し得るか否かが調査されることになる。
【００９５】
前述の適用周波数は、包含経路遅延の追跡変化によって規定される。図１０における６１０から１６０への経路は、交点ノードから出力レジスタへの潜在的経路を表す。調査シナリオは、実行適用クロック期間よりも長い遅延を有する包含経路が６１０から１６０の間に一切存在できない場合、時間違反が回避されることを立証している。
【００９６】
交点ノードマルチプレクサのスイッチをトリガするには、交点ノードで制御信号として動作する少なくとも１つの経路信号（６０３、６０４）が変化しなければならない。クロック周波数のスケジューラーは、包含経路信号の変化だけを追跡する。未解決の課題は、斯かる追跡変化に起因する適用周波数ポリシーが、６１０から１６０の任意の潜在経路のための遅延要求も含むか否かである。もしいずれの包含経路よりも長い遅延を有する経路６０２が６１０から１６０の間に存在するならば、経路６０３および６０２を部分として有し、安定経路（６０１、６０２）をアクティブ化する変化経路（６０３、６０４）と共通のソースレジスタを有する包含経路（６０３、６０２）も存在するので、斯かる仮定は正しい。経路遅延の降順操作は、経路６０３および６０２の組み合わせを含む、経路に関する可能な組み合わせを全て考慮に入れるからである。共通のソースレジスタにおける追跡変化は、包含経路の最悪遅延の時間制約に従うクロック周波数をトリガする。従って、６１０から１６０までの伝播遅延のいずれについても違反はありえない。任意の交点ノードにおいて、状態を変化させる経路だけがクロック周波数に影響を及ぼし、その伝播遅延に等しい時間制約を導入すると言うのが、結論である。この結論は交点ノードの調査を不要なものとするものであり、従って、クロック周波数ポリシーに適用されるのは、変化経路の伝播遅延だけで十分である。
【００９７】
従って、提案されている実施形態は以下の事実を説明する。１）経路遅延の降順調査に含まれない経路は時間違反の可能性なしに無視できる。２）状態を変化させる包含経路だけが、交点における他の経路との相互作用を無視し、クロック期間に影響を及ぼす。
【００９８】
その結果、回路設計者は、斯かる属性を利用する設計ツールソリューションを容易に活用し、クロック周波数増大を達成できる。
【００９９】
経路遅延の降順調査の範囲に境界をもうけ、包含経路のソースレジスタにおける状態変化を追跡することにより、包含経路の数は容易に制御可能である。スケジューラーは、クロック周期ベースで、実行時にクロック周波数ポリシーを適用できる。提案されている動的周波数増大技術は、臨界経路に等しい最大クロック期間、並びに調査経路の最小遅延に等しい最小クロック期間を活用する。
【０１００】
代替実施形態（図示しない）において、現在の最後の周期におけるスケジューラーへの供給を追跡および処理するのに必要な時間を（追加周期として）スケジューラーが更に得ることができるように、組み合わせ回路のソースレジスタの前に追加の入力レジスタを加えてもよい。１つの周期だけでは、スケジューラーのハードウェア論理が処理を完了するには不十分だからである。  
クロック速度を調整する従来のアプローチ同様、周波数増大に関する本アプローチも、経路均等化方法の選択において、設計トレードオフの斟酌を可能にしている。上述したように、斯かる設計トレードオフには、任意のチップ面積制約、性能目標、並びに電力および／またはエネルギー消費目的の考慮も含まれる。
【０１０１】
提案されている周波数増大アプローチ技術を具体化した特定用途向け集積回路（ＡＳＩＣ）または他の集積回路（ＩＣ）のための好ましい設計実施は、重要な周波数増大機能（および特に、クロックスケジューラーおよびクロックマネジャーに関連した機能）が、完全にハードウェア論理で実施されることを想定しており、この点は理解されるべきである。
【０１０２】
同様に、設計自動化ツールがＩＣ技術に周波数増大機能を取り入れる限り、斯かるツールは通常純粋にソフトウェアソリューションである。ソフトウェアソリューションはベンダー毎に異なっており、特定の人気の高いベンダー（例えば、ケイデンス社）からのＥＤＡタイプソリューションから、異なるベンダーによるプラグインソリューション（人気の高いベンダーＥＤＡツールを用いて実施されることが意図されている）、スタンドアロンソリューション（従来のＥＤＡツールでは利用できない機能および設計サービスをチップ設計者に提供するようにデザインされている独自ソリューションまたはカスタムソリューションであることが多い）、あるいは市販のＥＤＡプラグインソリューションに至るまで様々である。
【０１０３】
上述の如く、周波数増大機能は任意の商業用ＥＤＡ製品と統合されてもよい。斯かるＥＤＡ製品は、種々のタイプの集積回路または種々の複雑性を有する集積回路の設計にあたり、集積回路設計者を支援する目的の１セットの機能を有していてもよい。例えば、商業用のＥＤＡ製品が提供する機能は、ネットリスト（すなわち集積回路に含まれる構成要素およびインスタンスのリスト並びに種々の構成要素間の相互接続）を生成したり、集積回路などの構成要素の接続およびワイヤリングを生成したりする、集積回路の機能説明を有していてもよい。ＥＤＡソフトウェア製品の機能は１つ以上のプロセッサ（各プロセッサが少なくとも１つのコアを有するか、あるいはクラウドに存在する）で実行されてもよい。
【０１０４】
加えて、周波数増大およびそれぞれのクロックスケジューラーおよびクロック（周波数）マネジャーの設計および試験機能は、ＥＤＡの標準設計機能形成部分（例えば、グラフィカル設計など）と一緒に提供されてもよい。斯かる実施は、ＥＤＡ製品の製造者が選択する任意のソフトウェアプログラミング言語で行ってよい。その結果、提案されている技術は、各製造者によって販売される基本的なＥＤＡ製品に提供できるようになる。従って、提案されている技術は、斯かるＥＤＡ製品の全ユーザーに利用可能となり、ユーザーは、斯かるＥＤＡ製品を用いて設計されるＩＣにクロック周波数増大を取り入れることが可能となる。
【０１０５】
代替の例示的実施形態において、本発明の技術はＥＤＡ製品のソフトウェアプラグインとして実施されてもよい。プラグインの開発に用いられるプログラミング言語は、適切なソフトウェア開発キット（ＳＤＫ）の使用を前提として、開発業者が決定できる。本発明の斯かる例示的実施形態においては、ＥＤＡ製品のユーザーは、斯かるプラグインを購入しそのプラグインをＥＤＡ製品にインストールした場合にのみ、提案されている技術にアクセスできる。さもなければ、そのユーザーは自分のＩＣ設計にクロック周波数増大を使用できない。プラグインはＥＤＡ製造者からダウンロードしてもよいし、あるいは１つ以上の第三者サプライヤから得てもよい。サプライヤには、例えば、Ａｍａｚｏｎ、Ｇｏｏｇｌｅ  Ｐｌａｙ、Ａｐｐｌｅ  Ｓｔｏｒｅ、またはソフトウェア販売を行う任意の他のウェブサービスなどのサイトおよびダウンロードが含まれる。斯かる例示的実施形態の変形として、プラグインは、ＥＤＡユーザー（すなわちクライアント）が購入し自分のコンピュータにインストールする記憶媒体に保存するためのソフトウェアとして提供されてもよい。
【０１０６】
上述の如く、第三のアプローチはスタンドアロンソリューションである。スタンドアロンソリューションは、既存のネットリストを更に複雑に、あるいは非常に精巧に設計適合するのに適しており、その場合、例えば、ＡＳＩＣ設計者はチップに周波数増大機能を取り入れたいと思うかもしれない。更に費用効果の高いアプローチは、自ら行うのではなく、第三者にそれをやってもらうことである。いくつかの例では、スタンドアロンソリューションのハードウェアＩＰは独自使用のものであり、その場合、ＡＳＩＣ設計者は、第三者と直接共同作業する以外に方法はないかもしれない。
【０１０７】
斯かる説明は上述の実施形態を直接記載するものであるが、当業者が本明細書記載の特定の実施形態の修正および／または変形を想定し得ることは、理解されるべきである。本記載の範囲にある斯かる任意の修正または変形も、同様に、本明細書に含まれるよう意図されている。特定の記載がない限り、本明細書および請求項の用語および語句は、該当する業界（複数も可）の当業者にとって通常の使い慣れた意味を有するものであることを、本発明者は意図している。
【０１０８】
出願当時に出願者に周知の好ましい実施形態および本発明の最高の態様に関する前述の記載は、例示および説明目的のために提供されるよう意図されているものである。開示されている形式のみに本発明を限定または制限するようには意図されていない。上述の教示に照らして多くの修正および変形が可能である。実施形態は、本発明の原理および実際の適用を最も良く説明し、当業界の他の当業者が、特定の使用に適した種々の実施形態で、並びに種々の実施形態を用いて本発明を最もよく利用できるように、選択および記載されたものである。従って、本発明は、本発明を実施するために開示されている特定の実施形態に限定されるべきではなく、添付の請求項の範囲に含まれる全ての実施形態を含むものである。
【図１】
0006925419.tif 000002
【図２】
0006925419.tif 000003
【図３】
0006925419.tif 000004
【図４】
0006925419.tif 000005
【図５】
0006925419.tif 000006
【図６】
0006925419.tif 000007
【図７Ａ】
0006925419.tif 000008
【図７Ｂ】
0006925419.tif 000009
【図８】
0006925419.tif 000010
【図９】
0006925419.tif 000011
【図１０】
0006925419.tif 000012
【図１１Ａ】
0006925419.tif 000013
【図１１Ｂ】
0006925419.tif 000014