(57)【特許請求の範囲】
【請求項１】
コンピュータによって実行されるとき、集積回路のためのクロック分配ネットワークを展開する方法を行う、命令を記憶した非一時的コンピュータ読取可能な媒体であって、前記方法は、
クロックシンク間のタイミング不一致を含むクロックスキューのソースをキャプチャすることと、
前記クロック分配ネットワークと組合せ論理とを備える２Ｄレイアウトを生成するために、前記集積回路とクロックスキューの前記ソースとの動作記述を合成することと、
前記動作記述から前記クロック分配ネットワークと前記組合せ論理とを分離し、前記クロック分配ネットワークを前記集積回路の第１のエリアに配置することであって、前記クロックシンクを前記集積回路から前記クロック分配ネットワークに移動させることにより前記クロック分配ネットワークとして分離することと、
前記クロック分配ネットワークと前記組合せ論理との間のビア接続を提供するためのビアを判断することであって、前記ビア接続は、前記クロックシンクが前記クロックシンクを移動させるステップの前に配置された位置にあることと、
前記第１のエリアの前記組合せ論理をフロアプランすることと
を備える、非一時的コンピュータ読取可能な媒体。
【請求項２】
前記方法は、前記第１のエリアの前記クロック分配ネットワークにさらなる最適化を適用するステップをさらに備える、請求項１に記載の非一時的コンピュータ読取可能な媒体。
【請求項３】
前記方法は、前記さらなる最適化がクロックツリー合成を備える、請求項２に記載の非一時的コンピュータ読取可能な媒体。
【請求項４】
前記方法は、前記さらなる最適化がブロックレベルルーティングを備える、請求項３に記載の非一時的コンピュータ読取可能な媒体。
【請求項５】
前記方法は、前記さらなる最適化がポストルート最適化を備える、請求項４に記載の非一時的コンピュータ読取可能な媒体。
【請求項６】
前記方法は、
前記集積回路がマルチティア回路を備え、
前記第１のエリアが前記マルチティア回路の第１のティアを備え、
前記組合せ論理が前記マルチティア回路の第２のティアに配置された、請求項２に記載の非一時的コンピュータ読取可能な媒体。
【請求項７】
前記方法は、前記第１のティアが前記第２のティアに隣接する、請求項６に記載の非一時的コンピュータ読取可能な媒体。
【請求項８】
前記方法は、
前記組合せ論理が非タイミングクリティカル組合せ論理をさらに備え、
前記非タイミングクリティカル組合せ論理が前記マルチティア回路の第３のティアに配置された、請求項６に記載の非一時的コンピュータ読取可能な媒体。
【請求項９】
前記第３のティアが前記第１のティアに隣接しない、請求項８に記載の非一時的コンピュータ読取可能な媒体。
【請求項１０】
前記方法は、
タイミングクリティカル組合せ論理が前記マルチティア回路の第４のティアにさらに配置され、
前記第４のティアが前記第１のティアに隣接する、請求項６に記載の非一時的コンピュータ読取可能な媒体。
【請求項１１】
前記方法は、
前記組合せ論理がさらなる非タイミングクリティカル組合せ論理を備え、
前記非タイミングクリティカル組合せ論理が前記マルチティア回路の第５のティアに配置された、請求項１０に記載の非一時的コンピュータ読取可能な媒体。
【請求項１２】
前記方法は、
前記第５のティアが前記第１のティアに隣接しない、請求項１１に記載の非一時的コンピュータ読取可能な媒体。
【請求項１３】
前記方法は、前記ビアがティア間ビアを備える、請求項１に記載の非一時的コンピュータ読取可能な媒体。
【請求項１４】
前記方法は、前記ティア間ビアが高密度を備える、請求項１３に記載の非一時的コンピュータ読取可能な媒体。
【請求項１５】
前記集積回路は、
前記集積回路の第１のティアに分離された前記クロック分配ネットワークと、
前記集積回路の第２のティアに分離された組合せ論理と、
を備え、
前記ビアは、前記第１のティアを前記第２のティアに接続する請求項１に記載の非一時的コンピュータ読取可能な媒体。
【請求項１６】
前記集積回路がマルチティア回路を備える、請求項１５に記載の非一時的コンピュータ読取可能な媒体。
【請求項１７】
前記第１のティアが前記第２のティアに隣接する、請求項１６に記載の非一時的コンピュータ読取可能な媒体。
【請求項１８】
前記集積回路が非タイミングクリティカル組合せ論理をさらに備え、前記非タイミングクリティカル組合せ論理が前記集積回路の第３のティアに分離される、請求項１６に記載の非一時的コンピュータ読取可能な媒体。
【請求項１９】
前記第３のティアが前記第１のティアに隣接しない、請求項１８に記載の非一時的コンピュータ読取可能な媒体。
【請求項２０】
前記組合せ論理が前記マルチティア回路の第４のティアにさらに配置され、
前記第４のティアが前記第１のティアに隣接する、請求項１６に記載の非一時的コンピュータ読取可能な媒体。
【請求項２１】
前記集積回路が非タイミングクリティカル組合せ論理をさらに備え、
前記非タイミングクリティカル組合せ論理が前記マルチティア回路の第５のティアに配置された、請求項２０に記載の非一時的コンピュータ読取可能な媒体。
【請求項２２】
前記第５のティアが前記第１のティアに隣接しない、請求項２１に記載の非一時的コンピュータ読取可能な媒体。
【請求項２３】
前記ビアがティア間ビアを備える、請求項１５に記載の非一時的コンピュータ読取可能な媒体。
【請求項２４】
前記ティア間ビアが高密度ビアを備える、請求項２３に記載の非一時的コンピュータ読取可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第１１９条に基づく優先権の主張
[0001]本特許出願は、
本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、２０１２年１１月２８日に出願された「CLOCK DISTRIBUTION NETWORK FOR 3D INTEGRATED CIRCUIT」と題する仮出願第６１／７３０，７５５号、
本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、２０１２年１１月２８日に出願された「DATA TRANSFER ACROSS POWER DOMAINS」と題する仮出願第６１／７３０，７６７号
の優先権を主張する。
【０００２】
同時係属特許出願の参照
[0002]本特許出願は、
本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、２０１３年３月５日に出願された、代理人整理番号第１２３４１２号を有する、Ｙａｎｇ  Ｄｕ、Ｊｉｎｇ  ＸｉｅおよびＫａｍｂｉｚ  Ｓａｍａｄｉによる「MONOLITHIC 3D IC FLIP-FLOP DESIGN」、
本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、２０１３年３月７日に出願された、代理人整理番号第１２０６００号を有する、Ｙａｎｇ  Ｄｕによる「MONOLITHIC THREE DIMENSIONAL INTEGRATION OF SEMICONDUCTOR INTEGRATED CIRCUITS」、および
本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、［＊＊＊＊］に出願された、代理人整理番号第１２４７１６号を有する、Ｊｉｎｇ  ＸｉｅおよびＹａｎｇ  Ｄｕによる「DATA TRANSFER ACROSS POWER DOMAINS」
という（１つまたは複数の）同時係属米国特許出願に関する。
【０００３】
[0003]開示する実施形態は、概して、集積回路中のクロック信号の生成を対象とする。より詳細には、開示する実施形態は、高速、低スキュー（skew）および低電力消費を有するスケーラブルなクロック分配ネットワーク（clock distribution network）を展開するための効率的なシステムおよび方法を対象とする。
【背景技術】
【０００４】
[0004]同期集積回路（ＩＣ）では、回路内のデータの移動のための時間基準を定義するためにクロック信号が使用される。ＩＣのクロック分配ネットワーク（たとえば、クロック生成回路、配線、バッファリングおよびレジスタ）は、クロック信号を生成し、それらを、特定の点から、それらを必要とする回路要素のすべてに分配する。同期ＩＣの性能はそれのクロック分配ネットワーク設計に大きく依存する。クロック分配ネットワークの適切な設計は、クリティカルタイミング要件が満たされることと、クロックスキューが制御されることとを保証するのを助ける。ＩＣが大きくなるにつれて、それらのクロック分配ネットワークは、設計リソースの大部分を占め始める。クロック信号は、一般に、最も大きいファンアウト（fan-out）を有し、設計全体内の制御またはデータ信号の最も速い速度で動作しなければならない。クロック電力は、一般に、一般的なＩＣの総電力消費の１／３を超え、（ｉ）クロックツリー配線、（ｉｉ）クロックツリーバッファ、および（ｉｉｉ）クロックツリーシンク（たとえば、フリップフロップ）に起因する。したがって、大きいＩＣにおける既存のスキュー／スルー（slew）制約を仮定すれば、スケーラブル、高速、高性能および低電力のクロック分配ネットワーク設計を展開することは極めて困難である。
【０００５】
[0005]３Ｄ  ＩＣは、より高性能／より低電力の設計を提供することができる新技術である。しかしながら、知られている３Ｄ  ＩＣ実装は、クロック信号が、緊密なスキュー／スルー制約の下で複数のティア（tier）に確実に及ばなければならないので、クロック分配ネットワーク設計課題を悪化させる傾向がある。したがって、異なるティアが、それら自体のクロックツリーネットワークを有する。また、性能および電力を低下させることなしに、異なるティアに及ぶ異なるクロックネットワークにわたるスキュー／スルー制約を満たすことが不可能である。この問題を処理するために、チップレベルでの非同期動作が必要とされ、それは、その場合、電力消費、速度およびエリアフットプリントを含む様々なパラメータにおいてそれ自体の欠点を有する。
【０００６】
[0006]したがって、スケーラブル、低スキュー、高速および高性能であるクロック分配ネットワークを展開するためのシステムおよび方法が必要である。さらに、３Ｄ  ＩＣ内で、スケーラブル、低スキュー、高速および高性能であるクロック分配ネットワークを展開するためのシステムおよび方法が必要である。
【発明の概要】
【０００７】
[0007]本発明の例示的な実施形態は、集積回路のためのクロック分配ネットワークを設計するためのシステムおよび方法を対象とする。本実施形態は、クロックスキューのクリティカルソースを識別し、クロックのタイミングを緊密に制御し、そのタイミングをクロック分配ネットワークおよび集積回路設計全体に組み込む。開示する実施形態は、クロックツリー設計を改善し、エリアフットプリントを低減するために、論理の残りから、クロック分配ネットワーク（ＣＤＮ）、すなわち、クロック生成回路、配線、バッファリングおよびレジスタを分離する。一実施形態では、ＣＤＮは３Ｄ集積回路の別個のティアに分離され、ＣＤＮは、高密度ティア間ビア（inter-tier via）を介して（１つまたは複数の）論理ティアに接続される。本実施形態は、モノリシック３Ｄ集積回路を用いた実装のために特に有利である。
【０００８】
[0008]開示する実施形態は、集積回路のためのクロック分配ネットワークを展開する方法を含み、ステップは、クロックシンク間のタイミング不一致を含むクロックスキューのソースをキャプチャすることと、クロック分配ネットワークと組合せ論理とを備える２Ｄレイアウトを生成するために、集積回路とクロックスキューの前記ソースとのより高いレベルの挙動記述（behavioral description）を合成することと、前記クロック分配ネットワークを前記組合せ論理から分離し、前記クロック分配ネットワークを集積回路の第１のエリアに配置することと、前記第１のエリアの前記組合せ論理をフロアプランすることとを備える。さらなる実施形態では、集積回路はマルチティア回路（multi-tier circuit）を備え、前記第１のエリアは前記マルチティア回路の第１のティアを備え、前記組合せ論理は前記マルチティア回路の第２のティアに配置される。
【０００９】
[0009]開示する実施形態はまた、集積回路の第１のエリアに分離されたクロック分配ネットワークと、前記集積回路の第２のエリアに分離された前記集積回路の組合せ論理と、前記第１のエリアを前記第２のエリアに接続するビアとを備える、前記集積回路のクロック分配ネットワークを含む。さらなる実施形態では、集積回路は、マルチティア回路を備える集積回路をさらに備え、前記第１のエリアは前記マルチティア回路の第１のティアを備え、前記第２のエリアは前記マルチティア回路の第２のティアを備える。
【００１０】
[0010]添付の図面は、開示する実施形態の説明を助けるために提示し、実施形態の限定ではなく、それの例示のみのために与えるものである。
【図面の簡単な説明】
【００１１】
【図１】[0011]開示する実施形態の方法を示すハイレベル流れ図。
【図２】[0012]図１の流れ図のより詳細な一例を示す図。
【図３】[0013]開示する実施形態の２Ｄタイミングアーク（timing arc）および３Ｄタイミングアークの一例を示す図。
【図４】[0014]図３のクロック分配ネットワークのより詳細な一例を示す図。
【図５】[0015]図４のクロック分配ネットワークの別のより詳細な一例を示す図。
【発明を実施するための形態】
【００１２】
[0016]本発明の特定の実施形態を対象とする以下の説明および関連する図面において、本発明の態様が開示される。本発明の範囲から逸脱することなく、代替実施形態が考案され得る。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素については詳細に説明しないか、または省略する。
【００１３】
[0017]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用する。本明細書で「例示的」と記載されたいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきであるとは限らない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、説明する特徴、利点または動作モードを含むことを必要としない。
【００１４】
[0018]本明細書で使用する用語は、特定の実施形態について説明するためのものにすぎず、本発明の実施形態を限定するものではない。本明細書で使用する単数形「ａ」、「ａｎ」および「ｔｈｅ」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、本明細書で使用する「備える（comprises）」、「備えている（comprising）」、「含む（includes）」、および／または「含んでいる（including）」という用語は、述べられた特徴、整数、ステップ、動作、要素、および／または構成要素の存在を明示するが、１つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および／またはそれらのグループの存在または追加を排除しないことを理解されよう。
【００１５】
[0019]さらに、多くの実施形態について、たとえば、コンピューティングデバイスの要素によって実行されるべき一連のアクションに関して説明する。本明細書で説明する様々なアクションは、特定の回路（たとえば、特定用途向け集積回路（ＡＳＩＣ））によって、１つまたは複数のプロセッサによって実行されるプログラム命令によって、あるいは両方の組合せによって実行され得ることを認識されよう。さらに、本明細書で説明する一連のアクションは、実行時に、関連するプロセッサに本明細書で説明する機能を実行させるであろうコンピュータ命令の対応するセットを記憶した任意の形態のコンピュータ可読記憶媒体内で全体として実施されるべきものと見なされ得る。したがって、本発明の様々な態様は、すべてが請求する主題の範囲内に入ることが企図されているいくつかの異なる形態で実施され得る。さらに、本明細書で説明する実施形態の各々について、任意のそのような実施形態の対応する形式について、本明細書では、たとえば、説明するアクションを実行する「ように構成された論理」として説明することがある。
【００１６】
[0020]図１は、開示する実施形態の設計技法１００を示すハイレベルブロック図である。設計技法１００は、クロックのタイミングを緊密に制御し、そのタイミングをＩＣ設計全体に組み込む、クロック分配ネットワーク（ＣＤＮ）を展開する。ＩＣは、デジタル構成要素、アナログ構成要素、または両方の組合せを含み得る。本開示全体にわたる「論理」回路への言及は、デジタル回路構成要素、アナログ回路構成要素および両方の組合せをカバーするものとする。設計技法１００は、ステップ１０２において、より高いレベルの挙動記述を必要とし、記述された動作を実行する論理回路を複雑にするためにそれを合成する、合成動作を実行する。より高いレベルの挙動記述は、ゲートのライブラリにマッピングされ得るレジスタ転送レベル（ＲＴＬ：Register Transfer Level）記述として実装され得る。ＲＴＬ記述は、回路のレジスタと、レジスタ間の一連の転送とを記述する。ステップ１０２において実行された合成はクロック分配ネットワークタイミング情報をキャプチャする。
【００１７】
[0021]ステップ１０４は、ステップ１０２において展開された残りの組合せ論理から（クロック生成回路と、配線と、バッファリングと、レジスタとを含む）ＣＤＮを分離する。分離されたＣＤＮは、組合せ論理の残りからのＣＤＮの分離により、より小さいフットプリントをカバーする。ＣＤＮが小さくなると、バッファが小さくなり、配線が少なくなり、電力が低減する。ＣＤＮを分離することにより、より良いルータビリティ、ワイヤ長の低減、性能の向上および電力消費の低減のために組合せ論理の複雑さが低減する。ステップ１０６は、分離された組合せ論理にフロアプランニング技法を適用する。本開示で後でより詳細に説明するように、フロアプランニング技法は２Ｄまたは３Ｄであり得る。ステップ１０８において、分離されたＣＤＮのクロックシンクを分離された組合せ論理の対応する論理に接続するためにビアをマップアウトする。ビアは、望ましくは、単一の半導体ウエハ上の層中に高密度で作製され得るタイプのものである。ステップ１１０は、所望の全体的性能パラメータに達するまで、分離され、フロアプランされたＣＤＮにさらなる最適化技法を適用する。
【００１８】
[0022]図２は、図１に示された設計技法１００のより詳細な実装形態である設計技法２００の流れ図である。設計技法２００は、有利には、３Ｄ  ＩＣに適用され得る。ステップ２０２〜２１０は機能ブロックのために実行され、ステップ２１２〜２１８は３Ｄ  ＩＣのブロックレベルで実行される。ステップ２０２において実行される合成動作は、ステップ１０２において実行された合成動作と本質的に同じである。ステップ２０４は、クロックシンクを別個のＣＤＮエリアに移動し、クロックシンクが実際に各機能ブロック内のどこにあったのかの指示を与えるために合成回路のクロックシンクをポートと交換する。設計技法２００の下での別個のＣＤＮエリアは、好ましくは、ＣＤＮ（クロック生成回路、配線、バッファリング、レジスタなど）に専用の３Ｄ  ＩＣの別個のティアである。ステップ２０６は、ＣＤＮティアと組合せ論理との間のビア接続のための妨害物サイト配置を判断する。クロックシンクが合成回路中にあった場合、ビアは接続する。ビアが高密度であるので、特定のクロックシンクのためのビアの数はクロックシンクからの出力の数に対応することができる。たとえば、クロックシンクがフリップフロップであり、ビアがティア間ビアである場合、ｋ個のティア間ビアが特定のフリップフロップのために割り当てられ得、ｋはフリップフロップ出力への接続の数を表す。ステップ２０６は、好ましくは、ブロック全体にわたるクロックシンクのアクセシビリティを高めるために、メッシュ状様式で妨害物を挿入する。ステップ２０８は組合せ論理を論理ティア上に配置し、ステップ２１０は、クロックシンクの各々をそれの関連付けられた妨害物サイトにマッピングする。
【００１９】
[0023]ステップ２１２〜２１８は３Ｄ  ＩＣのブロックレベルで実行される。ステップ２１２は論理ティアにフロアプランニング技法を適用する。開示する実施形態はスケーラブルであるので、より多くのＣＤＮティアを追加することによって、ますます大きいＩＣおよびＣＤＮが適応される。したがって、ステップ２１２におけるフロアプランニング技法は２Ｄ（単一のＣＤＮティア）または３Ｄ（複数のＣＤＮティア）であり得る。ステップ２１４〜２１８は、所望の全体的性能パラメータに達するまで、分離され、フロアプランされた論理およびＣＤＮにさらなる最適化技法を適用する。ステップ２１４は、フロアプランされたＣＤＮティアにクロックツリー合成（clock tree synthesis）を適用する。クロックツリー合成は、クロックバッファ挿入を含み、ステップ２０６からの妨害物サイトの配置に関する情報を利用する。ステップ２１６はブロックレベルルーティングを実行し、ステップ２１８はポストルート最適化を実行する。ステップ２１８を達成するために、従来の２Ｄポストルート最適化エンジンが使用され得る。
【００２０】
[0024]したがって、上記で説明した設計技法はいくつかの利益を与える。マルチティア設計の少なくとも１つのティアは、主に、ＣＤＮを格納することに専用であり、したがって、各ティアのためのクロックツリーを設計する必要がなく、それにより設計複雑さが低減する。また、開示する実施形態の設計方法の下で、より少数の金属層があり、それにより、知られている３Ｄ集積回路技法と比較してコストが節約される。ＣＤＮフットプリントが小さくなると、クロック電力が少なくなり（たとえば、約３０％の電力低減）、それにより、配線が少なくなり、バッファリングが少なくなる。すべてのクロックシンクおよび（クロックバッファを含む）ＣＤＮが１つのティア上にあるので、開示する実施形態の方法から生じるクロックツリー設計はよりクリーンである。分離されたＣＤＮは、（より小さいフットプリントにより２Ｄよりも一層多く）プロセス変動に対して著しくよりロバストである。論理ティア上のより少ない論理複雑さにより、ワイヤ長が低減され、それにより性能が改善される。クロックツリー設計の改善により、タイミングクロージャが改善される。（ｉ）タイミング最適化に関する３Ｄネットがない実施形態のために既存の２Ｄタイミング最適化エンジンが使用され得、（ｉｉ）論理ティアを通過する必要がないので走査チェーンルーティングが簡略化されるので、設計複雑さが低減される。既存のシーケンシャル（非メモリ）が設計エリア対組合せセルの約１／２を占める場合、ティア間の容易な分散がある。
【００２１】
[0025]図３〜図５に、図１および図２に示された設計技法を実装することから生じ得る回路レイアウトの一般的構成を示す。図３は、２Ｄタイミングアーク１０および３Ｄタイミングアーク３０の一例を示す。図３〜図５は、いくつかのタイプの回路／要素（たとえば、クロック生成、配線、組合せ論理、クロックシンク）を広く表す一般的構成であるが、特定の回路例を表すものではない。タイミングアーク１０は、すべて２Ｄ中にあり、シングルティア１２全体にわたって分散された、クロック生成モジュール（ＣＧＭ）１４と、クロックシンク（ＣＳ）１６、１８と、配線１１と、組合せ論理２０とを含む。実際には、ＣＧＭ１４は位相ロックループ回路として実装され得、クロックシンク１６、１８はフリップフロップ回路として実装され得る。概して、タイミングアーク１０、３０は、たとえばいわゆるローンチクロックシンク（launch clock sink）１６からいわゆるキャプチャクロックシンク１８までの設計および／または遅延不一致を含む、クロックスキューのクリティカルソースを正確にキャプチャする。したがって、クロックタイミング要件は、緊密に制御され、ＩＣ設計全体に組み込まれる。
【００２２】
[0026]タイミングアーク３０は、マルチティアＩＣ３１のシングルティア３４に分離されたＣＤＮ（ＣＧＭ１４、ＣＳ１６、１８、１９および配線１１）を示す。タイミングクリティカルである組合せ論理２０は、ＣＤＮが分離された後に配置される。ＣＤＮがティア全体を占有しない限り、タイミングクリティカル組合せ論理２０の一部または全部は同じＣＤＮティア上に配置され得る。したがって、ＣＤＮの配置後に、またはＣＤＮティア３４に隣接するいずれかのティア３２、３６上に空間がある場合、タイミングクリティカル組合せ論理２０はＣＤＮティア３４上に配置され得る。ＣＤＮおよびタイミングクリティカル組合せ論理２０の配置後に、または他のティア３２、３６、３８、３９がＣＤＮティアに隣接するか否かにかかわらずそのティア上に空間がある場合、非タイミングクリティカル組合せ論理４０もＣＤＮティア３４上に配置され得る。高密度ビア１３は、マルチティア回路３１に組み込まれ、ＣＳ１６、１８、１９をタイミングクリティカル組合せ論理２０に接続する。
【００２３】
[0027]タイミングアーク３０は、開示する実施形態のスケーラビリティをさらに示す。マルチティア回路３１は、ＣＤＮが、ＣＤＮのサイズに適応するために必要とされるのと同じくらい多くのティアに分離される限り、ますます大きくなるＩＣに対して容易にスケーラブルである。図３に示された例では、ＣＤＮ（１６、１８、１９、１４、１１）は、シングルティア３４上にあるが、ＣＤＮサイズが増加する場合、より多くのＣＤＮティア（図示せず）に拡張され得る。同様に、タイミングクリティカル組合せ論理２０のサイズが増加するにつれて、追加のティアがＣＤＮティアであるか、またはＣＤＮティアに隣接するかのいずれかである限り、より大きいタイミングクリティカル論理に適応するために、追加のティアが追加され得る。最後に、非タイミングクリティカル組合せ論理４０のサイズが増加するにつれて、より大きい非タイミングクリティカル組合せ論理に適応するために、追加のティアが追加され得る。
【００２４】
[0028]図４は、図１および図２に示された設計技法を実装することから生じ得る回路レイアウトの一般的構成のさらなる例である。図３のタイミングアークと同様に、図４は、２Ｄレイアウトのマルチティア実装形態とともに、ＣＤＮと、対応する論理とを有する２Ｄレイアウトの一例を示す。図４は、いくつかのタイプの回路／要素（たとえば、クロック生成、配線、組合せ論理、クロックシンク）を広く表す一般的構成であるが、特定の回路例を表すものではない。２Ｄレイアウト１０ａは、すべて２Ｄ中にあり、シングルティア１２全体にわたって分散された、クロック生成モジュール（ＣＧＭ）１５と、クロックシンク（ＣＳ）１６と、配線１１と、組合せ論理２０とを含む。実際には、ＣＧＭ１５は位相ロックループ回路として実装され得、クロックシンク１６はフリップフロップ回路として実装され得る。配線１１は、簡単のためにＨツリーフォーマットで示されているが、様々な異なるクロックツリーフォーマット（たとえば、グリッド、スパインなど）で実装され得る。概して、２Ｄレイアウト１０は、たとえばクロックシンク１６間の設計および／または遅延不一致を含む、クロックスキューのクリティカルソースを正確にキャプチャする。それにより、クロックタイミング要件は、緊密に制御され、ＩＣ設計全体に組み込まれる。
【００２５】
[0029]図４は、マルチティアＩＣ３１ａのシングルティア３４に分離されたＣＤＮ（クロックバッファ１５、ＣＳ１６および配線１１）をさらに示す。タイミングクリティカルである組合せ論理２０は、ＣＤＮが分離された後に配置される。ＣＤＮがティア全体を占有しない限り、タイミングクリティカル組合せ論理２０の一部または全部は同じＣＤＮティア上に配置され得る。したがって、ＣＤＮの配置後に、またはＣＤＮティア３４に隣接するティア（たとえば、ティア３６）上に空間がある場合、タイミングクリティカル組合せ論理２０はＣＤＮティア３４上に配置され得る。ＣＤＮおよびタイミングクリティカル組合せ論理２０の配置後に、または（図３に示された）他のティア３２、３６、３８がＣＤＮティアに隣接するか否かにかかわらずそのティア上に空間がある場合、（図３に示された）非タイミングクリティカル組合せ論理４０もＣＤＮティア３４上に配置され得る。高密度ビア１３は、マルチティア回路３１ａに組み込まれ、ＣＳ１６をタイミングクリティカル組合せ論理２０に接続する。
【００２６】
[0030]図５は、図３および図４に示されたマルチティア回路３１ａのより詳細な一例である。図５のマルチティア回路は、少なくともＣＤＮティア３４と論理ティア３６とを有するモノリシック３Ｄ  ＩＣ３３として示されている。図５のクロックシンクはフリップフロップ（ＦＦ）回路１７として実装される。図３および図４の高密度ビア１３は、モノリシックティア間ビア（ＭＩＶ：monolithic inter-tier via）１５として実装され、図５に示されている。モノリシック３Ｄ  ＩＣでは、電子的構成要素およびそれらの接続（配線）は、単一の半導体ウエハ上の層に組み込まれ、次いで３Ｄ  ＩＣにダイシングされる。ただ１つの基板があり、したがって、整合またはスルーシリコンビア（through-silicon via）の必要がない。
【００２７】
[0031]したがって、上記で説明した実施形態は、論理の残りからクロック分配ネットワークを分離する。好ましくは、クロック分配ネットワークは、モノリシック３Ｄ集積技術を使用して実装される。したがって、シングルティアがクロックサブシステムをホストし、（１つまたは複数の）他のティアが残りの組合せ論理を保持することになる。本開示の下でのクロックティアは、クロック生成回路（すなわち、ＰＬＬまたはＤＬＬ）と、クロック分配配線（Ｈツリー、グリッド、スパインなど）と、設計の順序要素の大部分（たとえば、７５％）とを含む。クロックティアは、より良いクロック分配制御のために最も幅の広い金属線を含んでいることになる。クロック分配ネットワークは、論理の残りからのクロック分配の分離により、より小さいフットプリントを含む。クロックネットワークが小さくなると、バッファが小さくなり、配線が少なくなり、電力が低減する。クロック分配を分離することにより、より良いルータビリティ、ワイヤ長の低減、性能の向上および電力消費の低減のために論理ティアの複雑さが低減する。クロックティア上のクロックシンクを論理ティア上の対応する論理に接続するために、モノリシック３Ｄ集積によって与えられる高密度ティア間ビアが使用される。
【００２８】
[0032]上記の開示および説明は本発明の実施形態を示しているが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正が行われ得ることに留意されたい。たとえば、本明細書で説明した本発明の実施形態による方法クレームの機能、ステップおよび／またはアクションは、特定の順序で実施されなくてもよい。さらに、本発明の要素は、単数形で説明または請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
【００２９】
[0033]また、本明細書で開示する実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
【００３０】
[0034]本明細書で開示する実施形態に関して説明した方法、シーケンスおよび/またはアルゴリズムは、ハードウェアで直接実装されるか、プロセッサによって実行されるソフトウェアモジュールで実装されるか、またはそれらの２つの組合せで実装され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭ（登録商標）メモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに一体化され得る。したがって、本発明の一実施形態は、開示および請求する実施形態を実行するための方法を実施するコンピュータ可読媒体を含むことができる。したがって、本発明は、図示の例に限定されるものではなく、本明細書で説明した機能を実行するための任意の手段が本発明の実施形態に含まれる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
集積回路のためのクロック分配ネットワークを展開する方法（１００）であって、ステップが、
クロックシンク間のタイミング不一致を含むクロックスキューのソースをキャプチャすることと、
クロック分配ネットワークと組合せ論理とを備える２Ｄレイアウトを生成するために、前記集積回路とクロックスキューの前記ソースとのより高いレベルの挙動記述を合成する（１０２）ことと、
前記クロック分配ネットワークを前記組合せ論理から分離し（１０４）、前記クロック分配ネットワークを前記集積回路の第１のエリアに配置することと、
前記第１のエリアの前記組合せ論理をフロアプランする（１０６）こととを備える、方法。
［Ｃ２］
前記第１のエリアの前記クロック分配ネットワークにさらなる最適化を適用する（１１０）ステップをさらに備える、Ｃ１に記載の方法。
［Ｃ３］
前記さらなる最適化がクロックツリー合成（２１４）を備える、Ｃ２に記載の方法。
［Ｃ４］
前記さらなる最適化がブロックレベルルーティング（２１６）を備える、Ｃ３に記載の方法。
［Ｃ５］
前記さらなる最適化がポストルート最適化（２１８）を備える、Ｃ４に記載の方法。
［Ｃ６］
前記集積回路がマルチティア回路（３１）を備え、
前記第１のエリアが前記マルチティア回路の第１のティア（３４）を備え、
前記組合せ論理が前記マルチティア回路の第２のティア（３６）に配置されたＣ２に記載の方法。
［Ｃ７］
前記第１のティアが前記第２のティア隣接する、Ｃ６に記載の方法。
［Ｃ８］
前記クロック分配ネットワークから前記組合せ論理への接続がビア（１３）を備える、Ｃ６に記載の方法。
［Ｃ９］
前記ビアがティア間ビアを備える、Ｃ８に記載の方法。
［Ｃ１０］
前記ティア間ビアが高密度を備える、Ｃ９に記載の方法。
［Ｃ１１］
前記組合せ論理が非タイミングクリティカル組合せ論理（４０）をさらに備え、
前記非タイミングクリティカル組合せ論理が前記マルチティア回路の第３のティア（３８）に配置されたＣ６に記載の方法。
［Ｃ１２］
前記第３のティアが前記第１のティア隣接しない、Ｃ１１に記載の方法。
［Ｃ１３］
前記組合せ論理が前記マルチティア回路の第４のティア（３２）にさらに配置され、
前記第４のティアが前記第１のティア隣接するＣ６に記載の方法。
［Ｃ１４］
前記組合せ論理がさらなる非タイミングクリティカル組合せ論理（４０）を備え、
前記さらなる非タイミングクリティカル組合せ論理が前記マルチティア回路の第５のティア（３９）に配置されたＣ１３に記載の方法。
［Ｃ１５］
前記第５のティアが前記第１のティア隣接しない、Ｃ１４に記載の方法。
［Ｃ１６］
集積回路（３３）装置のクロック分配ネットワーク（３４）であって、
前記集積回路の第１のエリア（３４）に分離された前記クロック分配ネットワークと、
前記集積回路の第２のエリア（３６）に分離された前記集積回路の組合せ論理（２０）と、
前記第１のエリアを前記第２のエリアに接続するビア（１５）とを備える装置。
［Ｃ１７］
前記集積回路がマルチティア回路（３４、３６）を備え、
前記第１のエリアが前記マルチティア回路の第１のティア（３４）を備え、
前記第２のエリアが前記マルチティア回路の第２のティア（３６）を備えるＣ１６に記載の装置。
［Ｃ１８］
前記第１のティアが前記第２のティア隣接する、Ｃ１７に記載の装置。
［Ｃ１９］
前記ビアがティア間ビア（１５）を備える、Ｃ１６に記載の装置。
［Ｃ２０］
前記ティア間ビアが高密度を備える、Ｃ１９に記載の装置。
［Ｃ２１］
前記集積回路が非タイミングクリティカル組合せ論理（４０）をさらに備え、前記非タイミングクリティカル組合せ論理が前記集積回路の第３のエリア（３８）に分離され、
前記第３のエリアが前記マルチティア回路の第３のティアを備えるＣ１７に記載の装置。
［Ｃ２２］
前記第３のティアが前記第１のティア隣接しない、Ｃ２１に記載の装置。
［Ｃ２３］
前記組合せ論理が前記マルチティア回路の第４のティア（３２）にさらに配置され、
前記第４のティアが前記第１のティア隣接するＣ１７に記載の装置。
［Ｃ２４］
前記集積回路が非タイミングクリティカル組合せ論理（４０）をさらに備え、
前記非タイミングクリティカル組合せ論理が前記マルチティア回路の第５のティア（３９）に配置されたＣ２３に記載の装置。
［Ｃ２５］
前記第５のティアが前記第１のティア隣接しない、Ｃ２４に記載の装置。
【図１】
0005944590.tif 000002
【図２】
0005944590.tif 000003
【図３】
0005944590.tif 000004
【図４】
0005944590.tif 000005
【図５】
0005944590.tif 000006