(57)【特許請求の範囲】
【請求項１】
コア回路を備えた集積回路であって、
前記コア回路を前記集積回路の外部にある回路へ結合する複数の端子と、テストデータ入力およびテストデータ出力と、
シフトレジスタ構造内で前記テストデータ入力と前記テストデータ出力との間に結合された複数のセルを備えたバウンダリスキャンチェーンであって、前記複数のセルの各セルが前記複数の端子のうち対応する一つの端子と前記コア回路との間に結合されているバウンダリスキャンチェーンと、
前記複数のセルが前記複数の端子と前記コア回路との間の信号フローを許可する機能モードと、テストデータが前記バウンダリスキャンチェーンに沿って前記複数のセルを通って直列にシフトされ、前記複数のセルが前記対応する端子のそれぞれと前記コア回路との間で信号フローをインターセプトするテストモードとの間で前記バウンダリスキャンチェーンを切り換えるように構成されたテスト制御回路であって、前記バウンダリスキャンチェーンをさらなるモードへ切り換えるために命令を実行するように構成され、前記さらなるモードにおいて、前記複数のセルの選択可能な第１のセル群が前記バウンダリスキャンチェーンに沿って直列にデータを伝送し、前記複数のセルの選択可能な第２のセル群は前記さらなるモードにある前記第１のセル群を介して伝送されたまたは伝送されるデータを前記スキャンチェーンから前記端子へまたは前記端子から前記スキャンチェーンへ書き込みまたは読み出す、テスト制御回路と、
前記バウンダリスキャンチェーンの前記各セルのためのコンフィギュレーションセルであって、前記テストデータ入力からコンフィギュレーションデータを取り込み可能であり、前記バウンダリスキャンチェーンの前記各セルは前記コンフィギュレーションセルに結合されたコンフィギュレーション入力を有し、該コンフィギュレーション入力は、前記コンフィギュレーションデータの制御下で、前記バウンダリスキャンチェーンの前記各セルが前記第１のセル群のうちの一つまたは前記第２のセル群のうちの一つとして機能すべきであるかどうかを選択するために用いられる、コンフィギュレーションセルとを備え、
前記バウンダリスキャンチェーンの前記各セルがスキャンフリップフロップおよびアップデートフリップフロップを具備し、前記バウンダリスキャンチェーン内の連続的なセルの前記スキャンフリップフロップが前記シフトレジスタ構造を形成するために直列接続され、前記アップデートフリップフロップが前記スキャンフリップフロップからテストデータを受信するために前記シフトレジスタ構造に結合され、前記アップデートフリップフロップが、前記テストモードで、前記バウンダリスキャンチェーンの前記各セルが結合された前記端子のうち前記対応する一つの端子へ前記テストデータを供給し、前記バウンダリスキャンチェーンの前記複数のセルの少なくとも一部のセルの前記アップデートフリップフロップが、前記さらなるモードにおいて、コンフィギュレーションデータを供給するために、前記コンフィギュレーションセルとして機能する、集積回路。
【請求項２】
前記バウンダリスキャンチェーンの前記各セルは、前記シフトレジスタ構造へ結合された入力および前記コア回路へ結合された入力と、前記各セルのための前記端子へ結合された出力と、前記テスト制御回路および前記各セルの前記アップデートフリップフロップの出力に結合された制御入力とを備えた多重化回路を具備し、
前記さらなるモードにおいて、前記多重化回路は、前記アップデートフリップフロップが前記各セルは前記バウンダリスキャンチェーンの前記第１のセル群のセルであることを示すときに、前記コア回路を前記対応する端子へ結合し、前記多重化回路は、前記アップデートフリップフロップが前記各セルは前記バウンダリスキャンチェーンの前記第２のセル群のセルであることを示すときに、前記シフトレジスタ構造を前記対応する端子へ結合する、請求項１に記載の集積回路。
【請求項３】
前記バウンダリスキャンチェーンの前記各セルにより構成された前記シフトレジスタ構造がスキャン入力およびスキャン出力を具備し、
前記テストデータ入力は前記バウンダリスキャンチェーン内の前記複数のセルの最も前方のセルの前記スキャン入力に結合され、前記複数のセルのさらなる各セルのスキャン入力が前記複数のセルの先行する一つのセルの前記スキャン出力に結合され、前記複数のセルの最後のセルのスキャン出力が前記テストデータ出力に結合され、
前記スキャンフリップフロップが前記バウンダリスキャンチェーンの前記各セルの前記スキャン入力に結合された入力を有し、
前記バウンダリスキャンチェーンの前記各セルはさらに、
前記各セルの前記スキャン入力に結合された入力および前記スキャンフリップフロップの出力に結合された入力を有し、前記各セルの前記スキャン出力および制御入力に結合された出力を有する多重化回路と、
前記各セルが前記第１のセル群のセルであるように選択された場合に、前記さらなるモードにおいて、前記多重化回路が前記スキャン入力を前記スキャン出力へ結合することを選択するために、前記多重化回路の前記制御入力に結合されたコンフィギュレーション入力を有する、請求項１に記載の集積回路。
【請求項４】
前記バウンダリスキャンチェーンの前記各セルは前記スキャンフィリップフロップの入力に結合された機能入力を有し、前記バウンダリスキャンチェーンの前記複数のセルの少なくとも一部が入力セルであり、各入力セルの前記多重化回路が前記機能入力に結合されたさらなる入力を備え、前記多重化回路は、前記各入力セルが前記第２のセル群のセルであるように選択された場合に、前記さらなるモードにおいて前記機能入力を前記入力セル内のスキャン出力へ結合するように構成される、請求項３に記載の集積回路。
【請求項５】
前記バウンダリスキャンチェーンの前記各セルは前記スキャンフィリップフロップの入力に結合された機能入力を有し、前記バウンダリスキャンチェーンの前記複数のセルの少なくとも一部が入力セルであり、各入力セルの前記多重化回路が前記機能入力に結合されたさらなる入力を備え、前記多重化回路は、前記各セルが前記第２のセル群のセルであるように選択された場合に、前記さらなるモードにおいて、前記機能入力を前記スキャンフィリップフロップの入力へ結合し、前記スキャンフリップフロップの出力を前記スキャン出力へ結合するように構成される、請求項３に記載の集積回路。
【請求項６】
前記バウンダリスキャンチェーンの前記各セルは機能出力を有し、前記バウンダリスキャンチェーンの前記複数のセルのうち少なくとも一部が出力セルであり、各出力セルの前記多重化回路は、前記出力セルが前記複数のセルの第２のセルであるように選択された場合に、前記さらなるモードにおいて、前記機能出力を前記複数のセルのうちの前記出力セル内の前記スキャン出力へ結合するように構成される、請求項３に記載の集積回路。
【請求項７】
前記バウンダリスキャンチェーンの前記各セルは機能出力を有し、前記バウンダリスキャンチェーンの前記複数のセルのうち少なくとも一部が出力セルであり、前記スキャンフリップフロップと前記機能出力との間に結合された出力回路を備え、各出力セルの前記出力回路は、前記各セルが前記第２のセル群のセルであるように選択された場合に、前記さらなるモードにおいて、前記シフトレジスタ構造から受信されたデータを前記機能出力で出力し、前記各セルが前記第１のセル群のセルであるように選択された場合に、前記さらなるモードにおいて、前記シフトレジスタ構造からのデータが前記機能出力で出力されることを阻止するように構成される、請求項３に記載の集積回路。
【請求項８】
前記バウンダリスキャンチェーンの前記各セルは前記シフトレジスタ構造と前記出力回路との間に結合されたアップデートフリップフロップを備え、前記出力回路は、前記各セルが前記複数のセルの第２のセル群のセルであるように選択された場合に、前記さらなるモードにおいて、前記アップデートフリップフロップにラッチされたデータ信号を前記アップデートフリップフロップから前記機能出力へ出力する、請求項７に記載の集積回路。
【請求項９】
前記出力回路は、前記バウンダリスキャンチェーンの前記各セルが前記複数のセルの第２のセル群のセルであるように選択された場合に、前記さらなるモードにおいて、前記シフトレジスタ構造から前記機能出力へデータ信号を連続的に出力する、請求項７に記載の集積回路。
【請求項１０】
各出力セルの前記出力回路は多重化機能を有し、多重入力が前記出力セルの前記機能入力および前記シフトレジスタ構造へ結合され、前記出力回路は、前記出力セルが前記第１のセル群のセルであるように選択された場合に、前記さらなるモードにおいて、前記機能入力を前記機能出力へ結合する、請求項７に記載の集積回路。
【請求項１１】
前記バウンダリスキャンチェーンの前記各セルはスキャンフリップフロップを備え、前記バウンダリスキャンチェーン内の連続的なセルの前記スキャンフリップフロップは前記シフトレジスタ構造内で直列に結合され、前記制御回路は前記さらなるモードにおいて当該集積回路を非同期動作へ切り換える命令をサポートし、非同期動作において、前記第２のセル群の内の前記シフトレジスタ構造から前記複数の端子へ、または、前記複数の端子から前記第２のセル群の内の前記シフトレジスタ構造へ、データが直接的に書き込みまたは読み出しされるように、前記第１のセル群は、非同期動作において前記シフトレジスタ構造内の前記第１のセル群の前記スキャンフリップフロップをバイパスする透過的なパスを生成する、請求項１に記載の集積回路。
【請求項１２】
前記制御回路は前記さらなるモードにおいて当該集積回路を同期動作へ切り換えるさらなる命令をサポートし、前記第１のセル群が前記同期モードにおいて前記シフトレジスタ構造に沿って透過的にされるように、前記バウンダリスキャンチェーンの長さが適応される、請求項１１に記載の集積回路。
【請求項１３】
前記バウンダリスキャンチェーン内の連続的なセルの前記スキャンフリップフロップは前記シフトレジスタ構造内で直列に結合され、前記制御回路は前記さらなるモードにおいて当該集積回路を同期動作へ切り換えるさらなる命令をサポートし、前記第１のセル群が前記同期モードにおいて前記シフトレジスタ構造内で透過的にされるように、前記バウンダリスキャンチェーンの長さが適応される、請求項１に記載の集積回路。
【請求項１４】
前記制御回路は複数の状態を定める状態機械を備え、その複数の状態は、前記状態機械が前記テストモードにおいてテストプロトコルの制御のもとでとる状態であり、前記バウンダリスキャンチェーンの前記複数のセルを制御するために前記複数のセルの制御入力へ発行される制御信号を決定し、前記テストプロトコルは前記さらなるモードでも前記状態機械を制御するために使用され、前記バウンダリスキャンチェーンの前記各セルは、当該集積回路が前記さらなるモードで動作するかどうかを示す制御信号と、セルが前記バウンダリスキャンチェーンの前記第１のセル群または前記第２のセル群のセルとして機能するかを識別するコンフィギュレーション信号とを受信するさらなる制御入力を有し、前記制御信号および前記コンフィギュレーション信号と組み合わせて、前記制御入力へ発行された前記制御信号を用いて前記各セルを制御する、請求項１に記載の集積回路。
【請求項１５】
前記状態は、前記制御回路が前記テストモードにおいて前記シフトレジスタ構造を通してデータをシフトするために前記バウンダリスキャンチェーンの前記複数のセルを制御するシフト状態を含み、前記状態機械が前記シフト状態にあるとき、前記シフト状態において前記第１のセル群を介して伝送されたまたは伝送されるデータを前記第２のセル群が前記スキャンチェーンと前記複数の端子または前記コア回路との間で伝送するように、前記複数のセルが構成される、請求項１４に記載の集積回路。
【請求項１６】
互いに結合された集積回路およびさらなる回路を具備する電子回路を動作させる方法であって、
前記集積回路はシフトレジスタ構造内で前記集積回路のテストデータ入力とテストデータ出力との間に結合された複数のセルを備えたバウンダリスキャンチェーンを備え、前記複数のセルの各セルは前記集積回路の複数の端子の各々と前記集積回路のコア回路との間にも結合され、
前記バウンダリスキャンチェーンの前記複数のセルが前記複数の端子と前記コア回路との間との間の信号フローを許可する機能モードと、
テストデータが前記バウンダリスキャンチェーンに沿って前記複数のセルを通して直列にシフトされ、前記複数のセルが前記複数の端子の各々と前記コア回路との間で信号フローをインターセプトするテストモードと、
命令の際に、前記バウンダリスキャンチェーンの前記複数のセルの選択可能な第１のセル群が前記バウンダリスキャンチェーンに沿って直列にデータを伝送するさらなるモードであって、前記バウンダリスキャンチェーンの前記複数のセルの選択可能な第２のセル群が前記さらなるモードにある前記第１のセル群を介して伝送されたまたは伝送されるデータを前記ス
キャンチェーンから前記複数の端子へまたは前記複数の端子から前記スキャンチェーンへ書き込みまたは読み出すさらなるモードと、の間で前記集積回路が切り換え可能であり、
前記集積回路は、さらに、前記バウンダリスキャンチェーンの前記各セルのためのコンフィギュレーションセルであって、前記テストデータ入力からコンフィギュレーションデータを取り込み可能であり、前記バウンダリスキャンチェーンの前記各セルは前記コンフィギュレーションセルに結合されたコンフィギュレーション入力を有し、該コンフィギュレーション入力は、前記コンフィギュレーションデータの制御下で、前記バウンダリスキャンチェーンの前記各セルが前記第１のセル群または前記第２のセル群のうちの一つとして機能すべきであるかどうかを選択するために用いられる、コンフィギュレーションセルを備え、
前記バウンダリスキャンチェーンの前記各セルがスキャンフリップフロップおよびアップデートフリップフロップを具備し、前記バウンダリスキャンチェーン内の連続的なセルの前記スキャンフリップフロップが前記シフトレジスタ構造を形成するために直列接続され、前記アップデートフリップフロップが前記スキャンフリップフロップからテストデータを受信するために前記シフトレジスタ構造に結合され、前記アップデートフリップフロップが、前記テストモードで、前記バウンダリスキャンチェーンの前記各セルが結合された前記端子のうち対応する一つの端子へ前記テストデータを供給し、前記バウンダリスキャンチェーンの前記複数のセルの少なくとも一部の前記アップデートフリップフロップが前記さらなるモードにおいてコンフィギュレーションデータを供給するために前記コンフィギュレーションセルとして機能させ、
前記集積回路を前記さらなるモードへ切り換え、前記バウンダリスキャンチェーンを介して前記複数の端子の選択された端子へ連続的な信号を供給し、および／または、前記複数の端子の選択された端子から連続的な信号を抽出し、一方、前記連続的な信号の間に介在する前記複数の端子のうち他の端子との間では前記スキャンチェーンを介して信号を伝送しない、電子回路を動作させる方法。
【請求項１７】
前記バウンダリスキャンチェーンの前記複数のセルの特定の一つのセルが前記第２のセル群の一つのセルになるよう構成され、前記テストデータ入力から前記バウンダリスキャンチェーンに沿って前記特定の一つのセルのよりも前にある他のすべてのセルが前記第１のセル群になるよう構成される、請求項１６に記載の方法。
【請求項１８】
前記バウンダリスキャンチェーンの前記複数のセルの特定の一つのセルが前記第２のセル群の一つのセルになるよう構成され、前記バウンダリスキャンチェーンから前記テストデータ出力に沿って前記特定の一つのセルに続く他のすべてのセルが前記第１のセル群になるよう構成される、請求項１６に記載の方法。
【請求項１９】
前記バウンダリスキャンチェーンの前記複数のセルの一つの入力セルと、前記バウンダリスキャンチェーンに沿って直接的または間接的に前記一つの入力セルに続く一つの出力セルとが前記第２のセル群のセルになるよう構成され、前記一つの入力セルと前記一つの出力セルとの間に介在するセルのすべてが前記第１のセル群のセルになるように構成される、請求項１６に記載の方法。
【請求項２０】
前記スキャンチェーン内で前記複数の端子のうちの前記他の端子に接続された前記複数のセルをバイパスし、前記シフトレジスタ構造を介する直列伝送のためのクロックから非同期的に前記連続的な信号を供給するステップを含む、請求項１６に記載の方法。
【請求項２１】
請求項１に記載の集積回路と、
前記集積回路の複数の端子に結合された１つ以上のさらなる集積回路と、
を具備し、
前記集積回路と前記さらなる集積回路のテスト入力およびテスト出力がデイジーチェーン型で結合され、前記集積回路と前記さらなる集積回路のテスト制御入力が並列に結合される、電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路に係わり、特に、ＩＥＥＥ１１４９．１規格によって規定された試験インタフェースのようなバウンダリスキャンパスを備えた試験インタフェースを含む集積回路に関する。
【背景技術】
【０００２】
ＩＥＥＥ１１４９．１規格は集積回路のためのテストアクセスインタフェースを規定する。このインタフェースは、集積回路を含む回路基板上の接続の試験を可能にする。このインタフェースはＴＡＰポート（テストアクセスポート）と呼ばれ、テストデータ入力（ＴＤＩ）、テストデータ出力（ＴＤＯ）、テストクロック入力（ＴＣＫ）、テストモード選択入力（ＴＭＳ）、およびテスト状態リセット入力（ＴＲＳＴ）を含む。様々な集積回路のＴＤＩ端子およびＴＤＯ端子が回路基板上においてデイジーチェーンで結合される。様々な集積回路のＴＣＫ入力、ＴＭＳ入力およびＴＲＳＴ入力は並列接続される。
【０００３】
試験インタフェースを備えた集積回路は、集積回路の機能端子と集積回路のコア回路との間に結合された多数のバウンダリスキャンセルが設けられる。さらに、バウンダリスキャンセルは、相互に接続され、テストアクセス用のシフトレジスタ構造を形成する。試験コントローラ（ＴＡＰコントローラと呼ばれる）はバウンダリスキャンセルの動作を制御する。
【０００４】
上記の規格はＴＡＰコントローラの状態機械動作を規定する。状態遷移はＴＭＳ入力を介して選択される。様々な状態遷移がテストモードへの出入りを生じさせる。テストモードにおいて、バウンダリスキャンセルはコア回路と端子との間で信号をインターセプトする。出力セルは試験信号をコア回路の代わりに端子へ供給し、入力セルは端子からデータを捕捉する。状態機械の状態は、データがテストデータ入力からバウンダリスキャンセルのチェーンを経由してテストデータ出力へシフトされるシフト状態を規定する。特定の状態遷移において、チェーンを介してシフトされたデータは端子へ出力されたテストデータを更新するため使用され、その他の遷移では、端子からのデータはチェーンを介して伝送するために捕捉される。
【０００５】
さらに、ＴＡＰコントローラはＴＤＩ端子を介するコマンドのアプリケーションを提供する。コマンドは、特定の集積回路をテストモードの種々のサブモードへ切り換えるために使用され、種々のサブモードには、テストデータがバウンダリスキャンセルを介してシフトされ、端子とコアとの間の信号がインターセプトされる通常のＥＸＴＥＳＴモード、データが集積回路内のバウンダリスキャンセルをバイパスしてＴＤＩからＴＤＯへシフトされるバイパスモード、他の集積回路がテストモードである間、集積回路が正常にその端子へ接続する機能モード、および、集積回路がバウンダリスキャンセルから供給されたデータの更新を無効にするクランプ（ＣＬＡＭＰ）モードが含まれる。さらなるモードでは、テストデータはテストデータ入力ＴＤＩから、命令によって選択された内部スキャンチェーンを介して、テストデータ出力ＴＤＯへ経路制御される。
【０００６】
すべてのバウンダリスキャンセルを通り抜け、ＴＤＯ−ＴＤＩコネクションを介して、一方の集積回路から別の集積回路へ続く直列シフトレジスタ構造は利点と欠点がある。主要な利点はテストデータを異なる集積回路へ供給するために必要とされる配線が最小限に抑えられることである。主要な欠点は、直列構造が集積回路の端子にアクセスすることができる速度を低下させることである。
【０００７】
遅いアクセス速度は、バイパス命令およびクランプ命令を設けることによって部分的に解決される。選択された集積回路に供給されたバイパス命令は、印刷回路基板上のチェーン全体から選択された集積回路のバウンダリスキャンチェーンを効率的に除去するので、関連性があるバウンダリスキャンセルとの間でテストデータを伝送するために必要なクロックサイクル数を削減する。クランプ命令は、関連性がないすべての集積回路の端子における信号が固定され、テストデータを必要としないので、同じクロックサイクル数の範囲内でより多くの有用なデータを供給することを可能にする。その結果として、関連性がある集積回路の連続的な更新のためのデータは関連性がない集積回路のためのデータの代わりに供給される。しかし、バイパスモードまたはクランプモードのため集積回路を設定する既知の命令は、スキャンチェーンを全体としてバイパスまたはクランプするために、集積回路へ全体として適用される。
【０００８】
従来技術は、試験中にアクセス速度を改良するためにさらなる解決策を提案している。米国特許第６，４３０，７１８号は、たとえば、多数の端子へ並列接続された自動試験装置からテストデータを複数のバウンダリスキャンセルへ並列に入力することができる集積回路を提案した。テストデータは、続いて、試験目的のため使用される内部スキャンセルへシフトされる。命令に応じて、内部スキャンセルは、テストデータ入力ＴＤＩから直接的に、または、自動試験装置が接続されたバウンダリスキャンセルからテストデータを受信する。テストデータを並列に供給することによって速度が増加する。同様に、テスト結果は、複数のバウンダリスキャンセルから並列に多数の端子へ通過するか、または、テストデータ出力へ供給される。
【０００９】
米国特許第６，０１８，８１５号はまた、テストデータを並列に入力することを提案するが、この場合には、多数の専用端子を経由する。この公報はまた、多数のスキャンチェーンと、これらのスキャンチェーンのなかでどれがテストデータ入力ＴＤＩとテストデータ出力との間に接続されるかを選択する試験コントローラ命令とを、全てのチェーンをテストデータ入力ＴＤＩとテストデータ出力ＴＤＯとの間に直列接続する命令と共に準備することを提案する。
【００１０】
提案された速度改良は、バイパス命令、クランピング命令、ならびに、並列入力およびスキャンの再構成のための命令に関して、試験中に端子との間でデータを通過させるために要する時間量を削減することを目標とする。アクセス速度の改良に関連しないが、米国特許第５，９９１，９０８号は、ＦＧＰＡ（フィールドプログラマブルゲートアレイ）のファミリーと、そのファミリーのいずれか一つのＦＰＧＡの動作をエミュレートすることができるハードワイヤード装置（マスクプログラマブル回路）を開示する。ハードワイヤード装置は、さらなる設計変更なしに大量生産を可能にさせるため、十分に開発された回路モジュール内のＦＰＧＡを置き換えるために使用される。ＦＰＧＡとハードワイヤード装置の両方にはバウンダリスキャンインタフェースが設けられる。ＦＰＧＡまたはハードワイヤード版を収容する回路基板は同じ方法で試験される。しかし、ファミリー内の異なるＦＰＧＡが有する端子数は異なり、その上、端子は入力端子または出力端子としてプログラム可能であるため、エミュレートされるＦＰＧＡのバウンダリスキャンチェーンに適合するようにハードワイヤード装置内のバウンダリスキャンチェーンを再構成することが必要である。明らかに、この種の再構成は、ＦＰＧＡがプログラムされるときに、おそらく、大量のＦＰＧＡがプログラムされる方法と同じ方法で、１回だけ実行されなければならない。それ以上の動的な再構成については記載されていない。
【００１１】
テストアクセスポートは、単なる構造試験以外で使用するために、ますます検討されている。フラッシュ装置およびＰＬＤのプログラミングでは、アクセスのためにＴＡＰを使用することは既に一般的である。５ピンのコネクタは構造試験のため既にＰＣＢ上に存在するので、プログラミング用の付加的なコネクタは不要であり、基板スペースが節約される。本発明は、試作中の設計デバッグ、および、高いスループットが要求されるその他のタイプのアクセスのために、ＴＡＰおよびバウンダリスキャン実施の使用を考慮する。
【００１２】
アプリケーションまたはシステムの開発は複数の段階により構成される。これらの段階の一つは、ＴＶまたはＤＶＤのような民生アプリケーションのための実際の設計の開発である。完全な生産が始まる前に、試作品が開発される。試作中に、アプリケーションの試験には少なくとも以下の内容が含まれる。
−構造試験と呼ばれることがよくある電気相互接続試験。ＩＥＥＥ１１４９．１規格は今日では広く認知され、ＰＣＢの構造試験の標準として認識されている。
−機能試験は構造試験で解明できない基板相互接続を検証する。
【００１３】
実際の設計をデバッグする。デバッグ中に、アプリケーション（たとえば、ＴＶまたはＤＶＤ）の機能性が検査される。この設計デバッグフェーズは、実際の設計がまだ確定されていない試作の典型を示す。ここでは、設計中の間違いが修正される。アプリケーションが完全生産されているとき、デバッグはもはや不要であり、機能試験および構造試験は設計の機能性を検証する。
【００１４】
試作中に、基板レベルのデバッグは設計エラーを除去することを意味する。これは生産を開始可能する前に重要なステップである。ここでは、
−システム内の設計不良
−基板レイアウト不良
−ソフトウェア不良
−アプリケーション内のチップ設計不良
などの局面に焦点が合わされる。
【００１５】
これらの局面のすべてが正確な機能を評価するために全体の設計デバッグステップにおいて重要である。
【００１６】
設計デバッグが高速かつ効率的に実行されるならば、ＩＣへのアクセスは最も重要である。伝統的に、これはデータを監視するためにＰＣＢ上で利用可能なコネクタと接触することにより行われた。機能データストリームの多くは伝統的な方法で調べることができる。しかし、コネクタで利用できないデータストリームは、試作中に検証されるのと同様に重要である。小型外形パッケージおよびＢＧＡの使用が急速に成長するのにつれて、ＰＣＢ上で測定を実行することはより一層難しくなる。これらのピンへのプローブアクセスは、このとき全く明らかではない。その上、ＰＣＢを生産するコストに対する強い圧力のため、アプリケーションが基板上で占める表面積は小さくなる。試験針と共に使用する付加的なテストスポットを追加することは多くの場合に実現不可能である。したがって、設計者は、基板スペースと、ＩＣのため必要なプログラミングおよびデバッグアクセス能力の増加との間のトレードオフを模索している。現在、標準的な装置を介してアクセスできないデータストリームは検証できないか、または、少なくともそうすることが非常に困難である。
【００１７】
この設計デバッグ段階は、時間がかかり、したがって、製品製作の全サイクルにおいてコストのかかる部分である。アクセス問題が原因となって見つけることができない設計のエラーを探すときに、多量のコストのかかる時間が失われる。アクセスおよびモニタリングのその他の手段がこれらのチップ上のデータストリームを監視するために作成されなければならない。
【００１８】
システムのデバッグはまた、コネクタまたはテストポイントを介するアクセスを必要とする。ＴＡＰポートを使用することは、ＥＪＴＡＧポートを使用するデバッグ用プログラムだけでなく、チップレベルデバッグについても既に実証されている。設計機能性の基板レベルデバッグのためＴＡＰポートを使用することは論理的な拡張である。ＩＣのあらゆるＩＯピンに接触する実施されたバウンダリスキャンアーキテクチャは、他のピンへのアクセス性を高める。試作段階では、これは、さもなければアクセスできないピンへのデータストリームを、付加的な基板設計を組み込むことを必要とすることなく、監視することを可能にさせる。
【００１９】
標準バウンダリスキャンテストピンはアプリケーションを、機能ドメインではなく、テストドメインに加える。これは、機能データがＴＡＰコネクタへ向けて、または、アプリケーション内のその他のピンへ向けて、チェーンを介して通過することを回避する。
【００２０】
原則的には、１つのＩＣがＥＸＴＥＳＴモードに置かれ、他の全てがバイパス命令を使用して機能モードに設定されるとき、ＴＤＯは機能データのオブザーバとして使用され、ＴＤＩはドライバとして使用される。デバッグデータストリームを搬送するＩＣに接続されたＴＡＰが選択されるべきである。所定の値がピンに加えられるべき特定の状況では、これらのＩＣはＣＬＡＭＰに設定される必要があり、一方、データをＴＡＰへ転送するＩＣはＥＸＴＥＳＴにすることが必要である。
【００２１】
しかし、バウンダリスキャンの基本的に静的な振る舞いは、駆動された試験またはデバッグによる機能性のための使用を制限する。バウンダリスキャンチェーンの直列性はデジタルピン上の実効クロック周波数を減少させる。テスト周波数（ＴＣＫ）は一般に１０乃至２０ＭＨｚの範囲に収まるが、殆どのＡＳＩＣ設計は１０００個のセルを含むチェーンを有し、ＩＣピンの速度（データレート）を実質的に１０ｋＨｚまで低下させる。ＤＶＤＲおよびデジタルＴＶのような殆どの（民生）アプリケーションでは、１０ｋＨｚはほぼ静的であると考えられる。一般に、この低周波数は、はるかに高い速度を必要とする機能性の適切で確実なデバッグに十分ではない。特定のデバッグ試験を実行するために必要ではないチェーン内のセルをバイパスすることは実効速度を増加させる。その上、ＩＣのすべてのピンは、通常のバウンダリスキャンが実行されるとき、機能モードまたはバウンダリスキャンモードのいずれかである。
【発明の開示】
【発明が解決しようとする課題】
【００２２】
本発明の目的はデバッグの際に使用する集積回路の試験インタフェースの安定性を改良することである。
【００２３】
本発明のもう一つの目的は回路内の選択された端子がバウンダリスキャンチェーンを介してアクセスされるアクセス速度を増加することである。
【課題を解決するための手段】
【００２４】
本発明は請求項１に記載された集積回路を提供する。本発明によれば、試験目的のためのバウンダリスキャンチェーンを有する集積回路は、命令によって切り換えられるさらなるモードをサポートする。さらなるモードはデバッグ目的のため設計されるが、本発明から逸脱することなく、さらなるモードは効率的なアクセスを必要とする他の目的のために使用され得る。さらなるモードにおいて、選択可能な第１のセルの群は、バウンダリスキャンチェーンに沿って直列にデータを伝送し、選択可能な第２のセルの群は、さらなるモードにある第１のセルの群のそれぞれを介して伝送されたまたは伝送されるデータをスキャンチェーンから端子へまたは端子からスキャンチェーンへ読み出しまたは書き込む。第１のセルの群はさらなるモードにおいて端子からデータを読み出さず、端子へデータを書き込まない。
【００２５】
これは、好ましくは、第２のセルの群が、シフトレジスタ構造から直接的にまたは第２のセルの１つのセルのスキャンフリップフロップ若しくはアップデートフリップフロップにラッチした後に、シフトレジスタ構造からデータを出力するときまたはシフトレジスタ構造へデータを入力するときに、第１のセルの群がさらなるモードにおいてシフトレジスタ構造内でバイパスされることを可能にする多重化回路を設けることによって実現される。
【００２６】
好ましくは、セルは、試験インタフェースを介してコンフィギュレーションセルに取り込まれたコンフィギュレーション情報を用いて第１のセルの群または第２のセルの群として選択される。好ましくは、個々のバウンダリスキャンセルごとにコンフィギュレーションセルが存在するので、さらなるモードをサポートする各バウンダリスキャンセルは、他のセルとは独立に、個別に前記セルのうちの第１のセルまたは第２のセルとして選択できる。
【００２７】
さらなる一実施形態において、バウンダリスキャンセルのアップデートフリップフロップはコンフィギュレーションセルとして使用される。通常の試験中に、アップデートフリップフロップは、テストデータをスキャンセルの機能出力へ供給するために機能するが、さらなるモードでは、それらは個別のセルが第１のセルの群として動作するか、第２のセルの群として動作するかを選択するために機能する。
【００２８】
第１の実施形態において、バウンダリスキャンチェーンは、さらなるモードにおいて、シフトレジスタ構造にラッチすることなく、信号を非同期的に送出可能である。データは選択された端子から直接的に読み出され、および／または、それらの端子へ書き込まれ、ラッチされることなくスキャンパスに沿って透過的に送られる。
【００２９】
第２の実施形態において、バウンダリスキャンチェーンはさらなるモードで同期的に動作するので、入力データはさらなるモードでバウンダリスキャンチェーンを通して送られる前にラッチされ、および／または、出力データはバウンダリスキャンチェーンから出力される前にラッチされる。
【００３０】
さらなる一実施形態では、集積回路は両方のモードをサポートし、集積回路が動作するモードを選択する命令をサポートする。
【発明を実施するための最良の形態】
【００３１】
本発明の上記およびその他の目的と有利な態様は添付図面を参照して詳細に説明される。
【００３２】
第１の概念的な実施を開発するとき、ＩＥＥＥ１１４９．１規格によって規定されるような標準バウンダリスキャンセルを使用することが選択される。必要な拡張はこれらの標準セルの周りに構築される。基本アーキテクチャの拡張は両方のモードで同じである。セルまたはチップピンのレベルで差が生じ、その差は次の２節で説明される。
【００３３】
図１は、チップへのアクセス用のＴＡＰポートおよび特定のＩＣピンへのアクセス用のバウンダリスキャンセルを使用して拡張された集積回路（ＩＣ）チップのアーキテクチャを表す。集積回路は、コア回路１０、外部端子１６、および複数のバウンダリスキャンブロック１４を具備する。各バウンダリスキャンブロック１４は、（明瞭さのために１個のブロックだけに対して示された）スキャン入力ＳＩ、スキャン出力ＳＯ、機能入力ＰＩ、および機能出力ＰＯを有する。バウンダリスキャンブロック１４は、連続したブロックのＳＯとＳＩを相互接続することによりバウンダリスキャンチェーン内で結合される。バウンダリスキャンブロック１４は、機能入力ＰＩおよび機能出力ＰＯを用いてコア回路１０を端子１６へ接続する。端子が入力として使用されるか出力として使用されるかに応じて、バウンダリスキャンブロック１４の機能入力ＰＩまたは機能出力ＰＯが端子に結合され、機能出力ＰＯまたは機能入力ＰＯがコア回路に結合される。
【００３４】
集積回路は、従来型のＰ１１４９．１テスト端子ＴＤＩ、ＴＤＯ、ＴＣＫ、ＴＭＳおよびＴＲＳＴと、バウンダリスキャンブロック１４に結合されたＴＡＰ（テストアクセスポート）コントローラ（ＴＡＰ−Ｃ）とを有する。明瞭さのために、従来型のＰ１１４９．１制御のためのブロックへの制御コネクションは図示されない。ＴＡＰコントローラＴＡＰ−Ｃは、全てのバウンダリスキャンブロック１４へ並列に結合されるコントロール信号ＣＴＬおよびモード信号ＭＯＤＥのための出力を有する。
【００３５】
集積回路はまた、従来型のスキャンセルとして実施されるコンフィギュレーションセル１２のチェーンを含む。コンフィギュレーションセルのチェーンは、バウンダリスキャンチェーンと並列にテストデータ入力ＴＤＩとテストデータ出力との間に結合される。命令の制御下で、ＴＡＰコントローラＴＡＰ＿Ｃは、どのチェーンがＴＤＩとＴＤＯの間でデータを送受信するかを制御する。ＴＡＰコントローラＴＡＰ−Ｃはホールド信号ＨＯＬＤをコンフィギュレーションセル１２へ供給する。
【００３６】
各コンフィギュレーションセル１２は、バウンダリスキャンブロック１４の対応する１つのコンフィギュレーション入力に結合されたコンフィギュレーション信号出力を有する。かくして、バウンダリスキャンブロック１４は、共通信号ＣＴＬおよびＭＯＤＥと、ブロック固有コンフィギュレーション信号とを受信する。
【００３７】
二つのモード（同期および非同期）は同じアーキテクチャで実施される。同期モード（ＳＹＮＣ）用の１個と非同期モード（ＡＳＹＮＣ）用の１個の２つの新しいプライベート命令がバウンダリスキャンＴＡＰコントローラの命令レジスタ内で生成される。これらの命令は要求されたモードを選択する。バウンダリスキャンチェーンと長さが等しい別個のコンフィギュレーションレジスタ（コンフィギュレーションセル）が各バウンダリスキャンセルブロック（ＢＳブロック）を制御するため使用される。ＢＳブロックは、デバッグモードのために必要な付加ロジックを備えた標準バウンダリスキャンセルで構成された部分である。コンフィギュレーションレジスタはデバッグのためのアクティブピンと非アクティブピンのそれぞれに対する設定を保持する。アクティブはＩＣピン上の読み出しおよび書き込みアクセスを表し、非アクティブは読み出しおよび書き込みアクセスがないことを表す。制御信号は両方のモードを可能にさせるために必要である。図１はこの実施のために必要な付加的な制御信号だけを表す。制御は、グローバル制御ライン（ＣＴＬ、ＭＯＤＥ、ＨＯＬＤ）と、ローカルセル固有制御ライン（ＣＦＧ（ｉ））とによって達成される。グローバル制御ラインＣＴＬおよびＭＯＤＥはＴＡＰコントローラから各ＢＳブロックへ経路制御される。ＨＯＬＤはＴＡＰコントローラからコンフィギュレーションレジスタの各セルへ経路制御される。ローカルラインＣＦＧ（ｉ）はＢＳブロック固有であり、ＢＳブロックとコンフィギュレーションレジスタの制御用セルとの間で経路制御される。
【００３８】
動作原理
モードが選択されたとき、コンフィギュレーションはフルコンフィギュレーション（シフト）レジスタに取り込まれる。ＣＦＧ（ｉ）＝「０」は、特定のＢＳブロックがＩＣピンから機能データを読み出しまたは書き込むことを示す。「１」はその逆を示し、ＢＳブロックはバイパスされ、ＩＣピンから読み出しまたは書き込みされるデータはない。ＨＯＬＤ信号は、コンフィギュレーション設定が試験中に変化しないことを保証する。コンフィギュレーション後、モードは正しいプライベート命令（ＳＹＮＣまたはＡＳＹＮＣ）を選択することにより選ばれる。いずれかの命令がグローバル信号ＣＴＬおよびＭＯＤＥに正しい値を入れる。ＣＴＬは全体的な実施が依然としてＩＥＥＥ１１４９．１に準拠することを保証し、ＭＯＤＥはＳＹＮＣまたはＡＳＹＮＣモードを決定する。以下の表は様々な状況に必要な値を表す。
【００３９】
入力ピンおよび出力ピン
ＢＳブロック自体は特定のモードがセル設計に組み込まれる方法を決定する。この拡張されたアーキテクチャでは、付加ロジックが基本的なバウンダリスキャンセルを取り囲む。標準バウンダリスキャンセル設計は試作の目的のため変更されない。状態機械のための標準バウンダリスキャンプロトコルはまた二つの新しいモードのために使用される。したがって、Ｃ０−Ｃ３の値は自動バウンダリスキャン実施ソフトウェアによって決定される。
【００４０】
図２は入力バウンダリスキャンブロックの実際の設計を表す。素子２０は標準バウンダリスキャン入力セルであり、入力が（ＩＣの外部端子に結合されている）スキャン入力ＳＩおよび機能入力ＰＩに結合され、出力がＩＣのコア回路に結合されたスキャン出力ＳＯおよび機能出力ＰＯに結合される。デコードロジック２２が制御信号を発生するため設けられる。その上、２つのマルチプレクサ２４，２６だけが両方のモードのためのテスト信号の適切なルーティングを生成するため使用される。
【００４１】
標準バウンダリスキャンセル２０は、入力多重化回路２００，２０２と、スキャンフリップフロップＳＦＦと、アップデートマルチプレクサ２０６と、アップデートフリップフロップＵＦＦと、出力マルチプレクサ２０９とを具備する。スキャン入力ＳＩ、機能入力ＰＩ、およびスキャンフリップフロップＳＦＦの出力は、第１の多重化回路２００，２０２の入力へ結合される。多重化回路２００，２０２はスキャンフリップフロップＳＦＦのデータ入力へ結合された出力を有する。アップデートマルチプレクサ２０６は、スキャンフリップフロップＳＦＦのデータ出力へ結合された入力およびアップデートフリップフロップＵＦＦの出力へ結合された入力を有する。アップデートマルチプレクサ２０６はアップデートフリップフロップＵＦＦのデータ入力へ結合された出力を有する。出力マルチプレクサ２０９は、機能入力Ｐ１へ結合された入力およびアップデートフリップフロップＵＦＦのデータ出力へ結合された入力を有する。出力マルチプレクサ２０９は機能データ出力ＰＯへ結合された出力を有する。スキャンフリップフロップＳＦＦおよびアップデートフリップフロップＵＦＦはテストクロック入力ＴＣＫからクロックが供給される。第１の多重化回路２００，２０２はＴＡＰコントローラからの信号Ｃ０，Ｃ１によって制御され、アップデートマルチプレクサ２０６はＴＡＰコントローラからの信号Ｃ２によって制御され、出力マルチプレクサ２０９はＴＡＰコントローラからの信号Ｃ３によって制御される。Ｃ０−３は標準ＩＥＥＥ１１４９．１信号であり、バウンダリスキャンセル２０を様々な動作モードへ切り換えるため使用される。
【００４２】
スキャンフリップフロップＳＦＦは２つのフリップフロップの直列接続を具備し、それらはテストクロック入力ＴＣＫの互いに反対のクロック遷移でそれらの入力からデータを取り込む。或いは、それらのフリップフロップのうち第１のフリップフロップは、スキャン入力ＳＩと第１の付加マルチプレクサ２４との間のコネクションではなく、スキャン入力ＳＩからスキャンフリップフロップＳＦＦへのパス内のどこかに設置されればよい。
【００４３】
第１の付加マルチプレクサ２４は、機能データ入力ＰＩへ結合された入力およびスキャン入力ＳＩに結合された入力を有する。第２の付加マルチプレクサ２６は、第１の付加マルチプレクサ２４の出力へ結合された入力およびスキャンフリップフロップＳＦＦのデータ出力に結合された入力を有する。第２の付加マルチプレクサ２６の出力はスキャン出力ＳＯに結合される。付加マルチプレクサ２４，２６は３入力多重化回路として機能し、その入力のうちのいずれかを出力へ結合可能であることが分かる。本発明から逸脱することなく、その他の多重化回路がこの目的のため使用され得る。
【００４４】
デコードロジック２２は、制御信号ＣＴＬ、モード選択信号ＭＯＤＥ、および、そのブロックのコンフィギュレーション信号ＣＦＧ（ｉ）のための入力を有する。デコードロジック２２は、ＣＦＧ（ｉ）とＣＴＬの反転信号との論理和を第１の付加マルチプレクサ２４の制御入力へ供給する。デコードロジック２２は、この論理和の反転信号と、ＭＯＤＥ信号およびコンフィギュレーション信号の論理積とのさらなる論理和を第２の付加マルチプレクサの制御入力へ供給する。
【００４５】
読者は、表を使用して、通常のＥＸＴＥＳＴが依然として規格に準拠していることを容易に確認可能である。すなわち、デコードロジックがスキャンフリップフロップＳＦＦからの出力信号を通すため第２の付加マルチプレクサ２６をセットするとき、この回路は従来型のバウンダリスキャンセルとして動作する。
【００４６】
図３には出力ブロックの実際の設計が表されている。ここで、機能入力はコア回路に結合され、機能出力は外部端子に結合される。出力ブロックは標準バウンダリスキャンセル２０およびデコードロジック２２を含み、それらは入力ブロックのものと同じである。入力ブロックと比較すると、第１の付加出力マルチプレクサは出力ブロックから省かれ、第２の付加マルチプレクサ２６は、スキャン入力ＳＩへ結合された入力およびバウンダリスキャンセルのスキャンフリップフロップのデータ出力へ結合された入力を有する。さらに、さらなる出力マルチプレクサ３７およびトライステートバッファ３８が含まれる。出力マルチプレクサ２０９の出力およびスキャン入力ＳＩはさらなる出力マルチプレクサ３７の出力に結合され、さらなる出力マルチプレクはトライステートバッファ３８を介して機能出力ＰＯへ結合された出力を有する。さらなる出力マルチプレクサ３８の制御信号はＭＯＤＥ信号である。トライステートバッファ３８は、ＣＦＧ（ｉ）とＣＴＬの反転信号との論理和によって制御される。トライステートバッファ３８は接続されたＩＣピンをトライステート状態（tri-state）にさせるため付加される。ＣＦＧ（ｉ）＝１とすることにより、ピンは非アクティブ状態に設定される。この出力ブロックの設計のために、ＥＸＴＥＳＴは依然として規格に準拠することが確認される。
【００４７】
次の２節はそれぞれのモードの入力および出力ピンの動作をより詳細に説明する。
【００４８】
同期モード−再構成可能なバウンダリスキャン
同期モードは通常のバウンダリスキャンに強く関係している。主な差異は、標準チェーン長がデバッグ状況に適応させられることである。これは回路内で実行可能であり、１本以上のピンによって複数の独立したデータストリームが得られる可能性がある。実効伝送速度は、チェーンの再構成可能な特性のため、通常のバウンダリスキャンよりも高い。
【００４９】
再度、図２を検討すると、ＳＹＮＣモードにおけるブロックの動作が理解できる。特定のピンは、コンフィギュレーション信号ＣＦＧ（ｉ）を用いて（データストリームのため使用される）アクティブ状態または（データストリームのため使用されない）非アクティブ状態に設定される。以下の表は必要なパスを作成するマルチプレクサＡおよびＢ上の値を表す。
【表２】
0004579230.tif 000002
【００５０】
この表は、セルが非アクティブ状態に設定されるとき、透過的なパスがＳＩからＳＯまで作成されることを表す。アクティブ状態であるとき、ＳＦＦはＰＩからＰＯまでパスを作成するため使用され、ＵＦＦは（ＩＥＥＥ１１４９．１によって規定されるとおり）データをコアに入れる。セルのための通常のバウンダリスキャン状態機械プロトコルによって、後者のパスは通常のバウンダリスキャンパスである。
【００５１】
出力セルに対して、以下の表が有効である（図３も参照のこと）。
【表３】
0004579230.tif 000003
【００５２】
セルがアクティブ状態であるとき、状態機械による通常のクロッキングが使用される。ＳＩからバウンダリスキャンセルを介してＰＯまでのパスが作成される。バッファは使用可能にされる。非アクティブ状態であるとき、入力セルの場合と同じＳＩからＳＯまでの透過的なパスが作成される。バッファはトライステート状態にされる。
【００５３】
この実施の特性は再構成可能なバウンダリスキャンチェーンの特性である。
【００５４】
ＩＣピンを通るデータレート
回路内のチェーンを少数のセルに適応させる利点は、ＩＣピン上の実効データレートまたは転送周波数が増加することである。
【００５５】
このことを理解するため、１００個のバウンダリスキャンセルと２０ＭＨｚのＴＣＫ周波数を備え、１本のピンがアクティブ状態に設定されたチップを考える。標準的なＥＸＴＥＳＴでは、最初のデータビットをアクティブ状態のピンへ入れるために１０４ＴＣＫサイクルが必要である。約４ＴＣＫサイクルが状態機械のため使用され、１００ＴＣＫサイクルがチェーンの中を進むために必要とされる。これは０．２ＭＨｚのデータ転送レートに等しい。
【００５６】
再構成可能なバウンダリスキャンチェーンを使用して、この特定のセル／ピンがチェーン内の唯一のセルであるような構成になる。これはチェーン長さを１００セルから１セルまで短縮する。実効データレートの増加は明白である。今度の場合も、状態機械のために４サイクル、シフトのために１サイクルだけを考えると、ピン上で２０／５＝４ＭＨｚの周波数が得られる。さらに６本のピンが選択されたとき、周波数は２０／１０＝２ＭＨｚになる。限界では、通常のバウンダリスキャンチェーンは（通常のバウンダリスキャンの全ての特性を有する）その低速度で選択される。この周波数レンジ（１−５ＭＨｚ）は設計の試験にとって適切である場合が多い。スキャンパス内の１または２個のマルチプレクサは実効速度を制限しないが、非アクティブ状態である多数の連続的なセルは速度を制限する。その場合、各セルは１または２個のマルチプレクサをスキャンパスに追加する。したがって、同期モードにおける正確なクロッキングのために、これらのマルチプレクサの全遅延は１／２ＴＣＫを超えることができない。
【００５７】
ＩＣピン上のデータストリーミング
同期モードでは、ＩＥＥＥ１１４９．１によって規定されるような通常のクロッキングプロトコルが使用される。通常の構造試験と同様に、同期モードは、異なるピン上で異なるデータストリームを読み出し、書き込むことが可能である。このモードによる再構成可能なチェーンの使用は、試験のために選択されなかったセル／ピンがＳＩからＳＯへ透過的に経路制御されることを可能にする。チェーンの全長が短縮されるが、アクティブ状態の各ピンは標準プロトコルに準拠して振る舞う。選択されたチェーンはアップデート段によって後続のデータがロードされる。このプロセスはより長いデータストリームの間に繰り返される。アクティブ状態の各ピンは異なるデータを搬送可能である。
【００５８】
非同期モード−直接データストリーミング  非同期モードは、試験中に速度が主要な問題であるときに重要である。このモードは、実際のバウンダリスキャンセルを使用しないので、同期モードとは全く異なる。データはＩＣピンから直接的に読み出され、または、書き込まれ、スキャンパスへ向かって直接的に転送される。生成されたパスは透過的なパスである。入力セルに対する設定は以下の表に表されている（図２も参照のこと）。
【表４】
0004579230.tif 000004
【００５９】
動作は簡単である。バウンダリスキャンセル出力は決して使用されないので、マルチプレクサＢは常に「１」である。マルチプレクサＡは、セルが非アクティブ状態であるときにＳＩからＳＯまでの透過的なパスを生成し、セルがアクティブ状態であるときにＰＩからＳＯまでのパスを作成する。以下の表は出力セルに対して有効である（図３も参照のこと）。
【表５】
0004579230.tif 000005
【００６０】
セルが非アクティブ状態であるとき、ＳＩからＳＯまでのパスがトライステートバッファを用いて生成される。アクティブ状態であるとき、バッファは使用可能にされ、データを同様に他のピンへ直接的に渡すことを可能にするためにＳＩからＳＯまでの透過的なパスが生成される。
【００６１】
ＩＣピンを通るデータレート
クロッキングは非同期モードで回避される。これは通常のバウンダリスキャンＴＣＫ周波数の限界を超える機会を与える。実際には、このモードで正確な設定がなされると、スキャンパスはあらゆるデジタル機能データのためにフリーになっている。データはリアルタイムでＩＣピンへ読み出されまたは書き込まれる。データレートは主としてテスト信号によって制限される。このテスト信号がＪＴＡＧテスタから到来する場合、それは一般に２０ＭＨｚに制限される。しかし、基板上の別のチップからのリアルタイムデータが試験されるならば、制限は理論的に機能設計によって決定される。同期モードの場合と同様に、スキャンパス内のマルチプレクサによって導入された遅延が存在する。それにもかかわらず、この遅延はこの場合には、クロッキングが問題ではないので、デバッグのため重要ではない。
【００６２】
ＩＣピン上のデータストリーミング
非同期モードにおいて、高速信号はピンへ直接的に転送できるが、全てのピンには同じデータストリームが来る。その理由は、実施が並列接続で構成されるからである。同期モードで行われるようなデータのホールド機能は使用されない。実際には、このモードは一般に単一ピン上のデータを試験するため使用される。しかし、ＩＣをこの非同期モードに置くために、付加マルチプレクサを制御するのでＴＡＰコントローラによる干渉が必要である。この初期化後、選択されたピンは、ＴＡＰコントローラがシフト段階にあるとき、データを転送するためにフリーになっている。
【００６３】
第２の実施形態
第２の実施形態では、非アクティブ状態のセルをバイパスする単一のデバッグモードだけが一例として実施される。制御信号ＣＴＬ、ＭＯＤＥの代わりに、ＴＡＰコントローラは、ノーマルモードとデバッグモードとの間で切り換えるために、制御信号ストリーム（ＳＴＲＥＡＭ）を全てのセルへ供給する。
【００６４】
図４はバウンダリスキャンブロックの第２の実施形態を表す。図２の入力ブロックと比べると、多数の変更がなされている。第１の付加マルチプレクサ２４が省かれている。付加マルチプレクサ２６は、直列スキャン入力ＳＩに結合された入力およびスキャンフリップフロップＳＦＦのデータ出力に結合された入力を有する。付加マルチプレクサ２６の制御入力は、セルのコンフィギュレーション入力ＣＦＧ（ｉ）とＳＴＲＥＡＭ信号との論理和を生成する論理ゲートの出力に結合される。コンフィギュレーション入力ＣＦＧ（ｉ）に結合された入力および出力マルチプレクサ２０９の従来型の制御入力Ｃ３に結合された入力を有する制御マルチプレクサ４０が設けられる。制御マルチプレクサ４０の出力は出力マルチプレクサ２０９の制御入力へ結合される。制御マルチプレクサ４０の制御入力はＳＴＲＥＡＭ入力へ結合される。
【００６５】
動作中に、ＳＴＲＥＡＭが論理ローであるとき、ブロックは通常の１１４９.１セルとして動作する。ＳＴＲＥＡＭが論理ハイであるとき、動作はブロックのコンフィギュレーション信号ＣＦＧ（ｉ）に依存する。非アクティブ状態（ＣＦＧ（ｉ）＝１）となるように選択されたブロックは、スキャン出力ＳＯへのスキャン入力ＳＩと機能出力への機能入力ＰＩとをバイパスする。アクティブ状態（ＣＦＧ（ｉ＝０）となるように選択されたブロックは、スキャンフリップフロップＳＦＦからスキャン出力へデータをシフトし、アップデートフリップフロップＵＦＦから機能出力へデータを通過させる。
【００６６】
バウンダリスキャンチェーンの長さは、このようにして、チェーンから非アクティブ状態のブロックを除去するため、コンフィギュレーション信号を用いて適応させることができる。アクティブ状態のブロックは短縮されたチェーン内で通常のバウンダリスキャンセルとして動作し得る。非アクティブ状態のブロックは端子１６をコア回路１０へ接続する。
【００６７】
第３の実施形態
第３の実施形態では、バウンダリスキャンセルのアップデートフリップフロップはコンフィギュレーション信号を供給するため使用される。
【００６８】
図５は第３の実施形態の入力ブロックを表す。第１の制御マルチプレクサ５０が追加されていることを除いて、従来型のバウンダリスキャンセルが使用される。第１の制御マルチプレクサ５０は、アップデートフリップフロップＵＦＦの出力に結合された入力と、機能入力ＰＩからのデータの捕捉を制御するために使用される従来型のＰ１１４９．１制御入力Ｃ１に結合された入力とを有する。第１の制御マルチプレクサ５０の出力は、機能入力ＰＩからのデータの捕捉を制御する多重化回路２００，２０２の入力へ結合される。第１の制御マルチプレクサ５０の制御入力はＳＴＲＥＡＭ信号を受信する。
【００６９】
図６は第３の実施形態の出力ブロックを表す。この場合も、第２の制御マルチプレクサ６０およびアップデートバイパスマルチプレクサ６２が追加されていることを除いて、従来型のバウンダリスキャンセルが使用される。第２の制御マルチプレクサ６０は、アップデートフリップフロップＵＦＦの出力信号を受信するために結合された入力と、従来とおりに出力マルチプレクサ６０を制御する従来型のＰ１１４９．１信号Ｃ３とを受信するために結合された入力を有する。第２の制御マルチプレクサ６０の制御入力はＳＴＲＥＡＭ信号を受信するために結合される。第２の制御マルチプレクサ６０は出力マルチプレクサ２０９の制御入力に結合された出力を有する。
【００７０】
アップデートバイパスマルチプレクサ６２は、アップデートフリップフロップＵＦＦのデータ出力に結合された入力およびスキャンフリップフロップＳＦＦのデータ出力に結合された入力を有する。アップデートバイパスマルチプレクサ６２の制御入力はＳＴＲＥＡＭ信号を受信するために結合される。出力マルチプレクサ２０９は、バイパスマルチプレクサの出力に結合された入力および機能データ入力ＰＩに結合された入力を有する。
【００７１】
動作中、通常のバウンダリスキャンプロトコルがコンフィギュレーションデータをアップデートフリップフロップに取り込むために最初に実行される。次に、通常のバウンダリスキャンプロトコルは、ＳＴＲＥＡＭを論理ハイに設定すべくＴＡＰコントローラ用の命令を取り込むために使用される。アップデートフリップフロップＵＦＦの内容は、ＳＴＲＥＡＭ信号が集積回路をデバッグモードに設定するときに、セルがアクティブ状態であるかどうかを制御する。
【００７２】
アップデートフリップフロップＵＦＦの内容が論理ローである入力セルにおいて、スキャンフリップフロップＳＦＦはシフトレジスタ構造の一部分として動作するだけであり、機能入力ＰＩからデータを捕捉するため使用されない。アップデートフリップフロップＵＦＦの内容が論理ハイである入力セルは、ＴＣＫクロックサイクルごとに機能入力ＰＩからデータを捕捉する。これはＴＡＰコントローラがシフト状態に繰り返しなるようにされたときに使用され、シフト状態は、通常の１１４９．１試験中に、シフトレジスタ構造を通してテストデータをシフトするためだけに役立つ。ＳＴＲＥＡＭが論理ハイであり、ＴＡＰコントローラがシフト状態に繰り返しなるようにされたとき、データはＴＣＫクロックサイクルごとに選択された入力セル内で捕捉され、次に、入力セルからシフトレジスタ構造を通してシフトされる。
【００７３】
出力セルにおいて、ＳＴＲＥＡＭが論理ハイであるとき、アップデートフリップフロップＵＦＦの内容が論理ローである出力セルは、機能入力ＰＩから機能出力ＰＯへデータを送る。アップデートフリップフロップＵＦＦの内容が論理ハイである出力セルは、シフトレジスタ構造から機能出力ＰＯへデータを送る。
【００７４】
使用中、殆どのアップデートフリップフロップは論理ロー値がロードされる。アップデートフリップフロップＵＦＦに論理ハイ値がロードされたバウンダリスキャンチェーン内のセルは、交互に入力セルと出力セルである。
【００７５】
一実施例において、ただ一つの入力セルのアップデートフリップフロップＵＦＦに論理ハイ値がロードされ、他のすべてのセルのアップデートフリップフロップＵＦＦは論理ローに設定される。その結果として、データは、ＳＴＲＥＡＭが論理ハイでありＴＡＰコントローラがシフト状態になるようにされたときに、その一つの入力セルで捕捉され、ＴＣＫクロックサイクルごとにチェーンを介してＴＤＯへ伝送される。
【００７６】
別の一実施例において、ただ一つの出力セルのアップデートフリップフロップＵＦＦに論理ハイ値がロードされ、他のすべてのセルのアップデートフリップフロップＵＦＦは論理ローに設定される。その結果として、バウンダリスキャンチェーンを介してＴＤＩから供給されたデータは、ＳＴＲＥＡＭが論理ハイでありＴＡＰコントローラがシフト状態になるようにされたときに、ＴＣＫクロックサイクルごとにその一つの出力セルから出力される。
【００７７】
さらなる一実施例において、ただ一つの出力セルおよびただ一つの入力セルのアップデートフリップフロップＵＦＦに論理ハイ値がロードされる。入力セルがバウンダリスキャンチェーン内で出力セルよりも前にあるとき、これによって、ＳＴＲＥＡＭが論理ハイでありＴＡＰコントローラがシフト状態になるようにされたときに、入力セル内でデータが捕捉され、その後に続いて、バウンダリスキャンチェーンを介して伝送され、クロックサイクルごとに出力セルから出力される。このようにして、入力セルの機能入力ＰＩから出力セルの機能入力へストリームが生成され、ＴＣＫサイクルごとに１ビットを伝送する。
【００７８】
入力−出力セルのペアのアップデートフリップフロップＵＦＦを設定することにより、任意の数のこのようなストリームを並列に送り出し得ることが認められる。
【００７９】
アップデートフリップフロップＵＦＦの内容が論理ハイであるバウンダリスキャンチェーン内の最初のセルが出力セルであるならば、データはＴＣＫサイクルごとにＴＤＩからその出力セルへ送られる。同様に、アップデートフリップフロップＵＦＦの内容が論理ハイであるバウンダリスキャンチェーン内の最後のセルが入力セルであるならば、データはＴＣＫサイクルごとにその入力セルからＴＤＯへ送られる。
【００８０】
第４の実施形態
第３の実施形態と同様に、第３の実施形態はセルがアクティブ状態であるかどうかを制御するためにアップデートフリップフロップを使用する。第４の実施形態では、しかし、スキャンフリップフロップはデバッグモードにおいてバイパスされる。これは、信号がＴＣＫの制御下でシフトすることを要することなくバウンダリスキャンチェーンに沿って直接的に送られることを意味する。制御信号ショート（ＳＨＯＲＴ）はバイパスを制御するために追加され、ＴＡＰコントローラによって発行され、対応するコマンドに応答して論理ハイに設定される。
【００８１】
図７は第４の実施形態による入力セルを表す。第３の実施形態と比べると、バイパスマルチプレクサ７０が追加され、スキャンフリップフロップＳＦＦのデータ入力に結合された入力およびデータ出力に結合された入力と、セルのスキャン出力ＳＯに結合された出力と、ＳＨＯＲＴ信号を受信するために結合された制御入力とを備えている。
【００８２】
図８は第４の実施形態による出力セルを表す。第３の実施形態と比べると、バイパスマルチプレクサ７０が追加され、スキャンフリップフロップＳＦＦのデータ入力に結合された入力およびデータ出力に結合された入力と、セルのスキャン出力ＳＯに結合された出力と、ＳＨＯＲＴ信号を受信するために結合された制御入力とを備えている。バイパスマルチプレクサの出力は、スキャンフリップフロップのデータ出力の代わりに、アップデートバイパスマルチプレクサ６２の入力にも結合される。
【００８３】
動作中、従来型のバウンダリスキャンプロトコルがコンフィギュレーションデータをアップデートフリップフロップに取り込むために最初に実行される。次に、ＳＨＯＲＴを論理ハイに設定するために、従来型のバウンダリスキャンプロトコルを使用して、命令がＴＡＰコントローラへ供給される。その結果として、直接コネクションがバウンダリスキャンチェーンに沿って開かれる。コンフィギュレーションデータによってアクティブ状態であるように選択されたセル内で、（セルが入力セルである場合に）機能入力ＰＩ、および／または、（セルが出力セルである場合に）機能出力ＰＯはこの直接コネクションへ接続される。このようにして、直接コネクションがアクティブ状態のセルの機能入力ＰＩと機能出力ＰＯとの間に確立される。非アクティブ状態の入力セル内では、機能入力ＰＩからの入力信号またはアップデートフリップフロップＵＦＦからの信号は、試験制御信号に応じて、機能出力へ送られる。非アクティブ状態の出力セル内では、機能入力ＰＩからの入力信号は機能出力ＰＯへ送られる。
【００８４】
図９は多数の相互接続された集積回路９０を備えたデバッグシステムを表す。２本のコネクション９２，９４が特に示されている。集積回路の一部は、デイジーチェーン型のＴＤＩ入力およびＴＤＯ出力と、並列型のＴＣＫ入力、ＴＭＳ入力、ＴＲＳＴ入力（明瞭さのためそのうちの一つの入力だけが示されている）とを備えた試験インタフェースを介して接続される。本発明によれば、１つまたは複数の集積回路９０をデバッグモードに設定することが可能になり、その後、デバッグ信号が、高レートでまたは連続的であっても、コネクション９２，９４を介して、選択された１つ以上の集積回路から他の集積回路へ出力および入力され得る。
【００８５】
本発明は図面に記載された特定の実施形態に限定されないことが理解されるであろう。たとえば、種々のソースが非アクティブ状態のセルの機能出力ＰＯから出力信号を供給するため使用され得る。この実施形態は、一例として、機能入力ＰＩからの信号またはアップデートフリップフロップからの信号の使用を示している。それに代えて、デフォルト信号またはその他の都合のよい信号を供給してもよい。各実施形態は特定のソースの使用を説明するが、その他のソースを代わりに使用してもよいことが理解されるべきである。複数のソースからのプログラマブル選択でさえ使用できる。ある種の環境下では、デバック信号が入力される端子を除く、回路全体が機能的に動作することが望ましい。この場合に、非アクティブ状態のセルは、好ましくは、機能入力ＰＩと機能出力ＰＯとを接続する。その他の環境下では、固定出力が好ましく、デフォルト信号またはアップデートフリップフロップからの信号が使用されてもよい。
【００８６】
さらに、特定のセルごとのアップデートフリップフロップをその特定のセルのためのコンフィギュレーションフリップフロップとして使用することは好ましいが、一つのセルのアップデートフリップフロップを他のセルのためのコンフィギュレーションフリップフロップとして使用することに異存のないことは当然であることが理解されるであろう。各コンフィギュレーションフリップフロップはそれぞれのセルのコンフィギュレーションを制御するが、当然ながら、コンフィギュレーションフリップフロップは複数のセルのコンフィギュレーションを並列に制御してもよい。このように、アップデートフリップフロップの少なくとも一部はコンフィギュレーションフリップフロップとして使用する必要がなく、これらのアップデートフリップフロップはプログラマブル信号を機能出力へ供給するためにフリーの状態のままにされる。アップデートフリップフロップとして２倍の役割をもたないコンフィギュレーションフリップフロップは、また、多数のセルを設定するか、または、特定のセルのアップデートフリップフロップからセルの設定の役割を取り除く。
【００８７】
さらに、いずれか一つの実施形態のセルは、上記のデバッグモードのうちの一つのモードだけで、または、複数のデバッグモードの中の選択可能な一つのモードで動作するために、プログラマブルであるように構成されることが分かる。本発明は、実施形態で使用された特定の制御信号（たとえば、ＣＴＬ、ＭＯＤＥ）の使用に限定されることなく、その他のタイプの制御信号も使用される。
【００８８】
同じ回路内（即ち、同じ集積回路内であっても）のセルの一部分は一実施形態によって実施され、別の部分は別の実施形態によって実施してもよい。特に、たとえば、第４の実施形態はデータ転送を高速化するために多数のセルに使用され、別の実施形態がある種のパイプラインの形式を設けるためにその他のセルに使用される。バウンダリスキャンセルの一部分は、さらには完全に従来型のバウンダリスキャンセルとして、すなわち、さらなるモードをサポートすること無しに実施してもよい。したがって、さらなる従来型のバウンダリスキャンチェーンは、本発明によるバウンダリスキャンチェーンと混合し、または、直列に配置されてもよい。
【００８９】
さらに、実施形態で説明された実際の回路は一例としてのみ記載されていることが理解されるべきである。たとえば、多重化機能は様々な代替回路を用いて実現される。同様に、従来型のＰ１１４９．１試験状態は、好ましくは、ＴＡＰコントローラによって信号発生を制御するために使用されるが、集積回路がデバッグモードへ切り換えられたときに専用状態を使用できることが認められる。
【００９０】
さらに、本発明はデバッグ目的のため記載されているが、開示された回路は、不揮発性メモリのプログラミング、または、ゲートアレイのようなプログラマブル回路のプログラミングなどのように他の目的にも使用され得る。
【図面の簡単な説明】
【００９１】
【図１】集積回路のアーキテクチャを表す図である。
【図２】バウンダリスキャンチェーンで使用する入力ブロックを表す図である。
【図３】バウンダリスキャンチェーンで使用する出力ブロックを表す図である。
【図４】バウンダリスキャンチェーンで使用するさらなるブロックを表す図である。
【図５】バウンダリスキャンチェーンで使用する入力ブロックを表す図である。
【図６】バウンダリスキャンチェーンで使用する出力ブロックを表す図である。
【図７】バウンダリスキャンチェーンで使用する入力ブロックを表す図である。
【図８】バウンダリスキャンチェーンで使用する出力ブロックを表す図である。
【図９】デバッグシステムを表す図である。
【図１】
0004579230.tif 000006
【図２】
0004579230.tif 000007
【図３】
0004579230.tif 000008
【図４】
0004579230.tif 000009
【図５】
0004579230.tif 000010
【図６】
0004579230.tif 000011
【図７】
0004579230.tif 000012
【図８】
0004579230.tif 000013
【図９】
0004579230.tif 000014