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

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

▶ アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドの特許一覧 ▶ エーティーアイ・テクノロジーズ・ユーエルシーの特許一覧

<>
  • 特表-自動再配線層ビア生成 図1
  • 特表-自動再配線層ビア生成 図2
  • 特表-自動再配線層ビア生成 図3
  • 特表-自動再配線層ビア生成 図4
  • 特表-自動再配線層ビア生成 図5
  • 特表-自動再配線層ビア生成 図6
  • 特表-自動再配線層ビア生成 図7
  • 特表-自動再配線層ビア生成 図8
  • 特表-自動再配線層ビア生成 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-10
(54)【発明の名称】自動再配線層ビア生成
(51)【国際特許分類】
   G06F 30/392 20200101AFI20240903BHJP
   H01L 21/82 20060101ALI20240903BHJP
【FI】
G06F30/392
H01L21/82 L
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024502026
(86)(22)【出願日】2022-07-21
(85)【翻訳文提出日】2024-02-13
(86)【国際出願番号】 US2022037897
(87)【国際公開番号】W WO2023014512
(87)【国際公開日】2023-02-09
(31)【優先権主張番号】63/228,552
(32)【優先日】2021-08-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/562,833
(32)【優先日】2021-12-27
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.VERILOG
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(71)【出願人】
【識別番号】508301087
【氏名又は名称】エーティーアイ・テクノロジーズ・ユーエルシー
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【弁理士】
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】ラジャゴパラン ベンカットラマーニ
(72)【発明者】
【氏名】レナート ディマチュラ ガッディ
(72)【発明者】
【氏名】リアン マルティネス
(72)【発明者】
【氏名】ワレン アレクサンダー サントス
(72)【発明者】
【氏名】デニス グレン ロザンタ シュレル
【テーマコード(参考)】
5B146
5F064
【Fターム(参考)】
5B146AA22
5B146GC19
5F064EE02
5F064EE27
(57)【要約】
半導体パッケージの再配線層内のビアの配置を自動的に生成するシステム及び方法が記載される。様々な実施形態では、ユーザは、半導体パッケージの再配線層における自動ビア生成に使用する属性を定義する。ユーザによって使用されるコンピューティングデバイスのプロセッサの回路は、自動再配線層(RDL)ビア生成器の命令を実行する。自動ビア生成器は、属性と、RDL内の信号ルートのRDLネットリストを示すデータと、RDL内の金属層の信号マスクを表すRDLマスクレイアウトデータと、を使用する。プロセッサは、属性と、金属層間の重複する領域の識別と、に基づいて、RDL内のビアの配置を生成する。
【選択図】図7
【特許請求の範囲】
【請求項1】
プロセッサであって、
回路を備え、
前記回路は、
複数の金属層のうち隣接する金属層間の複数のビアの配置に対応する複数の属性を受信することと、
前記属性と、前記隣接する金属層内の重複領域の識別と、に少なくとも部分的に基づいて、前記隣接する金属層間の前記複数のビアの配置を示すデータを生成することと、
を行うように構成されている、
プロセッサ。
【請求項2】
前記属性は、基準金属識別、開始点、方向及びシーケンスのうち1つ以上を含む、
請求項1のプロセッサ。
【請求項3】
前記回路は、現在選択されているビア層のサイズ及びピッチに少なくとも部分的に基づいて、前記複数のビアの配置を決定するように構成されている、
請求項2のプロセッサ。
【請求項4】
前記回路は、前記サイズ及びピッチに少なくとも部分的に基づいて、前記重複領域に配置された複数のビア間の間隔を決定するように構成されている、
請求項3のプロセッサ。
【請求項5】
前記回路は、前記重複領域を半分に分割し、ビアを、前記重複領域の上方及び下方の両方に配置するように構成されている、
請求項1のプロセッサ。
【請求項6】
前記回路は、前記複数の属性によって指定されたシーケンスの順序で前記複数のビアの配置を生成するように構成されており、各シーケンスは、金属層のペアを識別する、
請求項1のプロセッサ。
【請求項7】
複数のレベルの金属層は、集積回路とプリント回路基板との間の再配線層である、
請求項1のプロセッサ。
【請求項8】
方法であって、
複数の金属層のうち隣接する金属層間の複数のビアの配置に対応する複数の属性を受信することと、
前記属性と、前記隣接する金属層内の重複領域の識別と、に少なくとも部分的に基づいて、前記隣接する金属層間の前記複数のビアの配置を示すデータを生成することと、を含む、
方法。
【請求項9】
前記属性は、基準金属識別、開始点、方向及びシーケンスのうち1つ以上を含む、
請求項8の方法。
【請求項10】
現在選択されているビア層のサイズ及びピッチに少なくとも部分的に基づいて、前記複数のビアの配置を決定することを含む、
請求項9の方法。
【請求項11】
前記複数の属性によって指定されたシーケンスの順序で前記複数のビアの配置を生成することを含み、各シーケンスは、金属層のペアを識別する、
請求項8の方法。
【請求項12】
複数のレベルの金属層は、集積回路とプリント回路基板との間の再配線層である、
請求項11の方法。
【請求項13】
1つ以上の信号タイプは、前記集積回路によって使用される電源電圧基準レベル又は接地基準電圧レベルのうち1つ以上を含む、
請求項11の方法。
【請求項14】
グラフィカルユーザインターフェースを介して前記複数の属性を受信することを含む、
請求項11の方法。
【請求項15】
プログラム命令を記憶するように構成された記憶媒体であって、
前記プログラム命令は、
複数の金属層のうち隣接する金属層間の複数のビアの配置に対応する複数の属性を含むデータを受信することと、
前記属性と、前記隣接する金属層内の重複領域の識別と、に少なくとも部分的に基づいて、前記隣接する金属層間の前記複数のビアの配置を示すデータを生成することと、
を実行可能である、
記憶媒体。
【請求項16】
前記属性は、基準金属識別、開始点、方向及びシーケンスのうち1つ以上を含む、
請求項15の記憶媒体。
【請求項17】
前記プログラム命令は、現在選択されているビア層のサイズ及びピッチに少なくとも部分的に基づいて、前記複数のビアの配置を決定することを実行可能である、
請求項16の記憶媒体。
【請求項18】
前記プログラム命令は、前記サイズ及びピッチに少なくとも部分的に基づいて、前記重複領域に配置された複数のビア間の間隔を決定することを実行可能である、
請求項17の記憶媒体。
【請求項19】
前記プログラム命令は、前記重複領域を半分に分割し、ビアを、前記重複領域の上方及び下方の両方に配置することを実行可能である、
請求項15の記憶媒体。
【請求項20】
前記プログラム命令は、前記複数の属性によって指定されたシーケンスの順序で前記複数のビアの配置を生成することを実行可能であり、各シーケンスは、金属層のペアを識別する、
請求項15の記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2021年8月2日に出願された「VIA GENERATION FOR SILICON LAYOUT」と題する米国仮特許出願第63/228,552号の優先権を主張し、その全体は、参照により本明細書に組み込まれる。
【背景技術】
【0002】
(関連技術の説明)
チップパッケージ内の1つ以上の集積回路と、チップパッケージの外部に位置するマザーボード上の外部構成要素と、の間の通信を提供する半導体パッケージの需要が増大している。モバイルコンピューティング、ウェアラブル電子機器、及び、モノのインターネット(Internet of Things、IoT)に関連する電子製品は、垂直信号相互接続を利用する小型パッケージの需要を駆り立てている。これらの製品に使用されるチップパッケージの例として、ボールグリッドアレイ(ball grid array、BGA)、チップスケールパッケージ(chip scale package、CSP)、システムインパッケージ(System in Package、SiP)が挙げられる。
【0003】
半導体パッケージは、フリップチップ相互接続とも呼ばれる制御崩壊チップ接続(controlled collapse chip connection、C4)相互接続を利用する。例えば、C4バンプは、バンプパッドを使用してプリント回路基板への接続を有するシリコンパッケージ基材内に形成された垂直スルーシリコンビア(through silicon via、TSV)に接続される。スルーシリコンバスを形成するTSVのグループは、ベースダイと、1つ以上の追加の集積回路と、マザーボード又はカード等のプリント回路基板(printed circuit board、PCB)上のルーティングと、の間の相互接続として使用される。集積回路とプリント回路基板(PCB)との間のSiP及びより多くの信号相互接続に対する需要も、パッケージ基材及びインターポーザに対する需要を増加させている。
【0004】
パッケージ基材は、機械的ベース支持を提供するとともに、信号相互接続のための電気的インターフェースを提供するチップパッケージの一部である。インターポーザは、1つ以上の集積回路と、フリップチップバンプ又は他の相互接続の何れかと、パッケージ基材と、の間の中間層である。使用される場合、インターポーザは、その上に組み立てられたダイ(ダイ間相互接続)とパッケージ基材(ダイ-パッケージ間相互接続)との間の信号相互接続のための電気的インターフェースを提供する。実施形態に応じて、パッケージ基材及びインターポーザという用語は、互換的に使用される。
【0005】
半導体パッケージ内の1つ以上の集積回路は、再配線層を使用してそれらとマザーボード(又はプリント回路基板)との間に接続された信号ルートを有する。再配線層の信号ルートは、集積回路上のパッドと接触するマイクロバンプとシリコンパッケージ基材のスルーシリコンビア(TSV)との間に位置する信号ルートである。
【0006】
革新によって改善はもたらされるが、処理及び集積回路設計における現代の技術では、潜在的な利益を制限する設計問題が依然として生じる。1つの問題は、1つ以上の集積回路が、1つ以上の電源電圧基準レベル及び1つ以上の接地基準電圧レベルを受信するための何万ものノードを有する一方で、TSVにおいてこれらの電圧基準レベルを転送するための何百ものノードが存在することである。再配線層を介したこれらの電力接続のルーティングは、複雑になる。追加的に、検証チェック及びその後の製造を実施する前に、これらの信号ルートのマスクレイアウト表現上にビアを手動で配置することは、数週間又は数ヶ月かかる。
【0007】
上記に鑑みて、再配線層内に電力接続のビアを生成するための効率的な方法及びシステムが望まれる。
【図面の簡単な説明】
【0008】
図1】コンピューティングシステムの一般化された図である。
図2】半導体パッケージ金属層スキームの断面図の一般化された図である。
図3】再配線層の金属層の一般化された図である。
図4】再配線層の金属層の一般化された図である。
図5】再配線層の金属層の一般化された図である。
図6】グラフィカルユーザインターフェースの一般化された図である。
図7】再配線層における自動ビア生成のための方法の一実施形態の一般化された図である。
図8】再配線層における自動ビア生成のための方法の一実施形態の一般化された図である。
図9】コンピューティングシステムの一般化された図である。
【発明を実施するための形態】
【0009】
本発明は、様々な修正及び代替形態の余地があるが、具体的な実施形態が例として図面に示されており、本明細書で詳細に説明される。しかしながら、図面及びその詳細な説明は、開示された特定の形態に本発明を限定することを意図するものではなく、逆に、本発明は、添付の特許請求の範囲によって定義される本発明の範囲に含まれる全ての修正、均等物及び代替物を包含するものであることを理解されたい。
【0010】
以下の説明では、本発明の十分な理解を提供するために、多数の具体的な詳細が記載されている。しかしながら、当業者は、これらの具体的な詳細なしに本発明が実施され得ることを認識すべきである。いくつかの例では、本発明を不明瞭にすることを避けるために、周知の回路、構造及び技術が詳細に示されていない。更に、説明の簡略性及び明確性のために、図に示される要素は、必ずしも縮尺通りに描画されていないことが理解されよう。例えば、いくつかの要素の寸法は、他の要素に対して誇張されている。
【0011】
再配線層内にビアを自動的に生成するためのシステム及び方法が企図される。本明細書で使用する場合、「自動生成」又は「自動的に生成する」という用語は、ユーザの介入なしに生成を実施する又は生成ステップを実施する能力を有することを指す。本明細書で開示されるように、ユーザは、半導体パッケージの再配線層における自動ビア生成に使用する属性を定義する。一実施形態では、ユーザは、属性を、グラフィカルユーザインターフェース(graphical user interface、GUI)を介して提供する。別の実施形態では、ユーザは、属性を、様々なスクリプト言語のうち何れかで書かれたテキストファイル又は実行可能ファイルを介して提供する。ユーザによって使用されるコンピューティングデバイスには、自動ビア生成器の命令を実行するためのプロセッサの回路等のハードウェアが含まれる。自動ビア生成器は、属性と、再配線層(redistribution layer、RDL)内の信号ルートのRDLネットリストのコピーと、RDL内の金属層の信号マスクを表すRDLマスクレイアウトデータのコピーと、を使用する。
【0012】
コンピューティングデバイスのプロセッサが自動ビア生成器の命令を実行する場合に、プロセッサは、RDLの金属層間の金属重複領域を識別する。金属重複領域は、金属重複接合エリア又は重複接合エリアとも呼ばれる。いくつかの実施形態では、金属重複領域は、金属層RDL1及びRDL2等のRDLの隣接する金属層の間にある。他の実施形態では、金属重複領域は、スルーホールビア等の金属層RDL1及びRDL4等のRDLの2つの隣接しない金属層の間にある。更に他の実施形態では、金属重複領域は、表面実装デバイス(surface mount device、SMD)ピン層のピンとRDLの金属層との間にある。また更なる実施形態では、金属重複領域は、RDLの金属層と、C4バンプへの電気的接続を提供するアンダーバンプ冶金(under-bump metallurgy、UBM)層と、の間にある。いくつかの例では、金属重複領域は、RDLの2つの金属層間の金属重複領域等のように、正方形又は長方形の形状を有する。他の例では、金属重複領域は、RDLの金属層とSMDピン層のピンとの間の金属重複領域等のように、円形形状を有する。有効なビア生成の場合、2つの金属層間の金属重複領域は、最小重複接合面積閾値以上である。いくつかの実施形態では、受信された属性に基づいて、プロセッサは、重複領域を半分に分割して、ビア層が重複領域の上方及び下方の両方に配置されることを可能にする。ユーザから受信された属性に基づいて、プロセッサは、異なるタイプのビア層を重複領域に配置する。
【0013】
プロセッサは、受信された属性において示されるシーケンス順序に基づいてビアを生成する。シーケンス順序は、自動ビア生成を開始するために何れのビア層を使用すべきか、及び、更なる自動ビア生成のために各後続のビア層を選択すべきかを決定する。ビアは、DRCルールを満たすように、現在選択されているビア層に対応するサイズ及びピッチに基づいて配置される。加えて、プロセッサは、ビア配置中に信号ルートの金属層の寸法を変更しない。ある特定のビア層に対する複数のシーケンスが、受信された属性において指定されている場合に、プロセッサは、可能な場合、そのビア層内に追加のビアを配置する。場合によっては、ビアの冗長性が既に存在するが、自動ビア生成器は、依然として可能な限りビア数を増加させる。その後、プロセッサは、レポートを生成する。プロセッサは、自動ビア生成中にログファイルを維持し、対応する情報を使用してレポートに要約された結果を提供する。様々な実施形態では、プロセッサは、既知の宛先に位置するファイルを書き込む。
【0014】
以下の記載では、半導体パッケージ基材を使用するハードウェア製品の開発をサポートするためのコンピューティングシステムが図1に示されている。コンピューティングシステムは、再配線層におけるビアの自動生成をサポートする。図2は、フリップチップ技術を使用した再配線層等の半導体パッケージの構成要素を図示する。図3図5は、再配線層の隣接する金属層間の金属重複領域を図示する。再配線層におけるビアの自動生成中に利用する属性をユーザから提供するためのグラフィカルユーザインターフェースの一例が図6に示されている。図7図8は、再配線層におけるビアの自動生成をサポートするために実施する方法のステップを提供する。コンピューティングシステム内の再配線層内に自動的に生成されたビアを含む、製造されたチップパッケージの一例が図9に示されている。
【0015】
図1を参照すると、コンピューティングシステム100の一実施形態の一般化されたブロック図が示されている。図示された実施形態において、コンピューティングシステム100は、クライアントコンピューティングデバイス150と、ソフトウェアを実行し、組織センタ110をサポートするためのハードウェアを含むサーバ120A~120Dと、ネットワーク140と、組織センタ110によってサポートされ使用される1つ以上のデータストアを含むデータストレージ130と、を含む。単一のクライアントコンピューティングデバイス150が示されているが、任意の数のクライアントコンピューティングデバイスが、ネットワーク140を介して組織センタ110を利用する。クライアントデバイス150とも呼ばれるクライアントコンピューティングデバイス150は、再配線層(RDL)自動ビア生成器160の命令を実行するためのプロセッサの回路等のハードウェアを含む。RDL自動ビア生成器160(又はビア生成器160)は、データストレージ130に記憶されたデータのコピーと、ユーザによって提供された属性166と、を使用する。一実施形態では、ユーザは、属性166を、グラフィカルユーザインターフェース(GUI)162を介して提供する。ビア生成器160によって使用されるデータの例には、RDLマスクレイアウトデータ132、RDLネットリスト、及び、設計ルールチェック(design rule check、DRC)136の少なくとも一部のコピーがある。
【0016】
クライアントデバイス150は、デスクトップコンピュータ、ラップトップ、タブレットコンピュータ等のモバイルコンピューティングデバイスを含む。クライアントデバイス150は、コンピュータプログラムの命令を処理するための処理ユニット170等のハードウェア回路を含む。いくつかの実施形態では、処理ユニット170は、プロセッサの1つ以上の同種コアを含む。他の実施形態では、処理ユニットは、並列処理アーキテクチャ化コア及び中央処理ユニット(central processing unit、CPU)で使用されるような汎用コア等の異種コアを含む。並列アーキテクチャコアは、グラフィックス処理ユニット(graphics processing unit、GPU)、デジタル信号処理ユニット(digital signal processing unit、DSP)等であってもよい。
【0017】
クライアントデバイス150は、ネットワーク140を介したデータ及びメッセージ転送のための1つ以上の通信プロトコルをサポートするネットワークインターフェース(図示せず)を含む。ネットワーク140は、複数のスイッチ、ルータ、ケーブル、無線送信機、並びに、メッセージ及びデータを転送するためのインターネットを含む。したがって、組織センタ110及びクライアントデバイス150のネットワークインターフェースは、少なくとも、ワールドワイドウェブにわたる通信のためのハイパーテキスト転送プロトコル(Hypertext Transfer Protocol、HTTP)をサポートする。ネットワーク140を介してクライアントデバイス150と通信することに加えて、組織センタ110は、データを記憶し取り出すためにデータストレージ130とも通信する。
【0018】
様々な実施形態では、組織センタ110は、1つ以上のハードウェア製品を生成するベンダのためのインフラストラクチャである。組織センタ110は、組織のスタッフのみがアクセス可能なプライベートネットワークを提供するイントラネットワークを含む。イントラネットポータルは、グラフィカルユーザインターフェース(GUI)及びダッシュボード等のユーザフレンドリなインターフェースを有するリソースへのアクセスを提供するために使用される。組織センタ110によって利用可能にされる情報及びサービスは、直接アクセスを通して一般公衆が利用することはできない。ユーザ認証を通じて、スタッフメンバは、組織センタ110を通じてリソースにアクセスして、他のスタッフメンバと通信し、プロジェクトに関して協力し、製品開発を監視し、集中リポジトリに記憶された製品、文書及びツールを更新すること等ができる。
【0019】
組織センタ110と組織センタ110を介してアクセスされるリソースとをサポートするために使用されるサーバ120A~120Dは、データベースサーバ、コンピューティングサーバ、アプリケーションサーバ、ファイルサーバ、メールサーバ等の様々なサーバタイプを含む。様々な実施形態では、サーバ120A~120D及びクライアントデバイス150は、クライアント-サーバアーキテクチャモデルで動作する。
【0020】
クライアントデバイス150は、ビア生成器160等の所定のソフトウェア製品又はツールの特定のバージョンのコピーを含む。いくつかの実施形態では、ビア生成器160のバージョンは、少なくとも、クライアントデバイス150によって使用されるオペレーティングシステム及びプロセッサに基づく。ビア生成器160は、プロセッサ170によって実行された場合に、プロセッサ170に対して、再配線層内の信号ルートのレイアウトマスク表現内にビアを自動的に生成させるエンジン164を含む。再配線層の信号ルートは、集積回路とプリント回路基板との間に位置する信号ルートである。例えば、再配線層の信号ルートは、集積回路上のパッドと接触するマイクロバンプとシリコンパッケージ基材のスルーシリコンビア(TSV)との間に位置する信号ルートである。再配線層は、パッケージのピンにワイヤボンディングされる入力/出力(I/O)パッドのセットを有することを不要にし、これは、チップ間ボンディングを容易にする。
【0021】
上述したように、組織センタ110は、1つ以上のハードウェア製品を生成するベンダのためのインフラストラクチャである。集積回路は、生成のために開発されている様々なタイプの集積回路のうち何れかである。再配線層内に信号ルートを提供するために数万の金属層が使用される可能性がある場合、これらの金属層上にビアを手動で配置することは、数週間又は数ヶ月かかる。ビア生成器160は、より効率的な様式でこの配置を実施する。再配線層は制御信号ルート及びデータ信号ルートを含むが、一実施形態では、ビア生成器160は、集積回路によって使用される電源電圧基準レベル又は接地基準電圧レベルのうち何れかを提供する再配線層の信号ルートのための自動ビア生成を提供する。そうするために、ビア生成器160は、ユーザによって提供される属性166を使用する。
【0022】
一実施形態では、ユーザは、属性166を、グラフィカルユーザインターフェース(GUI)162を介してビア生成器160に提供する。別の実施形態では、ユーザは、属性166を、様々なスクリプト言語のうち何れかで書かれたテキストファイル又は実行可能ファイルを介してビア生成器160に提供する。一実施形態では、プロセッサ170がビア生成器160のエンジン164のコードを実行した場合に、プロセッサ170は、属性166によって指定されたシーケンスの順序でビアを自動的に生成する。各シーケンスは、再配線層内の隣接する金属層のペアを識別する。ビア生成器160は、RDLマスクレイアウトデータ132及びRDLネットリスト134のコピーを追加的に使用して、再配線層内の金属層の配置を識別する。また、ビア生成器160は、DRC136を使用して、ビアの配置がレイアウトのための設計ルールに違反しないことを検証する。ビア生成器160又は別のツールは、レイアウト対回路図(LVS)チェックも実施する。ビアの配置がDRCチェック及びLVSチェックに合格した場合、RDLマスクレイアウトデータ132の更新バージョンの1つ以上のコピーが、クライアントデバイス150及びデータストレージ130に記憶される。続いて、開発中の集積回路に対して半導体チップテープアウトプロセスが実施され、半導体製造プロセスは、集積回路のハードウェアを試験に提供する。
【0023】
図2を参照すると、集積回路とプリント回路基板との間の信号ルートを提供する半導体パッケージ金属層スキーム200(又は金属層スキーム200)の一般化されたブロック図が示されている。示されるように、金属層スキーム200は、フリップチップ相互接続とも呼ばれる制御崩壊チップ接続(C4)相互接続を利用する。2つの集積回路210及び212は、それらとマザーボード(又はプリント回路基板)との間に接続された信号ルートを有し、マザーボードは、説明を容易にするために図示されていない。相互接続は、バンプパッドを使用してプリント回路基板への接続を有するシリコンパッケージ基材内に形成された垂直スルーガラスビアに接続され得る。相互接続240を介したマザーボードと集積回路210及び212との間の信号ルートに加えて、集積回路210及び212に出入りする信号ルートは、再配線層230を通ってルーティングされる。いくつかの実施形態では、金属層スキーム200は、再配線層230と相互接続240(例えば、アンダーバンプ冶金)との間に個別のインターポーザ(図示せず)を追加で含む。一実施形態では、インターポーザはスルーシリコンビアを含むが、再配線層230はTSVを含まない。別の実施形態では、インターポーザ及び再配線層230の各々は、1つ以上のTSVを含む。更に別の実施形態では、図2に示されるように、個別のインターポーザが使用されない。
【0024】
ここで、集積回路は、システムオンチップ(system on a chip、SoC)である。示されるように、1つのSOCがハードウェア製品において使用される。しかしながら、CPU、GPU、マルチメディアエンジン、特定用途向け集積回路(application specific integrated circuit、ASIC)、デジタルシグナプロセッサ(DSP)等のうち1つ以上等の集積回路の他の例が可能であり、企図される。相互接続240は、複数の再配線層(RDL)1~4とパッケージ基材及びマザーボードとの間の接続を提供する。いくつかの実施形態では、数百個のUBM層及びC4バンプを有することが一般的である。追加的に、4つの金属層(RDL1~4)が再配線層230において使用されているが、他の実施形態では、異なる数の金属層が使用される。再配線層230の隣接する金属層(RDL1~4)の間には、ビア2~ビア4とラベル付けされた層のビアがあり、ビア2~ビア4は、再配線層230の隣接する層間の物理的接続を提供する。また、再配線層230は、SMDピン層のピンと金属層RDL1との間にビア1層のビアを含む。示されるように、再配線層230は、金属層RDL4と相互接続240との間にビア5層のビアを更に含む。
【0025】
SoC210は、少なくとも相互接続240を通して、他のSOC(図示せず)及びマザーボード(プリント回路基板)の両方へ且つそれらからルーティングされた信号を有し得る。信号は、再配線層1(RDL1)として指定された金属層及び再配線層4(RDL4)として指定された金属層等の再配線層230の金属層を通してルーティングされる。これらの金属層は、それぞれ導体1及び導体4とも呼ばれる。再配線層230の金属層RDL1~RDL4に加えて、信号は、表面実装デバイス(SMD)ピン層のピン及びビア1層~ビア5層を介してルーティングされる。再配線層230は、制御信号ルート及びデータ信号ルートを含むが、ここでは、示された信号ルートは、SoC210及びSoC212によって使用される電源電圧基準レベル及び接地基準電圧レベルのうち1つ以上を配線する。SoC210及びSoC212の各々は、1つ以上の電源電圧基準レベル及び1つ以上の接地基準電圧レベルを使用することが可能である。場合によっては、SoC210及びSoC212の各々は、電源電圧基準レベル及び1つ以上の接地基準電圧レベルを受信するためのパッド220を使用する何万ものノードを有する一方で、これらの電圧基準レベルを転送するための何百ものUBMが存在する。これらの信号のルーティングは複雑になる。場合によっては、金属層RDL1~RDL4内の信号ルートのためのレイアウトマスクデータが既に提供されているが、これらの金属層上にビアを手動で配置することは、数週間又は数ヶ月かかる。
【0026】
ビア配置をより効率的にするために、プロセッサの回路は、ユーザによって提供される属性に基づいてビアを自動的に生成するソフトウェアプログラマによって開発されたアルゴリズムに従う、ソフトウェアツールの命令を実行する。RDL自動ビア生成器(又は自動ビア生成器)とも呼ばれるツールは、RDLマスクレイアウトデータ及びRDLネットリストのコピーを使用して、再配線層内の金属層の配置を識別する。また、自動ビア生成器は、ユーザによって供給される属性を使用する。様々な実施形態では、自動ビア生成器は、設計ルールチェック(例えば、間隔等)を考慮に入れる。いくつかの実施形態では、そのような別のツールは、DRC及びLVSチェックを実施する。チェックに合格した後、開発中の集積回路に対して半導体チップテープアウトプロセスが実施され、半導体製造プロセスは、集積回路のハードウェアを試験に提供する。
【0027】
図3を参照すると、金属層300の一般化されたブロック図が示されている。示されるように、金属層RDL1 302内の2つの水平信号ルートは、金属層RDL2 304内の垂直信号ルートによって接続される。レイアウトを三次元で見るのを助けるために、A側及びB側の断面も提供される。RDL1 302の金属層は、ビア2層306のビアの配置を用いて、RDL2 304の金属層と物理的に接続する。RDL2 304の金属層の幅により、ビア2層306の2つのビアの単一列が配置される。したがって、2つの金属層RDL1 302の各々と金属層RDL2 304とは物理的に接続されている。様々な実施形態では、これらの金属層302及び304は、対応する集積回路によって使用される電源電圧基準レベル又は接地基準電圧レベルを提供する。
【0028】
方向が水平及び垂直に記載されているが、半導体パッケージは、回転させることが可能であり、再配線層が回転することが理解される。電流の向きは、金属層とビアとの間の関係を記載するために使用される。ここで、金属層RDL2 304は、金属層RDL1 302の上方に配置され、したがって、SoC又は他の集積回路は、この図のページ内に配置されるであろうが、UBM及びシリコンパッケージ基材は、この図のページ外に位置する。逆の向きも可能であり、企図されるが、この説明では、集積回路はページ内に位置する。
【0029】
図4を参照すると、金属層400の一般化されたブロック図が示されている。先に記載された材料及び構造には、同様の符号が付されている。示されるように、金属層RDL1 302内の2つの水平信号ルートは、金属層RDL2 304内の垂直信号ルートによって接続される。レイアウトを三次元で見るのを助けるために、A側及びB側の断面も提供される。RDL1 302の金属層は、ビア2層306のビアの配置を用いて、RDL2 304の金属層と物理的に接続する。RDL2 304の金属層のより大きい幅のため、ビア2層306の2つのビアの2つの列が配置される。
【0030】
図5を見ると、金属層500の一般化されたブロック図が示されている。先に記載された材料及び構造には、同様の符号が付されている。示されるように、金属層RDL1 302内の2つの水平信号ルートは、金属層RDL2 304内の垂直信号ルートによって接続される。レイアウトを三次元で見るのを助けるために、A側及びB側の断面も提供される。RDL1 302の金属層は、ビア2層306のビアの配置を用いて、RDL2 304の金属層と物理的に接続する。上部金属層RDL3 502の切り取りにより、ビア2層306の2つのビアの単一列の配置が示される。追加的に、金属層RDL3 502内の2つの水平信号ルートは、金属層RDL2 304内の同じ垂直信号ルートによって接続される。金属層RDL3 502は、金属層300~500の以前の(図3及び図4の)向きを使用して、金属層RDL2 304の上方に位置している。したがって、2つの金属層RDL1 302、単一の金属層RDL2 304、及び、2つの金属層RDL3 502の各々は、物理的に接続される。
【0031】
様々な実施形態では、これらの金属層302、304、502は、対応する集積回路によって使用される電源電圧基準レベル又は接地基準電圧レベルを提供する。RDL3 502の金属層は、ビア3層504のビアの配置を用いて、RDL2 304の金属層と物理的に接続する。RDL2 304の金属層の幅及びビア2層306のビアのために必要とされる面積により、ビア3層504の2つのビアの単一列が、RDL3 502の金属層の各々によって使用される。ビア2層306及びビア3層504のビアは、3つの隣接する層ではなく、2つの隣接する層のみとの物理的接続を有することに留意されたい。様々な実施形態では、設計ルールチェック(DRC)は、第3の金属層への物理的接続を許可しない。したがって、示されるように、ビア2層306のビアは、RDL1 302の金属層とRDL2 304の金属層との間に配置されるが、ビア2層306のビアは、RDL3 502の金属層と物理的に接続するために垂直方向に連続していない。同様に、ビア3層504のビアは、RDL2 304の金属層とRDL3 502の金属層との間に配置されるが、ビア3層504のビアは、RDL1 302の金属層と物理的に接続するために垂直方向に連続していない。しかしながら、他の実施形態では、DRCは、3つ以上の金属層を通って形成されるスルーホールビアの使用を可能にする。
【0032】
図3図5に示された上記の例では、金属重複領域は、RDLの金属層の間にあり、矩形形状を有することに留意されたい。しかしながら、他の例では、金属重複領域は、表面実装デバイス(SMD)ピン層のピンとRDLの金属層との間にある。これらの例では、金属重複領域が円形形状を有することが可能であり、企図される。更に他の例では、金属重複領域は、RDLの金属層と、C4バンプへの電気的接続を提供するアンダーバンプ冶金(UBM)層と、の間にある。
【0033】
図6を見ると、グラフィカルユーザインターフェース(GUI)600の一般化されたブロック図が示されている。示されるように、GUI600は、再配線層における自動ビア生成に使用される複数の属性をカスタマイズするための複数の選択を含む。ユーザは、提供されたドロップダウンメニュー、テキストを受け取るための入力ボックス、色を変更して選択を示すためのチェックボックス若しくは他の形状等のうち1つ以上を使用して、複数の属性の選択を提供することができる。ボックス602は、ユーザが、自動ビア生成のために、再配線層内の地理的エリアを選択することを可能にする。例えば、ユーザは、自動ビア生成のためのエリアを画定する境界を有する形状を描くことができる。代替的に、ユーザは、既存の設計アウトラインを選択することができる。
【0034】
いくつかの実施形態では、複数のフィールドを有するテーブルが提供される。フィールド604は、自動ビア生成のためにカスタマイズすべき隣接層を示す。示されるように、第1の行は、金属層RDL1及びSMDピン層を示す。ビア1層は、これらの2つの層(RDL1及びSMDピン)の間にある。第2の行は、金属層RDL1及び金属層RDL2を示す。ビア2層は、これらの2つの金属層(RDL1及びRDL2)の間にある。第3の行及び第4の行は、ビア層を識別するためのこの同じ規則に従う。最後の行は、金属層(RDL4)と、C4バンプに物理的に接続されたUBMと、を示す。ビア5層は、これらの2つの層(RDL4及びUBM)の間にある。フィールド606は、ビア層の各々に対するビアパッドスタックを示す。ビアパッドスタックは、誘電体内のビア開口部の端部上の金属層等のように、単一ビア定義又は複数ビア定義を記述する特徴を含む。パッドスタック定義は、ビアを作成するために使用される再配線層内のホール(ビア開口部)も記述する。これらの特徴には、ホールがめっきされているかめっきされていないかが含まれる。追加的に、これらの特徴は、ホールのサイズ(直径)、仕上げられたホールのサイズ、内層及び外層上に形成されたパッドのサイズ、並びに、ホールの周りのクリアランスのサイズを示す。ユーザは、フィールド608にビアピッチを示す。
【0035】
ビア配置を記述するフィールド610は、3つのサブフィールドを含む。第1のサブフィールドは、基準金属を示す。例えば、ビア2層は、2つの金属層RDL1とRDL2との間にある。ユーザは、これらの金属層RDL1及びRDL2のうち何れかを、RDL1層及びRDL2層の金属重複領域におけるビアの配置を記述するために使用する基準金属として選択する。ユーザは、第2のサブフィールドで開始点を選択する。開始点は、選択された基準金属を参照し、自動ビア配置となる選択された基準金属の縁部も示す。一例として、(図5の)金属層500を再び簡単に参照すると、ビア2層について、ユーザは、金属層RDL2を示す「上部」を基準金属として選択する。ユーザは、開始点として「レール右縁」を選択し、ユーザは、第3のサブフィールドである方向については「垂直」を選択する。垂直方向及び水平方向を使用して、金属重複領域に配置される複数のビアのパッドスタックの配置を決定する。金属重複領域に複数のビアを配置する例は、図3図5に示されている。
【0036】
様々な実施形態では、フィールド610のサブフィールドのうち何れか又はGUI600の別のフィールド(図示せず)は、ユーザがホールのタイプ及び対応するビアのタイプを指定することを可能にする指標を含む。例えば、ユーザは、ビアのホールが、スルーホールビアのホールであるか、マイクロビアのスタックの複数ホールのホールであるか、ブラインドマイクロビアのホールであるか、埋め込みホールのホールであるか、又は、銅充填マイクロビアのホールであるかを指定することができる。他の実施形態では、ホールのタイプ及び対応するビアのタイプの選択は、ユーザによって許可されない。むしろ、半導体製造プロセスは、RDLの金属層間のホールのタイプ及び対応するビアのタイプを既に規定している。この情報は、ユーザによって提供された属性に基づいてビアを生成する場合にRDL自動ビア生成器によってアクセスされる別のファイルによって提供される。
【0037】
いくつかの実施形態では、テーブルの行が、金属層をスキップする1つ以上のビア層を識別することに留意されたい。一例では、行(図示せず)は、金属層RDL2及びRDL4を示す。1つ以上のビアは、これら2つの金属層(RDL2及びRDL4)の間にあるが、金属層RDL3を横断しない。上述したように、RDLの金属層間のホールのタイプ及び対応するビアのタイプは、ユーザによって指定されるか、又は、それらは半導体製造プロセスによって既に指定されている。別のフィールド又は他のインジケータは、これらの特定の重複領域に金属層RDL3がないことを示す。したがって、これらの特定の重複領域では、RDL2とRDL4との間に金属層RDL3の金属が存在せず、誘電体のみが存在する。いくつかの実施形態では、GUI600のテーブルの1つ以上のフィールドは、対応する金属層間の対応するビアの厚さ(深さ)を識別するビア層の断面定義を含む。パッドスタックの定義は、上述したようにビアの直径を提供する。更に、いくつかの実施形態では、GUI600のテーブルのフィールドは、ビア1層及びビア3層のビアが、同じ垂直方向に位置合わせされた重複領域に配置(スタック)されることが許可されるが、ビア2層のビアが、この同じ垂直方向に位置合わせされた重複領域に配置されることが許可されない等のビアスタックルールを示す。
【0038】
フィールド620は、再配線層における自動ビア生成に使用するシーケンス順序を示す。ビア層を連続的に隣接して横断する必要はない。ユーザは、自動ビア生成器が使用するビア層の順序をカスタマイズすることができる。場合によっては、自動ビア生成器は、ビア1層のピッチを使用してDRCを依然として満たしながら、SMDピン層のピンのエリアの内側に収まるように、ビア1層の最大数のビアを使用することをデフォルトにすることに留意されたい。様々な実施形態では、SMDピン層のピンは、ビア1層のビアよりも著しく大きい。
【0039】
1つ以上のビア層(テーブル内の1つ以上の行)は、特定のビア層について反復が行われることを示す複数のシーケンス番号を有することにも留意されたい。例えば、(図4及び図5の)金属層400~500を再び簡単に参照すると、ビア2層の初回通過は、垂直金属層RDL2の右縁にビア2層のビアの単一の列のみを追加する。金属層500に示されるような、金属層RDL1に重複する金属層RDL3も有する再配線層の部分については、ビア2層のビアの配置が完了している。しかしながら、金属層400に示されるような、金属層RDL1に重複する金属層RDL3を有しない再配線層の部分については、ビア2層のより多くのビアを追加することが可能である。
【0040】
フィールド630は、ユーザがDRC違反を許可するかどうかを示すことを可能にする。例えば、ユーザは、ビア1層のビア及びビア3層のビア等のような2つの異なる層のビアを互い違いにすることを望む。これにより、同じビア層でDRC間隔を依然として満たしながら、より多くのビアが特定のエリア内に収まる。また、フィールド630は、GUI600の複数のフィールドにおいて提供される属性を使用して自動ビア生成の結果情報を提供するレポートが生成されるべきかどうかをユーザが示すことを可能にする。
【0041】
図7を参照すると、再配線層における自動ビア生成のための方法700の一実施形態が示されている。説明のために、この実施形態(並びに図8)におけるステップが順番に示されている。しかしながら、他の実施形態では、いくつかのステップは、示されるものとは異なる順序で行われ、いくつかのステップは、同時に実施され、いくつかのステップは、他のステップと組み合わされ、いくつかのステップは、存在しない。
【0042】
ユーザは、再配線層における自動ビア生成をカスタマイズするための属性を選択する(ブロック702)。一実施形態では、ユーザは、属性を、グラフィカルユーザインターフェース(GUI)を介して自動ビア生成器に提供する。(図6の)GUI600は一例である。別の実施形態では、ユーザは、属性を、様々なスクリプト言語のうち何れかで書かれたテキストファイル又は実行可能ファイルを介して自動ビア生成器に提供する。ユーザは、自動ビア生成器の実行を開始し、対応するコンピューティングデバイスのプロセッサは、属性に基づいて、再配線層における自動ビア生成を実施する(ブロック704)。一実施形態では、この自動生成は、基準金属識別、開始点、方向及びシーケンス等の属性を受信することを含む。追加的に、上述したように重複領域が識別される。この情報に基づいて、金属層間の1つ以上のビアの配置を示すデータが生成される。加えて、属性は、ビア間の間隔を決定するために使用される所定の層のピッチ及びサイズ情報を含んでもよい。更に、上述したように、一実施形態では、自動プロセスは、重複領域を半分に分割し、ビアを、重複領域の上方及び下方の両方に配置するように構成される。続いて、ユーザは、1つ以上のツールを実行して、設計ルールチェック(DRC)検証及びレイアウト対回路図(LVS)検証を実施する(ブロック706)。
【0043】
ユーザは、自動ビア生成の結果が、再配線層の特定のエリアにおけるビア冗長度の測定及び等価ビア抵抗の測定等の設計要件を満たすかどうかを判定する。結果が設計要件を満たさない場合(条件付きブロック708:「いいえ」)、方法700の制御フローはブロック702に戻り、そこでユーザは属性を選択する。結果が設計要件を満たす場合(条件付きブロック708:「はい」)、半導体パッケージの設計がテープアウトされ、製造される(ブロック710)。
【0044】
半導体パッケージ内の集積回路の第1のノードに電位が印加されない場合(条件付きブロック712:「いいえ」)、半導体パッケージは、電源投入を待つ(ブロック714)。一方、電位差を生成した第1のノードに電位が印加された場合(条件付きブロック710:「はい」)、金属層及び再配線層内に自動的に生成されたビアは、集積回路とマザーボードとの間で電流を伝達する(ブロック716)。
【0045】
図8を参照すると、再配線層における自動ビア生成のための方法800の一実施形態が示されている。ユーザは、再配線層における自動ビア生成に使用する自動ビア生成器の属性を定義する。一実施形態では、ユーザは、属性を、グラフィカルユーザインターフェース(GUI)((図6の)GUI600)を介して自動ビア生成器に提供する。別の実施形態では、ユーザは、属性を、様々なスクリプト言語のうち何れかで書かれたテキストファイル又は実行可能ファイルを介して自動ビア生成器に提供する。プロセッサが自動ビア生成器の命令を実行する場合に、プロセッサは、再配線層の遠端にパッドを画定する(ブロック802)。例えば、ユーザは、内側パッドを使用するためのピッチを定義する。一例では、ユーザは、SMDピン層のピンに接続するためにビア1層のビアのピッチを定義する。ユーザは、既存のDRCルールを満たし、且つ、SMDピン層の対応するピンに物理的に接続するビア1層のビアの数を最大化するようにピッチを選択する。ユーザによって入力された属性に基づいて、プロセッサは、再配線層のスタックの上部にSMDピン層のピンを画定し、再配線層のスタックの底部にビア5層のビアを画定し、ここで、上部及び底部は向きの指標である。
【0046】
プロセッサは、金属重複領域を計算する(ブロック804)。金属層RDL1とRDL2との間の金属重複領域の例は、(図3図5の)金属層300~500に示されている。金属層RDL2とRDL3との間の金属重複領域の例は、(図5の)金属層500に示されている。他の例では、プロセッサは、SMDピン層のピンとRDLの金属層との間の金属重複領域を計算する。更に他の例では、プロセッサは、RDLの金属層と、C4バンプへの電気的接続を提供するアンダーバンプ冶金(UBM)層と、の間の金属重複領域を計算する。金属重複領域の形状は、金属重複領域を画定するために使用される上層及び下層に基づいて、正方形、長方形又は円形である。いくつかの実施形態では、受信された属性に基づいて、プロセッサは、重複領域を半分に分割して、ビア層が重複領域の上方及び下方の両方に配置されることを可能にする。このタイプのビア配置の例は、(図5の)金属層500に示されている。基準金属、開始点及び方向を示す属性に基づいて、プロセッサは、異なるビア層タイプ(例えば、ビア2、ビア3)のビアを重複領域に配置する。いくつかの実施形態では、上部(上方の)ビアが分割された領域に既に配置されている場合、底部(下方の)ビアは、他方の半分に配置される。2つの隣接する層重複領域が同じ場所にない場合、重複領域は底部ビアのために完全に利用され、逆もまた同様である(例えば、RDL1及びRDL3は同じ平面にない)。そのような手法は、DRC制約がビアのスタッキングを許容しない場合に使用され得る。
【0047】
プロセッサは、示されたシーケンスに基づいてビアを生成する(ブロック806)。示されたシーケンスは、ユーザから受信された属性において指定される。シーケンス順序は、自動ビア生成を開始するために何れのビア層を使用すべきか、且つ、更なる自動ビア生成のために各後続のビア層を選択すべきかを決定する。ビアは、DRCルールを満たすように、現在選択されているビア層に対応するサイズ及びピッチに基づいて配置される。加えて、プロセッサは、信号ルートの金属層の寸法を変更しない。ある特定のビア層に対する複数のシーケンスが、受信された属性において指定されている場合、プロセッサは、可能な場合、そのビア層内に追加のビアを配置する。場合によってはビアの冗長性が既に存在するが、自動ビア生成器は、依然として可能な限りビア数を増加させる。プロセッサは、レポートを生成する(ブロック808)。プロセッサは、自動ビア生成中にログファイルを維持し、対応する情報を使用してレポートに要約された結果を提供する。様々な実施形態において、プロセッサは、既知の宛先に位置するファイルを書き込む。
【0048】
図9を参照すると、自動的に配置されたビアを有する再配線層を利用するコンピューティングシステム900の一実施形態が示されている。コンピューティングシステム900は、再配線層内に自動的に生成されたビアを含むチップパッケージ940を利用する。チップパッケージ940は、ボールグリッドアレイ(BGA)表面実装パッケージ、チップスケールパッケージ(CSP)、及び、マザーボード(又はプリント回路基板)上の他の構成要素と通信するシステムインパッケージ(SiP)のうち何れかを使用する。一実施形態では、コンピューティングシステム900は、チップパッケージ940内にプロセッサ910とメモリ930とを含む。別の実施形態では、プロセッサ910及びメモリ930のうちの一方のみがチップパッケージ940に含まれる。メモリコントローラ、バス又は通信ファブリック、1つ以上の位相ロックループ(phased locked loop、PLL)及び他のクロック生成回路、電力管理ユニット等のインターフェースは、図示を簡単にするため示されていない。追加的に、図示された実施形態では、チップパッケージ940は、メモリバス950並びに入力/出力(I/O)コントローラ及びバス952を介してディスクメモリ954に接続される。
【0049】
他の実施形態では、コンピューティングシステム900は、プロセッサ910と同じタイプ又は異なるタイプの他のプロセッサ、1つ以上の周辺デバイス、ネットワークインターフェース、1つ以上の他のメモリデバイス等のうち1つ以上を含むことが理解される。いくつかの実施形態では、コンピューティングシステム900の機能は、システムオンチップ(SoC)上に組み込まれる。他の実施形態では、コンピューティングシステム900の機能は、マザーボードに挿入された周辺カード上に組み込まれる。コンピューティングシステム900は、デスクトップコンピュータ、タブレットコンピュータ、ラップトップ、スマートフォン、スマートウォッチ、ゲームコンソール、パーソナルアシスタントデバイス等の様々なコンピューティングデバイスのうち何れかにおいて使用される。
【0050】
プロセッサ910は、回路等のハードウェアを含む。様々な実施形態では、プロセッサ910は、1つ以上の処理ユニットを含む。いくつかの実施形態では、処理ユニットの各々は、汎用データ処理が可能な1つ以上のプロセッサコアと、関連するキャッシュメモリサブシステムと、を含む。そのような実施形態では、プロセッサ910は、中央処理ユニット(CPU)である。別の実施形態では、処理コアは、計算ユニットであり、各々が、複数の並列実行レーン及び関連するデータストレージバッファを有する高度並列データマイクロアーキテクチャを有する。そのような実施形態では、プロセッサ910は、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)等である。
【0051】
いくつかの実施形態では、メモリ930は、様々なタイプのダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)のうち何れかを含む。メモリ930は、オペレーティングシステム(operating system、OS)932の少なくとも一部分と、コード934によって表される1つ以上のアプリケーションと、少なくともソースデータ936と、を記憶する。様々な実施形態では、メモリ930は、ディスクメモリ954上に記憶された元のコピーを有する、これらのソフトウェア構成要素932、934、936のコピーを記憶する。また、メモリ930は、コード934の特定のアプリケーションを実行する場合にプロセッサ910によって生成される中間結果データ及び最終結果データを記憶することもできる。
【0052】
様々な実施形態では、オフチップディスクメモリ954は、フラッシュメモリのバンクを構成する1つ以上のハードディスクドライブ(hard disk drive、HDD)とソリッドステートディスク(Solid-State Disk、SSD)とを含む。I/Oコントローラ及びバス952は、オフチップディスクメモリ954との通信プロトコルをサポートする。単一のオペレーティングシステム932並びにコード934及びソースデータ936の単一のインスタンスが示されているが、他の実施形態では、別の数のこれらのソフトウェア構成要素がメモリ930及びディスクメモリ954に記憶される。オペレーティングシステム932は、プロセッサ910のブートアップを開始し、タスクをハードウェア回路に割り当て、コンピューティングシステム900のリソースを管理し、1つ以上の仮想環境をホストするための命令を含む。
【0053】
上述した実施形態のうち1つ以上がソフトウェアを含むことに留意されたい。そのような実施形態では、方法及び/又は機構を実施するプログラム命令は、コンピュータ可読記憶媒体に伝達又は記憶される。プログラム命令を記憶するように構成されている多数のタイプの媒体が利用可能であり、ハードディスク、フロッピー(登録商標)ディスク、CD-ROM、DVD、フラッシュメモリ、プログラマブルROM(Programmable ROM、PROM)、ランダムアクセスメモリ(random access memory、RAM)、及び、様々な他の形態の揮発性又は不揮発性ストレージが挙げられる。一般的に言えば、コンピュータアクセス可能記憶媒体は、命令及び/又はデータをコンピュータに提供するために、使用中にコンピュータによってアクセス可能な任意の記憶媒体を含む。例えば、コンピュータアクセス可能記憶媒体としては、磁気又は光学媒体(例えば、ディスク(固定又は取り外し可能)、テープ、CD-ROM、DVD-ROM、CD-R、CD-RW、DVD-R、DVD-RW、Blu-Ray(登録商標))等の記憶媒体が挙げられる。記憶媒体としては、RAM(例えば、同期ダイナミックRAM(synchronous dynamic RAM、SDRAM)、ダブルデータレート(double data rate、DDR、DDR2、DDR3等)SDRAM、低電力DDR(low-power DDR、LPDDR2等)SDRAM、ラムバスDRAM(Rambus DRAM、RDRAM)、スタティックRAM(static RAM、SRAM)等)、ROM、フラッシュメモリ等の揮発性又は不揮発性メモリ媒体、ユニバーサルシリアルバス(Universal Serial Bus、USB)インターフェース等の周辺インターフェースを介してアクセス可能な不揮発性メモリ(例えば、フラッシュメモリ)等が更に挙げられる。記憶媒体としては、微小電気機械システム(microelectromechanical system、MEMS)、並びに、ネットワーク及び/又はワイヤレスリンク等の通信媒体を介してアクセス可能な記憶媒体が挙げられる。
【0054】
追加的に、様々な実施形態では、プログラム命令は、C等の高レベルプログラミング言語、又は、Verilog、VHDL等の設計言語(design language、HDL)、又は、GDS IIストリームフォーマット(GDSII)等のデータベースフォーマットでのハードウェア機能の動作レベル記述又はレジスタ転送レベル(register-transfer level、RTL)記述を含む。場合によっては、記述は、合成ライブラリからゲートのリストを含むネットリストを生成するために記述を合成する合成ツールによって読み出される。ネットリストは、システムを含むハードウェアの機能も表すゲートのセットを含む。ネットリストは、次いで、マスクに適用される幾何学的形状を記述するデータセットを生成するために、配置及びルーティングされ得る。次に、マスクは、システムに対応する半導体回路又は回路を生成するために、様々な半導体製造ステップで使用され得る。代替的に、コンピュータアクセス可能記憶媒体上の命令は、必要に応じて、ネットリスト(合成ライブラリを有する若しくは有しない)又はデータセットである。追加的に、命令は、Cadence(登録商標)、EVE(登録商標)及びMentor Graphics(登録商標)等のベンダからのハードウェアベースのタイプのエミュレータによるエミュレーションのために利用される。
【0055】
上記の実施形態は、かなり詳細に説明されているが、上記の開示が十分に理解されると、多数の変形及び修正が当業者に明らかになるであろう。以下の特許請求の範囲は、全てのそのような変形及び修正を包含すると解釈されることが意図されている。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【国際調査報告】