(57)【要約】  【課題】複雑な暗号化処理を不要とし、処理スピードを低下させることなく実質的にプログラムを保護する方法を提供する。  【解決手段】  プロセッサの一部を意図的に使用不能とすることで使用不能部位がそれぞれ異なるプロセッサを作成し、プロセッサ毎に異なる使用不能部位を特定したキー情報を反映させてソースプログラムをコンパイルし、プロセッサ毎に実行可能なオブジェクトコードを生成する。                                        【選択図】図１
2007058451.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサの一部を意図的に使用不能とすることで使用不能部位がそれぞれ異なるプロセッサを作成し、プロセッサ毎に異なる使用不能部位を特定したキー情報を反映させてソースプログラムをコンパイルし、プロセッサ毎に実行可能なオブジェクトコードを生成するプログラム保護方法。
【請求項２】
前記プロセッサはプログラマブル論理装置であり、前記オブジェクトコードは論理回路構成情報であり、前記キー情報は前記プログラマブル論理装置内の少なくとも一つ以上の使用不能状態にあるプログラマブル論理素子を特定する情報である請求項１に記載のプログラム保護方法。
【請求項３】
前記キー情報の論理回路構成情報への反映は、使用不能状態にあるプログラマブル論理素子を使用せず、かつ使用不能状態にないプログラマブル論理素子の全てを少なくとも一度は使用するように論理回路構成情報を生成する請求項２に記載のプログラム保護方法。
【請求項４】
前記プロセッサに、個体識別記号を付与し、前記キー情報と組にして管理することを特徴とする請求項１に記載のプログラム保護方法。
【請求項５】
複数のプログラマブル論理素子と、
該複数のプログラマブル論理素子を相互に接続可能に構成された配線領域とを含んで構成されるプログラマブル論理装置であって、
少なくとも一つ以上のプログラマブル論理素子をプログラム論理装置毎に異なるように使用不能な状態としたプログラマブル論理装置。
【請求項６】
個体識別記号を更に含むことを特徴とする請求項５に記載のプログラマブル論理装置。
【請求項７】
前記使用不能な状態は、配線領域における切断によって形成されるものである請求項５に記載のプログラマブル論理装置。
【請求項８】
プログラマブル論理素子が使用可能な状態か、使用不能な状態であるかを検査する手段をさらに含む請求項５に記載のプログラマブル論理装置。
【請求項９】
いずれのプログラマブル論理素子が使用不能であるかを特定するキー情報を記憶するキーメモリを更に備えたこと請求項５に記載のプログラマブル論理装置。
【請求項１０】
前記キー情報に基づき所定のプログラマブル論理素子を使用不能とする手段を更に備えた請求項９に記載のプログラマブル論理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの不正使用に対する保護方法に関し、特に、プログラマブル論理装置に使われる論理回路構成情報（コンフィグレーション情報）の保護方法、及その保護手段を備えたプログラマブル論理装置に関する。
【背景技術】
【０００２】
近年、プログラムの不正コピーによるソフトウェア業界に与える被害が甚大であることから、様々な不正コピーを防止する方法が提案され、開発されている（特許文献１、特許文献２、特許文献３参照）。しかし、プログラムの不正コピーは依然発生しており、完全にプロテクトできていないのが現状である。
【０００３】
プログラムの不正使用の防止（コピープロテクション）方法には大きく分けて２種類存在する。その１つはネットワークライセンシング（Network Licensing）方法である。もう１つは、ネットワークを利用しないスタンドアロンライセンシング（Stand-Alone Licensing）方法である。
【０００４】
ネットワークライセンシング方法は、プログラムをインストールするときに、プロダクトコードを打ち込み、ソフトが認証サーバと交信し、プロダクトコードに対応した認証キーを受け取る。この認証キーがないとプログラムを実行できないようにするものである。この方法は、管理システムの構築に莫大な費用がかかるとともに、その維持管理にも多額の費用が必要であり、またユーザがネットワークに加入していなければならないという問題がある。
【０００５】
スタンドアロンライセンシング方法としては、例えば、１つのパッケージにソフトウェアとプロテクトモジュールとを同封し、ユーザのパーソナルコンピュータにおけるパラレルポート又はシリアルポート（例えばプリンタ用コネクタ）にプロテクトモジュールを差し込まないと、同封されていたソフトウェアを使用できないようにする方法である（特許文献４）。しかし、このコピープロテクション方法では、１つのプログラムを正当に使用するためには、１つのプロテクトモジュールをコンピュータのコネクタ（ポート）に物理的に挿入しなければならない。また、本来プログラムの実行には不必要なハードウェアであるプロテクトモジュールが必要になるという問題がある。
【０００６】
特定用途の演算処理には汎用のＣＰＵではなく、特定用途向けＩＣ（ＡＳＩＣ，Application Specific IC）が使用されている。ＡＳＩＣは特定の用途のために設計、製造される集積回路であるから、プログラムとプロセッサが一体となったプロセッサであるといえる。このことから、ＡＳＩＣ用に開発されたプログラムは、他のプロセッサで不正コピーされ使用されることは実質的にあり得ない。しかし、一方においてユーザの注文に応じてゼロから回路を設計するため、開発に長期間がかかるとともに製作コストが高くなるという問題がある。
【０００７】
ＡＳＩＣの問題点を解決するために、プログラム可能な論理デバイス（ＰＬＤ，Programmable Logic Device）、ＦＰＧＡ（Field Programmable Gate Array）が用いられるケースが多くなってきている。
【０００８】
プログラマブル論理装置の基本構造は、ゲート回路を形成する基本セルである多数の論理素子が、チップ上にマトリックス状に配置され、その論理素子周辺には相互接続線が配置されるものである。なお、論理素子とは、andゲート、フリップフロップ、ラッチ、インバータ、norゲート、排他的orゲート等である。
【０００９】
プログラマブル論理装置は、装置内のプログラム可能な論理素子（プログラマブル論理素子）を論理回路構成情報に基づいて配置し、ユーザの所望する処理を実行できるように論理回路を構成し処理するものである。
【００１０】
ここで、プログラマブル論理装置の回路の構成情報は、例えば外部のメモリから電源投入時にロードされるのが一般的である。このため、メモリに格納されている構成情報に基づいて論理回路を構成（コンフィグレーション）するときのビットストリームにアクセスすることで、これをコピーして不正使用される可能性があり、かかる盗用を如何にして防止するかが課題となっている。
【００１１】
プログラマブル論理装置におけるコピープロテクトの手段についても、従来から種々の提案がなされている。例えば、下記特許文献５には、プログラマブル論理装置の外部メモリからロードされるプログラム（ビットストリーム）を、暗号化鍵を用いて暗号化するコピープロテクトの方法が開示されている。かかる暗号化においては、標準化された暗号化方式（例えばＤＥＳ（Data Encryption Standard）、ＡＥＳ（Advanced Encryption Standard）など）が用いられることが多い。
【００１２】
一方、プログラマブル論理装置においては、多数の論理素子（論理ブロック）の中に、動作不良のものが発生することが避けられないため、その対策を如何にするかが課題になっている。そのため、不良箇所を回避して論理回路構成情報を作成するという提案がなされている。例えば、下記特許文献６には、ウエハテストの段階で故障と判断された論理ブロックを記憶素子に記憶し、プログラム時にこの論理ブロックを回避してプログラムするプログラム可能な論理回路が開示されている。また、特許文献７には、欠陥の有る領域（欠陥タイル）の位置情報を不揮発性メモリに記憶し、この情報を読み出して欠陥タイルを避けてデバイスの組み込みを行う方法が提案されている。
【００１３】
【特許文献１】特開平０７−３２５７１２号公報
【特許文献２】特開２０００−２３１４８６号公報
【特許文献３】特開２０００−３２５０３９号公報
【特許文献４】特開２０００−３４７８５３号公報
【特許文献５】特表２００４−５１５００１号公報
【特許文献６】特開平０８−２９８２８９号公報
【特許文献７】特開平１１−１３５６３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上述のような暗号化と復号化によるコピープロテクトは、これを実施するシステムをチップに搭載する必要がある。また、プロセッサの処理能力の一部がこれに割かれるため、処理スピードが低下するという問題がある。とくに簡単な暗号化では解読されるおそれがあるため、暗号化方式自体が高度化、複雑化しており、暗号化・復号化による処理能力、処理スピードの低下が無視できない問題となっている。
【００１５】
そこで本発明の課題は、開発したプログラム及びそのプログラムを実行するプロセッサは、ＡＳＩＣのように特定用途向けのものではないが、ユーザがこれらを利用するときにはＡＳＩＣのようにプログラムとそのプロセッサとが１対１に関連づけられた状態で提供される。これにより、仮にそのプログラムが不正にコピーされたとしても、コピーされたプログラムは当該プロセッサ以外では実行できない。これにより実質的にプログラムの保護を図るものである。
【００１６】
また、本発明は複雑な暗号化処理を不要とすることにより処理スピードを低下させることなく実質的にプログラムを保護する方法を提供するものである。
【課題を解決するための手段】
【００１７】
本発明は、汎用プロセッサの一部を意図的に使用不能とすることで、使用不能部位がそれぞれに異なるプロセッサを作成し、プロセッサ毎に異なる使用不能の部位を特定したキー情報を反映させてソースプログラムをコンパイルし、プロセッサ毎に実行可能なオブジェクトコードを生成することによりプログラムを実質的に保護することを特徴とする。
【００１８】
この方法によれば、プロセッサとオブジェクトコードとを１対１に関係づけることができる。この結果、仮にオブジェクトコードが不正にコピーされたとしても、不正コピーされたオブジェクトコードは他のプロセッサで使用することができない。この結果、不正コピーの意味がなく、実質的に不正コピーを防止することができる。
【００１９】
前記プロセッサはプログラマブル論理装置であり、前記オブジェクトコードは論理回路構成情報であり、前記キー情報は前記プログラマブル論理装置内の少なくとも一つ以上の使用不能状態にあるプログラマブル論理素子（以下、ＰＥ）を特定する情報であることを特徴とする。
【００２０】
プログラマブル論理装置毎に異なる使用不能状態にあるＰＥを使用しないように論理回路構成情報を生成すれば、前記プロセッサのみで使用可能なオブジェクトコードを生成することができる。
【００２１】
前記キー情報の論理回路構成情報への反映が、使用不能状態にあるＰＥを使用せず、かつ使用不能状態にないＰＥの全てを使用するように論理回路構成情報を生成することであることは好ましい。
【００２２】
使用不能の状態にあるＰＥを使用せず、かつ使用不能の状態にないＰＥを全て使用するように論理回路構成情報を作成すれば、より確実に他のプログラマブル論理装置では実行不可能なオブジェクトコードを生成することができる。
【００２３】
本発明は、プログラマブル論理装置であって、該プログラマブル論理装置内の少なくとも一つ以上の特定のプログラマブル論理素子（以下、ＰＥ）をプログラマブル論理装置毎に異なるように使用不能な状態としたことを特徴とする。
【００２４】
複数のＰＥのうちから使用不能とするＰＥを特定し、使用不能なＰＥが重複しないように複数のプログラマブル論理装置を製造すれば、汎用的に設計されたプログラマブル論理装置からユニークなプログラマブル論理装置を製造することができる。
【００２５】
上記プログラマブル論理装置は、ＰＥが使用可能な状態であるか、使用不可能な状態であるかを検査する手段を含むことを特徴とする。かかる手段を同一チップ内に備えることにより、そのプログラマブル論理装置の使用不能状態のＰＥ数をチェックし、これがキー情報と一致しているか否かを検査できる。
【００２６】
上記プログラマブル論理装置は、ＰＥの使用可能、又は使用不可能の状態を表すキー情報を記憶するキーメモリを更に備えたことを特徴とする。更に、上記プログラマブル論理装置は、前記キー情報に基づきＰＥを使用不能の状態とする手段を備えたことを特徴とする。これにより、プログラマブル論路装置の製造後にどのＰＥを使用不可能の状態にするかをソフト的に操作することでユニークなプログラマブル論理装置を製造後に作成することができる。
【００２７】
また、本発明においては、プロセッサに個体識別記号を付与し、前記キー情報と組にして管理することが好ましい。
【００２８】
なお、本発明の構成は、不良なＰＥを避けて論理回路構成情報を作成するという点において、前記特許文献６，７の構成に類似する。しかし、本発明は、発明の目的のみならず、その構成においても上記文献とは基本的に相違する。本発明の構成は、意図的に使用不能なＰＥを作成すること、プロセッサ毎に使用不能なＰＥを変えることより汎用のプロセッサからユニークなプロセッサを作成すること、使用可能なＰＥの全てを使用するように論理回路構成情報を作成して、他のプロセッサでは実行不可能にすることなどを特徴とするもので、上記文献の方法とは、その発想が根本的に相違するものである。
【発明の効果】
【００２９】
本発明によれば、プログラムが不正にコピーされても、コピーされたプログラムは当該プロセッサ以外では実行できず、これにより実質的にプログラムの保護を図ることができる。また、複雑な暗号化処理を不要とするため、処理スピードが低下することなく、不正なコピーを防止することができる。
【発明を実施するための最良の形態】
【００３０】
図１は、本発明の原理の説明図である。図１(ａ)は従来のプログラマブル論理装置（ＰＬＤ）を示し、図１(ｂ)は本発明のＰＬＤを示す。ＰＬＤのハードウェアは、チップ１上にプログラマブル論理素子（ＰＥ，Programmable Element）２がマトリックス状に配列され、このＰＥが接続パターン可変に、相互接続されてなるものである。これを作動させるソフトは、通常は外部メモリからのソースプログラム３が、コンパイラ４によりオブジェクトコードに書き換えられ、これによりＰＥ間の接続を再構成し又は再構成しつつ、プログラムを実行する。
【００３１】
図１(ａ)に示す従来方法では、ＰＥ２の全てが使用可能な状態にあることが前提になっている。ソフト面でも、全てのＰＥが使用可能な状態に有ることを前提として、オブジェクトコードが作成され、論理回路の再構成とプログラムの実行がなされる。これに対して、図１(ｂ)に示す本発明の方法では、チップ１上のＰＥ２の一部（少なくとも１個のＰＥ）は使用不能な状態（不活状態）にある。不活化されたＰＥ５に関する情報は、キー情報６として入力され、メモリに記録される。コンパイラ４は、ソースプログラム３とキー情報６に基き、不活化されたＰＥ５の存在を前提にして、各ＰＬＤで固有のオブジェクトコードを作成し、論理回路の再構成とプログラムの実行を行う。
【００３２】
チップ１上で不活状態のＰＥ５が形成される位置は、各デバイス（ＰＬＤ）でランダムかつ互に相違するように選択され、これに関する情報が各デバイス固有のキー情報６となる。すなわち、各ユーザが保有するＰＬＤは、それぞれ固有の不活化されたＰＥ５とキー情報６を有し、この情報は機密になっている。
【００３３】
また、各ＰＬＤには個体識別符号が付与されており、これとキー情報とを組にして管理することにより、各ＰＬＤの識別と管理をより円滑に行うことができる。
【００３４】
かかる構成によれば、ソースプログラム３を不正コピーして同種のＰＬＤに使用しても、各デバイスに固有のキー情報６を与えなければ、実行可能なオブジェクトコードを作成することができずＰＬＤは作動しない。また、他のデバイスからソースプログラム３とキー情報６を盗用しても、そのデバイスに固有のキー情報６でなければ作動しないから、不正使用はきわめて困難になる。
【００３５】
図２は、本発明の一実施例であるプログラマブル論理装置の構成を示すブロック図である。この装置は、ソフトウェアモジュール１０と論理回路再構成可能プロセッサ２０とで構成される。
【００３６】
ソフトウェアモジュール１０は、命令セットジェネレータ１１、コンパイラ／アセンブラ１２等を有し、キー情報入力手段からキー情報１３が入力されるように構成されている。外部メモリからロードされたソースプログラム３は、命令セットジェネレータ１１により、一連の命令セット１４に変換される。この命令セット１４は、コンパイラ／アセンブラ１２でオブジェクトコードに変換されるが、その際キー情報１３に基づき、不活化されたＰＥの存在を前提として変換が行われ、論理回路構成オブジェクトコード１５及びプログラムオブジェクトコード１６が作成される。
【００３７】
キー情報入力手段はとくに限定を要しない。例えば、キーボードから入力する方法、外部の記録媒体から読み込む方法等のいずれであってもよいが、キー情報の機密保持が可能であることが必要である。なお、ここでいうキー情報とは、例えば不活化されたＰＥの種別（ＰＥに複数の種類が有る場合）、マトリックス上のアドレス（Ｘ座標、Ｙ座標）などである。
【００３８】
論理回路再構成可能プロセッサ２０は、論理回路構成オブジェクトコード１５及びプログラムオブジェクトコード１６に基づいて、再構成可能論理回路２１を必要に応じて変化させつつ、入力データ２２を演算処理し、最終的な結果として出力データ２３を出力する。
【００３９】
その際、キーメモリ２４に記録されたキー情報に基づき、不活化されたＰＥを用いないで論理回路２１を再構成するよう制御される。また、検査制御回路２５が設けられ、実際に不活化されたＰＥ数が、キーメモリ２４の情報と整合するか否かがチェックされる。なお、後述するように、特定のＰＥの不活化を、外部からの信号によって行う場合もあり、その場合、この検査制御回路２５は、ＰＥの不活化の制御にも用いることができる。
【００４０】
次に、本発明において、一部のＰＥを不活化する手段について説明する。この手段は大別して、物理的にＰＥを使用できない状態にする方法（ハード的不活化）と、ＰＥへの指令信号により使用できない状態にする方法（ソフト的不活化）とが考えられる。
【００４１】
ハード的不活化は、選択されたＰＥが作動しない（本来の機能を発揮しない）ように形成されていればよく、どのように不活化するかを限定する必要はない。しかし、プログラマブル論理装置（ＰＬＤ）は量産されるＬＳＩであるから、一定の規格で同一形態のものを多数製造した後、個別に回路の一部を加工して不活化し得ることが好ましい。かかる観点からは、チップ上において外部から加工可能な配線の一部を切断して、不活化する方法が推奨される。
【００４２】
図３は、ＰＥ不活化のための配線切断部位の例を示す説明図である。ＰＬＤの一般的な構成は、図３(ａ)に示すように、基板上に多数のプログラマブル論理素子（ＰＥ）３０がマトリックス状に配置され、各ＰＥ間に、その相互を接続する配線領域３１が形成されてなるものである。図３(ｂ)は、図３(ａ)の一部をより詳細に示すものであるが、ＰＥ３０の出力線３２は、縦配線（ＶＬ）３３のいずれかと接続されている（その接点に設けたスイッチング素子により、出力線をどのＶＬに接続させるかを選択することができる）。また、横配線（ＨＬ）３４が設けられ、ＶＬ３３とＨＬ３４との交差部分は、スイッチ・マトリックス（ＳＷ）３５が形成されており、ＶＬ３３とＨＬ３４との交点が接続ポイント３６となる。
【００４３】
ＰＥ不活化のための配線切断の部位は、ＰＥ３０から出力線３２への出口付近（図３(ｂ)のＡ点）、出力線３２の途中（Ｂ点）、ＶＬ３３の途中（Ｃ点）、接続ポイント３６の付近（Ｄ点）等のいずれであってもよい。また、必ずしも上記に限る必要は無く、ＰＥ内の回路要素の接続線や横配線ＨＬ３４を切断してもよい。さらに、接続点のスイッチング素子（例えば、出力線３２とＶＬ３３の交点のスイッチング素子や、接続ポイント３６に設けられたスイッチング素子群など）にオンオフの指令信号を与える信号線を切断することによっても、特定のＰＥを不活化できる場合がある。
【００４４】
図４は、配線切断法の説明図である。この例では、ＰＥ３０の出力線３２を切断することによってこのＰＥを不活化している。ただし、単に切断したのみでは、ＶＬ３３の電位が浮動状態になって好ましくない場合があるので、切断された出力線３２のＶＬ側の端部３７を接地する。
【００４５】
特定のＰＥを不活化するための、上記のような配線切断には、電子線描画法が好適である。すなわち、切断部位周辺を電子線用レジスト膜で被覆し、切断部を電子線で描画した後、エッチングによりこの部分のアルミ配線を除去すればよい。また、出力線の端部３７を接地する場合も、上記と同様に電子線描画法を適用することができる。すなわち、接地部位３７の周辺の絶縁被膜を電子線用レジスト膜で被覆し、接地部を電子線で描画した後、エッチングにより絶縁被膜にコンタクトホールを形成する。その後真空蒸着等で、コンタクトホールにアルミを充填すれば、この部位を接地状態にすることができる。
【００４６】
次に、ソフト的なＰＥの不活化について説明する。図５は、本発明の一実施例におけるプログラマブル論理素子（ＰＥ）の構成を示す図である。この例では、ＰＥ３０は、ルックアップテーブル（ＬＵＴ）４０、フリップフロップ（ＦＦ）４１、セレクタ４２、マルチプレクサ４３、ＡＮＤ回路４４等から形成されている。ＬＵＴ４０の出力は、ＦＦ４１でクロックによリタイミング調整され、マルチプレクサ４３で選択されて出力される。
【００４７】
上述のＬＵＴ４０からマルチプレクサ４３までの構成と機能は、従来のＰＥと同じである。しかし、本実施例のＰＥでは、マルチプレクサ４３の出力がＡＮＤ回路４４に入力され、同時にキー情報４５がＡＮＤ回路４４に入力されるように構成されている。このＡＮＤ回路４４がＰＥを不活化させる役割を果たす。
【００４８】
例えば、マルチプレクサ４３の出力がＨ（high）の場合のみ有意な情報になるものとする。不活化しないＰＥのキー情報４５として常にＨの信号を与え、不活化するＰＥのキー情報４５として常にＬ（low）の信号を与えれば、入力が（Ｈ，Ｈ）の場合のみＨが出力されるから、不活化しないＰＥは正常に作動し、不活化するＰＥは、一切有意な信号を出力しない不活性状態が確保される。したがって、かかるソフト的な不活化によっても、物理的にＰＥを不活化するのと同様の効果を得ることができる。
【００４９】
図６は、本発明におけるＰＬＤの動作イメージの説明図である。上段のＰＬＤ(Ａ)では、３０ａ〜３０ｄの４個のＰＥのうち、左下のＰＥの出力線が切断され、このＰＥ３０ｃが不活状態にあり、下段のＰＬＤ(Ｂ)では、右下のＰＥの出力線が切断され、このＰＥ３０ｄが不活状態にあるものとする。
【００５０】
図２で示したように、ソースプログラムは多数の命令の集合（命令セット）に書き換えられ、各命令がＰＬＤ内の特定のＰＥを信号のパスとして実行される。例えば命令１は、ＰＥ３０ａ→３０ｂに信号が流れて実行されるものとすれば、この命令は、上下いずれのＰＬＤでも実行可能である。
【００５１】
一方、命令２はＰＥ３０ｄ→３０ａ→３０ｂに信号が流れて実行されるものとすれば、この命令は、ＰＬＤ(Ａ)では実行可能であるが、ＰＬＤ(Ｂ)では実行できない。本発明においては、ＰＬＤ(Ｂ)のＰＥ３０ｄが不活化されているというキー情報に基づいて、これと等価な他のＰＥを用いて命令２を実行するように制御される。
【００５２】
全ＰＥ中の不活化されたＰＥの割合が小さくても、各命令ステップで全ＰＥ中のかなりの割合（例えば７割以上）のＰＥに信号が流れるから、不活化されたＰＥの全てが不使用のＰＥ中に含まれる確率は非常に小さい。また、一つのソースプログラムで実行される命令のステップ数はきわめて大きいから、いずれかの命令ステップで、信号が不活化されたＰＥを流れることになる。したがって、正しいキー情報で、不活化されたＰＥを回避するように制御しない限り、ＰＬＤは正常に動作しないという結果になる。
【００５３】
上記の確率の問題を、さらに具体的に考察してみると以下のごとくなる。ＰＬＤ内のＰＥの数を、１６×８＝１２８とし、その内不活化されたＰＥの数を６個とする。また、各命令ステップで使用するＰＥの平均数を１００（不使用が２８）とする。詳細な説明は省略するが、１命令ステップで、不使用の２８個のＰＥの中に、不活化されたＰＥの全てが含まれる確率Ｐは、１０−４程度である。
【００５４】
さらに、一つのプログラムを実行するための命令ステップ数が２５６であり、各ステップが独立事象であるとすると、全ての命令ステップを通しての上記確率Ｐは、（１０−４）の２５６乗、すなわちＰ＝１０−１０２４ということになり、現実には絶対に起こりえない確率ということができる。
【図面の簡単な説明】
【００５５】
【図１】本発明の原理の説明図である。
【図２】本発明の一実施例であるプログラマブル論理装置の構成を示すブロック図である。
【図３】ＰＥ不活化のための配線切断部位の例を示す説明図である。
【図４】本発明における配線切断法の例を示す説明図である。
【図５】本発明の一実施例におけるプログラマブル論理回路素子の構成を示す図である。
【図６】本発明のプログラマブル論理装置の動作イメージの説明図である。
【符号の説明】
【００５６】
１    チップ
２    プログラマブル論理素子（ＰＥ）
３    ソースプログラム
４    コンパイラ
５    使用不能状態のＰＥ
６    キー情報
１０  ソフトウェアモジュール
１１  命令セットジェネレータ
１２  コンパイラ／アセンブラ
１３  キー情報
１４  命令セット
１５  論理回路構成オブジェクトコード
１６  プログラムオブジェクトコード
２０  論理回路再構成可能プロセッサ
２１  再構成可能論理回路
２２  入力データ
２３  出力データ
２４  キーメモリ
２５  検査制御回路
３０  プログラマブル論理素子（ＰＥ）
３１  配線領域
３２  出力線
３３  縦配線（ＶＬ）
３４  横配線（ＨＬ）
３５  スイッチ・マトリックス（ＳＷ）
３６  接続ポイント
３７  切断された出力線の端部
４０  ルックアップテーブル（ＬＵＴ）
４１  フリップフロップ（ＦＦ）
４２  セレクタ
４３  マルチプレクサ
４４  ＡＮＤ回路
４５  キー情報
【図１】
2007058451.tif 000003
【図２】
2007058451.tif 000004
【図３】
2007058451.tif 000005
【図４】
2007058451.tif 000006
【図５】
2007058451.tif 000007
【図６】
2007058451.tif 000008