(57)【要約】【課題】本発明は、単一のＴＡＰ（テストアクセスポート）を介して複数のＴＡＰにアクセスする集積回路を提供する。本来は別々のＩＣで使用されるように設計された、種々の再使用可能なＩＣの一部やモジュールの制御およびテストを統合できるようにする。【解決手段】第１複製状態マシン（２６）と第２複製状態マシン（２８）をそれぞれ用いることによって、第１状態マシン（２０）と第２状態マシン（２２）のいずれも修正することなく、第１状態マシン（２０）と第２状態マシン（２２）を個別にテストする。【選択図】図１
2011069840.tif 000002
【特許請求の範囲】
【請求項１】
第１モジュール（１４）、第２モジュール（１６）、および制御回路（１８）を有する集積回路（１０）において、前記制御回路（１８）が前記第１モジュール（１４）と前記第２モジュール（１６）をテストするテスト方法において、前記制御回路（１８）はＩＥＥＥ標準１１４９．１外部テストバス（３１）によって前記第１モジュール（１４）と前記第２モジュール（１６）にそれぞれ結合され、
前記第１モジュール（１４）は、ＩＥＥＥ標準１１４９．１の複数の第１テストアクセスポートを有する第１状態マシン（２０）を有し、前記第１状態マシン（２０）は、第１テストモード選択信号のみによってＵＰＤＡＴＥ−ＤＲ状態（１０８）から遷移し、
前記第２モジュール（１６）は、前記ＩＥＥＥ標準１１４９．１の複数の第２テストアクセスポートを有する第２状態マシン（２２）を有し、前記第２状態マシン（２２）は、第２テストモード選択信号のみによって前記ＵＰＤＡＴＥ−ＤＲ状態（１０８）から遷移し、
前記制御回路（１８）は第１複製状態マシン（２６）と第２複製状態マシン（２８）を有し、
前記テスト方法は、前記ＩＥＥＥ標準１１４９．１外部テストバス（３１）を使用して複数の前記第１アクセスポートと前記第２アクセスポートをそれぞれ選択および制御をするために、前記制御回路によって、
前記第１複製状態マシン（２６）を用いて前記第１状態マシン（２０）の状態履歴を追跡することによって、第１符号を生成するステップと；
前記第１符号を第１事前設定符号と比較する第１比較ステップと；
前記第１比較ステップに基づき、複数の前記第１テストアクセスポートのうちから何れを選択するか決定するステップと；
選択した前記第１テストアクセスポートを通じて、前記第１モジュール（１４）から第１テストデータを受信するステップと；
前記第２複製状態マシン（２８）を用いて前記第２状態マシン（２２）の状態履歴を追跡することによって、第２符号を生成するステップと；
前記第２符号を第２事前設定符号と比較する第２比較ステップと；
前記２比較ステップに基づき、複数の前記第２テストアクセスポートのうちから何れを選択するか決定するステップと；
選択した前記第２テストアクセスポートを通じて、前記第２モジュール（１６）から第２テストデータを受信するステップと
を備えることを特徴とする、テスト方法。
【請求項２】
前記テスト方法は更に：
前記第１テストモード選択信号を、前記第２モジュール（１６）には転送せずに前記第１モジュール（１４）に転送するステップと；
前記第１状態マシン（２０）の前記ＵＰＤＡＴＥ−ＤＲ状態からの遷移を、前記第１複製状態マシン（２６）によって複製するステップと；
前記第１モジュール（１４）によって前記第１テストデータを生成するステップと；
前記第２テストモード選択信号を、前記第１モジュール（１４）には転送せずに前記第２モジュール（１６）に転送するステップと；
前記第２状態マシン（２２）の前記ＵＰＤＡＴＥ−ＤＲ状態（１０８）からの遷移を、前記第２複製状態マシン（２８）によって複製するステップと；
前記第２モジュール（１６）によって前記第２テストデータを生成するステップと
を備える、請求項１記載のテスト方法。
【請求項３】
前記制御回路（１８）は更に、スイッチ回路（５０）を有し、
前記テスト方法は、更に前記スイッチ回路（５０）によって、
前記第１モジュール（１４）のスキャンチェーン順序を制御するために、前記第１テストモード選択信号を生成することと；
前記第２モジュール（１６）のスキャンチェーン順序を制御するために、前記第２テストモード選択信号を生成することと
を備える、請求項１記載のテスト方法。
【請求項４】
前記テスト方法は、前記スイッチ回路（５０）によって、
前記第１テストモード選択信号を、前記第２モジュール（１６）には転送せずに前記第１モジュール（１４）に転送するステップと；
前記第２テストモード選択信号を、前記第１モジュール（１４）には転送せずに前記第２モジュール（１６）に転送するステップと
前記第１モジュール（１４）から前記第１テストデータを出力させるために前記第１モジュール（１４）に入力される第１テストデータ入力信号を、前記第２モジュール（１６）には転送せずに前記第１モジュール（１４）に転送するステップと；
前記第２モジュール（１６）から前記第２テストデータを出力させるために前記第２モジュール（１６）に入力される第２テストデータ入力信号を、前記第１モジュール（１４）には転送せずに前記第２モジュール（１６）に転送するステップと
を備える、請求項３記載のテスト方法。
【請求項５】
前記テスト方法は更に：
前記第１状態マシン（２０）のすべての遷移を、前記第１複製状態マシン（２６）によって複製するステップと；
前記第２状態マシン（２２）のすべての遷移を、前記第２複製状態マシン（２８）によって複製するステップと
を備える、請求項１記載のテスト方法。
【請求項６】
前記テスト方法は更に：
前記ＵＰＤＡＴＥ−ＤＲ状態（１０８）からの前記第１状態マシン（２０）の遷移を、前記第１複製状態マシン（２６）によって複製するステップと；
前記ＵＰＤＡＴＥ−ＤＲ状態（１０８）からの前記第２状態マシン（２２）の遷移を、前記第２複製状態マシン（２８）によって複製するステップと
を有する、請求項１記載のテスト方法。
【請求項７】
前記テスト方法は更に、前記第１状態マシン（２０）の状態履歴と、前記第１テストデータ入力信号とに基づき、前記１符号を生成するステップを備える、請求項４記載のテスト方法。
【請求項８】
第１モジュール（１４）、第２モジュール（１６）、および制御回路（１８）を有する集積回路（１０）において、前記制御回路（１８）が前記第１モジュール（１４）と前記第２モジュール（１６）をテストするテスト方法において、前記制御回路（１８）はＩＥＥＥ標準１１４９．１外部テストバス（３１）によって前記第１モジュール（１４）と前記第２モジュール（１６）にそれぞれ結合され、
前記第１モジュール（１４）は、ＩＥＥＥ標準１１４９．１の複数の第１テストアクセスポートを有する第１状態マシン（２０）を有し、前記第１状態マシン（２０）は、第１テストモード選択信号のみによってＵＰＤＡＴＥ−ＤＲ状態（１０８）から遷移し、
前記第２モジュール（１６）は、前記ＩＥＥＥ標準１１４９．１の複数の第２テストアクセスポートを有する第２状態マシン（２２）を有し、前記第２状態マシン（２２）は、第２テストモード選択信号のみによって前記ＵＰＤＡＴＥ−ＤＲ状態（１０８）から遷移し、
前記制御回路（１８）は集積回路端子（１２）、スイッチ回路（５０）、第１複製状態マシン（２６）、および第２複製状態マシン（２８）を有し、
前記テスト方法は、前記ＩＥＥＥ標準１１４９．１外部テストバス（３１）を使用して複数の前記第１アクセスポートと前記第２アクセスポートをそれぞれ選択および制御をするために、前記制御回路によって、
前記第１複製状態マシン（２６）を用いて、前記第１状態マシン（２０）の状態履歴である第１状態履歴を追跡するステップと；
前記スイッチ回路（５０）を用いて、複数の前記第１テストアクセスポートのうちから何れを選択するか制御するステップと；
前記第１状態履歴を用いて、前記第１テストアクセスポートを前記集積回路端子（１２）に接続するタイミングを決定することと；
前記第１モジュール（１４）から第１テストデータを受信するステップと；
前記第２複製状態マシン（２８）を用いて、前記第２状態マシン（２２）の状態履歴である第２状態履歴を追跡するステップと；
前記スイッチ回路（５０）を用いて、複数の前記第２テストアクセスポートのうちから何れを選択するか制御するステップと；
前記第２状態履歴を用いて、前記第２テストアクセスポートを前記集積回路端子（１２）に接続するタイミングを決定することと；
前記第２モジュール（１６）から第２テストデータを受信するステップと
を備えることを特徴とする、テスト方法。
【請求項９】
前記テスト方法は更に：
前記第１テストモード選択信号を、前記第２モジュール（１６）には転送せずに前記第１モジュール（１４）に転送するステップと；
前記第２テストモード選択信号には依存せずに、前記第１テストモード選択信号のみに依存して、前記第１状態マシン（２０）を、前記ＵＰＤＡＴＥ−ＤＲ状態（１０８）から遷移させるステップと；
前記第１複製状態マシン（２６）において、前記第１状態マシン（２０）の前記ＵＰＤＡＴＥ−ＤＲ状態（１０８）からの遷移を複製するステップと；
前記第１モジュール（１４）に前記第１テストデータを生成するステップと；
前記第２テストモード選択信号を、前記第１モジュール（１４）には転送せずに前記第２モジュール（１６）に転送するステップと；
前記第１テストモード選択信号には依存せずに、前記第２テストモード選択信号のみに依存して、前記第２状態マシン（２２）を前記ＵＰＤＡＴＥ−ＤＲ状態（１０８）から遷移させるステップと；
前記第２複製状態マシン（２８）において、前記第２状態マシン（２２）の前記ＵＰＤＡＴＥ−ＤＲ状態（１０８）からの遷移を複製するステップと；
前記第２モジュール（１６）に前記第２テストデータを生成するステップと
を有する、請求項８記載のテスト方法。
【請求項１０】
前記テスト方法は更に、前記スイッチ回路（５０）によって、前記ＵＰＤＡＴＥ−ＤＲ状態（１０８）においてスイッチングを実行することを有する、請求項８記載のテスト方法。
【請求項１１】
前記テスト方法は更に、前記スイッチ回路（５０）によって、
前記第１モジュール（１４）のスキャンチェーン順序を制御するために、前記第１テストモード選択信号を生成することと；
前記第２モジュール（１６）のスキャンチェーン順序を制御するために、前記第２テストモード選択信号を生成することと
を有する、請求項８記載のテスト方法。
【請求項１２】
前記テスト方法は更に：
前記第１テストモード選択信号を、前記第２モジュール（１６）には転送せずに前記第１モジュール（１４）に転送するステップと；
前記第１テストモード選択信号とは異なる前記第２テストモード選択信号を、前記第１モジュール（１４）には転送せずに前記第２モジュール（１６）に転送するステップと
を備える、請求項８記載のテスト方法。
【請求項１３】
前記テスト方法は更に：
第１テストデータ入力信号を、前記第２モジュール（１６）には転送せずに前記第１モジュール（１４）に転送するステップと；
前記第１テストデータ入力信号とは異なる第２テストデータ入力信号を、前記第１モジュール（１４）には転送せずに前記第２モジュール（１６）に転送するステップと
を備える、請求項８記載のテスト方法。
【請求項１４】
前記制御回路（１８）は更に、スイッチ更新レジスタ（５２）を有し、
前記テスト方法は更に：
前記スイッチ更新レジスタ（５２）から前記スイッチ回路（５０）に、制御信号を転送するステップを備える、請求項８記載のテスト方法。
【請求項１５】
第１モジュール（１４）、第２モジュール（１６）、および制御回路（１８）を有する集積回路（１０）において、前記制御回路（１８）が前記第１モジュール（１４）と前記第２モジュール（１６）をテストするテスト方法において、前記制御回路（１８）はＩＥＥＥ標準１１４９．１外部テストバス（３１）によって前記第１モジュール（１４）と前記第２モジュール（１６）にそれぞれ結合され、
前記第１モジュール（１４）は、ＩＥＥＥ標準１１４９．１の複数の第１テストアクセスポートを有する第１状態マシン（２０）を有し、前記第１状態マシン（２０）は、第１テストモード選択信号のみによってＵＰＤＡＴＥ−ＤＲ状態（１０８）から遷移し、
前記第２モジュール（１６）は、前記ＩＥＥＥ標準１１４９．１の複数の第２テストアクセスポートを有する第２状態マシン（２２）を有し、前記第２状態マシン（２２）は、第２テストモード選択信号のみによって前記ＵＰＤＡＴＥ−ＤＲ状態（１０８）から遷移し、
前記制御回路（１８）は複製状態マシン（２６）を有し、
前記テスト方法は、前記ＩＥＥＥ標準１１４９．１外部テストバス（３１）を使用して複数の前記第１アクセスポートと前記第２アクセスポートをそれぞれ選択および制御をするために、前記制御回路によって、
前記複製状態マシン（２６）を用いて前記第１状態マシン（２０）の状態履歴を追跡することによって、第１符号を生成するステップと；
前記第１符号を第１事前設定符号と比較する第１比較ステップと；
前記第１比較ステップに基づき、複数の前記第１テストアクセスポートのうちから何れを選択するか決定するステップと；
選択した前記第１テストアクセスポートを通じて、前記第１モジュール（１４）から第１テストデータを受信するステップと；
前記複製状態マシン（２６）を用いて前記第２状態マシン（２２）の状態履歴を追跡することによって、第２符号を生成するステップと；
前記第２符号を第２事前設定符号と比較する第２比較ステップと；
前記２比較ステップに基づき、複数の前記第２テストアクセスポートのうちから何れを選択するか決定するステップと；
選択した前記第２テストアクセスポートを通じて、前記第２モジュール（１６）から第２テストデータを受信するステップと
を備えることを特徴とする、テスト方法。
【請求項１６】
第１モジュール（１４）、第２モジュール（１６）、および制御回路（１８）を有する集積回路（１０）であって、前記制御回路（１８）は前記第１モジュール（１４）と前記第２モジュール（１６）をテストし、前記制御回路（１８）はＩＥＥＥ標準１１４９．１外部テストバス（３１）によって前記第１モジュール（１４）と前記第２モジュール（１６）にそれぞれ結合され、
前記第１モジュール（１４）は、ＩＥＥＥ標準１１４９．１の複数の第１テストアクセスポートを有する第１状態マシン（２０）を有し、前記第１状態マシン（２０）は、第１テストモード選択信号のみによってＵＰＤＡＴＥ−ＤＲ状態（１０８）から遷移し、
前記第２モジュール（１６）は、前記ＩＥＥＥ標準１１４９．１の複数の第２テストアクセスポートを有する第２状態マシン（２２）を有し、前記第２状態マシン（２２）は、第２テストモード選択信号のみによって前記ＵＰＤＡＴＥ−ＤＲ状態（１０８）から遷移し、
前記制御回路（１８）は第１複製状態マシン（２６）と第２複製状態マシン（２８）を有し、
前記ＩＥＥＥ標準１１４９．１外部テストバス（３１）を使用して複数の前記第１テストアクセスポートと前記第２テストアクセスポートをそれぞれ選択および制御をするために、前記制御回路は、
前記第１複製状態マシン（２６）を用いて前記第１状態マシン（２０）の状態履歴を追跡することによって、第１符号を生成し；
前記第１符号を第１事前設定符号と比較する第１比較を実行し；
前記第１比較に基づき、複数の前記第１テストアクセスポートのうちから何れを選択するか決定し；
選択した前記第１テストアクセスポートを通じて、前記第１モジュール（１４）から第１テストデータを受信し；
前記第２複製状態マシン（２８）を用いて前記第２状態マシン（２２）の状態履歴を追跡することによって、第２符号を生成し；
前記第２符号を第２事前設定符号と比較する第２比較を実行し；
前記２比較に基づき、複数の前記第２テストアクセスポートのうちから何れを選択するか決定し；
選択した前記第２テストアクセスポートを通じて、前記第２モジュール（１６）から第２テストデータを受信するように構成されていることを特徴とする、集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に集積回路に関し、特に集積回路の一部を制御する方法、およびその装置に関する。
【背景技術】
【０００２】
集積回路が大規模になり、一層複雑になるにつれて、集積回路（ＩＣ）の種々の部分を制御するのに使用される制御方法およびその構造を改善することが重要になってきている。ＩＣの設計時間を短縮するのに使用される方法の１つとして、再使用可能なモジュールを単一の集積回路に結合することがある。再使用可能なモジュールは、整数乗算器のような小さな専用機能ブロックから、マイクロプロセッサのような以前は１つのＩＣ全体だったモジュールまで、多岐にわたっている。さらに、再使用可能なモジュールは、容易に修正できる合成可能なモデルから、修正できない物理的モデルまでの範囲の多くの形態で存在し得る。修正可能ではないが再使用可能なモジュールが集積回路内で組み合わされる場合、個々の再使用可能なモジュールの機能のすべてを利用し、テストし、制御する能力を維持しながら、新しい機能をＩＣレベルで使用できるようにモジュール組み合わせようすると問題が生じる可能性がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−１１５６６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、本来は別々のＩＣで使用されるように設計された、種々の再使用可能なＩＣの一部やモジュールの制御およびテストを統合できるようにすることが、ますます重要になっている。
【課題を解決するための手段】
【０００５】
本発明を例を用いて説明するが、本発明は、添付の図面に示した実施形態に限定されるものではない。図面において、同様な参照番号は、同様な構成要素を示している。
当業者は、図中の各要素が、説明を簡単にし、かつ理解を容易にする目的で示されているものであって、必ずしも正しい縮尺で描かれているものではないことは理解できるであろう。例えば、本発明の実施形態を理解しやすくするために、図中のいくつかの要素は、他の要素に比べ誇張して描かれている場合もあり得る。
【図面の簡単な説明】
【０００６】
【図１】本発明による集積回路１０の実施形態のブロック図を示す。
【図２】本発明による図１の再使用可能なモジュール（１）１４の一部の一実施形態のブロック図を示す。
【図３】本発明による図１の無修正の状態マシン２０の状態図の一実施形態の状態図を示す。
【図４】本発明による図１の回路１８の一部の一実施形態のブロック図を示す。
【図５】本発明による図１の回路１８の一部の他の実施形態のブロック図を示す。
【図６】本発明による図５のスイッチ制御ロジック８０の一部の一実施形態のブロック図を示す。
【図７】本発明による図１の回路１８の一部のさらに他の実施形態のブロック図を示す。
【図８】本発明による図７のスイッチ制御ロジック８１の一部の一実施形態のブロック図を示す。
【図９】本発明による図８の符号シフトレジスタ１４０の一実施形態のブロック図を示す。
【発明を実施するための形態】
【０００７】
図１は、集積回路端子１２を備えた典型的な集積回路１０を示している。集積回路１０は、複数の再使用可能なモジュール、すなわち再使用可能なモジュール（１）１４から再使用可能なモジュール（Ｎ）１６までを含んでいる。本発明の他の実施形態では、任意の数の再使用可能なモジュールを含んでもよい。再使用可能なモジュール１４および１６は、無修正の状態マシン２０および２２をそれぞれ含んでいる。ＩＣ統合ロジック３８の一部によって、再使用可能なモジュール１４，１６のユーザ制御が行われる。ロジック３８は、制御生成ロジック２４、複数の複製の状態マシン２６および２８を含んでいる。複製の状態マシン２６，２８は、再使用可能なモジュール１４および１６中の無修正の状態マシン２０および２２の動作を複製したものである。本発明の他の実施形態では、任意の数の無修正の状態マシン２０，２２、および任意の数の複製の状態マシン２６，２８を含んでもよい。さらに、本発明の他の実施形態では、複数の無修正の状態マシン２０，２２、および単一の複製の状態マシン２６を含んでいてもよく、または１つまたは２つ以上の無修正の状態マシン２０，２２に対応する複数の複製の状態マシン２６，２８を含んでもよい。回路１８は、制御生成ロジック２４および複数の複製の状態マシン２６，２８を含んでいる。ＩＣ統合ロジック３８と再使用可能なモジュール１４および１６間の通信および制御は、データバス３７を共に有するデータバス３３，３５とともに、制御バス３４，３６によって行われる。一実施形態では、テストバス３１は、制御バス３４およびデータバス３７を含んでいる。図示の実施形態において、（１）から（Ｎ）までの各再使用可能なモジュールは、制御情報をロジック３８からその特定の再使用可能なモジュールに与えるのに用いられる１つまたは２つ以上の関連する制御信号（たとえば制御バス３４）を備えている。制御生成ロジック２４と複製の状態マシン２６，２８間の通信は、状態関連情報バス３２，３０によって行われる。集積回路端子１２を任意選択で使用して、ロジック３８は、集積回路１０の外部に情報を与えたり、集積回路１０の外部から情報を受け取ったりすることができる。
【０００８】
特定の例を示すのはあくまで説明のためであって、本発明は、決してこの特定の例に限定されることを意図するものではない。一例として、各再使用可能なモジュールが特有の機能を有するＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ ｏｆ Ｅｌｅｃｔｒｉｃａｌ ａｎｄ Ｅｌｅｃｔｒｏｎｉｃ Ｅｎｇｉｎｅｅｒｓ：電気電子技術者協会）標準１１４９．１ テストアクセスポートを含んでいる場合の、２つまたは３つ以上の再使用可能なモジュール（例えば１４，１６）を統合した集積回路１０を制御する方法、およびその構造を改善することが望まれている。ＩＥＥＥ標準テストアクセスポートおよびバウンダリスキャンのアーキテクチャ（ＩＥＥＥ標準１１４９．１）は、集積回路（ＩＣ）内のスキャンレジスタにアクセスを行う公知のＩＥＥＥテスト標準である。ＩＥＥＥ標準１１４９．１は、４つの入力部と、３つの状態をとる１つの出力部とから成る５ピンの専用テストバスを定義している。４つの入力部は、テストクロック（ＴＣＫ）、テストモード選択（ＴＭＳ）、テストデータ入力（ＴＤＩ）、およびテストリセット（ＴＲＳＴ）である。１つの出力部は、テストデータ出力（ＴＤＯ）である。
【０００９】
図２は、本発明による図１の再使用可能なモジュール（１）１４の一部の一実施形態のブロック図を示す。本発明の一実施形態において、図２に示すロジックは、ＩＥＥＥの標準１１４９．１に適合することが可能である。１つまたは２つ以上の他の再使用可能なモジュール（Ｎ）１６は、このロジックと同一のもの、またはその変形を使用できることに注意されたい。本発明の一実施形態において、再使用可能なモジュール（１）への入力は、カスタム信号ＴＤＩ＿１を含むデータバス３３の一部、およびグローバル信号ＴＲＳＴおよびＴＣＫ、ならびにカスタム信号ＴＭＳ＿１を含む制御バス３４の一部とを含んでいる。本発明の一実施形態において、カスタム信号ＴＤＩ＿１およびＴＭＳ＿１は、単に再使用可能なモジュール（１）にのみ結合されていることに注意されたい。図２に示した再使用可能なモジュール（１）の一部は、図１の無修正の状態マシン２０に該当する無修正の状態マシン２０（ＴＡＰコントローラ）も含んでいる。図２に示した再使用可能なモジュール（１）の一部は、テストデータレジスタ１２０、バイパスレジスタ１２６、バウンダリスキャンレジスタ１２４、およびデバッグレジスタ１２２のみならず命令レジスタ１３０およびそれに関連する命令復号回路１２８も含んでいる。
【００１０】
命令レジスタ１３０の内容は、命令デコーダ１２８によって復号され、マルチプレクサ（ＭＵＸ）１３２を制御し、複数のテストデータレジスタ１２０、デバッグレジスタ１２２、バウンダリスキャンレジスタ１２４、およびバイパスレジスタ１２６の中から１つのデータレジスタを選択する、出力（クロックおよび／または制御信号１２１）を生成する。テストアクセスポート（ＴＡＰ）コントローラ２０は、クロックおよび／または制御信号１２３を含む、一連の出力（ＩＥＥＥ標準１１４９．１の９つの出力）を生成する。ＴＡＰコントローラ２０の出力は、マルチプレクサ１３４を制御することによってテストデータレジスタ出力または命令レジスタ出力のいずれか一方を選択するのみならず、データ収集およびレジスタのシフト操作のすべてを制御する。ＴＡＰコントローラ２０の出力は、出力ドライバ１３６を有効または無効にすることによって、カスタムテストデータ出力（ＴＤＯ＿１）信号をオフ、または駆動するかどうかをも制御する。
【００１１】
図３は、ＩＥＥＥの基準１１４９．１で定義されているテストアクセスポート（ＴＡＰ）コントローラのよく知られた状態図を示す。一実施形態において、この状態図は、図１に示した各状態マシン２０，２２，２６，２８によって実行される。説明のために、ＴＡＰコントローラ２０を参照してさらに説明するが、この説明は、ＴＡＰコントローラ２２、２６および２８にも同様に当てはまる。ＴＡＰコントローラ２０は、テストモード選択（ＴＭＳ）入力をテストクロック（ＴＣＫ）の各立ち上がりエッジでサンプリングして、状態間の遷移を制御している。ＴＭＳの論理状態は、状態を結合している遷移パスの横に表示している。太線（すなわち太い実線で）で表示したいくつかの状態遷移パスについては、以下により詳細に説明する。ただし、下記の説明の目的に対しては、太線の状態遷移も太線でない状態遷移も同一である。
【００１２】
ＴＡＰコントローラ２０は、パワーアップリセット信号、ＴＲＳＴのローレベル、またはＴＭＳ信号の適切な入力シーケンスに応答して、テストロジックリセット状態１００に遷移される。ＴＭＳ信号が、５つの連続したＴＣＫ立ち上がりエッジの間ハイレベル状態に維持されている場合には、ＴＡＰコントローラ２０は、常時Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態１００に遷移する。Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態１００に達するための連続したＴＣＫ立ち上がりエッジの数は、現在の状態にも依存するが５を超えることはできない。連続したＴＣＫ立ち上がりエッジが５つ未満必要な場合には、ＴＡＰコントローラ２０は、より少数の遷移でＴｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態に達し、その後Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態１００に留まる。
【００１３】
ＴＡＰコントローラ２０は、ＴＣＫ立ち上がりエッジがＴＭＳのローレベル状態で生じるまで、Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態１００を維持し、その結果Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態１０１に遷移する。ＴＭＳがローレベル状態を維持している場合には、ＴＡＰコントローラ２０は、Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態１０１を維持し、そうでない場合には、ＴＡＰコントローラ２０は、Ｓｅｌｅｃｔ−ＤＲーＳｃａｎ状態１０２に遷移する。ＴＡＰコントローラ２０は、Ｓｅｌｅｃｔ−ＤＲ−Ｓｃａｎ状態１０２から、ＴＭＳがローレベル状態かハイレベル状態かによってＣａｐｔｕｒｅ−ＤＲ状態１０３またはＳｅｌｅｃｔ−ＩＲ−Ｓｃａｎ状態１０９に遷移する。
【００１４】
下に示すＳｅｌｅｃｔ−ＤＲ−Ｓｃａｎ状態１０２の６つの状態（すなわち、状態１０３，１０４，１０５，１０６，１０７，および１０８）は、下に示すＳｅｌｅｃｔ−ＩＲ−Ｓｃａｎ状態１０９の６つの状態（すなわち、状態１１０，１１１，１１２，１１３，１１４，および１１５）と類似の機能を有するが、状態１０２の状態がテストデータレジスタの動作を制御するのに対し、状態１０９の状態が命令レジスタの動作を制御する点が異なっている。
【００１５】
Ｃａｐｔｕｒｅ−ＤＲ状態１０３が、データレジスタスキャン動作を起動する。ＴＡＰコントローラ２０は、Ｃａｐｔｕｒｅ−ＤＲ状態１０３に遷移し、命令レジスタデコーダ（図２の１２８）によって選択されたデータレジスタに並列データをロードする。ＴＭＳがハイレベルの場合には、データレジスタのシフト動作はスキップされ、Ｅｘｉｔ１−ＤＲ状態１０５に入る。Ｃａｐｔｕｒｅ−ＤＲ状態１０３中でＴＭＳがローレベルの場合は、シフト−ＤＲ状態１０４に入り、命令デコーダ１２８によって選択されたテストデータレジスタは、ＴＤＩからＴＤＯにシフトする。データレジスタのシフト動作は、Ｅｘｉｔ１−ＤＲ状態１０５を経てＰａｕｓｅ−ＤＲ状態１０６に遷移することによって停止できるとともに、次にＥｘｉｔ２−ＤＲ状態１０７を経てＳｈｉｆｔ−ＤＲ状態１０４に戻ることによって再開できる。データレジスタのシフト動作の終了時点で、ＴＡＰコントローラ２０は、Ｅｘｉｔ２−ＤＲ状態１０７またはＥｘｉｔ１−ＤＲ状態１０５を経てＵｐｄａｔｅ−ＤＲ状態１０８に常時遷移し、新しい並列データをテストデータ更新レジスタから、命令デコーダ１２８によって選択されたテストデータレジスタにロードすることで、テストデータレジスタのスキャン動作を完了する。ＴＡＰコントローラ２０は、ＴＭＳがローレベルかハイレベルかにより、Ｕｐｄａｔｅ−ＤＲ状態１０８からＲｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態１０１またはＳｅｌｅｃｔ−ＤＲスキャン状態１０２のいずれかに遷移で
きる。
【００１６】
Ｓｅｌｅｃｔ−ＩＲ−Ｓｃａｎ状態１０９に入る場合は、ＴＡＰコントローラ２０は、ＴＭＳがローレベルかハイレベルかによって、命令レジスタにスキャン動作を始めさせるためにＣａｐｔｕｒｅ−ＩＲ状態１１０に遷移するか、またはＴｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態１００にそれぞれ遷移することができる。遷移が命令レジスタスキャン動作への遷移である場合、Ｃａｐｔｕｒｅ−ＩＲ１１０、Ｓｈｉｆｔ−ＩＲ１１１、Ｅｘｉｔ１−ＩＲ１１２、Ｐａｕｓｅ−ＩＲ１１３、Ｅｘｉｔ２−ＩＲ１１４、およびＵｐｄａｔｅ−ＩＲ１１５の各状態における動作は、テストデータレジスタスキャン動作に対する各状態における動作と類似である。Ｕｐｄａｔｅ−ＩＲ状態１１５から次の状態への遷移は、ＴＭＳがローレベルかハイレベルかによって、Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態１０１またはＳｅｌｅｃｔ−ＤＲスキャン状態１０２のいずれかになる。
【００１７】
ＴＡＰコントローラ２０が、Ｓｅｌｅｃｔ−ＬＲスキャン状態１０９からＴｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態１００へ遷移する場合、ＴＡＰコントローラ２０は、命令レジスタ（図２の１３０）を初期化し事前設定のレジスタ（例えば図２の１２０、１２２および１２４）のユーザ選択ビットをリセットする制御信号を生成する。
【００１８】
以下で呼ぶ用語「ＴＡＰ」は、図２に示され、ＩＥＥＥ標準１１４９．１で定義されているＴＡＰコントローラ（例えば２０）、命令レジスタ（例えば１３０）、テストデータレジスタ（例えば１２０、１２２、１２４および１２６）およびＴＤＯマルチプレクサ（１３２、１３４）を含むものと解釈されたい。
【００１９】
ＩＥＥＥ標準１１４９．１は、１つのＩＣはただ１つのＴＡＰを含むという前提で、電子テスト分野の関係者によって開発された。しかし今日のＩＣは、それぞれが１つのＴＡＰを有し得る再使用可能なモジュールを、複数個用いて設計されているので、１つのＩＣが複数のＴＡＰを含むこともあり得る。再使用可能なモジュールは、デジタル信号プロセッサ、ＣＰＵ、テスト制御ブロックまたは他の任意の機能ブロックを初めとする完全な回路機能を有すると共に、さらに、外部の１１４９．１テストバス（例えば図１のテストバス３１）からその再使用可能なモジュール（例えば図１の１４）内のアクセスレジスタにアクセスできるサブ回路としても使用可能なそれ自身のＴＡＰを有することもできる。
【００２０】
したがって、複数の再使用可能なモジュールを含むＩＣは、多数のＴＡＰを含むことができる。この状況から生じる問題は、ＩＥＥＥ１１４９．１標準に適合するためには外から見えるＩＣレベルのＴＡＰはただ１つであるべきなのに、再使用可能なモジュール内の複数のレジスタにアクセスできるようにするには、複数の再使用可能なモジュールＴＡＰへのアクセスも必要になるということである。したがって、外部ＩＥＥＥ標準１１４９．１テストバス（たとえばテストバス３１）から、ＩＣレベルＴＡＰ（例えばロジック３８の一部）や、再使用可能なモジュール（例えば１４）に含まれたそれぞれのＴＡＰにアクセスできるようにするために、何らかのＩＣレベルの制御回路が必要になる。
【００２１】
この問題の解決策として、先行技術では、任意の選択したＴＡＰコントローラの状態マシンを所望の状態に駆動できる外部生成の信号によって、その選択したＴＡＰコントローラによる状態マシンの制御を選択的に無視し、その選択したＴＡＰコントローラを通じて単一のレジスタにアクセスできるようにすることを提案している。この方法は、外部のデータパスを選択するように復号可能な１つまたは２つ以上の追加のＴＡＰ命令も提供する。複数のＴＡＰへのアクセスが、単一のＩＥＥＥ標準１１４９．１ＴＡＰインタフェースを通じてのシーケンシャルなアクセスであることにより、複数の異なるＴＡＰに関するテスト動作は時間的に互いに重なり合う。
【００２２】
先行技術が教示するこの解決策に内在する非常に重大な問題点は、再使用可能なモジュール１４，１６のそれぞれのＩＥＥＥ標準１１４９．１ＴＡＰコントローラの状態マシンが、追加の命令および追加の制御入力を解釈できるように修正されなければならず、さらに、その状態図を修正して、状態がＵｐｄａｔｅ−ＤＲ状態（図３の１０８）にある場合は、追加の入力値に基づいて、Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態（図３の１０１）か、Ｓｅｌｅｃｔｅｄ−ＤＲ Ｓｃａｎ状態（図３の１０２）かのいずれかに遷移するようにしなければならない、ということである。この追加的な制御入力の効果は、アクティブなＴＡＰを新たに選択しつつ、選択しなかったＴＡＰをアイドル状態にする手段を提供することである。この手法は新しいデバイスの場合には適用できるが、変更が不可能な物理的設計には適用できず、従って使用できない。
【００２３】
本発明は、先行技術の手法では解決できない問題を扱う。本発明の解決法には、非常に重要な制約がさらに１つ課される。すなわち、再使用可能なモジュールのＴＡＰコントローラの状態マシンは、修正することができない。これは多くのＩＣにとって、現実の問題である。再使用するチップに搭載された１つまたは複数のモジュールのＴＡＰコントローラの状態マシンを修正することは多くの場合不可能であり、できるとしても法外に高価となる。一実施形態において、本発明は、ＩＥＥＥ標準１１４９．１外部テストバスを使用して個々のＴＡＰの選択および制御を可能にし、一方でその再使用可能なモジュールのＴＡＰコントローラ・状態マシンには何の修正も必要としない。一実施形態において、本発明は、再使用可能なモジュールの標準ＴＡＰコントローラの状態マシンを修正することなく、１つのＩＣ中の多数のＴＡＰをダイナミックに再構成する方法を提供する。最後に、本発明のいくつかの実施形態においては、追加のＩＣピン／端子または外部端子資源を必要としない。
【００２４】
図４は、本発明による図１の回路１８の一部の一実施形態をブロック図の形で示す。図４に複製の状態マシン（例えば図１の２６）を、テストクロック（ＴＣＫ）６０、テストモード選択（ＴＭＳ）６１、テストリセット（ＴＲＳＴ）６２、およびスイッチ制御６３を含む外部入力に結合させる一方法を示す。スイッチ制御信号６３はスイッチ更新レジスタ５２の内容の変更を可能にするために使用され、それを受けてスイッチ更新レジスタ５２はスイッチ回路５０を制御する。制御生成ロジック２４の図示部分の出力は、制御信号３４および３６（モジュール１からＮへのＴＭＳ信号を含む）、および個々の再使用可能モジューのためのデータ信号３３および３５（各モジュール１からＮへのＴＤＩとＴＤＯ信号を含む）である。複製の状態マシン（ＤＳＭ）２６は、再使用可能なモジュール中の他の同様な状態マシンに、状態マシン間の同期情報を、状態関連情報３２の形で出力する。復号およびゲート回路５９は、ＤＳＭ２６およびスイッチ制御信号６３の現在の状態を用いて出力制御信号ＤＳＭ＿ＵｐｄａｔｅＤＲ７０、ＤＳＭ＿ＳｈｉｆｔＤＲ７１、ＤＳＭ＿ＣｌｏｃｋＤＲ７２、ＤＳＭ＿Ｓｅｌｅｃｔ７３およびＤＳＭ＿Ｒｅｓｅｔ７４を生成し、これらが集積回路１０の再使用可能なモジュール（例えば１４，１６）中の無修正の状態マシン（例えば２０，２２）全体の構成を制御するのに使用される。
【００２５】
本発明の一実施形態において、各ＴＡＰはそれぞれ専用の結合を持ちながら、ＴＡＰ相互結合モジュール（ＴＩＭ）９は、ＩＥＥＥ標準１１４９．１テストバスを介して、それぞれの再使用可能なモジュール（例えば図１の１４，１６）に結合される。別の実施形態では、テストバス３１に別のテストバスプロトコルを用いてもよい（図１参照）。一実施形態において、ＴＩＭ９は、マスターレベルＴＡＰコントローラ（複製の状態マシン２６と復号およびゲート回路５９）、スイッチ更新レジスタ５２に制御入力を与えるデコーダ５４に結合された直列シフトレジスタ５６、およびスイッチ回路５０から成る。ＤＳＭ＿ＵｐｄａｔｅＤＲ信号７０に応じて、スイッチ更新レジスタ５２の内容はデコーダ５４から更新され、スイッチ回路５０に転送されて、テストデータ入力信号（ＴＤＩ）およびテストモード選択信号（ＴＭＳ）と共に、再使用可能なモジュール１４，１６中のそれぞれ
のＴＡＰを個別に制御するために使用される。ＴＩＭ９の中のＴＡＰコントローラは、図３に示す標準のＴＡＰ状態にある間はＩＥＥＥ標準１１４９．１ピン／端子信号に従う。スイッチ更新レジスタ５２は、再使用可能なモジュール１４，１６内の複数のＴＡＰの構成を制御するために使用される。
【００２６】
ＴＩＭ９の機能は、ＩＣレベルのＴＡＰコントローラとして機能し、複数の再使用可能なモジュール１４，１６内のＴＡＰを、個々に選択できるようにすることである。ＴＩＭ９は、一連の個々の制御信号（ＴＤＩ＿１からＴＤＩ＿ＮおよびＴＭＳ＿１からＴＭＳ＿Ｎ）に加えて、それぞれの再使用可能なモジュールＴＡＰのための共通リセット信号および共通テストクロック信号を生成する。ＴＩＭ９は、固有の出力ＴＤＯ＿１〜ＴＤＯ＿Ｎを受け取る。ここでＮは、すべての再使用可能なモジュール１４，１６のＴＡＰの合計数である。
【００２７】
ＴＩＭ９内に含まれるスイッチ回路５０は、選択されたＴＡＰ（１からＮ）のための個々のＴＤＩおよびＴＤＯ信号を相互に結合して、ソフトウェアまたはハードウェアの制御下で、任意の所望の順番でＴＡＰをシリアルスキャンするチェーンを構成する。個々の制御信号、例えばＴＤＩ＿１からＴＤＩ＿Ｎを、ＩＣ ＴＤＩ入力ピン／端子１２から単に放送するのではなく、生成する必要があるかどうかは、ＴＩＭ９のための選択信号を実装するのに用いる方法による。図４において、ＴＩＭ選択信号（スイッチ制御６３）は外部ＩＣピン／端子１２経由で与えられる。本発明の他の実施形態において、ＩＣ１０上の組込みテスト回路（図示されてない）により、オンボードＩＣ１０からＴＩＭ９を制御し得る。
【００２８】
図４に示される複製の状態マシン（ＤＳＭ）２６は、図３に示す状態マシン図に従い、ＴＩＭ９が再使用可能なモジュール１４，１６中の無修正ＴＡＰ状態マシン（図１の２０，２２）の状態を追跡することを可能にする。ＴＩＭ９ ＴＡＰコントローラはさらに、再使用可能なモジュール１４，１６中のそれぞれのＴＡＰ状態マシンにリセット信号を制御信号３４，３６として供給する。このリセット信号は、複数の集積回路端子１２を通じて外部のＴＲＳＴ信号によるか、またはＴｅｓｔ−Ｌｏｇｉｃ／Ｒｅｓｅｔ状態１００に達するＴＩＭ９ ＴＡＰコントローラによってアサートされる（図３参照）。ＴＩＭ選択制御信号（スイッチ制御６３）がアサートされると、ＴＩＭ９ ＴＡＰコントローラは、適切な状態にいるとき、ＤＳＭ＿ＳｈｉｆｔＤＲ信号７１、ＤＳＭ＿ＣｌｏｃｋＤＲ信号７２、ＤＳＭ＿ＵｐｄａｔｅＤＲ信号７０およびＤＳＭ＿Ｓｅｌｅｃｔ信号７３（これらはＩＥＥＥ標準１１４９．１で定義されるＳｈｉｆｔＤＲ信号、ＣｌｏｃｋＤＲ信号、ＵｐｄａｔｅＤＲ信号およびＳｅｌｅｃｔ信号と機能的に類似している）を生成できるようになる。復号およびゲート回路５９は、ＴＩＭシフトレジスタ５６、デコーダ５４、スイッチ更新レジスタ５２およびスイッチ回路５０に対する制御ロジックを提供する。
【００２９】
ＩＥＥＥ標準１１４９．１テストバス信号ＴＤＩ６４によって供給された直列入力データは、図４に示すようにＴＩＭシフトレジスタ５６に加えられて復号される。ＴＩＭ９が、外部から供給されるスイッチ制御信号６３のアサートによって選択され、ＴＩＭ ＴａｐコントローラがＵｐｄａｔｅ−ＤＲ状態（図３の１０８）に達すると、ＤＳＭ＿ＵｐｄａｔｅＤＲ７０がアサートされてスイッチ更新レジスタ５２がデコーダ５４からの新しい値で更新される。図４に示すように、この値がスイッチ回路５０の制御に使用される。
【００３０】
再使用可能なモジュール１４，１６中のすべてのＴＡＰは、制御信号３４および３６の形で、同一のＴＣＫ制御信号およびＤＳＭ＿Ｒｅｓｅｔ制御信号を受け取る。スイッチ回路５０は、ＩＥＥＥ標準１１４９．１テストバス信号ＴＭＳおよびＴＤＩのそれぞれを、再使用可能なモジュール１４，１６中の各ＴＡＰに供給することにより、再使用可能なモジュール１４，１６の選択とスキャンチェーンの順序を制御する。再使用可能なモジュー
ル１４および１６の中の１つまたは２つ以上のＴＡＰを選択すること、また個々の命令や、所望の再使用可能なモジュール１４，１６のデータレジスタを連結することは、柔軟に行なえる。再使用可能なモジュール１４，１６内のＩＥＥＥ標準１１４９．１ ＴＡＰ実装の修正は不要である。
【００３１】
再使用可能なモジュール１４，１６内の実行不能にされたすべてのＴＡＰは、ＴＡＰ状態マシンがＵｐｄａｔｅ−ＤＲ状態１０８にある間に、実行不能にすべき各ＴＡＰのＴＭＳ信号をスイッチ回路５０がＴＣＫの立下りエッジの間に０にすることにより、Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態１０１（図３参照）で「停留」する。これによりＴＡＰはＴＣＫの次の立ち上がりエッジでＲｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態１０１へ移る。実行不能にされたＴＡＰコントローラはＲｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態１０１で留まり、ＴＭＳ信号は０にされたままで留まる。
【００３２】
本発明の一実施形態においては、再使用可能なモジュール１４，１６中の、すべての実行可能にされたＴＡＰの状態は同一であることが必要である。したがって、実行可能にされるモジュールおよび再び実行可能にされるモジュール相互間の同期を保証する方法が必要である。再使用可能なモジュール１４，１６中のＴＡＰを利用可能にまたは再利用可能にするため、スイッチ回路５０は、これらの再使用可能なモジュール１４，１６のＴＭＳ入力を、ＴＩＭ９ ＴＡＰ状態マシンがＵｐｄａｔｅ−ＤＲ状態１０８にある間かつＴＣＫ６０の立ち下がりエッジの間に、カスタマイズされたＴＭＳ信号３４，３６に結合する。これらの再使用可能なモジュール１４，１６のＴＭＳ入力は、ＴＣＫ６０の次の立ち上がりエッジの時にサンプリングされる。すべての実行可能にされたＴＡＰコントローラの次の状態は、ＴＭＳが０ならＲｕｎ−Ｔｅｓｔ／Ｉｄｌｅ１０１、ＴＭＳが１ならＳｅｌｅｃｔ−ＤＲ−Ｓｃａｎ１０２のいずれかになる。再使用可能なモジュール１４，１６中の新たに実行可能にされたＴＡＰコントローラがＲｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態１０１に入ることを保証するため、ＴＣＫ６０の立ち下がりエッジの間、かつＴＩＭ９ ＴＡＰ状態マシンがＵｐｄａｔｅ−ＤＲ状態１０８である間に、それらＴＡＰコントローラのＴＭＳ入力は０にされる。ＴＭＳ入力は、ＴＣＫの次の立ち上がりエッジの時にサンプリングされる。新たに実行不能にされたＴＡＰコントローラの次の状態は、再使用可能なモジュール１４，１６中のこれらＴＡＰコントローラのＴＭＳ入力が０なので、Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ１０１となる。実行不能にされたＴＡＰコントローラのＴＭＳ入力は、新しいスイッチ構成情報がスイッチ回路５０に供給されて、再使用可能なモジュール１４，１６中の実行不能にされたＴＡＰコントローラが再び実行可能にされるまで、ＴＭＳ６１の値とは関係無く０とされ続ける。そうすることによって、実行不能にされたＴＡＰコントローラはＲｕｎ−Ｔｅｓｔ／Ｉｄｌｅ１０１に留まり続ける。
【００３３】
Ｕｐｄａｔｅ−ＤＲ状態１０８のスイッチング動作をすべて行なうことによって、再使用可能なモジュール１４，１６中の実行可能にされたおよび再実行可能にされたＴＡＰコントローラの、Ｓｅｌｅｃｔ−ＤＲ状態１０２にあるすべての状態マシンの同期が保証される。Ｕｐｄａｔｅ−ＤＲ状態１０８にあってＴＭＳがローレベル、すなわち０とされる場合、再使用可能なモジュール１４，１６中のすべてのＴＡＰコントローラはＴＣＫの次の立ち上がりエッジ以後、Ｒｕｎ／Ｔｅｓｔ−Ｉｄｌｅ状態１０１に入る。反対に、Ｕｐｄａｔｅ−ＤＲ状態１０８にあってＴＭＳがハイレベル、すなわち１とされる場合、再使用可能なモジュール１４，１６中のすべての実行可能にされたＴＡＰコントローラは、ＴＣＫの次の立ち上がりエッジにおいてＳｅｌｅｃｔ−ＤＲ状態１０２に遷移し、一方再使用可能なモジュール１４，１６中の実行不能にされたＴＡＰコントローラはＲｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態１０１に遷移するか留まる。
【００３４】
本発明の一実施形態において、スキャンチェーンの構成は、スイッチ回路５０が、外部信号ＴＤＩ６４を最初に実行可能にされた再使用可能なモジュール１４，１６用のＴＡＰコントローラに結合することによって制御される。この再使用可能なモジュール１４，１６の出力ＴＤＯは、スイッチ回路５０によって、次に実行可能にされる再使用可能なモジュール１４，１６のＴＤＩ入力に多重化される。このプロセスが、それぞれの実行可能にされる再使用可能なモジュール１４，１６について続行される。最後に実行可能にされる再使用可能なモジュール１４，１６のＴＤＯ出力はテストデータ出力（ＴＤＯ）６５を駆動する出力マルチプレクサ５８に結合される。実行不能にされた再使用可能なモジュール１４，１６へのＴＤＩ入力は特に重要な意味を持たず、スイッチ回路５０によって１または０のいずれかに駆動される。
【００３５】
再使用可能なモジュール１４，１６の選択、およびスキャンチェーンの順序の選択は、スイッチ回路５０によって制御される。新しい制御ワードをシフトレジスタ５６へスキャンすることにより、構成を修正することができ、修正された構成はデコーダ５４によって復号される。復号された値は、Ｕｐｄａｔｅ−ＤＲ状態１０８にいる間に出力ＤＳＭ＿ＵｐｄａｔｅＤＲ７０がアサートされると、ＴＩＭ９ ＴＡＰコントローラによってスイッチ更新レジスタ５２に転送される。しかしながら、この動作シーケンスが生じるためには、ＴＩＭ９モジュールが選択されていなければならず、そうでない場合には、ＤＳＭ＿ＵｐｄａｔｅＤＲ信号７０はＵｐｄａｔｅ−ＤＲ状態１０８においてアサートされず、スイッチ更新レジスタ５２も修正されない。
【００３６】
図４の本発明の実施形態において、ＴＩＭ９の選択は、外部供給のスイッチ制御入力６３として図４に示される外部の選択ピン／端子より制御される。このＴＩＭ９選択ピン／端子１２（図１参照）は、本発明の特定の実施形態に対応して、Ｕｐｄａｔｅ−ＩＲ状態１１５にある間にサンプリングされてラッチされるが、次の新しい構成情報が引き続き入力される間に、アサートされ続ける必要があり得る。続いてＳｈｉｆｔ−ＤＲ状態１０４に入ると、シリアルシフトレジスタ５６は新しい値を受け取り、その値が次に復号される。外部ＴＩＭ９選択ピン／端子１２がアサートされる場合（または一部の実施形態では前の更新ＩＲ状態１１５の間にアサートされたまま捕捉されている場合）、制御信号ＤＳＭ＿ＵｐｄａｔｅＤＲ７０がアサートされ、またデコーダ５４の出力がスイッチ更新レジスタ５２にラッチされ、こうして再使用可能なモジュール１４，１６中のＴＡＰの選択および順序の変更がスイッチ回路５０の制御のもとに行なわれる。
【００３７】
図５は本発明の他の実施形態を示し、外部ＩＣピン／端子１２がＴＩＭ９の選択を制御する必要が無いようにしたものである。その代わりに、ＴＩＭ９選択を容易にするため、ＩＣ１０にスイッチ制御ロジックブロック８０を追加する。さらに、スイッチ回路５０へのテストデータ入力（ＴＤＩ）の発出元が、符号６４からスイッチ制御８０の修正済みＴＤＩ出力８２に変更される。スイッチ制御ロジック８０は、外部ＴＤＩ信号６４を受け取り、複製の状態マシン２６からの一連の制御信号８６を使って修正済みＴＤＩ信号８２を生成する。スイッチ制御ロジックブロック８０はさらに、それがアサートされた時ＴＩＭ９を選択する、付加的な出力信号ＴＩＭ ｓｅｌｅｃｔ９８も生成する。他のすべての点において、図５の回路は先に図４について説明したように動作する。
【００３８】
図６は、図５のスイッチ制御ロジックブロック８０の一部の詳細を示す。図６の入力信号は、ピン／端子１２（図１参照）経由で外部テストバスにつながれるＴＤＩ６４、および複製の状態マシン２６によって生成される４つの制御信号である。これら４つの制御信号は、ＤＳＭ＿Ｒｅｓｅｔ７４、ＤＳＭ ＣｌｏｃｋＩＲ９５、ＤＳＭ＿ＵｐｄａｔｅＩＲ９６およびＤＳＭ＿ＳｅｌｅｃｔＩＲ９７である。これらの４つの制御信号は複製の状態マシン２６の適切な状態中に生成され、ＴＩＭ９の選択による条件付けは無い。ＤＳＭ＿Ｒｅｓｅｔ７４がアサートされると、ＤＳＭ命令レジスタ９２は１にされ、それによりＴＩＭ９は非選択状態になる。データ操作のためのシリアルスキャン動作が進行中のとき、外部信号ＴＤＩ６４はスイッチ制御ロジック８０による変更を受けずにマルチプレクサ
９４を通過し、修正済ＴＤＩ信号８２となる。命令データのためのシリアルスキャン動作が進行中のとき、ＤＳＭ命令シフトレジスタ９０が、ＭＵＸ９４によりＴＤＩ信号６４と修正済ＴＤＩ信号８２との間に入る。ＤＳＭ＿ＳｅｌｅｃｔＩＲ９７がアサートされると、ＤＳＭ命令シフトレジスタ９０の出力が、ＭＵＸ９４により、修正済ＴＤＩ信号８２上に駆動される。このように、データ操作と命令実行との区別がＤＳＭ＿ＳｅｌｅｃｔＩＲ信号９７によって与えられる。ＤＳＭ＿ＳｅｌｅｃｔＩＲ信号９７は、複製の状態マシン２６の復号された出力として生成され、また制御ロジック８６中の信号の１つである。ＤＳＭ命令シフトレジスタ９０のシフトクロック出力とＤＳＭ命令レジスタ９２の更新は、複製の状態マシン出力信号であるＤＳＭ ＣｌｏｃｋＩＲ９５とＤＳＭ＿ＵｐｄａｔｅＩＲ９６とによってそれぞれ制御され、どちらもＴＩＭ９の選択による条件付けは無い。
【００３９】
命令データがシフトされているとき、ＤＳＭ命令レジスタビット（ＤＳＭ命令シフトレジスタ９０）が、特別なシフトレジスタビットとして、命令レジスタのシフトパスに加えられる。１つの命令フレームは、実行可能にされた再使用可能なモジュールのすべてのＴＡＰ命令レジスタビット幅の合計である。したがって、ユーザが新しい命令を１つ選択すると、ＤＳＭ命令シフトレジスタ９０の特別シフトレジスタビットとして、命令フレームにさらに１ビットが加えられる。この命令フレームは、使用可能なモジュール１４，１６中の実行可能にされたＴＡＰの連結命令レジスタ群の先頭に、あらかじめ追加されている。
【００４０】
命令スキャンが進行中のとき、ＤＳＭ＿ＳｅｌｅｃｔＩＲ信号９７は、マルチプレクサ９４の入力としてＤＳＭ命令シフトレジスタ９０を選択し、それにより１ビットのＤＳＭ命令シフトレジスタ９０が、命令スキャンパスに有効に挿入される。ＤＳＭ命令シフトレジスタ９０のシフトは、複製の状態マシン２６が生成する制御信号ＤＳＭ＿ＣｌｏｃｋＩＲ９６によって制御される。命令スキャン動作がシフトを完了し、従ってＤＳＭ命令シフトレジスタ９０および再使用可能なモジュール１４，１６中の現在選択されている全ＴＡＰの命令レジスタの命令ビットのフレーム化が終了すると、ＴＩＭ＿ＵｐｄａｔｅｌＲ信号９６により、ＤＳＭ命令レジスタ９０の内容がＤＳＭ命令レジスタ９２に移動され、ＴＩＭ＿Ｓｅｌｅｃｔ信号９８の値はＤＳＭシフトレジスタビット９０の値と一致するように変更される。
【００４１】
ＴＡＰの構成を新しくしたい場合は、ＴＩＭ９用のＤＳＭ命令シフトレジスタビット９０がすべて０で満たされる。これによりＵｐｄａｔｅＩＲ状態１１５に達した途端にＴＩＭ９が選択されて、他の現在選択されているＴＡＰ命令レジスタ１３０（図２参照）はバイパス命令で満たされ、実効的に非動作となる。Ｕｐｄａｔｅ−ＩＲ状態１１５に入ると、ＤＳＭ命令シフトレジスタ９０がサンプルされてＤＳＭ命令レジスタ９２にラッチされ、その値がＴＩＭ＿Ｓｅｌｅｃｔ９８となる。いったんＴＩＭ＿Ｓｅｌｅｃｔ９８がアサートされると、復号およびゲート回路５９は適切なＤＳＭ状態において、ＤＳＭ＿ＳｈｉｆｔＤＲ７１、ＤＳＭ＿ＣｌｏｃｋＤＲ７２、ＤＳＭ＿Ｓｅｌｅｃｔ７３およびＤＳＭ＿ＵｐｄａｔｅＤＲ７０を生成することが可能になる。次のＳｈｉｆｔ−ＤＲ状態１０４に入ると、ＴＩＭシフトレジスタ５６（図５参照）がＩＣ１０のＴＤＯピン／端子に結合され、新しい構成情報がシフトレジスタ５６にシフトされる。Ｕｐｄａｔｅ−ＤＲ状態１０８に入るとＤＳＭ＿ＵｐｄａｔｅＤＲ７０がアサートされ、復号されたシフトレジスタの値がデコーダ５４からスイッチ更新レジスタ５２に転送される。デコーダ５４は、その後新しい構成制御データを取り込む。
【００４２】
図５および図６に示す本発明の実施形態は、実行可能にされた再使用可能なすべてのモジュール１４，１６の連結命令の先頭に付加された、１ビット命令を１つ加えたものと考えることができる。この１ビット命令は、ＴＩＭ９が選択されるか、それとも次のデータ処理動作に備えて実行不能にされるかを決めるのに使用する。実行可能にされると、次の
データ処理動作として、スイッチ回路５０のための新しい構成制御情報が取り込まれる。
【００４３】
図７は本発明のさらに他の実施形態を示す。この実施形態は、ＴＩＭ９選択の問題を、ピン／端子１２も、ＩＣ１０のＴＡＰを操作する外部ロジックから見ることのできる命令レジスタ（例えば図６の９２）の拡張も必要としない全く別の方法で解決する。この方法では、それらの代わりに、内蔵の自己選択回路をスイッチ制御ロジック８１内で使用し（図８参照）、この回路は事前定義したＮビットの符号との一致に基づいてＴＩＭ＿Ｓｅｌｅｃｔ信号９８をアサートする。
【００４４】
図７のスイッチ制御ロジック８１は符号生成ロジック（例えば図８の１４０）を含み、状態関連情報を複製の状態マシン２６から、また任意選択で、テストデータ入力６４から受け取る。一実施形態において、符号は状態情報に基づき、別の実施形態において、符号はテストデータ入力に基づく。本発明の他の複数の実施形態において、符号は状態情報とテストデータ入力の組合せに基づいてもよく、または所望のすべての情報に基づいてもよい。
【００４５】
図８は、図７におけるスイッチ制御ロジック８１の一実施形態を示す。入力制御信号は、Ｓｉｇｎａｔｕｒｅ＿ＣＬＫ１５０、Ｓｉｇｎａｔｕｒｅ＿ＤＡＴＡ１５１、Ｓｉｇｎａｔｕｒｅ＿Ｒｅｓｅｔ１５２およびＤＳＭ＿ＵｐｄａｔｅＩＲ１４９である。Ｎビットの事前定義符号回路１４２は不揮発性の記憶素子であり、事前設定の符号を１つまたは２つ以上格納している。回路１４２は、レジスタ記憶ビットであっても、ハードワイヤードロジックレベルのものであっても、スイッチ制御ロジック８１外部の信号から供給されてもよい。Ｓｉｇｎａｔｕｒｅ＿Ｒｅｓｅｔ信号１５２がアサートされると、符号シフトレジスタ１４０は不一致値に初期化され、ＳＲラッチ１４８はリセットされ、スイッチ制御出力信号８４はＴＩＭ９を選択しないように設定される。
【００４６】
符号シフトレジスタクロックＳｉｇｎａｔｕｒｅ＿ＣＬＫ１５０はゲート制御されるクロックであり、たとえば図３に示すＴＡＰコントローラ状態のうちの事前設定の１つに入る、などのように事前に定義したイベントが生じるまで「オフ」状態にある。符号レジスタクロックがトリガされると、Ｓｉｇｎａｔｕｒｅ＿ＣＬＫ１５０は実行可能となってテストデータクロックＴＣＫ６０に従う（図７参照）。Ｓｉｇｎａｔｕｒｅ＿ＣＬＫ１５０は、図３に示すＴＡＰコントローラ状態のうちの事前設定の１つに入る、などのように、事前設定の別のイベントが発生すると、再びオフになるようゲート制御される。意図しない符号の照合一致により生じる符号のエイリアシングを防ぐため、Ｓｉｇｎａｔｕｒｅ＿Ｒｅｓｅｔ信号１５２およびＳｉｇｎａｔｕｒｅ＿ＣＬＫ信号１５０の厳重な制御が必要である。
【００４７】
Ｎビットのデータが符号シフトレジスタ１４０にシフトされると、入力された符号は、Ｎビット比較器１４４により、事前設定の符号回路１４２に前もって格納されている予想される符号と比較される。ＤＳＭ＿ＵｐｄａｔｅＬＲ１４９パルスが発生したときに限り、比較器出力１４４がサンプリングされる。その後、比較器結果は１４６でゲートされてからＳＲラッチ１４８に入り、ＳＲラッチ１４８は、ＴＩＭ９の選択を制御するため出力ＴＩＭ Ｓｅｌｅｃｔ９８を生成する。入ってくる符号が予想された符号と一致する場合、ＳＲラッチ１４８はＴＩＭ９が選択されるようにセットされる。一致しない場合は、ＳＲラッチはクリヤされたままで、ＴＩＭ９はスイッチ制御８４によって選択されない。
【００４８】
符号を構築するのに用いられる典型的な方法の１つは、外部ＴＭＳ信号１２を用いるＤＳＭ ＴＡＰコントローラの状態移動履歴のサブセットを、符号として収集することである。この方法を用いる場合、ユーザは一致信号を生成するのに状態履歴が必要であることを知り、ＴＩＭ９を選択したいときにユーザはそのシーケンスを生成する責務がある。
【００４９】
Ｃａｐｔｕｒｅ−ＩＲ状態１１０にＳｉｇｎａｔｕｒｅ＿Ｒｅｓｅｔ信号１５２がアサートされると、符号のエイリアシングを防ぐため、符号シフトレジスタ１４０に不一致値が再設定される（図３参照）。その後、ゲート制御されたクロック、すなわち、Ｓｉｇｎａｔｕｒｅ＿ＣＬＫ１５０が実行可能となり、符号シフトレジスタ１４０にそれぞれの後続ＴＭＳ値を収集するクロック信号を提供し、このクロック信号の提供は、Ｓｉｇｎａｔｕｒｅ＿ＣＬＫ１５０がＳＨＩＦＴ−ＩＲ状態１１１に達して再び実行不能になるまで続く。
【００５０】
ＳＨＩＦＴ−ＩＲ状態１１１になると、Ｓｉｇｎａｔｕｒｅ＿ＣＬＫ１５０はゲート制御されてオフとなり、符合定数シフトレジスタ１４０に収集された最後の符号が、事前設定の符号回路１４２に格納されている予想された符号と比較される。Ｕｐｄａｔｅ−ＩＲ状態１１５の間に比較器出力１４４はＳＲラッチ１４８に取り込まれて、ＴＩＭ＿Ｓｅｌｅｃｔ信号９８は、比較結果が一致すればアサートされ、一致しなければネゲートされる。
【００５１】
図９は、図３に太字で示した事前設定の状態移動シーケンスによって生成された典型的な符号の結果を示す。図８のＳｉｇｎａｔｕｒｅ＿ＤＡＴＡ信号１５１は、ＴＭＳ６１になるものとして選択され、Ｓｉｇｎａｔｕｒｅ＿ＣＬＫ１５０の立ち上がりエッジでサンプリングされる。また、事前設定の７ビットの符号は、ＴＭＳ２値シーケンス０１００００１で、その一番右の“１”がＳｉｇｎａｔｕｒｅ＿ＣＬＫ１５０の最初の立ち上がりエッジでサンプリングされる。Ｃａｐｔｕｒｅ−ＩＲ状態１１０において実行可能にされた後、ＴＭＳの符号は、図３に太字で示される後続状態の遷移経路、すなわちＥｘｉｔ１−ＩＲ１１２、Ｐａｕｓｅ−ＴＩＲ１１３、Ｐａｕｓｅ−ＩＲ１１３、Ｐａｕｓｅ−ＩＲ１１３、Ｐａｕｓｅ−１１３、Ｅｘｉｔ２−ＩＲ１１４、およびＳｈｉｆｔ−ＩＲ１１１と一致する。Ｓｈｉｆｔ−ＩＲ状態１１１に達すると、符号クロックはゲート制御されてオフとなりシフトを停止し、２つの符号が比較される。その後Ｕｐｄａｔｅ−ＩＲ状態１１５にトラバースすると、比較された結果は、ＳＲラッチ１４８にロードされる。異なるシーケンス長を有する状態移動符号も使用でき、Ｓｉｇｎａｔｕｒｅ＿ＣＬＫ１５０を実行可能にしたり実行不能にしたりできる他の状態、および符号シフトレジスタ１４０やＳＲラッチ１４８をリセットすることも利用できる。符号の比較を定める方法は他にもあり、例えば本発明の他の実施形態において、ＤＳＭ２４，２６の１つ以上の状態に基づいて、またはＤＳＭ２４，２６の１つ以上の特定の状態遷移に基づいて、選択的にＳｉｇｎａｔｕｒｅ＿ＣＬＫ１５０を実行可能にしたり実行不能にすることもできる。
【００５２】
符号を決める方法は他にもあり得る。例えば、Ｐａｕｓｅ−ＩＲ状態１１３にいる間、ＴＤＩ６４ピン／端子１２の値は通常重要ではない。したがって、符号に基づくＴＩＭ９の選択方法としては、Ｐａｕｓｅ−ＩＲ状態１１３にいる間にＴＤＩピン／端子１２をＮ回サンプリングし、かつ事前設定の一意のＮビット符号を捜すという方法に基づいてもよい。ＩＣ１０のユーザは、一致シーケンスを知り、ＴＩＭ９にアクセスしたいときの一致符号を作成するため、イベントのシーケンスを生成する責務がある。この方法では、Ｐａｕｓｅ−ＩＲ状態１１３以外のどれかの状態が引き金となって、Ｓｉｇｎａｔｕｒｅ＿Ｒｅｓｅｔ信号１５２が符号シフトレジスタ１４０を初期化する。Ｓｉｇｎａｔｕｒｅ＿ＣＬＫ信号１５０は、Ｐａｕｓｅ−ＩＲ状態１１３にいる間だけ実行可能になる。ＩＣ１０のユーザは、予想される値のシーケンスをＴＤＩピン／端子１２に提供するため、必要なクロック数、ＴＡＰコントローラをＰａｕｓｅ−ＩＲ状態１１３に維持することにより、Ｕｐｄａｔｅ−ＩＲ状態１１５においてＴＩＭ＿Ｓｅｌｅｃｔ信号９８がアサートされる。
【００５３】
アクセスのためＴＩＭ９の選択を実行可能にするのに、１つまたは２つ以上の状態移動履歴を収集したシーケンスと、１つまたは２つ以上のＴＤＩ６４の入力値を収集したシーケンスとを組み合わせた、符号の組合せを使用してもよい。このように、本発明の範囲は、ＴＩＭ９を選択するための符号情報を収集する特定のシーケンスまたは方法に限定されるものではない。
【００５４】
上記説明では、本発明を特定の実施形態を参照して説明した。しかし、当業者は、本発明の範囲から逸脱することなく、添付の請求項に述べるような種々の修正および変更が可能なことを理解するであろう。従って、明細書および図面はそれらに限定されるものというより例示としてとらえられるべきで、そのような修正はすべて本発明の範囲に含まれることを意図している。本発明はどのような特定のテスト標準（例えばＩＥＥＥ標準１１４９．１）に限定されるものでもなく、また事実、そのようなテストの分野に限定されるものでもないことに留意されたい。例えば本発明は、元の状態マシンが修正できないか、修正に制限があるような場合への適用に有用である。例えば、オリジナルの状態マシンに追加機能を付けたい場合（通常動作、テスト等すべての動作モードに対して）、その追加機能を複製の状態マシンに追加することができ、その複製の状態マシンからの１つまたは複数制御信号出力を、複製の状態マシンからオリジナルの状態マシンの出力に、またはその制御出力が使用されるいかなる場合にも、送ることができる。このことは、オリジナルまたは既存の回路の１つまたはそれ以上のブロックを、単一の集積回路上に統合しようとする場合に、きわめて有用なアプローチとなろう。
【００５５】
いくつかの特定の実施形態について利点、その他の効果および問題の解決方法を上述した。しかしながら、そのような利点、効果、問題の解決方法、ならびに任意の利点、効果、および問題の解決方法をもたらすかより顕著にするいかなる要素も、本発明の請求項の一部または全部の重要な、必要な、または本質的な特徴または要素と解釈されるべきでない。
【図１】
2011069840.tif 000003
【図２】
2011069840.tif 000004
【図３】
2011069840.tif 000005
【図４】
2011069840.tif 000006
【図５】
2011069840.tif 000007
【図６】
2011069840.tif 000008
【図７】
2011069840.tif 000009
【図８】
2011069840.tif 000010
【図９】
2011069840.tif 000011