(57)【要約】【課題】スキャンパスの双方向化を図り、スキャンパスの故障個所を容易に特定し得る。【解決手段】順方向のスキャンイン端子ＴＩに与えられる第１のスキャンデータ、又は逆方向のスキャンイン端子ＲＳＩに与えられる第２のスキャンデータをマルチプレクサ１１で選択し、選択したスキャンデータをスキャンＦ／Ｆ１２で保持した後、第１のスキャンデータを順方向のスキャンアウト端子Ｑに出力し、第２のスキャンデータを逆方向のスキャンアウト端子ＲＳＯに出力する。【選択図】　　　図１
2004053262.tif 000002
【特許請求の範囲】
【請求項１】
第１のスキャンイン端子に与えられる第１のスキャンデータ、及び第２のスキャンイン端子に与えられる第２のスキャンデータのいずれか一方のスキャンデータを選択する選択回路と、
選択された前記スキャンデータを保持するスキャンフリップフロップと、
前記スキャンフリップフロップに保持された第１のスキャンデータを第１のスキャンアウト端子にバッファ出力し、前記第１のスキャンアウト端子から前記スキャンフリップフロップの出力端子への信号伝搬を遮断する第１のバッファ回路と、
前記スキャンフリップフロップに保持された第２のスキャンデータを第２のスキャンアウト端子にバッファ出力し、前記第２のスキャンアウト端子から前記スキャンフリップフロップの出力端子への信号伝搬を遮断する第２のバッファ回路と
を有することを特徴とする双方向型スキャン回路。
【請求項２】
前段の前記請求項１記載の双方向型スキャン回路の前記第１のスキャンアウト端子と後段の前記請求項１記載の双方向型スキャン回路の前記第１のスキャンイン端子とを接続し、前段の前記請求項１記載の双方向型スキャン回路の前記第２のスキャンイン端子と後段の前記請求項１記載の双方向型スキャン回路の前記第２のスキャンアウト端子とを接続するという前段と後段の接続関係により、
前記請求項１記載の双方向型スキャン回路を複数個縦続接続し、最前段の前記双方向型スキャン回路の前記第１のスキャンイン端子から最後段の前記第１のスキャンアウト端子にスキャンデータをスキャンする第１のスキャンパスと、最後段の前記第２のスキャンイン端子から最前段の前記第２のスキャンアウト端子にスキャンデータをスキャンする第２のスキャンパスを構成してなることを特徴とするスキャンテスト回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体集積回路のスキャンテストを実施する双方向型スキャン回路及びスキャンテスト回路に関する。
【０００２】
【従来の技術】
従来、半導体集積回路の故障解析を容易にする手法としては、例えばスキャンテストがある。これは集積回路に含まれるフリップフロップ（以下、「Ｆ／Ｆ」と記す）を１本または複数本のチェーン状に接続してスキャンパスを構成し、このスキャンパスを通してデータを入出力することで集積回路内部の状態を直接制御、観測する手法である。この手法は可制御性、可観測性に優れており、半導体集積回路のテストには多用されている。
【０００３】
その反面、スキャンパスに故障が発生すると、スキャンテストを行うことができなくなっていた。また、１つの集積回路内には多数のＦ／Ｆが存在するため、１つのスキャンパス内のＦ／Ｆ数は膨大な数になる。このため、このようなスキャンパスに故障が発生した場合には、Ｆ／Ｆ数の増大と共に故障箇所の特定の難易度が高くなっていた。
【０００４】
【発明が解決しようとする課題】
以上説明したように、複数のＦ／Ｆをチェーン状に結合したスキャンパスを使用して行う従来のスキャンテストにおいては、スキャンパスに故障が発生すると、スキャンテストが実施できなくなるといった不具合を招いていた。
【０００５】
また、Ｆ／Ｆの個数が膨大になると、スキャンパスに故障が発生した場合に、故障個所を特定するのが困難になるといった不具合を招いていた。
【０００６】
そこで、この発明は、上記に鑑みてなされたものであり、その目的とするところは、スキャンパスの双方向化を図り、スキャンパスの故障個所を容易に特定し得る双方向型スキャン回路及びスキャンテスト回路を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、課題を解決する第１の手段は、第１のスキャンイン端子に与えられる第１のスキャンデータ、及び第２のスキャンイン端子に与えられる第２のスキャンデータのいずれか一方のスキャンデータを選択する選択回路と、選択された前記スキャンデータを保持するスキャンフリップフロップと、スキャンフリップフロップに保持された第１のスキャンデータを第１のスキャンアウト端子にバッファ出力し、第１のスキャンアウト端子からスキャンフリップフロップの出力端子への信号伝搬を遮断する第１のバッファ回路と、スキャンフリップフロップに保持された第２のスキャンデータを第２のスキャンアウト端子にバッファ出力し、第２のスキャンアウト端子からスキャンフリップフロップの出力端子への信号伝搬を遮断する第２のバッファ回路とを有することを特徴とする。
【０００８】
第２の手段は、前段の第１の手段の双方向型スキャン回路の第１のスキャンアウト端子と後段の前記第１の手段の双方向型スキャン回路の第１のスキャンイン端子とを接続し、前段の第１の手段の双方向型スキャン回路の第２のスキャンイン端子と後段の第１の手段の双方向型スキャン回路の第２のスキャンアウト端子とを接続するという前段と後段の接続関係により、第１の手段の双方向型スキャン回路を複数個縦続接続し、最前段の双方向型スキャン回路の第１のスキャンイン端子から最後段の第１のスキャンアウト端子にスキャンデータをスキャンする第１のスキャンパスと、最後段の第２のスキャンイン端子から最前段の第２のスキャンアウト端子にスキャンデータをスキャンする第２のスキャンパスを構成してなることを特徴とする。
【０００９】
【発明の実施の形態】
以下、図面を用いてこの発明の実施形態を説明する。
【００１０】
図１はこの発明の一実施形態に係るスキャンテスト回路に使用される双方向型スキャン回路の構成を示す図である。
【００１１】
図１において、この実施形態の双方向型スキャン回路１０は、マルチプレクサ（以下、「ＭＵＸ」と記す）１１と、１相のスキャンＦ／Ｆ１２と、バッファ回路１３，１４を備えている。順方向のスキャンイン端子ＴＩから与えられてＭＵＸ１１で選択されたスキャンデータは、スキャンＦ／Ｆ１２で保持された後、バッファ回路１３を介して順方向のスキャンアウト端子となる双方向型スキャン回路１０の出力端子Ｑから出力される。スキャンＦ／Ｆ１２で保持された後、バッファ回路１３を介して双方向型スキャン回路１０の出力端子Ｑから出力されるスキャンデータのスキャン方向を順方向とする。バッファ回路１３は、双方向型スキャン回路１０の出力端子側からスキャンＦ／Ｆ１２の出力端子側への信号の伝搬を遮断する。
【００１２】
一方、逆方向のスキャンイン端子ＲＳＩから与えられてＭＵＸ１１で選択されたスキャンデータはスキャンＦ／Ｆ１２で保持された後、バッファ回路１４を介して逆方向のスキャンアウト端子ＲＳＯから出力される。スキャンイン端子ＲＳＩから与えられてＭＵＸ１１で選択されスキャンＦ／Ｆ１２で保持された後、バッファ回路１４を介してスキャンアウト端子ＲＳＯから出力されるスキャンデータのスキャン方向を逆方向とする。バッファ回路１４は、双方向型スキャン回路１０の逆方向のスキャンアウト端子ＲＳＯ側からスキャンＦ／Ｆ１２の出力端子側への信号の伝搬を遮断する。
【００１３】
ＭＵＸ１１は、選択信号端子ＳＥＬに与えられる選択信号に基づいて、入力に与えられる一方のスキャンデータを選択する。したがって、この双方向型スキャン回路１０は、スキャンデータを順方向又は逆方向の双方向にスキャンシフトすることが可能となる。
【００１４】
図２に示すようにこの実施形態のスキャンテスト回路は、図１に示す双方向型スキャン回路１０と等価な双方向型スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄをチェーン状に縦続接続してなるスキャンパスで構成されている。なお、図２では、説明の理解を容易にするために双方向型スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄを４つ接続した例を示しているが、通常は更に多数の双方向型スキャン回路が接続される。例えば双方向型スキャン回路１０ｂの順方向のスキャンイン端子ＴＩは前段の双方向型スキャン回路１０ａの出力端子Ｑに接続され、逆方向のスキャンイン端子ＲＳＩは、次段の双方型スキャン回路１０ｃの逆方向のスキャンアウト端子ＲＳＯに接続されている。
【００１５】
このような構成において、スキャンデータ入出力端子ＳＩＮ２０に与えられたスキャンデータは、双方向型スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄの順方向のスキャンイン端子ＴＩから出力端子Ｑへと順に経由してスキャンデータ入出力端子ＳＯＵＴ２１へ順方向にスキャンシフトされる。一方、ＳＯＵＴ端子２１に与えられたスキャンデータは、各双方向型スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄの逆方向のスキャンイン端子ＲＳＩから逆方向のスキャンアウト端子ＲＳＯをそれぞれ順に経由してＳＩＮ端子２０へと逆方向にスキャンシフトされる。これにより、ＳＩＮ端子２０からＳＯＵＴ端子２１への順方向のスキャンパス２２と、ＳＯＵＴ端子２１からＳＩＮ端子２０への逆方向のスキャンパス２３の２本のスキャンパスが形成されることになる。
【００１６】
したがって、いずれか一方のスキャンパス（双方向型スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄを接続するライン上）で故障が発生した場合であっても、半導体集積回路に含まれる例えば組み合わせ回路２４からスキャンＦ／Ｆ１２の入力端子Ｄに与えられて取り込まれたデータは、故障が発生していない他方のスキャンパスをスキャンシフトされる。
【００１７】
図３に示す実施形態の双方向型スキャン回路３０の特徴とするところは、図１に示す１相のスキャンＦ／Ｆ１２に代えて、入力端子Ｄと出力端子Ｑとは別にスキャンイン端子ＳＩとスキャンアウト端子ＳＯを備えた２相のスキャンＦ／Ｆ３１を用いたことにあり、他は図１と同様である。この２相のスキャンＦ／Ｆ３１を用いた双方向型スキャン回路３０と等価な双方向型スキャン回路３０ａ，３０ｂ，３０ｃ，３０ｄを、図４に示すように縦続接続することで、図２に示すと同様に２本のスキャンパス３２、３３を有するスキャンテスト回路が構成される。
【００１８】
したがって、上記いずれの実施形態においても、一方のスキャンパスに故障が発生しても、他方のスキャンパスを用いてスキャンテストを実施することが可能となる。
【００１９】
次に、図２又は図４に示すスキャンテスト回路における故障個所を特定する手順を、図５に示すフローチャートを参照して説明する。
【００２０】
まず、ＳＩＮ端子２０からＳＯＵＴ端子２１へスキャンデータ０をスキャンシフトするテストを行い、続いて、ＳＩＮ端子２０からＳＯＵＴ端子２１へスキャンデータ１をスキャンシフトするテストを行い、ＳＯＵＴ端子２１からＳＩＮ端子２０へスキャンデータ０をスキャンシフトするテストを行い、ＳＯＵＴ端子２１からＳＩＮ端子２０へスキャンデータ１をスキャンシフトするテストを行うステップ（ステップＳ７０１〜Ｓ７０４）において、全て正常であるならば（ステップＳ１０７）、スキャンテストは可能となる（ステップＳ７１１）。
【００２１】
一方、ステップＳ７０３又はステップＳ７０４でスキャンパスに故障があると判別された場合には、ＳＩＮ端子２０からＳＯＵＴ端子２１へのスキャンテストが正常となり（ステップＳ７０８）、順方向からのスキャンテストが可能になるとともに（ステップＳ７１１）、故障個所の特定が可能となる（ステップＳ７１２）。また、ステップＳ７０１又はステップＳ７０２で故障があると判別された場合には、ＳＯＵＴ端子２１からＳＩＮ端子２０へスキャンデータ０をスキャンシフトするテストを行い、ＳＯＵＴ端子２１からＳＩＮ端子２０へスキャンデータ１をスキャンシフトするテストを行うステップ（ステップＳ７０５，Ｓ７０６）において、いずれのステップも正常である場合には、ＳＯＵＴ端子２１からＳＩＮ端子２０へのスキャンテストが正常となり（ステップＳ７０９）、逆方向からのスキャンテストが可能になるとともに（ステップＳ７０９）、故障個所の特定が可能となる（ステップＳ７１２）。一方、ステップＳ７０５又はステップＳ７０６で故障があると判別された場合には、いずれの方向からのスキャンテストもできず（ステップＳ７１０）、故障個所の特定はできなくなる（ステップＳ７１３）。
【００２２】
次に、故障を確認する具体的な動作について、例えば図２に示すスキャンテスト回路を一例として説明する。
【００２３】
まず、故障がない場合の動作について説明する。スキャンシフトの方向をＳＩＮ端子２０からＳＯＵＴ端子２１に設定し、ＳＩＮ端子２０からデータ１を双方向型スキャン回路数分スキャンシフトする。図２では双方向型スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄは４つなので４回スキャンシフトを行う。その後、ＳＯＵＴ端子２１からＳＩＮ端子２０へスキャンシフトの方向を変更し、双方向型スキャン回路数分スキャンシフトを行いＳＩＮ端子２０で期待値比較を行う。正常時は、４回データ１がＳＩＮ端子２０に出力されれば正常と判断する。
【００２４】
次に、スキャンシフトの方向をＳＩＮ端子２０からＳＯＵＴ端子２１に設定し、ＳＩＮ端子２０からデータ０を双方向型スキャン回路数分スキャンシフトする。図２では双方向型スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄは４つなので４回スキャンシフトを行う。その後、ＳＯＵＴ端子２１からＳＩＮ端子２０へスキャンシフトの方向を変更し、スキャンＦ／Ｆ数分スキャンシフトを行いＳＩＮ端子２０で期待値比較を行う。正常時は、４回データ１がＳＩＮ端子２０に出力されれば正常と判断する。
【００２５】
このような動作を行った際のＳＩＮ端子２０の値と各双方向型スキャン回路１０の内部状態を図６に示す。ＳＩＮ端子２０からデータを各双方向型スキャン回路１０にデータを割り付けた後、ＳＯＵＴ端子２１からＳＩＮ端子２０へデータをスキャンシフトし、ＳＩＮ端子２０で期待値比較する。これにより、スキャンシフトが正常に行われたか否か、ならびにスキャンパス２２，２３が正しく結線されているか否かを確認することができる。
【００２６】
次に、図７に示すように、双方向型スキャン回路１０ｂと双方向型スキャン回路１０ｃとの間の結線の図中（×）で示す箇所に０縮退故障がある場合の動作と、故障個所の特定について説明する。
【００２７】
まず正常時と同様に、スキャンシフトの方向をＳＩＮ端子２０からＳＯＵＴ端子２１に設定し、ＳＩＮ端子２０からデータ１をスキャンＦ／Ｆ数分スキャンシフトする。図７では双方向型スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄは４つなので４回スキャンシフトを行う。その後、ＳＯＵＴ端子２１からＳＩＮ端子２０へスキャンシフトの方向を変更し、スキャンシフトを行いＳＩＮ端子２０で期待値比較を行う。図８に示すように、２回目のスキャンシフトでＳＩＮ端子２０にデータ０が出力される。これにより、ＳＩＮ端子２０からＳＯＵＴ端子２１方向に見て２つ目の双方向型スキャン回路１０ｂの順方向の出力側のスキャンパスの結線に故障があることが判明する。
【００２８】
その後、スキャンシフトの方向をＳＯＵＴ端子２１からＳＩＮ端子２０に設定し、ＳＯＵＴ端子２１からデータ１を双方向スキャン回路数分スキャンシフトする。図７ではスキャンＦ／Ｆは４つなので４回スキャンシフトを行う。更に、ＳＩＮ端子２０からＳＯＵＴ端子２１へスキャンシフトの方向を変更し、スキャンシフトを行い、ＳＯＵＴ端子２１で期待値比較を行う。図８に示すように、３回目のスキャンシフトでＳＯＵＴ端子２１にデータ０が出力される。これにより、ＳＯＵＴ端子２１からＳＩＮ端子２０方向に見て３つ目の双方向スキャン回路１０（２）の出力側に故障があることが判明する。すなわち、図７に示す双方向スキャン回路１０ｂの順方向の出力Ｑ側のスキャンパスの結線に故障があることが判明する。
【００２９】
次に、図９に示すように、双方向型スキャン回路１０ｂと双方向型スキャン回路１０ｃとの間の結線の図中（×）で示す箇所と、双方向型スキャン回路１０ｃと双方向型スキャン回路１０ｄとの間の結線の図中（×）で示す箇所に０縮退故障がある場合の動作と、故障個所の特定について説明する。
【００３０】
まず正常時と同様に、スキャンシフトの方向をＳＩＮ端子２０からＳＯＵＴ端子２１に設定し、ＳＩＮ端子２０からデータ１を双方向型スキャン回路数分スキャンシフトする。図９では双方向型スキャン回路は４つなので４回スキャンシフトを行う。その後、ＳＯＵＴ端子２１からＳＩＮ端子２０へスキャンシフトの方向を変更し、スキャンシフトを行いＳＩＮ端子２０で期待値比較を行う。図１０に示すように、２回目のスキャンシフトでＳＩＮ端子２０にデータ０が出力される。これにより、ＳＩＮ端子２０からＳＯＵＴ端子２１方向に見て２つ目の双方向型スキャン回路１０ｂの順方向の出力Ｑ側のスキャンパスの結線に故障があることが判明する。
【００３１】
その後、スキャンシフトの方向をＳＯＵＴ端子２１からＳＩＮ端子２０に設定し、ＳＯＵＴ端子２１からデータ１を双方向スキャン回路数分スキャンシフトする。図９では双方向型スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄは４つなので４回スキャンシフトを行う。更に、ＳＩＮ端子２０からＳＯＵＴ端子２１へスキャンシフトの方向を変更し、スキャンシフトを行いＳＯＵＴ端子２１で期待値比較を行う。図１０に示すように、２回目のスキャンシフトでＳＯＵＴ端子２１にデータ０が出力される。これにより、ＳＯＵＴ端子２１からＳＩＮ端子２０方向に見て２つ目の双方向スキャン回路１０ｃの出力側に故障があることが判明する。したがって、図９に示す双方向型スキャン回路１０ｂの出力端子Ｑと双方向型スキャン回路１０ｃの入力端子ＴＩとの間の結線のスキャンパス、ならびに双方向型スキャン回路１０ｄの出力端子Ｑと双方向型スキャン回路１０ｃの入力端子ＴＩとの間の結線のスキャンパスに故障があることが判明する。このように、故障個所が一致しない場合は、故障している双方向スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄの始点と終点を確認することができる。
【００３２】
次に、図１１に示すように、双方向型スキャン回路１０ｂの順方向の出力端子Ｑ側の結線の図中（×）で示す箇所に０縮退故障があり、双方向型スキャン回路１０ｃの順方向の出力端子Ｑ側の結線の図中（×）で示す箇所に１縮退故障がある場合の動作と、故障個所の特定について説明する。
【００３３】
まず正常時と同様、スキャンシフトの方向をＳＩＮ端子２０からＳＯＵＴ端子２１に設定し、ＳＩＮ端子２０からデータ１を双方向型スキャン回路数分スキャンシフトする。図１１では双方向スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄは４つなので４回スキャンシフトを行う。その後、ＳＯＵＴ端子２１からＳＩＮ端子２０へスキャンシフトの方向を変更し、スキャンシフトを行いＳＩＮ端子２０で期待値比較を行う。図１２に示すように、２回目のスキャンシフトでＳＩＮ端子２０にデータ０が出力される。これにより、ＳＩＮ端子２０からＳＯＵＴ端子２１方向に見て２つ目の双方向スキャン回路１０ｂの順方向の出力端子Ｑ側のスキャンパスの結線に故障があることが判明する。
【００３４】
その後、スキャンシフトの方向をＳＯＵＴ端子２１からＳＩＮ端子２０に設定し、ＳＯＵＴ端子２１からデータ０を双方向型スキャン回路数分スキャンシフトする。図１１では双方向型スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄは４つなので４回スキャンシフトを行う。更に、ＳＩＮ端子２０からＳＯＵＴ端子２１へスキャンシフトの方向を変更し、スキャンシフトを行いＳＯＵＴ端子２１で期待値比較を行う。図１２に示すように、２回目のスキャンシフトでＳＯＵＴ端子２１にデータ１が出力される。これにより、ＳＯＵＴ端子２１からＳＩＮ端子２０方向に見て２つ目の双方向型スキャン回路１０ｃの順方向の出力端子Ｑ側のスキャンパスの結線に故障があることが判明する。
【００３５】
したがって、図１１に示す双方向型スキャン回路１０ｂの出力端子Ｑと双方向型スキャン回路１０ｃの入力端子ＴＩとの間の結線のスキャンパス、ならびに双方向型スキャン回路１０ｄの出力Ｑと双方向型スキャン回路１０ｃの入力端子ＴＩとの間の結線のスキャンパスに故障があることが判明する。このように、故障個所が一致しない場合は、故障している双方向スキャン回路１０ａ，１０ｂ，１０ｃ，１０ｄの始点と終点を確認することができる。これにより、スキャンパス上の故障箇所を簡単に特定することが可能となり、故障解析を容易に実施することができる。
【００３６】
【発明の効果】
以上説明したように、この発明によれば、スキャンパスの双方向化を図ったので、一方向のスキャンパスに故障が発生しても、他方向のスキャンパスを用いてスキャンテストを実施することが可能となる。また、スキャンパス上の故障箇所を簡単に特定することが可能となり、故障解析を容易に実施することができる。
【図面の簡単な説明】
【図１】この発明の一実施形態に係る双方向型スキャン回路の構成を示す図である。
【図２】この発明の一実施形態に係るスキャンテスト回路の構成を示す図である。
【図３】この発明の他の実施形態に係る双方向型スキャン回路の構成を示す図である。
【図４】この発明の他の実施形態に係るスキャンテスト回路の構成を示す図である。
【図５】スキャンテストの手順を示すフローチャートである。
【図６】ＳＩＮ端子の値とスキャンＦ／Ｆの内部状態を示す図である。
【図７】スキャンパス上に故障がある場合の一例を示す図である。
【図８】ＳＩＮ端子及びＳＯＵＴ端子の値とスキャンＦ／Ｆの内部状態を示す図である。
【図９】スキャンパス上に故障がある場合の他の例を示す図である。
【図１０】ＳＩＮ端子及びＳＯＵＴ端子の値とスキャンＦ／Ｆの内部状態を示す図である。
【図１１】スキャンパス上に故障がある場合の他の例を示す図である。
【図１２】ＳＩＮ端子及びＳＯＵＴ端子の値とスキャンＦ／Ｆの内部状態を示す図である。
【符号の説明】
１０，１０ａ，１０ｂ，１０ｃ，１０ｄ，３０，３０ａ，３０ｂ，３０ｃ，３０ｄ　双方向型スキャン回路
１１　マルチプレクサ
１２，３１　スキャンＦ／Ｆ
１３，１４　バッファ回路
２０，２１　スキャンデータ入出力端子
２２，２３，３２，３３　スキャンパス
２４　組み合わせ回路
【図１】
2004053262.tif 000003
【図２】
2004053262.tif 000004
【図３】
2004053262.tif 000005
【図４】
2004053262.tif 000006
【図５】
2004053262.tif 000007
【図６】
2004053262.tif 000008
【図７】
2004053262.tif 000009
【図８】
2004053262.tif 000010
【図９】
2004053262.tif 000011
【図１０】
2004053262.tif 000012
【図１１】
2004053262.tif 000013
【図１２】
2004053262.tif 000014