(57)【要約】 【課題】  テスト品質を落とすことなく、低消費電力かつ高速にスキャンテストを行う。【解決手段】  半導体装置は、スキャンテストのためのスキャンチェーン回路を有する回路ブロックと、イネーブル信号に基づいて、スキャンチェーン回路にクロック信号を供給するか否かを切り替えるクロックゲーティング回路と、を備える。回路ブロックは、スキャンチェーン回路をバイパスさせるバイパス経路と、イネーブル信号に基づいて、スキャンチェーン回路の出力信号とバイパス経路を通過した信号とのどちらか一方を選択する選択回路と、を有する。【選択図】  図１
2019168297.tif 000002
【特許請求の範囲】
【請求項１】
スキャンテストのためのスキャンチェーン回路を有する回路ブロックと、
イネーブル信号に基づいて、前記スキャンチェーン回路にクロック信号を供給するか否かを切り替えるクロックゲーティング回路と、を備え、
前記回路ブロックは、
前記スキャンチェーン回路をバイパスさせるバイパス経路と、
前記イネーブル信号に基づいて、前記スキャンチェーン回路の出力信号と前記バイパス経路を通過した信号とのどちらか一方を選択する選択回路と、を有する、半導体装置。
【請求項２】
前記クロックゲーティング回路に２以上の前記回路ブロックが接続され、
前記クロックゲーティング回路は、前記回路ブロック内の前記スキャンチェーン回路に対し前記クロック信号を供給するか否かを前記イネーブル信号に同期して切り替える、請求項１に記載の半導体装置。
【請求項３】
前記回路ブロックは、前記イネーブル信号が第１論理の場合と第２論理の場合とで、それぞれ異なるテストパターンが入力されるテストパターン入力端子を有する、請求項１又は２に記載の半導体装置。
【請求項４】
論理合成により、設計対象回路を生成する論理合成部と、
前記設計対象回路を複数の回路ブロックに分けて、各回路ブロックにスキャンテストのためのスキャンチェーン回路を組み込むテスト回路生成部と、
前記複数の回路ブロックのそれぞれごとに、前記スキャンテスト用の第１テストパターンを生成する第１パターン生成部と、
前記第１テストパターンを対応する前記回路ブロックに付与してスキャンテストを行った結果に基づいて、前記スキャンテストが冗長か否かを判断する冗長判断部と、
冗長と判断された前記回路ブロック内の前記スキャンチェーン回路へのクロック信号の供給を停止させるクロックゲーティング回路を生成するとともに、冗長と判断された前記スキャンチェーン回路を含む回路ブロック内に、冗長と判断された前記スキャンチェーン回路をバイパスさせるバイパス経路と、前記スキャンチェーン回路の出力信号を選択するか前記バイパス経路を通過した信号を選択するかをイネーブル信号に基づいて切り替える選択回路と、を生成する冗長回避部と、
前記冗長判断部にて冗長と判断された前記回路ブロックに付与するスキャンテスト用の第２テストパターンを生成する第２パターン生成部と、
前記論理合成部、前記テスト回路生成部及び前記冗長回避部の各処理結果に基づいて、前記設計対象回路のレイアウト設計を行うレイアウト部と、を備える、半導体設計装置。
【請求項５】
請求項４に記載の半導体設計装置にて設計した半導体装置をテストする半導体テスト装置であって、
前記複数の回路ブロックのそれぞれごとに、対応する前記スキャンチェーン回路に前記第１テストパターンを付与して故障検出率を取得する故障検出率モニタリング部と、
前記故障検出率が飽和傾向にあるか否かを判定する飽和傾向判定部と、
前記故障検出率が飽和傾向にあると判定された回路ブロックについては、前記クロックゲーティング回路にて前記スキャンチェーン回路へのクロック信号の供給を停止し、かつ対応する前記第２テストパターンを前記回路ブロックに入力して、前記選択回路にて前記バイパス経路を選択するテストパターン切替部と、を備える、半導体テスト装置。
【請求項６】
前記イネーブル信号が第１論理の場合には、前記第１テストパターンが前記回路ブロックに入力されるとともに、前記選択回路は前記スキャンチェーン回路の出力信号を選択し、
前記イネーブル信号が第２論理の場合には、前記第２テストパターンが前記回路ブロックに入力されるとともに、前記選択回路は前記バイパス経路を通過した信号を選択する、請求項５に記載の半導体テスト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体装置、半導体設計装置及び半導体テスト装置に関する。
【背景技術】
【０００２】
半導体装置は、年々微細化及び高集積化が進んでおり、半導体装置内部のフリップフロップをチェーン状に繋げてその動作をテストするスキャンテストの重要性が高まっている。半導体装置のテストは、ウエハの状態でプローブカードを接触させて行うダイソータ工程テストと、ウエハから各チップを切り出してパッケージングした後に行う最終テストとがある。ダイソータ工程テストでは、プローブカード内の各プローブを多数のパッドに同時に接触させてテストを行うため、消費電流への制限が大きい。一般に、スキャンテストでは、テストパターンを印加し、テスト応答を観測するシフト動作の際に、通常動作では起こりえない多くの消費電流が発生する。シフト動作時の消費電流が半導体テスト装置の許容範囲を越えると、過度な電圧降下を引き起こし、ウエハ上の各素子の遅延が増加して、遅延故障として検出される可能性がある。その結果、正常な回路を不良品として判定する誤テストの恐れがあり、歩留まり低下の原因となる。
【０００３】
このため、テスト品質を維持するには、消費電流の増加を抑制するために、スキャンテストのシフト周波数を下げざるを得ない。しかしながら、スキャンテストのシフト周波数を下げると、テスト時間が長くなり、テストコストが高くなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−４６１６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の一実施形態は、テスト品質を落とすことなく、低消費電力かつ高速にスキャンテストを行うことができる半導体装置、半導体設計装置及び半導体テスト装置を提供するものである。
【課題を解決するための手段】
【０００６】
本実施形態によれば、スキャンテストのためのスキャンチェーン回路を有する回路ブロックと、
イネーブル信号に基づいて、前記スキャンチェーン回路にクロック信号を供給するか否かを切り替えるクロックゲーティング回路と、を備え、
前記回路ブロックは、
前記スキャンチェーン回路をバイパスさせるバイパス経路と、
前記イネーブル信号に基づいて、前記スキャンチェーン回路の出力信号と前記バイパス経路を通過した信号とのどちらか一方を選択する選択回路と、を有する、半導体装置が提供される。
【図面の簡単な説明】
【０００７】
【図１】一実施形態による半導体装置の概略構成を示すブロック図。
【図２】図１の半導体装置を設計する半導体設計装置の概略構成を示すブロック図。
【図３】図２の半導体設計装置の処理動作を示すフローチャート。
【図４Ａ】テストパターン数と故障検出率との対応関係を示す図。
【図４Ｂ】回路ブロックの種類と故障検出率との対応関係を示す図。
【図５】図１の半導体装置のスキャンテストを行う半導体テスト装置の概略構成を示すブロック図。
【図６】半導体設計装置や半導体テスト装置の機能をコンピュータが実現する例を示す図。
【発明を実施するための形態】
【０００８】
以下、図面を参照して実施の形態について説明する。なお、本件明細書と添付図面においては、理解のしやすさと図示の便宜上、一部の構成部分を省略、変更または簡易化して説明および図示しているが、同様の機能を期待し得る程度の技術内容も、本実施の形態に含めて解釈することとする。
【０００９】
図１は一実施形態による半導体装置１の概略構成を示すブロック図である。図１の半導体装置１の種類や用途は特に問わないが、少なくともクロック信号Scan_Clkに同期して動作するフリップフロップを備えたものとなっている。より具体的には、図１の半導体装置１は、複数の回路ブロック２と、前記複数の回路ブロック２に共通接続されたクロックゲーティング回路３とを備えている。
【００１０】
ここで、前記複数の各回路ブロック２は、スキャンテストを行うためのスキャンチェーン回路４と、バイパス経路５と、選択回路６とをそれぞれ有する。スキャンチェーン回路４は、典型的には、複数のフリップフロップ７を縦続接続したものである。これらフリップフロップ７の間に、論理ゲートやインバータ、抵抗、インダクタなどの他の回路素子が介挿されていてもよい。スキャンチェーン回路４を構成するフリップフロップ７等の各回路素子は、通常動作時にはそれぞれ独立して動作することもありうるが、スキャンテスト時にはスキャンチェーン回路４を構成する。スキャンチェーン回路４は、複数のフリップフロップ７を含んでおり、各フリップフロップ７はクロック信号Scan_Clkに同期して動作する。したがって、各回路ブロック２にはクロック信号Scan_Clkが入力される。
【００１１】
バイパス経路５は、スキャンチェーン回路４をバイパスさせる信号経路である。バイパス経路５上にバッファや論理ゲート等の回路素子が接続されていてもよい。
【００１２】
選択回路６は、スキャンテストのためのイネーブル信号Scan_Enbに基づいて、スキャンチェーン回路４の出力信号とバイパス経路５を通過した信号との一方を選択する。例えば、選択回路６は、イネーブル信号Scan_Enbが第１論理（例えばハイ）のときにスキャンチェーン回路４の出力信号を選択し、イネーブル信号Scan_Enbが第２論理（例えばロー）のときにバイパス経路５を通過した信号を選択する。
【００１３】
クロックゲーティング回路３は、イネーブル信号Scan_Enbに基づいて、各回路ブロック２へのクロック信号Scan_Clkの供給を停止するか否かを切り替える。例えば、イネーブル信号Scan_Enbが第１論理のとき、クロックゲーティング回路３は各回路ブロック２へのクロック信号Scan_Clkを供給し、イネーブル信号Scan_Enbが第２論理のとき、クロックゲーティング回路３は各回路ブロック２へのクロック信号Scan_Clk供給を停止する。
【００１４】
より具体的には、クロックゲーティング回路３は、回路ブロック２内のスキャンチェーン回路４に対して、前記イネーブル信号Scan_Enbに基づきクロック信号Scan_Clkを供給するか否かを同期して切り替える。
【００１５】
尚、クロックゲーティング回路３の内部構成は特に問わないが、図１の例では、イネーブル信号Scan_Enbが第２論理（ロウ）のときには、出力がロウ固定になり、第１論理（ハイ）のときには外部からのスキャンクロックをスキャンチェーン回路４に供給する論理ゲートを有する。クロックゲーティング回路３の出力信号は、各回路ブロック２内のスキャンチェーン回路４に供給される。
【００１６】
各回路ブロック２は、テストパターンScan_In1, Scan_In2が入力されるテストパターン入力端子を有する。テストパターン入力端子には、イネーブル信号Scan_Enbが第１論理のときと第２論理のときでは、それぞれ異なるテストパターンが入力される。本実施形態は、イネーブル信号Scan_Enbが第１論理のときには、スキャンチェーン回路４のテストを行うための第１テストパターンを各回路ブロック２に供給し、イネーブル信号Scan_Enbが第２論理のときには、スキャンチェーン回路４のテストを省略した第２テストパターンを各回路ブロック２に供給する。
【００１７】
本実施形態では、半導体装置１内のすべての回路ブロック２内のスキャンチェーン回路４をクロックゲーティング回路３に接続することを意図しているわけではない。半導体装置１内の複数の回路ブロック２のうち、冗長なスキャンテストを行っていると判断された回路ブロック２について、クロックゲーティング回路３にてクロック信号Scan_Clkの供給を停止する。これにより、冗長なスキャンテストを行っている回路ブロック２は無駄なスキャンテストを行わなくなるため、スキャンテスト時の消費電流を削減できる。消費電流の削減により、電圧降下を抑制でき、当初想定したシフト周波数でスキャンチェーン回路４を動作させることができることから、スキャンテストの高速化を図ることができ、テストコストを下げることができる。
【００１８】
尚、図１には２つの回路ブロック２が図示されているが、回路ブロック２の数は特に限定されない。また、各回路ブロック２内の回路構成は、少なくとも前述したスキャンチェーン回路４、バイパス回路５、選択回路６を備えるものであれば適宜変更が可能である、同じである必要はない。更に回路ブロック２のサイズやレイアウトも適宜変更可能である
【００１９】
図２は図１の半導体装置１を設計する半導体設計装置１０の概略構成を示すブロック図である。図２の半導体設計装置１０は、論理合成部１１と、テスト回路生成部１２と、第１パターン生成部１３と、冗長判断部１４と、冗長回避部１５と、第２パターン生成部１６と、レイアウト部１７とを備えている。
【００２０】
論理合成部１１は、論理合成ツールを用いて、設計対象回路を生成する。設計対象回路とは、図１の半導体装置１を作製するための半導体回路である。
【００２１】
テスト回路生成部１２は、設計対象回路を複数の回路ブロック２に分けて、各回路ブロック２にスキャンテストのためのスキャンチェーン回路４を組み込む。より具体的には、テスト回路生成部１２は、スキャンテスト時には、各回路ブロック２内の複数のフリップフロップ７を縦続接続させてスキャンチェーン回路４を作製する。
【００２２】
第１パターン生成部１３は、スキャンテスト用の第１テストパターンを生成する。第１テストパターンは、スキャンチェーン回路４を用いてスキャンテストを行う場合に、各回路ブロック２に入力されるものである。
【００２３】
冗長判断部１４は、第１テストパターンを回路ブロック２に付与してスキャンテストを行い、そのスキャンテスト結果に基づいてスキャンテストが冗長か否かを判断する。ここでは、後述するように、例えば、スキャンテストを行う段階で、すでに故障検出率が飽和状態であれば、それ以降のスキャンテストが冗長であると判断する。
【００２４】
冗長回避部１５は、冗長と判断された回路ブロック２内のスキャンチェーン回路４へのクロック信号Scan_Clkの供給を停止させるクロックゲーティング回路３を生成するとともに、冗長と判断されたスキャンチェーン回路４を含む回路ブロック２内に、冗長と判断されたスキャンチェーン回路４をバイパスさせるバイパス経路５と、スキャンチェーン回路４の出力信号を選択するかバイパス経路５を通過した信号を選択するかをイネーブル信号Scan_Enbに基づいて切り替える選択回路６と、を生成する。
【００２５】
第２パターン生成部１６は、冗長判断部１４にて冗長と判断されたスキャンチェーン回路４を含む回路ブロック２に付与するスキャンテスト用の第２テストパターンを生成する。第２テストパターンは、スキャンチェーン回路４のテストを省略したものであるため、第１テストパターンよりも短いパターンになる。
【００２６】
レイアウト部１７は、論理合成部１１、テスト回路生成部１２及び冗長回避部１５の各処理結果に基づいて、設計対象回路のレイアウト設計を行う。
【００２７】
図３は図２の半導体設計装置１０の処理動作を示すフローチャートである。設計対象回路は、例えばＲＴＬ（Register Transfer Language）で記述することができる。そこで、論理合成部１１は、設計対象回路を記述したＲＴＬ１８を論理合成ツールに入力して、論理合成を行って設計対象回路を生成する（ステップＳ１）。このとき、論理合成レポート１９が生成される。また、ステップＳ１で生成された設計対象回路に基づいてネットリスト２０が生成される。
【００２８】
次に、テスト回路生成部１２は、設計対象回路にスキャンチェーン回路４を組み込む（ステップＳ２）。このステップＳ２の処理は、ＤＦＴ（Design For Test）の挿入とも呼ばれる。このステップＳ２の処理を行うことで、ＤＦＴレポート２１が生成される。また、設計対象回路にスキャンチェーン回路４を組み込んだ状態で、再度ネットリスト２２が生成される。
【００２９】
次に、第１パターン生成部１３は、スキャンテスト用の第１テストパターンを生成する（ステップＳ３）。ステップＳ３の処理を行うことで、パターン生成レポート２３が生成される。また、生成された第１テストパターンが第１テストパターン記憶部２４に記憶される。
【００３０】
次に、冗長判断部１４は、第１テストパターンを回路ブロック２に付与してスキャンテストを行い、そのスキャンテスト結果に基づいて、スキャンテストが冗長か否かを判断する（ステップＳ４）。冗長であると判断されると、ＥＣＯ（Engineering Change Order）ドキュメント２５が作成される。
【００３１】
次に、冗長回避部１５は、ステップＳ２で生成されたネットリスト２２と、ステップＳ４で作成されたＥＣＯドキュメント２５に基づいて、冗長を回避する対策を行う（ステップＳ５）。このステップＳ５では、より具体的には、図１で示したように、冗長と判断されたスキャンチェーン回路４へのクロック信号Scan_Clkの供給を停止させるクロックゲーティング回路３を生成するとともに、冗長と判断されたスキャンチェーン回路４を含む回路ブロック２内に、冗長と判断されたスキャンチェーン回路４をバイパスさせるバイパス経路５と、スキャンチェーン回路４の出力信号を選択するかバイパス経路５を通過した信号を選択するかをイネーブル信号Scan_Enbに基づいて切り替える選択回路６と、を生成する。これらの回路を生成した後に、再度ネットリスト２６が生成される。
【００３２】
次に、第２パターン生成部１６は、冗長判断部１４にて冗長と判断された回路ブロック２に付与するスキャンテスト用の第２テストパターンを生成する（ステップＳ６）。ステップＳ６の処理により、パターン生成レポート２７が作成される。また、生成された第２テストパターンは、第２テストパターン記憶部２８に記憶される。
【００３３】
次に、レイアウト部１７は、論理合成部１１、テスト回路生成部１２及び冗長回避部１５の各処理結果に基づいて、設計対象回路のレイアウト設計を行う（ステップＳ７）。
【００３４】
図４Ａはテストパターン数と故障検出率の対応関係を示す図である。図４Ａに示すように、テストパターン数が増えるに従って故障検出率は高くなるが、例えば、テストパターン数が１０００を超えると、故障検出率は飽和傾向になり、テストパターン数が３５００を超えると、故障検出数は完全に飽和する。図４Ａの結果より、テストパターン数が１０００を超えると、故障検出数はほとんど上がらないことがわかる。これは、テストパターン数が１０００を超えると、冗長なテストを行っていることを意味する。
【００３５】
図４Ｂは回路ブロック２と故障検出率との対応関係を示す図である。図４Ｂの各プロットは、テストパターン数が１０００のときの故障検出率を表している。また、図４Ｂの棒グラフの先端位置は、飽和時の故障検出率である。図４Ｂに示すように、テストパターン数が同数でも、回路ブロック２によって故障検出率は異なっている。テストパターン数が１０００のときに、故障検出率が飽和状態に到達する回路ブロック２もあれば、まだ到達していない回路ブロック２もある。
【００３６】
図３のステップＳ４では、設計対象回路について、図４Ａ及び図４Ｂに示す結果をシミュレーションにより取得し、取得した結果に基づいて、すでに飽和に達した回路ブロック２を抽出し、抽出した回路ブロック２を冗長と判断して、その回路ブロック２内にバイパス経路５と選択回路６とを設ける。これにより、テスト品質を低下させることなく、スキャンテスト対象の回路ブロック２を減らすことができ、消費電力を削減できるとともに、テスト時間を短縮できる。
【００３７】
図５は図１の半導体装置１のスキャンテストを行う半導体テスト装置３０の概略構成を示すブロック図である。図５の半導体テスト装置３０は、故障検出率モニタリング部３１と、飽和傾向判定部３２と、テストパターン切替部３３とを備えている。
【００３８】
故障検出率モニタリング部３１は、複数の回路ブロック２のそれぞれごとに、対応するスキャンチェーン回路４に第１テストパターンを付与して故障検出率を取得する。第１テストパターンは、図２の半導体設計装置１０内の第１パターン生成部１３が生成したものである。
【００３９】
飽和傾向判定部３２は、故障検出率が飽和傾向にあるか否かを判定する。より具体的には、飽和傾向判定部３２は、例えば図４Ａ及び図４Ｂに示したように、各回路ブロック２ごとに、第１テストパターンを連続して付与したときの故障検出率の変化を取得する。
【００４０】
テストパターン切替部３３は、故障検出率が飽和傾向にあると判定された回路ブロック２については、クロックゲーティング回路３にてスキャンチェーン回路４へのクロック信号Scan_Clkの供給を停止し、かつ対応する第２テストパターンを回路ブロック２に入力して、イネーブル信号Scan_Enbの論理を切り替えて選択回路６にてバイパス経路５を選択する。
【００４１】
このように、本実施形態では、テストパターン数を増やしても故障検出率が上がらないと予想される回路ブロック２については、回路ブロック２内のスキャンチェーン回路４をバイパスさせるようにしたため、スキャンテストを行うべき回路ブロック２の数を削減でき、スキャンテスト時の消費電流を削減できる。スキャンテスト時の消費電流の削減により、電圧降下を抑制でき、テスト品質を向上できるとともに、テスト時間も短縮できることから、テストコストを下げることができる。
【００４２】
上述した実施形態で説明した図２の半導体設計装置１０と図５の半導体テスト装置３０の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、図６に示すように、半導体設計装置１０や半導体テスト装置３０の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体３５に収納し、コンピュータ３６に読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。また、記録媒体は、ネットワーク３７に接続されていてもよい。
【００４３】
また、半導体設計装置１０や半導体テスト装置３０の少なくとも一部の機能を実現するプログラムを、インターネット等のネットワーク（無線・有線のどちらでもよい）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【００４４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４５】
１  半導体装置、２  回路ブロック、３  クロックゲーティング回路、４  スキャンチェーン回路、５  バイパス経路、６  選択回路、７  フリップフロップ、１０  半導体設計装置、１１  論理合成部、１２  テスト回路生成部、１３  第１パターン生成部、１４  冗長判断部、１５  冗長回避部、１６  第２パターン生成部、１７  レイアウト部、３０  半導体テスト装置、３１  故障検出率モニタリング部、３２  飽和傾向判定部、３３  テストパターン切替部
【図１】
2019168297.tif 000003
【図２】
2019168297.tif 000004
【図３】
2019168297.tif 000005
【図４Ａ】
2019168297.tif 000006
【図４Ｂ】
2019168297.tif 000007
【図５】
2019168297.tif 000008
【図６】
2019168297.tif 000009