(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-14
(45)【発行日】2022-12-22
(54)【発明の名称】半導体装置および半導体装置のバーンインテスト方法
(51)【国際特許分類】
G01R 31/28 20060101AFI20221215BHJP
G01R 31/26 20200101ALI20221215BHJP
H01L 21/822 20060101ALI20221215BHJP
H01L 27/04 20060101ALI20221215BHJP
【FI】
G01R31/28 V
G01R31/28 G
G01R31/26 H
H01L27/04 T
H01L27/04 H
(21)【出願番号】P 2019192994
(22)【出願日】2019-10-23
【審査請求日】2022-03-14
(73)【特許権者】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】鈴木 浩司
(72)【発明者】
【氏名】谷村 政明
【審査官】島▲崎▼ 純一
(56)【参考文献】
【文献】特開2016-138799(JP,A)
【文献】特開2009-8625(JP,A)
【文献】特開2013-029439(JP,A)
【文献】特開2005-340486(JP,A)
【文献】米国特許第6573703(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G01R 31/28
G01R 31/26
H01L 21/822
(57)【特許請求の範囲】
【請求項1】
半導体装置の温度を測定し、測定した温度を測定結果として出力する温度センサと、
前記測定結果に応じて、スキャンチェーン選択情報を生成するスキャン制御回路と、
外部クロック信号および前記スキャンチェーン選択情報に基づいて、1または複数のスキャンチェーンクロック信号を生成するクロック制御回路と、
テストパターンを生成するパターン生成回路と、
複数のスキャンチェーンを有し、前記スキャンチェーンクロック信号および前記テストパターンを受け取るロジック回路と、を備え、
前記クロック制御回路は、各スキャンチェーンに関連付けて前記スキャンチェーンクロック信号を生成し、
バーンインテスト中に、前記ロジック回路は、前記スキャンチェーンクロック信号に応答して、前記スキャンチェーンクロック信号に関連付けられた前記スキャンチェーンに前記テストパターンを入力する、
半導体装置。
【請求項2】
請求項1に記載の半導体装置であって、
前記テストパターンが入力された前記スキャンチェーンに接続される前記ロジック回路の一部は、前記バーンインテスト中に前記テストパターンに応じた所定の動作を行う、
半導体装置。
【請求項3】
請求項1の半導体装置であって、
前記スキャン制御回路は、前記測定結果と前記バーンインテストにおける前記半導体装置の温度の目標値であるターゲット温度との差分に基づいて、前記スキャンチェーン選択情報を変更し、
前記クロック制御回路は、変更された前記スキャンチェーン選択情報に応じて、前記スキャンチェーンクロック信号の数を増加または減少させる、
半導体装置。
【請求項4】
請求項3に記載の半導体装置であって、
前記スキャン制御回路は、前記差分の絶対値が前記バーンインテスト中に1本の前記スキャンチェーンに入力された前記テストパターンに応じて前記ロジック回路が動作することによって変化する前記半導体装置の温度以上である場合には、前記テストパターンを入力する前記スキャンチェーンの数を1本増加または減少させるように、前記スキャンチェーン選択情報を変更する、
半導体装置。
【請求項5】
請求項1に記載の半導体装置であって、
スキャン制御回路は、シフトレジスタによって構成され、前記スキャンチェーン選択情報を格納するスキャンチェーン選択レジスタを備え、
前記シフトレジスタは、前記シフトレジスタの出力が前記シフトレジスタの入力に接続するように構成され、
前記スキャンチェーン選択情報は、複数ビットで構成され、前記シフトレジスタのシフト動作によって、前記複数ビットの順序が変更される、
半導体装置。
【請求項6】
請求項5に記載の半導体装置であって、
前記クロック制御回路は、前記複数ビットの順序が変更された前記スキャンチェーン選択情報に応じて、前記スキャンチェーンクロック信号に関連付ける前記スキャンチェーンを変更する、
半導体装置。
【請求項7】
請求項1に記載の半導体装置であって、
前記測定結果に応じて、クロックゲーティング制御情報を生成するクロックゲーティング制御回路と、
前記クロックゲーティング制御情報に基づいて、前記外部クロック信号のクロックパルスの数を調整し、前記クロックパルスの数が調整された前記外部クロック信号を前記クロック制御回路へ出力するクロックゲーティング回路と、をさらに備える、
半導体装置。
【請求項8】
請求項7に記載の半導体装置であって、
温度制御情報格納部を有する温度制御回路をさらに備え、
前記温度制御回路は、
前記クロックゲーティング制御回路および前記スキャン制御回路から、前記クロックゲーティング制御情報および前記スキャンチェーン選択情報を読み出し、
前記クロックゲーティング制御情報および前記スキャンチェーン選択情報を読み出したときの前記測定結果を前記温度センサから取得し、
取得した前記測定結果を、読み出した前記クロックゲーティング制御情報およびスキャンチェーン選択情報に関連付けて、温度制御情報として前記温度制御情報格納部に格納し、
前記温度制御情報および前記バーンインテストにおける前記半導体装置の温度の目標値であるターゲット温度に基づいて、前記クロックゲーティング制御情報および前記スキャンチェーン選択情報の最適値を決定する、
半導体装置。
【請求項9】
請求項1に記載の半導体装置であって、
前記ロジック回路の各スキャンチェーンの出力結果および前記スキャンチェーン選択情報を受け取る出力結果マージ回路をさらに備え、
前記出力結果マージ回路は、
前記スキャンチェーン選択情報に基づいて、前記スキャンチェーンクロック信号に応答して前記テストパターンが入力されていないスキャンチェーンを特定し、
特定したスキャンチェーンの出力結果を、正常動作時のスキャンチェーンの出力結果に置き換え、
前記スキャンチェーンクロック信号に応答して前記テストパターンが入力されているスキャンチェーンの出力結果および置き換えられたスキャンチェーンの出力結果をマージする、
半導体装置。
【請求項10】
複数のスキャンチェーンを有するロジック回路を備える半導体装置のバーンインテスト方法であって、
前記半導体装置の温度を測定して、測定した温度を測定結果として出力するステップと、
前記測定結果に応じて、スキャンチェーン選択情報を生成するステップと、
外部クロック信号および前記スキャンチェーン選択情報に基づいて、各スキャンチェーンに関連付けて1または複数のスキャンチェーンクロック信号を生成するステップと、
テストパターンを生成するステップと、
前記スキャンチェーンクロック信号に応答して、前記スキャンチェーンクロック信号に関連付けられた前記スキャンチェーンに前記テストパターンを入力するステップと、を備える、
半導体装置のバーンインテスト方法。
【請求項11】
請求項10に記載の半導体装置のバーンインテスト方法であって、
前記スキャンチェーン選択情報を生成するステップは、前記測定結果とバーンインテストにおける前記半導体装置の温度の目標値であるターゲット温度との差分に基づいて、前記スキャンチェーン選択情報を変更するステップを含み、
前記スキャンチェーンクロック信号を生成するステップは、変更された前記スキャンチェーン選択情報に応じて、前記スキャンチェーンクロック信号の数を増加または減少させるステップを含む、
半導体装置のバーンインテスト方法。
【請求項12】
請求項10に記載の半導体装置のバーンインテスト方法であって、
前記スキャンチェーン選択情報は、複数ビットで構成され、
前記スキャンチェーン選択情報を生成するステップは、前記スキャンチェーン選択情報の前記複数ビットの順序を変更するステップを含み、
前記スキャンチェーンクロック信号を生成するステップは、前記複数ビットの順序が変更された前記スキャンチェーン選択情報に応じて、前記スキャンチェーンクロック信号に関連付ける前記スキャンチェーンを変更するステップを含む、
半導体装置のバーンインテスト方法。
【請求項13】
請求項10に記載の半導体装置のバーンインテスト方法であって、
前記測定結果に応じて、クロックゲーティング制御情報を生成するステップと、
前記クロックゲーティング制御情報に基づいて、前記外部クロック信号のクロックパルスの数を調整するステップと、をさらに備え、
前記スキャンチェーンクロック信号を生成するステップは、前記クロックパルスの数が調整された前記外部クロック信号および前記スキャンチェーン選択情報に基づいて、各スキャンチェーンに関連付けて前記1または複数のスキャンチェーンクロック信号を生成する、
半導体装置のバーンインテスト方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、半導体装置および半導体装置のバーンインテスト方法に関する。
【背景技術】
【0002】
半導体装置の試験方法の一つとして、バーンインテスト(以下、「BIテスト」と称する)がある。BIテストは、温度と電圧の負荷をかけた状態で半導体装置を所定時間動作させることにより、初期不良品の除去および温度や電圧に対するストレス耐性の評価を行うテストである。BIテストでは、半導体装置に流れる電流によって熱暴走が発生する恐れがある。そのため、特に消費電流量が多い半導体装置では、BIテスト中の温度を適切に制御することが求められる。
【0003】
例えば、特許文献1には、半導体装置の温度に応じてクロック信号の周波数を変化させることによって、BIテスト中の半導体装置の温度を制御する技術が開示されている。詳細には、半導体装置は、温度センサ、電圧制御発振回路およびユーザロジック回路を備える。電圧制御発振回路は、温度センサからの出力電圧に基づいた周波数を有するクロック信号を生成する。生成されたクロック信号は、BIテスト中の動作クロック信号として、ユーザロジック回路に供給される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1では、半導体装置に電圧制御発振回路が搭載されることが前提となっている。つまり、BIテスト装置から直接クロック信号を受けて動作する半導体装置には、特許文献1に記載の技術は適用できない。
【0006】
その他の課題および新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0007】
実施の形態に係る半導体装置は、温度センサと、温度センサの測定結果に応じて、スキャンチェーン選択情報を生成するスキャン制御回路と、外部クロック信号およびスキャンチェーン選択情報に基づいて、1または複数のスキャンチェーンクロック信号を生成するクロック制御回路と、テストパターンを生成するパターン生成回路と、複数のスキャンチェーンを有し、スキャンチェーンクロック信号およびテストパターンを受け取るロジック回路と、を備える。クロック制御回路は、各スキャンチェーンに関連付けてスキャンチェーンクロック信号を生成する。バーインテスト中に、ロジック回路は、スキャンチェーンクロック信号に関連付けられたスキャンチェーンにテストパターンを入力する。
【発明の効果】
【0008】
実施の形態によれば、半導体装置毎にBIテスト時の温度ばらつきを適切に制御することができ、熱暴走の発生を抑制することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態1に係る半導体装置の構成の一例を示すブロック図である。
【
図2】
図2は、実施の形態1に係るスキャンチェーンのスキャン動作を説明するための図である。
【
図3】
図3は、スキャン制御回路およびクロック制御回路の構成の一例を示す図である。
【
図4】
図4は、スキャン制御回路の動作の一例を示すタイミングチャートである。
【
図5】
図5は、実施の形態1に係る半導体装置の動作の一例を示すフローチャートである。
【
図6】
図6は、実施の形態1の変形例に係る半導体装置の動作の一例を示すフローチャートである。
【
図7】
図7は、実施の形態2に係る半導体装置の構成の一例を示すブロック図である。
【
図8】
図8は、実施の形態2に係る半導体装置の動作の一例を示すフローチャートである。
【
図9】
図9は、実施の形態3に係る半導体装置の構成の一例を示すブロック図である。
【
図10】
図10は、実施の形態3に係る半導体装置の動作の一例を示すフローチャートである。
【
図13】
図13は、温度制御情報のさらに別の一例を示す図である。
【
図14】
図14は、実施の形態4に係る半導体装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【0010】
以下、実施の形態について、図面を参照して詳細に説明する。なお、明細書および図面において、同一の構成要素または対応する構成要素には、同一の符号を付し、重複する説明は省略する。また、図面では、説明の便宜上、構成を省略または簡略化している場合もある。また、実施の形態の各々は、他の実施の形態の少なくとも一部と任意に組み合わされてもよい。
【0011】
[実施の形態1]
図1は、実施の形態1に係る半導体装置100の構成の一例を示すブロック図である。
図1に示されるように、半導体装置100は、温度センサ110、スキャン制御回路120、入力端子130、クロック制御回路140、パターン生成回路150およびロジック回路160を備える。
【0012】
温度センサ110は、半導体装置100の温度を測定する。温度センサ110は、スキャン制御回路120に接続され、半導体装置100の温度の測定結果をスキャン制御回路120へ出力する。
【0013】
例えば、温度センサ110は、ダイオードおよびアナログ-デジタル変換器(ADC)を有する。ダイオードは、半導体装置100の温度に応じて変化する順方向電圧を出力する。ADCは、ダイオードから出力された順方向電圧のアナログ値をデジタル値に変換する。順方向電圧のデジタル値、すなわち、半導体装置100の温度に応じた電圧のデジタル値は、スキャン制御回路120へ出力される。
【0014】
スキャン制御回路120は、スキャンチェーン選択レジスタ121を有する。スキャンチェーン選択レジスタ121は、ロジック回路160に含まれるスキャンチェーンを選択するための情報(スキャンチェーン選択情報)を格納する。スキャンチェーン選択情報は複数ビットで構成される。スキャンチェーン選択情報は、温度センサ110から受け取った半導体装置100の温度の測定結果に基づいて変更される。また、スキャン制御回路120は、クロック制御回路140に接続され、スキャンチェーン選択情報をクロック制御部140へ出力する。
【0015】
入力端子130は、外部クロック信号を受け取るための端子である。BIテストは、複数の半導体装置100を装着したBIテスト基板をBIテスト装置の内部に取り付けることによって行われる。BIテストを実行中、BIテスト装置は、外部クロック信号を入力端子130に供給する。また、入力端子130は、クロック制御回路140に接続され、外部クロック信号をクロック制御回路140へ出力する。
【0016】
図1では、端子として入力端子130のみが示されているが、半導体装置100は、不図示の他の端子を備える。例えば、半導体装置100は、BIテスト中にBIテスト装置から供給される電源電圧や接地電位を受け取る端子を備える。
【0017】
クロック制御回路140は、スキャン制御回路120からのスキャンチェーン選択情報および入力端子130からの外部クロック信号に基づいて、1または複数のスキャンチェーンクロック信号を生成する。このとき、クロック制御回路140は、ロジック回路160に含まれる各スキャンチェーンに関連付けてスキャンチェーンクロック信号を生成する。また、クロック制御回路140は、ロジック回路160に接続され、1または複数のスキャンチェーンクロック信号をロジック回路160へ出力する。
【0018】
パターン生成回路150は、BIテスト中にロジック回路160を活性化させるためのテストパターンを生成する。パターン生成回路は、ロジック回路160に接続され、生成したテストパターンをロジック回路160へ出力する。
【0019】
ロジック回路160は、BIテストにおける被テスト回路の1つであり、複数のスキャンチェーンを有する。ロジック回路160は、BIテスト中にスキャンチェーンクロック信号およびテストパターンを受け取る。ロジック回路160は、スキャンチェーンクロック信号に応答して、スキャンチェーンクロック信号に関連付けられたスキャンチェーンにテストパターンをスキャンインする。すなわち、ロジック回路160は、スキャン動作によって、関連付けされたスキャンチェーンにテストパターンを入力する。これにより、テストパターンが入力されたスキャンチェーンに接続されるロジック回路160の一部は、入力されたテストパターンに応じた所定の動作(BI動作)を行う。一方、テストパターンが入力されなかったスキャンチェーンに接続されるロジック回路160の一部は、BI動作を行わない。
【0020】
このようにして、半導体装置100は、スキャン動作によって取り込まれたテストパターンに応じて、ロジック回路160を動作(活性化)させる。予め定められたBIテスト動作が実行された後、BIテスト装置からBIテスト基板を取り出し、各半導体装置100に初期不良が発生しているか否かの判定が行われる。
【0021】
図2は、実施の形態1に係るスキャンチェーンのスキャン動作を説明するための図である。
図2では、スキャンチェーン選択レジスタ121が保持するスキャンチェーン選択情報のビット数を4とし、またロジック回路160に含まれるスキャンチェーンの数を4として例示される。しかしながら、スキャンチェーン選択情報のビット数およびスキャンチェーンの数は、これらに限定されない。
【0022】
図2に示されるように、スキャンチェーン選択レジスタ121は、4ビットのスキャンチェーン選択情報(b1、b2、b3、b4)として“1010”を保持する。スキャンチェーン選択情報の各ビットは、ロジック回路160の含まれるスキャンチェーンのいずれかに関連付けされている。例えば、
図2では、b1がスキャンチェーン1に、b2がスキャンチェーン2に、b3がスキャンチェーン3に、b4がスキャンチェーン4に、それぞれ関連付けされている。
【0023】
クロック制御回路140は、スキャンチェーン選択レジスタ121に保持されたスキャンチェーン選択情報“1010”に基づいて、外部クロック信号に対するON/OFF制御を行う。クロック制御回路140は、外部クロック信号に対してON/OFF制御を行うことにより、スキャンチェーン1~4に関連付けられたスキャンチェーンクロック信号を出力する。
【0024】
クロック制御回路140は、4ビットのスキャンチェーン選択情報のうちの“1”に対応するビット(b1とb3)に対して、外部クロック信号を通過させる制御(外部クロック信号に対するON制御)を行う。一方、クロック制御回路140は、4ビットのスキャンチェーン選択情報のうちの“0”に対応するビット(b2とb4)に対して、外部クロック信号を通過させない制御(外部クロック信号に対するOFF制御)を行う。
【0025】
このようにして、クロック制御回路140は、スキャンチェーン1および3に対して、外部クロック信号をスキャンチェーンクロック信号として出力する。一方、クロック制御回路140は、スキャンチェーン2および4に対して、外部クロック信号をスキャンチェーンクロック信号として出力しない。すなわち、スキャンチェーン2および4に対しては、スキャンチェーンクロック信号は供給されない。
【0026】
ロジック回路160のスキャンチェーン1および3は、クロック制御回路140から供給されるスキャンチェーンクロック信号を受けて、パターン生成回路150から出力されるテストパターンをスキャンインする。一方、ロジック回路160のスキャンチェーン2および4には、クロック制御回路140からスキャンチェーンクロック信号が供給されないので、テストパターンのスキャンインは行われない。
【0027】
このように、スキャンチェーン1および3は、スキャンチェーン選択情報のb1およびb3に基づいてスキャン動作を実行し、スキャンチェーン2および4は、スキャンチェーン選択情報のb2およびb4に基づいてスキャン動作を実行しない。すなわち、スキャンチェーン選択レジスタ121に格納されるスキャンチェーン選択情報の各ビットに応じて、スキャン動作が行われるスキャンチェーンを切り替えることができる。
【0028】
図3は、スキャン制御回路120およびクロック制御回路140の構成の一例を示す図である。
図3に示されるように、スキャン制御回路120は、スキャンチェーン選択レジスタ121、動作率設定回路122、選択回路123を備える。
【0029】
動作率設定回路122は、温度センサ110、スキャンチェーン選択レジスタ121、クロック制御回路140および選択回路123に接続される。また、動作率設定回路122は、ターゲット温度を格納するターゲット温度格納レジスタ128を有する。ターゲット温度は、BIテストにおける半導体装置100の温度の目標値を示す。動作率設定回路122は、温度センサ110からの半導体装置100の温度の測定結果およびターゲット温度格納レジスタに格納されたターゲット温度に基づいて動作率設定信号を生成する。生成された動作率設定信号は、選択回路123へ出力される。
【0030】
また、動作率設定回路122は、切り替え信号を選択回路123およびクロック制御回路140へ出力する。切り替え信号は、動作率設定回路122から出力された動作率設定信号がスキャンチェーン選択レジスタ121に取り込まれるときに信号レベルが変化する信号である。さらに、動作率設定回路122は、シフトクロック信号をスキャンチェーン選択レジスタ121へ出力する。
【0031】
選択回路123は、動作率設定回路122およびスキャンチェーン選択レジスタ121に接続され、動作率設定信号およびスキャンチェーン選択レジスタ121の出力信号Q4を受け取る。選択回路123は、動作率設定回路122からの切り替え信号に応じて、動作率設定信号および出力信号Q4のいずれかを選択して、選択した信号をスキャンチェーン選択レジスタ121へ出力する。
【0032】
スキャンチェーン選択レジスタ121は、4つのDフリップフロップ回路(DFF)124~127を含むシフトレジスタによって構成される。スキャンチェーン選択情報は、シフトレジスタに格納される。各DFF124~127には、動作率設定回路122から出力されるシフトクロック信号が供給される。
【0033】
DFF124には、選択回路123が接続され、選択回路123によって選択された動作率設定信号および出力信号Q4のいずれかの信号が入力される。DFF124に入力された信号は、シフトクロック信号に応答してDFF124に取り込まれる。DFF124によって取り込まれた信号は、次段のDFF125に入力されるとともに、出力信号Q1としてクロック制御回路140へ出力される。
【0034】
DFF124と同様に、DFF125~127は、シフトクロック信号に応答して前段のDFFの出力を取り込む。取り込まれた信号は、次段のDFFに入力されるとともに、出力信号Q2~Q4としてクロック制御回路140へ出力される。ただし、DFF127については、次段のDFFがないため、出力信号Q4は、選択回路123へ出力される。
【0035】
このように、スキャンチェーン選択レジスタ121に格納されるスキャンチェーン選択情報は、選択回路123より出力された信号がDFF124~127にシフトインされた信号であり、各DFF124~127の出力信号Q1~Q4としてクロック制御回路140へ出力される。
【0036】
クロック制御回路140は、論理積回路141~144を含む。各論理積回路141~144の入力には、外部クロック信号、切り替え信号およびスキャンチェーン選択情報(出力信号Q1~Q4)が接続される。論理積回路141~144は、切り替え信号および出力信号Q1~Q4に基づいて、外部クロック信号を出力信号P1~P4として出力する。
【0037】
詳細には、例えば、論理積回路141は、切り替え信号の信号レベルが“1”であり、かつ、出力信号Q1の信号レベルが“1”である場合に、外部クロック信号を出力信号P1として出力する。論理積回路142~144についても、論理積回路141と同様に動作する。
【0038】
このように、各論理積回路141~144が外部クロック信号に対するON/OFF制御を行うことによって、出力信号P1~P4がスキャンチェーンクロック信号として出力される。
【0039】
図4は、BIテストにおけるスキャン制御回路120の動作の一例を示すタイミングチャートである。
図4では、主にスキャンチェーン制御レジスタ121におけるシフト動作について説明する。
図4の横方向は、時間に相当する。
図4の縦方向は、シフトクロック信号、切り替え信号、動作率設定信号および出力信号Q1~Q4が変化するタイミングを示す。
【0040】
図4に示されるように、期間T1において、動作率設定回路122は、4つのパルス信号を含むシフトクロック信号および信号レベルが“0”である切り替え信号を出力する。また、動作率設定回路122は、シフトクロック信号に同期して動作率設定信号を出力する。
図4に示される例では、“1001”に対応する動作率設定信号がシリアルに出力されている。
【0041】
選択回路123は、信号レベルが“0”である切り替え信号を受けて動作率設定回路122から出力される動作率設定信号(“1001”)を選択し、スキャンチェーン選択レジスタ121へ出力する。
【0042】
スキャンチェーン選択レジスタ121は、シフトクロック信号に応答して、DFF124~127によって構成されるシフトレジスタに動作率設定信号(“1001”)をシフトインする。その結果、スキャンチェーン選択レジスタ121は、“1001”を出力信号Q1~Q4としてクロック制御回路140へ出力する。つまり、スキャンチェーン選択レジスタ121は、シフト動作によって“1001”をスキャンチェーン選択情報として格納するとともに、クロック制御回路140へ出力する。
【0043】
また、このとき、クロック制御回路140内の論理積回路141~144には、信号レベルが“0”である切り替え信号が入力されているため、論理積回路141~144のいずれも外部クロック信号を出力しない。
【0044】
期間T2において、動作率設定回路122は、シフトクロック信号の出力を止める。そのため、スキャンチェーン選択レジスタ121では、シフト動作は行われず、出力信号Q1~Q4に変化はない。
【0045】
また、動作率設定回路122は、切り替え信号の信号レベルを“0”から“1”に変化させる。つまり、期間T2では、クロック制御回路140の論理積回路141~144には、信号レベルが“1”である切り替え信号が入力される。
【0046】
このとき、信号レベルが“1”である出力信号Q1およびQ4が入力されている論理積回路141および144は、外部クロック信号を出力信号P1およびP4として出力し、外部クロック信号に対するON制御を行う。一方、信号レベルが“0”である出力信号Q2およびQ3が入力されている論理積回路142および143は、外部クロック信号を出力信号P2およびP3として出力せず、外部クロック信号に対するOFF制御を行う。
【0047】
このようにして、期間T2では、出力信号P1およびP4はスキャンチェーンクロック信号として出力され、出力信号P1およびP4が入力されるべきスキャンチェーン(例えば、スキャンチェーン1および4)は、スキャン動作を実行する。一方、出力信号P2およびP3はスキャンチェーンクロック信号として出力されず、出力信号P2およびP3が入力されるべきスキャンチェーン(例えば、スキャンチェーン2および3)は、スキャン動作を実行しない。
【0048】
期間T3において、動作率設定回路122は、1つのパルス信号を含むシフトクロック信号を出力する。このとき、選択回路123は、信号レベルが“1”である切り替え信号を受けて、スキャンチェーン選択レジスタ121からの出力信号Q4を選択する。すなわち、スキャンチェーン選択レジスタ121は、1つのパルス信号を含むシフトクロック信号に応答してシフト動作を行うことにより、スキャンチェーン選択情報(出力信号Q1~Q4)を“1001”から“1100”に変化させる。
【0049】
スキャンチェーン選択情報が変化したことに依存して、出力信号Q1~Q4も変化する。そのため、期間T3では、信号レベルが“1”である出力信号Q1およびQ2が入力されている論理積回路141および142は、外部クロック信号を出力信号P1およびP2として出力し、外部クロック信号に対するON制御を行う。一方、信号レベルが“0”である出力信号Q3およびQ4が入力されている論理積回路143および144は、外部クロック信号を出力信号P3およびP4として出力せず、外部クロック信号に対するOFF制御を行う。
【0050】
このようにして、期間T3では、出力信号P1およびP2はスキャンチェーンクロック信号として出力され、出力信号P1およびP2が入力されるべきスキャンチェーン(例えば、スキャンチェーン1および2)は、スキャン動作を実行する。一方、出力信号P3およびP4はスキャンチェーンクロック信号として出力されず、出力信号P3およびP4が入力されるべきスキャンチェーン(例えば、スキャンチェーン3および4)は、スキャン動作を実行しない。
【0051】
期間T2とT3との間では、スキャンチェーン選択情報に含まれる“1”の数、すなわち、スキャン動作を行うスキャンチェーンの本数は、2本のままであり、変更はない。しかしながら、期間T2とT3の間では、シフト動作により、“1”と“0”の順番が変化するため、スキャン動作の対象となるスキャンチェーンが変更される。つまり、スキャンチェーン選択情報によって関連付けされるスキャンチェーンが変更される。
【0052】
期間T4において、動作率設定回路122は、4つのパルス信号を含むシフトクロック信号および信号レベルが“0”である切り替え信号を出力する。また、動作率設定回路122は、シフトクロック信号に同期して動作率設定信号を出力する。
図4に示される例では、“1101”に対応する動作率設定信号がシリアルに出力されている。
【0053】
選択回路123は、信号レベルが“0”である切り替え信号を受けて動作率設定回路122から出力される動作率設定信号(“1101”)を選択し、スキャンチェーン選択レジスタ121へ出力する。スキャンチェーン選択レジスタ121は、“1101”をシフトインするとともに、出力信号Q1~Q4としてクロック制御回路140へ出力する。このとき、クロック制御回路140の論理積回路141~144には、信号レベルが“0”である切り替え信号が入力されているため、論理回路141~144のいずれも外部クロック信号を出力しない。
【0054】
期間T5において、動作率設定回路122が切り替え信号の信号レベルを“0”から“1”に変化させると、信号レベルが“1”である出力信号Q1、Q3およびQ4を入力する論理積回路141、143および144は、外部クロック信号をスキャンチェーンクロック信号として出力し、外部クロック信号に対するON制御を行う。一方、信号レベルが“0”である出力信号Q2を入力する論理積回路142は、外部クロック信号をスキャンチェーンクロック信号として出力せず、外部クロック信号に対するOFF制御を行う。
【0055】
このようにして、期間T5では、出力信号P1、P3およびP4が入力されるべきスキャンチェーン(例えば、スキャンチェーン1、3および4)は、スキャン動作を実行する。一方で、出力信号P2が入力されるべきスキャンチェーン(例えば、スキャンチェーン2)は、スキャン動作を実行しない。
【0056】
スキャンチェーン選択情報に含まれる“1”の数、すなわち、スキャン動作を行うスキャンチェーンの本数は、期間T2およびT3では2本であるが、期間T5では3本に変化する。このように、スキャンチェーンの本数が変更される場合には、スキャンチェーン選択レジスタ121は、動作率設定回路122から新たな動作率設定信号を受け取り、シフト動作によりその信号を取り込むことで、スキャンチェーン選択情報を変更する。
【0057】
図5は、実施の形態1に係る半導体装置100のBIテスト方法における動作の一例を示すフローチャートである。
図5に示されるように、ステップS201において、スキャン制御回路120の動作率設定回路122は、温度センサ110から半導体装置100の温度Tの測定結果を取得する。
【0058】
ステップS202において、動作率設定回路122は、ターゲット温度格納レジスタ128に格納されたターゲット温度Taを読み出す。ターゲット温度Taは、BIテストにおける半導体装置100の温度の目標値である。
【0059】
ステップS203において、動作率設定回路122は、半導体装置100の温度Tとターゲット温度Taとの差分ΔT(T-Ta)を算出する。
【0060】
ステップS204において、動作率設定回路122は、差分ΔTがX以上であるか否かを判定する。Xの値は、BIテスト中に1本のスキャンチェーンに入力されたテストパターンに応じてロジック回路160が動作することによって変化する半導体装置100の温度の大きさ(以下、スキャンチェーン1本分の温度変化分ともいう)を示す。Xの値は、例えば、事前のシミュレーションによって算出される。
【0061】
差分ΔTがX以上であると判定された場合(ステップS204のYES)、処理はステップS205へ進む。一方、差分ΔTがX以上でないと判定された場合(ステップS204のNO)、処理はステップS206へ進む。
【0062】
ステップS205において、動作率設定回路122は、BIテスト中にスキャン動作をさせるスキャンチェーンの本数を1だけ減少させるように、動作率設定信号を変更する。つまり、半導体装置100の温度Tがターゲット温度Taにスキャンチェーン1本分の温度変化分(X)を加えた値以上であるため、動作率設定回路122は、1本のスキャンチェーンのスキャン動作を停止させる。これにより、BIテスト中の半導体装置100の温度がターゲット温度Taに対して過度に高くなりすぎないように制御される。
【0063】
ステップS206において、動作率設定回路122は、差分ΔTが-X以下であるか否かを判定する。差分ΔTが-X以下であると判定された場合(ステップS206のYES)、処理はステップS207へ進む。一方、差分ΔTが-X以下でないと判定された場合(ステップS206のNO)、処理はステップS208へ進む。
【0064】
ステップS207において、動作率設定回路122は、BIテスト中にスキャン動作を行うスキャンチェーンの本数を1だけ増加させるように、動作率設定信号を変更する。つまり、半導体装置100の温度Tがターゲット温度Taにスキャンチェーン1本分の温度変化分(X)を引いた値以下であるため、動作率設定回路122は、スキャン動作を行うスキャンチェーンを1本増やす。これにより、BIテスト中の半導体装置100の温度がターゲット温度Taに対して過度に低くなりすぎないように制御する。
【0065】
このように、差分ΔTの絶対値がスキャンチェーン1本分の温度変化分(X)以上である場合には、動作率設定回路122は、スキャン動作をさせるスキャンチェーンの数を1本増加または減少させるように、動作率設定信号を変更する。
【0066】
ステップS208において、動率設定回路122は、動作率設定信号を変更しない。処理がステップS208に進む場合には、差分ΔTの絶対値がスキャンチェーン1本分の温度変化の範囲内に収まっていることを意味する。すなわち、半導体装置100の温度Tはターゲット温度Taの近傍であるため、BIテスト中にスキャン動作を行うスキャンチェーンの本数を変更する必要がないと判断される。
【0067】
ステップS209において、スキャンチェーン制御レジスタ121はシフト動作を行う。ステップS205またはステップS207を経由した場合には、スキャンチェーン制御レジスタ121は、シフト動作により、新たな動作率設定信号をスキャンチェーン制御情報として取り込む。
【0068】
また、ステップS208を経由した場合には、スキャンチェーン制御レジスタ121は、シフト動作により、保持しているスキャンチェーン制御情報の“1”と“0”の順序を変更する。
【0069】
ステップS209が実行された後、処理は再びステップS201へ戻る。このように、ターゲット温度Taよりも半導体装置100の温度が高い場合には、ステップS204のYESおよびステップS205が実行されることにより、半導体装置100の温度Tは徐々にターゲット温度Taに近づくように制御される。一方、ターゲット温度Taよりも半導体装置100の温度が低い場合には、ステップS206のYESおよびステップS207が実行されることにより、半導体装置100の温度Tは徐々にターゲット温度Taに近づくように制御される。
【0070】
なお、半導体装置100に流れる電流値がどのようにばらつくかは予想できないため、動作率設定信号の初期値は、スキャン動作を行うスキャンチェーンの本数とスキャン動作を行わないスキャンチェーンの本数が同数程度になるように設定しておくことが好ましい。当該初期値を用いてBIテストが開始された後は、
図5に示されたフローに基づき、動作率設定信号は適宜変更される。
【0071】
このように、実施の形態1によれば、半導体装置100は、スキャンチェーン制御情報に基づいて、BIテスト装置から供給される外部クロック信号に対するON/OFF制御を実行し、スキャンチェーンクロック信号を生成する。半導体装置100は、生成されたスキャンチェーンクロック信号を用いて、BIテスト中に所望のスキャンチェーンを動作させることができる。これにより、電圧制御発振回路の搭載の有無にかかわらず、半導体装置毎にBIテスト時の温度ばらつきを適切に制御することができ、熱暴走の発生を抑制することができる。なお、電圧制御発振回路を搭載する半導体装置に対しては、クロック制御回路140は、外部クロック信号の代わりに、電圧制御発振回路から出力されるクロック信号を受けて、スキャンチェーンクロック信号を生成するようにすればよい。
【0072】
また、半導体装置100は、所定期間毎にスキャンチェーン制御情報をシフト動作させることができる。これにより、BIテスト中にロジック回路160内の活性化する領域(BI動作を行う領域)が偏ってしまうことを防止することができる。
【0073】
上述された実施の形態1では、スキャンチェーン制御情報の各ビットが1本のスキャンチェーンに関連付けられる例が示されたが、実施の形態1の構成はこれに限定されない。スキャンチェーン制御情報の各ビットが複数のスキャンチェーンに関連付けられるようにして、制御を簡素化することも可能である。
【0074】
[実施の形態1の変形例]
次に、実施の形態1の変形例を説明する。上述した実施の形態1では、動作率設定回路122は、差分ΔTの大きさに応じて、BIテスト中にスキャン動作をさせるスキャンチェーンの本数を1だけ増減させる制御を実行した。しかしながら、動作率設定回路122は、差分ΔTの大きさに応じて、BIテスト中にスキャン動作をさせるスキャンチェーンを複数本同時に増減させることもできる。
【0075】
図6は、実施の形態1の変形例に係る半導体装置100のBIテスト方法における動作の一例を示すフローチャートである。
図5と同一の動作(処理)については、同一の符号を付し、その説明を省略する。
【0076】
図6に示されるように、ステップS210において、動作率設定回路122は、差分ΔTが2X以上であるか否かを判定する。差分ΔTが2X以上であると判定された場合(ステップS210のYES)、処理はステップS211へ進む。一方、差分ΔTが2X以上でないと判定された場合(ステップS210のNO)、処理はステップS212へ進む。
【0077】
ステップS211において、動作率設定回路122は、BIテスト中にスキャン動作をさせるスキャンチェーンの本数を2だけ減少させるように、動作設定信号を変更する。つまり、半導体装置100の温度Tがターゲット温度Taにスキャンチェーン2本分の温度変化分(2X)を加えた値以上であるため、動作率設定回路122は、スキャン動作を行うスキャンチェーンを2本減らす。
【0078】
このように、BIテスト中の半導体装置100の温度がターゲット温度Taに対して大きく上回る場合には、差分ΔTの大きさに応じて、スキャン動作させるスキャンチェーンの数を複数本一度に減少させる。
【0079】
ステップS212において、動作率設定回路122は、差分ΔTが-2X以下であるか否かを判定する。差分ΔTが-2X以下であると判定された場合(ステップS212のYES)、処理はステップS213へ進む。一方、差分ΔTが-2X以下でないと判定された場合(ステップS212のNO)、処理はステップS204へ進む。
【0080】
ステップS213において、動作率設定回路122は、BIテスト中にスキャン動作をさせるスキャンチェーンの本数を2だけ増加させるように、動作設定信号を変更する。つまり、半導体装置100の温度Tがターゲット温度Taにスキャンチェーン2本分の温度変化分(2X)を除いた値以下であるため、動作率設定回路122は、スキャン動作を行うスキャンチェーンを2本増やす。
【0081】
このように、BIテスト中の半導体装置100の温度がターゲット温度Taに対して大きく下回る場合には、差分ΔTの大きさに応じて、スキャン動作させるスキャンチェーンの数を複数本一度に増加させる。
【0082】
実施の形態1の変形例によれば、差分ΔTの絶対値が大きい場合、スキャン動作をさせるスキャンチェーンの数を複数本同時に増減させるため、実施例1に比べて、半導体装置100の温度Tをターゲット温度Taにより早く近づけることができる。
【0083】
なお、上述の実施の形態1の変形例では、2本のスキャンチェーンを同時に増減させる例を示したが、実施の形態1の変形例の構成はこれに限定されない。3本以上のスキャンチェーンを同時に増減させる構成であってもよいことは言うまでもない。
【0084】
[実施の形態2]
次に、実施の形態2を説明する。実施の形態1に係る半導体装置100は、BIテスト中にスキャン動作をさせるスキャンチェーンの本数を増減させることにより、半導体装置100の温度を制御する。これに対し、実施の形態2の半導体装置300は、スキャンチェーンの本数を増減させることに加えて、スキャンチェーンクロック信号のクロックパルスを増減させることにより、半導体装置300の温度を制御する。
【0085】
図7は、実施の形態2に係る半導体装置300の構成の一例を示すブロック図である。
図7に示された構成のうち、
図1と同一の機能を有する構成については、同一の符号を付し、その説明を省略する。
【0086】
図7に示されるように、半導体装置300は、
図1に示された構成に加えて、クロックゲーティング制御回路310およびクロックゲーティング回路320を備える。
【0087】
クロックゲーティング制御回路310は、クロックゲーティング制御レジスタ311を有する。クロックゲーティング制御レジスタ311は、クロック制御回路140へ供給される外部クロック信号のクロックパルスの割合を制御するための情報(クロックゲーティング制御情報)を格納する。クロックゲーティング制御情報は、温度センサ110から受け取った半導体装置100の温度の測定結果に基づいて、変更される。また、クロックゲーティング制御回路310は、クロックゲーティング回路320に接続され、クロックゲーティング制御情報をクロックゲーティング回路320へ出力する。
【0088】
クロックゲーティング回路320は、入力端子130に接続され、外部クロック信号を受け取る。クロックゲーティング回路320は、クロックゲーティング制御回路310から出力されたクロックゲーティング制御情報に基づいて、クロック制御回路140へ出力する外部クロック信号に含まれるクロックパルスの数を調整する。
【0089】
例えば、クロックゲーティング制御情報が2ビットで構成される場合、クロックゲーティング回路320は、クロックゲーティング制御情報“00”を受けて、外部クロック信号に含まれるクロックパルスの数を25%に減少させるように、クロック制御回路140へ出力する外部クロック信号を調整する。この場合、クロックゲーティング回路320は、外部クロック信号に含まれるクロックパルスの4つのうち3つを間引くことにより、外部クロック信号を調整する。
【0090】
また、クロックゲーティング回路320は、クロックゲーティング制御情報“01”を受けて、外部クロック信号に含まれるクロックパルスの数を50%に減少させるように、クロック制御回路140へ出力する外部クロック信号を調整する。この場合、クロックゲーティング回路320は、外部クロック信号に含まれるクロックパルスの4つのうち2つを間引くことにより、外部クロック信号を調整する。
【0091】
また、クロックゲーティング回路320は、クロックゲーティング制御情報“10”を受けて、外部クロック信号に含まれるクロックパルスの数を75%に減少させるように、クロック制御回路140へ出力する外部クロック信号を調整する。この場合、クロックゲーティング回路320は、外部クロック信号に含まれるクロックパルスの4つのうち1つを間引くことにより、外部クロック信号を調整する。
【0092】
なお、クロックゲーティング回路320は、クロックゲーティング制御情報“11”を受けた場合には、外部クロック信号に含まれるクロックパルスの数を調整せずに、クロック制御回路140へ外部クロックを出力する。
【0093】
図8は、実施の形態2に係る半導体装置300のBIテストにおける動作の一例を示すフローチャートである。
図5と同一の動作(処理)については、同一の符号を付し、その説明を省略する。
【0094】
図8に示されるように、ステップS401において、クロックゲーティング制御回路310は、差分ΔTがY以上であるか否かを判定する。Yの値は、BIテスト中に外部クロック信号(スキャンチェーンクロック信号)のクロックパルスを25%増加させることによって変化する半導体装置300の温度の大きさを示す。Yの値は、例えば、事前のシミュレーションによって算出される。
【0095】
差分ΔTがY以上であると判定された場合(ステップS401のYES)、処理はステップS402へ進む。一方、差分ΔTがY以上でないと判定された場合(ステップS401のNO)、処理はステップS403へ進む。
【0096】
ステップS402において、クロックゲーティング制御回路310は、クロック制御回路140へ出力する外部クロック信号に含まれるクロックパルスの数を25%だけ減少させるように、クロックゲーティング制御情報を変更する。クロックゲーティング回路320は、変更されたクロックゲーティング制御情報に基づいて、クロックパルスの数を25%減少させた外部クロック信号をクロック制御回路140へ出力する。
【0097】
ステップS403において、クロックゲーティング制御回路310は、差分ΔTが-Y以下であるか否かを判定する。差分ΔTが-Y以下であると判定された場合(ステップS403のYES)、処理はステップS404へ進む。一方、差分ΔTが-Y以下でないと判定された場合(ステップS403のNO)、処理はステップS204へ進む。
【0098】
ステップS404において、クロックゲーティング制御回路310は、クロック制御回路140へ出力する外部クロック信号に含まれるクロックパルスの数を25%だけ増加させるように、クロックゲーティング制御情報を変更する。クロックゲーティング回路320は、変更されたクロックゲーティング制御情報に基づいて、クロックパルスの数を25%増加させた外部クロック信号をクロック制御回路140へ出力する。
【0099】
実施の形態2では、XおよびYは、X<Yの関係を有する。例えば、BIテスト中に1本のスキャンチェーンに入力されたテストパターンに応じてロジック回路160が動作することによって変化する半導体装置300の温度を2℃とすると、Xの値は2℃となる。また、BIテスト中に外部クロック信号(スキャンチェーンクロック信号)のクロックパルスを25%増加させることによって変化する半導体装置300の温度を8℃とすると、Yの値は8℃となる。
【0100】
したがって、半導体装置300は、まず、差分ΔTの絶対値がY以上であるか否かを判定する。ここで、差分ΔTの絶対値がY以上である場合には、半導体装置300は、外部クロック信号(スキャンチェーンクロック信号)のクロックパルスの数を調整することにより、半導体装置300の温度Tをターゲット温度Taに近づけるように制御する。半導体装置300は、差分ΔTの絶対値がY以上でなくなるまで、外部クロック信号(スキャンチェーンクロック信号)のクロックパルスの数を調整する。
【0101】
差分ΔTの絶対値がY以上ではなくなった後は、半導体装置300は、差分ΔTの絶対値がX以上であるか否かを判定する。ここで、差分ΔTの絶対値がX以上である場合には、半導体装置は、シフト動作させるスキャンチェーンの本数を増減させることにより、半導体装置300の温度Tをターゲット温度Taに使づけるように制御する。
【0102】
なお、半導体装置300に流れる電流値がどのようにばらつくかは予想できないため、クロックゲーティング制御情報の初期値は、外部クロック信号に含まれるクロックパルスの数を50%もしくは75%に減少させる設定にしておくことが好ましい。当該初期値を用いてBIテストが開始された後は、クロックゲーティング制御情報は、温度センサ110の測定結果に応じて適宜変更される。
【0103】
このように、実施の形態2によれば、半導体装置300は、シフト動作させるスキャンチェーンの本数の調整に加えて、外部クロック信号(スキャンチェーンクロック信号)に含まれるクロックパルスの数を調整することにより、実施の形態1よりも広い範囲でBIテスト時の温度ばらつきの制御を行うことができる。
【0104】
例えば、シフト動作させるスキャンチェーンの数を最少(1本)とした場合でも、半導体装置の温度がターゲット温度まで下がり切らない場合に、外部クロック信号(スキャンチェーンクロック信号)に含まれるクロックパルスの数を間引くことで、温度制御の下限値を広げることができる。
【0105】
[実施の形態3]
次に、実施の形態3を説明する。実施の形態3に係る半導体装置500は、温度制御回路510を備える点で、実施の形態2に係る半導体装置300と異なる。
【0106】
図9は、実施の形態3に係る半導体装置500の構成の一例を示すブロック図である。
図9に示された構成のうち、
図1および
図7と同一の機能を有する構成については、同一の符号を付し、その説明を省略する。
【0107】
図9に示されるように、半導体装置500は、
図7に示された構成に加えて、温度制御回路510を備える。
【0108】
温度制御回路510は、温度制御情報格納部511を有する。温度制御情報格納部511は、クロックゲーティング制御情報およびスキャンチェーン選択情報を変化させた時の半導体装置500の温度の計測結果(温度制御情報)を格納する。
【0109】
温度制御回路510は、温度センサ110、クロックゲーティング制御回路310およびスキャン制御回路120に接続される。温度制御回路510は、クロックゲーティング制御情報およびスキャンチェーン制御情報を読み出し、それらの情報を読み出したときの半導体装置500の温度の測定結果を温度センサ110から取得する。温度制御回路510は、クロックゲーティング制御情報およびスキャンチェーン制御情報に関連付けて、取得した測定結果を温度制御情報格納部511に格納する。
【0110】
また、温度制御回路510は、ターゲット温度格納レジスタ128からターゲット温度
Taを読み出す。温度制御回路510は、温度制御情報格納部511を参照し、ターゲット温度Taに基づいて、クロックゲーティング制御情報およびスキャンチェーン選択情報の最適値を決定する。
【0111】
クロックゲーティング制御情報およびスキャンチェーン選択情報の最適値は、クロックゲーティング制御レジスタ311およびスキャンチェーン制御レジスタ121に設定される。クロックゲーティング回路320は、クロックゲーティング制御情報の最適値に応じて、クロック制御回路140へ出力する外部クロック信号に含まれるクロックパルスの数を調整する。また、クロック制御回路140は、スキャンチェーン選択情報の最適値に応じて、スキャンチェーンクロック信号を生成する。
【0112】
図10は、実施の形態3に係る半導体装置500の動作の一例を示すフローチャートである。
【0113】
図10に示されるように、ステップS601において、温度制御回路510は、クロックゲーティング制御回路310からクロックゲーティング制御情報を、スキャン制御回路120からスキャンチェーン選択情報を、温度センサ110から半導体装置500の温度Tの測定結果を、それぞれ取得する。温度センサ110から取得される測定結果は、クロックゲーティング制御回路310およびスキャン制御回路120から取得したクロックゲーティング制御情報およびスキャンチェーン選択情報に応じてBIテスト動作が実行されたときの半導体装置500の温度に対応する。
【0114】
ステップS602において、温度制御回路510は、クロックゲーティング制御情報およびスキャンチェーン選択情報に関連付けて、半導体装置500の温度Tの測定結果を温度制御情報格納部511に格納する。
【0115】
ステップS603において、温度制御回路510は、クロックゲーティング制御情報およびスキャンチェーン選択情報の全ての組合せにおいて、半導体装置500の温度Tの測定が完了したかどうかを確認する。
【0116】
クロックゲーティング制御情報およびスキャンチェーン選択情報の全ての組合せにおいて、半導体装置500の温度Tの測定が完了したと確認された場合(ステップS603のYES)、処理はステップS604へ進む。一方、クロックゲーティング制御情報およびスキャンチェーン選択情報の全ての組合せにおいて、半導体装置500の温度Tの測定が完了したと確認されない場合(ステップS603のNO)、処理はステップS606へ進む。
【0117】
ステップS604において、温度制御回路510は、ターゲット温度格納レジスタ128に格納されたターゲット温度Taを読み出す。
【0118】
ステップS605において、温度制御回路510は、温度制御情報格納部511を参照し、ターゲット温度Taに近い測定結果を特定する。温度制御回路510は、特定した測定結果に関連付けられたクロックゲーティング制御情報およびスキャンチェーン選択情報を最適値として決定する。温度制御回路510は、決定したクロックゲーティング制御情報およびスキャンチェーン選択情報の最適値を、クロックゲーティング制御回路310のクロックゲーティング制御レジスタ311およびスキャン制御回路120のスキャンチェーン選択レジスタ121に、それぞれ設定する。
【0119】
ステップS606において、温度制御回路510は、クロックゲーティング制御レジスタ311のクロックゲーティング制御情報もしくはスキャンチェーン選択レジスタ121のスキャンチェーン選択情報のいずれかを変更するように、クロックゲーティング制御回路310もしくはスキャン制御回路120を制御する。ステップS606の実行後、処理はステップS601へ戻る。
【0120】
ここで、
図11を参照して、温度制御情報格納部511に格納される温度制御情報について説明する。
図11は、温度制御情報の一例を示す図である。
図11に示される例では、クロックゲーティング制御情報は、“1000”、“1010”、“1110”および“1111”の4値をとり得る。また、スキャンチェーン選択情報は、“1000”、“1010”、“1110”および“1111”の4値をとり得る。
【0121】
例えば、クロックゲーティング制御情報“1000”は、クロック制御回路140に供給される外部クロック信号のクロックパルスの数を25%減少させることを示す。クロックゲーティング制御情報“1010”は、クロック制御回路140に供給される外部クロック信号のクロックパルスの数を50%減少させることを示す。クロックゲーティング制御情報“1110”は、クロック制御回路140に供給される外部クロック信号のクロックパルスの数を75%減少させることを示す。クロックゲーティング制御情報“1111”は、クロック制御回路140に供給される外部クロック信号のクロックパルスの数を調整しないことを示す。
【0122】
また、例えば、スキャンチェーン選択情報“1000”は、シフト動作させるスキャンチェーンの数を1本とすることを示す。スキャンチェーン選択情報“1010”は、シフト動作させるスキャンチェーンの数を2本とすることを示す。スキャンチェーン選択情報“1110”は、シフト動作させるスキャンチェーンの数を3本とすることを示す。スキャンチェーン選択情報“1111”は、シフト動作させるスキャンチェーンの数を4本とすることを示す。
【0123】
図11に示される例では、クロックゲーティング制御情報およびスキャンチェーン選択情報の組合せは、16(=4×4)通り存在する。そのため、クロックゲーティング制御情報およびスキャンチェーン選択情報の16通りの組合せの全てにおいて、温度測定が完了するまで、半導体装置500の温度Tの測定は行われる。
【0124】
図11に示されるように、測定結果は、行(スキャンチェーン選択情報)と列(クロックゲーティング制御情報)の対応する位置に格納される。これにより、測定結果は、クロックゲーティング制御情報およびスキャンチェーン選択情報に関連付けて格納される。
【0125】
また、ターゲット温度Taが125℃であるとすると、
図11に示される例では、ハッチングされた部分の125.1℃がターゲット温度Taに近い測定結果として特定される。そのため、温度制御回路510は、クロックゲーティング制御情報“1110”およびスキャンチェーン選択情報“1010”を最適値として決定する。
【0126】
実施の形態3に係る半導体装置500では、BIテスト動作を開始した初期に、クロックゲーティング制御情報およびスキャンチェーン選択情報を変化させながら、半導体装置500の温度を測定し、その結果を温度制御情報として温度制御情報格納部511に格納する。温度制御情報が格納された後は、ターゲット温度Taに近い測定結果を温度制御情報から抽出することにより、半導体装置500は、適切なクロックゲーティング情報およびスキャンチェーン選択情報をより早く設定することができる。その結果、半導体装置500は、早期に適切な温度でのBIテストを実行することができる。
【0127】
なお、上述の実施の形態3では、クロックゲーティング情報およびスキャンチェーン選択情報の全ての組合せにおいて、半導体装置500の温度Tを測定したが、必ずしもすべての組合せにおいて、温度測定を実行する必要はない。温度測定を実行する前に、温度制御回路510はターゲット温度Taを取得し、温度測定を実行中に測定結果がターゲット温度Taを超えた時点で、温度制御回路510は温度測定の実行処理を中止するようにしてもよい。
【0128】
図12は、温度制御情報の別の一例を示す図である。
図12に示される例では、半導体装置500の温度Tの測定結果が低いと想定されるクロックゲーティング制御情報“1000”およびスキャンチェーン選択情報“1000”から温度測定の処理が実行される。その後、
図11に示される矢印の順に従って、クロックゲーティング制御情報およびスキャンチェーン選択情報を変化させながら、半導体装置500の温度Tの測定が行われる。
【0129】
クロックゲーティング制御情報“1110”およびスキャンチェーン選択情報“1010”になったとき、半導体装置500の温度Tの測定結果は、125.1℃となり、ターゲット温度Taを超える。このタイミングで、温度制御回路510は、クロックゲーティング制御情報“1110”およびスキャンチェーン選択情報“1010”を最適値として決定し、ここで半導体装置500の温度Tの測定は中止となる。そのため、不要な温度測定の処理が実行されることを回避することができる。
【0130】
また、
図13は、温度制御情報のさらに別の一例を示す図である。
図13に示される例では、クロックゲーティング制御情報“1000”およびスキャンチェーン選択情報“1000”の設定にて、1回目の半導体装置500の温度Tの測定が実行され、測定結果として、111.5℃が得られる。また、クロックゲーティング制御情報“1110”およびスキャンチェーン選択情報“1111”の設定にて、2回目の半導体装置500の温度Tの測定が実行され、測定結果として、128.5℃が得られる。
【0131】
温度制御回路510は、各設定における温度変動量情報を保持し、2つの測定結果と温度変動量情報とに基づいて、ターゲット温度Taに近い測定値が得られるクロックゲーティング制御情報“1110”およびスキャンチェーン選択情報“1010”を推測する。推測して得られたクロックゲーティング制御情報“1110”およびスキャンチェーン選択情報“1010”は最適値として決定される。これにより、半導体装置500の温度Tの測定時間をさらに短縮することができる。
【0132】
[実施の形態4]
上述の実施の形態1ないし3では、BIテスト中に半導体装置のユーザロジック回路を活性化させ、予め定められたBIテスト動作が実行された後、半導体装置に初期不良が発生しているか否かの判定を行う。これに対し、BIテスト中に半導体装置からの出力信号をモニタしながら、BIテストを実行するモニタBIという手法がある。モニタBIでは、BIテスト装置は、BIテスト動作中に半導体装置から出力される信号を期待値と比較し、出力信号が期待値と一致しない半導体装置を不良と判定する。
【0133】
上述の実施の形態1にモニタBIを適用する場合には、半導体装置100は、ロジック回路160から出力される各スキャンチェーンの出力結果をマージし、マージされた出力結果を不図示の出力端子からBIテスト装置へ出力することが想定される。この場合、BIテスト装置は、半導体装置100から出力されたマージされた出力結果を期待値と比較して良否判定を行う。
【0134】
しかしながら、実施の形態1に係る半導体装置100は、スキャンチェーン選択情報に基づいてテストパターンが入力されるスキャンチェーンが決まるため、マージされた出力結果には、テストパターンが入力されているスキャンチェーンの出力結果とテストパターンが入力されていないスキャンチェーンの出力結果が混在することになる。BIテスト装置が保持する期待値は、全てのスキャンチェーンにテストパターンが入力されているときの出力結果の期待値に対応するため、実施の形態1に係る半導体装置100のマージされた出力結果は、BIテスト装置が保持する期待値と異なる。そのため、実施の形態1に係る半導体装置100には、モニタBIを適用することができない。そこで、実施の形態4では、この問題を解決するための半導体装置700の構成および動作について説明する。
【0135】
図14は、実施の形態4に係る半導体装置700の構成の一例を示すブロック図である。
図14に示された構成のうち、
図1と同一の機能を有する構成については、同一の符号を付し、その説明を省略する。
【0136】
図14に示されるように、半導体装置700は、
図1に示された構成に加えて、出力結果マージ回路710および出力端子720を備える。
【0137】
出力結果マージ回路710は、ロジック回路160に接続され、ロジック回路160の各スキャンチェーンの出力結果を受け取る。また、出力マージ回路710は、スキャン制御回路120に接続され、スキャンチェーン選択情報を受け取る。
【0138】
出力結果マージ回路710は、スキャンチェーン制御情報に基づいて、テストパターンが入力されていないスキャンチェーンを特定する。出力結果マージ回路710は、正常動作時の各スキャンチェーンの出力結果を予め保持する。出力結果マージ回路710は、テストパターンが入力されていないスキャンチェーンの出力結果を、正常動作時のスキャンチェーンの出力結果に置き換える。
【0139】
出力結果マージ回路710は、テストパターンが入力されているスキャンチェーンの出力結果と置き換えられたスキャンチェーンの出力結果をマージする。マージされた出力結果は、出力端子720を介して、BIテスト装置へ出力される。
【0140】
例えば、4本のスキャンチェーン1~4がロジック回路160に含まれており、スキャンチェーン1および3にテストパターンが入力されていない場合には、出力結果マージ回路710は、スキャンチェーン1および3の出力結果を、予め保持する正常動作時のスキャンチェーン1および3の出力結果に置き換える。出力結果マージ回路710は、スキャンチェーン2および4の出力結果と、置き換えられたスキャンチェーン1および3の出力結果と、をマージする。
【0141】
このように、実施の形態4によれば、テストパターンが入力されていないスキャンチェーンの出力は、正常動作時のスキャンチェーンの出力に置き換えられた後、マージされ、BIテスト装置へ出力される。したがって、半導体装置700の温度制御のために活性化されるスキャンチェーンの数が増減したとしても、モニタBIにおける期待値判定の処理を適切に行うことができる。
【0142】
なお、実施の形態4では、実施の形態1に係る半導体装置100にモニタBIを適用する場合を例示した。しかしながら、実施の形態2に係る半導体装置300もしくは実施の形態3に係る半導体装置500にモニタBIを適用することも無論可能である。
【0143】
また、実施の形態1ないし4では、半導体装置の構成および機能を、
図1、7、9および14のブロック図を参照して説明したが、これらの図中のブロックの機能は、回路(ハードウェア)だけではなく、ソフトウェアによっても実現されることができる。例えば、
図1のスキャン制御回路120の機能の一部は、CPU(Central Processing Unit)が所定のプログラムを実行することで実現可能である。
図7のクロックゲーティング制御回路310、
図9の温度制御回路510および
図14の出力結果マージ回路の機能の一部についても、CPUが所定のプログラムを実行することで実現可能である。
【0144】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【0145】
100、300、500、700: 半導体装置
110: 温度センサ
120: スキャン制御回路
121: スキャンチェーン選択レジスタ
122: 動作率設定回路
123: 選択回路
124、125、126、127: Dフリップフロップ回路
128: ターゲット温度格納レジスタ
130: 入力端子
140: クロック制御回路
141、142、143、144: 論理積回路
150: パターン生成回路
160: ロジック回路
310: クロックゲーティング制御回路
311:クロックゲーティング制御レジスタ
320: クロックゲーティング回路
510: 温度制御回路
511: 温度制御情報格納部
710: 出力結果マージ回路
720: 出力端子