(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024138860
(43)【公開日】2024-10-09
(54)【発明の名称】半導体集積回路及び半導体集積回路のテスト方法
(51)【国際特許分類】
H01L 21/822 20060101AFI20241002BHJP
G01R 31/3177 20060101ALI20241002BHJP
G01R 31/28 20060101ALI20241002BHJP
G06F 11/22 20060101ALI20241002BHJP
【FI】
H01L27/04 T
G01R31/3177
G01R31/28 G
G06F11/22 673Z
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023049571
(22)【出願日】2023-03-27
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】前川 智之
【テーマコード(参考)】
2G132
5B048
5F038
【Fターム(参考)】
2G132AA01
2G132AB02
2G132AC17
2G132AD06
2G132AK14
2G132AK23
2G132AK27
2G132AL11
5B048CC18
5F038CD06
5F038DF04
5F038DF05
5F038DF14
5F038DT06
5F038DT08
(57)【要約】
【課題】半導体集積回路のテストの信頼性を向上する。
【解決手段】実施形態の半導体集積回路は、第1及び第2のSCAN階層を含むコア回路と、第1及び第2のSCAN階層に対するSCANテストを制御するテスト制御回路と、を含み、テスト制御回路は、第1のSCAN階層に第1のテストデータ及び第1のシフトクロックを供給した後、第1のSCAN階層を待機状態に設定し、第1のSCAN階層が待機状態である期間中に、第2のSCAN階層に第2のテストデータ及び第2のシフトクロックを供給し、第2のSCAN階層に第2のテストデータ及び第2のシフトクロックを供給した後、第2のSCAN階層を待機状態に設定し、第2のSCAN階層を待機状態に設定した後、第1のSCAN階層に、第1のラウンチクロック及び第1のキャプチャクロックを、供給する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1のSCANチェーン回路及び第1の組合せ回路を含む第1のSCAN階層と、第2のSCANチェーン回路及び第2の組合せ回路を含む第2のSCAN階層と、を含むコア回路と、
前記第1及び第2のSCAN階層に対するSCANテストを制御するテスト制御回路と、
を具備し、
前記テスト制御回路は、
前記第1のSCAN階層に第1のテストデータ及び第1のシフトクロックを供給した後、前記第1のSCAN階層を待機状態に設定し、
前記第1のSCAN階層が待機状態である期間中に、前記第2のSCAN階層に第2のテストデータ及び第2のシフトクロックを供給し、
前記第2のSCAN階層に前記第2のテストデータ及び前記第2のシフトクロックを供給した後、前記第2のSCAN階層を待機状態に設定し、
前記第2のSCAN階層を前記待機状態に設定した後、前記第1のSCAN階層に、第1のラウンチクロック及び第1のキャプチャクロックを、供給する、
半導体集積回路。
【請求項2】
前記テスト制御回路は、前記SCANテストにおいて、前記第1及び第2のSCAN階層を互いに独立に制御する、
請求項1に記載の半導体集積回路。
【請求項3】
前記テスト制御回路は、
前記第1のSCAN階層又は前記第2のSCAN階層を選択するための選択信号を出力する階層選択回路と、
前記第1及び第2のSCAN階層のそれぞれに接続され、前記選択信号に基づいて前記第1及び第2のSCAN階層のマスク状態をそれぞれ制御する複数のマスク制御回路と、
を含み、
前記複数のマスク制御回路のそれぞれは、
クロックと前記選択信号とを受ける第1のANDゲートを含み、
前記第1のANDゲートは、前記選択信号に基づいて、対応するSCAN階層に対して、前記クロックを供給する、
請求項1に記載の半導体集積回路。
【請求項4】
前記複数のマスク制御回路のそれぞれは、
テストの実行を示す制御信号と前記選択信号とを受ける第2のANDゲート、
をさらに含み、
前記第2のANDゲートは、前記制御信号及び前記選択信号に基づいて、前記対応するSCAN階層の前記マスク状態を制御し、
請求項3に記載の半導体集積回路。
【請求項5】
前記複数のマスク制御回路のそれぞれは、前記対応するSCAN階層以外の他のSCAN階層に対する信号が前記対応するSCAN階層に入力されるのを遮断する、
請求項3に記載の半導体集積回路。
【請求項6】
前記テスト制御回路は、
前記SCANテストのための複数のクロックを生成するクロック生成回路と、
前記選択信号に基づいて、前記第1のSCAN階層からの出力データ及び前記第2のSCAN階層からの出力データのうちいずれか一方を選択するセレクタと、
をさらに含む、
請求項3に記載の半導体集積回路。
【請求項7】
前記コア回路は、クロック系統、回路素子の数、回路の面積、回路の機能に応じて、前記第1及び第2のSCAN階層に分割される、
請求項1に記載の半導体集積回路。
【請求項8】
第1の組合せ回路及び第1のSCANチェーン回路を含む第1のSCAN階層と第2の組合せ回路及び第2のSCANチェーン回路を含む第2のSCAN階層とを含む第1のコア回路と、前記第1及び第2のSCAN階層に対してSCANテストを実行する第1のテスト制御回路と、を含む第1の半導体チップにおいて、前記第1のSCAN階層に第1のテストデータ及び第1のシフトクロックを供給し、
前記第1のSCAN階層に前記第1のテストデータ及び前記第1のシフトクロックを供給した後、前記第1のSCAN階層を、待機状態に設定し、
前記第1のSCAN階層が待機状態に設定されている期間中に、前記第2のSCAN階層に第2のテストデータ及び第2のシフトクロックを供給し、
前記第2のSCAN階層に前記第2のテストデータ及び前記第2のシフトクロックを供給した後、前記第2のSCAN階層を、待機状態に設定し、
前記第2のSCAN階層が待機状態に設定される期間中に、前記第1のSCAN階層に、第1のラウンチクロック及び第1のキャプチャクロックを供給する、
半導体集積回路のテスト方法。
【請求項9】
前記第1のSCAN階層に前記第1のラウンチクロック及び前記第1のキャプチャクロックを供給した後、前記第2のSCAN階層に、第2のラウンチクロック及び第2のキャプチャクロックを供給し、
前記第1のキャプチャクロックに応じた前記第1のSCAN階層からの出力データ及び前記第2のキャプチャクロックに応じた前記第2のSCAN階層からの出力データに基づいて、前記第1の半導体チップの故障の有無を判定する、
請求項8に記載の半導体集積回路のテスト方法。
【請求項10】
第3の組合せ回路及び第3のSCANチェーン回路を含む第3のSCAN階層と第4の組合せ回路及び第4のSCANチェーン回路を含む第4のSCAN階層とを含む第2のコア回路と、前記第3及び第4のSCAN階層に対して前記SCANテストを実行する第2のテスト回路と、を含む第2の半導体チップにおいて、前記第1のSCAN階層に対する前記第1のテストデータ及び前記第1のシフトクロックの供給と同時に、前記第3のSCAN階層に前記第1のテストデータ及び第3のシフトクロックを供給し、
前記第3のSCAN階層に前記第1のテストデータ及び前記第3のシフトクロックを供給した後、前記第1のSCAN階層を前記待機状態に設定するのと同時に、前記第3のSCAN階層を、待機状態に設定し、
前記第1及び第3のSCAN階層が前記待機状態に設定されている期間中に、前記第2のSCAN階層に対する前記第2のテストデータ及び前記第2のシフトクロックの供給と同時に、前記第4のSCAN階層に前記第2のテストデータ及び第4のシフトクロックを供給し、
前記第4のSCAN階層に前記第2のテストデータ及び前記第4のシフトクロックを供給した後、前記第2のSCAN階層を前記待機状態に設定するのと同時に、前記第4のSCAN階層を、待機状態に設定し、
前記第2及び第4のSCAN階層が前記待機状態に設定される期間中に、前記第1のSCAN階層に対する前記第1のラウンチクロック及び前記第1のキャプチャクロックの供給と同時に、前記第3のSCAN階層に、第2のラウンチクロック及び第2のキャプチャクロックを供給し、
前記第1及び第3のSCAN階層に前記第1及び第2のラウンチクロック及び前記第1及び第2のキャプチャクロックを供給した後、前記第2のSCAN階層に第3のラウンチクロック及び第3のキャプチャクロックを供給し、前記第4のSCAN階層に第4のラウンチクロック及び第4のキャプチャクロックを供給し、
前記第1のキャプチャクロックに応じた前記第1のSCAN階層からの出力データ、前記第2のキャプチャクロックに応じた前記第2のSCAN階層からの出力データ、前記第3のキャプチャクロックに応じた前記第3のSCAN階層からの出力データ、及び前記第4のキャプチャクロックに応じた前記第4のSCAN階層からの出力データに基づいて、前記第1及び第2の半導体チップの故障の有無を判定する、
請求項8に記載の半導体集積回路のテスト方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、半導体集積回路及び半導体集積回路のテスト方法に関する。
【背景技術】
【0002】
半導体集積回路に対するテストに、SCANテストが用いられている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
半導体集積回路のテストの信頼性を向上する。
【課題を解決するための手段】
【0005】
実施形態の半導体集積回路は、第1のSCANチェーン回路及び第1の組合せ回路を含む第1のSCAN階層と、第2のSCANチェーン回路及び第2の組合せ回路を含む第2のSCAN階層と、を含むコア回路と、前記第1及び第2のSCAN階層に対するSCANテストを制御するテスト制御回路と、を備え、前記テスト制御回路は、前記第1のSCAN階層に第1のテストデータ及び第1のシフトクロックを供給した後、前記第1のSCAN階層を待機状態に設定し、前記第1のSCAN階層が待機状態である期間中に、前記第2のSCAN階層に第2のテストデータ及び第2のシフトクロックを供給し、前記第2のSCAN階層に前記第2のテストデータ及び前記第2のシフトクロックを供給した後、前記第2のSCAN階層を待機状態に設定し、前記第2のSCAN階層を前記待機状態に設定した後、前記第1のSCAN階層に、第1のラウンチクロック及び第1のキャプチャクロックを、供給する。
【図面の簡単な説明】
【0006】
【
図1】実施形態の半導体集積回路の構成例を示す図。
【
図2】実施形態の半導体集積回路のテスト制御回路の構成例を模式的に示す図。
【
図3】実施形態の半導体集積回路のテスト方法を説明するためのタイミングチャート。
【
図4】実施形態の半導体集積回路のテスト方法を説明するためのフローチャート。
【
図5】実施形態の半導体集積回路のテスト方法を説明するための模式図。
【発明を実施するための形態】
【0007】
図1乃至
図5を参照して、実施形態の半導体集積回路及び半導体集積回路のテスト方法(制御方法)について、説明する。以下の説明において、同一の機能及び構成を有する要素については、同一符号を付す。また、以下の各実施形態において、末尾に区別化のための数字/英字を伴った参照符号を付された構成要素(例えば、回路、配線、各種の電圧及び信号など)が、相互に区別されなくとも良い場合、末尾の数字/英字が省略された記載(参照符号)が用いられる。
【0008】
[実施形態]
(1)構成例
図1及び
図2を参照して、実施形態の半導体集積回路の構成例について、説明する。
【0009】
図1は、本実施形態の半導体集積回路の構成例を説明するためのブロック図である。
【0010】
図1の半導体集積回路1は、例えば、プロセッサ、コントローラ、メモリ、センサ、電源回路、ASIC(Application specific integrated circuit)、又は、システムLSIなどである。
【0011】
図1に示されるように、本実施形態の半導体集積回路1は、コア回路10及びテスト制御回路20を含む。
【0012】
コア回路10は、半導体集積回路1の所望の計算処理、所望の信号処理、所望の動作シーケンス、及び所望の機能などを実現する。コア回路10は、半導体集積回路1のチップ(半導体チップ)に設けられた複数の端子(ピン、パッド、コネクタ)99を介して、他のデバイスと通信する。コア回路10の所望の処理を実行するための信号及びデータ、及び、処理の結果に応じた信号及びデータは、端子99を介して、入力及び出力される。
【0013】
コア回路10は、複数の組合せ回路110、及び、複数のSCANチェーン回路120を含む。
【0014】
組合せ回路110は、複数の回路素子111を含む。組合せ回路110は、複数の回路素子111の組合せによって、所望の計算処理、所望の信号処理、所望の動作シーケンス、及び所望の機能を実行する。回路素子111は、論理ゲートである。但し、回路素子111は、メモリ素子及び/又は受動素子などを含み得る。
【0015】
SCANチェーン回路(テスト用フリップフロップ回路ともよばれる)120は、DFT(Design for testability)のために、コア回路10内に設けられている。但し、SCANチェーン回路120は、テスト制御回路20の一部とみなされてもよい。
【0016】
SCANチェーン回路120は、SCANテストに用いられる。SCANチェーン回路120は、SCANテストのための複数のフリップフロップ121を含む。複数のフリップフロップ121において、フリップフロップ121のテストデータの入出力に関する信号の伝送経路は、直列に接続されている。本実施形態において、直列に接続されたフリップフロップ121の集合900は、SCANチェーン900とよばれる。本実施形態において、フリップフロップ121は、SCANフリップフロップ121ともよばれる。
【0017】
例えば、SCANフリップフロップ121は、半導体集積回路1の外部から制御可能なように、構成されている。SCANフリップフロップ121は、SCANフリップフロップ121のデータ保持状態を半導体集積回路1の外部から観測可能なように、構成されている。
【0018】
半導体集積回路1のSCANテストに用いられるテストデータは、SCANチェーン900の一端に又はSCANチェーン900の他端に、入力される。SCANテスト動作時において、SCANチェーン900のテストデータの入力側のフリップフロップ121に、テストデータが供給される。テストデータに応じた信号は、組合せ回路110を形成する複数の回路素子111を介して、テストデータの入力側のフリップフロップ121からテスト結果の出力側のフリップフロップ121へ転送される。
【0019】
テストデータ及びテストの結果を示すデータは、半導体集積回路1のチップに設けられた端子(ピン、パッド、コネクタ)90A,90Bを介して、半導体集積回路1の外部のテスト装置(図示せず)から半導体集積回路1に入力されたり、半導体集積回路1からテスト装置に出力されたりする。半導体集積回路1のSCANチャネル(テストチャネル)SChの数が、k個である場合、k個の端子90A、及び、k個の端子90Bが、半導体集積回路1のチップに設けられる。kは、1以上の整数である。例えば、半導体集積回路1のSCANチャネルの個数(k)は、半導体集積回路1内のSCAN階層の数(m)及びテスト装置のチャネル数(n)に基づいて、設定される。m及びnは、2以上の整数である。
【0020】
テスト制御回路20は、コア回路10に対するテスト処理の実行を制御する。テスト制御回路20は、例えば、コア回路10に対する実動作速度(At-speed)のSCANテストのための制御を行う。テスト制御回路20は、SCANテスト時に、SCANテストのための各種の動作を制御する。テスト制御回路20は、コア回路10に対して、シフトクロック、ラウンチクロック及びキャプチャクロックなどのSCANテストのための各種の信号を、供給する。
【0021】
例えば、テスト制御回路20は、半導体集積回路1のチップに設けられた複数の端子95を介して、テスト装置に接続される。例えば、SCANテストの実行を示す制御信号(以下では、イネーブル信号ともよばれる)SCANSEが、端子95を介して、供給される。テスト動作時に、半導体集積回路1は、複数の端子95を介して、テスト装置と通信できる。
【0022】
本実施形態の半導体集積回路1において、コア回路10は、複数のSCAN階層100を含む。SCAN階層100は、或る単位の回路領域(階層)ごとに独立にSCANテストを実行可能なように、コア回路10が論理的に分割された領域である。
【0023】
例えば、コア回路10は、組合せ回路110が接続されるクロック系統、組合せ回路110を構成する回路素子(例えば、論理ゲート)111の数、組合せ回路110の面積、組合せ回路110の機能などに応じて、或る回路規模をそれぞれ有する複数のSCAN階層100に、分割されている。
【0024】
k個のSCANチャネルSChが、半導体集積回路1のチップに設けられている場合、各SCAN階層100は、k個のSCANチャネル(以下では、内部SCANチャネルともよばれる)を有する。
【0025】
本実施形態のように、複数のSCAN階層100が、半導体集積回路1のコア回路10内に設けられることによって、半導体集積回路1のテストの信頼性の向上、半導体集積回路1のテストの効率化、テストの安定化、及び、テストの低消費電力化などを図ることができる。
【0026】
図2は、本実施形態の半導体集積回路1のSCAN階層100(100-0,100-1,・・・,100-7)及びテスト制御回路20の内部構成を、より具体的に説明するための図である。
【0027】
図2に示されるように、例えば、8つのSCAN階層100-0,100-1,・・・,100-7が、コア回路10内に設けられている。
【0028】
圧縮SCAN方式のSCANテストが実行される場合、各SCAN階層100は、複数(例えば、i個)のSCANチェーン900を含むSCANチェーン回路120を含む。iは、2以上の整数である。例えば、各SCANチェーン回路120において、1つのSCANチェーン900は、数百個のSCANフリップフロップ121を含む。
【0029】
SCAN階層100ごとに、SCANチェーン回路120内のSCANフリップフロップ121の数が、異なる場合がある。また、SCAN階層100ごとに、SCANチェーン900内のSCANフリップフロップ121の数が、異なる場合がある。
【0030】
各SCAN階層100において、2つの伸張/圧縮回路123(123A,123B)が、設けられている。一方の伸張/圧縮回路123Aは、複数のSCANチェーン900の一端に、接続される。他方の伸張/圧縮回路123Bは、複数のSCANチェーン900の他端に接続される。複数のSCANチェーン900は、2つの伸張/圧縮回路123間に並列に接続されている。
【0031】
2つの伸張/圧縮回路123A,123Bのうち、テストデータが入力される側(SCANイン側、ラウンチ側)の回路(例えば、回路123A)が、伸張回路として機能し、テストデータに対するテスト結果が出力される側(SCANアウト側、キャプチャ側)の回路(例えば、123B)が、圧縮回路として機能する。
【0032】
伸張回路123は、入力されたテストデータを伸張変換する。伸張回路123は、伸張変換されたテストデータを、複数のSCANチェーン900に供給する。
【0033】
圧縮回路123は、複数のSCANチェーン900からのテスト結果を示すデータを、圧縮変換する。圧縮回路123は、圧縮変換されたデータを、組合せ回路110のSCANテストの結果を示すデータとして、後段の回路に出力する。
【0034】
例えば、伸張/圧縮回路123は、半導体集積回路1の外部から観測及び制御可能なように構成される。
【0035】
圧縮テスト方式のSCANテストが実行される場合、或る組合せ回路110に対するSCANチェーン回路120のSCANチェーンが、i個に分割される。これによって、1つのSCANチェーン900内のSCANフリップフロップ121の段数が、削減される。この結果として、SCANテストの時間を短縮できる。
【0036】
テスト制御回路20は、クロック生成回路210、階層選択回路220、複数のマスク制御回路230(230-0,230-1,・・・,230-7)、及びセレクタ250を含む。
【0037】
クロック生成回路210は、シフトクロック、ラウンチクロック、及びキャプチャクロックなどのSCANテストに用いられる各種のクロックCLKを生成する。クロック生成回路210は、生成された各種のクロックCLKを、1つ以上のクロック系統のうち対応するクロック系統に出力する。出力されたクロックCLKは、例えば、マスク制御回路230を介して、テスト対象に選択されたSCAN階層100に供給される。
【0038】
シフトクロックによって、供給されたテストデータは、SCANフリップフロップ121間でシフトする。ラウンチクロックによって、供給されたテストデータは、SCANフリップフロップ121に記憶され、組合せ回路110に入力される。キャプチャクロックによって、供給されたテストデータに応じて組合せ回路110から出力された信号が、SCANフリップフロップ121に記憶される。
【0039】
例えば、複数のSCAN階層100のうちいずれかのSCAN階層100が、互いに異なるクロック系統に属する場合、複数のSCAN階層100のそれぞれは、互いに異なるクロック信号線を介して、クロック生成回路210に接続される。例えば、SCAN階層100-7は、SCAN階層100-0,100-1が接続されたクロック信号線と異なるクロック信号線を介して、クロック生成回路210に接続される。これによって、SCAN階層100-7は、他のSCAN階層100-0,100-1と異なるクロック系統のクロックCLKを受けることができる。
【0040】
階層選択回路220は、複数のSCAN階層100のうちいずれか1つを、テスト動作に関するデータ及び信号の入出力の対象(以下では、テスト対象ともよばれる)に、選択する。階層選択回路220は、対応するSCAN階層100がテスト対象であることを示す選択信号(制御信号)SSを、テスト対象のSCAN階層100に対応するマスク制御回路230に供給する。これによって、テスト対象のSCAN階層100は、データ及び信号の入出力が可能な状態に設定される。階層選択回路220は、セレクタ250に、選択信号SSを供給する。
【0041】
複数の選択信号SSのそれぞれが、複数のマスク制御回路230のうち対応する1つに、供給される。例えば、“H”レベルの選択信号SSが、テスト対象のSCAN階層100に対応するマスク制御回路230に供給される。“H”レベルの選択信号SSによって、テスト対象のSCAN階層100は、選択状態に設定される。“L”レベルの選択信号SSが、テスト対象のSCAN階層100以外の複数のSCAN階層100に供給される。“L”レベルの選択信号SSによって、テスト対象のSCAN階層100以外の複数のSCAN階層100は、マスク状態(非選択状態、遮断状態、待機状態)に設定される。
【0042】
階層選択回路220によるSCAN階層100の選択は、テスト制御回路20によって生成された選択信号SSに基づいて実行されてもよいし、半導体集積回路1の外部のテスト装置(図示せず)からの制御信号に基づいて実行されてもよい。
【0043】
マスク制御回路(入力遮断回路ともよばれる)230-0,230-1,・・・,230-7は、SCAN階層100-0,100-1,・・・,100-7のそれぞれに対応するように、設けられている。マスク制御回路230は、クロック生成回路210からのクロックCLK、階層選択回路220からの選択信号SS、及びイネーブル信号SCANSEを受ける。マスク制御回路230は、選択信号SS及びイネーブル信号SCANSEに基づいて、テスト対象に選択されたSCAN階層100に、クロックCLKを供給する。マスク制御回路230は、選択信号SS及びイネーブル信号SCANSEに基づいて、テスト対象のSCAN階層100に対する信号が、テスト対象のSCAN階層100以外の複数のSCAN階層100に入力されるのを、遮断する。
【0044】
マスク制御回路230は、2つのANDゲート231,232を含む。
【0045】
ANDゲート231の一方の入力端子は、クロック生成回路210に接続される。ANDゲート231の一方の入力端子は、クロック生成回路210からのクロックCLKを受ける。ANDゲート231の他方の入力端子は、階層選択回路220に接続される。ANDゲート231の他方の入力端子は、階層選択回路220からの“H”レベル又は“L”レベルの選択信号SSを受ける。ANDゲート231の出力端子は、SCAN階層100のクロック入力端子に接続される。
【0046】
ANDゲート231は、クロックCLKと選択信号SSとのAND演算を実行する。ANDゲート231は、クロックCLKと選択信号SSとのAND演算の結果を示す信号を出力する。選択信号SSが“H”レベルである場合、ANDゲート231は、クロックCLKと同相の信号を、対応するSCAN階層100に出力する。それゆえ、クロックCLKが、選択されたSCAN階層100に供給される。選択信号SSが“L”レベルである場合、ANDゲート231は、“L”レベルの信号を、対応するSCAN階層100に出力する。この結果として、クロックCLKは、対応するSCAN階層(非選択状態のSCAN階層)100に供給されない。
【0047】
ANDゲート232の一方の入力端子は、イネーブル信号SCANSEが供給される端子95に接続される。ANDゲート232の一方の入力端子は、イネーブル信号SCANSEを受ける。ANDゲート232の他方の入力端子は、階層選択回路220に接続される。ANDゲート232の他方の入力端子は、選択信号SSを受ける。ANDゲート232の出力端子は、SCAN階層100の制御端子に接続される。
【0048】
ANDゲート232は、イネーブル信号SCANSEと選択信号SSとのAND演算を実行する。ANDゲート232は、イネーブル信号SCANSEと選択信号SSとのAND演算の結果を示す信号を出力する。例えば、イネーブル信号SCANSEの信号レベルが“H”レベルであり、選択信号SSの信号レベルが“H”レベルである場合、ANDゲート232は、“H”レベルの信号を、対応するSCAN階層100に出力する。これによって、対応するSCAN階層100は、選択状態に設定される。例えば、イネーブル信号SCANSEの信号レベルに依存せずに、選択信号SSの信号レベルが“L”レベルである場合、ANDゲート232は、“L”レベルの信号を、対応するSCAN階層100に出力する。これによって、対応するSCAN階層100は、マスク状態(非選択状態)に設定される。尚、“L”レベルのイネーブル信号SCANSEは、テストを実行しないことを示す。
【0049】
各マスク制御回路230のANDゲート231,232は、対応するSCAN階層100が選択されていない場合、対応するSCAN階層100に、選択されたSCAN階層100に対する信号が入力されるのを、遮断する。
【0050】
セレクタ250は、階層選択回路220からの複数の選択信号SSを受ける。セレクタ250は、階層選択回路220から供給された選択信号SSに基づいて、複数のSCAN階層100のうちテスト対象のSCAN階層100を選択する。これによって、セレクタ250によって選択されたSCAN階層100から出力された信号(データ)が、テスト用の端子90Bを介して、テスト装置に供給される。供給された信号によって、選択されたSCAN階層100のテスト結果(故障の有無)が、検証される。
【0051】
例えば、2つのSCANチャネルSChが、半導体集積回路1に設けられている場合、2つのSCANチャネルが、各SCAN階層100に割り当てられる。テストデータが、SCANチャネルSChを介して、シフトクロックに同期したタイミングに基づいて、SCAN階層100に供給される。
【0052】
本実施形態において、
図2の構成によって、半導体集積回路1に含まれる複数のSCAN階層100は、互いに独立にテストのための制御を実行できる。
【0053】
(2)テスト方法
図3乃至
図5を参照して、本実施形態の半導体集積回路1のテスト方法(制御方法)について、説明する。
【0054】
(a)基本例
図3は、本実施形態の半導体集積回路1のテスト方法の基本例(概念)を説明するための模式図である。
【0055】
図3に示されるように、本実施形態の半導体集積回路1のテスト方法(テスト動作)において、コア回路10のテスト(例えば、SCANテスト)は、複数のSCAN階層100に対して互いに独立に実行される。換言すると、コア回路10のテストは、SCAN階層100毎に時分割で実行される。
【0056】
時刻t0において、本実施形態の半導体集積回路1に対するテスト動作が、開始される。本実施形態の半導体集積回路1に対するテスト動作時、或るテストパターンのテストデータが、2つのSCANチャネルSChを介して、テスト装置から半導体集積回路1に供給される。
【0057】
8つのSCAN階層<0>,<1>,<2>,・・・,<7>100-0,100-1,100-2,・・・,100-7のうち、第1のSCAN階層<0>100-0に対してSCANテストが実行される場合、第2のSCAN階層<1>100-1乃至第8のSCAN階層<7>100-7は、マスク状態(非選択状態、遮断状態、待機状態)に設定される。
【0058】
時刻t10において、第1のSCAN階層<0>100-0は、階層選択回路220及びマスク制御回路230-0によって、選択状態に設定される。第2のSCAN階層<1>100-1乃至第8のSCAN階層<7>100-7は、階層選択回路220及びマスク制御回路230-1,・・・230-7によって、マスク状態に設定される。
【0059】
或るテストパターンのテストデータが、クロック生成回路210からのシフトクロックに同期したシフト動作(SHIFT)によって、第1のSCAN階層100-0の2つのSCANチャネル(内部SCANチャネル)を介して、選択されたSCAN階層<0>100-0のSCANチェーン回路120に入力される。
【0060】
テストデータの入力の後、選択されたSCAN階層<0>100-0は、ラウンチ動作(ラウンチクロックの供給)及びキャプチャ動作(キャプチャクロックの供給)の前に、階層選択回路220及びマスク制御回路230によって、待機状態(WAIT)に設定される。これによって、シフト動作後のSCAN階層<0>100-0は、SCANチェーン回路120の各SCANフリップフロップ121にデータが入力された状態で、一定の期間において放置される。
【0061】
時刻t11において、テストデータが入力された第1のSCAN階層<0>100-0が待機状態に設定された後、第2のSCAN階層<1>100-1が、階層選択回路220及びマスク制御回路230によって、選択状態に設定される。第3のSCAN階層<2>100-2乃至第8のSCAN階層<7>100-7は、階層選択回路220及びマスク制御回路230によって、マスク状態に設定される。
【0062】
これによって、選択された第2のSCAN階層<1>100-1に対して、テストデータの入力のためのシフト動作が、クロック生成回路210からのシフトクロックに応じて、実行される。この時、第1のSCAN階層<0>100-0は、待機状態によって、SCANチェーン回路120内におけるデータの保持を継続している。
【0063】
例えば、第2のSCAN階層<1>100-1に入力されるテストデータのテストパターンは、第1のSCAN階層<0>100-0に入力されるテストデータのテストパターンと異なる。第2のSCAN階層<1>100-1のクロック系統が、第1のSCAN階層<0>100-0のクロック系統と異なる場合、第2のSCAN階層<1>100-1に対するシフトクロックは、第1のSCAN階層<0>100-0に対するシフトクロックと異なってもよい。
【0064】
テストデータの入力後、第2のSCAN階層<1>100-1は、第1のSCAN階層<0>100-0と同様に、ラウンチ動作及びキャプチャ動作の前の期間において、待機状態に設定される。
【0065】
この後、時刻t12から時刻t17のそれぞれにおいて、第3のSCAN階層<2>100-2乃至第8のSCAN階層<7>100-7のそれぞれが、階層選択回路220及びマスク制御回路230によって、互いに異なるタイミングで、順次選択状態に設定される。シフト動作によるテストデータの入力が、選択状態に設定されたSCAN階層100のそれぞれに対して、順次実行される。テストデータが入力されたSCAN階層100は、ラウンチ動作及びキャプチャ動作の前の期間において、待機状態に設定される。
【0066】
時刻t20において、第8のSCAN階層<7>100-7に対するシフト動作の後、待機状態の第1のSCAN階層<0>100-0が、階層選択回路220及びマスク制御回路230によって、選択される。第1のSCAN階層<0>100-0の状態が、待機状態から選択状態に移行する。尚、第1のSCAN階層<0>100-0以外のSCAN階層<1>,・・・,<7>100-1,・・・,100-7は、待機状態に維持されている。
【0067】
選択状態に設定された第1のSCAN階層<0>(待機状態後のSCAN階層)100-0に対して、実動作速度のSCANテストのためのラウンチ動作及びキャプチャ動作(L/C)が、実行される。ラウンチクロック及びシフトクロックが、クロック生成回路210から選択状態の第1のSCAN階層<0>100-0に供給される。
【0068】
ラウンチクロックによって、選択状態の第1のSCAN階層<0>100-0のSCANフリップフロップ121は、伸張回路123Aからのテストデータを、記憶する。これによって、テストデータが、フリップフロップ121から組合せ回路110に、供給される。
【0069】
キャプチャクロックによって、供給されたテストデータに応じた組合せ回路110からの出力信号が、フリップフロップ121に供給される。組合せ回路110からの出力信号が、フリップフロップ121に記憶される。これによって、第1のSCAN階層100に属する組合せ回路110のテスト結果が、取得される。フリップフロップ121は、記憶したデータを圧縮回路123Bへ出力する。フリップフロップ121にキャプチャクロックによって記憶されたデータは、第1のSCAN階層<0>のSCANテストの結果として、圧縮回路123B及びセレクタ250を介して、テスト装置に供給される。
【0070】
キャプチャクロックの供給後のシフト動作(シフトクロックの供給)によって、テストデータの入力とテスト結果の出力とが、同時に実行される。
【0071】
テスト装置は、半導体集積回路1の第1のSCAN階層<0>100から供給されたデータを、或るデータパターンを有する期待値データと比較する。期待値データは、組合せ回路110が故障を含まない場合において、供給されたテストデータに応じて組合せ回路110の出力信号から得られるデータパターンを有するデータである。これによって、或るテストパターンのテストデータに対する第1のSCAN階層<0>100-0の故障の有無が、検証される。
【0072】
第1のSCAN階層<0>100-0に対するラウンチクロック及びキャプチャクロックの供給の後、新たなテストパターンのテストデータが、シフトクロックに同期したシフト動作によって、選択状態の第1のSCAN階層<0>100-0に供給される。
【0073】
第1のSCAN階層<0>(100-0)に対して新たなテストデータが入力されている期間において、他のマスク状態のSCAN階層(100-1,・・・,100-7)は、待機状態に設定されているる。
【0074】
テストデータの入力の後、第1のSCAN階層<0>100-0は、待機状態に設定される。
【0075】
時刻t21において、第1のSCAN階層<0>100-0が待機状態に設定された後、第2のSCAN階層<1>100-1が、階層選択回路220及びマスク制御回路230によって、選択状態に設定される。
【0076】
選択状態に設定された第2のSCAN階層<1>100-1に対して、第1のSCAN階層<0>100-0に対するテスト動作と同様に、ラウンチクロックによるラウンチ動作及びキャプチャクロックによるキャプチャ動作が、実行される。
【0077】
これによって、テストデータに対する第2のSCAN階層<1>100-1のテスト結果が、取得される。SCAN階層<1>100-1のテスト結果を示すデータは、セレクタ250を介して、テスト装置に供給される。第2のSCAN階層100-1の故障の有無が、検知される。
【0078】
この後、時刻t22以降において、第1及び第2のSCAN階層100-0,100-1に対する動作と同様の動作によって、第3のSCAN階層<3>100-2乃至第8のSCAN階層<7>100-7に対する、ラウンチ動作、キャプチャ動作、及び再度のシフト動作が、SCAN階層100ごとに順次実行される。
【0079】
以上のように、本実施形態の半導体集積回路1のテスト方法において、SCANテストのための各種の動作が、複数のSCAN階層100ごとに並列(時分割)に、実行される。
【0080】
本実施形態の半導体集積回路1のテスト方法において、SCAN階層100は、SCAN階層100に対するシフト動作(テストデータの入力)後からラウンチ/キャプチャ動作の実行前の期間において、他のSCAN階層100に対するシフト動作に並行して、待機状態に設定される。
【0081】
これによって、本実施形態の半導体集積回路1のテスト方法において、SCANチェーン回路120(SCANフリップフロップ121)におけるデータの保持状態が長期間に及んだ際に生じる組合せ回路110の故障が、検出され得る。
【0082】
この結果として、本実施形態の半導体集積回路1のテスト方法は、半導体集積回路に対するテストの信頼性を、向上できる。
【0083】
(b)動作例
図4及び
図5を参照して、本実施形態の半導体集積回路1のテスト方法について、説明する。
図4は、本実施形態の半導体集積回路1のテスト方法を示すフローチャートである。
図5は、本実施形態の半導体集積回路1のテスト方法を説明するための模式図である。ここでは、
図1乃至
図3も、本実施形態の半導体集積回路1のテスト方法の説明に、適宜参照され得る。
【0084】
図4に示されるように、本実施形態の半導体集積回路1のテスト方法に基づいて、半導体集積回路1に対するテスト動作(例えば、SCANテスト)が、開始される。
【0085】
図5に示されるように、本実施形態の半導体集積回路1は、テスト装置5(5A,5B)に接続される。本実施形態のテスト動作は、複数の半導体集積回路1(1-0,1-1,1-2・・・,1-7)のチップ(チップ<0>、チップ<1>、チップ<2>、・・・、チップ<7>)に対して、同時に(並列に)実行される。
【0086】
例えば、テスト装置5が16のテストチャネルTChを有し、各半導体集積回路1が2つのSCANチャネルSChを有する場合、テスト動作が、8つの半導体集積回路1-0,・・・,1-7に対して同時に実行される。このように、テスト装置5のp個のテストチャネルが、q個の半導体集積回路1のそれぞれに対して、SCANチャネルSChとして、“p/q”個ずつ割り当てられる。p及びqは、2以上の整数である。
【0087】
テスト装置5は、SCANテストに関するイネーブル信号SCANSEを、8つの半導体集積回路1-0,1-1,・・・,1-7のそれぞれに供給する。SCANテストの開始に応じて、イネーブル信号SCANSEの信号レベルは、“L”レベルから“H”レベルに遷移される。これによって、テスト装置5は、複数の半導体集積回路1に対するSCANテストを開始する。
【0088】
<S1>
SCANテストの対象の各半導体集積回路1に含まれる複数のSCAN階層100のうち、第XのSCAN階層(例えば、第1のSCAN階層)100-0が、階層選択回路220及びマスク制御回路230による制御によって、選択される。残りのSCAN階層100-1,・・・100-7は、マスク状態(非選択状態)に設定される。Xは、1以上の整数である。
【0089】
本実施形態において、複数(例えば、8つ)の半導体集積回路1-0,1-1,・・・,1-7に対して同時にSCANテストが、実行される。それゆえ、8つの半導体集積回路1に関して、8つの第1のSCAN階層100-0が、SCANテストの対象として選択される。本実施形態の半導体集積回路1のテスト方法における、SCANテストのための各種の処理が、各半導体集積回路1の選択されたSCAN階層に対して、同時に実行される。
【0090】
<S2>
各半導体集積回路1において、選択されたSCAN階層100-0に対して、或るテストパターンの第j(j番目)のテストデータが、テスト装置5Aから供給される。テストデータは、シフトクロックに基づくシフト動作によって、選択されたSCAN階層100-0において、SCANチェーン回路120内のSCANフリップフロップ121に供給される。jは、1以上の整数である。
【0091】
テストデータは、階層選択回路220及びマスク制御回路230による制御によって、マスク状態のSCAN階層100に供給されない。
【0092】
<S3>
各半導体集積回路1において、選択されたSCAN階層100-0は、階層選択回路220及びマスク制御回路230による制御によって、テストデータがSCAN階層100-0に保持された状態で、待機状態に設定される。
【0093】
<S4>
SCAN階層100-0が待機状態に設定された後、各半導体集積回路1において、複数のSCAN階層100のうち、第YのSCAN階層(例えば、第2のSCAN階層)100-1が、階層選択回路220及びマスク制御回路230による制御によって、選択される。残りのSCAN階層100は、マスク状態に設定される。Yは、Xの値と異なる1以上の整数である。
【0094】
<S5>
各半導体集積回路1において、選択された第YのSCAN階層100-1に対して、或るテストパターンの第hのテストデータが、シフト動作に応じて、テスト装置5Aから供給される。hは、1以上の整数である。例えば、第YのSCAN階層100-1に供給されるテストデータのテストパターンは、第XのSCAN階層100-0に供給されるテストデータのデータパターンと異なる。但し、第YのSCAN階層100-1に供給されるテストデータのテストパターンは、第XのSCAN階層100-0に供給されるテストデータのデータパターンと同じ場合もある。
【0095】
<S6>
第YのSCAN階層100-1に対するテストデータの供給の後、各半導体集積回路1において、第YのSCAN階層100-1は、待機状態に設定される。
【0096】
第YのSCAN階層100-1がテストデータを受けてから待機状態に設定される期間において、テストデータを保持している第XのSCAN階層100-0の待機状態は、維持される。
【0097】
この後、各半導体集積回路1において、第X及び第YのSCAN階層100-0,100-1に対する動作と同様に、テストデータが、選択状態に設定された残りの複数のSCAN階層(例えば、第3乃至第8のSCAN階層)100のそれぞれに、順次供給される。テストデータが供給されたSCAN階層100は、待機状態に順次設定される。
【0098】
<S7>
各半導体集積回路1において、第XのSCAN階層100-0(及び第YのSCAN階層100-1)が待機状態に設定されてから或る期間が経過した後(例えば、
図3参照)、第XのSCAN階層100-0の待機状態が、階層選択回路220及びマスク制御回路230による制御によって、解消される。第XのSCAN階層100-0は、再び選択状態に設定される。
【0099】
各半導体集積回路1において、ラウンチクロック及びキャプチャクロックが、待機状態後の第XのSCAN階層100-0に供給される。これによって、ラウンチ/キャプチャ動作が、待機状態後の第XのSCAN階層100-0に対して実行される。
【0100】
ラウンチクロック及びキャプチャクロックの供給の後、シフトクロックが、第XのSCAN階層100-0に供給される。これによって、シフト動作が、第XのSCAN階層100-0に対して、実行される。
【0101】
この結果として、待機状態後の第XのSCAN階層100-0におけるテストデータに対するSCANテストの結果が、シフト動作によって、取得される。第XのSCAN階層100-0のSCANテストの結果は、セレクタ250を介して、テスト装置5Bに転送される。テストデータに対する第XのSCAN階層100-0の故障の有無が、テスト装置5(5A,5B)によって、検証される。
【0102】
供給すべきテストデータが存在する場合、或るテストパターンの新たなテストデータ(第j+1のテストデータ)が、SCANテストの結果の取得と共に(同時に)、シフト動作によって、選択された第XのSCAN階層100-0に供給される。
【0103】
<S8>
新たなテストデータが供給された第XのSCAN階層100-0は、待機状態に再び設定される。
【0104】
<S9>
第XのSCAN階層100-0に対するラウンチ/キャプチャ動作及びシフト動作の後、各半導体集積回路1において、第YのSCAN階層100-1の待機状態が、階層選択回路220及びマスク制御回路230による制御によって、解消される。第YのSCAN階層100-1は、再び選択状態に設定される。
【0105】
ラウンチクロック及びキャプチャクロックが、各半導体集積回路1の選択された第YのSCAN階層100-1に供給される。これによって、ラウンチ/キャプチャ動作が、待機状態後の第YのSCAN階層100-1に対して実行される。
【0106】
ラウンチクロック及びキャプチャクロックの供給の後、シフトクロックが、第YのSCAN階層100-1に供給される。これによって、シフト動作が、第YのSCAN階層100-1に対して、実行される。
【0107】
この結果として、待機状態後の第YのSCAN階層100-1におけるテストデータに対するSCANテストの結果が、シフト動作によって、取得される。第YのSCAN階層100-1のSCANテストの結果は、、セレクタ250を介して、テスト装置5Bに転送される。テストデータに対する第YのSCAN階層100-1の故障の有無が、検証される。
【0108】
供給すべきテストデータが存在する場合、或るテストパターンの新たなテストデータが、SCANテストの結果の取得と共に(同時に)、シフト動作によって、選択された第YのSCAN階層100-0に供給される。
【0109】
<S10>
新たなテストデータが供給された第YのSCAN階層100-1は、待機状態に再び設定される。
【0110】
この後、各半導体集積回路1において、第X及び第YのSCAN階層100-0,100-1に対する動作と同様に、残りの複数のSCAN階層100のそれぞれの待機状態は、順次解消される。ラウンチクロック、キャプチャクロック及びシフトクロックが、待機状態から解消されたSCAN階層100に、順次供給される。これによって、テストデータに対するテスト結果が、待機状態後のSCAN階層100のそれぞれから順次取得される。また、テスト結果の取得と同時に、新たなテストデータが、待機状態後のSCAN階層100のそれぞれに供給され得る。
【0111】
<S11>
テスト装置5(又はテスト制御回路20)は、SCANテストが終了したか否か、判定する。テスト装置5がSCANテストは終了していないと判定した場合(S11のNOの場合)、上述のS7からS10の処理が、繰り返し実行される。
【0112】
テスト装置5がSCANテストは終了した判定した場合(S11のYESの場合)、複数の半導体集積回路1に対して並行に実行されたSCANテストは、終了する。同時にSCANテストが実行された複数の半導体集積回路1-0,1-1,1-2・・・,1-7に関して、各半導体集積回路1内の複数のSCAN階層(全てのSCAN階層)100に対するSCANテストの結果に基づいて、半導体集積回路1の故障の有無が、テスト装置5によって、判定される。
【0113】
以上のように、本実施形態の半導体集積回路のテスト方法が、終了する。
【0114】
本実施形態の半導体集積回路1のテスト方法において、テスト動作が、複数の半導体集積回路1に対して同時に実行される。これによって、SCAN階層100が、シフト動作とラウンチ/キャプチャ動作との間の期間に、待機状態に設定されていたとしても、複数の半導体集積回路1の集合のテスト期間は、増大しない。この結果として、本実施形態の半導体集積回路1及び半導体集積回路1のテスト方法は、テスト動作の信頼性を向上させつつ、テスト動作のコストの増大を回避できる。
【0115】
(3)まとめ
本実施形態の半導体集積回路1は、SCANテストの対象となるコア回路が、複数の階層(SCAN階層)100に分割されている。
【0116】
本実施形態において、SCANテストのための各種の動作が、複数のSCAN階層100に対して互いに独立に、実行される。
【0117】
各SCAN階層100のSCANテストにおいて、テスト対象のSCAN階層100は、シフト動作とラウンチ/キャプチャ動作との間の期間において、待機状態に設定される。
【0118】
これによって、本実施形態の半導体集積回路1及びそのテスト方法は、SCAN階層100のSCANフリップフロップ121及び組合せ回路110がデータを保持している期間中に発生し得る故障(遅延故障)を、検出できる。
【0119】
この結果として、本実施形態の半導体集積回路1及びそのテスト方法は、半導体集積回路のテストの信頼性を向上できる。
【0120】
本実施形態において、半導体集積回路1に対するSCANテストは、分割されたSCAN階層100毎に、それぞれ独立に実行される。それゆえ、本実施形態の半導体集積回路1及びそのテスト方法は、コア回路全体に対してSCANテストが一度に実行される場合に比較して、電源ドロップの発生を抑制できる。この結果として、本実施形態の半導体集積回路1及びそのテスト方法は、テスト動作を安定化でき、テスト動作によって発生する消費電力を低減できる。
【0121】
これに伴って、本実施形態の半導体集積回路1及びそのテスト方法は、シフト動作時及びラウンチ/キャプチャ動作時における電力制御を高くできる。それゆえ、本実施形態の半導体集積回路1及びそのテスト方法は、テストデータのパターン効率を、一般的な半導体集積回路のテスト方法よりも向上できる。この結果として、本実施形態の半導体集積回路1及びそのテスト方法は、テストのコストを削減できる可能性がある。
【0122】
本実施形態の半導体集積回路1のテスト方法において、SCAN階層100ごとのSCANテストが、複数の半導体集積回路1に対して同時に実行される。それゆえ、本実施形態の半導体集積回路1のテスト方法は、SCAN階層100に対するSCANテストにおけるシフト動作とラウンチ/キャプチャ動作との間に、SCAN階層100が待機状態に設定される期間が設けられたとしても、複数の半導体集積回路1の集合に対するテスト時間の長期化は、抑制される。この結果として、本実施形態の半導体集積回路1のテスト方法は、テストコストの増大を、回避できる。
【0123】
以上のように、本実施形態の半導体集積回路及びそのテスト方法は、半導体集積回路に対するテストの信頼性を向上できる。
【0124】
(4)その他
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0125】
1:半導体集積回路、10:コア回路、20:テスト制御回路、100,100-0,100-1,・・・,100-7:SCAN階層、110:組合せ回路、120:SCANチェーン回路、121,フリップフロップ、900:SCANチェーン、210:クロック生成回路、220:階層選択回路、230:マスク制御回路、250:セレクタ。