(58)【調査した分野】(Int.Cl.,DB名)
第1クロックドメインにおいて二重化された第1本体回路と第1検査回路と、前記第1クロックドメインとは非同期の第2クロックドメインにおいて二重化された第2本体回路と第2検査回路と、前記第1クロックドメインと前記第2クロックドメインとの間でペイロード信号の転送を行う非同期転送回路とを備え、
前記非同期転送回路は、
前記第1本体回路と前記第1検査回路にそれぞれ接続され前記第1クロックドメインにおいて二重化された第1本体側ブリッジ回路と第1検査側ブリッジ回路と、前記第2本体回路と前記第2検査回路にそれぞれ接続され前記第2クロックドメインにおいて二重化された第2本体側ブリッジ回路と第2検査側ブリッジ回路と、
前記第1クロックドメインで動作する比較回路と、を備え、
前記第1本体側ブリッジ回路は、前記ペイロード信号と、当該ペイロード信号が受信側で安定するタイミングを示す制御信号とを前記第2本体側ブリッジ回路及び前記第2検査側ブリッジ回路に出力し、
前記第1検査側ブリッジ回路は、検査用ペイロード信号と、検査用制御信号とを出力し、
前記比較回路は、前記制御信号と前記検査用制御信号とを、前記第1クロックドメインのサイクルに基づいて比較する、
データ処理装置。
第1クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第1本体回路と第1検査回路と、前記第1クロックとは非同期の第2クロックに同期して動作する第2回路と、前記第1本体回路及び前記第1検査回路と前記第2回路との間でペイロード信号の非同期転送を行う非同期転送回路とを備えるデータ処理装置であって、
前記非同期転送回路は、前記第1クロックに同期して動作し前記第1本体回路及び前記第1検査回路と接続される第1ブリッジ回路と、
前記第2クロックに同期して動作し前記第2回路と接続される第2ブリッジ回路とを備え、前記第1ブリッジ回路と前記第2ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号とで互いに接続され、
前記第1ブリッジ回路は、前記第1本体回路との間の入出力信号を第1本体側ペイロード信号及び第1本体側非同期転送制御信号に変換する第1本体側変換回路と、前記第1検査回路との間の入出力信号を第1検査側ペイロード信号及び第1検査側非同期転送制御信号に変換する第1検査側変換回路と、前記第1本体側非同期転送制御信号のうち前記第2ブリッジ回路に送出される出力信号と前記第1検査側非同期転送制御信号のうち対応する出力信号とを比較して不一致を検出する第1の比較回路とを備え、
前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうちの出力信号を前記非同期転送制御信号のうちの出力信号として前記第2ブリッジ回路に送出し、
前記第2ブリッジ回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第2回路に供給する、
データ処理装置。
第1クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第1本体回路と第1検査回路と、前記第1クロックとは非同期の第2クロックに同期して動作する第2回路と、前記第1本体回路及び前記第1検査回路と前記第2回路との間でペイロード信号の非同期転送を行う非同期転送回路とを備えるデータ処理装置であって、
前記非同期転送回路は、前記第1クロックに同期して動作し前記第1本体回路及び前記第1検査回路と接続される第1ブリッジ回路と、
前記第2クロックに同期して動作し前記第2回路と接続される第2ブリッジ回路とを備え、前記第1ブリッジ回路と前記第2ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号とで互いに接続され、
前記第1ブリッジ回路は、前記第1本体回路との間の入出力信号を第1本体側ペイロード信号及び第1本体側非同期転送制御信号に変換する第1本体側変換回路と、前記第1検査回路との間の入出力信号を第1検査側ペイロード信号及び第1検査側非同期転送制御信号に変換する第1検査側変換回路と、前記第1本体側非同期転送制御信号のうち前記第2ブリッジ回路に送出される出力信号と前記第1検査側非同期転送制御信号のうち対応する出力信号とを比較して不一致を検出する第2の比較回路とを備え、
前記第1ブリッジ回路は、前記第2ブリッジ回路から転送される前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第1本体側変換回路を介して前記第1本体回路に、前記第1検査側変換回路を介して前記第1検査回路にそれぞれ供給する、
データ処理装置。
【発明を実施するための形態】
【0014】
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【0015】
〔1〕<それぞれ二重化された2組の回路対間の非同期転送>
本願において開示される代表的な実施の形態は、それぞれ二重化された2組の回路対とその間の非同期転送回路を備えるデータ処理装置(10)であって、以下のように構成される。前記データ処理装置は、第1クロックドメイン(ACLK)において二重化された第1本体回路(LRA)と第1検査回路(LCA)と、前記第1クロックドメインとは非同期の第2クロックドメイン(BCLK)において二重化された第2本体回路(LRB)と第2検査回路(LCB)とを備える。また、前記データ処理装置は、前記第1クロックドメインと前記第2クロックドメインとの間でペイロード信号(P)の転送を行う非同期転送回路(1)を備える。
【0016】
前記非同期転送回路は、前記第1本体回路と前記第1検査回路にそれぞれ接続され前記第1クロックドメインにおいて二重化された第1本体側ブリッジ回路(BRA)と第1検査側ブリッジ回路(BCA)とを備える。また、前記非同期転送回路は、前記第2本体回路と前記第2検査回路にそれぞれ接続され前記第2クロックドメインにおいて二重化された第2本体側ブリッジ回路(BRB)と第2検査側ブリッジ回路(BCB)とを備える。
【0017】
前記非同期転送回路は、前記ペイロード信号を送出する側の第1又は第2本体側ブリッジ回路によって生成され前記ペイロード信号が受信側で安定するタイミングを示す制御信号(CsAB,CsBA)を有し、前記制御信号と、対応する第1又は第2検査側ブリッジ回路によって生成された検査用制御信号(CsCAB,CsCBA)とを比較し、不一致の場合には故障として検出する。
【0018】
これにより、非同期のクロックドメインでそれぞれ二重化された回路対の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。非同期で動作させることによって、他方の速度限界に制約されることなく、それぞれのクロックドメインにおいて必要に応じて動作周波数を高くすることができるため、性能を向上することができる。また、非同期転送回路において、前記制御信号が二重化の対象外とされることによって、二重化された関係を保ったままでの非同期転送を可能とし、それ以外のペイロード信号やブリッジ回路などを二重化することができるので、信頼性を向上することができる。
【0019】
〔2〕<一定の時間差を保って実行される二重化方式(
図7)>
項1において、前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。また、前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
【0020】
前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出する。前記制御信号と対応する前記検査用制御信号との比較(2_3)は、前記第1クロックドメインで行うときには前記第1サイクル数の時間差で行い、前記第2クロックドメインで行うときには前記第2サイクル数の時間差で行う(2_4)。
【0021】
これにより、同一のデータ処理が一定の時間差(サイクル数)を保って実行される二重化方式においても、適切に故障を検出することができる。
【0022】
〔3〕<ペイロード信号を二重化(
図8)>
項1において、前記第1本体側ブリッジ回路は、前記第2本体側ブリッジ回路に前記ペイロード信号(PR)と前記制御信号(CsAB,CsBA)とを転送し、前記第1検査側ブリッジ回路は、検査用ペイロード信号(PC)と前記検査用制御信号(CsCAB)を生成し、前記検査用ペイロード信号を前記第2検査側ブリッジ回路に転送する。
【0023】
前記非同期転送回路は、前記第1クロックドメインで前記制御信号と前記検査用制御信号との前記比較を行い(2_3)、不一致の場合には故障として検出する。
【0024】
前記非同期転送回路は、前記制御信号を前記第2クロックドメインに転送する。
【0025】
前記非同期転送回路は、前記第2クロックドメインに転送された前記制御信号に基づいて、前記第2本体側ブリッジ回路は前記ペイロード信号を受信(4_R)し、前記第2検査側ブリッジ回路は前記検査用ペイロード信号を受信し(4_C)、前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する。
【0026】
これにより、非同期転送回路において、ペイロード信号が二重化され、信頼性を高めることができる。
【0027】
〔4〕<一定の時間差を保って実行される二重化方式(
図9)>
項3において、前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
【0028】
前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出する。前記制御信号と対応する前記検査用制御信号との比較(2_3,2_4)は、前記第1クロックドメインで前記第1サイクル数の時間差で行い、前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う。
【0029】
これにより、項2と同様に、非同期転送回路においてペイロード信号が二重化され、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
【0030】
〔5〕<ペイロード信号と制御信号を二重化(
図10)>
項1において、前記第1本体側ブリッジ回路は、前記第2本体側ブリッジ回路に前記ペイロード信号(PR)と前記制御信号(CsRAB,CsRBA)とを転送する。
【0031】
前記第1検査側ブリッジ回路は、検査用ペイロード信号(PC)と前記検査用制御信号(CsCAB,CsCBA)を生成し、前記検査用ペイロード信号と前記検査用制御信号を前記第2検査側ブリッジ回路に転送する。
【0032】
前記非同期転送回路は、前記第2クロックドメインで前記制御信号と前記検査用制御信号との間で1サイクルまでのずれを許容する比較を行い(2_7)、不一致の場合には故障として検出する。
【0033】
前記第2クロックドメインに転送された前記制御信号に基づいて、前記第2本体側ブリッジ回路は前記ペイロード信号を受信し(4_R)、前記第2検査側ブリッジ回路は前記検査用ペイロード信号を受信する(4_C)。前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する。
【0034】
これにより、非同期転送回路において、ペイロード信号と制御信号がともに二重化され、信頼性を項3の場合よりも高めることができる。
【0035】
〔6〕<一定の時間差を保って実行される二重化方式(
図11)>
項5において、前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
【0036】
前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出する。
【0037】
前記制御信号と対応する前記検査用制御信号との比較は、前記第2クロックドメインで前記第2サイクル数にプラス/マイナス1サイクルの余裕を加えた時間差で行い、当該余裕を含む時間差以内で一致するときには一致とし、当該余裕の範囲内で不一致の場合に故障として検出する。前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う。
【0038】
これにより、項2と同様に、非同期転送回路においてペイロード信号と制御信号がともに二重化され、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
【0039】
〔7〕<制御信号は3本の信号間で比較(
図10)>
項5において、前記第2本体側ブリッジ回路は、前記ペイロード信号を受信する第2本体側フリップフロップ(4_R)を有し、前記第2検査側ブリッジ回路は、前記検査用ペイロード信号を受信する第2検査側フリップフロップ(4_C)を有する。
【0040】
前記非同期転送回路は、以下の各信号の3者間の比較を行い(2_7)、少なくともいずれか1つの信号が他の信号と不一致の場合には故障として検出する。各信号とは、前記制御信号に基づいて前記第2本体側フリップフロップに前記ペイロード信号の取り込みタイミングを与える信号(N4−1−1)と、前記制御信号に基づいて前記第2検査側フリップフロップに前記検査用ペイロード信号の取り込みタイミングを与える信号(N4−1−2)と、前記検査用制御信号(N4−2)である。
【0041】
これにより、非同期転送回路において、ペイロード信号と検証ペイロード信号を取り込むために物理的に離間した制御信号がともに検査用制御信号と比較され、信頼性を項5の場合よりも高めることができる。
【0042】
〔8〕<一定の時間差を保って実行される二重化方式(
図11)>
項7において、前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
【0043】
前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出する。
【0044】
前記制御信号に基づいて前記第2本体側フリップフロップに前記ペイロード信号の取り込みタイミングを与える信号(N4−1−1)と対応する前記検査用制御信号(N4−2)との比較は、前記第2クロックドメインで前記第2サイクル数にプラス/マイナス1サイクルの余裕を加えた時間差で行う。当該余裕を含む時間差以内で一致するときには一致とし、当該余裕の範囲内で不一致の場合に故障として検出する。
【0045】
前記制御信号に基づいて前記第2検査側フリップフロップに前記検査用ペイロード信号の取り込みタイミングを与える信号(N4−1−2)と対応する前記検査用制御信号(N4−2)との比較は、前記第2クロックドメインで行い、当プラス/マイナス1サイクルの時間差以内で一致するときには一致とし、プラス/マイナス1サイクルの範囲内で不一致の場合に故障として検出する。
【0046】
前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う。
【0047】
これにより、項2と同様に、非同期転送回路においてペイロード信号と制御信号がともに二重化され、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
【0048】
〔9〕<故障管理回路(EML: Error Management Logic)>
項1から項8のうちのいずれか1項において、前記データ処理装置は、故障が検出されたことが通知される、故障管理回路(EML)をさらに備える。
【0049】
これにより、各比較回路で検出された不一致の通知が、故障管理回路に集約され、故障検出に対応する処理(例えば、割り込み、リセットなど)を適切に発生させることができる。
【0050】
〔10〕<デュアルCPU+デュアルバスブリッジ>
項1から項9のうちのいずれか1項に記載されるデータ処理装置において、前記第1本体回路と前記第1検査回路とは、それぞれ同一のプログラムを実行可能な同一の回路構成によるCPUであり、前記第2本体回路と前記第2検査回路とは、それぞれ同一の回路構成によるバスブリッジである。
【0051】
これにより、デュアルCPU+デュアルバスブリッジを備えるマイクロコントローラにおいて、高性能と高信頼を両立させることができる。
【0052】
〔11〕<1チップLSI(Large Scale Integrated circuit)>
項1から項10のうちのいずれか1項において、前記データ処理装置は、単一の半導体基板上に形成される。
【0053】
これにより、デュアルCPU+デュアルバスブリッジ等の非同期のクロックドメインでそれぞれ二重化された2組の回路対の間での非同期転送を可能とする、1チップLSIが提供され、高性能と高信頼を両立させることができる。
【0054】
〔12〕<二重化された回路から別の回路への非同期転送(
図14)>
別の観点による実施の形態に係る半導体装置は、それぞれ二重化された2組の回路対とその間の非同期転送回路を備えるデータ処理装置(10)であって、以下のように構成される。前記データ処理装置は、第1クロック(ACLK)に同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第1本体回路(LRA)と第1検査回路(LCA)とを備える。また、前記データ処理装置は、前記第1クロックとは非同期の第2クロック(BCLK)に同期して動作する第2回路(LB)と、前記第1本体回路及び前記第1検査回路と前記第2回路との間でペイロード信号の非同期転送を行う非同期転送回路(1)とを備える。
【0055】
前記非同期転送回路は、前記第1クロックに同期して動作し前記第1本体回路及び前記第1検査回路と接続される第1ブリッジ回路(BA)と、前記第2クロックに同期して動作し前記第2回路と接続される第2ブリッジ回路(BB)とを備える。前記第1ブリッジ回路と前記第2ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号(CsAB,CsBA)とで互いに接続される。
【0056】
前記第1ブリッジ回路は、前記第1本体回路との間の入出力信号を第1本体側ペイロード信号(PRA)及び第1本体側非同期転送制御信号(CsRAB,CsRBA)に変換する第1本体側変換回路(BRA)を備える。また、前記第1ブリッジ回路は、前記第1検査回路との間の入出力信号を第1検査側ペイロード信号(PCA)及び第1検査側非同期転送制御信号(CsCAB,CsCBA)に変換する第1検査側変換回路(BCA)を備える。
【0057】
また、前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうち前記第2ブリッジ回路に送出される出力信号(CsRAB)と前記第1検査側非同期転送制御信号のうち対応する出力信号(CsCAB)とを比較して不一致を検出する第1の比較回路(2_3)とを備える。前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうちの出力信号(CsRAB)を前記非同期転送制御信号のうちの出力信号(CsAB)として前記第2ブリッジ回路に送出する。
【0058】
前記第2ブリッジ回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号(CsAB)によって示されるタイミングで、前記ペイロード信号を受信し、前記第2回路に供給する。
【0059】
これにより、二重化された回路と非同期で動作する回路(二重化されているか二重化されていないかは問わない)との間での非同期転送のうち、二重化された回路がペイロード信号を送信する場合において、非同期転送回路の一部である、第1本体側変換回路と第1検査側変換回路が二重化され、非同期転送回路の信頼性を高めることができ、全体として高性能と高信頼を両立させることができる。
【0060】
〔13〕<二重化された回路への別の回路からの非同期転送(
図12、13)>
さらに別の観点による実施の形態に係る半導体装置は、それぞれ二重化された2組の回路対とその間の非同期転送回路を備えるデータ処理装置(10)であって、以下のように構成される。前記データ処理装置は、第1クロック(BCLK)に同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第1本体回路(LRB)と第1検査回路(LCB)と、前記第1クロックとは非同期の第2クロック(ACLK)に同期して動作する第2回路(LA)とを備える。また、前記データ処理装置は、前記第1本体回路及び前記第1検査回路と前記第2回路との間でペイロード信号(P)の非同期転送を行う非同期転送回路(1)を備える。
【0061】
前記非同期転送回路は、前記第1クロックに同期して動作し前記第1本体回路及び前記第1検査回路と接続される第1ブリッジ回路(BB)と、前記第2クロックに同期して動作し前記第2回路と接続される第2ブリッジ回路(BA)とを備え。前記第1ブリッジ回路と前記第2ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号(CsAB,CsBA)とで互いに接続される。
【0062】
前記第1ブリッジ回路は、前記第1本体回路との間の入出力信号を第1本体側ペイロード信号(PRB)及び第1本体側非同期転送制御信号(CsRBA,CsRAB)に変換する第1本体側変換回路(BRB)を備える。また、前記第1ブリッジ回路は、前記第1検査回路との間の入出力信号を第1検査側ペイロード信号(PCB)及び第1検査側非同期転送制御信号(CsCBA,CsCAB)に変換する第1検査側変換回路(BCB)を備える。また、前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうち前記第2ブリッジ回路に送出される出力信号(CsRBA)と前記第1検査側非同期転送制御信号のうち対応する出力信号(CsCBA)とを比較して不一致を検出する第2の比較回路(2_4)を備える。
【0063】
前記第1ブリッジ回路は、前記第2ブリッジ回路から転送される前記非同期転送制御信号のうちの入力信号(CsAB)によって示されるタイミングで、前記ペイロード信号を受信し、前記第1本体側変換回路を介して前記第1本体回路に、前記第1検査側変換回路を介して前記第1検査回路にそれぞれ供給する。
【0064】
これにより、二重化された回路と非同期で動作する回路(二重化されているか二重化されていないかは問わない)との間での非同期転送のうち、二重化された回路がペイロード信号を受信する場合において、非同期転送回路の一部である、第1本体側変換回路と第1検査側変換回路が二重化され、非同期転送回路の信頼性を高めることができ、全体として高性能と高信頼を両立させることができる。
【0065】
〔14〕<それぞれ二重化された2組の回路対間の非同期転送(
図6〜11)>
項12において、前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路(LRB)と第2検査回路(LCB)とを含む。
【0066】
前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号(PRB)及び第2本体側非同期転送制御信号(CsRAB,CsRBA)に変換する第2本体側変換回路(BRB)を備える。また、前記第2ブリッジ回路は、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号(PCB)及び第2検査側非同期転送制御信号(CsCAB,CsCBA)に変換する第2検査側変換回路(BCB)を備える。
【0067】
前記第2ブリッジ回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号(CsAB)によって示されるタイミングで、前記ペイロード信号を受信し、前記第2本体側変換回路を介して前記第2本体回路に、前記第2検査側変換回路を介して前記第2検査回路にそれぞれ供給する。
【0068】
これにより、二重化された回路と非同期で動作する二重化されている回路との間での非同期転送において、項1と同様に、高性能と高信頼を両立させることができる。
【0069】
〔15〕<ペイロード信号を二重化(
図8、9)>
項12において、前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路(LRB)と第2検査回路(LCB)とを含む。
【0070】
前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号(PRB)及び第2本体側非同期転送制御信号(CsRAB,CsRBA)に変換する第2本体側変換回路(BRB)を備える。また、前記第2ブリッジ回路は、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号(PCB)及び第2検査側非同期転送制御信号(CsCAB,CsCBA)に変換する第2検査側変換回路(BCB)を備える。
【0071】
前記第1ブリッジ回路は、前記ペイロード信号に加えて検査用ペイロード信号(PC)を送信する。
【0072】
前記第2ブリッジ回路において、前記第2本体側変換回路と前記第2検査側変換回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号(CsAB)によって示されるタイミングで、前記ペイロード信号をそれぞれ受信する。
【0073】
これにより、二重化された回路と非同期で動作する二重化されている回路との間での非同期転送において、項3と同様に、高性能と高信頼を両立させることができる。
【0074】
〔16〕<ペイロード信号と制御信号を二重化(
図10、11)>
項12において、前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路(LRB)と第2検査回路(LCB)とを含む。
【0075】
前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号(PRB)及び第2本体側非同期転送制御信号(CsRAB,CsRBA)に変換する第2本体側変換回路(BRB)を備える。また、前記第2ブリッジ回路は、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号(PCB)及び第2検査側非同期転送制御信号(CsCAB,CsCBA)に変換する第2検査側変換回路(BCB)を備える。
【0076】
前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうちの出力信号を前記非同期転送制御信号のうちの出力信号(CsRAB)として前記第2ブリッジ回路に送出し、前記第1本体側ペイロード信号を前記ペイロード信号(PR)として前記第2ブリッジ回路に送出する。前記第1ブリッジ回路は、さらに、前記第1検査側非同期転送制御信号のうちの出力信号を前記検査用非同期転送制御信号(CsCAB)として前記第2ブリッジ回路に送出し、前記第2検査側ペイロード信号を検査用ペイロード信号(PC)として前記第2ブリッジ回路に送出する。
【0077】
前記第2ブリッジ回路は、前記非同期転送制御信号のうちの入力信号(CsRAB)によって示されるタイミングで、前記ペイロード信号を受信して前記第2本体側ペイロード信号として、前記第2本体側変換回路に供給し、前記検査用ペイロード信号を受信して前記第2検査側ペイロード信号として、前記第2検査側変換回路に供給する。前記第2ブリッジ回路は、前記非同期転送制御信号のうちの入力信号(CsRAB)と、前記検査用非同期転送制御信号のうちの入力信号(CsCAB)とを比較する第3の比較回路(2_7)を備える。
【0078】
これにより、二重化された回路と非同期で動作する二重化されている回路との間での非同期転送において、項5と同様に、高性能と高信頼を両立させることができる。
【0079】
〔17〕<非同期転送制御信号は3本の信号間で比較(
図10、11)>
項16において、前記第3の比較回路は、前記非同期転送制御信号のうちの入力信号(CsRAB)が前記第1本体側変換回路に供給されるノードの信号と、前記第2検査側変換回路に供給されるノードの信号と、前記検査用非同期転送制御信号のうちの入力信号(CsCAB)とを比較し、少なくともいずれか1つの信号が他の信号と不一致であることを検出する。
【0081】
これにより、非同期転送回路において、ペイロード信号と検証ペイロード信号を取り込むために物理的に離間した制御信号がともに検査用制御信号と比較され、信頼性を項16の場合よりも高めることができる。
【0082】
〔18〕<一定の時間差を保って実行される二重化方式(
図7、9、11)>
項12から項17のうちのいずれか1項に記載されるデータ処理装置において、前記第1本体回路と前記第1検査回路は、同一の前記処理を前記第1クロックにおける0サイクル以上の所定のサイクル数の差を保って実行する。
【0083】
これにより、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
【0084】
〔19〕<故障管理回路(EML)>
項12から項18のうちのいずれか1項において、前記データ処理装置は、前記全ての比較回路のうちのいずれかで不一致が発生したことが通知される、故障管理回路(EML)をさらに備える。
【0085】
これにより、各比較回路で検出された不一致の通知が、故障管理回路に集約され、故障検出に対応する処理(例えば、割り込み、リセットなど)を適切に発生させることができる。
【0086】
〔20〕<1チップLSI>
項12から項19のうちのいずれか1項において、前記データ処理装置は、単一の半導体基板上に形成される。
【0087】
これにより、デュアルCPU+デュアルバスブリッジ等の非同期のクロックドメインでそれぞれ二重化された2組の回路対の間、または、デュアルバスブリッジ等の二重化された2回路対と二重化されていない周辺回路モジュール等の間の非同期転送を可能とする、1チップLSIが提供され、高性能と高信頼を両立させることができる。
【0088】
2.実施の形態の詳細
実施の形態について更に詳述する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
【0089】
はじめに、解決しようとする課題についてさらに詳しく説明する。
【0090】
図1は、二重化された回路対を含むデータ処理装置10の構成例を示すブロック図である。データ処理装置10には、二重化されていない通常の2個の論理回路7_1と7_2との間に、二重化された2個(1対)の論理回路LRとLCとが含まれ、それらの出力を比較する比較回路2_1と2_2及び比較結果が不一致である場合にそれが通知される故障管理回路EML(Error Management Logic)が含まれる。
図1に示されるデータ処理装置10は、さらに、それぞれが所定段数のフリップフロップから成る、複数の遅延回路6_1〜6_4を含んで構成される。二重化された論理回路の一方である本体側回路LRは「Reference」と呼ばれ「[R]」と略記され、他方の検査側回路LCは「Checker」と呼ばれ「[C]」と略記される。なお、一部の信号線は複数の信号配線からなることを示すバス表記がされているが、単一の信号線についても同様の説明が妥当する。このことは本明細書全体を通して同様である。
【0091】
一般に、二重化された回路対には、同一の入力が与えられ、同一の処理を並列に実行してそれぞれ得られる結果(出力)どうしが常に比較されているため、本体側回路LRまたは検査側回路LCに何らかの要因で動作不良が発生した場合に、それを故障として検出することができる。二重化されないブロックからの信号は本体側回路LRと検査側回路LCの両方に入力される。本体側回路LRと検査側回路LCの出力信号は本体側回路LRのみが二重化されないブロックに接続され、検査側回路LC側出力は比較のためにのみ使われる。本体側回路LRと検査側回路LCの動作サイクルは、チップレイアウト上の制約(例えば、本体側回路LRと検査側回路LCに対して同じタイミングで信号を供給するのが困難な場合)や動作安全上の制約(例えば、動作エラーが本体側回路LRと検査側回路LCの両方で同時に起こることを避けたいという要求)から、意図的に1〜2サイクルずらすことが多い。この場合、動作をずらすための遅延回路(フリップフロップ)が使われる。二重化されていない回路から検査側回路LC側に入る信号と、本体側回路LRから比較器に入る信号に、これらの遅延回路(フリップフロップ)が挿入される。
【0092】
図1に示されるデータ処理装置10では、論理回路7_1から本体側回路LRへの入力が遅延回路6_1で所定のサイクル数だけ遅延されて検査側回路LCに入力され、論理回路7_2から本体側回路LRへの入力も同様に、遅延回路6_2で同じサイクル数だけ遅延されて検査側回路LCに入力される。本体側回路LRと検査側回路LCは同じ回路であり、同じ処理を実行するが、入力が上記所定のサイクル数だけずれているので、処理の実行と結果の出力も同じサイクル数だけずれることとなる。本体側回路LRから論理回路7_1への出力は遅延回路6_2で同じサイクル数だけ遅延されて比較回路2_1に入力され、検査側回路LCから論理回路7_1への出力と比較され、本体側回路LRから論理回路7_2への出力は遅延回路6_3で同じサイクル数だけ遅延されて比較回路2_2に入力され、検査側回路LCから論理回路7_2への出力と比較される。比較回路2_1と2_2で検出された不一致は故障管理回路EMLに通知される。故障管理回路EMLは、割り込み処理やリセットなど、故障を検出した場合に実行すべき処理を起動する。
【0093】
非同期転送について説明する。高速で動作するデータ処理回路間のデータ転送に、非同期ブリッジ(非同期転送回路)を使用することでクロックドメイン間を非同期として扱うことができ、両者の間のタイミングを考慮する必要がなくなる(組合せ回路の論理遅延に対してのケアをする必要がほぼなくなる)。このため、クロック周波数の高速化を見込むことができる。この技術は高速なクロックが必要な場合や、同期したクロックを使うことができない場合に使われる。ただし、タイミングについては全く考慮しないで良いわけではなく、制御信号間の遅延値のずれが一定時間におさまるような制約を設ける場合がほとんどである。
【0094】
図2は、非同期転送回路1を備えるデータ処理装置10の構成例を示すブロック図である。CPUクロックCPU−CLKに同期して動作するCPU7_3と、バスクロックBUS−CLKに同期して動作するバス(BUS)7_4との間に、非同期転送回路(非同期ブリッジ)1を備える。非同期転送回路1は、CPUクロックCPU−CLKに同期して動作するCPU側ブリッジ回路BAと、バスクロックBUS−CLKに同期して動作するバス側ブリッジ回路BBとを含む。CPU側ブリッジ回路BAはCPU7_3と例えばバスプロトコルで信号の授受を行っており、バス側ブリッジ回路BBはバス7_4と例えば同じ(または異なる)バスプロトコルで信号の授受を行っているものとする。CPU側ブリッジ回路BAからペイロード信号Pをバス側ブリッジ回路BBに転送するとき、ペイロード信号Pが受信されるバス側ブリッジ回路BBで安定するタイミングを示すための制御信号CsABとCsBAが送受される。CPU側ブリッジ回路BAから送信される制御信号CsABは、例えばペイロード信号Pが出力され、安定していることを示すバリッド(Valid)信号であり、バス側ブリッジ回路BBから送信される制御信号CsBAは、例えばペイロード信号Pを受信する準備が整ったことを示すレディ(Ready)信号である。一連のデータが送受されるときには、制御信号CsABとCsBAは、送信するデータのインデックスと受信したデータのインデックスをそれぞれ示す、ポインター(Pointer)であってもよい。CPU側ブリッジ回路BAから送信される制御信号CsABは、バスクロックBUS_CLKドメインで動作するフリップフロップ3_ABで受信され、ペイロード信号Pの取り込みタイミングを生成する組合せ回路5を経てフリップフロップ4に供給される。フリップフロップ3_ABは、非同期信号のメタステーブル抑止のためのフリップフロップであり、2段またはそれ以上の段数のフリップフロップで構成される。この取り込みタイミングは、ペイロード信号PがバスクロックBUS_CLKに対して安定しているタイミングを保証するものである。フリップフロップ3_BAも、非同期信号のメタステーブル抑止のためのフリップフロップであり、2段またはそれ以上の段数のフリップフロップで構成される。フリップフロップ3_BAはバス側ブリッジ回路BBから送信される制御信号CsBAをCPU側ブリッジ回路BAで受信する。制御信号CsABとCsBAは、必ずしも双方向である必要はない。例えば、ペイロードPが送出される周期が一定間隔以上であることが保証される場合には、CsABとしてValid信号のみを使って良いし、CsBAとしてReady信号のみを使ってもよい。
図2には、ペイロード信号がCPU側からバス側に転送される場合のみが示されるが、逆方向の非同期転送回路も同様に構成することができる。これらの事項は、実施形態1に限らず全ての実施形態にも同様に妥当する。
【0095】
非同期転送を含むデータ処理回路を、安全性の観点から二重化する場合について検討する。
【0096】
図3は、それぞれが二重化された2組の回路対の間に、
図2に示される非同期転送回路を備えたデータ処理装置の構成例(比較例)を示すブロック図である。
【0097】
本体側[R]においては、互いに非同期のクロックACLKとBCLKにそれぞれ同期して動作するACLK側本体回路LRAとBCLK側本体回路LRBとが、ACLK側ブリッジ回路BRAとBCLK側ブリッジ回路BRBとで構成される非同期転送回路で互いに接続されている。ブリッジ回路BRAは制御信号CsRABとペイロード信号PRを送出し、ブリッジ回路BRBは制御信号CsRABをフリップフロップ2_RABで受信し、組合せ回路5_Rによって生成されたタイミング信号によりペイロード信号PRをフリップフロップ4_Rに取り込む。ブリッジ回路BRBは制御信号CsRBAを送出し、ブリッジ回路BRAは制御信号CsRBAをフリップフロップ3_RBAで受信する。
【0098】
検査側[C]においては、互いに非同期のクロックACLKとBCLKにそれぞれ同期して動作するACLK側検査回路LCAとBCLK側検査回路LCBとが、ACLK側ブリッジ回路BCAとBCLK側ブリッジ回路BCBとで構成される非同期転送回路で互いに接続されている。ブリッジ回路BCAは制御信号CsCABとペイロード信号PCを送出し、ブリッジ回路BCBは制御信号CsCABをフリップフロップ2_CABで受信し、組合せ回路5_Cによって生成されたタイミング信号によりペイロード信号PCをフリップフロップ4_Cに取り込む。ブリッジ回路BCBは制御信号CsCBAを送出し、ブリッジ回路BCAは制御信号CsCBAをフリップフロップ3_CBAで受信する。
【0099】
ACLK側の本体回路LRAと検査回路LCAは、例えば
図1に示されるように二重化されており、図示は省略されているが、不一致を検出する比較回路が設けられている。BCLK側の本体回路LRBと検査回路LCBも同様に二重化されており、図示は省略されているが、不一致を検出する比較回路が設けられている。
【0100】
制御信号CsRAB,CsRBA,CsCAB,CsCBAとペイロード信号PR,PCがACLKドメインとBCLKドメインとの間で非同期転送される信号である。両者のクロック(ACLKとBCLK)は非同期であり、両者の信号間でのタイミングは考慮されないため、本体側[R]と検査側[C]との間で動きがずれてしまう場合がある。制御信号CsRABとCsCABは、ACLKドメインから送出されるので、ACLKについてみれば同一のクロックサイクルにおける信号状態やデータは故障がなければ互いに同一である。ペイロード信号PRとPCについても同様に、ACLKドメインから送出されるので、ACLKについてみれば同一のクロックサイクルにおける信号状態やデータは故障がなければ互いに同一である。しかし、制御信号CsRABがフリップフロップ3_RABによってBCLKドメインに取り込まれるタイミングと、制御信号CsCABがフリップフロップ3_CABによってBCLKドメインに取り込まれるタイミングとは、BCLKドメインにおける同一サイクルとは限らない。非同期転送では、ACLKとBCLKの位相差が任意であるためである。制御信号CsRABとCsCABがBCLKドメインに取り込まれたタイミングが互いに異なると、ペイロード信号PRとPCについても取り込まれるタイミングが互いに異なることとなる。このため、受信したBCLKドメインで二重化されている本体回路LRBと検査回路LCBには、本来同じデータが同じサイクル(又は所定のサイクル数の時間差)で供給されることが期待されるところ、実際に供給されるサイクルにずれが生じてしまい、それに伴って出力にもずれが生じ、その比較結果は不一致となる。
【0101】
このように、非同期転送回路を含む回路対を単純に二重化しただけでは、本体側[R]と検査側[C]とも論理的に動作に問題がない即ち故障がない場合でも、両者の動きが異なり比較エラーを検出してしまう可能性がある。
【0102】
〔実施形態1〕<それぞれ二重化された2組の回路対間の非同期転送>
図4は、実施形態1のデータ処理装置10の構成例を示すブロック図である。上記の課題を解決するために、データ処理装置10は、ACLKドメインにおける本体側[RA]と検査側[CA]の二重化とBCLKドメインにおける本体側[RB]と検査側[CB]の二重化とをそれぞれ行うが、非同期転送回路の一部は二重化の対象外としている。即ち、ACLKドメインにおける本体側[RA]は本体回路LRAと本体側ブリッジ回路BRAよりなり、検査側[CA]は検査回路LCAと検査側ブリッジ回路BCAよりなる。BCLKドメインにおける本体側[RB]は本体回路LRBと本体側ブリッジ回路BRBよりなり、検査側[CB]は検査回路LCBと検査側ブリッジ回路BCBよりなる。非同期転送回路1は、本体側[RA]と検査側[CA]に含まれ二重化された本体側ブリッジ回路BRAと検査側ブリッジ回路BCAと、本体側[RB]と検査側[CB]に含まれ二重化された本体側ブリッジ回路BRBと検査側ブリッジ回路BCBと、二重化の対象外であるフリップフロップ3_ABと3_BAと4、組合せ回路5、及び比較回路2_3と2_4と2_5を含んで構成される。
【0103】
ACLKドメインにおいて、本体側ブリッジ回路BRAは制御信号CsRABとペイロード信号PRAを出力し、検査側ブリッジ回路BCAは制御信号CsCABとペイロード信号PCAを出力し、比較回路2_3は制御信号CsRABとCsCABとを比較し、比較回路2_5はペイロード信号PRAとPCAとを比較する。同一のクロックドメインであるから、故障がない限り不一致は検出されない。ACLKドメインからは、制御信号CsRABが二重化されない制御信号CsABとして送出され、ペイロード信号PRAが二重化されないペイロード信号Pとして送出される。
【0104】
BCLKドメインでは、二重化されていないフリップフロップ3_ABによって制御信号CsABが取り込まれ、組合せ回路5によって規定されるタイミングによって、フリップフロップ4がペイロード信号Pを取り込む。BCLKドメインに取り込まれた制御信号CsABとペイロード信号Pは、CsRABとPRBとして本体側ブリッジ回路BRBに入力され、CsCABとPCBとして検査側ブリッジ回路BCBに入力されるが、取り込み回路が二重化されていないので、サイクルずれは原理的に発生しない。
【0105】
BCLKドメインにおいて、本体側ブリッジ回路BRBは制御信号CsRBAを出力し、検査側ブリッジ回路BCBは制御信号CsCBAを出力し、比較回路2_4は制御信号CsRBAとCsCBAとを比較する。上述のように入力された制御信号CsRABとCsCAB、ペイロード信号PRBとPCBにそれぞれサイクルずれが発生しないので、故障がない限り不一致は検出されない。BCLKドメインからは、制御信号CsRBAが二重化されない制御信号CsBAとして送出される。ACLKドメインでは、二重化されていないフリップフロップ3_BAによって制御信号CsBAが取り込まれ、CsRBAとCsCBAとして、本体側ブリッジ回路BRAと検査側ブリッジ回路BCAにそれぞれ入力される。
【0106】
以上述べてきたように、ACLKドメインにおける本体側[RA]と検査側[CA]と、BCLKドメインにおける本体側[RB]と検査側[CB]とは、それぞれ前述のようなタイミングずれを起こすことなく二重化される。二重可能対象外とされる回路は、フリップフロップ3_ABと3_BAとフリップフロップ4、及び組合せ回路5であり、二重化された回路の規模と比較して極めて小さいので、これらを二重化の対象外としたことによる故障検出率の低下は極めて限定的である。これにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。
【0107】
以上の説明では、ACLKドメインからBCLKドメインへの転送についてのみ説明したが、逆方向の非同期転送についても同様に構成することができ、同様の効果を奏することができる。
【0108】
<デュアルCPU+デュアルバスブリッジ>
図5は、二重化されたCPUとバスを含むデータ処理装置の構成例を示すブロック図である。データ処理装置10は、本体側[RA]のCPU−RA(LRA_1)とバス−RA(BUS−RA)、検査側[CA]のCPU−CA(LCA_1)とバス−CA(BUS−CA)、比較回路2_6、故障管理回路EML、及び、二重化されていない他の論理回路7_5を備える。他の論理回路7_5とは、例えばメモリや周辺回路モジュールなどである。論理回路7_5からの入力はバス−RA(BUS−RA)とバス−CA(BUS−CA)を介して並行してCPU−RA(LRA_1)とCPU−CA(LCA_1)とに同一の入力データとして入力される。CPU−RA(LRA_1)とCPU−CA(LCA_1)とは同一の処理を実行しており、故障などがなければ同じ処理結果が出力される。比較回路2_6は、バス−RA(BUS−RA)の出力とバス−CA(BUS−CA)の出力とを比較し、不一致の場合には本体側[RA]または検査側[CA]のどちらか一方または両方に故障が発生したものとして、故障管理回路EMLに通知する。故障管理回路EMLは割り込みやリセットなど、故障に対応して予め決められた処理を起動する。
図5には全体がACLKドメインで同期動作するデータ処理装置10が示されている。同一のデータが同時に入力された二重化されたCPUとバスは、同時に並列して同じ処理を実行し、同時に同じ処理結果を出力することが期待される。このため、比較回路2_6はバス−RA(BUS−RA)の出力とバス−CA(BUS−CA)の出力との比較を毎サイクル常に行うことによって、単発的な故障も検出することができる。なお、本体側[RA]と検査側[CA]の動作は、
図1を引用して説明したように意図的に所定のサイクル数だけずれて同一の処理を実行するように構成してもよい。
【0109】
全てがACLKドメインで動作するために、上述のように、処理結果の比較のタイミング制御は容易であり、比較回路2_6を毎サイクル常に動作させることにより、常時、故障を監視することができる。一方、CPUとバスとを同じクロックドメインで同期動作させるためには、どちらか低い方の性能限界に合せることとなるため、全体の動作周波数が制限されることとなる。
【0110】
図6は、実施形態1の一例として、非同期で動作するCPUとバスがそれぞれ二重化されたデータ処理装置10の構成例を示すブロック図である。データ処理装置10は、
図5に示したデータ処理装置と同様に、本体側[RA]のCPU−RA(LRA_1)とバス−RA(BUS−RA)、検査側[CA]のCPU−CA(LCA_1)とバス−CA(BUS−CA)、比較回路2_6、故障管理回路EML、及び、例えばメモリや周辺回路モジュールなどの二重化されていない他の論理回路7_5を備える。比較回路2_6は、バス−RA(BUS−RA)の出力とバス−CA(BUS−CA)の出力とを比較し、不一致の場合には本体側[RA]または検査側[CA]のどちらか一方または両方に故障が発生したものとして、故障管理回路EMLに通知する。本実施形態1のデータ処理装置10は、本体側[RA]のCPU−RA(LRA_1)と検査側[CA]のCPU−CA(LCA_1)とをACLKドメインにおいて二重化し、本体側[RB]のバス−RA(BUS−RA)と検査側[CB]のバス−CA(BUS−CA)とをBCLKドメインにおいて二重化し、ACLKドメインとBCLKドメインの界面に非同期転送回路1を備える。
【0111】
非同期転送回路1は、ACLKドメインで二重化された本体側ブリッジ回路BRAと検査側ブリッジ回路BCAと、BCLKドメインで二重化された本体側ブリッジ回路BRAと検査側ブリッジ回路BCAと、二重化の対象外であるフリップフロップ3_ABと3_BAとフリップフロップ4、組合せ回路5、及び比較回路2_3と2_4と2_5を含んで構成される。ACLKドメインにおいて、本体側ブリッジ回路BRAは本体側[RA]のCPU−RA(LRA_1)と接続され、検査側ブリッジ回路BCAは検査側[CA]のCPU−CA(LCA_1)と接続され、二重化されて、例えば所定のバスプロトコルに準拠してデータ等の入出力を行う。BCLKドメインにおいて、本体側ブリッジ回路BRBは本体側[RB]のBUS−RB(LRB)と接続され、検査側ブリッジ回路BCBは検査側[CB]のBUS−CA(LCB)と接続され、二重化されて、例えば所定のバスプロトコルに準拠してデータ等の入出力を行う。
【0112】
ACLKドメインにおいて、本体側ブリッジ回路BRAは制御信号CsRABとペイロード信号PRAを出力し、検査側ブリッジ回路BCAは制御信号CsCABとペイロード信号PCAを出力し、比較回路2_3は制御信号CsRABとCsCABとを比較し、比較回路2_5はペイロード信号PRAとPCAとを比較する。同一のクロックドメインであるから、故障がない限り不一致は検出されない。ACLKドメインからは、制御信号CsRABが二重化されない制御信号CsABとして送出され、ペイロード信号PRAが二重化されないペイロード信号Pとして送出される。
【0113】
BCLKドメインでは、二重化されていないフリップフロップ3_ABによって制御信号CsABが取り込まれ、組合せ回路5によって規定されるタイミングによって、フリップフロップ4がペイロード信号Pを取り込む。BCLKドメインに取り込まれた制御信号CsABとペイロード信号Pは、CsRABとPRBとして本体側ブリッジ回路BRBに入力され、CsCABとPCBとして検査側ブリッジ回路BCBに入力されるが、取り込み回路が二重化されていないので、サイクルずれは原理的に発生しない。
【0114】
BCLKドメインにおいて、本体側ブリッジ回路BRBは制御信号CsRABを出力し、検査側ブリッジ回路BCBは制御信号CsCABを出力し、比較回路2_4は制御信号CsRABとCsCABとを比較する。上述のように入力された制御信号CsRABとCsCAB、ペイロード信号PRBとPCBにそれぞれサイクルずれが発生しないので、故障がない限り不一致は検出されない。BCLKドメインからは、制御信号CsRBAが二重化されない制御信号CsBAとして送出される。ACLKドメインでは、二重化されていないフリップフロップ3_BAによって制御信号CsBAが取り込まれ、CsRBAとCsCBAとして、本体側ブリッジ回路BRAと検査側ブリッジ回路BCAにそれぞれ入力される。
【0115】
各比較回路2_3、2_4、2_5及び2_6からの不一致の通知は、故障管理回路EMLに集約され、少なくともいずれか1ヵ所から不一致が通知されたときには、故障管理回路EMLは検出された故障に対応するための処理、例えば割り込みやリセットなどを適切に発生させることができる。
【0116】
以上述べてきたように、ACLKドメインにおける本体側[RA]CPU−RA(LRA_1)と検査側[CA]CPU−CA(LCA_1)と、BCLKドメインにおける本体側[RB]BUS−RB(LRB)と検査側[CB]BUS−CA(LCB)とは、それぞれ前述のようなタイミングずれを起こすことなく二重化される。これにより、デュアルCPU+デュアルバスブリッジを備えるマイクロコントローラにおいて、高性能と高信頼を両立させることができる。
【0117】
特に制限されないが、データ処理装置10は、例えば、公知のCMOS(Complementary Metal-Oxide-Semiconductor field effect transistor)LSIの製造技術を用いて、シリコンなどの単一半導体基板上に形成される。
【0118】
これにより、デュアルCPU+デュアルバスブリッジ等の非同期のクロックドメインでそれぞれ二重化された2組の回路対の間での非同期転送を可能とする、1チップLSIが提供され、高性能と高信頼を両立させることができる。
【0119】
<一定の時間差を保って実行される二重化方式>
図1を引用して説明したように、二重化された本体側[RA][RB]と検査側[CA][CB]の回路、即ち、回路LRAとLCA,LRBとLCB、CPU−RA(LRA_1)、CPU−CA(LCA_1)、とBUS−RB(LRB)やBUS−CB(LCB)の動作は、同時、即ち同じクロックサイクルではなく、意図的に1〜2サイクルずらすことが多い。
【0120】
図7は、実施形態1のデータ処理装置10に含まれる非同期転送回路1の別の構成例を示すブロック図である。
図7には非同期転送回路1のみの構成例が示されており、
図4、
図6に示されるデータ処理装置10に搭載される非同期転送回路1を置き換えることができる。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAと、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBと、二重化の対象外であるフリップフロップ3_ABと3_BAと4、組合せ回路5、及び比較回路2_3と2_4と2_5を含む。これらの構成と動作は
図4、
図6に示される非同期転送回路1と同様であるので、説明を省略する。
図7に示される別の構成例の非同期転送回路1は、さらに遅延回路6_5〜6_10を備える。
【0121】
ACLKドメインにおいて、遅延回路6_5は本体[RA]側ブリッジ回路BRAから出力される制御信号CsRABに挿入されており、所定サイクル数の遅延を加えて比較回路2_3に入力する。遅延回路6_6はBCLKドメインから転送されフリップフロップ3_BAで受信した制御信号CsRBAに挿入されており、所定サイクル数の遅延を加えて制御信号CsCBAとして検査[CA]側ブリッジ回路BRAに入力する。遅延回路6_7は本体[RA]側ブリッジ回路BRAから出力されるペイロード信号PRAに挿入されており、所定サイクル数の遅延を加えて比較回路2_5に入力する。
【0122】
BCLKドメインにおいて、遅延回路6_8は本体[RB]側ブリッジ回路BRBから出力される制御信号CsRBAに挿入されており、所定サイクル数の遅延を加えて比較回路2_4に入力する。遅延回路6_9はACLKドメインから転送されフリップフロップ3_ABで受信した制御信号CsRABに挿入されており、所定サイクル数の遅延を加えて制御信号CsCABとして検査[CB]側ブリッジ回路BRBに入力する。遅延回路6_10はACLKドメインから転送されフリップフロップ4で受信したペイロード信号に挿入されており、所定サイクル数の遅延を加えてペイロード信号PCBとして検査[CB]側ブリッジ回路BRBに入力する。
【0123】
遅延回路6_5〜6_7は、それぞれ1〜数段のフリップフロップで構成することができ、ACLKドメインにおいて検査[CA]側回路及びブリッジ回路BCAの動作を、本体[RA]側回路及びブリッジ回路BRAの動作に対して一律に1〜数クロックサイクル遅延させる。遅延回路6_8〜6_10は、それぞれ1〜数段のフリップフロップで構成することができ、BCLKドメインにおいて検査[CB]側回路及びブリッジ回路BCBの動作を、本体[RB]側回路及びブリッジ回路BRBの動作に対して一律に1〜数クロックサイクル遅延させる。遅延回路6_5〜6_7による遅延量(サイクル数)と遅延回路6_8〜6_10による遅延量(サイクル数)とは同じである必要はない。
【0124】
これにより、同一のデータ処理が一定の時間差(サイクル数)を保って実行される二重化方式においても、適切に故障を検出することができ、信頼性を向上することができる。本体[RA]側回路と検査[CB]側回路の動作が同時ではないので、本体[RA]側回路と検査[CB]側回路に同時に影響を与える外来雑音が混入した場合にも、その時点で実行している処理は互いに異なるから、雑音によって処理結果に誤りが生じる場合にも誤り方が異なるため、より的確に故障を検出することができる。
【0125】
〔実施形態2〕<ペイロード信号を二重化>
実施形態1では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、制御信号CsABとCsBA及びペイロード信号Pを二重化しないことにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送を可能とした。本実施形態2では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、ペイロード信号Pを二重化することにより、より信頼性を向上させる。
【0126】
図8は、実施形態2のデータ処理装置10に含まれる非同期転送回路1の構成例を示すブロック図である。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAと、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBと、二重化の対象外であるフリップフロップ3_ABと3_BA、及び比較回路2_3と2_4を含む。これらの構成と動作は
図4、
図6に示される非同期転送回路1と同様であるので、説明を省略する。
図8に示される実施形態2の非同期転送回路1は、フリップフロップ4_Rと組合せ回路5_R、フリップフロップ4_Cと組合せ回路5_Cとが、本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとにそれぞれ含まれ、BCLKドメインで二重化されている。フリップフロップ3_ABによってBCLKドメインに転送された制御信号CsABは、同じ値のまま本体[RB]側ブリッジ回路BRBの組合せ回路5_Rと検査[CB]側ブリッジ回路BCBの組合せ回路5_Cとにそれぞれ入力される。組合せ回路5_Rと組合せ回路5_Cとは故障がない限り同じ動作を行って、二重化されて転送されて来るペイロード信号PRとPCを、それぞれフリップフロップ4_Rと4_Cでそれぞれ取り込む。ペイロード信号PRとPCはACLKドメインで二重化されている、本体[RA]側回路LRAと検査[CA]側回LCAとからそれぞれ、ブリッジ回路BRAとブリッジ回路BCAを介して出力されており、故障がない限り同じ値であるので、フリップフロップ4_Rと4_Cでそれぞれ取り込まれたペイロード信号も、同じ値であるものと期待される。
【0127】
以上説明した通り、本実施形態2では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、ペイロード信号PをPRとPCに二重化し、合せてその取り込み回路であるフリップフロップ4_Rと4_C、組合せ回路5_Rと5_Cとをそれぞれ二重化することにより、より信頼性を向上することができる。
【0128】
<一定の時間差を保って実行される二重化方式>
図9は、実施形態2のデータ処理装置10に含まれる非同期転送回路1の別の構成例を示すブロック図である。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAと、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBと、二重化の対象外であるフリップフロップ3_ABと3_BA、及び比較回路2_3と2_4を含む。さらに、フリップフロップ4_Rと組合せ回路5_R、フリップフロップ4_Cと組合せ回路5_Cとが、本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとにそれぞれ含まれ、BCLKドメインで二重化されている。これらの構成と動作は
図8に示される非同期転送回路1と同様であるので、説明を省略する。
図9に示される別の構成例の非同期転送回路1は、さらに遅延回路6_5、6_6、6_8及び6_9を備える。
【0129】
ACLKドメインにおいて、遅延回路6_5は本体[RA]側ブリッジ回路BRAから出力される制御信号CsRABに挿入されており、所定サイクル数の遅延を加えて比較回路2_3に入力する。遅延回路6_6はBCLKドメインから転送されフリップフロップ3_BAで受信した制御信号CsRBAに挿入されており、当該所定サイクル数の遅延を加えて制御信号CsCBAとして検査[CA]側ブリッジ回路BRAに入力する。
【0130】
BCLKドメインにおいて、遅延回路6_8は本体[RB]側ブリッジ回路BRBから出力される制御信号CsRBAに挿入されており、所定サイクル数の遅延を加えて比較回路2_4に入力する。遅延回路6_9はACLKドメインから転送されフリップフロップ3_ABで受信した制御信号CsRABに挿入されており、当該所定サイクル数の遅延を加えて制御信号CsCABとして検査[CB]側ブリッジ回路BRBに入力する。
【0131】
遅延回路6_5〜6_6は、それぞれ1〜数段のフリップフロップで構成することができ、ACLKドメインにおいて検査[CA]側回路及びブリッジ回路BCAの動作を、本体[RA]側回路及びブリッジ回路BRAの動作に対して一律に1〜数クロックサイクル遅延させる。遅延回路6_8〜6_9は、それぞれ1〜数段のフリップフロップで構成することができ、BCLKドメインにおいて検査[CB]側回路及びブリッジ回路BCBの動作を、本体[RB]側回路及びブリッジ回路BRBの動作に対して一律に1〜数クロックサイクル遅延させる。遅延回路6_5〜6_6による遅延量(サイクル数)と遅延回路6_8〜6_9による遅延量(サイクル数)とは同じである必要はない。
【0132】
これにより、本実施形態2に示すようにペイロード信号PRとPCを二重化したデータ処理装置10においても、同一のデータ処理が一定の時間差(サイクル数)を保って実行される二重化方式を適用して、信頼性を向上することができる。
【0133】
〔実施形態3〕<ペイロード信号と制御信号を二重化>
実施形態1では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、制御信号CsABとCsBA及びペイロード信号Pを二重化しないことにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送を可能とした。実施形態2では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、ペイロード信号Pを二重化することにより、信頼性をより向上させた。本実施形態3では、さらに制御信号CsAB,CsBAも二重化することにより、信頼性をより向上させる。
【0134】
図10は、実施形態3のデータ処理装置10に含まれる非同期転送回路1の構成例を示すブロック図である。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAと、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとを含む。これらの構成と動作は
図4、
図6に示される非同期転送回路1と同様であるので、説明を省略する。本実施形態3では、ペイロード信号に加えて制御信号も二重化されるので、本体[RA]側のペイロード信号PRと制御信号CsRAB及びCsRBAが、検査[CA]側のペイロード信号PCと制御信号CsCAB及びCsCBAと二重化される。これに伴って、BCLKドメインでは、制御信号CsRABとCsCABを受信するフリップフロップ3_RABと3_CABが二重化され、ペイロード信号PRとPCを受信するフリップフロップ4_Rと4_C、及びその取り込みタイミングを与える組合せ回路5_Rと5_Cとが、それぞれ二重化されている。非同期転送回路1は、さらに比較回路2_7と2_8を備える。
【0135】
制御信号CsRABとCsCABとが同じタイミングで遷移する制御信号であっても、それらがフリップフロップ3_RABと3_CABに受信されるタイミングは、必ずしも同じタイミングと限らない。これは、「解決すべき課題」において指摘した通りである。そこで、本体側である制御信号CsRABをフリップフロップ3_RABで受信した信号のみを、ペイロード信号PRとPCを受信するタイミングを生成するために組合せ回路5_Rと5_Cの両方に供給し、検査側である制御信号CsCABをフリップフロップ3_CABで受信した信号は、上記本体側の信号との比較にのみ用い、組合せ回路5_Cには供給しない。
【0136】
比較回路2_7は、本体側である制御信号CsRABをフリップフロップ3_RABで受信した信号と検査側である制御信号CsCABをフリップフロップ3_CABで受信した信号とを比較して不一致である場合には、故障として故障管理回路EMLに通知するが、1サイクルのずれは許容する。原理的に1サイクルのずれは、故障が無くても発生する可能性があるので、厳密に比較すると故障でない場合にまで故障に対応する処理が起動されてしまう問題を回避するためである。
【0137】
比較回路2_7は3入力として、本体側である制御信号CsRABをフリップフロップ3_RABで受信した信号のうち、組合せ回路5_Rに入力されるノードN4−1−1と、組合せ回路5_Cに入力されるノードN4−1−2と、検査側である制御信号CsCABをフリップフロップ3_CABで受信した信号のノードN4−2とを比較することができる。ノードN4−1−1とノードN4−2の比較、及び、ノードN4−1−2とノードN4−2の比較は、1サイクルのずれを許容した一致/不一致比較を行い、ノードN4−1−1とノードN4−1−2はサイクルずれを許容しない一致/不一致比較を行い、いずれか1つのノードが他のノードと異なる場合に不一致として検出し、故障管理回路EML(不図示)に通知する。
【0138】
本体側の制御信号CsRABをフリップフロップ3_RABで受信した信号と検査側の制御信号CsCABをフリップフロップ3_CABで受信した信号とは、上述のように1サイクルのずれが発生する可能性がある。しかし、本体側の制御信号CsRABのみがペイロード信号PRとPCの取り込みタイミングの生成に使用されるので、故障がない限りその取り込みタイミングにサイクルずれが発生することはない。また、検査側の制御信号CsCABをフリップフロップ3_CABで受信した信号は本体側との比較に用いられるが、発生し得る1サイクルのずれは、比較回路2_7によって吸収されるので、誤って故障として検出される問題が回避される。
【0139】
ACLKドメインにおいて、本体側の制御信号CsRBAをフリップフロップ3_RBAで受信した信号と検査側の制御信号CsCBAをフリップフロップ3_CBAで受信した信号についても、同様に、1サイクルのずれが発生する可能性がある。しかし、本体側ブリッジ回路BRAと検査側ブリッジ回路BCAには、ともに本体側の制御信号CsRBAをフリップフロップ3_RBAで受信した信号が入力されるので、本体側ブリッジ回路BRAと検査側ブリッジ回路BCAの動作、及びその後段の本体側回路と検査側回路の動作は、故障がない限りサイクルずれが発生することはない。また、検査側の制御信号CsCBAをフリップフロップ3_CBAで受信した信号は本体側との比較に用いられるが、発生し得る1サイクルのずれは、比較回路2_8によって吸収されるので、誤って故障として検出される問題が回避される。
【0140】
これにより、非同期転送回路1において、ペイロード信号と制御信号がともに二重化され、実施形態2の場合よりもさらに信頼性を高めることができる。
【0141】
<一定の時間差を保って実行される二重化方式>
図11は、実施形態3のデータ処理装置10に含まれる非同期転送回路1の別の構成例を示すブロック図である。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAとフリップフロップ3_RBAと3_CBA、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとフリップフロップ3_RABと3_CAB、及び比較回路2_7と2_8を含む。さらに、フリップフロップ4_Rと組合せ回路5_R、フリップフロップ4_Cと組合せ回路5_Cとが、本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとにそれぞれ含まれ、BCLKドメインで二重化されている。これらの構成と動作は
図10に示される非同期転送回路1と同様であるので、説明を省略する。
図9に示される別の構成例の非同期転送回路1は、さらに遅延回路6_6_1、6_6_2、6_9_1及び6_9_2を備える。
【0142】
ACLKドメインにおいて、検査[CA]側回路LCA(不図示)及びブリッジ回路BCAは、本体[RA]側LRA(不図示)及びブリッジ回路BRAから、1〜複数の一定サイクルの時間差(ずれ)を保って動作しており、遅延回路6_6_1、6_6_2はその一定サイクルの遅延を与える遅延回路である。BCLKドメインにおいて、検査[CB]側回路LCB(不図示)及びブリッジ回路BCBは、本体[RB]側LRB(不図示)及びブリッジ回路BRBから、1〜複数の一定サイクルの時間差(ずれ)を保って動作しており、遅延回路6_9_1、6_9_2はその一定サイクルの遅延を与える遅延回路である。
【0143】
ACLKドメインにおいて、遅延回路6_6_1と6_6_2はBCLKドメインから転送されフリップフロップ3_RBAで受信した制御信号CsRBAに挿入されており、遅延回路6_6_1は上記一定サイクル数の遅延を加えて比較回路2_8に入力し、遅延回路6_6_2は同じく上記一定サイクル数の遅延を加えて比較回路2_8に入力し、合せてブリッジ回路BCAに入力する。
【0144】
BCLKドメインにおいて、遅延回路6_9_1と6_9_2はACLKドメインから転送されフリップフロップ3_RABで受信した制御信号CsRABに挿入されている。遅延回路6_9_1は上記一定サイクル数の遅延を加えて比較回路2_7に入力し、遅延回路6_9_2は同じく上記一定サイクル数の遅延を加えて比較回路2_7に入力し、合せてブリッジ回路BCBの組合せ回路5_Cに入力する。
【0145】
これにより、同一のデータ処理が一定の時間差(サイクル数)を保って実行される二重化方式においても、適切に故障を検出することができる。
【0146】
〔実施形態4〕
実施形態1〜3ではACLKドメインの回路とBCLKドメインの回路の両方をそれぞれ二重化の対象としているのに対し、本実施形態4は、一方の回路は別の手段で安全性を確保している状況を想定して、一方だけを二重化する実施の形態である。ここで、安全性を確保する別の手段とは、例えば、定期的なスキャンテストなどによる回路の故障テストである。
図12と
図13には、二重化されていない側から二重化されている側へペイロード信号を非同期転送する非同期転送回路1が示され、
図14には逆に二重化されている側から二重化されていない側へペイロード信号を非同期転送する非同期転送回路1が示される。なお、二重化されていない側を二重化された回路に置き換えることにより、実施形態1〜3で開示した回路と同様に構成することができる。
【0147】
<二重化された回路への別の回路からの非同期転送>
図12は、実施形態4のデータ処理装置10の第1の構成例を示すブロック図である。
【0148】
データ処理装置10は、ACLKドメインで動作する論理回路LAと、BCLKドメインで二重化された本体側[RB]回路LRBと検査側[CB]回路LCBと、非同期転送回路1とを含んで構成される。非同期転送回路1は、論理回路LAに接続されACLKドメインで動作するブリッジ回路BAと、BCLKドメインで動作するブリッジ回路BBとを備える。ブリッジ回路BBは、二重化されていないフリップフロップ3_ABと比較回路2_4を備え、また、本体側[RB]回路LRBと検査側[CB]回路LCBにそれぞれ接続され、二重化されて動作するブリッジ回路BRBとBCBとを備える。ブリッジ回路BRBとBCBとは、それぞれペイロード信号Pを受信するフリップフロップ4_Rと4_C、及びそれらに与える取り込みタイミングを生成する組合せ回路5_Rと5_Cとを備える。組合せ回路5_Rと5_Cとは同一の処理を行なう二重化された回路である。
【0149】
ACLKドメインで動作する論理回路LAからはブリッジ回路BAを介してペイロード信号Pと制御信号CsABが送出され、ブリッジ回路BAはフリップフロップ回路3_BAを備えて、BCLKドメインから転送される制御信号CsBAを受信する。
【0150】
制御信号CsABは二重化されていないフリップフロップ3_ABによってBCLKドメインで受信され、本体側[RB]ブリッジ回路BRBに入力され、並行して検査側[CB]ブリッジ回路BCBに入力される。単一の信号であるからブリッジ回路BRBとBCBにそれぞれ入力されても時間差(サイクル差)は生じない。故障がない限り、組合せ回路5_Rと5_Cとは同一の取り込みタイミングを、フリップフロップ4_Rと4_Cに与え、二重化されていないペイロード信号Pを、フリップフロップ4_Rと4_Cとで受信する。二重化されていないペイロード信号Pを同一の取り込みタイミングで取り込むので、フリップフロップ4_Rと4_Cによって受信されたペイロード信号には、サイクルずれは発生しない。
【0151】
本体側[RB]ブリッジ回路BRBが出力する制御信号CsRBAと、検査側[CB]ブリッジ回路BCBが出力する制御信号CsCBAとは、比較回路2_4に入力されて比較され、不一致の場合は故障管理回路EML(不図示)に通知される。本体側[RB]の制御信号CsRBAは、制御信号CsBAとしてACLKドメインに転送され、ブリッジ回路BAのフリップフロップ回路3_BAに入力される。
【0152】
図13は、実施形態4のデータ処理装置10の第2の構成例を示すブロック図である。
【0153】
データ処理装置10は、ACLKドメインで動作する論理回路LAと、BCLKドメインで二重化された本体側[RB]回路LRBと検査側[CB]回路LCBと、非同期転送回路1とを含んで構成される。非同期転送回路1は、論理回路LAに接続されACLKドメインで動作するブリッジ回路BAと、BCLKドメインで動作するブリッジ回路BBとを備える。ブリッジ回路BBは、二重化されていないフリップフロップ3_ABと4と組合せ回路5と比較回路2_4とを備え、また、本体側[RB]回路LRBと検査側[CB]回路LCBにそれぞれ接続され、二重化されて動作するブリッジ回路BRBとBCBとを備える。
【0154】
ACLKドメインで動作する論理回路LAからはブリッジ回路BAを介してペイロード信号Pと制御信号CsABが送出され、ブリッジ回路BAはフリップフロップ回路3_BAを備えて、BCLKドメインから転送される制御信号CsBAを受信する。制御信号CsABは二重化されていないフリップフロップ3_ABによってBCLKドメインで受信され、組合せ回路5と本体側[RB]ブリッジ回路BRBに入力され、並行して検査側[CB]ブリッジ回路BCBに入力される。組合せ回路5はフリップフロップ4にペイロード信号Pの取り込みタイミングを与え、フリップフロップ4に受信されたペイロード信号Pは、ペイロード信号PRBとPCBとしてそれぞれブリッジ回路BRBとBCBに入力される。元々二重化されていない単一の信号であるからブリッジ回路BRBとBCBにそれぞれ入力されても時間差(サイクル差)は原理的に生じない。
【0155】
本体側[RB]ブリッジ回路BRBが出力する制御信号CsRBAと、検査側[CB]ブリッジ回路BCBが出力する制御信号CsCBAとは、比較回路2_4に入力されて比較され、不一致の場合は故障管理回路EML(不図示)に通知される。本体側[RB]の制御信号CsRBAは、制御信号CsBAとしてACLKドメインに転送され、ブリッジ回路BAのフリップフロップ回路3_BAに入力される。
【0156】
以上
図12と
図13を引用して説明したように、二重化された回路と非同期で動作する回路(二重化されているか二重化されていないかは問わない)との間での非同期転送のうち、二重化された回路がペイロード信号を受信する場合において、非同期転送回路の信頼性を高めることができ、全体として高性能と高信頼を両立させることができる。非同期転送回路の一部である、本体側[RB]ブリッジ回路BRBと検査側[CB]ブリッジ回路BCBが二重化されるからである。
【0157】
<二重化された回路から別の回路への非同期転送>
図14は、実施形態4のデータ処理装置10の第3の構成例を示すブロック図である。
【0158】
データ処理装置10は、ACLKドメインで二重化された本体側[RA]回路LRAと検査側[CA]回路LCAと、BCLKドメインで動作する論理回路LBと、非同期転送回路1とを含んで構成される。非同期転送回路1は、ACLKドメインで動作するブリッジ回路BAと、論理回路LBに接続されBCLKドメインで動作するブリッジ回路BBとを備える。ブリッジ回路BAは、二重化されていないフリップフロップ3_BAと比較回路2_3と2_5とを備え、また、本体側[RA]回路LRAと検査側[CA]回路LCAにそれぞれ接続され、二重化されて動作するブリッジ回路BRAとBCAとを備える。ブリッジ回路BRAとBCAとは、それぞれ、制御信号CsRABとCsCAB、ペイロード信号PRAとPCAを出力し、制御信号CsRBAとCsCBAが入力される。制御信号CsRABとCsCABは比較回路2_3に入力され、ペイロード信号PRAとPCAは比較回路2_5に入力され、一方または両方の比較回路で不一致が検出された場合には故障管理回路EML(不図示)に通知される。制御信号CsRBAは制御信号CsABとして、また、ペイロード信号PRAはペイロード信号Pとして、BCLKドメインに転送される。
【0159】
ブリッジ回路BBは、フリップフロップ3_ABと4と組合せ回路5とを含んで構成される。ACLKドメインから転送される制御信号CsABは、フリップフロップ3_ABで受信され、組合せ回路5に供給される。組合せ回路5は、ACLKドメインに対して出力するCsBAを生成して送出し、また、ペイロード信号Pを取り込むタイミングを、フリップフロップ4に供給する。
【0160】
ペイロード信号Pが転送されるBCLKドメインは二重化されていないので、そもそもサイクルずれの問題は発生しない一方、ペイロード信号Pを送出する、ACLKドメインのブリッジ回路BRAとBCAは二重化されることにより、信頼性を向上することができる。
【0161】
<一定の時間差を保って実行される二重化方式>
図12〜14を引用して説明した本実施形態4に係るデータ処理装置10は、
図7、9、11と同様の考え方により、遅延回路6を適宜挿入することにより、二重化された回路対における同一のデータ処理が一定の時間差(サイクル数)を保って実行されるように変更することができる。
【0162】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0163】
例えば、非同期転送回路には、転送方向や転送タイミングの異なる他のペイロード信号の転送回路を追加することができる。本体側回路とそれに接続されるブリッジ回路、検査側回路とそれに接続されるブリッジ回路のブロック分割は、便宜的なものであって、適宜変更することができる。