(57)【要約】【課題】従来の半導体装置では、複数の被テスト回路からのテスト結果の読み出しに大きな労力が必要になる問題があった。【解決手段】本発明にかかるテスト回路は、第１の被テスト回路１３ａがテスト命令に従って出力する第１のテスト結果信号Ｓ１と、第２の被テスト回路１３ｂがテスト命令に従って出力する第２のテスト結果信号Ｓ２と、を合成する合成回路１５と、第１のテスト結果信号Ｓ１に対して第２のテスト結果信号Ｓ２を遅延させるブロック間遅延生成回路１４と、合成回路１５が出力する合成テスト結果信号を所定のタイミング毎に保持するテスト結果保持回路１６と、を有するものである。【選択図】図１
2010060314.tif 000002
【特許請求の範囲】
【請求項１】
第１の被テスト回路がテスト命令に従って出力する第１のテスト結果信号と、第２の被テスト回路がテスト命令に従って出力する第２のテスト結果信号と、を合成する合成回路と、
前記第１のテスト結果信号に対して前記第２のテスト結果信号を遅延させるブロック間遅延生成回路と、
前記合成回路が出力する合成テスト結果信号を所定のタイミング毎に保持するテスト結果保持回路と、
を有するテスト回路。
【請求項２】
前記ブロック間遅延生成回路は、前記第２の被テスト回路に前記第１の被テスト回路よりも遅延した動作クロックを与える請求項１に記載のテスト回路。
【請求項３】
前記ブロック間遅延生成回路は、前記第２のテスト結果信号を前記第１のテスト結果信号よりも遅延させて出力する請求項１に記載のテスト回路。
【請求項４】
前記ブロック間遅延生成回路は、前記第１のテスト結果信号の立ち上がり又は立ち下がりエッジが前記第２のテスト結果信号の立ち上がりエッジ又は立ち下がりエッジと同期していた場合に、前記第２のテスト結果信号を遅延させて出力する請求項１又は３に記載のテスト回路。
【請求項５】
前記テスト結果保持回路は、前記所定のタイミング毎に前記合成テスト結果信号をカウントし、カウント値を保持する請求項１乃至４のいずれか１項に記載のテスト回路。
【請求項６】
前記合成回路は、前記第１、第２のテスト結果信号の排他的論理和を前記合成テスト結果信号として出力する請求項１乃至５のいずれか１項に記載のテスト回路。
【請求項７】
前記第１、第２の被テスト回路は、同一のテスト命令により同一のテスト結果信号を出力する請求項１乃至６のいずれか１項に記載のテスト回路。
【請求項８】
前記テスト命令は、前記第１、第２の被テスト回路と接続された演算部から出力される請求項１乃至７のいずれか１項に記載のテスト回路。
【請求項９】
前記第１、第２の被テスト回路は、スキャンチェーン回路を用いた回路とは別に設けられる回路である請求項１乃至８のいずれか１項に記載のテスト回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明にかかるテスト回路は、特に複数の被テスト回路からテスト結果を得るテスト回路に関する。
【背景技術】
【０００２】
近年、一つのＡＳＩＣ（Application Specific Integrated Circuit）内により多くの機能が納められるようになってきている。そのため、ＡＳＩＣの回路ブロック数及び回路規模が多くなってきている。このような多くの回路ブロックをテストするためにＡＳＩＣには、一般的にスキャンチェーン回路によるテスト回路が搭載される。このスキャンチェーン回路を用いることで少ない端子数で多くの回路ブロックをテストすることができる。
【０００３】
しかしながら、事後的に回路ブロックを追加した場合、追加したブロックがスキャンチェーン回路のテスト対象から外れる場合がある。このような場合、追加した回路ブロック用に別途端子を設けなければならずＡＳＩＣの端子数が増加する問題がある。そこで、端子数を増加させることなく、スキャンチェーン回路のテスト対象から外れた回路ブロックをテストする方法が特許文献１に開示されている。
【０００４】
特許文献１では、ＡＳＩＣに搭載されたＭＰＵ（Micro Processing Unit）によってスキャンチェーン回路から外れた回路ブロックをテストし、ＭＰＵによってそのテスト結果を受信する。これにより、特許文献１では、端子数を増加させることなくスキャンチェーン回路から外れた回路ブロックをテストすることができる。
【特許文献１】特開２００６−１１９０２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、スキャンチェーン回路のテスト対象となっていない回路ブロックの数が増加した場合、ＭＰＵの負荷が非常に大きくなる問題がある。具体的には、複数の回路ブロックへのテスト命令の送信及び複数の回路ブロックからのテスト結果の受信を行うためにＭＰＵは、回路ブロックへのポーリングあるいは各処理を円滑に行うための割り込みハンドラ処理を行わなければならない。
【課題を解決するための手段】
【０００６】
本発明にかかるテスト回路の一態様は、第１の被テスト回路がテスト命令に従って出力する第１のテスト結果信号と、第２の被テスト回路がテスト命令に従って出力する第２のテスト結果信号と、を合成する合成回路と、前記第１のテスト結果信号に対して前記第２のテスト結果信号を遅延させるブロック間遅延生成回路と、前記合成回路が出力する合成テスト結果信号を所定のタイミング毎に保持するテスト結果保持回路と、を有するものである。
【０００７】
本発明にかかるテスト回路によれば、第１のテスト結果信号と第１のテスト結果信号に対して遅延時間を有する第２のテスト結果信号とを合成して合成テスト結果信号を得る。そのため、第１のテスト結果信号又は第２のテスト結果信号のいずれかに不具合がある場合、合成テスト結果信号の波形から第１のテスト結果信号と第２のテスト結果信号とのいずれに不具合が生じたかを確認することができる。つまり、本発明にかかるテスト回路では、一つの合成テスト結果信号の中に不具合が発生した回路ブロックの情報を含んでいるため、複数の回路ブロックに対するテスト結果をそれぞれ読み出すことなく不具合が発生した回路ブロックを特定することができる。
【発明の効果】
【０００８】
本発明にかかるテスト回路によれば、一つの合成テスト結果信号により複数の回路ブロックのうちいずれの回路ブロックに不具合が発生したかを特定することができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。以下の説明では、一つの半導体装置内にテスト回路が被テスト回路と共に内蔵された例について説明するが、本発明にかかるテスト回路は、被テスト回路とは別の装置として設けられていても良い。
【００１０】
図１に本実施の形態にかかるテスト回路１を含む半導体装置のブロック図を示す。図１に示すように半導体装置は、テスト回路１、ＭＰＵ（Micro Processing Unit）１０、メモリ１１、入出力ポート１２、被テスト回路１３ａ、１３ｂ、を有する。そして、ＭＰＵ１０、メモリ１１、入出力ポート１２、被テスト回路１３ａ、１３ｂ、テスト回路１は、バスを介して互いに接続される。また、テスト回路１は、ブロック間遅延生成回路１４、合成回路１５、テスト結果保持回路１６を有する。
【００１１】
ＭＰＵ１０は、メモリ１１から読み出したプログラム又は入出力ポート１２から入力されるプログラムに基づいて信号処理を行う。メモリ１１は、ＭＰＵ１０において処理されるプログラムの格納、ＭＰＵ１０において実行された信号処理の結果の格納、及び、他の回路において実行された処理の結果の格納を行う。入出力ポート１２は、半導体装置の外部端子（不図示）と接続されており、半導体装置の外部と信号の入出力を行う。
【００１２】
被テスト回路１３ａ、１３ｂは、例えば、ＭＰＵ１０からの指示に基づいて各種処理を行う機能ブロックである。本実施の形態では、他の機能ブロックについては省略している。被テスト回路１３ａ、１３ｂは、他の機能ブロックをテストするためのスキャンチェーン回路によるテスト対象とはなっていないものとする。被テスト回路１３ａは、それぞれＭＰＵ１０からテスト命令を受けて、第１のテスト結果信号Ｓ１を出力する。被テスト回路１３ｂは、ＭＰＵ１０からテスト命令を受けて、第２のテスト結果信号Ｓ２を出力する。
【００１３】
ブロック間遅延生成回路１４は、被テスト回路１３ａ、１３ｂに対して異なる位相の動作クロックを与える。以下、この動作クロックをそれぞれ動作クロックＣＬＫａ、ＣＬＫｂと称す。この動作クロックＣＬＫａ、ＣＬＫｂによって、被テスト回路１３ａ、１３ｂは、異なるタイミングで動作し、異なる位相のテスト結果信号を出力する。
【００１４】
合成回路１５は、第１のテスト結果信号Ｓ１及び第２のテスト結果信号Ｓ２を合成して、合成テスト結果信号を出力する。本実施の形態では、合成回路１５として排他的論理和回路を用いる。そのため、合成テスト結果信号は第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２との排他的論理和演算結果となる。
【００１５】
テスト結果保持回路１６は、合成テスト結果信号を所定のタイミング毎に保持する。より具体的には、テスト結果保持回路１６は、記憶部１７とタイミング調整部１８とを有する。タイミング調整部１８は、ＭＰＵ１０からバスを介してタイミング設定信号を受信し、トリガ信号ＳＴを出力する。このトリガ信号ＳＴは、例えば、所定の周期を有するパルス信号である。記憶部１７は、トリガ信号ＳＴの立ち上がりエッジに同期して合成テスト結果信号の論理値を記憶する。そして、記憶部１７は、ＭＰＵ１０からの読み出し命令に応じて記憶したテスト結果を出力する。
【００１６】
続いて、本実施の形態にかかるテスト回路を用いたテスト動作について説明する。図２に被テスト回路１３ａ、１３ｂのいずれにも不具合がなかった場合のテスト動作のタイミングチャートを示す。また、図３に被テスト回路１３ａに不具合があった場合のテスト動作のタイミングチャートを示す。なお、被テスト回路１３ａ、１３ｂは、テスト開始前に、ＭＰＵ１０からテスト命令を受け、動作クロックの入力開始と共に動作を開始するものとする。また、本実施の形態では、ブロック間遅延生成回路１４が生成する動作クロックＣＬＫｂの位相は、動作クロックＣＬＫａの位相に対して１８０°遅延しているものとする。
【００１７】
まず、図２を参照して、被テスト回路１３ａ、１３ｂのいずれにも不具合がなかった場合のテスト動作について説明する。図２に示す例では、タイミングＴ１の動作クロックＣＬＫａの立ち上がりに応じて、被テスト回路１３ａが出力する第１のテスト結果信号Ｓ１が立ち上がる。そして、タイミングＴ１から遅延してトリガ信号ＳＴが立ち上がり、タイミングＴ１で出力されている第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２との合成信号が合成テスト結果信号として記憶部１７に格納される。このとき記憶部１７に格納されるデータは、第１のテスト結果信号Ｓ１がハイレベルであり、第２のテスト結果信号がロウレベルであるため、ハイレベルとなる。
【００１８】
続いて、タイミングＴ２の動作クロックＣＬＫｂの立ち上がりに応じて、被テスト回路１３ｂが出力する第２のテスト結果信号Ｓ２が立ち上がる。そして、タイミングＴ２から遅延してトリガ信号ＳＴが立ち上がり、タイミングＴ２で出力されている第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２との合成信号が合成テスト結果信号として記憶部１７に格納される。このとき記憶部１７に格納されるデータは、第１のテスト結果信号Ｓ１がハイレベルであり、第２のテスト結果信号がハイレベルであるため、ロウレベルとなる。
【００１９】
次いで、タイミングＴ３の動作クロックＣＬＫａの立ち上がりに応じて、被テスト回路１３ａが出力する第１のテスト結果信号Ｓ１が立ち下がる。そして、タイミングＴ３から遅延してトリガ信号ＳＴが立ち上がり、タイミングＴ３で出力されている第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２との合成信号が合成テスト結果信号として記憶部１７に格納される。このとき記憶部１７に格納されるデータは、第１のテスト結果信号Ｓ１がロウレベルであり、第２のテスト結果信号がハイレベルであるため、ハイレベルとなる。
【００２０】
次いで、タイミングＴ４の動作クロックＣＬＫｂの立ち上がりに応じて、被テスト回路１３ｂが出力する第２のテスト結果信号Ｓ２が立ち下がる。そして、タイミングＴ４から遅延してトリガ信号ＳＴが立ち上がり、タイミングＴ４で出力されている第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２との合成信号が合成テスト結果信号として記憶部１７に格納される。このとき記憶部１７に格納されるデータは、第１のテスト結果信号Ｓ１がロウレベルであり、第２のテスト結果信号がロウレベルであるため、ロウレベルとなる。
【００２１】
その後、記憶部１７に記憶された合成テスト結果信号は、ＭＰＵ１０からの読み出し命令により読み出され、予め準備された期待値と照合される。図２に示す例では、期待値と合成テスト結果信号とが一致しているため、不具合はないと判断される。
【００２２】
次に、図３を参照して、被テスト回路１３ｂに不具合があった場合のテスト動作について説明する。図３に示す例では、タイミングＴ１１の動作クロックＣＬＫａの立ち上がりに応じて、被テスト回路１３ａが出力する第１のテスト結果信号Ｓ１が立ち上がる。そして、タイミングＴ１１から遅延してトリガ信号ＳＴが立ち上がり、タイミングＴ１１で出力されている第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２との合成信号が合成テスト結果信号として記憶部１７に格納される。このとき記憶部１７に格納されるデータは、第１のテスト結果信号Ｓ１がハイレベルであり、第２のテスト結果信号がロウレベルであるため、ハイレベルとなる。
【００２３】
続いて、被テスト回路１３ｂが正常に動作していればタイミングＴ１２の動作クロックＣＬＫｂの立ち上がりに応じて、被テスト回路１３ｂが出力する第２のテスト結果信号Ｓ２が立ち上がる。しかし、図３に示す例では、被テスト回路１３ｂにおいて不具合が発生し、本来立ち上がるべき第２のテスト結果信号Ｓ２が立ち上がらない。そして、タイミングＴ１２から遅延してトリガ信号ＳＴが立ち上がり、タイミングＴ１２で出力されている第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２との合成信号が合成テスト結果信号として記憶部１７に格納される。このとき記憶部１７に格納されるデータは、第１のテスト結果信号Ｓ１がハイレベルであり、第２のテスト結果信号がロウレベルであるため、ハイレベルとなる。
【００２４】
次いで、タイミングＴ１３の動作クロックＣＬＫａの立ち上がりエッジが入力され、被テスト回路１３が出力する第１のテスト結果信号Ｓ１が立ち下がる。また、本実施の形態では、タイミングＴ１３の時点において被テスト回路１３ｂが出力する第２のテスト信号Ｓ２がハイレベルとなる。つまり、第２のテスト信号Ｓ２は、本来立ち上がるべきタイミングＴ１２から遅延して立ち上がる。そして、タイミングＴ１３から遅延してトリガ信号ＳＴが立ち上がり、タイミングＴ１３で出力されている第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２との合成信号が合成テスト結果信号として記憶部１７に格納される。このとき記憶部１７に格納されるデータは、第１のテスト結果信号Ｓ１がロウレベルであり、第２のテスト結果信号がハイレベルであるため、ハイレベルとなる。
【００２５】
次いで、タイミングＴ１４の動作クロックＣＬＫｂの立ち上がりに応じて、被テスト回路１３ｂが出力する第２のテスト結果信号Ｓ２が立ち下がる。そして、タイミングＴ１４から遅延してトリガ信号ＳＴが立ち上がり、タイミングＴ１４で出力されている第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２との合成信号が合成テスト結果信号として記憶部１７に格納される。このとき記憶部１７に格納されるデータは、第１のテスト結果信号Ｓ１がロウレベルであり、第２のテスト結果信号がロウレベルであるため、ロウレベルとなる。
【００２６】
その後、記憶部１７に記憶された合成テスト結果信号は、ＭＰＵ１０からの読み出し命令により読み出され、予め準備された期待値と照合される。このとき、図３に示す例では、タイミングＴ１１〜Ｔ１４に相当する期間の合成テスト結果信号がハイレベルであるため、タイミングＴ１２〜Ｔ１３の期間において期待値と合成テスト結果信号とが不一致となる。このように不一致の期間がある場合、被テスト回路に不具合が生じたと判断される。また、本実施の形態におけるテスト回路では、第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２との位相が異なっているため、その位相の違いから、被テスト回路１３ｂに不具合が生じたことを判断することができる。
【００２７】
以上の説明より、本実施の形態にかかるテスト回路によれば、異なる位相の動作クロックで被テスト回路１３ａ、１３ｂを動作させることで、互いに位相の異なるテスト結果信号を得ることができる。そして、位相の異なるテスト結果信号を合成して一つの合成テスト結果信号を得る。これにより、複数のテスト結果信号が同一論理である場合であっても、それぞれのテスト結果信号の論理値が正しく出力されているか否かを一つの合成テスト結果信号により判定することができる。より具体的には、テスト結果信号の間に位相差を設けることで、複数のテスト結果信号の論理値が同一であっても、位相差に相当する期間にハイレベル信号（合成テスト結果信号を排他的論理和回路により生成した場合）となる合成テスト結果信号を得ることができる。つまり、複数のテスト結果信号の間に位相差を設けることで、その位相差に基づき個々のテスト結果信号の論理値が正しいか否かを一つの合成テスト結果信号から判定することができる。なお、被テスト回路が複数本の信号線によりテスト結果信号を出力する場合は、合成テスト結果信号も複数本になる。そして、複数本の合成テスト結果信号のそれぞれにおいてテスト結果が判定される。
【００２８】
また、本実施の形態にかかるテスト回路によれば、合成テスト結果信号は、複数のテスト結果信号を合成した一つの信号であるため、テスト結果を少ない端子数で読み出すことができる。さらに、本実施の形態にかかるテスト回路により得られた合成テスト結果信号をＭＰＵ１０により読み出す場合にも、読み出しタイミングを調節するためのポーリング等の動作を必要とせず、単にテスト回路にアクセスするのみで良い。このようなことから、本実施の形態にかかるテスト回路は、複数の被テスト回路を有するシステムにおいてテスト結果を短時間に読み出すことが可能である。
【００２９】
実施の形態２
図４に実施の形態２にかかる半導体装置のブロック図を示す。図４に示すように、実施の形態２では、被テスト回路１３ａ、１３ｂは、クロック生成回路２０から同位相の動作クロックを受けて動作する。そのため、第１のテスト結果信号Ｓ１及び第２のテスト結果信号の位相は同じになる。そして、実施の形態２にかかるテスト回路２は、被テスト回路１３ａ、１３ｂと合成回路１５との間に設けられるブロック間遅延生成回路２１を有する。ブロック間遅延生成回路２１は、第２のテスト結果信号Ｓ２の伝達経路に遅延回路２２を有する。そして、ブロック間遅延生成回路２１は、第１のテスト結果信号Ｓ１をそのまま第１のテスト結果信号Ｓ３として出力し、第２のテスト結果信号Ｓ２を遅延回路２２で遅延させて第２のテスト結果信号Ｓ４を出力する。
【００３０】
このブロック間遅延生成回路２１により、テスト回路２における第１のテスト結果信号Ｓ３と第２のテスト結果信号Ｓ４との位相関係は、テスト回路１における第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２との位相関係と同じになる。つまり、実施の形態２にかかるテスト回路２においても、合成回路１５で合成される信号は実施の形態１にかかるテスト回路１と同じ関係となる。これにより、テスト回路２においても、テスト回路１と同様の合成テスト結果信号を得ることが可能である。
【００３１】
実施の形態３
実施の形態３にかかる半導体装置のブロック図を図５に示す。図５に示すように、実施の形態３にかかる半導体装置はテスト回路２の変形例となるテスト回路３を有する。テスト回路３におけるブロック間遅延生成回路３０は、第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２の立ち上がりエッジ又は立ち下がりエッジが同位相の場合に第２のテスト結果信号Ｓ２を遅延させた第２のテスト結果信号Ｓ６を生成する。
【００３２】
ブロック間遅延生成回路３０の詳細なブロック図を図６に示す。図６に示すように、ブロック間遅延生成回路３０は、エッジ検出回部３１と遅延調整部３２を有する。エッジ検出部３１は、第１のテスト結果信号Ｓ１の立ち上がりエッジ及び立ち下がりエッジのタイミングと第２のテスト結果信号Ｓ２の立ち上がりエッジ及び立ち下がりエッジが同期しているか否かを検出し、エッジ検出信号を出力する。遅延調整部３２は、エッジ検出信号より第１のテスト結果信号と第２のテスト結果信号とが同期しているとの判断結果を認識した場合に第２のテスト結果信号Ｓ２を遅延させる。
【００３３】
エッジ検出部３１は、インバータ３３ａ、３３ｂ、ＡＮＤ回路３３ａ、３３ｂ、３７、ＮＯＲ回路３５ａ、３５ｂ、ＯＲ回路３６ａ、３６ｂを有する。インバータ３３ａは第１のテスト結果信号Ｓ１を受けて、その反転信号を出力する。また、インバータ３３ａは、第１のテスト結果信号Ｓ１を遅延させる動作も行う。ＡＮＤ回路３４ａは、第１のテスト結果信号Ｓ１とインバータ３３ａの出力を受けて、２つの信号の論理積演算結果を出力する。ＮＯＲ回路３５ａは、第１のテスト結果信号Ｓ１とインバータ３３ａの出力を受けて、２つの信号の反転論理和演算結果を出力する。ＯＲ回路３６ａは、ＡＮＤ回路３４ａの出力及びＮＯＲ回路３５ａの出力を受けて、２つの信号の論理和演算結果を出力する。
【００３４】
インバータ３３ｂは第２のテスト結果信号Ｓ２を受けて、その反転信号を出力する。また、インバータ３３ｂは、第２のテスト結果信号Ｓ２を遅延させる動作も行う。ＡＮＤ回路３４ｂは、第２のテスト結果信号Ｓ２とインバータ３３ｂの出力を受けて、２つの信号の論理積演算結果を出力する。ＮＯＲ回路３５ｂは、第２のテスト結果信号Ｓ２とインバータ３３ｂの出力を受けて、２つの信号の反転論理和演算結果を出力する。ＯＲ回路３６ｂは、ＡＮＤ回路３４ｂの出力及びＮＯＲ回路３５ｂの出力を受けて、２つの信号の論理和演算結果を出力する。
【００３５】
ＡＮＤ回路３７は、ＯＲ回路３６ａの出力及びＯＲ回路３６ｂの出力を受けて、２つの信号の論理積演算結果をエッジ検出信号として出力する。
【００３６】
ここで、エッジ検出部３１の動作を示すタイミングチャートの一例を図７に示し、エッジ検出部３１の動作を説明する。本実施の形態では、被テスト回路１３ａ、１３ｂが同じ動作クロックに基づき動作し、同期したテスト結果信号を出力する。そこで、図７では第１のテスト結果信号Ｓ１及び第２のテスト結果信号Ｓ２が同期している場合におけるエッジ検出部３１の動作を示した。
【００３７】
図７に示す例では、タイミングＴ２１において第１のテスト結果信号Ｓ１及び第２のテスト結果信号Ｓ２がともに立ち上がる。また、インバータ３３ａ、３３ｂに入力される第１のテスト結果信号Ｓ１及び第２のテスト結果信号Ｓ２は、タイミングＴ２１から遅延したタイミングＴ２２において立ち下がる。このとき、タイミングＴ２１からタイミングＴ２２の期間は、ＡＮＤ回路３４ａ、３４ｂの２つの入力信号が共にハイレベルとなるため、ＡＮＤ回路３４ａ、３４ｂの出力がハイレベルとなる。一方、タイミングＴ２１からタイミングＴ２２の期間においてＮＯＲ回路３５ａ、３５ｂの出力はロウレベルを維持する。そして、ＡＮＤ回路３４ａの出力とＮＯＲ回路３５ａの出力を受けるＯＲ回路３６ａの出力は、ＡＮＤ回路３４ａの出力に基づきタイミングＴ２１からタイミングＴ２２の期間にハイレベルとなる。また、ＡＮＤ回路３４ｂの出力とＮＯＲ回路３５ｂの出力を受けるＯＲ回路３６ｂの出力は、ＡＮＤ回路３４ｂの出力に基づきタイミングＴ２１からタイミングＴ２２の期間にハイレベルとなる。そして、ＯＲ回路３６ａ、３６ｂの出力がタイミングＴ２１からタイミングＴ２２の期間に共にハイレベルとなるため、この期間にＡＮＤ回路３７が出力するエッジ検出信号がハイレベルとなる。
【００３８】
また、タイミングＴ２３において第１のテスト結果信号Ｓ１及び第２のテスト結果信号Ｓ２がともに立ち下がる。また、インバータ３３ａ、３３ｂに入力される第１のテスト結果信号Ｓ１及び第２のテスト結果信号Ｓ２は、タイミングＴ２３から遅延したタイミングＴ２４において立ち上がる。このとき、タイミングＴ２３からタイミングＴ２４の期間は、ＡＮＤ回路３４ａ、３４ｂの２つの入力信号が共にロウレベルとなるため、ＡＮＤ回路３４ａ、３４ｂの出力がロウレベルとなる。一方、タイミングＴ２３からタイミングＴ２４の期間においてＮＯＲ回路３５ａ、３５ｂの出力はハイレベルを維持する。そして、ＡＮＤ回路３４ａの出力とＮＯＲ回路３５ａの出力を受けるＯＲ回路３６ａの出力は、ＮＯＲ回路３４ａの出力に基づきタイミングＴ２３からタイミングＴ２４の期間にロウレベルとなる。また、ＡＮＤ回路３４ｂの出力とＮＯＲ回路３５ｂの出力を受けるＯＲ回路３６ｂの出力は、ＮＯＲ回路３４ｂの出力に基づきタイミングＴ２３からタイミングＴ２４の期間にハイレベルとなる。そして、ＯＲ回路３６ａ、３６ｂの出力がタイミングＴ２３からタイミングＴ２４の期間に共にハイレベルとなるため、この期間にＡＮＤ回路３７が出力するエッジ検出信号がハイレベルとなる。
【００３９】
上記説明のように、エッジ検出部３１が出力するエッジ検出信号は、第１のテスト結果信号Ｓ１のエッジと第２のテスト結果信号Ｓ２のエッジとが同期している場合に、テスト結果信号のエッジに同期した立ち上がりエッジを有するエッジ検出信号を出力する。そして、遅延調整部３２は、エッジ検出信号により第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２とが同期していることを認識すると第２のテスト結果信号Ｓ２を遅延させた第２のテスト結果信号Ｓ６を出力する。
【００４０】
また、参考例として、第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２とが同期していない場合のエッジ検出部３１の動作を示すタイミングチャートを図８に示す。図８では、被テスト回路１３ａ、１３ｂが非同期関係の独立した動作クロックにより動作している場合に出力される第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２とを扱う例を示す。なお、図８では、エッジ検出部３１内の各ゲート回路の動作は、図７で説明した動作となるためここでは説明を省略する。
【００４１】
図８に示す例では、タイミングＴ３１〜タイミングＴ３２においてＯＲ回路３６ａにより第１のテスト結果信号Ｓ１のエッジが検出されても、ＯＲ回路３６ｂが第２のテスト結果信号Ｓ２のエッジを検出しないため、エッジ検出信号はロウレベルを維持する。タイミングＴ３３〜タイミングＴ３４においてＯＲ回路３６ｂにより第２のテスト結果信号Ｓ２のエッジが検出されても、ＯＲ回路３６ａが第１のテスト結果信号Ｓ１のエッジを検出しないため、エッジ検出信号はロウレベルを維持する。なお、タイミングＴ３５〜タイミングＴ３６の期間においても、タイミングＴ３１〜タイミングＴ３２と同様にエッジ検出信号はロウレベルを維持する。また、タイミングＴ３７〜タイミングＴ３８の期間においても、タイミングＴ３３〜タイミングＴ３４と同様にエッジ検出信号はロウレベルを維持する。
【００４２】
図８に示す例の場合、遅延調整部３２は、エッジ検出信号により第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２とが同期していることを認識できないため第２のテスト結果信号Ｓ２を遅延させることなく第２のテスト結果信号Ｓ６として出力する。
【００４３】
なお、図６においては図示を省略したが、第１のテスト結果信号Ｓ１を第１のテスト結果信号Ｓ５として伝搬する経路上のエッジ検出部３１との接続点よりも先の箇所に、第１の遅延回路を挿入することが望ましい。また、同様に、第２のテスト結果信号Ｓ２を第２のテスト結果信号Ｓ６として伝搬する経路上のエッジ検出部３１との接続点よりも先であって遅延調整部３２よりも前の箇所に第２の遅延回路を挿入することが望ましい。このとき第１、第２の遅延回路は同じ遅延時間を信号に付加する。エッジ検出部３１及び遅延調整部３２を用いた遅延時間の切り替えには回路動作の遅延を伴う。そこで、エッジ検出部３１と遅延調整部３２で生じる遅延時間以上の遅延時間を有する第１、第２の遅延回路を挿入する。エッジ検出部３１が、第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２のエッジの同期を検出していない場合、遅延調整部３２は、第２のテスト結果信号Ｓ２をそのままＳ６として出力する。この場合、第１のテスト結果信号Ｓ５は、第１のテスト結果信号Ｓ１を第１の遅延回路の遅延時間分だけ遅延した信号となり、第２のテスト結果信号Ｓ６は、第２のテスト結果信号Ｓ２を第２の遅延回路の遅延時間分だけ遅延した信号となる。エッジ検出部３１が、第１のテスト結果信号Ｓ１と第２のテスト結果信号Ｓ２のエッジの同期を検出した場合、遅延調整部３２は、第２のテスト結果信号Ｓ２を第２の遅延回路の遅延分だけ遅延した信号に対し、更に遅延を付加する。この場合、第２のテスト結果信号Ｓ６は、第２のテスト結果信号Ｓ２を第２の遅延回路より遅延させ、更に遅延調整部３２により遅延させられた信号、すなわち、第１のテスト結果信号Ｓ５の信号に対して遅延調整部３２より付加した遅延時間分だけ遅延した信号となる。また、トリガ信号ＳＴを入力するタイミングも、第１、第２の遅延回路により生じる遅延時間を考慮して設定することが好ましい。
【００４４】
上記説明より、実施の形態３にかかるテスト回路３では、第１のテスト結果信号Ｓ１の立ち上がりエッジと第２のテスト結果信号Ｓ２の立ち上がりエッジとが同期した場合に第２のテスト結果信号Ｓ２を遅延させる。これにより、テスト回路３では、第１のテスト結果信号Ｓ１の立ち上がりエッジと第２のテスト結果信号Ｓ２の立ち上がりエッジとが同期した場合における第１のテスト結果信号Ｓ５の位相と第２のテスト結果信号Ｓ６の位相との関係がテスト回路１と同じになる。つまり、実施の形態３では、合成回路１５に入力されるテスト結果信号が常に位相差を有するものではなく、第１のテスト結果信号の論理値と第２のテスト結果信号の論理値とが同じになる場合に２つのテスト結果信号との間に位相を設ける。これにより、テスト回路３では、２つの被テスト回路からのテスト結果信号を個別に判定できる合成テスト結果信号を生成する。
【００４５】
実施の形態４
実施の形態４は、実施の形態１における合成テスト結果信号の判定方法の変形例を示すものである。実施の形態１では、合成テスト結果信号は、テスト結果に応じた波形信号であるため、読み出しに波形の長さに相当する時間が必要である。これに対して、実施の形態４では、合成テスト結果信号においてハイレベルが検出された区間の数を算出し、その算出結果をテスト結果とする。
【００４６】
具体例を示すために、図９に被テスト回路１３ａ、１３ｂのいずれにも不具合がなかった場合のテスト動作のタイミングチャートを示す（実施の形態１において説明した図２の動作に対応したタイミングチャート）。また、図１０に被テスト回路１３ｂに不具合があった場合のテスト動作のタイミングチャートを示す（実施の形態１において説明した図３の動作に対応したタイミングチャート）。
【００４７】
図９及び図１０に示すように、実施の形態４におけるテスト結果は、記憶部１７に格納される合成テスト結果信号の論理値をトリガ信号ＳＴの立ち上がりエッジの毎に積算（カウント）したものである。そのため、図９に示す不具合のない例では、タイミングＴ４４（図２のタイミングＴ４に相当するタイミング）においてテスト結果データは"２"となる。一方、図１０に示す不具合のある例では、タイミングＴ５４（図３のタイミングＴ１４に相当するタイミング）においてテスト結果データは"３"となる。このとき、期待値は、タイミングＴ４４又はＴ５４において２であるため、図１０に示す例は、不具合が発生していると判定される。
【００４８】
このように、テスト結果を合成テスト結果信号の波形データではなく、波形データから読み取れるデータとすることで、テスト結果を実質的に圧縮することができる。このような圧縮したテスト結果データを読み出すことで、テスト結果の読み出しを一のタイミングで行うことができるため、テスト結果の読み出し時間を短縮することができる。
【００４９】
このデータの圧縮は、記憶部１７に格納する前の段階で行っても良く、また、ＭＰＵ１０の読み出し動作に応じて行っても良い。図９、図１０で示した例は、ＭＰＵ１０の読み出し動作と共にデータ圧縮を行い、圧縮データをメモリ１１に格納したものである。
【００５０】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、合成回路１５は排他的論理和回路ではなく、他の合成アルゴリズムを適用することも可能である。
【図面の簡単な説明】
【００５１】
【図１】実施の形態１にかかる半導体装置のブロック図である。
【図２】実施の形態１にかかるテスト回路の動作を示すタイミングチャートである。
【図３】実施の形態１にかかるテスト回路の動作を示すタイミングチャートである。
【図４】実施の形態２にかかる半導体装置のブロック図である。
【図５】実施の形態３にかかる半導体装置のブロック図である。
【図６】実施の形態３にかかるブロック間遅延生成回路のブロック図である。
【図７】実施の形態３にかかるエッジ検出部に同期したテスト結果信号が入力された場合のタイミングチャートの一例である。
【図８】実施の形態３にかかるエッジ検出部に非同期のテスト結果信号が入力された場合のタイミングチャートの一例である。
【図９】実施の形態４にかかるテスト回路の動作を示すタイミングチャートである。
【図１０】実施の形態４にかかるテスト回路の動作を示すタイミングチャートである。
【符号の説明】
【００５２】
１〜３    テスト回路
１０    ＭＰＵ
１１    メモリ
１２    入出力ポート
１３ａ、１３ｂ    被テスト回路
１４、２１、３０    ブロック間遅延生成回路
１５    合成回路
１６    テスト結果保持回路
１７    記憶部
１８    タイミング調整部
２０    クロック生成回路
２２    遅延回路
３１    エッジ検出部
３２    遅延調整部
３３ａ、３３ｂ    インバータ
３４ａ、３４ｂ、３７    ＡＮＤ回路
３５ａ、３５ｂ    ＮＯＲ回路
３６ａ、３６ｂ    ＯＲ回路
ＣＬＫ、ＣＬＫａ、ＣＬＫｂ    動作クロック
Ｓ１〜Ｓ６    テスト結果信号
ＳＴ    トリガ信号
【図１】
2010060314.tif 000003
【図２】
2010060314.tif 000004
【図３】
2010060314.tif 000005
【図４】
2010060314.tif 000006
【図５】
2010060314.tif 000007
【図６】
2010060314.tif 000008
【図７】
2010060314.tif 000009
【図８】
2010060314.tif 000010
【図９】
2010060314.tif 000011
【図１０】
2010060314.tif 000012
【手続補正書】
【提出日】平成21年5月1日(2009.5.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
テスト命令に従ってテストした結果を第１のテスト結果信号として出力する第1の被テスト回路及び第２のテスト結果信号として出力する第２の被テスト回路と、
前記第１のテスト結果信号の変化点と前記第２のテスト結果信号の変化点とをずらすために、前記第２のテスト結果信号の出力先に接続されるブロック間遅延生成回路と、
前記第１のテスト結果信号と前記ブロック間遅延生成回路の出力信号とを合成する合成回路と、
前記合成回路が出力する合成テスト結果信号を所定のタイミング毎に保持するテスト結果保持回路と、
を有するテスト回路。
【請求項２】
前記ブロック間遅延生成回路は、前記第２のテスト結果信号を前記第１のテスト結果信号よりも遅延させて出力する請求項１に記載のテスト回路。
【請求項３】
前記ブロック間遅延生成回路は、前記第１のテスト結果信号の立ち上がり又は立ち下がりエッジが前記第２のテスト結果信号の立ち上がりエッジ又は立ち下がりエッジと同期していた場合に、前記第２のテスト結果信号を遅延させて出力する請求項１又は２に記載のテスト回路。
【請求項４】
前記テスト結果保持回路は、前記所定のタイミング毎に前記合成テスト結果信号の論理値をカウントし、カウント値を保持する請求項１乃至３のいずれか１項に記載のテスト回路。
【請求項５】
前記合成回路は、前記第１のテスト結果信号と前記ブロック間遅延生成回路の出力信号との排他的論理和を前記合成テスト結果信号として出力する請求項１乃至４のいずれか１項に記載のテスト回路。
【請求項６】
前記第１、第２の被テスト回路は、同一のテスト命令により同一のテスト結果信号を出力する請求項１乃至５のいずれか１項に記載のテスト回路。
【請求項７】
前記テスト命令は、前記第１、第２の被テスト回路と接続された演算部から出力される請求項１乃至６のいずれか１項に記載のテスト回路。
【請求項８】
前記第１、第２の被テスト回路は、スキャンチェーン回路を用いた回路とは別に設けられる回路である請求項１乃至７のいずれか１項に記載のテスト回路。
【請求項９】
プロセッサと、
前記プロセッサからのテスト命令に従ってテストした結果を第１のテスト結果信号として出力する第１の論理回路及び第２のテスト結果信号として出力する第２の論理回路と、
前記第１のテスト結果信号の変化点と前記第２のテスト結果信号の変化点とをずらすために、前記第２のテスト結果信号の出力先に接続されるブロック間遅延生成回路と、
前記第１のテスト結果信号と前記ブロック間遅延生成回路の出力信号とを合成する合成回路と、
前記合成回路が出力する合成テスト結果信号を所定のタイミング毎に保持するテスト結果保持回路と、
を有する半導体集積回路。
【請求項１０】
前記ブロック間遅延生成回路は、前記第１のテスト結果信号の立ち上がり又は立ち下がりエッジが前記第２のテスト結果信号の立ち上がりエッジ又は立ち下がりエッジと同期していた場合に、前記第２のテスト結果信号を遅延させて出力する請求項９に記載の半導体集積回路。