(57)【要約】【課題】ＦＰＧＡを用いた従来の出力制御装置は、リセット信号の解除によって外部装置が先行して起動することがあり、ＦＰＧＡからの正常な信号を受けることなく誤動作してしまうという課題があった。【解決手段】この発明に係る出力制御装置は、リセット信号が与えられたとき外部からのデータを読み込んでコンフィグレーションするＦＰＧＡ２を有し、ＦＰＧＡ２からの信号を外部装置１００に出力するようにした出力制御装置に於いて、リセット信号を保持してＦＰＧＡ２及び外部装置１００にリセット信号を継続して与えるリセット保持手段１７を備え、ＦＰＧＡ２のコンフィグレーションが終了したとき、リセット保持手段１７によるリセット信号の保持を解除すると共にＦＰＧＡ２からの信号を出力するようにしたものである。【選択図】図１
2008072573.tif 000002
【特許請求の範囲】
【請求項１】
外部からのデータを読み込んでコンフィグレーションするＦＰＧＡを有し、前記ＦＰＧＡからの信号を外部装置に出力するようにした出力制御装置であって、リセット信号を保持して前記ＦＰＧＡ及び前記外部装置に前記リセット信号を継続して与えるリセット保持手段を備え、前記ＦＰＧＡのコンフィグレーションが終了したとき、前記リセット保持手段による前記リセット信号の保持を解除すると共に前記ＦＰＧＡからの前記信号を出力するようにしたことを特徴とする出力制御装置。
【請求項２】
前記ＦＰＧＡからの信号の送出を制御するバッファ手段を備え、前記バッファ手段は、前記リセット保持手段により前記リセット信号が保持されているときは前記信号の出力を阻止し、前記リセット信号の保持が解除されたときは前記信号の出力を可能とするよう制御されることを特徴とする請求項1に記載の出力制御装置。
【請求項３】
前記ＦＰＧＡの内部に設けられ、外部からのクロック信号を分周した分周クロック信号を前記ＦＰＧＡのコンフィグレーションの終了以降に出力するクロック分周回路と、前記クロック分周回路からの前記分周クロック信号が入力されたとき前記リセット保持手段による前記リセット信号の保持を解除するクロック断検出手段とを備えたことを特徴とする請求項１又は２に記載の出力制御装置。
【請求項４】
前記リセット信号を発生するリセット発生手段と、前記データを記憶する第1の記憶手段と、前記データを記憶する第２の記憶手段と、前記ＦＰＧＡが読み込むデータを前記第1の記憶手段と前記第２の記憶手段とに記憶されたデータのうち一方から他方へ切り替える切り替え手段とを備え、前記ＦＰＧＡが前記一方の記憶手段に記憶されたデータによるコンフィグレーションが所定時間内に終了しなかったとき、又は前記コンフィグレーションに異常が生じたとき、前記リセット発生手段により前記リセット信号を発生させると共に、前記切り替え手段により前記切り替えを行い前記他方の記憶手段に記憶されているデータにより前記ＦＰＧＡをコンフィグレーションさせることを特徴とする請求項１乃至３のいずれかに記載の出力制御装置。
【請求項５】
前記外部装置に前記ＦＰＧＡからの信号の入力を制御する外部装置側バッファ手段を備え、前記外部装置側バッファ手段は、前記リセット保持手段により前記リセット信号が保持されているときは前記信号の入力を阻止し、前記リセット信号の保持が解除されたときは前記信号の入力を可能とするよう制御されることを特徴とする請求項1乃至３のいずれかに記載の出力制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、フィールドプログラマブルゲートアレイ（Field Programmable Gate Array;以下、ＦＰＧＡと称する）を用いた出力制御装置に関するものである。
【背景技術】
【０００２】
ＦＰＧＡは、外部のＲＯＭ等の記憶装置に記憶されている所定の回路データを読み込んで、論理ブロックを主体とする自己の内部回路をコンフィグレーションするよう構成された書換え可能な半導体集積回路であり、例えばＣＰＵ等の演算装置と外部装置としての周辺機器とを接続するバスインターフェイス等に用いられる。
【０００３】
従来、ＦＰＧＡを用いた出力制御装置として、ＦＰＧＡ内部にクロック分周回路を設け、このクロック分周回路からの分周クロック信号の有無をクロック断検出回路により検出し、クロック分周回路からの分周クロック信号が途絶えた場合に、スリーステートバッファ（Three State Buffer;以下、３ＳＴバッファと称する）によりＦＰＧＡからの信号を遮断し、外部デバイスや外部に設けられた周辺機器（以下、便宜上、これらを外部装置と称する）の誤動作を防止するようにした装置が提案されている。（例えば、特許文献1参照）
【０００４】
このように構成された従来の出力制御装置は、電源投入時にリセット信号を受けてＦＰＧＡのコンフィグレーションが開始され、コンフィグレーションが終了した後にリセット信号が解除されて起動し、ＦＰＧＡからＩ／Ｆ信号がバスへ出力され、出力制御装置と外部装置とがＩ／Ｆ信号の入出力を行って接続される。リセット信号は、出力制御装置及び外部装置に与えられた後、コンデンサや抵抗、又は集積回路（ＩＣ）等により一義的に決定される時間後に解除され、出力制御装置及び外部装置は、リセット信号の解除により起動する。
【０００５】
【特許文献１】特開２０００−１５１３８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のＦＰＧＡを用いた出力制御装置は、クロック分周回路からの分周クロック信号の有無に基づいてＦＰＧＡのコンフィグレーションの終了の有無を検出するように構成されているが、リセット信号が解除されても、ＦＰＧＡのコンフィグレーションが終了していない場合がある。特に、ＦＰＧＡの大規模化により、コンフィグレーションに相当の時間を要するような場合に於いてその可能性が高い。
【０００７】
この場合、リセット信号の解除によって外部装置が先行して起動し、ＦＰＧＡからの正常な信号を受けることなく、誤動作してしまうという課題があった。
【０００８】
又、従来のＦＰＧＡを用いた出力制御装置は、もしＦＰＧＡのコンフィグレーションに失敗した場合、或いはコンフィグレーションに異常が生じた場合に、マニュアル操作で再度電源を投入し、リセット信号を再発生させて一旦リセットしないとシステムを起動できないという課題があった。
【０００９】
この発明は、従来の装置に於ける前記のような課題を解決するために成されたもので、起動時等に於ける外部装置の誤動作を防止することができる出力制御装置を得ることを目的としたものである。
【００１０】
又、この発明は、ＦＰＧＡのコンフィグレーションに失敗した場合、或いはコンフィグレーションに異常が生じた場合でも、自動的に再起動することができる出力制御装置を得ることを目的とするものである。
【課題を解決するための手段】
【００１１】
この発明に係る出力制御装置は、外部からのデータを読み込んでコンフィグレーションするＦＰＧＡを有し、前記ＦＰＧＡからの信号を外部装置に出力するようにした出力制御装置であって、リセット信号を保持して前記ＦＰＧＡ及び前記外部装置に前記リセット信号を継続して与えるリセット保持手段を備え、前記ＦＰＧＡのコンフィグレーションが終了したとき、前記リセット保持手段による前記リセット信号の保持を解除すると共に前記ＦＰＧＡからの前記信号を出力するようにしたものである。
【００１２】
又、この発明に係る出力制御装置は、外部からのデータを読み込んでコンフィグレーションするＦＰＧＡを有し、前記ＦＰＧＡからの信号を外部装置に出力するようにした出力制御装置であって、リセット信号を保持して前記ＦＰＧＡ及び前記外部装置に前記リセット信号を継続して与えるリセット保持手段を備え、前記ＦＰＧＡのコンフィグレーションが終了したとき、前記リセット保持手段による前記リセット信号の保持を解除すると共に前記ＦＰＧＡからの前記信号の出力を行うようにすると共に、前記リセット信号を発生するリセット発生手段と、前記データを記憶する第1の記憶手段と、前記データを記憶する第２の記憶手段と、前記ＦＰＧＡが読み込むデータを前記第1の記憶手段と前記第２の記憶手段とに記憶されたデータのうち一方から他方へ切り替える切り替え手段とを備え、前記ＦＰＧＡが前記一方の記憶手段に記憶されたデータによるコンフィグレーションが所定時間内に終了しなかったとき、又は前記コンフィグレーションに異常が生じたとき、前記リセット発生手段により前記リセット信号を発生させると共に、前記切り替え手段により前記切り替えを行い前記他方の記憶手段に記憶されているデータにより前記ＦＰＧＡをコンフィグレーションさせるようにしたものである。
【００１３】
この発明に於いて、ＦＰＧＡとは、フィールドプログラマブルゲートアレイ（Field Programmable Gate Array）を意味するものである。
【発明の効果】
【００１４】
この発明による出力制御装置によれば、リセット信号を保持してＦＰＧＡ及び外部装置に前記リセット信号を継続して与えるリセット保持手段を備え、前記ＦＰＧＡのコンフィグレーションが終了したとき、前記リセット保持手段による前記リセット信号の保持を解除すると共に前記ＦＰＧＡからの前記信号の出力を行うようにしたので、起動時等に於ける外部装置の誤動作を防止することができる。
【００１５】
又、この発明による出力制御装置によれば、リセット信号を発生するリセット発生手段と、ＦＰＧＡに読み込まれるデータを夫々記憶する第1の記憶手段及び第２の記憶手段と、前記ＦＰＧＡが読み込むデータを前記第1の記憶手段と前記第２の記憶手段とに記憶されたデータのうち一方から他方へ切り替える切り替え手段とを備え、前記ＦＰＧＡが前記一方の記憶手段に記憶されたデータによるコンフィグレーションが所定時間内に終了しなかったとき、又は、前記コンフィグレーションに異常が生じたとき、前記リセット発生手段により前記リセット信号を発生させると共に、前記切り替え手段により前記切り替えを行い前記他方の記憶手段に記憶されているデータにより前記ＦＰＧＡをコンフィグレーションさせるようにしたので、ＦＰＧＡのコンフィグレーションに失敗した場合、又はコンフィグレーションに異常が生じた場合でも、自動的に再起動可能な出力制御装置を得ることができる。
【発明を実施するための最良の形態】
【００１６】
発明の基礎となる技術
図３は、この発明の基礎となる技術による出力制御装置の構成を示すブロック図である。図３に於いて、出力制御装置１に設けられたＦＰＧＡ２は、論理ブロックと入出力ブロックと配線とを有する書換え可能な半導体集積回路（ＬＳＩ）により構成されている。
【００１７】
ＦＰＧＡ２に接続された記憶手段としてのＲＯＭ３は、ＦＰＧＡ２にコンフィグレーションすべきデータとしての回路データを予め記憶している。ＦＰＧＡ２は、ＲＯＭ３に記憶された回路データを読み込んで所望の回路構成にコンフィグレーションされる。コンフィグレーションされるＦＰＧＡ２の回路構成は、ＲＯＭ３に記憶する回路データを変更することで変更可能である。図３に示す装置では、ＲＯＭ３は、ＦＰＧＡ２をバスインターフェースとしてコンフィグレーションさせる回路データを記憶している。
【００１８】
バスインターフェースとしてコンフィグレーションされたＦＰＧＡ２は、インターフェイス信号（以下、Ｉ／Ｆ信号と称する）４を出力する。ＦＰＧＡ２からのＩ／Ｆ信号４は、バッファ手段としての３ＳＴバッファ５を介して、出力制御装置１の内部及び外部装置（図示せず）に出力される。クロック分周回路６は、ＦＰＧＡ２の内部機能として設けられており、ＦＰＧＡ２のコンフィグレーションが終了した後、外部からのクロック信号７を所定の周期に分周した分周クロック信号８を出力する。クロック分周回路６は、ＦＰＧＡ２が何らかの異常により機能停止した場合は分周クロック信号８の出力を停止する。
【００１９】
クロック断検出手段としてのクロック断検出回路９は、クロック分周回路６からの分周クロック信号８をモニタし、分周クロック信号８が入力されている時はバッファ制御信号１０を出力して３ＳＴバッファ５をイネーブルとする。３ＳＴバッファ５は、イネーブル状態とされることでＩ／Ｆ信号４をバスへ出力する。ここで、クロック分周回路６とクロック断検出回路９と３ＳＴバッファ５とは、出力保護手段を構成している。
【００２０】
外部から与えられるリセット信号１１は、図示していないコンデンサや抵抗、又は集積回路（ＩＣ）等により定まる所定の時間継続してＦＰＧＡ２及びクロック断検出回路９に与えられる。ＦＰＧＡ２は、リセット信号１１が与えられた時点でＲＯＭ３から回路データを読み込んでコンフィグレーションを開始し、通常は、リセット信号１１が解除される前にコンフィグレーションが終了する。
【００２１】
以上のように構成された出力制御装置に於いて、電源投入と同時にリセット信号１１が与えられ、ＲＯＭ３に記憶されている回路データがＦＰＧＡ２に転送されて読み込まれ、ＦＰＧＡ２のコンフィグレーションが開始される。ＦＰＧＡ２のコンフィグレーションが終了すると、クロック分周回路６からの分周クロック信号８がクロック断検出回路９へ出力されるが、リセット信号１１が継続している間は、クロック断検出回路９からバッファ制御信号１０は出力されない。
【００２２】
所定時間後にリセット信号１１が解除されると、既にコンフィグレーションが終了しているＦＰＧＡ２のクロック分周回路６から分周クロック信号８が出力され、クロック断検出回路９はこれを検出してバッファ制御信号１０を出力する。３ＳＴバッファ５は、クロック断検出回路９からのバッファ制御信号１０を受けてイネーブル状態に移行し、ＦＰＧＡ２からのＩ／Ｆ信号４を、装置内のバスを通して外部装置へ出力する。これにより出力制御装置１と外部装置との間のＩ／Ｆ信号の入出力が行われて接続される。この場合、既にＦＰＧＡ２はコンフィグレーションを終了しているので、正常なＩ／Ｆ信号４が出力され、外部装置が誤動作することはない。
【００２３】
もし、リセット信号１１が解除されてもＦＰＧＡ２のコンフィグレーションが終了していない場合、或いは何らかの異常により、ＦＰＧＡ２のコンフィグレーションに異常が生じて機能が停止した場合、クロック分周回路６からの分周クロック信号８は出力されず、クロック断検出回路９はクロック断を検出し、バッファ制御信号１０の出力を停止するので、３ＳＴバッファ５はアンイネーブル状態に移行し、ＦＰＧＡ２からの出力を遮断する。
【００２４】
しかしながら、ＦＰＧＡ２のコンフィグレーションの終了よりリセット信号の解除が早くなると、ＦＰＧＡ２からのＩ／Ｆ信号が出力されていないのに、リセット信号の解除により外部装置が先行して起動することがあり、起動時に於ける外部装置の誤動作を防止することが困難となる。特に、ＦＰＧＡ２の大規模化により、コンフィグレーションに相当の時間を要するような場合にその可能性が高くなる。
【００２５】
又、もしＦＰＧＡ２のコンフィグレーションに失敗した場合、マニュアル操作で電源を再投入し、リセット信号１１を発生させて一旦出力制御装置をリセットしないとシステムを起動することができない。
【００２６】
実施の形態１．
図１は、この発明の実施の形態１による出力制御装置の構成を示すブロック図である。図１に於いて、出力制御装置１に設けられたＦＰＧＡ２は、論理ブロックと入出力ブロックと配線とを有する書換え可能な半導体集積回路（ＬＳＩ）により構成されている。
【００２７】
ＦＰＧＡ２に接続された記憶手段としての第１のＲＯＭ３は、ＦＰＧＡ２にコンフィグレーションすべき回路データを予め記憶している。記憶手段としての第２のＲＯＭ３１は、第１のＲＯＭ３に記憶した回路データと同一の回路データを予め記憶しており、第１のＲＯＭ３に対するバックアップ用として用いられる。コンフィグレーションされるＦＰＧＡ２の回路構成は、第1及び第２のＲＯＭ３、３１に記憶する回路データを変更することで変更可能である。実施の形態１では、第1及び第２のＲＯＭ３、３１は、ＦＰＧＡ２をバスインターフェースとしてコンフィグレーションさせる回路データを記憶している。
【００２８】
バスインターフェースとしてコンフィグレーションされたＦＰＧＡ２は、Ｉ／Ｆ信号４を出力する。ＦＰＧＡ２からのＩ／Ｆ信号４は、バッファ手段としての第1の３ＳＴバッファ５を介して、出力制御装置１の内部及び外部装置１００に出力される。
【００２９】
バッファ手段としての第２の３ＳＴバッファ１２は、イネーブル状態のとき第１のＲＯＭ３に記憶された回路データをＦＰＧＡ２へ読み込ませる。バッファ手段としての第３の３ＳＴバッファ１３は、イネーブル状態のとき第２のＲＯＭ３１に記憶された回路データをＦＰＧＡ２への読み込ませる。
【００３０】
クロック分周回路６は、ＦＰＧＡ２の内部機能として設けられており、外部からのクロック信号７を所定の周期に分周した分周クロック信号８を出力する。クロック断検出手段としてのクロック断検出回路９は、クロック分周回路６からの分周クロック信号８をモニタし、所定の分周クロック信号８が入力されている時は、起動開始信号１０１を発生し、後述するリセット保持手段としてのリセット保持回路１７、及び切り替え手段としてのバッファ切り替え回路１４へ入力する。
【００３１】
バッファ切り替え回路１４は、所定のカウント値に達した時に出力を生じるカウンタを有し、このカウンタが所定カウント値に達するまでにＦＰＧＡ２のコンフィグレーションが終了しなかった場合に、第２の３ＳＴバッファ１２と第３の３ＳＴバッファ１３とのイネーブル状態を切換え、ＦＰＧＡ２へ読み込ませる回路データを第１のＲＯＭ３に記憶したデータから第２のＲＯＭ３１に記憶したデータに切り替えると共に、リセット発生手段としてのリセット発生回路９に再起動信号１６を入力する。電源投入時には、バッファ切り替え回路１４は、第２の３ＳＴバッファ１２をイネーブル状態とし、第３の３ＳＴバッファ１３をアンイネーブル状態とする。
【００３２】
リセット発生回路１５は、電源投入時、又は、バッファ切替回路１４からの再起動信号１６が入力されたとき、リセット信号１１１を発生してリセット保持回路１７へ入力する。リセット保持回路１７は、クロック断検出回路９からの起動開始信号１０１が入力されない限り、リセット発生回路１５からのリセット信号１１１を保持し、出力制御装置１の内部へのリセット信号１１１ａ、及び外部装置１００へのリセット信号１１１ｂとして継続して出力する。従って、リセット信号１１１が保持されている間は、出力制御装置１、及び外部装置１００は起動しない。
【００３３】
尚、クロック分周回路６、クロック断検出回路９、リセット保持回路１７、第１〜第３の３ＳＴバッファ５、１２、１３は、出力保護手段を構成している。
【００３４】
以上のように構成された実施の形態１による出力制御装置に於いて、電源を投入すると、リセット発生回路１５からリセット信号１１１が出力される。このリセット信号１１１は、リセット保持回路１７により保持され、出力制御装置１、及び外部装置１００に対して、夫々リセット信号１１１ａ、１１１ｂとして継続して与えられる。
【００３５】
バッファ切り替え回路１４は、電源投入時にカウントを開始し、同時に第２の３ＳＴバッファ１２をイネーブル状態、第３の３ＳＴバッファ１３をアンイネーブル状態とする。これにより、第１のＲＯＭ３に記憶されている回路データが第２の３ＳＴバッファ１２を介してＦＰＧＡ２に読み込まれ、ＦＰＧＡ２がバスインターフェースとしてのコンフィグレーションを開始する。
【００３６】
ＦＰＧＡ２のコンフィグレーションが終了すると、クロック分周回路６は、分周クロック信号８を出力しクロック断検出回路９に入力する。これにより、クロック断検出回路９は起動開始信号１０１を発生し、リセット保持回路１７に入力する。クロック断検出回路９からの起動開始信号１０を受けたリセット保持回路１７は、その時点でリセット信号１１１の保持を停止し、リセット信号１１１ａ、１１１ｂを解除する。
【００３７】
リセット保持回路１７がリセット信号１１１の保持を停止して、リセット信号１１１ａ、１１１ｂが解除されると同時に、第１の３ＳＴバッファ５がイネーブル状態とされる。これにより、コンフィグレーションの終了しているＦＰＧＡ２からのＩ／Ｆ信号４は、装置内のバスを介して出力制御装置１への内部Ｉ／Ｆ信号４１として、及び外部装置１００への外部Ｉ／Ｆ信号４２として出力され、出力制御装置１と外部装置１００とが接続される。又、バッファ切り替え回路１４は、クロック断検出回路９からの起動開始信号１０１を受けて所定カウント値に達するまでにそのカウントを停止する。従って、クロック断検出回路９は、再起動信号１６を発生しない。
【００３８】
仮に、ＦＰＧＡ２のコンフィグレーションの途中、或いはコンフィグレーションが正常に終了していない時点でリセット発生回路１５からのリセット信号１１１が終了したとすると、ＦＰＧＡ２はコンフィグレーションを正常に終了していないので、クロック分周回路６からの分周クロック信号８が出力されず、従ってクロック断検出回路９からの起動開始信号１０１は発生されない。従って、リセット信号１１１は、リセット保持回路１７により保持されたままであり、リセット信号１１１ａ、１１１ｂとして継続する。これにより外部装置１００は先行して動作することがなく、起動時に於いて、外部装置の誤動作を防止することができる。
【００３９】
又、リセット発生回路１５からのリセット信号１１１の出力期間が短い場合でも、リセット信号１１１はリセット保持回路１７により保持されているので、上記と同様に周辺機器は先行して動作することがなく、起動時に於いて外部装置の誤動作を防止することができる。
【００４０】
更に、もしＦＰＧＡ２が、第１のＲＯＭ３からの回路データの読み込みによるコンフィグレーションに失敗した場合、又は、コンフィグレーションに異常が生じた場合には、クロック分周回路６から分周クロック信号８は出力されず、従ってクロック断検出回路９から起動開始信号１０１が出力されないので、バッファ切り替え回路１１のカウント値は設定した値に達する。これにより、バッファ切り替え回路１４は、第２の３ＳＴバッファ１２をアンイネーブル状態に移行させると共に第３の３ＳＴバッファ１３をイネーブル状態に移行させる。従って、第１のＲＯＭ３に代わって第２のＲＯＭ３１がＦＰＧＡ２に接続される。又、同時に、バッファ切り替え回路１４のカウント値が設定した値に達することにより、バッファ切り替え回路１４から再起動信号１６が発生しリセット回路１５に入力される。
【００４１】
再起動信号１６を受けたリセット回路１５は、リセット信号１１１を発生し、リセット保持回路１７に入力されて保持される。これにより、出力制御装置１及び外部装置１００は再度リセット状態となり、ＦＰＧＡ２は第２のＲＯＭ３１からの回路データを読み込み、再度コンフィグレーションされる。
【００４２】
このように、第１のＲＯＭ３からの回路データの読み込みによるＦＰＧＡ２のコンフィグレーションに失敗した場合、又はコンフィグレーションに異常が生じた場合に、コンフィグレーションの確立ができないものとして第２の３ＳＴバッファ１２からのコンフィグレーションを停止し、バックアップＲＯＭである第２のＲＯＭ３１の回路データを第３の３ＳＴバッファ１３により再度コンフィグレーションさせることにより、自動的にＦＰＧＡ２のコンフィグレーションを復旧させることができる。従って、マニュアル操作で電源を再投入し、リセット信号を発生させてリセットし直す必要はない。
【００４３】
尚、ＦＰＧＡの種類によっては、ＦＰＧＡ自体がコンフィグレーション終了時に自分自身で出力信号を発生する機能のものもあり、これらの機能を有するＦＰＧＡを利用した場合、その出力信号を、直接リセット保持回路１７に入力してリセット信号の保持を解除するようにすれば、クロック分周回路６とクロック断検出回路９を設置しなくても前述と同様の動作及び効果を得ることができる。
【００４４】
又、複数のＦＰＧＡにより回路を構成するようにした出力制御装置の場合、夫々のＦＰＧＡにクロック分周回路６とクロック断検出回路９を設け、夫々のクロック断検出回路９の起動開始信号１０１をリセット保持回路１７に入力するようにし、ＦＰＧＡの全てのコンフィグレーションが終了して全てのクロック断検出回路９からの起動開始信号１０１がリセット保持回路１７に入力されることを条件として、リセット保持回路１７によるリセットの保持を解除するようにすれば、起動時に於いて外部装置の誤動作を防止することができ、前述と同様の動作及び効果を得ることができる。
【００４５】
実施の形態２．
図２は、この発明の実施の形態２による出力制御装置の構成を示すブロック図である。図２に於いて、ＦＰＧＡ２、ＲＯＭ３、クロック分周回路６は、図３に示したＦＰＧＡ２、ＲＯＭ３、クロック分周回路６と同様に構成されている。ＦＰＧＡ２からのＩ／Ｆ信号４は、バッファ手段としての３ＳＴバッファ５を介して、出力制御装置１の内部Ｉ／Ｆ信号４１及び外部装置１００の外部Ｉ／Ｆ信号４２として出力される。
【００４６】
クロック断検出手段としてのクロック断検出回路９は、クロック分周回路６から出力される分周クロック信号８をモニタし、所定の分周クロック信号８が入力されている時は、起動開始信号１０１をリセット保持手段としてのリセット保持回路１７へ入力する。リセット発生手段としてのリセット発生回路１５は、電源投入時にリセット信号１１１を発生しリセット保持回路１７へ入力する。リセット保持回路１７は、クロック断検出回路９からの起動開始信号１０１が入力されない限り、リセット発生回路１５からのリセット信号１１１を保持し、出力制御装置１へのリセット信号１１１ａとして、及び外部装置１００に設けられた後述するバッファ制御回路１９の制御信号１１１ｂとして継続して出力する。
【００４７】
外部装置側バッファ手段としての外部装置側３ＳＴバッファ１８は、ＦＰＧＡ２から３ＳＴバッファ５を介して出力される外部Ｉ／Ｆ信号４２の外部装置１００への入力を制御するもので、イネーブル状態のとき外部Ｉ／Ｆ信号４２を外部装置１００に入力する。バッファ制御回路１９は、リセット保持回路１７によりリセット信号１１１が保持されているときは、制御信号１１１ｂに基づいて外部３ＳＴバッファ１８をアンイネーブル状態とし、リセット信号１１１の保持が停止されて制御信号１１１ｂが解除されると、外部３ＳＴバッファ１８をイネーブル状態に移行させる。外部装置１００は、外部リセット信号２０が与えられることによりリセットされ、外部リセット信号２０が解除されることにより起動する。
【００４８】
尚、クロック分周回路６、クロック断検出回路９、リセット保持回路１７、３ＳＴバッファ５、外部３ＳＴバッファ１８、バッファ制御回路１９は、出力保護手段を構成している。
【００４９】
以上のように構成された実施の形態２による出力制御装置に於いて、電源を投入すると、リセット発生回路１５から発生されたリセット信号１１１は、リセット保持回路１７により保持され、出力制御装置１及び外部装置１００に対してリセット信号１１１ａ、及びバッファ制御回路１９の制御信号１１１ｂとして継続して与えられる。又、ＲＯＭ３に記憶されている回路データがＦＰＧＡ２に読み込まれ、ＦＰＧＡ２がバスインターフェースとしてのコンフィグレーションを開始する。
【００５０】
ＦＰＧＡ２のコンフィグレーションが終了すると、クロック分周回路６から分周クロック信号８が出力されクロック断検出回路９に入力される。これによりクロック断検出回路９は、起動開始信号１０１を発生しリセット保持回路１７に入力する。クロック断検出回路９からの起動開始信号１０１が入力されたリセット保持回路１７は、その時点でリセット信号１１１の保持を停止し、リセット信号１１１ａ、及び制御信号１１１ｂを解除する。
【００５１】
リセット保持回路１７がリセット信号１１１の保持を停止すると同時に、３ＳＴバッファ５はイネーブル状態とされ、更に外部装置１００に設けられたバッファ制御回路１９は、制御信号１１１ｂが解除されることにより外部３ＳＴバッファ１８をイネーブル状態に移行させる。これにより、コンフィグレーションの確立しているＦＰＧＡ２からのＩ／Ｆ信号４は、出力制御装置１の内部Ｉ／Ｆ信号４１として出力制御装置１に入力され、且つ外部装置１００の外部Ｉ／Ｆ信号４２として外部装置１００に入力され、出力制御装置１と外部装置１００とがＩ／Ｆ信号の入出力を行い接続される。
【００５２】
いま仮に、外部リセット信号２０がＦＰＧＡ２のコンフィグレーションの途中、或いはコンフィグレーションが正常に終了していない時点で解除され、外部装置１００が先行して起動したとすると、ＦＰＧＡ２のコンフィグレーションが終了していないことにより、リセット保持回路１７はリセット信号１１１の保持を継続しており、従って、３ＳＴバッファ５及び外部３ＳＴバッファ１８はアンイネーブル状態のままであり、不安定なＩ／Ｆ信号４が外部装置１００へ出力されることはなく、外部装置１００の誤動作を防止することができる。
【００５３】
尚、ＦＰＧＡの種類によっては、ＦＰＧＡ自体がコンフィグレーション完了時に自分自身で出力信号を発生する機能のものもあり、これら機能を有するＦＰＧＡを利用した場合、その出力信号を、直接リセット保持回路１７に入力し、リセット発生装置１５によるリセット信号の保持を解除するようにすれば、クロック分周回路６とクロック断検出回路９を設置しなくても同様の動作及び効果を得ることができる。
【００５４】
又、複数のＦＰＧＡにより回路を構成するようにした出力制御装置の場合、夫々のＦＰＧＡにクロック分周回路６とクロック断検出回路９を設け、夫々のクロック断検出回路９の起動開始信号１０１をリセット保持回路１７に入力するようにし、ＦＰＧＡの全てのコンフィグレーションが終了して全てのクロック断検出回路９からの起動開始信号１０１がリセット保持回路１７に入力されることを条件として、リセット保持回路１７によるリセットの保持を解除するようにすれば、起動時に於いて外部装置の誤動作を防止することができ、前述と同様の動作及び効果を得ることができる。
【００５５】
尚、この発明の実施の形態1及び２による出力制御装置は、ＦＰＧＡをバスインターフェイスとしてコンフィグレーションするものであったが、それ以外の回路構成にコンフィグレーションされるものであっても良いことは勿論である。
【図面の簡単な説明】
【００５６】
【図１】この発明の実施の形態１による出力制御装置を示すブロック図である。
【図２】この発明の実施の形態２による出力制御装置を示すブロック図である。
【図３】この発明の基礎となる技術による出力制御装置を示すブロック図である。
【符号の説明】
【００５７】
１    出力制御装置
２    ＦＰＧＡ
３、３１    ＲＯＭ
５、１２、１３、１８    ３ＳＴバッファ
６    クロック分周回路
９    クロック断検出回路
１４    バッファ切り替え回路
１５    リセット発生回路
１７    リセット保持回路
１９    バッファ制御回路
１００    外部装置
【図１】
2008072573.tif 000003
【図２】
2008072573.tif 000004
【図３】
2008072573.tif 000005