(57)【要約】種々の実装形態は、多層配置で互いに隣接して配置された複数の標準セルを有する集積回路の複数の層を定義する方法に関する。集積回路は、層間接続部で接続された多層ネットを含む。方法は、層間接続部を同一ネットに属する層間接続部ペアとしてペア化することを含む。方法は、複数の層の層間接続ペア部の有無によらず複数の標準セルのうちの１つ以上のセルを複数のグループにグループ化することを含む。方法は、層間接続部ペアの有無によらず複数の標準セルの物理的場所の周囲に多層フェンス境界を生成することにより、複数のグループの各グループ内で層間接続部ペアの有無によらず複数の標準セルを関連付けることを含む。方法は、層間接続部の位置によらず複数の標準セルの位置を反復的に調整することにより、層間接続部の位置によらず複数の標準セルの位置を最適化されたまたは正当な位置に収束させることを含む。
2021519520.tif 000002
【特許請求の範囲】
【請求項１】
多層配置で互いに隣接して配置された複数の標準セルを有する集積回路であって、層間接続部で接続された多層ネットを含む前記集積回路の複数の層を定義すること、
前記層間接続部を同一ネットに属する層間接続部ペアとしてペア化すること、
複数の層の前記層間接続部ペアの有無によらず前記複数の標準セルのうちの１つ以上のセルを複数のグループにグループ化すること、
前記層間接続部ペアの有無によらず前記複数の標準セルの物理的場所の周囲に多層フェンス境界を生成することにより、前記複数のグループの各グループ内で前記層間接続部ペアの有無によらず前記複数の標準セルを関連付けること、
前記層間接続部の場所によらず前記複数の標準セルの場所を反復的に調整することにより、前記層間接続部の場所によらず前記複数の標準セルの場所を最適化された場所または正当な場所に収束させること、
を備える方法。
【請求項２】
前記集積回路が３次元集積回路（３ＤＩＣ）を含む、請求項１に記載の方法。
【請求項３】
前記層間接続部の場所によらず前記複数の標準セルの場所が同時に反復的に調整されることにより、前記層間接続部の場所によらず前記複数の標準セルの場所が前記最適化された場所または正当な場所に収束する、請求項１または２に記載の方法。
【請求項４】
前記複数の層が第１の層と第２の層を含み、前記第１の層および前記第２の層が、前記多層配置内で互いに隣接して配置された複数の標準セルを含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記複数の層を定義することは、
前記第１の層および前記第２の層から前記複数の標準セルのうちの１つ以上のセルを選択することであって、前記第１の層から第１のアンカーセルを選択するとともに、前記第２の層から第２のアンカーセルを選択することを含む、前記複数の標準セルのうちの１つ以上のセルを選択すること、
前記第２の層内の前記第２のアンカーセルの場所に対して前記第１の層内の第１のプロキシセルの場所を追加するとともに、前記第１の層内の前記第１のアンカーセルの場所に対して前記第２の層内の第２のプロキシセルを異なる場所に追加することによって、前記第１の層内の前記第１のアンカーセルを前記第２の層内の前記第２のアンカーセルに関連付けること、
を含む、請求項４に記載の方法。
【請求項６】
前記層間接続部を前記同一ネットに属する前記層間接続部ペアとしてペア化することは、
前記第１のアンカーセル、前記第１のプロキシセル、前記第２のアンカーセル、および前記第２のプロキシセルを同一の多層ネット内にグループ化し、当該多層ネットの周囲に前記多層フェンス境界を生成することによって、前記第１の層内の前記第１のアンカーセルを前記第２の層内の前記第２のアンカーセルとペア化することを含む、請求項５に記載の方法。
【請求項７】
前記層間接続部の場所によらず前記複数の標準セルの場所を反復的に調整することは、
前記多層ネット内の前記第１のプロキシセルの場所と前記第２のプロキシセルの場所を固定して前記多層フェンス境界を縮小することにより、前記第２の層内の前記第２のアンカーセルの場所と前記第１の層内の前記第１のアンカーセルの場所を同じ場所に近接させるように収束させることを含む、請求項６に記載の方法。
【請求項８】
前記最適化された場所または正当な場所における前記層間接続部の前記調整された場所によらず前記複数の標準セルの前記調整された場所に基づいて前記多層配置内で前記複数の標準セルが互いに隣接して配置された前記集積回路を製造するまたは製造させることをさらに備える請求項１〜７のいずれか一項に記載の方法。
【請求項９】
多層配置で互いに隣接して配置された複数の標準セルを有する集積回路内の第１の層および第２の層を定義すること、
前記第１の層内の第１のアンカーセルと前記第２の層内の第２のアンカーセルとを多層ネット内にグループ化し、当該多層ネットの周囲に多層フェンス境界を生成することによって、前記第１のアンカーセルと前記第２のアンカーセルとをペア化すること、
前記多層ネット内の第１のプロキシセルの場所と第２のプロキシセルの場所とを固定して前記多層フェンス境界を縮小することによって前記第２の層内の前記第２のアンカーセルの場所と前記第１の層内の前記第１のアンカーセルの場所を互いに接近させるように反復的に調整することにより、前記第２の層内の前記第２のアンカーセルの場所と前記第１の層内の前記第１のアンカーセルの場所を同じ場所に近接させるように収束させること、
前記第２の層内の前記第２のアンカーセルの前記調整された位置に基づいてまたは前記第１の層内の前記第１のアンカーセルの前記調整された位置に基づいて前記多層配置内で前記第１および第２のアンカーセルが互いに隣接して配置された前記集積回路を製造するまたは製造させること、
を備える方法。
【請求項１０】
前記第１の層および前記第２の層から前記複数の標準セルのうちの１つ以上のセルを選択することであって、前記第１の層から前記第１のアンカーセルを選択するとともに、前記第２の層から前記第２のアンカーセルを選択することを含む、前記複数の標準セルのうちの１つ以上のセルを選択すること、
前記第２の層内の前記第２のアンカーセルの場所に対して前記第１の層内の第１のプロキシセルの場所を追加するとともに、前記第１の層内の前記第１のアンカーセルの場所に対して前記第２の層内の第２のプロキシセルを異なる場所に追加することによって、前記第１の層内の前記第１のアンカーセルを前記第２の層内の前記第２のアンカーセルに関連付けること、
をさらに備え、
前記第１の層内の前記第１のアンカーセルと前記第２の層内の前記第２のアンカーセルとをペア化することは、前記第１のアンカーセル、前記第１のプロキシセル、前記第２のアンカーセル、および前記第２のプロキシセルを前記多層ネット内にグループ化し、当該多層ネットの周囲に前記多層フェンス境界を生成することを含む、請求項９に記載の方法。
【請求項１１】
前記集積回路は互いに平行な複数のレイヤを含み、前記複数のレイヤの各レイヤが層を構成し、前記第１の層は第１のレイヤを含み、前記第２の層は前記第１のレイヤに平行な第２のレイヤを含み、前記複数のレイヤは互いに重なるように配置されており、前記第１の層が前記第２の層と重なっている、請求項９または１０に記載の方法。
【請求項１２】
前記集積回路は層間ビアとともに前記複数の標準セルを含み、前記多層ネットは、前記第１の層と前記第２の層との間の層間接続部を含む、請求項９〜１１のうちのいずれか一項に記載の方法。
【請求項１３】
前記多層フェンス境界は、
前記第１のアンカーセルと前記第１のプロキシセルとを囲む前記第１の層のエリア内に画定された第１の矩形領域と、
前記第２のアンカーセルと前記第２のプロキシセルとを囲む前記第２の層のエリア内に画定された第２の矩形領域と、
を含む、請求項９〜１２のうちのいずれか一項に記載の方法。
【請求項１４】
前記第２のプロキシセルに向かう方向において前記第２の層内の前記第２のアンカーセルに第１の力が加えられることにより、前記第２の層内の前記第２のアンカーセルの場所と前記第１の層内の前記第１のアンカーセルの場所が同じ場所に近接するように収束される、請求項９〜１３のうちのいずれか一項に記載の方法。
【請求項１５】
前記第１のアンカーセルに向かう方向において前記第１の層内の前記第１のプロキシセルに、前記第１の力と一致するように第２の力が加えられることにより、前記第２の層内の前記第２のアンカーセルの場所と前記第１の層内の前記第１のアンカーセルの場所が同じ場所に近接するよう収束することが支援される、請求項１４に記載の方法。
【請求項１６】
前記反復的に調整することは、前記第１のアンカーセルが前記第２のアンカーセルと重なるように前記第１の層内の前記第１のアンカーセルに対する前記第２の層内の前記第２のアンカーセルの場所の位置合わせを直接制約することを指す、請求項９〜１５のうちのいずれか一項に記載の方法。
【請求項１７】
前記反復的に調整することは、前記第１の層内の前記第１のアンカーセルとの位置合わせにおいて前記第２のプロキシセルに向かう方向に前記第２のアンカーセルが移動するように、前記第２の層内の前記第２のプロキシセルに対して前記第２の層内の前記第２のアンカーセルの力指向配置を使用することに関連する、請求項９〜１６のうちのいずれか一項に記載の方法。
【請求項１８】
前記反復的に調整することは、複数の反復にわたり小規模ステップ調整を使用することで前記第２の層内の前記第２のプロキシセルに接近させるように前記第２の層内の前記第２のアンカーセルを徐々に移動させることにより、前記第２の層内の前記第２のアンカーセルの場所と前記第１の層内の前記第１のアンカーセルの場所を同じ場所に近接させるように収束させることを含む、請求項９〜１７のうちのいずれか一項に記載の方法。
【請求項１９】
前記第２の層内の前記第２のアンカーセルの場所を前記第１の層内の前記第１のアンカーセルの場所に近接させるように収束させることは、前記多層配置内における前記複数の標準セルの共配置に関し、当該共配置は、前記第１の層内の前記第１のアンカーセルの場所と実質的に同じ前記第２の層内の前記第２のプロキシセルの場所に対して前記第２のアンカーセルの場所を前記多層フェンス境界内で移動させるような前記第１のアンカーセルと前記第２のアンカーセルの共配置を含む、請求項９〜１８のうちのいずれか一項に記載の方法。
【請求項２０】
プロセッサと、
前記プロセッサによって実行されたときに前記プロセッサに以下の動作を実施させる命令を記憶したメモリであって、当該命令により、前記プロセッサが、
多層配置で互いに隣接して配置された複数の標準セルを有する３次元集積回路（３ＤＩＣ）であって、層間接続部で接続された多層ネットを含む前記集積回路の複数の層を定義し、
前記層間接続部を同一ネットに属する層間接続部ペアとしてペア化し、
複数の層の前記層間接続部ペアの有無によらず前記複数の標準セルのうちの１つ以上のセルを複数のグループにグループ化し、
前記層間接続部ペアの有無によらず前記複数の標準セルの物理的場所の周囲に多層フェンス境界を生成することにより、前記複数のグループの各グループ内で前記層間接続部ペアの有無によらず前記複数の標準セルを関連付けし、
前記層間接続部の場所によらず前記複数の標準セルの場所を反復的に調整することにより、前記層間接続部の場所によらず前記複数の標準セルの場所を最適化された場所または正当な場所に同時に収束させる、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、概して、集積回路の製造に関する。
【背景技術】
【０００２】
現在の集積回路の製造において、従来型のセルアーキテクチャ設計は、通常、２次元電子設計自動化（ＥＤＡ）ツールで生成されるが、使用する上で非効率的で扱い難いものとなっている。いくつかの２Ｄ設計フローは、標準セルと層間ビアの位置を決定するために２Ｄ配置ソリューションを直接採用する場合があるが、３次元（３Ｄ）最適化の結果は限られている。他のいくつかの２Ｄ設計フローは、複数の層にわたる３Ｄ最適化のためにブロック分割を提案する。しかしながら、層間ビアの位置は、通常、単一の層からの２Ｄ配置ソリューションによって決定されるため、複数の層間での相互最適化を欠くものとなっている。
【発明の概要】
【０００３】
本明細書には、方法の種々の実装形態が記載される。方法は、多層配置で互いに隣接して配置された複数の標準セルを有する集積回路の複数の層を定義することを含み得る。前記集積回路は、層間接続部で接続された多層ネットを含み得る。方法は、前記層間接続部を同一ネットに属する層間接続部ペアとしてペア化することを含み得る。方法は、複数の層の前記層間接続ペア部の有無によらず前記複数の標準セルのうちの１つ以上のセルを複数のグループにグループ化することを含み得る。方法は、前記層間接続部ペアの有無によらず前記複数の標準セルの物理的場所の周囲に多層フェンス境界を生成することにより、前記複数のグループの各グループ内で前記層間接続部ペアの有無によらず前記複数の標準セルを関連付けることを含み得る。方法は、前記層間接続部の位置（または場所）によらず前記複数の標準セルの位置（または場所）を反復的に調整することにより、前記層間接続部の位置（または場所）によらず前記複数の標準セルの位置（または場所）を所定の最適化されたまたは正当な位置（または場所）に収束させることを含み得る。
【０００４】
添付の図面を参照して、種々の技術の実装形態が本明細書で説明される。しかしながら、添付の図面は、本明細書に記載される種々の実装形態のみを例示するものであり、本明細書に記載される種々の技術の実施形態を限定することを意図するものではない。
【図面の簡単な説明】
【０００５】
【図１Ａ】本明細書に記載される種々の実装形態による多層集積回路の斜視図を示す。
【図１Ｂ】本明細書に記載される種々の実装形態による多層集積回路の斜視図を示す。
【図２Ａ】本明細書に記載される種々の実装形態による複数層の２次元（２Ｄ）平面図を示す。
【図２Ｂ】本明細書に記載される種々の実装形態による複数層の２次元（２Ｄ）平面図を示す。
【図２Ｃ】本明細書に記載される種々の実装形態による複数層の２次元（２Ｄ）平面図を示す。
【図２Ｄ】本明細書に記載される種々の実装形態による複数層の２次元（２Ｄ）平面図を示す。
【図２Ｅ】本明細書に記載される種々の実装形態による複数層の２次元（２Ｄ）平面図を示す。
【図２Ｆ】本明細書に記載される種々の実装形態による複数層の２次元（２Ｄ）平面図を示す。
【図３Ａ】本明細書に記載される種々の実装形態による複数層の他の２次元（２Ｄ）平面図を示す。
【図３Ｂ】本明細書に記載される種々の実装形態による複数層の他の２次元（２Ｄ）平面図を示す。
【図３Ｃ】本明細書に記載される種々の実装形態による複数層の他の２次元（２Ｄ）平面図を示す。
【図４】本明細書に記載される種々の実装形態による種々の複数層にわたる標準セルおよび／または層間ビアの共配置を可能にする最適化方法を説明する図である。
【図５】本明細書に記載される種々の実装形態による種々の複数層にわたる標準セルおよび／または層間ビアの共配置を可能にする最適化方法を説明する図である。
【図６】本明細書に記載される種々の実装形態による種々の複数層にわたる標準セルおよび／または層間ビアの共配置を可能にする最適化方法を説明する図である。
【図７】本明細書に記載される種々の実装形態による集積回路を製造する方法のプロセスフローを示す図である。
【図８】本明細書に記載される実装形態による集積回路内の標準セルの多層共配置のためのシステムを示す図である。
【図９】本明細書に記載される種々の実装形態による多層フェンス境界を反復的に調整する方法を示す図である。
【発明を実施するための形態】
【０００６】
本明細書に記載される種々の実装形態は、例えば、３次元集積回路（３ＤＩＣ）を含む集積回路向け多層共配置（multi-tier co-placement）に言及してそれを対象とするものである。本明細書で以下に説明されるように、種々の３ＤＩＣ設計手法が、標準セルおよび／または層間ビアの多層共配置に関して提供される。共配置は、反復境界手順および配置指示器（またはエンジン）を使用して実現され得る。反復境界手順は、標準セルおよび／または層間ビアの多層（領域）フェンス境界化、クラスタ化／グループ化で実装され得る。多層（領域）フェンス境界化、クラスタ化／グループ化は、例えば、標準セルクラスタ化、多層フェンスなどの電子自設計自動化（ＥＤＡ：Electronic Design Automation）インターフェースで実装され得る。反復的な多層（領域）フェンス境界化（またはクラスタ化やグループ化）は、一対の標準セル／層間ビアに限定されず、複数層にわたる一連の標準セル／層間ビアのグループ化／クラスタ化に拡張することができる。結果の質に関して、本明細書に記載される反復多層フェンス境界化技術は、標準セルおよび／または層間ビアのグループの境界ボックスに反復縮小スキームを提供する。配置指示器（またはエンジン）は、２Ｄまたは３Ｄ配置エンジンであり得る。標準セル／層間ビアの共配置により、層間ビアの最終的な位置を層間ビアの任意のグリッド構造に容易に適応させることが可能となる。共配置が２Ｄ配置エンジンで実装されている場合、反復境界化により、層間ビアの位置を任意のグリッド構造に収束させることができる。共配置は３Ｄ配置エンジンで実装することもでき、この３Ｄ配置エンジンは、配置結果を取得して、任意のグリッド構造に基づいて層間ビアの位置を決定することができる。本明細書に記載される種々の実装形態は、２層３ＤＩＣに限定されず、任意数の所与の層間での標準セルおよび層間ビアの配置に拡張することが可能である。本明細書に記載される種々の実装形態は、例えば、モノリシック３Ｄ、フェイスツーフェース（face-to-face）ボンディング、シリコン貫通ビア（ＴＳＶ）などの種々のタイプの３Ｄ技術に適応可能であり得る。さらに、本明細書に記載される種々の実装形態は、２Ｄ−ＥＤＡツールを使用して３ＤＩＣ設計の結果の質を向上させることができる。
【０００７】
以下、図１Ａ〜図９を参照して、集積回路向け多層共配置の種々の実装形態について詳しく説明する。
図１Ａおよび図１Ｂは、本明細書に記載される種々の実装形態による多層集積回路１００の斜視図１００Ａ，１００Ｂを示す。いくつかの例では、多層集積回路（ＩＣ）１００は、多層アーキテクチャで配置された複数のレイヤを有する３次元集積回路（３ＤＩＣ）と呼ばれる場合もある。多層ＩＣ１００は、ｘ、ｙ、ｚ方向構成１２０で配向される。
【０００８】
図１Ａに示されるように、多層集積回路１００は、集積回路１００の一部として定義される第１の層１０２および第２の層１０４を含み、それらは、多層配置で互いに隣接して配置される複数の標準セル１１２，１１４を含み得る。いくつかの例では、多層集積回路（ＩＣ）１００は、層間ビアとともに複数の標準セル１１２，１１４を含み、後述するように、多層ネットは、第１の層１０２と第２の層１０４との間の層間接続部を含む。第１の層１０２は、その内部に埋め込まれた（またはその一部として）１つ以上の第１の標準セル１１２を有する第１の基板レイヤ１０６により具現化され、第２の層１０４は、その内部に埋め込まれた（またはその一部として）１つ以上の第２の標準セル１１４を有する第２の基板レイヤ１０８により具現化され得る。さらに、多層ＩＣ１００は、互いに平行な複数の層１０２，１０４を含み得る。多層構造の各層１０２，１０４は、レイヤとも呼ばれ得る。したがって、例えば、第１の層１０２を第１のレイヤとし、第２の層１０４を第１のレイヤに平行な第２のレイヤとしてもよく、複数のレイヤは、第１の層１０２が第２の層１０４に（またはその逆で）重なるように互いに重なり合うように配置されている。
【０００９】
第１の層１０２の１つまたは複数の第１の標準セル１１２は、第１のアンカーセル１１２Ａ、第２のアンカーセル１１２Ｂ、第３のアンカーセル１１２Ｃ、第４のアンカーセル１１２Ｄ、および第５のアンカーセル１１２Ｅを含み得る。第２の層１０４の１つまたは複数の第２標準セル１１４は、第１のアンカーセル１１４Ａ、第２のアンカーセル１１４Ｂ、第３のアンカーセル１１４Ｃ、第４のアンカーセル１１４Ｄ、および第５のアンカーセル１１４Ｅを含み得る。図示されるように、第１の層１０２におけるそれぞれのアンカーセル１１２は、第２の層１１４におけるそれぞれの第２のアンカーセル１１４とペアにされ得る。例えば、第１の層１０２内の第１のアンカーセル１１２Ａと第２の層１０４内の第１のアンカーセル１１４Ａとは、第１のアンカーセル１１２Ａと第２のアンカーセル１１４Ａとを多層ネット内にグループ化し、その多層ネットの周囲に多層（３Ｄ）フェンス境界１４０を生成することによって、ペアとされ得る。同様に、図示されるように、第１の層１０２における他のアンカーセル１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅは、第２の層１０４における対応するアンカーセル１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅとペアとされ得る。いくつかの実装形態では、多層（３Ｄ）フェンス境界１４０は、領域フェンス、領域フェンス境界、および／またはフェンス境界とも呼ばれ得る。
【００１０】
多層（３Ｄ）フェンス境界１４０は、例えば、第１の矩形領域１４０Ａと第２の矩形領域１４０Ｂと垂直横断領域１４０Ｃとを含む複数の構成要素（または部品）を含み得る。垂直横断領域１４０Ｃは例示の目的であり、実際の物理的実装では、垂直横断領域１４０Ｃは存在し得ないことが理解され得る。例えば、図１Ｂに示されるように、第１の矩形領域１４０Ａは、第１の層１０２内における第１のアンカーセル１１２Ａと第１のプロキシセル１２２Ａとを囲む第１の層１０２のエリア（またはその一部）内に画定され得る。第２の矩形領域１４０Ｂは、第２の層１０４内における第１のアンカーセル１１４Ａと第２のプロキシセル１２４Ａとを囲む第２の層１０４のエリア（またはその一部）内に画定され得る。垂直横断領域１４０Ｃは、第１の矩形領域１４０Ａと第２の矩形領域１４０Ｂとの間に画定され、第１の層１０２と第２の層１０４との間に延在する。種々の実装形態において、プロキシセルは、異なる層に配置されたアンカーセルを表す代理（stand-in）アンカーセルとして機能する代替アンカーセルを指し、疑似セル、バッファセル、または代理（surrogate）アンカーセルとも呼ばれ得る。
【００１１】
図１Ｂを参照すると、複数の標準セル１１２，１１４のうちの１つ以上のセル（例えば、１１２Ａ，１１４Ａ）が第１の層１０２および第２の層１０４から選択され得るが、これは、第１の層１０２から第１のアンカーセル１１２Ａを選択するとともに、第２の層１０４から第１のアンカーセル１１４Ａを選択することを含む。さらに、第１の層１０２における第１のアンカーセル１１２Ａと第２の層１０４における第１のアンカーセル１１４Ａとは、第２の層１０４の第１のアンカーセル１１４Ａの位置（または場所）に対して第１の層１０２の第１のプロキシセル１２２Ａの場所を追加（または配置）し、第１の層１０２の第１のアンカーセル１１２Ａの位置（または場所）に対して第２の層１０４の第２のプロキシセル１２４Ａを別の場所に追加（または配置）することによって、関連付けられ得る。本明細書に記載される種々の実装形態において、「位置」という用語は、「場所」という用語を指すことがあり、これらの用語は、本開示の範囲を変更することなく置換可能と見なされ得る。したがって、いくつかの例では、第１の層１０２における第１のアンカーセル１１２Ａと第２の層１０４における第１のアンカーセル１１４Ａとは、（第１の層１０２の）第１のアンカーセル１１２Ａと、（第１の層１０２の）第１のプロキシセル１２２Ａと、（第２の層１０４の）第１のアンカーセル１１４Ａと、（第２の層１０４の）第２のプロキシセル１２４Ａとをグループ化し、多層ネット全体の周囲に多層フェンス境界１４０を生成することによって、ペアとされ得る。この例では、図１Ｂに示されるように、多層フェンス境界１４０は、３次元（３Ｄ）多層フェンス境界として具体化され得る。同様に、図示されるように、第１の層１０２における他のアンカーセル１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅは、（第１の層１０２の）対応するプロキシセル１２２Ｂ，１２２Ｃ，１２２Ｄ，１２２Ｅと、（第２の層１０４の）対応するアンカーセル１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅと、（第２の層１０４の）対応するプロキシセル１２４Ｂ，１２４Ｃ，１２４Ｄ，１２４Ｅとともに他の多層ネット内にグループ化され得る。この場合、各グループは、各々の多層ネットグループ全体の周囲に独自の多層フェンス境界を含み得る。
【００１２】
本明細書で以下に説明するように、第１の層１０２の第１のアンカーセル１１２Ａに対する第２の層１０４の第１のアンカーセル１１４Ａの位置（または場所）は、これらのセル１１４Ａ，１１２Ａがそれぞれの層１０２，１０４で移動して互いに近づくように、反復的に調整され得る。この移動は、多層ネット内で（第１の層１０２の）第１のプロキシセル１２２Ａの位置と（第２の層１０４の）第２のプロキシセル１２４Ａの位置を固定し、多層フェンス境界１４０を縮小（または小さくする）することによって、第２の層１０４内の第１のアンカーセル１１４Ａの位置（または場所）を、第１の層１０２内の第１のアンカーセル１１２Ａの位置（または場所）と同じ場所（または位置）に近接させるように収束させることによって達成され得る。さらに、本明細書で以下に説明するように、多層集積回路（ＩＣ）１００は、第２の層１０４における第２のアンカーセル１１４Ａ（またはその逆）の調整位置（または場所）に基づいて第１および第２のアンカーセル１１２Ａ，１１４Ａが多層配置内で互いに隣接して配置されるように製造され得るか製造させられ得る。なお、「位置」という用語と「場所」という用語は同様の意味を有し、これら「位置」という用語と「場所」という用語は、同じ扱いで置換可能とされ得る。
【００１３】
図２Ａ〜図２Ｆは、図１Ａおよび図１Ｂに関連する上記の説明を参照して、本明細書に記載される種々の実装形態による複数の層１０２，１０４の平面図２００Ａ，２００Ｂ，２００Ｃ，２００Ｄ，２００Ｅ，２００Ｆを示す。
【００１４】
図２Ａは、特に、多層配置内で互いに隣接して配置された複数の標準セル１１２Ａ〜１１２Ｅ，１１４Ａ〜１１４Ｅを有する多層集積回路１００の第１の層１０２および第２の層１０４を定義することを示している。図２Ａに示されるように、第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅの各々は、第２の層１０４内の対応するアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅの各々とペアにされ得る。図２Ｂに示されるように、第１の層１０２内のプロキシセル１２２Ａ，１２２Ｂ，１２２Ｃ，１２２Ｄ，１２２Ｅの各々は、第１の層１０２内の対応するアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅの各々と関連付けられ得る（例えば、仮想的に関連するものとされるか、またはその仮想インスタンスとされる）。さらに、第２の層１０４内のプロキシセル１２４Ａ，１２４Ｂ，１２４Ｃ，１２４Ｄ，１２４Ｅの各々は、第２の層１０４内の対応するアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅの各々と関連付けられ得る（例えば、仮想的に関連するものとされるか、またはその仮想インスタンスとされる）。
【００１５】
この場合、例えば、図２Ａおよび図２Ｂは、第２の層１０４内の第１のアンカーセル１１４Ａの位置（または場所）に対して第１の層１０２内の第１のプロキシセル１２２Ａの場所を追加（または配置）し、第１の層１０２内の第１のアンカーセル１１２Ａの位置（または場所）に対して第２の層１０４内の第２のプロキシセル１２４Ａを別の場所に追加（または配置）することによって、第１の層１０２内の第１のアンカーセル１１２Ａを第２の層１０４内の第１のアンカーセル１１４Ａに関連付けることを示している。
【００１６】
図２Ａは、アーキテクチャおよびブロックレベルの分割および初期配置を参照して、円で示される標準セルおよび／または層間ビアのセットの場所を示す。破線は２つの円のペアを接続し、標準セルおよび／または層間ビアの２つのグループは、第１の層１０２および第２の層１０４などの複数の層にまたがっている。同図は、同じ電気接続部に属する一連の層間ビアを指しており、この例では、同じ電気接続部に属する層間ビアのペアについて、グリッド位置合わせを可能にするべくｘｙ座標で互いに位置合わせされる２つの層にまたがる種々の層間ビアの場所（有効な層間ビアの場所は図２Ｆを参照して後述する）が提供される。
【００１７】
図２Ｃ〜２Ｆは、プロキシセル１２２Ａ，１２２Ｂ，１２２Ｃ，１２２Ｄ，１２２Ｅの位置とプロキシセル１２４Ａ，１２４Ｂ，１２４Ｃ，１２４Ｄ，１２４Ｅの位置を多層ネット内で固定することにより、第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅの位置と第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅの位置を互いに接近させるように反復的に調整することを示している。いくつかの場合において、これらのプロキシセル１２４Ａ〜１２４Ｅは単一の電気ネットに属さず単一のバスに属する場合があるが、この場合、バスはネットの集合を指してもよく、各ネットが多層ネットであってもよい。いくつかの例において、これは、多層（３Ｄ）フェンス境界１４０を（例えば、図１Ｂに示されるように）縮小することによって、第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅの位置（または場所）と第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅの位置（または場所）を同じ場所（または位置）に近接させるように収束させることによって達成され得る。概して、「位置」という用語と「場所」という用語は同様の意味を有し、これら「位置」という用語と「場所」という用語は、同じ扱いで置換可能とされ得る。
【００１８】
例えば、図２Ｃ〜図２Ｆを参照すると、第２の層１０４内の第１のアンカーセル１１４Ａの位置は、第１のプロキシセル１２２Ａと第２のプロキシセル１２４Ａの位置を多層ネット内で固定することにより、第１の層１０２内の第１のアンカーセル１１２Ａに対して互いに接近するように反復的に調整され得る。上記のように、これは、多層フェンス境界１４０を（図１Ｂに示すように）縮小することによって、第２の層１０４の第１のアンカーセル１１４Ａの場所と第１の層１０２の第１のアンカーセル１１４Ａの位置を同じ場所（または位置）に近接させるように収束させることによって達成され得る。
【００１９】
いくつかの実装形態では、図２Ｃ〜図２Ｆを参照すると、第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅとプロキシセル１２４Ａ，１２４Ｂ，１２４Ｃ，１２４Ｄ，１２４Ｅとの間に第１の力１３２が加えられることにより、第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅの位置と第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅの位置が互いに接近するように収束する。例えば、第２の層１０４内の第１のアンカーセル１１４Ａと第２の層１０４内の第１のプロキシセル１２４Ａとの間、および第１の層内の第１のアンカーセル１１２Ａと第１の層内の第１のプロキシセル１２２Ａとの間に第１の力１３２が加えられることにより、第２の層１０４内の第１のアンカーセル１１４Ａと第１の層１０２内の第１のアンカーセル１１２Ａの位置が同じ場所に収束する。
【００２０】
同様に、いくつかの実装形態では、第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅとプロキシセル１２４Ａ，１２４Ｂ，１２４Ｃ，１２４Ｄ，１２４Ｅとの間に第２の力１３４が加えられることにより、第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅの位置と第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅの位置が互いに接近するように収束する。例えば、第２の力１３４が第１の力１３２と実質的に一致するように第１の層１０２内の第１のプロキシセル１２２Ａと第１の層１０２内の第１のアンカーセル１１２Ａとの間に第２の力１３４が加えられることにより、第２の層１０４内の第１のアンカーセル１１４Ａと第１の層１０２内の第１のアンカーセル１１２Ａの位置が同じ場所に収束する。
【００２１】
図３Ａ〜図３Ｃは、図１Ａ〜図２Ｆに関連する上記の説明を参照して、第１の層１０２および第２の層１０４の２次元（２Ｄ）平面図を示す。
図３Ａは、特に、プロキシセル１２２，１２４に向かう方向において第１および第２の層１０２，１０４内のアンカーセル１１２，１１４に力１３２，１３４を加えることにより、第１および第２の層１０２，１０４内のアンカーセル１１２，１１４が、それらのそれぞれの層１０２，１０４内で互いに接近するように収束する例を示している。この概念は、図１Ａ〜図２Ｆを参照して上述したものである。
【００２２】
図３Ａはさらに、第２の層内の第２のアンカーセルの位置に対して第１の層内の第１のプロキシセルの場所を追加し、第１の層内の第１のアンカーセルの位置に対して第２の層内の第２のプロキシセルを別の場所に追加することによって、第１の層内の第１のアンカーセルを第２の層内の第２のアンカーセルに関連付ける例を示している。
【００２３】
図３Ｂは、第１の層１０２内の第１のアンカーセル１１２Ａと第１の層１０２内の第１のプロキシセル１２２Ａを多層ネット内でグループ化し、その多層ネットの周囲において第１の層１０２内に多層フェンス境界１４０，１４０Ａを生成することにより、第１のアンカーセル１１２Ａを第１のプロキシセル１２２Ａとペア化することを示している。したがって、図３Ｂはさらに、第１の層１０２内の第１のアンカーセル１１２Ａと第１のプロキシセル１２２Ａとを囲む第１の層１０２のエリア内に画定された第１の矩形領域１４０Ａを有する多層フェンス境界１４０の例を示している。
【００２４】
図３Ｃは、第２の層１０４内の第１のアンカーセル１１４Ａと第２の層１０４内の第１のプロキシセル１２４Ａを多層ネット内でグループ化し、その多層ネットの周囲において第２の層１０４内に多層フェンス境界１４０、１４０Ｂを生成することにより、第１のアンカーセル１１４Ａを第１のプロキシセル１２４Ａとペア化することを示している。したがって、図３Ｃはさらに、第２の層１０４内の第１のアンカーセル１１４Ａと第１のプロキシセル１２４Ａとを囲む第２の層１０４のエリア内に画定された第２の矩形領域１４０Ｂを有する多層フェンス境界１４０の例を示している。
【００２５】
いくつかの実装形態において、図１Ａ〜３Ｃを参照すると、反復的に調整することは、第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅに対する第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅの位置の位置合わせを直接制約することにより、第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅが第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅと重なることを指し得る。いくつかの実装形態において、反復的に調整することは、第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅとの位置合わせにおいて第２の層１０４内のプロキシセル１２４Ａ，１２４Ｂ，１２４Ｃ，１２４Ｄ，１２４Ｅに向かう方向に第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅが移動するように、第２の層１０４内のプロキシセル１２４Ａ，１２４Ｂ，１２４Ｃ，１２４Ｄ，１２４Ｅに対して第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅの力指向配置（force directed placement）を使用することに関連し得る。いくつかの実装形態において、反復的に調整することは、複数の反復にわたり小規模ステップ（small-scale step）調整を（例えば、図２Ｃ〜図２Ｆの順に示されるように）使用して、第２の層１０４内のプロキシセル１２４Ａ，１２４Ｂ，１２４Ｃ，１２４Ｄ，１２４Ｅに接近させるように第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅを徐々に移動させることにより、第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅの位置と第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅの位置を互いに近接させるように収束させることを含み得る。
【００２６】
さらに、いくつかの実装形態において、図１Ａ〜図３Ｃを参照すると、第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅの位置と第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅの位置を互いに近接させるように収束させることは、多層配置における標準セル１１２，１１４の共配置を指す。これは、第２の層１０４内のプロキシセル１２４Ａ，１２４Ｂ，１２４Ｃ，１２４Ｄ，１２４Ｅの位置に対して第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅの位置を多層フェンス境界１４０，１４０Ａ，１０４Ｂ内で移動させるような第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅと第２の層１０４内のアンカーセル１１４Ａ，１１４Ｂ，１１４Ｃ，１１４Ｄ，１１４Ｅとの共配置を含み得る。これは、第１の層１０２内のアンカーセル１１２Ａ，１１２Ｂ，１１２Ｃ，１１２Ｄ，１１２Ｅの位置と実質的に同じであり得る。
【００２７】
本明細書に記載される種々の実装形態は、同じ電気接続部に属する層間ビア間の引っ張り力、例えば、ばねに概念的に類似する多層フェンス境界を伴う反復を提供する。第１の層１０２を多層フェンス境界に置き換える場合、第２の層１０４の層間ビアが固定され、これにより、多層フェンス境界を使用して第１の層１０２の層間ビアに引っ張り力（およびその逆）がさらに提供される。反復を通じて、多層フェンス／引っ張り力は（同じ電気接続部に属する）層間ビアを同じｘｙ位置に引っ張る、すなわち有効なソリューションに収束し得る。この反復的な境界化手順は、標準セルおよび／または層間ビアの多層フェンス境界、グループ、またはクラスタ化を使用して実現され得る。
【００２８】
本明細書に記載される種々の実装形態によれば、図４〜図６は、３ＤＩＣの種々の複数の層にわたる標準セルおよび／または層間ビアの３Ｄ共配置を可能にする種々の最適化方法を説明する。
【００２９】
図４は、本明細書に記載される種々の実装形態による設計認識分割のための方法４００のプロセスフロー図を示す。
方法４００は、特定の動作実行順序を示しているが、いくつかの場合には、動作の種々の部分が異なる順序でおよび異なるシステムで実行されてもよい。いくつかの場合には、追加の動作および／またはステップを方法４００に追加してもよく、および／または方法４００から動作および／またはステップを省略してもよい。方法４００は、ハードウェアおよび／またはソフトウェアで実装され得る。ハードウェアで実施される場合、方法４００は、例えば、図１Ａ〜図３を参照して上述したような種々の回路構成要素で実施され得る。ソフトウェアで実装される場合、方法４００は、本明細書に記載される設計認識分割を実装するように構成され得るプログラムまたはソフトウェア命令プロセスとして実装され得る。さらに、ソフトウェアで実装される場合、方法４００の実装に関連する命令は、メモリおよび／またはデータベースに記憶され得る。例えば、プロセッサおよびメモリを有するコンピュータまたは種々の他のタイプのコンピューティングデバイスは方法４００を実行するように構成され得る。
【００３０】
図４を参照して説明され図示されるように、方法４００は、種々のタイプのＩＣアプリケーションにおける多層アーキテクチャの標準セルの直接的な共配置を実装する集積回路（例えば、３ＤＩＣ）を製造するために使用され得る。いくつかの場合には、方法４００は、標準セルの多層共配置を用いた３ＤＩＣアーキテクチャ設計を製造するために構成された専用マシンを提供するコンピューティングデバイス（例えば、図８に示されるようなコンピューティングデバイス８０４）に関連付けられ得る。
【００３１】
設計認識分割を参照すると、ブロック４１０において、方法４００は、集積回路（例えば、３ＤＩＣ）を設計するための設計モジュール間の接続情報を抽出し得る。例えば、ブロック４１２において、方法４００は、設計制約および／またはターゲットを用いて集積回路の２Ｄ設計を実施し得る。ブロック４１４において、方法４００は、分割を導くために集積回路の設計特性を抽出し得る。ブロック４１６において、方法４００は、レジスタ転送レベル（ＲＴＬ）コードを、例えば、第１（上部）グループおよび第２（下部）グループを含む２つのグループまたは分割などの複数のグループに分割し得る。
【００３２】
３Ｄ実装に関して、ブロック４２０において、方法４００は、集積回路の新たに改訂された（または修正された）設計において互いに隣接して配置された第１（上部）および第２（下部）グループまたは分割を定義し得る。ブロック４２２において、方法４００は、第１（上部）および第２（下部）のグループまたは分割の多層共配置を第１（上部）および第２（下部）層として提供し得る。ブロック４２４において、方法４００は、アンカーセルを使用して接続されている隣接する場所に第１（上部）の層と第２（下部）の層を同時に配置してルーティングし得る。
【００３３】
タイミング分析に関して、ブロック４３０において、方法４００はタイミング分析を実行し得る。ブロック４３２において、方法４００は、新たに改訂された設計がタイミング要件を満たすかどうかを決定し得る。タイミング要件を満たさない場合、方法４００は、新たに改訂された設計を調整し、ブロック４３０に移動してタイミング分析を繰り返し得る。タイミング要件を満たす場合、ブロック４３６において、方法４００は、新たに改訂された設計を有効に（または承認）し得る。ブロック４４０において、方法４００は、新たに改訂された設計を用いて集積回路の製造または製作に進み得る。
【００３４】
いくつかの実装形態において、３Ｄ実装およびタイミング分析を参照すると、方法４００は、多層配置で互いに隣接して配置された複数の標準セルを有する集積回路の複数の層を定義し得る。集積回路は、層間接続部で接続された多層ネットを含む。方法４００は、層間接続部を同一ネットに属する層間接続部ペアとしてペア化し得る。方法４００は、複数の標準セルのうちの１つ以上のセルを複数のグループにグループ化し得る、および／または複数の層の層間接続部ペアをグループ化し得る。方法４００は、複数の標準セルおよび／または層間接続部ペアの物理的場所の周囲に多層フェンス境界を生成することにより、複数のグループの各グループ内で複数の標準セルおよび／または層間接続部ペアを関連付けし得る。方法４００は、複数の標準セルの位置および／または層間接続部の位置を反復的に調整することにより、複数の標準セルの位置および／または層間接続部の位置を最適化された場所または正当な場所に収束させ得る。さらに、方法４００は、複数の標準セルの位置および／または層間接続部の位置を同時に反復的に調整することにより、複数の標準セルの位置および／または層間接続部の位置を最適化された場所または正当な場所に収束させ得る。
【００３５】
図５は、本明細書に記載される種々の実装形態による設計認識分割のための方法５００のプロセスフロー図を示す。
方法５００は、特定の動作実行順序を示しているが、いくつかの場合には、動作の種々の部分が異なる順序でおよび異なるシステムで実行されてもよい。いくつかの場合には、方法５００に追加の動作および／またはステップを追加してもよく、および／または、方法５００から特定の動作および／またはステップを省略してもよい。方法５００は、ハードウェアおよび／またはソフトウェアで実装され得る。ハードウェアで実施される場合、方法５００は、例えば、図１Ａ〜図４を参照して上述したような種々の回路構成要素で実施され得る。ソフトウェアで実装される場合、方法５００は、本明細書に記載される設計認識分割を実装するように構成され得るプログラムまたはソフトウェア命令プロセスとして実装され得る。さらに、ソフトウェアで実装される場合、方法５００の実装に関連する命令は、メモリおよび／またはデータベースに記憶され得る。例えば、プロセッサまたはメモリを有するコンピュータまたは他の種々のタイプのコンピューティングデバイスは、方法５００を実行するように構成され得る。
【００３６】
図５を参照して説明され図示されるように、方法５００は、種々のタイプのＩＣアプリケーションにおける多層アーキテクチャの標準セルの直接的な共配置を実装する集積回路（例えば、３ＤＩＣ）を製造するために使用され得る。いくつかの場合には、方法５００は、標準セルの多層共配置を用いた３ＤＩＣアーキテクチャ設計を製造するために構成された専用マシンを提供するコンピューティングデバイス（例えば、図８に示されるようなコンピューティングデバイス８０４）に関連付けられ得る。
【００３７】
設計の多層共配置を参照すると、ブロック５１０において、方法５００は、集積回路（例えば、３ＤＩＣ）のための設計認識分割を実施し得る。ブロック５１４において、方法５００は、多層配置を初期化し得る。ブロック５１８において、方法５００は、プロキシセルおよび多層フェンス（または境界）を更新し得る。ブロック５２２において、方法５００は、固定されたプロキシセルを有する多層の配置を提供し得る。ブロック５２６において、方法５００は、多層フェンスが収束したかどうかを決定し得る。多層フェンスが収束していない場合、方法５００はブロック５１８に戻り、ブロック５１８，５２２を繰り返す。多層フェンスが収束している場合、方法５００はプロキシセルを削除し、アンカーセルの場所を更新する。ブロック５３２において、方法５００は、固定されたアンカーセルを有する多層の配置を提供し得る。
【００３８】
図６は、本明細書に記載される種々の実装形態による設計認識分割のための方法６００のプロセスフロー図を示す。
方法６００は、特定の動作実行順序を示しているが、いくつかの場合には、動作の種々の部分が異なる順序でおよび異なるシステムで実行されてもよい。いくつかの場合には、方法６００に追加の動作および／またはステップを追加してもよく、および／または、方法６００から特定の動作および／またはステップを省略してもよい。方法６００は、ハードウェアおよび／またはソフトウェアで実装され得る。ハードウェアで実装される場合、方法６００は、例えば、図１Ａ〜図５を参照して上述したような種々の回路構成要素で実装され得る。ソフトウェアで実装される場合、方法６００は、本明細書に記載される設計認識分割を実装するように構成され得るプログラムまたはソフトウェア命令プロセスとして実装され得る。さらに、ソフトウェアで実装される場合、方法６００の実装に関連する命令は、メモリおよび／またはデータベースに記憶され得る。例えば、プロセッサまたはメモリを有するコンピュータまたは他の種々のタイプのコンピューティングデバイスは、方法６００を実行するように構成され得る。
【００３９】
図６を参照して説明され図示されるように、方法６００は、種々のタイプのＩＣアプリケーションにおける多層アーキテクチャの標準セルの直接的な共配置を実装する集積回路（例えば、３ＤＩＣ）を製造するために使用され得る。いくつかの場合には、方法６００は、標準セルの多層共配置を用いた３ＤＩＣアーキテクチャ設計を製造するために構成された専用マシンを提供するコンピューティングデバイス（例えば、図８に示されるようなコンピューティングデバイス８０４）に関連付けられ得る。
【００４０】
プロキシセルおよび多層フェンスの更新に関して、ブロック６１０において、方法６００は、メモリセル、ポート、および標準セルの場所を含む集積回路の設計を受信し得る。ブロック６２０において、方法６００は、設計の多層ネットから１つ以上のバス接続部を導出することにより、層間ビアおよび／または標準セルのペアのグループを抽出し得る。この場合、利用可能な層間ビアおよび／または標準セルが類似性によってグループ化され、グループ化された用語とともにグループコレクションに保存される。ブロック６３０において、方法６００は、設計内の層間ビアおよび／または標準セルの場所を制限する多層フェンスファイルを生成し得る。この多層フェンスファイルは、グループコレクションに保存されている、抽出された層間ビアおよび／または標準セルのグループとグループ化された用語とに基づいている。ブロック６４０において、方法６００は、設計における固定プロキシセルの場所を決定するプロキシセル場所ファイルを生成し得る。各プロキシセルの場所は、当該特定のプロキシセルと接続されている隣接する層上の対応するアンカーセルの場所に基づいて決定される。ブロック６５０において、方法６００は、多層フェンスファイルおよびプロキシセル場所ファイルに基づいて、設計の物理的な配置を制御し得る。
【００４１】
本明細書に記載される種々の実装形態は、分割、フロアプラン、配置、およびルーティングの種々の設計段階に続く３ＤＩＣの任意の物理設計フローに統合され得る独立した最適化コンポーネントを提供する。図４〜図６は、標準セルおよび／または層間ビアの共配置のための種々のプロセスフローを示している。多層フェンス境界は、配置指示器（またはエンジン）によって使用され得る。配置指示器（またはエンジン）は、次の配置を繰り返すために複数の物理オブジェクト（例えば、複数の標準セル）の周囲に境界ボックスを設定することにより、これらのオブジェクトを一緒に取り込むために使用される。多層フェンス境界は、標準セルおよび／または層間ビアのグループ化／クラスタ化と置換され得る。
【００４２】
分割および初期配置は、入力として提供され得る。多層フェンス境界は、各層の配置の次の反復を制約するために繰り返し更新され得る。いくつかの例では、２Ｄ配置エンジンが使用される場合、すべての層の配置が順番に行われ得る。他の例では、３Ｄ配置エンジンが使用される場合、すべての層の配置が順番にまたは同時に達成され得る。収束の基準は、設計毎または実行毎に異なり得る。すなわち、設計者は、配置品質などの設計メトリックに基づいて、いつ反復を停止するかを選択することができる。反復が終了すると、多層フェンス境界が物理的設計フローへの入力として使用され得る。前回の反復からの標準セル配置ソリューションの場合には、設計者はそれらを保持するか破棄するかを選択することができる。いくつかの用途では、多層フェンス境界は、多次元領域フェンスファイル（または場所）か、もしくは標準セル場所を含む配置ファイルとして具現化され得る。
【００４３】
図７は、本明細書に記載される種々の実装形態による集積回路を製造するための方法７００のプロセスフロー図を示す。
方法７００は、特定の動作実行順序を示しているが、いくつかの場合には、動作の種々の部分が異なる順序でおよび異なるシステムで実行されてもよい。いくつかの場合には、方法７００に追加の動作および／またはステップを追加してもよく、および／または、方法７００から特定の動作および／またはステップを省略してもよい。方法７００は、ハードウェアおよび／またはソフトウェアで実装され得る。ハードウェアで実装される場合、方法７００は、例えば、図１Ａ〜図６を参照して上述したような種々の回路構成要素で実装され得る。ソフトウェアで実装される場合、方法７００は、本明細書に記載されるような、種々のタイプのＩＣアプリケーションにおける多層アーキテクチャの標準セルの直接的な共配置を実装するように構成され得るプログラムまたはソフトウェア命令プロセスとして実装され得る。また、ソフトウェアで実装される場合、方法７００の実装に関連する命令は、メモリおよび／またはデータベースに記憶され得る。例えば、プロセッサまたはメモリを有するコンピュータまたは他の種々のタイプのコンピューティングデバイスは、方法７００を実行するように構成され得る。
【００４４】
図７を参照して説明され図示されるように、方法７００は、種々のタイプのＩＣアプリケーションにおける多層アーキテクチャの標準セルの直接的な共配置を実装する集積回路（例えば、３ＤＩＣ）を製造するために使用され得る。いくつかの場合には、方法７００は、標準セルの多層共配置を備えた３ＤＩＣアーキテクチャ設計を製造するために構成された専用マシンを提供するコンピューティングデバイス（例えば、図８に示されるようなコンピューティングデバイス８０４）に関連付けられ得る。
【００４５】
ブロック７１０において、方法７００は、多層配置で互いに隣接して配置された複数の標準セルを有する集積回路（３ＤＩＣ）の第１の層および第２の層を含む複数の層を定義し得る。集積回路（３ＤＩＣ）は、互いに平行な複数のレイヤを含み得る。複数のレイヤの各レイヤは、層（tier）とも呼ばれ得る。したがって、第１の層は第１のレイヤであってもよく、第２の層は第１のレイヤに平行な第２のレイヤであってもよい。複数のレイヤは、第１の層が第２の層を覆うように互いに重なるように配置され得る。集積回路（３ＤＩＣ）は複数の標準セルとともに層間ビアを含み、多層ネットは、第１の層と第２の層との間の層間接続部を含む。
【００４６】
ブロック７２０において、方法７００は、第１の層および第２の層から複数の標準セルのうちの１つ以上のセルを選択することを含み得る。この選択は、第１の層から第１のアンカーセルを選択し、第２の層から第２のアンカーセルを選択することを含む。ブロック７３０において、方法７００は、第２の層内の第２のアンカーセルの位置（または場所）に対して第１の層内の第１のプロキシセルの場所を追加し、第１の層内の第１のアンカーセルの位置（または場所）に対して第２の層内の第２のプロキシセルを別の場所に追加することによって、第１の層内の第１のアンカーセルを第２の層内の第２のアンカーセルに関連付け得る。なお、「位置」という用語と「場所」という用語は同様の意味を有し、これら「位置」という用語と「場所」という用語は、互換的に適用され得る。
【００４７】
ブロック７４０において、方法７００は、第１のアンカーセル、第１のプロキシセル、第２のアンカーセル、および第２のプロキシセルを多層ネット内にグループ化し、その多層ネットの周囲に多層フェンス境界を生成することによって、第１の層内の第１のアンカーセルを第２の層内の第２のアンカーセルとペア化し得る。多層フェンス境界は、第１のアンカーセルと第１のプロキシセルとを囲む第１の層内のエリア内に画定された第１の矩形領域を含む。また、多層フェンス境界は、第２のアンカーセルと第２のプロキシセルとを囲む第２の層内のエリア内に画定された第２の矩形領域を含む。多層フェンス境界はさらに、第１の層と第２の層との間に延在する、第１の矩形領域と第２の矩形領域との間に画定された垂直横断領域を含み得る。上記したように、垂直横断領域は例示を目的としたものであり、実際の物理的な実装では、垂直横断領域１４０Ｃは存在し得ないことが理解され得る。
【００４８】
ブロック７５０において、方法７００は、多層ネット内で第１のプロキシセルと第２のプロキシセルの位置を固定して多層フェンス境界を縮小することにより、第２の層内の第２のアンカーセルと第１の層内の第１のアンカーセルの位置（または場所）を互いに接近させるように反復的に調整し、これにより、第１の層内の第１のアンカーセルの場所と第２の層内の第２のアンカーセルの場所を同じ場所に収束させ得る。いくつかの場合において、反復的に調整することは、第１のアンカーセルが第２のアンカーセルと重なるように、第１の層内の第１のアンカーセルに対する第２の層内の第２のアンカーセルの位置（または場所）の位置合わせを直接制約することに関連し得る。いくつかの例では、反復的に調整することは、第１の層内の第１のアンカーセルとの位置合わせにおいて第２のプロキシセルに向かう方向に第２のアンカーセルが移動するように、第２の層内の第２のプロキシセルに対して第２の層内の第２のアンカーセルの力指向配置を使用することに関連し得る。他の例では、反復的に調整することは、複数の反復にわたり小規模ステップ調整を使用することで第２の層内の第２のプロキシセルに接近させるように第２の層内の第２のアンカーセルを徐々に移動させることにより、第２の層内の第２のアンカーセルの位置（または場所）と第１の層内の第１のアンカーセルの位置（または場所）を互いに近接させるように収束させることを含む。
【００４９】
いくつかの実装形態では、第２の層内の第２のアンカーセルの位置（または場所）と第１の層内の第１のアンカーセルの位置（または場所）を互いに近接させるように収束することは、多層配置における標準セルの共配置に関連し得る。また、これは、第１の層内の第１のアンカーセルの位置（または場所）と実質的に同じ第２の層内の第２のプロキシセルの位置（または場所）に対して第２のアンカーセルの位置（または場所）を多層フェンス境界内で移動させるような第１のアンカーセルと第２のアンカーセルの共配置を含み得る。
【００５０】
ブロック７６０において、方法７００は、第２の層内の第２のアンカーセルの調整された位置（または場所）に基づいて、または第１の層内の第１のアンカーセルの調整された位置（または場所）に基づいて第１および第２のアンカーセルが多層配置で互いに隣接して配置された集積回路（３ＤＩＣ）を製造し得るかまたは製造させられ得る。
【００５１】
いくつかの実装形態では、方法７００は、第１の層内の第１のアンカーセルと第１の層内の第１のプロキシセルとの間、および第２の層内の第２のアンカーセルと第２の層内の第２のプロキシセルとの間に第１の力を加えることにより、第１の層内の第１のアンカーセルと第２の層内の第２のアンカーセルの位置（または場所）を同じ場所に収束させることを含み得る。さらに、いくつかの実装形態では、方法７００は、第１の層内の第１のプロキシセルと第１の層内の第１のアンカーセルとの間に、第１の力と一致するように第２の力を加えることにより、第２の層内の第２のアンカーセルの場所と第１の層内の第１のアンカーセルの場所を互いに接近させるように収束させることを支援し得る。いくつかの場合には、第１の力と第２の力は同一であり得る。
【００５２】
図８は、本明細書に記載される種々の実装形態による、例えば３ＤＩＣなどの集積回路における標準セルの多層共配置のためのシステム１００の図８００を示す。
図８を参照すると、システム８００は、多層アーキテクチャにおける標準セルの共配置を指示するように構成されたコンピュータベースのシステムを含み得る。本明細書に記載されるように、システム８００は、標準セルの多層共配置のために構成された専用マシンとして実装されるコンピューティングデバイス８０４に関連付けられ得る。いくつかの場合には、コンピューティングデバイス８０４は、少なくとも１つのプロセッサ８１０、メモリ８１２（例えば、非一時的なコンピュータ可読記憶媒体）、１つ以上のデータベース８４０、電源装置、周辺機器、および図８に具体的に示されていない他の種々のコンピューティング要素および／またはコンポーネントを含む、任意の標準要素および／またはコンポーネントを含み得る。コンピューティングデバイス８０４は、プロセッサ８１０によって実行可能である非一時的なコンピュータ可読媒体８１２に記憶された命令を含み得る。コンピューティングデバイス８０４は、例えば、グラフィカルユーザインターフェース（ＧＵＩ）などのユーザインターフェース（ＵＩ）８５２を提供するために使用され得るディスプレイデバイス８５０（例えば、モニタまたは他のディスプレイ）に関連付けられ得る。いくうかの例では、ＵＩ８５２は、多層共配置のためにコンピューティングデバイス８０４を管理、操作、および／または利用するために、ユーザから種々のパラメータおよび／または選択を受け取るために利用され得る。したがって、コンピューティングデバイス８０４は、ユーザに出力を提供するためのディスプレイデバイス８５０を含み得る。このディスプレイデバイス８５０は、ユーザからの入力を受け取るためのＵＩ８５２を含み得る。
【００５３】
種々の実装形態では、コンピューティングデバイス８０４は、標準セルの多層共配置に基づいて集積回路（例えば、３ＤＩＣ）を製造するための方法を実装するように構成され得る。例えば、コンピューティングデバイス８０４は、標準セルおよび／または層間ビアの多層共配置のための３ＤＩＣ設計方法を対象として構成され得る。共配置は、共配置エンジンを用いた反復的な境界スキームおよび手順によって実現され得る。標準セルおよび／または層間ビアの共配置により、層間ビアの最終的な位置を、層間ビアの任意のグリッド構造に容易に適応化させることが可能となる。本明細書に記載されるこのような多層共配置の概念は、２層の３ＤＩＣに限定されるものではなく、任意の数の所与の層間での標準セルおよび層間ビアの共配置に適応化させることができる。また、この多層共配置の概念は、モノリシック３Ｄ、フェイスツーフェース（face-to-face）ボンディング、シリコン貫通ビア（ＴＳＶ：through-silicon-via）などの種々のタイプの３Ｄ技術に適応可能であり得る。
【００５４】
図８を参照すると、コンピューティングデバイス８０４は、多層アーキテクチャにおける標準セルの直接共配置ファイルを生成するための配置指示器（またはエンジン）８２０を含み得る。いくつかの例では、コンピューティングデバイス８０４は、本明細書に記載される方法に従って標準セルおよび／または層間ビアの多層共配置を用いて３ＤＩＣアーキテクチャを設計するために配置指示器（またはエンジン）８２０を利用し得る。
【００５５】
配置指示器（またはエンジン）８２０は、少なくとも１つのプロセッサ８１０に、多層配置で互いに隣接して配置された複数の標準セルを有する３ＤＩＣの複数の層を定義させるように構成され得る。３ＤＩＣは、層間接続部で接続された多層ネットを含む。いくつかの例では、複数の層は第１の層および第２の層を含み得る。第１の層および第２の層は、多層配置で互いに隣接して配置された複数の標準セルを含む。また、複数の層を定義することは、第１の層および第２の層から複数の標準セルのうちの１つ以上のセルを選択することを含み得る。この選択は、第１の層から第１のアンカーセルを選択し、第２の層から第２のアンカーセルを選択することを含む。さらに、複数の層を定義することは、第２の層内の第２のアンカーセルの位置（または場所）に対して第１の層内の第１のプロキシセルの場所を追加し、第１の層内の第１のアンカーセルの位置（または場所）に対して第２の層内の第２のプロキシセルを別の場所に追加することによって、第１の層内の第１のアンカーセルを第２の層内の第２のアンカーセルに関連付けることを含み得る。なお、「位置」という用語と「場所」という用語は同様の意味を有し、これら「位置」という用語と「場所」という用語は、互換的に適用され得る。
【００５６】
配置指示器（またはエンジン）８２０は、少なくとも１つのプロセッサ８１０に、層間接続部を同一ネット（すなわち、多層ネット）に属する層間接続部ペアとしてペア化させるように構成され得る。配置指示器（またはエンジン）８２０は、少なくとも１つのプロセッサ８１０に、複数の標準セルのうちの１つ以上のセルを複数のグループにグループ化させ得る、および／または複数の層からの層間接続部ペアをグループ化させ得る。配置指示器（またはエンジン）８２０は、少なくとも１つのプロセッサ８１０に、複数の標準セルおよび／または層間接続部ペアの物理的場所の周囲に多層フェンス境界を生成することによって、複数のグループの各グループ内で複数の標準セルおよび／または層間接続部ペアを関連づけさせ得る。いくつかの場合には、層間接続部を同一ネットに属する層間接続部ペアとしてペア化することは、第１のアンカーセル、第１のプロキシセル、第２のアンカーセル、および第２のプロキシセルを同一の多層ネット内にグループ化し、その多層ネットの周囲に多層フェンス境界を生成することにより、第１の層内の第１のアンカーセルを第２の層内の第２のアンカーセルとペア化させることを含む。
【００５７】
配置指示器（またはエンジン）８２０は、少なくとも１つのプロセッサ８１０に、複数の標準セルの位置（または場所）および／または層間接続部の位置（または場所）を反復的に調整させることにより、複数の標準セルの位置（または場所）および／または層間接続部の位置（または場所）を最適化されたまたは正当な場所に同時に収束させるように構成され得る。いくつかの例では、複数の標準セルの位置（または場所）および／または層間接続部の位置（または場所）を反復的に調整することは、多層ネット内で第１のプロキシセルと第２のプロキシセルの位置を固定して多層フェンス境界を縮小することにより、第２の層内の第２のアンカーセルと第１の層内の第１のアンカーセルの位置（または場所）を互いに接近させるように反復的に調整し、これにより、第１の層内の第１のアンカーセルの位置（または場所）と第２の層内の第２のアンカーセルの位置（または場所）を互いに近接させるように収束させることを含み得る。
【００５８】
いくつかの実装形態では、コンピューティングデバイス８０４および配置指示器（またはエンジン）８２０は、最適化された場所または正当な場所における複数の標準セルの調整された位置（または場所）および／または層間接続部の調整された位置（または場所）に基づいて多層配置で互いに隣接して配置された複数の標準セルを有する３ＤＩＣを製造するかまたは製造させるように構成され得る。したがって、コンピューティングデバイス８０４は、配置指示器（またはエンジン）８２０を使用して多層アーキテクチャにおける標準セルのための直接共配置ファイルを生成し、電子設計自動化（ＥＤＡ）ツールを使用して標準セルおよび／または層間ビアの多層共配置のための３ＤＩＣアーキテクチャ設計の静的タイミング分析（ＳＴＡ）および電力分析を実行し得る。
【００５９】
コンピューティングデバイス８０４は、少なくとも１つのプロセッサ８１０に、標準セルおよび／または層間ビアの多層共配置のための３ＤＩＣアーキテクチャ設計の１つまたは複数のシミュレーションを生成させるように構成されたシミュレータ８２２を含み得る。種々の例において、シミュレータ８２２は、３ＤＩＣアーキテクチャ設計のＳＰＩＣＥシミュレーションを生成するように構成されたＳＰＩＣＥシミュレータ（またはそれに類似するもの）を含み得る。概して、ＳＰＩＣＥは、オープンソースのアナログ電子回路シミュレータである集積回路用シミュレーションプログラム（Simulation Program with Integrated Circuit Emphasis）の頭字語である。また、ＳＰＩＣＥは、集積回路設計の完全性をチェックして集積回路設計の挙動を予測するために半導体業界によって使用される汎用ソフトウェアプログラムである。したがって、いくつかの例では、配置指示器（またはエンジン）８２０は、シミュレータ８２２とインターフェースして、電圧変動や温度変動の範囲を含む動作条件の変動の範囲における３ＤＩＣアーキテクチャ設計の１つまたは複数のシミュレーション（例えば、ＳＰＩＣＥシミュレーションを含む）に基づいて第１のタイミングデータを生成するように構成され得る。
【００６０】
いくつかの実装形態では、コンピューティングデバイス８０４は、標準セルおよび／または層間ビアの多層共配置のための３ＤＩＣアーキテクチャ設計ファイルの生成に関連する種々の情報を記憶および／または記録するように構成された１つまたは複数のデータベース８４０を含み得る。例えば、データベース（１つまたは複数）８４０は、３ＤＩＣアーキテクチャ設計、１つ以上の種々のタイミングデータ（第１および第２のタイミングデータを含む）、およびシミュレートされたモデリングデータに関連する情報を記憶するように構成され得る。さらに、データベース８４０は、シミュレーションデータ（例えば、ＳＰＩＣＥシミュレーションデータを含む）を参照して３ＤＩＣアーキテクチャ設計に関連する種々の情報を記憶／記録するように構成され得る。
【００６１】
図９は、本明細書に記載される実施態様による多層フェンス境界を反復的に調整するための方法９００の図を示す。図９は、いくつかの場合において、配置の反復のために多層フェンス境界を反復的に計算する手法を示している。なお、関連する表記は、表１で定義されている。
【００６２】
【表１】
2021519520.tif 000003
図９において、左側の図９１０は、多層フェンス境界の外側ボックス９１２、すなわち以前の（ｋ番目の）配置の反復からのｇｍのｂｋｍを示し、右側の図９２０は、次の（（ｋ＋１）番目の）配置の反復について予想される多層フェンス境界９２０の内側ボックス９２２を示す。さらに、図９は、共配置フローのｋ番目の反復における標準セルおよび／または層間ビアのｍ番目のグループのｘｙ境界ボックス（左側の９１０）と、多層フェンスの境界ボックスの反復的な縮小（右側の９２０）とを提示している。
【００６３】
ｇｍの領域フェンス縮小は、以下のように定式化され得る。
【００６４】
【数１】
2021519520.tif 000004
【００６５】
【数２】
2021519520.tif 000005
一般性を失うことなく、次式、
【００６６】
【数３】
2021519520.tif 000006
【００６７】
【数４】
2021519520.tif 000007
が成り立つと仮定すると、ｂｋｍからの（ｋ＋１）番目の反復の多層フェンスは、以下のように設定される。
【００６８】
【数５】
2021519520.tif 000008
【００６９】
【数６】
2021519520.tif 000009
【００７０】
【数７】
2021519520.tif 000010
【００７１】
【数８】
2021519520.tif 000011
収束の基準は設計に依存し得るものであり、標準セルおよび／または層間ビアが密に詰め込まれ後に反復を停止する必要がない場合がある。結果の質などに基づいて、反復ループを中断してもよい。
【００７２】
本明細書には、方法の種々の実装形態が記載される。方法は、多層配置で互いに隣接して配置された複数の標準セルを有する集積回路の複数の層を定義することを含み得る。前記集積回路は、層間接続部で接続された多層ネットを含み得る。方法は、前記層間接続部を同一ネットに属する層間接続部ペアとしてペア化することを含み得る。方法は、複数の層の前記層間接続ペア部の有無によらず前記複数の標準セルのうちの１つ以上のセルを複数のグループにグループ化することを含み得る。方法は、前記層間接続部ペアの有無によらず前記複数の標準セルの物理的場所の周囲に多層フェンス境界を生成することにより、前記複数のグループの各グループ内で前記層間接続部ペアの有無によらず前記複数の標準セルを関連付けることを含み得る。方法は、前記層間接続部の位置（または場所）によらず前記複数の標準セルの位置（または場所）を反復的に調整することにより、前記層間接続部の位置（または場所）によらず前記複数の標準セルの位置（または場所）を所定の最適化されたまたは正当な位置（または場所）に収束させることを含み得る。
【００７３】
本明細書には、方法の種々の実装形態が記載される。方法は、多層配置で互いに隣接して配置された複数の標準セルを有する集積回路内の第１の層および第２の層を定義することを含み得る。方法は、前記第１の層内の第１のアンカーセルと前記第２の層内の第２のアンカーセルとを多層ネット内にグループ化し、当該多層ネットの周囲に多層フェンス境界を生成することによって、前記第１のアンカーセルと前記第２のアンカーセルとをペア化することを含み得る。方法は、前記多層ネット内の第１のプロキシセルの場所と第２のプロキシセルの場所とを固定して前記多層フェンス境界を縮小することによって前記第２の層内の前記第２のアンカーセルの位置（または場所）と前記第１の層内の前記第１のアンカーセルの位置（または場所）を互いに接近させるように反復的に調整することにより、前記第２の層内の前記第２のアンカーセルの位置（または場所）と前記第１の層内の前記第１のアンカーセルの位置（または場所）を同じ位置（または場所）に近接させるように収束させることを含み得る。方法は、前記第２の層内の前記第２のアンカーセルの前記調整された位置（または場所）に基づいてまたは前記第１の層内の前記第１のアンカーセルの前記調整された位置に基づいて前記多層配置内で前記第１および第２のアンカーセルが互いに隣接して配置された前記集積回路を製造するまたは製造させることを含み得る。
【００７４】
本明細書には、システムの種々の実装形態が記載される。システムは、プロセッサと、プロセッサによって実行されたときにプロセッサに種々の動作を実行させる命令を記憶したメモリとを含み得る。前記動作は、多層配置で互いに隣接して配置された複数の標準セルを有する３次元集積回路（３ＤＩＣ）であって、層間接続部で接続された多層ネットを含む前記集積回路の複数の層を定義することを含み得る。前記動作は、前記層間接続部を同一ネットに属する層間接続部ペアとしてペア化することを含み得る。前記動作は、複数の層の前記層間接続部ペアの有無によらず前記複数の標準セルのうちの１つ以上のセルを複数のグループにグループ化することを含み得る。前記動作は、前記層間接続部ペアの有無によらず前記複数の標準セルの物理的場所の周囲に多層フェンス境界を生成することにより、前記複数のグループの各グループ内で前記層間接続部ペアの有無によらず前記複数の標準セルを関連付けることを含み得る。前記動作は、前記層間接続部の位置（または場所）によらず前記複数の標準セルの位置（または場所）を反復的に調整することにより、前記層間接続部の位置（または場所）によらず前記複数の標準セルの位置（または場所）を所定の最適化されたまたは正当な位置（または場所）に収束させることを含み得る。
【００７５】
本明細書に記載された技術の種々の実装形態は、多数の汎用または専用コンピューティングシステム環境または構成で動作可能とされ得る。本明細書に記載された種々の技術の使用に適する可能性があるコンピューティングシステム、環境、および／または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブルコンシューマ電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、スマートフォン、タブレット、ウェアラブルコンピュータ、クラウドコンピューティングシステム、仮想コンピュータ、船舶用電子機器などが含まれるが、これらに限定されない。
【００７６】
本明細書に記載される種々の技術は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで実装され得る。プログラムモジュールは、特定のタスクを実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。さらに、各プログラムモジュールは独自の方法で実装されてもよく、すべてが同じ方法で実装される必要はない。プログラムモジュールは単一のコンピューティングシステム上で実行し得るが、いくつかの実装形態では、プログラムモジュールは、互いに通信するように適応化された個別のコンピューティングシステムまたはデバイス上で実装され得る。プログラムモジュールは、そのプログラムモジュールによって実行される特定のタスクがハードウェア、ソフトウェア、またはその両方の任意の組み合わせのいずれかを介して行われ得る、ハードウェアとソフトウェアの任意の組み合わせとすることができる。
【００７７】
本明細書に記載される種々の技術は、例えば有線リンク、無線リンク、またはそれらの種々の組み合わせにより、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実装され得る。分散コンピューティング環境では、プログラムモジュールは、例えばメモリストレージデバイスなどを含む、ローカルおよびリモートの両方のコンピュータストレージ媒体に配置され得る。
【００７８】
さらに、本明細書に記載される説明は、ある特定の実装形態を対象とするものともみなされ得る。本明細書に記載される説明は、当業者が請求項の主題によって本明細書で定義される任意の主題を作成および使用できるようにする目的で提供されていることが理解され得る。
【００７９】
請求項の主題は、本明細書で提供される実装形態および図示に限定されず、実装形態の一部および請求項による異なる実装形態の要素の組み合わせを含むそれらの実装形態の変形例を含むことが意図されている。エンジニアリングプロジェクトまたは設計プロジェクトなどの実装形態の開発では、それぞれの実装形態によって異なり得るシステム関連およびビジネス関連の制約への準拠など、開発者固有の目標を達成するために、実装形態固有の多数の決定を行う必要がある。さらに、そのような開発努力は複雑で時間がかかり得るが、本開示の利益を享受する当業者のための設計、製作、および製造の日常的な取り組みである。
【００８０】
種々の実装形態に対する詳細は参照によってなされ、それらの例は、添付の図面に示されている。詳細な説明では、本明細書で提供される開示の完全な理解を提供するために、多数の特定の詳細が示されている。しかしながら、本明細書で提供される開示は、これらの特定の詳細なしで実施されてもよい。いくつかの他の例では、実施形態の詳細を不必要に不明瞭にしないように、周知の方法、手順、コンポーネント、回路、およびネットワークは詳細には説明されていない。
【００８１】
本明細書では、第１、第２などの用語を使用して種々の要素が説明されるが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用されている。例えば、第１の要素を第２の要素と呼ぶこともでき、同様に、第２の要素を第１の要素と呼ぶこともできる。第１の要素と第２の要素は２つの要素であるが、同じ要素とは見なされない。
【００８２】
本明細書で提供される本開示の説明で使用される用語は、特定の実装形態を説明するためのものであり、本明細書で提供される本開示を限定することを意図するものではない。本明細書で提供される本開示の説明および特許請求の範囲で使用される「１つ」や「前記」などは、文脈がそうでないことを明確に示さない限り、複数も含むことを意図する。本明細書で使用される「および／または」という用語は、関連する列挙された項目の１つまたは複数のあらゆる可能な組み合わせに言及しそれを包含する。本明細書で使用される「含む」および／または「備える」という用語は、説明された機能、整数、ステップ、動作、要素、および／またはコンポーネントの存在を指定するが、１つ以上の他の機能、整数、ステップ、動作、要素、コンポーネント、および／またはそれらのグループの存在または追加を排除するものではない。
【００８３】
本明細書で使用される「場合」という用語は、状況に応じて、「とき」、「際に」、「決定したことに応答して」、または「検出したことに応答して」を意味すると解釈され得る。同様に、「決定された場合」または「記述された条件もしくは事象が検出された場合」という記載は、状況に応じて、「決定した際に」、「決定したことに応答して」、「記述された条件もしくは事象を検出した際に」、または「記述された条件もしくは事象を検出したことに応答して」を意味すると解釈され得る。「上」および「下」という用語、「上部」および「下部」という用語、「上方に」および「下方に」という用語、「の下方に」および「の上方に」という用語、および、所与の箇所または要素よりも上方または下方の相対位置を示す他の同様の用語は、本明細書に記載される種々の技術のいくつかの実装形態に関連して使用され得る。
【００８４】
上記の説明は、本明細書に記載される種々の技術の実装形態を対象としているが、本明細書の開示に従って他のおよびさらなる実装形態が考案されてもよく、これらは特許請求の範囲によって決定され得る。
【００８５】
主題は、構造的特徴および／または方法的動作に固有の言語で記載されているが、特許請求の範囲で定義される主題は、必ずしも上記した特定の特徴または動作に限定されない。むしろ、上記した特定の特徴および動作は、特許請求の範囲を実施する例示的な形態として開示されている。
【図１Ａ】
2021519520.tif 000012
【図１Ｂ】
2021519520.tif 000013
【図２Ａ】
2021519520.tif 000014
【図２Ｂ】
2021519520.tif 000015
【図２Ｃ】
2021519520.tif 000016
【図２Ｄ】
2021519520.tif 000017
【図２Ｅ】
2021519520.tif 000018
【図２Ｆ】
2021519520.tif 000019
【図３Ａ】
2021519520.tif 000020
【図３Ｂ】
2021519520.tif 000021
【図３Ｃ】
2021519520.tif 000022
【図４】
2021519520.tif 000023
【図５】
2021519520.tif 000024
【図６】
2021519520.tif 000025
【図７】
2021519520.tif 000026
【図８】
2021519520.tif 000027
【図９】
2021519520.tif 000028
【国際調査報告】
2021519520.tif 000029
2021519520.tif 000030
2021519520.tif 000031