(57)【特許請求の範囲】
【請求項１】
大規模装置の複数のフィールドデバイスと伝送線で接続し、マイクロプロセッサを搭載して装置全体の制御を行う装置コントローラにおいて、
装置コントローラ基板に、内部論理回路をコンフィグレーションする方式の複数のゲートアレイを搭載し、前記内部論理回路を機能毎に分割して、前記複数のゲートアレイに分散して格納すると共に、
前記ゲートアレイの内部論理回路に、コンフィグレーションが完了したことを示す完了信号を出力する回路と、前記ゲートアレイのコンフィグレーションが規定時間内に完了するかを監視する手段を設け、
前記規定時間内に前記ゲートアレイのコンフィグレーションが完了しない場合に、再度、コンフィグレーションを行うように構成したことを特徴とする装置コントローラ。
【請求項２】
請求項１において、前記ゲートアレイ間を複数の信号線で結線し、
前記ゲートアレイのコンフィグレーションの完了後に、前記信号線を用いてゲートアレイ間で相互チェックする回路を設けたことを特徴とする装置コントローラ。
【請求項３】
請求項１または２において、前記複数のゲートアレイのコンフィグレーションは、並行して実施されるように構成したことを特徴とする装置コントローラ。
【請求項４】
請求項１、２または３において、前記内部論理回路を機能毎に分割したコンフィグレーションデータは、各ゲートアレイと接続されるＲＯＭ、または一つのゲートアレイと接続されるＲＯＭ及び前記ＭＰＵと共有される共用メモリに格納されることを特徴とする装置コントローラ。
【請求項５】
大規模装置の複数のフィールドデバイスと伝送線で接続し、マイクロプロセッサを搭載して装置全体の制御を行う装置コントローラにおいて、
装置コントローラ基板内に、内部論理回路をコンフィグレーションされる一つのメインゲートアレイと少なくとも一つのサブゲートアレイを搭載し、
前記メインゲートアレイは、メイン用に分割されＲＯＭに格納されたコンフィグレーションデータを前記メインゲートアレイにローディングする手段と、サブ用に分割され前記マイクロプロセッサと共有する共有メモリ内に格納された少なくとも一つのコンフィグレーションデータを前記サブゲートアレイにローディングする手段を設け、前記内部論理回路を機能毎に分割して各ゲートアレイに格納することを特徴とする装置コントローラ。
【請求項６】
請求項５において、前記共有メモリは、実装状態で、前記サブ用のコンフィグレーションデータのデータエリアを前記マイクロプロセッサから読み／書き可能に構成されることを特徴とする装置コントローラ。
【請求項７】
請求項１〜６のいずれかにおいて、前記ゲートアレイ間に定義可能な複数の信号線を結線し、機能毎に分割された内部論理回路が一つのゲートアレイの容量を超える場合に、その超過分を他のゲートアレイの特定エリアに格納するとともに前記信号線を定義し、一つのゲートアレイを超えて前記内部論理回路を格納できるように構成したことを特徴とする装置コントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、大規模装置の全体を制御する装置コントローラに係り、特に、アップグレードや部品改廃など、内部回路を頻繁に変更するのに好適な装置コントローラに関する。
【０００２】
【従来の技術】
半導体製造の分野で使われている製造・検査・評価装置や、医療の分野で使われている自動分析装置などの大規模装置では、特定の機能を有する複数の基板を用いて装置内制御システムを構成する方法が良く知られている。これは、装置の機能を１枚の基板で実現しようとすると基板が大きくなりすぎ、処理が複雑になるため、複数の基板に機能を分散することによって、装置自体の保守やバージョンアップを容易にしている。
【０００３】
このような考え方は一般的であり、業界で標準化されている。基板を構成するための規格、例えば、ＶＭＥバス（Versa Module Europe：IEEE1014標準の非同期バス）やコンパクトPCIバス等を共通バスとしてマザーボードに収納している。この共通バスにそれぞれ並列に接続された複数個のスロットを設け、各々のスロットに基板を挿入したラック実装形態であるバックプレーン収納型のシステムが、装置内制御システムに広く適用されている。
【０００４】
このＶＭＥバス等の規格に準じた基板を用いた装置内の制御システムでは、装置全体の管理を行う基板であるマスタモジュールと、各機能を実現する基板である複数のスレーブモジュールで構成される。ＶＭＥバス等の構成や制御は、マスタモジュールが管理しているため、装置全体の機能や構成もマスタモジュールが把握することになる。マスタモジュールはＭＰＵを搭載して、組み込まれたプログラムにより装置全体の制御を行うことから、装置コントローラ、または、組込みコントローラと呼ばれている。
【０００５】
図１０に、装置コントローラの従来例を示す。装置コントローラ基板２１は、ＶＭＥバスのコネクタ2132、2133をバックプレーン２０に接続することにより、動作電力が供給される。基板２１はＭＰＵ2100を内蔵し、主記憶メモリ2120に組み込まれたプログラムにより動作する。装置コントローラ基板２１のフロントパネルには、フィールドデバイス等と接続するため、Ethernet、ＵＳＢ，RS−232C、DeviceNetなどの通信Ｉ／Ｆのコネクタを配置している。通信Ｉ／Ｆの専用チップを制御するために、MPU2100と専用チップ間をPCIバス2102とローカルバス2103で接続している。
【０００６】
このように、装置内をネットワーク化して、バックプレーンに収納するＩ／Ｏ基板を少なくし、収納する基板数を減らすシステムが適用されてきている。
【０００７】
一方、大規模ＬＳＩの製作にＦＰＧＡ（Field_Programmable_Gate_Array）を利用する技術が知られている。特開2000−34652公報には、ＦＰＧＡが容易に内部論理回路の追加・変更を行えるところから、ＬＳＩを製作する前にＦＰＧＡを用いたエミュレーションを行い、開発時の論理不良を修正することが記載されている。また、大規模ＬＳＩをエミュレーションする場合には、複数のＦＰＧＡを用いてエミュレーションを行っている。
【０００８】
【発明が解決しようとする課題】
上述のように、装置コントローラは装置全体の制御を行い、装置の処理能力を向上させたり、装置の稼働率を向上させたりするので、高性能化とともに高信頼化が要求されている。
【０００９】
このため、主記憶メモリのエラー訂正機能など、RAS機能を実現する回路等を内蔵して信頼性を向上する必要がある。さらに、PCIバスやローカルバスのＩ／Ｆも内蔵することから、コントローラ基板内では、システム制御を行う回路を大規模ＬＳＩ(ＡＳＩＣ)で製作しなければ、１枚の基板内にすべての回路を入れることができなかった。
【００１０】
複数枚の基板で実現する場合は、各基板で共用する回路部や基板間の接続信号数が多い等の問題があり、複数の基板で実現することが困難となってきている。このため、コントローラ基板内に大規模なシステム制御ＬＳＩを内蔵することは必須となっているが、システム制御ＬＳＩをＡＳＩＣで製作する場合に、以下に示す問題があった。
（１）メモリなどの主要部品の改廃、新規Ｉ／Ｆの追加などへの対応ができない。また、MPUの性能アップに伴う、MPU_Ｉ／Ｆの変更などの対策も含めて、３−５年単位にシステム制御ＬＳＩの作り直しが発生するため、アップグレードが困難で、大量生産を行わなければＬＳＩの開発費を回収できない。
（２）開発後に内部回路の論理ミスが発覚した場合、再製に多大な費用と時間を費やしてしまうため、ＬＳＩ開発に伴うリスクが大きい。
【００１１】
本発明の目的は、上記した従来技術の問題点に鑑み、容易に回路の追加・変更が可能な複数個のＦＰＧＡを用いてシステム制御ＬＳＩを構成することにより、開発費の低減と再製の容易な装置コントローラを提供することにある。
【００１２】
【課題を解決するための手段】
上記目的を達成する本発明は、大規模装置の複数のフィールドデバイスと伝送線で接続し、マイクロプロセッサを搭載して装置全体の制御を行う装置コントローラにおいて、装置コントローラ基板に、内部論理回路をコンフィグレーションする方式の複数のゲートアレイ（ＦＰＧＡ）を搭載し、前記内部論理回路を機能毎に分割して、前記複数のゲートアレイに分散して格納することを特徴とする。
【００１３】
前記内部論理回路の分割される機能は、たとえば主記憶メモリの制御部、ＰＣＩバスの制御部およびローカルバス制御部を含む。
【００１４】
また、前記ゲートアレイの内部論理回路に、コンフィグレーションが完了したことを示す完了信号を出力する回路と、前記ゲートアレイのコンフィグレーションが規定時間内に完了するかを監視する手段を設け、前記規定時間内に前記ゲートアレイのコンフィグレーションが完了しない場合に、再度、コンフィグレーションを行うように構成したことを特徴とする。
【００１５】
さらに、前記ゲートアレイ間を複数の信号線で結線し、前記ゲートアレイのコンフィグレーションの完了後に、前記信号線を用いてゲートアレイ間で相互チェックする回路を設けたことを特徴とする。
【００１６】
上記発明で、前記内部論理回路を機能毎に分割したコンフィグレーションデータは、各ゲートアレイと接続されるＲＯＭ、または一つのゲートアレイと接続されるＲＯＭ及び前記ＭＰＵと共有される共用メモリに格納していることを特徴とする。また、前記複数のゲートアレイのコンフィグレーションは、並行して実施されるように構成したことを特徴とする。
【００１７】
また、本発明は、大規模装置の複数のフィールドデバイスと伝送線で接続し、マイクロプロセッサを搭載して装置全体の制御を行う装置コントローラにおいて、装置コントローラ基板内に、内部論理回路をコンフィグレーションする方式の一つメインゲートアレイと少なくとも一つのサブゲートアレイを搭載し、前記メインゲートアレイは、メイン用に分割されてＲＯＭに格納されたコンフィグレーションデータを前記メインゲートアレイにローディングする手段と、サブ用に分割されて前記マイクロプロセッサと共有する共有メモリに格納された少なくとも一つのコンフィグレーションデータを前記サブゲートアレイにローディングする手段を設け、前記内部論理回路を機能毎に分割して各ゲートアレイに格納することを特徴とする。
【００１８】
前記共有メモリは、実装状態で、前記サブ用のコンフィグレーションデータのデータエリアを前記マイクロプロセッサから読み／書き可能に構成されていることを特徴とする。
【００１９】
さらに、上記の発明において、前記ゲートアレイ間に定義可能な複数の信号線を結線し、機能毎に分割された内部論理回路が一つのゲートアレイの容量を超える場合に、その超過分を他のゲートアレイの特定エリアに格納するとともに前記信号線を定義し、一つのゲートアレイを超えて前記内部論理回路を格納できるように構成したことを特徴とする。
【００２０】
本発明によれば、システム制御ＬＳＩの機能を分割して、各ゲートアレイに搭載することで、保守性を向上することが可能である。また、複数個のゲートアレイに分割することで、搭載できる論理規模が小さく安価なチップを使用することができる。
【００２１】
また、ゲートアレイのコンフィグレーションが並行して実施されることにより、全体的なコンフィグレーション時間を縮小でき、装置コントローラの立ち上げ時間を短縮できる。これにより、大容量のＦＰＧＡのもつ欠点、高価で且つコンフィグレーション時間が長くなってしまう欠点を補うことが可能である。
【００２２】
また、各ゲートアレイのコンフィグレーション状態を制御回路で監視し、一定時間内にコンフィグレーションが完了しない場合や、各ゲートアレイ間でコンフィグレーションを相互にチェックし、コンフィグレーションエラーが検出された場合に、再度、コンフィグレーションを行うので、ゲートアレイの信頼性を向上できる。
【００２３】
本発明の他の態様によれば、コンフィグレーションデータを格納するROMを使用するゲートアレイは一つのみとしている。そのゲートアレイが立ち上がった後、そのゲートアレイを経由して、ＭＰＵのソフトウェアを格納している共有メモリ（不揮発性メモリ）内にある他のコンフィグレーションデータで他のゲートアレイのコンフィグレーションを実施する。これにより、各ゲートアレイのコンフィグレーションが順番に実施されるので、電源立ち上げ時に基板全体の消費電力が一時的に増大することを回避できる。
【００２４】
また、すべてのゲートアレイのコンフィグレーションが完了するまで、ＭＰＵが動作できないと、装置コントローラの立ち上げ時間が長くなる。そこで、最初に立ち上げるゲートアレイが全体のコンフィグレーション完了を管理し、ＭＰＵがその状態を監視しながら、完了したゲートアレイに関する診断を実行している。これにより、装置コントローラ全体の立ち上げ時間を短く、かつ、ゲートアレイを使用した信頼性の高い装置コントローラを提供できる。
【００２５】
また、上記発明では、ＭＰＵがアクセスできる共有メモリに、ゲートアレイのコンフィグレーションデータを格納できるようにしたので、装置内にコントローラ基板を実装した後においても、ユーザの論理回路をゲートアレイに追加・変更することが可能になる。
【００２６】
【発明の実施の形態】
以下、図面を用いて本発明の実施形態について説明する。図７−９は本発明を適用する大規模装置の概略構造と装置内の各機器の配置を示したものである。ここでの大規模装置とは、半導体製造の分野で使われている製造装置や検査装置、理化学の分野で使われている分析装置や自動化装置などに代表される。装置内には多数のＩ／Ｏを有し、製造、検査、分析などの処理を行うための搬送制御や、センサ／アクチュエータの制御が行なわれている。
【００２７】
図７は大規模装置の構造の一例を示す。装置内には、モータ、バルブ、センサなどの多数のフィールドデバイスが分散配置されている。装置コントローラ２内のＩ／Ｏモジュールとフィールドデバイス１が配線５’で接続され、装置コントローラ２の装置コントローラ基板２１からＩ／Ｏモジュールを介してフィールドデバイス１を制御している。オペレーターズコンソール３は、装置コントローラ２と接続され、操作員が、製造、検査、分析などの処理を行うための起動指令などの操作を行うとともに、各処理の進行状況を表示する。
【００２８】
図８は大規模装置の他の例を示し、装置コントローラ２内の装置コントローラ基板２１と多数のフィールドデバイス１は、装置内ネットワーク５のみで接続され、省配線化が行われている。
【００２９】
フィールドデバイス1は、伝送路５を介して順番に装置コントローラ２とディジタル信号で双方向通信を行い、検出した物理量の送信、制御値の受信などの処理を行うことにより、装置内の各部の制御が行なわれる。
【００３０】
装置内ネットワーク５とパーソナルコンピュータなどの外部補助機器を接続するための接続端子６も設けられている。なお、図示は省略しているが、フィールドデバイス１には１個または複数個のＩ／Ｏが接続されており、Ｉ／Ｏ制御と通信処理を行っている。このため、装置コントローラ２は、小型化や単機能化が可能な構成となっている。
【００３１】
図９は、ＶＭＥバスを使用した装置内制御システムのラック内の構成図である。ＶＭＥバス対応のバックプレーン２０、装置コントローラ基板２１及びスレーブモジュールからなる。スレーブモジュールはRS−232C等の拡張通信モジュール２２、パルスモータの制御処理を行うＩ／Ｏモジュール２３、センサ／アクチュエータの制御処理を行うＩ／Ｏモジュール２４などである。
【００３２】
装置コントローラ基板２１は、ラック内で取り付け可能な枚数は１枚で、取り付けるスロットは指定されている。スレーブモジュール基板であるＩ／Ｏモジュール基板２２−２４は、装置の規模に応じて複数枚実装することが可能であり、ラック内には将来の機能拡張を考慮して増設用のスロットが設けられている。これら基板の動作電力は、バックプレーン２０内を亘っている＋５Vなどの電源ラインを介して供給されている。
【００３３】
ラックの内部に実装される基板は、ラック内のバックプレーン２０に実装されているＶＭＥバスを介して接続される。また、各種Ｉ／Ｏモジュールは、ＶＭＥバスを介して接続される装置コントローラ２１の指示に従い、Ｉ／Ｏ制御の処理を行っている。このため、フィールドデバイスは、Ｉ／Ｏモジュールを介して、装置コントローラ基板２１のＭＰＵが制御する構成となっている。
【００３４】
図１は、装置コントローラ基板の内部構成を示す。上述のように、装置コントローラ基板２１は、ＶＭＥバスのコネクタ2132、2133をバックプレーン２０に接続することにより、バックプレーン２０から動作電力が供給される構成となっている。高性能なＭＰＵ2100を内蔵し、通常、主記憶2120に組み込まれたプログラムに従い動作を行っている。
【００３５】
装置コントローラ基板２１のフロントパネルには、フィールドデバイス等と接続するため、Ethernet、ＵＳＢ，RS−232C、DeviceNetなどの通信Ｉ／Ｆ用のコネクタを配置している。Ethernetはコンソール３や上位システムと、USBはＦ／Ｄなどの補助記憶装置等と、RS−232Cはバーコードリーダーや装置の周辺機器と接続されている。また、DeviceNetは装置内ネットワークとして使用するためフィールドデバイス１と接続されている。
【００３６】
この通信Ｉ／Ｆは、通信専用コントローラから各通信固有のＭＡＵ（Medium_Attachment_Unit）を介して外部の機器と通信を行う構成となっていて、各コントローラチップはＰＣＩバスやローカルバス対応となっている。このため、装置コントローラ基板２１の内部には、ＭＰＵ2100のアドレスバス，データバス，および制御線からなるＭＰＵバス2101の他に、ＰＣＩバス2102とローカルバス2103が布線されている。
【００３７】
また、バックプレーン２０とＶＭＥバスで接続するため、VME−PCIバスブリッジ2130をPCIバス2102に接続した構成としている。ＶＭＥバスの処理性能を向上させる必要がある場合は、VME−PCIバスブリッジ2130をＭＰＵバス2101に直接、接続する構成に変更してもよい。
【００３８】
主記憶メモリ2120は、複数個のＳＤＲＡＭ（Synchronous_DRAM）で構成され、ＭＰＵ2100が実行するためのプログラムやそのワークエリアとして使用される。主記憶を読み書きするデータのエラー訂正用のデータエリアも確保されている。
【００３９】
不揮発性メモリ2180は、装置の制御プログラムや装置コントローラ基板２１の診断・保守プログラム、および、イニシャル・ローディングプログラムなどのプログラムを格納する。また、装置コントローラ基板２１のエラー情報や保守情報、及びEthernetのＩＰアドレスなど基板固有の情報を格納・保管するもので、共有メモリとして構成され、ＦＲＯＭやＦＲＡＭ、またはバッテリバックアップされたＳＲＡＭなどを用いている。
【００４０】
また、ＲＴＣ2190はカレンダー機能を持った時計であり、ＭＰＵ2100はローカルバス2103を経由してその情報を読み出したり、ＲＴＣ2190を設定したりする。
【００４１】
システム制御ＬＳＩ2111、2112、2113は、複数個使用するため小規模の安価なＦＰＧＡ（Field Programmable Gate Array）を採用し、機能毎に分割されている。各々のシステム制御ＬＳＩは、ＳＲＡＭタイプのＦＰＧＡであり、電源投入時にコンフィグレーションＲＯＭ2114、2115、2116に格納されている論理データをＦＰＧＡ内のＳＲＡＭにロードする。
【００４２】
図２はシステム制御ＬＳＩによる装置コントローラの詳細構成を示す。各システム制御ＬＳＩ2111、2112、2123はそれぞれＦＰＧＡで構成されている。電源投入時に外部に設置されたＲＯＭ2114、2115、2116に格納された論理データを、コンフィグレーション回路2201、2202、2203を介してＦＰＧＡ内の論理回路にローディングする。
【００４３】
本実施例では３つのＦＰＧＡが各システム制御ＬＳＩを構成している。システム制御ＬＳＩ2111がＰＣＩバスの制御部2204、システム制御ＬＳＩ2112が主記憶メモリの制御部2205、システム制御ＬＳＩ2113がローカルバス制御部2106を有し、それぞれ外部と接続されている。
【００４４】
各ＦＰＧＡには、論理回路へのローディングが正確に行われたかを診断するため、自己診断回路2207、2208、2209と相互診断回路2210、2211、2212が組み込まれている。コンフィグレーション回路2201、2202、2203からのコンフィグレーション完了信号と、自己診断回路及び相互診断回路からの準備完了信号が、制御信号発生回路2213、2214、2215に入力される。そして、各ＦＰＧＡから制御回路2104にコンフィグレーションが正常になされたか否かを示す信号が出力される。
【００４５】
自己診断回路2207、2208、2209は、ＦＰＧＡ内の内部論理回路に擬似入力を加え、その出力信号で内部論理が正常にローディングされたか否かを判定する手段を有している。相互診断回路2210、2211、2212はＦＰＧＡが外部に出力する信号から、内部論理が正常にローディングされたか否かを判定する手段を有している。
【００４６】
制御回路2104はタイマーを内蔵しており、一定時間内にコンフィグレーションが完了しない場合や、ＦＰＧＡからコンフィグレーションエラー信号が出力された場合に、ＭＰＵ2100に対してコンフィグレーションエラーを出力する。この場合、図示を省略しているが、ＭＰＵ2100は制御回路2104を介して、該当するＦＰＧＡをリセットする動作を行い、再び当該ＦＰＧＡをコンフィグレーションさせるように動作する。
【００４７】
本実施例では３つのＦＰＧＡが同時にコンフィグレーションを実施しているが、消費電力が一時的に増大することが問題になる場合は順番に行うようにしてもよい。
【００４８】
本実施例によれば、安価な回路構成で、容易に回路の追加変更が可能な装置コントローラ基板を製作できる。このことから、装置コントローラ基板２１内の部品の改廃への対応や、アップグレードの対応などが容易になる効果もある。
【００４９】
さらに、本実施例では、複数の小規模ＦＰＧＡが同時にコンフィグレーションを行うため、トータル的なコンフィグレーション時間が短縮でき、１つの大規模ＦＰＧＡで構成する場合に比べ、装置コントローラ基板２１全体の立ち上げ時間を短縮できる。
【００５０】
本実施例においては、ＦＰＧＡのコンフィグレーション時間を制御回路2104で監視し、規定時間内にコンフィグレーションが完了しない場合、再度、ＦＰＧＡのコンフィグレーションを実施するシーケンスを制御回路2104に設けている。これにより、コンフィグレーションの高信頼性を確保するとともに、ＦＰＧＡとコンフィグレーションＲＯＭ間のデータ転送や、その後のＦＰＧＡ内のＳＲＡＭへの書き込み時におけるノイズエラーの影響もチェックできる。
【００５１】
本実施例では、コンフィグレーションが完了したことを示す信号を制御回路2104に出力する論理回路を各ＦＰＧＡに内蔵している。なお、コンフィグレーションをリトライするシーケンスは、制御回路2104でなく、ＭＰＵ2100から実施することも可能である。
【００５２】
また、本実施例では、ＦＰＧＡ間を複数の信号線で結び、コンフィグレーション完了後、ＦＰＧＡが実際に使用する論理回路の信号で相互チェックを行うシーケンスを各FPGAに内蔵している。その相互チェック結果から、異常があった場合に、再度、コンフィグレーションを行うことで、さらに、信頼性を向上させている。これにより、ＦＰＧＡのコンフィグレーションの高信頼性が確保できるシステム制御ＬＳＩが提供できる。
【００５３】
次に、本実施例の動作を説明する。装置コントローラは電源投入後、各ＦＰＧＡのコンフィグレーションを実施する。このとき、不揮発性メモリ2180に内蔵された自己診断プログラムを制御回路2104で実行しながら監視する。異常が無ければ、イニシャルローディングプログラムを実行し、不揮発性メモリ2180に格納されている装置の制御プログラムを主記憶メモリ2120にローディングし、実行するものである。装置の制御プログラムは、不揮発性メモリからではなく、EthernetまたはUSBなどを経由して、外部に格納されているプログラムをローディングすることもできる。
【００５４】
図３はＦＰＧＡのコンフィグレーション動作を監視する処理フロー図である。まず、コンフィグレーション開始により、各ＦＰＧＡは自己のタイマーカウントを始め（S101）、ＦＰＧＡのコンフィグレーションを監視し（S102）、コンフィグレーション完了信号が全て入力されたか判断する（S103）。未入力があればタイマーカウント終了まで（S014）、監視を継続する。タイマーカウントが終了していれば、エラーを表示して、該当ＦＰＧＡをリセットし（S105）、再度コンフィグレーションをやり直す。
【００５５】
全ＦＰＧＡからコンフィグレーションの完了信号が入力されれば、ＦＰＧＡ相互チェックを開始し（S106）、相互チェック結果を判定し（s107）、エラーがなければ完了通知を出して（s108）、コンフィグレーションを終了する。エラーがあれば、ステップS105からやり直しとなる。
【００５６】
本実施例では、各ＦＰＧＡ間を定義可能な複数の信号線で結ぶ構成としてもよい。これによれば、１個のＦＰＧＡに搭載可能な論理回路の容量を超えた場合、他のＦＰＧＡで部分的に代替することが可能になるので、小規模で安価なＦＰＧＡを採用できるという利点がある。
【００５７】
次に、本発明の装置コントローラに関する他の実施例を説明する。
【００５８】
図４は他の実施例による装置コントローラの構成図である。この例では、システム制御ＬＳＩのコンフィグレーションに関係する構成以外は、図１の構成と同様である。
【００５９】
図４において、システム制御ＬＳＩ2113のコンフィグレーションは、コンフィグレーションＲＯＭ2116の論理データをＦＰＧＡにロードする形態である。システム制御ＬＳＩ2111、2112は、不揮発性メモリ2180に上述のプログラムや情報データと共に格納されている論理データを、システム制御ＬＳＩ2113を介して伝送される。不揮発性メモリ2180はメモリアドレス毎に、システム制御ＬＳＩ2111、2112の論理データを分類して確保している。これにより、システム制御ＬＳＩ2111、2112のコンフィグレーションROMを省略できる。
【００６０】
また、ＭＰＵ2100はバス2101を経由して不揮発性メモリ2180をアクセスできる。従って、不揮発性メモリ2180に格納されているシステム制御ＬＳＩ2111、2112の論理データを、Ethernetなどの通信Ｉ／Ｆを介して、基板実装状態で変更できる。
【００６１】
図５は、図４の装置コントローラにおけるシステム制御ＬＳＩの詳細構成を示している。システム制御ＬＳＩ2113をメインＦＰＧＡとし、システム制御ＬＳＩ2111、2112をサブＦＰＧＡとしている。メインＦＰＧＡは図１の場合と同様に、ＲＯＭ2116に格納されている論理データをローディングすることでコンフィグレーションを行う。サブＦＰＧＡは不揮発性メモリ2180の特定のエリアに格納されたＦＰＧＡの論理データを、ローカルバス2130経由でメインＦＰＧＡのデータ転送回路2216を介して、ローディングされる。
【００６２】
また、各ＦＰＧＡ間には任意に定義可能な複数の信号線が接続されている。ＦＰＧＡ内の論理が大きくなり、一つのＦＰＧＡに入り切らなくなった場合に、上記信号線で接続された他のＦＰＧＡに容量オーバ分の論理をローディングし、信号線を定義することで、ＦＰＧＡの枠を超えた機能分割が可能になる。なお、各ＦＰＧＡには、ＦＰＧＡの枠を超えて使用することが可能なユーザ論理回路の追加エリア2217、2218を確保している。
【００６３】
図６に、本実施例による装置コントローラのコンフィグレーション動作の処理フローを示す。
【００６４】
コンフィグレーション開始で、メインＦＰＧＡのリセットを解除し、タイマーカウントを開始する（S201）。以後、メインＦＰＧＡのコンフィグレーションを監視し（S202）、完了信号が入力されるまで繰り返す。もし、タイマーカウントが終了となれば、メインＦＰＧＡのコンフィグレーションのエラー表示を行い（S205）、再度Ｓ２０１から繰り返す。
【００６５】
Ｓ２０３で、コンフィグレーションの完了信号が入力されると、サブＦＰＧＡのコンフィグレーションを開始し（S206）、メインＦＰＧＡの場合と同様に行う。Ｓ２０８で、他の全てのＦＰＧＡのコンフィグレーション完了信号が得られると、図３の場合と同様にＦＰＧＡ相互チエックシーケンスを開始し（S210）、エラーが無ければ完了通知を出力する（S212）。
【００６６】
これによれば、ＦＰＧＡのコンフィグレーションを順番に制御するので、コンフィグレーション時の消費電力が一時的に増大することを回避できる。
【００６７】
【発明の効果】
本発明は、装置コントローラのシステム制御ＬＳＩを複数のＦＰＧＡで構成し、分割された内部論理の健全性をチェックする機能を有しているので、装置コントローラの高信頼性を確保できる効果がある。また、装置コントローラのアップグレードや、回路変更・修正が容易に行える効果がある。
【００６８】
さらに、本発明では、ＦＰＧＡ内にユーザ論理回路を追加することができるので、装置コントローラの用途により、外部からの通信などでカスタマイズできる効果もある。
【図面の簡単な説明】
【図１】本発明の第１の実施例による装置コントローラのブロック図。
【図２】第１の実施例によるシステム制御ＬＳＩの詳細を示すブロック図。
【図３】第１の実施例によるFPGAコンフィグレーション動作を示すフロー図。
【図４】本発明の第２の実施例による装置コントローラのブロック図。
【図５】第２の実施例によるシステム制御ＬＳＩの詳細を示すブロック図。
【図６】第２の実施例によるFPGAコンフィグレーション動作を示すフロー図。
【図７】本発明を適用する大規模装置の概略構造図。
【図８】本発明を適用する他の大規模装置の概略構造図。
【図９】装置コントローラのラック内の構成図。
【図１０】従来の装置コントローラのブロック図。
【符号の説明】
１…フィールドデバイス、２…装置コントローラ、３…オペレーターズコンソール、５…装置内ネットワーク、６…外部接続コネクタ、２０…バックプレーン、２１…装置コントローラ基板、2100…ＭＰＵ、2104…制御回路、2111〜2113…システム制御ＬＳＩ（ＦＰＧＡ）、2114〜2116…コンフィグレーションＲＯＭ、2120…主記憶メモリ、2180…不揮発性メモリ、2201〜2203…コンフィグレーション回路、2204…ＲＣＩバス制御回路、2205…主記憶制御回路、2206…ローカルバス制御回路、2207〜2209…自己診断回路、2210〜2212…相互診断回路、2213〜2215…制御信号発生回路、2216…データ転送回路。
【図１】
0003686380.tif 000002
【図２】
0003686380.tif 000003
【図３】
0003686380.tif 000004
【図４】
0003686380.tif 000005
【図５】
0003686380.tif 000006
【図６】
0003686380.tif 000007
【図７】
0003686380.tif 000008
【図８】
0003686380.tif 000009
【図９】
0003686380.tif 000010
【図１０】
0003686380.tif 000011