以下、図面を用いて実施形態を説明する。電源電圧(電源電圧VDD、接地電圧GND)が伝達される電源線には、電源電圧名と同じ符号を使用する。
図1は、半導体装置および半導体装置の試験方法の一実施形態を示す。図1に示した端子TM(TM10a、TM11t、TM13b、TM20a、TM21t、TM23b等)、バンプBP(BP0a、BP1t、BP3b等)の符号の末尾のa、b、tは、端子TMおよびバンプBPが属するグループを示す。例えば、端子TM10a、TM12a、TM14a、TM20a、TM22a、TM24a、バンプBP0a、BP2a、BP4aは、複数の第1グループ(以下、冗長グループとも称する)のうちの冗長グループAに属する。端子TM13b、TM15b、TM23b、TM25b、バンプBP3b、BP5bは、複数の第1グループのうちの冗長グループBに属する。また、端子TM11t、TM21t、バンプBP1tは、第1グループ以外のグループTに属する。
半導体装置SEM1は、複数のチップCHIP(CHIP1、CHIP2)が単一のパッケージに格納されるSiP(System in Package)である。例えば、半導体装置SEM1は、複数のチップCHIP(CHIP1、CHIP2)と、複数のチップCHIPの所定の面に配置された複数の端子TMを相互に接続するマイクロバンプ等のバンプBPとを有する。バンプBPは、複数のチップCHIPの所定の面に配置された複数の端子TMを相互に接続する接続部の一例である。
例えば、チップCHIP1の端子TMは、バンプBPを介して、チップCHIP2の端子TMに電気的に接続される。端子TM(TM10a、TM11t、TM12a、TM13b、TM14a、TM15b、TM20a、TM21t、TM22a、TM23b、TM24a、TM25b)は、チップCHIP1、CHIP2間のデータ転送に使用されるI/O端子等である。
複数のチップCHIPの各々の所定数の端子TMは、複数の冗長グループのいずれかに属する。各冗長グループは、冗長な端子TM(予備の端子TM)の組を少なくとも1つ有する。図1に示した冗長グループAでは、端子TM10a、TM20aの組、端子TM12a、TM22aの組、端子TM14a、TM24aの組のいずれか1つが予備の端子TMの組に対応する。グループTは、予備の端子TMを含まないグループであり、冗長グループ以外のグループの1つである。
次に、チップCHIP1の端子配列について説明する。図1に示した括弧内は、チップCHIP1の端子配列の一例を示す。図1に示した端子TM内の符号A、Bは、冗長グループA、Bを示す。また、図1に示した端子TM内の符号Tは、他のグループT(冗長グループ以外のグループT)を示す。
冗長グループAは、複数の第1の出力バッファ部(出力バッファ部OBU1等)の各々からの信号を出力するとともに、互いに第1の距離(例えば、(√2)×β)だけ離された位置に配置される複数の第1の端子が属する第1グループの一例である。冗長グループBは、互いに第2の距離(例えば、(√2)×β)だけ離された位置に配置され、かつ、複数の第1の端子に対して第1の距離未満である第3の距離(例えば、β)だけ離された位置に配置される複数の第2の端子が属する第2グループの一例である。第2グループに属する複数の第2の端子は、複数の第2の出力バッファ部(図示せず)の各々からの信号を出力する。
なお、第2の距離(冗長グループB内で互いに隣接する端子TMの間隔)は、第1の距離(冗長グループA内で互いに隣接する端子TMの間隔)と等しいとは限らない。すなわち、第1の距離と第2の距離とは、互いに等しくてもよいし、異なっていてもよい。
端子TMは、互いに隣接する端子TMの間隔が所定間隔β以上になるように、チップCHIP1の表面(チップCHIP1の機能を実現する論理回路が形成される面)に配置される。例えば、端子TMは、格子状に配置される。格子状に配置された端子TMの横方向の間隔および縦方向の間隔は、両方とも所定間隔βである。なお、複数の冗長グループのうち、互いに同じ冗長グループに属する端子TMは、所定間隔βより大きい間隔で配置される。
例えば、図1の括弧内に示した端子配列の上から1行目では、冗長グループAに属する端子TMと冗長グループBに属する端子TMとが、交互に配置される。端子配列の上から2行目では、冗長グループBに属する端子TM、冗長グループAに属する端子TM、冗長グループBに属する端子TM、冗長グループAに属する端子TM、グループTに属する端子TMの順に、各端子TMが配置される。そして、端子配列の上から3行目以降では、冗長グループAに属する端子TMと冗長グループBに属する端子TMとが、図1の横方向に沿って交互に配置され、かつ、縦方向に沿って交互に配置される。
この場合、所定間隔βは、例えば、冗長グループA内の複数の端子TMのうちの第1端子TMと、第1端子TMに隣接する他の冗長グループ(冗長グループA以外の冗長グループB)内の端子TMとの間隔に対応する。なお、図1の括弧内に示した端子配列において、斜め方向に隣接する端子TMの間隔(例えば、冗長グループA内で互いに隣接する端子TMの間隔)は、(√2)×βで表され、所定間隔βより大きい。このように、冗長グループA内の複数の端子TMは、所定間隔βより大きい間隔で配置される。同様に、冗長グループB内の複数の端子TMは、所定間隔βより大きい間隔で配置される。
これにより、半導体装置SEM1では、互いに同じ冗長グループに属する複数の端子TMの間隔が所定間隔βである配置に比べて、互いに同じ冗長グループに属する2つの端子TMが短絡する確率を小さくできる。なお、チップCHIP2の端子TMの配置は、例えば、チップCHIP1とチップCHIP2とが表面を互いに対向させて接続される場合(フリップチップ接続)、図1の括弧内に示したチップCHIP1の端子配列を左右反転した配置と同一または同様である。
また、例えば、チップCHIP1の端子TMとチップCHIP2の端子TMとがチップCHIPの基板を貫通する貫通電極を用いて接続される場合、チップCHIP2の端子TMの配置は、チップCHIP1の端子TMの配置と同一または同様である。貫通電極は、例えば、チップCHIPの基板を貫通する電極である。例えば、チップCHIP2が貫通電極を有する場合、チップCHIP1の表面とチップCHIP2の裏面とを対向させて、チップCHIP1とチップCHIP2とが接続される。なお、複数のチップCHIPは、横方向に並べて配置されてもよい。また、チップCHIPの端子配列は、この例に限定されない。例えば、端子TMは、図3に示すように、千鳥状に配置されてもよい。
次に、各チップCHIP内の回路(端子TM周辺の回路)について説明する。各チップCHIP(CHIP1、CHIP2)は、内部回路CKT(CKT1、CKT2)と、複数の冗長グループの各々に対応して設けられた選択部SELU(SELU1、SELU2)とを有する。また、チップCHIP1は、出力バッファ部OBU(OBU1、OBU2、OBU3)、プルアップ部PUU(PUU1、PUU2、PUU3)およびプルダウン部PDU(PDU1、PDU2、PDU3)をさらに有する。図1では、冗長グループA以外の冗長グループ(例えば、冗長グループB)に対応する選択部SELU、出力バッファ部OBU、プルアップ部PUUおよびプルダウン部PDUの記載を省略している。
内部回路CKT1は、チップCHIP1の機能を実現する論理回路の一部であり、内部回路CKT2は、チップCHIP2の機能を実現する論理回路の一部である。例えば、内部回路CKT1は、信号線WL10等を介して選択部SELU1に信号を出力する。また、内部回路CKT1は、冗長グループB等に対応する選択部SELU(図示せず)に信号を出力する。内部回路CKT2は、信号線WL20等を介して選択部SELU2から信号を受ける。また、内部回路CKT2は、冗長グループB等に対応する選択部SELU(図示せず)から信号を受ける。
選択部SELU(SELU1、SELU2)は、複数の端子TMのうち、信号を伝達する端子TMを選択する。すなわち、選択部SELU1、SELU2は、チップCHIP1、CHIP2間の信号経路を選択する。これにより、例えば、チップCHIP1内の信号線WL10とチップCHIP2内の信号線WL20との間の信号経路、チップCHIP1内の信号線WL11とチップCHIP2内の信号線WL21との間の信号経路等が決定する。
例えば、選択部SELUは、信号線WL10、WL20間の信号経路として、端子TM10a、バンプBP0a、端子TM20a等を含む信号経路と、端子TM12a、バンプBP2a、端子TM22a等を含む信号経路とのいずれかを選択する。また、選択部SELUは、信号線WL11、WL21間の信号経路として、端子TM12a、バンプBP2a、端子TM22a等を含む信号経路と、端子TM14a、バンプBP4a、端子TM24a等を含む信号経路とのいずれかを選択する。
選択部SELUにより選択される信号経路は、例えば、半導体装置SEM1を試験した際に決定される。例えば、バンプBP3b、BP4aが短絡している場合、端子TM10a、バンプBP0a、端子TM20a等を含む信号経路が信号線WL10、WL20間の信号経路として選択されている。また、端子TM12a、バンプBP2a、端子TM22a等を含む信号経路が信号線WL11、WL21間の信号経路として選択されている。
なお、例えば、バンプBP2a、BP3bが短絡している場合、選択部SELUは、信号線WL11、WL21間の信号経路として、端子TM14a、バンプBP4a、端子TM24a等を含む信号経路を選択する。このように、半導体装置SEM1は、互いに隣接する配線(例えば、バンプBP2a、BP3b)が短絡した場合でも、チップCHIP1、CHIP2間の信号経路を救済できる。
ここで、例えば、複数の端子TMが複数の冗長グループに分けられていない場合(冗長グループが1つのみの場合)、選択部SELUは、例えば、バンプBP2a、BP3b、BP4aをそれぞれ含む3つの信号経路から、バンプBP4aを含む信号経路を選択する。この場合、各信号線WLの信号経路を選択する際の選択対象の数が増加するため、各信号線WLに対応して設けられるセレクタ等の回路規模が増大する。換言すれば、半導体装置SEM1では、複数の端子TMが複数の冗長グループに分けられているため、選択部SELUの回路規模が増大することを抑制できる。すなわち、半導体装置SEM1は、選択部SELUの回路規模の増大を抑制しつつ、短絡した信号経路を救済できる。
出力バッファ部OBU(OBU1、OBU2、OBU3)は、冗長グループに属する複数の端子TMのうち、信号を他のチップCHIP(例えば、チップCHIP2)に出力する出力端子TM毎に設けられる。例えば、出力バッファ部OBU1、OBU2、OBU3は、端子TM10a、TM12a、TM14aにそれぞれ対応して設けられる。なお、チップCHIP1の端子TM10a、TM12a、TM14aは、信号を他のチップCHIP2に出力する出力端子TMである。
出力バッファ部OBU2、OBU3の構成および動作は、出力バッファ部OBU1と同一または同様である。このため、図1では、出力バッファ部OBU1について説明する。なお、出力バッファ部OBU1、OBU2、OBU3を制御する制御信号CTL1は、出力バッファ部OBU1、OBU2、OBU3で共通でもよいし、互いに独立していてもよい。
出力バッファ部OBU1は、選択部SELU1と出力端子TM10aとの間に配置される。そして、出力バッファ部OBU1は、出力端子TM10aに接続された出力ノードNDOをハイインピーダンスにするハイインピーダンス状態と、ハイインピーダンス状態以外の状態である出力状態とのいずれかに、制御信号CTL1に基づいて設定される。ハイインピーダンス状態は、選択部SELU1から出力された信号を遮断する遮断状態の一例である。出力状態は、選択部SELU1から出力された信号を中継する中継状態の一例である。
出力状態では、出力バッファ部OBU1は、入力ノードNDIで受けた信号に応じた論理レベルの信号を、出力ノードNDOから出力する。例えば、出力バッファ部OBU1は、選択部SELU1から転送された信号を入力ノードNDIで受ける。あるいは、出力バッファ部OBU1は、チップCHIP1、CHIP2間の接続を試験するためのテスト用の信号をスキャンチェーン等を通じて入力ノードNDIで受ける。
そして、出力状態に設定された出力バッファ部OBU1は、入力ノードNDIで受けた信号に応じた論理レベルの信号を、出力ノードNDOから端子TM10aに出力する。これにより、出力バッファ部OBU1の入力ノードNDIに転送された信号は、チップCHIP2に転送される。なお、出力バッファ部OBU1がハイインピーダンス状態に設定されている場合、出力バッファ部OBU1の入力ノードNDIに転送された信号は、チップCHIP2に伝達されない。
プルアップ部PUU(PUU1、PUU2、PUU3)およびプルダウン部PDU(PDU1、PDU2、PDU3)は、冗長グループに属する複数の端子TMのうち、信号を他のチップCHIPに出力する出力端子TM毎に設けられる。プルアップ部PUU2、PUU3の構成および動作は、プルアップ部PUU1と同一または同様である。プルダウン部PDU2、PDU3の構成および動作は、プルダウン部PDU1と同一または同様である。
このため、図1では、プルアップ部PUU1およびプルダウン部PDU1について説明する。なお、プルアップ部PUU1、PUU2、PUU3を制御する制御信号CTL2は、プルアップ部PUU1、PUU2、PUU3で共通でもよいし、互いに独立していてもよい。同様に、プルダウン部PDU1、PDU2、PDU3を制御する制御信号CTL3は、プルダウン部PDU1、PDU2、PDU3で共通でもよいし、互いに独立していてもよい。
プルアップ部PUU1は、出力端子TM10aと電源電圧VDDが供給される電源線VDDとを抵抗を介して接続または出力端子TM10aと電源線VDDとを非接続する。すなわち、プルアップ部PUU1は、出力端子TM10aの状態を、出力端子TM10aと電源線VDDとが抵抗を介して接続されるプルアップ状態と、出力端子TM10aと電源線VDDとが非接続である状態とのいずれかに制御信号CTL2に応じて設定する。
プルダウン部PDU1は、出力端子TM10aと接地電圧GNDが供給される接地線GNDとを抵抗を介して接続または出力端子TM10aと接地線GNDとを非接続する。すなわち、プルダウン部PDU1は、出力端子TM10aの状態を、出力端子TM10aと接地線GNDとが抵抗を介して接続されるプルダウン状態と、出力端子TM10aと接地線GNDとが非接続である状態とのいずれかに制御信号CTL3に応じて設定する。
例えば、出力端子TM10aは、チップCHIP1、CHIP2間を接続する複数の配線(バンプBP等)のうちの互いに短絡している配線を検出する短絡試験を実行する際に、プルアップ状態、プルダウン状態等に設定される。以下では、チップCHIP1、CHIP2間を接続する複数の配線のうちの互いに短絡している配線を検出する短絡試験について説明する。
半導体装置SEM1をテストするテスト装置は、複数の冗長グループから検査対象の冗長グループAを選択する。そして、テスト装置は、検査対象以外の冗長グループ(例えば、冗長グループB等)に対応する信号経路に接地電圧GNDに対応する第1レベル(以下、低論理レベルとも称する)のデータを転送する第1テスト(以下、第1短絡試験とも称する)を実行する。さらに、テスト装置は、検査対象以外の冗長グループに対応する信号経路に電源電圧VDDに対応する第2レベル(以下、高論理レベルとも称する)のデータを転送する第2テスト(以下、第2短絡試験とも称する)を実行する。
例えば、テスト装置は、検査対象の冗長グループAに対応する出力バッファ部OBU(OBU1、OBU2、OBU3)を、制御信号CTL1を制御してハイインピーダンス状態に設定する。
そして、第1短絡試験では、テスト装置は、検査対象の冗長グループAに属する端子TM(TM10a、TM12a、TM14a)をプルアップ状態に設定する。例えば、テスト装置は、検査対象の冗長グループAに対応するプルアップ部PUUの制御信号CTL2を制御して、検査対象の冗長グループAに属する端子TM(TM10a、TM12a、TM14a)と電源線VDDとを抵抗を介して接続する。これにより、検査対象の冗長グループAに対応する信号経路に高論理レベルの信号が伝達される。
そして、テスト装置は、検査対象以外の冗長グループに対応する信号経路に低論理レベルのデータを転送する。例えば、テスト装置は、制御信号CTL1を制御して、検査対象以外の冗長グループに対応する出力バッファ部OBUを出力状態に設定する。そして、テスト装置は、低論理レベルのデータをスキャンチェーン等を通じて出力バッファ部OBUの入力ノードNDIに転送する。これにより、検査対象以外の冗長グループに対応する信号経路に低論理レベルのデータが転送される。
検査対象の冗長グループAに対応する信号経路のうち、冗長グループA以外の冗長グループに対応する信号経路に短絡した信号経路または接地線GNDに短絡した信号経路では、低論理レベルのデータが転送される。これにより、冗長グループA以外の冗長グループに対応する信号経路または接地線GNDと、冗長グループAに対応する信号経路との短絡が検出される。
なお、第2短絡試験では、テスト装置は、検査対象の冗長グループAに属する端子TM(TM10a、TM12a、TM14a)をプルダウン状態に設定する。例えば、テスト装置は、検査対象の冗長グループAに対応するプルダウン部PDUの制御信号CTL3を制御して、検査対象の冗長グループAに属する端子TM(TM10a、TM12a、TM14a)と接地線GNDとを抵抗を介して接続する。これにより、検査対象の冗長グループAに対応する信号経路に低論理レベルの信号が伝達される。
そして、テスト装置は、検査対象以外の冗長グループに対応する信号経路に高論理レベルのデータを転送する。例えば、テスト装置は、制御信号CTL1を制御して、検査対象以外の冗長グループに対応する出力バッファ部OBUを出力状態に設定する。そして、テスト装置は、高論理レベルのデータをスキャンチェーン等を通じて出力バッファ部OBUの入力ノードNDIに転送する。これにより、検査対象以外の冗長グループに対応する信号経路に高論理レベルのデータが転送される。
検査対象の冗長グループAに対応する信号経路のうち、冗長グループA以外の冗長グループに対応する信号経路に短絡した信号経路または電源線VDDに短絡した信号経路では、高論理レベルのデータが転送される。これにより、冗長グループA以外の冗長グループに対応する信号経路または電源線VDDと、冗長グループAに対応する信号経路との短絡が検出される。
なお、テスト装置は、第1短絡試験および第2短絡試験を、冗長グループ毎に実行する。そして、テスト装置は、短絡等の故障が発生した信号経路を第1短絡試験および第2短絡試験の結果に基づいて特定し、チップCHIP1、CHIP2間の信号経路を決定する。例えば、選択部SELU1、SELU2は、第1短絡試験および第2短絡試験の結果に基づいて、複数の端子TMのうち、信号を伝達する端子TMを選択する。
ここで、図1の括弧内に示したように、互いに同じ冗長グループに属する複数の端子TMの間隔は、所定間隔βより大きい。したがって、テスト装置は、所定間隔βで互いに隣接する端子TM(例えば、冗長グループAに属する端子TMと冗長グループBに属する端子TM)が短絡していない場合、検査対象の冗長グループAに属する互いに隣接する端子TMは短絡していないと判定する。
これにより、半導体装置SEM1では、互いに短絡した信号経路を冗長グループ毎に実行される第1短絡試験および第2短絡試験の結果に基づいて特定できる。なお、例えば、互いに同じ冗長グループに属する複数の端子TMが所定間隔βで隣接する半導体装置では、互いに短絡した信号経路を冗長グループ毎に実行される第1短絡試験および第2短絡試験の結果に基づいて特定することは困難である。この種の半導体装置では、検査対象の冗長グループに属する端子TMと検査対象以外の冗長グループに属する端子TMとが短絡していない場合でも、検査対象の冗長グループに属する互いに隣接する端子TMが短絡している可能性が半導体装置SEM1に比べて高い。
このため、互いに同じ冗長グループに属する複数の端子TMが所定間隔βで隣接する半導体装置では、第1短絡試験および第2短絡試験に相当する試験を端子TM毎に実行することにより、短絡等の故障が発生した信号経路が特定される。したがって、短絡試験にかかる時間は、半導体装置SEM1の短絡試験に比べて増加する。換言すれば、半導体装置SEM1では、短絡試験にかかる時間を低減できる。
なお、半導体装置SEM1の構成および半導体装置SEM1の試験方法は、この例に限定されない。例えば、半導体装置SEM1は、第1短絡試験および第2短絡試験を実行するテスト回路を有してもよい。また、例えば、チップCHIP2は、冗長グループに属する複数の端子TMのうちの出力端子TMを有する場合、出力バッファ部OBU、プルアップ部PUUおよびプルダウン部PDUを有してもよい。
また、例えば、プルアップ部PUUおよびプルダウン部PDUは、チップCHIP1から省かれてもよい。この場合、半導体装置SEMをテストするテスト装置は、冗長グループAに対応する出力バッファ部OBUをハイインピーダンス状態に設定し、冗長グループA以外の冗長グループ(冗長グループB等)に対応する出力バッファ部OBUを出力状態に設定する。
そして、テスト装置は、冗長グループA以外の冗長グループに対応する信号経路に接地電圧GNDに対応する第1レベルのデータを転送する第1短絡試験を実行する。さらに、冗長グループA以外の冗長グループに対応する信号経路に電源電圧VDDに対応する第2レベルのデータを転送する第2短絡試験を実行する。
テスト装置は、第1短絡試験および第2短絡試験の結果に基づいて選択部SELU1を制御して、冗長グループAに属する複数の端子TMのうち、信号を伝達する端子TMを選択する。冗長グループA以外の各冗長グループに属する複数の端子TMから、信号を伝達する端子TMを選択する試験は、冗長グループAに属する複数の端子TMから、信号を伝達する端子TMを選択する試験と同様であり、冗長グループ毎に実行される。
以上、図1に示した実施形態では、端子TM等を含む複数の信号経路が複数の冗長グループに分けられ、互いに同じ冗長グループに属する複数の端子TMは、所定間隔βより大きい間隔で配置される。そして、この実施形態では、故障した信号経路を冗長グループ毎に救済する。例えば、選択部SELUが各冗長グループに対応して設けられ、出力バッファ部OBU、プルアップ部PUUおよびプルダウン部PDUが、冗長グループに属する複数の端子TMのうちの出力端子TM毎に設けられる。
半導体装置SEM1をテストするテスト装置は、出力バッファ部OBU、プルアップ部PUUおよびプルダウン部PDUを制御して、第1短絡試験と、第1短絡試験と異なる論理レベルのデータを転送する第2短絡試験とを冗長グループ毎に実行する。これにより、この実施形態では、第1短絡試験および第2短絡試験を端子TM毎に実行する場合に比べて、短絡試験にかかる時間を低減できる。この結果、半導体装置の製造コストを低減することができる。
図2は、半導体装置および半導体装置の試験方法の別の実施形態を示す。図1で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図2に示した端子TM(TM10a、TM11t、TM15b、TM20a、TM21t、TM25b等)、バンプBP(BP0a、BP1t、BP5b等)の符号の末尾のa、b、tの意味は、図1と同一または同様である。
半導体装置SEM2は、複数のチップCHIP(CHIP10、CHIP20)が単一のパッケージに格納されるSiPである。例えば、半導体装置SEM2は、複数のチップCHIP(CHIP10、CHIP20)と、複数のチップCHIPの所定の面に配置された複数の端子TMを相互に接続するバンプBPとを有する。複数のチップCHIPの各々の所定数の端子TMは、図1で説明したように、複数の冗長グループのいずれかに属する。
チップCHIP10は、フリップフロップ回路RC(RC10−RC12)、選択部SELU10、フリップフロップ回路BRC(BRC10−BRC13)、出力部OU(OU10−OU13)および端子TMを有する。端子TMのうち、端子TMDO1は、チップCHIP10の外部にデータを出力するテスト出力端子である。また、端子TMのうち、端子TMDI1は、チップCHIP10の外部からデータを受けるテスト入力端子である。チップCHIP10のテスト出力端子TMDO1およびテスト入力端子TMDI1は、半導体装置SEM2の外部端子として配置されてもよいし、他のチップCHIP(例えば、チップCHIP20)の所定の端子TMにバンプBPを介して接続されてもよい。
図2では、図を見やすくするために、冗長グループA以外の冗長グループ(例えば、冗長グループB)に対応する選択部SELU10、出力部OU、フリップフロップ回路BRC等の記載を省略している。さらに、図2では、テスト出力端子TMDO1、テスト入力端子TMDI1に接続される信号線、フリップフロップ回路RC、BRCにクロックを供給する信号線等の記載を省略している。
フリップフロップ回路RC(RC10、RC11、RC12)は、チップCHIP10の機能を実現する論理回路の一部である。すなわち、フリップフロップ回路RC10、RC11、RC12は、チップCHIP10の内部回路の一部である。例えば、フリップフロップ回路RC10、RC11、RC12の出力は、信号線WL10、WL11、WL12を介して選択部SELU10に接続される。
選択部SELU10は、複数の冗長グループの各々に対応して設けられる。そして、選択部SELU10は、複数の端子TMのうち、信号を伝達する端子TMを選択する。選択部SELU10は、例えば、チップCHIP10内の3本の信号線WL10、WL11、WL12のそれぞれに電気的に接続する3つの端子TMを、4つの端子TM10a、TM12a、TM14a、TM16aの中から選択する。すなわち、選択部SELU10は、チップCHIP10内の3本の信号線WLとチップCHIP20内の3本の信号線WLとの間の信号経路に使用する3つのバンプBPを、4つのバンプBPの中から選択する。
例えば、選択部SELU10は、対応する冗長グループに属する複数の端子TMのうちの各出力端子TMに対応するセレクタSEL(SEL10、SEL11、SEL12、SEL13)を有する。例えば、セレクタSEL10、SEL11、SEL12、SEL13は、端子TM10a、TM12a、TM14a、TM16aにそれぞれ対応して設けられる。なお、チップCHIP10の端子TM10a、TM12a、TM14a、TM16aは、信号を他のチップCHIP20に出力する出力端子TMである。
セレクタSEL10の2つの入力端子の一方は、フリップフロップ回路RC10の出力に信号線WL10を介して接続され、2つの入力端子の他方は、開放状態である。例えば、セレクタSEL10は、選択信号SS10が2つの入力端子の一方を選択することを示している場合、信号線WL10を介して受けた信号をフリップフロップ回路BRC10のデータ入力端子Dに転送する。また、セレクタSEL10は、選択信号SS10が2つの入力端子の他方を選択することを示している場合、信号線WL10を介して受けた信号を出力しない。このように、セレクタSEL10は、信号線WL10を介して受けた信号を、選択信号SS10に基づいて、フリップフロップ回路BRC10のデータ入力端子Dに転送する。なお、セレクタSEL10は、導通状態と非導通状態とを切り替えるスイッチでもよい。
セレクタSEL11の2つの入力端子は、フリップフロップ回路RC10、RC11の出力に信号線WL10、WL11を介してそれぞれ接続される。例えば、セレクタSEL11は、信号線WL10を介して受けた信号と信号線WL11を介して受けた信号とのいずれかを、選択信号SS11に基づいて、フリップフロップ回路BRC11のデータ入力端子Dに転送する。
セレクタSEL12の2つの入力端子は、フリップフロップ回路RC11、RC12の出力に信号線WL11、WL12を介してそれぞれ接続される。例えば、セレクタSEL12は、信号線WL11を介して受けた信号と信号線WL12を介して受けた信号とのいずれかを、選択信号SS12に基づいて、フリップフロップ回路BRC12のデータ入力端子Dに転送する。
セレクタSEL13の2つの入力端子の一方は、フリップフロップ回路RC12の出力に信号線WL12を介して接続され、2つの入力端子の他方は、開放状態である。例えば、セレクタSEL13は、選択信号SS13が2つの入力端子の一方を選択することを示している場合、信号線WL12を介して受けた信号をフリップフロップ回路BRC13のデータ入力端子Dに転送する。また、セレクタSEL13は、選択信号SS13が2つの入力端子の他方を選択することを示している場合、信号線WL12を介して受けた信号を出力しない。このように、セレクタSEL13は、信号線WL12を介して受けた信号を、選択信号SS13に基づいて、フリップフロップ回路BRC13のデータ入力端子Dに転送する。なお、セレクタSEL13は、導通状態と非導通状態とを切り替えるスイッチでもよい。
フリップフロップ回路BRC(BRC10、BRC11、BRC12、BRC13)は、選択部SELU10と出力部OU(OU10、OU11、OU12、OU13)のバッファTBUFとの間に配置される保持部の一例である。フリップフロップ回路BRC(BRC10、BRC11、BRC12、BRC13)は、冗長グループに属する複数の端子TMのうち、信号を他のチップCHIP(例えば、チップCHIP20)に出力する出力端子TM毎に設けられる。例えば、フリップフロップ回路BRC10、BRC11、BRC12、BRC13は、端子TM10a、TM12a、TM14a、TM16aにそれぞれ対応して設けられる。
フリップフロップ回路BRCは、スキャンテストに対応したフリップフロップ回路である。以下、スキャンテストに対応したフリップフロップ回路をスキャンフリップフロップとも称する。
例えば、スキャンモードでは、フリップフロップ回路BRCは、スキャンチェーンに含まれる。スキャンチェーンに含まれた複数のフリップフロップ回路BRCでは、各フリップフロップ回路BRCは、前段のフリップフロップ回路BRCのデータ出力端子Qから出力されたデータをスキャン入力端子SIで受ける。そして、各フリップフロップ回路BRCは、スキャン入力端子SIで受けたデータをクロックに同期して保持する。また、各フリップフロップ回路BRCは、保持しているデータをクロックに同期してデータ出力端子Qから出力する。
また、例えば、フリップフロップ回路BRCは、非スキャンモードでは、データ入力端子Dで受けたデータをクロックに同期して保持する。そして、各フリップフロップ回路BRCは、保持しているデータをクロックに同期してデータ出力端子Qから出力する。なお、図2、図6および図7では、図が複雑になることを避けるため、フリップフロップ回路BRCをスキャンモードと非スキャンモードとに切り替える制御信号、スキャンチェーン等の記載を省略している。例えば、フリップフロップ回路BRCのデータ出力端子Qは、スキャンチェーンにおける後段のフリップフロップ回路BRCのスキャン入力端子SIに接続される。
フリップフロップ回路BRC10は、例えば、選択部SELU10のセレクタSEL10を試験する際に、テスト入力端子TMDI1からセレクタSEL10を介してデータ入力端子Dで受けたデータをテスト出力端子TMDO1に転送する。例えば、図示しないスキャンフリップフロップは、スキャンモード中に、テスト入力端子TMDI1からスキャンチェーン等を通じて転送されるデータを保持し、非スキャンモードに設定された後、保持したデータをセレクタSEL10に転送する。
これにより、非スキャンモードに設定されているフリップフロップ回路BRC10は、テスト入力端子TMDI1から転送されたデータを、セレクタSEL10を介してデータ入力端子Dで受ける。そして、フリップフロップ回路BRC10は、データ入力端子Dで受けたデータを保持する。その後、フリップフロップ回路BRC10は、スキャンモードに設定される。これにより、フリップフロップ回路BRC10に保持されたデータは、フリップフロップ回路BRC10のデータ出力端子Qからスキャンチェーン等を通じてテスト出力端子TMDO1に転送される。
テスト出力端子TMDO1に転送されたデータと期待値とを比較することにより、選択部SELU10のセレクタSEL10が正常か判定される。このように、この実施形態では、チップCHIP10とチップCHIP20とが接続される前に、チップCHIP10単体で選択部SELU10の各セレクタSELを試験することができる。
また、フリップフロップ回路BRC10は、チップCHIP10、CHIP20間の接続を試験する際に、スキャン入力端子SIで受けたデータを出力部OU10のバッファTBUFに出力する。例えば、フリップフロップ回路BRC10は、スキャンモード中に、スキャンチェーン等を通じて転送されるデータを保持し、非スキャンモードに設定された後、保持したデータを出力部OU10のバッファTBUFに出力する。
なお、フリップフロップ回路BRC10は、チップCHIP10が通常モードの場合、非スキャンモードに設定される。したがって、フリップフロップ回路BRC10は、通常モード中、フリップフロップ回路RC10からセレクタSEL10を介してデータ入力端子Dで受けたデータを、出力部OU10のバッファTBUFに出力する。
すなわち、フリップフロップ回路BRC10は、通常モード中、チップCHIP10の機能を実現する論理回路の一部として使用される。フリップフロップ回路BRC11、BRC12、BRC13の構成および動作は、フリップフロップ回路BRC10と同一または同様である。
出力部OU(OU10、OU11、OU12、OU13)は、冗長グループに属する複数の端子TMのうち、信号を他のチップCHIP(例えば、チップCHIP20)に出力する出力端子TM毎に設けられる。例えば、出力部OU10、OU11、OU12、OU13は、端子TM10a、TM12a、TM14a、TM16aにそれぞれ対応して設けられる。出力部OU11、OU12、OU13の構成および動作は、出力部OU10と同一または同様である。このため、図2では、出力部OU10について説明する。なお、出力部OU10、OU11、OU12、OU13を制御する制御信号CTLZ、CTLPU、CTLPDは、出力部OU10、OU11、OU12、OU13で共通でもよいし、互いに独立していてもよい。
出力部OU10は、フリップフロップ回路BRC10と出力端子TM10aとの間に配置される。例えば、出力部OU10は、バッファTBUF、プルアップ抵抗RPU、プルアップ用のスイッチSWU、プルダウン抵抗RPDおよびプルダウン用のスイッチSWDを有する。
バッファTBUFは、出力状態とハイインピーダンス状態とのいずれかに設定される出力バッファ部の一例である。バッファTBUFは、入力信号に応じた信号を出力するか出力をハイインピーダンスに設定するかを切り替えることができるスリーステートバッファである。バッファTBUFの出力端子は、出力端子TM10aに接続される。
例えば、バッファTBUFは、制御信号CTLZが入力信号に応じた信号を出力することを示す場合、フリップフロップ回路BRC10のデータ出力端子Qから受けたデータを出力端子TM10aに出力する。また、バッファTBUFは、制御信号CTLZが出力をハイインピーダンスに設定することを示す場合、バッファTBUFの出力端子をハイインピーダンスに設定する。この場合、フリップフロップ回路BRC10のデータ出力端子Qから出力されるデータは、出力端子TM10aに転送されない。
電源線VDDに接続されたプルアップ抵抗RPUとスイッチSWUとを含む回路は、プルアップ部の一例である。プルアップ抵抗RPUの一端は、電源線VDDに接続され、プルアップ抵抗RPUの他端は、スイッチSWUの入力端子の一端に接続される。スイッチSWUの入力端子の他端は、出力端子TM10aに接続される。スイッチSWUは、制御端子で受ける制御信号CTLPUに応じて、導通状態と非導通状態とに切り替わる。例えば、スイッチSWUは、MOS(Metal Oxide Semiconductor)トランジスタを用いたスイッチである。例えば、スイッチSWUは、制御信号CTLPUが低論理レベルの場合、導通状態に設定され、制御信号CTLPUが高論理レベルの場合、非導通状態に設定される。
例えば、制御信号CTLPUが低論理レベルの場合、スイッチSWUが導通状態であるため、出力端子TM10aと電源線VDDとがプルアップ抵抗RPUを介して接続される。これにより、出力端子TM10aは、高論理レベルに設定される。また、制御信号CTLPUが高論理レベルの場合、スイッチSWUが非導通状態であるため、出力端子TM10aと電源線VDDとが非接続される。
接地線GNDに接続されたプルダウン抵抗RPDとスイッチSWDとを含む回路は、プルダウン部の一例である。プルダウン抵抗RPDの一端は、接地線GNDに接続され、プルダウン抵抗RPDの他端は、スイッチSWDの入力端子の一端に接続される。スイッチSWDの入力端子の他端は、出力端子TM10aに接続される。スイッチSWDは、制御端子で受ける制御信号CTLPDに応じて、導通状態と非導通状態とに切り替わる。例えば、スイッチSWDは、MOSトランジスタを用いたスイッチである。例えば、スイッチSWDは、制御信号CTLPDが高論理レベルの場合、導通状態に設定され、制御信号CTLPDが低論理レベルの場合、非導通状態に設定される。
例えば、制御信号CTLPDが高論理レベルの場合、スイッチSWDが導通状態であるため、出力端子TM10aと接地線GNDとがプルダウン抵抗RPDを介して接続される。これにより、出力端子TM10aは、低論理レベルに設定される。また、制御信号CTLPDが低論理レベルの場合、スイッチSWDが非導通状態であるため、出力端子TM10aと接地線GNDとが非接続される。
次に、チップCHIP20について説明する。チップCHIP20は、フリップフロップ回路RC(RC20−RC22)、フリップフロップ回路BRC(BRC20−BRC23)、選択部SELU20および端子TMを有する。端子TMのうち、端子TMDO2は、チップCHIP20の外部にデータを出力するテスト出力端子である。また、端子TMのうち、端子TMDI2は、チップCHIP20の外部からデータを受けるテスト入力端子である。チップCHIP20のテスト出力端子TMDO2およびテスト入力端子TMDI2は、半導体装置SEM2の外部端子として配置されてもよいし、他のチップCHIP(例えば、チップCHIP10)の所定の端子TMにバンプBPを介して接続されてもよい。
図2では、図を見やすくするために、冗長グループA以外の冗長グループ(例えば、冗長グループB)に対応する選択部SELU20、フリップフロップ回路BRC等の記載を省略している。さらに、図2では、テスト出力端子TMDO2、テスト入力端子TMDI2に接続される信号線、フリップフロップ回路RC、BRCにクロックを供給する信号線等の記載を省略している。
フリップフロップ回路RC(RC20、RC21、RC22)は、チップCHIP20の機能を実現する論理回路の一部である。すなわち、フリップフロップ回路RC20、RC21、RC22は、チップCHIP20の内部回路の一部である。例えば、フリップフロップ回路RC20、RC21、RC22の入力は、信号線WL20、WL21、WL22を介して選択部SELU20に接続される。
フリップフロップ回路BRC(BRC20、BRC21、BRC22、BRC23)は、スキャンテストに対応したフリップフロップ回路である。フリップフロップ回路BRC(BRC20、BRC21、BRC22、BRC23)は、冗長グループに属する複数の端子TMのうち、信号を他のチップCHIP(例えば、チップCHIP10)から受ける入力端子TM毎に設けられる。
例えば、フリップフロップ回路BRC20、BRC21、BRC22、BRC23は、端子TM20a、TM22a、TM24a、TM26aにそれぞれ対応して設けられる。なお、チップCHIP20の端子TM20a、TM22a、TM24a、TM26aは、信号を他のチップCHIP10から受ける入力端子TMである。
フリップフロップ回路BRC20のデータ入力端子Dは、端子TM20aに接続され、フリップフロップ回路BRC20のデータ出力端子Qは、選択部SELU20のセレクタSEL20に接続される。例えば、フリップフロップ回路BRC20は、チップCHIP10、CHIP20間の接続を試験する際に、先ず、非スキャンモードに設定される。これにより、フリップフロップ回路BRC20は、チップCHIP10の端子TM10aに転送されたデータを、バンプBP0aおよび端子TM20aを介してデータ入力端子Dで受ける。
そして、フリップフロップ回路BRC20は、データ入力端子Dで受けたデータ(チップCHIP10から転送されたデータ)をクロックに同期して保持する。その後、フリップフロップ回路BRC20は、スキャンモードに設定される。これにより、フリップフロップ回路BRC20に保持されたデータは、フリップフロップ回路BRC20のデータ出力端子Qからスキャンチェーン等を通じて半導体装置SEM2の外部に出力される。
なお、フリップフロップ回路BRC20は、チップCHIP20が通常モードの場合、非スキャンモードに設定される。したがって、フリップフロップ回路BRC20は、通常モード中、チップCHIP10の端子TM10aからバンプBP0aおよび端子TM20aを介してデータ入力端子Dで受けたデータを、セレクタSEL20に出力する。すなわち、フリップフロップ回路BRC20は、通常モード中、チップCHIP20の機能を実現する論理回路の一部として使用される。フリップフロップ回路BRC21、BRC22、BRC23の構成および動作は、フリップフロップ回路BRC20と同一または同様である。
例えば、フリップフロップ回路BRC21のデータ入力端子Dは、端子TM22aに接続され、フリップフロップ回路BRC21のデータ出力端子Qは、選択部SELU20のセレクタSEL20、SEL21に接続される。フリップフロップ回路BRC22のデータ入力端子Dは、端子TM24aに接続され、フリップフロップ回路BRC22のデータ出力端子Qは、選択部SELU20のセレクタSEL21、SEL22に接続される。フリップフロップ回路BRC23のデータ入力端子Dは、端子TM26aに接続され、フリップフロップ回路BRC23のデータ出力端子Qは、選択部SELU20のセレクタSEL22に接続される。
選択部SELU20は、複数の冗長グループの各々に対応して設けられる。そして、選択部SELU20は、複数の端子TMのうち、信号を伝達する端子TMを選択する。選択部SELU20は、チップCHIP20内の3本の信号線WL20、WL21、WL22のそれぞれに電気的に接続する3つの端子TMを、4つの端子TM20a、TM22a、TM24a、TM26aの中から選択する。すなわち、選択部SELU20は、チップCHIP10内の3本の信号線WLとチップCHIP20内の3本の信号線WLとの間の信号経路に使用する3つのバンプBPを、4つのバンプBPの中から選択する。
例えば、選択部SELU20は、対応する冗長グループに属する複数の端子TMのいずれかに接続される各信号線WLに対応するセレクタSEL(SEL20、SEL21、SEL22)を有する。
セレクタSEL20の2つの入力端子は、フリップフロップ回路BRC20、BRC21のデータ出力端子Qにそれぞれ接続される。例えば、セレクタSEL20は、フリップフロップ回路BRC20から受けた信号とフリップフロップ回路BRC21から受けた信号とのいずれかを、選択信号SS20に基づいて、フリップフロップ回路RC20に信号線WL20を介して転送する。
セレクタSEL21の2つの入力端子は、フリップフロップ回路BRC21、BRC22のデータ出力端子Qにそれぞれ接続される。例えば、セレクタSEL21は、フリップフロップ回路BRC21から受けた信号とフリップフロップ回路BRC22から受けた信号とのいずれかを、選択信号SS21に基づいて、フリップフロップ回路RC21に信号線WL21を介して転送する。
セレクタSEL22の2つの入力端子は、フリップフロップ回路BRC22、BRC23のデータ出力端子Qにそれぞれ接続される。例えば、セレクタSEL22は、フリップフロップ回路BRC22から受けた信号とフリップフロップ回路BRC23から受けた信号とのいずれかを、選択信号SS22に基づいて、フリップフロップ回路RC22に信号線WL22を介して転送する。
このように、選択部SELU10、SELU20は、チップCHIP10、CHIP20間の信号経路を選択する。例えば、バンプBP3b、BP4aが短絡している場合、選択部SELU10、SELU20は、信号線WL10、WL20間の信号経路として、端子TM10a、バンプBP0a、端子TM20a等を含む信号経路を選択する。また、選択部SELU10、SELU20は、信号線WL11、WL21間の信号経路として、端子TM12a、バンプBP2a、端子TM22a等を含む信号経路を選択する。そして、選択部SELU10、SELU20は、信号線WL12、WL22間の信号経路として、端子TM16a、バンプBP6a、端子TM26a等を含む信号経路を選択する。
なお、例えば、バンプBP2a、BP3bが短絡している場合、選択部SELU10、SELU20は、信号線WL11、WL21間の信号経路として、端子TM14a、バンプBP4a、端子TM24a等を含む信号経路を選択する。このように、半導体装置SEM2は、互いに隣接する配線(例えば、バンプBP2a、BP3b)が短絡した場合でも、チップCHIP10、CHIP20間の信号経路を救済できる。
ここで、例えば、複数の端子TMが複数の冗長グループに分けられていない場合(冗長グループが1つのみの場合)、各セレクタSELは、3つの入力端子を有し、3つの信号経路から1つの信号経路を選択する。冗長配線の数をkとした場合、各セレクタSELは、(k+1)個の入力から1つを選択する。(k+1)個の入力から1つを選択する場合、各セレクタSELの選択信号SSの本数が増加するため、選択信号SSを生成する回路等を含めた選択部SELUの回路規模は増加する。
また、スリーステートバッファを用いてセレクタSELを実現した場合、(k+1)個の入力から1つを選択するセレクタSELは、(k+1)個のスリーステートバッファを有する。したがって、信号線の数をnとした場合、各チップCHIPの選択部SELUの回路規模は、n*(k+1)個のスリーステートバッファの回路規模に相当する。このように、冗長配線の数kの増加に伴い、選択部SELUの回路規模が増加する。
例えば、マイクロバンプの数が1000個で、冗長配線の数が10個の場合、選択部SELUの回路規模は、約1万個のスリーステートバッファの回路規模に相当する。これに対し、半導体装置SEM2では、例えば、1000個のバンプBPを10個の冗長グループに分けた場合、各冗長グループの信号線の数nは99で、冗長配線の数kは1である。この場合、1つの冗長グループに対応する選択部SELUの回路規模は、約200個のスリーステートバッファの回路規模に相当する。冗長グループの数が10であるため、各チップCHIPの選択部SELUの回路規模は、約2000個のスリーステートバッファの回路規模に相当し、複数の端子TMが複数の冗長グループに分けられていない場合の約5分の1になる。
このように、半導体装置SEM2では、複数の端子TMが複数の冗長グループに分けられているため、選択部SELUの回路規模が増大することを抑制できる。すなわち、半導体装置SEM2は、選択部SELUの回路規模の増大を抑制しつつ、短絡した信号経路を救済できる。
また、選択部SELUの各セレクタSELは、チップCHIP10と同様に、チップCHIP20単体で試験される。例えば、フリップフロップ回路BRC20等は、スキャンモード中に、テスト入力端子TMDI2からスキャンチェーン等を通じて転送されるデータを保持し、非スキャンモードに設定された後、保持したデータをセレクタSEL20に転送する。
これにより、図示しないスキャンフリップフロップは、非スキャンモードに設定されている期間に、テスト入力端子TMDI2からセレクタSEL20を介してデータ入力端子で受けたデータを保持する。そして、テスト入力端子TMDI2からセレクタSEL20を介してスキャンフリップフロップに保持されたデータは、スキャンモード中に、スキャンチェーン等を通じてテスト出力端子TMDO2に転送される。
テスト出力端子TMDO2に転送されたデータと期待値とを比較することにより、選択部SELU20のセレクタSEL20が正常か判定される。このように、この実施形態では、チップCHIP10とチップCHIP20とが接続される前に、チップCHIP20単体で選択部SELU20の各セレクタSELを試験することができる。
なお、半導体装置SEM2の構成は、この例に限定されない。例えば、チップCHIP20は、冗長グループに属する複数の端子TMのうちの出力端子TMを有する場合、出力部OU等を有してもよい。また、例えば、選択部SELU20の各セレクタSELを試験する際、フリップフロップ回路BRC20−BRC23とは別のスキャンフリップフロップが、テスト入力端子TMDI2から選択部SELU20にスキャンチェーン等を通じてデータを転送してもよい。また、フリップフロップ回路RC等は、スキャンフリップフロップに置き換えられてもよい。また、半導体装置SEM2は、例えば、図4および図5に示す試験を実行するテスト回路を有してもよい。
また、スイッチSWUは、制御信号CTLPUが低論理レベルの場合、非導通状態に設定され、制御信号CTLPUが高論理レベルの場合、導通状態に設定されてもよい。スイッチSWDは、制御信号CTLPDが低論理レベルの場合、導通状態に設定され、制御信号CTLPDが高論理レベルの場合、非導通状態に設定されてもよい。
図3は、図2に示したチップCHIP10の端子配列の一例を示す。なお、図3は、チップCHIP10の表面を示す。図3では、冗長グループに属する端子TMの配置を中心に説明する。図3の符号A、Bは、冗長グループA、Bを示す。すなわち、図3の例では、冗長グループは、2つである。なお、冗長グループは、3つ以上でもよい。また、符号VDは、電源線VDDに接続される端子TM(電源端子)が属するグループであり、冗長グループ以外のグループの1つである。符号VGは、接地線GNDに接続される端子TM(電源端子)が属するグループであり、冗長グループ以外のグループの1つである。
端子TMは、横方向および斜め方向の間隔が所定間隔βになるように、千鳥状に配置される。すなわち、端子TMは、互いに隣接する端子TMの間隔が所定間隔β以上になるように、チップCHIP10の表面に配置される。例えば、冗長グループAの端子TMに隣接する6個の端子TMは、冗長グループB、グループVD、VGにそれぞれ属する。図3に示した端子配列では、所定間隔βは、例えば、冗長グループA内の複数の端子TMのうちの第1端子TMと、第1端子TMに隣接する他の冗長グループ(冗長グループA以外の冗長グループB)内の端子TMとの間隔に対応する。
なお、複数の冗長グループのうち、互いに同じ冗長グループに属する端子TMは、所定間隔βより大きい間隔で配置される。例えば、冗長グループA内で互いに隣接する端子TMの間隔は、(√3)×βで表され、所定間隔βより大きい。このように、冗長グループA内の複数の端子TMは、所定間隔βより大きい間隔で配置される。同様に、冗長グループB内の複数の端子TMは、所定間隔βより大きい間隔で配置される。また、グループVD内の端子TMとグループVG内の端子TMとの間隔は、所定間隔βより大きい。
これにより、半導体装置SEM2では、互いに同じ冗長グループに属する複数の端子TMの間隔が所定間隔βである配置に比べて、互いに同じ冗長グループに属する2つの端子TMが短絡する確率を小さくできる。
なお、チップCHIP20の端子TMの配置は、例えば、チップCHIP10とチップCHIP20とが表面を互いに対向させて接続される場合(フリップチップ接続)、チップCHIP10の端子配列を左右反転した配置と同一または同様である。また、例えば、チップCHIP10の端子TMとチップCHIP20の端子TMとがチップCHIPの基板を貫通する貫通電極を用いて接続される場合、チップCHIP20の端子TMの配置は、チップCHIP10の端子TMの配置と同一または同様である。また、チップCHIP10の端子配列は、この例に限定されない。例えば、図1の括弧内に示したように、端子TMは、格子状に配置されてもよい。
図4は、図2に示した半導体装置SEM2におけるチップCHIP間の信号経路の短絡試験の一例を示す。すなわち、図4は、半導体装置の試験方法の一形態を示す。短絡試験は、例えば、チップCHIP10、CHIP20間を接続する複数の配線(バンプBP等)のうちの互いに短絡している配線を検出する試験であり、半導体装置SEM2をテストするテスト装置により実行される。図4に示した“HiZ”は、ハイインピーダンスを示す。
ステップS100では、半導体装置SEM2を試験するテスト装置は、複数の冗長グループから検査対象の冗長グループを選択する。
ステップS110では、テスト装置は、全てのフリップフロップ回路BRC(BRC10−BRC13、BRC20−BRC23等)に論理値”0”のデータをセットする。例えば、テスト装置は、全てのフリップフロップ回路BRCをリセットした後、スキャンチェーン等を通じて各フリップフロップ回路BRCのスキャン入力端子SIに低論理レベル(論理値“0”)の信号を転送する。これにより、各フリップフロップ回路BRCは、低論理レベルの信号を保持する。
ステップS120では、テスト装置は、ステップS100で選択した検査対象の冗長グループに対応するバッファTBUFをハイインピーダンス(“HiZ”)に設定する。これにより、フリップフロップ回路BRCに保持されている低論理レベルの信号(ステップS110で設定された論理値“0”のデータ)は、検査対象の冗長グループに属する端子TMに転送されない。
ステップS130では、テスト装置は、ステップS100で選択した検査対象の冗長グループに属する出力端子TMをプルアップする。例えば、テスト装置は、ステップS100で選択した検査対象の冗長グループに対応する出力部OUのスイッチSWUおよびスイッチSWDを、導通状態および非導通状態にそれぞれ設定する。
これにより、検査対象の冗長グループに属する出力端子TMは、高論理レベルに設定される。なお、検査対象以外の冗長グループに属する出力端子TMには、フリップフロップ回路BRCに保持されている低論理レベルの信号(ステップS110で設定された論理値“0”のデータ)が転送される。
すなわち、検査対象の冗長グループに属する入力端子TM(出力端子TMにバンプBPを介して接続される入力端子TM)に対応するフリップフロップ回路BRCのデータ入力端子Dに、高論理レベルの信号が転送される。また、検査対象以外の冗長グループに属する入力端子TMに対応するフリップフロップ回路BRCのデータ入力端子Dに、低論理レベルの信号が転送される。このように、ステップS110−S130により、検査対象以外の冗長グループに対応する信号経路に低論理レベルのデータを転送する第1短絡試験が実行される。
ステップS140では、テスト装置は、第1短絡試験の結果を回収する。例えば、テスト装置は、スキャンチェーン等を通じて各フリップフロップ回路BRCに保持されているデータを取得する。
ステップS150では、テスト装置は、検査対象の冗長グループに対応するフリップフロップ回路BRCから転送されたデータ(検査対象の第1短絡試験の結果)が論理値“0”を含むか判定する。例えば、検査対象の冗長グループに対応する信号経路のうち、検査対象以外の冗長グループに対応する信号経路に短絡した信号経路または接地線GNDに短絡した信号経路では、低論理レベルのデータが転送される。このため、検査対象以外の冗長グループに対応する信号経路に短絡した信号経路または接地線GNDに短絡した信号経路に対応するフリップフロップ回路BRCには、論理値“0”のデータが保持される。
検査対象の第1短絡試験の結果が論理値“0”を含む場合(ステップS150のYes)、テスト装置の動作は、ステップS160に移る。一方、検査対象の第1短絡試験の結果が論理値“0”を含まない場合(ステップS150のNo)、テスト装置の動作は、ステップS170に移る。
ステップS160では、テスト装置は、論理値“0”のデータを保持していたフリップフロップ回路BRCに対応する信号経路(端子TM、バンプBP)を迂回する。すなわち、テスト装置は、第1短絡試験の結果に基づいて、複数の端子TMのうち、信号を伝達する端子TMを選択する。
ステップS170では、テスト装置は、全てのフリップフロップ回路BRC(BRC10−BRC13、BRC20−BRC23等)に論理値”1”のデータをセットする。例えば、テスト装置は、全てのフリップフロップ回路BRCをリセットした後、スキャンチェーン等を通じて各フリップフロップ回路BRCのスキャン入力端子SIに高論理レベル(論理値“1”)の信号を転送する。これにより、各フリップフロップ回路BRCは、高論理レベルの信号を保持する。
ステップS180では、テスト装置は、ステップS100で選択した検査対象の冗長グループに属する出力端子TMをプルダウンする。例えば、テスト装置は、ステップS100で選択した検査対象の冗長グループに対応する出力部OUのスイッチSWUおよびスイッチSWDを、非導通状態および導通状態にそれぞれ設定する。
これにより、検査対象の冗長グループに属する出力端子TMは、低論理レベルに設定される。なお、検査対象以外の冗長グループに属する出力端子TMには、フリップフロップ回路BRCに保持されている高論理レベルの信号(ステップS170で設定された論理値“1”のデータ)が転送される。
すなわち、検査対象の冗長グループに属する入力端子TM(出力端子TMにバンプBPを介して接続される入力端子TM)に対応するフリップフロップ回路BRCのデータ入力端子Dに、低論理レベルの信号が転送される。また、検査対象以外の冗長グループに属する入力端子TMに対応するフリップフロップ回路BRCのデータ入力端子Dに、高論理レベルの信号が転送される。このように、ステップS170−S180により、検査対象以外の冗長グループに対応する信号経路に高論理レベルのデータを転送する第2短絡試験が実行される。
ステップS190では、テスト装置は、第2短絡試験の結果を回収する。例えば、テスト装置は、スキャンチェーン等を通じて各フリップフロップ回路BRCに保持されているデータを取得する。
ステップS200では、テスト装置は、検査対象の冗長グループに対応するフリップフロップ回路BRCから転送されたデータ(検査対象の第1短絡試験の結果)が論理値“1”を含むか判定する。例えば、検査対象の冗長グループに対応する信号経路のうち、検査対象以外の冗長グループに対応する信号経路に短絡した信号経路または電源線VDDに短絡した信号経路では、高論理レベルのデータが転送される。このため、検査対象以外の冗長グループに対応する信号経路に短絡した信号経路または接地線GNDに短絡した信号経路に対応するフリップフロップ回路BRCには、論理値“1”のデータが保持される。
検査対象の第1短絡試験の結果が論理値“1”を含む場合(ステップS200のYes)、テスト装置の動作は、ステップS210に移る。一方、検査対象の第1短絡試験の結果が論理値“1”を含まない場合(ステップS200のNo)、テスト装置の動作は、ステップS220に移る。
ステップS210では、テスト装置は、論理値“1”のデータを保持していたフリップフロップ回路BRCに対応する信号経路(端子TM、バンプBP)を迂回する。すなわち、テスト装置は、第2短絡試験の結果に基づいて、複数の端子TMのうち、信号を伝達する端子TMを選択する。
ステップS220では、テスト装置は、全ての冗長グループに対して、短絡試験(第1短絡試験および第2短絡試験)を実行したか判定する。短絡試験が実行されていない冗長グループが存在する場合(ステップS220のNo)、テスト装置の動作は、ステップS100に戻る。一方、全ての冗長グループに対して、短絡試験が実行された場合(ステップS220のYes)、テスト装置は、半導体装置SEM2におけるチップCHIP間の信号経路の短絡試験を終了する。
このように、テスト装置は、第1短絡試験および第2短絡試験を冗長グループ毎に実行する。そして、テスト装置は、短絡等の故障が発生した信号経路を第1短絡試験および第2短絡試験の結果に基づいて特定し、チップCHIP10、CHIP20間の信号経路を決定する。例えば、選択部SELU10、SELU20は、第1短絡試験および第2短絡試験の結果に基づいて、複数の端子TMのうち、信号を伝達する端子TMを選択する。これにより、互いに短絡した信号経路を救済することができる。
半導体装置SEM2では、第1短絡試験および第2短絡試験を冗長グループ毎に実行するため、互いに短絡した端子TMを迂回するための短絡試験にかかる時間を低減できる。
なお、半導体装置SEM2の短絡試験の方法は、この例に限定されない。例えば、ステップS170の後に、ステップS120と同一または同様の処理が実行されてもよい。また、例えば、テスト装置は、全ての冗長グループに対して第1短絡試験を実行した後、全ての冗長グループに対して第2短絡試験を実行してもよい。
図5は、図2に示した半導体装置SEM2におけるチップCHIP間の信号経路の開放試験の一例を示す。開放試験は、例えば、チップCHIP10、CHIP20間を接続する複数の配線(バンプBP等)のうち、開放状態の配線を検出する試験であり、半導体装置SEM2をテストするテスト装置により実行される。図4で説明した動作と同一または同様の動作については、詳細な説明を省略する。なお、図5に示した動作では、バッファTBUFは、ハイインピーダンス状態以外の状態である出力状態に維持される。また、出力端子TMは、電源線VDDおよび接地線GNDのいずれとも非接続の状態に維持される。
ステップS300では、テスト装置は、全てのフリップフロップ回路BRC(BRC10−BRC13、BRC20−BRC23等)に論理値”0”のデータをセットする。これにより、例えば、チップCHIP10、CHIP20の一方のチップCHIPの出力端子TMには、フリップフロップ回路BRCに保持されている論理値”0”のデータが転送される。すなわち、チップCHIP10、CHIP20の他方のチップCHIPの入力端子TMに対応するフリップフロップ回路BRCのデータ入力端子Dに、論理値”0”のデータが転送される。
ステップS310では、テスト装置は、試験結果(ステップS300での転送結果)を回収する。例えば、テスト装置は、スキャンチェーン等を通じて各フリップフロップ回路BRCに保持されているデータを取得する。以下、ステップS310で回収した試験結果は、結果1とも称される。
ステップS320では、テスト装置は、全てのフリップフロップ回路BRC(BRC10−BRC13、BRC20−BRC23等)に論理値”1”のデータをセットする。これにより、例えば、チップCHIP10、CHIP20の一方のチップCHIPの出力端子TMには、フリップフロップ回路BRCに保持されている論理値”1”のデータが転送される。すなわち、チップCHIP10、CHIP20の他方のチップCHIPの入力端子TMに対応するフリップフロップ回路BRCのデータ入力端子Dに、論理値”1”のデータが転送される。
ステップS330では、テスト装置は、試験結果(ステップS320での転送結果)を回収する。例えば、テスト装置は、スキャンチェーン等を通じて各フリップフロップ回路BRCに保持されているデータを取得する。以下、ステップS330で回収した試験結果は、結果2とも称される。
ステップS340では、テスト装置は、ステップS310で回収した試験結果(結果1)と、ステップS330で回収した試験結果(結果2)とが等しいか判定する。例えば、開放状態の信号経路では、ステップS300、S320でフリップフロップ回路BRCにセットされたデータは、チップCHIP10、CHIP20間で転送されない。このため、開放状態の信号経路の入力端子TMに対応するフリップフロップ回路BRCに保持されているデータは、ステップS300、S320が実行されても変化しない。したがって、開放状態の信号経路では、結果1と結果2とが等しい。
結果1と結果2とが等しい信号経路を含む場合(ステップS340のYes)、テスト装置の動作は、ステップS350に移る。一方、結果1と結果2とが等しい信号経路を含まない場合(ステップS340のNo)、テスト装置は、半導体装置SEM2におけるチップCHIP間の信号経路の開放試験を終了する。
ステップS350では、テスト装置は、結果1と結果2とが等しい信号経路(端子TM、バンプBP)を迂回する。これにより、開放状態の信号経路が救済される。
以上、図2から図5に示した実施形態においても、図1に示した実施形態と同様の効果を得ることができる。例えば、端子TM等を含む複数の信号経路が複数の冗長グループに分けられ、互いに同じ冗長グループに属する複数の端子TMは、所定間隔βより大きい間隔で配置される。また、選択部SELUが各冗長グループに対応して設けられ、出力部OUが、冗長グループに属する複数の端子TMのうちの出力端子TM毎に設けられる。
そして、半導体装置SEM2をテストするテスト装置は、出力部OU等を制御して、第1短絡試験と第2短絡試験とを冗長グループ毎に実行する。これにより、この実施形態では、第1短絡試験および第2短絡試験を端子TM毎に実行する場合に比べて、短絡試験にかかる時間を低減できる。この結果、半導体装置の製造コストを低減することができる。
さらに、この実施形態では、各チップCHIPは、チップCHIPの外部にデータを出力するテスト出力端子TMDOと、チップCHIPの外部からデータを受けるテスト入力端子TMDIとを有する。そして、テスト入力端子TMDIから選択部SELUのセレクタSELを介してテスト出力端子TMDOにデータを転送することで、各チップCHIPの選択部SELUのセレクタSELをチップCHIP単体で試験することができる。
また、フリップフロップ回路BRC(BRC10−BRC13、BRC20−BRC23等)は、通常モード中、各チップCHIPの機能を実現する論理回路の一部として使用される。これにより、この実施形態では、各チップCHIPの回路規模が増大することを抑制できる。
図6は、半導体装置および半導体装置の試験方法の別の実施形態を示す。図1から図5で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図6に示した端子TM(TM10a、TM11t、TM15b、TM20a、TM21t、TM25b等)、バンプBP(BP0a、BP1t、BP5b等)の符号の末尾のa、b、tの意味は、図2と同一または同様である。また、図5では、図2と同様に、冗長グループA以外の冗長グループ(例えば、冗長グループB)に対応する選択部SELU等の記載を省略している。また、図6に示した出力部OUでは、バッファTBUF以外の要素(プルアップ抵抗RPU、プルダウン抵抗RPD、スイッチSWU、SWD)の記載を省略している。
この実施形態の半導体装置SEM3では、セレクタSELT(SELT0−SELT3)が図2に示した半導体装置SEM2に追加されている。また、フリップフロップ回路BRCのデータ入力端子Dおよびデータ出力端子Qの接続先が図2に示した半導体装置SEM2のフリップフロップ回路BRCと相違する。半導体装置SEM3のその他の構成は、図2に示した半導体装置SEM2と同一または同様である。また、半導体装置SEM3の試験方法は、図4および図5に示した試験方法と同一または同様である。
半導体装置SEM3は、複数のチップCHIP(CHIP12、CHIP22)が単一のパッケージに格納されるSiPである。例えば、半導体装置SEM3は、複数のチップCHIP(CHIP12、CHIP22)と、複数のチップCHIPの所定の面に配置された複数の端子TMを相互に接続するバンプBPとを有する。複数のチップCHIPの各々の所定数の端子TMは、図1で説明したように、複数の冗長グループのいずれかに属する。
CHIP12は、フリップフロップ回路RC(RC10−RC12)、選択部SELU10、フリップフロップ回路BRC(BRC10−BRC13)、セレクタSELT(SELT0−SELT3)、出力部OU(OU10−OU13)および端子TMを有する。フリップフロップ回路RC、選択部SELU10および出力部OUの構成および動作は、図2に示したフリップフロップ回路RC、選択部SELU10および出力部OUと同一または同様である。このため、フリップフロップ回路RC、選択部SELU10および出力部OUについては、詳細な説明を省略する。
セレクタSELT(SELT0、SELT1、SELT2、SELT3)は、選択部SELU10およびフリップフロップ回路RCからデータを受けるテスト選択部の一例である。セレクタSELTは、冗長グループに属する複数の端子TMのうち、信号を他のチップCHIP(例えば、チップCHIP22)に出力する出力端子TM毎に設けられる。
例えば、セレクタSELT0、SELT1、SELT2、SELT3は、端子TM10a、TM12a、TM14a、TM16aにそれぞれ対応して設けられる。なお、セレクタSELT0、SELT1、SELT2、SELT3の選択信号SST(SST0、SST1、SST2、SST3)は、セレクタSELT0、SELT1、SELT2、SELT3で共通でもよいし、互いに独立していてもよい。
セレクタSELT0の2つの入力端子は、フリップフロップ回路BRC10のデータ出力端子Qおよび選択部SELU10のセレクタSEL10の出力にそれぞれ接続される。また、セレクタSELT0の出力は、フリップフロップ回路BRC10のデータ入力端子Dおよび出力部OU10のバッファTBUFの入力に接続される。
すなわち、セレクタSELT0は、選択部SELU10のセレクタSEL10およびフリップフロップ回路BRC10からデータを受ける。そして、セレクタSELT0は、フリップフロップ回路BRC10から受けた信号とセレクタSEL10から受けた信号とのいずれかを、選択信号SST0に基づいて、出力する。
例えば、セレクタSELT0は、選択部SELU10のセレクタSEL10を試験する際に、選択部SELU10のセレクタSEL10から受けたデータをフリップフロップ回路BRC10のデータ入力端子Dに出力する。また、セレクタSELT0は、チップCHIP12、CHIP22間の接続を試験する際に、フリップフロップ回路BRC10から受けたデータを出力部OU10のバッファTBUFに出力する。なお、セレクタSELT0は、通常モード中、選択部SELU10のセレクタSEL10から受けたデータを出力部OU10のバッファTBUFに出力する。
セレクタSELT1、SELT2、SELT3の動作は、セレクタSELT0と同一または同様である。例えば、セレクタSELT1の2つの入力端子は、フリップフロップ回路BRC11のデータ出力端子Qおよび選択部SELU10のセレクタSEL11の出力にそれぞれ接続される。また、セレクタSELT1の出力は、フリップフロップ回路BRC11のデータ入力端子Dおよび出力部OU11のバッファTBUFの入力に接続される。
セレクタSELT2の2つの入力端子は、フリップフロップ回路BRC12のデータ出力端子Qおよび選択部SELU10のセレクタSEL12の出力にそれぞれ接続される。また、セレクタSELT2の出力は、フリップフロップ回路BRC12のデータ入力端子Dおよび出力部OU12のバッファTBUFの入力に接続される。
セレクタSELT3の2つの入力端子は、フリップフロップ回路BRC13のデータ出力端子Qおよび選択部SELU10のセレクタSEL13の出力にそれぞれ接続される。また、セレクタSELT3の出力は、フリップフロップ回路BRC13のデータ入力端子Dおよび出力部OU13のバッファTBUFの入力に接続される。
フリップフロップ回路BRC10は、選択部SELU10のセレクタSEL10を試験する際に、テスト入力端子TMDI1からセレクタSEL10およびセレクタSELT0を介してデータ入力端子Dで受けたデータをテスト出力端子TMDO1に転送する。例えば、図示しないスキャンフリップフロップは、スキャンモード中に、テスト入力端子TMDI1からスキャンチェーン等を通じて転送されるデータを保持し、非スキャンモードに設定された後、保持したデータをセレクタSEL10に転送する。
これにより、非スキャンモードに設定されているフリップフロップ回路BRC10は、テスト入力端子TMDI1から転送されたデータを、セレクタSEL10およびセレクタSELT0を介してデータ入力端子Dで受ける。そして、フリップフロップ回路BRC10は、データ入力端子Dで受けたデータを保持する。その後、フリップフロップ回路BRC10は、スキャンモードに設定される。これにより、フリップフロップ回路BRC10に保持されたデータは、フリップフロップ回路BRC10のデータ出力端子Qからスキャンチェーン等を通じてテスト出力端子TMDO1に転送される。
テスト出力端子TMDO1に転送されたデータと期待値とを比較することにより、選択部SELU10のセレクタSEL10とセレクタSELT0との両方が正常か判定される。このように、この実施形態では、チップCHIP12とチップCHIP22とが接続される前に、チップCHIP12単体で、選択部SELU10の各セレクタSELと各セレクタSELTとを試験することができる。
また、フリップフロップ回路BRC10は、チップCHIP12、CHIP22間の接続を試験する際に、スキャン入力端子SIで受けたデータを、セレクタSELT0を介して出力部OU10のバッファTBUFに出力する。例えば、フリップフロップ回路BRC10は、スキャンモード中に、スキャンチェーン等を通じて転送されるデータを保持し、データを保持した後に非スキャンモードに設定される。非スキャンモードに設定されたフリップフロップ回路BRC10は、保持しているデータを、セレクタSELT0を介して出力部OU10のバッファTBUFに出力する。
なお、セレクタSELT0は、チップCHIP12が通常モードの場合、フリップフロップ回路BRC10から受けた信号を出力しない。したがって、フリップフロップ回路BRC10は、チップCHIP12の機能を実現する論理回路の動作に影響を与えない。フリップフロップ回路BRC11、BRC12、BRC13の構成および動作は、フリップフロップ回路BRC10と同一または同様である。
次に、チップCHIP22について説明する。チップCHIP22は、フリップフロップ回路RC(RC20−RC22)、フリップフロップ回路BRC(BRC20−BRC23)、選択部SELU20および端子TMを有する。フリップフロップ回路RCおよび選択部SELU20の構成および動作は、図2に示したフリップフロップ回路RCおよび選択部SELU20と同一または同様である。このため、フリップフロップ回路RCおよび選択部SELU20については、詳細な説明を省略する。
フリップフロップ回路BRC20のデータ入力端子Dは、端子TM20aに接続される。フリップフロップ回路BRC20のデータ出力端子Qは、選択部SELU20に接続されない。このため、フリップフロップ回路BRC20は、チップCHIP22の機能を実現する論理回路の動作に影響を与えない。なお、図2で説明したように、フリップフロップ回路BRCのデータ出力端子Qは、スキャンチェーンにおける後段のフリップフロップ回路BRCのスキャン入力端子SIに接続される。
例えば、フリップフロップ回路BRC20は、チップCHIP12、CHIP22間の接続を試験する際に、先ず、非スキャンモードに設定される。これにより、フリップフロップ回路BRC20は、チップCHIP12の端子TM10aに転送されたデータを、バンプBP0aおよび端子TM20aを介してデータ入力端子Dで受ける。
そして、フリップフロップ回路BRC20は、データ入力端子Dで受けたデータ(チップCHIP10から転送されたデータ)をクロックに同期して保持する。その後、フリップフロップ回路BRC20は、スキャンモードに設定される。これにより、フリップフロップ回路BRC20に保持されたデータは、フリップフロップ回路BRC20のデータ出力端子Qからスキャンチェーン等を通じて半導体装置SEM3の外部に出力される。
フリップフロップ回路BRC21、BRC22、BRC23の構成および動作は、フリップフロップ回路BRC20と同一または同様である。例えば、フリップフロップ回路BRC21、BRC22、BRC23のデータ入力端子Dは、端子TM22a、TM24a、TM26aにそれぞれ接続される。
フリップフロップ回路BRC20、BRC21、BRC22、BRC23のデータ出力端子Qが選択部SELU20に接続されないため、選択部SELU20の各セレクタSELの入力端子の接続先は、図2に示した選択部SELU20の各セレクタSELと異なる。例えば、セレクタSEL20の2つの入力端子は、端子TM20a、TM22aにそれぞれ接続される。セレクタSEL21の2つの入力端子は、端子TM22a、TM24aにそれぞれ接続される。セレクタSEL22の2つの入力端子は、端子TM24a、TM26aにそれぞれ接続される。
また、選択部SELUの各セレクタSELは、図2に示したチップCHIP20と同様に、チップCHIP22単体で試験される。図6の例では、選択部SELU20の各セレクタSELを試験する際、フリップフロップ回路BRC20−BRC23とは別のスキャンフリップフロップが、テスト入力端子TMDI2から選択部SELU20にスキャンチェーン等を通じてデータを転送する。
なお、半導体装置SEM3の構成は、この例に限定されない。例えば、チップCHIP22は、冗長グループに属する複数の端子TMのうちの出力端子TMを有する場合、出力部OU等を有してもよい。また、例えば、選択部SELU20の各セレクタSELを試験する際、フリップフロップ回路BRC20−BRC23等が、テスト入力端子TMDI2から選択部SELU20にスキャンチェーン等を通じてデータを転送してもよい。また、フリップフロップ回路RC等は、スキャンフリップフロップに置き換えられてもよい。また、半導体装置SEM3は、例えば、図4および図5に示した試験を実行するテスト回路を有してもよい。
以上、図6に示した実施形態においても、図1に示した実施形態と同様の効果を得ることができる。例えば、半導体装置の製造コストを低減することができる。さらに、この実施形態では、フリップフロップ回路BRCが各チップCHIPの機能を実現する論理回路の動作に影響を与えないため、各チップCHIPの論理設計を容易にできる。
図7は、半導体装置および半導体装置の試験方法の別の実施形態を示す。図1から図6で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図7に示した端子TM(TM10a、TM11t、TM15b、TM17c、TM20a、TM21t、TM25b、TM27c等)、バンプBP(BP0a、BP1t、BP5b、BP7c等)の符号の末尾のa、b、c、tの意味は、図2と同一または同様である。例えば、端子TM17c、TM19c、TM27c、TM29c、バンプBP7c、BP9cは、第1グループ以外のグループCに属する。グループCは、クロック信号が伝達される信号経路を冗長化したグループである。以下、クロック信号が伝達される信号経路は、クロック経路とも称される。
また、図7では、図2と同様に、冗長グループA以外の冗長グループ(例えば、冗長グループB)に対応する選択部SELU等の記載を省略している。この実施形態の半導体装置SEM4では、バッファTBUFC(TBUFC1、TBUFC2)およびセレクタSELCKが図2に示した半導体装置SEM2に追加されている。半導体装置SEM4のその他の構成は、図2に示した半導体装置SEM2と同一または同様である。また、半導体装置SEM4におけるチップCHIP間の信号経路の短絡試験および開放試験の方法は、図4および図5に示した試験方法と同一または同様である。
半導体装置SEM4は、複数のチップCHIP(CHIP14、CHIP24)が単一のパッケージに格納されるSiPである。例えば、半導体装置SEM4は、複数のチップCHIP(CHIP14、CHIP24)と、複数のチップCHIPの所定の面に配置された複数の端子TMを相互に接続するバンプBPとを有する。複数のチップCHIPの各々の所定数の端子TMは、図1で説明したように、複数の冗長グループのいずれかに属する。
チップCHIP14は、フリップフロップ回路RC(RC10−RC12)、選択部SELU10、フリップフロップ回路BRC(BRC10−BRC13)、出力部OU(OU10−OU13)、バッファTBUFC1、TBUFC2および端子TMを有する。フリップフロップ回路RC、選択部SELU10、フリップフロップ回路BRCおよび出力部OUの構成および動作は、図2に示したフリップフロップ回路RC、選択部SELU10、フリップフロップ回路BRCおよび出力部OUと同一または同様である。このため、フリップフロップ回路RC、選択部SELU10、フリップフロップ回路BRCおよび出力部OUについては、詳細な説明を省略する。
端子TM17c、TM19cは、所定数の端子TM(複数の冗長グループのいずれかに属する端子TM)以外の端子のうちの2つであり、クロック信号を出力するクロック出力端子である。クロック出力端子TM17c、TM19cは、例えば、所定間隔βより大きい間隔で配置される。
バッファTBUFC1、TBUFC2を含む回路は、クロック出力端子TM17c、TM19cの一方からクロック信号を出力し、クロック出力端子TM17c、TM19cの他方をハイインピーダンスに設定するクロックバッファ部の一例である。バッファTBUFC1、TBUFC2は、入力信号に応じた信号を出力するか出力をハイインピーダンスに設定するかを切り替えることができるスリーステートバッファである。
例えば、バッファTBUFC1、TBUFC2の入力端子は、クロック信号が伝達される信号線WLCK10に接続される。したがって、バッファTBUFC1、TBUFC2は、信号線WLCK10を介してクロック信号を受ける。また、バッファTBUFC1の出力端子は、クロック出力端子TM17cに接続され、バッファTBUFC2の出力端子は、クロック出力端子TM19cに接続される。
バッファTBUFC1、TBUFC2は、互いに異なる状態に設定される。図7の例では、バッファTBUFC1、TBUFC2は、互いに同じ制御信号CTLCKで制御され、バッファTBUFC1は、負論理で制御され、バッファTBUFC2は、正論理で制御される。
例えば、バッファTBUFC2がハイインピーダンスに設定されている場合、バッファTBUFC1は、信号線WLCK10を介して受けたクロック信号をクロック出力端子TM17cに出力する。また、バッファTBUFC1がハイインピーダンスに設定されている場合、バッファTBUFC2は、信号線WLCK10を介して受けたクロック信号をクロック出力端子TM19cに出力する。
次に、チップCHIP24について説明する。チップCHIP24は、フリップフロップ回路RC(RC20−RC22)、選択部SELU20、フリップフロップ回路BRC(BRC20−BRC23)、セレクタSELCKおよび端子TMを有する。フリップフロップ回路RC、選択部SELU20およびフリップフロップ回路BRCの構成および動作は、図2に示したフリップフロップ回路RC、選択部SELU20およびフリップフロップ回路BRCと同一または同様である。このため、フリップフロップ回路RC、選択部SELU20およびフリップフロップ回路BRCについては、詳細な説明を省略する。
端子TM27c、TM29cは、所定数の端子TM(複数の冗長グループのいずれかに属する端子TM)以外の端子のうちの2つであり、クロック信号を受けるクロック入力端子である。例えば、端子TM27c、TM29cは、バンプBP7c、BP9cを介して、クロック出力端子TM17c、TM19cにそれぞれ接続される。すなわち、端子TM27c、TM29cは、クロック出力端子TM17c、TM19cに対応するクロック入力端子である。クロック入力端子TM27c、TM29cは、例えば、所定間隔βより大きい間隔で配置される。
セレクタSELCKの2つの入力端子は、クロック入力端子TM27c、TM29cにそれぞれ接続される。また、セレクタSELCKの出力端子は、クロック信号が伝達される信号線WLCK20に接続される。そして、セレクタSELCKは、クロック入力端子TM27c、TM29cのいずれか一方を選択する。例えば、セレクタSELCKは、クロック入力端子TM27cから受けたクロック信号とクロック入力端子TM29cから受けたクロック信号とのいずれかを、選択信号SSCKに基づいて、信号線WLCK20に出力する。これにより、チップCHIP14からチップCHIP24に転送されたクロックが、チップCHIP24内に転送される。
例えば、バンプBP7c、BP8bが短絡している場合、あるいは、端子TM17c、TM27c間が開放状態の場合、バッファTBUFC1がハイインピーダンスに設定され、セレクタSELCKは、クロック入力端子TM29cを選択する。この場合、バッファTBUFC2は、信号線WLCK10を介して受けたクロック信号をクロック出力端子TM19cに出力する。そして、セレクタSELCKは、クロック出力端子TM19cからバンプBP9c、クロック入力端子TM29cを介して受けたクロック信号を、信号線WLCK20に出力する。
このように、クロック出力端子17cを含むクロック経路が故障している場合、信号線WLCK10、WLCK20間のクロック経路として、端子TM19c、バンプBP9c、端子TM29c等を含むクロック経路が選択される。
また、例えば、クロック出力端子19cを含むクロック経路が故障している場合、信号線WLCK10、WLCK20間のクロック経路として、端子TM17c、バンプBP7c、端子TM27c等を含むクロック経路が選択される。このように、半導体装置SEM4は、クロック経路が故障した場合でも、チップCHIP14、CHIP24間のクロック経路を救済できる。
なお、半導体装置SEM4の構成は、この例に限定されない。例えば、バッファTBUFC(TBUFC1、TBUFC2)およびセレクタSELCKは、半導体装置SEM4内で使用される全てのクロック信号の各々に対応して設けられてもよい。あるいは、バッファTBUFC(TBUFC1、TBUFC2)およびセレクタSELCKは、半導体装置SEM4内で使用される全てのクロック信号のうち、任意のクロック信号に対応して設けられてもよい。また、バッファTBUFC(TBUFC1、TBUFC2)およびセレクタSELCKは、図6に示した半導体装置SEM3に追加されてもよい。
また、半導体装置SEM4は、例えば、図4および図5に示した試験を実行するテスト回路を有してもよいし、図8に示す試験を実行するテスト回路を有してもよい。
図8は、図7に示した半導体装置SEM4のクロック端子TMの試験方法の一例を示す図である。クロック端子の試験は、例えば、チップCHIP14、CHIP24間のクロック経路の故障を検出する試験であり、半導体装置SEM4をテストするテスト装置により実行される。
ステップS400では、テスト装置は、試験対象のクロック端子TMに対応するクロックで動作する回路を、通常モードで駆動する。回路がクロックに同期して動作した場合、スキャンフリップフロップに所定のデータが保持される。換言すれば、試験対象のクロック端子TMを含むクロック経路が故障している場合、回路が動作しないため、スキャンフリップフロップには、所定のデータは転送されない。
ステップS410では、テスト装置は、ステップS400を実行した結果を回収する。例えば、テスト装置は、スキャンチェーン等を通じてスキャンフリップフロップに保持されているデータを取得する。
ステップS420では、テスト装置は、ステップS410で回収した結果と期待値とが等しいか判定する。結果と期待値とが等しい場合(ステップS420のYes)、テスト装置は、半導体装置SEM4のクロック端子TMの試験を終了する。一方、結果と期待値とが等しくない場合(ステップS420のNo)、テスト装置の動作は、ステップS430に移る。
ステップS430では、テスト装置は、使用するクロック端子TMを切り替えて、故障したクロック経路を迂回する。これにより、故障したクロック経路が救済される。
以上、図7から図8に示した実施形態においても、図2に示した実施形態と同様の効果を得ることができる。例えば、半導体装置の製造コストを低減することができる。さらに、この実施形態では、クロック端子TMが冗長化されているため、クロック経路に故障が発生した場合にも、チップCHIP間のクロック経路を救済できる。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。