(57)【要約】【課題】マスク−プログラマブルロジックデバイスのユーザ論理設計に用いられ得る部分を最大限にすること。【解決手段】本発明によるマスク−プログラマブルロジックデバイス（３０）は、外部入出力ポート（３３０）を有するマクロセルを含み、メタライゼーション層を加えることによって「プレイスアンドルート」プログラムし、プログラマブルな「固定」層（３６）は、その層が「フローティング」し、それによってマクロセルが用いられていないときにおいて外部入出力ポートを介してルーティングされる信号がルート遮断を低減することを可能にするように、外部入出力ポートをマクロセルの残部から分離することが可能である。マクロセルはまた、少なくとも１つの内部入出力ポートと、どの内部入出力ポートが外部入出力ポートに接続されるかを制御するように用いられ得るプログラマブルな「固定」層とを有し得る。【選択図】図３
2006310840.tif 000002
【特許請求の範囲】
【請求項１】
複数のベース半導体層と、
複数のベースメタライゼーション層と
を備えたマスク−プログラマブルロジックデバイスであって、
該ベース半導体層および該ベースメタライゼーション層は、少なくとも１つのさらなるメタライゼーション層に接続されている場合では、複数のロジックユニットを形成し、
該ロジックユニットの少なくとも２つの各々は、内部入出力ポートを備え、
該マスク−プログラマブルロジックデバイスは、少なくとも１つの外部入出力ポートであって、該複数のロジックユニットの少なくとも１つに接続するように構成され、該さらなるメタライゼーション層のうちの１つに接続するように構成されている、外部入出力ポートをさらに備え、
該複数のベース半導体層と該複数のベースメタライゼーション層とのうちの少なくとも１つの層が、少なくとも１つの該内部入出力ポートと該少なくとも１つの外部入出力ポートとの接続を制御するようにプログラム可能であり、該複数のベース半導体層および該複数のベースメタライゼーション層は、
（ａ）該外部入出力ポートのプログラマブルな分離と、
（ｂ）該少なくとも２つのロジックユニットのうちの少なくとも１つの該内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）該少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
のうちの少なくとも１つに適するように構成されている、マスク−プログラマブルロジックデバイス。
【請求項２】
前記複数のベース半導体層および前記複数のベースメタライゼーション層が、
（ａ）前記外部入出力ポートのプログラマブルな分離と、
（ｂ）前記少なくとも２つのロジックユニットのうちの少なくとも１つの前記内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）前記少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
のうちの少なくとも２つに適するように構成されている、請求項１に記載のマスク−プログラマブルロジックデバイス。
【請求項３】
前記複数のベース半導体層および前記複数のベースメタライゼーション層が、
（ａ）前記外部入出力ポートのプログラマブルな分離と、
（ｂ）前記少なくとも２つのロジックユニットのうちの少なくとも１つの前記内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）前記少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
の全てに適するように構成されている、請求項２に記載のマスク−プログラマブルロジックデバイス。
【請求項４】
前記少なくとも１つのプログラマブルな層が前記複数のベース半導体層の１つである、請求項１に記載のマスク−プログラマブルロジックデバイス。
【請求項５】
前記少なくとも１つのプログラマブルな層が前記複数のベースメタライゼーション層の１つである、請求項１に記載のマスク−プログラマブルロジックデバイス。
【請求項６】
前記少なくとも１つのプログラマブルな層が、前記内部入出力ポートを前記外部入出力ポートから分離するようにプログラム可能である、請求項１に記載のマスク−プログラマブルロジックデバイス。
【請求項７】
少なくとも２つの前記内部入出力ポートが、前記外部入出力ポートのうちの１つに接続可能であり、
前記少なくとも１つのプログラマブルな層が、該外部入出力ポートを該少なくとも２つの内部入出力ポートのうちの１つに接続するようにプログラム可能である、請求項１に記載のマスク−プログラマブルロジックデバイス。
【請求項８】
前記少なくとも１つのプログラマブルな層が、前記外部入出力ポートを前記少なくとも２つの内部入出力ポートのどちらにも接続するようにプログラム可能である、請求項７に記載のマスク−プログラマブルロジックデバイス。
【請求項９】
複数のベース半導体層と、
複数のベースメタライゼーション層と、
（ａ）複数のロジックユニットと、（ｂ）該複数のロジックユニット間の接続とのうちの少なくとも１つを形成するように該ベース層に提供された少なくとも１つのさらなるメタライゼーション層と
を備えたマスク−プログラマブルロジックデバイスであって、
該ロジックユニットの少なくとも２つの各々は、内部入出力ポートを備え、
該マスク−プログラマブルロジックデバイスは、少なくとも１つの外部入出力ポートであって、該複数のロジックユニットの少なくとも１つに接続するように構成され、該さらなるメタライゼーション層のうちの１つに接続するように構成されている、外部入出力ポートをさらに備え、
該複数のベース半導体層と該複数のベースメタライゼーション層とのうちの少なくとも１つの層が、少なくとも１つの該内部入出力ポートと該少なくとも１つの外部入出力ポートとの接続を制御するようにプログラム可能であり、該複数のベース半導体層および該複数のベースメタライゼーション層は、
（ａ）該外部入出力ポートのプログラマブルな分離と、
（ｂ）該少なくとも２つのロジックユニットのうちの少なくとも１つの該内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）該少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
のうちの少なくとも１つに適するように構成されている、マスク−プログラマブルロジックデバイス。
【請求項１０】
前記複数のベース半導体層および前記複数のベースメタライゼーション層が、
（ａ）前記外部入出力ポートのプログラマブルな分離と、
（ｂ）前記少なくとも２つのロジックユニットのうちの少なくとも１つの前記内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）前記少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
のうちの少なくとも２つに適するように構成されている、請求項９に記載のマスク−プログラマブルロジックデバイス。
【請求項１１】
前記複数のベース半導体層および前記複数のベースメタライゼーション層が、
（ａ）前記外部入出力ポートのプログラマブルな分離と、
（ｂ）前記少なくとも２つのロジックユニットのうちの少なくとも１つの前記内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）前記少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
の全てに適するように構成されている、請求項１０に記載のマスク−プログラマブルロジックデバイス。
【請求項１２】
前記少なくとも１つのプログラマブルな層が前記複数のベース半導体層の１つである、請求項９に記載のマスク−プログラマブルロジックデバイス。
【請求項１３】
前記少なくとも１つのプログラマブルな層が前記複数のベースメタライゼーション層の１つである、請求項９に記載のマスク−プログラマブルロジックデバイス。
【請求項１４】
前記少なくとも１つのプログラマブルな層が、前記内部入出力ポートを前記外部入出力ポートから分離するようにプログラム可能である、請求項９に記載のマスク−プログラマブルロジックデバイス。
【請求項１５】
少なくとも２つの前記内部入出力ポートが、前記外部入出力ポートのうちの１つに接続可能であり、
前記少なくとも１つのプログラマブルな層が、該外部入出力ポートを該少なくとも２つの内部入出力ポートのうちの１つに接続するようにプログラム可能である、請求項９に記載のマスク−プログラマブルロジックデバイス。
【請求項１６】
前記少なくとも１つのプログラマブルな層が、前記外部入出力ポートを前記少なくとも２つの内部入出力ポートのどちらにも接続するようにプログラム可能である、請求項１５に記載のマスク−プログラマブルロジックデバイス。
【請求項１７】
マスク−プロラマブルロジックデバイスとともに用いるために該マスク−プログラマブルロジックデバイスをプログラムする方法であって、
該マスク−プログラマブルロジックデバイスは、
複数のベース半導体層と、
複数のベースメタライゼーション層と
を備え、
該ベース半導体層および該ベースメタライゼーション層は、少なくとも１つのさらなるメタライゼーション層に接続されている場合では、複数のロジックユニットを形成し、
該ロジックユニットの少なくとも２つの各々は、内部入出力ポートを備え、
該マスク−プログラマブルロジックデバイスは、少なくとも１つの外部入出力ポートであって、該複数のロジックユニットの少なくとも１つに接続するように構成され、該さらなるメタライゼーション層のうちの１つに接続するように構成されている、外部入出力ポートをさらに備え、
該複数のベース半導体層と該複数のベースメタライゼーション層とのうちの少なくとも１つの層が、少なくとも１つの該内部入出力ポートと該少なくとも１つの外部入出力ポートとの接続を制御するようにプログラム可能であり、該複数のベース半導体層および該複数のベースメタライゼーション層は、
（ａ）該外部入出力ポートのプログラマブルな分離と、
（ｂ）該少なくとも２つのロジックユニットのうちの少なくとも１つの該内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）該少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
のうちの少なくとも１つに適するように構成されており、
該方法は、
少なくとも１つの該さらなるメタライゼーションを提供することと、
該少なくとも１つのプログラマブルなベース層をプログラムすることと
を包含する、方法。
【請求項１８】
前記プログラムすることが、前記複数のベース半導体層のうちの１つをプログラムすることを包含する、請求項１７に記載の方法。
【請求項１９】
前記プログラムすることが、前記複数のベースメタライゼーション層のうちの１つをプログラムすることを包含する、請求項１７に記載の方法。
【請求項２０】
前記プログラムすることが、前記内部入出力ポートを前記外部入出力ポートから分離することを包含する、請求項１７に記載の方法。
【請求項２１】
少なくとも２つの前記内部入出力ポートが、前記外部入出力ポートのうちの１つに接続可能であり、
前記プログラムすることが、該外部入出力ポートを該少なくとも２つの内部入出力ポートのうちの１つに接続することを包含する、請求項１７に記載の方法。
【請求項２２】
前記プログラムすることが、前記外部入出力ポートを前記少なくとも２つの内部入出力ポートのどちらにも接続することを包含する、請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、固定層とプログラマブル層とを有するマスク−プログラマブルロジックデバイスに関し、そのデバイスでは、入出力（「Ｉ／Ｏ」）ポートは固定層に配置されているが、プログラム可能である。
【背景技術】
【０００２】
プログラマブルロジックデバイスは周知である。初期のプログラマブルロジックデバイスは、一回だけ構成可能であった。例えば、可溶性のリンクを「ブローイングする」（換言すると、開ける）ことによって、構成は達成され得る。あるいは、その構成は、プログラマブルな読み取り専用メモリに格納され得る。それらのデバイスは、一般的に、ユーザに、そのデバイスを「積和」（すなわち「Ｐ−ＴＥＲＭ」）ロジック演算用に構成する能力を提供した。その後、構成用に消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）を組み入れた上記のようなプログラマブルロジックデバイスが利用可能になり、それによって、デバイスを再構成することが可能になった。
【０００３】
その後、構成用にスタティックランダムアクセスメモリ（ＳＲＡＭ）要素を組み入れたプログラマブルロジックデバイスが利用可能になった。それらのデバイスもまた再構成可能であり、不揮発性メモリ（例えばＥＰＲＯＭ）に自身の構成を格納する。デバイスへの電力が増加されるたびに、そのメモリからＳＲＡＭ要素へとその構成がロードされる。これらのデバイスは、一般的に、ユーザに、そのデバイスをルックアップテーブル型のロジック演算用に構成する能力を提供する。ある時点で、そのようなデバイスに、ランダムアクセスメモリ、または読み取り専用メモリ、またはロジック（例えばＰ−ＴＥＲＭロジック）の機能を果たすようにユーザによって構成され得るランダムアクセスメモリの埋め込みブロックが提供されだした。
【０００４】
上記のプログラマブルロジックデバイスの全てにおいて、そのデバイス内の特定のロジック要素のロジック機能と、ロジック要素間の信号のルーティング用の相互接続とはともに、プログラム可能であった。つい最近、マスク−プログラマブルデバイスが提供された。全ユーザに同一のデバイスを販売するのではなく、マスク−プログラマブルロジックデバイスを用いることによって、製造業者は、機能がユーザによってプログラム可能でなく、ルーティングまたは相互接続リソースを欠いた、ロジック要素の標準配置を有する部分デバイスを製造する。
【０００５】
ユーザは、マスク−プログラマブルロジックデバイスの製造業者に、所望のデバイスの仕様を提供する。その仕様とは、従来のプログラマブルロジックデバイスと同等なデバイスをプログラムするための構成ファイルであり得る。製造者は、その情報を用いて、上述した部分デバイスにメタライゼーション層を追加する。これらのさらなる層は、それらの要素内に特定の接続をすることによってロジック要素をプログラムし、また、ロジック要素間に相互接続ルーティングを追加する。マスク−プログラマブルロジックデバイスにも、従来のプログラマブルロジックデバイスと関連して上述したように、埋め込みランダムアクセスメモリブロックが提供され得る。そのようなプログラマブルロジックデバイスにおいて、埋め込みメモリが読み取り専用メモリまたはＰ−ＴＥＲＭロジックとして構成される場合では、その構成も、さらなるメタライゼーション層を用いて達成される。
【０００６】
従来のプログラマブルロジックデバイスは、所望の機能を実行するようにユーザがデバイスを容易に設計することを可能にし、従来のプログラマブルロジックデバイスは、必ず、特定の設計では用いられない可能性もあるリソースを含む。さらに、汎用のルーティングおよび相互接続リソースと、ロジック要素からの信号が所望のルーティングおよび相互接続リソースに到達することを可能にする切り替えリソースとを提供するために、従来のプログラマブルロジックデバイスは、組み込む機能が多くなるにつれ、一層大きくなり、そのようなデバイスのサイズおよび電力消費が増大する。種々の切り替え要素を介した信号のルーティングは、一ルーティングおよび相互接続リソースから別のリソースへと伝わるときにおいて、信号を減速させる。
【０００７】
マスク−プログラマブルロジックデバイスの出現によって、マスク−プログラマブルロジックデバイスの製造版を表明することを除いて、ユーザが従来のプログラマブルロジックデバイスにおける設計を試すことが可能になった。そのデバイスは、同一の機能に対して顕著に小さくなり得、用いる電力が顕著に減り得る。その理由は、特定の設計に対しては、相互接続およびルーティングリソースのみが実際に必要とされるためである。さらに、それらのリソースは単純なメタライゼーションである。そのため、スペースまたは電力を消費するか信号を減速する汎用の切り替え要素はない。
【０００８】
最近の世代のマスク−プログラマブルロジックデバイスは、同一の製造業者による従来のプログラマブルロジックデバイスと同等なデバイスに直接には基づかない。例えば、そのようなデバイスの一つは、同時継続かつ同一譲受人に譲渡された特許文献１（２００２年１２月９日出願）に示されており、そのデバイスは、従来のプログラマブルロジックデバイスの機能を提供するように相互に接続され得る、従来のものより広い要素ロジック領域を複数含む。本明細書では、特許文献１の全容を援用する。そのようなデバイスは、特定のユーザ論理設計において用いられなくあり得る構造を複製する必要がないという利点を有する。その代わりに、それらのデバイスには、等価と見なされ得る従来のプログラマブルロジックデバイスと同一の論理設計を作成するのに十分なリソースが提供されている。
【０００９】
特定の型に関わらず、マスク−プログラマブルロジックデバイスは、通常、固定半導体層と固定メタライゼーション層とを含んだ複数の固定層を有し、ユーザのユーザ論理設計をインプリメントするために追加される一つ以上のプログラムメタライゼーション層が提供されている。固定層の構造の間にＩ／Ｏポートがあり、そのポートは、特定のユーザ論理設計において用いてもよく、用いなくてもよい。
【００１０】
特定のマスク−プログラマブルロジックデバイスは、従来のプログラマブルロジックデバイスと同様に、特定サイズのユーザ論理設計を提供し得るだけということは自明である。提供する設計が大きいほど、必要とされるデバイスは大きくなり得る。しかし、大抵の場合（ユーザ論理設計のサイズの限界に達している場合）では、特定の型のリソース（ルーティングまたはロジックリソース）の全てが用いられているので、不使用のままの別の型のデバイス上にあるリソースが存在し得るが、限界に達している。例えば、利用可能なルーティングリソースを有するユーザ設計をルーティングすることが可能でなくあり得、同時に、上記のＩ／Ｏポートの一部は不使用のままである。
【００１１】
マスク−プログラマブルロジックデバイスのユーザ論理設計に用いられ得る部分を最大限にすること、従って、ユーザ論理設計の特定デバイスに提供され得るサイズを最大限にすることを可能にすることは、望ましい。
【特許文献１】米国特許出願第１０／３１６，２３７号明細書
【発明の開示】
【課題を解決するための手段】
【００１２】
（発明の概要）
本発明は、多くの場合、少数の代替機能の中間またはそれら機能のうちの機能として特定のプログラム可能性を提供する、マスク−プログラマブルロジックデバイスの少なくとも１つの「固定」層を基にする。本発明によると、そのような層（単数または複数）を用いて、マクロセルのＩ／Ｏポートまたは別のロジック群を構成する。その層はメタライゼーション層であり得る。そのメタライゼーション層では、プログラマブル接続（例えば、フューズ）を用いて、その層または半導体層（その半導体層では、プログラマブルビアを用いて、半導体層の一方の側のメタライゼーション層間を接続し得るか、その層間の接続を切断し得る）のセグメント間を接続するか、セグメント間の接続を切断する。
【００１３】
本発明によるデバイスでは、マクロセルが、プレイスアンドルート（ｐｌａｃｅ−ａｎｄ−ｒｏｕｔｅ）ポート（場合によっては、本明細書中および添付の特許請求の範囲において「外部」ポートと参照されることもある、ポート）と、１つ以上の内部ポートを有する。例えば、異なった内部ポートは、異なった群のロジック回路を接続し得る。ユーザ論理設計に用いるために選択された機能によらず、対応する内部ポートはプレイスアンドルートポートに接続され得、そのプレイスアンドルートポートは、プログラムメタライゼーション層を介して、そのデバイスの別の部分または外部ピンにルーティングする。あるいは、例えば駆動力を増加させるために、２つ以上の群のロジック回路が並列に用いられ得る。駆動力を増加させる場合では、各群は同一の機能を有するようにプログラムされ得る。
【００１４】
本発明によると、プログラマブル層がプログラムされる態様に依って外部ポートが分離され得るように、ポート（内部ポートおよび外部ポート）が配置される。これによって、外部ポートをフローティングポートにすることが可能になり、その結果、不使用のポートはルート遮断を生じない。また、ポートは、２つ以上の内部ポートが外部ポートに接続され得るように、配置される。これによって、種々の異なった内部ポートによる単一の外部ポートの共有が可能になる。２つ以上の内部ポートが単一の外部ポートへと接続可能であることによって、ルーティング性能が増加され（遮断が低減され）、所望の場合には、２つの群のロジック回路の外部ポートへの並列接続も容易にする。別の可能性は、外部ポートを共有する２つのロジック回路が、プログラムメタライゼーション層を介してルーティングする必要なしに、共有ポートを介して互いに通信し得るということである。
【００１５】
最後に、外部ポートは固定層において分離され得るので、外部ポートの上方のビア層は、従来ではプログラム層であると考えられていたが、必要に応じて固定され得る。外部ポートが対向する端部において切断され得るので、外部ポートとプログラムポートとの間のビアが制御可能である必要はなくあり得る。
【００１６】
従って、本発明によると、複数のベース半導体層と複数のベースメタライゼーション層を含んだマスク−プログラマブルロジックデバイスが提供される。ベース半導体層およびベースメタライゼーション層は、少なくとも１つのさらなるメタライゼーション層に接続されている場合では、複数のロジックユニットを形成する。その複数のロジックユニットのうちの少なくとも２つのロジックユニットの各々は、内部入出力ポートを備える。マスク−プログラマブルロジックデバイスは、少なくとも１つの外部入出力ポートをさらに備え、その外部入出力ポートは、複数のロジックユニットのうちの少なくとも１つに接続するように構成され、さらなるメタライゼーション層のうちの１つに接続するように構成されている。複数のベース半導体層と複数のベースメタライゼーション層とのうちの少なくとも１つの層は、少なくとも１つの内部入出力ポートと少なくとも１つの外部入出力ポートとの接続を制御するようにプログラム可能である。複数のベース半導体層と複数のベースメタライゼーション層とは、（ａ）外部入出力ポートのプログラマブルな分離、（ｂ）少なくとも２つのロジックユニットのうちの少なくとも１つの内部入出力ポートへの外部入出力ポートのプログラマブルな接続、（ｃ）少なくとも２つのロジックユニットの入出力ポートのプログラマブルな相互接続、のうちの少なくとも１つに適するように構成されている。
【００１７】
プログラマブルベース層をプログラムし、プログラムにメタライゼーションを追加することによって、プログラムされたとおりのデバイスも、プログラマブルベース層をプログラムし、プログラムにメタライゼーションを追加する方法と同様に、提供される。
【００１８】
本発明の上記利点および別の利点は、添付の図面とあわせて以下の詳細な説明を考慮することによって明らかになる。図中では、同等の参照番号は、全図にわたって同等の部分を参照する。
【００１９】
上記目的を達成するために、本発明は、例えば、以下の手段を提供する。
【００２０】
（項目１）
複数のベース半導体層と、
複数のベースメタライゼーション層と
を備えたマスク−プログラマブルロジックデバイスであって、
該ベース半導体層および該ベースメタライゼーション層は、少なくとも１つのさらなるメタライゼーション層に接続されている場合では、複数のロジックユニットを形成し、
該ロジックユニットの少なくとも２つの各々は、内部入出力ポートを備え、
該マスク−プログラマブルロジックデバイスは、少なくとも１つの外部入出力ポートであって、該複数のロジックユニットの少なくとも１つに接続するように構成され、該さらなるメタライゼーション層のうちの１つに接続するように構成されている、外部入出力ポートをさらに備え、
該複数のベース半導体層と該複数のベースメタライゼーション層とのうちの少なくとも１つの層が、少なくとも１つの該内部入出力ポートと該少なくとも１つの外部入出力ポートとの接続を制御するようにプログラム可能であり、該複数のベース半導体層および該複数のベースメタライゼーション層は、
（ａ）該外部入出力ポートのプログラマブルな分離と、
（ｂ）該少なくとも２つのロジックユニットのうちの少なくとも１つの該内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）該少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
のうちの少なくとも１つに適するように構成されている、マスク−プログラマブルロジックデバイス。
【００２１】
（項目２）
上記複数のベース半導体層および上記複数のベースメタライゼーション層が、
（ａ）上記外部入出力ポートのプログラマブルな分離と、
（ｂ）上記少なくとも２つのロジックユニットのうちの少なくとも１つの上記内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）上記少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
のうちの少なくとも２つに適するように構成されている、項目１に記載のマスク−プログラマブルロジックデバイス。
【００２２】
（項目３）
上記複数のベース半導体層および上記複数のベースメタライゼーション層が、
（ａ）上記外部入出力ポートのプログラマブルな分離と、
（ｂ）上記少なくとも２つのロジックユニットのうちの少なくとも１つの上記内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）上記少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
の全てに適するように構成されている、項目２に記載のマスク−プログラマブルロジックデバイス。
【００２３】
（項目４）
上記少なくとも１つのプログラマブルな層が上記複数のベース半導体層の１つである、項目１に記載のマスク−プログラマブルロジックデバイス。
【００２４】
（項目５）
上記少なくとも１つのプログラマブルな層が上記複数のベースメタライゼーション層の１つである、項目１に記載のマスク−プログラマブルロジックデバイス。
【００２５】
（項目６）
上記少なくとも１つのプログラマブルな層が、上記内部入出力ポートを上記外部入出力ポートから分離するようにプログラム可能である、項目１に記載のマスク−プログラマブルロジックデバイス。
【００２６】
（項目７）
少なくとも２つの上記内部入出力ポートが、上記外部入出力ポートのうちの１つに接続可能であり、
上記少なくとも１つのプログラマブルな層が、該外部入出力ポートを該少なくとも２つの内部入出力ポートのうちの１つに接続するようにプログラム可能である、項目１に記載のマスク−プログラマブルロジックデバイス。
【００２７】
（項目８）
上記少なくとも１つのプログラマブルな層が、上記外部入出力ポートを上記少なくとも２つの内部入出力ポートのどちらにも接続するようにプログラム可能である、項目７に記載のマスク−プログラマブルロジックデバイス。
【００２８】
（項目９）
複数のベース半導体層と、
複数のベースメタライゼーション層と、
（ａ）複数のロジックユニットと、（ｂ）該複数のロジックユニット間の接続とのうちの少なくとも１つを形成するように該ベース層に提供された少なくとも１つのさらなるメタライゼーション層と
を備えたマスク−プログラマブルロジックデバイスであって、
該ロジックユニットの少なくとも２つの各々は、内部入出力ポートを備え、
該マスク−プログラマブルロジックデバイスは、少なくとも１つの外部入出力ポートであって、該複数のロジックユニットの少なくとも１つに接続するように構成され、該さらなるメタライゼーション層のうちの１つに接続するように構成されている、外部入出力ポートをさらに備え、
該複数のベース半導体層と該複数のベースメタライゼーション層とのうちの少なくとも１つの層が、少なくとも１つの該内部入出力ポートと該少なくとも１つの外部入出力ポートとの接続を制御するようにプログラム可能であり、該複数のベース半導体層および該複数のベースメタライゼーション層は、
（ａ）該外部入出力ポートのプログラマブルな分離と、
（ｂ）該少なくとも２つのロジックユニットのうちの少なくとも１つの該内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）該少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
のうちの少なくとも１つに適するように構成されている、マスク−プログラマブルロジックデバイス。
【００２９】
（項目１０）
上記複数のベース半導体層および上記複数のベースメタライゼーション層が、
（ａ）上記外部入出力ポートのプログラマブルな分離と、
（ｂ）上記少なくとも２つのロジックユニットのうちの少なくとも１つの上記内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）上記少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
のうちの少なくとも２つに適するように構成されている、項目９に記載のマスク−プログラマブルロジックデバイス。
【００３０】
（項目１１）
上記複数のベース半導体層および上記複数のベースメタライゼーション層が、
（ａ）上記外部入出力ポートのプログラマブルな分離と、
（ｂ）上記少なくとも２つのロジックユニットのうちの少なくとも１つの上記内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）上記少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
の全てに適するように構成されている、項目１０に記載のマスク−プログラマブルロジックデバイス。
【００３１】
（項目１２）
上記少なくとも１つのプログラマブルな層が上記複数のベース半導体層の１つである、項目９に記載のマスク−プログラマブルロジックデバイス。
【００３２】
（項目１３）
上記少なくとも１つのプログラマブルな層が上記複数のベースメタライゼーション層の１つである、項目９に記載のマスク−プログラマブルロジックデバイス。
【００３３】
（項目１４）
上記少なくとも１つのプログラマブルな層が、上記内部入出力ポートを上記外部入出力ポートから分離するようにプログラム可能である、項目９に記載のマスク−プログラマブルロジックデバイス。
【００３４】
（項目１５）
少なくとも２つの上記内部入出力ポートが、上記外部入出力ポートのうちの１つに接続可能であり、
上記少なくとも１つのプログラマブルな層が、該外部入出力ポートを該少なくとも２つの内部入出力ポートのうちの１つに接続するようにプログラム可能である、項目９に記載のマスク−プログラマブルロジックデバイス。
【００３５】
（項目１６）
上記少なくとも１つのプログラマブルな層が、上記外部入出力ポートを上記少なくとも２つの内部入出力ポートのどちらにも接続するようにプログラム可能である、項目１５に記載のマスク−プログラマブルロジックデバイス。
【００３６】
（項目１７）
マスク−プロラマブルロジックデバイスとともに用いるために該マスク−プログラマブルロジックデバイスをプログラムする方法であって、
該マスク−プログラマブルロジックデバイスは、
複数のベース半導体層と、
複数のベースメタライゼーション層と
を備え、
該ベース半導体層および該ベースメタライゼーション層は、少なくとも１つのさらなるメタライゼーション層に接続されている場合では、複数のロジックユニットを形成し、
該ロジックユニットの少なくとも２つの各々は、内部入出力ポートを備え、
該マスク−プログラマブルロジックデバイスは、少なくとも１つの外部入出力ポートであって、該複数のロジックユニットの少なくとも１つに接続するように構成され、該さらなるメタライゼーション層のうちの１つに接続するように構成されている、外部入出力ポートをさらに備え、
該複数のベース半導体層と該複数のベースメタライゼーション層とのうちの少なくとも１つの層が、少なくとも１つの該内部入出力ポートと該少なくとも１つの外部入出力ポートとの接続を制御するようにプログラム可能であり、該複数のベース半導体層および該複数のベースメタライゼーション層は、
（ａ）該外部入出力ポートのプログラマブルな分離と、
（ｂ）該少なくとも２つのロジックユニットのうちの少なくとも１つの該内部入出力ポートへの該外部入出力ポートのプログラマブルな接続と、
（ｃ）該少なくとも２つのロジックユニットの該入出力ポートのプログラマブルな相互接続と
のうちの少なくとも１つに適するように構成されており、
該方法は、
少なくとも１つの該さらなるメタライゼーションを提供することと、
該少なくとも１つのプログラマブルなベース層をプログラムすることと
を包含する、方法。
【００３７】
（項目１８）
上記プログラムすることが、上記複数のベース半導体層のうちの１つをプログラムすることを包含する、項目１７に記載の方法。
【００３８】
（項目１９）
上記プログラムすることが、上記複数のベースメタライゼーション層のうちの１つをプログラムすることを包含する、項目１７に記載の方法。
【００３９】
（項目２０）
上記プログラムすることが、上記内部入出力ポートを上記外部入出力ポートから分離することを包含する、項目１７に記載の方法。
【００４０】
（項目２１）
少なくとも２つの上記内部入出力ポートが、上記外部入出力ポートのうちの１つに接続可能であり、
上記プログラムすることが、該外部入出力ポートを該少なくとも２つの内部入出力ポートのうちの１つに接続することを包含する、項目１７に記載の方法。
【００４１】
（項目２２）
上記プログラムすることが、上記外部入出力ポートを上記少なくとも２つの内部入出力ポートのどちらにも接続することを包含する、項目２１に記載の方法。
【発明を実施するための最良の形態】
【００４２】
図１〜６を参照して、本発明を説明する。
【００４３】
図１は、７つの層１１〜１７を有する既知のマスク−プログラマブルロジックデバイス１０の一実施形態を示す。層１１、１３、１５および１７は金属層であり、層１２、１４および１６は、ビア１２０、１４０、１６０および１６１を含んだ半導体層である。層１３〜１７は、好適には、ベースプログラマブルデバイス１０を表す「固定」層であり、層１１および１２は、好適には、プログラム層を表す。好適には、大抵のプログラムは層１１および１２によって確立される接続によって提供されるが、一部のプログラムは、好適には、「固定」層１６をプログラムすることによっても達成され、その「固定」層は、好適には、いくつかのプログラマブルビア１６０、１６１を少なくとも含む。さらに、２つのみのプログラム層１１、１２を示したが、さらなるプログラム層があってもよい。同様に、層１３〜１７のほかに、さらなる固定層（図示せず）があってもよい。プログラマブル構造は、仮想的に示されている。従って、この例では、全メタライゼーション層１１は仮想的に示されており、層１２のビア１２０および層１６のビア１６０、１６１も仮想的に示されている。
【００４４】
デバイス１０では、層１３内の金属構造１３０は、上述したように、好適には、「プレイスアンドルート」ポートまたは「外部」ポートである。このデバイスでは、金属層１５は実質的に連続している。このことは、金属層１５（この金属層は内部ポートと見なされ得る）に接続されたロジック回路（例えば、構造１７０、１７１に接続された回路）の一部の部分に信号がある場合では、信号が外部ポート１３０に伝導されているということを意味する。従って、信号がポート１３０を介して伝播するのを防ぐ唯一の方法は、ビア１２０を伝導するようにプログラムしないこと、またはポート１３０の上方の領域から層１１をエッチングして取り除くことである。
【００４５】
図２は、７つの層２１〜２７を有する既知のマスク−プログラマブルロジックデバイス２０の別の実施形態を示す。層２１、２３、２５および２７は金属層であり、層２２、２４および２６は、ビア２２０、２４０、２６０および２６１を含んだ半導体層である。層２３〜２７は、好適には、ベースマスク−プログラマブルデバイス２０を表す「固定」層であり、層２１および２２は、好適には、プログラム層を表す。好適には、大抵のプログラムは層２１および２２によって確立される接続によって提供されるが、一部のプログラムは、好適には「固定」層２５をプログラムすることによっても達成され、その「固定」層は、好適には、いくつかのプログラマブル接続２５０、２５１を少なくとも含む。例えば、接続２５０、２５１は、プログラムデバイス２０へとブローイングされ得るフューズであり得る。
【００４６】
図３は、本発明によるマスク−プログラマブルロジックデバイス３０の第１の実施形態を示す。この実施形態では、図１と比較すると、デバイス１０の底層１７における構造１７０、１７１が、外部ポート３３０の直下の層３５における構造３５０、３５１に置き換えられており、この外部ポートは、半導体層３４によって層３５から分離されている。構造３５０、３５１のうちの一つのみが、外部ポート３３０に接続されており、その両構造はともに、プログラマブルビア３６０、３６１によって内部ポート３７０へと接続可能である。この実施形態において、外部ポート３３０を分離することが所望される場合では、この分離は、プログラムビア３６０を伝導するようにプログラムしないことによって、達成され得る。
【００４７】
本発明によるマスク−プログラマブルロジックデバイス４０の第２の実施形態を図４に示す。その実施形態は図１と類似する。デバイス１０の底層１７における構造１７０、１７１が、層４７における構造４７０、４７１に置き換えられており、上記層または図示していない層の別の場所において提供されたロジック回路用の内部ポートとしての機能を果たし得る。内部ポート４７０、４７１のうちの所望の一ポートまたは両ポートが外部ポート４３０に接続されるように、内部ポート４７０、４７１は、ビア４６０、４６１のうちの適切な一ビアを伝導するようにプログラムすることによって、金属層４５を介して外部ポート４３０を共有し得る。また、この実施形態では、外部ポート４３０は、ビア４６０、４６１の両ビアを伝導しないようにプログラムすることによって、分離され得る。
【００４８】
実施形態３０および４０では、外部ポートはプログラム層に関係なく分離され得るので、層３２、４２は、層１２および２２のようにプログラム可能であるのではなく、固定され得る。層３１、４１（および場合によっては図示していない別の層）のみがプログラム可能であり得る。このことは、ユーザ論理設計をインプリメントするためにプログラム層を用いる局面における、ユーザに対するコストの節約を表し得る。しかし、内部ポート４７０、４７１が外部ポート４３０に接続せずに互いに接続され得るように、層４２はデバイスの一般的なルーティング構造をバイパスするようにプログラム可能にされ得る。あるいは、層４２がプログラム可能でない場合では、層４１は、外部ポート４３０の上方において、エッチングして取り除かれ得る（または、層４１を堆積しない）。
【００４９】
実施形態５０は、層５５の部分５５１が部分５５２に接続されないように、この場合では層５５における接続５５０を開くことによって外部ポート５３０（層５３）が分離され得るという点において、実施形態３０と類似し、部分５５２は、伝導性ビア５６０（層５６）によって内部ポート５７０（層５７）に接続されている。実施形態６０は、適切な内部ポートが外部ポート６３０に接続されるように、接続６５０、６５１（層６５）を伝導させるようにまたは伝導させないようにプログラムすることによって、内部ポート６７０、６７１（層６７）の一方または両方が外部ポート６３０（層６３）に接続し得るか接続されなくあり得るという点において、実施形態４０と類似する。上記のとおり、層５２または６２は、それらの実施形態におけるプログラム能力を犠牲にせずに、固定され得る。しかし、内部ポート６７０、６７１が外部ポート６３０に接続せずに互いに接続され得るように、層６２はデバイスの一般的なルーティング構造をバイパスするようにプログラム可能にされ得る。あるいは、層６２がプログラム可能でない場合では、層６１は、外部ポート６３０の上方において、エッチングして取り除かれ得る（または、層６１を堆積しない）。
【００５０】
上記のとおり、本発明は、ルーティング性能を改善する。従って、マクロセル３０または５０が用いられず、マクロセルを用いる場合には各々の外部ポート３３０または５３０がルート遮断を引き起こす場合では、そうでなければ遮断され得る信号がシンプルに伝播し得るように、プログラマブル層３６または５５を用いて分離され得る。これによって、上述したように、層３２または５２の固定およびプログラムコストの節約が可能になる。同様に、層４６または６５を適切にプログラムすることによる２つの異なったロジック機能に外部ポート４３０または６３０へのアクセスを提供することによって、ルート性能は、マクロセル４０または６０において改善される。この２つの機能は、外部駆動力を増加させるために同一であり得るか、この２つの機能は、相互に通信するようにこの接続を用い得る。
【００５１】
本発明によるマスク−プログラマブルロジックデバイス（ＭＰＬＤ）３０、４０、５０または６０は、種々の電子デバイスにおいて用いられ得る。有力な一用途は、図７に示すデータ処理システム９００における用途である。データ処理システム９００は、以下の構成要素：プロセッサ９０１と、メモリ９０２と、Ｉ／Ｏ回路９０３と、周辺デバイス９０４とのうちの一つ以上を含み得る。これらの構成要素は、システムバス９０５によって連結され、エンドユーザシステム９０７に含まれる回路基板９０６に実装される。
【００５２】
システム９００は、種々のアプリケーションにおいて用いられ得る。そのアプリケーションは、例えば、コンピュータネットワーク化、データネットワーク化、計測手段、ビデオ処理、デジタル信号処理、またはプログラマブルロジックまたはリプログラマブルロジックを用いることの利点が望ましい別のアプリケーションである。ＭＰＬＤ３０、４０、５０または６０は、種々の異なったロジック機能を実行するために用いられ得る。例えば、ＭＰＬＤ３０、４０、５０または６０は、プロセッサとして、またはプロセッサ９０１と協働するコントローラとして、構成され得る。ＭＰＬＤ３０、４０、５０または６０は、システム９００内の共有リソースへのアクセスを調停するアービターとしても用いられ得る。さらに別の例では、ＭＰＬＤ３０、４０、５０または６０は、プロセッサ９０１と、システム９００内の別の構成要素のうちの１つとのインタフェースとして構成され得る。システム９００は例示に過ぎず、本発明の真の範囲および精神は添付の特許請求の範囲によって示されるべきである、ということに留意されたい。
【００５３】
種々の技術を用いて、上述したような本発明を組み入れたＭＰＬＤ３０、４０、５０または６０がインプリメントされ得る。
【００５４】
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許出願は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
【００５５】
マスク−プログラマブルロジックデバイスは、外部入出力ポートを有するマクロセルを含み、メタライゼーション層を加えることによって「プレイスアンドルート」プログラムする。プログラマブルな「固定」層は、その層が「フローティング」し、それによってマクロセルが用いられていないときにおいて外部入出力ポートを介してルーティングされる信号がルート遮断を低減することを可能にするように、外部入出力ポートをマクロセルの残部から分離することが可能である。マクロセルはまた、場合によっては異なったロジック回路に接続された少なくとも１つの入出力ポートと、どの内部入出力ポートが外部入出力ポートに接続されるかを制御するように用いられ得るプログラマブルな「固定」層とを有し得る。このように複数のロジック回路に単一の外部入出力ポートを共有することを可能にすることによって、ルート遮断が低減される。
【図面の簡単な説明】
【００５６】
【図１】図１は、既知のマスク−プログラマブルロジックデバイスにおけるマクロセルの第１の実施形態の略断面図であり、代表的なプログラム層を含む。
【図２】図２は、既知のマスク−プログラマブルロジックデバイスにおけるマクロセルの第２の実施形態の略断面図であり、代表的なプログラム層を含む。
【図３】図３は、本発明によるマスク−プログラマブルロジックデバイスにおけるマクロセルの第１の実施形態の略断面図であり、代表的なプログラム層を含む。
【図４】図４は、本発明によるマスク−プログラマブルロジックデバイスにおけるマクロセルの第２の実施形態の略断面図であり、代表的なプログラム層を含む。
【図５】図５は、本発明によるマスク−プログラマブルロジックデバイスにおけるマクロセルの第３の実施形態の略断面図であり、代表的なプログラム層を含む。
【図６】図６は、本発明によるマスク−プログラマブルロジックデバイスにおけるマクロセルの第４の実施形態の略断面図であり、代表的なプログラム層を含む。
【図７】図７は、本発明によるプログラムしたマスク−プログラマブルロジックデバイスを用いた例示システムの略ブロック図である。
【符号の説明】
【００５７】
３１、３３、３５、３７  金属（メタライゼーション）層
３２、３４、３６  半導体層
１２０、１４０  ビア
３３０  外部ポート（外部入出力ポート）
３５０、３５１  構造
３６０、３６１  プログラマブルビア
【図１】
2006310840.tif 000003
【図２】
2006310840.tif 000004
【図３】
2006310840.tif 000005
【図４】
2006310840.tif 000006
【図５】
2006310840.tif 000007
【図６】
2006310840.tif 000008
【図７】
2006310840.tif 000009