(57)【要約】【課題】セラミック集積回路パッケージ内の電力分配システム（ＰＤＳ）を自動的に機能強化するための方法、装置、およびコンピュータ・プログラムを提供すること。【解決手段】パッケージには複数の層が含まれる。パッケージ全体が、複数の異なるグリッド・セルを含む３次元グリッドに分割される。情報はセル１つずつに関連付けられる。セル１つずつについて、セル内に含まれる情報が、３次元パッケージ内で他のセルを基準にしたそのセルの物理的場所の特徴を記述する。情報は、当該セルをすでに通過したいずれのビアまたはトレースをも記述する。潜在的な新しいビアあるいはトレースまたはその両方の場所は、情報を使用するパッケージ全体のすべてにわたって自動的に位置付けられる。【選択図】  図３
2006164267.tif 000002
【特許請求の範囲】
【請求項１】
複数の層を含む３次元セラミック集積回路パッケージ・デザイン内で、メッシュ電力プレーンを含む電力分配システム（ＰＤＳ）を自動的に作成および延長するためのデータ処理システムにおける方法であって、
前記デザイン全体を複数のセルに分割するステップと、
前記複数のセルのそれぞれに情報を格納するステップと、
前記複数のセルの各セルについて、前記情報が、前記複数のセルの前記各セルの場所の特徴をその他の前記複数のセルを基準にして記述し、前記複数のセルの前記各セルをすでに通過したいずれのビアまたはトレースを記述するステップと、
前記情報を使用して、潜在的な新しいビアおよびトレースの場所を前記パッケージ・デザイン全体のすべてにわたって一度に自動的に位置付けるステップと、
を有する方法。
【請求項２】
潜在的なビアおよびトレースの場所を見つける場合に使用する、製造制約、工学的制約、および電力分配システム制約を含む制約を指定するステップをさらに有する、請求項１に記載の方法。
【請求項３】
潜在的な場所が見つけられる前記パッケージ・デザイン内の領域を、電流密度が特定の量を超える領域に制限する制約を指定するステップをさらに有する、請求項２に記載の方法。
【請求項４】
ビアまたはトレースを追加するための任意の他の潜在的な場所を見つけることに先立って、前記パッケージ・デザインの最上層を前記パッケージ・デザインの最下層に接続することになる前記デザインにビアを追加することが可能な潜在的な場所を見つけるステップをさらに有する、請求項１に記載の方法。
【請求項５】
前記パッケージ・デザインの最上層を前記パッケージ・デザインの最下層に接続することになる、ビアを追加することが可能な潜在的な場所を見つけた後に、中間層を接続することになる前記デザインにビアを追加することが可能な潜在的な場所を見つけるステップと、
前記中間層を接続することになる前記デザインにビアを追加することが可能な潜在的な場所を見つける前記ステップが、最長のビアの場所を第１に見つけるように実行されるステップと、
をさらに有する、請求項４に記載の方法。
【請求項６】
中間層を接続することになる前記デザインにビアを追加することが可能な潜在的な場所を見つけた後に、既存のトレースを延長することが可能な場所を見つけるステップをさらに有する、請求項５に記載の方法。
【請求項７】
既存のトレースを延長することが可能な場所を見つけた後に、複数の異なるビアが、電力信号および接地を前記パッケージ・デザインに供給する電力構造体に前記パッケージ・デザイン下部のピンを接続することになる、ビア用の潜在的な場所を見つけるステップをさらに有する、請求項６に記載の方法。
【請求項８】
前記複数のセルの前記各セルが既存のトレースまたはビアのいずれかを含む場合に、前記複数のセルの前記各セルが、ビアの始まり、ビアの終わり、トレースの始まり、トレースの終わり、トレース・セグメント、ビア・セグメント、および電力網の識別を含むかどうかを、前記情報が含むステップであって、前記既存のトレースまたはビアが前記識別された電力網の一部である、ステップをさらに有する、請求項１に記載の方法。
【請求項９】
潜在的なビアの場所を見つけることによって機能強化される特定の電力網を決定するステップであって、前記電力網は接地電力網または供給電圧電力網のいずれかである、ステップと、
前記複数のセルのうちの第１のセルについて、前記第１のセルがすでにビアまたはトレースを含むかどうかを判別するステップと、
前記第１のセルがすでに既存のビアまたはトレースを含まないとの判別に応答して、指定された必要な深さまで延在する新しいビアを追加できるかどうかを判別するステップであって、前記新しいビアは前記複数のセルのうちの前記第１のセルで始まり、第２のセルで終わり、前記第１のセルから前記第２のセルまでの前記長さは前記指定された必要な深さに合致するかまたはこれを超えるものである、ステップと、
前記指定された必要な深さまで延在する前記新しいビアを追加できるとの判別に応答して、前記第１のセルから前記第２のセルまでの前記新しいビア用の場所を潜在的なビアの場所のリストに追加するステップと、
をさらに有する、請求項１に記載の方法。
【請求項１０】
前記第１のセルがすでに既存のビアまたはトレースを含むとの判別に応答して、前記既存のビアまたはトレースが前記特定の電力網の一部であるかどうかを判別するステップと、
前記既存のビアまたはトレースが前記特定の電力網の一部ではないとの判別に応答して、前記第１のセルを潜在的なビアの場所のリストに追加せずに、次のセルの場所に進むステップと、
前記既存のビアまたはトレースが前記特定の電力網の一部であるとの判別に応答して、指定された必要な深さまで延在する新しいビアを追加できるかどうかを判別するステップであって、前記新しいビアは前記複数のセルのうちの前記第１のセルで始まり、第２のセルで終わり、前記第１のセルから前記第２のセルまでの長さは前記指定された必要な深さに合致するかまたはこれを超えるものである、ステップと、
前記指定された必要な深さまで延在する前記新しいビアを追加できるとの判別に応答して、前記第１のセルから前記第２のセルまでの前記新しいビア用の場所を潜在的なビアの場所のリストに追加するステップと、
をさらに有する、請求項９に記載の方法。
【請求項１１】
第１の層内のトレースを位置付けるステップと、
前記トレースがどの電力網の一部であるかを識別するステップと、
同じく前記識別された電力網の一部である第２のトレースが水平方向に存在するかどうかを判別することによって、前記トレースが前記水平方向に延長可能であるかどうかを判別するステップと、
前記水平方向の前記トレースの延長を潜在的なトレース延長の場所として前記第２のトレースに追加するステップと、
同じく前記識別された電力網の一部である第３のトレースが垂直方向に存在するかどうかを判別することによって、前記トレースが前記垂直方向に延長可能であるかどうかを判別するステップと、
前記垂直方向の前記トレースの延長を潜在的なトレース延長の場所として前記第３のトレースに追加するステップと、
をさらに有する、請求項１に記載の方法。
【請求項１２】
複数の層を含む３次元セラミック集積回路パッケージ・デザイン内で、メッシュ電力プレーンを含む電力分配システム（ＰＤＳ）を自動的に作成および延長するためのコンピュータ・プログラムであって、
前記デザイン全体を複数のセルに分割するための命令と、
前記複数のセルの各セルに情報を格納するための命令であって、
前記情報は前記複数のセルの各セルについて、前記複数のセルの前記各セルの場所の特徴をその他の前記複数のセルを基準にして記述し、さらに前記複数のセルの前記各セルをすでに通過したいずれのビアまたはトレースも記述する、命令と、
前記情報を使用して、潜在的な新しいビアおよびトレースの場所を前記パッケージ・デザイン全体のすべてにわたって一度に自動的に位置付けるための命令と、
を有するプログラム。
【請求項１３】
複数の層を含む３次元セラミック集積回路パッケージ・デザイン内で、メッシュ電力プレーンを含む電力分配システム（ＰＤＳ）を自動的に作成および延長するためのデータ処理システムにおける装置であって、
複数のセルに分割された前記デザイン全体と、
前記複数のセルの各セルに格納された情報であって、
前記情報は、前記複数のセルの各セルについて、前記複数のセルの前記各セルの場所の特徴をその他の前記複数のセルに関連して記述し、前記複数のセルの前記各セルをすでに通過したいずれのビアまたはトレースも記述する、情報と、
前記情報を使用して、前記パッケージ・デザイン全体のすべてにわたって一度に自動的に位置付けられた潜在的な新しいビアおよびトレースの場所と、
を有する装置。
【請求項１４】
潜在的なビアおよびトレースの場所を見つける場合に使用するために指定される、製造制約、工学的制約、および電力分配システム制約を含む複数の制約をさらに有する、請求項１３に記載の装置。
【請求項１５】
前記パッケージ・デザインの最上層を前記パッケージ・デザインの最下層に接続することになる前記デザインにビアを追加することが可能な、位置付けられた第１の潜在的な場所であって、前記第１の潜在的な場所は任意の他の潜在的な場所を見つけることに先立って位置付けられる、第１の潜在的な場所をさらに有する、請求項１３に記載の装置。
【請求項１６】
中間層を接続することになる前記デザインにビアを追加することが可能な、位置付けられた第２の潜在的な場所であって、前記第２の潜在的な場所は前記第１の潜在的な場所が見つけられた後に見つけられる、第２の潜在的な場所をさらに有する、請求項１５に記載の装置。
【請求項１７】
既存のトレースが延長可能な、位置付けられた第３の潜在的な場所であって、前記第３の潜在的な場所は前記第２の潜在的な場所が見つけられた後に見つけられる、第３の潜在的な場所をさらに有する、請求項１６に記載の装置。
【請求項１８】
前記複数のセルの前記各セルがトレースまたはビアのいずれかを含む場合に、前記複数のセルの前記各セルが、ビアの始まり、ビアの終わり、トレースの始まり、トレースの終わり、トレース・セグメント、ビア・セグメント、および電力網の識別を含むかどうかの標識を含む情報であって、前記既存のトレースまたはビアが前記識別された電力網の一部である、情報をさらに有する、請求項１７に記載の装置。
【請求項１９】
潜在的なビアの場所を見つけることによって機能強化される特定の電力網であって、前記電力網は接地電力網または供給電圧電力網のいずれかである、特定の電力網と、
前記複数の前記セルのうちの第１のセルと、
前記第１のセルがすでにビアまたはトレースを含むかどうかを判別するためのＣＰＵ実行コードを含む前記データ処理システムと、
前記第１のセルがすでに既存のビアまたはトレースを含まないとの判別に応答して、指定された必要な深さまで延在する新しいビアを追加できるかどうかを判別するための前記ＣＰＵ実行コードであって、前記新しいビアは前記複数のセルのうちの前記第１のセルで始まり、第２のセルで終わり、前記第１のセルから前記第２のセルまでの長さは前記指定された必要な深さに合致するかまたはこれを超えるものである、ＣＰＵ実行コードと、
前記指定された必要な深さまで延在する前記新しいビアを追加できるとの判別に応答して、潜在的なビアの場所のリストに含められる前記第１のセルから前記第２のセルまでの前記新しいビア用の場所と、
をさらに有する、請求項１３に記載の装置。
【請求項２０】
前記第１のセルがすでに既存のビアまたはトレースを含むとの判別に応答して、前記既存のビアまたはトレースが前記特定の電力網の一部であるかどうかを判別するための前記ＣＰＵ実行コードと、
前記既存のビアまたはトレースが前記特定の電力網の一部ではないとの判別に応答して、前記第１のセルを潜在的なビアの場所のリストに追加せずに、次のセルの場所を分析するための前記ＣＰＵ実行コードと、
前記既存のビアまたはトレースが前記特定の電力網の一部であるとの判別に応答して、指定された必要な深さまで延在する新しいビアを追加できるかどうかを判別するための前記ＣＰＵ実行コードであって、前記新しいビアは前記複数のセルのうちの前記第１のセルで始まり、第２のセルで終わり、前記第１のセルから前記第２のセルまでの前記長さは前記指定された必要な深さに合致するかまたはこれを超えるものである、ＣＰＵ実行コードと、
前記指定された必要な深さまで延在する前記新しいビアを追加できるとの判別に応答して、潜在的なビアの場所のリストに含められる前記第１のセルから前記第２のセルまでの前記新しいビア用の場所と、
をさらに有する、請求項１９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムを対象とする。より具体的に言えば、本発明はセラミック集積回路パッケージにおいて電力分配システム（ＰＤＳ）を自動的に機能強化するための方法、装置、およびコンピュータ・プログラムを対象とする。
【背景技術】
【０００２】
ＶＬＳＩ適用分野における現在の傾向は、チップとも呼ばれる集積回路（ＩＣ）内の電流に関して、通常の条件下で２００アンペア（ａｍｐ）以上の範囲となり、ストレス試験の条件下ではさらにそれ以上にもなり得るという要件を強要している。これに加えて、ＩＣの動作電圧は、１ボルトまたはそれ以下という低い値にまで下げられている。チップが結合されるパッケージは、パッケージ全体およびＩＣへ電力を分配する責務を負う電力分配システム（ＰＤＳ）を有する。電力分配システムは、すべての供給電圧網などのすべての電力網および接地網を含む。ＰＤＳは、このような高い電流密度をＩＣに供給可能であると同時に、パッケージの多くの層（ｌａｙｅｒ）全体にわたって電圧損失を非常に低い値に維持するために、インピーダンスを最小にしなければならない。
【０００３】
最近まで、第１レベル・パッケージのＰＤＳは、高性能ＩＣの電流および電圧の要件を十二分に満たしてきた。第１レベル・パッケージは、ベア（ｂｅａｒ）・シリコン・チップを保持し、それらと残りのより大規模な電気系統との間に接続性、電力供給、および熱除去を提供する、相互接続デバイスである。新しいシリコン技術は、より切迫した電力需要を必要とするため、原因となる第１レベル・パッケージング部分のオーム抵抗損がより大きくなり、その妥当性を保証するために注意深く設計および分析する必要がある。
【０００４】
導電材料がオーム抵抗損をさらに大きくさせる比較的損失の多い金属ペーストを基材とし、信号トレースのルーティングが電力分配システムを補強するために残される使用可能な表面積を制限する傾向があるほど輻輳する、高信号密度のセラミック・パッケージでは、ＰＤＳの設計は特に困難である。この問題は、ほとんどの電流密度を流す必要があり、信号のブレークアウト配線（ｂｒｅａｋｏｕｔ  ｗｉｒｉｎｇ）が使用可能スペースの大部分を占める、パッケージのチップのすぐ下の部分ではさらに深刻である。加えて、全体の電流がパッケージの下部ピンからＩＣそれ自体の上部接続へと垂直方向に流れるため、水平なソリッドまたはメッシュ・プレーン接続よりもビア相互接続が重要な役割を果たすことになる。
【０００５】
工学的分析により、パッケージの電力分配システムを補強または機能強化する必要があると判定された場合、ビアおよびトレースが追加可能なパッケージの設計において好機を見出すタスクは、非常に時間および手間のかかるものとなる。パッケージが多くの層を含むため、設計者は問題の３次元的性質を考慮に入れなければならない。さらに、追加が必要な可能性のあるビアあるいは素子（ｅｌｅｍｅｎｔ）またはその両方の数は、何千にもなる可能性がある。
【０００６】
従来技術のシステムが提供する特徴は、パッケージ全体をまとめて考慮の対象とする自動的または大規模な方法で、可能な追加のビアあるいはトレースまたはその両方の場所を位置付ける機能は提供していない。したがって、可能なビアあるいはトレースまたはその両方の場所を位置付けるこのプロセスは、時間のかかる手作業のプロセスである。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、パッケージをまとめて考慮の対象とし、パッケージ全体を通じて可能な追加のトレースあるいはビアまたはその両方の場所を位置付ける（ｌｏｃａｔｉｎｇ）ことによって、セラミック・パッケージ内の電力分配システム（ＰＤＳ）を自動的に機能強化するための方法、システム、およびコンピュータ・プログラムが求められている。
【課題を解決するための手段】
【０００８】
セラミック集積回路パッケージ内の電力分配システム（ＰＤＳ）を自動的に機能強化するための方法、装置、およびコンピュータ・プログラムを開示する。パッケージには複数の層（ｌａｙｅｒ）が含まれる。パッケージ全体が、複数の異なるグリッド・セルを含む３次元グリッドに分割される。情報はセル１つずつに関連付けられる。セル１つずつについて、セル内に含まれる情報が、３次元パッケージ内で他のセルを基準にした（関連した）そのセルの物理的場所の特徴を記述する。情報は、当該セルをすでに通過したいずれのビアまたはトレースをも記述する。潜在的な新しいビアあるいはトレースまたはその両方の場所は、情報を使用するパッケージ全体のすべてにわたって自動的に位置付けられる。
【０００９】
本発明の上記ならびに追加の目的、特徴、および利点は、以下の詳細に記載された説明において明らかになろう。
【００１０】
本発明の特徴と考えられる新規な機能は、特許請求の範囲に記載される。しかしながら、本発明それ自体、ならびにその好ましい使用モード、他の目的および利点は、添付の図面と共に読んだ場合、例示的な実施形態の以下の詳細な説明を参照することによって最もよく理解されるであろう。
【００１１】
本発明の好ましい一実施形態およびその利点は、添付の図面の同様の部分および対応する部分には同様の数字が使用されている図面を参照することによって、より良く理解される。
【発明を実施するための最良の形態】
【００１２】
本発明は、チップとも呼ばれる集積回路に結合された多層（マルチレイヤ）のセラミック集積回路パッケージ内で電力分配システム（ＰＤＳ）を自動的に機能強化するための方法、装置、およびコンピュータ・プログラムである。パッケージ内の電力分配システムは、パッケージに取り付けられたチップに電力を供給するために構築あるいは機能強化またはその両方が行われる。本発明は、ビアあるいはトレースまたはその両方が自動的に追加可能なモジュール全体の中で物理的な場所を識別することにより、電力分配システムを補強することを提供する。
【００１３】
既存のパッケージ・デザインにおけるデータ信号のレイアウトはすでに完了している。データ信号は部分的または完全に配線することができる。既存のパッケージ・デザインは、パッケージを結合することになるチップへ電力を供給するために使用される、いくつかのビアあるいはトレースまたはその両方をすでに含んでいる場合がある。これらビアのいくつかはデザイン内に埋設できる。本発明は、パッケージ・デザイン全体を考慮の対象とすることにより、新しいビアを追加することが可能な、およびトレースを追加または延長することが可能な、既存のパッケージ・デザイン内の場所を自動的に識別する。
【００１４】
セラミック・パッケージの場合、電流の大半が垂直方向である。したがって、ビアの追加に高い優先度を割り当てる必要がある。ビアはトレースよりも横断面が大きいため、長いビア接続の追加を機能強化して、抵抗トレースを通過する層平面を流れる電流の導通への依存を最小限にすることが望ましい。また、層平面内の導電性が制限されるために、ほとんどの電流は電流のソースおよびドレーンに密接に従う。したがってパッケージ内の電流密度は、チップがパッケージに結合されているチップの場所の下に集中することになる。
【００１５】
本発明は、ビアが追加される領域を、電流密度が最大の領域に制限することができる。これらの領域は、回路シミュレーション・ツールを使用して容易に決定することができる。これらの領域は、チップ内のアクティブ・コンポーネントの概要を考慮の対象とすることによっても推定可能である。電流密度に関する特定量を指定することができる。ビア／トレースが追加可能な潜在的な場所を、この特定量を超える電流密度を有する領域に制限することができる。
【００１６】
潜在的なビアの場所は、第１に最も長いビアが追加可能な場所を見つけることによって見つけられる。第１に最上位層が最下位層に接続されることになるビアの場所が見つけられる。次に、第１に最も長いビアを追加する残りの中間層に接続するビアの場所が見つけられる。その後、トレースが延長可能な場所を見つけることによって、すべての層内にトレースが構築される。その後、パッケージの下部ピンを電力構造体に接続することになる複数のビアの場所が見つけられる。
【００１７】
パッケージ内の電力分配システムへの修正は、諸制約の使用を通じたユーザの制御下にある。電力分配システムを修正した結果、いずれかの既存のデータ信号配線が変更されることはない。潜在的な場所はパッケージ全体にわたって見つけられるため、一度に多くの修正が実行可能である。したがって、追加のビアおよび機能強化されるトレース用のすべての潜在的な場所が、一度にユーザに提示される。これらの潜在的な場所が見つかった後、ユーザは修正済みＰＤＳにアクセスし、グラフィカル・ユーザ・インターフェース（ＧＵＩ）を使用してこれらの修正を制御するための手段を有する。
【００１８】
電力信号の追加あるいは延長またはその両方を実行するためのパッケージ内の場所を選択する場合、いくつかの考慮すべき点に配慮しなければならない。これらの考慮すべき点は、制約を通して実施される。たとえば、チップに電力を供給するため、およびすでにパッケージ内にレイアウトされているデータ信号を遮蔽するために、パッケージに電力信号を追加する必要がある。加えて、最終的なパッケージ・デザインを製造できるようにしなければならない。
【００１９】
潜在的なビアあるいはトレースまたはその両方の場所を位置付ける場合に使用する制約が指定される。これらの制約は、ユーザによって指定される１組の工学的設計ルールである。制約は、製造制約、配線可能性（ｗｉｒｅａｂｉｌｉｔｙ）制約、および電力供給システム制約を指定することができる。たとえば製造制約は、特定深さよりも浅いビアを製造することが困難であるため、少なくとも特定数の層の深さであることを必要とする、新しいビアの深さに関する制限を含むことができる。
【００２０】
配線可能性制約の一例は、集積回路の（チップの）データ信号がパッケージ内のそれらの意図する宛先に配線されるのを、新しいビア／トレースが妨げないことを要求することである。電力供給システム制約は、ビア／トレースが、集積回路内の様々なデバイスに供給する電圧および電流の所望な工学的目標を達成することに寄与するように指定することができる。
【００２１】
他の制約は、電力トレースによって遮蔽されるデータ信号トレースを指定する。セラミック・パッケージには、ソリッド電力プレーンではなくメッシュ電力プレーンの電力分配システムが含まれる。これらのパッケージでは、すでにパッケージ・デザインに含まれる信号トレースを電力トレースによって遮蔽する必要がある。したがって、すべてのデータ信号のレイアウトが完了すると、すべてのデータ信号が電力信号によって遮蔽されることを保証することによって、電力分配システムのレイアウトが完了する。したがって電力トレースは、電力網のレイアウト内で電力信号がデータ信号の上および下を通るようにルーティングする必要がある。
【００２２】
本発明を使用して、これらの制約を満たす場所を見つけることにより、潜在的なビアあるいはトレースまたはそれら両方の場所を位置付けることができる。制約は、ビアを追加することが可能な領域を、電流密度が最大の領域に制限することを含むことができる。これらの領域は、回路シミュレーション・ツールを使用することによって容易に決定できる。制約は、第１に、最上位層を最下位層に接続することになる潜在的なビアの場所を見つけるように試みることによって、必要なだけのビアを追加することも指定できる。その後、制約は、残りの中間層間にビアの場所が見つけられ、第１に最も長い可能な潜在的ビアの場所を見つけるように指定することができる。他の制約は、各層内でのトレース延長を定義することができる。他の制約は、モジュール下部ピンを電力分配システムに接続するために複数のビアの使用を定義することができる。制約の定義はユーザによって実行される。
【００２３】
本発明は、事前に定義された制約のセットが与えられた場合に、潜在的なビアあるいはトレースまたはその両方の場所を位置付けるための方法、装置、およびプログラムである。ユーザは、追加または修正されるビア／トレースの数、タイプ、および場所を制御する制約を定義することができる。
【００２４】
本発明は、第１に３次元パッケージ・ジオメトリ構造を受け取ることによって実施される。この構造は、従来技術の方法を使用して生成される。ジオメトリにはパッケージのすべての層内のすべてのデータ信号の場所が含まれる。
【００２５】
次に本発明に従って、パッケージ・ジオメトリ要素が分離した（ｄｉｓｃｒｅｔｅ）ユニットに分けられ、グリッド寸法によって決定され、三次元行列にロードされる。この行列は、電力分配システムの評価および向上に必要な様々な機能を実行するために、任意数の方向にトラバースする（ｔｒａｖｅｒｓｅ）ことができる。
【００２６】
加えて、ビア／トレース用の潜在的な場所が特定されると、本発明はビア／トレースを追加および修正することによって電力分配システムを更新する。電力分配システムに対する修正の量、場所、およびタイプを対話式で制御することによって、ならびにモジュール全体における電力分配システム全体への修正を一度に実行することによって、ユーザは、従来技術の方法に比べてはるかに短い時間で電力分配システムの補強タスクを完了することができる。
【００２７】
図１は、本発明が実施可能なデータ処理システムのネットワーク１００を示す図である。データ処理システム・ネットワークには、データ処理システム・ネットワーク１００内で共に接続された様々なデバイスおよびコンピュータ間に通信リンクを提供するために使用される媒体である、ネットワーク１０２が含まれる。ネットワーク１０２は、有線、無線通信リンク、または光ファイバ・ケーブルなどの接続を含むことができる。
【００２８】
記載された例では、サーバ１０４はストレージ・ユニット１０６と共にネットワーク１０２に接続される。加えて、クライアント１０８、１１０、および１１２もネットワーク１０２に接続される。これらのクライアント１０８、１１０、および１１２は、たとえばパーソナル・コンピュータ、ネットワーク・コンピュータ、または他のコンピューティング・デバイスとすることができる。記載された例では、サーバ１０４はブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションなどのデータをクライアント１０８〜１１２に提供する。クライアント１０８、１１０、および１１２は、サーバ１０４に対するクライアントである。データ処理システム・ネットワーク１００は、追加のサーバ、クライアント、および図示されていない他のデバイスを含むことができる。記載された例では、データ処理システム・ネットワーク１００は、一連のＴＣＰ／ＩＰプロトコルを使用して互いに通信する、ネットワークおよびゲートウェイの世界規模の集まりを表すネットワーク１０２を備えたインターネットである。インターネットの中心は、データおよびメッセージをルーティングする何千もの商用、行政、教育、および他のコンピュータ・システムからなる、主要ノードまたはホスト・コンピュータ間での高速データ通信回線のバックボーンである。
【００２９】
もちろん、ネットワーク・データ処理システム１００は、たとえばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、または無線ネットワークなどの、いくつかの異なるタイプのネットワークとしても実施可能である。図１は、本発明の構造上の制限としてではなく、一例として意図されたものである。
【００３０】
図２は、本発明に従った、図１のコンピュータ・システムのいずれかを実施するために使用することが可能なコンピュータ・システムのより詳細な図である。データ処理システム２００は、システム・バス２０６に接続された複数のプロセッサ２０２および２０４を含む対称型マルチプロセッサ（ＳＭＰ）システムとすることができる。別の方法として、単一のプロセッサ・システムを採用することもできる。さらにシステム・バス２０６に接続されるのが、ローカル・メモリ２０９へのインターフェースを提供するメモリ・コントローラ／キャッシュ２０８である。Ｉ／Ｏバス・ブリッジ２１０がシステム・バス２０６に接続され、Ｉ／Ｏバス２１２にインターフェースを提供する。メモリ・コントローラ／キャッシュ２０８およびＩ／Ｏバス・ブリッジ２１０は、記載のように一体化することができる。
【００３１】
Ｉ／Ｏバス２１２に接続された周辺コンポーネント相互接続（ＰＣＩ）バス・ブリッジ２１４は、ＰＣＩローカル・バス２１６へのインターフェースを提供する。いくつかのモデムをＰＣＩバス２１６に接続することができる。典型的なＰＣＩバス実装は、４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートすることになる。図１のネットワーク・コンピュータ１０８〜１１２への通信リンクは、アドイン・ボードを介してＰＣＩローカル・バス２１６に接続されたモデム２１８およびネットワーク・アダプタ２２０を介して提供することができる。
【００３２】
ネットワーク・アダプタ２２０は、たとえばＲ４５コネクタを介してイーサネット・ネットワークなどのネットワークの外にアナログ信号を出すように条件付ける、物理層２８２を含む。ネットワーク・アダプタ２２０内には、メディア・アクセス・コントローラ（ＭＡＣ）２８０が含まれる。メディア・アクセス・コントローラ（ＭＡＣ）２８０がバス２１６に結合され、デジタル・ネットワーク信号を処理する。ＭＡＣ  ２８０はバス２１６と物理層２８２との間のインターフェースとして働く。ＭＡＣ  ２８０は、データ・パケットの送信および受信に関するいくつかの機能を実行する。たとえばデータの送信時、ＭＡＣ  ２８０は送信されることになるデータをアドレスおよびエラー検出フィールドを備えたパケットにアセンブルする。これとは逆に、パケットの受信時にＭＡＣ  ２８０はパケットを逆アセンブルし、アドレス・チェックおよびエラー検出を実行する。加えて、ＭＡＣ  ２８０は通常、送信されたデジタル信号のエンコード／デコードを実行し、プリアンブル生成／除去ならびにビット送信／受信を実行する。
【００３３】
追加のＰＣＩバス・ブリッジ２２２および２２４は、追加のＰＣＩバス２２６および２２８用のインターフェースを提供し、ここから追加のモデムまたはネットワーク・アダプタをサポートすることができる。このように、データ処理システム２００は複数のネットワーク・コンピュータへの接続が可能である。図示されたように、メモリ・マッピング済みグラフィック・アダプタ２３０およびハード・ディスク２３２も、直接または間接的のいずれかでＩ／Ｏバス２１２に接続することが可能である。
【００３４】
通常の当業者であれば、図２に示されたハードウェアが変更可能であることを理解されよう。たとえば記載されたハードウェアに加えて、またはこれらの代わりに、光ディスク・ドライブおよびその他などの他の周辺デバイスを使用することもできる。記載された例は、本発明に関して構造上の制限を示唆することを意味するものではない。
【００３５】
本発明は、図１または２によって示されたコンピュータのうちの１つによって実行することができる。
【００３６】
図３は、本発明に従った、層３０１を含むセラミック・パッケージ・デザイン３００の上面図であり、層３０１はトレース３０２、３０８、および３１０、ならびにビア３４０を含む。トレース３０２は垂直レグ（ｌｅｇ）３０４および水平レグ３０６を含む。埋め込まれたビア３４２（図６を参照）も設計３００に含まれる。本発明を使用して、層３０１内の可能な追加のビアあるいはトレースまたはその両方の場所を位置付けることができる。
【００３７】
図４は、本発明に従って、パッケージ・デザインが複数の３次元グリッド・ブロックまたはセル３０５および３０７などのセルに分割された後の、図３の層３０１を示す上面図である。層３０１は７７個のセルに分割されている。各セルの場所は、場所ｉ、ｊ、およびｋで識別される。これは最上位層であるため、７７個のセルそれぞれのｋの値は１に等しい。たとえば、セル３０５はセルの場所ｉ＝１１、ｊ＝１、およびｋ＝１であるものとして識別される。セル３０７はセルの場所ｉ＝５、ｊ＝６、およびｋ＝１であるものとして識別される。
【００３８】
セルの形状は均一である。情報は各セルの場所に格納される。たとえば、ビアまたはトレースがセル内にある場合、その情報はそのセル内に格納される。情報には、事前に存在するビアまたはトレースがどの電力網の一部であるかの識別が含まれる。セルを通過するトレースがそのセル内で開始するか終了するかを示す情報が、その情報に含まれる。セルが既存のビアを含む場合、セル内のビアがビアの開始場所であるか終了場所であるかを示すために、情報はそのセル内に格納される。加えて、ｉ、ｊ、ｋ座標で示される各セルの物理的な場所もセル内に格納される。
【００３９】
たとえば、トレース３０２の水平レグ３０６は、セルの場所ｉ＝２およびｊ＝２で開始されるため、情報［Ｈ（ｂ）］がこのセルの場所に格納され、セル内のトレースが水平トレースの始まりであることを示す。セルｉ＝３、ｊ＝２からｉ＝８、ｊ＝２がトレース３０２の水平レグを含んでいるという情報が、これらのセルに格納される。セルの場所ｉ＝９、ｊ＝２には、このセルの場所がトレース３０２の水平レグの終わりおよびトレース３０２の垂直レグの始まりを含んでいることを示す情報が含まれる。セルの場所ｉ＝９、ｊ＝３、およびｉ＝９、ｊ＝４には、これらのセルの場所がトレース３０２の垂直レグを含んでいることを示す情報が含まれる。セルの場所ｉ＝９、ｊ＝５がトレース３０２の垂直レグの終わりを含んでいることを示す情報が、このセルに格納される。加えて、これらセルの場所ｉ＝２、ｊ＝２からｉ＝９、ｊ＝２、およびｉ＝９、ｊ＝２からｉ＝９、ｊ＝５のそれぞれに、トレース３０２がどの電力網の一部であるかを示す情報が格納される。たとえば、トレース３０２が接地トレースの場合、その情報はこれらのセルの場所ｉ＝２、ｊ＝２からｉ＝９、ｊ＝２、およびｉ＝９、ｊ＝２からｉ＝９、ｊ＝５のそれぞれに格納される。別の方法として、トレース３０２が特定の供給電圧網である場合、その情報はこれらのセルの場所に格納される。
【００４０】
セルの場所ｉ２、ｊ５には、この場所が水平トレース３０８の始まりを含んでいることを示す情報、ならびに、どの電力網トレース３０８が接続されているかを示す情報、および前述のような他の情報が含まれる。セルの場所ｉ３、ｊ５には、この場所が水平トレース３０８の一部を含んでいることを示す情報、ならびに前述の他の情報が含まれる。セルの場所ｉ４、ｊ５には、この場所が水平トレース３０８の終わりを含んでいることを示す情報、ならびに前述のような他の情報が含まれる。
【００４１】
セルの場所ｉ９、ｊ７には、この場所が水平トレース３１０の始まりを含んでいることを示す情報、ならびに、どの電力網トレース３１０が接続されているかを示す情報、および前述のような他の情報が含まれる。セルの場所ｉ１０、ｊ７には、この場所が水平トレース３１０の一部を含んでいることを示す情報、ならびに前述の他の情報が含まれる。セルの場所ｉ１１、ｊ７には、この場所が水平トレース３１０の終わりを含んでいることを示す情報、ならびに前述のような他の情報が含まれる。
【００４２】
セルの場所ｉ３、ｊ１には、この場所がビア３４０の始まりを含んでいることを示す情報が含まれる。
【００４３】
図５は、本発明に従って、複数のグリッド・ブロックに分割され、トレースの延長を含む図３のパッケージ・デザイン３００を示すブロック上面図である。
【００４４】
トレース３０２および３０８は、本発明に従って延長されている。３つのトレースすべてが同じ電力網の一部であることが決定されている。たとえば、３つのトレースすべてを特定の供給電圧網の一部とすることができる。セルの場所ｉ＝１、ｊ＝１からｉ＝１１、ｊ＝９の中から、グリッド全体における各セルの場所が分析される。このプロセスは、図９および１０を参照しながらより詳しく説明する。
【００４５】
トレース３２２は、セルの場所ｉ＝２、ｊ＝２からセルの場所ｉ＝２、ｊ＝５まで追加されている。トレース３２４は、セルの場所ｉ＝３、ｊ＝２からセルの場所ｉ＝３、ｊ＝５まで追加されている。トレース３２６は、セルの場所ｉ＝４、ｊ＝２からセルの場所ｉ＝４、ｊ＝５まで追加されている。さらにトレース３２８は、セルの場所ｉ＝９、ｊ＝５からセルの場所ｉ＝９、ｊ＝７まで追加されている。
【００４６】
図６は、本発明に従って、パッケージ・デザイン３００が複数の３次元グリッド・ブロックに分割された後の、図３のセラミック・パッケージを示す側面図である。パッケージ・デザイン３００には、層３０１、３４４、３４６、３４８、および３５０などの複数の層が含まれる。層３０１は最上位の層である。層３５０は最下位の層である。層３４４〜３４８は中間層である。
【００４７】
セルの場所ｉ３、ｊ１、ｋ１には、この場所がビア３４０の始まりを含んでいることを示す情報が含まれる。指標ｋ１は、この場所が層３０１内にあることを示す。セルの場所ｉ３、ｊ１、ｋ２には、この場所がビア３４０の一部を含んでいることを示す情報が含まれる。指標ｋ２は、この場所が層３４４内にあることを示す。セルの場所ｉ３、ｊ１、ｋ３には、この場所がビア３４０の終わりを含んでいることを示す情報が含まれる。指標ｋ３は、この場所が層３４６内にあることを示す。
【００４８】
セルの場所ｉ５、ｊ１、ｋ４には、この場所がビア３４２の始まりを含んでいることを示す情報が含まれる。指標ｋ４は、この場所が層３４８内にあることを示す。セルの場所ｉ５、ｊ１、ｋ５には、この場所がビア３４２の一部を含んでいることを示す情報が含まれる。指標ｋ５は、この場所が層３５０内にあることを示す。
【００４９】
新しいビアの場所を、本発明に従って見つけることができる。たとえば制約が満たされた場合、新しいビアの場所をｉ２、ｊ１、ｋ１からｉ２、ｊ１、ｋ５に見つけることができる。しかしながら、新しいビアの場所ｉ５、ｊ１、ｋ１からｉ５、ｊ１、ｋ３は、既存のビア３４２がこの潜在的な新しいビアの長さを制限するため、おそらく追加することはできない。
【００５０】
図７は、本発明に従って、可能な追加のビアあるいはトレースまたはその両方の場所を位置付けることによって、セラミック・パッケージ・デザインにおいて電力分配システム（ＰＤＳ）を自動的に機能強化することを記載した、高水準の流れ図である。プロセスはブロック４００によって記載されたように開始され、その後、パッケージ・ファイルの場所を示すこと、供給電圧網および接地網などの電力分配システムに関連するパッケージ・デザインにおける網を示すこと、セルのグリッド・サイズを示すこと、ならびにパラメータのデフォルト／初期値を定義することを含む、パラメータの設定を示すブロック４０２へと進む。
【００５１】
その後プロセスは、各グラフィカル要素における読み取りを含む、パッケージ・ジオメトリ設計における読み取りを示すブロック４０４へと進む。グラフィカル要素は、垂直トレース・セグメント、水平トレース・セグメント、およびビアを含む。パッケージ・デザインは従来技術に従った任意の方法を使用して生成される。パッケージ・デザインには、レイアウトおよびデータ信号のルーティングがすでに含まれる。
【００５２】
次に本発明に従って、ブロック４０６は、パッケージ・ジオメトリ設計を形状が均一の複数のグリッド・セルを含む３次元行列に分割することを示す。次にブロック４０８は、行列の各セルに値を格納することを示す。これらの値は、行列内のセルの場所、水平トレースが存在するかどうか、垂直トレースが存在するかどうか、このセルがトレースの始まりまたは終わりであるかどうか、セルがすでにビアを含んでいるかどうか、既存のビアがビアの始まりまたは終わりであるかどうか、および、トレースまたはビアが存在する場合にそのトレースまたはビアがその一部である電力網の名前を識別する。各セルは指標ｉ、ｊ、およびｋによって識別され、これは指標ｘ、ｙ、およびｚの物理座標の固有のセットに対応する。指標ｉは層内でのセルの相対的な水平の場所を示す。指標ｊは層内でのセルの相対的な垂直の場所を示す。指標ｋはパッケージ内の特定の層を示す。
【００５３】
その後、ブロック４１０はグラフィカル・ユーザ・インターフェース（ＧＵＩ）の生成を示す。
【００５４】
次に、ブロック４１２は制約の入力を示す。制約は、電力分配システムの設計パラメータならびに修正パラメータを指定する。たとえば制約は、トレースあるいはビアまたはその両方などの要素がいくつ追加されることになるかを指定する。制約は、各ビアについて最大あるいは最小またはその両方の長さを指定する。制約は、特定タイプのビアにとって好ましい場所、特定の信号トレースを電力網によって遮蔽しなければならないか否か、および他のタイプの設計パラメータを指定することができる。たとえば制約リストの一部は、パッケージの電圧低下が所定の値よりも大きい場所を位置付けることによってビアを必要とされる領域に制限すること、最上層と最下層とを結合するビアを追加し、その後中間層を結合するビアをまとめて追加する（すなわち、可能な最も長いビアで始まるビアを追加する）こと、パッケージにメッシュ・トレースを追加し、既存の電力分配システムを完了すること、ならびに、電力分配システムからのパッケージのＩ／Ｏピンへのビア接続をできる限り多くすること、とすることができる。
【００５５】
次にプロセスは、電流密度が最大の場所にビア／トレースを追加することが可能な領域に対する制限を制約に追加する、ブロック４１４に進む。これらの領域は、回路シミュレーション・ツールを使用して決定することができる。これらの領域は、このパッケージが接続されることになるチップ内のアクティブ・コンポーネントの概要を考慮の対象とすることによって、推定することができる。
【００５６】
その後のブロック４１６は、パッケージの最上位層からパッケージの最下位層までの潜在的なビアの場所を見つけることを示す。このステップによって、最上位層を最下位層に接続するために必要な数だけのビアが追加されることになる。次にブロック４１８は、中間層を接続する潜在的な場所を見つけることを示す。最長のビアの場所が最初に追加される。その後のブロック４２０は、すべての層内でトレースを構築することを示す。その後のブロック４２２は、複数のビアを使用してパッケージの下部ピンを電力構造に接続することが可能な、潜在的なビアの場所を見つけることを示す。
【００５７】
図８は可能なビアの場所を生成するプロセスを示す。図９および１０は、既存のトレースが延長可能な潜在的なトレースの場所を見つけるプロセスを示す。
【００５８】
その後のブロック４２４は、リストに含められた場所でビアあるいはトレースまたはその両方を追加することによって電力分配システムを修正することを示す。次にブロック４２６は、修正された電力分配システムを保存することを示す。その後プロセスは、ブロック４２８で示されたように終了する。
【００５９】
図８は、本発明に従って、セラミック・パッケージ・デザインにおいて可能なビアの場所のリストを自動的に生成することを示す、高水準の流れ図である。このプロセスは、特定の電力網、開始層、終了層、ならびに場所ｉおよびｊのセットに対して実行される。この情報が与えられると、図８に記載されたプロセスは、新しいビアが両方の層で特定の電力網への電気的接続を作成するように、ビアが追加可能なすべてのジオメトリ・オープニング（幾何学的開口）を見つけることになる。
【００６０】
プロセスはブロック５００が示すように開始され、その後、追加されることになるビアに関する電力網のタイプを決定するブロック５０２へと進む。次にブロック５０４は、制約を使用して必要なビアの長さを決定することを示す。その後ブロック５０６は、第１の層内で第１のセルｉ、ｊ、ｋに進むことを示す。その後プロセスは、ｋを第１の層内のｋの値に等しく設定することを示すブロック５０８へ進む。ブロック５１０は、このセルｉ、ｊ、ｋに格納された情報を読み取ることを示す。
【００６１】
その後ブロック５１２は、このセル内にすでにビアが存在するか否かの判別を示す。この判別は、セル内に格納された情報を使用して実行される。セル内にすでにビアが存在すると判別された場合、プロセスはこのセル内にビアを追加できないことを示すブロック５１４に進む。ビアをこのセル内に追加することはできない。その後プロセスは、これがこの層内の最後のセルの場所ｉ、ｊであるか否かの判別を示すブロック５１６に進む。これが最後のセルの場所ｉ、ｊであると判別された場合、プロセスは、可能なビアのリストを提供することを示すブロック５１８に進む。その後プロセスは、ブロック５２０が示すように終了する。
【００６２】
再度ブロック５１６を参照し、これがこの層内の最後のセルの場所ｉ、ｊでないと判別された場合、プロセスはこの層内の次のセルの場所ｉ、ｊに進むことを示すブロック５２２に進む。その後プロセスはブロック５０８へ戻る。
【００６３】
再度ブロック５１２を参照し、このセル内にすでにビアが存在しないと判別された場合、プロセスは、このセル内の異なる網のトレースがすでに存在するか否かの判別を示すブロック５２４に進む。このセル内の異なる網のトレースがすでに存在すると判別された場合、プロセスはブロック５１４に進む。
【００６４】
再度ブロック５２４を参照し、このセル内の異なる網のトレースがすでに存在しないと判別された場合、プロセスはブロック５２６に進む。次にブロック５２６は、この潜在的な新しいビアが、制約によって指定されたビアに必要な長さと同じであるか否かの判別を示す。ビアに必要な長さに達していないと判別された場合、プロセスは、これが最後のｋであるか否かの判別を示すブロック５２８に進む。この判別は実際には、これがパッケージ内の最後の層であるか否かの判別である。これが最後のｋであると判別された場合、プロセスはブロック５１６に進む。再度ブロック５２８を参照し、これが最後のｋでないと判別された場合、プロセスは現在の値ｋを現在の値ｋ＋１に等しく設定することを示すブロック５３０に進む。これは、ｋの値をパッケージ内の次の層に等しくする効果を有する。その後プロセスは、セルの場所ｉ、ｊ、ｋに進むことを示すブロック５３２に進む。その後プロセスはブロック５１０に進む。
【００６５】
再度ブロック５２６を参照し、ビアに必要な長さに達していると判別された場合、プロセスは、この潜在的な新しいビアがブロック５０２で決定された同じ電力網構造にすでに接続されているかどうかの判別を示すブロック５３４に進む。この潜在的な新しいビアがすでに電力網構造に接続されていると判別された場合、プロセスは、この潜在的な新しいビアを潜在的な新しいビアの場所のリストに追加することを示すブロック５３６に進む。その後プロセスはブロック５２８に進む。
【００６６】
再度ブロック５３４を参照し、この潜在的な新しいビアがすでに電力網構造に接続されていないと判別された場合、プロセスは、網構造への接続のために隣接するセルをチェックすることを示すブロック５３８に進む。次にブロック５４０は、隣接するセルがブロック５０２で決定された電力網への接続をすでに有するか否かの判別を示す。隣接するセルが同じ電力網への接続をすでに有すると判別された場合、プロセスはブロック５３６に進む。再度ブロック５４０を参照し、隣接するセルが同じ電力網への接続をすでに有していないと判別された場合、プロセスはブロック５１４に進む。
【００６７】
図９は、本発明に従って、セラミック・パッケージ・デザインにおいて既存のトレースを層内で水平に延長可能であるかどうかを自動的に判別することを示す、高水準の流れ図である。このプロセスは、特定の層内の特定の電力網のために実行される。図９のプロセスは、新しいかまたは延長されたトレースが層内の場所ｉ、ｊと何らかの他の場所ｉ、ｊとの間の電気的接触を作成するように、トレースが追加できるかどうか、または既存のトレースが延長可能であるかどうかを判別する。
【００６８】
プロセスはブロック６００が示すように開始され、その後、セルの場所ｉ（０）、ｊ（０）、ｋ（０）に進むことを示すブロック６０２に進む。隣接する水平なセルの場所は、ｉ（ｈ）が現在の値ｉプラス１に等しくなるように定義される。次にブロック６０４は、この場所ｉ、ｊ、ｋにすでにトレースが存在するか否かの判別を示す。場所ｉ、ｊ、ｋにすでにトレースが存在しないと判別された場合、プロセスは、トレースがこのセルの場所ｉ、ｊ、ｋから水平に延長できないと判別するブロック６０６に進む。
【００６９】
その後プロセスは、これが層内の最後のセルの場所ｉであるか否かの判別を示すブロック６０８に進む。これが最後のセルの場所ｉでないと判別された場合、プロセスはｉをｉプラス１に等しく設定することを示すブロック６１０に進む。その後ブロック６１２は、セルの場所ｉ、ｊ、ｋに進むことを示す。その後プロセスはブロック６０４に戻る。
【００７０】
再度ブロック６０８を参照し、これが最後のセルの場所ｉであると判別された場合、プロセスはこれが最後の場所ｊであるか否かの判別を示すブロック６１４に進む。これが最後の場所ｊであると判別された場合、プロセスは可能なトレースのリストを戻すことを示すブロック６１６に進む。その後プロセスはブロック６１８が示すように終了する。
【００７１】
再度ブロック６１４を参照し、これが最後のセルの場所ｊでないと判別された場合、プロセスは、ｉをｉ（０）に等しく設定すること、およびｊをｊプラス１に等しく設定することを示すブロック６２０に進む。その後プロセスはブロック６１２に進む。
【００７２】
再度ブロック６０４を参照し、セルの場所ｉ、ｊ、ｋにトレースまたはビアが存在すると判別された場合、プロセスは、セルの場所ｉ、ｊ、ｋで終わる水平トレースが存在するか否かの判別を示すブロック６２２に進む。セルの場所ｉ、ｊ、ｋで終わる水平トレースが存在すると判別された場合、プロセスはブロック６２４に進む。再度ブロック６２２を参照し、セルの場所ｉ、ｊ、ｋで終わる水平トレースが存在しないと判別された場合、プロセスは、セルの場所ｉ、ｊ、ｋに垂直トレースが存在するか否かの判別を示すブロック６２３に進む。セルの場所ｉ、ｊ、ｋに垂直トレースが存在しないと判別された場合、プロセスはブロック６０６に進む。再度ブロック６２３を参照し、セルの場所ｉ、ｊ、ｋに垂直トレースが存在すると判別された場合、プロセスはブロック６２４に進む。
【００７３】
ブロック６２４は、このセルの場所に格納された情報を読み取ることによって、セルの場所ｉ（ｈ）、ｊ、ｋをチェックすることを示す。次にブロック６２６は、セルの場所ｉ（ｈ）、ｊ、ｋにトレースまたはビアが存在するか否かの判別を示す。セルの場所ｉ（ｈ）、ｊ、ｋにトレースまたはビアが存在しないと判別された場合、プロセスは、これがこの層内の最後のセルｉであるか否かの判別を示すブロック６２８に進む。これが最後のセルｉであると判別された場合、プロセスはブロック６０６に進む。再度ブロック６２８を参照し、これが最後のセルｉでないと判別された場合、プロセスは、ｉ（ｈ）をｉ（ｈ）プラス１と等しくすることを示すブロック６３０に進む。その後プロセスはブロック６２４に戻る。
【００７４】
再度ブロック６２６を参照し、セルの場所ｉ（ｈ）、ｊ、ｋにトレースまたはビアがすでに存在すると判別された場合、プロセスは、セルの場所ｉ（ｈ）、ｊ、ｋの既存のトレースまたはビアが、セルの場所ｉ、ｊ、ｋのトレースと同じ電力網であるか否かの判別を示すブロック６３２に進む。セルの場所ｉ（ｈ）、ｊ、ｋの既存のトレースまたはビアが、セルの場所ｉ、ｊ、ｋのトレースと同じ網でないと判別された場合、プロセスはブロック６０６に進む。再度ブロック６３２を参照し、セルの場所ｉ（ｈ）、ｊ、ｋの既存のトレースまたはビアが、セルの場所ｉ、ｊ、ｋのトレースと同じ網であると判別された場合、プロセスは、セルの場所ｉ、ｊ、ｋからセルの場所ｉ（ｈ）、ｊ、ｋへのトレースの延長を、可能な水平トレース延長としてリストに追加することを示すブロック６３４に進む。その後プロセスはブロック６０８に戻る。
【００７５】
図１０は、本発明に従って、セラミック・パッケージ・デザインにおいて既存のトレースを層内で水平に延長可能であるかどうかを自動的に判別することを示す、高水準の流れ図である。プロセスはブロック７００が示すように開始され、その後、セルの場所ｉ（０）、ｊ（０）、ｋ（０）に進むことを示すブロック７０２に進む。隣接する垂直なセルの場所は、ｊ（ｖ）が現在の値ｊプラス１に等しくなるように定義される。次にブロック７０４は、この場所ｉ、ｊ、ｋにすでにトレースが存在するか否かの判別を示す。場所ｉ、ｊ、ｋにすでにトレースが存在しないと判別された場合、プロセスは、トレースがこのセルの場所ｉ、ｊ、ｋから垂直に延長できないと判別するブロック７０６に進む。
【００７６】
その後プロセスは、これが最後のセルの場所ｊであるか否かの判別を示すブロック７０８に進む。これが最後のセルの場所ｊでないと判別された場合、プロセスはｊをｊプラス１に等しく設定することを示すブロック７１０に進む。その後ブロック７１２は、セルの場所ｉ、ｊ、ｋに進むことを示す。その後プロセスはブロック７０４に戻る。
【００７７】
再度ブロック７０８を参照し、これが最後のセルの場所ｊであると判別された場合、プロセスはこれがこの層内の最後の場所ｉであるか否かの判別を示すブロック７１４に進む。これが最後の場所ｉであると判別された場合、プロセスは可能なトレースのリストを戻すことを示すブロック７１６に進む。その後プロセスはブロック７１８が示すように終了する。
【００７８】
再度ブロック７１４を参照し、これが最後のセルの場所ｉでないと判別された場合、プロセスは、ｊをｊ（０）に等しく設定すること、およびｉをｉプラス１に等しく設定することを示すブロック７２０に進む。その後プロセスはブロック７１２に進む。
【００７９】
再度ブロック７０４を参照し、セルの場所ｉ、ｊ、ｋにトレースまたはビアが存在すると判別された場合、プロセスは、セルの場所ｉ、ｊ、ｋで終わる垂直トレースが存在するか否かの判別を示すブロック７２２に進む。セルの場所ｉ、ｊ、ｋで終わる垂直トレースが存在すると判別された場合、プロセスはブロック７２４に進む。再度ブロック７２２を参照し、セルの場所ｉ、ｊ、ｋで終わる垂直トレースが存在しないと判別された場合、プロセスは、セルの場所ｉ、ｊ、ｋに水平トレースが存在するか否かの判別を示すブロック７２３に進む。セルの場所ｉ、ｊ、ｋに水平トレースが存在しないと判別された場合、プロセスはブロック７０６に進む。再度ブロック７２３を参照し、セルの場所ｉ、ｊ、ｋに水平トレースが存在すると判別された場合、プロセスはブロック７２４に進む。
【００８０】
ブロック７２４は、このセルの場所に格納された情報を読み取ることによって、セルの場所ｉ、ｊ（ｖ）、ｋをチェックすることを示す。次にブロック７２６は、セルの場所ｉ、ｊ（ｖ）、ｋにトレースまたはビアが存在するか否かの判別を示す。セルの場所ｉ、ｊ（ｖ）、ｋにトレースまたはビアが存在しないと判別された場合、プロセスは、これが最後のセルｊであるか否かの判別を示すブロック７２８に進む。これが最後のセルｊであると判別された場合、プロセスはブロック７０６に進む。再度ブロック７２８を参照し、これが最後のセルｊでないと判別された場合、プロセスは、ｊ（ｖ）をｊ（ｖ）プラス１と等しくすることを示すブロック７３０に進む。その後プロセスはブロック７２４に戻る。
【００８１】
再度ブロック７２６を参照し、セルの場所ｉ、ｊ（ｖ）、ｋにトレースまたはビアがすでに存在すると判別された場合、プロセスは、セルの場所ｉ、ｊ（ｖ）、ｋの既存のトレースまたはビアが、セルの場所ｉ、ｊ、ｋのトレースと同じ電力網であるか否かの判別を示すブロック７３２に進む。セルの場所ｉ、ｊ（ｖ）、ｋの既存のトレースまたはビアが、セルの場所ｉ、ｊ、ｋのトレースと同じ網でないと判別された場合、プロセスはブロック７０６に進む。再度ブロック７３２を参照し、セルの場所ｉ、ｊ（ｖ）、ｋの既存のトレースまたはビアが、セルの場所ｉ、ｊ、ｋのトレースと同じ網であると判別された場合、プロセスは、セルの場所ｉ、ｊ、ｋからセルの場所ｉ、ｊ（ｖ）、ｋへのトレースの延長を、可能な垂直トレース延長としてリストに追加することを示すブロック７３４に進む。その後プロセスはブロック７０８に戻る。
【００８２】
以上、本発明について完全に機能しているデータ処理システムとの関連において説明してきたが、通常の当業者であれば、本発明のプロセスが命令のコンピュータ読み取り可能媒体の形および様々な形で配布可能であること、ならびに、本発明が実際に配布を実施する際に使用される特定タイプの信号伝達媒体にかかわらず等しく適用されることを理解するであろう、ということに留意されたい。コンピュータ読み取り可能媒体の例には、フレキシブル・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの書き込み可能タイプの媒体、ならびに、たとえば無線周波および光波伝送などの伝送形態を使用するデジタルおよびアナログ通信リンク、有線または無線通信リンクが含まれる。コンピュータ読み取り可能媒体は、特定のデータ処理システムで実際に使用される場合に復号（デコード）される符号化（コード化された）フォーマット形式を取ることができる。
【００８３】
本発明の記述は例示および説明の目的で提示してきたものであり、開示された形の発明を網羅するかまたはこれに限定されることを意図するものではない。通常の当業者であれば、多くの修正および変形が明らかとなろう。本実施形態は、本発明の原理、実際の応用例を最もよく説明するために、ならびに他の通常の当業者が様々な修正を伴う様々な実施形態に対して企図された特定の使用に好適であるとして本発明を理解できるようにするために、選択および説明されたものである。
【図面の簡単な説明】
【００８４】
【図１】本発明に従ったデータ処理システムのネットワークを示す図である。
【図２】本発明に従った、図１のコンピュータ・システムのいずれかを実施するために使用することが可能なコンピュータ・システムを示す詳細な図である。
【図３】本発明に従った、トレースおよびビアを含む層を含むセラミック・パッケージを示す上面図である。
【図４】本発明に従って、パッケージ・デザインが複数の３次元グリッド・ブロックに分割された後の図３の層を示す上面図である。
【図５】本発明に従って、パッケージ・デザインが複数の３次元グリッド・ブロックに分割された後の、およびトレースが層内で延長された後の、図３の層を示す上面図である。
【図６】本発明に従って、パッケージ・デザインが複数の３次元グリッド・ブロックに分割された後の、図３のセラミック・パッケージを示す側面図である。
【図７】本発明に従って、可能な追加のビアあるいはトレースまたはその両方の場所を位置付けることによって、セラミック・パッケージ・デザインにおいて電力分配システム（ＰＤＳ）を自動的に機能強化することを記載した、高水準の流れ図である。
【図８】本発明に従って、セラミック・パッケージ・デザインにおいて可能なビアの場所のリストを自動的に生成することを示す、高水準の流れ図である。
【図９】本発明に従って、セラミック・パッケージ・デザインにおいて既存のトレースを層内で水平に延長可能であるかどうかを自動的に判別することを示す、高水準の流れ図である。
【図１０】本発明に従って、セラミック・パッケージ・デザインにおいて既存のトレースを層内で垂直に延長可能であるかどうかを自動的に判別することを示す、高水準の流れ図である。
【符号の説明】
【００８５】
３００    セラミック・パッケージ・デザイン
３０１    層
３０２    トレース
３０４    垂直レグ
３０６    水平レグ
３０８    トレース
３１０    トレース
３４０    ビア
３４４    層
３４６    層
３４８    層
３５０    層
【図１】
2006164267.tif 000003
【図２】
2006164267.tif 000004
【図３】
2006164267.tif 000005
【図４】
2006164267.tif 000006
【図５】
2006164267.tif 000007
【図６】
2006164267.tif 000008
【図７】
2006164267.tif 000009
【図８】
2006164267.tif 000010
【図９】
2006164267.tif 000011
【図１０】
2006164267.tif 000012