説明

半導体装置およびそのテスト方法

【課題】スキャンテスト時、特にキャプチャモード時におけるピーク消費電力を削減し、誤動作を防止する。
【解決手段】互いにデータパス依存性のない複数の回路ブロックは、スキャンテスト時にスキャンチェーンを形成するスキャンフリップフロップと組み合わせ回路とを含む。複数の選択回路は、制御信号に基づいて、複数の回路ブロックのそれぞれに供給するクロック信号を実動作時に使用する内部クロック信号と、複数のブロックスキャンクロック信号との一方に切り替える。制御回路は、制御信号がスキャンチェーンにデータを入出力するスキャンシフト期間を示すときに、同じタイミングのシフトクロックを含むブロックスキャンクロック信号を生成し、組み合わせ回路の論理動作をテストするキャプチャ期間を示すときは複数の回路ブロック毎に異なるタイミングのパルスを含むブロックスキャンクロック信号を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置およびそのテスト方法に関し、特に、スキャンテスト回路およびスキャンテスト方法に関する。
【背景技術】
【0002】
近年の半導体装置の回路規模拡大により、必要となるスキャンテスト用クロック端子数が増加している。一方、テストコスト削減のために、テスト時に使用できる端子数が少なくなってきている。そのため、スキャンテストにおいては、同時並列テストを行う場合、1本のスキャンテスト用クロック端子で、多くのスキャンテスト用クロックドメインを動作させなければならない。しかし、1本のスキャンテスト用クロック端子で多くのスキャンテスト用クロックドメインを同時に動作させると、スキャンテスト時のピーク消費電力が増加する。一般的にシフトモード時のピーク消費電力削減については内部回路を停止させるなどの対策が施されているが、スキャンテストの特にキャプチャモード時には内部回路を停止させるわけにもいかず、ピーク消費電力を削減できるテスト手法の要求が高まっている。
【0003】
特開2007−212339号公報には、クロック信号に基づき動作する複数の論理回路によって構成されるクロックドメインを複数有する半導体装置のテスト方法が示されている。この半導体装置は、複数のクロックドメインのうち、制御信号に基づいて選択される任意のクロックドメイン対してクロック信号を選択的に供給する制御回路を有する。選択される任意のクロックドメイン毎にテストすることにより、出荷検査のためのテストパターンの増加と端子の追加を抑制することが可能となる。
【0004】
しかし、この方法では、スキャンテスト用クロックドメイングループを構築するときに、通常動作時に同時には内部クロックが供給されない内部クロックドメインを判別せず、同じ周波数サブグループにまとめている。したがって、通常動作時に同時には内部クロックが供給されない内部クロックドメインに同時にスキャンテスト用クロックが供給されるため、ピーク消費電力が通常動作時よりもスキャンテスト時のほうが大きくなり、IRドロップが大きくなる。そのため、スキャンテスト時に誤動作することがある。
【0005】
また、特開2005−024359号公報には、自己診断型論理回路の動的故障テスト方法が開示されている。この自己診断型論理回路は、組合せ回路と被検査回路としての複数の記憶素子とを有する。記憶素子をシフトレジスタ状のスキャンチェインに構成する動作モードに設定する制御信号に応答して、記憶素子はスキャンチェインを形成する。一つまたは複数の相のクロック信号源が各記憶素子に分配される。この動的故障テスト方法では、クロック信号によってスキャンチェイン上のデータのシフト動作と、組合せ回路からの信号値のキャプチャ動作と、記憶素子の保持する内容の組合せ回路へのリリース動作とがなされる。クロック信号源の少なくとも一つは、複数のクロック信号に分割されている。クロック制御回路は、各クロック信号の伝搬の許容と遮断とを制御する。被検査回路は、供給されるクロック信号によって複数のグループに分割される。1回のテストステップにおける動的故障テストは、被検査回路の一部のグループに限定して実施され、複数回のテストステップによって被検査回路の全てのグループに対して動的故障テストが行われる。
【0006】
また、特開2009−109192号公報には、LSI内部において、クロックツリー系統毎に形成されるスキャンチェーン群に対して、スキャンチェーン群構造と、テストクロック入力機構と、入力クロックのオン/オフ機構とを備えてテストを行う方法が開示されている。スキャンチェーン群構造は、1系統のクロックツリーのクロック供給領域を複数に分割したクロック分配領域をまたがず、分配領域内において接続距離が短くなるように再接続処理が行われた構造である。テストクロック入力機構は、各分配領域への入力テストクロックを独立なサブクロック相とする。入力クロックのオン/オフ機構は、各分配領域への入力クロックの分配をオン/オフする。そして、同時に行われるスキャンイン/アウトとスキャンテストを1領域内または1領域間に限定して実施し、複数回のテストステップで各領域および各領域間全てのテストが行われる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−212339号公報
【特許文献2】特開2005−024359号公報
【特許文献3】特開2009−109192号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、スキャンテスト時、特にキャプチャモード時におけるピーク消費電力が削減される半導体装置およびそのテスト方法を提供する。
【課題を解決するための手段】
【0009】
以下に、[発明を実施するための形態]で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
【0010】
本発明の観点では、半導体装置は、互いにデータパス依存性のない複数の回路ブロック(10、20)と、制御回路(40)と、複数の選択回路(51、52)とを具備する。複数の回路ブロック(10、20)は、スキャンテスト時にスキャンチェーンを形成するスキャンフリップフロップ(11、12、21、22)と組み合わせ回路(18、28)とを含む。制御回路(40)は、スキャンテストに使用され、外部から入力される制御信号(SMC1、SMC2、SMC)に基づいて、複数の回路ブロック(10、20)毎に供給される複数のブロックスキャンクロック信号(SCK1、SCK2)を生成する。複数の選択回路(51、52)は、複数の回路ブロック(10、20)のそれぞれに対応して設けられる。複数の選択回路(51、52)は、制御信号(ST)に基づいて、複数の回路ブロック(10、20)のそれぞれに供給するクロック信号(CK1、CK2)を実動作時に使用する内部クロック信号(ICK1、ICK2)と、複数のブロックスキャンクロック信号(SCK1、SCK2)との一方に切り替える。制御回路(40)は、制御信号(SMC1、SMC2、SMC)がスキャンチェーンにデータを入出力するスキャンシフト期間を示すときに、同じタイミングのシフトクロックを含むブロックスキャンクロック信号を生成し、組み合わせ回路(18、28)の論理動作をテストするキャプチャ期間を示すときは複数の回路ブロック毎に異なるタイミングのパルスを含むブロックスキャンクロック信号を生成する。
【0011】
本発明の他の観点では、テスト用回路を追加する方法は、テスト用回路を追加する前の回路を示す第1回路情報(F10)に基づいて、複数の部分回路を抽出するステップと、複数の部分回路間のデータパス依存関係を算出するステップと、算出されたデータパス依存関係に基づいて、依存関係のない複数の回路ブロック(10、20)に分類するステップと、複数の回路ブロック(10、20)のそれぞれ毎に対応するように複数の選択回路(51、52)を挿入するステップと、複数の選択回路(51、52)のそれぞれに供給する複数のブロックスキャンクロック信号(SCK1、SCK2)を生成する制御回路(40)を挿入するステップとを具備する。
【0012】
また、本発明の他の観点では、テストパターンの生成方法は、複数の回路ブロック(10、20)が同時に動作するように前記制御信号を設定することを第1前提条件とするステップと、第1前提条件に基づいて複数の回路ブロック(10、20)が同時に動作することを前提としてスキャンテストに用いられるテストパターンを生成するステップと、複数の回路ブロックのうちの一つの回路ブロックが動作するように制御信号を設定することを第2前提条件とするステップと、第2前提条件に基づいて、一つの回路ブロックが動作するキャプチャサイクルをキャプチャ期間に設けるステップと、一つの回路ブロックを替えて第2前提条件とするステップおよびキャプチャサイクルをキャプチャ期間に設けるステップを繰り返すステップとを具備する。
【0013】
さらに、本発明の他の観点では、半導体装置のテスト方法は、スキャンテスト時にスキャンチェーンを形成するスキャンフリップフロップ(11、12、21、22)と組み合わせ回路(18、28)とを含み、互いにデータパス依存性のない複数の回路ブロック(10、20)を抽出するステップと、スキャンテストに使用され、外部から入力される制御信号(SMC1、SMC2、SMC)に基づいて、複数の回路ブロック(10、20)毎に供給される複数のブロックスキャンクロック信号(SCK1、SCK2)を生成する制御回路(40)を設けるステップと、制御信号(ST)に基づいて、前記複数の回路ブロック(10、20)のそれぞれに供給するクロック信号(CK1、CK2)を実動作時に使用する内部クロック信号(ICK1、ICK2)と、前記複数のブロックスキャンクロック信号(SCK1、SCK2)との一方に切り替える複数の選択回路(51、52)を前記複数の回路ブロック(10、20)のそれぞれに対応するように設けるステップとを備え、テスト対象の半導体装置が設計される。制御回路(40)は、制御信号(SMC1、SMC2、SMC)がスキャンチェーンにデータを入出力するスキャンシフト期間を示すときに、同じタイミングのシフトクロックを含むブロックスキャンクロック信号を生成し、組み合わせ回路(18、28)の論理動作をテストするキャプチャ期間を示すときは複数の回路ブロック毎に異なるタイミングのパルスを含むブロックスキャンクロック信号を生成する。さらに、スキャンフリップフロップ(11、12、21、22)がスキャンチェーンを形成するように前記制御信号(SMC1、SMC2、SMC)を設定し、テストパターンを入力するステップと、複数の回路ブロック(10、20)のうちの一つの回路ブロックが動作するように制御信号(SMC1、SMC2、SMC、PCNT)を設定するステップと、一つの回路ブロックにキャプチャ動作するようにブロックスキャンクロック信号を供給するステップと、一つの回路ブロックを替えて制御信号を設定するステップおよびブロックスキャンクロック信号を供給するステップを繰り返すステップと、スキャンフリップフロップ(11、12、21、22)がスキャンチェーンを形成するように制御信号(SMC1、SMC2、SMC)を設定し、テスト結果を出力するステップとを具備し、半導体装置のテストが行われる。
【発明の効果】
【0014】
本発明によれば、スキャンテスト時、特にキャプチャモード時におけるピーク消費電力が削減される半導体装置およびそのテスト方法を提供することができる。ピーク消費電力が削減されるため、IRドロップによる誤動作を防止することができる。
【図面の簡単な説明】
【0015】
【図1】図1は、本発明の第1の実施の形態に係る半導体装置の構成を示す回路図である。
【図2】図2は、本発明の第1の実施の形態に係る制御回路の構成を示す回路図である。
【図3】図3は、本発明の第1の実施の形態に係る制御回路の動作を示す真理値表である。
【図4】図4は、本発明の第1の実施の形態に係る半導体装置のスキャンテスト時の動作を示すタイミングチャートである。
【図5】図5は、本発明の第1の実施の形態に係る半導体装置のスキャンテスト時の動作の他の例を示すタイミングチャートである。
【図6】図6は、本発明の第1の実施の形態に係るスキャンチェーンの他の構成を示す回路図である。
【図7】図7は、本発明の第1の実施の形態に係るテスト用のデータ作成方法を説明するフローチャートである。
【図8】図8は、本発明の第1の実施の形態に係る追加回路の組み込み処理を説明するフローチャートである。
【図9】図9は、本発明の第1の実施の形態に係るテストパターンの加工処理を説明するフローチャートである。
【図10】図10は、本発明の第1の実施の形態に係るテストパターンを生成するときに想定される半導体装置のスキャンテスト時の動作を示すタイミングチャートである。
【図11】図11は、本発明の第2の実施の形態に係る制御回路の構成を示す図である。
【図12】図12は、本発明の第2の実施の形態に係る制御回路の動作を示す真理値表である。
【図13】図13は、本発明の第3の実施の形態に係る制御回路の構成を示す図である。
【図14】図14は、第3の実施の形態に係る制御回路により制御される半導体装置のスキャンテスト時の動作を示すタイミングチャートである。
【図15】図15は、本発明の第3の実施の形態に係るテストパターンを生成するときに想定される半導体装置のスキャンテスト時の動作を示すタイミングチャートである。
【図16】図16は、本発明の第3の実施の形態に係るテストパターンの加工処理を説明するフローチャートである。
【発明を実施するための形態】
【0016】
図面を参照して、本発明を実施するための形態が説明される。
【0017】
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係る半導体装置の構成を示す回路図である。半導体装置は、被テスト回路である回路ブロック10および回路ブロック20と、制御回路40と、選択回路51、52とを備える。
【0018】
制御回路40は、装置外部から入力端子を介して、スキャンクロック信号SCK、スキャンモード制御信号SMC1、SMC2を入力する。制御回路40は、スキャンモード制御信号SMC、スキャンクロック信号SCK1、SCK2を生成する。スキャンモード制御信号SMCは、回路ブロック10、20に供給され、回路ブロック10、20に含まれるスキャンフリップフロップの動作モードを切り換える。スキャンクロック信号SCK1は選択回路51に、スキャンクロック信号SCK2は選択回路52に供給される。スキャンテストの実施を示すスキャンテスト信号STは、装置外部から入力端子を介して選択回路51、52に供給され、選択する信号を指定する。選択回路51は、スキャンテスト信号STに応答して、装置内部のクロック信号ICK1と、スキャンクロック信号SCK1とのうちの一方を選択し、クロック信号CK1として回路ブロック10に供給する。選択回路52は、スキャンテスト信号STに応答して、装置内部のクロック信号ICK2と、スキャンクロック信号SCK2とのうちの一方を選択し、クロック信号CK2として回路ブロック20に供給する。
【0019】
回路ブロック10は、フリップフロップ11、12と組み合わせ回路18とを含む。フリップフロップ11、12は、スキャンフリップフロップであり、クロック信号CK1に同期してデータ入力ノードDまたはスキャンシフト入力ノードSIからデータを取り込み、データ出力ノードQまたはスキャンシフト出力ノードSOからデータを出力する。フリップフロップ11、12のデータ入力ノードDおよびデータ出力ノードQは、組み合わせ回路18に接続される。回路ブロック20は、フリップフロップ21、22と組み合わせ回路28とを含む。フリップフロップ21、22は、スキャンフリップフロップであり、クロック信号CK2に同期してデータ入力ノードDまたはスキャンシフト入力ノードSIからデータを取り込み、データ出力ノードQまたはスキャンシフト出力ノードSOからデータを出力する。フリップフロップ21、22のデータ入力ノードDおよびデータ出力ノードQは、組み合わせ回路28に接続される。
【0020】
スキャンモード制御信号SMCは、データ入力ノードD、データ出力ノードQによる入出力を有効にするか、スキャンシフト入力ノードSI、スキャンシフト出力ノードSOによる入出力を有効にするかを示す。フリップフロップ11、12、21、22は、スキャンテスト時にスキャンチェーンを形成する。すなわち、スキャンモード制御信号SMCが“1”を示すとき、フリップフロップ11、12、21、22は、スキャンシフト入力ノードSIおよびスキャンシフト出力ノードSOによる入出力を有効にし、シフトレジスタを形成する。このスキャンチェーンは、装置外部から入力端子を介してスキャンデータ入力信号SINを入力し、テスト結果を示すスキャンデータ出力信号SOUTを装置外部に出力端子を介して出力する。
【0021】
通常動作時、回路ブロック10と回路ブロック20との間に接続される信号線はない。すなわち、回路ブロック10と回路ブロック20との間にデータパス依存関係はない。回路ブロック10と、回路ブロック20とは独立的に動作可能である。
【0022】
図2は、制御回路40の構成を示す回路図である。制御回路40は、クロックゲーティングセル41、42と、AND回路400と、NOT回路411、421とを備える。AND回路400は、スキャンモード制御信号SMC1およびSMC2を入力し、スキャンモード制御信号SMCを出力する。NOT回路411は、スキャンモード制御信号SMC1を入力してクロックイネーブル信号CEN1をクロックゲーティングセル41に出力する。NOT回路421は、スキャンモード制御信号SMC2を入力してクロックイネーブル信号CEN2をクロックゲーティングセル42に出力する。
【0023】
クロックゲーティングセル41は、OR回路414、ラッチ回路416、AND回路418を含む。OR回路414は、クロックイネーブル信号CEN1とクロックモード制御信号SMCとを入力し、論理和を示す信号をラッチ回路416に出力する。ラッチ回路416は、クロックイネーブル信号CEN1とクロックモード制御信号SMCとの論理和を示す信号をスキャンクロックSCKの立ち下がりエッジに同期してラッチし、ラッチ内容をAND回路418に出力する。AND回路418は、ラッチ回路416の出力とスキャンクロック信号SCKとを入力して、スキャンクロック信号SCK1を出力する。すなわち、クロックゲーティングセル41は、スキャンモード制御信号SMCとクロックイネーブル信号CEN1とに基づいて、スキャンクロック信号SCKを断続したスキャンクロック信号SCK1を生成して出力する。したがって、クロックゲーティングセル41は、スキャンモード制御信号SMCまたはクロックイネーブル信号CEN1がアクティブのとき、スキャンクロック信号SCKをスキャンクロック信号SCK1として出力する。
【0024】
クロックゲーティングセル42は、OR回路424、ラッチ回路426、AND回路428を含む。OR回路424は、クロックイネーブル信号CEN2とクロックモード制御信号SMCとを入力し、論理和を示す信号をラッチ回路426に出力する。ラッチ回路426は、クロックイネーブル信号CEN2とクロックモード制御信号SMCとの論理和を示す信号をスキャンクロックSCKの立ち下がりエッジに同期してラッチし、ラッチ内容をAND回路428に出力する。AND回路428は、ラッチ回路426の出力とスキャンクロック信号SCKとを入力して、スキャンクロック信号SCK2を出力する。すなわち、クロックゲーティングセル42は、スキャンモード制御信号SMCとクロックイネーブル信号CEN2とに基づいて、スキャンクロック信号SCKを断続したスキャンクロック信号SCK2を生成して出力する。したがって、クロックゲーティングセル42は、スキャンモード制御信号SMCまたはクロックイネーブル信号CEN2がアクティブのとき、スキャンクロック信号SCKをスキャンクロック信号SCK2として出力する。
【0025】
図3は、制御回路40の動作を示す真理値表である。図2に示される回路図は、図3に示される真理値表のドントケア論理(*:don’t care)を論理“0”として回路に展開したものである。図3に示されるように、制御回路40は、スキャンモード制御信号SMC1およびSMC2の状態に基づいて、4つの動作モードで半導体装置のスキャンテスト動作を制御する。スキャンモード制御信号SMC1、SMC2がともに“0”のとき、動作モードM0を示し、半導体装置はスキャンチェーンを解放して動作を行う。スキャンモード制御信号SMC1、SMC2がともに“1”のとき、動作モードMSを示し、各フリップフロップがスキャンチェーンを形成してスキャンシフト動作を行う。スキャンモード制御信号SMC1が“0”でスキャンモード制御信号SMC2が“1”のとき、動作モードM1を示し、回路ブロック10のテスト動作を行う。スキャンモード制御信号SMC1が“1”でスキャンモード制御信号SMC2が“0”のとき、動作モードM2を示し、回路ブロック20のテスト動作を行う。
【0026】
図4は、図1に示される半導体装置のスキャンテスト時の動作を示すタイミングチャートである。
【0027】
時刻CT0において、スキャンテスト信号STが“1”となり(図4(a))、スキャンテストが開始される。スキャンモード制御信号SMC1、SMC2が共に“1”となり(図4(b)(c))、動作モードMSのスキャンシフト期間を示す。スキャンモード制御信号SMCが“1”となり(図4(e))、フリップフロップ11、12、21、22は、スキャンチェーンを形成する。また、選択回路51、52は、スキャンテスト信号STに応答して、スキャンクロック信号を選択する。スキャンクロック信号SCKの入力に伴って(図4(d))、スキャンクロック信号SCK1が選択回路51を介してクロック信号CK1として回路ブロック10に供給され(図4(f))、スキャンクロック信号SCK2が選択回路52を介してクロック信号CK2として回路ブロック20に供給される(図4(g))。時刻CT0から時刻CT1までのシフト期間(動作モードMS)において、スキャンクロック信号SCK1、SCK2に応答してフリップフロップ11、12、21、22にテストデータが入力される。
【0028】
時刻CT1において、スキャンモード制御信号SMC1が“0”になり、動作モードM1のキャプチャ期間を示す(図4(b))。スキャンモード制御信号SMCは、“0”になり(図4(e))、スキャンチェーンは開放される。動作モードM1では、制御回路40は、スキャンクロック信号SCK1にスキャンクロック信号SCKを反映させ、スキャンクロック信号SCK2に反映させない(図4(d)(f))。回路ブロック10は、スキャンクロック信号SCK1のラウンチパルスとキャプチャパルスとに基づいて、組み合わせ回路18の論理動作をテストする。すなわち、フリップフロップ11、12は、ラウンチパルスに応答して出力ノードQからテストデータを組み合わせ回路18に出力する。組み合わせ回路18は、フリップフロップ11、12から出力されるデータに基づいて論理演算する。キャプチャパルスに応答して、フリップフロップ11、12は、組み合わせ回路18から出力される結果データをデータ入力ノードDから取り込む。このとき、回路ブロック20は、クロック信号CK2が変化しないため、動作しない。
【0029】
時刻CT2において、スキャンモード制御信号SMC1が“1”、スキャンモード制御信号SMC2が“0”になり(図4(b)(c))、動作モードM2のキャプチャ期間を示す。スキャンモード制御信号SMCは、“0”のままである(図4(e))。制御回路40は、スキャンクロック信号SCK2にスキャンクロック信号SCKを反映させ、スキャンクロック信号SCK1に反映させない(図4(d)(g))。回路ブロック20は、スキャンクロック信号SCK2のラウンチパルスとキャプチャパルスとに基づいて、組み合わせ回路28の論理動作をテストする。すなわち、フリップフロップ21、22は、ラウンチパルスに応答して出力ノードQからテストデータを組み合わせ回路28に出力する。組み合わせ回路28は、フリップフロップ21、22から出力されるデータに基づいて論理演算する。キャプチャパルスに応答して、フリップフロップ21、22は、組み合わせ回路28から出力される結果データをデータ入力ノードDから取り込む。このとき、回路ブロック10は、クロック信号CK1が変化しないため、動作しない。
【0030】
時刻CT3において、スキャンモード制御信号SMC1、SMC2が“1”になり(図4(b)(c))、動作モードMSのスキャンシフト期間を示す。スキャンモード制御信号SMCが“1”となり(図4(e))、フリップフロップ11、12、21、22は、スキャンチェーンを形成する。スキャンクロック信号SCKの入力に伴って(図4(d))、スキャンクロック信号SCK1が選択回路51を介してクロック信号CK1として回路ブロック10に供給され(図4(f))、スキャンクロック信号SCK2が選択回路52を介してクロック信号CK2として回路ブロック20に供給される(図4(g))。時刻CT3から時刻CT4までのシフト期間(動作モードMS)において、フリップフロップ11、12、21、22に取り込まれたテスト結果がスキャンデータ出力信号SOUTとして出力端子から出力される。
【0031】
時刻CT4において、スキャンテスト信号ST、スキャンモード制御信号SMC1、SMC2は、“0”を示してスキャンテストを終了する(図4(a)(b)(c))。
【0032】
このように、スキャンテストデータを与えられた回路をデータパス依存性のない複数の回路ブロックに分け、キャプチャ期間を延長してラウンチパルスとキャプチャパルスとの組を対象となる回路ブロック毎に供給することにより、消費電流を削減してスキャンテストすることができる。
【0033】
上記では、回路ブロック10と回路ブロック20とは互いにデータパス依存性のない回路ブロックとしていたが、さらにクロックドメインが異なる回路ブロックであってもよい。例えば、回路ブロック10は、動作周波数100MHzのクロックドメインに属し、回路ブロック20は、動作周波数150MHzのクロックドメインに属するものとする。回路ブロック10と回路ブロック20との間にデータパス依存性がないため、それぞれ単独に動作させても結果に変わりはない。したがって、図5に示されるように、回路ブロック10に対するラウンチパルスとキャプチャパルスとの間隔を動作周波数100MHzに相当する時間T1とし、回路ブロック20に対するラウンチパルスとキャプチャパルスとの間隔を動作周波数150MHzに相当する時間T2とすることができる。
【0034】
このように、キャプチャ期間に供給されるラウンチパルスとキャプチャパルスとの時間間隔を回路ブロック毎に変えることにより、一度のテストデータ入力によって複数の動作周波数に対応するテストができる。動作周波数毎にクロック入力端子を設ける必要もなく、テストに使用する端子数を削減することが可能となる。
【0035】
また、図6に示されるように、スキャンチェーンは、スキャンクロック信号SCKに対して複数であってもよい。図6に示される回路では、回路ブロック10のフリップフロップ11、12によって形成される第1のスキャンチェーンと、回路ブロック20のフリップフロップ21、22によって形成される第2のスキャンチェーンとを備える。第1のスキャンチェーンは、入力端子を介してスキャンデータ入力信号SIN1を入力し、出力端子を介してスキャンデータ出力信号SOUT1を出力する。第2のスキャンチェーンは、入力端子を介してスキャンデータ入力信号SIN2を入力し、出力端子を介してスキャンデータ出力信号SOUT2を出力する。使用される入出力端子が増加するが、スキャンチェーンが短くなるため、スキャンシフト時間が短くなり、スキャンテスト時間を短縮することができる。ここでは、回路ブロック毎にスキャンチェーンを分割したが、どのように分割してもスキャンテストの結果は変わらない。
【0036】
次に、図7、図8、図9を参照して、本発明の実施の形態に係るテスト用のデータ作成方法を説明する。
【0037】
図7は、本発明の実施の形態に係るテスト用のデータ作成方法を説明するフローチャートである。テスト用のデータは、コンピュータであるテストデータ生成装置により生成される。テストデータ生成装置は、搭載されるプログラムを実行するCPU、プロクラムおよびデータを格納する記憶部、データを入出力する入出力部を備える。図7に示されるように、半導体装置の回路設計によりDFT前ネットリストF10が生成され、テストデータ生成装置の記憶部に格納される。このDFT前ネットリストF10に基づいて、追加回路すなわち半導体装置をテストするための制御回路40等を組み込み(ステップS10)、制御回路挿入後ネットリストF20が生成され、記憶部に格納される。この追加回路の組み込みの詳細は後述する。
【0038】
制御回路挿入後ネットリストF20に基づいて、DFT(Design For Test:テスト容易化設計)が行われる(ステップS20)。ここで、スキャンチェーンが設定され、DFT後ネットリストF30が生成され、記憶部に格納される。DFT後ネットリストF30に基づいて、スキャンテストするためのテストパターンが生成される(ステップS30)。生成されたテストパターンは、加工前テストパターンF40として記憶部に格納される。加工前テストパターンF40は、図10に示されるように、スキャンモード制御信号SMC1、SMC2が同じ状態を示すことを前提に作成される。すなわち、加工前テストパターンF40は、回路ブロック10および回路ブロック20が同時に動作するものとして作成される。
【0039】
加工前テストパターンF40に基づいて、テストパターンの加工が行われる(ステップS40)。テストパターンの加工については後述するが、図10に示される一括テストのタイミングを、図4に示される分散テストのタイミングになるように、テストパターンのデータが加工される。結果は、加工後テストパターンF50として記憶部に格納される。加工後テストパターンF50は、スキャンテストするテスタ装置に投入され、テストが行われる。
【0040】
図8を参照して、追加回路の組み込み(ステップS10)を説明する。テストデータ生成装置は、DFT前ネットリストF10に基づいて、任意の部分回路を抽出し、複数の部分回路に分割する(ステップS110)。キャプチャタイミングを回路ブロック毎に設定する場合には、クロックドメインに基づいて部分回路が抽出される。複数の部分回路が抽出されると、それぞれの部分回路間のデータパスについて依存関係が計算される(ステップS120)。計算されたデータパスの依存関係に基づいて、依存関係のある部分回路はまとめられ、同一のテストパターンを使用するグループとする(ステップS130)。同一のテストパターンが使用されるグループに属する部分回路は、キャプチャ期間のテストパルスを同時に印加する同時パルスグループに分類される(ステップS140)。この同時パルスグループは、部分回路が属するクロックドメインや部分回路が動作するときの消費電流等に基づいて決められる。すなわち、同じ動作周波数で動作する部分回路は、同じパルスが印加されることが好ましく、同じ同時パルスグループに分類される。しかし、同時パルスグループに属する部分回路が多くなると、一度に多くの部分回路が動作するため、消費電流が急激に増加してIRドロップによる誤動作が起きる可能性がある。したがって、消費電流が集中しないように同時パルスグループが分割されることが好ましい。この同時パルスグループに属する部分回路群は、図1に示される回路ブロック10、20に相当する。
【0041】
部分回路を同時パルスグループに分類できると、それぞれのグループにクロック信号や制御信号を供給する制御回路が組み込まれる(ステップS150)。すなわち、図1に示される回路では、外部入力信号に基づいて、クロック信号や制御信号を生成する制御回路40と、クロック信号を切り替える選択回路51、52とを追加する。制御回路40は、図2に示されるように、回路ブロック毎に対応する回路(クロックゲーティングセル41、42およびNOT回路411、421)を有し、回路ブロックの数に応じて増減する。制御回路が組み込まれたネットリストは、制御回路挿入後ネットリストF20として記憶部に格納される。
【0042】
次に、図9を参照して、テストパターンの加工(ステップS40)について説明する。テストデータ生成装置は、加工前テストパターンF40として格納されるテストパターンを取り込む(ステップS410)。このテストパターンは、図10に示されるように、スキャンモード制御信号SMC1、2が共に“1”または“0”になることを前提に、従来の方法により生成されたテストパターンである。したがって、各回路ブロックに対するキャプチャサイクルが連続するようにキャプチャ期間が延長される(ステップS420)。図1に示される回路の場合には、回路ブロック10、20に対応するように、キャプチャ期間は2倍に延長される。
【0043】
次に、キャプチャ期間に対応する回路ブロック毎にラウンチパルスとキャプチャパルスとが印加されるように、制御信号の入力値が設定される(ステップS430)。図1に示される回路の場合、キャプチャ期間の開始時点CT11(図10)において、図4に示されるキャプチャ期間の開始時点CT1に対応するように、スキャンモード制御信号SMC1は“0”、スキャンモード制御信号SMC2は“1”に設定される。この設定により動作モードM1としてスキャンクロック信号SCKは、回路ブロック10に印加されるスキャンクロック信号SCK1に反映され、回路ブロック20に印加されるスキャンクロック信号SCK2には反映されないことになる。このとき、回路ブロック10の動作周波数に応じてスキャンクロック信号SCKを変更し、図5に示される時間T1となるようにラウンチパルスとキャプチャパルスとの間隔を調整することが可能である。
【0044】
その後、図4に示される時点CT2に対応するように、スキャンモード制御信号SMC1は“1”に、スキャンモード制御信号SMC2は“0”に設定される。これにより、回路ブロック20に対するキャプチャ期間が設定される。このとき、回路ブロック20の動作周波数に応じてスキャンクロック信号SCKを変更し、図5に示される時間T2となるようにラウンチパルスとキャプチャパルスとの間隔を調整することが可能である。
【0045】
次に、図4に示されるキャプチャ期間の終了時点CT3に対応するように、スキャンモード制御信号SMC1、SMC2はともに“1”に設定され、元のキャプチャ期間の終了時点CT12(図10)と同じ状態になる。テストパターンの加工が終わると、テストパターンは加工後テストパターンF50として出力される(ステップS450)。
【0046】
このように、本発明の実施の形態に係るテスト用のデータ作成方法では、通常のテストパターンと同じ方法によって加工前のテストパターンF40が生成される。そのテストパターンF40にキャプチャ期間の拡張と、それに対応する制御信号の設定とを加えることにより、本発明の第1の実施の形態に係る半導体装置をテストするためのテストパターンを生成することができる。
【0047】
以上述べたように、本発明によれば、同じキャプチャ期間内においてラウンチパルスおよびキャプチャパルスを、互いにデータパス依存性のない回路ブロック10、20に対して、それぞれ別のタイミングで供給するため、スキャンテスト時のピーク消費電力を削減し、IRドロップによる誤動作を防止することができる。すなわち、回路ブロックA、Bのスキャンテスト時の消費電力をそれぞれPA、PBとすると、回路ブロックA、Bを同時にテストする場合(それぞれの回路ブロックに同時にスキャンテスト用クロックすなわちラウンチパルスおよびキャプチャパルスが供給される)、ピーク消費電力は“PA+PB”となる。本発明では、回路ブロックA、Bそれぞれに異なるタイミングでスキャンテスト用クロック(ラウンチパルスおよびキャプチャパルス)が供給されるため、キャプチャ期間のピーク消費電力は、PA、PBのどちらか大きな値になる。したがって、キャプチャ期間のピーク消費電力を従来に比べて削減することができ、IRドロップを減少させるため、IRドロップによる誤動作を防止することができる。
【0048】
(第2の実施の形態)
図11は、本発明の第2の実施の形態に係る制御回路40の構成を示す図である。第2の実施の形態に係る制御回路40は、スキャンテストが実施される被テスト回路が互いにデータパス依存性のない6回路ブロックを制御する制御回路の構成例である。
【0049】
制御回路40は、AND回路401、NOR回路403、デコーダ406、OR回路451〜456、クロックゲーティングセル41〜46を備える。クロックゲーティングセル41〜46は、第1の実施の形態において説明されたものと同じ回路であり、それぞれ、OR回路414、ラッチ回路416、AND回路418を含む。
【0050】
AND回路401は、スキャンモード制御信号SMC1〜SMC3を入力し、スキャンモード制御信号SMCを生成してクロックゲーティングセル41〜46および被テスト回路に供給する。スキャンモード制御信号SMCは、スキャンモード制御信号SMC1〜SMC3の全てが“1”を示す場合のみ“1”を示す。NOR回路403は、スキャンモード制御信号SMC1〜SMC3を入力し、出力信号をOR回路451〜456に供給する。NOR回路403の出力信号は、スキャンモード制御信号SMC1〜SMC3の全てが“0”を示す場合のみ“1”を示す。デコーダ406は、スキャンモード制御信号SMC1〜SMC3を入力し、デコードされた信号をそれぞれOR回路451〜456に供給する。OR回路451〜456のそれぞれは、デコードされた信号と、NOR回路403の出力信号とを入力し、クロックイネーブル信号CEN1〜6を生成してクロックゲーティングセル41〜46に出力する。
【0051】
制御回路40は、図12に示される真理値表のように、各信号を生成する。図11に示される回路は、図12に示される真理値表のドントケア論理値(*:don’t care)を“0”として展開した回路である。すなわち、スキャンモード制御信号SMC1〜SMC3は、回路ブロックに対応するキャプチャ期間をコード化して示す信号であり、スキャンテストのキャプチャ期間においては1つの回路ブロックを指定する。
【0052】
図12に示されるように、この制御回路40は、全てのスキャンフリップフロップのスキャンシフト動作を示す動作モードMS、回路ブロック毎のキャプチャ動作を示す動作モードM1〜M6、テストパターンの生成時の動作を示す動作モードM0とを有する。テストパターンの生成方法は、第1の実施の形態に係るテストパターンの生成方法と同じである。このように、第1の実施の形態と同じようにピーク電流を削減することができ、さらに、コード化された制御信号を入力することにより、制御信号を入力する入力端子の数を削減することができる。
【0053】
(第3の実施の形態)
図13は、本発明の第3の実施の形態に係る制御回路40の構成を示す図である。本発明の第3の実施の形態では、半導体装置外部からスキャンモード制御信号SMCと、モード切替信号ATGMと、カウント信号PCNTとを入力し、回路ブロック毎にテストする。モード切替信号ATGMは、テストパターン生成するモードと実際のテストを行うモードとを切り替える信号である。カウント信号PCNTは、テストする回路ブロックの順番をカウントとする信号である。被テスト回路は、第1の実施の形態と同じように、互いにデータパス依存性のない回路ブロック10、20とする。
【0054】
第3の実施の形態に係る制御回路40は、パルスカウンタ470と、クロックゲーティングセル41、42とを備える。パルスカウンタ470には、装置外部から入力されるモード切替信号ATGMと、カウント信号PCNTとを入力し、クロックイネーブル信号CEN1、CEN2を生成してクロックゲーティングセル41、42に供給する。クロックゲーティングセル41は、スキャンモード制御信号SMCと、クロックイネーブル信号CEN1と、スキャンクロック信号SCKとを入力し、スキャンクロック信号SKC1を生成して回路ブロック10に出力する。クロックゲーティングセル42は、スキャンモード制御信号SMCと、クロックイネーブル信号CEN2と、スキャンクロック信号SCKとを入力し、スキャンクロック信号SKC2を生成して回路ブロック20に出力する。
【0055】
パルスカウンタ470は、フリップフロップ471、472、473と、NOT回路474と、AND回路475と、OR回路476、477とを含む。フリップフロップ471〜473のクロック入力ノードには、カウント信号PCNTが入力される。フリップフロップ471は、スキャンモード制御信号SMCが入力されるセット入力ノードSを備え、データ入力ノードDは、論理“0”に固定され、データ出力ノードQから出力信号Q1が出力される。AND回路475は、フリップフロップ471の出力信号Q1と、スキャンモード制御信号SMCがNOT回路474によって論理反転された信号とを入力し、それらの論理積を示す信号をフリップフロップ472のデータ入力ノードDに供給する。
【0056】
フリップフロップ472は、AND回路475の出力信号をカウント信号PCNTに基づいて取り込み、出力信号Q2を出力する。フリップフロップ473は、フリップフロップ472の出力信号Q2をカウント信号PCNTに基づいて取り込み、出力信号Q3を出力する。OR回路476は、フリップフロップ472の出力信号Q2と、モード切替信号ATGM信号とを入力し、クロックイネーブル信号CEN1をクロックゲーティングセル41に供給する。OR回路477は、フリップフロップ473の出力信号Q3と、モード切替信号ATMGとを入力し、クロックイネーブル信号CEN2をクロックゲーティングセル42に供給する。
【0057】
図13に示されるパルスカウンタ回路470は、互いにデータパス依存性のない回路ブロックが2回路である場合に対応する回路であり、回路ブロックが多くなると、フリップフロップおよびOR回路が増加する。互いにデータパス依存性のない回路ブロックが3回路の場合には、回路ブロックに供給されるスキャンクロック信号SCK3を生成するクロックゲーティングセルが設けられる。フリップフロップ473の出力信号Q3を入力して出力信号Q4を出力するフリップフロップがフリップフロップ473の後段に追加される。その出力信号Q4とモード切替信号ATGMとを入力してクロックイネーブル信号CEN3を生成するOR回路が追加される。
【0058】
図14は、第3の実施の形態に係る制御回路40により制御される半導体装置のスキャンテスト時の動作を示すタイミングチャートである。
【0059】
スキャンテスト時の動作であるため、モード切替信号ATGMは、“0”を示し(図14(b))、クロックイネーブル信号CEN1、CEN2(図14(h)(i))は、それぞれフリップフロップ472、473の出力信号Q2、Q3と同値を示す(図14(f)(g))。
【0060】
時刻CT21は、シフトモードが終わる直前のタイミングを示し、最後のテストデータをシフトするパルスが入力される(図14(d)(j)(k))。
【0061】
時刻CT22では、スキャンモード制御信号SMCが“0”になり(図14(a))、キャプチャモードの動作が開始される。スキャンモード制御信号SMCが“0”になるため、フリップフロップ471のセット入力ノードSに“0”が入力される。NOT回路474の出力が“1”となり、AND回路475の出力は“1”を示す。カウント信号PCNTのパルスPCNT1に応答して(図14(c))、フリップフロップ472は、AND回路475の出力を取り込んで出力信号Q2に“1”を出力する(図14(f))。したがって、OR回路476は、クロックイネーブル信号CEN1として“1”を出力する(図14(h))。また、フリップフロップ471は、論理値“0”を取り込み、出力信号Q1に“0”を出力する(図14(e))。したがって、AND回路475の出力は“0”を示す。フリップフロップ473は変化せず“0”を出力するため、OR回路476は、クロックイネーブル信号CEN2として“0”を出力する(図14(i))。
【0062】
スキャンクロック信号SCKにラウンチパルスとキャプチャパルスとが与えられると(図14(d))、回路ブロック10に供給されるスキャンクロック信号SCK1にラウンチパルスとキャプチャパルスとが反映され(図14(j))、回路ブロック20に供給されるスキャンクロック信号SCK2には反映されない(図14(k))。
【0063】
カウント信号PCNTのパルスPCNT2に応答して(図14(c))、フリップフロップ473は、フリップフロップ472の出力を取り込んで出力信号Q3に“1”を出力する(図14(g))。したがって、OR回路477は、クロックイネーブル信号CEN2として“1”を出力する(図14(i))。フリップフロップ472は、AND回路475の出力“0”を取り込んで、出力信号Q2を“0”にする(図14(f))。フリップフロップ471は変わらず出力信号Q1として“0”を出力する(図14(e))。スキャンクロック信号SCKにラウンチパルスとキャプチャパルスとが与えられると(図14(d))、回路ブロック20に供給されるスキャンクロック信号SCK2にラウンチパルスとキャプチャパルスとが反映され(図14(k))、回路ブロック10に供給されるスキャンクロック信号SCK1には反映されない(図14(j))。
【0064】
時刻CT23において、スキャンモード制御信号SMCが“1”になると(図14(a))、テスト結果を出力するシフトモードになる。このとき、フリップフロップ471のセット入力ノードSに“1”が入力され、フリップフロップ471は出力信号Q1として“1”を出力する(図14(e))。また、NOT回路474の出力とAND回路475の出力とが“0”となる。その後、カウント信号PCNTにパルスを供給し(PCNT3)、フリップフロップ472、473をクリアする。
【0065】
スキャンモード制御信号SMCが“1”であるため(図14(a))、スキャンクロック信号SCKにパルスが供給されると(図14(d))、クロックゲーティングセル41、42は、回路ブロック10、20にスキャンクロック信号SCK1、SCK2を供給する(図14(j)(k))。このように、第1の実施の形態と同じように、回路ブロック10、20に異なるタイミングでキャプチャ期間を設定することができる。
【0066】
次に、第3の実施の形態に係るテスト用のデータ作成方法を説明する。
第3の実施の形態に係るテスト用のデータ作成方法では、第1の実施の形態とは制御回路40が異なるため、追加回路の組み込み(ステップS10)の細部と、テストパターンの加工(ステップS40)の細部とが異なるが、他は第1の実施の形態と同じである(図7)。テストパターンの生成においては、図15に示されるように、モード切替信号ATGMを“1”にしてクロックイネーブル信号CEN1、CEN2を常時“1”にする。これにより、各回路ブロックに共通にラウンチパルスとキャプチャパルスとを印加することができ、従来同様のテストパターン生成をすることができる。
【0067】
追加回路の組み込み(ステップS10)では、制御回路の組み込み(ステップS150)が異なるが、他は第1の実施の形態と同じである。図8に示されるように、部分回路を同時パルスグループに分類できると、それぞれのグループにクロック信号や制御信号を供給する制御回路が組み込まれる(ステップS150)。すなわち、外部入力信号に基づいて、クロック信号や制御信号を生成する制御回路40と、クロック信号を切り替える選択回路51、52とを追加する。制御回路40は、図13に示されるように、回路ブロック毎に対応する回路(フリップフロップ472、473、クロックゲーティングセル41、42およびOR回路476、477)を有し、回路ブロックの数に応じて増減する。このように、制御回路が組み込まれたネットリストは、制御回路挿入後ネットリストF20として記憶部に格納される。
【0068】
テストパターンの加工(ステップS40)では、図16に示されるように、カウント信号PCNTの設定処理(ステップS440)が追加される。したがって、まず、テストデータ生成装置は、加工前テストパターンF40として格納されるテストパターンを取り込む(ステップS410)。このテストパターンは、図15に示されるように、スキャンモード制御信号SMCによってシフト動作とキャプチャ動作が指示されることを前提に、従来の方法により生成されたテストパターンである。したがって、各回路ブロックに対するキャプチャサイクルが連続するように回路ブロックの数に応じてキャプチャ期間が延長される(ステップS420)。
【0069】
次に、キャプチャ期間に対応する回路ブロックにラウンチパルスとキャプチャパルスとが印加されるように、制御信号の入力値が設定される(ステップS430)。すなわち、モード切替信号ATGMの入力値は“0”に設定される。ラウンチパルスとキャプチャパルスとが印加される回路ブロックの指定は、カウント信号PCNTの入力により行う。したがって、回路ブロックを指定するカウント信号PCNTを追加する(ステップS440)。ここでは、スキャンクロック信号SCKがラウンチパルスとキャプチャパルスとを示す前にパルスPCNT1、PCNT2がそれぞれ追加される。さらに、スキャンクロック信号SCKがスキャンチェーンのデータをシフトさせるパルスの前に、制御回路40内のフリップフロップ472、473をクリアするパルスPCNT3が追加される。テストパターンの加工が終わると、テストパターンは加工後テストパターンF50として出力される(ステップS450)。
【0070】
このように、制御回路40がパルスカウンタ回路470を備えることにより、カウント信号PCNTの入力によりキャプチャ動作する回路ブロックを指定することができる。被テスト回路の回路ブロックの数によらずカウント信号PCNTのパルス数により指定できるため、回路ブロックの数が多くなると、スキャンテストに使用する端子数を削減することができる。スキャンテスト時のピーク消費電力を削減し、IRドロップによる誤動作を防ぐことができる。
【0071】
以上、実施の形態を参照して本願発明を説明したが、上記実施の形態は、矛盾のない限り組み合わせて実施可能である。また、本願発明は上記実施の形態に限定されるものではなく、本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0072】
10、20 回路ブロック
11、12、21、22 フリップフロップ
18、28 組み合わせ回路
40 制御回路
41、42、43、44、45、46 クロックゲーティングセル
51、52 選択回路
400、401 AND回路
403 NOR回路
406 デコーダ回路
411、421 NOT回路
414、424 OR回路
416、426 ラッチ回路
418、428 AND回路
451、452、453、454、455、456 OR回路
470 パルスカウンタ回路
471、472、473 フリップフロップ
474 NOT回路
475 AND回路
476、477 OR回路
F10 DTF前ネットリスト
F20 制御回路挿入後ネットリスト
F30 DFT後ネットリスト
F40 加工前テストパターン
F50 加工後テストパターン
CK1、CK2 クロック信号
ICK1、ICK2 内部クロック信号
SCK、SCK1、SCK2 スキャンクロック信号
SMC、SMC1、SMC2 スキャンモード制御信号
SIN、SIN1、SIN2 スキャンデータ入力信号
SOUT、SOUT1、SOUT2 スキャンデータ出力信号

【特許請求の範囲】
【請求項1】
スキャンテスト時にスキャンチェーンを形成するスキャンフリップフロップと組み合わせ回路とを含み、互いにデータパス依存性のない複数の回路ブロックと、
前記スキャンテストに使用され、外部から入力される制御信号に基づいて、前記複数の回路ブロック毎に供給される複数のブロックスキャンクロック信号を生成する制御回路と、
前記複数の回路ブロックのそれぞれに対応して設けられ、前記制御信号に基づいて、前記複数の回路ブロックのそれぞれに供給するクロック信号を実動作時に使用する内部クロック信号と、前記複数のブロックスキャンクロック信号との一方に切り替える複数の選択回路と
を具備し、
前記制御回路は、前記制御信号が前記スキャンチェーンにデータを入出力するスキャンシフト期間を示すときに、同じタイミングのシフトクロックを含む前記ブロックスキャンクロック信号を生成し、前記組み合わせ回路の論理動作をテストするキャプチャ期間を示すときは前記複数の回路ブロック毎に異なるタイミングのパルスを含む前記ブロックスキャンクロック信号を生成する
半導体装置。
【請求項2】
前記制御回路は、単一の入力端子を介して入力されるスキャンテストクロック信号に基づいて、前記ブロックスキャンクロック信号を生成する
請求項1に記載の半導体装置。
【請求項3】
前記キャプチャ期間は、前記複数の回路ブロックのうちの指定される回路ブロックに含まれる前記組み合わせ回路の前記論理動作をテストするキャプチャサイクルを連続して含む
請求項1または請求項2に記載の半導体装置。
【請求項4】
前記ブロックスキャンクロック信号は、前記キャプチャサイクルにおいて前記スキャンチェーンから前記組み合わせ回路にデータを出力するタイミングを示すラウンチパルスと、前記組み合わせ回路から前記論理動作をテストした結果を示すデータを前記スキャンチェーンに取り込むタイミングを示すキャプチャパルスとを含む
請求項3に記載の半導体装置。
【請求項5】
前記ラウンチパルスと前記キャプチャパルスとの間隔は、前記複数の回路ブロックのそれぞれの動作周波数に応じて異なる
請求項4に記載の半導体装置。
【請求項6】
前記制御信号は、
前記スキャンテストの実施を示すスキャンテスト信号と、
前記複数の回路ブロックのうちの前記論理動作をテストする回路ブロックを指定するスキャンモード制御信号と
を含む
請求項1から請求項5のいずれかに記載の半導体装置。
【請求項7】
前記スキャンモード制御信号は、
前記複数の回路ブロックのうちの第1回路ブロックの前記論理動作をテストすることを示す第1スキャンモード制御信号と、
前記複数の回路ブロックのうちの第2回路ブロックの前記論理動作をテストすることを示す第2スキャンモード制御信号と
を含む
請求項6に記載の半導体装置。
【請求項8】
前記スキャンモード制御信号は、コードによって前記論理動作をテストする前記回路ブロックを示し、
前記制御回路は、前記スキャンモード制御信号をデコードして前記論理動作をテストする前記回路ブロックを指定する
請求項6に記載の半導体装置。
【請求項9】
前記制御信号は、
前記スキャンシフト期間と前記キャプチャ期間とを示すスキャンモード制御信号と、
前記キャプチャ期間において、前記複数の回路ブロックのうちの前記論理動作をテストする回路ブロックを切り替えるタイミングを示すカウント信号と
を含む
請求項1から請求項5のいずれかに記載の半導体装置。
【請求項10】
前記制御信号は、前記スキャンテストを実施中か否かを示すモード切替信号をさらに含む
請求項9に記載の半導体装置。
【請求項11】
請求項1から請求項10のいずれかに記載の半導体装置の前記スキャンテストを行うためのテスト用回路を追加する処理をコンピュータに実行させるためのプログラム。
【請求項12】
前記テスト用回路を追加する前の回路を示す第1回路情報に基づいて、複数の部分回路を抽出するステップと、
前記複数の部分回路間のデータパス依存関係を算出するステップと、
算出された前記データパス依存関係に基づいて、依存関係のない複数の回路ブロックに分類するステップと、
前記複数の回路ブロックのそれぞれ毎に対応するように前記複数の選択回路を挿入するステップと、
前記複数の選択回路のそれぞれに供給する複数のブロックスキャンクロック信号を生成する制御回路を挿入するステップと
を具備する
請求項11に記載のテスト用回路を追加する処理をコンピュータに実行させるためのプログラム。
【請求項13】
請求項1から請求項10のいずれかに記載の半導体装置のスキャンテストを行うためのテスト用回路を追加する方法であって、
前記テスト用回路を追加する前の回路を示す第1回路情報に基づいて、複数の部分回路を抽出するステップと、
前記複数の部分回路間のデータパス依存関係を算出するステップと、
算出された前記データパス依存関係に基づいて、依存関係のない複数の回路ブロックに分類するステップと、
前記複数の回路ブロックのそれぞれ毎に対応するように前記複数の選択回路を挿入するステップと、
前記複数の選択回路のそれぞれに供給する複数のブロックスキャンクロック信号を生成する制御回路を挿入するステップと
を具備する
テスト用回路を追加する方法。
【請求項14】
請求項1から請求項10のいずれかに記載の半導体装置のスキャンテストに用いられるテストパターンの生成方法であって、
前記複数の回路ブロックが同時に動作するように前記制御信号を設定することを第1前提条件とするステップと、
前記第1前提条件に基づいて、前記複数の回路ブロックが同時に動作することを前提として前記スキャンテストに用いられるテストパターンを生成するステップと、
前記複数の回路ブロックのうちの一つの回路ブロックが動作するように前記制御信号を設定することを第2前提条件とするステップと、
前記第2前提条件に基づいて、前記一つの回路ブロックが動作するキャプチャサイクルを前記キャプチャ期間に設けるステップと、
前記一つの回路ブロックを替えて前記第2前提条件とするステップおよび前記キャプチャサイクルを前記キャプチャ期間に設けるステップを繰り返すステップと
を具備する
テストパターンの生成方法。
【請求項15】
請求項14に記載のテストパターンの生成方法をコンピュータに実行させるためのプログラム。
【請求項16】
スキャンテスト時にスキャンチェーンを形成するスキャンフリップフロップと組み合わせ回路とを含み、互いにデータパス依存性のない複数の回路ブロックを抽出するステップと、
前記スキャンテストに使用され、外部から入力される制御信号に基づいて、前記複数の回路ブロック毎に供給される複数のブロックスキャンクロック信号を生成する制御回路を設けるステップと、前記制御回路は、前記制御信号が前記スキャンチェーンにデータを入出力するスキャンシフト期間を示すときに、同じタイミングのシフトクロックを含む前記ブロックスキャンクロック信号を生成し、前記組み合わせ回路の論理動作をテストするキャプチャ期間を示すときは前記複数の回路ブロック毎に異なるタイミングのパルスを含む前記ブロックスキャンクロック信号を生成し、
前記制御信号に基づいて、前記複数の回路ブロックのそれぞれに供給するクロック信号を実動作時に使用する内部クロック信号と、前記複数のブロックスキャンクロック信号との一方に切り替える複数の選択回路を前記複数の回路ブロックのそれぞれに対応して設けるステップと、
前記スキャンフリップフロップがスキャンチェーンを形成するように前記制御信号を設定し、テストパターンを入力するステップと、
前記複数の回路ブロックのうちの一つの回路ブロックが動作するように前記制御信号を設定するステップと、
前記一つの回路ブロックにキャプチャ動作するように前記ブロックスキャンクロック信号を供給するステップと、
前記一つの回路ブロックを替えて前記制御信号を設定するステップおよび前記ブロックスキャンクロック信号を供給するステップを繰り返すステップと、
前記スキャンフリップフロップがスキャンチェーンを形成するように前記制御信号を設定し、テスト結果を出力するステップと
を具備する
半導体装置のテスト方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2012−185127(P2012−185127A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2011−50225(P2011−50225)
【出願日】平成23年3月8日(2011.3.8)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】