(57)【特許請求の範囲】
【請求項１】
第１の入力信号と第２の入力信号とクロック信号とが入力され、第１のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して前記第１の入力信号を内部に取り込み保持し、第２のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して内部に保持する値を第２の出力信号として出力するとともに前記第２の入力信号を内部に取り込み保持するバウンダリスキャン手段であって、前記各バウンダリスキャン手段の前記第２の出力信号が隣接する前記各バウンダリスキャン手段の前記第２の入力信号となるように接続されたＮ（Ｎは自然数）個のバウンダリスキャン手段と、
前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号をデコードして第１の出力制御信号を生成する出力制御手段と、
前記第１の出力制御信号を第２の出力制御信号によりマスクするマスク手段と、
前記Ｎ個のバウンダリスキャン手段のうちの所定のバウンダリスキャン手段の前記第１の出力信号を前記マスク手段の出力により出力制御する出力手段とを備えたことを特徴とする半導体装置。
【請求項２】
第１の入力信号と第２の入力信号とクロック信号とが入力され、第１のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して前記第１の入力信号を内部に取り込み保持し、第２のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して内部に保持する値を第２の出力信号として出力するとともに前記第２の入力信号を内部に取り込み保持するバウンダリスキャン手段であって、前記各バウンダリスキャン手段の前記第２の出力信号が隣接する前記各バウンダリスキャン手段の前記第２の入力信号となるように接続されたＮ（Ｎは自然数）個のバウンダリスキャン手段と、
前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号をデコードして多ビットの第１の出力制御信号を生成する第１の出力制御手段と、
前記多ビットの第１の出力制御信号のうち少なくとも１ビットを、第２の出力制御信号によりマスクするマスク手段と、
前記多ビットの第１の出力制御信号と前記マスク手段の出力とをデコードし、第３の出力制御信号を生成する第２の出力制御手段と、
前記Ｎ個のバウンダリスキャン手段のうちの所定のバウンダリスキャン手段の前記第１の出力信号を前記第３の出力制御信号により出力制御する出力手段とを備えたことを特徴とする半導体装置。
【請求項３】
第１の入力信号と第２の入力信号とクロック信号とが入力され、第１のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して前記第１の入力信号を内部に取り込み保持し、第２のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して内部に保持する値を第２の出力信号として出力するとともに前記第２の入力信号を内部に取り込み保持するバウンダリスキャン手段であって、前記各バウンダリスキャン手段の前記第２の出力信号が隣接する前記各バウンダリスキャン手段の前記第２の入力信号となるように接続されたＮ（Ｎは自然数）個のバウンダリスキャン手段と、
前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号のうち少なくとも１つを第１の出力制御信号によりマスクするマスク手段と、
前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号のうちＬ個（ＬはＭ以下の自然数）と前記マスク手段の出力とをデコードして第２の出力制御信号を生成する出力制御手段と、
前記Ｎ個のバウンダリスキャン手段のうち所定のバウンダリスキャン手段の前記第１の出力信号を前記第２の出力制御信号により出力制御する出力手段とを備えたことを特徴とする半導体装置。
【請求項４】
第１の入力信号と第２の入力信号とが入力され、前記第２の入力信号により前記第１の入力信号のフローティング入力を禁止し前記第１の入力信号を出力信号として出力するＪ（Ｊは自然数）個の入力制御手段と、
直接または前記入力制御手段を介して入力される前記第１の入力信号、第３の入力信号、およびクロック信号が入力され、第１のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して前記入力制御手段の出力信号を内部に取り込み保持し、第２のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して内部に保持する値を第２の出力信号として出力するとともに前記第３の入力信号を内部に取り込み保持するバウンダリスキャン手段であって、前記各バウンダリスキャン手段の前記第２の出力信号が隣接する前記各バウンダリスキャン手段の前記第３の入力信号となるように接続されたＮ（ＮはＪ以上の自然数）個のバウンダリスキャン手段と、
前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号のうち少なくとも１つが入力され、第１の出力制御信号を生成するＬ（ＬはＮ以下の自然数）個の出力制御手段と、
前記Ｌ個の出力制御手段がそれぞれ出力する前記第１の出力制御信号のうち少なくとも１つを第２の出力制御信号によりマスクするＫ（ＫはＬ以下かつＪ以下の自然数）個のマスク手段とを備え、
前記入力制御手段の一部に対する前記第２の入力信号として前記マスク手段の出力が入力され、前記マスク手段の出力が入力されない前記入力制御手段に対する前記第２の入力信号として、前記第１の出力制御信号が入力されることを特徴とする半導体装置。
【請求項５】
第１の入力信号と第２の入力信号とが入力され、前記第２の入力信号により前記第１の入力信号のフローティング入力を禁止し前記第１の入力信号を出力信号として出力するＮ（Ｎは自然数）個の入力制御手段と、
直接または前記入力制御手段を介して入力される前記第１の入力信号、第３の入力信号、およびクロック信号が入力され、第１のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して前記入力制御手段の出力信号を内部に取り込み保持し、第２のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して内部に保持する値を第２の出力信号として出力するとともに前記第３の入力信号を内部に取り込み保持するバウンダリスキャン手段であって、前記各バウンダリスキャン手段の前記第２の出力信号が隣接する前記各バウンダリスキャン手段の前記第３の入力信号となるように接続されたＮ（Ｎは自然数）個のバウンダリスキャン手段と、前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号のうち少なくとも１つが入力され、その入力信号に応じて状態が設定されその状態を保持するとともに前記入力制御手段の前記第２の入力信号として供給し、第１の出力制御信号により前記保持状態を無効にするＬ（ＬはＮ以下の自然数）個の状態保持手段とを備えたことを特徴とする半導体装置。
【請求項６】
第１の入力信号と第２の入力信号とクロック信号とが入力され、第１のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して前記第１の入力信号を内部に取り込み保持し、第２のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して内部に保持する値を第２の出力信号として出力するとともに前記第２の入力信号を内部に取り込み保持するバウンダリスキャン手段であって、前記各バウンダリスキャン手段の前記第２の出力信号が隣接する前記各バウンダリスキャン手段の前記第２の入力信号となるように接続されたＮ（Ｎは自然数）個のバウンダリスキャン手段と、
データを格納するデータ格納手段と、
前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号により前記データ格納手段のデータ書き換えを制御し、第１の出力制御信号によりデータ書き換え制御を無効にするデータ書き換え制御手段とを備えたことを特徴とする半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリント基板上での半導体装置間の接続状態を検査するためのバウンダリスキャンテスト回路を実装した半導体装置に関するものである。
【０００２】
【従来の技術】
プリント基板に実装された半導体装置（例えばＬＳＩ）間の接続状態を確認する検査手法としてバウンダリスキャンテスト手法があり、代表的なものとしてはＩＥＥＥ１１４９．１に規定された手法がある。図８は、２つの半導体装置間の実装検査をバウンダリスキャンテストで行っている例を示す。
【０００３】
８００は第一のＬＳＩであり、コアロジック８４１によりメインの機能を実行し、メイン出力端子８１１とメイン入力端子８２１を介してプリント基板上にメイン機能の信号を入出力する。第一のＬＳＩ８００はまた、ＴＡＰコントローラ８０４、第一のバウンダリスキャンセル８１３、第二のバウンダリスキャンセル８１４、及び第三のバウンダリスキャンセル８２２によりバウンダリスキャンテストを行う。
【０００４】
８０１はＴＣＫ端子であり、バウンダリスキャンテスト動作用のクロック信号が入力され、ＴＣＫ信号線Ｓ８０１を通じてＴＡＰコントローラ８０４に供給される。８０２はＴＭＳ端子であり、バウンダリスキャンテストのモードセレクト信号が入力され、ＴＭＳ信号線Ｓ８０２を通じてＴＡＰコントローラ８０４に供給される。８０３はＴＤＩ端子であり、バウンダリスキャンテストのテストデータ信号が入力され、ＴＤＩ信号線Ｓ８０３を通じてＴＡＰコントローラ８０４に供給される。
【０００５】
ＴＡＰコントローラ８０４は、ＴＭＳ端子８０２へシリアル入力されるモードセレクト信号により内部ステートを遷移し、内部ステートに応じて、バウンダリスキャンリセットモード、キャプチャモード、シフトモード、またはアップデートモードのいずれかを選択し、各々のモードに応じた制御信号をバウンダリスキャンセル制御信号線Ｓ８０５に出力する。シフトモードの場合には、ＴＤＩ端子８０３へのシリアル入力をバウンダリスキャンデータ信号線Ｓ８０４に伝達し、ＴＤＯドライブ制御信号線Ｓ８０６にＨレベルを出力し、シフトモードでない場合には、ＴＤＩ端子８０３へのシリアル入力をバウンダリスキャンデータ信号線Ｓ８０４に伝達せず、ＴＤＯドライブ制御信号線Ｓ８０６にＬレベルを出力することでバウンダリスキャンテストを制御する。
【０００６】
メイン出力端子８１１は、コアロジック８４１が実行し出力する信号を出力し、バウンダリスキャン実行時には、第一のバウンダリスキャンセル８１３に保持された値と第二のバウンダリスキャンセル８１４に保持された値に応じた信号を出力する。
【０００７】
８１２はメイン出力トライステートバッファであり、第一のバウンダリスキャンセル出力信号線Ｓ８１２と第二のバウンダリスキャンセル出力信号線Ｓ８１４から信号が入力される。メイン出力トライステートバッファ８１２は、第二のバウンダリスキャンセル出力信号線Ｓ８１４がＬレベルの場合にはメイン出力端子８１１を駆動せず、第二のバウンダリスキャンセル出力信号線Ｓ８１４がＨレベルでかつ第一のバウンダリスキャンセル出力信号線Ｓ８１２がＨレベルの場合にはメイン出力端子８１１をＨレベルに駆動し、第二のバウンダリスキャンセル出力信号線Ｓ８１４がＨレベルでかつ第一のバウンダリスキャンセル出力信号線Ｓ８１２がＬレベルの場合にはメイン出力端子８１１をＬレベルに駆動する。
【０００８】
第一のバウンダリスキャンセル８１３は、通常時には、コアロジック８４１がメイン出力レベル信号線Ｓ８４１を通じて出力するメイン出力端子８１１の出力レベルを第一のバウンダリスキャンセル出力信号線Ｓ８１２に伝達する。バウンダリスキャンテストの信号キャプチャ時には、メイン出力レベル信号線Ｓ８４１のレベルを取り込み内部に保持する。バウンダリスキャンテストのデータシフト時には、内部に保持したデータを第一のバウンダリスキャンアウト出力信号線Ｓ８１３にシフトアウトし、バウンダリスキャンデータ信号線Ｓ８０４のレベルを取り込み内部に保持する。バウンダリスキャンテストのアップデート時には、内部に保持したデータを第一のバウンダリスキャンセル出力信号線Ｓ８１２に出力してメイン出力トライステートバッファ８１２の出力レベルを制御する。
【０００９】
第二のバウンダリスキャンセル８１４は、通常時には、コアロジック８４１がメイン出力ドライブ信号線Ｓ８４２を通じて出力するメイン出力端子８１１の駆動状態を第二のバウンダリスキャンセル出力信号線Ｓ８１４に伝達する。バウンダリスキャンテストの信号キャプチャ時には、メイン出力ドライブ信号線Ｓ８４２のレベルを取り込み内部に保持する。バウンダリスキャンテストのデータシフト時には、内部に保持したデータを第二のバウンダリスキャンアウト出力信号線Ｓ８１５にシフトアウトし、第一のバウンダリスキャンアウト出力信号線Ｓ８１３のレベルを取り込み内部に保持する。バウンダリスキャンテストのアップデート時には、内部に保持したデータを第二のバウンダリスキャンセル出力信号線Ｓ８１４に出力してメイン出力トライステートバッファ８１２の駆動状態を制御する。
【００１０】
メイン入力端子８２１には、コアロジック８４１の実行に必要な信号が入力される。
【００１１】
８２２は第三のバウンダリスキャンセルであり、第三のバウンダリスキャンセル出力信号線Ｓ８２２を通じてコアロジック８４１にメイン入力端子８２１のレベルを伝達し、バウンダリスキャンテストの信号キャプチャ時には、メイン入力信号線Ｓ８２１の値を取り込み内部に保持し、バウンダリスキャンテストのデータシフト時には、内部に保持したデータを第三のバウンダリスキャンアウト出力信号線Ｓ８２３にシフトアウトし、第二のバウンダリスキャンアウト出力信号線Ｓ８１５のレベルを取り込み内部に保持する。
【００１２】
８３１はＴＤＯトライステートバッファであり、第三のバウンダリスキャンアウト出力信号線Ｓ８２３とＴＤＯドライブ制御信号線Ｓ８０６から信号が入力される。ＴＤＯトライステートバッファ８３１は、ＴＤＯドライブ制御信号線Ｓ８０６がＬレベルの場合にはＴＤＯ端子８３２を駆動せず、ＴＤＯドライブ制御信号線Ｓ８０６がＨレベルでかつ第三のバウンダリスキャンアウト出力信号線Ｓ８２３がＨレベルの場合にはＴＤＯ端子８３２をＨレベルに駆動し、ＴＤＯドライブ制御信号線Ｓ８０６がＨレベルでかつ第三のバウンダリスキャンアウト出力信号線Ｓ８２３がＬレベルの場合にはＴＤＯ端子８３２をＬレベルに駆動する。
【００１３】
ＴＤＯ端子８３２は、バウンダリスキャンテストデータを出力する。
【００１４】
８５０は第二のＬＳＩであり、第一のＬＳＩ８００と同様の構造・機能を有する。
【００１５】
８９３は第一のプリントパタンであり、第一のＬＳＩ８００のＴＤＯ端子８３２から出力されるシリアルデータを第二のＬＳＩ８５０のＴＤＩ端子８３３に伝達する。８９４は第二のプリントパタンであり、第二のＬＳＩ８５０のメイン出力端子８６１の出力を第一のＬＳＩ８００のメイン入力端子８２１に伝達する。８９５は第三のプリントパタンであり、第一のＬＳＩ８００のメイン出力端子８１１の出力を第二のＬＳＩ８５０のメイン入力端子８７１に伝達する。
【００１６】
８９６はＴＤＩ入力コネクタピンであり、プリント基板上に設けられ、プリント基板外部から信号が入力され、第一のＬＳＩ８００のＴＤＩ端子８０３にバウンダリスキャンテストデータを供給する。８９７はＴＤＯ出力コネクタピンであり、プリント基板上に設けられ、第二のＬＳＩ８５０のＴＤＯ端子８８２から出力されるバウンダリスキャンテストデータをプリント基板外部に出力する。８９８はＴＣＫ入力コネクタピンであり、プリント基板上に設けられ、プリント基板外部から信号が入力され、第一のＬＳＩ８００のＴＣＫ端子８０１と第二のＬＳＩ８５０のＴＣＫ端子８５１にバウンダリスキャンクロックを供給する。８９９はＴＭＳ入力コネクタピンであり、プリント基板上に設けられ、プリント基板外部から信号が入力され、第一のＬＳＩ８００のＴＭＳ端子８０２と第二のＬＳＩ８５０のＴＭＳ端子８５２にバウンダリスキャンモード信号を供給する。
【００１７】
以上の構成により、メイン機能実行時においては第一のＬＳＩ８００と第二のＬＳＩ８５０は、第二のプリントパタン８９４と第三のプリントパタン８９５とにより各々のＬＳＩの実行結果を出力または入力する。
【００１８】
バウンダリスキャンテスト時においては、ＴＣＫ入力コネクタピン８９８とＴＭＳ入力コネクタピン８９９にシリアル信号を入力して、第一のＬＳＩ８００と第二のＬＳＩ８５０のバウンダリスキャンリセットを解除する。続いてＴＣＫ入力コネクタピン８９８とＴＭＳ入力コネクタピン８９９にシリアル信号を入力して、第一のＬＳＩ８００と第二のＬＳＩ８５０をバウンダリスキャンのシフトモードにする。続いてＴＣＫ入力コネクタピン８９８とＴＤＩ入力コネクタピン８９６にバウンダリスキャンドライブデータのシリアル信号を入力して、第一のＬＳＩ８００の第一のバウンダリスキャンセル８１３及び第二のバウンダリスキャンセル８１４、第二のＬＳＩ８５０の第一のバウンダリスキャンセル８６３及び第二のバウンダリスキャンセル８６４に、バウンダリスキャンテストデータを順次設定する。続いてＴＣＫ入力コネクタピン８９８とＴＭＳ入力コネクタピン８９９にシリアル信号を入力して、第一のＬＳＩ８００と第二のＬＳＩ８５０をバウンダリスキャンのアップデートモードにすることにより、第一のＬＳＩ８００の第一のバウンダリスキャンセル８１３と第二のバウンダリスキャンセル８１４に保持した値でメイン出力端子８１１を出力制御し、第二のＬＳＩ８５０の第一のバウンダリスキャンセル８６３と第二のバウンダリスキャンセル８６４に保持した値でメイン出力端子８６１を出力制御する。続いてＴＣＫ入力コネクタピン８９８とＴＭＳ入力コネクタピン８９９にシリアル信号を入力して、第一のＬＳＩ８００と第二のＬＳＩ８５０をバウンダリスキャンのキャプチャモードにすることにより、第一のＬＳＩ８００の第三のバウンダリスキャンセル８２２にメイン入力端子８２１のレベルを取り込み保持し、第二のＬＳＩ８５０の第三のバウンダリスキャンセル８７２にメイン入力端子８７１のレベルを取り込み保持する。続いてＴＣＫ入力コネクタピン８９８とＴＭＳ入力コネクタピン８９９にシリアル信号を入力して、第一のＬＳＩ８００と第二のＬＳＩ８５０をバウンダリスキャンのシフトモードにする。続いてＴＣＫ入力コネクタピン８９８とＴＤＩ入力コネクタピン８９６にシリアル信号を入力し、ＴＤＯ出力コネクタピン８９７から、第二のＬＳＩ８５０の第三のバウンダリスキャンセル８７２が前記キャプチャ時に保持した値と、第一のＬＳＩ８００の第三のバウンダリスキャンセル８２２が前記キャプチャ時に保持した値が順次出力されるので、バウンダリスキャンキャプチャデータとして観測する。バウンダリスキャンドライブデータとバウンダリスキャンキャプチャデータを比較することにより、第一のＬＳＩ８００と第二のＬＳＩ８５０の接続関係を判定できるので、ＬＳＩユーザはプリント基板上のＬＳＩの実装検査を行うことができる。
【００１９】
バウンダリスキャンドライブデータの設定とバウンダリスキャンキャプチャデータの観測は、通常複数回行われる。例えばバウンダリスキャンドライブデータにより、第一のＬＳＩ８００のメイン出力端子８１１をＨレベルに設定し、第二のＬＳＩ８５０のメイン出力端子８６１をＬレベルに設定し、バウンダリスキャンキャプチャデータで第二のＬＳＩ８５０のメイン入力端子８７１がＨレベルであると観測し、続いてバウンダリスキャンドライブデータにより、第一のＬＳＩ８００のメイン出力端子８１１をＬレベルに設定し、第二のＬＳＩ８５０のメイン出力端子８６１をＨレベルに設定し、バウンダリスキャンキャプチャデータで第二のＬＳＩ８５０のメイン入力端子８７１がＬレベルであると観測した場合には、第一のＬＳＩ８００のメイン出力端子８１１と第二のＬＳＩ８５０のメイン出力端子８６１とは第三のプリントパタン８９５で正常に接続されていることが高い確率で保証できる。また例えば、バウンダリスキャンドライブデータにより、第一のＬＳＩ８００のメイン出力端子８１１をＨレベルに設定し、第二のＬＳＩ８５０のメイン出力端子８６１をＬレベルに設定し、バウンダリスキャンキャプチャデータで第二のＬＳＩ８５０のメイン入力端子８７１がＨレベルであると観測し、続いてバウンダリスキャンドライブデータにより、第一のＬＳＩ８００のメイン出力端子８１１をＬレベルに設定し、第二のＬＳＩ８５０のメイン出力端子８６１をＨレベルに設定し、バウンダリスキャンキャプチャデータで第二のＬＳＩ８５０のメイン入力端子８７１がＨレベルであると観測した場合には、第一のＬＳＩ８００のメイン出力端子８１１と第二のＬＳＩ８５０のメイン入力端子８７１間の第三のプリントパタン８９５による接続が正常でないことが検出できる。
【００２０】
このためバウンダリスキャンテスト実行中は、ＬＳＩの入力端子のレベルが時系列で変化することになる。
【００２１】
【発明が解決しようとする課題】
ところで、上述した従来のバウンダリスキャンテスト機能を備えたＬＳＩがＬＳＩユーザに非公開なテストモードを備えており、端子数削減のため、テストモードに移行する制御を通常入力端子へのシリアル入力により行うように構成されている場合には、バウンダリスキャンテスト時の入力端子への入力レベルの時系列がテストモードを設定するシリアルパタンの時系列と同一であると、テストモードになるため好ましくない。
【００２２】
例えば、従来のバウンダリスキャンテスト機能を備えたＬＳＩが、上記のテストモードの一つとしてＬＳＩ製造時に端子機能を確認する端子ＤＣ検査モードを備えており、入力端子へのシリアル入力により端子ＤＣ検査モードになるように構成されている場合には、バウンダリスキャンテスト時の入力端子への入力レベルの時系列が端子ＤＣ検査モードを設定するシリアルパタンの時系列と同一であると、ＴＤＯ端子や通常出力端子がＨレベルやＬレベルに固定されてしまう。そのため、バウンダリスキャンセルにキャプチャされた値をＴＤＯ端子からスキャンアウトできず、またバウンダリスキャンセルに設定した値を通常出力端子に反映できなくなるため、正常にバウンダリスキャンテストを行えない問題が生じる。ここで端子ＤＣ検査モードとは、ＬＳＩの全出力端子をＨレベルに駆動するか、Ｌレベルに駆動するか、または駆動しないことにより、出力端子のＤＣ出力レベルを検査するモードであり、テスト仕様は通常はＬＳＩユーザに非公開である。
【００２３】
一方、上述の構成のＬＳＩについてバウンダリスキャンテストを正常に行うには、端子ＤＣ検査モードになるシリアルパタンの時系列を入力端子のバウンダリスキャン時の時系列のパタンから排除すればよいが、上述したようにテスト仕様はＬＳＩユーザに非公開のため、ＬＳＩユーザでパタンを排除することができず、採用できない。
【００２４】
また、上述した従来のバウンダリスキャンテスト機能を備えたＬＳＩが、入力端子に入力禁止制御機能を持ち、メインリセット中に入力禁止になるよう構成されている場合には、バウンダリスキャンテストパタンによりメインリセットがかかると、入力端子に接続されたバウンダリスキャンセルはプリントパタンのレベルを取り込むことができず、正常にバウンダリスキャンテストが行えない問題が生じる。
【００２５】
さらに、上述した従来のバウンダリスキャンテスト機能を備えたＬＳＩが、フラッシュメモリのように書き換え可能な不揮発メモリとＣＰＵのような命令実行回路を備え、ＬＳＩ外部から命令を供給しＣＰＵで実行することによりフラッシュメモリのデータ書き換えやデータ消去を行うよう構成されている場合には、バウンダリスキャンテスト時の入力端子への入力パタンの時系列がフラッシュメモリの書き換え命令や消去命令の時系列と同一であると、フラッシュメモリのデータを破壊する問題が生じる。このフラッシュメモリのデータ破壊を防ぐには、バウンダリスキャンテストパタンからフラッシュメモリの書き換え命令や消去命令の時系列と同一のパタンを排除すればよいが、通常バウンダリスキャンテストパタンを生成する際に特定の長大なパタンを排除することは困難であり、ＬＳＩユーザにとってバウンダリスキャンテストパタン作成時の負担が大きくなるので好ましくない。
【００２６】
本発明は上記の事情に鑑み、ＬＳＩのバウンダリスキャンテストによる実装検査において、どのようなバウンダリスキャンテストパターンを入力しても支障なくバウンダリスキャンテストが可能なＬＳＩを提供することを目的とする。
【００２７】
【課題を解決するための手段】
上記課題を解決するため、本発明の半導体装置は、第１の入力信号と第２の入力信号とクロック信号とが入力され、第１のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して前記第１の入力信号を内部に取り込み保持し、第２のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して内部に保持する値を第２の出力信号として出力するとともに前記第２の入力信号を内部に取り込み保持するバウンダリスキャン手段であって、前記各バウンダリスキャン手段の前記第２の出力信号が隣接する前記各バウンダリスキャン手段の前記第２の入力信号となるように接続されたＮ（Ｎは自然数）個のバウンダリスキャン手段と、前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号をデコードして第１の出力制御信号を生成する出力制御手段と、前記第１の出力制御信号を第２の出力制御信号によりマスクするマスク手段と、前記Ｎ個のバウンダリスキャン手段のうちの所定のバウンダリスキャン手段の前記第１の出力信号を前記マスク手段の出力により出力制御する出力手段とを備える。
【００２８】
本発明の半導体装置は、以下の構成とすることもできる。すなわち、上記構成と同様のＮ（Ｎは自然数）個のバウンダリスキャン手段と、前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号をデコードして多ビットの第１の出力制御信号を生成する第１の出力制御手段と、前記多ビットの第１の出力制御信号のうち少なくとも１ビットを、第２の出力制御信号によりマスクするマスク手段と、前記多ビットの第１の出力制御信号と前記マスク手段の出力とをデコードし、第３の出力制御信号を生成する第２の出力制御手段と、前記Ｎ個のバウンダリスキャン手段のうちの所定のバウンダリスキャン手段の前記第１の出力信号を前記第３の出力制御信号により出力制御する出力手段とを備える。
【００２９】
また、本発明の半導体装置は、以下の構成とすることもできる。すなわち、上記構成と同様のＮ（Ｎは自然数）個のバウンダリスキャン手段と、前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号のうち少なくとも１つを第１の出力制御信号によりマスクするマスク手段と、前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号のうちＬ個（ＬはＭ以下の自然数）と前記マスク手段の出力とをデコードして第２の出力制御信号を生成する出力制御手段と、前記Ｎ個のバウンダリスキャン手段のうち所定のバウンダリスキャン手段の前記第１の出力信号を前記第２の出力制御信号により出力制御する出力手段とを備える。
【００３０】
また、本発明の半導体装置は、以下の構成とすることもできる。すなわち、第１の入力信号と第２の入力信号とが入力され、前記第２の入力信号により前記第１の入力信号のフローティング入力を禁止し前記第１の入力信号を出力信号として出力するＪ（Ｊは自然数）個の入力制御手段と、直接または前記入力制御手段を介して入力される前記第１の入力信号、第３の入力信号、およびクロック信号が入力され、第１のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して前記入力制御手段の出力信号を内部に取り込み保持し、第２のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して内部に保持する値を第２の出力信号として出力するとともに前記第３の入力信号を内部に取り込み保持するバウンダリスキャン手段であって、前記各バウンダリスキャン手段の前記第２の出力信号が隣接する前記各バウンダリスキャン手段の前記第３の入力信号となるように接続されたＮ（ＮはＪ以上の自然数）個のバウンダリスキャン手段と、前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号のうち少なくとも１つが入力され、第１の出力制御信号を生成するＬ（ＬはＮ以下の自然数）個の出力制御手段と、前記Ｌ個の出力制御手段がそれぞれ出力する前記第１の出力制御信号のうち少なくとも１つを第２の出力制御信号によりマスクするＫ（ＫはＬ以下かつＪ以下の自然数）個のマスク手段とを備える。前記入力制御手段の一部に対する前記第２の入力信号として前記マスク手段の出力が入力され、前記マスク手段の出力が入力されない前記入力制御手段に対する前記第２の入力信号として、前記第１の出力制御信号が入力される。
【００３１】
また、本発明の半導体装置は、以下の構成とすることもできる。すなわち、第１の入力信号と第２の入力信号とが入力され、前記第２の入力信号により前記第１の入力信号のフローティング入力を禁止し前記第１の入力信号を出力信号として出力するＮ（Ｎは自然数）個の入力制御手段と、直接または前記入力制御手段を介して入力される前記第１の入力信号、第３の入力信号、およびクロック信号が入力され、第１のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して前記入力制御手段の出力信号を内部に取り込み保持し、第２のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して内部に保持する値を第２の出力信号として出力するとともに前記第３の入力信号を内部に取り込み保持するバウンダリスキャン手段であって、前記各バウンダリスキャン手段の前記第２の出力信号が隣接する前記各バウンダリスキャン手段の前記第３の入力信号となるように接続されたＮ（Ｎは自然数）個のバウンダリスキャン手段と、前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号のうち少なくとも１つが入力され、その入力信号に応じて状態が設定されその状態を保持するとともに前記入力制御手段の前記第２の入力信号として供給し、第１の出力制御信号により前記保持状態を無効にするＬ（ＬはＮ以下の自然数）個の状態保持手段とを備える。
【００３２】
また、本発明の半導体装置は、以下の構成とすることもできる。すなわち、第１の入力信号と第２の入力信号とクロック信号とが入力され、第１のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して前記第１の入力信号を内部に取り込み保持し、第２のモードの時には前記第１の入力信号を第１の出力信号として出力し前記クロック信号と同期して内部に保持する値を第２の出力信号として出力するとともに前記第２の入力信号を内部に取り込み保持するバウンダリスキャン手段であって、前記各バウンダリスキャン手段の前記第２の出力信号が隣接する前記各バウンダリスキャン手段の前記第２の入力信号となるように接続されたＮ（Ｎは自然数）個のバウンダリスキャン手段と、データを格納するデータ格納手段と、前記Ｎ個のバウンダリスキャン手段に含まれるＭ（ＭはＮ以下の自然数）個の各バウンダリスキャン手段の前記第１の出力信号により前記データ格納手段のデータ書き換えを制御し、第１の出力制御信号によりデータ書き換え制御を無効にするデータ書き換え制御手段とを備える。
【００３３】
【発明の実施の形態】
以下、本発明の実施の形態について、図１〜図７を用いて説明する。
【００３４】
（実施の形態１）
図１は、本発明の実施の形態１における、バウンダリスキャンテスト機能を備えたＬＳＩの構成を示すブロック図である。図２は本実施の形態におけるＬＳＩのモードを示す。はじめに図２を参照して本実施の形態におけるＬＳＩのモードについて説明する。
【００３５】
メインリセット状態２０１は、後述する図１に示すメインリセット入力端子１１１にＬレベルを入力することにより設定される。メインリセット状態２０１では、バウンダリスキャンテストの実行が可能であり、メインリセット入力端子１１１、モード選択データ兼メイン入力端子１２１（図１参照。後述）、及びモード選択クロック兼メイン入力端子１３１（図１参照。後述）に入力される信号レベルの組み合わせにより、ユーザモード２０２かＤＣテストセレクトモード２０３に遷移する。
【００３６】
ユーザモード２０２へは、メインリセット状態２０２において、モード選択データ兼メイン入力端子１２１、またはモード選択クロック兼メイン入力端子１３１のいずれか、もしくは両方をＬレベルにし、メインリセット入力端子１１１をＨレベルにすることにより遷移する。ユーザモード２０２では、ＬＳＩのメイン機能を実行できる。ユーザモード２０２からは、メインリセット入力端子１１１をＬレベルにすることでメインリセット状態２０１に遷移する。
【００３７】
ＤＣテストセレクトモード２０３へは、メインリセット状態２０２において、モード選択データ兼メイン入力端子１２１及びモード選択クロック兼メイン入力端子１３１の両方をＨレベルにし、メインリセット入力端子１１１をＨレベルにすることにより遷移する。ＤＣテストセレクトモード２０３からは、メインリセット入力端子１１１をＬレベルにすることでメインリセット状態２０１に遷移する。
【００３８】
２０７はＤＣテストモードであり、ＬＳＩの端子ＤＣ検査を行うＤＣ＿Ｈテストモード２０４と、ＤＣ＿Ｌテストモード２０５と、ＤＣ＿ＨＩＺテストモード２０６をまとめてＤＣテストモード２０７と呼ぶ。
【００３９】
ＤＣ＿Ｈテストモード２０４へは、ＤＣテストセレクトモード２０３において、モード選択データ兼メイン入力端子１２１とモード選択クロック兼メイン入力端子１３１にシリアルパタンを入力し、第三のＦＦ出力信号線Ｓ１５６（図１参照。後述）がＨレベルになり、第二のＦＦ出力信号線Ｓ１５５（図１参照。後述）がＨレベルになり、第一のＦＦ出力信号線Ｓ１５４（図１参照。後述）がＨレベルになることにより遷移する。ＤＣ＿Ｈテストモード２０４では、ＬＳＩの端子ＤＣ検査のためＬＳＩのすべての出力端子をＨレベルに駆動するよう制御する。ＤＣ＿Ｈテストモード２０４からは、メインリセット入力端子１１１をＬレベルにすることにより、メインリセット状態２０１に遷移する。
【００４０】
ＤＣ＿Ｌテストモード２０５へは、ＤＣテストセレクトモード２０３において、モード選択データ兼メイン入力端子１２１とモード選択クロック兼メイン入力端子１３１にシリアルパタンを入力し、第三のＦＦ出力信号線Ｓ１５６がＨレベルになり、第二のＦＦ出力信号線Ｓ１５５がＨレベルになり、第一のＦＦ出力信号線Ｓ１５４がＬレベルになることにより遷移する。ＤＣ＿Ｌテストモード２０５では、ＬＳＩの端子ＤＣ検査のためＬＳＩのすべての出力端子をＬレベルに駆動するよう制御する。ＤＣ＿Ｌテストモード２０５からは、メインリセット入力端子１１１をＬレベルにすることにより、メインリセット状態２０１に遷移する。
【００４１】
ＤＣ＿ＨＩＺテストモード２０６へは、ＤＣテストセレクトモード２０３において、モード選択データ兼メイン入力端子１２１とモード選択クロック兼メイン入力端子１３１にシリアルパタンを入力し、第三のＦＦ出力信号線Ｓ１５６がＨレベルになり、第二のＦＦ出力信号線Ｓ１５５がＬレベルになることにより遷移する。ＤＣ＿ＨＩＺテストモード２０６では、ＬＳＩの端子ＤＣ検査のためＬＳＩのすべての出力端子を駆動しないよう制御する。ＤＣ＿ＨＩＺテストモード２０６からは、メインリセット入力端子１１１をＬレベルにすることにより、メインリセット状態２０１に遷移する。
【００４２】
以上の各モード間を遷移するための遷移条件２１１〜２３３が、図２の下部の表に示される。
【００４３】
次に図１を参照して、本実施の形態におけるＬＳＩの構成と動作を説明する。
【００４４】
１０１はＴＣＫ端子であり、バウンダリスキャンテスト動作用のクロック信号が入力され、ＴＣＫ信号線Ｓ１０１を通じてＴＡＰコントローラ１０４へ供給される。１０２はＴＭＳ端子であり、バウンダリスキャンテストのモードセレクト信号が入力され、ＴＭＳ信号線Ｓ１０２を通じてＴＡＰコントローラ１０４へ供給される。１０３はＴＤＩ端子であり、バウンダリスキャンテストのテストデータが入力され、ＴＤＩ信号線Ｓ１０３を通じてＴＡＰコントローラ１０４へ供給される。
【００４５】
ＴＡＰコントローラ１０４は、ＴＭＳ端子１０２へシリアル入力されるモードセレクト信号により内部ステートを遷移し、内部ステートに応じてバウンダリスキャンリセットモード、キャプチャモード、シフトモード、またはアップデートモードのいずれかを選択し、各々のモードに応じた制御信号をバウンダリスキャンセル制御信号線Ｓ１０５に出力する。シフトモードの場合には、ＴＤＩ端子１０３へのシリアル入力をバウンダリスキャンデータ信号線Ｓ１０４に伝達し、ＴＤＯドライブ制御信号線Ｓ１０６にＨレベルを出力し、シフトモードでない場合には、ＴＤＩ端子１０３へのシリアル入力をバウンダリスキャンデータ信号線Ｓ１０４に伝達せず、ＴＤＯドライブ制御信号線Ｓ１０６にＬレベルを出力することによりバウンダリスキャンテストを制御する。さらにバウンダリスキャンリセットモードの場合には、バウンダリスキャン実行報知信号線Ｓ１０７にＬレベルを出力し、バウンダリスキャンリセットモードでない場合には、バウンダリスキャン実行報知信号線Ｓ１０７をＨレベルにする。
【００４６】
メインリセット入力端子１１１には、メインリセット信号が入力される。入力されたメインリセット信号は、第一の入力信号線Ｓ１１１を通じ第一のバウンダリスキャンセル１１２に供給される。
【００４７】
第一のバウンダリスキャンセル１１２は、第一の入力信号線Ｓ１１１を通じて伝達されるメインリセット信号レベルを、常に第一のバウンダリスキャンセル出力信号線Ｓ１１２に出力する。また、バウンダリスキャンセル制御信号線Ｓ１０５によりバウンダリスキャンテストのキャプチャモードに制御される場合には、第一の入力信号線Ｓ１１１のレベルを内部に取り込み保持する。バウンダリスキャンセル制御信号線Ｓ１０５によりバウンダリスキャンテストのシフトモードに制御される場合には、内部に保持した値を第一のバウンダリスキャンアウト出力信号線Ｓ１１３に出力するとともに、バウンダリスキャンデータ信号線Ｓ１０４のレベルを内部に取り込み保持するよう動作する。
【００４８】
モード選択データ兼メイン入力端子１２１には、モード選択データとメイン入力信号が入力される。入力されたモード選択データとメイン入力信号は、モード選択データ兼メイン入力信号線Ｓ１２１を通じて第二のバウンダリスキャンセル１２２に供給される。
【００４９】
第二のバウンダリスキャンセル１２２は、第一のバウンダリスキャンセル１１２と同様に動作する。但し、第二のバウンダリスキャンセル出力信号線Ｓ１２２に出力されるモード選択データとメイン入力信号は、モード制御回路１５０とメインロジック１６１へそれぞれ供給される。
【００５０】
モード選択クロック兼メイン入力端子１３１には、モード選択クロックとメイン入力信号が入力される。入力されたモード選択クロックとメイン入力信号は、モード選択クロック入力信号線Ｓ１３１を通じて第三のバウンダリスキャンセル１３２に供給される。
【００５１】
第三のバウンダリスキャンセル１３２は、第一のバウンダリスキャンセル１１２と同様に動作する。但し、第三のバウンダリスキャンセル出力信号線Ｓ１３２に出力されるモード選択クロックとメイン入力信号は、モード制御回路１５０とメインロジック１６１へそれぞれ供給される。
【００５２】
１４０はＴＤＯ出力制御回路であり、ＤＣテスト許可信号線Ｓ１７１がＬレベルの場合には、第三のバウンダリスキャンアウト出力信号線Ｓ１３３とＴＤＯドライブ制御信号線Ｓ１０６とが伝達する信号によりＴＤＯ端子１４４にバウンダリスキャンデータを出力し、ＤＣテスト許可信号線Ｓ１７１がＨレベルの場合には、ＤＣテストドライブ信号線Ｓ１７２とＤＣテストレベル信号線Ｓ１７３とが伝達する信号により、ＴＤＯ端子１４４の端子ＤＣ検査を行なうよう動作する。
【００５３】
１４１はＴＤＯ出力レベルセレクタであり、ＤＣテスト許可信号線Ｓ１７１がＬレベルの場合には、第三のバウンダリスキャンアウト出力信号線Ｓ１３３のレベルをＴＤＯ出力レベル信号線Ｓ１４１に出力し、ＤＣテスト許可信号線Ｓ１７１がＨレベルの場合には、ＤＣテストレベル信号線Ｓ１７３のレベルをＴＤＯ出力レベル信号線Ｓ１４１に出力する。
【００５４】
１４２はＴＤＯ出力ドライブセレクタであり、ＤＣテスト許可信号線Ｓ１７１がＬレベルの場合には、ＴＤＯドライブ制御信号線Ｓ１０６のレベルをＴＤＯ出力ドライブ信号線Ｓ１４２に出力し、ＤＣテスト許可信号線Ｓ１７１がＨレベルの場合には、ＤＣテストドライブ信号線Ｓ１７２のレベルをＴＤＯ出力ドライブ信号線Ｓ１４２に出力する。
【００５５】
１４３はＴＤＯトライステートバッファであり、ＴＤＯ出力ドライブ信号線Ｓ１４２がＬレベルの場合にはＴＤＯトライステート出力信号線Ｓ１４３をドライブせず、ＴＤＯ出力ドライブ信号線Ｓ１４２がＨレベルの場合には、ＴＤＯ出力レベル信号線Ｓ１４１のレベルをＴＤＯトライステート出力信号線Ｓ１４３に出力する。
【００５６】
ＴＤＯ端子１４４は、バウンダリスキャンテストデータを出力する。
【００５７】
モード制御回路１５０は、ＬＳＩのモードを判定し、メインリセット状態２０１（図２を参照）の場合にはメインロジックをリセットする。ユーザモード２０２の場合には、メインロジックのリセットを解除する。ＤＣテストセレクトモード２０３であって、かつバウンダリスキャン実行報知信号線Ｓ１０７がＬレベルの場合には、モード選択データ兼メイン入力端子１２１とモード選択クロック兼メイン入力端子１３１に入力されるシリアルパタンに応じて、ＤＣ＿Ｈテストモード２０４、ＤＣ＿Ｌテストモード２０５、またはＤＣ＿ＨＩＺテストモード２０６を選択し、出力端子を端子ＤＣ検査モードに制御する。ＤＣテストセレクトモード２０３であって、かつバウンダリスキャン実行報知信号線Ｓ１０７がＨレベルである場合には、ＤＣテストモード２０７に遷移せずＤＣテストセレクトモード２０３を保持する。
【００５８】
１５１はモードデコーダであり、以下のように動作する。
【００５９】
メインリセット入力端子１１１の入力がＬレベルの場合には、メインリセット状態２０１と判断して、メインロジックリセット信号線Ｓ１５７をＨレベルに、ＤＣテストデコード信号線Ｓ１５８をＬレベルに、ＤＣテストモード選択完了信号線Ｓ１５１をＬレベルにする。
【００６０】
メインリセットが解除されたメインリセット解除時に、モード選択データ兼メイン入力端子１２１とモード選択クロック兼メイン入力端子１３１のいずれか、もしくは両方のレベルがＬレベルである場合には、ユーザモード２０２と判断し、メインリセット解除時に、モード選択データ兼メイン入力端子１２１とモード選択クロック兼メイン入力端子１３１のレベルが共にＨレベルである場合には、ＤＣテストセレクトモード２０３と判断する。
【００６１】
ユーザモード２０２である場合には、ＤＣテストモード選択完了信号線Ｓ１５１をＨレベルに、ＤＣテストデコード信号線Ｓ１５８をＬレベルに、メインロジックリセット信号線Ｓ１５７をＬレベルにする。
【００６２】
ＤＣテストセレクトモード２０３であって、第三のＦＦ出力信号線Ｓ１５６がＬレベルである場合には、ＤＣテストデコード信号線Ｓ１５８にＬレベルを出力する。
【００６３】
ＤＣテストセレクトモード２０３であって、第三のＦＦ出力信号線Ｓ１５６がＨレベルに遷移し、かつ第二のＦＦ出力信号線Ｓ１５５がＬレベルである場合には、ＤＣ＿ＨＩＺテストモード２０６であるため、ＤＣテストデコード信号線Ｓ１５８にＨレベルを出力し、ＤＣテストドライブ信号線Ｓ１７２にＬレベルを出力し、ＤＣテストモード選択完了信号線Ｓ１５１にＨレベルを出力する。
【００６４】
ＤＣテストセレクトモード２０３であって、第三のＦＦ出力信号線Ｓ１５６がＨレベルに遷移し、かつ第二のＦＦ出力信号線Ｓ１５５がＨレベルであり、かつ第一のＦＦ出力信号線Ｓ１５４がＨレベルである場合には、ＤＣ＿Ｈテストモード２０４であるため、ＤＣテストデコード信号線Ｓ１５８にＨレベルを出力し、ＤＣテストドライブ信号線Ｓ１７２にＨレベルを出力し、ＤＣテストレベル信号線Ｓ１７３にＨレベルを出力し、ＤＣテストモード選択完了信号線Ｓ１５１にＨレベルを出力する。
【００６５】
ＤＣテストセレクトモード２０３であって、第三のＦＦ出力信号線Ｓ１５６がＨレベルに遷移し、かつ第二のＦＦ出力信号線Ｓ１５５がＨレベルであり、かつ第一のＦＦ出力信号線Ｓ１５４がＬレベルである場合には、ＤＣ＿Ｌテストモード２０５であるため、ＤＣテストデコード信号線Ｓ１５８にＨレベルを出力し、ＤＣテストドライブ信号線Ｓ１７２にＨレベルを出力し、ＤＣテストレベル信号線Ｓ１７３にＬレベルを出力し、ＤＣテストモード選択完了信号線Ｓ１５１にＨレベルを出力する。
【００６６】
１５２はＤＣテスト選択データマスク回路であり、ＤＣテストモード選択完了信号線Ｓ１５１がＬレベルの場合には、モード選択データ兼メイン入力端子１２１の入力信号をＤＣテストモード選択データ信号線Ｓ１５２に伝達し、ＤＣテストモード選択完了信号線Ｓ１５１がＨレベルの場合には、ＤＣテストモード選択データ信号線Ｓ１５２にＨレベルを出力する。
【００６７】
１５３はＤＣテスト選択クロックマスク回路であり、ＤＣテストモード選択完了信号線Ｓ１５１がＬレベルの場合には、モード選択クロック兼メイン入力端子１３１の入力信号をＤＣテストモード選択クロック信号線Ｓ１５３に伝達し、ＤＣテストモード選択完了信号線Ｓ１５１がＨレベルの場合には、ＤＣテストモード選択クロック信号線Ｓ１５３にＨレベルを出力する。
【００６８】
１５４は第一のフリップフロップであり、メインリセット入力端子１１１のＬレベル入力によりリセットされ、ＤＣテストモード選択クロック信号線Ｓ１５３のクロック信号の立ち上がりエッジでＤＣテストモード選択データ信号線Ｓ１５２のレベルを取り込み内部に保持し、保持した値を第一のＦＦ出力信号線Ｓ１５４に出力する。１５５は第二のフリップフロップであり、第一のフリップフロップ１５４と同様に動作する。１５６は第三のフリップフロップであり、第一のフリップフロップ１５４と同様に動作する。
【００６９】
１５７はＤＣテストデコードマスク回路であり、バウンダリスキャン実行報知信号線Ｓ１０７がＬレベルの場合には、ＤＣテストデコード信号線Ｓ１５８のレベルをＤＣテスト許可信号線Ｓ１７１に伝達し、バウンダリスキャン実行報知信号線Ｓ１０７がＨレベルの場合には、ＤＣテスト許可信号線Ｓ１７１にＬレベルを出力する。
【００７０】
１６１はメインロジックであり、メインロジックリセット信号線Ｓ１５７がＬレベルの場合はリセットされ動作を停止し、メインロジックリセット信号線Ｓ１５７がＨレベルの場合は、モード選択データ兼メイン入力端子１２１の入力信号とモード選択クロック兼メイン入力端子１３１の入力信号を入力し、ＬＳＩのメイン機能を実行する。
【００７１】
以上のように実施の形態１のＬＳＩでは、バウンダリスキャン非実行時には、モードデコーダ１５１のデコード結果とＤＣテストデコードマスク回路１５７の出力からＤＣテスト許可信号線Ｓ１７１を制御し、バウンダリスキャンテスト実行時には、ＤＣテスト許可信号線Ｓ１７１がＬレベルを保持するよう構成されている。従って、バウンダリスキャン非実行時には端子ＤＣ検査を行なうことが可能である。バウンダリスキャン実行時には、ＤＣテストデコードマスク回路１５７の出力によりＤＣテスト許可信号線Ｓ１７１がＬレベルに固定されるので、バウンダリスキャンテストのためにプリントパタンからメインリセット入力端子１１１、モード選択データ兼メイン入力端子１２１、及びモード選択クロック兼メイン入力端子１３１に入力されるレベルの時系列がいかなるパタンであっても、メインリセット状態２０１か、ユーザモード２０２か、あるいはＤＣテストセレクトモード２０３のいずれかのモードになる。従って、ＴＤＯ端子１４４がＤＣテストにならず、通常出力端子としての所定の動作を行なうことが可能となり、バウンダリスキャンテストが正常に実行可能である。
【００７２】
なお、上記の実施の形態は、バウンダリスキャンセルがＮ（Ｎは自然数）個の場合も同様に構成できる。モード制御回路１５０への入力は、Ｎ個のバウンダリスキャンセルからＭ（ＭはＮ以下の自然数）個を選択してその出力を用いる構成とすればよい。
【００７３】
（変形例１）
図３は、実施の形態１におけるＬＳＩを少し変更した変形例１であって、バウンダリスキャンテスト機能を備えたＬＳＩの構成を示すブロック図である。このＬＳＩにおける変更点は、モード制御回路３５０において、図１におけるＤＣテストデコードマスク回路１５７に代えてデコード入力マスク回路３５７を備えていることである。
【００７４】
モード制御回路３５０は、ＬＳＩのモードを判定し、メインリセット状態２０１の場合には、内部リセットを保持する。ユーザモード２０２の場合には、内部リセットを解除する。ＤＣテストセレクトモード２０３であって、バウンダリスキャン実行報知信号線Ｓ３０７がＬレベルの場合には、モード選択データ兼メイン入力端子１２１とモード選択クロック兼メイン入力端子１３１に入力されるシリアルパタンに応じて、ＤＣ＿Ｈテストモード２０４か、ＤＣ＿Ｌテストモード２０５か、ＤＣ＿ＨＩＺテストモード２０６かを判定し、出力端子を端子ＤＣ検査モードにする。ＤＣテストセレクトモード２０３であって、バウンダリスキャン実行報知信号線Ｓ３０７がＨレベルである場合には、ＤＣテストモード２０７に遷移せずＤＣテストセレクトモード２０３を保持する。
【００７５】
デコード入力マスク回路３５７は、バウンダリスキャン実行報知信号線Ｓ３０７がＬレベルの場合には、第三のＦＦ出力信号線Ｓ１５６のレベルをマスクトＦＦ出力信号線Ｓ３５８を介してモードデコーダ１５１に伝達する。バウンダリスキャン実行報知信号線Ｓ３０７がＨレベルの場合には、ＬレベルをマスクトＦＦ出力信号線Ｓ３５８を介してモードデコーダ１５１に出力する。
【００７６】
その他の構成は、図１の実施の形態の構成と同様である。
【００７７】
以上のように変形例１のＬＳＩでは、バウンダリスキャン非実行時には、マスクトＦＦ出力信号線Ｓ３５８が第三のＦＦ出力信号線Ｓ１５６のレベルを伝達し、バウンダリスキャンテスト実行時には、マスクトＦＦ出力信号線Ｓ３５８がＬレベルを保持するよう構成されている。従って、バウンダリスキャン非実行時には端子ＤＣ検査を行なうことが可能である。バウンダリスキャン実行時には、バウンダリスキャンテストのためにプリントパタンからメインリセット入力端子１１１、モード選択データ兼メイン入力端子１２１、及びモード選択クロック兼メイン入力端子１３１に入力されるレベルの時系列がいかなるパタンであっても、メインリセット状態２０１か、ユーザモード２０２か、ＤＣテストセレクトモード２０３のいずれかのモードになる。従って、ＴＤＯ端子１４４がＤＣテストにならず、通常出力端子としての所定の動作を行なうことが可能となり、バウンダリスキャンテストが正常に実行可能である。
【００７８】
なお、この変形例１において、第三のフリップフロップ１５６の出力のみでなく、複数個のフリップフロップの出力をマスクする構成とすることもできる。
【００７９】
（変形例２）
図４は、実施の形態１におけるＬＳＩを少し変更した変形例２であって、バウンダリスキャンテスト機能を備えたＬＳＩの構成を示すブロック図である。このＬＳＩにおける変更点は、モード制御回路４５０において、図１におけるＤＣテストデコードマスク回路１５７に代えてＤＣテストモード選択完了マスク回路４５７を備えていることである。
【００８０】
モード制御回路４５０は、ＬＳＩのモードを判定し、メインリセット状態２０１の場合には内部リセットを保持する。ユーザモード２０２の場合には内部リセットを解除する。ＤＣテストセレクトモード２０３であって、バウンダリスキャン実行報知信号線Ｓ４０７がＬレベルの場合には、モード選択データ兼メイン入力端子１２１とモード選択クロック兼メイン入力端子１３１に入力されるシリアルパタンに応じて、ＤＣ＿Ｈテストモード２０４か、ＤＣ＿Ｌテストモード２０５か、ＤＣ＿ＨＩＺテストモード２０６かを判定し、出力端子を端子ＤＣ検査モードにする。ＤＣテストセレクトモード２０３であって、バウンダリスキャン実行報知信号線Ｓ４０７がＨレベルである場合には、ＤＣテストモード２０７に遷移せず、ＤＣテストセレクトモード２０３を保持する。
【００８１】
ＤＣテストモード選択完了マスク回路４５７は、バウンダリスキャン実行報知信号線Ｓ４０７がＬレベルの場合には、ＤＣテストモード選択完了マスク信号線Ｓ４５８をＬレベルにし、モード選択データ兼メイン入力端子１２１とモード選択クロック兼メイン入力端子１３１の入力をそれぞれ、ＤＣテストモード選択データ信号線Ｓ１５２とＤＣテストモード選択クロック信号線Ｓ１５３に伝達する。バウンダリスキャン実行報知信号線Ｓ４０７がＨレベルの場合には、ＤＣテストモード選択完了マスク信号線Ｓ４５８をＨレベルにし、ＤＣテストモード選択データ信号線Ｓ１５２とＤＣテストモード選択クロック信号線Ｓ１５３にＨレベルを出力する。
【００８２】
その他の構成は、実施の形態１の構成と同様である。
【００８３】
以上のように変形例２のＬＳＩでは、バウンダリスキャン非実行時にはＤＣテストモード選択完了マスク信号線Ｓ４５８がＬレベルを保持し、バウンダリスキャンテスト実行時にはＤＣテストモード選択完了マスク信号線Ｓ４５８がＨレベルを保持するよう構成されている。そのため、バウンダリスキャン非実行時には、第一のフリップフロップ１５４、第二のフリップフロップ１５５、及び第三のフリップフロップ１５６の内部データがシフトし、第三のＦＦ出力信号線Ｓ１５６がＨレベルを設定可能である。バウンダリスキャン実行時には、第一のフリップフロップ１５４、第二のフリップフロップ１５５、及び第三のフリップフロップ１５６の内部データがシフトせず、第三のＦＦ出力信号線Ｓ１５６がＬレベルを保持する。従って、バウンダリスキャン非実行時には端子ＤＣ検査を行なうことが可能である。また、バウンダリスキャン実行時には、バウンダリスキャンテストのためにプリントパタンからメインリセット入力端子１１１、モード選択データ兼メイン入力端子１２１、及びモード選択クロック兼メイン入力端子１３１に入力されるレベルの時系列がいかなるパタンであっても、メインリセット状態２０１か、ユーザモード２０２か、ＤＣテストセレクトモード２０３のいずれかのモードになる。その結果、ＴＤＯ端子１４４がＤＣテストにならず、通常出力端子としての所定の動作を行なうことが可能となり、バウンダリスキャンテストが正常に実行可能である。
【００８４】
また、以上の説明においては、モード制御回路にシリアルデータを入力することで端子ＤＣ検査モードになるように構成した場合について示したが、一般のテストモードやＬＳＩユーザに非公開なＬＳＩモードになるよう構成する場合であっても、本発明の思想を同様に適用できる。またここではモード信号の入力を入力端子から行うよう構成したが、メインリセット解除後に入出力端子となるよう構成してもよい。またここでは入力端子のみで構成したが、出力端子や入出力端子があるよう構成してもよい。またここではモード制御回路にデータ長が３ｂｉｔのシリアルデータを入力するよう構成したが、１ｂｉｔ、２ｂｉｔ、または４ｂｉｔ以上のデータを入力するよう構成してもよい。またここではＴＡＰコントローラの入力が３入力である構成としたが、ＴＡＰコントローラを非同期にバウンダリスキャンリセットモードにするＴＲＳＴ入力を加え、４入力である構成としてもよい。またここではバウンダリスキャンセルを信号観測用のセルで構成したが、バウンダリスキャンセルで入出力信号を制御する構成としてもよい。
【００８５】
（実施の形態２）
図５は、本発明の実施の形態２におけるＬＳＩの構成を示すブロック図である。
【００８６】
５１１は第一のメイン入力端子であり、メインリセット信号が入力され、第一のメイン入力信号線Ｓ５１１を通じて第一のバウンダリスキャンセル５１２に供給される。
【００８７】
第一のバウンダリスキャンセル５１２には、第一のメイン入力信号線５１１を通じて伝達されるメインリセット信号と、バウンダリスキャンデータ信号線Ｓ１０４を通じて伝達されるバウンダリスキャンデータが入力される。そして第一のバウンダリスキャンセル５１２は、第一のメイン入力信号線Ｓ５１１のレベルを常に第一のバウンダリスキャンセル出力信号線Ｓ５１２に出力し、バウンダリスキャンセル制御信号線Ｓ１０５により伝達されるバウンダリスキャンテストのキャプチャ時には、第一のメイン入力信号線Ｓ５１１のレベルを取り込み内部に保持し、バウンダリスキャンセル制御信号線Ｓ１０５により伝達されるバウンダリスキャンテストのデータシフト時には、内部に保持した値を第一のバウンダリスキャンアウト出力信号線Ｓ５１３にシフトアウトし、バウンダリスキャンデータ信号線Ｓ１０４のレベルを取り込み内部に保持するよう動作する。
【００８８】
５２１は第二のメイン入力端子であり、入力制御回路５４１を介して、ＣＰＵ５５１への通常入力を行うために用いられる。５２２は入力許可制御回路であり、メイン入力禁止制御信号線Ｓ５２５のＨレベルにより、第二のメイン入力端子５２１に入力される信号を第二のバウンダリスキャンセル入力信号線Ｓ５２２に伝達し、メイン入力禁止制御信号線Ｓ５２５のＬレベルにより、第二のバウンダリスキャンセル入力信号線Ｓ５２２をＬレベルに固定する。
【００８９】
５２３は第二のバウンダリスキャンセルであり、第一のバウンダリスキャンセル５１２と同様に動作する。
【００９０】
５２４はバウンダリスキャン入力許可制御回路であり、バウンダリスキャン実行報知信号線Ｓ５０７がＬレベルの場合には、入力禁止制御フラグ出力信号線Ｓ５２６のレベルをメイン入力禁止制御信号線Ｓ５２５に出力し、バウンダリスキャン実行報知信号線Ｓ５０７がＨレベルの場合には、メイン入力禁止制御信号線Ｓ５２５をＨレベルに保持する。
【００９１】
入力制御回路５４１は、ＣＰＵ５５１の制御により第二のバウンダリスキャンセル出力信号線Ｓ５２４のレベルを読み取りＣＰＵ５５１に出力する。また、ＣＰＵ５５１の制御と第一のメイン入力端子５１１により入力されるメインリセット信号により、第二のメイン入力端子５２１を入力許可にするかまたは入力禁止にするかを決定し、ＣＰＵ５５１の制御により第二のメイン入力端子５２１の入力許可または入力禁止の設定値をＣＰＵ５５１に出力する。
【００９２】
５４２はレジスタであり、ＣＰＵ５５１がアドレスバスＳ５５１により出力するアドレスから入力データフラグ５４３または入力禁止制御フラグ５４４を選択し、書き込み制御信号線Ｓ５５３がＨレベルの場合には、ＣＰＵ５５１がデータバスＳ５５２により伝達するデータを選択したフラグに書き込み、制御信号線Ｓ５５４がＨレベルの場合には、選択したフラグの値をデータバスＳ５５２を介しＣＰＵ５５１に出力する。
【００９３】
入力データフラグ５４３は、第二のバウンダリスキャンセル出力信号線Ｓ５２４のレベルを反映する。入力禁止制御フラグ５４４は、第一のバウンダリスキャンセル出力信号線Ｓ５１２のＬレベルによりＬレベルが設定され、ＣＰＵ５５１の制御により値が設定され、設定された値を保持し、入力禁止制御フラグ出力信号線Ｓ５２６に保持する値を出力する。
【００９４】
ＣＰＵ５５１は、第一のメイン入力端子５１１がＬレベルの場合はリセットされ動作を停止し、第一のメイン入力信号線Ｓ５１１がＨレベルの場合は第二のメイン入力端子５２１の入力信号が入力され、ＬＳＩのメイン機能を実行する。
【００９５】
上記以外の構成は、図１に示した実施の形態１の構成と同様である。
【００９６】
以上のように構成されたＬＳＩでは、バウンダリスキャンテスト実行時には、メイン入力禁止制御信号線Ｓ５２５がＨレベルを保持することにより、入力禁止制御フラグ５４４の値によらずメイン入力禁止制御回路５２２が第二のメイン入力端子５２１を入力許可にする。従って、バウンダリスキャンテスト実行時には、第二のメイン入力端子５２１に入力されるバウンダリスキャンテストパタンを第二のバウンダリスキャンセル５２３に伝達することが可能となり、バウンダリスキャンテストが正常に実行可能である。
【００９７】
（変形例）
図６は、実施の形態２におけるＬＳＩの変形例であって、バウンダリスキャンテスト機能を備えたＬＳＩの構成を示すブロック図である。
【００９８】
６４１は入力制御回路であり、ＣＰＵ５５１の制御により第二のバウンダリスキャンセル出力信号線Ｓ５２４のレベルを読み取りＣＰＵ５５１に出力する。また、ＣＰＵ５５１の制御と、第一のメイン入力端子５１１により入力されるメインリセット信号と、バウンダリスキャン実行報知信号線Ｓ６０７のレベルに応じて、第二のメイン入力端子５２１を入力許可にするかまたは入力禁止にするかを決定し、ＣＰＵ５５１の制御とバウンダリスキャン実行報知信号線Ｓ６０７により設定される第二のメイン入力端子５２１の入力許可または入力禁止の設定値をＣＰＵ５５１に出力する。
【００９９】
６４２はレジスタであり、ＣＰＵ５５１がアドレスバスＳ５５１により出力するアドレスをデコードし、デコード結果から入力データフラグ５４３または入力禁止制御フラグ６４４を選択し、書き込み制御信号線Ｓ５５３がＨレベルの場合には、ＣＰＵ５５１がデータバスＳ５５２により伝達するデータを選択したフラグに書き込み、読み出し制御信号線Ｓ５５４がＨレベルの場合には選択したフラグの値をＣＰＵ５５１にデータバスＳ５５２により出力する。
【０１００】
入力禁止制御フラグ６４４は、第一のバウンダリスキャンセル出力信号線Ｓ５１２のＬレベルによりＬレベルが設定され、ＣＰＵ５５１により値が設定され、設定された値を保持し、バウンダリスキャン実行報知信号線Ｓ６０７のレベルにより、バウンダリスキャン実行時である場合にはＨレベルが設定され、バウンダリスキャン非実行時である場合にはバウンダリスキャン実行前の値を保持し、メイン入力禁止制御信号線Ｓ５２５に保持する値を出力する。
【０１０１】
上記以外の構成は、実施の形態２の構成と同様である。
【０１０２】
以上のように構成されたＬＳＩでは、バウンダリスキャンテスト実行時には、入力禁止制御フラグ６４４にＨレベルが設定されメイン入力禁止制御信号線Ｓ５２５がＨレベルを保持することにより、メイン入力禁止制御回路５２２が第二のメイン入力端子５２１を入力許可にするため、第二のメイン入力端子５２１に入力されるバウンダリスキャンテストパタンを第二のバウンダリスキャンセル５２３に伝達することが可能となり、バウンダリスキャンテストが正常に実行可能である。
【０１０３】
なお、ここでは入力禁止制御を持つ通常入力端子が１つである場合の構成について説明したが、通常入力端子が複数あるよう構成してもよい。またここでは入力端子のみで構成した場合について説明したが、出力端子や入出力端子があるよう構成してもよい。さらに入力禁止制御を持つ通常端子と入力禁止制御を持たない通常端子が混在していてもよい。またここではＴＡＰコントローラの入力が３入力である構成について説明したが、ＴＡＰコントローラを非同期にバウンダリスキャンリセットモードにするＴＲＳＴ入力を加え、４入力である構成としてもよい。またここではバウンダリスキャンセルを信号観測用のセルで構成したが、バウンダリスキャンセルで入出力信号を制御する構成としてもよい。
【０１０４】
（実施の形態３）
図７は、本発明の実施の形態３におけるＬＳＩの構成を示すブロック図である。
【０１０５】
７１１はアドレス出力端子であり、ＬＳＩ外部のメモリに配置された命令をＣＰＵ７４１が読み出す場合のアドレスを出力する。
【０１０６】
７１２はトライステートバッファであり、第一のバウンダリスキャンセル出力信号線Ｓ７１２と第二のバウンダリスキャンセル出力信号線Ｓ７１５を通じて信号が入力される。トライステートバッファ７１２は、第一のバウンダリスキャンセル出力信号線Ｓ７１２がＬレベルの場合にはアドレス出力端子７１１を駆動せず、第一のバウンダリスキャンセル出力信号線Ｓ７１２がＨレベルでかつ第二のバウンダリスキャンセル出力信号線Ｓ７１５がＨレベルの場合には、アドレス出力端子７１１をＨレベルに駆動し、第一のバウンダリスキャンセル出力信号線Ｓ７１２がＨレベルでかつ第二のバウンダリスキャンセル出力信号線Ｓ７１５がＬレベルの場合にはアドレス出力端子７１１をＬレベルに駆動する。
【０１０７】
７１３は第一のバウンダリスキャンセルであり、通常時には、ＣＰＵ７４１がアドレス出力ドライブ制御信号線Ｓ７１４を通じて出力するアドレス出力端子７１１のドライブ状態を、第一のバウンダリスキャンセル出力信号線Ｓ７１２に伝達する。バウンダリスキャンテストの信号キャプチャ時には、アドレス出力ドライブ制御信号線Ｓ７１４の値を取り込み内部に保持し、バウンダリスキャンテストのデータシフト時には、内部に保持したデータを第一のバウンダリスキャンアウト出力信号線Ｓ７１３にシフトアウトし、バウンダリスキャンデータ信号線Ｓ１０４のレベルを取り込み内部に保持し、バウンダリスキャンテストのアップデート時には、内部に保持したデータを第一のバウンダリスキャンセル出力信号線Ｓ７１２に出力してアドレス出力トライステートバッファ７１２の駆動状態を制御する。
【０１０８】
７１４は第二のバウンダリスキャンセルであり、通常時には、ＣＰＵ７４１がアドレス出力レベル制御信号線Ｓ７１７を通じて出力するアドレス出力端子７１１の出力レベルを、第二のバウンダリスキャンセル出力信号線Ｓ７１５に伝達する。バウンダリスキャンテストの信号キャプチャ時には、アドレス出力レベル制御信号線Ｓ７１７の値を取り込み内部に保持し、バウンダリスキャンテストのデータシフト時には、内部に保持したデータを第二のバウンダリスキャンアウト出力信号線Ｓ７１６にシフトアウトし、第一のバウンダリスキャンアウト出力信号線Ｓ７１３のレベルを取り込み内部に保持し、バウンダリスキャンテストのアップデート時には、内部に保持したデータを第二のバウンダリスキャンセル出力信号線Ｓ７１５に出力してアドレス出力トライステートバッファ７１２の出力レベルを制御する。
【０１０９】
７２１はデータ入力端子であり、ＣＰＵ７４１が実行するＬＳＩ外部に置かれた命令データが入力される。
【０１１０】
７２２は第三のバウンダリスキャンセルであり、第三のバウンダリスキャンセル出力信号線Ｓ７２２を通じてＣＰＵ７４１にデータ入力端子７２１のレベルを伝達し、バウンダリスキャンテストの信号キャプチャ時には、データ入力信号線Ｓ７２１の値を取り込み内部に保持し、バウンダリスキャンテストのデータシフト時には、内部に保持したデータを第三のバウンダリスキャンアウト出力信号線Ｓ７２３にシフトアウトし、第二のバウンダリスキャンアウト出力信号線Ｓ７１６のレベルを取り込み内部に保持する。
【０１１１】
７３１はメモリモード入力端子であり、ＣＰＵ７４１のブート時に、フラッシュメモリ７５２に格納された命令を実行するか、またはＬＳＩ外部に置かれた命令を実行するかを制御する。
【０１１２】
７３２は第四のバウンダリスキャンセルであり、第四のバウンダリスキャンセル出力信号線Ｓ７３２を通じてＣＰＵ７４１にメモリモード入力端子７３１のレベルを伝達し、バウンダリスキャンテストの信号キャプチャ時には、メモリモード入力信号線Ｓ７３１の値を取り込み内部に保持し、バウンダリスキャンテストのデータシフト時には、内部に保持したデータを第四のバウンダリスキャンアウト出力信号線Ｓ７３３にシフトアウトし、第三のバウンダリスキャンアウト出力信号線Ｓ７２３のレベルを取り込み内部に保持する。
【０１１３】
ＣＰＵ７４１は、メモリモード入力信号線Ｓ７３１がＬレベルの場合には、フラッシュメモリ７５２に格納された命令を取り込みブートし、メモリモード入力信号線Ｓ７３１がＨレベルの場合には、ＬＳＩ外部に置かれた命令を取り込みブートする。それにより、フラッシュメモリ７５２に格納された命令とＬＳＩ外部に置かれた命令のいずれかまたは両方を取り込み実行し、命令の実行結果からＬＳＩのメインの機能を実行し、また命令の実行結果から内部回路アドレスバスＳ７４１、内部回路データバスＳ７４２、内部回路書き込み制御信号線Ｓ７４３、及び内部回路読み出し制御信号線Ｓ７４４に、フラッシュメモリＩＦ７５１を制御する信号を出力しフラッシュメモリ７５２を制御する。
【０１１４】
フラッシュメモリＩＦ７５１は、バウンダリスキャン実行報知信号線Ｓ７０７がＬレベルの場合には、ＣＰＵ７４１の命令実行結果からフラッシュメモリアドレスバスＳ７５１、フラッシュメモリデータバスＳ７５２、フラッシュメモリ書き込み制御信号線Ｓ７５３、及びフラッシュメモリ読み出し制御信号線Ｓ７５４によりフラッシュメモリ７５２をアクセスし、フラッシュメモリ７５２に対しデータ読み出し、データの書き込み、及びデータの消去を行い、バウンダリスキャン実行報知信号線Ｓ７０７がＨレベルの場合には、フラッシュメモリ７５２に対するデータの書き込みとデータの消去を行わないよう制御する。
【０１１５】
フラッシュメモリ７５２は、ＣＰＵ７４１が実行する命令を格納する。
【０１１６】
上記以外の構成は、実施の形態１の構成と同様である。
【０１１７】
以上のように構成されたＬＳＩでは、バウンダリスキャンテスト時には、フラッシュメモリＩＦ７５１がフラッシュメモリ７５２のデータ書き換えと消去動作を行わないため、バウンダリスキャンテスト時にデータ入力端子７２１に入力されるレベルの時系列がいかなるパタンであっても、ＣＰＵ７４１がフラッシュメモリ７５２のデータを書き換えたり消去しないため、バウンダリスキャンテストによるフラッシュメモリ７５２のデータ破壊を防止可能である。
【０１１８】
なお、ここではアドレス出力端子とデータ入力端子を各１つづつ持つ構成について説明したが、各々複数持つ構成としてもよい。またここではアドレスを出力しデータを入力する構成としたが、それぞれ入出力する構成としてもよい。さらにここではアドレス端子とデータ端子で構成した例を説明したが、加えて通常の入出力端子を持つ構成としてもよい。またここではバウンダリスキャンテスト時にフラッシュメモリＩＦを制御する構成について説明したが、バウンダリスキャンテスト時にフラッシュメモリを制御する構成としてもよい。またここではＴＡＰコントローラの入力が３入力である構成について説明したが、ＴＡＰコントローラを非同期にバウンダリスキャンリセットモードにするＴＲＳＴ入力を加え、４入力である構成としてもよい。またここでは入力端子用のバウンダリスキャンセルを信号観測用のセルで構成した例を説明したが、バウンダリスキャンセルで入出力信号を制御する構成としてもよい。またここではバウンダリスキャンテスト時にフラッシュメモリを書き換えないように制御した例を説明したが、バウンダリスキャンテスト時にフラッシュメモリなどをアクセスできないように構成し、フラッシュメモリなどに格納されているＬＳＩユーザに非公開なデータをＬＳＩ外部に出力しないようにしてもよい。
【０１１９】
【発明の効果】
本発明の半導体装置によれば、バウンダリスキャンテスト時にＬＳＩに与えられる信号レベルがどのような時系列のパタンであっても、ＬＳＩユーザに非公開なテストモード、例えば端子ＤＣ検査モードにならず、端子の入出力機能を確保できるので、正常なバウンダリスキャンテストができる。従って、ＬＳＩユーザがバウンダリスキャンテストパタンを自由に生成できる。
【０１２０】
また、本発明の半導体装置によれば、入力許可制御をもちメインリセット状態で入力禁止となる入力端子をもつＬＳＩであっても、プリント基板上のバウンダリスキャンテストパタンをバウンダリスキャンセルに取り込むことができ、メインリセット状態でのバウンダリスキャンテストが行えるので、ＬＳＩユーザがバウンダリスキャンテストパタンを自由に生成できる。
【０１２１】
さらに、本発明の半導体装置によれば、通常端子へのパタン入力により内蔵の書き換え可能な不揮発メモリへアクセスし、例えばデータ書き換えやデータ消去を行うＬＳＩであっても、バウンダリスキャンテスト時にＬＳＩに与えられる信号レベルがいかなる時系列のパタンであっても内蔵の書き換え可能な不揮発メモリにアクセスすることがなく、例えば不揮発メモリのデータを破壊するおそれなく、ＬＳＩユーザがバウンダリスキャンテストパタンを自由に生成できる。
【図面の簡単な説明】
【図１】本発明の実施の形態１におけるＬＳＩの構成を示すブロック図
【図２】図１の実施の形態におけるＬＳＩのモードを示す図
【図３】実施の形態１におけるＬＳＩの変形例１を示すブロック図
【図４】実施の形態１におけるＬＳＩの変形例２を示すブロック図
【図５】本発明の実施の形態２におけるＬＳＩの構成を示すブロック図
【図６】実施の形態２におけるＬＳＩの変形例を示すブロック図
【図７】本発明の実施の形態３におけるＬＳＩの構成を示すブロック図
【図８】従来例のバウンダリスキャンテスト回路を実装したＬＳＩの構成を示すブロック図
【符号の説明】
１０１  ＴＣＫ端子
１０２  ＴＭＳ端子
１０３  ＴＤＩ端子
１０４  ＴＡＰコントローラ
１１１  メインリセット入力端子
１１２  第一のバウンダリスキャンセル
１２１  モード選択データ兼メイン入力端子
１２２  第二のバウンダリスキャンセル
１３１  モード選択クロック兼メイン入力端子
１３２  第三のバウンダリスキャンセル
１４０  ＴＤＯ出力制御回路
１４１  ＴＤＯ出力レベルセレクタ
１４２  ＴＤＯ出力ドライブセレクタ
１４３  ＴＤＯトライステートバッファ
１４４  ＴＤＯ端子
１５０  モード制御回路
１５１  モードデコーダ
１５２  ＤＣテスト選択データマスク回路
１５３  ＤＣテスト選択クロックマスク回路
１５４  第一のフリップフロップ
１５５  第二のフリップフロップ
１５６  第三のフリップフロップ
１５７  ＤＣテストデコードマスク回路
１６１  メインロジック
２０１  メインリセット状態
２０２  ユーザモード
２０３  ＤＣテストセレクトモード
２０４  ＤＣ＿Ｈテストモード
２０５  ＤＣ＿Ｌテストモード
２０６  ＤＣ＿ＨＩＺテストモード
２０７  ＤＣテストモード
２１１〜２３３  遷移条件
３５０  モード制御回路
３５７  デコード入力マスク回路
４５０  モード制御回路
４５７  ＤＣテストモード選択完了マスク回路
５１１  第一のメイン入力端子
５１２  第一のバウンダリスキャンセル
５２１  第二のメイン入力端子
５２２  メイン入力禁止制御回路
５２３  第二のバウンダリスキャンセル
５２４  バウンダリスキャン入力許可制御回路
５４１  入力制御回路
５４２  レジスタ
５４３  入力データフラグ
５４４  入力禁止フラグ
５５１  ＣＰＵ
６４１  入力制御回路
６４２  レジスタ
６４４  入力禁止フラグ
７１１  アドレス出力端子
７１２  アドレス出力トライステートバッファ
７１３  第一のバウンダリスキャンセル
７１４  第二のバウンダリスキャンセル
７２１  データ入力端子
７２２  第三のバウンダリスキャンセル
７３１  メモリモード入力端子
７３２  第四のバウンダリスキャンセル
７４１  ＣＰＵ
７５１  フラッシュメモリＩＦ
７５２  フラッシュメモリ
８００  第一のＬＳＩ
８０１  ＴＣＫ端子
８０２  ＴＭＳ端子
８０３  ＴＤＩ端子
８０４  ＴＡＰコントローラ
８１１  メイン出力端子
８１２  メイン出力トライステートバッファ
８１３  第一のバウンダリスキャンセル
８１４  第二のバウンダリスキャンセル
８２１  メイン入力端子
８２２  第三のバウンダリスキャンセル
８３１  ＴＤＯトライステートバッファ
８３２  ＴＤＯ端子
８４１  コアロジック
８５０  第二のＬＳＩ
８５１  ＴＣＫ端子
８５２  ＴＭＳ端子
８５３  ＴＤＩ端子
８５４  ＴＡＰコントローラ
８６１  メイン出力端子
８６２  メイン出力トライステートバッファ
８６３  第一のバウンダリスキャンセル
８６４  第二のバウンダリスキャンセル
８７１  メイン入力端子
８７２  第三のバウンダリスキャンセル
８８１  ＴＤＯトライステートバッファ
８８１  ＴＤＯトライステートバッファ
８８２  ＴＤＯ端子
８９１  コアロジック
８９３  第一のプリントパタン
８９４  第二のプリントパタン
８９５  第三のプリントパタン
８９６  ＴＤＩ入力コネクタピン
８９７  ＴＤＯ出力コネクタピン
８９８  ＴＣＫ入力コネクタピン
８９９  ＴＭＳ入力コネクタピン
Ｓ１０１  ＴＣＫ信号線
Ｓ１０２  ＴＭＳ信号線
Ｓ１０３  ＴＤＩ信号線
Ｓ１０４  バウンダリスキャンデータ信号線
Ｓ１０５  バウンダリスキャンセル制御信号線
Ｓ１０６  ＴＤＯドライブ制御信号線
Ｓ１０７  バウンダリスキャン実行報知信号線
Ｓ１１１  第一の入力信号線
Ｓ１１２  第一のバウンダリスキャンセル出力信号線
Ｓ１１３  第一のバウンダリスキャンアウト出力信号線
Ｓ１２１  第二の入力信号線
Ｓ１２２  第二のバウンダリスキャンセル出力信号線
Ｓ１２３  第二のバウンダリスキャンアウト出力信号線
Ｓ１３１  第三の入力信号線
Ｓ１３２  第三のバウンダリスキャンセル出力信号線
Ｓ１３３  第三のバウンダリスキャンアウト出力信号線
Ｓ１４１  ＴＤＯ出力レベル信号線
Ｓ１４２  ＴＤＯ出力ドライブ信号線
Ｓ１４３  ＴＤＯトライステート出力信号線
Ｓ１５１  ＤＣテストモード選択完了信号線
Ｓ１５２  ＤＣテストモード選択データ信号線
Ｓ１５３  ＤＣテストモード選択クロック信号線
Ｓ１５４  第一のＦＦ出力信号線
Ｓ１５５  第二のＦＦ出力信号線
Ｓ１５６  第三のＦＦ出力信号線
Ｓ１５７  内部リセット信号線
Ｓ１５８  ＤＣテストモード信号線
Ｓ１７１  ＤＣテスト許可信号線
Ｓ１７２  ＤＣテストドライブ信号線
Ｓ１７３  ＤＣテストレベル信号線
Ｓ３０７  バウンダリスキャン実行報知信号線
Ｓ３５８  マスクトＦＦ出力信号線
Ｓ４０７  バウンダリスキャン実行報知信号線
Ｓ４５８  ＤＣテストモード選択完了マスク信号線
Ｓ５０７  バウンダリスキャン実行報知信号線
Ｓ５１１  第一のメイン入力信号線
Ｓ５１２  第一のバウンダリスキャンセル出力信号線
Ｓ５１３  第一のバウンダリスキャンアウト出力信号線
Ｓ５２１  第二のメイン入力信号線
Ｓ５２２  第二のバウンダリスキャンセル入力信号線
Ｓ５２３  第二のバウンダリスキャンアウト出力信号線
Ｓ５２４  第二のバウンダリスキャンセル出力信号線
Ｓ５２５  メイン入力禁止制御信号線
Ｓ５２６  入力禁止フラグ出力信号線
Ｓ５５１  アドレスバス
Ｓ５５２  データバス
Ｓ５５３  書き込み制御信号線
Ｓ５５４  読み出し制御信号線
Ｓ６０７  バウンダリスキャン実行報知信号線
Ｓ７０７  バウンダリスキャン実行報知信号線
Ｓ７１１  アドレス出力信号線
Ｓ７１２  第一のバウンダリスキャンセル出力信号線
Ｓ７１３  第一のバウンダリスキャンアウト出力信号線
Ｓ７１４  アドレス出力ドライブ制御信号線
Ｓ７１５  第二のバウンダリスキャンセル出力信号線
Ｓ７１６  第二のバウンダリスキャンアウト出力信号線
Ｓ７１７  アドレス出力レベル制御信号線
Ｓ７２１  データ入力信号線
Ｓ７２２  第三のバウンダリスキャンセル出力信号線
Ｓ７２３  第三のバウンダリスキャンアウト出力信号線
Ｓ７３１  メモリモード入力信号線
Ｓ７３２  第四のバウンダリスキャンセル出力信号線
Ｓ７３３  第四のバウンダリスキャンアウト出力信号線
Ｓ７４１  内部回路アドレスバス
Ｓ７４２  内部回路データバス
Ｓ７４３  内部回路書き込み制御信号線
Ｓ７４４  内部回路読み出し制御信号線
Ｓ７５１  フラッシュメモリアドレスバス
Ｓ７５２  フラッシュメモリデータバス
Ｓ７５３  フラッシュメモリ書き込み制御信号線
Ｓ７５４  フラッシュメモリ読み出し制御信号線
Ｓ８０１  ＴＣＫ信号線
Ｓ８０２  ＴＭＳ信号線
Ｓ８０３  ＴＤＩ信号線
Ｓ８０４  バウンダリスキャンデータ信号線
Ｓ８０５  バウンダリスキャンセル制御信号線
Ｓ８０６  ＴＤＯドライブ制御信号線
Ｓ８１１  メイン出力信号線
Ｓ８１２  第一のバウンダリスキャンセル出力信号線
Ｓ８１３  第一のバウンダリスキャンアウト出力信号線
Ｓ８１４  第二のバウンダリスキャンセル出力信号線
Ｓ８１５  第二のバウンダリスキャンアウト出力信号線
Ｓ８２１  メイン入力信号線
Ｓ８２２  第三のバウンダリスキャンセル出力信号線
Ｓ８２３  第三のバウンダリスキャンアウト出力信号線
Ｓ８３１  ＴＤＯトライステート出力信号線
Ｓ８４１  メイン出力レベル信号線
Ｓ８４２  メイン出力ドライブ信号線
Ｓ８５１  ＴＣＫ信号線
Ｓ８５２  ＴＭＳ信号線
Ｓ８５３  ＴＤＩ信号線
Ｓ８５４  バウンダリスキャンデータ信号線
Ｓ８５５  バウンダリスキャンセル制御信号線
Ｓ８５６  ＴＤＯドライブ制御信号線
Ｓ８６１  メイン出力信号線
Ｓ８６２  第一のバウンダリスキャンセル出力信号線
Ｓ８６３  第一のバウンダリスキャンアウト出力信号線
Ｓ８６４  第二のバウンダリスキャンセル出力信号線
Ｓ８６５  第二のバウンダリスキャンアウト出力信号線
Ｓ８７１  メイン入力信号線
Ｓ８７２  第三のバウンダリスキャンセル出力信号線
Ｓ８７３  第三のバウンダリスキャンアウト出力信号線
Ｓ８８１  ＴＤＯトライステート出力信号線
Ｓ８９１  メイン出力レベル信号線
Ｓ８９２  メイン出力ドライブ信号線
【図１】
0003856651.tif 000002
【図２】
0003856651.tif 000003
【図３】
0003856651.tif 000004
【図４】
0003856651.tif 000005
【図５】
0003856651.tif 000006
【図６】
0003856651.tif 000007
【図７】
0003856651.tif 000008
【図８】
0003856651.tif 000009