(57)【要約】【課題】スキャンチェーンにおける故障の有無だけではなく、その故障位置を正確に特定することができる半導体装置およびその故障位置特定方法を提供する。【解決手段】それぞれ独立に設けられたスキャンイネーブル信号によって制御される前段および後段のスキャンチェーンを備える半導体装置において、前段のスキャンチェーンのスキャンイネーブル信号をイネーブル状態、かつ後段のスキャンチェーンのスキャンイネーブル信号をディスエーブル状態にし、前段のスキャンチェーンのスキャンインからデータをシフト入力して前段のスキャンチェーンにデータを設定し、前段のスキャンチェーンから出力されるデータによって動作した内部回路から出力されるデータを後段のスキャンチェーンに保持し、後段のスキャンチェーンのスキャンイネーブル信号をイネーブル状態にして、後段のスキャンチェーンに保持したデータをスキャンアウトからシフト出力する。【選択図】図１
2004157029.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ独立に設けられたスキャンイネーブル信号によって制御される少なくとも２つのスキャンチェーンを備えていることを特徴とする半導体装置。
【請求項２】
それぞれ独立に設けられたスキャンイネーブル信号によって制御される前段および後段のスキャンチェーンを備える半導体装置において、
前記前段のスキャンチェーンのスキャンイネーブル信号をイネーブル状態、かつ前記後段のスキャンチェーンのスキャンイネーブル信号をディスエーブル状態にし、前記前段のスキャンチェーンのスキャンインからデータをシフト入力して当該前段のスキャンチェーンにデータを設定し、
この前段のスキャンチェーンから出力されるデータによって動作した内部回路から出力されるデータを前記後段のスキャンチェーンに保持し、
前記後段のスキャンチェーンのスキャンイネーブル信号をイネーブル状態にして、当該後段のスキャンチェーンに保持したデータをスキャンアウトからシフト出力することを特徴とする半導体装置の故障位置特定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スキャンチェーンを備える半導体装置およびそのスキャンチェーンにおける故障位置の特定方法に関するものである。
【０００２】
【従来の技術】
図２は、従来の半導体装置の一例の構成概略図である。
同図に示す半導体装置３０は、共通のスキャンイネーブル信号によって制御される３本のスキャンチェーン１２ａ、１２ｂ、１２ｃを備えている。スキャンチェーン１２ａを代表例として説明すると、スキャンチェーン１２ａは、チェーン状に接続された４段のスキャンセル１４ａ、１４ｂ、１４ｃ、１４ｄを備えている。また、各々のスキャンセル１４ａ、１４ｂ、１４ｃ、１４ｄは、マルチプレクサ１６とフリップフロップ１８により構成されている。
【０００３】
各々のスキャンセル１４ａ、１４ｂ、１４ｃ、１４ｄにおいて、マルチプレクサ１６の入力端子０には内部回路（ｌｏｇｉｃ）２０ａの出力信号がそれぞれ入力されている。初段のスキャンセル１４ａのマルチプレクサ１６の入力端子１にはスキャンイン１が入力され、２段目〜４段目のスキャンセル１４ｂ、１４ｃ、１４ｄのマルチプレクサ１６の入力端子１には、前段のスキャンセル１４ａ、１４ｂ，１４ｃのフリップフロップ１８の出力信号が入力されている。
【０００４】
また、スキャンチェーン１２ａ、１２ｂ、１２ｃの全てのスキャンセル１４ａ、１４ｂ、１４ｃ、１４ｄのマルチプレクサ１６の選択入力端子にはスキャンイネーブル信号が共通に入力されている。マルチプレクサ１６の出力信号は、各々対応するフリップフロップ１８のデータ入力端子に入力され、４段目のスキャンセル１４ｄのフリップフロップ１８の出力信号はスキャンアウト１として出力されている。
【０００５】
なお、スキャンチェーン１２ｂ、１２ｃについても、スキャンチェーン１２ａにおけるスキャンイン１、スキャンアウト１および内部回路２０ａが、それぞれスキャンチェーン１２ｂ、１２ｃにおいては、スキャンイン２，３、スキャンアウト２，３および内部回路２０ｂ、２０ｃとなることを除いて同じ構成である。
【０００６】
図２に示す半導体装置３０では、スキャンチェーン１２ｂにおいて、初段のスキャンセル１４ａのフリップフロップ１８の出力信号が断線し、２段目のスキャンセル１４ｂのマルチプレクサ１６の入力端子１が電源にショートされた故障（スタックアット１故障）がある場合を例に挙げて説明する。
【０００７】
半導体装置３０において、スキャンイネーブル信号をイネーブル状態とし、例えばスキャンイン１からデータをシフト入力してスキャンアウト１からシフト出力する。これにより、スキャンイン１から入力したデータと４段シフトした後にスキャンアウト１から出力されるデータが一致すれば、スキャンチェーン１２ａには故障がないと判断することができる。また、不一致があれば、スキャンチェーン１２ａのどこかに故障があると判断することができる。
【０００８】
例えば、スキャンチェーン１２ｂのスキャンイン２から‘００１１’というデータをシフト入力したとしても、４段シフトした後にスキャンアウト２からシフト出力されるデータは、‘１１１１’となるので、入力したデータと出力されるデータとの間に不一致が生じる。
【０００９】
また、スキャンチェーン１２ｃについても同様にして、故障の有無を検出することができる。
【００１０】
しかし、従来の半導体装置３０では、スキャンチェーンにおける故障の有無は判断できるが、スキャンチェーンのどこに故障があるのかまでは特定することができないという問題があった。
【００１１】
【発明が解決しようとする課題】
本発明の目的は、前記従来技術に基づく問題点を解消し、スキャンチェーンにおける故障の有無だけではなく、その故障位置を正確に特定することができる半導体装置およびその故障位置特定方法を提供することにある。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、本発明は、それぞれ独立に設けられたスキャンイネーブル信号によって制御される少なくとも２つのスキャンチェーンを備えていることを特徴とする半導体装置を提供するものである。
【００１３】
また、本発明は、それぞれ独立に設けられたスキャンイネーブル信号によって制御される前段および後段のスキャンチェーンを備える半導体装置において、
前記前段のスキャンチェーンのスキャンイネーブル信号をイネーブル状態、かつ前記後段のスキャンチェーンのスキャンイネーブル信号をディスエーブル状態にし、前記前段のスキャンチェーンのスキャンインからデータをシフト入力して当該前段のスキャンチェーンにデータを設定し、
この前段のスキャンチェーンから出力されるデータによって動作した内部回路から出力されるデータを前記後段のスキャンチェーンに保持し、
前記後段のスキャンチェーンのスキャンイネーブル信号をイネーブル状態にして、当該後段のスキャンチェーンに保持したデータをスキャンアウトからシフト出力することを特徴とする半導体装置の故障位置特定方法を提供する。
【００１４】
【発明の実施の形態】
以下に、添付の図面に示す好適実施形態に基づいて、本発明の半導体装置およびその故障位置特定方法を詳細に説明する。
【００１５】
図１は、本発明の半導体装置の一実施形態の構成概略図である。
同図に示す半導体装置１０は、それぞれ独立に設けられたスキャンイネーブル信号１，２，３によって制御される３本のスキャンチェーン１２ａ、１２ｂ、１２ｃを備えている。図中右端にスキャンチェーン１２ａが配置され、中央にスキャンチェーン１２ｂが配置され、左端にスキャンチェーン１２ｃが配置されている。
【００１６】
スキャンチェーン１２ａを代表例として説明すると、スキャンチェーン１２ａは、チェーン状に接続された４段のスキャンセル１４ａ、１４ｂ、１４ｃ、１４ｄを備えている。図中最上部に初段のスキャンセル１４ａが配置され、以下順に下側へ向かってスキャンセル１４ｂ、１４ｃ、１４ｄが配置されている。また、各々のスキャンセル１４ａ、１４ｂ、１４ｃ、１４ｄは、マルチプレクサ１６とフリップフロップ１８により構成されている。
【００１７】
各々のスキャンセル１４ａ、１４ｂ、１４ｃ、１４ｄにおいて、マルチプレクサ１６の入力端子０には内部回路（ｌｏｇｉｃ）２０ａの出力信号がそれぞれ入力されている。初段のスキャンセル１４ａのマルチプレクサ１６の入力端子１にはスキャンイン１が入力され、２段目〜４段目のスキャンセル１４ｂ、１４ｃ、１４ｄのマルチプレクサ１６の入力端子１には、前段のスキャンセル１４ａ、１４ｂ，１４ｃのフリップフロップ１８の出力信号が入力されている。
【００１８】
また、全てのスキャンセル１４ａ、１４ｂ、１４ｃ、１４ｄのマルチプレクサ１６の選択入力端子にはスキャンイネーブル信号１が共通に入力され、マルチプレクサ１６の出力信号は、各々対応するフリップフロップ１８のデータ入力端子に入力されている。また、４段目のスキャンセル１４ｄのフリップフロップ１８の出力信号はスキャンアウト１として出力されている。
【００１９】
なお、スキャンチェーン１２ｂ、１２ｃについても、スキャンチェーン１２ａにおけるスキャンイン１、スキャンアウト１、スキャンイネーブル信号１および内部回路２０ａが、それぞれスキャンチェーン１２ｂ、１２ｃにおいては、スキャンイン２，３、スキャンアウト２，３、スキャンイネーブル信号２，３および内部回路２０ｂ、２０ｃとなることを除いて同じ構成である。
【００２０】
本実施形態の半導体装置１０では、スキャンチェーン１２ｂにおいて、初段のスキャンセル１４ａのフリップフロップ１８の出力信号が断線し、２段目のスキャンセル１４ｂのマルチプレクサ１６の入力端子１が電源にショートされた故障（スタックアット１故障）がある場合を例に挙げて説明する。
【００２１】
半導体装置１０において、スキャンチェーン１２ａのスキャンイネーブル信号１をイネーブル状態とし、スキャンイン１からデータをシフト入力してスキャンアウト１からシフト出力する。これにより、スキャンイン１から入力したデータと４段シフトした後にスキャンアウト１から出力されるデータが一致すれば、スキャンチェーン１２ａには故障がないと判断することができる。また、不一致があれば、スキャンチェーン１２ａのどこかに故障があると判断することができる。
【００２２】
また、スキャンチェーン１２ｂ、１２ｃについても同様にして、故障の有無を検出することができる。
【００２３】
本実施形態では、スキャンチェーン１２ｂのスキャンセル１４ａとスキャンセル１４ｂとの間の接続に故障があるため、この時点ではスキャンチェーン１２ｂに故障があるということだけが分かる。例えば、スキャンチェーン１２ｂのスキャンイン２から‘００１１’というデータをシフト入力したとしても、４段シフトした後にスキャンアウト２からシフト出力されるデータは、‘１１１１’となり、入力したデータと出力されるデータとの間に不一致が生じる。
【００２４】
次に、スキャンチェーン１２ｂの故障個所を特定するために、スキャンチェーン１２ｃのスキャンイネーブル信号３をイネーブル状態、かつスキャンチェーン１２ｂのスキャンイネーブル信号２をディスエーブル状態とし、スキャンチェーン１２ｃのスキャンイン３からデータをシフト入力して、スキャンチェーン１２ｃにデータを設定する。この時、スキャンチェーン１２ｂにおける設定データは不定となる。
【００２５】
続いて、前段のスキャンチェーン１２ｃから出力されるデータによって動作した内部回路２０ｂから出力されるデータを後段のスキャンチェーン１２ｂに保持（キャプチャー）する。その後、スキャンチェーン１２ｂのスキャンイネーブル信号２をイネーブル状態とし、スキャンチェーン１２ｂに保持されているデータをスキャンアウト２からシフト出力する。
【００２６】
これにより、２段目〜４段目のスキャンセル１４ｂ、１４ｃ、１４ｄから出力されるデータは、その出力期待値と一致する。これに対し、初段のスキャンセル１４ａから出力されるデータは、その出力期待値に関係なく‘１’となるため、スキャンセル１４ａの出力信号自身もしくはスキャンセル１４ａとスキャンセル１４ｂとの間の接続に故障があると判断することができる。すなわち、故障個所を特定することができる。
【００２７】
図１に示す半導体装置１０では、説明を容易にするために図示を省略しているが、実際の半導体装置では、例えばスキャンチェーン１２ｂから出力される信号が内部回路２０ｂにフィードバックされる場合がある。
【００２８】
図２に示す従来の半導体装置３０では、スキャンイネーブル信号が３つのスキャンチェーン１２ａ、１２ｂ、１２ｃの間で共通に接続されているため、スキャンチェーン１２ｃのスキャンイン３からデータをシフト入力してスキャンチェーン１２ｃにデータを設定する時同時に、スキャンチェーン１２ｂのスキャンイン２からもデータがシフト入力され、スキャンチェーン１２ｂにもデータが設定される。
【００２９】
この場合、例えば‘００１１’というデータをスキャンチェーン１２ｂに設定しようとしても実際には‘１１１１’というデータが設定されてしまう。また、テストパターンの自動生成ツールは、スキャンチェーン１２ｂに‘００１１’というデータが設定されているものとしてテストパターンを自動生成する。このため、内部回路２０ｂから出力されるデータをスキャンチェーン１２ｂに保持し、これをスキャンアウト２からシフト出力すると、故障個所とは関係のない３段目および４段目のスキャンセル１４ｃ、１４ｄから出力されるデータも、その出力期待値と不一致が生じる。
【００３０】
従って、従来の半導体装置３０では、故障個所を正確に特定できないばかりか、故障個所とは関係のない個所に故障があると誤って判断してしまう恐れがある。
【００３１】
これに対し、本実施形態の半導体装置１０では、スキャンチェーン１２ｃのスキャンイン３からデータをシフト入力してスキャンチェーン１２ｃにデータを設定する場合、スキャンチェーン１２ｂのスキャンイネーブル信号２をディスエーブル状態にするため、スキャンチェーン１２ｂにはデータが設定されず、その出力信号は不定となる。
【００３２】
従って、テストパターンの自動生成ツールは、スキャンチェーン１２ｂの出力信号が不定であるものとして、その出力期待値が不定であるテストパターンを作成するため、３段目および４段目のスキャンセル１４ｃ、１４ｄから出力されるデータが、その出力期待値と不一致することはない。
【００３３】
また、内部回路２０ｂから出力されるデータをスキャンチェーン１２ｂに保持し、スキャンアウト２からスキャンチェーン１２ｂに保持されたデータをシフト出力した場合、その出力期待値と一致するデータ出力を得ることができる。また、スキャンチェーン１２ｂのスキャンセル１４ａから出力されるデータは、その出力期待値に関係なく常に‘１’になるため、スキャンセル１４ａの出力もしくはスキャンセル１４ａとスキャンセル１４ｂとの間の接続に故障があると判断することができる。
【００３４】
なお、スキャンチェーン１２ｂから出力されるデータが不定の場合、この不定のデータがフィードバックされる内部回路２０ｂから出力されるデータが不定になる場合もあり得る。しかし、例えばＡＮＤゲートの場合は、一方の入力信号が不定であっても他方の入力が‘０’であれば、その出力信号は‘０’に確定する。また、ＯＲゲートの場合は一方の入力信号が‘１’であれば、その出力信号は‘１’に確定する。
【００３５】
また、テストパターンの自動生成ツールは、故障検出率を上げるために、内部回路２０ｂから出力されるデータが‘１’および‘０’の両方の状態が出現するようにテストパターンを自動生成する。したがって、スキャンチェーン１２ｂの出力信号が内部回路２０ｂにフィードバックされるような回路構成の場合に、スキャンチェーン１２ｂの出力信号を不定の状態にしたとしても何ら問題はなく、正しくテストを行って故障個所を正確に特定することが可能である。
【００３６】
なお、スキャンチェーンは２つ以上いくつ備えられていてもよい。また、スキャンセルの段数も何段でもよいし、それぞれのスキャンチェーンはスキャンセルの段数が異なっていてもよい。また、スキャンイネーブル信号は、半導体装置の外部ピンから直接入力してもよいし、あるいは半導体装置の内部レジスタ等から供給してもよく、それぞれのスキャンチェーンを独立に制御可能に構成されていれば何ら制限はない。
【００３７】
また、上記実施形態では、スタックアット１故障がある場合を想定し、その故障個所を特定する例を挙げて説明したが、本発明では、スタックアット０故障も同様にその故障個所を特定可能である。また、故障の発生個所も何ら制限的ではなく、スキャンチェーンのどこに故障があっても、その故障個所を正確に特定することができる。
【００３８】
本発明は、基本的に以上のようなものである。
以上、本発明の半導体装置およびその故障位置特定方法について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【００３９】
【発明の効果】
以上詳細に説明した様に、本発明によれば、スキャンチェーン毎にスキャンイネーブル信号を設け、それぞれのスキャンチェーンを個別に制御可能にするという簡単な回路変更を行うだけで、スキャンチェーンにおける故障の有無はもちろん、その故障個所も正確に特定することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の半導体装置の一実施形態の構成概略図である。
【図２】従来の半導体装置の一例の構成概略図である。
【符号の説明】
１０，３０  半導体装置
１２ａ、１２ｂ、１２ｃ  スキャンチェーン
１４ａ、１４ｂ、１４ｃ、１４ｄ  スキャンセル
１６  マルチプレクサ
１８  フリップフロップ
２０ａ、２０ｂ、２０ｃ  内部回路
【図１】
2004157029.tif 000003
【図２】
2004157029.tif 000004