(57)【要約】【課題】サンプリング周波数より高速な高速信号が発生したとしても、正確に集積回路の内部観測が可能なバウンダリスキャンを行うことを目的とする。【解決手段】本発明のチップ１は、外部端子に非接続の複数の内部ロジック１１〜１Ｎと、内部回路１１〜１Ｎのそれぞれの論理値を入力し、シリアル接続される複数のスキャンセル１〜Ｎと、スキャンセル１〜Ｎに設けられ、内部回路１１〜１Ｎの論路値をサンプリングするサンプリング周波数ｆｓより高速な高速信号を検出する高速信号検出回路４１と、を備えている。これにより、内部ロジック１１〜１Ｎの観測を行うと共に、高速信号が発生した場合でも、そのことを認識できる。このため、内部回路１１〜１Ｎの観測を正確に行うバウンダリスキャンを実行することができる。【選択図】  図２
2013210280.tif 000002
【特許請求の範囲】
【請求項１】
外部端子に非接続の複数の内部回路と、
前記内部回路のそれぞれの論理値を入力し、シリアル接続される複数のスキャンセルと、
前記スキャンセルに設けられ、前記内部回路の論路値をサンプリングするサンプリング周波数より高速な高速信号を検出する高速信号検出回路と、
を備えた集積回路。
【請求項２】
前記スキャンセルは、
前記高速信号検出回路が出力する論理値と前段のスキャンセルから入力する論理値とを切り替える第１マルチプレクサと、
この第１マルチプレクサが出力した論理値を保持する第１フリップフロップと、
この第１フリップフロップが出力した論理値と前記内部回路から入力する論理値とを切り替える第２マルチプレクサと、
この第２マルチプレクサが出力した論理値を後段のスキャンセルに出力する第２フリップフロップと、
を備えた請求項１記載の集積回路。
【請求項３】
前記高速信号検出回路は、
前記サンプリング周波数より高速な内部クロックに基づいて動作し、前記内部回路の論理値を保持する第３フリップフロップと、
前記内部回路の論理値と前記第３フリップフロップの論理値との排他的論理和の演算を行う排他的論理和回路と、
この排他的論理和回路が演算した値が１のときにインクリメントを行い、前記第１マルチプレクサに最上位ビットを出力する２ビットカウンタと、
を備えた請求項２記載の集積回路。
【請求項４】
請求項１乃至３のうち何れか１項に記載の集積回路の内部回路の論理値を観測する集積回路の内部観測装置であって、
前記全てのスキャンセルの前記内部回路の論理値および前記高速信号検出回路が前記高速信号を検出したか否かを示す論理値を、前記スキャンセルの順番で入力するインターフェイス回路と、
前記内部回路の論理値に基づいて波形を描画し、前記高速信号検出回路が前記高速信号を検出した否かを示す論理値に基づいて、前記高速信号を検出したときには前記波形に前記高速信号を特定する画像処理を行う処理装置と、
前記画像処理を行った前記内部回路の論理値の波形を表示する表示装置と、
を備えた集積回路の内部観測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＪＴＡＧバウンダリスキャンにより内部回路の観察を行う対象となる集積回路およびこの集積回路の内部観察装置に関するものである。
【背景技術】
【０００２】
ＩＥＥＥ１１４９．１で規格されているＪＴＡＧ（Joint Test Action Group）バウンダリスキャン技術を用いて、集積回路の内部観察を行うための技術が従来から知られている。バウンダリスキャンを行った結果は、同じくＩＥＥＥ１１４９．１で規定されるＢＳＤＬ（Boudary Scan Described Language）と呼ばれるスキャンセルの情報を示すテキストファイルに基づいて、バウンダリスキャンを可視化して、ディスプレイに表示する。この技術が特許文献１に開示されている。
【０００３】
従来のＪＴＡＧバウンダリスキャンについて図７を用いて説明する。この図において、チップ（図中ではＳｏＣ）１０１とインターフェイス回路１０２と処理装置１０３と表示装置１０４とを備えている。図７の構成を用いて、内部観察を行う対象となるチップ１０１のバウンダリスキャンを行う。
【０００４】
チップ１０１は集積回路である。ここでは、チップ１０１はＳｏＣ（System on a chip）としている。チップ１０１はＮ（Ｎは２以上の整数）個の内部ロジック１１１〜１１Ｎを有している。内部ロジック１１１〜１１Ｎはチップ１０１の主要機能を果たす論理回路である。外部端子１２１〜１２Ｎは内部ロジック１１１〜１１Ｎに接続されており、内部ロジック１１１〜１１Ｎが出力する内部信号Ｓ１０１〜Ｓ１０Ｎを外部に出力することが可能になっている。
【０００５】
スキャンセル１〜Ｎ（図中でＳＣ１０１〜ＳＣ１０Ｎ）はバウンダリスキャンを行うためのスキャンチェインを構成している。従って、スキャンセル１から順番にスキャンセルＮまで順番にシリアル接続されている。スキャンセル１〜Ｎは内部ロジック１１１〜１１Ｎおよび外部端子１２１〜１２Ｎに対応している。
【０００６】
スキャンセル１〜Ｎはスキャンチェインを構成しており、前段のスキャンセルから後段のスキャンセルにセル出力信号ＬＳ１〜ＬＳＮを出力する。セル出力信号ＬＳ１〜ＬＳＮは論理値を示す信号になる。なお、最後のスキャンセルＮはセル出力信号ＬＳＮをインターフェイス回路１０２に出力する。
【０００７】
チップ１０１にはコントローラ１３０が設けられている。このコントローラ１３０はＪＴＡＧタップコントローラであり、バウンダリスキャンを制御するＳｈｉｆｔ―ＤＲ（図中ではＳＤＲ）信号を出力する。
【０００８】
インターフェイス回路１０２はＪＴＡＧインターフェイス回路であり、ＴＤＩ（Test Data Input）信号およびＴＣＫ（Test Clock）信号をチップ１０１に出力し、ＴＤＯ（Test Data Output）信号をインターフェイス回路１０２から入力する。ＴＤＩ信号はスキャンセル１に入力される。ＴＣＫ信号は全てのスキャンセル１〜Ｎに入力される。ＴＤＯ信号は最後のスキャンセルＮからセル出力信号ＬＳＮとしてインターフェイス回路２に入力される。
【０００９】
処理装置１０３はＴＤＯ信号に基づいて、所定の処理（主に、画像処理）を行う。ＴＤＯ信号は順次出力される内部ロジック１１１〜１１Ｎの論理値を波形表示する画像処理を行う。この画像処理を行った結果を表示装置１０４に出力し、表示装置１０４は波形表示を行う。
【００１０】
図８は、スキャンセル２の構成を示している。スキャンセル１およびスキャンセル３〜Ｎの構成も同様である。スキャンセル１はマルチプレクサ（図中ではＭＵＸ）１４１とフリップフロップ（図中ではＦＦ）１４２とを備えている。
【００１１】
マルチプレクサ１４１は前段のスキャンセル１からセル出力信号ＬＳ１を入力する。また、内部ロジック１１２から内部信号Ｓ１０２を入力する。そして、セル出力信号ＬＳ１と内部信号Ｓ１０２とのうち何れか一方を選択的に出力する。この選択はＳＤＲ信号に基づいて制御される。出力された信号はフリップフロップ１４２に保持される。フリップフロップ１４２は後段のスキャンセル３に向けてセル出力信号ＬＳ２を出力する。
【００１２】
以上が構成である。次に、バウンダリスキャンによるチップ１０１の内部信号の観察方法について説明する。コントローラ１３０は、全てのスキャンセル１〜Ｎのマルチプレクサ１４１が内部信号Ｓ１０１〜Ｓ１０Ｎを選択するようにＳＤＲ信号を出力する。これにより、スキャンセル１〜Ｎのマルチプレクサ１４１は内部信号Ｓ１０１〜Ｓ１０Ｎを選択して、フリップフロップ１４２に出力する。
【００１３】
スキャンセル１〜ＮにはＴＣＫ信号が入力されており、ＴＣＫ信号の立ち上がりエッジのタイミングで、マルチプレクサ１４１からの出力、つまり内部信号Ｓ１０１〜Ｓ１０Ｎを保持する。従って、スキャンセル１〜Ｎには内部信号Ｓ１０１〜Ｓ１０Ｎが保持されている。内部信号Ｓ１０１〜Ｓ１０Ｎは内部ロジック１１１〜１１Ｎの論理値を示しており、外部端子１２１〜１２Ｎの論理値と同じ状態を示している。
【００１４】
次に、コントローラ１３０は、全てのスキャンセル１〜Ｎのマルチプレクサ１４１が前段のスキャンセル１〜Ｎからの入力（つまり、セル出力信号ＬＳ１〜ＬＳＮ）を選択するようにＳＤＲ信号を出力する。これにより、各スキャンセル１〜Ｎは前段のスキャンセル１〜Ｎからセル出力信号ＬＳ１〜ＬＳＮを入力することが可能な状態になる。
【００１５】
ＴＣＫ信号の立ち上がりエッジのタイミングで、フリップフロップ１４２が保持している内部信号Ｓ１０１〜Ｓ１０Ｎがセル出力信号ＬＳ１〜ＬＳＮとして、後段のスキャンセル２〜Ｎに出力される。スキャンセルＮのフリップフロップ１４２が保持していた内部信号Ｓ１０ＮはＴＤＯ信号として、インターフェイス回路１０２に出力される。
【００１６】
フリップフロップ１４２はシフトレジスタになっている。従って、ＴＣＫ信号の立ち上がりエッジのタイミングごとに内部信号Ｓ１０１〜Ｓ１０Ｎを後段のスキャンセルに出力する。つまり、内部信号Ｓ１０１〜Ｓ１０Ｎを順番にシフトさせていく。ＴＣＫ信号はスキャンセル１〜Ｎの個数分、つまりＮクロックを入力すると、全てのスキャンセル１〜Ｎのフリップフロップ１４２が保持していた内部信号Ｓ１０１〜Ｓ１０Ｎの値がＴＤＯ信号としてインターフェイス回路１０２に出力される。このときのＴＤＯ信号の出力周期はＴＣＫ信号のクロックをＴＣＫとすると、ＴＣＫ−１となる。
【００１７】
従って、インターフェイス回路１０２にはスキャンセルＮから順次ＴＤＯ信号として、内部信号Ｓ１０１〜Ｓ１０Ｎの論理値が入力される。インターフェイス回路１０２は順次入力する内部信号Ｓ１０１〜Ｓ１０Ｎを処理装置１０３に出力する。処理装置１０３は、前述したＢＳＤＬを有しており、入力した内部信号Ｓ１０１〜Ｓ１０Ｎに対応した論理値を認識する。処理装置１０３は、認識した論理値に基づいて波形表示を行うための画像処理を行う。そして、画像処理を行った波形を表示装置１０４の画面上に表示する。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２００５−２１４９５７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
従って、前述したバウンダリスキャンを行うことにより、チップ１０１の内部ロジック１１１〜１１Ｎの状態を観測することができる。また、図７の構成では、内部ロジック１１１〜１１Ｎは外部端子１２１〜１２Ｎに接続されているため、オシロスコープ等を用いて、内部ロジック１１１〜１１Ｎの状態を観測することも可能である。
【００２０】
ところで、各スキャンセル１〜ＮにはＴＣＫ信号が入力されており、このＴＣＫ信号に依存した周期でサンプリングを行う。サンプリング周波数をｆｓとすると、サンプリング周波数ｆｓは「ｆｓ＝ＴＣＫ／フリップフロップの段数＝ＴＣＫ／Ｎ」となる。従って、表示装置１０４に表示される内部信号Ｓ１０１〜Ｓ１０Ｎの波形はサンプリング周波数ｆｓに基づいた波形となる。
【００２１】
図９は内部信号Ｓ１０２および表示波形を示している。内部信号Ｓ１０２は実際の信号の波形であり、表示波形は表示装置１０４に表示される波形である。従って、内部信号Ｓ１０２の波形よりも少し遅延したタイミングの波形が表示波形として表示される。内部信号Ｓ１０２はサンプリング周波数ｆｓの逆数をサンプリング周期として、このサンプリング周期でサンプリングを行う。
【００２２】
ところで、内部信号Ｓ１０２にはトグルのような高速信号が発生することがある。チップ１０１の内部の信号は非常に高速であり、トグルのような割込み信号は非常に高速な信号として発生する。高速信号は少なくともサンプリング周波数ｆｓより高速であり、サンプリング周期では観測できない。例えば、サンプリング周波数ｆｓが数十ＫＨｚ程度であるのに対して、高速信号は数ＭＨｚ程度と非常に高速である。
【００２３】
図１０は、高速信号としてトグルが発生している状態を示している。高速信号の波形はサンプリング周期の間に発生しており、サンプリング周期ごとに内部信号Ｓ１０２を観測する従来の方式では、高速信号の出現を認識することができない。従って、このような高速信号が発生した場合には、内部ロジック１１１〜１１Ｎを正確に観測することができない。
【００２４】
そこで、本発明は、サンプリング周波数より高速な高速信号が発生したとしても、正確に集積回路の内部観測が可能なバウンダリスキャンを行うことを目的とする。
【課題を解決するための手段】
【００２５】
以上の課題を解決するため、本発明の集積回路は、外部端子に非接続の複数の内部回路と、前記内部回路のそれぞれの論理値を入力し、シリアル接続される複数のスキャンセルと、前記スキャンセルに設けられ、前記内部回路の論路値をサンプリングするサンプリング周波数より高速な高速信号を検出する高速信号検出回路と、を備えている。
【００２６】
この集積回路によれば、高速信号検出回路を備えているため、内部回路の観測を行うと共に、高速信号が発生した場合でも、そのことを認識できる。このため、内部回路の観測を正確に行うバウンダリスキャンを実行することができる。
【００２７】
また、前記スキャンセルは、前記高速信号検出回路が出力する論理値と前段のスキャンセルから入力する論理値とを切り替える第１マルチプレクサと、この第１マルチプレクサが出力した論理値を保持する第１フリップフロップと、この第１フリップフロップが出力した論理値と前記内部回路から入力する論理値とを切り替える第２マルチプレクサと、この第２マルチプレクサが出力した論理値を後段のスキャンセルに出力する第２フリップフロップと、を備えてもよい。
【００２８】
スキャンセルの構成として、第１フリップフロップに高速信号の有無を示す論理値を保持し、第２フリップフロップに内部回路の論理値を保持することで、高速信号を発生したとしても、正確な観測を行うことが可能になる。
【００２９】
また、前記高速信号検出回路は、前記サンプリング周波数より高速な内部クロックに基づいて動作し、前記内部回路の論理値を保持する第３フリップフロップと、前記内部回路の論理値と前記第３フリップフロップの論理値との排他的論理和の演算を行う排他的論理和回路と、この排他的論理和回路が演算した値が１のときにインクリメントを行い、前記第１マルチプレクサに最上位ビットを出力する２ビットカウンタと、を備えてもよい。
【００３０】
この構成により、高速信号検出回路は高速信号が発生したことを検出することができる。そして、高速信号の有無を示す論理値を第１フリップフロップに保持させることで、高速信号が発生したとしても、正確な観測を行うことができる。
【００３１】
また、本発明の集積回路の内部観測装置は、前述の何れかの集積回路の内部回路の論理値を観測する集積回路の内部観測装置であって、前記全てのスキャンセルの前記内部回路の論理値および前記高速信号検出回路が前記高速信号を検出したか否かを示す論理値を、前記スキャンセルの順番で入力するインターフェイス回路と、前記内部回路の論理値に基づいて波形を描画し、前記高速信号検出回路が前記高速信号を検出した否かを示す論理値に基づいて、前記高速信号を検出したときには前記波形に前記高速信号を特定する画像処理を行う処理装置と、前記画像処理を行った前記内部回路の論理値の波形を表示する表示装置と、を備えている。
【００３２】
これにより、処理装置は単に内部回路の論理値の波形表示を行うだけでなく、高速信号が発生した場合には、発生した高速信号を特定する画像処理を行うことで、表示装置の画面上に内部回路の論理値の波形および高速信号の発生を認識することができる。これにより、高速信号が発生したとしても、正確な観測を行うことができる。
【発明の効果】
【００３３】
本発明は、集積回路に高速信号検出回路を備えているため、内部回路の観測を行うと共に、高速信号が発生した場合でも、そのことを認識できる。このため、内部回路の観測を正確に行うバウンダリスキャンを実行することができる。
【図面の簡単な説明】
【００３４】
【図１】実施形態の集積回路および観測装置の構成図である。
【図２】図１のスキャンセルの回路図である。
【図３】図２の高速信号検出回路の回路図である。
【図４】高速信号検出回路の各点のタイミングを示す図である。
【図５】実際の内部信号と表示波形とを示す図である。
【図６】各フリップフロップの値とその情報との関係を示す図である。
【図７】従来の集積回路および観測装置の構成図である。
【図８】図７のスキャンセルの回路図である。
【図９】従来の高速信号を発生していない場合の実際の内部信号と表示波形とを示す図である。
【図１０】従来の高速信号を発生した場合の実際の内部信号と表示波形とを示す図である。
【発明を実施するための形態】
【００３５】
以下、図面を参照して、本発明の実施形態について説明する。図１は、本実施形態で観測の対象となるＳｏＣ（System on a chip：以下、チップ１）を示している。ＳｏＣは集積回路（半導体集積回路）であり、この集積回路に複数の機能が搭載されている。集積回路はＳｏＣに限らず、任意の集積回路を適用することができる。
【００３６】
また、本実施形態では、バウンダリスキャンによりチップ１の内部の状態を観測する。バウンダリスキャンは、ＩＥＥＥ１１４９．１で規格されているＪＴＡＧ（Joint Test Action Group）バウンダリスキャン技術である。このバウンダリスキャン技術を用いて、集積回路の内部の観察を行う。
【００３７】
チップ１はインターフェイス回路２に接続されており、インターフェイス回路２は処理装置３に接続されている。また、処理装置３は表示装置４に接続されている。インターフェイス回路２はＪＴＡＧインターフェイス回路である。処理装置３はインターフェイス回路２からの入力に基づいて、主に画像処理を行う。表示装置４は処理装置３が画像処理した結果を表示する装置である。
【００３８】
チップ１の構成について説明する。チップ１の内部では、Ｎ（Ｎは２以上の整数）個のスキャンセル１〜Ｎ（図中ではＳＣ１〜ＳＣＮ）がチェイン状に接続されている。つまり、スキャンセル１から順番にスキャンセルＮまでシリアルに接続されている。これにより、スキャンチェインを構成する。スキャンセル１〜ＮはＪＴＡＧバウンダリスキャンを行うために設けられている。
【００３９】
チップ１の主要な構成要素は論理回路である。この論理回路は内部回路であり、ここでは内部ロジック１１〜１Ｎ、２１〜２Ｎとしている。内部ロジック１１〜１Ｎ、２１〜２Ｎはスキャンセル１〜Ｎに対応して設けられている。そして、内部ロジック１１〜１Ｎと２１〜２Ｎとの間は接続されている。また、内部ロジック１１〜１Ｎとスキャンセル１〜Ｎとの間も接続されている。図１に示すように、チップ１には内部ロジック１１〜１Ｎと接続される外部端子は設けられてない。
【００４０】
チップ１には、ＪＴＡＧバウンダリスキャンを行うために、コントローラ３０とＴＤＩ端子３１とＴＤＯ端子３２とＴＣＫ端子３３とが備えられている。コントローラ３０はＪＴＡＧタップコントローラであり、Ｓｈｉｆｔ−ＤＲ（図中ではＳＤＲ）信号を出力する。ＳＤＲ信号は各スキャンセル１〜Ｎを制御する信号である。
【００４１】
ＴＤＩ端子３１、ＴＤＯ端子３２およびＴＣＫ端子３３はそれぞれＪＴＡＧ端子であり、ＩＥＥＥ１１４９．１によって規定されている。ＴＤＩ（Test Data Input）端子３１はＴＤＩ信号を入力する端子である。ＴＤＩ信号はＪＴＡＧ入力信号である。ＴＤＯ（Test Data Output）端子３２はＴＤＯ信号を出力する端子である。ＴＤＯ信号はＪＴＡＧ出力信号である。ＴＣＫ端子３３はＴＣＫ信号を入力する端子である。ＴＣＫ信号はＪＴＡＧ信号であり、ＪＴＡＧバウンダリスキャンを行うときのクロックを示す信号になる。ＴＤＩ信号、ＴＤＯ信号およびＴＣＫ信号はＩＥＥＥ１１４９．１により規定されている。
【００４２】
図２は、スキャンセル１〜Ｎのうち１つのスキャンセル２の構成を示している。なお、スキャンセル１およびスキャンセル３〜Ｎも同様の構成となっている。スキャンセル１〜Ｎはシリアルに接続されており、前段のスキャンセルから後段のスキャンセルに対してセル出力信号を出力する。スキャンセル１〜Ｎが出力するセル出力信号をＬＳ１〜ＬＳＮとする。
【００４３】
同図に示すように、スキャンセル２は、高速信号検出回路４１と第１マルチプレクサ４２（図中ではＭＵＸ１）と第１フリップフロップ（図中ではＦＦ１）４３と第２マルチプレクサ４４（図中ではＭＵＸ２）と第２フリップフロップ（図中ではＦＦ２）とを備えて構成している。
【００４４】
高速信号検出回路４１は内部クロックｐｃｌｋと内部信号Ｓ２とを入力する。内部クロックｐｃｌｋはチップ１のシステムクロックであり、ＴＣＫ信号の速度と比較すると高速な信号になっている。例えば、内部クロックｐｃｌｋはＴＣＫ信号の数倍乃至数百倍の周波数で動作する信号になる。また、内部クロックｐｃｌｋは少なくとも、後述するサンプリング周波数ｆｓよりも高速な信号である。
【００４５】
第１マルチプレクサ４２は高速信号検出回路４１からの入力と前段のスキャンセル１からの入力（セル出力信号ＬＳ１）とのうち何れか一方の信号を選択する。この選択はＳＤＲ信号により制御がされる。第１マルチプレクサ４２が選択した信号は第１フリップフロップ４３に出力される。
【００４６】
第１フリップフロップ４３は第１マルチプレクサ４２が選択した信号の値を保持する。第１フリップフロップ４３にはＴＣＫ信号が入力されており、ＴＣＫ信号の立ち上がりエッジ（または立ち下りエッジ）のタイミングで、保持している信号の値を第２マルチプレクサ４４に出力する。
【００４７】
第２マルチプレクサ４４は内部信号Ｓ２からの入力と第１フリップフロップ４３からの入力とのうち何れか一方の信号を選択する。この選択はＳＤＲ信号により制御がされる。第２マルチプレクサ４４が選択した信号は第２フリップフロップ４５に出力される。
【００４８】
第２フリップフロップ４５は第２マルチプレクサ４４が選択した信号の値を保持する。第２フリップフロップ４５にはＴＣＫ信号が入力されており、ＴＣＫ信号の立ち上がりエッジ（または立ち下りエッジ）のタイミングで、保持している信号の値を後段のスキャンセル３に出力（セル出力信号ＬＳ２）する。
【００４９】
図３を参照して、高速信号検出回路４１の構成を説明する。高速信号検出回路４１は第３フリップフロップ５１（図中でＦＦ３）と排他的論理和回路５２と２ビットカウンタ５３とを備えて構成している。第３フリップフロップ５１は内部ロジック１２から内部信号Ｓ２を入力して保持する。そして、排他的論理和回路５２に保持している値を出力する。また、第３フリップフロップ５１は内部クロックｐｃｌｋを入力しており、この内部クロックｐｃｌｋのタイミングで動作を行う。
【００５０】
排他的論理和回路５２は第３フリップフロップ５１からの入力と内部信号Ｓ２との排他的論理和の演算を行う。この演算結果は２ビットカウンタ５３に出力される。２ビットカウンタ５３は、排他的論理和回路５２の演算結果が「１」の場合にインクリメントを行い、「０」の場合にはインクリメントを行わない。２ビットカウンタ５３は２ビットまでカウントすることができるため、最大値は「３」、つまり２進数で「１１」になる。
【００５１】
２ビットカウンタ５３には内部クロックｐｃｌｋおよびＴＣＫ信号が入力されている。２ビットカウンタ５３の動作は内部クロックｐｃｌｋに基づいて行う。つまり、内部クロックｐｃｌｋのタイミングでインクリメントを行う。一方、ＴＣＫ信号の立ち上がりエッジ（または立ち下りエッジ）のタイミングで、２ビットカウンタ５３の最上位ビット値を出力する。このときに、２ビットカウンタ５３のカウント値をリセットする（ゼロに戻す）。
【００５２】
以上が構成である。次に、動作について説明する。ＪＴＡＧバウンダリスキャンを行うときには、インターフェイス回路２からＴＤＩ信号をチップ１に出力する。ＴＤＩ信号はＴＤＩ端子３１からチップ１に入力される。ＴＤＩ端子３１はスキャンセル１に接続されているため、ＴＤＩ信号はスキャンセル１に接続される。これにより、ＪＴＡＧバウンダリスキャンが開始される。
【００５３】
インターフェイス回路２からはＴＣＫ信号がチップ１に入力される。そして、ＴＣＫ信号は分岐して全てのスキャンセル１〜Ｎに入力される。また、ＴＣＫ信号はコントローラ３０にも入力されている。そこで、コントローラ３０は、ＴＣＫ信号の立ち上がりエッジ（または立ち下りエッジ）のタイミングで、ＳＤＲ信号を出力する。
【００５４】
図２に示すように、各スキャンチェイン１〜ＮはＳＤＲ信号を入力して、第１マルチプレクサ４２および第２マルチプレクサ４４の選択を切り替える。最初に、第１マルチプレクサ４２は高速信号検出回路４１の出力を選択し、第２マルチプレクサ４４は内部信号Ｓ２を選択する。
【００５５】
図４は高速信号検出回路４１の各点の波形の一例を示している。なお、この図において、縦線は内部クロックｐｃｌｋのタイミングを示している。この内部クロックｐｃｌｋはＴＣＫ信号よりも非常に高速な信号になっている。また、内部ロジック１１〜１Ｎを観測するためのサンプリング周波数ｆｓを「ｆｓ＝ＴＣＫ／フリップフロップの段数＝ＴＣＫ／Ｎ」としたときに、内部クロックｐｃｌｋは少なくともサンプリング周波数ｆｓよりも高速な信号になっている。
【００５６】
図４の「Ａ」は内部ロジック１２から排他的論理和回路５２に入力される内部信号Ｓ２の波形を示している。内部信号Ｓ２はＬｏｗの状態からＨｉｇｈの状態に変化し、そしてＬｏｗの状態に戻る波形となっている。
【００５７】
内部ロジック１２から入力される内部信号Ｓ２は途中で分岐して、第３フリップフロップ５１に入力される。第３フリップフロップ５１は内部クロックｐｃｌｋのタイミングで動作を行っており、このタイミングで内部信号Ｓ２の値を保持し、次のタイミングで保持している値を出力する。
【００５８】
「Ｂ」は第３フリップフロップ５１が出力する信号の波形を示している。第３フリップフロップ５１が保持している値はもともと内部信号Ｓ２であるため、内部信号Ｓ２と同じ波形になるはずである。ただし、第３フリップフロップ５１により保持されて出力されているため、内部クロックｐｃｌｋの１クロック分遅延している。なお、フリップフロップの特性から、「Ｂ」の波形は、もともとは矩形波であった信号（内部信号Ｓ２）に鈍りを生じた波形になっている。
【００５９】
従って、排他的論理和回路５２は内部信号Ｓ２とｐｃｌｋの１クロック分遅延した第３フリップフロップ５１からの信号との排他的論理和の演算を行う。「Ｃ」は排他的論理和回路５２が出力する信号の波形を示している。「Ａ」において、内部信号Ｓ２がＬｏｗからＨｉｇｈに変化するときには、「Ｂ」に示すように第３フリップフロップ５１からの信号はＬｏｗになっている。
【００６０】
よって、排他的論理和回路５２の演算を行うと、ＬｏｗからＨｉｇｈに変化する。次に、第３フリップフロップ５１から出力される信号が緩やかにＬｏｗからＨｉｇｈに変化する。よって、このときには、排他的論理和回路５２の演算結果はＬｏｗになるため、「Ｃ」の波形はＨｉｇｈからＬｏｗに変化する。
【００６１】
「Ａ」の波形において、ＨｉｇｈからＬｏｗに変化する。このときには、第３フリップフロップ５１から出力される信号はＨｉｇｈになっているため、排他的論理和回路５２の出力はＨｉｇｈになる。そして、内部クロックｐｃｌｋの１クロック後に「Ｂ」に示すように、第３フリップフロップ５１からの出力される信号は緩やかにＬｏｗになる。これにより、排他的論理和回路５２の出力はＬｏｗになる。
【００６２】
排他的論理和回路５２には、内部信号Ｓ２と第３フリップフロップ５１の出力信号とが入力される。第３フリップフロップ５１の出力信号はもともと内部信号Ｓ２である。ただし、第３フリップフロップ５１で保持されて出力されるため、内部クロックｐｃｌｋの１クロック分だけ遅延する。
【００６３】
よって、内部信号Ｓ２がＬｏｗ→Ｈｉｇｈ→Ｌｏｗに変化すると、排他的論理和回路５２の出力はＬｏｗ→Ｈｉｇｈ→Ｌｏｗ→Ｈｉｇｈ→Ｌｏｗのように変化する。つまり、内部信号Ｓ２に１つの矩形波が生じたとすると、排他的論理和回路５２の出力信号には２つの矩形波が生じる。これは、同じ内部信号Ｓ２について、ｐｃｌｋの１クロック前と１クロック後との排他的論理和の演算を行っているためである。
【００６４】
「Ｄ」は２ビットカウンタ５３の値を示している。２ビットカウンタ５３は排他的論理和回路５２の出力信号がＨｉｇｈのときにインクリメントを行う。従って、内部信号Ｓ２がＬｏｗ→Ｈｉｇｈ→Ｌｏｗに変化すると、排他的論理和回路５２の出力はＨｉｇｈが２回発生する。よって、２ビットカウンタ５３のカウント値は「２」になる。
【００６５】
２ビットカウンタ５３は２進数のカウンタである。よって、カウント値が「２」であるならば、「１０」になる。２ビットカウンタ５３は最上位ビットが「０」のときにはＬｏｗを出力しているが、最上位ビットが「１」のときにＨｉｇｈを出力する。従って、２ビットカウンタ５３が出力する信号（カウンタ信号）はＨｉｇｈになる。このカウンタ信号が第１マルチプレクサ４２に出力される。
【００６６】
ここでは、内部信号Ｓ２がＬｏｗ→Ｈｉｇｈ→Ｌｏｗのように１つの矩形波を生じた例を説明したが、２つ以上の矩形波を生じていてもよい。この場合には、２ビットカウンタ５３には４回のＨｉｇｈが入力されることになる。ただし、２ビットカウンタ５３がカウントできる最大値は「３」になるため、４回以上のＨｉｇｈを入力しても、２ビットカウンタ５３のカウント値は「３」、つまり２進数で「１１」であり、最上位ビットは「１」になる。
【００６７】
以上の動作はＴＣＫ信号の前後の立ち上がりエッジ（または立ち下りエッジ）の間に行われる。高速信号検出回路４１のカウンタ信号は第１マルチプレクサ４２に入力される。従って、ＴＣＫ信号の立ち上がりエッジ（または立ち下りエッジ）のタイミングで、第１フリップフロップ４３にカウンタ信号の値が保持される。同時に、第２フリップフロップ４５には内部信号Ｓ２の値が保持される。
【００６８】
このうち、第１フリップフロップ４３が保持するカウンタ信号の値は高速信号の有無を示す論理値になっている。Ｈｉｇｈならば高速信号が出現していることを示し、Ｌｏｗならば高速信号が出現していないことを示している。また、内部信号Ｓ２は内部回路である内部ロジック１２の論理値を示している。
【００６９】
図５は、第１フリップフロップ４３および第２フリップフロップ４５が保持している値およびその情報を示している。第１フリップフロップ４３にはカウンタ信号が保持されており、値が「０」ならば高速信号が検出されていることを示し、値が「１」ならば高速信号が検出されていないことを示している。一方、第２フリップフロップ４５が保持している値が「０」ならば内部信号Ｓ２がＨｉｇｈであることを示し、値が「１」ならば内部信号Ｓ２がＬｏｗであることを示している。
【００７０】
コントローラ３０はＴＣＫ信号の立ち上がりエッジ（または立ち下りエッジ）のタイミングで、ＳＤＲ信号を切り替える。このＳＤＲ信号により、第１マルチプレクサ４２は前段のスキャンセル１のセル出力信号を選択し、第２マルチプレクサ４４は第１フリップフロップ４３の出力信号を選択する。
【００７１】
従って、第１フリップフロップ４３にはスキャンセル１のセル出力信号ＬＳ１の値が保持され、第２フリップフロップ４５には第１フリップフロップ４３が保持していたカウンタ信号の値が保持される。第２フリップフロップ４５が保持していた内部信号Ｓ２の値は、セル出力信号ＬＳ２として後段のスキャンセル３に出力される。
【００７２】
以降、コントローラ３０は、第１マルチプレクサ４２が前段のスキャンセルのセル出力信号を選択し、第２マルチプレクサ４４は第１フリップフロップ４３からの出力信号を選択するように、ＳＤＲ信号を出力する。これにより、前段のスキャンセルのセル出力信号は、２つのフリップフロップ（第１フリップフロップ４３および第２フリップフロップ４５）を経由して、後段のスキャンセルに出力される。
【００７３】
図１に示すように、スキャンセルＮに接続されるＴＤＯ端子３２からＴＤＯ信号が順次出力されていく。ＴＣＫ信号の立ち上がり（または立ち下り）のタイミングで、第２フリップフロップ４５が保持している値（内部信号ＳＮの値）がＴＤＯ信号として出力される。同時に、第２フリップフロップ４５には第１フリップフロップ４３が保持していた値、つまりカウンタ信号の値が入力されて、保持される。
【００７４】
そして、ＴＣＫ信号の立ち上がり（または立ち下り）のタイミングごとに、第１フリップフロップ４３には前段のスキャンセルからのセル出力信号が入力される。同時に、第１フリップフロップ４３が保持していた値が第２フリップフロップ４５に保持され、第２フリップフロップ４５が保持していた値は後段のスキャンセルに向けてセル信号として出力される。
【００７５】
従って、ＴＣＫ信号の立ち上がり（または立ち下り）のタイミングごとに、第１フリップフロップ４３および第２フリップフロップ４５が保持していた値がシフトされていく。そして、ＴＤＯ端子３２からＴＤＯ信号として順次インターフェイス回路２に入力されていく。
【００７６】
ＳＤＲ信号を切り替える前の状態では、第１フリップフロップ４３に高速信号検出回路４１から出力されたカウンタ信号が保持され、第２フリップフロップ４５に内部信号Ｓ１〜ＳＮが保持されている。そして、ＳＤＲ信号を切り替えて、ＴＤＯ端子３２から順次出力していく。このとき、カウンタ信号と内部信号とが交互に出力されていく。
【００７７】
つまり、１つのスキャンセルの情報は２つ（カウンタ信号および内部信号）であり、１つのスキャンセルの情報を後段のスキャンセルに全て出力するために、ＴＣＫ信号が２クロック分必要になる。そして、スキャンセルはＮ個が設けられているため、ＴＣＫ信号が２×Ｎクロック分入力されると、全てのスキャンセル１〜Ｎのカウンタ信号および内部信号がインターフェイス回路２に入力される。このときのＴＤＯ信号の出力周期はＴＣＫ信号のクロックをＴＣＫとすると、ＴＣＫ−１となる。
【００７８】
インターフェイス回路２が入力するＴＤＯ信号はＨｉｇｈまたはＬｏｗの論理値の信号であり、２×Ｎ個の論理値を入力する。つまり、高速信号が発生しているか否かを示す論理値および内部信号の論理値である。これらの論理値が処理装置３に入力される。処理装置３はスキャンセル１〜Ｎの情報を有している。例えば、ＢＳＤＬ（Boudary Scan Described Language）と呼ばれるスキャンセルの情報を示すテキストファイルが記憶されている。このＢＳＤＬはＩＥＥＥ１１４９．１で規格されている。
【００７９】
従って、処理装置３は入力した論理値とＢＳＤＬとに基づいて、内部ロジック１１〜１Ｎの論理値を認識する。ただし、処理装置３に入力される論理値は内部ロジック１１〜１Ｎの論理値（内部信号Ｓ１〜ＳＮの論理値）とカウンタ信号とが交互になっている。よって、処理装置は内部信号Ｓ１〜ＳＮとカウンタ信号とを分けて認識する。このとき、内部ロジック１１〜１Ｎの論理値とカウンタ信号とが交互になっているため、内部ロジック１１〜１Ｎのそれぞれに応じて高速信号が出現しているか否かを認識できる。
【００８０】
処理装置３は以上の認識を行なって、表示装置４に表示される波形の画像処理を行う。図６は実際の内部信号Ｓ２の波形の一例と、表示装置４に表示される内部信号Ｓ２の波形の一例を示している。同図に示すように、サンプリング周波数ｆｓの逆数をサンプリング周期として実際の内部信号Ｓ２の観測を行っている。そして、内部信号Ｓ２には２回の高速信号が発生している。この高速信号はサンプリング周期では認識することができない。
【００８１】
高速信号検出回路４１により高速信号が出現していることを検出しているため、処理装置３は高速信号が出現したことを認識する。処理装置３は内部ロジック１１〜１Ｎの論理値に基づいて波形表示を行う画像処理を行う。このときに、高速信号が出現している場合には、そのことを波形に明示する画像処理を行う。
【００８２】
図６では、トグルとして高速信号が２回発生しているため、このサンプリング周期の期間（Ｌｏｗになっている期間）にハッチングを施す画像処理を行っている。勿論、高速信号が発生していることを画面上で認識できれば、任意の画像処理を行うことができる。例えば、波形の線種を変化させ、或いは波形の色を変化させる等、種々の画像処理を行うことができる。
【００８３】
そして、画像処理を行った波形を表示波形として、表示装置４に表示する。これにより、内部ロジック１１〜１Ｎの状態、つまり内部回路の状態を画面上で認識できると共に、サンプリング周波数ｆｓよりも高速な高速信号が発生しているか否かを認識することができる。
【００８４】
本実施形態では、内部信号Ｓ１〜ＳＮはチップ１の外部端子に接続されていない。従って、外部端子にオシロスコープを接続して、高速信号の検出を行うこともできない。このため、本実施形態を用いて内部信号Ｓ１〜ＳＮを観測することにより、内部信号Ｓ１〜ＳＮだけでなく、高速信号の有無までを検出することができる。
【符号の説明】
【００８５】
１    チップ
２    インターフェイス回路
３    処理装置
４    表示装置
１１〜１Ｎ    内部ロジック
３０    コントローラ
３１    ＴＤＩ端子
３２    ＴＤＯ端子
３３    ＴＣＫ端子
４１    高速信号検出回路
４２    第１マルチプレクサ
４３    第１フリップフロップ
４４    第２マルチプレクサ
４５    第２フリップフロップ
５１    第３フリップフロップ
５２    排他的論理和回路
５３    ２ビットカウンタ
ＳＣ１〜ＳＣＮ    スキャンチェイン
【図１】
2013210280.tif 000003
【図２】
2013210280.tif 000004
【図３】
2013210280.tif 000005
【図４】
2013210280.tif 000006
【図５】
2013210280.tif 000007
【図６】
2013210280.tif 000008
【図７】
2013210280.tif 000009
【図８】
2013210280.tif 000010
【図９】
2013210280.tif 000011
【図１０】
2013210280.tif 000012