(57)【特許請求の範囲】
【請求項１】
所定の機能を有するマクロブロックと、
テストデータ入力モードのときは、前記マクロブロックに入力する入力データを選択し、テスト出力モードのときは、テスト入力データを選択する入力データ切替え手段と、
前記テスト入力データを記憶するテストデータ出力用記憶手段と、
前記入力データ切替え手段からのデータを記憶するテストデータ入力用記憶手段と、
通常動作時に前記マクロブロックからの出力データを出力し、前記テストデータ入力モードと前記テスト出力モードを含むテストモード時に、前記テストデータ出力用記憶手段からの出力データを出力する第１の出力データ切替え手段と、
前記テスト入力モード時において、前記テストデータ出力用記憶手段の出力データを選択し、前記テスト出力モード時において、前記テストデータ入力用記憶手段の出力データを選択し、選択した前記出力データをテストデータ出力端子に出力する第２の出力データ切替え手段とを備えたマクロテスト回路付きマクロブロックを用いて構成したことを特徴とする半導体集積回路。
【請求項２】
前記テストデータ入力用記憶手段は、テストクロック信号の第１のエッジに同期して前記入力データ切替え手段からのデータを記憶し、前記テストデータ出力用記憶手段は、テストクロック信号の前記第１のエッジと異なる第２のエッジに同期して前記テスト入力データを記憶することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記テストデータ入力モードのときは、前記テストクロック信号をそのまま前記テストデータ出力用記憶手段のテストクロック端子に出力し、前記テストデータ出力モードに切り替わったときは、切り替わる直前の前記テストクロック信号を保持しこのテストクロック信号を前記テストデータ出力用記憶手段のテストクロック端子に出力するテストクロック制御手段を設けることを特徴とする請求項１記載の半導体集積回路。
【請求項４】
前記第１の出力データ切替え手段は、ＯＲゲートであり、前記マクロブロックはリセット信号により“０”を前記第１の出力データ切替え手段に出力することを特徴とする請求項１記載の半導体集積回路。
【請求項５】
前記第１の出力データ切替え手段は、ＡＮＤゲートであり、前記マクロブロックはリセット信号により“１”を前記第１の出力データ切替え手段に出力することを特徴とする請求項１記載の半導体集積回路。
【請求項６】
前記第１の出力データ切替え手段は、通常動作時に前記マクロブロックからの出力データを出力し、前記テストモード時に、前記テストデータ出力用記憶手段からの出力データを出力するセレクタであることを特徴とする請求項１記載の半導体集積回路。
【請求項７】
所定の機能を有するマクロブロックと、
テストデータ入力モードのときは、前記マクロブロックに入力する入力データを選択し、テスト出力モードのときは、テスト入力データを選択する入力データ切替え手段と、前記入力データ切替え手段からのデータを記憶するテストデータ入力用記憶手段とを備える第１のマクロテスト入力回路と、
前記テストデータ入力モードのときは、前記マクロブロックに入力する入力データを選択し、前記テスト出力モードのときは、前段のマクロテスト入力回路を構成するテストデータ入力用記憶手段から出力されるデータを選択する入力データ切替え手段と、この入力データ切替え手段からのデータを記憶するテストデータ入力用記憶手段とを備える第ｍ（ｍは２以上の整数）のマクロテスト入力回路と、
前記テスト入力データを記憶するテストデータ出力用記憶手段と、通常動作時に前記マクロブロックからの出力データを出力し、前記テストデータ入力モードと前記テスト出力モードを含むテストモード時に、前記テストデータ出力用記憶手段からの出力データを出力する第１の出力データ切替え手段を備える第１のマクロテスト出力回路と、
前段のマクロテスト出力回路を構成するテストデータ出力用記憶手段からの出力データを記憶するテストデータ出力用記憶手段と、通常動作時に前記マクロブロックからの出力データを出力し、前記テストモード時に、前段のマクロテスト出力回路を構成するテストデータ出力用記憶手段からの出力データを出力する第１ｎ（ｎは２以上の整数）の出力データ切替え手段を備える第ｎのマクロテスト出力回路と、
前記テスト入力モード時において、前記第ｎのマクロテスト出力回路を構成する前記テストデータ出力用記憶手段の出力データを選択し、前記テスト出力モード時において、前記第ｍのマクロテスト入力回路を構成する前記テストデータ入力用記憶手段の出力データを選択し、選択した前記出力データをテストデータ出力端子に出力する第２の出力データ切替え手段とを備えたマクロテスト回路付きマクロブロックを用いて構成したことを特徴とする半導体集積回路。
【請求項８】
所定の機能を有するマクロブロック間の接続、及び外部端子と前記マクロブロックとの接続をテストするための半導体集積回路のテスト方法であって、
通常動作時に前記マクロブロックからの出力データを出力端子から出力する工程と、
テストデータ入力モードのときは、テストデータ入力用記憶手段に入力データを入力するとともに、テストデータ出力用記憶手段にテスト入力データを入力し、所定時間後に、前記テストデータ出力用記憶手段に格納されたデータを前記出力端子とテストデータ出力端子とに出力する工程と、
テストデータ出力モードのときは、前記テストデータ入力用記憶手段に格納されたデータを前記テストデータ出力端子に出力し、所定時間後に前記テスト入力データを前記テストデータ入力用記憶手段に取り込む工程と、
を備え、前記テストデータ入力モードと前記テストデータ出力モードを交互に繰り返すことを特徴とする半導体集積回路のテスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路及びそのテスト方法に関し、特にテスト回路内蔵のマクロを搭載した半導体集積回路及びそのテスト方法に関する。
【０００２】
【従来の技術】
最近半導体集積回路のシステム化及び大規模化が進んでおり、ＣＰＵ、ＲＡＭ、ＲＯＭなどの大規模なマクロを搭載して半導体集積回路を構成することが一般的となっている。これらの大規模マクロを搭載した半導体集積回路において、マクロ間の配線接続をテストするテスト回路内蔵大規模マクロブロック装置が、特開平４−２１５０８１号公報に記載されている。
【０００３】
次に本公報記載のテスト回路内蔵大規模マクロブロック装置について、図１３（ａ），（ｂ）を参照して説明する。図１３（ａ）は、本公報記載のテスト回路内蔵大規模マクロブロック装置を示すブロック図であり、マクロブロック１３５と、入力端子１３０，１３１と、出力端子１３３，１３４と、セレクタ１３６と、セレクタ１３６の制御端子１３２とから構成される。
【０００４】
マクロブロック１３５をテストするときは、制御端子１３２に“０”を設定し、端子Ａから端子Ｙを介して出力端子１３３に信号が伝搬するように設定する。すなわち、入力端子１３０，１３１にテストパターンを入力し、マクロブロック１３５の出力端子からセレクタ１３６を介して出力端子１３３に出力される信号と、マクロブロック１３５から直接出力端子１３４に出力される信号とを観測することにより、マクロブロック１３５をテストする。
【０００５】
一方、マクロブロック間配線のテストを行うときは、制御端子１３２に“１”を設定することにより、端子Ｂと端子Ｙとを接続し、入力端子１３０からセレクタ１３６を介して出力端子１３３に信号を伝搬させる。
【０００６】
次に図１３（ｂ）を参照して、テスト回路内蔵大規模マクロブロック装置を複数用いた半導体集積回路の動作について説明する。図１３（ｂ）に示す半導体集積回路は、図１３（ａ）に示すテスト回路内蔵大規模マクロブロック装置１３Ａ、１３Ｂと、これらテスト回路内蔵大規模マクロブロック装置１３Ａ、１３Ｂ間に設けられたセレクタ１３７から構成される。ここでセレクタ１３７は、制御端子１３９が“０”のときは端子Ａと端子Ｙとを接続し、制御端子１３９が“１”のときは端子Ｂと端子Ｙとを接続する。
【０００７】
制御端子１３２，１３９を“０”に設定すると、マクロブロック１３Ａの出力端子はセレクタ１３６Ａ、１３７を介してマクロブロック１３Ｂの入力端子に接続し、通常の動作モードとなる。
【０００８】
また、制御端子１３９を“１”とし、制御端子１３２を“０”に設定すると、テスト回路内蔵大規模マクロブロック装置１３Ａと、テスト回路内蔵大規模マクロブロック装置１３Ｂとが分離され、テスト回路内蔵大規模マクロブロック装置１３Ａについては、入力端子１３０Ａ，１３１Ａに入力したテストパターンがマクロブロック１３５Ａを伝搬し、セレクタ１３６Ａを介して出力端子１３３Ａに出力されるとともに、マクロブロック１３５Ａから直接出力端子１３４Ａに出力データが出力され、マクロブロック１３５Ａがテストされる。
【０００９】
一方、テスト回路内蔵大規模マクロブロック装置１３Ｂについては、入力端子１３８からセレクタ１３７を介して入力するテストパターンと、入力端子１３１Ｂから直接マクロブロック１３５へ入力するテストパターンとにより、マクロブロック１３５Ｂがテストされる。
【００１０】
次に制御端子１３２を“１”、制御端子１３９を“０”に設定すると、セレクタ１３６Ａの端子Ｂと端子Ｙとが接続し、セレクタ１３７の端子Ａと端子Ｙとが接続し、セレクタ１３６Ｂの端子Ｂと端子Ｙとが接続し、入力端子１３０Ａから出力端子１３３Ｂとがマクロブロック１３５Ａ，Ｂを介さずに、セレクタ１３６Ａ，Ｂとセレクタ１３７を介して接続する。従ってこのパスのテスト、すなわちテスト回路内蔵大規模マクロブロック装置１３Ａ，１３Ｂ間の接続検証を、入力端子１３０Ａにテストパターンを入力し、出力端子１３３Ｂに出力される出力パターンを観測することにより、容易に行うことができる。
【００１１】
【発明が解決しようとする課題】
上述した従来のテスト回路内蔵大規模マクロブロック装置は、テスト回路内蔵大規模マクロブロック装置間の接続をテストするために、テスト回路内蔵大規模マクロブロック装置の外側にセレクタを設け、このセレクタを外部端子から制御するとともに、テスト回路内蔵大規模マクロブロック装置単体をテストするためのテストデータをこのセレクタを介して入力する。
【００１２】
このため、半導体集積回路に搭載するテスト回路内蔵大規模マクロブロック装置の数とテスト回路内蔵大規模マクロブロック装置間の接続本数が増加すると、テスト回路内蔵大規模マクロブロック装置間に挿入するセレクタの数が増加するだけでなく、外部端子数も大幅に増加するという問題がある。
【００１３】
また半導体集積回路の品種毎に、テスト回路内蔵大規模マクロブロック装置間に挿入するセレクタを含めた回路設計およびレイアウト設計を行わなければならず、設計が煩雑化するとともに、設計期間が長期化するという問題がある。
【００１４】
このため本発明の目的は、半導体集積回路を構成するマクロブロック間の配線接続を容易に検証することが出来る半導体集積回路及びそのテスト方法を提供することにある。
【００１５】
より具体的には、マクロブロック間の配線接続をテストするためのマクロテスト回路をマクロブロックの外に設けず、マクロテスト回路をマクロブロック毎に内蔵することにより、個々の品種によらず、標準的なテスト設計方法を用いてマクロブロック間の配線接続を容易に検証することが出来る半導体集積回路及びそのテスト方法を提供することにある。
【００１６】
また本発明の他の目的は、マクロブロック間の配線接続をテストするための外部端子数を増やすことなく、マクロブロック間の配線接続を検証することが出来る半導体集積回路及びそのテスト方法を提供することにある。
【００１７】
さらに本発明の他の目的は、入力端子のプルアップ、プルダウン、及び出力端子のオープンを容易に検証することが出来る半導体集積回路及びそのテスト方法を提供することにある。
【００１８】
【課題を解決するための手段】
そのため、本発明による半導体集積回路は、所定の機能を有するマクロブロックと、
テストデータ入力モードのときは、前記マクロブロックに入力する入力データを選択し、テスト出力モードのときは、テスト入力データを選択する入力データ切替え手段と、
前記テスト入力データを記憶するテストデータ出力用記憶手段と、
前記入力データ切替え手段からのデータを記憶するテストデータ入力用記憶手段と、
通常動作時に前記マクロブロックからの出力データを出力し、前記テストデータ入力モードと前記テスト出力モードを含むテストモード時に、前記テストデータ出力用記憶手段からの出力データを出力する第１の出力データ切替え手段と、
前記テスト入力モード時において、前記テストデータ出力用記憶手段の出力データを選択し、前記テスト出力モード時において、前記テストデータ入力用記憶手段の出力データを選択し、選択した前記出力データをテストデータ出力端子に出力する第２の出力データ切替え手段とを備えたマクロテスト回路付きマクロブロックを用いて構成したことを特徴としている。
【００１９】
また本発明による半導体集積回路のテスト方法は、所定の機能を有するマクロブロック間の接続、及び外部端子と前記マクロブロックとの接続をテストするための半導体集積回路のテスト方法であって、
通常動作時に前記マクロブロックからの出力データを出力端子から出力する工程と、
テストデータ入力モードのときは、テストデータ入力用記憶手段に入力データを入力するとともに、テストデータ出力用記憶手段にテスト入力データを入力し、所定時間後に、前記テストデータ出力用記憶手段に格納されたデータを前記出力端子とテストデータ出力端子とに出力する工程と、
テストデータ出力モードのときは、前記テストデータ入力用記憶手段に格納されたデータを前記テストデータ出力端子に出力し、所定時間後に前記テスト入力データを前記テストデータ入力用記憶手段に取り込む工程と、
を備え、前記テストデータ入力モードと前記テストデータ出力モードを交互に繰り返すことを特徴としている。
【００２０】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【００２１】
図１は、本発明によるマクロテスト回路を内蔵したマクロテスト回路付きマクロブロックの概念を表す基本回路図であり、通常動作モードにおいて動作するＣＰＵ、メモリ、ＡＬＵ、Ａ／Ｄ変換器などのマクロブロック２と、マクロテスト回路付きマクロブロック間相互の配線接続をテストするためのマクロテスト回路１００とを備えている。
【００２２】
また本発明によるマクロテスト回路付きマクロブロックは、マクロブロック２に入力データを入力する入力端子３と、マクロブロック２をリセットするためのリセット端子４と、マクロブロック２から出力データを取り出す出力端子５とを備えている。
【００２３】
またマクロテスト回路１００は、マクロテスト回路１００にテスト入力データを入力するテストデータ入力端子６と、マクロテスト回路１００にテストクロックを供給するためのテストクロック入力端子７と、マクロテスト回路１００のモードを設定するためのモード設定端子８、９と、マクロテスト回路１００からテスト出力データを取り出すためのテストデータ出力端子１０とを備えている。
【００２４】
またマクロテスト回路１００は、テストクロックに同期してテスト入力データを取り込み出力端子５にテスト出力データを出力するテストデータ出力用フリップフロップ回路１１と、マクロブロック２の出力データとテストデータ出力用フリップフロップ回路１１からの出力データとの論理和を出力するＯＲゲート１２とを備えている。
【００２５】
またマクロテスト回路１００は、モード設定端子９によりテストクロックをスルーまたは保持するためのテストクロック制御回路１３と、テストクロックに同期して、入力端子３またはテストデータ入力端子６からのデータを取り込むためのテストデータ入力用フリップフロップ回路１４と、入力端子３からの入力データとテスト入力データとを選択してテストデータ入力用フリップフロップ回路１４に出力する入力データ切替えセレクタ１５と、テストデータ出力用フリップフロップ回路１１からのテスト出力データとテストデータ入力用フリップフロップ回路１４からのデータとを選択してテストデータ出力端子１０に出力する出力データ切替えセレクタ１６とを備えている。
【００２６】
ここで通常動作時に、テストデータ出力用フリップフロップ回路１１とテストデータ入力用フリップフロップ回路１４は、”０”を出力し、テストデータ出力用フリップフロップ回路１１は、テストクロックの立上がりでテストデータ入力端子６からのテスト入力データを取り込む。またテストデータ入力用フリップフロップ回路１４は、テストクロックの立下がりで、入力端子３からの入力データ、またはテストデータ入力端子６からのテスト入力データを取り込む。
【００２７】
また図２は、本発明によるマクロテスト回路付きマクロブロックの他の実施例を表す基本回路図であり、図１に示す基本回路図との違いは、ＯＲゲート１２がＡＮＤゲート１７に、テストデータ出力用フリップフロップ回路１１が通常動作時に“１”を出力するテストデータ出力用フリップフロップ回路１１’に代わっている点である。
【００２８】
図１のマクロテスト回路付きマクロブロックを構成するマクロブロック２は、リセット信号が活性化されると“０”を出力し、テストデータ出力用フリップフロップ回路１１からのテスト出力データはＯＲゲート１２を介して出力端子５に出力されるが、図２のマクロテスト回路付きマクロブロックを構成するマクロブロック２Ａは、リセット信号が活性化されると“１”を出力し、テストデータ出力用フリップフロップ回路１１からのテスト出力データはＡＮＤゲート１７を介して出力端子５に出力される。従って、図１に示すマクロテスト回路付きマクロブロックと、図２に示すマクロテスト回路付きマクロブロックの動作は基本的に同一である。
【００２９】
また図３、４は、本発明によるマクロテスト回路付きマクロブロックのさらに他の実施例を表す基本回路図であり、図１に示す基本回路図との違いは、ＯＲゲート１２がセレクタ１６’に代わっている点である。
【００３０】
図３に示すマクロテスト回路付きマクロブロックは、リセット端子４からのリセット信号により、マクロブロック２Ｃの出力が不定値になる場合や、テストモード時にマクロブロック２Ｃに入力されるデータが変化することにより、マクロブロック２Ｃからの出力データが変化する場合などに適用する。
【００３１】
また図４に示すマクロテスト回路付きマクロブロックは、マクロテスト回路付きマクロブロックを構成するマクロブロック２Ｄにリセット信号が入力しない場合に適用する。セレクタ１６’は通常動作時には、マクロブロック２Ｄの出力を選択し、テストモードのときはテストデータ出力用フリップフロップ回路１１からのテスト出力データを選択して出力端子５に出力する。
【００３２】
すなわち図３，４において、モード設定端子８が“１”に設定されると、テストデータ出力用フリップフロップ回路１１とテストデータ入力用フリップフロップ回路１４はともにリセットされ、セレクタ１６’はマクロブロック２Ｃまたはマクロブロック２Ｄの出力データを出力端子５に対して出力する通常動作モードとなる。
【００３３】
一方モード設定端子８が“０”に設定されると、テストデータ出力用フリップフロップ回路１１とテストデータ入力用フリップフロップ回路１４はともにセットされ、セレクタ１６’はテストデータ出力用フリップフロップ回路１１の出力データを出力端子５に対して出力するテストモードとなる。
【００３４】
従って、図１に示すマクロテスト回路付きマクロブロックと、図３，４に示すマクロテスト回路付きマクロブロックの動作は基本的には同一である。
【００３５】
なお上記において１１，１４はテストクロックに同期してデータを取り込むフリップフロップ回路として説明したが、フリップフロップ回路に限らずラッチ回路などテストクロックに同期して、入力するデータを記憶する記憶手段であれば良い。
【００３６】
また図５、６は、本発明によるマクロテスト回路付きマクロブロックのさらに他の実施例を表す基本回路図であり、図１に示す基本回路図との違いは、図１に示すマクロテスト回路付きマクロブロックにおいては、入力端子３と出力端子５とが１つずつであるのに対して、図５、６に示すマクロテスト回路付きマクロブロックにおいては、入力端子１−３−１，１−３−２・・と出力端子１−５−１，１−５−２・・とがそれぞれ複数であることが大きな違いである。
【００３７】
図５においてマクロテスト回路１０３は、テストクロックに同期して入力データとテストデータ入力端子６からのテスト入力データとを選択して記憶し、記憶したデータを出力するマクロテスト入力回路１０３１と、テストクロックに同期して入力データとマクロテスト入力回路１０３１からの出力データとを選択して記憶し、記憶したデータを出力するマクロテスト入力回路１０３２と、テストクロックに同期して入力データとマクロテスト入力回路１０３２からの出力データとを選択して記憶し、記憶したデータを出力するマクロテスト入力回路１０３３とを備えている。
【００３８】
またマクロテスト回路１０３は、通常動作時においてはマクロブロック２Ｅからの出力データを出力端子１−５−１，１−５−２にそれぞれ出力し、テストモード時においては、テストデータ入力端子６からのテスト入力データをそれぞれ所定のタイミングで、出力端子１−５−１及び出力端子１−５−２に出力するマクロテスト出力回路１０３Ａ，１０３Ｂとを備えている。
【００３９】
さらにマクロテスト回路１０３は、モード設定端子９によりテストクロックをスルーまたは保持するためのテストクロック制御回路１３と、マクロテスト入力回路１０３１〜１０３３のうちの最終段の回路であるマクロテスト入力回路１０３３の出力データと、マクロテスト出力回路１０３Ａ，１０３Ｂのうちの最終段の回路であるマクロテスト入力回路１０３Ｂの出力データとを選択して、テストデータ出力端子１０に出力する出力データ切替えセレクタ１６”とを備えている。
【００４０】
またマクロテスト入力回路１０３１は、テストクロックに同期して、入力端子１−３−１またはテストデータ入力端子６からのデータを取り込むためのテストデータ入力用フリップフロップ回路１４−１と、入力端子１−３−１からの入力データとテスト入力データとを選択してテストデータ入力用フリップフロップ回路１４−１に出力する入力データ切替えセレクタ１５−１とを備え、マクロテスト入力回路１０３２，１０３３についても同様な回路構成である。
【００４１】
またマクロテスト出力回路１０３Ａは、テストクロックに同期してテスト入力データを取り込み出力端子１−５−１にテスト出力データを出力するテストデータ出力用フリップフロップ回路１１−１と、マクロブロック２Ｅの出力データとテストデータ出力用フリップフロップ回路１１−１からの出力データとの論理和を出力するＯＲゲート１２−１とを備え、マクロテスト出力回路１０３Ｂについても同様な回路構成である。
【００４２】
図６に示すマクロテスト回路付きマクロブロックも、図５と同様であるが、図５のマクロテスト回路付きマクロブロックの場合、入力端子が１−３−１〜１−３−３の３本で、出力端子が１−５−１，１−５−２の２本であり、入力端子数が出力端子数よりも多いが、図６に示すマクロテスト回路付きマクロブロックの場合は、入力端子が１−３−１，１−３−２の２本で、出力端子が１−５−１〜１−５−３の３本であり、入力端子数が出力端子数よりも少ないという違いがある。
【００４３】
いずれの場合も、図５，６に示すマクロテスト回路付きマクロブロックは、各入力端子１−３−１〜１３−３と各出力端子１−５−１〜１−５−３に着目すれば図１に示すマクロテスト回路付きマクロブロックと基本的には同様な動作を行う。
【００４４】
次に図７を参照して、本発明によるマクロテスト回路付きマクロブロックを複数用いて相互に接続した半導体集積回路について説明する。図７は、マクロテスト回路付きマクロブロック３−１，４−１，５−１，６−１の４つのマクロテスト回路付きマクロブロックを用いた例であり、図１と対応する構成要素には対応する符号を付してある。
【００４５】
例えば、図１の入力端子３は、それぞれ入力端子３−３−１および３−３−２，４−３−１および４−３−２，５−３−１および５−３−２，６−３−１および６−３−２に対応する。
【００４６】
また図１の出力端子５は、それぞれ出力端子３−５、４−５−１および４−５−２，５−５−１および５−５−２，６−５−１〜６−５−３に対応する。さらに図１のテストデータ入力端子６は、それぞれテストデータ入力端子３−６、４−６，５−６，６−６に対応し、図１のマクロブロック２はそれぞれマクロブロック３−２，４−２，５−２，６−２に対応する。他の符号も同様である。
【００４７】
また１８，１９−１〜１９−４，２０〜２５は、半導体集積回路の外部端子であり、具体的には１８は入力端子、１９−１〜１９−４は出力端子、２０はマクロブロック３−２〜６−２をリセットするリセット端子、２１はテストデータ入力端子、２２はテストクロック端子、２３，２４はモード設定端子、２５は出力端子である。また２８−１は電源端子、２８−２はＧＮＤ端子、２９はオープン端子をそれぞれ表す。
【００４８】
ここで入力端子３−３−１は電源端子にプルアップされており、入力端子４−３−１はＧＮＤ端子にプルダウンされており、出力端子５−５−１はオープンとなっている。
【００４９】
また出力端子３−５からの出力データは、複数のマクロテスト回路付きマクロブロック４−１，６−１の各入力端子４−３−２，６−３−２に入力する。またマクロテスト回路付きマクロブロック６−１に対して、入力端子６−３−１，６−３−２を介して複数のマクロテスト回路付きマクロブロック４−１，３−１からの出力データが入力する。
【００５０】
ここでプルアップされた入力端子３−３−１からの入力データを入力するテストデータ入力用フリップフロップ回路３−１４−１は、常に”１”を取り込み、プルダウンされた入力端子４−３−１からの入力データを入力するテストデータ入力用フリップフロップ回路４−１４−１は、常に”０”を取り込む。
【００５１】
またマクロテスト回路付きマクロブロック５−１を構成するテストデータ出力用フリップフロップ回路５−１１−１に接続する出力端子５−５−１はオープンであるので、テストデータ出力用フリップフロップ回路５−１１−１からの出力データは他の入力端子に伝搬されない。
【００５２】
従って、入力端子３−３−１から出力端子２５までの経路をを伝搬するテスト信号を観測することにより、入力端子３−３−１がプルアップされていることが確認できる。同様に、入力端子４−３−１から出力端子２５までの経路をを伝搬するテスト信号を観測することにより、入力端子４−３−１がプルダウンされていることが確認できる。さらに、出力端子５−５−１から出力端子２５までの経路をを伝搬するテスト信号を観測することにより、出力端子５−５−１がオープンであることが確認できる。
【００５３】
マクロテスト回路付きマクロブロック３−１のように、複数のマクロテスト回路付きマクロブロック４−２，６−２の入力端子４−３−２、６−３−２に接続された出力端子３−５とＯＲゲート３−１２を介して接続するテストデータ出力用フリップフロップ回路３−１１の値は、接続された複数の入力端子４−３−２、６−３−２を介してそれぞれテストデータ入力用フリップフロップ回路４−１４−２、６−１４−２に同時に取り込まれる。
【００５４】
同様に、マクロテスト回路付きマクロブロック４−１の出力端子４−５−２からの出力データも、複数のマクロテスト回路付きマクロブロック５−１、６−１に対して出力される。従って、出力端子４−５−２とＯＲゲート４−１２−２を介して接続するテストデータ出力用フリップフロップ回路４−１１−２の値は、テストデータ入力用フリップフロップ回路５−１４−２、６−１４−１に同時に取り込まれる。
【００５５】
図７に示すように半導体集積回路のテストクロック入力端子２２は、それぞれのマクロテスト回路付きマクロブロック３−１、４−１，５−１、６−１の対応するテストクロック端子３−７、４−７、５−７、６−７にそれぞれ接続され、半導体集積回路のモード設定端子２３、２４は、それぞれのマクロテスト回路付きマクロブロック３−１、４−１，５−１、６−１の対応するモード設定端子３−８、３−９と、４−８、４−９と、５−８、５−９と、６−８、６−９とにそれぞれ接続される。
【００５６】
また図７に示す半導体集積回路のテストデータ入力端子２１から、半導体集積回路のテストデータ出力端子２５の間で、テストデータ入力端子２１→テストデータ入力端子３−６→テストデータ出力端子３−１０→テストデータ入力端子４−６→テストデータ出力端子４−１０→テストデータ入力端子５−６→テストデータ出力端子５−１０→テストデータ入力端子６−６→テストデータ出力端子６−１０→テストデータ出力端子２５の経路で、マクロテスト回路付きマクロブロック３−１、４−１、５−１、６−１の各テストデータ入力端子と各テストデータ出力端子が直列となるように接続することにより、本発明によるマクロテスト回路付きマクロブロック間の配線接続テストを行うことができる。
【００５７】
次に本発明によるマクロテスト回路付きマクロブロックを２個搭載した半導体集積回路の動作について、図８〜図１１を参照して詳細に説明する。
【００５８】
図８は、マクロテスト回路付きマクロブロック１−１，２−１を搭載した半導体集積回路のブロック図、図９は図８に示す半導体集積回路のテストデータ入力モードにおけるデータの流れを説明するための図、図１０はテストデータ出力モードにおけるデータの流れを説明するための図、図１１は図８に示す半導体集積回路の各テストモードにおける動作を示すタイミングチャートである。
【００５９】
ここで、図１〜図７と共通の構成要素には共通の参照文字／数字を付し、図８の半導体集積回路において、リセット端子２０からのリセット信号によりマクロブロック１−２、２−２は、“０”を出力するものとして説明する。
【００６０】
また以下の動作説明における［１］から［９］の各状態は、図１１の上段に記載した状態番号に対応している。そして［１］、［３］、［５］、［７］、［９］の各状態は、図９に示すテストデータ入力モードに対応し、［２］、［４］、［６］、［８］の各状態は、図１０に示すテストデータ出力モードに対応している。
【００６１】
［１］の状態での動作説明。（図９，図１１）
図１１の時刻ｔ１でリセット解除後、図８に示す半導体集積回路をモード設定端子２３、２４を用いて、テストデータ入力モードに設定する。この設定により半導体集積回路のテストデータ入力端子２１から、マクロテスト回路付きマクロブロック１−１のテストデータ入力端子１−６、テストデータ出力用フリップフロップ回路１−１１、テストデータ出力端子１−１０、マクロテスト回路付きマクロブロック２−１のテストデータ入力端子２−６、テストデータ出力用フリップフロップ回路２−１１、テストデータ出力端子２−１０、半導体集積回路のテストデータ出力端子２５が直列に接続され、テストデータ入力モードになる。
【００６２】
このとき、マクロテスト回路付きマクロブロック１−１とマクロテスト回路付きマクロブロック２−１の各出力データ切替えセレクタ１−１６、２−１６は、それぞれに接続されているテストデータ出力用フリップフロップ回路１−１１、２−１１の出力を選択し、入力データ切替えセレクタ１−１５、２−１５は、それぞれに接続されているマクロテスト回路付きマクロブロック１−１，２−１の各入力端子１−３、２−３を選択する。
【００６３】
始めにテストデータ入力端子２１にテストデータ“０”を設定し、テストデータ出力用フリップフロップ回路１−１１，２−１１の初期化を行う。次に時刻ｔ１でテストクロック入力端子２２よりテストクロックを２クロック入力する。１クロック目の立ち上がりで、マクロテスト回路付きマクロブロック１−１のテストデータ出力用フリップフロップ回路１−１１に“０”が取り込まれ、“０”を出力する。
【００６４】
２クロック目の立ち上がりで、マクロテスト回路付きマクロブロック２−１のテストデータ出力用フリップフロップ回路２−１１は、マクロテスト回路付きマクロブロック１−１のテストデータ出力用フリップフロップ回路１−１１から出力された“０”をマクロテスト回路付きマクロブロック２−１のテストデータ入力端子２−６を介して入力する。
【００６５】
また、マクロテスト回路付きマクロブロック１−１のテストデータ出力用フリップフロップ回路１−１１も、テストデータ入力端子１−６からのテストデータ“０”を取り込み、“０”を出力する。マクロテスト回路付きマクロブロック２−１のテストデータ出力用フリップフロップ回路２−１１に入力されたデータは、マクロテスト回路付きマクロブロック２−１の出力端子２−５とテストデータ出力端子２−１０とを介してそれぞれ半導体集積回路の出力端子１９，２５に出力される。
【００６６】
一方、テストクロックの２クロック目の立ち下がりで、マクロテスト回路付きマクロブロック１−１の入力端子１−３に接続されたテストデータ入力用フリップフロップ回路１−１４は、入力端子１−３からの“０”データを取り込む。
【００６７】
またマクロテスト回路付きマクロブロック２−１の入力端子２−３に接続されたテストデータ入力用フリップフロップ回路２−１４は、マクロテスト回路付きマクロブロック１１−１のテストデータ出力用フリップフロップ回路１−１１から出力され、出力端子１−５からマクロテスト回路付きマクロブロック２−１の入力端子２−３を介して入力される“０”データを取り込む。
【００６８】
［２］の状態での動作説明。（図１０，図１１）
次に、テストデータ入力用フリップフロップ回路を直列に接続して、テストデータ出力モードに設定する。この設定により図８に示す半導体集積回路のテストデータ入力端子２１→マクロテスト回路付きマクロブロック１−１のテストデータ入力端子１−６→テストデータ入力用フリップフロップ回路１−１４→テストデータ出力端子１−１０→マクロテスト回路付きマクロブロック２−１のテストデータ入力端子２−６→テストデータ入力用フリップフロップ回路２−１４→テストデータ出力端子２−１０→半導体集積回路のテストデータ出力端子２５の経路が形成され、テストデータ出力モードになる。
【００６９】
このとき、各マクロテスト回路付きマクロブロック１−１，２−１を構成するテストデータ出力用フリップフロップ回路１−１１，２−１１に入力されるテストクロックは、テストクロック制御回路１−１３，２−１３により保持され、テストデータ出力用フリップフロップ回路１−１１，２−１１のデータはこの状態で保持される。
【００７０】
一方出力データ切替えセレクタ１−１６、２−１６は、それぞれ接続されているテストデータ入力用フリップフロップ回路１−１４、２−１４からの出力データを選択し、入力データ切替えセレクタ１−１５、２−１５は、それぞれ接続されているテストデータ入力端子１−６、２−６からのテスト入力データを選択する。
【００７１】
この状態で、マクロテスト回路付きマクロブロック２−１のテストデータ入力用フリップフロップ回路２−１４が入力端子２−３から取り込んだデータ“０”をテストデータ出力端子２−１０から出力する。
【００７２】
次に図１１の時刻ｔ２で、半導体集積回路のテストクロック入力端子２２から、テストクロックを１クロック入力する。クロックの立ち下がりで、マクロテスト回路付きマクロブロック１−１のテストデータ入力用フリップフロップ回路１−１４は、マクロテスト回路付きマクロブロック１−１の入力端子１−３から取り込んだデータ“０”を、マクロテスト回路付きマクロブロック２−１のテストデータ入力端子２−６を介してテストデータ入力用フリップフロップ回路２−１４にシフト出力し、このデータがテストデータ出力端子２−１０から出力される。
【００７３】
［３］の状態での動作説明。（図９，図１１）
次に、半導体集積回路の入力端子１８からの“１”の入力を確認する。［１］の状態と同様に、テストデータ出力用フリップフロップ回路を直列に接続して、テストデータ入力モード設定にする。時刻ｔ３で半導体集積回路の入力端子１８から“１”を入力し、テストクロックを１クロック入力する。このとき、テストデータ入力端子２１には、テストデータ“０”を入力しておく。テストデータ出力用フリップフロップ回路１−１１，２−１１は、“０”を出力し、テストクロックの立ち下がりで、マクロテスト回路付きマクロブロック１−１のテストデータ入力用フリップフロップ回路１−１４は、入力端子１８からの入力データ“１”を取り込む。
【００７４】
［４］の状態での動作説明。（図１０，図１１）
この状態では、［２］の状態と同様にテストデータ入力用フリップフロップ回路を直列に接続して、テストデータ出力モードに設定する。最初に、マクロテスト回路付きマクロブロック２−１のテストデータ入力用フリップフロップ回路２−１４の取り込んだデータ“０”が、半導体集積回路のテストデータ出力端子２５から出力される。次に時刻ｔ４において、テストクロックを１クロック入力する。クロックの立ち下がりにより、マクロテスト回路付きマクロブロック１−１のテストデータ入力用フリップフロップ回路１−１４が取り込んだデータ“１”が、マクロテスト回路付きマクロブロック２−１のテストデータ入力用フリップフロップ回路２−１４にシフト出力され、テストデータ出力端子２５から“１”が出力される。
【００７５】
［５］の状態での動作説明。（図９，図１１）
次に、入力端子１８からの“０”の入力、およびマクロテスト回路付きマクロブロック１−１からマクロテスト回路付きマクロブロック２−１への“１”の伝搬の確認をする。［１］の状態と同様に、テストデータ出力用フリップフロップ回路を直列に接続して、テストデータ入力モード設定にする。
【００７６】
半導体集積回路の入力端子１８から“０”を、テストデータ入力端子２１からテスト入力データ“１”をそれぞれ入力して、時刻ｔ５でテストクロックを１クロック入力する。テストクロックの立ち上がりで、マクロテスト回路付きマクロブロック１−１のテストデータ出力用フリップフロップ回路１−１１にテストデータ“１”が取り込まれ、マクロテスト回路付きマクロブロック２−１のテストデータ出力用フリップフロップ回路２−１１に、マクロテスト回路付きマクロブロック１−１のテストデータ出力用フリップフロップ回路１−１１に既に取り込まれていたデータ“０”がシフト入力されて格納される。
【００７７】
また、このクロックの立ち下がりで、マクロテスト回路付きマクロブロック１−１のテストデータ入力用フリップフロップ回路１−１４は、入力端子１８からの入力データ“０”を取り込む。また、マクロテスト回路付きマクロブロック２−１のテストデータ入力用フリップフロップ回路２−１４は、マクロテスト回路付きマクロブロック１−１の出力端子１−５からマクロテスト回路付きマクロブロック２−１の入力端子２−３を介して、マクロテスト回路付きマクロブロック１−１のテストデータ出力用フリップフロップ回路１−１１に格納されたテストデータ“１”を取り込む。
【００７８】
［６］の状態での動作説明。（図１０，図１１）
次に、［２］の状態と同様に、テストデータ入力用フリップフロップ回路を直列に接続して、テストデータ出力モードに設定する。
【００７９】
最初に、マクロテスト回路付きマクロブロック２−１のテストデータ入力用フリップフロップ回路２−１４に格納されたデータ“１”がテストデータ出力端子２５から出力される。
【００８０】
次に時刻ｔ６で、テストクロックを１クロック入力する。テストクロックの立ち下がりにより、マクロテスト回路付きマクロブロック１−１のテストデータ入力用フリップフロップ回路１−１４が取り込んだテストデータ“０”が、マクロテスト回路付きマクロブロック２−１のテストデータ入力用フリップフロップ回路２−１４にシフト入力され、テストデータ出力端子２５より“０”が出力される。
【００８１】
［７］の状態での動作説明。（図９，図１１）
次に、マクロテスト回路付きマクロブロック１−１からマクロテスト回路付きマクロブロック２−１への“０”伝搬、およびマクロテスト回路付きマクロブロック２−１から出力端子１９への“１”出力の確認をする。［１］の状態と同様に、テストデータ出力用フリップフロップ回路を直列に接続して、テストデータ入力モード設定にする。
【００８２】
半導体集積回路の入力端子１８から“０”を、テストデータ入力端子２１からテストデータ“０”を入力して、時刻ｔ７でテストクロックを１クロック入力する。テストクロックの立ち上がりで、マクロテスト回路付きマクロブロック１−１のテストデータ出力用フリップフロップ回路１−１１にテストデータ“０”が格納される。また、マクロテスト回路付きマクロブロック２−１のテストデータ出力用フリップフロップ回路２−１１に、マクロテスト回路付きマクロブロック１−１のテストデータ出力用フリップフロップ回路１−１１に既に格納されたデータ“１”がシフト入力され、マクロテスト回路付きマクロブロック２−１から出力端子１９へ“１”が出力される。
【００８３】
テストクロックの立ち下がりで、マクロテスト回路付きマクロブロック１−１のテストデータ入力用フリップフロップ回路１−１４は、入力端子１８からの入力データ“０”を取り込む。また、マクロテスト回路付きマクロブロック２−１のテストデータ入力用フリップフロップ回路２−１４は、マクロテスト回路付きマクロブロック１−１の出力端子１−５からマクロテスト回路付きマクロブロック２−１の入力端子２−３を介して、マクロテスト回路付きマクロブロック１−１のテストデータ出力用フリップフロップ回路１−１１に格納されたテストデータ“０”を取り込む。
【００８４】
［８］の状態での動作説明。（図１０，図１１）
次に、［２］の状態と同様に、テストデータ入力用フリップフロップ回路を直列に接続して、テストデータ出力モードに設定する。
【００８５】
最初に、マクロテスト回路付きマクロブロック２−１のテストデータ入力用フリップフロップ回路２−１４に格納されたデータ“０”がテストデータ出力端子２５から出力される。
【００８６】
次に、時刻ｔ８においてテストクロックを１クロック入力する。クロックの立ち下がりにより、マクロテスト回路付きマクロブロック１−１のテストデータ入力用フリップフロップ回路１−１４に格納されたデータ“０”が、マクロテスト回路付きマクロブロック２−１のテストデータ入力用フリップフロップ回路２−１４にシフト入力され、テストデータ出力端子２５より“０”が出力される。
【００８７】
［９］の状態での動作説明。（図９，図１１）
次に、マクロテスト回路付きマクロブロック２−１から、出力端子１９への“０”出力の確認をする。［１］の状態と同様に、テストデータ出力用フリップフロップ回路を直列に接続して、テストデータ入力モード設定にする。
【００８８】
半導体集積回路の入力端子１８から“０”を、テストデータ入力端子２１からテストデータ“０”を入力して、時刻ｔ９でテストクロックを１クロック入力する。クロックの立ち上がりで、マクロテスト回路付きマクロブロック１−１のテストデータ出力用フリップフロップ回路１−１１にテストデータ“０”が格納される。また、マクロテスト回路付きマクロブロック２−１のテストデータ出力用フリップフロップ回路２−１１には、マクロテスト回路付きマクロブロック１−１のテストデータ出力用フリップフロップ回路１−１１に既に格納されたデータ“０”がシフト入力されてこの値が格納される。そして、マクロテスト回路付きマクロブロック２−１から出力端子１９へ“０”が出力される。
【００８９】
以上［１］〜［９］までの動作と図１１からわかるように、入力端子１８に印加された“０”→“１”→“０”の入力テストパターンが、４テストクロック遅れて出力端子１９に出力される。従って、出力端子１９に出力される出力パターンを期待値と比較することにより、１）入力端子１８とマクロテスト回路付きマクロブロック１−１の入力端子１−３との配線接続、２）マクロテスト回路付きマクロブロック１−１の出力端子１−５とマクロテスト回路付きマクロブロック２−１の入力端子２−３との配線接続、３）マクロテスト回路付きマクロブロック２−１の出力端子２−５と出力端子１９との配線接続のテストを行うことができる。
【００９０】
また、  図７に示す本発明によるマクロテスト回路付きマクロブロックを多数接続した場合も、上記と同様に、マクロテスト回路付きマクロブロック間の配線接続、および半導体集積回路の外部端子とマクロテスト回路付きマクロブロック間との配線接続のテストを、半導体集積回路にテスト用の特別の回路を設けることなく容易に行うことができる。
【００９１】
なお上記において、マクロテスト回路を内蔵した本発明によるマクロテスト回路付きマクロブロックのみを用いて半導体集積回路を構成した場合について説明したが、図１２に示すように、通常のマクロブロックとこのマクロブロックの外に存在するマクロテスト回路により、半導体集積回路を構成しても同様の効果が得られる。
【００９２】
この場合、本発明によるマクロテスト回路付きマクロブロックを用いた場合に比して、各マクロテスト回路付きマクロブロックに設けられたテストクロック制御回路や、出力データ切替えセレクタなどを削減でき半導体集積回路全体としての回路素子数を削減することができるという特徴がある。
【００９３】
また図５，６において、マクロテスト入力回路及びマクロテスト出力回路の数は２〜３回路として説明したが、一般的にはマクロテスト入力回路及びマクロテスト出力回路の数は、それぞれｍ，ｎ（ｍ，ｎは整数）であって良い。この場合のマクロテスト回路付きマクロブロックを用いて構成した半導体集積回路のテスト動作については、図８〜図１１を用いて説明した動作と同様である。
【００９４】
【発明の効果】
以上説明したように、本発明による半導体集積回路及びそのテスト方法は、マクロブロック間の配線接続をテストするためのマクロテスト回路をマクロブロックの外に設けず、マクロテスト回路をマクロブロック毎に内蔵したマクロテスト回路付きマクロブロックを用いて半導体集積回路を構成することにより、個々の品種によらず、またマクロブロックを動作させることなく標準的にマクロブロック間の配線接続を容易に検証することが出来る。
【００９５】
また、マクロブロック間の配線接続をテストするための外部端子数や回路素子数を増やすことなく、マクロブロック間の配線接続を検証することが可能である。
【００９６】
また半導体集積回路の外部入力端子から外部出力端子に至るまでに、本発明によるマクロテスト回路付きマクロブロックを順に直列接続し、外部入力端子にマクロブロック間の配線接続を検証するためのテストデータを入力し、外部出力端子に出力する出力データを期待値と比較することでマクロブロック間の配線接続の検証を行うので、マクロブロック間の配線接続を検証するためのテストデータを専門家でなくても容易に作成することが出来る。
【００９７】
さらに、入力端子のプルアップ、プルダウン、及び出力端子のオープンを容易に検証することが出来る。
【図面の簡単な説明】
【図１】本発明による基本的なマクロテスト回路付きマクロブロックを示すブロック図である。
【図２】本発明による基本的な他のマクロテスト回路付きマクロブロックを示すブロック図である。
【図３】本発明による基本的な他のマクロテスト回路付きマクロブロックを示すブロック図である。
【図４】本発明による基本的な他のマクロテスト回路付きマクロブロックを示すブロック図である。
【図５】本発明によるマクロテスト回路付きマクロブロックの一例を示すブロック図である。
【図６】本発明によるマクロテスト回路付きマクロブロックの一例を示すブロック図である。
【図７】本発明によるマクロテスト回路付きマクロブロックを用いて構成した半導体集積回路の一例を示す回路図である。
【図８】本発明によるマクロテスト回路付きマクロブロックを２つ用いて構成した半導体集積回路の一例を示す回路図である。
【図９】図８に示す半導体集積回路のテストデータ入力モードにおけるデータの流れを説明するための説明図である。
【図１０】図８に示す半導体集積回路のテストデータ出力モードにおけるデータの流れを説明するための説明図である。
【図１１】図８に示す半導体集積回路の各テストモードにおける動作を示すタイミングチャートである。
【図１２】マクロブロック間の配線接続をテストするためのマクロテスト回路をマクロブロックの外に設けた場合の実施例を示す回路図である。
【図１３】従来のテスト回路内蔵大規模マクロブロック装置の回路図、及びこのテスト回路内蔵大規模マクロブロック装置を複数用いて半導体集積回路を構成した回路図である。
【符号の説明】
２    マクロブロック
３    入力端子
４    リセット端子
５    出力端子
６    テストデータ入力端子
７    テストクロック入力端子
８，９    モード設定端子
１０    テストデータ出力端子
１１，１１−１、１１−２，１１−３    テストデータ出力用フリップフロップ回路
１２、１２−１，１２−２，１２−３    ＯＲゲート
１３    テストクロック制御回路
１４、１４−１，１４−２，１４−３    テストデータ入力用フリップフロップ回路
１５，１５−１，１５−２，１５−３    入力データ切替えセレクタ
１６，１６’    出力データ切替えセレクタ
１７    ＡＮＤゲート
１００，１０１，１０２，１０３，１０４    マクロテスト回路
１０３１〜１０３３，１０４１，１０４２    マクロテスト入力回路
１０３Ａ，１０３Ｂ，１０４Ａ〜１０４Ｃ    マクロテスト出力回路
【図１】
0003555082.tif 000002
【図２】
0003555082.tif 000003
【図３】
0003555082.tif 000004
【図４】
0003555082.tif 000005
【図５】
0003555082.tif 000006
【図６】
0003555082.tif 000007
【図７】
0003555082.tif 000008
【図８】
0003555082.tif 000009
【図９】
0003555082.tif 000010
【図１０】
0003555082.tif 000011
【図１１】
0003555082.tif 000012
【図１２】
0003555082.tif 000013
【図１３】
0003555082.tif 000014