(57)【特許請求の範囲】
【請求項１】
クロック入力端子に入力されるクロック信号に同期して記憶データを更新し、前記記憶データをデータ出力端子から出力する記憶回路と、
前記データ出力端子に接続された複数のデータ出力用外部端子と、
前記クロック入力端子に接続され、前記複数のデータ出力用外部端子の各々に対応する複数のクロック出力用外部端子と、
前記複数のデータ出力用外部端子のうちの所定のデータ出力用外部端子の各々から出力されるデータの各々を遅延させる第１の遅延手段と、
前記複数のクロック出力用外部端子のうちの前記第１の遅延手段によって遅延されない特定のデータ出力用外部端子に対応する特定のクロック出力用外部端子から出力されるクロック信号を遅延させる第２の遅延手段と、
を含む半導体装置。
【請求項２】
前記第１の遅延手段は、前記複数のデータ出力用外部端子のうちの前記特定のデータ出力用外部端子以外の他の複数のデータ出力用外部端子の各々から出力されるデータの各々を、前記特定のデータ出力用外部端子から出力されるデータに対して遅延させ、
前記第２の遅延手段は、前記特定のクロック出力用外部端子から出力されるクロック信号を、前記複数のクロック出力用外部端子のうちの前記特定のクロック出力用外部端子以外の他の複数のクロック出力用外部端子の各々から出力されるクロック信号の各々に対して遅延させる
請求項１に記載の半導体装置。
【請求項３】
前記第１の遅延手段は、前記複数のデータ出力用外部端子のうちの前記特定のデータ出力用外部端子以外の他の複数のデータ出力用外部端子の各々と前記データ出力端子との間にそれぞれ設けられた第１の遅延素子を含み、
前記第２の遅延手段は、前記特定のクロック出力用外部端子と前記クロック入力端子との間に設けられた第２の遅延素子を含む
請求項２に記載の半導体装置。
【請求項４】
前記クロック入力端子と前記特定のクロック出力用外部端子との間に設けられたバイパス配線と、
前記クロック信号が前記第２の遅延素子を経由して前記特定のクロック出力用外部端子に至る経路と、前記クロック信号が前記バイパス配線を経由して前記特定のクロック出力用外部端子に至る経路と、を切り替えるスイッチと、
を更に含む請求項３に記載の半導体装置。
【請求項５】
クロック入力端子に入力されるクロック信号に同期して記憶データを更新し、前記記憶データをデータ出力端子から出力する記憶回路と、
前記データ出力端子に接続された複数のデータ出力用外部端子と、
前記クロック入力端子に接続され、前記複数のデータ出力用外部端子の各々に対応する複数のクロック出力用外部端子と、
前記複数のデータ出力用外部端子のうちの特定のデータ出力用外部端子から出力されるデータを遅延させる第１の遅延手段と、
前記複数のクロック出力用外部端子のうちの前記第１の遅延手段によって遅延されないデータ出力用外部端子の各々に対応するクロック出力用外部端子の各々から出力されるクロック信号の各々を遅延させる第２の遅延手段と、
を含む半導体装置。
【請求項６】
前記第１の遅延手段は、前記特定のデータ出力用外部端子から出力されるデータを、前記複数のデータ出力用外部端子のうちの前記特定のデータ出力用外部端子以外の他の複数のデータ出力用外部端子の各々から出力されるデータの各々に対して遅延させ、
前記第２の遅延手段は、前記複数のクロック出力用外部端子のうちの前記特定のデータ出力用外部端子に対応する特定のクロック出力用外部端子以外の他の複数のクロック出力用外部端子の各々から出力されるクロック信号の各々を、前記特定のクロック出力用外部端子から出力されるクロック信号に対して遅延させる
請求項５に記載の半導体装置。
【請求項７】
前記第１の遅延手段は、前記特定のデータ出力用外部端子と前記データ出力端子との間に設けられた第１の遅延素子を含み、
前記第２の遅延手段は、前記複数のクロック出力用外部端子のうちの前記特定のクロック出力用外部端子以外の他の複数のクロック出力用外部端子の各々と、前記クロック入力端子との間にそれぞれ設けられた第２の遅延素子を含む
請求項６に記載の半導体装置。
【請求項８】
前記データ出力端子と、前記特定のデータ出力用外部端子との間に設けられたバイパス配線と、
前記データが前記第１の遅延素子を経由して前記特定のデータ出力用外部端子に至る経路と、前記データが前記バイパス配線を経由して前記特定のデータ出力用外部端子に至る経路と、を切り替えるスイッチと、
を更に含む請求項７に記載の半導体装置。
【請求項９】
クロック入力端子に入力されるクロック信号に同期して記憶データを更新し、前記記憶データをデータ出力端子から出力する記憶回路と、前記データ出力端子に接続された複数のデータ出力用外部端子と、前記クロック入力端子に接続され、前記複数のデータ出力用外部端子の各々に対応する複数のクロック出力用外部端子と、を含む半導体装置のテスト方法であって、
前記複数のデータ出力用外部端子のうちの特定のデータ出力用外部端子から出力されるデータの更新タイミング、および前記複数のクロック出力用外部端子のうちの前記特定のデータ出力用外部端子に対応する特定のクロック出力用外部端子から出力されるクロック信号の遷移タイミングが、それぞれワーストケースとなるように前記半導体装置を構成し、
前記特定のクロック出力用外部端子から出力されるクロック信号の遷移タイミングを第１の測定値として取得し、
前記特定のデータ出力用外部端子から出力されるデータの更新タイミングを第２の測定値として取得し、
前記複数のクロック出力用外部端子のうちの前記特定のクロック出力用外部端子以外の他の複数のクロック出力用端子の各々から出力されるクロック信号のレベルが、前記第１の測定値に対応するタイミングにおいて所定のレベルであるか否かを判定し、
前記複数のデータ出力用外部端子のうちの前記特定のデータ出力用外部端子以外の他の複数のデータ出力用外部端子の各々から出力されるデータの値が、前記第２の測定値に対応するタイミングにおいて所定値であるか否かを判定する
テスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置および半導体装置のテスト方法に関する。
【背景技術】
【０００２】
半導体装置のテスト時間を削減するための技術として以下の技術が知られている。例えば、特許文献１には、テストモード選択回路から出力されたテスト制御信号に基づいて、バイパスラインを選択し、入力バッファ回路の出力側と出力バッファ回路の入力側とをバイパスラインで接続することにより、内部回路を介さずに、直接、入力バッファ回路及び出力バッファ回路の特性を評価するように構成された試験装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３３７２９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クロック信号に同期してデータの更新を行うフリップフロップ等の記憶回路がインターフェース回路の構成要素として備えられる半導体装置において、記憶回路のデータ出力端子に複数のデータ出力用外部端子を接続することにより複数のデータ出力用外部端子の各々から記憶回路から出力されるデータを取り出せるように構成し、更に、記憶回路のクロック入力端子に複数のクロック出力用外部端子を接続することにより複数のクロック出力用外部端子の各々からクロック信号を取り出せるように構成したものが存在する。
【０００５】
かかる構成の半導体装置においては、複数のクロック出力用外部端子の各々から出力されるクロック信号の遷移タイミングに対する、複数のデータ出力用外部端子の各々から出力されるデータの更新タイミングの遅延（以下、出力遅延時間という）が規格内であるか否かがテストされる。出力遅延時間のテストは、例えば、以下のようにして行われる。はじめに、複数のクロック出力用外部端子の各々から出力されるクロック信号の遷移タイミングを端子毎に測定する（第１のステップ）。次に、複数のデータ出力用外部端子の各々から出力されるデータの更新タイミングを端子毎に測定する（第２のステップ）。次に、第１のステップおよび第２のステップにおいて測定された値に基づいて、クロック出力用外部端子およびデータ出力用外部端子のペア毎に、出力遅延時間を算出し、算出された値が規格を満たすか否かを判定する（第３のステップ）。
【０００６】
ここで、上記の第１のステップおよび第２のステップにおいて測定されるクロック信号の遷移タイミングおよびデータの更新タイミングは、バイナリーサーチやシュムーなどのサーチ測定手法を用いて測定される。サーチ測定手法によるクロック信号の遷移タイミングの測定では、時間軸上のサーチポイントを順次移動させながらクロック信号の遷移タイミングを探索する。同様に、サーチ測定手法によるデータの更新タイミングの測定では、時間軸上のサーチポイントを順次移動させながらデータの更新タイミングを探索する。従って、サーチ測定手法によるクロック信号の遷移タイミングの測定およびデータの更新タイミングの測定は、比較的長い時間を要する。また、複数のデータ出力用外部端子の各々および複数のクロック出力用外部端子の各々についてサーチ測定を行うと、テスト時間が膨大となる。
【０００７】
近年、半導体装置の縮小化に伴い、半導体装置のテストコストの占める割合は大きくなってきており、テスト時間の短縮が求められている。本発明は、上記した点に鑑みてなされたものであり、テスト時間の短縮を図ることができる半導体装置および半導体装置のテスト方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様に係る半導体装置は、クロック入力端子に入力されるクロック信号に同期して記憶データを更新し、前記記憶データをデータ出力端子から出力する記憶回路と、前記データ出力端子に接続された複数のデータ出力用外部端子と、前記クロック入力端子に接続され、前記複数のデータ出力用外部端子の各々に対応する、複数のクロック出力用外部端子と、前記複数のデータ出力用外部端子のうちの所定のデータ出力用外部端子の各々から出力されるデータの各々を遅延させる第１の遅延手段と、前記複数のクロック出力用外部端子のうちの前記第１の遅延手段によって遅延されない特定のデータ出力用外部端子に対応する特定のクロック出力用外部端子から出力されるクロック信号を遅延させる第２の遅延手段と、を含む。
【０００９】
本発明の第２の態様に係る半導体装置は、クロック入力端子に入力されるクロック信号に同期して記憶データを更新し、前記記憶データをデータ出力端子から出力する記憶回路と、前記データ出力端子に接続された複数のデータ出力用外部端子と、前記クロック入力端子に接続され、前記複数のデータ出力用外部端子の各々に対応する複数のクロック出力用外部端子と、前記複数のデータ出力用外部端子のうちの特定のデータ出力用外部端子から出力されるデータを遅延させる第１の遅延手段と、前記複数のクロック出力用外部端子のうちの前記第１の遅延手段によって遅延されないデータ出力用外部端子の各々に対応するクロック出力用外部端子の各々から出力されるクロック信号の各々を遅延させる第２の遅延手段と、を含む。
【００１０】
本発明の第３の態様に係る半導体装置は、クロック入力端子に入力されるクロック信号に同期してデータ入力端子から入力されるデータを保持する記憶回路と、前記記憶回路に入力されるデータを生成するデータ生成回路と、前記記憶回路に入力されるデータの外部入力を受け付けるデータ入力用外部端子と、前記データ生成回路で生成されたデータと、前記データ入力用外部端子を介して外部から入力されるデータを選択的に前記データ入力端子に供給する第１のセレクタと、を含む。
【００１１】
本発明の第４の態様に係る半導体装置のテスト方法は、クロック入力端子に入力されるクロック信号に同期して記憶データを更新し、前記記憶データをデータ出力端子から出力する記憶回路と、前記データ出力端子に接続された複数のデータ出力用外部端子と、前記クロック入力端子に接続され、前記複数のデータ出力用外部端子の各々に対応する複数のクロック出力用外部端子と、を含む半導体装置のテスト方法であって、前記複数のデータ出力用外部端子のうちの特定のデータ出力用外部端子から出力されるデータの更新タイミング、および前記複数のクロック出力用外部端子のうちの前記特定のデータ出力用外部端子に対応する特定のクロック出力用外部端子から出力されるクロック信号の遷移タイミングが、それぞれワーストケースとなるように前記半導体装置を構成し、前記特定のクロック出力用外部端子から出力されるクロック信号の遷移タイミングを第１の測定値として取得し、前記特定のデータ出力用外部端子から出力されるデータの更新タイミングを第２の測定値として取得し、前記複数のクロック出力用外部端子のうちの前記特定のクロック出力用外部端子以外の他の複数のクロック出力用端子の各々から出力されるクロック信号のレベルが、前記第１の測定値に対応するタイミングにおいて所定のレベルであるか否かを判定し、前記複数のデータ出力用外部端子のうちの前記特定のデータ出力用外部端子以外の他の複数のデータ出力用外部端子の各々から出力されるデータの値が、前記第２の測定値に対応するタイミングにおいて所定値であるか否かを判定することを含む。
【発明の効果】
【００１２】
本発明によれば、テスト時間の短縮を図ることができる半導体装置および半導体装置のテスト方法が提供される。
【図面の簡単な説明】
【００１３】
【図１】比較例に係る半導体装置の構成を示す図である。
【図２】比較例に係る半導体装置におけるデータおよびクロック信号のタイミングチャートである。
【図３】本発明の実施形態に係る半導体装置の構成を示す図である。
【図４】本発明の実施形態に係る半導体装置におけるデータおよびクロック信号のタイミングチャートである。
【図５】本発明の実施形態に係る半導体装置におけるテスト方法を示すフローチャートである。
【図６】本発明の実施形態に係る半導体装置の構成を示す図である。
【図７】本発明の実施形態に係る半導体装置の構成を示す図である。
【図８】本発明の実施形態に係る半導体装置におけるデータおよびクロック信号のタイミングチャートである。
【図９】本発明の実施形態に係る半導体装置におけるテスト方法を示すフローチャートである。
【図１０】本発明の実施形態に係る半導体装置の構成を示す図である。
【図１１】本発明の実施形態に係る半導体装置の構成を示す図である。
【発明を実施するための形態】
【００１４】
［比較例］
図１は、比較例に係る半導体装置１００Ｘの構成を示す図である。比較例に係る半導体装置１００Ｘは、インターフェース装置を構成するフリップフロップ１０を含んで構成されている。フリップフロップ１０のデータ入力端子Ｄには、半導体装置１００Ｘ内に設けられたＣＰＵ（Central Processing Unit）等の他の回路（図示せず）からのデータ信号が任意のロジック回路２１を介して入力される。フリップフロップ１０のクロック入力端子Ｃには、半導体装置１００Ｘ内に設けられたクロック生成回路（図示せず）からのクロック信号が任意のロジック回路２２を介して入力される。フリップフロップ１０は、データ入力端子Ｄに入力されるデータ信号に含まれるデータを、クロック入力端子Ｃに入力されるクロック信号に同期して保持し、保持しているデータをデータ出力端子Ｑから出力する。すなわち、フリップフロップ１０は、クロック入力端子Ｃに入力されるクロック信号に同期してデータ出力端子から出力されるデータを更新する。
【００１５】
フリップフロップ１０のデータ出力端子Ｑには、データ出力用外部端子３０Ａ、３０Ｂ、３０Ｃ、３０Ｄおよび３０Ｅが接続されている。フリップフロップ１０のデータ出力端子Ｑから出力されるデータは、データ出力用外部端子３０Ａ、３０Ｂ、３０Ｃ、３０Ｄおよび３０Ｅから半導体装置１００Ｘの外部に取り出すことが可能である。データ出力用外部端子３０Ａ、３０Ｂ、３０Ｃ、３０Ｄおよび３０Ｅとフリップフロップ１０のデータ出力端子Ｑとの間には、それぞれ、任意のロジック回路２３が設けられていてもよい。
【００１６】
フリップフロップ１０のクロック入力端子Ｃには、クロック出力用外部端子３１Ａ、３１Ｂ、３１Ｃ、３１Ｄおよび３１Ｅが接続されている。フリップフロップ１０のクロック入力端子Ｃに入力されるクロック信号は、クロック出力用外部端子３１Ａ、３１Ｂ、３１Ｃ、３１Ｄおよび３１Ｅから半導体装置１００Ｘの外部に取り出すことが可能である。クロック出力用外部端子３１Ａ、３１Ｂ、３１Ｃ、３１Ｄおよび３１Ｅとフリップフロップ１０のクロック入力端子Ｃとの間には、それぞれ、任意のロジック回路２４が設けられていてもよい。
【００１７】
図２は、データ出力用外部端子３０Ａ〜３０Ｅおよびクロック出力用外部端子３１Ａ〜３１Ｅからそれぞれ出力されるデータおよびクロック信号のタイミングチャートである。ここで、データ出力用外部端子３０Ａとクロック出力用外部端子３１Ａとが対をなし、データ出力用外部端子３０Ｂとクロック出力用外部端子３１Ｂとが対をなし、データ出力用外部端子３０Ｃとクロック出力用外部端子３１Ｃとが対をなし、データ出力用外部端子３０Ｄとクロック出力用外部端子３１Ｄとが対をなし、データ出力用外部端子３０Ｅとクロック出力用外部端子３１Ｅとが対をなしているものとする。また、クロック出力用外部端子３１Ａ、３１Ｂ、３１Ｃ、３１Ｄおよび３１Ｅからそれぞれ出力されるクロック信号を、それぞれ、ｃｌｋ＿Ａ、ｃｌｋ＿Ｂ、ｃｌｋ＿Ｃ、ｃｌｋ＿Ｄおよびｃｌｋ＿Ｅと表記し、データ出力用外部端子３０Ａ、３０Ｂ、３０Ｃ、３０Ｄおよび３０Ｅからそれぞれ出力されるデータを、それぞれ、ｄａｔａ＿Ａ、ｄａｔａ＿Ｂ、ｄａｔａ＿Ｃ、ｄａｔａ＿Ｄおよびｄａｔａ＿Ｅと表記する。
【００１８】
半導体装置１００Ｘのテストにおいては、クロック信号ｃｌｋ＿Ａ、ｃｌｋ＿Ｂ、ｃｌｋ＿Ｃ、ｃｌｋ＿Ｄおよびｃｌｋ＿Ｅの遷移タイミング（例えば、立ち上がりエッジが生じるタイミング）に対する、データｄａｔａ＿Ａ、ｄａｔａ＿Ｂ、ｄａｔａ＿Ｃ、ｄａｔａ＿Ｄおよびｄａｔａ＿Ｅの更新タイミングの遅延（以下出力遅延時間Ｔｄと称する）が測定され、測定された出力遅延時間Ｔｄが規格内であるか否かが判定される。出力遅延時間Ｔｄは、対をなすデータ出力用外部端子およびクロック出力用外部端子からそれぞれ出力されるデータとクロック信号との間で測定される。図２に示すように、クロック信号ｃｌｋ＿Ａ〜ｃｌｋ＿Ｅ間でクロック信号の遷移タイミングは互いに異なる。同様に、データｄａｔａ＿Ａ〜ｄａｔａ＿Ｅ間でデータの更新タイミングは互いに異なる。
【００１９】
上記の出力遅延時間Ｔｄのテストは、例えば、以下のようにして行われる。はじめに、クロック出力用外部端子３１Ａ、３１Ｂ、３１Ｃ、３１Ｄおよび３１Ｅからそれぞれ出力されるクロック信号ｃｌｋ＿Ａ、ｃｌｋ＿Ｂ、ｃｌｋ＿Ｃ、ｃｌｋ＿Ｄおよびｃｌｋ＿Ｅを、バイナリーサーチやシュムーなどのサーチ測定手法により測定する（第１のステップ）。次に、データ出力用外部端子３０Ａ、３０Ｂ、３０Ｃ、３０Ｄおよび３０Ｅからそれぞれ出力されるデータｄａｔａ＿Ａ、ｄａｔａ＿Ｂ、ｄａｔａ＿Ｃ、ｄａｔａ＿Ｄおよびｄａｔａ＿Ｅをバイナリーサーチやシュムーなどのサーチ測定手法により測定する（第２のステップ）。次に、第１のステップおよび第２のステップにおいて測定された値に基づいて、クロック出力用外部端子およびデータ出力用外部端子のペア毎に、出力遅延時間Ｔｄを算出し、出力遅延時間Ｔｄが規格を満たすか否かを判定する（第３のステップ）。
【００２０】
サーチ測定手法によるクロック信号の遷移タイミングの測定では、時間軸上のサーチポイントを順次移動させながらクロック信号の遷移タイミングを探索する。同様に、サーチ測定手法によるデータの更新タイミングの測定では、時間軸上のサーチポイントを順次移動させながらデータの更新タイミングを探索する。従って、サーチ測定手法によるクロック信号の遷移タイミングの測定およびデータの更新タイミングの測定は、比較的長い時間を要する。また、データ出力用外部端子３０Ａ〜３０Ｅの各々およびクロック出力用外部端子３１Ａ〜３１Ｅの各々について測定を行うと、テスト時間が膨大となる。
【００２１】
以下、本発明の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一または対応する構成要素および部分には同一の参照符号を付与している。また、上記した比較例に係る半導体装置１００Ｘの各構成要素と同一または対応する構成要素については、半導体装置１００Ｘの各構成要素に付された参照符号と同一の参照を付与する。
【００２２】
［第１の実施形態］
図３は、本発明の実施形態に係る半導体装置１００の構成を示す図である。半導体装置１００は、出力遅延時間Ｔｄについて下限規格が定められている場合の構成を有する。すなわち、出力遅延時間Ｔｄは、下限規格よりも大きいことが要求される。
【００２３】
半導体装置１００は、インターフェース装置を構成するフリップフロップ１０を含んで構成されている。フリップフロップ１０のデータ入力端子Ｄには、半導体装置１００内に設けられたＣＰＵ（Central Processing Unit）等の他の回路（図示せず）からのデータ信号が任意のロジック回路２１を介して入力される。フリップフロップ１０のクロック入力端子Ｃには、クロック生成回路（図示せず）からのクロック信号が任意のロジック回路２２を介して入力される。フリップフロップ１０は、データ入力端子Ｄに入力されるデータ信号に含まれるデータを、クロック入力端子Ｃに入力されるクロック信号に同期して保持し、保持しているデータをデータ出力端子Ｑから出力する。すなわち、フリップフロップ１０は、クロック入力端子Ｃに入力されるクロック信号に同期してデータ出力端子から出力されるデータを更新する。
【００２４】
フリップフロップ１０のデータ出力端子Ｑには、データ出力用外部端子３０Ａ、３０Ｂ、３０Ｃ、３０Ｄおよび３０Ｅが接続されている。フリップフロップ１０のデータ出力端子Ｑから出力されるデータは、データ出力用外部端子３０Ａ、３０Ｂ、３０Ｃ、３０Ｄおよび３０Ｅから半導体装置１００の外部に取り出すことが可能である。データ出力用外部端子３０Ａ、３０Ｂ、３０Ｃ、３０Ｄおよび３０Ｅとフリップフロップ１０のデータ出力端子Ｑとの間には、それぞれ、任意のロジック回路２３が設けられていてもよい。
【００２５】
フリップフロップ１０のクロック入力端子Ｃには、クロック出力用外部端子３１Ａ、３１Ｂ、３１Ｃ、３１Ｄおよび３１Ｅが接続されている。フリップフロップ１０のクロック入力端子Ｃに入力されるクロック信号は、クロック出力用外部端子３１Ａ、３１Ｂ、３１Ｃ、３１Ｄおよび３１Ｅから半導体装置１００の外部に取り出すことが可能である。クロック出力用外部端子３１Ａ、３１Ｂ、３１Ｃ、３１Ｄおよび３１Ｅとフリップフロップ１０のクロック入力端子Ｃとの間には、それぞれ、任意のロジック回路２４が設けられていてもよい。
【００２６】
半導体装置１００において、データ出力用外部端子３０Ｂ、３０Ｃ、３０Ｄおよび３０Ｅと、フリップフロップ１０のデータ出力端子Ｑとの間には、それぞれ遅延素子４０が設けられている。一方、データ出力用外部端子３０Ａと、フリップフロップ１０のデータ出力端子Ｑとの間には遅延素子は設けられていない。すなわち、フリップフロップ１０のデータ出力端子Ｑから出力されたデータは、遅延素子４０によって遅延時間が付与されてデータ出力用外部端子３０Ｂ〜３０Ｅからそれぞれデータｄａｔａ＿Ｂ〜ｄａｔａ＿Ｅとして出力される。一方、フリップフロップ１０のデータ出力端子Ｑから出力されたデータは、遅延時間が付与されることなくデータ出力用外部端子３０Ａからデータｄａｔａ＿Ａとして出力される。
【００２７】
半導体装置１００において、クロック出力用外部端子３１Ａと、フリップフロップ１０のクロック入力端子Ｃとの間には、遅延素子４１が設けられている。一方、クロック出力用外部端子３１Ｂ〜３１Ｅと、フリップフロップ１０のクロック入力端子Ｃとの間には遅延素子は設けられていない。すなわち、フリップフロップ１０のクロック入力端子Ｃに入力されるクロック信号は、遅延素子４１によって遅延時間が付与されてクロック出力用外部端子３１Ａからクロック信号ｃｌｋ＿Ａとして出力される。一方、フリップフロップ１０のクロック入力端子Ｃに入力されるクロック信号は、遅延時間が付与されることなくクロック出力用外部端子３１Ｂ〜３１Ｅからそれぞれクロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅとして出力される。
【００２８】
図４は、データ出力用外部端子３０Ａ〜３０Ｅからそれぞれ出力されるデータｄａｔａ＿Ａ〜ｄａｔａ＿Ｅおよびクロック出力用外部端子３１Ａ〜３１Ｅからそれぞれ出力されるクロック信号ｃｌｋ＿Ａ〜ｃｌｋ＿Ｅのタイミングチャートである。ここで、データ出力用外部端子３０Ａとクロック出力用外部端子３１Ａとが対をなし、データ出力用外部端子３０Ｂとクロック出力用外部端子３１Ｂとが対をなし、データ出力用外部端子３０Ｃとクロック出力用外部端子３１Ｃとが対をなし、データ出力用外部端子３０Ｄとクロック出力用外部端子３１Ｄとが対をなし、データ出力用外部端子３０Ｅとクロック出力用外部端子３１Ｅとが対をなしているものとする。
【００２９】
本実施形態に係る半導体装置１００の構成によれば、データ出力用外部端子３０Ａから出力されるデータｄａｔａ＿Ａの更新タイミングは、他のデータ出力用外部端子３０Ｂ〜３０Ｅから出力されるデータｄａｔａ＿Ｂ〜ｄａｔａ＿Ｅの更新タイミングに対して先行するため、出力遅延時間Ｔｄにおいて下限規格が規定される状況の下では、ワーストケースとなる。また、クロック出力用外部端子３１Ａから出力されるクロック信号ｃｌｋ＿Ａの遷移タイミングは、他のクロック出力用外部端子３１Ｂ〜３１Ｅから出力されるクロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅの遷移タイミングよりも遅れるため、出力遅延時間Ｔｄにおいて下限規格が規定される状況の下ではワーストケースとなる。すなわち、本実施形態に係る半導体装置１００においては、遅延素子４０および４１を設けることにより、データ出力用外部端子３０Ａから出力されるデータｄａｔａ＿Ａとクロック出力用外部端子３１Ａから出力されるクロック信号ｃｌｋ＿Ａとのペアを、下限規格が規定される出力遅延時間Ｔｄに関しワーストケースとしている。
【００３０】
図５は、半導体装置１００の出力遅延時間Ｔｄのテスト方法の一例を示すフローチャートである。
【００３１】
ステップＳ１において、ワーストケースに対応するクロック出力用外部端子３１Ａから出力されるクロック信号ｃｌｋ＿Ａの遷移タイミングを、第１の測定値Ｍ１として取得する。クロック信号ｃｌｋ＿Ａの遷移タイミングは、バイナリーサーチやシュムーなどのサーチ測定手法により測定される。第１の測定値Ｍ１は、所定の基準時点からクロック信号ｃｌｋ＿Ａの遷移時点までの時間幅である。
【００３２】
ステップＳ２において、ワーストケースに対応するデータ出力用外部端子３０Ａから出力されるデータｄａｔａ＿Ａの更新タイミングを、第２の測定値Ｍ２として取得する。データｄａｔａ＿Ａの更新タイミングは、バイナリーサーチやシュムーなどのサーチ測定手法により測定される。第２の測定値Ｍ２は、所定の基準時点からデータｄａｔａ＿Ａの更新時点までの時間幅である。
【００３３】
ステップＳ３において、第１の測定値Ｍ１と第２の測定値Ｍ２とに基づいて、ワーストケースに対応するデータｄａｔａ＿Ａとクロック信号ｃｌｋ＿Ａからなるペアについての出力遅延時間Ｔｄ＿ｗｏｒｓｔを算出する。具体的には、第２の測定値Ｍ２から第１の測定値Ｍ１を減算することで出力遅延時間Ｔｄ＿ｗｏｒｓｔを求めることができる。
【００３４】
ステップＳ４において、算出された出力遅延時間Ｔｄ＿ｗｏｒｓｔが、出力遅延時間についての下限規格Ｔｄ＿ｌよりも大であるか否かを判定する。出力遅延時間Ｔｄ＿ｗｏｒｓｔが、下限規格Ｔｄ＿ｌよりも小である場合にはフェイル判定となる。出力遅延時間Ｔｄ＿ｗｏｒｓｔが、出力遅延時間についての下限規格Ｔｄ＿ｌよりも大である場合には、処理を次のステップＳ５に移行する。
【００３５】
ステップＳ５において、クロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅが、ワーストケースに対応する第１の測定値Ｍ１に対応するタイミングにおいて既にハイレベルに遷移しているか否かを判定する。クロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅのいずれかが、第１の測定値Ｍ１に対応するタイミングにおいてハイレベルに遷移していないと判定された場合にはフェイル判定となる。クロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅが、第１の測定値Ｍ１に対応するタイミングにおいてハイレベルに遷移している場合には、処理を次のステップＳ６に移行する。
【００３６】
ステップＳ６において、データｄａｔａ＿Ｂ〜ｄａｔａ＿Ｅの値が、ワーストケースに対応する第２の測定値Ｍ２に対応するタイミングにおいて未だデータ更新前の値であるか否かを判定する。データｄａｔａ＿Ｂ〜ｄａｔａ＿Ｅの値が、第２の測定値Ｍ２に対応するタイミングにおいてデータ更新前の値ではないと判定された場合には、フェイル判定となる。ステップＳ４〜Ｓ６における判定が、全て肯定判定となった場合には、半導体装置１００の出力遅延時間Ｔｄについて、パス判定となる。
【００３７】
以上のように、本実施形態に係る半導体装置１００によれば、ワーストケースに対応するクロック信号ｃｌｋ＿Ａの遷移タイミングおよびデータｄａｔａ＿Ａの更新タイミングのみがサーチ測定手法を用いて測定される。そして、ワーストケース以外のクロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅの遷移タイミングについては、ワーストケースに対応する第１の測定値Ｍ１によって示されるタイミングにおいて、クロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅのレベルが、ハイレベルであるか否かを判定する所謂ファンクションテストによって良否判定がなされる。同様に、ワーストケース以外のデータｄａｔａ＿Ｂ〜ｄａｔａ＿Ｅの更新タイミングについては、ワーストケースに対応する第２の測定値Ｍ２によって示されるタイミングにおいて、データｄａｔａ＿Ｂ〜ｄａｔａ＿Ｅの値が更新前の値であるか否かを判定する所謂ファンクションテストによって良否判定がなされる。
【００３８】
このように、出力遅延時間Ｔｄのテストにおいて、サーチ測定手法を用いた測定を、ワーストケースとなる特定のデータおよびクロック信号に限定し、残りのデータおよびクロック信号については、ワーストケースにおける測定値を用いたファンクションテストを実施することで、テスト時間を大幅に短縮することができる。
【００３９】
なお、フリップフロップ１０は、本発明における記憶回路の一例である。データ出力用外部端子３０Ａ〜３０Ｅは、本発明におけるデータ出力用外部端子の一例である。クロック出力用外部端子３１Ａ〜３１Ｅは、本発明におけるクロック出力用外部端子の一例である。遅延素子４０は、本発明における第１の遅延手段および第１の遅延素子の一例である。遅延素子４１は、本発明における第２の遅延手段および第２の遅延素子の一例である。
【００４０】
［第２の実施形態］
図６は、本発明の第２の実施形態に係る半導体装置１００Ａの構成を示す図である。半導体装置１００Ａは、フリップフロップ１０のクロック入力端子Ｃとクロック出力用外部端子３１Ａとの間に設けられたバイパス配線４２と、遅延素子４１の入力端およびバイパス配線４２の一端を選択的にフリップフロップ１０のクロック入力端子Ｃに接続するスイッチ４３と、遅延素子４１の出力端およびバイパス配線４２の他端を選択的にクロック出力用外部端子３１Ａに接続するスイッチ４４と、を更に含む点において、上記した第１の実施形態に係る半導体装置１００と異なる。
【００４１】
スイッチ４３および４４は、半導体装置１００Ａの出力遅延時間Ｔｄをテストする際に、遅延素子４１側に接続される。すなわち、半導体装置１００Ａの出力遅延時間Ｔｄのテスト時において、クロック信号は、遅延素子４１を経由してクロック出力用外部端子３１Ａから出力される。一方、スイッチ４３および４４は、半導体装置１００Ａの通常動作時においては、バイパス配線４２側に接続される。すなわち、半導体装置１００Ａの通常動作時において、クロック信号は、遅延素子４１を迂回するバイパス配線４２を経由してクロック出力用外部端子３１Ａから出力される。
【００４２】
遅延素子４１は、出力遅延時間Ｔｄのテストにおいて、クロック出力用外部端子３１Ａから出力されるクロック信号ｃｌｋ＿Ａの遷移タイミングをワーストケースとするために設けられたものであり、通常動作時においては不要である。本実施形態に係る半導体装置１００Ａによれば、通常動作時においては、クロック信号を、遅延素子４１を迂回するバイパス配線４２を経由してクロック出力用外部端子３１Ａから出力させることが可能となる。
【００４３】
なお、バイパス配線４２は、本発明におけるバイパス配線の一例である。スイッチ４３および４４は、本発明におけるスイッチの一例である。
【００４４】
［第３の実施形態］
図７は、本発明の第３の実施形態に係る半導体装置１００Ｂの構成を示す図である。半導体装置１００Ｂは、出力遅延時間Ｔｄについて上限規格が定められている場合の構成を有する。すなわち、出力遅延時間Ｔｄは、上限規格よりも小さいことが要求される。
【００４５】
半導体装置１００Ｂにおいて、データ出力用外部端子３０Ａと、フリップフロップ１０のデータ出力端子Ｑとの間には遅延素子４０が設けられている。一方、データ出力用外部端子３０Ｂ〜３０Ｅと、フリップフロップ１０のデータ出力端子Ｑとの間には遅延素子は設けられていない。すなわち、フリップフロップ１０のデータ出力端子Ｑから出力されたデータは、遅延素子４０によって遅延時間が付与されてデータ出力用外部端子３０Ａからデータｄａｔａ＿Ａとして出力される。一方、フリップフロップ１０のデータ出力端子Ｑから出力されたデータは、遅延時間が付与されることなくデータ出力用外部端子３０Ｂ〜３０Ｅからそれぞれデータｄａｔａ＿Ｂ〜ｄａｔａ＿Ｅとして出力される。
【００４６】
半導体装置１００Ｂにおいて、クロック出力用外部端子３１Ｂ〜３１Ｅと、フリップフロップ１０のクロック入力端子Ｃとの間にはそれぞれ遅延素子４１が設けられている。一方、クロック出力用外部端子３１Ａと、フリップフロップ１０のクロック入力端子Ｃとの間には、遅延素子４１が設けられていない。すなわち、クロック信号は、遅延素子４１によって遅延時間が付与されてクロック出力用外部端子３１Ｂ〜３１Ｅからそれぞれクロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅとして出力される。一方、クロック信号は、遅延時間が付与されることなくクロック出力用外部端子３１Ａからクロック信号ｃｌｋ＿Ａとして出力される。
【００４７】
図８は、データ出力用外部端子３０Ａ〜３０Ｅからそれぞれ出力されるデータｄａｔａ＿Ａ〜ｄａｔａ＿Ｅおよびクロック出力用外部端子３１Ａ〜３１Ｅからそれぞれ出力されるクロック信号ｃｌｋ＿Ａ〜ｃｌｋ＿Ｅのタイミングチャートである。
【００４８】
本実施形態に係る半導体装置１００Ｂの構成によれば、データ出力用外部端子３０Ａから出力されるデータｄａｔａ＿Ａの更新タイミングは、他のデータ出力用外部端子３０Ｂ〜３０Ｅから出力されるデータｄａｔａ＿Ｂ〜ｄａｔａ＿Ｅの更新タイミングよりも遅れるため、出力遅延時間Ｔｄにおいて上限規格が規定される状況の下では、ワーストケースとなる。また、クロック出力用外部端子３１Ａから出力されるクロック信号ｃｌｋ＿Ａの遷移タイミングは、他のクロック出力用外部端子３１Ｂ〜３１Ｅから出力されるクロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅの遷移タイミングに対して先行するため、出力遅延時間Ｔｄにおいて上限規格が規定される状況の下ではワーストケースとなる。つまり、本実施形態に係る半導体装置１００Ｂにおいては、遅延素子４０および４１を設けることにより、データ出力用外部端子３０Ａから出力されるデータｄａｔａ＿Ａとクロック出力用外部端子３１Ａから出力されるクロック信号ｃｌｋ＿Ａとのペアを、上限規格が規定される出力遅延時間Ｔｄに関しワーストケースとしている。
【００４９】
図９は、半導体装置１００Ｂの出力遅延時間Ｔｄのテスト方法の一例を示すフローチャートである。
【００５０】
ステップＳ１１において、ワーストケースに対応するクロック出力用外部端子３１Ａから出力されるクロック信号ｃｌｋ＿Ａの遷移タイミングを、第１の測定値Ｍ１として取得する。クロック信号ｃｌｋ＿Ａの遷移タイミングは、バイナリーサーチやシュムーなどのサーチ測定手法により測定される。第１の測定値Ｍ１は、所定の基準時点からクロック信号ｃｌｋ＿Ａの遷移時点までの時間幅である。
【００５１】
ステップＳ１２において、ワーストケースに対応するデータ出力用外部端子３０Ａから出力されるデータｄａｔａ＿Ａの更新タイミングを、第２の測定値Ｍ２として取得する。データｄａｔａ＿Ａの更新タイミングは、バイナリーサーチやシュムーなどのサーチ測定手法により測定される。第２の測定値Ｍ２は、所定の基準時点からデータｄａｔａ＿Ａの更新時点までの時間幅である。
【００５２】
ステップＳ１３において、第１の測定値Ｍ１と第２の測定値Ｍ２とに基づいて、ワーストケースに対応するデータｄａｔａ＿Ａとクロック信号ｃｌｋ＿Ａからなるペアについての出力遅延時間Ｔｄ＿ｗｏｒｓｔを算出する。具体的には、第２の測定値Ｍ２から第１の測定値Ｍ１を減算することで出力遅延時間Ｔｄ＿ｗｏｒｓｔを求めることができる。
【００５３】
ステップＳ１４において、算出された出力遅延時間Ｔｄ＿ｗｏｒｓｔが、出力遅延時間についての上限規格Ｔｄ＿ｕよりも小であるか否かを判定する。出力遅延時間Ｔｄ＿ｗｏｒｓｔが、上限規格Ｔｄ＿ｕよりも大である場合にはフェイル判定となる。出力遅延時間Ｔｄ＿ｗｏｒｓｔが、出力遅延時間についての上限規格Ｔｄ＿ｕよりも小である場合には、処理を次のステップＳ１５に移行する。
【００５４】
ステップＳ１５において、クロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅが、ワーストケースに対応する第１の測定値Ｍ１に対応するタイミングにおいて未だローレベルを維持しているか否かを判定する。クロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅのいずれかが、第１の測定値Ｍ１に対応するタイミングにおいてローレベルを維持していないと判定された場合にはフェイル判定となる。クロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅが、第１の測定値Ｍ１に対応するタイミングにおいてローレベルを維持している場合には、処理を次のステップＳ１６に移行する。
【００５５】
ステップＳ１６において、データｄａｔａ＿Ｂ〜ｄａｔａ＿Ｅの値が、ワーストケースに対応する第２の測定値Ｍ２に対応するタイミングにおいてデータ更新後の値であるか否かを判定する。データｄａｔａ＿Ｂ〜ｄａｔａ＿Ｅの値が、第２の測定値Ｍ２に対応するタイミングにおいてデータ更新後の値ではないと判定された場合には、フェイル判定となる。ステップＳ１４〜Ｓ１６における判定が、全て肯定判定となった場合には、半導体装置１００Ｂの出力遅延時間Ｔｄについて、パス判定となる。
【００５６】
以上のように、本実施形態に係る半導体装置１００Ｂによれば、ワーストケースに対応するクロック信号ｃｌｋ＿Ａの遷移タイミングおよびデータｄａｔａ＿Ａの更新タイミングのみがサーチ測定手法を用いて測定される。そして、ワーストケース以外のクロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅの遷移タイミングについては、ワーストケースに対応する第１の測定値Ｍ１によって示されるタイミングにおいて、クロック信号ｃｌｋ＿Ｂ〜ｃｌｋ＿Ｅが未だローレベルを維持しているか否かを判定する所謂ファンクションテストによって良否判定がなされる。同様に、ワーストケース以外のデータｄａｔａ＿Ｂ〜ｄａｔａ＿Ｅの更新タイミングについては、ワーストケースに対応する第２の測定値Ｍ２によって示されるタイミングにおいて、データｄａｔａ＿Ｂ〜ｄａｔａ＿Ｅの値が更新後の値であるか否かを判定する所謂ファンクションテストによって良否判定がなされる。
【００５７】
このように、出力遅延時間Ｔｄのテストにおいて、サーチ測定手法を用いた測定を、ワーストケースとなる特定のデータおよびクロック信号に限定し、残りのデータおよびクロック信号については、ワーストケースにおける測定値を用いたファンクションテストを実施することで、テスト時間を大幅に短縮することができる。
【００５８】
なお、フリップフロップ１０は、本発明における記憶回路の一例である。データ出力用外部端子３０Ａ〜３０Ｅは、本発明におけるデータ出力用外部端子の一例である。クロック出力用外部端子３１Ａ〜３１Ｅは、本発明におけるクロック出力用外部端子の一例である。遅延素子４０は、本発明における第１の遅延手段および第１の遅延素子の一例である。遅延素子４１は、本発明における第２の遅延手段および第２の遅延素子の一例である。
【００５９】
［第４の実施形態］
図１０は、本発明の第４の実施形態に係る半導体装置１００Ｃの構成を示す図である。半導体装置１００Ｃは、フリップフロップ１０のデータ出力端子Ｑとデータ出力用外部端子３０Ａとの間に設けられたバイパス配線４５と、遅延素子４０の入力端およびバイパス配線４５の一端を選択的にフリップフロップ１０のデータ出力端子Ｑに接続するスイッチ４６と、遅延素子４０の出力端およびバイパス配線４５の他端を選択的にデータ出力用外部端子３０Ａに接続するスイッチ４７と、を更に含む点において、上記した第３の実施形態に係る半導体装置１００Ｂと異なる。
【００６０】
スイッチ４６および４７は、半導体装置１００Ｃの出力遅延時間Ｔｄをテストする際に、遅延素子４０側に接続される。すなわち、半導体装置１００Ｃの出力遅延時間Ｔｄのテスト時において、フリップフロップ１０のデータ出力端子Ｑから出力されたデータは、遅延素子４０を経由してデータ出力用外部端子３０Ａから出力される。一方、スイッチ４６および４７は、半導体装置１００Ｃの通常動作時においては、バイパス配線４５側に接続される。すなわち、半導体装置１００Ｃの通常動作時において、フリップフロップ１０のデータ出力端子Ｑから出力されたデータは、遅延素子４０を迂回するバイパス配線４５を経由してデータ出力用外部端子３０Ａから出力される。
【００６１】
遅延素子４０は、出力遅延時間Ｔｄのテストにおいて、データ出力用外部端子３０Ａから出力されるデータｄａｔａ＿Ａの更新タイミングをワーストケースとするために設けられたものであり、通常動作時においては不要である。本実施形態に係る半導体装置１００Ｃによれば、通常動作時においては、データを、遅延素子４０を迂回するバイパス配線４５を経由してデータ出力用外部端子３０Ａから出力させることが可能となる。
【００６２】
なお、バイパス配線４５は、本発明におけるバイパス配線の一例である。スイッチ４６および４７は、本発明におけるスイッチの一例である。
【００６３】
上記の第１〜第４の実施形態に係る半導体装置においては、クロック信号ｃｌｋ＿Ａの遷移タイミングおよびデータｄａｔａ＿Ａの更新タイミングをワーストケースとするために、遅延素子４０および４１を用いたが、この態様に限定されるものではない。例えば、遅延素子以外の素子、レイアウト、配線長およびタイミング設計によってワーストケースを作り出してもよい。
【００６４】
［第５の実施形態］
図１１は、本発明の第５の実施形態に係る半導体装置１００Ｄの構成を示す図である。半導体装置１００Ｄは、第１のセレクタ５１、第２のセレクタ５２、テストデータ入力用外部端子６１、セレクタ制御用外部端子６２、テストクロック入力用外部端子６３、ＣＰＵ７０およびクロック生成回路７１を含む。
【００６５】
ＣＰＵ７０は、任意のロジック回路２１を介して第１のセレクタ５１の入力端子Ｊに接続されている。テストデータ入力用外部端子６１は、第１のセレクタ５１の入力端子Ｋに接続されている。クロック生成回路７１は、任意のロジック回路２２を介して第２のセレクタ５２の入力端子Ｕに接続されている。テストクロック入力用外部端子６３は、第２のセレクタ５２の入力端子Ｖに接続されている。セレクタ制御用外部端子６２は、第１のセレクタ５１の制御端子Ｍおよび第２のセレクタ５２の制御端子Ｘに接続されている。第１のセレクタ５１の出力端子Ｌは、フリップフロップ１０のデータ入力端子Ｄに接続されている。第２のセレクタ５２の出力端子Ｗは、フリップフロップ１０のクロック入力端子Ｃに接続されると共に、任意のロジック回路２４を介してクロック出力用外部端子３１Ａ〜３１Ｅに接続されている。
【００６６】
ＣＰＵ７０は、フリップフロップ１０に供給すべきデータ信号を生成する。クロック生成回路７１は、フリップフロップ１０に供給すべきクロック信号を生成する。第１のセレクタ５１は、セレクタ制御用外部端子６２を介して制御端子Ｍに入力されるセレクタ制御信号ｓｅｌに基づいて、入力端子Ｊに入力される信号および入力端子Ｋに入力される信号のいずれか一方を選択して出力端子Ｌに出力する。同様に、第２のセレクタ５２は、セレクタ制御用外部端子６２を介して制御端子Ｘに入力されるセレクタ制御信号ｓｅｌに基づいて、入力端子Ｕに入力される信号および入力端子Ｖに入力される信号のいずれか一方を選択して出力端子Ｗに出力する。
【００６７】
テストデータ入力用外部端子６１は、出力遅延時間Ｔｄのテストに使用するテストデータｄａｔａ＿Ｔの入力を半導体装置１００Ｄの外部から受け付ける。テストクロック入力用外部端子６３は、出力遅延時間Ｔｄのテストに使用するテストクロック信号ｃｌｋ＿Ｔの入力を半導体装置１００Ｄの外部から受け付ける。セレクタ制御用外部端子６２は、第１のセレクタ５１および第２のセレクタ５２における選択動作を制御するセレクタ制御信号ｓｅｌの入力を半導体装置１００Ｄの外部から受け付ける。
【００６８】
半導体装置１００Ｄの通常動作時において、第１のセレクタ５１は、制御端子Ｍに入力されるセレクタ制御信号ｓｅｌに基づいて、入力端子Ｊに入力されるＣＰＵ７０からのデータ信号を選択し、これをフリップフロップ１０のデータ入力端子Ｄに供給する。また、半導体装置１００Ｄの通常動作時において、第２のセレクタ５２は、制御端子Ｘに入力されるセレクタ制御信号ｓｅｌに基づいて、入力端子Ｕに入力されるクロック生成回路７１からのクロック信号を選択し、これをフリップフロップ１０のクロック入力端子Ｃに供給する。
【００６９】
一方、出力遅延時間Ｔｄのテスト時において、第１のセレクタ５１は、制御端子Ｍに入力されるセレクタ制御信号ｓｅｌに基づいて、テストデータ入力用外部端子６１を介して半導体装置１００Ｄの外部から供給され、入力端子Ｋに入力されるテストデータｄａｔａ＿Ｔを選択し、これをフリップフロップ１０のデータ入力端子Ｄに供給する。また、出力遅延時間Ｔｄのテスト時において、第２のセレクタ５２は、制御端子Ｘに入力されるセレクタ制御信号ｓｅｌに基づいて、テストクロック入力用外部端子６３を介して半導体装置１００Ｄの外部から供給され、入力端子Ｖに入力されるテストクロック信号ｃｌｋ＿Ｔを選択し、これをフリップフロップ１０のクロック入力端子Ｃに供給する。
【００７０】
以上のように、半導体装置１００Ｄは、通常動作時において、内部のＣＰＵ７０から供給されるデータ信号および内部のクロック生成回路７１から供給されるクロック信号に基づいて動作する。一方、半導体装置１００Ｄは、出力遅延時間Ｔｄのテスト時において、半導体装置１００Ｄの外部から供給されるテストデータｄａｔａ＿Ｔおよびテストクロック信号ｃｌｋ＿Ｔを用いてテストを行う。このように、通常動作時における信号経路とは別に外部入力によるテスト用の経路を設けることで、テスト時間を削減することが可能となる。
【００７１】
仮に外部入力によるテスト用の経路を設けない場合には、ＣＰＵ７０がテストデータ（テストパターン）を作成することとなるが、テストデータの作成にはある程度の時間を要するため、テスト時間が長くなる。また、テストデータの伝送レートは、ＣＰＵ７０の能力によって制限されてしまうため、テスト時間の短縮を図ることが困難である。
【００７２】
一方、半導体装置１００Ｄによれば、外部入力によるテスト用の経路を有するため、外部のテスタに予め保持しておいたテストデータｄａｔａ＿Ｔを用いて半導体装置１００Ｄのテストを行うことが可能である。従って、ＣＰＵ７０がテストデータを作成する場合と比較して、テスト時間を削減することが可能である。また、テストデータｄａｔａ＿Ｔの伝送レートは、ＣＰＵ７０の能力に依存しないので、容易にテスト時間の短縮を図ることが可能となる。
【００７３】
なお、第１のセレクタ５１は、本発明における第１のセレクタの一例である。第２のセレクタ５２は、本発明における第２のセレクタの一例である。ＣＰＵ７０は、本発明におけるデータ生成回路の一例である。クロック生成回路７１は、本発明におけるクロック生成回路の一例である。テストデータ入力用外部端子６１は、本発明におけるデータ入力用外部端子の一例である。テストクロック入力用外部端子６３は、本発明におけるクロック入力用外部端子の一例である。
【符号の説明】
【００７４】
１０  フリップフロップ
３０Ａ、３０Ｂ、３０Ｃ、３０Ｄ、３０Ｅ  データ出力用外部端子
３１Ａ、３１Ｂ、３１Ｃ、３１Ｄ、３１Ｅ  クロック出力用外部端子
４０、４１  遅延素子
４２、４５  バイパス配線
４３、４４、４６、４７  スイッチ
５１  第１のセレクタ
５２  第２のセレクタ
６１  テストデータ入力用外部端子
６２  セレクタ制御用外部端子
６３  テストクロック入力用外部端子
７０  ＣＰＵ
７１  クロック生成回路
Ｄ  データ入力端子
Ｃ  クロック入力端子
Ｑ  データ出力端子
【図１】
0006530288.tif 000002
【図２】
0006530288.tif 000003
【図３】
0006530288.tif 000004
【図４】
0006530288.tif 000005
【図５】
0006530288.tif 000006
【図６】
0006530288.tif 000007
【図７】
0006530288.tif 000008
【図８】
0006530288.tif 000009
【図９】
0006530288.tif 000010
【図１０】
0006530288.tif 000011
【図１１】
0006530288.tif 000012