(57)【特許請求の範囲】
【請求項１】
集積回路（ＩＣ）を設定する方法であって、
設定データを第１のＩＣのマスターダイにおいて受信するステップを含み、
前記第１のＩＣは、前記マスターダイとスレーブダイとを含み、
前記方法は、
前記設定データのマスターセグメントおよびスレーブセグメントを決定するステップと、
前記設定データの前記スレーブセグメントを、前記第１のＩＣの前記スレーブダイへ分配するステップと、
前記設定データにおいて集積回路境界が検出されたか否かに従って、前記設定データが第２のＩＣ用の設定データのセグメントを含んでいるかを、前記マスターダイにおいて決定するステップと、
前記第１のＩＣにおける前記マスターダイを介して、前記第２のＩＣ用の設定データのセグメントを前記第２のＩＣへ送信するステップとをさらに含み、
前記第２のＩＣは、マスターダイとスレーブダイとを含む、方法。
【請求項２】
前記設定データの前記マスターセグメントを、前記マスターダイの設定メモリに読み込むステップと、
前記設定データの前記スレーブセグメントを、前記スレーブダイの設定メモリに読み込むステップとをさらに含む、請求項１に記載の方法。
【請求項３】
前記第２のＩＣ用の設定データの前記セグメントを、前記マスターダイから前記スレーブダイへ送信するステップをさらに含み、
前記第２のＩＣ用の設定データの前記セグメントを前記マスターダイの前記設定データ出力へ送信することに先立って、前記スレーブダイは、前記第２のＩＣ用の設定データの前記セグメントを、前記マスターダイへ返信する、請求項１に記載の方法。
【請求項４】
前記第２のＩＣ用の設定データの前記セグメントを前記第１のＩＣの他のダイへ初めに送信することなく、前記第２のＩＣ用の設定データの前記セグメントを、前記第１のＩＣの前記マスターダイから前記マスターダイの前記設定データ出力へ直接送信するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記スレーブセグメントを分配するステップは、
設定データのセグメントが利用可能であるという通知を、前記マスターダイから前記スレーブダイへ送信するステップと、
前記スレーブセグメントを、前記第１のＩＣ内の設定バスを通して前記スレーブダイへ送信するステップとをさらに含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記マスターダイおよび前記スレーブダイのいずれか一方における選択された動作状態を検出することに応答して、前記マスターダイおよび前記スレーブダイの他方において同じ動作状態を開始するステップをさらに含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記第１のＩＣの前記マスターダイを、グローバル信号へ結合するステップと、
前記第１のＩＣの前記スレーブダイを、前記グローバル信号へ結合するステップとをさらに含み、
前記第１のＩＣの前記マスターダイおよび前記第１のＩＣの前記スレーブダイは、前記グローバル信号に応答して、同じ動作状態を同時に実行する、請求項１〜５のいずれか１項に記載の方法。
【請求項８】
集積回路（ＩＣ）であって、
設定バスを含むインターポーザと、
前記インターポーザの表面上の第１のダイと、
前記インターポーザの表面上の第２のダイとを備え、
前記第１のダイおよび前記第２のダイは、前記設定バスによって結合され、
前記第１のダイは、マスターダイであり、かつ、設定データを受信することに応答して、前記設定データの第１のセグメントおよび第２のセグメントを決定するとともに、前記設定データの前記第２のセグメントを、前記設定バスを通して前記第２のダイへ分配するように構成され、
前記第２のダイは、スレーブダイであり、
前記第１のダイは、前記設定データにおいて集積回路境界が検出されたか否かに従って、前記設定データが付加的なＩＣ用の設定データのセグメントを含んでいるか否かを決定するとともに、前記設定データのセグメントを前記付加的なＩＣへ送信するように構成され、
前記付加的なＩＣは、マスターダイとスレーブダイとを含む、集積回路。
【請求項９】
前記インターポーザは、設定可能でかつアクティブな回路をさらに含み、
前記アクティブな回路は、前記設定バスへ結合され、設定データを前記設定バスを通して受信することに応答して、回路設計を実行する、請求項８に記載のＩＣ。
【請求項１０】
前記第１のダイは、前記ＩＣの出力に結合された設定データ出力を含み、
前記設定データが前記付加的なＩＣ用の設定データのセグメントを含んでいることを決定することに応答して、前記第１のダイは、前記付加的なＩＣ用の設定データの前記セグメントを、前記第１のダイ設定出力ポートを通して送信するように構成される、請求項８に記載のＩＣ。
【請求項１１】
前記第２のダイと前記第１のダイとを結合する前記インターポーザにおけるループバック接続をさらに備え、
前記ループバック接続は、設定データを前記第２のダイから前記第１のダイへ返信するように構成され、
前記第１のダイは、前記付加的なＩＣ用の設定データの前記セグメントを、前記第１のダイから前記第２のダイへ送信するように構成され、
前記第２のダイは、前記付加的なＩＣ用の設定データの前記セグメントを、前記第１のダイ設定出力ポートを通して送信することに先立って、前記付加的なＩＣ用の設定データの前記セグメントを、前記ループバック接続を通して前記第１のダイへ返信するように構成される、請求項１０に記載のＩＣ。
【請求項１２】
前記第１のダイは、前記付加的なＩＣ用の設定データの前記セグメントを前記ＩＣの任意の他のダイへ初めに送信することなく、前記付加的なＩＣ用の設定データの前記セグメントを、前記第１のダイ設定ポートを通して送信するように構成される、請求項１０に記載のＩＣ。
【請求項１３】
前記インターポーザは、グローバル信号を搬送し、
前記第１のダイが前記グローバル信号に結合されるとともに、前記第２のダイも前記グローバル信号に結合され、
前記第１のダイおよび前記第２のダイは、前記グローバル信号に応答して、同じ動作状態を同時に実行する、請求項８〜１２のいずれか１項に記載のＩＣ。
【請求項１４】
前記第２のＩＣ用の設定データのセグメントは、前記第１のＩＣの外部ピンへ結合される前記第１のＩＣのマスターダイの設定ポートを介して送信される、請求項１〜７のいずれか１項に記載の方法。
【請求項１５】
前記第１のダイは、前記ＩＣの外部ピンへ結合される設定ポートを含み、
前記ＩＣの第１のダイの設定ポートは、前記付加的なＩＣ用の設定データのセグメントを、前記付加的なＩＣへ送信するように構成される、請求項８〜１３のいずれか１項に記載のＩＣ。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本明細書において開示される１つ以上の実施の形態は、集積回路（integrated circuit：ＩＣ）に関する。より特定的には、１つ以上の実施の形態は、マルチダイ（multiple die）を含むＩＣの設定に関する。
【背景技術】
【０００２】
背景
プログラマブル集積回路（ＩＣ）は、特定のロジック機能を実行するようにプログラムされ得る、よく知られたタイプのＩＣである。１つのタイプのプログラマブルＩＣであるフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）は、プログラマブルタイル（programmable tile）のアレイを一般的に含む。これらのプログラマブルタイルは、たとえば、入出力ブロック（input/output block：ＩＯＢ）、設定可能なロジックブロック（configurable logic block：ＣＬＢ）、専用のランダムアクセスメモリブロック（ＢＲＡＭ）、乗算器、デジタルシグナルプロセッシングブロック（ＤＳＰ）、プロセッサ、クロックマネージャ、遅延ロックループ（delay lock loop：ＤＬＬ）などを含み得る。
【０００３】
各プログラマブルタイルは、プログラマブル相互接続回路およびプログラマブルロジック回路の双方を典型的に含む。プログラマブル相互接続回路は、プログラマブル相互接続ポイント（programmable interconnect point：ＰＩＰ）によって相互接続される、多数の可変長の相互接続線を含む。たとえばファンクションジェネレータ、レジスタ、算術論理などを含み得るプログラマブル要素を用いたユーザ設計のロジックを、プログラマブルロジック回路は一般的に実行する。
【０００４】
プログラマブル相互接続回路およびプログラマブルロジック回路は、典型的に設定データの流れを、プログラマブル要素がどのように設定されるかを定義する内部設定メモリセルへ読み込むことによってプログラムされる。設定データは、メモリから（たとえば、外部ＰＲＯＭから）読み込み可能である、または、外部デバイスによってＦＰＧＡへ書き込み可能である。そして、個別のメモリセルの集合状態は、ＦＰＧＡの機能を決定する。
【０００５】
他のタイプのプログラマブルＩＣは、複合プログラマブルロジックデバイス、またはＣＰＬＤである。ＣＰＬＤは、相互接続スイッチマトリックスによって互いにおよび入出力（Ｉ／Ｏ）リソースへ接続される、２つ以上の「機能ブロック」を含む。ＣＰＬＤの各機能ブロックは、プログラマブルロジックアレイ（ＰＬＡ）およびプログラマブルアレイロジック（ＰＡＬ）デバイスにおいて用いられる構造と同様である、２レベルＡＮＤ／ＯＲ構造を含む。ＣＰＬＤにおいては、設定データは、典型的に不揮発性メモリのオンチップに記憶される。いくつかのＣＰＬＤにおいては、設定データは、不揮発性メモリのオンチップに記憶され、その後、初期設定（プログラミング）シーケンスの一部として揮発性メモリへダウンロードされる。
【０００６】
これらのプログラマブルＩＣのすべてについて、デバイスの機能は、その目的のためのデバイスに提供されるデータビットによって制御される。データビットは、揮発性メモリ（たとえば、ＦＰＧＡおよびいくつかのＣＰＬＤにおけるスタティックメモリセル）、不揮発性メモリ（たとえば、いくつかのＣＰＬＤにおけるフラッシュメモリ）、または他の任意のタイプのメモリセルに記憶され得る。
【０００７】
他のプログラマブルＩＣは、デバイス上の様々な要素をプログラム可能に相互接続する、メタル層のようなプロセッシング層を適用することによってプログラムされる。これらのプログラマブルＩＣは、マスクプログラマブルデバイスとして知られる。プログラマブルＩＣは、他の方法、たとえばフューズ技術またはアンチフューズ技術の使用によっても実現され得る。「プログラマブルＩＣ」という語句は、限定されないが、これらのデバイスとともに、部分的にのみプログラマブルであるデバイスをさらに含み得る。たとえば、１つのタイプのプログラマブルＩＣは、ハードコーデッドトランジスタロジック、およびハードコーデッドトランジスタロジックをプログラム可能に相互接続するプログラマブルスイッチ構造の組み合わせを含む。
【発明の概要】
【課題を解決するための手段】
【０００８】
集積回路（ＩＣ）を設定する方法の１つの実施の形態は、設定データを第１のＩＣのマスターダイにおいて受信するステップを含み得る。第１のＩＣは、マスターダイとスレーブダイとを含み得る。方法は、設定データのマスターセグメントおよびスレーブセグメントを決定するステップをさらに含み得る。さらに、方法は、設定データのスレーブセグメントを、第１のＩＣのスレーブダイへ分配するステップをさらに含み得る。
【０００９】
この実施の形態においては、方法は、設定データのマスターセグメントを、マスターダイの設定メモリに読み込むステップと、設定データのスレーブセグメントを、スレーブダイの設定メモリに読み込むステップとをさらに含み得る。さらに、方法は、設定データが第２のＩＣ用の設定データのセグメントを含んでいるかを、マスターダイにおいて決定するステップと、設定データが第２のＩＣ用の設定データのセグメントを含んでいると決定することに応答して、第２のＩＣ用の設定データのセグメントを、第１のＩＣの出力に結合されたマスターダイの設定データ出力を通して送信するステップとをさらに含み得る。方法は、第２のＩＣ用の設定データのセグメントを、マスターダイからスレーブダイへ送信するステップをさらに含むことができ、第２のＩＣ用の設定データのセグメントをマスターダイの設定データ出力へ送信することに先立って、スレーブダイは、第２のＩＣ用の設定データのセグメントを、マスターダイへ返信する。
【００１０】
この実施の形態においては、方法は、第２のＩＣ用の設定データのセグメントを第１のＩＣの他の任意のダイへ初めに送信することなく、第２のＩＣ用の設定データのセグメントを、第１のＩＣのマスターダイからマスターダイの設定データ出力へ直接送信するステップをさらに含み得る。スレーブセグメントを分配するステップは、設定データのセグメントが利用可能であるという通知を、マスターダイからスレーブダイへ送信するステップと、スレーブセグメントを、第１のＩＣ内の設定バスを通してスレーブダイへ送信するステップとをさらに含み得る。方法は、マスターダイおよびスレーブダイのいずれか一方における選択された動作状態を検出することに応答して、マスターダイおよびスレーブダイの他方において同じ動作状態を開始するステップをさらに含み得る。方法は、第１のＩＣのマスターダイを、グローバル信号へ結合するステップと、第１のＩＣのスレーブダイを、グローバル信号へ結合するステップとをさらに含むことができ、第１のＩＣのマスターダイおよび第１のＩＣのスレーブダイは、グローバル信号に応答して、同じ動作状態を同時に実行する。
【００１１】
ＩＣの１つの実施の形態は、設定バスを含むインターポーザを備え得る。ＩＣは、インターポーザの表面上の第１のダイと、インターポーザの表面上の第２のダイとをさらに備え得る。第１のダイおよび第２のダイは、設定バスによって結合され得る。第１のダイは、設定データを受信することに応答して、設定データの第１のセグメントおよび第２のセグメントを決定し得るとともに、設定データの第２のセグメントを、設定バスを通して第２のダイへ分配し得る。
【００１２】
この実施の形態においては、インターポーザは、設定可能でかつアクティブな回路をさらに含むことができ、アクティブな回路は、設定バスへ結合され、設定バスを通して設定データを受信することに応答して回路設計を実行する。第１のダイは、設定データが付加的なＩＣ用の設定データのセグメントを含んでいるか否かを決定するように構成され得る。第１のダイは、ＩＣの出力に結合された設定データ出力を含むことができ、設定データが付加的なＩＣ用の設定データのセグメントを含んでいることを決定することに応答して、第１のダイは、付加的なＩＣ用の設定データのセグメントを、第１のダイ設定出力ポートを通して送信するように構成され得る。
【００１３】
この実施の形態においては、ＩＣは、第２のダイと第１のダイとを結合するインターポーザにおけるループバック接続をさらに備えることができ、ループバック接続は、設定データを第２のダイから第１のダイへ返信するように構成されることができ、第１のダイは、付加的なＩＣ用の設定データのセグメントを、第１のダイから第２のダイへ送信するように構成されることができ、第２のダイは、付加的なＩＣ用の設定データのセグメントを、第１のダイ設定出力ポートを通して送信することに先立って、付加的なＩＣ用の設定データのセグメントを、ループバック接続を通して第１のダイへ返信し得る。第２のダイは、ＩＣの出力に結合される設定出力ポートを含まなくてもよい。第１のダイは、付加的なＩＣ用の設定データのセグメントをＩＣの他の任意のダイへ初めに送信することなく、付加的なＩＣ用の設定データのセグメントを、第１のダイ設定ポートを通して送信するように構成され得る。インターポーザは、グローバル信号を搬送することができ、第１のダイは、グローバル信号に結合されることができ、第２のダイも、グローバル信号に結合されることができ、第１のダイおよび第２のダイは、グローバル信号に応答して、同じ動作状態を同時に実行し得る。
【００１４】
ＩＣの他の実施の形態は、インターポーザと、インターポーザの表面上の第１のダイと、インターポーザの表面上の第２のダイとを備え得る。第１のダイは、インターポーザを通して伝播されるグローバル信号を生成し得る。第２のダイは、グローバル信号へ結合され得る。第１のダイおよび第２のダイは、グローバル信号に応答して、同じ動作状態を同時に実行するように構成され得る。
【００１５】
この実施の形態においては、グローバル信号のアサーションに応答して、第１のダイを第２のダイへ結合するインターダイ信号は、インターダイ信号の各エンドノードにおいて所定の状態に維持され得る。グローバル信号のアサーションは、ＩＣにおける各ダイにパワーダウンを引き起こすことができ、第１のダイがグローバル信号をアサートすることおよびパワーダウンに応答して、第２のダイがパワーダウンし得る。グローバル信号のアサーションは、ＩＣにおける各ダイにシステムリセットの実行を引き起こすことができ、第１のダイがグローバル信号をアサートすることおよびシステムリセットの実行に応答して、第２のダイがシステムリセットを実行し得る。各ダイは、グローバル信号がアサートされている間、少なくとも１つの選択された信号を所定の状態に保持し得る。第１のダイは、複数のマイクロバンプを含むことができ、複数のマイクロバンプの各々は、ＩＣがパッケージされたときに論理ハイまたは論理ローを特定するように構成されることができ、複数のマイクロバンプは、ＩＣの中のダイの数を示すコードを特定し得る。
【図面の簡単な説明】
【００１６】
【図１】本明細書において開示される１つ以上の実施の形態に従うマルチダイＩＣを説明する第１のブロック図である。
【図２】本明細書において開示される１つ以上の他の実施の形態に従うマルチダイＩＣの第１の側面断面図である。
【図３】本明細書において開示される１つ以上の他の実施の形態に従うマルチダイＩＣの第２の側面断面図である。
【図４】本明細書において開示される１つ以上の他の実施の形態に従う複数のマルチダイＩＣを組み込むシステムを説明する第２のブロック図である。
【図５】本明細書において開示される１つ以上の他の実施の形態に従うマルチダイＩＣを説明する第３のブロック図である。
【図６】本明細書において開示される１つ以上の他の実施の形態に従うマルチダイＩＣを説明する第４のブロック図である。
【図７】本明細書において開示される１つ以上の他の実施の形態に従う複数のマルチダイＩＣを含むシステムにおいて設定データを読み込む方法を説明する第１のフローチャートである。
【図８】本明細書において開示される１つ以上の他の実施の形態に従って構成されるマルチダイＩＣを説明する第５のブロック図である。
【図９】本明細書において開示される１つ以上の他の実施の形態に従って構成されるマルチダイＩＣを説明する第６のブロック図である。
【図１０】本明細書において開示される１つ以上の他の実施の形態に従うマルチダイＩＣへ設定データを読み込む方法を説明する第２のフローチャートである。
【発明を実施するための形態】
【００１７】
図面の詳細な説明
新規であると見なされる１つ以上の実施の形態の特徴を定義する特許請求の範囲とともに明細書が成立するが、１つ以上の実施の形態は、図面とともに説明を考慮されることによってより理解されると考えられる。要求されるように、１つ以上の詳細な実施の形態が本明細書において開示される。しかしながら、１つ以上の実施の形態は、発明のアレンジの例示にすぎず、様々な形式において具体化され得ると理解されるべきである。したがって、本明細書において開示される特定の構造および機能の詳細は、限定的に解釈されるべきでなく、特許請求の範囲の根拠、および、仮想的な任意の適切に詳細な構造における１つ以上の実施の形態を、当業者が様々に採用することを教示するための代表的な根拠にすぎないと解釈されるべきである。さらに、ここで使用される用語および語句は、限定的であることは意図されず、ここに開示される１つ以上の実施の形態の理解しやすい説明を提供するためのものであることが意図される。
【００１８】
この実施の形態において開示される１つ以上の実施の形態は、集積回路（ＩＣ）に関し、より特定的には、マルチダイを含むＩＣの設定に関する。２つ以上のダイから形成されるＩＣは、「マルチダイＩＣ」と称され得る。本明細書において開示される１つ以上の実施の形態によると、マルチダイＩＣの個別のダイは、内部設定バスを通して決定され得る。各ダイによって実行される特定のタスクは、少なくとも部分的には、ダイがマスターダイとして設計されたかスレーブダイとして設計されたかによって決定され得る。マルチダイＩＣの様々なダイ間の協調は、マルチダイＩＣのダイ間における動作状態の統一性を確保するマルチダイＩＣを通して分配される１つ以上のグローバル信号を通して調整され得る。
【００１９】
図１は、本明細書において開示される１つ以上の実施の形態に従うマルチダイＩＣ１００を説明する第１のブロック図である。図示されるように、マルチダイＩＣ１００は、インターポーザ１１５の表面上、たとえば上面上または底面上のダイ１０５およびダイ１１０を含み得る。本明細書および特許請求の範囲において使用される「上（on）」という用語は、ダイ１０５およびダイ１１０が、インターポーザ１１５に直接的に物理的に接触するとき、または、１つ以上の回路構造を含み得る１つ以上の介在するＩＣプロセス層を通して非直接的に結合されるときを含む。１つ以上の実施の形態においては、ダイ１０５およびダイ１１０の各々は、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）のようなプログラマブルＩＣを実行し得る。
【００２０】
インターポーザ１１５は、ダイ１０５の選択されたパッドをダイ１１０の選択されたパッドへ結合することによって、ダイ１０５およびダイ１１０を通信可能に結び付け得る。一般的に、インターポーザ１１５によって容易にされる、この場合においてダイ１０５およびダイ１１０間の接続は、インターダイ接続またはインターダイ信号と称され得る。インターダイ接続またはインターダイ信号は、第１のダイにおいて始まるとともに、第１のダイおよび第２のダイ間の境界を超える信号経路、たとえばインターダイワイヤを通じたダイトゥダイ接続（図示せず）を指す。
【００２１】
１つ以上の実施の形態においては、インターポーザ１１５は、設定バス１６０を含み得る。設定バス１６０は、設定データをダイ１０５とダイ１１０との間で交換可能な双方向バスであり得る。設定バス１６０は、設定データの伝達のためだけに確保される１つ以上のインターバスワイヤから形成されることができ、そのため、ユーザ回路設計の実行における使用のために利用可能ではない。説明のために、２つのダイのみが図１に示される。しかしながら、本明細書において開示される１つ以上の実施の形態は、インターポーザ１１５上に配置されたダイの数に限定されることは意図されない。たとえば、３つ以上のダイがインターポーザ１１５の上面に配置され得る。
【００２２】
図示されるように、ダイ１０５は、設定コントローラ１２０と、設定メモリ１３０とを含み得る。ダイ１１０も、設定コントローラ１２５と、設定メモリ１３５とを含み得る。設定コントローラ１２０，１２５の各々は、ダイ１０５，１１０のための設定動作をそれぞれ実行し得る。たとえば、設定データ、たとえば設定データ１４０、の受信に応答して、設定コントローラ１２０は、設定データ１４０のセグメント１４５、すなわちダイ１０５用の設定データを設定メモリ１３０へ読み込み得る。本明細書においてより詳しく説明されるように、設定コントローラ１２５は、設定バス１６０を介して設定コントローラ１２０からセグメント１５５を受信し得る。したがって、設定コントローラ１２５は、設定データ１４０のセグメント１５５、すなわちダイ１１０用の設定データ、を設定メモリ１３５へ読み込み得る。設定データをダイの設定メモリへ読み込むことは、特定の回路設計を有するダイを効果的に構成する。これに関して、設定データをダイの設定メモリへ読み込むことは、ダイにおいて設定データによって特定された回路設計を「インスタンス化する」ことであると言える。
【００２３】
一般的に、マルチダイＩＣ１００において、ダイ１０５のような１つのダイがマスターダイとして設計され得るとともに、他のダイ、たとえばダイ１１０、がスレーブダイとして設計され得る。構成および選択された他の機能のために、マスターダイは、マルチダイＩＣ１００の外部のシステムと相互作用することが課せられ得る。したがって、マルチダイＩＣ１００の外部からは、シングルダイと相互作用しているように見える。システム設計者によって手作業で解決されるべき、たとえばプリント基板上にシステムを実現する際、複数のシングルダイＩＣの設定に関する様々な接続の問題は、本明細書においてさらに詳しく説明されるように、マルチダイＩＣ１００において内的に解決される。本明細書において説明されるインターダイ接続性は、回路設計者および／またはシステム設計者のようなユーザからのいかなる設定またはレイアウトデザインを必要としない。
【００２４】
説明においては、設定データ１４０は、マルチダイＩＣ１００へ読み込まれ得る。設定データ１４０は、ダイ１０５，１１０の各々のためのセグメントを含んでいるが、マスターダイであるダイ１０５へ読み込まれ得る。設定コントローラ１２０は、設定データ１４０を分析し、ダイ境界１５０を識別し得る。ダイ境界１５０は、後続のセグメントが同一のマルチダイＩＣの異なるダイのための設定データであることを示す識別子、たとえば所定のビットパターンであり得る。したがって、設定コントローラ１２０は、ダイ境界１５０の検出に応答して、設定バス１６０を通してセグメント１５５をダイ１１０へ送信し得る。
【００２５】
たとえば、ダイ境界１５０は、設定コントローラ１２０によって解釈されおよび／または実行されるコマンドであり得る。１つ以上の追加的なコマンド（図示せず）が、設定コントローラ１２０および／または設定コントローラ１２５によって実行されるときに、受信した設定データまたは部分、たとえばそれらのセグメントをどのように処理するかを各コントローラに指示する設定データ１４０に含まれ得る。たとえば、追加的なコマンドは、セグメント１４５が設定メモリ１３０へ読み込まれるべきであることを設定コントローラ１２０に指示する、セグメント１４５に先立つ設定データに含まれ得る。ダイ境界１５０は、セグメント１５５をスレーブダイ１１０へ送信することを、設定コントローラ１２０に指示し得る。ダイ境界１５０、または、セグメント１５５に先立つもしくはセグメント１５５に含まれる１つ以上の他のコマンドは、セグメント１５５を設定メモリ１３０の中に読み込むことを、設定コントローラ１２５に指示し得る。これに関して、本明細書において説明される様々な動作は、コマンド、または、受信された設定データの中から決定されるもしくは識別される他の情報を検出することおよび／または実行することに応答して実行され得る。
【００２６】
１つ以上の実施の形態においては、ダイ境界１５０は、長さを特定し得る。したがって、ダイ１０５は、ダイ境界１５０に続く、特定の長さまでの設定データがスレーブダイ用、たとえばダイ１１０用の設定データのセグメントであることを決定し得る。したがって、ダイ１０５は、より特定的には設定コントローラ１２０は、ダイ境界１５０からのセグメント１５５の長さを知って、セグメント１５５をダイ１１０へ送り得る。ダイ境界１５０における設定データのセグメントの長さを特定することは、マルチダイＩＣ１００が２つよりも多いダイを含むときに、たとえば３つまたは４つの追加的なダイ用の設定データが設定データ１４０の中に含まれることを可能とする。たとえば、２つよりも多いダイが含まれているときに、追加的なまたは第２のダイ境界がセグメント１５５に続いて設定データに追加され得る。そして、追加的なセグメントが、第２のダイ境界などに続いて追加され得る。このように、マルチダイＩＣの異なるダイ用の設定データは、カプセル化メカニズム、たとえば設定データに組み込まれたダイ境界１５０および／または他のコマンドを用いてセグメントとしてカプセル化され得る。
【００２７】
図２は、本明細書において開示される１つ以上の他の実施の形態に従うマルチダイＩＣの第１の側面断面図である。図２は、図１の切断線２に沿った断面において、図１のマルチダイＩＣ１００を説明する。したがって、同様な番号は、本明細書を通じて可能な限り同一のアイテムを指すために用いられる。
【００２８】
インターポーザ１１５は、ＩＣプロセス技術の１つ以上の層から形成されるダイとして実現され得る。インターポーザ１１５は、少なくとも１つの金属化層を含み得るが、適当な絶縁または非導電層によって分割された複数の金属化層を含んでもよい。金属化層は、場合によっては、ダイ１０５の選択されたパッドをダイ１１０の選択されたパッドに結合する複数のインターダイワイヤ（図示せず）を実現する。
【００２９】
１つ以上の実施の形態においては、インターポーザ１１５は、インターダイワイヤが実現される全体的にパッシブな構造として構成され得る。１つ以上の他の実施の形態においては、インターポーザ１１５は、１つ以上のアクティブなデバイスを含み得る、そのため、アクティブな構成と考えられる。本明細書において説明される１つ以上の実施の形態は、パッシブなまたはアクティブなインターポーザのいずれかに限定されることを意図していない。
【００３０】
一般的に、ダイ１０５およびダイ１１０は、インターポーザ１１５の上面の同一の水平面に配置される。ダイ１０５およびダイ１１０は、複数のマイクロバンプ２０５を通してインターポーザ１１５へ結合され得る。マイクロバンプ２０５は、一般的に、ダイ１０５，１１０の各々の電気的結合パッド（図示せず）をインターポーザ１１５のパッド（図示せず）に結合するはんだボールである。たとえば、マルチダイＩＣ１００の製造においては、ダイ１０５の底面およびダイ１１０の底面は、マイクロバンプされ得る。同様に、インターポーザ１１５の上面も、マイクロバンプされ得る。ダイ１０５，１１０のマイクロバンプの各々がインターポーザ１１５のマイクロバンプと並ぶように、ダイ１０５およびダイ１１０がインターポーザ１１５の上面に並べられる。インターポーザ１１５およびダイ１０５，１１０間の並べられたマイクロバンプ対は、ＩＣ製造プロセスを通じて、マイクロバンプ２０５として説明される単一の電気的接続を形成するように統合される。
【００３１】
１つ以上の実施の形態においては、１つ以上のマイクロバンプ２０５が、マルチダイＩＣ１００の中に含まれるダイの数、およびいずれのダイがマスターダイとして指定され、いずれのダイがスレーブダイとして指定されているのかのような、マルチダイＩＣ１００の特徴を特定するために用いられ得る。たとえば、製造プロセスの間に、ダイ１０５，１１０の各々のための１つ以上のマイクロバンプ２０５が、述べられた情報を特定するために確保される。確保されたマイクロバンプ２０５、たとえば各個別の確保されたマイクロバンプ２０５の１つ、は接地へ結合され得る、またはフローティングのままとされ得る。接地へ結合されるときは、確保されたマイクロバンプ２０５は、接地電位、たとえば論理ローのままである。マイクロバンプ２０５がフローティングのままとされるときは、確保されたマイクロバンプ２０５へ結合されるプルアップ回路は、たとえば論理ハイを示すハイへ電圧を引き上げ得る。
【００３２】
１つの確保されたマイクロバンプ２０５は、ダイがマスターであるのかスレーブであるのかを示すために用いられ得る。各ダイの中のコントローラまたは他の回路は、たとえば設定コントローラは、列挙されるとともに確保されるダイのマイクロバンプ２０５がハイであるのかローであるのかに基づいて、ダイがマスターであるのかスレーブであるのかを決定し得る。このように、１つのダイをマスターとし、他の各ダイをスレーブとする指定は、適切なコーディング、たとえば各ダイにおける確保されたマイクロバンプ２０５の結合を通して製造プロセスの間に実行され得る。このプロセスは、１つのダイをマスターとし、他のダイをスレーブとする指定が、各ダイが製造されるときとは対照的に、単に説明されたエンコーディングを通してパッケージングの間に起こり得るために、同一のダイがマルチダイＩＣ１００の中に含まれることを可能とする。マイクロバンプエンコーディングプロセスは、製造時にマスターダイがスレーブダイと同一であり得ることを意味する。
【００３３】
他の１つの確保されたマイクロバンプ２０５は、マルチダイＩＣ１００に含まれるダイの数を示すコードを特定するために用いられ得る。コードは、マルチダイＩＣ１００によって受信される任意の設定データにおけるコードと一致し得る。たとえば、マスターとして設計されたダイの中の設定コントローラが、入力される設定データが上述の確保されたマイクロバンプ２０５を通して列挙されたコードと一致するコードを含んでいることを確実にし得るように、設定データは類似するまたは同一のコードを特定し得る。設定データにおけるコードと、確保されたマイクロバンプ２０５を通して列挙されるコードとの間の一致は、入力される設定データが正しい数のセグメント、すなわちマルチダイＩＣ１００に含まれる各ダイ用の１つのセグメントを含んでいることを意味する。
【００３４】
マイクロバンプ２０５へ結合されるインターポーザ１１５のいくつかのパッドは、シリコン貫通電極（through silicon via：ＴＳＶ）２１０へ結合され得る。各ＴＳＶ２１０は、インターポーザ１１５を完全に貫通して延びることができ、インターポーザ１１５の上面の直下に配置されるパッドからインターポーザ１１５の底面を通して露出されるパッドまで延びる。各ＴＳＶ２１０は、マイクロバンプ２０５を経由して、ダイ１０５またはダイ１１０の１つのパッドを、たとえば複数のパッケージバンプ２１５の１つへ結合し得る。
【００３５】
パッケージバンプ２１５は、「Ｃ４バンプ」とも称され、一般的に、インターポーザ１１５の底部のパッドをマルチダイＩＣ１００のパッケージへ結合して、それによってパッケージの外部ピンへ結合する、はんだボールである。したがって、ダイ１０５の１つ以上のパッドおよびダイ１１０の１つ以上のパッドは、パッドをマイクロバンプ２０５へ、ＴＳＶ２１０へ、パッケージバンプ２１５へ、および外部パッケージピンへ結合することによって、マルチダイＩＣ１００のパッケージの外部ピンへ結合され得る。
【００３６】
図３は、本明細書において開示される１つ以上の他の実施の形態に従うマルチダイＩＣの第２の側面断面図である。図３は、図１の切断線２に沿った断面において、図１のマルチダイＩＣ１００の他の実行例を説明する。説明のために、インターポーザ１１５の中に配置されるインターダイワイヤ３０５をより明確に説明するように、図２で説明されたＴＳＶおよびパッケージバンプは示されない。
【００３７】
図３を参照して、インターポーザ１１５は、複数のインターダイワイヤ３０５を含む。マイクロバンプ２０５へ結合されるインターポーザ１１５のいくつかのパッドは、インターダイワイヤ３０５へ結合し得る。各インターダイワイヤ３０５は、事実上は、ダイ１０５をダイ１１０へ結合するインターポーザ１１５の中の長い相互接続線である。たとえば、各インターダイワイヤ３０５は、ダイ１０５のパッドをダイ１１０のパッドへ結合し得る。図示されるように、インターダイワイヤ３０５は、上面の下方、たとえばインターポーザ１１５の中に配置され得る。
【００３８】
インターダイワイヤ３０５は、たとえば、図１を参照して説明される設定バス１６０を実現するために用いられ得る。マルチダイＩＣが３つ以上のダイを有するときは、いくつかのインターダイワイヤは、互いに直接隣接するダイを結合し得る。しかしながら、他のインターダイワイヤ３０５は、たとえば３つ以上の複数のダイを並列に結合するために用いられ得る。したがって、３つ以上のダイを有するマルチダイＩＣにおいては、信号は、１つのダイから直列に、たとえばデイジーチェーン方式で他の１つのダイへ送信し、または、並列に、たとえばブロードキャスト方式で１つ以上のダイへ同時にまたは一斉に送信され得る。
【００３９】
述べたように、１つ以上の他の実施の形態においては、インターポーザ１１５は、アクティブ回路を含み得る。いくつかの場合には、アクティブ回路は、１つ以上のトランジスタまたは他のスイッチを含み得る。しかしながら、他の場合には、アクティブ回路は、他のプログラマブルＩＣまたはプログラマブルＩＣの部分を実行し得る。たとえば、インターポーザ１１５は、ダイ１０５，１１０の各々の中の回路が構成されるのと実質的に同じ方法で構成可能なアクティブ回路を含み得る。したがって、図示されないが、インターポーザ１１５は、設定可能な回路、設定コントローラ、および設定メモリを含み得る。この場合、インターポーザ１１５の中で実現される設定コントローラは、設定バス１６０へ結合され得る。したがって、マルチダイＩＣ１１０へ読み込まれる設定データは、インターポーザ１１５の中の設定コントローラへ提供される設定データのセグメントを含み得る。インターポーザ１１５の中の設定コントローラは、設定データのセグメントをインターポーザ１１５の設定メモリへ読み込み、それによって、インターポーザ１１５の設定可能な回路の中の回路設計をインスタンス化することができる。
【００４０】
図４は、本明細書において開示される１つ以上の他の実施の形態に従う複数のマルチダイＩＣを組み込むシステムを説明する第２のブロック図である。図４は、２以上のマルチダイＩＣを設定するための技術を説明する。図示されるように、マルチダイＩＣ１００は、マルチダイＩＣ４００にデイジーチェーンされ得る。たとえば、マルチダイＩＣ１００，４００は、プリント基板上に配置され得るか、または他の電気的接続を通してシステム内に結合され得る。説明したように、マルチダイＩＣ１００は、ダイ１０５（マスター）およびダイ１１０（スレーブ）を含み、各々はインターポーザ１１５上に配置される。ダイ１０５およびダイ１１０は、少なくとも設定のために、設定バス１６０を通して接続され得る。同様に、マルチダイＩＣ４００は、インターポーザ４１５上に配置されるダイ４０５（マスター）およびダイ４１０（スレーブ）を含み得る。ダイ４０５およびダイ４１０は、少なくとも設定のために、設定バス４２０を介して結合され得る。説明を容易にするために、各ダイの中の設定コントローラは除かれている。
【００４１】
図示されるように、設定データ４２５は、マルチダイＩＣ１００へ、より具体的にはマスターダイ１０５へ読み込まれ得る。設定データ４２５は、設定データの複数のセグメント、たとえばマルチダイＩＣ１００およびマルチダイＩＣ４００の双方の中でプログラムされる各ダイ用の１つのセグメントを含む。一般的に、設定データ４２５は、２つの部分４３０，４３５を含み得る。部分４３０は、マルチダイＩＣ１００のダイ１０５，１１０をプログラムするために必要なセグメントを含む。部分４３５は、マルチダイＩＣ４００のダイ４０５，４１０をプログラムするために必要なセグメントを含む。図示されるように、部分４３０は、ＩＣ境界４５５によって部分４３５から分離される。図１を参照して説明されるダイ境界のように、ＩＣ境界４５５は、他のＩＣ、たとえばこの場合マルチダイＩＣ４００、に関連するダイ境界４５５に続く設定データ４２５の部分、すなわち部分４３５のサイズを示す所定のビットパターンを特定し得る。
【００４２】
セグメント４４０は、マスターダイ１０５用の設定データである。マスターダイ１０５は、マスターダイ１０５の設定メモリに読み込むためのセグメント４４０を保持し得る。セグメント４５０は、ダイ境界４４５によってセグメント４４０から分離された、スレーブダイ１１０用の設定データである。述べられたように、マスターダイ１０５は、より特定的にはマスターダイ１０５の中の設定コントローラは、ダイ境界４４５を識別し得るとともに、応答において、設定バス１６０を介してセグメント４５０をスレーブダイ１１０へ送信し得る。設定データ４２５の分析を継続しているときに、マスターダイ１０５は、ＩＣ境界４５５をさらに検知し得る。ＩＣ境界４５５は、ここで説明される設定データの処理へ直接変換されるおよび／または実行される前述のコマンドの他の例であり得る。したがって、マスターダイ１０５は、部分４３５をマルチダイＩＣ４００へ、より特定的にはマスターダイ４０５へ送信し得る。ダイ境界４４５およびダイ境界４６５の実行は、たとえば、示されるようにマルチダイＩＣ１００およびマルチダイＩＣ４００をデイジーチェーンするためのＩＣ境界４５５の使用を容易にする。
【００４３】
マスターダイ４０５は、マスターダイ１０５から部分４３５を受信し得る。セグメント４６０は、マスターダイ４０５用の設定データである。マスターダイ４０５は、マスターダイ４０５の設定メモリへ読み込むためのセグメント４６０を保持し得る。セグメント４７０は、ダイ境界４６５によってセグメント４６０から分離された、スレーブダイ４１０用の設定データである。述べられたように、マスターダイ４０５は、より特定的にはマスターダイ４０５の中の設定コントローラは、ダイ境界４６５を識別し得るとともに、応答において、設定バス４２０を介してスレーブダイ４１０へセグメント４７０を送信し得る。
【００４４】
図５は、本明細書において開示される１つ以上の他の実施の形態に従うマルチダイＩＣを説明する第３のブロック図である。図５は、図１を参照して説明された、マルチダイＩＣ１００の設定バス１６０をより詳しく説明する。説明のために、インターポーザは、様々な信号を実行するインターダイワイヤを残して除かれている。しかしながら、設定バス１６０は、インターポーザの中に存在する複数のインターダイワイヤから形成されると理解されるべきである。ブロック５５０は、マルチダイＩＣ１００の境界を示すために含まれる。たとえば、ブロック５５０は、マルチダイＩＣ１００のパッケージの外部ピンへ入出力される信号を示す、ブロック５５０へ入出力される信号を有するパッケージ境界を説明し得る。
【００４５】
本明細書においては、同一の参照文字は、端子、信号線、ワイヤ、およびこれらに対応する信号を指すために用いられる。これに関して、「信号」、「ワイヤ」、「接続」、「端子」、および「ピン」という用語は、本明細書において、時々、置き換え可能に用いられ得る。「信号」、「ワイヤ」などの用語は、１つ以上の信号、たとえば単一のワイヤを通した単一のビットの伝達、または多数の並列のワイヤを通した多数の並列のビットの伝達を表し得ると理解されるべきでもある。さらに、各ワイヤまたは信号は、場合によっては、信号またはワイヤによって結合される２つ以上の要素間の双方向の通信を表し得る。
【００４６】
図示されるように、マスターダイ１０５は、入力ポート５１０を通して信号５０５を介した設定データを受信し得る。１つ以上の実施の形態においては、入力ポート５１０は、専用の設定入力ポートであり得る。入力ポート５１０は、マルチダイＩＣ１００のパッケージングの入出力（Ｉ／Ｏ）ピンへ結合され得る。したがって、信号５０５によって特定される設定データは、マルチダイＩＣ１００の外部のソースから受信され得る。同様に、クロック信号５１５は、マルチダイＩＣ１００の外部のソースから受信され得る。設定コントローラ１２０を用いることによって、信号５０５を介して受信される設定データの異なるセグメントは、設定バス１６０および／またはマスターダイ設定出力ポート５２０からの出力を通してスレーブダイ１１０へ送られ得る。マスターダイ設定出力ポート５２０は、入力ポート５１０のような、マルチダイＩＣ１００のパッケージングの１つ以上の外部ピンへ結合され得る。マスターダイ設定出力ポート５２０からの信号５２５は、たとえば、図４を参照して説明されるように他のマルチダイＩＣへ提供される設定データを特定し得る。
【００４７】
先に述べたように、マスターダイ１０５は、設定データをマスターダイ設定出力ポート５２０へ送信し得る。マスターダイ設定出力ポート５２０は、マルチダイＩＣ１００にデイジーチェーンされる次のマルチダイＩＣの設定データ入力ポートまたは他の入力ポートへ結合され得る。１つ以上の実施の形態においては、マスターダイ１０５は、マスターダイ設定出力ポート５２０を通して、直列のおよび／またはデイジーチェーンタイプの構成、たとえば図４を参照して説明される構成における次のマルチダイへトークンを送信し得る。マスターダイ１０５から送信されるとともにマスターダイ設定出力ポート５２０から出力されるトークンは、デイジーチェーンされたマルチダイＩＣの入力ポートを介して受信され得る。受信されると、トークンは、デイジーチェーンされたマルチダイＩＣに、たとえばその設定データ入力ポートに従うように指示し得る。たとえば、図４を参照して、マルチダイＩＣ１００は、マルチダイ４００にマルチダイＩＣ４００の設定データ入力ポートに従うように指示するトークンをマルチダイＩＣ４００へ送り得る。デイジーチェーンされたマルチダイＩＣの設定データ入力ポートは、マルチダイＩＣ１００の入力ポートと同一の入力信号、この場合信号５０５へ結合され得る。
【００４８】
設定バス１６０を向いて、図示されるように、クロック信号５１５は、設定バス１６０を通してスレーブダイ１１０へ伝播され得る。信号５３０は、スレーブダイ１１０へ分配される設定コントローラ１２０から送信される設定データを特定し得る。信号５３０は、設定バス１６０を制御するおよび／または管理するための制御信号をさらに特定し得る。設定バス１６０の信号５３５は、複数の双方向のデータ線を表し得る。１つ以上の実施の形態においては、信号５３５は、双方向の３２ビットデータチャネルを表し得る。
【００４９】
信号５４０は、マスターダイ１０５またはスレーブダイ１１０のいずれかが設定バス１６０を制御するための読み書き信号であり得る。したがって、信号５４０は、設定バス１６０に関して（マルチダイＩＣ１００の中のマスターダイとは対照的に）どのダイが「マスター」であるのかを特定する。信号５４５が、設定バス１６０に置かれるデータの送り先を示すトークンまたは他の値を渡すために用いられ得る。たとえば、トークンは、マルチダイＩＣ１００が１つ以上のスレーブダイを含むときに、マスターダイ１０５によって信号５３５に置かれるデータがスレーブダイ１１０または特定のスレーブダイへ行くことを示し得る。他の例においては、トークンは、スレーブダイ１１０によって設定バス１６０、より特定的には信号５３５、に置かれるデータがマスターダイ１０５へ行くことを示し得る。２つ以上のスレーブダイがマルチダイＩＣ１００に含まれる場合に、信号５４５は重要性を増す。
【００５０】
図６は、本明細書において開示される１つ以上の他の実施の形態に従うマルチダイＩＣを説明する第４のブロック図である。図６は、マルチダイＩＣ１００の代替的な構成を説明する。図６に示されるように、スレーブダイ１１０は、信号６１０がマスターダイ１０５へ戻って出力される出力ポート６０５を含み得る。マスターダイ１０５は、入力ポート６１５を通して信号６１０を受信する。出力ポート６０５および入力ポート６１５の双方は、いずれもマルチダイＩＣ１００のパッケージの外部ピンへ接着あるいはそうでなければ結合されない内部ポートである。したがって、各々は、マルチダイＩＣ１００において専用に維持される。
【００５１】
１つ以上の実施の形態においては、受信された設定データが第２のマルチダイＩＣ用のセグメントを含む場合も含めて、マスターダイ１０５は、マスターダイ１０５用のセグメントを例外として、すべてのダイ用の設定データを、マルチダイＩＣ１００の他のダイを通して渡すように構成され得る。したがって、この場合、設定データは、マスターダイ出力ポート５２０から信号５２５を介して設定用の他のＩＣへ出力されるように提供される任意のセグメントを含めて、スレーブダイ１１０へ渡される。
【００５２】
スレーブダイ１１０は、スレーブダイ１１０の中の設定コントローラによって決定されるように、出力ポート６０５を通して、使用されないセグメントを通過または出力するように構成され得る。スレーブダイ１１０から信号６１０を通して通過するデータは、事実上マスターダイ１０５へループバックするとともに、入力ポート６１５によって受信され得る。マスターダイ１０５、より具体的にはたとえばマスターダイ１０５における設定コントローラは、入力ポート６１５を通して受信された設定データを、図示されるようにマスターダイ設定出力ポート５２０へ送り得る。図５において説明される例においては、同一のダイを使用してマルチダイＩＣ１００を実現するために、ダイ１１０の出力ポートは、図５では説明されないが、フローティングされ得るか、または使用されないが接地へ結合され得る。
【００５３】
この例においては、出力ポート６０５は、よりよいパッケージマイグレーションを得るために入力ポート６１５へ結合され得る。説明されたループバック接続は、図５を参照して説明されたのとは異なる態様でダイを通して、設定データを直列に効果的に伝播させる。たとえば、信号５２５を介してマルチダイＩＣ１００へ結合される追加的なＩＣのスレーブダイ用の設定データのセグメントは、マルチダイＩＣ１００の各ダイ、およびスレーブダイが配置される追加的なマルチダイＩＣの中の各ダイを通して伝わる。図５において説明される配置において、そのようなセグメントはマルチダイＩＣ１００のスレーブダイ１１０をバイパスする。
【００５４】
再び図６を参照して、１つ以上の実施の形態においては、信号６１０は、インターポーザを通して行き来するとともに設定バス１６０を含まない専用のループバック信号の形式で実行され得る。１つ以上の他の実施の形態においては、信号６１０は、設定バス１６０を通して通過し得る。たとえば、出力ポート６０５は、設定バス１６０へ結合され得る。スレーブダイ１１０は、データをマスターダイ１０５へ送信するために、信号５３５を介して設定バス１６０を制御し得るとともに、信号５４５を介して入力されるデータをマスターダイ１０５へ通知し得る。
【００５５】
図７は、本明細書において開示される１つ以上の実施の形態に従う複数のマルチダイＩＣを含むシステムにおいて設定データを読み込む方法７００を説明するフローチャートである。説明を容易にするとともに明確にするために、マルチダイＩＣは、図７の説明において「デバイス」と称される。
【００５６】
ステップ７０５において始まり、マルチデバイス用の設定データが、第１のデバイスへ読み込まれ得る。設定データは、本明細書において説明されたように複数のカプセル化されたセグメントを含み得る。ステップ７１０において、第１のデバイスのマスターダイは、第１のデバイス用の設定データのマスターセグメントを識別し得る。ステップ７１５において、マスターダイは、第１のデバイス用の設定データのマスターセグメントを、第１のデバイスのマスターダイの設定メモリへ読み込み得る。
【００５７】
ステップ７２０において、第１のデバイスのマスターダイは、設定データにおけるダイ境界を識別または検出し得る。述べられたように、ダイ境界は、図４を参照して説明されたように設定データの第１の部分に含まれ得る。１つ以上の実施の形態においては、第１のデバイスに関するダイ境界は、初めから終わりまでの設定データを伝播するときに設定データにおいて特定される第１のダイ境界であると理解されるべきである。
【００５８】
ステップ７２５においては、第１のデバイスのマスターダイは、読み込まれた設定データのスレーブセグメントの利用可能性を、第１のデバイスのスレーブダイへ通知し得る。たとえば、述べられたように、マスターダイは、トークンを第１のデバイスのスレーブダイへ渡し得る。ステップ７３０においては、第１のデバイスのマスターダイは、設定データのスレーブセグメントを、第１のデバイスのスレーブダイへ送信し得る。ステップ７３５においては、スレーブダイ、たとえば設定コントローラは、設定データのスレーブセグメントを、第１のデバイスのスレーブダイの設定メモリへ読み込み得る。
【００５９】
ステップ７４０においては、第１のデバイスのマスターダイは、設定データにおけるＩＣ境界を識別または検出し得る。ダイ境界の識別において、第１のデバイスのマスターダイは、第１のデバイス用の設定データの第１の部分と、第２のデバイス用の設定データの第２の部分とを区別するとともに識別する。したがって、ステップ７４５においては、マスターダイは、設定データの第２の部分、たとえば第２のデバイスの各ダイをプログラミングするための設定データの部分を、マスターダイ設定出力ポートへ送信し得る。たとえば、設定データの第２の部分は、ＩＣ境界に続く設定データの全体であり得、あるいは、ＩＣ境界によって特定される設定データの量または長さに等しい、ＩＣ境界に続く設定データの量であり得る。
【００６０】
ステップ７５０においては、第２のデバイス用の設定データの部分が、第２のデバイスのマスターダイにおいて受信される。ステップ７５５においては、第２のデバイスのマスターダイは、第２のデバイス用の設定データのマスターセグメントを識別し得る。ステップ７６０においては、第２のデバイスのマスターダイは、第２のデバイス用の設定データのマスターセグメントを、第２のデバイスのマスターダイの設定メモリへ読み込み得る。
【００６１】
ステップ７６５においては、第２のデバイスのマスターダイは、第２のデバイス用の設定データにおけるダイ境界を識別または検出し得る。ステップ７７０においては、第２のデバイスのマスターダイは、スレーブセグメントデータの利用可能性を、第２のデバイスのスレーブダイへ通知し得る。ステップ７７５においては、第２のデバイスのマスターダイは、第２のデバイス用の設定データのスレーブセグメントを、第２のデバイスのスレーブダイへ送信し得る。ステップ７８０においては、第２のデバイスのスレーブダイは、受信したスレーブセグメントを、第２のデバイスのスレーブダイにおける設定メモリへ読み込み得る。
【００６２】
図８は、本明細書において開示される１つ以上の他の実施の形態に従って構成されるマルチダイＩＣ８００を説明する第５のブロック図である。マルチダイＩＣ８００は、本明細書において説明されるように実現され得る。マルチダイＩＣ８００は、マルチダイＩＣ８００の各ダイに亘る動作状態の統一性を実行する１つ以上のグローバル信号をさらに含み得る。
【００６３】
マルチダイＩＣ８００は、述べられたようにインターポーザ８２０上に各々が配置されるダイ８０５，８１０，８１５を含み得る。ダイ８０５，８１０，８１５の各々は、第１のノードにおいて電圧源「Ｖｃｃ」へ結合されるプルアップ抵抗「Ｒ」と、プルアップ抵抗の第２のノードにおいてトランジスタのようなスイッチ「Ｓ」とを含む回路構造を含み得る。制御信号８２５，８３０，８３５は、ダイ８０５，８１０，８１５の各々におけるトランジスタスイッチ「Ｓ」のゲートへそれぞれ提供され得る。
【００６４】
各回路構造は、１つ以上のインターダイワイヤ８５０を介してノード８４０において互いに結合され得る。したがって、制御信号８２５，８３０，または８３５のいずれかがアサートされること、たとえば論理ハイへ移行することに応答して、スイッチ「Ｓ」が閉成されるとともに各ダイ８０５，８１０，８１５の中のノード８４０における電圧を接地へ引っ張る。制御信号８２５，８３０，または８３５の各々がデアサートされること、論理ローへ移行することに応答して、そのダイにおけるスイッチ「Ｓ」が開放され、それによって、各ダイ８０５，８１０，８１５の中のノード８４０における電圧を論理ハイ、たとえばＶｃｃへ引っ張る。言い換えると、各ダイ８０５〜８１５は、それぞれ信号８２５〜８３５を介して、ノード８４０における電圧を接地へ引っ張り得る。ノード８４０における電圧をハイにするためには、各制御信号８２５〜８３５は、同時にデアサートされなければばらない。
【００６５】
各ダイ８０５，８１０，８１５におけるノード８４０は、ドライバ回路「Ｄ」へ結合され得る。ドライバ回路「Ｄ」は、ノード８４０の状態に基づいて変化するまたは移行するグローバル信号８４５を出力し得る。たとえば、グローバル信号８４５は、ノード８４０がハイまたはローへ移行することに応答して、ハイまたはローへそれぞれ移行し得る。代替的に、ドライバ回路「Ｄ」は、各ドライバ回路「Ｄ」から出力されるグローバル信号８４５がノード８４０における電位の反対へ移行するための反転回路であり得る。いずれにしても、ダイ８０５，８１０，８１５のいずれか１つにおけるノード８４０の状態は、グローバル信号８４５の状態を決定する。グローバル信号８４５は、各ダイ８０５，８１０，８１５において同一であり、各ダイ８０５〜８１５における同一または統一的な動作状態を実行するために用いられ得る。
【００６６】
たとえば、１つ以上の実施の形態においては、ダイ８０５〜８１５のいずれか１つは、制御信号８２５〜８３５をそれぞれアサートし得る。制御信号８２５〜８３５のいずれか１つのアサーションは、グローバル信号８４５を、本明細書において説明されるように、使用される特定の実行に応じてハイまたはローへ移行させ得る。ダイ８０５における説明では、制御回路は、ダイ８０５における特定の条件、たとえば１つ以上の信号または信号の組み合わせを検出するように構成され得る。条件を検出することに応答して、制御回路は、制御信号８２５をアサートし得る。同様なコントローラは、制御信号８３０，８３５をそれぞれ選択的にアサートするために各ダイ８１０，８１５に配置され得る。
【００６７】
再びダイ８０５を参照して、他の回路ブロックが、グローバル信号８４５へ結合され得る。ダイ８０５においてグローバル信号８４５へ結合される回路ブロックは、グローバル信号８４５に応答して選択された動作状態を実行するように構成され得る。選択された動作状態は、実行されるときまたは呼び出されるときに、ダイ８０５において特定の動作を引き起こしまたは呼び出し得る。類似するまたは同一の回路ブロックは、ダイ８１０，８１５において同一の動作状態を開始するようにダイ８１０，８１５においてグローバル信号８４５へ結合され得る。
【００６８】
１つ以上の他の実施の形態においては、各ダイ８０５〜８１５は、各制御信号８２５〜８３５がデアサートされたときに、グローバル信号８４５によって引き起こされた動作状態から現れ得るまたは抜け出し得る。たとえば、ダイ８０５における制御回路は、ダイ８０５が開始された動作状態から抜け出し得ることを検出し得るまたは決定し得る。制御回路は、制御信号８２５をデアサートし得る。ダイ８１０，８１５が開始された動作状態を抜け出し得ることを、各ダイ８１０，８１５における制御回路が決定したときだけ、制御信号８３０〜８３５がデアサートされて、グローバル信号８４５が再び移行する。各ダイ８０５〜８１５においてグローバル信号８４５へ結合された回路ブロックは、述べられたグローバル信号８４５の移行、たとえば各制御信号８２５〜８３５がデアサートされるときに応答して、各ダイ８０５〜８１５を動作状態から単に抜け出させる。
【００６９】
図８において説明される回路構造は、単に説明のためだけに示され、マルチダイＩＣのダイに亘ってグローバル信号が実行される態様に限定されることを意図したものではない。１つ以上の他の実施の形態においては、たとえば、抵抗は、図８において説明される各ダイにおいて必要とされないが、すべてのダイよりも少ない数、たとえば抵抗を有するダイのための図８に示される実質的に同一の構成を用いる１つまたは２つのときにはむしろ含まれてもよい。グローバル信号は、各ダイにおける同一または統一的な動作状態を同時に開始すること、および／または調整された態様で各ダイに亘って同時にそのような動作状態から抜け出すことに関する様々な目的のために実行され得る。さらに、各ダイ８０５，８１０，８１５において説明された回路は、単一のグローバル信号を実行する。マルチダイＩＣにおいて多数のグローバル信号を含むことは、説明された回路の多数のインスタンスを必要とする。
【００７０】
図９は、本明細書において開示される１つ以上の他の実施の形態に従って構成されるマルチダイＩＣを説明する第６のブロック図である。図９は、マルチダイＩＣ８００において実行され得るグローバル信号の多数の例を説明する。一般的に、マルチダイＩＣ８００は、５つの異なるグローバル信号を１つ以上利用し得る。したがって、図８を参照して説明された各ダイ用の回路の１つのインスタンスは、実行される各グローバル信号用の各ダイに含まれ得る。説明された各グローバル信号が与えられたマルチダイＩＣの中に含まれるか否かは、マルチダイＩＣがダイに亘って調和されるとともに統一される機能性を実行するか否かに依ると理解されるべきである。
【００７１】
本明細書において説明されるようなグローバル信号の使用は、ダイがプログラマブルＩＣであるときに特に有用であり得ると理解されるべきである。たとえば、プログラマブルではない他のタイプのマルチダイＩＣにおいては、ダイ間のインターフェースは非常に特殊であるとともに不変、たとえばスタティックであり得る。ダイ８０５〜８１５の各々は、事実上シングルダイプログラマブルＩＣ、たとえばＦＰＧＡであり得るため、特にダイ８０５〜８１５の各々間のインターフェースがマルチダイ８００へ読み込まれた特定の設定データにおいて変化し得るときに、ダイに亘る統一的な動作条件を確保するためのグローバル信号の使用は有用であり得る。たとえば、設定バス１６０はスタティックのままであるとともに特定の目的のための専用化され得るが、インターダイワイヤの他の１つは、ダイ８０５〜８１５の１つへそれぞれ読み込まれる特定の設定データに基づいて変化する、ダイ８０５〜８１５の各々における異なる内部回路ブロックへ選択的に結合され得る。
【００７２】
実行され得る１つのグローバル信号は、グローバルハイ信号９０５である。一般的に、グローバルハイ信号９０５がアサートされると、ダイ８０５〜８１５の各々はグローバルハイ動作状態へ置かれ得る。グローバルハイ動作状態においては、ダイ８０５〜８１５の各々における選択された信号は、既知の状態または所定の状態、たとえばハイに保持され得る。たとえば、マルチダイＩＣ８００のリセット、マルチダイＩＣ８００の決定などを行うと、ダイ８０５，８１０，８１５における１つ以上の信号は、未知の状態であるか、または互いのコンテンションに置かれ得る。信号がコンテンションであり得る状況の１つの例は、一方端、たとえば１つのダイにおいてローに駆動されるとともに、他方端、たとえば他のダイにおいてハイに駆動されるインターダイ信号を含み得る。他の例においては、インターダイ信号の方向性は、リセットされるまたは新たな設定データが読み込まれるマルチダイＩＣ８００の結果で変化し得る。したがって、グローバルハイ信号９０５をトリガリングするダイ８０５〜８１５のいずれか１つに応答して、他の各ダイは、ダイにおけるグローバルハイ信号９０５の状態を検出するとともに、同時に協調的にグローバルハイ動作状態を開始する。グローバルハイ信号９０５を用いることによって、そのような信号は、グローバルハイ信号９０５がダイ８０５〜８１５の各々に亘ってアサートされる間、所定の既知の状態に維持され得る。
【００７３】
実行され得る他のグローバル信号は、グローバルパワーダウン信号９１０である。グローバルパワーダウン信号９１０は、ダイ８０５〜８１５の１つがパワーダウンされているときにまたはパワーダウン動作状態に入ったときに、ダイ８０５〜８１５の他の各々もパワーダウンされることを確実にするために用いられ得る。１つ以上の実施の形態においては、ダイ８０５〜８１５のいずれか１つは、グローバルパワーダウン信号９１０をトリガリングし得る。グローバルパワーダウン信号９１０をトリガリングするダイ８０５〜８１５のいずれか１つに応答して、他の各ダイは、ダイにおけるグローバルパワーダウン信号９１０の状態を検出するとともに、ダイ８０５〜８１５の各々に同時に協調的にパワーダウンを引き起こすパワーダウンを開始する。グローバルパワーダウン信号９１０は、ダイ８０５〜８１５の１つがマルチダイＩＣ８００の他の各ダイをターンオフすることなく効果的にターンオフされることを防止する。この点に関して、グローバルパワーダウン信号９１０は、任意のダイによってトリガリングされ得る安全装置（failsafe）として用いられ得る。
【００７４】
１つ以上の他の実施の形態においては、グローバルパワーダウン信号９１０は、ユーザの要求、たとえばマルチダイＩＣ８００においてインスタンス化される回路設計によって開始され得る。その場合、要求はマスターダイ、たとえばダイ８０５へ提示され得る。たとえば、ユーザの要求に応答してグローバルパワーダウン信号９１０をトリガリングする権限は、マスターダイのための専用とされ得る。どんな場合でも、マスターダイがグローバルパワーダウン信号９１０を一旦トリガリングすると、マルチダイＩＣ８００における他の各ダイは、グローバルパワーダウン信号９１０に応答してパワーダウンされ得る。
【００７５】
実行され得る他のグローバル信号は、グローバル設定リセット信号９１５である。グローバル設定リセット信号９１５は、マルチダイＩＣ８００における「ハード」システムリセットタイプの動作状態を実行するために用いられ得る。ハードシステムリセットは、各ダイにおける設定メモリが消去されるとともに、ダイ８０５〜８１５の各々におけるすべての設定回路がリセットされる状況を指す。したがって、ダイ８０５〜８１５の１つがグローバル設定リセット信号９１５をトリガリングすることに応答して、ダイ８０５〜８１５の各々がハードシステムリセットを同時に協調的に開始し得る。
【００７６】
ハードシステムリセットは、様々な異なる状況において発生し得る。たとえば、各ダイは、有効な電源が利用可能であるか否かを決定するように構成され得る。各ダイは、電源の電圧が既定の電圧範囲、たとえばおよそ０．８ボルトから１．０ボルトまでの中であるか否かを決定し得る。ダイ８０５〜８１５の各々が同一の電圧源へ結合されているにもかかわらず、各ダイにおけるプロセス変動は、たとえば、電源の電圧がダイ８１０，８１５における既定の範囲内に十分にあると決定されるときに、ダイ８０５にハードシステムリセットを開始させる。たとえば、プロセス変動に起因して、ダイ８０５は、電源がダイ８１０，８１５の範囲内である０．８２ボルトを供給すると決定されるときに、ハードシステムリセットを開始し得る。グローバル設定リセット信号９１５を利用するダイに亘るハードシステムリセットの統一性を実行することなく、ダイ８０５は、ハードシステムリセットを始め、一方、ダイ８１０，８１５は始めない。したがって、グローバル設定リセット信号９１５は、ダイ８０５〜８１５の各々に亘るハードリセットの統一的な実行、たとえば同時実行、を確保するための安全装置として利用され得る。
【００７７】
実行され得る他のグローバル信号は、グローバル内部プログラミング信号９２０である。グローバル内部プログラミング信号９２０は、ダイ８０５〜８１５の各々に亘る「ソフト」システムリセットタイプの動作状態の統一的な実行を実行するために用いられ得る。ソフトシステムリセットは、「ウォームブート」とも称される。たとえば、ソフトシステムリセットは、ダイ８０５〜８１５の各々のいくつかまたはほとんどの部分をリセットし得るが、ハードシステムリセットの場合のようにすべての部分をリセットすることはできない。たとえば、異なるモニタリング回路および／またはウォッチドッグ回路は、ソフトシステムリセットの間にはリセットされない。
【００７８】
１つの例においては、ソフトシステムリセットは、マルチダイＩＣ８００においてインスタンス化される回路設計によって開始され得る。回路設計は、ソフトシステムリセットを開始することによって、異なる設定データの読み込みを開始する。ソフトシステムリセットの実行は、設定メモリを消去し得る。マルチダイＩＣ８００は、ソフトシステムリセットから目覚め、たとえば、読み込まれるべき新たな設定データをどこで得るべきかを知る。したがって、グローバル内部プログラミング信号９２０のアサーションに応答して、ダイ８０５〜８１５の各々は、同時に協調的にソフトシステムリセットを受け、それによって、新たな設定データの受信および読み込みのためにダイ８０５〜８１５の各々を準備する。
【００７９】
実行され得る他のグローバル信号は、グローバルフォールバック信号９２５である。グローバルフォールバック信号９２５は、フォールバックタイプの動作状態の統一的な実行を行うために用いられ得る。「フォールバック」は、ソフトシステムリセットの形式を指す。ソフトシステムリセットからの目覚めおよび既知の場所からのユーザによって特定された回路の取得というよりは、フォールバック状態は、マルチダイＩＣ８００用の初期設定または安全設定（設定データ）をマルチダイＩＣ８００に読み込ませる。したがって、グローバルフォールバック信号９２５のアサーションに応答して、ダイ８０５〜８１５の各々は、同時に協調的にフォールバックを実行し得る。したがって、ダイ８０５〜８１５の各々における設定メモリは、読み込まれるべき安全設定を受信するための準備において消去される。
【００８０】
様々なタイプのグローバル信号が、ダイ８０５〜８１５の各々に亘る動作状態の統一的な実行を行うために説明された。グローバル信号に応答して、各ダイは、列挙された動作状態を実質的に同時に実行し得る。同様に、ダイ８０５〜８１５の各々は、図８を参照して説明されたように移行する関連したグローバル信号に従って、列挙された動作状態を実質的に同時にかつ協調的に抜け出し得る。
【００８１】
図１０は、本明細書において開示される１つ以上の他の実施の形態に従うマルチダイＩＣへ設定データを読み込む方法１０００を説明する第２のフローチャートである。方法１０００は、本明細書において説明されたように、マルチダイＩＣによって実行され得る。ステップ１００５において始まり、設定データは、マルチダイＩＣにおいて受信され得る。より特定的には、設定データは、マルチダイＩＣのマスターダイの設定コントローラによって受信され得る。
【００８２】
ステップ１０１０において、設定コントローラは、設定データにおいて特定されるコードを識別し得る。たとえば、これらには限定されないが、ターゲットＩＣのバージョン番号、ターゲットＩＣを生産した工場、ターゲットＩＣのプロダクトファミリー、ターゲットＩＣのサブファミリーまたはサブ生産ライン、ターゲットＩＣにおけるダイの数、どのダイがマスターであってどのダイがスレーブであるのかの指定、およびターゲットＩＣを製造する会社を含む様々な異なる情報を、コードは特定し得る。「ターゲットＩＣ」という表現は、設定データが読み込まれることが意図されるマルチダイＩＣを指す。
【００８３】
ステップ１０１５において、設定コントローラは、設定データにおいて特定されたコードを、マイクロバンピングを通して特定されたコードと比較し得る。ステップ１０１０を参照して説明されたコードの任意の様々な部分は、設定データから識別されたコードと比較されるマルチダイＩＣにおいてマイクロバンプされたコードの部分として列挙される。
【００８４】
マルチダイＩＣにおいてインプリントされるコードの１つ以上の部分は、マイクロバンプまたはノードを、ハイまたはローに永久にセットするハード回路、たとえば金属、によって特定され得ると理解されるべきである。たとえばバージョン、工場、ファミリー、サブファミリー、会社などの、変化しないまたは頻繁には変化しないマルチダイＩＣにおけるコードの部分を特定するために、たとえば、パーマネント技術が用いられ得る。たとえばダイの数、およびマスターまたはスレーブとしてのダイの指定を変化し得る部分は、本明細書において説明されたパッケージングプロセスの間に、マイクロバンプがフローティングのままとされる、または接地へ結合されるダイナミック技術を通して特定されることができる。
【００８５】
ステップ１０２０においては、設定コントローラは、設定データからのコードがマルチダイＩＣにおいてインプリントされたコード、たとえばマイクロバンプされたコード、に一致するか否かを決定し得る。設定データからのコードがマルチダイＩＣのマイクロバンプされたコードに一致するときは、方法１０００は、ステップ１０３０へ進むことができ、本明細書において説明されたように設定データはマルチダイＩＣへ読み込まれ得る。設定データからのコードがマルチダイＩＣのマイクロバンプされたコードに一致しないときは、方法１０００は、ステップ１０２５へ続き得る。ステップ１０２５においては、エラーコードが生成され得る。さらに、設定データは、マルチダイＩＣの任意のダイの設定メモリへ読み込まれない。設定データが、設定データが読み込まれたマルチダイＩＣ用のデータではなく、他のタイプのＩＣ用のデータであることを、たとえば異なるダイの数を有するものであることを不一致は意味し得る。
【００８６】
図におけるフローチャートは、本明細書において開示される１つ以上の実施の形態に従うシステムおよび方法の考えられる実行の構造、機能、および動作を説明する。いくつかの代替的な実行例においては、ブロックにおいて述べられた機能は、図に述べられた順序以外で生じ得る。たとえば、連続して示される２つのブロックは、その関連する機能によって実際には、実質的に同時に実行されてもよく、または、ブロックは、ある時は逆の順序で実行されてもよい。フローチャート図の各ブロック、およびフローチャート図におけるブロックの組み合わせは、特定の機能または作用、もしくは特別な目的のハードウェアおよび実行可能命令を実行する、特別な目的のハードウェアベースドシステムによって実行され得ると理解されるべきでもある。
【００８７】
本明細書で用いられる「１つの（aおよびan）」という用語は、１つまたは１つより多いとして定義される。本明細書で用いられる「複数」という用語は、２つまたは２つより多いとして定義される。本明細書で用いられる「他の（another）」という用語は、少なくとも第２のまたはそれより多くのとして定義される。本明細書で用いられる「含む」および／または「有する」という用語は、備える、すなわちオープン言語、として定義される。本明細書で用いられる「結合される（coupled）」という用語は、他に示されない限り、介在する要素なしに直接的に、または１つ以上の介在する要素を伴って非直接的に接続されるとして定義される。２つの要素は、機械的にも、電気的にも結合されることができ、または通信チャネル、経路、ネットワーク、またはシステムを通して通信可能に結び付けられることができる。
【００８８】
本明細書において開示される１つ以上の実施の形態は、その精神または本質的な特質から逸脱することなく他の形式において具現化され得る。したがって、１つ以上の実施の形態の範囲を示すように、前述の明細書よりも後続の特許請求の範囲への参照がなされるべきである。
【図２】
0005486132.tif 000002
【図３】
0005486132.tif 000003
【図５】
0005486132.tif 000004
【図６】
0005486132.tif 000005
【図８】
0005486132.tif 000006
【図９】
0005486132.tif 000007
【図１】
0005486132.tif 000008
【図４】
0005486132.tif 000009
【図７】
0005486132.tif 000010
【図１０】
0005486132.tif 000011