(57)【特許請求の範囲】
【請求項１】
電源投入時に内部回路をコンフィグレーションするＦＰＧＡを含むコンフィグレーション回路であって、
前記ＦＰＧＡのコンフィグレーションに必要なコンフィグレーションデータが格納される記憶装置と、
前記記憶装置から前記コンフィグレーションデータを読み出して前記ＦＰＧＡにダウンロードするための制御用回路と、
前記ＦＰＧＡ及び前記制御用回路に供給する複数種類の電源電圧を監視し、該複数種類の電源電圧がそれぞれ安定するまで、前記ＦＰＧＡに対する前記コンフィグレーションデータのダウンロード処理を待機させる電源電圧監視回路と、
を有するコンフィグレーション回路。
【請求項２】
前記制御回路は、
前記記憶装置から前記コンフィグレーションデータを読み出して前記ＦＰＧＡにダウンロードさせるための制御用クロックを、前記コンフィグレーションを行う際に前記ＦＰＧＡから出力されるコンフィグレーションクロックを用いて生成し、
前記電源電圧監視回路は、
前記ＦＰＧＡ及び前記制御用回路に供給する複数種類の電源電圧がそれぞれ安定するまで、前記ＦＰＧＡに前記コンフィグレーションクロックの出力を待機させるための監視信号を生成する請求項１記載のコンフィグレーション回路。
【請求項３】
前記制御用回路が、ＣＰＬＤを用いて構成された請求項１または２記載のコンフィグレーション回路。
【請求項４】
ＦＰＧＡのコンフィグレーションに必要なコンフィグレーションデータが格納される記憶装置と、
前記コンフィグレーションデータを読み出して前記ＦＰＧＡにダウンロードするための制御用回路とを有し、
電源投入時に前記ＦＰＧＡの内部回路をコンフィグレーションするためのコンフィグレーション方法であって、
前記ＦＰＧＡ及び前記制御用回路に供給する複数種類の電源電圧を監視し、
該複数種類の電源電圧がそれぞれ安定するまで、前記ＦＰＧＡに対する前記コンフィグレーションデータのダウンロード処理を待機させるコンフィグレーション方法。
【請求項５】
前記記憶装置から前記コンフィグレーションデータを読み出して前記ＦＰＧＡにダウンロードさせるための制御用クロックを、前記コンフィグレーションを行う際に前記ＦＰＧＡから出力されるコンフィグレーションクロックを用いて生成し、
前記ＦＰＧＡ及び前記制御用回路に供給する複数種類の電源電圧がそれぞれ安定するまで、前記ＦＰＧＡに前記コンフィグレーションクロックの出力を待機させるための監視信号を生成する請求項４記載のコンフィグレーション方法。
【請求項６】
前記制御用回路を、ＣＰＬＤを用いて構成する請求項４または５記載のコンフィグレーション方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電源投入時に内部回路をコンフィグレーションするＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｌｌｅｙ）を含むコンフィグレーション回路に関する。
【０００２】
【従来の技術】
従来より、電源投入時等に所定の回路データを読み込んで内部回路をコンフィグレーションし、所望の論理回路として動作させることが可能な半導体素子としてＦＰＧＡが知られている。
【０００３】
以下、図４に示すような構成を例にして従来のコンフィグレーション回路について説明する。
【０００４】
図４は従来のコンフィグレーション回路の構成を示す回路図である。図５は図４に示したコンフィグレーション回路の動作を示す図であり、コンフィグレーション動作が成功する様子を示すタイミングチャートである。また、図６は図４に示したコンフィグレーション回路の動作を示す図であり、コンフィグレーション動作が失敗する様子を示すタイミングチャートである。
【０００５】
図４において、コンフィグレーション回路は、Ｉ／Ｏ用電源電圧ＶＣＣ１とコア電源電圧ＶＣＣ２の二つの電源電圧で動作するマスタＦＰＧＡ１０１及びスレーブＦＰＧＡ１０２と、ＦＰＧＡのコンフィグレーション用データが格納されたＲＯＭ１０３と、コンフィグレーション用のデータ（コンフィグレーションデータＤＡＴＡ）の読み出し制御を行う制御用回路が格納されたＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）１０４と、マスタＦＰＧＡ１０１及びスレーブＦＰＧＡ１０２のコンフィグレーションを初期化するための初期化制御用信号ＩＮＩＴＢをプルアップするためのプルアップ抵抗Ｒｐとを有する構成である。
【０００６】
マスタＦＰＧＡ１０１及びスレーブＦＰＧＡ１０２を初期化するための初期化制御用信号ＩＮＩＴＢは、ＣＰＬＤ１０４からオープンドレインで出力され、図４に示すようにその出力端子にはプルアップ抵抗Ｒｐを介してＩ／Ｏ用電源電圧ＶＣＣ１が印加されている。なお、ＣＰＬＤ１０４にはマスタＦＰＧＡ１０１及びスレーブＦＰＧＡ１０２に供給されるコア電源電圧ＶＣＣ２が供給されるものとする。
【０００７】
このような構成において、図５に示すように、初期化制御用信号ＩＮＩＴＢは、Ｉ／Ｏ用電源電圧ＶＣＣ１及びコア電源電圧ＶＣＣ２が立ち上がる以前はＬｏレベルで維持されており、マスタＦＰＧＡ１０１及びスレーブＦＰＧＡ１０２はそれぞれ初期化された状態に保たれている。
【０００８】
時刻Ｔ０においてＩ／Ｏ用電源電圧ＶＣＣ１及びコア電源電圧ＶＣＣ２の供給が開始され、Ｉ／Ｏ用電源電圧ＶＣＣ１が立ち上がって（時刻Ｔ１）から一定時間経過すると（時刻Ｔ２）、ＣＰＬＤ１０４は初期化制御用信号ＩＮＩＴＢをＨｉレベルに切り換える。
【０００９】
マスタＦＰＧＡ１０１は、初期化制御信号ＩＮＩＴＢがＬｏレベルからＨｉレベルに状態変化したことを検知すると、コンフィグレーションデータＤＡＴＡをＲＯＭ１０３から出力させるためのコンフィグレーションクロックＣＣＬＫを必要な数（ｎ個）だけＣＰＬＤ１０４に出力する（時刻Ｔ４）。
【００１０】
ＣＰＬＤ１０４は、コンフィグレーションクロックＣＣＬＫを用いてＲＯＭ１０３に対してコンフィグレーションクロックＣＣＬＫと同数（ｎ個）のコンフィグレーションデータ読み出し用の制御クロックＲＤＣＬＫを出力する。
【００１１】
ＲＯＭ１０３は、制御クロックＲＤＣＬＫに同期してｎ個のコンフィグレーションデータＤＡＴＡをマスタＦＰＧＡ１０１及びスレーブＦＰＧＡ１０２にそれぞれ出力する。
【００１２】
このようにして、ＲＯＭ１０３から出力されたコンフィグレーションデータＤＡＴＡは、マスタＦＰＧＡ１０１及びスレーブＦＰＧＡ１０２にそれぞれダウンロードされる。
【００１３】
【発明が解決しようとする課題】
しかしながら上記したような従来のコンフィグレーション回路では、ＣＰＬＤに供給されるコア電源電圧ＶＣＣ２の立ち上がり時間のばらつきを全く考慮していないため、Ｉ／Ｏ用電源電圧ＶＣＣ１に比べてコア電源電圧ＶＣＣ２が大きく遅れて立ち上がった場合に回路が正常に動作しない問題が発生する。
【００１４】
例えば、図６に示すようにＦＰＧＡに印加される電源電圧に比べてＣＰＬＤに印加される電源電圧の立ち上がりが遅い場合、ＣＰＬＤが動作を開始する以前にマスタＦＰＧＡからコンフィグレーションクロックＣＣＬＫが出力される。このような場合、ＣＰＬＤは、マスタＦＰＧＡから出力されたコンフィグレーションクロックＣＣＬＫのうち、時刻Ｔ４とＴ３間の先頭の２個分のコンフィグレーションクロックＣＣＬＫを取り込むことができずに、時刻Ｔ５以降のクロックしか認識できなくなる。
【００１５】
したがって、コンフィグレーションクロックＣＣＬＫを用いてＣＰＬＤ内で生成される制御クロックＲＤＣＬＫも欠けてしまうため、ＲＯＭから出力されるコンフィグレーションデータＤＡＴＡもｎ−２個になってしまう。
【００１６】
すなわち、従来のコンフィグレーション回路では、複数の電源電圧の立ち上がり時間にばらつきがあると、ＦＰＧＡが正常にコンフィグレーションデータを受け取ることができない問題があった。
【００１７】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、複数の電源電圧の立ち上がり時間にばらつきがある場合でも安定して動作するコンフィグレーション回路を提供することを目的とする。
【００１８】
【課題を解決するための手段】
上記目的を達成するため本発明のコンフィグレーション回路は、電源投入時に内部回路をコンフィグレーションするＦＰＧＡを含むコンフィグレーション回路であって、
前記ＦＰＧＡのコンフィグレーションに必要なコンフィグレーションデータが格納される記憶装置と、
前記記憶装置から前記コンフィグレーションデータを読み出して前記ＦＰＧＡにダウンロードするための制御用回路と、
前記ＦＰＧＡ及び前記制御用回路に供給する複数種類の電源電圧を監視し、該複数種類の電源電圧がそれぞれ安定するまで、前記ＦＰＧＡに対する前記コンフィグレーションデータのダウンロード処理を待機させる電源電圧監視回路と、
を有する構成である。
【００１９】
このとき、前記制御回路は、
前記記憶装置から前記コンフィグレーションデータを読み出して前記ＦＰＧＡにダウンロードさせるための制御用クロックを、前記コンフィグレーションを行う際に前記ＦＰＧＡから出力されるコンフィグレーションクロックを用いて生成し、
前記電源電圧監視回路は、
前記ＦＰＧＡ及び前記制御用回路に供給する複数種類の電源電圧がそれぞれ安定するまで、前記ＦＰＧＡに前記コンフィグレーションクロックの出力を待機させるための監視信号を生成してもよく、
前記制御用回路が、ＣＰＬＤを用いて構成されていてもよい。
【００２０】
一方、本発明のコンフィグレーション方法は、ＦＰＧＡのコンフィグレーションに必要なコンフィグレーションデータが格納される記憶装置と、
前記コンフィグレーションデータを読み出して前記ＦＰＧＡにダウンロードするための制御用回路とを有し、
電源投入時に前記ＦＰＧＡの内部回路をコンフィグレーションするためのコンフィグレーション方法であって、
前記ＦＰＧＡ及び前記制御用回路に供給する複数種類の電源電圧を監視し、
該複数種類の電源電圧がそれぞれ安定するまで、前記ＦＰＧＡに対する前記コンフィグレーションデータのダウンロード処理を待機させる方法である。
【００２１】
このとき、前記記憶装置から前記コンフィグレーションデータを読み出して前記ＦＰＧＡにダウンロードさせるための制御用クロックを、前記コンフィグレーションを行う際に前記ＦＰＧＡから出力されるコンフィグレーションクロックを用いて生成し、
前記ＦＰＧＡ及び前記制御用回路に供給する複数種類の電源電圧がそれぞれ安定するまで、前記ＦＰＧＡに前記コンフィグレーションクロックの出力を待機させるための監視信号を生成してもよく、
前記制御用回路を、ＣＰＬＤを用いて構成してもよい。
【００２２】
上記のようなコンフィグレーション回路及び方法では、ＦＰＧＡ及び制御用回路に供給する複数種類の電源電圧を監視し、該複数種類の電源電圧がそれぞれ安定するまでＦＰＧＡに対するコンフィグレーションデータのダウンロード処理を待機させることで、複数種類の電源電圧の立ち上がり時間がばらついても、制御回路が動作を開始する以前にＦＰＧＡからコンフィグレーションクロックが出力されないため、記憶装置からコンフィグレーションデータを正しく読み出すことができる。
【００２３】
【発明の実施の形態】
次に本発明について図面を参照して説明する。
【００２４】
図１は本発明のコンフィグレーション回路の一構成例を示す回路図であり、図２は図１に示したコンフィグレーション回路の動作を示すタイミングチャートである。
【００２５】
図１に示すように、本発明のコンフィグレーション回路は、Ｉ／Ｏ用電源電圧ＶＣＣ１とコア電源電圧ＶＣＣ２の二つの電源電圧で動作するマスタＦＰＧＡ１及びスレーブＦＰＧＡ２と、ＦＰＧＡのコンフィグレーション用データが格納されたＲＯＭ３と、コンフィグレーション用のデータ（コンフィグレーションデータＤＡＴＡ）の読み出し制御を行う制御用回路が格納されたＣＰＬＤ４と、マスタＦＰＧＡ１及びスレーブＦＰＧＡ２のコンフィグレーションを初期化するための初期化制御用信号ＩＮＩＴＢをプルアップするためのプルアップ抵抗Ｒｐと、Ｉ／Ｏ用電源電圧ＶＣＣ１及びコア電源電圧ＶＣＣ２をそれぞれ監視する電源電圧監視回路５とを有する構成である。
【００２６】
なお、図１では、ＣＰＬＤ４でコンフィグレーション用データの読み出し制御を行う制御用回路を構成する例を示しているが、制御用回路は論理ゲート等を用いて構成してもよい。また、図１ではスレーブＦＰＧＡが１つの構成を示しているが、スレーブＦＰＧＡを複数個有する構成であってもよい。さらに、ＣＰＬＤ４にはマスタＦＰＧＡ１及びスレーブＦＰＧＡ２に供給されるコア電源電圧ＶＣＣ２が供給されるものとする。
【００２７】
電源電圧監視回路５は、Ｉ／Ｏ用電源電圧ＶＣＣ１及びコア電源電圧ＶＣＣ２をそれぞれ監視し、Ｉ／Ｏ用電源電圧ＶＣＣ１及びコア電源電圧ＶＣＣ２がそれぞれ安定したらＣＰＬＤ４に送信する電圧監視信号ＯＢＳＥＲＶＥＢをＬｏレベルからＨｉレベルに変化させる。ＣＰＬＤ４は、Ｉ／Ｏ用電源電圧ＶＣＣ１及びコア電源電圧ＶＣＣ２が安定する時刻Ｔ６（電圧監視信号ＯＢＳＥＲＶＥＢがＬｏレベルからＨｉレベルに切り換わる時刻）までコンフィグレーション初期化制御用信号ＩＮＩＴＢをＬｏレベルで維持する。
【００２８】
このような構成において、次に図２を用いて本発明のコンフィグレーション回路の動作について説明する。
【００２９】
図２に示すように、初期化制御用信号ＩＮＩＴＢはＩ／Ｏ用電源電圧ＶＣＣ１及びコア電源電圧ＶＣＣ２が立ち上がる以前はＬｏレベルで維持されており、マスタＦＰＧＡ１及びスレーブＦＰＧＡ２はそれぞれ初期化された状態に保たれている。また、電圧監視信号ＯＢＳＥＲＶＥＢもＬｏレベルで維持されている。
【００３０】
時刻Ｔ０においてＩ／Ｏ用電源電圧ＶＣＣ１及びコア電源電圧ＶＣＣ２の供給が開始され、時刻Ｔ１にてＩ／Ｏ用電源電圧ＶＣＣ１が立ち上がる。このとき、コア電源電圧ＶＣＣ２が安定していない場合は、電圧監視信号ＯＢＳＥＲＶＥＢはＬｏレベル状態で維持されるため、時刻Ｔ２になっても初期化制御用信号ＩＮＩＴＢはＬｏレベルで維持される。
【００３１】
時刻Ｔ３においてコア電源電圧ＶＣＣ２が立ち上がると、電源電圧監視回路５はコア電源電圧ＶＣＣ２が安定した時刻Ｔ６にて電圧監視信号ＯＢＳＥＲＶＥＢをＬｏレベルからＨｉレベルへと状態変化させる。
【００３２】
ＣＰＬＤ４は、電圧監視信号ＯＢＳＥＲＶＥＢがＬｏレベルからＨｉレベルに状態変化したことを検知すると、同時刻Ｔ６にて初期化制御用信号ＩＮＩＴＢをＬｏレベルからＨｉレベルへと状態変化させる。つまり、マスタＦＰＧＡ１のコンフィグレーションクロックＣＣＬＫの出力は、時刻Ｔ２〜Ｔ６の間、初期化制御用信号ＩＮＩＴＢによって待機（ｗａｉｔ）させられる。
【００３３】
マスタＦＰＧＡ１は、初期化制御用信号ＩＮＩＴＢがＬｏレベルからＨｉレベルに状態変化したことを検知すると、時刻Ｔ７にてＣＰＬＤ４に対するコンフィグレーションクロックＣＣＬＫの出力を開始する。
【００３４】
ＣＰＬＤ４は、時刻Ｔ７においてコンフィグレーションデータ読み出し用制御クロック（ＲＤＣＬＫ）をＲＯＭ３に出力し、ＲＯＭ３からのコンフィグレーションデータＤＡＴＡの読み出し制御を開始する。
【００３５】
時刻Ｔ８以降、ＲＯＭ３は、制御クロックＲＤＣＬＫに同期してｎ個のコンフィグレーションデータＤＡＴＡをマスタＦＰＧＡ１及びスレーブＦＰＧＡ２にそれぞれ出力する。
【００３６】
このようにして、ＲＯＭ３から出力されたコンフィグレーションデータＤＡＴＡは、マスタＦＰＧＡ１及びスレーブＦＰＧＡ２にそれぞれ安定してダウンロードされる。
【００３７】
したがって、Ｉ／Ｏ用電源電圧ＶＣＣ１及びコア電源電圧ＶＣＣ２の立ち上がり時間がばらつき、ＣＰＬＤ４が動作する以前にマスタＦＰＧＡ１及びスレーブＦＰＧＡ２が立ち上がっても、電源電圧監視回路５でＩ／Ｏ用電源電圧ＶＣＣ１及びコア電源電圧ＶＣＣ２をそれぞれ監視し、それらが安定した後にＣＰＬＤ４に送信する電圧監視信号ＯＢＳＥＲＶＥＢをＬｏレベルからＨｉレベルに変化させるため、ＣＰＬＤ４はＩ／Ｏ用電源電圧ＶＣＣ１及びコア電源電圧ＶＣＣ２が安定するまでコンフィグレーション初期化制御用信号ＩＮＩＴＢをＬｏレベルで維持する。
【００３８】
よって、マスタＦＰＧＡ１はコア電源電圧ＶＣＣ２が安定するまでコンフィグレーションクロックＣＣＬＫを出力することがないため、ＲＯＭ４からコンフィグレーションデータＤＡＴＡを正しく読み出すことができる。
【００３９】
なお、上記説明ではマスタＦＰＧＡが１個、スレーブＦＰＧＡが１個の場合の構成を示しているが、スレーブＦＰＧＡの数に制限はない。また、ＣＰＬＤ４、マスタＦＰＧＡ１、スレーブＦＰＧＡ２にそれぞれ異なった電源電圧が供給される、例えば、図３に示すような電源電圧が３種類以上ある構成でも、電源電圧監視回路で各電源電圧ＶＣＣ１〜ＶＣＣ３をそれぞれ監視し、全ての電源電圧が安定するまでマスタＦＰＧＡにコンフィグレーションクロックＣＣＬＫの出力を待機させれば、上記と同様の効果を得ることができる。
【００４０】
【発明の効果】
本発明は以上説明したように構成されているので、以下に記載する効果を奏する。
【００４１】
ＦＰＧＡ及び制御用回路に供給する複数種類の電源電圧を監視し、該複数種類の電源電圧がそれぞれ安定するまでＦＰＧＡに対するコンフィグレーションデータのダウンロード処理を待機させることで、複数種類の電源電圧の立ち上がり時間がばらついても、制御回路が動作を開始する以前にＦＰＧＡからコンフィグレーションクロックが出力されないため、記憶装置からコンフィグレーションデータを正しく読み出すことができる。したがって、安定して動作するＦＰＧＡから成るコンフィグレーション回路を得ることができる。
【図面の簡単な説明】
【図１】本発明のコンフィグレーション回路の一構成例を示す回路図である。
【図２】図１に示したコンフィグレーション回路の動作を示すタイミングチャートである。
【図３】本発明のコンフィグレーション回路の他の構成例を示す回路図である。
【図４】従来のコンフィグレーション回路の構成を示す回路図である。
【図５】図４に示したコンフィグレーション回路の動作を示す図であり、コンフィグレーション動作が成功する様子を示すタイミングチャートである。
【図６】図４に示したコンフィグレーション回路の動作を示す図であり、コンフィグレーション動作が失敗する様子を示すタイミングチャートである。
【符号の説明】
１    マスタＦＰＧＡ
２    スレーブＦＰＧＡ
３    ＲＯＭ
４    ＣＰＬＤ
５    電源電圧監視回路
Ｒｐ    プルアップ抵抗
【図１】
0003555875.tif 000002
【図２】
0003555875.tif 000003
【図３】
0003555875.tif 000004
【図４】
0003555875.tif 000005
【図５】
0003555875.tif 000006
【図６】
0003555875.tif 000007