(57)【要約】      （修正有）【課題】フレキシブルまたはユニバーサル電子インターフェース回路網のための装置を提供する。【解決手段】第１のフレキシブルインターフェースブロック１０を含む半導体ダイ５であって、第１のフレキシブルインターフェースブロックは、少なくとも１つの相互接続と、少なくとも１つの相互接続に連結された少なくとも１つのバッファー２０と、半導体ダイにおいて集積された回路網に連結されたルーティングインターフェース２４と、ルーティングインターフェースと少なくとも１つのバッファーとの間の通信を提供するために連結されたコントローラ２２とを含む。【選択図】図４
2013146063.tif 000002
【特許請求の範囲】
【請求項１】
第１のフレキシブルインターフェースブロックを含む半導体ダイであって、
該第１のフレキシブルインターフェースブロックは、
少なくとも１つの相互接続と、
該少なくとも１つの相互接続に連結された少なくとも１つのバッファーと、
該半導体ダイにおいて集積された回路網に連結されたルーティングインターフェースと、
該ルーティングインターフェースと該少なくとも１つのバッファーとの間の通信を提供するために連結されたコントローラと
を含む、半導体ダイ。
【請求項２】
前記第１のフレキシブルインターフェースブロックは、前記半導体ダイにおいて集積された第１の回路と、該半導体ダイの外部の第２の回路との間の通信を提供するように適合されている、請求項１に記載の半導体ダイ。
【請求項３】
前記第２の回路は、プロトコルに従って動作するように適合されており、前記コントローラは、該プロトコルを用いて該第２の回路への通信を提供するように適合され得る、請求項２に記載の半導体ダイ。
【請求項４】
前記第１のフレキシブルインターフェースブロックは、前記第１の回路と前記第２の回路との間においてカスタマイズ可能なインターフェースを提供するように適合されている、請求項２に記載の半導体ダイ。
【請求項５】
前記コントローラは、ハード化された論理回路網を含む、請求項１に記載の半導体ダイ。
【請求項６】
前記コントローラは、構造化された特定用途の集積回路（ＡＳＩＣ）の回路網を含む、請求項１に記載の半導体ダイ。
【請求項７】
前記コントローラは、プログラマブル論理回路網を含む、請求項１に記載の半導体ダイ。
【請求項８】
プログラマブル論理デバイス（ＰＬＤ）を含み、該ＰＬＤは、前記第１のフレキシブルインターフェースブロックを含む、請求項１に記載の半導体ダイ。
【請求項９】
前記第１のフレキシブルインターフェースブロックは、前記ＰＬＤのプログラマブル相互接続に連結されている、請求項８に記載の半導体ダイ。
【請求項１０】
前記プログラマブル相互接続は、プログラマブル論理に連結している、請求項９に記載の半導体ダイ。
【請求項１１】
第２のフレキシブルインターフェースブロックをさらに含み、前記第１のフレキシブルインターフェースブロックおよび該第２のフレキシブルインターフェースブロックは、行または列で配列されている、請求項１に記載の半導体ダイ。
【請求項１２】
装置であって、該装置は、
第１の半導体ダイであって、該第１の半導体ダイは、
第１のインターフェース回路と、
該第１のインターフェース回路に連結された第１の回路と
を含む、第１の半導体ダイと、
該第１のインターフェース回路に連結された第２の半導体ダイと
を含み、
該第２の半導体ダイは、第２の回路を含み、
該第１のインターフェース回路は、該第１の回路と該第２の回路との間においてカスタマイズ可能なインターフェースを提供する、装置。
【請求項１３】
前記第１のインターフェース回路は、
少なくとも１つの相互接続と、
該少なくとも１つの相互接続に連結された少なくとも１つのバッファーと、
前記第１の回路に連結されたルーティングインターフェースと、
該ルーティングインターフェースと該少なくとも１つのバッファーとの間の通信を提供するために連結されたコントローラと
を含む、請求項１２に記載の装置。
【請求項１４】
前記第２の半導体ダイは、前記第１の半導体ダイの上に配置されている、請求項１２に記載の装置。
【請求項１５】
インターポーザーをさらに含み、前記第１の半導体ダイおよび前記第２の半導体ダイは、互いに対して水平に配置されており、該インターポーザーは、該第１の半導体ダイおよび該第２の半導体ダイを一緒に連結している、請求項１２に記載の装置。
【請求項１６】
前記第１の半導体ダイは、プログラマブル論理デバイス（ＰＬＤ）を含み、該ＰＬＤは、前記第１のインターフェース回路を含む、請求項１２に記載の装置。
【請求項１７】
前記第２の半導体ダイは、前記第２の回路に連結された第２のインターフェース回路を含む、請求項１２に記載の装置。
【請求項１８】
前記第２のインターフェース回路は、前記第１のインターフェース回路に連結されている、請求項１７に記載の装置。
【請求項１９】
第１の半導体ダイにおいて集積されたプログラマブル論理デバイス（ＰＬＤ）と、第２の半導体ダイにおいて集積された回路とを用いて電子設計の実装をモデル化する方法であって、該方法は、コンピュータを用いて、該回路を、該回路に連結された該ＰＬＤのフレキシブルインターフェースブロックとして表すことによって実装をモデル化することを含む、方法。
【請求項２０】
前記電子設計を合成するために、前記回路の表示を用いることをさらに含む、請求項１９に記載の方法。
【請求項２１】
前記コンピュータを用いて、前記回路を前記ＰＬＤのフロアプランにおける前記フレキシブルインターフェースブロックの位置に配置することによって、該ＰＬＤの該フロアプランにおいて該回路を配置することをさらに含む、請求項２０に記載の方法。
【請求項２２】
前記コンピュータを用いて、前記フレキシブルインターフェースブロックを前記ＰＬＤの前記フロアプランにおけるＰＬＤリソースにルーティングすることをさらに含む、請求項２１に記載の方法。
【請求項２３】
前記フレキシブルインターフェースブロックは、ＰＬＤリソースに連結されたルーティングインターフェースを含む、請求項１９に記載の方法。
【請求項２４】
前記フレキシブルインターフェースブロックは、前記ルーティングインターフェースに連結されたカスタマイズ可能なコントローラを含む、請求項２３に記載の方法。
【請求項２５】
前記回路に関連付けられたデータまたは通信プロトコルを実装するために、前記コンピュータを用いて、前記カスタマイズ可能なコントローラを構成することをさらに含む、請求項２４に記載の方法。
【請求項２６】
前記実装をモデル化することは、３次元（３Ｄ）構造に関連付けられた複雑さを前記ＰＬＤのユーザーに見せないために、前記回路および前記フレキシブルインターフェースブロックに対応する該３次元（３Ｄ）構造を２次元（２Ｄ）構造としてモデル化することをさらに含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（技術分野）
開示される概念は、概して電子回路網に関し、特に、フレキシブルまたはユニバーサル電子インターフェース回路網のための装置、および関連方法に関する。
【背景技術】
【０００２】
（背景）
エレクトロニクスの発展は、増加されるレベルの集積を可能にしてきた。ＩＣの製造のためのテクノロジーは、その発展に貢献し、比較的に大量の回路および機能をＩＣ内に集積させる手段を提供してきた。結果として、今日のＩＣは、数億個のトランジスタを含み得る。大量のトランジスタにもかかわらず、電子デバイスまたは回路の所望の機能は、ときには、１つより多いＩＣの回路網を用いることを必要とする。このような機能の実装を容易にするために、ときには、２つ以上の半導体ダイが使用され、互いに連結される。
【発明の概要】
【課題を解決するための手段】
【０００３】
（要約）
開示される概念に従う幅広いさまざまな実施形態は、フレキシブル電子インターフェースのための装置および方法を提供するために使用され得る。一例示的実施形態において、半導体ダイは、少なくとも１つのフレキシブルインターフェースブロックを含む。フレキシブルインターフェースブロックは、少なくとも１つの相互接続と、少なくとも１つのバッファーと、ルーティングインターフェースと、コントローラとを含む。少なくとも１つのバッファーは、少なくとも１つの相互接続に連結されている。ルーティングインターフェースは、半導体ダイにおいて集積された回路網に連結されている。コントローラは、ルーティングインターフェースと少なくとも１つのバッファーとの間の通信を提供するように連結されている。
【０００４】
別の例示的実施形態において、装置は、第１のインターフェース回路と、第１のインターフェース回路に連結された第１の回路とを含む第１の半導体ダイを含む。装置は、第２の回路を含む第２の半導体ダイも含み、ここで、第２の半導体ダイは、第１のインターフェース回路に連結されている。第１のインターフェース回路は、第１の回路と第２の回路との間においてカスタマイズ可能なインターフェースを提供する。
【０００５】
なお別の例示的実施形態において、方法は、第１の半導体ダイにおいて集積されたプログラマブル論理デバイス（ＰＬＤ）と、第２の半導体ダイにおいて集積された回路とを用いて電子設計の実装をモデル化するために提供される。方法は、コンピュータを用いて、回路を、回路に連結されたＰＬＤのフレキシブルインターフェースブロックとして表すことによって実装をモデル化することを含む。
【０００６】
例えば、本発明は以下の項目を提供する。
（項目１）
第１のフレキシブルインターフェースブロックを含む半導体ダイであって、
該第１のフレキシブルインターフェースブロックは、
少なくとも１つの相互接続と、
該少なくとも１つの相互接続に連結された少なくとも１つのバッファーと、
該半導体ダイにおいて集積された回路網に連結されたルーティングインターフェースと、
該ルーティングインターフェースと該少なくとも１つのバッファーとの間の通信を提供するために連結されたコントローラと
を含む、半導体ダイ。
（項目２）
上記第１のフレキシブルインターフェースブロックは、上記半導体ダイにおいて集積された第１の回路と、該半導体ダイの外部の第２の回路との間の通信を提供するように適合されている、上記項目に記載の半導体ダイ。
（項目３）
上記第２の回路は、プロトコルに従って動作するように適合されており、上記コントローラは、該プロトコルを用いて該第２の回路への通信を提供するように適合され得る、上記項目のいずれかに記載の半導体ダイ。
（項目４）
上記第１のフレキシブルインターフェースブロックは、上記第１の回路と上記第２の回路との間においてカスタマイズ可能なインターフェースを提供するように適合されている、上記項目のいずれかに記載の半導体ダイ。
（項目５）
上記コントローラは、ハード化された論理回路網を含む、上記項目のいずれかに記載の半導体ダイ。
（項目６）
上記コントローラは、構造化された特定用途の集積回路（ＡＳＩＣ）の回路網を含む、上記項目のいずれかに記載の半導体ダイ。
（項目７）
上記コントローラは、プログラマブル論理回路網を含む、上記項目のいずれかに記載の半導体ダイ。
（項目８）
プログラマブル論理デバイス（ＰＬＤ）を含み、該ＰＬＤは、上記第１のフレキシブルインターフェースブロックを含む、上記項目のいずれかに記載の半導体ダイ。
（項目９）
上記第１のフレキシブルインターフェースブロックは、上記ＰＬＤのプログラマブル相互接続に連結されている、上記項目のいずれかに記載の半導体ダイ。
（項目１０）
上記プログラマブル相互接続は、プログラマブル論理に連結している、上記項目のいずれかに記載の半導体ダイ。
（項目１１）
第２のフレキシブルインターフェースブロックをさらに含み、上記第１のフレキシブルインターフェースブロックおよび該第２のフレキシブルインターフェースブロックは、行または列で配列されている、上記項目のいずれかに記載の半導体ダイ。
（項目１２）
装置であって、該装置は、
第１の半導体ダイであって、該第１の半導体ダイは、
第１のインターフェース回路と、
該第１のインターフェース回路に連結された第１の回路と
を含む、第１の半導体ダイと、
該第１のインターフェース回路に連結された第２の半導体ダイと
を含み、
該第２の半導体ダイは、第２の回路を含み、
該第１のインターフェース回路は、該第１の回路と該第２の回路との間においてカスタマイズ可能なインターフェースを提供する、装置。
（項目１３）
上記第１のインターフェース回路は、
少なくとも１つの相互接続と、
該少なくとも１つの相互接続に連結された少なくとも１つのバッファーと、
上記第１の回路に連結されたルーティングインターフェースと、
該ルーティングインターフェースと該少なくとも１つのバッファーとの間の通信を提供するために連結されたコントローラと
を含む、上記項目のいずれかに記載の装置。
（項目１４）
上記第２の半導体ダイは、上記第１の半導体ダイの上に配置されている、上記項目のいずれかに記載の装置。
（項目１５）
インターポーザーをさらに含み、上記第１の半導体ダイおよび上記第２の半導体ダイは、互いに対して水平に配置されており、該インターポーザーは、該第１の半導体ダイおよび該第２の半導体ダイを一緒に連結している、上記項目のいずれかに記載の装置。
（項目１６）
上記第１の半導体ダイは、プログラマブル論理デバイス（ＰＬＤ）を含み、該ＰＬＤは、上記第１のインターフェース回路を含む、上記項目のいずれかに記載の装置。
（項目１７）
上記第２の半導体ダイは、上記第２の回路に連結された第２のインターフェース回路を含む、上記項目のいずれかに記載の装置。
（項目１８）
上記第２のインターフェース回路は、上記第１のインターフェース回路に連結されている、上記項目のいずれかに記載の装置。
（項目１９）
第１の半導体ダイにおいて集積されたプログラマブル論理デバイス（ＰＬＤ）と、第２の半導体ダイにおいて集積された回路とを用いて電子設計の実装をモデル化する方法であって、該方法は、コンピュータを用いて、該回路を、該回路に連結された該ＰＬＤのフレキシブルインターフェースブロックとして表すことによって実装をモデル化することを含む、方法。
（項目２０）
上記電子設計を合成するために、上記回路の表示を用いることをさらに含む、上記項目のいずれかに記載の方法。
（項目２１）
上記コンピュータを用いて、上記回路を上記ＰＬＤのフロアプランにおける上記フレキシブルインターフェースブロックの位置に配置することによって、該ＰＬＤの該フロアプランにおいて該回路を配置することをさらに含む、上記項目のいずれかに記載の方法。
（項目２２）
上記コンピュータを用いて、上記フレキシブルインターフェースブロックを上記ＰＬＤの上記フロアプランにおけるＰＬＤリソースにルーティングすることをさらに含む、上記項目のいずれかに記載の方法。
（項目２３）
上記フレキシブルインターフェースブロックは、ＰＬＤリソースに連結されたルーティングインターフェースを含む、上記項目のいずれかに記載の方法。
（項目２４）
上記フレキシブルインターフェースブロックは、上記ルーティングインターフェースに連結されたカスタマイズ可能なコントローラを含む、上記項目のいずれかに記載の方法。
（項目２５）
上記回路に関連付けられたデータまたは通信プロトコルを実装するために、上記コンピュータを用いて、上記カスタマイズ可能なコントローラを構成することをさらに含む、上記項目のいずれかに記載の方法。
（項目２６）
上記実装をモデル化することは、３次元（３Ｄ）構造に関連付けられた複雑さを上記ＰＬＤのユーザーに見せないために、上記回路および上記フレキシブルインターフェースブロックに対応する該３次元（３Ｄ）構造を２次元（２Ｄ）構造としてモデル化することをさらに含む、上記項目のいずれかに記載の方法。
【０００７】
（摘要）
半導体ダイは、少なくとも１つのフレキシブルインターフェースブロックを含む。フレキシブルインターフェースブロックは、少なくとも１つの相互接続と、少なくとも１つの相互接続に連結された少なくとも１つのバッファーとを含む。フレキシブルインターフェースブロックは、半導体ダイにおいて集積された回路網に連結されたルーティングインターフェースと、ルーティングインターフェースと少なくとも１つのバッファーとの間の通信を提供するために連結されたコントローラとをさらに含む。
【０００８】
添付した図面は、単に、例示的実施形態を例示するものであり、それ故に、それらの範囲を限定するものとして考慮されるべきではない。当業者は、本明細書で開示される概念が、当業者に他の同等の有効な実施形態を与えることを認識する。図面において、２つ以上の図面に使用された同じ数値の指示子は、同じ、類似、または同等の機能、構成要素、またはブロックを示す。
【図面の簡単な説明】
【０００９】
【図１】図１は、例示的実施形態に従う、フレキシブルインターフェース回路網を使用する半導体ダイの配列を例示する。
【図２】図２は、別の例示的実施形態に従う、フレキシブルインターフェース回路網を使用する半導体ダイの配列を描く。
【図３】図３は、１つ以上のフレキシブルインターフェースブロックを用いることによって半導体ダイの回路網を一緒に連結するための例示的実施形態に従う回路配列を示す。
【図４】図４は、例示的実施形態に従うフレキシブルインターフェースブロックのブロックダイヤグラムを描く。
【図５】図５は、例示的実施形態に従うフレキシブルインターフェースブロックのさらなる詳細を例示する。
【図６】図６は、例示的実施形態に従う、半導体ダイにおけるフレキシブルインターフェースブロックの配列を描く。
【図７】図７は、別の例示的実施形態に従う、半導体ダイにおけるフレキシブルインターフェースブロックの配列を例示する。
【図８】図８は、例示的実施形態に従う、半導体ダイにおけるフレキシブルインターフェースブロックのグループ化を示す。
【図９】図９は、１つ以上のフレキシブルインターフェースブロックを含むプログラマブル論理デバイス（ＰＬＤ）の一般ブロックダイヤグラムを例示する。
【図１０】図１０は、例示的実施形態に従う、プログラマブルリソースおよびフレキシブルインターフェースブロックを含むＰＬＤのブロックダイヤグラムを描く。
【図１１】図１１は、別の例示的実施形態に従う、プログラマブルリソースおよびフレキシブルインターフェースブロックを含むＰＬＤのブロックダイヤグラムを示す。
【図１２】図１２は、例示的実施形態に従うＰＬＤコンピュータ支援設計（ＣＡＤ）ソフトウェアまたはフローのさまざまなモジュールのブロックダイヤグラムを例示する。
【図１３】図１３は、例示的実施形態に従う、情報を処理するためのシステム（例えば、ＣＡＤフロー）のブロックダイヤグラムを描く。
【発明を実施するための形態】
【００１０】
開示された概念は、フレキシブル（またはユニバーサル）電子インターフェース回路網のための装置および関連の技術を提供する。特に、フレキシブルインターフェース回路網は、２つ以上の半導体ダイを連結するための機構を提供する。フレキシブルインターフェース回路網は、さまざまな構成において使用され得、半導体ダイ間の効率的かつ迅速なインターフェースを提供し得る。
【００１１】
いくつかの場合において、２つ以上の半導体ダイが垂直に配列される。例えば、一方の半導体ダイは、他方の半導体ダイの上に位置決めされ、または積重ねられる。追加の半導体ダイは、この構造の上に位置決めされ、または積重ねられ得る。以下に詳細に説明されるように、フレキシブルインターフェース回路網は、半導体ダイのうちの２つ以上を一緒に連結するために使用され得る。
【００１２】
図１は、例示的実施形態に従う、フレキシブルインターフェース回路網を使用する半導体ダイの配列を例示する。示される例示的配列は、基板またはベース１４の上に積重ねられ、または位置決めされた２つの半導体ダイ（５Ａおよび５Ｂでラベル付けされる）を含む。２つの半導体ダイ以外、他の数の半導体ダイは、当業者に理解されるように使用され、垂直に積重ねられる。相互接続１６（例えば、はんだボールまたはバンプ）は、他の媒体（例えば、印刷回路基板（示されていない））に連結するための方法を基板１４に提供する。
【００１３】
ダイ５Ａは、少なくとも１つのフレキシブルインターフェース回路またはブロック１０Ａを含む。フレキシブルインターフェースブロック１０Ａは、ダイ５Ａにおいて集積された回路網に連結する。ダイ５Ａの回路網は、さまざまな形態を有し、さまざまな所望される機能または特定の機能を提供し得る。例えば、ダイ５Ａの回路網は、デジタル回路網（ゲート、ラッチ、フリップフロップ、レジスタ、有限状態マシン等）、アナログ回路（増幅器、加算器、電流および電圧供給源等）、混合信号回路網（アナログ−デジタルコンバータ（ＡＤＣ）、デジタル−アナログコンバータ（ＤＡＣ）等）、および／または別個のコンポーネント（トランジスタ、抵抗器、キャパシター、インダクタ）を含み得る。
【００１４】
同様に、ダイ５Ｂは、少なくとも１つのフレキシブルインターフェース回路またはブロック１０Ｂを含む。ダイ５Ｂの回路網は、さまざまな形態を有し、さまざまな所望または特定の機能を提供し得る。例えば、ダイ５Ｂの回路網は、デジタル回路網（ゲート、ラッチ、フリップフロップ、レジスタ、有限状態マシン等）、アナログ回路（増幅器、加算器、電流および電圧供給源等）、混合信号回路網（アナログ−デジタルコンバータ（ＡＤＣ）、デジタル−アナログコンバータ（ＤＡＣ）等）、および／または別個のコンポーネント（トランジスタ、抵抗器、キャパシター、インダクタ）を含み得る。
【００１５】
フレキシブルインターフェースブロック１０Ａは、連結機構または相互接続１２（例えば、はんだバンプ、はんだボール、マイクロバンプ等）を介してフレキシブルインターフェースブロック１０Ｂに連結する。相互接続１２は、必要に応じて信号および電力ラインを含み得る。ダイ５Ａとダイ５Ｂとの間に電気的連結機構を提供することに加えて、相互接続１２は、ダイ５Ａとダイ５Ｂとの間に物理的連結も提供する。言い換えると、単独、または、他の構造（示されていない）と共に、相互接続１２は、ダイ５Ａに物理的支持を提供する。
【００１６】
前述のように、フレキシブルインターフェースブロック１０Ａは、ダイ５Ａにおいて集積された回路網に連結し、フレキシブルインターフェースブロック１０Ｂは、ダイ５Ｂにおいて集積された回路網に連結する。フレキシブルインターフェースブロック１０Ａがフレキシブルインターフェースブロック１０Ｂに連結するので、フレキシブルインターフェースブロック１０Ａ−１０Ｂは、ダイ５Ａにおいて集積された回路網をダイ５Ｂにおいて集積された回路網に連結するための機構を提供する。
【００１７】
当業者に理解されるように、図１に示された配列は、１つの実施形態を例示することに過ぎず、幅広いさまざまな他の実施形態が可能であり、そして考えられる。実施例は、３次元（３Ｄ）、２．５Ｄ、前面−前面ダイ結合、前面−背面ダイ結合、１つ以上のダイにおけるスルーシリコンビア（ＴＳＶ）を用いるダイ結合等を含む。
【００１８】
図２は、別の例示的実施形態に従う、フレキシブルインターフェース回路網を使用する半導体ダイの配列を描く。図１の配列に類似して、図２の半導体ダイ配列は、ダイ５Ａ−５Ｂ、フレキシブルインターフェースブロック１０Ａ−１０Ｂ、相互接続１２、および相互接続１６を含む。しかしながら、図２の配列において、ダイ５Ａおよび５Ｂは、互いに対して垂直に積重ねられるではなく、並んでまたは水平に位置決めされている。
【００１９】
さらに、図２の配列は、インターポーザー１８を含む。インターポーザー１８は、ダイ５Ａおよびダイ５Ｂの下に位置決めされる。言い換えると、ダイ５Ａおよび５Ｂは、インターポーザー１８の上に位置決めされ、またはインターポーザー１８に対して垂直に積重ねられる。インターポーザー１８は、相互接続１２を介してフレキシブルインターフェースブロック１０Ａ−１０Ｂに連結する。特に、インターポーザー１８は、フレキシブルインターフェースブロック１０Ａをフレキシブルインターフェースブロック１０Ｂに連結するさまざまな連結機構を含み得る。例えば、当業者に理解されるように、インターポーザー１８の連結機構は、ダイ５Ａおよび５Ｂを（フレキシブルインターフェースブロック１０Ａ−１０Ｂを介して）互いに連結し、（相互接続１６を介して）インターポーザー１８に連結された回路網等に連結するために、１つ以上の伝導性トレース１９Ａおよび１つ以上のＴＳＶ  １９Ｂを含み得る。結果として、インターポーザー１８は、フレキシブルインターフェースブロック１０Ａからフレキシブルインターフェースブロック１０Ｂへの電気信号、フレキシブルインターフェースブロック１０Ｂからフレキシブルインターフェースブロック１０Ａへの電気信号、または両方の電気信号に経路を提供する。従って、インターポーザー１８を介して、フレキシブルインターフェースブロック１０Ａおよびフレキシブルインターフェースブロック１０Ｂは、ダイ５Ｂの回路網と通信するための機構をダイ５Ａの回路網に提供する。
【００２０】
開示されたフレキシブルインターフェースブロックは、所望の数の情報および電力信号を通信するための機構を２つ以上のダイに提供する。図３は、１つ以上のフレキシブルインターフェースブロックを用いることによって半導体ダイの回路網を一緒に連結するための例示的実施形態に従う回路配列を示す。
【００２１】
具体的には、ダイ５Ａは、１つ以上のフレキシブルインターフェースブロック１０Ａを含む。同様に、ダイ５Ｂは、１つ以上のフレキシブルインターフェースブロック１０Ｂを含む。フレキシブルインターフェースブロック１０Ａは、相互接続１２を介してフレキシブルインターフェースブロック１０Ｂに連結する。例示的実施形態において、フレキシブルインターフェースブロック１０は、（相互接続１２によって例示されるように）所望の数のデータ経路を有し得る。１つ以上のフレキシブルインターフェースブロック１０Ａおよび１０Ｂを用いることによって、半導体ダイ５Ａと５Ｂとの間に所望の数の情報および電力経路を提供し得る。
【００２２】
実施例として、フレキシブルインターフェースブロック１０Ａおよび１０Ｂの各々は、（相互接続１２によって例示されるように、すなわち、この例において５０個の連結機構）５０個のデータ／電力経路を含むことを想定する。ダイ５Ａと５Ｂとの間に２００個のデータ／電力経路が必要とされ、ダイ５Ａに４つのフレキシブルインターフェースブロック１０Ａを、ダイ５Ｂに４つのフレキシブルインターフェースブロック１０Ｂを含むことをさらに想定する。概して、当業者に理解されるように、説明された配列は、ダイ５Ａと５Ｂとの間にデータ／電力経路の数に対してさまざまな設計および仕様を適応し得る。従って、フレキシブルインターフェースブロック１０Ａ−１０Ｂは、ダイ５Ａの回路網における所望の数のデータ／電力ラインをダイ５Ｂの回路網における対応するデータ／電力ラインに連結するためのスケーラブルおよびフレキシブル機構を提供する。
【００２３】
図４は、例示的実施形態に従って、半導体ダイ５内に含まれたフレキシブルインターフェースブロック１０のブロックダイヤグラムを描く。前述のように、フレキシブルインターフェースブロック１０は、所望の数の相互接続１２を含む。示される実施形態において、フレキシブルインターフェースブロック１０は、バッファー回路網２０、コントローラ２２、およびルーティングインターフェース２４をさらに含む。
【００２４】
前述のように、相互接続１２は、さまざまな機構または特徴を含み得る。例えば、いくつかの実施形態において、相互接続１２は、マイクロバンプを構成し得る。マイクロバンプは、所望のピッチまたは間隔（例えば、４５〜５０ミクロン）を有し得る。相互接続１２は、単方向性または双方向性であり、すなわち、半導体ダイ間において１つの方向または両方の方向での通信を提供する。前述のように、当業者に理解されるように、相互接続１２の数および／またはタイプは、特定の実装または設計に関連するいくつかのファクターに依存する。このようなファクターの例は、所望のデータバンド幅、所望のデータ信号数、所望の電力経路数等を含む。
【００２５】
前述のように、相互接続１２は、半導体ダイ間においてさまざまな信号を通信する。限定することなしに、相互接続１２は、半導体ダイ間においてデータ、電力、制御信号、状態信号を通信し得る。所望のタイプおよび数の信号を用いることによって、スケーラブルおよびパワーフルなインターフェースは、半導体ダイ間に適応され得る。
【００２６】
バッファー回路網２０は、相互接続１２の一部（例えば、すべてのデータ信号）または全部（例えば、データおよび電力信号の混合）に連結する。バッファー回路網２０は、例示的実施形態において以下の機能のうちの１つ以上を提供し得る。まず、バッファー回路網２０は、別のダイ（示されていない）の回路網に信号を提供または伝送するために、ダイ５の回路網からのそれらの信号をバッファーすること、レベルシフトすること（例えば、信号供給源および目的地の回路の異なる電圧レベルを適応すること）、および／または調整することによって出力バッファー機能を提供し得る。次に、バッファー回路網２０は、ダイ５の回路網に信号を提供するために、別のダイ（示されていない）からのそれらの信号をバッファーすること、レベルシフトすること（例えば、信号供給源および目的地の回路の異なる電圧レベルを適応すること）、および／または調整することによって入力バッファー機能を提供し得る。さらに、バッファー回路網２０は、別のダイ（示されていない）の回路網に信号を提供または伝送すること、およびその逆の場合のために、ダイ５の回路網からのそれらの信号をバッファーすること、レベルシフトすること（例えば、信号供給源および目的地の回路の異なる電圧レベルを適応すること）、および／または調整することによって双方向性バッファー機能を提供し得る。
【００２７】
例示的実施形態において、バッファー回路網２０は、フレキシビリティを提供するために、さまざまなプログラマブルまたは構成可能な特徴を有し得る。例えば、いくつかの実施形態において、バッファー回路網２０は、トライステート機能を有し得る。別の実施例として、バッファー回路網２０は、固定またはプログラマブルのドライブ長およびまたはスルーレートを有し得る。
【００２８】
コントローラ２２は、バッファー回路網２０に連結する。概して、コントローラ２２は、フレキシブルインターフェースブロック１０の制御および監視機能を提供する。例えば、コントローラ２２は、ダイ間において通信される信号のタイミング、方向、および数を決定し得る。従って、コントローラ２２の制御の下で、データ／電力信号は、別の半導体ダイへの最終通信のためにバッファー回路網に提供される。
【００２９】
コントローラ２２は、１つ以上のデータまたは通信プロトコルをサポートし得る。例えば、１つの半導体ダイのプロセッサが別の半導体ダイのメモリと通信しようとすることを想定する。当業者に周知のように、メモリはＤＤＲプロトコルを使用することをさらに想定する。コントローラ２２は、ＤＤＲプロトコルに従ってプロセッサとメモリとの間の通信をサポートするための回路網を含み得る。概して、コントローラ２２は、任意の所望のプロトコル（例えば、ＤＤＲ、ＤＤＲ２、ＤＤＲ３、通信プロトコル、シグナリングプロトコル等）をサポートし得る。
【００３０】
ルーティングインターフェース２４は、ダイ５のコントローラ２２および（フレキシブルインターフェースブロック１０以外の）回路網に連結する。具体的には、ルーティングインターフェース２４は、ダイ５の回路（明確に示されていない）からデータ／電力信号を受け取り、その信号をコントローラ２２に提供する。逆に、ルーティングインターフェース２４は、（例えば、別の半導体ダイの回路網（明確に示されていない）から最終的に受信されるように）コントローラ２２からデータ／電力信号を受信し、ダイ５の回路網（明確に示されていない）にその信号を提供する。
【００３１】
図５は、例示的実施形態に従うフレキシブルインターフェースブロック１０のさらなる詳細を例示する。示される実施形態において、相互接続１２は、単方向性出力ライン（またはリンクまたは相互接続）１２Ａ、単方向性入力ライン１２Ｂ、および双方向性ライン１２Ｃを含む。さらに、相互接続１２は、別のデバイスに電力を供給するための電力ライン１２Ｄ、および別のデバイスから電力を受け取るための電力ライン１２Ｅを含む。
【００３２】
バッファー回路網２０は、相互接続１２の出力ライン１２Ａに供給する出力バッファー２０Ａを含む。バッファー回路網２０は、入力ライン１２Ｂによって供給される入力バッファー２０Ｂも含む。さらに、バッファー回路網２０は、信号を伝送または受信するためにライン１２Ｃに連結する双方向性バッファー２０Ｃを含む。示されるように、バッファー回路網２０は、電力ライン１２Ｄ−１２Ｅに対する回路網を含まず、電力がバッファー回路網２０を通過させることに留意する。しかしながら、別の実施形態において、バッファー回路網２０は、必要に応じて、電力を調整または調節するための回路網を含み得る。
【００３３】
例示的実施形態において、コントローラ２２は、ハード（固定または非プログラマブル）からソフト（完全にプログラマブル）までの範囲にあるさまざまな回路網、またはカスタマイズ可能な回路網を含み得る。従って、いくつかの実施形態において、コントローラ２２は、論理ゲート、レジスタ、フリップフロップ、カウンター、有限状態マシン、ハード化知的財産（ＩＰ）、メモリ、多重器（ＭＵＸ）、ラッチ等を含み得る。いくつかの実施形態において、コントローラ２２は、完全にカスタマイズ可能またはプログラマブル論理（例えば、ルックアップテーブル（ＬＵＴ））、ソフトＩＰ、およびプログラマブル論理デバイス（ＰＬＤ）のプログラマブル構造に類似する一般的回路網を含み得る。なお他の実施形態において、コントローラ２２は、構造化された特定用途のＩＣ（構造化されたＡＳＩＣ）の回路網を含み得る。このような実施形態において、当業者に理解されるように、１つ以上のマスク変更を用いて、コントローラ２２の機能が、構成、カスタマイズ、またはプログラム化され得る。実際の実装にかかわらず、いくつかの実施形態において、２つ以上のフレキシブルインターフェースブロック１０におけるコントローラ２２は、追加のフレキシビリティ、増加された機能等を提供するために組み合わせられ得る。
【００３４】
一般的に言うと、ルーティングインターフェース２４は、コントローラ２２と、最終的に別のダイの回路網（明確に示されていない）と通信するための機能をダイ５の回路網（明確に示されていない）に提供する。ルーティングインターフェース２４は、ＭＵＸ、バッファー、レジスタ、および類似な回路網を含み得る。例えば、示される実施形態において、（例えば、コントローラ２２の制御の下で）ＭＵＸ２６は、（例えば、リンク３４を通じて）ダイ５内の回路網（明確に示されていない）から受信されるいくつかの信号のうちの１つを選択し、選択された信号をコントローラ２２に提供し得る。別の実施例として、（例えば、コントローラ２２の制御の下で）ＭＵＸ２８は、コントローラ２２から受信されるいくつかの信号のうちの１つを選択し、（例えば、リンク３４を通じて）ダイ５内の回路網（明確に示されていない）に選択された信号を提供し得る。
【００３５】
バッファーまたはドライバー３０は、ルーティングインターフェース２４からの信号（例えば、ダイ５の回路網（明確に示されていない）からリンク３４を介して受信された信号）を入力として受信し、出力信号をコントローラ２２に提供し得る。逆に、バッファーまたはドライバー３２は、コントローラ２２からの信号を入力として受信し、出力信号をルーティングインターフェース２４に提供し得る。ルーティングインターフェース２４は、バッファーされた信号を、リンク３４を介してダイ５の回路網（明確に示されていない）に提供し得る。
【００３６】
いくつかの実施形態において、ルーティングインターフェース２４は、ＰＬＤのプログラマブル相互接続に類似する回路網を含み得る。このような実施形態において、ルーティングインターフェース２４の回路網の機能は、ＰＬＤのルーティング構造またはリソースとほぼ同じ方法でプログラム化または構成され得る。
【００３７】
前述の実施形態は、フレキシブルインターフェースブロック１０に対するさまざまな回路網および機能を含む。いくつかの実施形態において、すべての特徴が使用され得る。当業者に理解されるように、いくつかの実施形態において、説明された特徴のうちの１つ以上が使用され得る。言い換えると、１つ以上のフレキシブルインターフェースブロック１０内に含まれる回路網および機能は、所与の設計または実装に対する仕様に依存する。フレキシブルインターフェースブロック１０は、比較的に簡単なインターフェース仕様も比較的に複雑な仕様も適応し得る。
【００３８】
本開示の別の局面に従って、半導体ダイ５内のフレキシブルインターフェースブロック１０は、さまざまな方法でグループ化または配列され得る。例えば、いくつかの実施形態において、半導体ダイ５内のフレキシブルインターフェースブロック１０は、フレキシブルインターフェースブロックの行として配列され得る。図６は、その配列を示す。具体的には、ダイ５は、フレキシブルインターフェースブロック１０の複数の行３６Ａ−３６Ｃを含む。行３６Ａ−３６Ｃは、１つ以上のフレキシブルインターフェースブロック１０を含み得る。
【００３９】
別の実施例として、いくつかの実施形態において、半導体ダイ５内のフレキシブルインターフェースブロック１０は、フレキシブルインターフェースブロックの列として配列され得る。図７は、その配列を示す。図７を参照すると、ダイ５は、フレキシブルインターフェースブロック１０の複数の列３８Ａ−３８Ｃを含む。列３８Ａ−３８Ｃは、１つ以上のフレキシブルインターフェースブロック１０を含み得る。
【００４０】
いくつかの実施形態において、２つ以上のフレキシブルインターフェースブロック１０は、例えば、追加のデータ／電力ライン、より広いデータ経路、よりフレキシブルまたはパワーフルなコントローラ２２等を提供するために、一緒にグループ化され得る。図８は、その実施形態の例を描く。ダイ５は、複数のフレキシブルインターフェースブロック１０を含む。フレキシブルインターフェースブロック１０は、多くの方法（例えば、行で、列で、所望の位置において個々の位置決めされる等）で配列され得る。２つ以上のフレキシブルインターフェースブロック１０が互いに隣接し、または、互いに隣り合いまたは互いに対して比較的に近く位置決めされる場合、それらは、前述のように、追加の機能またはフレキシブル性を提供するために一緒に組み合わせられ得る。示される実施形態において、４つのフレキシブルインターフェースブロック１０は、フレキシブルインターフェースブロック１０のグループ４０Ａを形成するために一緒にグループ化され、別の４つのフレキシブルインターフェースブロック１０は、フレキシブルインターフェースブロック１０のグループ４０Ｂとして一緒にグループ化される。
【００４１】
開示された概念は、完全または部分的にプログラマブルまたは構成可能な回路網を含むＩＣを含む幅広いさまざまなＩＣに適用され得る。従って、いくつかの実施形態において、１つの半導体ダイにおいて集積されたＰＬＤは、１つ以上の追加の半導体ダイにおいて集積された回路網に連結し、またはインターフェース接続するために、１つ以上のフレキシブルインターフェースブロック１０を含み得る。いくつかの実施形態において、１つの半導体ダイにおいて集積されたＰＬＤは、１つ以上の追加の半導体ダイにおいて集積された１つ以上のＰＬＤに連結し、またはインターフェース接続するために、１つ以上のフレキシブルインターフェースブロック１０を含み得ることに留意する。
【００４２】
一般性を失うことなしに、以下の段落は、ＰＬＤへの開示された概念の適用を説明する。図９は、１つ以上のフレキシブルインターフェースブロック１０を含む、例示的実施形態に従うＰＬＤ１０３の一般ブロックダイヤグラムを描く。ＰＬＤ１０３は、半導体ダイ（例えば、前述され、かつ図１〜８に示された半導体ダイ）において含まれ、または製造され得る。
【００４３】
図９を参照すると、ＰＬＤ１０３は、構成回路網１３０、構成メモリ（ＣＲＡＭ）１３３、制御回路網１３６、プログラマブル論理１０６、プログラマブル相互接続１０９、およびＩ／Ｏ回路網１１２を含む。加えて、ＰＬＤ１０３は、必要に応じて、テスト／デバッグ回路網１１５、１つ以上のプロセッサ１１８、１つ以上の通信回路網１２１、１つ以上のメモリ１２４、１つ以上のコントローラ１２７、１つ以上のフレキシブルインターフェースブロック１０、および初期化回路１３９を含み得る。
【００４４】
ＰＬＤ１０３は、当業者に理解されるように、他のブロックおよび回路網を含み得ることに留意する。このような回路網の例は、クロック生成および分配回路、冗長回路等を含む。さらに、ＰＬＤ１０３は、必要に応じて、アナログ回路網、他のデジタル回路網、および／または混合信号回路網を含み得る。
【００４５】
プログラマブル論理１０６は、構成可能またはプログラマブル論理回路網、例えば、ＬＵＴ、積項論理、ＭＵＸ、論理ゲート、レジスタ、メモリ等を含む。プログラマブル相互接続１０９は、プログラマブル論理１０６に連結し、プログラマブル論理１０６内のさまざまなブロックと、ＰＬＤ１０３内または外側の他の回路網との間に構成可能な相互接続（連結機構）を提供する。プログラマブル相互接続１０９は、当業者に理解されるように、ＭＵＸ、パストランジスタ、バッファー等を含み得る。
【００４６】
制御回路網１３６は、ＰＬＤ１０３内のさまざまな動作を制御する。制御回路網１３６の制御の監視の下で、ＰＬＤ構成回路網１３０は、ＰＬＤ１０３の機能をプログラム化または構成するために、（外部の供給源（例えば、格納デバイス、ホスト等）から得られ得る）構成データを使用する。構成データは、一般的にＣＲＡＭ１３３に格納される。ＣＲＡＭ１３３のコンテンツは、ＰＬＤ１０３のさまざまなブロック（例えば、プログラマブル論理１０６およびプログラマブル相互接続１０９）の機能を決定する。初期化回路１３９は、ＰＬＤ１０３のリセットまたは電力アップ時にさまざまな機能の実行を生じさせ得る。
【００４７】
Ｉ／Ｏ回路網１１２は、本開示の利益を得る当業者に理解されるように、幅広いさまざまなＩ／Ｏデバイスまたは回路を構成し得る。Ｉ／Ｏ回路網１１２は、ＰＬＤ１０３のさまざまな部分、例えば、プログラマブル論理１０６およびプログラマブル相互接続１０９に連結し得る。Ｉ／Ｏ回路網１１２は、外部の回路網またはデバイスと通信するために、ＰＬＤ１０３内のさまざまなブロックに機構および回路網を提供する。
【００４８】
テスト／デバッグ回路網１１５は、ＰＬＤ１０３内のさまざまなブロックおよび回路のテストおよびトラブルシュートを容易にする。テスト／デバッグ回路網１１５は、本開示の利益を得る当業者に公知のさまざまなブロックまたは回路を含み得る。例えば、テスト／デバッグ回路網１１５は、必要に応じて、ＰＬＤ１０３が電力アップの後、またはリセットした後にテストを行うための回路を含み得る。テスト／デバッグ回路網１１５は、必要に応じて、コーディングおよびパリティー回路も含み得る。
【００４９】
ＰＬＤ１０３は、１つ以上のプロセッサ１１８を含み得る。プロセッサ１１８は、ＰＬＤ１０３内の他のブロックおよび回路に連結し得る。プロセッサ１１８は、本明細書の開示の利益を得る当業者に認識されるように、ＰＬＤ１０３内または外部の回路からデータおよび情報を受信し、幅広いさまざまな方法で情報を処理し得る。１つ以上のプロセッサ１１８は、デジタル信号プロセッサ（ＤＳＰ）を構成し得る。ＤＳＰは、必要に応じて、幅広いさまざまな信号処理タスク、例えば、圧縮、解凍、オーディオ処理、ビデオ処理、フィルターリング等を行うことを可能にする。
【００５０】
ＰＬＤ１０３は、１つ以上の通信回路１２１も含み得る。通信回路１２１は、当業者に理解されるように、ＰＬＤ１０３内のさまざまな回路とＰＬＤ１０３外部の回路との間のデータおよび情報の交換を容易にし得る。例えば、いくつかの実施形態において、通信回路１２１は、他の電子デバイスと通信するためのトランシーバーを含み得る。
【００５１】
ＰＬＤ１０３は、１つ以上のメモリ１２４および１つ以上のコントローラ１２７をさらに含み得る。メモリ１２４は、ＰＬＤ１０３内のさまざまなデータおよび情報（例えば、ユーザーデータ、中間結果、計算結果等）の格納を可能にする。メモリ１２４は、必要に応じて、粒状またはブロックの形態を有し得る。メモリコントローラ１２７は、メモリ１２４、および／またはＰＬＤ１０３および／またはダイ５の外側のメモリ（例えば、別の半導体ダイ（示されていない）において集積されたメモリ）にインターフェース接続することと、並びにそれらの動作およびさまざまな機能を制御することを可能にする。例えば、メモリコントローラ１２７は、必要に応じて、外部の（例えば、別の半導体ダイ（示されていない）において集積されたメモリ）同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）にインターフェース接続し、かつ制御するメモリコントローラを構成し得る。
【００５２】
フレキシブルインターフェースブロック１０は、前述のように、回路網を含み、機能を提供し得る。フレキシブルインターフェースブロック１０は、プログラマブル相互接続１０９に連結する。次に、プログラマブル相互接続１０９は、ＰＬＤ１０３の回路網の１つ以上のブロック（例えば、図面において示されたブロック）に連結する。このようなブロックは、プログラマブル相互接続１０９を介してフレキシブルインターフェースブロック１０と通信し得る。さらに、フレキシブルインターフェースブロック１０は、相互接続１２を介して、別の半導体ダイ（示されていない）内の回路網と通信し得る。
【００５３】
図１０は、例示的実施形態に従う、プログラマブルリソースおよびフレキシブルインターフェースブロックを含むＰＬＤ１０３のブロックダイヤグラムを示す。特に、図面は、２次元アレイとして配列されるプログラマブル論理１０６を含むＰＬＤ１０３の平面図を示す。水平相互接続および垂直相互接続として配列されるプログラマブル相互接続１０９は、プログラマブル論理１０６のブロックを互いに連結する。
【００５４】
ＰＬＤ１０３は、行、列として、または、２次元またはアレイパターンで配列され得るフレキシブルインターフェースブロック１０を含む。フレキシブルインターフェースブロック１０は、プログラマブル相互接続１０９を介してＰＬＤ１０３の１つ以上のブロックに連結する。前述のように、２つ以上のフレキシブルインターフェースブロック１０は、増加されたバンド幅、処理量、機能等を提供するために、一緒にグループ化され得る。フレキシブルインターフェースブロックのこのようなグループは、プログラマブル相互接続を介してプログラマブル論理１０６またはＰＬＤ１０３の回路網の他のブロック（例えば、図９を参照する）に連結し得る。
【００５５】
当業者に理解されるように、ユーザーの設計を実装するように特定の方式でさまざまなブロックを図１０に配置し得る。ブロック、ブロックの一部分、またはブロックのセットは、ＰＬＤ１０３のタイルまたは領域を構成し得る。従って、ＰＬＤ１０３は、当業者に理解されるように、所望の配置で（２等分、４等分等のように）配列されるいくつかのタイルを含み得る。他の実施形態において、ＰＬＤ１０３は、行および／または列の回路網または回路網のブロックを含み得る。
【００５６】
フレキシブルインターフェースブロック１０は、有利にＰＬＤにおいてより小さい粒状のレベルで使用され得る。具体的には、いくつかの実施形態において、ＰＬＤ１０３のコアまたは骨組は、プログラマブル回路網（プログラマブル論理、プログラマブル相互接続等）のより小さい粒状の構造を含み得る。フレキシブルインターフェースブロック１０は、このような実施形態において、ＰＬＤ１０３において粒度の所望のレベルでフレキシブル、カスタマイズ可能なインターフェースを提供するために使用され得る。
【００５７】
図１１は、例示的実施形態に従う、プログラマブル相互接続１０９を介してフレキシブルインターフェースブロック１０に接続されるプログラマブル論理１０６のブロックの回路配列を示す。示される例示的実施形態において、プログラマブル論理１０６は、論理要素、または、プログラマブル論理要素、回路、またはブロック１５０、ローカル相互接続１５２、インターフェース回路１５３、およびインターフェース回路１５６を含む。フレキシブルインターフェースブロックは、グローバルＰＬＤリソースレベルより低いレベル、グローバルＰＬＤリソースレベル、または両方のレベルでプログラマブル論理１０６に連結し得る。
【００５８】
論理要素１５０は、当業者に理解されるように、構成可能またはプログラマブル論理機能、例えば、ＬＵＴ、フリップフロップ、レジスタ、積項論理等を提供する。ローカル相互接続１５２は、互いに連結するための構成可能またはプログラマブル機構を論理要素１５０に提供する。加えて、ローカル相互接続１５２は、１つ以上のフレキシブルインターフェースブロック１０に対して、論理要素１５０のための構成可能またはプログラマブル機構を提供する。
【００５９】
論理要素１５０は、必要に応じて、互いに、１つ以上のフレキシブルインターフェースブロック１０に、またはプログラマブル相互接続１０９（ときどき、「グローバル相互接続」と呼ばれる）に連結し得る。インターフェース回路１５６およびインターフェース回路１５３は、プログラマブル相互接続１０９（および、従って他のプログラマブル論理１０６）に連結するための構成可能またはプログラマブル方法を回路網のプログラマブル論理１０６ブロックに提供する。
【００６０】
インターフェース回路１５６およびインターフェース回路１５３は、当業者に理解されるように、ＭＵＸ、ＤＥＭＵＸ、レジスタ、バッファー、パスゲート、ドライバー等を含み得る。より高いレベルにおいて、より大きなプログラマブルブロックを実現するために、大量の論理要素１５０および関連の回路網を組み合わせ得る。所望のレベルの粒度のプログラム可能性を有する回路網のプログラマブルブロックを生成するために、所与の状況で所望されるように、または適切なように、このプロセスを繰り返し得る。このようなレベルのうちの１つ以上において、ＰＬＤ１０３の階層構造または構成または回路網は、多くの方法で（例えば、個々のブロック、行、列、２次元アレイ等として）配列され得る１つ以上のフレキシブルインターフェースブロック１０に連結され得る。
【００６１】
一旦所望の数のフレキシブルインターフェースブロック１０が、ＰＬＤ１０３に含まれると、ＰＬＤのプログラマブル特性は、フレキシブルインターフェースブロック１０と一緒に、所望の機能を有する幅広いさまざまな電子回路網またはシステムを実現または実装するためのスケーラブル、フレキシブルな構造をユーザーに提供する。ユーザーがこのような回路網またはシステムを実装または実現することを支援するために、コンピュータ支援設計（ＣＡＤ）フローまたはソフトウェアを使用し得る。
【００６２】
図１２は、例示的実施形態に従うＰＬＤ  ＣＡＤソフトウェアまたはフローが使用するさまざまなソフトウェアモジュールを例示する。モジュールは、設計エントリーモジュール２０３、合成モジュール２０６、配置−ルートモジュール２０９、および検証モジュール２１２を含む。ＣＡＤフローは、さまざまなアプリケーションを有し、かつさまざまな機能を提供し得る。実施例は、設計エリア最適化または計画、配置、タイミング実行および終結、電力計画、ルート能力最適化または計画等を含む。
【００６３】
設計エントリーモジュール２０３は、必要に応じて、回路またはその挙動のグラフィックまたはテキスト記述（例えば、概略図、ハードウェア記述言語（ＨＤＬ）、または波形）を用いてさまざまな設計記述ファイルの編集を可能にする。ユーザーは、必要に応じて、設計エントリーモジュール２０３を用いること、またはさまざまな電子設計自動化（ＥＤＡ）またはＣＡＤツール（例えば、産業標準ＥＤＡツール）を用いることによって設計ファイルを生成し得る。ユーザーは、必要に応じて、グラフィック形式、波形ベースの形式、概略形式、テキストまたは２進化形式、またはそれらの形式の組み合わせで設計を入力し得る。
【００６４】
ユーザーは、１つ以上のフレキシブルインターフェースブロック１０を全ＰＬＤの仕様の一部分として特定し得る。フレキシブルインターフェースブロック１０を用いることによって、ユーザーの回路は、前述のように１つ以上の半導体ダイにおいて集積された他の回路網に連結し得る。ユーザーは、さまざまな仕様をフレキシブルインターフェースブロック１０に提供し得る。実施例は、位置（配置仕様）、電力仕様、タイミング仕様、機能等を含む。前述のように、ユーザーは２つ以上のフレキシブルインターフェースブロック１０をグループ化もし得る。
【００６５】
いくつかの実施形態において、ＣＡＤフローは、ＰＬＤ１０３の回路網のブロックまたはＩＰとして、フレキシブルインターフェースブロック１０、およびそれらが連結する回路網を論理的に扱う。従って、このようなフレキシブルインターフェースブロック１０は、ＰＬＤ１０３のダイと異なるダイにおいて集積された回路網に物理的にインターフェース接続し得るが、ユーザーの回路を解析、合成および配置する目的のために、ＣＡＤフローは、そのような回路網がＰＬＤ１０３の回路網の一部分であり、フレキシブルインターフェースブロック１０の位置において配置されているように考え得る。言い換えると、フレキシブルインターフェースブロック１０および関連の回路網（例えば、ＰＬＤ１０３のダイと異なるダイにおいて集積されたメモリブロック）は、ＰＬＤ１０３の内蔵メモリブロックとして表され、または扱われ得る。従って、この実施例において、メモリブロックは、メモリブロックに連結されたフレキシブルインターフェースブロック１０として表され、または（例えば、論理的に）モデル化され得る。
【００６６】
より抽象なオブジェクト（例えば、マクロ）を用いることによって、フレキシブルインターフェースブロック１０および（例えば、ＰＬＤ１０３のダイと異なるダイにおいて集積された）ＰＬＤ１０３の外部の回路網のさまざまな物理的、電気的、および論理的属性は、抽象なオブジェクトに帰属され得る。このように、３Ｄ構造（例えば、別のダイの上に積重ねられた１つのダイ、それらのいずれかまたは両方がＰＬＤであり得る）は、２次元（２Ｄ）構造としてユーザーに表され得る。従って、ＣＡＤフローは、物理的構造、論理的構造、電気的構造等に関連付けられる複雑さ（例えば、タイミング、電気インターフェース、電圧レベル等）を取り扱う。結果として、３Ｄ構造に関連付けられる複雑さは、３Ｄ構造を２Ｄ構造として表すことによって隠され、またはＰＬＤ（またはＰＬＤ  ＣＡＤ）のユーザーに対して透明にされ得る。当業者に理解されるように、この概念は、メモリブロックに限定されず、必要に応じて、幅広いさまざまな回路網およびＩＰブロックに適用され得る。
【００６７】
例えば、ユーザーは、彼または彼女の回路を実装するために、メモリブロックを使用しようとすることを想定する。ＣＡＤフローは、ＰＬＤ１０３のダイと異なるダイにおいて集積されるメモリブロックを特定するメモリブロックの表示を含み得、その場合、メモリブロックを含むダイは、ＰＬＤ１０３のフロアプランの位置Ｘにおいて１つ以上のフレキシブルインターフェースブロック１０を介してＰＬＤ１０３に連結する。ユーザーの視点から、メモリブロックは、彼または彼女が設計仕様の一部分として使用し得るマクロである。メモリブロックの位置仕様、電気的（タイミング、信号、コントローラ設計、プロトコル等）、物理的（例えば、異なるダイ）、および論理的属性（幅、深さ等）を用いて、ＰＬＤ  ＣＡＤフローは、ユーザーの設計においてメモリブロックを適切に表す。
【００６８】
合成モジュール２０６は、設計エントリーモジュール２０３の出力を受け取る。ユーザーから提供された設計に基づいて、合成モジュール２０６は、ユーザーから提供された設計を実現する適切な論理回路網を生成する。１つ以上のＰＬＤ（明確に示されていない）、例えば、図１のＰＬＤ１０３は、合成されたすべての設計またはシステムを実装する。
【００６９】
合成モジュール２０６は、ユーザーの設計のさまざまなモジュールの集積、適切な動作およびインターフェース接続を可能にする任意のグルー（ｇｌｕｅ）論理も生成し得る。例えば、合成モジュール２０６は、１つのブロックの出力が、別のブロックの入力を適切にインターフェース接続するように適切なハードウェアを提供する。合成モジュール２０６は、全設計またはシステムのモジュールの各々の仕様に満たすように、適切なハードウェアを提供し得る。ユーザーの設計が、抽象なオブジェクトまたは回路網またはコンポーネント（例えば、フレキシブルインターフェースブロック１０を介してＰＬＤ１０３に連結された回路網）を含む場合、合成モジュールは、オブジェクトの属性を用いてユーザーの設計のオブジェクトを表す。
【００７０】
さらに、合成モジュール２０６は、合成された設計を最適化するためのアルゴリズムおよびルーチンを含み得る。最適化を通じて、合成モジュール２０６は、全設計またはシステムを実装する１つ以上のＰＬＤのリソースをより効率的に使用しようとする。合成モジュール２０６は、その出力を配置およびルートモジュール２０９に提供する。合成の後に、テクノロジーマッピングモジュールを含み得る（明確に示されていない）。
【００７１】
配置およびルートモジュール２０９は、ＰＬＤ１０３のフロアプランにおいて最適の論理マッピングおよび配置を行うために、設計者のタイミング仕様を使用する。論理マッピングおよび配置は、ＰＬＤ内に論理リソースの使用を決定する。設計のある部分に対するＰＬＤ内の特定のプログラマブル相互接続の使用によって、配置およびルートモジュール２０９は、全設計またはシステムの性能を最適化することを助ける。ＰＬＤルーティングリソースの適切な使用によって、配置およびルートモジュール２０９は、全設計またはシステムのクリティカルタイミングパスを満たすことを助ける。前述のように、フレキシブルインターフェースブロック１０は、ＰＬＤ１０３のフロアプランにおいて、予め決定され、予め割り当てられ、予約され、または分配された位置を有し得る。配置およびルートモジュール２０９は、その位置についての情報を使用して、他のコンポーネントをフレキシブルインターフェースブロック１０に、従ってＰＬＤ１０３のダイと異なるダイにおいて集積された他の回路網に適切にルーティングする。
【００７２】
配置およびルートモジュール２０９は、当業者に理解されるように、より速いタイミング終結を提供することを助けるために、クリティカルタイミングパスを最適化し得る。結果として、全設計およびシステムは、より速い性能を達成し得る（すなわち、より高いクロックレートで動作し、またはより高い処理量で動作する）。
【００７３】
検証モジュール２１２は、設計のシミュレーションおよび検証を行う。シミュレーションおよび検証は、部分的に、設計がユーザーの規定された使用を満たすことを検証しようとする。シミュレーションおよび検証は、設計を試作する前に、任意の設計問題を検出し、かつ修正することを支援する。従って、検証モジュール２１２は、全設計またはシステムの全コストおよび所要時間を減少させるようにユーザーを助ける。
【００７４】
検証モジュール２１２は、必要に応じて、さまざまな検証およびシミュレーションオプションをサポートし、かつ行い得る。本開示の説明の利益を得る当業者に理解されるように、オプションは、機能の検証、テストベンチの生成、静的タイミング分析、タイミングシミュレーション、ハードウェア／ソフトウェアシミュレーション、システム内の検証、ボードレベルタイミング分析、信号保全性解析および電磁気適合性（ＥＭＣ）、形式のネットリスト検証等を含み得る。
【００７５】
必要に応じて、かつ本開示の説明の利益を得る当業者に理解されるように、他のまたは追加の検証技術を行い得ることを留意する。設計の検証は、適切なように、かつ必要に応じて、フローの他の段階でも行われ得る。
【００７６】
前述のように、上記説明は、開示された概念を部分的にＰＬＤに関連させるが、当業者の知識内にある変更を行うことによって、開示された概念は、さまざまな他の電子回路およびデバイスに適用され得る。このようなデバイスのいくつかの例は、カスタム、標準セル、ゲートアレイ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、複雑なＰＬＤ（ＣＰＬＤ）、および構造化されたＡＳＩＣ実装を含む。
【００７７】
コンピュータシステムおよびプロセスにおいて開示されたアルゴリズム、方法、ソフトウェア（例えば、ＣＡＤソフトウェア）、またはファームウェア（例えば、いくつかの回路網（例えば、ボーディーバイアス制御回路網）の機能の一部分がファームウェアを用いて実装される場合）を動作させ、または実行し得る。具体的には、ＰＬＤ  ＣＡＤフローは、情報処理システムまたはコンピュータ（例えば、図１３に示される情報処理システム）において動作するソフトウェアとして実装され得る。当業者は、必要に応じて、幅広いさまざまな他の情報処理装置、コンピュータシステム、プロセッサ、マイクロコンピュータ、ワークステーション等を使用し得る。従って、図１３は、１つの実施例を例示することに過ぎない。
【００７８】
システム１０００は、コンピュータデバイス１００５、入力デバイス１０１０、ビデオ／ディスプレイデバイス１０１５、および格納／出力デバイス１０２０を含むが、必要に応じて、それらのデバイスの各々の１つより多いものを含み得る。コンピュータデバイス１００５は、入力デバイス１０１０、ビデオ／ディスプレイデバイス１０１５、および格納／出力デバイス１０２０に連結する。システム１０００は、当業者に理解されるように、必要に応じて、１つより多いコンピュータデバイス１００５、例えば、関連付けられたコンピュータデバイスまたはシステムのセットを含み得る。
【００７９】
システム１０００は、ユーザーからの入力に関連して動作する。ユーザー入力は、一般的に、システム１０００に、特定の所望の情報処理タスク、例えば、回路シミュレーションを行わせる。システム１０００は、それらのタスクを行うために、部分的にコンピュータデバイス１００５を使用する。コンピュータデバイス１００５は、情報処理回路網、例えば、中央処理ユニット（ＣＰＵ）を含むが、当業者に理解されるように、１つより多いＣＰＵまたは情報処理回路網を使用し得る。
【００８０】
入力デバイス１０１０は、ユーザーから入力を受信し、処理のために、コンピュータデバイス１００５に利用可能な入力を作る。ユーザー入力は、必要に応じて、データ、命令、または両方を含み得る。入力デバイス１０１０は、英数字入力デバイス（例えば、キーボード）、ポインティングデバイス（例えば、マウス、ローラーボール、ライトペン、タッチセンサー式の装置、例えば、タッチセンサー式のディスプレイ、またはタブレット）、または両方を構成し得る。ユーザーは、英数字キーボードを動作させ、テキスト、例えば、ＡＳＣＩＩ文字をコンピュータデバイス１００５に提供する。同様に、ユーザーは、ポインティングデバイスを動作させ、カーソル位置または制御情報をコンピュータデバイス１００５に提供する。
【００８１】
ビデオ／ディスプレイデバイス１０１５は、ユーザーに視覚的画像またはグラフィックを表示する。視覚的画像は、コンピュータデバイス１００５の動作についての情報、例えば、グラフ、絵、画像、およびテキストを含み得る。ビデオ／ディスプレイデバイスは、当業者に理解されるように、コンピュータモニターまたはディスプレイ、投影デバイス等を含み得る。システムが、タッチセンサー式のディスプレイまたはタッチスクリーンを使用する場合、ディスプレイは、ユーザー入力をコンピュータデバイス１００５に提供するようにも動作し得る。
【００８２】
格納／出力デバイス１０２０は、コンピュータデバイス１００５が、追加の処理または後の検索のための情報を格納すること（例えば、ソフトコピー）、またはさまざまな形で情報を表すこと（例えば、ハードコピー）、または両方のことを可能にする。実施例として、格納／出力デバイス１０２０は、所望の媒体上に、かつ所望の形式で情報を格納することが可能である磁気、光学、または磁気光学のドライブを構成し得る。別の実施例として、格納／出力デバイス１０２０は、コンピュータデバイス１００５からの情報の、プリントまたはプロットされた表示を生成するために、プリンター、プロッター、または他の出力デバイスを構成し得る。
【００８３】
コンピュータ読み取り可能な媒体１０２５は、構造的かつ機能的にコンピュータデバイス１００５に相互に関連する。コンピュータ読み取り可能な媒体１０２５は、機能的記述材料を格納、暗号化、記録、および／または実施する。例示として、機能的記述材料は、コンピュータプログラム、コンピュータコード、コンピュータアプリケーション、および／または情報構造（例えば、データ構造またはファイルシステム）を含み得る。コンピュータ読み取り可能な媒体１０２５によって格納、暗号化、記録、および／または実施される場合、機能的記述材料は、機能を与える。機能的記述材料は、コンピュータ読み取り可能な媒体１０２５に相関する。
【００８４】
機能的記述材料内の情報構造は、情報構造と、コンピュータ読み取り可能な媒体１０２５および／またはシステム１０００の他の局面との間の構造的かつ機能的相関を規定する。これらの相関は、情報構造の機能の実現を可能にする。さらに、このような機能的記述材料内において、コンピュータプログラムは、コンピュータプログラムと、コンピュータ読み取り可能な媒体１０２５およびシステム１０００の他の局面との間の構造的かつ機能的相関を規定する。これらの相関は、コンピュータプログラムの機能の実現を可能にする。
【００８５】
例示として、コンピュータデバイス１００５は、コンピュータデバイス１００５のコンピュータメモリ（図面において明確に示されていない）内の機能的記述材料を読み取り、アクセスし、またはそれらをコンピュータメモリ内にコピーする。コンピュータデバイス１００５は、コンピュータメモリに存在する材料に応じて動作を行う。コンピュータデバイス１００５は、コンピュータデバイス１００５に追加の動作を行わせるコンピュータアプリケーションを処理する動作を行い得る。従って、機能的記述材料は、コンピュータデバイス１００５がプロセスを実行し、かつ動作を行う方法と機能的相関を示す。
【００８６】
さらに、コンピュータ読み取り可能な媒体１０２５は、装置を構成し、コンピュータデバイス１００５は、装置から、コンピュータ情報、プログラム、コード、および／またはアプリケーションにアクセスし得る。コンピュータデバイス１００５は、コンピュータデバイス１００５に追加の動作を行わせる情報、プログラム、コード、および／またはアプリケーションを処理し得る。
【００８７】
当業者に理解されるように、さまざまな方法でコンピュータ読み取り可能な媒体１０２５を実装し得ることを留意する。例えば、コンピュータデバイス１００５内のメモリは、必要に応じて、コンピュータ読み取り可能な媒体１０２５を構成し得る。代替的には、コンピュータ読み取り可能な媒体１０２５は、例えば、コンピュータデバイス１００５が、コンピュータデバイスまたは情報処理システムのネットワークから機能的記述材料を受信する場合、関連され、相関され、（例えば、導体、ファイバー等を介して）連結され、またはネットワークでつなげられたコンピュータ読み取り可能な媒体のセットを含み得る。コンピュータデバイス１００５は、必要に応じて、コンピュータ読み取り可能な媒体１０２５、ネットワーク、または両方から機能的記述材料を受信し得ることを留意する。
【００８８】
図面を参照すると、当業者は、さまざまな示されたブロックが、主に概念的機能および信号フローを描き得ることを留意する。実際の回路実装は、さまざまな機能的ブロックに対して別個に識別可能なハードウェアを含み得るか、または、含まない場合もあり、示される特定の回路網を含み得るか、または、含まない場合もある。例えば、必要に応じて、１つの回路ブロック内にさまざまなブロックの機能を組み合わせ得る。さらに、必要に応じて、いくつかの回路ブロックにおいて、単一なブロックの機能を実現し得る。回路実装の選択肢は、所与の実装のための特定の設計および性能仕様のようなさまざまなファクターに依存する。本明細書で説明された実施形態に加えて、他の変更および代替的な実施形態は、当業者によって明白である。従って、この説明は、当業者に、開示された概念を実行する方式を教示し、そして単に例示として解釈されるべきである。
【００８９】
示され、かつ説明された形態および実施形態は、例示的な実施形態としてとられるべきである。当業者は、本明細書に開示された概念の範囲から逸脱することなしに、パーツの形状、大きさおよび配列においてさまざまな改変を行い得る。例えば、当業者は、本明細書で例示され、かつ説明された構成要素に対して同等の要素を代わりに用い得る。さらに、当業者は、開示された概念の範囲から逸脱することなしに、他の特徴の使用に独立して、開示された概念の一定の特徴を使用し得る。
【図１】
2013146063.tif 000003
【図２】
2013146063.tif 000004
【図３】
2013146063.tif 000005
【図４】
2013146063.tif 000006
【図５】
2013146063.tif 000007
【図６】
2013146063.tif 000008
【図７】
2013146063.tif 000009
【図８】
2013146063.tif 000010
【図９】
2013146063.tif 000011
【図１０】
2013146063.tif 000012
【図１１】
2013146063.tif 000013
【図１２】
2013146063.tif 000014
【図１３】
2013146063.tif 000015