(57)【要約】【課題】たとえ不都合な回路構成データが従来のセキュリティメカニズムを通過し、論理プログラマブルデバイスに入力されたとしても、当該デバイスおよび周辺回路に不具合を及ぼすことを防ぐ。【解決手段】論理プログラマブルデバイスに入力された回路構成データ１２を検査し、回路構成データ１２から構成される回路が所定の条件を満足するか判定する構成回路検証部３１２と、該判定の結果に応じて、回路構成データ１２から構成される回路が及ぼす不具合を防止するための保護動作を行う回路保護部３２０とを備える。【選択図】図３
2007243671.tif 000002
【特許請求の範囲】
【請求項１】
論理プログラマブルデバイスに入力された回路構成データを検査し、前記回路構成データから構成される回路が所定の条件を満足するか判定する構成回路検証手段と、
前記判定の結果に応じて、前記回路構成データから構成される回路が及ぼす不具合を防止するための保護動作を行う回路保護手段と、
を備えたことを特徴とする論理プログラマブルデバイス保護回路。
【請求項２】
前記構成回路検証手段は、前記回路構成データから回路が構成される前に、当該回路構成データの検査を行うことを特徴とする請求項１に記載の論理プログラマブルデバイス保護回路。
【請求項３】
前記構成回路検証手段は、前記回路構成データから回路が構成されるのと並行して、当該回路構成データの検査を行うことを特徴とする請求項１に記載の論理プログラマブルデバイス保護回路。
【請求項４】
前記回路構成データから回路が構成された後に、前記論理プログラマブルデバイスを監視する回路状態監視手段を備え、
前記回路保護手段は、前記監視の結果に応じて、前記回路構成データから構成された回路が及ぼす不具合を防止するための保護動作を行う、
ことを特徴とする請求項１から３のいずれかの項に記載の論理プログラマブルデバイス保護回路。
【請求項５】
前記回路状態監視手段は、前記論理プログラマブルデバイスの温度を測定し、
前記回路保護手段は、該測定された温度が所定の温度以上になった場合に、前記保護動作を行う、
ことを特徴とする請求項４に記載の論理プログラマブルデバイス保護回路。
【請求項６】
前記回路状態監視手段は、前記論理プログラマブルデバイスの入力又は出力のポートに関し、電位変動頻度もしくはスイッチ頻度を測定し、
前記回路保護手段は、該測定された頻度が所定の頻度以上になった場合に、前記保護動作を行う、
ことを特徴とする請求項４に記載の論理プログラマブルデバイス保護回路。
【請求項７】
前記回路状態監視手段は、前記論理プログラマブルデバイスの入力又は出力のポートに関し、電圧振幅を測定し、
前記回路保護手段は、該測定された電圧振幅が所定の範囲を超えて変化した場合に、前記保護動作を行う、
ことを特徴とする請求項４に記載の論理プログラマブルデバイス保護回路。
【請求項８】
前記回路状態監視手段は、前記論理プログラマブルデバイスの入力又は出力のポートに関し、信号周波数を測定し、
前記回路保護手段は、該測定された信号周波数に基づき、高速動作時には前記入力又は出力のポートに対する電圧を上げ、一方、低速動作時には前記入力又は出力のポートに対する電圧を下げる、
ことを特徴とする請求項４に記載の論理プログラマブルデバイス保護回路。
【請求項９】
前記回路構成データから構成された回路に対して、所定の条件の信号を入力又は出力する回路模擬手段を備えたことを特徴とする請求項１から８のいずれかの項に記載の論理プログラマブルデバイス保護回路。
【請求項１０】
前記回路構成データから構成された回路に対するクロック制御手段、該回路の内部状態の出力手段、又は、該回路の内部状態の強制変更手段のいずれか、もしくは複数を備えたことを特徴とする請求項１から９のいずれかの項に記載の論理プログラマブルデバイス保護回路。
【請求項１１】
前記論理プログラマブルデバイスの内部又は外部に設けられることを特徴とする請求項１から１０のいずれかの項に記載の論理プログラマブルデバイス保護回路。
【請求項１２】
前記論理プログラマブルデバイスの内部であって、前記回路構成データから回路が構成される領域に隣接する場所に配置されることを特徴とする請求項１１に記載の論理プログラマブルデバイス保護回路。
【請求項１３】
前記論理プログラマブルデバイスの内部において、回路構成データから動的且つ論理的に構成されることを特徴とする請求項１１に記載の論理プログラマブルデバイス保護回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理プログラマブルデバイス保護回路に関する。
【背景技術】
【０００２】
従来、論理プログラマブルデバイスに関する保護技術が知られている。例えば、非特許文献１には、論理プログラマブルデバイスの一種であるFPGA（Field Programmable Gate Array）に関し、FPGAの回路構成データをAES（Advanced Encryption Standard）と呼ばれる方式によって暗号化し、この暗号化した回路構成データをFPGAに入力してFPGA内部で復号し、この復号データに基づいて回路構成することにより、回路構成データの内容を秘匿し、設計情報等の知的財産を保護する技術が開示されている。また、DES、Triple DES、AES等の暗号化方式を用いて回路構成データを暗号化すると共に、MD5等のハッシュ方式を用いて証明書を作成することにより、回路構成データの秘匿と完全性の保証を行う技術が知られている。暗号を解くための鍵のやり取りについては、RSA公開鍵暗号法の技術が利用できる。
【０００３】
また、非特許文献２には、内蔵された専用回路が、継続的かつ自動的にFPGAにおける回路情報のCRCをチェックし、FPGA上で生じたSEU（single event upset：放射線によるビット反転）を発見・修復する技術が開示されている。SEUとは、放射線が半導体デバイス中のラッチ状態やメモリ・セルに予期せぬ結果を引き起こす現象であり、その主な原因は、（１)アルファ粒子放射線、（２）宇宙線放射線、の２つである。このうちアルファ粒子に起因する現象を最小限に抑制する技術は既に存在するが、宇宙線による大気中の中性子は防止が困難であるため、例えば非特許文献２記載の自動修復技術が利用されている。
【非特許文献１】ザイリンクス社のセキュア・チップＡＥＳビットストリーム暗号化技術、［online］、World Wide Web Consortium、［平成１８年３月７日検索］、インターネット＜ＵＲＬ：http://www.xilinx.com/products/silicon_solutions/fpgas/virtex/virtex4/capabilities/designsec.htm＞
【非特許文献２】アルテラ社のCRC自動チェック機能、［online］、World Wide Web Consortium、［平成１８年３月７日検索］、インターネット＜ＵＲＬ：http://www.altera.co.jp/products/devices/stratix2/features/st2-crc.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述した従来の保護技術では、回路構成データに含まれる知的財産やノウハウの流出を防ぐことや回路構成データの改ざんを検知することの２つを主たる目的としている。このため、従来の保護技術では、論理プログラマブルデバイスおよび周辺回路の正常な動作を妨害することを目的とした攻撃に対しては、十分に対抗することができない。例えば、悪意に基づいて論理プログラマブルデバイスの構成回路を新規に設計し、これを正規の手順で暗号化し、証明書を発行した場合には、回路構成データ自体は問題なく論理プログラマブルデバイス内で復号され、証明書による検査をパスしてしまう。そのため、当該論理プログラマブルデバイスはその回路構成データに従って構成され、その結果、当該デバイス自体や周辺回路に不具合を及ぼす恐れがある。また、回路の設計者に悪意がなくても、仕様の誤解や設計上の見落し等によって、回路に設計上の誤りが存在するならば、同様に不具合が起こる可能性がある。すなわち、正規の回路構成データに最初から含まれている設計上の誤りに対しては、従来の保護技術では対処することができないという問題がある。
【０００５】
また、従来のCRC自動チェック機能では、論理プログラマブルデバイス上に構成された回路情報のビットエラーを修復することは可能であるが、当該デバイスの動作が周辺回路に及ぼす不具合を防止することは原理的に不可能である上に、放射線による偶発的かつ低確率の単ビット反転ではなく、回路の不具合による、同時多発的な回路情報の変更については対応することができない。
【０００６】
本発明は、このような事情を考慮してなされたもので、その目的は、たとえ不都合な回路構成データが従来のセキュリティメカニズムを通過し、論理プログラマブルデバイスに入力されたとしても、当該デバイスおよび周辺回路に不具合を及ぼすことを防ぐことのできる論理プログラマブルデバイス保護回路を提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明に係る論理プログラマブルデバイス保護回路は、論理プログラマブルデバイスに入力された回路構成データを検査し、前記回路構成データから構成される回路が所定の条件を満足するか判定する構成回路検証手段と、前記判定の結果に応じて、前記回路構成データから構成される回路が及ぼす不具合を防止するための保護動作を行う回路保護手段とを備えたことを特徴とする。
【０００８】
本発明に係る論理プログラマブルデバイス保護回路においては、前記構成回路検証手段は、前記回路構成データから回路が構成される前に、当該回路構成データの検査を行うことを特徴とする。
【０００９】
本発明に係る論理プログラマブルデバイス保護回路においては、前記構成回路検証手段は、前記回路構成データから回路が構成されるのと並行して、当該回路構成データの検査を行うことを特徴とする。
【００１０】
本発明に係る論理プログラマブルデバイス保護回路においては、前記回路構成データから回路が構成された後に、前記論理プログラマブルデバイスを監視する回路状態監視手段を備え、前記回路保護手段は、前記監視の結果に応じて、前記回路構成データから構成された回路が及ぼす不具合を防止するための保護動作を行うことを特徴とする。
【００１１】
本発明に係る論理プログラマブルデバイス保護回路においては、前記回路状態監視手段は、前記論理プログラマブルデバイスの温度を測定し、前記回路保護手段は、該測定された温度が所定の温度以上になった場合に、前記保護動作を行うことを特徴とする。
【００１２】
本発明に係る論理プログラマブルデバイス保護回路においては、前記回路状態監視手段は、前記論理プログラマブルデバイスの入力又は出力のポートに関し、電位変動頻度もしくはスイッチ頻度を測定し、前記回路保護手段は、該測定された頻度が所定の頻度以上になった場合に、前記保護動作を行うことを特徴とする。
【００１３】
本発明に係る論理プログラマブルデバイス保護回路においては、前記回路状態監視手段は、前記論理プログラマブルデバイスの入力又は出力のポートに関し、電圧振幅を測定し、前記回路保護手段は、該測定された電圧振幅が所定の範囲を超えて変化した場合に、前記保護動作を行うことを特徴とする。
【００１４】
本発明に係る論理プログラマブルデバイス保護回路においては、前記回路状態監視手段は、前記論理プログラマブルデバイスの入力又は出力のポートに関し、信号周波数を測定し、前記回路保護手段は、該測定された信号周波数に基づき、高速動作時には前記入力又は出力のポートに対する電圧を上げ、一方、低速動作時には前記入力又は出力のポートに対する電圧を下げることを特徴とする。
【００１５】
本発明に係る論理プログラマブルデバイス保護回路においては、前記回路構成データから構成された回路に対して、所定の条件の信号を入力又は出力する回路模擬手段を備えたことを特徴とする。
【００１６】
本発明に係る論理プログラマブルデバイス保護回路においては、前記回路構成データから構成された回路に対するクロック制御手段、該回路の内部状態の出力手段、又は、該回路の内部状態の強制変更手段のいずれか、もしくは複数を備えたことを特徴とする。
【００１７】
本発明に係る論理プログラマブルデバイス保護回路においては、前記論理プログラマブルデバイスの内部又は外部に設けられることを特徴とする。
【００１８】
本発明に係る論理プログラマブルデバイス保護回路においては、前記論理プログラマブルデバイスの内部であって、前記回路構成データから回路が構成される領域に隣接する場所に配置されることを特徴とする。
【００１９】
本発明に係る論理プログラマブルデバイス保護回路においては、前記論理プログラマブルデバイスの内部において、回路構成データから動的且つ論理的に構成されることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、論理プログラマブルデバイスに入力された回路構成データから構成される回路を検証し、該構成される回路が及ぼす不具合を防止するための保護動作を行う。これにより、たとえ不都合な回路構成データが従来のセキュリティメカニズムを通過し、論理プログラマブルデバイスに入力されたとしても、当該デバイスおよび周辺回路に不具合を及ぼすことを防ぐことが可能になる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照し、本発明の一実施形態について説明する。
図１は、本発明の一実施形態に係る論理プログラマブルデバイス保護回路が適用される論理プログラマブルデバイス１１に関するネットワーク対応型動的再構成システムの構成例を示すブロック図である。図１において、各端末１０の内部には論理プログラマブルデバイス１１が搭載されている。ユーザがサービスを利用する場合には、必要に応じて、ソフトウェアと共に回路構成データ１２をサーバ２０からネットワーク２３経由で端末１０にダウンロードし、該回路構成データ１２を端末１０内の論理プログラマブルデバイス１１に入力して論理プログラマブルデバイス１１内の回路を再構成する。これにより、ネットワーク２３経由で端末１０内の論理プログラマブルデバイス１１を動的に再構成することができる。
【００２２】
なお、図１の例では、ソフトウェア及び回路構成データ１２を有するサーバ２０は、ゲートウェイ２１を介して、ルータ２２から構成されるネットワーク２３に接続している。また、端末１０は、ネットワーク２３に接続される無線基地局２４に無線接続し、該無線基地局２４を介しネットワーク２３経由でサーバ２０にアクセスすることができる。
【００２３】
また、回路構成データ１２に対する伝送経路上における盗聴・改ざん・成りすまし等は、Secure Socket Layer（SSL）等の通信プロトコルによって防御することができる。また、端末１０内においては、AES方式等により暗号化された回路構成データを論理プログラマブルデバイス１１に入力し、これを論理プログラマブルデバイス１１内部で復号化して回路構成を行う方法や、MD5等のハッシュ方式を用いて証明書との照合を行う方法が利用可能である。これらによって、回路構成データ１２そのものについては、少なくとも機密性と安全性が保証される。
【００２４】
図２には、本発明の一実施形態に係る論理プログラマブルデバイス保護回路を適用した論理プログラマブルデバイス１１の基本構成例が示されている。図２において、論理プログラマブルデバイス１１は、予め構成済みの回路１１０と、論理プログラマブルデバイス１１に入力された回路構成データ１２から回路が構成される領域１２０とを有する。領域１２０は、回路構成データ１２から回路を再構成することが可能な領域である。論理プログラマブルデバイス１１の内部には、論理プログラマブルデバイス保護回路としての内部保護回路３０ａ又は隣接保護回路３０ｃが設けられる。内部保護回路３０ａは構成済み回路１１０内に設けられる。隣接保護回路３０ｃは領域１２０に隣接する場所に配置される。また、論理プログラマブルデバイス１１の外部には、論理プログラマブルデバイス保護回路としての外部保護回路３０ｂが設けられる。なお、内部保護回路３０ａ、外部保護回路３０ｂ、又は隣接保護回路３０ｃのいずれか、若しくは複数が設けられるようにしてもよい。
【００２５】
以下、内部保護回路３０ａ、外部保護回路３０ｂ、及び隣接保護回路３０ｃを特に区別しないときは「論理プログラマブルデバイス保護回路３０」と称する。
【００２６】
図３、図４は、本発明の一実施形態に係る論理プログラマブルデバイス保護回路３０の構成を示すブロック図である。
図３、図４において、論理プログラマブルデバイス保護回路３０は、回路構成データ事前検査部３１０と回路保護部３２０と回路状態監視部３３０とを有する。なお、論理プログラマブルデバイス保護回路３０は、回路構成データ事前検査部３１０又は回路状態監視部３３０のいずれか一方のみと、回路保護部３２０とを備えるようにしてもよい。
【００２７】
図３において、回路構成データ事前検査部３１０は、回路構成データ完全性検証部３１１と、構成回路検証部３１２とを有し、論理プログラマブルデバイス１１に入力された回路構成データ１２の内容を事前に検査する。
【００２８】
回路構成データ完全性検証部３１１は、入力された回路構成データ１２そのものの正当性を検証する。この回路構成データ完全性検証部３１１については従来の保護技術の範疇である。
【００２９】
構成回路検証部３１２は、入力された回路構成データ１２を検査し、該回路構成データ１２から構成される回路が所定の条件を満足するか判定する。構成回路検証部３１２において、検証部３１３は、回路構成データ１２から構成される回路の大きさや位置が所定の範囲であるか判定する。この判定の結果、所定の範囲外の場合には異常検出となる。
【００３０】
インタフェース条件検証部３１２は、回路構成データ１２から構成される回路が所定のインタフェース条件を満たすか判定する。そのインタフェース条件としては、例えば、信号入出力回路の配置位置や入出力信号の電圧が妥当であることなどが挙げられる。この判定の結果、所定のインタフェース条件を満たさない場合には異常検出となる。
【００３１】
動作条件検証部３１４は、回路構成データ１２から構成される回路の動作電圧や動作周波数が所定の範囲であるか判定する。この判定の結果、所定の範囲外の場合には異常検出となる。
【００３２】
検証部３１６は、入力された回路構成データ１２と、特定の回路を構成する所定の回路構成データとを照合（パターン比較）し、一致するか判定する。その比較する特定の回路とは、論理プログラマブルデバイス１１の内部の回路や論理プログラマブルデバイス１１の外部の周辺回路に対して、不具合を及ぼす可能性のある回路である。従って、パターン比較の結果、一致した場合は異常検出となる。
【００３３】
回路構成プロセス部３１７は、入力された回路構成データ１２から、領域１２０において回路を構成する。この回路構成プロセス部３１７は従来の論理プログラマブルデバイスの技術と同様である。
【００３４】
なお、構成回路検証部３１２は、回路構成データ１２から回路が構成される前に当該回路構成データ１２の検査を行うようにしてもよく、或いは、回路構成データ１２から回路が構成されるのと並行して当該回路構成データ１２の検査を行うようにしてもよい。
【００３５】
回路保護部３２０は、回路構成データ１２から構成される回路が及ぼす不具合を防止するための保護動作を行う各部３２１〜３２７を有する。各部３２１〜３２７は、構成回路検証部３１２により異常が検出された場合に、保護動作を実行する。
【００３６】
回路構成動作の停止・禁止部３２１は、領域１２０における回路構成動作を停止又は禁止する。
警告信号出力部３２２は、論理プログラマブルデバイス１１の所定の出力ポートに警告信号を出力する。
入出力ポート駆動停止部３２３は、論理プログラマブルデバイス１１の所定の入力又は出力のポートに関し、その駆動を停止する。
強制的再構成部３２４は、領域１２０の回路を強制的に再構成させる。
電源供給停止部３２５は、論理プログラマブルデバイス１１における所定領域に対して、電源供給を停止する。
再起動部３２６は、論理プログラマブルデバイス１１全体を再起動させる。これにより、論理プログラマブルデバイス１１全体が初期化される。
クロック停止部３２７は、論理プログラマブルデバイス１１の動作クロックを停止する。
【００３７】
上述の各部３２１〜３２７による保護動作によって、回路構成データ１２から構成される回路が及ぼす不具合が防止される。
【００３８】
図４において、回路状態監視部３３０は、回路構成データ１２から領域１２０に回路が構成された後に、論理プログラマブルデバイス１１を監視する。この監視は、論理プログラマブルデバイス１１を動作させながら、論理プログラマブルデバイス１１の回路の状態を監視する。
【００３９】
回路状態監視部３３０において、禁止状態検出部３３１は、論理回路が本来とりえない論理状態又は望ましくない論理状態（禁止状態）に遷移することを検出する。これを検出した場合には異常検出となる。
【００４０】
消費電力測定部３３２は消費電力を測定する。この測定の結果、電力消費量が一定値を越える場合には異常検出となる。
電圧測定部３３３は電圧を測定する。この測定の結果、電圧の振幅が所定範囲から逸脱する場合には異常検出となる。
【００４１】
入出力信号照合部３３４は、論理プログラマブルデバイス１１の所定の入力ポートと出力ポートの信号を照合する。この照合の結果、信号の欠損があると判断できる場合には異常検出となる。これにより、領域１２０に構成された回路によって外部信号が不当にブロックされる等を検出する。
【００４２】
温度測定部３３５は、論理プログラマブルデバイス１１の温度を測定する。この測定の結果、所定温度を超える場合には異常検出となる。これにより、異常発熱の発生を検出する。
信号周波数測定部３３６は、論理プログラマブルデバイス１１の所定の入力又は出力のポートに関し、信号周波数を測定する。この測定の結果、所定の信号周波数範囲を逸脱する場合には異常検出となる。信号周波数としては、電位変動頻度もしくはスイッチ頻度が利用可能である。
【００４３】
電流測定部３３７は電流を測定する。この測定の結果、電流の振幅が所定範囲から逸脱する場合には異常検出となる。
雑音検出部３３８は、論理プログラマブルデバイス１１の所定の入力又は出力のポートに関し、信号ノイズを検出する。この検出の結果、所定のノイズレベルを超える場合には異常検出となる。
【００４４】
回路保護部３２０の各部３２１〜３２７は、回路状態監視部３３０により異常が検出された場合に、上述の保護動作を実行する。これにより、回路構成データ１２から構成された回路が及ぼす不具合が防止される。
【００４５】
なお、回路状態監視部３３０の信号周波数測定部３３６で測定された信号周波数に基づき、高速動作時には入力又は出力のポートに対する電圧を上げ、一方、低速動作時には入力又は出力のポートに対する電圧を下げる電圧制御手段を回路保護部３２０に設けるようにしてもよい。
【００４６】
次に、論理プログラマブルデバイス保護回路３０の各実施例（内部保護回路３０ａ、外部保護回路３０ｂ、隣接保護回路３０ｃ）について説明する。
【００４７】
内部保護回路３０ａ及び隣接保護回路３０ｃは、論理プログラマブルデバイス１１の内部に設けられる。さらに隣接保護回路３０ｃにおいては、回路構成予定の領域１２０に隣接して設けられる。
【００４８】
先ず、内部保護回路３０ａ及び隣接保護回路３０ｃの実現方法としては、論理プログラマブルデバイス１１の内部に固定的な物理回路として予め実装する方法と、回路構成データを用いて動的かつ論理的に構築する方法がある。その前者の固定的な物理回路として実装する方法によれば、論理プログラマブルデバイス１１のプログラマブルな領域を全面的に再構成した場合にも、保護機能を使用することができるという長所がある。一方、後者の動的かつ論理的に構築する方法によれば、コンパイラやCAD等の回路構成データ開発用ツールと連携することによって、様々な禁止条件や保護動作を固定的なパターンやルールあるいはプログラムとして指定することができる点、さらには内部保護回路３０ａ及び隣接保護回路３０ｃを適切な場所に配置することができる点で、自由度が高く柔軟性に優れる。その固定的なルールとしては、例えば、図５に示される回路例が挙げられる。
【００４９】
図５の回路３５０では、出力信号Ａ及びＢが同時に１になることを禁ずるというメタルールを実現している。つまり、出力信号Ａ、Ｂの元の値ＡＯＲＧ、ＢＯＲＧ、を次のように変換することによって安全性を保証することができる。
Ａ←ＡＯＲＧ
Ｂ←ＢＯＲＧ  ＡＮＤ  ¬ＡＯＲＧ  ；この操作はＡＮＤ回路３５１と反転回路３５２の組み合わせ回路によって実現される。
また、メタルールに対する違反を検出するには、次の操作で定義される出力信号Ｃ取り出せばよい。
Ｃ←ＡＯＲＧ  ＡＮＤ  ＢＯＲＧ  ；この操作は単独のＡＮＤ回路３５１によって実現される。
上述の回路３５０のように、ルールに応じて回路を動的に生成することにより、回路の監視や保護を行う機能を柔軟に実装することが可能になる。
【００５０】
また、論理プログラマブルデバイス１１の不具合の例として、異常発振による発熱を考える。例えば、論理プログラマブルデバイス１１に対する想定外の入力に起因して論理プログラマブルデバイス１１の出力が発振してしまうことが考えられる。そのときの出力が、一定時間内に許容限度を超えてハイレベルとローレベルを繰り返すと、論理プログラマブルデバイス１１の出力ドライバが発熱によって正常に動作しなくなる恐れがある。そこで、論理プログラマブルデバイス１１の最終段における出力ドライバと、それを駆動する内部回路との間に、内部保護回路３０ａ又は隣接保護回路３０ｃを配置し、出力の異常発振を検出して不具合を防止する。例えば、論理プログラマブルデバイス１１の出力に関し、ハイレベルとローレベルの遷移回数を測定し、その測定の結果から一定時間当たりの遷移回数が閾値を超える場合には、当該出力についてそれ以上のハイレベルとローレベルの切り替えを抑制する。この時、論理プログラマブルデバイス１１の別の出力ポートから、内部回路に異常発振が生じていることを通知する信号を出力する。このような機能を内部保護回路３０ａ又は隣接保護回路３０ｃとして合成することにより、出力ドライバ側に温度検知機能や電流測定機能等の特別な回路を用意しなくても、論理プログラマブルデバイス１１を発熱による不具合から保護することが可能になる。
【００５１】
次に、外部保護回路３０ｂは、論理プログラマブルデバイス１１の外部に設けられるものであり、論理プログラマブルデバイス１１の入力や出力のポートを介して論理プログラマブルデバイス１１間の信号の入出力を行う。外部保護回路３０ｂの実現方法としては、ASIC等の固定的な回路や、別の論理プログラマブルデバイスによって動的に構成する回路より実現する方法がある。外部保護回路３０ｂによれば、論理プログラマブルデバイス１１の内部の回路設計には一切変更を加えることなく、保護機能を追加できる点で優れている。また、論理プログラマブルデバイス１１の回路規模が小さい等の理由から、その内部に保護回路を設けることができない場合にも適用することができる。
【００５２】
図６、図７には、内部保護回路３０ａ、外部保護回路３０ｂ及び隣接保護回路３０ｃの適用例が示されている。
図６の適用例は、論理プログラマブルデバイス１１の再構成予定の領域１２０がカラム単位で形成され、論理プログラマブルデバイス１１の両サイドの入出力ピンに隣接している場合である。この場合、それら入出力ピンと領域１２０の間には、内部保護回路３０ａ及び隣接保護回路３０ｃを設けることができないので、外部保護回路３０ｂを設けて当該入出力ピンに対する保護を行う。また、図６においては、領域１２０に隣接するカラムに隣接保護回路３０ｃを設け、該隣接保護回路３０ｃによって入出力インタフェースの信号特性や内部状態を監視して異常を検出し、内部保護回路３０ａ又は外部保護回路３０ｂにより保護動作を行う。
【００５３】
図７の適用例は、論理プログラマブルデバイス１１の再構成予定の領域１２０が複数同時に存在する場合である。この場合において、各領域１２０が異なる用途の回路構成に使用されるときは、その構成される回路の役割や性能の組み合わせに応じて、異常検出の仕方を変えることが要求される。このような場合に柔軟に対応するためには、内部保護回路３０ａ又は隣接保護回路３０ｃを回路構成データを用いて動的に生成する方法が優れている。
【００５４】
上述のように本実施形態によれば、たとえ不都合な回路構成データが従来のセキュリティメカニズムを通過し、論理プログラマブルデバイス１１に入力されたとしても、当該デバイス１１および周辺回路に不具合を及ぼすことを防ぐことができる。
【００５５】
また、論理プログラマブルデバイス１１の内部に内部保護回路３０ａ又は隣接保護回路３０ｃを設けることにより、論理プログラマブルデバイス１１の周辺回路に対して物理的な変更を行うことなく、回路全体の安全性を高めることができる。
【００５６】
また、論理プログラマブルデバイス１１の外部に外部保護回路３０ｂを設けることにより、論理プログラマブルデバイス１１を全面的に回路構成する用途に使用する場合であっても、回路を保護する手段を提供することができる。また、外部保護回路３０ｂによれば、回路構成予定の領域１２０が論理プログラマブルデバイス１１の外周に面しているために（例えば図６参照）、隣接保護回路３０ｃが設けられない場合や、論理プログラマブルデバイス１１の回路容量の制限から内部保護回路３０ａ及び隣接保護回路３０ｃを設けられない場合にも、回路を保護する手段を提供することができる。
【００５７】
本実施形態によれば、論理プログラマブルデバイスに関するネットワーク対応型動的再構成システムにおいて、特に格別の効果が得られる。つまり、従来においては、論理プログラマブルデバイスが出荷前の検査によってその動作が十分に検証され、出荷時点では回路構成には問題がないとしても、その後の仕様変更や性能向上のための回路の再構成時には十分な検証を行うことが困難である。そのような環境においても、本実施形態によれば、回路の再構成による不具合を防止することができる。これにより、今後、端末内の論理プログラマブルデバイスを出荷後に動的に再構成して使用する用途が多岐にわたり、且つ、高機能化による回路の大規模化・複雑化が進行した場合であっても、論理プログラマブルデバイスの安全性向上に寄与することが可能になる。
【００５８】
なお、本実施形態に係る論理プログラマブルデバイス保護回路は、論理プログラマブルデバイス１１の回路の開発環境として、動作検証やデバッグに応用することができる。図８には、論理プログラマブルデバイス１１の回路の開発環境としての論理プログラマブルデバイス保護回路の構成例が示されている。図８において、論理プログラマブルデバイス保護回路は、図４に示される回路状態監視部３３０と、外部回路の模擬部３６０と、クロック制御部３６１と、内部状態の出力部３６２と、回路状態の強制変更部３６３とを有する。
【００５９】
回路状態監視部３３０は、領域１２０に構成された開発対象回路の動作をトレースするためのプローブとして利用可能である。
模擬部３６０は、開発対象回路に対して所定の条件の信号を入力又は出力する。これにより、実際には接続されていない周辺回路との信号のやり取りを模擬し、開発対象回路の動作を検証することができる。
【００６０】
クロック制御部３６１は、開発対象回路に供給するクロックを制御する。このクロック制御により、例えばクロックの間欠入力（例えば１クロックずつの入力）により開発対象回路を間欠的に動作させる等、開発対象回路の動作を任意に実行させることができる。
内部状態の出力部３６２は、開発対象回路の内部状態を表す信号を出力する。これにより、論理プログラマブルデバイス１１の外部から、開発対象回路の内部状態を把握することができる。
回路状態の強制変更部３６３は、開発対象回路の内部状態を強制的に変更させる。例えば、ラッチ回路のセット／リセット、信号レベル（ハイレベル／ローレベル）の変更、ハイインピーダンス状態のセット／リセット等を強制的に行う。
【００６１】
上述の論理プログラマブルデバイス保護回路を応用した回路開発環境によれば、特定の動作をトリガーに回路を停止させたり、論理プログラマブルデバイスの外部から内部状態を解析したりする等、ハードウェア・デバッガとして利用することが可能になる。これにより、従来のJTAGを用いた開発支援システムに比して実時間性に優れた分析を柔軟に行うことが可能になる。なお、外部に接続されている機器の情報に基づいて、論理プログラマブルデバイス保護回路の設定を動的に変更する手段を設けるようにしてもよい。これにより、さらに開発や検証の利便性や柔軟性を高めることができる。
【００６２】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、上述の実施形態では、論理プログラマブルデバイスに関するネットワーク対応型動的再構成システムを例に挙げたが、本発明は他の再構成システムにも適用可能である。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態に係る論理プログラマブルデバイス保護回路が適用される論理プログラマブルデバイス１１に関するネットワーク対応型動的再構成システムの構成例を示すブロック図である。
【図２】本発明の一実施形態に係る論理プログラマブルデバイス保護回路を適用した論理プログラマブルデバイス１１の基本構成例を示す図である。
【図３】本発明の一実施形態に係る論理プログラマブルデバイス保護回路３０の構成を示すブロック図である。
【図４】本発明の一実施形態に係る論理プログラマブルデバイス保護回路３０の構成を示すブロック図である。
【図５】同実施形態に係る論理プログラマブルデバイス保護回路３０の回路例を示す回路図である。
【図６】同実施形態に係る内部保護回路３０ａ、外部保護回路３０ｂ及び隣接保護回路３０ｃの適用例を示す図である。
【図７】同実施形態に係る内部保護回路３０ａ、外部保護回路３０ｂ及び隣接保護回路３０ｃの適用例を示す図である。
【図８】本発明の一実施形態に係る論理プログラマブルデバイス保護回路を論理プログラマブルデバイス１１の回路の開発環境に応用した場合の構成例を示すブロック図である。
【符号の説明】
【００６４】
１０…端末、１１…論理プログラマブルデバイス、１２…回路構成データ、３０…論理プログラマブルデバイス保護回路、３０ａ…内部保護回路、３０ｂ…外部保護回路、３０ｃ…隣接保護回路、１２０…再構成予定の領域、３１０…回路構成データ事前検査部、３１１…回路構成データ完全性検証部、３１２…構成回路検証部、３１７…回路構成プロセス部、３２０…回路保護部、３３０…回路状態監視部、３６０…外部回路の模擬部、３６１…クロック制御部、３６２…内部状態の出力部、３６３…回路状態の強制変更部
【図１】
2007243671.tif 000003
【図２】
2007243671.tif 000004
【図３】
2007243671.tif 000005
【図４】
2007243671.tif 000006
【図５】
2007243671.tif 000007
【図６】
2007243671.tif 000008
【図７】
2007243671.tif 000009
【図８】
2007243671.tif 000010