(57)【要約】【課題】容易にシステムＬＳＩのハードウェア論理の変更が可能であり、ハードウエア論理の変更時にエラーが発生した場合であっても、生産ライン等の稼働時間の低下を防止可能なシステムＬＳＩ制御装置を実現する。【解決手段】不揮発性メモリ４に、システムＬＳＩの複数のハードウェア論理を格納する領域を備え、新たなハードウェア論理を汎用バス８等を介してダウンロードして取り込み、直前のハードウエア論理を残した状態で新たなハードウエア論理を最も古いハードウエア論理の格納領域に格納する。新たなハードウェア論理にエラーが発生した場合には、残存する直前のハードウエア論理で制御装置を動作させる。これにより、ハードウエア論理の変更時にエラーが発生した場合であっても、生産ライン等の稼働時間の低下を防止可能となる。【選択図】　　　図１
2004005304.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、このＣＰＵに接続され、ハードウェア論理により、動作するシステムＬＳＩと、上記ＣＰＵの主記憶手段と、ハードウェア論理を格納する不揮発性メモリと、上記システムＬＳＩのコンフィギュレーションを行なうコンプレックスプログラマブルロジックデバイスとを有するシステムＬＳＩ制御装置において、
上記ＣＰＵの指令に基づき、上記システムＬＳＩを介して、外部から情報を取り込む汎用バスを備え、上記不揮発性メモリは、複数のハードウェア論理を格納する領域を有し、上記ＣＰＵは、上記汎用バスを介して、外部から供給されるハードウェア論理を上記不揮発性メモリに格納し、この不揮発性メモリに格納されたハードウェア論理は、上記コンプレックスプログラマブルロジックデバイスの指令に基づき、上記システムＬＳＩが読み込み、読み込んだハードウェア論理に従って、制御動作を行うことを特徴とするシステムＬＳＩ制御装置。
【請求項２】
請求項１記載のシステムＬＳＩ制御装置において、上記ＣＰＵは、上記汎用バスを介して、外部から供給されるハードウェア論理を上記不揮発性メモリに格納したとき、上記不揮発性メモリに格納されたハードウェア論理読み出しアドレスを、上記外部から供給されるハードウェア論理を格納した領域のアドレスに書き換え、上記システムＬＳＩは、書き換えられたハードウェア論理読み出しアドレスに格納されたハードウェア論理にハードウェア論理に従って、制御動作を行うことを特徴とするシステムＬＳＩ制御装置。
【請求項３】
請求項２記載のシステムＬＳＩ制御装置において、上記コンプレックスプログラマブルロジックデバイスは、上記システムＬＳＩが読み込んだハードウェア論理にエラーがあることを検出した場合、上記エラーが検出されたハードウェア論理とは異なるハードウェア論理を上記不揮発性メモリから上記システムＬＳＩに読み込ませることを特徴とするシステムＬＳＩ制御装置。
【請求項４】
請求項３記載のシステムＬＳＩ制御装置において、上記システムＬＳＩが読み込んだハードウェア論理にエラーがあることを検出した場合、上記不揮発性メモリに格納されたハードウェア論理読み出しアドレスを、上記エラーが検出されたハードウェア論理とは異なるハードウェア論理が格納された領域のアドレスに書き換え、上記システムＬＳＩは、書き換えられたハードウェア論理読み出しアドレスに格納されたハードウェア論理に従って、制御動作を行うことを特徴とするシステムＬＳＩ制御装置。
【請求項５】
請求項１記載のシステムＬＳＩ制御装置において、上記システムＬＳＩは、複数個であり、上記不揮発性メモリは、上記複数のシステムＬＳＩのそれぞれに対して、複数のハードウェア論理を格納する領域を有することを特徴とするシステムＬＳＩ制御装置。
【請求項６】
請求項１又は５のうちのいずれか一項記載のシステムＬＳＩ制御装置において、上記不揮発性メモリと、上記システムＬＳＩと、上記コンプレックスプログラマブルロジックデバイスとを接続する不揮発性メモリバスを備え、上記不揮発性メモリに格納されたハードウェア論理は、上記コンプレックスプログラマブルロジックデバイスの指令に基づき、上記不揮発性メモリから不揮発性メモリバスを介して上記システムＬＳＩに供給されることを特徴とするシステムＬＳＩ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御系システム内におけるシステムＬＳＩのハードウェア論理を書き換え可能なシステムＬＳＩ制御装置に関する。
【０００２】
【従来の技術】
プロセスオートメーションやファクトリーオートメーション等のシステムでは、圧力、温度、流量などの物理量を検出するセンサ、位置検出を行うフォトセンサなどの入力機器からの情報を処理し、流量などを制御するバルブ、機械を駆動するモータなどの出力機器に対して制御を行なう。
【０００３】
この一連の動作を処理するのが制御系システムである。制御系システムではシステムＬＳＩを介してＣＰＵ、主記憶装置、入出力手段が互いに接続されている。
【０００４】
このシステムＬＳＩは、パリティー生成やＥＣＣ（Ｅｒｒｏｒ　Ｃｈｅｃｋ　ａｎｄ　Ｃｏｌｌｅｃｔ）生成などのチェックビットの生成及びチェックと訂正回路とＳＤＲＡＭやＤＤＲＳＤＲＡＭやＲＤＲＡＭなどのタイミング生成部分からなる主記憶制御部分、ＰＣＩバスやＶＭＥバスなどの汎用バスのタイミング生成やエンディアン変換、その他にもアクセス制御やバスエラー生成などのハードウェア論理回路を具備している。
【０００５】
これらの回路は数１０ＫＧから数１００ＫＧ規模になり、且つ高速動作が必要となるため、ＣＢＩＣ（Ｃｅｌｌ　Ｂａｓｅｄ　ＩＣ）やＧＡ（Ｇａｔｅ　Ａｒｒａｙ）が用いられている。
【０００６】
上記技術に関連する公知技術としては、例えば、特開平９−１４６６５９号公報、「特許から見たプログラマブルロジックデバイス」（特許庁「技術動向レポート」平成１３年１月発行）がある。
【０００７】
【発明が解決しようとする課題】
ところで、近年のＦＰＧＡ（Ｆｉｅｌｄ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｇａｔｅ　Ａｒｒａｙ）の高速化、高密度化、低価格化によりＦＰＧＡにてシステムＬＳＩを構成することが可能となってきた。
【０００８】
制御装置の外部構成が変化した場合やシステムＬＳＩに不具合が発見された場合には、システムＬＳＩのハードウェア論理を変更する必要がある。ここで、ハードウェア論理とは、システムＬＳＩが有する各論理素子等の入出力をどのように選択し、組みあわせるかを示す論理である。
【０００９】
従来技術においては、システムＬＳＩに不具合が発見された場合等においては、ＣＢＩＣやＧＡと同じように、制御室部分以外の領域であって、制御機器等が配置される領域であるフィールドでシステムＬＳＩのみ変更することは不可能であり、システムＬＳＩの載った基板を新たなシステムＬＳＩの載った基板に交換していた。
【００１０】
このため、フィールドでのシステムの停止・基板交換・再立ち上げ作業が必要であり、システムの再立ち上げ時間の増加、生産ラインの歩留まりを低下させるなどの問題があった。
【００１１】
また、新たなシステムＬＳＩが搭載された基板に交換されても、その新たなシステムＬＳＩのハードウェア論理にエラーが存在している場合には、再度、基板を交換する必要があり、さらに、制御装置の再立ち上げ時間の増加、生産ラインの歩留まりを低下させることとなっていた。
【００１２】
本発明の目的は、容易にシステムＬＳＩのハードウェア論理の変更が可能であり、ハードウエア論理の変更時にエラーが発生した場合であっても、生産ライン等の稼働時間の低下を防止可能なシステムＬＳＩ制御装置を実現することである。
【００１３】
【課題を解決するための手段】
上記目的を達成するため、本発明は次のように構成される。
（１）ＣＰＵと、このＣＰＵに接続され、ハードウェア論理により、動作するシステムＬＳＩと、上記ＣＰＵの主記憶手段と、ハードウェア論理を格納する不揮発性メモリと、上記システムＬＳＩのコンフィギュレーションを行なうコンプレックスプログラマブルロジックデバイスとを有するシステムＬＳＩ制御装置において、上記ＣＰＵの指令に基づき、上記システムＬＳＩを介して、外部から情報を取り込む汎用バスを備え、上記不揮発性メモリは、複数のハードウェア論理を格納する領域を有し、上記ＣＰＵは、上記汎用バスを介して、外部から供給されるハードウェア論理を上記不揮発性メモリに格納し、この不揮発性メモリに格納されたハードウェア論理は、上記コンプレックスプログラマブルロジックデバイスの指令に基づき、上記システムＬＳＩが読み込み、読み込んだハードウェア論理に従って、制御動作を行う。
【００１４】
（２）好ましくは、上記（１）において、上記ＣＰＵは、上記汎用バスを介して、外部から供給されるハードウェア論理を上記不揮発性メモリに格納したとき、上記不揮発性メモリに格納されたハードウェア論理読み出しアドレスを、上記外部から供給されるハードウェア論理を格納した領域のアドレスに書き換え、上記システムＬＳＩは、書き換えられたハードウェア論理読み出しアドレスに格納されたハードウェア論理にハードウェア論理に従って制御動作を行う。
【００１５】
（３）また、好ましくは、上記（２）において、上記コンプレックスプログラマブルロジックデバイスは、上記システムＬＳＩが読み込んだハードウェア論理にエラーがあることを検出した場合、上記エラーが検出されたハードウェア論理とは異なるハードウェア論理を上記不揮発性メモリから上記システムＬＳＩに読み込ませる。
【００１６】
（４）また、好ましくは、上記（３）において、上記システムＬＳＩが読み込んだハードウェア論理にエラーがあることを検出した場合、上記不揮発性メモリに格納されたハードウェア論理読み出しアドレスを、上記エラーが検出されたハードウェア論理とは異なるハードウェア論理が格納された領域のアドレスに書き換え、上記システムＬＳＩは、書き換えられたハードウェア論理読み出しアドレスに格納されたハードウェア論理に従って制御動作を行う。
【００１７】
（５）また、好ましくは、上記（１）において、上記システムＬＳＩは、複数個であり、上記不揮発性メモリは、上記複数のシステムＬＳＩのそれぞれに対して、複数のハードウェア論理を格納する領域を有する。
【００１８】
（６）また、好ましくは、上記（１）又は（５）において、上記不揮発性メモリと、上記システムＬＳＩと、上記コンプレックスプログラマブルロジックデバイスとを接続する不揮発性メモリバスを備え、上記不揮発性メモリに格納されたハードウェア論理は、上記コンプレックスプログラマブルロジックデバイスの指令に基づき、上記不揮発性メモリから不揮発性メモリバスを介して上記システムＬＳＩに供給される。
【００１９】
ＣＰＵは、汎用バスを介して、外部から供給されるハードウェア論理を不揮発性メモリに格納し、複数のハードウェア論理を残した状態で、一つのハードウェア論理を使用する。
【００２０】
使用中のハードウェア論理にエラーが発生した場合であっても、他のハードウエア論理を使用することができる。
【００２１】
したがって、基板全体の交換をする必要無く、容易にシステムＬＳＩのハードウェア論理の変更が可能であり、ハードウエア論理の変更時にエラーが発生した場合であっても、生産ライン等の稼働時間の低下を防止可能なシステムＬＳＩ制御装置を実現することができる。
【００２２】
【発明の実施の形態】
以下、本発明の実施形態を添付図面を参照して説明する。
図１は、本発明の第１の実施形態である制御装置の概略構成図である。
【００２３】
図１に示すように、この制御装置は、ＣＰＵ１と、システムＬＳＩ２と、主記憶装置３と、不揮発性メモリ４と、ＣＰＬＤ（Ｃｏｍｐｌｅｘ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｌｏｇｉｃ　Ｄｅｖｉｃｅ）（コンプレックスプログラマブルロジックデバイス）５とを備える。
【００２４】
システムＬＳＩ２は、ＣＰＵバス６によりＣＰＵ１と接続され、メモリバス７により主記憶装置３と接続され、不揮発性メモリバス９により不揮発性メモリ４及びＣＰＬＤ５と接続される。
【００２５】
また、ＣＰＵ１とＣＰＬＤ５とはリセット信号１０を送受信し、ＣＰＬＤ５はシステムＬＳＩ２にコンフィギュレーション信号１１を送信する。また、システムＬＳＩ２はＣＰＬＤ５にセレクト信号１２を送信し、ＣＰＬＤ５は不揮発性メモリ４に制御信号１３を送信する。
【００２６】
また、汎用バス８は、ＰＣＩバスやＶＭＥバスなどのバスであるため、この汎用バス８には、ネットワークやモデムなどの通信用デバイスや画像処理用プロセッサなどの表示デバイス、ＵＳＢやＩＥＥＥ１３９４などの入出力デバイスが接続される。なお、入出力１４はデジタルＩ／Ｏ（ＤＩ／ＤＯ）である。
【００２７】
また、ＣＰＬＤ５は、アドレスポインタ１５と、エラーレジスタ１６とを備える。
【００２８】
システムＬＳＩ２は、ＣＰＵ１、主記憶装置３、不揮発性メモリ４、ＣＰＬＤ５などのデバイスや、汎用バス８や入出力１４間を接続し、且つパリティーやＥＣＣなどのメモリ信頼性向上用の回路やエンディアン変換などの回路を実現するために用いる。なお、ＣＰＬＤ５は、図６に示すフローを実行する回路が組み込まれている。
【００２９】
図２は、不揮発性メモリ４に格納されたデータを示すメモリマップである。不揮発性メモリ４には、ＣＰＵ−ＩＰＬ２０と、ハードウェア論理読み出しアドレス２１と、自己診断情報２２とが格納されている。また、不揮発性メモリ４には、２種類のハードウエア論理を格納するための、別個の２つの領域が設定され、この例の場合は、システムＬＳＩハードウェア論理（１）２３と、システムＬＳＩハードウェア論理（２）２４とが格納されている。
【００３０】
図３は、図２に示したハードウェア論理読み出しアドレス２１の説明図である。図３において、読み出しアドレス２１には、アドレスＢとアドレスＡとが格納されている。そして、アドレスＡは、ハードウェア論理（１）２３が格納されたアドレスであり、アドレスＢは、ハードウェア論理（２）２４が格納されたアドレスである。
【００３１】
ハードウェア論理（１）２３は、当初の制御装置におけるハードウェア論理であり、制御装置の導入時には、ハードウエア論理（１）２３のみが格納される。そして、ハードウェア論理（２）２４は、当初のハードウェア論理（１）２３に換えて、動作させるための論理であり、ハードウェア論理（１）２３が格納された後に、別領域に格納されたハードウェア論理である。
【００３２】
したがって、現時点では、アドレスＢに格納されたハードウェア論理（２）２４が使用されている。
【００３３】
電源オン時、ＣＰＬＤ２は、図６に示すフローを順番に処理する。
図６のステップＳ１において、まずリセット信号１０をアサートし、ＣＰＵ１をリセット状態として、ステップＳ２において、不揮発性メモリ４から、図２に示した不揮発性メモリマップに示すハードウェア論理読み出しアドレス２１を制御信号１３をコントロールし、不揮発性メモリバス９を介して読み出し、ステップＳ３において、エラー発生か否かを判断する。
【００３４】
この時、図４に示すように、読み込むアドレスは、アドレスポインタ１５とエラーレジスタ１６とで１ｂｉｔだけ排他的論理和をとった値が読み込むアドレスとなる。この排他的論理和をとる１ｂｉｔは、読み込むアドレスの大きさに依存し、アドレス長が３２ｂｉｔであればｂｉｔ２であり、アドレス長が１６ｂｉｔであればｂｉｔ１となる。また、エラーレジスタ１６の値が０、すなわちエラーが発生していない状態であれば、ステップＳ５において、図３のアドレスＢをＣＰＬＤ２に格納する。また、エラーが発生している状態であれば、ステップＳ４において、図３のアドレスＡをＣＰＬＤ２に格納する。
【００３５】
次に、ステップＳ６において、エラーが発生していない場合は、ＣＰＬＤ２はアドレスＢから、システムＬＳＩ２に必要な論理規模だけ不揮発性メモリ４から順次、読み出していく。
【００３６】
そして、ステップＳ７において、ＣＰＬＤ２は、不揮発性メモリバス９からパラレルに読み出した値をコンフィギュレーション信号１１にシリアルに出力し、ステップＳ８、Ｓ９によりＣＰＬＤ２の格納アドレスをインクリメントして規定バイト数となるまで、出力を実行する。
【００３７】
システムＬＳＩ２は、コンフィギュレーション信号１１を読み出し、ハードウェア論理を内部で構成する。ＣＰＬＤ２が必要な論理規模を読み出し、コンフィギュレーション信号１１にシリアルにデータを送信した後、ステップＳ１０において、リセットを解除する。この時、コンフィギュレーション信号１１を監視して、システムＬＳＩ２がコンフィギュレーション（ハードウェア／ソフトウェアの各種設定）を終了したことを確認する。
【００３８】
その後、ＣＰＵ１は、図２の自己診断２２を読み出して実行する。図２では、不揮発性メモリ４に自己診断２２があるが、他のデバイスにあっても構わない。自己診断は、ハードウェア論理が正しく動くかどうかのチェックに用いる。このフローを図７に示す。
【００３９】
つまり、図７のステップＳ２０において、ＣＰＵ１はＣＰＵ−ＩＰＬ部分を読み出し、ステップＳ２１にて、自己診断を実行する。そして、ステップＳ２２において、エラーが発生したか否かを判断し、発生していなければ、ステップＳ２３に進み、通常処理を行う。また、ステップＳ２２でエラーが発生した場合は、ステップＳ２４でエラーレジスタ書き込み、ステップＳ２５でリセット処理を行う。
【００４０】
上述したように、システムＬＳＩに不具合が発見された場合や制御装置の変更等の場合には、システムＬＳＩ２のハードウェア論理を書き換える必要が生じる。
【００４１】
システムＬＳＩ２のハードウェア論理を書き換える場合の動作について、次に説明する。なお、図５は、ハードウェア論理を書き換える場合の、メモリマップの内容を示す図であり、図８は、概略動作フローチャートである。
【００４２】
まず、ＣＰＵ１が汎用バス８に接続されるデバイスを用いて装置外部から、ハードウェア論理をダウンロードする。例えば、汎用バス８に接続されている個別のネットワークやモデムなどの通信デバイスを用いて、ハードウェア論理をインターネットや電話回線を介してダウンロードする。
【００４３】
次に、図５の（ａ）及び図８のステップＳ３０に示すように、まずハードウェア論理読み出しアドレス２１に書き込んであるアドレスで、最も古いハードウェア論理が格納されたアドレスを選択する。
【００４４】
つまり、この例においては、アドレスＡの方がアドレスＢよりも書き込んであるアドレスが大きいため、システムＬＳＩハードウェア論理（１）２３のアドレスＡを選択する。
【００４５】
次に、図５の（ｂ）及び図８のステップＳ３１に示すように、アドレスＡに示してある領域に、新たなシステムＬＳＩハードウェア論理（３）２５を上書きする。
【００４６】
その後、図５の（ｃ）及び図８のステップＳ３２に示すように、ハードウェア論理読み出しアドレス２１に書いてあるアドレスＡとアドレスＢとを入れ替え、図８のステップＳ３３において、ＣＰＵ１がソフトウェアでリセットを実行する。
【００４７】
なお、このリセットを行なう処理はＣＰＬＤ５やシステムＬＳＩ２などでも良い。この場合、必要であればリセットを実行する前に自己診断２２を書き換えてもよい。
【００４８】
リセットを実行すると、ＣＰＬＤ５は、図６のフローを再び実行する。この場合、上述したように、ハードウェア論理読み出しアドレス２１を読み出すが、エラーアドレス１６の値が０の場合、つまり、新たなハードウェア論理（３）２５にエラーが発生していない場合には、アドレスＡを読み出す。
【００４９】
その後、システムＬＳＩ２がコンフィギュレーションを終了しＣＰＬＤ５がリセットを解除して、続いて、ＣＰＵ１が図７に示すフローを実行する。
【００５０】
次に、新たなハードウェア論理（３）２５にエラーが発生した場合の動作について説明する。
図６のフローの実行中にエラーが発生した場合、つまり、新たなハードウェア論理（３）２５にエラーが発生した場合、ＣＰＵ１がエラーレジスタ１６に１を設定してリセットを実行する。
【００５１】
これにより、ＣＰＬＤ５は図６に示したフローを再実行する。この場合、ＣＰＬＤ２はエラーアドレス１６に１が設定されているため、図５の（ｃ）に示す、アドレスＡではなく、アドレスＢを読み込む。つまり、新たなハードウェア論理（３）２５ではなく、以前使用しようしていたハードウェア論理（２）２４を読み込む。
【００５２】
これにより、書き換えた書き換え前のシステムＬＳＩハードウェア論理（２）２４が読み込まれ、使用されるため、書き換えたハードウェア論理（３）２５にエラーが発生した場合であっても、制御装置が長時間、その動作が停止されることが回避される。
【００５３】
また、エラーが発生しなければ、以降、新たに書き換えたシステムＬＳＩハードウェア論理（３）２５で制御装置が動作することとなる。
【００５４】
以上のように、本発明の第１の実施形態においては、複数のハードウェア論理を格納する領域を備え、新たなハードウェア論理をダウンロードして取り込み、直前のハードウエア論理を残した状態で新たなハードウエア論理を最も古いハードウエア論理の格納領域に格納する。そして、新たなハードウェア論理にエラーが発生した場合には、残存する直前のハードウエア論理で制御装置を動作させる。
【００５５】
したがって、容易にシステムＬＳＩのハードウェア論理の変更が可能であり、ハードウエア論理の変更時にエラーが発生した場合であっても、生産ライン等の稼働時間の低下を防止可能なシステムＬＳＩ制御装置を実現することができる。
【００５６】
次に、本発明の第２の実施形態について説明する。
図９は、本発明の第２の実施形態における制御装置の概略構成図である。
図９において、本発明の第２の実施形である態制御装置は、ＣＰＬＤ１４０、システムＬＳＩ（１）３０、システムＬＳＩ（２）３１、・・・、システムＬＳＩ（ｎ）３２、コンフィギュレーション信号（１）４０、コンフィギュレーション信号（２）４１、・・・、コンフィギュレーション信号（ｎ）４２を除き、上述した第１の実施形態と同等の構成となっている。なお、ＣＰＬＤ１４０は複数のエラーレジスタ１８（１、２、・・・、ｎ）と、複数のアドレスポインタ１７（１、２、・・・、ｎ）とを備えている。
【００５７】
ここで、コンフィギュレーション信号（１）４０、コンフィギュレーション信号（２）４１、・・・、コンフィギュレーション信号（ｎ）４２は、ＣＰＬＤ１４０と、システムＬＳＩ（１）３０、システムＬＳＩ（２）３１、・・・、システムＬＳＩ（ｎ）３２との間で、１対１で接続されている。
【００５８】
また、第１の実施形態における汎用バス８、入出力１４、メモリバス７は、システムＬＳＩ（１）３０、システムＬＳＩ（２）３１、・・・、システムＬＳＩ（ｎ）３２のいずれかに接続されるものとする。
【００５９】
図１０は、本発明の第２の実施形態における不揮発性メモリ４のメモリマップを示す。
図１０において、メモリマップは、システムＬＳＩ（１）３０、システムＬＳＩ（２）３１、・・・、システムＬＳＩ（ｎ）３２ごとに、ハードウェア論理読み出しアドレス（１）１２０、ハードウェア論理読み出しアドレス（２）１２１、・・・、ハードウェア論理読み出しアドレス（ｎ）１２２、自己診断（１）１２３、自己診断（２）１２４、・・・、自己診断（ｎ）１２５、システムＬＳＩ１ハードウェア論理（１）１２６、システムＬＳＩ１ハードウェア論理（２）１２７、システムＬＳＩ２ハードウェア論理（１）１２８、システムＬＳＩ２ハードウェア論理（２）１２９、・・・、システムＬＳＩｎハードウェア論理（１）１３０、システムＬＳＩｎハードウェア論理（２）１３１を有している点が、上述した第１の実施形態と異なる。
【００６０】
次に、本発明の第２の実施形態の動作を図１１及び図１２に示した動作フローチャートを参照して説明する。
【００６１】
図１１のステップＳ４１において、まずリセット信号をアサートし、ＣＰＵ１をリセット状態として、ステップＳ４２において、ａに１を代入する。次に、ステップＳ４３、Ｓ４４において、ＣＰＬＤ−ＩＰＬａ部分を読み出し、エラーレジスタａを読み出す。
【００６２】
そして、ステップＳ４４において、エラー発生か否かを判断する。エラーが発生していない状態であれば、ステップＳ４６において、ＣＰＬＤ−ＩＰＬａ部に格納されている最初のアドレスをＣＰＬＤに格納する。また、エラーが発生している状態であれば、ステップＳ４７において、ＣＰＬＤ−ＩＰＬａ部に格納されている次のアドレスをＣＰＬＤに格納する。
【００６３】
次に、ステップＳ４８において、ＣＰＬＤに格納されたデータを不揮発性メモリ４から順次、読み出していく。そして、ステップＳ４９において、読み出した値をシリアルデータに変換して出力し、ステップＳ５０、Ｓ５１においてＣＰＬＤの格納アドレスをインクリメントして規定バイト数となるまで、出力を実行する。
【００６４】
このようにして、不揮発性メモリ４からシステムＬＳＩ（１）３０、システムＬＳＩ（２）３１、・・・、システムＬＳＩ（ｎ）３２に対してハードウェア論理を送出する。
【００６５】
ステップＳ５１で規定バイト数となった場合は、ステップＳ５２でａに１を加算し、ステップＳ５３で、ａがｎより大か否かを判定する。ａがｎより大でなければ、ステップＳ４３に戻る。ステップＳ５３でａがｎより大であれば、ステップＳ５４に進み、リセット信号をネゲートする。
【００６６】
その後、ＣＰＵ１は、図１２のステップＳ６１において、ＣＰＬＤ−ＩＰＬａ部分を読み出し、ステップＳ６２において、ａに１を代入する。次に、ステップＳ６３、Ｓ６４において、自己診断ａを実行し、エラー発生か否かを判断する。エラーが発生していなければ、ステップＳ６６に進む。
【００６７】
ステップＳ６４でエラーが発生していれば、ステップＳ６５でエラーレジスタａにその旨を書き込み、ステップＳ６６に進む。
【００６８】
ステップＳ６６において、自己診断を実行し、ステップＳ６７でａに１を加算し、ステップＳ６８で、ａがｎより大か否かを判定する。ａがｎより大でなければ、ステップＳ６３に戻る。ステップＳ６８でａがｎより大であれば、ステップＳ６９に進み、エラーが発生したか否かを判断し、エラーが発生していなければ、ステップＳ７１に進み、通常処理を行う。
【００６９】
ステップＳ６９でエラーが発声していれば、ステップＳ７０に進み、リセット処理を行う。
【００７０】
このように、システムＬＳＩ（１）３０、システムＬＳＩ（２）３１、・・・、システムＬＳＩ（ｎ）３２に対応した自己診断（１）１２３、自己診断（２）１２４、・・・、自己診断（ｎ）１２５を行い、エラーが発生した場合にはリセット処理により再起動を行い、エラーが発生したシステムＬＳＩのみを書き換え前のハードウェア論理で起動する。
【００７１】
以上のように、本発明の第２の実施形態によれば、システムＬＳＩが複数のＦＰＧＡに分割されている場合においても、フィールドにてハードウェア論理の変更を高い信頼性で行なうことが可能となり、第１の実施形態と同様な効果を得ることができる。
【００７２】
次に、本発明の第３の実施形態について説明する。
図１３は、本発明の第３の実施形態における制御装置の概略構成図である。
図１３において、制御装置は、ＣＰＬＤ１４１、不揮発性メモリバス１０５、システムＬＳＩ（１）１００、システムＬＳＩ（２）１０１、・・・、システムＬＳＩ（ｎ）１０２、読出制御信号（１）１１０、読出制御信号（２）１１１、・・・、読出制御信号（ｎ）１１２を除き、上述した第２の実施形態と同様な構成を有する。
【００７３】
ここで、ＣＰＬＤ１４１と、システムＬＳＩ（１）１００、システムＬＳＩ（２）１０１、・・・、システムＬＳＩ（ｎ）１０２とは、読出制御信号（１）１１０、読出制御信号（２）１１１、・・・、読出制御信号（ｎ）１１２により、１対１で読み出し制御される。また、第１の実施形態で示した汎用バス８、入出力１４、メモリバス７は、システムＬＳＩ（１）１００、システムＬＳＩ（２）１０１、・・・、システムＬＳＩ（ｎ）１０２のいずれかに接続されるものとする。
【００７４】
また、不揮発性メモリバス１０５は、ＣＰＬＤ１４１、不揮発性メモリ４、システムＬＳＩ（１）１００、システムＬＳＩ（２）１０１、・・・、システムＬＳＩ（ｎ）１０２に接続されている。
【００７５】
本発明の第３の実施形態における不揮発性メモリ４のメモリマップは、第２の実施形態におけるメモリマップと同様であり、図１０に示す構成となっている。
【００７６】
図１４は、本発明の第３の実施形態の動作を示すフローチャートである。この図１４に示すフローチャートは、図１１に示すフローチャートのうち、ステップＳ４９が省略され、他は同様となっているので、詳細な説明は省略する。
【００７７】
ただし、ステップＳ４８において、システムＬＳＩ（１）１００、システムＬＳＩ（２）１０１、・・・、システムＬＳＩ（ｎ）１０２は、不揮発性メモリバス１０５を介して各々のハードウェア論理を受信するものである。
【００７８】
図１４に示したフローチャートを実行した後、ＣＰＵ１は、図１２に示したフローに従って、システムＬＳＩ（１）１００、システムＬＳＩ（２）１０１、・・・、システムＬＳＩ（ｎ）１０２に対応した自己診断（１）１２３、自己診断（２）１２４、・・・、自己診断（ｎ）１２５を行い、エラーが発生した場合にはリセット処理により再起動を行い、エラーが発生したシステムＬＳＩのみを書き換え前のハードウェア論理で起動する。
【００７９】
以上のように、本発明の第３の実施形態によれば、第２の実施形態と同様な効果を得ることができる他、システムＬＳＩ（１）１００、システムＬＳＩ（２）１０１、・・・、システムＬＳＩ（ｎ）１０２のハードウェア論理を不揮発性メモリ４と、直接、不揮発性メモリバス１０５を介して受信するため、ＣＰＬＤ１４１内のパラレル−シリアル回路を削減でき、ＣＰＬＤ１４１を小さな回路で作成可能となる。
【００８０】
【発明の効果】
本発明は、以上に説明したように、複数のハードウェア論理を格納する領域を備え、新たなハードウェア論理をダウンロードして取り込み、以前のハードウエア論理を残した状態で新たなハードウエア論理を最も古いハードウエア論理の格納領域に格納し、複数のハードウェア論理のうちのいずれかで制御装置を動作させる。
【００８１】
したがって、基板全体の交換をする必要無く、容易にシステムＬＳＩのハードウェア論理の変更が可能であり、ハードウエア論理の変更時にエラーが発生した場合であっても、生産ライン等の稼働時間の低下を防止可能なシステムＬＳＩ制御装置を実現することができる。
【００８２】
また、新たなハードウェア論理にエラーが発生した場合には、残存する直前のハードウエア論理で制御装置を動作させるようにすれば、変更直前の論理で制御システムを動作させることができ、生産ライン等の稼働時間の低下を最小限に止めることが可能なシステムＬＳＩ制御装置を実現することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態の概略構成図である。
【図２】本発明の第１の実施形態における不揮発性メモリのメモリマップを示す図である。
【図３】本発明の第１の実施形態における不揮発性メモリの説明図である。
【図４】本発明の第１の実施形態における読み込みアドレス変換方法の説明図である。
【図５】本発明の第１の実施形態における不揮発性メモリのハードウェア論理の書き換え方式の説明図である。
【図６】本発明の第１の実施形態におけるＣＰＬＤのハードウェア論理読み込みの動作フローチャートである。
【図７】本発明の第１の実施形態におけるＣＰＵの立ち上げ時の動作フローチャートである。
【図８】本発明の第１の実施形態における不揮発性メモリのハードウェア論理の書き換えの動作フローチャートである。
【図９】本発明の第２の実施形態の概略構成図である。
【図１０】本発明の第２の実施形態における不揮発性メモリのメモリマップを示す図である。
【図１１】本発明の第２の実施形態におけるＣＰＬＤのハードウェア論理読み込みの動作フローチャートである。
【図１２】本発明の第２の実施形態におけるＣＰＵの立ち上げ時の動作フローチャートである。
【図１３】本発明の第３の実施形態の概略構成図である。
【図１４】本発明の第３の実施形態におけるＣＰＬＤのハードウェア論理読み込みの動作フローチャートである。
【符号の説明】
１　　　　　　　　　　　　ＣＰＵ
２　　　　　　　　　　　　システムＬＳＩ
３　　　　　　　　　　　　主記憶装置
４　　　　　　　　　　　　不揮発性メモリ
５　　　　　　　　　　　　ＣＰＬＤ
６　　　　　　　　　　　　ＣＰＵバス
７　　　　　　　　　　　　メモリバス
８　　　　　　　　　　　　汎用バス
９　　　　　　　　　　　　不揮発性メモリバス
１０　　　　　　　　　　　リセット信号
１１　　　　　　　　　　　コンフィギュレーション信号
１２　　　　　　　　　　　セレクト信号
１３　　　　　　　　　　　制御信号
１４　　　　　　　　　　　入出力
１５、１７　　　　　　　　アドレスポインタ
１６、１８　　　　　　　　エラーレジスタ
２０　　　　　　　　　　　ＣＰＵ−ＩＰＬ
２１　　　　　　　　　　　ハードウェア論理読み出しアドレス
２２　　　　　　　　　　　自己診断
２３、２４、２５　　　　　システムＬＳＩハードウェア論理
３０、３１、３２　　　　　システムＬＳＩ
４１、４２、４３　　　　　コンフィギュレーション信号
１００、１０１、１０２　　システムＬＳＩ
１０５　　　　　　　　　　不揮発性メモリバス
１１０、１１１、１１２　　読出制御信号
１２０、１２１、１２２　　ハードウェア論理読み出しアドレス
１２３、１２４、１２５　　自己診断
１２６〜１３１　　　　　　システムＬＳＩ１ハードウェア論理
１４０、１４１　　　　　　ＣＰＬＤ
【図１】
2004005304.tif 000003
【図２】
2004005304.tif 000004
【図３】
2004005304.tif 000005
【図４】
2004005304.tif 000006
【図５】
2004005304.tif 000007
【図６】
2004005304.tif 000008
【図７】
2004005304.tif 000009
【図８】
2004005304.tif 000010
【図９】
2004005304.tif 000011
【図１０】
2004005304.tif 000012
【図１１】
2004005304.tif 000013
【図１２】
2004005304.tif 000014
【図１３】
2004005304.tif 000015
【図１４】
2004005304.tif 000016