(57)【要約】【課題】従来のテスト回路では、被テスト回路のテスト範囲を自由に設定することができない問題があった。【解決手段】本発明のテスト回路の一態様は、ＩＥＥＥ１１４９に規定される標準仕様に準拠した複数のＴＡＰコントローラを有するテスト回路であって、制御コード及びテスト制御信号を受けて、被テスト回路に対するテストの実行と、シフトモード信号ＳＦＴの出力と、を行うマスタＴＡＰコントローラ１０と、制御コード及びテスト制御信号を受けて、被テスト回路に対するテストを実行する第１のスレーブＴＡＰコントローラ２０と、第１のスレーブＴＡＰコントローラ２０対応して設けられ、第１のスレーブＴＡＰコントローラ２０に入力する制御コードを外部から入力するか、マスタＴＡＰコントローラ１０を介して入力するかを、シフトモード信号ＳＦＴに基づき切り替える第１の端子制御回路３０と、を有するものである。【選択図】図１
2010159989.tif 000002
【特許請求の範囲】
【請求項１】
ＩＥＥＥ１１４９に規定される標準仕様に準拠した複数のＴＡＰコントローラを有するテスト回路であって、
制御コード及びテスト制御信号を受けて、被テスト回路に対するテストの実行と、シフトモード信号の出力と、を行うマスタＴＡＰコントローラと、
前記制御コード及び前記テスト制御信号を受けて、被テスト回路に対するテストを実行する第１のスレーブＴＡＰコントローラと、
前記第１のスレーブＴＡＰコントローラに対応して設けられ、前記第１のスレーブＴＡＰコントローラに入力する前記制御コードを外部から入力するか、前記マスタＴＡＰコントローラを介して入力するかを、前記シフトモード信号に基づき切り替える第１の端子制御回路と、
を有するテスト回路。
【請求項２】
前記第１の端子制御回路は、一方の端子が前記マスタＴＡＰコントローラ及び前記第１のスレーブＴＡＰコントローラに対応して設けられる共通テスト端子群に含まれる共通コード入力端子に接続され、他方の端子が前記マスタＴＡＰコントローラ内に設けられるバウンダリスキャンレジスタの出力に接続される第１のデータ経路切り替え回路を有し、
前記第１のデータ経路切り替え回路は、前記シフトモード信号に応じて前記一方の端子及び前記他方の端子のいずれか一方から入力される前記制御コードを選択し、前記第１のスレーブＴＡＰコントローラに出力する請求項１に記載のテスト回路。
【請求項３】
前記マスタＴＡＰコントローラは、前記制御コード及び前記テスト制御信号を受けて、動作モード設定信号を出力し、
前記第１の端子制御回路は、前記第１のスレーブＴＡＰコントローラに入力する前記テスト制御信号を前記共通テスト端子群から入力するか、前記第１のスレーブＴＡＰコントローラに対応して設けられる第１の個別テスト端子群から入力するかを、前記動作モード設定信号に基づき切り替える請求項２に記載のテスト回路。
【請求項４】
前記第１の端子制御回路は、
前記動作モード設定信号の値を保持し、保持した値を入力切り替え信号として出力する第１のモード制御回路と、
前記入力切り替え信号に応じて、前記第１のデータ経路切り替え回路が出力する前記制御コードと前記第１の個別テスト端子群に含まれるＴＤＩ端子から入力される前記制御コードのいずれか一方を選択して出力する第１のコード入力切り替え回路と、
を有する請求項３に記載のテスト回路。
【請求項５】
前記第１の端子制御回路は、前記入力切り替え信号に応じて、前記共通テスト端子から入力される前記テスト制御信号と前記第１の個別共通テスト端子群から入力される前記テスト制御信号のいずれか一方を選択して出力する複数の第１の制御入力切り替え回路と、
を有する請求項４に記載のテスト回路。
【請求項６】
前記テスト回路は、
前記制御コード及び前記テスト制御信号を受けて、被テスト回路に対するテストを実行する第２のスレーブＴＡＰコントローラと、
前記第２のスレーブＴＡＰコントローラに対応して設けられ、前記第２のスレーブＴＡＰコントローラに入力する前記制御コードを外部から入力するか、前記第１のスレーブＴＡＰコントローラを介して入力するかを、前記シフトモード信号に基づき切り替える第２の端子制御回路と、
を有する請求項１に記載のテスト回路。
【請求項７】
前記第２の端子制御回路は、一方の端子が前記マスタＴＡＰコントローラ及び前記第２のスレーブＴＡＰコントローラに対応して設けられる共通テスト端子群に含まれる共通コード入力端子に接続され、他方の端子が前記第１のスレーブＴＡＰコントローラ内に設けられるバウンダリスキャンレジスタの出力に接続される第２のデータ経路切り替え回路を有し、
前記第２のデータ経路切り替え回路は、前記シフトモード信号に応じて前記一方の端子及び前記他方の端子のいずれか一方から入力される前記制御コードを選択し、前記第２のスレーブＴＡＰコントローラに出力する請求項６に記載のテスト回路。
【請求項８】
前記マスタＴＡＰコントローラは、前記制御コード及び前記テスト制御信号を受けて、動作モード設定信号を出力し、
前記第２の端子制御回路は、前記第２のスレーブＴＡＰコントローラに入力する前記テスト制御信号を前記共通テスト端子群から入力するか、前記第２のスレーブＴＡＰコントローラに対応して設けられる第２の個別テスト端子群から入力するかを、前記動作モード設定信号に基づき切り替える請求項７に記載のテスト回路。
【請求項９】
前記第２の端子制御回路は、
前記動作モード設定信号の値を保持し、保持した値を入力切り替え信号として出力する第２のモード制御回路と、
前記入力切り替え信号に応じて、第２のデータ経路切り替え回路が出力する前記制御コードと前記第２の個別テスト端子群に含まれるＴＤＩ端子から入力される前記制御コードのいずれか一方を選択して出力する第２のコード入力切り替え回路と、
を有する請求項８に記載のテスト回路。
【請求項１０】
前記第２の端子制御回路は、前記入力切り替え信号に応じて、前記共通テスト端子から入力される前記テスト制御信号と前記第２の個別共通テスト端子群から入力される前記テスト制御信号のいずれか一方を選択して出力する複数の第２の制御入力切り替え回路と、
を有する請求項９に記載のテスト回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はテスト回路に関し、特にＩＥＥ１１４９にて規定されるＴＡＰ（Test Access Port）コントローラを有するテスト回路に関する。
【背景技術】
【０００２】
近年、半導体装置の回路規模が大規模化しており、半導体装置に対する試験を行うための端子数も増大する傾向にある。端子数が増大すると、パッケージが大きくなり、小型化が困難である問題がある。そのため、この端子数を削減することが求められている。そこで、テスト端子数を削減するためにＩＥＥＥ（Institute of Electrical and Electronics Engineers）にてＩＥＥＥ１１４９が規格化された。このＩＥＥＥ１１４９のうちの一つであるＩＥＥＥ１１４９．１では、５つの端子と、ＴＡＰコントローラとを用いて半導体装置のテストを行うことが可能である。
【０００３】
５つの端子は、それぞれＴＤＩ端子、ＴＲＳＴ端子、ＴＣＫ端子、ＴＭＳ端子、ＴＤＯ端子と呼ばれる。以下の説明では、一組のＴＤＩ端子、ＴＲＳＴ端子、ＴＣＫ端子、ＴＭＳ端子、ＴＤＯ端子をテスト端子群と称す。また、ＴＡＰコントローラは、ステートマシン、インストラクションレジスタ、バウンダリスキャンレジスタを有する。インストラクションレジスタは、ＴＤＩ端子から入力されるＴＡＰコントローラに対する制御コードを格納する。バウンダリスキャンレジスタは、ＴＤＩ端子から入力されるテストパターンを格納する。ステートマシンは、ＴＭＳ端子から入力されるＴＭＳ信号に基づきＴＡＰコントローラの動作状態を制御する。
【０００４】
また、複数の被テスト回路を有する場合、被テスト回路の数に応じて複数のＴＡＰコントローラを用いることが行われている。複数の被テスト回路がある場合、これら被テスト回路は、それぞれが個別に動作する場合や、複数のテストブロックが強調して動作を行う場合がある。そこで、複数のＴＡＰコントローラを用いる場合、複数のＴＡＰコントローラのバウンダリスキャンレジスタの接続状態を被テスト回路の動作に応じて変更することが行われる。
【０００５】
例えば、特許文献１、特許文献２及び特許文献３に記載のテスト回路では、被テスト回路ごとに設けられたＴＡＰコントローラのうちいずれのＴＡＰコントローラを動作させるかを選択することができる。これにより、任意に選択した一つの被テスト回路のみに対して単独のテストを実行することができる。しかしながら、特許文献１〜３に記載のテスト回路では、テスト対象とする被テスト回路の単位を切り替えることができない問題がある。そこで、テスト対象とする被テスト回路の単位を切り替えることができるテスト回路が特許文献４に開示されている。
【０００６】
特許文献４に記載のテスト回路では、一つのＴＡＰコントローラ内に選択回路を有する。選択回路は、複数のバウンダリスキャンレジスタを分割するように配置される。そして、選択回路は、前段に接続されるバウンダリスキャンレジスタを介して伝達されるテストパターンを後段のバウンダリスキャンレジスタに伝達するか、前段に接続されるバウンダリスキャンレジスタをスルーする経路を介して伝達されるテストパターンを後段のバウンダリスキャンレジスタに伝達するかを切り替える。これにより、特許文献４に記載のテスト回路では、テストパターンの長さに応じてバウンダリスキャンレジスタにより構成されるバウンダリスキャンチェーンの長さを調節することができる。また、特許文献４に記載のテスト回路は、選択回路により分割されたスキャンチェーンのそれぞれに対応して被テスト回路を設けることで、一つのテストパターンによりテスト可能な被テスト回路の個数を変更することができる。
特許文献５に記載のテスト回路は、並列に接続されたバウンダリスキャンチェーンと、外部から入力される多値信号（アナログ信号）の電圧値に基づきデジタル値を出力する変換器を有する。変換器は、一つの多値信号が入力されるとバウンダリスキャンチェーンのそれぞれに対してデジタル値を出力する。これにより、特許文献５に記載のテスト回路では、テストパターンのバウンダリスキャンチェーンへの入出力時間を短縮する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１６４３６７号公報
【特許文献２】特開２００７−１４８７５４号公報
【特許文献３】特開２００７−２７１３９０号公報
【特許文献４】特開２００１−２０３３２２号公報
【特許文献５】特開２００６−１８９３０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１〜５に記載のテスト回路では、複数のＴＡＰコントローラの間の接続状態を制御することができない。つまり、複数のＴＡＰコントローラ内のバウンダリスキャンレジスタを個別のスキャンチェーンとして扱うか、複数のＴＡＰコントローラ内のバウンダリスキャンレジスタが互いに接続された一つのスキャンチェーンとして扱うかを切り替えることができない。そのため、特許文献１〜５に記載のテスト回路では、複数のＴＡＰコントローラを有していても、テスト対象とする被テスト回路の組み合わせの自由度が低い問題がある。
【課題を解決するための手段】
【０００９】
本発明にかかるテスト回路の一態様は、ＩＥＥＥ１１４９に規定される標準仕様に準拠した複数のＴＡＰコントローラを有するテスト回路であって、制御コード及びテスト制御信号を受けて、被テスト回路に対するテストの実行と、シフトモード信号の出力と、を行うマスタＴＡＰコントローラと、前記制御コード及び前記テスト制御信号を受けて、被テスト回路に対するテストを実行する第１のスレーブＴＡＰコントローラと、前記第１のスレーブＴＡＰコントローラに対応して設けられ、前記第１のスレーブＴＡＰコントローラに入力する前記制御コードを外部から入力するか、前記マスタＴＡＰコントローラを介して入力するかを、前記シフトモード信号に基づき切り替える第１の端子制御回路と、を有するものである。
【００１０】
本発明にかかるテスト回路では、マスタＴＡＰコントローラがシフトモード信号を出力する。そして、第１のスレーブＴＡＰコントローラは、シフトモード信号に基づき制御コードの入力を、外部から行うか、マスタＴＡＰコントローラを介して行うかを切り替えることができる。つまり、本発明にかかるテスト回路では、第１のスレーブＴＡＰコントローラ内のバウンダリスキャンレジスタを独立したスキャンチェーンとして扱うか、第１のスレーブＴＡＰコントローラ内のバウンダリスキャンレジスタを他のＴＡＰコントローラ（例えばマスタＴＡＰコントローラと）内のバウンダリスキャンレジスタと接続して一つのスキャンチェーンとして扱うかを切り替えることができる。従って、本発明にかかるテスト回路は、ＴＡＰコントローラの接続状態を切り替えることで被テスト回路のテスト単位を任意に設定することができる。
【発明の効果】
【００１１】
本発明にかかるテスト回路によれば、複数のＴＡＰコントローラの接続状態を切り替えて自由度の高いテストを実現することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１にかかるテスト回路のブロック図である。
【図２】実施の形態１にかかる端子制御回路の詳細なブロック図である。
【図３】実施の形態１にかかる端子制御回路の詳細なブロック図である。
【図４】実施の形態１にかかるステートマシンの状態遷移図である。
【図５】実施の形態１にかかるテスト回路においてパラレルテストモードを実行する場合に有効になる信号経路を示すテスト回路のブロック図である。
【図６】実施の形態１にかかるテスト回路においてパラレルテストモードを実行する場合のテスト回路のタイミングチャートである。
【図７】実施の形態１にかかるテスト回路においてチップ一括テストモードを実行する場合に有効になる信号経路を示すテスト回路のブロック図である。
【図８】実施の形態１にかかるテスト回路においてコア単位テストモードを実行する場合に有効になる信号経路を示すテスト回路のブロック図である。
【図９】実施の形態１にかかるテスト回路においてコア単位テストモードを実行する場合のテスト回路のタイミングチャートである。
【発明を実施するための形態】
【００１３】
実施の形態１
以下、本発明の実施の形態について図面を参照して説明する。図１に実施の形態１にかかるテスト回路のブロック図を示す。図１に示すように、本実施の形態にかかるテスト回路は、マスタＴＡＰコントローラ１０、第１のスレーブＴＡＰコントローラ２０、第２のスレーブＴＡＰコントローラ４０、第１の端子制御回路３０、第２の端子制御回路５０を有する。ここで、マスタＴＡＰコントローラ１０、第１のスレーブＴＡＰコントローラ２０、第２のスレーブＴＡＰコントローラ４０は、それぞれＩＥＥＥ１１４９．１の規格に準拠したＴＡＰコントローラである。従って、本実施の形態にかかるテスト回路において用いられる制御コード及びテスト制御信号は、ＩＥＥＥ１１４９．１の規格で規定される範囲内のコード及び信号となる。
【００１４】
また、テスト回路は、ＴＡＰコントローラに対応してＩＥＥＥ１１４９．１に規定されるテスト端子群（例えば、ＴＤＩ端子、ＴＭＳ端子、ＴＣＫ端子、ＴＲＳＴ端子、ＴＤＯ端子）を有する。ＴＤＩ端子は、制御コードの入力端子であり、ＴＭＳ端子、ＴＣＫ端子、ＴＲＳＴ端子は、テスト制御信号（ＴＭＳ信号、ＴＣＫ信号（クロック信号）、ＴＲＳＴ信号（リセット信号）を含む）の入力端子であり、ＴＤＯ端子は、テスト結果又はＴＡＰコントローラ内のバウンダリスキャンレジスタ及びインストラクションレジスタに格納されたデータを出力するための端子である。
【００１５】
本実施の形態にかかるテスト回路では、複数のテスト端子群を有するものとする。複数のテスト端子群はそれぞれＴＡＰコントローラに対応して設けられる。以下の説明では、テスト回路内の複数のＴＡＰコントローラが共通して用いるテスト端子群を共通テスト端子群（ＥＸＴ＿ＴＤＩ、ＥＸＴ＿ＴＭＳ、ＥＸＴ＿ＴＣＫ、ＥＸＴ＿ＴＲＳＴ、ＥＸＴ＿ＴＤＯ）と称し、第１のＴＡＰコントローラ２０のみに対して設けられるテスト端子群を第１の個別テスト端子群（ＥＸＴ＿ＴＤＩ１、ＥＸＴ＿ＴＭＳ１、ＥＸＴ＿ＴＣＫ１、ＥＸＴ＿ＴＲＳＴ１、ＥＸＴ＿ＴＤＯ１）と称し、第２のＴＡＰコントローラ４０のみに対して設けられるテスト端子群を第２の個別テスト端子群（ＥＸＴ＿ＴＤＩ２、ＥＸＴ＿ＴＭＳ２、ＥＸＴ＿ＴＣＫ２、ＥＸＴ＿ＴＲＳＴ２、ＥＸＴ＿ＴＤＯ２）と称す。
【００１６】
マスタＴＡＰコントローラ１０は、ＴＡＰコア１１、バウンダリスキャンレジスタＢＳ、インタフェース回路ＩＦを有する。ＴＡＰコア１１内にはインストラクションレジスタ（不図示）が設けられる。ＴＡＰコア１１は、ＩＥＥＥ１１４９．１に準拠したＴＤＩ信号、ＴＭＳ信号、ＴＣＫ信号、ＴＲＳＴ信号を受けてＴＡＰコントローラの制御を行う。バウンダリスキャンレジスタＢＳは、各レジスタが直列に接続され、一つのＴＡＰコントローラ内に設けられるバウンダリスキャンレジスタＢＳによりバウンダリスキャンチェーンの最小単位を構成する。ＴＡＰコア１１は、ＴＡＰコントローラがバウンダリスキャンレジスタＢＳに対してデータを設定するモードであれる場合、ＴＤＩ信号として与えられるテストパターンをバウンダリスキャンレジスタＢＳに設定する。インタフェース回路ＩＦは、バウンダリスキャンレジスタＢＳに格納されたデータをテスト回路の外部に出力する。また、インタフェース回路ＩＦは、被テスト回路から得られるテスト結果をテスト回路の外部から受けてバウンダリスキャンレジスタＢＳに与える。
【００１７】
また、ＴＡＰコア１１は、ＴＤＩ信号として与えられる制御コードに基づき、動作モード設定信号ＭＯＤＥ、シフトモード信号ＳＦＴ、チップ選択信号ＣＳを出力する。
【００１８】
なお、ＴＡＰコア１１は、他のＴＡＰコントローラから出力されるＴＤＯ信号をバウンダリスキャンチェーンＢＳ＿ＣＨＡＩＮ信号として受けてＴＡＰコア１１が出力するＴＤＯ信号とする。また、メインＴＡＰコントローラ１０では、バウンダリスキャンチェーンの出力はＴＡＰコア１１を介すことなく他のＴＡＰコントローラに出力されるものとする。しかし、メインＴＡＰコントローラ１０においても、バウンダリスキャンチェーンの出力をＴＡＰコア１１を介して出力する形式としても問題ない。
【００１９】
第１のスレーブＴＡＰコントローラ２０は、ＴＡＰコア２１、バウンダリスキャンレジスタＢＳ、インタフェース回路ＩＦを有する。ＴＡＰコア２１は、ＴＡＰコア１１から動作モード設定信号ＭＯＤＥ、シフトモード信号ＳＦＴ、チップ選択信号ＣＳを出力する機能を除いたものである。また、ＴＡＰコア２１は、第１のスレーブＴＡＰコントローラ２０内のバウンダリスキャンレジスタＢＳの出力を受けて、外部にＴＤＯ信号として出力する。バウンダリスキャンレジスタＢＳ及びインタフェース回路ＩＦは、マスタＴＡＰコントローラ内のものと同じものであるため、ここでは説明を省略する。
【００２０】
第１の端子制御回路３０は、ＴＡＰピン制御回路３１、ＣＳＰレジスタ３２を有する。ＴＡＰピン制御回路３１は、第１のスレーブＴＡＰコントローラ２０に入力する制御コードを外部から入力するか、マスタＴＡＰコントローラ１０のバウンダリスキャンレジスタＢＳを介して入力するかを、シフトモード信号ＳＦＴに基づき切り替える。また、ＴＡＰピン制御回路３１は、テスト制御信号及び制御コードを共通テスト端子群から第１のスレーブＴＡＰコントローラ２０に与えるか、第１の個別テスト端子群から与えるかを動作モード設定信号ＭＯＤＥに基づき切り替える。
【００２１】
ここで、ＴＡＰピン制御回路３１は、動作モード設定信号ＭＯＤＥが共通動作モード（例えば"０"）を示し、シフトモード信号ＳＦＴがチェーンモード（例えば"０"）を示す場合、マスタＴＡＰコントローラ１０のバウンダリスキャンチェーンから出力される制御コードを第１のスレーブＴＡＰコントローラ２０に与える。また、動作モード設定信号ＭＯＤＥが共通動作モードを示し、シフトモード信号ＳＦＴが独立モード（例えば"１"）を示す場合、共通テスト端子群のＴＤＩ端子（ＥＸＴ＿ＴＤＩ）から入力される制御コードを第１のスレーブＴＡＰコントローラ２０に与える。さらに、動作モード設定信号ＭＯＤＥが独立動作モード（例えば"１"）を示す場合、シフトモード信号ＳＦＴの値にかかわらず、第１の個別テスト端子群に含まれるＴＤＩ端子（ＥＸＴ＿ＴＤＩ１）から入力される制御コードを第１のスレーブＴＡＰコントローラ２０に与える。
【００２２】
ＣＳＰレジスタ３２は、チップ選択信号ＣＳの値を格納し、第１の端子制御回路３０を有効にするか否かを示すフラグを格納する。ＣＳＰレジスタ３２は、他の端子制御回路内に設けられるＣＳＰレジスタと直列に接続され、ＣＳＰチェーンＣＳＰ＿ＣＨＡＩＮを構成する。マスタＴＡＰコントローラ１０は、シリアルデータとしてチップ選択信号ＣＳを生成する。チップ選択信号は、例えば、すべてのＣＳＰレジスタに有効を示す値を設定する場合は、ＣＳＰレジスタの数だけ１が並ぶシリアルデータとなる。
【００２３】
第２のＴＡＰコントローラ４０は、第１のＴＡＰコントローラ２０と実質的に同じものであるため説明を省略する。第２の端子制御回路５０は、ＴＡＰピン制御回路５１、ＣＳＰレジスタ５２を有する。ここで、ＴＡＰピン制御回路５１は、第２のスレーブＴＡＰコントローラ４０に入力する制御コードを外から入力するか、第１のスレーブＴＡＰコントローラ２０のバウンダリスキャンレジスタＢＳを介して入力するかを、シフトモード信号ＳＦＴに基づき切り替える。また、ＴＡＰピン制御回路５１は、テスト制御信号及び制御コードを共通テスト端子群から第２のスレーブＴＡＰコントローラ４０に与えるか、第２の個別テスト端子群から与えるかを動作モード設定信号ＭＯＤＥに基づき切り替える。なお、動作モード設定信号ＭＯＤＥ、シフトモード信号ＳＦＴに対するＴＡＰピン制御回路５１は、ＴＡＰピン制御回路３１と同じであるため、説明を省略する。また、ＣＳＰレジスタ５２も、ＣＳＰレジスタ３２と実質的に同じものであるためここでは説明を省略する。
【００２４】
次いで、ＴＡＰピン制御回路３１及びＴＡＰピン制御回路５１についてさらに詳細に説明する。まず、図２にＴＡＰピン制御回路３１の詳細なブロック図を示す。なお、図２では、ＴＡＰピン制御回路３１について説明するためにマスタＴＡＰコントローラ１０及び第１のスレーブＴＡＰコントローラ２０を示した。なお、図２における第１のスレーブＴＡＰコントローラ２０では、インストラクションレジスタＩＲ及びセレクタ２１を示した。インストラクションレジスタＩＲは、制御コードのうちＴＡＰコントローラの制御に用いられるインストラクションコードが格納される。セレクタ２１は、ＴＡＰコントローラの状態に応じてインストラクションレジスタＩＲに格納されているインストラクションコードとバウンダリスキャンレジスタＢＳに格納されているテストパターンデータのいずれかを選択して出力する。
【００２５】
図２に示すように、ＴＡＰピン制御回路３１は、第１のデータ経路切り替え回路（例えば、セレクタ３４）、第１のモード制御回路３５、第１のコード入力切り替え回路（例えばセレクタ３８）、複数の第１の制御入力切り替え回路（例えば、セレクタ３９ａ〜３９ｃ）を有する。
【００２６】
セレクタ３４は、シフトモード信号ＳＦＴを受けて、マスタＴＡＰコントローラ内のバウンダリスキャンレジスタＢＳが出力する制御コードと共通テスト端子のＥＸＴ＿ＴＤＩ端子から入力される制御コードとのいずれを出力するかを切り替える。
【００２７】
第１のモード制御回路３５は、動作モード設定信号ＭＯＤＥの値を保持し、保持した値を入力切り替え信号ＳＥＬとして出力する。第１のモード制御回路３５は、ＯＲ回路３６、Ｄフリップフロップ回路３７を有する。ＯＲ回路３６は、一方の入力端子に動作モード設定信号ＭＯＤＥが入力され、他方の入力端子にＤフリップフロップ回路３７の出力が入力される。そして、ＯＲ回路３６は２つの入力の論理和を出力する。Ｄフリップフロップ回路３７は、クロック入力に共通テスト端子群のＥＸＴ＿ＴＣＫ端子からクロック信号が入力され、データ入力端子にＯＲ回路３６の出力が入力される。そして、Ｄフリップフロップ回路３７は、クロック信号の立ち上がりエッジに同期してデータ入力端子に入力される信号の信号レベルを保持し、保持した値を入力切り替え信号ＳＥＬとして出力する。また、Ｄフリップフロップ回路３７のリセット端子には、共通テスト端子群のＥＸＴ＿ＴＲＳＴ端子からリセット信号が入力される。そして、Ｄフリップフロップ回路３７は、リセット信号がリセット状態（例えばロウレベル）である場合には、出力をロウレベルとする。
【００２８】
セレクタ３８は、セレクタ３４が出力する制御コードと第１の個別テスト端子群に含まれるＥＸＴ＿ＴＤＩ１端子から入力される制御コードのいずれか一方を入力切り替え信号ＳＥＬに基づき選択して出力する。
【００２９】
セレクタ３９ａ〜３９ｃは、入力切り替え信号ＳＥＬに基づき、共通テスト端子群から入力されるテスト制御信号と第１の個別テスト端子群から入力されるテスト制御信号とを切り替えて出力する。より具体的には、セレクタ３９ａは、ＥＸＴ＿ＴＭＳ端子から入力されるＴＭＳ信号と、ＥＸＴ＿ＴＭＳ１端子から入力されるＴＭＳ信号と、のいずれか一方を選択して第１のスレーブＴＡＰコントローラ２０に出力する。セレクタ３９ｂは、ＥＸＴ＿ＴＣＫ端子から入力されるクロック信号と、ＥＸＴ＿ＴＣＫ１端子から入力されるクロック信号と、のいずれか一方を選択して第１のスレーブＴＡＰコントローラ２０に出力する。セレクタ３９ｃは、ＥＸＴ＿ＴＲＳＴ端子から入力されるリセット信号と、ＥＸＴ＿ＴＲＳＴ１端子から入力されるリセット信号と、のいずれか一方を選択して第１のスレーブＴＡＰコントローラ２０に出力する。
【００３０】
なお、第１のスレーブＴＡＰコントローラ２０が出力する出力信号は、第１の端子制御回路３０で何ら処理されることなく個別テスト端子群のＥＸＴ＿ＴＤＯ１端子から出力される。
【００３１】
続いて、図３に第２のスレーブＴＡＰコントローラ４０のブロック図を示す。図３に示すように、第２のスレーブＴＡＰコントローラ４０は、第２の個別テスト端子から制御コード及びテスト制御信号を受ける構成を有する。また、第２のスレーブＴＡＰコントローラ４０内のセレクタ５４は、マスタＴＡＰコントローラ２０内のバウンダリスキャンレジスタＢＳからの出力を受けずに、第１のスレーブＴＡＰコントローラ２０の出力を受ける構成となる。第２のスレーブＴＡＰコントローラ４０におけるその他の構成は、第１のスレーブＴＡＰコントローラ２０と実質的に同じである。
【００３２】
なお、第２のスレーブＴＡＰコントローラ内の第２のデータ経路切り替え回路（例えば、セレクタ５４）は、セレクタ３４に相当するものであり、第２のモード制御回路５５（ＯＲ回路５６及びＤフリップフロップ回路５７を含む）は第１のモード制御回路３５に相当するものであり、第２のコード入力切り替え回路（例えばセレクタ５８）はセレクタ３８に相当するものであり、複数の第２の制御入力切り替え回路（例えばセレクタ５９ａ〜５９ｃ）はセレクタ３９ａ〜３９ｃに相当するものである。
【００３３】
ここで、ＴＡＰコントローラの動作について説明する。ＴＡＰコントローラはＴＡＰコア内にステートマシン（不図示）を有しており、ステートマシンが取り得る状態をＴＭＳ信号、ＴＣＫ信号により遷移させることで被テスト回路のテストを行う。ここで、図４にステートマシンの状態遷移図を示す。
【００３４】
図４に示すように、ステートマシンは、ＴＣＫ信号の立ち上がりエッジが入力されたときのＴＭＳ信号の信号レベルに応じて状態を遷移させる。ここで、各状態について説明する。Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔは、ステートマシンのリセット状態であり、この状態ではテスト回路は、他の回路に何ら影響を与えない状態である。なお、ＴＲＳＴ信号をロウレベルとするといずれの状態からでもＴｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔの状態に遷移することができる。Ｒｕｎ−Ｔｅｓｔ−Ｉｄｌｅは、テストの実行準備の状態、又は、Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔからの通過状態を示すステートである。
【００３５】
Ｓｅｌｅｃｔ−ＩＲ−Ｓｃａｎは、インストラクションレジスタＩＲを制御する状態を選択するための一時的な状態である。Ｃａｐｔｕｒｅ−ＩＲは、ＴＤＩ端子から入力される制御コードをインストラクションレジスタＩＲに入力する準備を行う状態である。Ｓｈｉｆｔ−ＩＲは、ＴＣＫ信号の立ち上がりエッジごとに制御コードをシフトさせ、インストラクションレジスタＩＲに制御コードを設定する状態である。Ｅｘｉｔ１−ＩＲは、Ｓｈｉｆｔ−ＩＲの終了後に、Ｐａｕｓｅ−ＩＲのステートに移行するか、Ｕｐｄａｔｅ−ＩＲのステートに移行するかを選択する状態である。Ｐａｕｓｅ−ＩＲは、インストラクションレジスタＩＲのシフト動作を一時的に停止する状態である。Ｅｘｉｔ２−ＩＲは、Ｓｈｉｆｔ−ＩＲのステートに戻るか、Ｕｐｄａｔｅ−ＩＲのステートに進むかを選択する状態である。Ｕｐｄａｔｅ−ＩＲは、ＴＣＫ信号の立ち下がりエッジで、インストラクションレジスタＩＲに設定された制御コードを実行する状態である。
【００３６】
Ｓｅｌｅｃｔ−ＤＲ−Ｓｃａｎは、バウンダリスキャンレジスタＢＳを制御する状態を選択するための一時的な状態である。Ｃａｐｔｕｒｅ−ＤＲは、ＴＤＩ端子から入力される制御コードをバウンダリスキャンレジスタＢＳに入力する準備を行い、かつ、被テスト回路から得られるテスト結果をバウンダリスキャンレジスタＢＳに設定する状態である。Ｓｈｉｆｔ−ＤＲは、ＴＣＫ信号の立ち上がりエッジごとにバウンダリスキャンレジスタＢＳの値をシフトさせ、バウンダリスキャンレジスタＢＳに格納されたテスト結果の出力を行いながらＴＤＩ端子から入力される制御コードを新たにバウンダリスキャンレジスタＢＳに設定する状態である。Ｅｘｉｔ１−ＤＲは、Ｓｈｉｆｔ−ＤＲの終了後に、Ｐａｕｓｅ−ＤＲのステートに移行するか、Ｕｐｄａｔｅ−ＤＲのステートに移行するかを選択する状態である。Ｐａｕｓｅ−ＤＲは、バウンダリスキャンレジスタＢＳのシフト動作を一時的に停止する状態である。Ｅｘｉｔ２−ＤＲは、Ｓｈｉｆｔ−ＤＲのステートに戻るか、Ｕｐｄａｔｅ−ＤＲのステートに進むかを選択する状態である。Ｕｐｄａｔｅ−ＤＲは、ＴＣＫ信号の立ち下がりエッジで、バウンダリスキャンレジスタＢＳに設定された制御コードを被テスト回路に与える状態である。
【００３７】
続いて、本実施の形態にかかるテスト回路の動作について説明する。本実施の形態にかかるテスト回路では、動作モード設定信号ＭＯＤＥ及びシフトモード信号ＳＦＴの状態に応じて３つのテストを実行することができる。第１のテストモードは、複数のＴＡＰコントローラをすべて同じ制御コード及びテスト制御信号で動作させるパラレルテストモードである。第２のテストモードは、複数のＴＡＰコントローラのバウンダリスキャンレジスタＢＳを直列に接続して、複数の被テスト回路（例えば１チップ分）に対して一つのテストパターンでテストを行うチップ一括テストモードである。第３のテストモードは、複数のＴＡＰコントローラをそれぞれ独立したＴＡＰコントローラとして扱うコア単位テストモードである。なお、以下の説明ではＣＳＰレジスタの値はすべて有効であるものとし、ＣＳＰレジスタの値が異なる場合の動作については説明を省略する。また、第２のスレーブＴＡＰコントローラ４０が第１のスレーブＴＡＰコントローラ２０と実質的に同じ動作となるため、以下の説明では、図３に示す第２のスレーブＴＡＰコントローラ４０に対応するブロック図は省略する。
【００３８】
また、以下の説明では、本実施の形態にかかるテスト回路において各ＴＡＰコアは、それぞれＴｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔの状態において、共通テスト端子群から制御コード及びテスト制御信号を受けるもとする。そして、テスト開始前にインストラクションレジスタＩＲに入力される制御コードに応じて動作モード設定信号ＭＯＤＥ及びシフトモード信号ＳＦＴが設定されるものとする。
【００３９】
パラレルテストモードを行う場合において有効になるテスト回路の信号配線を示す図を図５に示す。図５では、有効な信号配線を実線で示し、無効な信号配線を一点鎖線で示した。パラレルテストモードでは、動作モード設定信号ＭＯＤＥが"０"であり、シフトモード信号ＳＦＴが"１"である。そして、動作モード設定信号ＭＯＤＥの値に応じて入力切り替え信号ＳＥＬは、"０"に設定される。
【００４０】
そのため、パラレルテストモードでは、ＴＡＰピン制御回路３１、５１が共通テスト端子群から入力される制御コード（例えば、テストパターン）及びテスト制御信号を第１のスレーブＴＡＰコントローラ２０及び第２のスレーブＴＡＰコントローラ４０に与える。
【００４１】
これにより、第１のスレーブＴＡＰコントローラ２０及び第２のスレーブＴＡＰコントローラ４０は、ともに同じテストパターンがバウンダリスキャンレジスタＢＳに設定され、同じテスト制御信号に基づき動作することになる。つまり、パラレルテストモードでは、各ＴＡＰコントローラがそれぞれ同じテストを行う。また、各ＴＡＰコントローラにおいて実行されたテストの結果は、各ＴＡＰコントローラに対応して設けられるＴＤＯ端子（ＥＸＴ＿ＴＤＯ端子、ＥＸＴ＿ＴＤＯ１端子、ＥＸＴ＿ＴＤＯ２端子）からそれぞれ出力される。なお、パラレルテストモードでは、マスタＴＡＰコントローラ１０も、第１のスレーブＴＡＰコントローラ２０及び第２のスレーブＴＡＰコントローラ４０と同様に動作するため、マスタＴＡＰコントローラ１０を用いてテストを実行することも可能である。
【００４２】
ここで、パラレルテストモードを実行する場合のテスト回路の動作を示すタイミングチャートを図６に示す。図６に示すように、パラレルテストモードでは、まずタイミングＴ１〜Ｔ２においてＴＲＳＴ信号がロウレベルとなり、ステートマシンの状態をＴｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態とする。続いて、タイミングＴ３からＴＣＫ信号及びＴＭＳ信号の入力が開始され、タイミングＴ４においてステートマシンの状態がＳｈｉｆｔ−ＩＲに遷移する。そして、タイミングＴ４〜Ｔ５において制御コード（例えば命令コード）がＴＤＩ信号として与えられる。次いで、タイミングＴ５〜Ｔ６において、ステートマシンの状態をＳｈｉｆｔ−ＤＲに遷移させる。Ｓｈｉｆｔ−ＤＲでは、タイミングＴ６〜Ｔ７において制御コード（例えば、テストパターン）のシフト動作が行われ、バウンダリスキャンレジスタＢＳにテストパターンが設定される。
【００４３】
そして、タイミングＴ７〜Ｔ８の一時刻においてＵｐｄａｔｅ−ＤＲの状態となりテストが行われる。そして、タイミングＴ７〜Ｔ８の期間において再度ステートマシンの状態をＳｈｉｆｔ−ＤＲに遷移させる。ことのとき、タイミングＴ８では、バウンダリスキャンレジスタＢＳには、テスト結果となるパターンが格納されている。そのため、タイミングＴ８以降のＳｈｉｆｔ−ＤＲの期間は、新たなテストパターンの入力と共に、テスト結果の出力が行われる。
【００４４】
次いで、チップ一括テストモードを行う場合において有効になるテスト回路の信号配線を示す図を図７に示す。図７では、有効な信号配線を実線で示し、無効な信号配線を一点鎖線で示した。チップ一括テストモードでは、動作モード設定信号ＭＯＤＥが"０"であり、シフトモード信号ＳＦＴが"０"である。そして、動作モード設定信号ＭＯＤＥの値に応じて入力切り替え信号ＳＥＬは、"０"に設定される。
【００４５】
そのため、チップ一括テストモードでは、ＴＡＰピン制御回路３１、５１は、共通テスト端子群から入力されるテスト制御信号を第１のスレーブＴＡＰコントローラ２０及び第２のスレーブＴＡＰコントローラ４０に与える。一方、チップ一括テストモードでは、ＴＡＰピン制御回路３１、５１は、制御コード（例えば、テストパターン）を前段に配置されるＴＡＰコントローラのバウンダリスキャンチェーンを介して受け、第１のスレーブＴＡＰコントローラ２０及び第２のスレーブＴＡＰコントローラ４０に与える。
【００４６】
これにより、第１のスレーブＴＡＰコントローラ２０及び第２のスレーブＴＡＰコントローラ４０は、同じテスト制御信号に基づき動作することになる。また、バウンダリスキャンレジスタＢＳは、複数のＴＡＰコントローラに属するバウンダリスキャンレジスタＢＳにより一つのバウンダリスキャンチェーンを構成する。つまり、チップ一括テストモードでは、複数の被テスト回路に対する一つのテストを複数のＴＡＰコントローラにより実行する。
【００４７】
なお、チップ一括テストモードでは、マスタＴＡＰコントローラ１０を含む複数のＴＡＰコントローラにより一つのバウンダリスキャンチェーンを構成するため、テスト結果は複数のＴＡＰコントローラのうち最終段に配置されるＴＡＰコントローラの出力信号（ＴＤＯ信号）がマスタＴＡＰコントローラ１０を介して出力される構成となる。
【００４８】
ここで、チップ一括テストモードを実行する場合のテスト回路の動作を示すタイミングチャートは、図６に示すパラレルテストモードのタイミングチャートにおいて、テストパターンを入力するタイミングＴ６〜Ｔ７及びタイミングＴ８以降の期間の長さを長くしたものになる。つまり、チップ一括テストモードにおけるタイミングチャートはパラレルテストモードのタイミングチャートと実質的に同じものとなる。
【００４９】
次いで、コア単位テストモードを行う場合において有効になるテスト回路の信号配線を示す図を図８に示す。図８では、有効な信号配線を実線で示し、無効な信号配線を一点鎖線で示した。コア単位テストモードでは、動作モード設定信号ＭＯＤＥが"１"であり、シフトモード信号ＳＦＴの値は"０"であっても"１"であっても良い。そして、動作モード設定信号ＭＯＤＥの値に応じて入力切り替え信号ＳＥＬは、"１"に設定される。
【００５０】
そのため、コア単位テストモードでは、ＴＡＰピン制御回路３１、５１は、第１、第２の個別テスト端子群から入力される制御コード（例えば、テストパターン）及びテスト制御信号を第１のスレーブＴＡＰコントローラ２０及び第２のスレーブＴＡＰコントローラ４０に与える。
【００５１】
これにより、第１のスレーブＴＡＰコントローラ２０及び第２のスレーブＴＡＰコントローラ４０は、それぞれ対応する個別テスト端子群から入力される信号に基づき互いに独立した動作を行う。つまり、コア単位テストモードでは、各ＴＡＰコントローラがそれぞれ独立したテストを行う。また、各ＴＡＰコントローラにおいて実行されたテストの結果は、各ＴＡＰコントローラに対応して設けられるＴＤＯ端子（ＥＸＴ＿ＴＤＯ端子、ＥＸＴ＿ＴＤＯ１端子、ＥＸＴ＿ＴＤＯ２端子）からそれぞれ出力される。なお、コア単位テストモードでは、マスタＴＡＰコントローラ１０も、第１のスレーブＴＡＰコントローラ２０及び第２のスレーブＴＡＰコントローラ４０と同様に独立して動作させることが可能である。
【００５２】
ここで、コア単位テストモードを実行する場合のテスト回路の動作を示すタイミングチャートを図９に示す。図９に示すように、コア単位テストモードでは、タイミングＴ１１〜Ｔ１６においてすべてのＴＡＰコントローラは共通テスト端子群から入力される制御コード及びテスト制御信号に基づき同じ動作を行う。ここで、コア単位テストモードでは、タイミングＴ１４〜Ｔ１５の期間に入力される。そして、タイミングＴ１６においてタイミングＴ１４〜Ｔ１５で入力された命令コードに基づく動作が行われると命令コードにより動作モード設定信号ＭＯＤＥが"１"に設定される。これにより、ＴＡＰピン制御回路３１、５１は、それぞれ対応する個別テスト端子群から入力される制御コード及びテスト制御信号を受けることができるようになる。
【００５３】
そのため、本実施の形態では、タイミングＴ１６以降は、メインＴＡＰコントローラ１０に対しては、ステートマシンの状態をＴｅｓｔ−Ｌｏｇｉｃ−Ｉｄｌｅに戻す動作が行われ、スレーブＴＡＰコントローラに対しては、ステートマシンの状態をＳｈｉｆｔ−ＤＲに移行させる動作がそれぞれ独立して行われる。
【００５４】
タイミングＴ１６以降において、スレーブＴＡＰコントローラの状態がＳｈｉｆｔ−ＤＲとなると、タイミングＴ１８〜Ｔ１９において制御コード（例えば、テストパターン）のシフト動作が行われ、バウンダリスキャンレジスタＢＳにテストパターンが設定される。そして、タイミングＴ１９〜Ｔ２０の一時刻においてＵｐｄａｔｅ−ＤＲの状態となりテストが行われる。そして、タイミングＴ１９〜Ｔ２０の期間において再度ステートマシンの状態をＳｈｉｆｔ−ＤＲに遷移させる。ことのとき、タイミングＴ２０では、バウンダリスキャンレジスタＢＳには、テスト結果となるパターンが格納されている。そのため、タイミングＴ２０以降のＳｈｉｆｔ−ＤＲの期間は、新たなテストパターンの入力と共に、テスト結果の出力が行われる。
【００５５】
上記説明より、本実施の形態にかかるテスト回路は、マスタＴＡＰコントローラがシフトモード信号ＳＦＴを出力し、端子制御回路がスレーブＴＡＰコントローラに入力する制御コードを外部から入力するか、マスタＴＡＰコントローラを介して入力するかを切り替える。これにより、複数のＴＡＰコントローラ内のバウンダリスキャンチェーンを一つのスキャンチェーンとして扱うか（チップ一括テストモード）、個別のスキャンチェーンとして扱うか（パラレルテストモード又はコア単位テストモード）、を切り替えることができる。つまり、複数のＴＡＰコントローラを用いて、テスト対象となる被テスト回路の範囲を切り替えることができる。そのため、本発明のテスト回路は、従来のテスト回路よりもテストの自由度を向上させることができる。
【００５６】
また、本実施の形態にかかるテスト回路は、動作モード設定信号ＭＯＤＥにより、複数のＴＡＰコントローラを並列に動作（パラレルテストモード）させるか又は個別に動作（コア単位テストモード）させるかを切り替えることができる。パラレルテストモードでは、複数のＴＡＰコントローラを並列に動作させることができるため、同じテストを行う被テスト回路を一度でテストすることができる。これにより、テスト時間を短縮することができる。また、コア単位テストモードでは、ＴＡＰコントローラをそれぞれ独立して動作せせることができるため、例えば、ＴＡＰコントローラごとに動作周波数の異なるテストを実行することができる。
【００５７】
つまり、本実施の形態にかかるテスト回路によれば、シフトモード信号ＳＦＴ及び動作モード設定信号ＭＯＤＥにより、制御するＴＡＰコントローラの単位を変更し、テストの自由度を向上とテスト時間の短縮を実現することができる。
【００５８】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、動作モード設定信号ＭＯＤＥ及びシフトモード信号ＳＦＴの論理はＴＡＰピン制御回路の入力選択の論理に応じて適宜変更することが可能である。
【符号の説明】
【００５９】
１０    マスタＴＡＰコントローラ
１１、２１、４１    ＴＡＰコア
２０、４０    スレーブＴＡＰコントローラ
３０、５０    端子制御回路
３１、５１    ＴＡＰピン制御回路
３２、５２    ＣＳＰレジスタ
３５、５５    モード制御回路
３６、５６    ＯＲ回路
３７、５７    Ｄフリップフロップ回路
２１、３４、５４、３８、５８    セレクタ
３９ａ〜３９ｃ、５９ａ〜５９ｃ    セレクタ
ＩＦ    インタフェース回路
ＩＲ    インストラクションレジスタ
ＢＳ    バウンダリスキャンレジスタ
ＣＳ    チップ選択信号
ＭＯＤＥ    動作モード設定信号
ＳＦＴ    シフトモード信号
ＳＥＬ    入力切り替え信号
ＢＳ＿ＣＨＡＩＮ    バウンダリスキャンチェーン
ＣＳＰ＿ＣＨＡＩＮ    チェーン
【図１】
2010159989.tif 000003
【図２】
2010159989.tif 000004
【図３】
2010159989.tif 000005
【図４】
2010159989.tif 000006
【図５】
2010159989.tif 000007
【図６】
2010159989.tif 000008
【図７】
2010159989.tif 000009
【図８】
2010159989.tif 000010
【図９】
2010159989.tif 000011