JP4899556B2 - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP4899556B2
JP4899556B2 JP2006075003A JP2006075003A JP4899556B2 JP 4899556 B2 JP4899556 B2 JP 4899556B2 JP 2006075003 A JP2006075003 A JP 2006075003A JP 2006075003 A JP2006075003 A JP 2006075003A JP 4899556 B2 JP4899556 B2 JP 4899556B2
Authority
JP
Japan
Prior art keywords
flip
flop
circuit
error
data
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.)
Expired - Fee Related
Application number
JP2006075003A
Other languages
English (en)
Other versions
JP2007248378A (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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2006075003A priority Critical patent/JP4899556B2/ja
Priority to US11/505,447 priority patent/US7702992B2/en
Publication of JP2007248378A publication Critical patent/JP2007248378A/ja
Application granted granted Critical
Publication of JP4899556B2 publication Critical patent/JP4899556B2/ja
Expired - Fee Related 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
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、一般に半導体集積回路に関し、詳しくはエラー訂正機能を有した半導体集積回路に関する。
半導体技術が未熟であった当時、半導体回路中のフリップフロップの信頼性が低く、フリップフロップ中の格納データが破壊されてしまう場合があった。データ破壊が発生するのは、回路の動作自体の信頼性が低いことに起因する場合もあれば、半導体パッケージ中に含まれる金属から放出される放射線に起因する場合もあった。このようなフリップフロップ中のデータ破壊は頻度が小さいものであったので、例えばフリップフロップのデータをパリティ検査して、エラーが発見されたときにはシステムを停止するといった措置がとられていた。
現在では、半導体技術の進歩により、上記のようにフリップフロップ中の格納データが損なわれるという問題はなくなっている。しかし現在の半導体技術で製造された半導体集積回路においても、例えばDRAMの場合、宇宙線由来の高エネルギー中性子(宇宙線の陽子が大気中の原子核と反応した際に生成される二次粒子としての中性子)に起因するソフトエラーと呼ばれる現象の存在が知られている。これは、DRAMのメモリ素子が微少な容量であるために、宇宙線由来の高エネルギー中性子とシリコンの原子核との衝突により発生したイオンに起因する電荷により、メモリセル中のビットが変化してしまう現象である。但しフリップフロップの場合、DRAMとは異なり、クロスカップリング回路の端子のHIGH/LOWの論理状態によりデータを格納するので、宇宙線由来の中性子程度のエネルギーによりデータが反転してしまうことはない。
しかし今後、半導体技術が更に進歩して回路素子のサイズ及び配線幅が微細になると、半導体集積回路中のフリップフロップにおいても、宇宙線由来の高エネルギー中性子によるデ―タ破壊が発生することが予想される。この場合、そのようなデータ破壊は比較的に頻度が高いものであると予想され、エラーが発生したときにシステムを停止させるという措置では対応できないと考えられる。
特開2002−251898号公報
以上を鑑みて、本発明は、フリップフロップのデータの信頼性を向上させた半導体集積回路を提供することを目的とする。
半導体集積回路は、複数のフリップフロップ群と、該複数のフリップフロップ群の各々から出力されるエラー検出信号の論理和をとる論理回路を含み、該複数のフリップフロップ群の各々は、同一のクロック信号に同期して入力データをラッチする1つ又は複数のフリップフロップと、該複数のフリップフロップの格納データのエラーを検出して訂正するとともに、該エラーの検出に応答してエラー検出を示す該エラー検出信号を出力するエラー検出訂正回路を含むことを特徴とする。
本発明の少なくとも1つの実施例によれば、半導体集積回路内の各フリップフロップ群について、格納データのエラーを検出して訂正するエラー検出訂正回路を設けることにより、フリップフロップのデータの信頼性を向上させることができる。またフリップフロップ群の各々から出力されるエラー検出信号を1つに纏めることにより、例えば半導体集積回路外部の装置や内部コントローラを用いてこのエラー検出信号を判定し、エラーが発生したことを検知することができる。
図1は、本発明による半導体集積回路の構成の一例を示す図である。図1に示す半導体集積回路10は、フリップフロップ群11−1乃至11−3及び複数のOR回路13を含む。
フリップフロップ群11−1乃至11−3のフリップフロップは、当該半導体集積回路10の動作に使用されるデータ信号、制御信号、クロック信号等の種々の信号を入力し、ラッチし、出力する全てのフリップフロップである。図示を省くが、半導体集積回路10内には、これらフリップフロップ群11−1乃至11−3に接続される種々の回路が存在する。半導体集積回路10内部で使用されるフリップフロップの全てが、フリップフロップ群11−1乃至11−3として示されていると考えてよい。これらのフリップフロップのうち、同一のクロック信号により同一のタイミングでデータを格納する互いに隣接するフリップフロップ同士を纏めることにより、各フリップフロップ群を形成している。1つのフリップフロップ群に含まれるフリップフロップの数は1つでも複数でもよい。なお図示の都合上、3つのフリップフロップ群のみを示すが、実際には、半導体集積回路の回路規模に応じて回路内部に何万、何十万という単位で存在するものである。
フリップフロップ群11−1乃至11−3の各々は、データ用フリップフロップF、エラー検出用フリップフロップE、及びエラー検出訂正回路12を含む。データ用フリップフロップFは、入力データをラッチし、ラッチしたデータを出力する。エラー検出訂正回路12は、後述するようにECC(エラー訂正符号)、パリティ、多数決論理等を用いて、フリップフロップF中の格納データのエラーを検出・訂正する。エラー検出訂正回路12は、フリップフロップF中の格納データのエラーが検出された場合、その出力であるエラー検出信号をアサートする(この例ではHIGHレベル出力状態にする)。フリップフロップ群11−1乃至11−3の各エラー検出訂正回路12が出力するエラー検出信号は、複数のOR回路13により論理和がとられ、最終的に纏められたエラー検出信号Eallとして半導体集積回路10外部に出力される。
この最終的に纏められたエラー検出信号Eallは、半導体集積回路10内部のCPU等のコントローラに供給されてもよい。なおこのエラー検出信号Eallは、例えば、訂正可能エラーの存在を示す第1のエラー検出信号と訂正不可能なエラーの存在を示す第2のエラー検出信号との2ビットからなり、それぞれのビットについて論理和がとられる構成であってよい。またエラー検出信号Eallは、必ずしも全てのフリップフロップ群11−1乃至11−3のエラー検出信号を纏めたものである必要はなく、全てのフリップフロップ群を例えば第1グループと第2グループとに分け、それぞれのグループについて別個に最終的に纏められたエラー検出信号を出力するように構成してもよい。
最終的に纏められたエラー検出信号Eallがアサートされると、半導体集積回路10内部の何れかのフリップフロップでエラーが発生したことが分かる。この時、何れのフリップフロップ群11−1乃至11−3でエラーが発生したかを調べるために、エラー検出用フリップフロップEが使用される。
エラー検出用フリップフロップEには、エラー検出訂正回路12がエラーを検出した時にエラー検出訂正回路12により1が格納される。フリップフロップ群11−1乃至11−3の各エラー検出用フリップフロップEは、その出力が次段のフリップフロップの入力になるように直列に接続され、フリップフロップのチェイン15を構成している。最終的に纏められたエラー検出信号Eallがアサートされた場合、このチェイン15内でフリップフロップのデータを次段に順次伝搬させていけば、各エラー検出用フリップフロップEの内容を半導体集積回路10の外部にエラースキャン信号Escanとして読み出すことができる。外部では、読み出されたエラースキャン信号Escanの内容に基づいて、エラー位置を特定することができる。
また同様に、フリップフロップ群11−1乃至11−3の各データ用フリップフロップFもチェインを構成するようにしてよい。即ち、各データ用フリップフロップFは、その出力が次段のフリップフロップの入力になるように直列に接続され、フリップフロップのチェイン16を構成している。最終的に纏められたエラー検出信号Eallがアサートされた場合、このチェイン16内でフリップフロップのデータを次段に順次伝搬させていけば、各データ用フリップフロップFの内容を半導体集積回路10の外部にデータスキャン信号Dscanとして読み出すことができる。外部では、読み出されたデータスキャン信号Dscanの内容に基づいて、エラービットの位置を特定する等の詳細な解析が可能となる。
データ用フリップフロップFには、半導体集積回路10内でデータ用フリップフロップFが果たすその本来の目的のためのデータ入出力経路があるので、チェイン16はそれとは別の経路として設ける必要がある。スキャンチェインを構成する際の技術として知られているように、例えば、各フリップフロップの入力に、当該フリップフロップの本来の入力と前段のフリップフロップの出力との何れかを選択するセレクタを設け、通常は当該フリップフロップの本来の入力を選択して、スキャン時には前段のフリップフロップの出力を選択するように構成してよい。或いは、通常データ用入力とスキャン用入力との2つの入力端を有するフリップフロップを使用してもよい。或いは、シャドーレジスタとして、本来のフリップフロップとは別個のフリップフロップを重複するように設け、本来のフリップフロップは半導体集積回路の本来の動作用に用いるとともに、重複して設けたフリップフロップをスキャン用に用いてもよい。この構成の場合、半導体集積回路10の通常の動作を実行しながらスキャン動作をすることが可能となる。
図2は、本発明の第1の実施例によるフリップフロップ群の構成の一例を示す図である。図2のフリップフロップ群は、フリップフロップ群11−1乃至11−3の1つに対応し、ECCをエラー訂正・検出に用いた場合の例である。
図2のフリップフロップ群は、複数のデータ用フリップフロップ21、複数のエラー訂正コード用フリップフロップ22、ECC生成回路23、ECCチェック訂正回路24、及びエラー記憶回路25を含む。データ用フリップフロップ21が図1のデータ用フリップフロップFに相当し、エラー記憶回路25が図1のエラー検出用フリップフロップEに相当する。またエラー訂正コード用フリップフロップ22、ECC生成回路23、及びECCチェック訂正回路24が、図1のエラー検出訂正回路12に相当する。なお図示の都合上、図1のチェイン16に相当するチェインは省略してある。
データ用フリップフロップ21は、入力データD0乃至D3を受け取り、クロック信号CLKに同期して入力データD0乃至D3を内部に取り込む(ラッチする)。データ用フリップフロップ21中の格納データ(ラッチしたデータ)は、ECCチェック訂正回路24に供給される。エラーが存在しない場合には、データ用フリップフロップ21中の格納データは、そのまま出力データQ0乃至Q3として送出される。
入力データD0乃至D3がデータ用フリップフロップ21に供給されると、ECC生成回路23は、入力データD0乃至D3に所定の計算を施すことにより、エラー訂正コードを算出する。算出されたエラー訂正コードは、クロック信号CLKに同期して、エラー訂正コード用フリップフロップ22に格納される。
ECCチェック訂正回路24は、データ用フリップフロップ21から供給されるデータとエラー訂正コード用フリップフロップ22から供給されるエラー訂正コードとに基づいて、エラーがあるか否かを検出し、エラーがある場合にはエラー訂正を行う。エラー訂正されたデータは、出力データQ0乃至Q3として送出される。例えばハミング符号を用いてエラー訂正を実現する場合には、1ビットの誤りが発生した場合にエラー訂正が可能であり、2ビットの誤りが発生した場合にエラー検出が可能である。
例えば、データ用フリップフロップ21の4ビットとエラー訂正コード用フリップフロップ22の3ビットからなる7ビットのコードが、符号間距離が3以上であるハミング符号となるように、エラー訂正コードを生成する場合を考える。この場合、フリップフロップ出力の7ビットのデータがハミング符号として存在し得るビットパターンか否かを判定することで、エラーの有無を検出できる。エラーが1ビットの場合には、この7ビットのデータに最もハミング距離が近いハミング符号とこの7ビットのデータとの差分を検出すれば、何れの1ビットが誤っているかが分かるとともにエラー訂正することができる。ハミング符号の符号間距離が3であるので、エラーが2ビットの場合には、エラーの存在は分かるが何れのハミング符号が正しいコードであるかまでは判別できない。なお実際には、ハミング符号のシンドローム情報を計算すれば、シンドローム情報がエラーの有無及びエラー位置を一意に示すことになる。
ECCチェック訂正回路24は、上記のようにしてエラーの有無を判定した際のエラーの有無を示すエラー検出信号を外部に出力する。このエラー検出信号は、図1のエラー検出信号に相当し、訂正可能エラーの存在を示す訂正可能エラー検出信号と訂正不可能なエラーの存在を示す訂正不可エラー検出信号とを含んでよい。またECCチェック訂正回路24は、エラーを検出した場合に、エラー記憶回路25に"1"を格納する。
このように第1の実施例では、半導体集積回路10内のフリップフロップ群にECCを適用することで、ビット誤りが発生した場合には、エラーを検出するとともにエラー訂正することができる。なお拡張ハミング符号を用いれば、複数の不良ビットの訂正も可能になる。これにより半導体集積回路10内のフリップフロップのデータの信頼性を向上させることができる。
図3は、本発明の第2の実施例によるデータ用フリップフロップFの構成の一例を示す図である。図2に示す第1の実施例では、複数のデータ用フリップフロップFの入力データからエラー訂正コードを生成することより、フリップフロップのデータの信頼性を向上させるように構成した。図3に示す第2の実施例では、データ用フリップフロップFの各々に多数決論理を採用することで、各フリップフロップのデータの信頼性を向上させる。
図3に示すデータ用フリップフロップ30は、複数のラッチ31及び多数決論理回路32を含む。図には3つのラッチ31が示されるが、その数は3に限定されるものではなく、2以上の任意の複数であってよい(多数決で論理を決定する都合上奇数が好ましい)。
データ用フリップフロップ30に入力データDが供給されると、入力データDは、全てのラッチ31に共通に供給される。クロック信号CLKに同期して、全てのラッチ31が同一の入力データを取り込む(ラッチする)。
多数決論理回路32は、複数のラッチ31の出力A、B、Cを受け取り、多数決論理を算出する。即ち、出力A、B、Cの内で、論理値"0"の数と論理値"1"の数のうち数が多い方の論理値を算出し、多数決論理回路32は、この算出された論理値を出力Qとして送出する。例えば入力データDが"1"であるが、3つのラッチ31のうちの1つにおいて、例えば二次宇宙線中性子の影響でデータが反転し、出力Bが"0"になったとする。このような場合でも、出力A、B、Cのうちで論理値"1"の数が過半数を占めるので、多数決論理回路32は正しいデータ値"1"を出力することができる。
なおデータ用フリップフロップ30は、設計時に用いるセルとしてライブラリ化しておけばよい。このようにセル化しておくことで、フリップフロップを配置するのと同様にしてこのセルを配置すればよく、設計時の手間を省くことができる。
図4は、多数決論理回路32の構成の一例を示す図である。図4に示す多数決論理回路32は、AND回路41乃至43及びOR回路44を含む。ラッチの出力A、B、Cが全て"1"のとき、AND回路41乃至43の出力は全て"1"となり、OR回路44の出力Qは"1"となる。ラッチの出力A、B、Cが全て"0"のとき、AND回路41乃至43の出力は全て"0"となり、OR回路44の出力Qは"0"となる。ラッチの出力A、B、C中で2つが"1"のとき、AND回路41乃至43の出力のうちの1つが"1"となり、OR回路44の出力Qは"1"となる。ラッチの出力A、B、C中で2つが"0"のとき、AND回路41乃至43の出力は全て"0"となり、OR回路44の出力Qは"0"となる。このようにして多数決論理が実現される。
なおデータ用フリップフロップ30を図1のフリップフロップ群11−1乃至11−3に適用した場合、エラー検出訂正回路12としては、例えば図3の各データ用フリップフロップ30においてラッチ31の出力が全て同一でない場合に、出力であるエラー検出信号をアサートするような論理回路を構成すればよい。このような論理回路は例えばXOR(排他的論理和)ゲートとORゲートとを組み合わせて容易に構成することができる。この場合のエラー検出信号としては、一種類のエラー検出信号となる。
このように第2の実施例では、半導体集積回路10内の各フリップフロップに多数決論理を適用することで、誤りが発生した場合には、エラーを検出するとともにエラー訂正することができる。これにより半導体集積回路10内のフリップフロップのデータの信頼性を向上させることができる。なお単純な多数決論理を用いるので、ECCを用いる場合等と比較して、高速に誤り訂正を行うことが可能であるとともに、各ビット毎にエラー訂正をするので信頼性が高い。
図5は、図3のデータ用フリップフロップ30の変形例を示す図である。図5において、図3と同一の構成要素は同一の番号で参照し、その説明は省略する。
図5のデータ用フリップフロップ30Aは、複数のラッチ31、複数の遅延素子33、及び多数決論理回路32を含む。遅延素子33はクロック信号CLKを遅延させるためのものである。各ラッチ31に入力されるクロック信号CLKは、遅延素子33による遅延によりそれぞれ異なるタイミングを有する。
データ用フリップフロップ30に入力データDが供給されると、入力データDは、全てのラッチ31に共通に供給される。それぞれ異なるタイミングを有するクロック信号に同期して、全てのラッチ31が入力データを取り込む(ラッチする)。この際、取り込みタイミング(ラッチタイミング)が異なるので、例えば入力データDの立ち上がりにおいて波形に乱れがある等のグリッチが存在しても、全てのデータがグリッチの影響で誤ってラッチされるのを避けることができる。従って、ソフトエラーに対処可能な信頼性のある回路として機能するだけでなく、多数決論理回路32を利用することで、グリッチに起因する誤りにも対処することが可能となる。
図6は、本発明の第3の実施例によるフリップフロップ群の構成の一例を示す図である。図6のフリップフロップ群は、フリップフロップ群11−1乃至11−3の1つに対応し、パリティチェックをエラー訂正・検出に用いた場合の例である。
図6のフリップフロップ群は、パリティ生成回路50、複数のデータ用フリップフロップ51、パリティビット用フリップフロップ52、パリティチェック回路53、複数のデータ用フリップフロップ61、パリティビット用フリップフロップ62、パリティチェック回路63、複数のセレクタ71、AND回路72、エラー記憶回路73、及びエラー記憶回路74を含む。データ用フリップフロップ51及び61が図1のデータ用フリップフロップFに相当し、エラー記憶回路73及び74が図1のエラー検出用フリップフロップEに相当する。またパリティ生成回路50、パリティビット用フリップフロップ52、パリティチェック回路53、パリティビット用フリップフロップ62、パリティチェック回路63、セレクタ71、及びAND回路72が、図1のエラー検出訂正回路12に相当する。なお図示の都合上、図1のチェイン16に相当するチェインは省略してある。
データ用フリップフロップ51及び61は、入力データD0乃至D3を受け取り、クロック信号CLKに同期して入力データD0乃至D3を内部に取り込む(ラッチする)。データ用フリップフロップ51中の格納データ(ラッチしたデータ)は、セレクタ71に供給されるとともに、パリティチェック回路53に供給される。またデータ用フリップフロップ61中の格納データ(ラッチしたデータ)は、セレクタ71に供給されるとともに、パリティチェック回路63に供給される。
入力データD0乃至D3がデータ用フリップフロップ51及び61に供給されると、パリティ生成回路50は、入力データD0乃至D3に所定の計算を施すことにより、パリティビットを算出する。算出されたパリティビットは、クロック信号CLKに同期して、パリティビット用フリップフロップ52及び62に格納される。
パリティチェック回路53は、データ用フリップフロップ51から供給されるデータとパリティビット用フリップフロップ52から供給されるパリティビットとに基づいて、パリティチェックを行い、エラーがあるか否かを検出する。エラーがある場合にはパリティチェック信号P1をアサートする(この例では"1"にする)。パリティチェック信号P1は、訂正可能エラー検出信号として送出されるとともに、セレクタ71、AND回路72、及びエラー記憶回路73に供給される。
パリティチェック回路63は、データ用フリップフロップ61から供給されるデータとパリティビット用フリップフロップ62から供給されるパリティビットとに基づいて、パリティチェックを行い、エラーがあるか否かを検出する。エラーがある場合にはパリティチェック信号P2をアサートする(この例では"1"にする)。パリティチェック信号P2は、AND回路72及びエラー記憶回路74に供給される。
データ用フリップフロップ51の格納データにエラーが存在しない場合、パリティチェック回路53の出力するパリティチェック信号P1は"0"である。この場合、複数のセレクタ71は、データ用フリップフロップ51のデータを選択して出力Q0乃至Q3として送出する。
データ用フリップフロップ51のうちの1つの格納データが例えばソフトエラーにより変化してしまった場合、パリティチェック回路53はパリティエラーを検出し、その出力であるパリティチェック信号P1を"1"とする。この場合、複数のセレクタ71は、データ用フリップフロップ61のデータを選択して出力Q0乃至Q3として送出する。データ用フリップフロップ61においてはエラーが起こっていないと考えれば、このようなセレクタ71による選択動作により、エラーを訂正することが可能となる。また"1"であるパリティチェック信号P1を訂正可能エラー検出信号として送出することで、訂正可能エラー検出信号がアサートされる。
データ用フリップフロップ61の格納データにエラーが存在しない場合、パリティチェック回路63の出力するパリティチェック信号P2は"0"である。この場合、パリティチェック信号P1の値に関わらず、AND回路72の出力は"0"である。またデータ用フリップフロップ51の格納データにエラーが存在しない場合、パリティチェック回路53の出力するパリティチェック信号P1は"0"である。この場合、パリティチェック信号P2の値に関わらず、AND回路72の出力は"0"である。データ用フリップフロップ51の格納データ及びデータ用フリップフロップ61の格納データの双方にエラーが存在する場合、パリティチェック信号P1及びP2は双方ともに"1"である。この場合、AND回路72の出力は"1"となり、訂正不可エラー検出信号がアサートされる。
図6のフリップフロップ群は、上記のようにしてパリティエラーの有無を判定した際のパリティエラーの有無を示すエラー検出信号を外部に出力する。このエラー検出信号は、図1のエラー検出信号に相当し、訂正可能エラーの存在を示す訂正可能エラー検出信号と訂正不可能なエラーの存在を示す訂正不可エラー検出信号とを含む。また本実施例では、エラー検出用フリップフロップEとして2ビット用意されており、エラー記憶回路73はデータ用フリップフロップ51側のエラー、エラー記憶回路74はデータ用フリップフロップ61側のエラーに対応する。
このように第3の実施例では、半導体集積回路10内のフリップフロップ群を第1のフリップフロップ群と第2のフリップフロップ群との2重に設け、それぞれにパリティチェック機能を設ける。パリティエラーを検出した場合には、パリティエラーが発生した方のフリップフロップ群ではない方のフリップフロップ群のデータを出力することで、バリティエラーが発生した場合には、エラー訂正することができる。これにより半導体集積回路10内のフリップフロップのデータの信頼性を向上させることができる。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
本発明による半導体集積回路の構成の一例を示す図である。 本発明の第1の実施例によるフリップフロップ群の構成の一例を示す図である。 本発明の第2の実施例によるデータ用フリップフロップの構成の一例を示す図である。 多数決論理回路の構成の一例を示す図である。 図3のデータ用フリップフロップの変形例を示す図である。 本発明の第3の実施例によるフリップフロップ群の構成の一例を示す図である。
符号の説明
10 半導体集積回路
11−1乃至11−3 フリップフロップ群
12 エラー検出訂正回路
13 OR回路
15 チェイン
16 チェイン
21 データ用フリップフロップ
22 エラー訂正コード用フリップフロップ
23 ECC生成回路
24 ECCチェック訂正回路
25 エラー記憶回路
31 ラッチ
32 多数決論理回路
41乃至43 AND回路
44 OR回路
50 パリティ生成回路
51 データ用フリップフロップ
52 パリティビット用フリップフロップ
53 パリティチェック回路
61 データ用フリップフロップ
62 パリティビット用フリップフロップ
63 パリティチェック回路
71 セレクタ
72 AND回路
73 エラー記憶回路
74 エラー記憶回路

Claims (9)

  1. 複数のフリップフロップ群と、
    該複数のフリップフロップ群の各々から出力されるエラー検出信号の論理和をとる論理回路
    を含み、該複数のフリップフロップ群の各々は、
    同一のクロック信号に同期して入力データをラッチする1つ又は複数のフリップフロップと、
    該複数のフリップフロップの格納データのエラーを検出して訂正するとともに、該エラーの検出に応答してエラー検出を示す該エラー検出信号を出力するエラー検出訂正回路
    を含むことを特徴とする半導体集積回路。
  2. 該複数のフリップフロップ群の各々は、該エラー検出訂正回路によるエラー検出に応答してエラー検出を示す値を格納するエラー検出用フリップフロップを更に含み、該複数のフリップフロップ群の各エラー検出用フリップフロップは直列に結合されてチェインを形成し、該チェインの終端を外部に出すように構成されることを特徴とする請求項1記載の半導体集積回路。
  3. 該複数のフリップフロップ群の複数のフリップフロップは直列に結合されてチェインを形成し、該チェインの終端を該半導体集積回路の外部に出すように構成されることを特徴とする請求項1記載の半導体集積回路。
  4. 該論理回路の出力は該半導体集積回路の外部に送出するように構成されることを特徴とする請求項1記載の半導体集積回路。
  5. エラー検出信号を判定してエラーの発生を検知するコントローラを更に含み、該論理回路の出力は該コントローラに供給するように構成されることを特徴とする請求項1記載の半導体集積回路。
  6. 該複数のフリップフロップ群の各々は、
    該入力データからエラー訂正コードを生成するECC生成回路と、
    該エラー訂正コードを格納するエラー訂正コード用フリップフロップと、
    該1つ又は複数のフリップフロップのデータと該エラー訂正コード用フリップフロップの該エラー訂正コードとに基づいてエラー検出及びエラー訂正を行うECCチェック訂正回路
    を更に含み、前記エラー検出訂正回路は前記ECCチェック訂正回路であることを特徴とする請求項1記載の半導体集積回路。
  7. 該複数のフリップフロップ群の該1つ又は複数のフリップフロップの各々は、
    該入力データ中の同一の1ビットをそれぞれがラッチする複数のラッチと、
    該複数のラッチの出力の多数決論理を算出する多数決論理回路
    を更に含み、前記エラー検出訂正回路は、前記多数決論理回路を含むことを特徴とする請求項1記載の半導体集積回路。
  8. 該複数のフリップフロップ群の該1つ又は複数のフリップフロップの各々は、該クロック信号を遅延して異なるタイミングのクロック信号を生成する1つ又は複数の遅延素子を更に含み、該複数のラッチの少なくとも2つは互いに異なるタイミングのクロック信号に同期して該入力データ中の同一の1ビットをラッチすることを特徴とする請求項7記載の半導体集積回路。
  9. 該1つ又は複数のフリップフロップは第1のグループのフリップフロップであり、該複数のフリップフロップ群の各々は、
    該入力データからパリティビットを生成するパリティ生成回路と、
    該パリティビットを格納するパリティビット用フリップフロップと、
    該クロック信号に同期して該入力データをラッチする1つ又は複数の第2のグループのフリップフロップと、
    該パリティビット用フリップフロップの該パリティビットに基づいて該第1のグループのフリップフロップをパリティチェックする第1のパリティチェック回路と、
    該第1のパリティチェック回路のパリティチェック結果に応じて該第1のグループのフリップフロップのデータ又は該第2のグループのフリップフロップのデータを選択して出力するセレクタ
    を含み、前記エラー検出訂正回路は、前記第1のパリティチェック回路と前記セレクタとを含むことを特徴とする請求項1記載の半導体集積回路。
JP2006075003A 2006-03-17 2006-03-17 半導体集積回路 Expired - Fee Related JP4899556B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006075003A JP4899556B2 (ja) 2006-03-17 2006-03-17 半導体集積回路
US11/505,447 US7702992B2 (en) 2006-03-17 2006-08-17 Semiconductor integrated circuit with flip-flops having increased reliability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006075003A JP4899556B2 (ja) 2006-03-17 2006-03-17 半導体集積回路

Publications (2)

Publication Number Publication Date
JP2007248378A JP2007248378A (ja) 2007-09-27
JP4899556B2 true JP4899556B2 (ja) 2012-03-21

Family

ID=38535047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006075003A Expired - Fee Related JP4899556B2 (ja) 2006-03-17 2006-03-17 半導体集積回路

Country Status (2)

Country Link
US (1) US7702992B2 (ja)
JP (1) JP4899556B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856700B1 (en) * 2007-03-17 2014-10-07 Cadence Design Systems, Inc. Methods, systems, and apparatus for reliability synthesis
JP2009093714A (ja) * 2007-10-04 2009-04-30 Panasonic Corp 半導体記憶装置
JP4968130B2 (ja) 2008-03-26 2012-07-04 富士通セミコンダクター株式会社 ラッチ回路及び電子機器
JP5021563B2 (ja) * 2008-06-02 2012-09-12 株式会社東海理化電機製作所 操作位置検出装置及びシフト装置
US8083947B2 (en) * 2009-02-24 2011-12-27 Eastman Kodak Company Polymer-containing solvent purifying process
US8631292B2 (en) 2011-08-29 2014-01-14 Freescale Semiconductor, Inc. Multi-threading flip-flop circuit
US9460814B2 (en) * 2014-05-02 2016-10-04 Globalfoundries Inc. Memory tester design for soft error rate (SER) failure analysis
US9523736B2 (en) 2014-06-19 2016-12-20 Nuvoton Technology Corporation Detection of fault injection attacks using high-fanout networks
US9397663B2 (en) 2014-07-22 2016-07-19 Winbond Electronics Corporation Fault protection for high-fanout signal distribution circuitry
US9397666B2 (en) 2014-07-22 2016-07-19 Winbond Electronics Corporation Fault protection for clock tree circuitry
US10013581B2 (en) 2014-10-07 2018-07-03 Nuvoton Technology Corporation Detection of fault injection attacks
TWI550291B (zh) * 2014-11-19 2016-09-21 華邦電子股份有限公司 積體電路及其錯誤檢測方法
KR20160068369A (ko) * 2014-12-05 2016-06-15 에스케이하이닉스 주식회사 패리티 체크 회로 및 이를 포함하는 메모리 장치
JP6968608B2 (ja) * 2016-09-30 2021-11-17 キヤノン株式会社 撮像装置、撮像システム、および、移動体
US10325049B2 (en) * 2017-01-18 2019-06-18 International Business Machines Corporation Placement-driven generation of error detecting structures in integrated circuits
US11429478B2 (en) 2019-06-05 2022-08-30 Stmicroelectronics International N.V. Robust soft error tolerant multi-bit D flip-flop circuit
US11366899B2 (en) 2020-02-18 2022-06-21 Nuvoton Technology Corporation Digital fault injection detector
US11165430B1 (en) 2020-12-21 2021-11-02 Kepler Computing Inc. Majority logic gate based sequential circuit
US11303280B1 (en) 2021-08-19 2022-04-12 Kepler Computing Inc. Ferroelectric or paraelectric based sequential circuit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6419600A (en) * 1987-07-13 1989-01-23 Mitsubishi Electric Corp Semiconductor integrated circuit device
JPH04132094A (ja) * 1990-09-20 1992-05-06 Fujitsu General Ltd ダイナミックramの制御回路
JPH04141745A (ja) * 1990-10-02 1992-05-15 Mitsubishi Electric Corp 半導体集積回路装置
US6199182B1 (en) * 1997-03-27 2001-03-06 Texas Instruments Incorporated Probeless testing of pad buffers on wafer
JP3895118B2 (ja) * 2001-02-23 2007-03-22 三菱電機株式会社 シングルイベントアップセット補償回路
JP2002257903A (ja) * 2001-03-01 2002-09-11 Nec Corp 半導体集積回路の試験方法と試験パタン生成方法及び装置並びにプログラム
JP4232477B2 (ja) * 2003-02-13 2009-03-04 パナソニック株式会社 半導体集積回路の検証方法
JP2004286540A (ja) * 2003-03-20 2004-10-14 Matsushita Electric Ind Co Ltd 半導体集積回路
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
US7373567B2 (en) * 2004-05-26 2008-05-13 International Business Machines Corporation System and method of providing error detection and correction capability in an integrated circuit using redundant logic cells of an embedded FPGA

Also Published As

Publication number Publication date
JP2007248378A (ja) 2007-09-27
US7702992B2 (en) 2010-04-20
US20070226600A1 (en) 2007-09-27

Similar Documents

Publication Publication Date Title
JP4899556B2 (ja) 半導体集積回路
US7328377B1 (en) Error correction for programmable logic integrated circuits
US20100088565A1 (en) Correction of single event upset error within sequential storage circuitry of an integrated circuit
US9734920B2 (en) Memory test with in-line error correction code logic to test memory data and test the error correction code logic surrounding the memories
KR102267860B1 (ko) 결함 탐지를 가진 오류 정정 하드웨어
US10613926B2 (en) Integrated circuit fault detection
US9208027B2 (en) Address error detection
KR102283686B1 (ko) 저장 데이터 값의 에러 검출
Pontarelli et al. Low delay single symbol error correction codes based on reed solomon codes
JP2010045610A (ja) 半導体集積回路
KR101001068B1 (ko) 저장된 데이터의 소프트웨어 오류 취약성의 감소
KR102271054B1 (ko) 저장 데이터 값의 에러 검출
US8589775B2 (en) Error tolerant flip-flops
JP5174603B2 (ja) メモリの誤り訂正方法,誤り検出方法、及びそれを用いたコントローラ
JP2003316599A (ja) 集積回路
JP3895118B2 (ja) シングルイベントアップセット補償回路
Lin et al. A cost-efficient self-checking register architecture for radiation hardened designs
US9542266B2 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
Singh et al. Single event upset detection and correction
Imran et al. Improving soft error correction capability of 4-d parity codes
US11132483B2 (en) Method and arrangement for forming an electronic circuit
CN116126398A (zh) 一种对高可靠性寄存器组及对应的控制方法
Jessy et al. Design and Analysis of Algorithm Based Error Detect-Corrections of Parallel FFT
JP2013143687A (ja) フリップフロップ回路及び半導体集積回路装置
KR20100091409A (ko) 불휘발성 메모리 소자

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111024

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: 20111206

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111219

R150 Certificate of patent or registration of utility model

Ref document number: 4899556

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees