JP6050083B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP6050083B2
JP6050083B2 JP2012230383A JP2012230383A JP6050083B2 JP 6050083 B2 JP6050083 B2 JP 6050083B2 JP 2012230383 A JP2012230383 A JP 2012230383A JP 2012230383 A JP2012230383 A JP 2012230383A JP 6050083 B2 JP6050083 B2 JP 6050083B2
Authority
JP
Japan
Prior art keywords
signal
circuit
bit width
output
bit
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.)
Active
Application number
JP2012230383A
Other languages
English (en)
Other versions
JP2014081853A (ja
Inventor
雅之 伊藤
雅之 伊藤
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 JP2012230383A priority Critical patent/JP6050083B2/ja
Priority to EP13188611.1A priority patent/EP2722760B1/en
Priority to US14/054,168 priority patent/US9329927B2/en
Priority to CN201310487949.4A priority patent/CN103778028B/zh
Publication of JP2014081853A publication Critical patent/JP2014081853A/ja
Application granted granted Critical
Publication of JP6050083B2 publication Critical patent/JP6050083B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Hardware Redundancy (AREA)
  • Manipulation Of Pulses (AREA)
  • Computer Hardware Design (AREA)

Description

本発明は、半導体装置に関し、プロセッサ(CPUコア)を備えた半導体装置に関する。
機能安全(Functional Safety)等の向上のために、半導体装置の稼動中に故障(障害)をいち早く、且つ、高精度に検出することが要求される。ここで、機能安全とは、安全機能が正しく動作することによって実現される安全性をいう。例えば車載電子機器等の機能安全規格として国際標準化機構のISO26262(ISO: International Organization for Standardization)がある。誤動作等による障害発生時に安全側に制御するフェールセーフ機能や、部品等に障害発生した場合でもシステムを停止することなく正常に稼動を続けられるようにしたフォールトトレラント機能等を実現するための一例として、ロックステップ方式(lockstep system)が用いられている。デュアルコア・ロックステップ方式は、同一構成の二つのプロセッサ(CPU(Central Processing Unit)コア)で同一の処理を実行し、その差を検出することで、故障を検出する。
ロックステップ・フォールトトレラント・コンピュータシステムとして、例えば特許文献1の記載が参照される。特許文献1には、サブシステムが、個々に、内部モジュールの動作の実際の比較を可能にするためのデータ圧縮に使用する並列入力シグネチャ生成器と、ロックステップ・サブシステムの内部モジュールの出力を記憶する論理解析器と、を含む。同期はずれ事象が起こった後、論理解析器のトレースを自動的に探索して、動作中の第1差分の位置を突き止め、どの内部モジュールが障害のある出力を与えたかを判別し、続いて、そのモジュールを故障であると標識するようにした構成とされている。
プロセッサの出力信号を圧縮して比較する関連技術として、例えば特許文献2には、同じ処理を並列に実行する第1、第2の処理部を備えた比較冗長型情報処理装置において、夫々の処理部が実行したデータの一致、不一致を比較判定する診断部を備え、前記診断部が、前記プロセッサが実行する前記演算データについて、ハッシュ演算を実行して、当該演算データを圧縮して要約情報とする要約情報変換部と、要約情報記憶部に記憶された一方の前記要約情報と、他の前記診断部が処理した他方の前記要約情報とを比較して、一致しているか否かを判定する比較部を備え、前記演算データを圧縮した要約情報を相互に比較して一致または不一致を判定して系統選択部に判定信号を出力する構成が開示されている。
特許文献3には、複数のマイクロプロセッサ(CPU1、CPU2)をクロック同期運転させ、同期運転状態の各マイクロプロセッサ(CPU1、CPU2)のバス出力(2〜2)を比較することにより、故障の有無を監視するフェールセーフ処理装置における故障検出装置において、各マイクロプロセッサ(CPU1、CPU2)の多ビットのバス出力(2〜2)の所定の単位を、各ビットあるいは複数ビット単位に直列にそれぞれ符号圧縮する圧縮処理部と、該圧縮処理部より出力される各圧縮データを直列に比較し、動作不一致の場合の故障を検出する比較部を有するバス比較器を備えた構成が開示されている。
特許文献4には、2重化構成の各装置へのテスト入力として、ランダムパタンを生成するテスト用パタン生成器と、テスト入力に伴う各装置からの出力を時間的に圧縮して固有の圧縮値を生成する圧縮器と、各装置へのテスト入力終了時、圧縮器の出力を、2を法(modulo)として加算する加算器と、前記加算器の加算結果が各装置へのランダムパタンのパタン入力数に依存して決定される所定パタンに一致するか比較する比較器を備えた構成が開示されている。
特許文献5には、第1のマイクロプロセッサのアドレスバスまたはデータバスに現れる多ビットデータの履歴を圧縮して符号化する第1の符号解析器(LFSR:Liner Feedback Shift Register)と、第2のマイクロプロセッサのアドレスバスまたはデータバスに現れる多ビットデータの履歴を、前記第1の符号解析器における手順と同一手順により圧縮して符号化する第2の符号解析器と、前記第1の符号解析器により得られた符号と、前記第2の符号解析器により得られた符号とを比較する照合手段を備え、マイクロプロセッサの処理負担を抑制しつつ、障害を高精度かつ高速に検出可能とした構成が開示されている。
図1に、クロック遅延型デュアルコア・ロックステップ方式(scheme)の半導体装置のプロトタイプ例を示す。図1を参照すると、この半導体装置は、通常動作用の第1のプロセッサ(CPUコア)10と、通常動作用のプロセッサの動作を監視する第2のプロセッサ(CPUコア)20と、入力制御回路30と、出力比較回路40’と、を備えている。デュアルコア・ロックステップシステムを構成する第1、第2のプロセッサ10、20は、同一構成とされ、それぞれ「Masterコア」、「Checkerコア」ともいう。特に制限されないが、各プロセッサ(10、20)は、例えばCPU、キャッシュメモリ、キャッシュコントローラ、割り込みコントローラ(INTC:Interrupt Controller)、割り込みインタフェース、バスインタフェース等を備えている。あるいは、さらに、浮動小数点演算を行う浮動小数点ユニット(FPU:Floating Processing Unit)、外部メモリへのアクセス制御を行うメモリ保護ユニット(MPU:Memory Protection Unit)、外部ペリフェラル(アドレス空間)にアクセスするペリフェラルインタフェース等を備えた構成としてもよい。
入力制御回路30へ入力されるCPU入力は、第1のプロセッサ(Masterコア)10へ入力される信号を表している。CPU入力は、例えば第1のプロセッサ10による、例えば不図示のメモリやIO機器等へのアクセスに対する当該メモリやIO機器からの応答として、第1のプロセッサ10に入力される信号に対応する。フリップフロップ(FF)31、32は、CPU入力を所定サイクル遅延させる遅延回路として機能する。フリップフロップ(FF)31、32の各々は、例えばクロック信号の立ち上がりエッジでデータ端子に入力される信号をサンプルして出力するエッジトリガー型Dフリップフロップ(D-FF)で構成される。2段カスケード接続されたフリップフロップ(FF)31、32はシフトレジスタとして機能し、CPU入力は、クロック信号をシフトクロックとして転送され、例えば2クロックサイクル遅延してフリップフロップ(FF)32から出力される。あるいは、フリップフロップ(FF)31がクロック信号の立ち上がりエッジでデータ端子に入力される信号をサンプルし、フリップフロップ(FF)32がクロック信号の立ち下がりエッジでデータ端子に入力される信号をサンプルする構成の場合、フリップフロップ(FF)31、32は遅延時間1.5クロックサイクルの遅延回路として機能する。
第2のプロセッサ20には、第1のプロセッサ10に入力される信号(CPU入力)を、フリップフロップ31、32で遅延させた信号が入力される。第2のプロセッサ20では、第1のプロセッサ10と同一の信号を、例えば2クロックサイクル数分遅れて入力し、第1のプロセッサ10と同一の処理を、2クロックサイクル数分、遅れて実行する。第1、第2のプロセッサ10、20における処理タイミングを遅延(分散)させることで、消費電力のピーク等を分散させる。
なお、図1において、第1、第2のプロセッサ10、20への入力信号(CPU入力)は、複数ビット(並列ビット)であってよいことは勿論である。この場合、入力制御回路30において、フリップフロップ(FF)31、32は、それぞれ、複数ビットに対応した分、複数個、並列配置される。以下に説明される図面についても同様である。
出力比較回路40’において、2段のフリップフロップ41、42は、第1のプロセッサ10から並列に出力されるnビット信号(Master出力)を、入力制御回路30のフリップフロップ31、32と同一の遅延時間分遅延させる遅延回路として機能する。フリップフロップ(FF)41、42の各々は、例えば不図示のクロック信号の立ち上がりエッジ等で、データ端子に入力される信号をサンプルして出力するエッジトリガー型Dフリップフロップ(D-FF)で構成され、nビット出力に対応して、フリップフロップがn個並列に配置される。図1において、FF×nは1ビットのフリップフロップ(FF)がn個並列配置されていることを表している。
第1のプロセッサ10から出力されるnビット信号(Master出力)を、2段のフリップフロップ41、42で、例えば2クロックサイクル数分、遅らせる。
一致比較回路43では、n個のフリップフロップ42から並列に出力されるnビット信号と、第1のプロセッサ10からの出力に対して2クロックサイクル遅れて第2のプロセッサ20から出力されるnビット信号(Checker出力)とが一致するかチェックする。一致比較回路43は、2組のnビット信号の対応するビット同士が互いに一致するかビット毎(bit-wise)に比較する。
フリップフロップ44は、一致比較回路43による比較結果出力(1ビット)を、クロック毎にサンプルし、比較エラー有無信号として出力する。比較エラー有の場合、プロセッサでデータ破壊等のエラーが生じていることになる。この場合、第1、第2のプロセッサ10、20等では、機能安全目標等に対応して予め定められた処理、が実行される。なお、図1において、第1、第2のプロセッサ10、20には、クロック信号clock、クロック信号の活性化を制御する制御信号であるクロックイネーブル信号clock_enable、リセット信号resetは、第1、第2のプロセッサ10、20に共通に入力される。また、入力制御回路30、出力比較回路40’にも、第1、第2のプロセッサ10、20と共通にクロック信号clock、リセット信号resetが入力される。
特開平10−116258号公報 特開2011−123545号公報 特開平05−324391号公報 特開平01−265171号公報 特開2011−128821号公報
以下に、図1のプロトタイプ例に関する分析を与える。
図1に示すように、第1のプロセッサ10からの出力信号(nビット)を第2のプロセッサ20の出力信号(nビット)と比較するために、第1のプロセッサ10の出力信号(nビット)を例えば2クロックサイクル分遅延させる遅延回路(2段のフリップフロップ41、42)が必要である。このような2クロック遅延方式の場合、第1のプロセッサ10の出力信号(例えば2000ビット並列出力)を、第2のプロセッサ20の出力信号(例えば2000ビット)と比較するために、出力比較回路40’では、2段のフリップフロップ(FF×n)41、42として、2000×2段=4000個のフリップフロップが必要となる。この結果、回路面積が増大し、電力も増大する。その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施形態によれば、第1及び第2のプロセッサと、前記第1のプロセッサに入力する信号を予め定められた所定サイクル遅延させ、前記第2のプロセッサに入力する第1の遅延回路と、前記第1のプロセッサから並列に出力されるnビット出力信号を入力しmビット(ただし、m<nの正整数)に圧縮して並列出力する第1の圧縮回路と、前記第2のプロセッサから並列に出力されるnビット出力信号を入力しmビットに圧縮して並列出力する第2の圧縮回路と、前記第1の圧縮回路から出力されるmビット信号を入力し前記所定サイクル分遅延させて並列出力する第2の遅延回路と、前記第2の遅延回路から並列に出力されるmビット信号と、前記第2の圧縮回路から並列に出力されるmビット信号の対応するビット同士が互いに一致するか否か比較する一致比較回路と、を備えている。
前記実施形態によれば、プロセッサのビット幅nの出力信号をビット幅mに圧縮して遅延回路に入力し、遅延回路を構成するフリップフロップ1段当りの個数をnからm(m<n)に削減し、クロック遅延型ロックステップ方式の半導体装置の回路面積や消費電力の増大の抑制あるいは削減を可能としている。
プロトタイプを例示した図である。 実施形態1の構成を例示する図である。 実施形態1におけるnbit→mbit出力圧縮回路の構成を例示する図である。 実施形態2におけるnbit→mbit出力圧縮回路の構成を例示する図である。 実施形態3におけるnbit→mbit出力圧縮回路の構成を例示する図である。 実施形態4における出力比較回路の構成を例示する図である。 実施形態5における一致比較回路の構成を例示する図である。 実施形態6の構成を例示する図である。 実施形態7におけるnbit→mbit出力圧縮回路の構成を例示する図である。
一実施形態において、半導体装置は、図2を参照すると、第1及び第2のプロセッサ(10、20)と、前記第1のプロセッサに入力する信号を入力し前記信号を予め定められた所定サイクル遅延させて前記第2のプロセッサに入力する第1の遅延回路(31、32)を備えている。さらに、前記第1のプロセッサ(10)から出力されるビット幅nの信号を入力し、前記ビット幅nの信号をビット幅m(ただし、m<n)の信号に圧縮する第1の圧縮回路(45)を備えている。さらに、前記第2のプロセッサ(20)から出力されるビット幅nの信号を入力し、前記ビット幅nの信号をビット幅mの信号に圧縮する第2の圧縮回路(46)と、前記第1の圧縮回路(45)から出力されるビット幅mの信号を入力し、前記ビット幅mの信号を、前記第1の遅延回路の遅延に等しい前記所定サイクル分遅延させて出力する第2の遅延回路(41、42)と、前記第2の遅延回路から出力されるビット幅mの信号と、前記第2の圧縮回路から出力されるビット幅mの信号を入力し、入力した信号の対応するビット同士が互いに一致するか否か比較する一致比較回路(43)を備えている。前記第1及び第2の圧縮回路(45、46)の各々が、前記ビット幅nの信号を前記ビット幅mの信号に圧縮する回路としてハッシュ関数(圧縮関数)回路(47)を備えている。
一実施形態において、前記第1及び第2の圧縮回路(45、46)の各々が、前記ビット幅nの信号を、複数のグループに区分し、前記複数のグループの信号のうち、少なくとも1つのグループの信号のビット幅を少なくとも1ビットの信号に圧縮して出力する少なくとも1つのハッシュ関数回路(図5の47〜47又は図4の47〜47)を備え、少なくとも1つのハッシュ関数回路の出力信号と、前記少なくとも1つのグループ以外の残りのグループがある場合、前記残りのグループの信号のビット数(図5のd)の和が前記mである。
前記第1及び第2の圧縮回路(45、46)の各々が、前記ビット幅nの信号を、m個のグループに区分し、前記m個のグループの信号のビット幅をそれぞれ1ビットの信号に圧縮して出力するm個のハッシュ関数(圧縮関数)回路(図4の47〜47)を備えた構成としてもよい。
前記m個のハッシュ関数(圧縮関数)回路(図4の47〜47)が、圧縮率が互いに異なる少なくとも2つのハッシュ関数(圧縮関数)回路を含む。
前記第1及び第2の圧縮回路(45、46)の各々が、前記ビット幅nの信号を(s+1)個のグループに区分し、1つのグループの信号のビット幅d(d+s=m)は圧縮せずにそのまま出力し、他のs個のグループの信号のビット幅をそれぞれ1ビットに圧縮するs個のハッシュ関数(圧縮関数)回路(図5の47〜47)を備える。
前記第2の圧縮回路(46)のビット幅mの信号のうち、予め定められたkビットの信号をサンプルする第1のサンプリング回路(リタイミング(re-timing)回路)(図6の49)を備え、前記第2の遅延回路(41、42)から出力されるビット幅mの信号のうち、前記第1のサンプリング回路でサンプルするkビットに対応したkビットの信号をサンプルする第2のサンプリング回路(リタイミング(re-timing)回路)(図6の48)を備え、前記第2の圧縮回路(46)のビット幅mの信号のうち、前記第1のサンプリング回路(49)でサンプルしたkビットの信号と、残りの(m−k)ビット、及び、前記第2の遅延回路(41、42)から出力されるビット幅mの信号のうち、前記第2のサンプリング回路(48)でサンプルしたkビットの信号と、残りの(m−k)ビットが、前記一致比較回路(43)に入力される構成としてもよい。
前記第1及び第2のサンプリング回路(リタイミング(re-timing)回路)(48、49)の各々が、前記kビットの信号をクロック信号のトリガーエッジに応答して入力をサンプルして出力する、k個並列に接続されたフリップフロップを含む構成としてもよい。一致比較回路(43)等によるクリティカルパスを解消したことで、時間余裕度(タイミングマージン)の確保等のために、クロック周波数を低下させることが回避され、高速動作(高いクロック周波数)に対応可能としている。
前記一致比較回路(43)において、前記第2の遅延回路(41、42)から出力されるビット幅mの信号を、(s+1)個のグループに区分し、前記第2の圧縮回路(46)から出力されるビット幅mの信号を(s+1)個のグループに区分する。前記第2の遅延回路と前記第2の圧縮回路からそれぞれ出力される第1のグループの信号同士を比較し1ビットの比較結果を出力する第1の一致比較回路(図7の50)、乃至、前記第2の遅延回路と前記第2の圧縮回路からそれぞれ出力される第(s+1)のグループの信号同士を比較し1ビットの比較結果を出力する第(s+1)の一致比較回路(図7の50S+1)を備え、前記第1乃至第(s+1)の一致比較回路(図7の50〜50S+1)の各1ビット出力を入力し、入力した(s+1)ビットの信号の論理演算結果を、前記第2の遅延回路と前記第2の圧縮回路から出力されるビット幅mの信号の比較結果として出力する論理回路(図7の52)を備えた構成としてもよい。
前記第1乃至第(s+1)の一致比較回路(図7の50〜50s+1)の出力のうち、予め定められた少なくとも1つの出力を入力し、前記入力をサンプルして前記論理回路(52)に入力する、少なくとも1つの第3のサンプリング回路(リタイミング(re-timing)回路)(図7の51〜51)を備えた構成としてもよい。前記第3のサンプリング回路(リタイミング(re-timing)回路)(図7の51〜51)が、クロック信号のトリガーエッジに応答して入力をサンプルして出力するフリップフロップを含む構成としてもよい。
前記第1及び第2のプロセッサ(10、20)に対してクロック信号を共通に供給するか、一方のプロセッサへのクロック信号の供給を停止させる制御を行う回路(図8の60)を備えた構成としてもよい。
前記第1の遅延回路が、予め定められた所定段数カスケード接続され、各段毎、入力のビット数に対応した個数並置され、クロック信号のトリガーエッジに応答して入力をサンプルして出力するフリップフロップ(図2の31、32)を含む。
前記第2の遅延回路が、予め定められた所定段数カスケード接続され、各段毎、m個並置され、クロック信号のトリガーエッジに応答して入力をサンプルして出力するフリップフロップ(図2の41、42)を含む。
前記第1及び第2の圧縮回路(45、46)の各々が、前記ビット幅nの信号を、複数のグループに区分し、前記複数のグループの信号のうちの1つのグループの信号又は複数のグループの信号に対応したハッシュ関数回路として、前記グループの信号に関して複数ビットエラーの検出を可能とする符号をなし、前記入力した信号のビット幅(図9のy1、・・・yd)を圧縮したビット幅(図9のz1、・・・zd)の信号を出力する符号化回路(図9の47A〜47A)を含む構成としてもよい。
第1のプロセッサ(10)のビット幅nの出力信号をビット幅mに圧縮して遅延回路(41、42)に入力し、遅延回路(41、42)を構成するフリップフロップ1段当りの個数をnからm(m<n)に削減し、クロック遅延型ロックステップ方式の半導体装置の回路面積や消費電力の増大の抑制あるいは削減する。また、第2のプロセッサ(20)のビット幅nの出力信号をビット幅mに圧縮し、遅延回路(41、42)のビット幅mの出力と一致比較することで、nビットの一致比較を行う場合と比べて、回路面積や消費電力を低減可能としている。以下では、上記した実施形態について図面を参照してさらに詳細に説明する。
<実施形態1>
図2は、実施形態1の構成を示す図である。なお、図2において、図1の要素と同一又は同等な要素には同一の参照符号が付与されている。以下では、図1との重複部分の説明は必要に応じて適宜省略する。図2を参照すると、この半導体装置は、デュアルコア・ロックステップのMasterコア、Checkerコアとして機能する第1、第2のプロセッサ10、20と、入力制御回路30と、出力比較回路40を備えている。入力制御回路30は、第1のプロセッサ10に入力する信号(CPU入力)を、遅延回路として機能する2段のフリップフロップ31、32で所定のクロックサイクル(例えば2クロックサイクル)遅延させて、第2のプロセッサ20に入力する。
出力比較回路40では、第1のプロセッサ10のビット幅nの出力信号(Master出力)を、nbit→mbit出力圧縮回路45にてビット幅m(m<n)に圧縮してから、遅延回路として機能する2段のフリップフロップ41、42に入力される。フリップフロップ(FF)41、42の各々は、例えばクロック信号の立ち上がりエッジ等で、データ端子に入力される信号をサンプルして出力するエッジトリガー型Dフリップフロップで構成され、mビットに対応して、フリップフロップがm個並列に配置される。なお、図2のFF×mは1ビットのFFがm個並列配置されていることを表している(以下の図面も同様である)。2段のフリップフロップ41、42は、フリップフロップ31、32と同一の遅延時間(所定のクロックサイクル:例えば2クロックサイクル)、nbit→mbit出力圧縮回路45の出力を遅延させる。
また、出力比較回路40では、第2のプロセッサ20のビット幅nの出力信号(Checker出力)を、nbit→mbit出力圧縮回路46にて、ビット幅mに圧縮する。mビットの一致比較回路43では、m個のフリップフロップ42の出力信号(mビット)と、nbit→mbit出力圧縮回路46の出力信号(mビット)とをビット毎に比較し、1ビットの比較結果を出力する。フリップフロップ44は、一致比較回路43の出力信号をクロック信号に同期してサンプルする。nbit→mbit出力圧縮回路45、46は同一圧縮論理、同一構成としてもよい。なお、図2において、第1、第2のプロセッサ10、20には、クロック信号clock、クロック信号の活性化を制御するクロックイネーブル信号clock_enable、リセット信号resetは、第1、第2のプロセッサ10、20に共通に入力される。
実施形態1によれば、nbit→mbit出力圧縮回路45で第1のプロセッサ10のビット幅nの出力信号(Master出力)をビット幅mに圧縮し、圧縮後のmビット信号を2段のフリップフロップ41、42で遅延させる。そして、第2のプロセッサ20のビット幅nの出力信号(Checker出力:Master出力よりも例えば2クロックサイクル遅れて出力される)をnbit→mbit出力圧縮回路46でビット幅mに圧縮した信号と、m個のフリップフロップ42からのビット幅mの出力信号とを比較する。
実施形態1によれば、出力比較回路40において、第1のプロセッサ10の出力信号(Master出力)を遅延させる遅延回路として、2×m個のフリップフロップと、一致比較回路として、mビットの一致比較回路で対応可能である。一方、図1の構成では、デュアルコア・ロックステップの第1、第2のプロセッサのnビット出力信号に対して、第1のプロセッサのnビット出力信号の遅延用の2n個のフリップフロップと、第1、第2のプロセッサのnビット出力信号の一致比較用のnビットの一致比較回路が必要とされる。
したがって、実施形態1によれば、出力比較回路40のフリップフロップ41、42の数を、図1の2×n個から、2×m個に削減している。また、本実施形態によれば、一致比較回路43で比較する信号のビット数をnビットから、mビットに削減している。このため、プロセッサの出力信号のビット幅の増大に対して、回路面積の増大の抑制、消費電流の増大を抑制することができる。
図3は、図2のnbit→mbit出力圧縮回路45(46)の構成を示す図である。nbit→mbit出力圧縮回路45(46)は、圧縮関数として、ハッシュ関数(ハッシュ関数回路)47を用いている。ハッシュ関数47は、データに対して当該データを代表する数値(ハッシュ値)を割当てる関数である。この場合、ハッシュ関数47は、nビットの信号をmビットの信号(ハッシュ値)に圧縮する。ハッシュ関数47は、ビット幅nの入力(最大2通りの値をとる)を、ビット幅mのハッシュ値(最大2通りの値をとる)にマッピングする。ハッシュ関数は、異なる入力に対してハッシュ値が同一となる(衝突する)場合がある。8ビット(最大256通りの異なる値)の入力を4ビットの値(32通りの異なるハッシュ値)にマッピングすると、例えば、異なる8つの入力に一つのハッシュ値が共通に割当てられる場合がある。nビットの信号が、例えば、異なる2通りの固定値しかとらない場合には、mビットへの圧縮にあたり、ハッシュ値の衝突を回避可能なハッシュ関数(完全ハッシュ関数)を構成することが可能である。
<実施形態2>
図4は、実施形態2におけるnbit→mbit出力圧縮回路45(46)の構成例を示す図である。実施形態2では、nbit→mbit出力圧縮回路45(46)は、nビットの信号をグループ化して、グループ毎に圧縮レベルを可変に設定できるようにしている。すなわち、nビットの信号は、p1、p2、・・・pmビットのm個のグループ(第1乃至第mのグループ)にグループ化される。図4のp1、p2、・・・pm、m、nの間には、以下の(1)が成り立つ。
Figure 0006050083
p1−入力XOR(排他的論理和)47乃至pm−入力XOR47は、それぞれ、p1乃至pmビットの信号を1ビットのハッシュ値(1又は0)にマッピングするハッシュ関数である。例えばp1ビットの第1のグループは、p1−入力XOR47に入力される。p1−入力XOR47は、p1ビットの信号の排他的論理和演算結果(1ビット)を出力する。p1−入力XOR47の出力は、p1ビットのうち「1」の数が偶数個の場合、「0」、「1」の数が奇数個の場合、「1」となる(圧縮率p1:1)。
p2ビットの第2のグループは、p2−入力XOR47に入力される。p2−入力XOR47は、p2ビットの信号の排他的論理和演算結果(1ビット)を出力する。p2−入力XOR47の出力の出力は、p2ビットのうち「1」の数が偶数個の場合、「0」、奇数個の場合、「1」となる(圧縮率p2:1)。
pmビットの第mのグループは、pm−入力XOR47に入力される。pm−入力XOR47は、pmビットの排他的論理和演算結果(1ビット)を出力する。pm−入力XOR47の出力は、pmビットのうち「1」の数が偶数個の場合、「0」、奇数個の場合、「1」となる(圧縮率pm:1)。これらp1−入力XOR47乃至pm−入力XOR47の各々より1ビット、計mビットの信号が並列に出力される。
上記p1−入力XOR47乃至pm−入力XOR47の各々は、パリティチェック方式のパリティ発生回路に対応する。パリティ発生回路(偶数パリティ発生回路)は、入力信号における「1」の出現数(個数)が偶数個のときパリティビット=「0」、入力信号における「1」の出現数(個数)が奇数個のときパリティビット=「1」とする。
圧縮論理の一例として、例えば2000ビットの出力信号が存在する場合(n=2000)、2000ビットを100ビットずつ20のグループにグループ化(図4m=20、p1〜pm=100)して、グループ毎に、100ビットのXOR演算結果である1ビットを出力する構成の場合、m=20となり、出力比較回路40において、2段のフリップフロップ41、42は、2×2000=4000個から、2×20=40個に削減できる。
なお、実施形態2において、上記したグループ化にのみに制限されるものでない。また、図4では、複数ビットから1ビットを生成するハッシュ関数回路として、XOR論理(パリティ生成回路)を用いたが、ハッシュ関数回路は、XOR論理に限定されるものでないこと勿論である。
ビット幅の圧縮による、故障検出精度や信頼性等への影響を考慮して、第1、第2のプロセッサ10、20から出力される信号のうち、重要度等に応じて圧縮レベルを変えても良い。
<実施形態3>
図5は、実施形態3におけるnbit→mbit出力圧縮回路45(46)の構成例を示す図である。なお、実施形態3において、半導体装置の全体構成は、図2に示した構成とされる。以下では、nbit→mbit出力圧縮回路45(46)について説明する。
図5を参照すると、実施形態3では、nbit→mbit出力圧縮回路45(46)において、nビットの信号をグループ化して、グループ毎に圧縮レベルを可変に設定するが、例えばアドレス信号、データ信号、制御信号(例えばバスリクエスト、バスレスポンス)等といった重要な信号は圧縮しない(d−ビット)。他の信号は、p1、p2、・・・psビットのs個のグループ(第1乃至第sのグループ)にグループ化され、p1−入力XOR47〜ps−入力XOR47Sより各1ビットが出力される。図5のp1、p2、・・・ps、n、m、s、dの間には、以下の式(2)、(3)が成り立つ。
Figure 0006050083
Figure 0006050083
なお、nbit→mbit出力圧縮回路45(46)を、図5の構成とした場合、一致比較器43には、nbit→mbit出力圧縮回路46からのm(=d+s)ビットと、nbit→mbit出力圧縮回路45からのm(=d+s)ビットをフリップフロップ41、42で遅延させたm(=d+s)ビットが入力され、ビット毎の比較が行われる。その際、アドレス信号、データ信号、バスリクエスト、バスレスポンス等といった重要な信号(dビット)はビット幅の圧縮を受けず、第1、第2のプロセッサ10、20間でビット毎に一致が比較される。
実施形態3によれば、プロセッサから出力されるnビットの出力信号のうち、信頼性確保や故障検出等の上で重要な信号についてビット幅を圧縮せずに、そのままビット毎の比較を行うことで、故障の検出精度の低下は回避される。しかも、全体のビット幅をnからmに減少させることで、前記実施形態1と同様に、遅延回路のフリップフロップの個数を2×nから2×mに削減可能とし、且つ、一致比較回路43での比較ビット数をmビットに減少させ、回路規模の増大の抑制、消費電力の増大の抑制に貢献する。
<実施形態4>
図6は、実施形態4の出力比較回路40の構成を示す図である。実施形態4において、第1、第2のプロセッサ10、20、入力制御回路30は、図2に示した構成とされる。図2の一致比較器43において、例えば第2のプロセッサ20から出力される信号がタイミング的にクリティカルになる場合がある。そこで、実施形態4では、一致比較回路43によるクリティカルパスとなる信号(kビット)について、nbit→mbit出力圧縮回路46からの出力を一旦フリップフロップ49でサンプルしてから一致比較回路43で比較を行うようにしている。
図6を参照すると、nbit→mbit出力圧縮回路46から並列に出力されるmビット信号のうち、kビット(1≦k<m)は、k個並列接続されたフリップフロップ(FF×k)49で一旦サンプルしてから、一致比較回路43に入力し、残りの(m−k)ビットは、直接、一致比較回路43に入力している。nbit→mbit出力圧縮回路45からのmビットの信号を遅延させる2段のフリップフロップ41、42から並列に出力されるmビット信号のうちkビット(nbit→mbit出力圧縮回路46からのmビット出力のうちのkビットに対応する)は、k個並列接続されたフリップフロップ(FF×k)48で一旦サンプルしてから、一致比較回路43に入力し、残りの(m−k)ビットは、直接、一致比較回路43に入力している。フリップフロップ48、49は、例えばクロック信号の立ち上がり又は立ち下がりエッジでデータ端子の信号をサンプルするエッジトリガー型Dフリップフロップで構成される。フリップフロップ48、49は、re-timing用のサンプリング回路である。
nbit→mbit出力圧縮回路46の圧縮処理に要する遅延、一致比較回路43での比較処理に要する遅延等と、クロックサイクル(クロック周波数)の関係から時間余裕度(Timing margin)が少ない、すなわち、信号遅延が厳しい出力信号(kビット)は、フリップフロップ49でサンプルしてから一致比較回路43に入力する。
第1のプロセッサ10のnビット出力(master出力)をmビットに圧縮するnbit→mbit出力圧縮回路45の出力を遅延させる2段のフリップフロップ41、42のmビット信号のうち、nbit→mbit出力圧縮回路46の出力信号のkビット(フリップフロップ49でサンプルされる)に対応するkビットは、フリップフロップ48を介して、一致比較回路43に入力する。
クロックサイクル内の例えば後半等所定のタイミングでプロセッサから出力される信号について、nbit→mbit出力圧縮回路46の圧縮処理で遅延された結果、nbit→mbit出力圧縮回路46の出力信号(kビット)の比較を行う一致比較回路43での比較処理が、例えば当該クロックサイクル内に完了しなくなる場合等において、kビットの信号は、フリップフロップ48、49によるサンプル出力(フリップフロップ48、49は、クロック信号のエッジでサンプルした値を、次のクロックのエッジまでの1クロックサイクルの間、保持する)を比較すればよいため、比較動作を安定させ、誤検出等を回避することができる。また、一致比較回路43等によるクリティカルパスを解消したことで、時間余裕度(タイミングマージン)の確保等のために、クロック周波数を低下させることが回避され、高速動作(高いクロック周波数)に対応可能としている。
<実施形態5>
図7は、実施形態5の構成を示す図である。実施形態5において、半導体装置の全体構成は、図2に示した構成とされる。図7には、実施形態5における一致比較回路43の構成が示されている。実施形態5では、プロセッサから出力される信号のうち、タイミング的にクリティカルな信号について、少ない信号数でグループ化して、先に一致比較してから、比較結果(1ビット)を、フリップフロップ51〜51S(図7)でサンプルする。
図2の第1のプロセッサ10のnビット出力(master出力)をmビットに圧縮するnbit→mbit出力圧縮回路45の出力を遅延させる2段のフリップフロップ41、42のmビット信号と、第2のプロセッサ20のnビット出力(checker出力)をmビットに圧縮するnbit→mbit出力圧縮回路46のmビット信号とに関して、図7に示すように、(s+1)個のグループにグループ分けする。第1乃至第sのグループと、第(s+1)のグループは、それぞれ、m1乃至m、及び、mビットとされ、m1乃至m、d、mの間には以下の式(4)が成り立つ。
Figure 0006050083
第1のグループのmビット同士は、mビット幅の信号の比較を行うm-bit一致比較回路50で対応するビット毎の比較を行う。
第sのグループのmビット同士は、mビット幅の信号の比較を行うm-bit一致比較回路50で対応するビット毎の比較を行う。
第(s+1)のグループのmビット同士は、mビット幅の信号の比較を行うm-bit一致比較回路50s+1で対応するビット毎の比較を行う。
-bit一致比較回路50乃至m-bit一致比較回路50の各1ビット出力信号は、フリップフロップ51乃至51でサンプルされ、(s+1)入力AND回路52の第1乃至第sの入力端子に入力される。フリップフロップ51乃至51は、例えばエッジトリガー型Dフリップフロップで構成される。フリップフロップ51乃至51は、re-timing用のサンプリング回路である。
-bit一致比較回路50S+1の1ビット出力信号は(s+1)入力AND回路52の第(s+1)の入力端子に入力される。(s+1)入力AND回路52は、m-bit一致比較回路50乃至m-bit一致比較回路50s+1の各1ビット出力が全てHighのとき、Highを出力し、m-bit一致比較回路50乃至m-bit一致比較回路50s+1の出力のうち1つでもLowであれば、Lowを出力する。
実施形態5によれば、一致比較回路43を、複数の一致比較回路50〜50で構成しており、複数の一致比較回路50〜50の回路規模、遅延は、mビットの信号同士を比較する一致比較回路43と比べて、特段に小さくなる。
また、実施形態5によれば、タイミング的にクリティカルな信号をフリップフロップ51〜51sでサンプルして、(s+1)入力AND回路52に入力しているため、クロック周波数の低下等は回避され、高速動作(高いクロック周波数)に対応可能としている。さらに、実施形態5によれば、前記各実施形態1乃至4と同様、プロセッサの出力信号のビット幅nをビット幅mに圧縮してからフリップフロップ41、42に入れて遅延させる構成としたことで、フリップフロップ41、42の個数を削減した分だけ、面積および消費電流を低減することができる。
<実施形態6>
図8は、実施形態6の構成を示す図である。図8と図2との相違点は、clock/reset生成部60を備え、第1のプロセッサ(masterコア)10と、第2のプロセッサ(Checkerコア)20間で、クロック信号、クロックイネーブル信号、リセット信号を共通とせず、分離しておく。clock/reset生成部60は、第1のプロセッサ(masterコア)10に対してクロック信号clock_m、クロックイネーブル信号clock_enable_m、リセット信号reset_mを供給し、第2のプロセッサ(Checkerコア)20に対してクロック信号clock_c、クロックイネーブル信号clock_enable_c、リセット信号reset_cを供給する。
clock/reset生成部60は、例えばロックステップモードで動作時に、クロック信号clock_m、clock_cとして共通のクロック信号を供給し、クロックイネーブル信号clock_enable_m、clock_enable_c、リセット信号reset_m、reset_cも共通のクロックイネーブル信号、共通のリセット信号を供給する。
ロックステップモードで動作しない場合等、第2のプロセッサ20が不要な場合、clock/reset生成部60は、第2のプロセッサ20へのクロック信号clock_cの供給を停止してその動作を停止させ、第1のプロセッサ0にのみクロック信号clock_mを供給して動作させる。ロックステップモードで動作しない場合、入力制御回路30はCPU入力をスルーさせて第1のプロセッサ(masterコア)10に供給し、フリップフロップ31、32は動作しない。また出力制御回路40も動作しない。このため、消費電流を低減できる。
実施形態6において、ロックステップモードで動作時には、前記各実施形態と同様、プロセッサの出力信号のビット幅nをビット幅mに圧縮してからフリップフロップ41、42に入れて遅延させる構成としたことで、フリップフロップ41、42の個数を削減した分だけ、面積および消費電流を低減することができる。なお、実施形態6を、前記実施形態2乃至5と組み合わせた構成としてもよい。
<実施形態7>
図9は、実施形態7におけるnbit→mbit出力圧縮回路45(46)の構成を示す図である。実施形態7の全体構成は、図2に示す構成とされ、nbit→mbit出力圧縮回路45(46)の構成が実施形態2等と相違している。図4に示す実施形態2では、nbit→mbit出力圧縮回路45(46)は、nビットの信号を複数グループにグループ化し、各グループのハッシュ関数回路はパリティチェック方式のパリティ発生回路(p1−入力XOR47乃至pm−入力XOR47)で構成されているのに対して、実施形態7では、図9に示すように、nbit→mbit出力圧縮回路45(46)は、予め定められたビット幅y1〜ydの信号をそれぞれ入力し、ビット幅z1〜zdの2ビットエラー検出可能な符号(double error detection code)を出力する符号化(double error detection coding)回路47A〜47A(ハッシュ関数回路)を備えている。
2ビットエラー検出可能な符号を出力する符号化回路47A〜47Aの各々は、例えばECC(Error Correction Coding又はError Checking and Correcting)生成回路で構成される。
ECCは、よく知られているように、所定ビット幅(例えば64ビット)のデータに対して複数ビット(例えば8ビット)の冗長コード(ECCコード)を生成して該データに付加してメモリ等に記憶しておき、該メモリからの当該データ読み出し時に、当該データからECCコードを生成し元のECCコードと比較し、ECCコードが異なるとき、読み込んだデータにビットエラーが発生したものとして1ビットエラー(single bit error)の訂正を行う。ECCでは、1ビットエラーに対する1ビットエラー訂正のほか、2ビットエラー検出等複数ビットエラー(multi-bit error)検出も行う(ただし、複数ビットエラーは検出のみ可能)。ECCでは、例えばハミング符号(Hamming Code)が用いられる。図9において、各グループの符号化回路47A〜47A(ECC生成回路)は、各グループの入力信号のビット幅y1〜ydを圧縮したビット幅z1〜zdの信号として、冗長コード(ECCコード)を出力するようにしてもよい。なお、ECCでは、上記したように、1ビットエラー訂正と複数ビットエラー検出が行われる(複数ビットエラーは検出のみ可能)が、実施形態7では、エラー訂正(1ビットエラー訂正)は不要である(1ビットエラー訂正回路の実装等は不要である)。
図9の示す例では、さらに、別のs個のグループに対応して、ビット幅p1〜psの信号をそれぞれ入力し1ビットに圧縮するp1−入力XOR47〜ps−入力XOR47を備えている。なお、図9のy1〜yd、p1〜psと、z1〜zd(z1<y1、・・・、zd<yd)は、圧縮前のビット幅nと、圧縮後のビット幅mに関して、以下の式(5)、(6)が成り立つ。
Figure 0006050083
Figure 0006050083
実施形態7では、ビット幅nを複数のグループにグループ化し、各グループのビット幅を圧縮するにあたり、1ビットエラーの検出が可能なXORによる圧縮に加えて、2ビットエラー検出符号(double error detection code)を出力する符号化回路47A〜47Aでビット幅を圧縮し、全体でビット幅をnからm(m<n)に圧縮している。なお、実施形態7において、符号化回路47A〜47Aは1つ(d=1)であってもよい。あるいは、各グループに対して符号化回路を備えた構成としてもよい(この場合、図9のp1−入力XOR47〜ps−入力XOR47は削除される)。
以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
10 第1のプロセッサ(Masterコア)
20 第2のプロセッサ(Checkerコア)
30 入力制御回路
31、32 フリップフロップ
40、40’ 出力比較回路
41、42、44、48、49 フリップフロップ
43 一致比較回路
45、46 nbit→mbit出力圧縮回路
47 ハッシュ関数
47 p1−入力XOR(ハッシュ関数回路)
47 p2−入力XOR(ハッシュ関数回路)
47 pm−入力XOR(ハッシュ関数回路)
47S ps−入力XOR(ハッシュ関数回路)
47A 符号化回路(2ビットエラー検出符号化回路:ハッシュ関数回路)
47A 符号化回路(2ビットエラー検出符号化回路:ハッシュ関数回路)
50 m1-bit一致比較回路
50 ms-bit一致比較回路
50 md-bit一致比較回路
51〜51 フリップフロップ
52 (s+1)入力AND回路
60 clock/reset生成部

Claims (15)

  1. 第1及び第2のプロセッサと、
    前記第1のプロセッサに入力する信号を入力し前記信号を予め定められた所定サイクル遅延させて前記第2のプロセッサに入力する第1の遅延回路と、
    前記第1のプロセッサから出力されるビット幅nの信号を入力し、前記ビット幅nの信号をビット幅m(ただし、m<n)の信号に圧縮する第1の圧縮回路と、
    前記第2のプロセッサから出力されるビット幅nの信号を入力し、前記ビット幅nの信号をビット幅mの信号に圧縮する第2の圧縮回路と、
    前記第1の圧縮回路から出力されるビット幅mの信号を入力し、前記ビット幅mの信号を、前記第1の遅延回路の遅延に等しい前記所定サイクル分遅延させて出力する第2の遅延回路と、
    前記第2の遅延回路から出力されるビット幅mの信号と、前記第2の圧縮回路から出力されるビット幅mの信号を入力し、入力した信号の対応するビット同士が互いに一致するか否か比較する一致比較回路と、
    を備え
    前記第1及び第2の圧縮回路の各々において、前記ビット幅nの信号を(s+1)個のグループに区分し、1つのグループの信号のビット幅d(d+s=m)は圧縮せずにそのまま出力し、他のs個のグループの信号のビット幅をそれぞれ1ビットに圧縮するs個のハッシュ関数回路を備えた半導体装置。
  2. 前記個のハッシュ関数回路が、圧縮率が互いに異なる少なくとも2つのハッシュ関数回路を含む、請求項記載の半導体装置。
  3. 第1及び第2のプロセッサと、
    前記第1のプロセッサに入力する信号を入力し前記信号を予め定められた所定サイクル遅延させて前記第2のプロセッサに入力する第1の遅延回路と、
    前記第1のプロセッサから出力されるビット幅nの信号を入力し、前記ビット幅nの信号をビット幅m(ただし、m<n)の信号に圧縮する第1の圧縮回路と、
    前記第2のプロセッサから出力されるビット幅nの信号を入力し、前記ビット幅nの信号をビット幅mの信号に圧縮する第2の圧縮回路と、
    前記第1の圧縮回路から出力されるビット幅mの信号を入力し、前記ビット幅mの信号を、前記第1の遅延回路の遅延に等しい前記所定サイクル分遅延させて出力する第2の遅延回路と、
    前記第2の遅延回路から出力されるビット幅mの信号と、前記第2の圧縮回路から出力されるビット幅mの信号を入力し、入力した信号の対応するビット同士が互いに一致するか否か比較する一致比較回路と、
    を備え、
    前記第2の圧縮回路のビット幅mの信号のうち、予め定められたkビットの信号をサンプルする第1のサンプリング回路を備え、
    前記第2の遅延回路から出力されるビット幅mの信号のうち、前記第1のサンプリング回路でサンプルするkビットに対応したkビットの信号をサンプルする第2のサンプリング回路を備え、
    前記第2の圧縮回路のビット幅mの信号のうち、前記第1のサンプリング回路でサンプルしたkビットの信号と、残りの(m−k)ビット、及び、
    前記第2の遅延回路から出力されるビット幅mの信号のうち、前記第2のサンプリング回路でサンプルしたkビットの信号と、残りの(m−k)ビットが、前記一致比較回路に入力され半導体装置。
  4. 前記第1及び第2のサンプリング回路の各々が、前記kビットの信号をクロック信号のトリガーエッジに応答して入力をサンプルして出力する、k個並列に接続されたフリップフロップを含む、請求項記載の半導体装置。
  5. 第1及び第2のプロセッサと、
    前記第1のプロセッサに入力する信号を入力し前記信号を予め定められた所定サイクル遅延させて前記第2のプロセッサに入力する第1の遅延回路と、
    前記第1のプロセッサから出力されるビット幅nの信号を入力し、前記ビット幅nの信号をビット幅m(ただし、m<n)の信号に圧縮する第1の圧縮回路と、
    前記第2のプロセッサから出力されるビット幅nの信号を入力し、前記ビット幅nの信号をビット幅mの信号に圧縮する第2の圧縮回路と、
    前記第1の圧縮回路から出力されるビット幅mの信号を入力し、前記ビット幅mの信号を、前記第1の遅延回路の遅延に等しい前記所定サイクル分遅延させて出力する第2の遅延回路と、
    前記第2の遅延回路から出力されるビット幅mの信号と、前記第2の圧縮回路から出力されるビット幅mの信号を入力し、入力した信号の対応するビット同士が互いに一致するか否か比較する一致比較回路と、
    を備え、
    前記一致比較回路において、
    前記第2の遅延回路から出力されるビット幅mの信号を(s+1)個のグループに区分し、
    前記第2の圧縮回路から出力されるビット幅mの信号を(s+1)個のグループに区分し、
    前記第2の遅延回路と前記第2の圧縮回路からそれぞれ出力される第1のグループの信号同士を比較し1ビットの比較結果を出力する第1の一致比較回路、乃至、
    前記第2の遅延回路と前記第2の圧縮回路からそれぞれ出力される第(s+1)のグループの信号同士を比較し1ビットの比較結果を出力する第sの一致比較回路を備え、
    前記第1乃至第(s+1)の一致比較回路の各1ビット出力を入力し、入力した(s+1)ビットの信号の論理演算結果を、前記第2の遅延回路と前記第2の圧縮回路から出力されるビット幅mの信号の比較結果として出力する論理回路を備えた半導体装置。
  6. 前記第1乃至第(s+1)の一致比較回路の出力のうち、予め定められた少なくとも1つの出力を入力し、前記入力をサンプルして前記論理回路に入力する、少なくとも1つの第3のサンプリング回路を備えた請求項記載の半導体装置。
  7. 前記第3のサンプリング回路が、クロック信号のトリガーエッジに応答して入力をサンプルして出力するフリップフロップを含む、請求項記載の半導体装置。
  8. 前記第1及び第2の圧縮回路の各々が、前記ビット幅nの信号を前記ビット幅mの信号に圧縮するハッシュ関数回路を備えた請求項3又は5記載の半導体装置。
  9. 前記第1及び第2の圧縮回路の各々において、前記ビット幅nの信号を、複数のグループに区分し、前記複数のグループの信号のうち、少なくとも1つのグループの信号のビット幅を少なくとも1ビットの信号に圧縮して出力する少なくとも1つのハッシュ関数回路を備え、少なくとも1つのハッシュ関数回路の出力信号と、残りのグループの信号のビット数との和が前記mである、請求項3又は5記載の半導体装置。
  10. 前記第1及び第2の圧縮回路の各々において、前記ビット幅nの信号を、m個のグループに区分し、前記m個のグループの信号のビット幅をそれぞれ1ビットの信号に圧縮して出力するm個のハッシュ関数回路を備えた請求項3又は5記載の半導体装置。
  11. 前記m個のハッシュ関数回路が、圧縮率が互いに異なる少なくとも2つのハッシュ関数回路を含む、請求項3又は5記載の半導体装置。
  12. 前記第1及び第2のプロセッサに対してクロック信号を共通に供給するか、一方のプロセッサへのクロック信号の供給を停止させる制御を行う回路を備えた請求項1記載の半導体装置。
  13. 前記第1の遅延回路が、予め定められた所定段数カスケード接続され、各段毎、入力のビット数に対応した個数並置され、クロック信号のトリガーエッジに応答して入力をサンプルして出力するフリップフロップを含む、請求項1記載の半導体装置。
  14. 前記第2の遅延回路が、予め定められた所定段数カスケード接続され、各段毎、m個並置され、クロック信号のトリガーエッジに応答して入力をサンプルして出力するフリップフロップを含む、請求項1記載の半導体装置。
  15. 前記第1及び第2の圧縮回路の各々が、前記ビット幅nの信号を、複数のグループに区分し、前記複数のグループの信号のうち少なくとも1つのグループの信号に対応したハッシュ関数回路として、入力する前記グループの信号に関して複数ビットエラー検出可能な符号をなし、前記入力した信号のビット幅を圧縮した信号を出力する符号化回路を含む、請求項1記載の半導体装置。
JP2012230383A 2012-10-18 2012-10-18 半導体装置 Active JP6050083B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012230383A JP6050083B2 (ja) 2012-10-18 2012-10-18 半導体装置
EP13188611.1A EP2722760B1 (en) 2012-10-18 2013-10-14 Semiconductor device
US14/054,168 US9329927B2 (en) 2012-10-18 2013-10-15 Semiconductor device
CN201310487949.4A CN103778028B (zh) 2012-10-18 2013-10-17 半导体器件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012230383A JP6050083B2 (ja) 2012-10-18 2012-10-18 半導体装置

Publications (2)

Publication Number Publication Date
JP2014081853A JP2014081853A (ja) 2014-05-08
JP6050083B2 true JP6050083B2 (ja) 2016-12-21

Family

ID=49447949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012230383A Active JP6050083B2 (ja) 2012-10-18 2012-10-18 半導体装置

Country Status (4)

Country Link
US (1) US9329927B2 (ja)
EP (1) EP2722760B1 (ja)
JP (1) JP6050083B2 (ja)
CN (1) CN103778028B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11327829B2 (en) 2019-03-05 2022-05-10 Kabushiki Kaisha Toshiba Semiconductor device which detects occurrence of an abnormality during operation based on a comparison of an input specifying a PWM signal and an estimated input obtained from an inverse operation

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3022653B1 (en) * 2013-07-18 2020-12-02 NXP USA, Inc. Fault detection apparatus and method
JP6360387B2 (ja) 2014-08-19 2018-07-18 ルネサスエレクトロニクス株式会社 プロセッサシステム、エンジン制御システム及び制御方法
IL234956A (en) * 2014-10-02 2017-10-31 Kaluzhny Uri Data bus protection with enhanced key entropy
JP2016170521A (ja) * 2015-03-11 2016-09-23 富士通株式会社 正常なプロセッサの抽出方法及びプログラム、情報処理装置
US10002056B2 (en) * 2015-09-15 2018-06-19 Texas Instruments Incorporated Integrated circuit chip with cores asymmetrically oriented with respect to each other
FR3052575B1 (fr) * 2016-06-08 2019-10-04 Continental Automotive France Circuit de detection de defaillances systematiques et aleatoires
CN106547719A (zh) * 2016-09-26 2017-03-29 中国电子科技集团公司第二十九研究所 一种系统通信和控制处理同步方法
US10902546B2 (en) * 2017-04-21 2021-01-26 Intel Corporation Efficient skipping of data compression processes at computing devices
US10303566B2 (en) * 2017-07-10 2019-05-28 Arm Limited Apparatus and method for checking output data during redundant execution of instructions
US10558704B2 (en) * 2017-07-20 2020-02-11 Sap Se Smart rollover
US10831628B2 (en) 2018-12-12 2020-11-10 Intel Corporation Hardware lockstep checking within a fault detection interval in a system on chip
KR102689645B1 (ko) * 2019-01-29 2024-07-30 삼성전자주식회사 해시 솔루션을 위한 반도체 메모리 장치 및 이의 구동방법
FR3098611A1 (fr) * 2019-07-08 2021-01-15 Stmicroelectronics (Grenoble 2) Sas Dispositif de détection d'erreurs
FR3102268B1 (fr) * 2019-10-18 2023-03-10 St Microelectronics Rousset Procédé d’authentification d’un circuit sur puce et système sur puce associé
US11928475B2 (en) * 2021-11-05 2024-03-12 Ceremorphic, Inc. Fast recovery for dual core lock step
US11686769B1 (en) * 2022-01-05 2023-06-27 Nxp B.V. Signal toggling detection and correction circuit
CN115016997B (zh) 2022-08-08 2022-11-18 南京芯驰半导体科技有限公司 慢时钟域lockstep模块中寄存器的快速诊断系统及方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01265171A (ja) 1988-04-18 1989-10-23 Nippon Telegr & Teleph Corp <Ntt> テスト法
US6038584A (en) * 1989-11-17 2000-03-14 Texas Instruments Incorporated Synchronized MIMD multi-processing system and method of operation
JPH05324391A (ja) 1991-12-16 1993-12-07 Kyosan Electric Mfg Co Ltd 故障検出装置、故障検出方法およびバス比較器
JPH0895816A (ja) * 1994-09-28 1996-04-12 Hitachi Ltd 故障検出方法および情報処理装置
US5799022A (en) 1996-07-01 1998-08-25 Sun Microsystems, Inc. Faulty module location in a fault tolerant computer system
JPH10116528A (ja) 1996-08-19 1998-05-06 Ngk Insulators Ltd 強化プラスチックを芯体とする碍子
US6357024B1 (en) * 1998-08-12 2002-03-12 Advanced Micro Devices, Inc. Electronic system and method for implementing functional redundancy checking by comparing signatures having relatively small numbers of signals
US7190292B2 (en) * 1999-11-29 2007-03-13 Bizjak Karl M Input level adjust system and method
US20010047359A1 (en) * 2000-04-17 2001-11-29 Peter Videcrantz Method and apparatus for data compression
DE10101718C1 (de) * 2001-01-15 2002-06-06 Infineon Technologies Ag Datenempfangsschaltung
US7149640B2 (en) * 2002-06-21 2006-12-12 King Tiger Technology, Inc. Method and system for test data capture and compression for electronic device analysis
WO2004022920A1 (en) * 2002-09-06 2004-03-18 Drysdale Kenneth William Patte Apparatus, method and software for use with an air conditioning cycle
JP2004201100A (ja) * 2002-12-19 2004-07-15 Nec Corp 付加情報挿入装置及びその方法
US20050039074A1 (en) * 2003-07-09 2005-02-17 Tremblay Glenn A. Fault resilient/fault tolerant computing
DE102005055067A1 (de) * 2005-11-18 2007-05-24 Robert Bosch Gmbh Vorrichtung und Verfahren zum Beheben von Fehlern bei einem wenigstens zwei Ausführungseinheiten mit Registern aufweisenden System
CN101536517B (zh) * 2006-11-06 2011-08-31 松下电器产业株式会社 接收机
JP5446268B2 (ja) * 2006-11-10 2014-03-19 日本電気株式会社 並列テスト回路と方法並びに半導体装置
US20080244305A1 (en) * 2007-03-30 2008-10-02 Texas Instruments Deutschland, Gmbh Delayed lock-step cpu compare
US7668988B2 (en) * 2007-09-19 2010-02-23 Via Technologies, Inc. Data bus inversion detection mechanism
WO2009054070A1 (ja) * 2007-10-26 2009-04-30 Shimadzu Corporation 放射線検出器
US20090172370A1 (en) * 2007-12-31 2009-07-02 Advanced Micro Devices, Inc. Eager execution in a processing pipeline having multiple integer execution units
US20090183035A1 (en) * 2008-01-10 2009-07-16 Butler Michael G Processor including hybrid redundancy for logic error protection
JP5094591B2 (ja) * 2008-06-27 2012-12-12 株式会社日立製作所 照合システム
JP5347414B2 (ja) * 2008-10-03 2013-11-20 富士通株式会社 同期制御装置,情報処理装置及び同期管理方法
TWI413974B (zh) * 2008-10-16 2013-11-01 Princeton Technology Corp 顯示器消除殘影的方法
JP5507830B2 (ja) * 2008-11-04 2014-05-28 ルネサスエレクトロニクス株式会社 マイクロコントローラ及び自動車制御装置
JP2010160712A (ja) * 2009-01-09 2010-07-22 Renesas Technology Corp 半導体データ処理デバイス及びデータ処理システム
EP2221723A1 (en) * 2009-02-20 2010-08-25 Robert Bosch Gmbh Dual core processor and a method of error detection in a dual core processor
JP5493471B2 (ja) * 2009-05-27 2014-05-14 ソニー株式会社 情報処理装置および方法
WO2011039835A1 (ja) * 2009-09-29 2011-04-07 株式会社日立製作所 データ判定/位相比較回路
JP5610607B2 (ja) 2009-11-30 2014-10-22 楽天株式会社 情報提供装置および方法、並びにプログラム
JP2011123545A (ja) 2009-12-08 2011-06-23 Toshiba Corp 比較冗長型情報処理装置
JP2011128821A (ja) 2009-12-17 2011-06-30 Yokogawa Electric Corp 二重化フィールド機器
JP5545067B2 (ja) * 2010-06-24 2014-07-09 富士電機株式会社 情報処理装置、及び情報処理装置の自己診断方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11327829B2 (en) 2019-03-05 2022-05-10 Kabushiki Kaisha Toshiba Semiconductor device which detects occurrence of an abnormality during operation based on a comparison of an input specifying a PWM signal and an estimated input obtained from an inverse operation

Also Published As

Publication number Publication date
US9329927B2 (en) 2016-05-03
JP2014081853A (ja) 2014-05-08
CN103778028A (zh) 2014-05-07
EP2722760B1 (en) 2016-02-03
US20140115401A1 (en) 2014-04-24
CN103778028B (zh) 2018-05-22
EP2722760A1 (en) 2014-04-23

Similar Documents

Publication Publication Date Title
JP6050083B2 (ja) 半導体装置
US10372531B2 (en) Error-correcting code memory
US5909541A (en) Error detection and correction for data stored across multiple byte-wide memory devices
KR102198611B1 (ko) 메모리 내 에러 수정 방법
US9535784B2 (en) Self monitoring and self repairing ECC
KR102267860B1 (ko) 결함 탐지를 가진 오류 정정 하드웨어
US20120239996A1 (en) Memory controller, information processing apparatus and method of controlling memory controller
US20140344643A1 (en) Hybrid memory protection method and apparatus
Sim et al. A dual lockstep processor system-on-a-chip for fast error recovery in safety-critical applications
US20090249174A1 (en) Fault Tolerant Self-Correcting Non-Glitching Low Power Circuit for Static and Dynamic Data Storage
US11768731B2 (en) System and method for transparent register data error detection and correction via a communication bus
US9043655B2 (en) Apparatus and control method
US9542266B2 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
JP2006323434A (ja) データ処理装置及びそのメモリ訂正方法
US9983926B2 (en) Apparatus, system and method for protecting data
US20110320907A1 (en) Data processing circuit and data processing method
US12040032B2 (en) Electronic circuit and method for self-diagnosis of a data memory
JP3730877B2 (ja) エラー報告方式及びその方法
JP5104690B2 (ja) フォルト検出回路
JP2023005919A (ja) 半導体装置および誤り検出方法
JP2002207641A (ja) データ転送回路及び故障検出方法
JP2017111523A (ja) フェールセーフ演算装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160815

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161124

R150 Certificate of patent or registration of utility model

Ref document number: 6050083

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150