(57)【要約】  互いに非同期の２つのクロックドメインのそれぞれにおいて二重化された２組の回路対を備えるデータ処理装置において、前記２組の回路対の間に、ペイロード信号を転送するための非同期転送回路を設ける。非同期転送回路は、２組の回路対にそれぞれ接続された２組のブリッジ回路対を備え、ペイロード信号とともに当該ペイロード信号が受信側で安定するタイミングを示す制御信号を非同期転送する。２組のブリッジ回路対とペイロード信号は二重化することができるが、前記制御信号は二重化されず、受信されたペイロード信号を二重化された回路対に対して、期待される同じ時間差で供給するためのタイミング制御に使用される。これにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。
2016151674.tif 000002
【特許請求の範囲】
【請求項１】
第１クロックドメインにおいて二重化された第１本体回路と第１検査回路と、前記第１クロックドメインとは非同期の第２クロックドメインにおいて二重化された第２本体回路と第２検査回路と、前記第１クロックドメインと前記第２クロックドメインとの間でペイロード信号の転送を行う非同期転送回路とを備え、
前記非同期転送回路は、
前記第１本体回路と前記第１検査回路にそれぞれ接続され前記第１クロックドメインにおいて二重化された第１本体側ブリッジ回路と第１検査側ブリッジ回路と、前記第２本体回路と前記第２検査回路にそれぞれ接続され前記第２クロックドメインにおいて二重化された第２本体側ブリッジ回路と第２検査側ブリッジ回路とを備え、
前記ペイロード信号を送出する側の第１又は第２本体側ブリッジ回路によって生成され前記ペイロード信号が受信側で安定するタイミングを示す制御信号を有し、前記制御信号と、対応する第１又は第２検査側ブリッジ回路によって生成された検査用制御信号とを比較し、不一致の場合には故障として検出する、
データ処理装置。
【請求項２】
請求項１において、
前記第１本体回路と前記第１検査回路とは、前記第１クロックドメインにおいて０サイクル以上の第１サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
前記第２本体回路と前記第２検査回路とは、前記第２クロックドメインにおいて０サイクル以上の第２サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
前記非同期転送回路は、前記第１クロックドメインにおいて前記第１サイクル数の時間差で、前記第１本体回路からの出力と前記第１検査回路からの出力とを比較し、不一致の場合には故障として検出し、
前記制御信号と対応する前記検査用制御信号との比較は、前記第１クロックドメインで行うときには前記第１サイクル数の時間差で行い、前記第２クロックドメインで行うときには前記第２サイクル数の時間差で行う、
データ処理装置。
【請求項３】
請求項１において、
前記第１本体側ブリッジ回路は、前記第２本体側ブリッジ回路に前記ペイロード信号と前記制御信号とを転送し、
前記第１検査側ブリッジ回路は、検査用ペイロード信号と前記検査用制御信号を生成し、前記検査用ペイロード信号を前記第２検査側ブリッジ回路に転送し、
前記非同期転送回路は、前記第１クロックドメインで前記制御信号と前記検査用制御信号との前記比較を行い、不一致の場合には故障として検出し、
前記非同期転送回路は、前記制御信号を前記第２クロックドメインに転送し、
前記第２クロックドメインに転送された前記制御信号に基づいて、前記第２本体側ブリッジ回路は前記ペイロード信号を受信し、前記第２検査側ブリッジ回路は前記検査用ペイロード信号を受信し、前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する、
データ処理装置。
【請求項４】
請求項３において、
前記第１本体回路と前記第１検査回路とは、前記第１クロックドメインにおいて０サイクル以上の第１サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
前記第２本体回路と前記第２検査回路とは、前記第２クロックドメインにおいて０サイクル以上の第２サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
前記非同期転送回路は、前記第１クロックドメインにおいて前記第１サイクル数の時間差で、前記第１本体回路からの出力と前記第１検査回路からの出力とを比較し、不一致の場合には故障として検出し、
前記制御信号と対応する前記検査用制御信号との比較は、前記第１クロックドメインで前記第１サイクル数の時間差で行い、
前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第２クロックドメインで前記第２サイクル数の時間差で行う、
データ処理装置。
【請求項５】
請求項１において、
前記第１本体側ブリッジ回路は、前記第２本体側ブリッジ回路に前記ペイロード信号と前記制御信号とを転送し、
前記第１検査側ブリッジ回路は、検査用ペイロード信号と前記検査用制御信号を生成し、前記検査用ペイロード信号と前記検査用制御信号を前記第２検査側ブリッジ回路に転送し、
前記非同期転送回路は、前記第２クロックドメインで前記制御信号と前記検査用制御信号との間で１サイクルまでのずれを許容する比較を行い、不一致の場合には故障として検出し、
前記第２クロックドメインに転送された前記制御信号に基づいて、前記第２本体側ブリッジ回路は前記ペイロード信号を受信し、前記第２検査側ブリッジ回路は前記検査用ペイロード信号を受信し、前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する、
データ処理装置。
【請求項６】
請求項５において、
前記第１本体回路と前記第１検査回路とは、前記第１クロックドメインにおいて０サイクル以上の第１サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
前記第２本体回路と前記第２検査回路とは、前記第２クロックドメインにおいて０サイクル以上の第２サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
前記非同期転送回路は、前記第１クロックドメインにおいて前記第１サイクル数の時間差で、前記第１本体回路からの出力と前記第１検査回路からの出力とを比較し、不一致の場合には故障として検出し、
前記制御信号と対応する前記検査用制御信号との比較は、前記第２クロックドメインで前記第２サイクル数にプラス／マイナス１サイクルの余裕を加えた時間差で行い、当該余裕を含む時間差以内で一致するときには一致とし、当該余裕の範囲内で不一致の場合に故障として検出し、
前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第２クロックドメインで前記第２サイクル数の時間差で行う、
データ処理装置。
【請求項７】
請求項５において、
前記第２本体側ブリッジ回路は、前記ペイロード信号を受信する第２本体側フリップフロップを有し、
前記第２検査側ブリッジ回路は、前記検査用ペイロード信号を受信する第２検査側フリップフロップを有し、
前記非同期転送回路は、前記制御信号に基づいて前記第２本体側フリップフロップに前記ペイロード信号の取り込みタイミングを与える信号と、前記制御信号に基づいて前記第２検査側フリップフロップに前記検査用ペイロード信号の取り込みタイミングを与える信号と、前記検査用制御信号との間の３者間の比較を行い、少なくともいずれか１つの信号が他の信号と不一致の場合には故障として検出する、
データ処理装置。
【請求項８】
請求項７において、
前記第１本体回路と前記第１検査回路とは、前記第１クロックドメインにおいて０サイクル以上の第１サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
前記第２本体回路と前記第２検査回路とは、前記第２クロックドメインにおいて０サイクル以上の第２サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
前記非同期転送回路は、前記第１クロックドメインにおいて前記第１サイクル数の時間差で、前記第１本体回路からの出力と前記第１検査回路からの出力とを比較し、不一致の場合には故障として検出し、
前記制御信号に基づいて前記第２本体側フリップフロップに前記ペイロード信号の取り込みタイミングを与える信号と対応する前記検査用制御信号との比較は、前記第２クロックドメインで前記第２サイクル数にプラス／マイナス１サイクルの余裕を加えた時間差で行い、当該余裕を含む時間差以内で一致するときには一致とし、当該余裕の範囲内で不一致の場合に故障として検出し、
前記制御信号に基づいて前記第２検査側フリップフロップに前記検査用ペイロード信号の取り込みタイミングを与える信号と対応する前記検査用制御信号との比較は、前記第２クロックドメインで行い、プラス／マイナス１サイクルの時間差以内で一致するときには一致とし、プラス／マイナス１サイクルの範囲内で不一致の場合に故障として検出し、
前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第２クロックドメインで前記第２サイクル数の時間差で行う、
データ処理装置。
【請求項９】
請求項１において、故障が検出されたことが通知される、故障管理回路をさらに備える、
データ処理装置。
【請求項１０】
請求項１において、
前記第１本体回路と前記第１検査回路とは、それぞれ同一のプログラムを実行可能な同一の回路構成によるＣＰＵであり、
前記第２本体回路と前記第２検査回路とは、それぞれ同一の回路構成によるバスブリッジである、
データ処理装置。
【請求項１１】
請求項１において、単一の半導体基板上に形成される、
データ処理装置。
【請求項１２】
第１クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第１本体回路と第１検査回路と、前記第１クロックとは非同期の第２クロックに同期して動作する第２回路と、前記第１本体回路及び前記第１検査回路と前記第２回路との間でペイロード信号の非同期転送を行う非同期転送回路とを備えるデータ処理装置であって、
前記非同期転送回路は、前記第１クロックに同期して動作し前記第１本体回路及び前記第１検査回路と接続される第１ブリッジ回路と、前記第２クロックに同期して動作し前記第２回路と接続される第２ブリッジ回路とを備え、前記第１ブリッジ回路と前記第２ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号とで互いに接続され、
前記第１ブリッジ回路は、前記第１本体回路との間の入出力信号を第１本体側ペイロード信号及び第１本体側非同期転送制御信号に変換する第１本体側変換回路と、前記第１検査回路との間の入出力信号を第１検査側ペイロード信号及び第１検査側非同期転送制御信号に変換する第１検査側変換回路と、前記第１本体側非同期転送制御信号のうち前記第２ブリッジ回路に送出される出力信号と前記第１検査側非同期転送制御信号のうち対応する出力信号とを比較して不一致を検出する第１の比較回路とを備え、
前記第１ブリッジ回路は、前記第１本体側非同期転送制御信号のうちの出力信号を前記非同期転送制御信号のうちの出力信号として前記第２ブリッジ回路に送出し、
前記第２ブリッジ回路は、前記第１ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第２回路に供給する、
データ処理装置。
【請求項１３】
第１クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第１本体回路と第１検査回路と、前記第１クロックとは非同期の第２クロックに同期して動作する第２回路と、前記第１本体回路及び前記第１検査回路と前記第２回路との間でペイロード信号の非同期転送を行う非同期転送回路とを備えるデータ処理装置であって、
前記非同期転送回路は、前記第１クロックに同期して動作し前記第１本体回路及び前記第１検査回路と接続される第１ブリッジ回路と、前記第２クロックに同期して動作し前記第２回路と接続される第２ブリッジ回路とを備え、前記第１ブリッジ回路と前記第２ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号とで互いに接続され、
前記第１ブリッジ回路は、前記第１本体回路との間の入出力信号を第１本体側ペイロード信号及び第１本体側非同期転送制御信号に変換する第１本体側変換回路と、前記第１検査回路との間の入出力信号を第１検査側ペイロード信号及び第１検査側非同期転送制御信号に変換する第１検査側変換回路と、前記第１本体側非同期転送制御信号のうち前記第２ブリッジ回路に送出される出力信号と前記第１検査側非同期転送制御信号のうち対応する出力信号とを比較して不一致を検出する第２の比較回路とを備え、
前記第１ブリッジ回路は、前記第２ブリッジ回路から転送される前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第１本体側変換回路を介して前記第１本体回路に、前記第１検査側変換回路を介して前記第１検査回路にそれぞれ供給する、
データ処理装置。
【請求項１４】
請求項１２において、
前記第２回路は、前記第２クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第２本体回路と第２検査回路とを含み、
前記第２ブリッジ回路は、前記第２本体回路との間の入出力信号を第２本体側ペイロード信号及び第２本体側非同期転送制御信号に変換する第２本体側変換回路と、前記第２検査回路との間の入出力信号を第２検査側ペイロード信号及び第２検査側非同期転送制御信号に変換する第２検査側変換回路とを備え、
前記第２ブリッジ回路は、前記第１ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第２本体側変換回路を介して前記第２本体回路に、前記第２検査側変換回路を介して前記第２検査回路にそれぞれ供給する、
データ処理装置。
【請求項１５】
請求項１２において、
前記第２回路は、前記第２クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第２本体回路と第２検査回路とを含み、
前記第２ブリッジ回路は、前記第２本体回路との間の入出力信号を第２本体側ペイロード信号及び第２本体側非同期転送制御信号に変換する第２本体側変換回路と、前記第２検査回路との間の入出力信号を第２検査側ペイロード信号及び第２検査側非同期転送制御信号に変換する第２検査側変換回路とを備え、
前記第１ブリッジ回路は、前記ペイロード信号に加えて検査用ペイロード信号を送信し、
前記第２ブリッジ回路において、前記第２本体側変換回路は、前記第１ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第２検査側変換回路も、前記第１ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信する、
データ処理装置。
【請求項１６】
請求項１２において、
前記第２回路は、第２クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第２本体回路と第２検査回路とを含み、
前記第２ブリッジ回路は、前記第２本体回路との間の入出力信号を第２本体側ペイロード信号及び第２本体側非同期転送制御信号に変換する第２本体側変換回路と、前記第２検査回路との間の入出力信号を第２検査側ペイロード信号及び第２検査側非同期転送制御信号に変換する第２検査側変換回路とを備え、
前記第１ブリッジ回路は、前記第１本体側非同期転送制御信号のうちの出力信号を前記非同期転送制御信号のうちの出力信号として前記第２ブリッジ回路に送出し、前記第１本体側ペイロード信号を前記ペイロード信号として前記第２ブリッジ回路に送出し、前記第１検査側非同期転送制御信号のうちの出力信号を前記検査用非同期転送制御信号として前記第２ブリッジ回路に送出し、前記第２検査側ペイロード信号を検査用ペイロード信号として前記第２ブリッジ回路に送出し、
前記第２ブリッジ回路は、前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信して前記第２本体側ペイロード信号として、前記第２本体側変換回路に供給し、前記検査用ペイロード信号を受信して前記第２検査側ペイロード信号として、前記第２検査側変換回路に供給し、
前記第２ブリッジ回路は、前記非同期転送制御信号のうちの入力信号と、前記検査用非同期転送制御信号のうちの入力信号とを比較する第３の比較回路を備える、
データ処理装置。
【請求項１７】
請求項１６において、
前記第３の比較回路は、前記非同期転送制御信号のうちの入力信号が前記第１本体側変換回路に供給されるノードの信号と、前記第２検査側変換回路に供給されるノードの信号と、前記検査用非同期転送制御信号のうちの入力信号とを比較し、少なくともいずれか１つの信号が他の信号と不一致であることを検出する、
データ処理装置。
【請求項１８】
請求項１２において、
前記第１本体回路と前記第１検査回路は、同一の前記処理を前記第１クロックにおける０サイクル以上の所定のサイクル数の差を保って実行する、
データ処理装置。
【請求項１９】
請求項１２において、前記全ての比較回路のうちのいずれかで不一致が発生したことが通知される、故障管理回路をさらに備える、
データ処理装置。
【請求項２０】
請求項１２において、単一の半導体基板上に形成される、
データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機能安全のために二重化された論理回路と、非同期で動作する他の論理回路との間の非同期データ転送回路を備えるデータ処理装置に適用して有効な技術に関する。
【背景技術】
【０００２】
高性能なＣＰＵ（Central Processing Unit）コアなどの高い周波数のクロックで動作する論理回路は、他の論理回路の動作クロックとの間の関係を非同期とすることで、周波数の向上を狙う場合が多い。例えば、ＣＰＵとオンチップバスとの界面では、非同期バスブリッジを挿入しＣＰＵクロックとバスクロックを非同期にすることでＣＰＵの動作周波数を高速化する。【０００３】
また、高信頼を求められる車載などの分野における回路の一部についてはＤＣＬＳ（Dual-Core Lock-Step）で回路を二重化するなど、回路の冗長化を行なうことで、システム動作時の故障を検出し安全に停止等が行なえるようなシステム構成を取ることで安全性を確保する。例えばＤＣＬＳ構成を用いてＣＰＵ等の回路を二重化すると、二重化されたＣＰＵの出力信号を逐次比較する。このため、一方のＣＰＵに一時的または永続的な故障が発生した場合、即座に異常の発生を検知することができる。ただし、二重化による二者の比較では異常の検出に留まり、バックアップや復旧などの処理は別途行われる。車載に必要とされる安全性は、ＡＳＩＬ（Automotive Safety Integrity Level）等で規格化されており、これを満足するために、ＣＰＵの二重化技術等が利用される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
高性能と高信頼の両立が求められるデータ処理装置について本発明者が検討した結果、以下のような新たな課題があることがわかった。【０００５】
二重化された２個の回路は、同一のデータ処理を同時に並列して実行しており、同一の処理結果であると期待され同時に出力される出力どうしが互いに比較され、不一致の場合には少なくとも一方の回路が故障した異常として検出される。二重化された当該２個の回路は、同一のクロックドメインで同期して動作しており、「同時」とは同一クロックサイクルであることを意味する。ここで、二重化において「同時」であることは必ずしも必須ではなく、所定の時間差（サイクル数の差）が保たれていても良い。しかしここでは説明を簡略化するために、二重化された２個の回路では同一のデータ処理が同時に並列して実行されるものとして説明する。【０００６】
互いに非同期の２個のクロックドメインでそれぞれ二重化された２組の回路対の間で、単純に非同期転送回路を２組備えてデータの非同期転送を行う場合について検討する。データを送信する側で二重化された２個の回路からは、故障がなければ同一である２個のデータが送信側クロックに同期して同時に送出される。一方データを受信する側では、送出された当該２個のデータをそれぞれ別の非同期転送回路で転送して、受信側クロックに載せ替えて受信する。送信側クロックと受信側クロックが互いに非同期であると、送信側で同時、即ち送信側クロックの同一サイクルで送出された２個のデータであっても、受信側では受信側クロックの同一サイクルで受信されるとは限らない。全く同一の非同期転送回路を備えていても、送信側クロックと受信側クロックが非同期であるために、受信側でのデータの取り込みタイミングを完全に一致させることはできずゆらぎを生じるからである。そのため、受信側の２重化された回路対に対するデータの入力は、同時に行われるべきところ、受信タイミングのゆらぎに起因して、異なるサイクルで入力される場合が発生する。受信側回路では同一のデータが同時に入力され同時に同じ処理を並行して実行して同じ結果が出力されることを期待して、２個の回路からの出力が比較されるにもかかわらず、入力されるデータのタイミングにずれが生じると、２個の回路からの出力にもずれが生じ、これが故障として検出されてしまう。【０００７】
このように、同一のデータが同時に入力され同一の処理が同時に並行して行われることによって同時に同じ結果が出力されることを期待して、２個の回路からの出力が比較される二重化された回路に、二重化された非同期転送回路対を接続すると、期待される同時性が保証されないために、故障が発生していないにも関わらず、誤って故障として検出される恐れがある。同一のデータが所定の時間差で入力され同一の処理が当該時間差を保って並行して行われることによって同じ処理結果が当該時間差を保って出力されることを期待して、２個の回路からの出力が比較される二重化された回路についても同様である。単純に二重化された非同期転送回路対を接続すると、期待される同じ時間差が保証されないために、故障が発生していないにも関わらず、誤って故障として検出される恐れがある。【０００８】
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。【００１０】
すなわち、互いに非同期の２つのクロックドメインのそれぞれにおいて二重化された２組の回路対を備えるデータ処理装置において、前記２組の回路対の間に、ペイロード信号を転送するための非同期転送回路を設ける。非同期転送回路は、２組の回路対にそれぞれ接続された２組のブリッジ回路対を備え、ペイロード信号とともに当該ペイロード信号が受信側で安定するタイミングを示す制御信号を非同期転送する。２組のブリッジ回路対とペイロード信号は二重化することができるが、前記制御信号は二重化されず、受信されたペイロード信号を二重化された回路対に対して、期待される同じ時間差で供給するためのタイミング制御に使用される。前記制御信号を検査するための検査用制御信号を追加しても良い。
【発明の効果】
【００１１】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。【００１２】
すなわち、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、二重化された回路対を含むデータ処理装置の構成例を示すブロック図である。
【図２】図２は、非同期転送回路を備えるデータ処理装置の構成例を示すブロック図である。
【図３】図３は、それぞれが二重化された２組の回路対の間に、図２に示される非同期転送回路を単純に二重化して備えたデータ処理装置の構成例（比較例）を示すブロック図である。
【図４】図４は、実施形態１のデータ処理装置の構成例を示すブロック図である。
【図５】図５は、二重化されたＣＰＵとバスを含むデータ処理装置の構成例を示すブロック図である。
【図６】図６は、実施形態１の一例として、非同期で動作するＣＰＵとバスがそれぞれ二重化されたデータ処理装置の構成例を示すブロック図である。
【図７】図７は、実施形態１のデータ処理装置に含まれる非同期転送回路の別の構成例を示すブロック図である。
【図８】図８は、実施形態２のデータ処理装置に含まれる非同期転送回路の構成例を示すブロック図である。
【図９】図９は、実施形態２のデータ処理装置に含まれる非同期転送回路の別の構成例を示すブロック図である。
【図１０】図１０は、実施形態３のデータ処理装置に含まれる非同期転送回路の構成例を示すブロック図である。
【図１１】図１１は、実施形態３のデータ処理装置に含まれる非同期転送回路の別の構成例を示すブロック図である。
【図１２】図１２は、実施形態４のデータ処理装置の第１の構成例を示すブロック図である。
【図１３】図１３は、実施形態４のデータ処理装置の第２の構成例を示すブロック図である。
【図１４】図１４は、実施形態４のデータ処理装置の第３の構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１５】
〔１〕＜それぞれ二重化された２組の回路対間の非同期転送＞
本願において開示される代表的な実施の形態は、それぞれ二重化された２組の回路対とその間の非同期転送回路を備えるデータ処理装置（１０）であって、以下のように構成される。前記データ処理装置は、第１クロックドメイン（ＡＣＬＫ）において二重化された第１本体回路（ＬＲＡ）と第１検査回路（ＬＣＡ）と、前記第１クロックドメインとは非同期の第２クロックドメイン（ＢＣＬＫ）において二重化された第２本体回路（ＬＲＢ）と第２検査回路（ＬＣＢ）とを備える。また、前記データ処理装置は、前記第１クロックドメインと前記第２クロックドメインとの間でペイロード信号（Ｐ）の転送を行う非同期転送回路（１）を備える。
【００１６】
前記非同期転送回路は、前記第１本体回路と前記第１検査回路にそれぞれ接続され前記第１クロックドメインにおいて二重化された第１本体側ブリッジ回路（ＢＲＡ）と第１検査側ブリッジ回路（ＢＣＡ）とを備える。また、前記非同期転送回路は、前記第２本体回路と前記第２検査回路にそれぞれ接続され前記第２クロックドメインにおいて二重化された第２本体側ブリッジ回路（ＢＲＢ）と第２検査側ブリッジ回路（ＢＣＢ）とを備える。
【００１７】
前記非同期転送回路は、前記ペイロード信号を送出する側の第１又は第２本体側ブリッジ回路によって生成され前記ペイロード信号が受信側で安定するタイミングを示す制御信号（ＣｓＡＢ，ＣｓＢＡ）を有し、前記制御信号と、対応する第１又は第２検査側ブリッジ回路によって生成された検査用制御信号（ＣｓＣＡＢ，ＣｓＣＢＡ）とを比較し、不一致の場合には故障として検出する。
【００１８】
これにより、非同期のクロックドメインでそれぞれ二重化された回路対の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。非同期で動作させることによって、他方の速度限界に制約されることなく、それぞれのクロックドメインにおいて必要に応じて動作周波数を高くすることができるため、性能を向上することができる。また、非同期転送回路において、前記制御信号が二重化の対象外とされることによって、二重化された関係を保ったままでの非同期転送を可能とし、それ以外のペイロード信号やブリッジ回路などを二重化することができるので、信頼性を向上することができる。
【００１９】
〔２〕＜一定の時間差を保って実行される二重化方式（図７）＞
項１において、前記第１本体回路と前記第１検査回路とは、前記第１クロックドメインにおいて０サイクル以上の第１サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。また、前記第２本体回路と前記第２検査回路とは、前記第２クロックドメインにおいて０サイクル以上の第２サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
【００２０】
前記非同期転送回路は、前記第１クロックドメインにおいて前記第１サイクル数の時間差で、前記第１本体回路からの出力と前記第１検査回路からの出力とを比較し、不一致の場合には故障として検出する。前記制御信号と対応する前記検査用制御信号との比較（２＿３）は、前記第１クロックドメインで行うときには前記第１サイクル数の時間差で行い、前記第２クロックドメインで行うときには前記第２サイクル数の時間差で行う（２＿４）。
【００２１】
これにより、同一のデータ処理が一定の時間差（サイクル数）を保って実行される二重化方式においても、適切に故障を検出することができる。
【００２２】
〔３〕＜ペイロード信号を二重化（図８）＞
項１において、前記第１本体側ブリッジ回路は、前記第２本体側ブリッジ回路に前記ペイロード信号（ＰＲ）と前記制御信号（ＣｓＡＢ，ＣｓＢＡ）とを転送し、前記第１検査側ブリッジ回路は、検査用ペイロード信号（ＰＣ）と前記検査用制御信号（ＣｓＣＡＢ）を生成し、前記検査用ペイロード信号を前記第２検査側ブリッジ回路に転送する。
【００２３】
前記非同期転送回路は、前記第１クロックドメインで前記制御信号と前記検査用制御信号との前記比較を行い（２＿３）、不一致の場合には故障として検出する。
【００２４】
前記非同期転送回路は、前記制御信号を前記第２クロックドメインに転送する。
【００２５】
前記非同期転送回路は、前記第２クロックドメインに転送された前記制御信号に基づいて、前記第２本体側ブリッジ回路は前記ペイロード信号を受信（４＿Ｒ）し、前記第２検査側ブリッジ回路は前記検査用ペイロード信号を受信し（４＿Ｃ）、前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する。
【００２６】
これにより、非同期転送回路において、ペイロード信号が二重化され、信頼性を高めることができる。
【００２７】
〔４〕＜一定の時間差を保って実行される二重化方式（図９）＞
項３において、前記第１本体回路と前記第１検査回路とは、前記第１クロックドメインにおいて０サイクル以上の第１サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、前記第２本体回路と前記第２検査回路とは、前記第２クロックドメインにおいて０サイクル以上の第２サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
【００２８】
前記非同期転送回路は、前記第１クロックドメインにおいて前記第１サイクル数の時間差で、前記第１本体回路からの出力と前記第１検査回路からの出力とを比較し、不一致の場合には故障として検出する。前記制御信号と対応する前記検査用制御信号との比較（２＿３，２＿４）は、前記第１クロックドメインで前記第１サイクル数の時間差で行い、前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第２クロックドメインで前記第２サイクル数の時間差で行う。
【００２９】
これにより、項２と同様に、非同期転送回路においてペイロード信号が二重化され、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
【００３０】
〔５〕＜ペイロード信号と制御信号を二重化（図１０）＞
項１において、前記第１本体側ブリッジ回路は、前記第２本体側ブリッジ回路に前記ペイロード信号（ＰＲ）と前記制御信号（ＣｓＲＡＢ，ＣｓＲＢＡ）とを転送する。
【００３１】
前記第１検査側ブリッジ回路は、検査用ペイロード信号（ＰＣ）と前記検査用制御信号（ＣｓＣＡＢ，ＣｓＣＢＡ）を生成し、前記検査用ペイロード信号と前記検査用制御信号を前記第２検査側ブリッジ回路に転送する。
【００３２】
前記非同期転送回路は、前記第２クロックドメインで前記制御信号と前記検査用制御信号との間で１サイクルまでのずれを許容する比較を行い（２＿７）、不一致の場合には故障として検出する。
【００３３】
前記第２クロックドメインに転送された前記制御信号に基づいて、前記第２本体側ブリッジ回路は前記ペイロード信号を受信し（４＿Ｒ）、前記第２検査側ブリッジ回路は前記検査用ペイロード信号を受信する（４＿Ｃ）。前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する。
【００３４】
これにより、非同期転送回路において、ペイロード信号と制御信号がともに二重化され、信頼性を項３の場合よりも高めることができる。
【００３５】
〔６〕＜一定の時間差を保って実行される二重化方式（図１１）＞
項５において、前記第１本体回路と前記第１検査回路とは、前記第１クロックドメインにおいて０サイクル以上の第１サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、前記第２本体回路と前記第２検査回路とは、前記第２クロックドメインにおいて０サイクル以上の第２サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
【００３６】
前記非同期転送回路は、前記第１クロックドメインにおいて前記第１サイクル数の時間差で、前記第１本体回路からの出力と前記第１検査回路からの出力とを比較し、不一致の場合には故障として検出する。
【００３７】
前記制御信号と対応する前記検査用制御信号との比較は、前記第２クロックドメインで前記第２サイクル数にプラス／マイナス１サイクルの余裕を加えた時間差で行い、当該余裕を含む時間差以内で一致するときには一致とし、当該余裕の範囲内で不一致の場合に故障として検出する。前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第２クロックドメインで前記第２サイクル数の時間差で行う。
【００３８】
これにより、項２と同様に、非同期転送回路においてペイロード信号と制御信号がともに二重化され、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
【００３９】
〔７〕＜制御信号は３本の信号間で比較（図１０）＞
項５において、前記第２本体側ブリッジ回路は、前記ペイロード信号を受信する第２本体側フリップフロップ（４＿Ｒ）を有し、前記第２検査側ブリッジ回路は、前記検査用ペイロード信号を受信する第２検査側フリップフロップ（４＿Ｃ）を有する。
【００４０】
前記非同期転送回路は、以下の各信号の３者間の比較を行い（２＿７）、少なくともいずれか１つの信号が他の信号と不一致の場合には故障として検出する。各信号とは、前記制御信号に基づいて前記第２本体側フリップフロップに前記ペイロード信号の取り込みタイミングを与える信号（Ｎ４−１−１）と、前記制御信号に基づいて前記第２検査側フリップフロップに前記検査用ペイロード信号の取り込みタイミングを与える信号（Ｎ４−１−２）と、前記検査用制御信号（Ｎ４−２）である。
【００４１】
これにより、非同期転送回路において、ペイロード信号と検証ペイロード信号を取り込むために物理的に離間した制御信号がともに検査用制御信号と比較され、信頼性を項５の場合よりも高めることができる。
【００４２】
〔８〕＜一定の時間差を保って実行される二重化方式（図１１）＞
項７において、前記第１本体回路と前記第１検査回路とは、前記第１クロックドメインにおいて０サイクル以上の第１サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、前記第２本体回路と前記第２検査回路とは、前記第２クロックドメインにおいて０サイクル以上の第２サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
【００４３】
前記非同期転送回路は、前記第１クロックドメインにおいて前記第１サイクル数の時間差で、前記第１本体回路からの出力と前記第１検査回路からの出力とを比較し、不一致の場合には故障として検出する。
【００４４】
前記制御信号に基づいて前記第２本体側フリップフロップに前記ペイロード信号の取り込みタイミングを与える信号（Ｎ４−１−１）と対応する前記検査用制御信号（Ｎ４−２）との比較は、前記第２クロックドメインで前記第２サイクル数にプラス／マイナス１サイクルの余裕を加えた時間差で行う。当該余裕を含む時間差以内で一致するときには一致とし、当該余裕の範囲内で不一致の場合に故障として検出する。
【００４５】
前記制御信号に基づいて前記第２検査側フリップフロップに前記検査用ペイロード信号の取り込みタイミングを与える信号（Ｎ４−１−２）と対応する前記検査用制御信号（Ｎ４−２）との比較は、前記第２クロックドメインで行い、当プラス／マイナス１サイクルの時間差以内で一致するときには一致とし、プラス／マイナス１サイクルの範囲内で不一致の場合に故障として検出する。
【００４６】
前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第２クロックドメインで前記第２サイクル数の時間差で行う。
【００４７】
これにより、項２と同様に、非同期転送回路においてペイロード信号と制御信号がともに二重化され、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
【００４８】
〔９〕＜故障管理回路（EML: Error Management Logic）＞
項１から項８のうちのいずれか１項において、前記データ処理装置は、故障が検出されたことが通知される、故障管理回路（ＥＭＬ）をさらに備える。
【００４９】
これにより、各比較回路で検出された不一致の通知が、故障管理回路に集約され、故障検出に対応する処理（例えば、割り込み、リセットなど）を適切に発生させることができる。
【００５０】
〔１０〕＜デュアルＣＰＵ＋デュアルバスブリッジ＞
項１から項９のうちのいずれか１項に記載されるデータ処理装置において、前記第１本体回路と前記第１検査回路とは、それぞれ同一のプログラムを実行可能な同一の回路構成によるＣＰＵであり、前記第２本体回路と前記第２検査回路とは、それぞれ同一の回路構成によるバスブリッジである。
【００５１】
これにより、デュアルＣＰＵ＋デュアルバスブリッジを備えるマイクロコントローラにおいて、高性能と高信頼を両立させることができる。
【００５２】
〔１１〕＜１チップＬＳＩ（Large Scale Integrated circuit）＞
項１から項１０のうちのいずれか１項において、前記データ処理装置は、単一の半導体基板上に形成される。
【００５３】
これにより、デュアルＣＰＵ＋デュアルバスブリッジ等の非同期のクロックドメインでそれぞれ二重化された２組の回路対の間での非同期転送を可能とする、１チップＬＳＩが提供され、高性能と高信頼を両立させることができる。
【００５４】
〔１２〕＜二重化された回路から別の回路への非同期転送（図１４）＞
別の観点による実施の形態に係る半導体装置は、それぞれ二重化された２組の回路対とその間の非同期転送回路を備えるデータ処理装置（１０）であって、以下のように構成される。前記データ処理装置は、第１クロック（ＡＣＬＫ）に同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第１本体回路（ＬＲＡ）と第１検査回路（ＬＣＡ）とを備える。また、前記データ処理装置は、前記第１クロックとは非同期の第２クロック（ＢＣＬＫ）に同期して動作する第２回路（ＬＢ）と、前記第１本体回路及び前記第１検査回路と前記第２回路との間でペイロード信号の非同期転送を行う非同期転送回路（１）とを備える。
【００５５】
前記非同期転送回路は、前記第１クロックに同期して動作し前記第１本体回路及び前記第１検査回路と接続される第１ブリッジ回路（ＢＡ）と、前記第２クロックに同期して動作し前記第２回路と接続される第２ブリッジ回路（ＢＢ）とを備える。前記第１ブリッジ回路と前記第２ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号（ＣｓＡＢ，ＣｓＢＡ）とで互いに接続される。
【００５６】
前記第１ブリッジ回路は、前記第１本体回路との間の入出力信号を第１本体側ペイロード信号（ＰＲＡ）及び第１本体側非同期転送制御信号（ＣｓＲＡＢ，ＣｓＲＢＡ）に変換する第１本体側変換回路（ＢＲＡ）を備える。また、前記第１ブリッジ回路は、前記第１検査回路との間の入出力信号を第１検査側ペイロード信号（ＰＣＡ）及び第１検査側非同期転送制御信号（ＣｓＣＡＢ，ＣｓＣＢＡ）に変換する第１検査側変換回路（ＢＣＡ）を備える。
【００５７】
また、前記第１ブリッジ回路は、前記第１本体側非同期転送制御信号のうち前記第２ブリッジ回路に送出される出力信号（ＣｓＲＡＢ）と前記第１検査側非同期転送制御信号のうち対応する出力信号（ＣｓＣＡＢ）とを比較して不一致を検出する第１の比較回路（２＿３）とを備える。前記第１ブリッジ回路は、前記第１本体側非同期転送制御信号のうちの出力信号（ＣｓＲＡＢ）を前記非同期転送制御信号のうちの出力信号（ＣｓＡＢ）として前記第２ブリッジ回路に送出する。
【００５８】
前記第２ブリッジ回路は、前記第１ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号（ＣｓＡＢ）によって示されるタイミングで、前記ペイロード信号を受信し、前記第２回路に供給する。
【００５９】
これにより、二重化された回路と非同期で動作する回路（二重化されているか二重化されていないかは問わない）との間での非同期転送のうち、二重化された回路がペイロード信号を送信する場合において、非同期転送回路の一部である、第１本体側変換回路と第１検査側変換回路が二重化され、非同期転送回路の信頼性を高めることができ、全体として高性能と高信頼を両立させることができる。
【００６０】
〔１３〕＜二重化された回路への別の回路からの非同期転送（図１２、１３）＞
さらに別の観点による実施の形態に係る半導体装置は、それぞれ二重化された２組の回路対とその間の非同期転送回路を備えるデータ処理装置（１０）であって、以下のように構成される。前記データ処理装置は、第１クロック（ＢＣＬＫ）に同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第１本体回路（ＬＲＢ）と第１検査回路（ＬＣＢ）と、前記第１クロックとは非同期の第２クロック（ＡＣＬＫ）に同期して動作する第２回路（ＬＡ）とを備える。また、前記データ処理装置は、前記第１本体回路及び前記第１検査回路と前記第２回路との間でペイロード信号（Ｐ）の非同期転送を行う非同期転送回路（１）を備える。
【００６１】
前記非同期転送回路は、前記第１クロックに同期して動作し前記第１本体回路及び前記第１検査回路と接続される第１ブリッジ回路（ＢＢ）と、前記第２クロックに同期して動作し前記第２回路と接続される第２ブリッジ回路（ＢＡ）とを備え。前記第１ブリッジ回路と前記第２ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号（ＣｓＡＢ，ＣｓＢＡ）とで互いに接続される。
【００６２】
前記第１ブリッジ回路は、前記第１本体回路との間の入出力信号を第１本体側ペイロード信号（ＰＲＢ）及び第１本体側非同期転送制御信号（ＣｓＲＢＡ，ＣｓＲＡＢ）に変換する第１本体側変換回路（ＢＲＢ）を備える。また、前記第１ブリッジ回路は、前記第１検査回路との間の入出力信号を第１検査側ペイロード信号（ＰＣＢ）及び第１検査側非同期転送制御信号（ＣｓＣＢＡ，ＣｓＣＡＢ）に変換する第１検査側変換回路（ＢＣＢ）を備える。また、前記第１ブリッジ回路は、前記第１本体側非同期転送制御信号のうち前記第２ブリッジ回路に送出される出力信号（ＣｓＲＢＡ）と前記第１検査側非同期転送制御信号のうち対応する出力信号（ＣｓＣＢＡ）とを比較して不一致を検出する第２の比較回路（２＿４）を備える。
【００６３】
前記第１ブリッジ回路は、前記第２ブリッジ回路から転送される前記非同期転送制御信号のうちの入力信号（ＣｓＡＢ）によって示されるタイミングで、前記ペイロード信号を受信し、前記第１本体側変換回路を介して前記第１本体回路に、前記第１検査側変換回路を介して前記第１検査回路にそれぞれ供給する。
【００６４】
これにより、二重化された回路と非同期で動作する回路（二重化されているか二重化されていないかは問わない）との間での非同期転送のうち、二重化された回路がペイロード信号を受信する場合において、非同期転送回路の一部である、第１本体側変換回路と第１検査側変換回路が二重化され、非同期転送回路の信頼性を高めることができ、全体として高性能と高信頼を両立させることができる。
【００６５】
〔１４〕＜それぞれ二重化された２組の回路対間の非同期転送（図６〜１１）＞
項１２において、前記第２回路は、前記第２クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第２本体回路（ＬＲＢ）と第２検査回路（ＬＣＢ）とを含む。
【００６６】
前記第２ブリッジ回路は、前記第２本体回路との間の入出力信号を第２本体側ペイロード信号（ＰＲＢ）及び第２本体側非同期転送制御信号（ＣｓＲＡＢ，ＣｓＲＢＡ）に変換する第２本体側変換回路（ＢＲＢ）を備える。また、前記第２ブリッジ回路は、前記第２検査回路との間の入出力信号を第２検査側ペイロード信号（ＰＣＢ）及び第２検査側非同期転送制御信号（ＣｓＣＡＢ，ＣｓＣＢＡ）に変換する第２検査側変換回路（ＢＣＢ）を備える。
【００６７】
前記第２ブリッジ回路は、前記第１ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号（ＣｓＡＢ）によって示されるタイミングで、前記ペイロード信号を受信し、前記第２本体側変換回路を介して前記第２本体回路に、前記第２検査側変換回路を介して前記第２検査回路にそれぞれ供給する。
【００６８】
これにより、二重化された回路と非同期で動作する二重化されている回路との間での非同期転送において、項１と同様に、高性能と高信頼を両立させることができる。
【００６９】
〔１５〕＜ペイロード信号を二重化（図８、９）＞
項１２において、前記第２回路は、前記第２クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第２本体回路（ＬＲＢ）と第２検査回路（ＬＣＢ）とを含む。
【００７０】
前記第２ブリッジ回路は、前記第２本体回路との間の入出力信号を第２本体側ペイロード信号（ＰＲＢ）及び第２本体側非同期転送制御信号（ＣｓＲＡＢ，ＣｓＲＢＡ）に変換する第２本体側変換回路（ＢＲＢ）を備える。また、前記第２ブリッジ回路は、前記第２検査回路との間の入出力信号を第２検査側ペイロード信号（ＰＣＢ）及び第２検査側非同期転送制御信号（ＣｓＣＡＢ，ＣｓＣＢＡ）に変換する第２検査側変換回路（ＢＣＢ）を備える。
【００７１】
前記第１ブリッジ回路は、前記ペイロード信号に加えて検査用ペイロード信号（ＰＣ）を送信する。
【００７２】
前記第２ブリッジ回路において、前記第２本体側変換回路と前記第２検査側変換回路は、前記第１ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号（ＣｓＡＢ）によって示されるタイミングで、前記ペイロード信号をそれぞれ受信する。
【００７３】
これにより、二重化された回路と非同期で動作する二重化されている回路との間での非同期転送において、項３と同様に、高性能と高信頼を両立させることができる。
【００７４】
〔１６〕＜ペイロード信号と制御信号を二重化（図１０、１１）＞
項１２において、前記第２回路は、前記第２クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第２本体回路（ＬＲＢ）と第２検査回路（ＬＣＢ）とを含む。
【００７５】
前記第２ブリッジ回路は、前記第２本体回路との間の入出力信号を第２本体側ペイロード信号（ＰＲＢ）及び第２本体側非同期転送制御信号（ＣｓＲＡＢ，ＣｓＲＢＡ）に変換する第２本体側変換回路（ＢＲＢ）を備える。また、前記第２ブリッジ回路は、前記第２検査回路との間の入出力信号を第２検査側ペイロード信号（ＰＣＢ）及び第２検査側非同期転送制御信号（ＣｓＣＡＢ，ＣｓＣＢＡ）に変換する第２検査側変換回路（ＢＣＢ）を備える。
【００７６】
前記第１ブリッジ回路は、前記第１本体側非同期転送制御信号のうちの出力信号を前記非同期転送制御信号のうちの出力信号（ＣｓＲＡＢ）として前記第２ブリッジ回路に送出し、前記第１本体側ペイロード信号を前記ペイロード信号（ＰＲ）として前記第２ブリッジ回路に送出する。前記第１ブリッジ回路は、さらに、前記第１検査側非同期転送制御信号のうちの出力信号を前記検査用非同期転送制御信号（ＣｓＣＡＢ）として前記第２ブリッジ回路に送出し、前記第２検査側ペイロード信号を検査用ペイロード信号（ＰＣ）として前記第２ブリッジ回路に送出する。
【００７７】
前記第２ブリッジ回路は、前記非同期転送制御信号のうちの入力信号（ＣｓＲＡＢ）によって示されるタイミングで、前記ペイロード信号を受信して前記第２本体側ペイロード信号として、前記第２本体側変換回路に供給し、前記検査用ペイロード信号を受信して前記第２検査側ペイロード信号として、前記第２検査側変換回路に供給する。前記第２ブリッジ回路は、前記非同期転送制御信号のうちの入力信号（ＣｓＲＡＢ）と、前記検査用非同期転送制御信号のうちの入力信号（ＣｓＣＡＢ）とを比較する第３の比較回路（２＿７）を備える。
【００７８】
これにより、二重化された回路と非同期で動作する二重化されている回路との間での非同期転送において、項５と同様に、高性能と高信頼を両立させることができる。
【００７９】
〔１７〕＜非同期転送制御信号は３本の信号間で比較（図１０、１１）＞
項１６において、前記第３の比較回路は、前記非同期転送制御信号のうちの入力信号（ＣｓＲＡＢ）が前記第１本体側変換回路に供給されるノードの信号と、前記第２検査側変換回路に供給されるノードの信号と、前記検査用非同期転送制御信号のうちの入力信号（ＣｓＣＡＢ）とを比較し、少なくともいずれか１つの信号が他の信号と不一致であることを検出する。
【００８０】
データ処理装置。
【００８１】
これにより、非同期転送回路において、ペイロード信号と検証ペイロード信号を取り込むために物理的に離間した制御信号がともに検査用制御信号と比較され、信頼性を項１６の場合よりも高めることができる。
【００８２】
〔１８〕＜一定の時間差を保って実行される二重化方式（図７、９、１１）＞
項１２から項１７のうちのいずれか１項に記載されるデータ処理装置において、前記第１本体回路と前記第１検査回路は、同一の前記処理を前記第１クロックにおける０サイクル以上の所定のサイクル数の差を保って実行する。
【００８３】
これにより、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
【００８４】
〔１９〕＜故障管理回路（EML）＞
項１２から項１８のうちのいずれか１項において、前記データ処理装置は、前記全ての比較回路のうちのいずれかで不一致が発生したことが通知される、故障管理回路（ＥＭＬ）をさらに備える。
【００８５】
これにより、各比較回路で検出された不一致の通知が、故障管理回路に集約され、故障検出に対応する処理（例えば、割り込み、リセットなど）を適切に発生させることができる。
【００８６】
〔２０〕＜１チップＬＳＩ＞
項１２から項１９のうちのいずれか１項において、前記データ処理装置は、単一の半導体基板上に形成される。
【００８７】
これにより、デュアルＣＰＵ＋デュアルバスブリッジ等の非同期のクロックドメインでそれぞれ二重化された２組の回路対の間、または、デュアルバスブリッジ等の二重化された２回路対と二重化されていない周辺回路モジュール等の間の非同期転送を可能とする、１チップＬＳＩが提供され、高性能と高信頼を両立させることができる。
【００８８】
２．実施の形態の詳細
実施の形態について更に詳述する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
【００８９】
はじめに、解決しようとする課題についてさらに詳しく説明する。
【００９０】
図１は、二重化された回路対を含むデータ処理装置１０の構成例を示すブロック図である。データ処理装置１０には、二重化されていない通常の２個の論理回路７＿１と７＿２との間に、二重化された２個（１対）の論理回路ＬＲとＬＣとが含まれ、それらの出力を比較する比較回路２＿１と２＿２及び比較結果が不一致である場合にそれが通知される故障管理回路ＥＭＬ（Error Management Logic）が含まれる。図１に示されるデータ処理装置１０は、さらに、それぞれが所定段数のフリップフロップから成る、複数の遅延回路６＿１〜６＿４を含んで構成される。二重化された論理回路の一方である本体側回路ＬＲは「Reference」と呼ばれ「[R]」と略記され、他方の検査側回路ＬＣは「Checker」と呼ばれ「[C]」と略記される。なお、一部の信号線は複数の信号配線からなることを示すバス表記がされているが、単一の信号線についても同様の説明が妥当する。このことは本明細書全体を通して同様である。
【００９１】
一般に、二重化された回路対には、同一の入力が与えられ、同一の処理を並列に実行してそれぞれ得られる結果（出力）どうしが常に比較されているため、本体側回路ＬＲまたは検査側回路ＬＣに何らかの要因で動作不良が発生した場合に、それを故障として検出することができる。二重化されないブロックからの信号は本体側回路ＬＲと検査側回路ＬＣの両方に入力される。本体側回路ＬＲと検査側回路ＬＣの出力信号は本体側回路ＬＲのみが二重化されないブロックに接続され、検査側回路ＬＣ側出力は比較のためにのみ使われる。本体側回路ＬＲと検査側回路ＬＣの動作サイクルは、チップレイアウト上の制約（例えば、本体側回路ＬＲと検査側回路ＬＣに対して同じタイミングで信号を供給するのが困難な場合）や動作安全上の制約（例えば、動作エラーが本体側回路ＬＲと検査側回路ＬＣの両方で同時に起こることを避けたいという要求）から、意図的に１〜２サイクルずらすことが多い。この場合、動作をずらすための遅延回路（フリップフロップ）が使われる。二重化されていない回路から検査側回路ＬＣ側に入る信号と、本体側回路ＬＲから比較器に入る信号に、これらの遅延回路（フリップフロップ）が挿入される。
【００９２】
図１に示されるデータ処理装置１０では、論理回路７＿１から本体側回路ＬＲへの入力が遅延回路６＿１で所定のサイクル数だけ遅延されて検査側回路ＬＣに入力され、論理回路７＿２から本体側回路ＬＲへの入力も同様に、遅延回路６＿２で同じサイクル数だけ遅延されて検査側回路ＬＣに入力される。本体側回路ＬＲと検査側回路ＬＣは同じ回路であり、同じ処理を実行するが、入力が上記所定のサイクル数だけずれているので、処理の実行と結果の出力も同じサイクル数だけずれることとなる。本体側回路ＬＲから論理回路７＿１への出力は遅延回路６＿２で同じサイクル数だけ遅延されて比較回路２＿１に入力され、検査側回路ＬＣから論理回路７＿１への出力と比較され、本体側回路ＬＲから論理回路７＿２への出力は遅延回路６＿３で同じサイクル数だけ遅延されて比較回路２＿２に入力され、検査側回路ＬＣから論理回路７＿２への出力と比較される。比較回路２＿１と２＿２で検出された不一致は故障管理回路ＥＭＬに通知される。故障管理回路ＥＭＬは、割り込み処理やリセットなど、故障を検出した場合に実行すべき処理を起動する。
【００９３】
非同期転送について説明する。高速で動作するデータ処理回路間のデータ転送に、非同期ブリッジ（非同期転送回路）を使用することでクロックドメイン間を非同期として扱うことができ、両者の間のタイミングを考慮する必要がなくなる（組合せ回路の論理遅延に対してのケアをする必要がほぼなくなる）。このため、クロック周波数の高速化を見込むことができる。この技術は高速なクロックが必要な場合や、同期したクロックを使うことができない場合に使われる。ただし、タイミングについては全く考慮しないで良いわけではなく、制御信号間の遅延値のずれが一定時間におさまるような制約を設ける場合がほとんどである。
【００９４】
図２は、非同期転送回路１を備えるデータ処理装置１０の構成例を示すブロック図である。ＣＰＵクロックＣＰＵ−ＣＬＫに同期して動作するＣＰＵ７＿３と、バスクロックＢＵＳ−ＣＬＫに同期して動作するバス（ＢＵＳ）７＿４との間に、非同期転送回路（非同期ブリッジ）１を備える。非同期転送回路１は、ＣＰＵクロックＣＰＵ−ＣＬＫに同期して動作するＣＰＵ側ブリッジ回路ＢＡと、バスクロックＢＵＳ−ＣＬＫに同期して動作するバス側ブリッジ回路ＢＢとを含む。ＣＰＵ側ブリッジ回路ＢＡはＣＰＵ７＿３と例えばバスプロトコルで信号の授受を行っており、バス側ブリッジ回路ＢＢはバス７＿４と例えば同じ（または異なる）バスプロトコルで信号の授受を行っているものとする。ＣＰＵ側ブリッジ回路ＢＡからペイロード信号Ｐをバス側ブリッジ回路ＢＢに転送するとき、ペイロード信号Ｐが受信されるバス側ブリッジ回路ＢＢで安定するタイミングを示すための制御信号ＣｓＡＢとＣｓＢＡが送受される。ＣＰＵ側ブリッジ回路ＢＡから送信される制御信号ＣｓＡＢは、例えばペイロード信号Ｐが出力され、安定していることを示すバリッド（Valid）信号であり、バス側ブリッジ回路ＢＢから送信される制御信号ＣｓＢＡは、例えばペイロード信号Ｐを受信する準備が整ったことを示すレディ（Ready）信号である。一連のデータが送受されるときには、制御信号ＣｓＡＢとＣｓＢＡは、送信するデータのインデックスと受信したデータのインデックスをそれぞれ示す、ポインター（Pointer）であってもよい。ＣＰＵ側ブリッジ回路ＢＡから送信される制御信号ＣｓＡＢは、バスクロックＢＵＳ＿ＣＬＫドメインで動作するフリップフロップ３＿ＡＢで受信され、ペイロード信号Ｐの取り込みタイミングを生成する組合せ回路５を経てフリップフロップ４に供給される。フリップフロップ３＿ＡＢは、非同期信号のメタステーブル抑止のためのフリップフロップであり、２段またはそれ以上の段数のフリップフロップで構成される。この取り込みタイミングは、ペイロード信号ＰがバスクロックＢＵＳ＿ＣＬＫに対して安定しているタイミングを保証するものである。フリップフロップ３＿ＢＡも、非同期信号のメタステーブル抑止のためのフリップフロップであり、２段またはそれ以上の段数のフリップフロップで構成される。フリップフロップ３＿ＢＡはバス側ブリッジ回路ＢＢから送信される制御信号ＣｓＢＡをＣＰＵ側ブリッジ回路ＢＡで受信する。制御信号ＣｓＡＢとＣｓＢＡは、必ずしも双方向である必要はない。例えば、ペイロードＰが送出される周期が一定間隔以上であることが保証される場合には、ＣｓＡＢとしてＶａｌｉｄ信号のみを使って良いし、ＣｓＢＡとしてＲｅａｄｙ信号のみを使ってもよい。図２には、ペイロード信号がＣＰＵ側からバス側に転送される場合のみが示されるが、逆方向の非同期転送回路も同様に構成することができる。これらの事項は、実施形態１に限らず全ての実施形態にも同様に妥当する。
【００９５】
非同期転送を含むデータ処理回路を、安全性の観点から二重化する場合について検討する。
【００９６】
図３は、それぞれが二重化された２組の回路対の間に、図２に示される非同期転送回路を備えたデータ処理装置の構成例（比較例）を示すブロック図である。
【００９７】
本体側[R]においては、互いに非同期のクロックＡＣＬＫとＢＣＬＫにそれぞれ同期して動作するＡＣＬＫ側本体回路ＬＲＡとＢＣＬＫ側本体回路ＬＲＢとが、ＡＣＬＫ側ブリッジ回路ＢＲＡとＢＣＬＫ側ブリッジ回路ＢＲＢとで構成される非同期転送回路で互いに接続されている。ブリッジ回路ＢＲＡは制御信号ＣｓＲＡＢとペイロード信号ＰＲを送出し、ブリッジ回路ＢＲＢは制御信号ＣｓＲＡＢをフリップフロップ２＿ＲＡＢで受信し、組合せ回路５＿Ｒによって生成されたタイミング信号によりペイロード信号ＰＲをフリップフロップ４＿Ｒに取り込む。ブリッジ回路ＢＲＢは制御信号ＣｓＲＢＡを送出し、ブリッジ回路ＢＲＡは制御信号ＣｓＲＢＡをフリップフロップ３＿ＲＢＡで受信する。
【００９８】
検査側[C]においては、互いに非同期のクロックＡＣＬＫとＢＣＬＫにそれぞれ同期して動作するＡＣＬＫ側検査回路ＬＣＡとＢＣＬＫ側検査回路ＬＣＢとが、ＡＣＬＫ側ブリッジ回路ＢＣＡとＢＣＬＫ側ブリッジ回路ＢＣＢとで構成される非同期転送回路で互いに接続されている。ブリッジ回路ＢＣＡは制御信号ＣｓＣＡＢとペイロード信号ＰＣを送出し、ブリッジ回路ＢＣＢは制御信号ＣｓＣＡＢをフリップフロップ２＿ＣＡＢで受信し、組合せ回路５＿Ｃによって生成されたタイミング信号によりペイロード信号ＰＣをフリップフロップ４＿Ｃに取り込む。ブリッジ回路ＢＣＢは制御信号ＣｓＣＢＡを送出し、ブリッジ回路ＢＣＡは制御信号ＣｓＣＢＡをフリップフロップ３＿ＣＢＡで受信する。
【００９９】
ＡＣＬＫ側の本体回路ＬＲＡと検査回路ＬＣＡは、例えば図１に示されるように二重化されており、図示は省略されているが、不一致を検出する比較回路が設けられている。ＢＣＬＫ側の本体回路ＬＲＢと検査回路ＬＣＢも同様に二重化されており、図示は省略されているが、不一致を検出する比較回路が設けられている。
【０１００】
制御信号ＣｓＲＡＢ，ＣｓＲＢＡ，ＣｓＣＡＢ，ＣｓＣＢＡとペイロード信号ＰＲ，ＰＣがＡＣＬＫドメインとＢＣＬＫドメインとの間で非同期転送される信号である。両者のクロック（ＡＣＬＫとＢＣＬＫ）は非同期であり、両者の信号間でのタイミングは考慮されないため、本体側[R]と検査側[C]との間で動きがずれてしまう場合がある。制御信号ＣｓＲＡＢとＣｓＣＡＢは、ＡＣＬＫドメインから送出されるので、ＡＣＬＫについてみれば同一のクロックサイクルにおける信号状態やデータは故障がなければ互いに同一である。ペイロード信号ＰＲとＰＣについても同様に、ＡＣＬＫドメインから送出されるので、ＡＣＬＫについてみれば同一のクロックサイクルにおける信号状態やデータは故障がなければ互いに同一である。しかし、制御信号ＣｓＲＡＢがフリップフロップ３＿ＲＡＢによってＢＣＬＫドメインに取り込まれるタイミングと、制御信号ＣｓＣＡＢがフリップフロップ３＿ＣＡＢによってＢＣＬＫドメインに取り込まれるタイミングとは、ＢＣＬＫドメインにおける同一サイクルとは限らない。非同期転送では、ＡＣＬＫとＢＣＬＫの位相差が任意であるためである。制御信号ＣｓＲＡＢとＣｓＣＡＢがＢＣＬＫドメインに取り込まれたタイミングが互いに異なると、ペイロード信号ＰＲとＰＣについても取り込まれるタイミングが互いに異なることとなる。このため、受信したＢＣＬＫドメインで二重化されている本体回路ＬＲＢと検査回路ＬＣＢには、本来同じデータが同じサイクル（又は所定のサイクル数の時間差）で供給されることが期待されるところ、実際に供給されるサイクルにずれが生じてしまい、それに伴って出力にもずれが生じ、その比較結果は不一致となる。
【０１０１】
このように、非同期転送回路を含む回路対を単純に二重化しただけでは、本体側[R]と検査側[C]とも論理的に動作に問題がない即ち故障がない場合でも、両者の動きが異なり比較エラーを検出してしまう可能性がある。
【０１０２】
〔実施形態１〕＜それぞれ二重化された２組の回路対間の非同期転送＞
図４は、実施形態１のデータ処理装置１０の構成例を示すブロック図である。上記の課題を解決するために、データ処理装置１０は、ＡＣＬＫドメインにおける本体側[RA]と検査側[CA]の二重化とＢＣＬＫドメインにおける本体側[RB]と検査側[CB]の二重化とをそれぞれ行うが、非同期転送回路の一部は二重化の対象外としている。即ち、ＡＣＬＫドメインにおける本体側[RA]は本体回路ＬＲＡと本体側ブリッジ回路ＢＲＡよりなり、検査側[CA]は検査回路ＬＣＡと検査側ブリッジ回路ＢＣＡよりなる。ＢＣＬＫドメインにおける本体側[RB]は本体回路ＬＲＢと本体側ブリッジ回路ＢＲＢよりなり、検査側[CB]は検査回路ＬＣＢと検査側ブリッジ回路ＢＣＢよりなる。非同期転送回路１は、本体側[RA]と検査側[CA]に含まれ二重化された本体側ブリッジ回路ＢＲＡと検査側ブリッジ回路ＢＣＡと、本体側[RB]と検査側[CB]に含まれ二重化された本体側ブリッジ回路ＢＲＢと検査側ブリッジ回路ＢＣＢと、二重化の対象外であるフリップフロップ３＿ＡＢと３＿ＢＡと４、組合せ回路５、及び比較回路２＿３と２＿４と２＿５を含んで構成される。
【０１０３】
ＡＣＬＫドメインにおいて、本体側ブリッジ回路ＢＲＡは制御信号ＣｓＲＡＢとペイロード信号ＰＲＡを出力し、検査側ブリッジ回路ＢＣＡは制御信号ＣｓＣＡＢとペイロード信号ＰＣＡを出力し、比較回路２＿３は制御信号ＣｓＲＡＢとＣｓＣＡＢとを比較し、比較回路２＿５はペイロード信号ＰＲＡとＰＣＡとを比較する。同一のクロックドメインであるから、故障がない限り不一致は検出されない。ＡＣＬＫドメインからは、制御信号ＣｓＲＡＢが二重化されない制御信号ＣｓＡＢとして送出され、ペイロード信号ＰＲＡが二重化されないペイロード信号Ｐとして送出される。
【０１０４】
ＢＣＬＫドメインでは、二重化されていないフリップフロップ３＿ＡＢによって制御信号ＣｓＡＢが取り込まれ、組合せ回路５によって規定されるタイミングによって、フリップフロップ４がペイロード信号Ｐを取り込む。ＢＣＬＫドメインに取り込まれた制御信号ＣｓＡＢとペイロード信号Ｐは、ＣｓＲＡＢとＰＲＢとして本体側ブリッジ回路ＢＲＢに入力され、ＣｓＣＡＢとＰＣＢとして検査側ブリッジ回路ＢＣＢに入力されるが、取り込み回路が二重化されていないので、サイクルずれは原理的に発生しない。
【０１０５】
ＢＣＬＫドメインにおいて、本体側ブリッジ回路ＢＲＢは制御信号ＣｓＲＢＡを出力し、検査側ブリッジ回路ＢＣＢは制御信号ＣｓＣＢＡを出力し、比較回路２＿４は制御信号ＣｓＲＢＡとＣｓＣＢＡとを比較する。上述のように入力された制御信号ＣｓＲＡＢとＣｓＣＡＢ、ペイロード信号ＰＲＢとＰＣＢにそれぞれサイクルずれが発生しないので、故障がない限り不一致は検出されない。ＢＣＬＫドメインからは、制御信号ＣｓＲＢＡが二重化されない制御信号ＣｓＢＡとして送出される。ＡＣＬＫドメインでは、二重化されていないフリップフロップ３＿ＢＡによって制御信号ＣｓＢＡが取り込まれ、ＣｓＲＢＡとＣｓＣＢＡとして、本体側ブリッジ回路ＢＲＡと検査側ブリッジ回路ＢＣＡにそれぞれ入力される。
【０１０６】
以上述べてきたように、ＡＣＬＫドメインにおける本体側[RA]と検査側[CA]と、ＢＣＬＫドメインにおける本体側[RB]と検査側[CB]とは、それぞれ前述のようなタイミングずれを起こすことなく二重化される。二重可能対象外とされる回路は、フリップフロップ３＿ＡＢと３＿ＢＡとフリップフロップ４、及び組合せ回路５であり、二重化された回路の規模と比較して極めて小さいので、これらを二重化の対象外としたことによる故障検出率の低下は極めて限定的である。これにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。
【０１０７】
以上の説明では、ＡＣＬＫドメインからＢＣＬＫドメインへの転送についてのみ説明したが、逆方向の非同期転送についても同様に構成することができ、同様の効果を奏することができる。
【０１０８】
＜デュアルＣＰＵ＋デュアルバスブリッジ＞
図５は、二重化されたＣＰＵとバスを含むデータ処理装置の構成例を示すブロック図である。データ処理装置１０は、本体側[RA]のＣＰＵ−ＲＡ（ＬＲＡ＿１）とバス−ＲＡ（ＢＵＳ−ＲＡ）、検査側[CA]のＣＰＵ−ＣＡ（ＬＣＡ＿１）とバス−ＣＡ（ＢＵＳ−ＣＡ）、比較回路２＿６、故障管理回路ＥＭＬ、及び、二重化されていない他の論理回路７＿５を備える。他の論理回路７＿５とは、例えばメモリや周辺回路モジュールなどである。論理回路７＿５からの入力はバス−ＲＡ（ＢＵＳ−ＲＡ）とバス−ＣＡ（ＢＵＳ−ＣＡ）を介して並行してＣＰＵ−ＲＡ（ＬＲＡ＿１）とＣＰＵ−ＣＡ（ＬＣＡ＿１）とに同一の入力データとして入力される。ＣＰＵ−ＲＡ（ＬＲＡ＿１）とＣＰＵ−ＣＡ（ＬＣＡ＿１）とは同一の処理を実行しており、故障などがなければ同じ処理結果が出力される。比較回路２＿６は、バス−ＲＡ（ＢＵＳ−ＲＡ）の出力とバス−ＣＡ（ＢＵＳ−ＣＡ）の出力とを比較し、不一致の場合には本体側[RA]または検査側[CA]のどちらか一方または両方に故障が発生したものとして、故障管理回路ＥＭＬに通知する。故障管理回路ＥＭＬは割り込みやリセットなど、故障に対応して予め決められた処理を起動する。図５には全体がＡＣＬＫドメインで同期動作するデータ処理装置１０が示されている。同一のデータが同時に入力された二重化されたＣＰＵとバスは、同時に並列して同じ処理を実行し、同時に同じ処理結果を出力することが期待される。このため、比較回路２＿６はバス−ＲＡ（ＢＵＳ−ＲＡ）の出力とバス−ＣＡ（ＢＵＳ−ＣＡ）の出力との比較を毎サイクル常に行うことによって、単発的な故障も検出することができる。なお、本体側[RA]と検査側[CA]の動作は、図１を引用して説明したように意図的に所定のサイクル数だけずれて同一の処理を実行するように構成してもよい。
【０１０９】
全てがＡＣＬＫドメインで動作するために、上述のように、処理結果の比較のタイミング制御は容易であり、比較回路２＿６を毎サイクル常に動作させることにより、常時、故障を監視することができる。一方、ＣＰＵとバスとを同じクロックドメインで同期動作させるためには、どちらか低い方の性能限界に合せることとなるため、全体の動作周波数が制限されることとなる。
【０１１０】
図６は、実施形態１の一例として、非同期で動作するＣＰＵとバスがそれぞれ二重化されたデータ処理装置１０の構成例を示すブロック図である。データ処理装置１０は、図５に示したデータ処理装置と同様に、本体側[RA]のＣＰＵ−ＲＡ（ＬＲＡ＿１）とバス−ＲＡ（ＢＵＳ−ＲＡ）、検査側[CA]のＣＰＵ−ＣＡ（ＬＣＡ＿１）とバス−ＣＡ（ＢＵＳ−ＣＡ）、比較回路２＿６、故障管理回路ＥＭＬ、及び、例えばメモリや周辺回路モジュールなどの二重化されていない他の論理回路７＿５を備える。比較回路２＿６は、バス−ＲＡ（ＢＵＳ−ＲＡ）の出力とバス−ＣＡ（ＢＵＳ−ＣＡ）の出力とを比較し、不一致の場合には本体側[RA]または検査側[CA]のどちらか一方または両方に故障が発生したものとして、故障管理回路ＥＭＬに通知する。本実施形態１のデータ処理装置１０は、本体側[RA]のＣＰＵ−ＲＡ（ＬＲＡ＿１）と検査側[CA]のＣＰＵ−ＣＡ（ＬＣＡ＿１）とをＡＣＬＫドメインにおいて二重化し、本体側[RB]のバス−ＲＡ（ＢＵＳ−ＲＡ）と検査側[CB]のバス−ＣＡ（ＢＵＳ−ＣＡ）とをＢＣＬＫドメインにおいて二重化し、ＡＣＬＫドメインとＢＣＬＫドメインの界面に非同期転送回路１を備える。
【０１１１】
非同期転送回路１は、ＡＣＬＫドメインで二重化された本体側ブリッジ回路ＢＲＡと検査側ブリッジ回路ＢＣＡと、ＢＣＬＫドメインで二重化された本体側ブリッジ回路ＢＲＡと検査側ブリッジ回路ＢＣＡと、二重化の対象外であるフリップフロップ３＿ＡＢと３＿ＢＡとフリップフロップ４、組合せ回路５、及び比較回路２＿３と２＿４と２＿５を含んで構成される。ＡＣＬＫドメインにおいて、本体側ブリッジ回路ＢＲＡは本体側[RA]のＣＰＵ−ＲＡ（ＬＲＡ＿１）と接続され、検査側ブリッジ回路ＢＣＡは検査側[CA]のＣＰＵ−ＣＡ（ＬＣＡ＿１）と接続され、二重化されて、例えば所定のバスプロトコルに準拠してデータ等の入出力を行う。ＢＣＬＫドメインにおいて、本体側ブリッジ回路ＢＲＢは本体側[RB]のＢＵＳ−ＲＢ（ＬＲＢ）と接続され、検査側ブリッジ回路ＢＣＢは検査側[CB]のＢＵＳ−ＣＡ（ＬＣＢ）と接続され、二重化されて、例えば所定のバスプロトコルに準拠してデータ等の入出力を行う。
【０１１２】
ＡＣＬＫドメインにおいて、本体側ブリッジ回路ＢＲＡは制御信号ＣｓＲＡＢとペイロード信号ＰＲＡを出力し、検査側ブリッジ回路ＢＣＡは制御信号ＣｓＣＡＢとペイロード信号ＰＣＡを出力し、比較回路２＿３は制御信号ＣｓＲＡＢとＣｓＣＡＢとを比較し、比較回路２＿５はペイロード信号ＰＲＡとＰＣＡとを比較する。同一のクロックドメインであるから、故障がない限り不一致は検出されない。ＡＣＬＫドメインからは、制御信号ＣｓＲＡＢが二重化されない制御信号ＣｓＡＢとして送出され、ペイロード信号ＰＲＡが二重化されないペイロード信号Ｐとして送出される。
【０１１３】
ＢＣＬＫドメインでは、二重化されていないフリップフロップ３＿ＡＢによって制御信号ＣｓＡＢが取り込まれ、組合せ回路５によって規定されるタイミングによって、フリップフロップ４がペイロード信号Ｐを取り込む。ＢＣＬＫドメインに取り込まれた制御信号ＣｓＡＢとペイロード信号Ｐは、ＣｓＲＡＢとＰＲＢとして本体側ブリッジ回路ＢＲＢに入力され、ＣｓＣＡＢとＰＣＢとして検査側ブリッジ回路ＢＣＢに入力されるが、取り込み回路が二重化されていないので、サイクルずれは原理的に発生しない。
【０１１４】
ＢＣＬＫドメインにおいて、本体側ブリッジ回路ＢＲＢは制御信号ＣｓＲＡＢを出力し、検査側ブリッジ回路ＢＣＢは制御信号ＣｓＣＡＢを出力し、比較回路２＿４は制御信号ＣｓＲＡＢとＣｓＣＡＢとを比較する。上述のように入力された制御信号ＣｓＲＡＢとＣｓＣＡＢ、ペイロード信号ＰＲＢとＰＣＢにそれぞれサイクルずれが発生しないので、故障がない限り不一致は検出されない。ＢＣＬＫドメインからは、制御信号ＣｓＲＢＡが二重化されない制御信号ＣｓＢＡとして送出される。ＡＣＬＫドメインでは、二重化されていないフリップフロップ３＿ＢＡによって制御信号ＣｓＢＡが取り込まれ、ＣｓＲＢＡとＣｓＣＢＡとして、本体側ブリッジ回路ＢＲＡと検査側ブリッジ回路ＢＣＡにそれぞれ入力される。
【０１１５】
各比較回路２＿３、２＿４、２＿５及び２＿６からの不一致の通知は、故障管理回路ＥＭＬに集約され、少なくともいずれか１ヵ所から不一致が通知されたときには、故障管理回路ＥＭＬは検出された故障に対応するための処理、例えば割り込みやリセットなどを適切に発生させることができる。
【０１１６】
以上述べてきたように、ＡＣＬＫドメインにおける本体側[RA]ＣＰＵ−ＲＡ（ＬＲＡ＿１）と検査側[CA]ＣＰＵ−ＣＡ（ＬＣＡ＿１）と、ＢＣＬＫドメインにおける本体側[RB]ＢＵＳ−ＲＢ（ＬＲＢ）と検査側[CB]ＢＵＳ−ＣＡ（ＬＣＢ）とは、それぞれ前述のようなタイミングずれを起こすことなく二重化される。これにより、デュアルＣＰＵ＋デュアルバスブリッジを備えるマイクロコントローラにおいて、高性能と高信頼を両立させることができる。
【０１１７】
特に制限されないが、データ処理装置１０は、例えば、公知のＣＭＯＳ（Complementary Metal-Oxide-Semiconductor field effect transistor）ＬＳＩの製造技術を用いて、シリコンなどの単一半導体基板上に形成される。
【０１１８】
これにより、デュアルＣＰＵ＋デュアルバスブリッジ等の非同期のクロックドメインでそれぞれ二重化された２組の回路対の間での非同期転送を可能とする、１チップＬＳＩが提供され、高性能と高信頼を両立させることができる。
【０１１９】
＜一定の時間差を保って実行される二重化方式＞
図１を引用して説明したように、二重化された本体側[RA][RB]と検査側[CA][CB]の回路、即ち、回路ＬＲＡとＬＣＡ，ＬＲＢとＬＣＢ、ＣＰＵ−ＲＡ（ＬＲＡ＿１）、ＣＰＵ−ＣＡ（ＬＣＡ＿１）、とＢＵＳ−ＲＢ（ＬＲＢ）やＢＵＳ−ＣＢ（ＬＣＢ）の動作は、同時、即ち同じクロックサイクルではなく、意図的に１〜２サイクルずらすことが多い。
【０１２０】
図７は、実施形態１のデータ処理装置１０に含まれる非同期転送回路１の別の構成例を示すブロック図である。図７には非同期転送回路１のみの構成例が示されており、図４、図６に示されるデータ処理装置１０に搭載される非同期転送回路１を置き換えることができる。非同期転送回路１は、ＡＣＬＫドメインで二重化されている本体[RA]側ブリッジ回路ＢＲＡと検査[CA]側ブリッジ回路ＢＣＡと、ＢＣＬＫドメインで二重化されている本体[RB]側ブリッジ回路ＢＲＢと検査[CB]側ブリッジ回路ＢＣＢと、二重化の対象外であるフリップフロップ３＿ＡＢと３＿ＢＡと４、組合せ回路５、及び比較回路２＿３と２＿４と２＿５を含む。これらの構成と動作は図４、図６に示される非同期転送回路１と同様であるので、説明を省略する。図７に示される別の構成例の非同期転送回路１は、さらに遅延回路６＿５〜６＿１０を備える。
【０１２１】
ＡＣＬＫドメインにおいて、遅延回路６＿５は本体[RA]側ブリッジ回路ＢＲＡから出力される制御信号ＣｓＲＡＢに挿入されており、所定サイクル数の遅延を加えて比較回路２＿３に入力する。遅延回路６＿６はＢＣＬＫドメインから転送されフリップフロップ３＿ＢＡで受信した制御信号ＣｓＲＢＡに挿入されており、所定サイクル数の遅延を加えて制御信号ＣｓＣＢＡとして検査[CA]側ブリッジ回路ＢＲＡに入力する。遅延回路６＿７は本体[RA]側ブリッジ回路ＢＲＡから出力されるペイロード信号ＰＲＡに挿入されており、所定サイクル数の遅延を加えて比較回路２＿５に入力する。
【０１２２】
ＢＣＬＫドメインにおいて、遅延回路６＿８は本体[RB]側ブリッジ回路ＢＲＢから出力される制御信号ＣｓＲＢＡに挿入されており、所定サイクル数の遅延を加えて比較回路２＿４に入力する。遅延回路６＿９はＡＣＬＫドメインから転送されフリップフロップ３＿ＡＢで受信した制御信号ＣｓＲＡＢに挿入されており、所定サイクル数の遅延を加えて制御信号ＣｓＣＡＢとして検査[CB]側ブリッジ回路ＢＲＢに入力する。遅延回路６＿１０はＡＣＬＫドメインから転送されフリップフロップ４で受信したペイロード信号に挿入されており、所定サイクル数の遅延を加えてペイロード信号ＰＣＢとして検査[CB]側ブリッジ回路ＢＲＢに入力する。
【０１２３】
遅延回路６＿５〜６＿７は、それぞれ１〜数段のフリップフロップで構成することができ、ＡＣＬＫドメインにおいて検査[CA]側回路及びブリッジ回路ＢＣＡの動作を、本体[RA]側回路及びブリッジ回路ＢＲＡの動作に対して一律に１〜数クロックサイクル遅延させる。遅延回路６＿８〜６＿１０は、それぞれ１〜数段のフリップフロップで構成することができ、ＢＣＬＫドメインにおいて検査[CB]側回路及びブリッジ回路ＢＣＢの動作を、本体[RB]側回路及びブリッジ回路ＢＲＢの動作に対して一律に１〜数クロックサイクル遅延させる。遅延回路６＿５〜６＿７による遅延量（サイクル数）と遅延回路６＿８〜６＿１０による遅延量（サイクル数）とは同じである必要はない。
【０１２４】
これにより、同一のデータ処理が一定の時間差（サイクル数）を保って実行される二重化方式においても、適切に故障を検出することができ、信頼性を向上することができる。本体[RA]側回路と検査[CB]側回路の動作が同時ではないので、本体[RA]側回路と検査[CB]側回路に同時に影響を与える外来雑音が混入した場合にも、その時点で実行している処理は互いに異なるから、雑音によって処理結果に誤りが生じる場合にも誤り方が異なるため、より的確に故障を検出することができる。
【０１２５】
〔実施形態２〕＜ペイロード信号を二重化＞
実施形態１では、非同期転送回路１内のＡＣＬＫドメインとＢＣＬＫドメインの界面において、制御信号ＣｓＡＢとＣｓＢＡ及びペイロード信号Ｐを二重化しないことにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送を可能とした。本実施形態２では、非同期転送回路１内のＡＣＬＫドメインとＢＣＬＫドメインの界面において、ペイロード信号Ｐを二重化することにより、より信頼性を向上させる。
【０１２６】
図８は、実施形態２のデータ処理装置１０に含まれる非同期転送回路１の構成例を示すブロック図である。非同期転送回路１は、ＡＣＬＫドメインで二重化されている本体[RA]側ブリッジ回路ＢＲＡと検査[CA]側ブリッジ回路ＢＣＡと、ＢＣＬＫドメインで二重化されている本体[RB]側ブリッジ回路ＢＲＢと検査[CB]側ブリッジ回路ＢＣＢと、二重化の対象外であるフリップフロップ３＿ＡＢと３＿ＢＡ、及び比較回路２＿３と２＿４を含む。これらの構成と動作は図４、図６に示される非同期転送回路１と同様であるので、説明を省略する。図８に示される実施形態２の非同期転送回路１は、フリップフロップ４＿Ｒと組合せ回路５＿Ｒ、フリップフロップ４＿Ｃと組合せ回路５＿Ｃとが、本体[RB]側ブリッジ回路ＢＲＢと検査[CB]側ブリッジ回路ＢＣＢとにそれぞれ含まれ、ＢＣＬＫドメインで二重化されている。フリップフロップ３＿ＡＢによってＢＣＬＫドメインに転送された制御信号ＣｓＡＢは、同じ値のまま本体[RB]側ブリッジ回路ＢＲＢの組合せ回路５＿Ｒと検査[CB]側ブリッジ回路ＢＣＢの組合せ回路５＿Ｃとにそれぞれ入力される。組合せ回路５＿Ｒと組合せ回路５＿Ｃとは故障がない限り同じ動作を行って、二重化されて転送されて来るペイロード信号ＰＲとＰＣを、それぞれフリップフロップ４＿Ｒと４＿Ｃでそれぞれ取り込む。ペイロード信号ＰＲとＰＣはＡＣＬＫドメインで二重化されている、本体[RA]側回路ＬＲＡと検査[CA]側回ＬＣＡとからそれぞれ、ブリッジ回路ＢＲＡとブリッジ回路ＢＣＡを介して出力されており、故障がない限り同じ値であるので、フリップフロップ４＿Ｒと４＿Ｃでそれぞれ取り込まれたペイロード信号も、同じ値であるものと期待される。
【０１２７】
以上説明した通り、本実施形態２では、非同期転送回路１内のＡＣＬＫドメインとＢＣＬＫドメインの界面において、ペイロード信号ＰをＰＲとＰＣに二重化し、合せてその取り込み回路であるフリップフロップ４＿Ｒと４＿Ｃ、組合せ回路５＿Ｒと５＿Ｃとをそれぞれ二重化することにより、より信頼性を向上することができる。
【０１２８】
＜一定の時間差を保って実行される二重化方式＞
図９は、実施形態２のデータ処理装置１０に含まれる非同期転送回路１の別の構成例を示すブロック図である。非同期転送回路１は、ＡＣＬＫドメインで二重化されている本体[RA]側ブリッジ回路ＢＲＡと検査[CA]側ブリッジ回路ＢＣＡと、ＢＣＬＫドメインで二重化されている本体[RB]側ブリッジ回路ＢＲＢと検査[CB]側ブリッジ回路ＢＣＢと、二重化の対象外であるフリップフロップ３＿ＡＢと３＿ＢＡ、及び比較回路２＿３と２＿４を含む。さらに、フリップフロップ４＿Ｒと組合せ回路５＿Ｒ、フリップフロップ４＿Ｃと組合せ回路５＿Ｃとが、本体[RB]側ブリッジ回路ＢＲＢと検査[CB]側ブリッジ回路ＢＣＢとにそれぞれ含まれ、ＢＣＬＫドメインで二重化されている。これらの構成と動作は図８に示される非同期転送回路１と同様であるので、説明を省略する。図９に示される別の構成例の非同期転送回路１は、さらに遅延回路６＿５、６＿６、６＿８及び６＿９を備える。
【０１２９】
ＡＣＬＫドメインにおいて、遅延回路６＿５は本体[RA]側ブリッジ回路ＢＲＡから出力される制御信号ＣｓＲＡＢに挿入されており、所定サイクル数の遅延を加えて比較回路２＿３に入力する。遅延回路６＿６はＢＣＬＫドメインから転送されフリップフロップ３＿ＢＡで受信した制御信号ＣｓＲＢＡに挿入されており、当該所定サイクル数の遅延を加えて制御信号ＣｓＣＢＡとして検査[CA]側ブリッジ回路ＢＲＡに入力する。
【０１３０】
ＢＣＬＫドメインにおいて、遅延回路６＿８は本体[RB]側ブリッジ回路ＢＲＢから出力される制御信号ＣｓＲＢＡに挿入されており、所定サイクル数の遅延を加えて比較回路２＿４に入力する。遅延回路６＿９はＡＣＬＫドメインから転送されフリップフロップ３＿ＡＢで受信した制御信号ＣｓＲＡＢに挿入されており、当該所定サイクル数の遅延を加えて制御信号ＣｓＣＡＢとして検査[CB]側ブリッジ回路ＢＲＢに入力する。
【０１３１】
遅延回路６＿５〜６＿６は、それぞれ１〜数段のフリップフロップで構成することができ、ＡＣＬＫドメインにおいて検査[CA]側回路及びブリッジ回路ＢＣＡの動作を、本体[RA]側回路及びブリッジ回路ＢＲＡの動作に対して一律に１〜数クロックサイクル遅延させる。遅延回路６＿８〜６＿９は、それぞれ１〜数段のフリップフロップで構成することができ、ＢＣＬＫドメインにおいて検査[CB]側回路及びブリッジ回路ＢＣＢの動作を、本体[RB]側回路及びブリッジ回路ＢＲＢの動作に対して一律に１〜数クロックサイクル遅延させる。遅延回路６＿５〜６＿６による遅延量（サイクル数）と遅延回路６＿８〜６＿９による遅延量（サイクル数）とは同じである必要はない。
【０１３２】
これにより、本実施形態２に示すようにペイロード信号ＰＲとＰＣを二重化したデータ処理装置１０においても、同一のデータ処理が一定の時間差（サイクル数）を保って実行される二重化方式を適用して、信頼性を向上することができる。
【０１３３】
〔実施形態３〕＜ペイロード信号と制御信号を二重化＞
実施形態１では、非同期転送回路１内のＡＣＬＫドメインとＢＣＬＫドメインの界面において、制御信号ＣｓＡＢとＣｓＢＡ及びペイロード信号Ｐを二重化しないことにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送を可能とした。実施形態２では、非同期転送回路１内のＡＣＬＫドメインとＢＣＬＫドメインの界面において、ペイロード信号Ｐを二重化することにより、信頼性をより向上させた。本実施形態３では、さらに制御信号ＣｓＡＢ，ＣｓＢＡも二重化することにより、信頼性をより向上させる。
【０１３４】
図１０は、実施形態３のデータ処理装置１０に含まれる非同期転送回路１の構成例を示すブロック図である。非同期転送回路１は、ＡＣＬＫドメインで二重化されている本体[RA]側ブリッジ回路ＢＲＡと検査[CA]側ブリッジ回路ＢＣＡと、ＢＣＬＫドメインで二重化されている本体[RB]側ブリッジ回路ＢＲＢと検査[CB]側ブリッジ回路ＢＣＢとを含む。これらの構成と動作は図４、図６に示される非同期転送回路１と同様であるので、説明を省略する。本実施形態３では、ペイロード信号に加えて制御信号も二重化されるので、本体[RA]側のペイロード信号ＰＲと制御信号ＣｓＲＡＢ及びＣｓＲＢＡが、検査[CA]側のペイロード信号ＰＣと制御信号ＣｓＣＡＢ及びＣｓＣＢＡと二重化される。これに伴って、ＢＣＬＫドメインでは、制御信号ＣｓＲＡＢとＣｓＣＡＢを受信するフリップフロップ３＿ＲＡＢと３＿ＣＡＢが二重化され、ペイロード信号ＰＲとＰＣを受信するフリップフロップ４＿Ｒと４＿Ｃ、及びその取り込みタイミングを与える組合せ回路５＿Ｒと５＿Ｃとが、それぞれ二重化されている。非同期転送回路１は、さらに比較回路２＿７と２＿８を備える。
【０１３５】
制御信号ＣｓＲＡＢとＣｓＣＡＢとが同じタイミングで遷移する制御信号であっても、それらがフリップフロップ３＿ＲＡＢと３＿ＣＡＢに受信されるタイミングは、必ずしも同じタイミングと限らない。これは、「解決すべき課題」において指摘した通りである。そこで、本体側である制御信号ＣｓＲＡＢをフリップフロップ３＿ＲＡＢで受信した信号のみを、ペイロード信号ＰＲとＰＣを受信するタイミングを生成するために組合せ回路５＿Ｒと５＿Ｃの両方に供給し、検査側である制御信号ＣｓＣＡＢをフリップフロップ３＿ＣＡＢで受信した信号は、上記本体側の信号との比較にのみ用い、組合せ回路５＿Ｃには供給しない。
【０１３６】
比較回路２＿７は、本体側である制御信号ＣｓＲＡＢをフリップフロップ３＿ＲＡＢで受信した信号と検査側である制御信号ＣｓＣＡＢをフリップフロップ３＿ＣＡＢで受信した信号とを比較して不一致である場合には、故障として故障管理回路ＥＭＬに通知するが、１サイクルのずれは許容する。原理的に１サイクルのずれは、故障が無くても発生する可能性があるので、厳密に比較すると故障でない場合にまで故障に対応する処理が起動されてしまう問題を回避するためである。
【０１３７】
比較回路２＿７は３入力として、本体側である制御信号ＣｓＲＡＢをフリップフロップ３＿ＲＡＢで受信した信号のうち、組合せ回路５＿Ｒに入力されるノードＮ４−１−１と、組合せ回路５＿Ｃに入力されるノードＮ４−１−２と、検査側である制御信号ＣｓＣＡＢをフリップフロップ３＿ＣＡＢで受信した信号のノードＮ４−２とを比較することができる。ノードＮ４−１−１とノードＮ４−２の比較、及び、ノードＮ４−１−２とノードＮ４−２の比較は、１サイクルのずれを許容した一致／不一致比較を行い、ノードＮ４−１−１とノードＮ４−１−２はサイクルずれを許容しない一致／不一致比較を行い、いずれか１つのノードが他のノードと異なる場合に不一致として検出し、故障管理回路ＥＭＬ（不図示）に通知する。
【０１３８】
本体側の制御信号ＣｓＲＡＢをフリップフロップ３＿ＲＡＢで受信した信号と検査側の制御信号ＣｓＣＡＢをフリップフロップ３＿ＣＡＢで受信した信号とは、上述のように１サイクルのずれが発生する可能性がある。しかし、本体側の制御信号ＣｓＲＡＢのみがペイロード信号ＰＲとＰＣの取り込みタイミングの生成に使用されるので、故障がない限りその取り込みタイミングにサイクルずれが発生することはない。また、検査側の制御信号ＣｓＣＡＢをフリップフロップ３＿ＣＡＢで受信した信号は本体側との比較に用いられるが、発生し得る１サイクルのずれは、比較回路２＿７によって吸収されるので、誤って故障として検出される問題が回避される。
【０１３９】
ＡＣＬＫドメインにおいて、本体側の制御信号ＣｓＲＢＡをフリップフロップ３＿ＲＢＡで受信した信号と検査側の制御信号ＣｓＣＢＡをフリップフロップ３＿ＣＢＡで受信した信号についても、同様に、１サイクルのずれが発生する可能性がある。しかし、本体側ブリッジ回路ＢＲＡと検査側ブリッジ回路ＢＣＡには、ともに本体側の制御信号ＣｓＲＢＡをフリップフロップ３＿ＲＢＡで受信した信号が入力されるので、本体側ブリッジ回路ＢＲＡと検査側ブリッジ回路ＢＣＡの動作、及びその後段の本体側回路と検査側回路の動作は、故障がない限りサイクルずれが発生することはない。また、検査側の制御信号ＣｓＣＢＡをフリップフロップ３＿ＣＢＡで受信した信号は本体側との比較に用いられるが、発生し得る１サイクルのずれは、比較回路２＿８によって吸収されるので、誤って故障として検出される問題が回避される。
【０１４０】
これにより、非同期転送回路１において、ペイロード信号と制御信号がともに二重化され、実施形態２の場合よりもさらに信頼性を高めることができる。
【０１４１】
＜一定の時間差を保って実行される二重化方式＞
図１１は、実施形態３のデータ処理装置１０に含まれる非同期転送回路１の別の構成例を示すブロック図である。非同期転送回路１は、ＡＣＬＫドメインで二重化されている本体[RA]側ブリッジ回路ＢＲＡと検査[CA]側ブリッジ回路ＢＣＡとフリップフロップ３＿ＲＢＡと３＿ＣＢＡ、ＢＣＬＫドメインで二重化されている本体[RB]側ブリッジ回路ＢＲＢと検査[CB]側ブリッジ回路ＢＣＢとフリップフロップ３＿ＲＡＢと３＿ＣＡＢ、及び比較回路２＿７と２＿８を含む。さらに、フリップフロップ４＿Ｒと組合せ回路５＿Ｒ、フリップフロップ４＿Ｃと組合せ回路５＿Ｃとが、本体[RB]側ブリッジ回路ＢＲＢと検査[CB]側ブリッジ回路ＢＣＢとにそれぞれ含まれ、ＢＣＬＫドメインで二重化されている。これらの構成と動作は図１０に示される非同期転送回路１と同様であるので、説明を省略する。図９に示される別の構成例の非同期転送回路１は、さらに遅延回路６＿６＿１、６＿６＿２、６＿９＿１及び６＿９＿２を備える。
【０１４２】
ＡＣＬＫドメインにおいて、検査[CA]側回路ＬＣＡ（不図示）及びブリッジ回路ＢＣＡは、本体[RA]側ＬＲＡ（不図示）及びブリッジ回路ＢＲＡから、１〜複数の一定サイクルの時間差（ずれ）を保って動作しており、遅延回路６＿６＿１、６＿６＿２はその一定サイクルの遅延を与える遅延回路である。ＢＣＬＫドメインにおいて、検査[CB]側回路ＬＣＢ（不図示）及びブリッジ回路ＢＣＢは、本体[RB]側ＬＲＢ（不図示）及びブリッジ回路ＢＲＢから、１〜複数の一定サイクルの時間差（ずれ）を保って動作しており、遅延回路６＿９＿１、６＿９＿２はその一定サイクルの遅延を与える遅延回路である。
【０１４３】
ＡＣＬＫドメインにおいて、遅延回路６＿６＿１と６＿６＿２はＢＣＬＫドメインから転送されフリップフロップ３＿ＲＢＡで受信した制御信号ＣｓＲＢＡに挿入されており、遅延回路６＿６＿１は上記一定サイクル数の遅延を加えて比較回路２＿８に入力し、遅延回路６＿６＿２は同じく上記一定サイクル数の遅延を加えて比較回路２＿８に入力し、合せてブリッジ回路ＢＣＡに入力する。
【０１４４】
ＢＣＬＫドメインにおいて、遅延回路６＿９＿１と６＿９＿２はＡＣＬＫドメインから転送されフリップフロップ３＿ＲＡＢで受信した制御信号ＣｓＲＡＢに挿入されている。遅延回路６＿９＿１は上記一定サイクル数の遅延を加えて比較回路２＿７に入力し、遅延回路６＿９＿２は同じく上記一定サイクル数の遅延を加えて比較回路２＿７に入力し、合せてブリッジ回路ＢＣＢの組合せ回路５＿Ｃに入力する。
【０１４５】
これにより、同一のデータ処理が一定の時間差（サイクル数）を保って実行される二重化方式においても、適切に故障を検出することができる。
【０１４６】
〔実施形態４〕
実施形態１〜３ではＡＣＬＫドメインの回路とＢＣＬＫドメインの回路の両方をそれぞれ二重化の対象としているのに対し、本実施形態４は、一方の回路は別の手段で安全性を確保している状況を想定して、一方だけを二重化する実施の形態である。ここで、安全性を確保する別の手段とは、例えば、定期的なスキャンテストなどによる回路の故障テストである。図１２と図１３には、二重化されていない側から二重化されている側へペイロード信号を非同期転送する非同期転送回路１が示され、図１４には逆に二重化されている側から二重化されていない側へペイロード信号を非同期転送する非同期転送回路１が示される。なお、二重化されていない側を二重化された回路に置き換えることにより、実施形態１〜３で開示した回路と同様に構成することができる。
【０１４７】
＜二重化された回路への別の回路からの非同期転送＞
図１２は、実施形態４のデータ処理装置１０の第１の構成例を示すブロック図である。
【０１４８】
データ処理装置１０は、ＡＣＬＫドメインで動作する論理回路ＬＡと、ＢＣＬＫドメインで二重化された本体側[RB]回路ＬＲＢと検査側[CB]回路ＬＣＢと、非同期転送回路１とを含んで構成される。非同期転送回路１は、論理回路ＬＡに接続されＡＣＬＫドメインで動作するブリッジ回路ＢＡと、ＢＣＬＫドメインで動作するブリッジ回路ＢＢとを備える。ブリッジ回路ＢＢは、二重化されていないフリップフロップ３＿ＡＢと比較回路２＿４を備え、また、本体側[RB]回路ＬＲＢと検査側[CB]回路ＬＣＢにそれぞれ接続され、二重化されて動作するブリッジ回路ＢＲＢとＢＣＢとを備える。ブリッジ回路ＢＲＢとＢＣＢとは、それぞれペイロード信号Ｐを受信するフリップフロップ４＿Ｒと４＿Ｃ、及びそれらに与える取り込みタイミングを生成する組合せ回路５＿Ｒと５＿Ｃとを備える。組合せ回路５＿Ｒと５＿Ｃとは同一の処理を行なう二重化された回路である。
【０１４９】
ＡＣＬＫドメインで動作する論理回路ＬＡからはブリッジ回路ＢＡを介してペイロード信号Ｐと制御信号ＣｓＡＢが送出され、ブリッジ回路ＢＡはフリップフロップ回路３＿ＢＡを備えて、ＢＣＬＫドメインから転送される制御信号ＣｓＢＡを受信する。
【０１５０】
制御信号ＣｓＡＢは二重化されていないフリップフロップ３＿ＡＢによってＢＣＬＫドメインで受信され、本体側[RB]ブリッジ回路ＢＲＢに入力され、並行して検査側[CB]ブリッジ回路ＢＣＢに入力される。単一の信号であるからブリッジ回路ＢＲＢとＢＣＢにそれぞれ入力されても時間差（サイクル差）は生じない。故障がない限り、組合せ回路５＿Ｒと５＿Ｃとは同一の取り込みタイミングを、フリップフロップ４＿Ｒと４＿Ｃに与え、二重化されていないペイロード信号Ｐを、フリップフロップ４＿Ｒと４＿Ｃとで受信する。二重化されていないペイロード信号Ｐを同一の取り込みタイミングで取り込むので、フリップフロップ４＿Ｒと４＿Ｃによって受信されたペイロード信号には、サイクルずれは発生しない。
【０１５１】
本体側[RB]ブリッジ回路ＢＲＢが出力する制御信号ＣｓＲＢＡと、検査側[CB]ブリッジ回路ＢＣＢが出力する制御信号ＣｓＣＢＡとは、比較回路２＿４に入力されて比較され、不一致の場合は故障管理回路ＥＭＬ（不図示）に通知される。本体側[RB]の制御信号ＣｓＲＢＡは、制御信号ＣｓＢＡとしてＡＣＬＫドメインに転送され、ブリッジ回路ＢＡのフリップフロップ回路３＿ＢＡに入力される。
【０１５２】
図１３は、実施形態４のデータ処理装置１０の第２の構成例を示すブロック図である。
【０１５３】
データ処理装置１０は、ＡＣＬＫドメインで動作する論理回路ＬＡと、ＢＣＬＫドメインで二重化された本体側[RB]回路ＬＲＢと検査側[CB]回路ＬＣＢと、非同期転送回路１とを含んで構成される。非同期転送回路１は、論理回路ＬＡに接続されＡＣＬＫドメインで動作するブリッジ回路ＢＡと、ＢＣＬＫドメインで動作するブリッジ回路ＢＢとを備える。ブリッジ回路ＢＢは、二重化されていないフリップフロップ３＿ＡＢと４と組合せ回路５と比較回路２＿４とを備え、また、本体側[RB]回路ＬＲＢと検査側[CB]回路ＬＣＢにそれぞれ接続され、二重化されて動作するブリッジ回路ＢＲＢとＢＣＢとを備える。
【０１５４】
ＡＣＬＫドメインで動作する論理回路ＬＡからはブリッジ回路ＢＡを介してペイロード信号Ｐと制御信号ＣｓＡＢが送出され、ブリッジ回路ＢＡはフリップフロップ回路３＿ＢＡを備えて、ＢＣＬＫドメインから転送される制御信号ＣｓＢＡを受信する。制御信号ＣｓＡＢは二重化されていないフリップフロップ３＿ＡＢによってＢＣＬＫドメインで受信され、組合せ回路５と本体側[RB]ブリッジ回路ＢＲＢに入力され、並行して検査側[CB]ブリッジ回路ＢＣＢに入力される。組合せ回路５はフリップフロップ４にペイロード信号Ｐの取り込みタイミングを与え、フリップフロップ４に受信されたペイロード信号Ｐは、ペイロード信号ＰＲＢとＰＣＢとしてそれぞれブリッジ回路ＢＲＢとＢＣＢに入力される。元々二重化されていない単一の信号であるからブリッジ回路ＢＲＢとＢＣＢにそれぞれ入力されても時間差（サイクル差）は原理的に生じない。
【０１５５】
本体側[RB]ブリッジ回路ＢＲＢが出力する制御信号ＣｓＲＢＡと、検査側[CB]ブリッジ回路ＢＣＢが出力する制御信号ＣｓＣＢＡとは、比較回路２＿４に入力されて比較され、不一致の場合は故障管理回路ＥＭＬ（不図示）に通知される。本体側[RB]の制御信号ＣｓＲＢＡは、制御信号ＣｓＢＡとしてＡＣＬＫドメインに転送され、ブリッジ回路ＢＡのフリップフロップ回路３＿ＢＡに入力される。
【０１５６】
以上図１２と図１３を引用して説明したように、二重化された回路と非同期で動作する回路（二重化されているか二重化されていないかは問わない）との間での非同期転送のうち、二重化された回路がペイロード信号を受信する場合において、非同期転送回路の信頼性を高めることができ、全体として高性能と高信頼を両立させることができる。非同期転送回路の一部である、本体側[RB]ブリッジ回路ＢＲＢと検査側[CB]ブリッジ回路ＢＣＢが二重化されるからである。
【０１５７】
＜二重化された回路から別の回路への非同期転送＞
図１４は、実施形態４のデータ処理装置１０の第３の構成例を示すブロック図である。
【０１５８】
データ処理装置１０は、ＡＣＬＫドメインで二重化された本体側[RA]回路ＬＲＡと検査側[CA]回路ＬＣＡと、ＢＣＬＫドメインで動作する論理回路ＬＢと、非同期転送回路１とを含んで構成される。非同期転送回路１は、ＡＣＬＫドメインで動作するブリッジ回路ＢＡと、論理回路ＬＢに接続されＢＣＬＫドメインで動作するブリッジ回路ＢＢとを備える。ブリッジ回路ＢＡは、二重化されていないフリップフロップ３＿ＢＡと比較回路２＿３と２＿５とを備え、また、本体側[RA]回路ＬＲＡと検査側[CA]回路ＬＣＡにそれぞれ接続され、二重化されて動作するブリッジ回路ＢＲＡとＢＣＡとを備える。ブリッジ回路ＢＲＡとＢＣＡとは、それぞれ、制御信号ＣｓＲＡＢとＣｓＣＡＢ、ペイロード信号ＰＲＡとＰＣＡを出力し、制御信号ＣｓＲＢＡとＣｓＣＢＡが入力される。制御信号ＣｓＲＡＢとＣｓＣＡＢは比較回路２＿３に入力され、ペイロード信号ＰＲＡとＰＣＡは比較回路２＿５に入力され、一方または両方の比較回路で不一致が検出された場合には故障管理回路ＥＭＬ（不図示）に通知される。制御信号ＣｓＲＢＡは制御信号ＣｓＡＢとして、また、ペイロード信号ＰＲＡはペイロード信号Ｐとして、ＢＣＬＫドメインに転送される。
【０１５９】
ブリッジ回路ＢＢは、フリップフロップ３＿ＡＢと４と組合せ回路５とを含んで構成される。ＡＣＬＫドメインから転送される制御信号ＣｓＡＢは、フリップフロップ３＿ＡＢで受信され、組合せ回路５に供給される。組合せ回路５は、ＡＣＬＫドメインに対して出力するＣｓＢＡを生成して送出し、また、ペイロード信号Ｐを取り込むタイミングを、フリップフロップ４に供給する。
【０１６０】
ペイロード信号Ｐが転送されるＢＣＬＫドメインは二重化されていないので、そもそもサイクルずれの問題は発生しない一方、ペイロード信号Ｐを送出する、ＡＣＬＫドメインのブリッジ回路ＢＲＡとＢＣＡは二重化されることにより、信頼性を向上することができる。
【０１６１】
＜一定の時間差を保って実行される二重化方式＞
図１２〜１４を引用して説明した本実施形態４に係るデータ処理装置１０は、図７、９、１１と同様の考え方により、遅延回路６を適宜挿入することにより、二重化された回路対における同一のデータ処理が一定の時間差（サイクル数）を保って実行されるように変更することができる。
【０１６２】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１６３】
例えば、非同期転送回路には、転送方向や転送タイミングの異なる他のペイロード信号の転送回路を追加することができる。本体側回路とそれに接続されるブリッジ回路、検査側回路とそれに接続されるブリッジ回路のブロック分割は、便宜的なものであって、適宜変更することができる。
【産業上の利用可能性】
【０１６４】
本発明は、機能安全のために二重化された論理回路と、非同期で動作する他の論理回路との間の非同期データ転送回路を備えるデータ処理装置に広く適用することができる。
【符号の説明】
【０１６５】
１  非同期転送回路
２＿１〜２＿８  比較回路
３＿ＡＢ，３＿ＢＡ，３＿ＲＡＢ，３＿ＲＢＡ，３＿ＣＡＢ，３＿ＣＢＡ  フリップフロップ
４、４＿Ｒ，４＿Ｃ  フリップフロップ
５、５＿Ｒ，５＿Ｃ  組合せ回路
６＿１〜６＿１０  遅延回路（検査側の動作を所定サイクル数だけずらすための所定段数のフリップフロップ）
１０  データ処理装置
ＬＡ，ＬＢ，７＿１〜７＿５  論理回路
ＬＲ，ＬＲＡ，ＬＲＢ  本体回路（Ｒ：Reference）
ＬＣ，ＬＣＡ，ＬＣＢ  検査回路（Ｃ：Checker）
ＢＡ，ＢＢ  ブリッジ回路
ＢＲＡ，ＢＲＢ  本体側ブリッジ回路
ＢＣＡ，ＢＣＢ  検査側ブリッジ回路
Ｐ，ＰＲ，ＰＣ  ペイロード信号
ＣｓＡＢ，ＣｓＢＡ，ＣｓＲＡＢ，ＣｓＲＢＡ，ＣｓＣＡＢ，ＣｓＣＢＡ  非同期転送制御信号
ＥＭＬ  故障管理回路（Error Management Logic）
【図１】
2016151674.tif 000003
【図２】
2016151674.tif 000004
【図３】
2016151674.tif 000005
【図４】
2016151674.tif 000006
【図５】
2016151674.tif 000007
【図６】
2016151674.tif 000008
【図７】
2016151674.tif 000009
【図８】
2016151674.tif 000010
【図９】
2016151674.tif 000011
【図１０】
2016151674.tif 000012
【図１１】
2016151674.tif 000013
【図１２】
2016151674.tif 000014
【図１３】
2016151674.tif 000015
【図１４】
2016151674.tif 000016
【国際調査報告】
2016151674.tif 000017
2016151674.tif 000018
2016151674.tif 000019
2016151674.tif 000020