(57)【要約】【課題】内部のテスト回路にテスト用の信号を入力するための端子を、より柔軟に設定することができる半導体集積回路を提供する。【解決手段】マイコン１の複数の入力端子３に対応して出力選択回路４，５とデータラッチ６，７とを配置し、テスト端子設定回路９が、データラッチ６，７に対してラッチ信号，並びにリセット信号を出力することで、出力選択回路４，５は、設定に応じて入力端子３に与えられる信号をテスト回路８側にも出力させる。そして、テスト回路８は、入力端子３より出力選択回路４，５を経由して与えられるテストデータに基づいて主回路部２の機能をテストする。【選択図】図１
2008128896.tif 000002
【特許請求の範囲】
【請求項１】
所定の回路動作を成すように構成される主回路部と、この主回路部に対して外部より信号を入力するための複数の外部端子と、前記主回路部の機能をテストするためのテスト回路とを備えてなる半導体集積回路において、
前記複数の外部端子に対応して夫々配置され、各外部端子の信号出力先を、前記テスト回路側にも出力するための選択回路と、
入力端子が前記複数の外部端子に夫々出力され、前記選択回路に、前記信号出力先を前記テスト回路側に出力させる選択信号を出力する複数のデータラッチと、
これら複数のデータラッチに対してラッチ信号，並びにリセット信号を出力するように構成されるテスト端子設定回路とを備え、
前記テスト回路は、前記外部端子より前記選択回路を経由して与えられるテストデータに基づいて、前記主回路部の機能をテストするように構成されることを特徴とする半導体集積回路。
【請求項２】
前記選択回路及び前記データラッチを、１つの外部端子に対して複数組み直列に配置し、
前記テスト端子設定回路は、前記各組みのデータラッチに対して、前記ラッチ信号を異なるタイミングで出力するように構成されることを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記テスト端子設定回路は、外部端子として、当該回路の機能を有効化するためのイネーブル端子，当該回路の状態をリセットするためのリセット端子，クロック入力端子を備えると共に、前記主回路部に対して内部リセット信号を出力するように構成され、
前記イネーブル端子が無効レベルの場合に、前記データラッチをリセットし、
前記リセット端子がリセットレベルになると、前記内部リセット信号をリセットレベルにして、
外部より前記クロック入力端子にクロック信号が入力されている状態で、前記イネーブル端子が有効レベルになり、且つ、前記リセット端子によりリセットが解除されると、その時点から所定時間の経過後に前記クロック信号に同期して前記ラッチ信号を出力し、
前記ラッチ信号を出力した時点から所定時間の経過後に、前記クロック信号に同期して前記内部リセット信号によるリセットを解除させることを特徴とする請求項１又は２記載の半導体集積回路。
【請求項４】
前記テスト端子設定回路は、前記クロック入力端子に与えられるクロック信号を、前記主回路部に対する動作用クロック信号としても供給するように構成されることを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記テスト端子設定回路は、前記イネーブル端子に与えられる信号を、前記主回路部に対するテストモード切替信号として出力するように構成されることを特徴とする請求項３又は４記載の半導体集積回路。
【請求項６】
前記テスト端子設定回路は、前記イネーブル端子が無効レベルである場合は、前記ラッチ信号を出力することなく、前記内部リセット信号のレベルを「リセット」から「リセット解除」に変化させることを特徴とする請求項３乃至５の何れかに記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の回路動作を成すように構成される主回路部と、その主回路部の機能をテストするためのテスト回路とを備えてなる半導体集積回路に関する。
【背景技術】
【０００２】
半導体集積回路については、チップサイズ又はパッケージサイズの小型化を図るために、外部端子数を削減することが常に要求されている。例えば、特許文献１には、シリアル入出力端子を用いてテスト用のコマンドを入力したり、テスト結果データを出力することで、回路機能をテストするための端子を削減した構成が開示されている。
【特許文献１】特開２００５−８５２１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
一方、半導体集積回路については、要求される機能のバリエーションもより多様化する傾向にある。そのため、同一のチップを流用してよりピン数が少ないパッケージのＩＣを構成したり、或いはＭＣＰ（マルチチップパッケージ）を構成するケースなども増えてきている。
しかしながら、特許文献１に開示されている技術では、テスト信号の入出力用端子として設定された端子は、必ずパッケージの外部に引き出す必要がある。従って、上記のように同一のチップを流用しようとする場合、外部端子の配列に制約が生じるなどの問題が発生している。
【０００４】
本発明は上記事情に鑑みてなされたものであり、その目的は、内部のテスト回路にテスト用の信号を入力するための端子を、より柔軟に設定することができる半導体集積回路を提供することにある。
【課題を解決するための手段】
【０００５】
請求項１記載の半導体集積回路によれば、複数の外部端子に対応して選択回路とデータラッチとを配置し、テスト端子設定回路が、複数のデータラッチに対してラッチ信号，並びにリセット信号を出力することで、選択回路は、設定に応じて外部端子に入力される信号をテスト回路側に出力させる。そして、テスト回路は、外部端子より選択回路を経由して与えられるテストデータに基づいて主回路部の機能をテストする。
即ち、データラッチに対してラッチ信号が出力されるタイミングで、外部端子の夫々にデータを与えれば、外部端子の何れか１つに与えられる信号がテスト回路に出力されるように選択回路を設定することができる。従って、テスト信号を入力するための端子（テスト端子）をフレキシブルに設定することができ、同一の半導体チップを流用する場合にレイアウトの自由度を高めることができる。
【０００６】
請求項２記載の半導体集積回路によれば、選択回路及びデータラッチを、１つの外部端子に対して複数組み直列に配置し、テスト端子設定回路は、各組みのデータラッチに対してラッチ信号を異なるタイミングで出力するので、テスト端子に複数のテスト信号を与えることができる。
【０００７】
請求項３記載の半導体集積回路によれば、テスト端子設定回路は、イネーブル端子が無効レベルの場合にデータラッチをリセットし、リセット端子がリセットレベルになると内部リセット信号をリセットレベルにする。そして、外部よりクロック信号が入力されている状態でイネーブル端子が有効レベルになり、且つリセット端子によりリセットが解除されるとその時点から所定時間の経過後にラッチ信号を出力し、その出力時点から所定時間の経過後に内部リセット信号によるリセットを解除させる。従って、テスト端子設定回路の動作タイミングを、外部より与えるクロック信号に同期させることができ、テスト端子の選択をより簡単に行うことができる。
【０００８】
請求項４記載の半導体集積回路によれば、テスト端子設定回路は、クロック入力端子に与えられるクロック信号を、主回路部に対する動作用クロック信号としても供給するので、テスト用のクロック信号と動作用クロック信号とを共通化して、外部端子を削減することができる。
【０００９】
請求項５記載の半導体集積回路によれば、テスト端子設定回路は、イネーブル端子に与えられる信号を、主回路部に対するテストモード切替信号として出力するので、主回路部をテストモードに切替えるための端子を別途設ける必要がなく、外部端子を更に削減することができる。
【００１０】
請求項６記載の半導体集積回路によれば、テスト端子設定回路は、イネーブル端子が無効レベルである場合は、ラッチ信号を出力することなく内部リセット信号のレベルを「リセット」から「リセット解除」に変化させる。従って、テスト端子設定回路を機能させない通常動作時においても、リセット端子に与える信号で主回路部をリセットさせることができるので、外部端子を更に削減することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施例について図面を参照して説明する。図１は、マイクロコンピュータ（半導体集積回路）１の内部構成を、本発明の要旨にかかる部分について示すものである。マイコン１は、例えば、ＣＰＵやゲートアレイなどの論理回路などで構成される主回路部２と、その主回路部２に対して外部より信号を入力するための複数の入力端子（外部端子）３（１）〜３（４）を備えている。
そして、各入力端子３（１）〜３（４）と主回路部２との間には、出力選択回路４（１）〜４（４），５（１）〜５（４）が直列に配置されている。また、それらの出力選択回路４（１）〜４（４），５（１）〜５（４）に対応して、データラッチ６（１）〜６（４），７（１）〜７（４）が配置されている。
【００１２】
初段の出力選択回路４は、入力端子３に与えられる信号を、次段の出力選択回路５に出力するか、主回路部２の機能をテストするためのテスト回路８にテスト信号１として出力するかを選択するもので、その出力選択は、データラッチ６の出力信号によって行なわれる。尚、出力選択回路４（１）〜４（４）の出力端子は共通に接続されている。そして、次段の出力選択回路５は、初段の出力選択回路４より与えられる信号を、主回路部２に出力するか、テスト回路８にテスト信号２として出力するかを選択するもので、その出力選択は、データラッチ７の出力信号によって行なわれる。尚、出力選択回路５（１）〜５（４）の出力端子も共通に接続されている。
【００１３】
出力選択回路４，５は、例えば、選択切替信号のレベルがハイの場合にテスト回路８側を選択し、選択切替信号のレベルがロウの場合は主回路部２側を選択する。また、出力選択回路４，５は、入力信号の出力選択がテスト回路８側になると、他方の出力端子をロウレベルに設定するように構成されている。
【００１４】
初段のデータラッチ６の入力端子Ｄは入力端子３に接続されており、出力端子Ｑは、出力選択回路４の選択信号入力端子Ｓに接続されている。そして、データラッチ６（１）〜６（４）のラッチ信号ＴＣＫ１は、テスト端子設定回路９によって共通に出力される。また、次段のデータラッチ７の入力端子Ｄは、出力選択回路４の出力端子に接続されており、出力端子Ｑは、出力選択回路５の選択信号入力端子Ｓに接続されている。そして、データラッチ７（１）〜７（４）のラッチ信号ＴＣＫ２も、テスト端子設定回路９によって共通に出力される。
【００１５】
テスト端子設定回路９は、上述したように、データラッチ６，７に対してラッチ信号ＴＣＫ１，ＴＣＫ２を出力することで、入力端子３（１）〜３（４）の内、何れか２つをテスト端子に設定する機能を成すもので、テスト端子設定回路９には、マイコン１の外部端子であるリセット端子１０，テスト端子１１，クロック入力端子１２が直接接続されている。
これらの内、テスト端子（ハイアクティブ）１１は、テスト端子設定回路９の機能を有効／無効化（イネーブル／ディスエーブル）するための端子であり、当該端子１１に与えられるテスト信号のレベルがロウの場合は、テスト端子設定回路９がリセット状態となる。また、上記テスト信号は、主回路部２にもそのまま出力されると共に、データラッチ６，７に対するリセット信号（ロウレベルでリセット）としても出力される。
【００１６】
クロック入力端子１２は、外部よりテスト端子設定回路９に動作用クロック信号を供給するための端子であり、テスト端子設定回路９は、そのクロック信号に同期して動作するようになっている。また、上記クロック信号は、主回路部２にも動作用クロック信号としてそのまま出力される。
【００１７】
リセット端子（ロウアクティブ）１０は、外部よりリセット信号を与えるための端子であり、テスト端子１１がハイレベルとなった後、リセット信号が解除されると、テスト端子設定回路９は、上記クロック信号に同期して制御シーケンスを開始するようになっている。また、テスト端子設定回路９は、主回路部２に対して内部リセット信号を出力するようになっており、外部信号によるリセットが解除された後所定時間が経過すると、主回路部２に対する内部リセットを解除するようになっている。
【００１８】
そして、テスト回路８は、外部よりテスト信号１，２として与えられる信号に基づき、テスト用のインストラクションを主回路部２に対して出力するようになっている。前記インストラクションは、テスト信号１，２によるデータそのものであっても良いし、テスト信号１，２による指示に基づきテスト回路８が所定のシーケンスに従って出力するものであっても良い。また、上記インストラクションは、具体的には図示しないが、主回路部２のデータバスに対し、バスバッファ等を介して出力されるようになっている。
【００１９】
次に、本実施例の作用について図２及び図３も参照して説明する。図２は、テスト端子設定回路９の動作を中心に示す各信号のタイミングチャートである。初期状態として、全ての信号はロウレベルであるとする。ユーザがマイコン１の機能をテストする場合には、入力端子３（１）〜３（４）や端子１０〜１２に図示しないテスト装置を接続し、そのテスト装置より、クロック信号（ａ），テスト信号（ｂ），外部リセット信号（ｃ）をマイコン１に出力すると共に、入力端子３（１）〜３（４）の内、テスト端子に設定する対象に応じたパターンのデータを出力する。
【００２０】
先ず、テスト装置よりクロック信号を供給し（図２（ａ）参照）、期間「０」でテスト信号をハイレベルにして（図２（ｂ）参照）テスト端子設定回路９をイネーブルにすると共に主回路部２をテストモードにする。それから、続く期間「１」で外部リセットを解除すると（図２（ｃ）参照）、テスト端子設定回路９がクロック同期で制御シーケンスを開始する。
【００２１】
すると、テスト端子設定回路９は、期間「３」でラッチ信号ＴＣＫ１を出力し（図２（ｄ）参照）、期間「５」でラッチ信号ＴＣＫ２出力する（図２（ｅ）参照）。そこで、テスト装置は、ラッチ信号ＴＣＫ１，ＴＣＫ２の出力タイミングに合わせて、テスト端子に設定する入力端子３に、ハイレベルのデータを出力する。図２の例では、端子３（１）をテスト信号１の入力端子、端子３（２）をテスト信号２の入力端子とするため、期間「２」〜「４」に亘って端子３（１）のレベルをハイに設定し（図２（ｉ）参照）、期間「４」〜「６」に亘って端子３（２）のレベルをハイに設定している（図２（ｈ）参照）。
【００２２】
データラッチ６，７は、ラッチ信号ＴＣＫ１，ＴＣＫ２の例えば立上りエッジでデータをラッチする。従って、データラッチ６（１），７（２）の出力端子Ｑのレベルが夫々ハイになり、出力選択回路４（１），５（２）は夫々テスト回路８側を選択するので、入力端子３（１），３（２）に与えられる信号が、それぞれテスト信号１，２としてテスト回路８に出力されるようになる。
【００２３】
その後、テスト端子設定回路９は、期間「８」において内部リセット信号をハイレベルに変化させて（図２（ｊ）参照）、主回路部２のリセットを解除する。従って、以降は入力端子３（１），３（２）をテスト端子としてテスト回路８にテスト信号１，２を与えれば、テスト回路８は、それに応じてテスト用のインストラクションを主回路部２に出力する。すると、主回路部２は、テスト回路８より与えられるインストラクションを実行するので、それにより回路機能がテストされる。
【００２４】
また、図３は、マイコン１の通常動作時に対応するタイミングチャートである。この場合、テスト信号をロウレベルとしてテスト端子設定回路９の主たる機能を無効化するが、期間「１」で外部リセット信号を解除すると（図３（ｃ）参照）、内部リセット信号は、図２と同様に期間「８」においてハイレベルとなるように構成されている（図３（ｊ）参照）。そして、その間にラッチ信号ＴＣＫ１，ＴＣＫ２は出力されない。従って、外部リセットの解除から内部リセットが解除されるまでの期間において、主回路部２の必要なリセット期間が確保されるので、リセット端子１０は、マイコン１の通常動作用のリセット端子としても使用可能となっている。
【００２５】
以上のように本実施例によれば、マイコン１の複数の入力端子３に対応して出力選択回路４，５とデータラッチ６，７とを配置し、テスト端子設定回路９が、データラッチ６，７に対してラッチ信号，並びにリセット信号を出力することで、出力選択回路４，５は、データラッチ６，７の出力レベル設定に応じて入力端子３に与えられる信号をテスト回路８側に出力させる。そして、テスト回路８は、入力端子３より出力選択回路４，５を経由して与えられるテストデータに基づいて主回路部２の機能をテストする。従って、テスト端子をフレキシブルに設定することができ、主回路部２を備えた同一の半導体チップを流用する場合に、レイアウトの自由度を高めることができる。
【００２６】
また、テスト端子設定回路９は、テスト端子１１が無効レベルの場合にデータラッチ６，７をリセットし、リセット端子１０がリセットレベルになると内部リセット信号をリセットレベルにする。そして、外部よりクロック信号が入力されている状態でテスト端子１１が有効レベルになり、且つリセット端子１０においてリセットが解除されるとその時点から所定時間の経過後にラッチ信号を出力し、その出力時点から所定時間の経過後に内部リセット信号によるリセットを解除させる。従って、テスト端子設定回路９の動作タイミングを、外部より与えるクロック信号に同期させることができ、テスト端子の選択をより簡単に行うことができる。
【００２７】
更に、テスト端子設定回路９は、クロック入力端子に与えられるクロック信号を主回路部２に対する動作用クロック信号としても供給するので、テスト用のクロック信号と動作用クロック信号とを共通化して、外部端子を削減することができる。また、テスト端子設定回路９は、テスト端子１１に与えられる信号を、主回路部２に対するテストモード切替信号として出力するので、主回路部２をテストモードに切替えるための端子を別途も受ける必要がなく、外部端子を更に削減することができる。
【００２８】
加えて、テスト端子設定回路９は、テスト端子が無効レベルである場合は、ラッチ信号を出力することなく内部リセット信号のレベルを「リセット」から「リセット解除」に変化させるので、マイコン１の通常動作時においても、リセット端子に与える信号で主回路部２をリセットさせることができ、外部端子を更に削減することができる。
【００２９】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
テスト信号入力用の端子数は３本以上に設定しても良い。例えば、主回路部に与えるテスト用のインストラクションデータが８ビットや１６ビットであれば、それに応じて８本，１６本を設定する。その場合、選択回路及びデータラッチの組みを、上記端子の設定数に応じて直列に接続すれば良い。
主回路部の信号入力部が、テストモード時におけるデータの入力を許容するように構成されている場合、出力選択回路は、外部端子に与えられたデータをテスト回路側に出力するか否かを決定するバッファで構成しても良い。
主回路部２の出力端子については図示を省略したが、入力端子側と同様の構成を出力端子側にも配置して、例えば、テスト結果のデータを外部に出力するための端子についても、任意に設定するように構成しても良い。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施例であり、マイクロコンピュータの構成を要旨に係る部分のみ示す図
【図２】テスト端子設定回路の動作を中心に示す各信号のタイミングチャート
【図３】マイコンの通常動作時に対応する図２の一部相当図
【符号の説明】
【００３１】
図面中、１はマイクロコンピュータ（半導体集積回路）、２は主回路部、３は入力端子（外部端子）、４，５は出力選択回路、６，７はデータラッチ、８はテスト回路、９はテスト端子設定回路、１０はリセット端子、１１はテスト端子（イネーブル端子）、１２はクロック入力端子を示す。
【図１】
2008128896.tif 000003
【図２】
2008128896.tif 000004
【図３】
2008128896.tif 000005