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

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

▶ シルヴァコ,インコーポレイテッドの特許一覧

特許7542141半導体回路設計のための物理検証ワークフロー
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-21
(45)【発行日】2024-08-29
(54)【発明の名称】半導体回路設計のための物理検証ワークフロー
(51)【国際特許分類】
   G06F 30/398 20200101AFI20240822BHJP
   H01L 21/82 20060101ALI20240822BHJP
【FI】
G06F30/398
H01L21/82 C
H01L21/82 T
【請求項の数】 17
(21)【出願番号】P 2023517803
(86)(22)【出願日】2021-09-23
(65)【公表番号】
(43)【公表日】2023-10-06
(86)【国際出願番号】 US2021051816
(87)【国際公開番号】W WO2022066952
(87)【国際公開日】2022-03-31
【審査請求日】2023-05-19
(31)【優先権主張番号】63/081,985
(32)【優先日】2020-09-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】523096001
【氏名又は名称】シルヴァコ,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】グルダノフ,ニコライ
(72)【発明者】
【氏名】ボボフスキー,ヴァレリー
(72)【発明者】
【氏名】ロパネンコ,イゴール
(72)【発明者】
【氏名】レフスキー,ユーリ
(72)【発明者】
【氏名】グルダノフ,アレクサンダー
【審査官】合田 幸裕
(56)【参考文献】
【文献】米国特許第08789005(US,B1)
【文献】米国特許第09286427(US,B1)
【文献】米国特許第10248747(US,B1)
【文献】米国特許出願公開第2020/0134120(US,A1)
【文献】米国特許出願公開第2019/0155980(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 - 30/398
H01L 21/82
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
半導体回路設計の物理検証のためのシステムにより実行される方法であって、
前記システムは、複数の中央処理コアを含むコンピューティングデバイスと、前記コンピューティングデバイス上で走るように動作可能な電子設計自動化(EDA)ツールとを備え、
前記方法は、
前記複数の中央処理コアを使用して並列処理するために集積回路(IC)レイアウトをいくつかのウィンドウに分割することと、
ウィンドウごとに、
前記ICレイアウトから寄生容量構造を抽出することと、
必要な情報及びリソースの量を最小化するためのメタデータマトリックスを使用して、前記ICレイアウトを有するICを製作するためのマスク用のフィル要素を生成することと、
前記ICレイアウトから寄生抵抗構造を抽出することと、
を含む、方法。
【請求項2】
複数の中央処理コアを使用して並列処理するために前記ICレイアウトをいくつかのウィンドウに分割することは、前記ICレイアウトをいくつかのストリップに論理的に分けることと、前記複数の中央処理コアの別個の中央処理コアを使用して、ストリップごとにいくつかの入力ルールブロックを実行することと、を含む、請求項1に記載の方法。
【請求項3】
前記ICレイアウトをいくつかのストリップに分けることは、
ストリップ処理が前記入力ルールブロックに適用可能かどうかチェックすることと、
前記ICレイアウトを設計制約の値によって重なり合うストリップに分けることと、
前記いくつかのストリップの各ストリップに対して専用の検証プロセスを開始することと、
前記いくつかのストリップの上側及び下側で見いだされた違反をフィルタで除去することと、
フィルタで除去された違反を集め、誤ったソリューションとしてマークすることと、
を含む、請求項2に記載の方法。
【請求項4】
前記ICレイアウトから寄生容量構造を抽出する前に、いくつかのルールグループに基づいて、前記複数の中央処理コアを使用して並列処理するために前記ICレイアウトを分割することをさらに含む、請求項1に記載の方法。
【請求項5】
いくつかのルールグループに基づいて、前記複数の中央処理コアを使用して並列処理するために前記ICレイアウトを分割することは、
前記複数の中央処理コアのうちの単一の中央処理コアを使用して処理するために入力ルールを順序付けることとと、
ICレイアウト内の接続クラスタへの接続性の識別が必要な入力ルールを識別することと、
接続性が必要な入力ルールの第1のルールブロックを形成して、前記第1のルールブロックをさらなる処理から除外することと、
フラットモードのみで走る入力ルールを識別することと、
フラットモードのみで走る入力ルールの第2のルールブロックを形成して、前記第2のルールブロックをさらなる処理から除外することと、
残りの入力ルールを同様の処理時間を有するいくつかの第3のルールブロックに分けることと、
を含む、請求項4に記載の方法。
【請求項6】
前記第3のルールブロックの前記処理時間は、前記ICレイアウト内の層の数、前記層の複雑さ、及び前記層内の頂点の数に基づいている、請求項5に記載の方法。
【請求項7】
半導体回路設計の物理検証のためのシステムにより実行される方法であって、
前記システムは、複数の中央処理コアを含むコンピューティングデバイスと、前記コンピューティングデバイス上で走るように動作可能な電子設計自動化(EDA)ツールとを備え、
前記方法は
前記複数の中央処理コアを使用して並列処理するために集積回路(IC)レイアウトをいくつかのウィンドウに分割することと、
前記ICレイアウトから寄生容量構造を抽出することと、
必要な情報及びリソースの量を最小化するためのメタデータマトリックスを使用して、前記ICレイアウトを有するICを製作するためのマスク用のフィル要素を生成することと、
前記ICレイアウトから寄生抵抗構造を抽出することと、
を含む、方法。
【請求項8】
複数の中央処理コアを使用して並列処理するために前記ICレイアウトをいくつかのウィンドウに分割することは、前記ICレイアウトをいくつかのストリップに論理的に分けることと、前記複数の中央処理コアの別個の中央処理コアを使用して、ストリップごとにいくつかの入力ルールブロックを実行することと、を含む、請求項7に記載の方法。
【請求項9】
前記ICレイアウトをいくつかのストリップに分けることは、
ストリップ処理が前記入力ルールブロックに適用可能かどうかチェックすることと、
前記ICレイアウトを設計制約の値によって重なり合うストリップに分けることと、
前記いくつかのストリップの各ストリップに対して専用の検証プロセスを開始することと、
前記いくつかのストリップの上側及び下側で見いだされた違反をフィルタで除去することと、
フィルタで除去された違反を集め、誤ったソリューションとしてマークすることと、
を含む、請求項8に記載の方法。
【請求項10】
前記ICレイアウトから寄生容量構造を抽出する前に、いくつかのルールグループに基づいて、前記複数の中央処理コアを使用して並列処理するために前記ICレイアウトを分割することをさらに含む、請求項7に記載の方法。
【請求項11】
いくつかのルールグループに基づいて、前記複数の中央処理コアを使用して並列処理するために前記ICレイアウトを分割することは、
前記複数の中央処理コアのうちの単一の中央処理コアを使用して処理するために入力ルールを順序付けることとと、
ICレイアウト内の接続クラスタへの接続性の識別が必要な入力ルールを識別することと、
接続性が必要な入力ルールの第1のルールブロックを形成して、前記第1のルールブロックをさらなる処理から除外することと、
フラットモードのみで走る入力ルールを識別することと、
フラットモードのみで走る入力ルールの第2のルールブロックを形成して、前記第2のルールブロックをさらなる処理から除外することと、
残りの入力ルールを同様の処理時間を有するいくつかの第3のルールブロックに分けることと、
を含む、請求項10に記載の方法。
【請求項12】
前記第3のルールブロックの前記処理時間は、前記ICレイアウト内の層の数、前記層の複雑さ、及び前記層内の頂点の数に基づいている、請求項11に記載の方法。
【請求項13】
半導体回路設計の物理検証のためのシステムであって、前記システムは、
複数の中央処理コアを含むコンピューティングデバイスと、
前記コンピューティングデバイス上で走るように動作可能な電子設計自動化(EDA)ツールであって、前記EDAツールは、
複数の中央処理コアを使用して並列処理するために集積回路(IC)レイアウトをいくつかのウィンドウに分割するように動作可能な分割モジュールと、
前記ICレイアウトから寄生容量構造をウィンドウごとに抽出するように動作可能な寄生容量モジュールと、
必要な情報及びリソースの量を最小化するためのメタデータマトリックスを使用して、前記ICレイアウトを有するICを製作するためのマスク用のフィル要素をウィンドウごとに生成するように動作可能なフィル要素モジュールと、
前記ICレイアウトから寄生抵抗構造をウィンドウごとに抽出するように動作可能な寄生抵抗モジュールと、
を含む、電子設計自動化(EDA)ツールと、
を含むシステム。
【請求項14】
前記分割モジュールは、
ストリップ処理が前記システムに入力される入力ルールブロックに適用可能かどうかチェックし、
前記ICレイアウトを設計制約の値によって重なり合うストリップに分割し、
いくつかのストリップの各ストリップに対して専用の検証プロセスを開始し、
前記いくつかのストリップの上側及び下側で見いだされた違反をフィルタで除去し、
フィルタで除去された違反を集め、誤ったソリューションとしてマークする
ように動作可能である、請求項13に記載のシステム。
【請求項15】
前記EDAツールは、前記複数の中央処理コアを使用して並列処理するために前記ICレイアウトをいくつかのルールグループに分割するように動作可能なルールグループモジュールをさらに含む、請求項13に記載のシステム。
【請求項16】
前記ルールグループモジュールは、
前記複数の中央処理コアのうちの単一の中央処理コアを使用して処理するために入力ルールを順序付け、
ICレイアウト内の接続クラスタへの接続性の識別が必要な入力ルールを識別し、
接続性が必要な入力ルールの第1のルールブロックを形成して、前記第1のルールブロックをさらなる処理から除外し、
フラットモードのみで走る入力ルールを識別し、
フラットモードのみで走る入力ルールの第2のルールブロックを形成して、前記第2のルールブロックをさらなる処理から除外し、
残りの入力ルールを同様の処理時間を有するいくつかの第3のルールブロックに分ける
ように動作可能である、請求項15に記載のシステム。
【請求項17】
前記第3のルールブロックの前記処理時間は、前記ICレイアウト内の層の数、前記層の複雑さ、及び前記層内の頂点の数に基づいている、請求項16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本国際出願は、2020年9月23日に出願された米国仮特許出願第63/081,985号に対する米国特許法第119条(e)に基づく優先権の利益を主張するものであり、この米国仮特許出願は全体として参照により本明細書に援用される。
【0002】
技術分野
本開示は、一般に、集積回路設計に関し、より詳細には、複雑な集積回路における要素の設計、レイアウト及び配線のための電子設計自動化(EDA)ツールに関する。
【背景技術】
【0003】
背景
集積回路(IC)設計、具体的にはデジタルIC設計では、マイクロプロセッサ、FPGA、メモリ(RAM、ROM、及びフラッシュ)、及びデジタルASICなどのコンポーネントを作り出す。デジタル設計では、論理的正当性、回路密度の最大化、並びにクロック及びタイミング信号が効率的に配線されるように回路を配置することに重点を置いている。最新のICは非常に複雑である。平均的なデスクトップコンピュータチップは、10億個をはるかに上回るトランジスタを搭載し得る。製造できるもの及びできないものに関するルールも極めて複雑な場合がある。一般的なIC設計プロセスには、1000以上のルールが含まれる場合がある。さらにまた、製造プロセス自体が完全に予測可能ではないので、設計者は、その統計的な性質を考慮しなければならない。最新のIC設計の複雑さ、及び迅速に設計を作り出すという市場圧力により、IC設計プロセスにおいて自動化された設計ツールが広範に使用されるようになった。
【0004】
したがって、LiDARアプリケーションで使用するための高速ビームステアリング及び大きな走査角度を提供するために、MEMSフェーズドアレイ及びこれを操作する方法が必要とされている。
【発明の概要】
【課題を解決するための手段】
【0005】
概要
本開示は、一般に、半導体回路設計のための物理検証ワークフローを対象とするデバイス、システム、及び方法について説明する。具体的には、(A)レイアウトからの寄生容量構造の抽出、(B)並列処理のための集積回路レイアウトの自動分割、(C)集積回路マスク用のフィラーを生成するために必要な情報及びリソースの量を最小化するためのメタデータマトリックスの使用、並びに(D)ICレイアウトからの寄生抵抗構造の抽出について、実施形態が説明される。実施形態によるシステムは、単一ホスト・マルチコア(例えば、単一サーバ)又はマルチホスト・マルチコア(例えば、クラウドベースのサービス)環境で実装することができる。
【0006】
前述の概要は、例示的なものにすぎず、いかなる形でも限定することを意図したものではない。上述の例示的な態様、実施形態、及び特徴に加えて、さらなる態様、実施形態、及び特徴は、図面及び以下の詳細な説明を参照することによって明らかになるであろう。
【0007】
図面の簡単な説明
本発明の実施形態は、以下の詳細な説明、並びに以下に提供される添付図面及び添付の特許請求の範囲から、より完全に理解されるであろう。
【図面の簡単な説明】
【0008】
図1A】半導体回路設計のための物理検証ワークフローのための例示的なシステムの略図を例示する。
図1B】半導体回路設計の物理検証ワークフローのためのモジュールを有するEDAソフトウェアツールを含む、図1Aのアプリのブロック図である。
図2A】導電層の組み合わせの典型的な構造を例示する。
図2B】3つの層を有する例示的なテキストレイアウト構造を例示する。
図2C】テストレイアウト構造のレイアウト結合容量及びフリンジ容量の水平構成成分を例示する。
図2D】層の1つの寄生容量のレイアウトセクションの境界線を例示する。
図2E】寄生フリンジ容量のトポロジを形成する水平層を例示する。
図3A】ストリップがIC全体を覆うストリップモードでの集積回路(IC)レイアウトを例示する。
図3B】例示的な2ストリップ構成におけるルールチェックの説明図を含む。
図3C】4コアシステムの例示的な事例における共通結果を加速するためのストリップモードの使用を例示する。
図4A】集積回路マスク用のフィラーを生成するために必要な情報及びリソースの量を最小化するためのメタデータマトリックスの使用を説明するために図4A図4Eで使用される呼称の解説を例示する。
図4B】マトリックスのフラグメントを例示する。
図4C図4Bのフラグメントに対するオフセットのないフィルの位置を例示する。
図4D】マトリックスの別のフラグメントを例示する。
図4E図4Dのフラグメントに対するオフセットのないフィルの位置を例示する。
図5A】寄生抵抗器の抽出のための初期(入力)テスト構造の一例を例示する。
図5B】寄生抵抗器の抽出後の導電層及び接点/ビアのセグメントを例示する。
図5C】組み合わされたテスト構造及び抽出された寄生抵抗器を例示するものであり、それらのいくつかが本明細書に記載の少なくともいくつかの実施形態に従って配置される。
図6】半導体回路設計のための物理検証ワークフローのための方法のフローチャートである。
図7】ルールの自動分割に基づいて並列処理のためにICをいくつかのウィンドウに分割するための方法のフローチャートである。
図8】並列処理のためにICをいくつかのストリップに分割するための方法のフローチャートである。
図9】ICレイアウトから寄生抵抗構造を抽出するための方法のフローチャートである。
図10】ICレイアウトから寄生容量を抽出するための方法のフローチャートである。
【発明を実施するための形態】
【0009】
詳細な説明
以下の詳細な説明では、本明細書の一部を形成する添付図面を参照する。図面では、文脈が別段の指示をしない限り、同様の符号は通常、同様の構成要素を識別する。詳細な説明、図面、及び特許請求の範囲で説明される例示的な実施形態は、限定することを意図されていない。本明細書に提示される主題の趣旨又は範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を加えることができる。本開示の態様は、本発明で一般的に開示され、図に例示されるように、多種多様な異なる構成で配置、置換、組み合わせ、分離、及び設計することができ、そのすべてが本明細書で明示的に企図される。
【0010】
本開示は、一般に、半導体回路設計のための物理検証ワークフローを対象とするデバイス、システム、及び方法に、とりわけ引き寄せられる。具体的には、(A)ICレイアウトからの寄生容量構造の抽出、(B)並列処理のための集積回路レイアウトの自動分割、(C)集積回路マスク用のフィラーを生成するために必要な情報及びリソースの量を最小化するためのメタデータマトリックスの使用、並びに(D)ICレイアウトからの寄生抵抗構造の抽出について、実施形態が説明される。
【0011】
図1Aは、本明細書に記載の少なくともいくつかの実施形態に従って配置された、半導体回路設計のための物理検証ワークフローのための例示的なシステムの略図を例示する。簡潔に言うと、システム100は、コンピューティングデバイス104上で走るアプリケーション(アプリ102)を含み、そこに起点となるユーザ106が回路設計に関する情報を入力する(回路入力)。本開示によれば、アプリ102は、一般に、回路設計の物理検証ワークフローのための電子設計自動化(EDA)ソフトウェアツールを含む。加えて、システム100は、コンピューティングデバイス104から収集されたデータを受け取り、第2のコンピューティングデバイス又はメモリ112から他の情報(例えば、部品特性、レイアウトルールなど)を受け取るように結合されたサーバ110をさらに含み得る。いくつかの実施形態では、回路設計の物理検証ワークフローのためのEDAソフトウェアは、部分的に又は全体的にサーバ110上に常駐し得る。最終的に、サーバ110は、クラウドサービス114を通して、図1に示すように、検証済みの回路設計を製作するためにファウンドリ116に結合することができ、検証済みの回路設計のレイアウトを報告するために、起点となるユーザ106及び他のユーザ118(例えば、設計者、技術者、管理者など)に結合することができる。代わりに、安全保障上の懸念が最重要である場合に、検証済みの回路設計は、物理媒体に保存されたデータの転送を含む他の安全な手段によって、製作するためにファウンドリ116に伝達することができる。
【0012】
物理検証は、集積回路(IC)レイアウト設計を電子設計自動化ソフトウェアツールを通して検証して、正しい電気的及び論理的機能性と製造可能性とを保証するプロセスである。検証は、設計ルールチェック(DRC)、レイアウト対回路図(LVS)、電気ルールチェック(ERC)、XOR(排他的OR)、及びアンテナチェックを含み得るが、これらに限定されない。DRCは、レイアウトが、すべての技術的に課せられた制約、例えば、化学機械研磨(CMP)の層密度を満たすことを検証する。LVSは、設計の機能性を検証する。レイアウトから導出されたネットリストは、論理合成又は回路設計から作り出された元のネットリストと比較される場合がある。
【0013】
ERCは、電源及びグランド接続が正しいこと、並びに信号遷移時間(スルー)、容量性負荷、及びファンアウトが適切に制限されていることを検証する。ERCは、適正な接触及び間隔についてウェル及び基板エリアをチェックし、それにより、正しい電源及びグランド接続、未接続入力又は短絡出力、供給に直接接続されたゲートなどを保証することを含み得る。ERCチェックは、ICの正常動作条件に関する仮定に基づいてもよく、静電放電(ESD)損傷を受けやすい構造のチェックなどの追加のチェックを含み得る。
【0014】
XORチェックは、通常、金属スピンの後に実行することができ、ここで、元のデータベースと修正されたデータベースが比較される。XORチェックを使用して、例えば、所望の修正がなされており、望ましくない修正が偶発的になされていないことを確認することができる。アンテナ効果違反に対するアンテナチェックテスト。アンテナは、本質的に、ウェーハの処理ステップ中に、シリコンに電気的に接続されたり接地されたりしない金属相互接続、すなわち、ポリシリコン又は金属のような導体である。製造プロセス中、高度にイオン化された物質を使用してエッチングするプラズマエッチングのようなある特定の製作ステップ中に、アンテナに電荷蓄積が発生する場合がある。シリコンへの接続が存在しない場合、急速な放電が起こり、薄いトランジスタゲート酸化膜に永久的な物理的損傷が生じる点に至るまで、電荷が相互接続上に蓄積する可能性がある。この急速且つ破壊的な現象は、アンテナ効果として知られている。アンテナエラーは、小さなアンテナダイオードを追加してノードを安全に放電すること、又は別の金属層まで配線してから再び下に配線することによってアンテナを分割することによって解決することができる。
【0015】
図1Aにその例示的な例を示す、実施形態によるシステムは、とりわけ、レイアウトからの寄生容量構造の抽出、並列処理のための集積回路レイアウトの自動分割、集積回路マスク用のフィラーを生成するために必要な情報及びリソースの量を最小化するためのメタデータマトリックスの使用、並びに寄生抵抗及び容量の抽出などの特徴を有する集積回路レイアウトの物理検証を提供する。
【0016】
例示的なシステム100では、起点となるユーザ106は、コンピューティングデバイス104上のアプリケーション(アプリ102)を通して回路入力(回路設計)を提供することができる。物理検証サービスは、回路入力及び第2のコンピューティングデバイス又はメモリ112からの他の情報(例えば、部品特性、レイアウトルールなど)を受け取り、レイアウト報告書を生成することができ、レイアウト報告書は、製造のためのファウンドリ116、起点となるユーザ、又は設計者、技術者、管理者などの他のユーザ118に提供することができる。
【0017】
実施形態によるシステムは、単一ホスト・マルチコア(例えば、単一サーバ110)又はマルチホスト・マルチコア(例えば、クラウドベースのサービス)環境で実装することができる。図1Aでは、クラウドベースのシステムが実例として示されている。しかしながら、安全保障上の懸念が最重要である場合に、回路設計は、安全なスタンドアロンシステム上で検証することができ、検証済みの設計は、物理媒体に保存されたデータの転送を含む他の安全な手段によって、製作のためにファウンドリに伝達し、及び/又はレビューのために設計者、技術者、管理者などの他のユーザに伝達することができる。
【0018】
データ収集用のコンピューティングデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、端末、スマートフォン、据え置き型コンピュータ、ポータブルコンピュータ、ウェアラブルコンピューティングデバイス、専用データ収集デバイス、及び同様のものなどの汎用又は専用コンピューティングデバイスであり得る。サービスは、同じ場所に設置された、又は異なる場所にある1つ又は複数のサーバで実行され得る。
【0019】
図1Bは、回路設計の物理検証ワークフローのためのEDAソフトウェアツール120を含む、図1Aのアプリ102のブロック図である。図1Bを参照すると、EDAソフトウェアツール120は、複数の中央処理コアを使用して並列処理するためにICレイアウトをいくつかのウィンドウに分割するように動作可能な分割モジュール122と、ICレイアウトから寄生容量構造をウィンドウごとに抽出するように動作可能な寄生容量モジュール124と、必要な情報及びリソースの量を最小化するためのメタデータマトリックスを使用してICレイアウトを有するICを製作するためのマスク用フィル要素をウィンドウごとに生成するように動作可能なフィル要素モジュール126と、ICレイアウトから寄生抵抗構造をウィンドウごとに抽出するように動作可能な寄生抵抗モジュール128とを含むことが留意される。図示したようないくつかの実施形態では、EDAソフトウェアツール120は、複数の中央処理コアを使用して並列処理するためにICレイアウトをいくつかのルールグループに分割するように動作可能なルールグループモジュール130をさらに含む。
【0020】
図2Aは、側断面図で示される半導体デバイスの一部における導電層の組み合わせの典型的な構造202を例示する。特に、図2Aは、半導体基板の表面上に形成された第1の層(層1)、第1の層の上方の中央導電層(層2)、及び両方の上に重なる第3の層(層3)を例示し、すべてが層間絶縁膜204によって分離されている。
【0021】
図2Aに示す導電面の静電容量は、2次元(2D)計算の結果の解析から得られた解析モデルで計算される。活性面及び基板以外の導電面ごとに、計算される3種類の静電容量がある。重なり又は面積容量(Ca)は、重なり合う導電面間の誘電体の厚さ及び重なりの面積にのみ依存し、導電面の導体間の間隙がある場合この間隙に依存しない。このような静電容量は、誘電体の厚さにのみ依存するので、1次元(1D)とみなされる。線間結合容量(Cc)は、1つの導電面の導体間の間隔及びそれらの厚さに依存し、上方又は下方の他の導電面の有無に依存しない(又はわずかに依存する)。このような静電容量は、導体間の間隔にのみ依存するので、1次元(1D)とみなされる。間隔が大きくなるにつれて、モデル精度は低下するが、静電容量及びその影響もまた低下する。フリンジ容量(Cf)は、1つの導体のエッジと、(周囲が異なる導電面と交差する場合)第1の導体の上方又は下方の第2の導体の表面との間に形成される。
【0022】
2種類の静電容量-結合容量(Cc)及びフリンジ容量(Cf)-は、2Dシミュレーションの結果から抽出される。一般的な場合、フリンジ容量は、Cft(最上層とのフリンジ容量)及びCfb(最下層とのフリンジ容量)の2つの部分からなる。フリンジ容量と結合容量の両方は、最上部及び最下部のすべての可能な層の組み合わせについて、中央導電層(図2Aの層2)の導体間の間隔(g)に主として依存する(ここでの中央層は、寄生結合容量及び寄生フリンジ容量が抽出される層である)。
【0023】
Cft、Cfb、及びCcの計算には、2Dシミュレーションの結果によって確認された以下の仮定が使用される。(1)約数パーセントの精度での同じ導電層の隣接する平行ポリゴン間の間隔の最小許容値に対する結合容量Ccは、最上部又は最下部の導電層の存在に依存しない。同じ導電層のポリゴンの隣接する平行なエッジ間の間隔が大きくなるにつれて、結合容量の値は、最上部又は最下部にある層に応じて異なる程度に減少する。そのため、最上部及び最下部の層のさまざまな組み合わせについて、中央層のポリゴン間の間隔に対する結合容量の依存関係のモデルに異なる係数を適用する必要がある。(2)同じ導電層の隣接する平行ポリゴン間の間隔が大きいときのフリンジ容量Cft及びCfbは、最上部及び最下部の導電層の組み合わせにのみ依存する。同じ導電層の隣接する平行ポリゴン間の間隔が最小値まで減少するとき、フリンジ容量は、3倍以上低減する。
【0024】
課題は、中央層Mxから形成される静電容量Cft、Cfb、及びCcを層Mxのポリゴンエッジの幅(w)として見いだすことであり、この幅で、最下部及び最上部の導電層のグループに属する条件、並びに層Mxの隣接するバスのエッジまでの同じ間隔(g)が一定に保たれる。g>gmaxの場合、Cft及びCfbの静電容量の値は、同じ層で近くにポリゴンがなければ、最下層/最上層の組み合わせにのみ依存する。
【0025】
選択した近似方法及び近似点の数(gmin及びgmaxの2つから、より多く)に応じて、さまざまなモデルを使用して、ポリゴン間の間隔に対する結合及びフリンジ容量の依存関係を説明することができる。
【0026】
実施形態による例示的なプロセスは、以下の通りであり得る。
1)導電層の前準備は、能動デバイスを形成し、静電容量、例えば、トランジスタ、抵抗器、コンデンサ、ダイオードなどを含むモデルを有するレイアウトの部分を対応する導電層から除去することにある。
2)選択されたソフトウェアツールのエッジ操作を使用して、エッジを最小幅waの新しい矩形層Aeに変換する。最小のwa幅は、容量の幾何学的パラメータの歪みを最小化する方法で選択される所定の、すなわち既知の値であり、例えば設計グリッドの数分の1である。任意の形状のポリゴンの場合、その面積及び全周を直接計算することしかできない。所定のwa幅のAe層を構築することによって、関心のある周囲の部分を計算することができる。
3)最上部及び最下部の層の所定の組み合わせに対する中央導電層の平行なエッジ(水平、垂直又は任意の角度)について、同じ導電層内のポリゴンのエッジ間の間隔gを見いだすために矩形フレームが構築される。導電層の最小ピッチにおける間隔の不正確な計算を回避するために、フレームは、以下のように範囲に分解して構築される。
FR1=d+2*wd-am
FRn=d+2*wd-am+(n-1)*(d+wd)
式中、d-最小バス幅、wd-同じ層のバス間の最小間隔dmin(μm)、am<<d-パラメータである。
4)Ae層、FR並びに最上部及び最下部の導体の層の間の論理AND演算で、結合コンデンサCc及びフリンジコンデンサCfの構造を定義する新しい層を構築する。その結果、2つのコンデンサのグループが得られる。第2のグループとは異なり、第1のグループのコンデンサは、間隔<gmaxで中央層のポリゴンを有する。これらの2つのグループは、容量の計算に異なるモデルを必要とする。
5)上記のコンデンサの見いだされた構造ごとに、幅wを計算し、フレームで、中央層のポリゴンの隣接する平行なエッジまでの間隔gを計算する。
6)プロセス仕様でファウンドリによって提供されるデータに基づいて、寄生容量の可能な構造ごとに寄生容量の適用モデルに対して対応する係数が計算される。それらの係数の配列は、抽出(CX)ルールデックに変数として記録される。
【0027】
図2B図2Eは、例示的なシナリオを例示する。
【0028】
図2Bは、本明細書に記載の少なくともいくつかの実施形態に従って配置された、3つの層を有する例示的なテストレイアウト構造206を例示する。
【0029】
図2Bの例示的なテストレイアウト構造206は、最下層208-金属1(テキストラベルFM11)、最上層210-金属3(テキストラベルFM31)、及び中間層又はバス212-金属2(テキストラベルFM21及びFM22)を含む。
【0030】
図2Cは、本明細書に記載の少なくともいくつかの実施形態に従って配置された、図2Bのテストレイアウト構造に対するテストレイアウト構造206結合容量及びフリンジ容量の水平成分を例示する。
【0031】
図2Cでは、レイアウト結合容量(Cc)及びフリンジ容量(Cf)の水平(AE層)成分が示されている。導電層のエッジ間の間隔gを見いだすために使用されるフレームポリゴン214が破線で示されている。この技術の場合、金属2バス(212)の最小幅は、d=0.2μmであり、最小間隔は、wd=0.21μmである。この抽出の変形形態でn=7の場合、考慮されることになる金属2バス間の最小間隔は、gmax<3.08μである。
【0032】
図2B及び図2Cでは、金属2層(ラベルFM21)の寄生容量のレイアウトセクションの境界線は、同じ構造で、中央層の平行なポリゴン間の間隔が異なるように示される。
【0033】
図2Dは、最上部及び最下部の金属の構造が同じで、中央層の平行なポリゴン間の距離w1及びw2が異なる金属2層(FM21及びFM22)の寄生容量Cc、Cft、Cfb間の境界の拡大画像を例示する。
【0034】
図2Eは、間隔>gmaxで中央層の平行なポリゴンが存在しない場合の寄生フリンジ容量Cfのトポロジを水平層Ae216が形成するテストレイアウト構造206の一部を例示する。図はまた、間隔<gmaxで中央層の平行なポリゴンが存在する場合の寄生フリンジ容量Cfのトポロジを形成する水平層Ae218を示す。
【0035】
抽出された静電容量の値は、対応するノードに対する、又は対応するノード間の出力SPICEネットリストに書き込むことができる。SPICEフォーマットでの抽出されたフリンジ容量(図2Cに示す)を有する出力ネットリストの例。寄生容量ごとにその計算された値に加えて、図は、金属2層の隣接する平行なポリゴンに対する幅w及び間隔gを示す。上記の例が示すように、各エッジは、中央層に関連する2つの静電容量、すなわち金属1との静電容量及び金属3との静電容量を有する。SPICEネットリストは、以下のようになり得る。
c_CAPFF531_1469 (FM22 FM11) CAPFF531 c=38.81C1 g=2.175 w=2.030
c_CAPFF531_1470 (FM22 FM11) CAPFF531 c=53.955a g=0.858 w=2.923
c_CAPFF531_1471 (FM22 FM11) CAPFF531 c=50.566a g=0.400 w=3.220
c_CAPFF531_1472 (FM21 FM11) CAPFF531 c=38.81C1 g=2.175 w=2.030
c_CAPFF531_1473 (FM21 FM11) CAPFF531 c=53.955a g=0.858 w=2.923
c_CAPFF531_1474 (FM21 FM11) CAPFF531 c=50.566a g=0.400 w=3.220
c_CAPFF532_1475 (FM22 FM31) CAPFF532 c=38.81C1 g=2.175 w=2.030
c_CAPFF532_1476 (FM22 FM31) CAPFF532 c=53.955a g=0.858 w=2.923
c_CAPFF532_1477 (FM22 FM31) CAPFF532 c=50.566a g=0.400 w=3.220
c_CAPFF532_1478 (FM21 FM31) CAPFF532 c=38.81C1 g=2.175 w=2.030
c_CAPFF532_1479 (FM21 FM31) CAPFF532 c=53.955a g=0.858 w=2.923
c_CAPFF532_1480 (FM21 FM31) CAPFF532 c=50.566a g=0.400 w=3.220
【0036】
上述の手法により、レイアウト内の特定の導電層の存在に応じた寄生容量の抽出手順の形式化、手順の適用性の向上、及び容量を計算するためのさまざまなモデルの使用における柔軟性が可能になる。
【0037】
図3A図3C及び関連する説明は、並列処理(本明細書ではストリップモードとも呼ばれる)のための集積回路レイアウトの自動分割を対象とする。本明細書で使用するとき、ルールブロックは、同様の操作、例えば間隔チェックのみを含むルールのサブセットを指し、マクロブロックは、マクロブロックのある特定の要件を満たすチップ階層の記述におけるサブツリーを指し、セル配列は、セル配列のある特定の要件を満たすチップ階層の記述におけるサブツリーを指し、ハロは、レイアウト記述要素(ベクトル又は点)とその環境との相互作用のレベルを計算すべき近傍エリアを定義する値を指す。
【0038】
性能を向上させるための主要な手法の1つは、並列処理を使用することであり、この場合、検証タスク全体が、利用可能なCPUコアによって並列処理される複数のより小さな部分に分解される。この部分は、コンピュータ命令からサブルーチン、プログラムまで、さまざまなサイズに及び得る。部分が小さいほど、より多くのコアが関与することができ、データ仕様への依存が少なくなる。しかしながら、部分が多すぎると、タスクを同期させ、より多くの個々の結果をマージする必要があるため、必然的にオーバヘッドが大きくなる。それでも、これは、ゾーンベースの細粒度並列処理を採用する従来のPVツールで選ばれる方法である。
【0039】
いくつかの実施形態は、よりバランスのとれたコンピューティング及び同期時間を与える適度な数の部品を作り出すことを対象とする。このような実施形態では、ルールデックをブロックに自動的に分解するアルゴリズムを使用し、続いて、ICレイアウトを別々に処理することができるストリップに分割することができる。
【0040】
図3Aは、本明細書に記載の少なくともいくつかの実施形態に従って配置された、IC全体をカバーするストリップ304を有するストリップモードでの集積回路(IC)302レイアウトを例示する。特に、ストリップ1は、IC302上に形成された中央処理装置(CPU306)1~4をカバーし、一方、ストリップ2~4は、いくつかのワンショット回路308をカバーする。
【0041】
設計ルールチェック(DRC)ルールデックのすべてのルールは、3つのタイプに分類することができる。(1)チップ全体についてのみチェックすることができるルール、例えば密度、フィル、ラッチアップ、及び接続情報を必要とするルール。そのような情報はチップ全体についてのみ入手可能であるため。(2)サイズを数値で指定することができないエリアでチェックされるルール、例えば、相互作用のような選択ルール。(3)チェック位置それ自体及びその周辺エリアについての情報が必要なルールであり、そのサイズはハロと呼ばれる特別ルール制約によって定義される。このタイプの典型的な例は、間隔、幅、及び包含のようなルールである。
【0042】
ルールブロックにタイプ(1)のルールが少なくとも1つ含まれている場合、そのようなルールブロックは、チップ全体に適用されるフラットモードでのみ処理することができる。タイプ(2)ルールが存在すると、ルールブロックをフラットモードで処理することが必要になるが、チップ全体ではなく、そのルールブロックの入力層のセットに対するチップ階層解析中に検出された階層セルに対して処理される。タイプ(1)及び(2)のルールを含まないルールブロックは、1つのプロセスでチップ全体に適用するのではなく、チップの別個の部分(ストリップ)にそれぞれ割り当てられた、いくつかのプロセスで適用することができる。
【0043】
ストリップモードは、1つのプロセス内ではなく、いくつかのプロセス内でのフラットモードでのチップ全体の検証を暗示し、それぞれが独自のストリップを機能させ、ストリップは、図3Aに示すように、チップの左側から右側までチップ全体をカバーする。ストリップ高さは、チップ高さを所定のルールブロックを機能させるプロセスの数で除算し、それに2倍のハロサイズを加算することによって最初に計算することができる。
【0044】
図3Bは、本明細書に記載の少なくともいくつかの実施形態に従って配置された、例示的な2ストリップ構成におけるルールチェックの説明図を含む。
【0045】
図3Bは、ストリップストリップ0におけるルールブロック処理中に、形状「形状A」が完全に選択され、形状「形状B」が部分的に(その下部)選択されることを示す。間隔ルールチェックは真の結果をもたらす。しかし、幅ルールチェックは誤った結果をもたらし、このルールの真の結果は、形状Bが全体として選択されているとき、ストリップ1を処理することで得られる可能性があるので、誤った結果は除外されなければならない。
【0046】
図3Cは、マルチコアシステムのコアごとのランタイムのグラフであり、本明細書に記載の少なくともいくつかの実施形態に従って配置された、4コアシステムの例示的な事例における共通結果を加速するためのストリップモードの使用を例示する。図3Cを参照すると、ストリップモードが無効であり、各コア1~4が別個のルールを実行する場合の、必要とされるCPU/プロセスランタイムの上部である。図3Cの下部は、ストリップモードが有効であり、各CPUコアが単一ブロックの時間アイドル状態になった後、別のルールの実行に自動的に切り替えられる場合を例示する。
【0047】
ストリップモードそれ自体では、結果の取得を加速することはできないが、1つの長いプロセスを、N個のプロセスに分解し、それぞれが最初のプロセスよりも平均でN倍速くなるようにすることができる。図3Cは、4コアシステムの場合に共通結果を得る速度を上げるためにストリップモードがどのように使用されるかを示す。図3Cのルールブロック#1は、ルールデックの総処理時間を計算する上で非常に重要であり得る。そのプロセスをストリップモードで走らせる場合、総処理時間を大幅に短縮することができる。
【0048】
図4A図4E及び関連する説明は、集積回路マスク用のフィラーを生成するために必要な情報及びリソースの量を最小化するためのメタデータマトリックスの使用を対象とする。
【0049】
関連する実施形態は、ICを製造するために使用されるマスクにおいてダミー充填要素を生成するために適用可能な方法を含む。ダミーフィラーは、ポリシリコン、金属、及び他の種類の薄膜などの、IC製造中に堆積されるある特定の層の均一性を実現するために必要である。このような実施形態はまた、集積回路のある特定の層のレイアウトに挿入されるダミーフィラーの総数の最小化を可能にする。必要なコンピューティングリソース及びマスク製造のために使用されるデータ量もまた、低減することができる。
【0050】
図4Aは、図4B図4Eで使用される呼称及び対応する説明を例示する。特に、多角形フィル要素402は、基板400の表面上のダミーフィル要素を表し、フィルパラメータsx及びsyがフィル要素のx及びy方向のサイズを表す一方、dx及びdyは、それぞれx及びyの変化を表し、offset_x及びoffset_yはフィル要素のオフセットを表す。
【0051】
いくつかの実施形態によれば、あらゆるフィルは、ビットマトリックスで「1」として提示することができ、ビットマトリックスの寸法は、充填エリア全体に対応する。後者は、チップ全体又はそのある特定の部分のいずれかを表すことができ、それは、充填のために特に作成された層の形状で充填されている。充填エリアの座標からビットマトリックスのインデックスへの変換及びその逆の変換は、次式に従って行うことができる。
ビットマトリックスインデックス(x y)のフィル座標(px py)への変換は、
px=xbaseC+(x-xbaseI)*dx+(y-ybaseI)*offset_x;
py=ybaseC+(y-ybaseI)*dy+(x-xbaseI)*offset_y;
フィル座標(px py)のビットマトリックスインデックス(x y)への変換は、
C1=px-xbaseC+xbaseI*dx+ybaseI*offset_x;
c2=py-ybaseC+ybaseI*dy+xbaseI*offset_y;
DX=C1*dy-c2*offset_x;
DY=c2*dx-C1*offset_y;
x=(int)(DX/determinant);
y=(int)(DY/determinant);
式中、determinant=dx*dy-offset_y*offset_x、xbaseC及びybaseCは、フィルのトポロジ原点であり、xbasel及びybaselは、原点に対応するビットマトリックスインデックスである。
【0052】
呼称は、図4Aにも示される。
【0053】
フィルは、max(10*dx,10*dy)以上のサイズの小さいウィンドウによってエリア全体を走査するプロセスで生成され得る。各走査ウィンドウ位置において、
エリアが連続的なフィルで充填されることになっている場合、走査ウィンドウ位置に対応する部分のビットマトリックスは「1」で塗りつぶされる。
エリアが充填されないことになっている場合、走査ウィンドウ位置に対応する部分のビットマトリックスは「0」で塗りつぶされる。
それ以外の場合、すなわち、フィルが連続的でないことになっているとき、走査ウィンドウ位置をカバーするフィルで一時的な層を作成することができ、このTMP層及び選択された検証ソフトウェアの助けを借りて選択を行う(例えば、Calibre SVRF言語のINSIDE、OUTSIDE、NOT INTERACT)。
【0054】
したがって、充填プロセスは、サイズが(chip.width/dx)*(chip.length/dy)のビットマトリックスと、サイズが10*10*LEN(box)の補助層TMPとを生成し、ここでLEN(box)は少なくとも20バイトをとる。従来の手法では、最悪の場合、ステップdx/dy=1mkmの10x10mm2チップは、層全体に200,000,000バイトを必要とするのに対して、実施形態による手法では、ビットマトリックスに25,000,000バイト及びTMP層に20,000バイトのみが必要である。
【0055】
図4Bは、本明細書に記載の少なくともいくつかの実施形態に従って配置された、ビットマトリックス404のフラグメントを例示する。図4Bを参照すると、406は、同じ導電層の多角形フィル要素を表し、「+」符号は、フィル要素が追加されることになるマトリックス内の位置を表し、「-」符号は、フィル要素のない位置を表す。
【0056】
図4Cは、本明細書に記載の少なくともいくつかの実施形態に従って配置された、図4Bのビットマトリックス404のフラグメントに対するオフセットなしのフィル又はフィル要素402の位置を例示する。
【0057】
図4Dは、本明細書に記載の少なくともいくつかの実施形態に従って配置された、ビットマトリックス404の別のフラグメントを例示する。図4Dを参照すると、再び406は、同じ導電層の多角形フィル要素を表し、「+」符号は、フィル要素が追加されることになるマトリックス内の位置を表し、「-」符号は、フィル要素のない位置を表す。
【0058】
図4Eは、本明細書に記載の少なくともいくつかの実施形態に従って配置された、図4Dに示すビットマトリックス404のフラグメントに対するオフセットなしのフィル又はフィル要素402の位置を例示する。図4B及び図4Cと同様に、406は、同じ導電層の多角形フィル要素を表す。
【0059】
ビットマトリックスを使用することによって、充填操作のためのメモリフットプリントだけでなく、出力ファイルのサイズも著しく低減することができる。ビットマトリックスのフラグメントが図4Bに示されており、オフセットのないフィルの対応する位置が図4Cに示されている。別のフラグメントが図4Dに示されており、オフセットを伴うフィルの対応する位置が図4Eに示されている。
【0060】
出力ファイルのサイズの最小化は、最小数の「1」値を持つすべてのビットをカバーする、ビットマトリックス内の矩形エリアの検出を通して実現することができる。矩形エリア自体は、OASISフォーマットで出力する場合、nx、ne、dx、dy、offset_x、offset_yパラメータのセットを用いた反復として(GDSIIフォーマットではゼロ値offset_x及びoffset_yで)、又はより大きいエリアをより小さいエリアのセットに分解してフィルのツリーを作成するものとして、直接出力ファイルで表すことができるからである。
【0061】
図4C及び図4Eに示す矩形形状のフラグメントは、フィルパラメータsx、sy、dx、dy、offset_x、及びoffset_yと組み合わせて、フィル層が他のチェック又は異なるパラメータを用いた他のフィルの生成で使用されるとき、フィル層のコンパクト表現として機能することができる。
【0062】
図5A図5C及び関連する説明は、寄生抵抗及び寄生容量の抽出を対象とする。ノード数が変化しない寄生容量の抽出の場合とは異なり、寄生抵抗の抽出中に数がかなり変化する可能性がある。電子設計自動化業界では、抽出パラメータを分散させた抽出方法があるが、それらは設計ノード数の過度の増加を引き起こす。
【0063】
したがって、関連する実施形態は、寄生抵抗の抽出中に、初期の接続性を失うことなく、導電性抵抗器の任意のレイアウトのネットリストを取得することを対象とする。さらなるシミュレーションのために、寄生抵抗の抽出をレイアウト能動素子(トランジスタ、コンデンサなど)の抽出とともに行うことができる。
【0064】
寄生抵抗の抽出は、ここでは金属及びポリシリコン層のみの導電層の抵抗並びに接点及びビアの抵抗の抽出と見なされる。ポリシリコンの抵抗器は、活性層を越えたエリアについてのみ抽出することができ、すなわちMOSトランジスタゲートの抵抗は、この手順では考慮されておらず、異なる方法で対処されるべきである。
【0065】
本明細書に記載の実施形態は、導体の矩形層セグメントを寄生抵抗器の層で置換し、それを垂直、水平又は任意の角度の成分に分解することに基づいている。抵抗層は、導電層による接続性を提供するために、水平及び垂直成分の接合点で生成されない。導電層セグメントの長さは、ピンとビアとの間の間隔、バス屈曲、又はバス幅変化の位置、導電層へのラベルによってのみ限定される。
【0066】
実施形態による例示的なプロセスは、以下の通りであり得る。
1)レイアウト処理中、導電層のラベル(少数の特定の場合を除く)は、新しく構築された抵抗層に入って消失し、ラベルエリアにおける抵抗層の形成を防止する特別な層TLiが作成される。これらの層のサイズは、
m<2*dmini
の値を超えることはできず、式中、dmini-i番目の導電層のバス間の最小間隙の値である。
2)ピン及ビアの抵抗を抽出するために、新しいCVi層が作成され、それは、ピン及びビアのエリアにおける抵抗層の生成を防止する。ピン及びビアの初期の層と比較して、CVi層のサイズは、
mv<wmini
の値だけ増加し、式中、wmini-i番目の導電層の最小幅であり、mvの値の最後の桁は、隣接するバスへの偶発的な接触及び接続性の喪失を回避するために、設計グリッドよりも小さい。
3)導電層の前準備は、能動素子を形成し、-とりわけ-抵抗器(例えば、トランジスタ、抵抗器、コンデンサなど)並びに新しく作成された層m及びmvを含むモデルを有するレイアウト部分を対応する導電層から除去することを含む。
4)選択されたソフトウェアツールのエッジ操作を使用して、エッジをグリッドに応じた固定最小幅waの新しい矩形層Aeに変換し、それらの長さを最小値で縮小する。最小のwa幅は、抵抗器の幾何学的パラメータの歪みを最小化する方法で選択される所定の、すなわち既知の値である。任意の形状のポリゴンの場合、その面積及び全周を直接計算することしかできない。所定のwa幅のAe層を構築することによって、対象となる周囲の部分を計算することができる。
5)導電層の平行なエッジ(水平、垂直又は任意の角度)について、線幅を計算するために矩形層フレームFRiが構築される。導電層の最小ピッチにおける幅の不正確な計算を回避するために、フレームは、以下のように範囲に分解して構築される。
FR1=wd+2*d wd-am
FRn=dmin+2*wd-am+(n-1)*(dmin+wd)
式中、dmin-最小バス幅、wd-同じ層のバス間の最小間隔、am<<dmin-パラメータである。
6)Ae層、FR及び導体の層の間の論理AND演算で、寄生抵抗器のセグメントの構造を定義する新しい層を構築する。
7)見いだされた寄生抵抗器の幾何学的形状ごとに、それらの長さを計算し、フレームを用いてそれらの幅を計算する。
8)ピン及びビアを通した層間接続を初期ルールデックから事前に除去し、それらを層間接続の寄生抵抗器として追加する。
【0067】
図5Aは、本明細書に記載の少なくともいくつかの実施形態に従って配置された、寄生抵抗器の抽出のための初期(入力)テスト構造の一例を例示する。
【0068】
図5Aでは、寄生抵抗器テスト構造500の抽出のためのレイアウトの一例が示されている。簡潔に言うと、抵抗器テスト構造500は、ポリシリコン又はポリ層504、接点506、第1の金属層(金属1 508)、いくつかの第1のビア(ビア1 510)、第2の金属層(金属2 512)、いくつかの第2のビア(ビア2 514)、第3の金属層(金属3 516)、いくつかの第3のビア(ビア3 518)、及び第4の金属層(金属4 520)を含む、基板502上に形成されたいくつかのパターン化導電層及び構造を含む。導電層及び構造は、以下のシーケンスで形成される。ポリ----接点-->-金属1---->ビア2A---->金属2---->ビア2B---->金属3---->ビア2C---->金属4
【0069】
図5Bは、本明細書に記載の少なくともいくつかの実施形態に従って配置された、寄生抵抗器の抽出後の導電層及び接点/ビアのセグメントを例示する。
【0070】
図5Cは、本明細書に記載の少なくともいくつかの実施形態に従って配置された、組み合わされたテスト構造及び抽出された寄生抵抗器を例示する。
【0071】
寄生抵抗器デバイスが含まれている抽出されたネットリストの一例は、以下の通りであり得る。
subckt Rtest_1 A B C
r_resistor_1 (lvs_6 lvs_8) resistor l=0.687u w=0.130u r=36.992 x=-11.443 y=10.175
r_resistor_2 (lvs_6 lvs_5) resistor l=1.004u w=0.130u r=54.062 x=-11.307 y=10.039
r_resistor_3 (lvs_8 lvs_7) resistor l=6.255u w=0.130u r=336.808 x=-11.307 y=10.868
r_resistor_4 (lvs_13 lvs_12) resistor l=1.164u w=0.160u r=0.873 x=-9.847 y=10.023
r_resistor_5 (lvs_14 A) resistor l=1.528u w=0.160u r=1.146 x=-4.596 y=10.858
r_resistor_6 (lvs_15 B) resistor l=2.198u w=0.200u r=0.934 x=-3.815 y=7.024
r_resistor_7 (lvs_16 lvs_17) resistor l=0.924u w=0.200u r=0.393 x=-8.127 y=9.997
r_resistor_8 (lvs_30 lvs_31) resistor l=1.316u w=0.200u r=0.559 x=-5.727 y=7.024
r_resistor_9 (C lvs_33) resistor l=1.465u w=0.200u r=0.623 x=-10.418 y=8.222
r_resistor_10 (lvs_34 lvs_35) resistor l=1.204u w=0.200u r=0.512 x=-6.607 y=9.999
r_resistor_11 (lvs_18 lvs_19) resistor l=0.920u w=0.200u r=0.391 x=-7.243 y=7.025
r_resistor_12 (lvs_21 lvs_20) resistor l=0.902u w=0.200u r=0.383 x=-8.357 y=8.222
r_resistor_13 (lvs_22 lvs_23) resistor l=1.492u w=0.200u r=0.634 x=-3.031 y=8.445
r_resistor_14 (lvs_24 lvs_25) resistor l=1.932u w=0.460u r=0.357 x=-5.474 y=9.243
r_resistor_15 (lvs_25 lvs_26) resistor l=0.287u w=0.200u r=0.122 x=-3.530 y=9.485
r_resistor_16 (lvs_27 lvs_24) resistor l=1.757u w=0.200u r=0.747 x=-7.243 y=9.487
r_resistor_17 (lvs_29 lvs_28) resistor l=3.268u w=0.200u r=1.389 x=-4.807 y=9.995
r_resistor_18 (lvs_18 lvs_20) resistor l=0.985u w=0.200u r=0.419 x=-7.449 y=7.231
r_resistor_19 (lvs_20 lvs_27) resistor l=1.053u w=0.200u r=0.448 x=-7.449 y=8.428
r_resistor_20 (lvs_22 lvs_26) resistor l=0.828u w=0.200u r=0.352 x=-3.237 y=8.651
r_resistor_21 (lvs_23 lvs_28) resistor l=1.338u w=0.200u r=0.569 x=-1.533 y=8.651
r_resistor_22 (lvs_13 lvs_5) resistor l=0.200u w=0.200u r=12.000 x=-10.170 y=10.023
r_resistor_23 (lvs_14 lvs_7) resistor l=0.200u w=0.200u r=12.000 x=-4.919 y=10.857
r_resistor_24 (lvs_16 lvs_12) resistor l=0.300u w=0.300u r=9.000 x=-8.500 y=10.001
r_resistor_25 (lvs_31 lvs_15) resistor l=0.400u w=0.400u r=9.000 x=-4.208 y=7.029
r_resistor_26 (lvs_34 lvs_17) resistor l=0.400u w=0.400u r=9.000 x=-7.000 y=10.002
r_resistor_27 (lvs_19 lvs_30) resistor l=0.500u w=0.500u r=9.000 x=-6.120 y=7.030
r_resistor_28 (lvs_21 lvs_33) resistor l=0.500u w=0.500u r=9.000 x=-8.750 y=8.228
r_resistor_29 (lvs_29 lvs_35) resistor l=0.500u w=0.500u r=9.000 x=-5.200 y=10.004
ends Rtest_1
【0072】
ピン及びビアの長さ及び幅は、抵抗の計算には使用されないが、タイプを定義するために導入される。
接点-l=0.200μ w=0.200μ
ビア1-l=0.300μ w=0.300μ
ビア2-l=0.400μ w=0.400μ
ビア3-l=0.500μ w=0.500μ
【0073】
図6は、半導体回路設計のための物理検証ワークフローのための方法のフローチャートである。図6を参照すると、方法は、複数の中央処理コアを使用して並列処理するために集積回路(IC)レイアウトをいくつかのウィンドウに分割することから始まる(602)。次に、ウィンドウごとに、寄生容量構造がICレイアウトから抽出され(604)、ICレイアウトを有するICを製作するためのマスク用のフィル要素が、必要な情報及びリソースの量を最小化するためのメタデータマトリックスを使用して生成され(606)、寄生抵抗構造がICレイアウトから抽出される(608)。任意選択で、図示しない一実施形態では、方法は、ICレイアウトから寄生容量構造を抽出する(604)前に、複数の中央処理コアを使用して並列処理するためにICレイアウトをいくつかのルールグループに分割することをさらに含み得る。これは、ICレイアウトをいくつかのウィンドウに分割することに加えて、又はその代わりに行うことができる。
【0074】
図7は、ルールの自動分割に基づいて並列処理のためにICをいくつかのウィンドウに分割するための方法のフローチャートである。図7を参照すると、方法は、単一CPUモードで処理するためにルールを並べ替え(702)、接続クラスタの識別を用いて接続性が必要なルールファイル部分を見いだすこと(704)から始まる。次に、接続クラスタに基づいて、接続性が必要なルールブロックを形成し、それらをさらなる処理から除外する(706)。それから、フラットモードのみで走ることができるルールブロック(例えば、$密度を持つもの)を見いだし、これらをさらなる処理から除外する(708)。最終的に、残りのルールは、入力層の頂点の数、それらのタイプ(例えば、直角、45°、又は任意の角度)、層の数及び複雑さを考慮して、ほぼ同じ処理時間を必要とする所定の数のブロックに分解される(710)。
【0075】
図8は、並列処理のためにICをいくつかのストリップに分割するための方法のフローチャートである。図8を参照すると、方法は、ストリップ処理が入力ルールブロックに適用可能かどうかチェックすることから始まる(802)。これに続いて、チップエリア全体を、設計制約の値によって重なり合うストリップに分解するか、又は分ける(804)。次に、各ストリップに対して専用の検証プロセスが開始され(806)、ストリップの上側及び下側で見いだされた違反がフィルタで除去される(808)。完了時に、フィルタで除去された違反は、一緒に集められ、誤ったソリューションとしてマークされる(810)。
【0076】
図9は、ICレイアウトから寄生抵抗構造を抽出するための方法のフローチャートである。図9を参照すると、方法は、接点及びビアを通して元のルールデックから層間の接続性を除去することから始まる(902)。次に、新しいCVi層が作成され、それは、接点及びビアの領域における抵抗層の形成を除外する(904)。新しい導電層が準備され(906)、固定最小幅waの新しい矩形層Aeを変形させるためにエッジ操作が適用される(908)。平行なエッジ(水平、垂直又は導電層の他の角度で)について、線幅の距離を決定するために矩形FRiフレーム層が構築される(910)。層Ae、FRと導電層との間のブールAND演算が適用され、寄生抵抗セグメントの幾何学的形状を定義する新しい層が取得される(912)。見いだされた寄生抵抗の幾何学的形状ごとに、それらの長さ、及びフレームを使用して幅が計算される(914)。最終的に、金属層は、除去されたビア及び接点の代わりに寄生抵抗を使用して接続される(916)。
【0077】
図10は、ICレイアウトから寄生容量を抽出するための方法のフローチャートである。図10を参照すると、方法は、能動デバイスを形成し、静電容量を含むモデルを有するレイアウトの部分を対応する導電層から除去することによって導電層を準備することから始まる(1002)。次に、エッジを最小幅waの新しい矩形層Aeに変換するために、エッジ操作が適用される(1004)。所定のwaのAe層を構築することによって関心のある周囲の一部が計算される(1006)。それから、同じ導電層内のポリゴンのエッジ間の間隔gが見いだされる(1008)。Ae層、FRと導電層との間のブールAND演算が適用され(1010)、結合容量Cc及びフリンジ容量Cfの構造を定義する新しい層が取得される(1012)。次に、上記のコンデンサの見いだされた構造ごとに、幅と、フレームを使用して、中央層のポリゴンの隣接する平行なエッジまでの間隔が計算される(1014)。ファウンドリによって提供されたプロセス仕様書を使用して、寄生容量の適用モデルに対して対応する係数が事前に計算される(1016)。最終的に、変数としてのそれらの係数の配列が、抽出(CX)ルールデックに書き込まれるか、又は保存される(1018)。
【0078】
例示的な基本構成では、データ収集デバイスとして、又は物理検証サービスを実行するために使用されるコンピューティングデバイスは、1つ又は複数のプロセッサ及びシステムメモリを含み得る。プロセッサとシステムメモリとの間で通信するために、メモリバスを使用することができる。所望の構成に応じて、プロセッサは、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、デジタル信号プロセッサ(DSP)、又はそれらの任意の組み合わせを含むがこれらに限定されない、任意のタイプのものであり得る。プロセッサは、キャッシュメモリ、プロセッサ近接、及びレジスタなどの1つ又は複数のレベルのキャッシングを含み得る。例示的なプロセッサ近接は、算術論理ユニット(ALU)、浮動小数点ユニット(FPU)、デジタル信号処理近接(DSP近接)、又はそれらの任意の組み合わせを含み得る。また、例示的なメモリコントローラは、プロセッサとともに使用されてもよく、又はいくつかの実装形態では、メモリコントローラは、プロセッサの内部部品であってもよい。
【0079】
所望の構成に応じて、システムメモリは、揮発性メモリ(RAMなど)、不揮発性メモリ(ROM、フラッシュメモリなど)、又はそれらの任意の組み合わせを含むがこれらに限定されない、任意のタイプのものであり得る。システムメモリは、オペレーティングシステム、データ収集アプリケーション、任意選択で解析アプリケーション、及びプログラムデータを含み得る。データ収集アプリケーションは、回路レイアウト情報を受け取ることができる。任意選択の解析アプリケーションは、受け取ったデータに基づいて物理検証解析を行うことができる。代わりに、収集されたデータは、サービスによる解析のためにサーバに送信することができる。
【0080】
コンピューティングデバイスは、基本構成と任意の所望のデバイス及びインタフェースとの間の通信を容易にするために、追加の特徴又は機能、及び追加のインタフェースを有し得る。例えば、バス/インタフェースコントローラを使用して、記憶インタフェースバスを介した基本構成と1つ又は複数のデータ記憶デバイスとの間の通信を容易にすることができる。データ記憶デバイスは、1つ又は複数の取り外し可能な記憶デバイス、1つ又は複数の取り外し不可能な記憶デバイス、又はそれらの組み合わせであり得る。取り外し可能な記憶デバイス及び取り外し不可能な記憶デバイスの例には、いくつか例を挙げると、フレキシブルディスクドライブ及びハードディスクドライブ(HDD)などの磁気ディスクデバイス、コンパクトディスク(CD)ドライブ又はデジタル多用途ディスク(DVD)ドライブなどの光ディスクドライブ、ソリッドステートドライブ(SSD)、及びテープドライブが含まれる。例示的なコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報を記憶するための任意の方法又は技術で実装された、揮発性及び不揮発性の、取り外し可能及び取り外し不可能な媒体を含み得る。
【0081】
システムメモリ、取り外し可能な記憶デバイス、及び取り外し不可能な記憶デバイスは、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、DVD、SSD、若しくは他の光記憶、磁気カセット、磁気テープ、磁気ディスク記憶若しくは他の磁気記憶デバイス、又は所望の情報を記憶するために使用され得、コンピューティングデバイスによってアクセスされ得るその他の媒体が含まれるが、これらに限定されない。そのようなコンピュータ記憶媒体はいずれも、コンピューティングデバイスの一部であり得る。
【0082】
コンピューティングデバイスはまた、バス/インタフェースコントローラを介して、さまざまなインタフェースデバイス(例えば、1つ又は複数の出力デバイス、1つ又は複数の周辺インタフェース、及び1つ又は複数の通信デバイス)から基本構成への通信を容易にするためのインタフェースバスも含み得る。例示的な出力デバイスのいくつかは、グラフィック処理装置及びオーディオ処理装置を含み、それらは、1つ又は複数のA/Vポートを介してディスプレイ又はスピーカなどのさまざまな外部デバイスに通信するように構成され得る。1つ又は複数の例示的な周辺インタフェースは、シリアルインタフェースコントローラ又はパラレルインタフェースコントローラを含み得、それらは、1つ又は複数のI/Oポートを介して入力デバイス(例えば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなど)又は他の周辺デバイス(例えば、プリンタ、スキャナなど)などの外部デバイスと通信するように構成され得る。例示的な通信デバイスは、ネットワークコントローラを含み、それは、1つ又は複数の通信ポートを介してネットワーク通信リンクを通した1つ又は複数の他のコンピューティングデバイスとの通信を容易にするように配置され得る。1つ又は複数の他のコンピューティングデバイスは、サーバ、処理システムコントローラ、及び同等のデバイスを含み得る。
【0083】
ネットワーク通信リンクは、通信媒体の一例であり得る。通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は搬送波又は他の搬送機構などの変調データ信号中の他のデータによって具現化されてもよく、任意の情報配信媒体を含み得る。「変調データ信号」は、信号中の情報を符号化するような方法で、その特性の1つ又は複数を設定又は変更させた信号であり得る。限定ではなく、例として、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体、並びに音響、無線周波数(RF)、マイクロ波、赤外線(IR)及び他の無線媒体などの無線媒体を含み得る。本明細書で使用するコンピュータ可読媒体という用語は、非一時的記憶媒体を含み得る。
【0084】
コンピューティングデバイスは、専門サーバ、メインフレーム、又は上記の機能のいずれかを含む同様のコンピュータの一部として実装することができる。コンピューティングデバイスはまた、ラップトップコンピュータと非ラップトップコンピュータの両方の構成を含むパーソナルコンピュータとして実装することもできる。
【0085】
本明細書のプロセス例に含まれる操作は例示のためのものである。本明細書で述べた特徴を有する物理検証は、本明細書に記載の原理を使用して、より少ない操作又は追加の操作、及び異なる操作の順序で、同様のプロセスによって実装することができる。本明細書に記載の操作は、他の例の中でも、1つ又は複数のデバイス、1つ又は複数のプロセッサ近接、及び/又は専門処理デバイス上で動作する1つ又は複数のプロセッサによって実行され得る。
【0086】
本明細書に記載のプロセス及び/又はシステム及び/又は他の技術が影響を受ける可能性のあるさまざまな手段(例えば、ハードウェア、ソフトウェア、及び/又はファームウェア)があり、好ましい手段は、プロセス及び/又はシステム及び/又は他の技術が展開される状況によって異なることになる。例えば、実装者が速度及び精度が最重要であると判断した場合、実装者は、主としてハードウェア及び/又はファームウェア手段を選ぶことができ、柔軟性が最重要である場合、実装者は、主としてソフトウェア実装を選ぶことができ、又は、さらにもう一度代わりに、実装者は、ハードウェア、ソフトウェア、及び/又はファームウェアの何らかの組み合わせを選ぶことができる。
【0087】
前述の詳細な説明は、ブロック図、フローチャート、及び/又は例の使用を介して、デバイス及び/又はプロセスのさまざまな実施形態を明らかにした。このようなブロック図、フローチャート、及び/又は例に1つ又は複数の機能及び/又は操作が含まれている限り、このようなブロック図、フローチャート、又は例内の各機能及び/又は操作は、広範囲のハードウェア、ソフトウェア、ファームウェア、又は事実上それらの任意の組み合わせによって、個別に及び/又は集合的に実装することができる。1つの実施形態では、本明細書に記載の主題のいくつかの部分は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、又は他の集積フォーマットを介して実装することができる。しかしながら、本明細書に開示した実施形態のいくつかの態様は、全体的に又は部分的に、集積回路で、1つ又は複数のコンピュータ上で実行される1つ又は複数のコンピュータプログラムとして(例えば、1つ又は複数のコンピュータシステム上で実行される1つ又は複数のプログラムとして)、1つ又は複数のプロセッサ上で実行される1つ又は複数のプログラムとして(例えば、1つ又は複数のマイクロプロセッサ上で実行される1つ又は複数のプログラムとして)、ファームウェアとして、又は事実上それらの任意の組み合わせとして、等価に実装することができ、その回路の設計及び/又はソフトウェア及び/又はファームウェア用コードの書き込みは、本開示に照らして可能である。
【0088】
本開示は、本願に記載の特定の実施形態に関して限定されるべきではなく、これらの実施形態は、さまざまな態様の例示として意図されている。その趣旨及び範囲から逸脱することなく、多くの修正形態及び変形形態がなされ得る。本明細書に列挙したものに加えて、本開示の範囲内の機能的に同等の方法及び装置が、前述の説明から可能である。このような修正形態及び変形形態は、添付の特許請求の範囲の範囲内にあることを意図している。本開示は、そのような特許請求の範囲が権利を付与されている均等物の全範囲とともに、添付の特許請求の範囲の条件によってのみ限定されるべきである。本明細書で使用する用語は、特定の実施形態を説明することのみを目的としており、限定することを意図したものでない。
【0089】
加えて、本明細書に記載の主題の機構は、プログラム製品としてさまざまな形態で配布することが可能であり、実際に配布を遂行するために使用される信号伝達媒体の特定のタイプにかかわらず、本明細書に記載の主題の例示的な実施形態が適用される。信号伝達媒体の例には、フロッピーディスク、HDD、CD、DVD、デジタルテープ、コンピュータメモリ、SSDなどの記録可能型媒体、及びデジタル及び/又はアナログ通信媒体(例えば光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど)などの伝送型媒体が含まれるが、これらに限定されない。
【0090】
本明細書で明らかにした方法でデバイス及び/又はプロセスを説明し、その後、エンジニアリング方式を使用してそのような説明されたデバイス及び/又はプロセスをデータ処理システムに統合することは、当技術分野では一般的である。すなわち、本明細書に記載のデバイス及び/又はプロセスの少なくとも一部は、合理的な量の実験を介してデータ処理システムに統合することができる。データ処理システムは、システムユニットハウジング、ビデオディスプレイデバイス、揮発性及び不揮発性メモリなどのメモリ、マイクロプロセッサ及びデジタル信号プロセッサなどのプロセッサ、オペレーティングシステム、ドライバ、グラフィカルユーザインタフェース、及びアプリケーションプログラムなどの計算エンティティ、タッチパッド又はスクリーンなどの1つ又は複数の対話デバイス、及び/又はフィードバックループ及び制御モータを含む制御システムのうちの1つ又は複数を含み得る。
【0091】
データ処理システムは、データコンピューティング/通信及び/又はネットワークコンピューティング/通信システムで見いだされるものなどの、任意の適切な市販の構成要素を利用して実装することができる。本明細書に記載の主題は、異なる他の構成要素の中に含まれているか、又は接続されている異なる構成要素を例示することがある。このような描写されたアーキテクチャは単なる例示にすぎず、実際には、同じ機能を実現する他の多くのアーキテクチャを実装することができる。概念的な意味で、同じ機能を実現するための構成要素の任意の配置は、所望の機能が実現されるように効果的に「関連付けられる」。それゆえ、特定の機能を実現するために本明細書で組み合わされた任意の2つの構成要素は、アーキテクチャ又は中間構成要素に関係なく、所望の機能が実現されるように互いに「関連付けられている」と見ることができる。同じく、そのように関連付けられた任意の2つの構成要素は、所望の機能を実現するために、互いに「動作可能に接続」又は「動作可能に結合」されていると見なすこともでき、そのように関連付けることが可能な任意の2つの構成要素は、所望の機能を実現するために、互いに「動作可能に結合可能」であると見なすこともできる。動作可能に結合可能な具体例には、物理的に接続可能な構成要素及び/又は物理的に相互作用する構成要素及び/又は無線で相互作用可能な構成要素及び/又は無線で相互作用する構成要素及び/又は論理的に相互作用する構成要素及び/又は論理的に相互作用可能な構成要素が含まれるが、これらに限定されない。
【0092】
本明細書における実質的に任意の複数形及び/又は単数形の用語の使用に関して、当業者は、文脈及び/又は用途に適するように、複数形から単数形に、及び/又は単数形から複数形に変換することができる。さまざまな単数形/複数形の交換は、明確化のために本明細書で明示的に定められている場合がある。
【0093】
一般に、本明細書、特に添付の特許請求の範囲(例えば、添付の特許請求の範囲の本文)において使用される用語は、一般に「オープン」な用語として意図される(例えば、「含む(including)」という用語は、「含むが限定されない(including but not limited to)」と解釈すべきであり、「有する」という用語は、「少なくとも有する」と解釈すべきであり、「含む(includes)」という用語は「含むが限定されない(includes but is not limited to)」と解釈すべきである)。さらに当業者には、導入された請求項の記載の特定の数が意図される場合、かかる意図は請求項に明示的に記載されることになり、かかる記載がない場合、かかる意図は存在しないことが理解されよう。例えば、理解の助けとして、以下の添付の特許請求の範囲には、請求項の記載を導入するために「少なくとも1つの」及び「1つ又は複数の」という導入句の使用が含まれている場合がある。しかしながら、このような句の使用は、同じ請求項が「1つ又は複数の」又は「少なくとも1つの」という導入句、及び「a」又は「an」などの不定冠詞を含むときでも、不定冠詞「a」又は「an」による請求項の記載の導入が、かかる導入された請求項の記載を含む任意の特定の請求項を、1つのかかる記載のみを含む実施形態に限定することを暗示すると解釈すべきではない(例えば、「a」及び/又は「an」は、「少なくとも1つの」又は「1つ又は複数の」を意味すると解釈すべきである)。同じことが、請求項の記載を導入するために使用される定冠詞の使用に当てはまる。加えて、導入された請求項の記載の特定の数が明示的に記載されている場合でも、当業者は、かかる記載が少なくとも記載された数を意味すると解釈されるべきであることを認識するであろう(例えば、他の修飾語を伴わない「2つの記載」という最低限の記載は、少なくとも2つの記載、又は2つ以上の記載を意味する)。
【0094】
さらにまた、「A、B、及びCなどのうちの少なくとも1つ」に類似した慣用表現が使用される場合には、一般に、そのような構成は、当業者がその慣用表現を理解するであろう意味で意図される。(例えば、「A、B、及びCのうちの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AとBを一緒に、AとCを一緒に、BとCを一緒に、及び/又はA、B及びCを一緒に、などを有するシステムを含むがこれらに限定されないことになる)。明細書、特許請求の範囲、又は図面のいずれにおいても、2つ以上の代替用語を提示する事実上任意の離接語及び/又は句は、用語のうちの1つ、用語のいずれか、又は両方の用語を含む可能性を企図すると理解すべきであることが、当業者にはさらに理解されよう。例えば、「A又はB」という句は、「A」又は「B」又は「A及びB」の可能性を含むと理解されよう。
【0095】
書面による説明を提供することに関してなどの、ありとあらゆる目的のために、本明細書に開示するすべての範囲はまた、ありとあらゆる可能な部分範囲及びその部分範囲の組み合わせを包含する。任意の列挙された範囲は、同じ範囲を少なくとも2等分、3分の1、4分の1、5分の1、10分の1などに分解することを十分に説明し、可能にすると容易に認識することができる。非限定的な例として、本明細書で論じた各範囲は、下3分の1、中3分の1、上3分の1などに容易に分解することができる。また、当業者には理解されるように、「最大」、「少なくとも」、「よりも大きい」、「よりも小さい」などのすべての言葉は、記載された数を含み、上で論じたように、その後部分範囲に分解することができる範囲を指す。最終的に、範囲は各個別のメンバーを含む。したがって、例えば、1~3個のセルを有するグループは、1個、2個、又は3個のセルを有するグループを指す。同様に、1~5個のセルを有するグループは、1個、2個、3個、4個、又は5個のセルを有するグループを指し、以下同様である。
【0096】
本明細書ではさまざまな態様及び実施形態を開示したが、他の態様及び実施形態が可能である。本明細書に開示したさまざまな態様及び実施形態は、例示を目的としており、限定することを意図したものではなく、真の範囲及び趣旨は以下の特許請求の範囲によって示される。
図1A
図1B
図2A
図2B
図2C
図2D
図2E
図3A
図3B
図3C
図4A
図4B
図4C
図4D
図4E
図5A
図5B
図5C
図6
図7
図8
図9
図10