JP5373403B2 - データ処理システムを試験するための方法および装置 - Google Patents

データ処理システムを試験するための方法および装置 Download PDF

Info

Publication number
JP5373403B2
JP5373403B2 JP2008555430A JP2008555430A JP5373403B2 JP 5373403 B2 JP5373403 B2 JP 5373403B2 JP 2008555430 A JP2008555430 A JP 2008555430A JP 2008555430 A JP2008555430 A JP 2008555430A JP 5373403 B2 JP5373403 B2 JP 5373403B2
Authority
JP
Japan
Prior art keywords
test
processor
code
stop
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008555430A
Other languages
English (en)
Other versions
JP2009527821A5 (ja
JP2009527821A (ja
Inventor
アール. モリソン、ギャリー
エイ. リヨン、ホセ
シー. モイヤー、ウィリアム
エム. レイポルド、アンソニー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP USA Inc
Original Assignee
NXP USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NXP USA Inc filed Critical NXP USA Inc
Publication of JP2009527821A publication Critical patent/JP2009527821A/ja
Publication of JP2009527821A5 publication Critical patent/JP2009527821A5/ja
Application granted granted Critical
Publication of JP5373403B2 publication Critical patent/JP5373403B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318552Clock circuits details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、一般に、データ処理システムに関し、より詳細には、データ処理システムの試験に関する。
データ処理システムの試験は、適切な動作を保証するために重要である。試験は、ユーザ・アプリケーション内でデータ処理システムを使用するのに先立って、製造後に工場で実行される。これは、エンド・ユーザが適切に機能する製品を受け取ることを保証する。しかし、エンド・ユーザによるデータ処理システムの動作の間、製品の通常の動作の間に発生する可能性がある不具合を検出できるように、データ処理システムを連続的に試験することが望ましい。
データ処理システムが、製造されて、エンド・ユーザに引き渡された後、データ処理システムが依然として適切に機能していることを保証するために通常動作の間における試験が望まれる場合がある。例えばデータ処理システムが自動車内で使用される場合、利用者が自動車を購入した後に、自動車内でデータ処理システムの試験を行うことが望まれる。一部の試験コードが、動作の間、データ処理システムを周期的に試験するために実行され得る。しかし、このコードは、通常、不均等かつ不完全な試験範囲を提供する。この試験コードはまた、通常、データ処理システムをテストするためには遅く、非効率的である。さらに、これらの試験コードは、不合格等級づけを行うのに時間がかかるとともに複雑である。もう1つの代替はスキャン試験である。スキャン試験は、より高い試験範囲を容易に提供するために使用される。しかし、従来のスキャン試験が動作の間に実行される場合、プロセッサの現在の状態は、スキャン試験が実行されるたびに失われる。
本発明を、図面を参照して説明する。図中、同じ参照符号は類似の構成要素を示す。本発明は、添付の図面によって限定されず、図は例示である。当業者であれば、図中の構成要素は簡素化かつ見易さのために例示されており、必ずしも原寸に比例して描かれていないことを理解し得る。例えば、図中の構成要素のいくつかの寸法は、本発明の実施形態の理解を高めるのに役立つようにその他の要素と相対的に誇張されている。
本明細書で説明されるように、本発明の実施形態は、通常動作の間、データ処理システムのソフトウェア指令による割り込み的な(intrusive)試験を可能にし、ここで、この割り込み試験は、データ処理システムの状態に影響を与えるまたはその状態を失う試験を指す。例えば1つの実施形態では、通常の動作の間に試験するために、ロジック組み込み自己試験(LBIST)と組み合わせてスキャン試験方法が使用される。1つの実施形態では、試験を開始するために停止および試験命令が使用される。
本明細書で使用されるように、用語「バス」は、データ、アドレス、制御、または状態など、1つまたは複数の様々なタイプの情報を転送するために使用される複数の信号または導体を指す。本明細書で説明される導体は、単一の導体、複数の導体、単向性の導体、または双方向性の導体である。しかし、異なる実施形態では、導体の実装方法が変更される。例えば、双方向性の導体ではなく個別の単向性導体を使用可能であり、逆も同様である。また、複数の導体は、複数の信号を連続的にまたは時間的に多重化された方法で転送する単一の導体と交換可能である。同様に、複数の信号を転送する単一の導体は、これらの信号のサブセットを運ぶ様々な異なる導体内に分離可能である。したがって、信号を転送するための多くの選択肢が存在する。
用語「アサートする」または「設定する」および「ネゲートする」または「デアサートする」は、それぞれ、信号、状態ビット、または類似の装置を論理的に真(true)の状態または論理的に偽(fasse)の状態にすることを指す場合に使用される。論理的に真の状態が論理レベル1である場合、論理的に偽の状態は論理レベル0である。また、論理的に真の状態が論理レベル0である場合、論理的に偽の状態は論理レベル1である。したがって、本明細書で説明される各信号は正論理または負論理として設計され、負論理は、信号名の上のバーまたは名称に続くアスタリスク(*)によって表示され得る。負論理信号の場合、信号はアクティブ・ローであり、論理的に真の状態は論理レベル0に対応する。正論理信号の場合、信号はアクティブ・ハイであり、論理的に真の状態は論理レベル1に対応する。本明細書で説明される信号のいずれも、負論理信号または正論理信号として設計することができる。したがって、正論理信号として説明される信号は負論理信号として実施することが可能であり、負論理信号として説明される信号は正論理信号として実施することが可能である。
図1は、本明細書の1つの実施形態によるデータ処理システム10をブロック図形式で例示する。データ処理システム10は、プロセッサ12と、停止および試験回路14と、割込みコントローラ20と、その他のモジュール16と、メモリ18と、バス26とを含む。プロセッサ12と、割込みコントローラ20と、停止および試験回路14と、その他のモジュール16と、メモリ18とは、すべてバス26に双方向的に接続される。その他のモジュール16は、例えば、その他のメモリ、プロセッサ、コプロセッサ、入出力装置、タイマ、または任意のその他のタイプの周辺装置など、任意のタイプおよび任意の数のモジュールを含み得る。あるいは、その他のモジュールはデータ処理システム10内に存在しなくてもよい。メモリ18は、例えば、読出し専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)など、任意のタイプのメモリであり得る。1つの実施形態では、プロセッサ12によって実行されるユーザ・アプリケーションはメモリ18内に記憶される。また、例示された実施形態では、プロセッサ12は、(後述するようにオプションである)その他のモジュール・モニタ50を含む。
停止および試験回路14は、割込みコントローラ20とプロセッサ12とに接続される。割込みコントローラ20は、停止および試験回路14に割込み指示子22を提供する。停止および試験回路14は、プロセッサ12にリセット48を供給して、プロセッサ12から停止および試験指示子24を受信する。また、データ処理システム10は、停止および試験イネーブル44を受信するマルチプレクサ30,32及びデマルチプレクサ(demultiplexer)28を含む。プロセッサ12は、停止および試験イネーブル44に基づいて、停止および試験回路14への停止および試験スキャン・アウト(1〜N)34として、または外部スキャン・アウト(1〜N)37として提供されるスキャン・アウト(1〜N)40をデマルチプレクサ28に出力する。マルチプレクサ30は、停止および試験回路14からの停止および試験スキャン・イン(1〜N)35と、外部スキャン・イン(1〜N)38とを受信し、これらのうちの1つを、停止および試験イネーブル44に基づいて、スキャン・イン(1〜N)41としてプロセッサ12に供給する。マルチプレクサ32は、停止および試験回路14からの停止および試験スキャン・イネーブル36と、外部スキャン・イネーブル39とを受信し、これらのうちの1つを、停止および試験イネーブル44に基づいて、スキャン・イネーブル39としてプロセッサ12に供給する。図1のNは、ゼロより大きい任意の整数を示し、これは、プロセッサ12内に存在するスキャン・チェーンの数に対応する。したがって、マルチプレクサ30はN個のマルチプレクサを含み、デマルチプレクサ28はN個のデマルチプレクサを含む。また、代替の実施形態では、デマルチプレクサ28は存在しなくてもよい。例えば、スキャン試験が実行されていない場合、スキャン・インプットは単に無視されてよい。
外部スキャン・アウト(1〜N)37、外部スキャン・イン(1〜N)38、及び外部スキャン・イネーブル39の各々は、データ処理システム10の外部パッドまたはピンに経路指定される。あるいは、これらの外部信号のいずれも、より少ない数の外部パッド上またはピン上に多重化される。例えば、チェーン内のすべてのスキャンは、N個のパッドまたはN個のピンを介して入力されるのではなく、同じパッドまたはピンを介して入力される。また、代替実施形態では、マルチプレクサ30,32ならびにデマルチプレクサ28の機能を実装するために、異なる回路が用いられる。さらにもう1つの実施形態では、すべてのスキャン・インプットとスキャン・アウトプットとが停止および試験回路14からおよび試験回路14へ提供されるように、(外部スキャン・アウト37および外部スキャン・イン38などの)外部スキャン・インプットおよび外部スキャン・アウトプットがまったく提供されなくてもよい。
動作の際、停止および試験イネーブル44がアサートされない場合、マルチプレクサ30,32は、それぞれ、外部スキャン・イン(1〜N)38と外部スキャン・イネーブル39とを選択して、外部スキャン・イン(1〜N)38をスキャン・イン(1〜N)41としてプロセッサ12に供給するとともに、外部スキャン・イネーブル39をスキャン・イネーブル42として供給する。同様に、停止および試験イネーブル44がアサートされない場合、デマルチプレクサ28は、プロセッサ12から外部スキャン・アウト(1〜N)37にスキャン・アウト(1〜N)40を供給する。このように、外部テスタは、プロセッサ12をスキャン試験するために、プロセッサ12のスキャン・インプットとスキャン・アウトプットとに接続される。例えば、プロセッサ12すなわちデータ処理システム10の製造後、プロセッサ12は、外部スキャン・アウト(1〜N)37と、外部スキャン・イン(1〜N)38と、外部スキャン・イネーブル39とに結合された従来のテスタを使用して工場試験することが可能である。したがって、この工場試験を実行するために、従来のスキャン試験方法が使用される。一方、停止および試験回路14は、エンド・ユーザによって使用されている間など、実際の動作の間、プロセッサ12の試験を改善するために使用される。停止および試験回路14の動作は、図2,図3を参照して、以下に説明する(データ処理システム10のその他の部分の動作は、当技術分野で知られているように動作するため、本実施形態を理解することに関連する、データ処理システム10およびプロセッサ12のそれらの部分だけをより詳細に説明する)。
図2は、本発明の1つの実施形態による、プロセッサ12の一部分(破線内)と、停止および試験回路14の一部分(破線外)とを例示する。一般に、プロセッサ12の回路は、組合せ論理または組合せ回路からインプットを受信して、組合せ論理または組合せ回路にアウトプットを提供する複数のフリップ・フロップすなわちラッチとして例示される。例えば、図2は、Dフリップ・フロップ128〜130,146〜147と、組合せ論理140,142とを含む、プロセッサ12の回路の小部分を例示する。組合せ論理140,142の各々は、様々な異なる機能を実行するために、任意のタイプの組合せ論理を含み得る。例えば、組合せ論理140,142の各々は、(例えば、ANDゲート、ORゲート、NORゲート、XORゲートなど)任意の数の論理ゲートを含み得る。
フリップ・フロップ128およびフリップ・フロップ129は、それらのアウトプットを組合せ論理140に供給し、組合せ論理140は、そのアウトプットをフリップ・フロップ146に供給するマルチプレクサ144にアウトプットを供給する。同様に、フリップ・フロップ129およびフリップ・フロップ130は、それらのアウトプットを組合せ論理142に供給し、組合せ論理142は、そのアウトプットをフリップ・フロップ147に供給するマルチプレクサ145にアウトプットを供給する。フリップ・フロップ130はまた、そのアウトプットSout1 109を、符号(signature)分析器112、およびその他の論理150(例えば、図2で例示されないプロセッサ12内のその他の組合せ論理)にも供給する。マルチプレクサ144は、Sin2 110をインプットとして受信する。フリップ・フロップ128〜130は、それぞれ、マルチプレクサ131〜133からのデータ・インプットを受信する。マルチプレクサ131は、ランダム・パターン・ジェネレータ102からインプットSin1 108を受信し、その他の論理134(例えば、図2で例示されないプロセッサ12内のその他の組合せ論理)から他方のインプットを受信する。マルチプレクサ132は、フリップ・フロップ128のアウトプットをインプットとして受信し、その他の論理135(例えば、図2で例示されないプロセッサ12内のその他の組合せ論理)から他方のインプットを受信する。マルチプレクサ133は、フリップ・フロップ129のアウトプットをインプットとして受信し、その他の論理136(例えば、図2で例示されないプロセッサ12内のその他の組合せ論理)から他方のインプットを受信する。フリップ・フロップ146は、そのアウトプットを、マルチプレクサ145のインプットとして供給するとともに、その他の論理148(例えば、図2で例示されないプロセッサ12内のその他の組合せ論理)にも供給する。フリップ・フロップ147は、そのアウトプットSOUT2 111を、符号分析器112、およびその他の論理149(例えば、図2で例示されないプロセッサ12内のその他の組合せ論理)に供給する。
プロセッサ12は、任意のタイプの構成を含み得る。例えば、フリップ・フロップのいずれかのアウトプットは、任意の数の組合せ論理部分に供給することが可能であり、同じフリップ・フロップにインプットを供給する組合せ論理部分に再供給することさえ可能である。同様に、各フリップ・フロップは、任意の組合せ論理部分からそのインプットを受信することができる。プロセッサ12は、プロセッサ12の機能を実装するために、必要に応じて、任意の数のフリップ・フロップと任意の量の組合せ論理とを含む。また、プロセッサ12は、相互接続された任意の数の論理ブロックを含んでもよく、ここで、各論理ブロックは、少なくとも1つのスキャン・チェーンまたはスキャン・チェーンの一部を含み得る。したがって、プロセッサ12のすべてまたはプロセッサ12の1つもしくは複数の論理ブロックは、スキャン試験することが可能である。
図2の破線の外には、ランダム・パターン・ジェネレータ102と、停止および試験コントローラ100と、符号分析器112と、符号比較器114と、符号期待値(expected signature)記憶装置116と、試験結果レジスタ118とを含む、停止および試験回路14の一部が示される。ランダム・パターン・ジェネレータ102は、プロセッサ12にSin1 108およびSin2 110を供給する。なお、Sin1 108およびSin2 110は、停止および試験イネーブル44がアサートされた場合、マルチプレクサ30を経由して停止および試験回路14から受信される、図1で例示されたプロセッサ12へのスキャン・イン(1〜N)41インプットのうちの2つである。Sout1 109およびSout2 112は、符号分析器112に供給される。なお、Sout1 109およびSout2 111は、停止および試験イネーブル44がアサートされた場合、デマルチプレクサ28を経由してプロセッサ12から停止および試験回路14に供給される、図1で例示されたプロセッサ12からのスキャン・アウト(1〜N)40アウトプットのうちの2つである。また、停止および試験コントローラ100は、マルチプレクサ131〜133,144,145のすべてにスキャン・イネーブル(SE)138を供給する。なお、SE138は、停止および試験イネーブル44がアサートされた場合、マルチプレクサ32を経由して停止および試験回路14から受信される、図1で例示されたプロセッサ12へのスキャン・イネーブル42である。
図2で、停止および試験回路14とプロセッサ12との間のアウトプットおよびインプットは、図2を複雑化しないように、マルチプレクサ28,30,32を図示せずにそれらを直接接続して例示している。なお、外部スキャン接続がプロセッサ12に要求されない場合、データ処理システム10は、マルチプレクサ28,30,32を含まなくてもよく、停止および試験回路14とプロセッサ12の間のインプットおよびアウトプットは、図2で例示されるように、直接的に接続されることになる。
図2を参照すると、停止および試験コントローラ100は、リセット106を受信して、リセット48をフリップ・フロップ128〜130,146,147のすべてに供給する。1つの実施形態では、リセット106は、バス26を経由して受信された信号である。リセット106はまた、符号分析器112と、ランダム・パターン・ジェネレータ102と、試験結果レジスタ118とにも供給される。停止および試験コントローラ100はまた、復元ベクトル152、最大クロック154、および最小クロック156も含む。これらは、停止および試験コントローラ100内に配置された(または停止および試験回路14内またはデータ処理システム10内の他の場所に配置してもよい)レジスタまたはその他の記憶回路である。停止および試験コントローラ100は、割込みコントローラ20から割込み指示子22を受信して、強制誤り信号158と開始160とをランダム・パターン・ジェネレータ102に供給し、符号識別子124を符号期待値記憶装置116に供給し、比較値126を符号比較器114に供給する。符号比較器114は、符号分析器112から符号(signature)120を受信し、符号期待値記憶装置116から符号期待値(expected signature)115を受信し、これら2つを比較して、試験結果レジスタ118に比較結果122を提供する。試験結果レジスタ118は、バス29に双方向的に結合される。結果レジスタ118および符号期待値記憶装置116は、各々、レジスタとして実装可能であり、もしくは、任意のその他の記憶回路として実装可能である。例えば、これらはデータ処理システム10内のメモリ内に配置され得る。また、試験結果レジスタ118および符号期待値記憶装置116は、データ処理システム10内の任意の箇所に配置してもよい。
当技術分野で公知のように生成されるクロック104は、ランダム・パターン・ジェネレータ102と、停止および試験コントローラ100と、符号分析器112と、プロセッサ12(例えば、フリップ・フロップ128〜130,146,147の各々)とに供給される。クロック104は、データ処理システム10内のクロックだけを表す場合、またはデータ処理システム10もしくはプロセッサ12の1つのクロック領域を表す場合がある。この場合、プロセッサ12のその他の部分は、例えば、異なるクロック領域内に配置され、したがって、(クロック104と異なる)異なるクロックを受信する。クロック領域の各クロックは、同じシステムのクロックから生成することが可能であり、または個別に生成することも可能である。これらのクロックは、構成にかかわらず、当技術分野で知られているように生成および提供される。
動作の際に、マルチプレクサ131〜133,144,145は、プロセッサ12のスキャン試験を可能にする。これらのマルチプレクサは、(そのうちの2つは図2で例示され、1つはインプットSin1 108とアウトプットSout1 109とを有し、もう1つはインプットSin2 110とアウトプットSout2 111とを有する)様々なスキャン・チェーンを作り出すために使用される。例えば、1つのスキャン・チェーンは、フリップ・フロップ128〜130を含み、SE138がアサートされた場合、スキャン・チェーン・インプットSin1 108はフリップ・フロップ128へのインプットとして供給され、フリップ・フロップ128のアウトプットはフリップ・フロップ129へのインプットとして供給され、フリップ・フロップ129のアウトプットはフリップ・フロップ130へのインプットとして供給され、フリップ・フロップ130のアウトプットはスキャン・チェーン・アウトプットSout1 109を供給する。同様に、プロセッサ12のもう1つのスキャン・チェーンは、フリップ・フロップ146,147を含み、SE138がアサートされた場合、スキャン・チェーン・インプットSin2 110はフリップ・フロップ146へのインプットとして供給され、フリップ・フロップ146のアウトプットはフリップ・フロップ147のインプットとして供給され、フリップ・フロップ147のアウトプットはスキャン・チェーン・アウトプットSout2 111を供給する。したがって、SE138がアサートされた場合、スキャン・インプットとスキャン・アウトプットとは、プロセッサ12のすべてまたは一部を試験するために、それぞれ、シフトインおよびシフトアウトされる。
SE138がアサートされない場合、プロセッサ12は正常に動作し、フリップ・フロップ128〜130,146,147に対するインプットはプロセッサ12の組合せ論理によって供給されるとともに、そのアウトプットはプロセッサ12の組合せ論理に供給される。すなわち、SE138がアサートされない場合、通常動作の間、フリップ・フロップのインプットとアウトプットとは連鎖されず、したがって、上記で説明した動作チェーンは形成されない。
例示された実施形態では、Dフリップ・フロップが通常の動作で構成され、試験ではそれがスキャン・チェーンとして構成されるように、Dフリップ・フロップの各々のインプットでマルチプレクサが使用される、mux−Dスキャン・チェーン構成が例示されている。しかし、その他のスキャン・チェーン構成およびその他のメモリ要素が使用できる。例えば、当技術分野で知られているような、レベル・センシティブ・スキャン設計(Level−Sensitive Scan Design)(LSSD)構成が使用可能である。プロセッサ12のスキャン・チェーン構成も異なっていてよい。例えば、プロセッサ12は、単一のスキャン・チェーン、または任意の数のスキャン・チェーンを含んでもよい。また、上記で説明したように、単一のまたは任意の数のスキャン・チェーンが各クロック領域のために存在し得る。また、各スキャン・チェーンは、任意の不定の長さの(したがって、任意の不定の数のフリップ・フロップまたは任意の不定の数のその他のメモリ要素を含む)ものであり得る。加えて、いくつかの実施形態では、スキャン・チェーン部は、プロセッサ12の一部内のスキャン・チェーンの数および/または長さを変更するためにスキャン・チェーン接続が変更可能であるように構成される。この構成は、プロセッサ12のフリップ・フロップのアウトプットの代替相互接続に影響を及ぼすために、マルチプレクサ131,132,133,144,145へのインプットと、これらのマルチプレクサの制御とを変更することによって達成される。この制御は、停止および試験コントローラ100によって、もしくはデータ処理システム10内の他の場所から提供される。
プロセッサ12のフリップ・フロップは、SE138がネゲートされる通常の動作の間、プロセッサの現在の状態を記憶する。各クロック・パルスにより、フリップ・フロップの値は、組合せ論理を介して1つのフリップ・フロップからもう1つのフリップ・フロップに伝搬する値に基づいて更新される。例えば、SE138がネゲートされる通常の動作の間、フリップ・フロップ128,129のアウトプットは、マルチプレクサ144へのインプットを作り出すために組合せ論理140を介して伝搬する。クロック104がフリップ・フロップ146をクロッキングすると、(マルチプレクサ144の選択信号、すなわちSE138がネゲートされているため)組合せ論理140のこのアウトプットは、マルチプレクサ144を経由してフリップ・フロップ146内に記憶される。スキャン試験時にシフトが実行される(SE138がアサートされる)場合、フリップ・フロップは(上記で説明したように)スキャン・チェーンを形成し、スキャン・チェーンのインプットの数(すなわち、試験刺激(stimulus)つまり試験インプット)がシフトインされる。インプットの数がシフトインされると、試験の間に次のクロックが機能的なサイクルを作り出し、組合せ論理を介して伝搬するシフトイン後の試験インプットの結果として生じた試験結果がスキャン・チェーン内に捕捉されるようにSE138がネゲートされる。SE138は、捕捉されたアウトプットが次いでシフトアウトされるように、再びアサートされる。このように、SE138がアサートされた状態でインプット(試験刺激)がプロセッサ12に供給され、次いで機能的なサイクルを提供するために、SE138がネゲートされた状態でクロックが供給され、次いでSE138が再びアサートされた状態でアウトプットがプロセッサ12から読み取られる。
1つの実施形態では、SE138がアサートされた状態でインプットの数がシフトインされると、同じ数のアウトプットがシフトアウトされる。すなわち、試験インプットがシフトインされるたびに、試験アウトプットが同時にシフトアウトされる。また、任意の数の試験インプットおよび試験アウトプットは、機能的なサイクルを可能にするためにSE138をネゲートする前に、それぞれ、シフトインおよびシフトアウトされる。この数は、1以上の任意の整数であり得る。例えば、1つの実施形態では、(1つのアウトプットがシフトアウトされると同時に)1つのインプットがシフトインされた後、機能的なサイクルが次のクロックにより発生するように、SE138はネゲートされる。代替実施形態では、機能的なサイクルを可能にするために、SE138をネゲートする前に(5個のアウトプットがシフトアウトされると同時に)5個のインプットがシフトインされる。したがって、スキャン試験の間、クロック104は、SE138がアサートされた状態でインプットをスキャン・チェーン内にシフトインし、且つアウトプットをスキャン・チェーンからシフトアウトする試験インプット/アウトプットのシフトサイクルを可能にするとともに、組合せ論理を介して伝搬するシフトイン後の試験刺激として生じた試験結果を捕捉するようにSE138をネゲートする機能的サイクルを可能にする。
例えば、図2を参照すると、スキャン試験に関して、SE138がアサートされ、特定の数の試験インプットがスキャン・チェーン内にスキャンされる。すなわち、クロック104の特定の数のクロック・サイクルが試験インプットを各チェーン内に入力するために使用される。例えば、クロック104の第1の試験インプット/アウトプット・シフト・サイクルで、試験刺激は、それぞれ、Sin1 108およびSin2 110を経由して、フリップ・フロップ128,146の各々の中にシフトされる。また、クロック104のこの第1の試験インプット/アウトプット・シフト・サイクルの間、Sout1 109およびSout2 111を介してフロップ・フロップ130,147からの値がそれぞれシフトアウトされる。クロック104の次の試験インプット/アウトプット・シフト・サイクルの間、フリップ・フロップ128,146の中にあった値は、それぞれ、フリップ・フロップ129,147の中にシフトされ、フリップ・フロップ129内の値はフリップ・フロップ130内にシフトされる。そして、フリップ・フロップ130,147の値は、それぞれ、Sout1 109およびSout2 111として出力される。所望に応じて、任意の数のこれらの試験インプット/アウトプット・シフト・サイクルが発生する。所望の数の試験インプット/アウトプット・シフト・サイクルの後、SE138をネゲートすることによって、機能的サイクルが実行される。この機能的サイクルでは、その他の論理134,135,136および組合せ論理140,142から伝搬する値が、クロック104を用いて、それぞれフリップ・フロップ128〜130,146,147の中に捕捉される。次の試験インプット/アウトプット・シフト・サイクルの間、(新しいインプットがシフトインされると)これらの捕捉された値がシフトアウトされる。
一般に、スキャン試験を開始するのに先立って、フリップ・フロップは、例えば、論理レベル0などの既知の値にリセットされる。また、スキャン試験を開始するのに先立って、フリップ・フロップは、スキャン・チェーンの数とスキャン・チェーンの長さとを定義するためのいくつかの代替案のうちの1つに構成される。構成制御は、図2の停止および試験コントローラ100から、またはデータ処理システム10内の他の場所から供給される。
シフトインされた試験インプットに基づいて、特定の結果が期待される。したがって、スキャン・チェーンからシフトアウトされたアウトプット値は、次いで、シフトインされた試験インプットに対応する符号期待値と比較される符号を作り出すために、符号分析器に供給される。これらが一致しない場合、不合格が表示される。1つの実施形態では、インプットの所定のベクトルがシフトインされ、その場合、所定のベクトルの各々は対応する符号期待値を有する。あるいは、所定のベクトルではなく、擬似ランダム・ベクトル(試験インプット)を作り出すために擬似乱数ジェネレータを使用するLBISTも使用可能である。これらのベクトルはまた、試験の合格または不合格を決定するために使用され得る、関連する符号期待値を有する。
スキャン試験は、システムの全体的な健全性を提供する良い方法である。試験されている装置(すなわち、図2の例ではプロセッサ12である、試験中の装置、すなわちDUT)のすべて、大部分、または単に多くの部分を容易に試験するために使用される。しかし、スキャン試験は、DUTの状態を記憶する同じフリップ・フロップの使用を要求するため、DUTの現在の状態がスキャン試験時に失われるという点で非常に割り込み的(intrusive)である。また、LBISTは、スキャン試験において擬似ランダム・パターンの使用を介してDUTの全体的な健全性を試験する便利な方法である。LBISTは、DUTに対する擬似乱数に基づくスキャン刺激を提供する。先に説明したスキャン刺激の利用を介して取得された不合格範囲は、例えば、試験範囲内での増大が一定数のクロックの後に急速に下降し始める非線形範囲グラフによって表される。取得される実際の範囲はLBIST生成の間に使用されたツールによって決定され、合格/不合格状態は、符号期待値に対して実際の符号を比較することによって決定される。一般に、より高い不合格範囲を取得するための2つの方法が存在する。すなわち、設計に可制御性および/または可観測性ポイントを挿入することまたは系列をより長く繰り返すこと、である。したがって、LBISTおよびスキャン試験は、通常、装置をエンド・ユーザに出荷するのに先立って(したがって、エンド・ユーザによる通常の操作に先立って)工場で行われ、試験が割り込み的であるかどうかは無関係である。
図2および3を参照して説明されるように、本発明の実施形態は、通常の動作の間、このタイプの割り込み的試験を可能にする。すなわちエンド・ユーザによる使用の際など、通常の動作の間、プロセッサ12をスキャン試験することが可能となるようにソフトウェアが書き込まれている。例えば、1つの実施形態では、プロセッサ12のスキャン試験を開始するために、停止および試験命令などのソフトウェア命令がユーザ・アプリケーション内で使用される。あるいは、ソフトウェア命令は、結果として、プロセッサ12のスキャン試験を引き起こすいくつかの動作をもたらす。例えば、特定のレジスタまたはアドレス位置にビットを書き込む命令により、プロセッサ12のスキャン試験が開始される。このように、プロセッサ12上で実行するソフトウェアは、結果として、プロセッサ12自体のスキャン試験を開始する、停止および試験指示子の生成をもたらす。したがって、プロセッサ12のすべてのまたは大部分の全体的な信頼レベルは、現在、当技術分野で行われているように、複雑なソフトウェア試験機能を書き込む必要なしに、通常の動作の間、ソフトウェア制御を介して達成される。上記で説明されたように、これらのソフトウェア試験機能は、ソフトウェアを用いてプロセッサ12の一部分だけを試験し、スキャン試験と異なり、限定された範囲だけを提供する。
図1で例示されるように、プロセッサ12は、停止および試験手順がいつ実行されるべきかを決定するために、データ処理システム10内で、その他のモジュール16などその他のモジュールを監視するその他のモジュール・モニタ50を含み得る。1つの実施形態では、その他のモジュール・モニタ50は、データ処理システム10内の1つまたは複数のその他のモジュールの特定の1つまたは複数の動作に応答して、プロセッサ12に停止および試験指示子を供給する。この停止および試験指示子に応じてプロセッサ12のすべてまたは一部のスキャン試験が開始され、またはプロセッサ12の代わりにもしくはプロセッサ12に加えて、プロセッサ12の外の回路の部分が試験され得る。例えば、その他のモジュール・モニタ50は、停止および試験手順の間、その他のモジュール16(またはその他のモジュール16の部分)のうちのどれがスキャン試験されることになるかに関して表示を提供することも可能である。
図2および図3の説明は、DUTであるプロセッサ12に関して提供される。しかし、本明細書の説明は、(プロセッサ12の1つまたは複数の論理ブロックなど)プロセッサ12の任意の部分であるDUT、またはデータ処理システム10の任意のその他の部分にも応用される。すなわち図2のスキャン・チェーンは、プロセッサ12であるのではなく、データ処理システム10内のいくつかのその他のモジュールでもあり得る。1つの実施形態では、停止および試験回路14が、データ処理システム10のその他のモジュールに加えて、プロセッサ12を試験する際に共有および使用される。もしくは、個別の停止および試験回路が、プロセッサ12、および通常の動作の間に本明細書で説明された方法でスキャン試験することが可能な任意のその他のモジュールに使用される。
図3は、本発明の1つの実施形態による、通常の動作の間のスキャン試験の方法を例示する。説明を簡単にするために、図1および図2を参照して説明するが、この方法は、データ処理システム10およびプロセッサ12だけでなく、任意のシステムと任意のDUTとに応用することが可能である。フローは、プロセッサ12を含めて、データ処理システム10が製造されるブロック200から始まる。フローは、データ処理システム10の工場試験が実行されるブロック202に進む。この工場試験は、例えば、スキャン試験、LBIST、または任意のその他のタイプの試験を含んでよく、通常、システムを任意のエンド・ユーザに提供するのに先立って実行される。装置はまだエンド・ユーザ・アプリケーションで使用されていないため、この工場試験は割り込み的である(すなわち、装置の状態をスクランブルし得る)。さらに、この工場試験のためにより多くの時間が一般に利用される。この工場試験のタイミングはエンド・ユーザ・アプリケーションによって制御される必要がない。
フローは、次いで、データ処理システム10がエンド・ユーザ・アプリケーション内に組み込まれるブロック204に進む。例えば、データ処理システム10は、自動車、ハンドヘルド装置などの中に組み込まれる。1つの実施形態では、ブロック202で説明された工場試験は、プロセッサ12上でだけ実行される。この場合、プロセッサ12は、ブロック204で、次いで、データ処理システム10などのデータ処理システム内に組み込まれ、次いで、エンド・ユーザ・アプリケーション内に組み込まれる。1つの実施形態では、データ処理システム10自体がエンド・ユーザ・アプリケーションであり得る。
フローは、ポイントAを経由してブロック204から、ユーザ・アプリケーションが実行されるブロック206に進む。例えば、プロセッサ12が自動車などのエンド・ユーザ・アプリケーション内にあると、ユーザ・アプリケーションはプロセッサ12上で実行される。この時点で、データ処理システム10は、工場の外にあり、エンド・ユーザの管理下にある。フローは、次いで、ユーザ・アプリケーションが停止および試験手順を指示したかどうかを判定する判定ブロック208に進む。上記したように、これは様々な方法でユーザ・アプリケーションによって行われる。1つの実施形態では、ユーザ・アプリケーション内の停止および試験ソフトウェア命令が、停止および試験手順を指示するために復号されている。あるいは、特定のレジスタまたはメモリ位置に書き込みを行うユーザ・アプリケーション内のソフトウェア命令が、停止および試験手順を指定するプロセッサ12内の回路によって検出されている。いずれの場合も、停止および試験手順がプロセッサ12内で指示されると、停止および試験指示子24がプロセッサ12から停止および試験回路14に供給される。停止および試験ソフトウェア命令を使用する前者の実施形態では、プロセッサ12の命令復号器が停止および試験指示子24を提供し、特定の位置に書き込みを行う後者の実施形態では、特定の位置をポーリングする、または書込みを検出する回路が停止および試験指示子24を提供する(あるいは、停止および試験手順は、上記したように、その他のモジュール・モニタ50によって指示される)。
図3を再び参照すると、ユーザ・アプリケーションが停止および試験手順を指示していない場合、フローは、ユーザ・アプリケーションが引き続き実行するポイントAに戻る。停止および試験手順が指示された場合、フローは、ユーザ・アプリケーションの実行が停止され、プロセッサ12の状態が保存されるブロック210に進む。必要に応じて、停止および試験手順の後に同じポイントから実行を継続することが可能となるように、プロセッサ12内のフリップ・フロップのすべてまたは一部の中の値が保存される。あるいは、停止および試験手順が指示された場合には、ユーザ・アプリケーションはアイドル状態であり得るため、したがって、状態が保存されることを要求しない。さらにもう1つの代替実施形態では、フリップ・フロップのいくつかだけの保存が必要とされ、この場合、時間とリソースとが節約される。この代替実施形態では、プロセッサ12のどの部分が保存されることになるかを指示するためにソフトウェアが使用される。また、状態の保存が要求される場合、どのフリップ・フロップがどこに保存されるかを指示するために追加のソフトウェア命令をユーザ・アプリケーション内に提供することが可能であり、またはすべてのフリップ・フロップが保存されることになることを指示する追加のソフトウェア命令が提供される。あるいは、停止および試験手順の指示時に、フリップ・フロップのすべてまたは一部の現在の状態のより高速の保存を実行するために、専門のハードウェア回路が使用される。
状態が任意に保存された後、フローは、停止および試験回路14に停止および試験指示子24が供給されるブロック212に進む。フローは、リセットが実行されるブロック214に進む。例えば、停止および試験回路14は、プロセッサ12のフリップ・フロップに、ならびに、例えば、ランダム・パターン・ジェネレータ102、符号分析器112、および試験結果レジスタ118など、データ処理システム10内でリセットされる必要のある任意のその他の回路にリセット48を供給する。これは、停止および試験手順が、既知の値から開始することを確実にする。1つの実施形態では、(リセット48などの)リセットはすべてをリセットせず、例えば、レジスタを初期化するためにソフトウェアが使用される。
フローは、次いで、現在のチェック・ポイントとして、クロック・カウント・チェック・ポイントが選択されるブロック216に進む。すなわち、試験が、ユーザ・アプリケーションの実行の間など、通常の動作の間に実行されているため、停止および試験手順が指示された時間によっては、完全な試験を可能にしない可能性がある。したがって、初めて特定の数のクロックに達した場合のみ、試験結果を比較および分析する必要が生じ得る。例えば、以下は、クロックの数をLBISTによって提供されたDUTの不合格範囲と関連づけたサンプルの表である(以下の表は、例示として提供されており、実値は設計に応じて変化する)。
Figure 0005373403
例えば、500個のクロックが提供される場合、30%の範囲が達成される。したがって、1つの実施形態では、試験結果は、特定のクロック・チェック・ポイントに達したときだけ更新される。1つの実施形態では、クロック・チェック・ポイントは、所望される範囲レベルに従って、例えば、5%、10%、30%などでセットアップされ、試験結果は、(5%に対応する)20個のクロックの後、(10%に対応する)100個のクロックの後、(30%に対応する)500個のクロックの後などに更新される。また、現在の実施形態では、上の表内のクロックの数は、(上記で説明された)機能的なクロック・サイクルを指し、試験インプット/アウトプット・シフト・サイクルのために提供されたクロックはカウントされない。しかし、代替実施形態では、クロックの数は提供されたすべてのクロックを表すようにセットアップされる。したがって、ブロック216では、例えば、20個のクロックなど、第1のクロック・カウント・チェック・ポイントが選択される。
フローは、SE138がアサートされることにより、x個のクロックに関して試験結果を符号分析器112にシフトアウトすると同時に試験刺激がシフトインされるブロック218に進む。上記で説明されたように、任意の数、すなわち、xの試験インプット/アウトプット・シフト・サイクルを実行可能であり、ここでxは1以上の整数である。また、例示された実施形態では、LBISTは停止および試験手順の間に実行されている。したがって、図2を参照すると、停止および試験指示子24に応答して、停止および試験コントローラ100は、(1つの実施形態では、擬似ランダム・パターン・ジェネレータである)ランダム・パターン・ジェネレータ102に開始160を提供して、SE138をアサートする。開始160に応答して、ランダム・パターン・ジェネレータ102は、Sin1 108およびSin2 110を経由して、スキャン・チェーンへ擬似ランダム・インプットの供給を開始する(インプットは、Sin1 108およびSin2 110を経由して供給されており、アウトプットは、Sout1 109およびSout2 111を経由してシフトアウトされている)。
フローは、次いで、ブロック218でシフトインされた試験刺激に基づいて、スキャン・チェーン内で試験アウトプットが捕捉されるように(機能的なクロック・サイクルを提供するために)SE138がネゲートされることにより、システム・クロック(例えば、クロック104)が提供されるブロック220に進む。また、クロック・カウントがインクリメントされ、機能的なクロックのために提供されたクロックが追跡される。1つの実施形態では、このクロック・カウントは試験結果レジスタ118内で行われ、試験結果レジスタ118は、例えばクロック・カウント領域を含む。すなわち、1つの実施形態では、試験結果レジスタ118は、複数のクロック・サイクルを定量化する値を記憶する。あるいは、このクロック・カウントは、データ処理システム10内の他の場所に記憶され、後述するように、試験結果レジスタ118のクロック・カウント領域は、クロック・カウント・チェック・ポイントに達した場合だけ、クロック・カウントを記憶する。
フローは、割込みが受信されたかどうかが判定される判定ブロック221に進む。例えば、1つの実施形態では、データ処理システム10は、割込みがデータ処理システム10にいつ受信されたかを判定する割込みコントローラ20を含む。割込みが受信された場合、割込みコントローラ20は、割込み指示子22を停止および試験回路14に供給する。現在の実施形態では、任意の割込みは、停止および試験手順を終了させて、通常の動作を再開させる。あるいは、特定の優先レベルの特定の1つまたは複数の割込みだけが、停止および試験手順を終了させて、通常の動作を再開させる。図3を再び参照すると、(割込み指示子22によって停止および試験回路14に指示された)割込みが受信された場合、フローは、ポイントBを介して、もう1つのリセットが実行されるブロック234に進む。このリセットは、ブロック214を参照して説明されたリセットと類似する。フローは、実行が復元ベクトル位置で始まるブロック236に進む。すなわち、復元ベクトルは、プロセッサ12による実行がどこで再開すべきかを指示するために使用される。この復元ベクトルは、図2の復元ベクトル152であり、停止および試験コントローラ100内に(または停止および試験回路14内のその他の場所に)記憶される。あるいは、この復元ベクトルの効果は、プロセッサ12の論理において固有であり、その場合、停止および試験コントローラ100内の復元ベクトル152は不要になる。フローは、次いで、状態がブロック210内で保存された場合、状態が復元されるブロック238に進む。フローは次いで、ユーザ・アプリケーションが引き続き実行するポイントAに戻る。
判定ブロック221で、第1のクロック・チェック・ポイントに達する前に割込みが受信された場合、判定ブロック208からブロック210への「YES」ブランチによって開始された停止および試験手順に関する試験結果は記憶されなくてもよい。判定ブロック221で、割込みが受信されなかった場合、フローは、(例えば、試験結果レジスタ118の)クロック・カウントに達したか、または第1のクロック・カウント・チェック・ポイント(すなわち、現在のチェック・ポイント)を超えたかが判定される判定ブロック222に進む(1つの実施形態では、上記で説明されたように、試験結果レジスタ118のクロック・カウント領域は、クロック・カウント・チェック・ポイントに達した場合だけ、クロック・カウントを記憶し、したがって、試験結果レジスタ118は、達した最新のクロック・カウント・チェック・ポイントを常に示す。この実施形態では、ブロック220でインクリメントされ、判定ブロック222で現在のチェック・ポイントに達したかまたは当該チェック・ポイントを超えたかを判定するために使用される実際のクロック・カウントは、プロセッサ12内またはデータ処理システム10内の他の場所で記憶されるか、あるいは試験結果レジスタ118の他の領域内に記憶される)。判定ブロック22で、現在のクロック・カウント・チェック・ポイントに達していないまたは当該クロック・カウント・チェック・ポイントを超えていない場合、フローは、より多くの試験刺激がシフトインされ、より多くの試験結果がシフトアウトされるブロック218、および、現在のチェック・ポイントに達しようとして、もう1つの機能的なクロック・サイクルが実行されることになるブロック220に戻る。
判定ブロック222で、クロック・カウントに達していないまたは当該クロック・カウントを超えていない場合、フローは、シフトアウトされた試験アウトプット(例えば、Sout1 109およびSout2 111)から計算された符号が符号期待値と比較されて、合格/不合格指示子がそれに応じて更新されるブロック224に進む。1つの実施形態では、試験結果レジスタは、試験が引き続き合格を表示する限り論理レベル1にとどまり、試験結果が不合格の場合(すなわち、試験結果が符号期待値と一致しない場合)、論理レベル0になる、単一ビットの合格/不合格指示子を含む。あるいは、合格/不合格指示子は、上の表の各クロック・カウント・チェック・ポイントに関して試験結果レジスタ118内に提供され、論理レベル1は、対応するチェック・ポイントで合格を表示することになり、論理レベル0は、対応するチェック・ポイントで不合格を表示することになり、その逆も同様である。あるいは、合格/不合格結果を記憶するその他の方法が使用され得る。
図2を参照すると、Sout1 109およびSout2 111を経由してスキャン・チェーンからシフトアウトされた試験結果は符号分析器112に提供される。符号分析器112は、これらのアウトプットに基づいて符号120を作り出し、符号120を符号比較器114に供給して、停止および試験コントローラ110によって供給された比較値126に基づく比較を可能にする。符号期待値記憶装置116は、比較のための符号期待値115を符号比較器114に供給する。符号期待値記憶装置116からの符号期待値は、停止および試験コントローラ110から受信された符号識別子124に基づいて選択される。したがって、停止および試験コントローラ100は、ランダム・パターン・ジェネレータ102を制御して、それに応じて、符号期待値の選択を制御する。当技術分野で知られているような、通常の擬似ランダム・パターン・ジェネレータおよび符号分析器が使用される。さらに、記憶装置116内に記憶された符号期待値はまた、当技術分野で知られているように生成される。例えば符号期待値は、DUTの刺激によって計算される。
図2を参照すると、符号比較器114は、符号120を符号期待値115と比較して、比較結果122を試験結果レジスタ118に供給する。試験結果レジスタ118内の適切な合格/不合格指示子は、次いで、比較結果122を反映するために、必要に応じて更新される。例えば、比較結果122が一致を表示する場合、合格/不合格指示子は(論理レベル1に設定されているなど)合格を表示するように設定される。しかし、比較結果122が不一致を表示する場合、合格/不合格指示子は(論理レベル0にクリアされているなど)不合格を表示するように設定される。
図3を再び参照すると、フローは、ブロック224での比較の結果として、合格が表示されるかまたは不合格が表示されるかが判定される判定ブロック226に進む。(例えば、比較結果122によって表示されたように、符号120が符号期待値115と一致したことを示す)合格が発生した場合、フローは判定ブロック228に進む。判定ブロック228で、割込みが受信されたかどうかが再び判定される。この割込みは、上記で説明されたように、割込み22を経由して、停止および試験回路14に指示される。判定ブロック221で割込みに関して提供された同じ説明が判定ブロック228にも応用される。割込みが受信された場合、フローは、上記で説明されたようにブロック234に進み、その後ブロック236、238、206を介して進む。したがって、割込みが受信された場合、試験は継続せず、通常の動作が再開する(例えば、ユーザ・アプリケーションの実行が再開する)。
しかし、割込みが判定ブロック228で受信されなかった場合、フローは、最大クロック・カウントに達したかどうかが判定される判定ブロック230に進む。例えば、1つの実施形態では、(例えば、停止および試験コントローラ100、または停止および試験回路14内の他の場所に記憶された、図2の最大クロック154に対応する)最大クロック・カウントが使用される。最大クロック・カウントに達した場合、フローは、割込みが受信されたかどうかを判定するために判定ブロック228に戻る(また、後述するように、ブロック227で不合格が表示された場合も、フローは判定ブロック228に戻る)。最大クロック・カウントに達した場合、試験は継続されず、あるいは、割込みが受信されるまで、フローが判定ブロック228,230間で継続される。その時点で、フローは、判定ブロック228から、上記で説明されたように、通常の動作が再開するブロック234に進む(代替実施形態では、最大クロック・カウントに達すると、停止および試験手順は停止して、フローは、割込みを待たずにユーザ・アプリケーションの実行が再開するブロック234に進む)。判定ブロック230で、最大クロック・カウントにまだ達していない場合(かつ、割込みがまだ停止および試験手順に受信されていないため)、フローは、現在のチェック・ポイントとして、次のクロック・カウント・チェック・ポイントが選択されるブロック232に進む。例えば、上の表を参照すると、次のクロック・カウント・チェック・ポイントは、100個のクロックに関する記述を参照する。すなわち、(ブロック224で)次に試験結果が更新されることになるときは、割込みが受信される前に現在のクロック・カウントが100個のクロックに達するかどうかによる。
1つの実施形態では、例えば、十分な数の機能的なクロックが提供される前に割込みが発生したため、クロック・カウントが現在のクロック・カウント・チェック・ポイントに達していない場合、次の停止および試験手順が最初から再び開始されなくてはならず、例えば、次の停止および試験手順のための現在のクロック・カウント・チェック・ポイントは、(上記に示された同じ表で、20個のクロックである)第1のクロック・チェック・ポイントに設定し戻される。
判定ブロック226を再び参照すると、(例えば、比較結果122によって表示されるように、符号120が符号期待値115と一致しなかったことを表示する)不合格が発生すると、フローは、不合格が表示されるブロック227に進む。この不合格の表示は、ブロック224を参照して上記で説明された試験結果レジスタ118内の合格/不合格指示子の更新を指す場合があり、または不合格を表示する追加のアウトプットを含む場合がある。フローは、次いで、割込みが受信されたかどうかが判定される判定ブロック228に進む。フローは、判定ブロック228を参照して上記ですでに説明されたように進む。例示された実施形態では、割込みが受信され、フローがブロック234に進み、したがって、通常の動作が再開される(例えば、ユーザ・アプリケーションの実行を再開させる)まで、フローは判定ブロック228,230間で継続される。代替実施形態では、判定ブロック230で、最大クロック・カウントに達した場合、または不合格が表示された場合、フローは速やかにブロック234に進み、停止および試験手順を終了するために割込みを待つ必要はなく、ユーザ・アプリケーションの実行を再開させることができる。
代替実施形態では、図3のフローは、最小クロック・チェックを含むこともできる。例えば、図2で例示されたように、停止および試験手順の間、停止および試験コントローラ100(または停止および試験回路14内の他の場所)に記憶された最小クロック156が使用される。1つの実施形態では、任意の結果が更新される前に、最小数のクロックが受信される。もう1つの実施形態では、(判定ブロック211でなど)割込みが受信されかたどうかをチェックする前で最小数のクロックが受信される。さらに、もう1つの代替実施形態では、最大クロック・カウントが使用されなくてもよい。この場合、判定ブロック230は、不合格が発生したかどうかだけを表示することになる。
図3では、停止および試験手順の間に実行されているLBIST試験を参照して説明された。しかし、代替実施形態では、その他のタイプのスキャン試験が実行される。あるいは、停止および試験手順の間、プロセッサの状態をスクランブルする試験を含めて、スキャン試験以外の、またはスキャン試験に加えて、その他のタイプの試験が実行される。これらの場合、停止および試験回路14は、所望される1つまたは複数のタイプの試験を達成するために、図2で例示された回路とは異なる回路または追加の回路を含み得る。さらに、図3のフローは1つの例であり、追加の工程を含む代替のフロー、より少ない工程を含む代替のフロー、または工程を組み合わせる代替のフローが使用され得る。
また、上記の説明は、試験刺激がスキャン・チェーン内にシフトされ、試験アウトプットがスキャン・チェーンからシフトされるスキャン試験を説明したものであるが、代替実施形態では、試験刺激は異なって応用される。例えば、試験刺激はスキャン・チェーン内または複数のスキャン・チェーン内に同時にロード可能である。同様に、スキャン試験アウトプットは、スキャン・チェーンからまたは複数のスキャン・チェーンから同時に読み取り可能である。
したがって、工場から離れた後、エンド・ユーザ・アプリケーションで、通常の動作の間に、データ処理システム、プロセッサ、またはそれらの部分などを割り込み的に試験できるように、通常の動作の間にソフトウェア指令によって割り込み試験を可能とする例えば、図3のフローなどの本発明の様々な実施形態が理解される。プロセッサ12自体がいつアイドルであるのか、そうでない場合は、いつプロセッサ自体が割り込み的に試験可能であるかを「把握する」のはプロセッサ12のソフトウェアであるため、プロセッサ12上で実行するソフトウェアによる、(例えば、停止および試験指示子24の使用を介して)この割り込み的な試験をどのように、かついつ実施するのかを制御する能力は、エンド・ユーザ・アプリケーションにおける通常の動作の間、改善された試験を可能にする。同様に、バス26に接続された共処理(coprocessing)装置または周辺装置がいつアイドルであるか、またはアイドルになり得るかを把握するのは、通常、(プロセッサ12上またはバス26に接続されたもう1つのプロセッサ上で実行する)ソフトウェアである。例えば、ソフトウェアは、システム動作を監視することによって、プロトコルに従うことによって、またはフロー制御によって、これを把握することができる。したがって、ソフトウェアは、(割り込み的な試験を介して)いつ装置の状態がスクランブルされ、次いで、(例えば、リセットおよび復元動作を介して)系統的な方法でリカバされる可能性があるかを知るために、プロセッサ12もしくはデータ処理システム10のその他の部分、またはそれらの両方の割り込み的な試験を実行することが可能である。1つの実施形態では、プロセッサ12からの停止および試験指示子24は、データ処理システム10のどのモジュールまたは部分が割り込み的に検査され得るかを表示することも可能である。
図2の例示された実施形態では、停止および試験コントローラ100は、強制誤り信号158をランダム・パターン・ジェネレータ102に供給する。この信号は、試験を行うため、および試験回路自体が正確に動作していることを確実にするために使用され得る。例えば、強制誤り信号158は、(例えば、ランダム・パターン・ジェネレータ102のアウトプット内に変動を引き起こすことによって、少なくとも1つの符号が対応する符号期待値に一致しないことになるように)不合格が確実にされるように設定される。しかし、試験結果レジスタ118が不合格を表示しない場合、試験回路自体に問題がある可能性がある。したがって、強制誤り信号158は、試験回路自体の適切な動作を確実にする目的で、既知の結果を作り出すための方法を提供する。ソフトウェア命令は、この強制誤り信号を提供するために使用される。あるいは、この強制誤り信号は、適切な動作を確実にするために、周期的にハードウェアによって行うことも可能である。
図4は、プロセッサ12内に存在し得るスキャン・チェーンの代替実施形態を例示する。本発明の1つの実施形態によれば、図4のスキャン・チェーンは、インプットをスキャン・チェーンの端にさらにより早く伝播するために、追加のXORゲートを利用する。図4は、(それぞれ、組合せ論理312,314,316,318,320からインプットを受信する)通常の動作の際に動作するように構成され、かつ(もう1つのフリップ・フロップからインプットを受信する)スキャン・チェーンとして動作するように構成されたフリップ・フロップ301〜306を含む。なお、図4の実施形態では、各フリップ・フロップは、図2のフリップ・フロップのインプットに配置されたマルチプレクサの機能を内部に含む。図4の各フリップ・フロップは、スキャン・イネーブル(SE)とクロック・インプットとを受信する。SEがネゲートされた場合、各フリップ・フロップは、「D」インプットを経由して受信されたインプット上で動作し、したがって、通常の動作を可能にする。SEがアサートされた場合、各フリップ・フロップは、スキャン・チェーンとして動作し、インプットは「SD」インプットを経由してスキャン・チェーンに伝播される。図4に示されないが、フリップ・フロップのアウトプットはまた、組合せ論理にも供給される。これらの同じタイプのフリップ・フロップは、図2の実施形態でも利用され得る。
図4のスキャン・チェーンは、排他的OR(XOR)ゲート308,310も含む。XORゲート308は、フリップ・フロップ301のアウトプットから第1のインプットを受信し、フリップ・フロップ303のアウトプットから第2のインプットを受信する。XORゲート310は、フリップ・フロップ304のアウトプットから第1のインプットを受信し、フリップ・フロップ305のアウトプットから第2のインプットを受信する。XORゲートは、試験インプットがより少ない数のクロックを用いて、スキャン・チェーンをさらに下がって伝播することを可能にする。すなわち、(例えば、フリップ・フロップ301など)フリップ・フロップのうちのいくつかのアウトプットは、XORゲートを経由して、スキャン・チェーンをさらに下がって(例えば、フリップ・フロップ304など)フリップ・フロップに順方向送りされ、これらの順方向送りされた値(forwarded values)を受信するフリップ・フロップは、試験インプットがスキャン・チェーンのこれまでのフリップ・フロップのすべてを介して伝播するのを待つよりも、より早く状態を変えることが可能である。このように、これらのより多い遠隔のフリップ・フロップの状態が変更される限り、刺激はより多くの回路に提供され、場合によっては、より多くの試験範囲を可能にするため、スキャン・チェーンのより多い遠隔区分の試験をより少ないクロック・サイクルを用いて実行可能である。
例えば、排他的NOR(XNOR)ゲートなど、その他の論理ゲートがXORゲート308,310の代わりにまたは当該ゲートに加えて使用可能である。また、任意の数のフリップ・フロップがゲートのインプット間に存在可能であり、図4で例示された数に限定されない。例えば、XORゲート308,310などのゲートの配置は、特定の設計に関して最善のスキャン刺激を作り出すために選択される。
プロセッサ12の1つまたは複数のスキャン・チェーンは、第1のメモリ要素と、メモリ要素のチェーンと、第2のメモリ要素とを含むものとして説明される。第1のメモリ要素のアウトプットは、メモリ要素のチェーンのインプットと、少なくとも1つの論理ゲートのインプットとに接続され、少なくとも1つの論理ゲートのアウトプットは、第2のメモリ要素のインプットに接続される。例えば、メモリ要素は、スキャン・チェーン内のフリップ・フロップであり、論理ゲートは、図4を参照して説明されたXORゲートであり得る。メモリ要素のチェーンは、任意の数のメモリ要素を含み得る。
以上記述したように、本発明を特定の実施形態を参照して説明した。しかし、当業者は、特許請求の範囲に記載される本発明の範囲から逸脱せずに様々な変形および変更が行われ得ることを理解する。例えば、ブロック図は、例示されたものと異なるブロック図を含むことが可能であり、より多いもしくはより少ないブロックを有すること、または異なって配置されることも可能である。またフロー図は、異なって配置されること、より多いもしくはより少ない工程を含むこと、異なって配置されることが可能であり、または複数の工程に分離され得る工程もしくは互いに同時に実行され得る工程を含むことが可能である。したがって、明細書および図面は、限定的な意味ではなく、例示的と見なされるべきであり、すべてのかかる変形形態は本発明の範囲内に含まれることが意図される。
本発明の1つの実施形態によるデータ処理システムをブロック図形式で例示する図。 本発明の1つの実施形態による、図1のプロセッサの一部と停止および試験回路とをブロック図の形式で例示する図。 本発明の1つの実施形態による、図1のプロセッサを試験する方法をフロー図の形式で例示する図。 本発明の実施形態による、図1のプロセッサの一部をブロック図形式で例示する図。

Claims (4)

  1. プロセッサの少なくとも1つの論理ブロックをロジック組み込み自己試験(LBIST)と組み合わせて試験する方法であって、
    前記プロセッサによるユーザ・アプリケーションの実行時に、前記プロセッサが、停止および試験指示子を生成し、試験コントローラが、該停止および試験指示子の生成に応じて前記ユーザ・アプリケーションの実行を停止するとともに、必要に応じて前記プロセッサの少なくとも1つの論理ブロックの状態を保存すること、
    前記プロセッサの少なくとも1つの論理ブロックとともに動作可能な少なくとも1つのスキャン・チェーンが、前記少なくとも1つの論理ブロックを試験する試験刺激を複数のクロック・サイクルで受け取り、前記少なくとも1つの論理ブロックの試験結果を出力すること、
    符号分析器が、前記出力された試験結果に対応する少なくとも1つの符号を生成して、符号比較器が、該少なくとも1つの符号を対応する符号期待値と比較すること、を備え、
    前記少なくとも1つのスキャン・チェーンが、第1のメモリ要素と、該第1のメモリ要素とともにメモリ要素のチェーンを形成する少なくとも1つの第2のメモリ要素と、第3のメモリ要素とを含み、前記第1のメモリ要素の出力及び前記メモリ要素のチェーンの出力が少なくとも1つの論理ゲートの入力に接続され、前記少なくとも1つの論理ゲートの出力が前記第3のメモリ要素の入力に接続される、方法。
  2. 前記少なくとも1つのスキャン・チェーンから、第1のチェック・ポイントに対応する第1の試験結果のセットをシフトアウトすることであって、前記第1のチェック・ポイントは第1の複数のクロック・サイクルに対応する、第1の試験結果のセットをシフトアウトすること、
    前記第1の試験結果のセットを前記符号分析器にて受信して、前記第1の試験結果のセットに対応する第1の符号を生成すること、
    前記符号比較器によって前記第1の符号を第1の符号期待値と比較すること、
    をさらに備える請求項1に記載の方法。
  3. 前記少なくとも1つのスキャン・チェーンから、第2のチェック・ポイントに対応する第2の試験結果のセットをシフトアウトすることであって、前記第2のチェック・ポイントは第2の複数のクロック・サイクルに対応する、第2の試験結果のセットをシフトアウトすること、
    前記第2の試験結果のセットを前記符号分析器にて受信して、前記第2の試験結果のセットに対応する第2の符号を生成すること、
    前記符号比較器によって前記第2の符号を第2の符号期待値と比較すること、
    をさらに備える請求項2に記載の方法。
  4. プロセッサの少なくとも1つの論理ブロックをロジック組み込み自己試験(LBIST)と組み合わせて試験する装置であって、
    前記プロセッサによるユーザ・アプリケーションの実行時に、前記プロセッサにより生成された停止および試験指示子応じて前記ユーザ・アプリケーションの実行を停止するとともに、必要に応じて前記プロセッサの少なくとも1つの論理ブロックの状態を保存するように構成された試験コントローラと、
    少なくとも1つのスキャン・チェーンであって、前記試験コントローラが、前記プロセッサの少なくとも1つの論理ブロックを試験する試験刺激を複数のクロック・サイクルで前記少なくとも1つのスキャン・チェーン内に入力して、前記少なくとも1つのスキャン・チェーンから試験結果を出力させるように構成されている、少なくとも1つのスキャン・チェーンと、
    前記試験刺激を生成するように構成されたパターン・ジェネレータと、
    前記出力された試験結果に対応する少なくとも1つの符号を生成する符号分析器と
    該少なくとも1つの符号を対応する符号期待値と比較するように構成された符号比較器と、を備え、
    前記少なくとも1つのスキャン・チェーンが、第1のメモリ要素と、該第1のメモリ要素とともにメモリ要素のチェーンを形成する少なくとも1つの第2のメモリ要素と、第3のメモリ要素とを含み、前記第1のメモリ要素の出力及び前記メモリ要素のチェーンの出力が少なくとも1つの論理ゲートの入力に接続され、前記少なくとも1つの論理ゲートの出力が前記第3のメモリ要素の入力に接続される、装置。
JP2008555430A 2006-02-16 2007-01-18 データ処理システムを試験するための方法および装置 Expired - Fee Related JP5373403B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/355,681 2006-02-16
US11/355,681 US7444568B2 (en) 2006-02-16 2006-02-16 Method and apparatus for testing a data processing system
PCT/US2007/060660 WO2007103591A2 (en) 2006-02-16 2007-01-18 Method and apparatus for testing a data processing system

Publications (3)

Publication Number Publication Date
JP2009527821A JP2009527821A (ja) 2009-07-30
JP2009527821A5 JP2009527821A5 (ja) 2010-03-04
JP5373403B2 true JP5373403B2 (ja) 2013-12-18

Family

ID=38475623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008555430A Expired - Fee Related JP5373403B2 (ja) 2006-02-16 2007-01-18 データ処理システムを試験するための方法および装置

Country Status (5)

Country Link
US (1) US7444568B2 (ja)
JP (1) JP5373403B2 (ja)
KR (1) KR101318697B1 (ja)
TW (1) TWI403744B (ja)
WO (1) WO2007103591A2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797599B2 (en) * 2006-09-27 2010-09-14 Verigy (Singapore) Pte. Ltd. Diagnostic information capture from logic devices with built-in self test
US20080098269A1 (en) * 2006-09-29 2008-04-24 Bhavsar Dilip K Mechanism for concurrent testing of multiple embedded arrays
US20090228751A1 (en) * 2007-05-22 2009-09-10 Tilman Gloekler method for performing logic built-in-self-test cycles on a semiconductor chip and a corresponding semiconductor chip with a test engine
US7721176B2 (en) * 2007-12-06 2010-05-18 International Business Machines Corporation Method, system, and computer program product for integrated circuit recovery testing using simulation checkpoints
US8086925B2 (en) * 2008-05-20 2011-12-27 International Business Machines Corporation Method and system for LBIST testing of an electronic circuit
US8373435B2 (en) * 2008-09-30 2013-02-12 Freescale Semiconductor, Inc. Method and apparatus for handling an output mismatch
US8522085B2 (en) * 2010-01-27 2013-08-27 Tt Government Solutions, Inc. Learning program behavior for anomaly detection
WO2010120737A1 (en) * 2009-04-13 2010-10-21 Telcordia Technologies, Inc. Learning program behavior for anomaly detection
US8312331B2 (en) * 2009-04-16 2012-11-13 Freescale Semiconductor, Inc. Memory testing with snoop capabilities in a data processing system
US8136001B2 (en) * 2009-06-05 2012-03-13 Freescale Semiconductor, Inc. Technique for initializing data and instructions for core functional pattern generation in multi-core processor
US9874870B2 (en) * 2009-08-26 2018-01-23 Fisher-Rosemount Systems, Inc. Methods and apparatus to manage testing of a process control system
US20110087861A1 (en) * 2009-10-12 2011-04-14 The Regents Of The University Of Michigan System for High-Efficiency Post-Silicon Verification of a Processor
US8458543B2 (en) * 2010-01-07 2013-06-04 Freescale Semiconductor, Inc. Scan based test architecture and method
US8335881B2 (en) * 2010-03-26 2012-12-18 Freescale Semiconductor, Inc. Method and apparatus for handling an interrupt during testing of a data processing system
US8438442B2 (en) * 2010-03-26 2013-05-07 Freescale Semiconductor, Inc. Method and apparatus for testing a data processing system
US8527826B2 (en) * 2011-11-07 2013-09-03 International Business Machines Corporation Logic corruption verification
US9281079B2 (en) * 2013-02-12 2016-03-08 International Business Machines Corporation Dynamic hard error detection
US9404969B1 (en) * 2013-11-01 2016-08-02 Cadence Design Systems, Inc. Method and apparatus for efficient hierarchical chip testing and diagnostics with support for partially bad dies
US9285424B2 (en) 2014-07-25 2016-03-15 Freescale Semiconductor,Inc. Method and system for logic built-in self-test
US10031181B1 (en) * 2015-06-18 2018-07-24 Marvell Israel (M.I.S.L.) Ltd. Integrated circuit package receiving test pattern and corresponding signature pattern
US9891282B2 (en) 2015-12-24 2018-02-13 Intel Corporation Chip fabric interconnect quality on silicon
US10578672B2 (en) * 2015-12-31 2020-03-03 Stmicroelectronics (Grenoble 2) Sas Method, device and article to test digital circuits
US10452493B2 (en) * 2016-05-24 2019-10-22 Virginia Tech Intellectual Properties, Inc. Microprocessor fault detection and response system
US10249380B2 (en) * 2017-01-27 2019-04-02 Qualcomm Incorporated Embedded memory testing with storage borrowing
JP2019158749A (ja) * 2018-03-15 2019-09-19 株式会社東芝 画像処理装置及び画像処理方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3671940A (en) * 1970-03-19 1972-06-20 Burroughs Corp Test apparatus for digital computer
US3839705A (en) * 1972-12-14 1974-10-01 Gen Electric Data processor including microprogram control means
US4042914A (en) * 1976-05-17 1977-08-16 Honeywell Information Systems Inc. Microprogrammed control of foreign processor control functions
US4679194A (en) * 1984-10-01 1987-07-07 Motorola, Inc. Load double test instruction
JP2644798B2 (ja) * 1988-01-29 1997-08-25 株式会社日立製作所 信号処理回路の自己診断方式
JPH0455778A (ja) * 1990-06-26 1992-02-24 Toshiba Corp 半導体装置のテスト方法
US5672966A (en) 1992-07-23 1997-09-30 Xilinx, Inc. High speed post-programming net packing method
US5617021A (en) 1992-07-23 1997-04-01 Xilinx, Inc. High speed post-programming net verification method
KR960000616B1 (ko) 1993-01-13 1996-01-10 삼성전자주식회사 불휘발성 반도체 메모리 장치
JPH0764817A (ja) * 1993-08-30 1995-03-10 Mitsubishi Electric Corp 故障検出システム
US5485467A (en) 1993-09-24 1996-01-16 Vlsi Technology, Inc. Versatile reconfigurable matrix based built-in self-test processor for minimizing fault grading
US5900757A (en) 1996-05-01 1999-05-04 Sun Microsystems, Inc. Clock stopping schemes for data buffer
US5841867A (en) 1996-11-01 1998-11-24 Xilinx, Inc. On-chip programming verification system for PLDs
US6442723B1 (en) * 1999-05-12 2002-08-27 International Business Machines Corporation Logic built-in self test selective signature generation
US20070168736A1 (en) * 2005-12-19 2007-07-19 Ottavi Robert P Breakpoint groups

Also Published As

Publication number Publication date
KR101318697B1 (ko) 2013-10-16
WO2007103591A3 (en) 2008-12-04
KR20080098609A (ko) 2008-11-11
US20070260950A1 (en) 2007-11-08
US7444568B2 (en) 2008-10-28
WO2007103591A2 (en) 2007-09-13
TW200817704A (en) 2008-04-16
TWI403744B (zh) 2013-08-01
JP2009527821A (ja) 2009-07-30

Similar Documents

Publication Publication Date Title
JP5373403B2 (ja) データ処理システムを試験するための方法および装置
US7644333B2 (en) Restartable logic BIST controller
EP1872146B1 (en) Simultaneous core testing in multi-core integrated circuits
US6665817B1 (en) Apparatus and method for implementing a wireless system-on-a-chip with a reprogrammable tester, debugger, and bus monitor
US9037911B2 (en) Debug state machines and methods of their operation
US7533315B2 (en) Integrated circuit with scan-based debugging and debugging method thereof
US20120159274A1 (en) Apparatus to facilitate built-in self-test data collection
US8677196B1 (en) Low cost production testing for memory
JPH0548494B2 (ja)
CN112997089A (zh) 扩展jtag控制器和使用扩展jtag控制器进行功能调试的方法
JP2006105997A (ja) 電子デバイスにスキャンパターンを提供する方法および装置
US11815555B2 (en) Universal compactor architecture for testing circuits
US7089473B2 (en) Method and apparatus for testing a circuit using a die frame logic analyzer
CN112585486A (zh) 扩展jtag控制器和使用扩展jtag控制器进行功能复位的方法
JP2013242746A (ja) 故障検出システムと方法並びに半導体装置
US11301607B2 (en) Testing of asynchronous reset logic
Bushard et al. DFT of the Cell Processor and its Impact on EDA Test Softwar
US20050154947A1 (en) Microcomputer And Method For Debugging Microcomputer
Dutta et al. Design techniques and tradeoffs in implementing non-destructive field test using logic BIST self-test
US20240210470A1 (en) Scan chain diagnostic accuracy using high volume manufacturing functional testing
US20240061041A1 (en) System and method for access control of a plurality of instruments embedded in a semiconductor device
Rettig Verification of a Parameterizable JTAG Driver Module

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121031

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130426

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130508

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130528

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130604

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130627

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130919

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees