(57)【特許請求の範囲】
【請求項１】
半導体装置に搭載されたメモリのテストを行うテスト回路であって、
出力イネーブル信号が非アクティブ状態になると入力モードになり、第１および第２の入出力ピンから、それぞれ、シリアルデータ入力信号およびシリアルクロック入力信号を入力し、前記出力イネーブル信号がアクティブ状態になると出力モードになり、シリアルデータ出力信号およびシリアルクロック出力信号を、それぞれ、前記第１および第２の入出力ピンへ出力する入出力部と、
前記シリアルクロック入力信号に同期して、順次入力された一定ビット数の前記シリアルデータ入力信号をパラレルデータ入力信号に変換し、テスト設定データ信号として設定するメモリテスト設定部と、
一定周波数のテストクロック信号を生成するテストクロック発生部と、
前記テスト設定データ信号により指定されたテスト対象のメモリのメモリアドレスから前記テストクロック信号に同期して読み出されたパラレルメモリデータ出力信号をシリアルメモリデータ出力信号に変換するメモリデータ出力部と、
前記テストクロック信号に同期して、前記シリアルメモリデータ出力信号を前記シリアルデータ出力信号として順次出力し、かつ、前記テストクロック信号を前記シリアルクロック出力信号として順次出力するとともに、初期化されると非アクティブ状態となり、前記テスト設定データ信号が設定されると、前記テストクロック信号に同期してアクティブ状態となる前記出力イネーブル信号を出力する入出力制御部とを備えることを特徴とするテスト回路。
【請求項２】
さらに、クリア信号がアクティブ状態になるとカウント値が初期化され、前記クリア信号が非アクティブ状態になると、前記テストクロック信号に同期してカウントを行って前記カウント値を出力する第１カウンタと、
デバッグモード信号が通常動作モードを表す場合、および、前記デバッグモード信号がテストモードを表し、かつ、前記カウント値が一定値となった場合にアクティブ状態となり、前記デバッグモード信号が前記テストモードを表し、かつ、前記カウント値が前記一定値ではない場合に非アクティブ状態となる前記クリア信号を生成するクリア信号生成回路とを備える請求項１に記載のテスト回路。
【請求項３】
前記メモリテスト設定部は、前記クリア信号がアクティブ状態になると初期化され、前記クリア信号が非アクティブ状態になると、前記シリアルクロック入力信号に同期して、順次入力された一定ビット数の前記シリアルデータ入力信号を順次シフトして前記パラレルデータ入力信号に変換して保持し、前記テスト設定データ信号として、前記テスト対象のメモリのメモリアドレスを指定するテストアドレス信号、および、非アクティブ状態のリセット信号を設定するシフトレジスタを備える請求項２に記載のテスト回路。
【請求項４】
前記テストクロック発生部は、
前記デバッグモード信号が前記テストモードを表す場合に、一定周波数の発振クロックを生成するリングオシレータと、
前記リセット信号がアクティブ状態になると初期化され、前記リセット信号が非アクティブ状態になると、前記発振クロックに同期してカウントを行って前記テストクロック信号を生成する第２カウンタとを備える請求項３に記載のテスト回路。
【請求項５】
さらに、前記カウント値に対応する１ビットだけが順次アクティブ状態となる一定ビット数のメモリデータビット選択信号を出力するデコーダを備える請求項３または４に記載のテスト回路。
【請求項６】
前記メモリデータ出力部は、前記デバッグモード信号が前記通常動作モードを表す場合に、前記通常動作モード時の内部信号を前記テスト対象のメモリに入力し、前記デバッグモード信号が前記テストモードを表す場合に、前記テスト対象のメモリから前記パラレルメモリデータ出力信号が読み出されるように、前記テストアドレス信号および前記テストクロック信号を含むテスト信号を前記テスト対象のメモリに入力する入力切替回路と、
アクティブ状態となった前記メモリデータビット選択信号のビットに対応する前記パラレルメモリデータ出力信号のビットを前記シリアルメモリデータ出力信号として順次出力する出力切替回路とを備える請求項５に記載のテスト回路。
【請求項７】
前記入出力制御部は、
前記リセット信号がアクティブ状態になると初期化され、前記リセット信号が非アクティブ状態になると、前記テストクロック信号に同期して前記シリアルメモリデータ出力信号を保持し、前記シリアルデータ出力信号として出力する第１保持回路と、
前記リセット信号がアクティブ状態になると初期化されて非アクティブ状態となり、前記リセット信号が非アクティブ状態になると、前記テストクロック信号に同期してアクティブ状態となるシリアルクロック出力制御信号を保持し、前記シリアルクロック出力制御信号がアクティブ状態になると、前記テストクロック信号を前記シリアルクロック出力信号として出力する第２保持回路と、
前記リセット信号がアクティブ状態になると初期化されて非アクティブ状態となり、前記リセット信号が非アクティブ状態になると、前記テストクロック信号に同期してアクティブ状態となる前記出力イネーブル信号を保持して出力する第３保持回路とを備える請求項４〜６のいずれか１項に記載のテスト回路。
【請求項８】
前記テスト回路は、複数の前記メモリデータ出力部を備え、
前記メモリテスト設定部のシフトレジスタは、前記テスト設定データ信号として、さらに、前記複数のメモリの中から前記テスト対象のメモリを指定するメモリ指定信号を設定するものであり、
前記入出力制御部は、さらに、前記複数のメモリデータ出力部の各々から出力されるシリアルメモリデータ出力信号の中から、前記メモリ指定信号により指定された前記テスト対象のメモリから出力されたシリアルメモリデータ出力信号を出力するマルチプレクサを備え、
前記入出力制御部の第１保持回路は、前記リセット信号が非アクティブ状態になると、前記テストクロック信号に同期して前記マルチプレクサから出力されたシリアルメモリデータ出力信号を保持し、前記シリアルデータ出力信号として出力するものである請求項７に記載のテスト回路。
【請求項９】
前記第１および第２の入出力ピンは、前記半導体装置の通常動作モード時の動作に影響を与えない入出力ピンに割り当てられている請求項１〜８のいずれか１項に記載のテスト回路。
【請求項１０】
半導体装置に搭載されたメモリのテストを行うテスト方法であって、
入出力制御部が、出力イネーブル信号を非アクティブ状態にして入出力部を入力モードにするステップと、
前記入出力部が、第１および第２の入出力ピンから、それぞれ、シリアルデータ入力信号およびシリアルクロック入力信号を入力するステップと、
メモリテスト設定部が、前記シリアルクロック入力信号に同期して、順次入力された一定ビット数の前記シリアルデータ入力信号をパラレルデータ入力信号に変換し、テスト設定データ信号として設定するステップと、
テストクロック発生部が、一定周波数のテストクロック信号を生成するステップと、
入出力制御部が、前記テスト設定データ信号が設定されると、前記テストクロック信号に同期して、前記出力イネーブル信号をアクティブ状態にして前記入出力部を出力モードにするステップと、
メモリデータ出力部が、前記テスト設定データ信号により指定されたテスト対象のメモリのメモリアドレスから前記テストクロック信号に同期して読み出されたパラレルメモリデータ出力信号をシリアルメモリデータ出力信号に変換するステップと、
入出力制御部が、前記テストクロック信号に同期して、前記シリアルメモリデータ出力信号をシリアルデータ出力信号として順次出力し、かつ、前記テストクロック信号をシリアルクロック出力信号として順次出力するステップと、
前記入出力部が、前記シリアルデータ出力信号および前記シリアルクロック出力信号を、それぞれ、前記第１および第２の入出力ピンへ出力するステップとを含むことを特徴とするテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に搭載されたメモリのテストを行うテスト回路およびテスト方法に関するものである。
【背景技術】
【０００２】
プリント基板に実装された半導体装置が仕様通りに動作せず、半導体装置の故障が疑われるが、外部から故障場所を直接視認することができない場合、故障場所を特定するために、次の（１）および（２）のような方法がとられる。
【０００３】
（１）プリント基板に半導体装置を実装したままの状態でデバッグを行う場合
この場合、半導体装置を通常動作させて、故障の影響を受けていると疑われる不具合の症状から問題箇所の特定を行う。
【０００４】
（２）プリント基板から半導体装置を剥離してデバッグを行う場合
この場合、プリント基板から半導体装置を剥離し、半導体装置に内蔵されたテスト回路を用いて半導体装置の製品試験を行う。この製品試験は、プリント基板実装前に一度実施済みであり、その時は全ての試験項目をパスしていたものとする。
【０００５】
ここで、パスしない試験項目が発生した場合、その試験項目に関する部分が壊れていると推測し、より詳しく原因を調査していくことで故障場所の特定を行うが、以下に述べるような問題がある。
【０００６】
（１）プリント基板に半導体装置を実装したままの状態でデバッグを行う場合
この状態では、半導体装置単体の製品試験が出来ないため、半導体装置を通常動作させ、不具合の症状を見つつ不具合原因を推定するが、これだけでは半導体装置内のどこが壊れているのか特定することが難しい。
また、予めデバッグを容易にするテスト回路を半導体装置に内蔵し、外部ピンからテスト回路を制御するとしても、半導体装置がプリント基板に実装された状態でデバッグに使用可能な外部ピンは限られており、多くの外部ピンは確保できない。
【０００７】
（２）プリント基板から半導体装置を剥離してデバッグを行う場合
プリント基板から半導体装置を剥離する時、半導体装置とプリント基板とを接続する外部ピンが折れるなど、接合部品が壊れる危険性がある。もし接合部品が壊れた場合、外部ピンからテストパターンを入力する製品試験ができなくなり、故障場所の特定が困難になる。
【０００８】
ここで、本発明に関連性のある先行技術文献としては、レジスタ装置に関する特許文献１、データ通信に用いられるＦＩＦＯレジスタ回路に関する特許文献２、アドレスの生成をフリップフロップ回路構成されたシフトレジスタ回路により行う大規模ＦＩＦＯ回路に関する特許文献３、データ転送の処理を行うインターフェース回路に関する特許文献４、複数のフリップフロップで構成された多段バッファを有する半導体装置等に関する特許文献５などがある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平４−２９１６４１号公報
【特許文献２】特開平１１−１２０７５７号公報
【特許文献３】特開平１１−３２８９４７号公報
【特許文献４】特開２００６−３２３９７６号公報
【特許文献５】特開２００７−１４９２０１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、前記従来技術の問題点を解消し、半導体装置がプリント基板に実装されたままの状態で、少数の外部ピンから半導体装置内部のメモリを制御してテストすることができるテスト回路およびテスト方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明は、半導体装置に搭載されたメモリのテストを行うテスト回路であって、
出力イネーブル信号が非アクティブ状態になると入力モードになり、第１および第２の入出力ピンから、それぞれ、シリアルデータ入力信号およびシリアルクロック入力信号を入力し、前記出力イネーブル信号がアクティブ状態になると出力モードになり、シリアルデータ出力信号およびシリアルクロック出力信号を、それぞれ、前記第１および第２の入出力ピンへ出力する入出力部と、
前記シリアルクロック入力信号に同期して、順次入力された一定ビット数の前記シリアルデータ入力信号をパラレルデータ入力信号に変換し、テスト設定データ信号として設定するメモリテスト設定部と、
一定周波数のテストクロック信号を生成するテストクロック発生部と、
前記テスト設定データ信号により指定されたテスト対象のメモリのメモリアドレスから前記テストクロック信号に同期して読み出されたパラレルメモリデータ出力信号をシリアルメモリデータ出力信号に変換するメモリデータ出力部と、
前記テストクロック信号に同期して、前記シリアルメモリデータ出力信号を前記シリアルデータ出力信号として順次出力し、かつ、前記テストクロック信号を前記シリアルクロック出力信号として順次出力するとともに、初期化されると非アクティブ状態となり、前記テスト設定データ信号が設定されると、前記テストクロック信号に同期してアクティブ状態となる前記出力イネーブル信号を出力する入出力制御部とを備えることを特徴とするテスト回路を提供するものである。
【００１２】
さらに、クリア信号がアクティブ状態になるとカウント値が初期化され、前記クリア信号が非アクティブ状態になると、前記テストクロック信号に同期してカウントを行って前記カウント値を出力する第１カウンタと、
デバッグモード信号が通常動作モードを表す場合、および、前記デバッグモード信号がテストモードを表し、かつ、前記カウント値が一定値となった場合にアクティブ状態となり、前記デバッグモード信号が前記テストモードを表し、かつ、前記カウント値が前記一定値ではない場合に非アクティブ状態となる前記クリア信号を生成するクリア信号生成回路とを備えることが好ましい。
【００１３】
また、前記メモリテスト設定部は、前記クリア信号がアクティブ状態になると初期化され、前記クリア信号が非アクティブ状態になると、前記シリアルクロック入力信号に同期して、順次入力された一定ビット数の前記シリアルデータ入力信号を順次シフトして前記パラレルデータ入力信号に変換して保持し、前記テスト設定データ信号として、前記テスト対象のメモリのメモリアドレスを指定するテストアドレス信号、および、非アクティブ状態のリセット信号を設定するシフトレジスタを備えることが好ましい。
【００１４】
また、前記テストクロック発生部は、
前記デバッグモード信号が前記テストモードを表す場合に、一定周波数の発振クロックを生成するリングオシレータと、
前記リセット信号がアクティブ状態になると初期化され、前記リセット信号が非アクティブ状態になると、前記発振クロックに同期してカウントを行って前記テストクロック信号を生成する第２カウンタとを備えることが好ましい。
【００１５】
前記メモリ出力制御部は、さらに、前記カウント値に対応する１ビットだけが順次アクティブ状態となる一定ビット数のメモリデータビット選択信号を出力するデコーダを備えることが好ましい。
【００１６】
また、前記メモリデータ出力部は、前記デバッグモード信号が前記通常動作モードを表す場合に、前記通常動作モード時の内部信号を前記テスト対象のメモリに入力し、前記デバッグモード信号が前記テストモードを表す場合に、前記テスト対象のメモリから前記パラレルメモリデータ出力信号が読み出されるように、前記テストアドレス信号および前記テストクロック信号を含むテスト信号を前記テスト対象のメモリに入力する入力切替回路と、
アクティブ状態となった前記メモリデータビット選択信号のビットに対応する前記パラレルメモリデータ出力信号のビットを前記シリアルメモリデータ出力信号として順次出力する出力切替回路とを備えることが好ましい。
【００１７】
また、前記入出力制御部は、
前記リセット信号がアクティブ状態になると初期化され、前記リセット信号が非アクティブ状態になると、前記テストクロック信号に同期して前記シリアルメモリデータ出力信号を保持し、前記シリアルデータ出力信号として出力する第１保持回路と、
前記リセット信号がアクティブ状態になると初期化されて非アクティブ状態となり、前記リセット信号が非アクティブ状態になると、前記テストクロック信号に同期してアクティブ状態となるシリアルクロック出力制御信号を保持し、前記シリアルクロック出力制御信号がアクティブ状態になると、前記テストクロック信号を前記シリアルクロック出力信号として出力する第２保持回路と、
前記リセット信号がアクティブ状態になると初期化されて非アクティブ状態となり、前記リセット信号が非アクティブ状態になると、前記テストクロック信号に同期してアクティブ状態となる前記出力イネーブル信号を保持して出力する第３保持回路とを備えることが好ましい。
【００１８】
また、前記テスト回路は、複数の前記メモリデータ出力部を備え、
前記メモリテスト設定部のシフトレジスタは、前記テスト設定データ信号として、さらに、前記複数のメモリの中から前記テスト対象のメモリを指定するメモリ指定信号を設定するものであり、
前記入出力制御部は、さらに、前記複数のメモリデータ出力部の各々から出力されるシリアルメモリデータ出力信号の中から、前記メモリ指定信号により指定された前記テスト対象のメモリから出力されたシリアルメモリデータ出力信号を出力するマルチプレクサを備え、
前記入出力制御部の第１保持回路は、前記リセット信号が非アクティブ状態になると、前記テストクロック信号に同期して前記マルチプレクサから出力されたシリアルメモリデータ出力信号を保持し、前記シリアルデータ出力信号として出力するものであることが好ましい。
【００１９】
また、前記第１および第２の入出力ピンは、前記半導体装置の通常動作モード時の動作に影響を与えない入出力ピンに割り当てられていることが好ましい。
【００２０】
また、本発明は、半導体装置に搭載されたメモリのテストを行うテスト方法であって、
入出力制御部が、出力イネーブル信号を非アクティブ状態にして入出力部を入力モードにするステップと、
前記入出力部が、第１および第２の入出力ピンから、それぞれ、シリアルデータ入力信号およびシリアルクロック入力信号を入力するステップと、
メモリテスト設定部が、前記シリアルクロック入力信号に同期して、順次入力された一定ビット数の前記シリアルデータ入力信号をパラレルデータ入力信号に変換し、テスト設定データ信号として設定するステップと、
テストクロック発生部が、一定周波数のテストクロック信号を生成するステップと、
入出力制御部が、前記テスト設定データ信号が設定されると、前記テストクロック信号に同期して、前記出力イネーブル信号をアクティブ状態にして前記入出力部を出力モードにするステップと、
メモリデータ出力部が、前記テスト設定データ信号により指定されたテスト対象のメモリのメモリアドレスから前記テストクロック信号に同期して読み出されたパラレルメモリデータ出力信号をシリアルメモリデータ出力信号に変換するステップと、
入出力制御部が、前記テストクロック信号に同期して、前記シリアルメモリデータ出力信号をシリアルデータ出力信号として順次出力し、かつ、前記テストクロック信号をシリアルクロック出力信号として順次出力するステップと、
前記入出力部が、前記シリアルデータ出力信号および前記シリアルクロック出力信号を、それぞれ、前記第１および第２の入出力ピンへ出力するステップとを含むことを特徴とするテスト方法を提供する。
【発明の効果】
【００２１】
本発明では、２つの外部ピンを確保することにより、半導体装置をプリント基板に実装したままの状態で、半導体装置に搭載されたメモリから読み出されたメモリデータを、外部ピンから順次出力することができる。そのため、本発明によれば、プリント基板から半導体装置を剥離する場合に生じる接合部分の破壊リスクを避けつつ、メモリデータがＬ（ローレベル）またはＨ（ハイレベル）にスタックしているか否か等の状態を外部で観測することができるようになる。
【図面の簡単な説明】
【００２２】
【図１】本発明のテスト回路の構成を表す一実施形態のブロック図である。
【図２】図１に示す入出力部の構成を表す一例の回路図である。
【図３】図１に示すメモリテスト設定部の構成を表す一例の回路図である。
【図４】図１に示すテストクロック発生部の構成を表す一例の回路図である。
【図５】図１に示すメモリ出力制御部の構成を表す一例の回路図である。
【図６】図１に示すメモリデータ出力部の構成を表す一例の回路図である。
【図７】図１に示す入出力制御部の構成を表す一例の回路図である。
【図８】図１に示すテスト回路の概略動作を表す一例のフローチャートである。
【図９】デバッグモード信号が、通常動作モードを表す状態からテストモードを表す状態に変化した場合のテスト回路の動作を表す一例のタイミングチャートである。
【図１０】メモリテスト設定部のシフトレジスタに設定されたテスト設定データ信号を表す一例の概念図である。
【図１１】テスト設定データ信号がシフトレジスタに設定される様子を表す一例の概念図である。
【図１２】テスト設定データ信号がシフトレジスタに設定される場合の動作を表す一例のタイミングチャートである。
【図１３】テストクロック信号が生成される場合の動作を表す一例のタイミングチャートである。
【図１４】メモリデータビット選択信号が生成される場合の動作を表す一例のタイミングチャートである。
【図１５】メモリからパラレルメモリデータ出力信号が読み出される場合の動作を表す一例のタイミングチャートである。
【図１６】パラレルメモリデータ出力信号がシリアルメモリデータ出力信号に変換される場合の動作を表す一例のタイミングチャートである。
【図１７】複数のシリアルメモリデータ出力信号の中から、メモリ指定信号によって指定されるシリアルメモリデータ出力信号が出力される場合の動作を表す一例のタイミングチャートである。
【図１８】出力イネーブル信号がアクティブ状態になる場合の動作を表す一例のタイミングチャートである。
【図１９】シリアルデータ出力信号およびシリアルクロック出力信号が出力される場合の動作を表す一例のタイミングチャートである。
【図２０】テスト回路が初期状態となり、次のテスト設定データ信号が設定されるのを待つ待機状態となる場合の動作を表す一例のタイミングチャートである。
【発明を実施するための形態】
【００２３】
以下に、添付の図面に示す好適実施形態に基づいて、本発明のテスト回路およびテスト方法を詳細に説明する。
【００２４】
図１は、本発明のテスト回路の構成を表す一実施形態のブロック図である。同図に示すテスト回路１０は、プリント基板に実装された半導体装置に搭載され、半導体装置がプリント基板に実装されたままの状態で、半導体装置に搭載されたメモリのテストを行うものであり、入出力部１２と、メモリテスト設定部１４と、テストクロック発生部１６と、メモリ出力制御部１８と、（ｐ＋１）個のメモリデータ出力部２０［ｐ：０］と、入出力制御部２２とによって構成されている。
【００２５】
ＤＥＢＵＧ＿ＭＯＤＥが、Ｈの場合に、入出力部１２は、出力イネーブル信号ＥＮＬが非アクティブ状態になると入力モードとなり、シリアルデータＳＤＡおよびシリアルクロックＳＣＬの入出力ピン（第１および第２の入出力ピン）から、それぞれ、シリアルデータ入力信号ＳＤＩおよびシリアルクロック入力信号ＣＬＫを入力し、出力イネーブル信号ＥＮＬがアクティブ状態になると出力モードとなり、シリアルデータ出力信号ＳＤＯおよびシリアルクロック出力信号ＳＣＬＫＯを、それぞれ、シリアルデータＳＤＡおよびシリアルクロックＳＣＬの入出力ピンへ出力するものである。
【００２６】
入出力部１２は、図２に示すように、シリアルデータＳＤＡの入出力ピンに対応する第１入出力回路２４Ａと、シリアルクロックＳＣＬの入出力ピンに対応する第２入出力回路２４Ｂとを備えている。
【００２７】
第１入出力回路２４Ａは、入力バッファ２６Ａおよび出力バッファ２８Ａからなる入出力バッファと、２つのマルチプレクサ３２Ａ，３４Ａとを備えている。
出力バッファ２８Ａの入力端子および反転出力イネーブル端子には、それぞれ、マルチプレクサ３２Ａ，３４Ａの出力信号が入力されている。出力バッファ２８Ａの出力信号は、シリアルデータＳＤＡの入出力ピンに入力されている。
入力バッファ２６Ａには、シリアルデータＳＤＡの入出力ピンからシリアルデータＳＤＡが入力され、入力バッファ２６Ａからは、シリアルデータＳＤＡに相当するシリアルデータ入力信号ＳＤＩが出力されている。
【００２８】
同様に、第２入出力回路２４Ｂは、入力バッファ２６Ｂおよび出力バッファ２８Ｂからなる入出力バッファと、２つのマルチプレクサ３２Ｂ，３４Ｂとを備えている。
出力バッファ２８Ｂの入力端子および反転出力イネーブル端子には、それぞれ、マルチプレクサ３２Ｂ，３４Ｂの出力信号が入力されている。出力バッファ２８Ｂの出力信号は、シリアルクロックＳＣＬの入出力ピンに入力されている。
入力バッファ２６Ｂには、シリアルクロックＳＣＬの入出力ピンからシリアルクロックＳＣＬが入力され、入力バッファ２６Ｂからは、シリアルクロックＳＣＬに相当するシリアルクロック入力信号ＣＬＫが出力されている。
【００２９】
マルチプレクサ３２Ａ，３４Ａおよびマルチプレクサ３２Ｂ，３４Ｂの入力端子０には、それぞれ対応する通常動作モード時の内部信号（図示省略）が入力され、選択入力端子には、通常動作モードとテストモードとを切り替えるデバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥが入力されている。また、マルチプレクサ３２Ａの入力端子１にはシリアルデータ出力信号ＳＤＯが、マルチプレクサ３２Ｂの入力端子１にはシリアルクロック出力信号ＳＣＬＫＯが、マルチプレクサ３４Ａ，３４Ｂの入力端子１には出力イネーブル信号ＥＮＬが、入出力制御部２２からそれぞれ入力されている。
【００３０】
シリアルデータ入力信号ＳＤＩおよびシリアルクロック入力信号ＣＬＫは、テスト設定データ信号を設定するために使用される信号であり、例えば、半導体装置の通常動作モード時の動作（通常動作）に影響を与えない外部ピンに割り当てることができる。半導体装置の通常動作モード時の動作に影響を与えない外部ピンには、例えば、余っていて通常動作中は使用していない外部ピン、通常動作中は動作しない（レベルが変化しない）外部ピン（例えば、半導体装置が動作を開始した直後、初期値を入力するためだけに使用され、初期値入力後は使用されなくなる外部ピン）などが含まれる。
【００３１】
図２では、入出力ピンを使用しているが、半導体装置の通常動作モード時の動作に影響を与えない外部ピンの数に余裕がある場合には、入力ピン（外部ピン）と出力ピン（外部ピン）を組み合わせて使用することもできる。
【００３２】
また、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥは、半導体装置の内部信号であって、メモリ以外の回路のテストを行う場合にも使用されるものであり、例えば、通常動作中に使用されている外部ピンにより設定される。
【００３３】
続いて、メモリテスト設定部１４は、シリアルクロック入力信号ＣＬＫに同期して、順次入力された一定ビット数のシリアルデータ入力信号ＳＤＩをパラレルデータ入力信号に変換し、テスト設定データ信号として設定するものである。
メモリテスト設定部１４は、図３に示すように、ＯＲ回路３６と、シフトレジスタ３８とを備えている。
【００３４】
ＯＲ回路３６には、入出力部１２からシリアルクロック入力信号ＣＬＫが、シフトレジスタ３８の最終段のフリップフロップ（ＦＦ）４４からリセット信号ＲＳＴＮが入力されている。
【００３５】
シフトレジスタ３８は、メモリ出力制御部１８から入力されたクリア信号ＣＬＲがアクティブ状態になると初期化され、クリア信号ＣＬＲが非アクティブ状態になると、シリアルクロック入力信号ＣＬＫに同期して、順次入力された一定ビット数のシリアルデータ入力信号ＳＤＩを順次シフトしてパラレルデータ入力信号に変換して保持し、テスト設定データ信号として、テスト対象のメモリのメモリアドレスを指定するテストアドレス信号ＡＤＲ１［ｉ：０］、複数のメモリの中からテスト対象のメモリを指定するメモリ指定信号ＡＤＲ２［ｊ：０］、および、非アクティブ状態のリセット信号ＲＳＴＮを設定するものである。
【００３６】
シフトレジスタ３８は、テストアドレス信号ＡＤＲ１［ｉ：０］を保持する（ｉ＋１）段のＦＦ４０［ｉ：０］と、メモリ指定信号ＡＤＲ２［ｊ：０］を保持する（ｊ＋１）段のＦＦ４２［ｊ：０］と、リセット信号ＲＳＴＮを保持する最終段のＦＦ４４とを直列に接続して構成されている。
【００３７】
ＦＦ４０［ｉ：０］、ＦＦ４２［ｊ：０］、ＦＦ４４のクロック入力端子にはＯＲ回路３６の出力信号ＣＬＫＭが入力され、反転リセット入力端子Ｒには、メモリ出力制御部１８からクリア信号ＣＬＲが入力されている。
【００３８】
ＦＦ４０［ｉ：０］のうち、ＦＦ４０［０］のデータ入力端子Ｄには、入出力部１２からシリアルデータ入力信号ＳＤＩが入力されている。ＦＦ４０［ｉ：１］のデータ入力端子Ｄには、それぞれ、前段のＦＦ４０［ｉ−１：０］のデータ出力端子Ｑからテストアドレス信号ＡＤＲ１［ｉ−１：０］が入力されている。ＦＦ４０［ｉ：０］のデータ出力端子Ｑからは、それぞれ、テストアドレス信号ＡＤＲ１［ｉ：０］が出力されている。
【００３９】
ＦＦ４２［ｊ：０］のうち、ＦＦ４２［０］のデータ入力端子Ｄには、前段のＦＦ４０［ｉ］のデータ出力端子Ｑからテストアドレス信号ＡＤＲ１［ｉ］が入力されている。ＦＦ４２［ｊ：１］のデータ入力端子Ｄには、それぞれ、前段のＦＦ４２［ｊ−１：０］のデータ出力端子Ｑからメモリ指定信号ＡＤＲ２［ｊ−１：０］が入力されている。ＦＦ４２［ｊ：０］のデータ出力端子Ｑからは、それぞれ、メモリ指定信号ＡＤＲ２［ｊ：０］が出力されている。
【００４０】
最終段のＦＦ４４のデータ入力端子Ｄには、前段のＦＦ４２［ｊ］のデータ出力端子Ｑからメモリ指定信号ＡＤＲ２［ｊ］が入力されている。ＦＦ４４のデータ出力端子Ｑからは、リセット信号ＲＳＴＮが出力されている。
【００４１】
続いて、テストクロック発生部１６は、一定周波数のテストクロック信号ＣＬＫＯＵＴを生成するものである。
テストクロック発生部１６は、図４に示すように、リングオシレータ（Ｒｉｎｇ−ＯＳＣ）４６と、カウンタ４８（第２カウンタ）とを備えている。
【００４２】
リングオシレータ４６は、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがテストモードを表す場合に、一定周波数の発振クロックを生成するものである。
リングオシレータ４６のイネーブル入力端子ＥＮには、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥが入力され、発振クロック出力端子ＣＬＫからは、発振クロックが出力されている。
【００４３】
カウンタ４８は、リセット信号ＲＳＴＮがアクティブ状態になると初期化され、リセット信号ＲＳＴＮが非アクティブ状態になると、発振クロックに同期してカウントを行ってテストクロック信号ＣＬＫＯＵＴを生成するものであり、直列に接続された（ｋ＋１）個のＦＦ５０［ｋ：０］を備えている。
ＦＦ５０［ｋ：０］の反転リセット端子には、メモリテスト設定部１４からリセット信号ＲＳＴＮが入力されている。ＦＦ５０［０］のクロック入力端子には、リングオシレータ４６から発振クロックが入力されている。ＦＦ５０［ｋ−１：０］の反転データ出力端子ＱＢからは、それぞれ、内部クロック信号ＣＬＫ［ｋ−１：０］が出力され、自分自身のデータ入力端子ＤおよびＦＦ５０［ｋ：１］のクロック入力端子に入力されている。そして、ＦＦ５０［ｋ］の反転データ出力端子ＱＢからは、内部クロック信号ＣＬＫ［ｋ］が出力されて自分自身のデータ入力端子Ｄに入力され、データ出力端子Ｑからは、テストクロック信号ＣＬＫＯＵＴが出力されている。
【００４４】
続いて、メモリ出力制御部１８は、テストクロック信号ＣＬＫＯＵＴに同期して、メモリデータビット選択信号ＳＥＬ［ｍ：０］を生成し、さらに、クリア信号ＣＬＲを生成するものである。
メモリ出力制御部１８は、図５に示すように、カウンタ５２（第１カウンタ）と、クリア信号生成回路５４と、デコーダ（Ｄｅｃｏｄｅｒ）５６とを備えている。
【００４５】
カウンタ５２は、クリア信号ＣＬＲがアクティブ状態になるとカウント値ＣＮＴ［ｎ：０］が初期化され、クリア信号ＣＬＲが非アクティブ状態になると、テストクロック信号ＣＬＫＯＵＴに同期してカウントを行ってカウント値ＣＮＴ［ｎ：０］を出力するものであり、直列に接続された（ｎ＋１）個のＦＦ５８［ｎ：０］を備えている。
【００４６】
ＦＦ５８［ｎ：０］の反転リセット端子には、クリア信号生成回路５４からクリア信号ＣＬＲが入力されている。ＦＦ５８［０］の反転クロック入力端子には、テストクロック発生部１６からテストクロック信号ＣＬＫＯＵＴが入力されている。ＦＦ５８［ｎ−１：０］の反転データ出力端子ＱＢからは、それぞれ、カウント値ＣＮＴ［ｎ−１：０］の反転信号が出力され、自分自身のデータ入力端子ＤおよびＦＦ５８［ｎ：１］のクロック入力端子に入力されている。ＦＦ５８［ｎ］の反転データ出力端子ＱＢからは、カウント値ＣＮＴ［ｎ］の反転信号が出力されて自分自身のデータ入力端子Ｄに入力されている。そして、ＦＦ５８［ｎ：０］のデータ出力端子Ｑからは、それぞれ、カウント値ＣＮＴ［ｎ：０］が出力されている。
【００４７】
クリア信号生成回路５４は、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥが通常動作モードを表す場合、および、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがテストモードを表し、かつ、カウント値ＣＮＴ［ｎ：０］が一定値となった場合にアクティブ状態となり、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがテストモードを表し、かつ、カウント値ＣＮＴ［ｎ：０］が一定値ではない場合に非アクティブ状態となるクリア信号ＣＬＲを生成するものであり、（ｎ−１）個のＡＮＤ回路６０［ｎ−１：１］と、ＮＡＮＤ回路６２と、直列に接続された複数のバッファ回路６４と、出力段のＡＮＤ回路６６とを備えている。
【００４８】
ＡＮＤ回路６０［ｎ−１：１］のうち、ＡＮＤ回路６０［１］には、カウンタ５２のＦＦ５８［１：０］のデータ出力端子Ｑからカウント値ＣＮＴ［１：０］が入力されている。ＡＮＤ回路６０［ｎ−１：２］には、それぞれ、ＡＮＤ回路６０［ｎ−２：１］の出力信号、および、ＦＦ５８［ｎ−１：２］のデータ出力端子Ｑからカウント値ＣＮＴ［ｎ−１：２］が入力されている。
ＮＡＮＤ回路６２には、ＡＮＤ回路６０［ｎ−１］の出力信号、および、ＦＦ５８［ｎ］のデータ出力端子Ｑからカウント値ＣＮＴ［ｎ］が入力されている。
複数のバッファ回路６４の初段のバッファ回路６４には、ＮＡＮＤ回路６２の出力信号が入力されている。
出力段のＡＮＤ回路６６には、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥ、および、複数のバッファ回路６４の最終段のバッファ回路６４の出力信号が入力され、ＡＮＤ回路６６からは、クリア信号ＣＬＲが出力されている。
【００４９】
デコーダ５６は、カウント値ＣＮＴ［ｎ：０］に対応する１ビットだけが順次アクティブ状態となる一定ビット数のメモリデータビット選択信号ＳＥＬ［ｍ：０］（ここで、ｍ＝２（ｎ＋１）−１）を出力するものである。
デコーダ５６のカウント値入力端子ＣＮＴ［ｎ：０］には、カウンタ５２からカウント値ＣＮＴ［ｎ：０］が入力され、メモリデータビット選択信号出力端子ＳＥＬ［ｍ：０］からは、メモリデータビット選択信号ＳＥＬ［ｍ：０］が出力されている。
【００５０】
続いて、メモリデータ出力部２０［ｐ：０］は、テスト設定データ信号により指定されたテスト対象のメモリのメモリアドレスからテストクロック信号ＣＬＫＯＵＴに同期して読み出されたパラレルメモリデータ出力信号Ｑ［ｘ：０］をシリアルメモリデータ出力信号ＱＯＵＴ［ｐ：０］に変換するものである。
例えば、メモリデータ出力部２０［ｐ］は、図６に示すように、入力切替回路６８と、出力切替回路７０とを備えている。
【００５１】
入力切替回路６８は、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥが通常動作モードを表す場合に、通常動作モード時の内部信号をテスト対象のメモリ７６に入力し、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがテストモードを表す場合に、テスト対象のメモリ７６からパラレルメモリデータ出力信号Ｑ［ｘ：０］が読み出されるように、テストアドレス信号ＡＤＲ１［ｉ：０］およびテストクロック信号ＣＬＫＯＵＴを含むテスト信号をテスト対象のメモリ７６に入力するものであり、４つのマルチプレクサ７２Ａ，７２Ｂ，７２Ｃ，７２Ｄを備えている。
【００５２】
マルチプレクサ７２Ａ，７２Ｂ，７２Ｃ，７２Ｄの入力端子０には、それぞれ対応する通常動作モード時の内部信号（図示省略）が入力され、選択入力端子には、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥが入力されている。マルチプレクサ７２Ａ，７２Ｂ，７２Ｃ，７２Ｄの入力端子１には、メモリ７６をテストするためのテスト信号が入力されている。つまり、マルチプレクサ７２Ａの入力端子１には、メモリテスト設定部１４から、テストアドレス信号ＡＤＲ１［ｉ：０］のうちの、メモリ７６のアドレス信号のビット数に対応するビット数のテストアドレス信号ＡＤＲ１［ｙ：０］が、メモリアドレス信号Ａ［ｙ：０］として入力され、マルチプレクサ７２Ｄの入力端子１には、テストクロック信号ＣＬＫＯＵＴが入力されている。また、テストモード時に、テスト対象のメモリ７６からパラレルメモリデータ出力信号Ｑ［ｘ：０］が読み出されるように、マルチプレクサ７２Ｂの入力端子１は電源に接続され、マルチプレクサ７２Ｃの入力端子１はグランドに接続されている。
マルチプレクサ７２Ａ，７２Ｂ，７２Ｃ，７２Ｄの出力信号は、それぞれ、メモリ７６のアドレス入力端子Ａ［ｙ：０］（ｙ≦ｉ）、ライトイネーブル信号入力端子ＷＥＮ、チップセレクト入力端子ＣＳＮ、クロック入力端子に入力されている。
また、メモリ７６のデータ入力端子Ｄ［ｘ：０］には、対応する通常動作モード時の内部信号（図示省略）が入力されている。
【００５３】
ここで、メモリ７６の種類は何ら限定されず、例えば、ＳＲＡＭ（スタティックＲＡＭ）、ＤＲＡＭ（ダイナミックＲＡＭ）等の各種のＲＡＭ（ランダムアクセスメモリ）、ＰＲＯＭ（プログラマブルＲＯＭ），ＥＰＲＯＭ（消去型プログラマブルＲＯＭ）、フラッシュメモリ等の各種のＲＯＭ（リードオンリーメモリ）であってもよい。
【００５４】
出力切替回路７０は、アクティブ状態となったメモリデータビット選択信号ＳＥＬ［ｍ：０］のビットに対応するパラレルメモリデータ出力信号Ｑ［ｘ：０］のビットをシリアルメモリデータ出力信号ＱＯＵＴ［ｐ］として順次出力するものであり、メモリ７６から出力されるパラレルメモリデータ出力信号Ｑ［ｘ：０］のビット数に相当する（ｘ＋１）個のマルチプレクサ７４［ｘ：０］（ここで、ｍ≧ｘ）を備えている。
【００５５】
マルチプレクサ７４［ｘ：０］のうち、マルチプレクサ７４［ｘ］の入力端子０はグランドに接続され、マルチプレクサ７４［ｘ−１：０］の入力端子０には、それぞれ、マルチプレクサ７４［ｘ：１］の出力信号が入力されている。マルチプレクサ７４［ｘ：０］の入力端子１には、それぞれ、メモリ７６のデータ出力端子Ｑ［ｘ：０］からパラレルメモリデータ出力信号Ｑ［ｘ：０］が入力され、選択入力端子には、それぞれ、メモリ出力制御部１８から、メモリデータビット選択信号ＳＥＬ［ｍ：０］のうち、パラレルメモリデータ出力信号Ｑ［ｘ：０］のビット数に対応するビット数のメモリデータビット選択信号ＳＥＬ［ｘ：０］が入力されている。マルチプレクサ７４［０］からは、シリアルメモリデータ出力信号ＱＯＵＴ［ｐ］が出力されている。
【００５６】
他のメモリデータ出力部２０［ｐ−１：０］の構成も同じであり、メモリデータ出力部２０［ｐ：０］からは、それぞれ、シリアルメモリデータ出力信号ＱＯＵＴ［ｐ：０］が出力されている。
【００５７】
続いて、入出力制御部２２は、テストクロック信号ＣＬＫＯＵＴに同期してシリアルメモリデータ出力信号ＱＯＵＴをシリアルデータ出力信号ＳＤＯとして順次出力し、テストクロック信号ＣＬＫＯＵＴをシリアルクロック出力信号ＳＣＬＫＯとして順次出力するとともに、初期化されると非アクティブ状態となり、テスト設定データ信号が設定されると、テストクロック信号ＣＬＫＯＵＴに同期してアクティブ状態となる出力イネーブル信号ＥＮＬを出力するものである。
【００５８】
入出力制御部２２は、図７に示すように、マルチプレクサ７８と、ＦＦ８０Ａ（第１保持回路）と、ＦＦ８０Ｂ（第３保持回路）と、ＦＦ８０ＣおよびＯＲ回路８２（第２保持回路）とを備えている。
【００５９】
マルチプレクサ７８は、複数のメモリデータ出力部２０［ｐ：０］の各々から出力されるシリアルメモリデータ出力信号ＱＯＵＴ［ｐ：０］の中から、メモリ指定信号ＡＤＲ２［ｊ：０］により指定されたテスト対象のメモリ７６から出力されたシリアルメモリデータ出力信号ＱＯＵＴを出力するものである。
マルチプレクサ７８の入力端子には、メモリデータ出力部２０［ｐ：０］からシリアルメモリデータ出力信号ＱＯＵＴ［ｐ：０］が入力され、選択入力端子には、メモリテスト設定部１４からメモリ指定信号ＡＤＲ２［ｊ：０］が入力されている。マルチプレクサ７８からは、メモリデータ出力部２０［ｐ：０］から入力されるシリアルメモリデータ出力信号ＱＯＵＴ［ｐ：０］の中から、メモリ指定信号ＡＤＲ２［ｊ：０］によって指定されるメモリデータ出力部２０のシリアルメモリデータ出力信号ＱＯＵＴが出力されている。
【００６０】
ＦＦ８０Ａは、リセット信号ＲＳＴＮがアクティブ状態になると初期化され、リセット信号ＲＳＴＮが非アクティブ状態になると、テストクロック信号ＣＬＫＯＵＴに同期して、マルチプレクサ７８から出力されたシリアルメモリデータ出力信号ＱＯＵＴを保持し、シリアルデータ出力信号ＳＤＯとして出力するものである。
【００６１】
ＦＦ８０Ｂは、リセット信号ＲＳＴＮがアクティブ状態になると初期化されて非アクティブ状態となり、リセット信号ＲＳＴＮが非アクティブ状態になると、テストクロック信号ＣＬＫＯＵＴに同期してアクティブ状態となる出力イネーブル信号ＥＮＬを保持して出力するものである。
【００６２】
ＦＦ８０Ｃは、リセット信号ＲＳＴＮがアクティブ状態になると初期化されて非アクティブ状態となり、リセット信号ＲＳＴＮが非アクティブ状態になると、テストクロック信号に同期してアクティブ状態となるシリアルクロック出力制御信号ＳＣＬＫＯ＿ｐｒｅを保持するものである。ＯＲ回路８２は、シリアルクロック出力制御信号ＳＣＬＫＯ＿ｐｒｅがアクティブ状態になると、テストクロック信号ＣＬＫＯＵＴをシリアルクロック出力信号ＳＣＬＫＯとして出力するものである。
【００６３】
ＦＦ８０Ａの反転クロック入力端子およびＦＦ８０Ｂ，８０Ｃのクロック入力端子には、テストクロック発生部１６からテストクロック信号ＣＬＫＯＵＴが入力され、反転セット端子Ｓには、メモリテスト設定部１４からリセット信号ＲＳＴＮが入力されている。ＦＦ８０Ａのデータ入力端子Ｄには、マルチプレクサ７８の出力信号が入力され、ＦＦ８０Ｂ，８０Ｃのデータ入力端子はグランドに接続されている。ＯＲ回路８２には、ＦＦ８０Ｃのデータ出力端子Ｑからシリアルクロック出力制御信号ＳＣＬＫＯ＿ｐｒｅ、および、テストクロック発生部１６からテストクロック信号ＣＬＫＯＵＴが入力されている。ＦＦ８０Ａ，８０ＢおよびＯＲ回路８２からは、それぞれ、シリアルデータ出力信号ＳＤＯ、出力イネーブル信号ＥＮＬ、シリアルクロック出力信号ＳＣＬＫＯが出力されている。
【００６４】
次に、図８に示すフローチャートを参照しながら、テスト回路１０の概略動作を説明する。
【００６５】
プリント基板に実装された半導体装置が仕様通りに動作しない場合、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥをＬにして通常動作モードに設定し、通常動作モードにて不具合状態を再現する（ステップＳ１）。
【００６６】
通常動作モードにて不具合の発生が再現された場合、続いて、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥをＨにしてテストモードに設定する（ステップＳ２）。
【００６７】
デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがテストモードを表すＨになると、メモリ出力制御部１８の、クリア信号ＣＬＲは非アクティブ状態のＨ（クリア解除）になる（ステップＳ３）。
【００６８】
クリア信号ＣＬＲがＨとなることで、メモリ出力制御部１８のＦＦ５８［ｎ：０］と、メモリテスト設定部１４のＦＦ４０［ｉ：０］，４２［ｊ：０］，４４のクリアが解除される。しかし、メモリテスト設定部１４のクリア信号ＣＬＲが解除されても、リセット信号ＲＳＴＮは、Ｌを維持されるため、入出力制御部２２の、出力イネーブル信号ＥＮＬは初期化されて非アクティブ状態のＨであり、入出力部１２は入力モードとなる。つまり、シリアルデータＳＤＡおよびシリアルクロックＳＣＬの入出力ピンは入力モードに固定される（ステップＳ４）。
【００６９】
これにより、テスト回路１０は、テストアドレス信号ＡＤＲ１［ｉ：０］、メモリ指定信号ＡＤＲ２［ｊ：０］、リセット信号ＲＳＴＮを含むテスト設定データ信号が設定されるのを待機する状態となる（ステップＳ５）。
【００７０】
続いて、テストを終了するか否かの判定を行う（ステップＳ６）。
【００７１】
テストを続行する場合（ステップＳ６でＮｏ）、続いて、テスト設定データ信号の入力があるか否かの判定を行う（ステップＳ７）。
【００７２】
テスト設定データ信号の入力がない場合（ステップＳ７でＮｏ）、ステップＳ５に戻り、テスト設定データ信号が入力されるのを待機する。
【００７３】
テスト設定データ信号が入力される場合（ステップＳ７でＹｅｓ）、入出力部１２のシリアルデータＳＤＡおよびシリアルクロックＳＣＬの入出力ピンから、それぞれ、シリアルデータ入力信号ＳＤＩおよびシリアルクロック入力信号ＣＬＫが順次入力され、メモリテスト設定部１４のテストアドレス信号ＡＤＲ１［ｉ：０］、メモリ指定信号ＡＤＲ２［ｊ：０］、リセット信号ＲＳＴＮを含むテスト設定データ信号がシフトレジスタ３８に設定される（書き込まれる）（ステップＳ８）。
【００７４】
続いて、シフトレジスタ３８の最上位ビット、つまり、リセット信号ＲＳＴＮがＨ（１）に設定されたか否かの判定を行う（ステップＳ９）。
【００７５】
リセット信号ＲＳＴＮがＨに設定されていない場合（ステップＳ９でＮｏ）、ステップＳ８に戻り、テスト設定データ信号の設定が終了するのを待機する。
【００７６】
リセット信号ＲＳＴＮがＨに設定された場合（ステップＳ９でＹｅｓ）、テストクロック発生部１６のテストクロック信号ＣＬＫＯＵＴが動作を開始する（ステップＳ１０）。
【００７７】
入出力制御部２２の出力イネーブル信号ＥＮＬは、テストクロック信号ＣＬＫＯＵＴに同期してＬになり、入出力部１２は出力モードになる。つまり、シリアルデータＳＤＡおよびシリアルクロックＳＣＬの入出力ピンは出力モードに固定される（ステップＳ１１）。
【００７８】
続いて、テストアドレス信号ＡＤＲ１［ｉ：０］によって指定されるメモリデータ出力部２０のメモリ７６のメモリアドレスからパラレルメモリデータ出力信号Ｑ［ｘ：０］が読み出される。そして、メモリデータビット選択信号ＳＥＬ［ｘ：０］の順序で１ビットだけが順次アクティブ状態のＨとなる度に、対応するパラレルメモリデータ出力信号Ｑ［ｘ：０］のビットが、シリアルメモリデータ出力信号ＱＯＵＴ［ｐ：０］に変換される。
【００７９】
続いて、シリアルメモリデータ出力信号ＱＯＵＴ［ｐ：０］の中から、メモリ指定信号ＡＤＲ２［ｊ：０］によってメモリデータ出力部２０のシリアルメモリデータ出力信号ＱＯＵＴが一つ指定され、シリアルデータ出力信号ＳＤＯとして出力される。このシリアルデータ出力信号ＳＤＯは、入出力部１２からシリアルデータＳＤＡの入出力ピンから出力される（読み出される）（ステップＳ１２）。
【００８０】
また、テストクロック信号ＣＬＫＯＵＴが、入出力制御部２２のシリアルクロック出力信号ＳＣＬＫＯとして出力される。このシリアルクロック出力信号ＳＣＬＫＯは、入出力部１２からシリアルクロックＳＣＬの入出力ピンに出力される（読み出される）（ステップＳ１２）。
【００８１】
続いて、メモリ出力制御部１８のカウンタ５２のカウント値ＣＮＴ［ｎ：０］がカウントアップ（＋１）され（ステップＳ１３）、カウントアップされたカウント値ＣＮＴ［ｎ：０］に対応するメモリデータビット選択信号ＳＥＬ［ｘ：０］のビットがアクティブ状態のＨとなる。
【００８２】
続いて、カウント値ＣＮＴ［ｎ：０］が一定値、図５の例では最大値であるオール１になったか否かの判定を行う（ステップＳ１４）。
【００８３】
カウント値ＣＮＴ［ｎ：０］がオール１になっていない場合（ステップＳ１４でＮｏ）、ステップＳ１２に戻り、シリアルデータ出力信号ＳＤＯおよびシリアルクロック出力信号ＳＣＬＫＯの出力を続ける。
【００８４】
カウント値ＣＮＴ［ｎ：０］がオール１になった場合（ステップＳ１４でＹｅｓ）、つまり、パラレルメモリデータ出力信号Ｑ［ｘ：０］の全てのビットに対応するシリアルメモリデータ出力信号ＱＯＵＴの出力が終了した場合、クリア信号ＣＬＲはアクティブ状態のＬになり（ステップＳ１５）、テスト回路１０は初期状態になる。
【００８５】
続いて、ステップＳ２に戻り、上記の動作を繰り返し行う。つまり、ステップＳ５〜Ｓ７において、新たなテスト設定データ信号をシフトレジスタ３８に設定し、テスト対象のメモリおよびメモリアドレスを変更してテストを続行する。
【００８６】
テストを続行しない場合（ステップＳ６でＹｅｓ）、テストを終了する。
【００８７】
次に、テスト回路１０の詳細動作を説明する。
【００８８】
通常動作モード時には、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥはＬに設定される。
【００８９】
デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥが通常動作モードを表すＬに設定されると、図９に示すように、メモリ出力制御部１８のクリア信号生成回路５４を構成する出力段のＡＮＤ回路６６から出力されるクリア信号ＣＬＲはアクティブ状態のＬになる。クリア信号ＣＬＲがＬになると、カウンタ５２はリセット（初期化）されてカウント値ＣＮＴ［ｎ：０］は０、クリア信号生成回路５４を構成する（ｎ−１）個のＡＮＤ回路６０［ｎ−１：１］の出力信号はオールＬ、従って、ＮＡＮＤ回路６２の出力信号はＨ、複数のバッファ回路６４の出力信号もＨ、デコーダ５６から出力されるメモリデータビット選択信号ＳＥＬ［０］はアクティブ状態のＨ、その他のメモリデータビット選択信号ＳＥＬ［ｍ：１］は非アクティブ状態のＬになる。
【００９０】
また、クリア信号ＣＬＲがＬになると、メモリテスト設定部１４のシフトレジスタ３８はリセット（初期化）され、テストアドレス信号ＡＤＲ１［ｉ：０］、メモリ指定信号ＡＤＲ２［ｊ：０］はオールＬ（オール０）、リセット信号ＲＳＴＮはアクティブ状態のＬ（０）になる。従って、ＯＲ回路３６は、入出力部１２から入力されるシリアルクロック入力信号ＣＬＫを、出力信号ＣＬＫＭとして出力することができる状態となる。
【００９１】
また、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがＬになると、テストクロック発生部１６のリングオシレータ４６は停止する。リセット信号ＲＳＴＮはＬになるから、カウンタ４８を構成するＦＦ５０［ｋ］〜［０］はリセット（初期化）されて内部クロック信号ＣＬＫ［ｋ：０］はオールＨ、テストクロック信号ＣＬＫＯＵＴはＬになる。つまり、テストクロック信号ＣＬＫＯＵＴは動作しない。
【００９２】
また、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがＬになると、メモリデータ出力部２０［ｐ：０］の入力切替回路６８を構成するマルチプレクサ７２Ａ，７２Ｂ，７２Ｃ，７２Ｄからは、入力端子０に入力された信号、つまり、それぞれ対応する通常動作モード時の内部信号が出力されてメモリ７６に入力される。メモリデータビット選択信号ＳＥＬ［０］はＨ、その他のメモリデータビット選択信号ＳＥＬ［ｍ：１］はＬになるから、出力切替回路７０を構成するマルチプレクサ７４［ｘ：０］のうち、マルチプレクサ７４［ｘ：１］からは、入力端子０に入力された信号、つまり、Ｌが出力され、マルチプレクサ７４［０］からは、入力端子１に入力された信号、つまり、パラレルメモリデータ出力信号Ｑ［０］が、シリアルメモリデータ出力信号ＱＯＵＴ［ｐ：０］として出力される。
【００９３】
また、メモリ指定信号ＡＤＲ２［ｊ：０］はオールＬであるから、入出力制御部２２のマルチプレクサ７８からは、メモリデータ出力部２０［０］のシリアルメモリデータ出力信号ＱＯＵＴ［０］が出力される。リセット信号ＲＳＴＮはＬになるから、入出力制御部２２を構成するＦＦ８０Ａ，８０Ｂ，８０Ｃはセット（初期化）され、シリアルデータ出力信号ＳＤＯはＨ、シリアルクロック出力制御信号ＳＣＬＫＯ＿ｐｒｅは非アクティブ状態のＨ、ＯＲ回路８２から出力されるシリアルクロック出力信号ＳＣＬＫＯもＨ、出力イネーブル信号ＥＮＬは非アクティブ状態のＨになる。
【００９４】
また、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがＬになると、入出力部１２のマルチプレクサ３２Ａ，３４Ａおよびマルチプレクサ３２Ｂ，３４Ｂからは、入力端子０に入力された信号、つまり、それぞれ対応する通常動作モード時の内部信号が出力される。
【００９５】
一方、テストモード時には、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがＨに設定される。
【００９６】
メモリ出力制御部１８のクリア信号生成回路５４を構成する出力段のＡＮＤ回路６６の他方の入力端子はＨであるから、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがテストモードを表すＨになると、図９に示すように、クリア信号ＣＬＲは非アクティブ状態のＨ（クリア解除）になる。クリア信号ＣＬＲがＨになると、カウンタ５２のリセットは解除され、テストクロック信号ＣＬＫＯＵＴの立ち下がりに同期して、カウント値ＣＮＴ［ｎ：０］が順次カウントアップする状態となる。
【００９７】
また、クリア信号ＣＬＲがＨになると、メモリテスト設定部１４のシフトレジスタ３８のリセットが解除され、ＯＲ回路３６の出力信号ＣＬＫＭの立ち上がりに同期して、シフトレジスタ３８がシフトする状態となる。
【００９８】
また、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがＨになると、テストクロック発生部１６のリングオシレータ４６は発振クロックの生成を開始する。なお、リセット信号ＲＳＴＮが非アクティブ状態のＨに設定されるまで、テストクロック発生部１６のカウンタ４８のリセットは解除されないため、テストクロック信号ＣＬＫＯＵＴはＬのままの状態である。
【００９９】
また、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがＨになると、メモリデータ出力部２０［ｐ：０］の入力切替回路６８を構成するマルチプレクサ７２Ａ，７２Ｂ，７２Ｃ，７２Ｄからは、入力端子１に入力された信号、つまり、マルチプレクサ７２Ａからはメモリアドレス信号Ａ［ｙ：０］が、マルチプレクサ７２Ｄからはテストクロック信号ＣＬＫＯＵＴが、マルチプレクサ７２Ｂからはライトイネーブル信号ＷＥＮとしてディスエーブル状態であるＨが、マルチプレクサ７２Ｃからはチップセレクト信号ＣＳＮとしてセレクト状態であるＬが出力され、メモリ７６の対応する入力端子に入力される。つまり、メモリ７６は、テストクロック信号ＣＬＫＯＵＴの立ち上がりに同期して、メモリアドレス信号Ａ［ｙ：０］によって指定されるメモリアドレスからパラレルメモリデータ出力信号Ｑ［ｘ：０］を読み出すことができる状態になる。
【０１００】
また、デバッグモード信号ＤＥＢＵＧ＿ＭＯＤＥがＨになると、入出力部１２のマルチプレクサ３２Ａからはシリアルデータ出力信号ＳＤＯが、マルチプレクサ３２Ｂからはシリアルクロック出力信号ＳＣＬＫＯが、マルチプレクサ３４Ａ，３４Ｂからは出力イネーブル信号ＥＮＬが出力される。出力イネーブル信号ＥＮＬはＨであるから、入出力部１２は入力モードになり、シリアルデータＳＤＡおよびシリアルクロックＳＣＬの入出力ピンは入力モードに固定される。
【０１０１】
つまり、テスト回路１０は、テストアドレス信号ＡＤＲ１［ｉ：０］、メモリ指定信号ＡＤＲ２［ｊ：０］、リセット信号ＲＳＴＮを含むテスト設定データ信号が設定されるのを待機する状態となる。つまり、シリアルデータＳＤＡおよびシリアルクロックＳＣＬの入出力ピンから、それぞれ、シリアルデータ入力信号ＳＤＩおよびシリアルクロック入力信号ＣＬＫを入力することができる状態になる。
【０１０２】
続いて、テストアドレス信号ＡＤＲ１［ｉ：０］、メモリ指定信号ＡＤＲ２［ｊ：０］、リセット信号ＲＳＴＮを含むテスト設定データ信号の設定が行われる。
【０１０３】
出力イネーブル信号ＥＮＬはＨであるから、入出力部１２の第１および第２入出力回路２４Ａ，２４Ｂは入力モードになっている。この状態で、シリアルデータＳＤＡおよびシリアルクロックＳＣＬの入出力ピンから、それぞれ、シリアルデータＳＤＡおよびシリアルクロックＳＣＬが同期されて順次入力される。入力バッファ２６Ａ，２６Ｂからは、シリアルデータＳＤＡおよびシリアルクロックＳＣＬに相当するシリアルデータ入力信号ＳＤＩおよびシリアルクロック入力信号ＣＬＫが順次出力される。
【０１０４】
メモリテスト設定部１４のシフトレジスタ３８は、シリアルクロック入力信号ＣＬＫ、つまり、ＯＲ回路３６の出力信号ＣＬＫＭの立ち上がりに同期して、順次入力された一定ビット数のシリアルデータ入力信号ＳＤＩを順次シフトしてパラレルデータ入力信号に変換して保持する。これにより、図１０に示すように、テスト設定データ信号として、テストアドレス信号ＡＤＲ１［ｉ：０］、メモリ指定信号ＡＤＲ２［ｊ：０］、リセット信号ＲＳＴＮがシフトレジスタ３８に設定される。
【０１０５】
ここでは、図１１に示すように、８ビットのテストアドレス信号ＡＤＲ１［７：０］としてａ１７〜ａ１０、および、メモリ指定信号ＡＤＲ２［７：０］としてａ２７〜ａ２０を設定する場合を例に挙げて説明する。
シリアルデータ入力信号ＳＤＩは、リセット信号ＲＳＴＮ、メモリ指定信号ＡＤＲ２［７：０］のａ２７〜ａ２０、テストアドレス信号ＡＤＲ１［７：０］のａ１７〜ａ１０の順序で順次入力される。また、リセット信号ＲＳＴＮには必ずＨ（１）が入力される。
【０１０６】
図１２に示すように、まず、図１１に示すシフト０（初期値）の状態から、リセット信号ＲＳＴＮのＨ（１）にあたる信号が、シリアルデータＳＤＡ，つまり、シリアルデータ入力信号ＳＤＩとして入力されると、シリアルクロックＳＣＬ、つまり、シリアルクロック入力信号ＣＬＫ、つまり、ＯＲ回路３６の出力信号ＣＬＫＭの立ち上がりに同期して、シフトレジスタ３８のＦＦ４０［０］に保持され、図１１に示すシフト１の状態になる。
【０１０７】
続いて、図１１に示すシフト１の状態から、シリアルデータ入力信号ＳＤＩとして、メモリ指定信号ＡＤＲ２［７］のａ２７が入力されると、次のシリアルクロック入力信号ＣＬＫの立ち上がりに同期して、ＦＦ４０［０］に保持されたリセット信号ＲＳＴＮのＨ（１）が次段のＦＦ４０［１］へシフトされるのと同時に、メモリ指定信号ＡＤＲ２［７］のａ２７はＦＦ４０［０］に保持され、図１１に示すシフト２の状態になる。
【０１０８】
これ以後同様に、図１１のシフト３〜１６に示すように、シリアルデータ入力信号ＳＤＩが入力される度に、シリアルクロック入力信号ＣＬＫの立ち上がりに同期して、ＦＦ４０［７：０］、および、ＦＦ４２［７：０］のデータ出力端子Ｑから出力された信号が順次次段のＦＦ４０［７：１］、ＦＦ４２［７：０］、および、最終段のＦＦ４４にシフトされて保持される。
【０１０９】
そして、図１１のシフト１７に示すように、最終段のＦＦ４４にリセット信号ＲＳＴＮのＨ（１）が設定される、つまり、テストアドレス信号ＡＤＲ１［７：０］およびメモリ指定信号ＡＤＲ２［７：０］が、それぞれ、ＦＦ４０［７：０］、および、ＦＦ４２［７：０］に設定されると、ＯＲ回路３６の出力信号ＣＬＫＭはＨに固定されるため、これ以後、シリアルクロック入力信号ＣＬＫの変化に係わらずシフト動作は行われない。
【０１１０】
続いて、テストクロック発生部１６では、図１３に示すように、リセット信号ＲＳＴＮがＨになると、カウンタ４８は、リセットが解除され、リングオシレータ４６から出力される発振クロックの立ち上がりに同期して動作する。
【０１１１】
ここでは、図１３に示すように、カウンタ４８が４ビットのダウンカウンタであり、ＦＦ５０［３：０］の反転データ出力端子ＱＢから内部クロック信号ＣＬＫ［３：０］が出力される場合を例に挙げて説明する。
【０１１２】
カウンタ４８は、リセット信号ＲＳＴＮがＨになった後、発振クロックの立ち上がりに同期して、内部クロック信号ＣＬＫ［３：０］がオールＨの状態からダウンカウントを開始する。そして、内部クロック信号ＣＬＫ［３：０］がオールＬになると、その次の発振クロックの立ち上がりに同期して再びオールＨとなり、これ以後、ダウンカウントを繰り返す。
テストクロック信号ＣＬＫＯＵＴは、内部クロック信号ＣＬＫ［３］の反転信号であり、Ｌの状態から、内部クロック信号ＣＬＫ［３］の周期で発振する。
【０１１３】
続いて、メモリ出力制御部１８では、テストクロック信号ＣＬＫＯＵＴが発振を開始すると、カウンタ５２は、テストクロック信号ＣＬＫＯＵＴの立ち下がりに同期して動作する。
【０１１４】
図１４に示すように、カウンタ５２は、クリア信号ＣＬＲがＨになった後、テストクロック信号ＣＬＫＯＵＴの立ち下がりに同期して、カウント値ＣＮＴ［ｎ：０］が０の状態からアップカウントを開始する。
【０１１５】
カウント値ＣＮＴ［ｎ：０］が０の時、カウント値ＣＮＴ［ｎ：０］の０に対応するメモリデータビット選択信号ＳＥＬ［０］のみがアクティブ状態のＨであり、その他のメモリデータビット選択信号ＳＥＬ［ｍ：１］は非アクティブ状態のＬとなっている。カウント値ＣＮＴ［ｎ：０］が１になると、カウント値ＣＮＴ［ｎ：０］の１に対応するメモリデータビット選択信号ＳＥＬ［１］のみがＨとなり、これ以後同様に、カウント値ＣＮＴ［ｎ：０］がアップカウントされる度に、カウント値ＣＮＴ［ｎ：０］に対応する１ビットのメモリデータビット選択信号ＳＥＬのみが順次Ｈとなる。
【０１１６】
続いて、リセット信号ＲＳＴＮがＨ、つまり、テスト設定データ信号のテストアドレス信号ＡＤＲ１［ｉ：０］およびメモリ指定信号ＡＤＲ２［ｊ：０］がメモリテスト設定部１４のシフトレジスタ３８に設定されると、テストアドレス信号ＡＤＲ１［ｉ：０］のうち、メモリ７６のアドレス信号のビット数に対応するビット数のテストアドレス信号ＡＤＲ１［ｙ：０］が、メモリアドレス信号Ａ［ｙ：０］としてメモリデータ出力部２０［ｐ：０］に入力される。
【０１１７】
例えば、メモリデータ出力部２０［０］では、入力切替回路６８を構成するマルチプレクサ７２Ａからはメモリアドレス信号Ａ［ｙ：０］が、マルチプレクサ７２Ｄからはテストクロック信号ＣＬＫＯＵＴが、マルチプレクサ７２Ｂからはライトイネーブル信号ＷＥＮとしてディスエーブル状態であるＨが、マルチプレクサ７２Ｃからはチップセレクト信号ＣＳＮとしてセレクト状態であるＬが出力され、メモリ７６の対応する入力端子に入力される。従って、図１５に示すように、テストクロック信号ＣＬＫＯＵＴの立ち上がりに同期して、メモリアドレス信号Ａ［ｙ：０］によって指定されるメモリアドレスからパラレルメモリデータ出力信号Ｑ［ｘ：０］が読み出される。
【０１１８】
メモリデータビット選択信号ＳＥＬ［ｘ：０］は、テストクロック信号ＣＬＫＯＵＴの立ち下がりに同期して、メモリデータビット選択信号ＳＥＬ［ｘ：０］の順序で１ビットだけが順次アクティブ状態のＨであるから、図１６に示すように、メモリデータビット選択信号ＳＥＬ［０］だけがＨになると、出力切替回路７０を構成するマルチプレクサ７４［ｘ：１］からは、入力端子０に入力された信号、つまり、Ｌが出力され、マルチプレクサ７４［０］からは、シリアルメモリデータ出力信号ＱＯＵＴ［０］として、入力端子１に入力された信号、つまり、パラレルメモリデータ出力信号Ｑ［０］が出力される。
【０１１９】
続いて、メモリデータビット選択信号ＳＥＬ［１］だけがＨになると、マルチプレクサ７４［ｘ：２］からは、入力端子０に入力された信号、つまり、Ｌが出力され、マルチプレクサ７４［１］からは、入力端子１に入力された信号、つまり、パラレルメモリデータ出力信号Ｑ［１］が出力され、マルチプレクサ７４［０］からは、シリアルメモリデータ出力信号ＱＯＵＴ［０］として、入力端子０に入力された信号、つまり、マルチプレクサ７４［１］の出力信号であるパラレルメモリデータ出力信号Ｑ［１］が出力される。
【０１２０】
これ以後も同様に動作する。つまり、メモリデータビット選択信号ＳＥＬ［ｘ：０］の順序で１ビットだけが順次Ｈとなる度に、シリアルメモリデータ出力信号ＱＯＵＴ［０］として、対応するパラレルメモリデータ出力信号Ｑ［ｘ：０］のビットが順次出力される。
他のメモリデータ出力部２０［ｐ：１］の動作も同様であり、メモリデータ出力部２０［ｐ：０］からは、それぞれ、シリアルメモリデータ出力信号ＱＯＵＴ［ｐ：０］が順次出力される。
【０１２１】
続いて、入出力制御部２２では、図１７に示すように、メモリデータ出力部２０［ｐ：０］のシリアルメモリデータ出力信号ＱＯＵＴ［ｐ：０］の中から、メモリ指定信号ＡＤＲ２［ｊ：０］によって指定されるメモリデータ出力部２０のシリアルメモリデータ出力信号ＱＯＵＴがマルチプレクサ（ＭＵＸ）７８から出力される。図１７の例では、メモリデータ出力部２０［０］のシリアルメモリデータ出力信号ＱＯＵＴ［０］がマルチプレクサ（ＭＵＸ）７８から出力されている。
【０１２２】
また、図１８に示すように、リセット信号ＲＳＴＮがＨになると、入出力制御部２２を構成するＦＦ８０Ａ，８０Ｂ，８０Ｃのセットが解除される。
これにより、出力イネーブル信号ＥＮＬは、テストクロック信号ＣＬＫＯＵＴの立ち上がりに同期してアクティブ状態のＬとなり、入出力部１２の第１および第２入出力回路２４Ａ，２４Ｂは出力モードとなる。この場合、出力バッファ２８Ａ，２８Ｂから、それぞれ、シリアルデータ出力信号ＳＤＯおよびシリアルクロック出力信号ＳＣＬＫＯが、シリアルデータＳＤＡおよびシリアルクロックＳＣＬの入出力ピンに出力される状態となる。
【０１２３】
また、図１９に示すように、リセット信号ＲＳＴＮがＨになると、テストクロック信号ＣＬＫＯＵＴの立ち下がりに同期して、マルチプレクサ７８から出力されるシリアルメモリデータ出力信号ＱＯＵＴが、シリアルデータ出力信号ＳＤＯとして順次出力される。このシリアルデータ出力信号ＳＤＯは、第１入出力回路２４Ａの出力バッファ２８ＡからシリアルデータＳＤＡの入出力ピンに順次出力される。
【０１２４】
また、シリアルクロック出力制御信号ＳＣＬＫＯ＿ｐｒｅは、テストクロック信号ＣＬＫＯＵＴの立ち上がりに同期してアクティブ状態のＬになり、ＯＲ回路８２から、テストクロック信号ＣＬＫＯＵＴが、シリアルクロック出力信号ＳＣＬＫＯとして順次出力される。このシリアルクロック出力信号ＳＣＬＫＯは、第２入出力回路２４Ｂの出力バッファ２８ＢからシリアルクロックＳＣＬの入出力ピンに順次出力される。
【０１２５】
メモリ出力制御部１８のカウンタ５２のカウント値ＣＮＴ［ｎ：０］が一定値、図５の例では最大値になると、図２０に示すように、クリア信号生成回路５４を構成するＡＮＤ回路６０［ｎ−１：１］の出力信号はオールＨ、従って、ＮＡＮＤ回路６２の出力信号はＬ、複数のバッファ回路６４の出力信号もＬになり、ＡＮＤ回路６６から出力されるクリア信号ＣＬＲは再びＬになる。
【０１２６】
クリア信号ＣＬＲがＬになった場合の動作は、通常動作モードにおいて、クリア信号ＣＬＲがＬになった場合の動作と同様である。つまり、テスト回路１０は初期状態となり、次のテスト設定データ信号が設定されるのを待つ待機状態となる。
これ以後の動作は同じである。
【０１２７】
なお、図２０に示すように、クリア信号ＣＬＲがＬとなり、メモリ出力制御部１８のカウンタ５２がリセットされて、カウント値ＣＮＴ［ｎ：０］が０になると、クリア信号生成回路５４のＡＮＤ回路６０［ｎ−１：１］の出力信号はオールＬ、ＮＡＮＤ回路６２の出力信号はＨ、複数のバッファ回路６４の出力信号もＨになり、ＡＮＤ回路６６から出力されるクリア信号ＣＬＲはＨに戻る。
【０１２８】
以上のように、テスト回路１０では、２つの外部ピンを確保することにより、半導体装置をプリント基板に実装したままの状態で、半導体装置に搭載されたメモリ７６から読み出されたメモリデータを、外部ピンから順次出力することができる。そのため、プリント基板から半導体装置を剥離する場合に生じる接合部分の破壊リスクを避けつつ、メモリデータがＬまたはＨにスタックしているか否か等の状態を外部で観測することができるようになる。
【０１２９】
なお、テスト回路を構成する入出力部、メモリテスト設定部、テストクロック発生部、メモリ出力制御部、メモリデータ出力部、入出力制御部の具体的な回路構成は何ら限定されず、同様の機能を実現する各種構成のものを使用することができる。
【０１３０】
本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【符号の説明】
【０１３１】
１０  テスト回路
１２  入出力部
１４  メモリテスト設定部
１６  テストクロック発生部
１８  メモリ出力制御部
２０  メモリデータ出力部
２２  入出力制御部
２４Ａ  第１入出力回路
２４Ｂ  第２入出力回路
２６Ａ、２６Ｂ  入力バッファ
２８Ａ、２８Ｂ  出力バッファ
３２Ａ、３２Ｂ、３４Ａ、３４Ｂ、７２Ａ、７２Ｂ、７２Ｃ、７２Ｄ、７４、７８  マルチプレクサ
３６、８２  ＯＲ回路
３８  シフトレジスタ
４０、４２、４４、５０、５８、８０Ａ、８０Ｂ、８０Ｃ  ＦＦ
４６  リングオシレータ
４８、５２  カウンタ
５４  クリア信号生成回路
５６  デコーダ
６０、６６  ＡＮＤ回路
６２  ＮＡＮＤ回路
６４  バッファ回路
６８  入力切替回路
７０  出力切替回路
７６  メモリ
【図１】
0006367083.tif 000002
【図２】
0006367083.tif 000003
【図３】
0006367083.tif 000004
【図４】
0006367083.tif 000005
【図５】
0006367083.tif 000006
【図６】
0006367083.tif 000007
【図７】
0006367083.tif 000008
【図８】
0006367083.tif 000009
【図９】
0006367083.tif 000010
【図１０】
0006367083.tif 000011
【図１１】
0006367083.tif 000012
【図１２】
0006367083.tif 000013
【図１３】
0006367083.tif 000014
【図１４】
0006367083.tif 000015
【図１５】
0006367083.tif 000016
【図１６】
0006367083.tif 000017
【図１７】
0006367083.tif 000018
【図１８】
0006367083.tif 000019
【図１９】
0006367083.tif 000020
【図２０】
0006367083.tif 000021