circuits,特に、プログラマブルゲートアレイおよび特定用途向け集積回路に関する。【従来の技術】プログラマブルゲートアレイは、集積回路の1つのファミリを構成する。さまざまなタイプのプログラマブルゲートアレイがある。array))(ファクトリプログラマブルゲートアレイともいう。)は、一般にゲートアレイのメーカによって1回だけプログラムされるマスクプログラム集積回路の一種である。device))には、フルカスタムデバイスおよび標準セルデバイスがある。array))は、ユーザによるプログラムが可能なゲートアレイ集積回路の一種である。times,ゲートアレイを再プログラムすることができる。【0003】図1は、従来のFPGA100の概略図である。cell))アレイ102を有する。cell))リング104によって包囲され、さらに、最も外側にはパッドリング106がある。PLCおよびPICは、所望の機能セットを実装するように現場でプログラム可能である(また、再プログラム可能なこともある)。このプログラミングは一般に、FPGAの設定インタフェースを通じて行われる。これは、ビットストリームを読み出して内部の設定記憶領域(SRAM、EEPROM、アンチヒューズなど)に書き込み、そのデータが、プログラマブルなロジックおよびルーティングを制御する。FPGAの外部の回路への接続を提供する。PIC−PIC接続)の特定の接続を実装する。【0004】図2に、図1のFPGA100の一部の詳細を示す。4個のパッドロジックセットを有する。図2は、これらのパッドロジックセットのうちの1つに関係づけられらたFPGA100の回路の概略図である。PLCロジック202およびPLCローカルルーティング204は、図1のPLCアレイ102の一部である。212は図1のパッドリング106のパッドのうちの1つである。PLCロジックセットを個々のPICロジックセットに接続するために用いられるプログラマブルなルーティングおよびロジックに対応する。210,出力バッファ216および入力バッファ218と、バウンダリスキャンやその他のPICロジック214(例えばオプションのフリップフロップやラッチ)を有する。【0005】図3は、主要な3種類のマスクプログラムデバイスのうちの1つの概略図である。MPGA300は、パッドリング306に包囲されたゲートアレイ302を有する。一般に、ゲートアレイとパッドリングは、導電性(一般に金属)ワイヤによって相互接続され、所望の機能セットを実装する。パッドリングは、図1のFPGA100におけるパッドリングと同じ目的で、「外部世界」へのインタフェースとして作用する。world".一般的なMPGAでは、ゲートアレイおよびパッドアレイはあらかじめ規定され、ユーザは、それらが工場でどのように相互接続されるかを規定することができるだけである。他の主要な2種類のMPDは、標準セルデバイスと、フルカスタムデバイスである。標準セルデバイスは、ゲートアレイの代わりに標準セルの行を有する。フルカスタムデバイスは、ゲートアレイの代わりに個別のトランジスタを有する。devices,標準セルの行およびトランジスタのアレイがあらかじめ固定されていないことにより高い機能性を実現し得るという点もMPGAとは異なる。1は、同じシリコンを用いて多くの異なる論理機能を実装する自由度(フレキシブル性)を有するが、この自由度の代償は、チップレイアウト面積、性能(すなわち、速度およびパワー散逸)、および価格にある。logic,その結果、より低価格になったであろう。MPGAを使用する代償として、製造後は、ロジック機能をユーザが変更することができない。利点の両方を活用する方式に関するものである。【課題を解決するための手段】一般に、本発明は、永続的機能を実装する1個以上のMPD型ロジックの領域と、ユーザ指定機能を実装する1個以上のFPGA型ロジックの領域とを有する単一のハイブリッド集積回路(IC)に関する。FPGA型ロジックは、プログラミング自由度を提供し、一方、MPD型ロジックは、サイズ、速度、機能性、および価格の利点を提供する。block))と、パッドリングとを有する。hierarchy))セルが、PLCアレイとASBの間のインタフェースを提供する。cell))としてのいずれかの動作をするようにプログラム可能である。【0009】本発明のもう1つの特徴は、ハイブリッドデバイスのFPGA部分をASB部分とは別にプログラムすることができることである。本発明によれば、FPGA部分におけるオプションを設定することによって、ASB部分におけるロジック機能を変更することができる。【発明の実施の形態】従来のFPGAが用いられる用途の種類に応じて、多くのユーザがFPGAにプログラムしたい機能がある。MPDに組み込まれたものもある。本発明によれば、この永続的機能はMPD型ロジックで実装され、一方、他のユーザ指定機能は、FPGA型ロジックで実装され、いずれも同じチップ上に実装することが可能である。【0011】本発明は、1個以上のFPGA型ロジック領域と、1個以上のMPD型ロジック領域を、単一の集積回路(IC)チップ上に組み合わせたハイブリッド回路に関するものである。FPGA型およびMPD型の両方のロジックを1個のダイ上に組み合わせることにより、両方の利点が得られる。高い性能を要求する特定の機能や、非常に高密度の、あるいは、FPGAでは不可能な特定のロジック機能(例えば、臨界的特性のアナログ回路の実装)は、ダイ上のMPD型ロジックで実装され、その周りにFPGA型ロジックが実装される。moreover,従来のFPGAよりも性能が改善されるとともにデバイスサイズが小さくなる。FPGAでは現場でプログラムされた機能を実装するように工場であらかじめプログラムされることが可能である。FPGA型ロジック領域は、現場でプログラムされるようにユーザに残される。このようにして、本発明のハイブリッドICは、FPGA型ロジックのプログラミング自由度と、MPD型ロジックのサイズおよび速度の利点とを組み合わせる。price,しかも、従来のMPDよりもFPGAのほうがすぐれていた現場プログラミングの利点を失っていない。namely,永続的機能とユーザ指定機能に分割される。本発明によれば、永続的機能は、高速、小面積、および低電力使用量のためにMPD型ロジックで実装され、一方、ユーザ指定機能はFPGAロジックで実装されることが可能である。【0013】図4は、本発明の一実施例によるハイブリッド集積回路400の概略図である。1GA100と同様に、ハイブリッドIC400は、プログラマブルI/Oセルリング404と、最も外側のパッドリング406によって三辺を包囲されたプログラマブルロジックセルアレイ402を有する。第4辺では、PLCアレイ402はFPGA−ASBインタフェースハードウェアセット412と境界を接する。(ASB)408とのインタフェースをとる。ASB408は、MPD型ロジックを用いて実装される。説明のため、各FPGA−ASBインタフェースハードウェアセットをASBインタフェースセル(AIC)と呼ぶ。【0014】実施例では、PICおよびAICは、同じ汎用のフィールドプログラマブルなロジックおよびルーティング回路のセットを用いて実装される。この回路は、PICまたはAICのいずれかとして機能するようにプログラムされる。説明のため、この汎用のプログラマブルなロジックおよびルーティング回路のセットを高速インタフェーススイッチ階層(FISH)セルと呼ぶ。ASB408の間のインタフェースを形成するAICとして、機能するように工場でプログラムされることが好ましい。or,AICとして機能するように、工場で、または、現場でプログラムされることが可能である。工場でプログラムされた場合でも、プログラムされたFISHセルの他の点は依然としてフィールドプログラマブルである。100で用いられるような、従来のPICと同じ現場プログラム可能性を有する。同様に、AICとして機能するように工場でプログラムされた場合、FISHセルは他のフィールドプログラマブルな特徴を有する。AICとして動作する場合に、1個のFISHセルロジックセットに関係づけられた図4のハイブリッドIC400の回路の概略図である。PLCローカルルーティング504は、図4のPLCアレイ402の一部である。506は、個々のPLCロジックセットを個々のFISHセルロジックセットおよびその他のロジックブロックに接続するために用いられるプログラマブルなルーティングおよびロジックに対応する。2のパッド212、出力バッファ216、および入力バッファ218と同様である。図2のオプションのバウンダリスキャンなどのロジック214は、図5のロジック514aおよび514bに分かれている。2IC回路とは異なる。520は、マルチプレクサ534を有する。508ロジック528からの信号542を選択するために用いられる。RAMセル524によって設定することができる。RAMセル524の出力は、マルチプレクサ534の制御入力に接続される。508からの信号508は、ASBロジック528にも送られることが可能である。1つのオプションは、工場で、制御リードをマルチプレクサ534に永続的に接続してしまうことであり、これにより、一方の信号が出力バッファ516に送られるように永続的に選択される。516.同様にして、入力バッファ518からの信号は、オプションのバウンダリスキャンブロック514aを通過した後、ASBロジック528へ、あるいは、FISHセル508へ送られることが可能である。532は、信号544を通じてFISHセル508へ送られる信号として、ASBロジック528からの出力信号546、または、入力バッファ518からの信号のいずれかを選択するために用いられる。532の制御リードはRAMセル522の出力によって駆動される。オプションとして、マルチプレクサ532への制御リードは、永続的に接続することも可能である。(526)がFISHセル508内に追加されていることである。528は、このメモリセルを用いて、ASBにおいて、制限された自由度を提供することが可能である。534は、バウンダリスキャンロジック514aとその他のFISHセルロジック514bの間に直接接続を提供するようにプログラムされる。8とパッド512の間の接続を、提供するようにプログラムされる。【0020】上記のように、各FISHセルは、マスクプログラマブルであるとともにフィールドプログラマブルである。オプションとして、各FISHセルは、工場でマスクプログラマブルであることにより、FISHセルがASBまたはI/Oロジックのいずれとインタフェースをとるか、すなわち、FISHセルがAICまたはPICのいずれとして機能するかを指定するように接続を行うことが可能である。FISHセルがASBとのインタフェースをとるようにプログラムされるかどうかにかかわらず、一実施例では、FISHセルは依然としてPLCアレイのエッジではPICのようであることにより、PLC−PIC境界はチップの周りで一貫性を保つ。これにより、PLC−PICアレイ接続は本質的に不変であるため、ASBをFPGA内に入れることに関するソフトウェアの問題点が軽減される。FPGA上に組み込まれる場合にはチップサイズが変化するかもしれないが、PLCアレイ自体は別のアーキテクチャモデルを有する必要はない。PLCアレイに対するタイミングモデルもまた、ASBの有無にかかわらず、同じままである。FISHセルは、グローバル信号分配網上の負荷を調整してタイミングモデルを同じままに保つように、工場でマスクプログラムされることも可能である。【0021】本発明のハイブリッドICのPICおよびAICの両方に対して図5の単一の汎用FISHセル設計を用いる1つの利点は、ハイブリッドICが、図1のFPGA100のような従来のFPGA100に対して用いられる既存のFPGAソフトウェアツールで動作することである。FPGA型ロジックのみを有しASBがないICでは、各FISHセルはPICとして動作するようにマスクプログラムされる。MPDCでも)使用可能である。EEPRO,Mベースのゲートアレイのロジックのような、適当なタイプのフィールドプログラマブルロジックを用いて実装可能である。nMOS,pMOS、CMOS、GaAsなどのような適当なタイプのマスクプログラマブルロジックを用いて実装可能である。【0023】FPGA型ロジックのプログラミングは一般に、ビットストリームを読み出しデータを設定記憶領域に書き込んだ後にプログラマブルなロジックおよびルーティングを制御する設定インタフェースを通じて行われる。一般に、この設定インタフェースは、このデータストリームを、シリアルPROM、パラレルPROMなどの多くの外部記憶媒体から、マイクロプロセッサのインタフェースによって自動的に読み出すことができる。microprocessor.図4の実施例によれば、ASBブロック408は、設定インタフェースロジックと直接インタフェースをとることが可能であり、それにより、ASBロジックは、設定ビットを書き込むとともに、設定プロセスを制御し、設定プロセスの状態を受け取ることが可能である。PLCアレイ402)と、1個のMPD型ロジック領域(すなわちASB408)を有する。一般に、本発明は、1個以上のFPGA型領域および1個以上のMPD型ロジック領域を有する単一のICとして実装可能である。使用されるロジックのタイプは領域ごとに異なることが可能である。第1のFPGA型ロジック領域はSRAMベースのゲートアレイロジックを用いて実装され、同じハイブリッドICの第2のFPGA型ロジック領域はDRAMベースのゲートアレイロジックを用いて実装されるということが可能である。MPD型ロジックを用いて実装される領域を有することが可能である。利点の両方を活用した集積回路が実現される。【図1】従来のFPGAの概略図である。【図2】図1の従来のFPGAの一部の詳細図である。【図3】従来のMPGAの概略図である。【図4】本発明の一実施例によるハイブリッド集積回路の概略図である。inventionの回路の概略図である。device,1個以上のプログラミングメモリセルからの1個以上の出力値を前記ASBに与える、プログラマブルロジックデバイス。pad,請求項1に記載のプログラマブルロジックデバイス。前記PLCアレイ上の前記第1および第2のピンは同一ピンである、請求項2に記載のプログラマブルロジックデバイス。部分のプログラミングロジックにインタフェースを提供し、これにより前記ASBが、前記デバイスのプログラム可能な部分の構築に用いられるプログラミングメモリコンテンツをプログラミングメモリに書込みまたは読出すことを可能にする、プログラマブルロジックデバイス。ASBは、前記PLCアレイ上の第2のピンを前記I/Oパッドの前記第2のサブセットの前記I/Oパッドにプログラム可能に接続することによってバイパスされる、請求項4に記載のプログラマブルロジックデバイス。前記PLCアレイ上の前記第1および第2のピンは同一ピンである、請求項5に記載のプログラマブルロジックデバイス。前記ASBは、1個以上のAICを介してプログラミング制御信号を供給し、これにより前記デバイスのプログラム可能な部分におけるプログラミングプロセスを制御する、請求項4に記載のプログラマブルロジックデバイス。前記ASBは、前記デバイスのプログラム可能な部分におけるプログラミングプロセスから1個以上のAICを介してプログラミングステータス信号を読出す、請求項4に記載のプログラマブルロジックデバイス。subsetパッドにプログラム可能に接続することによってバイパスされる、プログラマブルロジックデバイス。前記PLCアレイ上の前記第1および第2のピンは同一ピンである、請求項9に記載のプログラマブルロジックデバイス。