説明

遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法

【課題】従来のスキャンテスト方法では、電源電圧変動を抑制しながら動作クロックの周波数の高い半導体装置をテストできない問題があった。
【解決手段】本発明のスキャンテスト方法は、クロック信号SCLKをスキャンフリップフロップ21〜2nに入力して第1のテストパターンをスキャンフリップフロップ21〜2nに設定し、クロック信号SCLKよりも周波数の高いクロック信号RCLKをスキャンフリップフロップ21〜2nに入力すると共に、スキャンフリップフロップ21〜2nをクロック信号RCLKによらず保持する値を維持するホールドモードに制御し、ホールドモードを解除すると共にスキャンフリップフロップ21〜2nをテスト対象回路の出力に応じて保持する値を更新するテスト結果取得モードに制御し、テスト結果取得モードにおいてクロック信号RCLKを2パルス用いてスキャンフリップフロップ21〜2nに保持されている値を更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法に関し、特に半導体装置内の回路の遅延時間をテストする遅延スキャンテスト方法、遅延スキャンテストを行うテスト回路を含む半導体装置及び半導体装置の設計方法に関する。
【背景技術】
【0002】
近年、半導体装置では、回路動作の信頼性を高めるために、スキャンテストにより、外部から直接動作を観察できない回路の遅延故障をテストすることが行われている。このスキャンテストの一例が特許文献1に開示されている。
【0003】
特許文献1では、非同期の動作クロックで動作する複数のクロックドメインに対して遅延故障テストを行う場合に、複数のクロックドメインのそれぞれに対応して設けられるスキャンフリップフロップに対して1回のシフトモードを利用して一括してテストパターンを設定する。そして、特許文献1では、1回のラウンチ−キャプチャ期間に、クロックドメイン毎にラウンチクロックとキャプチャクロックとの組を順次入力する。これにより、特許文献1では、複数のクロックドメインに対する遅延故障テストのテスト時間を短縮する。
【0004】
しかしながら、スキャンテストにおいては、ラウンチクロック及びキャプチャクロックは、シフトモードで利用されるシフトクロックよりも高速なクロック信号が用いられることが一般的である。そのため、ラウンチクロックとキャプチャクロックとを入力した場合、この高速なクロック信号によりテスト対象の半導体装置の電源電圧が降下する。このような電源電圧降下が生じた場合、電源電圧の降下の影響を受けてテスト対象回路の遅延時間が本来の遅延時間よりも長くなり、テスト結果の誤判定が生じる問題がある。
【0005】
特許文献1では、クロックドメイン毎に異なるタイミングでラウンチクロックとキャプチャクロックとが入力されるが、このような場合であっても少なくとも最初に入力されるラウンチクロックとキャプチャクロックとにより電源電圧降下が生じる。
【0006】
そこで、特許文献2では、クロック信号の周波数の上昇による電源電圧の降下を防止する技術が開示されている。特許文献2では、半導体装置にクロック信号を与える場合に、クロック信号の周波数を徐々に上昇又は下降させることで、クロック信号の周波数の急激な変化による電源電圧の変動を抑制する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−275480号公報
【特許文献2】特開2005−249526号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献2の技術をスキャンテストに適用した場合、シフトモードで利用するシフトクロック信号の周波数を、特許文献2の手法を利用して徐々に高め、その後ラウンチクロックとキャプチャクロックとを入力するキャプチャモードに移行する必要がある。この場合、キャプチャモードに移行する直前の状態におけるシフトクロック信号の周波数を、ラウンチクロックとキャプチャクロックとの周波数にほぼ等しくする必要がある。シフトクロック信号を上記のように制御した場合、スキャンチェーンを構成するスキャンフリップフロップ間のタイミング制約が厳しくなり、設計が困難になる問題がある。
【0009】
ここで、ラウンチクロックとキャプチャクロックは、半導体装置の動作クロックの周波数と等しいか、それ以上の周波数に設定される。そのため、半導体装置の動作クロックの周波数が向上するほど上記したスキャンフリップフロップ間のタイミング制約の問題は顕著になる。
【課題を解決するための手段】
【0010】
本発明にかかる半導体装置の遅延スキャンテスト方法は、テスト対象回路と、従属接続された複数のスキャンフリップフロップと、前記複数のスキャンフリップへのクロック分配経路に設けられたクロックバッファ群と、を有し、前記テスト対象回路を前記複数のスキャンフリップフロップによりテストする半導体装置の遅延スキャンテスト方法であって、第1のクロック信号を前記複数のスキャンフリップフロップに入力して前記テスト対象回路に入力する第1のテストパターンを前記複数のスキャンフリップフロップに設定し、前記第1のクロック信号よりも周波数の高い第2のクロック信号を前記複数のスキャンフリップフロップに入力すると共に、前記複数のスキャンフリップフロップを前記第2のクロック信号によらず保持する値を維持するホールドモードに制御し、前記ホールドモードを解除すると共に前記複数のスキャンフリップフロップを前記テスト対象回路の出力に応じて保持する値を更新するテスト結果取得モードに制御し、前記テスト結果取得モードにおいて前記第2のクロック信号を2パルス用いて前記複数のスキャンフリップフロップに保持されている値を更新し、前記テスト結果取得モードを解除した後に前記第1のクロック信号を前記複数のスキャンフリップフロップに入力して、前記複数のスキャンフリップフロップに保持されている値をテスト結果として外部出力する。
【0011】
本発明にかかる半導体装置の一態様は、テスト対象回路と、前記テスト対象回路をテストし、従属接続される複数のスキャンフリップフロップと、前記複数のスキャンフリップへのクロック分配経路に設けられたクロックバッファ群と、を有する半導体装置であって、前記複数のスキャンフリップフロップは、それぞれ入力されるクロック信号に応じて保持する値を更新すると共に、外部から入力されるテストモードにより保持する値を更新するシフトモードと、前記テスト対象回路の出力する値に応じて保持する値を更新するキャプチャモードと、がスキャンモード制御信号の論理レベルに応じて切り換えられる基本スキャンフリップフロップと、前記キャプチャモードにおいて、キャプチャイネーブル信号がイネーブル状態である場合には前記基本スキャンフリップフロップが保持する値を更新し、前記キャプチャイネーブル信号がディスイネーブル状態である場合には前記基本スキャンフリップフロップが保持する値を維持するホールド回路と、を有し、前記基本スキャンフリップフロップには、キャプチャイネーブル信号がイネーブル状態である期間に前記クロック信号に含まれる連続した2つのクロックパルスが入力される。
【0012】
本発明にかかる半導体装置の設計方法の一態様は、テスト対象回路と、前記テスト対象回路をテストし、従属接続される複数のスキャンフリップフロップと、を有する半導体装置の設計方法であって、前記テスト対象回路を含む回路を含む第1のネットリストを読み込み、前記テスト対象回路に対応する位置に、スキャンモード制御信号の値に応じて保持する値を前段のスキャンフリップフロップの出力により更新するか前記テスト対象回路の出力に応じて更新するかを切り換える前記複数の基本スキャンフリップフロップのネット情報を生成し、前記複数の基本スキャンフリップフロップのそれぞれに対して、キャプチャイネーブル信号に応じて前記複数の基本スキャンフリップフロップが保持する値を更新するか維持するかを切り換えるホールド回路のネット情報を生成し、前記複数の基本スキャンフリップフロップが保持する値を前段のスキャンフリップフロップの出力により更新するか前記テスト対象回路の出力に応じて更新するかを指示するスキャンモード制御信号と、前記複数のスキャンフリップフロップに与えられるクロック信号と、に応じて前記キャプチャイネーブル信号をイネーブル状態とするかディスイネーブル状態とするかを切り換えるスキャン制御回路のネット情報を生成し、前記第1のネットリストに、前記複数の基本スキャンフリップフロップのネット情報、前記ホールド回路のネット情報及び前記スキャン制御回路のネット情報を追加して、第2のネットリストを生成する。
【0013】
本発明にかかる半導体装置の遅延スキャンテスト方法によれば、遅延テストに利用される高速な2パルスの第2のクロック信号(例えば、ラウンチクロックとキャプチャクロック)が入力される前にスキャンフリップフロップに保持された値を維持しながら、スキャンフリップフロップに第2のクロック信号を入力する。これにより、半導体装置の電源電圧を第2のクロック信号が入力された状態で適切な電圧とした上で遅延スキャンテストを行うことができる。また、本発明にかかる半導体装置及び半導体装置の設計方法によれば、上記遅延スキャンテスト方法を実行可能な半導体装置を提供できる。
【発明の効果】
【0014】
本発明にかかる遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法によれば、遅延スキャンテスト時の電源電圧の変動を抑制することができる。
【図面の簡単な説明】
【0015】
【図1】実施の形態1にかかる半導体装置のブロック図である。
【図2】実施の形態1にかかるスキャンフリップフロップ及びテスト制御回路のブロック図である。
【図3】実施の形態1にかかる半導体装置のテスト方法の手順を示すタイミングチャートである。
【図4】実施の形態2にかかるスキャンフリップフロップ及びテスト制御回路のブロック図である。
【図5】実施の形態2にかかる半導体装置のテスト方法の手順を示すタイミングチャートである。
【図6】実施の形態3にかかる半導体装置のブロック図である。
【図7】実施の形態4にかかる半導体装置の設計支援装置である。
【図8】実施の形態4にかかる半導体装置の設計方法のフローチャートである。
【発明を実施するための形態】
【0016】
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。実施の形態1にかかる半導体装置1のブロック図を図1に示す。図1に示すように、半導体装置1は、組合せ回路11a〜11c、テスト制御回路12、テスト回路20、を有する。この組合せ回路11a〜11cは、テスト対象回路の一例である。
【0017】
テスト制御回路12は、動作モードに応じてテスト回路20に与えるクロック信号CLKの周波数及びキャプチャイネーブル信号CENの状態を切り換える。テスト制御回路12は、クロック制御回路13、キャプチャ制御回路16を有する。クロック制御回路13、スキャンモード制御信号SMCに応じてテスト回路20に与えるクロック信号CLKを第1のクロック信号(例えば、シフトクロックSCLK)とするか、第2のクロック信号(リアルタイムクロックRCLK)とするかを切り換える。また、キャプチャ制御回路16は、スキャンモード制御信号SMCとクロック信号CLKとに基づきスキャンフリップフロップがキャプチャ動作を行うタイミングを制御するキャプチャイネーブル信号CENを生成する。このクロック制御回路13とキャプチャ制御回路16の詳細は後述する。
【0018】
テスト回路20は、スキャンモード制御信号SMCと、キャプチャイネーブル信号CENと、クロック信号CLKと、テストパターンSINとが入力され、テスト対象回路に対するテストを行う。より具体的には、テスト回路20は、スキャンモード制御信号SMCがシフトモードを示す場合(例えば、ハイレベル)には、外部から入力されるテストパターンSINをテスト回路内の複数のスキャンフリップフロップに設定する。また、テスト回路20は、スキャンモード制御信号SMCがキャプチャモードを示す場合(例えば、ローレベル)には、テスト回路20において保持されているテストパターンSINに基づくテスト値により遅延スキャンテストを実施する。ここで、実施の形態1にかかるテスト回路20は、スキャンモード制御信号SMCがキャプチャモード中の動作モードとして、ホールドモードとテスト結果取得モードとを有する。テスト回路20は、キャプチャ制御回路16が出力するキャプチャイネーブル信号CENがディスイネーブル状態であればホールドモードとなり、イネーブル状態であればテスト結果取得モードとなる。ホールドモードでは、スキャンフリップフロップに入力されるクロック信号CLKに関わらずスキャンフリップフロップで保持している値を維持する。また、テスト結果取得モードでは、スキャンフリップフロップに入力されるクロック信号CLKに応じてスキャンフリップフロップで保持している値を組合せ回路から出力される値で更新する。
【0019】
ここで、テスト回路20の詳細な構成について説明する。図1に示すように、テスト回路20は、スキャンフリップフロップ21〜2n(nは整数、以下同じ)、クロックバッファ群31〜3nを有する。なお、クロックバッファ群31〜3nは、クロック信号CLKがスキャンフリップフロップ21〜2nに到達するタイミングを制御するために設けられるものであり、クロックバッファ群31〜3nに含まれるクロックバッファの数及びその配置は設計時に適宜設定されるものである。
【0020】
スキャンフリップフロップ21〜2nは、それぞれスキャンモード制御信号SMCと、キャプチャイネーブル信号CENと、クロック信号CLKと、テストパターンSINと、データ入力信号DINが入力され、出力信号Qを出力する。以下の説明では、スキャンモード制御信号SMCが入力される入力端子をスキャンモード制御信号入力端子SMC、キャプチャイネーブル信号CENが入力される入力端子をキャプチャイネーブル信号入力端子CEN、クロック信号CLKが入力される入力端子をクロック入力端子CLK、テストパターンSINが入力される入力端子をテストパターン入力端子SIN、データ入力信号DINが入力される入力端子をデータ入力端子DIN、出力信号Qが出力される出力端子を出力端子Qと称す。
【0021】
スキャンフリップフロップ21〜2nは、スキャンモード制御信号SMCが第1のモード(例えば、シフトモード)を示す状態(例えば、ハイレベル)である場合、テストパターンSINに基づくテスト値をクロック信号CLKに同期して保持し、出力端子Qから出力する。また、スキャンフリップフロップ21〜2nは、スキャンモード制御信号SMCが第2のモード(例えば、キャプチャモード)を示す状態(例えば、ローレベル)である場合、データ入力信号DINに基づくテスト値をクロック信号CLKに同期して保持するとともに出力信号Qとして出力する。さらに、スキャンフリップフロップ21〜2nは、キャプチャイネーブル信号CENがディスイネーブル状態(例えば、ローレベル)である場合、その時点で保持している値を維持する。
【0022】
スキャンフリップフロップ21〜2nは、従属接続され、スキャンチェーン回路を構成する。より具体的には、スキャンフリップフロップは、テストパターン入力端子SINが前段に配置されるスキャンフリップフロップの出力端子Qと接続される入力される。スキャンフリップフロップ21〜2nのデータ入力端子DINは、組合せ回路11a、11bのいずれかに接続される。スキャンフリップフロップ21〜2nの出力端子Qは、後段に配置されるスキャンフリップフロップ21〜2nのテストパターン入力端子SINと、組合せ回路11b、11cと、に接続される。なお、スキャンチェーン回路の初段に配置されるスキャンフリップフロップ21のテストパターン入力端子SINは、外部からテストパターンSINの供給を受ける。また、スキャンチェーン回路の最後段に配置されるスキャンフリップフロップ2nの出力端子Qは、外部に対してテスト結果信号を出力端子SOUTから出力する。
【0023】
実施の形態1にかかるスキャンフリップフロップ21〜2nは、一般的なスキャンフリップフロップとは異なる構成を有する。具体的には、スキャンフリップフロップ21〜2nは、特徴の1つとしてキャプチャイネーブル信号CENに応じて保持している値を更新するか維持するかを切り換えることができる構成を有する。そこで、スキャンフリップフロップ21〜2nの構成について詳細に説明する。スキャンフリップフロップ21〜2nは、同一の構成を有するため、以下の説明では、スキャンフリップフロップ21を例に実施の形態1にかかるスキャンフリップフロップについて説明する。また、スキャンフリップフロップ21〜2nを制御するテスト制御回路12の詳細な構成についてもスキャンフリップフロップ21と共に説明する。
【0024】
スキャンフリップフロップ21及びテスト制御回路12の詳細なブロック図を図2に示す。図2に示すように、スキャンフリップフロップ21は、基本スキャンフリップフロップ40にホールド回路50を有する。ホールド回路50は、キャプチャイネーブル信号CENがディスイネーブル状態(例えば、0)である場合に、基本スキャンフリップフロップ40で保持している値が入力されるクロック信号CLKに応じて更新されることを防止する。一方、ホールド回路50は、キャプチャイネーブル信号CENがイネーブル状態(例えば、1)である場合には、基本スキャンフリップフロップ40で保持している値が入力されるクロック信号CLKに応じて更新されることを許可する。
【0025】
基本スキャンフリップフロップ40は、フリップフロップ回路41及び第1のセレクタ42を有する。フリップフロップ回路41は、クロック入力端子、保持値入力端子D、出力端子Qを有する。フリップフロップ回路41は、クロック信号CLKに応じて保持値入力端子Dに与えられる信号に基づくテスト値を保持する。第1のセレクタ42は、テストパターンSINが第1の入力端子(スキャンモード制御信号SMCがシフトモード(例えば、1)を示すのときに選択される端子)に与えられ、ホールド回路50の第2のセレクタ51の出力値が第2の入力端子(スキャンモード制御信号SMCがキャプチャモード(例えば、0)を示すときに選択される)に与えられる。そして、第1のセレクタ42は、スキャンモード制御信号SMCの値に応じてフリップフロップ回路41の保持値入力端子Dに与える値を切り換える。
【0026】
ホールド回路50は、第2のセレクタ51を有する。第2のセレクタ51は、テスト対象回路の出力値(例えば、データ入力信号DIN)と、フリップフロップ回路41の出力値と、が入力され、キャプチャイネーブル信号CENの状態に応じて第1のセレクタ42の第2の入力端子に与える信号を切り換える。より具体的には、キャプチャイネーブル信号CENがディスイネーブル状態(例えば、0)である場合、第2のセレクタ51は、フリップフロップ回路41の出力値を第1のセレクタ42の第2の入力端子に与える。また、キャプチャイネーブル信号CENがイネーブル状態(例えば、1)である場合、第2のセレクタ51は、データ入力信号DINを第1のセレクタ42の第2の入力端子に与える。
【0027】
また、図2に示すように、テスト制御回路12は、クロック制御回路13、キャプチャ制御回路16を有する。クロック制御回路13は、PLL回路14と、セレクタ15とを有する。PLL回路14は、外部から入力される基準クロックREFCを逓倍して第2のクロック信号(例えば、リアルタイムクロックRCLK)を生成する。セレクタ15は、シフトクロックSCLKとリアルタイムクロックRCLKとのいずれか一方をスキャンモード制御信号SMCに応じて選択して、選択した信号をクロック信号CLKとして出力する。より具体的には、セレクタ15は、スキャンモード制御信号SMCがシフトモード(例えば、1)を示す場合にはシフトクロックSCLKをクロック信号CLKとして出力する。また、セレクタ15は、スキャンモード制御信号SMCがキャプチャモード(例えば、0)を示す場合にはリアルタイムクロックRCLKをクロック信号CLKとして出力するなお、リアルタイムクロックRCLKは、スキャンテストで利用されるラウンチクロックとキャプチャクロックの周波数と同じ周波数を有するクロック信号である。
【0028】
キャプチャ制御回路16は、スキャンモード制御信号SMCとクロック信号CLKとに基づきスキャンフリップフロップがキャプチャ動作を行うタイミングを制御するキャプチャイネーブル信号CENを生成する。キャプチャ制御回路16は、ゲーティング回路(例えば、AND回路17)、カウンタ18を有する。AND回路17の一方の入力端子は、正転入力端子である。この正転入力端子には、クロック信号CLKが入力される。AND回路17の他方の入力端子は、反転入力端子である。この反転入力端子には、スキャンモード制御信号SMCが入力される。AND回路17は、スキャンモード制御信号SMCの反転論理とクロック信号CLKとの論理積演算結果を出力する。つまり、AND回路17は、スキャンモード制御信号SMCがシフトモード(例えば、1)を示す場合にはクロック信号CLKが後段の回路(例えば、カウンタ18)に伝達されることを防止する。一方、AND回路17は、スキャンモード制御信号SMCがキャプチャモード(例えば、0)を示す場合にはクロック信号CLKを後段の回路(例えば、カウンタ18)に伝達する。
【0029】
カウンタ18は、AND回路17を介して入力されるクロック信号CLKのクロック数をカウントする。カウンタ18は、設定レジスタ(不図示)に所定の値(例えば、キャプチャ判定値)を有する。そして、カウンタ18は、クロック信号CLKのクロック数がキャプチャ判定値に達したことに応じて、キャプチャイネーブル信号CENをディスイネーブル状態からイネーブル状態に切り換える。そして、カウンタ18は、カウント値がさらに2つ進むとキャプチャイネーブル信号CENをイネーブル状態からディスイネーブル状態に切り換える。これは、実施の形態1にかかる半導体装置1では、キャプチャイネーブル信号CENがイネーブル状態である期間にラウンチクロックパルスとキャプチャクロックパルスの2クロックパルスを要するためである。なお、カウンタ18は、キャプチャイネーブル信号CENをイネーブル状態からディスイネーブル状態に切り換えたことに応じてカウント値をリセットすることが好ましい。
【0030】
続いて、実施の形態1にかかる半導体装置1のテスト方法について説明する。まず、実施の形態1にかかる半導体装置1のテスト方法の手順を示すタイミングチャートを図3に示す。半導体装置1のテスト方法は、遅延スキャンテストと呼ばれるものである。図3に示すように、半導体装置1のテストでは、まず、スキャンモード制御信号SMCをシフトモード(例えば、1)とする。そして、シフトモードにおいてテストパターンSINを第1のクロック信号(例えば、シフトクロックSCLK)に同期して内蔵されたスキャンフリップフロップ21〜2nに入力する。ここで、実施の形態1にかかる半導体装置1では、シフトモードにおいてスキャンフリップフロップ21〜2nに入力されたテストパターンSINを一度テスト対象回路に入力し、当該テスト対象回路がテストパターンSINに基づき出力した出力値に基づき遅延スキャンテストを実行する。そこで、シフトモードにおいてスキャンフリップフロップ21〜2nに入力されたテストパターンSINを以下では第1のテストパターンと称し、当該テスト対象回路が第1のテストパターンに基づき生成した出力値を第2のテストパターンと称す。また、シフトモードで利用されるシフトクロックSCLKは、キャプチャモードで利用されるリアルタイムクロックRCLKも周波数が低いクロック信号である。
【0031】
続いて、実施の形態1にかかる遅延スキャンテスト方法では、スキャンモード制御信号SMCをキャプチャモード(例えば、0)とする。そして、スキャンモード制御信号SMCをキャプチャモードとしたことに応じて、クロック制御回路13は、出力するクロック信号CLKをシフトクロックSCLKからリアルタイムクロックRCLKに切り換える。また、スキャンモード制御信号SMCをキャプチャモードとしたことに応じて、AND回路17を介してカウンタ18にリアルタイムクロックRCLKが入力される。そして、カウンタ18は、リアルタイムクロックRCLKのクロック数がキャプチャ判定値に達するまでの期間キャプチャイネーブル信号CENをディスイネーブル状態(例えば、0)とする。ここで、キャプチャイネーブル信号CENがディスイネーブル状態となる期間の半導体装置1の動作モードをホールドモードと称す。このホールドモードでは、スキャンフリップフロップ21〜2nの第1のセレクタ42は、スキャンモード制御信号SMCの値に応じて第2のセレクタ51の出力値を選択する。また、ホールドモードでは、スキャンフリップフロップ21〜2nの第2セレクタ51は、キャプチャイネーブル信号CENの値に応じてフリップフロップ回路41の出力値を出力する。そのため、スキャンフリップフロップ21〜2nは、ホールドモードでは、キャプチャモードに移行した時点で保持している値を維持すると共にテスト対象回路に第1のテストパターンを出力する。そして、テスト対象回路は、この第1のテストパターンに基づき第2のテストパターンを生成する。また、ホールドモードでは、リアルタイムクロックRCLKがクロックバッファ群31〜3nに入力される。そのため、ホールドモードでは、クロックバッファ群31〜3nは、動作状態であり、半導体装置1の消費電流が増加する。そして、半導体装置1に電源電圧を供給する電源回路(不図示)は、増加した消費電力に起因した電源電圧の変動を抑制するように電流供給能力を引き上げる。
【0032】
続いて、カウンタ18のカウント値がキャプチャ判定値に達すると、カウンタ18がキャプチャイネーブル信号CENをディスイネーブル状態からイネーブル状態(例えば、1)に切り換える。これにより、半導体装置1は、動作モードをテスト結果取得モードに切り換える。このテスト結果取得モードでは、スキャンフリップフロップ21〜2nの第1のセレクタ42は、スキャンモード制御信号SMCの値に応じて第2のセレクタ51の出力値を選択する。また、テスト結果取得モードでは、スキャンフリップフロップ21〜2nの第2セレクタ51は、キャプチャイネーブル信号CENの値に応じてテスト対象回路の出力値を出力する。これにより、テスト結果取得モードでは、スキャンフリップフロップ21〜2nは、リアルタイムクロックRCLKに同期して保持している値をテスト対象回路の出力値により更新する状態となる。テスト結果取得モードは、カウンタ18にさらにリアルタイムクロックRCLKが2クロックパルス入力されるまで継続される。このとき、2クロックパルスのうちホールドモード終了後に入力される1つ目のクロックパルスをラウンチクロックパルスと称し、2つ目のクロックパルスをキャプチャクロックパルスと称す。半導体装置1では、ラウンチクロックパルスをスキャンフリップフロップ21〜2nに入力することで、スキャンフリップフロップ21〜2nが保持している値をテスト対象回路が出力する第2のテストパターンで更新する。さらに、半導体装置1では、更新後のスキャンフリップフロップ21〜2nの保持値である第2のテストパターンをテスト対象回路に出力する。次いで、スキャンフリップフロップ21〜2nにキャプチャクロックパルスが入力されると、スキャンフリップフロップ21〜2nは、第2のテストパターンに基づきテスト対象回路が出力する出力値をテスト結果として取得する。
【0033】
このとき、ラウンチクロックパルスとキャプチャクロックパルスの周期は、テスト対象回路に許容される最大遅延許容時間よりも短く設定する。つまり、キャプチャクロックパルスにより取得されたテスト結果が予め定められた値と異なる値であった場合、テスト対象回路の遅延時間が規定を満たしていないと判定することができる。
【0034】
続いて、キャプチャクロックパルスが入力されると、カウンタ18は、キャプチャイネーブル信号CENをイネーブル状態からディスイネーブル状態に切り換える。そして、スキャンモード制御信号SMCをシフトモードに切り換える。このシフトモードにおいて、シフトクロックSCLKを入力することで、スキャンフリップフロップに取り込まれたテスト結果を出力端子SOUTから取り出すことができる。
【0035】
上記説明より、実施の形態1にかかる半導体装置1は、テスト対象回路をテストするスキャンフリップフロップ21〜2nを有する。そして、スキャンフリップフロップ21〜2nは、それぞれ、基本スキャンフリップフロップ40と、ホールド回路50とを有する。基本スキャンフリップフロップ40は、入力されるクロック信号CLKに応じて保持する値を更新すると共に、外部から入力されるスキャンパターンにより保持する値を更新するシフトモードと、テスト対象回路の出力する値に応じて保持する値を更新するキャプチャモードと、がスキャンモード制御信号SMCの論理レベルに応じて切り換えられる。ホールド回路50は、キャプチャモードにおいて、キャプチャイネーブル信号がイネーブル状態である場合には基本スキャンフリップフロップが保持する値を更新し、キャプチャイネーブル信号がディスイネーブル状態である場合には前記基本スキャンフリップフロップが保持する値を維持する。そして、実施の形態1にかかる半導体装置1では、テスト制御回路により、基本スキャンフリップフロップにキャプチャイネーブル信号がイネーブル状態である期間にクロック信号に含まれる連続した2つのクロックパルスを入力する。
【0036】
また、実施の形態1にかかる半導体装置1では、上記スキャンフリップフロップ21〜2nを用いて、遅延スキャンテストを行う。この遅延スキャンテストでは、まず、第1のクロック信号(例えば、シフトクロックSCLK)をスキャンフリップフロップ21〜2nに入力してテスト対象回路に入力する第1のテストパターンをスキャンフリップフロップ21〜2nに設定する。続いて、シフトクロックSCLKよりも周波数の高い第2のクロック信号(例えば、リアルタイムクロックRCLK)をスキャンフリップフロップ21〜2nに入力すると共に、スキャンフリップフロップ21〜2nをリアルタイムクロックRCLKによらず保持する値を維持するホールドモードに制御し、ホールドモードを解除すると共にスキャンフリップフロップ21〜2nをテスト対象回路の出力に応じて保持する値を更新するテスト結果取得モードに制御し、テスト結果取得モードにおいてリアルタイムクロックRCLKを2パルス用いてスキャンフリップフロップ21〜2nに保持されている値を更新する。続いて、テスト結果取得モードを解除した後にシフトクロックSCLKをスキャンフリップフロップ21〜2nに入力して、スキャンフリップフロップ21〜2nに保持されている値をテスト結果として外部出力する。
【0037】
実施の形態1にかかる半導体装置1では、スキャンフリップフロップ21〜2nを利用して、上記遅延スキャンテストを実行する。これにより、実施の形態1にかかる半導体装置1は、ホールドモードの期間中に、リアルタイムクロックに起因して大きな電流が流れたとしても、半導体装置に電源電圧を供給する電源回路が当該電源電圧を維持できる程度に電源供給能力を引き上げることができる。そして、テスト結果取得モードでは、電源回路が十分な電源供給能力を有する状態で、リアルタイムクロックとして与えられるラウンチクロックパルスとキャプチャクロックパルスを入力して遅延スキャンテストを行う。これにより、実施の形態1にかかる半導体装置1では、ラウンチクロックパルスとキャプチャクロックパルスとに起因した電源電圧の低下を防止して、遅延スキャンテストの精度を向上させることができる。
【0038】
また、遅延スキャンテストの別のテスト方法としては、本実施の形態におけるテスト結果取得モード中に入力されるキャプチャクロックパルスが入力される期間のみ半導体装置1をキャプチャモードに制御する方法がある。しかし、この別のテスト方法を利用した場合、リアルタイムクロックRCLKの周波数の上昇する(或いは、テスト対象回路の最大遅延許容時間が短くなる)と、スキャンモード制御信号SMCの周波数を高くする必要がある。しかし、スキャンモード制御信号SMCは、一般的には半導体テスタからケーブルを介してテスト対象の半導体装置1に伝達される。そのため、スキャンモード制御信号SMCの周波数の上限が、リアルタイムクロックRCLKの周波数よりも低くなる場合がある。このようなことから、別のテスト方法を利用した場合、リアルタイムクロックRCLKの周波数がスキャンモード制御信号SMCの周波数の上限により制限される問題が生じる。
【0039】
しかし、実施の形態1にかかる遅延スキャンテスト方法では、半導体装置1をキャプチャモードとしている期間中に、スキャンフリップフロップ21〜2nが保持する値を維持するホールドモードと、テスト対象回路に対するテストを実施するテスト結果取得モードとの2つの動作モードを有する。そして、実施の形態1にかかる半導体装置1では、ホールドモード中にリアルタイムクロックRCLKの複数のクロックパルスを入力し、テスト結果取得モード中にリアルタイムクロックRCLKを利用したラウンチクロックパルス及びキャプチャクロックパルスを入力する。つまり、実施の形態1にかかる遅延スキャンテスト方法では、スキャンモード制御信号SMCをキャプチャモードとしている期間にリアルタイムクロックRCLKの複数のクロックパルスが含まれる。これにより、実施の形態1にかかる遅延スキャンテスト方法では、スキャンモード制御信号SMCの周波数に制限を受けることなくリアルタイムクロックRCLKの周波数を高くすることができる。また、リアルタイムクロックRCLKの周波数を高くすることができることから、実施の形態1にかかる遅延スキャンテスト方法では、より動作速度が速い半導体装置1の遅延スキャンテストを実行することができる。
【0040】
また、実施の形態1にかかる半導体装置1では、ホールドモードとテスト結果取得モードとを切り換えるキャプチャイネーブル信号CENの状態をリアルタイムクロックRCLKのクロック数をカウントする半導体装置1内のカウンタ18により切り換える。つまり、実施の形態1にかかる半導体装置1では、キャプチャイネーブル信号CENの状態の切り替わりタイミングを半導体装置1の設計段階で調整することができる。これにより、半導体装置1では、半導体装置1のテスタの性能等のテスト環境の影響を受けることなく、リアルタイムクロックRCLKの周波数の上昇に対応してキャプチャイネーブル信号CENの状態の切り替わりタイミングを容易に調整することができる。
【0041】
実施の形態2
実施の形態2では、スキャンフリップフロップ21〜2nの別の形態について説明する。そこで、スキャンフリップフロップ21〜2nの別の形態を示すスキャンフリップフロップ21a〜2naについて説明する。なお、以下では、スキャンフリップフロップ21a〜2naは同じ回路であるため、スキャンフリップフロップ21aを例にスキャンフリップフロップ21a〜2naの構成について説明する。
【0042】
また、実施の形態2では、スキャンフリップフロップの構成の変更に応じてキャプチャ制御回路16の構成を変更する。そこで、実施の形態2では、キャプチャ制御回路16の別の形態を示すキャプチャ制御回路16aについて説明する。なお、実施の形態1と同じ構成要素については、実施の形態1と同じ符号を付して説明を省略する。
【0043】
図4に実施の形態2にかかるスキャンフリップフロップ21a及びテスト制御回路12aのブロック図を示す。なお、テスト制御回路12aは、キャプチャ制御回路16に代えてキャプチャ制御回路16aを有する。
【0044】
図4に示すように、スキャンフリップフロップ21aは、基本スキャンフリップフロップ60、ホールド回路70を有する。ホールド回路70は、キャプチャイネーブル信号CENがディスイネーブル状態(例えば、0)である場合に、基本スキャンフリップフロップ60で保持している値が入力されるクロック信号CLKに応じて更新されることを防止する。一方、ホールド回路70は、キャプチャイネーブル信号CENがイネーブル状態(例えば、1)である場合には、基本スキャンフリップフロップ60で保持している値が入力されるクロック信号CLKに応じて更新されることを許可する。
【0045】
基本スキャンフリップフロップ60は、フリップフロップ回路61及び第1のセレクタ62を有する。フリップフロップ回路61は、クロック入力端子、保持値入力端子D、出力端子Qを有する。フリップフロップ回路61は、ホールド回路70を介してクロック信号CLKを受信する。そしてフリップフロップ回路61は、クロック信号CLKのエッジに応じて保持値入力端子Dに与えられる信号に基づくテスト値を保持する。第1のセレクタ62は、テストパターンSINが第1の入力端子(スキャンモード制御信号SMCがシフトモード(例えば、1)を示すのときに選択される端子)に与えられ、テスト対象回路の出力値(例えば、データ入力信号DIN)が第2の入力端子(スキャンモード制御信号SMCがキャプチャモード(例えば、0)を示すときに選択される)に与えられる。そして、第1のセレクタ62は、スキャンモード制御信号SMCの値に応じてフリップフロップ回路61の保持値入力端子Dに与える値を切り換える。
【0046】
ホールド回路70は、第2のセレクタ71を有する。第2のセレクタ71は、クロック信号CLKと、固定値(例えば、0)と、が入力される。第2のセレクタ71は、キャプチャイネーブル信号CENの状態に応じてフリップフロップ回路61のクロック入力端子にクロック信号CLKを供給するか停止するかを切り換える。より具体的には、キャプチャイネーブル信号CENがイネーブル状態(例えば、1)である場合、第2のセレクタ71は、フリップフロップ回路61のクロック入力端子にクロック信号CLKを与える。また、キャプチャイネーブル信号CENがディスイネーブル状態(例えば、0)である場合、第2のセレクタ71は、フリップフロップ回路61のクロック入力端子へのクロック信号CLKの供給を停止する。
【0047】
また、図4に示すように、テスト制御回路12aは、クロック制御回路13、キャプチャ制御回路16aを有する。ここで、クロック制御回路13は、実施の形態1と同じ構成であるため説明を省略する。キャプチャ制御回路16aは、実施の形態1にかかるキャプチャ制御回路16にOR回路19を追加したものである。OR回路19の一方の入力端子には、スキャンモード制御信号SMCが入力される。OR回路19の他方の入力端子には、カウンタ18の出力信号が入力される。そして、OR回路19は、2つの入力信号の論理和演算結果をキャプチャイネーブル信号CENとして出力する。つまり、実施の形態2にかかるキャプチャ制御回路16aは、スキャンモード制御信号SMCがシフトモード(例えば、1)を示す場合と、カウンタ18が出力する信号(実施の形態1におけるキャプチャイネーブル信号CEN)がイネーブル状態である場合と、のいずれか一方の場合にキャプチャイネーブル信号CENをイネーブル状態とする。
【0048】
続いて、スキャンフリップフロップ21a〜2naを用いた実施の形態2にかかる半導体装置の遅延スキャンテストの手順について説明する。図5に実施の形態2にかかる半導体装置の遅延スキャンテストの手順を示すタイミングチャートを示す。
【0049】
図5に示すように、実施の形態2にかかる半導体装置においても、キャプチャモード時に半導体装置をホールドモードとテスト結果取得モードとに制御する。このホールドモードとテスト結果取得モードにおけるキャプチャイネーブル信号CENの制御方法は、実施の形態1と同じである。一方、スキャンフリップフロップ21a〜2naは、フリップフロップ回路にシフトモード中おいてクロック信号CLKを供給するにはキャプチャイネーブル信号CENをイネーブル状態としなければならない。そのため、実施の形態2にかかるキャプチャ制御回路16aでは、スキャンモード制御信号SMCがシフトモードのときにもキャプチャイネーブル信号CENをイネーブル状態(例えば、1)とする。これにより、実施の形態2にかかる半導体装置では、シフトモードにおいてもフリップフロップ回路61にクロック信号CLK(或いはシフトクロックSCLK)を与える。
【0050】
上記説明より、実施の形態2にかかる半導体装置では、スキャンフリップフロップとして図4で示したスキャンフリップフロップ21a〜21naを有する。しかし、このスキャンフリップフロップ21a〜21naを用いても、実施の形態1と同様の手順でキャプチャモード時の制御を行うことができる。また、シフトモードにおいてもキャプチャイネーブル信号CENをイネーブル状態とすることで、実施の形態1と同じ動作を行うことができる。このように、スキャンフリップフロップの形態を変更しても、スキャンフリップフロップをキャプチャモードにおいてホールドモードとテスト結果取得モードとに制御できれば実施の形態1と同様に、ラウンチクロックパルスとキャプチャクロックパルスとによる電源電圧の変動を抑制し、高精度な遅延スキャンテストを実行することができる。また、実施の形態2にかかる遅延キャプチャテストでは、キャプチャモード時の動作が実施の形態1と同じであるため、実施の形態1と同様にリアルタイムクロックRCLKの周波数をテスト環境に依存せずに高めることができる。
【0051】
実施の形態3
実施の形態3にかかる半導体装置3のブロック図を図6に示す。図6に示すように、実施の形態3にかかる半導体装置3では、テスト制御回路としてクロック制御回路13のみを有する。そして、実施の形態3にかかる半導体装置3では、キャプチャイネーブル信号CENを外部(例えば、テスタ)から供給する。
【0052】
図3又は図5において示したように、本発明にかかる遅延スキャンテスト方法では、キャプチャイネーブル信号CENをラウンチクロックパルス及びキャプチャクロックパルスが入力される期間だけイネーブル状態とできればよい。つまり、本発明にかかる遅延スキャンテスト方法では、キャプチャイネーブル信号CENの周波数は、リアルタイムクロックRCLKの周波数よりも低い。このようなことから、テスタを含むテスト環境においてキャプチャイネーブル信号CENの周波数を十分な速度とすることができるのであれば、キャプチャ制御回路16を省略することも可能である。また、キャプチャ制御回路16を除くことで半導体装置3のチップ面積は、実施の形態1の半導体装置1のチップ面積よりも小さくすることができる。
【0053】
実施の形態4
実施の形態4では、実施の形態1〜3において説明した半導体装置を設計する設計支援装置及び設計方法について説明する。図7に実施の形態4にかかる設計支援装置4のブロック図を示す。
【0054】
図7に示すように、実施の形態4にかかる設計支援装置4は、演算部80、記憶装置81、表示部82、操作指示入力部83を有する。演算部80は、半導体装置の設計を支援する設計支援プログラムを実行する。記憶装置81は、設計支援プログラム及び回路設計に利用する各種情報を格納する。以下の説明では、各種情報に回路設計情報、第1、第2のネットリスト回路ライブラリ、テストパターン情報が含まれる例について説明する。表示部82は、設計支援プログラムを操作するためのユーザーインタフェース画面を表示する。操作指示入力部83は、例えば、キーボードとマウスのような装置により設計支援プログラムへの操作指示を入力する装置である。
【0055】
ここで、演算部80についてさらに詳細に説明する。演算部80は、記憶装置81に格納されている設計支援プログラムを読み出して実行する。そして、演算部80は、設計支援プログラムを実行することで、論理合成部84、テスト回路情報付加部85及びテスト回路情報検証部86の機能を実現する。論理合成部84は、論理合成処理部90、ネットリスト生成部91を有する。論理合成処理部90は、記憶装置81から回路設計情報を読み出して回路設計情報に記載される回路の動作を実現するゲートレベルの回路を生成する。なお、回路設計情報は、回路の動作を記述したものであって、HDL(Hardware Description Language)等の情報である。ネットリスト生成部91は、論理合成処理部90により生成されたゲートレベルの回路情報に含まれるゲート間の接続情報を記述した第1のネットリストを生成する。この第1のネットリストは、記憶装置81に格納される。また、回路設計情報には、テスト回路20(例えばDFT(Design For Test)回路)の情報は含まれていないため、第1のネットリストにはテスト回路20の情報が含まれない。
【0056】
テスト回路情報付加部85は、DFT回路挿入処理部92、DFT回路修正処理部93を有する。DFT回路挿入処理部92は、第1のネットリストを記憶装置81から読み出す。また、DFT回路挿入処理部92は、回路ライブラリ群に含まれる基本フリップフロップの回路ライブラリを記憶装置81から読み出す。そして、DFT回路挿入処理部92は、第1のネットリストに含まれるテスト対象回路に対して基本フリップフロップのネットリスト情報を付加する。
【0057】
DFT回路修正処理部93は、回路ライブラリ群に含まれるセレクタ及びテスト制御回路の回路ライブラリを記憶装置81から読み出す。ここで、回路ライブラリ群から読み出したセレクタは、図2で示したホールド回路50又は図4で示したホールド回路70を構成するセレクタである。そして、DFT回路修正処理部93は、DFT回路挿入処理部92で追加された基本フリップフロップに対してセレクタを付加する。また、DFT回路修正処理部93は、テスト制御回路の回路ライブラリを第1のネットリストに追加する。
【0058】
テスト回路情報検証部86は、テストパターン生成部94、故障検出率算出部95を有する。テストパターン生成部94は、DFT回路修正処理部93において生成されたネットリストにより生成される半導体装置に対するテストパターンを生成する。このテストパターンはテストパターン情報として記憶装置81に格納される。故障検出率算出部95は、記憶装置81からテストパターン情報を読み出して当該テストパターンによる故障検出率を算出する。そして、算出された故障検出率が基準を満たしていればDFT回路修正処理部93により生成された第2のネットリストとして出力する。この第2のネットリストには、図2或いは図4で示したスキャンフリップフロップと、図2、図4或いは図5で示したテスト制御回路と、が含まれる。一方、算出された故障検出率が基準を満たしていない場合、再度DFT回路挿入処理部92によるテスト回路の生成処理を行う。
【0059】
続いて、実施の形態4にかかる設計支援装置4を用いた半導体装置の設計方法について説明する。図8に実施の形態4にかかる半導体装置の設計方法のフローチャートを示す。
【0060】
図8に示すように、実施の形態4にかかる設計方法では、まず、RTL(Register Transfer Level)設計により回路設計情報F1を生成する(ステップS1)。続いて、論理合成部84により回路設計情報F1に対して論理合成処理を施して第1のネットリストF2を生成する(ステップS2)。次いで、基本スキャンフリップフロップの回路ライブラリ群F3を読み出して、基本スキャンフリップフロップのネット情報を第1のネットリストF2に追加する。(ステップS3)。次いで、ステップS3で第1のネットリストF2に追加した基本スキャンフリップフロップにセレクタの回路ライブラリ情報を追加して、本基本スキャンフリップフロップを本発明にかかるスキャンフリップフロップ(例えば、スキャンフリップフロップ21、21a)に修正する。また、本発明にかかるスキャンフリップフロップを制御するためにテスト制御回路に関する回路ライブラリを第1のネットリストに追加する(ステップS4)。なお、ステップS3、S4で読み出される回路ライブラリは、回路ライブラリ群F3に含まれるものである。
【0061】
次いで、ステップS4で修正されたネットリストを用いて形成される半導体装置の故障検出率を確認する(ステップS5)。このステップS5において、故障検出率が基準を満たしていなければ、再度ステップS3に戻って、テスト回路の構成を見直す。一方、ステップS5において、故障検出率が基準を満たしていれば、ステップS4で生成されたネットリストを第2のネットリストF5として出力する。その後、この第2のネットリストF5を用いてレイアウト工程が行われる。また、レイアウト工程で生成されるレイアウト情報を用いて上記実施の形態にかかる半導体装置が形成される。
【0062】
上記説明より、実施の形態4にかかる半導体装置の設計支援装置及び設計方法では、テスト対象回路を含む回路を含む第1のネットリストF2を読み込み、テスト対象回路に対応する位置に、スキャンモード制御信号の値に応じて保持する値を前段のスキャンフリップフロップの出力により更新するかテスト対象回路の出力に応じて更新するかを切り換える複数の基本スキャンフリップフロップ(例えば、基本スキャンフリップフロップ40)のネット情報を生成する。そして、複数の基本スキャンフリップフロップのそれぞれに対して、キャプチャイネーブル信号CENに応じて複数のスキャンフリップフロップが保持する値を更新するか維持するかを切り換えるホールド回路(例えば、セレクタ51)のネット情報を生成する。そして、複数の基本スキャンフリップフロップが保持する値を前段のスキャンフリップフロップの出力により更新するかテスト対象回路の出力に応じて更新するかを指示するスキャンモード制御信号SMCと、複数のスキャンフリップフロップに与えられるクロック信号CLKと、に応じてキャプチャイネーブル信号CENをイネーブル状態とするかディスイネーブル状態とするかを切り換えるスキャン制御回路のネット情報を生成する。このスキャン制御回路の情報は、テスト制御回路の回路ライブラリ中に含まれるものである。そして、第1のネットリストF2に、複数の基本スキャンフリップフロップのネット情報、ホールド回路のネット情報及びスキャン制御回路のネット情報を追加して、第2のネットリストを生成する。
【0063】
このような処理を行うことにより、実施の形態4にかかる半導体装置の設計支援装置及び設計方法では、実施の形態1〜3に記載の半導体装置を形成することができる。また、形成された半導体装置に対しては、実施の形態1〜3に記載の半導体装置に対する遅延スキャンテストを実施することができる。
【0064】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0065】
1、3 半導体装置
4 設計支援装置
11a〜11c 組合せ回路
12、12a テスト制御回路
13 クロック制御回路
14 PLL回路
15 セレクタ
16、16a キャプチャ制御回路
17 AND回路
18 カウンタ
19 OR回路
21〜2n、21a スキャンフリップフロップ
20 テスト回路
31〜3n クロックバッファ群
40、60 基本スキャンフリップフロップ
41、61 フリップフロップ回路
42、51、62、71 セレクタ
50、70 ホールド回路
80 演算部
81 記憶装置
82 表示部
83 操作指示入力部
84 論理合成部
85 テスト回路情報付加部
86 テスト回路情報検証部
90 論理合成処理部
91 ネットリスト生成部
92 DFT回路挿入処理部
93 DFT回路修正処理部
94 テストパターン生成部
95 故障検出率算出部
CEN キャプチャイネーブル信号
CLK クロック信号
RCLK リアルタイムクロック
REFC 基準クロック
SCLK シフトクロック
SIN テストパターン
SMC スキャンモード制御信号

【特許請求の範囲】
【請求項1】
テスト対象回路と、
従属接続された複数のスキャンフリップフロップと、
前記複数のスキャンフリップへのクロック分配経路に設けられたクロックバッファ群と、を有し、
前記テスト対象回路を前記複数のスキャンフリップフロップによりテストする半導体装置の遅延スキャンテスト方法であって、
第1のクロック信号を前記複数のスキャンフリップフロップに入力して前記テスト対象回路に入力する第1のテストパターンを前記複数のスキャンフリップフロップに設定し、
前記第1のクロック信号よりも周波数の高い第2のクロック信号を前記複数のスキャンフリップフロップに入力すると共に、前記複数のスキャンフリップフロップを前記第2のクロック信号によらず保持する値を維持するホールドモードに制御し、
前記ホールドモードを解除すると共に前記複数のスキャンフリップフロップを前記テスト対象回路の出力に応じて保持する値を更新するテスト結果取得モードに制御し、
前記テスト結果取得モードにおいて前記第2のクロック信号を2パルス用いて前記複数のスキャンフリップフロップに保持されている値を更新し、
前記テスト結果取得モードを解除した後に前記第1のクロック信号を前記複数のスキャンフリップフロップに入力して、前記複数のスキャンフリップフロップに保持されている値をテスト結果として外部出力する遅延スキャンテスト方法。
【請求項2】
前記複数のスキャンフリップフロップに、スキャンモード制御信号と、キャプチャイネーブル信号と、を入力し、
前記スキャンモード制御信号を第1の論理レベルとすることで、前記複数のスキャンフリップフロップを保持している値を次段に配置されるスキャンフリップフロップに遷移させるシフトモードに制御し、
前記スキャンモード制御信号を第2の論理レベルとすることで、前記複数のスキャンフリップフロップに保持されている値を前記テスト対象回路からの出力信号により更新するキャプチャモードに制御し、
前記キャプチャモード中において、前記キャプチャイネーブル信号をディスイネーブル状態とすることで、前記複数のスキャンフリップフロップを前記ホールドモードに制御し、
前記キャプチャモード中において、前記キャプチャイネーブル信号をイネーブル状態とすることで、前記複数のスキャンフリップフロップを前記テスト結果取得モードに制御する請求項1に記載の遅延スキャンテスト方法。
【請求項3】
前記ホールドモードと前記テスト結果取得モードとにおいて前記複数のスキャンフリップフロップには、前記第2のクロック信号が連続して与えられる請求項1又は2に記載の遅延スキャンテスト方法。
【請求項4】
前記キャプチャイネーブル信号は、
前記スキャンモード制御信号が前記第2の論理レベルとなった後に入力される前記第2のクロック信号のクロック数が所定の値に達したことに応じてディスイネーブル状態からイネーブル状態に遷移し、
イネーブル状態となった後に前記ラウンチクロックと前記キャプチャクロックとが前記複数のスキャンフリップフロップに入力された後にディスイネーブル状態に遷移する請求項2に記載の遅延スキャンテスト方法。
【請求項5】
前記シフトモード中において前記キャプチャイネーブル信号がイネーブル状態であるかディスイネーブル状態であるかに関わらず、第1のテストパターンを前記複数のスキャンフリップフロップに設定する請求項2に記載の遅延スキャンテスト方法。
【請求項6】
前記キャプチャイネーブル信号を前記シフトモード中においてイネーブル状態として、第1のテストパターンを前記複数のスキャンフリップフロップに設定する請求項2に記載の遅延スキャンテスト方法。
【請求項7】
テスト対象回路と、
前記テスト対象回路をテストし、従属接続される複数のスキャンフリップフロップと、
前記複数のスキャンフリップへのクロック分配経路に設けられたクロックバッファ群と、を有する半導体装置であって、
前記複数のスキャンフリップフロップは、それぞれ
入力されるクロック信号に応じて保持する値を更新すると共に、外部から入力されるスキャンパターンにより保持する値を更新するシフトモードと、前記テスト対象回路の出力する値に応じて保持する値を更新するキャプチャモードと、がスキャンモード制御信号の論理レベルに応じて切り換えられる基本スキャンフリップフロップと、
前記キャプチャモードにおいて、キャプチャイネーブル信号がイネーブル状態である場合には前記基本スキャンフリップフロップが保持する値を更新し、前記キャプチャイネーブル信号がディスイネーブル状態である場合には前記基本スキャンフリップフロップが保持する値を維持するホールド回路と、有し、
前記基本スキャンフリップフロップには、キャプチャイネーブル信号がイネーブル状態である期間に前記クロック信号に含まれる連続した2つのクロックパルスが入力される半導体装置。
【請求項8】
前記ホールド回路は、前記キャプチャイネーブル信号のディスイネーブル状態である場合は前記基本スキャンフリップフロップの出力値を前記基本スキャンフリップフロップの入力に与え、前記キャプチャイネーブル信号のイネーブル状態である場合は前記テスト対象回路の出力値を前記基本スキャンフリップフロップの入力に与えるセレクタを有する請求項7に記載の半導体装置。
【請求項9】
前記ホールド回路は、前記キャプチャイネーブル信号のディスイネーブル状態である場合は前記基本スキャンフリップフロップへの前記クロック信号の供給を停止し、前記キャプチャイネーブル信号のイネーブル状態である場合は前記基本スキャンフリップフロップに前記クロック信号を供給するセレクタを有する請求項7又は8に記載の半導体装置。
【請求項10】
前記スキャンモード制御信号が前記キャプチャモードを示す期間に入力される前記クロック信号のクロック数が所定の値に達したことに応じて前記キャプチャイネーブル信号をディスイネーブル状態からイネーブル状態に切り換えるキャプチャ制御回路を有する請求項7乃至9のいずれか1項に記載の半導体装置。
【請求項11】
前記キャプチャ制御回路は、前記シフトモード中は、前記キャプチャイネーブル信号をイネーブル状態とする請求項10に記載の半導体装置。
【請求項12】
外部から入力される第1のクロック信号と、前記第1のクロック信号より周波数が高い第2のクロック信号と、のいずれか一方を前記スキャンモード制御信号に応じて選択して前記クロック信号として出力するクロックセレクタを有し、
前記クロックセレクタは、前記スキャンモード制御信号が前記シフトモードを示す場合は前記第1のクロック信号を前記クロック信号として出力し、前記スキャンモード制御信号が前記キャプチャモードを示す場合は前記第2のクロック信号を前記クロック信号として出力する請求項7乃至11のいずれか1項に記載の半導体装置。
【請求項13】
テスト対象回路と、
前記テスト対象回路をテストし、従属接続される複数のスキャンフリップフロップと、を有する半導体装置の設計方法であって、
前記テスト対象回路を含む回路を含む第1のネットリストを読み込み、前記テスト対象回路に対応する位置に、スキャンモード制御信号の値に応じて保持する値を前段のスキャンフリップフロップの出力により更新するか前記テスト対象回路の出力に応じて更新するかを切り換える前記複数の基本スキャンフリップフロップのネット情報を生成し、
前記複数の基本スキャンフリップフロップのそれぞれに対して、キャプチャイネーブル信号に応じて前記複数の基本スキャンフリップフロップが保持する値を更新するか維持するかを切り換えるホールド回路のネット情報を生成し、
前記複数の基本スキャンフリップフロップが保持する値を前段のスキャンフリップフロップの出力により更新するか前記テスト対象回路の出力に応じて更新するかを指示するスキャンモード制御信号と、前記複数のスキャンフリップフロップに与えられるクロック信号と、に応じて前記キャプチャイネーブル信号をイネーブル状態とするかディスイネーブル状態とするかを切り換えるスキャン制御回路のネット情報を生成し、
前記第1のネットリストに、前記複数の基本スキャンフリップフロップのネット情報、前記ホールド回路のネット情報及び前記スキャン制御回路のネット情報を追加して、第2のネットリストを生成する半導体装置の設計方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−36960(P2013−36960A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−175731(P2011−175731)
【出願日】平成23年8月11日(2011.8.11)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】