(57)【要約】  テスト環境が変動する場合にも、より高精度に、半導体集積回路の動作性能を判断可能な半導体装置等を提供する。  半導体集積回路に生じる劣化を検知することが可能な半導体装置であって、温度及び電圧を測定する測定手段と、各テスト動作周波数において検知対象回路部に対してテスト内容が許容テストタイミング内に実行されるか否かを判別し、実行される最大のテスト動作周波数を決定する決定手段と、最大テスト動作周波数を基準温度及び基準電圧における最大テスト動作周波数に換算して劣化の状態を表す劣化量も算出する算出手段とを備え、半導体集積回路は、測定手段が温度及び電圧の値を測定するための値をモニタするモニタブロック回路を有し、測定手段は、モニタブロック回路がモニタした値から検知対象回路部の温度及び電圧の値を推定する推定手段を有し、算出手段は、推定手段が推定した温度及び電圧の値を用いる。
2011115038.tif 000002
【特許請求の範囲】
【請求項１】
テスト内容を実行する検知対象回路部を有する半導体集積回路に生じる劣化を検知することが可能な半導体装置であって、
前記検知対象回路部の温度及び電圧を測定する測定手段と、
各テスト動作周波数において前記検知対象回路部に対して前記テスト内容が許容テストタイミング内に実行されるか否かを判別し、実行される最大のテスト動作周波数を最大テスト動作周波数として決定する決定手段と、
前記決定手段が決定した前記最大テスト動作周波数を、前記測定手段が測定した温度及び電圧の値を用いて、基準温度及び基準電圧における最大テスト動作周波数に換算するとともに、当該換算された最大テスト動作周波数に基づき劣化の状態を表す劣化量も算出する算出手段とを備え、
前記半導体集積回路は、前記測定手段が前記温度及び電圧の値を測定するための値をモニタするモニタブロック回路を有し、
前記測定手段は、テストが行われる毎に、前記検知対象回路部の温度及び電圧の下で動作した前記モニタブロック回路がモニタした値から前記検知対象回路部の温度及び電圧の値を推定する推定手段を有し、
前記算出手段は、前記推定手段が推定した温度及び電圧の値を、前記測定手段が測定した温度及び電圧の値として用いて、前記決定手段が決定した前記最大テスト動作周波数を前記基準温度及び基準電圧における最大テスト動作周波数に換算する、半導体装置。
【請求項２】
前記半導体集積回路は、ｎ個（ｎは、２以上の整数）の前記モニタブロック回路を備え、
前記測定手段は、各モニタブロック回路における所定の時間内での発振回数として得られる測定周波数Ｆi（ｉは、ｎ以下の自然数）を測定し、
前記推定手段は、式(eq1)の係数αi、β、α’i及びβ’を計算することにより、前記検知対象回路部の温度Ｔ及び電圧Ｖの値を推定する、請求項１記載の半導体装置。
【数１】
2011115038.tif 000013
【請求項３】
前記推定手段は、温度範囲若しくは電圧範囲を複数に区分して当該区分ごとに式(eq1)の前記係数αi、β、α’i及びβ’を計算して、又は、温度範囲を複数に区分して当該区分ごとに式(eq1)の前記係数αi及びβを計算すると共に電圧範囲を複数に区分して当該区分ごとに式(eq1)の前記係数α’i及びβ’を計算することにより、前記検知対象回路部の温度Ｔ及び電圧Ｖの値を推定する、請求項２記載の半導体装置。
【請求項４】
前記推定手段は、式(eq1)の前記測定周波数Ｆiに代えて、前記測定周波数Ｆiと初回の測定周波数Ｆi０との差分である差分周波数ΔＦiを用いて、前記検知対象回路部の温度Ｔ及び電圧Ｖの値を推定する、請求項２又は３記載の半導体装置。
【請求項５】
前記測定手段が測定した測定値及び前記決定手段が決定した最大テスト動作周波数の組み合わせを記憶する記憶手段をさらに備え、
前記算出手段は、前記記憶手段が記憶した測定値及び最大テスト動作周波数を用いる、請求項１から４のいずれかに記載の半導体装置。
【請求項６】
前記最大テスト動作周波数は、前記記憶手段が記憶した異なるテスト時の複数の最大テスト動作周波数からランダムノイズを除去する演算が行われて決定される、請求項５記載の半導体装置。
【請求項７】
前記測定手段は所定のテスト動作周波数におけるテスト時の初期温度及び初期電圧を測定し、
前記決定手段は、前記基準温度及び前記基準電圧と前回の最大テスト動作周波数とを用いながら前記初期温度及び前記初期電圧における最大テスト動作周波数候補を定め、周波数を増加後に減少させて又は増加のみ若しくは減少のみさせて、実行される最大のテスト動作周波数を最大テスト動作周波数に決定する、請求項１から６のいずれかに記載の半導体装置。
【請求項８】
テストされるパスの長さ毎に異なるテスト内容を用意することを特徴とする、請求項１から７のいずれかに記載の半導体装置。
【請求項９】
許容テストタイミング及び/又は前記劣化量の値に応じてテスト内容及び/又はテスト順序を変更可能とする、請求項１から８のいずれかに記載の半導体装置。
【請求項１０】
テスト内容を実行する同種の複数の半導体集積回路に生じるバラツキを検知することが可能な半導体装置であって、
前記検知対象回路部の温度及び電圧を測定する測定手段と、
各テスト動作周波数において前記検知対象回路部に対して前記テスト内容が許容テストタイミング内に実行されるか否かを判別し、実行される最大のテスト動作周波数を最大テスト動作周波数として決定する決定手段と、
前記決定手段が決定した前記最大テスト動作周波数を、前記測定手段が測定した温度及び電圧の値を用いて、基準温度及び基準電圧における最大テスト動作周波数に換算するとともに、当該換算された最大テスト動作周波数に基づきバラツキの度合を表す相違量も算出する算出手段とを備え、
前記半導体集積回路は、前記測定手段が前記温度及び電圧の値を測定するための値をモニタするモニタブロック回路を有し、
前記測定手段は、テストが行われる毎に、前記検知対象回路部の温度及び電圧の下で動作した前記モニタブロック回路がモニタした値から前記検知対象回路部の温度及び電圧の値を推定する推定手段を有し、
前記算出手段は、前記推定手段が推定した温度及び電圧の値を、前記測定手段が測定した温度及び電圧の値として用いて、前記決定手段が決定した前記最大テスト動作周波数を前記基準温度及び基準電圧における最大テスト動作周波数に換算する、半導体装置。
【請求項１１】
同一の半導体集積回路に生じる劣化又は同種の複数の半導体集積回路に生じるバラツキを検知することが可能な検知方法であって、
前記半導体集積回路の検知対象回路部における動作周波数と温度及び電圧との関係の特性が近似式により近似されており、
測定手段が温度及び電圧の値を測定するステップと、
決定手段が、前記半導体集積回路の検知対象回路部においてテスト内容が許容テストタイミング内に実行される最大のテスト動作周波数として最大テスト動作周波数を決定するステップと、
算出手段が、前記温度及び電圧の値並びに前記最大テスト動作周波数を用いて、前記近似式に従って基準温度及び基準電圧における最大テスト動作周波数を算出するとともに、当該算出された最大テスト動作周波数に基づき劣化の状態を表す劣化量又はバラツキの度合を表す相違量も算出するステップを含む、検知方法。
【請求項１２】
前記半導体集積回路は、前記測定手段が前記温度及び電圧の値を測定するための値をモニタするｎ個（ｎは、２以上の整数）のモニタブロック回路を備え、
前記測定するステップは、前記測定手段が、
各モニタブロック回路における所定の時間内での発振回数として得られる測定周波数Ｆi（ｉは、ｎ以下の自然数）を測定する周波数測定ステップと、
式(eq2)の係数αi、β、α’i及びβ’を計算することにより、前記検知対象回路部の温度Ｔ及び電圧Ｖの値を推定する推定ステップとを含む、請求項１１記載の検知方法。
【数２】
2011115038.tif 000014
【請求項１３】
コンピュータに請求項１１又は１２に記載の検知方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置、検知方法及びプログラムに関し、特に、同一の半導体集積回路に生じる劣化又は同種の複数の半導体集積回路に生じるバラツキを検知することが可能な半導体装置等に関する。
【背景技術】
【０００２】
極限的な微細化に伴う半導体集積回路の信頼性・安全性を確保することは、きわめて重要な社会的課題であり、様々なテスト手法が提案されている（非特許文献１及び２参照）。【０００３】
例えば、出荷後にもテストが可能な手法として、自己テスト（Built-In  Self-Test：ＢＩＳＴ）の手法が提案されている（特許文献１、２及び非特許文献３〜５参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−６８８６５号公報
【特許文献２】特表２０１０−５２４１０１号公報
【非特許文献】
【０００５】
【非特許文献１】佐藤、外１名著，“フィールド高信頼化のためのアプローチ”，ＲＥＡＪ誌，Vol.31，No.7，p.514-519．
【非特許文献２】Y.Sato、外３名著，“A  Circuit  Failure  Prediction  Mechanism（DART）for  High  Field  Reliability”，The 8th IEEEInternational Conference on ASIC，p.581-584, 2009．
【非特許文献３】T.Vo、外９名著,“Design  for  Board  and  System  Level  Structure  Test  and  Diagnosis”，Proc．Intl．Test  Conf．，Paper  14.1  1-10，2006.
【非特許文献４】Y.Li、外２名著, “CASP：Concurrent  Autonomous  Chip  Self-Test  Using  Stored  Test  Patterns”，Proc．Design  Automation  and  Test  in  Europe，pp.885-890，2008.
【非特許文献５】O.Khan、外１名著，“A  Self-Adaptive  System  Architecture  to  Address  transistor  Aging”，Proc．Design  Automation  and  Test  in  Europe，pp.81-86，2009.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のテストは、テストの時点での半導体集積回路の動作性能のみを重視するものである。そのため、従来のテストは、基本的に、温度等が制御された同一の環境下でテストするものであった。このように、従来のテストは、基本的に、半導体集積回路の動作環境を、テストの内容に合わせることにより、テストの精度を確保しようとするものであった。【０００７】
しかしながら、半導体集積回路の生産・使用は、様々な環境下で行われるものであって、必ずしも温度等が制御できるとは限らない。特に、フィールドでのテストは、半導体集積回路が使用された状態であり、温度等のテスト環境の制御は困難である。特許文献２に記載の技術は、出荷後に半導体集積回路をテストする際、電圧等のテスト環境を制御するものである。しかし、テスト環境を制御するための特別な装置を必要とし、大がかりな装置とならざるを得ない。テストを必要とする全ての半導体集積回路についてこのような装置を適用できるとは限らない。【０００８】
このように温度等のテスト環境を制御できない場合、テスト環境が半導体集積回路のテスト結果に影響を及ぼしていた。例えば、発明者らのシミュレーションによれば、１℃の変動で１７ｐｓ／サイクルの遅延変動が生じる場合がある。１ＧＨｚの動作環境であれば、１サイクルは１ｎｓに対応するため、これらの環境変動に由来する遅延変動は無視できる微差ではない。このように、温度の変化だけでも、精確な判断を行うことが困難となる。そのため、従来のテストでは、そのままの状態では、生産時のテストでも、使用時のテストでも、環境が変化する場合に精度を維持しつつ対応することは困難であった。【０００９】
ゆえに、本発明は、テスト環境が変動する場合にも、より高精度に、半導体集積回路の動作性能を判断可能な半導体装置等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願発明の第１の観点は、テスト内容を実行する検知対象回路部を有する半導体集積回路に生じる劣化を検知することが可能な半導体装置であって、前記検知対象回路部の温度及び電圧を測定する測定手段と、各テスト動作周波数において前記検知対象回路部に対して前記テスト内容が許容テストタイミング内に実行されるか否かを判別し、実行される最大のテスト動作周波数を最大テスト動作周波数として決定する決定手段と、前記決定手段が決定した前記最大テスト動作周波数を、前記測定手段が測定した温度及び電圧の値を用いて、基準温度及び基準電圧における最大テスト動作周波数に換算するとともに、当該換算された最大テスト動作周波数に基づき劣化の状態を表す劣化量も算出する算出手段とを備え、前記半導体集積回路は、前記測定手段が前記温度及び電圧の値を測定するための値をモニタするモニタブロック回路を有し、前記測定手段は、テストが行われる毎に、前記検知対象回路部の温度及び電圧の下で動作した前記モニタブロック回路がモニタした値から前記検知対象回路部の温度及び電圧の値を推定する推定手段を有し、前記算出手段は、前記推定手段が推定した温度及び電圧の値を、前記測定手段が測定した温度及び電圧の値として用いて、前記決定手段が決定した前記最大テスト動作周波数を前記基準温度及び基準電圧における最大テスト動作周波数に換算する。【００１１】
本願発明の第２の観点は、第１の観点の半導体装置であって、前記半導体集積回路は、ｎ個（ｎは、２以上の整数）の前記モニタブロック回路を備え、前記測定手段は、各モニタブロック回路における所定の時間内での発振回数として得られる測定周波数Ｆi（ｉは、ｎ以下の自然数）を測定し、前記推定手段は、式(eq1)の係数αi、β、α’i及びβ’を計算することにより、前記検知対象回路部の温度Ｔ及び電圧Ｖの値を推定する。【００１２】
【数１】
2011115038.tif 000003
【００１３】
本願発明の第３の観点は、第２の観点の半導体装置であって、前記推定手段は、温度範囲若しくは電圧範囲を複数に区分して当該区分ごとに式(eq1)の前記係数αi、β、α’i及びβ’を計算して、又は、温度範囲を複数に区分して当該区分ごとに式(eq1)の前記係数αi及びβを計算すると共に電圧範囲を複数に区分して当該区分ごとに式(eq1)の前記係数α’i及びβ’を計算することにより、前記検知対象回路部の温度Ｔ及び電圧Ｖの値を推定する。【００１４】
本願発明の第４の観点は、第２又は３の観点の半導体装置であって、前記推定手段は、式(eq1)の前記測定周波数Ｆiに代えて、前記測定周波数Ｆiと初回の測定周波数Ｆi０との差分である差分周波数ΔＦiを用いて、前記検知対象回路部の温度Ｔ及び電圧Ｖの値を推定する。【００１５】
本願発明の第５の観点は、第１から４のいずれかの観点の半導体装置であって、前記測定手段が測定した測定値及び前記決定手段が決定した最大テスト動作周波数の組み合わせを記憶する記憶手段をさらに備え、前記算出手段は、前記記憶手段が記憶した測定値及び最大テスト動作周波数を用いる。【００１６】
本願発明の第６の観点は、第５の観点の半導体装置であって、前記最大テスト動作周波数は、前記記憶手段が記憶した異なるテスト時の複数の最大テスト動作周波数からランダムノイズを除去する演算が行われて決定される。【００１７】
本願発明の第７の観点は、第１から６のいずれかの観点の半導体装置であって、前記測定手段は所定のテスト動作周波数におけるテスト時の初期温度及び初期電圧を測定し、前記決定手段は、前記基準温度及び前記基準電圧と前回の最大テスト動作周波数とを用いながら前記初期温度及び前記初期電圧における最大テスト動作周波数候補を定め、周波数を増加後に減少させて又は増加のみ若しくは減少のみさせて、実行される最大のテスト動作周波数を最大テスト動作周波数に決定する。【００１８】
本願発明の第８の観点は、第１から７のいずれかの観点の半導体装置であって、テストされるパスの長さ毎に異なるテスト内容を用意することを特徴とする。【００１９】
本願発明の第９の観点は、第１から８のいずれかの観点の半導体装置であって、許容テストタイミング及び/又は前記劣化量の値に応じてテスト内容及び/又はテスト順序を変更可能とする。【００２０】
本願発明の第１０の観点は、テスト内容を実行する同種の複数の半導体集積回路に生じるバラツキを検知することが可能な半導体装置であって、前記検知対象回路部の温度及び電圧を測定する測定手段と、各テスト動作周波数において前記検知対象回路部に対して前記テスト内容が許容テストタイミング内に実行されるか否かを判別し、実行される最大のテスト動作周波数を最大テスト動作周波数として決定する決定手段と、前記決定手段が決定した前記最大テスト動作周波数を、前記測定手段が測定した温度及び電圧の値を用いて、基準温度及び基準電圧における最大テスト動作周波数に換算するとともに、当該換算された最大テスト動作周波数に基づきバラツキの度合を表す相違量も算出する算出手段とを備え、前記半導体集積回路は、前記測定手段が前記温度及び電圧の値を測定するための値をモニタするモニタブロック回路を有し、前記測定手段は、テストが行われる毎に、前記検知対象回路部の温度及び電圧の下で動作した前記モニタブロック回路がモニタした値から前記検知対象回路部の温度及び電圧の値を推定する推定手段を有し、前記算出手段は、前記推定手段が推定した温度及び電圧の値を、前記測定手段が測定した温度及び電圧の値として用いて、前記決定手段が決定した前記最大テスト動作周波数を前記基準温度及び基準電圧における最大テスト動作周波数に換算する。【００２１】
本願発明の第１１の観点は、同一の半導体集積回路に生じる劣化又は同種の複数の半導体集積回路に生じるバラツキを検知することが可能な検知方法であって、前記半導体集積回路の検知対象回路部における動作周波数と温度及び電圧との関係の特性が近似式により近似されており、測定手段が温度及び電圧の値を測定するステップと、決定手段が、前記半導体集積回路の検知対象回路部においてテスト内容が許容テストタイミング内に実行される最大のテスト動作周波数として最大テスト動作周波数を決定するステップと、算出手段が、前記温度及び電圧の値並びに前記最大テスト動作周波数を用いて、前記近似式に従って基準温度及び基準電圧における最大テスト動作周波数を算出するとともに、当該算出された最大テスト動作周波数に基づき劣化の状態を表す劣化量又はバラツキの度合を表す相違量も算出するステップを含む。【００２２】
本願発明の第１２の観点は、第１１の観点の検知方法であって、前記半導体集積回路は、前記測定手段が前記温度及び電圧の値を測定するための値をモニタするｎ個（ｎは、２以上の整数）のモニタブロック回路を備え、前記測定するステップは、前記測定手段が、各モニタブロック回路における所定の時間内での発振回数として得られる測定周波数Ｆi（ｉは、ｎ以下の自然数）を測定する周波数測定ステップと、式(eq2)の係数αi、β、α’i及びβ’を計算することにより、前記検知対象回路部の温度Ｔ及び電圧Ｖの値を推定する推定ステップとを含む。【００２３】
【数２】
2011115038.tif 000004
【００２４】
本願発明の第１３の観点は、コンピュータに第１１又は１２の観点の検知方法を実行させるためのプログラムである。【００２５】
なお、本願発明を、プログラムを記録するコンピュータ読み取り可能な記録媒体として捉えてもよい。【００２６】
また、許容テストタイミングは、テスト動作周波数の逆数である。そのため、許容テストタイミングとテスト動作周波数のどちらを用いても等価な処理を行うことが可能である。したがって、本願発明において、決定手段が、テスト内容が許容テストタイミング内に実行されるか否かを判別することには、テスト動作周波数に基づいて判別することも含まれる。
【発明の効果】
【００２７】
本願発明の各観点によれば、半導体装置において、最大テスト動作周波数並びに測定された温度及び電圧の測定値から、基準温度及び基準電圧における最大テスト動作周波数を算出することが可能となる。これにより、様々な環境下での半導体集積回路の動作性能を統一的に評価することが可能となる。すなわち、テスト環境を制御することなく、より高精度かつ定量的に、半導体集積回路の動作性能を判断することが可能となる。特に、半導体集積回路が備えるモニタブロック回路が温度及び電圧を測定するための値をモニタすることにより、別途センサーを用いることなく基準温度及び基準電圧への換算が可能となる。【００２８】
特に、従来のテストは、基本的に、所定の条件をクリアする半導体集積回路を正常と判断するものであり、所定の条件を満たさなくなって、初めてテストで異常が検出されていた。そのため、従来のテストでは、半導体集積回路の正常の度合を定量的に判断して、例えば、出荷後のフィールドにおいて、高い精度で半導体集積回路の故障を予知する等の処理を行うことが困難であった。結果として、半導体集積回路は、例えば、回路素子を複数並列に設けて比較して故障を判断したり、バックアップ回路のような故障に備えた回路を備えたりするなど、極限的な微細化に反して回路サイズが増大する一因となっていた。【００２９】
本願発明の各観点により、特に、フィールドにおける半導体集積回路に生じる劣化の状態を統一的にかつ定量的に検知することが可能となることから、劣化障害を事前に予知することが可能となる。劣化障害を事前に予知することにより、正常に動作する状態のうちに半導体集積回路を利用し又は半導体集積回路を交換等して故障への対策が可能となり、故障時のバックアップ回路を必要最小限とすることができるため、回路サイズを小さくすることができる。【００３０】
また、本願発明の第２の観点によれば、複数のモニタブロック回路から得られる複数の測定周波数を用いて式（eq1）に基づき温度及び電圧を推定する。これにより、１つのモニタブロック回路から得られる測定周波数を用いて推定する場合と比べて、推定の精度が向上する。しかも、一次式による推定が可能であることにより、極めて簡易な処理を行うプログラムや回路の設計が可能となる。したがって、異なる温度及び電圧環境に置かれた同一の半導体集積回路の性能を、同一の基準で比較することがさらに容易となる。【００３１】
さらに、本願発明の第３の観点によれば、温度範囲又は電圧範囲を複数の区分に分けて、各区分ごとに式（eq1）の係数を算出する。これにより、区分ごとにより高精度な式を用いて温度又は電圧を推定することが可能となる。【００３２】
さらに、本願発明の第４の観点によれば、各回の測定周波数と初回の測定周波数との差分を式（eq1）における測定周波数のパラメータとして用いる。これにより、製造バラツキによるモニタブロック回路から得られる測定周波数の変動分をキャンセルし、この変動分が式（eq1）の中にして推定精度を悪化させることを防ぎ、さらに高精度に温度及び電圧を推定することが可能となる。【００３３】
さらに、本願発明の第５の観点によれば、記憶手段がテスト環境と最大テスト動作周波数との組合せを記憶する。したがって、このような履歴を用いることにより、異なる環境下で行われた複数回のテスト結果を自動的に比較することが可能となる。【００３４】
さらに、本願発明の第６の観点によれば、例えば複数回のテスト結果の平均をとることにより、最大テスト動作周波数からランダムノイズを除去することが可能となる。したがって、半導体集積回路の動作性能をさらに高精度に検知することが容易となる。【００３５】
さらに、本願発明の第７の観点によれば、テスト当初に前回テストに基づいて今回テストの最大テスト動作周波数を予測する。また、予測した最大テスト動作周波数を増減又は減少してテスト動作周波数を決定してテストを行うことにより、今回のテストにおける最大テスト動作周波数を決定する。これにより、高い精度で、テスト動作周波数の初期値を決定することが可能となり、テストの回数を減らすことができ、テスト時間を減少することができるだけでなく、テストを実行することにより半導体集積回路が受ける影響を軽減することが可能となる。なお、「テスト時間」は、テスト全体に要する時間を指す。以下、同様である。【００３６】
さらに、本願発明の第８の観点によれば、テストされるパスの長さ毎に異なるテスト内容を実施することが可能となる。遅延テスト等では、基本的に、最大のパスの長さ以外の短いパスのテストは検出が困難である。一方、劣化には、TDDB（Time  Dependent  Dielectric  Breakdown）のような酸化膜に発生する劣化のように、一定の劣化量に達するとトランジスタ動作破壊をおこすものもある。これは長いパスに発生するとは限らない。パスの長さ毎にテストを行うことにより、短いパスの劣化量測定が可能となる。しかも、テストの効率を向上させることが可能となる。これは、特に、許容テストタイミングが空き時間に制約されている出荷後の半導体集積回路において、短時間のテストで効果的な判断を行う場合に有効である。【００３７】
さらに、本願発明の第９の観点によれば、劣化が進んでいると判定されたテスト内容を高い頻度で実行することが可能となる。これにより、特に、許容テストタイミングが空き時間に制約されている出荷後の半導体集積回路において、効率よく劣化を予知することがさらに容易となる。【００３８】
また、本願発明の第１０又は１１の観点によれば、同種の複数の半導体集積回路の性能を、テスト環境を統一することなく同一の基準で比較することが可能となる。
【図面の簡単な説明】
【００３９】
【図１】本願発明の実施例に係る半導体装置１の概要を示すブロック図である。
【図２】テスト対象回路２の設計フローの概要を示すフロー図である。
【図３】図２におけるフィールドテストの概要を示すフロー図である。
【図４】ログ情報の構成の一例を示す図である。
【図５】モニタブロック回路２１1及び２１2の回路図の一例を示す図である。
【図６】ＲＯ５９の温度に対する周波数特性の一例を示す図である。
【図７】ログの履歴を用いるテスト順変更方式の一例を示す概略図である。
【図８】図３のフローを一部変更した、フィールドテストの他の一例の概要を示すフロー図である。
【発明を実施するための形態】
【００４０】
以下、図面を参照して、本願発明の実施例について述べる。なお、本願発明は、以下の実施例に限定されるものではない。
【実施例】
【００４１】
図１は、本願発明の実施例に係る半導体装置１の概要を示すブロック図である。以下、図１の半導体装置１の概要を説明する。【００４２】
半導体装置１は、テスト対象回路２（本願請求項の「半導体集積回路」の一例）に生じる劣化を検知することが可能な半導体装置である。半導体装置１は、テスト対象回路２へのテストを制御する制御回路３を備える。後述するように、半導体装置１は、テスト対象回路２を備えるものであってもよいが、本実施例ではテスト対象回路２と制御回路３とが別の構成であるとした。【００４３】
一般に、半導体論理回路は主に順序回路である。順序回路は、アンド（ＡＮＤ）ゲート、ナンド（ＮＡＮＤ）ゲート、オア（ＯＲ）ゲート、ノア（ＮＯＲ）ゲート等の論理素子からなる組合せ回路部１７と、回路の内部状態を記憶するフリップフロップ（ＦＦ）とよりなる。テスト対象回路２は、テストの単位となる回路であるテスト単位回路１５を備える。テスト単位回路１５は、組合せ回路部１７と、複数のフリップフロップ１９1及び１９2と、周波数を測定する複数のモニタブロック回路２１1及び２１2（本願請求項の「モニタブロック回路」の一例）とを備える。テスト単位回路１５は、例えばブロックやモジュールと呼ばれる論理設計で扱う論理の単位（ブロックやモジュール）でもよいし、まとまった機能を持つ論理的な単位（コア）でもよい。コアの例としては、算術演算部、データパス部、ＩＯ制御部、等が考えられる。【００４４】
制御回路３は、半導体装置１全体を制御する全体制御部５と、テストを制御するテスト制御部７と、テストが行われる毎に、テスト動作周波数を変化させながら温度及び電圧の測定を制御する温度電圧測定部９（本願請求項の「測定手段」の一例）と、各種情報を記憶する記憶部１１（本願請求項の「記憶手段」の一例）と、クロックを生成するクロック生成回路１３とを備える。制御回路３は、全体制御部５、テスト制御部７、温度電圧測定部９などの制御ブロック構造として実現され、下記に説明するように、各制御ブロックは、階層的なものとして実現する。【００４５】
全体制御部５は、全体を制御する主制御部２３と、ログを読み出すログ読出部２５と、ログに書き出すログ書出部２７と、ログを圧縮するログ圧縮部２９と、所定の温度及び電圧条件におけるテスト動作周波数を異なる温度及び電圧条件におけるテスト動作周波数に換算するテスト動作周波数換算部３１と、劣化量を計算する劣化量計算部３３と、劣化の判定を行う劣化判定部３５とを備える。（テスト動作周波数換算部３１と劣化量計算部３３を併せたものが、本願請求項の「算出手段」の一例である。）テスト動作周波数換算部３１は、例えば後述する近似式（１）に従って、温度及び電圧の測定値並びにテスト制御部７が決定した最大テスト動作周波数も用いながら基準温度及び基準電圧における最大テスト動作周波数を算出する。劣化量計算部３３は、基準温度及び基準電圧における最大テスト動作周波数としてテスト動作周波数換算部３１が算出した値に基づき劣化の状態を表す劣化量を算出する。【００４６】
テスト制御部７は、テスト単位回路１５に対するテスト内容を決定するテスト内容決定部３７と、テストを行うテスト部３９と、各テスト動作周波数においてテスト単位回路１５に対してテスト内容が許容テストタイミング内に実行されるか否かを判別するテスト判別部４１と、テスト内容が許容テストタイミング内に実行される最大のテスト動作周波数を最大テスト動作周波数に決定する最大テスト動作周波数決定部４３とを備える。（テスト判別部４１と最大テスト動作周波数決定部４３を併せたものが、本願請求項の「決定手段」の一例である。）【００４７】
温度電圧測定部９は、テスト単位回路１５の周波数の測定を制御するモニタ測定制御部４５と、測定された周波数から温度及び電圧を計算により推定する温度電圧計算部４７（本願請求項の「推定手段」の一例）とを備える。なお、特に断らない限り、温度及び電圧の「測定」とは、測定されたテスト動作周波数を元に、温度電圧計算部４７が温度及び電圧を算出することを指すものとする。同様に、温度及び電圧の「測定値」とは、そのように算出された値を指すものとする。【００４８】
記憶部１１は、ログを記憶するログ記憶部４９と、論理パス特性を記憶する論理パス特性記憶部５１と、テスト情報を記憶するテスト情報記憶部５３と、テスト動作周波数の補正値を記憶するテスト動作周波数補正値記憶部５５とを備える。【００４９】
続いて、半導体装置１における情報の伝達について説明する。全体制御部５は、テスト制御部７に対して、例えば、テスト開始指示、前回テスト内容、テスト動作周波数Ｆcの初期値又は今回最大テスト動作周波数補正値を伝達する。一方、テスト制御部７は、全体制御部５に対して、例えば、テスト単位名、設計段階で定められたマシンサイクルでのテスト結果、今回最大テスト動作周波数ＦMAX、今回テスト内容、温度又は電圧の測定値を伝達する。【００５０】
さらに、全体制御部５は、記憶部１１との間でログ情報をお互いに伝達する。【００５１】
また、テスト制御部７は、温度電圧測定部９に対して、例えば温度又は電圧測定の開始又は終了の指示を伝達する。一方、温度電圧測定部９は、テスト制御部７に対して、温度又は電圧の測定値を伝達する。【００５２】
さらに、テスト制御部７は、記憶部１１に対して、例えばテスト順又は最終ＦMAX補正値を伝達する。一方、記憶部１１は、テスト制御部７に対して、例えばテスト情報を伝達する。【００５３】
さらに、テスト制御部７は、クロック生成回路１３を制御してＦcを発生させ、クロック生成回路１３は、テストクロックでＦＦ１９1及び１９2への書き込みを行い、その後、テスト動作周波数Ｆｃ（またはＦｃの逆数であるテストタイミング（本願請求項の「許容テストタイミング」の一例））で発生されるクロックで、組合せ回路部１７を伝達したテストパターンをＦＦ１９1又は１９2に取り込む。取り込まれたテスト応答は、ＦＦ１９1又は１９2からテストクロックで読み出され、テスト制御部７へ伝達される。さらに、テスト制御部７は、テスト対象回路２に対して、テストパターンを伝達する。一方、テスト対象回路２は、テスト制御部７に対してテスト応答を伝達する。【００５４】
また、温度電圧測定部９は、モニタブロック回路２１1及び２１2に対して、周波数測定の開始又は終了の指示を伝達する。一方、モニタブロック回路２１1及び２１2は、温度電圧測定部９に対して、測定された周波数を伝達する。【００５５】
以下、図２及び図３を参照して、半導体装置１を用いたテスト対象回路２のテストフローについて説明する。【００５６】
図２は、半導体装置１を用いたテスト対象回路２の設計フローの概要を示すフロー図である。図２の設計フローは、チップの出荷までの処理（ステップＳＴ００１〜ＳＴ００９）と、システムの出荷までの処理（ステップＳＴ０１０及びＳＴ０１１）と、システム出荷後の処理（ステップＳＴ０１２）に分かれる。各処理では、製造テスト（ステップＳＴ００８）、ボード／システムテスト（ステップＳＴ０１０）及びフィールドテスト（ステップＳＴ０１２）が行われる。【００５７】
図２を参照して、まず、チップの出荷までの処理について説明する。テスト対象回路２の論理設計を行い（ステップＳＴ００１）、テスト容易化設計（Design  For  Testability：ＤＦＴ）を行い、制御回路３並びにモニタブロック回路２１1及び２１2を付加する（ステップＳＴ００２）。続いて、レイアウト設計を行い（ステップＳＴ００３）、自動テスト生成処理（Automatic  Test  Pattern  Generation:ＡＴＰＧ）を行い、ＢＩＳＴの種パターン（テストシード）を生成する（ステップＳＴ００４）。続いて、論理パス特性を取得する（ステップＳＴ００５）。具体的には、テスト単位毎にテストされる最長論理パスの温度Ｔ、電圧Ｖ特性のシミュレーション計算を行う。ここで、テスト動作周波数と温度及び電圧との関係の特性を近似する近似式の係数を求める。例えば、発明者は、ＬＳＩの使用温度範囲において周波数の温度及び電圧に対する線形性が良いことを見出した。そこで、温度Ｔと電圧Ｖを変数とする式（１）で表される近似式の係数ａ、ｂ、ｃ、ｄ、ｅを求める。又は式（１）から導き出される後述の式を用いる。続いて、マスクを生成し（ステップＳＴ００６）、チップを製造する（ステップＳＴ００７）。続いて、製造テストを行う（ステップＳＴ００８）。続いて、チップを出荷する（ステップＳＴ００９）。【００５８】
【数３】
2011115038.tif 000005
【００５９】
出荷されたチップは、他のチップと組み合わされて、ボードやシステムとしてテストが行われる（ステップＳＴ０１０）。ここで、テスト部３９が初回のテストを実施して最初（劣化前）のＦMAX値を求め、ログ書出部２７が記憶部１１にＦMAX値を書き込む。続いて、システムを出荷する（ステップＳＴ０１１）。【００６０】
システムの出荷後には、フィールドでのテストが、空き時間（例えば、システムが動作する時間以外の時間など）を利用して行われる（ステップＳＴ０１２）。このフィールドテストは、一般的に、テスト単位回路１５ごとに行われる。テスト単位回路１５によって周波数が異なることや、診断分解能を維持するためである。【００６１】
続いて、図３を用いて、図２におけるステップＳＴ０１２のフィールドテストの具体例について説明する。なお、システムの空き時間を利用する代表的な例として、システム起動／終了時に行うパワーオン／オフテストについて説明する。【００６２】
図３を参照して、パワーオン／オフテスト開始すると、ログ読出部２５が前回テスト内容をログ記憶部４９より読み出す。全体制御部５は、テスト制御部７に前回テスト内容を伝達し、テスト内容決定部３７が前回パワーオン／オフテスト時に決められたテスト内容を今回のテスト内容として決定する（ステップＳＴ１０１）。続いて、テスト部３９が、動作が保証されている、設計段階で定められたマシンサイクルＦorg＋δでテストを行う。また、温度電圧測定部９がモニタブロック回路２１1及び２１2にテスト時の初期温度（Ｔ0）及び初期電圧（Ｖ0）を測定させる。ここで、δは最低動作マージンである（ステップＳＴ１０２）。【００６３】
続いて、Ｆorg＋δでのテストをパスするか否かの判別をテスト判別部４１が行う（ステップＳＴ１０３）。もし、この段階のテストで動かなければ、テスト部３９はエラー処理を行い（ステップＳＴ１０４）、フローを終了する。テストをパスすれば、続いて、ログ読出部２５が基準温度（ＴTYP）及び基準電圧（ＶTYP）における前回ＦMAXをログから読み出す。また、テスト動作周波数換算部３１が今回の条件であるＴ0及びＶ0における前回ＦMAXに対する補正値を計算し、テスト動作周波数（Ｆc）を得る（ステップＳＴ１０５）。このＦcが今回テストにおける最初の最大テスト動作周波数候補である。ここで、前回ＦMAXから出発することで、テスト回数を減らすことを目的としている。また、今回テストの温度条件及び電圧条件は、前回テストとは異なる可能性があるため、補正値を計算している。今回テストの温度条件及び電圧条件が前回テストと同じであれば、ステップＳＴ１０５において補正値を計算する必要はない。【００６４】
続いて、得られたテスト動作周波数Ｆcでテスト部３９がテストを行い、温度電圧測定部９がモニタブロック回路２１1及び２１2にテスト時の温度（Ｔc）及び電圧（Ｖc）を測定させる（ステップＳＴ１０６）。続いて、テスト判別部４１が、Ｆcでのテストをパスするか否かの判別を行う（ステップＳＴ１０７）。ここでのテストにパスすれば、続いて、テスト部３９がテスト動作周波数Ｆｃを増加してＦc＋ΔＦ1を新たなＦcとし（ステップＳＴ１０８）、ステップＳＴ１０６に戻って再度Ｆcでテストを行う。これをテストにパスしなくなるまで繰り返す。前回テスト時よりも性能が向上することは考えにくいため、前回テスト時よりも高いテスト動作周波数でパスするのは、測定誤差が主な原因である。ここでの繰り返しが行われるとしても、繰り返しが１回程度で済むように誤差ΔＦ1を設計しておく。ステップＳＴ１０７においてテストにパスしなければ、ステップＳＴ１０９に進む。【００６５】
続いて、ステップＳＴ１０９において、最大テスト動作周波数の劣化による低下を求める。テスト部３９がＦc−ΔＦ2を新たなＦcとしてテストを行う。また、温度電圧測定部９がモニタブロック回路２１1及び２１2にテスト時の温度（Ｔc）及び電圧（Ｖc）を測定させる。続いて、テスト判別部４１が、Ｆcでのテストをパスするか否かの判別を行う（ステップＳＴ１１０）。ここでのテストにパスしなければ、ステップＳＴ１０９に戻って再度Ｆc−ΔＦ2を新たなＦcとし、テストにパスするまで繰り返す。テストにパスすれば、ステップＳＴ１１１に進む。【００６６】
続いて、ステップＳＴ１１１において、最大テスト動作周波数決定部４３がＦcを今回ＦMAXに決定し、テスト制御部７が今回ＦMAXや今回テスト内容とを全体制御部５に伝達する。また、ログ書出部２７が今回のテストのＴc及びＶcにおけるＦMAXをログに書き出す。また、テスト動作周波数換算部３１がＦMAXを基準温度（ＴTYP）及び基準電圧（ＶTYP）におけるテスト動作周波数ＦMAX＠ＴTYP、ＶTYPに換算し、ログ書出部２７がログに書き出す。続いて、劣化量計算部３３がログの過去の履歴に照らして今回の劣化量の計算を行い、算出された劣化量から許容される劣化量の閾値を差し引く計算を行う（ステップＳＴ１１２）。続いて、テスト判別部４１が、得られた値が正であるか否かを判別する（ステップＳＴ１１３）。得られた値が正の値でなければ、ログ圧縮部２９がログを圧縮し（ステップＳＴ１１４）、フローを終了する。一方、得られた値が正の値であれば、テスト部３９がエラー処理をし（ステップＳＴ１１５）、フローを終了する。【００６７】
１回のエラーで劣化判定部３５が劣化と判定するか、数回のフィールドテストで連続してエラーが続いた場合に劣化と判定するかは、システムに応じて決定すればよい。数回のフィールドテストを行う場合は、テスト部３９が次回テストに備えた処理を行う。具体的には、次回テスト内容の決定、テストパターンの記憶部１１からの読み出しなどを行う。【００６８】
以下では、図４を参照して、ログ情報の構成について述べる。図４は、ログ記憶部４９が記憶するログ情報の構成の一例を示す図である。【００６９】
ログは、測定値などの履歴として、効率的に最大周波数を測定するために用いられる。また、劣化判定を行う複数のテスト各回における最大テスト動作周波数から測定のランダムノイズを統計的に分析して除去する演算を行うためにも過去履歴として用いられる。ここでいうランダムノイズとは、例えば測定時に伴う丸め誤差などを指す。さらに、ログは、フィールドでの劣化履歴を設計や製造へフィードバックして利用するためにも用いられる。【００７０】
ログの情報としては、例えば、測定生データ、毎回の処理のオーバヘッド低減のための加工情報が含まれる。具体的には、例えば図４に示すように、テスト時刻、テスト単位（コア名等）、テスト内容、最高テスト動作周波数（ＦMAX）、テスト時の温度（Ｔc）、テスト時の電圧（Ｖc）、基準温度及び基準電圧に換算された最大テスト動作周波数（ＦMAX＠ＴTYP、ＶTYP）などが含まれる。今回テスト動作周波数（Ｆc＠Ｔc、Ｖc）が含まれてもよい。【００７１】
ここで、ログ情報にテスト内容を含めることで、毎回異なるテスト内容としても対応可能となる。テスト時刻は、主に解析目的のために含まれており、本願発明の実施例に係る劣化検知フローに必須の情報ではない。また、最大テスト周波数を基準温度及び基準電圧に換算するのは、各回テストの比較処理のためである。基準温度としては、例えば２７℃などとすればよい。なお、テスト時間に余裕がある場合は、ログにＦMAX＠ＴTYP、ＶTYPを入れる代わりに、毎回のテストにおいて前回ＦMAXからＦMAX＠ＴTYP、ＶTYPを算出してもよい。【００７２】
過去のログが多くなってきた場合、情報の圧縮を行うためにログ圧縮部２９がログを圧縮する。ここで、出荷時情報を除いて古い情報は、劣化判定には不要となるので削除することが可能である。そのため、例えば、ＦMAX＠ＴTYP、ＶTYPが前回テストと同じであれば蓄積せず、変化が生じた場合にのみログを蓄積するようにしてもよい。変化がない場合には、変化がないことのみ書き込むことでデータ量を減らすことが可能である。【００７３】
クロック生成回路１３は、参照外部クロックのクロックを保ったまま、テストクロックの特定のクロックを指定幅だけずらし、テストタイミングを圧縮することが可能である。【００７４】
続いて、図５を参照して、モニタブロック回路２１1及び２１2の周波数測定について述べる。図５は、モニタブロック回路２１1及び２１2の回路図の一例を示す図である。【００７５】
図５を参照して、モニタブロック回路２１1は、値を保持するＦＦ５７と、温度及び電圧に応じて発振するリング・オシレータ（ＲＯ）５９と、ＲＯ５９の発振回数を計測するカウンタ６１とを備える。モニタブロック回路２１1は、測定開始・終了指示を受けて、指定された時間（Ｆｏｒｇのクロックの整数倍）内での発振回数を計測し、カウンタ６１が測定した測定周波数をアウトプットする。【００７６】
測定周波数のバラツキを低減するために、テスト単位回路１５に、モニタブロック回路２１1だけでなく、同様の構成のモニタブロック回路２１2を搭載し、各モニタブロック回路２１1及び２１2が備えるＲＯ５９の段数を大きくするとよい。なお、ＲＯ５９の回路は、ＮＡＮＤ回路やＮＯＴ回路に限られない。さらに、図５に示すように、未使用時に電源をカットする電源カット回路６３をモニタブロック回路２１1及び２１2ごとに付加することで、モニタブロック回路２１1及び２１2が未使用の時にＲＯ５９の劣化を防ぐことが可能である。【００７７】
それでもなお、モニタブロック回路から得られる測定周波数は、製造バラツキによる変動分δＦｉを含んでいる。そこで、温度電圧測定部９は、測定周波数Ｆiに代えて、測定周波数と初回の測定周波数との差分である差分周波数ΔＦi＝（Ｆｉ＋δＦｉ）―（Ｆｉ０＋δＦｉ０）＝（Ｆｉ―Ｆｉ０）＋（δＦｉ―δＦｉ０）を用いて、前記検知対象回路部の温度Ｔ及び電圧Ｖの値を推定する。これにより、製造バラツキによる変動分δＦｉの影響を低減し、さらに高精度に温度及び電圧を推定することが可能となる。【００７８】
以下では、図６を用いてテスト時におけるＲＯ５９を用いた温度及び電圧の測定について述べる。図６は、ＲＯ５９の温度に対する周波数特性の一例を示す図である。【００７９】
図６を参照して、３種類のリング・オシレータＲＯ1、ＲＯ2及びＲＯ3は、それぞれ、周波数の温度や電圧の変化に対する変化率が異なる。このような複数のＲＯを用いて測定を行うことで、温度及び電圧の推定を行うことが可能である。そこで、近似式（１）と同様に、複数のＲＯ５９の周波数測定値より例えば次の式（２）を用いて温度Ｔ及び電圧Ｖを推定する。ここで、ａ１、ｂ１、ｃ１、ｄ１、ｅ１等は、各ＲＯに定まる既知のパラメータであり、図２のステップＳＴ００５において、例えば重回帰分析のような手法を用いてシミュレーションで求められている。Ｆ1、Ｆ2、Ｆ3は、各ＲＯにおいて測定された周波数である。したがって、テスト時における温度Ｔc及び電圧Ｖcを式（２）から求めることが可能である。なお、式（１）及び式（２）は、近似の精度を高めるために、例えば、区分的関数とする（すなわち、温度及び電圧の範囲を区分して係数を決定する）ことにより、近似の精度を高めるようにしてもよい。【００８０】
【数４】
2011115038.tif 000006
【００８１】
ここで、式（２）のＦ１及びＦ２の式より、式（２−１）を得る。同じく、式（２）のＦ２及びＦ３の式より、式（２−２）を得る。すなわち、式（２−３）のように表現可能である。さらに、異なる特性のＲＯを用いているため、式（２−４）が実現できる。結局、温度Ｔ及び電圧Ｖは、式（２−５）で表される。すなわち、温度Ｔ及び電圧Ｖを測定周波数Ｆｉの１次式で近似している。式（２−５）を一般式で表したものが式（eq1）である。【００８２】
【数５】
2011115038.tif 000007
【００８３】
本願発明の発明者は、複数のＲＯ５９を用いることにより、温度及び電圧の近似の精度が高まることをシミュレーションにより確認した。表１は、複数のＲＯ５９を用いて係数を決定したシミュレーション結果である。表１（ａ）は、ＲＯを１個用いた場合のシミュレーション結果である。表１（ｂ）は、ＲＯを２個用いた場合のシミュレーション結果である。表１（ｃ）は、ＲＯを３個用いた場合のシミュレーション結果である。表内の数字は、推定される温度又は電圧の値のずれの最大値（Ｍａx）、最小値（Ｍｉｎ）、及び標準偏差（ＳｔｄＤｅｖ）を示している。ＲＯを１個しか用いない場合と比べてＲＯを２個用いた場合、ずれが格段に小さいことが分かる。例えば、ＲＯ１個の場合の温度のずれの標準偏差が２４．４３であるのに対し、ＲＯ２個の場合の温度のずれの標準偏差は、最小で９．８９となっている。また、ＲＯを３個用いた場合は、さらにずれが小さくなることも示されている。【００８４】
【表１】
2011115038.tif 000008
【００８５】
さらに、本願発明の発明者は、区分的関数を用いることにより温度及び電圧の近似の精度が高まることをシミュレーションにより確認した。シミュレーション結果を表２に示す。表２は、温度及び電圧のそれぞれについて温度範囲を区分して推定式の係数を決定したシミュレーション結果である。温度範囲を複数の範囲に分割して温度及び電圧をそれぞれ推定した場合の方が、区分しない場合と比べて推定誤差が格段に小さくなることが分かる。例えば、温度の推定値の平均値のずれは、８．３℃から１．８℃と１／４以下となった。また、電圧の推定値の平均値のずれは、１５．０ｍＶから３分割した場合には５．２ｍＶへと約１／３となった。このように、温度の推定式について温度範囲又は電圧範囲を区分することにより、推定誤差を縮小することが可能となる。電圧の推定式についても、温度範囲又は電圧範囲を区分することにより、推定誤差を縮小することが可能となる。なお、表１にも、温度をマイナス６０℃から１３０℃の範囲で３つに分割した場合のシミュレーション結果を示す。【００８６】
【表２】
2011115038.tif 000009
【００８７】
続いて、テスト時の温度及び電圧における最大テスト周波数ＦMAX＠Ｔc，Ｖcを、比較のために基準温度及び基準電圧における最大テスト周波数ＦMAX＠ＴTYP，ＶTYPに換算する。まず、ＦMAX＠Ｔc，Ｖcは、次の式（３）で表される。続いて、ＦMAX＠ＴTYP，ＶTYPは、式（４）〜（６）で次のように表される。ここで、式（１）を用いて式（４）から式（５）の式変形を行い、式（３）を用いて式（５）から式（６）の式変形を行った。式（６）の第１項は計測値ＦMAX＠ＴC，ＶCであり、第２項、第３項及び第４項を計算することにより、ＦMAX＠ＴTYP，ＶTYPを求めることができる。通常、（６）式の第２項は無視できるほど小さい。結局、（６−２）式に示すように、テスト時の温度及び電圧における最大テスト周波数は、温度と電圧の増分の一次式で表される。したがって、極めて簡易な処理を行うプログラムや回路の設計により、精度の高い換算が可能となる。【００８８】
【数６】
2011115038.tif 000010
【００８９】
続いて、図３のステップＳＴ１１２における劣化量計算について述べる。劣化量は、同一のテスト単位回路１５かつ同一のテスト内容に基づいて算出する。毎回の測定された劣化量は、ランダムな測定誤差（測定分解能εの１／２）を含むので補正を要する。ここでは、補正方法の例として、２つの方法について述べる。【００９０】
１つ目の補正方法として、過去のＮ回について平均をとることで、平均誤差をε／√Ｎに低減することが可能である。劣化速度が大きい場合、現時点の重みが少ないため、劣化評価が過少となる可能性がある。しかし、テスト対象回路２の経年劣化は極めて緩やかであり、このような補正方法が十分に有効である。例えば、Ｎ＝５以上とすることで劣化量の増減が小さく抑えられ、確度の高い劣化判断が可能である。【００９１】
２つ目の補正方法として、過去のテストに遡り、その前後Ｎ回について平均をとることによっても、平均誤差をε／√Ｎに低減することが可能である。現在の劣化量を１つ目の補正方法で補正し、かつ、２つ目の補正方法を用いることで、さらに確度の高い劣化判断が可能となる。【００９２】
以下では、図３のフローにおける劣化判定方法について３つの方法を述べる。【００９３】
１つ目の劣化判定方法として、次の式（７）に示すように、遅延劣化により設計動作マージンが限界値まで低下したことをもって劣化と判定する。【００９４】
【数７】
2011115038.tif 000011
【００９５】
２つ目の劣化判定方法として、遅延劣化量がある閾値以上となったことをもって劣化と判定してもよい。【００９６】
３つ目の劣化判定方法として、不特定原因によるシステム速度／（システム速度―α）での誤動作を式（７）で判定してもよい。【００９７】
以下では、遅延劣化量を網羅的に観測するためのテストパターンの用意について述べる。【００９８】
一般に、論理素子を多数含む長いパスを対象としたテストは、時間がかかるが、一度のテストで多数の論理素子についてテストが可能となる。また、期待とは異なる信号が出力される遷移故障については、長いパスで用いられなかった論理素子に対して、長いパスのテストと同時に短いパスのテストを行って検出することも可能である。【００９９】
しかし、遅延劣化については、１回のテスト内容では、律速となる最長のパスの遅延しか観測されず、同時にテストの対象とした短いパスの遅延を観測するのが困難である。ここで、パスの遅延について以下のことが成り立つ。【０１００】
１回のテストでテストされるパスの遅延を、Ｔpd1，…，Ｔpdnとする。劣化前は、ｍａｘ（Ｔpd1，…，Ｔpdn）が観測可能である。劣化後は、劣化量をΔiとすると、ｍａｘ（Ｔpd1＋Δ1，…，Ｔpdn＋Δn）が観測可能である。パスの遅延値Δiは、パスごとに異なるため、次の式（８）から式（１１）が成り立つ。【０１０１】
【数８】
2011115038.tif 000012
【０１０２】
式（１１）の第１項は測定値の差で観測可能である。したがって、第２項であるテスト内容内のパス遅延値差を少なくすれば、高精度にｍａｘΔ値が推定可能である。【０１０３】
そこで、複数のテスト内容を、テストされるパスの長さ毎に複数レベルに揃える。例えば、１回目のテストを、遅延が大きいパス（パス遅延ＴpdiがＴsys−δ1≦Ｔpdi≦Ｔsysとなるような長さのパス）のグループに対して行う。ここで、Ｔsysはシステム速度である。続いて、２回目のテストを、遅延が次に大きいパス（パス遅延がＴsys−δ2≦Ｔpdi≦Ｔsys―δ1となるような長さのパス）のグループに対して行う。同様に、３回目のテストを、遅延がさらに次に大きいパス（パス遅延がＴsys−δ3≦Ｔpdi≦Ｔsys―δ2となるような長さのパス）のグループに対して行う。【０１０４】
このように、およそパスの長さが揃ったグループ毎にテストを行うことで、短いパスの遅延劣化も含めて遅延劣化量を網羅的に観測することが可能となる。ゲート酸化膜の劣化として代表的なＴＤＤＢ（Time  Dependent  Dielectric  Breakdown）として、遅延量がある程度増加した後に、ゲート酸化膜が破壊されてしまうことが知られている。このような場合、長いパス上の回路でなくとも、論理動作が壊れてしまう。したがって、短いパスの遅延増加も含めて事前に観測することが重要となる。【０１０５】
また、フィールドテストでは、テスト時間が限られている。このような限られたテスト時間に応じて、テスト内容を決定しなければならない。ここで、前述のＴＤＤＢ以外の不具合であるシステム的なエラー等は、長いパスにおいて生じやすい。そこで、例えばパスの長さを利用して、確保したテスト時間が小さい場合には、パスの長さが長いものを対象としてテストを行うことにより、重要な素子に限定してテストを行うとすればよい。一方、確保したテスト時間が大きい場合には、パスの長さが短いものも対象としてテストを行うことにより、素子を網羅的にテストを行うことができる。このように、適切な長さのパスごとのグループを対象としてテストを実行することにより、限られたテスト時間を効率的に用いることがさらに容易となる。このような効率化は、プロセスの出来具合でＴＤＤＢが起こりにくいと判断可能である場合に、特に有効である。【０１０６】
さらに、ログを用いることで、履歴を元に劣化が進行している個所のテスト実行頻度を上げることも可能である。フィールドテストのテスト時間は、ユーザが使用していない空き時間に限られている。したがって、許容テストタイミング及び／又は劣化量の値に応じてテスト内容及び／又はテスト順序が変更することは、前述の短時間のテストが可能となることと相まって、効率的に劣化による障害発生を未然に防止する上で非常に有効となる。【０１０７】
以下では、ログの履歴を元に劣化進行個所のテスト頻度を上げる方式について、図７を参照して述べる。図７は、ログの履歴を用いるテスト順変更方式の一例を示す概略図である。【０１０８】
図７を参照して、まず全体のテスト集合を複数のテストセットＴＳ１、ＴＳ２、…に分割する。フィールドテスト開始時には、テストリストの実行の順番が予め用意した初期テスト順リストとして決定されており、初期テスト順リストに従ってリスト順に巡回しながらテストを実行する。テスト実行頻度は、劣化の進み具合に応じてタイマーで管理されている。例えば、８種類のテストセットがあり、一回のテスト当たり３つのテストセットが実行される場合、初期テスト順リストに従って、１回目のテストでは、ＴＳ1、ＴＳ2及びＴＳ3が実行され、２回目のテストではＴＳ4、ＴＳ5及びＴＳ6が実行され、３回目のテストでは、ＴＳ7、ＴＳ8及びＴＳ1が実行され、４回目のテストでは、ＴＳ2、ＴＳ3及びＴＳ4が実行される。このように、リスト順に巡回して実行される。【０１０９】
ここで例えば、ＴＳ1及びＴＳ4において、劣化傾向が発見され、特にＴＳ1の劣化が進行していたとする。そうすると、ログの履歴を元に危険リストにＴＳ1及びＴＳ4が記録され更新される。危険リストは複数存在し、各危険リストは、テスト実行頻度をタイマーで管理されている。タイマーは、危険度が高いテストセットが記録される危険リストほど短い時間間隔でのテスト実行頻度となるように調整されている。フィールドテスト実行時には、危険リストに記録されたＴＳ1及びＴＳ4は、タイマーで管理された許容テストタイミング毎に、初期テスト順リストに割り込みをかけて優先的に実行される。特に、ＴＳ１は、劣化が進行しているため、ＴＳ４に比べてテスト実行頻度がさらに高められる。その結果、例えば、変更後には、１回目のテストでは、ＴＳ1、ＴＳ4及びＴＳ2が実行され、２回目のテストではＴＳ1、ＴＳ3及びＴＳ5が実行され、３回目のテストでは、ＴＳ1、ＴＳ4及びＴＳ6が実行され、４回目のテストでは、ＴＳ1、ＴＳ7及びＴＳ8が実行される。このように、リスト順に巡回して実行される。このように、劣化の進行度合いに応じてテスト順を変更することにより、限られたフィールドテスト時間内に効率的にテストを実行して劣化による障害発生を未然に防ぐことが可能である。【０１１０】
なお、図３のステップＳＴ１０３又はステップＳＴ１１３のテストの閾値としては、複数の値を用いてもよい。例えば、警告レベルの判定とエラーレベルの判定のために２つの判定値を設けるとしてもよい。複数の基準を設けることで、履歴情報が少ない場合も、ある程度実用的な運用が可能となる。【０１１１】
また、図３のステップＳＴ１１３において、閾値判定以外の判定方法を用いてエラーを出力するとしてもよい。【０１１２】
さらに、図３のフロー図における処理の一部を、図８に示す処理のようにしてもよい。図８は、図３のフローを一部変更した、フィールドテストの他の一例の概要を示すフロー図である。【０１１３】
図８を参照して、図３のフロー図におけるステップＳＴ１０７からステップＳＴ１１２の処理を、図８に示すステップＳＴ２０７からステップＳＴ２１５の処理のようにしてもよい。まず、ステップＳＴ１０７に対応するステップＳＴ２０７において、テスト判別部４１が、Ｆcでのテストをパスするか否かの判別を行う。【０１１４】
ステップＳＴ２０７でのテストにパスすれば、続いて、テスト部３９がテスト動作周波数Ｆｃを増加してＦc＋ΔＦ1を新たなＦcとし、テストを行う。また、温度電圧測定部９がモニタブロック回路２１1及び２１2にこのテスト時の温度（Ｔc）及び電圧（Ｖc）を測定させる（ステップＳＴ２０８）。続いて、テスト判別部４１が、Ｆcでのテストをパスするか否かの判別を行う（ステップＳＴ２０９）。ここでのテストにパスしなければ、最大テスト動作周波数決定部４３がＦc−ΔＦ1を今回ＦMAXに決定する。これに合わせて、今回ＦMAXのＴc及びＶcもＦc−ΔＦ1におけるＴc及びＶcとし（ステップＳＴ２１０）、ステップＳＴ２１４へと進む。ステップＳＴ２０９でのテストにパスすれば、ステップＳＴ２０８に戻って、ステップＳＴ２０９でのテストにパスしなくなるまでこれを繰り返す。【０１１５】
ステップＳＴ２０７でのテストにパスしなければ、続いて、テスト部３９がテスト動作周波数Ｆｃを減少させてＦc−ΔＦ２を新たなＦcとし、テストを行う。また、温度電圧測定部９がモニタブロック回路２１1及び２１2にこのテスト時のＴc及びＶcを測定させる（ステップＳＴ２１１）。続いて、テスト判別部４１が、Ｆcでのテストをパスするか否かの判別を行う（ステップＳＴ２１２）。ここでのテストにパスすれば、最大テスト動作周波数決定部４３がＦcを今回ＦMAXに決定し（ステップＳＴ２１３）、ステップＳＴ２１４へと進む。ステップＳＴ２１２でのテストにパスしなければ、ステップＳＴ２１１に戻って、ステップＳＴ２１２でのテストにパスするまでこれを繰り返す。【０１１６】
続いて、今回ＦMAXや今回テスト内容とがテスト制御部７から全体制御部５に伝達される。ログ書出部２７が伝達された今回のテストのＴc及びＶcにおけるＦMAXをログに書き出す。また、テスト動作周波数換算部３１がＦMAXを基準温度（ＴTYP）及び基準電圧（ＶTYP）におけるテスト動作周波数ＦMAX＠ＴTYP、ＶTYPに換算し、ログ書出部２７がログに書き出す（ステップＳＴ２１４）。続いて、ステップＳＴ１１２に対応するステップＳＴ２１５において、劣化量計算部３３がログの過去の履歴に照らして今回の劣化量の計算を行い、算出された劣化量から許容される劣化量の閾値を差し引く計算を行う。以下、ステップＳＴ２１６からステップＳＴ２１８の処理は、図３のフローにおけるステップＳＴ１１３からステップＳＴ１１５の処理と同様に行う。【０１１７】
図８のフローを用いることにより、テスト周波数を増加し且つ減少させる代わりに、増加のみ又は減少のみさせることとなる。したがって、図３のフローに比べてテスト数を減らしてフィールドテストに要する時間を短縮することが可能となる。【０１１８】
さらに、今回ＦMAXを求めるために、前回ＦMAXから周波数を減少後に増加させるとしてもよい。例えば、図８のステップＳＴ２１２とステップＳＴ２１３の間に、ΔＦ２をよりも小さな値であるΔＦ３ずつ小刻みにＦcを増加させることにより、今回ＦMAXを求めるとしてもよい。【０１１９】
さらに、モニタブロック回路２１1において、ＲＯ５９の制御とカウンタ６１の制御を別にしてもよい。このようにすることで、ＲＯ５９を動かし続けつつカウンタ６１を止めることが可能となる。ＲＯ５９の発振を止めると、発熱が停止し、モニタ対象回路に影響を及ぼしてしまう。このような影響を及ぼさずに、カウンタ６１を止めることにより、ビット数増加による回路増を防ぐことができる。【０１２０】
さらに、図２のフローにおけるステップＳＴ０１０のボード／システムテストではなく、ステップＳＴ００８の製造テストにおいて、初回のテストを実施して最初（劣化前）のＦMAX値を求め、テスタが有する記憶部に記憶されるとしてもよい。【０１２１】
さらに、テスト対象回路２と制御回路３とは、図１に示すように別チップでもよいし、図１の半導体装置１がテスト対象回路２を備え、テスト対象回路２及び制御回路３が一体のものとして実現されるものであってもよい。また、制御回路３は、マイコンやＦＰＧＡ（Field  Programmable  Gate  Array）で実現されるものであってもよい。特に、テスト対象回路２が記憶部１１を備える場合、図２のフローにおけるステップＳＴ０１０のボード／システムテストではなくステップＳＴ００８の製造テストにおいて、初回のテストを実施して最初（劣化前）のＦMAX値を求め、記憶部１１にＦMAX値を書き込むとしてもよい。【０１２２】
さらに、ＲＯ５９の代わりに、論理素子を組み合わせて結果としてＲＯとして機能する回路を用いてもよい。また、高精度の測定が求められる場合は、ＲＯ５９を用いた熱計測及び電圧計測を行う代わりに、熱センサーや電圧センサーを用いてもよい。ただし、一般のセンサーは、測定のためにレファレンス値を必要とする。また、測定前のキャリブレーション及び測定後のデジタル変換処理を要する。この点、ＲＯ５９は、測定のためにレファレンス値を要しない。また、測定前のキャリブレーションも不要である。さらに、標準的なデジタル設計の範囲内で処理できるため、特別にデジタル変換処理を組み込む必要もない。そのため、ＲＯ５９を用いることは有利といえる。【０１２３】
さらに、本願発明に係る半導体装置１は、同一のテスト対象回路２の劣化を検知する代わりに、同種の複数のテスト対象回路２に生じるバラツキを検知するために用いることも可能である。この場合、全体制御部５は、劣化量計算部３３の代わりにバラツキの度合を表す相違量計算部を備えるとすればよい。相違量計算部は、テスト動作周波数換算部３１が算出した、基準温度及び基準電圧における同種の複数のテスト対象回路２について得られた各最大テスト動作周波数に基づいて相違量を計算する。
【符号の説明】
【０１２４】
１  半導体装置、２  テスト対象回路、３  制御回路、５  全体制御部、７  テスト制御部、９  温度電圧測定部、１１  記憶部、１３  クロック生成回路、１５テスト単位回路、２１1，２１2  モニタブロック回路、２５  ログ読出部、２７  ログ書出部、３１  テスト動作周波数換算部、３３  劣化量計算部、３５  劣化判定部、３７  テスト内容決定部、３９  テスト部、４１  テスト判別部、４３  最大テスト動作周波数決定部、４５  モニタ測定制御部、４７  温度電圧計算部、４９  ログ記憶部、５１  論理パス特性記憶部、５３  テスト情報記憶部、  ５５  テスト動作周波数補正値記憶部、５９  リング・オシレータ（ＲＯ）
【図１】
2011115038.tif 000015
【図２】
2011115038.tif 000016
【図３】
2011115038.tif 000017
【図４】
2011115038.tif 000018
【図５】
2011115038.tif 000019
【図７】
2011115038.tif 000020
【図８】
2011115038.tif 000021
【図６】
2011115038.tif 000022
【国際調査報告】
2011115038.tif 000023
2011115038.tif 000024
2011115038.tif 000025
2011115038.tif 000026