(57)【要約】【課題】簡易な構成で回路データの不正利用を防止するＦＰＧＡコンフィグレーションシステムを得る。【解決手段】コンフィグレーションデータ記憶部１０は、ユーザ回路データ１２と共にＦＰＧＡ３０に転送されるタイマ回路データ１３を有する。ＦＰＧＡ３０は、タイマ回路データ１３のダウンロードで実現されるタイマ回路３２を起動して、所定のタイマ時間が満了した場合はタイマ時間満了信号を出力し、かつ、ユーザ回路データ１２で実現されるユーザ回路３１の動作を停止状態とする。データ出力制御部２０は、タイマ時間満了信号を受けて、コンフィグレーションデータ記憶部１０からのユーザ回路データ１２の出力を停止させる。【選択図】図１
2014220681.tif 000002
【特許請求の範囲】
【請求項１】
コンフィグレーションデータ記憶部のユーザ回路データをＦＰＧＡに転送して当該ＦＰＧＡを動作可能な状態とするＦＰＧＡコンフィグレーションシステムにおいて、
前記コンフィグレーションデータ記憶部からのデータの出力を制御するデータ出力制御部を設け、
前記コンフィグレーションデータ記憶部は、前記ユーザ回路データと共に前記ＦＰＧＡに転送されるタイマ回路データを有すると共に、
前記ＦＰＧＡは、前記タイマ回路データのダウンロード完了後、当該タイマ回路データで実現されるタイマ回路を起動して、所定のタイマ時間が満了した場合はタイマ時間満了信号を出力すると共に、前記ユーザ回路データで実現されるユーザ回路の動作を停止状態とし、
かつ、
前記データ出力制御部は、前記タイマ時間満了信号を受けて、前記コンフィグレーションデータ記憶部からの前記ユーザ回路データの出力を停止させることを特徴とするＦＰＧＡコンフィグレーションシステム。
【請求項２】
前記データ出力制御部は、正当な利用であることを確認する手段を備え、
前記手段にて正当な利用であることが確認できた場合に、前記タイマ回路のタイマ時間を初期値とすることを特徴とする請求項１記載のＦＰＧＡコンフィグレーションシステム。
【請求項３】
前記データ出力制御部は、電源オフを検出した場合、前記タイマ回路のタイマ時間を示すカウント値を取得して、前記ＦＰＧＡコンフィグレーションデータ記憶部にタイマ値として記憶させ、
前記タイマ値の記憶後、電源がオンとなった場合は、前記タイマ値を前記タイマ回路のカウント値とすることを特徴とする請求項１または請求項２記載のＦＰＧＡコンフィグレーションシステム。
【請求項４】
前記タイマ回路のタイマ時間を示すカウント値と、前記正当な利用であることを確認する手段として用いるパスワード情報と、前記ＦＰＧＡによる前記コンフィグレーションデータ記憶部からの前記ユーザ回路データのダウンロードの可否を示す出力可否データとを不揮発性メモリに格納することを特徴とする請求項２記載のＦＰＧＡコンフィグレーションシステム。
【請求項５】
前記ＦＰＧＡは、タイマ時間が満了となる所定時間前にタイマ満了事前信号を出力し、
前記データ出力制御部は、当該タイマ満了事前信号を受けて、タイマ満了事前通知を出力することを特徴とする請求項１から請求項４のうちのいずれか１項記載のＦＰＧＡコンフィグレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム可能なゲートアレイ（ＦＰＧＡ：field-programmable gate array）のコンフィグレーション完了後、一定時間経過にてＦＰＧＡの動作及びＦＰＧＡコンフィグレーション用メモリからのデータ出力を停止する回路構成及び、その復旧を行うＦＰＧＡコンフィグレーションシステムに関するものである。
【背景技術】
【０００２】
ＳＲＡＭの技術を基に製造されているＦＰＧＡでは電源投入時に不揮発性メモリから回路データをダウンロードするコンフィグレーション処理が必須である。チップ上、または、パッケージ内部に不揮発性メモリ領域を持たないＦＰＧＡでは外付けメモリからの回路データのダウンロードが必要となる。一方、チップ上、または、パッケージ内部に不揮発性メモリ領域を持つＦＰＧＡは、その不揮発性メモリ領域からの回路データのダウンロードが必要となる。
【０００３】
上記のチップ上、または、パッケージ内部に不揮発性メモリ領域を持たないＦＰＧＡのコンフィグレーション処理は回路の生データが基板上を伝播する。そのため、伝送路上のデータを盗聴・解析することでＦＰＧＡ回路の不正コピー／不正使用が可能という問題がある。
【０００４】
このような問題に対して、従来、例えば特許文献１に記載された装置では、ＦＰＧＡとコンフィグ用ＲＯＭの間に認証用ゲートアレイ（ＧＡ）を配置することを前提としていた。このような装置では、ＦＰＧＡへのユーザ回路ダウンロード前にＦＰＧＡコンフィグレーション用ＲＯＭ−ＧＡ間、ＧＡ−ＦＰＧＡ間で認証処理を実施し、ＧＡにて正当と判断された場合にのみＦＰＧＡにユーザ回路をダウンロードすることで上記問題を解決している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−５９３１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のような従来の技術では、回路データの不正利用を防止するために専用のＧＡ及び周辺回路を追加する必要があり、必要基板面積及び基板単価が増加するという問題があった。
【０００７】
この発明は上記のような課題を解決するためになされたもので、追加部品を必要とせず、簡易な構成で回路データの不正利用を防止するＦＰＧＡコンフィグレーションシステムを得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係るＦＰＧＡコンフィグレーションシステムは、コンフィグレーションデータ記憶部のユーザ回路データをＦＰＧＡに転送してＦＰＧＡを動作可能な状態とするＦＰＧＡコンフィグレーションシステムにおいて、コンフィグレーションデータ記憶部からのデータの出力を制御するデータ出力制御部を設け、コンフィグレーションデータ記憶部は、ユーザ回路データと共にＦＰＧＡに転送されるタイマ回路データを有すると共に、ＦＰＧＡは、タイマ回路データのダウンロード完了後、タイマ回路データで実現されるタイマ回路を起動して、所定のタイマ時間が満了した場合はタイマ時間満了信号を出力すると共に、ユーザ回路データで実現されるユーザ回路の動作を停止状態とし、かつ、データ出力制御部は、タイマ時間満了信号を受けて、コンフィグレーションデータ記憶部からのユーザ回路データの出力を停止させるようにしたものである。
【発明の効果】
【０００９】
この発明のＦＰＧＡコンフィグレーションシステムは、コンフィグレーション処理時にタイマ回路データをＦＰＧＡにダウンロードし、ＦＰＧＡのタイマ回路がタイマ終了時にコンフィグレーションデータ記憶部からのデータ読み出しを停止すると共に、ＦＰＧＡを動作停止状態としたので、追加部品を必要とせず、簡易な構成で回路データの不正利用を防止することができる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１によるＦＰＧＡコンフィグレーションシステムを示す構成図である。
【図２】この発明の実施の形態１によるＦＰＧＡコンフィグレーションシステムの動作を示すフローチャートである。
【図３】この発明の実施の形態２によるＦＰＧＡコンフィグレーションシステムを示す構成図である。
【図４】この発明の実施の形態２によるＦＰＧＡコンフィグレーションシステムの動作を示すフローチャートである。
【図５】この発明の実施の形態３によるＦＰＧＡコンフィグレーションシステムを示す構成図である。
【図６】この発明の実施の形態４によるＦＰＧＡコンフィグレーションシステムを示す構成図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１は、この発明の実施の形態１によるＦＰＧＡコンフィグレーションシステム１００を示す構成図である。
図示のＦＰＧＡコンフィグレーションシステム１００は、コンフィグレーションデータ記憶部１０と、データ出力制御部２０と、ＦＰＧＡ３０を備えている。コンフィグレーションデータ記憶部１０は、ＦＰＧＡ３０へのコンフィグレーションを行うためのデータを記憶するＦＰＧＡコンフィグレーション用ＲＯＭであり、ＦＰＧＡ３０に転送するデータであるユーザプログラムデータ１１として、ユーザ回路データ１２とタイマ回路データ１３を有している。ここで、ユーザ回路データ１２は、ＦＰＧＡ３０においてユーザ回路を構成するためのデータであり、タイマ回路データ１３は、ユーザ回路データ１２の有効期限を設定するためのデータである。また、コンフィグレーションデータ記憶部１０は不揮発性ＲＯＭで構成されている。
【００１２】
データ出力制御部２０は、コンフィグレーションデータ記憶部１０からのデータの出力および前記ＦＰＧＡ３０の動作を制御する制御部であり、例えば、ＣＰＵがその制御機能に対応したプログラムを実行することにより実現されている。データ出力制御部２０は、コンフィグレーションデータ記憶部１０からＦＰＧＡ３０へのダウンロードの可否を示す値である出力可否データ２１を備えており、この出力可否データ２１がＯＦＦであった場合にコンフィグレーションデータ記憶部１０からのユーザ回路データ１２の読み出しやＦＰＧＡ３０のユーザ回路３１からの読み出しを禁止する。
【００１３】
ここで、出力可否データ２１の値はコンフィグレーションデータ記憶部１０に保存するなど、電源をＯＦＦとしても消失しない構成となっていることを前提とする。なお、本実施の形態では、データ出力制御部２０をＣＰＵを用いて構成されているとしているが、データ出力制御部２０の機能を実現できるのであれば、どのようなデバイスを用いてもよい。
【００１４】
ＦＰＧＡ３０は、ユーザ回路データ１２のダウンロードによって、所定の動作を実現するためのゲートアレイである。図中のユーザ回路３１は、ユーザ回路データ１２をダウンロードすることによって実現される回路であり、タイマ回路３２は、タイマ回路データ１３をダウンロードすることによって実現される回路である。
【００１５】
また、利用者端末２００はＦＰＧＡコンフィグレーションシステム１００に通信接続され、システム利用者が入力を行ったり、ＦＰＧＡコンフィグレーションシステム１００からのデータ表示を行ったりするための端末である。
【００１６】
次に、図２のフローチャートを用いて実施の形態１のＦＰＧＡコンフィグレーションシステム１００の処理について説明する。
ＦＰＧＡコンフィグレーションシステム１００の電源がＯＮされる（ステップＳＴ１０１）と、データ出力制御部２０は、出力可否データ２１の値がダウンロード可を示すＯＮであるならば（ステップＳＴ１０２：Ｙｅｓ）、コンフィグレーションデータ記憶部１０からＦＰＧＡ３０へのデータ出力を許可する。出力可否データ２１の値がＯＮであることを確認すると、コンフィグレーションデータ記憶部１０からＦＰＧＡ３０へのユーザ回路データ１２及びタイマ回路データ１３のダウンロードが開始される（ステップＳＴ１０３）。一方、出力可否データ２１の値がＯＦＦの場合には、コンフィグレーションデータ記憶部１０からＦＰＧＡ３０へのユーザプログラムデータ１１のダウンロードは行わない（ステップＳＴ１０２：Ｎｏ）。
【００１７】
ＦＰＧＡ３０へのユーザプログラムデータ１１のダウンロードが完了する（ステップＳＴ１０４：Ｙｅｓ）と、ＦＰＧＡ３０では、ユーザ回路３１が動作可能な状態になると共に、タイマ回路３２が動作を開始する（ステップＳＴ１０５）。タイマ回路３２が動作を開始し、その後、タイマ満了前（ステップＳＴ１０６：Ｎｏ）の所定の事前通知タイマ値になった場合（ステップＳＴ１０７：Ｙｅｓ）、ＦＰＧＡ３０は、タイマ満了事前信号をデータ出力制御部２０に対して送信する（ステップＳＴ１０８）。タイマ満了事前信号を受信したデータ出力制御部２０はユーザ回路データ１２の使用期限が近づいていることを利用者端末２００に通知する。
【００１８】
ＦＰＧＡ３０はタイマ値が満了であることを検出すると（ステップＳＴ１０６：Ｙｅｓ）、タイマ満了信号をデータ出力制御部２０に送信するのと同時に、ＦＰＧＡ３０の全出力信号を固定値とし、ユーザ回路３１の動作を停止する（ステップＳＴ１０９）。ＦＰＧＡ３０からタイマ満了信号を受信したデータ出力制御部２０は、出力可否データ２１の値をＯＦＦとし、コンフィグレーションデータ記憶部１０からＦＰＧＡ３０へのユーザ回路データ１２及びタイマ回路データ１３の出力を禁止し、利用者端末２００にＦＰＧＡ３０の利用期限が満了したことを通知する。なお、本実施の形態では説明を簡略化するためＦＰＧＡ３０の全出力信号を固定値としたが、ユーザ回路３１の動作を停止する際の動作は、ユーザ回路データ１２により入出力の方向や出力値など、停止時の状態を選択することも可能である。
【００１９】
このように、実施の形態１では、ユーザ回路データ１２とは独立してタイマ回路データ１３をコンフィグレーションデータ記憶部１０に追加することにより、ＦＰＧＡ３０にユーザ回路データ１２及びタイマ回路データ１３がダウンロード完了してから一定時間経過でユーザ回路データ１２の継続利用を不可能とすることが可能となる。これにより、コンフィグレーションデータ記憶部１０から不正にデータを盗まれた場合に一定時間経過後にユーザ回路データ１２が利用不可能となり、簡易な構成にてユーザ回路データ１２の不正利用を防止することが可能となる。
【００２０】
以上説明したように、実施の形態１のＦＰＧＡコンフィグレーションシステムによれば、コンフィグレーションデータ記憶部のユーザ回路データをＦＰＧＡに転送してＦＰＧＡを動作可能な状態とするＦＰＧＡコンフィグレーションシステムにおいて、コンフィグレーションデータ記憶部からのデータの出力を制御するデータ出力制御部を設け、コンフィグレーションデータ記憶部は、ユーザ回路データと共にＦＰＧＡに転送されるタイマ回路データを有すると共に、ＦＰＧＡは、タイマ回路データのダウンロード完了後、タイマ回路データで実現されるタイマ回路を起動して、所定のタイマ時間が満了した場合はタイマ時間満了信号を出力すると共に、ユーザ回路データで実現されるユーザ回路の動作を停止状態とし、かつ、データ出力制御部は、タイマ時間満了信号を受けて、コンフィグレーションデータ記憶部からのユーザ回路データの出力を停止させるようにしたので、追加部品を必要とせず、簡易な構成で回路データの不正利用を防止することができる。
【００２１】
また、実施の形態１のＦＰＧＡコンフィグレーションシステムによれば、ＦＰＧＡは、タイマ時間が満了となる所定時間前にタイマ満了事前信号を出力し、データ出力制御部は、タイマ満了事前信号を受けて、タイマ満了事前通知を出力するようにしたので、システム利用者はＦＰＧＡが使用不可となる前にこれを知ることができる。
【００２２】
実施の形態２．
図３は、実施の形態２のＦＰＧＡコンフィグレーションシステム１００ａを示す構成図である。
実施の形態２のＦＰＧＡコンフィグレーションシステム１００ａは、コンフィグレーションデータ記憶部１０と、データ出力制御部２０ａと、ＦＰＧＡ３０とを備え、コンフィグレーションデータ記憶部１０とＦＰＧＡ３０の構成については実施の形態１と同様であるため、ここでの説明は省略する。
【００２３】
データ出力制御部２０ａは、実施の形態１と同様の出力可否データ２１を有すると共に、ＦＰＧＡコンフィグレーションシステム１００ａの正当な利用であることを確認するためのパスワード情報２２を有している。これにより、データ出力制御部２０ａは、利用者端末２００からパスワード２０１が入力され、これがパスワード情報２２と一致した場合は正当な利用であるとして、タイマ回路３２のタイマ時間をクリアする（初期値に戻す）よう構成されている。
【００２４】
次に、図４のフローチャートを用いて実施の形態２のＦＰＧＡコンフィグレーションシステム１００ａの動作について説明する。
図４において、ステップＳＴ１０１のシステム起動からステップＳＴ１０６のタイマ回路３２が動作中のステップまでは実施の形態１と同様である。その後、タイマ値が事前通知タイマ値に到達する前に利用者端末２００からパスワード２０１が入力された場合について先ず説明する。
【００２５】
タイマ回路３２における事前通知タイマ値に達する前（ステップＳＴ１０７：Ｎｏ）に、利用者端末２００からパスワード入力（ステップＳＴ２０１：Ｙｅｓ）があると、データ出力制御部２０ａは、パスワード情報２２と照合を行う（ステップＳＴ２０２）。照合の結果、入力されたパスワード２０１がパスワード情報２２と一致した場合（ステップＳＴ２０２：Ｙｅｓ）、データ出力制御部２０ａからＦＰＧＡ３０に対してタイマ値クリア信号を送信する。タイマ値クリア信号を受信したＦＰＧＡ３０は、タイマ回路３２内のタイマ値をクリアし（ステップＳＴ２０３）、ステップＳＴ１０６に戻ってタイマ値監視を継続する。なお、本実施の形態でのタイマ値クリア信号の発生方法については、説明を簡略化するため、パスワード２０１とパスワード情報２２としているが、例えば、適合する鍵の挿入による電気信号の発生など、正規使用者が正当な手段を用いて利用できる方法であれば他の手段を用いてもよい。
【００２６】
次に、タイマ値が事前通知タイマ値に到達し（ステップＳＴ１０７：Ｙｅｓ）、ＦＰＧＡ３０がデータ出力制御部２０ａに対してタイマ満了事前信号を送信した（ステップＳＴ１０８）後に、利用者端末２００よりパスワード２０１が入力された（ステップＳＴ２０４：Ｙｅｓ）場合について説明する。入力されたパスワード２０１がパスワード情報２２と一致した場合（ステップＳＴ２０５：Ｙｅｓ）にはデータ出力制御部２０ａからＦＰＧＡ３０に対してタイマ値クリア信号を送信する。タイマ値クリア信号を受信したＦＰＧＡ３０はタイマ回路３２内のタイマ値及びタイマ満了事前信号をクリアし（ステップＳＴ２０６）、ステップＳＴ１０６に戻ってタイマ監視を継続する。
【００２７】
次に、ＦＰＧＡ３０がタイマ満了事前信号を送信した後もパスワード２０１が入力されず（ステップＳＴ２０４：Ｎｏ）タイマ満了となった場合（ステップＳＴ１０６：Ｙｅｓ）について説明する。タイマ満了を検出するとＦＰＧＡ３０はデータ出力制御部２０ａに対してタイマ満了信号を送信すると共にユーザ回路３１の全出力を固定値とし、ユーザ回路３１内の動作を停止する（ステップＳＴ１０９）。ＦＰＧＡ３０からタイマ満了信号を受信したデータ出力制御部２０ａは、出力可否データ２１の値をＯＦＦとし（ステップＳＴ１１０）、コンフィグレーションデータ記憶部１０からＦＰＧＡ３０へのユーザ回路データ１２及びタイマ回路データ１３の出力を禁止する。また、利用者端末２００にＦＰＧＡ３０の利用期限が満了したことを通知する。
【００２８】
ＦＰＧＡ３０内のタイマが満了すると、ＦＰＧＡコンフィグレーションシステム１００ａはパスワード入力待ち状態で待機する（ステップＳＴ２０７：Ｎｏ）。この状態で、利用者端末２００からパスワード入力があり（ステップＳＴ２０７：Ｙｅｓ）、かつ、そのパスワード２０１がデータ出力制御部２０ａ内に保持しているパスワード情報２２と一致した場合（ステップＳＴ２０８：Ｙｅｓ）には出力可否データ２１の値をＯＮとし、ＦＰＧＡ３０の再コンフィグレーション指示を出力する（ステップＳＴ２０９）。データ出力制御部２０ａから再コンフィグレーション指示が出力されると、コンフィグレーションデータ記憶部１０とＦＰＧＡ３０はコンフィグレーションを実施し、ＦＰＧＡ３０起動後はタイマ監視を継続する。
【００２９】
タイマ満了後にＦＰＧＡコンフィグレーションシステム１００ａがリセットされた場合、データ出力制御部２０ａの出力可否データ２１の値はＯＦＦであるため、コンフィグレーションデータ記憶部１０からＦＰＧＡ３０へのユーザプログラムデータ１１のダウンロードは実施せずに、パスワード入力待ち状態で待機する。
【００３０】
このように、実施の形態２では、データ出力制御部２０ａにパスワード情報２２を追加するという簡易な構成にて、ユーザ回路３１の不正利用の防止が可能になると共に、正規利用者は定期的なパスワード入力によりユーザ回路３１を継続して利用することが可能となる。特に、ユーザ回路データ１２の使用期限が近づいていることが利用者端末２００に通知されるため、システム利用者は継続使用する際のパスワード入力のタイミングを容易に知ることができる。また、一度タイマ満了により、回路動作が停止した後でも正規利用者のみ再度ユーザ回路３１を利用することが可能となる。
【００３１】
以上説明したように、実施の形態２のＦＰＧＡコンフィグレーションシステムによれば、データ出力制御部は、正当な利用であることを確認する手段を備え、当該手段にて正当な利用であることが確認できた場合に、タイマ回路のタイマ時間を初期値とするようにしたので、ユーザ回路データの不正利用の防止が可能になると共に、正規利用者は定期的なパスワード入力といった手段によりユーザ回路を継続して利用することが可能となる。
【００３２】
実施の形態３．
図５は実施の形態３のＦＰＧＡコンフィグレーションシステム１００ｂを示す構成図である。
図示のように、実施の形態３では、実施の形態２の構成に加えて、コンフィグレーションデータ記憶部１０ａにＦＰＧＡ３０のタイマ回路３２におけるタイマ時間を示すカウント値を記憶するためのタイマ値記憶領域を追加したものである。また、データ出力制御部２０ｂは、ＦＰＧＡコンフィグレーションシステム１００ｂの電源ＯＦＦ時に、タイマ回路３２のカウント値を読み出してコンフィグレーションデータ記憶部１０ａにタイマ値１４として記憶させ、かつ、電源ＯＮ時は、このタイマ値１４をタイマ回路３２の初期値としてコンフィグレーションデータ記憶部１０ａからＦＰＧＡ３０に転送するよう制御を行う。
【００３３】
このように構成された実施の形態３のＦＰＧＡコンフィグレーションシステム１００ｂでは、データ出力制御部２０ｂは、ＦＰＧＡコンフィグレーションシステム１００ｂの電源ＯＦＦを検出すると、ＦＰＧＡ３０内のタイマ回路３２のカウント値をラッチし、タイマ値１４としてコンフィグレーションデータ記憶部１０ａに書き込む。再度、システム電源ＯＮをデータ出力制御部２０ｂが検出すると、コンフィグレーションデータ記憶部１０ａからタイマ値１４を読込みＦＰＧＡ３０に書き込む。ＦＰＧＡ３０は書き込まれたタイマ値１４よりカウントを再開する。
【００３４】
以上説明したように、実施の形態３のＦＰＧＡコンフィグレーションシステムによれば、データ出力制御部は、電源オフを検出した場合、タイマ回路のタイマ時間を示すカウント値を取得して、ＦＰＧＡコンフィグレーションデータ記憶部にタイマ値として記憶させ、タイマ値の記憶後、電源がオンとなった場合は、タイマ値をタイマ回路のカウント値とするようにしたので、タイマ時間満了前の電源ＯＦＦ→ＯＮ操作によるユーザ回路の不正利用防止が可能となる。
【００３５】
実施の形態４．
図６は、実施の形態４のＦＰＧＡコンフィグレーションシステム１００ｃを示す構成図である。
実施の形態４のＦＰＧＡコンフィグレーションシステム１００ｃは、ＦＰＧＡ３０ａ内の不揮発メモリ領域３３、または、ＦＰＧＡコンフィグレーションシステム１００ｃ外部の外部記憶媒体／装置３００のうち、少なくともいずれかを設けたものである。これら不揮発メモリ領域３３または外部記憶媒体／装置３００には、電源オフ時記憶必要情報４００を格納する。電源オフ時記憶必要情報４００は、図示のように、パスワード情報４０１、タイマ値４０２および出力可否データ４０３からなる。パスワード情報４０１は、実施の形態２または実施の形態３におけるパスワード情報２２であり、タイマ値４０２は実施の形態３におけるタイマ値１４と同様のデータである。また、出力可否データ４０３は実施の形態１〜３における出力可否データ２１と同様のデータである。
【００３６】
不揮発メモリ領域３３は、ＥＥＰＲＯＭやフラッシュメモリのような不揮発メモリ領域であり、電源ＯＦＦ時に電源オフ時記憶必要情報４００を格納する。また、外部記憶媒体／装置３００は、ＵＳＢメモリやフラッシュメモリカードなどの半導体メモリ媒体や、ハードディスク／ＣＤ／ＤＶＤなどの記憶媒体、データサーバなどの外部装置からなる不揮発性の記憶部であり、ＦＰＧＡコンフィグレーションシステム１００ｃのデータ出力制御部２０ｃによって、データの読み出し／書き込みが行われるものである。また、外部記憶媒体／装置３００は、無線、有線を問わず、ネットワーク上の離れた場所に設置することも可能である。
さらに、データ出力制御部２０ｃにおける基本的な構成は実施の形態２や実施の形態３と同様であるが、ＦＰＧＡコンフィグレーションシステム１００ｃへの電源ＯＮ時に電源オフ時記憶必要情報４００を読み込み、出力可否データ２１やパスワード情報２２として用いる点が異なっている。
【００３７】
このように構成された実施の形態４のＦＰＧＡコンフィグレーションシステム１００ｃでは、ＦＰＧＡコンフィグレーションシステム１００ｃの電源がＯＦＦとなる場合、例えば、ＦＰＧＡ３０ａにおいてその不揮発メモリ領域３３に電源オフ時記憶必要情報４００が格納される。または、データ出力制御部２０ｃによって外部記憶媒体／装置３００に電源オフ時記憶必要情報４００が書き込まれる。
【００３８】
次に、このような電源オフ時記憶必要情報４００が保持された状態で電源がＯＮとなった場合、データ出力制御部２０ｃは、先ず、電源オフ時記憶必要情報４００を読み込み、その後、例えば、図４のフローチャートに示したような実施の形態２の動作を行う。また、タイマ値４０２については、不揮発メモリ領域３３に保持されている場合はタイマ回路３２がこのタイマ値４０２を用いて動作を開始し、外部記憶媒体／装置３００に保持されている場合はデータ出力制御部２０ｃがＦＰＧＡ３０ａに転送する。
【００３９】
以上説明したように、実施の形態４のＦＰＧＡコンフィグレーションシステムによれば、タイマ回路のタイマ時間を示すカウント値と、正当な利用であることを確認する手段として用いるパスワード情報と、ＦＰＧＡによるコンフィグレーションデータ記憶部からのユーザ回路データのダウンロードの可否を示す出力可否データとを不揮発性メモリに格納するようにしたので、電源ＯＦＦ時に記憶しておくことが必要な情報についても保持することができる。
【００４０】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００４１】
１０，１０ａ  コンフィグレーションデータ記憶部、１１  ユーザプログラムデータ、１２  ユーザ回路データ、１３  タイマ回路データ、１４，４０２  タイマ値、２０，２０ａ，２０ｂ，２０ｃ  データ出力制御部、２１，４０３  出力可否データ、２２，４０１  パスワード情報、３０，３０ａ  ＦＰＧＡ、３１  ユーザ回路、３２  タイマ回路、３３  不揮発メモリ領域、１００，１００ａ，１００ｂ，１００ｃ  ＦＰＧＡコンフィグレーションシステム、２００  利用者端末、２０１  パスワード、３００  外部記憶媒体／装置、４００  電源オフ時記憶必要情報。
【図１】
2014220681.tif 000003
【図２】
2014220681.tif 000004
【図３】
2014220681.tif 000005
【図４】
2014220681.tif 000006
【図５】
2014220681.tif 000007
【図６】
2014220681.tif 000008