(57)【特許請求の範囲】
【請求項１】
並列刺激入力ピンと並列応答出力ピンを有する機能回路と，
走査回路とを含む集積回路であって，前記走査回路は，
（ｉ）クロック入力ピン，走査モード入力ピン，前記クロック入力ピンと走査モード入力ピンに接続された第１状態機械回路，および前記第１状態機械回路に接続された制御出力ピンとを有するアクセスポートと，
（ｉｉ）直列データ入力ピンと，前記アクセスポートの制御出力ピンの少なくとも幾つかに接続された制御入力ピン，前記直列データ入力ピンと前記制御入力ピンに接続された第２状態機械回路，および前記第２状態機械回路に接続された制御出力ピンを有する，前記アクセスポートと別個の制御器と，
（ｉｉｉ）前記制御器の直列データ入力ピンに接続された直列データ入力ピン，前記制御器の制御出力ピンに接続された制御入力ピン，および並列出力ピンとを有する直列−並列入力レジスタと，
（ｉｖ）入力レジスタの並列出力ピンに接続された並列入力ピン，前記制御器の制御出力ピンに接続された制御入力ピン，および前記機能回路の並列刺激入力ピンに接続された並列刺激出力ピンとを有する更新レジスタと，
（ｖ）前記機能回路の並列応答出力ピンに接続された並列応答入力ピン，前記制御器の制御出力ピンに接続された制御入力ピン，および直列データ出力ピンとを有する並列−直列出力レジスタとを含む，前記集積回路。
【請求項２】
前記制御器が前記直列データ入力ピンにシリアルに接続されたシフトレジスタ部と，前記シフトレジスタ部にパラレルに接続されたカウンタとを含み，前記第２状態機械回路が前記カウンタに接続されている請求項１記載の回路。
【請求項３】
前記制御器が前記第２状態機械回路に接続された直列データ出力ピンを有する請求項１記載の回路。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は一般に、電気回路をシリアル走査アクセス（ｓｅｒｉａｌ  ｓｃａｎａｃｃｅｓｓ）により試験することに関し、より詳しくは、従来のシリアル試験方法を用いるより効率的に電気回路を連続的に試験することのできる試験方法に関する。
【０００２】
【従来の技術】
直列データを集積回路にシフトインおよびシフトアウトして、装置内の論理の試験を容易にする試験バスインターフェースが存在する。これらのバスは、試験する回路を取り巻く選択された走査路に直列データの単一パターンをシフト動作毎に一回移送するよう、主として設計されている。回路の複雑さに従って、回路を完全に試験するには数千回または数万回のシフト動作が必要である。試験する回路に試験データパターンを移送するシフト動作を多数回繰り返すには非常に時間がかかる。
【０００３】
ＩＥＥＥ１１４９．１試験バスおよび構造の説明
試験バスには多くの形式があるが、この開示では本発明の利点を説明するためにＩＥＥＥ１１４９．１試験バスを用いる。図１は、前記１１４９．１仕様に記述されたＩＥＥＥ標準ＩＣ試験バスおよび構造を示す。この構造は、ＩＣ設計のシリアル試験レジスタに連続的にアクセスして試験を容易にするための標準的な方法として開発されたものである。図１に示すこの試験構造は、命令レジスタ（ＩＲＥＧ）、バイパス、ＤＲＥＧ１、ＤＲＥＧ２と呼ぶ一組のデータレジスタ（ＤＲＥＧ）、試験アクセスポート（ＴＡＰ）と呼ぶ試験インターフェースから成る。この構造にはＩＲＥＧは１個しか用いないが、ＤＲＥＧは任意の数を備えることができる。図１の各ＤＲＥＧはＩＣ内の回路の入力および出力境界に結合して、回路のシリアル試験を可能にする。バイパスＤＲＥＧは試験には用いず、ＤＲＥＧ１とＤＲＥＧ２に結合する回路の試験が必要でない場合に、ＩＣを通る省略した走査路を提供するためのものである。
【０００４】
ＩＲＥＧと各ＤＲＥＧは、試験データ入力ピン（ＴＤＩ）１０２と試験データ出力ピン（ＴＤＯ）１１６の間に並列に配置された別個の走査路上にある。ＩＲＥＧの走査動作中は、ＴＡＰは試験モード選択（ＴＭＳ）１０４と試験クロック（ＴＣＫ）１０６を経て外部制御を受け、制御バス１０８を経て内部制御を出力して、ＩＲＥＧを通してＴＤＩ入力からＴＤＯ出力にデータをシフトする。同様にＤＲＥＧの走査動作は、ＴＭＳとＴＣＫ入力に外部制御を受けてＴＡＰが制御バス１０８に内部制御を出力し、選択されたＤＲＥＧを通してデータをシフトすることにより行われる。ＤＲＥＧの中から１個を選択する制御はＩＲＥＧにシフトインした命令から来るもので、ＩＲＥＧから制御バス１１０を経て出力する。バス１１０の制御出力は全でのＤＲＥＧに入り、シフトに用いる１個を選ぶ。また制御バス１１０はマルチプレクサ１に入り、選択されたＤＲＥＧの直列出力をＴＤＯ出力に結合する。
【０００５】
ＴＡＰは有限状態機械で、ＴＭＳとＴＣＫ入力を経由して入る走査アクセスプロトコル入力に応答する。ＴＡＰの目的は、入力走査アクセスプロトコルに応答して、ＩＲＥＧまたはＤＲＥＧを通してデータをシフトすることである。ＴＡＰはＴＣＫ入力によってクロックされ、ＴＭＳ入力に基づいて状態遷移を行う。ＴＡＰの状態線図は図２に示すように１６状態から成る。すなわち、試験論理リセット（ｔｅｓｔ  ｌｏｇｉｃ  ｒｅｓｅｔ（ＴＬＲＥＳＥＴ））、実施試験／アイドル（ｒｕｎ  ｔｅｓｔ／ｉｄｌｅ（ＲＴ／ＩＤＬＥ））、選択データレジスタ走査（ｓｅｌｅｃｔ  ｄａｔａ  ｒｅｉｓｔｅｒ  ｓｃａｎ（ＳＥＬＤＲＳ））、選択命令レジスタ（ｓｅｌｅｃｔ  ｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｇｉｓｔｅｒ  ｓｃａｎ（ＳＥＬＩＲＳ））、捕獲データレジスタ（ｃａｐｔｕｒｅ  ｄａｔａ  ｒｅｓｉｓｔｅｒ（ＣＡＰＴＵＲＥＤＲ））、シフトデータレジスタ（ｓｈｉｆｔ  ｄａｔａ  ｒｅｇｉｓｔｅｒ（ＳＨＩＦＴＤＲ））、出口１データレジスタ（ｅｘｉｔｌ  ｄａｔａ  ｒｅｇｉｓｔｅｒ（ＥＸＩＴ１ＤＲ））、休止データレジスタ走査（ｐａｕｓｅ  ｄａｔａ  ｒｅｇｉｓｔｅｒ  ｓｃａｎ（ＰＡＵＳＥＤＲ））、出口２データレジスタ（ｅｘｉｔ２  ｄａｔａ  ｒｅｇｉｓｔｅｒ（ＥＸＩＴ２ＤＲ））、更新データレジスタ（ｕｐｄａｔｅ  ｄａｔａｒｅｇｉｓｔｅｒ（ＵＰＤＡＴＥＤＲ））、捕獲命令レジスタ（ｃａｐｔｕｒｅ  ｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｇｉｓｔｅｒ（ＣＡＰＴＵＲＥＩＲ））、シフト命令レジスタ（ｓｈｉｆｔ  ｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｇｉｓｔｅｒ（ＳＨＩＦＴＩＲ））、出口１命令レジスタ（ｅｘｉｔｌ  ｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｇｉｓｔｅｒ（ＥＸＩＴ１ＩＲ））、休止命令レジスタ走査（ｐｓｕｓｅ  ｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｇｉｓｔｅｒ  ｓｃａｎ（ＰＡＵＳＥＩＲ））、出口２命令レジスタ（ｅｘｉｔ２  ｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｇｉｓｔｅｒ（ＥＸＩＴ２ＩＲ））、更新命令レジスタ（ｕｐｄａｔｅ  ｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｇｉｓｔｅｒ（ＵＰＤＡＴＥＩＲ））である。
【０００６】
ホストＩＣのパワーアップ時または通常動作中は、ＴＡＰはＴＬＲＥＳＥＴ状態にある。この状態ではＴＡＰはリセット信号を出し、全ての試験論理の条件をホストＩＣの通常動作を妨げないものにする。試験アクセスが必要なときは、ＴＭＳとＴＣＫ入力を経てプロトコルが与えられ、ＴＡＰはＴＬＲＥＳＥＴ状態を出てＲＴ／ＩＤＬＥ状態に入る。図２では、ＴＡＰ状態の間を移動させるＴＭＳ入力を、論理０または１で表す。ＴＣＫは、ＴＡＰ状態制御器を状態から状態に遷移させるクロックである。
【０００７】
命令レジスタ走査プロトコルが出ると、ＴＡＰはＲＴ／ＩＤＬＥ状態からＳＥＬＤＲＳとＳＥＬＩＲＳ状態を通ってＣＡＰＴＵＲＥＩＲ状態に遷移する。ＣＡＰＴＵＲＥＩＲ状態は、ＩＲＥＧに状態データをプレロードしてＴＤＯ出力ピンからシフトアウトするのに用いる。ＣＡＰＴＵＲＥＩＲ状態から、ＴＡＰはＳＨＩＦＴＩＲ状態かＥＸＩＴ１ＩＲ状態に遷移する。通常はＣＡＰＴＵＲＥＩＲ状態に続いてＳＨＩＦＴＩＲになり、プレロードしたデータをＩＲＥＧからＴＤＯ出力を経て試験のためにシフトアウトし、新しいデータがＴＤＩ入力を経てＩＲＥＧにシフトインする。ＴＡＰはＳＨＩＦＴＩＲ状態からＥＸＩＴ１ＩＲとＵＰＤＡＴＥＩＲ状態を経てＲＴ／ＩＤＬＥ状態に戻るか、またはＥＸＩＴ１ＩＲを経てＰＡＵＳＥＩＲ状態に入る。ＰＡＵＳＥＩＲ状態に入るのは、ＩＲＥＧを通るデータのシフトを一時的に中断するためである。ＰＡＵＳＥＩＲ状態から、ＥＸＩＴ２ＩＲ状態を経てＳＨＩＦＴＩＲ状態に再び入ってシフトを再開するか、またはＥＸＩＴ２ＩＲ状態とＵＰＤＡＴＥＩＲ状態を経てＲＴ／ＩＤＬＥ状態に入って終了することができる。
【０００８】
データレジスタ走査プロトコルが出ると、ＴＡＰはＲＴ／ＩＤＬＥ状態からＳＥＬＤＲＳ状態を通ってＣＡＰＴＵＲＥＤＲ状態に遷移する。ＣＡＰＴＵＲＥＤＲ状態は、選択されたＤＲＥＧにデータをプレロードしてＴＤＯ出力ピンからシフトアウトするのに用いる。ＣＡＰＴＵＲＥＤＲ状態から、ＴＡＰはＳＨＩＦＴＤＲ状態かＥＸＩＴ１ＤＲ状態に遷移する。通常はＣＡＰＴＵＲＥＤＲに続いてＳＨＩＦＴＤＲ状態になり、プレロードしたデータをＤＲＥＧからＴＤＯ出力を経て試験のためにシフトアウトし、新しいデータをＴＤＩ入力を経てＤＲＥＧにシフトインする。ＴＡＰはＳＨＩＦＴＤＲ状態からＥＸＩＴ１ＤＲ状態とＵＰＤＡＴＥＤＲ状態を経てＲＴ／ＩＤＬＥ状態に戻るか、またはＥＸＩＴ１ＤＲを経てＰＡＵＳＥＤＲ状態に入る。ＰＡＵＳＥＤＲ状態に入るのは、ＤＲＥＧを通るデータのシフトを一時的に中断するためである。ＰＡＵＳＥＤＲ状態から、ＥＸＩＴ２ＤＲ状態を経てＳＨＩＦＴＤＲ状態に再び入ってシフトを再開するか、またはＥＸＩＴ２ＤＲ状態とＵＰＤＡＴＥＤＲ状態を経てＲＴ／ＩＤＬＥ状態に入って終了することができる。
【０００９】
実際には図３に示すように、ＩＥＥＥ１１４９．１構造を実現する任意の数のＩＣを、回路板レベルで直列に接続することができる。同様に任意の数の回路板を接続して、直列に接続されるＩＣの数を更に増やすことができる。図３のＩＣは、ＴＤＩ入力ピンとＴＤＯ出力ピンを経て最初から最後のＩＣまで直列に接続されている。また各ＩＣは、試験バス制御器からＴＭＳおよびＴＣＫ制御入力を受ける。また試験バス制御器は、直列路の第１ＩＣのＴＤＩ入力へ直列データを出力し、直列路の最後のＩＣのＴＤＯから直列データを受ける。試験バス制御器はＴＭＳおよびＴＣＫ信号に制御を出し、全てのＩＣは前に述べたＴＡＰプロトコル手順に従って、内部ＩＲＥＧまたはＤＲＥＧを通してデータを一斉にシフトする。
【００１０】
ＩＲＥＧシフト動作中は、シフト路の全長は各ＩＣのＩＲＥＧ内のビットの和に等しい。例えば直列路内に１００個のＩＣがあり（図３）、各ＩＣのＩＲＥＧが８ビット長であれば、ＩＲＥＧのシフト動作毎にシフトしなければならないビット数は８００である。同様にＤＲＥＧのシフト動作中は、直列路の全長は各ＩＣの選択されたＤＲＥＧ内のビットの和に等しい。各ＩＣ内でバイパスＤＲＥＧが選択された場合は、バイパスＤＲＥＧは単に１ビット長なので、ＤＲＥＧ走査中にシフトされる全ビット数はＩＣの数に１ビットを掛けたものに等しい。異なる命令をＩＲＥＧにロードすることにより、各ＩＣは異なるＤＲＥＧを選択することができる。例えば、第１ＩＣは多数のビットを持つＤＲＥＧを選択し、他の全てはバイパスＤＲＥＧを選択することができる。一般に、試験を行わないＩＣはバイパスＤＲＥＧを選択して、ＩＣのＤＲＥＧのビット長を１ビットに減らす。
【００１１】
【発明が解決しようとする課題】
次の例は試験するＩＣと試験バス制御器への接続から成る単一ＩＣの試験環境（図４）で、１１４９．１ＴＡＰデータレジスタ走査動作を用いてＩＣのＤＲＥＧと結合する組合せ回路を試験する方法を説明する。この型の試験は、ＩＣを確認するためにＩＣメーカで行われる。このＩＣは組合せ回路の境界と結合するＤＲＥＧを備えており、試験バス制御器はシリアル試験バスを経て回路に試験パターンを入力および出力する。
【００１２】
図５は、組合せ回路の入力および出力境界と結合する、図４のターゲットＩＣのＤＲＥＧ１の詳細図を示す。組合せ回路は、単一のＩＣまたは全ＩＣ内の部分回路であってよい。組合せ回路は、メモリすなわちレジスタ記憶のないブール論理機能から成る。組合せ回路の例は次のものを含むがこれに限定されるものではない。すなわち、ブール論理ブロック、アドレスデコーダ、プログラマブル論理アレイ、比較器、マルチプレクサ、算術論理装置である。組合せ回路の出力応答は、入力刺激だけの関数である。図示のＤＲＥＧ１は、データ入力シフトレジスタ（ＤＩＳＲ）とデータ出力シフトレジスタ（ＤＯＳＲ）の２部分を備える。
【００１３】
ＤＩＳＲは一連の走査セル（Ｉ）から成り、シリアル試験データ入力をＴＤＩから、制御入力をＴＡＰから受ける。ＤＩＳＲは直列データをＤＯＳＲに、並列データを組合せ回路入力に出力する。ＤＯＳＲは一連の走査セル（Ｏ）から成り、シリアル試験データ入力をＤＩＳＲから、並列入力を組合せ回路から受ける。ＤＯＳＲは直列データをＴＤＯ出力に出力する。ＴＡＰは制御信号をＴＭＳおよびＴＣＫ入力を経て試験バス制御器から受け、制御をＤＩＳＲとＤＯＳＲに出力する。組合せ回路は並列試験データをＤＩＳＲから受け、並列データをＤＯＳＲに出力する。
【００１４】
ＤＩＳＲとＤＯＳＲは、専用の試験論理か、または組合せ回路に関連する機能論理で、試験中に変更可能で試験論理として動作するものでよい。試験中は、ＤＩＳＲの走査セルはＴＡＰからの制御入力に応答して直列データを入力および出力し、また並列データを組合せ回路に出力する。ＴＡＰがデータシフトの制御をＤＩＳＲを通して入力中は、並列出力は前の並列出力状態に保持される。シフト動作が完了するとＴＡＰは制御を入力して、ＤＩＳＲにすでにシフト済みの新しい並列出力状態により並列出力を更新する。また試験中は、ＤＯＳＲの走査セルはＴＡＰからの制御入力に応答して、組合せ回路からの並列データ出力を捕獲し、次に捕獲したデータやＤＩＳＲとＩＣの直列出力をＴＤＯ出力を経て試験バス制御器に出力する。
【００１５】
試験の前に、試験バス制御器はどのＤＲＥＧ１と組合せ回路を試験するかを選択するＩＣの命令レジスタに試験コマンドを入力する。この構成では、試験バス制御器から見た全走査路長は、ＤＩＳＲ（Ｉ）内のビットにＤＯＳＲ（Ｏ）内のビットを加えた長さである。
【００１６】
試験コマンドをロードした後、試験バス制御器が制御を入力すると、ＴＡＰは多重データレジスタ走査動作を実行する。データレジスタ走査動作は、図２のＴＡＰ状態線図内に記述されている。一つのデータレジスタ走査動作は、状態ＳＥＬＤＲＳから、ＣＡＰＴＵＲＥＤＲへ、ＳＨＩＦＴＤＲへ、ＥＸＩＴ１ＤＲへ、ＵＰＤＡＴＥＤＲへと遷移する。
【００１７】
各データレジスタ走査動作は次の段階を繰り返す。すなわち（１）組合せ回路からの並列データをＩＣのＤＯＳＲ内に捕獲し、（２）ＩＣのＤＩＳＲとＤＯＳＲを通してデータをシフトすることにより、捕獲したデータを出力し、また新しい試験データを入力し、（３）更新して新しい試験データをＤＩＳＲから組合せ回路に並列に出力する。段階１と３（捕獲と更新）はそれぞれ１ＴＣＫバスサイクルを必要とする。段階２（シフト）はＤＩＳＲ（Ｉ）とＤＯＳＲ（Ｏ）内の走査セルの数に等しいＴＣＫバスサイクル数を必要とする。
【００１８】
式１はデータレジスタ走査動作毎に必要なＴＣＫバスサイクル数を表し、式２は組合せ回路を完全に試験するのに必要なデータレジスタ走査動作数を表し、式３は必要な試験時間を表す。例を簡単にするため、データレジスタ走査動作中にＴＡＰが遷移する他の中間状態（すなわちＳＥＬＤＲＳとＥＸＩＴ１ＤＲ）は、各式の中に用いない。
0003610095.tif 000002
ただし、Ｉ＝ＤＩＳＲのビット数
Ｏ＝ＤＯＳＲのビット数
式２  走査動作の数＝２１（Ｉ＝組合せデータ入力の数）
式３  試験時間＝（式１）ｘ（式２）ｘ（１／ＴＣＫ周波数）
【００１９】
多重１１４９．１データレジスタ走査動作を用いる単一ＩＣの試験環境の試験時間の計算の基準点を確立するためにＩ＝１６、Ｏ＝１６、ＴＣＫ周波数＝１０Ｍｈｚ、と仮定する。組合せ回路を試験するための計算された試験時間は、
0003610095.tif 000003
【００２０】
組合せ回路の計算された試験時間の基準点は短く見えるが、試験した回路は、ＩＣを完全に試験するために１１４９．１ＴＡＰにより試験する必要のあるＩＣ内の１００個の同様な回路の中の１個であってよい。１００個の組合せ回路を試験すれば、１００ｘ２２２．８ｍｓすなわち２２．２８秒かかる。この試験時間は、ＩＣの製造試験としては非常に長い。
【００２１】
次の例は試験するＩＣと試験バス制御器への接続から成る単一ＩＣの試験環境（図４）で、１１４９．１ＴＡＰデータレジスタ走査動作を用いてＩＣのＤＲＥＧと結合する順序回路（ｓｅｑｕｅｎｔｉｏｎａｌ  ｃｉｒｃｕｉｔ）を試験する方法を説明する。この型の試験は、ＩＣを確認するためにＩＣメーカで行われる。このＩＣは順序回路の境界と結合するＤＲＥＧを備え、試験バス制御器はシリアル試験バスを経て順序回路に試験パターンを入力および出力する。
【００２２】
図６は、順序回路の入力および出力境界と結合する、図４のターゲットＩＣのＤＲＥＧ１の詳細を示す。順序回路は、１個のＩＣまたは全てのＩＣの部分回路であってよい。順序回路は、メモリすなわちレジスタ記憶と組合せたブール論理機能を含む。順序回路の例は次のものを含むがこれに限定されるものではない。すなわち読取り／書込みメモリ、ｆｉｆｏメモリ、カウンタ、状態機械、マイクロプロセッサ、マイクロコンピュータである。順序回路の出力応答は、入力刺激、記憶された内部制御すなわち状態、クロックすなわち制御入力の関数である。図示のＤＲＥＧ１は、データ入力シフトレジスタ（ＤＩＳＲ）、制御入力シフトレジスタ（ＣＩＳＲ）、データ出力シフトレジスタ（ＤＯＳＲ）の３部分を備える
【００２３】
ＤＩＳＲは一連の走査セル（Ｉ）から成り、シリアル試験データ入力をＴＤＩから、制御入力をＴＡＰから受ける。ＤＩＳＲは直列データをＣＩＳＲに、並列データを順序回路入力に出力する。ＣＩＳＲは少なくとも１個の走査セル（Ｃ）から成り、シリアル試験データ入力をＤＩＳＲから、制御入力をＴＡＰから受ける。ＣＩＳＲは直列データをＤＯＳＲに、制御を順序回路に出力する。ＤＯＳＲは一連の走査セル（Ｏ）から成り、シリアル試験データ入力をＣＩＳＲから、並列入力を順序回路から受ける。ＤＯＳＲは、直列データをＴＤＯ出力に出力する。ＴＡＰは制御入力をＴＭＳおよびＴＣＫ入力を経て試験バス制御器から受け、制御をＤＩＳＲ、ＣＩＳＲ、ＤＯＳＲに出力する。順序回路は並列試験データ入力をＤＩＳＲから、制御入力をＣＩＳＲから受け、並列データをＤＯＳＲに出力する。
【００２４】
ＤＩＳＲ、ＣＩＳＲ、ＤＯＳＲは、専用の試験論理か、または順序回路に結合する機能論理で、試験中に変更可能で試験論理として動作するものでよい。試験中は、ＤＩＳＲとＣＩＳＲの走査セルはＴＡＰからの制御入力に応答してＴＤＩ入力ピンから直列データを入力し、並列データと制御を順序回路に出力する。ＴＡＰがデータシフトの制御をＤＩＳＲとＣＩＳＲに入力中は、並列出力は前の並列出力状態に保持される。シフト動作が完了するとＴＡＰは制御を入力して、ＤＩＳＲとＣＩＳＲにすでにシフト済みの新しい並列出力状態により並列出力を更新する。また試験中は、ＤＯＳＲの走査セルはＴＡＰからの制御入力に応答して、順序回路からの並列データ出力を捕獲し、次に捕獲したデータをＤＯＳＲとＩＣの直列出力からＴＤＯを経てシフトアウトする。
【００２５】
試験中は、試験バス制御器はＴＡＰを経て制御を入力し、図２のＴＡＰ状態線図に記述したデータレジスタ走査動作を実行する。各データレジスタ走査動作は次の段階を繰り返す。すなわち（１）ＣａｐｔｕｒｅＤＲ状態中に、順序回路からの並列データをＤＯＳＲ内に捕獲し、（２）ＳｈｉｆｔＤＲ状態中に新しい試験入力データをＤＩＳＲとＣＩＳＲに、捕獲した出力試験データをＤＯＳＲからシフトし、（３）ＵｐｄａｔｅＤＲ状態中に更新して、新しい並列試験データと制御をＤＩＳＲとＣＩＳＲから順序回路に入力する。
【００２６】
段階１（捕獲）と段階３（入力）はそれぞれ１ＴＣＫバスサイクルを必要とする。段階２（シフト）は、ＤＩＳＲ（Ｉ）、ＣＩＳＲ（Ｃ）、ＤＯＳＲ（Ｏ）内の走査セルの数に等しいＴＣＫバスサイクル数を必要とする。説明を簡単にするために、データレジスタ走査動作中にＴＡＰが遷移しなければならない他の中間状態は含まない。
【００２７】
順序回路の試験が組合せ回路とは異なる点は、前者は、順序回路へのＣＩＳＲ制御入力を活性化するためと、順序回路がＤＩＳＲからの並列データ入力に応答しまたＤＯＳＲに並列データを出力するために、追加のデータレジスタ走査動作を必要とするということである。順序回路への制御入力を活性化する度に、制御入力を使用可能にするための１データレジスタ走査動作が必要であり、制御入力を使用不能にするための別の１データレジスタ走査動作が必要である。従って順序回路に必要な活性化の度に、１対のデータレジスタ走査動作が必要である。更に制御入力を使用可能および使用不能にするデータレジスタ走査動作は、データパターンを順序回路に入力するデータレジスタ走査の後に来る。従って、順序回路の１回の試験パターンを適用するのに必要なデータレジスタ走査動作の全回数は、データパターンを入力するための最初のデータレジスタ走査動作に、制御入力を活性化するすなわち使用可能および使用不能にする必要がある度毎の１対のデータレジスタ走査動作を加えたものに等しい。
【００２８】
例えば、試験データパターンを与える度に２回活性化される１制御入力において、５回のデータレジスタ走査動作が必要である。第１走査動作ではデータパターンを順序回路に入力し、第２走査動作ではデータパターンを再入力して制御入力が第１の活性化を開始できるようにし、第３走査動作ではデータパターンを再入力しまた制御入力を使用不能にして第１の活性化を停止し、第４走査動作ではデータパターンを再入力しまた制御入力を使用可能にして第２の活性化を開始し、第５走査動作ではデータパターンを再入力しまた制御入力を使用不能にして第２の活性化を停止する。第６走査動作では次のデータパターンに入って次の制御活性化シーケンスを開始し、順序回路の応答を前のデータパターンに出力する。
【００２９】
式４はデータレジスタ走査動作毎に必要なＴＣＫバスサイクル数を表し、式５は順序回路を完全に試験するのに必要なデータレジスタ走査動作数を表し、式６は必要な試験時間を表す。
0003610095.tif 000004
ただし、Ｉ＝ＤＩＳＲのビット数
Ｃ＝ＣＩＳＲのビット数
Ｏ＝ＤＯＳＲのビット数
式５  走査動作の数＝２１ｘ（１＋２Ｋ）
ただし、Ｉ＝データ入力の数
Ｋ＝制御入力活性化の数
式６  試験時間＝（式４）ｘ（式５）ｘ（１／ＴＣＫ周波数）
【００３０】
多重１１４９．１ＴＡＰデータレジスタ走査動作を用いた順序回路のための試験時間の計算の基準点を確立するために、Ｉ＝１６、Ｃ＝１、Ｋ＝３、Ｏ＝１６、ＴＣＫ周波数＝１０Ｍｈｚ、と仮定する。計算された試験時間は、
0003610095.tif 000005
【００３１】
順序回路の計算された試験時間の基準点は短く見えるが、試験した回路は、ＩＣを完全に試験するために１１４９．１ＴＡＰにより試験する必要のあるＩＣ内の１００個の同様な回路の中の１個であってよい。１００個の順序回路（Ｃ＝１、Ｋ＝３）を試験すれば、１００ｘ１．６０ｓすなわち１６０ｓかかる。この試験時間は、ＩＣの製造試験としては非常に長い。
【００３２】
多重制御入力活性化が順序回路の１１４９．１試験時間に与える影響を示すために、上述と同じ試験条件の下に、Ｋ＝１，２，４，５の制御入力活性化について式６を繰り返し計算する。
0003610095.tif 000006
【００３３】
式６を上のように繰り返し計算した結果から、１００個の順序回路を試験すると、Ｋ＝１では６８．８１秒、Ｋ＝２では１１５秒、Ｋ＝４では２０６秒、Ｋ＝５では２５２秒かかる。更に悪いことに、順序回路が入力パターンに反応し、その内部マイクロコードを実行し、応答パターンを出力するためには、マイクロプロセッサやマイクロ制御器などの順序回路の多重制御入力は、個別に何回も活性化しなければならない。これらの一層複雑な順序回路を１１４９．１によって試験するのに必要な時間は非常に長いので、止むを得ず他の方法で試験するか、または全く試験しないことがある。
【００３４】
次の例は図７に示す多重ＩＣ環境で、１１４９．１ＴＡＰデータレジスタ走査動作を用いてＩＣのＤＲＥＧに結合する組合せ回路を試験する方法を説明する。組合せ回路は、このＩＣまたは全ＩＣ内の部分回路であってよい。この型の試験は、このＩＣを他のＩＣと組合せてシステムを形成するような高度の組み立てレベルで行われる。このシステムは、簡単な電子玩具から軍用航空機に用いられる複雑な電子回路まで、どんなものでもよい。グループ内の、ターゲット（Ｔ）で示す図７の中央のＩＣは、図５のＤＲＥＧ１と組合せ回路を含む。ターゲットＩＣのＴＤＩ入力と試験バス制御器のＴＤＯ出力の間に「Ｎ」個のＩＣがあり、ターゲットＩＣのＴＤＯと試験バス制御器のＴＤＩ入力の間に「Ｍ」個のＩＣがある。
【００３５】
試験中は、図５のＤＩＳＲとＤＯＳＲは単一ＩＣ環境での組合せ回路の試験で述べたのと同様に動作する。多重と単一のＩＣ試験環境の唯一の違いは、試験バス制御器とターゲットＩＣの間の走査路の長さである。
【００３６】
試験の前に、試験バス制御器は図７のＩＣに試験コマンドを入力する。ＩＣ１−ＮとＩＣ１−ＭにはそれぞれのバイパスＤＲＥＧを選択するためのバイパス命令をロードし、ターゲットＩＣ（Ｔ）には試験するＤＲＥＧ１と組合せ回路とを選択する試験命令をロードする。この構成では、試験バス制御器から見た走査路の長さは、Ｎビット（ＩＣ１−Ｎ毎に１ビット）にターゲットＩＣのＤＲＥＧ１のビットを加え、更にＭビット（ＩＣ１−Ｍ毎に１ビット）を加えたものである。
【００３７】
試験コマンドをロードした後、試験バス制御器が制御を入力すると、各ＩＣのＴＡＰは多重データレジスタ走査動作を実行する。各データレジスタ走査動作は次の段階を繰り返す。すなわち、（１）走査路内の各ＩＣの選択されたＤＲＥＧに並列データを捕獲し、（２）走査路内の各ＩＣの選択されたＤＲＥＧを通してデータをシフトして、捕獲されたデータを出力し、新しい試験データを入力し、（３）更新して、走査路内の各ＩＣの選択されたＤＲＥＧからの新しいデータを並列に出力する。段階１と３（捕獲および更新）はそれぞれ１ＴＣＫサイクルを必要とする。段階２（シフト）は、ＤＩＳＲ（Ｉ）とＤＯＳＲ（Ｏ）内の走査セルの数に、図７のＩＣ１−Ｎと１−ＭのバイパスＤＲＥＧ内の走査セルの数を加えたものに等しいＴＣＫバスサイクル数を必要とする。
【００３８】
重要なことは、段階１（並列捕獲動作）によりＤＲＥＧ内の現在のデータは捕獲されたデータで重ね書きされることである。これは多重ＩＣ環境では、１１４９．１データレジスタ走査動作を繰り返す度に、ＤＩＳＲにシフトして組合せ回路に与える新しいデータは、試験バス制御器のＴＤＯ出力とターゲットＩＣのＴＤＩ入力の間のＩＣ１−ＮのバイパスＤＲＥＧの全長を横切らなければならないことを意味する。同様に、ターゲットＩＣのＤＯＳＲ内に捕獲したデータは、ターゲットＩＣのＴＤＯ出力と試験バス制御器のＴＤＩ入力の間のＩＣ１−ＭのバイパスＤＲＥＧの全長を横切らなければならない。ＩＣ１−Ｎと１−ＭのバイパスＤＲＥＧを用いて、試験バス制御器とターゲットＩＣの間の試験データを記憶するすなわちパイプラインすることはできない。
【００３９】
式７はデータレジスタ走査動作毎に必要なＴＣＫバスサイクル数を表し、式２は組合せ回路を完全に試験するのに必要なデータレジスタ走査動作の数を表し、式８は必要な試験時間を表す。
0003610095.tif 000007
ただし、Ｎ＝ターゲットＩＣの前のビット数
Ｉ＝ＤＩＳＲのビット数
Ｏ＝ＤＯＳＲのビット数
Ｍ＝ターゲットＩＣの後のビット数
式２  走査動作の数＝２１（Ｉ＝組合せデータ入力の数）
式８  試験時間＝（式７）ｘ（式２）ｘ（１／ＴＣＫ周波数）
【００４０】
多重１１４９．１ＴＡＰデータレジスタ走査動作を用いて組合せ回路を試験する多重ＩＣ試験環境の試験時間の計算の基準点を確立するために、Ｎ＝５００、Ｉ＝１６、Ｏ＝１６、Ｍ＝５００、ＴＣＫ周波数＝１０Ｍｈｚ、と仮定する。組合せ回路を試験するための計算された試験時間は、
0003610095.tif 000008
【００４１】
単一ＩＣ試験環境の場合と同様に、多重ＩＣ環境でＩＣを完全に試験する際に、１００個の他の組合せ回路を繰り返し試験する必要があってよい。更に、このシステムは試験したものと同程度の複雑さの更に１０００個のＩＣを含んでよい。ＩＣ内の１００個の組合せ回路の試験には、１００ｘ６．７８秒すなわち６７８秒すなわち１１．３分かかる。同様な複雑さの１０００個のＩＣの試験には、１１，３００分すなわち１８８時間すなわち７．８５日かかる。
【００４２】
次の例は図７に示す多重ＩＣ環境で、１１４９．１ＴＡＰデータレジスタ走査動作を用いてＩＣのＤＲＥＧに結合する順序回路を試験する方法を説明する。順序回路は、このＩＣまたは全ＩＣ内の部分回路であってよい。上に述べた多重ＩＣ試験の説明と同様に、この型の試験はこのＩＣを他のＩＣと組合せてシステムを形成するような高度の組み立てレベルで行われる。グループ内の、ターゲット（Ｔ）で示す図７の中央のＩＣは、図６のＤＲＥＧ１と順序回路を含む。ターゲットＩＣのＴＤＩ入力と試験バス制御器のＴＤＯ出力の間に「Ｎ」個のＩＣがあり、ターゲットＩＣのＴＤＯと試験バス制御器のＴＤＩ入力の間に「Ｍ」個のＩＣがある。
【００４３】
試験中は、図６のＤＩＳＲ、ＣＩＳＲ、ＤＯＳＲは単一ＩＣ環境での順序回路の試験で述べたのと同様に動作する。多重と単一のＩＣ試験環境の唯一の違いは、試験バス制御器とターゲットＩＣの間の走査路の長さである。
【００４４】
試験の前に、試験バス制御器は図７のＩＣに試験コマンドを入力する。ＩＣ１−ＮとＩＣ１−ＭにはそれぞれのバイパスＤＲＥＧを選択するためのバイパス命令をロードし、ターゲットＩＣ（Ｔ）には試験するＤＲＥＧ１と順序回路とを選択する試験命令をロードする。この構成では、試験バス制御器から見た走査路の長さは、Ｎビット（ＩＣ１−Ｎ毎に１ビット）にターゲットＩＣのＤＲＥＧ１のビットを加え、更にＭビット（ＩＣ１−Ｍ毎に１ビット）を加えたものである。
【００４５】
試験コマンドをロードした後、試験バス制御器が制御を入力すると、各ＩＣのＴＡＰは多重データレジスタ走査動作を実行する。各データレジスタ走査動作は次の段階を繰り返す。すなわち、（１）走査路内の各ＩＣの選択されたＤＲＥＧに並列データを捕獲し、（２）走査路内の各ＩＣの選択されたＤＲＥＧを通してデータをシフトして、捕獲されたデータを出力し、新しい試験データを入力し、（３）更新して、走査路内の各ＩＣの選択されたＤＲＥＧから新しいデータを並列に出力する。段階１と３（捕獲および更新）はそれぞれ１ＴＣＫサイクルを必要とする。段階２（シフト）は、ＤＩＳＲ（Ｉ）、ＣＩＳＲ（Ｃ）、ＤＯＳＲ（Ｏ）内の走査セルの数に、図７のＩＣ１−Ｎと１−ＭのバイパスＤＲＥＧ内の走査セルの数を加えたものに等しいＴＣＫバスサイクル数を必要とする。
【００４６】
再び重要なことは、段階１（並列捕獲動作）によりＤＲＥＧ内の現在のデータは捕獲されたデータで重ね書きされることである。これは多重ＩＣ環境では、１１４９．１データレジスタ走査動作を繰り返す度に、ＤＩＳＲにシフトして順序回路に与える新しいデータは、試験バス制御器のＴＤＯ出力とターゲットＩＣのＴＤＩ入力の間のＩＣ１−ＮのバイパスＤＲＥＧの全長を横切らなければならないことを意味する。同様に、ターゲットＩＣのＤＯＳＲ内に捕獲したデータは、ターゲットＩＣのＴＤＯ出力と試験バス制御器のＴＤＩ入力の間のＩＣ１−ＭのバイパスＤＲＥＧの全長を横切らなければならない。ＩＣ１−Ｎと１−ＭのバイパスＤＲＥＧを用いて、試験バス制御器とターゲットＩＣの間の試験データを記憶するすなわちパイプラインすることはできない。
【００４７】
式９はデータレジスタ走査動作毎に必要なＴＣＫバスサイクル数を表し、式５は順序回路を完全に試験するのに必要なデータレジスタ走査動作の数を表し、式１０は必要な試験時間を表す。
0003610095.tif 000009
ただし、Ｎ＝ターゲットＩＣの前のビット数
Ｉ＝ＤＩＳＲのビット数
Ｃ＝ＣＩＳＲのビット数
Ｏ＝ＤＯＳＲのビット数
Ｍ＝ターゲットＩＣの後のビット数
式５  走査動作の数＝２１ｘ（１＋２Ｋ）
式１０  試験時間＝（式９）ｘ（式５）ｘ（１／ＴＣＫ周波数）
【００４８】
多重１１４９．１ＴＡＰデータレジスタ走査動作を用いて順序回路を試験する多重ＩＣ試験環境の試験時間の計算の基準点を確立するために、Ｎ＝５００、Ｃ＝１、１＝１６、Ｋ＝３、Ｏ＝１６、Ｍ＝５００、ＴＣＫ周波数＝１０Ｍｈｚ、と仮定する。順序回路を試験するための計算された試験時間は、
0003610095.tif 000010
【００４９】
単一ＩＣ試験環境の場合と同様に、多重ＩＣ環境でＩＣを完全に試験する際に、１００個の他の順序回路を繰り返し試験する必要があってよい。更に、このシステムは試験したものと同程度の複雑さの更に１０００個のＩＣを含んでよい。ＩＣ内の１００個の順序回路の試験には、４７４８秒すなわち７９．１分かかる。同様な複雑さの１０００個のＩＣの試験には、７９，１３５分すなわち１，３１９時間すなわち５４．９５日かかる。
【００５０】
上述の説明から見て、単一および多重のＩＣ試験環境において、１１４９．１試験バスによるＩＣ回路への試験アクセス時間を減少させることが望ましい。
【００５１】
本発明は、多重シフト動作を反復する必要なく、試験バスがシリアル試験データを試験中の複数の回路に同時に移送することのできる方法と装置を含む。
【００５２】
【実施例】
本発明は、任意の所望の走査クロック配列を持ち、１１４９．１構造または任意の他の型の連続的な試験構造に用いられるよう設計された制御器を備える。この制御器は境界入力／出力並直列変換回路（ＢＩＯＳ）といい、１回の１１４９．１データレジスタ走査動作中に、ＤＲＥＧが順序回路または組合せ回路の境界と試験パターンをより効率的に授受できるように、必要な内部タイミングと制御を提供する。ＢＩＯＳの利点は、多重１１４９．１データレジスタ走査動作を用いて繰り返し反復して回路を試験する必要をなくすことである。
【００５３】
図８の例示の実施態様に、１１４９．１構造に用いるＢＩＯＳを示す。ＢＩＯＳはＴＤＩ１０２、制御バス１０８、制御バス１１０から入力を受ける。ＢＩＯＳは制御を制御バス１２６を経てＤＲＥＧに、また直列データをマルチプレクサＭＵＸ１とＭＵＸ２を経てＴＤＯ１１６に出力する。ＤＲＥＧを選択するのと同じ方法で、命令レジスタは制御バス１１０を経てＢＩＯＳを選択し、データをＴＤＩ入力からＴＤＯ出力にシフトする。選択すると、試験バス制御器はＴＭＳとＴＣＫを経てＴＡＰに制御を入力し、データレジスタ走査動作中にＴＡＰは制御をバス１０８に出力して、データをＢＩＯＳにシフトインしまたＢＩＯＳからシフトアウトする。ＢＩＯＳにシフトインしたデータはＤＲＥＧに結合する特定の回路を試験するようＢＩＯＳをプログラムするので、１個のＢＩＯＳを用いて１１４９．１試験構造内の任意のＤＲＥＧに出入りする試験パターンを直列化することができる。特定のＤＲＥＧおよび結合する回路を試験するようにＢＩＯＳをプログラムした後、命令レジスタに他の命令を走査して入れると、ＢＩＯＳは次のデータレジスタ走査動作中に試験を実行することができる。
【００５４】
ＢＩＯＳが使用禁止になると、ＴＡＰ制御バス入力１０８とＢＩＯＳ制御バス出力１２６とが接続されて、上に述べたように標準１１４９．１データレジスタ走査動作を用いて、ＴＡＰはＤＲＥＧに直接アクセスすることができる。ＢＩＯＳが使用可能になると、ＢＩＯＳの内部制御器はデータレジスタ走査動作中にＴＡＰの制御に同期して、選択されたＤＲＥＧに制御バス１２６を経て制御を出力し、ＤＲＥＧに出入りするデータを直列化する。
【００５５】
図９は、ＢＩＯＳの例示の一実施態様を示す。ＢＩＯＳはプログラマブルＩ／Ｏ制御器と、制御バスマルチプレクサ９０１と、一連のシフトレジスタ部９０３と、それぞれのシフトレジスタ部に関連する一連のカウンタ９０５を備える。
【００５６】
プログラマプルＩ／Ｏ制御器は、特定のＤＲＥＧおよび関連する回路に与えられるシリアル試験を制御する状態機械である。以下の説明でこの技術に精通した人に明らかになるように、プログラマブルＩ／Ｏ制御器の機能を実行できる適当な状態機械は、従来の市販のディジタル論理マクロを用いて設計することができる。プログラマブルＩ／Ｏ制御器は、プログラミング入力をコマンドシフトレジスタから、開始カウント完了（ｓｔａｒｔｃｃ）入力をｓｔａｒｔｃｎｔカウンタから、シフトカウント完了（ｓｈｉｆｔｃｃ）入力をｓｈｉｆｔｃｎｔカウンタから、待ちカウント完了（ｗａｉｔｃｃ）入力をｗａｉｔｃｎｔカウンタから、制御カウント完了（ｃｔｌｃｃ）入力をｃｔｌｃｎｔカウンタから、試験パターンサイクルカウント完了（ｔｐｃｃｃ）信号を試験パターンサイクルカウンタ（ｔｐｃｃｎｔ）から、タイミングおよび制御入力をＴＡＰ制御バス１０８から、制御入力を命令制御バス１１０から、受ける。プログラマブルＩ／Ｏ制御器は、試験制御をバス１２１を経て制御バスマルチプレクサへ、ロード開始（ｌｄｓｔａｒｔ）カウンタ信号と減分開始（ｄｅｃｓｔａｒｔ）カウンタ信号をｓｔａｒｔｃｎｔカウンタへ、ロードシフト（ｌｄｓｈｉｆｔ）カウンタ信号と減分シフト（ｄｅｃｓｈｉｆｔ）カウンタ信号をｓｈｉｆｔｃｎｔカウンタへ、ロード待ち（ｌｄｗａｉｔ）カウンタ信号と減分待ち（ｄｅｃｗａｉｔ）カウンタ信号をｗａｉｔｃｎｔカウンタへ、ロード制御（ｌｄｃｔｌ）カウンタ信号と減分制御（ｄｅｃｃｔｌ）カウンタ信号をｃｔｌｃｎｔカウンタへ、ロード試験パターンサイクル（ｌｄｔｐｃ）カウンタ信号と減分試験パターンサイクル（ｄｅｃｔｐｓ）カウンタ信号をｔｐｃｃｎｔカウンタへ、出力する。
【００５７】
制御バスマルチプレクサ９０１は、バス１２６を経て制御をＤＲＥＧに出力し、ＢＩＯＳ制御バス１２１と、ＴＡＰ制御バス１０８と、命令レジスタバス１１０からのバス選択入力とを受ける。ｓｔａｒｔｃｎｔカウンタはｓｔａｒｔｃｃ信号をプログラマブルＩ／Ｏ制御器に出力し、データ入力をｓｔａｒｔｃｎｔシフトレジスタから、ｌｄｓｔａｒｔおよびｄｅｃｓｔａｒｔカウント信号をプログラマブルＩ／Ｏ制御器から、ロード制御入力をＴＡＰ制御バス１０８から、受ける。ｓｈｉｆｔｃｎｔカウンタはｓｈｉｆｔｃｃ信号をプログラマブルＩ／Ｏ制御器に出力し、データ入力をｓｈｉｆｔｃｎｔシフトレジスタから、ｄｅｃｓｈｉｆｔカウントおよびｌｄｓｈｉｆｔカウント信号をプログラマブルＩ／Ｏ制御器から、ロード制御入力をＴＡＰ制御バス１０８から、受ける。ｗａｉｔｃｎｔカウンタはｗａｉｔｃｃ信号をプログラマブルＩ／Ｏ制御器に出力し、データ入力をｗａｉｔｃｎｔシフトレジスタから、ｄｅｃｗａｉｔカウントおよびｌｄｗａｉｔカウント信号をプログラマブルＩ／Ｏ制御器から、ロード制御入力をＴＡＰ制御バス１０８から、受ける。ｃｔｌｃｎｔカウンタはｃｔｌｃｃ信号をプログラマブルＩ／Ｏ制御器に出力し、データ入力をｃｔｌｃｎｔシフトレジスタから、ｄｅｃｃｔｌカウントおよびｌｄｃｔｌカウント信号をプログラマブルＩ／Ｏ制御器から、ロード制御入力をＴＡＰ制御バス１０８から、受ける。ｔｐｃｃｎｔカウンタはｔｐｃｃｃ信号をプログラマブルＩ／Ｏ制御器に出力し、データ入力をｔｐｃｃｎｔシフトレジスタから、ｌｄｔｐｃカウントおよびｄｅｃｔｐｃカウント信号をプログラマブルＩ／Ｏ制御器から、ロード制御入力をＴＡＰ制御バス１０８から、受ける。
【００５８】
コマンドシフトレジスタは制御データをプログラマブルＩ／Ｏ制御器に、直列データをｓｔａｒｔｃｎｔシフトレジスタに出力する。コマンドシフトレジスタはシフト制御入力をＴＡＰ制御バス１０８から、直列データ入力をＴＤＩ１０２から、シフト可能入力を命令レジスタ制御バス１１０から、受ける。ｓｔａｒｔｃｎｔシフトレジスタはカウントデータをｓｔａｒｔｃｎｔカウンタに、直列データをｓｈｉｆｔｃｎｔシフトレジスタに出力する。ｓｔａｒｔｃｎｔシフトレジスタはシフト制御入力をＴＡＰ制御バス１０８から、直列データ入力をコマンドシフトレジスタから、シフト可能入力を命令レジスタ制御バス１１０から、受ける。ｓｈｉｆｔｃｎｔシフトレジスタはカウントデータをｓｈｉｆｔｃｎｔカウンタに、直列データをｗａｉｔｃｎｔシフトレジスタに出力する。ｓｈｉｆｔｃｎｔシフトレジスタはシフト制御入力をＴＡＰ制御バス１０８から、直列データ入力をｓｔａｒｔｃｎｔシフトレジスタから、シフト可能入力を命令レジスタ制御バス１１０から、受ける。ｗａｉｔｃｎｔシフトレジスタはカウントデータをｗａｉｔｃｎｔカウンタに、直列データをｃｔｌｃｎｔシフトレジスタに出力する。ｗａｉｔｃｎｔシフトレジスタはシフト制御入力をＴＡＰ制御バス１０８から、直列データ入力をｓｈｉｆｔｃｎｔシフトレジスタから、シフト可能入力を命令レジスタ制御バス１１０から、受ける。ｃｔｌｃｎｔシフトレジスタはカウントデータをｃｔｌｃｎｔカウンタに、直列データをｔｐｃｃｎｔシフトレジスタに出力する。ｃｔｌｃｎｔシフトレジスタはシフト制御入力をＴＡＰ制御バス１０８から、直列データ入力をｗａｉｔｃｎｔシフトレジスタから、シフト可能入力を命令レジスタ制御バス１１０から、受ける。ｔｐｃｃｎｔシフトレジスタはカウントデータをｔｐｃｃｎｔカウンタに、直列データをＴＤＯ出力に出力する。ｔｐｃｃｎｔシフトレジスタはシフト制御入力をＴＡＰ制御バス１０８から、直列データ入力をｃｔｌｃｎｔシフトレジスタから、シフト可能入力を命令レジスタ制御バス１１０から、受ける。
【００５９】
制御バスマルチプレクサ９０１は、ＴＡＰ制御バス１０８とＢＩＯＳ制御バス１２１のどちらがＤＲＥＧへの出力かを選択する。前に述べたように、試験をＴＡＰで行うときは、命令レジスタ制御バス１１０はＴＡＰ制御バス１０８を選択して、制御バスマルチプレクサからバス１２６を経て出力する。試験をＢＩＯＳで行うときは、命令レジスタ制御バス１１０はＢＩＯＳ制御バス１２１を選択して、制御バスマルチプレクサからバス１２６を経て出力する。
【００６０】
データレジスタ走査動作を経てシフトレジスタ９０３にデータをロードした後、コマンドシフトレジスタ部にあるデータをプログラマブルＩ／Ｏ制御器にロードしてよく、またＴＡＰをＵＰＤＡＴＥＤＲ状態に入れることにより、残りのシフトレジスタ部にあるデータを対応するカウンタにロードしてよい。その後で命令を命令レジスタにシフトインすると、プログラマブルＩ／Ｏ制御器は試験を実行することができる。命令レジスタからの使用可能入力が来ると、プログラマブルＩ／Ｏ制御器は準備を行い、ＴＡＰがＳＨＩＦＴＤＲ状態に入るといつでも試験を開始することができる。
【００６１】
コマンドシフトレジスタは、ＤＲＥＧを境界とする組合せ回路または順序回路（図１９の状態線図を参照）を試験するために、プログラマブルＩ／Ｏ制御器をプログラムすなわち構成するのに用いる。順序回路の試験では、プログラミング入力は、順序回路を試験するのに必要な特定の型の制御入力になるようにＢＩＯＳ制御バスを適応させる。例えば、順序回路がＲＡＭメモリであれば、プログラミング入力は、メモリ読取りおよび／または書込みサイクル動作を実行するのに必要な制御信号（チップ選択、読取りストローブ、書込みストローブ）として動作するようにバス１２１のＢＩＯＳからの出力制御を適応させる。順序回路が単一クロック入力を持つ簡単な状態機械であれば、プログラミング入力は、簡単なクロック機能を実行するようにＢＩＯＳからの出力制御を適応させる。順序回路が内部マイクロコード命令サイクルを実行する多重クロックおよび制御入力シーケンスを必要とする複雑なマイクロプロセッサであれば、プログラミング入力は、複雑なクロックおよび制御機能を実行するようにＢＩＯＳからの出力制御を適応させる。ＢＩＯＳからのプログラムされた出力制御機能は、ＴＡＰがＳＨＩＦＴＤＲ状態にある間はＴＣＫバスサイクルでタイミングをとる。
【００６２】
図２２において、マルチプレクサ２２０１は、順序回路への制御入力が通常の機能制御回路２００３から来るかＢＩＯＳ制御バス１２６から来るかを選択する。マルチプレクサ２２０１を切り換える制御は、命令レジスタＩＲＥＧからの選択制御信号から来る。
【００６３】
図２３において、通常の機能制御回路２３０１はＢＩＯＳ制御機能を内蔵した設計になってる。通常の動作中は、順序回路制御入力は回路２３０１の通常の制御機能によって駆動される。試験動作中は、命令レジスタＩＲＥＧからのＢＩＯＳモード制御信号は回路２３０１をＢＩＯＳモードに切り換え、内蔵のＢＩＯＳ制御機能を選択し、順序回路の制御入力を駆動する。
【００６４】
ｓｔａｒｔｃｎｔカウンタは、ＴＡＰがＳＨＩＦＴＤＲ状態にあるときに、試験動作の開始を所定のデータシフトサイクル数だけ遅らせるのに用いる。ｓｔａｒｔｃｎｔカウンタが最小カウントでなければ、プログラマブルＩ／Ｏ制御器にｓｔａｒｔｃｃ信号が来ない。ｓｔａｒｔｃｃ信号が来ず、かつＴＡＰがＳＨＩＦＴＤＲ状態にあれば、プログラマブルＩ／Ｏ制御器はｓｔａｒｃｃ信号を受けるまでＴＣＫバスサイクル毎にｓｔａｒｔｃｎｔカウンタを減分する。ｓｔａｒｔｃｃ信号が来ると、プログラマブルＩ／Ｏ制御器はバス１２６に制御を出力して、選択されたＤＲＥＧのＤＩＳＲに試験バス制御器からＴＤＩ入力への直列データ入力をシフトインすることにより、試験を開始する（図２０の２００１と２００３を参照）。
【００６５】
試験を遅らせることが必要な理由は、試験バス制御器からの直列データ出力がターゲットＩＣより前の各ＩＣ内のシフトレジスタビットを通る時間を与えるためである。図７の多重ＩＣ環境では、試験バス制御器からの直列データは、ターゲットＩＣ（Ｔ）に入力する前にＩＣ１−Ｎを通らなければならない。各ＩＣ１−Ｎが１ビットであればｓｔａｒｔｃｎｔをＮカウントに設定し、試験バス制御器から直列データが到着するまで試験を延期する。試験バス制御器とターゲットＩＣの間にＩＣがなければ（図４）、ｓｔａｒｔｃｎｔをカウント完了条件（ｓｔａｒｔｃｃ）に設定して、直ちに試験を開始する。
【００６６】
試験動作の開始を遅らせる方法としてカウンタを示したが、他の方法も用いられる。例えば、特有の直列データパケットまたはヘッダを試験バス制御器から送って、ターゲットＩＣが受けると試験を開始するようにすることができる。別の方法として、ターゲットＩＣのＴＡＰがＳＨＩＦＴＤＲ状態からＰＡＵＳＥＤＲ状態に移った後初めてＳＨＩＦＴＤＲ状態に戻ると、試験バス制御器は試験の開始を指示する。これらの開始方法は、上に述べた米国出願番号８６３，５１７に記述されている。
【００６７】
ｓｈｉｆｔｃｎｔカウンタは、所定数の直列データビットをＤＲＥＧのＤＩＳＲ部に入力するのに用いられる。ｓｈｉｆｔｃｎｔシフトレジスタからｓｈｉｆｔｃｎｔカウンタにロードするカウントは、選択されたＤＩＳＲのビット長に等しい。シフトイン動作が始まると、１ビットをＤＩＳＲにシフトインする度にｓｈｉｆｔｃｎｔを減分する。最後のビットをＤＩＳＲにシフトインすると、ｓｈｉｆｔｃｎｔカウンタはプログラマブルＩ／Ｏ制御器にｓｈｉｆｔｃｃ信号を出力して、ＤＩＳＲが一杯になったことを知らせる。するとプログラマブルＩ／Ｏ制御器は、次のＤＩＳＲシフトイン動作のためにｓｈｉｆｔｃｎｔカウンタに再ロードするよう、ｌｄｓｈｉｆｔ信号の制御を出力する。ｓｈｉｆｔｃｎｔカウンタへの再ロードに加えて、プログラマブルＩ／Ｏ制御器が制御をＤＩＳＲに出力すると、ＤＩＳＲにシフトイン済みの試験データパターンは、試験する回路に並列に入力される。これも更新動作と呼ばれる（図２０の２００５、２００７、２００９を参照）。
【００６８】
試験する回路が組合せ回路であれば、プログラマブルＩ／Ｏ制御器は入力試験パターン更新動作に続いて更に制御段階を出力し、（１）組合せ回路からの並列出力応答データをＤＯＳＲに捕獲し、（２）ＤＯＳＲは捕獲した応答データを、ＴＤＯ出力を経て試験バス制御器にシフトアウトする。
【００６９】
試験する回路が順序回路であれば、プログラマブルＩ／Ｏ制御器は入力試験パターン更新動作に続いて更に制御段階を出力し、（Ｉ）順序回路に制御を入力して、ＤＩＳＲからの入力試験パターンに応答させ、（２）順序回路からの並列出力応答データをＤＯＳＲに捕獲し、（３）ＤＯＳＲは応答データを、ＴＤＯ出力を経て試験バス制御器にシフトアウトする。
【００７０】
このようにして、ｓｈｉｆｔｃｎｔカウンタとプログラマブルＩ／Ｏ制御器は自律的に動作して、組合せ回路または順序回路を試験するのに必要な制御を行う。試験を実施している間は、１１４９．１ＴＡＰ制御器はＳＨＩＦＴＤＲ状態のままであり、データを連続して回路にシフトインおよびシフトアウトする。ＴＡＰがＳＨＩＦＴＤＲ状態からＰＡＵＳＥＤＲ状態に移ると、ＴＡＰがＰＡＵＳＥＤＲ状態から再びＳＨＩＦＴＤＲ状態に戻るまで試験を中断する（図２を参照）。ＢＩＯＳが試験を制御するので、ＴＡＰは試験を実施するために多重データレジスタ走査動作状態を循環する必要はなくなる。従って試験中のＴＡＰの役目は、試験を開始し、データをシフトインおよびシフトアウトし、試験を停止することだけになる。
【００７１】
ｗａｉｔｃｎｔカウンタは、所定数の直列シフト動作の間、ＤＲＥＧのＤＩＳＲへのデータのシフトインを中断させるのに用いる。ｗａｉｔｃｎｔシフトレジスタからｗａｉｔｃｎｔカウンタにロードするカウントは、中断するシフト動作数に等しい。あるＤＲＥＧの応用では、ＤＩＳＲビット長はＤＯＳＲビット長より小さい。このような場合は、ｗａｉｔｃｎｔカウンタはＤＩＳＲを待ち状態にして、直列の入力および出力動作のビット長を合わせる。待ち状態中は、ＤＩＳＲは直列ビットをシフトインしない。試験バス制御器は所定の間隔でダミーの待ち状態入力ビットをシリアル試験入力ビットストリーム中に挿入するので、ＤＩＳＲが待ち状態に入っても、真の試験データビットは失われない。
【００７２】
ｗａｉｔｃｎｔカウンタからのｗａｉｔｃｃ信号は、プログラマブルＩ／Ｏ制御器がｓｈｉｆｔｃｎｔカウンタからｓｈｉｆｔｃｃ信号を受ける度に点検される。ｗａｉｔｃｃ信号を受ける（つまり待つ必要がないことを示す）と、プログラマブルＩ／Ｏ制御器は試験データをＤＩＳＲに引き続きシフトインする（図２０の２００７と２０１１を参照）。しかしｗａｉｔｃｃ信号が来ないときは、ｗａｉｔｃｃ信号が来るときに示す最小値にｗａｉｔｃｎｔカウンタ内の待ちカウントが達するまで、プログラマブルＩ／Ｏ制御器はＤＩＳＲへのシフトイン動作を中断する（図２０の２０１３と２０１５を参照）。プログラマブルＩ／Ｏ制御器は、ＴＣＫバスサイクル毎にｗａｉｔｃｎｔを減分する。ｗａｉｔｃｃ信号を受けると、プログラマブルＩ／Ｏ制御器はｓｈｉｆｔｃｎｔカウンタとｗａｉｔｃｎｔカウンタに再ロードして、ＤＩＳＲへの次のシフトイン動作を再開する（図２０の２０１７と２０１１を参照）。
【００７３】
ｃｔｌｃｎｔカウンタは、所定数のＴＣＫバスサイクルの間、順序回路に試験制御を入力するのに用いられる。ｃｔｌｃｎｔシフトレジスタからｃｔｌｃｎｔカウンタにロードするカウントは、順序回路への制御入力を発生するのに必要なＴＣＫバスサイクル数に等しい。制御入力が入ると、順序回路はＤＩＳＲからの試験データ入力に応答して応答データをＤＯＳＲに出力し、捕獲して点検のためにシフトアウトする。
【００７４】
ｃｔｌｃｎｔカウンタからのｃｔｌｃｃ信号は、プログラマブルＩ／Ｏ制御器がｓｈｉｆｔｃｎｔカウンタからｓｈｉｆｔｃｃ信号を受ける度に点検される（図２１の２１０５、２１０９、２１１９、２１２１、２１２３を参照）。ｃｔｌｃｃ信号を受ける（制御が必要でなく、また試験中の回路は組合せ回路であることを示す）と、プログラマブルＩ／Ｏ制御器は制御を出力せず、次の入力サイクルを続ける、すなわちＤＩＳＲに試験データをシフトインする。しかしｃｔｌｃｃ信号が来ないときは、試験中の回路は順序回路であって、プログラマブルＩ／Ｏ制御器は順序回路への制御の出力を開始し、同時に次の入力サイクルを開始する、すなわちＤＩＳＲに試験データをシフトインする。
【００７５】
ｃｔｌｃｃ信号が来るときに示す最小値にｃｔｌｃｎｔカウンタが達するまで、プログラマブルＩ／Ｏ制御器は制御を出力する。プログラマブルＩ／Ｏ制御器は、ＴＣＫバスサイクル毎にｃｔｌｃｎｔカウンタを減分する。ｃｔｌｃｃ信号を受けると、プログラマブルＩ／Ｏ制御器は順序回路に制御を出力することを停止し、ｃｔｌｃｎｔシフトレジスタ内のカウントをｃｔｌｃｎｔカウンタ内に再ロードする制御を出力し（図２１の２１２５を参照）、これを次の試験パターンを順序回路に入力するのに用いる。順序回路への制御入力を発生するのに必要なＴＣＫバスサイクル数が次の入力試験パターンをシフトインするのに必要なＴＣＫバスサイクル数を超えると、ｗａｉｔｃｎｔカウンタで説明したように、ＢＩＯＳは待ち状態を利用する。
【００７６】
ｔｐｃｃｎｔカウンタは、所定の試験パターン数がＤＩＳＲとＤＯＳＲを経て、試験する回路に入力しまた回路から出力した後、ＢＩＯＳで制御する試験動作を終了するのに用いる。ｓｈｉｆｔｃｎｔカウンタで説明したように、プログラマブルＩ／Ｏ制御器は、各試験パターンサイクルの終わりにＤＯＳＲへの捕獲段階を実施したとき、ｔｐｃｃｎｔカウンタからのｔｐｃｃｃ信号を点検する（図２０の２００５、２００９、２０１９を参照）。ｔｐｃｃｎｔカウンタが最小カウントでなければ、プログラマブルＩ／Ｏ制御器にｔｐｃｃｃ信号が来ない。ｔｐｃｃｃ信号が来ないときは、プログラマブルＩ／Ｏ制御器はｄｅｃｔｐｃ信号に制御を出力し、ｔｐｃｃｎｔカウンタ内のカウントを減分し、次の試験パターン入力／出力サイクルの段階を引き続き実施する（２００５と２００７を参照）。
【００７７】
ｔｐｃｃｎｔカウンタが最小であれば、プログラマブルＩ／Ｏ制御器はｔｐｃｃｃ信号を受ける。ｔｐｃｃｃ信号を受けると、プログラマブルＩ／Ｏ制御器は制御を出力して、（１）捕獲段階中に回路の出力からＤＯＳＲにロードした最後の出力パターンを、任意の中間シフト段階（例えば、図７のＩＣ１−ＭのバイパスＤＲＥＧ）を通してＴＤＯ出力にシフトアウトして試験バス制御器に入力し（２００５、２０１９、１０２７）、（２）ＤＩＳＲへのその後のシフトイン動作を全て禁止し（２０２９）、（３）その後の更新（ＵＰ）、制御（ＣＴ）、捕獲（ＣＰ）段階を全て禁止する。更に、最後の出力パターンヒットがＤＯＳＲからシフトアウトすると、試験バス制御器が最後の出力パターンを受けるまでＤＯＳＲは固定した論理レベルのビットをＴＤＯ出力に出力し（２０３１）、ＴＡＰをＳＨＩＦＴＤＲ状態からＥＸＩＴ１ＤＲとＵＰＤＡＴＥＤＲ状態を経てＲＴ／ＩＤＬＥ状態に出し（２０３３、２０３５）、試験バス制御器はデータレジスタ走査動作を終了する。
【００７８】
試験バス制御器によってＴＡＰが同じＢＩＯＳで制御する試験動作を繰り返すと、各カウンタは再びロードされ、ＴＡＰがＳＨＩＦＴＤＲ状態に入るとプログラマブルＩ／Ｏ制御器は試験を開始する準備ができて、ｓｔａｒｔｃｎｔはｓｔａｒｔｃｃ信号を出力する。
【００７９】
コマンドレジスタから制御入力を送ると、プログラマブルＩ／Ｏ制御器はｔｐｃｃｎｔからのｔｐｃｃｃ入力を無視して、試験バス制御器がＳＨＩＦＴＤＲ状態でデータレジスタ走査動作を続けている限り、試験パターン入力／出力サイクルを続けることができる。
【００８０】
組合せ回路に結合するＤＲＥＧには、３ケースのＢＩＯＳ試験がある。すなわち（１）ＤＩＳＲの長さ＝ＤＯＳＲの長さ、（２）ＤＩＳＲの長さ＞ＤＯＳＲの長さ、（３）ＤＩＳＲの長さ＜ＤＯＳＲの長さ、である。どのケースでも、ＢＩＯＳは図示のようにＤＩＳＲとＤＯＳＲに制御を入力する。
【００８１】
ケース１を図１０ａに示す。これはＤＩＳＲとＤＯＳＲの長さが丁度等しい場合に起こる。図１０ａにおいて、ＤＩＳＲとＤＯＳＲは共に４ビット長である。試験動作中は、ＢＩＯＳはシフトインおよび更新（ＵＰ）制御をＤＩＳＲに、捕獲（ＣＰ）およびシフトアウト制御をＤＯＳＲに入力し、ＴＡＰはＳＨＩＦＴＤＲ状態にある。この試験は次の段階を繰り返す。すなわち（１）４ビットの試験パターンを試験バス制御器からＤＩＳＲにシフトし、（２）４ビットの試験パターンを更新して組合せ回路に入力し、（３）４ビットの出力応答を組合せ回路からＤＯＳＲに捕獲し、（４）捕獲した４ビットの応答パターンを処理のために試験バス制御器にシフトアウトする。
【００８２】
ＢＩＯＳからＤＩＳＲへの更新制御入力は、最後のシリアル試験ビット（ビット１）をＤＩＳＲにシフトするＴＣＫバスサイクルの次のＴＣＫバスサイクル中に起こる。ＢＩＯＳからＤＯＳＲへの捕獲制御入力は、更新ＴＣＫバスサイクルの次のＴＣＫバスサイクルで起こる。４ビットの応答パターンのシフトアウト動作は捕獲ＴＣＫバスサイクルに続いて開始され、次の捕獲ＴＣＫバスサイクルまで続く。ＤＩＳＲとＤＯＳＲは同じ長さなので、入力／出力直列化動作では待ち状態やダミー直列ビットは必要ない。
【００８３】
ケース２を図１０ｂに示す。これはＤＩＳＲの長さがＤＯＳＲの長さより大きいときに起こる。図１０ｂにおいて、ＤＩＳＲは４ビット長で、ＤＯＳＲは２ビット長である。試験はケース１で述べたのと同じ方法で行われ、次の段階を繰り返す。すなわち、（１）４ビットの試験パターンを試験バス制御器からＤＩＳＲにシフトし、（２）４ビットの試験パターンを更新して組合せ回路に入力し、（３）２ビットの出力応答を組合せ回路からＤＯＳＲに捕獲し、（４）捕獲した２ビットの応答パターンに、固定した論理レベル入力からＤＯＳＲの直列入力へとＤＯＳＲにシフトした２ビットのダミー応答パターン（Ｘ）を加えたものをシフトアウトする。２ビットの応答パターンをＤＯＳＲからシフトアウトするとき、固定したダミービット（Ｘ）を２ビットの応答パターンのすぐ後で２ビットのＤＯＳＲにシフトインし、試験バス制御器にシフトアウトする。試験バス制御器は直列の２ビットの応答パターンと２ビットのダミーパターンを受け、２ビットの応答パターンを受けた後ダミービットを除いて、２ビットの応答パターンだけを処理する。
【００８４】
ＢＩＯＳからＤＩＳＲへの更新制御入力は、最後のシリアル試験ビット（ビット１）をＤＩＳＲにシフトするＴＣＫバスサイクルの次のＴＣＫバスサイクル中に起こる。ＢＩＯＳからＤＯＳＲへの捕獲制御入力は、更新ＴＣＫバスサイクルの次のＴＣＫバスサイクルで起こる。２ビットの応答パターンに２ビットのダミーパターンを加えたもののシフトアウト動作は捕獲ＴＣＫバスサイクルに続いて開始され、次の捕獲ＴＣＫバスサイクルまで続く。
【００８５】
ケース３を図１０ｃに示す。これはＤＩＳＲの長さがＤＯＳＲの長さより小さいときに起こる。図１０ｃにおいて、ＤＩＳＲは２ビット長で、ＤＯＳＲは４ビット長である。試験はケース１で述べたのと同じ方法で行われるが、異なるところは、ＢＩＯＳがＤＩＳＲに更に制御を入力して、シフトイン動作中に待ち状態を与えることである。ケース３の試験は次の段階を繰り返す。すなわち、（１）２ビットの試験パターンを試験バス制御器からＤＩＳＲにシフトし、（２）ＤＩＳＲへのシフトイン動作を２待ち状態すなわちＴＣＫバスサイクルの間中止し、（３）２ビットの試験パターンを更新してこれを組合せ回路に入力し、（４）４ビットの出力応答を組合せ回路からＤＯＳＲに捕獲し、（５）捕獲した４ビットの応答パターンを処理のために試験バス制御器にシフトアウトする。待ち状態はダミービット（Ｘ）で表される。これは試験バス制御器が挿入するが、上の段階（２）中はＢＩＯＳは無視する。また段階（１）と（２）を逆にして、２ビットの試験パターンをＤＩＳＲにシフトする前に待ち状態（すなわちダミービット）を設けてよいことは明かである。この場合、ＤＩＳＲのシフトイン動作は全く中止する必要はない。その理由は、ダミービットは試験パターンより先にＤＩＳＲを通してシフトするからである。更新動作の前に試験パターンをＤＩＳＲに正しく配置する限り、待ち状態／ダミービットは任意の所望の方法で実現してよい。
【００８６】
ＢＩＯＳからＤＩＳＲへの更新制御入力は、第２の待ち状態に続くＴＣＫバスサイクル中に起こる。ＢＩＯＳからＤＯＳＲへの捕獲制御入力は、更新ＴＣＫバスサイクルに続くＴＣＫバスサイクルで起こる。４ビットの応答パターンのシフトアウト動作は捕獲ＴＣＫバスサイクルに続いて開始され、次の捕獲ＴＣＫバスサイクルまで続く。２待ち状態を含めることにより、ＤＩＳＲにシフトインするデータとＤＯＳＲからシフトアウトするデータは同じ長さに見えるようになる。試験バス制御器は２個のダミービット（Ｘ）を２ビットの入力パターンの後に挿入するので、次の入力パターンは失われず、２待ち状態に続いてシフト動作を再開するとＤＩＳＲにシフトインすることができる。
【００８７】
組合せ回路を試験する３ケースでは、ＤＯＳＲが並列ロード、直列出力型の回路の場合を示した。必要であれば、ＤＯＳＲを並列入力署名分析レジスタ（ＰＳＡＲ）として動作させ、図１０ｄに示すように、組合せ回路からの並列データ出力の署名をとることができる。試験データを簡潔にするためにＰＳＡＲを用いることは、試験の方法に精通した人にはよく知られている。
【００８８】
ＤＯＳＲがＰＳＡＲとして動作する必要があれば、図９のＢＩＯＳのコマンドレジスタにプログラミング制御をロードして、選択されたＤＲＥＧのＤＯＳＲがＰＳＡＲとして働くように修正する。プログラミング制御は、制御マルチプレクサ９０１とプログラマブルＩ／Ｏ制御器バス１２１を経て、制御バス１２６によりＤＯＳＲに入力される。またＤＯＳＲには、既知の種すなわち試験を実施する前の初期値をロードする。
【００８９】
ＤＯＳＲがＰＳＡＲとして動作するときは、図１０ｄに示すように、更新制御入力（ＵＰ）に続いてＢＩＯＳからＤＯＳＲへの捕獲制御入力（ＣＰ）が与えられる。捕獲入力毎にＰＳＡＲにＰＳＡＲクロックを発生して、ＰＳＡＲ内の前の値と共に組合せ回路出力から受ける並列データを圧縮する。
【００９０】
ＰＳＡＲとして動作するとき、ＤＯＳＲは捕獲入力の後でデータをＴＤＯピンからシフトアウトしない。試験が終わると試験バス制御器は命令を入力し、点検のために試験署名をＴＤＯ出力を経てＤＯＳＲからシフトアウトする。
【００９１】
ＤＯＳＲを並列入力／直列出力レジスタではなくてＰＳＡＲとして用いる一つの利点はシフトアウト動作を必要としないということで、試験バス制御器の仕事は直列データをＤＩＳＲを経て試験中の回路に入力することだけに減る。ＤＯＳＲをＰＳＡＲとして動作させるもう一つ別の重要な利点は、図１０ｃのケース３（ＤＩＳＲ１＜ＤＯＳＲ１）において、ＤＩＳＲへの入力試験パターンビットストリームに待ち状態を追加する必要がないことである。ＤＯＳＲがデータをシフトアウトしないので待ち状態を除くことができ、従って入力待ち状態は必要でなく、前の入力試験パターンビットストリームの最終ビットにすぐ続いて、次の入力試験パターンビットストリームの第１ビットをＤＩＳＲに入力することができる。待ち状態がなくなると、ケース３型の組合せ回路の試験時間が減る。
【００９２】
これまでの説明では、ＤＩＳＲは、ＴＤＩと試験バス制御器から直列データ入力を受けるシフトレジスタ部と、所定のシフトサイクル数の後でシフトレジスタにシフトインされる試験パターンを受ける更新レジスタ部を持つ。更新レジスタが受ける試験パターンは、並列試験入力パターンとして組合せ回路に入力される。組合せ回路は、試験刺激入力を同時に受けて全ての入力に反応し、全ての出力の応答パターンをＤＯＳＲに出力する。組合せ回路からの応答パターンはＤＯＳＲに捕獲され、点検のためにＴＤＯ出力を経て試験バス制御器にシフトアウトされる。
【００９３】
更新レジスタは必ずしも全ての型の試験に必要ではないが、組合せ回路の伝播遅れを試験する必要がある場合に重要な役割を果たす。更新レジスタがなければ、ＤＩＳＲのシフトレジスタ部に直列ビット入力が入る度に、組合せ回路の入力が変化する。更新レジスタがあると、ＢＩＯＳが更新レジスタを更新するときだけ組合せ回路の入力が変化する。組合せ回路への入力をいつ変えるかを制御することにより、組合せ回路のタイミング感度を試験することのできる決定論的パターンシーケンスを入力することができる。例えば、全てがゼロの論理入力から全てが１の論理入力に同時に入力を変化させると、試験しなければならない重要な伝播遅れタイミング要求を持つ組合せ回路の中の特定の信号復号路を働かすことができる。このパターン入力シーケンスは、更新レジスタがなければ実行することはできない。
【００９４】
ＢＩＯＳは、ＤＩＳＲに更新制御を出力してから１ＴＣＫバスサイクル後にＤＯＳＲに捕獲制御を出力するので、組合せ回路が入力刺激パターンを受けてから出力応答パターンを出力するまでの伝播遅れ時間は、ＴＣＫの周波数を適当に調整することによって試験することができる。
【００９５】
順序回路に結合するＤＲＥＧには、３ケースのＢＩＯＳ試験がある。すなわち（１）ＤＩＳＲの長さ＝ＤＯＳＲの長さ、（２）ＤＩＳＲの長さ＞ＤＯＳＲの長さ、（３）ＤＩＳＲの長さ＜ＤＯＳＲの長さである。どのケースでも、ＢＩＯＳは図示のようにＤＩＳＲと順序回路とＤＯＳＲに制御を入力する。ＢＩＯＳから順序回路への制御入力は、上に図２２−２３の説明で示したように命令レジスタからの制御出力によって順序回路へ通常の機能制御を入力するのではなく、実際は順序回路に結合する。
【００９６】
ケース１を図１１ａに示す。これはＤＩＳＲとＤＯＳＲの長さが丁度等しい場合に起こる。図１１ａにおいて、ＤＩＳＲとＤＯＳＲは共に４ビット長である。試験動作中は、ＢＩＯＳはシフトインおよび更新（ＵＰ）制御をＤＩＳＲに、制御（ＣＴ）入力を順序回路に、捕獲（ＣＰ）およびシフトアウト制御をＤＯＳＲに入力し、ＴＡＰはＳＨＩＦＴＤＲ状態にある。この試験は次の段階を繰り返す。すなわち（１）４ビットの試験パターンを試験バス制御器からＤＩＳＲにシフトし、（２）４ビットの試験パターンを更新して順序回路に入力し、（３）制御を順序回路に入力すると、順序回路はＤＩＳＲからの４ビットの入力パターンに応答して４ビットの応答パターンをＤＯＳＲに出力し、（４）４ビットの出力応答パターンを順序回路からＢＩＯＳＲに捕獲し、（５）捕獲した４ビットの応答パターンを処理のために試験バス制御器にシフトアウトする。
【００９７】
ＢＩＯＳからＤＩＳＲへの更新制御入力は、最後のシリアル試験ビット（ビット１）をＤＩＳＲにシフトするＴＣＫバスサイクルの次のＴＣＫバスサイクル中に起こる。ＢＩＯＳから順序回路への制御入力は、更新ＴＣＫバスサイクルの次のＴＣＫバスサイクルで起こる。ＢＩＯＳからＤＯＳＲへの捕獲制御入力は、逐次制御入力ＴＣＫバスサイクルの次のＴＣＫバスサイクルで起こる。４ビットの応答パターンのシフトアウト動作は捕獲ＴＣＫバスサイクルに続いて開始され、次の捕獲ＴＣＫバスサイクルまで続く。ＤＩＳＲとＤＯＳＲは同じ長さなので、入力／出力直列化動作では、待ち状態やダミー直列ビットは必要ない。
【００９８】
ケース２を図１１ｂに示す。これはＤＩＳＲの長さがＤＯＳＲの長さより大きいときに起こる。図１１ｂにおいて、ＤＩＳＲは４ビット長で、ＤＯＳＲは２ビット長である。試験はケース１で述べたのと同じ方法で行われ、次の段階を繰り返す。すなわち、（１）４ビットの試験パターンを試験バス制御器からＤＩＳＲにシフトし、（２）４ビットの試験パターンを更新して順序回路に入力し、（３）制御を順序回路に入力すると、順序回路はＤＩＳＲからの４ビットの入力パターンに応答して２ビットの応答パターンをＤＯＳＲに出力し、（４）２ビットの出力応答を順序回路からＤＯＳＲに捕獲し、（５）捕獲した２ビットの応答パターンに、固定した論理レベル入力からＤＯＳＲの直列入力へとＤＯＳＲにシフトした２ビットのダミー応答パターン（Ｘ）を加えたものをシフトアウトする。２ビットの応答パターンをＤＯＳＲからシフトアウトするとき、固定したダミービット（Ｘ）を２ビットの応答パターンのすぐ後で２ビットのＤＯＳＲにシフトインし、試験バス制御器にシフトアウトする。試験バス制御器は直列２ビットの応答パターンと２ビットのダミーパターンを受け、２ビットの応答パターンを受けた後ダミービットを除いて、２ビットの応答パターンだけを処理する。
【００９９】
ＢＩＯＳからＤＩＳＲへの更新制御入力は、最後のシリアル試験ビット（ビット１）をＤＩＳＲにシフトするＴＣＫバスサイクルの次のＴＣＫバスサイクル中に起こる。ＢＩＯＳから順序回路への制御入力は、更新ＴＣＫバスサイクルの次のＴＣＫバスサイクルで起こる。ＢＩＯＳからＤＯＳＲへの捕獲制御入力は、逐次制御ＴＣＫバスサイクルに続くＴＣＫバスサイクルで起こる。２ビットの応答パターンに２ビットのダミーパターンを加えたもののシフトアウト動作は捕獲ＴＣＫバスサイクルに続いて開始され、次の捕獲ＴＣＫバスサイクルまで続く。
【０１００】
ケース３を図１１ｃに示す。これはＤＩＳＲの長さがＤＯＳＲの長さより小さいときに起こる。図１１ｃにおいて、ＤＩＳＲは２ビット長で、ＤＯＳＲは４ビット長である。試験はケース１で述べたのと同じ方法で行われるが、異なるところは、ＢＩＯＳがＤＩＳＲに更に制御を入力して、シフトイン動作中に待ち状態を与えることである。ケース３の試験は次の段階を繰り返す。すなわち、（１）２ビットの試験パターンを試験バス制御器からＤＩＳＲにシフトし、（２）ＤＩＳＲへのシフトイン動作を２待ち状態すなわちＴＣＫバスサイクルの間中止し、（３）２ビットの試験パターンを更新してこれを順序回路に入力し、（４）制御を順序回路に入力すると、順序回路はＤＩＳＲからの２ビットの入力パターンに応答して４ビットの応答パターンをＤＯＳＲに出力し、（５）４ビットの出力応答を順序回路からＤＯＳＲに捕獲し、（６）捕獲した４ビットの応答パターンを処理のために試験バス制御器にシフトする。
【０１０１】
ＢＩＯＳからＤＩＳＲへの更新制御入力は、第２の待ち伏態に続くＴＣＫバスサイクル中に起こる。ＢＩＯＳから順序回路への制御入力は、更新ＴＣＫバスサイクルに続くＴＣＫバスサイクルで起こる。ＢＩＯＳからＤＯＳＲへの捕獲制御入力は、逐次制御ＴＣＫバスサイクルに続くＴＣＫバスサイクルで起こる。４ビットの応答パターンのシフトアウト動作は捕獲ＴＣＫバスサイクルに続いて開始され、次の捕獲ＴＣＫバスサイクルまで続く。２待ち状態を含めることにより、ＤＩＳＲにシフトインするデータとＤＯＳＲからシフトアウトするデータは同じ長さに見えるようになる。試験バス制御器は２個のダミービット（Ｘ）を２ビットの入力パターンの後に挿入するので、次の入力パターンは失われず、２待ち状態に続いてシフト動作を再開するとＤＩＳＲにシフトインすることができる。
【０１０２】
順序回路を試験する３ケースでは、ＤＯＳＲが並列ロード、直列出力型の回路の場合を示した。必要であれば、ＤＯＳＲを並列入力署名分析レジスタ（ＰＳＡＲ）として動作させ、図１１ｄに示すように、順序回路からの並列データ出力の署名をとることができる。試験データを簡潔にするためにＰＳＡＲを分析レジスタとして用いることは、試験の方法に精通した人にはよく知られている。
【０１０３】
ＤＯＳＲがＰＳＡＲとして動作する必要があれば、図９のＢＩＯＳのコマンドレジスタにプログラミング制御をロードして、選択されたＤＲＥＧのＤＯＳＲがＰＳＡＲとして働くように修正する。プログラミング制御は、制御マルチプレクサ９０１とプログラマブルＩ／Ｏ制御器バス１２１を経て、制御バス１２６によりＤＯＳＲに入力される。またＤＯＳＲには、既知の種すなわち試験を実施する前の初期値をロードする。
【０１０４】
ＤＯＳＲがＰＳＡＲとして動作するときは、図１１ｄに示すように、制御入力（ＣＴ）に続いてＢＩＯＳからＤＯＳＲへの捕獲制御入力（ＣＰ）が与えられる。捕獲入力毎に、ＰＳＡＲにＰＳＡＲクロックを発生して、ＰＳＡＲ内の前の値と共に順序回路出力から受ける並列データを圧縮する。
【０１０５】
ＰＳＡＲとして動作するとき、ＤＯＳＲは捕獲入力の後でデータをＴＤＯピンからシフトアウトしない。試験が終わると、試験バス制御器は命令を入力し、点検のために試験署名をＴＤＯ出力を経てＤＯＳＲからシフトアウトする。
【０１０６】
ＤＯＳＲを並列入力／直列出力レジスタではなくてＰＳＡＲとして用いる一つの利点はシフトアウト動作を必要としないということで、試験バス制御器の仕事は直列データをＤＩＳＲを経て試験中の回路に入力することだけに減る。ＤＯＳＲをＰＳＡＲとして動作させるもう一つ重要な利点は、図１１ｃのケース３（ＤＩＳＲ１＜ＤＯＳＲ１）において、ＤＩＳＲへの入力試験パターンビットストリームに待ち状態を追加する必要がないことである。ＤＯＳＲがデータをシフトアウトしないので待ち状態を除くことができ、従って入力待ち状態は必要でなく、前の入力試験パターンビットストリームの最終ビットにすぐ続いて、次の入力試験パターンビットストリームの第１ビットをＤＩＳＲに入力することができる。待ち状態がなくなると、ケース３型の順序回路の試験時間が減る。
【０１０７】
ＢＩＯＳは逐次制御出力を完了してから１ＴＣＫバスサイクル後にＤＯＳＲに捕獲制御を出力するので、制御および入力刺激に対する順序回路の伝播遅れ応答時間は、ＴＣＫの周波数を適当に調整することによって試験することができる。
【０１０８】
順序回路の試験では、制御入力に必要なＴＣＫバスサイクル数がＤＩＳＲへまたはＤＯＳＲからデータをシフトするのに必要なＴＣＫバスサイクル数に等しいかまたは超えると、ＢＩＯＳは一つまたは複数の状態を実現する。図１１ｅにおいて、ＢＩＯＳは順序回路に試験入力を供給しまた試験出力を受ける、２ビットのＤＩＳＲと２ビットのＤＯＳＲに関連する。順序回路は、３制御信号ＣＴ１、ＣＴ２、ＣＴ３という制御入力シーケンスを受ける。この制御入力シーケンスは３ＴＣＫバスサイクルを必要とする。２ビットのＤＩＳＲにデータをシフトするには２ＴＣＫバスサイクルしか必要ないので、ＢＩＯＳは３サイクル制御シーケンスの時間のために待ち状態を実現しなければならない。図１１ｅの更新サイクルに３サイクルの制御シーケンスが続き、更にに捕獲サイクルが続く。捕獲サイクルに続く次のＴＣＫサイクルに次の更新サイクルが起こり、捕獲したデータはＤＯＳＲからシフトアウトを開始する。図１１ｅに示すように、制御シーケンスに合わせるために３待ち状態（Ｘ）が挿入される。
【０１０９】
たとえＤＩＳＲから順序回路の入力への新しい入力データが更新されても、制御シーケンスが与えられるまでは試験する順序回路の出力は変わらないということが分かっていれば、制御シーケンスに合わせるために必要な待ち状態の数を減らすことができる。このような場合は、図１１ｆに示すように、更新サイクルと捕獲サイクルを同時に実行することができるので、必要なのは図１１ｅの３待ち状態ではなく、２待ち状態だけである。
【０１１０】
図１２は、ＤＲＥＧと１１４９．１ＴＡＰの間に結合されるＢＩＯＳの詳細図を示す。ＤＲＥＧは、入力データを組合せ回路に与える１６ビットのＤＩＳＲと、データを組合せ回路から受ける１６ビットのＤＯＳＲを備える。使用可能であれば、ＢＩＯＳはＴＡＰから同期化および制御入力を受けて、ＤＲＥＧに制御を出力する。ＢＩＯＳからＤＩＳＲに制御を入力すると、ＤＩＳＲは直列データをＴＤＩ入力からシフトレジスタ部にシフトインし、シフトレジスタ部内のデータを更新レジスタに並列にロードすなわち更新し、組合せ回路入力に与える。ＢＩＯＳからＤＯＳＲに制御を入力すると、ＤＯＳＲは組合せ回路から並列データ出力を捕獲して、捕獲したデータをＴＤＯ出力を経てシフトアウトする。
【０１１１】
組合せ回路での試験動作を開始するため、試験バス制御器はＢＩＯＳをプログラムする。このプログラミングは、データレジスタ走査動作を実行して図９のシフトレジスタにロードし、その後で命令をＩＲＥＧに走査してプログラマブルＩ／Ｏ制御器を使用可能にするこを含む。ＢＩＯＳのプログラミングが終わると、試験バス制御器は制御をＴＡＰに入力してデータレジスタ走査動作を実行する。組合せ回路の試験中にＢＩＯＳとＴＡＰとが共にどのように動作するかの説明の一助として、図１２に試験の動作の流れを示す。上部の流れはデータレジスタ走査動作中のＴＡＰ状態の移動であり（図２を参照）、下部の流れはＴＡＰデータレジスタ走査状態に応答してＢＩＯＳがＤＲＥＧで実行する行動を示す。
【０１１２】
データレジスタ走査動作（ＤＲＳＯ）を開始するため、試験バス制御器によりＴＡＰは例えば、ＲＴ／ＩＤＬＥからＳＥＬＤＲＳへ、ＣＡＰＴＵＲＥＤＲへ、ＳＨＩＦＴＤＲへと遷移して、ＳＨＩＦＴＤＲ状態に入る（図２を参照）。ＴＡＰがＳＨＩＦＴＤＲ状態に入ると、ＢＩＯＳはＤＩＳＲに制御を出力し始め、データをＴＤＩ入力からシフトインし始める。ただし、ＢＩＯＳに試験を開始するよう合図するｓｔａｒｔｃｃ信号も受けると仮定する。第１の１６ビットの入力パターン（ＩＰ１）をＤＩＳＲのシフトレジスタ部にシフトインし終わると、ＢＩＯＳは制御を出力してデータを更新レジスタに並列にロードすなわち更新し（ＵＰ）、組合せ回路に入力する。並列データを更新する行動は、次の１６ビット入力パターン（ＩＰ２）のシフトイン動作を妨げない。
【０１１３】
並列データを更新して組合せ回路に入力した後、ＢＩＯＳが制御を出力すると、ＤＯＳＲは組合せ回路からの第１の１６ビットの並列出力パターン（ＯＰ１）応答を捕獲する（ＣＰ）。出力パターン応答を捕獲した後、ＢＩＯＳは制御を出力して、捕獲したデータをＤＯＳＲからＴＤＯ出力を経てシフトアウトし始める。第１の１６ビット出力パターン（ＯＰ１）をシフトアウト中に、第２の１６ビットの入力パターン（ＩＰ２）をＤＩＳＲにシフトインして更新する。第１の１６ビットの出力パターン（ＯＰ１）のシフトアウトが終わった後、ＢＩＯＳが制御を出力すると、ＤＯＳＲは第２の１６ビットの出力パターン（ＯＰ２）を組合せ回路から捕獲して、シフトアウト動作を続ける。次の１６ビットの出力パターンを捕獲する行動は、ＤＯＳＲのシフトアウト動作を妨げない。
【０１１４】
上の説明から分かるように、ＢＩＯＳは従来の１１４９．１ＴＡＰデータレジスタ走査動作中行っていたＤＩＳＲとＤＯＳＲの動作方法を修正する。ＢＩＯＳが制御を出力すると、ＤＩＳＲは次の段階を繰り返す。すなわち、（１）試験バス制御器からＴＤＩ入力を経て所定数の直列ビットをシフトインし、（２）更新レジスタにシフトインしたパターンを更新し、所定数の直列ビットを受けた後組合せ回路入力に入力するが、これは直列入力ビットの次のパケットを試験バス制御器から受けることを妨げない。ＢＩＯＳが制御をＤＯＳＲに出力すると、ＤＯＳＲは次の段階を繰り返す。すなわち、（１）組合せ回路から出力応答データを並列に捕獲し、（２）捕獲した応答データの所定数の直列ビットをＴＤＯ出力を経て試験バス制御器にシフトアウトする。応答データを捕獲する段階はシフトアウト動作を妨げない。ＢＩＯＳがＤＩＳＲの直列入力および並列出力段階と、ＤＯＳＲの並列捕獲および直列出力段階とを調和させるので、これらは試験中に規則的な予め定められた間隔で行われる。
【０１１５】
最後の入力パターン（ＩＰ５）をＤＩＳＲにシフトインして更新した後、試験バス制御器はデータレジスタ走査動作を所定の時間続け、最後の出力パターン（ＯＰ５）をＤＯＳＲに捕獲してシフトアウトする。最後の出力パターン（ＯＰ５）をＤＯＳＲに捕獲したことをＢＩＯＳが検知すると（すなわち、ｔｐｃｃｃ信号を受けると）、ＤＩＳＲへのその後の直列入力とその後の更新および捕獲段階を禁止する。試験動作の終わりに、ＴＡＰはＳＨＩＦＴＤＲ状態からＥＸＩＴ１ＤＲ状態に遷移して最後の出力パターン（ＯＰ５）の最後のビット（０１）をシフトアウトし、次にＵＰＤＡＴＥＤＲ状態を経てＲＴ／ＩＤＬＥ状態に遷移する。これで試験バス制御器はデータレジスタ走査動作を終了する。
【０１１６】
図１２には示していないが、ＴＡＰがＳＨＩＦＴＤＲ状態からＥＸＩＴ１ＤＲ状態を経てＰＡＵＳＥＤＲ状態に遷移すると、試験データのＤＲＥＧへのシフトインとＤＲＥＧからのシフトアウトは、ＴＡＰがＰＡＵＳＥＤＲ状態にある間は一時的に中断する。データのＤＲＥＧへのシフトインとＤＲＥＧからのシフトアウトは、ＴＡＰがＰＡＵＳＥＤＲ状態からＥＸＩＴ２ＤＲ状態を経てＳＨＩＦＴＤＲ状態に再び遷移すると再開される（図２の線図を参照）。
【０１１７】
組合せ回路の試験を制御するのにＴＡＰではなくてＢＩＯＳを用いる明かな利点は、試験バス制御器はＤＩＳＲを満たすのにシリアル試験データをＩＣのＴＤＩ入力に連続的に送りさえすればよく、ＤＯＳＲを空にするのにシリアル試験データをＩＣのＴＤＯ出力から受けさえすればよい、ということである。ＢＩＯＳは更新および捕獲試験動作を自律的に制御する。
【０１１８】
１１４９．１ＴＡＰおよび多重データレジスタ走査動作を用いて行う組合せ回路の従来の試験では、データをＤＲＥＧにシフトインしＤＲＥＧからシフトアウトすることから、規則的な間隔で多重の状態を通って遷移して入力データを更新し（ＳＨＩＦＴＤＲからＥＸＩＴ１ＤＲへ、ＵＰＤＡＴＥＤＲへ）また組合せ回路から出力データを再び捕獲する（ＵＰＤＡＴＥＤＲからＳＥＬＤＲＳへ、ＣＡＰＴＵＲＥＤＲへ、ＳＨＩＦＴＤＲへ）まで、試験バス制御器を休止する必要がある。
【０１１９】
更に従来の試験では、ＴＡＰデータレジスタ走査動作毎に、各試験パターンを組合せ回路に入力し組合せ回路から出力するためにＤＩＳＲおよびＤＯＳＲの全長を通してデータをシフトしなければならないので、試験アクセス時間は更に増加する。
【０１２０】
式１１は、ＢＩＯＳが所定数の入力パターン（ＩＰ）を入力して組合せ回路を完全に試験するために、ＴＡＰがＳＨＩＦＴＤＲ状態に留まらなければならないＴＣＫバスサイクル数を表し、式１２は必要な試験時間を表す。例示を簡単にするために、データレジスタ走査動作の開始から停止までにＴＡＰが遷移する他の中間状態（すなわち、ＳＥＬＤＲＳ、ＣＡＰＴＵＲＥＤＲ、ＥＸＩＴ１ＤＲ、ＵＰＤＡＴＥＤＲ、ＲＴ／ＩＤＬＥ）には試験中に１回入るだけなので、式１１には用いない。
式１１  ＳＨＩＦＴＤＲ状態でのＴＣＫの数＝ＩＰＸ２１
ただし、Ｉ＝入力パターン（ＩＰ）内のビット数
ＩＰ＝Ｉ＝入力パターンのビット幅
式１２  試験時間＝（Ｅｑ１１）ｘ（１／ＴＣＫ周波数）
【０１２１】
ＢＩＯＳを用いた単一ＩＣの試験環境における組合せ試験時間の計算の基準点を確立するために、多重ＴＡＰデータレジスタ走査動作を用いる従来の組合せ回路の試験において前に用いた同じ仮定を用いる。すなわち、Ｉ＝１６およびＴＣＫ周波数＝１０Ｍｈｚである。組合せ回路を試験するための計算された試験時間は、
試験時間＝（１６ｘ２１６）ｘ（１／１０Ｍｈｚ）＝１０４．９ｍｓ
【０１２２】
ＢＩＯＳにより試験するＩＣの組合せ回路の数が、従来のＴＡＰ制御により試験する組合せ回路の数と同じであると仮定すると、ＢＩＯＳを用いて１００個の組合せ回路を試験する試験時間は１００ｘ１０４．９ｍｓ、すなわち１０．４９秒である。
【０１２３】
図１３はＤＲＥＧと１１４９．１ＴＡＰの間に結合されるＢＩＯＳの詳細図を示す。ＤＲＥＧは順序回路に入力データを与える１６ビットのＤＩＳＲと、順序回路からデータを受ける１６ビットのＤＯＳＲを備える。使用可能であれば、ＢＩＯＳはＴＡＰから同期化および制御入力を受けてＤＲＥＧに制御を出力する。ＢＩＯＳからＤＩＳＲに制御を入力すると、ＤＩＳＲは直列データをＴＤＩ入力からシフトレジスタ部にシフトインし、シフトレジスタ部内のデータを更新レジスタに並列にロードすなわち更新し、順序回路入力に与える。ＢＩＯＳから順序回路に制御を入力すると、順序回路はＤＩＳＲからの入力データに応答してＤＯＳＲに応答データを出力する。ＢＩＯＳからＤＯＳＲに制御を入力すると、ＤＯＳＲは順序回路からの並列データ出力を捕獲して、捕獲したデータをＴＤＯ出力を経てシフトアウトする。
【０１２４】
順序回路での試験動作を開始するため、試験バス制御器はデータレジスタ走査動作によりＢＩＯＳをプログラムする。ＢＩＯＳのプログラムが終わると、試験バス制御器は制御をＴＡＰに入力してデータレジスタ走査動作を実行する。順序回路の試験中にＢＩＯＳとＴＡＰとが共にどのように動作するかの説明の一助として、図１３に試験の動作の流れを示す。上部の流れはデータレジスタ走査動作中のＴＡＰ状態の移動であり（図２を参照）、下部の流れはＴＡＰデータレジスタ走査状態に応答してＢＩＯＳがＤＲＥＧで実行する行動を示す。
【０１２５】
データレジスタ走査動作（ＤＲＳＯ）を開始するため、ＴＡＰはＲＴ／ＩＤＬＥ状態からＳＥＬＤＲＳ状態に遷移し、次にＣＡＰＴＵＲＥＤＲ状態に移り、最後にＳＨＩＦＴＤＲ状態に移る。ＴＡＰがＳＨＩＦＴＤＲ状態に入ると、ＢＩＯＳはＤＩＳＲに制御を出力し始め、データをＴＤＩ入力からシフトインし始める。ただし、ＢＩＯＳに試験を開始するよう合図するｓｔａｒｔｃｃ信号も受けると仮定する。第１の１６ビットの入力パターン（ＩＰ１）をＤＩＳＲのシフトレジスタ部にシフトインし終わると、ＢＩＯＳは制御を出力してデータを更新レジスタに並列にロードすなわち更新し（ＵＰ）、順序回路に入力する。並列データを更新する行動は、次の１６ビットの入力パターン（ＩＰ２）のシフトイン動作を妨げない。
【０１２６】
並列データを更新して順序回路に入力した後、ＢＩＯＳは制御（ＣＴ）を順序回路に出力して１６ビットの入力パターンを処理し、これに応答して１６ビットの出力パターンを出力する。逐次制御入力を順序回路に与えた後、ＢＩＯＳが制御を出力すると、ＤＯＳＲは順序回路からの第１の１６ビットの並列出力パターン（ＯＰ１）応答を捕獲（ＣＰ）する。出力パターン応答を捕獲した後、ＢＩＯＳは制御を出力して、捕獲したデータをＤＯＳＲからＴＤＯ出力を経てシフトアウトし始める。第１の１６ビットの出力パターン（ＯＰ１）をシフトアウト中に、第２の１６ビットの入力パターン（ＩＰ２）をＤＩＳＲにシフトインして更新する。第２の入力パターンを更新して順序回路に入力した後、ＢＩＯＳが逐次制御を出力すると、順序回路は第２の入力パターンを処理して第２の出力パターンを出力する。第１の１６ビットの出力パターン（ＯＰ１）のシフトアウトが終わった後、ＢＩＯＳが制御を出力すると、ＤＯＳＲは第２の１６ビットの出力パターン（ＯＰ２）を順序回路から捕獲して、シフトアウト動作を続ける。
【０１２７】
逐次制御は入力および出力パターンをシフト中に順序回路に入力されるので、どちらのシフト動作も妨げない。また次の１６ビットの出力パターンを捕獲する行動は、ＤＯＳＲのシフトアウト動作を妨げない。
【０１２８】
上の説明から分かるように、ＢＩＯＳは従来の１１４９．１ＴＡＰデータレジスタ走査動作中に行ったＤＩＳＲとＤＯＳＲの動作方法を修正する。ＢＩＯＳが制御を出力すると、ＤＩＳＲは次の段階を繰り返す。すなわち、（１）試験バス制御器からＴＤＩ入力を経て所定数の直列ビットをシフトインし、（２）更新レジスタにシフトインしたパターンを更新し、所定数の直列ビットを受けた後順序回路入力に入力するが、これは直列入力ビットの次のパケットを試験バス制御器から受けることを妨げない。ＤＩＳＲが入力パターンを順序回路に入力した後、ＢＩＯＳが制御を出力すると、順序回路は入力パターンに反応して出力パターンを出力する。逐次制御を与えた後、ＢＩＯＳが制御をＤＯＳＲに出力すると、ＤＯＳＲは次の段階を繰り返す。すなわち、（１）順序回路から出力応答データを並列に捕獲し、（２）捕獲した応答データの所定数の直列ビットをＴＤＯ出力を経て試験バス制御器にシフトアウトする。ＢＩＯＳがＤＩＳＲの直列入力および並列出力段階と、逐次制御段階とＤＯＳＲの並列捕獲および直列出力段階とを調和させるので、これらは試験中に規則的な予め定められた間隔で行われる。
【０１２９】
最後の入力パターン（ＩＰ４）をＤＩＳＲにシフトインして更新し、逐次制御を順序回路に与えた後、試験バス制御器はデータレジスタ走査動作を所定の時間続け、最後の出力パターン（ＯＰ４）をＤＯＳＲに捕獲してシフトアウトする。最後の出力パターン（ＯＰ４）をＤＯＳＲに捕獲したことをＢＩＯＳが検知すると、ＤＩＳＲへのその後の直列入力とその後の更新、逐次制御、捕獲段階を禁止する。試験動作の終わりに、ＴＡＰはＳＨＩＦＴＤＲ状態からＥＸＩＴ１ＤＲ状態に遷移して最後の出力パターン（ＯＰ４）の最後のビット（０１）をシフトアウトし、次にＵＰＤＡＴＥＤＲ状態を経てＲＴ／ＩＤＬＥ状態に遷移する。これで試験バス制御器はデータレジスタ走査動作を終了する。
【０１３０】
図１３には示していないが、ＴＡＰがＳＨＩＦＴＤＲ状態からＥＸＩＴ１ＤＲ状態を経てＰＡＵＳＥＤＲ状態に遷移すると、試験データのＤＲＥＧへのシフトインとＤＲＥＧからのシフトアウトと、逐次制御の順序回路への適用は、ＴＡＰがＰＡＵＳＥＤＲ状態にある間は一時的に中断する。データのシフトと逐次制御の適用は、ＴＡＰがＰＡＵＳＥＤＲ状態からＥＸＩＴ２ＤＲ状態を経てＳＨＩＦＴＤＲ状態に再び遷移すると再開される（図２を参照）。
【０１３１】
順序回路の試験を制御するのにＴＡＰではなくてＢＩＯＳを用いる明かな利点は、試験バス制御器はＤＩＳＲを満たすのにシリアル試験データをＩＣのＴＤＩ入力に連続的に送りさえすればよく、ＤＯＳＲを空にするのにシリアル試験データをＩＣのＴＤＯ出力から受けさえすればよい、ということである。他の全ての試験動作、更新、捕獲、および最も重要な、順序回路への制御入力の適用は、ＢＩＯＳが扱う。順序回路を試験するときにＢＩＯＳがＴＡＰより最も明らかに優れている点は、入力および出力パターンをＤＩＳＲおよびＤＯＳＲにそれぞれシフトインおよびシフトアウトしている間に、ＢＩＯＳは背景で制御入力を自動的に発生して順序回路に与えることである。従って試験時間は、制御入力を発生して順序回路に与えるために増加することはない。
【０１３２】
他方、従来の１１４９．１ＴＡＰおよび多重データレジスタ走査動作を用いて行う順序回路の試験は、データをＤＲＥＧにシフトインしＤＲＥＧからシフトアウトすることから、規則的な間隔で多重の状態を通って遷移して入力データを更新し（ＳＨＩＦＴＤＲからＥＸＩＴ１ＤＲへ、ＵＰＤＡＴＥＤＲへ）また順序回路から出力データを再び捕獲する（ＵＰＤＡＴＥＤＲからＳＥＬＤＲＳへ、ＣＡＰＴＵＲＥＤＲへ、ＳＨＩＦＴＤＲへ）まで、試験バス制御器を休止する必要がある。
【０１３３】
また、従来の各ＴＡＰデータレジスタ走査動作では、各試験パターンの順序回路への入力と出力のためにＤＩＳＲ、ＣＩＳＲ、ＤＯＳＲの全長を通してデータをシフトしなければならないので、試験アクセス時間は更に増加する。従来の順序回路の１１４９．１ＴＡＰ試験の最も顕著な欠点は、順序回路への制御入力を発生するために、試験パターン毎に少なくとも２回の全データレジスタ走査動作を加えなければならないことであって、これは試験時間を著しく増やす。
【０１３４】
式１１は、ＢＩＯＳが所定数の入力パターン（ＩＰ）を入力して順序回路を完全に試験するために、ＴＡＰがＳＨＩＦＴＤＲ状態に留まらなければならないＴＣＫバスサイクル数を表し、式１２は必要な試験時間を表す。組合せ回路の試験時間の計算の式１１と１２は、順序回路の試験時間の計算にも用いることができる。その理由は、順序回路への制御入力はシフトイン動作中に発生するので、逐次試験時間の計算に追加の時間は現れないからである。
式１１  ＳＨＩＦＴＤＲ状態でのＴＣＫの数＝ＩＰｘ２１
ただし、Ｉ＝入力パターン（ＩＰ）内のビット数
ＩＰ＝Ｉ＝入力パターンのビット幅
式１２  試験時間＝（Ｅｑ１１）ｘ（１／ＴＣＫ周波数）
【０１３５】
ＢＩＯＳを用いた単一ＩＣの試験環境における逐次試験時間の計算の基準点を確立するために、多重ＴＡＰデータレジスタ走査動作を用いる従来の順序回路の試験時間において前に用いた同じ仮定を用いる。すなわち、Ｉ＝１６およびＴＣＫ周波数＝１０Ｍｈｚである。ＢＩＯＳを用いて順序回路を試験するための計算された試験時間は、
式１２  試験時間＝（１６ｘ２１６）ｘ（１／１０Ｍｈｚ）＝１０４．９ｍｓ
【０１３６】
試験するＩＣの順序回路の数が、従来の１１４９．１ＴＡＰ制御により試験する順序回路の数と同じであると再び仮定すると、ＢＩＯＳを用いてＩＣの１００個の順序回路を試験する試験時間は１０．４９秒である。
【０１３７】
多重制御入力の活性化を必要とする順序回路を試験するのに従来のＴＡＰ制御よりもＢＩＯＳを用いる方がよいことを示すために、従来の１１４９．１ＴＡＰにより試験される順序回路の試験時間の計算（式６）を、順序回路に与えられる試験パターン毎に３回活性化しなければならない単一制御入力について繰り返す。試験パターン毎に１制御ビット（Ｃ）を３回（Ｋ＝３）活性化する従来の１１４９．１ＴＡＰ試験時間の計算によると、試験時間は、
式６  試験時間＝（１＋１６＋１＋１６＋１）ｘ（２１６ｘ７）ｘ（１／１０Ｍｈｚ）＝１．６０秒
【０１３８】
１００個の順序回路を試験すると、１００ｘ１．６０秒すなわち１６０秒かかる。ＢＩＯＳを用いて１００個の順序回路を試験する時間（１０．４９秒）と、従来の１１４９．１ＴＡＰ動作を用いて同じ１００個の順序回路を試験する時間（１６０秒）を比較すると、ＢＩＯＳを用いた試験時間の減少は９３．４％になる。
【０１３９】
次の例は図７に示す多重ＩＣ環境の型であって、ＢＩＯＳを用いてＩＣのＤＲＥＧと結合する組合せ回路を試験する方法を説明する。再び組合せ回路は、このＩＣまたは全ＩＣ内の部分回路であってよい。グループ内の、ターゲット（Ｔ）で示す図７の中央のＩＣは、図１２に示すＤＲＥＧ、組合せ回路、ＢＩＯＳ、ＴＡＰを含む。ターゲットＩＣのＴＤＩ入力と試験バス制御器のＴＤＯ出力の間に「Ｎ」個のＩＣがあり、ターゲットＩＣのＴＤＯ出力と試験バス制御器のＴＤＩ入力の間に「Ｍ」個のＩＣがある。
【０１４０】
試験を開始すると、ＴＡＰ、ＢＩＯＳ、ＤＩＳＲ、ＤＯＳＲは、単一ＩＣ環境で述べたのと同じ方法で組合せ回路を試験する。ＢＩＯＳを用いた多重ＩＣと単一ＩＣの組合せ試験環境の間の唯一の違いは、試験バス制御器とターゲットＩＣの間の走査路の長さである。
【０１４１】
試験の前に、試験バス制御器は図７のＩＣに試験コマンドを入力して、ＩＣ１−ＮとＩ−Ｍのバイパスレジスタを選択し、組合せ回路を試験するためにターゲットＩＣ内のＢＩＯＳを使用可能にする。ＩＣを設定した後、試験バス制御器が制御を出力すると、ＩＣのＴＡＰはデータレジスタ走査動作を実行する。ｓｔａｒｔｃｎｔカウンタがＮ個のＴＣＫバスサイクルをカウントして試験データがＩＣ１−Ｎを経てターゲットＩＣに到達するまで、ターゲットＩＣ内のＢＩＯＳは試験の開始を遅らせる。試験が始まると、単一ＩＣ環境での組合せ回路のＢＩＯＳ試験で述べたのと全く同様に動作する。
【０１４２】
式１３は、ＢＩＯＳが所定数の入力パターン（ＩＰ）を入力して組合せ回路を完全に試験するために、ＴＡＰがＳＨＩＦＴＤＲ状態に留まらなければならないＴＣＫバスサイクルに、最初の試験データを試験バス制御器からＮ個のＩＣを通ってターゲットＩＣ入力にシフトするための最初のＮ個のＴＣＫバスサイクルを加え、更に最後の試験データをターゲットＩＣからＭ個のＩＣを通って試験バス制御器にシフトするための最後のＭ個のＴＣＫバスサイクルを加えた数を表す。式１４は必要な試験時間を表す。この例では、Ｎは５００ＩＣ、Ｍは５００ＩＣと仮定する。
式１３  試験中のＴＣＫの数＝Ｎ＋Ｉｘ２１＋Ｍ
ただし、Ｉ＝入力パターン（ＩＰ）内のビット数
Ｎ＝試験制御器とターゲットＩＣの間のＩＣの数
Ｍ＝ターゲットＩＣと試験制御器の間のＩＣの数
Ｎ＝Ｍ＝５００
式１４  試験時間＝（Ｅｑ１３）ｘ（１／ＴＣＫ周波数）
【０１４３】
ＢＩＯＳを用いてターゲットＩＣの組合せ回路を試験する多重ＩＣ試験環境における試験時間の計算の基準点を確立するために、ＴＣＫ周波数は１０Ｍｈｚと仮定する。組合せ回路を試験するための計算された試験時間は、
0003610095.tif 000011
【０１４４】
単一ＩＣ試験環境で述べたように、ＩＣの完全な試験はこの試験を１００個の同様な組合せ回路で繰り返す必要があってよい。ターゲットＩＣで１００個の組合せ回路を試験すると、１００ｘ１０４．８ｍｓすなわち１０．４８秒かかる。同様な複雑さの１０００個のＩＣを試験すると、１０００ｘ１０．４８秒すなわち１０，４８０秒すなわち１７４．８分すなわち２．９時間かかる。
【０１４５】
次の例は図７に示す多重ＩＣ環境の型であって、ＢＩＯＳを用いてＩＣのＤＲＥＧと結合する順序回路を試験する方法を説明する。再び順序回路は、このＩＣまたは全ＩＣ内の部分回路であってよい。グループ内の、ターゲット（Ｔ）で示す図７の中央のＩＣは、図１２に示すＤＲＥＧ、順序回路、ＢＩＯＳ、ＴＡＰを含む。ターゲットＩＣのＴＤＩ入力と試験バス制御器のＴＤＯ出力の間に「Ｎ」個のＩＣがあり、ターゲットＩＣのＴＤＯ出力と試験バス制御器のＴＤＩ入力の間に「Ｍ」個のＩＣがある。
【０１４６】
試験を開始すると、ＴＡＰ、ＢＩＯＳ、ＤＩＳＲ、ＤＯＳＲは、単一ＩＣ環境で述べたのと同じ方法で順序回路を試験する。ＢＩＯＳを用いた多重ＩＣと単一ＩＣの逐次試験環境の間の唯一の違いは、試験バス制御器とターゲットＩＣの間の走査路の長さである。
【０１４７】
試験の前に、試験バス制御器は図７のＩＣに試験コマンドを入力して、ＩＣ１−Ｎと１−Ｍのバイパスレジスタを選択し、順序回路を試験するためにターゲットＩＣ内のＢＩＯＳを使用可能にする。ＩＣを設定した後、試験バス制御器が制御を出力すると、ＩＣのＴＡＰはデータレジスタ走査動作を実行する。ｓｔａｒｔｃｎｔカウンタがＮ個のＴＣＫバスサイクルをカウントして試験データがＩＣ１−Ｎを経てターゲットＩＣに到達するまで、ターゲットＩＣ内のＢＩＯＳは試験の開始を遅らせる。試験が始まると、単一ＩＣ環境での順序回路のＢＩＯＳ試験で述べたのと全く同様に動作する。
【０１４８】
式１３は、ＢＩＯＳが所定数の入力パターン（ＩＰ）を入力して順序回路を完全に試験するために、ＴＡＰがＳＨＩＦＴＤＲ状態に留まらなければならないＴＣＫバスサイクルに、最初の試験データを試験バス制御器からＮ個のＩＣを通ってターゲットＩＣ入力にシフトするための最初のＮ個のＴＣＫバスサイクルを加え、更に最後の試験データをターゲットＩＣからＭ個のＩＣを通って試験バス制御器にシフトするための最後のＭ個のＴＣＫバスサイクルを加えた数を表す。式１４は必要な試験時間を表す。この例では、Ｎは５００ＩＣ、Ｍは５００ＩＣと仮定する。組合せ回路の試験時間の計算の式１３と１４は、順序回路の試験時間の計算にも用いることができる。その理由は、順序回路への制御入力はシフトイン動作中にＢＩＯＳによって行われるので、試験時間の計算には現れないからである。
式１３  試験中のＴＣＫの数＝Ｎ＋１ｘ２１＋Ｍ
ただし、Ｉ＝入力パターン（ＩＰ）内のビット数
Ｎ＝試験制御器とターゲットＩＣの間のＩＣの数
Ｍ＝ターゲットＩＣと試験制御器の間のＩＣの数
Ｎ＝Ｍ＝５００
式１４  試験時間＝（Ｅｑ１３）ｘ（１／ＴＣＫ周波数）
【０１４９】
ＢＩＯＳを用いてターゲットＩＣの順序回路を試験する多重ＩＣ試験環境における試験時間の計算の基準点を確立するために、ＴＣＫ周波数は１０Ｍｈｚと仮定する。順序回路を試験するための計算された試験時間は、
0003610095.tif 000012
【０１５０】
単一ＩＣ試験環境で述べたように、ＩＣの完全な試験はこの試験を１００個の同様な順序回路で繰り返す必要があってよい。ターゲットＩＣで１００個の順序回路を試験すると、１００ｘ１０４．８ｍｓすなわち１０．４８秒かかる。同様な複雑さの１０００個のＩＣを試験すると、１０００ｘ１０．４８秒すなわち１０，４８０秒すなわち１７４．８分すなわち２．９１時間かかる。
【０１５１】
図１４Ａは、各ＤＲＥＧのＴＤＩ入力とＴＤＯ出力を外部の試験器すなわち試験バス制御器に接続して、各ＴＡＰデータレジスタ走査動作中に直列入力および出力動作を多重ＤＲＥＧに並列に与えることのできる、並列試験構造を示す。この並列構造は多重ＤＲＥＧにアクセスする多重ＴＤＩ／ＴＤＯ対を用い、従来の１１４９．１動作に関連して上に説明したのと同様な単一ＴＡＰ制御器と多重データレジスタ走査動作を用いて、ＩＣ内の全ての回路を同時に試験することができる。全ての試験を並列に行うので、ＩＣ内の全ての回路を試験するのに必要な試験時間は減少し、最長のパターン適用シーケンスで回路を試験するのにかかる時間に等しい。
【０１５２】
図１４Ａの並列構造は、各ＤＲＥＧのＴＤＩ入力およびＴＤＯ出力の電子的入力および出力スイッチすなわちマルチプレクサを備える。入力スイッチ（ＩＳ１−ｎ）は、試験バスからＴＤＩ入力を、ＩＣの機能ピン（ＦＩ１−ｎ／ＴＤＩ１−ｎで示す）から入力を、命令レジスタ制御バス１１０から選択制御入力を、受ける。出力スイッチ（ＯＳ１−ｎ）は、関連するＤＲＥＧ１−ｎからＴＤＯ出力を、試験を実行していないときは通常は関連する機能ピン（ＦＯ１−ｎ／ＴＤＯ１−ｎで示す）に結合されている機能出力信号（ＦＯ１−ｎ）への接続を、命令レジスタ制御バス１１０から選択制御入力を、受ける。出力スイッチからの出力は、ＩＣの機能ピン（ＦＯ１−ｎ／ＴＤＯ１−ｎ）に結合する。
【０１５３】
図１４Ａにおいて試験を実行していないときは、すなわち機能動作中は、入力ピンＦＩ１−ｎ／ＴＤＩ１−ｎはＩＣ論理回路への機能入力となり、出力ピンＦＯ１−ｎ／ＴＤＯ１−ｎはＩＣ論理回路からの機能出力になる。ＦＩ１−ｎ／ＴＤＩ１−ｎ入力ピンへの信号ＦＩ１−ｎ入力は入力スイッチに入り、またＩＣ論理回路の予め定められた機能入力に入る。また機能動作中は、ＩＣ論理回路からの信号ＦＯ１−ｎ出力は出力スイッチＯＳ１−ｎを通って進み、ＦＯ１−ｎ／ＴＤＯ１−ｎ出力ピンに出力する。
【０１５４】
試験動作中は、ＦＩ１−ｎ／ＴＤＩ１−ｎ入力ピンの信号入力は、入力スイッチＩＳ１−ｎによってＤＲＥＧの直列入力に結合する。また試験動作中は、出力スイッチＯＳ１−ｎは、ＩＣ論理回路からの通常の機能出力信号ＦＯ１−ｎではなくて、ＤＲＥＧからの直列出力をＦＯ１−ｎ／ＴＤＯ１−ｎピンに結合する。
【０１５５】
ＩＣが試験モード中は、ＩＣが機能モード中に通常行うのとは異なり、論理回路はＦＩ１−ｎ／ＴＤＩ１−ｎ入力ピンからのＦＩ１−ｎ入力に応答しない。ＩＣが試験モード中にＩＣの論理回路がＦＩ１−ｎ入力に応答しないようにする方法は、（１）各信号（ＦＩ１−ｎ）をゲートして、試験中は一定の論理レベルを強制的にＩＣの論理回路に出力し、（２）ＩＣの機能クロックを禁止して試験モード中は論理回路をクロックしないようにし、強制的に所定の静的状態に留め、または（３）ＩＣが試験モード中は入力信号ＦＩ１−ｎに応答できないように、任意の適当な方法でＩＣの論理回路を設計する。
【０１５６】
次に図１４Ａと図１４Ｂにおいて、図１４Ａの試験構造の例示的な修正を図１４Ｂに示す。この例示のＤＲＥＧｎにおいて、図１４ＡのＤＲＥＧは図１４Ｂでは、ＩＥＥＥ１１４９．１標準の「試験アクセスポートおよび境界走査構造」に記述されている型の境界走査レジスタとして構成される。図１４Ｂの配列では、ＤＲＥＧはＦＩ１−ＦＩｎ信号を入力ピンＦＩ１／ＴＤＩ１−ＦＩｎ／ＴＤＩｎから受け、これらの信号をＩＣの機能論理の入力に与える。またＤＲＥＧｎはＦＯ１−ＦＯｎ信号出力をＩＣの機能論理から受け、これらの信号を出力スイッチＯＳ１−ＯＳｎに与える。上述のように、ＩＲＥＧはバス１１０を経て次のように制御を行うことができる。すなわち、ＦＯ１−ＦＯｎ信号を出力スイッチＯＳ１−ＯＳｎを通して出力ピンＦＯ１／ＴＤＯ１−ＦＯｎ／ＴＤＯｎに送り、ＤＲＥＧｎの直列入力を入力スイッチＩＳｎを経てＴＤＩに結合し、ＤＲＥＧｎの直列出力をＭＵＸ１を経てＭＵＸ２に与える。ＴＡＰおよびバス１０８の制御の下に、ＤＲＥＧｎの直列出力はＭＵＸ２を通してＴＤＯに送られる。このように図１４Ｂの修正により、図１４Ａの試験構造は上に述べた試験動作に加えて従来の境界走査試験動作を行うことができる。
【０１５７】
本発明の並列構造を用いて全てのＩＣ回路で並列試験を行うときは、試験インターフェース要件は図４に示す従来の１１４９．１インターフェースに必要な４試験信号を超える。従来の１１４９．１試験バス信号（ＴＤＩ、ＴＤＯ、ＴＭＳ、ＴＣＫ）に加えて、並列試験の試験器はＩＣ内のＤＲＥＧ毎にＴＤＯ出力とＴＤＩ入力を必要とする。
【０１５８】
図１５は、並列試験モードで単一ＩＣを試験する試験器の設計を示す。この試験器は基本的な１１４９．１インターフェースに必要な４試験バス信号に、ＩＣのＴＤＩ１−ｎ入力信号のそれぞれに対するＴＤＯ１−ｎ出力信号と、ＩＣのＴＤＯ１−ｎ出力信号のそれぞれに対するＴＤＩ１−ｎ入力とを加えたものを与える。またこの試験器は、プリンタ、キーボード、モニタ、ディスクドライブ、構内通信網（ＬＡＮ）チャンネルなどの、外部周辺装置へのインターフェースを備える。
【０１５９】
ＩＣの並列試験に備えて、試験器は４線試験バスを経てＩＲＥＧに命令を入力する。この命令により、入力スイッチはＴＤＩ１−ｎ入力ピンをＤＲＥＧＩ−ｎのＴＤＩ入力に結合し、出力スイッチはＤＲＥＧ１−ｎのＴＤＯ出力をＴＤＯ１−ｎ出力ピンに結合する。またこの命令により、上述のように多重データレジスタ走査動作により試験するようにＤＲＥＧ１−ｎを選択する。
【０１６０】
多重組合せ回路の並列試験中は、個々の試験は図５の回路で上に説明したように実行できる。試験中は、試験器は制御をＴＭＳおよびＴＣＫ制御出力に出力してＩＣのＴＭＳおよびＴＣＫ制御入力に入力する。更に、試験器は直列データをそのＴＤＯ１−ｎ出力に出力してＩＣのＴＤＩ１−ｎ入力ピンに入力し、直列データをＩＣのＴＤＯ１−ｎ出力ピンからそのＴＤＩ１−ｎ入力に受ける。
【０１６１】
試験器からの制御入力に応答して、ＩＣのＴＡＰが内部制御をバス１０８を経てＤＲＥＧに出力すると、各データレジスタ走査動作中にＩＣのＴＤＩ１−ｎへのデータ入力は各ＤＲＥＧのＤＩＳＲにシフトインされ、更新されて、組合せ回路入力に入力される。更新動作の後、ＴＡＰがＤＲＥＧに制御を出力すると、ＤＯＳＲは組合せ回路からの出力データを捕獲して、ＴＤＯ１−ｎ出力ピンを経て試験器にシフトアウトする。シフトインして更新し、続いて捕獲してシフトアウトするこの動作は、全ての組合せ回路の試験が完了するまで繰り返される。各個別の組合せ回路の試験は、図５の単一ＩＣ環境に関連して前に述べたものと同じでよい。しかし図１４Ａの並列構造では、多重ＤＲＥＧにアクセスして、多重組合せ回路を同時に試験する。
【０１６２】
並列試験の試験時間は、最長のパターン適用シーケンスを持つ組合せ回路の試験にかかる時間と同じである。例えば、並列に試験するＩＣの組合せ回路が１００個あり、それぞれのＤＲＥＧが１６ビット長のＤＩＳＲと１６ビット長のＤＯＳＲで構成されていれば、１０ＭｈｚのＴＣＫ周波数で１００回路全てを並列に試験するための試験時間は、式１、２、３を用いて計算することができる。
0003610095.tif 000013
【０１６３】
本発明の並列方式を用いて１００個の同様な組合せ回路を単一ＩＣ環境で試験する時間（２２２．８ｍｓ）と、従来の１１４９．１方式を用いて単一ＩＣ環境で試験する時間（２２．２８秒）を比較すると、時間の減少は９９％になる。
【０１６４】
多重順序回路の並列試験中は、個々の試験は図６の回路で上に説明したように実行できる。試験中は、試験器は制御をＴＭＳおよびＴＣＫ制御出力に出力してＩＣのＴＭＳおよびＴＣＫ制御入力に入力する。更に、試験器は直列データをそのＴＤＯ１−ｎ出力に出力してＩＣのＴＤＩ１−ｎ入力ピンに入力し、直列データをＩＣのＴＤＯ１−ｎ出力ピンからそのＴＤＩ１−ｎ入力に受ける。
【０１６５】
試験器からの制御入力に応答して、ＩＣのＴＡＰが内部制御をバス１０８を経てＤＲＥＧに出力すると、ＩＣのＴＤＩ１−ｎへのデータ入力は各ＤＲＥＧのＤＩＳＲ、ＣＩＳＲ、ＤＯＳＲにシフトインされ、更新されて、順序回路入力に入力される。試験器がシフトインおよび更新動作を所定数の時間（すなわち、上述のように順序回路が入力パターンに反応して応答パターンを出力するのに十分な時間）繰り返した後、ＴＡＰがＤＲＥＧに制御を出力すると、ＤＯＳＲは順序回路からの出力データを捕獲して、ＴＤＯ１−ｎ出力ピンを経て試験器にシフトアウトする。
【０１６６】
所定数の時間シフトインして更新し、続いて捕獲してシフトアウトするこの動作は、全ての順序回路の試験が完了するまで繰り返される。各個別の順序回路の試験は、図６の単一ＩＣ環境に関連して前に述べたものと同じでよい。しかし図１４Ａの並列試験構造では、多重ＤＲＥＧにアクセスして多重組合せ回路を並列に同時に試験する。
【０１６７】
並列試験の試験時間は、最長のパターン適用シーケンスを持つ順序回路の試験にかかる時間と同じである。例えば、並列に試験するＩＣの順序回路が１００個あり、それぞれのＤＲＥＧが１６ビット長のＤＩＳＲ、１ビット長のＣＩＳＲ（試験パターン毎に３回活性化）、１６ビット長のＤＯＳＲで構成されていれば、１０ＭｈｚのＴＣＫ周波数で１００回路全てを並列に試験するための試験時間は、式４、５、６を用いて計算することができる。
0003610095.tif 000014
【０１６８】
本発明の並列方式を用いて１００個の同様な順序回路を単一ＩＣ環境で試験する時間（１．６０秒）と、従来の１１４９．１方式を用いて試験する時間（１００ｘ１．６０秒＝１６０秒）を比較すると、時間の減少は９９％になる。
【０１６９】
並列試験方法では、全てのＩＣのＤＲＥＧが同じビット長である必要はない。実際は、ＩＣのＤＲＥＧの長さはそれぞれ異なってよい。ビット長が最も長いＤＲＥＧが、並列試験中の他の全てのＤＲＥＧの入力および出力走査フレームビット長を決める。走査フレームとは、試験中にＤＲＥＧにシフトインしＤＲＥＧからシフトアウトする入力および出力ビット位置の数をいう。入力および出力ビット位置数が最も長いＤＲＥＧは、その全てのビット位置を利用する。入力および出力ビット位置数がより少ないＤＲＥＧの走査フレームにはダミービットを追加するので、最長のＤＲＥＧ走査フレームと同じビット長になる。走査フレームの入力および出力ビット位置がＤＲＥＧの入力および出力部のビット位置と合うように、短いＤＲＥＧ走査フレームの重要なビット位置にダミービットを挿入する。
【０１７０】
図１６は、２個の組合せ回路（ＣＣ）に結合する２個のＤＲＥＧを備えるＩＣを示し、走査フレームを作る方法を図示する。ＤＲＥＧ１は２ビットのＤＩＳＲと２ビットのＤＯＳＲから成り、ＤＲＥＧ２は４ビットのＤＩＳＲと４ビットのＤＯＳＲから成る。ＤＲＥＧ２は全部で８ビットであり、ＤＲＥＧ１は全部で４ビットなので、ＤＲＥＧ２が並列試験の走査フレーム長を８ビットに決める。並列試験中は、試験器は８ビットのフレームのシリアル試験パターンをＤＲＥＧ１とＤＲＥＧ２に同時に出力し、８ビットのフレームの試験パターンをＤＲＥＧ１とＤＲＥＧ２から同時に受ける。ＤＲＥＧ１のビット長は４ビットだけなので、各８ビットの試験パターンフレームをＤＲＥＧ１に入力するとき、試験器は最初に４ダミービット（Ｘ）を挿入する。４ダミービットは、実際の試験データビットの入力をＤＲＥＧ１のＤＩＳＲとＤＯＳＲの実際のビット部分と位置合わせをするのに用いる。ダミービットをＤＲＥＧ１の走査入力フレームに挿入することにより、試験器はＤＲＥＧ１とＤＲＥＧ２の試験パターン入力フレームを組合せ回路に並列にシフトインして更新する際の釣合いをとり、両組合せ回路を同時に試験する。
【０１７１】
試験器はシリアル試験パターンのフレームをＤＲＥＧ１とＤＲＥＧ２に出力し、またシリアル試験パターンのフレームをＤＲＥＧ１とＤＲＥＧ２から入力する。試験器は、試験フレームを例えば８ビット長で出力しまた入力するようにプログラムする。また試験器のプログラムはＩＣのＤＲＥＧの長さを知っており、走査フレーム中に所要数のダミービット位置を挿入してＩＣの各ＤＲＥＧに入力し、ＩＣ内の各ＤＲＥＧから走査フレームを受けるときは同数のダミービット位置を除去する。ＤＲＥＧ１のビット長は４ビットだけであり、走査フレーム長は８ビットなので、試験器は入力走査フレームの最初の４ビットだけを受けて最後の４ダミービット位置は除去する。このようにして、試験器はＤＲＥＧの真の出力ビット位置だけを記憶し処理するので、試験器は並列試験からの試験出力応答を効率的に記憶し処理することができる。
【０１７２】
図１６の走査フレームを作る方法ではＤＲＥＧが組合せ回路を試験する場合を示したが、ＤＲＥＧが順序回路を試験する場合にも同じ方法が当てはまる。唯一の違いは、順序回路のＤＲＥＧは上に述べたようにＤＩＳＲとＤＯＳＲの他にＣＩＳＲレジスタを含むということである。
【０１７３】
ＩＣ内の最も長いＤＲＥＧのビット長は、走査フレームビット長は決めるがＤＲＥＧに結合する多重回路の並列試験に必要な時間は決めない。ある場合には、ＤＩＳＲ部のビット数が大きいために、真のビット長の小さいＤＲＥＧの方が真のビット長の大きいＤＲＥＧより、多くの試験パターンシーケンスを必要とする。例えば、４ビットのＤＩＳＲと１０ビットのＤＯＳＲを備えるＤＲＥＧｘの試験時間は、６ビットのＤＩＳＲと４ビットのＤＯＳＲと位置合わせ用の４ダミービットを備えるＤＲＥＧｙの試験時間より少ない。ＤＲＥＧｘを試験するのに必要なＴＣＫ数は、２の４乗掛ける１４ビット、すなわち２２４ＴＣＫである。ＤＲＥＧｙを試験するのに必要なＴＣＫ数は２の６乗掛ける１４ビット、すなわち８９６ＴＣＫである。
【０１７４】
多重ＤＲＥＧの並列試験中にいくつかのＤＲＥＧが他のＤＲＥＧより早く試験を完了すると、他の全てのＤＲＥＧがその試験を完了するまで、試験器は試験を完了したＤＲＥＧに走査フレームを入力および出力し続ける。試験を完了したＤＲＥＧへの走査フレームの入力および出力は、無関心（ｄｏｎ’ｔ  ｃａｒｅ）走査フレーム動作でよい。というのは、他のＤＲＥＧが試験を完了するまで、これらのＤＲＥＧは余分の走査フレームを循環しているだけだからである。しかし無関心走査フレームは、試験中の回路に害を与えないように選ばなければならない。
【０１７５】
上に述べた本発明のＢＩＯＳ試験モードを拡張して、ＩＣ内の複数の回路の試験を多重ＢＩＯＳ回路を通して自律的にまた並列に実行することができる。
【０１７６】
ＩＣ内の複数の回路の並列ＢＩＯＳ試験を行うために、ＢＩＯＳをＩＣ内の各ＤＲＥＧに結合して、各ＤＲＥＧと結合する組合せ回路または順序回路の試験を自律的に調節する。更に図１４Ａに関連して上に述べたように、試験中はＩＣの機能ピンを試験ピンに変換することにより、各ＤＲＥＧのＴＤＩ入力およびＴＤＯ出力を試験器に直接結合する。
【０１７７】
並列ＢＩＯＳ試験構造は、多重ＢＩＯＳ回路と走査路を用いることにより、ＩＣ内の全てのＤＲＥＧと結合する全ての回路を同時に試験することができる。従ってＩＣの試験時間は顕著に減少し、最も長い試験パターン適用シーケンスを持つＤＲＥＧに結合する回路をＢＩＯＳが試験するのに要する時間に等しい。
【０１７８】
並列ＢＩＯＳ試験構造は図１４Ａの並列試験構造と組み合わせて複数のＢＩＯＳ試験回路を用いて、複数のＤＲＥＧに結合する複数の回路の同時試験を自律的に調節する。
【０１７９】
図１７に並列ＢＩＯＳ試験構造を示す。並列ＢＩＯＳ試験構造は、各ＤＲＥＧのＴＤＩ入力およびＴＤＯ出力に、電子的入力および出力スイッチすなわちマルチプレクサを備える。入力スイッチ（ＩＳ１−ｎ）は、試験バスからＴＤＩ入力を、ＩＣの機能ピン（ＦＩ１−ｎ／ＴＤＩ１−ｎで示す）から入力を、命令レジスタ制御バス１１０から選択制御入力を、受ける。出力スイッチ（ＯＳ１−ｎ）は、関連するＤＲＥＧ１−ｎからＴＤＯ出力を、試験を実行していないときは通常は関連する機能ピン（ＦＯ１−ｎ／ＴＤＯ１−ｎで示す）に結合されている機能出力信号（ＦＯ１−ｎ）への接続を、命令レジスタ制御バス１１０から選択制御入力を、受ける。出力スイッチは、データをＩＣの機能ピン（ＦＯ１−ｎ／ＴＤＯ１−ｎ）に出力する。従って、図１７の入力および出力スイッチＩＳ１−ｎおよびＯＳ１−ｎは、図１４Ａ／１４Ｂに関して上に説明したように用いることができる。
【０１８０】
更に、並列ＢＩＯＳ試験構造はＩＣ内の各ＤＲＥＧ（ＤＲＥＧ１−ｎ）に結合するＢＩＯＳ回路（ＢＩＯＳ１−ｎ）を備える。各ＢＩＯＳ回路はマルチプレクサＭＵＸ１およびＭＵＸ２を経てＴＤＩ入力およびＴＤＯ出力に結合して、プログラミングデータを試験器からＢＩＯＳ回路にシフトインする。ＴＤＩ入力の他に、各ＢＩＯＳはＴＡＰ制御バス１０８と命令レジスタ制御バス１１０を受ける。各ＢＩＯＳは結合するＤＲＥＧに制御を出力し、試験を調節し、ＴＤＯ出力に直列データを出力する。各ＢＩＯＳ回路は、図９に示すように実現することができる。各ＢＩＯＳ回路は試験する１回路だけおよび１ＤＲＥＧだけに結合するので、必要であれば個々のＢＩＯＳ回路を個別に作ることにより、図９に関連して上に説明したいくつかのＢＩＯＳプログラミングを削除してよい。
【０１８１】
図１７の並列ＢＩＯＳ試験構造は、図１４Ａおよび１４Ｂに関連して上に説明したように修正することができ、従って図１７の１ＤＲＥＧは境界走査レジスタ（図１４Ｂ）として形成される。この修正を行うと、図１４Ａと１４Ｂに関連して上に説明したように、図１７は従来の境界走査試験動作を行うことができる。またＴＡＰを用いて試験を行い、多重ＤＲＥＧによって多重回路の並列試験を制御しているときは、図１７の構造は図１４Ａの並列試験モードで動作することができる。更に、単一ＢＩＯＳとＴＡＰを用いて試験を行い、選択されたＤＲＥＧによって単一回路の試験を制御しているときは、図１７の構造は図８の単一ＢＩＯＳ試験モードで動作させることができる。
【０１８２】
しかし命令を命令レジスタにシフトインして図１７の構造を並列ＢＩＯＳ試験用に構成しているときは、ＩＣの機能入力および出力ピンは多重対のＴＤＩ入力およびＴＤＯ出力に変換され、ＩＣの各ＤＲＥＧに入力および出力を供給する。また命令が制御を出力すると、各ＢＩＯＳ１−ｎおよびＤＲＥＧ１−ｎは関連する回路の試験を自律的に調節することができる。並列ＢＩＯＳ試験モード中は、図１５に示すようにＩＣは試験器に結合される。試験器は命令、データ、制御を４線の試験バス（ＴＭＳ、ＴＣＫ、ＴＤＩ、ＴＤＯ）を経て入力し、データを多重ＴＤＯを経てＩＣ（ＴＤＩ１−ｎ）に出力し、データを多重ＴＤＩを経てＩＣ（ＴＤＯ１−ｎ）から受ける。
【０１８３】
ＤＲＥＧが組合せ回路に結合しているときは、各試験は図１２に関連して説明したように行われる。試験中は、試験器は制御をＴＭＳおよびＴＣＫ出力に出力し、ＩＣのＴＭＳおよびＴＣＫ制御入力に入力する。更に、試験器は直列データをそのＴＤＯ１−ｎ出力に出力し、ＩＣのＴＤＩ１−ｎ入力ピンに入力し、また直列データをＩＣのＴＤＯ１−ｎ出力ピンからそのＴＤＩ１−ｎ入力に受ける。
【０１８４】
試験器からの制御入力に応答して、ＩＣのＴＡＰは制御を全てのＢＩＯＳ回路（ＢＩＯＳ１−ｎ）に出力して試験を開始する。並列ＢＩＯＳ試験中はＴＡＰはＳＨＩＦＴＤＲ状態に留まっていて、ＴＤＩ１−ｎ入力およびＴＤＯ１−ｎ出力を経てデータをＤＲＥＧに入力しまたＤＲＥＧから出力する。ＴＡＰがＳＨＩＦＴＤＲ状態にあるとき、各ＢＩＯＳは、試験する関連回路への入力試験パターンのシフトインおよび更新と、ＤＲＥＧのＤＩＳＲおよびＤＯＳＲ部を経て試験する関連回路からの出力試験パターンの捕獲およびシフトアウトを自律的に調節する。各個別の組合せ回路の試験は、図１２の単一ＩＣ環境に関連して説明したのと同じでよい。しかしこの場合は、多重ＢＩＯＳ回路は多重ＤＲＥＧにアクセスして、多重組合せ回路を同時に試験する。
【０１８５】
並列ＢＩＯＳ試験モードの試験時間は、最も長いパターン適用シーケンスを持つ回路を試験するのに要する時間に等しい。例えば、ＩＣの中に並列に試験する組合せ回路が１００個あり、それぞれが１６ビット長のＤＩＳＲから成るＤＲＥＧを備えていれば、１０ＭｈｚのＴＣＫ周波数で並列に１００回路を全て試験するための試験時間は、上に図１２に関連して適用した式１１および１２を用いて計算することができる。
0003610095.tif 000015
【０１８６】
ＤＲＥＧが順序回路に結合しているときは、各試験は図１３に関連して説明したように行われる。試験中は、試験器は制御をＴＭＳおよびＴＣＫ出力に出力し、ＩＣのＴＭＳおよびＴＣＫ制御入力に入力する。更に、試験器は直列データをそのＴＤＯ１−ｎ出力に出力し、ＩＣのＴＤＩ１−ｎ入力ピンに入力し、また直列データをＩＣのＴＤＯ１−ｎ出力ピンからそのＴＤＩ１−ｎ入力に受ける。
【０１８７】
試験器からの制御入力に応答して、ＩＣのＴＡＰは制御を全てのＢＩＯＳ回路（ＢＩＯＳ１−ｎ）に出力して試験を開始する。並列ＢＩＯＳ試験中はＴＡＰはＳＨＩＦＴＤＲ状態に留まっていて、ＴＤＩ１−ｎ入力およびＴＤＯ１−ｎ出力を経てデータをＤＲＥＧに入力しまたＤＲＥＧから出力する。ＴＡＰがＳＨＩＦＴＤＲ状態にあるとき、各ＢＩＯＳは、試験する関連回路への入力試験パターンのシフトインおよび更新と、回路を入力パターンに反応させて出力応答試験パターンを生成させるのに必要な逐次制御と、ＤＲＥＧのＤＩＳＲおよびＤＯＳＲ部を経て試験する関連回路からの応答試験パターンの捕獲およびシフトアウトを自律的に調節する。各個別の順序回路の試験は、図１３の単一ＩＣ環境に関連して説明したのと同じでよい。しかしこの場合は、多重ＢＩＯＳ回路は多重ＤＲＥＧにアクセスして、多重順序回路を同時に試験する。
【０１８８】
並列ＢＩＯＳ試験モードの試験時間は、最も長いパターン適用シーケンスを持つ回路を試験するのに要する時間に等しい。例えば、ＩＣの中に並列に試験する順序回路が１００個あり、それぞれが１６ビット長のＤＩＳＲから成るＤＲＥＧを備えていれば、１０ＭｈｚのＴＣＫ周波数で並列に１００回路を全て試験するための試験時間は、上に図１３に関連して適用した式１１および１２を用いて計算することができる。
0003610095.tif 000016
【０１８９】
並列ＢＩＯＳ構造は並列に試験する各ＤＲＥＧおよび結合する回路のＢＩＯＳを含むので、図１６に関連して説明したように試験パターンのフレームを作る必要がない。従って試験器はダミービット位置を挿入することにより各回路への試験パターンを修正して、異なる長さのＤＲＥＧへのシリアル試験パターンを釣り合わせる必要はない。
【０１９０】
図１７に示すような並列ＢＩＯＳ試験中は、各ＢＩＯＳは１１４９．１ＴＡＰとは独立に、結合する回路の試験動作の開始と停止を自律的に調節する。ＢＩＯＳが試験動作を開始すると、上に説明したように、試験を完了するのに必要な時間の長さだけ試験データを試験する回路に入力しまた試験する回路から出力する。各試験動作の終わりに、上に説明したように、ＢＩＯＳは回路への入力動作と回路からの出力動作を終了する。
【０１９１】
数百の回路を並列に試験する可能性のある超大規模集積回路（ＶＬＳＩ）、特にＲＡＭメモリ回路では、ＩＣが消費する電力が問題になり得る。多重内部回路を同時に試験することにより発生する熱はＩＣの質を落とし、場合によっては破壊する。並列ＢＩＯＳ構造の各ＢＩＯＳは回路を試験するのに必要な時間だけ試験を行うので、全ての回路を同時に長い時間動作させなければならないために熱に関連する問題が生じてＩＣを破壊する、という危険が減少する。
【０１９２】
更に、各ＢＩＯＳ回路は、所定のカウント値が終了した後で（図９のｓｔａｒｔｃｎｔ）試験動作を開始するようプログラムすることができる。この方法を用いると、並列ＢＩＯＳ構造の各ＢＩＯＳは、所定の時刻に試験動作を開始するようにプログラムすることができる。これにより、あるＢＩＯＳの試験動作が終わってから次のＢＩＯＳの試験動作を始めるよう、ＩＣ内の多重回路の試験時間をずらすことができる。ＩＣ内の内部回路の試験動作の時間をずらすことの利点は、任意の時点で実際に試験する回路数を減らし、試験中に発生する熱の量を減らし、従ってＩＣを損傷したり破壊したりする危険性を減らすことである。
【０１９３】
上に述べたように、ＤＯＳＲは並列入力／直列出力レジスタではなくて、並列署名分析レジスタとして動作させることができる。ＤＯＳＲを並列署名分析モードで動作させることの利点については、図１０ｄに関連して説明した。並列ＢＩＯＳ構造においてＤＯＳＲを並列署名分析モードで動作させることには更に利点がある。
【０１９４】
並列ＢＩＯＳ構造内のＤＲＥＧのＤＯＳＲを並列署名分析モードにすると、ＩＣの機能ピンを多重化して多重ＴＤＯ試験ピンにしなければならないという要件はもはや必要ない。試験データは並列署名分析試験中はＤＯＳＲからシフトアウトしないので、ＤＯＳＲが並列署名分析モードで動作している場合は、ＴＤＯ試験ピンは必要ない。これによりＩＣの機能ピンを再構成して、試験する回路のＤＲＥＧへのＴＤＩ入力として動作するだけでよいというところまで減少することができる。
【０１９５】
従って、ピンを制限したＩＣでは、より多くの機能ピンをＴＤＩ入力ピンとして用いることができるので、より多くの内部回路を並列に試験することができるという利点がある。例えば、１００個の機能ピン（電源、接地、試験バスピンを除く）を備えるＩＣでは、１００個のＴＤＩ入力ピンを用いて１００個の内部回路を並列に試験することができる。同じＩＣについて、非並列署名分析試験モードでは、並列に試験することのできる内部回路は５０個だけである。というのは、各回路は２個の機能ピンを用いて、試験中にＴＤＩ入力とＴＤＯ出力として動作させる必要があるからである。
【０１９６】
図１８に、多重ＴＤＩおよびＴＤＯチャンネルおよび結合する回路を備える図１５の試験バス制御器すなわち試験器を、より詳細に示す。点線より下の部分は、主ＴＤＩおよびＴＤＯチャンネルと、結合する送信機／メモリ、受信機／メモリ回路と、ＴＭＳおよびＴＣＫ制御回路と結合する試験制御器／プロセッサおよびメモリおよびＩ／Ｏ回路を備える。試験制御器／プロセッサは試験動作を制御し、結合するメモリは試験パターンと試験プログラムを記憶し、結合するＩ／Ｏは試験器がターミナル、プリンタ、キーボード、ディスクドライブ、通信網などの外部周辺装置と通信するのに用いる。試験器は、追加のＴＤＩおよびＴＤＯチャンネルと結合する送信機／メモリと受信機／メモリ回路を備える。試験制御器／プロセッサからの制御は、主ＴＤＩおよびＴＤＯチャンネルに送られ、更に追加のＴＤＩおよびＴＤＯチャンネルに送られて、試験動作を調節する。
【０１９７】
上述から明らかなように、本発明は任意のシリアル走査に基づく試験構造に関連して用いて、アナログ信号でもデイジタル信号でも混合信号でも、回路がシリアル試験バスを経て走査することのできる入力および出力境界構造を持つ限り、任意の型の電気回路を試験することができる。この考え方の例を以下に示す。
【０１９８】
図２４では、第１回路２４０１にＴＡＰ、ＢＩＯＳ、ＤＩＳＲ、ＤＯＳＲが与えられている。第２回路２４０３（ディジタル回路）は第１回路２４０１のＤＩＳＲから入力データを受け、第１回路のＤＯＳＲにデータを出力する。第２回路２４０３が順序回路であれば、ＢＩＯＳから第２回路への点線で示すように、第１回路２４０１のＢＩＯＳからの制御入力も受ける。組合せ回路でも順序回路でも、第２回路２４０３の試験は前に説明したように行われる。第１回路２４０１と第２回路２４０３は物理的に互いに分離して与えることができる。例えば、第１回路２４０１と第２回路２４０３はそれぞれ異なるＩＣで与えられ、第１および第２回路の一方または両方は多重ＩＣを備え、または第１および第２回路の一方または両方はそれぞれ多重ＩＣを備える多重回路板を備えてよい。
【０１９９】
図２５では、第１回路２５０１にＴＡＰ、ＢＩＯＳ、ＤＩＳＲ、ＤＯＳＲが与えられている。第２回路２５０３（アナログ回路）は第１回路２５０１のＤＯＳＲからデイジタル・アナログ変換器（ＤＡＣ）２５０５を経て入力データを受け、第１回路のＤＯＳＲにアナログ・ディジタル変換器（ＡＤＣ）２５０７を経てデータを出力する。図２５に示すように、ＤＡＣ２５０５とＡＤＣ２５０７はＢＩＯＳから制御入力を受ける。第２回路２５０３が順序回路であれば、ＢＩＯＳから第２回路への点線で示すように、第１回路２５０１のＢＩＯＳからの制御入力も受ける。上に説明したようにＤＩＳＲがシフトＤＩＳＲおよび更新ＤＩＳＲ動作を行った後、ＢＩＯＳが必要に応じて制御を出力すると、ＤＡＣ２５０５はＤＩＳＲからのディジタルデータをアナログ信号に変換して回路２５０３に入力する。回路２５０３はアナログ入力に応答して、アナログ信号をＡＤＣ２５０７に出力する。回路２５０３が順序回路であれば、ＢＩＯＳは適当な制御を出力して回路２５０３がアナログ入力に応答できるようにしなければならない。回路２５０３からアナログ出力をＡＤＣ２５０７に与えた後、ＢＩＯＳが必要に応じて制御を出力すると、ＤＡＣ２５０７は回路２５０３からのアナログ出力をディジタル信号に変換し、ＤＯＳＲはこれを捕獲する。ＢＩＯＳは必要に応じて待ち状態（上に説明した）を実現することにより、更新ＤＩＳＲ動作と捕獲ＤＯＳＲ動作の間に、ＤＡＣ２５０５と回路２５０３（順序回路の場合）とＡＤＣ２５０７を制御する十分な時間を与える。
【０２００】
組合せ回路でも順序回路でも、第２回路２５０３の試験は前に説明したように行われる。第１回路２５０１と第２回路２５０３は物理的に互いに分離して与えることができる。例えば、第１回路２５０１と第２回路２５０３はそれぞれ異なる離散電気装置で与えられ、第１および第２回路の一方または両方は多重離散装置を備え、または第１および第２回路の一方または両方はそれぞれ多重離散装置を備える多重回路板を備えてよい。ＤＡＣ２５０５とＡＤＣ２５０７は第１回路２５０１上に示したが、一方または両方は第２回路２５０３上か、または他の位置にあってもよい。
【０２０１】
ＤＡＣによっては、ＤＩＳＲの更新レジスタ（図１２を参照）に代わる入力レジスタを備える。このようなＤＡＣを用いるときは、ＤＩＳＲのゲートカウントを減らすことができる。というのは、ＤＩＳＲはシフトレジスタと更新出力レジスタの組合せを必要とせず、単にシフトレジスタであればよいからである。ＤＡＣの入力レジスタはＢＩＯＳから更新制御出力を受けることができ、これによりＤＩＳＲからのデータはＤＡＣの入力レジスタにロードされる。
【０２０２】
図２６では、第１回路２６０１にＴＡＰ、ＢＩＯＳ、ＤＩＳＲが与えられ、第２回路２６０３にＴＡＰ、ＢＩＯＳ、ＤＯＳＲが与えられる。第３回路２６０５（ディジタル回路）は第１回路２６０１のＤＩＳＲから入力データを受け、第２回路２６０３のＤＯＳＲにデータを出力する。第３回路２６０５が順序回路であれば、第１または第２回路のＢＩＯＳからの制御入力も受ける。この例では、第３回路２６０５への逐次制御入力は第１回路２６０１のＢＩＯＳから点線の接続を経て来る。組合せ回路でも順序回路でも、第３回路２６０５の試験は前に説明したように行われる。従って図２６は図２４と同じであり、異なるところは、図２４の回路２４０１の機能が、図２６では物理的に互いに分離して与えられる二つの回路２６０１と２６０３で行われることである。試験中のタイミングは、回路２６０１と２６０３のＴＡＰへの共通のＴＣＫおよびＴＭＳ入力と同期する。
【０２０３】
図２７では、第１回路２７０１にＴＡＰ、ＢＩＯＳ、ＤＩＳＲが与えられ、第２回路２７０３にＴＡＰ、ＢＩＯＳ、ＤＯＳＲが与えられる。第３回路２７０５（アナログ回路）は第１回路２７０１のＤＩＳＲからＤＡＣ２７０７を経て入力データを受け、第２回路２７０３のＤＯＳＲにＡＤＣ２７０９を経てデータを出力する。図２７に示すように、ＤＡＣ２７０７は第１回路２７０１のＢＩＯＳから制御入力を受け、ＡＤＣ２７０９は第２回路２７０３のＢＩＯＳから制御入力を受ける。第３回路２７０５が順序回路であれば、第１または第２回路のＢＩＯＳからの制御入力も受ける。この例では、第３回路２７０５への逐次制御入力は第１回路２７０１のＢＩＯＳから点線の接続を経て来る。組合せ回路でも順序回路でも、第３回路２７０５の試験は前に説明したように行われる。従って図２７は図２５と同じであり、異なるところは、図２５の回路２５０１の機能が、図２７では物理的に互いに分離して与えられる二つの回路２７０１と２７０３で行われることである。試験中のタイミングは、回路２７０１と２７０３のＴＡＰへの共通のＴＣＫおよびＴＭＳ入力と同期する。ＤＡＣ２７０７とＡＤＣ２７０９はそれぞれ第１回路２７０１と第２回路２７０３に設けられているが、一方または両方は第３回路２７０５か、または他の位置に設けてもよい。
【０２０４】
図２８は図２４および図２５と同様であるが、試験中の回路はアナログおよびディジタル入力とアナログおよびディジタル出力を持つ混合信号回路２８０３である。混合信号回路２８０３へのアナログ入力２８０９は上の図２５のようにＤＡＣ２８０５から与えられ、混合信号回路２８０３からのアナログ出力２８１１は、同じく図２５のようにＡＤＣ２８０７に与えられる。混合信号回路２８０３へのディジタル入力２８１３は上の図２４と同様に回路２８０１のＤＩＳＲから直接与えられ、混合信号回路２８０３からのディジタル出力２８１５は、同じく図２４のように回路２８０１のＤＯＳＲに直接与えられる。混合信号回路２８０３が順序回路であれば、ＢＩＯＳから混合信号回路２８０３への点線で示すように、これも回路２８０１のＢＩＯＳから制御入力を受ける。組合せ回路であれ順序回路であれ、混合信号回路の試験は前に説明したように行われる。
【０２０５】
図２９は、ＴＡＰ、ＢＩＯＳ、ＤＩＯＳ、ＤＯＳＲがデータプロセッサ２９０１内に用いられる一方法を示す。ＤＩＳＲはデータプロセッサのアドレス出力バスとデータ出力バスにアクセスするよう結合され、ＤＯＳＲはデータプロセッサのデータ入力バスと割込みバスにアクセスするよう接続される。データプロセッサ２９０１は、例えば、ＴＡＰ、ＢＩＯＳ、ＤＩＳＲ、ＤＯＳＲを含むように従来のマイクロプロセッサを変更したものでよい。試験モードにすると、ＴＡＰ、ＢＩＯＳ、ＤＩＳＲ、ＤＯＳＲはプロセッサのＩ／Ｏ境界に結合する周辺回路を試験するだけでなく、入力および出力の直列バスを用いてプロセッサの機能的な動作をエミュレートする高速で効率的な方法を提供する。プロセッサの通常のＩ／Ｏおよび割込み動作のエミュレーションは、ハードウエアおよびソフトウエア問題のデバッグや、ソフトウエアの開発に有用である。
【０２０６】
データプロセッサ２９０１の通常の動作中は、ＤＩＳＲとＤＯＳＲは使用禁止で透明になり、プロセッサの機能論理回路は、アドレス、データ、制御、割込みバスを経て外部周辺回路（例えば、図示のＲＯＭ，ＲＡＭ、Ｉ／Ｏ、その他の装置）にＩ／Ｏおよび割込み動作を行うことができる。図２９に示すように、プロセッサの機能論理回路から透明なＤＩＳＲを通ってアドレスおよび出力データを周辺回路に送り、周辺回路から透明なＤＯＳＲを通って入力データおよび割込みを機能論理回路に送ることができる。ＤＩＳＲおよびＤＯＳＲが透明なので、プロセッサの機能論理は周辺回路に関連するＩ／Ｏおよび割込み動作を直接実行することができる。これは、ＤＩＳＲおよびＤＯＳＲとプロセッサの機能論理との間のバス接続（点線で示す）によって行われる。ＤＩＳＲおよびＤＯＳＲ回路は多重化された出力を持ち、これにより、周辺回路はプロセッサの機能論理かＤＩＳＲおよびＤＯＳＲ回路の内部のシフトレジスタに選択的に結合することができる。また通常の動作中は、データ出力可能および読取り／書込み制御機能は、図２９の２９１１で機能論理と制御バスの接続を点線で示すように、プロセッサの機能論理により制御される。
【０２０７】
試験またはエミュレーション中は、プロセッサの通常のＩ／Ｏおよび割込み動作は使用禁止になり、ＤＩＳＲおよびＤＯＳＲは、ＤＩＳＲおよびＤＯＳＲ回路の多重化された出力を経て、周辺装置の試験またはプロセッサのＩ／Ｏおよび割込み動作をエミュレートする。試験動作中はＴＡＰ、ＢＩＯＳ、ＤＩＳＲ、ＤＯＳＲが前に説明したように共に動作すると、ＤＩＳＲは試験パターンを周辺回路に出力し、ＤＯＳＲは周辺回路の応答を受けることができる。エミュレーション動作中は、ＴＡＰ、ＢＩＯＳ、ＤＩＳＲ、ＤＯＳＲが前に説明したように共に動作すると、ＤＩＳＲはアドレスおよびデータを周辺回路に出力し、ＤＯＳＲはデータおよび割込みを周辺回路から受けることができる。
【０２０８】
図２９の周辺回路は順序回路で、プロセッサからデータを入力したり、プロセッサにデータを出力するための制御入力を必要とする。試験またはエミュレーション中は、２９１１での機能論理制御は使用禁止になり、ＢＩＯＳはこの制御を実行することができる。例えば、通常プロセッサから出力すると同様に、ＢＩＯＳは読取り／書込み制御を出力することができる。制御入力の発生源である機能論理回路とＢＩＯＳとを切り換えることは、図２２−２３に関連してすでに説明した。周辺回路はＢＩＯＳからの制御入力により、例えば、ＤＩＳＲからのデータをアドレスされた位置に受け、アドレスされた位置からのデータをＤＯＳＲに出力することができる。更に、ＢＩＯＳは制御（データ出力可能）をデータ出力バスの３状態バッファ２９０３に出力し、データをいつ周辺回路に書き込みまたは読み取るかを調節する。データを周辺回路に書き込み中は、３状態バッファ２９０３は使用可能になり、データをＤＩＳＲから周辺回路に出力することができる。データを周辺回路から読み取り中は、３状態バッファ２９０３は使用禁止になり、データを周辺回路からＤＯＳＲに入力することができる。
【０２０９】
図２９においてＢＩＯＳは必要な制御信号を与えるので、上に述べた理由から、本発明は多重データレジスタ走査動作を用いる場合より高速でプロセッサＩ／Ｏのエミュレーションおよび周辺回路の試験を行うことができる。
【０２１０】
図２９において、データプロセッサの実際の機能論理回路は、システムＩ／Ｏおよび割込み動作を行う必要はない。従って本発明のエミュレーション機能を用いて、データプロセッサの設計と並行してまたはデータプロセッサの設計が可能になる以前に、システム構造を設計し確認することができる。更に比較的配線の少ない直列バスによってエミュレーションを行うので、エミュレーションの配線の相互接続が簡単になる。特に、全てのプロセッサピンをエミュレーション制御器に配線する必要のある従来のプラグインエミュレーション装置に比べると簡単である。ここに開示した方法は、エミュレーション制御器への直列バスだけを配線すればよい。
【０２１１】
図２９は、機能論理またはエミュレーション論理がＩ／Ｏおよび割込み動作を選択的に行う例示の一実施態様を示したが、機能論理とエミュレーション論理とを切り換えることのできる別の方法を用いてよいことは明かである。例えば、ＤＩＳＲおよびＤＯＳＲ回路で上に述べた多重化した出力を用いる代わりに、２９０５でアドレスバスに、２９０７でデータ出力バスに、２９０８で割込み入力バスに、２９０９でデータ入力バスに機能論理回路を単に接続してよい。このような配置により、機能論理とエミュレーション論理との切り換えが可能である。
【０２１２】
図２９ではデータプロセッサと外部周辺回路を例えば回路板設計で示したが、本発明は図２９のシステムの実際の物理的な具体化とは関係ない。別の例として、図２９のシステムは単一ＩＣで与えてもよいし、図２９に示すものと同様な複数のシステムを単一ＩＣでまたは多チップモジュールまたは回路板などの別の共通基板で与えても、または図２９のシステムと同様な一つまたは複数のシステムを複数の多チップモジュールまたは回路板で与えてもよい。
【０２１３】
本発明の例示的な実施態様を上に説明したが、これは本発明の範囲を制限するものではなく、各種の実施態様で行うことができるものである。
【０２１４】
以上の説明に関して更に以下の項を開示する。
１．  電気回路であって、
電気回路の通常の動作中に所望の機能を実行する複数の機能回路と、
前記機能回路にそれぞれ結合して前記機能回路の試験を支援し、かつ試験制御器に接続可能であって前記試験制御器と前記電気回路の間で直列データを移送することのできる、複数の別個のシリアル走査路と、
第１の前記シリアル走査路を使用可能にし、第２の前記シリアル走査路も使用可能にして、対応する機能回路を同時に試験できるようにする、選択回路と、
それぞれ前記第１および第２シリアル走査路に接続され、また前記試験制御器に接続可能であり、前記試験制御器に接続すると前記対応する機能回路の試験を実行し、一方シリアル試験データを前記試験制御器と前記第１および第２シリアル走査路の間で中断することなく連続的に移送する、第１および第２制御回路と、
を備える電気回路。
【０２１５】
２．シリアル走査試験構造（１０２−１２６）は、従来の試験構造が必要とする多重データレジスタシフト動作による反復なしに、電気回路の試験を行うことができる。この試験構造は、複数の電気回路を同時に試験することができる。
【０２１６】
関連文書の相互参照
次の文書は本申請の主題に関連する主題を含む。これらの文書は本申請の被譲渡人に譲渡されたもので、参照文書としてここに示す。
0003610095.tif 000017
【図面の簡単な説明】
【図１】電気回路の試験に用いる従来のシリアル走査方式を示す図。
【図２】電気回路の試験に用いる従来のシリアル走査方式を示す図。
【図３】電気回路の試験に用いる従来のシリアル走査方式を示す図。
【図４】電気回路の試験に用いる従来のシリアル走査方式を示す図。
【図５】電気回路の試験に用いる従来のシリアル走査方式を示す図。
【図６】電気回路の試験に用いる従来のシリアル走査方式を示す図。
【図７】電気回路の試験に用いる従来のシリアル走査方式を示す図。
【図８】木発明のシリアル走査試験構造を示すブロック図。
【図９】図８のＢＩＯＳを示すブロック図。
【図１０】ａ〜ｄは図８のシリアル走査試験構造と試験する組合せ回路の間のインターフェースの動作を示す図。
【図１１】ａ〜ｆは図８の試験構造と試験する順序回路とのインターフェースの動作を示す図。
【図１２】試験する組合せ回路に関連して、図８の試験構造の使用を示す図。
【図１３】試験する順序回路に関連して、図８の試験構造の使用を示す図。
【図１４】Ａは複数の電気回路を同時に試験することのできるシリアル走査試験構造を示すブロック図。
Ｂは図１４Ａの試験構造の修正を示す図。
【図１５】試験制御装置と図１４Ａ，Ｂに示す試験構造を備える集積回路とのインターフェースを示すブロック図。
【図１６】データを図１４Ａ，Ｂの試験構造に用いるために試験データのフレームを作る方法を示すブロック図。
【図１７】複数の電気回路を同時に試験することのできる、別の試験構造を示すブロック図。
【図１８】図１５の試験制御装置を示すブロック図。
【図１９】図９のプログラマブルＩ／Ｏ制御器の状態図。
【図２０】図１９の状態図の一部を更に詳細に示す状態図。
【図２１】図１９の状態図の別の部分を更に詳細に示す状態図。
【図２２】ＢＩＯＳと試験する順序回路の間の、図１３に示す接続を示すブロック図。
【図２３】図２２の構造の代替構造を示すブロック図。
【図２４】本発明による例示の試験環境を示す図。
【図２５】本発明による例示の試験環境を示す図。
【図２６】本発明による例示の試験環境を示す図。
【図２７】本発明による例示の試験環境を示す図。
【図２８】本発明による例示の試験環境を示す図。
【図２９】本発明の例示の試験およびエミュレーション応用を示すブロック図。
【符号の説明】
ＡＤＣ  アナログ・ディジタル変換器
ＢＩＯＳ  境界入力／出力並直列変換回路
ＢＹＰＡＳＳ  バイパスレジスタ
ＣＣ  組合せ回路
ＣＩＳＲ  制御入力シフトレジスタ
ＤＡＣ  ディジタル・アナログ変換器
ＤＩＳＲ  データ入力シフトレジスタ
ＤＯＳＲ  データ出力シフトレジスタ
ＤＲＥＧ  データレジスタ
ＦＩ  機能入力
ＦＯ  機能出力
ＩＲＥＧ  命令レジスタ
ＩＳ  入力スイッチ
ＭＵＸ  マルチプレクサ
ＯＳ  出力スイッチ
ＴＡＰ  試験アクセスポート
１０２（ＴＤＩ）  試験データ入力ピン
１０４（ＴＭＳ）  試験モード選択
１０６（ＴＣＫ）  試験クロック
１０８，１１０  制御バス
１１６（ＴＤＯ）  試験データ出力ピン
１２６  ＢＩＯＳ制御出力バス
９０１  制御バスマルチプレクサ
９０３  シフトレジスタ
９０５  カウンタ
２２０１  マルチプレクサ
２２０３  機能制御回路
２３０１  ＢＩＯＳモード付き機能制御回路
２４０１  第１回路
２４０３  第２回路（ディジタル回路）
２５０１  第１回路
２５０３  第２回路（アナログ回路）
２５０５  ＤＡＣ
２５０７  ＡＤＣ
２６０１  第１回路
２６０３  第２回路
２６０５  第３回路
２７０１  第１回路
２７０３  第２回路
２７０５  第３回路
２７０７  ＤＡＣ
２７０９  ＡＤＣ
２８０１  回路
２８０３  混合信号回路
２８０５  ＤＡＣ
２８０７  ＡＤＣ
２８０９  アナログ入力
２８１１  アナログ出力
２８１３  ディジタル入力
２８１５  ディジタル出力
２９０１  データプロセッサ
２９０３  ３状態バッファ
【図１】
0003610095.tif 000018
【図２】
0003610095.tif 000019
【図３】
0003610095.tif 000020
【図４】
0003610095.tif 000021
【図５】
0003610095.tif 000022
【図６】
0003610095.tif 000023
【図７】
0003610095.tif 000024
【図８】
0003610095.tif 000025
【図９】
0003610095.tif 000026
【図１０】
0003610095.tif 000027
【図１１】
0003610095.tif 000028
【図１２】
0003610095.tif 000029
【図１３】
0003610095.tif 000030
【図１４】
0003610095.tif 000031
【図１５】
0003610095.tif 000032
【図１６】
0003610095.tif 000033
【図１７】
0003610095.tif 000034
【図１８】
0003610095.tif 000035
【図１９】
0003610095.tif 000036
【図２０】
0003610095.tif 000037
【図２１】
0003610095.tif 000038
【図２２】
0003610095.tif 000039
【図２３】
0003610095.tif 000040
【図２４】
0003610095.tif 000041
【図２５】
0003610095.tif 000042
【図２６】
0003610095.tif 000043
【図２７】
0003610095.tif 000044
【図２８】
0003610095.tif 000045
【図２９】
0003610095.tif 000046