(57)【要約】【課題】それぞれ異なるクロック信号に基づいて検査データをシフトする複数のスキャンチェインを備え、それらを直列に接続してスキャンパス検査を行うことができる半導体集積回路装置を提供する。【解決手段】第１の検査モードにおいては、スキャンチェインＳＣ１〜ＳＣｍの各々に検査データが供給され、第２の検査モードにおいては、直列接続されたスキャンチェインＳＣ１〜ＳＣｍの初段に検査データが供給される。第２の検査モードにおいて直列接続されたスキャンチェインに供給される検査データは、クロック信号の位相がずれたスキャンチェインの間においてもクロックサイクルの順序に従って順次にシフトするように、スキャンチェインの間をシフトする途中でデータ保持部２０により順次に保持される。【選択図】図１
2009216619.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ対応するクロック信号に基づいて検査データをシフトする複数のスキャンチェインと、
第１の検査モードにおいて、上記複数のスキャンチェインの各々に検査データを供給し、第２の検査モードにおいて、上記複数のスキャンチェインを直列に接続して１つのチェインを形成するとともに初段のスキャンチェインに検査データを供給する検査データ供給部と、
上記直列接続されたスキャンチェインに供給される検査データが、上記スキャンチェイン間において上記クロック信号のクロックサイクルの順序に従って順次にシフトされるように、上記スキャンチェイン間をシフトする途中の検査データを順次に保持するデータ保持部と、
を有する半導体集積回路装置。
【請求項２】
上記第１の検査モードにおいて、上記データ保持部を介さずに、上記複数のスキャンチェインからの応答データをそれぞれ入力して処理する応答データ処理部を有する、
請求項１に記載の半導体集積回路装置。
【請求項３】
上記データ保持部は、上記複数のスキャンチェインを直列に接続する経路に設けられ、前段のスキャンチェインからそのクロック信号の第１エッジに同期して出力される検査データを当該クロック信号の第２エッジに同期して保持し、当該保持した検査データを後段のスキャンチェインに出力するラッチ回路を含み、
上記応答データ処理部は、上記複数のスキャンチェインから上記ラッチ回路を介さずに入力した応答データを処理する、
請求項２に記載の半導体集積回路装置。
【請求項４】
上記検査データ供給部は、上記複数のスキャンチェインを直列に接続する経路において上記データ保持部の出力側に設けられ、上記第１の検査モードにおいて、上記後段のスキャンチェインに対応して生成された検査データを選択して出力し、上記第２の検査モードにおいて、上記データ保持部を介して上記前段のスキャンチェインから入力した検査データを選択して出力する選択回路を含む、
請求項３に記載の半導体集積回路装置。
【請求項５】
上記データ保持部は、上記第１の検査モードにおいて上記検査データを透過的に出力し、
上記応答データ処理部は、少なくとも一部のスキャンチェインから上記データ保持部を介して応答データを入力する、
請求項１に記載の半導体集積回路装置。
【請求項６】
上記データ保持部は、上記複数のスキャンチェインを直列に接続する経路に設けられ、上記第２の検査モードにおいては、前段のスキャンチェインからそのクロック信号の第１エッジに同期して出力される検査データを当該クロック信号の第２エッジに同期して保持し、当該保持した検査データを後段のスキャンチェインに出力し、上記第１の検査モードにおいては、上記前段のスキャンチェインから出力される応答データを透過的に上記後段のスキャンチェインに出力するラッチ回路を含み、
上記応答データ処理部は、少なくとも一部のスキャンチェインから上記ラッチ回路を介して応答データを入力する、
請求項５に記載の半導体集積回路装置。
【請求項７】
上記データ保持部は、上記第１の検査モードにおいて上記検査データを透過的に出力し、
上記検査データ供給部は、上記複数のスキャンチェインを直列に接続する経路において上記データ保持部の入力側に設けられ、上記第１の検査モードにおいて、上記後段のスキャンチェインに対応して生成された検査データを選択して出力し、上記第２の検査モードにおいて、上記前段のスキャンチェインから入力した検査データを選択して出力する選択回路を含み、
上記応答データ処理部は、上記選択回路の入力側において上記複数のスキャンチェインからの応答データを入力する、
請求項２に記載の半導体集積回路装置。
【請求項８】
第１のシリアルデータ入力端子と、
第２のシリアルデータ入力端子と、
直列に接続される複数の記憶回路を有し、初段の記憶回路が上記第１のシリアルデータ入力端子に接続され、第１のクロック信号に応答して初段の記憶回路から最終段の記憶回路に向けてデータが転送される第１のスキャンチェインと、
直列に接続される複数の記憶回路を有し、第２のクロック信号に応答して初段の記憶回路から最終段の記憶回路に向けてデータが転送される第２のスキャンチェインと、
上記第１のスキャンチェインの最終段の記憶回路の出力端子に接続され、上記第１のクロック信号に応答して当該最終段の記憶回路から出力されるデータを保持する第１のデータ保持回路と、
上記第２のスキャンチェインの最終段の記憶回路の出力端子に接続され、上記第２のクロック信号に応答して当該最終段の記憶回路から出力されるデータを保持する第２のデータ保持回路と、
第１の入力端子が上記第２のシリアルデータ入力端子に接続され、第２の入力端子が上記第１のデータ保持回路の出力端子に接続され、出力端子が上記第２のスキャンチェインの初段の記憶回路の入力端子に接続され、制御信号に応答して上記第１の入力端子に供給されるデータ又は上記第２の入力端子に供給されるデータを出力端子に出力する第１のセレクタ回路と、
を含み、
第１の検査モードにおいて、上記第１及び第２のスキャンチェインにそれぞれ第１及び第２の検査データが上記第１及び第２のシリアルデータ入力端子を介して並列的に供給され、
第２の検査モードにおいて、上記第１のデータ保持回路及び上記第１のセレクタ回路を介して直列に接続された上記第１及び第２のスキャンチェインに対して第３の検査データが上記第１のシリアルデータ入力端子を介して直列的に供給される、
半導体集積回路装置。
【請求項９】
上記第２の検査モードにおいて、上記第１のスキャンチェインの記憶回路が上記第１のクロック信号の第１のエッジに応答して検査データを取り込み、上記第１のデータ保持回路が上記第１のクロック信号の第２のエッジに応答して検査データを取り込む、
請求項８に記載の半導体集積回路装置。
【請求項１０】
上記第１及び第２の試験モードにおいて、上記第１のクロック信号と上記第２のクロック信号の周波数が等しくされる、
請求項８又は９に記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャンパス方式によるロジック回路の検査が可能な半導体集積回路装置に関するものである。
【背景技術】
【０００２】
近年、回路規模の増大と機能の複雑化によってＬＳＩ検査の難易度が高まってきており、これに対応するための種々の検査手法が開発されている。回路制御性や観測容易性を増してＬＳＩの検査を容易にする手法の一つに、スキャンパスが知られている（例えば特許文献１を参照）。スキャンパス方式のＬＳＩにおいては、スキャンレジスタと呼ばれるフリップフロップを用いてロジック回路が構成される。スキャンレジスタは、通常の動作においてはそれぞれフリップフロップとして機能するが、検査モードに切り替わると、チェイン状に接続された１本若しくは複数本のシフトレジスタとして機能する。スキャンレジスタによって形成されるシフトレジスタは、スキャンチェインとも呼ばれる。
【０００３】
スキャンパス手法では、検査モードと通常の動作モードとを制御信号等により切り替えてＬＳＩの挙動が観測される。一般的には、まず検査モードにおいて検査装置からスキャンチェインへ検査データがシリアルに入力され、各スキャンレジスタに所望の値の検査データが設定される。次いで、任意のクロックサイクル数だけ通常の動作が実行され、論理回路の出力データが各スキャンレジスタに保持される。その後、再び検査モードに戻り、スキャンチェインに保持されたデータがシリアルにシフトされ、検査装置に取り込まれる。検査装置では、入力した検査データとその応答として得られたデータとを比較して解析することにより、ＬＳＩが所定の動作を実行しているか否かが判定される。スキャンパス手法は、任意のフリップフロップに所望の検査データをセットできる点で回路制御性に優れており、また、任意のフリップフロップのデータを容易に観測できる点で観測容易性に優れている。
【特許文献１】特許第３５２９７６２号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図７は、スキャンパス方式によりロジック回路の検査を行う一般的なＬＳＩの構成の一例を示す図である。
ＬＳＩ１００は、それぞれ独立のクロック信号（ＣＫ１〜ＣＫｍ）に同期して動作するｍ個のクロックドメインを有しており、クロックドメインごとにスキャンチェイン（１２０＿１〜１２０＿ｍ）が形成されている。
復元器１１０、圧縮器１３０は、ＬＳＩ１００内部に形成されたスキャンパス検査用の回路であり、ＬＳＩ検査装置２００とＬＳＩ１００の間で転送されるデータ量を削減して検査時間を短縮するために設けられている。復元器１１０は、ＬＳＩ検査装置２００から圧縮した状態で転送される検査データＳｉｎを復元（解凍）し、ｍ個のスキャンチェイン１２０＿１〜１２０＿ｍへシリアルに入力する。圧縮器１３０は、ｍ個のスキャンチェイン１２０＿１〜１２０＿ｍからそれぞれシリアルに出力されるデータを圧縮し、検査データＳｉｎに対する応答データＳｏｕｔとしてＬＳＩ検査装置２００に送出する。
【０００５】
複数本のスキャンチェインを有する場合、通常は図７に示すように、ＬＳＩの内部に設けられた検査用の回路（１１０，１３０）を利用して個々のスキャンチェインに検査データが供給される。一方、復元器１１０や圧縮器１３０において不具合が生じている場合などにおいては、これらの検査用回路を用いないで検査を行えると都合が良い。
例えば、複数本のスキャンチェインを直列に接続して一本のスキャンチェインを形成することができれば、検査時間は遅くなるが、復元器１１０や圧縮器１３０を用いずにＬＳＩの良否判定や故障解析を行うことができる。
【０００６】
しかしながら、検査モードにおいて各クロックドメインのクロック周波数が一致するようにクロック信号系の回路を構成することは容易でも、クロック信号の位相のずれまで正確に一致させるのは困難な場合がある。クロック信号の位相が異なった複数本のスキャンチェインを直列に接続した場合、スキャンチェインの間で誤ったデータシフトが生じる。すなわち、クロック信号の位相がズレている状態でデータをシフトすると、シリアルに転送すべきデータが部分的に欠落したり、クロックサイクルに対するデータの順番がずれてしまうなどの不都合が生じる。
【０００７】
本発明はかかる事情に鑑みてなされたものであり、その目的は、それぞれ異なるクロック信号に基づいて検査データをシフトする複数のスキャンチェインを備え、それらを直列に接続してスキャンパス検査を行うことができる半導体集積回路装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１の観点に係る半導体集積回路装置は、複数のスキャンチェインと、検査データ供給部と、データ保持部とを有する。上記複数のスキャンチェインは、それぞれ対応するクロック信号に基づいて検査データをシフトする。各スキャンチェインの各クロック信号は、それぞれ位相が多少ずれている。上記検査データ供給部は、第１の検査モードにおいて、上記複数のスキャンチェインの各々に検査データを供給し、第２の検査モードにおいて、上記複数のスキャンチェインを直列に接続して１つのチェインを形成するとともに初段のスキャンチェインに検査データを供給する。上記データ保持部は、上記直列接続されたスキャンチェインに供給される検査データが、上記スキャンチェイン間において上記クロック信号のクロックサイクルの順序に従って順次にシフトされるように、上記スキャンチェイン間をシフトする途中の検査データを順次に保持する。
【０００９】
上記半導体集積回路装置によれば、上記第２の検査モードにおいて、上記複数のスキャンチェインが上記検査データ供給部により直列に接続され、その初段のスキャンチェインに検査データが供給される。供給された検査データは、各スキャンチェインにおいて、それぞれ位相が異なるクロック信号に基づいてシフトされるが、直列接続されたスキャンチェインの間をシフトする際には、上記データ保持部によって保持される。すなわち、上記検査データは、上記スキャンチェインの間において上記クロック信号のクロックサイクルの順序に従って順次にシフトするように、上記直列接続されたスキャンチェインの間をシフトする途中で上記データ保持部により順次に保持される。
【００１０】
好適に、上記半導体集積回路装置は、上記第１の検査モードにおいて、上記データ保持部を介さずに、上記複数のスキャンチェインからの応答データをそれぞれ入力して処理する応答データ処理部を有する。
上記データ保持部を介して応答データが伝送される場合、上記スキャンチェインから１の応答データが出力される１クロックサイクルの途中で上記データ保持部による当該１の応答データの保持が行われることになる。この場合、上記データ保持部においてデータを保持する前に設けられるセットアップ時間が当該１クロックサイクルより短くなることから、上記データ保持部における上記セットアップ時間の余裕が減少し、上記データ保持部のデータ保持動作に係るタイミング条件が厳しくなる。これに対し、上記応答データ処理部によれば、上記データ保持部を介すことなく、上記スキャンチェインからの応答データが上記応答データ処理部へ入力されることから、上述したタイミング条件の制約がなくなる。
【００１１】
上記データ保持部は、例えば、上記複数のスキャンチェインを直列に接続する経路に設けられたラッチ回路を含んでよい。当該ラッチ回路は、前段のスキャンチェインからそのクロック信号の第１エッジに同期して出力される検査データを当該クロック信号の第２エッジに同期して保持し、当該保持した検査データを後段のスキャンチェインに出力してよい。
この場合、上記応答データ処理部は、上記複数のスキャンチェインから上記ラッチ回路を介さずに入力した応答データを処理してよい。
また、上記検査データ供給部は、上記複数のスキャンチェインを直列に接続する経路において上記データ保持部の出力側に設けられた選択回路を含んでよい。当該選択回路は、上記第１の検査モードにおいて、上記後段のスキャンチェインに対応して生成された検査データを選択して出力し、上記第２の検査モードにおいて、上記データ保持部を介して上記前段のスキャンチェインから入力した検査データを選択して出力してよい。
【００１２】
他方、上記半導体集積回路装置では、上記データ保持部が、上記第１の検査モードにおいて上記検査データを透過的に出力してよく、上記応答データ処理部が、少なくとも一部のスキャンチェインから上記データ保持部を介して応答データを入力してよい。
上記の構成によれば、上記第１の検査モードにおいて上記データ保持部から上記検査データが透過的に出力されることから、上記データ保持部を介して上記応答データ処理部に応答データが入力されても、上記データ保持部のタイミング条件が上述のように厳しくなることはない。
【００１３】
この場合、上記データ保持部は、例えば、上記複数のスキャンチェインを直列に接続する経路に設けられたラッチ回路を含んでよい。当該ラッチ回路は、上記第２の検査モードにおいては、前段のスキャンチェインからそのクロック信号の第１エッジに同期して出力される検査データを当該クロック信号の第２エッジに同期して保持し、当該保持した検査データを後段のスキャンチェインに出力し、上記第１の検査モードにおいては、上記前段のスキャンチェインから出力される応答データを透過的に上記後段のスキャンチェインに出力してよい。
また、この場合、上記応答データ処理部は、少なくとも一部のスキャンチェインから上記ラッチ回路を介して応答データを入力してよい。
【００１４】
また、上記半導体集積回路装置では、上記データ保持部が、上記第１の検査モードにおいて上記検査データを透過的に出力してよく、上記検査データ供給部が、上記複数のスキャンチェインを直列に接続する経路において上記データ保持部の入力側に設けられた選択回路を含んでよい。当該選択回路は、上記第１の検査モードにおいて、上記後段のスキャンチェインに対応して生成された検査データを選択して出力し、上記第２の検査モードにおいて、上記前段のスキャンチェインから入力した検査データを選択して出力してよい。この場合、上記応答データ処理部は、上記選択回路の入力側において上記複数のスキャンチェインからの応答データを入力してよい。
【００１５】
本発明の第２の観点に係る半導体集積回路装置は、第１のシリアルデータ入力端子と、
第２のシリアルデータ入力端子と、直列に接続される複数の記憶回路を有し、初段の記憶回路が上記第１のシリアルデータ入力端子に接続され、第１のクロック信号に応答して初段の記憶回路から最終段の記憶回路に向けてデータが転送される第１のスキャンチェインと、直列に接続される複数の記憶回路を有し、第２のクロック信号に応答して初段の記憶回路から最終段の記憶回路に向けてデータが転送される第２のスキャンチェインと、上記第１のスキャンチェインの最終段の記憶回路の出力端子に接続され、上記第１のクロック信号に応答して当該最終段の記憶回路から出力されるデータを保持する第１のデータ保持回路と、上記第２のスキャンチェインの最終段の記憶回路の出力端子に接続され、上記第２のクロック信号に応答して当該最終段の記憶回路から出力されるデータを保持する第２のデータ保持回路と、第１の入力端子が上記第２のシリアルデータ入力端子に接続され、第２の入力端子が上記第１のデータ保持回路の出力端子に接続され、出力端子が上記第２のスキャンチェインの初段の記憶回路の入力端子に接続され、制御信号に応答して上記第１の入力端子に供給されるデータ又は上記第２の入力端子に供給されるデータを出力端子に出力する第１のセレクタ回路とを含み、第１の検査モードにおいて、上記第１及び第２のスキャンチェインにそれぞれ第１及び第２の検査データが上記第１及び第２のシリアルデータ入力端子を介して並列的に供給され、第２の検査モードにおいて、上記第１のデータ保持回路及び上記第１のセレクタ回路を介して直列に接続された上記第１及び第２のスキャンチェインに対して第３の検査データが上記第１のシリアルデータ入力端子を介して直列的に供給される。
好適に、上記第２の観点に係る半導体集積回路装置においては、上記第２の検査モードにおいて、上記第１のスキャンチェインの記憶回路が上記第１のクロック信号の第１のエッジに応答して検査データを取り込み、上記第１のデータ保持回路が上記第１のクロック信号の第２のエッジに応答して検査データを取り込む。
また好適に、上記第２の観点に係る半導体集積回路装置においては、上記第１及び第２の試験モードにおいて、上記第１のクロック信号と上記第２のクロック信号の周波数が等しくされる。
【発明の効果】
【００１６】
本発明によれば、スキャンチェイン間においてシフトされる検査データを適切なタイミングで保持することにより、それぞれ異なるクロック信号に基づいて検査データをシフトする複数のスキャンチェインを直列に接続してスキャンパス検査を行うことができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して、本発明に係る半導体集積回路装置を説明する。
図１は、本発明の第１の実施形態に係る半導体集積回路装置の構成例を図解した図である。図１に示す半導体集積回路装置は、ｍ本（ｍは２以上の整数を示す。以下同じ。）のスキャンチェインＳＣ１〜ＳＣｍと、検査データ供給部１０と、データ保持部２０と、応答データ処理部３０と、セレクタ回路４０とを有する。
【００１８】
本実施形態に係る半導体集積回路装置は、２種類の検査モードを持つ。第１の検査モードでは、ｍ本のスキャンチェインＳＣ１〜ＳＣｍにそれぞれ独立した検査データが供給される。第２の検査モードでは、ｍ個のスキャンチェインＳＣ１〜ＳＣｍが直列に接続されて１本のスキャンチェインが形成され、このスキャンチェインにおいて検査データがシリアルにシフトされる。
【００１９】
スキャンチェインＳＣ１〜ＳＣｍは、それぞれ異なるクロックドメインに属するフリップフロップにより形成される。スキャンチェインＳＣｎ（ｎは１からｍまでの整数を示す。以下同じ。）は、クロック信号ＣＫｎに基づいて検査データをシフトする。
【００２０】
クロック信号ＣＫ１〜ＣＫｍは、少なくとも検査モードにおいては等しい周波数を有する。例えば、図１に示す半導体集積回路装置には、通常の動作モードと検査モードとでクロック信号ＣＫ１〜ＣＫｍの周波数を変更できる不図示のクロック生成回路が設けられており、このクロック生成回路によって検査モードにおけるクロック信号ＣＫ１〜ＣＫｍの周波数が全て等しくなるように設定される。
ただし、クロック信号ＣＫ１〜ＣＫｍは、お互いの周波数が一致しても、位相まで一致しているとは限らない。そのため、スキャンチェインＳＣ１〜ＳＣｍを直列接続する第２の検査モードにおいては、スキャンチェイン間におけるデータシフトのタイミングが後述のデータ保持部２０によって調節される。
【００２１】
スキャンチェインＳＣ１〜ＳＣｍは、それぞれ複数個のフリップフロップを直列に接続して形成される。図１の例において、スキャンチェインＳＣ１は、ｉ個のフリップフロップＦＦ１＿１〜ＦＦ１＿ｉの直列接続により形成される。スキャンチェインＳＣ２は、ｊ個のフリップフロップＦＦ２＿１〜ＦＦ２＿ｊの直列接続により形成される。スキャンチェインＳＣ３は、ｋ個のフリップフロップＦＦ３＿１〜ＦＦ３＿ｋの直列接続により形成される。スキャンチェインＳＣｍは、ｐ個のフリップフロップＦＦｍ＿１〜ＦＦｍ＿ｐの直列接続により形成される。以下、スキャンチェインＳＣｎを形成する任意のフリップフロップを「Ｆｎ」と記す場合がある。
【００２２】
フリップフロップＦｎは、例えば図１に示すように、２つの入力端子ＳＤ及びＤと１つの出力端子Ｑを備えている。入力端子Ｄは通常の動作モードにおいて有効となり、入力端子ＳＤは検査モードにおいて有効になる。フリップフロップＦｎは、制御端子ＳＥに入力されるイネーブル信号に応じて、入力端子Ｄ又はＳＤの何れかを有効にする。フリップフロップＦｎは、有効な入力端子（Ｄ又はＳＤ）に入力される信号をクロック信号ＣＫｎの立ち上がりに同期して保持し、出力端子Ｑから出力する。
図１に示すように、スキャンチェインＳＣｎにおいては、前段のフリップフロップＦｎの出力端子Ｑが後段のフリップフロップＦｎの入力端子ＳＤに接続されている。また特に図示していないが、各フリップフロップの入力端子Ｄと出力端子Ｑとの間にはロジック回路（組み合わせ論理回路など）が設けられており、通常の動作モードではこれらの回路にロジック信号が伝搬する。
【００２３】
検査データ供給部１０は、各検査モードにおいてスキャンチェインＳＣ１〜ＳＣｍに検査データを供給する。すなわち、検査データ供給部１０は、第１の検査モードにおいて、スキャンチェインＳＣ１〜ＳＣｍの各々に検査データを供給し、第２の検査モードにおいて、スキャンチェインＳＣ１〜ＳＣｍを直列に接続するとともに初段のスキャンチェインＳＣ１に検査データを供給する。
【００２４】
検査データ供給部１０は、例えば図１に示すように、検査データ生成部１１とセレクタ回路ＳＬ２，ＳＬ３，…，ＳＬｍを有する。
【００２５】
検査データ生成部１１は、スキャンチェインＳＣ１〜ＳＣｍに供給される検査データを生成する。すなわち、検査データ生成部１１は、第１の検査モードにおいて、ｍ本のスキャンチェインＳＣ１〜ＳＣｍに供給される検査データＳＤ１〜ＳＤｍを生成し、第２の検査モードにおいて、直列接続されたスキャンチェインＳＣ１〜ＳＣｍの初段（スキャンチェインＳＣ１）に供給される検査データＳＤ１を生成する。
例えば検査データ生成部１１は、第１の検査モードにおいて、不図示の検査装置（不図示）により圧縮された検査データＳｉｎを半導体集積回路装置の外部から入力し、これを復元（解凍）して検査データＳＤ１〜ＳＤｍを生成する。また検査データ生成部１１は、第２の検査モードにおいて、外部の検査装置より入力される検査データＳｉｎをそのまま検査データＳＤ１として初段のスキャンチェインＳＣ１に供給する。
【００２６】
セレクタ回路ＳＬ２，ＳＬ３，…，ＳＬｍは、スキャンチェインＳＣ２〜ＳＣｍに入力される検査データを検査モードの種類に応じて切り替える。
例えばセレクタ回路ＳＬｑ（ｑは２からｍまでの整数を示す。以下同じ。）は、スキャンチェインＳＣｑ−１とスキャンチェインＳＣｑとを接続する経路において、データ保持部２０の出力側に設けられている。セレクタ回路ＳＬｑは、第１の検査モードにおいては、検査データ生成部１１により生成されたスキャンチェインＳＣｑの検査データＳＤｑを選択して出力し、第２の検査モードにおいては、スキャンチェインＳＣｑ−１からデータ保持部２０を介して入力した検査データを選択して出力する。セレクタ回路ＳＬｑは、検査モードの制御信号Ｓ１に応じて２つの入力の一方を選択する。
【００２７】
データ保持部２０は、第２の検査モードにおいて直列接続されたスキャンチェインＳＣ１〜ＳＣｍに供給される検査データが、スキャンチェイン間においてクロック信号（ＣＫ１〜ＣＫｍ）のクロックサイクルの順序に従って順次にシフトするように、スキャンチェイン間をシフトする途中の検査データを順次に保持する。すなわち、データ保持部２０は、スキャンチェインの間をシフトする検査データを、クロック信号の位相の違いによるスキャンチェイン間での誤ったデータシフトを防止し得る適切なタイミングで保持する。データ保持部２０は、各スキャンチェインが異なるクロック信号に同期して動作していても、クロックサイクルの順番に従って検査データが正しくシフトされるように、スキャンチェイン間において検査データのシフトのタイミングを調節する。
【００２８】
例えばデータ保持部２０は、スキャンチェインＳＣｑ−１の終段からクロック信号ＣＫｑ−１に同期して出力される検査データを、クロック信号ＣＫｑ−１より半周期程度遅れたタイミングで保持し、次段のスキャンチェインＳＣｑに出力する。これにより、次段のスキャンチェインＳＣｑにおいては、クロックサイクルの半周期程度だけ、スキャンチェインＳＣｑ−１の出力データを取り込み可能な期間が延長される。これにより、クロック信号ＣＫｑ−１に対してクロック信号ＣＫｑの位相が多少遅れても、スキャンチェインＳＣｑ−１からスキャンチェインＳＣｑへのデータシフトが正しく行われる。
【００２９】
図１の例において、データ保持部２０は、ラッチ回路ＬＡ１〜ＬＡｍを有する。
ラッチ回路ＬＡｒ（ｒは、１からｍ−１までの整数を示す。以下同じ。）は、スキャンチェインＳＣｒとスキャンチェインＳＣｒ＋１とを直列に接続する経路に設けられている。ラッチ回路ＬＡｒは、前段のスキャンチェインＳＣｒからそのクロック信号ＣＫｒの立ち上がり（第１のエッジ）に同期して出力される検査データを、クロック信号ＣＫｒの立ち下り（第２のエッジ）に同期して保持し、後段のスキャンチェインＳＣｒ＋１に出力する。
ラッチ回路ＬＡｍは、終段のスキャンチェインＳＣｍから出力される検査データをクロック信号ＣＫｍの立ち下りに同期して保持し、セレクタ回路４０に出力する。
【００３０】
応答データ処理部３０は、第１の検査モードにおいてスキャンチェインＳＣ１〜ＳＣｍから出力されるｍ個の応答データを処理する。例えば応答データ処理部３０は、これらの応答データを圧縮して不図示の検査装置に送出する。
【００３１】
図１に示すように、応答データ処理部３０は、データ保持部２０を介すことなく、スキャンチェインＳＣ１〜ＳＣｍからの応答データを入力して処理する。これにより、データ保持部２０においてスキャンチェインＳＣ１〜ＳＣｍからのデータを保持する際に必要となるセットアップ時間の制約がなくなるため、第１の検査モードにおけるスキャンチェインＳＣ１〜ＳＣｍのデータシフトを高速化できる。
【００３２】
セレクタ回路４０は、第１の検査モードにおいて、応答データ処理部３０により処理された応答データを選択して出力し、第２の検査モードにおいて、直列接続されたスキャンチェインＳＣ１〜ＳＣｍからの応答データを選択して出力する。セレクタ回路４０は、検査モードの制御信号Ｓ１に応じて２つの入力の一方を選択する。セレクタ回路４０において選択された応答データは、不図示の検査装置へ出力される。
【００３３】
ここで、上述した構成を有する図１に示す半導体集積回路装置の各検査モードにおける動作例を説明する。
【００３４】
＜第１の検査モード＞
不図示の検査装置において圧縮された検査データＳｉｎが生成され、検査データ生成部１１に入力される。圧縮された検査データＳｉｎは、検査データ生成部１１において復元（解凍）され、検査データＳＤ１〜ＳＤｍに展開される。検査データＳＤ１は、スキャンチェインＳＣ１に入力される。検査データＳＤｑ（ｑ＝２〜ｍ）は、セレクタ回路ＳＬｑを介してスキャンチェインＳＣｑに入力される。
各スキャンチェインのフリップフロップは、イネーブル信号によって検査モードに設定されており、スキャンチェインＳＣｎに入力された検査データは、そのクロック信号ＣＫｎに同期してシリアルにシフトされる。
各フリップフロップに所望の値の検査データがセットされると、各スキャンチェインのフリップフロップは一旦通常の動作モードに設定され、所望のクロックサイクルだけ通常動作が実行される。その後、フリップフロップは再び検査モードに戻され、各フリップフロップに保持された応答データが応答データ処理部３０へシリアルにシフトされる。
応答データ処理部３０には、スキャンチェインＳＣ１〜ＳＣｍからの応答データがデータ保持部２０を介さずに入力される。応答データ処理部２０において、ｍ個の応答データが一つの応答データＳｏｕｔに圧縮される。圧縮された応答データＳｏｕｔは、セレクタ回路４０を介して検査装置に取り込まれる。検査装置において、入力した検査データと取り込まれた応答データとが比較され、半導体集積回路装置が所望の動作を実行しているかどうか判定される。
【００３５】
＜第２の検査モード＞
第２の検査モードにおいては、セレクタ回路ＳＬ２〜ＳＬｍによってスキャンチェインＳＣ１〜ＳＣｍが直列に接続される。直列接続されたスキャンチェインの間には、データ保持部３０のラッチ回路（ＬＡ１〜ＬＡｍ−１）がそれぞれ挿入される。
不図示の検査装置において生成された検査データＳｉｎは、検査データ生成部１０を介してスキャンチェインＳＣ１に入力される。各スキャンチェインのフリップフロップは、イネーブル信号によって検査モードに設定されており、直列接続されたスキャンチェインＳＣ１〜ＳＣｍにおいて検査データがシリアルにシフトされる。
各フリップフロップに所望の検査データがセットされると、スキャンチェインのフリップフロップは一旦通常の動作モードに設定され、所望のクロックサイクルだけ通常動作が実行される。その後、フリップフロップは再び検査モードに戻され、フリップフロップに保持された応答データがシリアルにシフトされる。
終段のスキャンチェインＳＣｍからシリアルに出力される応答データは、ラッチ回路ＬＡｍ及びセレクタ回路４０を介して検査装置に取り込まれる。検査装置において、入力した検査データと取り込まれた応答データとが比較され、半導体集積回路装置が所望の動作を実行しているかどうか判定される。
【００３６】
ここで、データ保持部２０における検査データの保持の働きについて、図２〜図４を参照して詳しく説明する。
【００３７】
図２及び図３は、データ保持部２０を設けない場合に生じる問題について説明するための図である。図２は、クロック信号ＣＫ１，ＣＫ２の位相が一致している場合の動作を示し、図３は、クロックＣＫ２の位相がクロック信号ＣＫ１に比べて遅れている場合の動作を示す。
【００３８】
図２の例において、クロック信号ＣＫ１，ＣＫ２の位相は一致している（図２（Ａ），（Ｃ））。すなわち、クロック信号ＣＫ１，ＣＫ２は、同一のクロックサイクルにおいて同じタイミングで立ち上がる。スキャンレジスタＳＣ１，ＳＣ２の各フリップフロップは、ほぼ同じタイミングで入力データをラッチする。
例えばスキャンレジスタＳＣ１の最終段のフリップフロップＦ１＿ｉには、クロックサイクルＣ１の立ち上がりにおいてデータＤ１がラッチされ、クロックサイクルＣ２の立ち上がりにおいてデータＤ２がラッチされる（図２（Ｂ））。スキャンレジスタＳＣ２の初段のフリップフロップＦ２−1には、クロックサイクルＣ２の立ち上がりにおいて、フリップフロップＦ１＿ｉに保持されていたデータＤ１がラッチされる（図２（Ｄ））。
このように、クロック信号ＣＫ１，ＣＫ２の位相が一致している場合、あるクロックサイクルでフリップフロップＦ１＿ｉにラッチされたデータが、次のクロックサイクルでフリップフロップＦ２＿１にラッチされる。つまり、クロックサイクルの順番通りにスキャンレジスタＳＣ１からＳＣ２へデータがシフトされる。
【００３９】
他方、図３の例において、クロック信号ＣＫ２の位相はクロック信号ＣＫ１より遅れている（図３（Ａ），（Ｃ））。すなわち、クロック信号ＣＫ２は、同一クロックサイクルのクロック信号ＣＫ１に比べて遅く立ち上がる。スキャンレジスタＳＣ２の各フリップフロップは、スキャンレジスタＳＣ１に比べて遅いタイミングで入力データをラッチする。
例えばスキャンレジスタＳＣ１の最終段のフリップフロップＦ１＿ｉには、クロックサイクルＣ１の立ち上がりにおいてデータＤ１がラッチされ、クロックサイクルＣ２の立ち上がりにおいてデータＤ２がラッチされる（図３（Ｂ））。スキャンレジスタＳＣ２の初段のフリップフロップＦ２−1には、クロックサイクルＣ１の立ち上がりにおいて、フリップフロップＦ１＿ｉに保持されたデータＤ１がラッチされ、クロックサイクルＣ２の立ち上がりにおいて、フリップフロップＦ１＿ｉに保持されたデータＤ２がラッチされる（図３（Ｄ））。
このように、クロック信号ＣＫ２の位相がクロック信号ＣＫ１より遅れていると、あるクロックサイクルにおいてフリップフロップＦ１＿ｉにラッチされたデータが、同じクロックサイクルでフリップフロップＦ２＿１にもラッチされる。つまり、フリップフロップＦ２＿１には、本来、次のクロックサイクルでラッチすべきデータが取り込まれる。そのため、データシフトの開始直前にフリップフロップＦ２＿１がラッチしていたデータは、最初の１クロックサイクルにおいてフリップフロップＦ１＿ｉにシフトされたデータにより上書きされてしまう。その結果、検査装置へ転送すべきデータが欠落してしまうとともに、クロックサイクルに対するデータの順番がずれてしまうという問題が生じる。
【００４０】
そこで、本実施形態に係る半導体集積回路装置では、直列接続されたスキャンレジスタの間にデータ保持部２０が設けられている。
図４は、データ保持部２０を介したデータシフト動作を説明するための図である。
スキャンレジスタＳＣ１の最終段のフリップフロップＦ１＿ｉとスキャンレジスタＳＣ２の初段のフリップフロップＦ２＿１との間には、データ保持部２０のラッチ回路ＬＡ１が介在している。フリップフロップＦ１＿ｉにおいてはクロック信号ＣＫ１（図４（Ａ））の立ち上がりに同期して前段のデータがラッチされるが（図４（Ｂ））、ラッチ回路ＬＡ１においてはクロック信号ＣＫ１の立下りに同期してフリップフロップＦ１＿ｉのデータがラッチされる（図４（Ｃ））。
ラッチ回路ＬＡ１においてデータが保持されることから、フリップフロップＦ１＿ｉに新たなクロックサイクルのデータがラッチされた後も、しばらくの間、前のクロックサイクルのデータがフリップフロップＦ２＿１に入力され続ける。つまり、フリップフロップＦ２＿１においてラッチされるべきデータが、より長い期間、フリップフロップＦ２−1に入力され続ける。例えば、クロック信号ＣＫ１のデューティー比（ハイレベル期間とローレベル期間との比）が１：１の場合、フリップフロップＦ２＿１のデータ入力期間が約２分の１周期だけ延長される。
従って、クロック信号ＣＫ２の位相がクロック信号ＣＫ１に比べて多少遅れても（図４（Ｄ））、フリップフロップＦ２＿１において正しいデータがラッチされる（図４（Ｅ））。クロック信号ＣＫ１とクロック信号ＣＫ２の位相差を、半周期よりも小さく制御することが好ましい。
【００４１】
以上説明したように、本実施形態に係る半導体集積回路装置によれば、第２の検査モードにおいてスキャンチェインＳＣ１〜ＳＣｍが直列に接続され、その初段のスキャンチェインＳＣ１に検査データが供給される。供給された検査データは、各スキャンチェインにおいて、それぞれ位相が異なるクロック信号に基づいてシフトされるが、直列接続されたスキャンチェインの間をシフトする際には、データ保持部２０によって保持される。すなわち検査データは、スキャンチェインの間においてクロック信号（ＣＫ１〜ＣＫｍ）のクロックサイクルの順序に従って順次にシフトするように、直列接続されたスキャンチェインの間をシフトする途中でデータ保持部２０により順次に保持される。具体的には、スキャンチェインＳＣｒ（ｒ＝１〜ｍ−１）からクロック信号ＣＫｒの立ち上がりに同期して出力される検査データが、データ保持部２０のラッチ回路ＬＡｒによってクロック信号ＣＫｒの立ち下りに同期して保持され、後段のスキャンチェインＳＣｒ＋１に出力される。
したがって、それぞれ異なるクロック信号に基づいて検査データをシフトする複数のスキャンチェインを直列に接続する場合でも、スキャンチェインの間でデータシフトのエラーを生じることなく適切にスキャンパス検査を行うことができる。
【００４２】
また、本実施形態に係る半導体集積回路装置によれば、第１の検査モードにおいてスキャンチェインＳＣ１〜ＳＣｍからシフト出力される応答データが、データ保持部２０を介さずに応答データ処理部３０へ入力される。
データ保持部２０を介して応答データが伝送される場合、スキャンチェインＳＣｎから１の応答データが出力される１クロックサイクルの途中で、データ保持部２０による当該１の応答データの保持が行われる。図４の例を参照すれば、スキャンチェインＳＣ１からデータが出力された時点の約半周期後に、ラッチ回路ＬＡ１によって当該データが保持される。この場合、データ保持部２０においてデータを保持する前に存在するセットアップ時間が当該１クロックサイクルより短くなることから、データ保持部２０におけるセットアップ時間の余裕が減少し、データ保持部２０のデータ保持動作のタイミング条件が厳しくなる。これに対して、本実施形態では、データ保持部２０を介すことなく応答データ処理部３０へ応答データが入力されることから、データ保持部２０の上述したタイミング条件の制約がなくなる。従って、第１の検査モードにおけるデータシフトの速度をより高速化することが可能となり、検査時間の短縮に貢献できる。
【００４３】
次に、本発明の第２の実施形態について説明する。
図５は、第２の実施形態に係る半導体集積回路装置の構成例を図解した図である。図５に示す半導体集積回路装置は、図１に示す半導体集積回路装置におけるデータ保持部２０をデータ保持部２０Ａに置換して、応答データ処理部３０がデータ保持部２０Ａを介してスキャンチェインＳＣ１〜ＳＣｍの応答データを入力するようにしたものであり、他の構成については図１に示す半導体集積回路装置と同様である。
【００４４】
データ保持部２０Ａは、第２の検査モードにおいて、スキャンチェインの間をシフトする検査データを先述したデータ保持部２０と同様なタイミングで保持することにより、データシフトのエラーを防止する一方、第１の検査モードにおいては、このデータ保持を行わない。すなわち、第２の検査モードにおいては、前段のスキャンチェインから入力した検査データを後段のスキャンチェインへ透過的に出力する。
図５の例において、データ保持部２０Ａは、ラッチ回路ＬＢ１〜ＬＢｍを有する。ラッチ回路ＬＢ１〜ＬＢｍは、図１における先述したラッチ回路ＬＡ１〜ＬＡｍにデータ保持動作の制御機能を持たせたものである。すなわち、ラッチ回路ＬＢ１〜ＬＢｍは、イネーブル端子ｘＴに入力される検査モードの制御信号Ｓ１に応じて、第２の検査モード時には先述したラッチ回路ＬＡ１〜ＬＡｍと同様なデータ保持を行い、第１の検査モード時には入力データをそのまま応答データ処理部３０に出力する。
【００４５】
図５に示す半導体集積回路装置によれば、第１の検査モードにおいてデータ保持部２０Ａが応答データを透過的に出力することから、データ保持部２０Ａを介して応答データ処理部３０に応答データが入力されても、タイミング条件が厳しくなることはない。したがって、図１に示す半導体集積回路装置と同様に、第１の検査モードにおけるデータシフトを高速化することが可能である。また、第２の検査モード時には、データ保持部２０Ａにおいて先述のデータ保持部２０と同様な検査データの保持が行われることから、データシフトのエラーを生じることなくスキャンパス検査を行うことができる。
【００４６】
次に、本発明の第３の実施形態について説明する。
図６は、第３の実施形態に係る半導体集積回路装置の構成例を図解した図である。図６に示す半導体集積回路装置は、図１に示す半導体集積回路装置におけるデータ保持部２０をデータ保持部２０Ｂに置換して、検査データ供給部１０の各セレクタ回路（ＳＬ２〜ＳＬｍ）をデータ保持部２０Ｂの入力側に設けたものであり、他の構成については図１に示す半導体集積回路装置と同様である。
【００４７】
データ保持部２０Ｂは、図５におけるデータ保持部２０Ａと同様であり、第２の検査モードにおいてはスキャンチェイン間でシフトされるデータの保持を行うが、第１の検査モードにおいては入力データを透過的に出力する。
例えばデータ保持部２０Ｂは、図５における同一符号の構成要素と同様なデータ保持動作の制御機能を備えたラッチ回路ＬＢ１〜ＬＢｍ−１を有する。すなわち、ラッチ回路ＬＢ１〜ＬＢｍ−１は、イネーブル端子ｘＴに入力される検査モードの制御信号Ｓ１に応じて、第１の検査モード時にはラッチ回路ＬＡ１〜ＬＡｍ−１と同様なデータ保持を行い、第１の検査モード時には各スキャンチェインからの応答データを透過的に出力する。
なお図６の例ではラッチ回路ＬＢｍが省略されており、スキャンチェインＳＣｍの出力データがそのままセレクタ回路４０へ入力される。
【００４８】
検査データ供給部１０のセレクタ回路ＳＬｑ（ｑ＝２〜ｍ）は、スキャンチェインＳＣｑ−１とスキャンチェインＳＣｑとを接続する経路において、ラッチ回路ＬＢｑ−１の入力側に設けられている。セレクタ回路ＳＬｑは、第１の検査モードにおいては、検査データ生成部１１により生成されたスキャンチェインＳＣｑの検査データＳＤｑを選択して出力し、第２の検査モードにおいては、スキャンチェインＳＣｑ−１からシフト出力される検査データを選択して出力する。
【００４９】
応答データ処理部３０は、セレクタ回路ＳＬ２〜ＳＬｍの入力側において、データ保持部２０を介すことなくスキャンチェインＳＣ１〜ＳＣｍからの応答データを入力し、圧縮等の処理を行う。
【００５０】
図６に示す半導体集積回路装置によれば、第１の検査モードにおいてデータ保持部２０Ｂが応答データを透過的に出力することから、このときセレクタ回路ＳＬｑ（ｑ＝２〜ｍ）を介してデータ保持部２０Ｂに入力される検査データＳＤｑは、データ保持部２０Ｂにおいて保持されることなくそのままスキャンチェインＳＣｑに入力される。したがって、本実施形態においても、第１の検査モードの検査を正常に行うことができる。また、第２の検査モード時には、データ保持部２０Ｂにおいて先述のデータ保持部２０と同様な検査データの保持が行われることから、データシフトのエラーを生じることなくスキャンパス検査を行うことができる。しかも、応答データ処理部３０にはデータ保持部２０Ｂを介さずに応答データが入力されるため、図１に示す半導体集積回路装置と同様に、第１の検査モードにおけるデータシフトを高速化することが可能である。
【００５１】
以上、本発明の幾つかの実施形態について説明したが、本発明は上述した実施形態のみに限定されるものではなく、種々のバリエーションを含んでいる。
【００５２】
図１、図５に示す半導体集積回路装置では、スキャンチェインＳＣｍの出力側にラッチ回路（ＬＡｍ，ＬＢｍ）が設けられているが、スキャンチェインＳＣｍの出力側においてデータ保持を行わなくてもデータシフトのエラーは生じないので、このラッチ回路は省略可能である。
【００５３】
上述した実施形態では、検査装置において圧縮された検査データを検査データ生成部１１において復元する例が挙げられているが、本発明はこれに限定されない。例えば、検査データ生成部１１において疑似ランダムなパターンを生成し、これを検査データとして各スキャンチェインに供給してもよい。
【図面の簡単な説明】
【００５４】
【図１】本発明の第１の実施形態に係る半導体集積回路装置の構成例を図解した図である。
【図２】データ保持部を設けずにスキャンチェインを直列接続した場合において、クロック信号の位相が一致している場合の動作例を示す図である。
【図３】データ保持部を設けずにスキャンチェインを直列接続した場合において、クロック信号の位相がずれている場合の動作例を示す図である。
【図４】データ保持部を介してスキャンチェイン間のデータシフトを行った場合の動作例を説明するための図である。
【図５】本発明の第２の実施形態に係る半導体集積回路装置の構成例を図解した図である。
【図６】本発明の第３の実施形態に係る半導体集積回路装置の構成例を図解した図である。
【図７】スキャンパス方式によりロジック回路の検査を行う一般的なＬＳＩの構成の一例を示す図である。
【符号の説明】
【００５５】
１０…検査データ供給部、１１…検査データ生成部、ＳＬ２〜ＳＬｍ…セレクタ回路、２０，２０Ａ,２０Ｂ…データ保持部、ＬＡ１〜ＬＡｍ，ＬＢ１〜ＬＢｍ…ラッチ回路、３０…応答データ処理部、４０…セレクタ回路
【図１】
2009216619.tif 000003
【図２】
2009216619.tif 000004
【図３】
2009216619.tif 000005
【図４】
2009216619.tif 000006
【図５】
2009216619.tif 000007
【図６】
2009216619.tif 000008
【図７】
2009216619.tif 000009