JPH09231788A5 - - Google Patents
Info
- Publication number
- JPH09231788A5 JPH09231788A5 JP1996308458A JP30845896A JPH09231788A5 JP H09231788 A5 JPH09231788 A5 JP H09231788A5 JP 1996308458 A JP1996308458 A JP 1996308458A JP 30845896 A JP30845896 A JP 30845896A JP H09231788 A5 JPH09231788 A5 JP H09231788A5
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- programmable logic
- function
- logic circuit
- determination data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Description
【発明の名称】シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム
【特許請求の範囲】
【請求項1】チェイン形式で順次的に接続された複数の回路セルを有するシフトレジスタであって、前記複数の回路セルの各々は、
第1の反転ゲートと、
前記第1の反転ゲートの出力に接続されクロックによってスイッチ動作する第1のトランスミッションゲートと、
前記第1のトランスミッションゲートの出力に接続された第2の反転ゲートと、
前記第2の反転ゲートの出力と前記第1の反転ゲートの入力の間に接続され前記クロックによってスイッチ動作する第1のPチャネルトランジスタと、
前記第2の反転ゲートの出力に接続され反転クロックによってスイッチ動作する第2のトランスミッションゲートと、
前記第1のトランスミッションゲートの出力に接続され前記反転クロックによってスイッチ動作する第2のPチャネルトランジスタと
を有し、
この回路セルの前記第1の反転ゲートの入力は、この回路セルの前段の回路セルの第2のトランスミッションゲートの出力に接続され、この回路セルの該第1の反転ゲートの出力は、この回路セルの該前段の回路セルの前記第2のPチャネルトランジスタの出力に接続されて、前記複数の回路セルの各々が順次的に接続されたものであることを特徴とするシフトレジスタ。
【請求項2】 前記第1および第2の反転ゲートそれぞれは、インバータ、NANDゲート及びNORゲートのうちの何れか1つにより構成されたものであることを特徴とする請求項1記載のシフトレジスタ。
【請求項3】前記複数の回路セルの各々は、前記クロック及び前記反転クロックを供給するクロック供給回路をさらに含み、該クロック供給回路は、入力クロックをバッファリングし前記クロックを出力する第1のバッファ回路と、前記入力クロックを反転し前記反転クロックを出力する第2のバッファ回路とを有することを特徴とする請求項1又は2記載のシフトレジスタ。
【請求項4】前記第1および第2バッファ回路のうちの少なくとも一方は、Pチャネルトランジスタ側のドライブ能力がNチャネル側のドライブ能力より実質的に同等以上になるようにトランジスタパラメータを調節したインバータ、及びPチャネルトランジスタの数の方がNチャネルトランジスタの数よりも多いインバータのうちの何れか一方を有することを特徴とする請求項3記載のシフトレジスタ。
【請求項5】前記複数の回路セルのうちの一部の回路セルの、前記第1のトランスミッションゲート、前記第2のトランスミッションゲート、前記第1のPチャネルトランジスタ、及び第2のPチャネルトランジスタそれぞれのクロック入力端子に接続され、第1のモードでは、前記クロック及び前記反転クロックを前記それぞれのクロック入力端子に供給し、第2のモードでは、前記一部の回路セルを残りの回路セルからアイソレートするために前記それぞれのクロック入力端子のうちの少なくとも一部のクロック入力端子に所定の信号を供給するクロック制御回路をさらに有することを特徴とする請求項1から4のうち何れか1項記載のシフトレジスタ。
【請求項6】前記クロック制御回路から前記一部のクロック入力端子に前記所定の信号が供給され、前記残りの回路セルからアイソレートされる前記一部の回路セルは、フリップフロップとして動作することを特徴とする請求項5項記載のシフトレジスタ。
【請求項7】機能決定用データが供給される機能決定用メモリと、前記機能決定用データに従って所望の論理回路を実現する少なくとも1つの論理セルとを有するプログラマブル論理回路であって、前記機能決定用メモリは、チェイン形式で順次的に接続された複数の回路セルを有するシフトレジスタを有し、前記複数の回路セルの各々は、
第1の反転ゲートと、
前記第1の反転ゲートの出力に接続されクロックによってスイッチ動作する第1のトランスミッションゲートと、
前記第1のトランスミッションゲートの出力に接続された第2の反転ゲートと、
前記第2の反転ゲートの出力と前記第1の反転ゲートの入力の間に接続され前記クロックによってスイッチ動作する第1のPチャネルトランジスタと、
前記第2の反転ゲートの出力に接続され反転クロックによってスイッチ動作する第2のトランスミッションゲートと、
前記第1のトランスミッションゲートの出力に接続され前記反転クロックによってスイッチ動作する第2のPチャネルトランジスタと
を有し、
前記回路セルの前記第1の反転ゲートの入力は前記回路セルの前段の回路セルの第2のトランスミッションゲートの出力に接続され、前記回路セルの前記第1の反転ゲートの出力は前記前段の回路セルの前記第2のPチャネルトランジスタの出力に接続されて、前記複数の回路セルが順次的に接続されることを特徴とするプログラマブル論理回路。
【請求項8】前記第1及び第2の反転ゲートそれぞれは、NANDゲート及びNORゲートのうち何れか一方を有することを特徴とする請求項7記載のプログラマブル論理回路。
【請求項9】前記複数の回路セルのうちの一部の回路セルの、前記第1のトランスミッションゲート、前記第2のトランスミッションゲート、前記第1のPチャネルトランジスタ、及び第2のPチャネルトランジスタそれぞれのクロック入力端子に接続され、第1のモードでは、前記クロック及び前記反転クロックをそれぞれのクロック入力端子に供給し、第2のモードでは、前記一部の回路セルを残りの回路セルからアイソレートするために前記それぞれのクロック入力端子のうちの少なくとも一部のクロック入力端子には所定の信号を供給するクロック制御回路をさらに有することを特徴とする請求項7又は8記載のプログラマブル論理回路。
【請求項10】前記クロック制御回路から前記一部のクロック入力端子に前記所定の信号が供給され、前記残りの回路セルからアイソレートされる前記一部の回路セルは、フリップフロップとして動作することを特徴とする請求項9項 記載のプログラマブル論理回路。
【請求項11】機能決定用データに従って所望の論理回路を実現するプログラマブル論理回路であって、複数の部分回路を有し、前記プログラマブル論理回路が動作中、少なくとも1つの部分回路に制御信号が供給されたとき、他の動作中の部分回路の動作に影響を与えることなく、前記少なくとも1つの部分回路において実現された回路機能が変更されることを特徴とするプログラマブル論理回路。
【請求項12】前記部分回路は、
論理機能を実現する論理セル、複数の部分回路の接続機能を実現するスイッチ手段、データの入力及び出力の機能を実現するI/Oモジュールのうち少なくとも1つを含むことを特徴とする請求項11記載のプログラマブル論理回路。
【請求項13】機能決定用データを前記複数の部分回路のうちの少なくとも1つに専用線及びプログラマブル配線の何れかを介して供給する少なくとも1つの機能決定用データサーバをさらに含むことを特徴とする請求項11又は12記載のプログラマブル論理回路。
【請求項14】前記部分回路は、
複数の機能決定用データを記憶する記憶回路を有することを特徴とする請求項11から13のうち何れか1項記載のプログラマブル論理回路。
【請求項15】前記論理セルは、
出力データを保持する出力データ保持回路を有し、前記プログラマブル論理回路が動作中、前記論理セルの回路機能が変更されるとき、前記論理セルの出力が前記出力データ保持回路によって保持されることを特徴とする請求項12記載のプログラマブル論理回路。
【請求項16】前記論理セルは、
機能決定用データで設定できるシフトレジスタを有する機能決定用メモリと、前記機能決定用メモリに設定された機能決定用データに応じて論理機能を決定するプログラマブル機能ユニットと、
前記機能決定用メモリに前記機能決定用データを供給するメモリコントローラとを有し、
前記メモリコントローラにより前記機能決定用データが前記機能決定用メモリに供給されたとき、前記プログラマブル機能ユニットの論理機能が前記機能決定用データに応じて決定される論理機能に変更されることを特徴とする請求項12又は15記載のプログラマブル論理回路。
【請求項17】機能決定用データに従って所望の論理回路を実現するプログラマブル論理回路システムであって、複数のプログラマブル論理回路を含む第2の部分回路を有し、前記プログラマブル論理回路システムが動作中、少なくとも1つの第2の部分回路に制御信号が供給されたとき、他の動作中の第2の部分回路の動作に影響を与えることなく、前記少なくとも1つの第2の部分回路において実現された回路機能が変更されることを特徴とするプログラマブル論理回路システム。
【請求項18】前記第2の部分回路は、
前記複数のプログラマブル論理回路の接続機能を実現する複数のスイッチデバイスと、
データの入力機能又は出力機能を実現する複数のI/Oモジュールとを含むことを特徴とする請求項17記載のプログラマブル論理回路システム。
【請求項19】機能決定用データを前記第2の部分回路に専用線及びプログラマブル配線の何れかを介して供給する少なくとも1つの機能決定用データサーバをさらに含むことを特徴とする請求項17又は18記載のプログラマブル論理回路システム。
【請求項20】前記第2の部分回路は、
複数の機能決定用データを記憶する記憶回路を有することを特徴とする請求項17から19のうち何れか1項記載のプログラマブル論理回路システム。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システムに関し、特に、小型化可能なシフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システムに関する。さらに、本発明は、実現できる論理回路のゲート数を増加したプログラマブル論理回路及びプログラマブル論理回路システムに関する。
【0002】
【従来の技術】
プログラマブル論理回路として、例えば、フィールドプログラマブルゲートアレイ(FPGA)が一般的に知られている。図61は、フィールドプログラマブルゲートアレイ(FPGA)の概略的構成図である。FPGAは、所望の論理回路をプログラムできる複数の論理セル(Logic Cell)と、その論理セル間を自由に接続可能な複数の配線とを有する。論理回路の構成を記述した機能決定用データ(コンフィギュレーションデータ)を各論理セルに供給することによって、大規模な論理回路を自由に実現することができる。機能決定用データを保持する方法に基づいて、下記に示すように主に3つのタイプのFPGAが存在する。
【0003】
I.SRAMプログラム型FPGA:機能決定用データは、SRAMメモリセルに格納される。論理回路の機能を繰り返し変更することができる。製造時に特殊なプロセス技術を必要としない。
【0004】
II.不揮発性メモリプログラム型FPGA:機能決定用データは、EEPROMやフラッシュメモリなどの不揮発性メモリに格納される。SRAMプログラム型FPGAと同様に、論理回路の機能を繰り返し変更することができる。製造時に特殊なプロセスを必要とする。
【0005】
III.アンチヒューズプログラム型FPGA:機能決定用データに応じて、LSIチップ上に設けられたスイッチ(アンチヒューズ)の状態が恒久的に決定される。プログラムの後、論理回路の機能は変更できない。製造に特殊プロセスを要する。
【0006】
また、複数のプログラマブル論理回路を自由に接続し組み合わせることによって、さらに大規模な論理回路を実現できるプログラマブル論理回路システムを構成できる。
【0007】
さらに、近年、大規模論理回路の論理検証を実際に使用する回路上で行うためのハードウェアエミュレータが、開発されている。このハードウェアエミュレータでは、複数のFPGAがプログラマブルに相互に接続され、大規模論理回路が構成される。ワークステーション上などで動作するソフトウェアシミュレータに比べ、動作速度が100倍以上高速である。従って、ハードウェアエミュレータは、マイクロプロセッサなどの開発によく用いられている。
【0008】
SRAMプログラム型FPGAにおいて、機能決定用データは、一般的に機能決定用メモリ(コンフィギュレーションメモリ)にシリアルにロードされる。従って、機能決定用メモリは、一般的にシフトレジスタで構成される。
【0009】
さらに、シフトレジスタは、一般的に、Dフリップフロップを縦続接続することによって実現される。図62に、典型的なCMOS型Dフリップフロップの回路構成図を示す。このDフリップフロップでは、インバータINVとトランスミッションゲートTGを環状に接続することで閉路が構成されている。入力端子INに与えられた入力信号は、2つの閉路で構成されるマスタ・スレーブラッチを経て出力端子OUTに伝搬される。図62に示したDフリップフロップは、16個のMOSトランジスタを有している。従って、このようなDフリップフロップで構成される従来のシフトレジスタは、LSIチップ上で比較的大きな面積を有する。
【0010】
特に、SRAMプログラム型FPGAは、機能決定用データを記憶するため数十万段のシフトレジスタを必要とするので、FPGAチップの大部分の面積がシフトレジスタで構成される機能決定用メモリに使用される。FPGAの性能は、単位面積あたりの等価ゲート数(ある一定のチップ面積において、何ゲート数相当の論理回路が実現できるかを示す評価指標)によって一般的に評価される。従って、FPGAの性能を向上するためには、シフトレジスタで構成される機能決定用メモリを小型化し、全体のチップ面積に対するメモリ用面積の割合を減らす必要がある。
【0011】
シフトレジスタを小型化するためには、チェーンラッチ構成のシフトレジスタを使用した方が良いことが知られている。図63は、従来のチェーンラッチ構成のシフトレジスタの回路構成図である。図64は、図63に示す従来のチェーンラッチ構成のシフトレジスタの動作を説明する図である。
【0012】
図64において、端子Kから供給された信号は、スイッチCがオン、スイッチE及びFがオフになった時、インバータDを通り、その出力端子まで伝搬する。その後、スイッチCがオフ、スイッチE及びFがオンになった時、供給された信号の値が閉路Aに保持される。閉路A上の値が安定状態に遷移し固定された後、再度、スイッチCはオン、スイッチE及びFがオフ、さらにスイッチH及びIがオンになる。この時、インバータGの出力の値が変化しないうちに、スイッチHを先に変化させインバータJの出力を確定する必要がある。もし、先にスイッチIが変化した場合、閉路A’に保持されていた値によって閉路Bに保持されるべき値が失われる場合がある。
【0013】
【発明が解決しようとする課題】
しかしながら、上述した従来のチェーンラッチ型シフトレジスタには次のような問題点がある。
【0014】
上述のチェーンラッチ構成のシフトレジスタを実際に構成する場合、回路を構成するスイッチの性能、配線負荷容量、供給クロックのタイミングなどによって回路の動作がばらつき、従って、この回路の安定な動作を得ることが難しかった。
【0015】
また、従来のプログラマブル論理回路の論理セルにおいても、以下に示す問題点があった。
【0016】
論理セルでフリップフロップを実現する方法は、一般的に以下の2種類の方法が知られている。
【0017】
I.独立フリップフロップ型:論理セル内において、フリップフロップが組合せ論理回路とは独立して設けられ、そのフリップフロップの入力及び出力を機能決定用データで制御する。
【0018】
II.プログラムフィードバック型:論理セル内に設けられた組合せ論理に、フィードバックパスが設けられ、機能決定用データからの接続指示によって、フリップフロップが形成される。
【0019】
いずれの構成においても、実現できるフリップフロップの数は、論理セルの数によって決定される。従って、実現できるフリップフロップの数を増やすためには、論理セルの数を増加させる必要があり、これは、プログラマブル論理回路のチップ面積を増加させることになる。
【0020】
また、従来のプログラマブル論理回路やプログラマブル論理回路システムでは、その回路を動作開始させる前に、機能決定用メモリに機能決定用データがロードされ、その後は、プログラマブル論理回路内の全ての機能決定用データが書き替えられるまで、機能決定用データによって決定される論理回路に従って動作する。
【0021】
すなわち、プログラマブル論理回路上で実現される論理回路は、機能決定用データによって決定される論理回路に動作終了時まで固定される。従って、プログラマブル論理回路及びプログラマブル論理回路システムにおいて実現できる論理回路のゲート数を増やすためには、論理セルの規模を大きくしたり、論理セルの数を増加させる必要があり、この場合も、プログラマブル論理回路のチップ面積を増加させることになる。
【0022】
本発明の目的は、小さなサイズのシフトレジスタを提供することにある。このシフトレジスタによって、多段のシフトレジスタを使用する回路、例えば、プログラマブル論理回路の機能決定用メモリ、を小型化できる。
【0023】
また、本発明の他の目的は、実現できるフリップフロップの数を増加したプログラマブル論理回路を提供することにある。
【0024】
さらに、本発明の他の目的は、機能決定用メモリの値が動作中に変更でき、また、プログラマブル論理回路の一部を自由に初期化でき、それによって、実現できる論理回路の実質的なゲート数を増加したプログラマブル論理回路及びプログラマブル論理回路システムを提供することにある。その結果、プログラマブル論理回路及びプログラマブル論理回路システムのコストを大幅に低減できる。
【0025】
これらによって、上述した問題点を解決することができる。
【0026】
【課題を解決するための手段】
上記課題を解決するために本発明では、下記の手段を講じたことを特徴とするものである。
【0027】
請求項1記載の発明装置では、
チェイン形式で順次的に接続された複数の回路セルを有するシフトレジスタであって、前記複数の回路セルの各々は、
第1の反転ゲートと、
上記第1の反転ゲートの出力に接続されクロックによってスイッチ動作する第1のトランスミッションゲートと、
上記第1のトランスミッションゲートの出力に接続された第2の反転ゲートと、
上記第2の反転ゲートの出力と上記第1の反転ゲートの入力の間に接続され上記クロックによってスイッチ動作する第1のPチャネルトランジスタと、
上記第2の反転ゲートの出力に接続され反転クロックによってスイッチ動作する第2のトランスミッションゲートと、
上記第1のトランスミッションゲートの出力に接続され上記反転クロックによってスイッチ動作する第2のPチャネルトランジスタと
を有し、
この回路セルの上記第1の反転ゲートの入力は、この回路セルの前段の回路セルの第2のトランスミッションゲートの出力に接続され、この回路セルの該第1の反転ゲートの出力は、この回路セルの該前段の回路セルの上記第2のPチャネルトランジスタの出力に接続されて、上記複数の回路セルの各々が順次的に接続されたものであることを特徴とする。
【0028】
請求項2記載の発明装置では、
請求項1記載のシフトレジスタにおいて、上記第1および第2の反転ゲートそれぞれは、インバータ、NANDゲート及びNORゲートのうちの何れか1つにより構成されたものであることを特徴とする。
【0029】
請求項3記載の発明装置では、
請求項1又は2記載のシフトレジスタにおいて、上記複数の回路セルの各々は、上記クロック及び上記反転クロックを供給するクロック供給回路をさらに含み、該クロック供給回路は、入力クロックをバッファリングし上記クロックを出力する第1のバッファ回路と、上記入力クロックを反転し上記反転クロックを出力する第2のバッファ回路とを有することを特徴とする。
【0030】
請求項4記載の発明装置では、
請求項3記載のシフトレジスタにおいて、上記第1および第2バッファ回路のうちの少なくとも一方は、Pチャネルトランジスタ側のドライブ能力がNチャネル側のドライブ能力より実質的に同等以上になるようにトランジスタパラメータを調節したインバータ、及びPチャネルトランジスタの数の方がNチャネルトランジスタの数よりも多いインバータのうちの何れか一方を有することを特徴とする。
【0031】
請求項5記載の発明装置では、
請求項1から4のうち何れか1項記載のシフトレジスタにおいて、上記複数の回路セルのうちの一部の回路セルの、上記第1のトランスミッションゲート、上記第2のトランスミッションゲート、上記第1のPチャネルトランジスタ、及び第2のPチャネルトランジスタそれぞれのクロック入力端子に接続され、第1のモードでは、上記クロック及び上記反転クロックをそれぞれのクロック入力端子に供給し、第2のモードでは、上記一部の回路セルを残りの回路セルからアイソレートするために上記それぞれのクロック入力端子のうちの少なくとも一部のクロック入力端子に所定の信号を供給するクロック制御回路をさらに有することを特徴とする。
【0032】
請求項6記載の発明装置では、
請求項5項記載のシフトレジスタにおいて、上記クロック制御回路から上記一部のクロック入力端子に上記所定の信号が供給され、上記残りの回路セルからアイソレートされる上記一部の回路セルは、フリップフロップとして動作することを特徴とする。
【0033】
請求項7載の発明装置では、
機能決定用データが供給される機能決定用メモリと、上記機能決定用データに従って所望の論理回路を実現する少なくとも1つの論理セルとを有するプログラマブル論理回路であって、上記機能決定用メモリは、チェイン形式で順次的に接続された複数の回路セルを有するシフトレジスタを有し、上記複数の回路セルの各々は、
第1の反転ゲートと、
上記第1の反転ゲートの出力に接続されクロックによってスイッチ動作する第1のトランスミッションゲートと、
上記第1のトランスミッションゲートの出力に接続された第2の反転ゲートと、
上記第2の反転ゲートの出力と上記第1の反転ゲートの入力の間に接続され上記クロックによってスイッチ動作する第1のPチャネルトランジスタと、
上記第2の反転ゲートの出力に接続され反転クロックによってスイッチ動作する第2のトランスミッションゲートと、
上記第1のトランスミッションゲートの出力に接続され上記反転クロックによってスイッチ動作する第2のPチャネルトランジスタと
を有し、
上記回路セルの上記第1の反転ゲートの入力は上記回路セルの前段の回路セルの第2のトランスミッションゲートの出力に接続され、上記回路セルの上記第1の反転ゲートの出力は上記前段の回路セルの上記第2のPチャネルトランジスタの出力に接続されて、上記複数の回路セルが順次的に接続されることを特徴とする。
【0034】
請求項8載の発明装置では、
請求項7記載のプログラマブル論理回路において、上記第1及び第2の反転ゲートそれぞれは、NANDゲート及びNORゲートのうち何れか一方を有することを特徴とする。
【0035】
請求項9載の発明装置では、
請求項7又は8記載のプログラマブル論理回路において、上記複数の回路セルのうちの一部の回路セルの、上記第1のトランスミッションゲート、上記第2のトランスミッションゲート、上記第1のPチャネルトランジスタ、及び第2のPチャネルトランジスタそれぞれのクロック入力端子に接続され、第1のモードでは、上記クロック及び上記反転クロックをそれぞれのクロック入力端子に供給し、第2のモードでは、上記一部の回路セルを残りの回路セルからアイソレートするために上記それぞれのクロック入力端子のうちの少なくとも一部のクロック入 力端子には所定の信号を供給するクロック制御回路をさらに有することを特徴とする。
【0036】
請求項10載の発明装置では、
請求項9項記載のプログラマブル論理回路において、上記クロック制御回路から上記一部のクロック入力端子に上記所定の信号が供給され、上記残りの回路セルからアイソレートされる上記一部の回路セルは、フリップフロップとして動作することを特徴とする。
【0037】
請求項11載の発明装置では、
機能決定用データに従って所望の論理回路を実現するプログラマブル論理回路であって、複数の部分回路を有し、上記プログラマブル論理回路が動作中、少なくとも1つの部分回路に制御信号が供給されたとき、他の動作中の部分回路の動作に影響を与えることなく、上記少なくとも1つの部分回路において実現された回路機能が変更されることを特徴とする。
【0038】
請求項12載の発明装置では、
請求項11記載のプログラマブル論理回路において、上記部分回路は、
論理機能を実現する論理セル、複数の部分回路の接続機能を実現するスイッチ手段、データの入力及び出力の機能を実現するI/Oモジュールのうち少なくとも1つを含むことを特徴とする。
【0039】
請求項13載の発明装置では、
請求項11又は12記載のプログラマブル論理回路において、機能決定用データを上記複数の部分回路のうちの少なくとも1つに専用線及びプログラマブル配線の何れかを介して供給する少なくとも1つの機能決定用データサーバをさらに含むことを特徴とする。
【0040】
請求項14載の発明装置では、
請求項11から13のうち何れか1項記載のプログラマブル論理回路において、上記部分回路は、
複数の機能決定用データを記憶する記憶回路を有することを特徴とする。
【0041】
請求項15載の発明装置では、
請求項12記載のプログラマブル論理回路において、上記論理セルは、
出力データを保持する出力データ保持回路を有し、上記プログラマブル論理回路が動作中、上記論理セルの回路機能が変更されるとき、上記論理セルの出力が上記出力データ保持回路によって保持されることを特徴とする。
【0042】
請求項16載の発明装置では、
請求項12又は15記載のプログラマブル論理回路において、上記論理セルは、
機能決定用データで設定できるシフトレジスタを有する機能決定用メモリと、上記機能決定用メモリに設定された機能決定用データに応じて論理機能を決定するプログラマブル機能ユニットと、
上記機能決定用メモリに上記機能決定用データを供給するメモリコントローラとを有し、
上記メモリコントローラにより上記機能決定用データが上記機能決定用メモリに供給されたとき、上記プログラマブル機能ユニットの論理機能が上記機能決定用データに応じて決定される論理機能に変更されることを特徴とする。
【0043】
請求項17載の発明装置では、
機能決定用データに従って所望の論理回路を実現するプログラマブル論理回路システムであって、複数のプログラマブル論理回路を含む第2の部分回路を有し、上記プログラマブル論理回路システムが動作中、少なくとも1つの第2の部分回路に制御信号が供給されたとき、他の動作中の第2の部分回路の動作に影響を与えることなく、上記少なくとも1つの第2の部分回路において実現された回路機能が変更されることを特徴とする。
【0044】
請求項18載の発明装置では、
請求項17記載のプログラマブル論理回路システムにおいて、上記第2の部分回路は、
上記複数のプログラマブル論理回路の接続機能を実現する複数のスイッチデバイスと、
データの入力機能又は出力機能を実現する複数のI/Oモジュールとを含むことを特徴とする。
【0045】
請求項19載の発明装置では、
請求項17又は18記載のプログラマブル論理回路システムにおいて、機能決定用データを上記第2の部分回路に専用線及びプログラマブル配線の何れかを介して供給する少なくとも1つの機能決定用データサーバをさらに含むことを特徴とする。
【0046】
請求項20載の発明装置では、
請求項17から19のうち何れか1項記載のプログラマブル論理回路システムにおいて、上記第2の部分回路は、
複数の機能決定用データを記憶する記憶回路を有することを特徴とする。
【0047】
上記の発明は、以下のように作用する。
【0048】
請求項1又は2記載のシフトレジスタにおいては、メイン信号パスにおける伝搬時間は、フィードバック回路における伝搬時間よりも短くなる。従って、チェーンラッチ構成のシフトレジスタの動作タイミングを安定に実現することができる。
【0049】
チェーンラッチ構成のシフトレジスタを使用することによって、シフトレジスタを構成するゲート数やチップ面積も、従来の半分以下に低減できる。さらに、非常の多くの段数のシフトレジスタをメモリとして使用するプログラマブル論理回路においても、メモリのためのチップ面積を低減でき、チップ面積に対するプログラム可能な論理回路ゲート数を増加できる。
【0050】
請求項3又は4項記載のシフトレジスタにおいては、Pチャネルトランジスタ側の駆動能力を、Nチャネルトランジスタ側の駆動能力よりも実質的に大きくすることができる。従って、回路セルにおけるスイッチの出力の立ち上がり時間及び立ち下がり時間を実質的に等しくできる。以上の条件によって、チェーンラッチ構成のシフトレジスタの動作をより安定化及び確実化することができる。
【0051】
ここで、シフトレジスタにおいては、状態設定回路によってチェーンラッチ構成のシフトレジスタの内部状態を自由に設定することができる。また、デコーダ回路に任意の制御信号を供給することによって、メモリデータで決定された論理に応じた出力が得られる。即ち、デコーダ回路とシフトレジスタとによって、任意の論理回路を構成することができる。
【0052】
請求項5又は6記載のシフトレジスタ及び請求項7乃至10記載のプログラマブル論理回路においては、チェーンラッチ構成のシフトレジスタの一部の回路セルに所定の信号を供給することによって、その回路セルをフリップフロップとして動作させることができる。従って、このシフトレジスタをプログラマブル論理回路の機能決定用メモリに使用した場合、その機能決定用メモリの一部をフリップフロップとして使用でき、論理セルにおいて実現できるフリップフロップの数を増加させることができる。
【0053】
請求項11、12及び16のうちいずれか1項記載のプログラマブル論理回路、及び請求項17又は18記載のプログラマブル論理回路システムにおいては、プログラマブル論理回路或いはプログラマブル論理回路システムが動作中、他の動作中の部分回路の動作に影響を与えることなく、少なくとも1つの部分回路において実現された回路機能を変更することができる。この回路機能の変更によって、論理機能、接続機能、及びデータに入出力機能を変更することができる。
【0054】
これにより、ゲート数で決定される構成可能回路数よりも多くの回路を実現することができる。
【0055】
請求項13記載のプログラマブル論理回路、及び請求項19記載のプログラマブル論理回路システムにおいては、機能決定用データを供給するための機能決定用データサーバを含んでおり、該機能決定用データは、専用線及びプログラマブル配線のいづれかを介して部分回路に供給できる。従って、機能決定用データを効率良く部分回路に供給でき、プログラマブル論理回路及びプログラマブル論理回路システムの回路構成を簡易化できる。
【0056】
請求項14記載のプログラマブル論理回路、及び請求項20記載のプログラマブル論理回路システムにおいては、部分回路は、複数の機能決定用データを格納する記憶回路を有している。従って、機能決定用データを切り換えることによって、部分回路において実現される回路機能を瞬時に変更することができる。
【0057】
ここで、外部機能決定用データサーバを接続するためのインタフェースを有するプログラマブル論理回路、及びプログラマブル論理回路システムにおいては、機能決定用データサーバを接続するためのインタフェースが設けられている。従って、機能決定用データサーバは、外部に設けることができるので、プログラマブル論理回路及びプログラマブル論理回路システムを簡易化できる。さらに、機能決定用データサーバとして、パーソナルコンピュータ等の大型の高機能な装置を使用することができる。
【0058】
また、上記複数の部分回路のうち特定の部分回路を専用線及びプログラマブル配線に何れかを介して該特定の部分回路の回路機能を選択的に変更する制御装置をさらに有するプログラマブル論理回路、及びプログラマブル論理回路システムにおいては、特定の部分回路の回路機能を選択的に変更する制御装置が設けられている。制御装置は、専用線及びプログラマブル配線のいづれかを介して部分回路に接続されている。従って、プログラマブル論理回路が動作中に、特定の部分回路のみの回路機能を効率よく変更できる。
【0059】
さらに、上記複数の部分回路のうち特定の部分回路を指定して該特定の部分回路の回路機能を選択的に変更する制御装置を接続するインタフェースを有するプログラマブル論理回路、及びプログラマブル論理回路システムにおいては、制御装置を外部に設けることができるので、プログラマブル論理回路及びプログラマブル論理回路システムを簡易化できる。さらに、制御装置として、パーソナルコンピュータ等の大型の高機能な装置を使用することができる。
【0060】
請求項15又は16項記載のプログラマブル論理回路においては、論理セルにおいて実現された回路機能が変更されるとき、論理セルの出力が出力データ保持回路によって保持される。従って、特定の論理セルの回路機能が変更されても、他の動作中の論理セルの動作に影響を与えることを防ぐことができる。
【0061】
さらに、シフトレジスタが、チェーンラッチ構成のシフトレジスタにより構成されているプログラマブル論理回路においては、プログラマブル論理回路を小型化できる。また、メモリコントローラに供給される機能決定用データが他の論理セルからの出力信号を基に生成されるプログラマブル論理回路においては、外部から機能決定用データを供給する必要がないので、プログラマブル論理回路で構成できる回路機能規模をゲート数で定まる回路機能規模よりも自律的に増加することができる。
【0062】
【発明の実施の形態】
始めに、本発明に係わるシフトレジスタの実施例について説明する。図1は、本発明に係わるシフトレジスタの実施例の回路構成図である。図2は、図1に示すシフトレジスタのクロック供給回路の回路構成図である。
【0063】
図1に示すシフトレジスタは、チェーンラッチ構成を有しており、シフトレジスタの一部が図1に示されている。図1に示すシフトレジスタでは、回路セルa〜fが縦続接続されている。1つの回路セルとその隣接の回路セルの一部の回路とで、フリップフロップが構成できる。本発明に係わるシフトレジスタの回路セルでは、メイン信号パスにおけるスイッチとして、トランスミッションゲート1a〜1f及び2a〜2fが設けられており、さらに、フィードバックループにおけるスイッチとして、PチャネルMOSトランジスタ3a〜3f及び4a〜4fが設けられている。
【0064】
また、各回路セルにおいて、トランスミッションゲート1a〜1f及びPチャネルトランジスタ3a〜3fには、クロックCKが供給され、トランスミッションゲート2a〜2f及びPチャネルトランジスタ4a〜4fには、クロックXCK(クロックCKを反転したクロック)が供給される。従って、トランスミッションゲート1a〜1f及びPチャネルトランジスタ3a〜3fが導通している時は、トランスミッションゲート2a〜2f及びPチャネルトランジスタ4a〜4fは非導通となり、それらの組は排他的に動作する。
【0065】
上記の構成では、トランスミッションゲート1a〜1f及び2a〜2fの伝搬遅延は、Pチャネルトランジスタ3a〜3f及び4a〜4fの伝搬遅延よりも小さい。従って、メイン信号パスにおける伝搬時間は、フィードバック回路における伝搬時間よりも短くなる。以上の構成によって、前述したチェーンラッチ構成のシフトレジスタの動作タイミングを安定に実現することができる。
【0066】
クロックCK及びXCKは、図2に示すクロック供給回路によって供給される。図2において、入力されたクロックは、インバータ7によって反転され、2つの信号に分割される。一方は、インバータ8(バッファ回路)によって再び反転されクロックCKを出力する。他方は、インバータ9によって反転された後、再度インバータ10(バッファ回路)によって反転されクロックXCKを出力する。
【0067】
インバータは、一般的にPチャネルトランジスタとNチャネルトランジスタで構成される。しかし、Nチャネルトランジスタの駆動力は、Pチャネルトランジスタのそれよりも数倍大きいため、出力波形の立ち上がりエッジが急峻に遷移できない。この問題は、Pチャネルトランジスタ側の駆動能力を、Nチャネルトランジスタ側の駆動能力よりも実質的に大きくすることで解決できることが実験的にわかった。
【0068】
上記の解決方法を達成するため、カスタムLSIでは、Pチャネル側のトランジスタの駆動能力を増加させるために大きいサイズのPチャネルトランジスタを使用することができる。また、ゲートアレイでは、トランジスタのサイズは一様なので、図2に示すように、インバータ8及び10のPチャネルトランジスタの数をNチャネルトランジスタの数よりも多くする。
【0069】
Pチャネルトランジスタの駆動能力をDp、Nチャネルトランジスタの駆動能力をDnとすると、Pチャネルトランジスタの数とNチャネルトランジスタの数の比は、Dn/Dpよりも実質的に大きいことが望ましい。各トランジスタの絶対数は、クロック供給回路のクロックが接続される負荷の量(スイッチの数)に依存する。上記の条件を満足する時に、出力波形の立ち上がりエッジが急峻に遷移でき、クロックCKとクロックXCKの波形が実質的に対称となる。
【0070】
上述したように、本発明に係わるシフトレジスタでは、スイッチ回路として、トランスミッションゲート及びPチャネルトランジスタが使用され、かつクロック供給回路からは実質的に対称性を有するクロックCK及びXCKが各スイッチに供給される。従って、回路セルにおけるスイッチの出力の立ち上がり時間及び立ち下がり時間を実質的に等しくできる。また、フィードバックループにおいても、種類の異なるトランスミッションゲートとPチャネルトランジスタを使用し、信号の伝搬時間が適切に調整されている。以上の条件によって、カスタムLSIだけでなくゲートアレイにおいても、前述したチェーンラッチ構成のシフトレジスタの動作をより安定化及び確実化することができる。
【0071】
本発明に係わるシフトレジスタでは、1つのフリップフロップを図62に示す従来のフリップフロップのゲート数の約半分以下で構成することができる。従って、シフトレジスタを構成するゲート数やチップ面積も、従来の半分以下に低減できる。さらに、非常に多くの段数のシフトレジスタをメモリとして使用するプログラマブル論理回路においても、メモリのためのチップ面積を低減でき、チップ面積に対するプログラム可能な論理回路ゲート数を増加できる。
【0072】
図3は、図1に示す本発明に係わるシフトレジスタの実施例の変更例である。図3に示すシフトレジスタでは、図1に示すシフトレジスタと比較して、インバータ5a〜5f及び6a〜6fの代わりに、NANDゲート11a〜11f及び12a〜12fが用いられている。本回路では、NANDゲート11a〜11f及び12a〜12fの残りの入力S及びRに論理“1”を設定すれば、各NANDゲート11a〜11f及び12a〜12fはそれぞれインバータとして動作する。この場合におけるこのシフトレジスタの動作は、図1に示したシフトレジスタと同じである。
【0073】
一方、NANDゲート11a〜11f及び12a〜12fの残りの入力S及びRに論理“0”を設定すれば、NANDゲート11a〜11f及び12a〜12fの出力は論理“1”に固定できる。従って、NANDゲートの残りの入力S及びRを自由に設定することによって、閉路に保持される値を任意に設定できる。
【0074】
図4は、図1に示す本発明に係わるシフトレジスタの実施例の変更例である。図4に示すシフトレジスタでは、図1に示すシフトレジスタと比較して、インバータ5a〜5f及び6a〜6fの代わりに、NORゲート13a〜13f及び14a〜14fが用いられている。本回路では、NORゲート13a〜13f及び14a〜14fの残りの入力S及びRに論理“0”を設定すれば、各NORゲート13a〜13f及び14a〜14fはそれぞれインバータとして動作する。この場合におけるこのシフトレジスタの動作は、図1に示したシフトレジスタと同じである。
【0075】
一方、NORゲート13a〜13f及び14a〜14fの残りの入力S及びRに論理“1”を設定すれば、NORゲート13a〜13f及び14a〜14fの出力は論理“0”に固定できる。従って、NORゲートの残りの入力S及びRを自由に設定することによって、閉路に保持される値を任意に設定できる。
【0076】
図5は、任意の論理状態が設定可能な状態設定回路が設けられたシフトレジスタの構成例を示す図である。図5では、図3に示すシフトレジスタの回路セルa〜cに、それぞれ状態設定回路15a〜15cが接続されている。この状態設定回路15a〜15cでは、入力信号WRITE及びDATAの組合せにより、チェーンラッチの状態を変化させることができる。
【0077】
図6は、図5に示す状態設定回路の構成例である。この状態設定回路は、NANDゲート16a〜16c及び18a〜18cとインバータ20a〜20cとで構成されている。例えば、論理セルaにおいて、入力信号WRITEが論理“0”のとき、入力信号DATAの値に係わらず、NANDゲート16a及び18aの両方の出力共論理“1”になる。この場合、論理セルaのNANDゲート11a及び12aはインバータとして動作する。
【0078】
一方、入力信号WRITEが論理“1”のとき、NANDゲート16a及び18aの出力は、入力信号DATAに応じて(論理“0”,論理“1”)か、(論理“1”,論理“0”)になる。前者の場合、論理セルaのNANDゲート11aの出力が論理“1”に設定され、後者の場合、NANDゲート12aの出力が論理“1”に設定される。
【0079】
図7は、図5に示す状態設定回路のその他の構成例である。この状態設定回路は、ORゲート22a〜22c及び24a〜24cとインバータ26a〜26cとで構成されている。例えば、論理セルaにおいて、入力信号WRITEが論理“1”のとき、入力信号DATAの値に係わらず、ORゲート22a及び24aの両方の出力共論理“1”になる。この場合、論理セルaのNANDゲート11a及び12aはインバータとして動作する。
【0080】
一方、入力信号WRITEが論理“0”のとき、ORゲート22a及び24aの出力は、入力信号DATAに応じて(論理“0”,論理“1”)か、(論理“1”,論理“0”)になる。前者の場合、論理セルaのNANDゲート11aの出力が論理“1”に設定され、後者の場合、NANDゲート12aの出力が論理“1”に設定される。
【0081】
なお、状態設定回路は、上述した構成に限られない。即ち、状態設定回路が、NANDゲート11a及び12aを双方ともインバータとして動作させたり、ある少なくとも1方の出力を固定したりする機能を有するならば、その状態設定回路は種々の回路構成を有することができる。
【0082】
さらに、図4に示すシフトレジスタに対しても、同様の状態設定回路を付加することができる。この場合、典型的な状態設定回路は、ANDゲートとインバータとの組み合わせ、或いはNORゲートとインバータとの組み合わせによって構成することができる。
【0083】
図8は、本発明に係わるシフトレジスタのルックアップテーブルへの応用例である。図8では、シフトレジスタはRAM28として使用され、シフトレジスタの各回路セルは、メモリセルとして定義されている。各メモリセルの出力は、デコーダ回路30に接続されている。デコーダ回路30とRAM28との組み合わせによって、3入力プログラマブル機能ユニット(ルックアップテーブル)を実現することができる。即ち、入力A,B,Cに対して、メモリデータで決定された論理に応じた出力が得られる。
【0084】
図9は、図8に示すデコーダ回路の構成例である。デコーダ回路の入力A,B,Cは、それぞれ相補信号で供給される。図9のデコーダ回路は、入力A,B,Cによって制御される3段のスイッチ群で構成されており、入力Aによって制御される初段のスイッチグループは、それぞれ各メモリセルに接続されている。入力A,B,Cの組み合わせによって、8つのメモリセルのデータのうち1つが選択される。この構成によって、3入力組合せ論理を実現できる。
【0085】
図10は、図8に示すデコーダ回路のその他の構成例である。図10に示すデコーダ回路では、図9に示すデコーダ回路と比較して、それぞれのスイッチがトランスミッションゲートで構成されている。図10に示すルックアップテーブルは、図9に示す回路と同様に動作する。
【0086】
次に、本発明に係わるシフトレジスタのその他の実施例について説明する。
【0087】
従来のプログラマブル論理回路では、フリップフロップは、論理セル内に予め用意されたフリップフロップ、或いは論理セルにフィードバックパスを付加することによって実現されていた。従って、実現できるフリップフロップの数は、予め決められており、さらに多くのフリップフロップを論理セル内に実現することは難しかった。本発明では、プログラマブル論理回路の機能決定用メモリとして上述したシフトレジスタを使用すると、このシフトレジスタの一部がフリップフロップとして使用することができる。
【0088】
図11は、チェーンラッチの一部をフリップフロップとして使用可能な本発明に係わるシフトレジスタの実施例のモデル図である。図11において、ハッチングされた回路セルがフリップフロップとして使用できる。また、フリップフロップとして使用される回路セルには、スイッチQ及びインバータRがさらに付加される。回路セルの一部をフリップフロップとして使用する場合、スイッチA,B,M,Nがオフされ、フリップフロップとして使用される回路セルが、残りの回路セルとアイソレートされる。このアイソレーショによって、一部の回路セルがフリップフロップとして動作しているとき、それらの動作が残りの回路セルに保持されている機能決定用データに影響することが防止される。
【0089】
ハッチングされた回路セルをフリップフロップとして使用する場合、スイッチH及びGの制御タイミングは、スイッチHがオフされたとき、帰還路OがスイッチGのみで帰還路Pと接続されるよう(スイッチGはオン)に設定される。また、スイッチD及びJは常にオンされ、能動回路F及びLの出力が常にインバータC及びIの入力端に伝搬される。
【0090】
スイッチQ及びKの組と、スイッチE及びG組は、排他的に制御される。入力端子Sに印加された信号は、スイッチQ及びKがオンでスイッチE及びGがオフの時にインバータFの出力端に伝搬し、更にインバータCの出力端に伝搬する。次にスイッチQ及びKがオフでスイッチE及びGがオンの時、インバータF及びCの入出力状態は、閉路Oに保持される。次に、再度、スイッチQ及びKがオンでスイッチE及びGがオフになった時、閉路Oに保持されていた信号は、閉路Pに遷移すると共に、出力端子Tから出力される。
【0091】
上述したように、チェーンラッチ構成のシフトレジスタの一部の回路セルに所定の信号を供給することによって、その回路セルをフリップフロップとして動作させることができる。従って、このシフトレジスタをプログラマブル論理回路の機能決定用メモリに使用した場合、その機能決定用メモリの一部をフリップフロップとして使用でき、論理セルにおいて実現できるフリップフロップの数を増加させることができる。よって、プログラマブル論理回路の等価ゲート数を大幅に向上させることができる。
【0092】
図12は、図11に示したシフトレジスタの実施例の具体的構成図である。図12に示すシフトレジスタでは、図1に示すシフトレジスタと同様に、スイッチとしてトランスミッションゲートとPチャンネルMOSが使用されている。さらに、回路セルbには、トランスミッションゲート40が接続され、回路セルcには、インバータ42が接続されている。また、フリップフロップとして使用可能な回路セルb,c及び回路セルaの一部には、図2で示したクロック供給回路の代わりにクロック制御回路(clock distributor)が接続されている。
【0093】
このクロック制御回路は、回路セルがフリップフロップとして使用されない場合は、図1及び図2で示されるクロックCK,XCKを回路セル内の各スイッチに供給する。一方、回路セルがDフリップフロップとして使用される場合、クロック制御回路は、回路セルb,cを残りの回路からアイソレートするように所定のクロックを供給し、かつDフリップフロップのためのクロックDCK,XDCKを供給する。
【0094】
図13は、図12に示すクロック制御回路の回路構成図である。クロック制御回路は、複数のセレクタを含んでおり、回路セルがシフトレジスタとして使用される場合、シフトレジスタのためのクロックCK,XCKが選択及び出力され、回路セルがDフリップフロップとして使用される場合、DフリップフロップのためのクロックDCK,XDCKが選択及び出力される。回路セルがシフトレジスタとして使用されるか、或いはフリップフロップとして使用されるかは、制御信号PGM及びMODEの組み合わせによって決定される。
【0095】
図14は、図12に示す本発明に係わるシフトレジスタの実施例の変更例である。図14に示すシフトレジスタでは、スイッチとして、トランスミッションゲートとPチャンネルトランジスタが使用され、インバータの代わりに、NAND回路が使用されている。また、回路セルb,cには、クロック供給回路の代わりに図13に示したクロック制御回路が設けられている。
【0096】
クロック制御回路は、シフトレジスタのためのクロック信号(CK,XCK)、Dフリップフロップのためのクロック信号(DCK,XDCK)及び、2つの動作を選択するための制御信号(PGMとMODE)が入力として供給される。
【0097】
図14に示すシフトレジスタでは、NANDゲートの入力端子R及びSに所定の信号を設定することで、図6及び図7のシフトレジスタと同様に、シフトレジスタの一部の状態を任意に設定できる。また、同様の原理によって、形成されたフリップフロップの状態も任意に設定することができる。
【0098】
図15は、図12に示す本発明に係わるシフトレジスタの実施例のその他の変更例である。図15に示すシフトレジスタでは、スイッチとして、トランスミッションゲートとPチャンネルトランジスタが使用され、インバータの代わりに、NOR回路が使用されている。また、回路セルb,cには、クロック供給回路の代わりに図13に示したクロック制御回路が設けられている。
【0099】
クロック制御回路は、シフトレジスタのためのクロック信号(CK,XCK)、Dフリップフロップのためのクロック信号(DCK,XDCK)及び、2つの動作を選択するための制御信号(PGMとMODE)が入力として供給される。
【0100】
図15に示すシフトレジスタでは、NORゲートの入力端子R及びSに所定の信号を設定することで、シフトレジスタの一部の状態を任意に設定できる。また、形成されたフリップフロップの状態も任意に設定することができる。
【0101】
次に、本発明のシフトレジスタをFPGAの機能決定用メモリに使用した場合について説明する。本発明のシフトレジスタは、図61に示す一般的なFPGAに使用することができる。
【0102】
図16は、本発明に係わるプログラマブル論理回路の論理セルの実施例のブロック構成図である。本プログラマブル論理回路の論理セルは、プログラマブル機能ユニットと、該プログラマブル機能ユニットの機能を決定するための機能決定用メモリ(コンフィギュレーションメモリ)を含んでいる。プログラマブル機能ユニットは、幾つかのフリップフロップを含むことができる。機能決定用メモリは、図12に示すシフトレジスタで構成されている。このシフトレジスタは、回路セルM0,M1,MFF,M2,M3を含んでいる。回路セルM0,M1,M2,M3は、上述した回路セルaと同じ回路構成を有する。また回路セルMFFは、図12に示す回路セルb,cと実質的に同じ構成を有する。従って、回路セルMFFは、フリップフロップとして動作することができる。
【0103】
図16に示すクロック制御回路CKDは、図12に示すクロック制御回路と実質的に同じ構成を有している。このクロック制御回路CKDには、シフトレジスタ用クロックCK,XCK、フリップフロップ用クロックFFCK,FFXCK、及び制御信号FFMODE,PGMが供給される。さらに、図16に示すクロック制御回路CKDには、フリップフロップ用データFFINが供給でき、またフリップフロップの出力FFOUTを引き出すことができる。
【0104】
図16において、機能決定用データが論理セルにロードされるとき、制御信号PGMからの指示によって、回路セルMFFはシフトレジスタとして動作させられる。従って、機能決定用データは、回路セルM0,M1,MFF,M2,M3にその順番でロードされる。機能決定用データがロードされた後、そのデータに応じてプログラマブル機能ユニットはその機能が定められる。
【0105】
この時、回路セルMFF内にロードされた機能決定用データのうち出力OUT0は、クロック制御回路CKDの制御信号FFMODEとして帰還される。この信号が、回路セルMFFがフリップフロップとして使用されることを示していれば、クロック制御回路CKDから回路セルMFFはフリップフロップとして動作するように制御される。この時、前述したように、回路セルMFFは、残りの回路セルM0,M1,M2,M3とアイソレートされる。
【0106】
回路セルMFFがフリップフロップとして設定された後、クロック制御回路を通して、フリップフロップ用クロックFFCK,FFXCK、及びフリップフロップ用データFFINが供給される。この場合、フリップフロップ用データFFINは、プログラマブル機能ユニットから供給することも可能である。さらに、フリップフロップの出力FFOUTをプログラマブル機能ユニットへ供給することも可能である。
【0107】
上述したように、本発明に係わるプログラマブル論理回路では、通常使用できるフリップフロップの他に、機能決定用メモリの一部をフリップフロップとして使用することができる。従って、使用できるフリップフロップの数を大幅に増加することができる。
【0108】
図17は、図16に示すプログラマブル論理回路の論理セルの変更例である。本プログラマブル論理回路の論理セルは、図16に示した論理セルと同様に、プログラマブル機能ユニットと、該プログラマブル機能ユニットの機能を決定するための機能決定用メモリを含んでいる。図17に示す論理セルでは、機能決定用メモリは、図14或いは図15に示すシフトレジスタで構成されている。このシフトレジスタは、回路セルM0,M1,MFF,M2,M3を含んでいる。各回路セルは、回路セルの状態を設定するための入力端子S及びRを有している。その他の回路は、図16に示した論理セルと同様であり、回路セルMFFは、図16の回路の動作と同様にフリップフロップとして動作することができる。
【0109】
さらに、図17に示す論理セルでは、入力端子R0〜R6及びS0〜S6に、任意に値を設定することによって、各回路セルを所望の状態に設定することができる。
【0110】
次に、本発明に係わるプログラマブル論理回路の実施例について説明する。従来のプログラマブル論理回路では、機能決定用データが機能決定用メモリに一度ロードされると、プログラマブル論理回路が別の目的で使用されるまで、ロードされた機能決定用データは固定される。
【0111】
しかし、回路が大規模になると、一部の回路は短時間の間のみ使用される場合がある。或いは、全体の動作の初期だけ使用される回路もある。そのような回路を常にプログラマブル論理回路中に保持しておくことは、回路の構成に対して非効率である。本発明に係わるプログラマブル論理回路では、プログラマブル論理回路の動作中に、一部の回路(例えば、一部の論理セル)を別の機能を有する回路に変更でき、構成可能な最大回路数を向上できる。
【0112】
まず、本発明に係わるプログラマブル論理回路の各部の回路について説明する。始めに、本発明に係わるプログラマブル論理回路を構成する論理セルについて説明する。
【0113】
図18は、本発明に係わるプログラマブル論理回路を構成する論理セルの基本構成のブロック図である。本論理セル50は、プログラマブル機能ユニット51、制御ユニット52、及び機能決定用メモリ(コンフィギュレーションメモリ)53で構成される。機能決定用メモリ53には、複数の機能決定用データが記憶されており、この機能決定用データは、制御ユニット52の機能決定用入力56から書き込まれ、また、その機能決定用出力端子57から読み出すことができる。
【0114】
制御ユニット52の制御入力58によって、機能決定用メモリ53内の1つの機能決定用データが、プログラマブル機能ユニット51に供給される。そのとき、プログラマブル機能ユニット51では、供給された機能決定用データに応じた論理回路がプログラムされる。このプログラムされた論理回路は、幾つかのフリップフロップも含むことができる。プログラマブル機能ユニット51に入力された入力信号54は、そのプログラムされた論理回路によって処理され、出力信号55として出力される。
【0115】
さらに、プログラマブル論理回路が動作中に、制御ユニット52の制御入力58によって、一度プログラムしたプログラマブル機能ユニット51に、他の機能決定用データをダイナミックに(動的に)再設定できる。その後、プログラマブル機能ユニット51は、別の論理回路として動作を開始する。
【0116】
複数の論理セルを含むプログラマブル論理回路では、常に動作している論理セルは多くない。従って、一時的に動作を停止している論理セルを、ダイナミックに他の機能を有する論理回路に再プログラムすることによって、プログラマブルな論理回路の規模を大幅に増加することができる。
【0117】
図19は、図18に示した論理セル50の一構成例である。図18と同じ機能の要素には、同じ参照番号を付している。図19に示す論理セル50−1では、制御ユニット52−1は、選択機能部59を含んでいる。この選択機能部59は、制御入力58によって、機能決定用メモリ53の複数の機能決定用データから1つを選択してプログラマブル機能ユニット51に供給する。上述したように、プログラマブル論理回路が動作中においても、選択機能部59は動作でき、所望の機能決定用データをダイナミックにプログラマブル機能ユニット51に設定できる。
【0118】
また、図18に示すプログラマブル論理回路では、プログラマブル機能ユニット51に設定する機能決定用データとして、機能決定用メモリ53に記憶されている機能決定用データだけでなく、他の論理セルの出力信号や、外部から供給された信号も使用できる。
【0119】
図20は、図18に示した論理セル50のその他の構成例である。図18と同じ機能の要素には、同じ参照番号を付している。図20に示す論理セル50−2では、制御ユニット52−2によって、機能決定用メモリ53−1は、縦列的に接続されたメモリで構成される。即ち、制御ユニット52−2へ入力される機能決定用クロックによって、機能決定用データが機能決定用メモリ53−2にシリアルに伝送される。
【0120】
シリアル機能決定用データが機能決定用メモリ53−2に設定された後、トリガ信号(図示せず)によって、シリアル機能決定用データが、プログラマブル機能ユニット51に供給される。その後、新たなシリアル機能決定用データが、機能決定用メモリ53−2に設定できる。そして、プログラマブル論理回路が動作中に、前に設定した論理回路が使用されなくなったとき、トリガ信号(図示せず)によって、用意された新たなシリアル機能決定用データが、プログラマブル機能ユニット51に供給され、新たな論理回路として動作を開始する。
【0121】
図21は、図20に示した論理セル50−2の具体的構成例である。図21に示す論理セル50−3では、図20に示した論理セル50−2と比べて、表記上、機能決定用メモリ53−2が、プログラマブル機能ユニット51と制御ユニットとしてのメモリコントローラ52−2との間に記載されている。機能決定用メモリ53−2は、回路セルM0〜M8から成るシフトレジスタで構成されている。従って、図20の論理セル50−2と同様に、シリアル機能決定用データDINが、クロックCKによって、機能決定用メモリ53−2に設定できる。
【0122】
また、回路セルM0〜M8が図3或いは図4に示すシフトレジスタで構成できる場合、各回路セルの入力端子R及びSに、メモリコントローラ52−2から任意の値を設定することによって各回路セルの状態を所望の値に設定することができる。回路セルの入力端子R0〜R7及びS0〜S7の値は、メモリコントローラ52−2のコンフィグ入力に供給された信号によって決定される。即ち、機能決定用メモリ53−2(M0〜M8)にデータをロードしプログラマブル機能ユニット51の論理を決定した後においても、プログラマブル論理回路が動作中にコンフィグ入力に供給する信号を変更すると、プログラマブル機能ユニット51の論理を変更することができる。
【0123】
次に、本発明に係わるプログラマブル論理回路を構成する論理セルのその他の構成例について説明する。
【0124】
図22は、本発明に係わるプログラマブル論理回路を構成するルックアップテーブル型論理セルの構成例である。図22に示す論理セル60は、選択機能ユニット61、メモリセルプレーン62、及びデコーダ機能ユニット63で構成されている。選択機能ユニット61は、図8のデコーダ回路30に相当し、メモリセルプレーン62は、図8のメモリセル28に相当し、これはルックアップテーブルを構成する。デコーダ機能ユニット63は、機能決定用データをメモリに書き込む時に、メモリのアドレスを決定する。
【0125】
図18に示す論理セルと比較すると、選択機能ユニット61、メモリセルプレーン62、及びデコーダ機能ユニット63は、それぞれ、図18におけるプログラマブル機能ユニット51、機能決定用メモリ53、及び制御ユニット52に相当する。従って、図22に示す論理セルにおいても、図18に示す論理セルと同様に、プログラマブル論理回路が動作中に、メモリセルプレーン62の機能決定用データを変更することによって、選択機能ユニット61の機能を変更することができる。
【0126】
図23は、図22に示す論理セルの変更例である。図23に示す論理セル60−1は、選択機能ユニット61−1及びメモリセルプレーン62−1で構成されている。論理セル60−1では、図22に示すデコーダ機能ユニット63の機能が、選択機能ユニット61−1及びメモリセルプレーン62−1に分散されている。
【0127】
即ち、論理セル60−1では、選択機能ユニット61−1を介して、機能決定用データがメモリセルプレーン62−1に供給される。この場合、メモリセルプレーン62−1に対するアドレス入力も、選択機能ユニット61−1を介して入力される。従って、論理セル60−1は、図22に示す論理セル60に比べて簡易な回路構成を有し、さらに実質的に同じダイナミック再プログラマブル機能を有することができる。
【0128】
図24は、本発明に係わるプログラマブル論理回路を構成する論理セルのその他の構成例である。図24に示す論理セル70は、プログラマブル機能ユニット71、メモリセルプレーン72、及びデコーダ機能ユニット73で構成されており、図18に示す論理セルと実質的に同じ構成を有している。プログラマブル機能ユニット71は、図18のプログラマブル機能ユニット51に相当し、論理選択型回路やAND−ORプレーン型回路で構成できる(後に詳細に説明)。メモリセルプレーン72及びデコーダ機能ユニット73は、図22に示すメモリセルプレーン62及びデコーダ機能ユニット63と実質的に同じ機能を有する。従って、論理セル70は、実質的に同じダイナミック再プログラマブル機能を有することができる。
【0129】
図25は、図24に示す論理セルのプログラマブル機能ユニット71の実施例である。図25に示すように、プログラマブル機能ユニット71は、NAND、ORなどの論理ゲート、フィードバック回路、ゲート回路及び選択回路等で構成することができる。図25に示すプログラマブル機能ユニット71では、メモリセルプレート72からの機能決定用データ71−2が選択回路及びゲート回路に供給され、論理機能が決定される。入力信号71−1は、プログラムされた論理機能に従って処理され、出力信号71−3として出力される。
【0130】
図26は、図25に示すプログラマブル機能ユニット71の変更例である。図25と同じ機能を有する要素には同じ参照番号を付している。図26に示すプログラマブル機能ユニット71では、図25に示すプログラマブル機能ユニット71に比べて、出力側にラッチ回路71−4が設けられている。このラッチ回路71−4によって、論理セルが再プログラムされているときに、論理セルの出力値が変化するのを防止できる。
【0131】
また、上記の構成では、機能ユニット部75−1においてフィードバックパスを有効に設定し、ラッチ回路71−4の制御信号としてこのフィードバックパスを制御する信号と同一の信号(適宜反転させる)を用いると、マスタスレーブフリップフロップを構成することができる。
【0132】
図27は、図25に示すプログラマブル機能ユニット71のその他の変更例である。図25と同じ機能を有する要素には同じ参照番号を付している。図27に示すプログラマブル機能ユニット71では、図25に示すプログラマブル機能ユニット71に比べて、機能決定用データ71−2を生成するために、2種類の機能決定用データを記憶できるメモリユニット71−6が設けられている。
【0133】
2種類の機能決定用データは、予めメモリユニット71−6に書き込まれている。従って、この2種類の機能決定用データは瞬時に切り換えることができる。よって、この2種類の機能決定用データを適宜切り換えることによって、物理的な論理回路規模よりも大きい論理回路を実現することができる。この場合、使用していないメモリの機能決定用データは自由に書き換えることができる。従って、さらに、実質的な回路規模を増加できる。
【0134】
次に、本発明に係わるプログラマブル論理回路を構成するI/Oモジュールについて説明する。
【0135】
図28は、本発明に係わるプログラマブル論理回路を構成するI/Oモジュールの構成例である。(A)は、基本構成を示し、(B)は、メモリユニットを有する構成例を示している。図28(A)に示すI/Oモジュール80は、外部回路と通信するための端子81、信号波形整形及びバッファ回路82、論理セルや論理セル間バスに接続される信号線群83、信号線群を自由に接続するI/O接続ユニット84、および、制御/機能決定入力信号85で構成される。
【0136】
制御/機能決定入力信号85によって、プログラマブル論理回路が動作中においても、I/O接続ユニット84の接続構造や、入出力信号の方向が変更できる。また、出力信号のみ制御することも可能である。この場合、本I/Oモジュールにおいて、さらにフリップフロップ等の他の回路を設けることもできる。
【0137】
図28(B)に示すI/Oモジュールは、I/O接続ユニット84、信号波形整形及びバッファ回路82のためのメモリユニット86−1、86−2を有している。メモリユニット86−1、86−2の各々は、図27に示した論理セルのメモリユニット71−6と同様に、2種類の機能決定用データを有している。従って、この2種類の機能決定用データは瞬時に切り換えることができる。よって、この2種類の機能決定用データを適宜切り換えることによって、物理的な論理回路規模よりも大きい論理回路を実現することができる。
【0138】
次に、本発明に係わるプログラマブル論理回路を構成するスイッチボックスについて説明する。
【0139】
図29は、本発明に係わるプログラマブル論理回路を構成するスイッチボックスの構成例である。スイッチボックスは、各論理セルの間に配置され、各論理セルを自由に接続するための回路である。図29に示すスイッチボックス90は、スイッチボックス本体91、信号線群92、及び接続構造決定データサーバ93で構成される。
【0140】
図30は、スイッチボックス本体91の構成例を示す。(A)は、大要構成例を示し、(B)は、メモリユニットを含むスイッチ部の構成例を示す。図30(A)において、スイッチボックス本体91では、各信号線群92は、複数のスイッチによって接続可能なように構成されている。これらのスイッチは、トランスミッションゲートやパストランジスタを用いて構成することができる。また、これらのスイッチは、接続構造決定データサーバ93によって制御される。従って、接続構造決定データサーバ93によって、プログラマブル論理回路が動作中においても、スイッチボックス本体91における接続構造を自由に変更することができる。
【0141】
図30(B)に示すスイッチ部は、メモリユニット95を有している。メモリユニット95は、図27に示した論理セルのメモリユニット71−6と同様に、2種類の機能決定用データA,Bを有している。従って、この2種類の機能決定用データは瞬時に切り換えることができる。よって、この2種類の機能決定用データを適宜切り換えることによって、物理的な論理回路規模よりも大きい論理回路を実現することができる。
【0142】
次に、本発明に係わるプログラマブル論理回路の構成例について説明する。
【0143】
図31は、本発明に係わるプログラマブル論理回路の第1構成例である。本プログラマブル論理回路110(図では、プログラマブルデバイス“Programable Device”と記載している)は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)とを有している。これらの構成要素の各々は、ダイナミックに再プログラマブルな回路である。
【0144】
この論理セル50は、プログラマブル機能ユニット51、制御ユニット52、及び機能決定用メモリ53を含んでいる。機能決定用メモリ53は、一般的なメモリだけでなく、部分的に回路セルの状態を設定できる前述した本発明に係わるシフトレジスタでも構成できる。制御ユニット52によって、プログラマブル論理回路の動作中に論理セル50の状態を再設定することができる。図31における論理セル50のコンフィグ入力C IOからの信号は、制御ユニット52を介して機能決定用メモリ53に入力される(図18参照)。
【0145】
また、スイッチボックス90は、トランスミッションゲートやパストランジスタを用いて構成することができる。
【0146】
図31において、各論理セル50のコンフィグ入力C IOは、各論理セル50の間に配列された配線111に接続されている。従って、プログラマブル論理回路の動作中においても、任意の論理セルの出力信号、或いは自分自身の論理セルの出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、任意の論理セルからの指令によって、所望の論理セルのプログラマブル機能ユニットの論理機能を随時変更することができる。
【0147】
さらに、論理セル50からの出力信号でスイッチボックス90を制御することによって、論理セル同志の接続状態も変更可能である。以上示したように、論理セル、スイッチボックス等のダイナミックな再プログラミングによって、ゲート数で決定される構成可能回路数よりも多くの回路を実現することができる。
【0148】
さらに、このような構造を持つプログラマブル論理回路を複数用いたハードウェアエミュレータを構成すると、従来のハードウェアエミュレータに比べ、少ないプログラマブル論理回路で、大きな論理回路のエミュレーションを行うことができる。また、必要とするプログラマブル論理回路の数を激減させることができるため、エミュレーションのコストを大幅に削減することができる。
【0149】
図32は、本発明に係わるプログラマブル論理回路の第2構成例である。本プログラマブル論理回路120は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、機能決定用データサーバ122とを有している。
【0150】
各論理セル50のコンフィグ入力C IOは、各論理セル50の間に配列された配線121に接続されている。さらに、機能決定用データサーバ122のコンフィグ入力C IOも、配線121に接続されている。
【0151】
従って、プログラマブル論理回路の動作中においても、任意の論理セルの出力信号、自分自身の論理セルの出力信号、或いは機能決定用データサーバ122の出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、任意の論理セル及び機能決定用データサーバ122からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0152】
さらに、機能決定用データを機能決定用データサーバ122から、複数の論理セルに一度に供給することによって、プログラマブル論理回路の大幅な論理機能の更新もできる。
【0153】
図33は、本発明に係わるプログラマブル論理回路の第3構成例である。本プログラマブル論理回路130は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、機能決定用データサーバ133と、ローダ134と、複数の選択回路135とを有している。
【0154】
機能決定用データサーバ133とローダ134は、一部の論理セルの機能決定用メモリにエクストラデータを供給する。従って、図32の第2構成例と同様に、各論理セルは、個々にコンフィグデータ及びローダを有する必要がない。
【0155】
このプログラマブル論理回路の第3構成例では、機能決定用データがロードされた後、選択回路135によって一部の論理セルの機能決定用メモリに、データサーバ133からエクストラデータを選択的にロードすることができる。従って、図33に示すプログラマブル論理回路では、プログラマブル論理回路の動作中に、所望の論理セルのプログラマブル機能ユニットの機能を選択的に変更することができる。これにより、ゲート数で決定される構成可能回路数よりも多くの回路を実現することができる。
【0156】
図34は、本発明に係わるプログラマブル論理回路の第4構成例である。本プログラマブル論理回路140は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、機能決定用データサーバ142と、機能決定用データ転送用専用線143とを有している。機能決定用データサーバ142のコンフィグ入力C IOは、各論理セル50のコンフィグ入力C IOに専用線143を介して直接接続されている。
【0157】
従って、プログラマブル論理回路の動作中においても、機能決定用データサーバ142から機能決定用データを、所望の論理セルに供給することができる。よって、自分自身の論理セル及び機能決定用データサーバ142からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0158】
さらに、機能決定用データを機能決定用データサーバ142から、複数の論理セルに一度に供給することによって、プログラマブル論理回路の大幅な論理機能の更新もできる。
【0159】
図35は、本発明に係わるプログラマブル論理回路の第5構成例である。本プログラマブル論理回路150は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、機能決定用データ転送用専用線153とを有している。図34に示した第4構成例と異なり、機能決定用データサーバ152は、プログラマブル論理回路の外部に設けられており、インタフェースを介して専用線153に接続できる。外部に設けられた機能決定用データサーバ152のコンフィグ入力C IOは、各論理セル50のコンフィグ入力C IOに専用線153を介して直接接続されている。
【0160】
従って、プログラマブル論理回路の動作中においても、機能決定用データサーバ152から機能決定用データを、所望の論理セルに供給することができる。よって、自分自身の論理セル及び機能決定用データサーバ152からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0161】
さらに、機能決定用データを機能決定用データサーバ152から、複数の論理セルに一度に供給することによって、プログラマブル論理回路の大幅な論理機能の更新もできる。
【0162】
本第5構成例では、機能決定用データサーバ152が、プログラマブル論理回路の外部に設けられているため、プログラマブル論理回路が小型化でき、かつ全体の構成設計の自由度を向上できる。
【0163】
図36は、本発明に係わるプログラマブル論理回路の第6構成例である。本プログラマブル論理回路160は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、複数の機能決定用データサーバ162とを有している。各機能決定用データサーバ162は、各論理セル50毎に設けられており、各論理セル50のC IO及び各論理セル50の間に配列された配線161に接続されている。
【0164】
従って、プログラマブル論理回路の動作中においても、任意の論理セルの出力信号、自分自身の論理セルの出力信号、自分の論理セルに接続されている機能決定用データサーバ162の出力信号、或いは他の論理セルに接続されている機能決定用データサーバ162の出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、任意の論理セル及び機能決定用データサーバ162からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0165】
図36に示す第6構成例では、図35に示した第5実施例と異なり、比較的太い専用線を設ける必要がない。従って、信号線の設計の自由度が向上できる。
【0166】
図37は、本発明に係わるプログラマブル論理回路の第7構成例である。本プログラマブル論理回路170は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、複数の機能決定用データサーバ172と、複数のローダ173とを有している。各機能決定用データサーバ172及びローダ173は、各論理セル50毎に設けられており、各論理セル50のC IOに接続されている。また、各論理セル50のC IOは、各論理セル50の間に配列された配線171にも接続されている。
【0167】
従って、プログラマブル論理回路の動作中においても、任意の論理セルの出力信号、自分自身の論理セルの出力信号、自分の論理セルに接続されている機能決定用データサーバ172の出力信号、或いは他の論理セルに接続されている機能決定用データサーバ172の出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、任意の論理セル及び機能決定用データサーバ172からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0168】
図37に示す第7構成例では、図35に示した第5実施例と異なり、比較的太い専用線を設ける必要がない。従って、信号線の設計の自由度が向上できる。
【0169】
図38は、本発明に係わるプログラマブル論理回路の第8構成例である。本プログラマブル論理回路180は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、複数の機能決定用データサーバ182と、制御ユニット183と、専用制御線184とを有している。
【0170】
各機能決定用データサーバ182は、各論理セル50毎に設けられており、各論理セル50のC IOに接続されている。また、制御ユニット183は、それぞれの機能決定用データサーバ182に専用制御線184を介して接続されており、それぞれの機能決定用データサーバ182を集中的に制御できる。また、制御ユニット183は、図34に示した機能決定用データサーバ142を含むこともできる。
【0171】
従って、プログラマブル論理回路の動作中においても、自分の論理セルに接続された機能決定用データサーバ182の出力信号、或いは制御ユニット183からの出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、自分自身の論理セル、機能決定用データサーバ182、及び制御ユニット183からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0172】
図39は、本発明に係わるプログラマブル論理回路の第9構成例である。本プログラマブル論理回路190は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、専用制御線194とを有している。図38に示した第8構成例と異なり、制御ユニット193は、プログラマブル論理回路の外部に設けられており、インタフェースを介して専用制御線194に接続できる。
【0173】
各機能決定用データサーバ192は、各論理セル50毎に設けられており、各論理セル50のC IOに接続されている。また、外部に設けられている制御ユニット193は、それぞれの機能決定用データサーバ192に専用制御線194を介して接続されており、それぞれの機能決定用データサーバ192を集中的に制御できる。また、制御ユニット193は、図34に示した機能決定用データサーバ142を含むこともできる。
【0174】
従って、プログラマブル論理回路の動作中においても、自分の論理セルに接続された機能決定用データサーバ192の出力信号、或いは制御ユニット193からの出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、自分自身の論理セル、機能決定用データサーバ192、及び制御ユニット193からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0175】
図40は、本発明に係わるプログラマブル論理回路の第10構成例である。本プログラマブル論理回路200は、図38に示した第8構成例と実質的に同じ構成を有している。しかし、図40に示すプログラマブル論理回路200では、図38に示す第8構成例と異なり、各論理セル毎に設けられている機能決定用データサーバ202は、各論理セル50のC IOだけでなく、各論理セル50の間に配置されている配線201にも接続されている。
【0176】
従って、この第10構成例では、プログラマブル論理回路の動作中においても、任意の論理セルの出力信号、自分自身の論理セルの出力信号、自分の論理セルに接続された機能決定用データサーバ202の出力信号、他の論理セルに接続された機能決定用データサーバ202の出力信号、或いは制御ユニット203からの出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、任意の論理セル(自分の論理セルを含む)、機能決定用データサーバ202、及び制御ユニット203からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0177】
図41は、本発明に係わるプログラマブル論理回路の第11構成例である。本プログラマブル論理回路210は、図39に示した第9構成例と実質的に同じ構成を有している。しかし、図41に示すプログラマブル論理回路210では、図39に示す第9構成例と異なり、各論理セル毎に設けられている機能決定用データサーバ212は、各論理セル50のC IOだけでなく、各論理セル50の間に配置されている配線211にも接続されている。
【0178】
従って、この第11構成例では、プログラマブル論理回路の動作中においても、任意の論理セルの出力信号、自分自身の論理セルの出力信号、自分の論理セルに接続された機能決定用データサーバ212の出力信号、他の論理セルに接続された機能決定用データサーバ212の出力信号、或いは外部に設けられている制御ユニット213からの出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、任意の論理セル(自分の論理セルを含む)、機能決定用データサーバ212、及び外部に設けられている制御ユニット213からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0179】
図42は、本発明に係わるプログラマブル論理回路の第12構成例である。本プログラマブル論理回路220は、図38に示した第8構成例と実質的に類似の構成を有している。しかし、図42に示すプログラマブル論理回路220では、図38に示す第8構成例と異なり、各スイッチボックス90に機能決定用データサーバ225がそれぞれ接続されている。さらに、制御ユニット223は、各論理セル50に設けられた機能決定用データサーバ222及び各スイッチボックス90に設けられた機能決定用データサーバ225に専用制御線224を介して接続されており、それぞれの機能決定用データサーバ222及び225を集中的に制御できる。
【0180】
従って、この第12構成例では、プログラマブル論理回路の動作中においても、機能決定用データサーバ222の出力信号を、対応する論理セル50に機能決定用データとして供給でき、機能決定用データサーバ225の出力信号を、対応するスイッチボックス90に機能決定用データとして供給でき、かつ制御ユニット223からの出力信号を、所望の論理セル50及び所望のスイッチボックス90に機能決定用データとして供給することができる。よって、自分自身の論理セル、機能決定用データサーバ222、225、及び制御ユニット223からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能、及び所望のスイッチボックスの接続構成を随時変更することができる。
【0181】
図43は、本発明に係わるプログラマブル論理回路の第13構成例である。本プログラマブル論理回路230は、図39に示した第9構成例と実質的に類似の構成を有している。しかし、図43に示すプログラマブル論理回路230では、図39に示す第9構成例と異なり、各スイッチボックス90に機能決定用データサーバ235がそれぞれ接続されている。さらに、制御ユニット233は、各論理セル50に設けられた機能決定用データサーバ232及び各スイッチボックス90に設けられた機能決定用データサーバ235に専用制御線234を介して接続されており、それぞれの機能決定用データサーバ232及び235を集中的に制御できる。
【0182】
従って、この第13構成例では、プログラマブル論理回路の動作中においても、機能決定用データサーバ232の出力信号を、対応する論理セル50に機能決定用データとして供給でき、機能決定用データサーバ235の出力信号を、対応するスイッチボックス90に機能決定用データとして供給でき、かつ外部に設けられた制御ユニット233からの出力信号を、所望の論理セル50及び所望のスイッチボックス90に機能決定用データとして供給することができる。よって、自分自身の論理セル、機能決定用データサーバ232、235、及び外部に設けられた制御ユニット233からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能、及び所望のスイッチボックスの接続構成を随時変更することができる。
【0183】
次に、複数のプログラマブル論理回路で構成される本発明に係わるプログラマブル論理回路システムの構成例について説明する。
【0184】
図44は、本発明に係わるプログラマブル論理回路システムの第1構成例である。本プログラマブル論理回路システム110は、複数のダイナミック再プログラマブル論理回路300(図では、プログラマブル論理デバイス“Program device”と記載している)と、各プログラマブル論理回路を接続するスイッチ装置301と、複数のI/Oモジュール302(図示せず)とを有している。
【0185】
ダイナミック再プログラマブル論理回路300としては、図31から図43に示したプログラマブル論理回路のいづれかを使用することができる。スイッチ装置301は、図29に示したスイッチボックス90と実質的の同じ構成を有することができる。また、I/Oモジュール302も、図28に示したI/Oモジュール80と実質的に同じ構成を有することができる。これらの構成要素の各々は、ダイナミックに再プログラマブルなデバイスである。
【0186】
従って、例えば、プログラマブル論理回路システムの動作中にプログラマブル論理回路300の論理機能を再設定することができる。図44におけるプログラマブル論理回路300のコンフィグ入力C IOからの信号は、制御ユニット52を介して機能決定用メモリ53に入力される(図18参照)。
【0187】
図44において、各プログラマブル論理回路300のコンフィグ入力C IOは、各プログラマブル論理回路300の間に配列された論理回路間配線311に接続されている。従って、プログラマブル論理回路システムの動作中においても、任意のプログラマブル論理回路の出力信号、或いは自分自身のプログラマブル論理回路の出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、任意のプログラマブル論理回路からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0188】
さらに、プログラマブル論理回路300からの出力信号でスイッチ装置301を制御することによって、プログラマブル論理回路同志の接続状態も変更可能である。以上示したように、プログラマブル論理回路、スイッチ装置等のダイナミックな再プログラミングによって、ゲート数で決定される構成可能回路数よりも多くの回路を実現することができる。
【0189】
さらに、このような構造を持つプログラマブル論理回路システムを複数用いたハードウェアエミュレータを構成すると、従来のハードウェアエミュレータに比べ、少ないプログラマブル論理回路システムで、大きな論理回路のエミュレーションを行うことができる。また、必要とするプログラマブル論理回路システムの数を激減させることができるため、エミュレーション装置のコストを大幅に削減することができる。
【0190】
図45は、本発明に係わるプログラマブル論理回路システムの第2構成例である。本プログラマブル論理回路システム320は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、機能決定用データサーバ322とを有している。
【0191】
各プログラマブル論理回路300のコンフィグ入力C IOは、各プログラマブル論理回路300の間に配列された配線321に接続されている。さらに、機能決定用データサーバ322のコンフィグ入力C IOも、配線321に接続されている。
【0192】
従って、プログラマブル論理回路システムの動作中においても、任意のプログラマブル論理回路の出力信号、自分自身のプログラマブル論理回路の出力信号、或いは機能決定用データサーバ322の出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、任意のプログラマブル論理回路及び機能決定用データサーバ322からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0193】
さらに、機能決定用データを機能決定用データサーバ322から、複数のプログラマブル論理回路に一度に供給することによって、プログラマブル論理回路システムの大幅な論理機能の更新もできる。
【0194】
図46は、本発明に係わるプログラマブル論理回路システムの第3構成例である。本プログラマブル論理回路システム330は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、機能決定用データサーバ333と、ローダ334と、複数の選択回路335とを有している。
【0195】
機能決定用データサーバ333とローダ334は、一部のプログラマブル論理回路の機能決定用メモリにエクストラデータを供給する。従って、図45の第2構成例と同様に、各プログラマブル論理回路は、個々にコンフィグデータ及びローダを有する必要がない。
【0196】
このプログラマブル論理回路システムの第3構成例では、機能決定用データがロードされた後、選択回路335によって一部のプログラマブル論理回路の機能決定用メモリに、データサーバ333からエクストラデータを選択的にロードすることができる。従って、図46に示すプログラマブル論理回路システムでは、プログラマブル論理回路システムの動作中に、所望のプログラマブル論理回路の一部或いは全ての論理機能を選択的に変更することができる。これにより、ゲート数で決定される構成可能回路数よりも多くの回路を実現することができる。
【0197】
図47は、本発明に係わるプログラマブル論理回路システムの第4構成例である。本プログラマブル論理回路システム340は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、機能決定用データサーバ342と、機能決定用データ転送用専用線343とを有している。機能決定用データサーバ342は、各プログラマブル論理回路300のコンフィグ入力C IOに専用線343を介して直接接続されている。
【0198】
従って、プログラマブル論理回路システムの動作中においても、機能決定用データサーバ342から機能決定用データを、所望のプログラマブル論理回路に供給することができる。よって、自分自身のプログラマブル論理回路及び機能決定用データサーバ342からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0199】
さらに、機能決定用データを機能決定用データサーバ342から、複数のプログラマブル論理回路に一度に供給することによって、プログラマブル論理回路システムの大幅な論理機能の更新もできる。
【0200】
図48は、本発明に係わるプログラマブル論理回路システムの第5構成例である。本プログラマブル論理回路システム350は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、機能決定用データ転送用専用線353とを有している。図47に示した第4構成例と異なり、機能決定用データサーバ352は、プログラマブル論理回路システムの外部に設けられており、インタフェースを介して専用線353に接続できる。さらに、外部に設けられた機能決定用データサーバ352は、各プログラマブル論理回路300のコンフィグ入力C IOに専用線343を介して直接接続されている。
【0201】
従って、プログラマブル論理回路システムの動作中においても、機能決定用データサーバ352から機能決定用データを、所望のプログラマブル論理回路に供給することができる。この時、自分自身のプログラマブル論理回路及び機能決定用データサーバ352からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0202】
さらに、機能決定用データを機能決定用データサーバ352から、複数のプログラマブル論理回路に一度に供給することによって、プログラマブル論理回路システムの大幅な論理機能の更新もできる。
【0203】
本第5構成例では、機能決定用データサーバ352が、プログラマブル論理回路システムの外部に設けられているため、プログラマブル論理回路システムが小型化でき、かつ全体の構成設計の自由度を向上できる。
【0204】
図49は、本発明に係わるプログラマブル論理回路システムの第6構成例である。本プログラマブル論理回路システム360は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、複数の機能決定用データサーバ362とを有している。各機能決定用データサーバ362は、各プログラマブル論理回路300毎に設けられており、各プログラマブル論理回路300のC IO及び各プログラマブル論理回路300の間に配列された配線361に接続されている。
【0205】
従って、プログラマブル論理回路システムの動作中においても、任意のプログラマブル論理回路の出力信号、自分自身のプログラマブル論理回路の出力信号、自分のプログラマブル論理回路に接続されている機能決定用データサーバ362の出力信号、或いは他のプログラマブル論理回路に接続されている機能決定用データサーバ362の出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、任意のプログラマブル論理回路及び機能決定用データサーバ362からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0206】
図49に示す第6構成例では、図48に示した第5実施例と異なり、比較的太い専用線を設ける必要がない。従って、信号線の設計の自由度が向上できる。
【0207】
図50は、本発明に係わるプログラマブル論理回路システムの第7構成例である。本プログラマブル論理回路システム370は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、複数の機能決定用データサーバ372と、複数のローダ373とを有している。各機能決定用データサーバ372及びローダ373は、各プログラマブル論理回路300毎に設けられており、各プログラマブル論理回路300のC IOに接続されている。また、各プログラマブル論理回路300のC IOは、各プログラマブル論理回路300の間に配列された配線371にも接続されている。
【0208】
従って、プログラマブル論理回路システムの動作中においても、任意のプログラマブル論理回路の出力信号、自分自身のプログラマブル論理回路の出力信号、自分のプログラマブル論理回路に接続されている機能決定用データサーバ372の出力信号、或いは他のプログラマブル論理回路に接続されている機能決定用データサーバ372の出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、任意のプログラマブル論理回路及び機能決定用データサーバ372からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0209】
図50に示す第7構成例では、図48に示した第5実施例と異なり、比較的太い専用線を設ける必要がない。従って、信号線の設計の自由度が向上できる。
【0210】
図51は、本発明に係わるプログラマブル論理回路システムの第8構成例である。本プログラマブル論理回路システム380は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、複数の機能決定用データサーバ382と、制御ユニット383と、専用制御線384とを有している。
【0211】
各機能決定用データサーバ382は、各プログラマブル論理回路300毎に設けられており、各プログラマブル論理回路300のC IOに接続されている。また、制御ユニット383は、それぞれの機能決定用データサーバ382に専用制御線384を介して接続されており、それぞれの機能決定用データサーバ382を集中的に制御できる。また、制御ユニット383は、図47に示した機能決定用データサーバ342を含むこともできる。
【0212】
従って、プログラマブル論理回路システムの動作中においても、自分のプログラマブル論理回路に接続された機能決定用データサーバ382の出力信号、或いは制御ユニット383からの出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、自分自身のプログラマブル論理回路、機能決定用データサーバ382、及び制御ユニット383からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0213】
図52は、本発明に係わるプログラマブル論理回路システムの第9構成例である。本プログラマブル論理回路システム390は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、専用制御線394とを有している。図51に示した第8構成例と異なり、制御ユニット393は、プログラマブル論理回路システムの外部に設けられており、インタフェースを介して専用制御線394に接続できる。
【0214】
各機能決定用データサーバ392は、各プログラマブル論理回路300毎に設けられており、各プログラマブル論理回路300のC IOに接続されている。また、外部に設けられている制御ユニット393は、それぞれの機能決定用データサーバ392に専用制御線394を介して接続されており、それぞれの機能決定用データサーバ392を集中的に制御できる。また、制御ユニット393は、図47に示した機能決定用データサーバ342を含むこともできる。
【0215】
従って、プログラマブル論理回路システムの動作中においても、自分のプログラマブル論理回路に接続された機能決定用データサーバ392の出力信号、或いは制御ユニット393からの出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、自分自身のプログラマブル論理回路、機能決定用データサーバ392、及び制御ユニット393からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0216】
図53は、本発明に係わるプログラマブル論理回路システムの第10構成例である。本プログラマブル論理回路システム400は、図51に示した第8構成例と実質的に同じ構成を有している。しかし、図53に示すプログラマブル論理回路システム400では、図51に示す第8構成例と異なり、各プログラマブル論理回路毎に設けられている機能決定用データサーバ402は、各プログラマブル論理回路300のC IOにだけでなく、各プログラマブル論理回路300の間に配置されている配線401にも接続されている。
【0217】
従って、この第10構成例では、プログラマブル論理回路システムの動作中においても、任意のプログラマブル論理回路の出力信号、自分自身のプログラマブル論理回路の出力信号、自分のプログラマブル論理回路に接続された機能決定用データサーバ402の出力信号、他のプログラマブル論理回路に接続された機能決定用データサーバ402の出力信号、或いは制御ユニット403からの出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、任意のプログラマブル論理回路(自分のプログラマブル論理回路を含む)、機能決定用データサーバ402、及び制御ユニット403からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0218】
図54は、本発明に係わるプログラマブル論理回路システムの第11構成例である。本プログラマブル論理回路システム410は、図52に示した第9構成例と実質的に同じ構成を有している。しかし、図54に示すプログラマブル論理回路システム410では、図52に示す第9構成例と異なり、各プログラマブル論理回路毎に設けられている機能決定用データサーバ412は、各プログラマブル論理回路300のC IOにだけでなく、各プログラマブル論理回路300の間に配置されている配線411にも接続されている。
【0219】
従って、この第11構成例では、プログラマブル論理回路システムの動作中においても、任意のプログラマブル論理回路の出力信号、自分自身のプログラマブル論理回路の出力信号、自分のプログラマブル論理回路に接続された機能決定用データサーバ412の出力信号、他のプログラマブル論理回路に接続された機能決定用データサーバ412の出力信号、或いは外部に設けられている制御ユニット413からの出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、任意のプログラマブル論理回路(自分のプログラマブル論理回路を含む)、機能決定用データサーバ412、及び外部に設けられている制御ユニット413からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0220】
図55は、本発明に係わるプログラマブル論理回路システムの第12構成例である。本プログラマブル論理回路システム420は、図51に示した第8構成例と実質的に類似の構成を有している。しかし、図55に示すプログラマブル論理回路システム420では、図51に示す第8構成例と異なり、各スイッチ装置301に機能決定用データサーバ425がそれぞれ接続されている。さらに、制御ユニット423は、各プログラマブル論理回路300に設けられた機能決定用データサーバ422及び各スイッチ装置301に設けられた機能決定用データサーバ425に専用制御線424を介して接続されており、それぞれの機能決定用データサーバ422及び425を集中的に制御できる。
【0221】
従って、この第12構成例では、プログラマブル論理回路システムの動作中においても、機能決定用データサーバ422の出力信号を、対応するプログラマブル論理回路300に機能決定用データとして供給でき、機能決定用データサーバ425の出力信号を、対応するスイッチ装置301に機能決定用データとして供給でき、かつ制御ユニット423からの出力信号を、所望のプログラマブル論理回路300及び所望のスイッチ装置301に機能決定用データとして供給することができる。よって、自分自身のプログラマブル論理回路、機能決定用データサーバ422、425、及び制御ユニット423からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能、及び所望のスイッチ装置の接続構成を随時変更することができる。
【0222】
図56は、本発明に係わるプログラマブル論理回路システムの第13構成例である。本プログラマブル論理回路システム430は、図52に示した第9構成例と実質的に類似の構成を有している。しかし、図56に示すプログラマブル論理回路システム430では、図52に示す第9構成例と異なり、各スイッチ装置301に機能決定用データサーバ435がそれぞれ接続されている。さらに、制御ユニット433は、各プログラマブル論理回路300に設けられた機能決定用データサーバ432及び各スイッチ装置301に設けられた機能決定用データサーバ435に専用制御線434を介して接続されており、それぞれの機能決定用データサーバ432及び435を集中的に制御できる。
【0223】
従って、この第13構成例では、プログラマブル論理回路システムの動作中においても、機能決定用データサーバ432の出力信号を、対応するプログラマブル論理回路300に機能決定用データとして供給でき、機能決定用データサーバ435の出力信号を、対応するスイッチ装置301に機能決定用データとして供給でき、かつ外部に設けられた制御ユニット433からの出力信号を、所望のプログラマブル論理回路300及び所望のスイッチ装置301に機能決定用データとして供給することができる。よって、自分自身のプログラマブル論理回路、機能決定用データサーバ432、435、及び外部に設けられた制御ユニット433からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能、及び所望のスイッチ装置の接続構成を随時変更することができる。
【0224】
なお、図31〜図56に示すプログラマブル論理回路及びプログラマブル論理回路システムでは、各プログラマブル論理回路の機能決定用メモリのために、上述した本発明に係わるシフトレジスタだけでなく通常のセット・リセット付きシフトレジスタを使用することもできる。
【0225】
図57は、図31〜図56に示したプログラマブル論理回路及びプログラマブル論理回路システムで使用する機能決定用データサーバの第1構成例である。図57に示す機能決定用データサーバ500は、計算機として実現されている。従って、機能決定用データを容易に生成し、所望の時刻に送出することができる。
【0226】
図58は、図31〜図56に示したプログラマブル論理回路及びプログラマブル論理回路システムで使用する機能決定用データサーバの第2構成例である。図58で示す機能決定用データサーバ510は、複数の機能決定用データを記憶するためのメモリユニット511と、メモリユニット511の複数の機能決定用データの1つを選択する選択機能ユニット512とで構成されている。従って、機能決定用データサーバ510を簡易に構成することができる。
【0227】
図59は、図31〜図56に示したプログラマブル論理回路及びプログラマブル論理回路システムで使用する機能決定用データサーバの第3構成例である。図59で示す機能決定用データサーバ520は、複数の機能決定用データを記憶するためのメモリユニット521と、メモリユニット521の複数の機能決定用データの1つを選択する選択機能ユニット522とで構成されている。しかし、図58に示す機能決定用データサーバ510とは異なって、サーバデータセットアップ信号によって、外部から選択機能ユニット522を介して、機能決定用データ(サーバデータ)をメモリユニット521に選択的に書き込むことができる。
【0228】
図60は、図59で示した機能決定用データサーバの詳細な構成例である。図60で示す機能決定用データサーバ530は、複数の機能決定用データを記憶するためのメモリユニット531と、読出し選択ユニット532−1と、メモリユニット531のいづれかのメモリにデータを書き込むための書き込み選択ユニット532−2とで構成されている。
【0229】
読出し選択ユニット532−1は、図58で示した選択機能ユニット512と実質的に同じ機能を有し、サーバデータ選択信号によってメモリユニット531の複数の機能決定用データの1つを選択して外部に出力する。書き込み選択ユニット532−2は、サーバデータセットアップ信号によって、メモリユニット531の1つのメモリを選択し、機能決定用データ入力(サーバデータ入力)を選択したメモリに格納する。
【0230】
上記の機能決定用データサーバ530の構成では、図60に示すように、機能決定用データが1つのメモリから読み出されている間に、新たな機能決定用データを別のメモリに書き込むことができる。従って、異なる機能決定用データを、ダイナミック再プログラマブル論理回路やダイナミック再プログラマブル論理回路システムに随時効率よく供給することができる。
【0231】
上述したシフトレジスタやプログラマブル論理回路は、ゲートアレイ上にも容易に構成可能である。また、高速動作も可能であるため、プログラマブル論理回路だけでなく、シフトレジスタを用いた一般的な順序回路にも用いることができる。また、動作中に、論理回路を再構成できるため、フォールトトレラントシステムや、マルチプロセッサシステムなど、セル構造オートマトンでモデル化できる全ての装置に応用できる。
【0232】
以上、本発明の実施例により説明したが、本発明はこれらの実施例に限定されるものではなく、本発明の範囲内で改良及び変形が可能であることは言うまでもない。
【0233】
【発明の効果】
上述したように、本発明によれば以下に示す効果を有する。
【0234】
請求項1又は2記載のシフトレジスタにおいては、メイン信号パスにおける伝搬時間は、フィードバック回路における伝搬時間よりも短くなる。従って、チェーンラッチ構成のシフトレジスタの動作タイミングを安定に実現することができる。
【0235】
チェーンラッチ構成のシフトレジスタを使用することによって、シフトレジスタを構成するゲート数やチップ面積も、従来の半分以下に低減できる。さらに、非常の多くの段数のシフトレジスタをメモリとして使用するプログラマブル論理回路においても、メモリのためのチップ面積を低減でき、チップ面積に対するプログラム可能な論理回路ゲート数を増加できる。
【0236】
請求項3又は4記載のシフトレジスタにおいては、Pチャネルトランジスタ側の駆動能力を、Nチャネルトランジスタ側の駆動能力よりも実質的に大きくすることができる。従って、回路セルにおけるスイッチの出力の立ち上がり時間及び立ち下がり時間を実質的に等しくできる。以上の条件によって、チェーンラッチ構成のシフトレジスタの動作をより安定化及び確実化することができる。
【0237】
請求項5又は6記載のシフトレジスタ及び請求項7乃至10記載のプログラマブル論理回路においては、チェーンラッチ構成のシフトレジスタの一部の回路セルに所定の信号を供給することによって、その回路セルをフリップフロップとして動作させることができる。従って、このシフトレジスタをプログラマブル論理回路の機能決定用メモリに使用した場合、その機能決定用メモリの一部をフリップフロップとして使用でき、論理セルにおいて実現できるフリップフロップの数を増加させることができる。
【0238】
請求項11、12、又は16記載のプログラマブル論理回路、及び請求項17又は18記載のプログラマブル論理回路システムにおいては、プログラマブル論理回路或いはプログラマブル論理回路システムが動作中、他の動作中の部分回路の動作に影響を与えることなく、少なくとも1つの部分回路において実現された回路機能を変更することができる。この回路機能の変更によって、論理機能、接続機能、及びデータに入出力機能を変更することができる。
【0239】
これにより、ゲート数で決定される構成可能回路数よりも多くの回路を実現することができる。
【0240】
請求項13記載のプログラマブル論理回路、及び請求項19記載のプログラマブル論理回路システムにおいては、機能決定用データを供給するための機能決定用データサーバを含んでおり、該機能決定用データは、専用線及びプログラマブル配線のいづれかを介して部分回路に供給できる。従って、機能決定用データを効率良く部分回路に供給でき、プログラマブル論理回路及びプログラマブル論理回路システムの回路構成を簡易化できる。
【0241】
請求項14記載のプログラマブル論理回路、及び請求項20記載のプログラマブル論理回路システムにおいては、部分回路は、複数の機能決定用データを格納する記憶回路を有している。従って、機能決定用データを切り換えることによって、部分回路において実現される回路機能を瞬時に変更することができる。
【図面の簡単な説明】
【図1】本発明に係わるシフトレジスタの実施例の回路構成図。
【図2】図1に示すシフトレジスタのクロック供給回路の回路構成図。
【図3】図1に示す本発明に係わるシフトレジスタの実施例の変更例。
【図4】図1に示す本発明に係わるシフトレジスタの実施例の変更例。
【図5】任意の論理状態が設定可能な状態設定回路が設けられたシフトレジスタの構成例を示す図。
【図6】図5に示す状態設定回路の構成例。
【図7】図5に示す状態設定回路の他の構成例。
【図8】本発明に係わるシフトレジスタのルックアップテーブルへの応用例。
【図9】図8に示すデコーダ回路の構成例。
【図10】図8に示すデコーダ回路の他の構成例。
【図11】チェーンラッチの一部をフリップフロップとして使用可能な本発明に係わるシフトレジスタの実施例のモデル図。
【図12】図11に示した本発明に係わるシフトレジスタの実施例の具体的構成図。
【図13】図12に示すクロック制御回路の回路構成図。
【図14】図12に示す本発明に係わるシフトレジスタの実施例の変更例。
【図15】図12に示す本発明に係わるシフトレジスタの実施例の他の変更例。
【図16】本発明に係わるプログラマブル論理回路の論理セルの実施例のブロック構成図。
【図17】図16に示すプログラマブル論理回路の論理セルの変更例。
【図18】本発明に係わるプログラマブル論理回路を構成する論理セルの基本構成のブロック図。
【図19】図18に示した論理セル50の一構成例。
【図20】図18に示した論理セル50のその他の構成例。
【図21】図20に示した論理セル50−2の具体的構成例。
【図22】本発明に係わるプログラマブル論理回路を構成するルックアップテーブル型論理セルの構成例。
【図23】図22に示す論理セルの変更例。
【図24】本発明に係わるプログラマブル論理回路を構成する論理セルのその他の構成例。
【図25】図24に示す論理セルのプログラマブル機能ユニット71の実施例。
【図26】図25に示すプログラマブル機能ユニット71の変更例。
【図27】図25に示すプログラマブル機能ユニット71のその他の変更例。
【図28】本発明に係わるプログラマブル論理回路を構成するI/Oモジュールの構成例。(A)は、基本構成、(B)は、メモリユニットを有する構成例を示す。
【図29】本発明に係わるプログラマブル論理回路を構成するスイッチボックスの構成例。
【図30】スイッチボックス本体91の構成例。(A)は、大要構成例、(B)は、メモリユニットを含むスイッチ部の構成例を示す。
【図31】本発明に係わるプログラマブル論理回路の第1構成例。
【図32】本発明に係わるプログラマブル論理回路の第2構成例。
【図33】本発明に係わるプログラマブル論理回路の第3構成例。
【図34】本発明に係わるプログラマブル論理回路の第4構成例。
【図35】本発明に係わるプログラマブル論理回路の第5構成例。
【図36】本発明に係わるプログラマブル論理回路の第6構成例。
【図37】本発明に係わるプログラマブル論理回路の第7構成例。
【図38】本発明に係わるプログラマブル論理回路の第8構成例。
【図39】本発明に係わるプログラマブル論理回路の第9構成例。
【図40】本発明に係わるプログラマブル論理回路の第10構成例。
【図41】本発明に係わるプログラマブル論理回路の第11構成例。
【図42】本発明に係わるプログラマブル論理回路の第12構成例。
【図43】本発明に係わるプログラマブル論理回路の第13構成例。
【図44】本発明に係わるプログラマブル論理回路システムの第1構成例。
【図45】本発明に係わるプログラマブル論理回路システムの第2構成例。
【図46】本発明に係わるプログラマブル論理回路システムの第3構成例。
【図47】本発明に係わるプログラマブル論理回路システムの第4構成例。
【図48】本発明に係わるプログラマブル論理回路システムの第5構成例。
【図49】本発明に係わるプログラマブル論理回路システムの第6構成例。
【図50】本発明に係わるプログラマブル論理回路システムの第7構成例。
【図51】本発明に係わるプログラマブル論理回路システムの第8構成例。
【図52】本発明に係わるプログラマブル論理回路システムの第9構成例。
【図53】本発明に係わるプログラマブル論理回路システムの第10構成例。
【図54】本発明に係わるプログラマブル論理回路システムの第11構成例。
【図55】本発明に係わるプログラマブル論理回路システムの第12構成例。
【図56】本発明に係わるプログラマブル論理回路システムの第13構成例。
【図57】図31〜図56に示したプログラマブル論理回路及びプログラマブル論理回路システムで使用する機能決定用データサーバの第1構成例。
【図58】図31〜図56に示したプログラマブル論理回路及びプログラマブル論理回路システムで使用する機能決定用データサーバの第2構成例。
【図59】図31〜図56に示したプログラマブル論理回路及びプログラマブル論理回路システムで使用する機能決定用データサーバの第3構成例。
【図60】図59で示した機能決定用データサーバの詳細な構成例。
【図61】フィールドプログラマブルゲートアレイ(FPGA)の概略的構成図。
【図62】典型的なCMOS型Dフリップフロップの回路構成図。
【図63】従来のチェーンラッチ構成のシフトレジスタの回路構成図。
【図64】従来のチェーンラッチ構成のシフトレジスタの動作を説明する図。
【符号の説明】
1a〜1f、2a〜2f トランスミッションゲート
3a〜3f、4a〜4f Pチャネルトランジスタ
5a〜5f、6a〜6f インバータ
7、8、9、10 インバータ
11a〜11f、12a〜12f NANDゲート
13a〜13f、14a〜14f NORゲート
15a、15b、15c 状態設定回路
16a〜16c、18a〜18c NANDゲート
20a〜20c インバータ
22a〜22c、24a〜24c NORゲート
26a〜26c インバータ
28 RAM
30 デコーダ回路
40 トランスミッションゲート
42 インバータ
50,50−1,50−2,50−3 論理セル
51 プログラマブル機能ユニット
52,52−1,52−2 制御ユニット
53,53−2 機能決定用メモリ
54 入力信号
55 出力信号
56 機能決定用入力
57 機能決定用出力
58 制御入力
59 選択機能部
60,60−1 論理セル
61,61−1 選択機能ユニット
62,62−1 メモリセルプレーン
63 デコーダ機能ユニット
70 論理セル
71 プログラマブル機能ユニット
71−1 入力信号
71−2 機能決定用データ
71−3 出力信号
71−4 ラッチ回路
71−5 機能ユニット部
71−6 メモリユニット
72 メモリセルプレーン
73 デコーダ機能ユニット
80 I/Oモジュール
81 外部通信端子
82 信号波形生成及びバッファ回路
83 信号線群
84 I/O接続ユニット
85 制御/機能決定入力信号
86−1,86−2 メモリユニット
90 スイッチボックス
91 スイッチボックス本体
92 信号線群
93 接続構造決定データサーバ
95 メモリユニット
110,120,130,140,150,160,170,180,190,200,210,220,230 プログラマブル論理回路
111,121,131,141,151,161,171,181,191,201,211,221,231 配線
122,133,142,152,162,172,182,192,202,212,222,225,232,235 機能決定用データサーバ
134,173 ローダ
135 選択回路
143,153 機能決定用データ転送用専用線
183,193,203,213,223,233 制御ユニット
184,194,204,214,224,234 専用制御線
300 プログラマブル論理回路
310,320,330,340,350,360,370,380,390,400,410,420,430 プログラマブル論理回路システム
311,321,331,341,351,361,371,381,391,401,411,421,431 論理回路間配線
301 スイッチデバイス
302 I/Oモジュール
322,333,342,352,362,372,382,392,402,412,422,425,432,435 機能決定用データサーバ
334,373 ローダ
335 選択回路
343,353 機能決定用データ転送用専用線
383,393,403,413,423,433 制御ユニット
384,394,404,414,424,434 専用制御線
500,510,520,530 機能決定用データサーバ
511,521,531 メモリユニット
512,522 選択機能ユニット
532−1 読出し選択ユニット
532−2 書き込み選択ユニット
【特許請求の範囲】
【請求項1】チェイン形式で順次的に接続された複数の回路セルを有するシフトレジスタであって、前記複数の回路セルの各々は、
第1の反転ゲートと、
前記第1の反転ゲートの出力に接続されクロックによってスイッチ動作する第1のトランスミッションゲートと、
前記第1のトランスミッションゲートの出力に接続された第2の反転ゲートと、
前記第2の反転ゲートの出力と前記第1の反転ゲートの入力の間に接続され前記クロックによってスイッチ動作する第1のPチャネルトランジスタと、
前記第2の反転ゲートの出力に接続され反転クロックによってスイッチ動作する第2のトランスミッションゲートと、
前記第1のトランスミッションゲートの出力に接続され前記反転クロックによってスイッチ動作する第2のPチャネルトランジスタと
を有し、
この回路セルの前記第1の反転ゲートの入力は、この回路セルの前段の回路セルの第2のトランスミッションゲートの出力に接続され、この回路セルの該第1の反転ゲートの出力は、この回路セルの該前段の回路セルの前記第2のPチャネルトランジスタの出力に接続されて、前記複数の回路セルの各々が順次的に接続されたものであることを特徴とするシフトレジスタ。
【請求項2】 前記第1および第2の反転ゲートそれぞれは、インバータ、NANDゲート及びNORゲートのうちの何れか1つにより構成されたものであることを特徴とする請求項1記載のシフトレジスタ。
【請求項3】前記複数の回路セルの各々は、前記クロック及び前記反転クロックを供給するクロック供給回路をさらに含み、該クロック供給回路は、入力クロックをバッファリングし前記クロックを出力する第1のバッファ回路と、前記入力クロックを反転し前記反転クロックを出力する第2のバッファ回路とを有することを特徴とする請求項1又は2記載のシフトレジスタ。
【請求項4】前記第1および第2バッファ回路のうちの少なくとも一方は、Pチャネルトランジスタ側のドライブ能力がNチャネル側のドライブ能力より実質的に同等以上になるようにトランジスタパラメータを調節したインバータ、及びPチャネルトランジスタの数の方がNチャネルトランジスタの数よりも多いインバータのうちの何れか一方を有することを特徴とする請求項3記載のシフトレジスタ。
【請求項5】前記複数の回路セルのうちの一部の回路セルの、前記第1のトランスミッションゲート、前記第2のトランスミッションゲート、前記第1のPチャネルトランジスタ、及び第2のPチャネルトランジスタそれぞれのクロック入力端子に接続され、第1のモードでは、前記クロック及び前記反転クロックを前記それぞれのクロック入力端子に供給し、第2のモードでは、前記一部の回路セルを残りの回路セルからアイソレートするために前記それぞれのクロック入力端子のうちの少なくとも一部のクロック入力端子に所定の信号を供給するクロック制御回路をさらに有することを特徴とする請求項1から4のうち何れか1項記載のシフトレジスタ。
【請求項6】前記クロック制御回路から前記一部のクロック入力端子に前記所定の信号が供給され、前記残りの回路セルからアイソレートされる前記一部の回路セルは、フリップフロップとして動作することを特徴とする請求項5項記載のシフトレジスタ。
【請求項7】機能決定用データが供給される機能決定用メモリと、前記機能決定用データに従って所望の論理回路を実現する少なくとも1つの論理セルとを有するプログラマブル論理回路であって、前記機能決定用メモリは、チェイン形式で順次的に接続された複数の回路セルを有するシフトレジスタを有し、前記複数の回路セルの各々は、
第1の反転ゲートと、
前記第1の反転ゲートの出力に接続されクロックによってスイッチ動作する第1のトランスミッションゲートと、
前記第1のトランスミッションゲートの出力に接続された第2の反転ゲートと、
前記第2の反転ゲートの出力と前記第1の反転ゲートの入力の間に接続され前記クロックによってスイッチ動作する第1のPチャネルトランジスタと、
前記第2の反転ゲートの出力に接続され反転クロックによってスイッチ動作する第2のトランスミッションゲートと、
前記第1のトランスミッションゲートの出力に接続され前記反転クロックによってスイッチ動作する第2のPチャネルトランジスタと
を有し、
前記回路セルの前記第1の反転ゲートの入力は前記回路セルの前段の回路セルの第2のトランスミッションゲートの出力に接続され、前記回路セルの前記第1の反転ゲートの出力は前記前段の回路セルの前記第2のPチャネルトランジスタの出力に接続されて、前記複数の回路セルが順次的に接続されることを特徴とするプログラマブル論理回路。
【請求項8】前記第1及び第2の反転ゲートそれぞれは、NANDゲート及びNORゲートのうち何れか一方を有することを特徴とする請求項7記載のプログラマブル論理回路。
【請求項9】前記複数の回路セルのうちの一部の回路セルの、前記第1のトランスミッションゲート、前記第2のトランスミッションゲート、前記第1のPチャネルトランジスタ、及び第2のPチャネルトランジスタそれぞれのクロック入力端子に接続され、第1のモードでは、前記クロック及び前記反転クロックをそれぞれのクロック入力端子に供給し、第2のモードでは、前記一部の回路セルを残りの回路セルからアイソレートするために前記それぞれのクロック入力端子のうちの少なくとも一部のクロック入力端子には所定の信号を供給するクロック制御回路をさらに有することを特徴とする請求項7又は8記載のプログラマブル論理回路。
【請求項10】前記クロック制御回路から前記一部のクロック入力端子に前記所定の信号が供給され、前記残りの回路セルからアイソレートされる前記一部の回路セルは、フリップフロップとして動作することを特徴とする請求項9項 記載のプログラマブル論理回路。
【請求項11】機能決定用データに従って所望の論理回路を実現するプログラマブル論理回路であって、複数の部分回路を有し、前記プログラマブル論理回路が動作中、少なくとも1つの部分回路に制御信号が供給されたとき、他の動作中の部分回路の動作に影響を与えることなく、前記少なくとも1つの部分回路において実現された回路機能が変更されることを特徴とするプログラマブル論理回路。
【請求項12】前記部分回路は、
論理機能を実現する論理セル、複数の部分回路の接続機能を実現するスイッチ手段、データの入力及び出力の機能を実現するI/Oモジュールのうち少なくとも1つを含むことを特徴とする請求項11記載のプログラマブル論理回路。
【請求項13】機能決定用データを前記複数の部分回路のうちの少なくとも1つに専用線及びプログラマブル配線の何れかを介して供給する少なくとも1つの機能決定用データサーバをさらに含むことを特徴とする請求項11又は12記載のプログラマブル論理回路。
【請求項14】前記部分回路は、
複数の機能決定用データを記憶する記憶回路を有することを特徴とする請求項11から13のうち何れか1項記載のプログラマブル論理回路。
【請求項15】前記論理セルは、
出力データを保持する出力データ保持回路を有し、前記プログラマブル論理回路が動作中、前記論理セルの回路機能が変更されるとき、前記論理セルの出力が前記出力データ保持回路によって保持されることを特徴とする請求項12記載のプログラマブル論理回路。
【請求項16】前記論理セルは、
機能決定用データで設定できるシフトレジスタを有する機能決定用メモリと、前記機能決定用メモリに設定された機能決定用データに応じて論理機能を決定するプログラマブル機能ユニットと、
前記機能決定用メモリに前記機能決定用データを供給するメモリコントローラとを有し、
前記メモリコントローラにより前記機能決定用データが前記機能決定用メモリに供給されたとき、前記プログラマブル機能ユニットの論理機能が前記機能決定用データに応じて決定される論理機能に変更されることを特徴とする請求項12又は15記載のプログラマブル論理回路。
【請求項17】機能決定用データに従って所望の論理回路を実現するプログラマブル論理回路システムであって、複数のプログラマブル論理回路を含む第2の部分回路を有し、前記プログラマブル論理回路システムが動作中、少なくとも1つの第2の部分回路に制御信号が供給されたとき、他の動作中の第2の部分回路の動作に影響を与えることなく、前記少なくとも1つの第2の部分回路において実現された回路機能が変更されることを特徴とするプログラマブル論理回路システム。
【請求項18】前記第2の部分回路は、
前記複数のプログラマブル論理回路の接続機能を実現する複数のスイッチデバイスと、
データの入力機能又は出力機能を実現する複数のI/Oモジュールとを含むことを特徴とする請求項17記載のプログラマブル論理回路システム。
【請求項19】機能決定用データを前記第2の部分回路に専用線及びプログラマブル配線の何れかを介して供給する少なくとも1つの機能決定用データサーバをさらに含むことを特徴とする請求項17又は18記載のプログラマブル論理回路システム。
【請求項20】前記第2の部分回路は、
複数の機能決定用データを記憶する記憶回路を有することを特徴とする請求項17から19のうち何れか1項記載のプログラマブル論理回路システム。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システムに関し、特に、小型化可能なシフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システムに関する。さらに、本発明は、実現できる論理回路のゲート数を増加したプログラマブル論理回路及びプログラマブル論理回路システムに関する。
【0002】
【従来の技術】
プログラマブル論理回路として、例えば、フィールドプログラマブルゲートアレイ(FPGA)が一般的に知られている。図61は、フィールドプログラマブルゲートアレイ(FPGA)の概略的構成図である。FPGAは、所望の論理回路をプログラムできる複数の論理セル(Logic Cell)と、その論理セル間を自由に接続可能な複数の配線とを有する。論理回路の構成を記述した機能決定用データ(コンフィギュレーションデータ)を各論理セルに供給することによって、大規模な論理回路を自由に実現することができる。機能決定用データを保持する方法に基づいて、下記に示すように主に3つのタイプのFPGAが存在する。
【0003】
I.SRAMプログラム型FPGA:機能決定用データは、SRAMメモリセルに格納される。論理回路の機能を繰り返し変更することができる。製造時に特殊なプロセス技術を必要としない。
【0004】
II.不揮発性メモリプログラム型FPGA:機能決定用データは、EEPROMやフラッシュメモリなどの不揮発性メモリに格納される。SRAMプログラム型FPGAと同様に、論理回路の機能を繰り返し変更することができる。製造時に特殊なプロセスを必要とする。
【0005】
III.アンチヒューズプログラム型FPGA:機能決定用データに応じて、LSIチップ上に設けられたスイッチ(アンチヒューズ)の状態が恒久的に決定される。プログラムの後、論理回路の機能は変更できない。製造に特殊プロセスを要する。
【0006】
また、複数のプログラマブル論理回路を自由に接続し組み合わせることによって、さらに大規模な論理回路を実現できるプログラマブル論理回路システムを構成できる。
【0007】
さらに、近年、大規模論理回路の論理検証を実際に使用する回路上で行うためのハードウェアエミュレータが、開発されている。このハードウェアエミュレータでは、複数のFPGAがプログラマブルに相互に接続され、大規模論理回路が構成される。ワークステーション上などで動作するソフトウェアシミュレータに比べ、動作速度が100倍以上高速である。従って、ハードウェアエミュレータは、マイクロプロセッサなどの開発によく用いられている。
【0008】
SRAMプログラム型FPGAにおいて、機能決定用データは、一般的に機能決定用メモリ(コンフィギュレーションメモリ)にシリアルにロードされる。従って、機能決定用メモリは、一般的にシフトレジスタで構成される。
【0009】
さらに、シフトレジスタは、一般的に、Dフリップフロップを縦続接続することによって実現される。図62に、典型的なCMOS型Dフリップフロップの回路構成図を示す。このDフリップフロップでは、インバータINVとトランスミッションゲートTGを環状に接続することで閉路が構成されている。入力端子INに与えられた入力信号は、2つの閉路で構成されるマスタ・スレーブラッチを経て出力端子OUTに伝搬される。図62に示したDフリップフロップは、16個のMOSトランジスタを有している。従って、このようなDフリップフロップで構成される従来のシフトレジスタは、LSIチップ上で比較的大きな面積を有する。
【0010】
特に、SRAMプログラム型FPGAは、機能決定用データを記憶するため数十万段のシフトレジスタを必要とするので、FPGAチップの大部分の面積がシフトレジスタで構成される機能決定用メモリに使用される。FPGAの性能は、単位面積あたりの等価ゲート数(ある一定のチップ面積において、何ゲート数相当の論理回路が実現できるかを示す評価指標)によって一般的に評価される。従って、FPGAの性能を向上するためには、シフトレジスタで構成される機能決定用メモリを小型化し、全体のチップ面積に対するメモリ用面積の割合を減らす必要がある。
【0011】
シフトレジスタを小型化するためには、チェーンラッチ構成のシフトレジスタを使用した方が良いことが知られている。図63は、従来のチェーンラッチ構成のシフトレジスタの回路構成図である。図64は、図63に示す従来のチェーンラッチ構成のシフトレジスタの動作を説明する図である。
【0012】
図64において、端子Kから供給された信号は、スイッチCがオン、スイッチE及びFがオフになった時、インバータDを通り、その出力端子まで伝搬する。その後、スイッチCがオフ、スイッチE及びFがオンになった時、供給された信号の値が閉路Aに保持される。閉路A上の値が安定状態に遷移し固定された後、再度、スイッチCはオン、スイッチE及びFがオフ、さらにスイッチH及びIがオンになる。この時、インバータGの出力の値が変化しないうちに、スイッチHを先に変化させインバータJの出力を確定する必要がある。もし、先にスイッチIが変化した場合、閉路A’に保持されていた値によって閉路Bに保持されるべき値が失われる場合がある。
【0013】
【発明が解決しようとする課題】
しかしながら、上述した従来のチェーンラッチ型シフトレジスタには次のような問題点がある。
【0014】
上述のチェーンラッチ構成のシフトレジスタを実際に構成する場合、回路を構成するスイッチの性能、配線負荷容量、供給クロックのタイミングなどによって回路の動作がばらつき、従って、この回路の安定な動作を得ることが難しかった。
【0015】
また、従来のプログラマブル論理回路の論理セルにおいても、以下に示す問題点があった。
【0016】
論理セルでフリップフロップを実現する方法は、一般的に以下の2種類の方法が知られている。
【0017】
I.独立フリップフロップ型:論理セル内において、フリップフロップが組合せ論理回路とは独立して設けられ、そのフリップフロップの入力及び出力を機能決定用データで制御する。
【0018】
II.プログラムフィードバック型:論理セル内に設けられた組合せ論理に、フィードバックパスが設けられ、機能決定用データからの接続指示によって、フリップフロップが形成される。
【0019】
いずれの構成においても、実現できるフリップフロップの数は、論理セルの数によって決定される。従って、実現できるフリップフロップの数を増やすためには、論理セルの数を増加させる必要があり、これは、プログラマブル論理回路のチップ面積を増加させることになる。
【0020】
また、従来のプログラマブル論理回路やプログラマブル論理回路システムでは、その回路を動作開始させる前に、機能決定用メモリに機能決定用データがロードされ、その後は、プログラマブル論理回路内の全ての機能決定用データが書き替えられるまで、機能決定用データによって決定される論理回路に従って動作する。
【0021】
すなわち、プログラマブル論理回路上で実現される論理回路は、機能決定用データによって決定される論理回路に動作終了時まで固定される。従って、プログラマブル論理回路及びプログラマブル論理回路システムにおいて実現できる論理回路のゲート数を増やすためには、論理セルの規模を大きくしたり、論理セルの数を増加させる必要があり、この場合も、プログラマブル論理回路のチップ面積を増加させることになる。
【0022】
本発明の目的は、小さなサイズのシフトレジスタを提供することにある。このシフトレジスタによって、多段のシフトレジスタを使用する回路、例えば、プログラマブル論理回路の機能決定用メモリ、を小型化できる。
【0023】
また、本発明の他の目的は、実現できるフリップフロップの数を増加したプログラマブル論理回路を提供することにある。
【0024】
さらに、本発明の他の目的は、機能決定用メモリの値が動作中に変更でき、また、プログラマブル論理回路の一部を自由に初期化でき、それによって、実現できる論理回路の実質的なゲート数を増加したプログラマブル論理回路及びプログラマブル論理回路システムを提供することにある。その結果、プログラマブル論理回路及びプログラマブル論理回路システムのコストを大幅に低減できる。
【0025】
これらによって、上述した問題点を解決することができる。
【0026】
【課題を解決するための手段】
上記課題を解決するために本発明では、下記の手段を講じたことを特徴とするものである。
【0027】
請求項1記載の発明装置では、
チェイン形式で順次的に接続された複数の回路セルを有するシフトレジスタであって、前記複数の回路セルの各々は、
第1の反転ゲートと、
上記第1の反転ゲートの出力に接続されクロックによってスイッチ動作する第1のトランスミッションゲートと、
上記第1のトランスミッションゲートの出力に接続された第2の反転ゲートと、
上記第2の反転ゲートの出力と上記第1の反転ゲートの入力の間に接続され上記クロックによってスイッチ動作する第1のPチャネルトランジスタと、
上記第2の反転ゲートの出力に接続され反転クロックによってスイッチ動作する第2のトランスミッションゲートと、
上記第1のトランスミッションゲートの出力に接続され上記反転クロックによってスイッチ動作する第2のPチャネルトランジスタと
を有し、
この回路セルの上記第1の反転ゲートの入力は、この回路セルの前段の回路セルの第2のトランスミッションゲートの出力に接続され、この回路セルの該第1の反転ゲートの出力は、この回路セルの該前段の回路セルの上記第2のPチャネルトランジスタの出力に接続されて、上記複数の回路セルの各々が順次的に接続されたものであることを特徴とする。
【0028】
請求項2記載の発明装置では、
請求項1記載のシフトレジスタにおいて、上記第1および第2の反転ゲートそれぞれは、インバータ、NANDゲート及びNORゲートのうちの何れか1つにより構成されたものであることを特徴とする。
【0029】
請求項3記載の発明装置では、
請求項1又は2記載のシフトレジスタにおいて、上記複数の回路セルの各々は、上記クロック及び上記反転クロックを供給するクロック供給回路をさらに含み、該クロック供給回路は、入力クロックをバッファリングし上記クロックを出力する第1のバッファ回路と、上記入力クロックを反転し上記反転クロックを出力する第2のバッファ回路とを有することを特徴とする。
【0030】
請求項4記載の発明装置では、
請求項3記載のシフトレジスタにおいて、上記第1および第2バッファ回路のうちの少なくとも一方は、Pチャネルトランジスタ側のドライブ能力がNチャネル側のドライブ能力より実質的に同等以上になるようにトランジスタパラメータを調節したインバータ、及びPチャネルトランジスタの数の方がNチャネルトランジスタの数よりも多いインバータのうちの何れか一方を有することを特徴とする。
【0031】
請求項5記載の発明装置では、
請求項1から4のうち何れか1項記載のシフトレジスタにおいて、上記複数の回路セルのうちの一部の回路セルの、上記第1のトランスミッションゲート、上記第2のトランスミッションゲート、上記第1のPチャネルトランジスタ、及び第2のPチャネルトランジスタそれぞれのクロック入力端子に接続され、第1のモードでは、上記クロック及び上記反転クロックをそれぞれのクロック入力端子に供給し、第2のモードでは、上記一部の回路セルを残りの回路セルからアイソレートするために上記それぞれのクロック入力端子のうちの少なくとも一部のクロック入力端子に所定の信号を供給するクロック制御回路をさらに有することを特徴とする。
【0032】
請求項6記載の発明装置では、
請求項5項記載のシフトレジスタにおいて、上記クロック制御回路から上記一部のクロック入力端子に上記所定の信号が供給され、上記残りの回路セルからアイソレートされる上記一部の回路セルは、フリップフロップとして動作することを特徴とする。
【0033】
請求項7載の発明装置では、
機能決定用データが供給される機能決定用メモリと、上記機能決定用データに従って所望の論理回路を実現する少なくとも1つの論理セルとを有するプログラマブル論理回路であって、上記機能決定用メモリは、チェイン形式で順次的に接続された複数の回路セルを有するシフトレジスタを有し、上記複数の回路セルの各々は、
第1の反転ゲートと、
上記第1の反転ゲートの出力に接続されクロックによってスイッチ動作する第1のトランスミッションゲートと、
上記第1のトランスミッションゲートの出力に接続された第2の反転ゲートと、
上記第2の反転ゲートの出力と上記第1の反転ゲートの入力の間に接続され上記クロックによってスイッチ動作する第1のPチャネルトランジスタと、
上記第2の反転ゲートの出力に接続され反転クロックによってスイッチ動作する第2のトランスミッションゲートと、
上記第1のトランスミッションゲートの出力に接続され上記反転クロックによってスイッチ動作する第2のPチャネルトランジスタと
を有し、
上記回路セルの上記第1の反転ゲートの入力は上記回路セルの前段の回路セルの第2のトランスミッションゲートの出力に接続され、上記回路セルの上記第1の反転ゲートの出力は上記前段の回路セルの上記第2のPチャネルトランジスタの出力に接続されて、上記複数の回路セルが順次的に接続されることを特徴とする。
【0034】
請求項8載の発明装置では、
請求項7記載のプログラマブル論理回路において、上記第1及び第2の反転ゲートそれぞれは、NANDゲート及びNORゲートのうち何れか一方を有することを特徴とする。
【0035】
請求項9載の発明装置では、
請求項7又は8記載のプログラマブル論理回路において、上記複数の回路セルのうちの一部の回路セルの、上記第1のトランスミッションゲート、上記第2のトランスミッションゲート、上記第1のPチャネルトランジスタ、及び第2のPチャネルトランジスタそれぞれのクロック入力端子に接続され、第1のモードでは、上記クロック及び上記反転クロックをそれぞれのクロック入力端子に供給し、第2のモードでは、上記一部の回路セルを残りの回路セルからアイソレートするために上記それぞれのクロック入力端子のうちの少なくとも一部のクロック入 力端子には所定の信号を供給するクロック制御回路をさらに有することを特徴とする。
【0036】
請求項10載の発明装置では、
請求項9項記載のプログラマブル論理回路において、上記クロック制御回路から上記一部のクロック入力端子に上記所定の信号が供給され、上記残りの回路セルからアイソレートされる上記一部の回路セルは、フリップフロップとして動作することを特徴とする。
【0037】
請求項11載の発明装置では、
機能決定用データに従って所望の論理回路を実現するプログラマブル論理回路であって、複数の部分回路を有し、上記プログラマブル論理回路が動作中、少なくとも1つの部分回路に制御信号が供給されたとき、他の動作中の部分回路の動作に影響を与えることなく、上記少なくとも1つの部分回路において実現された回路機能が変更されることを特徴とする。
【0038】
請求項12載の発明装置では、
請求項11記載のプログラマブル論理回路において、上記部分回路は、
論理機能を実現する論理セル、複数の部分回路の接続機能を実現するスイッチ手段、データの入力及び出力の機能を実現するI/Oモジュールのうち少なくとも1つを含むことを特徴とする。
【0039】
請求項13載の発明装置では、
請求項11又は12記載のプログラマブル論理回路において、機能決定用データを上記複数の部分回路のうちの少なくとも1つに専用線及びプログラマブル配線の何れかを介して供給する少なくとも1つの機能決定用データサーバをさらに含むことを特徴とする。
【0040】
請求項14載の発明装置では、
請求項11から13のうち何れか1項記載のプログラマブル論理回路において、上記部分回路は、
複数の機能決定用データを記憶する記憶回路を有することを特徴とする。
【0041】
請求項15載の発明装置では、
請求項12記載のプログラマブル論理回路において、上記論理セルは、
出力データを保持する出力データ保持回路を有し、上記プログラマブル論理回路が動作中、上記論理セルの回路機能が変更されるとき、上記論理セルの出力が上記出力データ保持回路によって保持されることを特徴とする。
【0042】
請求項16載の発明装置では、
請求項12又は15記載のプログラマブル論理回路において、上記論理セルは、
機能決定用データで設定できるシフトレジスタを有する機能決定用メモリと、上記機能決定用メモリに設定された機能決定用データに応じて論理機能を決定するプログラマブル機能ユニットと、
上記機能決定用メモリに上記機能決定用データを供給するメモリコントローラとを有し、
上記メモリコントローラにより上記機能決定用データが上記機能決定用メモリに供給されたとき、上記プログラマブル機能ユニットの論理機能が上記機能決定用データに応じて決定される論理機能に変更されることを特徴とする。
【0043】
請求項17載の発明装置では、
機能決定用データに従って所望の論理回路を実現するプログラマブル論理回路システムであって、複数のプログラマブル論理回路を含む第2の部分回路を有し、上記プログラマブル論理回路システムが動作中、少なくとも1つの第2の部分回路に制御信号が供給されたとき、他の動作中の第2の部分回路の動作に影響を与えることなく、上記少なくとも1つの第2の部分回路において実現された回路機能が変更されることを特徴とする。
【0044】
請求項18載の発明装置では、
請求項17記載のプログラマブル論理回路システムにおいて、上記第2の部分回路は、
上記複数のプログラマブル論理回路の接続機能を実現する複数のスイッチデバイスと、
データの入力機能又は出力機能を実現する複数のI/Oモジュールとを含むことを特徴とする。
【0045】
請求項19載の発明装置では、
請求項17又は18記載のプログラマブル論理回路システムにおいて、機能決定用データを上記第2の部分回路に専用線及びプログラマブル配線の何れかを介して供給する少なくとも1つの機能決定用データサーバをさらに含むことを特徴とする。
【0046】
請求項20載の発明装置では、
請求項17から19のうち何れか1項記載のプログラマブル論理回路システムにおいて、上記第2の部分回路は、
複数の機能決定用データを記憶する記憶回路を有することを特徴とする。
【0047】
上記の発明は、以下のように作用する。
【0048】
請求項1又は2記載のシフトレジスタにおいては、メイン信号パスにおける伝搬時間は、フィードバック回路における伝搬時間よりも短くなる。従って、チェーンラッチ構成のシフトレジスタの動作タイミングを安定に実現することができる。
【0049】
チェーンラッチ構成のシフトレジスタを使用することによって、シフトレジスタを構成するゲート数やチップ面積も、従来の半分以下に低減できる。さらに、非常の多くの段数のシフトレジスタをメモリとして使用するプログラマブル論理回路においても、メモリのためのチップ面積を低減でき、チップ面積に対するプログラム可能な論理回路ゲート数を増加できる。
【0050】
請求項3又は4項記載のシフトレジスタにおいては、Pチャネルトランジスタ側の駆動能力を、Nチャネルトランジスタ側の駆動能力よりも実質的に大きくすることができる。従って、回路セルにおけるスイッチの出力の立ち上がり時間及び立ち下がり時間を実質的に等しくできる。以上の条件によって、チェーンラッチ構成のシフトレジスタの動作をより安定化及び確実化することができる。
【0051】
ここで、シフトレジスタにおいては、状態設定回路によってチェーンラッチ構成のシフトレジスタの内部状態を自由に設定することができる。また、デコーダ回路に任意の制御信号を供給することによって、メモリデータで決定された論理に応じた出力が得られる。即ち、デコーダ回路とシフトレジスタとによって、任意の論理回路を構成することができる。
【0052】
請求項5又は6記載のシフトレジスタ及び請求項7乃至10記載のプログラマブル論理回路においては、チェーンラッチ構成のシフトレジスタの一部の回路セルに所定の信号を供給することによって、その回路セルをフリップフロップとして動作させることができる。従って、このシフトレジスタをプログラマブル論理回路の機能決定用メモリに使用した場合、その機能決定用メモリの一部をフリップフロップとして使用でき、論理セルにおいて実現できるフリップフロップの数を増加させることができる。
【0053】
請求項11、12及び16のうちいずれか1項記載のプログラマブル論理回路、及び請求項17又は18記載のプログラマブル論理回路システムにおいては、プログラマブル論理回路或いはプログラマブル論理回路システムが動作中、他の動作中の部分回路の動作に影響を与えることなく、少なくとも1つの部分回路において実現された回路機能を変更することができる。この回路機能の変更によって、論理機能、接続機能、及びデータに入出力機能を変更することができる。
【0054】
これにより、ゲート数で決定される構成可能回路数よりも多くの回路を実現することができる。
【0055】
請求項13記載のプログラマブル論理回路、及び請求項19記載のプログラマブル論理回路システムにおいては、機能決定用データを供給するための機能決定用データサーバを含んでおり、該機能決定用データは、専用線及びプログラマブル配線のいづれかを介して部分回路に供給できる。従って、機能決定用データを効率良く部分回路に供給でき、プログラマブル論理回路及びプログラマブル論理回路システムの回路構成を簡易化できる。
【0056】
請求項14記載のプログラマブル論理回路、及び請求項20記載のプログラマブル論理回路システムにおいては、部分回路は、複数の機能決定用データを格納する記憶回路を有している。従って、機能決定用データを切り換えることによって、部分回路において実現される回路機能を瞬時に変更することができる。
【0057】
ここで、外部機能決定用データサーバを接続するためのインタフェースを有するプログラマブル論理回路、及びプログラマブル論理回路システムにおいては、機能決定用データサーバを接続するためのインタフェースが設けられている。従って、機能決定用データサーバは、外部に設けることができるので、プログラマブル論理回路及びプログラマブル論理回路システムを簡易化できる。さらに、機能決定用データサーバとして、パーソナルコンピュータ等の大型の高機能な装置を使用することができる。
【0058】
また、上記複数の部分回路のうち特定の部分回路を専用線及びプログラマブル配線に何れかを介して該特定の部分回路の回路機能を選択的に変更する制御装置をさらに有するプログラマブル論理回路、及びプログラマブル論理回路システムにおいては、特定の部分回路の回路機能を選択的に変更する制御装置が設けられている。制御装置は、専用線及びプログラマブル配線のいづれかを介して部分回路に接続されている。従って、プログラマブル論理回路が動作中に、特定の部分回路のみの回路機能を効率よく変更できる。
【0059】
さらに、上記複数の部分回路のうち特定の部分回路を指定して該特定の部分回路の回路機能を選択的に変更する制御装置を接続するインタフェースを有するプログラマブル論理回路、及びプログラマブル論理回路システムにおいては、制御装置を外部に設けることができるので、プログラマブル論理回路及びプログラマブル論理回路システムを簡易化できる。さらに、制御装置として、パーソナルコンピュータ等の大型の高機能な装置を使用することができる。
【0060】
請求項15又は16項記載のプログラマブル論理回路においては、論理セルにおいて実現された回路機能が変更されるとき、論理セルの出力が出力データ保持回路によって保持される。従って、特定の論理セルの回路機能が変更されても、他の動作中の論理セルの動作に影響を与えることを防ぐことができる。
【0061】
さらに、シフトレジスタが、チェーンラッチ構成のシフトレジスタにより構成されているプログラマブル論理回路においては、プログラマブル論理回路を小型化できる。また、メモリコントローラに供給される機能決定用データが他の論理セルからの出力信号を基に生成されるプログラマブル論理回路においては、外部から機能決定用データを供給する必要がないので、プログラマブル論理回路で構成できる回路機能規模をゲート数で定まる回路機能規模よりも自律的に増加することができる。
【0062】
【発明の実施の形態】
始めに、本発明に係わるシフトレジスタの実施例について説明する。図1は、本発明に係わるシフトレジスタの実施例の回路構成図である。図2は、図1に示すシフトレジスタのクロック供給回路の回路構成図である。
【0063】
図1に示すシフトレジスタは、チェーンラッチ構成を有しており、シフトレジスタの一部が図1に示されている。図1に示すシフトレジスタでは、回路セルa〜fが縦続接続されている。1つの回路セルとその隣接の回路セルの一部の回路とで、フリップフロップが構成できる。本発明に係わるシフトレジスタの回路セルでは、メイン信号パスにおけるスイッチとして、トランスミッションゲート1a〜1f及び2a〜2fが設けられており、さらに、フィードバックループにおけるスイッチとして、PチャネルMOSトランジスタ3a〜3f及び4a〜4fが設けられている。
【0064】
また、各回路セルにおいて、トランスミッションゲート1a〜1f及びPチャネルトランジスタ3a〜3fには、クロックCKが供給され、トランスミッションゲート2a〜2f及びPチャネルトランジスタ4a〜4fには、クロックXCK(クロックCKを反転したクロック)が供給される。従って、トランスミッションゲート1a〜1f及びPチャネルトランジスタ3a〜3fが導通している時は、トランスミッションゲート2a〜2f及びPチャネルトランジスタ4a〜4fは非導通となり、それらの組は排他的に動作する。
【0065】
上記の構成では、トランスミッションゲート1a〜1f及び2a〜2fの伝搬遅延は、Pチャネルトランジスタ3a〜3f及び4a〜4fの伝搬遅延よりも小さい。従って、メイン信号パスにおける伝搬時間は、フィードバック回路における伝搬時間よりも短くなる。以上の構成によって、前述したチェーンラッチ構成のシフトレジスタの動作タイミングを安定に実現することができる。
【0066】
クロックCK及びXCKは、図2に示すクロック供給回路によって供給される。図2において、入力されたクロックは、インバータ7によって反転され、2つの信号に分割される。一方は、インバータ8(バッファ回路)によって再び反転されクロックCKを出力する。他方は、インバータ9によって反転された後、再度インバータ10(バッファ回路)によって反転されクロックXCKを出力する。
【0067】
インバータは、一般的にPチャネルトランジスタとNチャネルトランジスタで構成される。しかし、Nチャネルトランジスタの駆動力は、Pチャネルトランジスタのそれよりも数倍大きいため、出力波形の立ち上がりエッジが急峻に遷移できない。この問題は、Pチャネルトランジスタ側の駆動能力を、Nチャネルトランジスタ側の駆動能力よりも実質的に大きくすることで解決できることが実験的にわかった。
【0068】
上記の解決方法を達成するため、カスタムLSIでは、Pチャネル側のトランジスタの駆動能力を増加させるために大きいサイズのPチャネルトランジスタを使用することができる。また、ゲートアレイでは、トランジスタのサイズは一様なので、図2に示すように、インバータ8及び10のPチャネルトランジスタの数をNチャネルトランジスタの数よりも多くする。
【0069】
Pチャネルトランジスタの駆動能力をDp、Nチャネルトランジスタの駆動能力をDnとすると、Pチャネルトランジスタの数とNチャネルトランジスタの数の比は、Dn/Dpよりも実質的に大きいことが望ましい。各トランジスタの絶対数は、クロック供給回路のクロックが接続される負荷の量(スイッチの数)に依存する。上記の条件を満足する時に、出力波形の立ち上がりエッジが急峻に遷移でき、クロックCKとクロックXCKの波形が実質的に対称となる。
【0070】
上述したように、本発明に係わるシフトレジスタでは、スイッチ回路として、トランスミッションゲート及びPチャネルトランジスタが使用され、かつクロック供給回路からは実質的に対称性を有するクロックCK及びXCKが各スイッチに供給される。従って、回路セルにおけるスイッチの出力の立ち上がり時間及び立ち下がり時間を実質的に等しくできる。また、フィードバックループにおいても、種類の異なるトランスミッションゲートとPチャネルトランジスタを使用し、信号の伝搬時間が適切に調整されている。以上の条件によって、カスタムLSIだけでなくゲートアレイにおいても、前述したチェーンラッチ構成のシフトレジスタの動作をより安定化及び確実化することができる。
【0071】
本発明に係わるシフトレジスタでは、1つのフリップフロップを図62に示す従来のフリップフロップのゲート数の約半分以下で構成することができる。従って、シフトレジスタを構成するゲート数やチップ面積も、従来の半分以下に低減できる。さらに、非常に多くの段数のシフトレジスタをメモリとして使用するプログラマブル論理回路においても、メモリのためのチップ面積を低減でき、チップ面積に対するプログラム可能な論理回路ゲート数を増加できる。
【0072】
図3は、図1に示す本発明に係わるシフトレジスタの実施例の変更例である。図3に示すシフトレジスタでは、図1に示すシフトレジスタと比較して、インバータ5a〜5f及び6a〜6fの代わりに、NANDゲート11a〜11f及び12a〜12fが用いられている。本回路では、NANDゲート11a〜11f及び12a〜12fの残りの入力S及びRに論理“1”を設定すれば、各NANDゲート11a〜11f及び12a〜12fはそれぞれインバータとして動作する。この場合におけるこのシフトレジスタの動作は、図1に示したシフトレジスタと同じである。
【0073】
一方、NANDゲート11a〜11f及び12a〜12fの残りの入力S及びRに論理“0”を設定すれば、NANDゲート11a〜11f及び12a〜12fの出力は論理“1”に固定できる。従って、NANDゲートの残りの入力S及びRを自由に設定することによって、閉路に保持される値を任意に設定できる。
【0074】
図4は、図1に示す本発明に係わるシフトレジスタの実施例の変更例である。図4に示すシフトレジスタでは、図1に示すシフトレジスタと比較して、インバータ5a〜5f及び6a〜6fの代わりに、NORゲート13a〜13f及び14a〜14fが用いられている。本回路では、NORゲート13a〜13f及び14a〜14fの残りの入力S及びRに論理“0”を設定すれば、各NORゲート13a〜13f及び14a〜14fはそれぞれインバータとして動作する。この場合におけるこのシフトレジスタの動作は、図1に示したシフトレジスタと同じである。
【0075】
一方、NORゲート13a〜13f及び14a〜14fの残りの入力S及びRに論理“1”を設定すれば、NORゲート13a〜13f及び14a〜14fの出力は論理“0”に固定できる。従って、NORゲートの残りの入力S及びRを自由に設定することによって、閉路に保持される値を任意に設定できる。
【0076】
図5は、任意の論理状態が設定可能な状態設定回路が設けられたシフトレジスタの構成例を示す図である。図5では、図3に示すシフトレジスタの回路セルa〜cに、それぞれ状態設定回路15a〜15cが接続されている。この状態設定回路15a〜15cでは、入力信号WRITE及びDATAの組合せにより、チェーンラッチの状態を変化させることができる。
【0077】
図6は、図5に示す状態設定回路の構成例である。この状態設定回路は、NANDゲート16a〜16c及び18a〜18cとインバータ20a〜20cとで構成されている。例えば、論理セルaにおいて、入力信号WRITEが論理“0”のとき、入力信号DATAの値に係わらず、NANDゲート16a及び18aの両方の出力共論理“1”になる。この場合、論理セルaのNANDゲート11a及び12aはインバータとして動作する。
【0078】
一方、入力信号WRITEが論理“1”のとき、NANDゲート16a及び18aの出力は、入力信号DATAに応じて(論理“0”,論理“1”)か、(論理“1”,論理“0”)になる。前者の場合、論理セルaのNANDゲート11aの出力が論理“1”に設定され、後者の場合、NANDゲート12aの出力が論理“1”に設定される。
【0079】
図7は、図5に示す状態設定回路のその他の構成例である。この状態設定回路は、ORゲート22a〜22c及び24a〜24cとインバータ26a〜26cとで構成されている。例えば、論理セルaにおいて、入力信号WRITEが論理“1”のとき、入力信号DATAの値に係わらず、ORゲート22a及び24aの両方の出力共論理“1”になる。この場合、論理セルaのNANDゲート11a及び12aはインバータとして動作する。
【0080】
一方、入力信号WRITEが論理“0”のとき、ORゲート22a及び24aの出力は、入力信号DATAに応じて(論理“0”,論理“1”)か、(論理“1”,論理“0”)になる。前者の場合、論理セルaのNANDゲート11aの出力が論理“1”に設定され、後者の場合、NANDゲート12aの出力が論理“1”に設定される。
【0081】
なお、状態設定回路は、上述した構成に限られない。即ち、状態設定回路が、NANDゲート11a及び12aを双方ともインバータとして動作させたり、ある少なくとも1方の出力を固定したりする機能を有するならば、その状態設定回路は種々の回路構成を有することができる。
【0082】
さらに、図4に示すシフトレジスタに対しても、同様の状態設定回路を付加することができる。この場合、典型的な状態設定回路は、ANDゲートとインバータとの組み合わせ、或いはNORゲートとインバータとの組み合わせによって構成することができる。
【0083】
図8は、本発明に係わるシフトレジスタのルックアップテーブルへの応用例である。図8では、シフトレジスタはRAM28として使用され、シフトレジスタの各回路セルは、メモリセルとして定義されている。各メモリセルの出力は、デコーダ回路30に接続されている。デコーダ回路30とRAM28との組み合わせによって、3入力プログラマブル機能ユニット(ルックアップテーブル)を実現することができる。即ち、入力A,B,Cに対して、メモリデータで決定された論理に応じた出力が得られる。
【0084】
図9は、図8に示すデコーダ回路の構成例である。デコーダ回路の入力A,B,Cは、それぞれ相補信号で供給される。図9のデコーダ回路は、入力A,B,Cによって制御される3段のスイッチ群で構成されており、入力Aによって制御される初段のスイッチグループは、それぞれ各メモリセルに接続されている。入力A,B,Cの組み合わせによって、8つのメモリセルのデータのうち1つが選択される。この構成によって、3入力組合せ論理を実現できる。
【0085】
図10は、図8に示すデコーダ回路のその他の構成例である。図10に示すデコーダ回路では、図9に示すデコーダ回路と比較して、それぞれのスイッチがトランスミッションゲートで構成されている。図10に示すルックアップテーブルは、図9に示す回路と同様に動作する。
【0086】
次に、本発明に係わるシフトレジスタのその他の実施例について説明する。
【0087】
従来のプログラマブル論理回路では、フリップフロップは、論理セル内に予め用意されたフリップフロップ、或いは論理セルにフィードバックパスを付加することによって実現されていた。従って、実現できるフリップフロップの数は、予め決められており、さらに多くのフリップフロップを論理セル内に実現することは難しかった。本発明では、プログラマブル論理回路の機能決定用メモリとして上述したシフトレジスタを使用すると、このシフトレジスタの一部がフリップフロップとして使用することができる。
【0088】
図11は、チェーンラッチの一部をフリップフロップとして使用可能な本発明に係わるシフトレジスタの実施例のモデル図である。図11において、ハッチングされた回路セルがフリップフロップとして使用できる。また、フリップフロップとして使用される回路セルには、スイッチQ及びインバータRがさらに付加される。回路セルの一部をフリップフロップとして使用する場合、スイッチA,B,M,Nがオフされ、フリップフロップとして使用される回路セルが、残りの回路セルとアイソレートされる。このアイソレーショによって、一部の回路セルがフリップフロップとして動作しているとき、それらの動作が残りの回路セルに保持されている機能決定用データに影響することが防止される。
【0089】
ハッチングされた回路セルをフリップフロップとして使用する場合、スイッチH及びGの制御タイミングは、スイッチHがオフされたとき、帰還路OがスイッチGのみで帰還路Pと接続されるよう(スイッチGはオン)に設定される。また、スイッチD及びJは常にオンされ、能動回路F及びLの出力が常にインバータC及びIの入力端に伝搬される。
【0090】
スイッチQ及びKの組と、スイッチE及びG組は、排他的に制御される。入力端子Sに印加された信号は、スイッチQ及びKがオンでスイッチE及びGがオフの時にインバータFの出力端に伝搬し、更にインバータCの出力端に伝搬する。次にスイッチQ及びKがオフでスイッチE及びGがオンの時、インバータF及びCの入出力状態は、閉路Oに保持される。次に、再度、スイッチQ及びKがオンでスイッチE及びGがオフになった時、閉路Oに保持されていた信号は、閉路Pに遷移すると共に、出力端子Tから出力される。
【0091】
上述したように、チェーンラッチ構成のシフトレジスタの一部の回路セルに所定の信号を供給することによって、その回路セルをフリップフロップとして動作させることができる。従って、このシフトレジスタをプログラマブル論理回路の機能決定用メモリに使用した場合、その機能決定用メモリの一部をフリップフロップとして使用でき、論理セルにおいて実現できるフリップフロップの数を増加させることができる。よって、プログラマブル論理回路の等価ゲート数を大幅に向上させることができる。
【0092】
図12は、図11に示したシフトレジスタの実施例の具体的構成図である。図12に示すシフトレジスタでは、図1に示すシフトレジスタと同様に、スイッチとしてトランスミッションゲートとPチャンネルMOSが使用されている。さらに、回路セルbには、トランスミッションゲート40が接続され、回路セルcには、インバータ42が接続されている。また、フリップフロップとして使用可能な回路セルb,c及び回路セルaの一部には、図2で示したクロック供給回路の代わりにクロック制御回路(clock distributor)が接続されている。
【0093】
このクロック制御回路は、回路セルがフリップフロップとして使用されない場合は、図1及び図2で示されるクロックCK,XCKを回路セル内の各スイッチに供給する。一方、回路セルがDフリップフロップとして使用される場合、クロック制御回路は、回路セルb,cを残りの回路からアイソレートするように所定のクロックを供給し、かつDフリップフロップのためのクロックDCK,XDCKを供給する。
【0094】
図13は、図12に示すクロック制御回路の回路構成図である。クロック制御回路は、複数のセレクタを含んでおり、回路セルがシフトレジスタとして使用される場合、シフトレジスタのためのクロックCK,XCKが選択及び出力され、回路セルがDフリップフロップとして使用される場合、DフリップフロップのためのクロックDCK,XDCKが選択及び出力される。回路セルがシフトレジスタとして使用されるか、或いはフリップフロップとして使用されるかは、制御信号PGM及びMODEの組み合わせによって決定される。
【0095】
図14は、図12に示す本発明に係わるシフトレジスタの実施例の変更例である。図14に示すシフトレジスタでは、スイッチとして、トランスミッションゲートとPチャンネルトランジスタが使用され、インバータの代わりに、NAND回路が使用されている。また、回路セルb,cには、クロック供給回路の代わりに図13に示したクロック制御回路が設けられている。
【0096】
クロック制御回路は、シフトレジスタのためのクロック信号(CK,XCK)、Dフリップフロップのためのクロック信号(DCK,XDCK)及び、2つの動作を選択するための制御信号(PGMとMODE)が入力として供給される。
【0097】
図14に示すシフトレジスタでは、NANDゲートの入力端子R及びSに所定の信号を設定することで、図6及び図7のシフトレジスタと同様に、シフトレジスタの一部の状態を任意に設定できる。また、同様の原理によって、形成されたフリップフロップの状態も任意に設定することができる。
【0098】
図15は、図12に示す本発明に係わるシフトレジスタの実施例のその他の変更例である。図15に示すシフトレジスタでは、スイッチとして、トランスミッションゲートとPチャンネルトランジスタが使用され、インバータの代わりに、NOR回路が使用されている。また、回路セルb,cには、クロック供給回路の代わりに図13に示したクロック制御回路が設けられている。
【0099】
クロック制御回路は、シフトレジスタのためのクロック信号(CK,XCK)、Dフリップフロップのためのクロック信号(DCK,XDCK)及び、2つの動作を選択するための制御信号(PGMとMODE)が入力として供給される。
【0100】
図15に示すシフトレジスタでは、NORゲートの入力端子R及びSに所定の信号を設定することで、シフトレジスタの一部の状態を任意に設定できる。また、形成されたフリップフロップの状態も任意に設定することができる。
【0101】
次に、本発明のシフトレジスタをFPGAの機能決定用メモリに使用した場合について説明する。本発明のシフトレジスタは、図61に示す一般的なFPGAに使用することができる。
【0102】
図16は、本発明に係わるプログラマブル論理回路の論理セルの実施例のブロック構成図である。本プログラマブル論理回路の論理セルは、プログラマブル機能ユニットと、該プログラマブル機能ユニットの機能を決定するための機能決定用メモリ(コンフィギュレーションメモリ)を含んでいる。プログラマブル機能ユニットは、幾つかのフリップフロップを含むことができる。機能決定用メモリは、図12に示すシフトレジスタで構成されている。このシフトレジスタは、回路セルM0,M1,MFF,M2,M3を含んでいる。回路セルM0,M1,M2,M3は、上述した回路セルaと同じ回路構成を有する。また回路セルMFFは、図12に示す回路セルb,cと実質的に同じ構成を有する。従って、回路セルMFFは、フリップフロップとして動作することができる。
【0103】
図16に示すクロック制御回路CKDは、図12に示すクロック制御回路と実質的に同じ構成を有している。このクロック制御回路CKDには、シフトレジスタ用クロックCK,XCK、フリップフロップ用クロックFFCK,FFXCK、及び制御信号FFMODE,PGMが供給される。さらに、図16に示すクロック制御回路CKDには、フリップフロップ用データFFINが供給でき、またフリップフロップの出力FFOUTを引き出すことができる。
【0104】
図16において、機能決定用データが論理セルにロードされるとき、制御信号PGMからの指示によって、回路セルMFFはシフトレジスタとして動作させられる。従って、機能決定用データは、回路セルM0,M1,MFF,M2,M3にその順番でロードされる。機能決定用データがロードされた後、そのデータに応じてプログラマブル機能ユニットはその機能が定められる。
【0105】
この時、回路セルMFF内にロードされた機能決定用データのうち出力OUT0は、クロック制御回路CKDの制御信号FFMODEとして帰還される。この信号が、回路セルMFFがフリップフロップとして使用されることを示していれば、クロック制御回路CKDから回路セルMFFはフリップフロップとして動作するように制御される。この時、前述したように、回路セルMFFは、残りの回路セルM0,M1,M2,M3とアイソレートされる。
【0106】
回路セルMFFがフリップフロップとして設定された後、クロック制御回路を通して、フリップフロップ用クロックFFCK,FFXCK、及びフリップフロップ用データFFINが供給される。この場合、フリップフロップ用データFFINは、プログラマブル機能ユニットから供給することも可能である。さらに、フリップフロップの出力FFOUTをプログラマブル機能ユニットへ供給することも可能である。
【0107】
上述したように、本発明に係わるプログラマブル論理回路では、通常使用できるフリップフロップの他に、機能決定用メモリの一部をフリップフロップとして使用することができる。従って、使用できるフリップフロップの数を大幅に増加することができる。
【0108】
図17は、図16に示すプログラマブル論理回路の論理セルの変更例である。本プログラマブル論理回路の論理セルは、図16に示した論理セルと同様に、プログラマブル機能ユニットと、該プログラマブル機能ユニットの機能を決定するための機能決定用メモリを含んでいる。図17に示す論理セルでは、機能決定用メモリは、図14或いは図15に示すシフトレジスタで構成されている。このシフトレジスタは、回路セルM0,M1,MFF,M2,M3を含んでいる。各回路セルは、回路セルの状態を設定するための入力端子S及びRを有している。その他の回路は、図16に示した論理セルと同様であり、回路セルMFFは、図16の回路の動作と同様にフリップフロップとして動作することができる。
【0109】
さらに、図17に示す論理セルでは、入力端子R0〜R6及びS0〜S6に、任意に値を設定することによって、各回路セルを所望の状態に設定することができる。
【0110】
次に、本発明に係わるプログラマブル論理回路の実施例について説明する。従来のプログラマブル論理回路では、機能決定用データが機能決定用メモリに一度ロードされると、プログラマブル論理回路が別の目的で使用されるまで、ロードされた機能決定用データは固定される。
【0111】
しかし、回路が大規模になると、一部の回路は短時間の間のみ使用される場合がある。或いは、全体の動作の初期だけ使用される回路もある。そのような回路を常にプログラマブル論理回路中に保持しておくことは、回路の構成に対して非効率である。本発明に係わるプログラマブル論理回路では、プログラマブル論理回路の動作中に、一部の回路(例えば、一部の論理セル)を別の機能を有する回路に変更でき、構成可能な最大回路数を向上できる。
【0112】
まず、本発明に係わるプログラマブル論理回路の各部の回路について説明する。始めに、本発明に係わるプログラマブル論理回路を構成する論理セルについて説明する。
【0113】
図18は、本発明に係わるプログラマブル論理回路を構成する論理セルの基本構成のブロック図である。本論理セル50は、プログラマブル機能ユニット51、制御ユニット52、及び機能決定用メモリ(コンフィギュレーションメモリ)53で構成される。機能決定用メモリ53には、複数の機能決定用データが記憶されており、この機能決定用データは、制御ユニット52の機能決定用入力56から書き込まれ、また、その機能決定用出力端子57から読み出すことができる。
【0114】
制御ユニット52の制御入力58によって、機能決定用メモリ53内の1つの機能決定用データが、プログラマブル機能ユニット51に供給される。そのとき、プログラマブル機能ユニット51では、供給された機能決定用データに応じた論理回路がプログラムされる。このプログラムされた論理回路は、幾つかのフリップフロップも含むことができる。プログラマブル機能ユニット51に入力された入力信号54は、そのプログラムされた論理回路によって処理され、出力信号55として出力される。
【0115】
さらに、プログラマブル論理回路が動作中に、制御ユニット52の制御入力58によって、一度プログラムしたプログラマブル機能ユニット51に、他の機能決定用データをダイナミックに(動的に)再設定できる。その後、プログラマブル機能ユニット51は、別の論理回路として動作を開始する。
【0116】
複数の論理セルを含むプログラマブル論理回路では、常に動作している論理セルは多くない。従って、一時的に動作を停止している論理セルを、ダイナミックに他の機能を有する論理回路に再プログラムすることによって、プログラマブルな論理回路の規模を大幅に増加することができる。
【0117】
図19は、図18に示した論理セル50の一構成例である。図18と同じ機能の要素には、同じ参照番号を付している。図19に示す論理セル50−1では、制御ユニット52−1は、選択機能部59を含んでいる。この選択機能部59は、制御入力58によって、機能決定用メモリ53の複数の機能決定用データから1つを選択してプログラマブル機能ユニット51に供給する。上述したように、プログラマブル論理回路が動作中においても、選択機能部59は動作でき、所望の機能決定用データをダイナミックにプログラマブル機能ユニット51に設定できる。
【0118】
また、図18に示すプログラマブル論理回路では、プログラマブル機能ユニット51に設定する機能決定用データとして、機能決定用メモリ53に記憶されている機能決定用データだけでなく、他の論理セルの出力信号や、外部から供給された信号も使用できる。
【0119】
図20は、図18に示した論理セル50のその他の構成例である。図18と同じ機能の要素には、同じ参照番号を付している。図20に示す論理セル50−2では、制御ユニット52−2によって、機能決定用メモリ53−1は、縦列的に接続されたメモリで構成される。即ち、制御ユニット52−2へ入力される機能決定用クロックによって、機能決定用データが機能決定用メモリ53−2にシリアルに伝送される。
【0120】
シリアル機能決定用データが機能決定用メモリ53−2に設定された後、トリガ信号(図示せず)によって、シリアル機能決定用データが、プログラマブル機能ユニット51に供給される。その後、新たなシリアル機能決定用データが、機能決定用メモリ53−2に設定できる。そして、プログラマブル論理回路が動作中に、前に設定した論理回路が使用されなくなったとき、トリガ信号(図示せず)によって、用意された新たなシリアル機能決定用データが、プログラマブル機能ユニット51に供給され、新たな論理回路として動作を開始する。
【0121】
図21は、図20に示した論理セル50−2の具体的構成例である。図21に示す論理セル50−3では、図20に示した論理セル50−2と比べて、表記上、機能決定用メモリ53−2が、プログラマブル機能ユニット51と制御ユニットとしてのメモリコントローラ52−2との間に記載されている。機能決定用メモリ53−2は、回路セルM0〜M8から成るシフトレジスタで構成されている。従って、図20の論理セル50−2と同様に、シリアル機能決定用データDINが、クロックCKによって、機能決定用メモリ53−2に設定できる。
【0122】
また、回路セルM0〜M8が図3或いは図4に示すシフトレジスタで構成できる場合、各回路セルの入力端子R及びSに、メモリコントローラ52−2から任意の値を設定することによって各回路セルの状態を所望の値に設定することができる。回路セルの入力端子R0〜R7及びS0〜S7の値は、メモリコントローラ52−2のコンフィグ入力に供給された信号によって決定される。即ち、機能決定用メモリ53−2(M0〜M8)にデータをロードしプログラマブル機能ユニット51の論理を決定した後においても、プログラマブル論理回路が動作中にコンフィグ入力に供給する信号を変更すると、プログラマブル機能ユニット51の論理を変更することができる。
【0123】
次に、本発明に係わるプログラマブル論理回路を構成する論理セルのその他の構成例について説明する。
【0124】
図22は、本発明に係わるプログラマブル論理回路を構成するルックアップテーブル型論理セルの構成例である。図22に示す論理セル60は、選択機能ユニット61、メモリセルプレーン62、及びデコーダ機能ユニット63で構成されている。選択機能ユニット61は、図8のデコーダ回路30に相当し、メモリセルプレーン62は、図8のメモリセル28に相当し、これはルックアップテーブルを構成する。デコーダ機能ユニット63は、機能決定用データをメモリに書き込む時に、メモリのアドレスを決定する。
【0125】
図18に示す論理セルと比較すると、選択機能ユニット61、メモリセルプレーン62、及びデコーダ機能ユニット63は、それぞれ、図18におけるプログラマブル機能ユニット51、機能決定用メモリ53、及び制御ユニット52に相当する。従って、図22に示す論理セルにおいても、図18に示す論理セルと同様に、プログラマブル論理回路が動作中に、メモリセルプレーン62の機能決定用データを変更することによって、選択機能ユニット61の機能を変更することができる。
【0126】
図23は、図22に示す論理セルの変更例である。図23に示す論理セル60−1は、選択機能ユニット61−1及びメモリセルプレーン62−1で構成されている。論理セル60−1では、図22に示すデコーダ機能ユニット63の機能が、選択機能ユニット61−1及びメモリセルプレーン62−1に分散されている。
【0127】
即ち、論理セル60−1では、選択機能ユニット61−1を介して、機能決定用データがメモリセルプレーン62−1に供給される。この場合、メモリセルプレーン62−1に対するアドレス入力も、選択機能ユニット61−1を介して入力される。従って、論理セル60−1は、図22に示す論理セル60に比べて簡易な回路構成を有し、さらに実質的に同じダイナミック再プログラマブル機能を有することができる。
【0128】
図24は、本発明に係わるプログラマブル論理回路を構成する論理セルのその他の構成例である。図24に示す論理セル70は、プログラマブル機能ユニット71、メモリセルプレーン72、及びデコーダ機能ユニット73で構成されており、図18に示す論理セルと実質的に同じ構成を有している。プログラマブル機能ユニット71は、図18のプログラマブル機能ユニット51に相当し、論理選択型回路やAND−ORプレーン型回路で構成できる(後に詳細に説明)。メモリセルプレーン72及びデコーダ機能ユニット73は、図22に示すメモリセルプレーン62及びデコーダ機能ユニット63と実質的に同じ機能を有する。従って、論理セル70は、実質的に同じダイナミック再プログラマブル機能を有することができる。
【0129】
図25は、図24に示す論理セルのプログラマブル機能ユニット71の実施例である。図25に示すように、プログラマブル機能ユニット71は、NAND、ORなどの論理ゲート、フィードバック回路、ゲート回路及び選択回路等で構成することができる。図25に示すプログラマブル機能ユニット71では、メモリセルプレート72からの機能決定用データ71−2が選択回路及びゲート回路に供給され、論理機能が決定される。入力信号71−1は、プログラムされた論理機能に従って処理され、出力信号71−3として出力される。
【0130】
図26は、図25に示すプログラマブル機能ユニット71の変更例である。図25と同じ機能を有する要素には同じ参照番号を付している。図26に示すプログラマブル機能ユニット71では、図25に示すプログラマブル機能ユニット71に比べて、出力側にラッチ回路71−4が設けられている。このラッチ回路71−4によって、論理セルが再プログラムされているときに、論理セルの出力値が変化するのを防止できる。
【0131】
また、上記の構成では、機能ユニット部75−1においてフィードバックパスを有効に設定し、ラッチ回路71−4の制御信号としてこのフィードバックパスを制御する信号と同一の信号(適宜反転させる)を用いると、マスタスレーブフリップフロップを構成することができる。
【0132】
図27は、図25に示すプログラマブル機能ユニット71のその他の変更例である。図25と同じ機能を有する要素には同じ参照番号を付している。図27に示すプログラマブル機能ユニット71では、図25に示すプログラマブル機能ユニット71に比べて、機能決定用データ71−2を生成するために、2種類の機能決定用データを記憶できるメモリユニット71−6が設けられている。
【0133】
2種類の機能決定用データは、予めメモリユニット71−6に書き込まれている。従って、この2種類の機能決定用データは瞬時に切り換えることができる。よって、この2種類の機能決定用データを適宜切り換えることによって、物理的な論理回路規模よりも大きい論理回路を実現することができる。この場合、使用していないメモリの機能決定用データは自由に書き換えることができる。従って、さらに、実質的な回路規模を増加できる。
【0134】
次に、本発明に係わるプログラマブル論理回路を構成するI/Oモジュールについて説明する。
【0135】
図28は、本発明に係わるプログラマブル論理回路を構成するI/Oモジュールの構成例である。(A)は、基本構成を示し、(B)は、メモリユニットを有する構成例を示している。図28(A)に示すI/Oモジュール80は、外部回路と通信するための端子81、信号波形整形及びバッファ回路82、論理セルや論理セル間バスに接続される信号線群83、信号線群を自由に接続するI/O接続ユニット84、および、制御/機能決定入力信号85で構成される。
【0136】
制御/機能決定入力信号85によって、プログラマブル論理回路が動作中においても、I/O接続ユニット84の接続構造や、入出力信号の方向が変更できる。また、出力信号のみ制御することも可能である。この場合、本I/Oモジュールにおいて、さらにフリップフロップ等の他の回路を設けることもできる。
【0137】
図28(B)に示すI/Oモジュールは、I/O接続ユニット84、信号波形整形及びバッファ回路82のためのメモリユニット86−1、86−2を有している。メモリユニット86−1、86−2の各々は、図27に示した論理セルのメモリユニット71−6と同様に、2種類の機能決定用データを有している。従って、この2種類の機能決定用データは瞬時に切り換えることができる。よって、この2種類の機能決定用データを適宜切り換えることによって、物理的な論理回路規模よりも大きい論理回路を実現することができる。
【0138】
次に、本発明に係わるプログラマブル論理回路を構成するスイッチボックスについて説明する。
【0139】
図29は、本発明に係わるプログラマブル論理回路を構成するスイッチボックスの構成例である。スイッチボックスは、各論理セルの間に配置され、各論理セルを自由に接続するための回路である。図29に示すスイッチボックス90は、スイッチボックス本体91、信号線群92、及び接続構造決定データサーバ93で構成される。
【0140】
図30は、スイッチボックス本体91の構成例を示す。(A)は、大要構成例を示し、(B)は、メモリユニットを含むスイッチ部の構成例を示す。図30(A)において、スイッチボックス本体91では、各信号線群92は、複数のスイッチによって接続可能なように構成されている。これらのスイッチは、トランスミッションゲートやパストランジスタを用いて構成することができる。また、これらのスイッチは、接続構造決定データサーバ93によって制御される。従って、接続構造決定データサーバ93によって、プログラマブル論理回路が動作中においても、スイッチボックス本体91における接続構造を自由に変更することができる。
【0141】
図30(B)に示すスイッチ部は、メモリユニット95を有している。メモリユニット95は、図27に示した論理セルのメモリユニット71−6と同様に、2種類の機能決定用データA,Bを有している。従って、この2種類の機能決定用データは瞬時に切り換えることができる。よって、この2種類の機能決定用データを適宜切り換えることによって、物理的な論理回路規模よりも大きい論理回路を実現することができる。
【0142】
次に、本発明に係わるプログラマブル論理回路の構成例について説明する。
【0143】
図31は、本発明に係わるプログラマブル論理回路の第1構成例である。本プログラマブル論理回路110(図では、プログラマブルデバイス“Programable Device”と記載している)は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)とを有している。これらの構成要素の各々は、ダイナミックに再プログラマブルな回路である。
【0144】
この論理セル50は、プログラマブル機能ユニット51、制御ユニット52、及び機能決定用メモリ53を含んでいる。機能決定用メモリ53は、一般的なメモリだけでなく、部分的に回路セルの状態を設定できる前述した本発明に係わるシフトレジスタでも構成できる。制御ユニット52によって、プログラマブル論理回路の動作中に論理セル50の状態を再設定することができる。図31における論理セル50のコンフィグ入力C IOからの信号は、制御ユニット52を介して機能決定用メモリ53に入力される(図18参照)。
【0145】
また、スイッチボックス90は、トランスミッションゲートやパストランジスタを用いて構成することができる。
【0146】
図31において、各論理セル50のコンフィグ入力C IOは、各論理セル50の間に配列された配線111に接続されている。従って、プログラマブル論理回路の動作中においても、任意の論理セルの出力信号、或いは自分自身の論理セルの出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、任意の論理セルからの指令によって、所望の論理セルのプログラマブル機能ユニットの論理機能を随時変更することができる。
【0147】
さらに、論理セル50からの出力信号でスイッチボックス90を制御することによって、論理セル同志の接続状態も変更可能である。以上示したように、論理セル、スイッチボックス等のダイナミックな再プログラミングによって、ゲート数で決定される構成可能回路数よりも多くの回路を実現することができる。
【0148】
さらに、このような構造を持つプログラマブル論理回路を複数用いたハードウェアエミュレータを構成すると、従来のハードウェアエミュレータに比べ、少ないプログラマブル論理回路で、大きな論理回路のエミュレーションを行うことができる。また、必要とするプログラマブル論理回路の数を激減させることができるため、エミュレーションのコストを大幅に削減することができる。
【0149】
図32は、本発明に係わるプログラマブル論理回路の第2構成例である。本プログラマブル論理回路120は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、機能決定用データサーバ122とを有している。
【0150】
各論理セル50のコンフィグ入力C IOは、各論理セル50の間に配列された配線121に接続されている。さらに、機能決定用データサーバ122のコンフィグ入力C IOも、配線121に接続されている。
【0151】
従って、プログラマブル論理回路の動作中においても、任意の論理セルの出力信号、自分自身の論理セルの出力信号、或いは機能決定用データサーバ122の出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、任意の論理セル及び機能決定用データサーバ122からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0152】
さらに、機能決定用データを機能決定用データサーバ122から、複数の論理セルに一度に供給することによって、プログラマブル論理回路の大幅な論理機能の更新もできる。
【0153】
図33は、本発明に係わるプログラマブル論理回路の第3構成例である。本プログラマブル論理回路130は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、機能決定用データサーバ133と、ローダ134と、複数の選択回路135とを有している。
【0154】
機能決定用データサーバ133とローダ134は、一部の論理セルの機能決定用メモリにエクストラデータを供給する。従って、図32の第2構成例と同様に、各論理セルは、個々にコンフィグデータ及びローダを有する必要がない。
【0155】
このプログラマブル論理回路の第3構成例では、機能決定用データがロードされた後、選択回路135によって一部の論理セルの機能決定用メモリに、データサーバ133からエクストラデータを選択的にロードすることができる。従って、図33に示すプログラマブル論理回路では、プログラマブル論理回路の動作中に、所望の論理セルのプログラマブル機能ユニットの機能を選択的に変更することができる。これにより、ゲート数で決定される構成可能回路数よりも多くの回路を実現することができる。
【0156】
図34は、本発明に係わるプログラマブル論理回路の第4構成例である。本プログラマブル論理回路140は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、機能決定用データサーバ142と、機能決定用データ転送用専用線143とを有している。機能決定用データサーバ142のコンフィグ入力C IOは、各論理セル50のコンフィグ入力C IOに専用線143を介して直接接続されている。
【0157】
従って、プログラマブル論理回路の動作中においても、機能決定用データサーバ142から機能決定用データを、所望の論理セルに供給することができる。よって、自分自身の論理セル及び機能決定用データサーバ142からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0158】
さらに、機能決定用データを機能決定用データサーバ142から、複数の論理セルに一度に供給することによって、プログラマブル論理回路の大幅な論理機能の更新もできる。
【0159】
図35は、本発明に係わるプログラマブル論理回路の第5構成例である。本プログラマブル論理回路150は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、機能決定用データ転送用専用線153とを有している。図34に示した第4構成例と異なり、機能決定用データサーバ152は、プログラマブル論理回路の外部に設けられており、インタフェースを介して専用線153に接続できる。外部に設けられた機能決定用データサーバ152のコンフィグ入力C IOは、各論理セル50のコンフィグ入力C IOに専用線153を介して直接接続されている。
【0160】
従って、プログラマブル論理回路の動作中においても、機能決定用データサーバ152から機能決定用データを、所望の論理セルに供給することができる。よって、自分自身の論理セル及び機能決定用データサーバ152からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0161】
さらに、機能決定用データを機能決定用データサーバ152から、複数の論理セルに一度に供給することによって、プログラマブル論理回路の大幅な論理機能の更新もできる。
【0162】
本第5構成例では、機能決定用データサーバ152が、プログラマブル論理回路の外部に設けられているため、プログラマブル論理回路が小型化でき、かつ全体の構成設計の自由度を向上できる。
【0163】
図36は、本発明に係わるプログラマブル論理回路の第6構成例である。本プログラマブル論理回路160は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、複数の機能決定用データサーバ162とを有している。各機能決定用データサーバ162は、各論理セル50毎に設けられており、各論理セル50のC IO及び各論理セル50の間に配列された配線161に接続されている。
【0164】
従って、プログラマブル論理回路の動作中においても、任意の論理セルの出力信号、自分自身の論理セルの出力信号、自分の論理セルに接続されている機能決定用データサーバ162の出力信号、或いは他の論理セルに接続されている機能決定用データサーバ162の出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、任意の論理セル及び機能決定用データサーバ162からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0165】
図36に示す第6構成例では、図35に示した第5実施例と異なり、比較的太い専用線を設ける必要がない。従って、信号線の設計の自由度が向上できる。
【0166】
図37は、本発明に係わるプログラマブル論理回路の第7構成例である。本プログラマブル論理回路170は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、複数の機能決定用データサーバ172と、複数のローダ173とを有している。各機能決定用データサーバ172及びローダ173は、各論理セル50毎に設けられており、各論理セル50のC IOに接続されている。また、各論理セル50のC IOは、各論理セル50の間に配列された配線171にも接続されている。
【0167】
従って、プログラマブル論理回路の動作中においても、任意の論理セルの出力信号、自分自身の論理セルの出力信号、自分の論理セルに接続されている機能決定用データサーバ172の出力信号、或いは他の論理セルに接続されている機能決定用データサーバ172の出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、任意の論理セル及び機能決定用データサーバ172からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0168】
図37に示す第7構成例では、図35に示した第5実施例と異なり、比較的太い専用線を設ける必要がない。従って、信号線の設計の自由度が向上できる。
【0169】
図38は、本発明に係わるプログラマブル論理回路の第8構成例である。本プログラマブル論理回路180は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、複数の機能決定用データサーバ182と、制御ユニット183と、専用制御線184とを有している。
【0170】
各機能決定用データサーバ182は、各論理セル50毎に設けられており、各論理セル50のC IOに接続されている。また、制御ユニット183は、それぞれの機能決定用データサーバ182に専用制御線184を介して接続されており、それぞれの機能決定用データサーバ182を集中的に制御できる。また、制御ユニット183は、図34に示した機能決定用データサーバ142を含むこともできる。
【0171】
従って、プログラマブル論理回路の動作中においても、自分の論理セルに接続された機能決定用データサーバ182の出力信号、或いは制御ユニット183からの出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、自分自身の論理セル、機能決定用データサーバ182、及び制御ユニット183からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0172】
図39は、本発明に係わるプログラマブル論理回路の第9構成例である。本プログラマブル論理回路190は、図18に示した複数の論理セル50と、各論理セルを接続する図29に示したスイッチボックス90と、複数のI/Oモジュール80(図示せず)と、専用制御線194とを有している。図38に示した第8構成例と異なり、制御ユニット193は、プログラマブル論理回路の外部に設けられており、インタフェースを介して専用制御線194に接続できる。
【0173】
各機能決定用データサーバ192は、各論理セル50毎に設けられており、各論理セル50のC IOに接続されている。また、外部に設けられている制御ユニット193は、それぞれの機能決定用データサーバ192に専用制御線194を介して接続されており、それぞれの機能決定用データサーバ192を集中的に制御できる。また、制御ユニット193は、図34に示した機能決定用データサーバ142を含むこともできる。
【0174】
従って、プログラマブル論理回路の動作中においても、自分の論理セルに接続された機能決定用データサーバ192の出力信号、或いは制御ユニット193からの出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、自分自身の論理セル、機能決定用データサーバ192、及び制御ユニット193からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0175】
図40は、本発明に係わるプログラマブル論理回路の第10構成例である。本プログラマブル論理回路200は、図38に示した第8構成例と実質的に同じ構成を有している。しかし、図40に示すプログラマブル論理回路200では、図38に示す第8構成例と異なり、各論理セル毎に設けられている機能決定用データサーバ202は、各論理セル50のC IOだけでなく、各論理セル50の間に配置されている配線201にも接続されている。
【0176】
従って、この第10構成例では、プログラマブル論理回路の動作中においても、任意の論理セルの出力信号、自分自身の論理セルの出力信号、自分の論理セルに接続された機能決定用データサーバ202の出力信号、他の論理セルに接続された機能決定用データサーバ202の出力信号、或いは制御ユニット203からの出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、任意の論理セル(自分の論理セルを含む)、機能決定用データサーバ202、及び制御ユニット203からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0177】
図41は、本発明に係わるプログラマブル論理回路の第11構成例である。本プログラマブル論理回路210は、図39に示した第9構成例と実質的に同じ構成を有している。しかし、図41に示すプログラマブル論理回路210では、図39に示す第9構成例と異なり、各論理セル毎に設けられている機能決定用データサーバ212は、各論理セル50のC IOだけでなく、各論理セル50の間に配置されている配線211にも接続されている。
【0178】
従って、この第11構成例では、プログラマブル論理回路の動作中においても、任意の論理セルの出力信号、自分自身の論理セルの出力信号、自分の論理セルに接続された機能決定用データサーバ212の出力信号、他の論理セルに接続された機能決定用データサーバ212の出力信号、或いは外部に設けられている制御ユニット213からの出力信号を、所望の論理セルに機能決定用データとして供給することができる。よって、任意の論理セル(自分の論理セルを含む)、機能決定用データサーバ212、及び外部に設けられている制御ユニット213からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能を随時変更することができる。
【0179】
図42は、本発明に係わるプログラマブル論理回路の第12構成例である。本プログラマブル論理回路220は、図38に示した第8構成例と実質的に類似の構成を有している。しかし、図42に示すプログラマブル論理回路220では、図38に示す第8構成例と異なり、各スイッチボックス90に機能決定用データサーバ225がそれぞれ接続されている。さらに、制御ユニット223は、各論理セル50に設けられた機能決定用データサーバ222及び各スイッチボックス90に設けられた機能決定用データサーバ225に専用制御線224を介して接続されており、それぞれの機能決定用データサーバ222及び225を集中的に制御できる。
【0180】
従って、この第12構成例では、プログラマブル論理回路の動作中においても、機能決定用データサーバ222の出力信号を、対応する論理セル50に機能決定用データとして供給でき、機能決定用データサーバ225の出力信号を、対応するスイッチボックス90に機能決定用データとして供給でき、かつ制御ユニット223からの出力信号を、所望の論理セル50及び所望のスイッチボックス90に機能決定用データとして供給することができる。よって、自分自身の論理セル、機能決定用データサーバ222、225、及び制御ユニット223からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能、及び所望のスイッチボックスの接続構成を随時変更することができる。
【0181】
図43は、本発明に係わるプログラマブル論理回路の第13構成例である。本プログラマブル論理回路230は、図39に示した第9構成例と実質的に類似の構成を有している。しかし、図43に示すプログラマブル論理回路230では、図39に示す第9構成例と異なり、各スイッチボックス90に機能決定用データサーバ235がそれぞれ接続されている。さらに、制御ユニット233は、各論理セル50に設けられた機能決定用データサーバ232及び各スイッチボックス90に設けられた機能決定用データサーバ235に専用制御線234を介して接続されており、それぞれの機能決定用データサーバ232及び235を集中的に制御できる。
【0182】
従って、この第13構成例では、プログラマブル論理回路の動作中においても、機能決定用データサーバ232の出力信号を、対応する論理セル50に機能決定用データとして供給でき、機能決定用データサーバ235の出力信号を、対応するスイッチボックス90に機能決定用データとして供給でき、かつ外部に設けられた制御ユニット233からの出力信号を、所望の論理セル50及び所望のスイッチボックス90に機能決定用データとして供給することができる。よって、自分自身の論理セル、機能決定用データサーバ232、235、及び外部に設けられた制御ユニット233からの指令によって、所望の論理セルのプログラマブル機能ユニットの機能、及び所望のスイッチボックスの接続構成を随時変更することができる。
【0183】
次に、複数のプログラマブル論理回路で構成される本発明に係わるプログラマブル論理回路システムの構成例について説明する。
【0184】
図44は、本発明に係わるプログラマブル論理回路システムの第1構成例である。本プログラマブル論理回路システム110は、複数のダイナミック再プログラマブル論理回路300(図では、プログラマブル論理デバイス“Program device”と記載している)と、各プログラマブル論理回路を接続するスイッチ装置301と、複数のI/Oモジュール302(図示せず)とを有している。
【0185】
ダイナミック再プログラマブル論理回路300としては、図31から図43に示したプログラマブル論理回路のいづれかを使用することができる。スイッチ装置301は、図29に示したスイッチボックス90と実質的の同じ構成を有することができる。また、I/Oモジュール302も、図28に示したI/Oモジュール80と実質的に同じ構成を有することができる。これらの構成要素の各々は、ダイナミックに再プログラマブルなデバイスである。
【0186】
従って、例えば、プログラマブル論理回路システムの動作中にプログラマブル論理回路300の論理機能を再設定することができる。図44におけるプログラマブル論理回路300のコンフィグ入力C IOからの信号は、制御ユニット52を介して機能決定用メモリ53に入力される(図18参照)。
【0187】
図44において、各プログラマブル論理回路300のコンフィグ入力C IOは、各プログラマブル論理回路300の間に配列された論理回路間配線311に接続されている。従って、プログラマブル論理回路システムの動作中においても、任意のプログラマブル論理回路の出力信号、或いは自分自身のプログラマブル論理回路の出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、任意のプログラマブル論理回路からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0188】
さらに、プログラマブル論理回路300からの出力信号でスイッチ装置301を制御することによって、プログラマブル論理回路同志の接続状態も変更可能である。以上示したように、プログラマブル論理回路、スイッチ装置等のダイナミックな再プログラミングによって、ゲート数で決定される構成可能回路数よりも多くの回路を実現することができる。
【0189】
さらに、このような構造を持つプログラマブル論理回路システムを複数用いたハードウェアエミュレータを構成すると、従来のハードウェアエミュレータに比べ、少ないプログラマブル論理回路システムで、大きな論理回路のエミュレーションを行うことができる。また、必要とするプログラマブル論理回路システムの数を激減させることができるため、エミュレーション装置のコストを大幅に削減することができる。
【0190】
図45は、本発明に係わるプログラマブル論理回路システムの第2構成例である。本プログラマブル論理回路システム320は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、機能決定用データサーバ322とを有している。
【0191】
各プログラマブル論理回路300のコンフィグ入力C IOは、各プログラマブル論理回路300の間に配列された配線321に接続されている。さらに、機能決定用データサーバ322のコンフィグ入力C IOも、配線321に接続されている。
【0192】
従って、プログラマブル論理回路システムの動作中においても、任意のプログラマブル論理回路の出力信号、自分自身のプログラマブル論理回路の出力信号、或いは機能決定用データサーバ322の出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、任意のプログラマブル論理回路及び機能決定用データサーバ322からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0193】
さらに、機能決定用データを機能決定用データサーバ322から、複数のプログラマブル論理回路に一度に供給することによって、プログラマブル論理回路システムの大幅な論理機能の更新もできる。
【0194】
図46は、本発明に係わるプログラマブル論理回路システムの第3構成例である。本プログラマブル論理回路システム330は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、機能決定用データサーバ333と、ローダ334と、複数の選択回路335とを有している。
【0195】
機能決定用データサーバ333とローダ334は、一部のプログラマブル論理回路の機能決定用メモリにエクストラデータを供給する。従って、図45の第2構成例と同様に、各プログラマブル論理回路は、個々にコンフィグデータ及びローダを有する必要がない。
【0196】
このプログラマブル論理回路システムの第3構成例では、機能決定用データがロードされた後、選択回路335によって一部のプログラマブル論理回路の機能決定用メモリに、データサーバ333からエクストラデータを選択的にロードすることができる。従って、図46に示すプログラマブル論理回路システムでは、プログラマブル論理回路システムの動作中に、所望のプログラマブル論理回路の一部或いは全ての論理機能を選択的に変更することができる。これにより、ゲート数で決定される構成可能回路数よりも多くの回路を実現することができる。
【0197】
図47は、本発明に係わるプログラマブル論理回路システムの第4構成例である。本プログラマブル論理回路システム340は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、機能決定用データサーバ342と、機能決定用データ転送用専用線343とを有している。機能決定用データサーバ342は、各プログラマブル論理回路300のコンフィグ入力C IOに専用線343を介して直接接続されている。
【0198】
従って、プログラマブル論理回路システムの動作中においても、機能決定用データサーバ342から機能決定用データを、所望のプログラマブル論理回路に供給することができる。よって、自分自身のプログラマブル論理回路及び機能決定用データサーバ342からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0199】
さらに、機能決定用データを機能決定用データサーバ342から、複数のプログラマブル論理回路に一度に供給することによって、プログラマブル論理回路システムの大幅な論理機能の更新もできる。
【0200】
図48は、本発明に係わるプログラマブル論理回路システムの第5構成例である。本プログラマブル論理回路システム350は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、機能決定用データ転送用専用線353とを有している。図47に示した第4構成例と異なり、機能決定用データサーバ352は、プログラマブル論理回路システムの外部に設けられており、インタフェースを介して専用線353に接続できる。さらに、外部に設けられた機能決定用データサーバ352は、各プログラマブル論理回路300のコンフィグ入力C IOに専用線343を介して直接接続されている。
【0201】
従って、プログラマブル論理回路システムの動作中においても、機能決定用データサーバ352から機能決定用データを、所望のプログラマブル論理回路に供給することができる。この時、自分自身のプログラマブル論理回路及び機能決定用データサーバ352からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0202】
さらに、機能決定用データを機能決定用データサーバ352から、複数のプログラマブル論理回路に一度に供給することによって、プログラマブル論理回路システムの大幅な論理機能の更新もできる。
【0203】
本第5構成例では、機能決定用データサーバ352が、プログラマブル論理回路システムの外部に設けられているため、プログラマブル論理回路システムが小型化でき、かつ全体の構成設計の自由度を向上できる。
【0204】
図49は、本発明に係わるプログラマブル論理回路システムの第6構成例である。本プログラマブル論理回路システム360は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、複数の機能決定用データサーバ362とを有している。各機能決定用データサーバ362は、各プログラマブル論理回路300毎に設けられており、各プログラマブル論理回路300のC IO及び各プログラマブル論理回路300の間に配列された配線361に接続されている。
【0205】
従って、プログラマブル論理回路システムの動作中においても、任意のプログラマブル論理回路の出力信号、自分自身のプログラマブル論理回路の出力信号、自分のプログラマブル論理回路に接続されている機能決定用データサーバ362の出力信号、或いは他のプログラマブル論理回路に接続されている機能決定用データサーバ362の出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、任意のプログラマブル論理回路及び機能決定用データサーバ362からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0206】
図49に示す第6構成例では、図48に示した第5実施例と異なり、比較的太い専用線を設ける必要がない。従って、信号線の設計の自由度が向上できる。
【0207】
図50は、本発明に係わるプログラマブル論理回路システムの第7構成例である。本プログラマブル論理回路システム370は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、複数の機能決定用データサーバ372と、複数のローダ373とを有している。各機能決定用データサーバ372及びローダ373は、各プログラマブル論理回路300毎に設けられており、各プログラマブル論理回路300のC IOに接続されている。また、各プログラマブル論理回路300のC IOは、各プログラマブル論理回路300の間に配列された配線371にも接続されている。
【0208】
従って、プログラマブル論理回路システムの動作中においても、任意のプログラマブル論理回路の出力信号、自分自身のプログラマブル論理回路の出力信号、自分のプログラマブル論理回路に接続されている機能決定用データサーバ372の出力信号、或いは他のプログラマブル論理回路に接続されている機能決定用データサーバ372の出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、任意のプログラマブル論理回路及び機能決定用データサーバ372からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0209】
図50に示す第7構成例では、図48に示した第5実施例と異なり、比較的太い専用線を設ける必要がない。従って、信号線の設計の自由度が向上できる。
【0210】
図51は、本発明に係わるプログラマブル論理回路システムの第8構成例である。本プログラマブル論理回路システム380は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、複数の機能決定用データサーバ382と、制御ユニット383と、専用制御線384とを有している。
【0211】
各機能決定用データサーバ382は、各プログラマブル論理回路300毎に設けられており、各プログラマブル論理回路300のC IOに接続されている。また、制御ユニット383は、それぞれの機能決定用データサーバ382に専用制御線384を介して接続されており、それぞれの機能決定用データサーバ382を集中的に制御できる。また、制御ユニット383は、図47に示した機能決定用データサーバ342を含むこともできる。
【0212】
従って、プログラマブル論理回路システムの動作中においても、自分のプログラマブル論理回路に接続された機能決定用データサーバ382の出力信号、或いは制御ユニット383からの出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、自分自身のプログラマブル論理回路、機能決定用データサーバ382、及び制御ユニット383からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0213】
図52は、本発明に係わるプログラマブル論理回路システムの第9構成例である。本プログラマブル論理回路システム390は、複数のプログラマブル論理回路300と、各プログラマブル論理回路を接続する複数のスイッチ装置301と、複数のI/Oモジュール302(図示せず)と、専用制御線394とを有している。図51に示した第8構成例と異なり、制御ユニット393は、プログラマブル論理回路システムの外部に設けられており、インタフェースを介して専用制御線394に接続できる。
【0214】
各機能決定用データサーバ392は、各プログラマブル論理回路300毎に設けられており、各プログラマブル論理回路300のC IOに接続されている。また、外部に設けられている制御ユニット393は、それぞれの機能決定用データサーバ392に専用制御線394を介して接続されており、それぞれの機能決定用データサーバ392を集中的に制御できる。また、制御ユニット393は、図47に示した機能決定用データサーバ342を含むこともできる。
【0215】
従って、プログラマブル論理回路システムの動作中においても、自分のプログラマブル論理回路に接続された機能決定用データサーバ392の出力信号、或いは制御ユニット393からの出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、自分自身のプログラマブル論理回路、機能決定用データサーバ392、及び制御ユニット393からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0216】
図53は、本発明に係わるプログラマブル論理回路システムの第10構成例である。本プログラマブル論理回路システム400は、図51に示した第8構成例と実質的に同じ構成を有している。しかし、図53に示すプログラマブル論理回路システム400では、図51に示す第8構成例と異なり、各プログラマブル論理回路毎に設けられている機能決定用データサーバ402は、各プログラマブル論理回路300のC IOにだけでなく、各プログラマブル論理回路300の間に配置されている配線401にも接続されている。
【0217】
従って、この第10構成例では、プログラマブル論理回路システムの動作中においても、任意のプログラマブル論理回路の出力信号、自分自身のプログラマブル論理回路の出力信号、自分のプログラマブル論理回路に接続された機能決定用データサーバ402の出力信号、他のプログラマブル論理回路に接続された機能決定用データサーバ402の出力信号、或いは制御ユニット403からの出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、任意のプログラマブル論理回路(自分のプログラマブル論理回路を含む)、機能決定用データサーバ402、及び制御ユニット403からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0218】
図54は、本発明に係わるプログラマブル論理回路システムの第11構成例である。本プログラマブル論理回路システム410は、図52に示した第9構成例と実質的に同じ構成を有している。しかし、図54に示すプログラマブル論理回路システム410では、図52に示す第9構成例と異なり、各プログラマブル論理回路毎に設けられている機能決定用データサーバ412は、各プログラマブル論理回路300のC IOにだけでなく、各プログラマブル論理回路300の間に配置されている配線411にも接続されている。
【0219】
従って、この第11構成例では、プログラマブル論理回路システムの動作中においても、任意のプログラマブル論理回路の出力信号、自分自身のプログラマブル論理回路の出力信号、自分のプログラマブル論理回路に接続された機能決定用データサーバ412の出力信号、他のプログラマブル論理回路に接続された機能決定用データサーバ412の出力信号、或いは外部に設けられている制御ユニット413からの出力信号を、所望のプログラマブル論理回路に機能決定用データとして供給することができる。よって、任意のプログラマブル論理回路(自分のプログラマブル論理回路を含む)、機能決定用データサーバ412、及び外部に設けられている制御ユニット413からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能を随時変更することができる。
【0220】
図55は、本発明に係わるプログラマブル論理回路システムの第12構成例である。本プログラマブル論理回路システム420は、図51に示した第8構成例と実質的に類似の構成を有している。しかし、図55に示すプログラマブル論理回路システム420では、図51に示す第8構成例と異なり、各スイッチ装置301に機能決定用データサーバ425がそれぞれ接続されている。さらに、制御ユニット423は、各プログラマブル論理回路300に設けられた機能決定用データサーバ422及び各スイッチ装置301に設けられた機能決定用データサーバ425に専用制御線424を介して接続されており、それぞれの機能決定用データサーバ422及び425を集中的に制御できる。
【0221】
従って、この第12構成例では、プログラマブル論理回路システムの動作中においても、機能決定用データサーバ422の出力信号を、対応するプログラマブル論理回路300に機能決定用データとして供給でき、機能決定用データサーバ425の出力信号を、対応するスイッチ装置301に機能決定用データとして供給でき、かつ制御ユニット423からの出力信号を、所望のプログラマブル論理回路300及び所望のスイッチ装置301に機能決定用データとして供給することができる。よって、自分自身のプログラマブル論理回路、機能決定用データサーバ422、425、及び制御ユニット423からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能、及び所望のスイッチ装置の接続構成を随時変更することができる。
【0222】
図56は、本発明に係わるプログラマブル論理回路システムの第13構成例である。本プログラマブル論理回路システム430は、図52に示した第9構成例と実質的に類似の構成を有している。しかし、図56に示すプログラマブル論理回路システム430では、図52に示す第9構成例と異なり、各スイッチ装置301に機能決定用データサーバ435がそれぞれ接続されている。さらに、制御ユニット433は、各プログラマブル論理回路300に設けられた機能決定用データサーバ432及び各スイッチ装置301に設けられた機能決定用データサーバ435に専用制御線434を介して接続されており、それぞれの機能決定用データサーバ432及び435を集中的に制御できる。
【0223】
従って、この第13構成例では、プログラマブル論理回路システムの動作中においても、機能決定用データサーバ432の出力信号を、対応するプログラマブル論理回路300に機能決定用データとして供給でき、機能決定用データサーバ435の出力信号を、対応するスイッチ装置301に機能決定用データとして供給でき、かつ外部に設けられた制御ユニット433からの出力信号を、所望のプログラマブル論理回路300及び所望のスイッチ装置301に機能決定用データとして供給することができる。よって、自分自身のプログラマブル論理回路、機能決定用データサーバ432、435、及び外部に設けられた制御ユニット433からの指令によって、所望のプログラマブル論理回路の一部或いは全ての論理機能、及び所望のスイッチ装置の接続構成を随時変更することができる。
【0224】
なお、図31〜図56に示すプログラマブル論理回路及びプログラマブル論理回路システムでは、各プログラマブル論理回路の機能決定用メモリのために、上述した本発明に係わるシフトレジスタだけでなく通常のセット・リセット付きシフトレジスタを使用することもできる。
【0225】
図57は、図31〜図56に示したプログラマブル論理回路及びプログラマブル論理回路システムで使用する機能決定用データサーバの第1構成例である。図57に示す機能決定用データサーバ500は、計算機として実現されている。従って、機能決定用データを容易に生成し、所望の時刻に送出することができる。
【0226】
図58は、図31〜図56に示したプログラマブル論理回路及びプログラマブル論理回路システムで使用する機能決定用データサーバの第2構成例である。図58で示す機能決定用データサーバ510は、複数の機能決定用データを記憶するためのメモリユニット511と、メモリユニット511の複数の機能決定用データの1つを選択する選択機能ユニット512とで構成されている。従って、機能決定用データサーバ510を簡易に構成することができる。
【0227】
図59は、図31〜図56に示したプログラマブル論理回路及びプログラマブル論理回路システムで使用する機能決定用データサーバの第3構成例である。図59で示す機能決定用データサーバ520は、複数の機能決定用データを記憶するためのメモリユニット521と、メモリユニット521の複数の機能決定用データの1つを選択する選択機能ユニット522とで構成されている。しかし、図58に示す機能決定用データサーバ510とは異なって、サーバデータセットアップ信号によって、外部から選択機能ユニット522を介して、機能決定用データ(サーバデータ)をメモリユニット521に選択的に書き込むことができる。
【0228】
図60は、図59で示した機能決定用データサーバの詳細な構成例である。図60で示す機能決定用データサーバ530は、複数の機能決定用データを記憶するためのメモリユニット531と、読出し選択ユニット532−1と、メモリユニット531のいづれかのメモリにデータを書き込むための書き込み選択ユニット532−2とで構成されている。
【0229】
読出し選択ユニット532−1は、図58で示した選択機能ユニット512と実質的に同じ機能を有し、サーバデータ選択信号によってメモリユニット531の複数の機能決定用データの1つを選択して外部に出力する。書き込み選択ユニット532−2は、サーバデータセットアップ信号によって、メモリユニット531の1つのメモリを選択し、機能決定用データ入力(サーバデータ入力)を選択したメモリに格納する。
【0230】
上記の機能決定用データサーバ530の構成では、図60に示すように、機能決定用データが1つのメモリから読み出されている間に、新たな機能決定用データを別のメモリに書き込むことができる。従って、異なる機能決定用データを、ダイナミック再プログラマブル論理回路やダイナミック再プログラマブル論理回路システムに随時効率よく供給することができる。
【0231】
上述したシフトレジスタやプログラマブル論理回路は、ゲートアレイ上にも容易に構成可能である。また、高速動作も可能であるため、プログラマブル論理回路だけでなく、シフトレジスタを用いた一般的な順序回路にも用いることができる。また、動作中に、論理回路を再構成できるため、フォールトトレラントシステムや、マルチプロセッサシステムなど、セル構造オートマトンでモデル化できる全ての装置に応用できる。
【0232】
以上、本発明の実施例により説明したが、本発明はこれらの実施例に限定されるものではなく、本発明の範囲内で改良及び変形が可能であることは言うまでもない。
【0233】
【発明の効果】
上述したように、本発明によれば以下に示す効果を有する。
【0234】
請求項1又は2記載のシフトレジスタにおいては、メイン信号パスにおける伝搬時間は、フィードバック回路における伝搬時間よりも短くなる。従って、チェーンラッチ構成のシフトレジスタの動作タイミングを安定に実現することができる。
【0235】
チェーンラッチ構成のシフトレジスタを使用することによって、シフトレジスタを構成するゲート数やチップ面積も、従来の半分以下に低減できる。さらに、非常の多くの段数のシフトレジスタをメモリとして使用するプログラマブル論理回路においても、メモリのためのチップ面積を低減でき、チップ面積に対するプログラム可能な論理回路ゲート数を増加できる。
【0236】
請求項3又は4記載のシフトレジスタにおいては、Pチャネルトランジスタ側の駆動能力を、Nチャネルトランジスタ側の駆動能力よりも実質的に大きくすることができる。従って、回路セルにおけるスイッチの出力の立ち上がり時間及び立ち下がり時間を実質的に等しくできる。以上の条件によって、チェーンラッチ構成のシフトレジスタの動作をより安定化及び確実化することができる。
【0237】
請求項5又は6記載のシフトレジスタ及び請求項7乃至10記載のプログラマブル論理回路においては、チェーンラッチ構成のシフトレジスタの一部の回路セルに所定の信号を供給することによって、その回路セルをフリップフロップとして動作させることができる。従って、このシフトレジスタをプログラマブル論理回路の機能決定用メモリに使用した場合、その機能決定用メモリの一部をフリップフロップとして使用でき、論理セルにおいて実現できるフリップフロップの数を増加させることができる。
【0238】
請求項11、12、又は16記載のプログラマブル論理回路、及び請求項17又は18記載のプログラマブル論理回路システムにおいては、プログラマブル論理回路或いはプログラマブル論理回路システムが動作中、他の動作中の部分回路の動作に影響を与えることなく、少なくとも1つの部分回路において実現された回路機能を変更することができる。この回路機能の変更によって、論理機能、接続機能、及びデータに入出力機能を変更することができる。
【0239】
これにより、ゲート数で決定される構成可能回路数よりも多くの回路を実現することができる。
【0240】
請求項13記載のプログラマブル論理回路、及び請求項19記載のプログラマブル論理回路システムにおいては、機能決定用データを供給するための機能決定用データサーバを含んでおり、該機能決定用データは、専用線及びプログラマブル配線のいづれかを介して部分回路に供給できる。従って、機能決定用データを効率良く部分回路に供給でき、プログラマブル論理回路及びプログラマブル論理回路システムの回路構成を簡易化できる。
【0241】
請求項14記載のプログラマブル論理回路、及び請求項20記載のプログラマブル論理回路システムにおいては、部分回路は、複数の機能決定用データを格納する記憶回路を有している。従って、機能決定用データを切り換えることによって、部分回路において実現される回路機能を瞬時に変更することができる。
【図面の簡単な説明】
【図1】本発明に係わるシフトレジスタの実施例の回路構成図。
【図2】図1に示すシフトレジスタのクロック供給回路の回路構成図。
【図3】図1に示す本発明に係わるシフトレジスタの実施例の変更例。
【図4】図1に示す本発明に係わるシフトレジスタの実施例の変更例。
【図5】任意の論理状態が設定可能な状態設定回路が設けられたシフトレジスタの構成例を示す図。
【図6】図5に示す状態設定回路の構成例。
【図7】図5に示す状態設定回路の他の構成例。
【図8】本発明に係わるシフトレジスタのルックアップテーブルへの応用例。
【図9】図8に示すデコーダ回路の構成例。
【図10】図8に示すデコーダ回路の他の構成例。
【図11】チェーンラッチの一部をフリップフロップとして使用可能な本発明に係わるシフトレジスタの実施例のモデル図。
【図12】図11に示した本発明に係わるシフトレジスタの実施例の具体的構成図。
【図13】図12に示すクロック制御回路の回路構成図。
【図14】図12に示す本発明に係わるシフトレジスタの実施例の変更例。
【図15】図12に示す本発明に係わるシフトレジスタの実施例の他の変更例。
【図16】本発明に係わるプログラマブル論理回路の論理セルの実施例のブロック構成図。
【図17】図16に示すプログラマブル論理回路の論理セルの変更例。
【図18】本発明に係わるプログラマブル論理回路を構成する論理セルの基本構成のブロック図。
【図19】図18に示した論理セル50の一構成例。
【図20】図18に示した論理セル50のその他の構成例。
【図21】図20に示した論理セル50−2の具体的構成例。
【図22】本発明に係わるプログラマブル論理回路を構成するルックアップテーブル型論理セルの構成例。
【図23】図22に示す論理セルの変更例。
【図24】本発明に係わるプログラマブル論理回路を構成する論理セルのその他の構成例。
【図25】図24に示す論理セルのプログラマブル機能ユニット71の実施例。
【図26】図25に示すプログラマブル機能ユニット71の変更例。
【図27】図25に示すプログラマブル機能ユニット71のその他の変更例。
【図28】本発明に係わるプログラマブル論理回路を構成するI/Oモジュールの構成例。(A)は、基本構成、(B)は、メモリユニットを有する構成例を示す。
【図29】本発明に係わるプログラマブル論理回路を構成するスイッチボックスの構成例。
【図30】スイッチボックス本体91の構成例。(A)は、大要構成例、(B)は、メモリユニットを含むスイッチ部の構成例を示す。
【図31】本発明に係わるプログラマブル論理回路の第1構成例。
【図32】本発明に係わるプログラマブル論理回路の第2構成例。
【図33】本発明に係わるプログラマブル論理回路の第3構成例。
【図34】本発明に係わるプログラマブル論理回路の第4構成例。
【図35】本発明に係わるプログラマブル論理回路の第5構成例。
【図36】本発明に係わるプログラマブル論理回路の第6構成例。
【図37】本発明に係わるプログラマブル論理回路の第7構成例。
【図38】本発明に係わるプログラマブル論理回路の第8構成例。
【図39】本発明に係わるプログラマブル論理回路の第9構成例。
【図40】本発明に係わるプログラマブル論理回路の第10構成例。
【図41】本発明に係わるプログラマブル論理回路の第11構成例。
【図42】本発明に係わるプログラマブル論理回路の第12構成例。
【図43】本発明に係わるプログラマブル論理回路の第13構成例。
【図44】本発明に係わるプログラマブル論理回路システムの第1構成例。
【図45】本発明に係わるプログラマブル論理回路システムの第2構成例。
【図46】本発明に係わるプログラマブル論理回路システムの第3構成例。
【図47】本発明に係わるプログラマブル論理回路システムの第4構成例。
【図48】本発明に係わるプログラマブル論理回路システムの第5構成例。
【図49】本発明に係わるプログラマブル論理回路システムの第6構成例。
【図50】本発明に係わるプログラマブル論理回路システムの第7構成例。
【図51】本発明に係わるプログラマブル論理回路システムの第8構成例。
【図52】本発明に係わるプログラマブル論理回路システムの第9構成例。
【図53】本発明に係わるプログラマブル論理回路システムの第10構成例。
【図54】本発明に係わるプログラマブル論理回路システムの第11構成例。
【図55】本発明に係わるプログラマブル論理回路システムの第12構成例。
【図56】本発明に係わるプログラマブル論理回路システムの第13構成例。
【図57】図31〜図56に示したプログラマブル論理回路及びプログラマブル論理回路システムで使用する機能決定用データサーバの第1構成例。
【図58】図31〜図56に示したプログラマブル論理回路及びプログラマブル論理回路システムで使用する機能決定用データサーバの第2構成例。
【図59】図31〜図56に示したプログラマブル論理回路及びプログラマブル論理回路システムで使用する機能決定用データサーバの第3構成例。
【図60】図59で示した機能決定用データサーバの詳細な構成例。
【図61】フィールドプログラマブルゲートアレイ(FPGA)の概略的構成図。
【図62】典型的なCMOS型Dフリップフロップの回路構成図。
【図63】従来のチェーンラッチ構成のシフトレジスタの回路構成図。
【図64】従来のチェーンラッチ構成のシフトレジスタの動作を説明する図。
【符号の説明】
1a〜1f、2a〜2f トランスミッションゲート
3a〜3f、4a〜4f Pチャネルトランジスタ
5a〜5f、6a〜6f インバータ
7、8、9、10 インバータ
11a〜11f、12a〜12f NANDゲート
13a〜13f、14a〜14f NORゲート
15a、15b、15c 状態設定回路
16a〜16c、18a〜18c NANDゲート
20a〜20c インバータ
22a〜22c、24a〜24c NORゲート
26a〜26c インバータ
28 RAM
30 デコーダ回路
40 トランスミッションゲート
42 インバータ
50,50−1,50−2,50−3 論理セル
51 プログラマブル機能ユニット
52,52−1,52−2 制御ユニット
53,53−2 機能決定用メモリ
54 入力信号
55 出力信号
56 機能決定用入力
57 機能決定用出力
58 制御入力
59 選択機能部
60,60−1 論理セル
61,61−1 選択機能ユニット
62,62−1 メモリセルプレーン
63 デコーダ機能ユニット
70 論理セル
71 プログラマブル機能ユニット
71−1 入力信号
71−2 機能決定用データ
71−3 出力信号
71−4 ラッチ回路
71−5 機能ユニット部
71−6 メモリユニット
72 メモリセルプレーン
73 デコーダ機能ユニット
80 I/Oモジュール
81 外部通信端子
82 信号波形生成及びバッファ回路
83 信号線群
84 I/O接続ユニット
85 制御/機能決定入力信号
86−1,86−2 メモリユニット
90 スイッチボックス
91 スイッチボックス本体
92 信号線群
93 接続構造決定データサーバ
95 メモリユニット
110,120,130,140,150,160,170,180,190,200,210,220,230 プログラマブル論理回路
111,121,131,141,151,161,171,181,191,201,211,221,231 配線
122,133,142,152,162,172,182,192,202,212,222,225,232,235 機能決定用データサーバ
134,173 ローダ
135 選択回路
143,153 機能決定用データ転送用専用線
183,193,203,213,223,233 制御ユニット
184,194,204,214,224,234 専用制御線
300 プログラマブル論理回路
310,320,330,340,350,360,370,380,390,400,410,420,430 プログラマブル論理回路システム
311,321,331,341,351,361,371,381,391,401,411,421,431 論理回路間配線
301 スイッチデバイス
302 I/Oモジュール
322,333,342,352,362,372,382,392,402,412,422,425,432,435 機能決定用データサーバ
334,373 ローダ
335 選択回路
343,353 機能決定用データ転送用専用線
383,393,403,413,423,433 制御ユニット
384,394,404,414,424,434 専用制御線
500,510,520,530 機能決定用データサーバ
511,521,531 メモリユニット
512,522 選択機能ユニット
532−1 読出し選択ユニット
532−2 書き込み選択ユニット
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8308458A JPH09231788A (ja) | 1995-12-19 | 1996-11-19 | シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム |
| US08/768,098 US6018559A (en) | 1995-12-19 | 1996-12-16 | Chain-connected shift register and programmable logic circuit whose logic function is changeable in real time |
| KR1019960066690A KR100235812B1 (ko) | 1995-12-19 | 1996-12-17 | 시프트 레지스터 및 프로그래머블 논리회로 및 프로그래머블 논리회로시스템 |
| US09/338,596 US6404224B1 (en) | 1995-12-19 | 1999-06-23 | Chain-connected shift register and programmable logic circuit whose logic function is changeable in real time |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7-330872 | 1995-12-19 | ||
| JP33087295 | 1995-12-19 | ||
| JP8308458A JPH09231788A (ja) | 1995-12-19 | 1996-11-19 | シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09231788A JPH09231788A (ja) | 1997-09-05 |
| JPH09231788A5 true JPH09231788A5 (ja) | 2004-08-05 |
Family
ID=26565558
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8308458A Pending JPH09231788A (ja) | 1995-12-19 | 1996-11-19 | シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US6018559A (ja) |
| JP (1) | JPH09231788A (ja) |
| KR (1) | KR100235812B1 (ja) |
Families Citing this family (155)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002029600A2 (de) | 2000-10-06 | 2002-04-11 | Pact Informationstechnologie Gmbh | Zellenarordnung mit segmentierterwischenzellstruktur |
| US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
| DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
| DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
| ATE243390T1 (de) | 1996-12-27 | 2003-07-15 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.) |
| DE19654846A1 (de) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
| US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
| DE19704728A1 (de) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
| JP3106998B2 (ja) * | 1997-04-11 | 2000-11-06 | 日本電気株式会社 | メモリ付加型プログラマブルロジックlsi |
| TW371758B (en) * | 1997-06-04 | 1999-10-11 | Siemens Ag | Method to optimize the signal-propagation-time in a reprogrammable switching circuit and reprogrammable switching circuit with program-code optimized in said signal-propagation time |
| US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
| DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
| US6762621B1 (en) * | 1998-12-31 | 2004-07-13 | Actel Corporation | Programmable multi-standard I/O architecture for FPGAs |
| JP3444216B2 (ja) | 1999-01-28 | 2003-09-08 | 日本電気株式会社 | プログラマブルデバイス |
| KR100774135B1 (ko) * | 1999-05-07 | 2007-11-07 | 모픽스 테크놀로지 아이엔씨 | 프로그래머블 데이터경로 연산 어레이 장치 및 방법 |
| AU5805300A (en) | 1999-06-10 | 2001-01-02 | Pact Informationstechnologie Gmbh | Sequence partitioning in cell structures |
| US6288566B1 (en) * | 1999-09-23 | 2001-09-11 | Chameleon Systems, Inc. | Configuration state memory for functional blocks on a reconfigurable chip |
| ATE476700T1 (de) | 2000-06-13 | 2010-08-15 | Richter Thomas | Pipeline ct-protokolle und -kommunikation |
| TW538056B (en) | 2000-07-11 | 2003-06-21 | Samsung Electronics Co Ltd | Resist composition comprising photosensitive polymer having lactone in its backbone |
| US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
| US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
| US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
| US6507214B1 (en) | 2000-10-26 | 2003-01-14 | Cypress Semiconductor Corporation | Digital configurable macro architecture |
| US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
| US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
| US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
| US6603330B1 (en) * | 2000-10-26 | 2003-08-05 | Cypress Semiconductor Corporation | Configuring digital functions in a digital configurable macro architecture |
| US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
| US6825689B1 (en) | 2000-10-26 | 2004-11-30 | Cypress Semiconductor Corporation | Configurable input/output interface for a microcontroller |
| US6646465B2 (en) * | 2001-02-09 | 2003-11-11 | Stmicroelectronics Ltd. | Programmable logic device including bi-directional shift register |
| US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
| US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
| US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
| US7581076B2 (en) * | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
| ATE557344T1 (de) | 2001-06-20 | 2012-05-15 | Krass Maren | Verfahren und gerät zum partitionieren von grossen rechnerprogrammen |
| US7996827B2 (en) * | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
| US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
| US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
| US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
| US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
| US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
| US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
| US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
| US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
| US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
| US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
| US7577822B2 (en) | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
| AU2003208266A1 (en) | 2002-01-19 | 2003-07-30 | Pact Xpp Technologies Ag | Reconfigurable processor |
| JP2003233999A (ja) * | 2002-02-07 | 2003-08-22 | Hitachi Ltd | 半導体集積回路及び半導体集積回路の製造方法 |
| EP2043000B1 (de) | 2002-02-18 | 2011-12-21 | Richter, Thomas | Bussysteme und Rekonfigurationsverfahren |
| US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
| US6714044B1 (en) * | 2002-03-25 | 2004-03-30 | Altera Corporation | Hi-speed parallel configuration of programmable logic |
| US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
| US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
| US6661724B1 (en) | 2002-06-13 | 2003-12-09 | Cypress Semiconductor Corporation | Method and system for programming a memory device |
| AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
| US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
| AU2003289844A1 (en) | 2002-09-06 | 2004-05-13 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
| US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
| TWI229341B (en) * | 2003-08-13 | 2005-03-11 | Toppoly Optoelectronics Corp | Shift register circuit and a signal-triggered circuit for low temperature poly silicon (LTPS) liquid crystal display |
| JP4700611B2 (ja) | 2003-08-28 | 2011-06-15 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理装置およびデータ処理方法 |
| WO2005022380A1 (ja) * | 2003-08-29 | 2005-03-10 | Ipflex Inc. | データ処理装置 |
| WO2005038676A2 (en) * | 2003-10-17 | 2005-04-28 | University Of Delaware | Method and apparatus for emulation of logic circuits |
| US7365566B2 (en) * | 2004-02-12 | 2008-04-29 | Matsushita Electric Industrial Co., Ltd. | Programmable logic circuit |
| US7425841B2 (en) * | 2004-02-14 | 2008-09-16 | Tabula Inc. | Configurable circuits, IC's, and systems |
| US7126381B1 (en) | 2004-02-14 | 2006-10-24 | Herman Schmit | VPA interconnect circuit |
| US7284222B1 (en) * | 2004-06-30 | 2007-10-16 | Tabula, Inc. | Method and apparatus for identifying connections between configurable nodes in a configurable integrated circuit |
| US7193440B1 (en) * | 2004-02-14 | 2007-03-20 | Herman Schmit | Configurable circuits, IC's, and systems |
| US7167025B1 (en) * | 2004-02-14 | 2007-01-23 | Herman Schmit | Non-sequentially configurable IC |
| US7109752B1 (en) * | 2004-02-14 | 2006-09-19 | Herman Schmit | Configurable circuits, IC's, and systems |
| US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
| US7439766B2 (en) * | 2004-06-30 | 2008-10-21 | Tabula, Inc. | Configurable logic circuits with commutative properties |
| US7449915B2 (en) * | 2004-06-30 | 2008-11-11 | Tabula Inc. | VPA logic circuits |
| US7282950B1 (en) * | 2004-11-08 | 2007-10-16 | Tabula, Inc. | Configurable IC's with logic resources with offset connections |
| US7312630B2 (en) | 2004-06-30 | 2007-12-25 | Tabula, Inc. | Configurable integrated circuit with built-in turns |
| US7408382B2 (en) * | 2004-06-30 | 2008-08-05 | Tabula, Inc. | Configurable circuits, IC's, and systems |
| US8082531B2 (en) * | 2004-08-13 | 2011-12-20 | Cypress Semiconductor Corporation | Method and an apparatus to design a processing system using a graphical user interface |
| US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
| US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
| US7183801B2 (en) * | 2004-09-08 | 2007-02-27 | Atmel Corporation | Programmable logic auto write-back |
| US7301242B2 (en) | 2004-11-04 | 2007-11-27 | Tabula, Inc. | Programmable system in package |
| US7268586B1 (en) * | 2004-11-08 | 2007-09-11 | Tabula, Inc. | Method and apparatus for accessing stored data in a reconfigurable IC |
| US7330050B2 (en) * | 2004-11-08 | 2008-02-12 | Tabula, Inc. | Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements |
| US7743085B2 (en) * | 2004-11-08 | 2010-06-22 | Tabula, Inc. | Configurable IC with large carry chains |
| US7342415B2 (en) * | 2004-11-08 | 2008-03-11 | Tabula, Inc. | Configurable IC with interconnect circuits that also perform storage operations |
| US7276933B1 (en) * | 2004-11-08 | 2007-10-02 | Tabula, Inc. | Reconfigurable IC that has sections running at different looperness |
| US7317331B2 (en) | 2004-11-08 | 2008-01-08 | Tabula, Inc. | Reconfigurable IC that has sections running at different reconfiguration rates |
| US7224181B1 (en) * | 2004-11-08 | 2007-05-29 | Herman Schmit | Clock distribution in a configurable IC |
| JP4469708B2 (ja) * | 2004-11-30 | 2010-05-26 | パナソニック株式会社 | プログラマブルデバイス |
| US7428721B2 (en) * | 2004-12-01 | 2008-09-23 | Tabula, Inc. | Operational cycle assignment in a configurable IC |
| US7236009B1 (en) | 2004-12-01 | 2007-06-26 | Andre Rohe | Operational time extension |
| US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
| US8201124B1 (en) | 2005-03-15 | 2012-06-12 | Tabula, Inc. | System in package and method of creating system in package |
| US7530033B2 (en) | 2005-03-15 | 2009-05-05 | Tabula, Inc. | Method and apparatus for decomposing functions in a configurable IC |
| US7230869B1 (en) | 2005-03-15 | 2007-06-12 | Jason Redgrave | Method and apparatus for accessing contents of memory cells |
| US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
| US8089461B2 (en) * | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
| US7375550B1 (en) * | 2005-07-15 | 2008-05-20 | Tabula, Inc. | Configurable IC with packet switch configuration network |
| US7443196B2 (en) * | 2005-07-15 | 2008-10-28 | Tabula, Inc. | Configuration network for a configurable IC |
| US7372297B1 (en) | 2005-11-07 | 2008-05-13 | Tabula Inc. | Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources |
| US8463836B1 (en) | 2005-11-07 | 2013-06-11 | Tabula, Inc. | Performing mathematical and logical operations in multiple sub-cycles |
| US7679401B1 (en) | 2005-12-01 | 2010-03-16 | Tabula, Inc. | User registers implemented with routing circuits in a configurable IC |
| US7489162B1 (en) | 2005-12-01 | 2009-02-10 | Tabula, Inc. | Users registers in a reconfigurable IC |
| US7461362B1 (en) | 2005-12-01 | 2008-12-02 | Tabula, Inc. | Replacing circuit design elements with their equivalents |
| US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
| EP1974265A1 (de) | 2006-01-18 | 2008-10-01 | PACT XPP Technologies AG | Hardwaredefinitionsverfahren |
| US7797497B1 (en) * | 2006-03-08 | 2010-09-14 | Tabula, Inc. | System and method for providing more logical memory ports than physical memory ports |
| US7529992B1 (en) | 2006-03-27 | 2009-05-05 | Tabula, Inc. | Configurable integrated circuit with error correcting circuitry |
| US7669097B1 (en) | 2006-03-27 | 2010-02-23 | Tabula, Inc. | Configurable IC with error detection and correction circuitry |
| US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
| EP2597777A3 (en) * | 2007-03-20 | 2014-08-20 | Tabula, Inc. | Configurable IC having a routing fabric with storage elements |
| US7610566B1 (en) | 2007-03-22 | 2009-10-27 | Tabula, Inc. | Method and apparatus for function decomposition |
| US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
| US8111577B2 (en) | 2007-04-17 | 2012-02-07 | Cypress Semiconductor Corporation | System comprising a state-monitoring memory element |
| US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
| US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
| US8130025B2 (en) * | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
| US8026739B2 (en) * | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
| US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
| US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
| US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
| US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
| US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
| US7839162B2 (en) * | 2007-06-27 | 2010-11-23 | Tabula, Inc. | Configurable IC with deskewing circuits |
| US7595655B2 (en) * | 2007-06-27 | 2009-09-29 | Tabula, Inc. | Retrieving data from a configurable IC |
| US8069425B2 (en) | 2007-06-27 | 2011-11-29 | Tabula, Inc. | Translating a user design in a configurable IC for debugging the user design |
| US7652498B2 (en) * | 2007-06-27 | 2010-01-26 | Tabula, Inc. | Integrated circuit with delay selecting input selection circuitry |
| US8412990B2 (en) * | 2007-06-27 | 2013-04-02 | Tabula, Inc. | Dynamically tracking data values in a configurable IC |
| US7579867B2 (en) * | 2007-06-27 | 2009-08-25 | Tabula Inc. | Restructuring data from a trace buffer of a configurable IC |
| US7501855B2 (en) | 2007-06-27 | 2009-03-10 | Tabula, Inc | Transport network for a configurable IC |
| US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
| EP2201569A4 (en) | 2007-09-06 | 2011-07-13 | Tabula Inc | CONFIGURATION CONTEXT CHANGER |
| US7969184B1 (en) | 2007-09-06 | 2011-06-28 | Tabula, Inc. | Configurable high speed high voltage input/output circuit for an IC |
| WO2009039462A1 (en) * | 2007-09-19 | 2009-03-26 | Tabula, Inc. | Method and system for reporting on a primary circuit structure of an integrated circuit (ic) using a secondary circuit structure of the ic |
| US8863067B1 (en) | 2008-02-06 | 2014-10-14 | Tabula, Inc. | Sequential delay analysis by placement engines |
| GB2457912A (en) * | 2008-02-27 | 2009-09-02 | Silicon Basis Ltd | An FPGA which is reconfigured between each clock cycle |
| EP2279560B1 (en) * | 2008-04-21 | 2016-09-28 | Altera Corporation | Configurable ic with packet switch configuration network |
| US8166435B2 (en) | 2008-06-26 | 2012-04-24 | Tabula, Inc. | Timing operations in an IC with configurable circuits |
| US8525548B2 (en) * | 2008-08-04 | 2013-09-03 | Tabula, Inc. | Trigger circuits and event counters for an IC |
| WO2010033263A1 (en) | 2008-09-17 | 2010-03-25 | Tabula, Inc. | Controllable storage elements for an ic |
| EP2190022B1 (en) * | 2008-11-20 | 2013-01-02 | Hitachi Ltd. | Spin-polarised charge carrier device |
| US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
| US8072234B2 (en) | 2009-09-21 | 2011-12-06 | Tabula, Inc. | Micro-granular delay testing of configurable ICs |
| WO2011123151A1 (en) | 2010-04-02 | 2011-10-06 | Tabula Inc. | System and method for reducing reconfiguration power usage |
| US8650514B2 (en) | 2010-06-23 | 2014-02-11 | Tabula, Inc. | Rescaling |
| US8788987B2 (en) | 2010-06-23 | 2014-07-22 | Tabula, Inc. | Rescaling |
| TWI420450B (zh) * | 2010-12-23 | 2013-12-21 | Au Optronics Corp | 移位暫存器的時脈訊號供應方法與電路 |
| US8760193B2 (en) | 2011-07-01 | 2014-06-24 | Tabula, Inc. | Configurable storage elements |
| US9148151B2 (en) | 2011-07-13 | 2015-09-29 | Altera Corporation | Configurable storage elements |
| US9203397B1 (en) | 2011-12-16 | 2015-12-01 | Altera Corporation | Delaying start of user design execution |
| CN104321967B (zh) | 2012-05-25 | 2018-01-09 | 株式会社半导体能源研究所 | 可编程逻辑装置及半导体装置 |
| KR102112367B1 (ko) * | 2013-02-12 | 2020-05-18 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 반도체 장치 |
| US9000801B1 (en) | 2013-02-27 | 2015-04-07 | Tabula, Inc. | Implementation of related clocks |
| GB2580165B (en) * | 2018-12-21 | 2021-02-24 | Graphcore Ltd | Data exchange in a computer with predetermined delay |
| US20250219620A1 (en) * | 2023-12-28 | 2025-07-03 | Taiwan Semiconductor Manufacturing Company, Ltd. | Storage device having latching units serially connected for in-memory arithmetic operations |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4975932A (en) * | 1987-12-28 | 1990-12-04 | Matsushita Electric Industrial Co., Ltd. | Shift register and shift register system with controllable transfer stages |
| US5132993A (en) * | 1989-12-20 | 1992-07-21 | Nec Corporation | Shift register circuit |
| US5159616A (en) * | 1990-10-25 | 1992-10-27 | Digital Equipment Corporation | CMOS shift register with complementary refresh pass gates and buffer |
| US5426378A (en) * | 1994-04-20 | 1995-06-20 | Xilinx, Inc. | Programmable logic device which stores more than one configuration and means for switching configurations |
| US5426379A (en) * | 1994-07-29 | 1995-06-20 | Xilinx, Inc. | Field programmable gate array with built-in bitstream data expansion |
| US5646544A (en) * | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
| US5600263A (en) * | 1995-08-18 | 1997-02-04 | Xilinx, Inc. | Configuration modes for a time multiplexed programmable logic device |
| US5760602A (en) * | 1996-01-17 | 1998-06-02 | Hewlett-Packard Company | Time multiplexing a plurality of configuration settings of a programmable switch element in a FPGA |
-
1996
- 1996-11-19 JP JP8308458A patent/JPH09231788A/ja active Pending
- 1996-12-16 US US08/768,098 patent/US6018559A/en not_active Expired - Fee Related
- 1996-12-17 KR KR1019960066690A patent/KR100235812B1/ko not_active Expired - Fee Related
-
1999
- 1999-06-23 US US09/338,596 patent/US6404224B1/en not_active Expired - Fee Related
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100235812B1 (ko) | 시프트 레지스터 및 프로그래머블 논리회로 및 프로그래머블 논리회로시스템 | |
| JP3471088B2 (ja) | 改良されたプログラマブル論理セルアレイアーキテクチャ | |
| JP3626239B2 (ja) | プログラマブルアレイ | |
| US5646544A (en) | System and method for dynamically reconfiguring a programmable gate array | |
| US6014038A (en) | Function block architecture for gate array | |
| US5019736A (en) | Programmable logic cell and array | |
| US6097211A (en) | Configuration memory integrated circuit | |
| US4414547A (en) | Storage logic array having two conductor data column | |
| US5256918A (en) | Programmable logic circuit | |
| KR0130760B1 (ko) | 반도체 집적회로 | |
| JPH07504797A (ja) | 論理積項の縦続接続および改良したフリップフロップ利用を伴うマクロセル | |
| US5386155A (en) | Apparatus and method for selecting polarity and output type in a programmable logic device | |
| US5302866A (en) | Input circuit block and method for PLDs with register clock enable selection | |
| JP2005512359A (ja) | 埋込み固定論理回路をサポートする相互接続ロジックを有するプログラマブルゲートアレイ | |
| JPH0431446B2 (ja) | ||
| JPH04223715A (ja) | プログラマブルコネクタとプログラマブル回路内の接続線の状態制御構造 | |
| JPH03231515A (ja) | プログラマブル論理装置 | |
| Sidhu et al. | A self-reconfigurable gate array architecture | |
| CN105761746A (zh) | 一种单粒子加固fpga分布式ram的写入时序匹配电路 | |
| US6100714A (en) | High density PLD structure with flexible logic built-in blocks | |
| US5592105A (en) | Configuration logic to eliminate signal contention during reconfiguration | |
| EP1126614B1 (en) | Programmable logic arrays | |
| US6870393B2 (en) | Field programmable device | |
| CN115398412A (zh) | 片上系统架构、内插器、fpga及设计方法 | |
| US7417455B2 (en) | Programmable function generator and method operating as combinational, sequential and routing cells |