(57)【特許請求の範囲】
【請求項１】
複数の論理回路部分をその内部回路に備えた、故障解析対象の半導体集積回路に、所定の時間長を有するファンクション・パターンを入力し、該ファンクション・パターンの少なくとも第１及び第２の時点における前記半導体集積回路の内部状態を観察する半導体集積回路の故障解析方法において、
前記論理回路部分の間に設けられる、複数のスキャン・フリップフロップを接続して構成されたスキャン・チェーンを複数備え、これらスキャン・チェーン間でフリップフロップの数が異なる場合は、フリップフロップが少ないスキャン・チェーンにフリップフロップを追加して、スキャン・チェーン間でフリップフロップ数が同一になるようにすると共に、
これらスキャン・チェーンの信号入力には、シフト・フィードバック用セレクタを備えて、当該半導体集積回路の外部から入力する信号、又は、それぞれのスキャン・チェーン内でフィードバックさせるように、そのスキャン・チェーンの出力信号を入力できるように構成し、
まず、当該半導体集積回路を通常動作させる通常動作モードにおいて、当該半導体集積回路の外部から信号を入力するために設けられた入力端子から、複数の前記論理回路部分の内で信号の流れの最も上流側の前記論理回路部分に、前記ファンクション・パターンの前記第１の時点までを入力し、当該半導体集積回路の内部状態を前記スキャン・フリップフロップに保持し、
次に、通常動作モードから、スキャン・チェーンに取り込んだデータをシフトさせることで半導体集積回路の内部信号を外部からモニタするためのシフトモードに切り替え、前記シフト・フィードバック用セレクタに前記スキャン・チェーンの出力信号を選択させて、クロック信号を順次入力しながら当該半導体集積回路の外部に前記スキャン・フリップフロップのデータを読み出すと共に、該スキャン・チェーンのフリップフロップの数だけ前記クロック信号を入力することにより、前記スキャン・フリップフロップに保持された内部状態をシフト前の状態に復帰させ、
その後、シフトモードから通常動作モードに切り替え、再び、前記ファンクション・パターンの今度は前記第１の時点から前記第２の時点までを入力し、当該半導体集積回路の内部状態を前記スキャン・フリップフロップに保持し、
更に、通常動作モードからシフトモードに切り替え、前記シフト・フィードバック用セレクタに前記スキャン・チェーンの出力信号を選択させて、クロック信号を順次入力しながら当該半導体集積回路の外部に前記スキャン・フリップフロップのデータを読み出すようにしたことを特徴とする半導体集積回路の故障解析方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の故障解析のテストパターン削減、及び故障解析能率向上を図ることができる半導体集積回路の故障解析方法に関する。
【０００２】
【従来の技術】
半導体集積回路において所望の論理回路が作り込まれているロジック部のテスト手法には、スキャン方式が多く採用されている。
【０００３】
図３は、従来からの一般的な、スキャン回路を搭載した半導体集積回路内部の回路図である。図中、符号ＳＥＮ、符号ＣＬＫなどが付された「□」記号は、半導体集積回路の外部に対して信号を入力、あるいは出力する端子である。
【０００４】
このスキャン方式においては、半導体集積回路のロジック部は機能毎にブロック化して回路を作り込んでおき、ブロック間の信号毎にスキャン・フリップフロップを設ける。又、該スキャン・フリップフロップにより構成されるスキャン・チェーンに取り込んだデータをシフトさせることで、半導体集積回路の内部信号を外部からモニタする（シフトモード）。
【０００５】
例えば図３では、論理回路部分１０〜１２という３つのブロックがある。又、これらブロック間には、スキャン回路として、セレクタ２１と共にフリップフロップ２２が信号毎に設けられている。セレクタ２１には、切替選択を制御するスキャン・イネーブル信号ＳＥＮが入力されている。
【０００６】
半導体集積回路を通常動作させる場合は、スキャン・イネーブル信号ＳＥＮを「０（Ｌ状態）」（通常動作モード）にして、クロック信号ＣＬＫを叩く。
【０００７】
これに対して、スキャン方式により、半導体集積回路の内部状態をモニタする場合は、スキャン・イネーブル信号ＳＥＮを「１（Ｈ状態）」にして、クロック信号ＣＬＫを叩く毎に、スキャン・フリップフロップに保持されている、内部回路から取り込んだデータをシフトさせることができ、該データは、シフト毎に、出力端子ＳＯＵＴ１やＳＯＵＴ２から半導体集積回路の外部で観測できる。又、該シフトの過程において、入力端子ＳＩＮ１やＳＩＮ２により半導体集積回路の外部から入力されたデータをスキャン・フリップフロップ間でシフトさせ、このようにしてスキャン・フリップフロップに保持するデータを外部から設定できるようになっている。
【０００８】
なお、スキャン方式により、半導体集積回路内部の個々のブロックの動作をテストする際に、半導体集積回路の外部から入力するパターンを、スキャン・パターンと呼ぶこととする。又、スキャン・パターン以外のテストパターンを、ファンクション・パターンと呼ぶこととする。
【０００９】
テストによる期待値不一致などで故障ありとされた後の、その故障箇所を見出す故障解析に際して、半導体集積回路の動作状態を通常の出力信号のみによって観測している場合、該出力信号に異常があっても、該異常が内部のどの部分の動作不良によるものか、推定することは困難である。例えば図３において出力信号ＯＵＴ１に異常があっても、論理回路部分１０〜１２のどの部分に動作不良があるのか、推定することは大抵不可能である。
【００１０】
これに対して、故障解析にスキャンパス方式を採用すると、論理回路部分１０〜１２のそれぞれの信号入出力状態を半導体集積回路の外部から観測することができるので、これら論理回路部分１０〜１２のどの部分に動作不良があるのか、推定することが可能である。
【００１１】
例えば、あるファンクション・パターンを図３の半導体集積回路に外部から入力する過程で、該半導体集積回路に動作不良（故障）が見出され、該動作不良の内部箇所を見出すために、故障解析を行うものとする。図２の（ａ）から（ｅ）は従来の故障解析の動作を示すタイムチャートである。該ファンクション・パターンは、図２においては最上段に示す「ファンクション・パターンａ」であり、これは例えば７０００ｎＳの時間長であるものとする。該「ファンクション・パターンａ」は、スキャンパス方式に専用のパターンではなく、他の目的にも用いられるものである。又、該「ファンクション・パターンａ」を入力していく過程で、０ｎＳ（スタート時）から２０００ｎＳ経過時点、２０１０ｎＳ経過時点、２０２０ｎＳ経過時点において、故障によって動作不良が発生していると推定されるものとする。
【００１２】
このような故障解析では、半導体集積回路の内部状態を、これら２０００ｎＳ経過時点、２０１０ｎＳ経過時点、２０２０ｎＳ経過時点のそれぞれにおいて、半導体集積回路の内部状態を外部から観測する。又、これらそれぞれの時点で観測するために、図２に示すような「ファンクション・パターンｂ」〜「ファンクション・パターンｄ」を用いる。
【００１３】
まず、「ファンクション・パターンｂ」の斜線部分は、「ファンクション・パターンａ」における０ｎＳ（スタート時）から２０００ｎＳ経過後までのパターンと同じである。次に、「ファンクション・パターンｃ」の斜線部分は、「ファンクション・パターンａ」における０ｎＳ（スタート時）から２０１０ｎＳ経過後までのパターンと同じである。又、「ファンクション・パターンｄ」の斜線部分は、「ファンクション・パターンａ」における０ｎＳ（スタート時）から２０２０ｎＳ経過後までのパターンと同じである。つまり、いずれの斜線部分においても、その冒頭部には、「ファンクション・パターンａ」における０ｎＳ（スタート時）から２０００ｎＳ経過後までのパターンと同じパターンが存在する。又、符号Ｐ１が付された部分は、互いに同じものであり、スキャン・チェーンに保持されている半導体集積回路の内部状態を、シフトさせながら外部に読み出し観測したり、スキャン・チェーンに保持されるデータを外部から設定したりするための動作である。
【００１４】
例えば、図３においての故障解析にスキャンパス方式を採用し、論理回路部分１０が出力し、符号Ｆ０４のフリップフロップ２２に保持された信号に異常があった場合は、図中において論理回路部分１０の一点鎖線で示される範囲に異常があったものと推定される。又、論理回路部分１０が出力し、符号Ｆ０５のフリップフロップ２２に保持された信号に異常があった場合は、図中において論理回路部分１０の二点鎖線で示される範囲に異常があったものと推定される。更に、論理回路部分１０が出力する、符号Ｆ０４のフリップフロップ２２に保持された信号と、符号Ｆ０５のフリップフロップ２２に保持された信号とに異常があった場合は、図中右上がり斜線領域の回路に異常があったものと推定される。
【００１５】
【発明が解決しようとする課題】
しかしながら、故障解析にスキャンパス方式を用いる場合にも問題がある。即ち、故障解析では、故障によって動作不良が発生していると推定される複数の時点において、スキャン・イネーブル信号ＳＥＮを「１」にして半導体集積回路の外部からクロック信号ＣＬＫを順次入力し、論理回路部分１０〜１２のそれぞれの動作状態を半導体集積回路の外部から観測する。これらそれぞれの時点を観測する際には、個々の時点の観測毎に、半導体集積回路の初期状態から毎回再現する必要があり、再現した動作状態をスキャン・チェーンにおいてシフトさせ出力信号ＳＯＵＴ１やＳＯＵＴ２として外部から観測する。例えば、図２において、０ｎＳ（スタート時）から２０００ｎＳ経過後の時点、２０１０ｎＳ経過後の時点、２０２０ｎＳ経過後の時点それぞれを観測するために、毎回半導体集積回路の内部状態を初期化してから、「ファンクション・パターンｂ」〜「ファンクション・パターンｄ」のそれぞれを行う必要があった。
【００１６】
なぜなら、図２において、符号Ｐ１の部分で、半導体集積回路の内部状態をシフトさせ観測すると、観測後のスキャン・チェーンに保持されている論理状態は、観測直前のものとは異なる。このため、観測後は観測直前の動作が継続できず、希望する時点の観測毎に、半導体集積回路の動作状態を初期状態から毎回再現する必要があるからである。
【００１７】
なお、スキャンパス方式において、スキャン・チェーンをシフトさせて内部状態を観測する際には、該シフト直前のスキャン・チェーンの内容を予めシミュレーションなどで把握し、テスタメモリなどに保存しておく。そうして、内部状態観測後には、該保存に基づいて、例えば図１の半導体集積回路外部からの入力信号ＳＩＮ１や入力信号ＳＩＮ２などを入力して、スキャン・チェーンを上記シフト直前の内容に再現することも考えられる。しかしながら、このようにすると、シミュレーションをする必要があったり、テスタメモリが必要になったりするなどの問題がある。従って、半導体集積回路の不良箇所はチップ毎に異なるなど、内部状態を観測したいタイミングは多様になるので、このようなシミュレーションを毎回行ったり、テスタメモリの容量が増大したりするなどの問題がある。
【００１８】
更に、以上の説明のように、「ファンクション・パターンｂ」〜「ファンクション・パターンｄ」のそれぞれを順次行うと、図２において符号ｅで示される「パターンの総合時間」に示されるようになる。このように、従来は故障解析に長時間要するという問題もある。
【００１９】
本発明は、前記従来の問題点を解決するべくなされたもので、内部状態を観察したい時点で、半導体集積回路を通常動作モードからシフトモードに切り替え、該半導体集積回路の外部から該半導体集積回路の内部状態を観察した後に、シフトモードから通常動作モードに切り替え、該動作停止させていた内部動作を続行再開させることができるようにして、半導体集積回路の故障解析のパターン削減、及び故障解析能率向上を図ることができる半導体集積回路の故障解析方法を提供することを目的とする。
【００２０】
なお、ここで半導体集積回路の内部状態はスキャン・フリップフロップの保持するデータがシフトにより変わることにより変動するため一定しないが、内部状態を観測終了後に元の状態に戻ることを動作停止という。
【００２１】
【課題を解決するための手段】
本発明は、複数の論理回路部分をその内部回路に備えた、故障解析対象の半導体集積回路に、所定の時間長を有するファンクション・パターンを入力し、該ファンクション・パターンの少なくとも第１及び第２の時点における前記半導体集積回路の内部状態を観察する半導体集積回路の故障解析方法において、前記論理回路部分の間に設けられる、複数のスキャン・フリップフロップを接続して構成されたスキャン・チェーンを複数備え、これらスキャン・チェーン間でフリップフロップの数が異なる場合は、フリップフロップが少ないスキャン・チェーンにフリップフロップを追加して、スキャン・チェーン間でフリップフロップ数が同一になるようにすると共に、これらスキャン・チェーンの信号入力には、シフト・フィードバック用セレクタを備えて、当該半導体集積回路の外部から入力する信号、又はそれぞれのスキャン・チェーン内でフィードバックさせるように、そのスキャン・チェーンの出力信号を入力できるように構成し、まず、当該半導体集積回路を通常動作させる通常動作モードにおいて、当該半導体集積回路の外部から信号を入力するために設けられた入力端子から、複数の前記論理回路部分の内で信号の流れの最も上流側の前記論理回路部分に、前記ファンクション・パターンの前記第１の時点までを入力し、当該半導体集積回路の内部状態を前記スキャン・フリップフロップに保持し、次に、通常動作モードから、スキャン・チェーンに取り込んだデータをシフトさせることで半導体集積回路の内部信号を外部からモニタするためのシフトモードに切り替え、前記シフト・フィードバック用セレクタに前記スキャン・チェーンの出力信号を選択させて、クロック信号を順次入力しながら当該半導体集積回路の外部に前記スキャン・フリップフロップのデータを読み出すと共に、該スキャン・チェーンのフリップフロップの数だけ前記クロック信号を入力することにより、前記スキャン・フリップフロップに保持された内部状態をシフト前の状態に復帰させ、その後、シフトモードから通常動作モードに切り替え、再び、前記ファンクション・パターンの今度は前記第１の時点から前記第２の時点までを入力し、当該半導体集積回路の内部状態を前記スキャン・フリップフロップに保持し、更に、通常動作モードからシフトモードに切り替え、前記シフト・フィードバック用セレクタに前記スキャン・チェーンの出力信号を選択させて、クロック信号を順次入力しながら当該半導体集積回路の外部に前記スキャン・フリップフロップのデータを読み出すようにしたことにより、前記課題を解決したものである。
【００２４】
以下、本発明の作用について、簡単に説明する。
【００２５】
本発明は、シフト・フィードバック用セレクタによって、前記スキャン・チェーンの出力信号を選択すると、該スキャン・チェーンは、リング・カウンタのように構成される。即ち、該選択とした状態でクロック信号を順次入力すると、該スキャン・チェーンの出力信号は、該スキャン・チェーンの入力信号として入力され、フィードバックされる。従って、スキャン・チェーンにおいてデータが順次シフトしながら一巡し、個々のスキャン・フリップフロップに保持されているデータは、該一巡後には該一巡前の初期状態に復帰する。
【００２６】
従って、本発明によれば、当該半導体集積回路の内部動作を停止させてから、上述のようにスキャン・チェーンにおいてデータを順次シフトしながら一巡させると、これらのすべてのデータは当該半導体集積回路の外部から観測できる。又、該一巡後には保持されているデータは初期状態に復帰するので、この後は、上記の停止の内部動作を続行することができる。
【００２７】
このように本発明によれば、内部状態を観察したい時点で、半導体集積回路の故障解析観測対象の内部動作を停止させておいて、該半導体集積回路の外部から該半導体集積回路の内部状態を観察した後に、該動作停止させていた内部動作を続行再開させることができるようにして、半導体集積回路の故障解析のパターン削減、及び故障解析能率向上を図ることができる。
【００２８】
なお、本発明において、スキャン・チェーンにおいてデータを順次シフトしながら観測する半導体集積回路の内部状態は、スキャン・パターンによって動作させた後の状態であってもよく、ファンクション・パターンによって動作させた後の状態であってもよく、該内部状態がどのようにして得られたものであるか本発明は具体的に限定するものではない。
【００２９】
【発明の実施の形態】
以下、図を用いて本発明の実施の形態を詳細に説明する。
【００３０】
図１は、本発明が適用された実施形態の半導体集積回路に作り込まれているロジック部の回路図である。
【００３１】
本実施形態の構成は、本発明を適用して、スキャンパス方式の故障解析に用いるスキャン・チェーンの信号入力に、本発明のシフト・フィードバック用セレクタ２５を設けている。該シフト・フィードバック用セレクタ２５は、２つの信号の内から１つを選択するセレクタであり、当該半導体集積回路外部から入力する信号、又はスキャン・チェーンの出力信号を選択する。
【００３２】
ここで、スキャン・チェーンをシフトさせて内部状態を観測する場合、半導体集積回路から入力する外部選択信号ＳＥＬを“１”（Ｈ状態）にする。この場合、スキャン・チェーンはあたかもリング・カウンタのように構成され、クロック信号ＣＬＫを順次入力すると、スキャン・チェーンの出力信号は、該スキャン・チェーンの入力信号として入力され、フィードバックされる。
【００３３】
本実施形態では、フリップフロップ２２によって構成される複数のスキャン・チェーンは、本来スキャン・チェーン間でフリップフロップの数が異なっている。このため、フリップフロップ２２の数が少ないスキャン・チェーンにフリップフロップ２７を追加して、これによって、スキャン・チェーン間でフリップフロップ数が同一になるようにしている。
【００３４】
図１においては、フリップフロップ数が同一になるように、前述の図３に対して、符号Ｆ１１及び符号Ｆ１２で示される２つのフリップフロップ２７を設けている。これらフリップフロップ２７を設けることによって、論理回路部分１０及び１１の間において受け渡している信号を保持するフリップフロップ２２の個数６個と、論理回路部分１１及び１２の間において受け渡している信号を保持するフリップフロップ２２及び２７の個数（４＋２＝６）個とが等しくなっている。
【００３５】
以上のように、スキャン・チェーンをシフトさせて内部状態を観測する場合には、外部選択信号ＳＥＬを“１”（Ｈ状態）にすることで、いずれのスキャン・チェーンにおいても、その出力信号はその入力信号としてフィードバックされ、かつ、これらスキャン・チェーンが有するフリップフロップの数が相互に同一で、いずれもシフト段数は等しい（６段）。このため、外部選択信号ＳＥＬを“１”（Ｈ状態）にして、クロック信号ＣＬＫを順次入力しながらスキャン・チェーンを６回シフトさせると、いずれのスキャン・チェーンにおいても、すべてのフリップフロップ２２や２７に保持される状態を出力端子ＳＯＵＴ１やＳＯＵＴ２から観察することができる。
【００３６】
又、シフトの際にスキャン・チェーンの出力信号はその入力信号としてフィードバックされるので、シフト段数に等しい回数のシフトによる内部状態観測の後には、スキャン・チェーンに保持されている状態は、これらシフト前の状態に再び復帰し、本実施形態では、６回シフトの後には、スキャン・チェーンに保持されている状態は、該６回シフト前の状態に再び復帰する。このため該６回シフトの後に、論理回路部分１０〜１２のそれぞれの動作状態を含め、該６回シフトの際に中断していた本実施形態の半導体集積回路の動作を再開させることも可能である。
【００３７】
例えば、図２の「ファンクション・パターンａ」における、０ｎＳ（スタート時）から２０００ｎＳ経過後の時点（第１の時点）、２０１０ｎＳ経過後の時点（第２の時点）、２０２０ｎＳ経過後の時点（第３の時点）のそれぞれで、スキャン・チェーンに保持されている、半導体集積回路の内部状態を表すデータをシフトさせながら外部に読み出し観測する場合を考える。この場合は、本実施形態は、図２（ｆ）に示す「実施形態のパターン（以下、ファンクション・パターンｆと呼ぶ）」として示されるパターンでテストを行う。
【００３８】
まず、２０００ｎＳの時点における内部状態観察では、「ファンクション・パターンｆ」において時刻ｔａからｔｂまでの、「ファンクション・パターンａ」の０ｎＳから２０００ｎＳまでと同じファンクション・パターンを入力する。そうしてから、時刻ｔｂからｔｃまでは、符号Ｐ１で示されるように、スキャン・チェーンに保持されている半導体集積回路の内部状態をシフトさせ、外部に読み出して観測する。該シフト後にはスキャン・チェーンに保持されている状態は、該シフト前に復帰している。
【００３９】
このように復帰しているため、半導体集積回路やスキャン・チェーンを初期化する必要なく上記の観測に続いて、２０１０ｎＳの時点における内部状態観察を続行することができ、該内部状態観測では、「ファンクション・パターンｆ」において時刻ｔｃから１０ｎＳまでの、「ファンクション・パターンａ」の２０００ｎＳから２０１０ｎＳまでのパターンと同じファンクション・パターンを入力する。そうしてから、符号Ｐ１で示されるように、スキャン・チェーンに保持されている半導体集積回路の内部状態をシフトさせ、外部に読み出して観測する。該シフト観測後にはスキャン・チェーンに保持されている状態は、該シフト前に復帰している。
【００４０】
該観測に続いて、「ファンクション・パターンｆ」の時刻ｔｄから１０ｎＳのパターンは、「ファンクション・パターンａ」の２０１０ｎＳから２０２０ｎＳまでのパターンと同じファンクション・パターンを入力する。そうしてから、符号Ｐ１で示されるように、スキャン・チェーンに保持されている半導体集積回路の内部状態をシフトさせ、外部に読み出して観測する。
【００４１】
本実施形態では前述のように、内部状態を観察したい時点での、故障解析観測対象の動作の停止、該半導体集積回路外部からの内部状態観察、該観察後の動作停止させていた動作の続行再開が可能である。これにより、２０００ｎＳの時点、２０１０ｎＳの時点、及び２０２０ｎＳの時点という、３つの時点における内部状態観察が、時刻ｔａで開始する上述のような１つの「ファンクション・パターンｆ」のそれぞれ時刻ｔｂ、ｔｃ、ｔｄにおいて可能であり、半導体集積回路の故障解析のテストパターン削減、及び故障解析能率向上を図ることができる。
【００４２】
又、「ファンクション・パターンｆ」と、前述した従来の符号ｅで示される「パターンの総合時間」とを比較して明らかのように、本実施形態によれば、故障解析時間を短縮することが可能になる。
【００４３】
以上のように、本実施形態では本発明を効果的に適用することが可能になる。
【００４４】
【発明の効果】
本発明によれば、半導体集積回路の故障解析のテストパターン削減、及び故障解析能率向上を図ることができる。
【図面の簡単な説明】
【図１】本発明が適用された実施形態の半導体集積回路に作り込まれているロジック部の回路図
【図２】上記実施形態の故障解析及びこれに比較する従来例の動作を示すタイムチャート
【図３】従来からの一般的な、スキャンパス方式で故障解析する半導体集積回路内部のロジック部の回路図
【符号の説明】
１０〜１２…論理回路部分
２１…セレクタ
２２…フリップフロップ
２５…シフト・フィードバック用セレクタ
ＳＥＮ…スキャン・イネーブル信号
ＣＬＫ…クロック信号
ＳＩＮ１、ＳＩＮ２…半導体集積回路外部からの入力信号
ＳＯＵＴ１、ＳＯＵＴ２…半導体集積回路外部への出力信号
ＳＥＬ…外部選択信号（本発明動作実施用）
【図１】
0004234357.tif 000002
【図２】
0004234357.tif 000003
【図３】
0004234357.tif 000004