JP6647145B2 - 半導体装置、電子制御システムおよび電子制御システムの評価方法 - Google Patents

半導体装置、電子制御システムおよび電子制御システムの評価方法 Download PDF

Info

Publication number
JP6647145B2
JP6647145B2 JP2016107451A JP2016107451A JP6647145B2 JP 6647145 B2 JP6647145 B2 JP 6647145B2 JP 2016107451 A JP2016107451 A JP 2016107451A JP 2016107451 A JP2016107451 A JP 2016107451A JP 6647145 B2 JP6647145 B2 JP 6647145B2
Authority
JP
Japan
Prior art keywords
circuit
fault
control system
electronic control
semiconductor device
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
JP2016107451A
Other languages
English (en)
Other versions
JP2017215665A (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 JP2016107451A priority Critical patent/JP6647145B2/ja
Priority to US15/493,311 priority patent/US10288683B2/en
Priority to CN201710395772.3A priority patent/CN107450003B/zh
Priority to KR1020170064635A priority patent/KR20170135707A/ko
Priority to EP17173382.7A priority patent/EP3252488B1/en
Publication of JP2017215665A publication Critical patent/JP2017215665A/ja
Application granted granted Critical
Publication of JP6647145B2 publication Critical patent/JP6647145B2/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/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318522Test of Sequential circuits
    • G01R31/318525Test of flip-flops or latches
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/26Testing of individual semiconductor devices
    • G01R31/2601Apparatus or methods therefor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/26Testing of individual semiconductor devices
    • G01R31/2607Circuits therefor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、半導体装置、電子制御システムおよび電子制御システムの評価方法に関し、例えば、機能安全が適用される半導体装置及びそれを含むシステムに関する。
例えば、特許文献1には、情報処理装置の擬似障害発生方式が示される。具体的には、情報処理装置が通常動作を実行中に、スキャン制御部は、情報処理装置内の特定のスキャンフリップフロップを対象に、予め定めたデータを強制的にスキャンインする。この際、アドレス比較回路は、マイクロ命令アドレスレジスタの値が予め定めたアドレスに一致したことを検出することでスキャンインのタイミングを定め、デコード回路は、予め定めたスキャンアドレスをデコードすることでスキャンイン対象のスキャンフリップフロップを特定する。
特開平1−169640号公報
例えば、自動車向けの機能安全規格であるISO26262の登場により、自己の故障を検知する自己診断回路を搭載する半導体装置が増加している。このような半導体装置を搭載したシステムは、例えば、自己診断回路による故障の検知を受け、故障の種類等に応じた各種安全動作を実行することで、重大な問題が生じる事態を回避することができる。ただし、自己診断回路が正常に機能するか、つまり、故障を検知できるかの検証は、通常、半導体装置で実際に故障が発生するまで行うことができない。そのため、システムの開発に際し、例えば、機能安全に伴うソフトウエアをシステム上でデバッグすることや、機能安全が正常に動作するかを検証すること等が困難となっている。
そこで、半導体装置に強制的に擬似故障を発生させるため、例えば、特許文献1のような方式を用いることが考えられる。しかし、当該方式では、各種論理回路に含まれる各スキャンフリップフロップに対し、強制的なスキャンインを受け付けるための回路を別途追加する必要がある。このように、論理回路に対して新たな回路を追加すると、レイアウト設計や各種設計検証を再度やり直す必要性が生じ得る。
後述する実施の形態は、このようなことを鑑みてなされたものであり、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
一実施の形態による半導体装置は、一つの半導体チップで構成され、所定の機能を担う論理回路と、複数のテストポイントと、第1のスキャンチェーンと、故障注入回路とを有する。複数のテストポイントは、それぞれ、テストポイント用フリップフロップを含み、当該フリップフロップが第1の値を保持する場合に論理回路内の対象ノードを所定の論理レベルに固定する。第1のスキャンチェーンは、複数のテストポイント用フリップフロップを順に結合することで構成される。故障注入回路は、故障データを生成し、それを第1のスキャンチェーンのスキャンインノードを介して第1のスキャンチェーンに設定することで、論理回路が通常動作を行っている期間に対象ノードに故障を注入する。
前記一実施の形態によれば、論理回路に対して新たな回路を追加することなく、論理回路に擬似故障を発生させることが可能になる。
本発明の実施の形態1による半導体装置において、主要部の概略構成例を示す回路ブロック図である。 図1における故障注入回路の概略構成例を示す回路ブロック図である。 図1におけるテストポイントの構成例を示す回路図である。 図3とは異なるテストポイントの構成例を示す回路図である。 図1の半導体装置の動作例を示すフロー図である。 図5の補足図であり、図1の半導体装置の内部波形の一例を示す波形図である。 本発明の実施の形態2による半導体装置において、主要部の概略構成例を示す回路ブロック図である。 図7における故障注入回路の概略構成例を示す回路ブロック図である。 図7の半導体装置の動作例を示すフロー図である。 図9の補足図であり、図7の半導体装置の内部波形の一例を示す波形図である。 本発明の実施の形態3による半導体装置において、主要部の概略構成例を示す回路ブロック図である。 図11における故障注入回路の概略構成例を示す回路ブロック図である。 図11の半導体装置の動作時における内部波形の一例を示す波形図である。 本発明の実施の形態4による電子制御システムを適用した車両装置の構成例を示す概略図である。 図14の電子制御システムにおいて、半導体装置のより詳細な構成例を示す回路ブロック図である。 本発明の実施の形態4による電子制御システムにおいて、その評価方法の一例を示すフロー図である。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
《半導体装置の構成》
図1は、本発明の実施の形態1による半導体装置において、主要部の概略構成例を示す回路ブロック図である。図1の半導体デバイス(半導体装置)DEVは、一つの半導体チップで構成され、所定の機能を担う論理回路LGCと、量産用テストパターン発生回路TPGと、スキャンチェーン(本明細書では、TPチェーンと称する)SC1と、故障注入回路ERINC1と、選択回路SEL1とを有する。
論理回路LGCは、複数のフリップフリップFF1〜FFnに値を保持しながら通常動作を行うことで所定の機能を実現する。論理回路LGCは、DFT(Design For Test)機能の一つとして、当該複数のフリップフロップFF1〜FFnを順に結合することで構成されるスキャンチェーン(本明細書ではFFチェーンと称する)SC2を有する。FFチェーンSC2は、スキャンインノードSI2およびスキャンアウトノードSO2を備える。本明細書では、複数のフリップフリップFF1〜FFnを総称してフリップフリップFFと称す。
TPチェーンSC1は、複数のテストポイントTP1〜TPmを含む。本明細書では、複数のテストポイントTP1〜TPmを総称してテストポイントTPと称す。テストポイントTPは、詳細は後述するが、テストポイント用フリップフロップを含み、テストポイント用フリップフロップが所定の値を保持する場合に論理回路LGC内の対象ノードを所定の論理レベル(‘0’または‘1’レベル)に固定する。TPチェーンSC1は、当該複数のテストポイントTP1〜TPmにそれぞれ含まれる複数のテストポイント用フリップフロップを順に結合することで構成され、スキャンインノードSI1およびスキャンアウトノードSO1を備える。
通常、論理回路LGCを含む半導体デバイスDEVでは、DFT機能の他の一つとしてTPI(TPI:Test Point Insertion)と呼ばれる複数のテストポイントTPが挿入される。テストポイントTPは、DFTツールで自動生成される場合や、回路設計者等によって任意に挿入される場合がある。一般的に、テストポイントTPは、半導体デバイスDEVの量産時に論理回路LGCの故障検出率を向上させるために設けられ、半導体デバイスDEV(論理回路LGC)の通常動作時には全く使用されない。
量産用テストパターン発生回路TPGは、量産用テストパターンTPATa,TPATbを生成する。量産用テストパターン発生回路TPGは、FFチェーンSC2のスキャンインノードSI2に量産用テストパターンTPATaを出力し、TPチェーンSC1のスキャンインノードSI1に量産用テストパターンTPATbを出力することで論理回路LGCのスキャンテストを実行する。量産用テストパターン発生回路TPGは、代表的には、圧縮スキャンテスト用の各種回路や、あるいは、ロジックBIST(Built In Self Test)用の各種回路等を含む。
代表的なスキャンテストの方法として、量産用テストパターン発生回路TPGは、量産用テストパターンTPATbをTPチェーンSC1に設定することで論理回路LGCの対象ノードを所定の論理レベルに固定する。この状態で、量産用テストパターン発生回路TPGは、量産用テストパターンTPATaをFFチェーンSC2にスキャンインし、次いでキャプチャによって論理回路LGC内の組合せ回路(図示せず)を動作させたのち、FFチェーンSC2の値をスキャンアウトする。これによって、例えば、通常では所定の論理レベルに定め難い対象ノードを所定の論理レベルに定めた状態でテストを行うことができる。
なお、半導体デバイスDEVは、必ずしも量産用テストパターン発生回路TPGを備える必要はない。すなわち、場合によっては、量産用テストパターン発生回路TPGの代わりに、半導体デバイスDEV外部のATE(Automated Test Equipment)が量産用テストパターンTPATa,TPATbを生成してもよい。この場合、ATEは、例えば、半導体デバイスDEVが備えるJTAG(Joint Test Action Group)等のシリアルインタフェースを介して各スキャンチェーンにアクセスすることになる。
故障注入回路ERINC1は、故障データERDTを生成し、TPチェーンSC1のスキャンインノードSI1を介して故障データERDTをTPチェーンSC1に設定することで、論理回路LGCが通常動作を行っている期間に論理回路LGC内の対象ノードに故障を注入する。ここでは、故障注入回路ERINC1には、故障注入イネーブル信号ERENと、故障注入アドレスERADRとが入力される。また、故障注入回路ERINC1は、故障データERDTと、選択信号SS1と、TPイネーブル信号TPEと、TP用スキャンイネーブル信号TPSEと、クロック信号CLKとを出力する。
ここで、図示は省略されているが、TPイネーブル信号TPEと、TP用スキャンイネーブル信号TPSEと、クロック信号CLKは、複数のテストポイントTP1〜TPmにそれぞれ結合される。TP用スキャンイネーブル信号TPSEは、テストポイントTPにのみ結合され、論理回路LGC内のFFチェーンSC2に結合されるスキャンイネーブル信号とは独立に制御される。
選択回路SEL1は、入力ノードN10に量産用テストパターンTPATbが入力され、入力ノードN11に故障データERDTが入力され、入力ノードN10か入力ノードN11の一方を選択してTPチェーンSC1のスキャンインノードSI1に結合する。これによって、スキャンインノードSI1には、故障データERDTか、論理回路LGCのスキャンテストを実行するための量産用テストパターンTPATbの一方が入力される。故障注入回路ERINC1は、選択信号SS1を介して、入力ノードN11を選択するように選択回路SEL1を制御する。
以上のように、図1の半導体デバイスDEVは、FFチェーンSC2とは独立にTPチェーンSC1を備える点と、故障注入回路ERINC1を備える点とが主要な特徴となっている。FFチェーンSC2内の各フリップフリップFFと、TPチェーンSC1内の各テストポイントTPは、通常は、共通の1本のスキャンチェーンに組み込まれることも可能であるが、ここでは、2本のスキャンチェーンにそれぞれ分離される。
これにより、故障注入回路ERINC1は、論理回路LGCからは独立してTPチェーンSC1を制御することができ、論理回路LGCが通常動作を行っている期間に論理回路LGCに故障を注入することが可能になる。すなわち、通常は量産時にしか使用されないテストポイントTPを、例えば、半導体デバイスDEVの出荷後となる量産後に再度活用し、半導体デバイスDEVに擬似故障を発生させることが可能になる。
なお、故障注入回路ERINC1に関しては、半導体デバイスDEVの内部に設けることが望ましいが、場合によっては、半導体デバイスDEVの外部に設けることも可能である。また、例えば、量産用テストパターン発生回路TPGと故障注入回路ERINC1とを1個の回路ブロックに統合し、当該回路ブロックが、所定の選択信号に応じて量産用テストパターンTPATbか故障データERDTの一方を選択的にスキャンインノードSI1に出力することも可能である。この場合、当該回路ブロックが、選択回路SEL1の機能を等価的に担うことになる。
《故障注入回路の構成》
図2は、図1における故障注入回路ERINC1の概略構成例を示す回路ブロック図である。図2の故障注入回路ERINC1は、シーケンス制御回路CTR1と、初期化回路INITCと、クロック制御回路CKCTと、タイマ回路TMRとを備える。タイマ回路TMRは、故障注入イネーブル信号ERENがアサートされた時点からカウント動作を開始し、予め定めた所定の時間を経過後にタイマ満了信号TUPをアサートする。所定の時間は、固定値でもよいし、故障注入回路ERINC1の外部から設定可能な可変値であってもよい。また、タイマ回路TMRは、詳細は後述するが、故障注入のタイミングを遅らせるためのものであり、その必要が無ければ、シーケンス制御回路CTR1に故障注入イネーブル信号ERENを直接入力する構成であってもよい。
シーケンス制御回路CTR1は、タイマ満了信号TUPのアサートを受けて動作を開始し、故障注入回路ERINC1全体のシーケンスを制御する。シーケンス制御回路CTR1は、選択回路SEL1へ選択信号SS1を出力し、TPチェーンSC1へTPイネーブル信号TPEおよびTP用スキャンイネーブル信号TPSEを出力する。また、シーケンス制御回路CTR1は、初期化回路INITCへ初期化開始信号STRを出力し、クロック制御回路CKCTへクロックイネーブル信号CKEを出力する。
初期化回路INITCは、シーケンス制御回路CTR1からの初期化開始信号STRに応じて動作を開始する。初期化回路INITCは、故障注入アドレスERADRに基づく対象ノードに故障を注入するための故障データERDTを生成し、当該故障データERDTをシリアルに選択回路SEL1へ出力する。また、初期化回路INITCは、故障データERDTの出力が全て完了した場合(すなわち、TPチェーンSC1への故障データERDTの設定が完了した場合)、シーケンス制御回路CTR1へ初期化完了信号EDを出力する。クロック制御回路CKCTは、シーケンス制御回路CTR1からのクロックイネーブル信号CKEのアサート期間でクロック信号CLKを生成し(ネゲート期間でクロック信号CLKの生成を停止し)、当該生成したクロック信号CLKをTPチェーンSC1へ供給する。
《テストポイントの構成》
図3は、図1におけるテストポイントTPの構成例を示す回路図であり、図4は、図3とは異なるテストポイントTPの構成例を示す回路図である。図3に示すテストポイントTPkは、論理回路LGC内の信号パス(ノードN1a,N1b)に挿入されたANDゲートAD10を介して、当該信号パスの対象ノードN1bを‘0’に固定する回路である。当該テストポイントTPkは、テストポイント用フリップフロップTPFFと、選択回路SEL10と、NANDゲートND10とを有する。
テストポイント用フリップフロップTPFFは、選択回路SEL10の出力をクロック信号CLKに同期してラッチする。選択回路SEL10は、TP用スキャンイネーブル信号TPSEのアサート期間(ここでは‘1’)で、前段のテストポイントTPk−1(その中のテストポイント用フリップフロップTPFF)からの出力値を伝送し、ネゲート期間(ここでは‘0’)で、自段のテストポイント用フリップフロップTPFFの出力を入力に帰還する。NANDゲートND10は、TPイネーブル信号TPEとテストポイント用フリップフロップTPFFの出力との論理演算を行う。
ANDゲートAD10は、2入力の一方がノードN1aに結合され、2入力の他方にNANDゲートND10の演算結果が入力され、出力がノードN1bに結合される。NANDゲートND10の演算結果は、テストポイント用フリップフロップTPFFの値が‘1’かつTPイネーブル信号TPEのアサート期間(ここでは‘1’)で‘0’となる。この場合、ノードN1aの論理レベルに関わらず、ノードN1bは‘0’に固定される。一方、テストポイント用フリップフロップTPFFの値が‘0’の場合か、または、TPイネーブル信号TPEのネゲート期間(ここでは‘0’)では、ノードN1bの論理レベルは、ノードN1aの論理レベルに等しくなる。
図4に示すテストポイントTPjは、論理回路LGC1内の信号パス(ノードN2a,N2b)に挿入されたORゲートOR20を介して、当該信号パスの対象ノードN2bを‘1’に固定する回路である。当該テストポイントTPjは、テストポイント用フリップフロップTPFFと、選択回路SEL20と、ANDゲートAD20とを有する。すなわち、図4では、図3のNANDゲートND10の代わりにANDゲートAD20が設けられ、ANDゲートAD10の代わりにORゲートOR20が設けられる。これにより、図3の場合と同様に、テストポイント用フリップフロップTPFFの値が‘1’かつTPイネーブル信号TPEのアサート期間では、ノードN2aの論理レベルに関わらず、ノードN2bは‘1’に固定される。一方、それ以外の場合には、ノードN2bの論理レベルは、ノードN2aの論理レベルに等しくなる。
なお、テストポイントTPは、特に図3および図4に示したような構成に限定されるものではない。例えば、TP用スキャンイネーブル信号TPSEのネゲート期間では、テストポイント用フリップフロップTPFFに、自身の値ではなく、所定の固定値が入力されるような構成であってもよい。または、選択回路SEL10,SEL20を設けずに、前段のテストポイント用フリップフロップTPFFからの出力値が、自段のテストポイント用フリップフロップTPFFに直接入力されるような構成であってもよい。その他にも、テストポイントTPとして様々な構成が知られており、それらを適宜適用することが可能である。
《半導体装置の動作》
図5は、図1の半導体装置の動作例を示すフロー図である。図6は、図5の補足図であり、図1の半導体装置の内部波形の一例を示す波形図である。図5において、半導体デバイス(半導体装置)DEVの電源を投入すると、故障注入回路ERINC1と、論理回路LGCを主とする半導体デバイスDEVの本体(デバイス本体と称す)とがそれぞれ独立に動作する。デバイス本体は、電源投入後、所定の起動処理(例えば、ブートプログラムの実行等)を経て(ステップS201)、通常動作を実行する(ステップS202)。
また、デバイス本体は、図1では省略されているが機能安全回路(または自己診断回路)を備えている。当該機能安全回路は、デバイス本体が通常動作を実行する中で論理回路LGC等で故障が発生した場合、当該故障を検知し(ステップS203)、デバイス外部に向けたエラー通知や、デバイス内部の所定のエラー処理等を実行する(ステップS204)。エラー処理としては、特に限定はされないが、例えば、故障を検知した箇所(論理回路LGC等)の内部リセット等が挙げられる。
一方、故障注入回路ERINC1は、電源投入後、故障注入イネーブル信号ERENがアサートかネゲートかを判定する(ステップS101)。ネゲートの場合、故障注入回路ERINC1は、故障注入の動作を開始せず、特に何も行わない。一方、アサートの場合、故障注入回路ERINC1は、故障注入の動作を開始し、故障注入アドレスERADRを受信する(ステップS102)。ここで、故障注入イネーブル信号ERENや故障注入アドレスERADRの定め方として、例えば、電源投入直後に半導体デバイスDEVの外部入力を介して定める方式や、または、半導体デバイスDEV内蔵の不揮発性メモリ等を用いてデバイス内部で自動的に定める方式等が挙げられる。ここでは、後者の方式を用いる場合を想定する。
後者の方式では、例えば、半導体デバイスDEVの外部から任意の値を書き込み可能な不揮発性メモリに、予め、故障注入を行うか否かを定める故障注入フラグと、故障注入アドレスERADRとを格納する記憶領域が設けられる。ユーザは、故障注入回路ERINC1を動作させたい場合には、当該不揮発性メモリに、予め、故障注入フラグおよび故障注入アドレスERADRを書き込んでおく。
このような状態で、半導体デバイスDEVの電源投入を行うと、半導体デバイスDEVは、図6の期間T0においてブートプログラムを実行する。そして、半導体デバイスDEVは、ブートプログラムの中で当該故障注入フラグの記憶領域を読み出す。半導体デバイスDEVは、当該記憶領域に故障注入フラグが書き込まれている場合には、加えて故障注入アドレスERADRを読み出し、それを故障注入回路ERINC1に出力すると共に、故障注入イネーブル信号ERENをアサートする。これに応じて、故障注入回路ERINC1は、故障注入の動作を開始する。
一方、半導体デバイスDEVは、当該記憶領域に故障注入フラグが書き込まれていない場合には、故障注入イネーブル信号ERENをネゲートに保ち、故障注入回路ERINC1は、故障注入の動作を開始しない。このように、故障注入回路ERINC1は、不揮発性メモリの所定の記憶領域に故障注入フラグが格納されている場合に動作し、格納されていない場合には動作しない。
故障注入回路ERINC1は、故障注入イネーブル信号ERENがアサートされた場合、故障注入アドレスERADRの受信と共に(ステップS102)、図6の期間T1に示されるようにタイマ回路TMRを起動し、所定の時間が経路するのを待つ(ステップS103)。当該所定の時間は、例えば、デバイス本体が通常動作(ステップS202)に到達するまでの待ち時間である。
所定の時間が経過すると、タイマ回路TMRはタイマ満了信号TUPをアサートする。これに応じて、シーケンス制御回路CTR1は、図6の期間T1→期間T2に示されるように、初期化開始信号STRおよびTP用スキャンイネーブル信号TPSEをアサートし、また、選択信号SS1を介して、初期化回路INITCの出力をスキャンインノードSI1に結合する。また、シーケンス制御回路CTR1は、クロックイネーブル信号CKEもアサートする。
初期化回路INITCは、初期化開始信号STRのアサートに応じてTPチェーンSC1の初期化を実行する(ステップS104)。また、クロック制御回路CKCTは、クロックイネーブル信号CKEのアサートに応じて、図6の期間T2に示されるように、TPチェーンSC1に、初期化のためのクロック信号CLKを供給する。
ステップS104に際し、初期化回路INITCは、まず、故障データERDTを生成する。故障データERDTは、テストポイントTPの数と同じ長さ(図1の例ではmビット)で、特定の1ビットに‘1’が設定され、残りのビットに‘0’が設定されたビット列である。この特定の1ビットは、故障注入アドレスERADRによって定められる。次に、初期化回路INITCは、図6の期間T2に示されるように、生成した故障データERDTをTPチェーンSC1に1ビットずつシフトインし、シフトインの動作が完了したら、初期化完了信号EDをアサートする。
このように、初期化回路INITCは、複数のテストポイント用フリップフロップTPFFのいずれか一つが‘1’を保持するように故障データERDTを生成し、それをテストポイント用フリップフロップTPFFに設定する。その結果、複数のテストポイント用フリップフロップTPFFのうち、唯一のフリップフロップだけに‘1’が設定され、残りのフリップフロップに‘0’が設定された状態が構築される。
シーケンス制御回路CTR1は、初期化完了信号EDのアサートに応じて、クロックイネーブル信号CKEをネゲートする。これに応じて、クロック制御回路CKCTは、図6の期間T2→期間T3に示されるように、クロック信号CLKの供給を停止する(ステップS105)。その結果、テストポイントTPに設定された故障データERDTは、固定化される。その後、シーケンス制御回路CTR1は、図6の期間T2→期間T3に示されるように、TPイネーブル信号TPEをアサートすることで故障注入を開始する(ステップS106)。すなわち、テストポイント用フリップフロップTPFFに‘1’が設定されたテストポイントTPの対象ノードに、‘0’または‘1’のスタック故障が注入される。
図6では、故障注入の対象ノードが2個(すなわちテストポイントTPの数が2個)の場合を例として、対象ノード[1],[2]のいずれか一つ(ここでは対象ノード[1])に故障を注入した状態を模式的に示している。この例では、対象ノードは、‘0’の場合に正常状態であり、‘1’の場合に故障状態である。図5のステップS203,S204において、機能安全回路は、当該対象ノード[1]の故障を検知し、図6の期間T3→期間T4に示されるように、エラー出力信号を出力する。
《実施の形態1の主要な効果》
以上のように、実施の形態1では、量産用のDFT機能の一つとして設けられるテストポイントTPを利用し、当該テストポイントTPの制御信号を量産後にも駆動できるように構成することで、量産後の半導体デバイス(論理回路LGC)に対する故障注入を実現している。これにより、論理回路LGCに対して新たな回路を追加することなく、論理回路LGCに擬似故障を発生させることが可能になる。
比較例として、例えば、特許文献1の方式は、図1のFFチェーンSC2に対して所定の回路を追加することで特定のフリップフロップFFに擬似故障を発生させるような方式となる。この場合、論理回路LGCに新たな回路を追加する必要があるため、レイアウト設計や各種設計検証を再度やり直す必要性が生じ得る。一方、実施の形態1では、論理回路LGCへの追加回路は特に生じないため、このような問題を回避できる。
また、特許文献1の方式では、FFチェーンSC2に加えて、プログラムカウンタの値をモニタする回路やデコード回路等を、プロセッサ等の論理回路LGCに追加する必要がある。この場合、ロックステップデュアルコアのような、同一構成の回路が複数必要な場合に不向きである。
何故なら、疑似的に故障を注入したいマスタコアに対してのみ回路を追加した場合は、マスタコアとチェッカコアで回路およびレイアウトが異なってしまい、ロックステップデュアルコアとしての本来の目的を果たせない恐れがある。一方、マスタコアとチェッカコアの両方に回路を追加した場合は、両方のコアに故障が注入されてしまい、マスタコアにのみ故障を注入したいという目的が果たせない恐れがある。実施の形態1の方式では、マスタコアのTPチェーンSC1に故障データERDTを設定することで、マスタコアにのみ故障を注入するというようなことを容易に実現できる。
さらに、実施の形態1の方式では、既存のテストポイントTPを利用しているため、多くの論理回路LGCに対する故障注入を少ない回路オーバヘッドで実現できる場合がある。なお、図5および図6に示した動作では、永続的な故障、つまり、特定の1個の対象ノードが常に‘0’若しくは‘1’に固定化している状態、を再現できる。これにより、機能安全が適用される半導体装置ならびにそれを搭載したシステムが、永続的な故障に対し、機能安全が正常に動作するか(例えばシステム障害等の発生を回避できるか等)を検証することができる。加えて、システムの開発に際し、例えば、故障を適宜注入しながら、機能安全に伴うソフトウエアをシステム上でデバッグするようなことも可能である。
(実施の形態2)
《半導体装置の構成(変形例)》
図7は、本発明の実施の形態2による半導体装置において、主要部の概略構成例を示す回路ブロック図である。図7の半導体デバイス(半導体装置)DEVは、図1の構成例と比較して、次の2点が異なっている。1点目は、故障注入回路ERINC2の内部構成が異なる点であり、2点目は、故障注入回路ERINC2にTPチェーンSC1のスキャンアウトノードSO1が結合される点である。故障注入回路ERINC2は、図1の場合とは異なる故障データERDT2を出力する。
《故障注入回路の構成(変形例)》
図8は、図7における故障注入回路の概略構成例を示す回路ブロック図である。図8に示す故障注入回路ERINC2は、図2の構成例と比較して、次の2点が異なっている。1点目は、新たに選択回路SEL2が設けられる点であり、2点目は、選択回路SEL2の追加に伴いシーケンス制御回路CTR2の構成および動作が異なる点である。
選択回路SEL2は、入力ノードN20に初期化回路INITCからの故障データERDTが入力され、入力ノードN21にTPチェーンSC1のスキャンアウトノードSO1が結合される。選択回路SEL2は、入力ノードN20か入力ノードN21の一方を選択して選択回路SEL1の入力ノードN11に結合する。シーケンス制御回路CTR2は、図2の場合と同様の各種信号(STR,SS1,TPE,TPSE,CKE)に加えて、選択回路SEL2の選択信号SS2を出力する。
《半導体装置の動作(変形例)》
図9は、図7の半導体装置の動作例を示すフロー図である。図10は、図9の補足図であり、図7の半導体装置の内部波形の一例を示す波形図である。図8の故障注入回路ERINC2は、概略的には、まず、入力ノードN20を選択するように選択回路SEL2を制御し、実施の形態1の場合と同様に、複数のテストポイント用フリップフロップTPFFのいずれか一つが‘1’を保持するように故障データERDTを生成および設定する。次いで、故障注入回路ERINC2は、入力ノードN21を選択するように選択回路SEL2を制御し、TPチェーンSC1をスキャンシフトさせながら‘1’を保持するテストポイント用フリップフロップTPFFを巡回させることで、対象ノードを変更しながら故障を注入するような故障データERDT2を生成する。
具体的に説明すると、図9において、デバイス本体の処理内容(ステップS201〜S204)と、故障注入回路ERINC2におけるTPチェーンSC1の初期化までの処理内容(ステップS101〜S104)は、図5の場合と同様である。また、図10において、TPチェーンSC1の初期化までの期間(期間T0〜期間T2)の波形も図6の場合と同様である。
図9において、シーケンス制御回路CTR2は、初期化回路INITCからの初期化完了信号EDのアサートを受信し(ステップS104)、これに応じてステップS301の処理を実行する。ステップS301において、シーケンス制御回路CTR2は、クロックイネーブル信号CKEのアサートを維持し、選択信号SS2を用いて、TPチェーンSC1のスキャンアウトノードSO1がスキャンインノードSC1に結合するように制御する。すなわち、シーケンス制御回路CTR2は、TPチェーンSC1のリング化を行う。
次いで、シーケンス制御回路CTR2がTPイネーブル信号TPEをアサートすることで、故障注入回路ERINC2は、TPチェーンSC1をスキャンシフトさせながら故障注入を開始する(ステップS302)。具体的には、故障注入回路ERINC2は、テストポイント用フリップフロップTPFFに‘1’が設定されているテストポイントTP(言い換えれば、有効化されたテストポイントTP)を、クロック信号CLKに連動して、順次、後段へ移動させる。また、TPチェーンSC1はリング化されているため、当該有効化されたテストポイントTPは、TPチェーンSC1上を巡回する。これに応じて、故障注入の対象ノードも、巡回的に移動することになる。
図10では、故障注入の対象ノードが2個(すなわちテストポイントTPの数が2個)の場合を例として、対象ノード[1],[2]に巡回的に故障を注入した状態を模式的に示している。この例では、対象ノードが2個であるため、期間T3a,T4aに示すように、対象ノード[1],[2]では、クロック信号CLKに連動して、交互に正常状態(ここでは‘0’)と故障状態(ここでは‘1’)が切り替わっている。図9のステップS203,S204において、機能安全回路は、当該対象ノード[1],[2]の故障を検知し、図10の期間T3a→期間T4aに示されるように、エラー出力信号を出力する。
《実施の形態2の主要な効果》
以上のように、実施の形態2の方式では、実施の形態1の方式と異なり、間欠故障、つまり、一旦故障状態となった後に正常状態に戻るような一過性の故障、を対象ノードを変えながら連続して発生させている。これにより、実施の形態1で述べたような各種効果に加えて、さらに、機能安全が適用される半導体装置ならびにそれを搭載したシステムが、間欠故障に対し、機能安全が正常に動作するか(例えばシステム障害等の発生を回避できるか等)を検証することができる。なお、故障を対象ノードを変えながら連続して発生させているのは、間欠故障では、故障がシステム障害となって顕在化する前に正常状態に戻る場合があるためであり、より障害を発生し易くするためである。
(実施の形態3)
《半導体装置の構成(応用例)》
図11は、本発明の実施の形態3による半導体装置において、主要部の概略構成例を示す回路ブロック図である。図11の半導体デバイス(半導体装置)DEVは、図7の構成例と比較して、故障注入回路ERINC3の内部構成が異なっている。故障注入回路ERINC3には、故障注入期間や故障注入の間隔を可変設定するための故障注入条件ERCNDが入力される。
《故障注入回路の構成(応用例)》
図12は、図11における故障注入回路ERINC3の概略構成例を示す回路ブロック図である。図12に示す故障注入回路ERINC3は、図8の構成例と比較して、TPイネーブル制御回路TPECTが追加される点が異なっている。TPイネーブル制御回路TPECTは、シーケンス制御回路CTR2からのTPイネーブル信号TPEのアサートを受け、故障注入条件ERCNDに応じてパルス幅やパルス間隔を調整したTPイネーブル信号TPE2をTPチェーンSC1へ出力する。これにより、TPイネーブル制御回路TPECTは、対象ノードを変更しながら故障を注入する際の故障を注入する期間と、故障を注入する間隔とを設定に応じて定める。
《半導体装置の動作(応用例)》
図13は、図11の半導体装置の動作時における内部波形の一例を示す波形図である。図13において、期間T10〜T12では、図10の期間T0〜T2とほぼ同様の処理が行われる。ただし、図13の期間T10では、故障注入回路ERINC3に対し、故障注入アドレスERADRに加えて故障注入条件ERCNDが入力されている。故障注入条件ERCNDは、前述した故障注入アドレスERADRの場合と同様の方式で入力される。すなわち、電源投入後に外部入力する方式や、または、不揮発性メモリの所定の記憶領域に予め書き込んでおき、それを電源投入後に読み出す方式等を用いることができる。
図13の期間T13,T14では、TPイネーブル制御回路TPECTが、図10の期間T3a,T4aとは異なる波形形状を持つTPイネーブル信号TPE2を生成している。この例では、TPイネーブル制御回路TPECTは、クロック信号CLKの複数サイクル毎に、所定の期間、TPイネーブル信号TPE2をアサートしている。この複数サイクルの数と、所定の期間の長さは、故障注入条件ERCNDによって設定される。TPイネーブル制御回路TPECTは、特に限定はされないが、例えば、当該複数サイクルをカウントするカウンタと、当該カウンタの出力を受けて所定のパルス幅のワンショットパルスを生成するパルス生成回路とによって構成される。
このようなTPイネーブル信号TPE2を用いることで、図10の場合と同様に、故障注入の対象ノードを移動させつつ、図10の場合と異なり、各故障の発生期間を定めることができ、さらに、その移動の合間に故障が発生していない期間を設けることが可能になる。すなわち、図3および図4に示したように、テストポイントTPは、TPイネーブル信号TPE2のアサート期間で、対象ノードに‘0’または‘1’のスタック故障を発生させ、ネゲート期間では、スタック故障を発生させない。
《実施の形態3の主要な効果》
以上のように、実施の形態3の方式では、実施の形態2の方式に対して、さらに、故障を注入する期間と、故障を注入する間隔とが制御される。これにより、実施の形態1,2で述べたような各種効果に加えて、さらに、機能安全が適用される半導体装置ならびにそれを搭載したシステムが、偶発的な故障に対し、機能安全が正常に動作するか(例えばシステム障害等の発生を回避できるか等)を検証することができる。偶発的な故障とは、例えば、アルファ線やノイズの影響により偶発的に発生する一時的な故障を表す。
なお、ここでは、図8の構成例に対してTPイネーブル制御回路TPECTを追加したが、同様にして、図2の構成例に対してTPイネーブル制御回路TPECTを追加することも可能である。この場合、当該TPイネーブル制御回路TPECTは、故障注入条件に基づき、故障を注入する期間を制御する。その結果、図6では、故障注入の対象ノード[1]は、期間T3,T4において常に故障状態であったが、この故障状態の期間を故障注入条件に基づき制御することが可能になる。
(実施の形態4)
《電子制御システムの構成》
図14は、本発明の実施の形態4による電子制御システムを適用した車両装置の構成例を示す概略図である。図14の車両装置VHは、代表的には、自動車等である。車両装置VHは、電子制御システムECUと、エンジン、ブレーキ等の各種アクチュエータに該当する駆動装置ACRとを備える。電子制御システムECUは、例えば、半導体デバイス(半導体装置)DEVおよび他デバイスSDEV等を搭載した配線基板等で構成される。半導体デバイスDEVには、実施の形態1〜3で述べたような構成が適用される。
図14の半導体デバイスDEVは、概略的には、論理回路LGCと、TPチェーンSC1と、故障注入回路ERINCと、機能安全回路FSCと、フラッシュメモリ等の不揮発性メモリROMとを備える。通常動作において、駆動装置ACRは、半導体デバイス(その中の論理回路LGC)からの制御信号MCTLに基づいて所定の動作を行い、車両装置VHを走行させる。一方、論理回路LGCに故障が発生すると、機能安全回路FSCは、当該故障を検知し、例えば、他デバイスSDEVへエラーの内容等を含んだエラー通知EOを送信する。
他デバイスSDEVは、エラー通知EOを受け取ると、例えば、半導体デバイス(その中の論理回路LGC)へリセット要求RQを発行し、また、駆動装置ACRへ制御切り換え命令を含む制御信号SCTLを出力する。駆動装置ACRは、他デバイスSDEVからの制御信号SCTLに基づき、半導体デバイスDEVからの制御信号MCTLに基づく動作を停止し、代わりに制御信号SCTLに基づく動作を行う。この際に、他デバイスSDEVは、特に限定はされないが、エラー通知EOに含まれるエラーの内容等に応じて、車両装置VHの走行を続けるための制御信号SCTLを出力したり、あるいは、車両装置VHを安全に停止させるための制御信号SCTLを出力する。このように、電子制御システムECUは、半導体デバイスDEVに故障が発生した場合に機能安全に伴う所定の動作を実行する。
図15は、図14の電子制御システムにおいて、半導体装置のより詳細な構成例を示す回路ブロック図である。例えば、自動車用の電子制御システムECUには、通常、半導体デバイスDEVとしてマイクロコントローラMCUが搭載される。マイクロコントローラMCUは、例えば、図15に示されるように、内部バスBSで結合される複数の論理回路LGC1〜LGC3、揮発性メモリRAMおよび不揮発性メモリROM等を備える。
この例では、論理回路LGC1,LGC2は、共に同一回路構成のプロセッサコアであり、マスタコアおよびチェッカコアからなるロックステップデュアルコアMPUを構成する。ロックステップデュアルコアMPUは、マスタコアとチェッカコアの出力を比較することでマスタコアの故障を検知する故障検知回路ERDET1を備える。揮発性メモリRAMは、ECC(Error Check and Correct)エラー等を検知する故障検知回路ERDET2を備え、論理回路LGC3も、所定の方法で故障を検知する故障検知回路ERDET3を備える。論理回路LGC3は、特に限定はされないが、各種アクセラレータ回路や、各種通信インタフェース回路等に該当する。
図15のマイクロコントローラMCUは、さらに、複数のTPチェーンSC1a,SC1b,SC1cと、機能安全回路FSCと、故障注入回路ERINCとを備える。TPチェーンSC1a,SC1b,SC1cは、それぞれ、論理回路LGC1,LGC2,LGC3に対応して設けられる。故障注入回路ERINCは、TPチェーンSC1a,SC1b,SC1cのスキャンインノードSI1a,SI1b,SI1cおよびスキャンアウトノードSO1a,SO1b,SO1cにそれぞれ結合される。機能安全回路FSCは、故障検知回路ERDET1〜ERDET3からの故障検知信号ED1〜ED3を受け、外部へエラー通知EOを送信する。また、機能安全回路FSCは、故障検知信号ED1〜ED3に応じて、内部リセット信号の発行等も行う。
《電子制御システムの評価方法》
図16は、本発明の実施の形態4による電子制御システムにおいて、その評価方法の一例を示すフロー図である。図16では、まず、半導体デバイスDEV1(その中の論理回路LGC)に通常動作を行わせる(ステップS401)。次いで、スキャンインノードを介してTPチェーンSC1に故障データを設定することで、論理回路LGCが通常動作を行っている期間に論理回路LGC内の対象ノードに故障を注入する(ステップS402)。その後、故障が注入された後の電子制御システムECUの挙動を検証する(ステップS403)。具体的には、例えば、他デバイスSDEVが設計通りに動作するか否か等を検証する。
ここで、ステップS402の際には、例えば、図15において、故障データを設定するTPチェーンSC1a,SC1b,SC1cを選択することで、故障注入先となる論理回路LGC1,LGC2,LGC3を適宜選択することが可能である。また、図14および図15の例では、故障注入回路ERINCは、半導体デバイスDEVに内蔵されるが、場合によっては、半導体デバイスDEVの外部(例えば、電子制御システムECUの配線基板上、または外部のテスト装置等)に搭載されることも可能である。
この場合、例えば、外部の故障注入回路が半導体デバイスDEVのJTAGインタフェース等を介してTPチェーンSC1のスキャンインノードSI1にアクセスできるように半導体デバイスDEVを構成すればよい。ただし、この場合、電子制御システムECUの評価担当者等の負担の増大や、TPチェーンSC1を外部から直接的にアクセス可能にすることによるセキュリティの低下等が懸念される。したがって、このような観点からは、故障注入回路ERINCを半導体デバイスDEVに内蔵することが望ましい。
以下、故障注入回路ERINCが半導体デバイスDEVに内蔵される場合を例として、図16のステップS401,S402の詳細について説明する。まず、評価担当者等は、図14に示すように、車両装置VHが停止している状態で、情報処理装置EQ等を半導体デバイスDEVの外部インタフェースIFに接続し、情報処理装置EQに予め格納してある故障注入機能有効化プログラムERIPRGを実行する。
故障注入機能有効化プログラムERIPRGは、半導体デバイスDEVの不揮発性メモリROMを書き換えるプログラムである。これによって、評価担当者等は、実施の形態1〜3で述べたような、故障注入イネーブル信号ERENの元となる故障注入フラグ、故障注入アドレスERADRおよび故障注入条件ERCNDを不揮発性メモリROMの所定の記憶領域に書き込むことができる。例えば、図15のようなマイクロコントローラMCUを用いる場合、故障注入アドレスERADRによって、TPチェーンSC1a,SC1b,SC1cの選択と、選択したTPチェーン内のテストポイントTPの選択とを行うことができる。
次に、評価担当者等は、車両装置VHに通常通りの電源投入を行い、車両装置VHおよび電子制御システムECUに通常動作を行わせる。これに応じて、例えば、図15のロックステップデュアルコアMPUは、不揮発性メモリROM上のブートプログラムを実行し、当該ブートプログラムの中で故障注入イネーブル信号ERENをアサートし、故障注入回路ERINCへ故障注入アドレスERADRおよび故障注入条件ERCNDを出力する。
そして、ロックステップデュアルコアMPUは、当該ブートプログラムを経て、通常動作へ移行し、不揮発性メモリROM上の本体プログラム等を実行する(ステップS401)。一方、故障注入回路ERINCは、このような本体プログラムの実行とは独立して動作し、実施の形態1〜3で述べたように、故障注入先の論理回路LGCが通常動作を行っている期間に、TPチェーンSC1を介して当該論理回路LGCの対象ノードに故障を注入する(ステップS402)。
これにより、評価担当者等の負担を増大させることなく、機能安全が適用される電子制御システムECUおよび車両装置VHの評価を容易に実現することが可能になる。また、同様にして、電子制御システムECUの開発担当者等が、故障注入を行いながら、半導体デバイスDEVの本体プログラムや、他デバイスSDEVの本体プログラム等を容易にデバックすることも可能になる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
ここでは、車両装置向けの電子制御システムを例としたが、勿論、これに限定されるものではなく、例えば、比較的高い安全性が要求される各種産業機器向けのシステムに対して同様に適用可能である。また、ここでは、故障注入のタイミングを定める方式として、故障注入イネーブル信号ERENおよびタイマ回路TMRを用いたが、例えば、半導体デバイスDEV外部からのトリガ信号を用いる等、方式を適宜変更することも可能である。
ACR 駆動回路
BS 内部バス
CKCT クロック制御回路
CTR シーケンス制御回路
DEV 半導体デバイス
ECU 電子制御システム
EQ 情報処理装置
ERDET 故障検知回路
ERDT 故障データ
ERINC 故障注入回路
FF フリップフロップ
FSC 機能安全回路
INITC 初期化回路
LGC 論理回路
MCU マイクロコントローラ
MPU ロックステップデュアルコア
SC スキャンチェーン
SDEV 他デバイス
SEL 選択回路
SI スキャンインノード
SO スキャンアウトノード
TMR タイマ回路
TP テストポイント
TPAT 量産用テストパターン
TPECT TPイネーブル制御回路
TPFF テストポイント用フリップフロップ
TPG 量産用テストパターン発生回路
VH 車両装置

Claims (9)

  1. 一つの半導体チップで構成される半導体装置を搭載し、前記半導体装置に故障が発生した場合に機能安全に伴う所定の動作を実行する電子制御システムであって、
    前記半導体装置は、
    所定の機能を担う論理回路と、
    テストポイント用フリップフロップを含み、前記テストポイント用フリップフロップが第1の値を保持する場合に前記論理回路内の対象ノードを所定の論理レベルに固定する複数のテストポイントと、
    前記複数のテストポイント用フリップフロップ夫々を順に結合することで構成されるスキャンチェーンと、
    を有し、
    前記電子制御システムは、さらに、故障データを生成し、前記スキャンチェーンのスキャンインノードを介して前記故障データを前記スキャンチェーンに設定することで、前記論理回路が通常動作を行っている期間に前記論理回路内の前記対象ノードに故障を注入する故障注入回路を搭載し、
    前記スキャンチェーンの前記スキャンインノードには、前記故障データか、前記半導体装置のテストに際し前記論理回路のスキャンテストを実行するための量産用テストパターンの一方が入力される、
    電子制御システム。
  2. 請求項記載の電子制御システムにおいて、
    前記故障注入回路は、前記半導体装置に設けられる、
    電子制御システム。
  3. 請求項記載の電子制御システムにおいて、
    前記故障注入回路は、前記複数のテストポイント用フリップフロップのいずれか一つが前記第1の値を保持するように前記故障データを生成する、
    電子制御システム。
  4. 請求項記載の電子制御システムにおいて、
    前記故障注入回路は、前記論理回路内の前記対象ノードに故障を注入する期間を設定に応じて定める制御回路を有する、
    電子制御システム。
  5. 一つの半導体チップで構成される半導体装置を搭載し、前記半導体装置に故障が発生した場合に機能安全に伴う所定の動作を実行する電子制御システムであって、
    前記半導体装置は、
    所定の機能を担う論理回路と、
    テストポイント用フリップフロップを含み、前記テストポイント用フリップフロップが第1の値を保持する場合に前記論理回路内の対象ノードを所定の論理レベルに固定する複数のテストポイントと、
    前記複数のテストポイント用フリップフロップ夫々を順に結合することで構成されるスキャンチェーンと、
    を有し、
    前記電子制御システムは、さらに、故障データを生成し、前記スキャンチェーンのスキャンインノードを介して前記故障データを前記スキャンチェーンに設定することで、前記論理回路が通常動作を行っている期間に前記論理回路内の前記対象ノードに故障を注入する故障注入回路を搭載し、
    前記故障注入回路は、前記半導体装置に設けられ、
    前記半導体装置は、複数の入力ノードに、それぞれ、前記故障注入回路からの前記故障データと前記スキャンチェーンのスキャンアウトノードとが結合され、前記複数の入力ノードのいずれかを選択して前記スキャンチェーンの前記スキャンインノードに結合する選択回路を有する、
    電子制御システム。
  6. 請求項記載の電子制御システムにおいて、
    前記故障注入回路は、
    前記故障データ側を選択するように前記選択回路を制御し、前記複数のテストポイント用フリップフロップのいずれか一つが前記第1の値を保持するように前記故障データを生成する処理と、
    前記スキャンアウトノード側を選択するように前記選択回路を制御し、前記スキャンチェーンをスキャンシフトさせながら前記第1の値を保持する前記テストポイント用フリップフロップを巡回させることで、前記論理回路内の前記対象ノードを変更しながら前記故障を注入する処理と、
    を実行する、
    電子制御システム。
  7. 請求項記載の電子制御システムにおいて、
    前記故障注入回路は、前記論理回路内の前記対象ノードを変更しながら前記故障を注入する際の前記故障を注入する期間と、前記故障を注入する間隔とを設定に応じて定める制御回路を有する、
    電子制御システム。
  8. 請求項記載の電子制御システムにおいて、
    前記半導体装置は、前記半導体装置の外部から任意の値を書き込み可能な不揮発性メモリを有し、
    前記故障注入回路は、前記不揮発性メモリの所定の記憶領域に所定の値が格納されている場合に動作する、
    電子制御システム。
  9. 一つの半導体チップで構成される半導体装置を搭載した電子制御システムの評価方法であって、
    前記半導体装置は、
    所定の機能を担う論理回路と、
    テストポイント用フリップフロップを含み、前記テストポイント用フリップフロップが第1の値を保持する場合に前記論理回路内の対象ノードを所定の論理レベルに固定する複数のテストポイントと、
    前記複数のテストポイント用フリップフロップ夫々を順に結合することで構成され、スキャンインノードに、前記論理回路のスキャンテストを実行するための量産用テストパターンか、前記論理回路を故障状態にするための故障データの一方が入力されるスキャンチェーンと、
    を有し、
    前記論理回路に通常動作を行わせる第1の工程と、
    前記スキャンインノードを介して前記スキャンチェーンに前記故障データを設定することで、論理回路が通常動作を行っている期間に前記論理回路内の前記対象ノードに故障を注入する第2の工程と、
    前記論理回路に故障が注入された後の前記電子制御システムの挙動を検証する第3の工程と、
    を有する電子制御システムの評価方法。
JP2016107451A 2016-05-30 2016-05-30 半導体装置、電子制御システムおよび電子制御システムの評価方法 Active JP6647145B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2016107451A JP6647145B2 (ja) 2016-05-30 2016-05-30 半導体装置、電子制御システムおよび電子制御システムの評価方法
US15/493,311 US10288683B2 (en) 2016-05-30 2017-04-21 Semiconductor device, electronic control system and method for evaluating electronic control system
CN201710395772.3A CN107450003B (zh) 2016-05-30 2017-05-25 半导体装置、电子控制系统和评估电子控制系统的方法
KR1020170064635A KR20170135707A (ko) 2016-05-30 2017-05-25 반도체 장치, 전자 제어 시스템 및 전자 제어 시스템의 평가 방법
EP17173382.7A EP3252488B1 (en) 2016-05-30 2017-05-30 Semiconductor device, electronic control system and method for evaluating electronic control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016107451A JP6647145B2 (ja) 2016-05-30 2016-05-30 半導体装置、電子制御システムおよび電子制御システムの評価方法

Publications (2)

Publication Number Publication Date
JP2017215665A JP2017215665A (ja) 2017-12-07
JP6647145B2 true JP6647145B2 (ja) 2020-02-14

Family

ID=59014470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016107451A Active JP6647145B2 (ja) 2016-05-30 2016-05-30 半導体装置、電子制御システムおよび電子制御システムの評価方法

Country Status (5)

Country Link
US (1) US10288683B2 (ja)
EP (1) EP3252488B1 (ja)
JP (1) JP6647145B2 (ja)
KR (1) KR20170135707A (ja)
CN (1) CN107450003B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3617723B1 (en) 2018-08-29 2023-03-22 Nxp B.V. Integrated circuit device with integrated fault monitoring system
KR20200056732A (ko) * 2018-11-15 2020-05-25 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
KR102450484B1 (ko) * 2020-12-18 2022-09-30 연세대학교 산학협력단 테스트 포인트 삽입을 통하여 향상된 검출율을 가지는 고장 검출 방법, 고장 검출 장치 및 가중치 인가 회로
CN113295943B (zh) 2021-04-30 2023-03-24 地平线征程(杭州)人工智能科技有限公司 待测试模块的测试电路、方法及装置
CN116737475A (zh) * 2023-05-29 2023-09-12 中国第一汽车股份有限公司 一种芯片诊断方法、装置、设备和存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0670777B2 (ja) 1987-12-25 1994-09-07 株式会社日立製作所 情報処理装置の擬似障害発生方式
TW594023B (en) * 2002-10-07 2004-06-21 Faraday Tech Corp Circuit for enhancing scan testing capability of a digital IC tester
CN100547425C (zh) * 2003-02-10 2009-10-07 Nxp股份有限公司 集成电路的测试
KR20050112972A (ko) * 2004-05-28 2005-12-01 삼성전자주식회사 스캔 플립-플롭 회로 및 그를 포함한 반도체 집적 회로 장치
CN101361006A (zh) * 2006-01-18 2009-02-04 松下电器产业株式会社 半导体器件和半导体检查方法
JP2009038072A (ja) * 2007-07-31 2009-02-19 Nec Electronics Corp 半導体集積回路及びその開発方法
CN101251580A (zh) * 2008-04-17 2008-08-27 中国科学院计算技术研究所 一种可诊断扫描链故障的电路装置及其诊断方法
CN102034794B (zh) * 2009-09-28 2012-10-31 中芯国际集成电路制造(上海)有限公司 测试结构及测试半导体衬底的方法
US9316691B2 (en) 2011-03-17 2016-04-19 Eigenix Method and apparatus for fault injection
US8868989B2 (en) * 2012-07-12 2014-10-21 Freescale Semiconductor, Inc. System for testing error detection circuits

Also Published As

Publication number Publication date
US10288683B2 (en) 2019-05-14
EP3252488B1 (en) 2023-09-13
US20170343607A1 (en) 2017-11-30
EP3252488A1 (en) 2017-12-06
JP2017215665A (ja) 2017-12-07
CN107450003B (zh) 2021-06-15
CN107450003A (zh) 2017-12-08
KR20170135707A (ko) 2017-12-08

Similar Documents

Publication Publication Date Title
JP6647145B2 (ja) 半導体装置、電子制御システムおよび電子制御システムの評価方法
JP5687668B2 (ja) 最適化されたjtagインターフェイス
US7426668B2 (en) Performing memory built-in-self-test (MBIST)
US6829728B2 (en) Full-speed BIST controller for testing embedded synchronous memories
US10598728B2 (en) Scan chain circuit supporting logic self test pattern injection during run time
TWI464742B (zh) 半導體記憶體之測試模式信號產生器以及產生測試模式信號的方法
JP4751216B2 (ja) 半導体集積回路及びその設計装置
JP5336692B2 (ja) 内部アットスピード論理bistを用いた論理ブロックの自動故障試験
US7669102B1 (en) JTAG to SPI PROM conduit
KR20180093046A (ko) 전용 프로세서를 통한 시스템 온 칩(soc)의 하드웨어 전원 온 초기화
JP2017151785A (ja) 半導体装置
US8046648B1 (en) Method and apparatus for controlling operating modes of an electronic device
JP2007232626A (ja) テストモード設定回路
US7913132B2 (en) System and method for scanning sequential logic elements
JP3974110B2 (ja) テストインタフェースを有する装置
JP2012185127A (ja) 半導体装置およびそのテスト方法
JP2005190112A (ja) マイクロコンピュータ及びそのデバッグ方法
JP3791757B2 (ja) 診断機能を備えた半導体集積回路
US10417104B2 (en) Data processing system with built-in self-test and method therefor
JP4230717B2 (ja) 半導体テスト回路と半導体テスト方法
JP4757196B2 (ja) メモリシステム、およびその試験方法
JP2020153867A (ja) 半導体装置、半導体装置の診断方法、及び、半導体装置の診断プログラム
WO2021069666A1 (en) System and method for access control of a plurality of instruments embedded in a semiconductor device
JP2006139485A (ja) コンピュータ制御装置
JPH0320710B2 (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190806

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20191004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191203

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200114

R150 Certificate of patent or registration of utility model

Ref document number: 6647145

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150