(57)【要約】【課題】オンチップ・ハードウェア制御ウィンドウ・ストローブを提供する。【解決手段】ハードウェアベース・コントローラを有する集積回路は、クロック・サイクルのセットの間システムをイネーブルにし、クロック・サイクルのセットのサブセットの間システムの態様を選択的にイネーブルにする。コントローラは、システムの態様をイネーブルにするクロック・サイクルのセットのサブセットを示す、テスト選択信号を出力するクロック・サイクル選択回路と、テスト選択信号を受信し、クロック・サイクルのセットの間システムをイネーブルにするために、テスト信号をシステムに出力する、テスト開始回路と、を含む。コントローラは、テスト選択信号に基づいて、クロック・サイクルのセットのサブセットの間システムの態様をイネーブルにするために、ゲーテッド信号を出力するＡＮＤゲートも含む。【選択図】図１
2020523575.tif 000002
【特許請求の範囲】
【請求項１】
クロック・サイクルのセットの間システムをイネーブルにし、前記クロック・サイクルのセットのサブセットの間前記システムの態様を選択的にイネーブルにする、集積回路内のハードウェアベース・コントローラであって、
前記システムの前記態様をイネーブルにする前記クロック・サイクルのセットの前記サブセットを示す、テスト選択信号を出力するように構成される、クロック・サイクル選択回路と、
前記テスト選択信号を受信し、前記クロック・サイクルのセットの間前記システムをイネーブルにするために、テスト信号を前記システムに出力するように構成される、テスト開始回路と、
前記テスト選択信号に基づいて、前記クロック・サイクルのセットの前記サブセットの間前記システムの前記態様をイネーブルにするために、ゲーテッド信号を出力するように構成される、ＡＮＤゲートと、
を備える、コントローラ。
【請求項２】
前記クロック・サイクル選択回路のマルチプレクサをさらに備え、前記マルチプレクサが、前記テスト選択信号を出力するように構成される、請求項１に記載のコントローラ。
【請求項３】
前記クロック・サイクル選択回路のオンチップ・クロック生成器をさらに備え、前記オンチップ・クロック生成器が、前記集積回路の外部からクロック信号を受信し、前記クロック・サイクルのセットの間ハイのままであるトリガ信号を前記マルチプレクサに出力するように構成される、請求項２に記載のコントローラ。
【請求項４】
前記クロック・サイクル選択回路のＯＲゲートをさらに備え、前記ＯＲゲートが、前記クロック・サイクルのセットの前記サブセットの間のみハイであるストローブ・イネーブル信号を前記マルチプレクサに出力するように構成される、請求項２に記載のコントローラ。
【請求項５】
前記ＯＲゲートが、前記集積回路の外部からのストローブ信号によって制御され、前記ＯＲゲートの前記ストローブ・イネーブル信号の出力が、前記ストローブ信号がハイであるときにのみ、ハイであるように構成される、請求項４に記載のコントローラ。
【請求項６】
前記マルチプレクサが、ストローブ・オーバライド信号を受信し、前記ストローブ・オーバライド信号がローであるときに、前記クロック・サイクルの前記セットの間ハイである前記テスト選択信号を出力するように構成される、請求項２に記載のコントローラ。
【請求項７】
前記テスト開始回路のラッチのセットをさらに備え、前記ラッチのセットが、前記クロック・サイクルのセットの間ハイである前記テスト信号を前記システムに出力するように構成される、請求項１に記載のコントローラ。
【請求項８】
前記システムが、組み込み自己テスト（ＢＩＳＴ）であり、前記システムの前記態様が、前記クロック・サイクルのセットの前記サブセットの間前記ＢＩＳＴにより出力されたデータをそれぞれ期待データと比較するように構成される、コンパレータである、請求項１に記載のコントローラ。
【請求項９】
システムと、
クロック・サイクルのセットの間前記システムをイネーブルにし、前記クロック・サイクルのセットのサブセットの間前記システムの態様を選択的にイネーブルにする、ように構成されるハードウェアベース・コントローラと、を備え、前記コントローラが、
前記システムの前記態様をイネーブルにする前記クロック・サイクルのセットの前記サブセットを示す、テスト選択信号を出力するように構成される、クロック・サイクル選択回路と、
前記テスト選択信号を受信し、前記クロック・サイクルのセットの間前記システムをイネーブルにするために、テスト信号を前記システムに出力するように構成される、テスト開始回路と、
前記テスト選択信号に基づいて、前記クロック・サイクルのセットの前記サブセットの間前記システムの前記態様をイネーブルにするために、ゲーテッド信号を出力するように構成される、ＡＮＤゲートと、
を含む、集積回路。
【請求項１０】
前記クロック・サイクル選択回路のマルチプレクサをさらに備え、前記マルチプレクサが、前記テスト選択信号を出力するように構成される、請求項９に記載の集積回路。
【請求項１１】
前記クロック・サイクル選択回路のオンチップ・クロック生成器をさらに備え、前記オンチップ・クロック生成器が、前記集積回路の外部からクロック信号を受信し、前記クロック・サイクルのセットの間ハイのままであるトリガ信号を前記マルチプレクサに出力するように構成される、請求項１０に記載の集積回路。
【請求項１２】
前記クロック・サイクル選択回路のＯＲゲートをさらに備え、前記ＯＲゲートが、前記クロック・サイクルのセットの前記サブセットの間のみハイであるストローブ・イネーブル信号を前記マルチプレクサに出力するように構成される、請求項１０に記載の集積回路。
【請求項１３】
前記ＯＲゲートが、前記集積回路の外部からのストローブ信号によって制御され、前記ＯＲゲートの前記ストローブ・イネーブル信号の出力が、前記ストローブ信号がハイであるときにのみ、ハイであるように構成される、請求項１２に記載の集積回路。
【請求項１４】
前記マルチプレクサが、ストローブ・オーバライド信号を受信し、前記ストローブ・オーバライド信号がローであるときに、前記クロック・サイクルの前記セットの間ハイである前記テスト選択信号を出力するように構成される、請求項１０に記載の集積回路。
【請求項１５】
前記テスト開始回路のラッチのセットをさらに備え、前記ラッチのセットが、前記クロック・サイクルのセットの間ハイである前記テスト信号を前記システムに出力するように構成される、請求項９に記載の集積回路。
【請求項１６】
前記システムが、組み込み自己テスト（ＢＩＳＴ）であり、前記システムの前記態様が、前記クロック・サイクルのセットの前記サブセットの間前記ＢＩＳＴにより出力されたデータをそれぞれ期待データと比較するように構成される、コンパレータである、請求項９に記載の集積回路。
【請求項１７】
クロック・サイクルのセットの間イネーブルにされる集積回路内のシステムと、前記クロック・サイクルのセットのサブセットの間選択的にイネーブルにされる前記システムの態様とを制御するための前記集積回路を製造する方法であって、
前記システムの前記態様をイネーブルにする前記クロック・サイクルのセットの前記サブセットを示す、テスト選択信号を出力するクロック・サイクル選択回路を製造することと、
前記テスト選択信号を受信し、前記クロック・サイクルのセットの間前記システムをイネーブルにするために、テスト信号を前記システムに出力するテスト開始回路を製造することと、
前記テスト選択信号に基づいて、前記クロック・サイクルのセットの前記サブセットの間前記システムの前記態様をイネーブルにするために、ゲーテッド信号を出力するＡＮＤゲートを配置することと、
を含む、方法。
【請求項１８】
前記クロック・サイクル選択回路の一部としてマルチプレクサを配置することをさらに含み、前記マルチプレクサが、前記テスト選択信号を出力するように構成される、請求項１７に記載の方法。
【請求項１９】
前記クロック・サイクル選択回路の一部としてオンチップ・クロック生成器を配置することをさらに含み、前記オンチップ・クロック生成器が、前記集積回路の外部からクロック信号を受信し、前記クロック・サイクルのセットの間ハイのままであるトリガ信号を前記マルチプレクサに出力するように構成される、請求項１８に記載の方法。
【請求項２０】
前記クロック・サイクル選択回路の一部としてＯＲゲートを配置することをさらに含み、前記ＯＲゲートが、前記クロック・サイクルのセットの前記サブセットの間のみハイであるストローブ・イネーブル信号を前記マルチプレクサに出力するように構成される、請求項１８に記載の方法。
【請求項２１】
前記クロック・サイクル選択回路に入力を提供するために、前記集積回路の外部からのストローブ信号を連結することをさらに含み、前記ＯＲゲートが、前記ストローブ信号によって制御され、前記ＯＲゲートの前記ストローブ・イネーブル信号の出力が、前記ストローブ信号がハイであるときにのみ、ハイであるように構成される、請求項２０に記載の方法。
【請求項２２】
前記クロック・サイクル選択回路および前記テスト開始回路に入力を提供するために、ストローブ・オーバライド信号を連結することをさらに含み、前記マルチプレクサが、前記ストローブ・オーバライド信号を受信し、前記ストローブ・オーバライド信号がローであるときに、前記クロック・サイクルの前記セットの間ハイである前記テスト選択信号を出力するように構成される、請求項１８に記載の方法。
【請求項２３】
前記テスト開始回路の一部としてラッチのセットを配置することをさらに含み、前記ラッチのセットが、前記クロック・サイクルのセットの間ハイである前記テスト信号を前記システムに出力するように構成される、請求項１７に記載の方法。
【請求項２４】
前記システムをイネーブルにすることが、前記クロック・サイクルのセットの間組み込み自己テスト（ＢＩＳＴ）をイネーブルにすることを含む、請求項１７に記載の方法。
【請求項２５】
前記システムの前記態様をイネーブルにすることが、前記クロック・サイクルのセットの前記サブセットの間前記ＢＩＳＴにより出力されたデータをそれぞれ期待データと比較するように構成される、コンパレータをイネーブルにすることを含む、請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンチップ・テストに関し、より具体的には、オンチップ・ハードウェア制御ウィンドウ・ストローブに関する。
【背景技術】
【０００２】
集積回路またはチップにおいて、様々なコンポーネントがクロック信号によってトリガされる。クロック信号によってトリガされるコンポーネントの１つの例が、組み込み自己テスト（ＢＩＳＴ）エンジンである。ＢＩＳＴは、集積回路またはチップに組み込まれ、チップの動作をテストするために使用される、ハードウェア、ソフトウェア、またはその２つの組み合わせを指す。例えば、ロジックＢＩＳＴ（ＬＢＩＳＴ）は、チップの機能ロジックをテストし、アレイＢＩＳＴ（ＡＢＩＳＴ）は、チップのアレイまたはメモリをテストする。典型的には、ＢＩＳＴは、テストが完了するまで数百万を超えるクロック・サイクルを実行し、テスト結果は、パスまたはフェイルの形式で蓄積される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
集積回路内のハードウェアベース・コントローラ、集積回路、および集積回路を製造する方法を提供する。
【課題を解決するための手段】
【０００４】
本発明の実施形態によれば、集積回路内のハードウェアベース・コントローラは、クロック・サイクルのセットの間システムをイネーブルにし、クロック・サイクルのセットのサブセットの間システムの態様（aspect）を選択的にイネーブルにする。コントローラは、システムの態様をイネーブルにするクロック・サイクルのセットのサブセットを示す、テスト選択信号を出力するように構成される、クロック・サイクル選択回路と、テスト選択信号を受信し、クロック・サイクルのセットの間システムをイネーブルにするために、テスト信号をシステムに出力するように構成される、テスト開始回路と、を含む。コントローラは、テスト選択信号に基づいて、クロック・サイクルのセットのサブセットの間システムの態様をイネーブルにするために、ゲーテッド信号を出力するように構成される、ＡＮＤゲートも含む。
【０００５】
本発明の別の実施形態によれば、集積回路は、システムと、クロック・サイクルのセットの間システムをイネーブルにし、クロック・サイクルのセットのサブセットの間システムの態様を選択的にイネーブルにするように構成される、ハードウェアベース・コントローラと、を含む。コントローラは、システムの態様をイネーブルにするクロック・サイクルのセットのサブセットを示す、テスト選択信号を出力するように構成される、クロック・サイクル選択回路と、テスト選択信号を受信し、クロック・サイクルのセットの間システムをイネーブルにするために、テスト信号をシステムに出力するように構成される、テスト開始回路と、を含む。コントローラは、テスト選択信号に基づいて、クロック・サイクルのセットのサブセットの間システムの態様をイネーブルにするために、ゲーテッド信号を出力するように構成される、ＡＮＤゲートも含む。
【０００６】
本発明のさらに別の実施形態によれば、クロック・サイクルのセットの間イネーブルにされる集積回路内のシステムと、クロック・サイクルのセットのサブセットの間選択的にイネーブルにされるシステムの態様とを制御するための集積回路を製造する方法は、システムの態様をイネーブルにするクロック・サイクルのセットのサブセットを示す、テスト選択信号を出力するクロック・サイクル選択回路を製造することを含む。方法は、また、テスト選択信号を受信し、クロック・サイクルのセットの間システムをイネーブルにするために、テスト信号をシステムに出力する、テスト開始回路を製造することと、テスト選択信号に基づいて、クロック・サイクルのセットのサブセットの間システムの態様をイネーブルにするために、ゲーテッド信号を出力するＡＮＤゲートを配置することと、を含む。
【０００７】
発明と見なされる主題は、明細書の末尾における特許請求の範囲において詳細に指摘され、かつ明確に請求される。前述のおよびその他の発明の特徴および利点は、添付図面と併せて用いられる以下の詳細な説明から明らかである。
【図面の簡単な説明】
【０００８】
【図１】１つまたは複数の実施形態による、オンチップ・ハードウェア制御ウィンドウ・ストローブを実行するシステムを有する集積回路のブロック図である。
【図２】例示的実施形態による、オンチップ・ハードウェア制御ウィンドウ・ストローブを実行するシステムを詳細に示す。
【図３】別の例示的実施形態による、オンチップ・ハードウェア制御ウィンドウ・ストローブを実行するシステムを詳細に示す。
【図４】さらなる別の例示的実施形態による、オンチップ・ハードウェア制御ウィンドウ・ストローブを実行するシステムを詳細に示す。
【図５】特定のクロック・サイクルを対象とし、または除外する１つまたは複数の実施形態による例示的なストローブ信号を示す。
【図６】フェイルを検索する１つまたは複数の実施形態による例示的なストローブ信号を示す。
【図７】１つまたは複数の実施形態による、対象とされるテストを実行する方法のプロセス・フローである。
【図８】１つまたは複数の実施形態による、障害識別を実行する方法のプロセス・フローである。
【発明を実施するための形態】
【０００９】
前述の通り、チップのコンポーネントは、クロック信号によりトリガされる。説明のために本明細書で述べられる１つの例は、ＢＩＳＴエンジンであり、ＢＩＳＴロジックとも呼ばれる。ＢＩＳＴは、チップ動作の異なる態様をテストするために使用され得る。例示的な自己テスト・エンジンは、ＡＢＩＳＴ、ＬＢＩＳＴ、およびアーキテクチャ検証パターン（ＡＶＰ）を含む。これらのテストは、オンチップ・データおよび命令記憶装置にロードされる機能コードによって完成される。テストは、典型的には、数百万を超えるクロック・サイクルを実行する。すなわち、ＢＩＳＴの動作をトリガする制御信号は、テストのクロック・サイクルの全てにわたって「１」（すなわち、ハイである）に保持される。
【００１０】
テストが完了されると、テスト結果が、蓄積されたパス／フェイルの形式で提供される。例えば、多入力シグネチャ・レジスタ（ＭＩＳＲ）は、パスまたはフェイルの条件を判断するために、無欠陥シグネチャと比較され得るシグネチャに出力ビットを変換するために使用される。フォールト・アドレス・レジスタ（ＦＡＲ）は、同期アボート（synchronous abort）が発生するアドレスを保持し、ＡＶＰパスカウント値が、取得される。概して、ＢＩＳＴ状態機械は、アレイ内に出力を記憶し、信号をコンパレータに出力して、アレイ内のデータを期待データと比較する。ＢＩＳＴ動作中に障害が発生するとき、蓄積された結果は、テスト・シーケンスのどの部分が障害をもたらしたかに関する見通しを提供しない。したがって、比較部分を制御するための別々の制御信号が、データ・アレイが期待データと比較される、または比較から省略される自己テストの特定のクロック・サイクルを選択することを容易にする。
【００１１】
この点において、本明細書に詳述されるシステムおよび方法の実施形態は、オンチップ・ハードウェア制御ウィンドウ・ストローブに関する。すなわち、実施形態は、所与の数のクロック・サイクルの間実行するようにコンポーネント（例えば、ＢＩＳＴエンジン）を制御しつつ、追加的に、クロック・サイクルのサブセットの間、選択的にオンまたはオフであるようにコンポーネントの態様（例えば、記憶済みデータの比較）を制御することに関係する。この選択的にオンおよびオフにすることは、ストローブと呼ばれる。ＢＩＳＴエンジンの例示的な場合において、ストローブは、より大きな粒度の（クロック・サイクル・レベルの）実速度テストの結果観察または障害分析を容易にする、ハードウェア要素によって提供される。具体的には、１つもしくは複数のクロック・サイクルが、テスト結果分析のために隔離されてもよく、または、既知の欠陥がマスクされる場合、特定のクロック・サイクルがテスト分析から省略されてもよい。設定または刺激パターンに関して、テストそれ自体は、修正される必要はなく、実施形態のうちのいくつかによれば、追加の診断特徴を取得するための追加の回路を回避するために、既に利用可能なテスト信号機能がストローブのために再使用されてもよい。
【００１２】
図１は、１つまたは複数の実施形態による、オンチップ・ハードウェア制御ウィンドウ・ストローブを実行するシステムを有する集積回路１００のブロック図である。説明のため、ＢＩＳＴエンジン１３０からの出力のウィンドウ・ストローブは、図１を参照して説明される。ＢＩＳＴエンジン１３０は、例えば、ＡＢＩＳＴもしくはＬＢＩＳＴを実行してもよく、またはＡＶＰを実装してもよい。前述の通り、ウィンドウ・ストローブまたは選択されたクロック・サイクルにおけるイネーブル化は、同様に集積回路１００の他のコンポーネントまたはコンポーネントの態様を駆動するために使用され得る。図１を参照して説明されるシステムは、クロック・サイクル選択回路１１０、テスト開始回路１２０、ストローブ適用ＡＮＤゲート１４０を含む、ハードウェアベース・コントローラである。
【００１３】
クロック・サイクル選択回路１１０は、図２〜４を参照して詳述されるように、異なる実施形態によって実装されてもよく、ウィンドウ・ストローブまたはクロック・サイクル選択を容易にする。テスト開始回路１２０は、コンポーネント（例示的な場合には、ＢＩＳＴエンジン１３０）が、ＢＩＳＴ動作の態様のストローブに関わらず、通常通り動作されることを保証し、図２を参照して詳述される。集積回路１００の外部からの外部信号１０５は、１つまたは複数の実施形態によるクロック・サイクル選択回路１１０に入力され得る。クロック・サイクル選択回路１１０は、テスト選択信号１１５をテスト開始回路１２０に提供し、ストローブによって制御される態様にも提供する。ストローブによって制御される態様は、例示的な場合においては、コンパレータ１５０である。テスト開始回路１２０は、テスト信号１２５をＢＩＳＴエンジン１３０に出力して、ＢＩＳＴエンジンの通常動作を容易にする。ＢＩＳＴエンジン１３０は、比較イネーブル信号１３５を出力し、比較イネーブル信号１３５は、テスト選択信号１１５およびストローブ適用ＡＮＤゲート１４０によるストローブによって制御される。ストローブ適用ＡＮＤゲート１４０は、本明細書で詳述される実施形態によるコンパレータ１５０を最終的に駆動するゲーテッド比較イネーブル信号１４５を出力するために、比較イネーブル信号１３５にストローブを適用する。
【００１４】
図２は、例示的実施形態による、オンチップ・ハードウェア制御ウィンドウ・ストローブを実行するシステムを詳細に示す。図２に示される実施形態によるクロック・サイクル選択回路１１０ａは、既存のクロック信号を、集積回路１００の外部からの外部信号１０５ａとして再使用する。交流（ＡＣ）クロック信号２０５は、エッジ検出器２１０に供給される。エッジ検出器２１０の出力および直流（ＤＣ）クロック信号２１５は、ＡＮＤゲート２２０に入力される。ＡＮＤゲート２２０の出力は、オンチップ・クロック生成器２２５に提供される。したがって、ＡＣクロック信号２０５のエッジ検出器２１０の出力、およびＤＣクロック信号２１５が両方とも「１」であるときにのみ、オンチップ・クロック生成器２２５は、ＡＮＤゲート２２０から「１」または開始信号を受信する。オンチップ・クロック生成器２２５は、ＢＩＳＴエンジン１３０をイネーブルにし、テスト全体を通してＢＩＳＴエンジン１３０の動作を維持するコンポーネントである。具体的には、ＢＩＳＴエンジン１３０によるテストに関連付けられた全クロック・サイクルの間、オンチップ・クロック生成器２２５によって出力されるトリガ信号２３０は、「１」である。
【００１５】
ＤＣクロック信号２１５は、任意選択的に、ストローブ（オン／オフ）信号をＡＮＤゲート２４５に提供するラッチ２４０（例えば、フリップ・フロップ）にも提供される。ラッチ２４０は、ＤＣクロック信号２１５にラッチし、例えば、（例えば、ギガヘルツの他のオーダ（５ギガヘルツを超える）における）高速適用に必要とされる。トリガ信号２３０およびラッチ２４０の出力が両方とも「１」であるときにのみ、ＡＮＤゲート２４５は、「１」を出力する。このＡＮＤゲート２４５が、ストローブを提供する。
【００１６】
図２が示すように、トリガ信号２３０は、ＡＮＤゲート２４５に加えて、マルチプレクサ２６５および立ち上がりエッジ検出器２３５に提供される。立ち上がりエッジ検出器２３５は、トリガ信号２３０の立ち上がりエッジを検出し、ＯＲゲート２５０に出力を提供する。立ち上がりエッジ検出器２３５が「１」であることは、トリガ信号２３０が「１」に遷移したことを示し、それは、マルチプレクサ２６５を参照して説明されるように、ＢＩＳＴエンジン１３０の開始を示す。
【００１７】
立ち上がりエッジ検出器２３５の出力は、残りのテスト期間中、「０」（すなわち、ロー）である。ＡＮＤゲート２４５の出力も、ＯＲゲート２５０に提供される。トリガ信号２３０、およびラッチ２４０の出力（すなわち、ラッチされたＤＣクロック信号２１５）の両方が「１」であるときにのみ、ＡＮＤゲート２４５の出力は「１」である。前述の通り、ＢＩＳＴエンジン１３０によるテスト期間中、トリガ信号２３０は「１」である。ラッチ２４０は、ウィンドウ・ストローブ信号を出力し、よって、ＡＮＤゲート２４５は、ウィンドウ・ストローブを出力する。テスト開始時においてトリガ信号２３０が「１」に最初に遷移した後、エッジ検出器２３５は、「０」を出力するため、ＤＣ入力信号２１５によるストローブに従うＡＮＤゲート２４５が「１」であるときにのみ、ＯＲゲート２５０は、「１」を出力する。
【００１８】
前述した通り、ＡＣクロック信号２０５が、テストの開始を示すために「１」に移るとき、立ち上がりエッジ検出器２３５は、「１」を出力し、それによって、ＤＣクロック信号２１５に関わらず、ＯＲゲート２５０によって出力されるストローブ・イネーブル信号２５５を「１」の値にする。このことは、ＢＩＳＴエンジン１３０によるテストの最初のクロック・サイクルの間、テスト選択信号１１５ａとして、マルチプレクサ２６５が「１」を出力することにつながる。すなわち、立ち上がりエッジ検出器２３５は、テスト選択信号１１５ａの初期値が、ＡＣクロック信号２０５にのみ基づいて、かつＤＣクロック信号２１５に関わらず、「１」であることを可能にする。
【００１９】
ＢＩＳＴエンジン１３０によるテストの最初のクロック・サイクルの後、マルチプレクサ２６５は、トリガ信号２３０として「１」を受信し、ストローブ・イネーブル信号２５５として「１」または「０」を受信する。ストローブ・イネーブル信号２５５の値は、ＤＣクロック信号２１５によって決定され、したがって、ＡＮＤゲート２４５およびＯＲゲート２５０によって決定される。マルチプレクサ２６５への別の入力は、ストローブ・オーバライド信号２６０である。ストローブ・オーバライド信号２６０は、ストローブ・イネーブル信号２５５をオーバライドし得る制御信号であり、テスト期間中設定される。
【００２０】
ストローブ・オーバライド信号２６０が「０」であるとき、ＢＩＳＴエンジン１３０の通常動作が実行される。この場合、ＢＩＳＴエンジン１３０に提供される信号（テスト信号１２５）、およびコンパレータ１５０に提供される信号（ゲーテッド比較イネーブル信号１４５）の両方が、テスト期間中、「１」である。ストローブ・オーバライド信号２６０が「１」であるとき、テスト期間内のクロック・サイクルのウィンドウ選択（ストローブ・ウィンドウ）が、ＤＣクロック信号２１５に従って実行される。この場合、ＢＩＳＴエンジン１３０に提供される信号（テスト信号１２５）は、テスト期間中「１」であるが、コンパレータ１５０に提供される信号（ゲーテッド比較イネーブル信号１４５）は、ＤＣクロック信号２１５に基づいて「１」または「０」のいずれかであるように制御される。マルチプレクサ２６５によって出力されるテスト選択信号１１５ａは、テスト開始時において「１」であり、その後、ストローブ・ウィンドウに従って、「１」または「０」のいずれかである。
【００２１】
テスト開始回路１２０は、クロック・サイクル選択回路１１０ａからのテスト選択信号１１５ａ、およびストローブ・オーバライド信号２６０を受信する。テスト開始回路１２０は、ＢＩＳＴエンジン１３０に提供されるテスト信号１２５が、テストの全期間中「１」のままであることを保証する。ＡＮＤゲート２７０は、ストローブ・オーバライド信号２６０およびテスト選択信号１１５ａを受信する。したがって、ストローブがテスト期間中イネーブルであり（すなわち、ストローブ・オーバライド信号２６０が「１」であり）、かつテスト信号１２５が「１」であるときにのみ、ＡＮＤゲート２７０の出力信号２７５は、「１」である。この出力信号２７５およびテスト選択信号１１５ａが、ＯＲゲート２８０に提供される。テスト選択信号１１５ａ、出力信号２７５、またはその両方が「１」であるとき、ＯＲゲート２８０の出力２８５は、「１」になる。
【００２２】
テスト期間中、出力２８５は、「１」のままである。これは、テスト選択信号１１５ａが「１」のままである（ストローブ・オーバライド信号２６０が「０」であるとき）ためか、またはＡＮＤゲート２７０の出力信号２７５が「１」のままである（ストローブ・オーバライド信号２６０が「１」であるとき）ためかのいずれかである。テスト選択信号１１５ａについての初期値「１」は、マスタ・スレーブ構成であるラッチ２９０、２９５によって保持されるため、ストローブ・オーバライド信号２６０が「１」であるとき、ＡＮＤゲート２７０の出力信号２７５は、「１」のままである。その結果、ＡＮＤゲート２７０にフィードバックされるテスト信号１２５が、「１」となる。ストローブ・オーバライド信号２６０およびテスト信号１２５が「１」であることの結果が、ＡＮＤゲート２７０の出力信号２７５が同様に「１」となるということである。
【００２３】
ＢＩＳＴエンジン１３０が動作するとき、データは、集積回路１００のメモリ・アレイに記憶される。ＢＩＳＴエンジン１３０は、比較イネーブル信号１３５を出力する。ストローブ機能を含まない以前のシステムでは、比較イネーブル信号１３５は、コンパレータ１５０に直接提供され、クロック・サイクル毎に、ＢＩＳＴエンジン１３０によってアレイに記憶されたデータの、期待データとの比較を開始する。本発明の実施形態によれば、ＢＩＳＴエンジン１３０の比較イネーブル信号１３５は、ゲーティングされる。具体的には、テスト選択信号１１５ａおよび比較イネーブル信号１３５は、ストローブ適用ＡＮＤゲート１４０に入力される。比較イネーブル信号１３５は、常に「１」であるが、ストローブ・オーバライド信号２６０が「１」である（すなわち、ウィンドウ・ストローブがイネーブルである）ときに、テスト選択信号１１５ａは、対象であるクロック・サイクルに基づいて「１」または「０」のいずれかである。したがって、ストローブ・オーバライド信号２６０が、「１」である（すなわち、ウィンドウ・ストローブがイネーブルである）とき、コンパレータ１５０を駆動するゲーテッド比較イネーブル信号１４５は、テスト選択信号１１５ａに基づいて「１」または「０」のいずれかである。すなわち、ＤＣクロック信号２１５の値を反映するテスト選択信号１１５ａが、「１」であるときにのみ、コンパレータ１５０は、ＢＩＳＴエンジン１３０によってアレイに保存されたデータを比較する。
【００２４】
図３は、別の例示的実施形態による、オンチップ・ハードウェア制御ウィンドウ・ストローブを実行するシステムを詳細に示す。図３に示される実施形態は、図２に示される実施形態によるクロック・サイクル選択回路１１０ａと比較して簡略化されたクロック・サイクル選択回路１１０ｂを含む。テスト開始回路１２０、およびストローブ適用ＡＮＤゲート１４０の動作は、両方の実施形態について同一である。よって、これらのコンポーネントは、図３を参照して再度説明されない。テスト開始回路１２０は、ＢＩＳＴエンジン１３０に提供されるテスト信号１２５が、テストの期間中「１」であることを保証する。ストローブ・オーバライド信号２６０が「１」であり、それによって、ウィンドウ・ストローブがイネーブルであることを示すとき、ストローブ適用ＡＮＤゲート１４０は、ＢＩＳＴエンジン１３０からの比較イネーブル信号１３５にウィンドウ・ストローブを適用する。
【００２５】
図３に示されるクロック・サイクル選択回路１１０ｂは、ＡＣクロック信号２０５およびＤＣクロック信号２１５を受信しない。このように、クロック・サイクル選択回路１１０ｂは、図２に示されるエッジ検出器２１０、ＡＮＤゲート２２０、およびラッチ２４０を含まない。クロック・サイクル選択回路１１０ｂに入力される外部信号１０５ｂは、開始信号３０５およびテスタ・ピン入力３２５を含む。開始信号３０５は、オンチップ・クロック生成器３１０に提供される。開始信号３０５は、テスト期間中、「１」のままである。その結果、オンチップ・クロック生成器によって出力されるトリガ信号３１５は、ＢＩＳＴエンジン１３０によるテスト期間中、「１」のままである。図２に示されるクロック・サイクル選択回路１１０ａにおけるトリガ信号２３０と同様に、トリガ信号３１５は、マルチプレクサ３４０、立ち上がりエッジ検出器３２０、およびＡＮＤゲート３３０に提供される。ＡＮＤゲート３３０は、また、テスタ・ピン入力３２５を受信する。図２に示される実施形態におけるＤＣクロック信号２１５と同様に、テスタ・ピン入力３２５は、ストローブ制御の入力である。
【００２６】
トリガ信号３１５が最初に「１」になるときに、立ち上がりエッジ検出器３２０は、「１」を出力するが、その後、残りのテストの間、「０」のままである。立ち上がりエッジ検出器３２０が「１」を出力する初期クロック・サイクルの後、ＯＲゲート３３５の出力は、トリガ信号３１５とともにマルチプレクサ３４０に提供され、ＡＮＤゲート３３０の出力が「１」であるときにのみ、「１」である。トリガ信号３１５が「１」で保持されるため、テスタ・ピン入力３２５は、ＡＮＤゲート３３０の出力を決定する。すなわち、テスタ・ピン入力３２５が「１」であるとき、ＡＮＤゲート３３０は「１」を出力し（それによって、ＯＲゲート３３５の出力を「１」にする）、テスタ・ピン入力３２５が「０」であるとき、ＡＮＤゲート３３０は「０」を出力する（それによって、ＯＲゲート３３５の出力を「０」にする）。
【００２７】
立ち上がりエッジ検出器３２０の初期出力が、テスト開始時において「１」であるため、ＯＲゲート３３５の初期出力は、「１」である。その結果、ＢＩＳＴエンジン１３０によるテストが開始されるときに、マルチプレクサ３４０によって出力されるテスト選択信号１１５ｂは、「１」である。これは、テスタ・ピン入力３２５に関わらず、当てはまる。その後、ストローブがイネーブルである（すなわち、ストローブ・オーバライド信号２６０が「１」である）ときに、テスト選択信号１１５ｂは、テスタ・ピン入力３２５に従って、「１」または「０」のいずれかである。これは、図２に示される実施形態のように、マルチプレクサ３４０への別の入力が、ストローブ・オーバライド信号２６０であるためである。したがって、ストローブがイネーブルであるときに、図２の実施形態においてテスト選択信号１１５ａがＤＣクロック信号２１５に従うのと同じ方式で、テスト選択信号１１５ｂは、テスタ・ピン入力３２５に従う。
【００２８】
前述の通り、残りの回路は、図２におけるものと、図３の実施形態において同一である。したがって、ストローブ・オーバライド信号２６０が「０」であるとき（すなわち、ストローブが、テスト中ディセーブルであるとき）に、テスト選択信号１１５ｂの値は、テスト期間中「１」のままである。ストローブ・オーバライド信号２６０が「１」であるとき（すなわち、ストローブがイネーブルであるとき）に、テスト選択信号１１５ｂの値は、テスト選択信号１１５ｂに基づいて「０」または「１」のいずれかである。最終的に、ストローブ・オーバライド信号２６０が「１」であるとき、コンパレータ１５０を駆動するゲーテッド比較イネーブル信号１４５は、テスタ・ピン入力３２５に従う。したがって、テスタ・ピン入力３２５を制御することが、ＢＩＳＴエンジン出力データの比較が期待データと比較されるクロック・サイクルを制御することを容易にする。
【００２９】
図４は、さらなる別の例示的実施形態による、オンチップ・ハードウェア制御ウィンドウ・ストローブを実行するシステムを詳細に示す。図４に示される実施形態は、図３に示される実施形態からさらに簡略化される。具体的には、クロック・サイクル選択回路１１０ｃが、クロック・サイクル選択回路１１０ａおよび１１０ｂと比較して簡略化される。テスト開始回路１２０、およびストローブ適用ＡＮＤゲート１４０の動作は、図２および図３を参照して説明される実施形態と、ここでも同一である。よって、これらのコンポーネントは、図４を参照して再度説明されない。テスト開始回路１２０は、ＢＩＳＴエンジン１３０に提供されるテスト信号１２５が、テストの期間中「１」であることを保証する。ストローブ・オーバライド信号２６０が「１」であり、それによって、ウィンドウ・ストローブがイネーブルであることを示すとき、ストローブ適用ＡＮＤゲート１４０は、ＢＩＳＴエンジン１３０からの比較イネーブル信号１３５にウィンドウ・ストローブを適用する。
【００３０】
クロック・サイクル選択回路１１０ｃに入力される外部信号１０５ｃは、開始信号４０５およびテスタ・ピン入力４２０を含む。開始信号４０５は、オンチップ・クロック生成器４１０に提供される。開始信号４０５は、テスト期間中、「１」のままである。その結果、オンチップ・クロック生成器４１０によって提供されるトリガ信号４１５は、ＢＩＳＴエンジン１３０によるテスト期間中、「１」のままである。図４に示されるクロック・サイクル選択回路１１０ｃは、図２に示される立ち上がりエッジ検出器２３５、または図３に示される立ち上がりエッジ検出器３２０を含まない。結果として、開始信号４０５が、ＢＩＳＴエンジン１３０によるテストを開始するために「１」に遷移するときに、テスタ・ピン入力４２０は、「１」でなければならない。これは、マルチプレクサ４３０およびＡＮＤゲート４２５に提供されるトリガ信号４１５が、テスト期間中「１」のままであるとしても、マルチプレクサ４３０にも提供されるＡＮＤゲート４２５の出力は、テスタ・ピン入力４２０も「１」であるときのみ、「１」であるためである。したがって、マルチプレクサ４３０によって出力されるテスト選択信号１１５ｃが、最初に「１」の値を有するためには、テスタ・ピン入力４２０が、「１」でなければならない。
【００３１】
テストの最初のクロック・サイクルに続いて、トリガ信号４１５の値は「１」のままであるため、テスタ・ピン入力４２０は、ＡＮＤゲート４２５によって出力される値を制御することによって、ストローブを制御するように選択され得る。その結果、ストローブがイネーブルである（ストローブ・オーバライド信号２６０が「１」である）ときに、テスト選択信号１１５ｃは、テスタ・ピン入力４２０に従う。前述の通り、残りの回路は、図２および図３におけるものと、図４の実施形態において同一である。したがって、ストローブ・オーバライド信号２６０が「０」であるとき（すなわち、ストローブが、テスト中ディセーブルであるとき）に、テスト選択信号１１５ｃの値は、テスト期間中「１」のままである。ストローブ・オーバライド信号２６０が「１」であるとき（すなわち、ストローブがイネーブルであるとき）に、テスト選択信号１１５ｃの値は、テスト選択信号１１５ｃに基づいて「０」または「１」のいずれかである。最終的に、ストローブ・オーバライド信号２６０が「１」であるとき、コンパレータ１５０を駆動するゲーテッド比較イネーブル信号１４５は、テスタ・ピン入力４２０に従う。したがって、テスタ・ピン入力４２０を制御することが、ＢＩＳＴエンジン出力データの比較が期待データと比較されるクロック・サイクルを制御することを容易にする。
【００３２】
図５は、特定のクロック・サイクルを対象とし、または除外する１つまたは複数の実施形態による例示的なストローブ信号を示す。ＢＩＳＴエンジン１３０は、例示的な場合において、ＡＢＩＳＴである。したがって、ＢＩＳＴエンジン１３０によって実行される、例示的なテスト動作（ｏｐ−１からｏｐ−ｎ）は、メモリ・アレイ動作に関係する。４つの例示的なゲーテッド比較イネーブル信号１４５−Ｗ、１４５−Ｘ、１４５−Ｙ、および１４５−Ｚ（まとめて１４５と呼ばれる）が、示されている。これらのゲーテッド比較イネーブル信号１４５は、図２に示される実施形態によるＤＣクロック信号２１５、図３に示される実施形態によるテスタ・ピン入力３２５、または図４に示される実施形態によるテスタ・ピン入力４２０から生じる。
【００３３】
ゲーテッド比較イネーブル信号１４５の全てが、テスト開始の間に「１」になる。したがって、立ち上がりクロック・エッジ検出器２３５、３２０を含まない、図４に示される実施形態によるものでさえ、テスト選択信号１１５ａ、１１５ｂ、１１５ｃは、ＢＩＳＴエンジン１３０によるテストを開始するために「１」である。ゲーテッド比較イネーブル信号１４５−Ｗ、１４５−Ｘ、および１４５−Ｙは、クロック・サイクルのサブセット（および関連する動作）について選択的比較を示し、ゲーテッド比較イネーブル信号１４５−Ｚは、コンパレータ１５０による比較からクロック・サイクルのサブセット（および関連する動作）の選択除外を示す。
【００３４】
ゲーテッド比較イネーブル信号１４５−Ｗおよび１４５−Ｘは、１つのクロック・サイクルの間のみ「１」である。このようにして、特定のチェックが完成され得る。例えば、ゲーテッド比較イネーブル信号１４５−Ｗは、「ｒｅａｄ  ０」動作についてのみ「１」である。したがって、「ｒｅａｄ  ０」動作中にＢＩＳＴエンジン１３０によって記憶されたデータを期待データでチェックすることのみによって、データ＝０脆弱性（障害）のチェックが、実行され得る。ゲーテッド比較イネーブル信号１４５−Ｘは、「ｒｅａｄ  ｃｋｂ」動作の間のみ「１」である。したがって、「ｒｅａｄ  ｃｋｂ」動作中にＢＩＳＴエンジン１３０によって記憶されたデータを期待データでチェックすることのみによって、チェッカーボード脆弱性（checkerboard weakness）（障害）のチェックが、実行され得る。
【００３５】
ゲーテッド比較イネーブル信号１４５−Ｙは、１つより多くのクロック・サイクルの間、「１」である。具体的には、ゲーテッド比較イネーブル信号１４５−Ｙは、「ｒｅａｄ  ０、ｗｒｉｔｅ  １、ｒｅａｄ  １」動作について「１」である。したがって、「ｒｅａｄ  ０、ｗｒｉｔｅ  １、ｒｅａｄ  １」動作中にＢＩＳＴエンジン１３０によって記憶されたデータを期待データでチェックすることのみによって、チェックが、ダブル・アドレス・フェイル（ｗｒｉｔｅもしくはｒｅａｄ  ０、またはｒｅａｄ  １に失敗する特定のアドレスに関連するフェイル）のために実行され得る。１つまたは２つのクロック・サイクルの間にのみ「１」である、ゲーテッド比較イネーブル信号１４５−Ｗ、１４５−Ｘ、および１４５−Ｙとは異なり、ゲーテッド比較イネーブル信号１４５−Ｚは、「ｒｅａｄ  ｃｋｂ」および「ｒｅａｄ  １」動作に関連付けられたものを除いて、クロック・サイクル毎に「１」である。この種類のゲーテッド比較イネーブル信号１４５は、コンパレータ１５０によって行われる比較から既知のフェイルを除外するために使用され得る。すなわち、例えば「ｒｅａｄ  ｃｋｂ」および「ｒｅａｄ  １」動作に既知のエラーが存在した場合、既知のエラーは、コンパレータ１５０によって行われる比較の中からは明示的に除外されるため、ゲーテッド比較イネーブル信号１４５−Ｚは、コンパレータ１５０がパスを示すという結果をもたらす。
【００３６】
図６は、フェイルを検索する１つまたは複数の実施形態による例示的なストローブ信号を示す。第１のフェイルは、図６を参照して説明される例示的なテストに従って識別される。ＢＩＳＴエンジン１３０は、例示的な場合において、ＡＢＩＳＴである。したがって、ＢＩＳＴエンジン１３０によって実行される例示的なテスト動作（ｏｐ−１からｏｐ−ｎ）は、図５に示される例示的な場合のように、メモリ・アレイ動作に関係する。５つの例示的なゲーテッド比較イネーブル信号１４５−Ａ、１４５−Ｂ、１４５−Ｃ、１４５−Ｄ、および１４５−Ｅ（まとめて１４５と呼ばれる）のシーケンスが、示されている。図５を参照して述べたように、これらのゲーテッド比較イネーブル信号１４５は、図２に示される実施形態によるＤＣクロック信号２１５、図３に示される実施形態によるテスタ・ピン入力３２５、または図４に示される実施形態によるテスタ・ピン入力４２０から生じる。
【００３７】
図６に示されるゲーテッド比較イネーブル信号１４５のシーケンスは、失敗する動作を見つけるための急速な手法を容易にする。まず、ゲーテッド比較イネーブル信号１４５−Ａは、動作の第１のサブセットの結果を期待される結果と比較するために使用される。図６が示すように、この比較は、例によると「パス」の結果をもたらす。ゲーテッド比較イネーブル信号１４５−Ｂは、次いで、動作の後続のサブセットの結果を期待される結果と比較するために使用される。図６が示すように、この比較もまた、例によると「パス」の結果をもたらす。ゲーテッド比較イネーブル信号１４５−Ｃは、次いで、動作の後続のサブセット、具体的には、「ｗｒｉｔｅ  １、ｒｅａｄ  １」の結果を期待される結果と比較するために使用される。図６が示すように、この比較は、例によると「フェイル」の結果をもたらす。
【００３８】
この段階において、サブセット「ｗｒｉｔｅ  １、ｒｅａｄ  １」内の動作のうちの１つへ障害を隔離するために、動作のそれぞれの出力が、期待される結果と個別に比較される。すなわち、ゲーテッド比較イネーブル信号１４５−Ｄは、「ｗｒｉｔｅ  １」動作のみの結果の、期待される結果との比較をイネーブルにする。図６が示すように、この比較は、例によると「パス」の結果をもたらす。ゲーテッド比較イネーブル信号１４５−Ｅは、「ｒｅａｄ  １」動作のみの結果の、期待される結果との比較をイネーブルにする。図６が示すように、この比較は、例によると「フェイル」の結果をもたらす。したがって、６つのゲーテッド比較イネーブル信号１４５のセットを用いて、「ｒｅａｄ  １」動作が、最初のフェイル動作として隔離され得る。
【００３９】
図７は、１つまたは複数の実施形態による、対象とされるテストを実行する方法のプロセス・フローである。ブロック７１０において、対象の目標動作へのクロック・サイクルを計算することは、隔離または除外されるべき動作に関連付けられた１つまたは複数のクロック・サイクルを識別することを含む。例えば、図５に示されるように、「ｒｅａｄ  ０」動作に関連付けられたクロック・サイクルは、ゲーテッド比較イネーブル信号１４５−Ｗを生成するように決定される。ブロック７２０において、計算されたクロック・サイクルを隔離または除外するためのパターンを生成することは、図２に示される実施形態によるＤＣクロック信号２１５、図３に示される実施形態によるテスタ・ピン入力３２５、または図４に示される実施形態によるテスタ・ピン入力４２０として発行されるべきパターンを生成することを指す。ブロック７３０において、コンパレータ１５０がパターンによって制御されてテストを実行することは、図２に示される実施形態によるＤＣクロック信号２１５、図３に示される実施形態によるテスタ・ピン入力３２５、または図４に示される実施形態によるテスタ・ピン入力４２０として入力されるパターンが、ゲーテッド比較イネーブル信号１４５としてコンパレータ１５０に最終的に入力されるパターンであるという事実を指す。一度パターンが決定され、使用されると、パターンは、必要に応じて後続のテストのために記憶され得る。
【００４０】
図８は、１つまたは複数の実施形態による、障害識別を実行する方法のプロセス・フローである。ブロック８１０において、フェイルに関連付けられたクロック・サイクルを識別することは、図６を参照して説明されるような、テスト・シーケンスを使用して、「ｒｅａｄ  １」動作に関連付けられたクロック・サイクルを識別することを含み得る。ブロック８２０において、フェイルに既に関連付けられたクロック・サイクルを除外するパターンを生成することは、プロセスの繰り返し毎に、ブロック８１０において識別されたクロック・サイクルを除外するように、ゲーテッド比較イネーブル信号１４５を生成することを指す。前述の通り、ゲーテッド比較イネーブル信号１４５は、特定のパターンに従って生成されている、図２に示される実施形態によるＤＣクロック信号２１５、図３に示される実施形態によるテスタ・ピン入力３２５、または図４に示される実施形態によるテスタ・ピン入力４２０に基づく特定のパターンに従って生成される。ブロック８３０において、コンパレータ１５０がパターンによって制御されてテストを実行することは、コンパレータ１５０が、ゲーテッド比較イネーブル信号１４５によって定義されたパターンに従って、ＢＩＳＴエンジン１３０によって記憶された結果を期待される結果と比較することを指す。
【００４１】
ブロック８４０において、テストが、コンパレータ１５０による比較から除外されている既知のフェイルの全てに基づいてパス結果を出力するかどうかのチェックが行われる。ＢＩＳＴエンジン１３０の出力の残り（非除外部分）が、期待される結果と合致しない（すなわち、チェックの結果がいいえである）場合、プロセス８１０から８４０の別の繰り返しが実行される。ＢＩＳＴエンジン１３０の出力の残り（非除外部分）が、期待される結果と合致する（すなわち、チェックの結果がはいである）場合、プロセス８５０において、さらなるテストを実行することが、複数のオプションを指してもよい。フェイルに関連付けられたクロック・サイクルの全てを除外するパターンは、後続のテストにおける使用のために記憶され得る。代替の実施形態によれば、フェイルに関連付けられた動作のそれぞれについての比較は、例えば、テスト条件を変更することによって失敗する動作をさらに分析するために、図５を参照して説明に従って、隔離して実行され得る。
【００４２】
本明細書で使用される用語は、特定の実施形態のみを説明する目的のためであり、発明を限定することを意図するものではない。本明細書で使用される、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が明らかにそうでないことを示していない限り、複数形も同様に含むことを意図する。「ｃｏｍｐｒｉｓｅｓ（備える）」または「ｃｏｍｐｒｉｓｉｎｇ（備えている）」という用語、あるいはその両方は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、またはコンポーネントあるいはその組み合わせの存在を明示するものであって、１つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、またはそれらの集合あるいはその組み合わせの存在または追加を排除するものではないと、さらに理解されるであろう。
【００４３】
下記の特許請求の範囲における全てのミーンズプラスファンクション要素またはステッププラスファンクション要素の対応する構造、物質、行為、および均等物は、具体的に請求される他の請求された要素と組み合わせて機能を実行するための任意の構造、物質、または行為を含むことを意図するものである。本発明の説明は、例示および説明の目的で提示されているが、網羅的であるように、または開示された形態において発明を限定するように意図されない。発明の範囲および思想から逸脱することなく、多くの修正および変形が当業者には明らかであろう。発明の原理および実際の適用を最もよく説明するため、ならびに、考えられる特定の用途に適するような多様な修正を伴う多様な実施形態についての発明を他の当業者が理解できるようにするために、実施形態は選択され説明された。
【００４４】
本明細書で示されるフロー図は、単なる一例である。発明の思想から逸脱することなく、この図、またはそこで説明されるステップ（もしくは動作）に対する多くの変形が存在し得る。例えば、ステップは、異なる順序で実行されてもよく、またはステップは、追加され、削除され、もしくは修正されてもよい。これらの変形の全てが、特許請求される発明の一部と考えられる。
【００４５】
発明に対する好適な実施形態が説明されているが、当業者が、現在および将来の両方において、以下の特許請求の範囲内に入る様々な改善および拡張を行い得ると理解される。これらの特許請求の範囲は、最初に説明された発明について適切な保護を維持するように解釈されるべきである。
【００４６】
本発明の多様な実施形態の説明は、例示の目的で提示されているが、網羅的であること、または開示された実施形態に限定することを意図したものではない。説明された実施形態の範囲および思想から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実用的な適用、もしくは市場で発見される技術を超える技術的改善を最もよく説明するため、または他の当業者が本明細書で開示された実施形態を理解することを可能にするために、選択された。
【図１】
2020523575.tif 000003
【図２】
2020523575.tif 000004
【図３】
2020523575.tif 000005
【図４】
2020523575.tif 000006
【図５】
2020523575.tif 000007
【図６】
2020523575.tif 000008
【図７】
2020523575.tif 000009
【図８】
2020523575.tif 000010
【国際調査報告】
2020523575.tif 000011
2020523575.tif 000012