以下、実施形態について、図面を用いて説明する。図に示す破線の矢印は、信号の流れを示す。
図1は、試験回路および試験回路の制御方法の一実施形態を示す。試験回路10は、複数の半導体チップ100、200を含む半導体装置SEM0を試験する。半導体装置SEM0は、複数の半導体チップ100、200が単一のパッケージに格納されるSiP(System in Package)の形態を有する。例えば、複数の半導体チップ100、200は、SiP内に積層して配置される。複数の半導体チップ100、200のI/O(Input/Output)端子は、マイクロバンプ等のバンプにより互いに接合される。
半導体装置SEM0は、複数の半導体チップ100、200にまたがって配置された試験回路10を有する。試験回路10は、端子TC1、TC10、TC11、TC20、TC21と、クロック検出部20と、クロック経路選択部30と、試験部40とを有する。
端子TC1は、半導体装置SEM0を試験する際に使用される試験クロックCK10(例えば、半導体チップ200の試験部40で使用する試験クロックCK10)を、半導体装置SEM0の外部から受ける試験クロック端子である。以下、試験クロック端子は、テストクロック端子とも称される。
テストクロック端子TC1は、半導体装置SEM0の外部端子に対応する。例えば、テストクロック端子TC1は、半導体チップ100の表面(半導体チップ100の機能を実現する論理回路が形成される面)に配置される。端子TC10、TC11は、半導体チップ100の裏面に配置される。テストクロック端子TC1で受ける試験クロックCK10は、半導体チップ100の基板を貫通する貫通電極等を介して端子TC10、TC11に伝達される。端子TC20、TC21は、半導体チップ200の表面に配置され、端子TC10、TC11とバンプ等を介してそれぞれ接続される。
端子TC10、TC20間の信号経路PTc1および端子TC11、TC21間の信号経路PTc2は、テストクロック端子TC1で受ける試験クロックCK10が伝達されるテストクロック用の信号経路である。以下、テストクロック用の信号経路(信号経路PTc1等)は、クロック経路とも称される。
クロック経路PTc1、PTc2は、半導体チップ100と半導体チップ200との間に配置され、テストクロック端子TC1で受けた試験クロックCK10を半導体チップ100から半導体チップ200に伝達する。このように、試験回路10は、テストクロック端子TC1で受ける試験クロックCK10を冗長に転送する複数のクロック経路PTc1、PTc2を有する。
クロック検出部20は、半導体チップ200に設けられ、複数のクロック経路PTc1、PTc2を介してそれぞれ受ける試験クロックCK10を検出する。例えば、クロック検出部20は、複数のクロック経路PTc1、PTc2を介してそれぞれ受ける試験クロックCK10のうち、クロック数が所定数に最初に達した試験クロックCK10を検出する。
クロック検出部20は、複数のクロック経路PTc1、PTc2を介して半導体チップ100に接続される。クロック検出部20は、半導体装置SEM0が受ける試験クロックCK10を半導体チップ100および複数のクロック経路PTc1、PTc2を介して受け、クロック選択信号CSをクロック経路選択部30に出力する。
例えば、半導体装置SEM0を試験するテスト装置は、試験クロックCK10をテストクロック端子TC1に供給する。これにより、試験クロックCK10は、テストクロック端子TC1から複数のクロック経路PTc1、PTc2を介してクロック検出部20に転送される。そして、クロック検出部20は、クロック経路PTc1、PTc2を介して受けるそれぞれの試験クロックCK10のクロック数を計数し、計数したクロック数に基づいてクロック選択信号CSを生成する。
例えば、複数のクロック経路PTc1、PTc2のうち、クロック経路PTc2が開放状態になる故障(例えば、マイクロバンプでの開放)が発生した場合、端子TC11に転送された試験クロックCK10は、端子TC21に転送されない。したがって、端子TC21からクロック検出部20に伝達される信号のクロック数は、所定数に達しない。なお、端子TC10に転送された試験クロックCK10は、クロック経路PTc1および端子TC20を介してクロック検出部20に転送される。
したがって、テスト装置が試験クロックCK10をテストクロック端子TC1に供給し続けることにより、端子TC20からクロック検出部20に伝達される試験クロックCK10のクロック数は、所定数に達する。そして、クロック検出部20は、クロック経路PTc1を介して受けた試験クロックCK10のクロック数が所定数に達した場合に、クロック経路PTc1を示すクロック選択信号CSを生成する。
同様に、複数のクロック経路PTc1、PTc2のうち、クロック経路PTc1が開放状態になる故障(例えば、マイクロバンプでの開放)が発生した場合、端子TC10に転送された試験クロックCK10は、端子TC20に転送されない。したがって、クロック検出部20は、クロック経路PTc2を介して受けた試験クロックCK10のクロック数が所定数に達した場合に、クロック経路PTc2を示すクロック選択信号CSを生成する。
なお、複数のクロック経路PTc1、PTc2のいずれにも故障が発生していない場合、端子TC10、TC11にそれぞれ転送された試験クロックCK10は、端子TC20、端子TC21にそれぞれ転送される。この場合、クロック検出部20は、クロック経路PTc1、PTc2のいずれか一方を示すクロック選択信号CSを生成する。例えば、クロック検出部20は、クロック経路PTc1、PTc2をそれぞれ介して受けた試験クロックCK10のうち、クロック数が所定数に先に達した試験クロックCK10を伝達したクロック経路PTcを示すクロック選択信号CSを生成する。以下、クロック数が所定数に達した試験クロックCK10を伝達したクロック経路PTcは、所定数のクロックを伝達したクロック経路PTcとも称される。
このように、クロック検出部20は、複数のクロック経路PTc1、PTc2のいずれかを介して受けた試験クロックCK10のクロック数が所定数に達した場合、所定数のクロックを伝達したクロック経路PTcを示すクロック選択信号CSを生成する。すなわち、クロック検出部20は、所定数のクロックを伝達したクロック経路PTcを正常なクロック経路PTcと判定する。
なお、試験クロックCK10の検出は、試験クロックCK10のクロック数が所定数に達したかを検出する方法以外の方法で実現されてもよい。例えば、クロック検出部20は、クロック経路PTc1を介して受けた試験クロックCK10を試験クロックCK10の周期の4分の1程度遅延させ、遅延クロックを生成する。そして、クロック検出部20は、遅延クロックの立ち上がり時の試験クロックCK10のレベルが高論理レベルの場合、正常な試験クロックCK10をクロック経路PTc1を介して受けたと判定してもよい。同様に、クロック検出部20は、クロック経路PTc2を介して受けた試験クロックCK10を試験クロックCK10の周期の4分の1程度遅延させ、遅延クロックを生成する。そして、クロック検出部20は、遅延クロックの立ち上がり時の試験クロックCK10のレベルが高論理レベルの場合、正常な試験クロックCK10をクロック経路PTc2を介して受けたと判定してもよい。
クロック経路選択部30は、クロック検出部20を含む半導体チップ200に設けられ、複数のクロック経路PTc1、PTc2に接続される。そして、クロック経路選択部30は、複数のクロック経路PTc1、PTc2のうち、半導体装置SEM0を試験する際に使用するクロック経路PTcをクロック選択信号CSに基づいて選択する。例えば、複数のクロック経路PTc1、PTc2のうち、クロック経路PTc2に故障が発生した場合、クロック経路選択部30は、クロック経路PTc1を示すクロック選択信号CSをクロック検出部20から受ける。
この場合、クロック経路選択部30は、複数のクロック経路PTc1、PTc2のうち、クロック選択信号CSが示すクロック経路PTc1を、半導体チップ200の試験部40と他の半導体チップ100との間のクロック経路PTcとして選択する。すなわち、クロック経路選択部30は、テストクロック端子TC1からクロック経路PTc1を介して受けた試験クロックCK10を、半導体チップ200の試験部40に転送する。
このように、クロック経路選択部30は、半導体チップ200に設けられ、複数のクロック経路PTc1、PTc2のうち、クロック検出部20が検出した試験クロックCK10を伝達するクロック経路PTcを試験クロック経路として選択する。そして、クロック経路選択部30は、半導体チップ200が試験される際に、試験クロック経路を介して伝達される試験クロックCK10を試験部40に供給する。
試験部40は、半導体チップ200に設けられ、半導体チップ200に転送される試験クロックCK10を用いて半導体チップ200を試験する。例えば、試験部40は、試験クロックCK10に同期して動作するスキャンフリップフロップ(スキャンテストに対応したフリップフロップ回路)を有する。半導体チップ200の試験部40に含まれるスキャンフリップフロップは、クロック経路選択部30から転送された試験クロックCK10に同期して動作し、半導体チップ200を試験する。
これにより、試験回路10は、テストクロック端子TC1で受ける試験クロックCK10が伝達されるクロック経路PTc1、PTc2の一方が故障した場合でも、半導体チップ100、200間の信号経路の故障箇所を検出する試験を実行できる。この結果、半導体チップ100、200間の信号経路の故障箇所を迂回して不良を救済することができる。
例えば、半導体装置SEM0を試験するテスト装置は、試験クロックCK10をテストクロック端子TC1に供給する。そして、テスト装置は、クロック経路選択部30が半導体装置SEM0を試験する際に使用するクロック経路PTc(クロック経路PTc1またはクロック経路PTc2)を選択した後に、テストデータを半導体装置SEM0のテスト入力端子に供給する。テストデータは、半導体装置SEM0を試験するデータである。試験回路10は、テスト入力端子で受けるテストデータを用いて、半導体チップ100、200間の信号経路の故障箇所を検出する試験を実行する。
テスト装置からテストデータを受けた試験回路10は、例えば、半導体チップ200の試験部40に含まれるスキャンフリップフロップにスキャンチャーン等を通じてテストデータを設定する。そして、試験回路10は、半導体チップ200の試験部40に含まれるスキャンフリップフロップから半導体チップ100の試験部(図示せず)に含まれるスキャンフリップフロップにテストデータを転送する。これにより、半導体チップ100の試験部に含まれるスキャンフリップフロップにテストデータが保持される。そして、試験回路10は、半導体チップ100の試験部に含まれるスキャンフリップフロップに保持されたテストデータをスキャンチャーン等を通じてテスト装置に出力する。テスト装置は、試験回路10から受けたデータに基づいて、半導体チップ100、200間の信号経路の故障箇所を検出する。このように、試験部40は、半導体装置SEM0を試験する。
なお、試験回路10の構成は、図1に示す例に限定されない。例えば、テストクロック端子TC1で受ける試験クロックCK10が伝達されるクロック経路PTc(PTc1、PTc2)は、3本以上のクロック経路PTcで冗長化されてもよい。また、例えば、試験回路10は、3つの半導体チップが積層された半導体装置SEM0に内蔵されてもよい。この場合、クロック検出部20およびクロック経路選択部30は、3つの半導体チップのうちの2つに設けられてもよい。あるいは、試験回路10は、4つ以上の半導体チップが積層された半導体装置SEM0に内蔵されてもよい。例えば、クロック検出部20およびクロック経路選択部30は、複数の半導体チップの少なくとも1つに設けられ、複数のクロック経路PTc1、PTc2を介して他の半導体チップに接続される。
以上、図1に示す実施形態では、テストクロック端子TC1で受ける試験クロックCK10が伝達されるクロック経路PTc1、PTc2の一方が故障した場合でも、半導体チップ100、200間の信号経路の故障箇所を検出する試験を実行できる。これにより、半導体チップ100、200間の信号経路の故障箇所を迂回して不良を救済することができる。この結果、この実施形態では、半導体装置SEM0の歩留まりを向上できる。したがって、この実施形態では、半導体装置SEM0の製造コストを低減できる。
図2は、試験回路および試験回路の制御方法の別の実施形態を示す。図1で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。試験回路TESC1は、複数の半導体チップCHIP(CHIP1、CHIP2、CHIP3)を含む半導体装置SEM1を試験する。半導体装置SEM1は、複数の半導体チップCHIPが単一のパッケージに格納されるSiPの形態を有する。例えば、複数の半導体チップCHIPは、SiP内に積層して配置される。
複数の半導体チップCHIPのI/O端子は、マイクロバンプ等のバンプにより互いに接合される。半導体チップCHIP1の裏面に配置された端子は、半導体チップCHIP2の表面に配置された端子にバンプにより接合される。また、半導体チップCHIP2の裏面に配置された端子は、半導体チップCHIP3の表面に配置された端子にバンプにより接合される。
なお、各半導体チップCHIPの表面は、各半導体チップCHIPの機能を実現する論理回路が形成される面である。また、各半導体チップCHIPの裏面に配置された端子は、各半導体チップCHIPの基板を貫通する貫通電極等を介して、各半導体チップCHIP内の回路等に接続される。
半導体装置SEM1は、例えば、IEEE1149.1としてJTAG(Joint Test Action Group)により標準化されたテスト手法に対応している。以下、IEEE1149.1をJTAGとも称する。例えば、半導体装置SEM1には、TAP(Test Access Port)と呼ばれるインターフェース信号用の端子TCK(Test Clock)、TMS(Test Mode Select)、TRST(Test Reset)、TDI(Test Data In)、TDO(Test Data Out)が設けられている。
試験回路TESC1は、クロック検出部DET(DET2、DET3)と、クロック経路選択部SELc(SELc2、SELc3)と、試験部TAP(TAP1−TAP3)と、多数決選択部MAJ(MAJ20、MAJ21、MAJ30、MAJ31)とを有する。さらに、試験回路TESC1は、クロック転送切り替え部SWA(SWA1、SWA2)、転送先切り替え部SWB(SWB11、SWB12、SWB21、SWB22)と、転送データ切り替え部SWC(SWC1、SWC2)とを有する。以下、クロック転送切り替え部SWA、転送先切り替え部SWBおよび転送データ切り替え部SWCは、切り替え部SWA、SWB、SWCとも称される。
また、試験回路TESC1は、各半導体チップCHIPに設けられた端子TDI、TDO、TCK、TMS、TRSTを有する。
端子TCK1は、テスト用の試験クロックTCK(以下、テストクロックTCKあるいは信号TCKとも称する)を半導体装置SEM1の外部から受けるテストクロック端子である。
端子TDI1は、半導体装置SEM1を試験するデータTDI(例えば、各半導体チップCHIPにスキャンインされるデータ)を半導体装置SEM1の外部から受ける試験データ入力端子である。以下、試験データ入力端子は、テスト入力端子とも称される。
端子TRST1は、試験部TAPの状態をリセットする信号TRST(以下、テストリセットTRSTとも称する)を半導体装置SEM1の外部から受けるテストリセット端子である。
端子TMS1は、テストモードを選択する信号TMS(以下、テストモードセレクトTMSとも称する)を半導体装置SEM1の外部から受けるテストモードセレクト端子である。端子TDO1は、各半導体チップCHIPの試験結果に対応するデータTDO(例えば、各半導体チップCHIPからスキャンアウトされるデータ)を半導体装置SEM1の外部に出力するテスト出力端子である。以下、データTDI、TDOは、信号TDI、TDOとも称される。
すなわち、テストクロック端子TCK1、テスト入力端子TDI1、テストリセット端子TRST1、テストモードセレクト端子TMS1およびテスト出力端子TDO1は、半導体装置SEM1の外部端子に対応する。テストクロック端子TCK1、テスト入力端子TDI1、テストリセット端子TRST1、テストモードセレクト端子TMS1およびテスト出力端子TDO1は、半導体チップCHIP1の表面に配置される。
端子TCK10、TCK11、TDI11、TRST10、TRST11、TRST12、TMS10、TMS11、TMS12、TDO10は、半導体チップCHIP1の裏面に配置される。端子TCK20、TCK21、TDI21、TRST20、TRST21、TRST22、TMS20、TMS21、TMS22、TDO20は、半導体チップCHIP2の表面に配置される。
端子TCK20、TCK21、TDI21、TRST20、TRST21、TRST22は、端子TCK10、TCK11、TDI11、TRST10、TRST11、TRST12とバンプ等を介してそれぞれ接続される。また、端子TMS20、TMS21、TMS22、TDO20は、端子TMS10、TMS11、TMS12、TDO10とバンプ等を介してそれぞれ接続される。
端子TCK22、TCK23、TDI23、TRST23、TRST24、TRST25、TMS23、TMS24、TMS25、TDO22は、半導体チップCHIP2の裏面に配置される。端子TCK30、TCK31、TDI31、TRST30、TRST31、TRST32、TMS30、TMS31、TMS32、TDO30は、半導体チップCHIP3の表面に配置される。
端子TCK30、TCK31、TDI31、TRST30、TRST31、TRST32は、端子TCK22、TCK23、TDI23、TRST23、TRST24、TRST25とバンプ等を介してそれぞれ接続される。また、端子TMS30、TMS31、TMS32、TDO30は、端子TMS23、TMS24、TMS25、TDO22とバンプ等を介してそれぞれ接続される。
なお、半導体チップCHIP1、CHIP2間の信号経路PTc10、PTc11と、半導体チップCHIP2、CHIP3間の信号経路PTc20、PTc21は、テスト用のテストクロックTCKが伝達されるテストクロック用の信号経路である。また、半導体チップCHIP1、CHIP2間の信号経路PT11−PT18と、半導体チップCHIP2、CHIP3間の信号経路PT21−PT28は、テスト用の信号(データTDI等のインターフェース信号)が伝達されるテスト用の信号経路である。以下、テスト用の信号経路(信号経路PT11等)は、テスト経路とも称される。
例えば、端子TCK10、TCK20間の信号経路PTc10および端子TCK11、TCK21間の信号経路PTc11は、テストクロック端子TCK1で受けるテストクロックTCKが伝達される半導体チップCHIP1、CHIP2間のクロック経路である。また、端子TCK22、TCK30間の信号経路PTc20および端子TCK23、TCK31間の信号経路PTc21は、テストクロック端子TCK1で受けるテストクロックTCKが伝達される半導体チップCHIP2、CHIP3間のクロック経路である。このように、試験回路TESC1は、テストクロック端子TCK1で受けるテストクロックTCKを冗長に転送する複数のクロック経路PTc10、PTc11、PTc20、PTc21を有する。
以下、試験回路TESC1内のクロック転送切り替え部SWA等の各機能ブロックについて、半導体チップCHIP1、CHIP2、CHIP3毎に説明する。先ず、半導体チップCHIP1に含まれる試験回路TESC1の各機能ブロックについて説明する。
半導体チップCHIP1は、試験回路TESC1の一部として、クロック転送切り替え部SWA1、転送先切り替え部SWB11、SWB12、転送データ切り替え部SWC1および試験部TAP1を有する。切り替え部SWA1、SWB11、SWB12、SWC1は、例えば、試験部TAPから出力される制御信号SC10により制御される。なお、図2では、図を見やすくするために、切り替え部SWA1、SWB11、SWB12、SWC1と試験部TAP1との間の信号線の記載を省略している。
クロック転送切り替え部SWA1は、試験部TAP1から受ける制御信号SC10に基づいて、通過状態および非通過状態のいずれかに設定される。通過状態では、クロック転送切り替え部SWAが受けたテストクロックTCKは、クロック経路PTcを介して他の半導体チップCHIPに転送される。非通過状態では、クロック転送切り替え部SWAが受けたテストクロックTCKは、他の半導体チップCHIPに転送されない。
すなわち、クロック転送切り替え部SWA1は、制御信号SC10により通過状態に設定された場合、テストクロック端子TCK1から受けたテストクロックTCKを、クロック経路PTc10、PTc11等を介して半導体チップCHIP2に転送する。これにより、テストクロック端子TCK1に供給されたテストクロックTCKは、複数のクロック経路PTc10、PTc11を介して、半導体チップCHIP2のクロック検出部DET2およびクロック経路選択部SELc2に転送される。また、クロック転送切り替え部SWA1は、制御信号SC10により非通過状態に設定された場合、テストクロック端子TCK1から転送されるテストクロックTCKを半導体チップCHIP2に転送しない。
例えば、クロック転送切り替え部SWA1は、制御信号SC10とテストクロック端子TCK1から転送されるテストクロックTCKとの論理積の演算結果を出力する論理積回路により実現される。なお、クロック転送切り替え部SWA1は、2つの入力のうちの1つを制御信号SC10に基づいて選択する2対1セレクタ(2入力で1出力のセレクタ)により実現されてもよい。この場合、2対1セレクタの2つの入力端子の一方は、テストクロック端子TCK1からテストクロックTCKを受け、2対1セレクタの2つの入力端子の他方は、論理値”1”または論理値”0”に固定される。
転送先切り替え部SWB11、SWB12は、試験部TAP1から受ける制御信号SC10に基づいて、内部転送状態および通過状態のいずれかに設定される。内部転送状態では、転送先切り替え部SWBが受けた信号(転送先切り替え部SWB11では、データTDI)は、自身の半導体チップCHIPの試験部TAPに転送される。また、通過状態では、転送先切り替え部SWBが受けた信号(転送先切り替え部SWB11では、データTDI)は、他の半導体チップCHIPに転送される。
転送先切り替え部SWB11の入力端子(例えば、図4に示す端子IN10)は、テスト入力端子TDI1に接続される。転送先切り替え部SWB11の2つの出力端子の一方は、端子TDI11に接続され、転送先切り替え部SWB11の2つの出力端子の他方は、試験部TAP1に接続される。なお、転送先切り替え部SWB11の2つの出力端子は、例えば、図4に示す端子OUT10、OUT11である。また、転送先切り替え部SWB11は、試験部TAP1からの制御信号SC10を、図4に示す端子SCaで受ける。
例えば、転送先切り替え部SWB11は、制御信号SC10により内部転送状態に設定された場合、テスト入力端子TDI1から転送されるデータTDIを半導体チップCHIP1の試験部TAPに転送する。また、転送先切り替え部SWB11は、制御信号SC10により通過状態に設定された場合、テスト入力端子TDI1から転送されるデータTDIを、信号経路PT11等を介して半導体チップCHIP2に転送する。
転送先切り替え部SWB12の入力端子は、テストリセット端子TRST1に接続される。また、転送先切り替え部SWB12の2つの出力端子の一方は、端子TRST10、TRST11、TRST12に接続され、転送先切り替え部SWB12の2つの出力端子の他方は、試験部TAP1に接続される。
したがって、半導体チップCHIP1の転送先切り替え部SWBが内部転送状態に設定される場合、半導体チップCHIP1の試験部TAP1は、端子TDI1、TRST1から信号TDI、TRSTを受ける。なお、信号TCKは、端子TCK1が試験部TAP1に接続されるため、切り替え部SWA1の状態に拘わらず、試験部TAP1に転送される。
また、半導体チップCHIP1の切り替え部SWA、SWBが通過状態に設定される場合、端子TCK1、TDI1、TRST1で受ける信号TCK、TDI、TRSTは、半導体チップCHIP2に転送される。ここで、信号TMSは、端子TMS1が端子TMS10、TMS11、TMS12および試験部TAP1に接続されるため、試験部TAP1に転送されるとともに、半導体チップCHIP2に転送される。
試験部TAP1は、JTAGに対応した試験を実行する。例えば、試験部TAP1は、TAPコントローラ、命令レジスタ、データレジスタ等を有する。試験部TAP1内のTAPコントローラは、信号TCK、TMS、TRSTにより制御される同期式のステートマシーンである。例えば、TAPコントローラは、命令レジスタ、データレジスタ等の制御信号(例えば、駆動クロック)を、信号TCK、TMS、TRSTに基づいて生成する。
なお、制御信号SC10の状態は、TAPコントローラのステート遷移(モード)により制御される。制御信号SC10の一状態は、TAPコントローラの複数のモードに割り当てられてもよい。
試験部TAP1内の命令レジスタは、例えば、スキャン動作させるデータレジスタの選択に使用される。例えば、命令レジスタは、命令コード等を示すデータTDIと、TAPコントローラからの制御信号とを受ける。これにより、命令レジスタに、命令コードがセットされる。なお、命令コード等を示すデータTDIは、例えば、半導体装置SEM1を試験するテスト装置からテスト入力端子TDI1に供給される。
試験部TAP1内のデータレジスタは、バウンダリスキャンレジスタ、バイパスレジスタ等である。データレジスタは、例えば、TAPコントローラからの制御信号と、テスト入力端子TDI1で受けるデータTDIとを受け、受けたデータTDIを保持する。そして、データレジスタは、保持したデータTDIをデータTDOとしてテスト出力端子TDO1に転送する。このように、試験部TAP1は、半導体装置SEM1の試験結果に対応するデータTDOを、テスト出力端子TDO1に転送する。
転送データ切り替え部SWC1は、試験部TAP1から受ける制御信号SC10に基づいて、内部転送状態および通過状態のいずれかに設定される。内部転送状態では、転送データ切り替え部SWC1は、半導体チップCHIP1の試験部TAP1から受けるデータTDOをテスト出力端子TDO1に転送する。また、通過状態では、転送データ切り替え部SWC1は、半導体チップCHIP2から受けるデータTDO(試験部TAP2または試験部TAP3から転送されるデータTDO)をテスト出力端子TDO1に転送する。
転送データ切り替え部SWC1の2つの入力端子(例えば、図5に示す端子IN20、IN21)の一方は、端子TDO10に接続され、転送データ切り替え部SWC1の2つの入力端子の他方は、試験部TAP1に接続される。転送データ切り替え部SWC1の出力端子(例えば、図5に示す端子OUT20)は、テスト出力端子TDO1に接続される。また、転送データ切り替え部SWC1は、試験部TAP1からの制御信号SC10を、図5に示す端子SCaで受ける。
例えば、転送データ切り替え部SWC1は、制御信号SC10により内部転送状態に設定された場合、試験部TAP1から転送されるデータTDOを、テスト出力端子TDO1に転送する。また、転送データ切り替え部SWC1は、制御信号SC10により通過状態に設定された場合、半導体チップCHIP2から転送されるデータTDOをテスト出力端子TDO1に転送する。
次に、半導体チップCHIP2に含まれる試験回路TESC1の各機能ブロックについて説明する。
半導体チップCHIP2は、試験回路TESC1の一部として、クロック転送切り替え部SWA2、転送先切り替え部SWB21、SWB22、転送データ切り替え部SWC2および試験部TAP2を有する。さらに、半導体チップCHIP2は、試験回路TESC1の一部として、クロック検出部DET2、クロック経路選択部SELc2および多数決選択部MAJ20、MAJ21を有する。
クロック検出部DET2の2つの入力端子(例えば、図3に示す端子TCKa、TCKb)は、端子TCK20、TCK21に接続される。すなわち、半導体チップCHIP2のクロック検出部DET2は、クロック経路PTc10、PTc11を介して半導体チップCHIP1の端子TCK10、TCK11に接続される。クロック検出部DET2の出力端子は、クロック経路選択部SELc2の制御端子に接続される。また、クロック検出部DET2のリセット端子(例えば、図3に示す端子RST)は、転送先切り替え部SWB22の2つの出力端子の1つ(試験部TAP2に接続される出力端子)に接続される。
クロック検出部DET2は、テストクロック端子TCK1で受けるテストクロックTCKを他の半導体チップCHIP1および複数のクロック経路PTc10、PTc11を介して受け、クロック選択信号CS2をクロック経路選択部SELc2に出力する。また、クロック検出部DET2は、信号TRSTを転送先切り替え部SWB22から受ける。
クロック検出部DET2は、複数のクロック経路PTc10、PTc11のいずれかを介して受けたテストクロックTCKのクロック数が所定数に達した場合、所定数のクロックを伝達したクロック経路PTcを示すクロック選択信号CS2を生成する。そして、クロック検出部DET2は、生成したクロック選択信号CS2を、クロック経路選択部SELc2の制御端子に転送する。
例えば、複数のクロック経路PTc10、PTc11のうち、クロック経路PTc10に故障が発生した場合、クロック検出部DET2は、テストクロックTCKを、クロック経路PTc11を介して受ける。そして、クロック検出部DET2は、クロック経路PTc11を介して受けたテストクロックTCKのクロック数が所定数に達した場合、所定数のクロックを伝達したクロック経路PTc11を示すクロック選択信号CS2を生成する。
このように、クロック検出部DET2は、複数のクロック経路PTc10、PTc11を介してそれぞれ受けるテストクロックTCKのうち、クロック数が所定数に最初に達したテストクロックTCKを検出する。そして、クロック検出部DET2は、検出したテストクロックTCKを伝達したクロック経路PTcを示すクロック選択信号CS2を生成する。
クロック経路選択部SELc2の2つの入力端子は、端子TCK20、TCK21に接続される。すなわち、半導体チップCHIP2のクロック経路選択部SELc2は、クロック経路PTc10、PTc11を介して半導体チップCHIP1の端子TCK10、TCK11に接続される。また、クロック経路選択部SELc2の出力端子は、クロック転送切り替え部SWA2および試験部TAP2に接続される。
クロック経路選択部SELc2は、複数のクロック経路PTc10、PTc11のうち、半導体装置SEM1を試験する際に使用するクロック経路PTcをクロック選択信号CS2に基づいて選択する。例えば、複数のクロック経路PTc10、PTc11のうち、クロック経路PTc10に故障が発生した場合、クロック経路選択部SELc2は、クロック経路PTc11を示すクロック選択信号CS2をクロック検出部DET2から受ける。
この場合、クロック経路選択部SELc2は、複数のクロック経路PTc10、PTc11のうち、クロック選択信号CS2が示すクロック経路PTc11を、半導体チップCHIP1、CHIP2間のクロック経路PTcとして選択する。例えば、クロック経路選択部SELc2は、テストクロック端子TCK1からクロック経路PTc11を介して受けたテストクロックTCKを、クロック転送切り替え部SWA2に転送する。
クロック転送切り替え部SWA2は、半導体チップCHIP1のクロック転送切り替え部SWA1と同一または同様である。クロック転送切り替え部SWA2の入力端子は、クロック経路選択部SELc2の出力端子に接続される。クロック転送切り替え部SWA2の出力端子は、端子TCK22、TCK23に接続される。
例えば、通過状態に設定されたクロック転送切り替え部SWA2は、クロック経路選択部SELc2から転送されるテストクロックTCKをクロック経路PTc20、PTc21等を介して半導体チップCHIP3に転送する。これにより、半導体チップCHIP3のクロック検出部DET3およびクロック経路選択部SELc3は、半導体チップCHIP2からクロック経路PTc20、PTc21をそれぞれ介して転送されるテストクロックTCKを受ける。なお、非通過状態に設定されたクロック転送切り替え部SWA2は、クロック経路選択部SELc2から受けるテストクロックTCKを半導体チップCHIP3に転送しない。
転送先切り替え部SWB21、SWB22は、半導体チップCHIP1の転送先切り替え部SWB11、SWB12と同一または同様である。転送先切り替え部SWB21の入力端子は、端子TDI21に接続される。また、転送先切り替え部SWB21の2つの出力端子の一方は、端子TDI23に接続され、転送先切り替え部SWB21の2つの出力端子の他方は、試験部TAP2に接続される。
例えば、内部転送状態に設定された転送先切り替え部SWB21は、端子TDI21から転送されるデータTDIを半導体チップCHIP2の試験部TAP2に転送する。また、通過状態に設定された転送先切り替え部SWB21は、端子TDI21から転送されるデータTDIを信号経路PT21等を介して半導体チップCHIP3に転送する。
転送先切り替え部SWB22の入力端子は、多数決選択部MAJ20の出力端子に接続される。また、転送先切り替え部SWB22の2つの出力端子の一方は、端子TRST23、TRST24、TRST25に接続され、転送先切り替え部SWB22の2つの出力端子の他方は、試験部TAP2に接続される。
多数決選択部MAJ20、MAJ21は、例えば、3つの入力端子で受けた3つの信号の論理値のうち、過半数以上を占める論理値と同じ論理値の信号を出力する。多数決選択部MAJ20の3つの入力端子は、端子TRST20、TRST21、TRST22にそれぞれ接続され、多数決選択部MAJ20の出力端子は、転送先切り替え部SWB22の入力端子に接続される。
例えば、複数の信号経路PT12、PT13、PT14のうち、信号経路PT12が故障した場合、信号経路PT13、PT14から転送される信号の論理値は、信号経路PT12、PT13、PT14から転送される信号の論理値のうちの過半数を占める。この場合、多数決選択部MAJ20は、信号経路PT13、PT14から転送される信号TRSTと同じ論理値の信号TRSTを転送先切り替え部SWB22に出力する。したがって、半導体装置SEM1は、信号経路PT12、PT13、PT14の1つが故障した場合でも、信号TRSTを半導体チップCHIP1から半導体チップCHIP2に転送できる。
多数決選択部MAJ21の3つの入力端子は、端子TMS20、TMS21、TMS22にそれぞれ接続され、多数決選択部MAJ21の出力端子は、端子TMS23、TMS24、TMS25および試験部TAP2に接続される。例えば、複数の信号経路PT15、PT16、PT17のうち、信号経路PT15が故障した場合、多数決選択部MAJ21は、信号経路PT16、PT17から転送される信号TMSと同じ論理値の信号TMSを試験部TAP2等に出力する。したがって、半導体装置SEM1は、信号経路PT15、PT16、PT17の1つが故障した場合でも、信号TMSを半導体チップCHIP1から半導体チップCHIP2に転送できる。
転送データ切り替え部SWC2および試験部TAP2は、半導体チップCHIP1の転送データ切り替え部SWC1および試験部TAP1と同一または同様である。転送データ切り替え部SWC2の2つの入力端子の一方は、端子TDO22に接続され、転送データ切り替え部SWCの2つの入力端子の他方は、試験部TAP2に接続される。また、転送データ切り替え部SWC2の出力端子は、端子TDO20に接続される。
例えば、半導体チップCHIP1、CHIP2のそれぞれのクロック転送切り替え部SWAが通過状態および非通過状態にそれぞれ設定された場合、テストクロックTCKは、テストクロック端子TCK1から半導体チップCHIP2の試験部TAP2に転送される。また、半導体チップCHIP1、CHIP2のそれぞれの転送先切り替え部SWBが通過状態および内部転送状態にそれぞれ設定された場合、端子TDI1、TRST1で受ける信号TDI、TRSTは、半導体チップCHIP2の試験部TAPに転送される。
なお、半導体チップCHIP1、CHIP2の両方のクロック転送切り替え部SWAが通過状態に設定された場合、テストクロック端子TCK1で受けるテストクロックTCKは、半導体チップCHIP3に転送される。同様に、半導体チップCHIP1、CHIP2の両方の転送先切り替え部SWBが通過状態に設定された場合、端子TDI1、TRST1で受ける信号TDI、TRSTは、半導体チップCHIP3に転送される。
また、半導体チップCHIP1、CHIP2のそれぞれの転送データ切り替え部SWCが通過状態および内部転送状態にそれぞれ設定された場合、半導体チップCHIP2の試験部TAP2から転送されるデータTDOは、テスト出力端子TDO1に転送される。なお、半導体チップCHIP1、CHIP2の両方の転送データ切り替え部SWCが通過状態に設定された場合、半導体チップCHIP3の試験部TAP3から転送されるデータTDOは、テスト出力端子TDO1に転送される。
次に、半導体チップCHIP3に含まれる試験回路TESC1の各機能ブロックについて説明する。
半導体チップCHIP3は、試験回路TESC1の一部として、クロック検出部DET3、クロック経路選択部SELc3、多数決選択部MAJ30、MAJ31および試験部TAP3を有する。クロック検出部DET3、クロック経路選択部SELc3、多数決選択部MAJ30、MAJ31は、半導体チップCHIP2のクロック検出部DET2、クロック経路選択部SELc2、多数決選択部MAJ20、MAJ21と同一または同様である。また、試験部TAP3は、半導体チップCHIP2の試験部TAP2と同一または同様である。
クロック検出部DET3の2つの入力端子は、端子TCK30、TCK31に接続される。すなわち、半導体チップCHIP3のクロック検出部DET3は、クロック経路PTc20、PTc21を介して半導体チップCHIP2の端子TCK22、TCK23に接続される。クロック検出部DET3の出力端子は、クロック経路選択部SELc3の制御端子に接続される。また、クロック検出部DET3のリセット端子は、多数決選択部MAJ30の出力端子に接続される。
クロック経路選択部SELc3の2つの入力端子は、端子TCK30、TCK31に接続される。すなわち、半導体チップCHIP3のクロック経路選択部SELc3は、クロック経路PTc20、PTc21を介して半導体チップCHIP2の端子TCK22、TCK23に接続される。また、クロック経路選択部SELc3の出力端子は、試験部TAP3に接続される。
多数決選択部MAJ30の3つの入力端子は、端子TRST30、TRST31、TRST32にそれぞれ接続され、多数決選択部MAJ30の出力端子は、試験部TAP3およびクロック検出部DET3に接続される。多数決選択部MAJ31の3つの入力端子は、端子TMS30、TMS31、TMS32にそれぞれ接続され、多数決選択部MAJ31の出力端子は、試験部TAP3に接続される。
試験部TAP3は、データTDOを、端子TDO30に出力する。半導体チップCHIP1、CHIP2の両方の転送データ切り替え部SWCが通過状態に設定された場合、半導体チップCHIP3の試験部TAP3から出力されるデータTDOは、テスト出力端子TDO1に転送される。
半導体チップCHIP1、CHIP2の両方のクロック転送切り替え部SWAが通過状態に設定された場合、テストクロック端子TCK1で受けるテストクロックTCKは、半導体チップCHIP3の試験部TAP3に転送される。同様に、半導体チップCHIP1、CHIP2の両方の転送先切り替え部SWBが通過状態に設定された場合、端子TDI1、TRST1で受ける信号TDI、TRSTは、半導体チップCHIP3の試験部TAP3に転送される。
なお、試験回路TESC1の構成は、図2に示す例に限定されない。例えば、試験回路TESC1は、他の半導体チップCHIPまたは自身の半導体チップCHIPの試験部TAPのいずれかに信号TMSを転送する転送先切り替え部SWBを有してもよい。また、クロック転送切り替え部SWAは、省かれてもよい。この場合、例えば、クロック検出部DET2の状態をリセットするリセット信号(例えば、図3に示す端子RSTが受ける信号)は、半導体チップCHIP1(下チップ)の試験部TAP1から半導体チップCHIP2(上チップ)に転送される。
また、例えば、テストクロック端子TCK1で受けるテストクロックTCKが伝達されるクロック経路PTc(PTc10、PTc11等)は、3本以上のクロック経路で冗長化されてもよい。また、例えば、試験回路TESC1は、2つの半導体チップCHIPが積層された半導体装置SEM(半導体チップCHIP2が省かれた半導体装置SEM1)に内蔵されてもよい。あるいは、試験回路TESC1は、4つ以上の半導体チップCHIPが積層された半導体装置SEMに内蔵されてもよい。
図3は、図2に示したクロック検出部DETおよびクロック経路選択部SELcの一例を示す。図3に示す端子TCKa、TCKb、RSTは、半導体チップCHIP2のクロック検出部DET2およびクロック経路選択部SELc2では、端子TCK20、TCK21および転送先切り替え部SWB22の出力端子にそれぞれ接続される。また、図3に示す端子TCKoは、半導体チップCHIP2のクロック経路選択部SELc2では、クロック転送切り替え部SWA2の入力端子および試験部TAP2に接続される。なお、半導体チップCHIP3のクロック検出部DET3およびクロック経路選択部SELc3では、端子TCKa、TCKb、RST、TCKoは、端子TCK30、TCK31、多数決選択部MAJ30の出力端子および試験部TAP3にそれぞれ接続される。
クロック検出部DET(DET2、DET3)およびクロック経路選択部SELc(SELc2、SELc3)のうち、先ず、クロック検出部DETについて、クロック検出部DET2を例にして説明する。なお、クロック検出部DET3の構成および動作は、クロック検出部DET2と同一または同様である。
クロック検出部DETは、カウンタCT1、CT2、論理積回路AND1、AND2、AND3、論理和回路OR1、OR2、否定論理和回路NOR1、NOR2、インバータINV1およびフリップフロップ回路DFF1−DFF8を有する。
カウンタCT1、CT2は、複数のクロック経路PTc10、PTc11の各々に対応して設けられ、複数のクロック経路PTc10、PTc11を介して受けるテストクロックTCKa、TCKbのそれぞれのクロック数を計数する。図3に示す符号MSB、LSBは、最上位ビットおよび最下位ビットをそれぞれ示す。図3に示す例では、カウンタCT1のカウント値の上位3ビットの論理値は、論理積回路AND1に転送され、カウンタCT2のカウント値の上位3ビットの論理値は、論理積回路AND2に転送される。
例えば、8ビットのカウンタCT(CT1、CT2)では、カウンタ値が224以上の場合、カウント値の上位3ビットの全ては、論理値”1”であり、カウンタ値が224未満の場合、カウント値の上位3ビットの少なくとも1つは、論理値”0”である。この場合、テストクロックTCKの検出に使用されるクロック数の判定値(所定数)は、224である。なお、カウンタCT1、CT2は、端子RSTに転送されるリセット信号RSTが論理値”1”の場合、カウント値をリセットする。図2に示した試験回路TESC1では、端子RSTに転送されるリセット信号RSTは、リセット端子TRSTに供給されるリセット信号TRSTである。
論理積回路AND(AND1、AND2)は、クロック数が所定数に達したテストクロックTCKを伝達したクロック経路PTcに対応する制御信号CCNT(制御信号CCNT1または制御信号CCNT2)をアサートする第1の設定制御部の一例である。
論理積回路AND1は、3個の入力端子で受けた信号の論理積を演算し、演算結果を論理和回路OR1の入力端子に出力する。すなわち、論理積回路AND1は、カウンタCT1のカウンタ値の上位3ビットの全てが論理値”1”の場合(テストクロックTCKaのクロック数が所定数以上の場合)、論理値”1”の制御信号CCNT1を論理和回路OR1に出力する。換言すれば、論理積回路AND1は、テストクロックTCKaのクロック数が所定数に達した場合、テストクロックTCKaを伝達したクロック経路PTc10に対応する制御信号CCNT1をアサートする。
なお、論理積回路AND1は、カウンタCT1のカウンタ値の上位3ビットの少なくとも1つが論理値”0”の場合(テストクロックTCKaのクロック数が所定数未満の場合)、論理値”0”の制御信号CCNT1を論理和回路OR1に出力する。すなわち、テストクロックTCKaのクロック数が所定数に達していない場合、制御信号CCNT1は、ネゲートされた状態に維持される。
論理積回路AND2は、カウンタCT2のカウンタ値の上位3ビットの全てが論理値”1”の場合(テストクロックTCKbのクロック数が所定数以上の場合)、論理値”1”の制御信号CCNT2を論理和回路OR2に出力する。換言すれば、論理積回路AND2は、テストクロックTCKbのクロック数が所定数に達した場合、テストクロックTCKbを伝達したクロック経路PTc11に対応する制御信号CCNT2をアサートする。
なお、論理積回路AND2は、カウンタCT2のカウンタ値の上位3ビットの少なくとも1つが論理値”0”の場合(テストクロックTCKbのクロック数が所定数未満の場合)、論理値”0”の制御信号CCNT2を論理和回路OR2に出力する。すなわち、テストクロックTCKbのクロック数が所定数に達していない場合、制御信号CCNT2は、ネゲートされた状態に維持される。
論理和回路OR1、OR2は、2つの入力端子で受けた信号の論理和を演算し、演算結果を出力する。例えば、論理和回路OR1の2つの入力端子は、論理積回路AND1の出力端子およびフリップフロップ回路DFF1の出力端子Qにそれぞれ接続され、論理和回路OR1の出力端子は、フリップフロップ回路DFF1の入力端子Dに接続される。また、例えば、論理和回路OR2の2つの入力端子は、論理積回路AND2の出力端子およびフリップフロップ回路DFF5の出力端子Qにそれぞれ接続され、論理和回路OR2の出力端子は、フリップフロップ回路DFF5の入力端子Dに接続される。
したがって、論理和回路OR1は、フリップフロップ回路DFF1に論理値”1”の信号が記憶された場合、論理値”1”の信号をフリップフロップ回路DFF1から受ける。このため、論理和回路OR1は、フリップフロップ回路DFF1に論理値”1”の信号が記憶された場合、制御信号CCNT1の論理値に拘わらず、論理値”1”の信号をフリップフロップ回路DFF1に出力する。
同様に、論理和回路OR2は、フリップフロップ回路DFF5に論理値”1”の信号が記憶された場合、論理値”1”の信号をフリップフロップ回路DFF5から受ける。このため、論理和回路OR2は、フリップフロップ回路DFF5に論理値”1”の信号が記憶された場合、制御信号CCNT2の論理値に拘わらず、論理値”1”の信号をフリップフロップ回路DFF5に出力する。
フリップフロップ回路DFF1−DFF4、DFF5−DFF8は、複数のクロック経路PTc10、PTc11の各々に対応して設けられ、クロック選択信号CS2(CSa、CSb)を出力する複数の第1の選択信号記憶部の一例である。フリップフロップ回路DFF1−DFF4、DFF5−DFF8は、複数のクロック経路PTc10、PTc11の各々の論理値を記憶し、記憶した論理値に基づくクロック選択信号CS2(CSa、CSb)を出力する。
例えば、フリップフロップ回路DFF1−DFF4は、テストクロックCLKaに同期して動作し、入力端子Dで受けた信号を記憶する。フリップフロップ回路DFF2−DFF4の入力端子Dは、フリップフロップ回路DFF1−DFF3の出力端子Qにそれぞれ接続される。さらに、フリップフロップ回路DFF1の出力端子Qは、論理和回路OR1の入力端子およびインバータINV1の入力端子に接続され、フリップフロップ回路DFF3の出力端子Dは、否定論理和回路NOR2の入力端子に接続される。
フリップフロップ回路DFF4の出力端子Qは、クロック経路選択部SELcの論理積回路AND4の入力端子に接続される。すなわち、フリップフロップ回路DFF4に記憶された信号の論理値を示す選択信号CSaは、クロック経路選択部SELcの論理積回路AND4に転送される。
また、フリップフロップ回路DFF1−DFF4は、端子Rが論理値”0”の信号を受けた場合、初期状態(例えば、論理値”0”の信号を出力する状態)にリセットされる。すなわち、端子Rが論理値”0”の信号を受けている期間では、フリップフロップ回路DFF1−DFF4は、初期状態に維持される。
フリップフロップ回路DFF5−DFF8は、テストクロックCLKbに同期して動作し、入力端子Dで受けた信号を記憶する。フリップフロップ回路DFF6−DFF8の入力端子Dは、フリップフロップ回路DFF5−DFF7の出力端子Qにそれぞれ接続される。さらに、フリップフロップ回路DFF5の出力端子Qは、論理和回路OR2の入力端子および論理積回路AND3の入力端子に接続される。
フリップフロップ回路DFF8の出力端子Qは、クロック経路選択部SELcの論理積回路AND5の入力端子に接続される。すなわち、フリップフロップ回路DFF8に記憶された信号の論理値を示す選択信号CSbは、クロック経路選択部SELcの論理積回路AND5に転送される。
また、フリップフロップ回路DFF5−DFF8は、端子Rが論理値”0”の信号を受けた場合、初期状態(例えば、論理値”0”の信号を出力する状態)にリセットされる。すなわち、端子Rが論理値”0”の信号を受けている期間では、フリップフロップ回路DFF5−DFF8は、初期状態に維持される。
インバータINV、論理積回路AND3、否定論理和回路NOR1、NOR2を含むブロックは、アサートされた制御信号CCNTに基づいて生成されたクロック選択信号CSa、CSbの論理値が変化することを抑止する第1の更新制御部の一例である。
インバータINV1は、フリップフロップ回路DFF1から受けた信号を反転し、反転した信号を論理積回路AND3に出力する。論理積回路AND3は、フリップフロップ回路DFF1からインバータINV1を介して受けた信号とフリップフロップ回路DFF5から受けた信号との論理積を演算し、演算結果を否定論理和回路NOR1に出力する。
否定論理和回路NOR1は、論理積回路AND3の出力信号と端子RSTから受けるリセット信号RSTとの否定論理和を演算し、演算結果をフリップフロップ回路DFF1−DFF4の端子Rに出力する。例えば、否定論理和回路NOR1は、端子RSTに転送されるリセット信号RSTが論理値”1”の場合、論理値”0”の信号をフリップフロップ回路DFF1−DFF4の端子Rに出力する。これにより、フリップフロップ回路DFF1−DFF4は、端子RSTに転送されるリセット信号RSTが論理値”1”の場合、初期状態にリセットされる。
端子RSTに転送されるリセット信号RSTが論理値”0”の期間では、否定論理和回路NOR1は、論理積回路AND3の出力信号の反転信号を、フリップフロップ回路DFF1−DFF4の端子Rに出力する。例えば、フリップフロップ回路DFF1がフリップフロップ回路DFF5より先に論理値”1”の信号を記憶した場合、否定論理和回路NOR1は、フリップフロップ回路DFF5の出力信号の論理値に拘わらず、論理値”1”の信号を出力する。
そして、否定論理和回路NOR1は、フリップフロップ回路DFF1から論理値”1”の信号が出力されている期間、論理値”1”の信号をフリップフロップ回路DFF1−DFF4の端子Rに出力する。すなわち、フリップフロップ回路DFF1がフリップフロップ回路DFF5より先に論理値”1”の信号を記憶した場合、否定論理和回路NOR1は、フリップフロップ回路DFF1−DFF4が初期状態にリセットされることを抑制する。
これにより、フリップフロップ回路DFF1−DFF4に記憶された信号の論理値は、論理値”1”に維持される。このため、フリップフロップ回路DFF1がフリップフロップ回路DFF5より先に論理値”1”の信号を記憶した場合、論理値”1”の信号がフリップフロップ回路DFF3から否定論理和回路NOR2に出力される。
なお、フリップフロップ回路DFF5がフリップフロップ回路DFF1より先に論理値”1”の信号を記憶した場合、否定論理和回路NOR1は、論理値”0”の信号を出力する。これにより、フリップフロップ回路DFF1−DFF4が初期状態にリセットされる。そして、否定論理和回路NOR1は、フリップフロップ回路DFF1、DFF5の出力信号がそれぞれ論理値”0”および論理値”1”である間、論理値”0”の信号をフリップフロップ回路DFF1−DFF4の端子Rに出力する。
これにより、フリップフロップ回路DFF1−DFF4は、フリップフロップ回路DFF1、DFF5の出力信号がそれぞれ論理値”0”および論理値”1”である間、初期状態に維持される。この場合、論理値”0”の信号がフリップフロップ回路DFF3から否定論理和回路NOR2に出力される。
否定論理和回路NOR2は、フリップフロップ回路DFF3の出力信号と端子RSTから受けるリセット信号RSTとの否定論理和を演算し、演算結果をフリップフロップ回路DFF5−DFF8の端子Rに出力する。例えば、否定論理和回路NOR2は、端子RSTに転送されるリセット信号RSTが論理値”1”の場合、論理値”0”の信号をフリップフロップ回路DFF5−DFF8の端子Rに出力する。これにより、フリップフロップ回路DFF5−DFF8は、端子RSTに転送されるリセット信号RSTが論理値”1”の場合、初期状態にリセットされる。
端子RSTに転送されるリセット信号RSTが論理値”0”の期間では、否定論理和回路NOR2は、フリップフロップ回路DFF3の出力信号の反転信号を、フリップフロップ回路DFF5−DFF8の端子Rに出力する。
例えば、フリップフロップ回路DFF1がフリップフロップ回路DFF5より先に論理値”1”の信号を記憶した場合、否定論理和回路NOR2は、論理値”1”の信号をフリップフロップ回路DFF3から受ける。そして、否定論理和回路NOR2は、フリップフロップ回路DFF3から受ける論理値”1”の信号を反転した信号(論理値”0”の信号)を、フリップフロップ回路DFF5−DFF8の端子Rに出力する。これにより、フリップフロップ回路DFF5−DFF8が初期状態にリセットされる。
また、フリップフロップ回路DFF5がフリップフロップ回路DFF1より先に論理値”1”の信号を記憶した場合、否定論理和回路NOR2は、論理値”0”の信号をフリップフロップ回路DFF3から受ける。そして、否定論理和回路NOR2は、フリップフロップ回路DFF3から受ける論理値”0”の信号を反転した信号(論理値”1”の信号)を、フリップフロップ回路DFF5−DFF8の端子Rに出力する。このため、フリップフロップ回路DFF5−DFF8に記憶された信号の論理値は、論理値”1”に維持される。
このように、否定論理和回路NOR1、NOR2は、複数のフリップフロップ回路DFFのうち、アサートされた制御信号CCNTの論理値を記憶したフリップフロップ回路DFF以外のフリップフロップ回路DFFの状態を初期状態に維持する。これにより、否定論理和回路NOR1、NOR2は、アサートされた制御信号CCNTの論理値がフリップフロップ回路DFF1−DFF4、DFF5−DFF8のいずれかに記憶された後に、クロック選択信号CSa、CSbの論理値が変化することを抑止する。
すなわち、クロック検出部DETは、クロック数が所定数に達したテストクロックTCKを伝達したクロック経路PTcを示すクロック選択信号CSa、CSbを生成した後の期間において、クロック選択信号CSa、CSbの論理値が変化することを防止できる。これにより、クロック検出部DETは、クロック数が所定数に達したテストクロックTCKを伝達したクロック経路PTcを示すクロック選択信号CS(CSa、CSb)を、クロック経路選択部SELcに安定して供給できる。
次に、クロック経路選択部SELcについて、クロック経路選択部SELc2を例にして説明する。なお、クロック経路選択部SELc3の構成および動作は、クロック経路選択部SELc2と同一または同様である。クロック経路選択部SELcは、論理積回路AND4、AND5および論理和回路OR4を有する。論理積回路AND4、AND5は、2つの入力端子で受けた信号の論理積を演算し、演算結果を出力する。
論理積回路AND4の2つの入力端子は、端子TCKaおよびフリップフロップ回路DFF4の出力端子Qにそれぞれ接続される。例えば、論理積回路AND4は、クロック検出部DETのフリップフロップ回路DFF4から受けたクロック選択信号CSaと端子TCKaから受けた信号との論理積を演算し、演算結果を論理和回路OR3に出力する。
論理積回路AND5の2つの入力端子は、端子TCKbおよびフリップフロップ回路DFF8の出力端子Qにそれぞれ接続される。例えば、論理積回路AND5は、クロック検出部DETのフリップフロップ回路DFF8から受けたクロック選択信号CSbと端子TCKbから受けた信号との論理積を演算し、演算結果を論理和回路OR3に出力する。
論理和回路OR3は、2つの入力端子で受けた信号(論理積回路AND4、AND5の出力信号)の論理和を演算し、演算結果を端子TCKoに出力する。
例えば、端子TCKa、TCKbのうち、端子TCKaに接続されたクロック経路PTc10に故障が発生した場合、論理積回路AND4は、論理値”0”のクロック選択信号CSaをクロック検出部DETのフリップフロップ回路DFF4から受ける。このため、論理積回路AND4は、端子TCKaに転送された信号の論理値に拘わらず、論理値”0”の信号を論理和回路OR3に出力する。
なお、論理積回路AND5は、端子TCKa、TCKbのうち、端子TCKaに接続された信号経路PTc10に故障が発生した場合、論理値”1”のクロック選択信号CSbをクロック検出部DETのフリップフロップ回路DFF8から受ける。このため、論理積回路AND5は、端子TCKbに転送されたテストクロックTCKbを論理和回路OR3に出力する。
これにより、論理和回路OR3は、端子TCKa、TCKbのうち、端子TCKaに接続された信号経路PTc10に故障が発生した場合、端子TCKbに転送されたテストクロックTCKbを端子TCKoに出力する。
なお、クロック検出部DETおよびクロック経路選択部SELcの構成は、図3に示す例に限定されない。例えば、カウンタCT(CT1、CT2)は、カウンタ値の最上位ビットの論理値を論理積回路AND(AND1、AND2)に転送してもよいし、上位2ビットの論理値を論理積回路AND(AND1、AND2)に転送してもよい。すなわち、カウンタCT(CT1、CT2)から論理積回路AND(AND1、AND2)に転送される家カウント値のビットは、上位3ビットに限定されない。
あるいは、クロック検出部DETは、カウンタCT1、CT2、論理積回路AND1、AND2の代わりに、所定の段数(所定数)のシフトレジスタを有してもよい。シフトレジスタは、端子RSTに転送されるリセット信号RSTが論理値”1”の場合、出力を論理値”0”にリセットする。例えば、カウンタCT1の代わりに設けられるシフトレジスタは、テストクロックTCKaに同期して動作する。そして、カウンタCT1の代わりに設けられるシフトレジスタでは、初段のフリップフロップ回路の入力端子は論理値”1”に固定され、最終段のフリップフロップ回路の出力端子は論理和回路OR1の入力端子に接続される。また、カウンタCT2の代わりに設けられるシフトレジスタは、テストクロックTCKbに同期して動作する。そして、カウンタCT2の代わりに設けられるシフトレジスタでは、初段のフリップフロップ回路の入力端子は論理値”1”に固定され、最終段のフリップフロップ回路の出力端子は論理和回路OR2の入力端子に接続される。
図4は、図2に示した転送先切り替え部SWBの一例を示す。転送先切り替え部SWB(SWB11、SWB12、SWB21、SWB22)は、論理積回路AND10、AND11およびインバータINV10を有する。論理積回路AND10、AND11は、2つの入力端子で受けた信号の論理積を演算し、演算結果を出力する。インバータINV10は、入力端子で受けた信号を反転した信号を出力する。
インバータINV10の入力端子は、端子SCaに接続され、インバータINV10の出力端子は、論理積回路AND10の2つの入力端子の一方に接続される。論理積回路AND10の2つの入力端子の他方は、端子IN10に接続され、論理積回路AND10の出力端子は、端子OUT10に接続される。論理積回路AND11の2つの入力端子は、端子IN10、SCaにそれぞれ接続され、論理積回路AND11の出力端子は、端子OUT11に接続される。
例えば、転送先切り替え部SWB11、SWB12では、端子SCaは、試験部TAP1から制御信号SC10を受ける。また、転送先切り替え部SWB21、SWB22では、端子SCaは、試験部TAP2から制御信号SC20を受ける。端子SCaで受けた制御信号が論理値”0”の場合、端子IN10で受けた信号が端子OUT10から出力される。端子SCaで受けた制御信号が論理値”1”の場合、端子IN10で受けた信号が端子OUT11から出力される。
例えば、半導体チップCHIP2では、転送先切り替え部SWB21の端子IN10は、半導体チップCHIP2の端子TDI21に接続される。また、端子OUT10は、試験部TAP2のテスト入力端子(データTDIを受ける端子)に接続され、端子OUT11は、半導体チップCHIP2の端子TDI23に接続される。
図5は、図2に示した転送データ切り替え部SWCの一例を示す。転送データ切り替え部SWC(SWC1、SWC2)は、論理積回路AND20、AND21、論理和回路OR20およびインバータINV20を有する。論理積回路AND20、AND21は、2つの入力端子で受けた信号の論理積を演算し、演算結果を出力する。論理和回路OR20は、2つの入力端子で受けた信号の論理和を演算し、演算結果を出力する。インバータINV20は、入力端子で受けた信号を反転した信号を出力する。
インバータINV20の入力端子は、端子SCaに接続され、インバータINV10の出力端子は、論理積回路AND20の2つの入力端子の一方に接続される。論理積回路AND20の2つの入力端子の他方は、端子IN20に接続される。論理積回路AND21の2つの入力端子は、端子IN21、SCaにそれぞれ接続される。論理和回路OR20の2つの入力端子は、論理積回路AND20、AND21の出力端子にそれぞれ接続され、論理和回路OR20の出力端子は、端子OUT20に接続される。
例えば、転送データ切り替え部SWC1では、端子SCaは、試験部TAP1から制御信号SC10を受ける。また、転送データ切り替え部SWC2では、端子SCaは、試験部TAP2から制御信号SC20を受ける。端子SCaで受けた制御信号が論理値”0”の場合、端子IN20で受けた信号が端子OUT20から出力される。端子SCaで受けた制御信号が論理値”1”の場合、端子IN21で受けた信号が端子OUT20から出力される。
例えば、半導体チップCHIP2では、転送データ切り替え部SWC2の端子IN20、IN21は、試験部TAP2のテスト出力端子(データTDOが出力される端子)および半導体チップCHIP2の端子TDO22にそれぞれ接続される。また、転送データ切り替え部SWC2の端子OUT20は、半導体チップCHIP2の端子TDO20に接続される。
図6は、図2に示した多数決選択部MAJの一例を示す。多数決選択部MAJ(MAJ20、MAJ21、MAJ30、MAJ31)は、論理積回路AND30、AND31、AND32および論理和回路OR30を有する。論理積回路AND30、AND31、AND32は、2つの入力端子で受けた信号の論理積を演算し、演算結果を出力する。論理和回路OR30は、3つの入力端子で受けた信号の論理和を演算し、演算結果を出力する。
論理積回路AND30の2つの入力端子は、端子IN30、IN31にそれぞれ接続される。論理積回路AND31の2つの入力端子は、端子IN30、IN32にそれぞれ接続される。論理積回路AND32の2つの入力端子は、端子IN31、IN32にそれぞれ接続される。論理和回路OR30の3つの入力端子は、論理積回路AND30、AND31、AND32の出力端子にそれぞれ接続され、論理和回路OR30の出力端子は、端子OUT30に接続される。
例えば、端子IN30、IN31で受けた信号が互いに同じ論理値の場合、端子IN30、IN31で受けた信号と同じ論理値の信号が端子OUT30から出力される。また、例えば、端子IN30、IN32で受けた信号が互いに同じ論理値の場合、端子IN30、IN32で受けた信号と同じ論理値の信号が端子OUT30から出力される。また、例えば、端子IN31、IN32で受けた信号が互いに同じ論理値の場合、端子IN31、IN32で受けた信号と同じ論理値の信号が端子OUT30から出力される。
例えば、半導体チップCHIP2では、多数決選択部MAJ20の端子IN30、IN31、IN32は、端子TRST20、TRST21、TRST22にそれぞれ接続される。また、多数決選択部MAJ20の端子OUT30は、転送先切り替え部SWB22の入力端子(図4に示した端子IN10)に接続される。
図7は、図2に示した試験回路TESC1の制御方法の一例を示す。なお、図7は、半導体チップCHIP1、CHIP2間のクロック経路PTcを設定する際の試験回路TESC1の制御方法の一例を示す。図7のステップS100−S130、S200、S220、S240は、半導体チップCHIP1に含まれる試験回路TESC1の動作を示す。また、ステップS210、S230、S250、S260、S270は、半導体チップCHIP2に含まれる試験回路TESC1の動作を示す。図7に示す動作は、例えば、半導体装置SEM1を試験するテスト装置により制御される。なお、図7に示す動作では、転送先切り替え部SWBの初期状態および転送データ切り替え部SWCの初期状態は内部転送状態である。
ステップS100では、半導体チップCHIP1は、試験部TAPの状態をリセットする信号TRSTを、テストリセット端子TRST1で受ける。例えば、テスト装置は、テストリセット端子TRST1に供給する信号TRSTをアサートする。これにより、アサートされた信号TRSTが半導体チップCHIP1の試験部TAP1に転送され、半導体チップCHIP1の試験部TAP1の状態がリセットされる。
ステップS110では、半導体チップCHIP1は、リセットを解除する信号TRSTを、テストリセット端子TRST1で受ける。例えば、テスト装置は、テストリセット端子TRST1に供給している信号TRSTをネゲートする。これにより、ネゲートされた信号TRSTが半導体チップCHIP1の試験部TAP1に転送され、半導体チップCHIP1の試験部TAP1の状態をリセットする処理が終了する。
ステップS120では、半導体チップCHIP1は、テスト装置から供給されるテストクロックTCKを、テストクロック端子TCK1で受ける。これにより、テストクロックTCKが半導体チップCHIP1の試験部TAP1に転送される。
ステップS130では、半導体チップCHIP1は、テスト装置から供給されるテストモードセレクトTMSを、テストモードセレクト端子TMS1で受ける。これにより、テストモードセレクトTMSが半導体チップCHIP1の試験部TAP1に転送され、試験部TAP1の状態(例えば、試験部TAP1内のTAPコントローラのモード)が決定する。
例えば、テスト装置は、テストモードセレクトTMSを用いて、半導体チップCHIP1の試験部TAP1の状態を、半導体チップCHIP1、CHIP2間のテスト経路PTを設定するための状態に設定する。これにより、半導体チップCHIP1の切り替え部SWA1、SWB11、SWB12、SWC1は、通過状態に設定される。したがって、テスト装置から端子TCK1、TDI1、TRST1、TMS1で受ける信号TCK、TDI、TRST、TMSは、半導体チップCHIP2に転送される。
ステップS200では、半導体チップCHIP1は、試験部TAPの状態をリセットする信号TRSTをテストリセット端子TRST1で受け、受けた信号TRSTを3つの信号経路PT12、PT13、PT14を用いて半導体チップCHIP2に転送する。これにより、半導体チップCHIP2は、ステップS210において、試験部TAP2の状態をリセットする信号TRSTを受ける。例えば、テスト装置は、テストリセット端子TRST1に供給する信号TRSTをアサートする。これにより、アサートされた信号TRSTが半導体チップCHIP1を介して半導体チップCHIP2の試験部TAP2に転送される。
ステップS210では、半導体チップCHIP2は、試験部TAPの状態をリセットする信号TRSTを端子TRST20、TRST21、TRST22で受ける。これにより、半導体チップCHIP2の多数決選択部MAJ20は、3つの信号経路PT12、PT13、PT14をそれぞれ介して転送された信号TRSTを受ける。そして、多数決選択部MAJ20は、3つの信号経路PT12、PT13、PT14をそれぞれ介して転送された信号TRSTの論理値のうち、転送先切り替え部SWB22に転送する信号の論理値を多数決論理に基づいて決定する。
これにより、試験部TAPの状態をリセットする信号TRST(アサートされた信号TRST)は、半導体チップCHIP2の試験部TAP2およびクロック検出部DET2に転送される。そして、半導体チップCHIP2の試験部TAP2の状態およびクロック検出部DET2の状態は、リセットされる。
ステップS220では、半導体チップCHIP1は、リセットを解除する信号TRSTをテストリセット端子TRST1で受け、受けた信号TRSTを3つの信号経路PT12、PT13、PT14を用いて半導体チップCHIP2に転送する。これにより、半導体チップCHIP2は、ステップS230において、リセットを解除する信号TRSTを受ける。例えば、テスト装置は、テストリセット端子TRST1に供給している信号TRSTをネゲートする。これにより、ネゲートされた信号TRSTが半導体チップCHIP1を介して半導体チップCHIP2の試験部TAP2等に転送される。
ステップS230では、半導体チップCHIP2は、リセットを解除する信号TRSTを端子TRST20、TRST21、TRST22で受ける。これにより、半導体チップCHIP2の多数決選択部MAJ20は、3つの信号経路PT12、PT13、PT14をそれぞれ介して転送された信号TRSTを受ける。そして、多数決選択部MAJ20は、3つの信号経路PT12、PT13、PT14をそれぞれ介して転送された信号TRSTの論理値のうち、転送先切り替え部SWB22に転送する信号の論理値を多数決論理に基づいて決定する。
これにより、リセットを解除する信号TRST(ネゲートされた信号TRST)は、半導体チップCHIP2の試験部TAP2およびクロック検出部DET2に転送される。そして、半導体チップCHIP2の試験部TAP2の状態およびクロック検出部DET2の状態をリセットする処理は、終了する。
ステップS240では、半導体チップCHIP1は、テストクロック端子TCK1に供給されているテストクロックTCKを、複数のクロック経路PTc10、PTc11を用いて半導体チップCHIP2に転送する。これにより、半導体チップCHIP2は、ステップS250において、テストクロックTCKを受ける。
ステップS250では、半導体チップCHIP2は、半導体チップCHIP1から転送されたテストクロックTCKを端子TCK20、TCK21で受ける。これにより、テストクロックTCKが半導体チップCHIP2のクロック検出部DET2およびクロック経路選択部SELc2に転送される。
ステップS260では、半導体チップCHIP2のクロック検出部DET2は、クロック選択信号CS2を生成する。例えば、クロック検出部DET2は、複数のクロック経路PTc10、PTc11を介してそれぞれ受けるテストクロックTCKのそれぞれのクロック数を計数する。そして、クロック検出部DET2は、複数のクロック経路PTc10、PTc11のいずれかを介して受けたテストクロックTCKのクロック数が所定数に達した場合、所定数のクロックを伝達したクロック経路PTcを示すクロック選択信号CS2を生成する。
このように、クロック検出部DET2は、クロック数が所定数に達したテストクロックTCKを検出し、検出したテストクロックTCKを伝達したクロック経路PTcを示すクロック選択信号CS2を生成する。なお、クロック経路PTcを示すクロック選択信号CS2が生成される前の期間(図3に示すクロック選択信号CSa、CSbが論理値”0”の期間)では、テストクロックTCKは、クロック検出部DET2とクロック経路選択部SELc2以外には伝達されない。
複数のクロック経路PTc10、PTc11のいずれかを介してクロック検出部DET2に転送されたテストクロックTCKのクロック数が所定数に達した場合、試験回路TESC1の動作は、ステップS270に移る。
ステップS270では、半導体チップCHIP2のクロック経路選択部SELc2は、クロック数が所定数に達したテストクロックTCKを伝達するクロック経路PTcを選択する。例えば、クロック経路選択部SELc2は、ステップS260で生成されたクロック選択信号CS2が示すクロック経路PTcを、半導体装置SEM1を試験する際に使用するクロック経路PTc(以下、テストクロック経路PTcとも称する)として選択する。
これにより、半導体チップCHIP1、CHIP2間のテストクロック経路PTcが設定される。なお、半導体チップCHIP2、CHIP3間のテストクロック経路PTcの設定は、例えば、ステップS270の後に実行される。例えば、テスト装置は、テストモードセレクトTMSを用いて、半導体チップCHIP2の試験部TAP2の状態を、半導体チップCHIP2、CHIP3間のテスト経路PTを設定するための状態に設定する。これにより、半導体チップCHIP2の切り替え部SWA2、SWB21、SWB22、SWC2は、通過状態に設定される。
そして、テスト装置は、ステップS200、S220、S240と同様の動作を半導体チップCHIP1、CHIP2に実行させ、ステップS210、S230、S250、S260、S270と同様の動作を半導体チップCHIP3に実行させる。これにより、半導体チップCHIP2、CHIP3間のテストクロック経路PTcが設定される。
複数の半導体チップCHIP間のテストクロック経路PTcが設定された後、半導体装置SEM1を試験するデータTDIがテスト入力端子TDI1に供給される。
例えば、半導体チップCHIP1の試験部TAP1を用いた試験では、テスト装置は、テストモードセレクトTMSを用いて、半導体チップCHIP1の転送先切り替え部SWBおよび転送データ切り替え部SWCを内部転送状態に設定する。半導体チップCHIP2、CHIP3の試験部TAPにデータTDI等が転送されないため、半導体チップCHIP2、CHIP3の試験部TAPが誤動作することを防止できる。また、半導体チップCHIP1の試験部TAP1から出力されるデータTDOが他の半導体チップCHIPから転送されるデータTDOと衝突することを防止できる。
半導体チップCHIP2の試験部TAP2を用いた試験では、例えば、テスト装置は、テストモードセレクトTMSを用いて、半導体チップCHIP1の切り替え部SWA、SWB、SWCを通過状態に設定する。さらに、テスト装置は、テストモードセレクトTMSを用いて、半導体チップCHIP2の転送先切り替え部SWBおよび転送データ切り替え部SWCを内部転送状態に設定する。半導体チップCHIP1、CHIP3の試験部TAPにデータTDI等が転送されないため、半導体チップCHIP1、CHIP3の試験部TAPが誤動作することを防止できる。また、半導体チップCHIP2の試験部TAP2から出力されるデータTDOが他の半導体チップCHIPから転送されるデータTDOと衝突することを防止できる。
半導体チップCHIP3の試験部TAPを用いた試験では、例えば、テスト装置は、テストモードセレクトTMSを用いて、半導体チップCHIP1、CHIP2の切り替え部SWA、SWB、SWCを通過状態に設定する。半導体チップCHIP1、CHIP2の試験部TAPにデータTDI等が転送されないため、半導体チップCHIP1、CHIP2の試験部TAPが誤動作することを防止できる。また、半導体チップCHIP3の試験部TAP3から出力されるデータTDOが他の半導体チップCHIPから転送されるデータTDOと衝突することを防止できる。
なお、試験回路TESC1の制御方法は、図7に示す例に限定されない。例えば、ステップS110の処理(リセット解除)は、ステップS120の処理(クロック供給)の後に実行されてもよい。また、半導体チップCHIP1、CHIP2間のテストクロック経路PTcが設定された後で、半導体チップCHIP2、CHIP3間のテストクロック経路PTcが設定される前に、半導体チップCHIP2の試験部TAP2を用いた試験が実行されてもよい。
以上、図2から図7に示した実施形態においても、図1に示した実施形態と同様の効果を得ることができる。例えば、この実施形態では、クロック経路PTc10、PTc11の一方およびクロック経路PTc20、PTc21の一方が故障した場合でも、半導体チップCHIP間の信号経路の故障箇所を検出する試験を実行できる。これにより、故障箇所を迂回して不良を救済することができる。この結果、この実施形態では、半導体装置SEM1の歩留まりを向上できる。
さらに、この実施形態では、試験回路TESC1は、データTDI等の転送先を切り替える転送先切り替え部SWBと、データTDOの転送元を切り替える転送データ切り替え部SWCとを有する。これにより、試験回路TESC1は、複数の半導体チップCHIPの試験部TAPのうち、試験の対象となる半導体チップCHIPの試験部TAPにデータTDI等を供給できる。例えば、試験回路TESC1は、複数の半導体チップCHIPの試験部TAPのうち、試験の対象となる半導体チップCHIP以外の試験部TAPにデータTDI等が転送されることを防止できる。
また、この実施形態では、試験回路TESC1は、通過状態(テストクロックTCKを他の半導体チップCHIPに転送する状態)および非通過状態のいずれかに設定されるクロック転送切り替え部SWAを有する。これにより、この実施形態では、テストクロック経路PTcを設定する際に、動作対象のクロック検出部DETにリセット信号TRSTおよびテストクロックTCKを適切に転送できる。
また、クロック検出部DET内の否定論理和回路NOR1、NOR2等は、アサートされた制御信号CCNTの論理値がフリップフロップ回路DFFに記憶された後に、クロック選択信号CSの論理値が変化することを抑止する。これにより、この実施形態では、クロック数が所定数に達したテストクロックTCKを伝達するクロック経路PTcを示すクロック選択信号CSを、クロック経路選択部SELcに安定して供給できる。
また、クロック検出部DETは、複数のクロック経路PTcを介してそれぞれ受けるテストクロックTCKのうち、クロック数が所定数に最初に達したテストクロックTCKを検出する。これにより、例えば、クロック検出部DET2は、クロック経路PTc10、PTc11のいずれにも故障が発生しない場合でも、クロック経路PTc10、PTc11のうちの1つを示すクロック選択信号CS2を、クロック経路選択部SELc2に転送できる。同様に、クロック検出部DET3は、クロック経路PTc20、PTc21のいずれにも故障が発生しない場合でも、クロック経路PTc20、PTc21のうちの1つを示すクロック選択信号CS3を、クロック経路選択部SELc3に転送できる。
このため、この実施形態では、図3に示すクロック経路選択部SELcにおいて、端子TCKa、TCKbに転送されるテストクロックTCKa、TCKbの論理和の結果がクロック経路選択部SELcから出力されることを防止できる。端子TCKa、TCKbに転送されるテストクロックTCKa、TCKbの論理和の結果を示すクロック波形は、端子TCKa、TCKbに転送されるテストクロックTCKa、TCKbの遅延時間のずれ等に起因して劣化するおそれがある。この実施形態では、クロック選択信号CSa、CSbの両方が論理値”1”に設定されることを防止できるため、クロック経路選択部SELcから出力されるテストクロックTCKoの波形が劣化することを防止できる。
図8は、試験回路および試験回路の制御方法の別の実施形態を示す。図1から図7で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。試験回路TESC2は、複数の半導体チップCHIP(CHIP1、CHIP2、CHIP3)を含む半導体装置SEM2を試験する。半導体装置SEM2は、図2に示す試験回路TESC1の代わりに試験回路TESC2を有することを除いて、図2に示す半導体装置SEM1と同一または同様である。
なお、図8では、図を見やすくするために、半導体チップCHIP1、CHIP2の切り替え部SWB、SWCと試験部TAPaとの間の信号線等の記載を省略している。
試験回路TESC2では、図2に示す試験回路TESC1からクロック転送切り替え部SWA(SAW1、SWA2)および転送先切り替え部SWB12、SWB22が省かれる。また、試験回路TESC2は、図2に示す試験部TAP1、TAP2、TAP3の代わりに、試験部TAPa1、TAPa2、TAPa3を有する。さらに、リセット選択部RSELが図2に示す試験回路TESC1に追加される。試験回路TESC2のその他の構成は、図2に示す試験回路TESC1と同一または同様である。
試験回路TESC2は、クロック検出部DET(DET2、DET3)、クロック経路選択部SELc(SELc2、SELc3)、試験部TAPa(TAPa1−TAPa3)、多数決選択部MAJ21、MAJ31およびリセット選択部RSELを有する。さらに、試験回路TESC2は、転送先切り替え部SWB(SWB11、SWB21)および転送データ切り替え部SWC(SWC1、SWC2)を有する。
半導体チップCHIP1の試験部TAPa1は、信号RSTa、TRSTaを生成することを除いて、図1に示した試験部TAP1と同一または同様である。信号RSTaは、半導体チップCHIP2のクロック検出部DET2の状態をリセットするリセット信号である。信号TRSTaは、半導体チップCHIP2の試験部TAPa2および半導体チップCHIP3の試験部TAPa3の両方の状態をリセットするリセット信号である。
半導体チップCHIP2の試験部TAPa2は、リセット信号RSTb、TRSTbを生成することを除いて、図1に示した試験部TAP2と同一または同様である。信号RSTbは、半導体チップCHIP3のクロック検出部DET3の状態をリセットするリセット信号である。信号TRSTbは、半導体チップCHIP3の試験部TAPa3の状態をリセットするリセット信号である。半導体チップCHIP3の試験部TAPa3は、図1に示した試験部TAP3と同一または同様である。
リセット選択部RSELは、テストリセット端子TRST1に供給されるテストリセットTRST1(以下、リセット信号TRST1とも称する)を受ける。さらに、リセット選択部RSELは、リセット信号RSTa、TRSTaを試験部TAPa1から受け、リセット信号RSTb、TRSTbを試験部TAPa2から受ける。そして、リセット選択部RSELは、試験部TAPaのリセットを制御するリセット信号TRST1、TRST2、TRST3を試験部TAPa1、TAPa2、TAPa3にそれぞれ転送する。また、リセット選択部RSELは、クロック検出部DETのリセットを制御するリセット信号RST2、RST3をクロック検出部DET2、DET3にそれぞれ転送する。リセット選択部RSELの詳細は、図9で説明する。
なお、試験回路TESC2の構成は、図8に示す例に限定されない。例えば、テストクロック端子TCK1で受けるテストクロックTCKが伝達されるクロック経路PTc(PTc10、PTc11等)は、3本以上のクロック経路で冗長化されてもよい。また、例えば、試験回路TESC3は、2つの半導体チップCHIPが積層された半導体装置SEM(半導体チップCHIP2が省かれた半導体装置SEM2)に内蔵されてもよい。あるいは、試験回路TESC2は、4つ以上の半導体チップCHIPが積層された半導体装置SEMに内蔵されてもよい。
例えば、半導体チップCHIP3上に半導体チップCHIPが配置される場合、試験部TAPa3は、試験部TAPa1、TAPa2と同様に、2つのリセット信号を生成する。この場合、試験部TAPa3で生成される2つのリセット信号は、半導体チップCHIP3上に配置された半導体チップCHIPのクロック検出部DETおよび試験部TAPaの状態をそれぞれリセットするリセット信号である。
図9は、図8に示したリセット選択部RSELの一例を示す。リセット選択部RSELは、端子RSTa、TRST、TRSTa、TRSTbを有する。また、リセット選択部RSELは、多数決選択部MAJ20、MAJ22、MAJ23、MAJ30、MAJ32、MAJ33、MAJ34と、論理和回路OR200、OR202、OR300、OR302とを有する。
端子RSTa10−RSTa12、TRST10−TRST12、TRSTa10−TRSTa12は、半導体チップCHIP1の裏面に配置される。端子RSTa20−RSTa22、TRST20−TRST22、TRSTa20−TRSTa22は、半導体チップCHIP2の表面に配置される。端子RSTa10−RSTa12、TRST10−TRST12、TRSTa10−TRSTa12は、端子RSTa20−RSTa22、TRST20−TRST22、TRSTa20−TRSTa22とバンプ等を介してそれぞれ接続される。
端子RSTb20−RSTb22、TRST23−TRST25、TRSTa23−TRSTa25、TRSTb20−TRSTb22は、半導体チップCHIP2の裏面に配置される。端子RSTb30−RSTb32、TRST30−TRST32、TRSTa30−TRSTa32、TRSTb30−TRSTb32は、半導体チップCHIP3の表面に配置される。端子RSTb20−RSTb22は、端子RSTb30−RSTb32とバンプ等を介してそれぞれ接続される。また、端子TRST23−TRST25、TRSTa23−TRSTa25、TRSTb20−TRSTb22は、端子TRST30−TRST32、TRSTa30−TRSTa32、TRSTb30−TRSTb32とバンプ等を介してそれぞれ接続される。
多数決選択部MAJ20、MAJ22、MAJ23および論理和回路OR200、OR202は、半導体チップCHIP2内に配置される。多数決選択部MAJ20、MAJ22、MAJ23は、図2に示した多数決選択部MAJ20と同一または同様である。
多数決選択部MAJ20は、3つの端子TRST20−TRST22に伝達されたリセット信号TRST1を3つの入力信号としてそれぞれ受ける。そして、多数決選択部MAJ20は、3つの入力信号(リセット信号TRST1)の論理値のうち、論理和回路OR200、OR202および端子TRST23−TRST25に転送するリセット信号TRST1の論理値を多数決論理に基づいて決定する。
なお、端子TRST20−TRST22は、信号経路PT12−PT14を介して端子TRST10−TRST12に接続される。また、端子TRST10−TRST12は、テストリセット端子TRST1および試験部TAPa1に接続される。すなわち、テストリセット端子TRST1に供給されるリセット信号TRST1は、端子TRST10−TRST12および試験部TAPa1に転送される。
多数決選択部MAJ22は、3つの端子RSTa20−RSTa22に伝達されたリセット信号RSTaを3つの入力信号としてそれぞれ受ける。そして、多数決選択部MAJ22は、3つの入力信号(リセット信号RSTa)の論理値のうち、論理和回路OR200に転送するリセット信号RSTaの論理値を多数決論理に基づいて決定する。なお、端子RSTa20−RSTa22は、信号経路PTr10−PTr12を介して端子RSTa10−RSTa12に接続される。また、端子RSTa10−RSTa12は、試験部TAPa1で生成されたリセット信号RSTaを受ける。
多数決選択部MAJ23は、3つの端子TRSTa20−TRSTa22に伝達されたリセット信号TRSTaを3つの入力信号としてそれぞれ受ける。そして、多数決選択部MAJ23は、3つの入力信号(リセット信号TRSTa)の論理値のうち、論理和回路OR202および端子TRSTa23−TRSTa25に転送するリセット信号TRSTaの論理値を多数決論理に基づいて決定する。なお、端子TRSTa20−TRSTa22は、信号経路PTr13−PTr15を介して端子TRSTa10−TRSTa12に接続される。また、端子TRSTa10−TRSTa12は、試験部TAPa1で生成されたリセット信号TRSTaを受ける。
論理和回路OR200は、多数決選択部MAJ20から受けるリセット信号TRST1と多数決選択部MAJ22から受けるリセット信号RSTaとの論理和を演算し、演算結果をリセット信号RST2としてクロック検出部DET2に出力する。
論理和回路OR202は、多数決選択部MAJ20から受けるリセット信号TRST1と多数決選択部MAJ23から受けるリセット信号TRSTaとの論理和を演算し、演算結果をリセット信号TRST2として試験部TAPa2に出力する。
多数決選択部MAJ30、MAJ32、MAJ33、MAJ34および論理和回路OR300、OR302は、半導体チップCHIP3内に配置される。多数決選択部MAJ30、MAJ32、MAJ33、MAJ34は、図2に示した多数決選択部MAJ30と同一または同様である。
多数決選択部MAJ30は、3つの端子TRST30−TRST32に伝達されたリセット信号TRST1を3つの入力信号としてそれぞれ受ける。そして、多数決選択部MAJ30は、3つの入力信号(リセット信号TRST1)の論理値のうち、論理和回路OR300、OR302に転送するリセット信号TRST1の論理値を多数決論理に基づいて決定する。なお、端子TRST30−TRST32は、信号経路PT22−PT24を介して端子TRST23−TRST25に接続される。
多数決選択部MAJ32は、3つの端子RSTb30−RSTb32に伝達されたリセット信号RSTbを3つの入力信号としてそれぞれ受ける。そして、多数決選択部MAJ32は、3つの入力信号(リセット信号RSTb)の論理値のうち、論理和回路OR300に転送するリセット信号RSTbの論理値を多数決論理に基づいて決定する。なお、端子RSTb30−RSTb32は、信号経路PTr16−PTr17を介して端子RSTb20−RSTb22に接続される。また、端子RSTb20−RSTb22は、試験部TAPa2で生成されたリセット信号RSTbを受ける。
多数決選択部MAJ33は、3つの端子TRSTa30−TRSTa32に伝達されたリセット信号TRSTaを3つの入力信号としてそれぞれ受ける。そして、多数決選択部MAJ33は、3つの入力信号(リセット信号TRSTa)の論理値のうち、論理和回路OR300、OR302に転送するリセット信号TRSTaの論理値を多数決論理に基づいて決定する。なお、端子TRSTa30−TRSTa32は、信号経路PTr19−PTr21を介して端子TRSTa23−TRSTa25に接続される。
多数決選択部MAJ34は、3つの端子TRSTb30−TRSTb32に伝達されたリセット信号TRSTbを3つの入力信号としてそれぞれ受ける。そして、多数決選択部MAJ34は、3つの入力信号(リセット信号TRSTb)の論理値のうち、論理和回路OR302に転送するリセット信号TRSTbの論理値を多数決論理に基づいて決定する。なお、端子TRSTb30−TRSTb32は、信号経路PTr22−PTr24を介して端子TRSTb20−TRSTb22に接続される。また、端子TRSTb20−TRSTb22は、試験部TAPa2で生成されたリセット信号TRSTbを受ける。
論理和回路OR300は、多数決選択部MAJ30から受けるリセット信号TRST1と多数決選択部MAJ32から受けるリセット信号RSTaと多数決選択部MAJ33から受けるリセット信号TRSTaとの論理和を演算する。そして、論理和回路OR300は、演算結果をリセット信号RST3としてクロック検出部DET3に出力する。
論理和回路OR302は、多数決選択部MAJ30から受けるリセット信号TRST1と多数決選択部MAJ33から受けるリセット信号TRSTaと多数決選択部MAJ34から受けるリセット信号TRSTbとの論理和を演算する。そして、論理和回路OR302は、演算結果をリセット信号TRST3として試験部TAPa3に出力する。
このように、試験回路TESC2は、クロック検出部DETに対するリセットと、試験部TAPaに対するリセットとを分けて制御できる。
なお、リセット選択部RSELの構成は、図9に示す例に限定されない。例えば、半導体チップCHIP3上に半導体チップCHIPが配置される場合、半導体チップCHIP3は、半導体チップCHIP2と同様に、リセット信号TRST1等を半導体チップCHIP3上に配置された半導体チップCHIPに転送する。半導体チップCHIP3上に配置された半導体チップCHIPに転送されるリセット信号は、例えば、試験部TAPa3で生成される2つのリセット信号と、リセット信号TRST1、TRSTa、TRSTbである。
また、リセット選択部RSELは、多数決選択部MAJ20の出力信号(リセット信号TRST1)の代わりに、論理和回路OR202の出力信号(リセット信号TRST2)を端子TRST23−TRST25に転送してもよい。この場合、多数決選択部MAJ33、端子TRSTa23−TRSTa25、TRSTa30−TRSTa32等は、省かれる。したがって、半導体チップCHIP間の信号経路PTを削減することができる。例えば、4つ半導体チップCHIPが積層される場合、半導体チップCHIP3上に配置された半導体チップCHIPに転送されるリセット信号は、試験部TAPa3で生成される2つのリセット信号と、リセット信号TRST3である。
図10は、図8に示した試験回路TESC2のリセット状態の一例を示す。なお、図10は、半導体チップCHIP1、CHIP2のリセット状態の一例を示す。また、図10に示すリセット信号TRST1、RSTa、TRSTaの項目は、各リセット状態でのリセット信号TRST1、RSTa、TRSTaの論理値の一例を示す。図10に示す符号”−”は、論理値”0”または論理値”1”のいずれでもよいことを示す。なお、図10では、論理値”0”はリセット解除を示し、論理値”1”はリセットを示す。図10に示すリセット信号RSTa、TRSTaの論理値は、試験部TAPa1内のTAPコントローラにより設定される。
第1リセット状態では、リセット信号TRST1が論理値”1”に設定され、全ての半導体チップCHIPは、リセットされる。
第2リセット状態では、リセット信号TRST1が論理値”0”に設定され、半導体チップCHIP1に対するリセットは解除される。また、第2リセット状態では、半導体チップCHIP2のクロック検出部DET2および試験部TAPa2は、両方ともリセットされる。例えば、試験部TAPa1内のTAPコントローラのモードが第2リセット状態を含むモードに設定された場合、リセット信号RSTa、TRSTaは、両方とも論理値”1”に設定される。
第3リセット状態では、リセット信号TRST1が論理値”0”に設定され、半導体チップCHIP1に対するリセットは解除される。また、第3リセット状態では、半導体チップCHIP2のクロック検出部DET2に対するリセットは解除され、半導体チップCHIP2の試験部TAPa2はリセットされる。例えば、試験部TAPa1内のTAPコントローラのモードが第3リセット状態を含むモードに設定された場合、リセット信号RSTa、TRSTaは、論理値”0”および論理値”1”にそれぞれ設定される。
第4リセット状態では、リセット信号TRST1が論理値”0”に設定され、半導体チップCHIP1に対するリセットは解除される。また、第4リセット状態では、半導体チップCHIP2のクロック検出部DET2および試験部TAPa2に対するリセットは両方とも解除される。例えば、試験部TAPa1内のTAPコントローラのモードが第4リセット状態を含むモードに設定された場合、リセット信号RSTa、TRSTaは、両方とも論理値”0”に設定される。
なお、半導体チップCHIP3のリセット状態は、リセット信号TRST1、RSTa、TRSTaが論理値”0”に設定され場合、半導体チップCHIP2の試験部TAPa2内のTAPコントローラのモードに応じて設定される。以下、リセット信号TRST1、RSTa、TRSTaが論理値”0”に設定され場合における半導体チップCHIP3のリセット状態の例を説明する。
試験部TAPa2内のTAPコントローラのモードが第2リセット状態を含むモードに設定された場合、リセット信号RSTb、TRSTbは、両方とも論理値”1”に設定される。この場合、半導体チップCHIP1、CHIP2に対するリセットは解除され、半導体チップCHIP3のクロック検出部DET2および試験部TAPa2は、両方ともリセットされる。
また、試験部TAPa2内のTAPコントローラのモードが第3リセット状態を含むモードに設定された場合、リセット信号RSTb、TRSTbは、論理値”0”および論理値”1”にそれぞれ設定される。この場合、半導体チップCHIP3のクロック検出部DET3に対するリセットは解除され、半導体チップCHIP3の試験部TAPa3はリセットされる。
試験部TAPa2内のTAPコントローラのモードが第4リセット状態を含むモードに設定された場合、リセット信号RSTb、TRSTbは、両方とも論理値”0”に設定される。この場合、半導体チップCHIP3のクロック検出部DET2および試験部TAPa2に対するリセットは両方とも解除される。すなわち、半導体チップCHIP1、CHIP2、CHIP3に対するリセットは、全て解除される。
図11は、図8に示した試験回路TESC2の制御方法の一例を示す。なお、図11は、半導体チップCHIP1、CHIP2間のクロック経路PTcを設定する際の試験回路TESC2の制御方法の一例を示す。図11のステップS100−S130、S200a、S220a、S240、S272、S280は、半導体チップCHIP1に含まれる試験回路TESC2の動作を示す。また、ステップS210a、S230a、S250、S260、S270、S290は、半導体チップCHIP2に含まれる試験回路TESC2の動作を示す。図11に示す動作は、例えば、半導体装置SEM2を試験するテスト装置により制御される。
図11に示す動作では、図7に示すステップS200、S210、S220、S230の処理の代わりに、ステップS200a、S210a、S220a、S230aの処理が実行される。また、図11に示す動作では、ステップS110の処理(リセット解除)は図7に示すステップS120(図11では、ステップS102)の処理(クロック供給)の後に実行され、ステップS280、S290が図7に示す動作に追加される。図7で説明した動作と同一または同様の動作については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。
ステップS100では、半導体チップCHIP1は、半導体チップCHIP1、CHIP2、CHIP3の状態をリセットするリセット信号TRST1を、テストリセット端子TRST1で受ける。これにより、半導体チップCHIP1、CHIP2、CHIP3は、リセットされる。
ステップS102では、半導体チップCHIP1は、テスト装置から供給されるテストクロックTCKを、テストクロック端子TCK1で受ける。
ステップS110では、半導体チップCHIP1は、リセットを解除するリセット信号TRSTを、テストリセット端子TRST1で受ける。これにより、半導体チップCHIP1、CHIP2、CHIP3に対するリセットは、解除される。
ステップS130では、半導体チップCHIP1は、テスト装置から供給されるテストモードセレクトTMSを、テストモードセレクト端子TMS1で受ける。
ステップS200aでは、半導体チップCHIP1の試験部TAPa1は、半導体チップCHIP2の試験部TAPa2およびクロック制御部DET2の状態をそれぞれリセットするリセット信号TRSTa、RSTaを半導体チップCHIP2に転送する。
例えば、テスト装置は、半導体チップCHIP1の試験部TAPa1内のTAPコントローラのモードを、テストモードセレクトTMSを用いて、図10に示した第2リセット状態を含むモードに設定する。これにより、半導体チップCHIP2の試験部TAPa2の状態をリセットするリセット信号TRSTaは、半導体チップCHIP1から信号経路PTr13、PTr14、PTr15を介して半導体チップCHIP2に転送される。また、半導体チップCHIP2のクロック制御部DET2の状態をリセットするリセット信号RSTaは、半導体チップCHIP1から信号経路PTr10、PTr11、PTr12を介して半導体チップCHIP2に転送される。
ステップS210aでは、半導体チップCHIP2は、試験部TAPa2およびクロック制御部DET2の状態をそれぞれリセットするリセット信号TRSTa、RSTaを半導体チップCHIP1から受ける。
これにより、半導体チップCHIP2の多数決選択部MAJ23は、3つの信号経路PTr13、PTr14、PTr15をそれぞれ介して転送されたリセット信号TRSTaを受ける。そして、多数決選択部MAJ23は、3つの信号経路PTr13、PTr14、PTr15をそれぞれ介して転送されたリセット信号TRSTaの論理値のうち、論理和回路OR202等に転送する信号の論理値を多数決論理に基づいて決定する。これにより、半導体チップCHIP2の試験部TAPa2は、リセットされる。
また、半導体チップCHIP2の多数決選択部MAJ22は、3つの信号経路PTr10、PTr11、PTr12をそれぞれ介して転送されたリセット信号RSTaを受ける。そして、多数決選択部MAJ22は、3つの信号経路PTr10、PTr11、PTr12をそれぞれ介して転送されたリセット信号RSTaの論理値のうち、論理和回路OR200に転送する信号の論理値を多数決論理に基づいて決定する。これにより、半導体チップCHIP2のクロック制御部DET2は、リセットされる。
ステップS220aでは、半導体チップCHIP1の試験部TAPa1は、半導体チップCHIP2のクロック制御部DET2に対するリセットを解除するリセット信号RSTaを半導体チップCHIP2に転送する。
例えば、テスト装置は、半導体チップCHIP1の試験部TAPa1内のTAPコントローラのモードを、テストモードセレクトTMSを用いて、図10に示した第3リセット状態を含むモードに設定する。これにより、半導体チップCHIP2のクロック制御部DET2に対するリセットを解除するリセット信号RSTaは、半導体チップCHIP1から信号経路PTr10、PTr11、PTr12を介して半導体チップCHIP2に転送される。なお、リセット信号TRSTaは、半導体チップCHIP2の試験部TAPa2の状態をリセットする状態(例えば、論理値”1”)に維持される。
ステップS230aでは、半導体チップCHIP2は、クロック制御部DET2に対するリセットを解除するリセット信号RSTaを半導体チップCHIP1から受ける。これにより、半導体チップCHIP2の多数決選択部MAJ22は、3つの信号経路PTr10、PTr11、PTr12をそれぞれ介して転送されたリセット信号RSTaを受ける。そして、多数決選択部MAJ22は、3つの信号経路PTr10、PTr11、PTr12をそれぞれ介して転送されたリセット信号RSTaの論理値のうち、論理和回路OR200に転送する信号の論理値を多数決論理に基づいて決定する。
これにより、半導体チップCHIP2のクロック制御部DET2に対するリセットは解除される。すなわち、クロック制御部DET2の状態をリセットする処理は、終了する。なお、半導体チップCHIP2の試験部TAPa2に対するリセットは継続される。
ステップS240では、半導体チップCHIP1は、テストクロック端子TCK1に供給されているテストクロックTCKを、複数のクロック経路PTc10、PTc11を用いて半導体チップCHIP2に転送する。
ステップS250では、半導体チップCHIP2は、半導体チップCHIP1から転送されたテストクロックTCKを端子TCK20、TCK21で受ける。
ステップS260では、半導体チップCHIP2のクロック検出部DET2は、クロック選択信号CS2を生成する。
ステップS270では、半導体チップCHIP2のクロック経路選択部SELc2は、クロック数が所定数に達したテストクロックTCKを伝達するクロック経路PTcを選択する。これにより、テストクロックTCKは、半導体チップCHIP2の試験部TAPa2に供給される。
ステップS272では、半導体チップCHIP1の試験部TAPa1は、半導体チップCHIP2のクロック経路選択部SELc2によるクロック経路選択(ステップS270)が終了するまでステップS280の実行を待機する。例えば、テスト装置は、テストクロック端子TCK1に供給するテストクロックTCKのクロック数(リセット後のクロック数)が所定数に達するまで、テストモードセレクトTMSの送信を待機する。
ステップS280では、半導体チップCHIP1の試験部TAPa1は、半導体チップCHIP2の試験部TAPa2に対するリセットを解除するリセット信号TRSTaを半導体チップCHIP2に転送する。
例えば、テスト装置は、テストクロックTCKのクロック数が所定数に達した後、半導体チップCHIP1の試験部TAPa1内のTAPコントローラのモードを、テストモードセレクトTMSを用いて、図10に示した第4リセット状態を含むモードに設定する。
これにより、半導体チップCHIP2の試験部TAPa2に対するリセットを解除するリセット信号TRSTaは、半導体チップCHIP1から信号経路PTr13、PTr14、PTr15を介して半導体チップCHIP2に転送される。なお、リセット信号RSTaは、半導体チップCHIP2のクロック検出部DET2に対するリセットを解除する状態(例えば、論理値”0”)に維持される。
ステップS290では、半導体チップCHIP2は、試験部TAPa2に対するリセットを解除するリセット信号TRSTaを半導体チップCHIP1から受ける。これにより、半導体チップCHIP2の多数決選択部MAJ23は、3つの信号経路PTr13、PTr14、PTr15をそれぞれ介して転送されたリセット信号TRSTaを受ける。
そして、多数決選択部MAJ23は、3つの信号経路PTr13、PTr14、PTr15をそれぞれ介して転送されたリセット信号TRSTaの論理値のうち、論理和回路OR202等に転送する信号の論理値を多数決論理に基づいて決定する。これにより、半導体チップCHIP2の試験部TAPa2に対するリセットは解除される。すなわち、試験部TAPa2の状態をリセットする処理は、終了する。
このように、半導体チップCHIP1は、試験部TAPa2をリセットするリセット信号TRSTaとクロック検出部DET2をリセットするリセット信号RSTaとを分けて、半導体チップCHIP2に送信する。これにより、試験回路TESC2は、試験部TAPa2に対するリセットが解除されてから、試験部TAPa2にテストクロックTCKが供給されるまでの時間を、試験回路TESC1に比べて短くできる。
ここで、試験部TAPa2のリセットが解除された期間では、テストクロックTCKが試験部TAPa2に供給されない場合、試験部TAPa2の動作が不安定になるおそれがある。図11に示す動作では、半導体チップCHIP1、CHIP2間のテストクロック経路PTcは、試験部TAPa2のリセットが解除される前に設定される。すなわち、試験部TAPa2は、リセットが解除される前にテストクロックTCKを受ける。これにより、この実施形態では、試験部TAPa2の動作が不安定になることを防止できる。
なお、半導体チップCHIP2、CHIP3間のテストクロック経路PTcの設定は、例えば、ステップS290の後に実行される。この場合、テスト装置は、ステップS200a、S220a、S240、S272、S280と同様の動作を半導体チップCHIP2に実行させる。また、テスト装置は、ステップS210a、S230a、S250、S260、S270、S290と同様の動作を半導体チップCHIP3に実行させる。
例えば、ステップS200aと同様の動作として、テスト装置は、半導体チップCHIP2の試験部TAPa2内のTAPコントローラのモードを、テストモードセレクトTMSを用いて、図10に示した第2リセット状態を含むモードに設定する。そして、テスト装置は、ステップS210a、S220a、S230a、S240−S290と同様の動作を試験回路TESC2に順次実行させる。これにより、半導体チップCHIP2、CHIP3間のテストクロック経路PTcが設定される。
複数の半導体チップCHIP間のテストクロック経路PTcが設定された後、半導体装置SEM2を試験するデータTDIがテスト入力端子TDI1に供給される。なお、試験回路TESC2の制御方法は、図11に示す例に限定されない。
以上、図8から図11に示した実施形態においても、図2から図7に示した実施形態と同様の効果を得ることができる。例えば、この実施形態では、クロック経路PTc10、PTc11の一方およびクロック経路PTc20、PTc21の一方が故障した場合でも、半導体チップCHIP間の信号経路の故障箇所を検出する試験を実行できる。これにより、故障箇所を迂回して不良を救済することができる。この結果、この実施形態では、半導体装置SEM3の歩留まりを向上できる。
さらに、この実施形態では、試験回路TESC2は、クロック検出部DETに対するリセットと、試験部TAPaに対するリセットとを分けて制御する。これにより、試験回路TESC2は、試験部TAPaに対するリセットが解除される前に、試験部TAPaにテストクロックTCKを供給できる。この結果、この実施形態では、試験部TAPaの動作が不安定になることを防止できる。
図12は、試験回路および試験回路の制御方法の別の実施形態を示す。図1から図11で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。試験回路TESC3は、複数の半導体チップCHIP(CHIP1、CHIP2、CHIP3)を含む半導体装置SEM3を試験する。半導体装置SEM3は、図2に示す試験回路TESC1の代わりに試験回路TESC3を有することを除いて、図2に示す半導体装置SEM1と同一または同様である。
なお、図12では、図を見やすくするために、半導体チップCHIP1、CHIP2の切り替え部SWA、SWB、SWCと試験部TAPとの間の信号線、多数決選択部MAJ30とクロック検出部DET3との間の信号線等の記載を省略している。
試験回路TESC3では、選択信号生成部SGD(SGD10、SGD20、SGD21、SGD30)およびデータ経路選択部SELd(SELd10、SELd20、SELd21、SELd30)が図2に示す試験回路TESC1に追加される。さらに、端子TDI10、TDI20、TDI22、TDI30、TDO11、TDO21、TDO23、TDO31が図2に示す試験回路TESC1に追加される。試験回路TESC3のその他の構成は、図2に示す試験回路TESC1と同一または同様である。
例えば、試験回路TESC3は、図2に示す試験回路TESC1に含まれる機能ブロック(クロック検出部DET等)と、選択信号生成部SGDと、データ経路選択部SELdとを有する。
端子TDI10、TDI11、TDO10、TDO11は、半導体チップCHIP1の裏面に配置される。端子TDI20、TDI21、TDO20、TDO21は、半導体チップCHIP2の表面に配置される。端子TDI20、TDI21、TDO20、TDO21は、端子TDI10、TDI11、TDO10、TDO11とバンプ等を介してそれぞれ接続される。
端子TDI22、TDI23、TDO22、TDO23は、半導体チップCHIP2の裏面に配置される。端子TDI30、TDI31、TDO30、TDO31は、半導体チップCHIP3の表面に配置される。端子TDI30、TDI31、TDO30、TDO31は、端子TDI20、TDI21、TDO20、TDO21とバンプ等を介してそれぞれ接続される。
なお、半導体チップCHIP1、CHIP2間の信号経路PT10、PT11と、半導体チップCHIP2、CHIP3間の信号経路PT20、PT21は、データTDI(試験データ)が伝達されるテスト用の信号経路である。半導体チップCHIP1、CHIP2間の信号経路PT18、PT19と、半導体チップCHIP2、CHIP3間の信号経路PT28、PT29は、データTDO(試験データ)が伝達されるテスト用の信号経路である。
例えば、端子TDI10、TDI20間の信号経路PT10および端子TDI11、TDI21間の信号経路PT11は、テスト入力端子TDI1に供給されたデータTDIが伝達される半導体チップCHIP1、CHIP2間のテスト経路である。また、端子TDI22、TDI30間の信号経路PT20および端子TDI23、TDI31間の信号経路PT21は、テスト入力端子TDI1に供給されたデータTDIが伝達される半導体チップCHIP2、CHIP3間のテスト経路である。このように、試験回路TESC3は、テスト入力端子TDI1に供給されたデータTDIを冗長に転送する複数のテスト経路PT10、PT11、PT20、PT21を有する。
以下、試験回路TESC3内の選択信号生成部SGD、データ経路選択部SELd等について、半導体チップCHIP1、CHIP2、CHIP3毎に説明する。先ず、半導体チップCHIP1に含まれる選択信号生成部SGD10、データ経路選択部SELd10、転送先切り替え部SWB11について説明する。
選択信号生成部SGD10の2つの入力端子は、端子TDO10、TDO11に接続される。すなわち、半導体チップCHIP1の選択信号生成部SGD10は、信号経路PT18、PT19を介して半導体チップCHIP2の端子TDO20、TDO21に接続される。
選択信号生成部SGD10は、例えば、予め設定された期待値と同じ論理値のデータTDOを他の半導体チップCHIP2の試験部TAP2から複数の信号経路PT18、PT19を介して受け、データ選択信号DS10をデータ経路選択部SELd10に出力する。
例えば、複数の信号経路PT18、PT19のうち、信号経路PT19に故障が発生した場合、選択信号生成部SGD10は、期待値と同じ論理値のデータTDOを、信号経路PT18を介して受ける。この場合、選択信号生成部SGD10は、信号経路PT18を示すデータ選択信号DS10を生成し、生成したデータ選択信号DS10をデータ経路選択部SELd10の制御端子に出力する。
このように、選択信号生成部SGD10は、期待値を示すデータTDOを複数の信号経路PT18、PT19のいずれかを介して受けた場合、期待値を示すデータTDOを伝達した信号経路PTを示すデータ選択信号DS10を生成する。
なお、テスト経路PTを選択する際に、半導体チップCHIP2から半導体チップCHIP1に転送されるデータTDOは、テスト入力端子TDI1から半導体チップCHIP1等を介して半導体チップCHIP2の試験部TAP2に転送されたデータTDIである。したがって、選択信号生成部SGD10は、例えば、予め設定された期待値と同じ論理値のデータTDOをテスト入力端子TDI1から他の半導体チップCHIP2および複数の信号経路PT18、PT19を介して受ける。
データ経路選択部SELd10の2つの入力端子は、端子TDO10、TDO11に接続される。すなわち、データ経路選択部SELd10は、信号経路PT18、PT19を介して半導体チップCHIP2の端子TDO20、TDO21に接続される。データ経路選択部SELd10の出力端子は、転送データ切り替え部SWC1の2つの入力端子のうちの1つに接続される。
データ経路選択部SELd10は、複数の信号経路PT18、PT19のうち、半導体装置SEM3を試験する際に使用する信号経路PTをデータ選択信号DS10に基づいて選択する。例えば、複数の信号経路PT18、PT19のうち、信号経路PT19に故障が発生した場合、データ経路選択部SELd10は、信号経路PT18を示すデータ選択信号DS10を選択信号生成部SGD10から受ける。
この場合、データ経路選択部SELd10は、複数の信号経路PT18、PT19のうち、データ選択信号DS10が示す信号経路PT18を、半導体チップCHIP1、CHIP2間の信号経路PTとして選択する。例えば、データ経路選択部SELd10は、他の半導体チップCHIP2の試験部TAP2から信号経路PT18を介して受けたデータTDOを、転送データ切り替え部SWC1に転送する。
転送先切り替え部SWB11の入力端子は、テスト入力端子TDI1に接続される。転送先切り替え部SWB11の2つの出力端子の一方は、端子TDI10、TDI11に接続され、転送先切り替え部SWB11の2つの出力端子の他方は、試験部TAP1に接続される。
次に、半導体チップCHIP2に含まれる選択信号生成部SGD20、SGD21データ経路選択部SELd20、SELd21、転送先切り替え部SWB21、転送データ切り替え部SWC2について説明する。
選択信号生成部SGD20は、選択信号生成部SGD10と同一または同様である。例えば、選択信号生成部SGD20は、予め設定された期待値と同じ論理値のデータTDIをテスト入力端子TDI1から他の半導体チップCHIP1および複数の信号経路PT10、PT11を介して受ける。そして、選択信号生成部SGD20は、データ選択信号DS20をデータ経路選択部SELd20に出力する。
例えば、複数の信号経路PT10、PT11のうち、信号経路PT10に故障が発生した場合、選択信号生成部SGD20は、期待値と同じ論理値のデータTDIを信号経路PT11を介して受ける。この場合、選択信号生成部SGD20は、信号経路PT11を示すデータ選択信号DS20を生成し、生成したデータ選択信号DS20をデータ経路選択部SELd20の制御端子に出力する。このように、選択信号生成部SGD20は、期待値を示すデータTDIを複数の信号経路PT10、PT11のいずれかを介して受けた場合、期待値を示すデータTDIを伝達した信号経路PTを示すデータ選択信号DS20を生成する。
データ経路選択部SELd20は、データ経路選択部SELd10と同一または同様である。例えば、データ経路選択部SELd20は、複数の信号経路PT10、PT11のうち、半導体装置SEM3を試験する際に使用する信号経路PTをデータ選択信号DS10に基づいて選択する。
データ経路選択部SELd20の2つの入力端子は、端子TDI20、TDI21に接続される。すなわち、半導体チップCHIP2のデータ経路選択部SELd20は、信号経路PT10、PT11を介して半導体チップCHIP1の端子TDI10、TDI11に接続される。また、データ経路選択部SELd20の出力端子は、転送先切り替え部SWB21に接続される。
例えば、複数の信号経路PT10、PT11のうち、信号経路PT10に故障が発生した場合、データ経路選択部SELd20は、信号経路PT11を示すデータ選択信号DS20を選択信号生成部SGD20から受ける。この場合、データ経路選択部SELd20は、複数の信号経路PT10、PT11のうち、データ選択信号DS20が示す信号経路PT11を、半導体チップCHIP1、CHIP2間の信号経路PTとして選択する。例えば、データ経路選択部SELd20は、テスト入力端子TDI1から信号経路PT11を介して受けたデータTDIを、転送先切り替え部SWB21に転送する。
選択信号生成部SGD21は、選択信号生成部SGD10と同一または同様である。選択信号生成部SGD21の2つの入力端子は、端子TDO22、TDO23に接続される。すなわち、半導体チップCHIP2の選択信号生成部SGD21は、信号経路PT28、PT29を介して半導体チップCHIP3の端子TDO30、TDO31に接続される。また、選択信号生成部SGD21の出力端子は、データ経路選択部SELd21の制御端子に接続される。
データ経路選択部SELd21は、データ経路選択部SELd10と同一または同様である。データ経路選択部SELd21の2つの入力端子は、端子TDO22、TDO23に接続される。すなわち、データ経路選択部SELd21は、信号経路PT28、PT29を介して半導体チップCHIP3の端子TDO30、TDO31に接続される。また、データ経路選択部SELd21の出力端子は、転送データ切り替え部SWC2の入力端子に接続される。
転送先切り替え部SWB21の入力端子は、データ経路選択部SELd20の出力端子に接続される。転送先切り替え部SWB21の2つの出力端子の一方は、端子TDI22、TDI23に接続され、転送先切り替え部SWB21の2つの出力端子の他方は、試験部TAP2に接続される。
転送データ切り替え部SWC2の2つの入力端子の一方は、データ経路選択部SELd21に接続され、転送データ切り替え部SWC2の2つの入力端子の他方は、試験部TAP2に接続される。また、転送データ切り替え部SWC2の出力端子は、端子TDO20、TDO21に接続される。
したがって、半導体チップCHIP1、CHIP2のそれぞれの転送先切り替え部SWBが通過状態および内部転送状態にそれぞれ設定された場合、テスト入力端子TDI1に供給されるデータTDIが半導体チップCHIP2の試験部TAP2に転送される。また、端子TRST1に供給される信号TRSTが半導体チップCHIP2の試験部TAP2に転送される。
なお、半導体チップCHIP1、CHIP2の両方の転送先切り替え部SWBが通過状態に設定された場合、端子TDI1、TRST1に供給される信号TDI、TRSTは、半導体チップCHIP3に転送される。
また、半導体チップCHIP1、CHIP2のそれぞれの転送データ切り替え部SWCが通過状態および内部転送状態にそれぞれ設定された場合、半導体チップCHIP2の試験部TAP2から転送されるデータTDOがテスト出力端子TDO1に転送される。なお、半導体チップCHIP1、CHIP2の両方の転送データ切り替え部SWCが通過状態に設定された場合、半導体チップCHIP3の試験部TAP3から転送されるデータTDOがテスト出力端子TDO1に転送される。
次に、半導体チップCHIP3に含まれる選択信号生成部SGD30、データ経路選択部SELd30について説明する。選択信号生成部SGD30およびデータ経路選択部SELd30は、半導体チップCHIP2の選択信号生成部SGD20およびデータ経路選択部SELd20と同一または同様である。
選択信号生成部SGD30の2つの入力端子は、端子TDI30、TDI31に接続される。すなわち、半導体チップCHIP3の選択信号生成部SGD30は、信号経路PT20、PT21を介して半導体チップCHIP2の端子TDI22、TDI23に接続される。また、選択信号生成部SGD30の出力端子は、データ経路選択部SELd30の制御端子に接続される。
データ経路選択部SELd30の2つの入力端子は、端子TDI30、TDI31に接続される。すなわち、半導体チップCHIP3のデータ経路選択部SELd30は、信号経路PT20、PT21を介して半導体チップCHIP2の端子TDI22、TDI23に接続される。また、データ経路選択部SELd30の出力端子は、試験部TAP3に接続される。試験部TAP3は、データTDOを、端子TDO30、TDO31に出力する。
半導体チップCHIP1、CHIP2の両方の転送データ切り替え部SWCが通過状態に設定された場合、半導体チップCHIP3の試験部TAP3から出力されるデータTDOは、テスト出力端子TDO1に転送される。
半導体チップCHIP1、CHIP2の両方の転送先切り替え部SWBが通過状態に設定された場合、テスト入力端子TDI1に供給されるデータTDIが半導体チップCHIP3の試験部TAP3に転送される。また、端子TRST1に供給される信号TRSTが半導体チップCHIP3の試験部TAP3に転送される。
なお、試験回路TESC3の構成は、図12に示す例に限定されない。例えば、テストクロック端子TCK1で受けるテストクロックTCKが伝達されるクロック経路PTc(PTc10、PTc11等)は、3本以上のクロック経路で冗長化されてもよい。また、テスト入力端子TI1で受けるデータが伝達されるテスト経路PT(PT10、PT11等)は、3本以上の信号経路で冗長化されてもよい。また、例えば、試験回路TESC3は、2つの半導体チップCHIPが積層された半導体装置SEM(半導体チップCHIP2が省かれた半導体装置SEM3)に内蔵されてもよい。あるいは、試験回路TESC3は、4つ以上の半導体チップCHIPが積層された半導体装置SEMに内蔵されてもよい。
図13は、図12に示した選択信号生成部SGDおよびデータ経路選択部SELdの一例を示す。図13に示す端子CLKで受けるクロックCLKは、例えば、図12に示すテストクロック端子TCK1で受けるテストクロックTCK(または、テストクロックTCKに基づいて生成されたクロック)である。
また、端子IN1、IN2は、半導体チップCHIP2の選択信号生成部SGD20およびデータ経路選択部SELd20では、端子TDI20、TDI21に接続される。半導体チップCHIP3の選択信号生成部SGD30およびデータ経路選択部SELd30では、端子IN1、IN2は、端子TDI30、TDI31に接続される。
また、半導体チップCHIP2の選択信号生成部SGD21およびデータ経路選択部SELd21では、端子IN1、IN2は、端子TDO22、TDO23に接続される。半導体チップCHIP1の選択信号生成部SGD10およびデータ経路選択部SELd10では、端子IN1、IN2は、端子TDO10、TDO11に接続される。
端子OUT40は、半導体チップCHIP2のデータ経路選択部SELd20では、転送先切り替え部SWB21に接続される。また、半導体チップCHIP3のデータ経路選択部SELd30では、端子OUT40は試験部TAP3に接続される。そして、半導体チップCHIP1のデータ経路選択部SELd10では、端子OUT40は、転送データ切り替え部SWC1に接続される。半導体チップCHIP2のデータ経路選択部SELd21では、端子OUT40は、転送データ切り替え部SWC2に接続される。
選択信号生成部SGD(SGD10、SGD20、SGD21、SGD30)およびデータ経路選択部SELd(SELd10、SELd20、SELd21、SELd30)のうち、先ず、選択信号生成部SGDについて説明する。選択信号生成部SGD10、SGD21、SGD30の構成および動作が選択信号生成部SGD20と同一または同様であるため、選択信号生成部SGD20について説明する。
選択信号生成部SGD20は、nビット(nは2以上の整数)のシフトレジスタSFTR1、SFTR2、論理積回路AND40、AND41、論理和回路OR40、OR41、OR42およびフリップフロップ回路FFC1、FFC2を有する。さらに、選択信号生成部SGD20は、インバータINVを有する。
シフトレジスタSFTR(SFTR1、SFTR2)は、複数の信号経路PTを介して受けたデータ(端子IN1、IN2に転送されたデータ)をそれぞれ記憶する。例えば、シフトレジスタSFTRは、端子CLKで受けるクロックCLKに同期して動作し、端子IN(IN1、IN2)に転送されたデータを順次記憶する。
シフトレジスタSFTRは、端子CLKで受けるクロックCLKに同期して動作するn個のフリップフロップ回路FF(FF1、FF2、FF3、FF4、・・・、FFn)を有する。
例えば、シフトレジスタSFTR1の初段のフリップフロップ回路FF1の入力端子は端子IN1に接続され、シフトレジスタSFTR2の初段のフリップフロップ回路FF1の入力端子は端子IN2に接続される。フリップフロップ回路FF2、FF3、FF4、・・・、FFnの各フリップフロップ回路FFの入力端子は、前段のフリップフロップ回路FFの出力端子に接続される。
さらに、シフトレジスタSFTR1の奇数段目のフリップフロップ回路FFの出力端子は、論理積回路AND40の入力端子に接続され、偶数段目のフリップフロップ回路FFの出力端子は、インバータINVを介して論理積回路AND40の入力端子に接続される。インバータINVは、入力端子で受けた信号を反転した信号を出力する。図13の例では、シフトレジスタSFTR1のフリップフロップ回路FF2、FF4、FFnの出力端子は、インバータINV40、INV41、INV42の入力端子にそれぞれ接続される。なお、最終段のフリップフロップ回路FFnが奇数段目のフリップフロップ回路FFである場合、フリップフロップ回路FFnの出力端子は、論理積回路AND40の入力端子に接続される。
また、シフトレジスタSFTR2の奇数段目のフリップフロップ回路FFの出力端子は、論理積回路AND41の入力端子に接続され、偶数段目のフリップフロップ回路FFの出力端子は、インバータINVを介して論理積回路AND41の入力端子に接続される。図13の例では、シフトレジスタSFTR2のフリップフロップ回路FF2、FF4、FFnの出力端子は、インバータINV43、INV44、INV45の入力端子にそれぞれ接続される。なお、最終段のフリップフロップ回路FFnが奇数段目のフリップフロップ回路FFである場合、フリップフロップ回路FFnの出力端子は、論理積回路AND41の入力端子に接続される。
論理積回路AND(AND40、AND41)は、期待値を示すデータを伝達した信号経路PTに対応する制御信号DCNT(DCNT1、DCNT2)をアサートする。例えば、論理積回路AND40は、n個の入力端子で受けたデータの論理積を演算し、演算結果を論理和回路OR40の入力端子に出力する。また、論理積回路AND41は、n個の入力端子で受けたデータの論理積を演算し、演算結果を論理和回路OR41の入力端子に出力する。
図13の例では、期待値を示すデータは、奇数番目のビット(奇数段目のフリップフロップ回路FFの出力)の論理値が論理値”1”で、かつ、偶数番目のビット(偶数段目のフリップフロップ回路FFの出力)の論理値が論理値”0”のnビットのデータである。
例えば、論理積回路AND40は、シフトレジスタSFTR1の奇数段目および偶数段目のフリップフロップ回路FFの出力がそれぞれ論理値”1”および論理値”0”である場合、論理値”1”の制御信号DCNT1を論理和回路OR40に出力する。同様に、論理積回路AND41は、シフトレジスタSFTR2の奇数段目および偶数段目のフリップフロップ回路FFの出力がそれぞれ論理値”1”および論理値”0”である場合、論理値”1”の制御信号DCNT2を論理和回路OR41に出力する。
論理和回路OR40、OR41は、2つの入力端子で受けたデータの論理和を演算し、演算結果を出力する。例えば、論理和回路OR40の2つの入力端子は、論理積回路AND40の出力端子およびフリップフロップ回路FFC1の出力端子にそれぞれ接続され、論理和回路OR40の出力端子は、フリップフロップ回路FFC1の入力端子に接続される。また、例えば、論理和回路OR41の2つの入力端子は、論理積回路AND41の出力端子およびフリップフロップ回路FFC2の出力端子にそれぞれ接続され、論理和回路OR41の出力端子は、フリップフロップ回路FFC2の入力端子に接続される。
したがって、論理和回路OR40は、フリップフロップ回路FFC1に論理値”1”のデータが記憶された場合、論理値”1”のデータをフリップフロップ回路FFC1から受ける。このため、論理和回路OR40は、フリップフロップ回路FFC1に論理値”1”のデータが記憶された場合、制御信号DCNT1の論理値に拘わらず、論理値”1”のデータをフリップフロップ回路FFC1に出力する。
同様に、論理和回路OR41は、フリップフロップ回路FFC2に論理値”1”のデータが記憶された場合、論理値”1”のデータをフリップフロップ回路FFC2から受ける。このため、論理和回路OR41は、フリップフロップ回路FFC2に論理値”1”のデータが記憶された場合、制御信号DCNT2の論理値に拘わらず、論理値”1”のデータをフリップフロップ回路FFC2に出力する。
フリップフロップ回路FFC(FFC1、FFC2)は、複数の制御信号DCNT(DCNT1、DCNT2)の各々の論理値を記憶し、記憶した論理値に基づくデータ選択信号DSS(DSS1、DSS2)を出力する。例えば、フリップフロップ回路FFCは、クロックCLKに同期して動作し、入力端子で受けたデータを記憶する。さらに、フリップフロップ回路FFCは、端子INHが論理値”1”の信号を受けた場合、クロックCLKの入力を禁止する。すなわち、端子INHが論理値”1”の信号を受けている期間では、フリップフロップ回路FFCに記憶されたデータの論理値は、フリップフロップ回路FFCの入力端子に転送されたデータの論理値が変化した場合でも、更新されない。
フリップフロップ回路FFC1の出力端子は、論理和回路OR40、OR42の入力端子および論理積回路AND4の入力端子に接続される。すなわち、フリップフロップ回路FFC1に記憶されたデータの論理値を示すデータ選択信号DSaは、論理和回路OR40、OR42および論理積回路AND4に転送される。フリップフロップ回路FFC2の出力端子は、論理和回路OR41、OR42の入力端子および論理積回路AND5の入力端子に接続される。すなわち、フリップフロップ回路FFC2に記憶されたデータの論理値を示すデータ選択信号DSbは、論理和回路OR41、OR42および論理積回路AND5に転送される。
論理和回路OR42は、アサートされた制御信号DCNTの論理値が選択信号記憶部(例えば、フリップフロップ回路FFC)に記憶された場合、選択信号記憶部に記憶された論理値の更新を抑止する。例えば、論理和回路OR42は、2つの入力端子で受けたデータ選択信号DSa、DSbの論理和を演算し、演算結果をフリップフロップ回路FFC1、FFC2の端子INHに出力する。すなわち、論理和回路OR42は、フリップフロップ回路FFC1、FFC2のいずれかに、論理値”1”のデータが記憶された場合、フリップフロップ回路FFC1、FFC2のそれぞれに記憶されたデータの論理値の更新を抑止する。
例えば、端子IN1、IN2のうち、端子IN1に接続された信号経路PT10に故障が発生した場合、制御信号DCNT1は、ネゲートされた状態に維持され、制御信号DCNT2がアサートされる。この場合、フリップフロップ回路FFC1、FFC2に論理値”0”および論理値”1”のデータがそれぞれ記憶される。そして、論理和回路OR42は、論理値”0”のデータ選択信号DSaをフリップフロップ回路FFC1から受け、論理値”1”のデータ選択信号DSbをフリップフロップ回路FFC2から受ける。このため、論理和回路OR42は、論理値”1”の信号を、フリップフロップ回路FFC1、FFC2の端子INHに出力する。
論理和回路OR42が論理値”1”の信号をフリップフロップ回路FFC1、FFC2の端子INHに出力している間、フリップフロップ回路FFC1は、記憶したデータの論理値”0”の更新を停止する。同様に、論理和回路OR42が論理値”1”の信号をフリップフロップ回路FFC1、FFC2の端子INHに出力している間、フリップフロップ回路FFC2は、記憶したデータの論理値”1”の更新を停止する。
これにより、データ選択信号DSa、DSbは、論理値”0”および論理値”1”に維持される。すなわち、選択信号生成部SGD20は、期待値を示すデータを伝達した信号経路PTを示すデータ選択信号DS20を生成した後の期間に、データ選択信号DSa、DSbの論理値が端子IN1、IN2に転送されるデータの変化に伴い変化することを防止できる。このように、選択信号生成部SGD20は、期待値を示すデータを伝達した信号経路PTを示すデータ選択信号DS20(データ選択信号DSa、DSb)を、データ経路選択部SELd20に安定して供給できる。
次に、データ経路選択部SELdについて、データ経路選択部SELd20を例にして説明する。なお、データ経路選択部SELd10、SELd21、SELd30の構成および動作は、データ経路選択部SELd20と同一または同様である。また、データ経路選択部SELd20は、図3に示すクロック経路選択部SELcと同一または同様である。例えば、データ経路選択部SELd20は、論理積回路AND4、AND5および論理和回路OR3を有する。
論理積回路AND4の2つの入力端子は、端子IN1およびフリップフロップ回路FFC1の出力端子にそれぞれ接続される。例えば、論理積回路AND4は、選択信号生成部SGDのフリップフロップ回路FFC1から受けるデータ選択信号DSaと端子IN1から受けるデータとの論理積を演算し、演算結果を論理和回路OR3に出力する。
論理積回路AND5の2つの入力端子は、端子IN2およびフリップフロップ回路FFC2の出力端子にそれぞれ接続される。例えば、論理積回路AND5は、選択信号生成部SGDのフリップフロップ回路FFC2から受けるデータ選択信号DSbと端子IN2から受けるデータとの論理積を演算し、演算結果を論理和回路OR3に出力する。
論理和回路OR3は、2つの入力端子で受けたデータ(論理積回路AND4、AND5の出力信号)の論理和を演算し、演算結果を端子OUT40に出力する。
例えば、端子IN1、IN2のうち、端子IN1に接続された信号経路PT10に故障が発生した場合、論理積回路AND4は、論理値”0”のデータ選択信号DSaを選択信号生成部SGDのフリップフロップ回路FFC1から受ける。このため、論理積回路AND4は、端子IN1に転送されるデータの論理値に拘わらず、論理値”0”のデータを論理和回路OR3に出力する。
なお、論理積回路AND5は、端子IN1、IN2のうち、端子IN1に接続された信号経路PT10に故障が発生した場合、論理値”1”のデータ選択信号DSbを選択信号生成部SGDのフリップフロップ回路FFC2から受ける。このため、論理積回路AND5は、端子IN2に転送されるデータと同じ論理値のデータを論理和回路OR3に出力する。
これにより、論理和回路OR3は、端子IN1、IN2のうち、端子IN1に接続された信号経路PT10に故障が発生した場合、端子IN2に転送されるデータと同じ論理値のデータを端子OUT40に出力する。
なお、選択信号生成部SGDおよびデータ経路選択部SELdの構成は、図13に示す例に限定されない。例えば、選択信号生成部SGDは、論理積回路AND40、AND41の代わりに、否定論理和回路を有してもよい。この場合、期待値を示すデータは、奇数番目のビット(奇数段目のフリップフロップ回路FFの出力)の論理値が論理値”0”で、かつ、偶数番目のビット(偶数段目のフリップフロップ回路FFの出力)の論理値が論理値”1”のnビットのデータである。
あるいは、選択信号生成部SGDは、データ選択信号DSa、DSbの否定論理積を演算する否定論理積回路と、データ選択信号DSa、DSbの否定論理積の結果とデータ選択信号DSbとの論理積を演算する論理積回路を有してもよい。この場合、選択信号生成部SGDは、データ選択信号DSa、DSbの否定論理積の結果とデータ選択信号DSbとの論理積の結果を、データ選択信号DSbの代わりにデータ経路選択部SELdに出力する。すなわち、選択信号生成部SGDは、期待値を示すデータを伝達した信号経路PTが複数存在する場合、期待値を示すデータを伝達した複数の信号経路PTのうちの1つを示すデータ選択信号DSを生成してもよい。
図14は、図12に示した試験回路TESC3の制御方法の一例を示す。なお、図14は、半導体チップCHIP1、CHIP2間のクロック経路PTcおよびテスト経路PTを設定する際の試験回路TESC3の制御方法の一例を示す。図14のステップS100−S130、S200、S220、S240、S272、S300、S320、S410、S420は、半導体チップCHIP1に含まれる試験回路TESC3の動作を示す。また、ステップS210、S230、S250、S260、S270、S310、S330、S400は、半導体チップCHIP2に含まれる試験回路TESC3の動作を示す。図14に示す動作は、例えば、半導体装置SEM3を試験するテスト装置により制御される。なお、図14に示す動作では、転送先切り替え部SWBの初期状態および転送データ切り替え部SWCの初期状態は内部転送状態である。
図14に示す動作では、図7に示す動作に、ステップS272、S300−S330、S400−S420が追加される。図7で説明した動作と同一または同様の動作については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図7で説明したように、ステップS100からステップS270までの処理により、半導体チップCHIP1、CHIP2間のテストクロック経路PTcが設定される。
ステップS272では、半導体チップCHIP1に含まれる試験回路TESC3は、半導体チップCHIP2に含まれる試験回路TESC3でのクロック経路選択(ステップS270)が終了するまでステップS300の実行を待機する。例えば、半導体装置SEM3を試験するテスト装置は、テストクロック端子TCK1に供給するテストクロックTCKのクロック数(リセット後のクロック数)が所定数に達するまで、テストモードセレクトTMSの送信を待機する。
すなわち、半導体装置SEM3を試験するテスト装置は、テストクロック端子TCK1に供給するテストクロックTCKのクロック数(リセット後のクロック数)が所定数に達した後に、テストモードセレクトTMSをテストモードセレクト端子TMS1に供給する。これにより、試験回路TESC3は、半導体チップCHIP1、CHIP2間のテストクロック経路PTcが設定されるまでステップS300の実行を待機する。
ステップS300では、半導体チップCHIP1は、テスト装置から供給されるテストモードセレクトTMSをテストモードセレクト端子TMS1で受ける。そして、半導体チップCHIP1は、テスト装置から受けたテストモードセレクトTMSを3つの信号経路PT15、PT16、PT17を用いて半導体チップCHIP2に転送する。これにより、半導体チップCHIP2は、ステップS310において、テストモードセレクトTMSを受ける。
ステップS310では、半導体チップCHIP2は、テストモードセレクトTMSを端子TMS20、TMS21、TMS22で受ける。これにより、半導体チップCHIP2の多数決選択部MAJ21は、3つの信号経路PT15、PT16、PT17をそれぞれ介して転送された信号TMSを受ける。そして、多数決選択部MAJ21は、3つの信号経路PT15、PT16、PT17をそれぞれ介して転送された信号TMSの論理値のうち、試験部TAP2等に転送する信号の論理値を多数決論理に基づいて決定する。これにより、テストモードセレクトTMSが半導体チップCHIP2の試験部TAP2に転送され、試験部TAP2の状態が決定する。
例えば、テスト装置は、テストモードセレクトTMSを用いて、半導体チップCHIP2の試験部TAP2の状態を、半導体チップCHIP1、CHIP2間のテスト経路PTを設定するための状態に設定する。なお、半導体チップCHIP2の転送先切り替え部SWBおよび転送データ切り替え部SWCの状態は、内部転送状態に維持される。
これにより、テスト装置からテスト入力端子TDI1で受けるデータTDIは、半導体チップCHIP2の試験部TAP2に転送される。そして、半導体チップCHIP2の試験部TAP2に転送されたデータTDIは、データTDOとしてテスト出力端子TDO1に転送される。
ステップS320では、半導体チップCHIP1は、期待値と同じ論理値のデータTDIをテスト入力端子TDI1で受け、受けたデータTDIを2つの信号経路PT10、PT11を用いて半導体チップCHIP2に転送する。例えば、テスト装置は、論理値”0”と論理値”1”のデータをテスト入力端子TDI1に交互に転送する。これにより、半導体チップCHIP2は、ステップS330において、信号経路PT10、PT11のいずれかが正常な場合、期待値と同じ論理値のデータTDIを受ける。
ステップS330では、半導体チップCHIP2は、データTDIを端子TDI20、TDI21で受ける。これにより、半導体チップCHIP2の選択信号生成部SGD20は、2つの信号経路PT10、PT11をそれぞれ介して転送されたデータTDIを受ける。そして、選択信号生成部SGD20は、2つの信号経路PT10、PT11のいずれかを介して受けたデータTDIが期待値を示した場合、期待値を示すデータTDIを伝達した信号経路PTを示すデータ選択信号DS20を生成する。例えば、選択信号生成部SGD20は、図13に示すデータ選択信号DSa、DSbのうち、期待値を示すデータTDIを伝達した信号経路PTに対応するデータ選択信号DSをアサートする。
また、半導体チップCHIP2のデータ経路選択部SELd20は、信号経路PT10、PT11のうち、半導体装置SEM3を試験する際に使用する信号経路PTを、選択信号生成部SGD20から受けたデータ選択信号DS20に基づいて選択する。例えば、データ経路選択部SELd20は、アサートされたデータ選択信号DS(データ選択信号DSaまたはデータ選択信号DSb)に対応する信号経路PTを選択する。これにより、データTDIを転送する際の半導体チップCHIP1、CHIP2間のテスト経路PTが設定される。
データTDIを転送する際のテスト経路PTが設定されたため、半導体チップCHIP1から転送されたデータTDI(期待値を示すデータTDI)は、半導体チップCHIP2の試験部TAP2に転送される。
ステップS400では、半導体チップCHIP2は、半導体チップCHIP2の試験部TAP2に転送されたデータTDI(期待値を示すデータTDI)をデータTDOとして、2つの信号経路PT18、PT19を用いて半導体チップCHIP1に転送する。これにより、半導体チップCHIP1は、ステップS410において、信号経路PT18、PT19のいずれかが正常な場合、期待値と同じ論理値のデータTDOを受ける。
ステップS410では、半導体チップCHIP1は、データTDOを端子TDO10、TDO11で受ける。これにより、半導体チップCHIP1の選択信号生成部SGD10は、2つの信号経路PT18、PT19をそれぞれ介して転送されたデータTDOを受ける。そして、選択信号生成部SGD10は、2つの信号経路PT18、PT19のいずれかを介して受けたデータTDOが期待値を示した場合、期待値を示すデータTDOを伝達した信号経路PTを示すデータ選択信号DS10を生成する。例えば、選択信号生成部SGD10は、データ選択信号DSa、DSbのうち、期待値を示すデータTDOを伝達した信号経路PTに対応するデータ選択信号DSをアサートする。
また、半導体チップCHIP1のデータ経路選択部SELd10は、信号経路PT18、PT19のうち、半導体装置SEM3を試験する際に使用する信号経路PTを、選択信号生成部SGD10から受けたデータ選択信号DS10に基づいて選択する。例えば、データ経路選択部SELd10は、アサートされたデータ選択信号DSに対応する信号経路PTを選択する。これにより、データTDOを転送する際の半導体チップCHIP1、CHIP2間のテスト経路PTが設定される。データTDOを転送する際のテスト経路PTが設定されたため、半導体チップCHIP2から転送されたデータTDOは、テスト出力端子TDO1に転送される。
ステップS420では、半導体チップCHIP1は、半導体チップCHIP2から受けたデータTDOをテスト出力端子TDO1を介してテスト装置に出力する。
これにより、半導体チップCHIP1、CHIP2間のテスト経路PTが設定される。なお、半導体チップCHIP2、CHIP3間のテスト経路PTの設定は、例えば、ステップS420の後に実行される。例えば、テスト装置は、テストモードセレクトTMSを用いて試験部TAP2を制御し、半導体チップCHIP2の転送先切り替え部SWBおよび転送データ切り替え部SWCを通過状態に設定する。
そして、テスト装置は、ステップS200、S220、S240、S272、S300、S320、S410と同様の動作を半導体チップCHIP1、CHIP2に実行させる。また、テスト装置は、ステップS210、S230、S250、S260、S270、S310、S330、S400と同様の動作を半導体チップCHIP3に実行させる。これにより、半導体チップCHIP2、CHIP3間のテストクロック経路PTcおよびテスト経路PTが設定される。
なお、試験回路TESC3の制御方法は、図14に示す例に限定されない。例えば、半導体チップCHIP1、CHIP2間のデータTDIのテスト経路PTが設定された後で、データTDOのテスト経路が設定される前に、半導体チップCHIP2、CHIP3間のデータTDIのテスト経路PTが設定されてもよい。あるいは、半導体チップCHIP1、CHIP2間のテスト経路PTが設定された後で、半導体チップCHIP2、CHIP3間のテスト経路が設定される前に、半導体チップCHIP2の試験部TAP2を用いた試験が実行されてもよい。
以上、図12から図14に示した実施形態においても、図2から図7に示した実施形態と同様の効果を得ることができる。例えば、この実施形態では、クロック経路PTc10、PTc11の一方およびクロック経路PTc20、PTc21の一方が故障した場合でも、半導体チップCHIP間の信号経路の故障箇所を検出する試験を実行できる。これにより、故障箇所を迂回して不良を救済することができる。この結果、この実施形態では、半導体装置SEM3の歩留まりを向上できる。
さらに、この実施形態では、テスト入力端子TDI1で受けるデータが伝達される冗長化された信号経路PT(例えば、2本1組の信号経路PT)の一方が故障した場合でも、半導体チップCHIP間の信号経路の故障箇所を検出する試験を実行できる。これにより、この実施形態では、半導体装置SEM3の歩留まりを向上できる。
図15は、試験回路および試験回路の制御方法の別の実施形態を示す。図1から図14で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。試験回路TESC4は、複数の半導体チップCHIP(CHIP1、CHIP2、CHIP3)を含む半導体装置SEM4を試験する。半導体装置SEM4は、図12に示す試験回路TESC3の代わりに試験回路TESC4を有することを除いて、図12に示す半導体装置SEM3と同一または同様である。
なお、図15では、図を見やすくするために、半導体チップCHIP1、CHIP2の切り替え部SWB、SWCと試験部TAPaとの間の信号線等の記載を省略している。
試験回路TESC4では、図12に示す試験回路TESC3からクロック転送切り替え部SWA(SAW1、SWA2)および転送先切り替え部SWB12、SWB22が省かれる。また、試験回路TESC4は、図12に示す試験部TAP1、TAP2、TAP3の代わりに、試験部TAPa1、TAPa2、TAPa3を有する。さらに、リセット選択部RSELが図12に示す試験回路TESC3に追加される。試験回路TESC4のその他の構成は、図12に示す試験回路TESC3と同一または同様である。
試験回路TESC4は、クロック検出部DET(DET2、DET3)、クロック経路選択部SELc(SELc2、SELc3)、試験部TAPa(TAPa1−TAPa3)、多数決選択部MAJ21、MAJ31およびリセット選択部RSELを有する。また、試験回路TESC2は、転送先切り替え部SWB(SWB11、SWB21)および転送データ切り替え部SWC(SWC1、SWC2)を有する。さらに、試験回路TESC2は、選択信号生成部SGD(SGD10、SGD20、SGD21、SGD30)およびデータ経路選択部SELd(SELd10、SELd20、SELd21、SELd30)を有する。
クロック検出部DET2、DET3およびクロック経路選択部SELc2、SELc3は、図8に示したクロック検出部DET2、DET3およびクロック経路選択部SELc2、SELc3と同一または同様である。試験部TAPa1−TAPa3、多数決選択部MAJ21、MAJ31およびリセット選択部RSELは、図8に示した試験部TAPa1−TAPa3、多数決選択部MAJ21、MAJ31およびリセット選択部RSELと同一または同様である。
転送先切り替え部SWB11、SWB21および転送データ切り替え部SWC1、SWC2は、図12に示した転送先切り替え部SWB11、SWB21および転送データ切り替え部SWC1、SWC2と同一または同様である。選択信号生成部SGD10、SGD20、SGD21、SGD30は、図12に示した選択信号生成部SGD10、SGD20、SGD21、SGD30と同一または同様である。また、データ経路選択部SELd10、SELd20、SELd21、SELd30は、図12に示したデータ経路選択部SELd10、SELd20、SELd21、SELd30と同一または同様である。
なお、試験回路TESC4の構成は、図15に示す例に限定されない。例えば、テストクロック端子TCK1で受けるテストクロックTCKが伝達されるクロック経路PTc(PTc10、PTc11等)は、3本以上のクロック経路で冗長化されてもよい。また、テスト入力端子TI1で受けるデータが伝達されるテスト経路PT(PT10、PT11等)は、3本以上の信号経路で冗長化されてもよい。また、例えば、試験回路TESC4は、2つの半導体チップCHIPが積層された半導体装置SEM(半導体チップCHIP2が省かれた半導体装置SEM4)に内蔵されてもよい。あるいは、試験回路TESC4は、4つ以上の半導体チップCHIPが積層された半導体装置SEMに内蔵されてもよい。
図16は、図15に示した試験回路TESC4の制御方法の一例を示す。なお、図16は、半導体チップCHIP1、CHIP2間のクロック経路PTcおよびテスト経路PTを設定する際の試験回路TESC4の制御方法の一例を示す。図16のステップS100−S130、S200a、S220a、S240、S272、S280、S300、S320、S410、S420は、半導体チップCHIP1に含まれる試験回路TESC4の動作を示す。また、ステップS210a、S230a、S250、S260、S270、S290、S310、S330、S400は、半導体チップCHIP2に含まれる試験回路TESC4の動作を示す。図16に示す動作は、例えば、半導体装置SEM4を試験するテスト装置により制御される。なお、図16に示す動作では、転送先切り替え部SWBの初期状態および転送データ切り替え部SWCの初期状態は内部転送状態である。
図16に示す動作では、図14に示すステップS200、S210、S220、S230の処理の代わりに、ステップS200a、S210a、S220a、S230aの処理が実行される。また、図16に示す動作では、ステップS110の処理(リセット解除)は図14に示すステップS120(図16では、ステップS102)の処理(クロック供給)の後に実行され、ステップS280、S290が図14に示す動作に追加される。
すなわち、図16に示す動作では、図11に示す動作に、ステップS300−S330、S400−S420が追加される。図7、図11および図14で説明した動作と同一または同様の動作については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。
図11で説明したように、ステップS100からステップS290までの処理により、半導体チップCHIP1、CHIP2間のテストクロック経路PTcが設定される。
ステップS300では、半導体チップCHIP1は、テスト装置から供給されるテストモードセレクトTMSをテストモードセレクト端子TMS1で受ける。そして、半導体チップCHIP1は、テスト装置から受けたテストモードセレクトTMSを3つの信号経路PT15、PT16、PT17を用いて半導体チップCHIP2に転送する。
ステップS310では、半導体チップCHIP2は、テストモードセレクトTMSを端子TMS20、TMS21、TMS22で受ける。これにより、テストモードセレクトTMSが半導体チップCHIP2の試験部TAPa2に転送され、試験部TAPa2の状態が決定する。
ステップS320では、半導体チップCHIP1は、期待値と同じ論理値のデータTDIをテスト入力端子TDI1で受け、受けたデータTDIを2つの信号経路PT10、PT11を用いて半導体チップCHIP2に転送する。これにより、半導体チップCHIP2は、ステップS330において、信号経路PT10、PT11のいずれかが正常な場合、期待値と同じ論理値のデータTDIを受ける。
ステップS330では、半導体チップCHIP2は、データTDIを端子TDI20、TDI21で受ける。2つの信号経路PT10、PT11のいずれかを介して受けたデータTDIが期待値を示した場合、データTDIを転送する際の半導体チップCHIP1、CHIP2間のテスト経路PTが設定される。
ステップS400では、半導体チップCHIP2は、半導体チップCHIP2の試験部TAPa2に転送されたデータTDI(期待値を示すデータTDI)をデータTDOとして、2つの信号経路PT18、PT19を用いて半導体チップCHIP1に転送する。これにより、半導体チップCHIP1は、ステップS410において、信号経路PT18、PT19のいずれかが正常な場合、期待値と同じ論理値のデータTDOを受ける。
ステップS410では、半導体チップCHIP1は、データTDOを端子TDO10、TDO11で受ける。2つの信号経路PT18、PT19のいずれかを介して受けたデータTDOが期待値を示した場合、データTDOを転送する際の半導体チップCHIP1、CHIP2間のテスト経路PTが設定される。
ステップS420では、半導体チップCHIP1は、半導体チップCHIP2から受けたデータTDOをテスト出力端子TDO1を介してテスト装置に出力する。
これにより、半導体チップCHIP1、CHIP2間のテスト経路PTが設定される。なお、半導体チップCHIP2、CHIP3間のテスト経路PTの設定は、例えば、ステップS420の後に実行される。例えば、テスト装置は、ステップS200a、S220a、S240、S272、S280、S300、S320、S410と同様の動作を半導体チップCHIP2に実行させる。また、テスト装置は、ステップS210a、S230a、S250、S260、S270、S290、S310、S330、S400と同様の動作を半導体チップCHIP3に実行させる。
これにより、半導体チップCHIP2、CHIP3間のテストクロック経路PTcおよびテスト経路PTが設定される。なお、試験回路TESC4の制御方法は、図16に示す例に限定されない。
以上、図15から図16に示した実施形態においても、図2から図14に示した実施形態と同様の効果を得ることができる。例えば、この実施形態では、クロック経路PTc10、PTc11の一方およびクロック経路PTc20、PTc21の一方が故障した場合でも、半導体チップCHIP間の信号経路の故障箇所を検出する試験を実行できる。これにより、故障箇所を迂回して不良を救済することができる。この結果、この実施形態では、半導体装置SEM4の歩留まりを向上できる。
また、この実施形態では、テスト入力端子TDI1で受けるデータが伝達される冗長化された信号経路PT(例えば、2本1組の信号経路PT)の一方が故障した場合でも、半導体チップCHIP間の信号経路の故障箇所を検出する試験を実行できる。これにより、この実施形態では、半導体装置SEM4の歩留まりを向上できる。
さらに、この実施形態では、試験回路TESC4は、クロック検出部DETに対するリセットと、試験部TAPaに対するリセットとを分けて制御する。これにより、試験回路TESC4は、試験部TAPaに対するリセットが解除される前に、試験部TAPaにテストクロックTCKを供給できる。この結果、この実施形態では、試験部TAPaの動作が不安定になることを防止できる。
図17は、試験回路および試験回路の制御方法の別の実施形態を示す。図1から図16で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。試験回路TESC5は、複数の半導体チップCHIP(CHIP1、CHIP2、CHIP3)を含む半導体装置SEM5を試験する。半導体装置SEM5は、図12に示す試験回路TESC3の代わりに試験回路TESC5を有することを除いて、図12に示す半導体装置SEM3と同一または同様である。また、試験回路TESC5の制御方法は、試験回路TESC3の制御方法と同一または同様である。
試験回路TESC5は、図12に示す転送先切り替え部SWB11、SWB21の代わりに、転送先切り替え部SWD11、SWD21を有する。このため、試験部TAP1、TAP2は、切り替え部SWA、SWB、SWCを制御する制御信号SCの他に、転送先切り替え部SWDを制御する制御信号SCを生成する。試験回路TESC5のその他の構成は、図12に示す試験回路TESC3と同一または同様である。
例えば、試験回路TESC5は、クロック検出部DETと、クロック経路選択部SELcと、選択信号生成部SGDと、データ経路選択部SELdと、多数決選択部MAJと、試験部TAPとを有する。さらに、試験回路TESC5は、クロック転送切り替え部SWAと、転送先切り替え部SWB、SWDと、転送データ切り替え部SWCとを有する。以下、転送先切り替え部SWDは、切り替え部SWDとも称される。
試験部TAPは、例えば、テストモードセレクトTMSに応じて、クロック転送切り替え部SWA、転送先切り替え部SWB、SWDおよび転送データ切り替え部SWCの状態を設定する。なお、図17では、図を見やすくするために、半導体チップCHIP1、CHIP2の切り替え部SWA、SWB、SWD、SWCと試験部TAPとの間の信号線、多数決選択部MAJ30とクロック検出部DET3との間の信号線等の記載を省略している。
例えば、試験部TAP1は、試験の対象となる半導体チップCHIPに合わせて、切り替え部SWA1、SWD11、SWB12、SWC1の状態を制御する制御信号SC(SC10、SC11)を生成する。同様に、試験部TAP2は、試験の対象となる半導体チップCHIPに合わせて、切り替え部SWA2、SWD21、SWB22、SWC2の状態を制御する制御信号SC(SC20、SC21)を生成する。
転送先切り替え部SWDは、試験部TAPから受ける制御信号SCに基づいて、内部転送状態、通過状態および両方向状態のいずれかに設定される。内部転送状態では、転送先切り替え部SWDが受けるデータTDIは、自身の半導体チップCHIPの試験部TAPに転送される。また、通過状態では、転送先切り替え部SWDが受けるデータTDIは、他の半導体チップCHIPに転送される。そして、両方向状態では、転送先切り替え部SWDが受けるデータTDIは、自身の半導体チップCHIPの試験部TAPおよび他の半導体チップCHIPに転送される。
各転送先切り替え部SWD11、SWD21の入力端子および2つの出力端子の接続関係は、図12に示す各転送先切り替え部SWB11、SWB21と同一または同様である。したがって、半導体チップCHIP1の転送先切り替え部SWD11が内部転送状態に設定された場合、半導体チップCHIP1の試験部TAP1は、端子TDI1からデータTDIを受ける。なお、半導体チップCHIP1の転送先切り替え部SWD11が通過状態に設定された場合、端子TDI1で受けるデータTDIは、半導体チップCHIP2に転送される。
また、半導体チップCHIP1の転送先切り替え部SWD11が両方向状態に設定された場合、端子TDI1で受けるデータTDIは、半導体チップCHIP1の試験部TAP1および半導体チップCHIP2に転送される。
なお、試験回路TESC5の構成は、図17に示す例に限定されない。例えば、テストクロック端子TCK1で受けるテストクロックTCKが伝達されるクロック経路PTc(PTc10、PTc11等)は、3本以上のクロック経路で冗長化されてもよい。また、テスト入力端子TI1で受けるデータが伝達されるテスト経路PT(PT10、PT11等)は、3本以上の信号経路で冗長化されてもよい。また、試験回路TESC5は、2つの半導体チップCHIPが積層された半導体装置SEM(半導体チップCHIP2が省かれた半導体装置SEM5)に内蔵されてもよい。あるいは、試験回路TESC5は、4つ以上の半導体チップCHIPが積層された半導体装置SEMに内蔵されてもよい。
また、転送先切り替え部SWD11、SWD21は、図2等に示す転送先切り替え部SWB11、SWB21の代わりに、図2、図8および図15に示す半導体装置SEM1、SEM2、SEM4に含まれてもよい。
図18は、図17に示した転送先切り替え部SWDの一例を示す。転送先切り替え部SWD(SWD11、SWD21)は、論理積回路AND10、AND11を有する。論理積回路AND10は、2つの端子IN10、SCbに転送される信号の論理積を演算し、演算結果を端子OUT10に出力する。論理積回路AND11は、2つの端子IN10、SCaに転送される信号の論理積を演算し、演算結果を端子OUT11に出力する。
例えば、半導体チップCHIP1の転送先切り替え部SWD11では、端子SCa、SCbは、試験部TAP1から制御信号SC10、SC11を受ける。また、半導体チップCHIP2の転送先切り替え部SWD21では、端子SCa、SCbは、試験部TAP2から制御信号SC20、SC21を受ける。
端子SCa、SCbで受ける制御信号がそれぞれ論理値”0”および論理値”1”の場合(例えば、内部転送状態)、端子IN10で受けた信号は、端子OUT10から出力され、端子OUT11は、論理値”0”に維持される。端子SCa、SCbで受ける制御信号がそれぞれ論理値”1”および論理値”0”の場合(例えば、通過状態)、端子IN10で受ける信号は、端子OUT11から出力され、端子OUT10は、論理値”0”に維持される。
端子SCa、SCbで受ける両方の制御信号が論理値”1”の場合(例えば、両方向状態)、端子IN10で受ける信号は、端子OUT10、OUT11の両方から出力される。
例えば、半導体チップCHIP1では、転送先切り替え部SWD11の端子IN10は、テスト入力端子TDI1に接続される。また、端子OUT10は、試験部TAP1のテスト入力端子(データTDIを受ける端子)に接続され、端子OUT11は、端子TDI10、TDI11に接続される。また、半導体チップCHIP2では、転送先切り替え部SWD21の端子IN10は、データ経路選択部SELd20の出力端子に接続される。また、端子OUT10は、試験部TAP2のテスト入力端子(データTDIを受ける端子)に接続され、端子OUT11は、端子TDI22、TDI23に接続される。
以上、図17から図18に示した実施形態においても、図12から図14に示した実施形態と同様の効果を得ることができる。例えば、この実施形態では、クロック経路PTc10、PTc11の一方およびクロック経路PTc20、PTc21の一方が故障した場合でも、半導体チップCHIP間の信号経路の故障箇所を検出する試験を実行できる。また、テスト入力端子TDI1で受けるデータが伝達される冗長化された信号経路PT(例えば、2本1組の信号経路PT)の一方が故障した場合でも、半導体チップCHIP間の信号経路の故障箇所を検出する試験を実行することができる。これにより、故障箇所を迂回して不良を救済することができる。この結果、この実施形態では、半導体装置SEM5の歩留まりを向上できる。
さらに、この実施形態では、試験回路TESC5は、データTDIの転送先を切り替える転送先切り替え部SWDを有する。これにより、例えば、試験部TAP内のデータレジスタ等に複数の半導体チップCHIPで同じデータが設定される場合、試験回路TESC5は、複数の半導体チップCHIPの試験部TAPにデータTDIをブロードキャストで供給できる。この結果、この実施形態では、試験部TAP内のデータレジスタ等にデータを設定する時間を短縮でき、半導体装置SEM5の試験時間を短縮できる。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。