(57)【特許請求の範囲】
【請求項１】
複数のメモリ・セル；
クロック出力信号ライン；
第１のクロック信号を発生しかつ前記クロック出力信号ラインに該第１のクロック信号を供給するクロック発振器回路；及び
前記メモリ・セルからデータを取得しかつ前記第１のクロック信号と同期して該データを少なくとも一つのメモリ回路出力リード線に供給する回路素子
を備え、
前記メモリ集積回路は、プログラマブル・ロジック・デバイスを含んでいるロジック・システムの一部であり、該プログラマブル・ロジック・デバイスに構成データを供給することを特徴とするメモリ集積回路。
【請求項２】
前記プログラマブル・ロジック・デバイスは、ＦＰＧＡであり、かつメモリ集積回路は、システム電源投入により前記データを該ＦＰＧＡに供給することを開始することを特徴とする請求項１に記載の回路。
【請求項３】
前記ＦＰＧＡは、いつ該ＦＰＧＡの構成が終了するかを示している出力信号を通信する手段を含み、かつ前記メモリ集積回路は、前記出力信号を受信する手段を含み、該メモリ集積回路は、該出力信号に応じて前記データを供給することを中止することを特徴とする請求項２に記載の回路。
【請求項４】
前記ＦＰＧＡは、シリアル出力リード線を含む、前記システムは、前記シリアル出力リード線に結合されたデータ入力リード線と、前記クロック出力信号ラインに結合されたクロック入力リード線とを有している第２のＦＰＧＡを更に含むことを特徴とする請求項３に記載の回路。
【請求項５】
前記プログラマブル・ロジック・デバイスは、該プログラマブル・ロジック・デバイスがそれが前記メモリ集積回路からデータを受信することができるような状態であるときに該メモリ集積回路に通信する手段を含むことを特徴とする請求項１に記載の回路。
【請求項６】
前記メモリ集積回路は、該メモリ集積回路の外部のソースから第２のクロック信号を受信するクロック入力リード線を更に含み、かつ前記回路素子は、前記第２のクロック信号と同期して前記データが前記メモリ回路出力リード線に供給されるようなモードで操作可能であることを特徴とする請求項１に記載の回路。
【請求項７】
前記クロック出力信号ラインは、双方向性であり、かつ前記メモリ集積回路は、該メモリ集積回路が当該メモリ集積回路の外部のソースからクロック信号を受信しかつ前記受信したクロック信号と同期して該メモリ回路出力リード線にデータを供給することができるようなモードで操作可能であることを特徴とする請求項１に記載の回路。
【請求項８】
前記メモリ集積回路は、前記メモリ・セルからの最後に選択されたビットが該メモリ集積回路によって供給されたときを示す手段を更に含むことを特徴とする請求項１に記載の回路。
【請求項９】
前記クロック出力信号ライン及び前記メモリ回路出力リード線を駆動するトリステート・バッファを更に含んでおり、かつ前記示す手段は、前記最後に選択されたビットが前記メモリ集積回路によって供給されたときに前記トリステート・バッファをトリステート・モードにすることを特徴とする請求項８に記載の回路。
【請求項１０】
前記メモリ集積回路は、前記メモリ回路出力リード線にシリアル・データ・ストリームを供給するシリアル・メモリであることを特徴とする請求項１に記載の回路。
【請求項１１】
前記メモリ集積回路は、
パワー入力ピン；及び
パワーが前記パワー入力ピンに印加されるときを検出しかつそれに応じて前記クロック発振器にクロック信号を発生することを開始させる手段
を含むことを特徴とする請求項１に記載の回路。
【請求項１２】
データ・バスにデータを供給し、書込み制御信号を発生し、かつ書込み制御ラインに該書込み制御信号を供給するメモリ集積回路；及び
前記データ及び前記書込み制御信号を受信しかつそれ自体を構成するために該データを用いるプログラマブル・ロジック・デバイス
を備えていることを特徴とするシステム。
【請求項１３】
前記メモリ集積回路は、前記書込み制御信号を発生するクロック発振器を含むことを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記書込み制御信号は、データのワードが前記データ・バス上に現れるレートのｎ倍に等しい周波数を有しているクロック信号であり、ここでｎは、前記データ・バスの幅に等しいことを特徴とする請求項１２に記載のシステム。
【請求項１５】
前記書込み制御信号は、データのワードが前記データ・バスに現れるレートに等しい周波数を有することを特徴とする請求項１２に記載のシステム。
【請求項１６】
前記プログラマブル・ロジック・デバイスは、ＦＰＧＡであることを特徴とする請求項１２に記載のシステム。
【請求項１７】
データ・バス；
データを記憶しかつ該データ・バスにデータのワードを供給する手段；及び
それによって前記データのワードが前記データ・バスに供給されるタイミングを制御するタイミング信号を発生し、かつ前記メモリ集積回路の外部のデバイスが前記データ・バスの前記データをレトリーブすることができるように制御信号を供給するクロック手段
を備えていることを特徴とするメモリ集積回路。
【請求項１８】
データ・リード線に構成データを供給するメモリ集積回路；及び
前記データ・リード線から前記構成データを受信しかつそれ自体を構成するために該構成データを用いるプログラマブル・ロジック・デバイスを備え、
前記メモリ集積回路は、構成データの最終ビットが前記プログラマブル・ロジック・デバイスに通信されたときを決定する手段を含むことを特徴とするシステム。
【請求項１９】
前記決定する手段は、
前記プログラマブル・ロジック・デバイスに供給された構成データの量を表わす値を供給するカウンタ；
前記プログラマブル・ロジック・デバイスに供給されるべき構成データの総量を表わす値を記憶するレジスタ；及び
前記メモリ集積回路に、前記カウンタによって供給された前記値及び前記レジスタに記憶された値が等しいときに構成データを供給することを中止させる手段を含むことを特徴とする請求項１８に記載のシステム。
【請求項２０】
データ・ライン；
前記データ・ラインに結合された少なくとも一つのメモリ出力リード線、クロック出力信号ライン、前記クロック出力信号ラインにクロック信号を発生するクロック手段、複数のメモリ・セル、前記メモリ・セルからデータを取得しかつ前記クロック信号と同期して前記データを前記メモリ出力リード線に供給する回路素子、及びデータの最終ビットが前記第１のメモリ・デバイスによって供給されたときに最終ビット信号を供給する回路素子を含んでいる第１のメモリ・デバイス；及び
前記クロック信号を受信するクロック入力リード線、及び前記最終ビット信号を受信する最終ビット入力リード線を含んでいる第２のメモリ・デバイスを備え、
前記第２のメモリ・デバイスは、前記最終ビット信号の受信に応じて前記第１のメモリ・デバイスから受信した前記クロック信号と同期して前記データ・ラインにデバイスを供給することを特徴とするシステム。
【請求項２１】
データ・ライン；
クロック・ライン；
前記データ・ラインに結合された少なくとも１つのメモリ出力リード線、クロック信号を発生しかつ該クロック信号を前記クロック・ラインに供給するクロック発振器、複数のメモリ・セル、及び前記メモリ・セルからデータを取得しかつ前記クロック信号と同期して前記データを前記データ・ラインに供給する回路素子を含んでいる第１のメモリ・デバイスであり、データの最終ビットが第１のメモリによって供給されるときに最終ビット信号を供給する最終ビット・ラインを更に含んでいる該第１のメモリ・デバイス；及び
前記最終ビット信号を受信するために前記最終ビット・ラインに結合された最終ビット入力リード線、前記データ・ラインに結合された少なくとも一つの出力リード線、クロック信号を発生しかつ前記第２のメモリ・デバイスによる前記最終ビット信号の受信により前記クロック信号を前記クロック・ラインに供給するクロック発振器、複数のメモリ・セル、及び前記メモリ・セルからデータを受信しかつ前記最終ビット信号が第２のメモリ・デバイスにより受信されたときに該第２のメモリ・デバイス・クロック発振器によって供給された前記クロック信号と同期して前記データ・ラインに前記データを供給する回路素子を含んでいる該第２のメモリ・デバイスを備えていることを特徴とするシステム。
【請求項２２】
前記プログラマブル・ロジック・デバイスが構成されることを終了されるときを示している信号を供給する出力リード線、構成クロック入力リード線、及び構成データ入力リード線を有しているプログラマブル・ロジック・デバイス；及び
前記構成データ入力リード線に結合されたデータ出力リード線、前記構成クロック入力リード線に結合されたクロック出力リード線、前記クロック出力リード線にクロック信号を供給するクロック発振器を有しているメモリ集積回路を備え、
前記メモリ集積回路は、前記クロック信号と同期して前記データ出力リード線にデータを供給し、前記メモリ集積回路は、前記プログラマブル・ロジック・デバイスが構成されることを終了したされるときを示している前記信号に応じて前記データ出力リード線及び前記クロック出力リード線をトリステートすることを特徴とするシステム。
【発明の詳細な説明】
発明の分野及び発明の背景
１９９４年にジーリンクス・インコーポレイテッド（“Xilinx”）によって出版された、“プログラマブルロジック・データブック”（“ジーリンクス・データブック”（Xilinx Data Book））は、ジーリンクスによって製造されかつ販売されるフィールドプログラマブル・ゲートアレイ（“ＦＰＧＡｓ”）を記述している。これらのＦＰＧＡｓは、直列または並列メモリから構成データを検索することが可能である。例えば、ジーリンクス・データブックは、例えば図１に示すように、ＦＰＧＡがマスタ・シリアル構成モードにあるときにＦＰＧＡが直列ＰＲＯＭから構成データを受信するような回路を説明している。図１を参照すると、ＦＰＧＡ１は、クロック信号ライン２にクロック信号を生成する。このクロック信号は、出力ライン４にシリアル・データ・ストリームをそれに応じて生成する、シリアルＰＲＯＭ３によって受信される。シリアル・データは、ＦＰＧＡ１によって受信され、それに応じて構成されるようになる。ＦＰＧＡ１がそれ自体を構成することを行うときに、それは、ライン５にＤＯＮＥ信号をアサートして、構成が完了であることを示す。この信号は、ＰＲＯＭ３を選択解除する。
このシステムの変形は、図２に示されている。図２のシステムは、第１及び第２のＦＰＧＡｓ１ａ及び１ｂを含む。システム初期化中に、ＦＰＧＡ１ａは、ＰＲＯＭ３及びＦＰＧＡ１ｂの両方にライン２のクロック信号を送る。ＰＲＯＭ３は、データ信号をライン４のＦＰＧＡ１ａに供給することによってクロック信号に応答する。構成中、ＦＰＧＡ１ａは、“マスタ・シリアル構成モード”にありかつＦＰＧＡ１ｂは、“スレーブ構成モード”にある。この変形では、ＦＰＧＡ１ｂがそれ自体を構成することを行うときに、それは、シリアルＰＲＯＭ３及びＦＰＧＡ１ｂにクロック信号を送り続ける。それゆえにシリアルＰＲＯＭ３は、ライン４を介してＦＰＧＡ１ａにデータを送り続ける。このデータは、ライン７を介してＦＰＧＡ１ａからＦＰＧＡ１ｂへパスされる。ＦＰＧＡ１ｂは、ライン７からデータを取りかつそれ自体を構成すべくそのデータを用いる。ＦＰＧＡ１ａ及び１ｂは、それぞれリード線（leads）５ａ及び５ｂを駆動するオープン・ドレイン出力バッファを含む。リード線５ａ及び５ｂは、一緒に“ＡＮＤ結合”（AND-tied）される。ＦＰＧＡｓ１ａ及び１ｂは、両方が構成されることが行われるとき、リード線５ａ及び５ｂの信号は、高（high）になり、両方のＦＰＧＡｓが構成されることが行われることを示し、かつＰＲＯＭ３を選択解除する。
ＦＰＧＡ１０が並列ＥＰＲＯＭ１２にアドレス・バス１１を介してアドレス信号を通信するような、ＦＰＧＡ構成の別の変形は、図３に示される。ＥＰＲＯＭ１２は、データ・バス１３（一般的に８ビット幅）にデータ信号を供給することによって応答する。これらのデータ信号は、ＦＰＧＡ１０によって受信され、このデータに従ってそれ自体を構成する。この型のプログラミング・モードは、マスタ・パラレル構成モードとして知られている。
シリアル構成モード中にＰＲＯＭに印加されるクロック信号を生成すべくＦＰＧＡに依存するか、またはマスタ・パラレル構成モード中にアドレス信号を生成すべくＦＰＧＡに依存する代わりに、クロック及び／又はアドレス信号を生成すべく、マイクロプロセッサのような、インテリジェント・デバイスに依存することが知られている。それゆえに、図４に示したように、アドレス・ライン２２を介してＥＰＲＯＭ２１をアドレス指定すべくマイクロプロセッサ２０を用いることが知られている。マイクロプロセッサ２０は、データ・バス２３を介して構成データを検索し、かつシリアル・データ・ライン２５を介してＦＰＧＡ２４へその構成データをパスする。タイミングは、マイクロプロセッサ２０によりクロック信号ライン２６に通信されたクロック信号によって制御される。ＦＰＧＡ２４がこのような方法でプログラムされるとき、それは、スレーブ・シリアル・モードにある。
ＦＰＧＡａを構成するための他の知られたモードは、周辺（ペリフェラル）非同期モード及び周辺同期モードを含む。これらのモードでは、マイクロプロセッサのようなインテリジェント・デバイスは、一般的一度に１バイト、ＦＰＧＡに構成データを書込む。（ジーリンクス・データブックの２−３８〜２−４１頁参照）。
ジーリンクスＦＰＧＡｓは、上述したモードのそれぞれで構成することができる。これらのモードのそれぞれは、それ自体の利点及び欠点を有する。シリアルＰＲＯＭを用いることは、シリアルＰＲＯＭｓが少数のピンを有しかつ比較的安価であるのでしばしば有利である。シリアルＰＲＯＭを用いるために、システムにおいて少なくとも一つのＦＰＧＡは、シリアルＰＲＯＭに構成データを供給させるためにクロック信号を生成することが可能でなければならない。ＦＰＧＡｓが大量生産され、かつ全てのこれらの構成モードを支持するので、スレーブ・シリアル構成モードにおけるデバイスがこの回路素子を決して用いなくても、それらは全てクロック及び発振器回路素子を含む。
マスタ・パラレル・モードでは、ＦＰＧＡは、また、発振器及びクロック回路素子、及びアドレスを生成するための回路素子を有さなければならない。
マイクロプロセッサのようなインテリジェント・デバイスを用いる構成モードでは、そのマイクロプロセッサの資源は、システムにおけるＦＰＧＡａを初期化するために用いられなければならない。
発明の目的および概要
本発明によるＦＰＧＡシステムは、メモリを有しておりかつマイクロプロセッサのような外部インテリジェント回路素子を要求せずかつＦＰＧＡにクロックまたは発振器回路素子を含むことを要求しないでＦＰＧＡ集積回路をプログラムするために必要な信号を生成することが可能な回路を含む。一実施例では、メモリ回路は、クロック信号及び構成中にＦＰＧＡによって受信されるシリアル・データ信号を生成する。別の実施例では、メモリ回路は、構成中に構成データの複数のビットをＦＰＧＡと並列に送る（一般的に一度に１バイト）。いずれの場合においても、マイクロプロセッサの資源は、必要とされず、かつＦＰＧＡがクロック及び発振器回路素子を含むことも必要ではない。
一実施例では、メモリは、集積回路である。メモリは、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ヒューズ、アンチヒューズ、ＲＯＭまたは他の技術を採用することができる。
【図面の簡単な説明】
図１は、マスタ・シリアル構成モードのＦＰＧＡを概略的に示す。
図２は、マスタ・シリアル構成モードの一つのＦＰＧＡ及びスレーブ・シリアル構成モードの一つのＦＰＧＡを概略的に示す。
図３は、パラレル構成中のＦＰＧＡを概略的に示す。
図４は、マイクロプロセッサによって構成されるＦＰＧＡを概略的に示す。
図５ａは、本発明の第１の実施例に従ってメモリ回路によって構成されるＦＰＧＡを概略的に示す。
図５ｂは、図５ａの実施例の変形を示す。
図６は、ＦＰＧＡを示す。
図７ａは、図５のメモリ回路のブロック図である。
図７ｂは、外部的に生成されたクロック信号を受信する手段を含んでいる図７ａのメモリ回路の代替実施例のブロック図である。
図７ｃ〜図７ｅは、構成データの最終ビットがＦＰＧＡに供給されたときを確認する（突き止める）手段を含んでいるメモリ回路の他の実施例のブロック図である。
図８ａは、本発明の第２の実施例に従ってメモリ回路によって構成される複数のＦＰＧＡｓを概略的に示す。
図８ｂは、図８ａの実施例の変形を概略的に示す。
図９は、本発明の第３の実施例に従って一対のメモリ回路によって構成される複数のＦＰＧＡｓを概略的に示す。
図１０は、本発明の第４の実施例に従ってメモリ回路によって構成される複数のＦＰＧＡｓを概略的に示す。
図１１は、本発明の第５の実施例に従ってパラレル・メモリによって構成されるＦＰＧＡを概略的に示す。
図１２は、図１１のパラレル・メモリのブロック図である。
図１３は、本発明の第６の実施例に従ってパラレル・メモリによって構成される複数のＦＰＧＡｓを概略的に示す。
図１４は、データ・バスの各ラインが関連ＦＰＧＡに接続されるようなデータ・バスを有しているパラレル・メモリを用いている本発明の第７の実施例を概略的に示す。
図１５は、３つのＦＰＧＡｓが並列で構成データを受信するような本発明の第８の実施例を概略的に示す。
実施例
図５ａを参照すると、メモリ集積回路３０は、それぞれライン３１、３２、及び３３にパワー信号Ｖｃｃ（一般に５ボルト）、接地及びオプショナル・リセット信号を受信する。リセット信号は、図５ａのシステムが組み込まれるような回路素子によって生成することができる。一実施例では、リセット信号は、ホスト・マイクロプロセッサ（図示省略）、またはシステムの制御ボタンによって発生される。
メモリ回路３０は、データ出力信号リード線３４、クロック出力信号リード線３５、及びリセット信号出力信号リード線３６を含む。パワー・アップにより（またはリセット信号ライン３３の信号がアクティブになるとき）、メモリ回路３０は、ＦＰＧＡ集積回路３７によって受信される、リセット信号をリード線３６にアサートする。このリセット信号は、ＦＰＧＡ３７を“構成モード”にする。構成中、メモリ回路３０は、ＦＰＧＡ３７によって受信されかつＦＰＧＡ３７を構成するために用いられる、クロック及びデータ信号をリード線３５及び３４に供給する。ＦＰＧＡ３７がそれ自体を構成することを行ったとき、それは、リード線３８にＤＯＮＥ信号をアサートして、構成が完了したことを示し、かつメモリ回路３０に構成データを送信することを中止させる。
一実施例では、メモリ回路３０はＥＰＲＯＭであるが、他のメモリ技術（ヒューズ、アンチヒューズ、ＳＲＡＭｓ、ＥＥＰＲＯＭｓ、マスク−プログラム型ＲＯＭｓ、等）も用いることができる。
ＦＰＧＡ３７は、一般に、構成可能論理素子（configurable logic elements）のアレイを含んでいる集積回路である。これらの素子は、デバイスのジーリンクスＸＣ２０００、ＸＣ３０００、ＸＣ４０００またはＸＣ５０００ファミリーに用いられる論理素子構造のようは構造を有することができる。これらの素子は、また、米国特許公報（U. S. Patent Re）第34,363号（参考文献としてここに採り入れられる）に開示されたような構造、またはアルテラ・コーポレーション（Altera Corporation）によって製造されたＦＰＧＡｓのＦｌｅｘシリーズに用いられた構造を有することができる。構成データは、ジーリンクスまたはアルテラ・デバイスにおけるのと同じ方法、または米国特許公報第34,363号に記述された方法で、（リード線３４に結合された）ＦＰＧＡシリアル・データ入力リード線からＦＰＧＡ内の構成メモリ・セルに送ることができる。しかしながら、この発明によれば、タイミングは、一般に、メモリ回路３０によって発生されたクロック信号によって制御される。
本発明に従って用いられるＦＰＧＡの正確な詳細は、重要ではない。一般に、ＦＰＧＡは、米国特許公報第34,363号の図２、３ａまた３ｂ、またはジーリンクス・データブックの図１（ジーリンクス・データブックの２−２０頁）に示すような、構成可能論理素子のアレイを含む。図６は、構成可能論理素子のアレイ、または、行及び列のアレイ４１に配列された、セル４０を含む、ＦＰＧＡの一例のブロック図を示す。各セル４０は、多数の論理機能（logic functions）のいずれかを実行すべく、プログラムまたは構成することができる。セル４０のまわりに散在するのは、ワイヤリング・グリッド４２である。セル４０の入力及び出力リード線は、グリッド４２のワイヤにプログラマブルに電気的に結合することができる。一実施例では、このプログラマブル電気結合は、ＳＲＡＭメモリ・セルによって駆動されるパス・トランジスタまたはトリステート・バッファを用いて達成される。しかしながら、他の技術を用いることができる。図６は、パス・トランジスタ４４を介してワイヤリング・グリッド４２に結合されたセルの一つ（セル４０ａ）を示す。他のセル４０は、また、パス・トランジスタを介してワイヤリング・グリッドに結合されかつ各セルの入力または出力ラインは、グリッド４２の一つ以上のワイヤに結合されうるが、これは明瞭化のために図６に示していない。
グリッド４２は、セル４０の隣接行列間に３つのワイヤを示しているように表されるけれども、他の多数のワイヤは、セルの隣接行列間に一般に供給される。また、グリッド４２におけるワイヤは、アレイの全長及び幅で伸張しているように示されるけれども、一般に、グリッド４２内のワイヤは、可変の長さを有し、あるものは短い距離で伸張し、あるものはより長い距離で伸張している。
明瞭化のために図示されていないが、グリッド４２の水平ワイヤは、一般に、水平及び垂直ワイヤが交差する位置のあるところでグリッド４２の垂直ワイヤにプログラマブルに接続される。
アレイ４１の取り囲んでいるのは、ワイヤ４２にプログラマブルに接続することができる、一組のプログラマブルＩ／Ｏセル４６である。Ｉ／Ｏセル４６は、ＦＰＧＡのＩ／Ｏピンから信号を受信しかつそれらの信号をＩ／Ｏピンに供給することができる。このように、ＦＰＧＡの外側からの信号は、ワイヤリング・グリッド４２に、及びアレイ４１内の選択されたセル４０にＩ／Ｏセル４６を介して通信することができる。種々のセルからの出力信号は、グリッド４２を介してアレイ４１内の他のセル４０に、及び／又は、グリッド４２を介してＩ／Ｏセル４６に通信することができる。
図６に示した種々の構造とセル４０の構成の間のプログラマブル相互接続は、ＦＰＧＡ内のＳＲＡＭメモリ・セル（図示省略）によって一般に制御される。ＦＰＧＡ内のＳＲＡＭメモリ・セルは、シフト・レジスタとして構成する（’３６３特許参照）かまたはジーリンクス・データブックに記載されたように構成するか、回路のジーリンクスＸＣ２０００、ＸＣ３０００、ＸＣ４０００またはＸＣ５０００ファミリーのように、またはアルテラＦｌｅｘ回路のように構成することができる。しかしながら、ＳＲＡＭメモリ・セルを用いる代わりに、他のリプログラマブル・メモリ・セル、例えば、本発明に従ってＥＥＰＲＯＭメモリ・セルをＦＰＧＡに用いることができる。
図７ａは、メモリ回路３０のブロック図である。図７ａに示すように、クロック発振器回路５０は、トリステート・バッファ５１を介してリード線３５にクロック信号を供給する。（上記したように、リード線３５のクロック信号は、構成中にＦＰＧＡ３７によって用いられる。）クロック発振器回路５０は、通常の発振器を含むことができる。例えば、一実施例では、クロック発振器５０は、マルチバイブレータを含みうる。代替的に、クロック発振器５０は、フィードバック・ループの形に接続された奇数の反転回路を含むことができる。代替的に、クロック発振器５０は、水晶、ＬＣ回路またはメモリ回路３０の外側の他の構造に結合することができる。クロック発振器５０は、また、逐次アドレス選択回路５４を駆動するリード線５２にクロック信号を供給する。パワー・アップまたはリセット・ライン３３への信号の受信により、リセット制御回路５６は、リード線３６を介してＦＰＧＡ３１にリセット信号を、かつリセット５８を介してアドレス選択回路５４にリセット信号を供給する。リセット５８のリセット信号は、回路５４に選択ライン６０ａのアクティブ出力信号をアサートさせ、次いでメモリ・セル６２ａの選択された行のデータをシフト・レジスタ６６にライン６４を介して通信させる。シフト・レジスタ６６からのデータは、リード線６７及びトリステート・バッファ６８を介してデータ出力リード線３４にシフト・アウトされる。このシフティング機能のタイミングは、クロック発振器回路５０によって供給されたクロック・ライン７０のクロック信号によって制御される。ライン３５及び７０のクロック信号は、同じ周波数を有する。行６０ａからのデータの全てがシフト・レジスタ６６からシフト・アウトされたとき、クロック発振器５０は、クロック・ライン５２を介してアドレス選択回路５４にクロック信号を供給する。アドレス選択回路５４は、選択ライン６０ａをインアクティブに保持しかつ次の選択ライン６０ｂにアクティブ出力信号をアサートすることによってこのクロック信号に応答し、次いでメモリ・セル６２ｂの第２の行からのデータをシフト・レジスタ６６の中にロードさせる。それゆえに、処理は、ａ）メモリ・セル６６からのデータの全てがシフト・アウトされる；またはｂ）ＦＰＧＡ３７がライン３８の信号をアサートして構成が完了したことを示す、までそれ自体を繰り返す。メモリ回路３０がライン３８からこの信号を受信するとき、トリステート制御回路７１は、バッファ５１及び６８をトリステートにする。このように、メモリ回路３０は、ＦＰＧＡ３７の構成を制御する。バッファ５１及び６８は、トリステートにされるので、構成中にリード線３４及び３５によって駆動されるＦＰＧＡ３７の入力ピンは、構成が完了した後他のタスクに用いることができる。
図７ｂは、マルチプレクサ７２及び制御リード線７３を含んでいる本発明によるメモリ回路の代替実施例を示す。この実施例では、制御リード線７３の信号が低（low）であるとき、マルチプレクサ７２は、上述したようにリード線７０を介してクロック発生回路５０からシフト・レジスタ６６にクロック信号をパスする。これらのクロック信号は、シフト・レジスタ６６からのデータのシフティングを制御する。更に、クロック発振器５０からのクロック信号は、マルチプレクサ７２を介してｍ分割回路（divide by m circuit）７４に結合される。ｍ分割回路からの出力信号は、アドレス・セレクタ回路５４を駆動する。シフト・レジスタ６６は、ｍが整数、例えば８であるような、ｍビットを含む。それゆえに、アドレス選択回路５４は、シフト・レジスタ６６からのｍビットが出力リード線３４に供給される度毎に、即ち、シフト・レジスタ６６がその内容を空にする度毎に、ｍ分割回路７４によってクロックされる。
制御リード線７３の信号が高（high）であるとき、クロック発振器回路５０は、不能にされ、トリステート・バッファ５１は、トリステート・モードにされ、かつリード線３５は、メモリ回路３０へのクロック入力リード線としてサーブする。このモードでは、リード線３５で受信したクロック信号は、マルチプレクサ７２及びリード線７０を介してシフト・レジスタ６６に結合される。更に、上記したように、マルチプレクサ７２からの出力信号は、ｍ分割回路７４を駆動し、次いでアドレス・セレクタ回路５４をクロックする。このように、メモリ回路は、制御リード線７３の信号の状態により、（クロック発振器５０からの）内部的に発生されたクロック信号または（リード線３５から受信した）外部的に発生されたクロック信号のいずれかを用いることができる。重要なのは、制御リード線７３の信号は、メモリ回路３０の外側のデバイスから入力ピンを介して受信することができる。代替的に、制御リード線７３の信号は、行６２ａ−６２ｎ内のメモリ・セルと同時にプログラムされるメモリ回路３０内のメモリ・セルによって供給することができる。
図７ｂは、クロック信号を受信または供給することができる双方向性リード線としてリード線３５を用いるけれども、他の実施例では、リード線３５は、双方向性ではなく、かつ個別のリード線が外部的に発生されたクロック信号を受信するために用いられる。
パワーが図５ａの回路に最初に印加されるとき、ＦＰＧＡ３７内の電圧レベルが適当な値に到達する前に時間が掛かるであろう。更に、ＦＰＧＡ３７は、構成の前に既知の状態にその内部メモリ・セルのあるものまたは全てをリセットしなければならないであろう。それゆえに、一実施例では、メモリ回路３０は、パワー・アップ間で時間遅延を供給しかつタイム・メモリ回路３０は、ＦＰＧＡ３７がその構成データを受信する準備ができていることを確実にすべく、構成データを供給し始める。
代替的に、図５ｂに示すように、ＦＰＧＡ３７は、メモリ回路３０に結合された出力リード線３９を有しうる。この実施例では、メモリ回路３０は、リード線３９へのＩＮＩＴ信号の受信により構成データを送ることを開始する。ＩＮＩＴ信号は、データを受信する準備ができていることを示すためにＦＰＧＡ３７によって供給される。
代替的に、ＦＰＧＡ３７のＶｃｃピンに印加された電圧において一時的降下が存在するならば、ＦＰＧＡ３７は、構成データが失われたリスクが存在するか否かを決定する回路素子を含むことができる。そのようなリスクの場合には、ＦＰＧＡｓ３７は、再構成を開始すべくそのときにＩＮＩＴ信号をアサートすることができる。
図８ａは、３つのＦＰＧＡｓ３７ａ、３７ｂ及び３７ｃが構成されるような、図５ａの実施例の変形を示す。全ての３つのデバイスは、リード線３５を介してメモリ３０からクロック信号を受信する。重要なのは、ＦＰＧＡｓ３７ａ及び３７ｂは、それぞれシリアル出力リード線７６ａ及び７６ｂを含む。構成の開始で、メモリ回路３０は、構成データの何ビットがＦＰＧＡｓ３７ａ〜３７ｃに供給されるのかを示している長さカウントを含んでいる、プリアンブル・データをライン３４を介してＦＰＧＡ３７ａに供給する。このプリアンブル・データは、ＦＰＧＡ３７ａに記憶され、かつそれぞれライン７６ａ及び７６ｂを介してＦＰＧＡｓ３７ｂ及び３７ｃにパスされる。その後、ＦＰＧＡ３７ａは、リード線３４を介してメモリ３０から構成データを受信しかつそれ自体を構成するためにそのデータを用いるが、そのシリアル出力リード線７６ａを高（ハイ）に保持する。ＦＰＧＡ３７ａがそれ自体を構成することを行うとすぐに、ＦＰＧＡ３７ａは、リード線３４からリード線７６ａにシリアル・データをパスし始める。このデータは、次いでそれ自体を構成するためにＦＰＧＡ３７ｂによって用いられる。ＦＰＧＡ３７ｂがそれ自体を構成している間、それは、シリアル出力リード線７６ｂをハイに保持する。ＦＰＧＡ３７ｂがそれ自体を構成することを行うとすぐに、それは、リード線７６ａからリード線７６ｂにシリアル・データをパスし始める。ＦＰＧＡ３７ｃは、それ自体を構成するためにリード線７６ｂからデータを受信しかつ用いる。重要なのは、各ＦＰＧＡ３７ａ〜３７ｃは、クロック信号がリード線３５上に受信される度毎に増加するカウンタを含む。カウントされたクロック信号の数が長さカウントに等しいとき、ＦＰＧＡｓ３７ａ〜３７ｃの全ては、構成が完了したことを知る。各ＦＰＧＡｓ３７ａ、３７ｂ、３７ｃは、“ＡＮＤ結合”されかつメモリ回路３０に結合される関連オープン・ドレイン出力ライン３８ａ、３８ｂ、３８ｃを含む。ＦＰＧＡｓ３７ａ、３７ｂ及び３７ｃが長さカウントに等しいクロック・パルスの数をカウントしたときに、ライン３８ａ、３８ｂ及び３８ｃの全ては、アクティブ（例えば、ハイ）に保持され、次いでメモリ回路３０をトリステート・バッファ５１及び６８にもたらし（図７ａ）、かつＦＰＧＡｓに構成データを送ることを中止させる。図８ａは、３つのＦＰＧＡｓを示すが、他の数のＦＰＧＡｓに同じ原理を適用することができる。
重要なのは、図８ａにおいて、ＦＰＧＡｓ３７ａ〜３７ｃがクロックまたは発振器回路を含むことは必要ない。
図８ａの実施例の代替変形では、ＦＰＧＡ３７ａは、ＦＰＧＡ３７ａが構成データでロードされることが行われたときにトランジスタ駆動オープン・ドレイン・リード線３８ａをオフにし、ＦＰＧＡ３７ｂは、ＦＰＧＡ３７ｂが構成データでロードされることが行われたときにトランジスタ駆動リード線３８ｂをオフにする、等。この代替では、ＦＰＧＡｓ３７ａ〜３７ｃは、リード線３８ａ〜３８ｃに信号をアサートするときを決定するためにカウンティング・クロック信号に依存しない。
別の代替では、メモリ回路３０は、構成の開始でリセット制御回路５６によりリード線５８に供給された信号によってリセットされるカウンタ１２０（図７ｃ）を含む。カウンタ１２０は、リード線７０のクロック・パルスをカウントする。メモリ回路３０は、また、メモリ回路３０に記憶された多数の構成ビットを含むレジスタ１２２を含む。（レジスタ１２２のデータは、メモリ・セル６２のデータと同時にメモリ回路にロードすることができる。）重要なのは、コンパレータ１２４は、カウンタ１２０とレジスタ１２２の内容が等しいときに出力リード線１２６に出力信号を供給し、構成データの最終ビットがメモリ回路３０によって供給されたことを示す。この信号をバッファ５１及び６８をトリステートにする。このように、メモリ回路３０は、ＦＰＧＡｓからの信号に依存することなく構成が完了するときを決定する。
別の実施例（図７ｄ）では、アドレス選択回路５４は、アドレス・カウンタ５８ａ及びアドレス・デコーダ５８ｂを含む。（カウンタ５８ａは、リード線５８のリセット信号によってリセットされかつリード線５２の信号によって増加される。）図７ｄでは、コンパレータ１２４は、データの最終ビットがＦＰＧＡｓに供給されたときを決定するためにカウンタ５８ａのアドレスをレジスタ１２２の内容と比較する。
別の実施例（図７ｅ）では、コード値を等しくする（例えば、全て１）データの語がシフト・レジスタ６６の中にロードされるとき、回路１２８は、このコード値の存在を検出しかつバッファ５１及び６６をトリステートするリード線１３０に出力信号をアサートする。この方法で、コード値は、構成データの最終ビットの位置をマークするためにメモリ・セル６２の中にプログラムされる。
図８ｂは、ＦＰＧＡｓ３７ａ〜３７ｃがそれぞれ出力リード線３９ａ〜３９ｃにＩＮＩＴ信号を供給するような図８ａの回路の変形を示す。重要なのは、リード線３９ａ〜３９ｃを駆動している回路は、オープン・ドレインであり、かつリード線３９ａ〜３９ｃは、“ＡＮＤ結合”される。ＦＰＧＡｓ３７ａ〜３７ｃは、上述したようにそれらが要求しかつ構成データを受信する準備ができたときにＩＮＩＴ信号を供給する。ＦＰＧＡｓ３７ａ〜３７ｃのそれぞれは、また、リード線３９ａ〜３９ｃを監視し、かついずれかの他のＦＰＧＡｓがＩＮＩＴ信号をアサートするならば構成モードにする。
図９は、オプショナル・メモリ回路３０ｂを含んでいる本発明の別の実施例を示す。重要なのは、設計が一つのシリアル・メモリに記憶することができるよりも多くのデータを必要とするならば、メモリ３０ａ及び３０ｂのような二つ以上のメモリを縦続接続することができる。図９では、データ出力リード線３４ａ及び３４ｂは、ＦＰＧＡ３７ａのデータ入力リード線を駆動すべく一緒に結合される。電源投入により、メモリ回路３０ａは、メモリ回路３０ｂを選択解除するリード線７７に選択解除信号をアサートし、メモリ回路３０ｂにバッファ駆動出力リード線３４ｂをトリステートにさせる。メモリ回路３０ａは、次いでその中に記憶されたデータをリード線３４ａにシフトする。メモリ回路３０ａからのデータの最終ビットがリード線３４ａにシフト・アウトされたとき、メモリ回路３０ａは、バッファ駆動出力リード線３４ａをトリステートにし、かつリード線７７に選択信号をアサートし、メモリ回路３０ｂにＦＰＧＡ３７ａにリード線３４ｂを介してデータを送ることを開始させる。一実施例では、これは、メモリ回路３０ａによってクロック・リード線３５ａに供給されたクロック信号の制御下で行われる。
代替実施例では、メモリ回路３０ｂは、リード線３５ａに接続されたクロック・リード線上にそれ自体のクロック信号を生成する。メモリ３０ａがデータを供給しているとき、メモリ回路３０ｂは、そのクロック出力リード線をトリステートにし、メモリ３０ｂがデータを供給しているとき、メモリ回路３０ａは、そのクロック・リード線をトリステートにする。
先の実施例におけるように、ＦＰＧＡｓ３７ａ〜３７ｃの全てが構成されることが行われるとき、アクティブ信号は、リード線３８ａ〜３８ｃにアサートされる。これらのリード線は、ＡＮＤ接続され、かつ構成の完了によりメモリ回路３０ａ及び３０ｂを選択解除するために用いられる。
図９は、二つのメモリ回路３０ａ、３０ｂを示すが、他の数のシリアル・メモリ回路を用いることができるということに注目すべきである。
図１０は、メモリ回路３０がＦＰＧＡｓ３７ａ’、３７ｂ’及び３７ｃ’を構成すべく用いられるような本発明の変形を示す。図１０では、電源投入により、メモリ回路３０は、リード線３４及び３５を介してＦＰＧＡｓ３７ａ’〜３７ｃ’にクロック及びデータ信号を送る。最初、ＦＰＧＡ３７ａ’及びＦＰＧＡ３７ｂ’ｓは、それぞれリード線７８ａ及び７８ｂにインアクティブ信号を通信し、それによってＦＰＧＡ３７ｂ’及び３７ｃ’にリード線３５及び３４上のクロック及びデータ信号を無視させる。ＦＰＧＡ３７ａ’は、次いで、それ自体を構成するためにメモリ回路３０からのデータ信号を用いる。ＦＰＧＡ３７ａ’が、それ自体を構成することを行ったとき、それは、リード線７８ａをアクティブに保持し、ＦＰＧＡ３７ｂ’にリード線３４及び３５を介してメモリ回路３０からデータ及びクロック信号を受信させるかつそれ自体を構成すべくデータを使用させる。ＦＰＧＡ３７ｂ’が構成することを行ったとき、それは、リード線７８ｂをアクティブに保持し、かつＦＰＧＡ３７ｃ’は、リード線３４からデータを記憶することを開始する。図８及び９の実施例におけるように、ＦＰＧＡｓ３７ａ’〜３７ｃ’の出力リード線３８ａ’〜３８ｃ’は、一緒にＡＮＤ結合され、かつ全てのＦＰＧＡｓがそれら自体を構成することを行ったときにアクティブになり、次いで、メモリ回路３０に、そのクロック及びデータ出力リード線を駆動しているバッファをトリステートにさせる。
一実施例では、ＦＰＧＡ３７ａ’は、リード線７８ａに結合されたＦＰＧＡ３７ｂ’の入力リード線に対応している入力リード線を含む。このＦＰＧＡ３７ｂ’の入力リード線は、アクティブに結合され、ＦＰＧＡ３７ａ’に構成の開始でメモリ回路３０によって供給された構成データを利用させる。
図１０は、構成される３つのＦＰＧＡｓを示すけれども、この技術は、他の数のＦＰＧＡｓを構成するために用いることができる。
図１１は、シリアル・メモリ回路３０の代わりにパラレル・メモリ集積回路８０を用いる本発明の別の実施例を示す。図１１では、メモリ回路８０は、データ・バス８２を介して一度にデータのｎビットのワード（語）をＦＰＧＡ８１に供給する。（一般に、ｎ＝８。）構成の前に（例えば、電源投入またはシステム・リセットにより）、メモリ回路８０は、ライン８３上にリセット信号をアサートし、構成がもうすぐ開始することをＦＰＧＡ８１に示す。次いでメモリ回路８０は、データの一連のワード（語）をデータ・バスに、一連の書込み制御信号を書込み制御ライン８４に供給する。ＦＰＧＡ８１は、バス８２からＦＰＧＡ８１内の構成メモリ・セルの中にデータをロードすることによって書込み制御信号に応答する。ＦＰＧＡ８１が構成することを行ったときに、それは、ライン８５に信号をアサートし、それによってメモリ回路８０にデータ・バス８２及び書込み制御ライン８４を駆動しているバッファをトリステートにさせる。
図１２は、メモリ回路８０を概略的に示す。メモリ回路８０は、クロック・リード線９２上のクロック信号をアドレス選択回路９４に供給するクロック発振器９０を含む。リセットまたは電源投入により、リセット制御回路９６は、リード線９７を介してアドレス選択回路９４にパルスを印加し、アクティブ信号を選択リード線９８ａにアサートし、それによってメモリ・セル１００ａの第１の行からのデータをトリステート・ドライバ回路１０２に供給させる。ドライバ回路１０２は、メモリ８０のデータ・バス８２を駆動する。クロック発振器９０は、トリステート・バッファ１０６を介してライン８４に書込み制御信号を供給する。
その後、クロック発振器９０は、リード線９２にクロック信号を供給し、アドレス選択回路９４にリード線９８ａをインアクティブに保持させ、かつリード線９８ｂにアクティブ信号選択リード線９８ｂをアサートさせる。リード線９８ｂ上のアクティブ信号は、メモリ・セル１００ｂからのデータをドライバ回路１０２に供給させ、次いでこのデータをデータ・バス８２上に駆動する。別の書込み制御信号は、次いで、リード線８４に印加される。この方法で、データは、構成が完了するまでＦＰＧＡ８１に供給される。構成が完了するとき、ＦＰＧＡ８１は、リード線８５に信号をアサートし、トリステート制御回路１０８にバッファ１０６及びドライバ回路１０２をトリステートにさせる。
図１２の実施例では、リード線８４の信号は、データのワードがライン８２で準備ができている度毎にアクティブになる。それゆえに、リード線８４の信号に対するタイミングは、ジーリンクス・データブックの２−４０及び２−４１に記載された非同期周辺モード構成で用いられる書込みストローブ信号に類似する。
代替的に、リード線８４の信号の周波数は、リード線９２の信号の周波数のｎ倍でありうる。ここでｎは、データ・バス８２の幅である。それゆえに、リード線８４の信号は、ジーリンクス・データブックの２−３８及び２−３９頁に記載された同期周辺モード構成におけるクロック信号と同様な方法でＦＰＧＡ８１によって用いられる。
図１３は、複数のＦＰＧＡｓ８１ａ、８１ｂ、及び８１ｃがメモリ回路８０からのデータで構成されるような、図１２の構成の変形を示す。この実施例では、ＦＰＧＡ８１ａは、ＦＰＧＡ８１ａからＦＰＧＡ８１ｂにシリアル・データを供給するためのシリアル出力リード線１１０ａを含み、かつＦＰＧＡ８１ｂは、ＦＰＧＡ８１ｃにシリアル・データを供給するためにシリアル出力リード線１１０ｂを含む。ＦＰＧＡｓ８１ａ〜８１ｃは、また、クロック・リード線１１２を介してメモリ回路８０からクロック信号を受信する。重要なのは、ＦＰＧＡ８１ａは、シフト・レジスタを含む。ＦＰＧＡ８１ａがそれ自体を構成することを行った後、それは、メモリ回路８０から受信したデータをシリアル出力リード線１１０ａにシフトし始める。リード線１１０にデータをシフト・アウトするためのタイミングは、メモリ回路８０によって生成された、リード線１１２のクロック信号によって制御される。ＦＰＧＡ８１ｂは、次いで、リード線１１０ａから受信したデータでそれ自体を構成する。ＦＰＧＡ８１ｂがそれ自体を構成することを行なうとすぐに、それは、リード線１１０ｂに構成データをシフト・アウトしてＦＰＧＡ８１ｃを構成することができる。それゆえに、ＦＰＧＡ８１ａは、並列でその構成データを受信し、ＦＰＧＡ８１ｂ及び８１ｃは、直列でそれらの構成データを受信する。
先の実施例のように、ＦＰＧＡｓ８１ａ〜８１ｃは、一緒にＡＮＤ結合されかつ構成が終了したことをメモリ回路８０に示すために用いられる出力リード線８５ａ〜８５ｃを含む。
図１３は、この技術を用いて構成された３つのＦＰＧＡｓを示すけれども、この方法で他の数のＦＰＧＡを構成することができる。
図１４は、複数のＦＰＧＡｓ８１ａ’、８１ｂ’がそれぞれデータ・バス８２’の関連リード線に結合された図１３の構成の変形を示す。構成中、各ＦＰＧＡｓ８１ａ’、８１ｂ’は、その関連リード線８２ａ’、８２ｂ’を介してメモリ回路８０’からシリアル・データ・ストリームを受信し、かつそれ自体を構成するためにそのデータを用いる。重要なのは、各ＦＰＧＡ８１ａ’、８１ｂ’は、また、タイミングを制御するためにリード線８４から書込み制御信号を受信する。この方法で、ＦＰＧＡｓ８１ａ’、８１ｂ’は、並列で同時に構成される。先の実施例におけるように、構成が終了するとき、各ＦＰＧＡｓ８１ａ’、８１ｂ’は、その関連リード線８５ａ’、８５ｂ’に信号をアサートする。リード線８５ａ’、８５ｂ’は、一緒にＡＮＤ結合されかつメモリ回路８０’に結合される。メモリ回路８０’は、バス８２’を駆動する回路素子をトリステートにすることによってリード線８５ａ’、８５ｂ’の信号に応答する。図１４は、この方法でプログラムされる二つのＦＰＧＡｓだけを示すけれども、データ・バス８２’は、二つ以上のバス・リード線を有することができ（一般ににバス８２’は、８つのバス・リード線を含む）、それゆえに他の数のＦＰＧＡｓがこの技術を用いて並列で構成するくとができる。
図１５は、３つのＦＰＧＡｓ８１ａ’’〜８１ｃ’’がデータ・バス８２’’及び書込み制御リード線８３’’を介してメモリ回路８０に結合されるような本発明の実施例を示す。構成の開始では、ＦＰＧＡｓ８１ａ’’及び８１ｂ’’は、それぞれリード線１１４ａ及び１１４ｂにインアクティブ信号をアサートする。構成の開始では、ＦＰＧＡｓ８１ａ’’は、バス８２’’から構成データを受信しかつそれに応じてそれ自体を構成する。ＦＰＧＡｓ８１ａ’’がそれ自体を構成することを行ったとき、それは、リード線１１４をアクティブに保持しその後バス８２’’上のデータを無視する。ＦＰＧＡｓ８１ｂ’’は、それ自体を構成せるためにバス８２’’からのデータを用いることによってリード線１１４ａの信号に応答する。ＦＰＧＡｓ８１ｂ’’がそれ自体を構成することを行ったとき、それは、リード線１１４ｂをアクティブに保持し、かつその後バス８２’’上のデータを無視する。ＦＰＧＡｓ８１ｃ’’は、次いでそれ自体を構成するためにバス８２’’のデータを用いる。
本発明は、特定の実施例を参照して説明されたが、当業者は、本発明の精神及び範疇から逸脱することなく、変更が形及び詳細においてなされうるということを認識するであろう。例えば、図９〜１５の実施例におけるＦＰＧＡｓは、図５ｂ及び８ｂに関して上述したように構成を初期化するかまたは許容するためにＩＮＩＴ信号を供給することができる。
再プログラマブル・メモリ・セルを有している種々のプログラマブル・ロジック・デバイスを本発明に従って用いることができるということも注目される。それゆえに、ＥＥＰＲＯＭまたはＳＲＡＭベースドＰＬＡ及びＰＡＬ型アーキテクチャ・デバイスを本発明に従ってメモリで用いることができる。（“ＰＡＬ”及び“ＰＬＡ”は、よく知られた用語である。例えば、ここで参考文献として採り入れられる、Monolithic Memories, Inc．によって出版されたLSI Databook、特にchapter５を参照。）
更に、上述したメモリは、いつ構成が終了したかを示しているＦＰＧＡまたはＦＰＧＡｓから信号（例えば、リード線３８及び８５の信号）を受信する。別の実施例では、メモリは、ＦＰＧＡｓを構成するために必要なデータの最終ビットの位置を表わす情報でプログラムされる。この実施例では、メモリ回路３０及び８０は、構成の終了を表わすＦＰＧＡｓからの信号を受信しなくてもよい、クロック及びデータ出力ライン（またはデータ及び書込み制御ライン）をトリステートにする回路素子を含む。
図５ａ、８ａ、９及び１０の実施例では、メモリ回路３０は、構成がもうすぐ開始するときを表している信号をライン３６に供給する。代替実施例では、ライン３６は、存在することを必要とせずかつＦＰＧＡ３７は、構成がもうすぐ開始するときを表わすためにライン３５のクロック・パルスを信頼することができる。同様な方法で、図１１〜１５の実施例の変形では、リード線８３は、除去され、かつＦＰＧＡｓ８１は、いつ構成が開始されるべきかを表わす表示に対してリード線８４の書込み制御信号を信頼する。
図１２の実施例の一つの変形において、メモリ回路８０は、クロック発振器９０によって生成されたクロック信号を用いるかまたは外部的に生成されたクロック回路、例えば、図７ｂにおけるような、を受信するためにプログラマブルでありうる。
図１２では、図７ｃ〜７ｅと同様に、メモリ回路は、いつデータの最後のワードがＦＰＧＡに供給されたかを決定する手段を含むことができる。次いでメモリ回路は、構成データを受信しているＦＰＧＡまたはＦＰＧＡｓにＤＯＮＥ信号を通信することができる。
図７ａに示した構成は、一般に単一集積回路内で形成される。同様に、図７ｂ〜７ｅ及び１２の実施例における構造も単一集積回路内で形成することができる。
一実施例では、ＦＰＧＡｓは、上述した多数の方法で構成することができる。そのような実施例では、ＦＰＧＡｓは、どのようにＦＰＧＡｓが構成されるべきか（例えば、直列または並列で）を表している信号を受信する一つ以上のモード制御ピンを含む。
ＦＰＧＡｓ及びメモリは、あらゆる適切な技術、例えば、ＮＭＯＳ、ＰＭＯＮ、ＣＭＯＳ、バイポーラ、等を用いて構成することができる。ＦＰＧＡｓは、上述したようにまたはここで参考文献として採り入れるErickson, et al.によって１９９４年４月１日に出願された、米国特許出願第08/223,247号に記載されたように、それらのピンから構成メモリ・セルにデータを送ることができる。本発明の他の変更は、上記した説明に鑑みて当業者において自明であろう。
【図１】
0003736855.tif 000002
【図２】
0003736855.tif 000003
【図３】
0003736855.tif 000004
【図４】
0003736855.tif 000005
【図５ａ】
0003736855.tif 000006
【図５ｂ】
0003736855.tif 000007
【図６】
0003736855.tif 000008
【図７ａ】
0003736855.tif 000009
【図７ｂ】
0003736855.tif 000010
【図７ｃ】
0003736855.tif 000011
【図７ｄ】
0003736855.tif 000012
【図７ｅ】
0003736855.tif 000013
【図８ａ】
0003736855.tif 000014
【図８ｂ】
0003736855.tif 000015
【図９】
0003736855.tif 000016
【図１１】
0003736855.tif 000017
【図１０】
0003736855.tif 000018
【図１３】
0003736855.tif 000019
【図１２】
0003736855.tif 000020
【図１４】
0003736855.tif 000021
【図１５】
0003736855.tif 000022