(57)【特許請求の範囲】
【請求項１】
集積回路（７０４）の試験応答を圧縮する方法であって、
走査チェーン（７０２）の複数の走査セルの１つからの試験値を、前記走査チェーン（７０２）のアンロード期間中に受信するステップと、
論理（７０８）により前記試験値によって少なくとも部分的に決定される少なくとも２つの中間値を生成するステップと、
前記中間値の少なくとも一部を複数のメモリ要素（７１０）にロードするステップと、
前記中間値によって少なくとも部分的に決定される１組の少なくとも２つの出力値（７１４）を生成するステップであって、少なくとも２つの出力値の前記組（７１４）は、前記中間値によって少なくとも部分的に決定されるすべての出力値（７１４）を備える、ステップと、
観測期間にわたって少なくとも２つの出力値の前記組（７１４）を出力するステップであって、前記観測期間は、少なくとも２つのクロックサイクルを備え、かつ前記アンロード期間が終了する前に終了する、ステップと、
を備える方法。
【請求項２】
請求項１に記載の方法であって、
前記試験値が、出力値の前記組（７１４）を分析することによって予測される試験値であるかを決定するステップを、
さらに備える方法。
【請求項３】
請求項１に記載の方法であって、
出力値の前記組（７１４）に基づいて、前記集積回路（７０４）においてエラー源を特定するステップを、
さらに備える方法。
【請求項４】
請求項１に記載の方法であって、未知の試験値は、前記観測期間に関連する時間中に前記論理に入力され、出力値の前記組（７１４）は、前記未知の試験値によって少なくとも部分的に影響されない、方法。
【請求項５】
請求項１に記載の方法であって、少なくとも２つの出力値の前記組（７１４）は、異なるそれぞれのメモリ要素から同時に出力される少なくとも２つの出力値を備える、方法。
【請求項６】
請求項１に記載の方法であって、前記メモリ要素（７１０）の少なくとも２つは、無フィードバック論理により接続される、方法。
【請求項７】
請求項１に記載の方法であって、前記複数のメモリ要素（７１０）は、１つまたは複数のレジスタを少なくとも部分的に備える、方法。
【請求項８】
請求項１に記載の方法であって、前記少なくとも２つの出力値（７１４）を生成するステップが、前記メモリ要素（７１０）を経て前記中間値の少なくともいくつかを連続的にシフトさせるステップを備える、方法。
【請求項９】
請求項１に記載の方法であって、前記観測期間は、前記アンロード期間の２分の１より短い、方法。
【請求項１０】
請求項１に記載の方法であって、前記観測期間は、前記アンロード期間の１００分の１より短い、方法。
【請求項１１】
請求項１に記載の方法を複数の前記試験値について反復するステップを備える、集積回路（７０４）を試験する方法。
【請求項１２】
請求項１に記載の方法が、複数の試験値について同時に実施されるステップを備える、集積回路（７０４）を試験する方法であって、前記論理は、１、２、または奇数のエラーマスキングを排除するように構成される、集積回路を試験する方法。
【請求項１３】
請求項１に記載の方法が複数の試験値について同時に実施され、
前記出力値が前記試験値における１、２、または奇数のエラーを示す方法。
【請求項１４】
コンピュータシステムに、
走査チェーンを有する回路の回路設計データを受信するステップと、
請求項１に記載の方法を実施するように構成され且つ前記走査チェーンに結合されるコンパクタ（７０６）の設計データを含むよう前記回路設計データを更新するステップと、
前記更新された回路設計データを記憶するステップと
を含む方法を実行させるコンピュータ実行可能命令を記憶するコンピュータ可読媒体。
【請求項１５】
走査チェーンを有する回路の回路設計データを受信し、請求項１に記載の方法を実施するように構成され且つ前記走査チェーンに結合されるコンパクタ（７０６）の設計データを含むよう前記回路設計データを更新するコンピュータシステムにより生成される更新された回路設計データを記憶するコンピュータ可読媒体。
【請求項１６】
集積回路の試験応答を圧縮する方法であって、該方法は、
試験値を、組合せ論理を備えるネットワークに入力するステップであって、前記試験値は、アンロード期間中に走査チェーンの複数の走査セルの１つから入力される、ステップと、
前記試験値を、前記ネットワークの少なくとも２つのファンアウトにより拡張させるステップと、
前記拡張された試験値から２つ以上の中間値を生成するステップと、
前記中間値を複数のメモリ要素にロードするステップと、
少なくとも２つのクロックサイクルの観測期間にわたって、前記複数のメモリ要素から２つ以上の出力値を出力するステップと、
を備え、
前記出力値は、前記中間値および前記試験値によって少なくとも部分的に決定され、出力値の数は、前記ファンアウトの数に等しい、方法。
【請求項１７】
請求項１６に記載の方法であって、前記ファンアウトは、有効なファンアウトである、方法。
【請求項１８】
請求項１６に記載の方法であって、前記ファンアウトの数は、奇数である、方法。
【請求項１９】
請求項１８に記載の方法であって、前記ファンアウトの数は、３、５、または７である
、方法。
【請求項２０】
請求項１６に記載の方法であって、前記観測期間は、前記アンロード期間が終了する前に終了する、方法。
【請求項２１】
請求項１６に記載の方法を実施するように構成されるコンパクタを備える集積回路。
【請求項２２】
コンピュータシステムに、請求項１６に記載の方法を実施するように構成されるコンパクタを設計させるコンピュータ実行可能命令を記憶するコンピュータ可読媒体。
【請求項２３】
請求項１６に記載の方法を実施するように構成されるコンパクタの設計情報を含む設計データベースを記憶するコンピュータ可読媒体。
【請求項２４】
集積回路を試験する方法であって、
試験中回路の走査チェーンにおいて、試験パターンに応答する回路に関連する複数の試験値を捕獲するステップと、
前記試験値を前記走査チェーンからコンパクタにクロックするステップと、
前記コンパクタにおいて２つ以上の出力値の複数の組を生成するステップであって、各組が、それぞれの試験値によって少なくとも部分的に決定される前記コンパクタにおいて生成されるすべての値を備える、ステップと、
前記走査チェーンにおいて捕獲された前記試験値のすべてが、前記コンパクタにクロックされる前に、少なくとも２つのクロックサイクルにわたって、前記コンパクタから前記組の少なくとも１つを、出力するステップと、
を備える方法。
【請求項２５】
請求項２４に記載の方法であって、２つ以上の出力値の前記複数の組を生成するステップは、
論理（７０８）により中間値を生成するステップと、
前記中間値を複数のメモリ要素にロードするステップと、
を備える、方法。
【請求項２６】
請求項２５に記載の方法であって、前記複数のメモリ要素は、無フィードバック論理によって少なくとも部分的に結合される、方法。
【請求項２７】
請求項２４に記載の方法であって、
前記出力値に基づいて、前記走査チェーンにおいてエラー源を特定するステップを、
さらに備える方法。
【請求項２８】
請求項２４に記載の方法であって、
２つ以上の出力値の前記組を使用して、前記試験値において故障を診断するステップを、
さらに備える方法。
【請求項２９】
請求項２４に記載の方法を実施するように構成されるコンパクタを備える集積回路。
【請求項３０】
コンピュータシステムに、請求項２４に記載の方法を実施するように構成されるコンパクタを設計させるコンピュータ実行可能命令を記憶するコンピュータ可読媒体。
【請求項３１】
請求項２４に記載の方法を実施するように構成されるコンパクタの設計情報を含む設計データベースを記憶するコンピュータ可読媒体。
【請求項３２】
試験中回路の試験応答を圧縮する方法であって、
試験応答の第１部分および前記試験応答の第２部分を、組合せ論理を備えるネットワークに注入するステップと、
前記ネットワークにおいて、第１組の２つ以上の１次中間値を第１組のネットワーク出力に論理的に生成するステップであって、前記第１組の１次中間値は、前記試験応答の前記第１部分によって少なくとも部分的に決定される、ステップと、
前記ネットワークにおいて、第２組の２つ以上の１次中間値をネットワーク出力の第２組に論理的に生成するステップであって、前記第２組の１次中間値は、前記試験応答の前記第２部分によって少なくとも部分的に決定され、前記第２組のネットワーク出力は、前記第１組のネットワーク出力と互いに排他的である少なくとも１つのネットワーク出力を有する、ステップと、
第１組の２次中間値を生成するために、前記第１組の１次中間値を以前に記憶された値の第１組と少なくとも部分的に組み合わせるステップと、
第２組の２次中間値を生成するために、前記第２組の１次中間値を以前に記憶された値の第２組と少なくとも部分的に組み合わせるステップと、
前記第１組の２次中間値を、前記第１組のネットワーク出力に結合された第１組のメモリ要素にロードするステップと、
前記第２組の２次中間値を、前記第２組のネットワーク出力に結合された第２組のメモリ要素であって、前記第１組のメモリ要素に対してシフトされていないメモリ要素の組を備える第２組のメモリ要素に、ロードするステップと、
を備える方法。
【請求項３３】
請求項３２に記載の方法であって、
前記試験応答の前記第１部分は、第１試験値であり、前記試験応答の前記第２部分は、第２試験値であり、該方法は、
前記第１試験値に関連付けられる第１組の出力値および前記第２試験値に関連付けられる第２組の出力値を生成するために、前記メモリ要素をクロックするステップを、
さらに備え、
前記第２組の出力値は、前記第１組の出力値から常に区別可能である、方法。
【請求項３４】
請求項３３に記載の方法であって、前記第１組の出力値は、第１観測期間中に、前記メモリ要素からクロックアウトされ、前記第２組の出力値は、第２観測期間中に、前記メモリ要素からクロックアウトされ、前記第１観測期間は、前記第２観測期間とは異なる時間に終了する、方法。
【請求項３５】
請求項３３に記載の方法であって、前記第１組の出力値は、第１観測期間中に、前記メモリ要素からクロックアウトされ、前記第２組の出力値は、第２観測期間中に、前記メモリ要素からクロックアウトされ、前記第１観測期間は、前記第２観測期間の前に開始され、かつ前記第２観測期間の後に終了する、方法。
【請求項３６】
請求項３３に記載の方法であって、前記第１試験値および前記第２試験値は、エラー値である、方法。
【請求項３７】
請求項３３に記載の方法であって、前記第１試験値および前記第２試験値の一方は、未知の値である、方法。
【請求項３８】
請求項３２に記載の方法であって、前記メモリ要素の少なくともいくつかは、無フィードバック論理により直列に接続される、方法。
【請求項３９】
請求項３２の前記方法を実施するように構成されるコンパクタを備える集積回路。
【請求項４０】
コンピュータシステムに、請求項３２に記載の方法を実施するように構成されるコンパクタを設計させるコンピュータ実行可能命令を記憶するコンピュータ読取り可能媒体。
【請求項４１】
請求項３２に記載の方法を実施するように構成されるコンパクタの設計情報を含む設計データベースを記憶するコンピュータ読取り可能媒体。
【請求項４２】
集積回路の試験応答を圧縮する装置であって、該装置は、
複数のメモリ要素と、
組合せ論理を備える注入装置ネットワークであって、注入装置ネットワーク出力および注入装置ネットワーク入力を有する注入装置ネットワークと、
を備え、
各注入装置ネットワーク出力は、前記メモリ要素のそれぞれの１つに結合され、
各注入装置ネットワーク入力は、それぞれの注入装置多項式に従って、２つ以上の注入装置ネットワーク出力に論理的に結合され、前記それぞれの注入装置多項式は、前記メモリ要素における１、２、および奇数のエラーマスキングを防止するように選択される、装置。
【請求項４３】
請求項４２に記載の装置であって、前記メモリ要素の２つ以上は、無フィードバック論理により直列にさらに結合される、装置。
【請求項４４】
請求項４３に記載の装置であって、前記無フィードバック論理は、前記２つ以上のメモリ要素からの直列シフト値を、前記注入装置ネットワーク出力からのそれぞれの値と組み合わせる、装置。
【請求項４５】
請求項４２に記載の装置であって、前記２つ以上のメモリ要素は、単一クロックサイクルにおいて注入された試験値に関連付けられる一連の出力値を出力し、前記一連の出力値は、固定されたクロックサイクルの期間にわたって出力される、装置。
【請求項４６】
請求項４２に記載の装置であって、前記複数のメモリ要素は、少なくとも１つのフィードバックループを含む論理により互いに直列に接続される、装置。
【請求項４７】
請求項４２に記載の装置であって、前記複数のメモリ要素は、複数入力シグネチャレジスタ（ＭＩＳＲ）を形成する、装置。
【請求項４８】
請求項４７に記載の装置であって、前記注入装置ネットワークは、前記ＭＩＳＲにおいてＭＩＳＲの消去を防止する、装置。
【請求項４９】
請求項４２に記載の装置であって、
前記注入装置ネットワーク入力と走査チェーン出力との間に結合されたバイパスネットワークを、
さらに備える装置。
【請求項５０】
請求項４２に記載の装置であって、該装置は、
前記注入装置ネットワーク入力と走査チェーン出力との間に結合された選択装置回路を、
さらに備え、
前記選択装置回路は、前記走査チェーン出力の１つまたは複数をマスクするように動作可能である、装置。
【請求項５１】
請求項４２に記載の装置であって、
少なくとも１つの走査チェーンと前記注入装置ネットワーク入力の２つ以上との間に結合された少なくとも１つの直列入力並列出力レジスタを、
さらに備える装置。
【請求項５２】
請求項４２に記載の装置であって、
前記注入装置ネットワーク入力の１つまたは複数に結合された複数の出力を有する少なくとも１つの走査チェーンを、
さらに備える装置。
【請求項５３】
請求項４２に記載の装置であって、
前記複数のメモリ要素から出力された出力値を診断する手段を、
さらに備える装置。
【請求項５４】
コンピュータシステムに、請求項４２に記載の装置を設計させるコンピュータ実行可能命令を記憶するコンピュータ可読媒体。
【請求項５５】
請求項４２に記載の装置の設計情報を含む設計データベースを記憶するコンピュータ可読媒体。
【請求項５６】
デジタル回路の試験応答を圧縮する装置であって、該装置は、
複数のメモリ要素と、
組合せ論理を備える注入装置ネットワークであって、注入装置ネットワーク出力および注入装置ネットワーク入力を有する注入装置ネットワークと、
を備え、
各注入装置ネットワーク出力は、前記メモリ要素のそれぞれの１つに結合され、
各注入装置ネットワーク入力は、それぞれの注入装置多項式に従って、２つ以上の注入装置ネットワーク出力に論理的に結合され、前記それぞれの注入装置多項式は、前記メモリ要素において未知の値のマスキングを防止するように選択される、装置。
【請求項５７】
請求項５６に記載の装置であって、前記それぞれの注入装置多項式はさらに、前記メモリ要素において、１、２、および奇数のエラーマスキングを防止するように構成される、装置。
【請求項５８】
請求項５６に記載の装置であって、
前記複数のメモリ要素から出力される出力値を診断する手段を、
さらに備える装置。
【請求項５９】
集積回路（７０４）の試験応答を圧縮する装置であって、
走査チェーン（７０２）の複数の走査セルの１つからの試験値を、前記走査チェーン（７０２）のアンロード期間中に受信する手段と、
論理（７０８）により前記試験値によって少なくとも部分的に決定される少なくとも２つの中間値を生成する手段と、
前記中間値の少なくとも一部を複数のメモリ要素（７１０）にロードする手段と、
前記中間値によって少なくとも部分的に決定される１組の少なくとも２つの出力値を生成する手段であって、少なくとも２つの出力値の前記組（７１４）は、前記中間値によって少なくとも部分的に決定されるすべての出力値（７１４）を備える、手段と、
観測期間にわたって、少なくとも２つの出力値の前記組（７１４）を出力する手段であって、前記観測期間は、少なくとも２つのクロックサイクルを備え、かつ前記アンロード期間が終了
する前に終了する、手段と、
を備える装置。
【請求項６０】
請求項５９に記載の装置であって、
前記試験値が、出力値の前記組を分析することによって予測される試験値であるかを決定する手段をさらに備える装置。
【請求項６１】
請求項５９に記載の装置であって、
出力値の前記組に基づいて、前記集積回路においてエラー源を特定する手段をさらに備える装置。
【請求項６２】
請求項５９に記載の装置であって、
前記走査チェーンの前記アンロード期間中に１つ以上の他の試験値をマスクする手段をさらに備える装置。
【請求項６３】
請求項５９に記載の装置であって、
前記走査チェーンと試験値を受信する前記手段との間に結合される少なくとも１つの直列入力並列出力レジスタ（１９０６）をさらに備える装置。
【請求項６４】
請求項５９に記載の装置であって、
走査チェーンの複数の走査セルの１つからの試験値を前記走査チェーンのアンロード期間中に受信する前記手段は、前記走査チェーンの出力に結合される注入装置ネットワーク入力を含み、
論理により前記試験値によって少なくとも部分的に決定される少なくとも２つの中間値を生成する前記手段は注入装置ネットワーク（７０８）を含み、前記注入装置ネットワークは、前記注入装置ネットワーク入力、組合せ論理及び２つ以上の注入装置ネットワーク出力（７１２）を含み、前記注入装置ネットワーク入力は、それぞれの注入装置多項式に従って前記組合せ論理を介して前記注入装置ネットワーク出力（７１２）へ論理的に結合され、
前記中間値によって少なくとも部分的に決定される１組の少なくとも２つの出力値を生成する前記手段は、複数のメモリ要素（７１０）を含み、
前記中間値の少なくとも一部を前記複数のメモリ要素（７１０）にロードする前記手段は、前記メモリ要素の入力に結合される論理ゲートを含み、
観測期間にわたって少なくとも２つの出力値の前記組を出力する前記手段は、前記メモリ要素が２つ以上のクロックサイクルにわたって前記試験値に関連付けられる出力値の組を出力するよう、連続的に結合される２つ以上の前記メモリ要素を含む装置。
【請求項６５】
請求項６４に記載の装置であって、
前記試験値は走査チェーンアンロード期間中に前記注入装置ネットワーク（７０８）に注入され、前記試験値に関連付けられる前記観測期間は前記アンロード期間が終了する前に終了する装置。
【請求項６６】
請求項６４に記載の装置であって、
前記それぞれの注入装置多項式は、前記メモリ要素（７１０）における１、２、および奇数のエラーマスキングを防止するように選択される装置。
【請求項６７】
請求項６４に記載の装置であって、
前記それぞれの注入装置多項式は前記メモリ要素（７１０）における未知の値のマスキングを防止するように選択される装置。
【請求項６８】
請求項６４に記載の装置であって、
前記２つ以上のメモリ要素（７１０）は無フィードバック論理によって連続的に結合される装置。
【請求項６９】
請求項６８に記載の装置であって、
前記無フィードバック論理は、前記２つ以上のメモリ要素（７１０）からの連続的にシフトされた値を前記注入装置ネットワーク出力（７１２）からのそれぞれの値と結合する装置。
【請求項７０】
請求項６４に記載の装置であって、
前記装置はコンパクションモード及びＭＩＳＲモードで動作可能であり、前記メモリ要素（７１０）は前記コンパクションモード中に無フィードバック論理によって連続的に結合され、前記ＭＩＳＲモード中にフィードバックループによって複数入力シグネチャレジスタへと構成される装置。
【請求項７１】
請求項６４に記載の装置であって、
前記注入装置ネットワーク入力と走査チェーン出力との間に結合されるバイパスネットワークをさらに備える装置。
【請求項７２】
請求項６４に記載の装置であって、
前記注入装置ネットワーク入力と走査チェーン出力との間に結合される選択装置回路（１６０８）をさらに備え、前記選択装置回路（１６０８）は１つ以上の前記走査チェーン出力をマスクするよう動作可能である装置。
【請求項７３】
請求項６４に記載の装置であって、
少なくとも１つの走査チェーン（７０２）と２つ以上の前記注入装置ネットワーク入力との間に結合される少なくとも１つの直列入力並列出力レジスタ（１９０６）をさらに備える装置。
【請求項７４】
請求項６４に記載の装置であって、
１つ以上の前記注入装置ネットワーク入力に結合される複数の出力を有する少なくとも１つの走査チェーン（７０２）をさらに備える装置。
【請求項７５】
請求項６４に記載の装置であって、
前記複数のメモリ要素（７１０）から出力される出力値を診断する手段をさらに備える装置。
【請求項７６】
請求項５９に記載の装置（７０６）を備える集積回路（７００）。
【請求項７７】
請求項１５に記載のコンピュータ可読媒体であって、
前記更新された回路設計データがネットリストであるコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２００３年２月１３日に出願された米国仮特許出願第６０／４４７，６３７号明細書の利益を主張し、かつ２００３年９月２６日に出願された米国仮特許出願第６０／５０６，４９９号明細書の利益を主張する。両方とも、参照によって本明細書に組み込まれている。
【０００２】
（技術分野）
本発明は、一般に、集積回路の試験に関し、より具体的には、試験中回路からの試験データの圧縮に関する。
【背景技術】
【０００３】
集積回路が、よりいっそう高いレベルの回路密度で生産されるようになるにつれ、高い故障カバレージを保証し、一方、試験コストおよびチップエリアオーバーヘッドを最小限に抑える効率的な試験方式が、必須となった。チップの上に配置することができるトランジスタの数は、ムーアの法則によって予測されるように、ほぼ１８カ月ごとに２倍になっている。そのような大量の複雑なチップを試験するために必要とされるデータ量は、さらにより迅速に増大している。実際には、非常に大きな集積回路では、試験コストが、設計コストに近付いている（また、さらには超える可能性がある）。試験データの量の迅速な増大に対処するために、いくつかの圧縮方式が開発されてきた。
【０００４】
多くの集積回路は、構造化試験容易化設計（「ＤＦＴ」、ｄｅｓｉｇｎ−ｆｏｒ−ｔｅｓｔａｂｉｌｉｔｙ）の技法を使用して試験される。これは、いくつかまたはすべての状態変数（たとえば、フリップフロップおよびラッチなどのメモリ要素）を直接制御可能および観測可能とする一般的な概念を使用する。回路は、組合せ故障の試験に関する限り、組合せネットワークまたはほぼ組合せのネットワークとして扱われることが好ましい。最もしばしば使用されるＤＦＴ法は、試験中、すべて（またはほとんどすべて）のメモリ要素が、「走査チェーン」と呼ばれる１つまたは複数のシフトレジスタに接続されることを想定する。たとえば、米国特許第４，５０３，５３７号明細書を参照されたい。
【０００５】
走査チェーンを試験に使用する回路は、通常、標準モードおよび試験（または走査）モードの２つの基本的な動作モードを有する。標準モードでは、メモリ要素は、正規の機能を実施する。走査モードでは、メモリ要素は、いくつかの走査チェーンを形成するように接続される走査セルとなる。これらの走査チェーンを使用して、１組の試験パターンを回路内にシフトさせ、さらに、回路（または試験）応答を試験パターンにシフトさせる。次いで、試験応答を無故障応答と比較して、試験中回路（「ＣＵＴ」、ｃｉｒｃｕｉｔ−ｕｎｄｅｒ−ｔｅｓｔ）が適切に機能するかを判定する。
【０００６】
走査設計方法は、簡単な自動試験パターン生成（「ＡＴＰＧ」、ａｕｔｏｍａｔｉｃ  ｔｅｓｔ  ｐａｔｔｅｒｎ  ｇｅｎｅｒａｔｉｏｎ）およびケイ素デバッギング能力により広く使用されている。現在、ＡＴＰＧソフトウェアツールは、非常に効率的なので、縮退故障および遷移故障を含めて、いくつかのタイプの故障モデルのほぼ完全な故障カバレージを保証する試験の組（試験パターンの集合体）を生成することが可能である。また、経路遅延故障および架橋故障など、他の故障モデルも対象にすることが可能である。通常、回路における特定の潜在的な故障が、ＡＴＰＧツールによって対象とされるとき、特定の故障を検出するために、ごく少数の走査セル（たとえば、２〜５％）を特定するだけでよい。これらの走査セルは、「決定論的特定セル」と呼ばれる。次いで、「無作為特定セル」と呼ばれる無作為２進数値で、走査チェーンの残りの走査セルを埋めることができる。これにより、完全に特定され、追加の故障を検出する可能性がより高く、かつ試験装置に記憶することができるセルとなる。
【０００７】
図１は、デジタル回路を走査チェーンで試験するための従来のシステム１００のブロック図である。この図および他の図において、十字が内接する円１１２によって２入力ＸＯＲゲートを表す。通常の走査モード中、外部自動試験機器（「ＡＴＥ」、ａｕｔｏｍａｔｉｃ  ｔｅｓｔ  ｅｑｕｉｐｍｅｎｔ）または試験装置１０２が、１組の完全特定試験パターン１０４を回路内の走査チェーン１０８を介してＣＵＴ１０６に適用する。走査チェーン１０８に試験パターン１０４をロードした後、ＣＵＴ１０６は、試験パターンを入力値に使用して、標準モードで実行される。ＣＵＴ１０６は、指定時間期間（たとえば、１クロックサイクル）の間実行することが可能であり、その後、試験パターンに対する試験応答は、走査チェーン１０８に記憶される。回路が再び走査モードになるので、試験応答は、再び試験装置１０２に経路指定され、試験装置１０２は、捕獲した試験応答を無故障基準応答１１０と比較する。この手法の著しい限定は、大量のメモリを必要とする高価な試験装置、および複雑な回路を試験する長い試験時間を必要とすることである。たとえば、試験データの量は、大規模設計では、単一論理ゲートあたり１キロバイトを超えることがあることが報告されている。必要とされる多数の試験パターンを記憶することが困難であり、かつ試験の適用自体に過度に時間がかかるので、この方法を使用して大規模回路を試験することは望ましくない。
【０００８】
これらの時間および記憶の限定は、図２に示す組込み型自己試験（「ＢＩＳＴ」、ｂｕｌｔ−ｉｎ  ｓｅｌｆ−ｔｅｓｔ）フレームワークを使用することによって、ある程度まで克服することができる。ＢＩＳＴでは、試験パターンを生成し、試験応答を評価し、および試験を制御するために、追加のオンチップ回路が含まれる。たとえば、決定論的試験パターンを記憶する代わりに、擬似無作為パターン生成装置２００（「ＰＲＰＧ」、ｐｓｅｕｄｏ−ｒａｎｄｏｍ  ｐａｔｔｅｒｎ  ｇｅｎｅｒａｔｏｒ）を使用して、試験パターンを生成する。さらに、複数入力シグネチャレジスタ（「ＭＩＳＲ」、ｍｕｌｔｉｐｌｅ  ｉｎｐｕｔ  ｓｉｇｎａｔｕｒｅ  ｒｅｇｉｓｔｅｒ）２０２を使用して、試験応答から結果的なシグネチャを生成し、記憶することができる。図５に示すようなＭＩＳＲは、データを圧縮し、走査チェーン入力５０２およびフィードバック５０４、５０６に基づいてシグネチャを生成する。
【０００９】
ＣＵＴにおいて大量の試験データを処理する必要があるので、走査チェーンからの試験応答を圧縮するために、コンパクタ（ｃｏｍｐａｃｔｏｒ）がしばしば使用される。これにより、回路が欠陥を有するかの判定、および発見されるあらゆる問題の特定が非常に簡単になる。現在利用可能な試験応答コンパクション方式は、以下の２つのクラスにグループ分けすることができる：（１）無限入力応答コンパクション方式（「時間コンパクタ」）としても既知である）、および（２）空間コンパクション方式（「空間コンパクタ」または「線形コンパクタ」としても既知である）。
【００１０】
時間コンパクタは、通常、試験の結果を表すシグネチャを記憶するメモリ要素を備えるフィードバック構造を有する。シグネチャが完成した後、シグネチャを読み取り、無故障シグネチャと比較して、エラーが試験中回路に存在するかを判定する。時間コンパクタは、多項式除算、カウントに基づく技法、および検査合計に基づく方法を使用することが可能であり、通常、ＢＩＳＴの応用分野において使用される。実際のコンパクションは、通常、線形フィードバックシフトレジスタ（「ＬＦＳＲ」、ｌｉｎｅａｒ  ｆｅｅｄｂａｃｋ  ｓｈｉｆｔ  ｒｅｇｉｓｔｅｒ）、ＭＩＳＲ、またはセルラ自動装置など、線形有限状態機械によって実施される。これらの方式は、ギガビットの試験応答データを、通常３２ビット長、６４ビット長、または１２８ビット長である小さいシグネチャにコンパクト化することができ、それにより、１０６と１０８との間のコンパクション比を達成する。これは可能であるが、その理由は、エラーは、このタイプのコンパクタに注入された後は、そのエラーを他のグループのエラーがエイリアシング（ａｌｉａｓｉｎｇ）のまれな場合に消去するまで、存在し続けるからである。無限入力応答コンパクション方式は、いくつかの欠点を提示する。具体的には、このタイプのコンパクション方式は、試験応答のあらゆる未知状態に対処することができない。これらのシステムは、すべて、フィードバックを含むので、未知状態は、コンパクタがリセットされるまで、コンパクタにおいて永続的に循環する。したがって、数サイクル後には、すべての状態が未知となることがあり得、それにより、試験シグネチャは破損され、試験は無用になる。故障診断も、事前コンパクト化応答への直接アクセスを有する複数のパスを必要とするので、より複雑になる。
【００１１】
ＬＦＳＲは、中でも、集積回路において使用される最も一般的な時間コンパクタである。ＬＦＳＲは、擬似無作為試験シーケンスを生成する。基本形態では、ＬＦＳＲ（図３に示す）は、多項式除算器として作用するために、外部入力を受け取るように修正される。代替実施態様を図４に示す。多項式によってあらわす入力シーケンスは、ＬＦＳＲの特徴的な多項式によって除算される。除算が進行するにつれ、商シーケンスが、ＬＦＳＲの出力において生じ、残りは、ＬＦＳＲに維持される。試験が完了した後、ＬＦＳＲの内容は、シグネチャとして扱うことができる。
【００１２】
図５は、他の時間コンパクタを示す（ＬＦＳＲに基づくコンパクタの自然な拡張である）。これは、複数入力ＬＦＳＲと呼ばれ、複数入力シグネチャレジスタまたはＭＩＳＲとしても既知である。ＭＩＳＲを使用して、図５に示す複数走査チェーン環境において回路を試験することが可能である。ＭＩＳＲは、ＣＵＴ走査チェーン出力およびシフトレジスタのフリップフロップに結合されるいくつかのＸＯＲゲートを装備する。
【００１３】
コンパクション方式においてメモリ要素を使用する時間コンパクタとは対照的に、空間コンパクタは、ＸＯＲネットワークから主に構築される組合せ回路を備える。ＸＯＲネットワークは、ｎ＜ｍとして、ＣＵＴのｍの１次出力からｎの試験出力を生成するように構成される。空間コンパクタは、通常、時間コンパクタより小さいコンパクション比を提供するが、回路を修正せずに、試験応答におけるいくつかの未知状態に対処することができる。空間コンパクタと時間コンパクタとの他の相違は、空間コンパクタの出力値が、コンパクタへの唯一の入力の変化に付随して変化し、時間コンパクタにおける圧縮後には検出不可能である単独のエラーを検出可能とすることである。時間コンパクタでは、入力値の変化は、圧縮によってあいまいになる可能性があり、したがって、コンパクタの出力において検出されないことになる。しかし、空間コンパクタでも、エラーをマスクすることがある。たとえば、空間コンパクタにおいて通常使用されるＸＯＲ（パリティ）ツリーの１つの基本的な特徴は、入力におけるエラーのあらゆる奇数の組合せが出力に伝播するが、エラーのあらゆる偶数の組合せは、検出されないままであるということである。たとえば、空間コンパクタが２つのエラーを同時に読み取るとき、複数のエラーは、故障回路の圧縮シグネチャが無故障回路のシグネチャを模倣するように、互いを消去する可能性がある。この現象は、第１エラー状態値が第２エラー状態値を消去することを含むので、「エラーマスキング」または「エイリアシング」として既知である。エイリアシングは、出現の可能性の観点からしばしば測定される。
【００１４】
空間コンパクタは、ＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、およびＮＯＲゲートなどの基本的なゲートを備える多重化パリティツリーまたは非線形ツリーに基づいて、米国特許第５，７９０，５６２号明細書において示されているように、エイリアシング現象を低減するために、所与のＣＵＴに特化させることができる。図６は、修正された空間コンパクタの一例を示す。具体的には、図６は、ＸＯＲゲートのステージを分離するフリップフロップのバンクを含むパイプライン化空間コンパクタを示す。クロック（図示せず）が、フリップフロップを制御し、圧縮出力を読み取る前に１サイクル遅延を可能にする。Ｘコンパクト方式として既知の他の空間圧縮技法が、最近提案された。Ｓ．ＭｉｔｒａおよびＫ．Ｓ．Ｋｉｍの「Ｘ−Ｃｏｍｐａｃｔ：Ａｎ  Ｅｆｆｉｃｉｅｎｔ  Ｒｅｓｐｏｎｓｅ  Ｃｏｍｐａｃｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｔｅｓｔ  Ｃｏｓｔ  Ｒｅｄｕｃｔｉｏｎ」、Ｐｒｏｃ．ＩＴＣ、３１１〜３２０ページ（２００２年１０月）を参照されたい。いわゆる「Ｘコンパクタ」は、メモリおよびフィードバックを有さないと理解される。したがって、Ｘコンパクタの出力は、現行Ｘコンパクタ入力を表し、出力に存在するあらゆるエラーは、単一クロックサイクル後、クロックアウトされる。しかし、以下でより完全に説明するように、Ｘコンパクト方式において実現することができるコンパクションの量は、コンパクタの出力数によって厳しく限定される。
【００１５】
上述した空間コンパクタのいずれかでは、未知状態の存在は、精確なエラー検出にとって問題となることがある。たとえば、ＸＯＲツリーの１つまたは複数の入力における未知状態が、出力において未知の値を生成し、その結果、他の入力においてあらゆる故障の伝播をマスクする。したがって、Ｘコンパクタおよび図６のコンパクタなどの空間コンパクタの１つの限定は、未知状態が故障カバレージを低減することがあることである。さらに、図３、４、および５に示したような時間コンパクタは、あらゆる入力における未知状態が、コンパクタによって生成される圧縮出力を破損させることがあるので、未知状態に対処する能力が制約される。さらに、エラーが集積回路内において検出された場合、空間コンパクタおよび時間コンパクタの両方とも、故障を特定する限定された能力を有する。
【発明の開示】
【課題を解決するための手段】
【００１６】
（概要）
本開示は、デジタル回路の試験結果を圧縮するコンパクタの実施形態、およびそのような実施形態を動作ならびに設計する方法について記述する。開示するコンパクタは、たとえば、走査に基づく設計の一部として使用することができる。開示するコンパクタのいずれも、電子設計自動化（「ＥＤＡ」、ｅｌｅｃｔｒｏｎｉｃ−ｄｅｓｉｇｎ−ａｕｔｏｍａｔｉｏｎ）ソフトウェアツールなど、コンピュータ実行アプリケーションにおいて設計、シミュレーション、および／または検査することができる。同様に、開示する設計または診断方法のいずれも、コンピュータ実行アプリケーションにおいて実施および／またはシミュレーションすることができる。
【００１７】
開示する技術を使用して試験中回路（「ＣＵＴ」）を試験する方法の様々な実施形態について記述する。たとえば、一実施形態では、ＣＵＴから１組の試験応答値が提供される。この試験応答値の組は、複数のＳ試験応答値を備える。Ｓ試験応答値は、複数のＶ拡張試験値に拡張され、ＶはＳより大きい。Ｔ１次中間値が、Ｖ拡張値の少なくともいくつかから生成される。Ｕ２次中間値が、Ｔ１次中間値の少なくとも一部を以前に記憶された中間値と組み合わせることによって生成される。Ｕ２次中間値の少なくとも１つが、１つまたは複数のクロックサイクルの間記憶される。Ｕ２次中間値によって少なくとも部分的に決定されるＢ出力値が、２つ以上のクロックサイクルの観測期間中に出力される。観測期間におけるＢ出力値は、試験応答値の組に存在する１、２、および奇数のエラーを表す。
【００１８】
他の例示的な実施形態では、集積回路の試験応答を圧縮する方法が提供される。この実施形態では、試験値が、走査チェーンのアンロード期間中に、走査チェーンの複数の走査セルの１つから入力される。試験値によって少なくとも部分的に決定される少なくとも２つの中間値がロジックによって生成される。決定値の少なくとも一部分が複数のメモリ要素にロードされる。中間値によって少なくとも部分的に決定される１組の少なくとも２つの出力値が生成される。少なくとも２つの出力値の組は、中間値によって少なくとも部分的に決定されるすべての出力値を備える。少なくとも２つの出力値の組は、観測期間にわたって出力される。この実施形態では、観測期間は、少なくとも２つのクロックサイクルを備え、アンロード期間が終了する前に終了する。
【００１９】
集積回路の試験応答を圧縮する他の方法が、他の例示的な実施形態において提供される。この実施形態では、試験値が、アンロード期間中に走査チェーンの複数の走査セルの１つから、組合せ論理を備えるネットワークに入力される。試験値は、組合せ論理を備えるネットワークの少なくとも２つのファンアウト（ｆａｎ−ｏｕｔ）により拡張される。２つ以上の中間値が、拡張試験値から生成される。中間値は、複数のメモリ要素にロードされる。２つ以上の出力値が、少なくとも２つのクロックサイクルの観測期間にわたって、複数のメモリ要素から出力される。出力値は、試験値によって少なくとも部分的に決定され、この実施形態では、出力値の数は、ファンアウトの数に等しい。
【００２０】
集積回路を試験する方法の他の例示的な実施形態では、複数の試験値が、試験中回路の走査チェーンにおいて捕獲される（試験値は、試験パターンに応答する回路に関連する）。試験値は、走査チェーンからコンパクタ内にクロックされる。２つ以上の出力値の組が、コンパクタにおいて生成される。各組は、コンパクタにおいて生成され、かつそれぞれの試験値によって少なくとも部分的に決定されるすべての値を備える。組の少なくとも１つは、走査チェーンにおいて捕獲された試験値のすべてがコンパクタ内にクロックされる前に、少なくとも２つのクロックサイクルにわたってコンパクタから出力される。
【００２１】
試験応答を圧縮する方法の他の実施形態では、試験応答の第１部分および試験応答の第２部分が、組合せ論理を備えるネットワークに注入される。第１組の２つ以上の１次中間値が、ネットワークにおいて第１組のネットワーク出力に論理的に生成される。第１組の１次中間値は、試験応答の第１部分によって少なくとも部分的に決定される。第２組の２つ以上の１次中間値も、ネットワークにおいて第２組のネットワーク出力に生成される。同様に、第２組の１次中間値は、試験応答の第２部分によって少なくとも部分的に決定される。第２組のネットワーク出力は、第１組のネットワーク出力と互いに排他的である少なくとも１つのネットワーク出力を有することを特徴とする。第１組の１次中間値は、第１組の２次中間値を生成するように、以前に記憶された値の第１組と少なくとも部分的に組み合わされる。同様に、第２組の１次中間値は、第２組の２次中間値を生成するように、以前に記憶された値の第２組と少なくとも部分的に組み合わされる。第１組の２次中間値は、第１組のネットワーク出力に結合された第１組のメモリ要素にロードされ、第２組の２次中間値は、第２組のネットワーク出力に結合された第２組のメモリ要素にロードされる。この実施形態では、第２組のメモリ要素は、第１組のメモリ要素に対してシフトしていない１組のメモリ要素を備える。
【００２２】
集積回路の試験応答を圧縮する様々な装置も開示する。たとえば、１つの例示的な実施形態によれば、装置は、複数のメモリ要素、および組合せ論理を備える注入装置ネットワークを備える。注入装置ネットワークは、注入装置ネットワーク出力および注入装置ネットワーク入力を含む。各注入装置ネットワーク出力は、メモリ要素のそれぞれに結合され、各注入装置ネットワーク入力は、それぞれの注入装置多項式に従って、２つ以上の注入装置ネットワーク出力に論理的に結合される。この実施形態では、それぞれの注入装置多項式は、メモリ要素において１、２、および奇数のエラーマスキングを防止するように選択される。他の実施形態では、それぞれの注入装置多項式は、メモリ要素において未知の値のマスキングを防止するように選択される。
【００２３】
開示するコンパクタの実施形態を設計する方法も記述する。たとえば、コンパクタを設計する１つの例示的な方法によれば、試験中回路に関する設計データが入力される。設計データは、試験中回路における走査チェーン出力の数を備える。試験中回路の走査チェーン出力をコンパクタの複数のメモリ要素に接続する少なくとも２つの注入装置多項式が生成される。少なくとも２つの注入装置多項式は、複数のメモリ要素において、１、２、および奇数のエラーマスキングを防止するように構成される。この実施形態では、複数のメモリ要素は、無フィードバックネットワークによって共に結合される。多項式の少なくとも１つが選択される。
【００２４】
試験応答を圧縮するコンパクタを設計する方法の他の例示的な実施形態では、走査チェーンの出力をコンパクタにおける複数のメモリ要素の組合せに結合するために、非マスキングパターンを表す妥当多項式のリストが生成される。多項式の１つが、妥当多項式のリストから選択される。選択された多項式は、ＸＯＲ演算またはＸＮＯＲ演算を使用して、２つ以上の以前に選択された多項式と論理的に組み合わされる。この演算は、選択多項式をマスクする禁止多項式を決定する。禁止多項式は、妥当多項式のリストから除外される。
【００２５】
開示する実施形態のいずれかのコンパクタは、少なくとも１つのフィードバックループを形成するメモリ要素を有することができる。開示するコンパクタのいずれも、複数入力シグネチャレジスタ（「ＭＩＳＲ」）、走査チェーン出力に結合されたバイパスネットワーク、走査チェーン出力の１つまたは複数の選択マスキングを可能にする（および、走査アドレス・レジスタまたはカウンタをさらに含み、かつ部分走査モードで動作することができる）選択回路をさらに備えることができる。開示するコンパクタのいずれも、直列入力並行出力レジスタもしくは他のタイプのレジスタを介して、走査チェーンまたは他の試験応答出力に結合することができ、または、走査チェーン内の複数の走査セルに結合することができる。
【００２６】
開示する実施形態のいずれも、コンピュータ可読媒体に記憶されたコンピュータ実行可能命令でプログラムされるコンピュータによって実施することが可能である。これらの実施形態では、コンピュータ実行可能命令により、コンピュータは、開示する実施形態のいずれかを実施、設計、またはシミュレーションする。さらに、開示する実施形態のいずれかを使用して、コンピュータ可読媒体に記憶されている回路設計情報を更新または修正することができる。したがって、本明細書において記述する開示されるコンパクタを含む回路設計を記憶する修正設計データベースも開示する。開示する実施形態のいずれかをネットワークを介して実施、設計、またはシミュレーションすることができる。開示する方法のいずれかを実施するように構成された集積回路も開示する。
【００２７】
開示する実施形態の以上および追加の特徴および利点は、以下の図面を参照して進行する以下の詳細な記述からより明らかになるであろう。
【発明を実施するための最良の形態】
【００２８】
以下において、決して限定的に構築されるべきではないコンパクタの代表的な実施形態およびそのような実施形態を使用ならびに設計する方法を開示する。代わりに、本開示は、単独および互いの様々な組合せならびに準組合せの状態にある様々な開示される装置および方法の新規で非自明の特徴および態様を対象とする。本発明は、あらゆる特定の態様または特徴もしくはその組合せに限定されず、また、開示する方法および装置は、いずれか１つまたは複数の特定の利点が提示され、あるいは問題が解決されることを必要としない。
【００２９】
開示する方法および装置のいくつかの動作について、提示に好都合であるように特定の連続的な順序で記述するが、この記述の方式は、以下で記述する特有の言葉によって特定の順序が必要とされない限り、再構成を包含することを理解されたい。たとえば、順次記述する動作は、いくつかの場合、再構成する、または同時に実施することが可能である。さらに、簡略化のために、添付の図面は、開示する方法および装置を他の方法および装置と関連して使用することができる様々な方式を示さないことがある。さらに、記述は、開示する方法を記述するために、「決定する」および「評価する」という用語を使うことがある。これらの用語は、実施される実際の動作を高レベルに要約したものである。これらの用語に対応する実際の動作は、特定の実施態様に応じて変化し、当業者なら容易に区別可能である。
【００３０】
開示するコンパクタの実施形態は、走査に基づく試験を使用する広範な集積回路において実施することができる（たとえば、特定用途向け集積回路（ＡＳＩＣ）（混合信号ＡＳＩＣを含む）、システムオンチップ（ＳｏＣ）、またはフィールドプログラム可能ゲートアレイ（ＦＰＧＡ）などのプログラム可能論理装置（ＰＬＤ））。
【００３１】
本明細書において記述する装置のいずれも、コンピュータ可読媒体に記憶されたコンピュータ実行可能命令を備えるソフトウェアを使用して設計、検査、および／またはシミュレーションすることができる。そのようなソフトウェアは、たとえば、設計、検査、またはシミュレーションのツールなど、電子設計自動（ＥＤＡ）ソフトウェアツールを備えることができる。同様に、本明細書において記述する方法のいずれも（たとえば、故障診断方法または多項式選択方法）、コンピュータ可読媒体に記憶されたコンピュータ実行可能命令を備えるソフトウェアを使用して実施することができる。あらゆるそのようなソフトウェアは、単一コンピュータ上またはネットワークコンピュータ上で実行することができる（たとえば、インターネット、ワイドエリアネットワーク、ローカルエリアネットワーク、クライアントサーバネットワーク、または他のそのようなネットワークを介して）。明瞭化のために、ソフトウェアに基づく実施態様のある選択された態様のみを記述する。当技術分野において周知の他の詳細については省略する。たとえば、開示する技術は、あらゆる特定のコンピュータ言語、プログラム、またはコンピュータに限定されないことを理解されたい。同じ理由で、コンピュータハードウェアについては、さらに詳細には記述しない。
【００３２】
さらに、開示する装置のいずれも、回路設計情報としてコンピュータ可読媒体に記憶することができる。たとえば、開示するコンパクタのいずれかの設計情報を含むように、設計情報を含むデータベース（たとえば、ネットリストまたはＨＤＬデータベース）を創出または更新することができる。同様に、開示する故障診断手続きのいずれかからの結果を含むデータベースを創出または更新して、コンピュータ可読媒体に記憶することができる。そのようなデータベースは、ローカルコンピュータにおいて、またはネットワーク上で、創出または更新することができる（たとえば、サーバコンピュータによって）。
【００３３】
（開示するコンパクタの例示的な実施形態の一般的なアーキテクチャ）
このセクションでは、開示するコンパクタの代表的な実施形態を導入する。これらの実施形態は、決して限定的に構築されるべきではなく、開示するアーキテクチャで実現することができる特徴のいくつかを示す。
【００３４】
図７は、開示するコンパクタの代表的な実施形態を使用する集積回路７００を示す。集積回路７００は、たとえば複数走査チェーン７０２を有する試験中回路（「ＣＵＴ」）７０４を含む。４つの走査チェーンのみが図７に示されているが、ＣＵＴ７０４は、任意の数の走査チェーンを含むことができる。コンパクタ７０６が、走査チェーン７０２の出力に結合され、注入装置ネットワーク７０８、メモリ要素７１０、および少なくとも１つのコンパクタ出力７１４を備える。試験パターンが、ＡＴＥまたは擬似無作為パターン生成装置（「ＰＲＰＧ」）などの試験パターン源（図示せず）から走査チェーン７０２にロードされる。ＣＵＴ７０４の標準動作モード中、試験パターンは、ＣＵＴ７０４のコア論理に送り込まれ、試験応答が、走査チェーン７０２のメモリ要素において捕獲される。試験応答は、ＣＵＴ７０４のコア論理の故障またはエラーに関連する情報を含む。次いで、これらの試験応答は、走査チェーン７０２の外部にロードされ、コンパクタ７０６によって圧縮される。この開示の目的では、「試験応答」という用語は、ＣＵＴ７０４の走査チェーンのメモリ要素において捕獲される試験パターンに対する回路応答全体を指す。「試験値」または「試験応答値」という用語は、試験パターンに応答して走査チェーンの単一メモリ要素（または走査セル）によって捕獲される単一の値を指す。最後に、「１組の試験値」は、１クロックサイクルにおいて走査チェーンの外部にシフトされる複数の試験値を指す。
【００３５】
試験応答値は、たとえば、走査チェーンのメモリ要素が初期化されていないときなどに生じることがある未知状態（本明細書では「Ｘ状態」と呼ぶことがある）を含むことができる。コンパクタ７０６の動作中、走査チェーン７０２の出力からの試験応答が、注入装置ネットワーク７０８の入力に注入され（提供され、そうでない場合は送達され）、そこで、試験応答は処理され、他の値と組み合わされて中間値を形成する。この中間値は、注入装置ネットワーク出力７１２において注入装置ネットワーク７０８から出力される。注入装置ネットワーク７０８によって創出された中間値は、メモリ要素７１０に入力される。以下でより完全に記述するように、メモリ要素７１０は、様々なメモリ装置のいずれかを備えることができ（たとえば、エッジトリガ・フリップフロップ、マスタスレーブ・フリップフロップ、ラッチ、またはあらゆる他のそのような適切な順次装置もしくはクロック装置）、いくつかの実施形態では、様々な組合せまたは準組合せにおいて互いに結合して、１つまたは複数のレジスタを形成することが可能である。メモリ要素は、少なくとも１つのコンパクタ出力７１４を生成するようにクロックされる（たとえば、いくつかの実施形態では、連続的にシフトされる）。
【００３６】
図８は、例示的なコンパクタの１つの形態をより詳細に示す。具体的には、図８は、直接経路８０４〜８０６およびＸＯＲゲートを含む経路８０７〜８１２を介してメモリ要素８１４に結合された出力を有する注入装置ネットワーク８００を示す。図示した実施形態のメモリ要素は、論理ゲート８１６の無フィードバックネットワークによって直列に接続される。図示した実施形態では、論理ゲート８１６はＸＯＲゲートであるが、ＸＮＯＲゲートまたは論理ゲートのある他の組合せを備えることもできる。直列接続メモリ要素は、少なくとも１つの関連するコンパクタ出力８２０を生成する。
【００３７】
図９は、コンパクタの開示する実施形態において使用することができる注入装置ネットワーク９００の例示的な実施形態を示す。例示的な注入装置ネットワーク９００は、各走査チェーン出力９２８（図９では走査チェーン出力「１〜１６」と名称付けされている）が、複数のメモリ要素９０２（図９ではメモリ要素「Ｍ１〜Ｍ６」と名称付けされている）に結合されるように構成される。図示した実施形態では、メモリ要素９０２は、２つのレジスタ９０４、９０６を備える。具体的には、メモリ要素Ｍ１〜Ｍ３は、第１レジスタ９０４を形成し、メモリ要素Ｍ４〜Ｍ６は、第２レジスタ９０６を形成する。しかし、この構成は、限定的ではなく、メモリ要素９０２は、長さが異なるレジスタを形成する、またはレジスタをまったく形成しないように構成することができる。レジスタ９０４、９０６は、コンパクタ出力９１０、９１２をそれぞれ有する。
【００３８】
図示した実施形態では、注入装置ネットワーク９００は、格子（本明細書では「空間時間」格子と呼ぶことがある）を備え、この格子は、走査チェーン出力９２８から出力された試験値をメモリ要素９０２内に分配する。図９では、たとえば、各走査チェーン出力９２８は、注入装置ネットワーク９００を介して３つのメモリ要素９０２に結合され、したがって、３つのファンアウトを有すると言うことができる（走査チェーン出力は、いくつかの実施形態では、他の構成要素にファンアウトすることが可能であることに留意されたい）。図９からわかるように、注入装置ネットワーク９００は、走査チェーン出力９２８をメモリ要素９０２と結合する複数のゲート９２０および接合部９２１を含む。注入装置ネットワーク９００は、いくつかの実施形態では、様々な追加の構成要素を含むことが可能である。たとえば、注入装置ネットワーク９００は、試験応答値のパイプライン構造を創出するために使用されるメモリ要素の１つまたは複数のバンクを含むことが可能である。ゲート９２０は、２入力ＸＯＲゲート、ＸＮＯＲゲート、またはあらゆる他の適切な論理ゲートを備えることが可能である。各ゲート９２０または接合部９２１は、ｍをメモリ要素、ｓを特定のゲートまたは接合部を経て指定されたメモリ要素に接続された走査チェーンとして、（ｍ，ｓ）と名称付けすることができる。したがって、たとえば、走査チェーン出力「１５」（矢印９２２によって示す）は、接合部（Ｍ１，１５）およびゲート（Ｍ３，１５）ならびに（Ｍ６，１５）を介して、メモリ要素Ｍ１、Ｍ３、およびＭ６に結合される。同様に、走査チェーン出力「２」（矢印９２４によって示す）は、ゲート（Ｍ１，２）、（Ｍ２，２）、および（Ｍ３，２）を介して、メモリ要素Ｍ１、Ｍ２、Ｍ３に結合される。さらに、図９に示したように、ある走査チェーン出力９２８が同じメモリ要素に結合されるので、所与の走査チェーン出力９２８からそれぞれのメモリ要素への経路は、いくつかのゲート９２０を含む可能性がある。たとえば、走査チェーン出力「２」が、２つのゲート（Ｍ１，２）および（Ｍ１，１）を介してメモリ要素Ｍ１に結合される。さらに、注入装置ネットワーク９００の出力９３０を、ゲート９１４を介してレジスタ９０４、９０６のメモリ要素９０２に結合することができる。図９では、たとえば、例示的なゲート９１４は、メモリ要素９０２を互いに直列に結合し、かつ注入ネットワーク出力９３０と結合する２入力ＸＯＲゲートである。
【００３９】
図２６は、例示的なコンパクタの動作を示すフローチャート２６００である。プロセス・ブロック２６０２において、試験応答値が、上述した注入装置ネットワーク９００など、組合せ論理を備えるネットワークに提供される。たとえば、ＣＵＴの走査チェーンをクロックして（たとえば、単一クロックサイクルにわたって）、１組の試験応答値をネットワークに提供することができる。試験応答値は、代替として、ある他の適切な機構を介してネットワークに提供することができる（たとえば、走査チェーン出力から試験応答値をロードしたレジスタから、（順次または並行して）、その値をネットワークに提供する）。
【００４０】
プロセス・ブロック２６０４において、試験応答値は、複数の拡張試験値に拡張される。たとえば、図９に示した実施形態では、走査チェーン出力９２８によって提供された試験値は、ネットワーク９００に入力され、そこで、試験値は、それぞれの走査チェーン出力９２８に結合されたゲート９２０によって、複数の値（本明細書では「拡張値」または「拡張試験値」と呼ばれる）に拡張される。ある実施形態では、拡張値の数は、走査チェーン出力の数より大きいことが望ましい。
【００４１】
プロセス・ブロック２６０６において、拡張値の少なくともいくつかは、ゲート９２０を介して他の拡張値と組み合わされて、注入装置ネットワーク出力９３０において中間値を形成する。注入装置ネットワーク出力９３０において出現する中間値は、本明細書では、「１次中間値」と呼ぶことがある。
【００４２】
プロセス・ブロック２６０８において、注入装置ネットワーク出力からの１次中間値の一部は、以前に記憶された中間値とゲート９１４を介して組み合わされ、たとえば、それにより、新しい中間値を形成する。新しい中間値は、以前に記憶された値とゲート９１４を介して組み合わされていないあらゆる１次中間値と共に、「２次中間値」と集団的に呼ぶことができる（１次中間値および２次中間値は、「中間値」と集団的に呼ばれることがあることに留意されたい）。
【００４３】
プロセス・ブロック２６１０において、２次中間値は、次のクロックサイクル中にメモリ要素にロードされる。メモリ要素および走査チェーンは、各クロックサイクルが、試験値の新しい組を注入装置ネットワークに導入し、一方、以前に記憶された中間値を、メモリ要素を経てコンパクタ出力に同時に進行させるように、共にクロックされる（いくつかの実施形態では、レジスタ９０４、９０６の最終メモリ要素（図９では、たとえば、メモリ要素Ｍ１およびＭ４）は、所望の機能を失わずに、コンパクタ９００から取り外すことが可能であることに留意されたい。これらの実施形態では、２次中間値の一部のみが、メモリ要素にロードされる）。
【００４４】
図９から一般的にわかるように、注入装置ネットワーク９００は、試験応答値の所与の組に対応する中間値をメモリ要素９０２に送達し、それにより、試験値の組によって少なくとも部分的に決定されるすべての情報は、あるクロックサイクル期間にコンパクタがクロックされるまで、図示したコンパクタの実施形態から出力されない。特定の試験応答値に関連する情報を出力するのに必要なクロックサイクルの期間は、本明細書では、試験値の「観測期間」または「観測窓」と呼ぶことがある。図９に示した特定の実施形態では、たとえば、走査チェーン９２４（走査チェーン「２」）からの試験応答値の観測期間は３であり、一方、走査チェーン９２５（走査チェーン「１」）からの試験応答値の観測期間は２である。その結果、コンパクタによって生成され、かつ特定の試験応答値に関連する出力値の組は、固定長を有する（たとえば、直列結合されたメモリ要素の数に応じて）。ある実施形態では、出力値の組は、少なくとも２の固定長を有することが望ましい。すなわち、観測期間は、少なくとも２クロックサイクルである。
【００４５】
コンパクタの動作中、試験応答値に関連する観測期間は、通常、走査チェーンが特定の試験応答のアンロードを終了する前に、コンパクタからクロックアウトされる。すなわち、多くの試験応答値では、対応する試験応答値に関連する観測期間は、走査チェーンのアンロード期間が終了する前に終了する。さらに、注入装置ネットワークがコンパクタのメモリ要素をロードすることができる様々な方式のために、１つの試験応答値に関連する観測期間は、２つの試験応答値が同じクロックサイクル中にコンパクタに注入される場合でも、他の試験応答値の観測期間とは異なる時間に開始および終了することができる。
【００４６】
プロセス・ブロック２６１２において、出力値の組は、コンパクタからクロックアウトされる。プロセス・ブロック２６１６において、出力値を分析し、ＣＵＴの診断が実施される。たとえば、１組の出力値を分析して、出力値の組が出力値の予測される組を備えるかを判定することができる。分析が、エラーがＣＵＴに生じたことを示す場合、プロセス・ブロック２６１４において出力値をさらに分析して、ＣＵＴにおけるエラーの位置を決定することができる。たとえば、あるエラーでは、エラーを捕獲する走査セルの精確な位置は、出力値の組から決定することができる。開示するコンパクタのアーキテクチャを使用してエラーを診断する方法の例示的な実施形態について以下で記述する。
【００４７】
コンパクタのある実施形態では、注入装置ネットワークのアーキテクチャは、改善エラー予測特性を生成するように構成される。たとえば、以下でより完全に記述するように、注入装置ネットワークは、これ以後、１、２、または奇数のエラーのマスキングを防止し、かつ所与の観測期間中にコンパクタに入力される単一の未知状態に対処するように構成することができる。したがって、たとえば、そのようなコンパクタから生成される出力値の組は、１つもしくは２つの他のエラーまたは単一の未知状態が、単一エラーと同時に、または単一エラーに関連する観測期間中に入力された場合でも、単一エラーの存在を明らかにする。図１０および１１は、これらの改善結果を生成するように注入装置ネットワークを構成または設計する方式の一例を示す。具体的には、図１０は、注入装置ネットワーク１０００の一部を示し、第１走査チェーン出力（「１」と名称付けされている）は、試験応答値をメモリ要素１０１０に送達するためのゲート１０３０の固定構成１０２０を有する。図１０では、メモリ要素１０１０は、コンパクタの出力１００２、１００４において出力値を生成する２つの直列レジスタ１００６、１００８を備える（それぞれ、レジスタ「ｘ」および「ｙ」と名称付けされている）。図１０は、ネットワーク１０００のゲート１０３０について、２つの候補ゲート構成１０２２Ａ、１０２２Ｂ（「それぞれ２（候補Ａ）」および「２（候補Ｂ）」と名称付けされている）を有する２次走査チェーン出力（「２」）をも示す。ゲート１０３０がそれぞれの走査チェーン出力から試験応答値を分配する方式を記述するために、多項式用語を使用することができる。すなわち、試験応答値を走査チェーン出力から注入装置ネットワークに分配する各ゲート構成は、多項式として表すことができ、この場合、多項式の累乗は、ゲートに結合されたコンパクタのメモリ要素を指す。たとえば、図１０を参照すると、ゲート構成１０２０は、Ｐ１＝ｘ０＋ｘ１＋ｙ０と書くことができ、ゲート構成１０２２Ａは、ＰＡ＝ｘ１＋ｘ２＋ｙ１と書くことができ、ゲート構成１０２２Ｂは、ＰＢ＝ｘ２＋ｙ０＋ｙ２と書くことができる。
【００４８】
図１１は、図示したコンパクタの観測期間にわたる図１０のゲート構成からの出力を示すブロック図である。具体的には、出力１００２（「Ｏ１」）および１００４（「Ｏ２」）における３つの例示的なクロックサイクル（「Ｃ１」、「Ｃ２」、および「Ｃ３」）が、ゲート構成のそれぞれについて示されている。ダイアグラム１０００では、指標１１１０を使用して、出力１００２、１００４が、特定のクロックサイクル中にそれぞれのゲート構成によって少なくとも部分的に決定される値を含むかを示す。たとえば、ゲート構成１０２０は、観測窓１１０２において示されるパターンを生成する。より具体的には、ゲート構成ｘ０＋ｘ１＋ｙ０は、Ｃ１中の出力Ｏ１およびＯ２、Ｃ２中の出力Ｏ２の値に寄与し、Ｃ３中の出力には寄与しない。
【００４９】
ゲート構成１０２２Ａ（すなわち、ＰＡ＝ｘ１＋ｘ２＋ｙ１）の出力は、観測窓１１０４において示され、ゲート構成１０２２Ｂ（すなわち、ＰＢ＝ｘ２＋ｙ０＋ｙ２）では、観測窓１１０６において示される。観測窓１１０４からわかるように、ゲート構成１０２２Ａの結果的な出力は、窓１１０２においてゲート構成１０２０によって生成される出力のシフトバージョンである。その結果、エラーが、第１クロックサイクルにおいて走査チェーン２に注入され、他のエラーが、次のクロックサイクル中に走査チェーン１に注入された場合、どちらのエラーも出力１００２、１００４において観測可能ではないように、エラーは互いを完全にマスクする。したがって、ゲート構成１０２２Ａでは、単一観測サイクル内に注入された２つのエラーが、互いを完全にマスクする可能性が存在する。対照的に、ゲート構成１０２２Ｂは、窓１１０６において表示される出力を有し、ゲート構成１０２０によって生成される出力と同一またはそのシフトバージョンである出力を生成しない。したがって、ゲート構成１０２２Ｂは、２つのエラーが走査チェーン１および２から同時に注入される場合でも、ゲート構成１０２０によって生成される出力をマスクすることができない。したがって、ゲート構成１０２２Ｂは、これ以後、１、２、および奇数のエラーのマスキングを防止する（互いを消去するようにそれぞれと組み合わせることができるのは偶数のエラーだけなので、奇数のエラーが観測可能であることに留意されたい）。候補Ｂによって例示したゲート構成の他の特性は、関連する観測窓中にネットワークに注入された単一の未知（またはＸ）状態は、走査チェーン１０２０から注入されたエラーシンドロームを完全にはマスクできないことである。このタイプのゲート構成の他の特性は、あらゆる単一エラーをコンパクタの出力上において一意に識別することができることであるが、Ｘ状態が、関連する観測窓中に同じ出力に伝播しないことを条件とする。したがって、エラー源（すなわち、走査チェーンの欠陥走査セル）を特定することができる。以下でより完全に議論する１つの例示的な設計方法によれば、コンパクタの注入装置ネットワークは、候補Ｂの特性を有する多項式で構成される。
【００５０】
この開示の目的では、（１）それぞれの観測窓中に挿入された１、２、および奇数のエラーのマスキングをこれ以後防止し、（２）それぞれの観測窓に挿入された試験応答の単一未知状態に対処することができ、（３）未知状態がそれぞれの観測窓中に挿入されていないとき、欠陥走査セルの診断を可能にする注入装置ネットワークのゲート構成をもたらす多項式は、「妥当」多項式と呼ばれる。そのような多項式は、本明細書では、「ｋ／Ｍ」多項式とも呼ばれる。ｋは、各走査チェーン出力（すなわち有効なファンアウト）によって駆動されるメモリ要素の数、Ｍは、コンパクタにおけるメモリ要素の数である（「レジスタサイズ」と呼ぶことがある）。
【００５１】
一般に、コンパクタの開示する実施形態は、非常にスケーラブルであり、たとえば唯一のコンパクタ出力を有するコンパクタ設計を含めて、あらゆる数の出力について、任意のコンパクション比を支持することができる。メモリ要素Ｍの数、および走査チェーン出力をコンパクタのメモリ要素と結合する方式を示す多項式は、開示するコンパクタの特性のいくつかを決定する。たとえば、コンパクタの出力の数ｂ、メモリ要素の数Ｍ、および各走査チェーンによって駆動されるメモリ要素の数ｋが与えられたとき、開示するコンパクタのいずれかと結合することができる走査チェーンの最大数Ｓは、以下のように表すことができる。
【００５２】
【数１】
0004791954.tif 000002
【００５３】
式（１）は、代替として、以下のように書くことができる。
【００５４】
【数２】
0004791954.tif 000003
【００５５】
以下の表１（ａ）および１（ｂ）は、３／Ｍ多項式ならびに５／Ｍ多項式；１、２、４、８、および１６のコンパクタ出力；および最高で３２のメモリ要素を有する例示的なコンパクタについて、上記の式から得られる数値データを提供する。
【００５６】
【表１−Ａ】
0004791954.tif 000004
【００５７】
【表１−Ｂ】
0004791954.tif 000005
【００５８】
表２は、Ｘコンパクト方式において可能な観測可能なチェーンの数を、１６および３２のメモリ要素をそれぞれ有し、かつ５から１４のコンパクタ出力の範囲を有する開示するコンパクタの例示的な実施形態と比較する。
【００５９】
【表２】
0004791954.tif 000006
【００６０】
表２は、開示するコンパクタの実施形態の１つにおいて使用されるメモリ要素の数が、観測可能な走査チェーンの最大数にどのような影響を与えることがあるかを示す。たとえば、８つの出力を有するコンパクタは、Ｘコンパクト方式では、せいぜい５６の走査チェーンしか観測することができず、その結果、最大コンパクションは７×になる。３／１６多項式（すなわち、ｋ＝３およびＭ＝１６の妥当ｋ／Ｍ多項式）を有する開示するコンパクタの実施形態は、１６のメモリ要素を使用するとき、最高で５０４の走査チェーンを観測することができ、３２のメモリ要素を使用するとき、２９３６の走査チェーンを観測することができる。対応するコンパクション比は、それぞれ、６３×および３６７×である。したがって、開示するコンパクタ方式は、広範なモジュラ設計に十分に適している。たとえば、各ブロックは、ごく小数の出力を有するが、非常に高いコンパクション比を有する別々のコンパクタを所有することができる。
【００６１】
上記で留意したように、コンパクタのメモリ要素に結合されるＣＵＴの各走査チェーン出力には、いくつかの候補多項式が存在する可能性がある。しかし、これらの多項式のいくつかのみが、上記で留意した所望の結果をもたらす。したがって、ある実施形態では、注入装置ネットワークは、各走査チェーン出力が、妥当ｋ／Ｍ多項式を使用してコンパクタのメモリ要素に結合されるように構成される。しかしある他の実施形態では、注入装置ネットワークは、妥当多項式の様々な組合せまたは準組合せを含むように構成される。他の実施形態では、注入装置ネットワークは、コンパクタが隣接走査セルから注入されたバーストエラーに効率的に対処することができるように、十分に間隔をおいて位置するタップを有する多項式を使用する。その結果、コンパクタは、欠陥走査セルのサイトを特定するために使用することができる望ましい診断能力を提供することが可能である。
【００６２】
開示するコンパクタを設計および構成するために、様々な異なる方法を使用することができる。たとえば、１つの手法では、走査チェーン出力の数と比較して多数のメモリ要素を有するように、コンパクタの実施形態を選択する（すなわち、表１に示した、または式（１）および（２）によって予測される数より大きい）。この手法では、様々な妥当多項式が、各走査チェーン出力について存在する。多項式を様々な候補多項式から選択する方式も、異なることがある。たとえば、注入装置ネットワークについて適切な多項式を選択する１つの例示的な方法を図２５に示す。図２５に示した方法２５００は、選択走査チェーン出力を開示するコンパクタの実施形態のメモリ要素に結合するために実施することができる。プロセス・ブロック２５０２において、少なくとも２つの候補多項式が、選択走査チェーン出力について生成される。候補多項式は、ある所定のパターンに従って（たとえば、多項式のそれぞれの累乗の値を順次進める）、または無作為に生成することができる。候補多項式は、候補のどれもが、他の走査チェーン出力についてすでに選択された多項式を備えないように生成されることが望ましい。プロセス・ブロック２５０４において、多項式の１つが、無作為に選択される。多項式を無作為に選択することによって、結果的な注入装置ネットワークは、より均衡され、複数のエラーがネットワークに導入されるとき、より良好なエラーの分配に備え、それにより、２より大きい偶数のエラーがマスクされる可能性を低減する。次いで、他の走査チェーン出力について方法２５００を繰り返すことができ、走査チェーン出力は、ある所定のパターン（たとえば順次）に従って、または無作為に選択することができる。このようにして、全コンパクタについて妥当多項式を選択することができる。
【００６３】
図２５の方法は、他の望ましいエラー検出特性を生成するようにさらに修正することができる。たとえば、図２７は、単一クロックサイクルに４エラーマスキングがないことを保証するように、注入装置ネットワークを構成する方法２７００を示す。プロセス・ブロック２７０２において、適格な多項式のリストが生成される。適格な多項式は、所与の数のメモリ要素Ｍおよびファンアウトｋについて、すべての妥当なｋ／Ｍ多項式、またはそのような多項式の部分組を備えることができる。たとえば、コンパクタに結合されるｎの走査チェーン出力を有するＣＵＴでは、リストは、すべての妥当多項式の組から無作為に選択されたｎの妥当多項式を含むことができる。プロセス・ブロック２７０４において、リストからの多項式の１つを、候補多項式ｐとして無作為に選択する。プロセス・ブロック２７０６において、候補多項式ｐは、和ｓ
【００６４】
【数３】
0004791954.tif 000007
【００６５】
を得るように、すでに承認されている多項式ｑおよびｒの対とビット単位で組み合わされる（承認すべき初めの２つの多項式は、無作為に選択して、第１の和ｓを形成するように組み合わせることができることに留意されたい）。ある実施形態では、和ｓは、承認多項式の各対ｑおよびｒについて決定される。プロセス・ブロック２７０８において、プロセス・ブロック２７０６において決定された各和ｓについて、和ｓに等しいリストにおけるあらゆる多項式が禁止多項式と見なされ、リストから除外されるが、その理由は、それを使用することにより、４エラーマスキングとなることがあるからである。プロセス・ブロック２７１０において示すように、方法２６００は、コンパクタを実施するのに十分な多項式が承認されるまで、必要に応じて繰り返すことができる。コンパクタを構成するのに十分な数の多項式を有するように、必要に応じて追加の適格な多項式をリストに追加することができる。多項式ｋ／Ｍのシフトバージョンを使用しない単一出力コンパクタでは、この例示的な手法は、特に効率的な性能を提供するが、その理由は、多項式ｓをリスト上で特定するのに必要とする時間が一定であるからである。実際、連続整数とＭ要素の組から選択された辞書編集的に生成されたｋ要素シーケンスとの間には、簡単なマッピングが存在し、そのようなマッピングをここで使用することができる。
【００６６】
以下に示す表３は、Ｍのメモリ要素を有する開示するコンパクタの単一出力実施形態について、入力のほぼ最大数を列挙する。これらの数は、いくつかのタイプの擬似無作為数生成装置を使用して経験的に得られた。
【００６７】
【表３】
0004791954.tif 000008
【００６８】
図２７に示す方法２７００において４エラーマスキングを排除するために使用される基本的な方法を使用して、他の数のエラーマスキング（たとえば、６エラーマスキング、８エラーマスキングなど）を排除するコンパクタを構成することができる。たとえば、方法２７００は、そのような結果を達成するように、より大きなビット単位の和で実施することができる。
【００６９】
（Ｘ状態のない場合における開示するコンパクタの例示的な実施形態のエラーマスキング特性）
このセクションでは、妥当ｋ／Ｍ多項式（上記で議論した）で設計された開示するコンパクタの例示的な実施形態のマスキング特性について分析する。このセクションの目的では、未知またはＸの状態は存在せず、かつコンパクタは、４エラー以上のマスキングを排除するように構成されなかったと想定する。さらに、各ｋ／Ｍ多項式は、同じ奇数の項（すなわち、３、５、７、．．．）を有すると想定するが、コンパクタは、このように限定される必要はない。ｋ／Ｍ多項式を有するこれらの例示的なコンパクタの１つの特徴は、すべての走査チェーンがＸ状態のない応答を生成することを条件として、これ以後、１、２、またはあらゆる奇数の走査チェーン出力からエラーを検出することができることである。さらに、該当する観測窓内において、エラーを同時にまたは異なるシフトサイクルで注入することができる。
【００７０】
ｋ／Ｍ多項式は、多項式の同一バージョンまたはシフトバージョンがコンパクタ出力において生成されないように選択されることが望ましいので、コンパクタに注入されるエラーは、所与の観測窓において同じまたは後のサイクルにおいて注入される他の単一エラーによって消去することができない。たとえば、ｋが３である例示的なコンパクタでは、２つのエラーが、レジスタにおいてエラーシンドロームを残すことがあり、このエラーシンドロームは、当初のエラーが観測窓の２つの位置において重複する場合は２ビットのコンパクタ出力、１つの位置において重複する場合は４ビット、またはあらゆる位置において重複しない場合は６ビットとして出現する。走査チェーンから注入された第３エラーが、１、３、５、７、または９の異なる程度の可能な重複について、影響を受けたレジスタにおけるエラーシンドロームを示すビット数を低減することができる。同様に、第４エラーが、０、２、４、６、８、１０、および１２の異なる程度の可能な重複について、影響を受けたレジスタにおけるエラーを示すビット数を低減することができる。この場合、「０」は、４エラーマスキングを表すが、その理由は、４つのエラーが存在するにもかかわらず、影響を受けたレジスタのビットは、エラーシンドロームを示さないからである。同様の分析を任意のファンアウトのサイズｋに適用することができる。
【００７１】
この分析が示すように、４より大きい偶数エラーの検出は、例示的なコンパクタでは保証されない。この現象をより詳細に研究するために、４エラーマスキングの周波数、およびコンパクタのレジスタのサイズ、使用される多項式、ならびにエラーの時間期間に対する依存性を測定する実験が実施された。１００万のエラー構成についてモンテカルロシミュレーションを実施して、測定を得た。いくつかの観測は、これらの実験の結果とすることができる。第１に、以下で表４に示すように、コンパクション比は、４エラーマスキングの確率に対してわずかな影響しか与えない（明瞭化のために、このセクションで示す表は、エイリアシングが起きる確率ではなく、エイリアシングが観測された場合の実際の数を含む）。
【００７２】
【表４】
0004791954.tif 000009
【００７３】
第２に、以下で表５に示すように、同じレベルのコンパクションについて、コンパクタ出力の数は、４エラーマスキングに対してわずかな影響しか与えない。
【００７４】
【表５】
0004791954.tif 000010
【００７５】
第３に、より大きい項（すなわち、ファンアウトｋより大きい値）を有する多項式は、より小さい項を有する多項式より良好に作用する。たとえば、表４は、３／Ｍ多項式と比較するとき、５／Ｍ多項式についてより良好な性能を示す。第４に、表４に示したように、４エラーマスキングは、コンパクタのフリップフロップの数が増大するにつれ、迅速に降下する。第５に、以下で表６に示すように、４エラーマスキングは、エラーの時間期間が増大するにつれ、迅速に降下する。より具体的には、上述した以前の実験では、エラーは、走査チェーン出力から同じサイクルにおいて注入された。しかし、表６は、エラーが、エラー時間期間として確定されるいくつかのクロックサイクルにわたって注入された実験を示す。
【００７６】
【表６】
0004791954.tif 000011
【００７７】
多重度６、８、１０、１２、１４、および１６のエラーで実施された同様の実験は、そのようなより高次のマスキングは、４エラーマスキングよりかなりまれにしか起きないことを示す。
【００７８】
開示するコンタパクタの実施形態における４エラーマスキングを、同じ出力数を有する空間コンパクタにおける４エラーマスキングと比較する実験も実施された。１つのそのような実験では、８つの出力および５６の走査チェーンを有するＸコンパクト方式を選択して、開示するアーキテクチャによる妥当ｋ／Ｍ多項式を使用して設計された８出力コンパクタの３つの例示的な構成と比較した。１００万の場合において、４エラーマスキングは、Ｘコンパクト方式では８０２，１４６倍起きた。対照的に、１６、２４、および３２のメモリ要素を有する例示的なコンパクタでは、４エラーマスキングは、それぞれ、１５，６９６倍、１７１７倍、および２９５倍であることが観測された。さらに、出力数が１６まで増大し、かつ走査チェーンの数が１６００まで増大したとき、Ｘコンパクト方式を使用することにより、エイリアシングの場合は３０７９となった。対照的に、２４、３２、および４０のメモリ要素を有する例示的なコンパクタは、それぞれ、２１倍、０倍、および０倍のエラーマスキングを提示した。すなわち、３２および４０のメモリ要素を有する例示的なコンパクタでは、エイリアシングはまったく観測されなかった。
【００７９】
表４は、２５の走査チェーンによって駆動される２０ビットのレジスタを有する開示するコンパクタの単一出力実施形態について、４エラーマスキングが観測されないことを示す。一般に、この現象は、走査チェーンの数が、所与のコンパクタの実施形態において使用することができる多項式の総数と比較して小さくなるときに起きることが予測される。そのような場合、コンパクタを構成するために無作為に選択された多項式が、４エラーマスキングを決して可能にしない良い機会が存在する。
【００８０】
（Ｘ状態が存在する場合における開示するコンパクタの例示的な実施形態のエラーマスキング特性）
このセクションでは、未知のまたはＸの状態が存在する場合について、妥当ｋ／Ｍ多項式（上記で議論した）で設計された開示するコンパクタの実施形態のマスキング特性を分析する。ＢＩＳＴ環境について設計されていない限り、実際の回路は、その試験応答において未知状態を生成する。メモリ要素の数が限定され、かつあらゆるフィードバックが欠如しているので、開示するコンパクタのある実施形態は、Ｘ状態に対処することができる。これらの実施形態では、コンパクタのメモリ要素の状態、およびその出力において生成される値は、該当する観測窓のクロックサイクルにおける走査チェーン出力にのみ依存する。Ｍメモリ要素レジスタおよびｎ出力コンパクタを有するコンパクタでは、観測窓のサイズ（「深度」と呼ぶことがある）は、ｄ＝［Ｍ／ｎ］によって与えられる。したがって、フィードバックのないコンパクタの実施形態では、コンパクタに注入されたＸ状態は、せいぜいｄサイクルにおいてクロックアウトされる。その結果、ｋ／Ｍ多項式を使用する例示的な無フィードバックコンパクタの実施形態の１つの特徴は、１つの走査セルからの単一エラーを、他の走査セルによって生成された単一Ｘ状態が存在する状態で、コンパクタ出力において検出することができるということである。
【００８１】
試験応答にＸ値が存在しない場合、走査チェーン出力から注入されるエラーは、ｋ／Ｍ多項式を使用すると想定すると、コンパクタ出力において観測されるｋの代替方式を有する。上記で議論したこれらの多項式の基本的な特性のために、同じ走査アウトサイクルで、または注入エラーに該当する観測窓内のサイクルでコンパクタに注入された単一Ｘ状態は、エラーシンドロームを完全にマスクすることはできない。しかし、複数のＸ状態が注入された場合、コンパクタの出力へのエラー伝播経路が遮断される可能性が存在する。その結果、エラーがまったく観測されないことがある。ある数の走査セルがＸ状態を生成すると想定して、エラーシンドロームをマスクするＸ状態能力の定量的な尺度は、走査セルの「可観測性」と呼ばれる。この尺度は、コンパクタの出力に到達することができるエラーを生成する走査セルの一部として確定することができる。この量は、Ｘ状態が出現する周波数、およびコンパクション比の両方に依存する。
【００８２】
図２１は、１、２、４、８、１６、および３２の出力を有する６つの例示的な無フィードバックコンパクタについて、走査セルの可観測性に対するＸ状態の影響を表すグラフ２１００を示す。例示的なコンパクタのそれぞれは、３２ビットレジスタを有し、妥当３／３２多項式を使用し、１００×コンパクションを提供する。さらに、ＣＵＴの走査チェーン長は、走査チェーンあたり１００走査セルと選択され、Ｘ状態を生成する走査セルの割合は、０．０１％から１％まで変化する。図２１は、以下の４つの群の曲線を示す：（ａ）観測されていない走査セルの割合２１０２（「０」と記す）；（ｂ）１回観測された走査セルの割合２１０４（「Ｉ」と記す）；（ｃ）２回観測された走査セルの割合２１０６（「ＩＩ」と記す）；および（ｄ）３回観測された走査セルの割合２１０８（「ＩＩＩ」と記す）。
【００８３】
図２１からわかるように、非常に強い類似性が、各グループ内の曲線間に存在し、これは、Ｘマスキング特性が、コンパクタの出力の数に依存しないことを示す。やはり図２１からわかるように、チャートにはいくつかの明確な領域が存在する。たとえば、Ｘ状態を生成するセルの数が０．０１％から０．１％に増大する際に、観測することができない走査セルの数（曲線２１０２）は、０．０１％から２％に増大する。同時に、３回観測された走査セルの割合の曲線２１０８は、９２％から４２〜４５％に減少し、２回観測された走査セルの曲線２１０６は増大し（最高で４０％）、１回観測された走査セルの曲線２１０４は増大する（最高で約１５％）。Ｘ状態を生成するセルの０．１％と０．２５％との間の範囲では、２回観測可能なセルの量（曲線２１０６）が優勢である。０．２５％と０．５％との間の範囲では、ほとんどの走査セルが、１回のみ観測される（曲線２１０４）。Ｘ状態によって影響を受ける走査セルの数が増大し続ける際に、５０％を超える走査セルは、もはや観測されない。
【００８４】
コンパクション比は、各コンパクト出力において観測可能な走査チェーンの数を決定する。コンパクション比は、Ｘ状態が走査セルの可観測性にどのような影響を与えるかをも部分的に決定する。図２２は、３２ビットレジスタを有し、妥当３／３２多項式を使用し、１０×（図２２では最低の曲線）から２５×、５０×、１００×、２５０×、および４５０×（図２２では最高の曲線）の範囲にわたってコンパクション比を提供する例示的な単一出力コンパクタについて、遮断された走査セルの割合を示すグラフ２２００である。図２１と同様に、Ｘ状態を生成する走査セルの数は、０．０１％と１％との間で変化する。得られた結果は、コンパクション比が増大する場合、Ｘ状態によって影響されるセルの数は、走査セルの可観測性をほぼ同じレベルに維持するために、同じ割合で減少するはずであることを示す。
【００８５】
同様の実験を使用して、Ｘコンパクト方式における走査セルの可観測性を、開示するコンパクタの例示的な実施形態における走査セルの可観測性と比較した。具体的には、７つのファンアウト（表７では「Ｘ７」と示す）を有するＸコンパクタを、妥当７／３２多項式（表７では「Ｃ７」と示す）および妥当３／３２多項式（表７では「Ｃ３」と示す）を使用する開示するコンパクタの実施形態と比較した。コンパクタのそれぞれは、１６の出力を有し、１６００の走査チェーンからの試験応答を圧縮するために使用された。
【００８６】
【表７】
0004791954.tif 000012
【００８７】
表７からわかるように、Ｘ状態を生成する走査セルの割合が０．５％より小さい限り、有効に観測することができる走査セルの数は、開示するコンパクタ（この例では、３２ビットレジスタおよび妥当７／３２多項式ならびに３／３２多項式を使用するコンパクタ）の実施形態では、かなりより多い。さらに、表の最後の行からわかるように、３／３２コンパクタの実施形態は、Ｘ状態を有する走査セルの一部が０．１％より大きくなった後は、７／３２コンパクタの実施形態より良好な性能を提供する。
【００８８】
（開示するコンパクタの例示的な実施形態の診断能力）
このセクションでは、妥当ｋ／Ｍ多項式で設計される開示するコンパクタの例示的な実施形態の診断能力を分析する。妥当ｋ／Ｍ多項式で設計されるコンパクタの１つの特徴は、該当する観測サイクル中にＸ状態が同じ出力に伝播しないことを条件として、あらゆる単一エラーをコンパクタの出力において一意に識別することができることである。たとえば、図９に示した実施形態では、エラーが第１走査チェーン出力を経て伝播し、Ｘ状態がメモリ要素１、４、および５に伝播しない場合、エラーが走査チェーン１から入ってくる際に、エラーを一意に識別することができる。しかし、これは、コンパクタのレジスタにおいて相互作用する複数のエラーについては、常に真ではない。たとえば、入力２および６の２重エラーに、次のクロックサイクルにおいて入力１３および１４の２重エラーが続くと、エラーシンドローム（すなわち、マスクされたエラーシンドローム）は生成されない。さらに、出力９１０において観測されるエラーシンドロームに、次のクロックサイクルにおいて出力９１０における他のエラーシンドロームが続くことは、入力１および１３の２重エラー、または入力３および５の２重エラーによって生じる可能性がある。したがって、エラー源に関してあいまいさが存在し、エラーを生成した特定の走査チェーンを一意に識別することができない。
【００８９】
欠陥走査セルを診断する目的で開示するコンパクタの実施形態の能力を定量化ために、エラー多重度の様々な値、異なるレジスタサイズ、および様々な多項式の値について診断分解能を測定する実験が設計された。分解能は、一意に識別することができるエラーの割合（すなわち、あらゆる他のエラーによって生成することができないシンドロームを生成するエラーの割合）を計算することによって測定された。様々なサイズを有する開示するコンパクタの実施形態において観測された４エラーパターンの結果を表８に示す。これらの結果は、ｋ＝３ならびにｋ＝５の多項式および０に等しいエラー時間期間について、１６から４８の走査セルにわたる様々なサイズの走査チェーンについて得られた。
【００９０】
【表８】
0004791954.tif 000013
【００９１】
これらの結果は、いくつかの観測をもたらす。第１に、コンパクタのレジスタのサイズを増大することにより、診断分解能が改善される。第２に、より多くの項（たとえば５）を有する多項式は、より少ない項（たとえば３）を有する多項式より良好に作用するが、比較的多数の走査チェーンを圧縮する非常に小さいコンパクタを除く。第３に、診断分解能は、走査チェーンの数が増大するにつれ、減少する。
【００９２】
エラーの多重度に対する診断分解能の依存性を検査するために、他のグループの実験が実施された。これらの実験の結果を図２３のグラフ２３００に提示する。これらの実験では、開示するコンパクタの実施形態は、４つの出力を有し、４０の走査チェーンによって駆動され、３つの項（すなわち、３つのファンアウト）を有する妥当多項式を使用し、および０に等しいエラー時間期間を有することを想定した。図２３では、各曲線は、８から４０にわたるＭのレジスタサイズを有するコンパクタの実施形態を表す。図２３からわかるように、診断分解能は、より小さい多重度のエラーについてより高い。結果から、レジスタサイズを増大させた以前の観測が、診断分解能を改善することができることも確認される。
【００９３】
他のグループの実験は、コンパクション比が診断分解能に対して有する可能な影響を評価することを対象とした。図２４のグラフ２４００に提示した結果は、２エラーパターン、３つのファンアウトを有する開示するコンパクタのいくつかの実施形態、および０から１１にわたるエラー時間期間について得られた。図２４では、各曲線は、特定のコンパクション比に対応し、走査チェーンの数対出力の数（たとえば１００：４）およびレジスタサイズＭ（たとえばＭ＝２８）として示されている。グラフ２４００に表示された結果について、いくつかの観測を行うことができる。第１に、診断分解能は、コンパクション比が増大するにつれ、減少する。しかし、この影響は、レジスタのサイズを増大させることによって補償することができる。たとえば、図２４に示すように、４８ビットのレジスタおよび２００：１のコンパクション比を有するコンパクタの実施形態は、３６ビットのレジスタおよび１００：１のコンパクション比を有するコンパクタの実施形態より良好な診断分解能を有する。第３に、診断分可能は、当初減少するが、エラー時間期間が増大するにつれ、増大する。第４に、あいまいな場合でも、欠陥走査セルをかなりの精度で決定することができる。たとえば、図２３は、１００×コンパクション比および１０のエラー時間期間について、エラーパターンの最高で９５．５７％が、３６ビットコンパクタを使用して固有のシンドロームを生成することを示す。残りのエラーについては、１．９８％の場合、同じシンドロームは、２つのエラーによって共有される。同じシンドロームは、すべてのエラーパターンの０．１４％によって３倍に生成される。エラーの０．００９％のみが、４エラーパターンについて共通であるようなシンドロームを有する。
【００９４】
（開示するコンパクタの例示的な実施形態の実験結果）
開示するコンパクタのいくつかの実施形態の性能を、３つの業界設計に関してさらに検査した。試験した設計の特性（たとえば、ゲート、走査チェーン、および走査セルの数を含む）を、対応する実験結果をまとめた表９に示す。「Ｘ」と名称付けされた列は、試験応答に生じる未知状態の割合を提供する。これらの数は、完全な試験の組をシミュレーションして、その応答を評価することによって得られた。市販の自動試験パターン生成（「ＡＴＰＧ」）ツールを使用して、実験に使用された試験の組を生成した。実験分析の主な目的は、開示するコンパクタの２つの実施形態の性能を、Ｘコンパクト方式に従って設計されたコンパクタと比較することであった。実験では、３つの異なるコンパクタを各業界設計について使用した。第１コンパクタは、Ｘコンパクト技法に基づいていた。次の２つのコンパクタは、開示するコンパクタの実施形態であった（表９においてそれぞれ「Ｃ１」および「Ｃ２」と名称付けされている）。
【００９５】
【表９】
0004791954.tif 000014
【００９６】
各コンパクタについて、出力の数ならびに結果的なコンパクション比は、表９の指定された列に与えられている。さらに、コンパクタＣ１は、対応するＸコンパクトコンパクタと同じ数のコンパクタ出力を有するように選択された。コンパクタＣ２は、開示するコンパクタのアーキテクチャを使用して可能である適応性を示すために、はるかにより高いコンパクション比を提供するように選択された。「ｋ」と名称付けされた列は、コンパクタを確立するために使用された多項式の項の数を列挙する。「Ｍ」と名称付けされた列は、コンパクタにおいてレジスタを創出するために使用されたメモリ要素の数を列挙する（純粋な空間の方式として、Ｘコンパクトコンパクタは、メモリ要素を使用しない）。開示するコンパクタの実施形態では、メモリ要素の数は、使用可能な多項式の総数が回路設計における走査チェーンの数より著しく多くなるように選択された。したがって、４エラーマスキングの確率は低減されたが、診断分解能は、依然として比較的高かった。表９の最後の３つの列は、未知状態が存在するために観測不可能になる既知の値を有する走査セルの割合を示す。
【００９７】
設計Ｄ１と関連してコンパクタＣ１を使用するとき、結果的なコンパクション比は、約１０×である。このコンパクション比、および未知状態を生成する走査セルの０．７９％が与えられると、図２２の１０×曲線から、走査セルの約４％が観測されないことを予測することが可能である。さらに、同じ数の出力（したがって、同じコンパクション比）が与えられると、開示するコンパクタのアーキテクチャは、Ｘコンパクト方式より、未知状態が存在する場合に走査セルの良好な可観測性を提供することができる。開示するコンパクタのアーキテクチャのこの品質は、設計Ｄ２についてより明らかであった。
【００９８】
業界設計は、通常、未知状態をクラスタで生成する（すなわち、大多数の未知の値は、ごく少数の走査セルによって生成される）。表１０に示すように、未知状態の累積割合は、未知状態の元である走査チェーンの数の関数として表され、迅速に平滑化する。検査した設計では、未知の値のほぼ大部分を捕獲するのに、１０の走査チェーンで十分であった。
【００９９】
【表１０】
0004791954.tif 000015
【０１００】
図１５に関して以下でより完全に議論するように、未知の値を遮断するために使用することができる開示するコンパクタの１つの代替実施形態は、未知の値を捕獲する傾向がある走査チェーンをゲートすることを含む。未知状態の大部分をもたらす走査チェーンの数は小さいので、この手法は、未知状態がコンパクタに注入されることを防止する一方で、試験の質を著しく損わない。走査チェーンのマスクを想定している際の走査セルの可観測性を表９の最後の列に示す（括弧内のデータは、各パターンについてマスクされた走査チェーンの平均数を示す）。ある走査チェーンを制御する能力は、結果的な可観測性を改善することがわかる。具体的には、コンパクタの実施形態Ｃ２は、以前よりはるかに良好に作用した。たとえば、Ｄ１の当初のコンパクタの実施形態Ｃ２は、１６．９６％の観測されない既知の応答を有していたが、代替コンパクタ実施形態Ｃ２は、最高で５つの走査チェーンが各パターンについてマスクされる場合、４．３２％の非観測率を有していた。この結果は、Ｘコンパクト方式のコンパクション比がはるかにより低いときでも、Ｄ１のＸコンパクト方式よりさらに良好である。Ｄ２およびＤ３では、代替コンパクタ実施形態は、良好な可観測性を有する１００×を超えるコンパクションを達成した。応答が少数の未知の値を有するＤ２についてさえ、走査チェーンマスキングは、観測されない走査セルの数を非常に低いレベルまで低減することができることに留意する価値がある。
【０１０１】
埋込み試験環境では、アドレスレジスタは、オンチップ・デコンプレッサによってロードされる。例として、Ｄ３のコンパクタ実施形態Ｃ２を考慮する。この設計は、４５７の走査チェーンを有するので、各チェーンに対処するために、９ビットが必要である。各レジスタに関連するフラグも存在し、したがって、各パターンに必要な試験データは、１０×６＝６０ビットとなる。設計Ｄ３に関しては、各パターンについて指定されたビットの平均数は３６０であり、したがって、結果的なコンパクト比は、約１３８Ｋ／３６０〜３８３×となる。コンパクションプロセスを制御するのに必要なデータを考慮に入れると、実際のコンパクション比は、１３８Ｋ／（３６０＋６０）〜３２７×の許容可能なレベルに降下する。同じ分析を設計Ｄ１およびＤ２について実施することができる。Ｄ１およびＤ２のパターンあたりの指定ビット平均数は、それぞれ１５００および９４０であり、したがって、Ｄ１のコンパクト比は、依然としてほぼ同じであるが、Ｄ２のコンパクト比は、６０から５５に変化する。
【０１０２】
（開示するコンパクタの例示的な修正および代替構成）
コンパクタの開示する実施形態は、開示する技術が依拠する原理から逸脱せずに、様々な異なる方式で修正することができる。たとえば、開示するコンパクタのある実施形態のエラー伝播および診断特性により、コンパクタのアーキテクチャは、ＭＩＳＲを構築するための良い基盤となる。図１２は、新しいタイプのＭＩＳＲに修正された開示するコンパクタの例示的な実施形態１２００を示す。具体的には、コンパクタ１２００は、フィードバックループ１２０２を備え、このフィードバックループ１２０２は、レジスタ（図１２に示した例示的な実施形態では、「１」から「１６」まで記されている）のメモリ要素１２０４に選択的に結合される。所定の多項式に対応するフィードバック（示した実施形態では、ｈ（ｘ）＝ｘ１６＋ｘ１２＋ｘ９＋ｘ６＋１）は、制御論理１２１６によって可能になる。制御論理１２１６は、示した実施形態では、制御経路１２１８およびレジスタの出力１２０６に結合されたＡＮＤゲートを備える。制御経路１２１８が活動化されたとき、フィードバックループ１２０２は可能になり、これにより、コンパクタ１２００はＭＩＳＲモードで動作する。制御線が非活動化されたとき、コンパクタ１２００は、コンパクションモードで実行される。ＭＩＳＲモードでは、コンパクタ１２００は、シグネチャ計算機能を実施する。ハイブリッドコンパクタ／ＭＩＳＲ１２００は、いくつかの利益を提供する。たとえば、偶数のエラーが同じサイクル中に注入されたときに生じるコンパクション消去は、２つのエラーについて排除され、より高次の多重度のエラーでは劇的に低減される。
【０１０３】
コンパクタ１２００の出力は、ＭＩＳＲモードにおいて観測することができ、従来のＭＩＳＲでは利用可能ではない改善された診断能力を提供することができる。ハイブリッドコンパクタ／ＭＩＳＲを使用する診断プロセスは、単一試験セッションを含むことができ、この場合、すべてのパターンが適用され、かつ単一ＭＩＳＲ出力において観測されたすべての応答が記録され、したがってエラー多項式が創出される。このエラー多項式は、走査チェーンから注入されたエラーの影響およびフィードバック多項式の重ね合わせの影響を含む。フィードバック多項式の影響は、出力エラー多項式にフィードバック多項式を乗算することによって、容易に除去することができる。たとえば、示した実施形態では、フィードバック多項式は、以下のようになる：
Ｅ’（ｔ）＝Ｅ（ｔ＋１６）＋Ｅ（ｔ＋１２）＋Ｅ（ｔ＋９）＋Ｅ（ｔ＋６）＋Ｅ（ｔ）            （３）。
【０１０４】
コンパクションモードでの動作は、製造試験中の診断においていくつかの追加の利点を提供することができる。たとえば、このモードでは、フィードバックループは、開いていることが望ましく、試験装置は、はるかにより小さい数の欠陥サイクルを記録しなければならない。試験装置によって報告されるエラーは、Ｅ’（ｔ）に直接対応する。
【０１０５】
開示するコンパクタの他の実施形態を図１３に示す。この実施形態により、選択走査チェーンの完全な遮断、または選択走査チェーン以外のすべての完全な遮断が可能になることが望ましい。この実施形態は、以下で説明するように、所望であれば１組の複数の選択走査チェーンを遮断するように、さらに修正することができる。切替えネットワーク１３０４が、走査チェーン１３１２と示したコンパクタ１３００との間に結合される。示した実施形態は、８つの走査チェーンを有するが、任意の数の走査チェーンをコンパクタ１３００に接続することができる。切替えネットワーク１３０４は、以下の異なる入力に応答する論理ゲートを備える：入力１３０６（例示的な実施形態では「すべて観測フラグ」）、入力１３０８（例示的な実施形態では「遮断フラグ」）、および入力１３１０（例示的な実施形態では「走査アドレス・レジスタ」）。示した実施形態では、すべて観測フラグ１３０６が可能になるとき、走査チェーン１３１２からの試験値のすべてが、走査アドレス・レジスタ１３１０および遮断フラグ１３０８の値に関係なく、コンパクタ１３００に送信される。すべて観測フラグ１３０６フラグが不能になる場合、１つの走査チェーン以外のすべてを遮断する、または１つの走査チェーンのみを遮断する２つのモードが可能である。一実施形態では、走査アドレス・レジスタ１３１０は、各走査チェーン１３１２を一意に識別するのに十分なビットを含み、１つの走査チェーンのアドレスを保有する。遮断フラグ１３０８が可能になる場合、走査アドレス・レジスタ１３１０によって選択された１つの走査チェーンのみが遮断され、その値は、コンパクタ１３００に渡されない。しかし、遮断フラグ１３０８が不能になる場合、アドレスが走査アドレス・レジスタ１３１０に記憶されている走査チェーンに記憶されている試験値のみが、コンパクタ１３００に渡すことが可能になる。
【０１０６】
図１４は、選択走査チェーンの部分的な遮断を可能にする開示するコンパクタの他の実施形態１４００を示す。いくつかの場合、走査チェーンを、完全にではなく部分的に遮断することが有益である。たとえば、部分的に遮断された走査チェーンに既知の値を有する走査セルのある可観測性を維持しながら、コンパクタに注入されるＸ状態の数を低減することができる。表９は、当初は観測されない走査セルの割合が比較的低い場合では（設計Ｄ１ならびにＤ２のコンパクタ実施形態Ｃ１、および設計Ｄ３のコンパクタ実施形態Ｃ１ならびにＣ２など）、図１４に示すような部分遮断方式は、選択走査チェーンを完全に遮断するコンパクタの実施形態より、低い割合の遮断走査セルを与える。図１３に示した方式と同様に、制御論理１４０４が、部分遮断フラグ１４０６、すべて観測フラグ１４０８、遮断フラグ１４１０、および走査アドレス・レジスタ１４１２と関連して作用し、どの走査チェーン出力１４１４が遮断されるか、部分的に遮断されるか、またはコンパクタ１４００に渡されるかを可変的に制御する。
【０１０７】
以前に留意したように、開示するコンパクタのある実施形態の性能は、未知の値を捕獲する傾向がある走査チェーンをゲートすることによって随意選択で改善することができる。大多数の未知状態をもたらす走査チェーンの数は小さいので、この手法は、未知状態がコンパクタに注入されるのを防止する一方で、試験の質を大きく損わない。
【０１０８】
コンパクタ１５０６がゲートされる他の例示的な実施形態１５００を図１５に示す。バイパスモード・イネーブル信号１５０２によって制御されるマルチプレクサ１５２０が、信号１５０２が可能になるとき、すべての走査チェーン出力１５１０を観測できるように追加される。この実施形態は、Ｒ走査アドレス・レジスタ１５１２を備えることもでき、ある実施形態では、Ｒは、走査チェーンの数によって決定される小さい整数である。いくつかの実験では、値Ｒ＝５は、せいぜい１００の走査チェーンが設計に存在するとき、所望通りにうまく機能することが判明した。次いで、たとえば、各追加の１００の走査チェーンについて、レジスタを１つ余分に追加することができる。次いで、分散ネットワーク１５０８を使用して、アドレスがコンパクションモードにおいてレジスタ１５１２に記憶されている走査チェーンをマスクし、バイパスモードにおいてバイパス出力１５１４を経て出力される走査チェーン出力を選択することができる。対応するレジスタのアドレスが現行パターンについて有効であるかを示すために、信号ビットを各レジスタ１５１２に関連付けることができる。たとえば、動作の際、この実施形態では最高でＲのアドレスを、各試験パターンについてレジスタ内に走査することができ、また、それぞれの走査チェーンをマスクするために使用することができる。その結果、未知の値のより小さい一部がコンパクタ内にシフトされ、したがって、走査セルの可観測性全体が改善される。
【０１０９】
図１６は、開示するコンパクタの他の実施形態１６００を示す。この実施形態では、バイパスモードは、１つの走査チェーン出力について個別に決定される。コンパクタ１６０６は、たとえば図１３に関して記述したものと同様とすることができる選択装置回路１６０８と結合される。示した実施形態では、たとえば、バイパスフラグ１６１４がバイパスモード信号１６０２を可能にした後、すべて観測フラグ１６１２を不能にすることができ、また、走査アドレス・レジスタ１６１０を使用して、どの走査チェーンがバイパス出力１６０５を経て出力されるかを選択することができる。そのような方式は、Ｘ状態のあらゆる負の影響を最小限に抑えるように作用することができ、かつ診断を簡単にすることができる。
【０１１０】
開示するコンパクタの他の実施形態は、試験パターンを決定するために当初使用された自動試験パターン生成装置（「ＡＴＰＧ」）ツールからの情報で、コンパクタをプログラムすることを含む。図１７は、ＡＴＰＧ駆動手法を使用するコンパクタの例示的な実施形態１７００を示す。示した実施形態では、切替えネットワーク１７０２により、走査チェーン出力１７０６の異なる構成をコンパクション入力１７０４として送信することが可能である。１つまたは複数の選択走査チェーンのアドレスをレジスタ１７１２に記憶することができる。たとえば、図１７では、走査チェーン出力１７０８は、その値がコンパクタの実施形態１７１０に入力されないように遮断された。この実施形態では、各可能な構成が、ある割合の走査セルを遮断することが可能である。しかし、ＡＴＰＧツールを使用して、故障情報を搬送する走査セルを観測する構成を識別するように作用させることができる。たとえば、利用可能な複数の構成が存在する場合、ほぼ各走査セルについて、それを観測することを可能にする１つの構成が存在するはずである。これに関して、表１１は、３つの異なる設計および１６の異なるコンパクション構成について実験結果を示す。設計Ｄ３（上記の表９から）では、２つの出力で４５７の走査チェーンが観測され、コンパクション比は２２８×であった。平均すると、走査セルの２３．７４％が、各構成について観測されなかったが、すべての１６の構成を使用した後では、観測されなかった走査セルは、わずかに０．０９％であった。
【０１１１】
【表１１】
0004791954.tif 000016
【０１１２】
図１７に示した切替えネットワーク１７０２は、代替として、ある所定のパターンに従って走査チェーン出力を選択または切り替えるように構成することが可能である。たとえば、切替えネットワーク１７０２は、固定パターンに従ってある走査チェーン出力を代替として選択するように構成されたマルチプレクサを備えることが可能である。切替えネットワーク１７０２は、走査チェーン出力とコンパクタ１７１０への入力との間の相互接続を選択的に交換するために使用されるモジュラスイッチ（たとえば、２×２モジュラスイッチ）を備えることも可能である。さらに、切替えネットワーク１７０２を制御するために使用されるレジスタ１７１２は、代替として、オンボード試験制御装置を備えることが可能であり、または、外部試験装置への直接結合を備えることが可能であり、この外部試験装置は、切替えネットワーク１７０２の選択信号を制御するために使用される。
【０１１３】
図１８は、図１７に示した方式の他の実施形態１８００を示す。この実施形態では、走査チェーン構成は、走査シフトが行われる際に修正される。当初、図１７の構成レジスタ１７１２と同様に、選択される１つまたは複数の走査チェーンのアドレスをカウンタ１８０２にロードすることができる。
【０１１４】
いくつかの実施形態では、内部走査チェーンは、試験を制御する試験装置よりはるかに高い周波数でシフトさせることができる。そのような場合、コンパクタを試験装置の速度で動作させることが有利であることがある。たとえば、図１９（ａ）に示す実施形態１９００では、走査チェーン１９０４は、第１クロック１９０８によって、より高い周波数において１つまたは複数の直列入力並列出力（「ＳＩＰＯ」）レジスタ１９０６内にシフトされる。ＳＩＰＯレジスタ１９０６にロードした後、値は、第２クロック１９１０によってクロックされるコンパクタの実施形態１９０２にロードされる。図１９（Ｂ）は、他の例示的な実施形態１９５０を示し、この場合、走査チェーン１９５４は、複数の走査セルを保有し、その少なくともいくつかは、個々の出力１９５２を有する。したがって、走査チェーン１９５４は、同じクロックサイクル中に、複数の走査値をコンパクタ１９０２内にシフトさせることができる。
【０１１５】
これらの実施形態のいずれかを使用して、ＣＵＴを診断し、故障を特定するのを補助することができる。たとえば、単一走査チェーンの試験値は、すべての他の走査チェーンをマスクすることによって、個々に分析することができる。
【０１１６】
上記で議論した代替構成は、コンパクタの出力またはコンパクタの注入装置ネットワークの出力で使用するように適合させることもできる。たとえば、上述した切替えネットワークまたは分散ネットワークのいずれかを、コンパクタの出力または注入装置ネットワークの出力に結合することができる。１つの例示的な代替構成２００を図２０（Ａ）に示す。図２０（Ａ）では、注入装置ネットワーク２００２の出力は、論理２０１０に結合される。論理２０１０は、上述した切替えネットワークもしくは分散ネットワークのいずれかを備えることができ、または代替として、注入装置ネットワーク（たとえば、バレルシフタ）からの出力を分配するための固定論理を備えることが可能である。示した構成では、論理２０１０は、互いに直列に接続する必要のないメモリ要素２０１２のバンクに結合される。メモリ要素２０１２の組は、値を生成するように、直列（たとえばマルチプレクサを介して）または並列で出力することができ、次いで、値を論理的に組み合わせて、出力値を生成することが可能である。構成２０００を使用して、直列接続メモリ要素を使用せずに、上述したコンパクタのアーキテクチャの望ましい特性の多くを得ることができる。しかし、示した構成は、決して限定として考慮されるべきではないが、その理由は、直列接続メモリ要素のないコンパクタを実施するいくつかの代替構成が存在するからであり、すべて、本開示の範囲内にあると見なされる。
【０１１７】
いくつかの実施形態では、コンパクタからの出力値は、メモリ要素の追加のバンク内にロードされ、その後、故障診断のために回路から出力される。たとえば、図２０（Ｂ）に示す構成２０５０は、１つまたは複数の直列入力並列出力（「ＳＩＰＯ」）レジスタ２０５４に結合されたコンパクタの実施形態２０５２を示す。１つの特定の実施態様では、レジスタ２０５４は、コンパクタ２０５２を駆動する同じクロック周波数でロードされるが、より低い周波数で出力される（並列で）。
【０１１８】
いくつかの実施形態では、コンパクタのメモリ要素は、フィードバックループを含む論理と結合することができるが、開示する技術の望ましい特性のいくつかを依然として提示する。たとえば、図２０（Ｃ）に示すコンパクタの実施形態２０８０は、フィードバックループ２０８２を備える。フィードバックループ２０８２は、コンパクタの出力２０８６をメモリ要素２０８４の入力と結合する。フィードバックループは、ゲート２０９６（ここではＡＮＤゲート）および制御信号２０９８を介して制御される。示した実施形態では、制御信号２０９８は、交代信号（たとえば、０，１，０，１、．．．）を備える。コンパクタの実施形態２０８０は、奇数のメモリ要素を含むので、メモリ要素内にロードされたあらゆる値は、最終的には、ある固定観測期間にわたってクロックアウトされる。フィードバックループをコンパクタに含むための示した構成は、決して限定として考慮されるべきではないが、その理由は、フィードバックループを含むいくつかの代替構成が存在するからであり、そのすべては、本開示の範囲内にあると見なされる。
【０１１９】
（例示的な故障診断実施形態）
このセクションでは、開示するコンパクタのアーキテクチャを使用して故障を診断する方法の様々な実施形態を記述する。開示する実施形態は、決して限定として解釈されるべきではなく、記述する原理から逸脱せずに、構成および詳細について修正することが可能である。一般に、例示的な実施形態は、たとえば、妥当ｋ／Ｍ多項式を使用する上述したコンパクタの実施形態を使用する走査に基づく設計と共に使用することが可能である故障診断技法に関する。開示する方法の実施形態を使用して、コンパクタによって提供される出力値に基づいて、欠陥走査セルの精確で時間効率のよい識別を提供することができる。
【０１２０】
留意したように、上述したコンパクタのアーキテクチャ（たとえば、図９に示したコンパクタのアーキテクチャ）は、単一出力を有するアーキテクチャを含めて、あらゆる数の出力について、任意のコンパクト比を支持することができる。これらのアーキテクチャのコンパクション比およびエラー検出の特性は、通常、コンパクタのメモリ要素の総数Ｍ、コンパクタの各レジスタのサイズｍ、および走査チェーンをコンパクタのメモリ要素に接続する方式を示す注入装置多項式によって決定される。この議論の目的では、図９に例示したアーキテクチャを有するコンパクタが使用され、かつこのコンパクタが、ｘａ＋ｙｂ＋ｚｃの形態を使用して記述することができる妥当注入装置多項式を使用することを想定する。この形態によれば、たとえば、図９の６番目の走査チェーンは、多項式Ｐ６＝ｙ１＋ｘ２＋ｘ１に関連付けられ、一方、５番目のチェーンは、Ｐ５＝ｙ３＋ｙ１＋ｘ３に関連付けられる。以下で記述する故障診断方法の例示的な実施形態は、この例示的なコンパクタに関して進行するが、開示する原理は、任意の数のメモリ要素および任意のサイズのファンアウトを有するコンパクタに適用するように適合させることができる。
【０１２１】
線形回路を備えるこの例示的なコンパクタの振舞いは、このコンパクタが受信するエラー試験応答、およびこのコンパクタが生成するエラーシグネチャを使用して分析することができる。この開示の目的では、エラー試験応答は、Ｅ＝Ｒｆｆ＋Ｒｆとして確定される。Ｒｆｆは無故障応答、Ｒｆは故障試験応答であり、「＋」は、ビットごとのＸＯＲ演算を表す。同様に、エラーシグネチャは、Ｓ＝Ｓｆｆ＋Ｓｆとして確定される。Ｓｆｆは無故障シグネチャ、Ｓｆは故障シグネチャである。特に断りがない限り、エラー試験応答ＥおよびエラーシグネチャＳのみについて考慮する。ｉ番目の走査チェーンに位置するｊ番目の走査セルは、以下の形態ｘａ＋ｊ＋ｙｂ＋ｊ＋ｚｃ＋ｊを有するいわゆる「エラープリント」を生成することが可能である。ここで、Ｐｉ＝ｘａ＋ｙｂ＋ｚｃは、走査チェーンｉに関連する注入装置多項式である。
【０１２２】
通常、異なるエラープリントによって、同じエラーシグネチャを生じることがある。たとえば、シグネチャが単一の故障試験応答を明らかにするシナリオについて考慮する。上述した例示的なコンパクタのアーキテクチャが与えられると、単一走査セルは、そのような結果を生成することができなかった。さらに、その結果を生成することができた走査セルの対はない。しかし、３つの異なる走査セルが含まれた後は、プリントは、結果的なシグネチャが厳密に１つの欠陥試験応答を有するように、互いを消去することができる。たとえば、プリントが以下の形態を有する場合：
Ｅ１＝ｘａ  ＋ｙｂ＋ｚｃ
Ｅ２＝  ｘｅ＋ｙｂ      ＋ｚｄ
Ｅ３＝  ｘｅ＋      ｚｃ＋ｚｄ            （４）、
和は、ｘａに等しい。上記で示した特性を有する走査セルは、本明細書では、「タイプＩ」の「トリプレット（ｔｒｉｐｌｅｔ）」と呼ばれる。
【０１２３】
単一故障試験応答は、「タイプＩＩ」のトリプレットによって生成することもできる。タイプＩＩのトリプレットでは、エラープリントは、組み合わされたときに故障試験応答を明らかにする３つの重複タップを含む。タイプＩＩの例示的なトリプレットは、以下の通りである：
Ｅ１＝ｘａ＋ｙｂ＋ｚｃ
Ｅ２＝ｘａ＋ｙｂ      ＋ｚｄ
Ｅ３＝ｘａ＋      ｚｃ＋ｚｄ            （５）。
タイプＩおよびＩＩのトリプレットは、エラーシグネチャにおいて単一故障試験応答をもたらすことができる３つの異なる走査セルの唯一の構成である。その簡単さのために、トリプレットは、エラーを捕獲する走査セルの一貫した組を迅速かつ体系的に選択することを見込む。
【０１２４】
１組の注入装置多項式が与えられると、対応するシグネチャの選択ビットについて、エラープリントおよびトリプレットのリストを決定することができる。トリプレットのリストは、エラープリントが、式（４）および（５）において上述したエラープリントパターンと整合する走査セルを選択することによって決定することができる。一実施形態では、たとえば、各コンパクタのレジスタの中間ビット（または、レジスタが偶数のメモリ要素を有する場合、２つのそのようなビット）について、トリプレットの基本リストが決定される。必要であれば、エントリを調節し、その後、実在しない走査セルに対応する項目を削除することによって、基本リストから追加のリストを得ることができる。たとえば、形態｛（１，２），（４，２），（２，３）｝のトリプレットについて考慮する。各対の第１成分は、走査チェーンの数を表し、第２成分は、走査セルの数（または、同様に、その時間フレーム）を表す。このトリプレットをビットｘ３に関連付ける。このトリプレットを使用して、各対の第２成分を増大させることによって、ビットｘ４についてトリプレットを決定し、それにより｛（１，３），（４，３），（２，４）｝を得ることができる。
【０１２５】
このプロセスの計算の複雑さは、走査チェーンのサイズに依存しないが、その理由は、生成されるトリプレットは、ある範囲内においてのみ生じるからである。この範囲は、以下の提案によって画定することができる；コンパクタのレジスタのサイズがｍであると与えられると、トリプレットの所与のリストを構成する走査セルの時間フレーム範囲は、３ｍ−３以下である。この提案の証明は、コンパクタのレジスタの１つおよびタイプ１のトリプレットを調査することによって示すことができる。ｘａを、トリプレットを探しているシグネチャビットであるとする。すなわち、ｘａを、トリプレットについて設定されるビットであるとする（この議論の目的では、ビットが値「１」を有するとき、ビットが設定される、またはビットがエラーを表すことに留意されたい。しかし、開示する実施形態の望ましい機能および利点は、異なる値で動作するアーキテクチャを使用して達成することができるので、この値は、決して限定として構築されるべきではない）。式（４）から、対応するエラープリントは、以下の形態を有することが可能である：
ｘａ−ｍ＋１＋ｘａ−ｍ＋２    ＋ｘａ
ｘａ−２ｍ＋３＋ｘｂ          ＋ｘａ−ｍ＋２
ｘａ−２ｍ＋３＋ｘｂ＋ｘａ−ｍ＋１            （６）。
エラープリントのすべては、レジスタ内の最大に可能な期間（すなわちｍ−１）を想定することに留意されたい。一方、同じ位置ｘａは、以下のプリントによって「１」に設定することができる。
【０１２６】
ｘａ    ＋ｘａ−ｍ＋２＋ｘａ＋ｍ−１
ｘａ＋ｍ−２              ＋ｘｃ    ＋ｘｋ
ｘａ＋ｍ−１    ＋ｘｃ    ＋ｘｋ            （７）。
上記の２つのトリプレットによって網羅される時間フレームの数は、（ａ＋ｍ−１）−（ａ−２ｍ＋３）＋１＝３ｍ−３によって与えられることがわかり、これは、提案に合致する。
【０１２７】
トリプレットの概念をさらに示すために、６つの走査チェーン２８０２によって駆動される図２８に示す例示的なコンパクタ２８００を考慮する。各走査チェーン２８０２が、５つのフリップフロップからなると想定する。コンパクタ２８００は、２つの出力（第１出力２８１０および第２出力２８１２）を有するので、結果的なシグネチャは、２つの７ビットのシーケンス（３＋５−１＝７）からなる。シグネチャビットｘ３、ｘ５、およびｙ０に関連付けられるトリプレットの完全なリストを、以下の表において与える。
【０１２８】
【表１２】
0004791954.tif 000017
【０１２９】
これらのトリプレット、ならびにシグネチャの残りのビットに関連付けられるトリプレットは、式（４）および（５）を使用することによって得ることができる。
例示のために、第１トリプレット｛（３，０），（５，０），（４，１）｝について考慮する。図２８から、対応するプリントの和は以下のようになる：
（ｘ１＋ｘ２＋ｙ０）＋（ｘ２＋ｙ０＋ｙ１）＋（ｘ０＋１＋ｘ２＋１＋ｙ０＋１）＝ｘ３            （８）。
式（８）は、このトリプレットが、シグネチャビットｘ３を「１」に設定することを示す。
【０１３０】
エラーシグネチャが与えられると、シグネチャに出現する各「１」について１つの対応するトリプレットを選択することによって、予備的な解（たとえば、欠陥走査セルの組）に到達することができる。解が、偶数回出現する走査セルを装備する場合、一実施形態では、その解は、組から削除される。走査セルの残りの組は、エラー信号が当初のシグネチャをもたらす走査セルの有効な集合体を構成する。しかし、多くの場合、得られた解は、最も簡単な解（すなわち、最小数の走査セルを備える解）ではない可能性がある。１つの例示的な実施形態によれば、得られた解は、さらに簡単にすることができる。
【０１３１】
（線形の式を使用して解の組を簡単にする）
欠陥走査セルの予備リストを形成するために選択された１組のｎのトリプレットが与えられるとする。トリプレットにおいて生じる走査セルを表す最高で３ｎの変数について、線形の式の固有システムが存在する。１つの例示的な実施形態によれば、システムの各線形の式は、使用されたエラープリントによって示されるビットの１つに対応し、式の左辺は、エラープリントがそのビットを含むこれらの変数（走査セル）の和である。式の右辺は、エラーシグネチャにおける対応するビットの実際値に等しい。この例示的な形態では、値「１」を有する変数は、エラーを捕獲する走査セルに対応し、値「０」を有する変数は、エラーのない走査セルに対応する。
【０１３２】
たとえば、以下のエラープリントを有する例示的なタイプＩＩトリプレット｛ｃ１，ｃ２，ｃ３｝について考慮する：
Ｅ１＝ｘａ＋ｘｂ＋ｘｃ
Ｅ２＝ｘａ＋ｘｂ      ＋ｘｄ
Ｅ３＝ｘａ      ＋ｘｃ＋ｘｄ            （９）。
【０１３３】
これらの３つの式は、以下の式をもたらす：
ｃ１＋ｃ２＋ｃ３＝１    すべての３つのセルがビットｘａを設定するので
ｃ１＋ｃ２      ＝０  セルｃ１およびｃ２が、ビットｘｂをリセットするので
ｃ１＋ｃ３      ＝０  セルｃ１およびｃ３が、ビットｘｃをリセットするので
ｃ２＋ｃ３      ＝０  セルｃ２およびｃ３が、ビットｘｄをリセットするので            （１０）。
【０１３４】
より多くのトリプレットでは、線形の式の結果的な組は、すべての変数ｃｉが「１」に等しいように、非自明な解を有する。この特性は、トリプレットの定義に直接従う。しかし、たとえばガウスジョルダン消去法を適用することによって、より簡単な解を得ることができる。この例示的な方法は、式の当初の組における変数の総数を低減するので、候補走査セル間のより微妙な関係を明らかにするように作用する。
【０１３５】
たとえば、例示的なコンパクタによって生成されるシグネチャが、ビットｘ１、ｘ２、およびｘ３について、それぞれ、３つの連続する「１」を装備するとする。この場合に選択される３つのトリプレット｛ｃ１，ｃ２，ｃ３｝、｛ｃ４，ｃ５，ｃ６｝、｛ｃ７，ｃ８，ｃ９｝は、以下の例示的なエラープリントを有することが可能である：
Ｅ１＝ｘ１＋ｘ２＋ｘ３    Ｅ４＝ｘ２＋ｘ３＋ｘ４    Ｅ７＝ｘ３＋ｘ４＋ｘ５
Ｅ２＝ｘ１＋ｘ２＋ｘ４    Ｅ５＝ｘ２＋ｘ３＋ｘ５    Ｅ８＝ｘ３＋ｘ４＋ｘ６
Ｅ３＝ｘ１＋ｘ３＋ｘ４    Ｅ６＝ｘ２＋ｘ４＋ｘ５    Ｅ９＝ｘ３＋ｘ５＋ｘ６            （１１）。
【０１３６】
連続トリプレットは、エラープリントによって示すように、連続時間フレームの走査セルからなることに留意されたい。したがって、線形の組は、９変数（ｃ１からｃ９の走査セル）の６つの式（シグネチャのビットｘ１からｘ６を表す）からなる：
ｃ１＋ｃ２＋ｃ３                                ＝１
ｃ１＋ｃ２      ＋ｃ４＋ｃ５＋ｃ６                ＝１
ｃ１      ＋ｃ３＋ｃ４＋ｃ５      ＋ｃ７＋ｃ８＋ｃ９＝１
ｃ２＋ｃ３＋ｃ４      ＋ｃ６＋ｃ７＋ｃ８      ＝０
ｃ５＋ｃ６＋ｃ７      ＋ｃ９＝０            （１２）。
これは、以下のように簡略化される。
【０１３７】
【数４】
0004791954.tif 000018
【０１３８】
ビットｘ１、ｘ２、およびｘ３について「１」を有するシグネチャは、セルｃ１から排他的に到着するエラーによって生成することもできることがわかる。残りのセルにはエラーはない。
【０１３９】
ここで、同様の情報を使用して、ビットｘ１およびｘ２の２つの「１」のみを有する他のシグネチャについて欠陥走査セルを決定することを想定する。トリプレット｛ｃ１，ｃ２，ｃ３｝および｛ｃ４，ｃ５，ｃ６｝を使用して、以下の式を得る：
ｃ１＋ｃ２＋ｃ３                ＝１
ｃ１＋ｃ２      ＋ｃ４＋ｃ５＋ｃ６＝１
ｃ１      ＋ｃ３＋ｃ４＋ｃ５      ＝０
ｃ２＋ｃ３＋ｃ４      ＋ｃ６＝０
ｃ５＋ｃ６＝０            （１４）。
上式は、以下のように簡略化される。
【０１４０】
【数５】
0004791954.tif 000019
【０１４１】
セルｃ３およびセルｃ４は、エラー信号を捕獲するセルとして識別される。実際には、エラープリントＥ３およびＥ４を追加することにより、（ｘ１＋ｘ３＋ｘ４）＋（ｘ２＋ｘ３＋ｘ４）＝ｘ１＋ｘ２が得られる。
【０１４２】
（コンパクタ設計の考察）
先行セクションにおいて示したように、欠陥走査セルは、トリプレットの１つのリストを選択し、１組の線形の式を形成し、式を簡略化する（たとえば、ガウスジョルダン消去法により）ことによって、１つの例示的な方法に従って識別することができる。しかし、エラーシグネチャが与えられると、トリプレットの異なる組に到達することが可能であり、これは、異なる（有効ではあるが）解をもたらすことがある。したがって、診断アルゴリズムが、欠陥走査セルの実際の位置に整合する解を可能な限り迅速に見つけることが通常望ましい。この目的は、特定の走査セルが実際のエラーを捕獲することができる可能性を追加として考慮し、その後、得た結果を検査することによって達成することができる。
【０１４３】
欠陥走査セルの最も可能性の高い位置を決定するために、特定の設計のコンパクタの構造から導出される追加情報によって、トリプレット選択プロセスを誘導することができる。この技法の詳細について、次のセクションにおいて提示する。しかし、解の数を妥当な数に減らすように管理する場合でも、エラーを捕獲する実際の走査サイトを選択するために、ある基準を使用することが望ましいはずである。通常、すべての候補解は、記録されているシグネチャに関する限り、同等である。様々な場合、区別不可能な解を有する現象は、追加のシグネチャを使用することによって克服することができる。適切な解に到達するために、第２シグネチャを使用することは、必須ではない。しかし、第２シグネチャは、性能利得を上げる可能性があり、したがって、例示的な技法として以下において使用される。
【０１４４】
１つの例示的な実施形態によれば、第２シグネチャは、注入装置多項式の異なる組を使用する同上の試験応答から生成することができる（いくつかの場合、以下で議論するように、以前の多項式で十分である可能性があるが）。２つのシグネチャＳ１およびＳ２が与えられると、第２組の注入装置多項式を使用して、Ｓ１について得た解をその後シミュレーションして、Ｓ２を生成することができるかを調べることができる。生成できない場合、他の解を決定することが望ましい。モンテカルロ実験を使用して、多重度ｋのエラーパターンおよび注入装置多項式の２つの組により当初得られた所与の対のシグネチャＳ１およびＳ２を生成する、走査セルの２つ以上の異なる組を得る確率を評価した。１、２、および４の出力を有し、かつ５０の走査チェーンによって駆動される１６、２４、および３２ビットのコンパクタの例示的な実施形態に対するこれらの実験の結果を、以下の表１３に示す。
【０１４５】
【表１３】
0004791954.tif 000020
【０１４６】
表１３に示した結果を得るために、多重度ｋの最高で５００の異なるエラーパターンを無作為に生成し、次いで、対応するシグネチャＳ１およびＳ２を計算した。次に、各Ｓ１について、２５０，０００の異なる解を決定した。表のエントリは、各場合にシグネチャＳ２をも生成することができる（２５０，０００からの）解の平均数である。表１３によって示すように、平均数は、各Ｓ１を構成する多数の解にもかかわらず、１より大きいことはまれである。
【０１４７】
同じ試験実験中に２つのシグネチャを収集するために、同じ基本設計を有するが、異なる注入装置多項式を有する他のコンパクタを使用することが可能である。両方のコンパクタは、並行して機能し、２つの独立したシグネチャを生成することができ、したがって、生成された解の迅速な検査を見込む。注入装置ネットワークの入力が、わずかに修正された方式で駆動され、かつ選択回路（たとえば、１×２デマルチプレクサ）が、両方のシグネチャを記憶する選択された宛先レジスタに注入装置ネットワークの出力を接続するように作用することを条件として、同じ結果を、単一注入装置ネットワークで達成することもできる。そのような構成の例示的な実施形態を図２９に示す。図２９では、隣接する走査チェーン２９０２の対は、２×２モジュラスイッチ２９０４を経て、注入装置ネットワーク２９１０の多項式に接続される。各スイッチ２９０４は、直線接続モードまたは交換相互接続モードで設定することができる。制御線２９０６は、走査チェーンがどのように注入装置ネットワークを特定の時間に供給すべきかを示す。制御線２９０６は、デマルチプレクサ２９０８を経た注入装置ネットワーク出力の宛先レジスタを選択することもできる。隣接走査チェーンの出力を交換することによって、２つの異なる独立したシグネチャを生成することができる。さらに、示した方式は、複雑な配線を必要としないので、レイアウトおよび経路指定が容易である。図２９に示した例示的な構成を使用して、コンパクタは、２つのシグネチャを並行して記録する能力を有することができる。
【０１４８】
示したコンパクタを動作する１つの例示的な方法によれば、走査捕獲サイクルが完了した後、各走査シフトサイクル（たとえば、走査チェーンを経た捕獲試験値の各シフト）は、２つの連続サブサイクルに分割される。第１サブサイクル中、モジュラスイッチ２９０４およびデマルチプレクサ２９０８は、直接接続モードにおいて動作するように構成される。直接接続モードでは、第１組のシグネチャビットが、第１組の注入装置多項式を介して第１組のメモリ要素２９１２にロードされる。第２サブサイクル中、モジュラスイッチ２９０４およびデマルチプレクサ２９０８は、交換相互接続モードで動作するように切り替えられる。交換相互接続モードでは、第２組のシグネチャビットが、第２組の注入装置多項式を介して、同じ走査チェーン値から生成される。このモードでは、第２組のシグネチャビットは、第２組のメモリ要素２９１４にロードされる。したがって、両方のシグネチャレジスタが、同じ試験応答から得られる固有のエラーパターンを受け取る。各パターンは、走査チェーンと注入装置多項式との間の２つの異なるマッピングによって形成される。
【０１４９】
（例示的な重み関数）
最も可能性の高い解のみを生成するために、１つの例示的な実施形態におけるトリプレット選択プロセスは、各トリプレットに関連付けられる重み関数によって誘導される。この実施形態によれば、所与のトリプレットの重みは、そのメンバ走査セルが実際のエラーパターンに属する確率に比例する。一般に、トリプレット｛ｃｉ、ｃｊ、ｃｋ｝の重みは、以下の式によって与えることができる：
Ｗ｛ｃｉ，ｃｊ，ｃｋ｝＝（ＢｉＢｊＢｋ）（ＳｉＳｊＳｋ）（１＋Ｃｉ＋Ｃｊ＋Ｃｋ）            （１６）。
式（１６）では、（ＢｉＢｊＢｋ）は、トリプレットセルがシグネチャにおいて設定する数「１」を説明し、一方、残りの２つのファクタ（（ＳｉＳｊＳｋ）および（１＋Ｃｉ＋Ｃｊ＋Ｃｋ））は、以前に適用された試験ベクトルについて得られた他のエラーパターンにおける同じセルの存在を説明する。
【０１５０】
係数Ｂｉの計算は、各走査セルに関連付けられた個々のカウンタによって実施することができる。この議論の目的では、この値は、走査セルの重みと呼ばれる。これは、セルｃｉから到着するエラーによって設定することができるシグネチャＳ１およびＳ２の両方における「１」の総数として確定される。この情報は、セルのエラープリントから容易に取り出すことができる。次いで、セルｃｉの時間フレームと同じ時間フレームを有するすべての走査セルにわたって重みを合計することによって、Ｂｉの値を決定することができる。
【０１５１】
例として、図２８に示した例示的なコンパクタ２８００について再び考慮する。例示的なコンパクタ２８００は、それぞれが５つのフリップフロップを有すると想定される６つの走査チェーンによって駆動される。例示的なコンパクタは、走査チェーン出力の対０＆１、２＆３、および４＆５に結合され、それにより交換相互接続モード（または交換モード）において交換することができる、複数の２×２モジュラスイッチをさらに含むと想定する。最後に、欠陥走査セルが、位置（４，１）を有するとする。図２８から、この特定のセルのエラープリントは、ｘ１＋ｘ３＋ｙ１（直線モード）およびｘ３＋ｙ１＋ｙ２（交換モード）によって与えられることがわかる。したがって、結果的なシグネチャＳ１およびＳ２は、以下のようになる（ビットｘ０およびｙ０は、左辺に出現する）：
Ｓ１＝０１０１０００，０１０００００    Ｓ２＝０００１０００，０１１００００            （１７）。
【０１５２】
成功走査セルの対応する重みは、この場合、以下の値を有する：
１０２１０１＋１１０１１０＝２１２２１１  ［９］
２２１２３２＋１２２１３２＝３４３３６４  ［２３］
００１１００＋１０２１１１＝１０３２１１  ［８］
１１１０１０＋１１０１０１＝２２１１１１  ［８］
００００００＋００００００＝００００００  ［０］            （１８）。
【０１５３】
初めの２つの列は、それぞれシグネチャＳ１およびＳ２に対応し、一方、第３列は、実際の重みを表す。最後の列（括弧内）は、結果的な係数Ｂｉを与える。同じ時間フレームを有する走査セルは、同じ値Ｂｉを有することに留意されたい。さらに、欠陥走査セルの重みは、式（１８）の最大値であり、値「６」を有する。
【０１５４】
そのような使用法に制約されないが、個々のセルの重みではなく、累積統計Ｂｉを使用することが望ましいことがある。その理由は、個々のセルの重みは、トリプレット選択プロセスを謝った方向に誘導することがあるからである。たとえば、走査チェーン出力対においてモジュラスイッチを有する図２８に示したコンパクタについて再び考察する。ここで、エラーパターンが、３つの走査セル：（２，１）、（３，２）、および（４，１）からなると想定する。これらの欠陥メモリ要素は、以下のシグネチャを生成する：
Ｓ１＝００１０１００，０１０００００    Ｓ２＝０００１０００，００１１０００            （１９）。
【０１５５】
したがって、重みの計算により、以下の値を得る：
２０１１１２＋１０００００＝３０１１１２  ［８］
０１１２１１＋１２１１２１＝１３２３３２  ［１４］
２１１１２１＋１１２２２１＝３２３３４２  ［１７］
００１１００＋２１１１１２＝２１２２１２  ［１０］
１１１０１０＋００００００＝１１１０１０  ［４］            （２０）。
【０１５６】
エラーを捕獲するセルに関連付けられる重みは、必ずしも最大ではないことがわかる（欠陥セルに対応するシグネチャビットに下線がつけられている）。エラーの最も可能性の高いサイトを示すために直接使用される場合、これらの数は、計算がより非効率的な診断プロセスをもたらす。そのような方法は、同じ時間フレームに関する限り、特定の走査セルを区別しない。それにもかかわらず、最大重みを有する時間フレームに属するセルが、依然として優先される。この例では、たとえば、最大累積重みは、実際の欠陥セルを含む走査セルの部分組を正確に識別する。
【０１５７】
トリプレット選択プロセスは、係数Ｂｉがシグネチャ事前処理段階中に得られた情報を搬送することを可能にすることによって、さらに改善することができる。この例示的な技法は、走査セルが、エラーをシグネチャに注入するときに、コンパクタのレジスタにおいて互いに特定の方式で相互作用するいくつかの一般的なシナリオを検出することを目的とする。したがって、走査セルが、実際の欠陥走査セルの組の一部である可能性が高いと認識された場合、それに応じて、個々の重みを増大させることができる。分析は、主に少なくとも以下の原因のために、エラーがシグネチャに出現することを示した：（ａ）単一走査セルが、形態ｘａ＋ｙｂ＋ｚｃのエラープリントを生成する（個々のカウンタは、３に等しい）；（ｂ）２つの走査セルが、そのエラープリントが以下の形態を想定するので、４つの「１」をもたらす：
Ｅ１＝ｘａ      ＋ｙｂ＋ｚｃ
Ｅ２＝ｘａ＋ｙｄ            ＋ｚｅ            （２１）；
（ｃ）２つの走査セルが、そのエラープリントの残りの要素の相互マスキングの後、２つの「１」を出力する：
Ｅ１＝ｘａ＋ｙｂ＋ｚｃ
Ｅ２＝ｘａ＋ｙｂ      ＋ｚｄ            （２２）；
（ｄ）３つの走査セルが、以下に示すように相互作用するので、５つの「１」を生成する：
Ｅ１＝ｘａ    ＋ｙｂ      ＋ｚｃ
Ｅ２＝ｘａ          ＋ｙｄ      ＋ｚｅ
Ｅ３＝    ｘｆ＋ｙｂ                  ＋ｚｇ            （２３）；
（ｅ）３つの走査セルが、そのエラープリントが以下のように調整されることを条件として、３つの「１」をもたらす：
Ｅ１＝ｘａ    ＋ｙｂ＋ｚｃ
Ｅ２＝ｘａ          ＋ｙｄ＋ｚｅ
Ｅ３＝    ｘｆ＋ｙｂ            ＋ｚｇ            （２４）；
（ｆ）３つの走査セルは、上記の式（４）および（５）によって示すように、シグネチャにおいて単一の「１」を残すこともできる；および（ｇ）様々な場合の中でも、４つの走査セルが、たとえば以下のパターンを使用することにより、それらの１つの全エラープリントをマスクすることによって、６つの「１」を生成することができる：
Ｅ１＝ｘａ        ＋ｙｂ            ＋ｚｃ
Ｅ２＝ｘａ              ＋ｙｄ            ＋ｚｅ
Ｅ３＝    ｘｆ    ＋ｙｂ                        ＋ｚｇ
Ｅ４＝        ｘｈ            ＋ｙｉ＋ｚｃ            （２５）。
いくつかの走査セルは、バーストエラー（すなわち、１つまたは２つの走査チェーンによってホストされたいくつかの隣接走査セルから注入されたエラー）に対応するチェーン構造を形成することもできる。
【０１５８】
以前の試験パターンについて得た故障診断結果は、重みの計算についても考慮される。多くの刺激では、故障は、同じ走査セル、または少なくとも同じ走査チェーンに伝播する。欠陥セルであるとすでに宣言されたセルをホストする走査チェーンに位置するセルを含むトリプレットを優先することによって、この観測を利用することができる。係数Ｓｉは、以下の方式でこれらの事象を説明するように設定することができる：セルｃｉを含む走査チェーンが、事前に指定された回数Ｑより多く以前の解に出現した場合（Ｑは１より大きい）、Ｓｉ＝Ｂｉとし、そうでない場合はＳｉ＝１とする。１つの例示的な実施形態では、閾値Ｑの値は、エラー信号を受信する限り、識別された走査チェーンのすべての出現のある端数であるように設定される。たとえば、この文献で報告する実験のすべては、Ａをすべての走査チェーンにわたる以前の解における出現の和として、Ｑ＝０．０２Ａと想定する。
【０１５９】
式（１６）は、係数Ｃｉを使用することによって、個々の走査セルも考慮に入れる。原理的には、この成分は、所与のセルが、以前に適用された試験パターンの解の一部であることが判明した回数を表す。しかし、これらのファクタが無限に増大することを防止するために、これまで使用された試験パターンの総数によってさらに除算することが可能である。
【０１６０】
ある実施形態では、係数ＳｉおよびＣｉに関する重みの情報は、連続解が得られた後、増分して更新され、効率的な診断手続きとなる。実際には、この手法は、診断アルゴリズムが新しく得られたデータに基づいてその処理を修正する、経験から学習するプロセスに類似している。この技法の追加の特徴および態様について、次のセクションで詳述する。
【０１６１】
（例示的な故障診断アルゴリズム）
このセクションは、上述したいくつかの原理および特徴をより完全な故障診断アルゴリズムに組み合わせる。記述する方法は、本明細書において開示する原理を使用する故障診断を実施する単に１つの例示的な方法であり、限定として解釈されるべきではない。代わりに、本開示は、上記で議論した原理、特徴、および態様の１つまたは複数を使用するすべての方法を包含する。
【０１６２】
例示的な実施形態では、欠陥走査セルを見つけるプロセスは、反復して進行する。最も簡単な場合から開始して、例示的な実施形態は、以前の工程において得られた情報に基づいて、より複雑な問題を解決することを段階的に試行する。
【０１６３】
図３０は、故障を診断する例示的な実施形態のフローチャート３０００である。図３０に示した例示的な方法は、たとえば、図９および図２８に例示したコンパクタのアーキテクチャ、ならびに本明細書において開示する他の実施形態と関連して使用することが可能である。プロセス・ブロック３００２において、エラーシグネチャおよびその和が、少なくとも１つの試験パターンについて決定される。１つの具体的な実施態様では、たとえば、シグネチャＳ１およびＳ２が、各試験パターンｔｉおよび計算されたビットごとの論理和ＬＳｉについて決定される。プロセス・ブロック３００４において、シグネチャは分類される。１つの具体的な実施態様では、シグネチャＬＳｉは、それが装備する数「１」に関して昇順で分類される。これらの２つのプロセス（プロセス・ブロック３００２およびプロセス・ブロック３００４）は、通常、所与の試験の組についてすべてのシグネチャが収集された後、実施される。
【０１６４】
留意したように、１つの具体的な実施態様は、シグネチャＳ１およびＳ２の各対について、復号シグネチャＬＳｉをＳ１およびＳ２のビットごとの論理和として決定することを含む。ＬＳｉにおいて生じる「１」の数は、エラーパターンの複雑さの粗い推定を提供し、したがって、欠陥走査セルを特定する試行における困難度の近似を提供する。実際、様々な実験が、ほとんどの場合、より複雑なエラーパターンが、対応するシグネチャにおいてより多くの「１」を包含することを示す。例示的な方式の自己学習行動が与えられると、すべての複合シグネチャを、それが装備する「１」の数に従って昇順で配置することが通常望ましい。したがって、まず、欠陥走査セルの予想数が比較的小さい場合について、診断することができる。その後、以前の結果に依拠して、例示的な方式は、より多くの欠陥セルを有するエラーパターンの成分を識別することを試行することができる。
【０１６５】
プロセス・ブロック３００６において、対象シグネチャを選択する。１つの具体的な実施形態では、少なくとも１つの複合シグネチャＬＳｉの元のシグネチャが取り出され、シグネチャＳ２の１つが選択される。このプロセスは、シグネチャがプロセス・ブロック３００４において分類される順序で実施することが可能である。一般に、複合シグネチャＬＳｉは、特定の試験結果を手続き中に処理すべきであるときの的確な尺度を提供する。しかし、欠陥走査セルを識別する基本的なタスクでは、検査段階中の基準として、元のシグネチャＳ１をシグネチャＳ２と共に使用すること（逆もまた同じ）が望ましい。計算を実施するためにシグネチャＳ１またはシグネチャＳ２を使用するかは、通常、各シグネチャに存在する「１」の数に依存する。上記で議論したように、コンパクタのレジスタに注入された様々なエラーは、互いに消去することが可能であり、したがって、比較的少数のエラー信号を有する診断手続きとなる（エラーパターンの多重度と比較して）。診断の論拠は、シグネチャに存在する「１」に基本的に依存するので、エラーマスキングは、トリプレットの無作為に選択された組が、エラーを捕獲するすべての走査セルを含まない確率を増大させることがある。したがって、一実施形態では、より多数の「１」を有するシグネチャが選択される。
【０１６６】
プロセス・ブロック３００８において、適切なトリプレットが、目的シグネチャについて選択される。１つの特定の実施態様では、対応するトリプレットの組が、対象シグネチャＳｉの各「１」について見つけられる（たとえば、選択されたシグネチャＳｉの連続する「１」について）。対応するトリプレットを見つける１つの例示的な手続きには、１組（またはリスト）の候補トリプレットを創出することと、組から１つのトリプレットを選択することとが含まれる。候補トリプレットの組は、たとえば、最も適切なトリプレット（たとえば、上述した重み関数によって決定された）のみを備えることが可能である。１つの特定の実施態様では、組の残りのトリプレットは保存され、あらゆる新しく創出される組が、他のリストにおいて出現するせいぜい１つの走査セルを有するトリプレットのみを含むように、他のトリプレットの組の創出中に参照される。
【０１６７】
１つの特定の実施態様では、トリプレットは、創出された候補トリプレットの組から無作為にサンプリングされる。特定のトリプレットを選択する確率は、重みに比例するように設定することができる。たとえば、連続トリプレットに関連するすべての重みは、周波数ヒストグラムのエントリとして見なすことができ、したがって、周波数に対する累積ヒストグラムに容易に変換することができる。そのようなヒストグラムは、後で正規化することができる累積ヒストグラムを得るために、所与の位置について維持されているすべての重みを共に加算することによって得ることができる。一実施態様では、正規化定数は、含まれているすべてのトリプレット重みの和である。累積統計の形態で重みデータを得た後、トリプレットを選択することができる。たとえば、Ｇ．Ｓ．フィッシュマン（Ｆｉｓｈｍａｎ）、「Ｄｉｓｃｒｅｔｅ−Ｅｖｅｎｔ  Ｓｉｍｕｌａｔｉｏｎ」、Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ、ニューヨーク（２００１）によって記載されているような逆変換法を使用することが可能である。
【０１６８】
プロセス・ブロック３０１０において、選択されたトリプレットおよびその関係するシグネチャに基づいて、１組の線形の式が形成される。プロセス・ブロック３０１２において、線形の式の組を簡略化する。たとえば、１つの例示的な実施態様では、ガウスジョルダン消去法が使用される。ガウスジョルダン消去法を使用することによって、この実施態様は、連続する列を同一形態に簡略化することができる限り、初期の解（すなわち、選択トリプレットからのすべての走査セルを備えるリスト）を改善することを試行する。この手法は、初期の解が実際のエラー試験応答を構成するすべての走査セルからなる限り、収束する。そうであっても、所望の解が得られない確率が依然として存在する。たとえば、含まれている走査セルの数が式の数より多い場合、等価な解の存在は、欠陥セルの実際の組の識別を除外することがある。そのような事象の可能性を最小限に抑えるために、最大の重みを有する走査セルを表す要素を、その要素が選択される対角位置にまず配置するように、式のある列を初めに交換することができる。この技法を使用して、以前の解における出現に基づく最終解の一部である可能性が最も高い変数（走査セル）が優先されることを保証することができる。
【０１６９】
プロセス・ブロック３０１４において、結果的な解が両方のシグネチャを生成するかを判定する。両方のシグネチャが生成される場合、プロセス・ブロック３０１６において、解を受け取り、対応する重み情報を更新し、プロセスは、次のシグネチャＬＳｉについて繰り返される。現行解が第２シグネチャを生成しない場合、例示的な方法は、プロセス・ブロック３００８に戻る。これは、トリプレット選択プロセスを新たに開始することとほぼ同等である。ある状況では、少数の妥当な解を生成して、追加の選択基準を使用して最終解を選ぶことが望ましい可能性がある。たとえば、基準は、最小数の走査チェーンまたは最小数の走査セルを有する解を選択するとすることが可能である。例示的な方法の時間効率は、どの程度迅速にトリプレットの適切な組を見つけるかに大きく依存する。以下の実験結果のセクションにおいて、欠陥走査セルの成功識別を完了するのに必要な反復の平均数をいくつかの実験について与える。
【０１７０】
例示的な方法は、開示する原理から逸脱せずに、いくつかの方式で修正することができる。たとえば、方法は、平均成功診断時間が、シグネチャの「１」の数が増大する際に制限されるように修正することができる。この修正は可能であるが、その理由は、エラー信号は、シグネチャにおいてクラスタとしてしばしば出現するからである。したがって、例示的な方法の実施形態のいずれも、全シグネチャについてではなく、各クラスタについて個々に実施することができる。そのようなクラスタを迅速に識別するために、走査セルカウンタを使用することができる。所与の時間フレーム（または連続時間フレーム）に関連するすべてのカウンタがゼロに等しい場合、シグネチャにおける対応する無エラー位置は、診断プロセスを分割する方式を表すと見なすことができる。
【０１７１】
（実験結果）
上述した方法の例示的な実施態様を使用して、いくつかの実験を実施した。具体的には、例示的な実施態様は、以下の行為を備えていた：（１）各試験パターンｔｉについて、シグネチャＳ１およびＳ２を決定し、そのビットごとの論理和（ＯＲ）ＬＳｉを計算した；（２）複合シグネチャＬＳｉを、それが装備する「１」の数に関して昇順で分類した；（３）分類順序に続いて、元のシグネチャＳ１およびＳ２を各シグネチャＬＳｉについて取り出し、「１」の最大数を有する対象シグネチャＳｉを選択した；（４）対象シグネチャＳｉに出現する各「１」について、走査セルの１組の対応するトリプレットを創出し、その組の１つのトリプレットを無作為に選択した（組の残りのトリプレットは、同じトリプレットを再度処理することを回避するために保存された）；（６）選択されたトリプレットおよび関係するシグネチャに基づいて、線形の式の組を形成した；（７）ガウスジョルダン消去法を使用して、線形の式の組を簡略化した；（８）結果的な解が両方のシグネチャを生成した場合、解を受容し、そうでない場合は、トリプレットの創出および選択プロセスを繰り返した。
【０１７２】
実験の１つの目的は、収集された試験応答に基づく連続試験パターンについて欠陥走査セルの当初のサイトを再創出するために、例示的な方式の能力を調査することであった。実験は、いくつかの大規模ＩＳＣＡＳ’８９ベンチマーク回路および業界設計について実施された。ゲート、走査セル、および走査チェーンの数を含めて、試験された回路の特性を、それぞれ表１４および１５に与える。市販ＡＴＰＧツールを使用して、実験に使用された試験の組を生成した。
【０１７３】
【表１４】
0004791954.tif 000021
【０１７４】
価値のある２つの基本的なフィギュアを使用した：診断方式の診断カバレージおよび計算の複雑さ。試験の組Ｔが与えられると、診断カバレージが、診断可能な故障の割合として確定される。診断アルゴリズムを使用して、故障によって影響を受けるすべての走査セルを的確に識別することができる場合、故障は診断可能であると言われる。試験の組は、各故障を数回検出することができ、影響を受けた走査セルの部分組は、毎回異なる可能性があることに留意されたい。この議論の目的では、Ｔ（ｆｉ）⊂Ｔが故障ｆｉを検出する試験パターンの部分組であり、かつ異なるエラーパターンをもたらすとする。また、Ｃ（ｆｉ，ｔｊ）を、試験パターンｔｊ∈Ｔ（ｆｉ）が適用されたとき、故障ｆｉによって影響を受ける走査セルの組とし、Ｄ（ｆｉ，ｆｊ）を、例示的な診断手続きによって決定される欠陥走査セルの組とする。次いで、診断カバレージを以下の２つの異なる方式で測定することができる：（１）基本的な診断カバレージ、および（２）複合診断カバレージ。
【０１７５】
基本診断カバレージ（ＢＤＣ）では、対応する故障走査セルが完全に的確に識別される少なくとも１つの試験パターンが存在する場合、故障の診断は成功であると宣言される。したがって、ＢＤＣは、以下の式によって与えられる。
【０１７６】
【数６】
0004791954.tif 000022
【０１７７】
上式で、Ｆは故障の総数、ｄｉは、Ｃ（ｆｉ，ｔｊ）＝Ｄ（ｆｉ，ｔｊ）であるようにｔｊが存在するとすれば１に等しく、そうでない場合は、ｄｉは「０」に等しい。
複合診断カバレージでは、故障ｆｉを検出するＴ（ｆｉ）からの試験パターンが与えられると、診断能力が、エラーパターンの一部として決定される（すなわち、的確に識別することができる欠陥走査セルの組）。この場合、複合診断カバレージ（ＣＤＣ）は、以下のように表すことができる。
【０１７８】
【数７】
0004791954.tif 000023
【０１７９】
上式で、ωｉは、Ｔ（ｆｉ）からの試験パターンが適用されたとき、ｆｉによって生じる異なるエラーパターンの数、ｄｉｊは、Ｃ（ｆｉ，ｔｊ）＝Ｄ（ｆｉ，ｔｊ）である場合、「１」に等しく、そうでない場合は「０」に等しい。式（２７）の第２和は、異なるエラーパターンをもたらす試験パターンを示す指標ｊによって管理されることを思い出されたい。
【０１８０】
価値のある第２の数である診断方式の計算の複雑さは、生成されるトリプレットの組の数として報告され、その後、故障によって影響を受ける走査セルのサイトが、適切に識別される。例示的な手続きを実施するために必要な反復数は、主にトリプレットリストのサイズによって影響を受ける。このファクタは、通常、以下のようにコンパクタのアーキテクチャの詳細に依存する：（１）反復数は、走査チェーンの数の増大と共に増大する（より多くの注入装置多項式は、所与のシグネチャビットを設定するより多くの機会をもたらす）；（２）反復数は、コンパクタのサイズＭの増大と共に減少する；および（３）コンパクタのサイズが与えられると、反復数は、出力（またはサブレジスタ）の数の増大と共にさらに減少する。したがって、過度に短いまたは過度に長いトリプレットの組を使用することによって、診断時間効率または診断の質を損わないコンパクタのアーキテクチャを選択することが望ましい。
【０１８１】
ＩＳＣＡＳ’８９ベンチマーク回路について表１４において報告したすべての実験では、コンパクタの３つの異なる例示的な実施形態が使用された。各コンパクタについて、メモリ要素の数Ｍおよびコンパクタ出力の数を表の指定の列において与える。メモリ要素の数は、使用可能な多項式の総数が走査チェーンの数より著しく多くなるように選択された。一般に、そのような設計により、エラーマスキングの確率は低減され、かつ診断分解能は高く維持される。ＩＳＣＡＳ’８９回路のそれぞれについて、以下の情報も表において提供される：ゲートおよび走査セルの数、走査チェーンに伝播する障害の数、基本診断カバレージ、および複合診断カバレージ。基本診断カバレージおよび複合診断カバレージが処理時間にどのように依存するかを示すために、表１４は、影響を受けた走査セルを的確に識別するために必要な反復数が所与の閾値に設定されるときに得られる結果的な診断カバレージをも示す。閾値は、基本診断カバレージ（ＢＤＣ）および複合診断カバレージ（ＣＤＣ）の見出しの下の３つのそれぞれの列に示されている。表１４からわかるように、非常に高いＢＤＣが、すべての調査回路について達成された。さらに、多数回検出された障害によって生成された様々なエラーパターンにもかかわらず、わずかに劣るＣＤＣが、すべての場合において観測された。適切な解が見つけられる前に実施された反復の平均数（すべての障害にわたる）は、表の最後の列において提供され、１０，０００の反復閾値を想定する。この列に示すように、最適な診断結果は、各場合に１，２００未満の反復において達成された。
【０１８２】
追加の実験が、５つの業界設計について実施された。いくつかの代表的な結果を表１５に提示する。表１５に示した設計では、３２ビット２出力コンパクタが使用される設計Ｄ１を除いて、４８ビット４出力コンパクタが使用された。さらに、これらの実験中、未知状態のすべての源がマスクされた。非常に高い基本診断カバレージが、すべての場合に達成されたことがわかる。さらに、複合診断カバレージは、決して８３％未満にはならなかった。
【０１８３】
【表１５】
0004791954.tif 000024
【０１８４】
一般に、開示するコンパクタのアーキテクチャと関連する開示する診断方式は、埋込み決定論的試験の要件と極度によく整合する特性を提示する。この方式の実施形態は、故障回路のコンパクト化試験応答から欠陥走査セルを直接識別する能力を提供することによって、非常に高い質の試験を支持する。したがって、従来の試験および診断の技法とは対照的に、開示する手法は、試験パターンの１回の適用中に、すべての該当する診断データを収集することができる。この特徴を使用して、試験装置の要件および製造試験フローを大きく簡略化することができる。
【０１８５】
分散コンピュータネットワークを使用して、上述した技術の態様のいずれかを実施または設計することが可能である。図３１は、１つのそのような例示的なネットワークを示す。サーバコンピュータ３１００が、関連する記憶装置３１０２を有することができる（サーバコンピュータの内部または外部にある）。たとえば、サーバコンピュータ３１００は、上述した実施形態のいずれかによるコンパクタ構成要素を設計する（たとえば、設計、検査、またはシミュレーションのツールなど、ＥＤＡソフトウェアツールの一部として）、または開示する実施形態のいずれかによる障害診断技法を実施する（たとえば、埋込み決定論的試験（ＥＤＴ）もしくはＡＴＰＧツールなど、ＥＤＡソフトウェアツールの一部として）ように構成することができる。サーバコンピュータ３１００は、たとえばワイドエリアネットワーク、ローカルエリアネットワーク、クライアントサーバネットワーク、インターネット、または他のそのようなネットワークを備えることができる３１０４において全体的に示すネットワークに結合することが可能である。３１０６、３１０８において示すような１つまたは複数のクライアントコンピュータを、ネットワークプロトコルを使用して、ネットワーク３１０４に結合することが可能である。
【０１８６】
図３２は、図３１に示したサーバコンピュータ３１００など、遠隔サーバコンピュータを使用する本明細書において開示する実施形態のいずれかによるコンパクタアーキテクチャの設計情報を含むように、設計情報（たとえば、ネットリストまたはＨＤＬデータベース）を含むデータベースを更新することが可能であることを示す。プロセス・ブロック３２５０において、たとえば、クライアントコンピュータは、開示する圧縮方法のいずれかを使用して、および／または開示するコンパクタアーキテクチャのいずれかを使用して圧縮される試験応答を捕獲する走査チェーンを有する回路に関する設計データを送信する。たとえば、クライアントコンピュータは、ネットリストまたは他のＥＤＡ設計データベースを送信することが可能である。プロセス・ブロック３２５２において、データは、サーバコンピュータによって受信され、ロードされる。プロセス・ブロック３２５４において、データベースによって確定される回路は、開示する実施形態のいずれかによるコンパクタアーキテクチャを含むように更新される。次いで、更新された設計を表す新しいデータベースを創出することができる。この新しい設計データは、設計データベースの更新バージョンまたは１つまたは複数の別のデータベースとして記憶することができる。プロセス・ブロック３２５６において、サーバコンピュータは、更新データベースまたは他のデータベースをクライアントコンピュータに送信し、クライアントコンピュータは、プロセス・ブロック３２５８においてデータベースを受信する。当業者には、図３２に示した例は、該当する設計データを含むために設計データベースを更新する唯一の方式ではないことが明らかなはずである。たとえば、設計データは、ネットワーク上になく、かつサーバに別個に送信されるコンピュータ可読媒体に記憶することが可能である。または、サーバコンピュータは、設計手続きの一部のみを実施することが可能である。
【０１８７】
本明細書において記述する故障診断手続きのいずれかは、図３２に関して上述したネットワーク上で実施することも可能である。たとえば、開示した技術によるコンパクタを有する回路の設計情報を記憶するコンピュータ可読媒体を、図３１に示したサーバコンピュータ３１００など、遠隔サーバコンピュータに送信することが可能である。次いで、遠隔サーバコンピュータは、記憶された回路設計の障害診断手続きおよびコンパクタアーキテクチャの開示した実施形態の１つを実施することができる。次いで、故障診断手続きの結果（たとえば、設計における欠陥走査セルのリスト）を別のまたは更新されたデータベースに記憶することができる。次いで、結果を記憶するコンピュータ可読媒体を、再びクライアントコンピュータに送信することができる。
【０１８８】
示した実施形態の原理について示し、記述してきたが、当業者には、実施形態は、そのような原理から逸脱せずに、構成および詳細について修正することができることが明らかになるであろう。たとえば、１つまたは複数のレジスタ（たとえば、シャドーレジスタ）を使用して、コンパクタの出力からの値を受信および記憶（並列または直列で）することができる。上述した構成要素のいずれも、所望の機能を達成するように、様々な異なる論理ゲートを使用して作成することができる。上述した選択回路の他に、開示したコンパクタは、当技術分野において既知の様々な他の選択および制御回路と共に使用することができる。
【０１８９】
多くの可能な実施形態を考慮すると、示した実施形態は、例のみを含み、本発明の範囲に対する限定として見なされるべきではないことが理解されるであろう。むしろ、本発明は、以下の請求項によって確定される。したがって、本発明として、これらの請求項の範囲内にあるすべてのそのような実施形態を主張する。
【図面の簡単な説明】
【０１９０】
【図１】集積回路を試験する自動試験機器を使用する従来の技術のシステムのブロック図である。
【図２】組込み型自己試験システムを使用する従来の技術のシステムのブロック図である。
【図３】従来の技術の外部フィードバックＬＦＳＲコンパクタの回路図である。
【図４】従来の技術の外部フィードバックＬＦＳＲコンパクタの回路図である。
【図５】走査チェーンから入力を受け取ることを示す、複数入力シグネチャレジスタ（ＭＩＳＲ）コンパクタの従来の技術のアーキテクチャの回路図である。
【図６】従来の技術のパイプライン化空間コンパクタの回路図である。
【図７】例示的なコンパクタの実施形態を備える集積回路のブロック図である。
【図８】メモリ要素およびコンパクタ出力を備える、図７の例示的なコンパクタの１つの形態をより詳細に示すブロック図である。
【図９】図７のコンパクタにおいて使用することができるような例示的な注入装置ネットワークの１つの形態を示すブロック図である。
【図１０】１つの例示的な方法による注入装置ネットワークを設計するプロセスを示すブロック図である。
【図１１】図１０に示したゲート構成からの例示的な出力パターンを示す図である。
【図１２】フィードバックループを含むコンパクタの実施形態を示す図である。
【図１３】走査チェーン出力の一部を選択的に遮断する例示的な選択回路の１つの形態を有するコンパクタの実施形態を示す図である。
【図１４】走査チェーン出力の一部を選択的に遮断する選択回路の代替形態を有する他のコンパクタの実施形態を示す図である。
【図１５】例示的なバイパスモードを含むコンパクタの実施形態を示す図である。
【図１６】バイパスモードの代替形態を含む他のコンパクタの実施形態を示す図である。
【図１７】構成レジスタによって制御される選択装置ネットワークの１つの形態に結合されたコンパクタの実施形態を示す図である。
【図１８】カウンタによって制御される選択装置ネットワークの他の形態に結合されたコンパクタの実施形態を示す図である。
【図１９−Ａ】例示的な直列入力並列出力レジスタに結合された入力を有するコンパクタの実施形態を示す図である。
【図１９−Ｂ】それぞれの走査チェーンの複数の走査セルに結合された入力を有するコンパクタの実施形態を示す図である。
【図２０−Ａ】出力論理により１組のメモリ要素に結合される出力を有する注入装置ネットワークの実施形態を示す図である。
【図２０−Ｂ】例示的な直列入力並列出力レジスタに結合される出力を有するコンパクタの実施形態を示す図である。
【図２０−Ｃ】フィードバックループを含む他のコンパクタの実施形態を示す図である。
【図２１】様々な例示的なコンパクタについて、未知状態を生成する走査セルの一部の関数として走査セルの可観測性を示すグラフである。
【図２２】様々な例示的なコンパクタについて、異なるレベルのコンパクションにおける未知状態のために遮断された走査セルを示すグラフである。
【図２３】例示的なコンパクタの様々なレジスタのサイズについて、診断分解能をエラー多重度の関数として示すグラフである。
【図２４】様々な例示的なコンパクタについて、診断分解能を時間スパンの関数として示すグラフである。
【図２５】例示的なコンパクタの１つの形態を設計する方法のフローチャートである。
【図２６】コンパクタの例示的な実施形態を使用して試験中回路の試験応答を圧縮する例示的な方法のフローチャートである。
【図２７】例示的なコンパクタを設計する方法の他の実施形態のフローチャートである。
【図２８】開示する故障診断手続きの特徴および態様を示すために使用されるコンパクタの実施形態を示す図である。
【図２９】故障診断中に使用することが可能である例示的な切替え方式を示すコンパクタの実施形態を示す図である。
【図３０】開示するコンパクタの実施形態を使用して故障を診断する例示的な方法のフローチャートである。
【図３１】開示する技術による、または開示する診断手続きの実施形態を実施するコンパクタの設計および／または実施に使用することが可能であるクライアント／サーバネットワークのシステム図である。
【図３２】たとえば図３１のネットワークの使用によるデータベースの創出を示すフローチャートである。
【図１】
0004791954.tif 000025
【図２】
0004791954.tif 000026
【図３】
0004791954.tif 000027
【図４】
0004791954.tif 000028
【図５】
0004791954.tif 000029
【図６】
0004791954.tif 000030
【図７】
0004791954.tif 000031
【図８】
0004791954.tif 000032
【図９】
0004791954.tif 000033
【図１０】
0004791954.tif 000034
【図１１】
0004791954.tif 000035
【図１２】
0004791954.tif 000036
【図１３】
0004791954.tif 000037
【図１４】
0004791954.tif 000038
【図１５】
0004791954.tif 000039
【図１６】
0004791954.tif 000040
【図１７】
0004791954.tif 000041
【図１８】
0004791954.tif 000042
【図１９−Ａ】
0004791954.tif 000043
【図１９−Ｂ】
0004791954.tif 000044
【図２０−Ａ】
0004791954.tif 000045
【図２０−Ｂ】
0004791954.tif 000046
【図２０−Ｃ】
0004791954.tif 000047
【図２１】
0004791954.tif 000048
【図２２】
0004791954.tif 000049
【図２３】
0004791954.tif 000050
【図２４】
0004791954.tif 000051
【図２５】
0004791954.tif 000052
【図２６】
0004791954.tif 000053
【図２７】
0004791954.tif 000054
【図２８】
0004791954.tif 000055
【図２９】
0004791954.tif 000056
【図３０】
0004791954.tif 000057
【図３１】
0004791954.tif 000058
【図３２】
0004791954.tif 000059