(57)【要約】【課題】各回路モジュールの動作を制御する制御信号を流用することで、スキャンテストの効率化を図ること。【解決手段】半導体集積回路１００内のスキャンチェーンを構成する回路モジュールＭは、選択回路１０３と、シフトレジスタと、クロックゲーティング回路１０２を有している。選択回路１０３は、スキャン信号を取り込む短絡パスとスキャン信号をシフトレジスタへ経由させて取り込む冗長パスのうち、制御信号生成回路１０１から供給される制御信号（ＥＮ＿Ｍ）がシフトレジスタの動作を許可する場合、冗長パスを選択し、許可しない場合、短絡パスを選択する。【選択図】図１−１
2010223808.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路内のスキャンチェーンの一部を構成するシフトレジスタと、
前記半導体集積回路内部で生成される制御信号により前記シフトレジスタの動作を制御する制御手段と、
スキャン信号を取り込む短絡パスと前記スキャン信号を前記シフトレジスタへ経由させて取り込む冗長パスのうち、前記制御信号により前記シフトレジスタの動作を許可する場合、前記冗長パスを選択し、許可しない場合、前記短絡パスを選択する選択手段と、
を備えることを特徴とする回路モジュール。
【請求項２】
前記半導体集積回路内部で生成されるスキャン動作を制御するスキャン動作信号がスキャンの動作を許可しない場合、前記制御信号の値を保持し、前記スキャン動作信号がスキャンの動作を許可する場合、保持した前記制御信号の値を前記選択手段へ出力する保持手段を備えることを特徴とする請求項１に記載の回路モジュール。
【請求項３】
前記選択手段によって前記短絡パスまたは前記冗長パスのいずれのパスが選択されたかを示す情報を前記選択手段により取り込まれた信号へ付加して出力する付加手段を備えることを特徴とする請求項１または２に記載の回路モジュール。
【請求項４】
スキャンチェーンを構成するシフトレジスタを有する複数の回路モジュールと、
前記各回路モジュールの前記シフトレジスタの動作を制御する制御手段と、
前記回路モジュールごとに前記制御手段に前記シフトレジスタの動作を許可する制御信号を生成する制御信号生成手段と、
前記各回路モジュールへのスキャン信号を取り込む短絡パスと前記スキャン信号を前記シフトレジスタへ経由させて取り込む冗長パスのうち、前記制御信号生成手段によって生成された制御信号により前記シフトレジスタの動作を許可する場合、前記冗長パスを選択し、許可しない場合、前記短絡パスを選択する選択手段と、
を備えることを特徴とする半導体集積回路。
【請求項５】
スキャン動作を制御するスキャン動作信号を生成する動作信号生成手段と、
前記動作信号生成手段により生成されたスキャン動作信号がスキャンの動作を許可しない場合、前記制御信号の値を保持し、前記スキャン動作信号がスキャンの動作を許可する場合、保持した前記制御信号の値を前記選択手段へ出力する保持手段と、
を備えることを特徴とする請求項４に記載の半導体集積回路。
【請求項６】
前記選択手段により前記短絡パスおよび前記冗長パスのうち、いずれのパスが選択されたかを示すパス選択情報を前記選択手段により取り込まれた信号に付加して出力する付加手段を備えることを特徴とする請求項４に記載の半導体集積回路。
【請求項７】
スキャンチェーンを構成するシフトレジスタを有する複数の回路モジュールと、前記回路モジュール内のシフトレジスタが有するデータ保持素子の出力データを、当該回路モジュールよりもスキャン信号が後から出力される回路モジュールへ制御信号として供給する制御信号生成手段と、前記各回路モジュールへのスキャン信号を取り込む短絡パスと前記スキャン信号を前記シフトレジスタへ経由させて取り込む冗長パスのうち、前記制御信号により前記シフトレジスタの動作を許可する場合、前記冗長パスを選択し、許可しない場合、前記短絡パスを選択する選択手段と、を備える半導体集積回路を検査する検査装置であって、
前記半導体集積回路から出力されるスキャンデータ列を取得する取得手段と、
前記各回路モジュール内のシフトレジスタが有しているデータ保持素子の識別情報と前記データ保持素子の出力先である回路モジュールの識別情報とを有する出力先情報と前記回路モジュールの出力順を示している出力順序情報とを記憶する記憶手段と、
前記記憶手段により記憶されている出力先情報によりいずれのパスが選択されているかを示すパス選択情報が未知である回路モジュールの前記パス選択情報を対象スキャンデータ列から検出する検出手段と、
前記記憶手段により記憶されている前記出力順序情報により前記複数の回路モジュールの中から出力順に回路モジュールを指定する指定手段と、
前記指定手段により指定された回路モジュールについて検出されたパス選択情報が、前記冗長パスおよび前記短絡パスのうち、いずれのパスを示しているかを判断する判断手段と、
前記判断手段により前記冗長パスと判断された場合、前記取得手段により取得されたスキャンデータ列の中から前記回路モジュール内の前記シフトレジスタが有するデータ保持素子数分のスキャンデータ列を前記対象スキャンデータ列に設定する設定手段と、
前記対象スキャンデータ列と前記回路モジュールの識別情報とを関連付ける関連付手段と、
前記関連付手段により関連付けられた結果を出力する出力手段と、
を備えることを特徴とする検査装置。
【請求項８】
スキャンチェーンを構成するシフトレジスタを有する複数の回路モジュールと、前記各回路モジュールへのスキャン信号を取り込む短絡パスと前記スキャン信号を前記シフトレジスタへ経由させて取り込む冗長パスのうち、各モジュールの動作を制御する制御信号により前記シフトレジスタの動作を許可する場合、前記冗長パスを選択し、許可しない場合、前記短絡パスを選択する選択手段と、前記選択手段により取り込まれた信号へ前記選択手段により前記短絡パスまたは前記冗長パスのいずれのパスが選択されたかを示すパス選択情報を付加して出力する付加手段と、を備える半導体集積回路を検査する検査装置であって、
前記半導体集積回路から出力されるスキャンデータ列を取得する取得手段と、
前記各回路モジュール内のシフトレジスタが有するデータ保持素子の出力順と前記回路モジュールの出力順を示している出力順序情報を記憶する記憶手段と、
前記記憶手段により記憶されている出力順序情報により前記複数の回路モジュールの中から出力順に回路モジュールを指定する指定手段と、
前記指定手段により指定された回路モジュール内のパス選択情報に対応するスキャンデータを前記取得手段により取得されたスキャンデータ列から抽出する抽出手段と、
前記抽出手段により抽出された前記パス選択情報であるスキャンデータが前記冗長パスおよび前記短絡パスのうち、いずれのパスを示しているかを判断する判断手段と、
前記判断手段により前記冗長パスを示していると判断された場合、前記スキャンデータ列の中から前記回路モジュール内のシフトレジスタが有するデータ保持素子数分のスキャンデータ列と前記回路モジュールの識別情報とを関連付ける関連付手段と、
前記関連付手段により関連付けられた結果を出力する出力手段と、
を備えることを特徴とする検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示技術は、スキャンテストを実施するための回路モジュール、半導体集積回路、およびスキャンデータを検査する検査装置に関する。
【背景技術】
【０００２】
従来より、半導体集積回路の低消費電力化として、フリップフロップやラッチのような順序回路を構成するデータ保持素子へのクロック信号を制御する技術が知られている。クロック信号を制御する技術とは、たとえば、半導体集積回路の動作に応じてデータの更新がおこなわれない半導体集積回路内の回路モジュールごとに動作が、クロック信号が供給されないことにより停止される。クロック信号を制御する技術では、少なくとも制御信号とクロック信号を入力とするクロックゲーティング回路によりクロック信号が制御される。クロック信号の供給を制御する制御信号は、半導体集積回路内で生成される。
【０００３】
たとえば、クロックゲーティング回路へ入力される制御信号がクロック信号の供給を許可する場合、クロックゲーティング回路はクロック信号を出力する。そして、制御信号が、クロック信号の供給を許可しない場合、クロックゲーティング回路は、たとえば、０か１に固定されているデータを出力する。
【０００４】
さらに、半導体集積回路の低消費電力化として、電源電圧（以下、パワーと称す。）を制御する技術が知られている。パワーを制御する技術とは、たとえば、半導体集積回路の動作に応じてデータの更新がおこなわれない回路モジュールの動作が、パワーが供給されないことにより停止される。パワーを制御する技術では、少なくとも制御信号とパワーを入力とするパワーゲーティング回路によりパワーが制御される。制御信号は、半導体集積回路内の制御信号生成回路により生成されている。
【０００５】
また、従来より、半導体集積回路のテストを容易化させる技術として、スキャンテストが知られている。スキャンテストは、半導体集積回路の外部の少数のＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）端子のみで半導体集積回路の内部を制御または観測する技術である。スキャンテストでは、半導体集積回路内のデータ保持素子が、シフトレジスタを構成するためにスキャンテスト用のデータ保持素子に置き換えられている。
【０００６】
つぎに、テストモード時には、スキャンテスト用のデータ保持素子をシリアルに接続させることで、シフトレジスタが形成される。そして、半導体集積回路の外部のＩ／Ｏ端子からスキャン用のデータ保持素子を制御または観測できるようなスキャンチェーンが構成される。
【０００７】
また、従来より、半導体集積回路のスキャンテスト時間の短縮化として、スキャンチェーンを構成するデータ保持素子を含むモジュールごとに選択回路により出力を切り替える技術が知られている（下記特許文献１を参照。）。選択回路により当該モジュール内のシフトレジスタの出力データを他の回路モジュールに出力するか、シフトレジスタを介さずにスキャン信号を他の回路モジュールに出力するかが、切り替えられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第２６７６１６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、半導体集積回路のスキャンテスト時には、スキャンチェーンを構成するデータ保持素子を含む回路モジュールはすべて繋がっているため必ず動作させなければならない。したがって、上述した動作を制御するクロック／パワーゲーティング回路を有する半導体集積回路のスキャンテスト時には、クロック／パワーゲーティング回路による制御に関係なくモジュールを動作させるため、スキャンテストに手間が生じる問題点があった。
【００１０】
さらに、スキャンテストの種類によっては動作させる必要のない回路モジュール内のシフトレジスタでは、どのようなスキャンデータが出力されるか不明である。そのため、設計者が、どのようなデータが出力されるかを確認する必要があり、スキャンテストが困難であるという問題点があった。そして、スキャンチェーンを構成する他の回路モジュールのスキャンデータが必要のない回路モジュールにより影響されていないかなどを確認する必要があり、デバッグが困難であるという問題点があった。
【００１１】
そして、回路モジュールごとに選択回路により出力を切り替える技術では、動作を制御するゲーティング回路を有する半導体集積回路の場合、外部にゲーティング回路へ入力される制御信号の情報に基づいて外部から制御を行うといった手間が生じる問題点があった。そして、入力端子から正確なタイミングで制御信号が入力されているかどうかを設計者が確認しなければならず、スキャンテストが困難であるという問題点があった。
【００１２】
さらに、回路モジュールごとに選択回路により出力を切り替える技術では、回路モジュールごとに制御信号を入力させるための入力端子が必要である。制御信号を入力させるための入力端子が、不足するという問題点があった。
【００１３】
本開示技術は、上述した従来技術による問題点を解消するため、半導体集積回路内で生成される動作を制御するための制御信号を流用することで、スキャンテストの効率化およびテスト時間の短縮化を図ることができる回路モジュール、半導体集積回路、および検査装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するため、本開示技術は、半導体集積回路内のスキャンチェーンの一部を構成するシフトレジスタと、半導体集積回路内部で生成される制御信号によりシフトレジスタの動作を制御する制御手段と、スキャン信号を取り込む短絡パスとスキャン信号をシフトレジスタへ経由させて取り込む冗長パスのうち、制御信号によりシフトレジスタの動作を許可する場合、冗長パスを選択し、許可しない場合、短絡パスを選択する選択手段と、を備えることを特徴とする。
【発明の効果】
【００１５】
本回路モジュール、半導体集積回路、および検査装置によれば、半導体集積回路内で生成される動作を制御するための制御信号を流用することで、スキャンテストの効率化およびテスト時間の短縮化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１−１】実施の形態１にかかる半導体集積回路および回路モジュールを示す説明図である。
【図１−２】冗長パスを示す説明図である。
【図１−３】短絡パスを示す説明図である。
【図２−１】スキャンチェーンを構成する複数の回路モジュールを示す説明図である。
【図２−２】半導体集積回路２００から出力されるスキャンデータ列例を示す説明図である。
【図３】保持回路を有する回路モジュールを示す説明図である。
【図４−１】付加回路を有する回路モジュールを示す説明図である。
【図４−２】半導体集積回路４００から出力されるスキャンデータ列例を示す説明図である。
【図５】実施の形態４の検査装置が対象とする半導体集積回路を示す説明図である。
【図６−１】各回路モジュールがいずれのパスを選択したかを示すパス選択情報の説明図である。
【図６−２】シフトレジスタが有するＦＦの出力先である回路モジュールを示す説明図である。
【図６−３】実施の形態４にかかる出力順序情報およびスキャンデータ列の例を示す説明図である。
【図７】実施の形態４にかかる検査装置のハードウェア構成を示すブロック図である。
【図８】実施の形態４にかかる検査装置の機能的構成を示すブロック図である。
【図９】登録されたパス選択リスト６００を示す説明図である。
【図１０】検査装置８００により出力された出力の一例を示す説明図である。
【図１１】実施の形態４にかかる検査装置８００の検査処理手順を示すフローチャートである。
【図１２】登録処理の登録処理手順を示すフローチャートである。
【図１３】実施の形態５にかかる出力順序情報およびスキャンデータ列の一例を示す説明図である。
【図１４】実施の形態５にかかる検査装置の機能的構成を示すブロック図である。
【図１５】検査装置１４００により出力された出力の一例を示す説明図である。
【図１６】実施の形態５にかかる検査装置１４００の検査処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照して、本開示技術にかかる回路モジュール、半導体集積回路、および検査装置の好適な実施の形態を詳細に説明する。本実施の形態では、シフトレジスタへクロック信号の供給を制御する制御信号によりパスが選択される回路モジュールを用いて説明する。そして、シフトレジスタへパワーの供給を制御する制御信号によりパスが選択される説明は、省略する。
【００１８】
（実施の形態１）
実施の形態１では、シフトレジスタの動作を制御する制御信号に基づいて、スキャン信号を取り込む短絡パスとスキャン信号をシフトレジスタへ経由させて取り込む冗長パスのうち、いずれか一方のパスを選択する。これにより、半導体集積回路内で生成される制御信号を流用することで、スキャンテストの効率化を図ることができる。さらに、スキャンテスト時間の短縮化を図ることができる。図１−１〜図１−３にて実施の形態１にかかる半導体集積回路および回路モジュールを示す。
【００１９】
図１−１は、実施の形態１にかかる半導体集積回路および回路モジュールを示す説明図である。半導体集積回路１００は、スキャンチェーンを構成する回路モジュールＭと、スキャンチェーンを構成する複数の回路モジュール（点線の矢印により複数の回路モジュールが含まれていることを示す）と、制御信号生成回路１０１と、入力端子１０４と、出力端子１０５により構成されている。なお、矢印の向きがデータの向きを示している。
【００２０】
本実施の形態では、制御信号生成回路１０１が、クロック信号を供給するか否かを制御する制御信号を生成する。なお、上述したように本実施の形態では、クロックゲーティング回路を例として説明し、パワーゲーティング回路を例とした説明を省略する。回路モジュールＭのクロック信号を供給するか否かを制御する制御信号は、ＥＮ＿Ｍである。
【００２１】
回路モジュールＭは、クロックゲーティング回路１０２と、ＦＦ（Ｆｌｉｐ  Ｆｌｏｐ）７〜ＦＦ１２と、選択回路１０３により構成されている。本実施の形態では、データ保持素子としてＦＦを用いて説明する。ＦＦ７〜ＦＦ１２が、半導体集積回路内のスキャンチェーンの一部を構成するシフトレジスタである。クロック信号に同期してＦＦ７からＦＦ８へ、ＦＦ８からＦＦ９へとスキャン信号がシフトされる。
【００２２】
そして、クロックゲーティング回路１０２には、ＥＮ＿ＭとＣＬＫが入力されている。ＣＬＫは、クロック信号を示している。ＥＮ＿Ｍが０の場合、クロックゲーティング回路１０２はＦＦ７〜ＦＦ１２へクロック信号を供給せず、ＥＮ＿Ｍが１の場合、クロックゲーティング回路１０２はＦＦ７〜ＦＦ１２にクロック信号を供給する。したがって、ＥＮ＿Ｍが０の場合、シフトレジスタの動作が許可されないことを示し、ＥＮ＿Ｍが１の場合、シフトレジスタの動作が許可されることを示している。
【００２３】
つぎに、選択回路１０３には、ＥＮ＿Ｍと、スキャン信号と、ＦＦ１２の出力データが入力されている。選択回路１０３は、ＥＮ＿Ｍが０の場合、選択回路１０３はスキャン信号を出力する経路を選択し、ＥＮ＿Ｍが１の場合、選択回路１０３はＦＦ１２の出力データを出力する経路を選択する。前者を短絡パスと称し、後者を冗長パスと称す。図１−２を用いて冗長パスについて、図１−３を用いて短絡パスについて示す。
【００２４】
図１−２は、冗長パスを示す説明図である。ＥＮ＿Ｍが１の場合、選択回路１０３により冗長パスが選択される。冗長パスでは、クロック信号がシフトレジスタへ供給される。そして、回路モジュールＭに入力されるスキャン信号がシフトレジスタを経由している（太線の矢印にて示す）。そして、ＦＦ１２の出力データが、選択回路１０３により選択されて回路モジュールＭから出力される。つぎに、図１−３を用いて短絡パスについて示す。
【００２５】
図１−３は、短絡パスを示す説明図である。ＥＮ＿Ｍが０の場合、選択回路１０３により短絡パスが選択される。短絡パスでは、クロック信号がシフトレジスタへ供給されない。そして、回路モジュールＭに入力されるスキャン信号がシフトレジスタを経由せずに選択回路１０２により選択されて回路モジュールＭより出力される。つぎに、図２−１および図２−２を用いてスキャンチェーンを構成する複数の回路モジュールについて示す。
【００２６】
図２−１は、スキャンチェーンを構成する複数の回路モジュールを示す説明図である。半導体集積回路２００は、回路モジュールＬと、回路モジュールＭと、回路モジュールＮと、その他複数の回路モジュール（点線の矢印が複数の回路モジュールを示す）と、制御信号生成回路２０１と、入力端子１０４と、出力端子１０５により構成されている。半導体集積回路２００内の回路モジュールＭは、半導体集積回路１００内の回路モジュールＭと同一構成である。
【００２７】
回路モジュールＬは、クロックゲーティング回路２０２と、選択回路２０３と、ＦＦ１〜ＦＦ６により構成されている。ＦＦ１〜ＦＦ６が、半導体集積回路２００内のスキャンチェーンの一部を構成するシフトレジスタである。そして、回路モジュールＬ内のシフトレジスタの動作を制御する制御信号が、ＥＮ＿Ｌである。
【００２８】
回路モジュールＮは、クロックゲーティング回路２０４と、選択回路２０５と、ＦＦ１３〜ＦＦ１８により構成されている。ＦＦ１３〜ＦＦ１８が、半導体集積回路２００内のスキャンチェーンの一部を構成するシフトレジスタである。そして、回路モジュールＮ内のシフトレジスタの動作を制御する制御信号が、ＥＮ＿Ｎである。図２−２を用いて出力端子１０５から出力されるスキャンデータ列の例を示す。
【００２９】
図２−２は、半導体集積回路２００から出力されるスキャンデータ列例を示す説明図である。スキャンデータ列例１では、ＥＮ＿Ｌが１、ＥＮ＿Ｍが１、かつＥＮ＿Ｎが１の場合の出力端子１０５から出力されるスキャンデータ列の一部を示している。ＥＮ＿Ｌが１、ＥＮ＿Ｍが１、かつＥＮ＿Ｎが１の場合、回路モジュールＮ内の選択回路２０５と、回路モジュールＭ内の選択回路１０３と、回路モジュールＬ内の選択回路２０３は、冗長パスを選択する。したがって、スキャンデータ列例１には、矢印（出力順を示している）の方向に回路モジュールＮのスキャンデータ列と、継いで回路モジュールＭのスキャンデータ列と、継いで回路モジュールＬのスキャンデータ列が並んでいる。
【００３０】
スキャンデータ列例２は、ＥＮ＿Ｌが１、ＥＮ＿Ｍが０、かつＥＮ＿Ｎが１の場合の出力端子１０５から出力されるスキャンデータ列の一部を示している。ＥＮ＿Ｌが１、ＥＮ＿Ｍが０、かつＥＮ＿Ｎが１の場合、回路モジュールＮ内の選択回路２０５と回路モジュールＬ内の選択回路２０３は、冗長パスを選択し、回路モジュールＭ内の選択回路１０３は、短絡冗長パスを選択する。したがって、スキャンデータ列例２には、矢印（出力順を示している）の方向に回路モジュールＮのスキャンデータ列と、継いで回路モジュールＬのスキャンデータ列が並んでいる。
【００３１】
これにより、回路モジュールの動作を制御する制御信号を、パスを選択するための制御信号として流用することで、スキャンテストの効率化を図ることができる。さらに、スキャンデータを短縮化することができ、テスト時間の短縮化を図ることができる。
【００３２】
（実施の形態２）
つぎに、実施の形態２では、回路モジュールが、スキャンテストの動作を制御するスキャン動作信号がスキャンテストを許可しない場合、制御信号の値を保持し、許可する場合、制御信号の値を選択回路に出力する保持回路を有している。これにより、スキャンテスト中に選択回路に入力される制御信号が変化しない。なお、実施の形態１で説明した構成と同一構成には同一符号を付し、同一構成の説明を省略する。図３を用いて保持回路を有する回路モジュールを示す。
【００３３】
図３は、保持回路を有する回路モジュールを示す説明図である。半導体集積回路３００は、制御信号生成回路３０１と、回路モジュールＭと、回路モジュールＮと、その他複数の回路モジュール（点線の矢印により複数の回路モジュールが含まれていることを示す）と、入力端子１０４と、出力端子１０５により構成されている。
【００３４】
回路モジュールＭは、ＦＦ７〜ＦＦ１２と、クロックゲーティング回路１０２と、選択回路１０３と、保持回路３０２により構成されている。そして、回路モジュールＮは、ＦＦ１３〜ＦＦ１８と、クロックゲーティング回路２０４と、選択回路２０５と、保持回路３０３により構成されている。回路モジュールＭ内のシフトレジスタの動作を制御するＥＮ＿Ｍは、回路モジュールＮ内のＦＦ１４の出力データにより決定されている。したがって、スキャンテストが動作している場合、ＦＦ１４の出力データはスキャンチェーンのシフト動作により変化する。したがって、選択回路１０３にＥＮ＿Ｍが入力されるとスキャンテスト中に短絡パスと冗長パスとがスキャン信号に基づいて切り替わる。
【００３５】
スキャンテストが動作していない状態でのＥＮ＿Ｍの値が保持され、スキャンテストが動作している状態では保持されたＥＮ＿Ｍの値が選択回路１０３に入力されることで、不必要にパスが切り替わるのを防ぐことができる。ＥＮ＿Ｍの値が、保持回路３０２により保持される。
【００３６】
保持回路３０２は、２入力のＡＮＤ回路３０４とＦＦ１９により構成されている。ＡＮＤ回路３０４には、ＣＬＫとスキャン動作信号が入力されている。スキャン動作信号によりスキャンテストの動作が制御される。たとえば、スキャン動作信号が１の場合、スキャンテストの動作が許可されてスキャンチェーンが構成され、クロック信号が入力されることによりスキャンテストが実行される。そして、スキャン動作信号が０の場合、スキャンテストの動作が許可されずスキャンチェーンは構成されない。
【００３７】
保持回路３０２の説明に戻って、ＡＮＤ回路３０４は、スキャン動作信号が０の場合、クロック信号をＦＦ１９へ供給し、スキャン動作信号が１の場合、クロック信号をＦＦ１９へ供給しない。したがって、ＦＦ１９は、スキャン動作信号が０の場合、ＥＮ＿Ｍの値を保持する。そして、ＦＦ１９は、スキャン動作信号が１の場合、ＥＮ＿Ｍの値を保持しない。保持回路３０３は、２入力のＡＮＤ回路３０５とＦＦ２０により構成されている。保持回路３０３は、保持回路３０２と同一構成である。
【００３８】
これにより、スキャン動作信号がスキャンの動作を許可しない場合、保持回路により制御信号の値が保持される。そして、スキャン動作信号がスキャンの動作を許可する場合、保持回路により保持されている制御信号の値が選択回路に出力される。したがって、スキャンテスト中にパスが固定され、スキャンテストの効率化を図ることができる。
【００３９】
（実施の形態３）
つぎに、実施の形態３では、実施の形態１または２で説明した回路モジュールが、選択回路により短絡パスまたは冗長パスのいずれのパスが選択されたかを示すパス選択情報を付加する付加回路を有する。これにより、デバッグの容易化を図ることができる。なお、実施の形態１および２で説明した構成と同一構成には同一符号を付し、同一構成の説明を省略する。図４−１および図４−２を用いて付加回路を有する回路モジュールを示す。
【００４０】
図４−１は、付加回路を有する回路モジュールを示す説明図である。半導体集積回路４００は、回路モジュールＭと、その他複数の回路モジュール（点線の矢印により複数の回路モジュールが含まれていることを示す）と、制御信号生成回路４０１と、入力端子１０４と、出力端子１０５により構成されている。そして、回路モジュールＭは、ＦＦ７〜ＦＦ１２と、クロックゲーティング回路１０２と、選択回路１０３と、保持回路３０２と、付加回路４０２により構成されている。
【００４１】
付加回路４０２は、冗長パスおよび短絡パスのうち、いずれのパスが選択されたかを示すパス選択情報を回路モジュールＭのスキャンデータ列の先頭に付与して出力する。付加回路４０２は、ＦＦ＿Ｍと、選択回路４０３により構成されている。選択回路４０３は、選択回路１０３の出力データとＥＮ＿Ｍの値とをスキャン動作信号に基づいて選択する。
【００４２】
スキャン動作信号が０の場合（スキャンテストが許可されていない場合）、選択回路４０３は、ＥＮ＿Ｍの値を選択し、スキャン動作信号が１の場合（スキャンテストが許可されている場合）、選択回路４０３は、選択回路１０３の出力データを選択する。そして、選択回路４０３により選択されたデータが、ＣＬＫに同期されてＦＦ＿Ｍに保持されてモジュールＭから出力される。
【００４３】
スキャン動作信号が０の場合、ＥＮ＿Ｍの値がＦＦ＿Ｍに保持されることで、選択回路１０３からスキャン信号の先頭にＥＮ＿Ｍの値が付与される。出力端子１０５から出力されるスキャンデータ列内の各回路モジュールの先頭であるスキャンデータをパス選択情報と称す。図４−２を用いて出力端子１０５から出力されるスキャンデータ列を示す。
【００４４】
図４−２は、半導体集積回路４００から出力されるスキャンデータ列例を示す説明図である。半導体集積回路４００は、さらに回路モジュールＮと回路モジュールＬを含む構成であることとする。そして、各回路モジュールが付加回路を有していることとする。スキャンデータ列例３では、出力端子１０５から出力されるスキャンデータ列の一部を示している。回路モジュールＮのパス選択情報は１である。したがって、回路モジュールＮ内の選択回路２０５は、冗長パスが選択されている。
【００４５】
そして、回路モジュールＭのパス選択情報は１である。したがって、回路モジュールＭ内の選択回路１０３により冗長パスが選択されている。回路モジュールＬのパス選択情報は１である。したがって、回路モジュールＬ内の選択回路２０３により冗長パスが選択されている。スキャンデータ列例３では、回路モジュールＮのスキャンデータ列と、回路モジュールＭのスキャンデータ列と、回路モジュールＬのスキャンデータ列を含んでいる。
【００４６】
つぎに、スキャンデータ列例４では、出力端子１０５から出力されるスキャンデータ列の一部を示している。回路モジュールＮのパス選択情報は１である。したがって、回路モジュールＮ内の選択回路２０５により冗長パスが選択されている。
【００４７】
そして、回路モジュールＭのパス選択情報は０である。したがって、回路モジュールＭ内の選択回路１０３により短絡パスが選択されている。回路モジュールＬのパス選択情報は１である。したがって、回路モジュールＬ内の選択回路２０３により冗長パスが選択されている。スキャンデータ列例４では、回路モジュールＮのスキャンデータ列と回路モジュールＬのスキャンデータ列を含んでいる。これにより、利用者（設計者または検査者）が、スキャンデータの値を観測することにより各回路モジュールがいずれのパスを選択したかが判別できる。したがって、スキャンテストの効率化を図ることができる。そして、デバッグの容易化を図ることができる。
【００４８】
（実施の形態４）
つぎに、実施の形態４では、半導体集積回路から出力されるスキャンデータ列を取得し、スキャンデータ列によりパス選択情報が未知である回路モジュールのパス選択情報を登録して各回路モジュールに対応するスキャンデータ列と回路モジュールの識別情報とを関連付けて出力する。これにより、デバッグの容易化を図ることができる。検査対象の半導体集積回路内の制御信号生成回路は、回路モジュール内のシフトレジスタが有するＦＦの出力データを、当該回路モジュールよりも後から出力される回路モジュールへ制御信号として供給する。なお、実施の形態１〜３で説明した構成と同一構成には同一符号を付し、同一構成の説明を省略する。
【００４９】
（検査対象の半導体集積回路）
図５は、実施の形態４の検査装置が対象とする半導体集積回路を示す説明図である。半導体集積回路５００は、スキャンチェーンを構成する回路モジュールＬと、スキャンチェーンを構成する回路モジュールＭと、スキャンチェーンを構成する回路モジュールＮと、スキャンチェーンを構成するその他複数の回路モジュール（点線の矢印により複数の回路モジュールが含まれていることを示す）と、制御信号生成回路５０１と、入力端子１０４と、出力端子１０５を含む構成である。
【００５０】
回路モジュールＮは、スキャン信号をシフトレジスタへ経由させて出力端子１０５へ出力する。回路モジュールＮのシフトレジスタが有しているＦＦ１４の出力データが、回路モジュールＭへ制御信号として供給されている。回路モジュールＮのシフトレジスタが有しているＦＦ１５の出力データが、回路モジュールＬへ制御信号として供給されている。
【００５１】
図６−１は、各回路モジュールがいずれのパスを選択したかを示すパス選択情報の説明図である。パス選択リスト６００は、回路モジュール名６０１と、パス選択情報６０２を含む構成である。パス選択情報６０２では、１の場合、冗長パスが選択されていることを示し、０の場合、短絡パスが選択されたことを示している。たとえば、回路モジュール名６０１が回路モジュールＮの場合では、パス選択情報６０２が１である。したがって、回路モジュールＮは、冗長パスが選択されることがわかる。
【００５２】
制御信号がスキャンチェーンを構成する他の回路モジュールから供給されている回路モジュールの場合、パス選択情報６０２は未知であるため、パス選択情報６０２には１が設定されている。したがって、未知であるパス選択情報６０２は、スキャンデータ列を検査することにより登録される。なお、パス選択リスト６００は、記憶装置またはアクセス可能な外部のコンピュータの記憶装置に記憶されている。
【００５３】
図６−２は、シフトレジスタが有するＦＦの出力先である回路モジュールを示す説明図である。出力先情報６０３は、ＦＦ名６０４と、回路モジュール名６０５を含む構成である。ＦＦの出力データが、当該ＦＦを含む回路モジュールよりも出力順が後ろである回路モジュールへ制御信号として供給される。たとえば、ＦＦ１４の出力先は、回路モジュールＭである。なお、出力先情報６０３は、記憶装置またはアクセス可能な外部のコンピュータの記憶装置に記憶されている。
【００５４】
図６−３は、実施の形態４にかかる出力順序情報およびスキャンデータ列の例を示す説明図である。出力順序情報６０６は、半導体集積回路５００内のスキャンテストを構成する回路モジュールのシフトレジスタを有するデータ保持素子の出力順を示す情報である。出力順序情報６０６は、回路モジュール名６０７と、ＦＦ名６０８を含む構成である。矢印の方向が出力順である。
【００５５】
なお、出力順序情報６０６は、記憶装置またはアクセス可能な外部のコンピュータの記憶装置に記憶されている。そして、スキャンデータ列例５は、半導体集積回路５００から出力されたスキャンデータ列の一例である。
【００５６】
（検査装置のハードウェア構成）
図７は、実施の形態４にかかる検査装置のハードウェア構成を示すブロック図である。図７において、検査装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）７０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７０３と、磁気ディスクドライブ７０４と、磁気ディスク７０５と、光ディスクドライブ７０６と、光ディスク７０７と、ディスプレイ７０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）７０９と、キーボード７１０と、マウス７１１と、スキャナ７１２と、プリンタ７１３と、ＪＴＡＧまたはスキャンテスト専用のＩ／Ｆ７１５を備えている。また、各構成部はバス７００によってそれぞれ接続されている。
【００５７】
ここで、ＣＰＵ７０１は、検査装置の全体の制御を司る。ＲＯＭ７０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ７０３は、ＣＰＵ７０１のワークエリアとして使用される。磁気ディスクドライブ７０４は、ＣＰＵ７０１の制御にしたがって磁気ディスク７０５に対するデータのリード／ライトを制御する。磁気ディスク７０５は、磁気ディスクドライブ７０４の制御で書き込まれたデータを記憶する。
【００５８】
光ディスクドライブ７０６は、ＣＰＵ７０１の制御にしたがって光ディスク７０７に対するデータのリード／ライトを制御する。光ディスク７０７は、光ディスクドライブ７０６の制御で書き込まれたデータを記憶したり、光ディスク７０７に記憶されたデータをコンピュータに読み取らせたりする。
【００５９】
ディスプレイ７０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ７０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００６０】
Ｉ／Ｆ７０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク７１４に接続され、このネットワーク７１４を介して他の装置に接続される。そして、Ｉ／Ｆ７０９は、ネットワーク７１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ７０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００６１】
ＪＴＡＧまたはスキャンテスト専用のＩ／Ｆ７１５は、半導体集積回路の出力端子から出力されるスキャンデータ列を取得する。または、ＪＴＡＧまたはスキャンテスト専用のＩ／Ｆ７１５により半導体集積回路の入力端子からスキャン信号を入力することができる。
【００６２】
キーボード７１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス７１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００６３】
スキャナ７１２は、画像を光学的に読み取り、検査装置内に画像データを取り込む。なお、スキャナ７１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ７１３は、画像データや文書データを印刷する。プリンタ７１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００６４】
（検査装置の機能的構成）
つぎに、検査装置の機能的構成について説明する。図８は、実施の形態４にかかる検査装置の機能的構成を示すブロック図である。検査装置８００は、取得部８０１と、記憶部８０２と、指定部８０３と、判断部８０４と、設定部８０５と、検出部８０６と、登録部８０７と、関連付部８０８と、出力部８０９を含む構成である。検査装置８００の制御部となる機能（取得部８０１〜出力部８０９）は、具体的には、たとえば、図７に示したＲＯＭ７０２、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に記憶されたプログラムをＣＰＵ７０１に実行させることにより、または、Ｉ／Ｆ７０９により、その機能を実現する。
【００６５】
まず、取得部８０１は、半導体集積回路の出力端子から出力されるスキャンデータ列を取得する。具体的には、たとえば、ＣＰＵ７０１が、ＪＴＡＧまたはスキャンテスト専用のＩ／Ｆ７１５を介して半導体集積回路５００の出力端子１０５から出力されるスキャンデータ列例５を取得する。なお、取得されたスキャンデータ列例５は、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に記憶される。
【００６６】
記憶部８０２は、回路モジュールの出力順と各回路モジュールのＦＦの出力順を示す出力順序情報とＦＦを識別可能な情報ごとに出力先である回路モジュールを識別可能な情報である出力先情報を記憶する。さらに、各回路モジュール内でいずれのパスが選択されたかを示すパス選択情報と回路モジュールを識別可能な情報とが関連付けられているパス選択リストを記憶する。
【００６７】
ＦＦを識別可能な情報とは、たとえば、半導体集積回路内でＦＦごとに付けられているＦＦ名である。回路モジュールを識別可能な情報とは、たとえば、半導体集積回路内で回路モジュールごとに付けられている回路モジュール名である。具体的には、たとえば、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に、出力順序情報６０６と、出力先情報６０３と、パス選択リスト６０１が記憶されている。
【００６８】
つぎに、指定部８０３は、複数の回路モジュールの中からスキャンデータ列として出力される順番に回路モジュールを指定する。具体的には、たとえば、ＣＰＵ７０１が、記憶装置にアクセスして出力順序情報６０６を読み出す。そして、出力順序情報６０６内の回路モジュール名６０７から出力順に回路モジュールを指定する。まず、回路モジュールＮが選択される。
【００６９】
そして、判断部８０４は、指定部８０３により指定された回路モジュールのパス選択情報が冗長パスおよび短絡パスのうち、いずれのパスを示しているかを判断する。具体的には、たとえば、ＣＰＵ７０１が、記憶装置にアクセスしてパス選択リスト６００を読み出す。そして、パス選択リスト６００から指定された回路モジュール名６０１に基づいてパス選択情報６０２を読み出す。そして、読み出されたパス選択情報６０２が、短絡パスおよび冗長パスのうち、いずれのパスを示しているかを判断する。たとえば、回路モジュールＮのパス選択情報６０２は、１である。したがって、回路モジュールＮでは、冗長パスが選択されていることを示す。
【００７０】
つぎに、設定部８０５は、判断部８０４により回路モジュールのパス選択情報が、冗長パスを示していると判断された場合、スキャンデータ列の中から回路モジュール内のシフトレジスタが有するＦＦ数分のスキャンデータ列を対象スキャンデータ列に設定する。
【００７１】
具体的には、たとえば、ＣＰＵ７０１が、スキャンデータ列例５から回路モジュール内のシフトレジスタが有するＦＦ数分のスキャンデータ列を対象スキャンデータ列に設定する。たとえば、回路モジュールＮ内のシフトレジスタが有するＦＦ数は、６個である。そして、回路モジュールＮは、スキャンチェーンを構成する複数の回路モジュールの中でスキャン信号が一番先頭で出力される回路モジュールである。たとえば、ＣＰＵ７０１が、スキャンデータ列例５の１番目のスキャンデータから６番目のスキャンデータまでを回路モジュールＮのスキャンデータ列とし、対象スキャンデータ列に設定する。
【００７２】
つぎに、検出部８０６は、設定部８０５により設定された対象スキャンデータ列からいずれのパスが選択されているかを示すパス選択情報が未知である回路モジュールのパス選択情報を検出する。具体的には、たとえば、ＣＰＵ７０１が、記憶装置にアクセスして出力先情報６０３を読み出す。そして、指定された回路モジュール内のシフトレジスタを構成するＦＦをＦＦ名６０４から検出する。そして、検出されたＦＦ名６０４の出力先である回路モジュール名６０５を検出する。検出された回路モジュールと対象スキャンデータ列が関連付けられる。なお、検出結果は、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に記憶される。
【００７３】
たとえば、出力先情報６０３から回路モジュールＮ内のシフトレジスタを構成するＦＦ１４とＦＦ１５がＦＦ名６０４から検出される。そして、ＦＦ１４の出力先である回路モジュールＭが読み出される。また、ＦＦ１５の出力先である回路モジュールＬが読み出される。そして、スキャンデータ列例５内のＦＦ１４に対応する先頭から５番目のスキャンデータは、０である。スキャンデータ列例５内のＦＦ１５に対応する先頭から４番目のスキャンデータは、１である。
【００７４】
登録部８０７は、検出部８０６により検出された結果に基づいてパス選択情報を登録する。具体的には、たとえば、ＣＰＵ７０１が、記憶装置にアクセスして検出結果を読み出す。そして、記憶装置にアクセスしてパス選択リスト６００を読み出して、検出された回路モジュール名６０５をパス選択リスト６００の回路モジュール名６０１から検索する。つぎに、検索された回路モジュール名６０１のパス選択情報６０２へ回路モジュール名６０５のスキャンデータ列を新たなパス選択情報６０２として登録する。なお、登録結果は、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に記憶される。登録されたパス選択リスト６００を図９に示す。
【００７５】
図９は、登録されたパス選択リスト６００を示す説明図である。回路モジュールＭのパス選択情報６０２が、０に登録されている。このように、検査装置８００によりスキャンデータ列が検査されることにより、未知である回路モジュールのパス選択情報６０２が登録される。
【００７６】
図８に戻って、つぎに、関連付部８０８は、対象スキャンデータ列と回路モジュールの識別情報とを関連付ける。具体的には、たとえば、ＣＰＵ７０１が、対象スキャンデータ列と回路モジュール名を関連付ける。
【００７７】
そして、出力部８０９は、関連付部８０８により関連付けられた対象スキャンデータ列と回路モジュールの識別情報とを出力する。具体的には、たとえば、ＣＰＵ７０１が、対象スキャンデータ列と回路モジュール名を出力する。出力形式としては、たとえば、ディスプレイ７０８への表示、プリンタ７１３への印刷出力、Ｉ／Ｆ７０９による外部装置への送信がある。また、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に記憶することとしてもよい。図１０にて出力例を示す。
【００７８】
図１０は、検査装置８００により出力された出力の一例を示す説明図である。出力例１０００は、回路モジュール名１００１と、ＦＦ名１００２と、スキャンデータ列１００３により構成されている。たとえば、回路モジュールＬ内のシフトレジスタが有するＦＦ６のスキャンデータは、０である。
【００７９】
（検査装置の検査処理手順）
実施の形態４にかかる検査装置８００の検査処理手順について説明する。図１１は、実施の形態４にかかる検査装置８００の検査処理手順を示すフローチャートである。まず、取得部８０１により、スキャンデータ列を取得する（ステップＳ１１０１）。たとえば、取得されたスキャンデータ列は、スキャンデータ列例５である。指定部８０３により、ｉ＝１，ｊ＝１とし（ステップＳ１１０２）、ｊ＜＝回路モジュールの総数であるか否かを判断する（ステップＳ１１０３）。
【００８０】
ｊ＜＝回路モジュールの総数であると判断された場合（ステップＳ１１０３：Ｙｅｓ）、記憶部８０２により記憶されているパス選択リストからｊ番目の回路モジュールのパス選択情報を取得する（ステップＳ１１０４）。パス選択リストとは、パス選択リスト６００である。そして、パス選択情報とは、パス選択情報６０２である。そして、Ｘ＝ｊ番目の回路モジュール内のＦＦ数とし（ステップＳ１１０５）、判断部８０４により、出力順序情報内のｊ番目のＦＦを含む回路モジュールが短絡パスか否かを判断する（ステップＳ１１０６）。出力順序情報とは、出力順序情報６０６であり記憶部８０２により記憶されている。
【００８１】
出力順序情報内のｊ番目のＦＦを含む回路モジュールが短絡パスであると判断された場合（ステップＳ１１０６：Ｙｅｓ）、指定部８０３により、ｊ＝ｊ＋１とし（ステップＳ１１０７）、ステップＳ１１０３へ戻る。
【００８２】
一方、出力順序情報内のｊ番目のＦＦを含む回路モジュールが短絡パスでないと判断された場合（ステップＳ１１０６：Ｎｏ）、ｉ番目からｉ＋Ｘ−１番目のスキャンデータを取り出す（ステップＳ１１０８）。そして、設定部８０５により、取り出したスキャンデータ列を対象スキャンデータ列に設定し（ステップＳ１１０９）、登録処理を実行する（ステップＳ１１１０）。そして、関連付部８０８により、対象スキャンデータ列とｊ番目の回路モジュールとを関連付けて保存し（ステップＳ１１１１）、指定部８０３により、ｊ＝ｊ＋１、ｉ＝ｉ＋Ｘとし（ステップＳ１１１２）、ステップＳ１１０３へ戻る。
【００８３】
一方、ｊ＜＝回路モジュールの総数でないと判断された場合（ステップＳ１１０３：Ｎｏ）、出力部８０９により、関連付けて保存された情報を出力し（ステップＳ１１１３）、一連の処理を終了する。
【００８４】
つぎに、上述した登録処理（ステップＳ１１１０）について説明する。図１２は、登録処理の登録処理手順を示すフローチャートである。まず、ｋ＝１とし（ステップＳ１２０１）、ｋ＜＝Ｘであるか否かを判断する（ステップＳ１２０２）。そして、ｋ＜＝Ｘであると判断された場合（ステップＳ１２０２：Ｙｅｓ）、検出部８０６により、ｋ番目のＦＦの出力先である回路モジュールがあるか否かを判断する（ステップＳ１２０３）。ｋ番目のＦＦの出力先である回路モジュールがあると判断された場合（ステップＳ１２０３：Ｙｅｓ）、ｋ番目のＦＦに対応するスキャンデータ＝０であるか否かを判断する（ステップＳ１２０４）。
【００８５】
ｋ番目のＦＦに対応するスキャンデータ＝０であると判断された場合（ステップＳ１２０４：Ｙｅｓ）、登録部８０７により、出力先である回路モジュールのパス選択情報６０２を短絡パスに登録し（ステップＳ１２０５）、ｋ＝ｋ＋１とし（ステップＳ１２０６）、ステップＳ１２０２へ戻る。一方、ｋ番目のＦＦの出力先である回路モジュールがないと判断された場合（ステップＳ１２０３：Ｎｏ）、または、ｋ番目のＦＦに対応するスキャンデータ＝０でないと判断された場合（ステップＳ１２０４：Ｎｏ）、ステップＳ１２０６へ移行する。
【００８６】
一方、ｋ＜＝Ｘでないと判断された場合（ステップＳ１２０２：Ｎｏ）、ステップＳ１１１１へ移行する。
【００８７】
（実施の形態５）
実施の形態５では、実施の形態３にて説明した半導体集積回路から出力されるスキャンデータ列を検査する。これにより、デバッグの容易化を図ることができる。本実施の形態５では半導体集積回路４００から出力されるスキャンデータ列を例に検査装置を説明する。なお、実施の形態１〜４で説明した構成と同一構成には同一符号を付し、同一構成の説明を省略する。
【００８８】
図１３は、実施の形態５にかかる出力順序情報およびスキャンデータ列の一例を示す説明図である。出力順序情報１３００は、回路モジュール名１３０１と、ＦＦ名１３０２を含む構成である。たとえば、回路モジュール名１３０１が回路モジュールＮ内のシフトレジスタが有するＦＦ名は、ＦＦ＿ＮとＦＦ１３〜ＦＦ１８である。なお、出力順序情報１３００は、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に記憶されている。
【００８９】
そして、スキャンデータ列例６は、スキャンデータ列例を示している。スキャンデータ列例６は、半導体集積回路４００から矢印の出力順で出力される。半導体集積回路４００は、図４−１の構成と、さらに回路モジュールＮと回路モジュールＬを含む構成であることとする。そして、回路モジュールＮと回路モジュールＬが保持回路と付加回路を有していることとする。
【００９０】
（検査装置の機能的構成）
つぎに、検査装置の機能的構成について説明する。図１４は、実施の形態５にかかる検査装置の機能的構成を示すブロック図である。検査装置１４００は、取得部１４０１と、記憶部１４０２と、指定部１４０３と、抽出部１４０４と、判断部１４０５と、関連付部１４０６と、出力部１４０７を含む構成である。
【００９１】
検査装置１４００の制御部となる機能（取得部１４０１〜出力部１４０７）は、具体的には、たとえば、図７に示したＲＯＭ７０２、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に記憶されたプログラムをＣＰＵ７０１に実行させることにより、または、Ｉ／Ｆ７０９により、その機能を実現する。
【００９２】
まず、取得部１４０１は、半導体集積回路から出力されるスキャンデータ列を取得する。具体的には、たとえば、ＣＰＵ７０１が、ＪＴＡＧまたはスキャンテスト専用のＩ／Ｆ７１５を介して半導体集積回路４００の出力端子１０５から出力されるスキャンデータ列例６を取得する。なお、取得されたスキャンデータ列例６は、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に記憶される。
【００９３】
記憶部１４０２は、ＦＦを識別可能な情報が出力順に並べられた出力順序情報を記憶する。具体的には、たとえば、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に、出力順序情報１３００が記憶されている。
【００９４】
つぎに、指定部１４０３は、複数の回路モジュールの中からスキャンデータ列として出力される順番に回路モジュールを指定する。具体的には、たとえば、ＣＰＵ７０１が、記憶装置にアクセスして出力順序情報１３００を読み出す。そして、出力順序情報１３００内の回路モジュール名１３０１から出力順に回路モジュールを指定する。たとえば、回路モジュールＮが指定されることとする。なお、指定結果は、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に記憶される。
【００９５】
つぎに、抽出部１４０４は、出力順序情報１３００により指定部１４０３により指定された回路モジュール内のパス選択情報に対応するスキャンデータを、取得部１４０１により取得されたスキャンデータ列から抽出する。具体的には、たとえば、ＣＰＵ７０１が、指定された回路モジュール内のシフトレジスタが有している複数のＦＦの中から先頭のＦＦのＦＦ名１３０２を読み出す。たとえば、回路モジュールＮの場合、先頭のＦＦ名１３０２は、ＦＦ＿Ｎである。半導体集積回路４００から出力される各回路モジュールのスキャンデータ列のうち、先頭のスキャンデータがパス選択情報である。
【００９６】
そして、たとえば、ＣＰＵ７０１が、スキャンデータ列例６からＦＦ＿Ｎに対応するスキャンデータを抽出する。なお、抽出結果は、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に記憶される。
【００９７】
判断部１４０５は、抽出部１４０４により抽出されたパス選択情報であるスキャンデータが冗長パスおよび短絡パスのうちいずれのパスが選択されたことを示しているかを判断する。具体的には、たとえば、ＣＰＵ７０１が、抽出結果が１であるか０であるかを判断する。たとえば、回路モジュールＮのパス選択情報は、１である。したがって、回路モジュールＮは、冗長パスが選択されていることを示している。なお、判断結果は、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に記憶される。
【００９８】
つぎに、関連付部１４０６は、判断部１４０５により冗長パスを示していると判断された場合、スキャンデータ列の中から回路モジュール内のシフトレジスタが有するＦＦ数分のスキャンデータ列と回路モジュールの識別情報とを関連付ける。具体的には、たとえば、ＣＰＵ７０１が、パス選択情報が冗長パスを示している場合、スキャンデータ列例６から指定された回路モジュール内のシフトレジスタが有するＦＦ数分のスキャンデータ列と回路モジュール名とを関連付ける。
【００９９】
そして、出力部１４０７は、関連付部１４０６により関連付けられた結果を出力する。具体的には、たとえば、ＣＰＵ７０１が、関連付けられたスキャンデータ列と回路モジュール名とを出力する。出力形式としては、たとえば、ディスプレイ７０８への表示、プリンタ７１３への印刷出力、Ｉ／Ｆ７０９による外部装置への送信がある。また、ＲＡＭ７０３、磁気ディスク７０５、光ディスク７０７などの記憶装置に記憶することとしてもよい。図１５にて出力例を示す。
【０１００】
図１５は、検査装置１４００により出力された出力の一例を示す説明図である。出力例１５００は、回路モジュール名１５０１と、ＦＦ名１５０２と、スキャンデータ列１５０３を含む構成である。たとえば、回路モジュール名１５０１が回路モジュールＭの場合、ＦＦ＿Ｍのみがスキャンデータ列に関連付けされている。ＦＦ＿Ｍは、回路モジュールＭのパス選択情報である。ＦＦ＿Ｍは、スキャンデータが０である。したがって、回路モジュールＭは、短絡パスが選択されているため、ＦＦ＿Ｍのみがスキャンデータに関連付けされている。
【０１０１】
（検査装置１４００の検査処理手順）
実施の形態５にかかる検査装置１４００の検査処理手順について説明する。図１６は、実施の形態５にかかる検査装置１４００の検査処理手順を示すフローチャートである。まず、取得部１４０１により、スキャンデータ列を取得する（ステップＳ１６０１）。たとえば、スキャンデータ列は、スキャンデータ列例６である。つぎに、指定部１４０３により、ｎ＝１，ｍ＝１とする（ステップＳ１６０２）。これにより、記憶部１４０２により記憶されている出力順序情報１３００内のｍ番目の回路モジュールが指定される。そして、ｍ＜＝回路モジュールの総数であるか否かを判断する（ステップＳ１６０３）。
【０１０２】
ｍ＜＝回路モジュールの総数であると判断された場合（ステップＳ１６０３：Ｙｅｓ）、抽出部１４０４により、ｎ番目のスキャンデータをｍ番目の回路モジュールのパス選択情報として抽出し（ステップＳ１６０４）、ｎ＝ｎ＋１とし（ステップＳ１６０５）、判断部１４０５により、抽出されたパス選択情報が冗長パスを示しているか否かを判断する（ステップＳ１６０６）。
【０１０３】
抽出されたパス選択情報が冗長パスを示していると判断された場合（ステップＳ１６０６：Ｙｅｓ）、Ｘ＝ｍ番目の回路モジュール内のＦＦ数とし（ステップＳ１６０７）、関連付部１４０６により、ｎ番目からｎ＋Ｘ番目のスキャンデータとｍ番目の回路モジュール名とを関連付けて保存する（ステップＳ１６０８）。そして、指定部１４０３により、ｍ＝ｍ＋１、ｎ＝ｎ＋Ｘとし（ステップＳ１６０９）、ステップＳ１６０３へ戻る。
【０１０４】
一方、抽出されたパス選択情報が冗長パスを示していないと判断された場合（ステップＳ１６０６：Ｎｏ）、ステップＳ１６０９へ移行する。そして、ｍ＜＝回路モジュールの総数でないと判断された場合（ステップＳ１６０３：Ｎｏ）、出力部１４０７により、関連付けて保存された情報を出力し（ステップＳ１６１０）、一連の処理を終了する。
【０１０５】
以上説明したように、回路モジュール、および半導体集積回路によれば、回路モジュールの動作を制御する制御信号を、パスを選択するための制御信号として流用することで、スキャンテストの効率化を図ることができる。さらに、スキャンデータを短縮化することができ、テスト時間の短縮化を図ることができる。そして、端子数に関わらずテストすることができる。
【０１０６】
また、スキャン動作信号によりスキャンテストの動作が許可されない場合、制御信号を保持し、スキャンテストの動作が許可される場合、制御信号を選択回路に出力する。これにより、スキャンテスト中にパスが固定され、スキャンテストの効率化を図ることができる。
【０１０７】
また、冗長パスと短絡パスのうち、いずれのパスが選択されたかを示すパス選択情報を回路モジュールごとにスキャン信号へ付加する。これにより、利用者（設計者または検査者）が、スキャンデータの値を観測することにより各回路モジュールがいずれのパスを選択したかが判別できる。したがって、スキャンテストの効率化を図ることができる。そして、デバッグの容易化を図ることができる。
【０１０８】
また、回路モジュール内のシフトレジスタが有するＦＦの出力データを、当該回路モジュールよりも後から出力される回路モジュールへ制御信号として供給する。これにより、利用者が、他の回路モジュールのスキャンデータを観測することでいずれのパスが選択されたかが判別できる。したがって、スキャンテストの効率化およびデバッグの容易化を図ることができる。
【０１０９】
以上説明したように、検査装置によれば、半導体集積回路から出力されるスキャンデータ列を取得し、パス選択情報が未知である回路モジュールのパス選択情報を登録して各回路モジュールに対応するスキャンデータと回路モジュールの識別情報とを関連付けて出力する。これにより、スキャンデータ列内の各スキャンデータがスキャンチェーンを構成するどのＦＦに対応するスキャンデータであるかが自動で判断され、デバッグの容易化を図ることができる。
【０１１０】
以上説明したように、検査装置によれば、半導体集積回路から出力されるスキャンデータ列を取得し、スキャンデータ列の中から各回路モジュールのパス選択情報を抽出して、いずれのパスが選択されているかを判断する。そして、冗長パスであると判断された場合、スキャンデータ列から各回路モジュールに対応するスキャンデータと回路モジュールの識別情報とを関連付けて出力する。
【０１１１】
これにより、スキャンデータ列内の各スキャンデータがスキャンチェーンを構成するどのＦＦに対応するスキャンデータであるかが自動で判断され、デバッグの容易化を図ることができる。さらに、スキャンデータ列内にパス選択情報を含むため、出力先情報やパス選択情報のリストなどが不要であり、スキャンデータ列と出力順序情報のみでデバッグを行うことができる。
【０１１２】
なお、本実施の形態で説明した検査方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本検査プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本検査プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１１３】
また、本実施の形態で説明した検査装置８００および検査装置１４００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述した検査装置８００の機能（取得部８０１〜出力部８０９）または検査装置１４００の機能（取得部１４０１〜出力部１４０７）をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、検査装置８００または検査装置１４００を製造することができる。
【０１１４】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１１５】
（付記１）半導体集積回路内のスキャンチェーンの一部を構成するシフトレジスタと、
前記半導体集積回路内部で生成される制御信号により前記シフトレジスタの動作を制御する制御手段と、
スキャン信号を取り込む短絡パスと前記スキャン信号を前記シフトレジスタへ経由させて取り込む冗長パスのうち、前記制御信号により前記シフトレジスタの動作を許可する場合、前記冗長パスを選択し、許可しない場合、前記短絡パスを選択する選択手段と、
を備えることを特徴とする回路モジュール。
【０１１６】
（付記２）前記半導体集積回路内部で生成されるスキャン動作を制御するスキャン動作信号がスキャンの動作を許可しない場合、前記制御信号の値を保持し、前記スキャン動作信号がスキャンの動作を許可する場合、保持した前記制御信号の値を前記選択手段へ出力する保持手段を備えることを特徴とする付記１に記載の回路モジュール。
【０１１７】
（付記３）前記選択手段によって前記短絡パスまたは前記冗長パスのいずれのパスが選択されたかを示す情報を前記選択手段により取り込まれた信号へ付加して出力する付加手段を備えることを特徴とする付記１または２に記載の回路モジュール。
【０１１８】
（付記４）スキャンチェーンを構成するシフトレジスタを有する複数の回路モジュールと、
前記各回路モジュールの前記シフトレジスタの動作を制御する制御手段と、
前記回路モジュールごとに前記制御手段に前記シフトレジスタの動作を許可する制御信号を生成する制御信号生成手段と、
前記各回路モジュールへのスキャン信号を取り込む短絡パスと前記スキャン信号を前記シフトレジスタへ経由させて取り込む冗長パスのうち、前記制御信号生成手段によって生成された制御信号により前記シフトレジスタの動作を許可する場合、前記冗長パスを選択し、許可しない場合、前記短絡パスを選択する選択手段と、
を備えることを特徴とする半導体集積回路。
【０１１９】
（付記５）スキャン動作を制御するスキャン動作信号を生成する動作信号生成手段と、
前記動作信号生成手段により生成されたスキャン動作信号がスキャンの動作を許可しない場合、前記制御信号の値を保持し、前記スキャン動作信号がスキャンの動作を許可する場合、保持した前記制御信号の値を前記選択手段へ出力する保持手段と、
を備えることを特徴とする付記４に記載の半導体集積回路。
【０１２０】
（付記６）前記選択手段により前記短絡パスおよび前記冗長パスのうち、いずれのパスが選択されたかを示すパス選択情報を前記選択手段により取り込まれた信号に付加して出力する付加手段を備えることを特徴とする付記４に記載の半導体集積回路。
【０１２１】
（付記７）前記制御信号生成手段は、
前記回路モジュール内のシフトレジスタが有するデータ保持素子の出力データを、当該回路モジュールよりも後から出力される回路モジュールへ制御信号として供給することを特徴とする付記４に記載の半導体集積回路。
【０１２２】
（付記８）スキャンチェーンを構成するシフトレジスタを有する複数の回路モジュールと、前記回路モジュール内のシフトレジスタが有するデータ保持素子の出力データを、当該回路モジュールよりもスキャン信号が後から出力される回路モジュールへ制御信号として供給する制御信号生成手段と、前記各回路モジュールへのスキャン信号を取り込む短絡パスと前記スキャン信号を前記シフトレジスタへ経由させて取り込む冗長パスのうち、前記制御信号により前記シフトレジスタの動作を許可する場合、前記冗長パスを選択し、許可しない場合、前記短絡パスを選択する選択手段と、を備える半導体集積回路を検査する検査装置であって、
前記半導体集積回路から出力されるスキャンデータ列を取得する取得手段と、
前記各回路モジュール内のシフトレジスタが有しているデータ保持素子の識別情報と前記データ保持素子の出力先である回路モジュールの識別情報とを有する出力先情報と前記回路モジュールの出力順を示している出力順序情報とを記憶する記憶手段と、
前記記憶手段により記憶されている出力先情報によりいずれのパスが選択されているかを示すパス選択情報が未知である回路モジュールの前記パス選択情報を対象スキャンデータ列から検出する検出手段と、
前記記憶手段により記憶されている前記出力順序情報により前記複数の回路モジュールの中から出力順に回路モジュールを指定する指定手段と、
前記指定手段により指定された回路モジュールについて検出されたパス選択情報が、前記冗長パスおよび前記短絡パスのうち、いずれのパスを示しているかを判断する判断手段と、
前記判断手段により前記冗長パスと判断された場合、前記取得手段により取得されたスキャンデータ列の中から前記回路モジュール内の前記シフトレジスタが有するデータ保持素子数分のスキャンデータ列を前記対象スキャンデータ列に設定する設定手段と、
前記対象スキャンデータ列と前記回路モジュールの識別情報とを関連付ける関連付手段と、
前記関連付手段により関連付けられた結果を出力する出力手段と、
を備えることを特徴とする検査装置。
【０１２３】
（付記９）スキャンチェーンを構成するシフトレジスタを有する複数の回路モジュールと、前記各回路モジュールへのスキャン信号を取り込む短絡パスと前記スキャン信号を前記シフトレジスタへ経由させて取り込む冗長パスのうち、各モジュールの動作を制御する制御信号により前記シフトレジスタの動作を許可する場合、前記冗長パスを選択し、許可しない場合、前記短絡パスを選択する選択手段と、前記選択手段により取り込まれた信号へ前記選択手段により前記短絡パスまたは前記冗長パスのいずれのパスが選択されたかを示すパス選択情報を付加して出力する付加手段と、を備える半導体集積回路を検査する検査装置であって、
前記半導体集積回路から出力されるスキャンデータ列を取得する取得手段と、
前記各回路モジュール内のシフトレジスタが有するデータ保持素子の出力順と前記回路モジュールの出力順を示している出力順序情報を記憶する記憶手段と、
前記記憶手段により記憶されている出力順序情報により前記複数の回路モジュールの中から出力順に回路モジュールを指定する指定手段と、
前記指定手段により指定された回路モジュール内のパス選択情報に対応するスキャンデータを前記取得手段により取得されたスキャンデータ列から抽出する抽出手段と、
前記抽出手段により抽出された前記パス選択情報であるスキャンデータが前記冗長パスおよび前記短絡パスのうち、いずれのパスを示しているかを判断する判断手段と、
前記判断手段により前記冗長パスを示していると判断された場合、前記スキャンデータ列の中から前記回路モジュール内のシフトレジスタが有するデータ保持素子数分のスキャンデータ列と前記回路モジュールの識別情報とを関連付ける関連付手段と、
前記関連付手段により関連付けられた結果を出力する出力手段と、
を備えることを特徴とする検査装置。
【０１２４】
（付記１０）スキャンチェーンを構成するシフトレジスタを有する複数の回路モジュールと、前記回路モジュール内のシフトレジスタが有するデータ保持素子の出力データを、当該回路モジュールよりもスキャン信号が後から出力される回路モジュールへ制御信号として供給する制御信号生成手段と、前記各回路モジュールへのスキャン信号を取り込む短絡パスと前記スキャン信号を前記シフトレジスタへ経由させて取り込む冗長パスのうち、前記制御信号により前記シフトレジスタの動作を許可する場合、前記冗長パスを選択し、許可しない場合、前記短絡パスを選択する選択手段と、を備える半導体集積回路を検査する検査装置を、
前記半導体集積回路から出力されるスキャンデータ列を取得する取得手段、
前記各回路モジュール内のシフトレジスタが有しているデータ保持素子の識別情報と前記データ保持素子の出力先である回路モジュールの識別情報とを有する出力先情報と前記回路モジュールの出力順を示している出力順序情報とを記憶する記憶手段、
前記記憶手段により記憶されている出力先情報によりいずれのパスが選択されているかを示すパス選択情報が未知である回路モジュールの前記パス選択情報を対象スキャンデータ列から検出する検出手段、
前記記憶手段により記憶されている前記出力順序情報により前記複数の回路モジュールの中から出力順に回路モジュールを指定する指定手段、
前記指定手段により指定された回路モジュールについて検出されたパス選択情報が、前記冗長パスおよび前記短絡パスのうち、いずれのパスを示しているかを判断する判断手段、
前記判断手段により前記冗長パスと判断された場合、前記取得手段により取得されたスキャンデータ列の中から前記回路モジュール内の前記シフトレジスタが有するデータ保持素子数分のスキャンデータ列を前記対象スキャンデータ列に設定する設定手段、
前記対象スキャンデータ列と前記回路モジュールの識別情報とを関連付ける関連付手段、
前記関連付手段により関連付けられた結果を出力する出力手段、
として機能させることを特徴とする検査プログラム。
【０１２５】
（付記１１）スキャンチェーンを構成するシフトレジスタを有する複数の回路モジュールと、前記回路モジュール内のシフトレジスタが有するデータ保持素子の出力データを、当該回路モジュールよりもスキャン信号が後から出力される回路モジュールへ制御信号として供給する制御信号生成手段と、前記各回路モジュールへのスキャン信号を取り込む短絡パスと前記スキャン信号を前記シフトレジスタへ経由させて取り込む冗長パスのうち、前記制御信号により前記シフトレジスタの動作を許可する場合、前記冗長パスを選択し、許可しない場合、前記短絡パスを選択する選択手段と、を備える半導体集積回路を検査する検査装置が、
前記半導体集積回路から出力されるスキャンデータ列を取得する取得工程、
前記各回路モジュール内のシフトレジスタが有しているデータ保持素子の識別情報と前記データ保持素子の出力先である回路モジュールの識別情報とを有する出力先情報と前記回路モジュールの出力順を示している出力順序情報とを記憶する記憶工程、
前記記憶工程により記憶されている出力先情報によりいずれのパスが選択されているかを示すパス選択情報が未知である回路モジュールの前記パス選択情報を対象スキャンデータ列から検出する検出工程、
前記記憶工程により記憶されている前記出力順序情報により前記複数の回路モジュールの中から出力順に回路モジュールを指定する指定工程、
前記指定工程により指定された回路モジュールについて検出されたパス選択情報が、前記冗長パスおよび前記短絡パスのうち、いずれのパスを示しているかを判断する判断工程、
前記判断工程により前記冗長パスと判断された場合、前記取得工程により取得されたスキャンデータ列の中から前記回路モジュール内の前記シフトレジスタが有するデータ保持素子数分のスキャンデータ列を前記対象スキャンデータ列に設定する設定工程、
前記対象スキャンデータ列と前記回路モジュールの識別情報とを関連付ける関連付工程、
前記関連付工程により関連付けられた結果を出力する出力工程、
を実行することを特徴とする検査方法。
【０１２６】
（付記１２）スキャンチェーンを構成するシフトレジスタを有する複数の回路モジュールと、前記各回路モジュールへのスキャン信号を取り込む短絡パスと前記スキャン信号を前記シフトレジスタへ経由させて取り込む冗長パスのうち、各モジュールの動作を制御する制御信号により前記シフトレジスタの動作を許可する場合、前記冗長パスを選択し、許可しない場合、前記短絡パスを選択する選択手段と、前記選択手段により取り込まれた信号へ前記選択手段により前記短絡パスまたは前記冗長パスのいずれのパスが選択されたかを示すパス選択情報を付加して出力する付加手段と、を備える半導体集積回路を検査する検査装置を、
前記半導体集積回路から出力されるスキャンデータ列を取得する取得手段、
前記各回路モジュール内のシフトレジスタが有するデータ保持素子の出力順と前記回路モジュールの出力順を示している出力順序情報を記憶する記憶手段、
前記記憶手段により記憶されている出力順序情報により前記複数の回路モジュールの中から出力順に回路モジュールを指定する指定手段、
前記指定手段により指定された回路モジュール内のパス選択情報に対応するスキャンデータを前記取得手段により取得されたスキャンデータ列から抽出する抽出手段、
前記抽出手段により抽出された前記パス選択情報であるスキャンデータが前記冗長パスおよび前記短絡パスのうち、いずれのパスを示しているかを判断する判断手段、
前記判断手段により前記冗長パスを示していると判断された場合、前記スキャンデータ列の中から前記回路モジュール内のシフトレジスタが有するデータ保持素子数分のスキャンデータ列と前記回路モジュールの識別情報とを関連付ける関連付手段、
前記関連付手段により関連付けられた結果を出力する出力手段、
として機能させることを特徴とする検査プログラム。
【０１２７】
（付記１３）スキャンチェーンを構成するシフトレジスタを有する複数の回路モジュールと、前記各回路モジュールへのスキャン信号を取り込む短絡パスと前記スキャン信号を前記シフトレジスタへ経由させて取り込む冗長パスのうち、各モジュールの動作を制御する制御信号により前記シフトレジスタの動作を許可する場合、前記冗長パスを選択し、許可しない場合、前記短絡パスを選択する選択手段と、前記選択手段により取り込まれた信号へ前記選択手段により前記短絡パスまたは前記冗長パスのいずれのパスが選択されたかを示すパス選択情報を付加して出力する付加手段と、を備える半導体集積回路を検査する検査装置が、
前記半導体集積回路から出力されるスキャンデータ列を取得する取得工程、
前記各回路モジュール内のシフトレジスタが有するデータ保持素子の出力順と前記回路モジュールの出力順を示している出力順序情報を記憶する記憶工程、
前記記憶工程により記憶されている出力順序情報により前記複数の回路モジュールの中から出力順に回路モジュールを指定する指定工程、
前記指定工程により指定された回路モジュール内のパス選択情報に対応するスキャンデータを前記取得工程により取得されたスキャンデータ列から抽出する抽出工程、
前記抽出工程により抽出された前記パス選択情報であるスキャンデータが前記冗長パスおよび前記短絡パスのうち、いずれのパスを示しているかを判断する判断工程、
前記判断工程により前記冗長パスを示していると判断された場合、前記スキャンデータ列の中から前記回路モジュール内のシフトレジスタが有するデータ保持素子数分のスキャンデータ列と前記回路モジュールの識別情報とを関連付ける関連付工程、
前記関連付工程により関連付けられた結果を出力する出力工程、
を実行することを特徴とする検査方法。
【符号の説明】
【０１２８】
１００，２００，３００，４００，５００  半導体集積回路
６０１，６０５，６０７，１００１，１３０１，１５０１  回路モジュール名
６０４，６０８，１００２，１３０２，１５０２  ＦＦ名
６０２  パス選択情報
６０３  出力先情報
６０６，１３００  出力順序情報
１００３，１５０３  スキャンデータ
８００，１４００  検査装置
８０１，１４０１  取得部
８０２，１４０２  記憶部
８０３，１４０３  指定部
１４０４  抽出部
８０４，１４０５  判断部
８０５  設定部
８０６  検出部
８０８，１４０６  関連付部
８０９，１４０７  出力部
【図１−１】
2010223808.tif 000003
【図１−２】
2010223808.tif 000004
【図１−３】
2010223808.tif 000005
【図２−１】
2010223808.tif 000006
【図２−２】
2010223808.tif 000007
【図３】
2010223808.tif 000008
【図４−１】
2010223808.tif 000009
【図４−２】
2010223808.tif 000010
【図５】
2010223808.tif 000011
【図６−１】
2010223808.tif 000012
【図６−２】
2010223808.tif 000013
【図６−３】
2010223808.tif 000014
【図７】
2010223808.tif 000015
【図８】
2010223808.tif 000016
【図９】
2010223808.tif 000017
【図１０】
2010223808.tif 000018
【図１１】
2010223808.tif 000019
【図１２】
2010223808.tif 000020
【図１３】
2010223808.tif 000021
【図１４】
2010223808.tif 000022
【図１５】
2010223808.tif 000023
【図１６】
2010223808.tif 000024