特開2020-153867(P2020-153867A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝デバイス&ストレージ株式会社の特許一覧

特開2020-153867半導体装置、半導体装置の診断方法、及び、半導体装置の診断プログラム
<>
  • 特開2020153867-半導体装置、半導体装置の診断方法、及び、半導体装置の診断プログラム 図000003
  • 特開2020153867-半導体装置、半導体装置の診断方法、及び、半導体装置の診断プログラム 図000004
  • 特開2020153867-半導体装置、半導体装置の診断方法、及び、半導体装置の診断プログラム 図000005
  • 特開2020153867-半導体装置、半導体装置の診断方法、及び、半導体装置の診断プログラム 図000006
  • 特開2020153867-半導体装置、半導体装置の診断方法、及び、半導体装置の診断プログラム 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2020-153867(P2020-153867A)
(43)【公開日】2020年9月24日
(54)【発明の名称】半導体装置、半導体装置の診断方法、及び、半導体装置の診断プログラム
(51)【国際特許分類】
   G01R 31/28 20060101AFI20200828BHJP
   H01L 21/822 20060101ALI20200828BHJP
   H01L 27/04 20060101ALI20200828BHJP
【FI】
   G01R31/28 G
   G01R31/28 V
   H01L27/04 T
【審査請求】未請求
【請求項の数】10
【出願形態】OL
【全頁数】9
(21)【出願番号】特願2019-53649(P2019-53649)
(22)【出願日】2019年3月20日
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】110002907
【氏名又は名称】特許業務法人イトーシン国際特許事務所
(72)【発明者】
【氏名】立川 知弘
【テーマコード(参考)】
2G132
5F038
【Fターム(参考)】
2G132AA01
2G132AB01
2G132AC14
2G132AD06
2G132AG01
2G132AH00
2G132AK14
2G132AL11
5F038DF16
5F038DF17
5F038DT02
5F038DT06
5F038DT07
5F038DT08
5F038DT10
5F038DT15
5F038EZ20
(57)【要約】
【課題】論理回路に対する疑似故障の注入による診断を新たな回路を追加することなく実施することができる半導体装置を提供する。
【解決手段】実施形態の半導体装置は、主回路と、監視回路と、比較器と、DFT制御回路とを有する。監視回路は、主回路と同じ回路構成を有する。比較器は、主回路の出力と前記監視回路の出力と比較する。DFT制御回路は、主回路に設けられた複数のフリップフロップの値の内、少なくとも1つのフリップフロップの値を反転させ、スキャンチェーンを介して少なくとも1つのフリップフロップに反転させた値を設定する。
【選択図】図2
【特許請求の範囲】
【請求項1】
主回路と、
前記主回路と同じ回路構成を有する監視回路と、
前記主回路の出力と前記監視回路の出力と比較する比較器と、
前記主回路に設けられた複数のフリップフロップの値の内、少なくとも1つのフリップフロップの値を反転させ、スキャンチェーンを介して前記少なくとも1つのフリップフロップに反転させた値を設定するDFT制御回路と、
を有することを特徴とする半導体装置。
【請求項2】
前記DFT制御回路は、前記スキャンチェーンを介して前記複数のフリップフロップの値をスキャンアウトして記憶部に記憶し、
さらに、前記記憶部に記憶された前記複数のフリップフロップの値の少なくとも1つの値を反転して前記記憶部に記憶する制御回路を有し、
前記DFT制御回路は、前記制御回路によって前記記憶部に記憶された値を前記スキャンチェーンを介してスキャンインし、前記複数のフリップフロップに設定することを特徴とする請求項1に記載の半導体装置。
【請求項3】
前記制御回路は、前記記憶部に記憶された疑似故障情報に基づいて、前記少なくとも1つの値を反転することを特徴とする請求項2に記載の半導体装置。
【請求項4】
前記疑似故障情報は、前記複数のフリップフロップの内、疑似故障を注入するフリッププロップの位置を示す情報であることを特徴とする請求項3に記載の半導体装置。
【請求項5】
前記主回路への通常クロックの供給及び前記通常クロックの供給の停止を制御するクロック制御回路を有することを特徴とする請求項1から4のいずれか1つに記載の半導体装置。
【請求項6】
前記主回路の出力をマスクするマスク回路を有することを特徴する請求項1から5のいずれか1つに記載の半導体装置。
【請求項7】
所望の回路構成を有する主回路と、前記主回路と同じ回路構成を有する監視回路と、前記主回路の出力と前記監視回路の出力と比較する比較器と、を有する半導体装置の診断方法であって、
前記主回路に設けられた複数のフリップフロップの値の内、少なくとも1つのフリップフロップの値を反転させ、スキャンチェーンを介して前記少なくとも1つのフリップフロップに反転させた値を設定することを特徴とする半導体装置の診断方法。
【請求項8】
前記スキャンチェーンを介して前記複数のフリップフロップの値をスキャンアウトして記憶部に記憶し、
前記記憶部に記憶された前記複数のフリップフロップの値の少なくとも1つの値を反転して前記記憶部に記憶し、
前記記憶部に記憶された値を前記スキャンチェーンを介してスキャンインし、前記複数のフリップフロップに設定することを特徴とする請求項7に記載の半導体装置の診断方法。
【請求項9】
主回路に設けられた複数のフリップフロップの値の内、少なくとも1つのフリップフロップの値を反転させ、スキャンチェーンを介して前記少なくとも1つのフリップフロップに反転させた値を設定するステップをコンピュータに実行させることを特徴とする半導体装置の診断プログラム。
【請求項10】
前記スキャンチェーンを介して前記複数のフリップフロップの値をスキャンアウトして記憶部に記憶するステップと、
前記記憶部に記憶された前記複数のフリップフロップの値の少なくとも1つの値を反転して前記記憶部に記憶するステップと、
前記記憶部に記憶された値を前記スキャンチェーンを介してスキャンインし、前記複数のフリップフロップに設定するステップと、
をコンピュータに実行させることを特徴とする請求項9に記載の半導体装置の診断プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、半導体装置、半導体装置の診断方法、及び、半導体装置の診断プログラムに関する。
【背景技術】
【0002】
自動車の機能安全規格を目的として、故障検出回路を搭載する半導体装置の需要が増加している。このような半導体装置を搭載したシステムは、故障を検出するハードウェアと、検出した故障の種類等に応じて各種の処理を実行するソフトウェアとを備えている。
【0003】
ただし、これらのハードウェア及びソフトウェアが正常に機能するかは、通常、半導体装置に実際に故障が発生しなければ検証することができない。そのため、半導体装置の機能安全機構としてのハードウェア及びソフトウェアが正常に動作するかどうかを診断することが困難となっている。
【0004】
そこで、半導体装置に強制的に疑似故障を発生させて、疑似故障を故障として検出することができるかを診断する手法が知られている。半導体装置に疑似故障を注入して機能安全機構の診断を行う手法として、テストポイント用フリップフロップを含む複数のテストポイントを設け、疑似故障を注入する手法が存在する。
【0005】
しかしながら、テストポイントで活性化できる回路は全体の一部(具体的には、回路全体の2%程度)であることが知られている。そのため、テストポイントから疑似故障を注入する手法では、限定的な回路部分にしか疑似故障を発生させられないという問題があった。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2017−215665号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
そこで、実施形態は、論理回路に対する疑似故障の注入による診断を新たな回路を追加することなく実施することができる半導体装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
実施形態の半導体装置は、主回路と、監視回路と、比較器と、DFT制御回路とを有する。監視回路は、主回路と同じ回路構成を有する。比較器は、主回路の出力と前記監視回路の出力と比較する。DFT制御回路は、主回路に設けられた複数のフリップフロップの値の内、少なくとも1つのフリップフロップの値を反転させ、スキャンチェーンを介して少なくとも1つのフリップフロップに反転させた値を設定する。
【図面の簡単な説明】
【0009】
図1】一実施形態に係る半導体装置の構成の一例を示すブロック図である。
図2】故障検出回路モジュールの詳細な内部構成の一例を示すブロック図である。
図3A】疑似故障注入前のRAMの値の一例を示す図である。
図3B】疑似故障注入後のRAMの値の一例を示す図である。
図4】疑似故障による故障検出診断処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して実施形態について詳細に説明する。
まず、図1に基づき、一実施形態に係る半導体装置の構成を説明する。
図1は、一実施形態に係る半導体装置の構成の一例を示すブロック図である。
【0011】
本実施形態の半導体装置1は、中央処理装置(以下、CPUという)11と、RAM12と、ROM13と、クロック制御回路14と、DFT(Design For Test)制御回路15と、故障検出回路モジュール16と、バス17とを有して構成されている。CPU11、RMA12、ROM13、クロック制御回路14、DFT制御回路15、及び、故障検出回路モジュール16は、互いにバス17を介して接続されている。
【0012】
CPU11は、半導体装置1内の各回路を制御する制御回路である。CPU11は、RMA12に格納されている各種の動作プログラムを読み出し、ROM13上に展開して実行することで、半導体装置1内の各回路を制御する。特に、CPU11は、ROM13に格納された診断プログラム13aをRAM12に展開して実行することで、後述する故障診断処理を実行することができる。
【0013】
クロック制御回路14は、通常動作用クロック(以下、単に通常クロックという)を生成し、DFT制御回路15及び故障検出回路モジュール16に出力する。また、クロック制御回路14は、故障検出回路モジュール16への通常クロックの供給と、通常クロックの供給の停止を制御する。
【0014】
DFT制御回路15は、スキャンチェーンで値をシフトするスキャンテスト用クロック(以下、単にスキャンクロックという)、スキャンチェーンにスキャンテスト用の値を入力するスキャンイン、通常動作とスキャン動作とを切り替えるスキャン選択信号を故障検出モジュール16に出力する。また、DFT制御回路15は、スキャンチェーンから出力されたスキャンアウトが入力される。
【0015】
故障検出回路モジュール16は、故障を検出した際に故障検知アラーム信号をCPU11に出力する。CPU11は、故障検知アラーム信号に基づいて、故障の種類に応じた処理を実行する。なお、図1では、故障検出回路モジュール16は、故障検知アラーム信号をCPU11にするように構成されているが、例えば、バス17を介して故障検知アラーム信号をCPU11に出力してもよい。
【0016】
図2は、故障検出回路モジュールの詳細な内部構成の一例を示すブロック図である。
図2に示すように、故障検出回路モジュール16は、主回路21と、アイソレーション素子22と、故障検出機構23とを有して構成されている。故障検出機構23は、監視回路24と、比較器25とにより構成されている。
【0017】
主回路21は、組み合わせ回路31、32、フリップフロップ(以下、FFという)33、34、35、36、スキャンセレクタ37、38、39、40、41と有して構成されている。また、監視回路24は、主回路21と同じ回路構成になっている。
【0018】
主回路21及び監視回路24には、バス17を介して同じ入力信号(DATA_IN)が入力される。主回路21の出力信号(DATA_OUT)は、バス17に出力されるとともに、アイソレーション素子22に入力される。監視回路24の出力信号は、比較器25に入力される。
【0019】
アイソレーション素子22は、主回路21の出力信号をマスクすることができる。アイソレーション素子22によってマスクが解除されると、主回路21の出力信号が比較器25に入力される。
【0020】
比較器25は、主回路21の出力信号と監視回路24の出力信号とを比較し、出力信号が一致していない場合、故障検知アラーム信号をCPU11に出力する。
【0021】
スキャンセレクタ37は、スキャン選択信号(SCAN_SEL)に基づいて、通常クロック(CLK)と、スキャンクロック(SCAN_CLK)とを切り替えて出力するセレクタである。すなわち、本実施形態では、スキャン選択信号に基づいて、通常動作モードとスキャン動作モードとを切り替える。スキャン動作モードに切り替えることで、スキャンチェーン42が構成される。
【0022】
スキャンセレクタ37によって選択された通常クロック、または、スキャンクロックは、FF33〜36に入力される。スキャンセレクタ38〜41は、スキャン選択信号に基づいて、通常回路からの入力と、スキャンチェーン42からの入力と切り替えてFF33〜36に出力するセレクタである。
【0023】
ここで、故障注入の処理について図3A及び図3Bを用いて説明する。
図3Aは、疑似故障注入前のRAMの値の一例を示す図であり、図3Bは、疑似故障注入後のRAMの値の一例を示す図である。
【0024】
図3Aのアドレス「0x0000」の値は、疑似故障を発生させるFFの位置を示す疑似故障FF情報50である。
【0025】
本実施形態では、通常動作中に通常クロックを停止し、スキャン選択信号を有効にすることでスキャン動作モードとなる。これにより、通常動作中にFF33〜36に保持されたデータ(bit値)がスキャンチェーン42を介してシフトアウトされる。
【0026】
図3Aのアドレス「0x1000」の値は、スキャンチェーン42でシフトアウトされたスキャンアウトデータ51を示している。スキャンアウトデータ51において、値52はFF33のbit値を示し、値53はFF34のbit値を示し、値54はFF35のbit値を示し、値55はFF36のbit値を示している。
【0027】
CPU11は、疑似故障FF情報50を参照し、疑似故障を注入する。具体的には、疑似故障FF情報55が「11」を示しているため、3番目のFFに疑似故障を注入する。本実施形態では、スキャンアウトから近いFFの順に1番目のFF、2番目のFF、・・・、とする。すなわち、本実施形態では、FF33が1番目のFF、FF34が2番目のFF、FF35が3番目のFF、FF36が4番目のFFとなる。
【0028】
CPU11は、疑似故障FF情報50を参照し、3番目のFFであるFF35の値54を読み出し、値を反転させて元の位置に書き込む。すなわち、FF35の値54が「1」であるため、値を反転させて「0」を元の位置に書き込むことになる。これにより、図3Bに示すように、疑似故障注入後のRAM12には、3番目のFF35の値54が「0」となる。
【0029】
図3Bのアドレス「0x1000」の値は、スキャンチェーン42でシフトインするためのスキャンインデータ56を示している。スキャンインデータ56は、スキャンチェーン42を介して入力され、スキャンシフトされることにより、FF33、FF34、FF35、FF36にセットされる。
【0030】
すなわち、FF33に値52のビット値である「1」、FF34に値53のビット値である「0」、FF35に値54のビット値である「0」、FF36に値55のビット値である「1」がセットされる。これにより、スキャンアウトから3番目に近いFF35に反転した値をセットし、疑似故障を注入する。
【0031】
次に、このように構成された半導体装置1の故障検出診断処理について説明する。
図4は、疑似故障による故障検出診断処理の流れの一例を示すフローチャートである。
【0032】
なお、図4の処理は、CPU11がROM13に格納された診断プログラムをRAM12に展開して実行することで実施される。
【0033】
まず、CPU11は、クロック制御回路14を制御し、故障検出回路モジュール16に入力される通常クロックを停止させる(S1)。
【0034】
次に、CPU11は、DFT制御回路15を制御し、主回路21の出力をアイソレーション素子22によってマスクし、スキャン選択信号の論理を変更する(S2)。これにより、故障検出モジュール16内の主回路21のスキャンセレクタ37、38、39、40、41の出力を通常側からスキャンチェーン42側に切り替えるとともに、FF33〜36に入力されるクロックが通常クロックからスキャンクロックに切り替わる。
【0035】
次に、CPU11は、DFT制御回路15を制御し、スキャンチェーン42でFF33〜FF36から読み出した値をスキャンアウトデータ51としてRAM12に格納する(S3)。これにより、図3Aに示すように、FF33〜FF36から読み出されたbit値がスキャンアウトデータ51としてRAM12に格納されることになる。
【0036】
次に、CPU11は、RAM12に予め格納されている疑似故障FF情報50を読み出す(S4)。この疑似故障FF情報50は、予め故障しやすいFFを示す値をROM13に記憶させておき、ROM13に記憶させた値を読み出しRAM12に記憶させる方法でも良いし、半導体装置1の稼働状態や診断回数等に応じて、他のFFを示す値に変更しても良い。すなわち、RAM12に記憶されている疑似故障FF情報50は、ユーザによって書き替え可能になっている。本実施形態では、図3Aに示すように、スキャンアウトに近い方から3番目のFF35を示す疑似故障FF情報50がRAM12に記憶されている。
【0037】
次に、CPU11は、スキャンインに入力するスキャンイン用のスキャンインデータ56を作成する。具体的には、CPU11は、疑似故障FF情報50の番号位置に相当するbit値を読み出し、値を反転して同じ場所に書き戻す(S5)。これにより、図3Bに示すように、疑似故障FF情報50の番号位置に相当する値54(FF35の値)のbit値が1から0に書き替えられたスキャンインデータ56が作成される。
【0038】
次に、CPU11は、RAM12からスキャンインデータ56を読み出し、スキャンチェーン42でFF33〜FF36にシフトインし、FF33〜FF36に値をセットする(S6)。
【0039】
次に、CPU11は、スキャン選択信号の論理を変更し、主回路21の出力をアイソレーション素子22による主回路21に出力のマスクを解除する(S7)。そして、CPU11は、クロック制御回路14を制御し、通常クロックを再開させる(S8)。これにより、主回路21からの出力、すなわち、疑似故障が注入された出力が比較器25に入力されるようになる。
【0040】
次に、CPU11は、故障検出機構23が疑似故障を故障として検知するか否かを判定する(S9)。具体的には、CPU11は、比較器25から故障検知アラーム信号が出力されたか否かによって、疑似故障を故障として検知するか否かを判定している。上述したように、疑似故障FF情報50の番号位置に相当するFF35のbit値が1から0に書き替えられた後、FF35にセットされているため、主回路21と監視回路24との出力が一致しなくなる。そのため、故障検出機構23が正常に動作している場合、比較器25から故障検知アラーム信号がCPU11に出力されることになる。
【0041】
CPU11は、比較器25から故障検知アラーム信号が出力された場合、すなわち、疑似故障を故障として検出した場合(S9:YES)、故障検出機構23が正常に動作していると判断し(S10)、疑似故障による故障検出診断の処理を終了する。なお、CPU11は、疑似故障が検出された場合、故障に応じたソフトウェア処理を実行し、正しくソフトウェア処理が実行されたかを検証する。
【0042】
一方、CPU11は、比較器25から故障検知アラーム信号が出力されない場合、すなわち、疑似故障を故障として検出していない場合(S9:NO)、故障検出機構23が正常に動作していないと判断し(S11)、疑似故障による故障検出診断の処理を終了する。
【0043】
以上のように、主回路21のスキャンチェーン42を用いて主回路21内のFF33〜FF36の値をスキャンアウトしてRAM12に記憶する。記憶したFF33〜FF36の値の少なくとも1つを反転した後、スキャンチェーン42を用いて主回路21内のFF33〜FF36にスキャンインすることで、任意のFFに疑似故障を注入するようにしている。
【0044】
なお、本実施形態では、スキャンチェーン42を用いて主回路21内のFF33〜FF36の値をスキャンアウトしてRAM12に記憶した後、少なくとも1つの値を反転し、スキャンチェーン42を用いて主回路21内のFF33〜FF36にスキャンインするようにしているが、これに限定されるものではない。例えば、FF33〜FF36の値(内部状態)が予め分かっている場合、FF33〜FF36の値の内、少なくとも1つのFFの値を反転させ、スキャンチェーン42を介して少なくとも1つのFFに反転させた値を設定するようにしてもよい。
【0045】
一般的に、大規模な半導体装置では、スキャンテストが実行できるように、回路内のFFが全てスキャン可能になるようDFT回路が組み込まれているため、既存のDFT回路を用いて任意のFFに疑似故障を注入することができる。
【0046】
よって、本実施形態の半導体装置によれば、論理回路に対する疑似故障の注入による診断を新たな回路を追加することなく実施することができる。
【0047】
なお、本明細書におけるフローチャート中の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【0048】
発明のいくつかの実施の形態を説明したが、これらの実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0049】
1…半導体装置、11…CPU、12…RAM、13…ROM、13a…診断プログラム、14…クロック制御回路、15…DFT制御回路、16…故障検出モジュール、17…バス、21…主回路、22…アイソレーション素子、23…故障検出機構、24…監視回路、25…比較器、31,32…組み合わせ回路、33〜36…FF、37〜41…スキャンセレクタ、42…スキャンチェーン、50…疑似故障FF情報、51…スキャンアウトデータ、52〜55…値、56…スキャンインデータ。
図1
図2
図3A
図3B
図4