(57)【要約】【課題】  スキャン分離テストによって、２つの回路ブロック間の信号経路をテストすることができるＬＳＩを提供する。【解決方法】  各信号経路の途中に設けられたスキャン分離回路３０は、回路ブロック１０Ａからの信号ＳＡと保持信号Ｓ３３を切り替えて信号Ｓ３１として回路ブロック１０Ｂに出力するセレクタ３１と、この信号Ｓ３１と外部からの信号Ｓinまたは前段の信号Ｓ３３の内のいずれか一方を選択するセレクタ３２を有している。更に、セレクタ３２の出力側にはＦＦ３３が接続され、このＦＦ３３で保持された保持信号Ｓ３３が、セレクタ３１と後段のスキャン分離回路へ与えられる。テスト時に、信号ＳＡはセレクタ３１，３２を介してＦＦ３３に保持されるので、回路ブロック１０Ａ，１０Ｂ間の信号経路がテストできる。【選択図】    図１
2005189230.tif 000002
【特許請求の範囲】
【請求項１】
第１の回路ブロック及び第２の回路ブロックと、通常動作時には前記第１の回路ブロックと前記第２の回路ブロックとの間で信号の受け渡しを行い、テスト動作時には該第１の回路ブロックと該第２の回路ブロックを切り分けるスキャン分離ブロックとを備えた半導体集積回路であって、
前記スキャン分離ブロックは、クロックに同期して信号を保持する第１の保持回路と、前記第１の回路ブロックから出力される信号と前記第１の保持回路から出力される第１のテスト信号の一方を選択する第１のセレクタとを有し、該第１のセレクタが前記第２の回路ブロックと該第１の保持回路の間に接続され、かつ該第１のセレクタの出力が該第１の保持回路に入力されている第１のスキャン分離回路を備えたことを特徴とする半導体集積回路。
【請求項２】
クロックに同期して信号を保持する第２の保持回路と、前記第２の回路ブロックから出力される信号と前記第２の保持回路から出力される第２のテスト信号の一方を選択する第２のセレクタとを有し、該第２のセレクタが前記第１の回路ブロックと前記第２の保持回路の間に接続され、かつ該第２のセレクタの出力が該第２の保持回路に入力されている第２のスキャン分離回路を備えたことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記第１のスキャン分離回路と前記第２のスキャン分離回路は多段に接続され、前段の第１のスキャン分離回路の第１のテスト信号または第２のスキャン分離回路の第２のテスト信号が、次段の第１のスキャン分離回路または第２のスキャン分離回路に入力されることを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記第１のスキャン分離回路と前記第２のスキャン分離回路は、前記第１のセレクタまたは前記第２のセレクタの出力と前段から出力される第１のテスト信号または第２のテスト信号を選択して前記第１の保持回路または前記第２の保持回路に出力する第３のセレクタを備えたことを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
前記第１のセレクタは、更に第３のテスト信号を入力とし、該第３のテスト信号、前記第１の回路から出力される信号、及び前記第１の保持回路から出力される前記第１のテスト信号の内の１つを選択して出力することを特徴とする請求項１に記載の半導体集積回路。
【請求項６】
前記第１のテスト信号は、入力した信号を１／２周期遅延させて出力する第３の保持回路を介して第１のセレクタに入力されることを特徴とする請求項５に記載の半導体集積回路。
【請求項７】
第１のセレクタ、前記第１の保持回路、及び第３の保持回路は、制御部によって制御されていることを特徴とする請求項６に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャンテスト機能を備えた半導体集積回路に関するものである。
【背景技術】
【０００２】
【特許文献１】特開２００２−２９６３２３号公報
【特許文献２】特開平６−１０２３１６号公報
【特許文献３】特開２０００−３１０６７１号公報
【特許文献４】特開２００３−３４４５０４号公報
【０００３】
複雑な機能を備えた大規模な半導体集積回路（以下、「ＬＳＩ」という）では、製造時における製品の選別テストのために、予めテスト回路（スキャンパスとスキャンパス・レジスタ）を組み込んだＬＳＩが一般的に用いられる。
【０００４】
図２は、１本のスキャンパス・レジスタを備えたＬＳＩの概略の構成図である。
このＬＳＩは、入力端子から入力データＤＩ1 〜ＤＩx が与えられて、中間信号ＳＡ1 〜ＳＡm を出力する入力側の組合わせ回路１Ａ、中間信号Ｓ２1 〜Ｓ２m が与えられて中間信号ＳＢ1 〜ＳＢn を出力する中間の組合わせ回路１Ｂ、及び中間信号Ｓ３1 〜Ｓ３n が与えられて出力端子に出力データＤＯ1 〜ＤＯy を出力する出力側の組合わせ回路１Ｃを有している。また、組合わせ回路１Ａと組合わせ回路１Ｂの間のｍ本の信号線は、それぞれスキャンパス・レジスタ（ＳＰＲ）２-1〜２-mを介して接続され、組合わせ回路１Ｂと組合わせ回路１Ｃの間のｎ本の信号線は、それぞれスキャンパス・レジスタ３-1〜３-nを介して接続されている。
【０００５】
各スキャンパス・レジスタ２-1〜２-m，３-1〜３-nは、いずれも同一の構成で、第１及び第２の信号を選択するセレクタと、このセレクタで選択された信号をクロック信号に従って保持出力するフリップ・フロップ（以下、「ＦＦ」という）で構成されている。
【０００６】
スキャンパス・レジスタ２-1は、セレクタの第１の入力側に、組合わせ回路１Ａから中間信号ＳＡ1 が与えられるようになっている。また、スキャンパス・レジスタ２-1のセレクタの第２の入力側は、スキャン入力端子に接続されて信号Ｓinが与えられるようになっている。更に、このスキャンパス・レジスタ２-1のＦＦから出力される信号が、中間信号Ｓ２1 として組合わせ回路１Ｂに与えられると共に、スキャンパスを介して後段のスキャンパス・レジスタ２-2のセレクタの第２の入力側に与えられるようになっている。
【０００７】
以下、スキャンパス・レジスタ２-i（但し、ｉ＝２〜ｍ）のセレクタの第１の入力側に、組合わせ回路１Ａから中間信号ＳＡi が与えられ、このセレクタの第２の入力側には、前段のスキャンパス・レジスタ２-(i-1)のＦＦから出力される中間信号Ｓ２i-1 が与えられるようになっている。
【０００８】
また、スキャンパス・レジスタ３-1は、セレクタの第１の入力側に、組合わせ回路１Ｂの中間信号ＳＢ1 が与えられ、このセレクタの第２の入力側には、スキャンパス・レジスタ２- ｍのＦＦから中間信号Ｓ２m が与えられるようになっている。以下、スキャンパス・レジスタ３-j（但し、ｊ＝２〜ｎ）のセレクタの第１の入力側に、組合わせ回路１Ｂから中間信号ＳＢj が与えられ、このセレクタの第２の入力側には、スキャンパス・レジスタ３-(j-1)のＦＦから出力される中間信号Ｓ２j-1 が与えられるようになっている。
【０００９】
そして、スキャンパス・レジスタ３-nのＦＦの出力側は、スキャン出力端子に接続されて信号Ｓout が出力されるようになっている。
【００１０】
このようなスキャンパス・レジスタを備えたＬＳＩでは、予め組み込まれたスキャンパス・レジスタを用いて、次のような手順で製造テストが行われる。
【００１１】
（１）  シリアル入力動作
図示しない制御信号によって、スキャンパス・レジスタ２-1〜２-m，３-1〜３-nのセレクタをすべて第２の入力側に切り替える。これにより、すべてのスキャンパス・レジスタ２-1〜２-m，３-1〜３-nが縦続接続され、ｍ＋ｎ段のシフトレジスタが構成される。ここで、各スキャンパス・レジスタ２-1〜２-m，３-1〜３-nのＦＦに共通のクロック信号を与えると共に、このクロック信号に同期してスキャン入力端子からテストパターンの信号Ｓinを直列に入力する。これにより、各スキャンパス・レジスタ２-1〜２-m，３-1〜３-nにテストパターンが保持される。
【００１２】
（２）  パラレル動作
シリアル入力で保持されたテストパターンは、組合わせ回路１Ｂ，１Ｃにテスト信号として与えられる。一方、組合わせ回路１Ａには、入力端子から入力データＤＩ1 〜ＤＩx としてテストパターンが並列に与えられる。そして、各組合わせ回路１Ａ，１Ｂ，１Ｃの出力側には、入力されたテストパターンに応じた信号が並列に出力される。
【００１３】
この時、スキャンパス・レジスタ２-1〜２-m，３-1〜３-nのセレクタをすべて第１の入力側に切り替えられており、それぞれ対応するスキャンパス・レジスタ２-1〜２-m，３-1〜３-nのＦＦの入力側に与えられる。次に、各ＦＦに共通のクロック信号を与えることにより、組合わせ回路１Ａ，１Ｂから並列に出力された信号が、対応するＦＦに保持される。一方、組合わせ回路１Ｃの出力信号は、出力データＤＯ1 〜ＤＯy として出力端子から並列に出力される。
【００１４】
（３）  シリアル出力動作
組合わせ回路１Ａ，１Ｂから並列に出力された信号が、対応するＦＦに保持された後、スキャンパス・レジスタ２-1〜２-m，３-1〜３-nのセレクタを再び第２の入力側に切り替え、ｍ＋ｎ段のシフトレジスタを構成する。そして、各スキャンパス・レジスタ２-1〜２-m，３-1〜３-nのＦＦに共通のクロック信号を与える。これにより、各スキャンパス・レジスタ２-1〜２-m，３-1〜３-nのＦＦに保持されていたデータが、クロック信号に同期してスキャン出力端子から直列に出力される。
【００１５】
（４）  比較判定動作
各組合わせ回路１Ａ，１Ｂ，１Ｃの回路構成情報に基づいて、予め設定されたテストパターンに対応して出力されるべき出力データの期待値と、実際にシリアル出力動作によって直列に出力されたデータ、及び（２）の出力データＤＯ1 〜ＤＯy とを比較する。実際に出力されたデータが期待値と一致すれば、そのテストパターンに対する機能は正常と判定する。テスト対象の機能に応じて複数のテストパターンを準備しておき、すべてのテストパターンに対して期待値通りのデータが得られれば、このＬＳＩは正常と判定する。
【００１６】
このようなテスト回路を用いて機能試験を行うには、予め各組合わせ回路１Ａ，１Ｂ，１Ｃに関して、ネットリスト等の具体的な回路構成情報を使用し、各種の機能試験に対応したテストパターンとその期待値を準備しておく必要がある。
【００１７】
しかしながら、例えばＡ社が他のＢ社のライセンスを受けて、特定の組合わせ回路を組み込んだＬＳＩを製造する場合、その特定の組合わせ回路に対応する具体的な回路構成情報が得られない場合がある。このような場合、特定の組合わせ回路と、その他の組合わせ回路を分離してテストするために、スキャン分離ブロックが設けられる。
【００１８】
図３は、従来のスキャン分離ブロックを備えたＬＳＩの概略の構成図である。
このＬＳＩは、回路ブロック１０Ａ，１０Ｂと、これらの間を接続する各信号ＳＡ１〜ＳＡｎ毎に設けられた複数のスキャン分離回路２０-1〜２０-nで構成されるスキャン分離ブロックを有している。各スキャン分離回路２０-1〜２０-nは、いずれも同一の構成で、３個のセレクタ２１，２２，２３と１個のＦＦ２４で構成されている。
【００１９】
例えば、スキャン分離回路２０-1では、回路ブロック１０Ａからの信号ＳＡ1 が、セレクタ２１，２２の入力端子Ａに与えられ、このセレクタ２１の出力端子から回路ブロック１０Ｂに対する信号Ｓ２1 が出力されるようになっている。セレクタ２２の出力端子は、セレクタ２３の入力端子Ｂに接続され、このセレクタ２３の入力端子Ａには、図示しないスキャン入力端子からの直列信号Ｓinが与えられるようになっている。セレクタ２３の出力端子は、ＦＦ２４の入力端子Ｄに接続されている。ＦＦ２４の出力端子は、セレクタ２１，２２の入力端子Ｂに接続されると共に、次段のスキャン分離回路２０-2のセレクタ２３の入力端子Ａに、直列信号として与えられるようになっている。
【００２０】
また、最終段のスキャン分離回路２０-nにおけるＦＦ２４の出力端子は、セレクタ２１，２２の入力端子Ｂに接続されると共に、スキャン出力端子から直列信号Ｓout として出力されるようになっている。
【００２１】
このようなスキャン分離ブロックを備えたＬＳＩでは、各セレクタ２１を入力端子Ａ側に設定する通常動作のほか、次のような製造テストが行われる。
【００２２】
（１）  回路ブロック１０Ａのテスト
回路ブロック１０Ａの図示しない入力側に、前述のような並列の入力端子またはスキャンパス・レジスタからテストパターンを与える。また、各スキャン分離回路２０-1〜２０-nのセレクタ２２，２３を、それぞれ入力端子Ａ、入力端子Ｂ側に切り替える。これにより、回路ブロック１０Ａから出力される信号ＳＡ１〜ＳＡｎは、各スキャン分離回路２０-1〜２０-nのＦＦ２４の入力端子Ｄに与えられる。この状態で、各ＦＦ２４に共通のクロック信号を与えることにより、回路ブロック１０Ａから並列に出力された信号ＳＡ１〜ＳＡｎが、対応するＦＦ２４に保持される。
【００２３】
次に、各スキャン分離回路２０-1〜２０-nのセレクタ２３を、入力端子Ａ側に切り替える。これにより、各スキャン分離回路２０-1〜２０-nのＦＦ２４が縦続接続されて、ｎ段のシフトレジスタが構成される。そして、各スキャン分離回路２０-1〜２０-nのＦＦ２４に、共通のクロック信号を与える。これにより、各ＦＦ２４に保持されていたデータが、クロック信号に同期してスキャン出力端子から直列信号Ｓout として出力される。
【００２４】
テストパターンに対応して回路ブロック１０Ａから出力される出力データの期待値と、実際に直列信号Ｓout として出力されたデータとを比較し、この回路ブロック１０Ａの機能が正常か否かを判定する。
【００２５】
（２）  回路ブロック１０Ｂのテスト
各スキャン分離回路２０-1〜２０-nのセレクタ２３を、入力端子Ａ側に切り替える。これにより、各スキャン分離回路２０-1〜２０-nのＦＦ２４が縦続接続されて、ｎ段のシフトレジスタが構成される。そして、各スキャン分離回路２０-1〜２０-nのＦＦ２４に、共通のクロック信号を与えると共に、このクロック信号に同期してスキャン入力端子からテストパターンの直列信号Ｓinを入力する。これにより、各スキャン分離回路２０-1〜２０-nのＦＦ２４にテストパターンが保持される。
【００２６】
次に、スキャン分離回路２０-1〜２０-nのセレクタ２１，２２，２３を、入力端子Ｂ側に切り替える。これにより、各ＦＦ２４に保持されたテストパターンが、回路ブロック１０Ｂの入力側に並列に与えられる。
【００２７】
与えられたテストパターンに応じて、回路ブロック１０Ｂの図示しない出力側から並列に出力される信号は、前述のような並列の出力端子またはスキャンパス・レジスタによって読み出される。そして、テストパターンに対応して回路ブロック１０Ｂから出力される出力データの期待値と、実際に出力されたデータとを比較し、この回路ブロック１０Ｂの機能が正常か否かを判定する。
【発明の開示】
【発明が解決しようとする課題】
【００２８】
しかしながら、従来のスキャン分離回路２０を備えたＬＳＩにおける回路ブロック１０Ａ，１０Ｂのテストでは、各スキャン分離回路２０のセレクタ２１の入力端子Ａを通る信号経路のテストが行われない。このため、回路ブロック１０Ａ，１０Ｂのテストで、スキャン分離回路２０のセレクタ２１の入力端子Ａを通る信号経路の不良を発見することができず、テストで正常と判定されて実際の装置に組み込んだ後で、正常に動作しない場合が発生するという課題があった。
更に、各スキャン分離ブロック２０内のＦＦと回路ブロック１０Ａ，１０Ｂ内のＦＦ間においてクロックスキューが発生する場合は、ホールド対策が必要となり、場合によってはスキャン分離回路２０における通常動作時の信号経路にホールド対策用のバッファ等が挿入され、通常動作時の消費電力の増大及び速度低下が発生してしまうという課題があった。
【課題を解決するための手段】
【００２９】
本発明は、第１の回路ブロック及び第２の回路ブロックと、通常動作時には前記第１の回路ブロックと前記第２の回路ブロックとの間で信号の受け渡しを行い、テスト動作時には該第１の回路ブロックと該第２の回路ブロックを切り分けるスキャン分離ブロックとを備えた半導体集積回路において、前記スキャン分離ブロックは、クロックに同期して信号を保持する第１の保持回路と、前記第１の回路ブロックから出力される信号と前記第１の保持回路から出力される第１のテスト信号の一方を選択する第１のセレクタとを有し、該第１のセレクタが前記第２の回路ブロックと該第１の保持回路の間に接続され、かつ該第１のセレクタの出力が該第１の保持回路に入力されている第１のスキャン分離回路を備えたことを特徴としている。
【発明の効果】
【００３０】
本発明のＬＳＩは、セレクタで選択されて他方の回路ブロックへ出力される信号を保持する保持回路を有するスキャン分離回路を備えているので、一方の回路ブロックから他方の回路ブロックへの信号経路を、スキャンテストによってテストすることができるという効果がある。
【発明を実施するための最良の形態】
【００３１】
回路ブロックＡ，Ｂ間を接続する各信号線の途中に、通常動作時には該回路ブロックＡ，Ｂ間を接続し、テスト動作時にはこれらの回路ブロックＡ，Ｂを切り分けてテストを行うスキャン分離回路を、次のように構成する。
【００３２】
即ち、スキャン分離回路には、回路ブロックＡ，Ｂの一方から出力される信号とテスト用の保持信号との内のいずれか一方を選択して他方の回路ブロックに与える第１セレクタと、外部入力端子から与えられるテスト信号または前段のスキャン分離回路の保持信号とこの第１セレクタから出力される信号との内のいずれか一方を選択して出力する第２セレクタを備える。更に、このスキャン分離回路に、クロック信号に応じて第２セレクタの出力信号を保持して保持信号として第１セレクタに与えると共に、この保持信号を後段のスキャン分離回路の第２セレクタまたは外部出力端子に出力する保持回路を設ける。
【実施例１】
【００３３】
図１は、本発明の実施例１を示すスキャン分離ブロックを備えたＬＳＩの概略の構成図
である。
【００３４】
このＬＳＩは、回路ブロック１０Ａ，１０Ｂと、これらの間を接続するスキャン分離ブロックを有している。このスキャン分離ブロックは、回路ブロック１０Ａから回路ブロック１０Ｂへ出力される各信号ＳＡ１〜ＳＡｍ毎に設けられた複数のスキャン分離回路３０-1〜３０-mと、回路ブロック１０Ｂから回路ブロック１０Ａへ出力される各信号ＳＢ１〜ＳＢｎ毎に設けられた複数のスキャン分離回路４０-1〜４０-nで構成されている。
【００３５】
各スキャン分離回路３０-1〜３０-mは、いずれも同一の構成で、２個のセレクタ３１，３２と１個のＦＦ３３で構成されている。
【００３６】
例えば、スキャン分離回路３０-1では、回路ブロック１０Ａからの信号ＳＡ1 が、セレクタ３１の入力端子Ａに与えられ、このセレクタ３１の出力端子から回路ブロック１０Ｂに対する信号Ｓ３1 が出力されるようになっている。更に、信号Ｓ３1 は、セレクタ３２の入力端子Ｂに与えられ、このセレクタ３２の入力端子Ａには、スキャン入力端子から直列信号ＳＡinが与えられるようになっている。セレクタ３２の出力端子は、ＦＦ３３の入力端子Ｄに接続されている。ＦＦ３３の出力端子は、セレクタ３１の入力端子Ｂに接続されると共に、次段のスキャン分離回路３０-2のセレクタ３２の入力端子Ａに、直列信号として与えられるようになっている。
【００３７】
また、最終段のスキャン分離回路３０-mにおけるＦＦ３３の出力端子は、セレクタ３１の入力端子Ｂに接続されると共に、スキャン出力端子に接続されて直列信号ＳＡout が出力されるようになっている。
【００３８】
各スキャン分離回路４０-1〜４０-nも、スキャン分離回路３０と同様の回路構成であり、２個のセレクタ４１，４２と１個のＦＦ４３で構成されている。これらのスキャン分離回路４０-1〜４０-nも、スキャン分離回路３０-1〜３０-mと同様に縦続接続され、初段のスキャン分離回路４０-1にはスキャン入力端子からの直列信号ＳＢinが与えられ、最終段のスキャン分離回路４０-nは、スキャン出力端子に接続されて直列信号ＳＢout が出力されるようになっている。
【００３９】
次に、このようなスキャン分離ブロックを備えたＬＳＩの動作を説明する。
（１）  通常動作
各スキャン分離回路３０-1〜３０-mのセレクタ３１と各スキャン分離回路４０-1〜４０-nのセレクタ４１を、入力端子Ａ側に切り替える。これにより、回路ブロック１０Ａから出力された信号ＳＡ１〜ＳＡｍは、それぞれスキャン分離回路３０-1〜３０-mのセレクタ３１を通して、回路ブロック１０Ｂへ信号Ｓ３1 〜Ｓ３m として与えられる。また、回路ブロック１０Ｂから出力された信号ＳＢ１〜ＳＢｎは、それぞれスキャン分離回路４０-1〜４０-nのセレクタ４１を通して、回路ブロック１０Ａへ信号Ｓ４1 〜Ｓ４n として与えられる。
【００４０】
（２）  回路ブロック１０Ａのテスト
回路ブロック１０Ａの図示しない入力側に、テストパターンを与える。
また、各スキャン分離回路４０-1〜４０-nのセレクタ４２を、入力端子Ａ側に切り替える。これにより、各スキャン分離回路４０-1〜４０-nのＦＦ４３が縦続接続されて、ｎ段のシフトレジスタが構成される。そして、各スキャン分離回路４０-1〜４０-nのＦＦ４３に、共通のクロック信号ＣＫＢを与えると共に、このクロック信号ＣＫＢに同期してスキャン入力端子からテストパターンの直列信号ＳＢinを入力する。これにより、各スキャン分離回路４０-1〜４０-nのＦＦ４３にテストパターンが保持される。
【００４１】
次に、スキャン分離回路４０-1〜４０-nのセレクタ４１，４２を、入力端子Ｂ側に切り替える。これにより、各ＦＦ４３に保持されたテストパターンが、セレクタ４１を介して回路ブロック１０Ａに並列に与えられる。
【００４２】
これにより、回路ブロック１０Ａでは、すべての入力側に与えられた信号に基づいた動作が行われ、信号ＳＡ１〜ＳＡｍが出力されると共に、図示しない出力端子から出力信号が出力される。
【００４３】
この後、各スキャン分離回路３０-1〜３０-mのセレクタ３１，３２を、それぞれ入力端子Ａ、入力端子Ｂ側に切り替える。これにより、回路ブロック１０Ａから出力される信号ＳＡ１〜ＳＡｍは、各スキャン分離回路３０-1〜３０-mのセレクタ３１，３２を介してＦＦ３３の入力端子Ｄに与えられる。この状態で、各ＦＦ３３に共通のクロック信号ＣＫＡを与えることにより、回路ブロック１０Ａから並列に出力された信号ＳＡ１〜ＳＡｍが、対応するスキャン分離回路３０-1〜３０-mのＦＦ３３に保持される。
【００４４】
次に、各スキャン分離回路３０-1〜３０-mのセレクタ３２を、入力端子Ａ側に切り替える。各スキャン分離回路３０-1〜３０-mのＦＦ３３は、縦続に接続されてｍ段のシフトレジスタが構成される。ここで、各スキャン分離回路３０-1〜３０-mのＦＦ３３に、共通のクロック信号ＣＫＡを与える。これにより、各ＦＦ３３に保持されていたデータが、クロック信号ＣＫＡに同期して直列信号ＳＡout としてスキャン出力端子から出力される。
【００４５】
テストパターンに対応して回路ブロック１０Ａから出力されるべき出力データの期待値と、実際に直列信号ＳＡout として出力されたデータを比較し、この回路ブロック１０Ａの機能が正常か否かを判定する。
【００４６】
（３）  回路ブロック１０Ｂのテスト
回路ブロック１０Ｂは、回路ブロック１０Ａと対称的な構成となっている。従って、（２）とは逆に、スキャン分離回路３０-1〜３０-mから直列信号ＳＡinとしてテストパターンを回路ブロック１０Ｂに入力し、出力される信号ＳＢ１〜ＳＢｎをスキャン分離回路４０-1〜４０-nで直列信号ＳＢout として読み出すことにより、この回路ブロック１０Ｂの機能が正常か否かを判定することができる。
【００４７】
以上のように、この実施例１の各スキャン分離回路３０-i（４０-j）は、回路ブロック１０Ａ（１０Ｂ）から出力される信号ＳＡi （ＳＢj ）とテスト用の信号を切り替えて回路ブロック１０Ｂ（１０Ａ）に与えるセレクタ３１（４１）と、このセレクタ３１（４１）の出力信号をテスト用の直列信号と切り替えるセレクタ３２（４２）と、このセレクタ３２（４２）から出力される信号を保持して前記セレクタ３１（４１）に与えると共に、テスト用の直列信号として出力するＦＦ３３（４３）を有している。これにより、回路ブロック１０Ａ，１０Ｂのテストにおいて、すべての信号経路を通過する信号をテストすることが可能になり、信号経路のテスト漏れのために装置へ実装した後でＬＳＩの異常が判明するおそれが少ないという利点がある。
【００４８】
更に、このスキャン分離回路３０，４０は、図３のスキャン分離回路２０に比べてセレクタが１つ少ないので、パターン面積を約１０％程度減少させることができるという利点がある。
【００４９】
なお、このような構成のスキャン分離回路３０，４０は、テストパターンの一部をマスクして回路ブロックへ並列に出力するような拡張機能を有するスキャン分離回路にも同様に適用可能である。
【実施例２】
【００５０】
図４（ａ），（ｂ）は、本発明の実施例２を示すテスト回路の説明図であり、同図（ａ）は回路構成図、及び同図（ｂ）は同図（ａ）における各動作モードでの制御部６０の入力信号と出力信号の関係を示す対応表である。このテスト回路は、図４（ａ）に示すように、回路ブロック間の信号に対応して設けられるスキャン分離回路５０と、複数のスキャン分離回路５０に対して共通の制御信号を与えるための制御部６０とで構成されている。
【００５１】
スキャン分離回路５０は、セレクタ５１、ラッチ５２，５４、及びＦＦ５３で構成されている。セレクタ５１は、選択信号ＳＥＬ１，ＳＥＬ２，ＳＥＬ３に従って、第３のテスト信号が与えられるスキャン入力端子ＳＩ、前段の回路ブロックから信号が与えられる入力端子Ｄ、またはラッチ５４の出力側を選択して、選択した信号を出力端子Ｑに出力するものである。セレクタ５１の出力側は、更に、ラッチ５２の入力側に接続され、このラッチ５２の出力側はＦＦ５３の入力側に接続されている。ＦＦ５３の出力側はラッチ５４の入力側に接続され、このラッチ５４の出力側が、前記セレクタ５１と共に、スキャン出力端子ＳＯに接続されている。
【００５２】
制御部６０は、モード信号ＭＯＤ、スキャン制御信号ＳＣＮ、キャプチャ信号ＣＡＰ及びクロック信号ＣＬＫに従って、スキャン分離回路５０のセレクタ５１を制御するための選択信号ＳＥＬ１〜ＳＥＬ３、ラッチ５２，５４を制御するための信号ＬＡ１，ＬＡ２、及びＦＦ５３のクロック端子に与える信号ＦＦ１を生成するものである。
【００５３】
ラッチ５２は信号ＬＡ１が“Ｈ”のときに入力側の信号を保持してそのまま出力し、信号ＬＡ１が“Ｌ”になったときには、入力側の信号に拘らず、保持した信号を出力するものである。ラッチ５４は、ラッチ５２とは逆に、制御端子に与えられる信号ＬＡ２が“Ｌ”のときに入力側の信号を保持してそのまま出力し、信号ＬＡ２が“Ｈ”になったときには、入力側の信号に拘らず、保持した信号を出力するように構成されている。一方、ＦＦ５３は信号ＦＦ１の“Ｌ”から“Ｈ”への立上がりのタイミングで入力側の信号を保持して出力するものである。
【００５４】
モード信号ＭＯＤは通常動作と試験動作の動作モードを切り替えるもので、通常動作のときは“Ｌ”、試験動作のときは“Ｈ”を指定するようになっている。またスキャン制御信号ＳＣＮは、試験動作時に直列に入出力動作をするか、並列に入出力動作をするかを制御するものであり、直列の場合に“Ｈ”に設定するようになっている。キャプチャ信号ＣＡＰは、回路ブロックに対して試験パターンを出力するか、回路ブロックからのデータを取り込むかを制御するもので、データを取り込む場合に“Ｈ”に設定するようになっている。
【００５５】
制御部６０は、図４（ｂ）に示すように、通常動作モードを設定するためにモード信号ＭＯＤを“Ｌ”にすると、キャプチャ信号ＣＡＰとスキャン制御信号ＳＣＮのレベルに拘らず、選択信号ＳＥＬ２を出力すると共に、信号ＬＡ１，ＬＡ２，ＦＦ１にそれぞれ、“Ｌ”，“Ｈ”，“Ｌ”を出力する。
【００５６】
試験動作モードはモード信号ＭＯＤを“Ｈ”にすることによって設定されるが、キャプチャ信号ＣＡＰとスキャン制御信号ＳＣＮの組み合わせにより、シリアル入力動作、パラレル出力動作、パラレル入力動作及びシリアル出力動作の４種類の動作が指定される。
【００５７】
シリアル入力動作は、キャプチャ信号ＣＡＰを“Ｌ”、スキャン制御信号ＳＣＮを“Ｈ”に設定することによって指定され、選択信号ＳＥＬ１が出力されると共に、信号ＬＡ１は“Ｈ”となる。また、信号ＬＡ２，ＦＦ１にはクロック信号ＣＬＫが出力される。
【００５８】
パラレル出力動作は、キャプチャ信号ＣＡＰとスキャン制御信号ＳＣＮを“Ｌ”に設定することによって指定され、選択信号ＳＥＬ３が出力されると共に、信号ＬＡ１は“Ｈ”となる。また、信号ＬＡ２，ＦＦ１にはクロック信号ＣＬＫが出力される。
【００５９】
パラレル入力動作は、キャプチャ信号ＣＡＰを“Ｈ”、スキャン制御信号ＳＣＮを“Ｌ”に設定することによって指定され、選択信号ＳＥＬ２が出力されると共に、信号ＬＡ１，ＬＡ２，ＦＦ１にはクロック信号ＣＬＫが出力される。
【００６０】
シリアル出力動作は、キャプチャ信号ＣＡＰとスキャン制御信号ＳＣＮを“Ｈ”に設定することによって指定され、選択信号ＳＥＬ１が出力されると共に、信号ＬＡ１は“Ｈ”となる。また、信号ＬＡ２，ＦＦ１にはクロック信号ＣＬＫが出力される。
【００６１】
図５は、図４のテスト回路を備えたＬＳＩの構成図である。
このＬＳＩは、図の中央部に示した回路ブロックＡと、図の左右に分割して示した回路ブロックＢを分離してスキャンテストするために、この回路ブロックＡ，Ｂ間を接続する各信号に対してテスト回路を挿入したものである。
【００６２】
回路ブロックＢから回路ブロックＡへ与えられる複数の信号経路に対応して挿入された複数のスキャン分離回路５０１には、共通の制御部６０１から制御信号が与えられ、これらのスキャン分離回路５０１と制御部６０１によって、テスト回路群Iが構成されている。スキャン分離回路５０１のスキャン出力端子ＳＯは、次段のスキャン分離回路５０１のスキャン入力端子ＳＩに接続され、初段のスキャン分離回路５０１のスキャン入力端子ＳＩに供給されるテストパターンを転送できるようになっている。
【００６３】
同様に、回路ブロックＡから回路ブロックＢへ与えられる信号経路に挿入された複数のスキャン分離回路５０２には、共通の制御部６０２から制御信号が与えられ、これらのスキャン分離回路５０２と制御部６０２によって、テスト回路群IIが構成されている。なお、回路ブロックＡ，Ｂは、それぞれ図２のＬＳＩと同様に、スキャンパス・レジスタを備えた回路構成となっている。
【００６４】
図６（ａ），（ｂ）は、図４の試験時の動作を示すタイミングチャートである。以下、図５及び図６を参照しつつ、図４の動作を説明する。なお、ここでは、回路ブロックＡを試験対象として説明する。
【００６５】
（１）  通常動作
通常動作時には、テスト回路群I，IIの各制御部６０１，６０２に与えるモード信号ＭＯＤを“Ｌ”にすると、図４（ｂ）に示すように、選択信号ＳＥＬ２が出力され、各スキャン分離回路５０１，５０２のセレクタ５１では、入力端子Ｄが選択される。これにより、ブロックＢから入力端子Ｄに与えられた入力信号が、出力端子ＱからブロックＡに出力される。また、信号ＬＡ１，ＬＡ２，ＦＦ１は、それぞれ“Ｌ”，“Ｈ”，“Ｌ”に固定され、ラッチ５２，５４とＦＦ５３の動作は停止される。これにより、テスト回路は、回路ブロックＡ，Ｂ間の信号転送に影響を与えない。
【００６６】
（２）  シリアル入力動作
シリアル入力動作では、テスト回路群Iのスキャン分離回路５０１に対して、直列にテストパターンを入力させ、各スキャン分離回路５０１のＦＦ５３にテストパターンを格納する。
【００６７】
図４（ｂ）に示すように、キャプチャ信号ＣＡＰを“Ｌ”、スキャン制御信号ＳＣＮを“Ｈ”に設定することにより、制御部６０１から、選択信号ＳＥＬ１が出力されると共に、信号ＬＡ１は“Ｈ”となる。また、信号ＬＡ２，ＦＦ１にはクロック信号ＣＬＫが出力される。
【００６８】
これにより、図６（ａ）のシリアル入力期間に示すように、ラッチ５２はセレクタ５１から出力される信号をそのまま通過させ、このラッチ５２から出力された信号Ｓ５２をＦＦ５３がクロック信号ＣＬＫの立上がりによって取り込み、更に、このＦＦ５３から出力された信号Ｓ５３が、ラッチ５４によって１／２クロック分遅延させられる。なお、図６（ａ），（ｂ）のタイミングチャートにおいて、信号ＬＡ１，ＬＡ２の太線はスルー状態、細線はホールド状態、信号ＦＦ１の上向きの矢印はデータの取り込みを示している。
【００６９】
このような動作により、スキャン分離回路５０１のスキャン入力端子ＳＩに供給されたテストパターンは、セレクタ５１とラッチ５２を経由してＦＦ５３に格納される。更に、ラッチ５４によって、ＦＦ５３から出力される信号Ｓ５３が１／２クロック分遅延され、スキャン出力端子ＳＯから出力される。次段のスキャン分離回路５０１でも同様の動作が行われる。このように、スキャン出力端子ＳＯから出力するテストパターンを１／２クロック分遅延させることにより、次段のスキャン分離回路に対するホールド違反を防ぐことができる。
【００７０】
このような動作と同時に、回路ブロックＡでは、スキャンパス・レジスタをスキャンモードに設定し、直列にテストパターンを入力してこの回路ブロックＡ内のすべてのＦＦにテストパターンを格納する。
【００７１】
（３）  パラレル出力動作
パラレル出力動作では、直列入力動作でテスト回路群Iの各スキャン分離回路５０１のＦＦ５３に格納したテストパターンを、回路ブロックＡに並列に供給する。
【００７２】
図４（ｂ）に示すように、キャプチャ信号ＣＡＰとスキャン制御信号ＳＣＮを“Ｌ”に設定すると、制御部６０１から、選択信号ＳＥＬ３が出力されると共に、信号ＬＡ１は“Ｈ”となる。また、信号ＬＡ２，ＦＦ１にはクロック信号ＣＬＫが出力される。
【００７３】
これにより、図６（ａ）のパラレル出力期間に示すように、ラッチ５２はセレクタ５１から出力される信号をそのまま通過させ、このラッチ５２から出力された信号Ｓ５２をＦＦ５３がクロック信号ＣＬＫの立上がりによって取り込み、更に、このＦＦ５３から出力された信号Ｓ５３が、ラッチ５４によって１／２クロック分遅延させられる。
【００７４】
このような動作により、各スキャン分離回路５０１に格納されているテストパターンが、ラッチ５４によって１／２クロック分遅延されて、セレクタ５１を経由して出力端子Ｑに出力され、回路ブロックＡの入力端子にテストパターンとして並列に供給される。
【００７５】
回路ブロックＡでは、スキャンパス・レジスタを通常動作モードに設定し、テスト回路群Iの各スキャン分離回路５０１から並列に供給されるテストパターンを、クロック信号の立上がりで、この回路ブロックＡ内のＦＦに取り込む。このように、各スキャン分離回路５０１のスキャン出力端子ＳＯから出力するテストパターンを１／２クロック分遅延させることにより、回路ブロックＡ内のＦＦに取り込む際のホールド違反を防ぐことができる。なお、この動作では、回路ブロックＡの入力端子から組合わせ回路を通り、ＦＦまでの経路に対するテストが可能になる。
【００７６】
これと同時に、シリアル入力動作で回路ブロックＡ内のＦＦに格納されたテストパターンを各ＦＦから出力させて組合わせ回路に与え、この組合わせ回路の出力信号を対応するＦＦに格納する。これにより、回路ブロックＡ内において、ＦＦ間の組合わせ回路をテストすることが可能になる。
【００７７】
（４）  パラレル入力動作
パラレル入力動作では、回路ブロックＡから並列に出力される信号を、テスト回路群IIのスキャン分離回路５０２のＦＦ５３に取り込む。なお、このパラレル入力動作は、テスト回路群Iの並列出力動作と同時に行われる。
【００７８】
図４（ｂ）に示すように、キャプチャ信号ＣＡＰを“Ｈ”、スキャン制御信号ＳＣＮを“Ｌ”に設定すると、制御部６０２から、選択信号ＳＥＬ２が出力されると共に、信号ＬＡ１，ＬＡ２，ＦＦ１にはクロック信号ＣＬＫが出力される。
【００７９】
これにより、図６（ｂ）中のパラレル入力期間に示すように、ラッチ５２はセレクタ５１から出力される信号をクロック信号ＣＬＫが“Ｌ”の期間にホールドし、このラッチ５２から出力された信号Ｓ５２がクロック信号ＣＬＫの立上がりによってＦＦ５３に取り込まれる。更に、ＦＦ５３から出力された信号Ｓ５３は、ラッチ５４によって１／２クロック分遅延されて出力される。
【００８０】
このような動作により、回路ブロックＡから出力された信号は、スキャン分離回路５０２の入力端子Ｄに入力され、セレクタ５１を経由してラッチ５２に格納され、更にこのラッチ５２から出力される信号Ｓ５２がＦＦ５３に格納される。図６のタイミングチャートに示すように、回路ブロックＡとスキャン分離回路５０２内のＦＦ５３の間でクロックスキューが発生している場合、このスキャン分離回路５０２におけるＦＦ５３へのデータ取り込み（クロック信号ＣＬＫの立上がりエッジ）前に回路ブロックＡから出力される信号が変化して、ホールド違反が発生するおそれがある。しかし、このスキャン分離回路５０２では、ラッチ５２によりスキャン分離回路５０２内のＦＦ５３が取り込む１／２クロック分前に、回路ブロックＡからの信号をホールドさせるようにしているので、この信号経路でのホールド違反を防ぐことができる。なお、この動作では、回路ブロックＡのＦＦから組合わせ回路を通り、出力端子までの経路に対するテストが可能になる。
【００８１】
（５）  シリアル出力動作
シリアル出力動作では、テスト回路群IIのスキャン分離回路５０２のＦＦ５３に格納されたデータを直列に出力する。
【００８２】
図４（ｂ）に示すように、キャプチャ信号ＣＡＰとスキャン制御信号ＳＣＮを“Ｈ”に設定すると、制御部６０２から、選択信号ＳＥＬ１が出力されると共に、信号ＬＡ１は“Ｈ”となる。また、信号ＬＡ２，ＦＦ１にはクロック信号ＣＬＫが出力される。
【００８３】
これにより、図６（ｂ）のシリアル出力期間に示すように、ラッチ５２はセレクタ５１から出力される信号をそのまま通過させ、このラッチ５２から出力された信号Ｓ５２がクロック信号ＣＬＫの立上がりでＦＦ５３に取り込まれる。更に、ＦＦ５３から出力された信号Ｓ５３は、ラッチ５４によって１／２クロック分遅延させられる。
【００８４】
このような動作により、テスト回路群IIのスキャン分離回路５０２のＦＦ５３に格納されたデータは、ラッチ５４によって１／２クロック分遅延されてスキャン出力端子ＳＯに出力される。次段のスキャン分離回路５０２でも同様の動作が行われる。このように、スキャン出力端子ＳＯから出力する信号を１／２クロック分遅延させることにより、次段のスキャン分離回路に対するホールド違反を防ぐことができる。
【００８５】
このような動作と同時に、回路ブロックＡでは、スキャンパス・レジスタをスキャンモードに設定し、パラレル出力動作によってこの回路ブロックＡ内のＦＦに格納されたデータを直列に出力させる。
【００８６】
（６）  期待値照合
シリアル出力動作によって出力されたデータと期待値との照合を行い、組合わせ回路の動作を検証する。出力データが期待値と一致すれば組合わせ回路は正常、不一致の場合は組合わせ回路に異状があると判定される。
【００８７】
以上の説明では、回路ブロックＡを試験対象として説明したが、回路ブロックＢを試験する場合は、テスト回路群I，IIの役割を交替させれば良い。
【００８８】
以上のように、この実施例２のテスト回路は、回路ブロック間の分離を行うためのＦＦ５３の前後にラッチ５２，５４を設け、セレクタ５１とこれらを制御する制御部６０を用いている。これにより、テスト対象の回路ブロック内のＦＦと、このテスト回路内のＦＦ５３の間において、クロックスキューが発生する場合においても、実施例１と同様の効果に加えて、次のような効果が得られる。
【００８９】
（ａ）  テストパターンをテスト回路内のＦＦ５３に直列に順次格納する際、このＦＦ５３から出力される信号Ｓ５３をラッチ５４によって１／２クロック分遅延させることにより、ＦＦ５３から次段のテスト回路内のＦＦ５３間でのスキャン経路に対するホールド違反を回避できる。
【００９０】
（ｂ）  ＦＦ５３に格納されたテストパターンをテスト対象の回路ブロックに供給する際、ラッチ５４によって１／２クロック分遅延させることにより、テスト回路から回路ブロックまでのデータ経路に対するホールド違反を回避できる。
【００９１】
（ｃ）  テスト対象の回路ブロックから出力される信号をテスト回路内のＦＦ５３に取り込む際、ラッチ５２によって回路ブロックから出力される信号を１／２クロック前にホールドすることにより、回路ブロックからテスト回路までのデータ経路に対するホールド違反を回避できる。
【００９２】
更に、通常動作時においては、テスト回路に設けたＦＦ５３とラッチ５２，５４は停止状態であるので、消費電力を低減することができる。
【００９３】
また、従来、クロックスキューの合わせ込みは、ＬＳＩのレイアウト工程で行われており、レイアウトの結果に基づいてホールド対策を行わなければならない。レイアウトツールなどによってホールド対策を行う場合、通常動作時の経路に対してホールド対策用の素子が挿入られることがあり、通常動作時の消費電力が増大すると共に、速度低下が発生することがあった。この実施例では、レイアウトツールによるホールド対策を必要としないので、レイアウト工程を短縮することができると共に、通常動作時の消費電力及び速度の面でも効果がある。
【００９４】
なお、ラッチ５２、５４とＦＦ５３は、リセット機能を有していないが、同期または非同期のリセット機能を追加することにより、初期状態を設定することができる。
【実施例３】
【００９５】
図７（ａ），（ｂ）は、本発明の実施例３を示すスキャン分離回路の構成図であり、図４中の要素と共通の要素には共通の符号が付されている。
【００９６】
図７（ａ）のスキャン分離回路５０Ａは、図４のスキャン分離回路５０からラッチ５２を削除したものであり、図７（ａ）のスキャン分離回路５０Ｂは、ラッチ５４を削除したものである。
【００９７】
これらのスキャン分離回路５０Ａ，５０Ｂは、例えば、図５のＬＳＩにおいて、回路ブロックとテスト回路群I，IIとの間にクロックスキューの問題が無い場合に使用されるものである。回路ブロックＢとテスト回路群Iの間にクロックスキューの問題が無ければ、テスト回路群Iのスキャン分離回路として図７（ａ）のスキャン分離回路５０Ａを使用し、テスト回路群IIと回路ブロックＢの間にクロックスキューの問題が無ければ、テスト回路群IIのスキャン分離回路として図７（ｂ）のスキャン分離回路５０Ｂを使用する。
【００９８】
これらのスキャン分離回路５０Ａ，５０Ｂの動作は、基本的に実施例２と同様であり、その相違は以下の通りである。
【００９９】
（１）  スキャン分離回路５０Ａ
パラレル入力動作において、回路ブロックＢから並列に出力される信号を、テスト回路群Iのスキャン分離回路５０Ａに取り込む際、ラッチを介さずにクロック信号ＣＬＫと同じタイミングの信号ＦＦ２の立上がりでＦＦ５３に取り込む。これは、回路ブロックＢとテスト回路群Iの間にクロックスキューの問題が無いことを前提としているため、可能となる。
【０１００】
（２）  スキャン分離回路５０Ｂ
パラレル出力動作において、テスト回路群IIのスキャン分離回路５０Ｂに格納しているテストパターンを、回路ブロックＢに並列に与える際、ラッチを介さずにクロック信号ＣＬＫと同じタイミングの信号ＦＦ２で動作するＦＦ５３から直接出力する。これは、回路ブロックＢとテスト回路群IIの間にクロックスキューの問題が無いことを前提としているため、可能となる。
【０１０１】
なお、スキャン分離回路５０Ａ，５０Ｂを縦続接続したテスト回路群I，IIでは、これらの各テスト回路群I，II内でクロックスキューの合わせ込みが可能であるので、ホールド対策用のラッチを削除することができる。
【０１０２】
以上のように、この実施例３のスキャン分離回路５０Ａ，５０Ｂは、クロックスキューの問題が無い箇所に使用する場合に、ホールド対策用のラッチを削除しているので、テスト回路群の面積を削減することができる。
【実施例４】
【０１０３】
図８は、本発明の実施例４を示すテスト回路の構成図であり、図４中の要素と共通の要素には共通の符号が付されている。
【０１０４】
このテスト回路は、回路ブロック間の信号に対応して設けられるスキャン分離回路５０Ｘと、複数のスキャン分離回路５０Ｘに対して共通の制御信号を与えるための制御部６０Ｘとで構成されている。
【０１０５】
スキャン分離回路５０Ｘは、図４と同様のセレクタ５１、ラッチ５２及びＦＦ５３と、このＦＦ５３の出力側に接続されたリセット機能付きのラッチ５４Ｘと、セレクタ５１の出力信号とＦＦ５３の出力信号の排他的論理和を反転して出力するＥＸＮＯＲゲート５５と、これらのＥＸＮＯＲゲート５５とラッチ５４Ｘの出力信号の論理積をとって、検出端子ＤＥＴに出力するＡＮＤゲート５６で構成されている。
【０１０６】
また、制御部６０Ｘは、図４と同様のモード信号ＭＯＤ、スキャン制御信号ＳＣＮ、キャプチャ信号ＣＡＰ及びクロック信号ＣＬＫに加えて、制御信号ＷＥ１，ＷＥ２と、リセット信号ＲＳＴが与えられ、スキャン分離回路５０Ｘのセレクタ５１を制御するための選択信号ＳＥＬ１〜ＳＥＬ３、ラッチ５２を制御するための信号ＬＡ１、ＦＦ５３のクロック端子に与える信号ＦＦ１、及びラッチ５４Ｘを制御するための信号ＬＡ２，Ｌ２ＲＳＴを生成するものである。
【０１０７】
制御信号ＷＥ１は、入力端子Ｄに与えられた信号をラッチ５４Ｘに格納するときに使用するもので、制御信号ＷＥ２は、入力端子Ｄに与えられた信号をＦＦ５３に格納するときに使用するものである。
【０１０８】
図９は、図８の試験時の動作を示すタイミングチャートである。以下、この図９を参照しつつ、図８の動作を説明する。
【０１０９】
まず、制御部６０Ｘに与えるリセット信号ＲＳＴをアクティブ（“Ｈ”）とすることにより、この制御部６０Ｘからラッチ５４Ｘに対する信号ＬＡＲがアクティブにされ、ラッチ５４Ｘの保持内容はリセットされて“Ｌ”となる。
【０１１０】
次に、制御信号ＷＥ１をアクティブにすることにより、スキャン分離回路５０Ｘの入力端子Ｄに与えられている信号が、セレクタ５１、ラッチ５２及びＦＦ５３を経由して、ラッチ５４Ｘに格納される。
【０１１１】
更に、制御信号ＷＥ２をアクティブにすることにより、スキャン分離回路５０Ｘの入力端子Ｄに与えられている信号が、セレクタ５１及びラッチ５２を経由して、ＦＦ５３に格納される。この時、ラッチ５４Ｘに格納されているデータの書き換えは行われない。
【０１１２】
ラッチ５４Ｘに格納されたデータは、回路ブロック間を通過する信号の検出を行うか否かの制御に使用される。ラッチ５４Ｘに“Ｈ”のデータが格納されていれば、回路ブロック間を通過する信号の検出を行う。リセット時は、ラッチ５４Ｘがクリアされているので
、検出は行われない。
【０１１３】
ＦＦ５３に格納されたデータは、回路ブロック間を通過するデータの比較に使用される。ＦＦ５３に予め任意のデータを格納しておくことにより、回路ブロック間を通過するデータを検出することが可能になる。
【０１１４】
例えば、図５のＬＳＩのテスト回路群I，IIとして図８のテスト回路を使用し、通常動作時に回路ブロックＡ，Ｂ間を通過する信号に対して検出する箇所を任意に設定し、検出対象とする信号に設けられたテスト回路の検出機能を有効にするため、制御信号ＷＥ１を使用してラッチ５４Ｘに“Ｈ”を格納する。
【０１１５】
次に、検出対象に設定したテスト回路に対して、データ比較を行うため、制御信号ＷＥ２を使用してＦＦ５３に比較データを格納する。これにより、通常動作時に回路ブロックＡ，Ｂ間を通過する信号が、ＦＦ５３に設定されたデータと一致した場合、検出端子ＤＥＴから“Ｈ”の検出信号が出力される。
【０１１６】
検出信号は、回路ブロックの動作を一時停止させて、その時の回路ブロックの状態確認を行う場合とうに使用することができる。また、データバス等の複数の信号に対して任意のパターンを検出する場合には、各テスト回路からの検出信号の論理積を取ることにより、検出することができる。
【０１１７】
以上のように、この実施例４では、通常動作時に回路ブロック間を通過する信号が予め設定した信号に一致した時に検出信号を出力するためのＥＸＮＯＲ５５や検出端子ＤＥＴを有している。これにより、通常動作時にも、テスト回路を有効活用することが可能である。
【図面の簡単な説明】
【０１１８】
【図１】本発明の実施例１を示すスキャン分離ブロックを備えたＬＳＩの概略の構成図である。
【図２】１本のスキャンパス・レジスタを備えたＬＳＩの概略の構成図である。
【図３】従来のスキャン分離ブロックを備えたＬＳＩの概略の構成図である。
【図４】本発明の実施例２を示すテスト回路の説明図である。
【図５】図４のテスト回路を備えたＬＳＩの構成図である。
【図６】図４の試験時の動作を示すタイミングチャートである。
【図７】本発明の実施例３を示すスキャン分離回路の構成図である。
【図８】本発明の実施例４を示すテスト回路の構成図である。
【図９】図８の試験時の動作を示すタイミングチャートである。
【符号の説明】
【０１１９】
１０Ａ，１０Ｂ，Ａ，Ｂ    回路ブロック
３０，４０，５０，５０Ａ，５０Ｂ，５０Ｘ    スキャン分離回路
３１，３２，５１    セレクタ
３３，５３    ＦＦ（フリップ・フロップ）
５２，５４    ラッチ
５５    ＥＸＮＯＲゲート
５６    ＡＮＤゲート
６０，６０Ｘ    制御部
【図１】
2005189230.tif 000003
【図２】
2005189230.tif 000004
【図３】
2005189230.tif 000005
【図４】
2005189230.tif 000006
【図５】
2005189230.tif 000007
【図６】
2005189230.tif 000008
【図７】
2005189230.tif 000009
【図８】
2005189230.tif 000010
【図９】
2005189230.tif 000011
【手続補正書】
【提出日】平成16年12月1日(2004.12.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
回路ブロックＡでは、スキャンパス・レジスタを通常動作モードに設定し、テスト回路群Iの各スキャン分離回路５０１から並列に供給されるテストパターンを、クロック信号の立上がりで、この回路ブロックＡ内のＦＦに取り込む。このように、各スキャン分離回路５０１の出力端子Ｑから出力する信号を１／２クロック分遅延させることにより、回路ブロックＡ内のＦＦに取り込む際のホールド違反を防ぐことができる。なお、この動作では、回路ブロックＡの入力端子から組合わせ回路を通り、ＦＦまでの経路に対するテストが可能になる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
まず、制御部６０Ｘに与えるリセット信号ＲＳＴをアクティブ（“Ｈ”）とすることにより、この制御部６０Ｘからラッチ５４Ｘに対する信号Ｌ２ＲＳＴがアクティブにされ、ラッチ５４Ｘの保持内容はリセットされて“Ｌ”となる。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2005189230.tif 000012