説明

データ比較回路の故障診断装置

【課題】 2つのデータ列を比較して一致・不一致を判定するデータ比較回路10について、一致側への固定故障を診断可能とする。
【解決手段】 データ比較回路10は、比較するデータ列がそれぞれ所定ビット数ずつ複数のデータに分けられて入力される複数の排他的論理和回路(XOR回路)11−1、11−2、・・・と、これらの出力が入力されて比較結果を出力する論理和回路(OR回路)12とから構成される。ここにおいて、データ比較回路10の入力側で1つのデータ列をそのまま入力させるモードと、ビット反転処理などにより他のデータ列と不一致となるように変化させて入力させるモードとを切替え可能な切替回路13a−1、13a−2、・・・を設ける。そして、前記切替回路により1つのデータ列を変化させて入力させたときのデータ比較回路10の比較結果に基づいて、故障の有無を診断する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、少なくとも2つのデータ列を比較して一致・不一致を判定するデータ比較回路について、故障の有無を診断する故障診断装置に関する。
【背景技術】
【0002】
2つの演算処理装置(CPU)を同期させて処理データ(バス上のデータ)の一致を常時監視することにより処理の正当性を保証する2重系演算処理装置においては、特許文献1などに示されるように、データ比較回路により、各CPUのバス上のデータ列を比較して一致・不一致を判定している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5−120047号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来のデータ比較回路においては、一致したデータであることが前提となるため、比較結果の出力(表示)が一致側に固定故障した場合には、不一致であったとしても、不一致の表示ができなくなるという問題点があった。
本発明は、このような従来の問題点に鑑み、一致側への固定故障を認識可能とすること課題とする。
【課題を解決するための手段】
【0005】
上記の課題を解決するために、本発明は、データ比較回路の入力側で1つのデータ列をそのまま入力させるモードと他のデータ列と不一致となるように変化させて入力させるモードとを切替えることができる切替回路を設け、この切替回路により1つのデータ列を変化させて入力させたときのデータ比較回路の比較結果に基づいて、データ比較回路の故障の有無を診断する構成とする。
【発明の効果】
【0006】
本発明によれば、比較するデータ列のうち1つのデータ列を他のデータ列と不一致となるように変化させて、データ比較回路に入力することで、不一致が前提となる。よって、この場合に比較結果の出力が一致のときは、一致側に固定故障したものであると故障診断できるようになる。これにより、データ比較回路の信頼性を向上させることができる。
【図面の簡単な説明】
【0007】
【図1】本発明の一実施形態を示すデータ比較回路の構成図
【図2】図1の実施形態での故障診断のフローチャート
【図3】本発明の他の実施形態を示すデータ比較回路の構成図
【図4】暗号化処理の例を示す図
【図5】図3の実施形態での故障診断のフローチャート
【発明を実施するための形態】
【0008】
以下、本発明の実施の形態について、詳細に説明する。
図1は本発明の一実施形態を示すデータ比較回路の構成図である。
【0009】
本実施形態のデータ比較回路10は、同期して作動する2つのCPU(a系CPU及びb系CPU)の処理データ(バス上のデータ)の一致を常時監視することにより処理の正当性を保証すべく、a系CPUのデータバス1上のデータ列a[n-1:0] と、b系CPUのデータバス2上のデータ列b[n-1:0] と、を比較する。尚、nはデータ列のビット長(例えば32)である。
【0010】
データ比較回路10は、n個の排他的論理和回路(XOR回路)11−1、11−2、・・・、11−nと、これらのXOR回路11−1、11−2、・・・、11−nの出力が入力される論理和回路(OR回路)12と、を含んで構成される。
【0011】
XOR回路11−1には、a系CPUのバス1上のデータ列a[n-1:0] のうち、1ビット目のデータa[0] が、後述する切替回路13a−1を介し、データa2[0]となって(通常はa2[0]=a[0] )、入力されると共に、b系CPUのバス2上のデータ列b[n-1:0] のうち、1ビット目のデータb[0] が、後述する切替回路13b−1を介し、データb2[0] となって(通常はb2[0]=b[0] )、入力される。
【0012】
XOR回路11−2には、a系CPUのバス1上のデータ列a[n-1:0] のうち、2ビット目のデータa[1] が、後述する切替回路13a−2を介し、データa2[1]となって(通常はa2[1]=a[1] )、入力されると共に、b系CPUのバス2上のデータ列b[n-1:0] のうち、2ビット目のデータb[1] が、後述する切替回路13b−2を介し、データb2[1] となって(通常はb2[1]=b[1] )、入力される。
【0013】
同様に、XOR回路11−nには、a系CPUのバス1上のデータ列a[n-1:0] のうち、nビット目のデータa[n-1] が、後述する切替回路13a−nを介し、データa2[n-1]となって(通常はa2[n-1]=a[n-1] )、入力されると共に、b系CPUのバス2上のデータ列b[n-1:0] のうち、nビット目のデータb[n-1] が、後述する切替回路13b−nを介し、データb2[n-1]となって(通常はb2[n-1]=b[n-1] )、入力される。
【0014】
切替回路13a−1、13a−2、・・・13a−n、及び、13b−1、13b−2、・・・、13b−nは、通常は、入力されるデータをそのまま出力して、対応するXOR回路11−1、11−2、・・・、11−nに入力するが、切替により、入力されるデータをビット反転して、対応するXOR回路11−1、11−2、・・・、11−nに入力することができる。すなわち、各切替回路は、入力されるデータをそのまま出力するモード(通常モード)と、入力されるデータをビット反転するモード(ビット反転モード)とを有し、これらを切替えることができる。
【0015】
従って、各切替回路の通常モードでは、XOR回路11−1、11−2、・・・、11−nは、次のように機能する。
【0016】
XOR回路11−1には、その一方の入力端子に、a系CPUのバス1上のデータ列の1ビット目のデータa[0] がそのままa2[0]=a[0] として入力され、他方の入力端子に、b系CPUのバス2上のデータ列の1ビット目のデータb[0] がそのままb2[0]=b[0] として入力され、これらは一致していることを前提とするため、一致している限り、XOR回路11−1の出力(比較結果[0] )は0となる。そして、不一致の場合は、XOR回路11−1の出力(比較結果[0] )が1となり、不一致(異常)が検出される。
【0017】
XOR回路11−2には、その一方の入力端子に、a系CPUのバス1上のデータ列の2ビット目のデータa[1] がそのままa2[1]=a[1] として入力され、他方の入力端子に、b系CPUのバス2上のデータ列の2ビット目のデータb[1] がそのままb2[1]=b[1] として入力され、これらは一致していることを前提とするため、一致している限り、XOR回路11−2の出力(比較結果[1] )は0となる。そして、不一致の場合は、XOR回路11−2の出力(比較結果[1] )が1となり、不一致(異常)が検出される。
【0018】
同様に、XOR回路11−nには、その一方の入力端子に、a系CPUのバス1上のデータ列のnビット目のデータa[n-1] がそのままa2[n-1]=a[n-1] として入力され、他方の入力端子に、b系CPUのバス2上のデータ列のnビット目のデータb[n-1] がそのままb2[n-1]=b[n-1] として入力され、これらは一致していることを前提とするため、一致している限り、XOR回路11−nの出力(比較結果[n-1] )は0となる。そして、不一致の場合は、XOR回路11−nの出力(比較結果[n-1] )が1となり、不一致(異常)が検出される。
【0019】
OR回路12には、XOR回路11−1、11−2、・・・、11−nの出力が入力されており、a系CPUのバス1上のデータ列a[n-1:0] とb系CPUのバス2上のデータ列b[n-1:0] とが全てのビットで一致していれば、全ての入力(比較結果[0] 〜[n-1] )が0となるので、OR回路12の出力(比較結果)は0、すなわち一致となる。
これに対し、データ列a[n-1:0] とデータ列b[n-1:0] とがいずれか1つのビットで不一致の場合、全ての入力(比較結果[0] 〜[n-1] )のうち、いずれか1つが1となるので、OR回路12の出力(比較結果)は1、すなわち不一致となる。
【0020】
従って、データ比較回路10は、各切替回路の通常モードでは、a系CPUのバス1上のデータ列a[n-1:0] と、b系CPUのバス2上のデータ列b[n-1:0] とをそのまま比較して、一致・不一致を判定することができる。
【0021】
次に各切替回路のビット反転モードでのデータ比較回路10の故障診断について説明する。
各切替回路13a−1、13a−2、・・・、13a−n、及び、13b−1、13b−2、・・・、13b−nは、順次選択的にビット反転モードに切替える。
【0022】
例えば、切替回路13a−1をビット反転モードに切替えると、a系CPUのバス1上のデータ列a[n-1:0] から取込まれた1ビット目のデータa[0] が切替回路13a−1によりビット反転されて、データa2[0]となり、XOR回路11−1の一方の入力端子に入力される。
このとき、切替回路13b−1は通常モードに維持されており、b系CPUのバス2上のデータ列b[n-1:0] から取込まれた1ビット目のデータb[0] はそのままデータb2[0] となり、XOR回路11−1の他方の入力端子に入力される。
従って、前提として、a2[0]≠b2[0]となり、正しく不一致を検出できれば、XOR回路11−1の出力(比較結果[0] )は1となり、OR回路12の出力(比較結果)は1となる。
これに対し、XOR回路11−1の出力(比較結果[0] )が0となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【0023】
また、切替回路13a−2をビット反転モードに切替えると、a系CPUのバス1上のデータ列a[n-1:0] から取込まれた2ビット目のデータa[1] が切替回路13a−2によりビット反転されて、データa2[1]となり、XOR回路11−2の一方の入力端子に入力される。
このとき、切替回路13b−2は通常モードに維持されており、b系CPUのバス2上のデータ列b[n-1:0] から取込まれた2ビット目のデータb[1] はそのままデータb2[1] となり、XOR回路11−2の他方の入力端子に入力される。
従って、前提として、a2[1]≠b2[1]となり、正しく不一致を検出できれば、XOR回路11−2の出力(比較結果[1] )は1となり、OR回路12の出力(比較結果)は1となる。
これに対し、XOR回路11−2の出力(比較結果[1] )が0となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【0024】
同様に、切替回路13a−nをビット反転モードに切替えると、a系CPUのバス1上のデータ列a[n-1:0] から取込まれたnビット目のデータa[n-1] が切替回路13a−nによりビット反転されて、データa2[n-1]となり、XOR回路11−nの一方の入力端子に入力される。
このとき、切替回路13b−nは通常モードに維持されており、b系CPUのバス2上のデータ列b[n-1:0] から取込まれたnビット目のデータb[n-1] はそのままデータb2[n-1] となり、XOR回路11−nの他方の入力端子に入力される。
従って、前提として、a2[n-1]≠b2[n-1]となり、正しく不一致を検出できれば、XOR回路11−nの出力(比較結果[n-1] )は1となり、OR回路12の出力(比較結果)は1となる。
これに対し、XOR回路11−nの出力(比較結果[n-1] )が0となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【0025】
次に、切替回路13b−1をビット反転モードに切替えると、b系CPUのバス2上のデータ列b[n-1:0] から取込まれた1ビット目のデータb[0] が切替回路13b−1によりビット反転されて、データb2[0]となり、XOR回路11−1のb側の入力端子に入力される。
このとき、切替回路13a−1は通常モードに維持されており、a系CPUのバス1上のデータ列a[n-1:0] から取込まれた1ビット目のデータa[0] はそのままデータa2[0] となり、XOR回路11−1のa側の入力端子に入力される。
従って、前提として、a2[0]≠b2[0]となり、正しく不一致を検出できれば、XOR回路11−1の出力(比較結果[0] )は1となり、OR回路12の出力(比較結果)は1となる。
これに対し、XOR回路11−1の出力(比較結果[0] )が0となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【0026】
また、切替回路13b−2をビット反転モードに切替えると、b系CPUのバス2上のデータ列b[n-1:0] から取込まれた2ビット目のデータb[1] が切替回路13b−2によりビット反転されて、データb2[1]となり、XOR回路11−2のb側の入力端子に入力される。
このとき、切替回路13a−2は通常モードに維持されており、a系CPUのバス1上のデータ列a[n-1:0] から取込まれた2ビット目のデータa[1] はそのままデータa2[1] となり、XOR回路11−2のa側の入力端子に入力される。
従って、前提として、a2[1]≠b2[1]となり、正しく不一致を検出できれば、XOR回路11−2の出力(比較結果[1] )は1となり、OR回路12の出力(比較結果)は1となる。
これに対し、XOR回路11−2の出力(比較結果[1] )が0となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【0027】
同様に、切替回路13b−nをビット反転モードに切替えると、b系CPUのバス2上のデータ列b[n-1:0] から取込まれたnビット目のデータb[n-1] が切替回路13b−nによりビット反転されて、データb2[n-1]となり、XOR回路11−nのb側の入力端子に入力される。
このとき、切替回路13a−nは通常モードに維持されており、a系CPUのバス1上のデータ列a[n-1:0] から取込まれたnビット目のデータa[n-1] はそのままデータa2[n-1] となり、XOR回路11−nのa側の入力端子に入力される。
従って、前提として、a2[n-1]≠b2[n-1]となり、正しく不一致を検出できれば、XOR回路11−nの出力(比較結果[n-1] )は1となり、OR回路12の出力(比較結果)は1となる。
これに対し、XOR回路11−nの出力(比較結果[n-1] )が0となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【0028】
データ比較回路10は、上記のような故障診断を可能とするため、反転制御部14及びログ記録部15を有する。
【0029】
反転制御部14は、反転制御データに基づいて、a系側のデータ列a[n-1:0] をビットごとに反転すべく、a系側の切替回路13a−1、13a−2、・・・、13a−nを順次選択的に切替作動させ、次いで、b系側のデータ列b[n-1:0] をビットごとに反転すべく、b系側の切替回路13b−1、13b−2、・・・、13b−nを順次選択的に切替作動させる。
【0030】
ログ記録部15は、切替作動ごとに、XOR回路11−1、11−2、・・・、11−nの一方の入力端子に入力されるデータ列a2[n-1:0] 、及び、他方の入力端子に入力されるデータ列b2[n-1:0] を記録する。また同時に、切替作動ごとに、XOR回路11−1、11−2、・・・、11−nの出力である比較結果[n-1:0] 、及び、OR回路12の出力である比較結果を記録する。そして、これらのログ記録データは、各系CPUに送られる。
【0031】
図2は故障診断のフローチャートである。
S1では、a系側のデータ列を1ビットずつ反転する。
S2では、1ビットずつ反転するごとに、比較結果が不一致(1)となったか否かを判定し、不一致の場合は、S3へ進んで正常と診断し、一致の場合は、S4へ進んで対応ビット部分が一致側に固定故障と診断する。
次のS5では、a系側データ列の反転制御が終了したか否かを判定し、終了していない場合はS1へ戻り、終了している場合はS6へ進む。
【0032】
S6では、b系側のデータ列を1ビットずつ反転する。
S7では、1ビットずつ反転するごとに、比較結果が不一致(1)となったか否かを判定し、不一致の場合は、S8へ進んで正常と診断し、一致の場合は、S9へ進んで対応ビット部分が一致側に固定故障と診断する。
次のS10では、b系側データ列の反転制御が終了したか否かを判定し、終了していない場合はS6へ戻り、終了している場合は処理を終了する。
【0033】
本実施形態によれば、データ比較回路10の入力側で1つのデータ列をそのまま入力させるモード(通常モード)と他のデータ列と不一致となるように変化させて入力させるモード(ビット反転モード)とを切替えることができる切替回路13a−1、13a−2、・・・、13a−n、及び、13b−1、13b−2、・・・、13b−n、を有し、これらの切替回路により1つのデータ列を変化させて入力させたときのデータ比較回路10の比較結果に基づいて、データ比較回路10の故障の有無を診断する構成としたことにより、一致側への固定故障を診断可能となり、データ比較回路の信頼性を向上させることができる。
【0034】
また、前記切替回路は、各系CPUのバス1、2から取込んだデータ列をビット反転処理などにより変化させるのであって、各系CPUが取扱うデータ列自体を変化させるものではないので、各系CPUの制御に影響を与えることはない。
【0035】
また、本実施形態によれば、データ比較回路10は、比較するデータ列がそれぞれ所定ビット数ずつ複数のデータに分けられてそれぞれ入力される複数の排他的論理和回路(XOR回路)11−1、11−2、・・・、11−nと、これら複数の排他的論理和回路の出力が入力されて比較結果を出力する論理和回路(OR回路)12と、を含んで構成され、前記切替回路は、前記各排他的論理和回路の各入力側に設けられ、前記各排他的論理和回路に入力される1つのデータをそのまま入力させるモードと他のデータと不一致となるように変化させて入力させるモードとを切替えることができるものとしたことにより、データ比較回路10を簡潔な構成で実現できると共に、かかる構成にて一致側への固定故障を的確に診断可能となる。
【0036】
また、本実施形態によれば、前記切替回路は、ビット反転処理により、前記排他的論理和回路に入力される1つのデータを他のデータと不一致となるように変化させる構成としたことにより、簡単な処理で実施可能となる。
【0037】
また、本実施形態によれば、前記比較するデータ列のうち、いずれか1つのデータ列側の複数の切替回路を順次選択的に切替作動させる制御部14と、前記制御部14による切替作動ごとに、前記各排他的論理和回路に入力されるデータと、前記各排他的論理和回路の出力とを記録するログ記録部15と、を備えることにより、故障部位の特定が容易となる。
【0038】
尚、本実施形態では、1ビットごとに反転処理しているが、複数ビットずつ反転処理するようにしてもよい。また、反転ではなく、ある法則に従った暗号化のようなものでもよい。
【0039】
次に本発明の他の実施形態(暗号化処理による実施形態)について説明する。
図3は本発明の他の実施形態を示すデータ比較回路の構成図である。図1の実施形態と同一要素には同一符号を付して説明を簡略化する。ここでも、データ列a[n-1:0],b[n-1:0] のビット長をn(例えば32とする)。
【0040】
データ比較回路10は、n/4個の排他的論理和回路(XOR回路)11−1、11−2、・・・、11−n/4と、これらのXOR回路11−1、11−2、・・・、11−n/4の出力が入力される論理和回路(OR回路)12と、を含んで構成される。尚、本実施形態では、XOR回路が4ビットずつデータを比較するようになっている。
【0041】
XOR回路11−1には、a系CPUのバス1上のデータ列a[n-1:0] のうち、1〜4ビット目のデータa[3:0] が、後述する切替回路16a−1を介し、データa2[3:0]となって(通常はa2[3:0]=a[3:0] )、入力されると共に、b系CPUのバス2上のデータ列b[n-1:0] のうち、1〜4ビット目のデータb[3:0] が、後述する切替回路16b−1を介し、データb2[3:0] となって(通常はb2[3:0]=b[3:0] )、入力される。
【0042】
XOR回路11−2には、a系CPUのバス1上のデータ列a[n-1:0] のうち、5〜8ビット目のデータa[7:4] が、後述する切替回路16a−2を介し、データa2[7:4]となって(通常はa2[7:4]=a[7:4] )、入力されると共に、b系CPUのバス2上のデータ列b[n-1:0] のうち、4〜8ビット目のデータb[7:4] が、後述する切替回路16b−2を介し、データb2[7:4] となって(通常はb2[7:4]=b[7:4] )、入力される。
【0043】
同様に、XOR回路11−n/4には、a系CPUのバス1上のデータ列a[n-1:0] のうち、n−3〜nビット目のデータa[n-1:n-4] が、後述する切替回路13a−n/4を介し、データa2[n-1:n-4]となって(通常はa2[n-1:n-4]=a[n-1:n-4] )、入力されると共に、b系CPUのバス2上のデータ列b[n-1:0] のうち、n−3〜nビット目のデータb[n-1:n-4] が、後述する切替回路13b−n/4を介し、データb2[n-1:n-4]となって(通常はb2[n-1:n-4]=b[n-1:n-4] )、入力される。
【0044】
切替回路16a−1、16a−2、・・・、16a−n/4、及び、16b−1、16b−2、・・・、16b−n/4は、通常は、入力されるデータをそのまま出力して、対応するXOR回路11−1、11−2、・・・、11−n/4に入力するが、切替により、入力される4ビットのデータを暗号化処理して、対応するXOR回路11−1、11−2、・・・、11−n/4に入力することができる。すなわち、各切替回路は、入力されるデータをそのまま出力するモード(通常モード)と、入力されるデータを暗号化処理するモード(暗号化モード)とを有し、これらを切替えることができる。
【0045】
従って、各切替回路の通常モードでは、XOR回路11−1、11−2、・・・、11−n/4は、次のように機能する。
【0046】
XOR回路11−1には、その一方の入力端子に、a系CPUのバス1上のデータ列の1〜4ビット目のデータa[3:0] がそのままa2[3:0]=a[3:0] として入力され、他方の入力端子に、b系CPUのバス2上のデータ列の1〜4ビット目のデータb[3:0] がそのままb2[3:0]=b[3:0] として入力され、これらは一致していることを前提とするため、一致している限り、XOR回路11−1の出力(比較結果[3:0] )は0となる。そして、不一致の場合は、XOR回路11−1の出力(比較結果[3:0] )が1となり、不一致(異常)が検出される。
【0047】
XOR回路11−2には、その一方の入力端子に、a系CPUのバス1上のデータ列の5〜8ビット目のデータa[7:4] がそのままa2[7:4]=a[7:4] として入力され、他方の入力端子に、b系CPUのバス2上のデータ列の5〜8ビット目のデータb[7:4] がそのままb2[7:4]=b[7:4] として入力され、これらは一致していることを前提とするため、一致している限り、XOR回路11−2の出力(比較結果[7:4] )は0となる。そして、不一致の場合は、XOR回路11−2の出力(比較結果[7:4] )が1となり、不一致(異常)が検出される。
【0048】
同様に、XOR回路11−n/4には、その一方の入力端子に、a系CPUのバス1上のデータ列のn−3〜nビット目のデータa[n-1:n-4] がそのままa2[n-1:n-4]=a[n-1:n-4] として入力され、他方の入力端子に、b系CPUのバス2上のデータ列のn−3〜nビット目のデータb[n-1:n-4] がそのままb2[n-1:n-4]=b[n-1:n-4] として入力され、これらは一致していることを前提とするため、一致している限り、XOR回路11−n/4の出力(比較結果[n-1:n-4] )は0となる。そして、不一致の場合は、XOR回路11−n/4の出力(比較結果[n-1:n-4] )が1となり、不一致(異常)が検出される。
【0049】
OR回路12には、XOR回路11−1、11−2、・・・、11−n/4の出力が入力されており、a系CPUのバス1上のデータ列a[n-1:0] とb系CPUのバス2上のデータ列b[n-1:0] とが全てのビットで一致していれば、全ての入力(比較結果[3:0] 〜[n-1:n-4] )が0となるので、OR回路12の出力(比較結果)は0、すなわち一致となる。
これに対し、データ列a[n-1:0] とデータ列b[n-1:0] とがいずれか1つのビットで不一致の場合、全ての入力(比較結果[3:0] 〜[n-1:n-4] )のうち、いずれか1つが1となるので、OR回路12の出力(比較結果)は1、すなわち不一致となる。
【0050】
従って、データ比較回路10は、各切替回路の通常モードでは、a系CPUのバス1上のデータ列a[n-1:0] と、b系CPUのバス2上のデータ列b[n-1:0] とをそのまま比較して、一致・不一致を判定することができる。
【0051】
次に各切替回路の暗号化処理モードでのデータ比較回路10の故障診断について説明する。
各切替回路16a−1、16a−2、・・・、16a−n/4、及び、16b−1、16b−2、・・・、16b−n/4は、順次選択的に暗号化モードに切替える。
【0052】
ここでの暗号化処理は、例えば、4ビットのデータに対し、図4に示すような暗号化を施す。
図4の例では、次の(1)〜(3)の操作を施して、暗号化している。
(1)左から2ビット目、3ビット目をそれぞれ反転する。
(2)左から1ビット目と3ビット目を入れ替える。
(3)左から2ビット目と4ビット目を入れ替える。
【0053】
この場合、診断時のデータ列により、特定の2箇所(図4中の○で囲んだ箇所)で比較結果不一致が発生する。従って、特定の2箇所で不一致が発生していることと、それ以外では一致となっていることを確認するとよい。
【0054】
例えば、切替回路16a−1を暗号化モードに切替えると、a系CPUのバス1上のデータ列a[n-1:0] から取込まれた1〜4ビット目のデータa[3:0] が切替回路16a−1により暗号化処理されて、データa2[3:0]となり、XOR回路11−1の一方の入力端子に入力される。
このとき、切替回路16b−1は通常モードに維持されており、b系CPUのバス2上のデータ列b[n-1:0] から取込まれた1〜4ビット目のデータb[3:0] はそのままデータb2[3:0] となり、XOR回路11−1の他方の入力端子に入力される。
従って、前提として、a2[3:0]≠b2[3:0]となり、正しく不一致を検出できれば、XOR回路11−1の出力(比較結果[3:0] )は1となり、OR回路12の出力(比較結果)は1となる。
これに対し、XOR回路11−1の出力(比較結果[3:0] )が0となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【0055】
また、切替回路16a−2を暗号化モードに切替えると、a系CPUのバス1上のデータ列a[n-1:0] から取込まれた5〜8ビット目のデータa[7:4] が切替回路16a−2により暗号化処理されて、データa2[7:4]となり、XOR回路11−2の一方の入力端子に入力される。
このとき、切替回路16b−2は通常モードに維持されており、b系CPUのバス2上のデータ列b[n-1:0] から取込まれた5〜8ビット目のデータb[7:4] はそのままデータb2[7:4] となり、XOR回路11−2の他方の入力端子に入力される。
従って、前提として、a2[7:4]≠b2[7:4]となり、正しく不一致を検出できれば、XOR回路11−2の出力(比較結果[1] )は1となり、OR回路12の出力(比較結果)は1となる。
これに対し、XOR回路11−2の出力(比較結果[7:4] )が0となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【0056】
同様に、切替回路16a−n/4を暗号化モードに切替えると、a系CPUのバス1上のデータ列a[n-1:0] から取込まれたn−3〜nビット目のデータa[n-1:n-4] が切替回路16a−n/4により暗号化処理されて、データa2[n-1:n-4]となり、XOR回路11−n/4の一方の入力端子に入力される。
このとき、切替回路16b−n/4は通常モードに維持されており、b系CPUのバス2上のデータ列b[n-1:0] から取込まれたn−3〜nビット目のデータb[n-1:n-4] はそのままデータb2[n-1:n-4] となり、XOR回路11−n/4の他方の入力端子に入力される。
従って、前提として、a2[n-1:n-4]≠b2[n-1:n-4]となり、正しく不一致を検出できれば、XOR回路11−n/4の出力(比較結果[n-1:n-4] )は1となり、OR回路12の出力(比較結果)は1となる。
これに対し、XOR回路11−n/4の出力(比較結果[n-1:n-4] )が0となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【0057】
次に、切替回路16b−1、16b−2、・・・、16b−n/4を順次暗号化モードに切替えて、故障診断を行うが、説明は省略する。
【0058】
データ比較回路10は、上記のような故障診断を可能とするため、暗号化制御部17及びログ記録部18を有する。
【0059】
暗号化制御部17は、暗号化制御データに基づいて、a系側のデータ列a[n-1:0] を4ビットずつ暗号化処理すべく、a系側の切替回路16a−1、16a−2、・・・、16a−n/4を順次選択的に切替作動させ、次いで、b系側のデータ列b[n-1:0] を4ビットずつ暗号化処理すべく、b系側の切替回路16b−1、16b−2、・・・、16b−n/4を順次選択的に切替作動させる。
【0060】
ログ記録部18は、切替作動ごとに、XOR回路11−1、11−2、・・・、11−n/4の一方の入力端子に入力されるデータ列a2[n-1:0] 、及び、他方の入力端子に入力されるデータ列b2[n-1:0] を記録する。また同時に、切替作動ごとに、XOR回路11−1、11−2、・・・、11−n/4の出力である比較結果[n-1:0] 、及び、OR回路12の出力である比較結果を記録する。そして、これらのログ記録データは、各系CPUに送られる。
【0061】
図5は故障診断のフローチャートである。
S11では、a系側のデータ列を4ビットずつ暗号化処理する。
S12では、4ビットずつ暗号化処理するごとに、比較結果が不一致(1)となったか否かを判定し、不一致の場合は、S13へ進んで正常と診断し、一致の場合は、S14へ進んで対応ビット部分が一致側に固定故障と診断する。
次のS15では、a系側データ列の暗号化処理が終了したか否かを判定し、終了していない場合はS11へ戻り、終了している場合はS16へ進む。
【0062】
S16では、b系側のデータ列を4ビットずつ暗号化処理する。
S17では、4ビットずつ暗号化処理するごとに、比較結果が不一致(1)となったか否かを判定し、不一致の場合は、S18へ進んで正常と診断し、一致の場合は、S19へ進んで対応ビット部分が一致側に固定故障と診断する。
次のS20では、b系側データ列の暗号化処理が終了したか否かを判定し、終了していない場合はS16へ戻り、終了している場合は処理を終了する。
【0063】
特に本実施形態によれば、前記切替回路は、暗号化処理により、前記排他的論理和回路に入力される1つのデータを他のデータと不一致となるように変化させる構成としたことにより、より高精度な診断が可能となる。
【0064】
尚、図示の実施形態はあくまで本発明を例示するものであり、本発明は、説明した実施形態により直接的に示されるものに加え、特許請求の範囲内で当業者によりなされる各種の改良・変更を包含するものであることは言うまでもない。
【符号の説明】
【0065】
1 a系CPUのデータバス
2 b系CPUのデータバス
10 データ比較回路
11−1、11−2、・・・、11−n XOR回路
12 OR回路
13a−1、13a−2、・・・、13a−n 切替回路
13b−1、13b−2、・・・、13b−n 切替回路
14 反転制御部
15 ログ記録部
16a−1、16a−2、・・・、16a−n/4 切替回路
16b−1、16b−2、・・・、16b−n/4 切替回路
17 暗号化制御部
18 ログ記録部

【特許請求の範囲】
【請求項1】
少なくとも2つのデータ列を比較して一致・不一致を判定するデータ比較回路の故障診断装置であって、
前記データ比較回路の入力側で1つのデータ列をそのまま入力させるモードと他のデータ列と不一致となるように変化させて入力させるモードとを切替えることができる切替回路を有し、
前記切替回路により1つのデータ列を変化させて入力させたときの前記データ比較回路の比較結果に基づいて、前記データ比較回路の故障の有無を診断することを特徴とする、データ比較回路の故障診断装置。
【請求項2】
前記データ比較回路は、
比較するデータ列がそれぞれ所定ビット数ずつ複数のデータに分けられてそれぞれ入力される複数の排他的論理和回路と、
前記複数の排他的論理和回路の出力が入力されて比較結果を出力する論理和回路と、
を含んで構成され、
前記切替回路は、前記各排他的論理和回路の各入力側に設けられ、前記各排他的論理和回路に入力される1つのデータをそのまま入力させるモードと他のデータと不一致となるように変化させて入力させるモードとを切替えることができるものであることを特徴とする、請求項1記載のデータ比較回路の故障診断装置。
【請求項3】
前記切替回路は、ビット反転処理により、前記排他的論理和回路に入力される1つのデータを他のデータと不一致となるように変化させることを特徴とする、請求項2記載のデータ比較回路の故障診断装置。
【請求項4】
前記切替回路は、暗号化処理により、前記排他的論理和回路に入力される1つのデータを他のデータと不一致となるように変化させることを特徴とする、請求項2記載のデータ比較回路の故障診断装置。
【請求項5】
前記比較するデータ列のうち、いずれか1つのデータ列側の複数の切替回路を順次選択的に切替作動させる制御部と、
前記制御部による切替作動ごとに、前記各排他的論理和回路に入力されるデータと、前記各排他的論理和回路の出力とを記録するログ記録部と、
を備えることを特徴とする、請求項2〜請求項4のいずれか1つに記載のデータ比較回路の故障診断装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate