JP3707360B2 - 回路機能の再構成方法、及びプログラマブル論理回路装置 - Google Patents
回路機能の再構成方法、及びプログラマブル論理回路装置 Download PDFInfo
- Publication number
- JP3707360B2 JP3707360B2 JP2000192540A JP2000192540A JP3707360B2 JP 3707360 B2 JP3707360 B2 JP 3707360B2 JP 2000192540 A JP2000192540 A JP 2000192540A JP 2000192540 A JP2000192540 A JP 2000192540A JP 3707360 B2 JP3707360 B2 JP 3707360B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- clock
- programmable logic
- clock signal
- supply
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 25
- 230000006870 function Effects 0.000 claims description 46
- 239000000872 buffer Substances 0.000 description 27
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000010365 information processing Effects 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、回路機能の再構成方法、及びプログラマブル論理回路装置に係わり、特に、部分的に回路機能を再構成可能なプログラマブル論理回路装置における回路機能の再構成方法、及びプログラマブル論理回路装置に関する。
【0002】
【従来の技術】
近年、デジタル論理回路製品、特に特定用途向け集積回路(ASIC)の分野において、製品の開発期間を短縮するために、フィールドプログラマブルゲートアレイ(FPGA)やプログラマブルロジックデバイス(PLD)などのプログラマブル論理回路装置が広く使われている。
【0003】
これらの装置は、論理回路を記述する回路情報を読み込ませることで、内部の論理回路と論理回路間の結線を自由に構成することができる。これにより、プログラマブル論理回路の使用以前に必要とされていた、回路設計終了後に数週間から数か月にも及ぶ集積回路の作製時間が不要となった。特に、米国特許第4,700,187号に開示されている発明のように、電気的に再構成可能なプログラマブル論理装置は、一度作製した回路を必要に応じて自由に何度でも変更できるという利点があり、ますます広く使われるようになってきた。
【0004】
ところで、最近の論理回路は複雑さが増し、一つのプログラマブル論理回路装置では実現できない規模にまで回路規模が大きくなってきている。
【0005】
この問題を解決するための一つの方法は、複数個のプログラマブル論理回路装置を接続して使用することである。しかしながら、プログラマブル論理回路装置の入出力接続の数が制限されているので、この方法ですべての回路を実現することは困難である。また、たとえ実現できたとしても、使用するプログラマブル論理回路装置数の増加に伴い、消費電力が増加するという新たな欠点を引き起こす。
【0006】
別の解決方法は、プログラマブル論理回路装置を処理の途中で再度構成し直し、同一のプログラマブル論理回路装置に異なる論理回路を実現させることである。この場合は、再構成する時に、回路情報を内部の記憶装置(SRAM)に再度読み込む必要があり、このために余分な時間がかかるという欠点がある。さらに、処理の途中で再構成することは、処理を一時中断して、その時のデータをプログラマブル論理回路装置の外部の記憶装置に記憶させてから、新たな回路情報を読み込んで再構成しなければならない。すなわち、再構成の前後に、外部の記憶装置との間でデータを入出力させるという余分な処理が必要になる。
【0007】
この問題を解決するために、例えば、米国アトメル社製の型番AT40Kや型番AT6000で示されるプログラマブル論理回路装置では、再構成を行う時のデータを記憶するためのデータ記憶装置を有し、回路の動作中でも外部の記憶装置から回路情報の一部を読み込んで部分的に再構成を行うことで、再構成に要する時間を最小に留めている(米国アトメル社のデータブック「CONFIGURABLE LOGIC」参照)。
【0008】
【発明が解決しようとする課題】
しかしながら、上記の部分的再構成を行う場合、チップ内のごく一部の回路を再構成する場合でも、チップ全体のクロックを止めて、再構成用の回路情報をSRAMにロードしなければならない。また、再構成後の回路に入力するデータはレジスタに保持しておく必要があり、このレジスタのクロックも止めておかなければならない。このときチップ内の他の部分において処理を進めておこうとしてもクロックが停止しているので不可能で、回路データのロード時間分のオーバーヘッドが生じる。
【0009】
本発明は上記問題点を解消するためになされたもので、動作中に回路機能を部分的に再構成する際に、再構成領域以外では処理を継続することができる回路機能の再構成方法、及びプログラマブル論理回路装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するために、請求項1に記載の回路機能の再構成方法は、部分的に回路機能を再構成可能なプログラマブル論理回路装置における回路機能の再構成方法であって、再構成される回路機能が配置された領域のクロックラインを、他の領域のクロックラインと分離し、再構成時に、当該再構成される回路機能が配置された領域のクロックラインのみ、クロック信号の供給を停止して、回路機能を再構成する、ことを特徴としている。
【0011】
請求項1に記載の回路機能の再構成方法では、再構成される回路機能が配置された領域(以下、「再構成領域」という)のクロックラインが、他の領域クロックラインから分離されており、再構成を行う際には、当該再構成領域のクロックラインのみクロック信号の供給が停止されて、回路機能が再構成される。すなわち、再構成領域以外の領域に対するクロック信号の供給は停止されずに済み、部分的に回路機能を再構成しているときに、再構成領域以外の領域に構成されている回路機能では処理を継続して行うことができる。
【0012】
請求項2に記載のプログラマブル論理回路装置は、多数の論理セルを備え、回路機能を再構成可能な複数の領域に分割されたプログラマブル論理回路と、前記複数の領域の各々に独立してクロック信号を供給可能に接続されたクロックラインと、前記クロックライン毎にクロック信号の供給及び停止を行うクロック信号供給停止手段と、再構成時に、当該再構成される回路機能が配置された領域のクロックラインのみ、前記クロック信号供給停止手段によるクロック信号の供給を停止して、回路機能を再構成する制御を行う制御手段と、を有している。
【0013】
請求項2に記載のプログラマブル論理回路装置では、多数の論理セルを備えたプログラマブル論理回路が、回路機能を再構成可能な複数の領域に分割されている。この分割された各領域には、それぞれ独立してクロック信号を供給できるようにクロックラインが接続されている。クロック信号供給停止手段では、このクロックライン毎にクロック信号の供給や停止を行うので、分割された領域毎に、クロック信号の供給を制御することができる。
【0014】
制御手段は、回路機能を再構成する際に、再構成する回路機能が配置された領域に対するクロック信号の供給のみを停止制御して、回路機能を再構成する制御を行うので、再構成領域以外の領域に構成されている回路機能では処理を継続して行うことができる。
【0015】
請求項3に記載のプログラマブル論理回路装置は、多数の論理セルを備えたプログラマブル論理回路と、前記論理セルの各々に対してクロック信号を供給可能に設けられたクロックラインと、前記クロックラインに設けられ、前記論理セルの各々に対して、クロック信号の供給及び停止の何れか一方の状態に切替えて、クロックラインを複数に分割可能にする切替手段と、前記切替手段によって分割されたクロックライン毎にクロック信号の供給及び停止を行うクロック信号供給停止手段と、を有している。
【0016】
請求項3に記載のプログラマブル論理回路装置では、プログラマブル論理回路に備えられている多数の論理セルの各々に対して、クロック信号が供給できるようにクロックラインが設けられている。このクロックラインは、切替手段によって、各論理セルに対してクロック信号を供給状態又は停止状態に切替えることで複数に分割され、この分割されたクロックライン毎に、クロック信号供給停止手段によってクロック信号の供給や停止が行われる。
【0017】
なお、全ての論理セルと接続されたクロックラインを切替手段によって任意のポイントで切断することで、クロックラインを複数に分割してもよいし、クロックラインを断片化しておいて、切替手段によって任意のポイントで接続することで、クロックラインを複数に分割するようにしてもよい。
【0018】
これにより、切替手段によって、再構成する回路機能が配置された領域毎にクロックラインを分割すれば、再構成する回路機能が配置された領域に対するクロック信号の供給のみを停止制御して再構成を行うことができ、再構成領域以外の領域に構成されている回路機能では処理を継続して行うことができる。また、回路設計に応じて、プログラマブル論理回路上に再構成領域を任意に設定することができる。
【0019】
ただし、回路設計によって、分割されたクロックラインがクロック信号を供給する論理セルの個数が変わるので、請求項4に記載されているように、前記クロック信号供給停止手段によるクロック信号供給時の駆動能力を、前記切替手段によって分割されたクロックライン毎に、当該クロックラインにより前記クロック信号を供給する論理セルの数に応じて設定する設定手段を更に有するようにするとよい。
【0020】
【発明の実施の形態】
次に、図面を参照して本発明に係る実施形態の1例を詳細に説明する。
【0021】
(第1の実施の形態)
図1には、本発明が適用されたプログラマブル論理回路装置の概略構成が示されている。図1に示すように、プログラマブル論理回路装置10は、二次元に配列された複数の論理セル12と、配線領域14と、入出力端子16とを備えている。これら論理セル12、配線領域14、入出力端子16により、本発明のプログラマブル論理回路を構成している(請求項2、3参照)。
【0022】
論理セル12では、内部の回路構成を変化させて、任意の論理関数を生成可能となっている。配線領域14では、各論理セル12間や、各論理セル12と入出力端子16の間を任意に結線可能となっている。
【0023】
また、論理セル12や配線領域14内には、SRAM、DRAM等の書き換え可能なメモリ素子が備えられており、プログラマブル論理回路装置10は、これらのメモリ素子で構成されたコンフィギュレーションメモリ(図示省略)を備えている。
【0024】
このコンフィギュレーションメモリ(図示省略)にアドレスを与えて、新しい回路情報のデータが格納されると、この回路情報に従って論理セル12内の回路構成と、各論理セル12間や各論理セル12と入出力端子16間を相互に接続する配線領域14の接続状態とが、すなわちプログラマブル論理回路装置10の回路機能(以下、単に「回路」という)が再構成される。この一連の動作をコンフィギュレーションと呼ぶ。
【0025】
プログラマブル論理回路装置10では、コンフィギュレーションメモリ(図示省略)の一部分を書き換えることで、プログラマブル論理回路装置10が動作中であっても、回路を部分的に再構成することができるようになっている。
【0026】
なお、このコンフィギュレーション動作は、外部から入力されるコンフィギュレーションイネーブル信号(Config_enable)がイネーブル状態のときのみ実施可能となっている。
【0027】
次に、プログラマブル論理回路装置10内のクロック信号の供給に係わる構成について詳しく説明する。図2には、このプログラマブル論理回路装置10内のクロック信号供給機構の詳細構成が示されている。
【0028】
図2に示されるように、プログラマブル論理回路装置10には、各論理セル12にクロック信号を供給するために、クロックライン18がツリー状に巡らされている。このツリー状のクロックライン18は、プログラマブル論理回路装置10上の回路形成領域30を2分割した一方の領域30A内の各論理セル12と接続しているクロックライン18Aと、他方の領域30B内の各論理セル12と接続しているクロックライン18Bとで構成されている。
【0029】
本実施の形態では、この領域30A、30B毎に、回路機能を再構成するようになっている。すなわち、領域30A、30Bが、本発明の「回路機能を再構成可能な複数の領域」に対応し、クロックライン18A、18Bが「複数のクロックライン」に対応する(請求項2参照)。
【0030】
また、本実施の形態では、外部から当該プログラマブル論理回路装置10に対するクロック信号の供給は1系統となっており(複数系統にしても可)、クロックパッド20に外部からのクロック信号が入力される。このクロックパッド20の出力はPLL(Phase Lock Loop)回路22に接続され、PLL回路22の出力は2つに分岐されている。
【0031】
分岐された一方はクロック制御回路24Aを介して、クロックバッファ26Aに接続され、他方はクロック制御回路24Bを介して、クロックバッファ26Bに接続されている。これにより、外部からのクロック信号がクロックバッファ26A、26Bに供給されるようになっている。
【0032】
クロックライン18Aは、クロックバッファ26Aと接続されており、当該クロックバッファ26Aから出力されたクロック信号を領域30A内の各論理セル12に供給するようになっている。クロックライン18Bは、クロックバッファ26Bと接続されており、当該クロックバッファ26Bから出力されたクロック信号を領域30B内の各論理セル12に供給するようになっている。
【0033】
また、PLL回路22の出力をクロックバッファ26A、26Bに中継するクロック制御回路24A、24Bは、それぞれイネーブル信号入力端子28A、28Bと接続されている。
【0034】
クロック制御回路24Aには、イネーブル信号入力端子28Aを介して、外部からのクロック制御用信号(Clk_Ctrl_A)が入力される。クロック制御回路24は、このクロック制御用信号(Clk_Ctrl_A)に基づいて、クロックライン18Aによる論理セル12へのクロック信号(Clk_A)の供給をイネーブル状態/停止状態に切替える。
【0035】
同様に、クロック制御回路24Bには、イネーブル信号入力端子28Bを介して、外部からのクロック制御用信号(Clk_Ctrl_B)が入力され、このクロック制御用信号(Clk_Ctrl_B)に基づいて、クロックライン18Bによる論理セル12へのクロック信号(Clk_B)の供給をイネーブル状態/停止状態に切替える。
【0036】
すなわち、プログラマブル論理回路装置10では、領域30A内の各論理セル12へのクロック信号の供給と、領域30B内の各論理セル12へのクロック信号の供給とを、独立して制御することが可能となっている。
【0037】
このように、本実施の形態では、クロックパッド20、PLL回路22、クロック制御回路24A、24B、クロックバッファ26A、26B、イネーブル信号入力端子28A、28Bによって、本発明のクロック信号供給停止手段が構成されている(請求項2参照)。
【0038】
(システム構成例)
上記構成のプログラマブル論理回路装置10は、例えば、図3に示すような情報処理システムに組み込まれて使用される。図3に示す情報処理システム50では、CPU52のホストバス54に、チップセット56に含まれるメインコントローラ(図示省略)を介して、例えばDRAMで構成される主記憶メモリ58が接続されている。
【0039】
また、ホストバス54は、チップセット56に含まれるホスト−PCIブリッジ(図示省略)を介して、PCIバス60にも接続されている。このPCIバス60には、インタフェース62を介して、プログラマブル論理回路装置10が接続されている。また、PCIバス60には、インタフェース64を介して、ハードディスクドライブ66が接続されており、このハードディスクドライブ66には、アプリケーションプログラムや回路情報が記憶されている。
【0040】
CPU52は、ハードディスクドライブ66から主記憶メモリ58にアプリケーションプログラムをロードして実行する。また、アプリケーションプログラム実行中に、必要に応じて、ハードディスクドライブ66から回路情報を読み出して、プログラマブル論理回路装置10のコンフィギュレーションメモリ(図示省略)にロードし、プログラマブル論理回路装置10上に所望の回路を構成し、当該回路においてデータ処理を行うようになっている(以下、プログラマブル論理回路装置10におけるデータ処理のことを「ハードウェア処理」という)。
【0041】
すなわち、CPU52によって、プログラマブル論理回路装置10におけるコンフィギュレーションや、当該プログラマブル論理回路装置10上に構成された回路への入力データや出力データの入出力を制御するようになっている。
【0042】
(作用)
次に、第1の実施の形態の作用について説明する。図4には、プログラマブル論理回路装置10を動作させてハードウェア処理を行う場合の制御ルーチンが示されている。この制御ルーチンは、例えばCPU52により実行される。
【0043】
なお、以下では、図5に示すように、プログラマブル論理回路装置10上に構成する回路を「回路aプラス回路b」の回路70と「回路aプラス回路c」の回路72とで切替えて使用する場合で、且つ図6に示すように、領域30A内の領域74に回路a、領域30B内の領域76に回路b又は回路cが配置されるように設計されている場合を例に説明する。
【0044】
このときのデータ処理の流れは、プログラマブル論理回路装置10上に回路70を構成しているときは、入力データを回路aに入力し、回路a→回路b→回路aの順で処理して回路aから出力データを得るようになっており、回路72を構成しているときは、入力データを回路aに入力し、回路a→回路c→回路aの順で処理して回路aから出力データを得るようになっている。
【0045】
図4に示すように、プログラマブル論理回路装置10を動作させる際には、まず、ステップ100において、初期回路の情報をコンフィギュレーションメモリ(図示省略)にロードし、初期回路のコンフィグレーションを行って、プログラマブル論理回路装置10上に初期回路を構成する。
【0046】
具体的には、コンフィギュレーションイネーブル信号(Config_enable)をイネーブル状態、クロック制御回路24A、24Bに入力するクロック信号制御信号(Clk_Ctrl_A 、Clk_Ctrl_B)を停止状態として、「回路aプラス回路b」の回路情報をコンフィギュレーションメモリ(図示省略)にロードする。これにより、プログラマブル論理回路装置10では、「回路aプラス回路b」の回路70の機能を実行できるようになる。
【0047】
次いで、ステップ102において、ハードウェア処理の途中で、プログラマブル論理回路装置10上の回路を、再構成する必要があるか否かを判断する。
【0048】
途中で再構成する必要が有る場合は、ステップ104に進む。本例も、回路70から回路72に切替えるときに、再構成する必要があるので、ステップ104に進む。
【0049】
ステップ104では、プログラマブル論理回路装置10への入力データの入力を開始する(ハードウェア処理開始)。詳しくは、コンフィギュレーションイネーブル信号(Config_enable)をディセーブル状態、クロック制御回路24A、24Bへのクロック信号制御信号(Clk_Ctrl_A 、Clk_Ctrl_B)をイネーブル状態とし、プログラマブル論理回路装置10に入力データを入力する。
【0050】
その後、プログラマブル論理回路装置10上に構成されている回路のうち、再構成する回路での処理が完了したら(ステップ106で肯定判定)、ステップ108に移行する。ステップ108では、当該再構成する領域(部分回路)のみ、回路情報をロードし直すことによって、部分的にコンフィギュレーションを行って、プログラマブル論理回路装置10上の回路構成を部分的に再構成する。
【0051】
具体的には、「回路aプラス回路b」の回路70において処理される最後のデータに対する回路bでの処理が終了したら、ステップ108に移行し、コンフィギュレーションイネーブル信号(Config_enable)をイネーブル状態とし、クロック制御回路24Bへのクロック信号制御信号(Clk_Ctrl_B)を停止状態とする。これにより、クロックライン18Bによる論理セル12へのクロック信号(Clk_B)の供給が停止される。
【0052】
コンフィギュレーションイネーブル信号がイネーブル状態になると、外部からの再構成用の回路情報の送信が可能となり、領域30Bに対応するコンフィギュレーションメモリ(図示省略)のアドレスに、回路cの回路情報がロードされる。これにより、領域30B内に回路cが構成され、プログラマブル論理回路装置10では「回路aプラス回路c」、すなわち回路72の機能を実行できるようになる。
【0053】
この再構成の処理の間、クロック制御回路24Aへのクロック信号制御信号(Clk_Ctrl_A)は、イネーブル状態のままである。したがって、クロックライン18Aによる領域30A内の各論理セル12へのクロック信号(Clk_A)の供給は継続されており、回路の再構成中も回路aは動作可能となっている。
【0054】
回路の再構成が完了するとコンフィギュレーションイネーブル信号(Config_enable)をディセーブル状態とし、クロック制御回路24Bへのクロック制御用信号(Clk_Ctrl_B)をイネーブル状態に戻す。
【0055】
次いで、ステップ110では、再構成する回路が残っているか否かを判断し、再構成する回路が残っている場合は、次の再構成のためにステップ106に戻る。なお、本例では、再構成は1回のみなので、必要な再構成が全て終了したと判断される(ステップ110で否定判定)。
【0056】
必要な再構成が全て終了した(ステップ110で否定判定)後、プログラマブル論理回路装置10への入力データの入力が全て終了し(ステップ112)、その結果(出力データ)の出力が終了したら(ステップ114)、処理が終了される。
【0057】
一方、途中で再構成する必要がない場合は、ステップ116に進み、プログラマブル論理回路装置への入力データの入力を開始する(ハードウェア処理開始)。その後、入力データの入力が全て終了し(ステップ112)、その結果(出力データ)の出力が終了したら(ステップ114)、処理が終了される。
【0058】
次に、図7のタイミングチャートを用いて上記の動作の一例を具体的に説明する。
【0059】
プログラマブル論理回路装置10が「回路aプラス回路b」の回路が構成されると、まず、回路aに入力データD10が入力され(t1)、4サイクル後に(t5)、回路bの入力レジスタに処理結果D11が現れる。これを受けて、次の回路bにおいてD11の処理が行われる。
【0060】
回路bがこのD11の処理をしている間に、回路aには、次の入力データD20が入力される(t6)。回路bでの処理は、2サイクルで終わり、回路bの出力レジスタにD12が現れる(t7)。
【0061】
これと同時に(t7)、コンフィギュレーションイネーブル信号(Config_enable)がイネーブル状態に変化し、クロック制御回路24Bへのクロック制御用信号(Clk_Ctrl_B)が停止状態に変化する。
【0062】
回路cのコンフィギュレーションは2サイクルで終了し、コンフィギュレーションイネーブル信号(Config_enable)と、クロック制御回路24Bへのクロック制御用信号(Clk_Ctrl_B)はもとに戻る(t9)。
【0063】
この間(t7〜t9)、領域30B内の各論理セル12へのクロック信号(Clk_B)は停止しているが、領域30A内の各論理セル12へのクロック信号(Clk_A)は動作している。
【0064】
これにより、回路aでは、入力されていたD20の処理を継続して行うことができ、回路cの入力レジスタにその出力結果のD21が現れる(t10)。また、回路bの出力レジスタの値D12の処理も行って、4サイクル後に回路aの出力レジスタにD13が出力される(t11)。
【0065】
また、新たにプログラマブル論理回路装置10上に構成された回路cでは、回路cの入力レジスタの値D21に対して処理を施し(t10)、2サイクル後に、回路cの出力レジスタに結果D22が出力される(t12)。なお、D22が出力されるまでの期間(t10〜t12)は、回路cの出力レジスタは不定状態になっている。
【0066】
回路cの出力レジスタにD22が出力されると、前述のD12と同様に、回路aでこのD22に対する処理が開始され、4サイクル後に、回路aの出力レジスタにD23が出力される(t16)。
【0067】
このように、第1の実施の形態では、プログラマブル論理回路装置10上に巡らされたツリー状のクロックライン18が、領域30Aの各論理セル12にクロック信号を供給するクロックライン18Aと、領域30Bの各論理セル12にクロック信号を供給するクロックライン18Bとの2系統に分割されており、クロック信号の供給を領域30Aと領域30Bとで独立して制御することができるようになっている。
【0068】
これにより、領域30A又は領域30Bの何れか一方の領域に構成されている回路を再構成するときに、当該再構成領域に対してのみクロック信号の供給を停止することができ、他方の領域へのクロック信号の供給を継続して、当該他方の領域に構成されている回路での処理を継続させることができる。
【0069】
なお、上記では、クロックライン18を2系統に分割した場合について説明したが、3系統以上の場合についても、同様に本発明を適用することができる。
【0070】
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。なお、第2の実施の形態に係わるプログラマブル論理回路装置の概略構成は、第1の実施の形態と同一であり(図1参照)、ここでは概略構成の説明を省略し、クロック信号供給機構についてのみ説明する。
【0071】
図8には、第2の実施の形態に係わるプログラマブル論理回路装置80内のクロック信号供給機構の詳細構成が示されている。なお、図8では、第1の実施の形態で説明したプログラマブル論理回路装置10(図2参照)と同一の部材については、同一の符号を付与しており、ここでは詳細な説明を省略する。
【0072】
図8に示すプログラマブル論理回路装置80では、外部から当該プログラマブル論理回路装置80に対するクロック信号の供給は1系統となっており(複数系統にしても可)、クロックパッド20に外部からのクロック信号が入力される。このクロックパッド20の出力はPLL回路22に接続され、PLL回路22の出力は3つに分岐されて、それぞれクロック制御回路24A、24B、24Cを介して、クロックバッファ26A、26B、26Cに接続されている。
【0073】
このクロックバッファ26A、26B、26Cには、プログラマブル論理回路装置80上の全ての論理セル12と接続し、各論理セル12にクロック信号を供給するためのツリー状のクロックライン18が接続されている。
【0074】
このクロックライン18上には、複数の切断可能ポイント82が設けられており、任意の個所でクロックライン18を切断可能となっている。この切断可能ポイント82が、本発明の切替手段に対応する(請求項3参照)。
【0075】
各切断可能ポイント82での切断の可否によって、各クロックバッファ26A、26B、26Cがクロック信号を供給する論理セル12が決まる。クロックバッファ26A、26B、26Cは、各々が駆動するクロックライン18の規模(クロック信号を供給する論理セル12の個数)に基づいて、その駆動能力がプログラム可能(可変)となっている。すなわち、各クロックバッファ26A、26B、26Cが、本発明の設定手段に対応する(請求項4参照)。
【0076】
また、PLL回路22の出力をクロックバッファ26A、26B、26Cに中継するクロック制御回路24A、24B、24Cは、それぞれイネーブル信号入力端子28A、28B、28Cと接続されている。クロック制御回路24A、24B、24Cは、イネーブル信号入力端子28A、28B、28Cを介して外部から各々に入力されたクロック制御信号に基づいて、クロック信号の供給をイネーブル状態/停止状態に切替えるようになっている。
【0077】
このように、本実施の形態では、クロックパッド20、PLL回路22、クロック制御回路24A、24B、24C、クロックバッファ26A、26B、26C、イネーブル信号入力端子28A、28B、28Cによって、本発明のクロック信号供給停止手段が構成されている(請求項3参照)。
【0078】
なお、クロックバッファとクロック制御回路を3つずつにしたのは、ライン状のクロックライン18を3つまで分割可能な例を示すためである。クロックバッファとクロック制御回路の個数は、複数個であればいくつでも構わない。
【0079】
次に、第2の実施の形態の作用を説明する。なお、以下では、第1の実施の形態と同じ例(図5、図6参照)を用いて、プログラマブル論理回路装置80を動作させる場合について説明する。
【0080】
設計者は、レイアウト設計時に、部分的な再構成によって、回路bと回路cの機能を入れ替えることができるように、プログラマブル論理回路装置80上の回路a、回路b、回路cのレイアウトを決定する。例えば、領域90に回路a、領域92に回路bと回路cが入れ替えるように、レイアウトを決定する(図9参照)。
【0081】
このレイアウト結果により、構成用回路データ、ツリー状のクロックライン18を分割する領域、各領域のクロックライン18を駆動するクロックバッファ26とその駆動能力が決まる。
【0082】
プログラマブル論理回路装置80を使う前に、クロックライン18の分割データに基づいて、切断可能ポイント82を切断する。この切断方法はPROMの書き込みやアンチフューズタイプのプログラマブル論理回路装置(FPGA)の回路構成時などに用いられる公知の手法と同一であり、場所を示すアドレスと、切断/接続を示すビットデータに応じて、ポリシリコンなどで作られた配線を溶断するものである。
【0083】
図9には、切断可能ポイント82の切断結果が示されている。なお、図9では、切断可能ポイント82を示す黒点にXを付加して、切断した切断可能ポイント82を示している。
【0084】
図9に示されているように、クロックバッファ26Cと論理セル12とをつなぐクロックライン18が切断可能ポイント82で切断され、PLL回路22とクロック制御回路24Cとの間も切断される。また、クロックバッファ26Bと領域90の論理セル12とをつなぐクロックライン18も、切断可能ポイント82で切断される。
【0085】
これにより、クロックライン18が2系統に分割され、領域90内の論理セル12にはクロックバッファ26Aからのクロック信号、領域92内の論理セル12にはクロックバッファ26Bからのクロック信号が供給される。
【0086】
また、各領域90、92内においても、使用する論理セル12にだけクロック信号が供給されるように、クロックライン18が切断され、クロックバッファ26Aでは8つの論理セル12、クロックバッファ26Bでは6つの論理セル12にクロック信号を供給するようになる。この供給先の論理セル12の個数に応じて、各クロックバッファの駆動能力がプログラムされる。
【0087】
これにより、領域90と領域92とでクロックライン18を分割することができ、その後は、第1の実施の形態と同様に、プログラマブル論理回路装置80の動作させれば、プログラマブル論理回路装置80を「回路a+回路b」の回路70と、「回路a+回路c」の回路72とで切替えて機能させることができる。
【0088】
このように、第2の実施の形態では、クロックライン18が最初は1つであり、回路設計時に再構成する回路の領域に応じて、クロックライン18を分割することができる。すなわち、再構成する領域(領域92)と再構成が不要な領域(領域90)とで、クロックライン18の系統を分けることができる。これにより、再構成時に当該再構成領域のクロック信号のみを停止させることができ、第1の実施の形態と同様の効果を得るとともに、プログラマブル論理回路装置80上の任意の領域を再構成領域とすることもできる(自由度が高い)。
【0089】
なお、この場合、設計者により設計された回路によって、各クロックバッファ26A、26B、26Cが駆動するクロックライン18の規模(クロック信号を供給する論理セル12の数)が変わるので、各々が駆動するクロックライン18の規模に応じて、その駆動能力を設定することが好ましい。
【0090】
なお、ツリー状のクロックライン18を予めダイオードなどで断片化しておき、このダイオードをクロックライン18の分割データに基づいて、短絡させることによっても、第2の実施の形態と同様の効果を得ることができる。
【0091】
【発明の効果】
上記に示したように、本発明は、動作中に回路を部分的に再構成する際に、再構成領域以外では処理を継続することができるという優れた効果を有する。
【図面の簡単な説明】
【図1】 第1の実施の形態に係わるプログラマブル論理回路装置の概略構成図である。
【図2】 第1の実施の形態に係わるプログラマブル論理回路装置のクロック信号の供給機構の詳細構成図である。
【図3】 プログラマブル論理回路装置が組み込まれる情報処理システムの一例を示す図である。
【図4】 プログラマブル論理回路装置を動作させる際の制御ルーチンを示すフローチャートである。
【図5】 プログラマブル論理回路装置に機能させる回路構成の一例を示す図である。
【図6】 第1の実施の形態に係わるプログラマブル論理回路装置に図5で示した回路構成を適用した例である。
【図7】 プログラマブル論理回路装置の動作の一例を示すタイミングチャートである。
【図8】 第2の実施の形態に係わるプログラマブル論理回路装置のクロック信号の供給機構の詳細構成図である。
【図9】 第2の実施の形態に係わるプログラマブル論理回路装置に図5で示した回路構成を適用した例である。
【符号の説明】
10、80 プログラマブル論理回路装置
12 論理セル
18、18A、18B クロックライン
24A、24B、24C クロック制御回路
26A、26B、26C クロックバッファ
28A、28B、28C イネーブル信号入力端子
30A、30B 領域
70、72 回路
74、76 領域
82 切断可能ポイント
90、92 領域
Claims (4)
- 部分的に回路機能を再構成可能なプログラマブル論理回路装置における回路機能の再構成方法であって、
再構成される回路機能が配置された領域のクロックラインを、他の領域のクロックラインと分離し、
再構成時に、当該再構成される回路機能が配置された領域のクロックラインのみ、クロック信号の供給を停止して、回路機能を再構成する、
ことを特徴とする回路機能の再構成方法。 - 多数の論理セルを備え、回路機能を再構成可能な複数の領域に分割されたプログラマブル論理回路と、
前記複数の領域の各々に独立してクロック信号を供給可能に接続されたクロックラインと、
前記クロックライン毎にクロック信号の供給及び停止を行うクロック信号供給停止手段と、
再構成時に、当該再構成される回路機能が配置された領域のクロックラインのみ、前記クロック信号供給停止手段によるクロック信号の供給を停止して、回路機能を再構成する制御を行う制御手段と、
を有するプログラマブル論理回路装置。 - 多数の論理セルを備えたプログラマブル論理回路と、
前記論理セルの各々に対してクロック信号を供給可能に設けられたクロックラインと、
前記クロックラインに設けられ、前記論理セルの各々に対して、クロック信号の供給及び停止の何れか一方の状態に切替えて、クロックラインを複数に分割可能にする切替手段と、
前記切替手段によって分割されたクロックライン毎にクロック信号の供給及び停止を行うクロック信号供給停止手段と、
を有するプログラマブル論理回路装置。 - 前記クロック信号供給停止手段によるクロック信号供給時の駆動能力を、前記切替手段によって分割されたクロックライン毎に、当該クロックラインにより前記クロック信号を供給する論理セルの数に応じて設定する設定手段を更に有する、
ことを特徴とする請求項3に記載のプログラマブル論理回路装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000192540A JP3707360B2 (ja) | 2000-06-27 | 2000-06-27 | 回路機能の再構成方法、及びプログラマブル論理回路装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000192540A JP3707360B2 (ja) | 2000-06-27 | 2000-06-27 | 回路機能の再構成方法、及びプログラマブル論理回路装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002009613A JP2002009613A (ja) | 2002-01-11 |
| JP3707360B2 true JP3707360B2 (ja) | 2005-10-19 |
Family
ID=18691658
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000192540A Expired - Fee Related JP3707360B2 (ja) | 2000-06-27 | 2000-06-27 | 回路機能の再構成方法、及びプログラマブル論理回路装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3707360B2 (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7418574B2 (en) * | 2002-10-31 | 2008-08-26 | Lockheed Martin Corporation | Configuring a portion of a pipeline accelerator to generate pipeline date without a program instruction |
| WO2005034353A1 (ja) * | 2003-10-03 | 2005-04-14 | Fujitsu Limited | フィールドプログラマブルゲートアレイの書き換えシステム |
| JP2006215857A (ja) * | 2005-02-04 | 2006-08-17 | Koshida Tec:Kk | 産業廃棄物等監視システムおよび監視方法 |
| JP5277615B2 (ja) * | 2007-11-22 | 2013-08-28 | 富士ゼロックス株式会社 | データ処理装置及びデータ処理プログラム |
| WO2018069787A1 (en) * | 2016-10-14 | 2018-04-19 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device, broadcasting system, and electronic device |
| CN115913213B (zh) * | 2022-11-14 | 2026-03-24 | 思瑞浦微电子科技(苏州)股份有限公司 | 芯片引脚功能重构方法及芯片 |
-
2000
- 2000-06-27 JP JP2000192540A patent/JP3707360B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002009613A (ja) | 2002-01-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3883655B2 (ja) | 構成メモリおよびデジタルシステム、ならびに、プログラマブルロジックデバイスを構成かつプログラムする方法および構成メモリをプログラムする方法 | |
| US5844422A (en) | State saving and restoration in reprogrammable FPGAs | |
| JP3444216B2 (ja) | プログラマブルデバイス | |
| US5737766A (en) | Programmable gate array configuration memory which allows sharing with user memory | |
| US5809281A (en) | Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM | |
| US5705938A (en) | Programmable switch for FPGA input/output signals | |
| JP4388069B2 (ja) | コンフィギュレーション可能なロジック回路装置 | |
| US7489163B2 (en) | FPGA powerup to known functional state | |
| CA2147363A1 (en) | Improved configurable cellular array | |
| GB2281427A (en) | Programmable logic cell array architecture | |
| US11960734B2 (en) | Logic fabric based on microsector infrastructure with data register having scan registers | |
| JP6517626B2 (ja) | 再構成可能な半導体装置 | |
| JP2022054412A (ja) | マイクロセクタインフラストラクチャに基づくロジックファブリック | |
| US6029236A (en) | Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM | |
| JP3707360B2 (ja) | 回路機能の再構成方法、及びプログラマブル論理回路装置 | |
| US6054871A (en) | Method for self-reconfiguration of logic in a field programmable gate array | |
| US7613899B2 (en) | Reconfigurable data processing device and method | |
| US7030646B1 (en) | Functional pre-configuration of a programmable logic device | |
| JP2004200311A (ja) | 論理検証装置 | |
| US7876125B1 (en) | Register data retention systems and methods during reprogramming of programmable logic devices | |
| US20230342327A1 (en) | System on chip architecture, interposer, fpga and method of design | |
| EP0769223B1 (en) | Programmable switch for fpga input/output signals | |
| JP4185979B2 (ja) | 高速低消費電力論理装置 | |
| US6680871B1 (en) | Method and apparatus for testing memory embedded in mask-programmable logic device | |
| EP1233517A1 (en) | A system for rapid configuration of a programmable logic device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040216 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050224 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050412 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050610 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050712 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050725 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090812 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100812 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110812 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120812 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120812 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130812 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |