(57)【特許請求の範囲】
【請求項１】
テスト・データ・インプット（ＴＤＩ）インタフェースとテスト・データ・アウトプット（ＴＤＯ）インタフェースとを含むテスト・アクセス・ポート（ＴＡＰ）と、
前記ＴＡＰに通信的に接続されたスキャン・チェーンとを備え、前記スキャン・チェーンは、前記ＴＡＰの前記ＴＤＩインタフェースと前記ＴＡＰの前記ＴＤＯインタフェースとの間に通信的に接続された複数のセルを含み、
前記セルの１つが、
前記スキャン・チェーンを介して第１の制御信号を受信し、前記第１の制御信号に応答して前記スキャン・チェーンに開路状態を生成し、そして、
前記スキャン・チェーンとは異なる信号経路を介して第２の制御信号を受信し、前記第２の制御信号に応答して前記スキャン・チェーンから開路状態を除去する、
ように構成される、装置。
【請求項２】
前記第１の制御信号が前記スキャン・チェーンのスキャン・レジスタからの値を含む、請求項１に記載の装置。
【請求項３】
前記スキャン・チェーンは第１のスキャン・チェーンであり、前記信号経路は第２のスキャン・チェーンの少なくとも一部を含む、請求項１に記載の装置。
【請求項４】
キー・チェッカ機能をさらに備え、前記キー・チェッカ機能が、
セキュリティ・キーの妥当性確認をし、そして、
前記セキュリテ・キーの妥当性確認に基づいて前記第２の制御信号を生成する、
ように構成される、請求項１に記載の装置。
【請求項５】
前記キー・チェッカ機能が、
前記スキャン・チェーンの一部、および
前記キー・チェッカ機能に関連するバッファ、
のうちの１つから前記セキュリティ・キーを読み込むように構成される、請求項４に記載の装置。
【請求項６】
認証構成部品をさらに備え、前記認証構成部品が、
チャレンジ値を生成し、
前記チャレンジ値に基づいてアンサ値を生成するように構成されたアンサ構成部品に向かって前記チャレンジ値を伝搬し、
前記アンサ構成部品から前記アンサ値を受信し、そして、
前記アンサ値が前記チャレンジ値に有効であるとの判定に応答して前記第２の制御信号を生成する、
ように構成される、請求項１に記載の装置。
【請求項７】
前記認証構成部品が、
前記セルの１つと前記ＴＡＰの前記ＴＤＯインタフェースとの間の前記スキャン・チェーンの一部に前記チャレンジ値を書き込むことによって前記アンサ構成部品に向かって前記チャレンジ値を伝搬し、そして、
前記ＴＡＰの前記ＴＤＩインタフェースと前記セルの１つとの間の前記スキャン・チェーンの一部から前記アンサ値を読み込むことによって前記アンサ構成部品から前記アンサ値を受信する、
ように構成される、請求項６に記載の装置。
【請求項８】
スキャン・チェーンの複数のセルの１つで第１の制御信号を受信することを含み、前記スキャン・チェーンが、テスト・データ・インプット（ＴＤＩ）インタフェースとテスト・データ・アウトプット（ＴＤＯ）インタフェースとを含むテスト・アクセス・ポート（ＴＡＰ）へ通信的に接続され、前記スキャン・チェーンの前記複数のセルが前記ＴＡＰの前記ＴＤＩインタフェースと前記ＴＡＰの前記ＴＤＯインタフェースとの間に通信的に接続され、前記第１の制御信号が前記スキャン・チェーンを介して前記セルの１つで受信され、さらに、
前記第１の制御信号に応答して前記スキャン・チェーンに開路状態を生成すること、
前記スキャン・チェーンの前記複数のセルの１つで第２の制御信号を受信することを含み、前記第２の制御信号が前記スキャン・チェーンとは異なる信号経路を介して受信され、さらに、
前記第２の制御信号に応答して前記スキャン・チェーンから前記開路状態を除去することを含む、方法。
【請求項９】
認証処理に基づいて前記第２の制御信号を生成するよう構成されたプロセッサをさらに備える、請求項１に記載の装置。
【請求項１０】
前記セルの１つが、
前記スキャン・チェーンの前のセルの出力に接続された第１の入力インタフェースと、開回路に接続された第２の入力インタフェースと、出力インタフェースと、制御インタフェースとを含むマルチプレクサ、及び、
前記マルチプレクサの制御インタフェースへ接続された出力インタフェースと前記信号経路へ接続された制御インタフェースとを含むレジスタを含む、請求項１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ（ＪＴＡＧ）テスト用のスキャン・チェーンに関し、より詳細には、それに限らないが、ＪＴＡＧテスト用のスキャン・チェーンのセキュリティに関する。
【背景技術】
【０００２】
Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ（ＪＴＡＧ）のようなテスト容易化設計（ＤｆＴ）技法は、複雑な集積回路（ＩＣ）およびシステムオンチップ（ＳｏＣ）のテストに根本的に寄与する。なぜなら、それらにより、装置内部の構成部品のアクセス、ならびに読取りおよび修正の、単純かつ効果的な手段が可能になるからである。このアクセスはスキャン・チェーンによって提供される。しかしながら、不都合なことに、テスト中は有益なこのアクセスは、製品が販売／導入された後セキュリティについての多くの問題を引き起こす。すなわち、このようなアクセスは、製品を修正したり、製品を改ざんしたり、製品を分解して模倣したり、または他の悪質な活動を実行したりする、悪質な理由で使用される可能性がある。
【０００３】
結果として、テストに使用されたＩＣおよびＳｏＣに対するアクセスは、関連製品が販売／導入された後活用することができないように、ＩＣおよびＳｏＣに対するアクセスのセキュリティを保護する試みがなされた。
【０００４】
テスト後にシステムのスキャン・チェーンの活用を防止するための通常の解決策は、システムに対するスキャン・チェーンのアクセスが不可能になるように、システムに対して堅固な修正を施すことである。例えば、システムのテスト・アクセス・ポート（ＴＡＰ）は、いくつかの方法で燃やすか、または除去することができる。しかしながら、不都合なことに、この解決策は複数の欠点を有する。第１に、ＪＴＡＧ基盤それ自体がシステム上に残り、したがって、攻撃者は依然として（例えば、プローブの挿入により）それにアクセスすることができる。ＪＴＡＧワイヤはボード上で識別することが比較的容易であり、結果は直接的であり得る。この手順の有名な例は、たった数回の試みで一学生によって実現された、第１世代のＡｐｐｌｅ  ｉＰｈｏｎｅ（登録商標）のアンロックである。第２に、ＤｆＴ基盤はボード上の「重荷」になり、たとえ多くのアプリケーション（例えば、インフィールドおよびオンラインのテスト）がそのようなアクセスの恩恵を大いに受けることができたとしても、これ以上使用することができない。
【０００５】
さらに、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）−複合プログラマブル・ロジック・デバイス（ＣＰＬＤ）製品では、それらのデバイスの構成領域に対するＪＴＡＧアクセスを禁止するために、２つの異なる手法が使用される。第１の手法はデバイス上でヒューズを使用することであり、それは燃えるとデバイスの構成領域に対するアクセスを禁止する。しかしながら、不都合なことに、一度ヒューズが燃えると、燃えた部品を交換するまでＪＴＡＧアクセスは不可能である。第２の手法は、バッテリ・バックアップを使用して、入力ビット・ストリームを復号するために使用されるキーを含む、安全な記憶装置（例えば、電気的消去可能プログラマブル・リード・オンリ・メモリ（ＥＥＰＲＯＭ）、ＦＬＡＳＨ、または同様の記憶装置）をサポートすることである。しかしながら、不都合なことに、この手法は次のＪＴＡＧアクセスを可能にするが、バッテリ・バックアップ用に必要なデバイス上の資産は、多くのアプリケーションで問題となる可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００６】
従来技術におけるさまざまな欠陥は、スキャン・チェーンのセキュリティを提供するための実施形態によって対処される。スキャン・チェーンのセキュリティ機能は、例えば、システムの導入または販売の前のテスト、システムの導入または販売の後のインフィールド・テスト、システムのインフィールド修正などの目的のために、システムのスキャン・チェーンの通常の使用に対する安全な制御を可能にする。スキャン・チェーンのセキュリティ機能は、スキャン・チェーンの中断および中断したスキャン・チェーンの再確立に対する制御を可能にすることにより、スキャン・チェーンの通常の使用に対する安全な制御を可能にする。スキャン・チェーンのセキュリティ構成部品は、制御信号に応答してスキャン・チェーンから開路状態を除去するために構成される。制御信号は、セキュリティ・キーの妥当性確認（ｖａｌｉｄａｔｉｏｎ）に応答して、チャレンジ・ベースの認証処理の正常終了に応答して、またはその他の適切な妥当性確認もしくは認証に応答して、生成することができる。また、スキャン・チェーンのセキュリティ構成部品は、第２の制御信号に応答して、スキャン・チェーンの中に開路状態を作成するために構成することができる。第２の制御信号は、スキャン・チェーンを介して受信したスキャン・レジスタの値であり得る。
【０００７】
本明細書における教示は、添付図面とともに以下の詳細説明を考察することにより、容易に理解することができる。
【図面の簡単な説明】
【０００８】
【図１Ａ】テスト・システムおよび被テスト・システムを含むテスト環境の例示的なシステムの高水準のブロック図である。
【図１Ｂ】テスト・システムおよび被テスト・システムを含むテスト環境の例示的なシステムの高水準のブロック図である。
【図２】階層型スキャン・チェーン・アクセスの有効化に使用するために構成された、ＩＥＥＥ  Ｐ１６８７ワーキング・グループによって提案されたＳＩＢセルの高水準のブロック図である。
【図３】スキャン・チェーンのセキュリティの制御に使用するために構成されたＯＣＤセルの実施形態を描写する図である。
【図４Ａ】セキュリティが保護されているスキャン・チェーンの入力部分の中にシフトされたセキュリティ・キーのキー・チェッカ（ｋｅｙ  ｃｈｅｃｋｅｒ）機能による妥当性確認を介した、ＳｅｃｕｒｅＲＳＴ信号の生成の一実施形態を描写する図である。
【図４Ｂ】キー・チェッカ機能のバッファの中にシフトされたセキュリティ・キーのキー・チェッカ機能による妥当性確認を介した、ＳｅｃｕｒｅＲＳＴ信号の生成の一実施形態を描写する図である。
【図５】チャレンジ・ベースの認証方法の使用を介した、ＳｅｃｕｒｅＲＳＴ信号の生成の一実施形態を描写する図である。
【図６】スキャン・チェーンのセキュリティの制御に使用するために構成されたリモートＯＣＤセルの一実施形態を描写する図である。
【図７】ＴＡＰがＪＴＡＧシステムのスキャン・チェーンに安全なアクセスを提供するために構成された、ＪＴＡＧシステムのＴＡＰの一実施形態を描写する図である。
【図８】スキャン・チェーンの中に開路状態を作成する方法の一実施形態を描写する図である。
【図９】スキャン・チェーンから開路状態を除去するための制御信号を生成する方法の一実施形態を描写する図である。
【図１０】スキャン・チェーンから開路状態を除去するための制御信号を使用する方法の一実施形態を描写する図である。
【図１１】本明細書に記載した機能の実行に使用するのに適切なコンピュータの高水準のブロック図である。
【発明を実施するための形態】
【０００９】
理解を容易にするために、可能な場合、図に共通な同一の構成要素を指定するために同一の参照数字を使用した。
【００１０】
本明細書において、スキャン・チェーンのセキュリティ機能を描写および記載する。スキャン・チェーンのセキュリティ機能は、例えば、システムの導入または販売の前のテスト、システムの導入または販売の後のインフィールド・テスト、システムのインフィールド修正など、ならびにそれらのさまざまな組合せなどの目的のために、システムのスキャン・チェーンの通常の使用に対する安全な制御を可能にする。スキャン・チェーンのセキュリティ機能は、（スキャン・チェーンの通常の使用を防止するために）スキャン・チェーンの中断に対する制御を可能にすること、および（スキャン・チェーンの通常の使用を可能にするために）スキャン・チェーンの中断後のスキャン・チェーンの再確立に対する制御を可能にすることにより、スキャン・チェーンの通常の使用に対する安全な制御を可能にする。この方式では、スキャン・チェーンのセキュリティ機能は、いつでも、いかなる目的でも、スキャン・チェーンの制御可能なロックおよびアンロックを可能にする。この方式では、スキャン・チェーンのセキュリティ機能を使用するスキャン・チェーンのロックは可逆性であり、ほとんどの既存のスキャン・チェーンのセキュリティ方法と全く対照的である。既存のスキャン・チェーンのセキュリティ方法では、いかなるスキャン・チェーンの試みられたセキュリティ保護（例えば、スキャン・チェーン・アクセスを提供する１つまたは複数の構成部品の燃焼）も恒久的であり、したがって、スキャン・チェーンのセキュリティ方法の実行後のスキャン・チェーンの通常の使用は不可能である。
【００１１】
一実施形態では、スキャン・チェーンの制御された中断はスキャン・チェーンの通常の使用を防止するために開路状態を作成する目的で、スキャン・チェーンの制御された再確立はスキャン・チェーンの通常の使用を再び可能にするために開路状態を除去する目的で、スキャン・チェーンのセキュリティ構成部品を使用して提供することができる。
【００１２】
一実施形態では、スキャン・チェーンのセキュリティ構成部品は、スキャン・チェーン内に配置することができる。そのようなスキャン・チェーン内のスキャン・チェーンのセキュリティ構成部品の例示的な使用は、図１Ａに関して描写および記載される。
【００１３】
一実施形態では、スキャン・チェーンのセキュリティ構成部品は、電気電子技術協会（ＩＥＥＥ）１１４９．１のテスト・アクセス・ポート（ＴＡＰ）などの、スキャン・チェーンにアクセスを提供するために構成されたテスト・アクセス・インタフェース（ＴＡＩ）内に配置することができる。そのようなＴＡＩ内のスキャン・チェーンのセキュリティ構成部品の例示的な使用は、図１Ｂに関して描写および記載される。
【００１４】
図１Ａおよび図１Ｂは、テスト・システムおよび被テスト・システムを含むテスト環境の例示的なシステムの高水準のブロック図を描写する。
【００１５】
図１Ａおよび図１Ｂに描写したように、システムのテスト環境１０１および１０２は、それぞれテスト・システム（ＴＳ）１１０および被テスト・システム（ＳＵＴ）１２０を含む。
【００１６】
ＴＳ１１０は、ＳＵＴ１２０をテストするのに適切な任意のシステムであってもよい。ＴＳ１１０はＳＵＴ１２０をテストするために構成される。ＴＳ１１０は、ＳＵＴ１２０の任意のテスト、例えば、ＳＵＴ１２０の１つまたは複数の個別の構成部品、ＳＵＴ１２０の構成部品の１つまたは複数の組合せ、ＳＵＴ１２０の構成部品間の１つまたは複数の相互接続、ＳＵＴ１２０の１つまたは複数のシステム・レベルの機能など、ならびにそれらのさまざまな組合せのテストを実行することができる。ＴＳ１１０は、テスト手順の実行、被テスト・システムへの入力データの提供、被テスト・システムからの出力データの受信、システムのテスト結果を判定するための被テスト・システムから受信した出力データの処理、および同様な機能、ならびにそれらのさまざまな組合せなどの、被テスト・システムのテストに通常関連する任意の機能を実行することができる。被テスト・システムをテストするためのＴＳ１１０の設計および使用は、以下でさらに詳しく説明する。
【００１７】
ＳＵＴ１２０は、ＴＳ１１０を使用してテストすることができる任意のシステムであってよい。ＳＵＴ１２０は、ＴＳ１１０により、個別に、および／または組合せで、少なくともその一部がテストされ得る任意の構成部品を含むことができる。ＴＳ１２０は、ＳＵＴ１２０によってテストされる構成部品にアクセスする、関連した入出力アクセス・ピンの１つまたは複数のセットを有する１つまたは複数のスキャン・チェーンを含むことができる。ＳＵＴ１２０のテスト用にＳＵＴ１２０の中でスキャン・チェーンを利用できる方式は、当業者によって理解されよう。例えば、ＳＵＴ１２０は１つまたは複数のボードを含むことができ、それらのテストは、ＳＵＴ１２０に入力テスト信号を印加し、ＳＵＴ１２０から出力テスト信号を収集するために使用できる、関連した入出力アクセス・ピンを有する１つまたは複数のスキャン・チェーンを使用して実行することができる、
【００１８】
図１Ａおよび図１Ｂに描写したように、ＴＳ１１０は、テスト・アクセス・インタフェース（ＴＡＩ）１２５を介してＳＵＴ１２０にアクセスする。
【００１９】
ＴＡＩ１２５は、ＴＳ１１０、ＳＵＴ１２０、実行されるテストのタイプなど、ならびにそれらのさまざまな組合せのうちの１つまたは複数に依存する可能性がある、任意の適切なテスト・アクセス・インタフェースを使用して実装することができる。
【００２０】
一実施形態では、ＴＡＩ１２５は、参照により全体として本明細書に組み込まれているＩＥＥＥ１１４９．１規格の中で標準化された、Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ（ＪＴＡＧ）のテスト・アクセス・ポート（ＴＡＰ）として実装することができる。
【００２１】
ＩＥＥＥ１１４９．１のＴＡＰは、テストで使用する以下の信号セットをサポートする：Ｔｅｓｔ  Ｄａｔａ  Ｉｎ（ＴＤＩ）、Ｔｅｓｔ  Ｄａｔａ  Ｏｕｔ（ＴＤＯ）、Ｔｅｓｔ  Ｍｏｄｅ  Ｓｅｌｅｃｔ（ＴＭＳ）、Ｔｅｓｔ  Ｃｌｏｃｋ（ＴＣＫ）、および、オプションとしてＴｅｓｔ  Ｒｅｓｅｔ  Ｓｉｇｎａｌ（ＴＲＳＴ）。ＳＵＴ１２０のＴＤＩおよびＴＤＯのピンは、それを介してＴＳ１１０がＳＵＴ１２０でテストを実行できる、境界スキャン・チェーン１２８の中で相互接続する。
【００２２】
また、ＩＥＥＥ１１４９．１のＴＡＰは、ＴＡＰコントローラ、命令レジスタ、バイパス・レジスタ、および、オプションとして１つまたは複数の追加構成要素（例えば、データ・レジスタ、復号モジュール、など）をサポートする。
【００２３】
ＴＡＩ１２５は、その他の適切なテスト・アクセス・インタフェースを含むことができる。
【００２４】
ＴＳ１１０、ＴＡＩ１２５、およびＳＵＴ１２０が、本明細書において描写および記載したさまざまな実施形態の特徴を提供するのに適切な任意の方式で実装できることは、当業者によって理解されよう。
【００２５】
図１Ａおよび図１Ｂに描写したように、テスト環境１０１および１０２のそれぞれは、スキャン・チェーンのセキュリティ構成部品（ＳＣＳＣ）１３０を含む。
【００２６】
図１Ａに描写したように、システム・テスト環境１０１では、スキャン・チェーンを中断するために開路を作成する目的で、かつスキャン・チェーンを中断しないようにするために開路を閉鎖する目的で構成されたＳＣＳＣ１３０は、スキャン・チェーン１２８内に配置することができる。ＴＤＩ入力はスキャン・チェーン１２８の入力で一連のセルに結合し、引き続いてスキャン・チェーン１２８の入力はＳＣＳＣ１３０に結合し、引き続いてＳＣＳＣ１３０はスキャン・チェーン１２８の出力で一連のセルに結合し、引き続いてスキャン・チェーン１２８の出力はＴＤＯ出力に結合する。この構成におけるＳＣＳＣ１３０の使用は、図２〜７を参照することによってより理解することができる。
【００２７】
図１Ｂに描写したように、システム・テスト環境１０２では、スキャン・チェーンを中断するために開路を作成する目的で、かつスキャン・チェーンを中断しないようにするために開路を閉鎖する目的で構成されたＳＣＳＣ１３０は、ＴＡＩ１２５内に配置することができる。この構成におけるＳＣＳＣ１３０の使用は、図２〜３および８を参照することによってより理解することができる。
【００２８】
本明細書に記載したように、ＳＣＳＣ１３０は、スキャン・チェーン１２８内の開路状態を作成および除去するために構成される。したがって、ＳＣＳＣ１３０は、スキャン・チェーン１２８内の開路状態を作成および除去するのに適切な任意の方式で実装することができる。
【００２９】
一実施形態では、ＳＣＳＣ１３０は開路デッドロック（ＯＣＤ）セルとして実装され、その実施形態は図３に関して描写および記載される。
【００３０】
一実施形態では、ＯＣＤセルは、図２に関して描写および記載された、ＩＥＥＥ  Ｐ１６８７ワーキング・グループによって提案されたセグメント挿入ビット（ＳＩＢ）セルと同様であり得る。
【００３１】
スキャン・チェーンのセキュリティを提供できる例示的なシステム・テスト環境に関して描写および記載したが、スキャン・チェーンのセキュリティ機能は、スキャン・チェーンを有するその他の適切なタイプの環境内に提供できることが理解されよう。
【００３２】
図２は、階層型スキャン・チェーン・アクセスの有効化に使用するために構成された、ＩＥＥＥ  Ｐ１６８７ワーキング・グループによって提案されたＳＩＢセルの高水準のブロック図を描写する。
【００３３】
ＳＩＢセル２００は、（ＴＤＩ入力およびＴＤＯ出力を介して）スキャン・チェーンの第１の階層レベル、および（ｏＴＤＩ入力およびｉＴＤＯ出力を介して）スキャン・チェーンの第２の階層レベルをサポートするように構成される。
【００３４】
ＳＩＢセル２００は、それに関連するＳＩＢ入力ＭＵＸ２２０を有するＳｅｌｅｃｔ  Ｉｎｓｔｒｕｍｅｎｔ  Ｂｉｔ（ＳＩＢ）レジスタ２１０、それに関連するＵｐＳＩＢ入力ＭＵＸ２４０を有するＵｐｄａｔｅ  ＳＩＢ（ＵｐＳＩＢ）レジスタ２３０、および出力ＭＵＸ２５０を含む。
【００３５】
ＳＩＢレジスタ２１０に関連するＳＩＢ入力ＭＵＸ２２０は、ＳＩＢレジスタ２１０への入力を制御する。ＳＩＢ入力ＭＵＸ２２０は２つの入力ポート２２１および２２２を含む。ＳＩＢ入力ＭＵＸ２２０は、（ａ）入力ポート２２１で（例えば、理解しやすいように省略したスキャン・チェーンにおける従来の構成部品からの）ＴＤＩ入力２６１を、および、（２）入力ポート２２２でＳＩＢレジスタ２１０の出力を、入力として受け入れる。ＳＩＢ入力ＭＵＸ２２０は、ＳＩＢ入力ＭＵＸ２２０の制御ポート２２３に印加されたＳｈＤＲ制御信号２６４によって制御される。ＳｈＤＲ制御信号２６４が「１」の場合、ＳＩＢ入力ＭＵＸ２２０は、ＴＤＩ入力２６１からの信号を、入力ポート２２１を経由してＳＩＢレジスタ２１０の中に通す。ＳｈＤＲ制御信号２６４が「０」の場合、ＳＩＢ入力ＭＵＸ２２０は、ＳＩＢレジスタ２１０の出力からの信号を、入力ポート２２２を経由してＳＩＢレジスタ２１０の中に通す。
【００３６】
ＳＩＢレジスタ２１０は、ＳＩＢ入力ＭＵＸ２２０の出力からの入力を受け入れる。ＳＩＢレジスタ２１０は、ＳＩＢレジスタ２１０のクロック・ポート２１１に印加された（ＴＣＫ信号２６３と表記された）クロック信号によって制御される。ＳＩＢレジスタ２１０の出力は、ＳＩＢ入力ＭＵＸ２２０への入力（図では入力２２２）、ＵｐＳＩＢ入力ＭＵＸ２４０への入力（図では入力２４１）、出力ＭＵＸ２５０への入力（図では入力ポート２５２）、および（スキャン・チェーンの第２の階層レベルが起動されると第２の階層レベル内に信号を伝えるために第２の階層レベルの構成部品へのアクセスを提供する）ｏＴＤＩポート２６６のそれぞれに結合する。
【００３７】
ＵｐＳＩＢレジスタ２３０に関連するＵｐＳＩＢ入力ＭＵＸ２４０は、ＵｐＳＩＢレジスタ２３０への入力を制御する。ＵｐＳＩＢ入力ＭＵＸ２４０は、２つの入力ポート２４１および２４２を含む。ＵｐＳＩＢ入力ＭＵＸ２４０は、（ａ）入力ポート２４１でＳＩＢレジスタ２１０からの出力を、および、（２）入力ポート２４２でＵｐＳＩＢレジスタ２３０からの出力を、入力として受け入れる。ＵｐＳＩＢ入力ＭＵＸ２４０は、ＵｐＳＩＢ入力ＭＵＸ２４０の制御ポート２４３に印加されたＵｐＤＲ制御信号２６５によって制御される。ＵｐＤＲ制御信号２６５が「１」の場合、ＵｐＳＩＢ入力ＭＵＸ２４０は、ＳＩＢレジスタ２１０の出力からの信号を、（入力ポート２４１を経由して）ＵｐＳＩＢレジスタ２３０の中に通す。ＵｐＤＲ制御信号２６５が「０」の場合、ＵｐＳＩＢ入力ＭＵＸ２４０は、ＵｐＳＩＢレジスタ２３０の出力からの信号を、（入力ポート２４２を経由して）ＵｐＳＩＢレジスタ２３０の中に通す。
【００３８】
ＵｐＳＩＢレジスタ２３０は、ＵｐＳＩＢ入力ＭＵＸ２４０の出力からの入力を受け入れる。ＵｐＳＩＢレジスタ２３０は、ＵｐＳＩＢレジスタ２３０のクロック・ポート２３１に印加された（ＴＣＫ信号２６３と表記された）クロック信号によって制御される。ＵｐＳＩＢレジスタ２３０の出力は、ＵｐＳＩＢ入力ＭＵＸ２４０への入力（図では入力２４２）、出力ＭＵＸ２５０の制御ポート２５３、およびＳｅｌｅｃｔ＿ｌｎｓｔｒ信号経路２６８のそれぞれに結合する。
【００３９】
出力ＭＵＸ２５０は、２つの入力ポート２５１および２５２を含む。出力ＭＵＸ２５０は、（１）入力ポート２５１で（スキャン・チェーンの第２の階層レベルが起動されるとスキャン・チェーンの第２の階層レベルの構成部品からスキャン・チェーンの第１の階層レベルへのアクセスを提供する）ｉＴＤＯポート２６７を経由した低階層レベルからの入力を、および、（２）入力ポート２５２でＳＩＢレジスタ２１０からの出力を、入力として受け入れる。出力ＭＵＸ２５０の出力は、（スキャン・チェーンの第１の階層レベルの中の次の構成部品への伝搬用に）ＳＩＢセル２００のＴＤＯ出力２６２に結合する。出力ＭＵＸ２５０の出力は、出力ＭＵＸ２５０の制御ポート２５３に印加された制御信号によって決定される。ＵｐＳＩＢレジスタ２３０の出力は、出力ＭＵＸ２５０の制御ポート２５３に結合する。
【００４０】
図２に描写したように、ＵｐＳＩＢレジスタ２３０の値は、第２の階層レベルが選択された（すなわち、スキャン・チェーンの一部である）か、または、除外された（すなわち、スキャン・チェーンの一部でない）かを判定する。第２の階層レベルが除外される（すなわち、ＵｐＳＩＢレジスタ２３０の値が「０」である）と、出力ＭＵＸ２５０はＳＩＢレジスタ２１０の出力をＳＩＢセル２００のＴＤＯ出力２６２に通し、ｉＴＤＯポート２６７からの値は無視される。第２の階層レベルが選択される（すなわち、ＵｐＳＩＢレジスタ２３０の値が「１」である）と、出力ＭＵＸ２５０は、第２の階層レベルから（すなわち、ｉＴＤＯポート２６７から）の信号をＳＩＢセル２００のＴＤＯ出力２６２に通す。
【００４１】
本明細書に記載したように、一実施形態では、ＯＣＤセルは、図２に関して描写および記載したように、ＩＥＥＥ  Ｐ１６８７ワーキング・グループによって提案されたセグメント挿入ビット（ＳＩＢ）セルと同様であり得る。ＯＣＤセルの例示的な実施形態を図３に関して描写および記載する。
【００４２】
図３は、スキャン・チェーンのセキュリティの制御に使用するために構成されたＯＣＤセルの一実施形態を描写する。
【００４３】
図２と図３の比較から見られるように、少なくともいくつかの観点で、図３のＯＣＤセル３００は図２のＳＩＢセル２００と同様である。
【００４４】
本明細書に記載したように、ＯＣＤセル３００はスキャン・チェーンに関連し、（例えば、スキャン・チェーン内へのＯＣＤセル３００の配置により、スキャン・チェーンがそれによってアクセスするテスト・アクセス・インタフェース内へのＯＣＤセル３００の配置により、または、ＯＣＤセル３００のその他の適切な配置により、）ＯＣＤセル３００が関連するスキャン・チェーンの通常の使用のセキュリティを保護するように構成される。
【００４５】
ＯＣＤセル３００は、制御信号の受信に応答してスキャン・チェーン内に開路状態を作成するように構成され、開路状態の作成によりスキャン・チェーンの通常の使用が防止される。スキャン・チェーンの中の開路状態の作成に使用される制御信号は、任意の適切な制御信号であってよい。一実施形態では、スキャン・チェーンの中の開路状態の作成に使用される制御信号は、スキャン・レジスタの値である。そのような一実施形態では、スキャン・レジスタの値はスキャン・チェーンを介して受信される。
【００４６】
ＯＣＤセル３００は、制御信号の受信に応答してスキャン・チェーンから開路状態を除去するように構成され、開路状態の除去によりスキャン・チェーンの通常の使用が再び可能になる。
【００４７】
ＯＣＤセル３００は、それに関連するＯＣＤ入力ＭＵＸ３２０を有するＯＣＤレジスタ３１０、それに関連するＵｐＯＣＤ入力ＭＵＸ３４０を有するＵｐｄａｔｅ  ＯＣＤ（ＵｐＯＣＤ）レジスタ３３０、および入力ＭＵＸ３５０を含む。
【００４８】
ＯＣＤレジスタ３１０に関連するＯＣＤ入力ＭＵＸ３２０は、ＯＣＤレジスタ３１０への入力を制御する。ＯＣＤ入力ＭＵＸ３２０は、２つの入力ポート３２１および３２２を含む。ＯＣＤ入力ＭＵＸ３２０は、（ａ）入力ポート３２１で入力ＭＵＸ３５０の出力を、および、（２）入力ポート３２２でＯＣＤレジスタ３１０の出力を、入力として受け入れる。ＯＣＤ入力ＭＵＸ３２０は、ＯＣＤ入力ＭＵＸ３２０の制御ポート３２３に印加されたＳｈＤＲ制御信号３６４によって制御される。ＳｈＤＲ制御信号３６４が「１」の場合、ＯＣＤ入力ＭＵＸ３２０は、入力ＭＵＸ３５０の出力からの信号を、入力ポート３２１を経由してＯＣＤレジスタ３１０の中に通す。ＳｈＤＲ制御信号３６４が「０」の場合、ＯＣＤ入力ＭＵＸ３２０は、ＯＣＤレジスタ３１０の出力からの信号を、入力ポート３２２を経由してＯＣＤレジスタ３１０の中に通す。
【００４９】
ＯＣＤレジスタ３１０は、ＯＣＤ入力ＭＵＸ３２０の出力から入力を受け入れる。ＯＣＤレジスタ３１０は、ＯＣＤレジスタ３１０のクロック・ポート３１１に印加された（ＴＣＫ信号３６３と表記された）クロック信号によって制御される。ＯＣＤレジスタ３１０の出力は、ＯＣＤ入力ＭＵＸ３２０への入力（図では入力３２２）、ＵｐＯＣＤ入力ＭＵＸ３４０への入力（図では入力３４１）、および（スキャン・チェーンの下流セルへのアクセスを提供する）ＴＤＯ出力ポート３６２のそれぞれに結合する。
【００５０】
ＵｐＯＣＤレジスタ３３０に関連するＵｐＯＣＤ入力ＭＵＸ３４０は、ＵｐＯＣＤレジスタ３３０への入力を制御する。ＵｐＯＣＤ入力ＭＵＸ３４０は、２つの入力ポート３４１および３４２を含む。ＵｐＯＣＤ入力ＭＵＸ３４０は、（ａ）入力ポート３４１でＯＣＤレジスタ３１０からの出力を、および、（２）入力ポート３４２でＵｐＯＣＤレジスタ３３０からの出力を、入力として受け入れる。ＵｐＯＣＤ入力ＭＵＸ３４０は、ＵｐＯＣＤ入力ＭＵＸ３４０の制御ポート３４３に印加されたＵｐＤＲ制御信号３６５によって制御される。ＵｐＤＲ制御信号３６５が「１」の場合、ＵｐＯＣＤ入力ＭＵＸ３４０は、ＯＣＤレジスタ３１０の出力からの信号を、（入力ポート３４１を経由して）ＵｐＯＣＤレジスタ３３０の中に通す。ＵｐＤＲ制御信号３６５が「０」の場合、ＵｐＯＣＤ入力ＭＵＸ３４０は、ＵｐＯＣＤレジスタ３３０の出力からの信号を、（入力ポート３４２を経由して）ＵｐＯＣＤレジスタ３３０の中に通す。
【００５１】
ＵｐＯＣＤレジスタ３３０は、ＵｐＯＣＤ入力ＭＵＸ３４０の出力から入力を受け入れる。ＵｐＯＣＤレジスタ３３０は、ＵｐＯＣＤレジスタ３３０のクロック・ポート３３１に印加された（ＴＣＫ信号３６３と表記された）クロック信号、および、ＯＣＤレジスタ３１０の制御ポート３３２に印加されたＳｅｃｕｒｅ  Ｒｅｓｅｔ（ＳｅｃｕｒｅＲＳＴ）信号３６９によって制御される。ＵｐＯＣＤレジスタ３３０の出力は、ＵｐＯＣＤ入力ＭＵＸ３４０への入力（図では入力３４２）、および入力ＭＵＸ３５０の制御ポート３５３に結合する。
【００５２】
入力ＭＵＸ３５０は、２つの入力ポート３５１および３５２を含む。入力ＭＵＸ３５０は、（１）入力ポート３５１で開路（例えば、入力ポート３５１がその他の構成部品に結合していない）を、および、（２）入力ポート３５２で（スキャン・チェーンの上流セルからのアクセスを提供する）ＴＤＩ入力ポート３６１からの入力を、入力として受け入れる。入力ＭＵＸ３５０の出力は、（ＯＣＤレジスタ３１０を経由したＯＣＤセル３００のＴＤＯ出力３６２への信号の伝搬用に）ＯＣＤ入力ＭＵＸ３２０の入力ポート３２１に結合する。入力ＭＵＸ３５０の出力は、入力ＭＵＸ３５０の制御ポート３５３に印加された制御信号によって決定される。ＵｐＯＣＤレジスタ３３０の出力は、入力ＭＵＸ３５０を制御するために入力ＭＵＸ３５０の制御ポート３５３に結合する。ＵｐＯＣＤレジスタ３３０は、ＳｅｃｕｒｅＲＳＴ信号３６９によって制御され、同信号はＵｐＯＣＤレジスタ３３０を既知の値（「１」または「０」）にリセットする。
【００５３】
ＵｐＯＣＤレジスタ３３０は、入力ＭＵＸ３５０を制御して、（入力ＭＵＸ３５０での入力ポート３５１の選択により）スキャン・チェーンの中に開路状態を作成し、（両方がスキャンに結合した、ＯＣＤセル３００のＴＤＩ入力３６１をＯＣＤセル３００のＴＤＯ出力３６２に（ＯＣＤレジスタ３１０を経由して）結合する入力ＭＵＸ３５０での入力ポート３５２の選択により）スキャン・チェーンから開路状態を除去するように、構成される。
【００５４】
この意味で、ＵｐＯＣＤレジスタ３３０および入力ＭＵＸ３５０のそれぞれは、スキャン・チェーンから開路状態を作成し除去するために構成された構成部品であると考えることができる。
【００５５】
ＵｐＯＣＤレジスタ３３０は、第１の制御信号（例えば、スキャン・チェーンを介して受信したスキャン・レジスタの値）に応答して、スキャン・チェーンの中に開路状態を作成するように構成された構成部品である。ＵｐＯＣＤレジスタ３３０は、（ＵｐＯＣＤレジスタ３３０の出力から入力ＭＵＸ３５０の制御ポート３５３に供給された制御信号を介して）入力ＭＵＸ３５１に入力ポート３５１を作成するように命令することにより、開路状態を作成するように構成される。
【００５６】
ＵｐＯＣＤレジスタ３３０は、第２の制御信号（例えば、ＵｐＯＣＤレジスタ３３０で受信したＳｅｃｕｒｅＲＳＴ信号）に応答して、スキャン・チェーンから開路状態を除去するように構成された構成部品である。ＵｐＯＣＤレジスタ３３０は、（ＵｐＯＣＤレジスタ３３０の出力から入力ＭＵＸ３５０の制御ポート３５３に供給された制御信号を介して）入力ＭＵＸ３５１に入力ポート３５２を選択するように命令することにより、開路状態を除去するように構成される。
【００５７】
入力ＭＵＸ３５０は、第１の制御信号に応答してスキャン・チェーンの中に開路状態を作成するように構成された構成部品であり、ここで第１の制御信号は、入力ＭＵＸ３５０の制御ポート３５３でＵｐＯＣＤレジスタ３３０の出力から（例えば、ＵｐＯＣＤレジスタ３３０によって受信されるスキャン・レジスタの値に応答して）受信した制御信号である。入力ＭＵＸ３５０は、第１の制御信号に応答して入力ポート３５１を選択することにより、スキャン・チェーンの中に開路状態を作成するように構成される。
【００５８】
入力ＭＵＸ３５０は、第２の制御信号に応答してスキャン・チェーンの中の開路状態を除去するように構成された構成部品であり、ここで第２の制御信号は、入力ＭＵＸ３５０の制御ポート３５３でＵｐＯＣＤレジスタ３３０の出力から（例えば、ＵｐＯＣＤレジスタ３３０によって受信されるＳｅｃｕｒｅＲＳＴ信号に応答して）受信した制御信号である。入力ＭＵＸ３５０は、第２の制御信号に応答して入力ポート３５２を選択することにより、スキャン・チェーンの中の開路状態を除去するように構成される。
【００５９】
本明細書に記載したように、ＳｅｃｕｒｅＲＳＴ信号３６９は、ＵｐＯＣＤレジスタ３３０を経由して、（スキャン・チェーンの通常の使用が防止される開路状態にスキャン・チェーンが支配されるような）入力ポート３５１経由の開路入力の選択から、（開路状態がスキャン・チェーンから除去され、スキャン・チェーンの通常の使用が実現可能になるような）入力ポート３５２経由のＴＤＩ入力ポート３６１からの入力の選択への、入力ＭＵＸ３５０によって制御された切り替えを、それによって可能にする入力ＭＵＸ３５０の制御で使用するために適合される。
【００６０】
したがって、ＳｅｃｕｒｅＲＳＴ信号３６９は、制御された方式で関連するスキャン・チェーンからの開路状態の除去を可能にするためのＯＣＤセル３００の動作を制御するように構成される。
【００６１】
図２と図３の比較から見られるように、図３のＯＣＤセル３００は図２のＳＩＢセル２００と同様であるが、少なくとも以下の差異が組み込まれている。
【００６２】
（１）ｏＴＤＩ−ｉＴＤＯの導出は、（入力ＭＵＸ３５０の入力ポート３５１での開路によって示されたように）意図的に開いたままである。
【００６３】
（２）入力ＭＵＸ３５０を制御するＵｐＯＣＤレジスタ３３０は、ＭＵＸ３５０の後に配置される。
【００６４】
これらの差異の結果として、（ａ）ＯＣＤセル３００が有効になると、スキャン・チェーンはデッドロック状態に入り、それによってスキャン・チェーンの通常の使用を防止し、従来のスキャン・アクセスによって除去することができない開路をスキャン・チェーンの中に作成する、（ｂ）デッドロック状態を除去し、したがって回路を閉鎖し、スキャン・チェーンの通常の動作機能を回復する唯一の方法は、ＳｅｃｕｒｅＲＳＴ信号３６９をアサートすることによる。この方式では、スキャン・チェーンの通常の使用のセキュリティ・レベルは、それによってＳｅｃｕｒｅＲＳＴ信号が生成される処理のセキュリティ・レベルに依存して作成することができる。
【００６５】
ＳｅｃｕｒｅＲＳＴ信号３６９は、（例えば、任意の適切な構成部品により、任意の適切な状態に応答して、などの）任意の適切な方式で生成することができる。
【００６６】
ＳｅｃｕｒｅＲＳＴ信号３６９の生成についての少なくともいくつかのそのような実施形態では、以下の原理のうちの１つまたは複数を用いることができる。
【００６７】
（１）ＳｅｃｕｒｅＲＳＴ信号３６９は、ＪＴＡＧスキャン・アクセスに関連する従来のリセット機能とは結びつかず、通常のリセット動作は完全なスキャン・チェーン・アクセスを再び可能にする（すなわち、デッドロック状態を打破し、したがって回路を閉鎖し、スキャン・チェーンの通常の動作機能を回復する）はずである。
【００６８】
（２）ＵｐＯＣＤセル３００は、（例えば、バッテリによって電源供給された）永続的な記憶装置であり得るか、またはリセット時に「オープン」に設定することができる。
【００６９】
（３）ＳｅｃｕｒｅＲＳＴ信号３６９は、（プローブによってアクセスすることが不可能なように）ＯＣＤセル３００が配置された同じチップの内部に生成することができるか、またはＳｅｃｕｒｅＲＳＴ信号３６９は、ＳｅｃｕｒｅＲＳＴ信号３６９を隠すか、もしくはＳｅｃｕｒｅＲＳＴ信号３６９にアクセスするのを困難にするための方式で（例えば、内部の階層で、またはＳｅｃｕｒｅＲＳＴ信号３６９を隠すか、もしくはＳｅｃｕｒｅＲＳＴ信号３６９にアクセスするのを困難にするその他の適切な方式を使用して）、ボード上に経路を決めることができる
【００７０】
ＯＣＤセル３００がスキャン・チェーンの通常の使用のセキュリティを保護するのに効果的であるためには、その状況が永続的、すなわちパワーサイクルを通してレジストすることである。そうでなければ、単純なパワーサイクルは、ＯＣＤセル３００のセキュリティを破り、スキャン・チェーンの通常の使用を再確立するのに十分なはずである。ＯＣＤセル３００の状況は、
（１）ＵｐＯＣＤレジスタ３３０用の永続的なメモリ記憶装置（例えば、フラッシュ・セルまたはその他の適切な永続的なメモリ記憶装置）を使用して、
（２）適切な方式で、例えば、（ａ）ＵｐＯＣＤレジスタ３３０用のリセット信号（図３には描写せず）を使用して、（ｂ）プログラミング・ビットストリームの中のＵｐＯＣＤのデフォルトの値を定義するＦＰＧＡアプリケーションの中で行うことができるが、パワーサイクル後のデフォルト値が開路状態を活動状態（すなわち、入力３５１が入力ＭＵＸ３５０で選択される）のままにすることを保証することにより、
などの任意の適切な方式で永続的にすることができる。
【００７１】
ＯＣＤセル３００の状況は、その他の適切な方式で永続的にすることができる。
【００７２】
同様に、ＳｅｃｕｒｅＲＳＴ信号３６９およびその関連する生成構成部品／論理回路について、信号は決して浮くことができず、スタートアップで非活動状態であることが避けられない。これは、回路生成時にこれらの性状を強化し、形式的妥当性確認などの技法でそれらをチェックすることなどの任意の適切な技法を使用して、またはその他の適切な技法を使用して、達成することができる。
【００７３】
ＳｅｃｕｒｅＲＳＴ信号３６９は、ＳｅｃｕｒｅＲＳＴ信号３６９の生成用のさまざまな実施形態を描写する図４〜６に関して描写および記載するような任意の適切な方式で生成することができる。
【００７４】
一実施形態では、ＳｅｃｕｒｅＲＳＴ信号３６９は、キー・チェッカ機能によるセキュア・キーの妥当性確認に応答して生成される。
【００７５】
図４Ａは、セキュリティが保護されているスキャン・チェーンの入力部分にシフトされたセキュリティ・キーの、キー・チェッカ機能による妥当性確認を介したＳｅｃｕｒｅＲＳＴ信号の生成の一実施形態を描写する。主に図３のＯＣＤセル３００によって使用されるＳｅｃｕｒｅＲＳＴ信号の生成に関して描写および記載したが、図４Ａの実施形態は、任意の適切なスキャン・チェーンのセキュリティ構成部品によって使用されるセキュリティ制御信号の生成に利用できることが理解されよう。
【００７６】
図４Ａに描写したように、スキャン・チェーン４１０を有するシステム４０１は、スキャン・チェーン４１０内に配置されたＯＣＤセル４３０を有する。システム４０１は、セキュリティ・キーの妥当性確認に応答して制御信号を生成するために構成されたキー・チェッカ機能４２０Ａを含み、ここで制御信号はＯＣＤセル４３０の制御で使用するために適合される。
【００７７】
スキャン・チェーン４１０は、（例えば、ＴＡＰまたは他のテスト・アクセス・インタフェースから）システム４０１へのＴＤＩ入力およびＯＣＤセル４３０に結合した、スキャン・チェーン４１０の入力部分４１０Ｉを含む。スキャン・チェーン４１０の入力部分４１０Ｉは、複数のセル（図では１６セル）４１２Ｉを含む。ＯＣＤセル４３０がスキャン・チェーン４１０の中に開路状態をもたらすように構成される間、スキャン・チェーン４１０の入力部分４１０Ｉは、書くことはできるが読むことはできない。
【００７８】
スキャン・チェーン４１０は、ＯＣＤセル４３０、およびシステム４０１から（例えば、ＴＡＰまたは他のテスト・アクセス・インタフェースへ）のＴＤＯ出力に結合した、スキャン・チェーン４１０の出力部分４１０Ｏを含む。スキャン・チェーン４１０の出力部分４１０Ｏは、複数のセル（図では１６セル）４１２Ｏを含む。ＯＣＤセル４３０がスキャン・チェーン４１０の中に開路状態をもたらすように構成される間、スキャン・チェーン４１０の出力部分４１０Ｏは、読むことはできるが書くことはできない。
【００７９】
ＯＣＤセル４３０は任意の適切な方式で実装することができる。一実施形態では、ＯＣＤセル４３０は図３のＯＣＤセル３００として実装することができるか、またはその他の適切なＯＣＤセルもしくは他の適切なスキャン・チェーンのセキュリティ構成部品を使用して実装することができる。（理解しやすいように省略したが、図３のＯＣＤセル３００のＴＤＩ入力３６１に類似した）ＯＣＤセル４３０のＴＤＩ入力は、システム４０１のＴＤＩ入力から最も離れたスキャン・チェーン４１０の入力部分４１０Ｉのセルに結合する。（理解しやすいように省略したが、図３のＯＣＤセル３００のＴＤＯ入力３６２に類似した）ＯＣＤセル４３０のＴＤＯ出力は、システム４０１からのＴＤＯ出力から最も離れたスキャン・チェーン４１０の出力部分４１０Ｏのセルに結合する。
【００８０】
キー・チェッカ機能４２０Ａは、スキャン・チェーン４１０の入力部分４１０Ｉの中にシフトされたセキュリティ・キーの妥当性確認に応答して、制御信号（図ではＳｅｃｕｒｅＲＳＴ信号４２５）を生成するために構成される。
【００８１】
ＯＣＤセル４３０がスキャン・チェーン４１０に開路状態をもたらすように構成されると、セキュリティ・キーは、ＯＣＤセル４３０に開路状態を除去させ、スキャン・チェーン４１０の通常の使用を可能にさせる目的で、スキャン・チェーン４１０の入力部分４１０Ｉの中にシフトされる。
【００８２】
セキュリティ・キーは任意の適切な長さであってよいが、スキャン・チェーン４１０の入力部分４１０Ｉのサイズに依存する可能性がある。一実施形態では、セキュリティ・キーの長さはスキャン・チェーン４１０の入力部分４１０Ｉの長さ以下である。
【００８３】
セキュリティ・キーは、スキャン・チェーン４１０の入力部分４１０Ｉ内の任意の適切な場所の中にスキャンすることができ、それによって、スキャン・チェーン４１０をアンロックするためには（すなわち、開路状態を除去するためには）、悪意のある攻撃者がセキュリティ・キーの値を知る必要があるだけでなく、悪意のある攻撃者がセキュリティ・キーを置いた場所を正確に知る必要があるような、より強いセキュリティを提供する。
【００８４】
図４Ａの例では、セキュリティ・キーは、スキャン・チェーン４１０の入力部分４１０Ｉの５から１４のビット位置を占める１０ビットの値である（ここで、入力部分４１０Ｉのビット位置０はシステム４０１のＴＤＩの近傍であり、入力部分４１０Ｉのビット位置１５はＯＣＤセル４３０のＴＤＩの近傍である）。セキュリティ・キーは、スキャン・チェーン４１０の入力部分４１０Ｉ内のその他の適切な位置から読むことができる、その他の適切な数のビットを使用できることが理解されよう。
【００８５】
図４Ｂは、キー・チェッカ機能のバッファの中にシフトされたセキュリティ・キーのキー・チェッカ機能による妥当性確認を介した、ＳｅｃｕｒｅＲＳＴ信号の生成の一実施形態を描写する。主に図３のＯＣＤセル３００によって使用されるＳｅｃｕｒｅＲＳＴ信号の生成に関して描写および記載したが、図４Ｂの実施形態は、任意の適切なスキャン・チェーンのセキュリティ構成部品によって使用されるセキュリティ制御信号を生成するために利用できることが理解されよう。
【００８６】
図４Ｂに描写したように、システム４０２は、キー・チェッカ機能４２０による妥当性確認用のセキュリティ・キーのソースを除いて、図４Ａのシステム４０１とほぼ同一である。すなわち、システム４０２では、キー・チェッカ機能４２０Ｂは、（図４Ａのシステム４０１のキー・チェッカ機能４２０Ａによって行われる、スキャン・チェーン４１０の入力部分４１０Ｉからではなく）キー・チェッカ機能４２０Ｂに関連するセキュリティ・キー・バッファ４２２から、セキュリティ・キーを読むように構成される。
【００８７】
セキュリティ・キー・バッファ４２２はスキャン・チェーン４１０から独立し、したがって、セキュリティ・キーの長さはスキャン・チェーン４１０の入力部分４１０Ｉの長さに依存しない。結果として、セキュリティ・キーは任意の適切な長さであってよく、さらに、所望（例えば、隠蔽、スクランブルなど）によりさらにセキュリティを保護することができる。
【００８８】
セキュリティ・キー・バッファ４２２は、任意の適切な方式で実装することができる。一実施形態では、セキュリティ・キー・バッファ４２２はキー・チェッカ機能４２０Ｂの外部にあってよい。一実施形態では、セキュリティ・キー・バッファ４２２はキー・チェッカ機能４２０Ｂの内部にあってよい。
【００８９】
セキュリティ・キー・バッファ４２２は任意の適切なソースからセキュリティ・キーを受信することができる。セキュリティ・キーのソースは、システム４０２に配置してもよいし、またはシステム４０２から離れてもよい。一実施形態では、セキュリティ・キー・バッファ４２２は、スキャン・チェーン４１０の入力部分４１０Ｉからセキュリティ・キーを受信することができる。この実施形態では、セキュリティ・キー・バッファ４２２は、スキャン・チェーン４１０の入力部分４１０Ｉの中の任意の適切な場所で、スキャン・チェーン４１０の入力部分４１０Ｉに結合することができる。そのような一実施形態では、例えば図４Ａに描写したように、スキャン・チェーン４１０の入力部分４１０ＩがＯＣＤセル４３０のＴＤＩ入力ポートに結合した場所で、セキュリティ・キー・バッファ４２２はスキャン・チェーン４１０の入力部分４１０Ｉに結合することができる。セキュリティ・キー・バッファ４２２はその他の適切な場所でスキャン・チェーン４１０の入力部分４１０Ｉに結合できることが理解されよう。一実施形態では、セキュリティ・キー・バッファ４２２は別のスキャン・チェーン（描写せず）からセキュリティ・キーを受信することができる。セキュリティ・キー・バッファ４２２はその他の適切なソースからセキュリティ・キーを受信できることが理解されよう。
【００９０】
ＯＣＤセル４３０がスキャン・チェーン４１０の中に開路状態をもたらすように構成されると、ＯＣＤセル４３０に開路状態を除去させ、スキャン・チェーン４１０の通常の使用を可能にさせる目的で、セキュリティ・キーはセキュリティ・キー・バッファ４２２に供給される。
【００９１】
キー・チェッカ機能４２０Ｂは、セキュリティ・キー・バッファ４２２からセキュリティ・キーをシリアルに、または並行して読むことができる。
【００９２】
キー・チェッカ機能４２０Ｂは、セキュリティ・キー・バッファ４２２内で利用可能なセキュリティ・キーの妥当性確認に応答して、制御信号（図ではＳｅｃｕｒｅＲＳＴ信号４２５）を生成するために構成される。
【００９３】
システム４０１のキー・チェッカ機能４２０Ａおよびシステム４０２のキー・チェッカ機能４２０Ｂは、それぞれ共通のさまざまな機能および／または能力を有することができ、したがって、一まとめにしてキー・チェッカ機能４２０と呼ぶことができる、
【００９４】
一実施形態では、セキュリティ・キーのチェック動作は、ＯＣＤセル４３０が活動状態であるかどうかとは無関係に、キー・チェッカ機能４２０によって実行することができる。
【００９５】
一実施形態では、セキュリティ・キーのチェック動作は、ＯＣＤセル４３０が活動状態であると判定されたときのみ、キー・チェッカ機能４２０によって実行することができる。他の実施形態では、ＯＣＤセル４３０は、セキュリティ・キーがスキャン・チェーンの入力部分の中に挿入されるたびにリセットされる。これはセキュリティ問題を引き起こさないが、無駄な切り替え動作をもたらす可能性がある。
【００９６】
キー・チェッカ機能４２０は任意の適切な方式で実装することができる。
【００９７】
一実施形態では、例えばキー・チェッカ機能４２０は、固有の値に対する比較器として実装することができる。一実施形態では、例えばＦＰＧＡは、ビット・ストリームの生成時に実装する回路の「固有の」値を決めることができ、その結果、設計者は彼または彼女自身の値を選択することができ、さらに、各更新の後にその値を変更することができる。
【００９８】
一実施形態では、例えば、キー・チェッカ機能４２０によって妥当性確認されたセキュリティ・キーは、一度だけプログラム可能な構成要素（例えば、ヒューズ／アンチヒューズ・ボックス）から取得することができる。
【００９９】
一実施形態では、例えば、キー・チェッカ機能４２０によって妥当性確認されたセキュリティ・キーは、１つまたは複数の安全な記憶素子（例えば、フリップ・フロップ、バッテリ・バックアップ付き電気的消去可能プログラマブル・リード・オンリ・メモリ（ＥＥＰＲＯＭ）など、ならびに、それらのさまざまな組合せ）から取得することができる。
【０１００】
一実施形態では、例えば、キー・チェッカ機能４２０は、暗号化ＩＰまたは他の適切な電気回路として実装することができる。
【０１０１】
キー・チェッカ機能４２０はその他の適切な方式で実装することができる。
【０１０２】
したがって、スキャン・チェーンのセキュリティ機能のセキュリティ・キーに基づいた実施形態は、必要に応じてスケール変更することができ、複雑性、セキュリティ、および柔軟性においてさまざまなトレードオフを可能にすることが理解されよう。
【０１０３】
主にセキュリティ・キーの妥当性確認を使用してスキャン・チェーンの通常の使用を可能にするために制御信号の生成を起動する特定の実施形態に関して描写および記載したが、セキュリティ・キーの妥当性確認を使用してスキャン・チェーンの通常の使用を可能にするために制御信号の生成を起動することは、その他の適切な方式で実装できることが理解されよう。そのような制御信号の生成は、ＯＣＤセルまたはその他の適切なスキャン・チェーンのセキュリティ構成部品を制御するために実行できることが、さらに理解されよう。
【０１０４】
一実施形態では、ＳｅｃｕｒｅＲＳＴ信号３６９はチャレンジ・ベースの認証方法を使用して生成される。
【０１０５】
図５は、チャレンジ・ベースの認証方法の使用を介した、ＳｅｃｕｒｅＲＳＴ信号の生成の一実施形態を描写する。主に図３のＯＣＤセル３００によって使用されるＳｅｃｕｒｅＲＳＴ信号の生成に関して描写および記載したが、図５の実施形態は、任意の適切なスキャン・チェーンのセキュリティ構成部品によって使用されるセキュリティ制御信号を生成するために利用できることが理解されよう。
【０１０６】
図５に描写したように、システム５００はコントローラ５０１およびシステム５０２を含む。
【０１０７】
コントローラ５０１はシステム５０２を制御するために構成される。コントローラ５０１は、テスト・アクセス・インタフェース（例えば、図１のテスト・システム１１０）を介してシステム５０２にアクセスするのに適切な任意のコントローラである。
【０１０８】
システム５０２は、スキャン・チェーン５１０内に配置されたＯＣＤセル５３０を有するスキャン・チェーン５１０を含む。
【０１０９】
システム５０２は、チャレンジ・ベースの認証方法におけるチャレンジの達成に応答して制御信号を生成するために構成された暗号化コア５２０を含む。
【０１１０】
スキャン・チェーン５１０は、（例えば、ＴＡＰまたは他のテスト・アクセス・インタフェースから）システム５０２へのＴＤＩ入力、およびＯＣＤセル５３０に結合したスキャン・チェーン５１０の入力部分５１０Ｉを含む。スキャン・チェーン５１０の入力部分５１０Ｉは、複数のセル（図では１６セル）５１２Ｉを含む。ＯＣＤセル５３０がスキャン・チェーン５１０の中に開路状態をもたらすように構成される間、スキャン・チェーン５１０の入力部分５１０Ｉは、書くことはできるが読むことはできない。
【０１１１】
スキャン・チェーン５１０は、ＯＣＤセル５３０、およびシステム５０２から（例えば、ＴＡＰまたは他のテスト・アクセス・インタフェースへ）のＴＤＯ出力に結合した、スキャン・チェーン５１０の出力部分５１０Ｏを含む。スキャン・チェーン５１０の出力部分５１０Ｏは、複数のセル（図では１６セル）５１２Ｏを含む。ＯＣＤセル５３０がスキャン・チェーン５１０の中に開路状態をもたらすように構成される間、スキャン・チェーン５１０の出力部分５１０Ｏは、読むことはできるが書くことはできない。
【０１１２】
ＯＣＤセル５３０は、任意の適切な方式で実装することができる。一実施形態では、ＯＣＤセル５３０は図３のＯＣＤセル３００として実装されるか、または、その他の適切なＯＣＤセルもしくは他の適切なスキャン・チェーンのセキュリティ構成部品を使用して実装することができる。（理解しやすいように省略したが、図３のＯＣＤセル３００のＴＤＩ入力３６１と類似した）ＯＣＤセル５３０のＴＤＩ入力は、システム５０２のＴＤＩ入力から最も離れたスキャン・チェーン５１０の入力部分５１０Ｉのセルに結合する。（理解しやすいように省略したが、図３のＯＣＤセル３００のＴＤＯ入力３６２と類似した）ＯＣＤセル５３０のＴＤＯ出力は、システム５０２のＴＤＯ出力から最も離れたスキャン・チェーン５１０の出力部分５１０Ｏのセルに結合する。ＯＣＤセル５３０は、制御信号（図ではＯＣＤ＿ａｃｔｉｖｅ信号５３５）を介して暗号化コア５２０を起動するように構成される。
【０１１３】
暗号化コア５２０は、チャレンジ・ベースの認証方法におけるチャレンジの達成に応答して、制御信号（図ではＳｅｃｕｒｅＲＳＴ信号５２５）を生成するために構成される。
【０１１４】
一実施形態では、チャレンジ・ベースの認証方法は以下のように進行する。暗号化コア５２０は、ＯＣＤセル５３０から暗号化コア５２０に供給されたＯＣＤ＿ａｃｔｉｖｅ信号５３５を介してＯＣＤセル５３０によって有効化される。暗号化コア５２０は、有効化されたことに応答して、スキャン・チェーン５１０の出力部分５１０Ｏの中にチャレンジ値を書き込むことによりチャレンジを発行する。暗号化コア５２０は、暗号化アルゴリズムを使用してチャレンジ値を生成する。コントローラ５０１は、スキャン動作によりスキャン・チェーン５１０の出力部分５１０Ｏからチャレンジ値を読み込む。コントローラ５０１は、チャレンジ値を使用して関連するアンサ（ａｎｓｗｅｒ）値を計算する。コントローラ５０１は、暗号化アルゴリズムを使用してアンサ値を計算する。コントローラ５０１は、スキャン動作によりスキャン・チェーン５１０の入力部分５１０Ｉの中にアンサ値を書き込む。したがって、コントローラ５０１は、チャレンジ・ベースの認証方法に対するアンサを計算するために構成されたアンサ構成部品として働くように構成される。暗号化コア５２０は、スキャン・チェーン５１０の入力部分５１０Ｉからアンサ値を読み込み、アンサ値の妥当性確認をするように試みる。暗号化コア５２０がチャレンジ値の妥当性確認をした（すなわち、チャレンジが満たされたか、または満足された）場合、暗号化コア５２０はＳｅｃｕｒｅＲＳＴ５２５信号を生成する（すなわち、スキャン・チェーン５１０の中の開路状態が除去され、それによって、スキャン・チェーン５１０の通常の使用を可能にするためにスキャン・チェーン５１０をアンロックする）。暗号化コア５２０がチャレンジ値の妥当性を確認しなかった（すなわち、チャレンジが満たされなかった）場合、暗号化コア５２０はＳｅｃｕｒｅＲＳＴ５２５信号を生成しない（すなわち、スキャン・チェーン５１０の中の開路状態が維持され、その結果スキャン・チェーン５１０がロックされたままになり、スキャン・チェーン５１０の通常の使用が防止される）。
【０１１５】
ＯＣＤセル５３０がスキャン・チェーン５１０の中に開路状態をもたらすように構成されると、システム５０２は、ＯＣＤセル５３０に開路状態を除去させ、スキャン・チェーン５１０の通常の使用を可能にさせる目的のために、チャレンジ・ベースの認証方法を開始するように構成される。
【０１１６】
チャレンジ値およびアンサ値は、それぞれスキャン・チェーン５１０の入力部分５１０Ｉおよび出力部分５１０Ｏのサイズに依存する可能性がある、任意の適切な長さを有することができる。一実施形態では、チャレンジ値およびアンサ値の長さは、それぞれスキャン・チェーン５１０の入力部分５１０Ｉおよび出力部分５１０Ｏの長さ以下である。
【０１１７】
チャレンジ値およびアンサ値は、スキャン・チェーン５１０の入力部分５１０Ｉおよび出力部分５１０Ｏの内部の任意の適切な場所の中にスキャンすることができ、それによって、開路状態を除去し、したがってスキャン・チェーンの通常の使用を再び可能にするために、悪意のある攻撃者がチャレンジ値およびアンサ値の値を知る必要があるだけでなく、悪意のある攻撃者がチャレンジ値を読み込む場所およびアンサ値を置く場所を正確に知る必要があるので、より強いセキュリティを提供する。
【０１１８】
図５の例では、チャレンジ値およびアンサ値は、それぞれスキャン・チェーン５１０の入力部分５１０Ｉおよび出力部分５１０Ｏのビット位置３から１２を占める１０ビットの値である（ここで、入力部分５１０Ｉのビット位置０はシステム５０２のＴＤＩの近傍であり、出力部分５１０Ｏのビット位置０はＯＣＤセル５３０のＴＤＯの近傍である）。チャレンジ値およびアンサ値は、スキャン・チェーン５１０の入力部分５１０Ｉおよび出力部分５１０Ｏの内部のその他の適切な位置から読み込むことができる、その他の適切な数のビットを使用できることが理解されよう。
【０１１９】
主に、テスト・アクセス・インタフェースを介してシステム５０２にアクセスするために構成されたコントローラ５０１が、チャレンジ・ベースの認証方法に対するアンサを計算するためのアンサ構成部品として働く実施形態に関して描写および記載したが、その他のリモート構成部品はチャレンジ・ベースの認証方法に対するアンサを計算できることが理解されよう。
【０１２０】
主にチャレンジ値およびアンサ値がスキャン・チェーン５１０から取得される実施形態に関して、本明細書において描写および記載したが、チャレンジ値および／またはアンサ値はそのような値のその他の適切なソースから取得できることが理解されよう。
【０１２１】
一実施形態では、例えば、（例えば、図４Ｂにおいてセキュリティ・キーを取得するために使用されたバッファ・ベースの方式と同様の）バッファ・ベースの方式は、チャレンジ値および／またはアンサ値を取得するために採用することができる。例えば、シングル・バッファはチャレンジ値およびアンサ値の両方を格納するために使用することができる。例えば、チャレンジ・バッファはチャレンジ値を格納するために使用することができ、かつ／または、アンサ・バッファはアンサ値を格納するために使用することができる。そのようなバッファ方式の実装形態は、図４Ｂのバッファ方式の実装形態と同様（すなわち、図４Ｂのバッファ方式を使用する図４Ａの修正形態と同様）であり得ることが理解されよう。
【０１２２】
一実施形態では、例えば、チャレンジ値および／またはアンサ値は、システム５００から完全に独立したソースから（例えば、異なるスキャン・チェーンから）取得することができる。
【０１２３】
チャレンジ値および／またはアンサ値はその他の適切なソースから取得できることが理解されよう。
【０１２４】
主にチャレンジ・ベースの認証方法を使用してスキャン・チェーンの通常の使用を再び可能にするための制御信号の生成を起動するための特定の実施形態に関して描写および記載したが、チャレンジ・ベースの認証方法を使用してスキャン・チェーンの通常の使用を再び可能にするための制御信号の生成を起動することは、その他の適切な方式で実装できることが理解されよう。そのような制御信号の生成は、ＯＣＤセルまたはその他の適切なスキャン・チェーンのセキュリティ構成部品を制御するために実行できることがさらに理解されよう。
【０１２５】
主にスキャン・チェーンの中断ポイントがスキャン・チェーン上のＯＣＤセル（例えば、図３のＯＣＤセル３００）の直前である場所にＯＣＤセルが単一デバイスとして実装される実施形態に関して、本明細書において描写および記載したが、一実施形態では、ＯＣＤセルは、スキャン・チェーンの中断ポイントがＯＣＤレジスタとは異なる場所にあるように修正することができる。そのような一実施形態では、ＯＣＤセルの第１の部分がスキャン・チェーンの中の第１の場所に配置され、ＯＣＤセルの第２の部分がスキャン・チェーンの中の第２の場所に配置され、第１の場所および第２の場所はスキャン・チェーン内のどこであってもよい。例示的な実施形態を図６に関して描写および記載する。
【０１２６】
図６は、スキャン・チェーンのセキュリティの制御に使用するために構成されたリモートＯＣＤセルの一実施形態を描写する。
【０１２７】
図６に描写したように、リモートＯＣＤセル６００の動作は、図３のＯＣＤセル３００の動作と同一である（したがって、リモートＯＣＤセル６００の構成部品の番号付けは図３のＯＣＤセル３００の構成部品の番号付けと同一である）。しかしながら、リモートＯＣＤセル６００は、（図３のＯＣＤセル３００のようにスキャン・チェーンの単一の場所に実装された単一の物理的なデバイスを使用するのではなく）スキャン・チェーン内の２つの異なる場所に配置された２つの物理的なデバイスを使用して実装される。
【０１２８】
図６に描写したように、ＯＣＤセル３００の入力ＭＵＸ３５０は、第１のスキャン・チェーンの場所６１０内に配置され、ＯＣＤセル３００の残りの構成部品（例えば、ＯＣＤレジスタ３１０、ＯＣＤ入力ＭＵＸ３２０、ＵｐＯＣＤレジスタ３３０、ＵｐＯＣＤ入力ＭＵＸ３４０、および関係する構成部品）は、第２のスキャン・チェーンの場所６２０内に配置され、それらによってリモートＯＣＤセル６００を形成する。第１のスキャン・チェーンの場所６１０および第２のスキャン・チェーンの場所６２０は、スキャン・チェーン上のどこに配置されてもよい。
【０１２９】
そのため、スキャン・チェーンの中断ポイントは、第１のスキャン・チェーンの場所６１０で入力ＭＵＸ３５０の出力に配置され、入力ＭＵＸ３５０は、第２のスキャン・チェーンの場所６２０でのＳｅｃｕｒｅＲＳＴ信号３６９の制御下で、ＵｐＯＣＤレジスタ３５０によって生成された制御信号によって制御されるので、スキャン・チェーンの中断ポイントは、スキャン・チェーンの中断制御回路の場所から物理的に離れている。この方式では、設計者はスキャン・チェーンの中断制御回路の場所を隠すことができ、それによってスキャン・チェーンの通常の使用に対するアクセスを制御するための別のセキュリティを提供する。
【０１３０】
主に単一のＯＣＤセル（例えば、図３のＯＣＤセル３００または図６のリモートＯＣＤセル６００）がスキャン・チェーンのセキュリティを提供するために使用される実施形態に関して、本明細書において描写および記載したが、他の実施形態では、スキャン・チェーンのセキュリティを提供するために複数のＯＣＤセルを組合せて使用することができ、その結果、スキャン・チェーンのセキュリティ・レベルがさらに強化される。
【０１３１】
そのような実施形態では、複数のＯＣＤセルは、１つまたは複数のセルの組合せアーキテクチャ・タイプを使用して（例えば、ＯＣＤセルのカスケード、ＯＣＤセルのインターロック、および、ＯＣＤセルの組合せを使用してスキャン・チェーン・アクセスを提供する同じ技法のうちの１つまたは複数を使用して）実装することができる。
【０１３２】
一実施形態では、例えば、複数の、または多数のでも、セキュリティ・キー・ベースのＳｅｃｕｒｅＲＳＴ生成の（例えば、図４Ａおよび／または図４Ｂに関して描写および記載したような）実装形態は、スキャン・チェーンの通常の使用に対するアクセスのセキュリティを保護するために、スキャン・チェーン内で交互にカスケードすることができる。
【０１３３】
一実施形態では、例えば、ＳｅｃｕｒｅＲＳＴ生成用のセキュリティ・キー・ベースの（例えば、図４Ａおよび／または図４Ｂに関して描写および記載したような）実装形態と、ＳｅｃｕｒｅＲＳＴ生成用のチャレンジ・ベースの認証方法の（例えば、図５に関して描写および記載したような）実装形態とのさまざまな組合せは、スキャン・チェーンの通常の使用に対するアクセスのセキュリティを保護するために使用することができる。
【０１３４】
一実施形態では、例えば、複数のタイム・カスケードされたＯＣＤセルは、安全なスキャン・チェーン・アクセスを提供するために採用することができる。そのような一実施形態では、例えば、ＯＣＤセルのそれぞれは、スキャン・チェーン・アクセスをアンロックするために、ある一定の時間アンロックされなければならず、そうでなければ、スキャン・チェーンのロックは再びアサートされる。これは任意の適切な方式で実装することができる。
【０１３５】
そのようなＯＣＤセルのタイプ、ＳｅｃｕｒｅＲＳＴ生成の実装形態／方法、および／またはＯＣＤセルの組合せアーキテクチャのさまざまな他の構成は、（例えば、図３の１つもしくは複数のＯＣＤセル３００および／または図６の１つもしくは複数のリモートＯＣＤセル６００を使用して、図４Ａおよび／または図４ＢのＳｅｃｕｒｅＲＳＴ生成用のセキュリティ・キー・ベースの実装形態のうちの１つまたは複数を使用して、図５のＳｅｃｕｒｅＲＳＴ生成用の１つまたは複数のチャレンジ・ベースの認証方法を使用して、ならびに、それらのさまざまな組合せで）スキャン・チェーンの通常の使用に対するアクセスのセキュリティを保護するために使用できることが理解されよう。
【０１３６】
そのような実施形態では、（例えば、図６のリモートＯＣＤセル６００のような）リモートＯＣＤセルは、同じスキャン・チェーンの同じ階層レベル内の異なる場所での中断ポイントと制御回路の分離によって構成できるだけでなく、同じスキャンの異なる階層レベルで、異なるスキャン・チェーン内で、ならびにそれらのさまざまな組合せでも、中断ポイントと制御回路の分離を提供するように構成できることが理解されよう。
【０１３７】
そのような実施形態では、各ＯＣＤセルは（例えば、たった１つのスキャン・レジスタ（２ビット）および３つのマルチプレクサから構成された）単純で安価なセルなので、同じシステム内の複数のＯＣＤセルの使用は、強化されたスキャン・チェーンのセキュリティを提供する費用効率が高い方法であることが理解されよう。
【０１３８】
主にスキャン・チェーンのセキュリティ構成部品がその内部に配置されたシステム内でＳｅｃｕｒｅＲＳＴ信号が生成される実施形態に関して、本明細書において描写および記載したが、ＳｅｃｕｒｅＲＳＴ信号は、スキャン・チェーンのセキュリティ構成部品がその内部に配置されたシステムの外部の場所を含む、任意の適切な場所で生成することができる。
【０１３９】
一実施形態では、例えばチップ上のプロセッサは、ＳｅｃｕｒｅＲＳＴ信号をいつ生成するかを決定するための認証アルゴリズムを実行するように構成することができる。この実施形態では、ＳｅｃｕｒｅＲＳＴ信号の生成がプロセッサによって制御されるので、スキャン・チェーンのセキュリティはプロセッサによって制御され、したがって、スキャン・チェーンのセキュリティを制御するための非常に多くの可能性が実現可能である。そのような一実施形態では、例えばプロセッサは、（１）システムのスキャン・チェーンの通常の使用を再び可能にすることにより（例えば、本明細書において描写および記載した１つまたは複数のスキャン・チェーンのセキュリティの実施形態を使用してスキャン・チェーン内に作成された開路状態を除去することにより）、システムを「テスト・モード」に入れるようにプロセッサに命令するために、かつ（２）テストの完了時に、（例えば、１つまたは複数のＯＣＤセルの使用または本明細書において描写および記載した他の実施形態などを介して、スキャン・チェーンの中の開路状態を再びアサートすることにより）スキャン・チェーンの通常の使用を防止するためにスキャン・チェーンのセキュリティを保護するようにプロセッサに命令するために、リモートにアクセスすることができ、その結果、テストの完了に続いてシステムは安全な状態に再び置かれる。そのような実施形態では、プロセッサへのリモートアクセスは、任意の適切な方式で、例えば、直接的な物理接続を介して、ネットワーク接続（例えば、インターネット接続または他の適切なネットワーク接続）を介して、実装することができる。このタイプのスキャン・チェーンのセキュリティ制御は、インフィールドおよび／またはリモートのテスト、メンテナンス、アップデートなど、ならびにそれらのさまざまな組合せなどの用途に有益であることが理解されよう。
【０１４０】
本明細書に記載したように、かつ当業者によって理解されるように、ほとんどのＪＴＡＧシステムでは、ＴＡＰがシステムにアクセスする唯一のポイントである。１１４９．１ＴＡＰの構成は当技術分野で知られている。１１４９．１ＴＡＰは、システムのスキャン・チェーンに対するアクセスを可能にする。１１４９．１ＴＡＰは、標準化された有限状態機械（ＦＳＭ）、およびその動作を定義する命令レジスタ（ＩＲ）によって構成される。また、１１４９．１ＴＡＰは、バイパス・レジスタを含むことによりバイパス機能をサポートする。特定の命令（すなわち、ＢＹＰＡＳＳ）がＩＲの中にセットされると、１１４９．１ＴＡＰはトランスペアレントとしてセットされ、ただ１つのビット（すなわち、バイパス・レジスタのビット）がスキャン・チェーンの中に存在する。これは複数のＪＴＡＧシステムが一緒につながれる場合に有用なＪＴＡＧの基本的な特徴である。一実施形態では、スキャン・チェーンのセキュリティはＯＣＤセルをシステムの１１４９．１ＴＡＰ内に配置することによって提供される。システムの１１４９．１ＴＡＰの制御を介してスキャン・チェーンのセキュリティを提供するための例示的な実施形態を、図７に関して描写および記載する。
【０１４１】
図７は、ＪＴＡＧシステムのＴＡＰの実施形態を描写し、そこでは、ＴＡＰはＪＴＡＧシステムのスキャン・チェーンにセキュリティを提供するために構成される。
【０１４２】
図７に描写したように、ＴＡＰ７００は１１４９．１ＴＡＰの修正バージョンである。ＴＡＰ７００は、ＯＣＤセル７１０を１１４９．１ＴＡＰの命令レジスタ（ＩＲ）の最初に挿入することにより、１１４９．１規格の中で定義されたように、１１４９．１ＴＡＰを修正することによって形成される。ＯＣＤセル７１０は、図３に関して描写および記載したＯＣＤセル３００のような、任意の適切なＯＣＤセルであってよい。ＯＣＤセル７１０をＩＲの最初に配置することにより、ＴＡＰ用のＢＹＰＡＳＳ−ＤＥＡＤＬＯＣＫ状態を定義することが可能になる。この場合、命令がセットされると、ＴＡＰ７００はバイパス・モードに入り、ＯＣＤセル７１０はＩＲの状態をロックして、ＩＲの状態を変更することを不可能にする。結果として、ＪＴＡＧシステムは、ＩＲの状態をアンロックするためにＳｅｃｕｒｅＲＳＴ信号が生成されるまで、完全にアクセス不可になる。
【０１４３】
この実施形態では、ＩＲの状態をアンロックし、したがってＪＴＡＧシステムに対するアクセスを提供するために構成されたＳｅｃｕｒｅＲＳＴ信号は、任意の適切な方式で生成することができる。
【０１４４】
一実施形態では、ＳｅｃｕｒｅＲＳＴ信号は、本明細書において描写および記載したＳｅｃｕｒｅＲＳＴ信号生成の任意の方式を使用して生成される。
【０１４５】
一実施形態では、ＳｅｃｕｒｅＲＳＴ信号はチップ・プロセッサの１つにより生成される。
【０１４６】
一実施形態では、ＳｅｃｕｒｅＲＳＴ信号は別のＪＴＡＧシステムのスキャン・チェーンから受信される。
【０１４７】
そのような実施形態では、ＴＡＰ内に開路状態を導入することにより、関連するシステムの全スキャン・チェーンは、制御可能なようにロックおよびアンロックすることができる。
【０１４８】
スキャン・チェーンに対するアクセスをアンロックするための特定の実施形態に関して以上に描写および記載したが、一実施形態では、スキャン・チェーンに対するアクセスをアンロックするために１つまたは複数の特別なＴＡＰシーケンスを利用することができる。そのような実施形態では、厳密なＪＴＡＧ用語の中では直接的な意味または効果をもたないＴＡＰ  ＦＳＭの中の特別な遷移を、スキャン・チェーンに対するアクセスをアンロックするために使用することができる。そのような特別な遷移は、（例えば、他のプロトコルをＩＥＥＥ１１４９．１規格の上に重ねるためなどの）他の目的のために使用することができ、ＳｃａｎＢｒｉｄｇｅおよびＩＥＥＥ１１４９．７の手法のコアにあることが理解されよう。特別なＴＡＰ遷移シーケンスを使用することにより、そのような手法は、新しいシステム状態とスキャン・データのどちらも、通常のＪＴＡＧでは通常実現不可能な構成の中に導入することができる。結果として、ＳｃａｎＢｒｉｄｇｅ、ＩＥＥＥ１１４９．７、および他の同様の手法は、スキャン・チェーンに対するアクセスをアンロックするために使用することができる。スキャン・チェーンに対するアクセスをアンロックするためのこの技法は、本明細書において描写および記載した任意の他のＯＣＤベースの実施形態とともに使用することができる。
【０１４９】
図８は、スキャン・チェーンの中に開路状態を作成するための方法の一実施形態を描写する。一実施形態では、図８の方法８００は、本明細書において描写および記載したＯＣＤセルなどの、スキャン・チェーンに関連するスキャン・チェーンのセキュリティ構成部品によって実行される。ステップ８０２で方法８００が開始する。ステップ８０４で、スキャン・レジスタの値が受信される。スキャン・レジスタの値は、スキャン・チェーンのセキュリティ構成部品によって受信される。スキャン・レジスタの値はスキャン・チェーンを介して受信される。ステップ８０６で、スキャン・レジスタの値に応答してスキャン・チェーン内に開路状態が作成される。ステップ８０８で方法８００が終了する。本明細書に記載したように、開路状態は、スキャン・チェーンから開路状態を除去させるための制御信号が受信されるまで、スキャン・チェーンの通常の使用を防止する。
【０１５０】
図９は、スキャン・チェーンから開路状態を除去するための制御信号を生成するための方法の一実施形態を描写する。一実施形態では、図９の方法９００は、セキュリティ妥当性確認構成部品、例えば、キー・チェッカ機能、チャレンジ・ベースの認証構成部品などによって実行される。
【０１５１】
ステップ９０２で方法９００が開始する。
【０１５２】
ステップ９０４でセキュリティ妥当性確認が実行される。セキュリティ妥当性確認は、任意の適切な方式、例えば、セキュリティ・キーの妥当性確認、チャレンジ・ベースの認証処理の使用などで実行することができる。
【０１５３】
ステップ９０６で、セキュリティ妥当性確認が成功したかどうかについて判定が行われる。セキュリティ妥当性確認が成功しなかった場合、方法９００はステップ９１２に進み、そこで、スキャン・チェーンからの開路状態の除去で使用するために構成された制御信号を生成せずに方法９００が終了する（すなわち、スキャン・チェーンの通常の使用が防止される）。セキュリティ妥当性確認が成功した場合、方法９００はステップ９０８に進む。
【０１５４】
ステップ９０８で制御信号が生成される。制御信号はスキャン・チェーンからの開路状態の除去で使用するために（すなわち、スキャン・チェーンの通常の使用を再び可能にするために）生成される。
【０１５５】
ステップ９１０で、制御信号に応答してスキャン・チェーンからの開路状態の除去で使用するために構成された構成部品に向かって、制御信号が伝搬される。ステップ９１０から、方法９００はステップ９１２に進む。
【０１５６】
ステップ９１２で方法９００が終了する。
【０１５７】
図１０は、スキャン・チェーンから開路状態を除去するための制御信号を使用するための方法の一実施形態を描写する。一実施形態では、図１０の方法１０００は、本明細書において描写および記載したＯＣＤセルなどの、スキャン・チェーンに関連するスキャン・チェーンのセキュリティ構成部品によって実行される。ステップ１００２で方法１０００が開始する。ステップ１００４で制御信号が受信される。制御信号は、スキャン・チェーンのセキュリティ構成部品によって受信される。制御信号は任意の適切なソースから受信することができる。ステップ１００６で、制御信号に応答して、スキャン・チェーン内の開路状態がスキャン・チェーンから除去される。ステップ１００８で方法１０００が終了する。本明細書に記載したように、制御信号に応答した開路状態の除去は、スキャン・チェーンの通常の使用を再び可能にする。
【０１５８】
主に（図３および図６に関して描写および記載したＯＣＤセルの実施形態に図示した）特定の構成を有するＯＣＤセルの使用に関して、本明細書において描写および記載したが、その他の適切な構成を有するその他の適切なＯＣＤセルは、スキャン・チェーンのセキュリティを提供するために使用できることが理解されよう。
【０１５９】
主に１つまたは複数のＯＣＤセルの使用に関して、本明細書において描写および記載したが、その他の適切なスキャン・チェーンのセキュリティ構成部品は、スキャン・チェーンのセキュリティを提供するために、ＯＣＤセルの使用とともに、および／またはＯＣＤセルの使用の代わりに使用できることが理解されよう。
【０１６０】
図１１は、本明細書に記載した機能の実行に使用するのに適切なコンピュータの高水準のブロック図を描写する。
【０１６１】
図１１に描写したように、コンピュータ１１００は、プロセッサ構成要素１１０２（例えば、中央処理装置（ＣＰＵ）および／またはその他の適切なプロセッサ）、メモリ１１０４（例えば、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）など）、協働モジュール／プロセス１１０５、ならびに、さまざまな入出力装置１１０６（例えば、（キーボード、キーパッド、マウスなどの）ユーザ入力装置、（ディスプレイ、スピーカなどの）ユーザ出力装置、入力ポート、出力ポート、レシーバ、トランスミッタ、および記憶装置（例えば、テープ・ドライブ、フロッピ・ドライブ、ハードディスク・ドライブ、コンパクトディスク・ドライブなど））を含む。
【０１６２】
本明細書において描写および記載した機能は、例えば、汎用コンピュータ、１つもしくは複数の特定用途向け集積回路（ＡＳＩＣ）、および／またはその他のハードウェア均等物を使用して、ソフトウェアおよび／またはハードウェアに実装できることが理解されよう。一実施形態では、協働プロセス１１０５は、メモリ１１０４にロードされ、プロセッサ１１０２によって実行されて本明細書で述べたような機能を実装することができる。したがって、（関連するデータ構造を含む）協働プロセス１１０５は、コンピュータ可読記憶媒体、例えば、ＲＡＭメモリ、磁気式または光学式のドライブまたはディスケットなどに格納することができる。
【０１６３】
図１１に描写したコンピュータ１１００は、本明細書に記載した機能的な構成要素および／または本明細書に記載した機能的な構成要素の一部を実装するのに適切な、一般的なアーキテクチャおよび機能を提供することが理解されよう。例えば、コンピュータ１１００は、テスト・システム１１０、被テスト・システム１２０、本明細書に記載したような制御信号を生成するのに使用するための妥当性確認および／または認証機能を実行するために構成されたリモートシステムなどの１つまたは複数を実装するのに適切な、一般的なアーキテクチャおよび機能を提供する。
【０１６４】
本明細書においてソフトウェア方法として述べたステップの一部は、ハードウェア内に、例えば、プロセッサと協働してさまざまな方法のステップを実行する電気回路として実装できることが考察された。本明細書に記載した機能／構成要素の一部は、コンピュータ・プログラム製品として実装することができ、その中でコンピュータ命令は、コンピュータによって処理されると、本明細書に記載した方法および／または技法が起動されるか、または、そうでなければ提供されるように、コンピュータの動作を適合させる。本発明の方法を起動するための命令は、固定式またはリムーバブルな媒体に格納され、ブロードキャストもしくは他の信号伝達媒体の中のデータ・ストリームを介して伝達され、かつ／または、命令に従って動作するコンピュータ装置内のメモリ内に格納され得る。
【０１６５】
さまざまな実施形態の態様は、特許請求の範囲に明記される。さまざまな実施形態のそれらおよび他の態様は、以下の番号付けされた条項に明記される。
【０１６６】
１．スキャン・チェーンに関連するために構成され、制御信号に応答して前記スキャン・チェーンから開路状態を除去するために構成された構成部品
を備える、装置。
２．前記構成部品が第２の制御信号に応答して前記スキャン・チェーンの中に開路状態を作成するために構成された、条項１に記載の装置。
３．前記第２の制御信号がスキャン・レジスタからの値を含む、条項２に記載の装置。
４．前記スキャン・レジスタの値が前記スキャン・チェーンを介して受信された、条項３に記載の装置。
５．前記制御信号が前記スキャン・チェーンから前記開路状態を除去する唯一の手段である、条項１に記載の装置。
６．前記構成部品が前記スキャン・チェーン内に配置された、条項１に記載の装置。
７．前記スキャン・チェーンが第１のスキャン・チェーンであり、前記構成部品が前記第１のスキャン・チェーン内に配置され、前記構成部品が第２のスキャン・チェーンから前記制御信号を受信する、条項１に記載の装置。
８．前記構成部品がセキュリティ・キーの妥当性確認に応答して前記制御信号を受信する、条項１に記載の装置。
９．前記セキュリティ・キーがキー・チェッカ機能によって妥当性確認された、条項８に記載の装置。
１０．前記キー・チェッカ機能が前記スキャン・チェーンの一部から前記セキュリティ・キーを読み込む、条項９に記載の装置。
１１．前記構成部品が前記スキャン・チェーン内に配置され、前記スキャン・チェーンの前記一部が前記スキャン・チェーンに関連するＴＡＰからの前記ＴＤＩ入力の後で前記構成部品の前にある前記スキャン・チェーンの入力部分を含む、条項１０に記載の装置。
１２．前記キー・チェッカ機能が前記キー・チェッカ機能に関連するバッファから前記セキュリティ・キーを読み込む、条項９に記載の装置。
１３．前記バッファが前記スキャン・チェーンの入力部分から、または別のスキャン・チェーンから前記セキュリティ・キーを受信する、条項１２に記載の装置。
１４．前記構成部品がチャレンジ・ベースの認証の達成に応答して前記制御信号を受信する、条項１に記載の装置。
１５．前記構成部品が認証構成部品に向かって前記構成部品が活動状態にあることの指示を伝搬するために構成された、条項１４に記載の装置。
１６．前記認証構成部品が、
前記構成部品が活動状態にあることの前記指示を受信し、
チャレンジ値を生成し、
前記チャレンジ値を使用してアンサ値を生成するように構成されたアンサ構成部品に向かって前記チャレンジ値を伝搬し、
前記アンサ構成部品から前記アンサ値を受信し、
前記アンサ値が前記チャレンジ値に有効であるとの判定に応答して前記制御信号を生成する
ために構成された、条項１５に記載の装置。
１７．前記構成部品が、前記スキャン・チェーンに対するアクセスを制御するために構成されたテスト・アクセス・ポート（ＴＡＰ）内に配置された、条項１に記載の装置。
１８．前記構成部品が前記ＴＡＰの命令レジスタ（ＩＲ）の前に配置された、条項１７に記載の装置。
１９．スキャン・チェーンに関連する構成部品で制御信号を受信するステップと、
前記制御信号に応答して前記スキャン・チェーンから開路状態を除去するステップと
を含む、方法。
２０．スキャン・チェーンと、
制御信号に応答して前記スキャン・チェーンから開路状態を除去するために構成された構成部品と、
前記制御信号を生成し、前記制御信号を前記構成部品に供給するために構成された信号生成器と
を備える、装置。
【０１６７】
本発明の教示を組み込むさまざまな実施形態を本明細書において詳細に提示および記載したが、当業者は、これらの教示を依然として組み込む多くの他の変形された実施形態を容易に考案することができる。
【図１Ａ】
0005480449.tif 000002
【図１Ｂ】
0005480449.tif 000003
【図２】
0005480449.tif 000004
【図３】
0005480449.tif 000005
【図４Ａ】
0005480449.tif 000006
【図４Ｂ】
0005480449.tif 000007
【図５】
0005480449.tif 000008
【図６】
0005480449.tif 000009
【図７】
0005480449.tif 000010
【図８】
0005480449.tif 000011
【図９】
0005480449.tif 000012
【図１０】
0005480449.tif 000013
【図１１】
0005480449.tif 000014