JP2010211347A - 情報処理装置及びエラー検出方法 - Google Patents

情報処理装置及びエラー検出方法 Download PDF

Info

Publication number
JP2010211347A
JP2010211347A JP2009054454A JP2009054454A JP2010211347A JP 2010211347 A JP2010211347 A JP 2010211347A JP 2009054454 A JP2009054454 A JP 2009054454A JP 2009054454 A JP2009054454 A JP 2009054454A JP 2010211347 A JP2010211347 A JP 2010211347A
Authority
JP
Japan
Prior art keywords
bus
error detection
data
detection code
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009054454A
Other languages
English (en)
Inventor
Norio Sugita
憲夫 杉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009054454A priority Critical patent/JP2010211347A/ja
Priority to US12/656,598 priority patent/US20100229077A1/en
Priority to DE102010010369A priority patent/DE102010010369A1/de
Publication of JP2010211347A publication Critical patent/JP2010211347A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】安全性及び信頼性を向上することのできる情報処理装置及びエラー検出方法を提供すること
【解決手段】本発明にかかる情報処理装置は、複数のバススレーブと、任意のバススレーブを特定するベースアドレス値及び特定したバススレーブ内のアクセス位置を特定するオフセットアドレス値を含むアドレスデータを出力するバスマスタを備える。バスマスタが出力したベースアドレス値に基づき、任意のバススレーブを選択する選択信号を複数のバススレーブに出力する選択部と、バスマスタが出力したアドレスデータから生成したエラー検出符号を出力するエラー検出符号生成部と、バスマスタから出力されたオフセットアドレス値と、選択されたバススレーブを特定するベースアドレス値から生成したアドレスデータから生成したエラー検出符号と、エラー検出符号生成部から出力されたエラー検出符号に基づき、アドレスデータのエラーを検出するエラー検出部を備える。
【選択図】図3

Description

本発明は、情報処理装置及びエラー検出方法に関する。
近年、車載向けにマイクロコンピュータ(以下、「マイコン」とする)が数多く利用されるようになっている。また、車載向けマイコンでは、誤動作が人命に関わるため、機能安全(故障が発生してもシステムや機器の安全性を確保できるように機能を実装しておくという考え方)が重要となっており、その考え方に基づいてマイコンの実装が行われている。
そのため、車載向けマイコンでは、他分野向けのマイコンよりも、高い安全性及び信頼性が求められている。
なお、特許文献1には、パリティビット方式等を持たない標準バスと、その標準バスに接続される各アダプタ及びメモリ等の間に、CRC(Cyclic Redundancy Check)符号生成器と誤り検出器を備えた誤り制御装置を置くことにより、データ転送の末尾にCRC符号を付けて、誤り検出のできる技術が開示されている。
特開平6−12269号公報
背景技術として説明したように、車載向けマイコンでは、高い安全性及び信頼性が求められているという問題がある。
本発明にかかる情報処理装置は、複数のバススレーブと、前記複数のバススレーブのうち、任意のバススレーブを特定するベースアドレス値および前記特定したバススレーブに入力され、当該バススレーブ内におけるアクセス位置を特定するオフセットアドレス値を含んだアドレスデータを出力するバスマスタを備えた情報処理装置であって、前記バスマスタが出力したベースアドレス値に基づいて、任意のバススレーブを選択する選択信号を前記複数のバススレーブに対して出力する選択部と、前記バスマスタが出力したアドレスデータに基づいてエラー検出符号を生成し、生成したエラー検出符号を出力するエラー検出符号生成部と、前記バスマスタから出力されたオフセットアドレス値と、前記選択信号により選択されたバススレーブを特定するベースアドレス値から生成したアドレスデータに基づいて、エラー検出符号を生成し、生成したエラー検出符号と、前記エラー検出符号生成部から出力されたエラー検出符号とに基づいて、前記アドレスデータのエラーを検出するエラー検出部を備えたものである。
これにより、アドレスデータのエラーを検出することができ、安全性及び信頼性を向上することができる。
他方、本発明にかかる情報処理装置は、第1の装置と、前記第1の装置とデータバスによって接続される第2の装置と、前記第1の装置が前記第2の装置に前記データバスを介してデータを出力した場合に、当該データに基づいてエラー検出符号を生成し、生成したエラー検出符号を前記データバスとは異なるエラー検出符号用バスに出力するエラー検出符号生成部と、前記第1の装置から前記データバスに出力され、前記第2の装置に入力されるデータに基づいてエラー検出符号を生成し、生成したエラー検出符号と、前記エラー検出符号生成部から前記エラー検出符号用バスに出力されたエラー検出符号とに基づいて、前記データのエラーを検出するエラー検出部を備えたものである。
これにより、データのエラーを検出することができ、安全性及び信頼性を向上することができる。
本発明にかかるエラー検出方法は、複数のバススレーブのうち、任意のバススレーブを特定するベースアドレス値および前記特定したバススレーブに入力され、当該バススレーブ内におけるアクセス位置を特定するオフセットアドレス値を含み、バスマスタから出力されるアドレスデータのエラーを検出するエラー検出方法であって、前記バスマスタが出力したベースアドレス値に基づいて、任意のバススレーブを選択するステップと、前記バスマスタが出力したアドレスデータに基づいて第1のエラー検出符号を生成するステップと、前記第1のエラー検出符号を出力するステップと、前記バスマスタから出力されたオフセットアドレス値と、前記選択信号により選択されたバススレーブを特定するベースアドレス値からアドレスデータを生成するステップと、生成したアドレスデータに基づいて、第2のエラー検出符号を生成するステップと、前記第1のエラー検出符号と、前記第2のエラー検出符号とに基づいて、前記アドレスデータのエラーを検出するステップを備えたものである。
これにより、アドレスデータのエラーを検出することができ、安全性及び信頼性を向上することができる。
他方、本発明にかかるエラー検出方法は、第1の装置から第2の装置にデータバスを介して出力されるデータのエラーを検出するエラー検出方法であって、前記第1の装置が前記第2の装置に前記データバスを介してデータを出力した場合に、当該データに基づいて第1のエラー検出符号を生成するステップと、前記第1のエラー検出符号を前記データバスとは異なるエラー検出符号用バスに出力するステップと、前記第1の装置から前記データバスに出力され、前記第2の装置に入力されるデータに基づいて第2のエラー検出符号を生成するステップと、前記第1のエラー検出符号と、前記第2のエラー検出符号とに基づいて、前記データのエラーを検出するステップを備えたものである。
これにより、データのエラーを検出することができ、安全性及び信頼性を向上することができる。
本発明により、安全性及び信頼性を向上することのできる情報処理装置及びエラー検出方法を提供することができる。
本発明の実施の形態にかかる情報処理措置のデータバス構成を示す図である。 本発明の実施の形態を適用前の情報処理装置のアドレスバス構成を示す図である。 本発明の実施の形態にかかる情報処理装置のアドレスバス構成を示す図である。
以下、図面を参照して本発明の実施の形態について、APB(Advanced Peripheral Bus)バスを有する情報処理装置に適用した場合について例示する。
まず、図1を参照して、本発明の実施の形態にかかる情報処理装置のデータバス構成について説明する。図1は、本発明の実施の形態にかかる情報処理装置のデータバス構成を示す図である。
本実施の形態にかかる情報処理装置は、APBマスタ1、APBスレーブ2、EDCエンコーダ10、11、EDCデコーダ20、21、PSLVERRジェネレータ30及びPSLVERRコントローラ31を備える。
APBマスタ1及びAPBスレーブ2は、データバス200及びマルチプレクサ100を介したデータバス201によって相互に接続される。EDCエンコーダ10及びEDCデコーダ20は、エラー検出符号用バス210によって相互に接続される。EDCエンコーダ11及びEDCデコーダ21は、マルチプレクサ101を介して、エラー検出符号用バス211によって相互に接続される。PSLVERRジェネレータ30及びPSLVERRコントローラ31は、マルチプレクサ102を介して、PSLVERR信号線220によって相互に接続される。また、データバス200、201及びエラー検出符号用バス210、211は、リピータバッファ110、111、112、113、114、115、116、117を備える。なお、リピータバッファ110、111、112、113、114、115、116、117は、本実施の形態における例示に限定されるものではなく、例えば、配置される数や配置される位置等について様々な変更をすることができる。図1は、データバス200、210のバス幅が32ビットであり、エラー検出符号用バス210、211のバス幅が7ビットの例である。
APBマスタ1は、バスマスタとなる装置である。APBマスタ1は、例えば、CPU(Central Processing Unit)又はDMA(Direct Memory Access)コントローラである。
APBスレーブ2は、バススレーブとなる装置である。APBスレーブ2は、例えば、タイマやADC(Analog Digital Converter)等である。
EDCエンコーダ10、11は、APBマスタ1から出力されるデータに基づいて、エラー検出符号(EDC:Error Detecting Code)を生成する。また、EDCエンコーダ10、11は、生成したエラー検出符号をEDCデコーダ20、21に出力する。EDCエンコーダは、エラー検出符号生成部として機能する。
EDCデコーダ20、21は、APBスレーブ2に入力されるデータ及びEDCエンコーダ10、11から出力されるエラー検出符号に基づいて、データのエラーを検出する。また、EDCデコーダ20は、エラーを検出した場合、データのエラーを検出したことを示す値であるEDCERRをPSLVERRジェネレータ30に出力する。また、EDCデコーダ21は、データのエラーを検出した場合、PSLVERRコントローラ31にEDCERRを出力する。
PSLVERRジェネレータ30は、EDCデコーダ20から出力されるEDCERRに応じて、エラーを検出したことを示す値であるPSLVERRをPSLVERRコントローラ31に出力する。
PSLVERRコントローラ31は、EDCデコーダ21から出力されるEDCERRやPSLVERRジェネレータ30から出力されるPSLVERRに応じて、PSLVERRをAPBマスタ1に出力する。EDCデコーダ、PSLVERRジェネレータ及びPSLVERRコントローラは、エラー検出部として機能する。
なお、APBバスでは、1つのAPBマスタと複数のAPBスレーブからなる構成をとるが、図1では、そのうちの1つのAPBスレーブであるAPBスレーブ2のみを記載しており、APBスレーブ2以外のAPBスレーブは図示を省略している。また、APBスレーブ2以外のAPBスレーブ側のEDCデコーダ及びPSLVERRジェネレータも図示を省略している。よって、本実施の形態では、APBマスタ1が後述するアドレスバスへの出力によって、APBスレーブ2を選択している場合について例示している。また、マルチプレクサ100、101、102は、APBスレーブ2以外のAPBスレーブからのデータバス、エラー検出符号用バス及びPSLVERR信号線も接続されており、APBマスタ1がアドレスバスへの出力によって選択しているAPBスレーブに対応する信号線からの信号を選択する動作を行う。よって、APBスレーブ2以外のAPBスレーブに接続されるデータバス、エラー検出符号用バス及びPSLVERR信号線についても図示を省略している。
続いて、本発明の実施の形態にかかる情報処理装置のデータバスにおける処理について説明する。
まず、APBマスタ1は、任意の32ビットのデータ(PWDATA[31:0])をデータバス200を介して、APBスレーブ2に出力する。
EDCエンコーダ10は、APBマスタ1から出力されたデータを取得し、取得したデータに基づいて、7ビットのエラー検出符号(PWDATA_edc)を生成する。そして、EDCエンコーダ10は、生成したエラー検出符号をエラー検出符号用バス210を介して、EDCデコーダ20に出力する。
EDCデコーダ20は、APBマスタ1から出力され、APBスレーブ2に入力されるデータを取得するとともに、EDCエンコーダ10から出力されたエラー検出符号を取得する。そして、取得したデータに基づいて、エラー検出符号を生成し、生成したエラー検出符号と、EDCエンコーダ10から出力されたエラー検出符号とを比較することにより、データにエラーがあるかどうかを判定する。ここで、データのエラーとは、例えば、信号の遅延時間の調整や波形の整形のために設けられたリピータバッファ110、111、116、117において、外部放射線の影響によりデータがビット反転して変化してしまうこと等である。
比較したエラー検出符号が一致しており、データにエラーがないと判定した場合、EDCデコーダ20は、何も行わない。
比較したエラー検出符号が一致しておらず、データにエラーがあると判定した場合、EDCデコーダ20は、EDCERRをPSLVERRジェネレータ30に出力する。そして、PSLVERRジェネレータ30は、EDCデコーダ20からEDCERRの出力を受けた場合、PSLVERRをPSLVERRコントローラ31に出力する。
他方、APBスレーブ2は、APBマスタ1から出力されたデータを取得し、取得したデータに応じた32ビットのデータ(PRDATA[31:0])をデータバス201を介して、APBマスタ1に出力する。
EDCエンコーダ11は、APBスレーブ2から出力されたデータを取得し、取得したデータに基づいて、7ビットのエラー検出符号(PRDATA_edc)を生成する。そして、EDCエンコーダ11は、生成したエラー検出符号をエラー検出符号用バス211を介して、EDCデコーダ21に出力する。
EDCデコーダ21は、APBスレーブ2から出力され、APBマスタ1に入力されるデータを取得するとともに、EDCエンコーダ11から出力されたエラー検出符号を取得する。そして、取得したデータに基づいて、エラー検出符号を生成し、生成したエラー検出符号と、EDCエンコーダ11から出力されたエラー検出符号とを比較することにより、データがエラーしているかどうかを判定する。
比較したエラー検出符号が一致しており、データにエラーがないと判定した場合、EDCデコーダ21は、何も行わない。
比較したエラー検出符号が一致しておらず、データにエラーがあると判定した場合、EDCデコーダ21は、EDCERRをPSLVERRコントローラ31に出力する。そして、PSLVERRコントローラ31は、EDCデコーダ20からEDCERRの出力を受けた場合、もしくはPSLVERRジェネレータ30からPSLVERRの出力を受けた場合、PSLVERRをAPBマスタ1に出力する。
他方、APBマスタ1は、APBスレーブ2から出力されるデータ及びPSLVERRコントローラ31から出力される信号を待ち合わせる。
APBマスタ1は、PSLVERRコントローラ31からPSLVERRの出力を受けた場合、つまり、データのエラーが発生した場合、データの再送信または処理の停止などのエラーに応じた処理を実行する。
APBマスタ1は、PSLVERRコントローラ31から、PSLVERRの出力を受けなかった場合、つまり、データのエラーが発生しなかった場合、取得したデータを用いて処理を継続する。
なお、ここでの待ち合わせは、例えば、PSLVERRを出力する信号線とは別に、データのエラー判定結果が確定したことを示す信号線を用意することにより、PSLVERRの出力を受けていない場合、つまり、データのエラーが発生しなかった場合であっても、APBマスタ1がデータのエラー判定結果の確定を認識することができる。
なお、ここでは、APBデータバスに適用した場合について例示しているが、APBデータバスに制限されることなく、他のバスについても適用可能である。
以上に説明したように、本実施の形態によれば、データのエラーを検出することができ、安全性及び信頼性を向上することができる。
また、本実施の形態では、データバスとは異なるバスにエラー検出符号を出力しているため、データバスにおけるデータ量及びデータバスにおいて行われる処理量は増えることがない。これにより、処理速度の低下を抑えて安全性及び信頼性を向上することができる。
続いて、本発明の実施の形態にかかる情報処理装置のアドレスバスについて説明のために、まず、図2を参照して、本発明の実施の形態を適用前の情報処理装置のアドレスバス構成について説明する。図2は、本発明の実施の形態を適用前の情報処理装置のアドレスバス構成を示す図である。
本発明の実施の形態を適用前の情報処理装置は、APBマスタ1、APBスレーブ2及びPSELデコーダ40を備える。
APBマスタ1、APBスレーブ2及びPSELデコーダ40は、アドレスバス300、301により相互に接続される。PSELデコーダ40及びAPBスレーブ2は、PSELx信号線310によって相互に接続される。なお、図2は、アドレスバス300のバス幅が32ビットであり、アドレスバス301のバス幅がn+1ビットの例である。なお、アドレスバス301は、アドレスバス300に出力される32ビットのアドレスデータ(PADDR[31:0])のうちのn〜0ビット(n+1ビット)のオフセットアドレス値(PADDR[n:0])を転送する。アドレスバス301は、例えば、アドレスバス300の32ビットの信号線のうち、n〜0ビットの信号線が分岐したバスである。なお、nは、0〜30の整数である。
APBマスタ1及びAPBスレーブ2については、図1と同様であるため説明を省略する。
PSELデコーダ40は、APBマスタ1から入力されるアドレスデータのうちの31〜n+1ビット(32−(n+1)ビット)のベースアドレス値(PADDR[31:n+1])に応じて、PSELx信号をAPBスレーブ2に出力する。
なお、図1と同様に、APBスレーブ2以外のAPBスレーブは図示を省略している。よって、PSELデコーダ40からAPBスレーブ2以外のAPBスレーブに接続されているPSELx信号線およびアドレスバスも図示を省略している。また、リピータバッファについても図示を省略している。
続いて、本発明の実施の形態を適用前の情報処理装置のアドレスバスの処理について説明する。
まず、APBマスタ1は、任意のアドレスデータをアドレスバス300に出力する。そして、APBスレーブ2には、APBマスタ1から出力されたアドレスデータのうちのオフセットアドレス値がアドレスバス301を介して入力される。
PSELデコーダ40は、APBマスタ1から出力されたアドレスデータを取得し、取得したアドレスデータのうちのベースアドレス値と、全てのAPBスレーブのベースアドレス値とを比較する。ここで、APBスレーブのベースアドレス値とは、APBスレーブに割り当てられたアドレスにおける32ビットの先頭アドレス値のうちの31〜n+1ビット(32−(n+1)ビット)のアドレス値である。そして、ベースアドレス値が一致したAPBスレーブにアクティブとしたPSELx信号を出力する。よって、APBスレーブ2のベースアドレス値と、APBマスタ1から出力されたアドレスデータのうちのベースアドレス値が一致した場合、PSELデコーダ40は、PSELx信号線310を介して、アクティブなPSELx信号をAPBスレーブ2に出力する。PSELデコーダ40は、例えば、全てのAPBスレーブのベースアドレス値を有するようにすることで、上述の比較を行えるようにする。
このように、APBアドレスバスでは、APBマスタは、アドレスデータのうちのベースアドレス値に基づいてAPBスレーブを選択し、オフセットアドレス値によって選択したAPBスレーブに割り当てられたアドレス領域内のアクセス先アドレスを指定する。つまり、32ビットのアドレスデータがそのままAPBスレーブには入力されない。なお、アドレス領域は、2のn乗のサイズとなる。
よって、APBスレーブ2側には、PSELx信号とオフセットアドレス値が入力されることとなり、APBマスタ1が出力したアドレスデータが分からないため、そのままでは、上述のデータバスに適用したようなデータのエラー検出方法を適用することができない。
そこで、本実施の形態では、後述する手段により、アドレスバスにおけるデータのエラーを検出する。なお、本実施の形態では、APBアドレスバスに適用した場合について例示しているが、APBアドレスバスに制限されることなく、他のバスについても適用可能である。例えば、メモリマップドI/O方式を採用しており、配線を減らすため等により、上述のようにアドレスデータの一部の値がバススレーブに入力されるようなアドレスバス構成のものにも適用可能である。
続いて、図3を参照して、本発明の実施の形態にかかる情報処理装置のアドレスバス構成について説明する。図3は、本発明の実施の形態にかかる情報処理装置のアドレスバス構成を示す図である。なお、図3は、図2に本発明の実施の形態を適用した情報処理装置であるため、図2と同様の接続関係および構成要素については説明を省略する。
本実施の形態にかかる情報処理装置は、APBマスタ1、APBスレーブ2、EDCエンコーダ12、EDCデコーダ22、PSLVERRジェネレータ32、PSLVERRコントローラ33、PSELデコーダ40、PSELデコーダチェッカ41、ベースアドレス記憶装置50及びAND回路60を備える。
APBマスタ1、APBスレーブ2、EDCエンコーダ12、PSELデコーダ40及びPSELデコーダチェッカ41は、アドレスバス300、301によって相互に接続される。AND回路60は、PSELx信号線310によってAPBスレーブ2及びPSELデコーダ40と、PSELx_chk信号線320によってPSELデコーダチェッカ41と接続される。EDCエンコーダ12及びEDCデコーダ22は、エラー検出符号用バス311によって相互に接続される。PSLVERRコントローラ33及びPSLVERRジェネレータ32は、マルチプレクサ103を介して、PSLVERR信号線330によって相互に接続される。なお、図3は、エラー検出符号用バス311のバス幅が7ビットの例である。
EDCエンコーダ12は、APBマスタ1から出力されるアドレスデータに基づいて、エラー検出符号(EDC:Error Detecting Code)を生成する。また、EDCエンコーダ12は、生成したエラー検出符号をEDCデコーダ22に出力する。EDCエンコーダは、エラー検出符号生成部として機能する。
EDCデコーダ22は、APBスレーブ2に入力されるオフセットアドレス値、ベースアドレス記憶部50が記憶するベースアドレス値およびEDCエンコーダ12から出力されるエラー検出符号に基づいて、アドレスデータのエラーを検出する。また、EDCデコーダ22は、エラーを検出した場合、アドレスデータのエラーを検出したことを示す値であるEDCERRをPSLVERRジェネレータ32に出力する。
PSLVERRジェネレータ32は、EDCデコーダ22から出力されるEDCERRに応じて、エラーを検出したことを示す値であるPSLVERRをPSLVERRコントローラ33に出力する。また、PSLVERRジェネレータ32は、AND回路60から出力されるAND値に応じて、PSELデコーダ40が出力するPSELx信号のエラーを検出し、それに応じて、PSLVERRをPSLVERRコントローラ33に出力する。
PSLVERRコントローラ33は、PSLVERRジェネレータ32から出力されるPSLVERRに応じて、PSLVERRをAPBマスタ1に出力する。EDCデコーダ、PSLVERRジェネレータ及びPSLVERRコントローラは、エラー検出部として機能する。
PSELデコーダ40は、APBマスタ1から入力されるアドレスデーダのうちのベースアドレス値に応じて、PSELx信号をAPBスレーブ2に出力する。さらに、PSELデコーダ40は、PSELx信号をAND回路60に出力する。
PSELデコーダチェッカ41は、APBマスタ1から入力されるアドレスデータのうちのベースアドレス値に応じて、PSELx_chk信号をAND回路60に出力する。
ベースアドレス記憶装置50は、APBスレーブ2のベースアドレス値を記憶する。ベースアドレス記憶装置50は、レジスタ又はメモリ等の任意の記憶手段を含む。ベースアドレス記憶装置は、ベースアドレス記憶部に相当する。
AND回路60は、PSELデコーダ40から出力されたPSELx信号と、PSELデコーダチェッカ41から出力されたPSELx_chk信号とのAND値をPSLVERRジェネレータ32に出力する。
なお、図2と同様に、APBスレーブ2以外のAPBスレーブは、図示を省略している。よって、APBスレーブ2以外のAPBスレーブからマルチプレクサ103に接続されるエラー検出符号用バス及びPSLVERR信号線は、図示を省略している。よって、本実施の形態では、APBマスタ1がアドレスバスへの出力によって、APBスレーブ2を選択している場合について例示している。また、APBスレーブ2以外のAPBスレーブ側のEDCデコーダ、PSLVERRジェネレータ、ベースアドレス記憶装置及びAND回路も図示を省略している。
続いて、本発明の実施の形態にかかる情報処理装置のアドレスバスにおける処理について説明する。
まず、APBマスタ1は、任意のアドレスデータをアドレスバス300に出力する。そして、APBスレーブ2には、APBマスタ1から出力されたアドレスデータのうち、オフセットアドレス値がアドレスバス301を介して入力される。
PSELデコーダ40及びPSELデコーダチェッカ41は、APBマスタ1から出力されたアドレスデータを取得し、取得したアドレスデータのうちのベースアドレス値と全てのAPBスレーブのベースアドレス値とを比較する。
そして、PSELデコーダ40は、ベースアドレス値が一致したAPBスレーブ及びそのAPBスレーブに対応するAND回路に、PSELx信号をアクティブにして出力する。つまり、APBスレーブ2のベースアドレス値と、APBマスタ1から出力されたアドレスデータのうち、ベースアドレス値が一致した場合、PSELデコーダ40は、アクティブにしたPSELx信号をAPBスレーブ2及びAND回路60に出力する。
また、PSELデコーダチェッカ41は、ベースアドレス値が一致したAPBスレーブに対応するAND回路に、PSELx_chk信号をアクティブにして出力する。つまり、APBスレーブ2のベースアドレス値と、APBマスタ1から出力されたアドレスデータのうち、ベースアドレス値が一致した場合、PSELデコーダ40は、アクティブにしたPSELx_chk信号をAND回路60に出力する。PSELデコーダ40及びPSELデコーダチェッカ41は、例えば、全てのAPBスレーブのベースアドレス値を有するようにすることで、上述の比較を行えるようにする。
AND回路60は、PSELデコーダ40から出力されたPSELx信号を取得し、PSELデコーダチェッカ41から出力されたPSELx_chk信号を取得すると、取得したPSELx信号及びPSELx_chk信号のAND値をPSLVERRジェネレータ32に出力する。
他方、EDCエンコーダ12は、APBマスタ1から出力されたアドレスデータをアドレスバス300を介して取得し、取得したアドレスデータに基づいて、7ビットのエラー検出符号(PWDATA_edc)を生成する。そして、EDCエンコーダ10は、生成したエラー検出符号をエラー検出符号用バス311を介して、EDCデコーダ22に出力する。
EDCデコーダ22は、APBマスタ1から出力され、APBスレーブ2に入力されるオフセットアドレス値と、ベースアドレス記憶装置50に記憶され、ベースアドレス記憶装置50から出力されるAPBスレーブ2のベースアドレス値から生成されるアドレスデータを取得する。また、EDCエンコーダ12から出力されたエラー検出符号を取得する。そして、取得したアドレスデータに基づいて、エラー検出符号を生成し、生成したエラー検出符号と、EDCエンコーダ12から出力されたエラー検出符号とを比較することにより、アドレスデータにエラーがあるかどうかを判定する。
ここで、EDCデコーダ22が取得するアドレスデータは、例えば、ベースアドレス記憶部50からベースアドレス値を出力する32−(n+1)ビットの信号線と、オフセットアドレス値が転送されるアドレスバス301のn+1ビットの信号線を併せて、アドレスデータが生成されるようにし、EDCデコーダ22に入力されるようにする。また、EDCデコーダ22がベースアドレス値と、オフセットアドレス値を別々に取得するようにし、EDCデコーダ22において、取得したベースアドレス値とオフセットアドレス値に基づいて、アドレスデータを生成するようにしてもよい。
比較したエラー検出符号が一致しており、アドレスデータにエラーがないと判定した場合、EDCデコーダ22は、何も行わない。
比較したエラー検出符号が一致しておらず、アドレスデータにエラーがあると判定した場合、EDCデコーダ22は、EDCERRをPSLVERRジェネレータ32に出力する。
PSLVERRジェネレータ32は、EDCデコーダ22からEDCERRの出力を受けた場合、もしくは、AND回路60からPSELx信号とPSELx_chk信号が不一致となる値の出力を受けた場合、PSLVERRコントローラ33に出力する。そして、PSLVERRコントローラ33は、EDCデコーダ22からEDCERRの出力を受けた場合、PSLVERRをAPBマスタ1に出力する。
つまり、PSLVERRジェネレータ32における不一致の検出は、PSELx信号及びPSELx_chk信号のアクティブな値が"1"である場合、これらの信号のAND値が"1"でなければ、不一致と検出する。また、このときに、PSELx信号及びPSELx_chk信号がともにノンアクティブ"0"な場合もエラーとしないようにするため、PSLVERRジェネレータ32にPSELx信号を入力し、PSELx信号がアクティブ"1"の場合のみ判断するようにしている。このようにして、PSELx信号のエラーを検出する。なお、PSELx信号及びPSELx_chk信号がともにノンアクティブな場合もエラーとしないようにするため、AND回路でなく、XOR回路やXNOR回路によって、不一致を検出するようにしてもよい。
なお、APBマスタ1のPSLVERRを受けた場合、もしくは、受けなかった場合における動作は、上述したデータバスにおける処理と同様である。
このように、本実施の形態では、APBスレーブ側にオフセットアドレス値のみが入力される場合であっても、予めAPBスレーブ側にベースアドレス値を記憶しておくことにより、APBスレーブ側に入力されたオフセットアドレス値に基づいて、アドレスデータを生成し、そのアドレスデータに基づいて生成したエラー検出符号によってエラー検出を可能としている。
つまり、より具体的には、APBマスタ1から出力され、APBスレーブ2に入力されるまでに、オフセットアドレス値に発生したエラーを検出することが可能である。
また、本実施の形態では、PSELx信号により選択されたAPBスレーブ2に対応し、予めAPBスレーブ側に記憶されたベースアドレス値に基づいて、アドレスデータを生成して、そのアドレスデータに基づいて生成したエラー検出符号によってエラー検出を可能としている。よって、PSELデコーダ40に入力されるベースアドレス値がエラーしてしまい、PSELデコーダ40に入力されるベースアドレス値が、EDCエンコーダ12に入力されるベースアドレス値と異なる場合には、EDCエンコーダ12が生成するエラー検出符号と、EDCデコーダ22が生成するエラー検出符号が不一致となり、エラーを検出することができる。
つまり、より具体的には、APBマスタ1から出力され、PSELデコーダ40に入力されるまでに、アドレスデータのうちのベースアドレス値に発生したエラーを検出することが可能である。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、PSLVERRコントローラ33は、データバスとアドレスバスで同一のPSLVERRコントローラを設けるようにしてもよい。
さらに、本実施の形態では、EDCエンコーダ12がアドレスバス301とは異なるエラー検出符号用バス311によってエラー検出符号をEDCデコーダ22に出力しているが、アドレスバス301を介して、オフセットアドレス値と一緒にエラー検出符号を出力するようにしてもよい。
また、本実施の形態では、バススレーブ側のEDCデコーダやPSLVERRジェネレータをバススレーブのそれぞれに対応するように備えているが、それに限らず、バススレーブ側で共通のEDCデコーダやPSLVERRジェネレータを備えるようにしてもよい。そして、PSELx信号に応じたバススレーブに対応するオフセットアドレス値やベースアドレス記憶部が記憶するベースアドレス値をEDCデコーダに入力するようにしてもよい。
以上に説明したように、本実施の形態によれば、アドレスデータのエラーを検出することができ、安全性及び信頼性を向上することができる。つまり、本実施の形態では、バススレーブ側においてアドレスデータの全てのビットを受けとっていない場合であっても、バススレーブ側においてベースアドレス値を保持しておき、このベースアドレス値に基づいて、アドレスデータを復元することにより、データバスと同様にエラーの検出を行うことができる。
また、バスマスタがアクセスするバススレーブを選択するPSELx信号のエラーを検出することができ、安全性及び信頼性を向上することができる。
さらに、本実施の形態では、アドレスバスとは異なるバスにエラー検出符号を出力しているため、アドレスバスにおけるデータ量及びアドレスバスにおいて行われる処理量は増えることがない。これにより、処理速度の低下を抑えて安全性及び信頼性を向上することができる。
1 APBマスタ
2 APBスレーブ
10、11、12 EDCエンコーダ
20、21、22 EDCデコーダ
30、32 PSLVERRジェネレータ
31、33 PSLVERRコントローラ
40 PSELデコーダ
40 PSELデコーダチェッカ
50 ベースアドレス記憶装置
60 AND回路
100、101、102、103 マルチプレクサ
110、111、112、113、114、115、116、117 リピータバッファ
200、201 データバス
210、211、311 エラー検出符号用バス
220 PSLVERR信号線
300、301 アドレスバス
310 PSELx信号線
320 PSELx_chk信号線

Claims (9)

  1. 複数のバススレーブと、前記複数のバススレーブのうち、任意のバススレーブを特定するベースアドレス値および前記特定したバススレーブに入力され、当該バススレーブ内におけるアクセス位置を特定するオフセットアドレス値を含んだアドレスデータを出力するバスマスタを備えた情報処理装置であって、
    前記バスマスタが出力したベースアドレス値に基づいて、任意のバススレーブを選択する選択信号を前記複数のバススレーブに対して出力する選択部と、
    前記バスマスタが出力したアドレスデータに基づいてエラー検出符号を生成し、生成したエラー検出符号を出力するエラー検出符号生成部と、
    前記バスマスタから出力されたオフセットアドレス値と、前記選択信号により選択されたバススレーブを特定するベースアドレス値から生成したアドレスデータに基づいて、エラー検出符号を生成し、生成したエラー検出符号と、前記エラー検出符号生成部から出力されたエラー検出符号とに基づいて、前記アドレスデータのエラーを検出するエラー検出部を備えた情報処理装置。
  2. 前記情報処理装置は、前記複数のバススレーブに対応する検査用選択信号のうち、前記バスマスタが出力したベースアドレス値に基づいて選択したバススレーブに対応する検査用選択信号にアクティブな値を出力する検査用選択部をさらに備え、
    前記選択部は、前記選択信号のうち、前記選択をしたバススレーブに対応する選択信号にアクティブな値を出力し、
    前記エラー検出部は、前記選択信号と、前記検査用選択信号の値とを比較することにより、前記選択信号のエラーを検出する請求項1に記載の情報処理装置。
  3. 前記オフセットアドレス値は、アドレスバスを介して、前記バスマスタから前記バススレーブに出力され、
    前記エラー検出符号は、前記アドレスバスとは異なるエラー検出符号用バスを介して、前記エラー検出符号生成部から前記エラー検出部に出力される請求項1又は2に記載の情報処理装置。
  4. 前記エラー検出部は、エラーを検出した場合に、エラーを検出したことを示すエラー検出値を前記バスマスタに出力する請求項1乃至3のいずれかに記載の情報処理装置。
  5. 第1の装置と、
    前記第1の装置とデータバスによって接続される第2の装置と、
    前記第1の装置が前記第2の装置に前記データバスを介してデータを出力した場合に、当該データに基づいてエラー検出符号を生成し、生成したエラー検出符号を前記データバスとは異なるエラー検出符号用バスに出力するエラー検出符号生成部と、
    前記第1の装置から前記データバスに出力され、前記第2の装置に入力されるデータに基づいてエラー検出符号を生成し、生成したエラー検出符号と、前記エラー検出符号生成部から前記エラー検出符号用バスに出力されたエラー検出符号とに基づいて、前記データのエラーを検出するエラー検出部を備えた情報処理装置。
  6. 前記第1の装置、前記第2の装置のいずれか一方はバスマスタであり、かつ他方はバススレーブである請求項5に記載の情報処理装置。
  7. 前記エラー検出部は、エラーを検出した場合に、エラーを検出したことを示すエラー検出値を前記バスマスタに出力する請求項5又は6に記載の情報処理装置。
  8. 複数のバススレーブのうち、任意のバススレーブを特定するベースアドレス値および前記特定したバススレーブに入力され、当該バススレーブ内におけるアクセス位置を特定するオフセットアドレス値を含み、バスマスタから出力されるアドレスデータのエラーを検出するエラー検出方法であって、
    前記バスマスタが出力したベースアドレス値に基づいて、任意のバススレーブを選択するステップと、
    前記バスマスタが出力したアドレスデータに基づいて第1のエラー検出符号を生成するステップと、
    前記第1のエラー検出符号を出力するステップと、
    前記バスマスタから出力されたオフセットアドレス値と、前記選択されたバススレーブを特定するベースアドレス値からアドレスデータを生成するステップと、
    生成したアドレスデータに基づいて、第2のエラー検出符号を生成するステップと、
    前記第1のエラー検出符号と、前記第2のエラー検出符号とに基づいて、前記アドレスデータのエラーを検出するステップを備えたエラー検出方法。
  9. 第1の装置から第2の装置にデータバスを介して出力されるデータのエラーを検出するエラー検出方法であって、
    前記第1の装置が前記第2の装置に前記データバスを介してデータを出力した場合に、当該データに基づいて第1のエラー検出符号を生成するステップと、
    前記第1のエラー検出符号を前記データバスとは異なるエラー検出符号用バスに出力するステップと、
    前記第1の装置から前記データバスに出力され、前記第2の装置に入力されるデータに基づいて第2のエラー検出符号を生成するステップと、
    前記第1のエラー検出符号と、前記第2のエラー検出符号とに基づいて、前記データのエラーを検出するステップを備えたエラー検出方法。
JP2009054454A 2009-03-09 2009-03-09 情報処理装置及びエラー検出方法 Pending JP2010211347A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009054454A JP2010211347A (ja) 2009-03-09 2009-03-09 情報処理装置及びエラー検出方法
US12/656,598 US20100229077A1 (en) 2009-03-09 2010-02-04 Information processing apparatus and error detection method
DE102010010369A DE102010010369A1 (de) 2009-03-09 2010-03-05 Informationsverarbeitungsvorrichtung und Fehlererkennungsverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009054454A JP2010211347A (ja) 2009-03-09 2009-03-09 情報処理装置及びエラー検出方法

Publications (1)

Publication Number Publication Date
JP2010211347A true JP2010211347A (ja) 2010-09-24

Family

ID=42679325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009054454A Pending JP2010211347A (ja) 2009-03-09 2009-03-09 情報処理装置及びエラー検出方法

Country Status (3)

Country Link
US (1) US20100229077A1 (ja)
JP (1) JP2010211347A (ja)
DE (1) DE102010010369A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113218B1 (en) 2020-04-27 2021-09-07 Renesas Electronics Corporation Semiconductor device and method for protecting bus
EP3905047A1 (en) 2020-04-27 2021-11-03 Renesas Electronics Corporation Semiconductor device and system using the same

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3003054B1 (fr) * 2013-03-06 2016-08-19 Sagem Defense Securite Procede et dispositif de filtrage de transactions pour systeme sur puce
GB2529217A (en) * 2014-08-14 2016-02-17 Advanced Risc Mach Ltd Transmission control checking for interconnect circuitry
US9934117B2 (en) * 2015-03-24 2018-04-03 Honeywell International Inc. Apparatus and method for fault detection to ensure device independence on a bus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63223852A (ja) * 1987-03-12 1988-09-19 Nec Corp 情報処理装置
JPH07200419A (ja) * 1993-12-28 1995-08-04 Nec Corp バスインタフェース装置
JP2006155488A (ja) * 2004-12-01 2006-06-15 Sony Corp データ処理装置およびデータ処理方法
US20080307285A1 (en) * 2007-06-08 2008-12-11 Samsung Electronics Co., Ltd. Memory devices and systems including error-correction coding and methods for error-correction coding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612269A (ja) 1992-06-25 1994-01-21 Hitachi Ltd バス通信手段
US5909541A (en) * 1993-07-14 1999-06-01 Honeywell Inc. Error detection and correction for data stored across multiple byte-wide memory devices
JP4773410B2 (ja) 2007-08-28 2011-09-14 シャープ株式会社 導光板、面光源装置、および液晶表示装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63223852A (ja) * 1987-03-12 1988-09-19 Nec Corp 情報処理装置
JPH07200419A (ja) * 1993-12-28 1995-08-04 Nec Corp バスインタフェース装置
JP2006155488A (ja) * 2004-12-01 2006-06-15 Sony Corp データ処理装置およびデータ処理方法
US20080307285A1 (en) * 2007-06-08 2008-12-11 Samsung Electronics Co., Ltd. Memory devices and systems including error-correction coding and methods for error-correction coding

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113218B1 (en) 2020-04-27 2021-09-07 Renesas Electronics Corporation Semiconductor device and method for protecting bus
EP3905604A1 (en) 2020-04-27 2021-11-03 Renesas Electronics Corporation Semiconductor device and method for protecting bus
EP3905047A1 (en) 2020-04-27 2021-11-03 Renesas Electronics Corporation Semiconductor device and system using the same
US11500708B2 (en) 2020-04-27 2022-11-15 Renesas Electronics Corporation Semiconductor device and system using the same
US11531579B2 (en) 2020-04-27 2022-12-20 Renesas Electronics Corporation Semiconductor device and system using the same
US11580043B2 (en) 2020-04-27 2023-02-14 Renesas Electronics Corporation Semiconductor device and method for protecting bus
US11847078B2 (en) 2020-04-27 2023-12-19 Renesas Electronics Corporation Semiconductor device and method for protecting bus

Also Published As

Publication number Publication date
DE102010010369A1 (de) 2010-10-21
US20100229077A1 (en) 2010-09-09

Similar Documents

Publication Publication Date Title
JP6050083B2 (ja) 半導体装置
US10248580B2 (en) Method and circuit for protecting and verifying address data
US9191030B2 (en) Memory controller, data storage device, and memory controlling method
CN105373441B (zh) 用于互连电路的传输控制检查
US9311206B2 (en) Method and apparatus for monitoring general purpose input output, GPIO, signals
JP2010211347A (ja) 情報処理装置及びエラー検出方法
JP2015118468A (ja) プログラマブルコントローラ
US20050081129A1 (en) Bus device that concurrently synchronizes source synchronous data while performing error detection and correction
US11823759B2 (en) Testing of fault detection circuit
US20100312986A1 (en) Semiconductor integrated circuit
JP2006513471A (ja) メモリアクセスエラーの検出及び/又は訂正方法、並びにこの方法を実行するための電子回路構成
US20200349001A1 (en) System and Method for Transparent Register Data Error Detection and Correction via a Communication Bus
US10891186B2 (en) Semiconductor device and semiconductor system including the same
US10401419B2 (en) Failure detection circuit, failure detection system and failure detection method
JP4954249B2 (ja) 電子端末装置及び電子連動装置
JP5006121B2 (ja) 論理検証装置、論理検証方法
JP6109090B2 (ja) シリアル通信装置
JP2011154551A (ja) 誤り検出訂正装置及び方法並びにメモリ装置
US20220391524A1 (en) Interconnection of protected information between components
JP5325032B2 (ja) 多重系システムの高信頼性制御装置
US20100223527A1 (en) Data protection circuit, data protection method, and data processing apparatus
US20140372837A1 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
JP2006195863A (ja) エラー検出装置
KR970002401B1 (ko) 디지탈 시스템 버스상의 오류 검출/정정 장치 그 방법
JP2006011576A (ja) 高信頼性制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130521