IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2024-522514集積回路における共通的に配線可能なバイア・メッシュ仕様の生成および選択
<>
  • 特表-集積回路における共通的に配線可能なバイア・メッシュ仕様の生成および選択 図1
  • 特表-集積回路における共通的に配線可能なバイア・メッシュ仕様の生成および選択 図2A
  • 特表-集積回路における共通的に配線可能なバイア・メッシュ仕様の生成および選択 図2B
  • 特表-集積回路における共通的に配線可能なバイア・メッシュ仕様の生成および選択 図3
  • 特表-集積回路における共通的に配線可能なバイア・メッシュ仕様の生成および選択 図4
  • 特表-集積回路における共通的に配線可能なバイア・メッシュ仕様の生成および選択 図5
  • 特表-集積回路における共通的に配線可能なバイア・メッシュ仕様の生成および選択 図6
  • 特表-集積回路における共通的に配線可能なバイア・メッシュ仕様の生成および選択 図7
  • 特表-集積回路における共通的に配線可能なバイア・メッシュ仕様の生成および選択 図8
  • 特表-集積回路における共通的に配線可能なバイア・メッシュ仕様の生成および選択 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-21
(54)【発明の名称】集積回路における共通的に配線可能なバイア・メッシュ仕様の生成および選択
(51)【国際特許分類】
   H01L 21/82 20060101AFI20240614BHJP
【FI】
H01L21/82 B
H01L21/82 W
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023573348
(86)(22)【出願日】2022-06-08
(85)【翻訳文提出日】2023-11-28
(86)【国際出願番号】 IB2022055334
(87)【国際公開番号】W WO2022269399
(87)【国際公開日】2022-12-29
(31)【優先権主張番号】17/356,709
(32)【優先日】2021-06-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】クーネ、ジョセフ
(72)【発明者】
【氏名】レッディ、スミーター
(72)【発明者】
【氏名】テレス、グスターボ、エンリケ
(72)【発明者】
【氏名】ボーエン、マイケル、アレクサンダー
(72)【発明者】
【氏名】マシーニー、アダム
【テーマコード(参考)】
5F064
【Fターム(参考)】
5F064AA04
5F064EE27
(57)【要約】
本発明の態様は、集積回路内のセルについてバイア・メッシュ仕様のセットを生成することを含む。各バイア・メッシュ仕様は、ピン端子を形成する1つまたは複数のピンを含む第1の層よりも上の各層の1つまたは複数のストラップを、セルを1つまたは複数の他のセルに相互接続するためのネットにセルを接続する最上層まで定義し、また、層のうち隣り合うもの同士を相互接続する1つまたは複数のバイアを定義する。態様はまた、各バイア・メッシュ仕様が、セルがすべての設計規則を満たしながらネットを通じて他のセルと相互接続することを保証する共通的に配線可能なバイア・メッシュ仕様であるかどうかを検証することと、バイア・メッシュ仕様のセットのうち共通的に配線可能なバイア・メッシュ仕様だけをバイア・メッシュ仕様のライブラリに含めることとを含む。ライブラリは、集積回路を確定し、作製するために使用される。
【特許請求の範囲】
【請求項1】
プロセッサを使用して、集積回路内のセルについてバイア・メッシュ仕様のセットを生成することであって、各バイア・メッシュ仕様は、ピン端子を形成する1つまたは複数のピンを含む第1の層よりも上の各層の1つまたは複数のストラップを、前記セルを1つまたは複数の他のセルに相互接続するためのネットに前記セルを接続する最上層まで定義し、各バイア・メッシュ仕様はまた、前記層のうち隣り合うもの同士を相互接続する1つまたは複数のバイアを含む、前記生成することと、
前記プロセッサを使用して、前記バイア・メッシュ仕様のセットの中の各バイア・メッシュ仕様が、共通的に配線可能なバイア・メッシュ仕様であるかどうかを検証することであって、前記共通的に配線可能なバイア・メッシュ仕様は、前記セルがすべての設計規則を満たしながら前記ネットを通じて他のセルと相互接続することを保証する、前記検証することと、
前記プロセッサにより、前記バイア・メッシュ仕様のセットのうち共通的に配線可能なバイア・メッシュ仕様であるバイア・メッシュ仕様だけをバイア・メッシュ仕様のライブラリに含めることであって、前記バイア・メッシュ仕様のライブラリは、前記集積回路を確定し作製するために使用される、前記含めることと、
を含む、コンピュータ実施方法。
【請求項2】
前記セルの統計に基づいて、前記セルを1つまたは複数の他のセルと共にセル・グループにグループ化することをさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記セル・グループの前記他のセルに対して得られた前記共通的に配線可能なバイア・メッシュ仕様を、前記バイア・メッシュ仕様のライブラリに追加することをさらに含む、請求項2に記載のコンピュータ実施方法。
【請求項4】
各バイア・メッシュ仕様が前記共通的に配線可能なバイア・メッシュ仕様であるかどうかを前記検証することが、前記バイア・メッシュの配線が前記セル内の各位置において設計要件に準拠するかどうかを検査することを含む、請求項1に記載のコンピュータ実施方法。
【請求項5】
各バイア・メッシュ仕様が前記共通的に配線可能なバイア・メッシュ仕様であるかどうかを前記検証することが、前記バイア・メッシュの隣接するコピーの配線が各位置において前記設計要件に準拠するかどうかを検査することを含む、請求項4に記載のコンピュータ実施方法。
【請求項6】
各ピン端子にピン制約を割り当てることをさらに含み、前記ピン制約の命名法が、セル・プロパティおよびネット・プロパティを示す、請求項1に記載のコンピュータ実施方法。
【請求項7】
ネット・プロパティ、ソース・セル、およびシンク・セルの選択を行い、前記ネット・プロパティおよび前記ソース・セルまたは前記シンク・セルと一致するピン制約を取得し、前記ピン制約の前記命名法に基づいて前記バイア・メッシュ仕様のライブラリから対応する共通的に配線可能なバイア・メッシュ仕様を取得し、タイミング分析を行うこと、によってタイミングの最適化を行うことをさらに含み、前記タイミング分析は前記共通的に配線可能なバイア・メッシュ仕様のタイミングを含む、請求項6に記載のコンピュータ実施方法。
【請求項8】
コンピュータ可読命令を有するメモリと、
前記コンピュータ可読命令を実行する1つまたは複数のプロセッサと、
を備えるシステムであって、前記コンピュータ可読命令は、
集積回路内のセルについてバイア・メッシュ仕様のセットを生成することであって、各バイア・メッシュ仕様は、ピン端子を形成する1つまたは複数のピンを含む第1の層よりも上の各層の1つまたは複数のストラップを、前記セルを1つまたは複数の他のセルに相互接続するためのネットに前記セルを接続する最上層まで定義し、各バイア・メッシュ仕様はまた、前記層のうち隣り合うもの同士を相互接続する1つまたは複数のバイアを含む、前記生成することと、
前記バイア・メッシュ仕様のセットの中の各バイア・メッシュ仕様が、共通的に配線可能なバイア・メッシュ仕様であるかどうかを検証することであって、前記共通的に配線可能なバイア・メッシュ仕様は、前記セルがすべての設計規則を満たしながら前記ネットを通じて他のセルと相互接続することを保証する、前記検証することと、
前記バイア・メッシュ仕様のセットのうち共通的に配線可能なバイア・メッシュ仕様であるバイア・メッシュ仕様だけをバイア・メッシュ仕様のライブラリに含めることであって、前記バイア・メッシュ仕様のライブラリは、前記集積回路を確定し作製するために使用される、前記含めることと、
を含む動作を行うように前記1つまたは複数のプロセッサを制御する、システム。
【請求項9】
前記動作が、前記セルの統計に基づいて、前記セルを1つまたは複数の他のセルと共にセル・グループにグループ化することをさらに含む、請求項8に記載のシステム。
【請求項10】
前記動作が、前記セル・グループの前記他のセルに対して得られた前記共通的に配線可能なバイア・メッシュ仕様を、前記バイア・メッシュ仕様のライブラリに追加することをさらに含む、請求項9に記載のシステム。
【請求項11】
各バイア・メッシュ仕様が前記共通的に配線可能なバイア・メッシュ仕様であるかどうかを前記検証することが、前記バイア・メッシュの配線が前記セル内の各位置において設計要件に準拠するかどうかを検査することを含む、請求項8に記載のシステム。
【請求項12】
各バイア・メッシュ仕様が前記共通的に配線可能なバイア・メッシュ仕様であるかどうかを前記検証することが、前記バイア・メッシュの隣接するコピーの配線が各位置において前記設計要件に準拠するかどうかを検査することを含む、請求項11に記載のシステム。
【請求項13】
前記動作が、各ピン端子にピン制約を割り当てることをさらに含み、前記ピン制約の命名法が、セル・プロパティおよびネット・プロパティを示す、請求項8に記載のシステム。
【請求項14】
前記動作が、ネット・プロパティ、ソース・セル、およびシンク・セルの選択を行い、前記ネット・プロパティおよび前記ソース・セルまたは前記シンク・セルと一致するピン制約を取得し、前記ピン制約の前記命名法に基づいて前記バイア・メッシュ仕様のライブラリから対応する共通的に配線可能なバイア・メッシュ仕様を取得し、タイミング分析を行うこと、によってタイミングの最適化を行うことをさらに含み、前記タイミング分析は前記共通的に配線可能なバイア・メッシュ仕様のタイミングを含む、請求項13に記載のシステム。
【請求項15】
プログラム命令が組み込まれたコンピュータ可読記憶媒体を備えるコンピュータ・プログラム製品であって、前記プログラム命令は、
集積回路内のセルについてバイア・メッシュ仕様のセットを生成することであって、各バイア・メッシュ仕様は、ピン端子を形成する1つまたは複数のピンを含む第1の層よりも上の各層の1つまたは複数のストラップを、前記セルを1つまたは複数の他のセルに相互接続するためのネットに前記セルを接続する最上層まで定義し、各バイア・メッシュ仕様はまた、前記層のうち隣り合うもの同士を相互接続する1つまたは複数のバイアを含む、前記生成することと、
前記バイア・メッシュ仕様のセットの中の各バイア・メッシュ仕様が、共通的に配線可能なバイア・メッシュ仕様であるかどうかを検証することであって、前記共通的に配線可能なバイア・メッシュ仕様は、前記セルがすべての設計規則を満たしながら前記ネットを通じて他のセルと相互接続することを保証する、前記検証することと、
前記バイア・メッシュ仕様のセットのうち共通的に配線可能なバイア・メッシュ仕様であるバイア・メッシュ仕様だけをバイア・メッシュ仕様のライブラリに含めることであって、前記バイア・メッシュ仕様のライブラリは、前記集積回路を確定し作製するために使用される、前記含めることと、
を含む動作をプロセッサに行わせるために前記プロセッサにより実行可能である、コンピュータ・プログラム製品。
【請求項16】
前記セルの統計に基づいて、前記セルを1つまたは複数の他のセルと共にセル・グループにグループ化することをさらに含む、請求項15に記載のコンピュータ・プログラム製品。
【請求項17】
前記セル・グループの前記他のセルに対して得られた前記共通的に配線可能なバイア・メッシュ仕様を、前記バイア・メッシュ仕様のライブラリに追加することをさらに含む、請求項16に記載のコンピュータ・プログラム製品。
【請求項18】
各バイア・メッシュ仕様が前記共通的に配線可能なバイア・メッシュ仕様であるかどうかを前記検証することが、前記バイア・メッシュの配線が前記セル内の各位置において設計要件に準拠するかどうかを検査することを含む、請求項15に記載のコンピュータ・プログラム製品。
【請求項19】
各バイア・メッシュ仕様が前記共通的に配線可能なバイア・メッシュ仕様であるかどうかを前記検証することが、前記バイア・メッシュの隣接するコピーの配線が各位置において前記設計要件に準拠するかどうかを検査することを含む、請求項18に記載のコンピュータ・プログラム製品。
【請求項20】
各ピン端子にピン制約を割り当てることであって、前記ピン制約の命名法がセル・プロパティおよびネット・プロパティを示す、前記割り当てることと、ネット・プロパティ、ソース・セル、およびシンク・セルの選択を行い、前記ネット・プロパティおよび前記ソース・セルまたは前記シンク・セルと一致するピン制約を取得し、前記ピン制約の前記命名法に基づいて前記バイア・メッシュ仕様のライブラリから対応する共通的に配線可能なバイア・メッシュ仕様を取得し、タイミング分析を行うこと、によってタイミングの最適化を行うことと、をさらに含み、前記タイミング分析は前記共通的に配線可能なバイア・メッシュ仕様のタイミングを含む、請求項15に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的に集積回路の開発に関し、より具体的には、集積回路における共通的に配線可能なバイア・メッシュ仕様(universally routable via mesh specification)の生成および選択に関する。
【背景技術】
【0002】
集積回路(すなわち、チップ)の開発は、設計から作製まで数段階を要する。開発の一部の態様は、最終的に製造されるチップがすべての設計要件を満たすことを確実にするために、反復的に行われる。また、設計のいくつかの態様は、階層的に行われることがある。チップの編成例は、相互接続されたセルのセットとしての編成である。各セルは、そのセルが特定の機能(例えば、ORゲート、NANDゲート)を果たすことを可能にする、多数の相互接続されたコンポーネントを含む。セルは、特定の機能を行うためにライブラリから選択される標準的なセルの場合もある。
【0003】
セルの相互接続は、積層された金属層間の接続を容易にするバイア(すなわち、縦方向の相互接続)を用いて複数のレベル(すなわち、金属層)にわたって配線されるワイヤを通じて行われる。チップのタイミングは、より太い金属ワイヤを搭載できる上方レベルの金属層を使用することによって向上させることができる。しかし、このタイミングの向上は、上方の金属層に過度に多くの相互接続を配線した場合に生じる密度の増大とバランスを取らなければならない。何故ならば、増大した密度は、干渉を増大させ、チップ性能に負の影響を与えるためである。各セルは、特定チップのパワー・グリッドに関連して、異なるピン・レイアウトおよび異なる配置オプションを有することがある。配置とは、チップ内の特定の箇所を指し、配線可能性に影響する。配線(routing)とは、相互接続のために使用される経路(例えば、ワイヤ幅、金属層)を指す。セルは、特定の配置に基づいて、タイミング、電力、およびその他要件を満たすように他のセルと相互接続できない場合に、配線可能でない。
【発明の概要】
【0004】
本発明の実施形態は、集積回路の開発時に共通的に配線可能なバイア・メッシュ仕様を生成および選択するためのシステムおよび方法を対象とする。非制限的な例としてのコンピュータ実施方法は、集積回路内のセルについてバイア・メッシュ仕様のセットを生成することを含む。各バイア・メッシュ仕様は、ピン端子を形成する1つまたは複数のピンを含む第1の層よりも上の各層の1つまたは複数のストラップを、セルを1つまたは複数の他のセルに相互接続するためのネットにセルを接続する最上層まで定義し、各バイア・メッシュ仕様はまた、層のうち隣り合うもの同士を相互接続する1つまたは複数のバイアを含む。コンピュータ実施方法はまた、バイア・メッシュ仕様のセットの中の各バイア・メッシュ仕様が、共通的に配線可能なバイア・メッシュ仕様であるかどうかを検証することであって、共通的に配線可能なバイア・メッシュ仕様は、セルがすべての設計規則を満たしながらネットを通じて他のセルと相互接続することを保証する、検証することと、バイア・メッシュ仕様のセットのうち共通的に配線可能なバイア・メッシュ仕様であるバイア・メッシュ仕様だけをバイア・メッシュ仕様のライブラリに含めることとを含む。バイア・メッシュ仕様のライブラリは、集積回路を確定し、作製するために使用される。
【0005】
本発明の他の実施形態は、上記の方法の機能をコンピュータ・システムおよびコンピュータ・プログラム製品内で実施する。
【0006】
さらなる技術的特徴および利益が、本発明の技術を通じて実現される。本発明の実施形態および態様は、本明細書に詳細に説明され、請求される主題の一部とみなされる。さらなる理解のために、詳細な説明および図面を参照する。
【0007】
本明細書に記載される排他的権利の詳細は、本明細書の末尾にある特許請求の範囲において具体的に指摘され、明瞭に請求される。本発明の実施形態の上記および他の特徴および利点は、以下の添付図面と併せて解釈される以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【0008】
図1】1つまたは複数の実施形態による、集積回路の開発の際に共通的に配線可能なバイア・メッシュ仕様の生成および選択を行うシステムのブロック図である。
図2A】本発明の1つまたは複数の実施形態に従って生成されるバイア・メッシュの3次元表現である。
図2B】本発明の1つまたは複数の実施形態による、図2Aに示した例示的バイア・メッシュに対して生成されるバイア・メッシュ仕様の表現である。
図3】本発明の実施形態による、バイア・メッシュ仕様を生成する方法の処理フローである。
図4】本発明の1つまたは複数の実施形態による、例示的セルについての配線分析の態様を示す図である。
図5】本発明の1つまたは複数の実施形態による、例示的セルについての配線分析の態様を示す図である。
図6】本発明の例示的実施形態による、あるセルの入力ピンと別のセルの出力ピンとの間の論理接続を形成する例示的ネットを示す。
図7】本発明の1つまたは複数の実施形態による、共通的に配線可能なバイア・メッシュ仕様の中からの選択を容易にするピン制約を割り当てる方法の処理フローである。
図8】本発明の1つまたは複数の実施形態による、最適化プロセスの一部としてバイア・メッシュを選択する方法の処理フローである。
図9】本発明の例示的実施形態による、集積回路を作製する方法の処理フローである。
【発明を実施するための形態】
【0009】
本明細書に示される図は例示的なものである。本発明の範囲から逸脱することなく、図またはその中に説明される動作に多くの変形例があり得る。例えば、動作は異なる順序で行われることが可能であり、または動作が追加、削除、もしくは変更されることが可能である。また、用語「結合される」およびその変形は、2つの要素の間に通信経路を有することを表し、それらの間に介在する要素/接続がない、要素間の直接の接続を示唆するものではない。これらの変形例はすべて、本明細書の一部とみなされる。
【0010】
先に述べたように、チップを構成するセルは、そのチップの全体的機能を行うために相互接続される。各セルは、そのセルの機能(例えば、乗算、ANDゲート)を一緒に行うコンポーネントの相互接続を伴う。バイア・メッシュは、ある層の1つまたは複数の点から別の層の1つまたは複数の点までの複数の導電性経路を提供する。第1のレベルでは、バイア・メッシュは、単一のピンまたは論理的に1本のピンとして扱われる別個のピンのセットから構成されるピン端子に接続する、相互接続された形状(すなわち、ワイヤおよびバイア)を含む。それに続く各層では、導電性ストリップである1つまたは複数のストラップが導電性経路を形成し、その導電性経路は、1つまたは複数のバイアを通じて隣の層のストラップに接続される。一つの層の中のストラップは、互いに対して平行な向きにされるが、隣の層のストラップは、互いに対して異なる(例えば直交)方向にされる場合も、または平行である場合もある。セルの1つまたは複数のピンを、バイア・メッシュを含む場合も含まない場合もある他のセルのピンに接続するルータは、バイア・メッシュの最も高いレベルのストラップにのみ接続する。1つまたは複数のピンから最も高いレベルまでの層の数が、バイア・メッシュの高さを定める。ストラップとバイアによって与えられる冗長性は、結果として、1つまたは複数のピンから上層までの接続の抵抗を減少させる。ストラップおよびバイアの数が抵抗を決定する。抵抗の減少は、バイア・メッシュの強度の増大と呼ばれる。
【0011】
本発明の実施形態は、集積回路のための共通的に配線可能なバイア・メッシュ仕様の生成および選択に関する。バイア・メッシュ仕様は、バイア・メッシュ・ルータに、セルの各金属層についてのストラップおよびバイアの所要数を提供する。すなわち、バイア・メッシュ仕様は、バイア・メッシュ構造を定義し、バイア・メッシュ高さを示す。所与のセルは、それに関連付けられた2つ以上のバイア・メッシュ仕様を有することがあり、各バイア・メッシュ仕様は、異なる抵抗および対応する強度を提供することがある。
【0012】
セルについて1つまたは複数のバイア・メッシュ仕様を生成するための従来の手法は、共通的な配線可能性を考慮しない。共通的に配線可能なバイア・メッシュ仕様とは、集積回路内でのセルの配置に関係なく実現可能なルートを有するものを言う。よって、従来の手法によれば、ライブラリから選択されたバイア・メッシュ仕様は、セルの配置および当該チップに対して設定された設計規則に基づいて、実現可能なルートを有さないことがある。本明細書で詳しく述べられるように、似た特性をもつセル同士がグループ化され、そのグループのバイア・メッシュ仕様は、配置に関係なく配線可能であることが保証される。よって、特定の高さおよび強度をもつ特定のバイア・メッシュが、対応するメッシュ仕様に従い、タイミングおよび他の要件に基づいて、ライブラリ中のバイア・メッシュ仕様から選択され得、選択されるバイア・メッシュ仕様に関する配線問題の可能性は伴わない。
【0013】
これも詳細に説明されるように、バイア・メッシュ仕様のうち1つの選択は、各バイア・メッシュ仕様に関連付けられた抵抗静電容量(RC)テーブルに加え、バイア・メッシュ外部の相互接続ワイヤ(すなわち、ネット)のタイミング・ニーズに基づいて行われてよい。詳細には、従来の配線ツールですでに使用されている、ピン制約の命名規則を、ネット特性に加えてバイア・メッシュ強度を示すように変更する。よって、配線ツールによるピン制約の割り当ては、当該セルタイプのためのライブラリ内の利用可能な共通的に配線可能なバイア・メッシュ仕様からのバイア・メッシュ仕様の選択に一致する。
【0014】
図1は、1つまたは複数の実施形態による、集積回路120の開発の際に共通的に配線可能なバイア・メッシュ仕様の生成および選択を行うシステム100のブロック図である。集積回路120を構成する様々な金属層205(図2)は、図1には示していない。集積回路120を構成する例示的なセル125が示されている。システム100は、最終的に集積回路120として作製される設計を生成するために使用される処理システム110を含む。集積回路120の作製に要するステップはよく知られており、本明細書では簡単に説明される。本発明の実施形態によって開発された共通的に配線可能なバイア・メッシュ仕様の中からのバイア・メッシュ仕様の選択に部分的に基づいて物理レイアウトが確定されると、確定された物理レイアウトはIC製造者(foundry)に提供される。確定された物理レイアウトに基づいて、集積回路の各層のためにマスクが生成される。そして、ウェハがマスク順序の順に処理される。この処理は、フォトリソグラフィおよびエッチングを含む。これについては図9を参照してさらに解説する。
【0015】
処理システム110は、1つまたは複数の中央演算処理装置(プロセッサ)21a、21b、21c等(総称してまたは一般化してプロセッサ21または処理デバイスあるいはその両方と呼ぶ)を有する。本発明の1つまたは複数の実施形態によれば、各プロセッサ21は、縮小命令セット・コンピュータ(RISC)・マイクロプロセッサを含むことができる。プロセッサ21は、システム・バス33を介してシステム・メモリ(例えば、ランダム・アクセス・メモリ(RAM)24)および様々な他の構成要素に結合されている。読出し専用メモリ(ROM)22が、システム・バス33に結合され、処理システム110の特定の基本機能を制御する基本入出力システム(BIOS)を含むことができる。
【0016】
さらに図示されているのは、システム・バス33に結合された入出力(I/O)アダプタ27および通信アダプタ26である。I/Oアダプタ27は、ハード・ディスク23またはテープ記憶ドライブ25あるいはその両方、または任意の他の同様の構成要素と通信する、スモール・コンピュータ・システム・インターフェース(SCSI)・アダプタであり得る。I/Oアダプタ27、ハード・ディスク23、およびテープ記憶デバイス25は、本明細書ではまとめて大容量ストレージ34と呼ぶ。処理システム110で実行されるためのオペレーティング・システム40が、大容量ストレージ34に記憶され得る。RAM22、ROM24、および大容量ストレージ34は、処理システム110のメモリ19の例である。ネットワーク・アダプタ26が、システム・バス33を外部ネットワーク36と相互接続して、処理システム110が他の同様のシステムと通信することを可能にする。
【0017】
ディスプレイ(例えば、ディスプレイ・モニタ)35が、ディスプレイ・アダプタ32によってシステム・バス33に接続され、ディスプレイ・アダプタ32は、グラフィックを多用するアプリケーションの性能を向上させるグラフィック・アダプタおよびビデオ・コントローラを含み得る。本発明の1つまたは複数の実施形態によると、アダプタ26、27、または32、あるいはその組合せは、中間バス・ブリッジ(図示せず)を介してシステム・バス33に接続される1つまたは複数のI/Oバスに接続され得る。ハード・ディスク・コントローラ、ネットワーク・アダプタ、およびグラフィック・アダプタなどの周辺デバイスを接続するための好適なI/Oバスは、通例、Peripheral Component Interconnect(PCI)などの一般的なプロトコルを含む。さらなる入力/出力デバイスが、ユーザ・インターフェース・アダプタ28およびディスプレイ・アダプタ32を介してシステム・バス33に接続されるものと示されている。キーボード29、マウス30、およびスピーカ31は、ユーザ・インターフェース・アダプタ28を介してシステム・バス33に相互接続されることが可能であり、ユーザ・インターフェース・アダプタ28は、例えば、複数のデバイス・アダプタを単一の集積回路に組み込むスーパーI/Oチップを含むことができる。
【0018】
本発明の1つまたは複数の実施形態によると、処理システム110は、グラフィック処理装置37を含む。グラフィック処理装置37は、ディスプレイに出力するためのフレーム・バッファ内での画像の作成を高速化するためにメモリを操作・改変するように設計された、特殊化された電子回路である。一般に、グラフィック処理装置37は、コンピュータ・グラフィックの操作および画像処理に非常に効率的であり、大きいデータのブロックの処理が並列に行われるアルゴリズムのための汎用CPUよりもそれを効果的にする、高度に並列な構造を有する。
【0019】
よって、本明細書において構成される場合、処理システム110は、プロセッサ21、システム・メモリ(例えば、RAM24)、および大容量ストレージ34を含む記憶能力、キーボード29およびマウス30などの入力手段、ならびにスピーカ31およびディスプレイ35を含む出力能力の形態の処理能力を有する。本発明の1つまたは複数の実施形態によると、システム・メモリ(例えば、RAM24)の一部および大容量ストレージ34は、処理システム110に示される様々な構成要素の機能を連携させるための、IBM(R)コーポレーションのAIX(R)オペレーティング・システムなどのオペレーティング・システムを共同して記憶する。
【0020】
図2Aおよび図2Bは、例示的セル125の例示的バイア・メッシュ200と、本発明の1つまたは複数の実施形態に従って生成されたバイア・メッシュ仕様250に関連する対応する表現とを示す。図2Aは、バイア・メッシュ200の3次元表現を示す。ピン210a、210b(広く210と呼ぶ)が、第1の層205a(広く205と呼ぶ)に示されている。ストラップ220a、220b(広く220と呼ぶ)が、第2の層205bに示されている。図2Aが示すように、ピン210とストラップ220は平行であり、バイア230が、各ピン210を対応するストラップ220に接続している。先に述べたように、隣の層のピン210およびストラップ220は、代わりに異なる向きにされてもよい(例えば直交)。別のストラップ220cが第3の層205cに示され、第3の層205cは、例示的バイア・メッシュ構造200の最上層である。第3の層205cのストラップ220cは、第2の層205bのストラップ220a、220bに対して直交している。層205の数がバイア・メッシュ200の高さを定める。
【0021】
バイア230は、第1の層205aのピン210と第2の層205bのストラップ220aおよび220bとの間の接続を容易にし、追加的なバイアが、第2の層205bのストラップ220aおよび220bの各々と第3の層205cのストラップ220cとの間の接続を容易にする。ストラップ220およびバイア230は、バイア・メッシュ200を構成する。ルータと呼ばれる配線ツールが、セル125のピン210を、ネット600(図6)を通じ、セル125のバイア・メッシュ200を通して、1つまたは複数の他のセル125に接続する。具体的には、ルータは、最上位レベル205(すなわち、図示の例では第3の層205c)のみにおいて、セル125をアクセス225でネット600に接続する。先に述べたように、バイア・メッシュ200(例えば、ストラップ220およびバイア230)は、ネット600からピン210への接続に冗長性を与える。増大した冗長性は、バイア・メッシュ200の増大した強度および低下した抵抗に比例する。
【0022】
図2Bは、本発明の1つまたは複数の実施形態による、図2Aに示した例示的バイア・メッシュ200に対して生成されるバイア・メッシュ仕様250の表現を示す。バイア・メッシュ仕様250は、バイア・メッシュ200の構造を定め、ルータに各層205のワイヤ数およびバイア数を提供する。図2Bに表される例示的なバイア・メッシュ仕様250は、第1の層205a(すなわち、金属層1(M1))に2つのピン210があり、それらがそれぞれのバイア230によって第2の層205b(すなわち、金属層2(M2))の2つのストラップ220に接続されていることを示している。さらに他のバイア230が、第3の層205c(すなわち、金属層3(M3))のストラップ220cが、第2の層205bの両方のストラップ220に、それにより第1の層205aの両方のピン210に、接続することを可能にしている。M2にあるストラップ220の数(2)およびM3にあるストラップ220の数(1)を使用して、バイア・メッシュ仕様250を{2,1}と表すことができる。これは、金属層の数、したがってバイア・メッシュ200の高さが3であることを意味し、また第2およびそれに続くすべての層205にあるストラップ220の数も指定する。先に述べたように、本発明の例示的実施形態は、セル200の配置に関係なく配線可能であることが各々保証されるバイア・メッシュ仕様250のライブラリを生成することに関する。配線可能性について図3図5を参照してさらに解説する。
【0023】
図3は、本発明の実施形態による共通的に配線可能なバイア・メッシュ仕様250を生成する方法300の処理フローである。ブロック310で、セル分析を行うことは、入力端子の数、入力ピン210の数、出力端子の数、出力ピン210の数、セル幅、およびセル高さを含む、各セル200の統計を収集することを指す。ピン端子とは、1つまたは複数のピン210の論理表現を指す。すなわち、ピン端子は、単一のピン210または論理的に1つとして扱われるピン210の互いに素の集合を指し得る。ブロック320で、セル125のグループ化は、種々のセル統計に基づいてよい。例えば、セル125は、出力ピン210の数対セル高さ、入力ピン210の数対セル高さ、または出力端子の数対入力端子の数に従ってグループ化されてよい。ブロック330で、グループのすべてのセル125を考慮してグループにバイア・メッシュ仕様250が定義されたかどうかが判定される。定義された場合、方法300は、ブロック360で、グループのセル200のいずれとも互換性のあるバイア・メッシュ仕様250の完成ライブラリをもって終了する。定義されていない場合、示されるように、ブロック340および350の処理が反復的に行われる。
【0024】
ブロック340で、バイア・メッシュ仕様250を定義することは、生成される各バイア・メッシュ仕様250の抵抗推定値を得ることを含む。最大強度のバイア・メッシュ200が、セル125の各グループのために作成されてよく、次いでバイア・メッシュ200のためのより低い強度のオプションが導出されてよい。ブロック350で、配線可能性を検証する結果として、共通的に配線可能な(すなわち、配置に関係なく配線可能な)バイア・メッシュ仕様250だけがライブラリに維持される。配線可能性とは、セル125が、すべての設計規則を満たしながら、ネット600を通じて他のセル125と相互接続可能であることを言う。一般に、図4および図5を参照してさらに解説されるように、個別配置シナリオとパック(packed)配置シナリオとがセル125ごとに考慮される。共通的に配線可能であるとみなされないバイア・メッシュ200はいずれも、セル125のグループのバイア・メッシュ仕様ライブラリのエントリから除去される。
【0025】
図3が示すように、バイア・メッシュ仕様の定義(ブロック340)および配線可能性の検証(ブロック350)は、一つのグループのすべてのセル125についてのすべてのバイア・メッシュ・オプションが検討されるまで反復的に行われる。配線可能性の判定は、所与のバイア・メッシュ200の実際のレイアウトを必要としない。よって、様々な強度および高さの多数のバイア・メッシュ・オプションが、本発明の1つまたは複数の実施形態に従って配線可能性について検査されてよい。配置に関係なく配線可能であるバイア・メッシュ仕様250だけがライブラリに維持される(ブロック360)。
【0026】
図4は、本発明の1つまたは複数の実施形態による、例示的セル125についてのブロック350の処理の一部である配線分析の態様を示す。例示的セル125の統計は、2の入力端子数、形状Aの2本の入力ピン210、形状Bの2本の入力ピン210、1の出力端子数、および形状Yの1本の出力ピン210を含む。例えば、セル幅は、480ナノメートル(nm)であってよく、セル高さは324nmであってよい。これらの統計の結果、例示的セル125は特定の他のセル125と共にグループ化され得る。図示されるように、パワー・ステープル(power staple)410のM2(すなわち、金属層2)グリッドに対して、セル125のあらゆる配置でテスト・ケースが作成される。すなわち、示されるように、所与のセル125に対する所与のバイア・メッシュ・オプションが、各可能な配置で繰り返される。配線トラックと設計規則を分析して、各層205の空きトラックを判定する。各セル125につき複数のバイア・メッシュ200が構築され得るため、利用可能なリソースが全セル・バイア・メッシュ・ストラップ数の間で分割される。
【0027】
異なる配置における配線可能性を検査するプロセスは、各セル125およびグループのセル125の各可能なバイア・メッシュ200について繰り返される。検査する位置の数は、パワー・ステープル・グリッド410のピッチを配置ピッチ(すなわち、配置グリッドのピッチ)で割った値として算出される。算出の結果、およびしたがって各バイア・メッシュ200が検査されなければならない配置の数は、特定のチップ技術に基づいて変動し得る。先に述べたように、このプロセスは、バイア・メッシュ200のどれをも実際に事前構築することを必要としない。代わりに、異なる配置オプションは、パワー・グリッドに対する配線リソースの異なる割り当てとして現れる。このプロセスに基づき、配置に対する制限が、グループ中の各セル125に対して見つけられる。すなわち、所与のバイア・メッシュ200を有する所与のセル125が、設計規則に従って図4に示される位置のすべてに配置できない場合、そのバイア・メッシュ200のバイア・メッシュ仕様250は、そのグループのライブラリに追加されない(ブロック360)。このようにして、任意のセル125の任意のバイア・メッシュ200の配置制限が、そのグループのすべてのセル125に転嫁される。
【0028】
図5は、本発明の1つまたは複数の実施形態による、例示的セル125についてのブロック350の処理の一部である配線分析の態様を示す。図4がM2のパワー・ステープル・グリッド410に対する種々の配置を示すのに対し、図5はパック配置シナリオを示す。図4に示す配置に従って配線可能であることが判明したバイア・メッシュ200は、セル125が示されるように複製されることを伴うこのパック配置シナリオでさらに検討される。パック配置シナリオでは、検査されるバイア・メッシュ200を有するセル125は、パワー・ステープル410だけでなく、隣接するバイア・メッシュ200によっても制約される。バイア・メッシュ200は、ルータが必要とされるワイヤ数またはバイア数を挿入できない場合に、配線可能でない。配線の失敗の理由がバイア・メッシュ200の設計にとって根本的なものである場合は、ブロック360で、対応するバイア・メッシュ仕様250をライブラリに含めることができない。ブロック350の配線分析の結果、セル125のグループに対してライブラリに含まれている(ブロック360)バイア・メッシュ仕様250はいずれも、共通的に配線可能であることになる(すなわち、配置に関係なく配線可能である)。
【0029】
図6は、本発明の例示的実施形態による、あるセル125aの入力ピン210と別のセル125bの出力ピン210との間の論理接続を形成する例示的ネット600を示す。例示的セル125aおよび125bは両方とも、バイア・メッシュ仕様250の表現と共に示されている。しかし、本発明の代替実施形態によれば、セル125の一方だけがバイア・メッシュ200を有してよい。ワイヤ・コード(WC)は、ネット600に課される制約を示す。WCは、例えば最小ワイヤ幅および間隔を示してよい。幅はタイミングの重要度に基づいており、より重要なネットはより大きい最小ワイヤ幅を有する。使用層(UL)は、最も長いワイヤと、示されるように、セル125a、125bの一方に各々が接続するネット600の2つの部分を相互接続するワイヤとを示す、ネット600に対する制約である。ULは、層205の範囲であっても、またはこの例示的ケースに示されるように単一の層205であってもよい。ULは、一般に、ネット600の増大したタイミング重要性に基づいて、より高い層205にある。
【0030】
図6が示すように、あるセル125aの入力ピン210を別のセル125bの出力ピン210と接続することは、ネット600だけでなく、それらセル125の一方または両方のバイア・メッシュ200も必要とする。セル125のバイア・メッシュ200は、本発明の1つまたは複数の実施形態に従って生成されてセル125が属するグループのライブラリに記憶されている、利用可能な共通的に配線可能なバイア・メッシュ仕様250の中から選択される。選択されるバイア・メッシュ200は、タイミングと配線混雑の両方を考慮してネット600に適合されなければならない。図7および図8を参照してさらに解説されるように、ピン制約760(図7)と呼ばれ、ネット仕様を示すように作成されるピン端子制約は、本発明の1つまたは複数の実施形態に従ってライブラリから選択されるべきバイア・メッシュ仕様250をも示すように変更されてよい。すなわち、各ピン制約760は、対応するバイア・メッシュ仕様250に関する情報を含む。その対応するバイア・メッシュ仕様250は、図8を参照してさらに解説されるように、ブロック360で埋められるライブラリ内の共通的に配線可能なバイア・メッシュ仕様250の中にある場合も、ない場合もある。
【0031】
図7は、本発明の1つまたは複数の実施形態による、共通的に配線可能なバイア・メッシュ仕様250の中からの選択を容易にするピン制約760を割り当てる方法700の処理フローである。ネット600の構造が定義されたら、図7に示されるプロセスはいつ行われてもよい。ブロック710で、オプションの設計プロパティを読み込むことは、使用されることが可能なバイア・メッシュ200の強度を制限し得る設計プロパティを指す。ブロック720で、セル125を相互接続するネット600が、ピン制約760を割り当てるためにすでに処理されていない状態で残っているかどうか確認が行われる。残っていない場合は、示されるように処理フローが完了される。ブロック720の確認が、まだ処理されていないネット600が少なくとも1つあることを示す場合、ブロック730の確認が行われる。ブロック730で、ピン端子(すなわち、1つのピン210またはピン210のセット)が、ピン制約760を割り当てられない状態で残っているかどうかが判定される。残っていない場合、ブロック720の確認が繰り返される。ピン制約760の割り当てがないピン端子が少なくとも1つある場合は、ブロック740の処理が行われる。
【0032】
ブロック740で、プロセスは、ネット600、ピン端子、およびセル125のプロパティを取得することを含む。ブロック750でピン端子にピン制約760を割り当てることは、ピン制約760の既存の参照テーブルから選択することを指す。ピン制約760のテーブルは、抵抗および静電容量(RC)エントリの対応するテーブルと共に事前に定義される。
【0033】
例示的なピン制約760が示される。示されるように、ピン制約760は、セル・プロパティがネット600、より具体的にはULのプロパティ、と共に名前の中に符号化されるように、従来のピン制約命名規則から変更される。ピン制約760の一部であるセル125のプロパティは、ピン端子タイプ(すなわち、入力または出力)、ピン210の層(例えば、第1の金属層、M1)、ピン210の幅(例えば、マイクロメートル(ミクロン)単位)、およびピン210の数(すなわち、接続しなければならないピンの数)を含む。ピン制約760の一部であるULのプロパティは、層205の識別、ULにおけるワイヤ・コードに従う最小幅、および、セル125のためのバイア・メッシュ200の強度を示す、ワイヤ・コードに従う制約サブグループ・プロパティ(例えば0、1、2)を含む。
【0034】
先に述べたように、図7に示されるプロセスはいつ行われてもよい。ブロック750で割り当てられるピン制約760は、共通的に配線可能なバイア・メッシュ200のライブラリの一部であるバイア・メッシュ仕様250と一致しない場合がある。例えば、バイア・メッシュ200の中に、0.020ミクロンであるピン210の幅に適合するものが1つもないことがある。図8は、集積回路120の設計の最適化に伴うプロセスを説明する。選択されたネット600に一致するピン制約760に、ライブラリ・エントリに基づいて対応する共通的に配線可能なバイア・メッシュ200がある場合、最適化プロセスは、解説されるように、タイミング分析の向上した精度から利益を得られる。
【0035】
図8は、本発明の1つまたは複数の実施形態による、最適化プロセスの一部として共通的に配線可能なバイア・メッシュ200を選択する方法800の処理フローである。最適化プロセスとは、タイミング要件が満たされることを確実にするために集積回路120の設計を反復的に調整するプロセスを言う。ブロック810で、プロセスは、ネット600またはソースもしくはシンク・セル125(すなわち、入力端子または出力端子のあるセル125)あるいはその組合せのプロパティを選択または変更することを含む。これらの選択は、図7に示されるように、ピン制約760を構成するプロパティを定める。
【0036】
ブロック820で、ブロック810で選択されたプロパティに一致するピン制約760を検索することは、そのピン制約760が、ライブラリにある共通的に配線可能なバイア・メッシュ仕様250と一致するかどうかを判定することを含む。ピン制約760の検索は、図7を参照して解説されたピン制約760の命名法(nomenclature)に基づいて、ブロック810で定義された仕様をマッチングすることに基づく。この同じ命名法はまた、やはり図7を参照して解説したように、ライブラリに記憶されている共通的に配線可能なバイア・メッシュ仕様250との一致があるかどうかの判定も可能にする。ブロック820で検索されたピン制約760に、対応する共通的に配線可能なバイア・メッシュ仕様250がない場合、セル125のピン端子は、冗長性およびバイア・メッシュ200によってもたらされる対応する抵抗の低下を伴わずに最上層に接続される。ブロック820で検索されたピン制約760に、ライブラリ内に対応するバイア・メッシュ仕様250がある例示的実施形態を考える。この場合、解説されるように、ブロック830のタイミング分析が向上される。
【0037】
ブロック830で、タイミング分析を行うことは、従来の最適化プロセスとは異なり、バイア・メッシュ200を考慮することを含む。この理由は、グローバル・ルートではなく、特定のバイア・メッシュ200および対応する抵抗および静電容量(RC)エントリがタイミング分析で使用され得るからである。ブロック840で、一部の経路が負のスラック(negative slack)(すなわち、要件を満たさないタイミング)を有するかどうかの確認が行われる。有する場合、ブロック850で、さらなる最適化の反復が追加され得るかの確認が行われる。追加され得る場合、ブロック810で開始するプロセスが繰り返される。ブロック840の確認が、負のスラックを有する経路がない(すなわち、すべての経路がタイミング要件を満たす)ことを示すか、またはブロック850の確認に従ってさらなる最適化が可能でない場合、プロセスは終了する。
【0038】
本発明の1つまたは複数の実施形態によるバイア・メッシュ200の生成および選択の手法は、従来の手法を上回るいくつかの利点を有する。図3図5を参照して解説したように、生成では、検討されるバイア・メッシュ・オプションの実際の事前構築を必要とすることなく、配線可能性を検討する。その結果、所与のグループの中でセル125のライブラリから得られるバイア・メッシュ仕様250はいずれも、セル125の配置に関係なく配線可能であることが保証される。加えて、ピン制約760の変更は、割り当てられたピン制約760に従ってライブラリから特定のバイア・メッシュ仕様250を(利用可能な場合)選択することを容易にする。これは、バイア・メッシュ200およびネット600がすべての設計要件を満たすことを確実にする。さらに、ピン制約の最終的な割り当てをもたらす最適化プロセスは、バイア・メッシュ200のタイミングを考慮に入れ、それにより、分析の追加的な粒度を提供する。
【0039】
図9は、本発明の例示的実施形態による、集積回路を作製する方法の処理フローである。図3図7、および図8を参照して解説されたプロセスに部分的に基づいて物理的設計データが得られたら、図6を参照して概説される既知のプロセスに従って集積回路120を作製することができる。一般に、最終設計の複数のコピーを有するウェハが作製され、各ダイが集積回路120の1つのコピーとなるように切断される(すなわち、ダイシングされる)。ブロック910で、プロセスは、確定された物理レイアウトに基づいてリソグラフィ用のマスクを作製することを含む。ブロック920で、ウェハを作製することは、そのマスクを使用してフォトリソグラフィおよびエッチングを行うことを含む。ウェハがダイシングされたら、ブロック930で各ダイの検査および選別が行われて、欠陥ダイがあればそれを排除する。
【0040】
本発明の様々な実施形態は、関連する図面を参照して本明細書に説明される。本発明の範囲から逸脱することなく、本発明の代替の実施形態を考案することが可能である。様々な接続および位置関係(例えば、上、下、隣等)が、以下の説明および図面中の要素間で述べられる。そのような接続または位置関係あるいはその両方は、特に断らない限り、直接的なものでも間接的なものでもあり得、本発明はこれに関して制限的であることは意図されない。したがって、存在物の結合は、直接的な結合または間接的な結合のいずれをも指し得、存在物間の位置関係は、直接的または間接的な位置関係であり得る。さらに、本明細書に記載される様々なタスクおよびプロセス・ステップは、本明細書に詳細には説明されない追加的なステップまたは機能を有する、より統合的な手順またはプロセスに一体化され得る。
【0041】
本明細書に記載される方法の1つまたは複数は、それぞれ当技術分野でよく知られている以下の技術、すなわち、データ信号に対して論理機能を実施するための論理ゲートを有する離散論理回路、適当な組合せ論理ゲートを有する特定用途集積回路(ASIC)、プログラム可能ゲートアレイ(PGA)、フィールド・プログラム可能ゲートアレイ(FPGA)等、のうちの任意のものまたは組合せを用いて実装され得る。
【0042】
簡潔のために、本発明の態様を作製し、使用することに関係する従来技術は、本明細書で詳細に説明されることもあるし、説明されないこともある。詳細には、本明細書に記載される様々な技術的特徴を実装するためのコンピューティング・システムおよび特定のコンピュータ・プログラムの様々な態様はよく知られている。したがって、簡潔のために、多くの従来の実装の詳細は、本明細書においては簡単にのみ言及するか、周知のシステムまたはプロセスあるいはその両方の詳細を提供することなく、完全に省略される。
【0043】
一部の実施形態では、様々な機能または動作は、所与の場所で、または1つまたは複数の装置もしくはシステムの動作との関係で、あるいはその両方で発生し得る。一部の実施形態では、所与の機能または動作の一部が、第1のデバイスまたは場所で行われ、機能または動作の残りが1つまたは複数の追加的なデバイスまたは場所で行われることができる。
【0044】
本明細書で使用される術語は、特定の実施形態を説明することのみを目的とし、制限的である意図はない。本明細書で使用される場合、単数形の「a」、「an」および「the」は、文脈が明らかに他のように示さない限り、複数形も包含することが意図される。さらに、語「~を備える」または「~を備えている」あるいはその両方は、本明細書で使用される場合、述べられる特徴、整数、ステップ、動作、要素、または構成要素、あるいはそれらの組合せの存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素構成要素、またはそれらの群、あるいはそれらの組合せの存在または追加を排除しないことが理解されよう。
【0045】
下記の特許請求の範囲における、すべての手段またはステップに機能を加えた要素の、対応する構造、材料、動作、および相当物は、明確に特許請求される他の特許請求される要素との組合せで機能を行うための任意の構造、材料、または動作を包含することが意図される。本開示は、例示および説明の目的で提示されたものであり、網羅的であるまたは開示される形態に制限される意図はない。本開示の範囲から逸脱することなく、多くの変更および変形が当業者に明らかとなろう。実施形態は、本開示の原理および実際的な応用を最もよく説明し、当業者が、様々な実施形態に関して、企図される特定の用途に適する様々な変更と共に本開示を理解することを可能にするために選択および記載された。
【0046】
本明細書中に描かれた図は例示的なものである。本明細書に記載された図またはステップ(もしくは動作)には、本開示の範囲から逸脱することなく、多くの変形形態があり得る。例えば、動作は、異なる順序で行われ得、または動作が追加、削除、もしくは変更され得る。また、用語「結合される」は、2つの要素間の信号経路を有することを表し、間に介在する要素/接続がない、要素間の直接の接続は示唆しない。これらの変形形態はすべて本開示の一部とみなされる。
【0047】
以下の定義および省略語が、請求項および明細書の解釈のために使用されるものとする。本明細書において使用される場合、用語「~を備える(comprises、comprising)」、「~を含む(includes、including)」、「~を有する(has、having)」、または「~を含んでいる(containsまたはcontaining)」、またはそれらの変形は、非排他的な包含をカバーすることが意図される。例えば、要素の列挙を含む、配合、混合物、プロセス、方法、物品、または装置は、必ずしもそれらの要素だけに限定されず、明示的に列挙されない、またはそのような配合、混合物、プロセス、方法、物品、もしくは装置に本質的に伴う他の要素を含み得る。
【0048】
加えて、用語「例示的な」は、本明細書において、「例、実例、または例示の役割を果たす」を意味するように使用される。本明細書に「例示的」であるとして記載される実施形態や設計は、必ずしも他の実施形態や設計よりも好ましいまたは有利であると解釈されるべきでない。用語「少なくとも1つの」および「1つまたは複数の」は、1以上の任意の整数、すなわち、1、2、3、4等を含むものと理解される。用語「複数の」は、2以上の任意の整数、すなわち、2、3、4、5等を含むものと理解される。用語「接続」は、間接的な「接続」と直接的な「接続」の両方を含み得る。
【0049】
用語「約」、「実質的に」、「およそ」およびそれらの変形は、本出願の出願時において利用可能な機器に基づく、特定の数量の測定に伴う度合いの誤差を含むことが意図される。例えば、「約」は、所与の値の±8%、または5%、または2%の範囲を含み得る。
【0050】
本発明は、任意の可能な技術的詳細の統合レベルにおけるシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有している(1つまたは複数の)コンピュータ可読記憶媒体を含んでよい。
【0051】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および記憶することが可能な有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、これらに限定されないが、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または上述の任意の好適な組合せであってよい。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストには、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラム可能読出し専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、携帯型コンパクト・ディスク読出し専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチ・カードや、命令が記録されている溝内の隆起構造などの機械的に符号化されたデバイス、または上述の任意の好適な組合せが含まれる。本発明において使用されるコンピュータ可読記憶媒体は、電波または他の自由伝搬する電磁波、導波管もしくは他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、または電線を通じて伝送される電気信号などの一過性の信号自体であると解釈されるべきではない。
【0052】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、ネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたはワイヤレス・ネットワーク、あるいはその組合せを介して、外部コンピュータもしくは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含んでよい。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受け取り、そのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内部のコンピュータ可読記憶媒体内に記憶するために転送する。
【0053】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、Smalltalk(R)、C++等のオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、または、ソース・コードもしくはオブジェクト・コードのいずれかであってよい。コンピュータ可読プログラム命令は、スタンドアロンのソフトウェア・パッケージとして、全体がユーザのコンピュータ上で、一部がユーザのコンピュータ上で、一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がリモート・コンピュータもしくはサーバ上で実行されてよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意タイプのネットワークを通じてユーザのコンピュータに接続されてよく、または接続は外部コンピュータになされてもよい(例えばインターネット・サービス・プロバイダを使用してインターネットを通じて)。一部の実施形態では、例えば、プログラム可能論理回路、フィールド・プログラム可能ゲートアレイ(FPGA)、またはプログラム可能論理アレイ(PLA)を含む電子回路が、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個別設定することによって、コンピュータ可読プログラム命令を実行してよい。
【0054】
本発明の態様は、本明細書において、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して記載される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロックあるいはその組合せの中のブロックの組合せは、コンピュータ可読プログラム命令によって実施され得ることが理解されるであろう。
【0055】
それらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するための手段を作り出すように機械を制作すべく、汎用コンピュータ、特殊目的コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてよい。それらのコンピュータ可読プログラム命令は、命令が記憶されているコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含む製造品を構成するように、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに特定の様態で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてもよい。
【0056】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能装置、または他のデバイスで実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを行わせて、コンピュータにより実施されるプロセスを発生させてもよい。
【0057】
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を説明している。これに関して、フローチャートまたはブロック図中の各ブロックは、モジュール、セグメント、または命令の一部を表し得、それは、指定される論理機能を実施するための1つまたは複数の実行可能命令を含む。一部の代替実装形態では、ブロックに記される機能は、図に記される順序から外れて行われてよい。例えば、連続して示される2つのブロックが、実際には実質的に同時に実行されてよく、またはそれらブロックは、時に、関与する機能に応じて逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方の中のブロックの組合せは、指定される機能を行うか、または特殊目的ハードウェアとコンピュータ命令との組合せを動作させるもしくは実施する、特殊目的のハードウェア・ベース・システムによって実施され得ることが気づかれよう。
【0058】
本発明の様々な実施形態の説明は、説明の目的で提示されたものであり、網羅的である、または開示される実施形態に制限されることは意図されない。記載される実施形態の範囲から逸脱することなく、多くの変更および変形が当業者に明らかとなろう。本明細書で使用される用語は、実施形態の原理、実際的な応用、もしくは市場に見られる技術に対する技術的向上を最も良く説明するために、または当業者が本明細書に記載される実施形態を理解できるようにするために選択されたものである。
図1
図2A
図2B
図3
図4
図5
図6
図7
図8
図9
【国際調査報告】