(57)【要約】      （修正有）【課題】スキャンベースの集積回路中のＡＴＥでのテストデータ量およびテスト適用時間を削減する。【解決手段】複数のスキャンチェーンを含むスキャンベースの集積回路において、ブロードキャスタ２０８を設け、ブロードキャスタ２０８内に仮想スキャン制御機構およびスキャンコネクタを持つ。ブロードキャスタ２０８の機能は、仮想スキャン制御機構に記憶された値のプログラム可能な機能であり、実現され得るマッピング数には限界がなく、これによって従来のブロードキャストスキャンの厳しい入力制約条件が緩和され、より多くのテスト可能故障をテストするためのブロードキャストスキャンパターン２１９を生成する能力が強化される。【選択図】図２
2010107516.tif 000002
【特許請求の範囲】
【請求項１】
ブロードキャストスキャン入力を備え、スキャンベースの集積回路をテストするブロードキャストスキャンパターンを生成するために前記ブロードキャストスキャン入力を介して仮想スキャンパターンを受け入れるブロードキャスタであって、前記スキャンベースの集積回路が複数のスキャンチェーンを含み、各スキャンチェーンが直列に結合された複数のスキャンセルを含み、
ａ）ＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、ＮＯＲゲート、ＸＯＲゲート、ＸＮＯＲゲート、マルチプレクサ、バッファ、インバータ、またはそれらの任意の組合せを含めて、１つまたは複数の論理ゲートを含む組合せ論理ネットワーク
を含むブロードキャスタ。
【請求項２】
さらに、第１のスキャンコネクタを使用して２つの選択されたスキャンチェーンを１つの長いスキャンチェーンに併合するブロードキャスタであって、前記第１のスキャンコネクタが、バッファ、インバータ、またはインバータおよびＤフリップフロップやＤラッチなどのメモリ素子を含むロックアップ素子である請求項１に記載のブロードキャスタ。
【請求項３】
さらに、選択されたスキャンチェーンに第２のスキャンコネクタを挿入して前記選択されたスキャンチェーンの他の選択されたスキャンチェーンとの相互依存性を低減または除去するブロードキャスタであって、前記第２のスキャンコネクタが１つまたは複数のスペアスキャンセルをさらに含む請求項１に記載のブロードキャスタ。
【請求項４】
さらに、前記仮想スキャンパターンが前記ブロードキャスタの前記ブロードキャストスキャン入力に送られ、前記ブロードキャスタによって生成された前記ブロードキャストスキャンパターンが前記スキャンベースの集積回路中の前記スキャンチェーンの選択されたスキャンデータ入力に送られる請求項１に記載のブロードキャスタ。
【請求項５】
さらに、前記仮想スキャンパターンがＡＴＥ（自動テスト装置）に記憶され、前記仮想スキャンパターンが前記ブロードキャスタに送られ、前記ブロードキャスタによって生成された前記ブロードキャストスキャンパターンが、前記スキャンベースの集積回路内の、縮退故障、タイミング故障、パス遅延故障、ＩＤＤＱ（ＩＤＤ静止電流）故障、およびブリッジ故障を含む製造故障をテストするために前記スキャンベースの集積回路に送られる請求項１に記載のブロードキャスタ。
【請求項６】
さらに、選択的に、前記スキャンベースの集積回路の内部または外部に配置される請求項１に記載のブロードキャスタ。
【請求項７】
ブロードキャストスキャン入力を備え、スキャンベースの集積回路をテストするブロードキャストスキャンパターンを生成するために、前記ブロードキャストスキャン入力および仮想スキャン入力を介して仮想スキャンパターンを受け入れるブロードキャスタであって、前記スキャンベースの集積回路が複数のスキャンチェーンを含み、各スキャンチェーンが直列に結合された複数のスキャンセルを含み、
ａ）各シフトサイクル中または各テストセッション間に前記ブロードキャスタの動作を制御する仮想スキャン制御機構と、
ｂ）ＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、ＮＯＲゲート、ＸＯＲゲート、ＸＮＯＲゲート、マルチプレクサ、バッファ、インバータ、またはそれらの任意の組合せを含めて、１つまたは複数の論理ゲートを含む組合せ論理ネットワークと
を含むブロードキャスタ。
【請求項８】
さらに、第１のスキャンコネクタを使用して選択された２つのスキャンチェーンを１つの長いスキャンチェーンに併合するブロードキャスタであって、前記第１のスキャンコネクタが、バッファ、インバータ、またはインバータおよびＤフリップフロップやＤラッチなどのメモリ素子を含むロックアップ素子である請求項７に記載のブロードキャスタ。
【請求項９】
さらに、第２のスキャンコネクタを選択されたスキャンチェーンに挿入して前記選択されたスキャンチェーンの他のスキャンチェーンとの相互依存性を低減または除去するブロードキャスタであって、前記第２のスキャンコネクタが１つまたは複数のスペアスキャンセルをさらに含む請求項７に記載のブロードキャスタ。
【請求項１０】
さらに、第３のスキャンコネクタを使用して選択されたスキャンチェーンを２つ以上の短いスキャンチェーンに分割し、または複数の選択されたスキャンチェーンを１つの長いスキャンチェーンに併合するブロードキャスタであって、前記第３のスキャンコネクタが１つまたは複数のマルチプレクサをさらに含み、前記マルチプレクサが前記仮想スキャン制御機構によって制御される請求項７に記載のブロードキャスタ。
【請求項１１】
前記仮想スキャン制御機構が１つまたは複数のバッファまたはインバータをさらに含む請求項７に記載のブロードキャスタ。
【請求項１２】
前記仮想スキャン制御機構が復号器である請求項７に記載のブロードキャスタ。
【請求項１３】
前記仮想スキャン制御機構が、ＤフリップフロップやＤラッチなど１つまたは複数のメモリ素子を含む有限状態機械であり、テストセッションを開始する前に前記有限状態機械に所定の状態がロードされる請求項７に記載のブロードキャスタ。
【請求項１４】
前記仮想スキャン制御機構がシフトレジスタである請求項１３に記載のブロードキャスタ。
【請求項１５】
さらに、前記仮想スキャンパターンが、前記ブロードキャスタの前記仮想スキャン入力と前記ブロードキャストスキャン入力に送られ、前記ブロードキャスタによって生成された前記ブロードキャストスキャンパターンが前記スキャンベースの集積回路中の前記スキャンチェーンの選択されたスキャンデータ入力に送られる請求項７に記載のブロードキャスタ。
【請求項１６】
前記仮想スキャンパターンがＡＴＥ（自動テスト装置）中に記憶され、前記仮想スキャンパターンが前記ブロードキャスタに送られ、前記ブロードキャスタによって生成された前記ブロードキャストスキャンパターンが、前記スキャンベースの集積回路内の、縮退故障、タイミング故障、パス遅延故障、ＩＤＤＱ（ＩＤＤ静止電流）故障、およびブリッジ故障を含む製造故障をテストするために前記スキャンベースの集積回路に送られる請求項７に記載のブロードキャスタ。
【請求項１７】
前記ブロードキャスタが、選択的に、前記スキャンベースの集積回路の内部または外部に配置される請求項７に記載のブロードキャスタ。
【請求項１８】
ブロードキャスタによってスキャンベースの集積回路をテストするブロードキャストスキャンパターンを生成するためにＡＴＥ（自動テスト装置）に記憶された仮想スキャンパターンを受け入れるシステムであって、前記スキャンベースの集積回路が複数のスキャンチェーンを含み、各スキャンチェーンが直列に結合された複数のスキャンセルを含み、前記スキャンチェーンが前記ブロードキャスタに結合され、
ａ）前記ブロードキャスタが前記ＡＴＥと前記スキャンベースの集積回路の間に配置され、
ｂ）前記スキャンベースの集積回路中の製造故障をテストする前記ブロードキャストスキャンパターンを生成するために、前記ＡＴＥに記憶された新規の前記仮想スキャンパターンが前記ブロードキャスタに送られ、
ｃ）前記スキャンベースの集積回路のテスト応答がその期待されるテスト応答と比較され、
ｄ）所定の限界基準が満たされるまでステップ（ｂ）から（ｃ）が繰り返される
システム。
【請求項１９】
前記ブロードキャスタが、ＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、ＮＯＲゲート、ＸＯＲゲート、ＸＮＯＲゲート、マルチプレクサ、バッファ、インバータ、またはそれらの任意の組合せを含めて、１つまたは複数の論理ゲートを含む組合せ論理ネットワークである請求項１８に記載のシステム。
【請求項２０】
前記ブロードキャスタが、さらに、複数のスキャンコネクタを使用して前記組合せ論理ネットワークの出力を前記スキャンベースの集積回路中の選択されたスキャンチェーン入力に結合し、前記複数のスキャンコネクタが、１つまたは複数のバッファ、インバータ、各々がインバータおよびＤフリップフロップやＤラッチなどのメモリ素子を含むロックアップ素子、スペアスキャンセル、マルチプレクサ、またはそれらの任意の組合せを含む請求項１９に記載のシステム。
【請求項２１】
前記ブロードキャスタが、さらに、仮想スキャン制御機構を使用して前記組合せ論理ネットワークを制御し、前記仮想スキャン制御機構が、各シフトサイクル中または各テストセッション間に前記ブロードキャスタの動作を制御する請求項１９に記載のシステム。
【請求項２２】
前記仮想スキャン制御機構が１つまたは複数のバッファまたはインバータをさらに含む請求項２１に記載のシステム。
【請求項２３】
前記仮想スキャン制御機構が復号器である請求項２１に記載のシステム。
【請求項２４】
前記仮想スキャン制御機構が、ＤフリップフロップやＤラッチなど１つまたは複数のメモリ素子を含む有限状態機械であり、テストセッションを開始する前に前記有限状態機械に所定の状態がロードされる請求項２１に記載のシステム。
【請求項２５】
前記仮想スキャン制御機構がシフトレジスタである請求項２４に記載のシステム。
【請求項２６】
前記ブロードキャスタが、選択的に、前記スキャンベースの集積回路内または前記ＡＴＥ内に配置される請求項１８に記載のシステム。
【請求項２７】
前記スキャンベースの集積回路のテスト応答がその期待されるテスト応答と比較される前記ステップが、さらに、比較のために前記集積回路の選択された出力を圧縮する圧縮器を使用するステップをさらに含み、前記圧縮器が、選択的に、前記ＡＴＥでシミュレーションを使用してモデル化され、または前記スキャンベースの集積回路と前記ＡＴＥの間に配置される請求項１８に記載のシステム。
【請求項２８】
前記圧縮器が、選択的に、ＸＯＲネットワークまたはマルチ入力シグネチャレジスタ（ＭＩＳＲ）とされ、前記マルチ入力シグネチャレジスタ（ＭＩＳＲ）が、複数のＸＯＲゲートおよびＤフリップフロップやＤラッチなど複数のメモリ素子をさらに含む請求項２７に記載のシステム。
【請求項２９】
前記圧縮器が、さらに、マスクネットワークを使用して、選択されたスキャンチェーン中の選択されたスキャンセルのテストまたは診断を使用可能または使用不能にし、前記マスクネットワークが１つまたは複数のＡＮＤゲートを含む請求項２７に記載のシステム。
【請求項３０】
前記圧縮器が、選択的に、前記スキャンベースの集積回路内または前記ＡＴＥ内に配置される請求項２７に記載のシステム。
【請求項３１】
前記ブロードキャストスキャンパターンが、前記スキャンベースの集積回路中の、縮退故障、タイミング故障、パス遅延故障、ＩＤＤＱ（ＩＤＤ静止電流）故障、およびブリッジ故障を含む前記製造故障をテストするように選択される請求項１８に記載のシステム。
【請求項３２】
ブロードキャスタによってスキャンベースの集積回路をテストするブロードキャストスキャンパターンを生成するためにＡＴＥ（自動テスト装置）に記憶された仮想スキャンパターンを受け入れるシステムであって、前記スキャンベースの集積回路が複数のスキャンチェーンを含み、各スキャンチェーンが直列に結合された複数のスキャンセルを含み、前記スキャンチェーンが前記ブロードキャスタに結合され、前記システムが、
ａ）シミュレーションを使用して、前記ＡＴＥで前記ブロードキャスタをモデル化し、
ｂ）前記シミュレートされたブロードキャスタモデルを使用して前記ブロードキャストスキャンパターンを生成するために、前記ＡＴＥに記憶された新規の前記仮想スキャンパターンを適用し、
ｃ）前記スキャンベースの集積回路中の製造故障をテストするために、前記ＡＴＥで前記ブロードキャスタによって生成された前記ブロードキャストスキャンパターンを前記スキャンベースの集積回路中の前記スキャンチェーンに送り、
ｄ）前記スキャンベースの集積回路のテスト応答を期待されるテスト応答と比較し、
ｅ）所定の限界基準が満たされるまでステップ（ｂ）から（ｄ）を繰り返す
システム。
【請求項３３】
前記ブロードキャスタが、ＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、ＮＯＲゲート、ＸＯＲゲート、ＸＮＯＲゲート、マルチプレクサ、バッファ、インバータ、またはそれらの任意の組合せを含めて、１つまたは複数の論理ゲートを含む組合せ論理ネットワークである請求項３２に記載のシステム。
【請求項３４】
前記ブロードキャスタが、さらに、複数のスキャンコネクタを使用して、前記組合せ論理ネットワークの出力を、前記スキャンベースの集積回路中の選択されたスキャンチェーン入力に結合し、前記複数のスキャンコネクタが、１つまたは複数のバッファ、インバータ、各々がインバータおよびＤフリップフロップやＤラッチなどのメモリ素子を含むロックアップ素子、スペアスキャンセル、マルチプレクサ、またはそれらの任意の組合せを含む請求項３３に記載のシステム。
【請求項３５】
前記ブロードキャスタが、さらに、仮想スキャン制御機構を使用して前記組合せ論理ネットワークを制御し、前記仮想スキャン制御機構が、各シフトサイクル中または各テストセッション間に前記ブロードキャスタの動作を制御する請求項３３に記載のシステム。
【請求項３６】
前記仮想スキャン制御機構が１つまたは複数のバッファまたはインバータをさらに含む請求項３５に記載のシステム。
【請求項３７】
前記仮想スキャン制御機構が復号器である請求項３５に記載のシステム。
【請求項３８】
前記仮想スキャン制御機構が、ＤフリップフロップやＤラッチなど１つまたは複数のメモリ素子を含む有限状態機械であり、テストセッションを開始する前に前記有限状態機械に所定の状態がロードされる請求項３５に記載のシステム。
【請求項３９】
前記仮想スキャン制御機構がシフトレジスタである請求項３８に記載のシステム。
【請求項４０】
前記スキャンベースの集積回路のテスト応答を期待されるテスト応答と比較する前記ステップが、比較のために圧縮器を使用して前記集積回路の選択された出力を圧縮するステップをさらに含み、前記圧縮器が、選択的に、シミュレーションを使用して前記ＡＴＥでモデル化され、または前記スキャンベースの集積回路と前記ＡＴＥの間に配置される請求項３２に記載のシステム。
【請求項４１】
前記圧縮器が、選択的に、ＸＯＲネットワークまたはマルチ入力シグネチャレジスタ（ＭＩＳＲ）とされ、前記マルチ入力シグネチャレジスタ（ＭＩＳＲ）が、複数のＸＯＲゲートおよびＤフリップフロップやＤラッチなどの複数のメモリ素子をさらに含む請求項４０に記載のシステム。
【請求項４２】
前記圧縮器が、さらに、マスクネットワークを使用して、選択されたスキャンチェーン中の選択されたスキャンセルのテストまたは診断を使用可能または使用不能にし、前記マスクネットワークが１つまたは複数のＡＮＤゲートを含む請求項４０に記載のシステム。
【請求項４３】
前記圧縮器が、選択的に、前記スキャンベースの集積回路内または前記ＡＴＥ内に配置される請求項４０に記載のシステム。
【請求項４４】
前記ブロードキャストスキャンパターンが、前記スキャンベースの集積回路内の、縮退故障、タイミング故障、パス遅延故障、ＩＤＤＱ（ＩＤＤ静止電流）故障、およびブリッジ故障を含む製造故障をテストするように選択される請求項３２に記載のシステム。
【請求項４５】
スキャンベースの集積回路をテストするブロードキャストスキャンパターンを生成するためにスキャンセルを再配列する方法であって、前記スキャンベースの集積回路が複数のスキャンチェーンを含み、各スキャンチェーンが直列に結合された複数のスキャンセルを含み、前記スキャンチェーンがブロードキャスタに結合され、
ａ）ＲＴＬ（レジスタ転送レベル）またはゲートレベルでモデル化された前記スキャンベースの集積回路を表すＨＤＬ（ハードウェア記述言語）コードを順次回路モデルにコンパイルするステップと、
ｂ）前記ブロードキャスタの設計に基づいて元のスキャン順序、および選択されたスキャンチェーンに対する１組のスキャン順序制約条件を確立するステップと、
ｃ）前記順次回路モデルを等価の組合せ回路モデルに変換するステップと、
ｄ）前記元のスキャン順序および前記スキャン順序制約条件に従って前記選択されたスキャンチェーン中の選択されたスキャンセルについて入力コーン分析を実施するステップと、
ｅ）同じシフトサイクルに置かれる前記選択された各スキャンチェーン上の前記選択された各スキャンセル同士の相互依存性を最小化する最適なスキャン順序を生成するステップと
を含む方法。
【請求項４６】
前記最適なスキャン順序に従って前記選択されたスキャンチェーン中の前記選択されたスキャンセルを再配列するステップをさらに含む請求項４５に記載の方法。
【請求項４７】
前記選択されたスキャンチェーンに１つまたは複数のスペアスキャンセルを挿入して、前記選択されたスキャンチェーンの他の選択されたスキャンチェーンとの相互依存性を最小化または除去するステップをさらに含む請求項４６に記載の方法。
【請求項４８】
ブロードキャスタを介してスキャンベースの集積回路をテストするブロードキャストスキャンパターンを生成する方法であって、前記スキャンベースの集積回路が複数のスキャンチェーンを含み、各スキャンチェーンが直列に結合された複数のスキャンセルを含み、前記スキャンチェーンが前記ブロードキャスタに結合され、
ａ）ゲートレベルでモデル化された前記スキャンベースの集積回路を表すＨＤＬ（ハードウェア記述言語）コードを順次回路モデルにコンパイルするステップと、
ｂ）各シフトサイクル中または各テストセッション間に前記ブロードキャスタ上で割り当てられる所定の値に基づいて、選択されたスキャンセルに対する１組の入力制約条件を確立するステップと、
ｃ）前記順次回路モデルを等価の組合せ回路モデルに変換するステップと、
ｄ）前記１組の入力制約条件に従って前記ブロードキャストスキャンパターンを生成するステップと、
ｅ）新規の１組の入力制約条件を再割り当てし、所定の限界基準が満たされるまでステップ（ｄ）を繰り返すステップと
を含む方法。
【請求項４９】
前記１組の入力制約条件に従って前記ブロードキャストスキャンパターンを生成する前記ステップが、選択された１組のランダムパターンを前記ブロードキャストスキャンパターンとして使用して前記等価の組合せ回路モデルでランダムパターン故障シミュレーションを実施するステップをさらに含む請求項４８に記載の方法。
【請求項５０】
前記１組の入力制約条件に従って前記ブロードキャストスキャンパターンを生成する前記ステップが、前記ブロードキャストスキャンパターンを生成するために、前記等価の組合せ回路モデルで組合せＡＴＰＧ（自動テストパターン生成）を実施するステップをさらに含む請求項４８に記載の方法。
【請求項５１】
選択されたスキャンチェーン中の選択されたスキャンセルの、同じシフトサイクルに置かれる他の選択されたスキャンチェーン中の他の選択されたスキャンセルとの相互依存性を最小化するために最適なスキャン順序を見つけるステップをさらに含む請求項４８に記載の方法。
【請求項５２】
最適なスキャン順序を見つける前記ステップが、前記最適なスキャン順序に従って前記選択されたスキャンチェーン中の前記選択されたスキャンセルを再配列するステップをさらに含む請求項５１に記載の方法。
【請求項５３】
最適なスキャン順序を見つける前記ステップが、前記選択されたスキャンチェーンに１つまたは複数のスペアスキャンセルを挿入して、さらに、前記選択されたスキャンチェーンの他の選択されたスキャンチェーンとの相互依存性を最小化または除去するステップをさらに含む請求項５２に記載の方法。
【請求項５４】
シミュレーション法を使用して前記ブロードキャスタおよび前記スキャンベースの集積回路の正確さを検証するために、前記ブロードキャストスキャンパターンに従って、前記仮想スキャンパターンとしてＨＤＬテストベンチを生成するステップをさらに含む請求項４８に記載の方法。
【請求項５５】
前記ＡＴＥで前記ブロードキャスタおよび前記スキャンベースの集積回路の正確さを検証するために、前記ブロードキャストスキャンパターンに従って、前記仮想スキャンパターンとしてＡＴＥ（自動テスト装置）テストプログラムを生成するステップをさらに含む請求項４８に記載の方法。
【請求項５６】
前記ブロードキャスタが、ＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、ＮＯＲゲート、ＸＯＲゲート、ＸＮＯＲゲート、マルチプレクサ、バッファ、インバータ、またはそれらの任意の組合せを含めて、１つまたは複数の論理ゲートを含む組合せ論理ネットワークである請求項４８に記載の方法。
【請求項５７】
前記ブロードキャスタが、さらに、複数のスキャンコネクタを使用して前記組合せ論理ネットワークの出力を前記スキャンベースの集積回路中の選択されたスキャンチェーン入力に結合し、前記複数のスキャンコネクタが、１つまたは複数のバッファ、インバータ、各々がインバータおよびＤフリップフロップやＤラッチなどのメモリ素子を含むロックアップ素子、スペアスキャンセル、マルチプレクサ、またはそれらの任意の組合せを含む請求項５６に記載の方法。
【請求項５８】
前記ブロードキャスタが、さらに、仮想スキャン制御機構を使用して前記組合せ論理ネットワークを制御し、前記仮想スキャン制御機構が、各シフトサイクル中または各テストセッション間に前記ブロードキャスタの動作を制御する請求項５６に記載の方法。
【請求項５９】
前記仮想スキャン制御機構が１つまたは複数のバッファまたはインバータをさらに含む請求項５８に記載の方法。
【請求項６０】
前記仮想スキャン制御機構が復号器である請求項５８に記載の方法。
【請求項６１】
前記仮想スキャン制御機構が、ＤフリップフロップやＤラッチなど１つまたは複数のメモリ素子を含む有限状態機械であり、テストセッションを開始する前に前記有限状態機械に所定の状態がロードされる請求項５８に記載の方法。
【請求項６２】
前記仮想スキャン制御機構がシフトレジスタである請求項６１に記載の方法。
【請求項６３】
前記ブロードキャストスキャンパターンが、前記スキャンベースの集積回路内の、縮退故障、タイミング故障、パス遅延故障、ＩＤＤＱ（ＩＤＤ静止電流）故障、ブリッジ故障を含む製造故障をテストするように選択される請求項４８に記載の方法。
【請求項６４】
コンピュータシステムに、ブロードキャスタを介してスキャンベースの集積回路をテストするブロードキャストスキャンパターンを生成する方法を実施させるコンピュータ可読プログラムコードが実施されたコンピュータ可読メモリであって、前記スキャンベースの集積回路が複数のスキャンチェーンを含み、各スキャンチェーンが直列に結合された複数のスキャンセルを含み、前記スキャンチェーンが前記ブロードキャスタに結合され、前記方法が、
ａ）ＲＴＬ（レジスタ転送レベル）またはゲートレベルでモデル化された前記スキャンベースの集積回路を表すＨＤＬ（ハードウェア記述言語）コードを順次回路モデルにコンパイルするステップと、
ｂ）各シフトサイクル中または各テストセッション間に前記ブロードキャスタ上で割り当てられる所定の値に基づいて、選択されたスキャンセルに対する１組の入力制約条件を確立するステップと、
ｃ）前記順次回路モデルを等価の組合せ回路モデルに変換するステップと、
ｄ）前記１組の入力制約条件に従って前記ブロードキャストスキャンパターンを生成するステップと、
ｅ）新規の１組の入力制約条件を再割り当てし、所定の限界基準が満たされるまでステップ（ｄ）を繰り返すステップと
を含むコンピュータ可読メモリ。
【請求項６５】
前記１組の入力制約条件に従って前記ブロードキャストスキャンパターンを生成する前記ステップが、選択された１組のランダムパターンを前記ブロードキャストスキャンパターンとして使用して、前記等価の組合せ回路モデルでランダムパターン故障シミュレーションを実施するステップをさらに含む請求項６４に記載のコンピュータ可読メモリ。
【請求項６６】
前記１組の入力制約条件に従って前記ブロードキャストスキャンパターンを生成する前記ステップが、前記ブロードキャストスキャンパターンを生成するために前記等価の組合せ回路モデルで組合せＡＴＰＧ（自動テストパターン生成）を実施するステップをさらに含む請求項６４に記載のコンピュータ可読メモリ。
【請求項６７】
選択されたスキャンチェーン中の選択されたスキャンセルの、同じシフトサイクルに置かれる他の選択されたスキャンチェーン中の他の選択されたスキャンセルとの相互依存性を最小化するために最適なスキャン順序を見つけるステップをさらに含む請求項６４に記載のコンピュータ可読メモリ。
【請求項６８】
最適なスキャン順序を見つける前記ステップが、前記最適なスキャン順序に従って前記選択されたスキャンチェーン中の前記選択されたスキャンセルを再配列するステップをさらに含む請求項６７に記載のコンピュータ可読メモリ。
【請求項６９】
最適なスキャン順序を見つける前記ステップが、前記選択されたスキャンチェーンに１つまたは複数のスペアスキャンセルを挿入して、さらに、前記選択されたスキャンチェーンの他の選択されたスキャンチェーンとの相互依存性を最小化または除去するステップをさらに含む請求項６８に記載のコンピュータ可読メモリ。
【請求項７０】
シミュレーション法を使用して前記ブロードキャスタおよび前記スキャンベースの集積回路の正確さを検証するために、前記ブロードキャストスキャンパターンに従って、前記仮想スキャンパターンとしてＨＤＬテストベンチを生成するステップをさらに含む請求項６４に記載のコンピュータ可読メモリ。
【請求項７１】
前記ＡＴＥで前記ブロードキャスタおよび前記スキャンベースの集積回路の正確さを検証するために、前記ブロードキャストスキャンパターンに従って、前記仮想スキャンパターンとしてＡＴＥ（自動テスト装置）テストプログラムを生成するステップをさらに含む請求項６４に記載のコンピュータ可読メモリ。
【請求項７２】
前記ブロードキャスタが、ＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、ＮＯＲゲート、ＸＯＲゲート、ＸＮＯＲゲート、マルチプレクサ、バッファ、インバータ、またはそれらの任意の組合せを含めて、１つまたは複数の論理ゲートを含む組合せ論理ネットワークである請求項６４に記載のコンピュータ可読メモリ。
【請求項７３】
前記ブロードキャスタが、さらに、複数のスキャンコネクタを使用して前記組合せ論理ネットワークの出力を前記スキャンベースの集積回路中の選択されたスキャンチェーン入力に結合し、前記複数のスキャンコネクタが、１つまたは複数のバッファ、インバータ、各々がインバータおよびＤフリップフロップやＤラッチなどのメモリ素子を含むロックアップ素子、スペアスキャンセル、マルチプレクサ、またはそれらの任意の組合せを含む請求項７２に記載のコンピュータ可読メモリ。
【請求項７４】
前記ブロードキャスタが、さらに、仮想スキャン制御機構を使用して前記組合せ論理ネットワークを制御し、前記仮想スキャン制御機構が、各シフトサイクル中または各テストセッション間に前記ブロードキャスタの動作を制御する請求項７２に記載のコンピュータ可読メモリ。
【請求項７５】
前記仮想スキャン制御機構が１つまたは複数のバッファまたはインバータをさらに含む請求項７４に記載のコンピュータ可読メモリ。
【請求項７６】
前記仮想スキャン制御機構が復号器である請求項７４に記載のコンピュータ可読メモリ。
【請求項７７】
前記仮想スキャン制御機構が、ＤフリップフロップやＤラッチなど１つまたは複数のメモリ素子を含む有限状態機械であり、テストセッションを開始する前に前記有限状態機械に所定の状態がロードされる請求項７４に記載のコンピュータ可読メモリ。
【請求項７８】
前記仮想スキャン制御機構がシフトレジスタである請求項７７に記載のコンピュータ可読メモリ。
【請求項７９】
前記ブロードキャストスキャンパターンが、前記スキャンベースの集積回路内の、縮退故障、タイミング故障、パス遅延故障、ＩＤＤＱ（ＩＤＤ静止電流）故障、ブリッジ故障を含む製造故障をテストするように選択される請求項６４に記載のコンピュータ可読メモリ。
【請求項８０】
プロセッサと、
前記プロセッサに結合されたバスと、
前記バスに結合され、電子設計自動化システムに、ブロードキャスタを介してスキャンベースの集積回路をテストするブロードキャストスキャンパターンを生成する方法を実施させるためのコンピュータ可読プログラムコードが記憶されたコンピュータ可読メモリと
を含む電子設計自動化システムであって、前記スキャンベースの集積回路が複数のスキャンチェーンを含み、各スキャンチェーンが直列に結合された複数のスキャンセルを含み、前記スキャンチェーンが前記ブロードキャスタに結合され、前記方法が、
ａ）ＲＴＬ（レジスタ転送レベル）またはゲートレベルでモデル化された前記スキャンベースの集積回路を表すＨＤＬ（ハードウェア記述言語）コードを順次回路モデルにコンパイルするステップと、
ｂ）各シフトサイクル中または各テストセッション間に前記ブロードキャスタ上で割り当てられる所定の値に基づいて、選択されたスキャンセルに対する１組の入力制約条件を確立するステップと、
ｃ）前記順次回路モデルを等価の組合せ回路モデルに変換するステップと、
ｄ）前記１組の入力制約条件に従って前記ブロードキャストスキャンパターンを生成するステップと、
ｅ）新規の１組の入力制約条件を再割り当てし、所定の限界基準が満たされるまでステップ（ｄ）を繰り返すステップと
を含むシステム。
【請求項８１】
前記１組の入力制約条件に従って前記ブロードキャストスキャンパターンを生成する前記ステップが、選択された１組のランダムパターンを前記ブロードキャストスキャンパターンとして使用して、前記等価の組合せ回路モデルでランダムパターン故障シミュレーションを実施するステップをさらに含む請求項８０に記載のシステム。
【請求項８２】
前記１組の入力制約条件に従って前記ブロードキャストスキャンパターンを生成する前記ステップが、前記ブロードキャストスキャンパターンを生成するために前記等価の組合せ回路モデルで組合せＡＴＰＧ（自動テストパターン生成）を実施するステップをさらに含む請求項８０に記載のシステム。
【請求項８３】
選択されたスキャンチェーン中の選択されたスキャンセルの、同じシフトサイクルに置かれる他の選択されたスキャンチェーン中の他の選択されたスキャンセルとの相互依存性を最小化するために最適なスキャン順序を見つけるステップをさらに含む請求項８０に記載のシステム。
【請求項８４】
最適なスキャン順序を見つける前記ステップが、前記最適なスキャン順序に従って前記選択されたスキャンチェーン中の前記選択されたスキャンセルを再配列するステップをさらに含む請求項８３に記載のシステム。
【請求項８５】
最適なスキャン順序を見つける前記ステップが、前記選択されたスキャンチェーンに１つまたは複数のスペアスキャンセルを挿入して、さらに、前記選択されたスキャンチェーンの他の選択されたスキャンチェーンとの相互依存性を最小化または除去するステップをさらに含む請求項８４に記載のシステム。
【請求項８６】
シミュレーション法を使用して前記ブロードキャスタおよび前記スキャンベースの集積回路の正確さを検証するために、前記ブロードキャストスキャンパターンに従って、前記仮想スキャンパターンとしてＨＤＬテストベンチを生成するステップをさらに含む請求項８０に記載のシステム。
【請求項８７】
前記ＡＴＥで前記ブロードキャスタおよび前記スキャンベースの集積回路の正確さを検証するために、前記ブロードキャストスキャンパターンに従って、前記仮想スキャンパターンとしてＡＴＥ（自動テスト装置）テストプログラムを生成するステップをさらに含む請求項８０に記載のシステム。
【請求項８８】
前記ブロードキャスタが、ＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、ＮＯＲゲート、ＸＯＲゲート、ＸＮＯＲゲート、マルチプレクサ、バッファ、インバータ、またはそれらの任意の組合せを含めて、１つまたは複数の論理ゲートを含む組合せ論理ネットワークである請求項８０に記載のシステム。
【請求項８９】
前記ブロードキャスタが、さらに、複数のスキャンコネクタを使用して前記組合せ論理ネットワークの出力を前記スキャンベースの集積回路中の選択されたスキャンチェーン入力に結合し、前記複数のスキャンコネクタが、１つまたは複数のバッファ、インバータ、各々がインバータおよびＤフリップフロップやＤラッチなどのメモリ素子を含むロックアップ素子、スペアスキャンセル、マルチプレクサ、またはそれらの任意の組合せを含む請求項８８に記載のシステム。
【請求項９０】
前記ブロードキャスタが、さらに、仮想スキャン制御機構を使用して前記組合せ論理ネットワークを制御し、前記仮想スキャン制御機構が、各シフトサイクル中または各テストセッション間に前記ブロードキャスタの動作を制御する請求項８８に記載のシステム。
【請求項９１】
前記仮想スキャン制御機構が１つまたは複数のバッファまたはインバータをさらに含む請求項９０に記載のシステム。
【請求項９２】
前記仮想スキャン制御機構が復号器である請求項９０に記載のシステム。
【請求項９３】
前記仮想スキャン制御機構が、ＤフリップフロップやＤラッチなど１つまたは複数のメモリ素子を含む有限状態機械であり、テストセッションを開始する前に前記有限状態機械に所定の状態がロードされる請求項９０に記載のシステム。
【請求項９４】
前記仮想スキャン制御機構がシフトレジスタである請求項９３に記載のシステム。
【請求項９５】
前記ブロードキャストスキャンパターンが、前記スキャンベースの集積回路内の、縮退故障、タイミング故障、パス遅延故障、ＩＤＤＱ（ＩＤＤ静止電流）故障、ブリッジ故障を含む製造故障をテストするように選択される請求項８０に記載のシステム。
【請求項９６】
スキャンベースの集積回路をテストするためにブロードキャスタおよび圧縮器を合成する方法であって、前記スキャンベースの集積回路が複数のスキャンチェーンを含み、各スキャンチェーンが直列に結合された複数のスキャンセルを含み、前記スキャンチェーンの各入力が前記ブロードキャスタに結合され、前記スキャンチェーンの各出力が前記圧縮器に結合され、
ａ）ＲＴＬ（レジスタ転送レベル）またはゲートレベルでモデル化された前記スキャンベースの集積回路を表すＨＤＬ（ハードウェア記述言語）コードを順次回路モデルにコンパイルするステップと、
ｂ）前記ブロードキャスタ、前記圧縮器、およびスティッチングでの制約条件を確立するステップと、
ｃ）前記ブロードキャスタに指定された前記制約条件に従って前記ブロードキャスタを合成するステップと、
ｄ）前記圧縮器に指定された前記制約条件に従って前記圧縮器を合成するステップ、
ｅ）前記スティッチングに指定された前記制約条件に従って、前記順次回路モデルで前記ブロードキャスタおよび前記圧縮器をスティッチングするステップと、
ｆ）ＲＴＬまたはゲートレベルでモデル化された合成ＨＤＬコードを生成するステップと
を含む方法。
【請求項９７】
前記ブロードキャスタが、さらに、選択されたスキャンチェーンから選択されたスキャンセルを除去し、前記ブロードキャスタに指定された前記制約条件に従って、前記選択されたスキャンチェーン中の前記選択されたスキャンセルをスティッチングし直す請求項９６に記載の方法。
【請求項９８】
前記ブロードキャスタが、ＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、ＮＯＲゲート、ＸＯＲゲート、ＸＮＯＲゲート、マルチプレクサ、バッファ、インバータ、またはそれらの任意の組合せを含めて、１つまたは複数の論理ゲートを含む組合せ論理ネットワークである請求項９６に記載の方法。
【請求項９９】
前記ブロードキャスタが、さらに、複数のスキャンコネクタを使用して前記組合せ論理ネットワークの出力を前記スキャンベースの集積回路中の選択されたスキャンチェーン入力に結合し、前記複数のスキャンコネクタが、１つまたは複数のバッファ、インバータ、各々がインバータおよびＤフリップフロップやＤラッチなどのメモリ素子を含むロックアップ素子、スペアスキャンセル、マルチプレクサ、またはそれらの任意の組合せを含む請求項９８に記載のシステム。
【請求項１００】
前記ブロードキャスタが、さらに、仮想スキャン制御機構を使用して前記組合せ論理ネットワークを制御し、前記仮想スキャン制御機構が、各シフトサイクル中または各テストセッション間に前記ブロードキャスタの動作を制御する請求項９８に記載のシステム。
【請求項１０１】
前記仮想スキャン制御機構が１つまたは複数のバッファまたはインバータをさらに含む請求項１００に記載の方法。
【請求項１０２】
前記仮想スキャン制御機構が復号器である請求項１００に記載の方法。
【請求項１０３】
前記仮想スキャン制御機構が、ＤフリップフロップやＤラッチなど１つまたは複数のメモリ素子を含む有限状態機械であり、テストセッションを開始する前に前記有限状態機械に所定の状態がロードされる請求項１００に記載の方法。
【請求項１０４】
前記仮想スキャン制御機構がシフトレジスタである請求項１０３に記載の方法。
【請求項１０５】
前記ブロードキャスタが、選択的に、前記スキャンベースの集積回路内、前記ＡＴＥ内、または前記ＡＴＥと前記スキャンベースの集積回路の間に配置される請求項９６に記載の方法。
【請求項１０６】
前記圧縮器が、選択的に、ＸＯＲネットワークまたはマルチ入力シグネチャレジスタ（ＭＩＳＲ）とされ、前記マルチ入力シグネチャレジスタ（ＭＩＳＲ）が、複数のＸＯＲゲートおよびＤフリップフロップやＤラッチなど複数のメモリ素子をさらに含む請求項９６に記載の方法。
【請求項１０７】
前記圧縮器が、マスクネットワークを使用して選択されたスキャンチェーン中の選択されたスキャンセルのテストまたは診断を使用可能または使用不能にし、前記マスクネットワークが１つまたは複数のＡＮＤゲートを含む請求項９６に記載の方法。
【請求項１０８】
前記圧縮器が、選択的に、前記スキャンベースの集積回路内、前記ＡＴＥ内、または前記ＡＴＥと前記スキャンベースの集積回路の間に配置される請求項９６に記載の方法。
【発明の詳細な説明】
【関連出願データ】
【０００１】
本願は、参照によって本明細書に組み込まれる、２００２年１月１６日出願の米国仮特許出願第６０／３４８，３８３号の特典を主張するものである。
【技術分野】
【０００２】
本発明は、一般に、テスト容易化設計（ＤＦＴ）技法を使用した論理設計およびテストの分野に関する。詳細には、本発明は、スキャンまたは組み込み自己テスト（ＢＩＳＴ）技法を使用した集積回路のための論理テストおよび診断の分野に関する。
【背景】
【０００３】
集積回路の複雑度が増すに従って、テストコストを最低限に抑えつつ非常に高い故障検出率を実現することがますます重要になってきている。従来のスキャンベース（ｓｃａｎ−ｂａｓｅｄ）の方法は、過去数十年の間、百万個未満のゲート設計でのこの目標の達成には大いに成功を収めてきたが、近年のスキャンベース設計の百万個を超えるゲートでは、妥当な価格でこの非常に高い故障検出率を実現することが非常に困難になっている。これは主に、スキャンパターンを自動テスト装置（ＡＴＥ）に記憶するのに、相当量のテストデータ記憶容量を必要とすることが原因である。さらに、このテストデータ記憶容量の増大は、結果として、対応するテスト適用時間関連コストの増大をもたらしている。
【０００４】
この問題を解決するための従来の手法は、ＡＴＥにより多くのメモリを付加するか、それともスキャンデータパターンの一部を切り捨てるかのどちらかに焦点を当てるものである。これらの手法はこの問題を適切に解決することができない。というのは、前者の手法は、回路の故障検出率を損なわないようにするためにさらにテストコストを増大させ、後者は、テストコストを節約するために回路の故障検出率を犠牲にするからである。
【０００５】
この問題を解決する試みとして、いくつかの従来技術によるテスト容易化設計（ＤＦＴ）技法が提案されている。これらの解決法は、外部からアクセス可能なスキャンチェーン数を増加させず、場合によっては、その数を減少させ、またはそれをなくすると同時にテストデータ量、したがって、テスト適用時間を削減するために、内部スキャンチェーン数を増加させることに焦点を当てるものである。これは、場合によってはパッケージのピン数を超えることもある内部スキャンチェーン数に対するパッケージ制限を取り除く。
【０００６】
そうしたＤＦＴ技法の一例が組み込み自己テスト（ＢＩＳＴ）である。ＭｃＡｎｎｅｙに交付された米国特許第４，５０３，５３７号（１９８５）を参照されたい。ＢＩＳＴは、被テスト回路に疑似ランダムスキャンパターンのオンチップ生成および適用を実装し、それらのスキャンチェーンへのすべての外部アクセスを不要にし、したがって、使用可能な内部スキャンチェーン数に対する制限を取り除く。しかし、ＢＩＳＴはあまり高い故障検出率を保証するものではなく、しばしば、残存する検出困難な故障をカバーするためにスキャンＡＴＰＧ（自動テストパターン生成）と共に使用することが必要である。
【０００７】
テストデータを被テスト回路に送信する前にそれを圧縮するいくつかの異なる手法が提案されている。Ｋｏｅｎｅｍａｎｎら（１９９１）、Ｈｅｌｌｅｂｒａｎｄら（１９９５）、Ｒａｊｓｋｉら（１９９８）、Ｊａｓら（２０００）、Ｂａｙｒａｋｔａｒｏｇｌｕら（２００１）による共著の諸論文、Ｒａｊｓｋｉらに交付された米国特許第６，３２７，６８７号（２００１）を参照されたい。これらの方法は、テストキューブ（すなわち、被テスト回路のスキャンチェーン内に記憶されたスキャンデータパターンの配置）が、しばしば、多数の不特定（ドントケア）の位置を含むという知見に基づくものである。そうしたテストキューブをより少ないビット数を用いて符号化し、後で、ＬＦＳＲ（線形フィードバックシフトレジスタ）に基づく圧縮解除方式を使用してそれらをオンチップで圧縮解除することが可能である。この方式は、スキャンＡＴＰＧを使用してテストキューブが生成される都度、１組の線形方程式を解くことを必要とする。これらの線形方程式を解くことはテストキューブ内の不特定ビット数に依存するため、これらのＬＦＳＲベースの圧縮解除方式は、しばしば、圧縮の前にＡＴＰＧパターンをいくつかの個別パターンに分解することなくしては、それを圧縮するのに困難をきたし、したがって、非常に高い故障検出率を保証するために過度に多くのスキャンパターンを付加せざるを得なくなることがある。
【０００８】
テストデータ量を削減する別のＤＦＴ技法は、ブロードキャストスキャンに基づくものである。Ｌｅｅら（１９９９）、Ｈａｍｚａｏｇｌｕら（１９９９）、およびＰａｎｄｅｙら（２００２）による共著の各論文を参照されたい。ブロードキャストスキャン方式は、ブロードキャストチャネルと呼ばれる複数のスキャンチェーンを単一のスキャン入力に直接接続するか、それともスキャンチェーンを様々な区画に分割し、単一のスキャン入力を介して同じパターンを各区画にシフトする。これらの方式では、各スキャン入力とそのそれぞれのブロードキャストチャネルとの間の接続は、合間にＡＮＤ、ＯＲ、ＮＡＮＤ、ＮＯＲ、ＸＯＲ、ＸＮＯＲ、ＭＵＸ（マルチプレクサ）、ＮＯＴ（インバータ）などのゲートを挟まずに、配線またはバッファのどちらかを使用してなされる。この方式を、実際上、追加のハードウェアオーバーヘッドなしで実装することは可能であるが、それは様々なスキャンチェーンデータビット間の非常に大きな相関を生じ、結果的に入力制約条件が厳しすぎてあまり高い故障検出率を実現できなくなる。
【概要】
【０００９】
したがって、テストデータ量およびテスト適用時間を最小限に抑えながらも非常に高い故障検出率を保証する改善された方法および装置の開発が求められている。本発明で提案する方法は、ブロードキャストスキャンに基づくものであり、したがって、スキャンＡＴＰＧ後に別個のステップとして線形方程式を解く必要はない。また、回路の故障検出率を向上させるためのブロードキャストスキャン再配列の手法も提案する。
【００１０】
したがって、本発明の主要な目的は、そうした改善された方法および装置を提供することである。本発明で提案する方法は、ブロードキャストスキャンに基づくものであるが、ＡＴＥ（自動テスト装置）出力と被テスト回路のスキャンチェーン入力との間に配置されるブロードキャスタ回路を付加する。このブロードキャスタは、オンチップで埋め込むことも、ＡＴＥに組み込むように設計することもできる。この説明では、簡単にするために、このブロードキャスタが、それが物理的にどこに位置するかを特定せずに、ＡＴＥと被テスト集積回路の間に配置されるものと想定する。以下の説明は、ブロードキャスタが実際の実装形態のどこに組み込まれるかとは無関係に適用される。
【００１１】
本発明による方法は、被テスト集積回路設計のスキャンセル（メモリ素子）に適用されるブロードキャストスキャンパターンの生成に使用される。このプロセスには、ＡＴＥに記憶された仮想スキャンパターンを、ブロードキャスタを使用して、集積回路のパッケージスキャン入力ピンに適用されるブロードキャストスキャンパターンに変換することが関与する。このブロードキャスタは、仮想スキャンパターンを、それらに対応する、集積回路での縮退故障、遅延故障、ブリッジ故障など、様々な故障の有無をテストするのに使用されるブロードキャストスキャンパターンにマップする。被テスト集積回路は、それぞれが、ブロードキャストスキャンパターンを記憶する相互に結合された任意の数のスキャンセルからなる複数のスキャンチェーンを含む。
【００１２】
本発明の重要な一態様は、ブロードキャスタ回路の設計である。ブロードキャスタは、組合せ論理回路のネットワーク（組合せ論理ネットワーク）と同様の単純なものとすることもでき、おそらく、組合せ論理のネットワークに加えて仮想スキャン制御機構を含むこともできる。（詳細については、図面の詳細な説明の図４および図６を参照されたい。）仮想スキャン制御機構を付加すると、ブロードキャスタが実施するマッピングを、その制御機構の内部状態に応じて変えることが可能になる。また、ブロードキャスタは、プログラム可能論理アレイを使用して実装することもできる。この方式では、各ＡＴＥ出力が、組合せ論理ネットワークを介してスキャンチェーン（またはスキャン区画）入力のサブセットに接続される。組合せ論理ネットワークの残りの入力は、使用可能な場合には、仮想スキャン制御機構出力に直接接続される。スキャンテスト時に、仮想スキャン制御機構には、まず、バウンダリスキャンまたはその他の外部手段を使用して所定値がロードされる。これを使用して、最初に、ブロードキャスタの機能をセットアップする。テストの後段で、仮想スキャン制御機構に異なる所定値をロードしてブロードキャスタの機能を変更することも可能であり、しばしば、それが望ましいこともあり、それを何回でも繰り返すことができる。これは、ブロードキャスタの出力が、様々な、またはすべての論理機能の組合せを実現することを可能にする。ブロードキャスタの機能は、仮想スキャン制御機構に記憶された値のプログラム可能な機能であるから、実現され得るマッピング数には限界がない。これによって従来のブロードキャストスキャンの厳しい入力制約条件が緩和され、より多くの、おそらくはすべてのテスト可能故障をテストするためのブロードキャストスキャンパターンを生成する能力が強化される。これが該当するのは、仮想スキャン制御機構に記憶された値がブロードキャストスキャンパターンの生成に課される入力制約条件を決定するからである。
【００１３】
組合せ論理ネットワークは、単純でオーバーヘッドが小さいため、ブロードキャスタに好ましい実装形態であるが、本発明で述べるブロードキャスタは、仮想スキャン制御機構および任意の組合せ論理ネットワークを含むことができる。仮想スキャン制御機構は、必要なときに、ＤフリップフロップやＤラッチなどのその有限状態機械のすべてのメモリ素子に所定の値をロードし得る限りは、ＬＦＳＲ（線形フィードバックシフトレジスタ）など、任意の一般的な有限状態機械とすることができる。組合せ論理ネットワークは、ＡＮＤ、ＯＲ、ＮＡＮＤ、ＮＯＲ、ＸＯＲ、ＭＵＸ、ＮＯＴゲートまたはそれらの任意の組合せなど、１つまたは複数の論理ゲートを含み得る。この組合せ論理ネットワークは、従来のブロードキャストスキャンに比較すると、パターン検出困難故障など、さらなる故障をテストするブロードキャストスキャンパターンを生成する可能性を増大させる。
【００１４】
本発明の別の態様は、ブロードキャスタによって課される入力制約条件を満たすブロードキャストスキャンパターンの作成および生成である。組合せ論理ネットワークを使用してブロードキャスタを実装するとき、そのブロードキャスタによって課される入力制約条件は、いつでも、ＡＴＥ出力に等しいかまたはその補数である所定の論理値を、そのスキャンセルのサブセットだけに受け取らせる。ブロードキャストチャネルにすべて０またはすべて１のパターンを適用させるだけの従来技術のブロードキャストスキャン方式とは異なり、本発明は、その時々でそれらのチャネルに様々な論理値の組合せを出現させる。そうしたテストパターンの生成に必要なのは、現在利用可能なＡＴＰＧツールを改良してそれらの付加的入力制約条件を実装できるようにすることだけである。したがって、ブロードキャストスキャンパターンを生成するプロセスは、初期の１組の入力制約条件を使用してパターンを生成すること、および達成された検出率を分析することになる。達成された故障検出率が満足のいくものでなかった場合には、別の１組の入力制約条件が適用され、新規の１組のベクトルが生成される。このプロセスは、所定の限界基準が満たされるまで繰り返される。
【００１５】
非常に高い故障検出率を達成するのに必要とされる入力制約条件数を削減するために、本発明では、ＡＴＰＧが行われる前にブロードキャストスキャンチェーン再配列ステップを関与させることができる。本発明の手法は、各コーン出力（スキャンセル入力）からすべてのコーン入力（スキャンセル出力）に遡って入力コーン分析を実施し、次いで、任意のシフトクロックサイクル中に単一のブロードキャストチャネル上に１つの制約スキャンセルだけが位置するように、最大検出手法を使用してすべてのコーン入力（スキャンセル出力）を再配列する。これらのブロードキャストスキャン順序制約条件は、１つのＡＴＥ出力に関連付けられたブロードキャストチャネル間でのデータ依存性を、完全になくするのではないにしても、軽減する。これによって、ＡＴＰＧツールが、異なる入力制約条件の組の使用を必要とせずに目標故障検出率を達成するブロードキャストスキャンパターンを生成できる可能性がより高まる。これは、まだ開発段階にある集積回路にのみ適用されるものであり、したがって、ブロードキャストスキャン再配列は、チップが仕上がる前に実施される必要があることに留意されたい。
【００１６】
このプロセスはＡＴＰＧプロセスに若干のＣＰＵ時間を付加するが、ＡＴＰＧ後に複数組の線形方程式を解くことになるので、はるかに単純で、より計算の集中が少ない。このワンステップ「ブロードキャストＡＴＰＧ」プロセスは、ＬＦＳＲベースの圧縮解除方式に比べて、ブロードキャストスキャンパターンの生成をより容易にする。さらに、単一のスキャンパターンを使用して最多の潜在故障を検出する目的で、組合せＡＴＰＧの主要部分である最大動的圧縮を使用して、不特定の（ドントケア）位置と同じくらい多数の位置を埋めることも可能である。このことは、圧縮されたテストパターンを得るのに必要な線形方程式を解くことができるように不特定の（ドントケア）位置が要求されるＬＦＳＲベースの圧縮解除方式と際立った対照をなす。これが、１組のよりコンパクトなベクトルを生成できるようにするためにほとんど圧縮されない１組のＡＴＰＧベクトルを用いて開始することを必要とするＬＦＳＲベースの圧縮解除方式での根本的な矛盾、欠陥である。このことが、同じ故障をテストする初期の１組のコンパクトＡＴＰＧベクトルに比べて実現される実際の圧縮を低減させ、本発明で述べる仮想スキャン制御機構ベースのブロードキャストスキャン方法が、どんなＬＳＦＲベースの圧縮解除方式よりも多くの１スキャンテストパターン当たりの故障をカバーすることを可能にする。
【図面の簡単な説明】
【００１７】
本発明の上記その他の目的、利点および特徴は、以下の明細書および添付の図面と共に考察するとより明白になるであろう。  
【図１】自動テスト装置（ＡＴＥ）を使用してスキャンベースの集積回路をテストする従来のシステムを示す構成図である。
【図２】本発明による、ＡＴＥを使用してスキャンベースの集積回路をテストするブロードキャストスキャンテストシステムを示す構成図である。
【図３】純粋な配線だけを用いた従来技術のブロードキャスタ設計を示す図である。
【図４】本発明による、組合せ論理ネットワークおよび任意選択のスキャンコネクタからなるブロードキャスタを示す構成図である。
【図５Ａ】本発明による、組合せ論理ネットワークからなる図４に示すブロードキャスタの第１の実施形態を示す図である。
【図５Ｂ】図５Ａに示すブロードキャスタの実施形態によって課される入力制約条件を示す図である。
【図５Ｃ】本発明による、組合せ論理ネットワークおよびスキャンコネクタからなる図４に示すブロードキャスタの第２の実施形態を示す図である。
【図５Ｄ】図５Ｃに示すブロードキャスタの実施形態によって課される入力制約条件を示す図である。
【図６】本発明による、仮想スキャン制御機構、組合せ論理ネットワーク、および任意選択のスキャンコネクタからなるブロードキャスタを示す構成図である。
【図７】本発明による、図６に示すブロードキャスタの第１の実施形態を示す図である。
【図８】本発明による、図６に示すブロードキャスタの第２の実施形態を示す図である。
【図９】本発明による、図６に示すブロードキャスタの第３の実施形態を示す図である。
【図１０】本発明による、図６に示すブロードキャスタの第４の実施形態を示す図である。
【図１１】本発明による、図６に示すブロードキャスタの第５の実施形態を示す図である。
【図１２】本発明による、図６に示すブロードキャスタの第６の実施形態を示す図である。
【図１３】本発明による、マスクネットワーク、およびＸＯＲネットワークまたはマルチ入力シグネチャレジスタ（ＭＩＳＲ）からなる圧縮器を示す構成図である。
【図１４】本発明による、図１３に示す圧縮器の第１の実施形態を示す図である。
【図１５】本発明による、図１３に示す圧縮器の第２の実施形態を示す図である。
【図１６Ａ】本発明による、より多くの故障をテストするブロードキャストスキャンパターンを生成するためにスキャンセルを再配列し、またはスキャンチェーンの長さを変更する前の方法の一実施形態を示す図である。
【図１６Ｂ】本発明による、より多くの故障をテストするブロードキャストスキャンパターンを生成するためにスキャンセルを再配列した後の方法の一実施形態を示す図である。
【図１６Ｃ】本発明による、より多くの故障をテストするブロードキャストスキャンパターンを生成するためにスキャンチェーンの長さを変更した後の方法の一実施形態を示す図である。
【図１７】本発明による、故障検出率向上のためにスキャンセルを再配列する方法を示す流れ図である。
【図１８】本発明による、スキャンベースの集積回路をテストする際に使用されるブロードキャストスキャンパターンを生成する方法を示す流れ図である。
【図１９】本発明による、スキャンベースの集積回路をテストするためにブロードキャスタと圧縮器を合成する方法を示す流れ図である。
【図２０】本発明による、ブロードキャストスキャンテスト方法を実装し得るシステムの一例を示す図である。
【発明の詳細な説明】
【００１８】
以下の説明は、現在、本発明を実行する最良の形態であると考えられるものである。この説明は、限定的意味で理解すべきものではなく、単に、本発明の諸原理を記述するためになされるものにすぎない。本発明の範囲は、添付の特許請求の範囲を参照して決定すべきである。
【００１９】
図１に、ＡＴＥを使用してスキャンベースの集積回路（ｓｃａｎ−ｂａｓｅｄ ｉｎｔｅｇｒａｔｅｄ ｃｉｒｃｕｉｔ）をテストする従来のシステムの構成図を示す。システム１０１は、テスタまたは外部自動テスト装置（ＡＴＥ）１０２、およびスキャンチェーン１０９を含む被テスト回路（ＣＵＴ）１０７を備える。
【００２０】
ＡＴＥ１０２は、外部スキャン入力ピン１１１、ならびに外部主入力ピン１１３から、スキャンモードで、スキャンチェーン１０９を介してＣＵＴ１０７に１組の完全に特定されたテストパターン１０３を１つずつ適用する。次いで、適用されたテストパターンを入力に使用してＣＵＴが通常モードで作動され、そのテストパターンへの応答がスキャンチェーンに取り込まれる。次いでＣＵＴは、再度スキャンモードに戻され、外部スキャン出力ピン１１２、ならびに外部主出力ピン１１４からスキャンチェーンを介して、ＡＴＥにテスト応答がシフトされる。次いで、シフトされたテスト応答１０４は、比較器１０５によって、対応する期待テスト応答１０６と比較されて、ＣＵＴ内に故障が存在するかどうか判定され、その結果を合否信号１１５で指示する。
【００２１】
従来のシステム１０１では、ＣＵＴ１０７中のスキャンチェーン１０９の数は、外部スキャン入力ピン１１１の数、または外部スキャン出力ピン１１２の数と同一である。１つの集積回路での外部ピンの数は限られているので、従来システムでのスキャンチェーンの数も限られる。その結果、多数のスキャンセル（ＳＣ）１０８を含む大規模集積回路は、普通、スキャンテスト用の非常に長いスキャンチェーンを含む。これによって、容認しがたいほど大量のテストデータおよび高くつくテスト適用時間がもたらされることになる。
【００２２】
図２に、本発明による、ＡＴＥを使用してスキャンベースの集積回路をテストするブロードキャストスキャンテストシステムの構成図を示す。システム２０１は、ＡＴＥ２０２、およびブロードキャスタ２０８、ＣＵＴ２０９、圧縮器２１３を含む回路２０７を備える。ＣＵＴはスキャンチェーン２１１を含む。
【００２３】
ブロードキャスタ２０８は、図４に示すように組合せ論理ネットワークだけを含むことも、図６に示すように組合せ論理ネットワークの他に仮想スキャン制御機構を含むこともできる。このブロードキャスタを使用して仮想スキャンパターン２０３をブロードキャストスキャンパターンにマップする。その場合、仮想スキャンパターンのビット数は、普通、ブロードキャストスキャンパターンのビット数よりも小さい。ブロードキャスタのマッピング機能は、それが組合せ論理ネットワークだけを含む場合には、固定である。しかし、このマッピング機能は、それが仮想スキャン制御機構も含む場合には、可変である。この場合には、仮想スキャン制御機構の出力値は、組合せ論理ネットワークが実現するマッピング機能を変更し、したがって、外部スキャン入力ピン２１５から内部スキャンチェーン入力２１９に様々なマッピング関係を実行することができる。圧縮器２１３は、内部スキャンチェーン出力２２０を外部スキャン出力ピン２１６にマップするように設計された、ＸＯＲネットワークなどの組合せ論理ネットワークである。実際には、外部スキャン入力または出力ピンの数は、内部スキャンチェーン入力または出力の数より小さいことに留意されたい。
【００２４】
素子２１３は、任意選択のスペース圧縮器およびマルチ入力シグネチャレジスタ（ＭＩＳＲ）で置き換え得ることに留意されたい。この場合には、すべてのテスト応答が単一のシグネチャに圧縮され、それを、すべてのブロードキャストスキャンパターンが適用された後に、回路２０７またはＡＴＥ２０２中のどちらかで、基準シグネチャと比較することができる。
【００２５】
また、圧縮器２１３は、普通、いくつかの出力ストリームがＸＯＲ圧縮ネットワークまたはＭＩＳＲに入り込むのを阻止するために使用されるマスクネットワークを含む。これは故障診断の際に役立つ。
【００２６】
図３に、純粋に配線だけを用いた従来技術のブロードキャスタ設計を示す。この例のブロードキャスタ設計３０１は、２つのブロードキャストスキャン入力３１４、３１５を持つ。ブロードキャストスキャン入力３１４は、スキャンチェーン３０３から３０７に直接接続され、ブロードキャスタ入力３１５は、スキャンチェーン３０８から３１２に直接接続される。この純粋に配線だけのブロードキャスト設計のオーバーヘッドは非常に小さいが、同じブロードキャストスキャン入力によって供給されるスキャンチェーン間でのテストパターン依存性は非常に高い。自動テストパターン生成（ＡＴＰＧ）の観点から見ると、この純粋に配線だけのブロードキャスト設計は、スキャンチェーンへの入力に厳しい制約条件を課す。その結果、この方式は、普通、深刻な故障検出率の低下を被ることになる。
【００２７】
図４に、本発明による、組合せ論理ネットワークおよび任意選択のスキャンコネクタからなるブロードキャスタの構成図を示す。ブロードキャスタ４０１のブロードキャストスキャン入力４０７を介して組合せ論理ネットワーク４０２に仮想スキャンパターンが適用される。組合せ論理ネットワークは固定マッピング機能を実装し、それが仮想スキャンパターンをブロードキャストスキャンパターンに変換する。次いで、任意選択のスキャンコネクタ４０３を介して、ブロードキャストスキャンパターンがＣＵＴ４０４中のすべてのスキャンチェーン４０９に適用される。
【００２８】
ブロードキャスタ４０１は、少数の外部ブロードキャストスキャン入力ピン４０７を介して、多数の内部スキャンチェーン４０６にテストパターンを提供するという目的を果たす。その結果、ＣＵＴ４０４中のすべてのスキャンセルＳＣ４０５を、多数のより短いスキャンチェーンに構成することができる。これは、テストデータカラムおよびテスト適用時間の削減に役立つ。組合せ論理ネットワーク４０２を適正に設計することによって、スキャンチェーンの入力ピンに課される付加的制約条件によって生じる故障検出率の低下を軽減することができる。
【００２９】
図５Ａに、本発明による、組合せ論理ネットワークからなる図４に示すブロードキャスタの第１の実施形態を示す。この例では、３ビットの仮想スキャンパターンが、ブロードキャスタ５０１によって８ビットのブロードキャストスキャンパターンに変換される。
【００３０】
ブロードキャスタ５０１は、２つのインバータ５０３、５０７、１つのＸＯＲゲート５０４、１つのＯＲゲート５０５、および１つのＮＯＲゲート５０６を含む組合せ論理ネットワーク５０２からなる。仮想スキャンパターンは、ブロードキャストスキャン入力、Ｘ２（５１８）からＸ０（５２０）を介して適用される。組合せ論理ネットワークは固定マッピング機能を実装し、それが仮想スキャンパターンをブロードキャストスキャンパターンに変換する。次いで、ＣＵＴ５０８中のＹ７（５２１）からＹ０（５２８）を介してすべてのスキャンチェーン５１０から５１７にそのブロードキャストスキャンパターンが適用される。
【００３１】
図５Ｂに、図５Ａに示すブロードキャスタの一実施形態によって課された入力制約条件を示す。
【００３２】
図５Ａのブロードキャスタ５０１は、３つのブロードキャストスキャン入力、Ｘ２（５１８）からＸ０（５２０）を持つ。したがって、表５３１中の＜Ｘ２、Ｘ１、Ｘ０＞の下に記載されるように、これらのブロードキャストスキャン入力には８通りの入力組合せがある。これらが、図５Ａの組合せ論理ネットワーク５０２へのすべての可能な入力値組合せである。したがって、この組合せ論理ネットワークの出力としては、表５３１中で＜Ｙ７、Ｙ６、Ｙ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０＞の下に記載されるように、８通りの値の組合せがある。これらが、図５Ａのスキャンチェーン５１０から５１７の入力において現れ得るすべての可能な論理値の組合せであり、ＡＴＰＧのプロセスでの入力制約条件である。
【００３３】
図５Ｃに、本発明による、組合せ論理ネットワークおよびスキャンコネクタからなる図４に示すブロードキャスタの第２の実施形態を示す。この例では、３ビットの仮想スキャンパターンがブロードキャスタ５６１によって８ビットのブロードキャストスキャンパターンに変換される。
【００３４】
ブロードキャスタ５６１は組合せ論理ネットワーク５６２およびスキャンコネクタ５６６からなる。この組合せ論理ネットワークは１つのインバータ５６５、１つのＸＯＲゲート５６３、および１つのＯＲゲート５６４を含む。仮想スキャンパターンはブロードキャストスキャン入力、Ｘ２（５８１）からＸ０（５８３）を介して適用される。組合せ論理ネットワークは固定マッピング機能を実装し、それが仮想スキャンパターンをブロードキャストスキャンパターンに変換する。次いで、ブロードキャストスキャンパターンが、スキャンコネクタ５６６を介してすべてのスキャンチェーン５７３から５８０に適用される。スキャンコネクタは、１つのバッファ５６７、１つのインバータ５７０、１つのロックアップ素子ＬＥ５６９、および１つのスペアセルＳＣ５６８からなる。一般に、スキャンコネクタ中のバッファ、インバータ、またはロックアップ素子を使用して、２つのスキャンチェーンを１つに接続することができる。また、様々なスキャンチェーン間での依存性を軽減させるために、既存のスキャンチェーンにスペアセルを付加してその長さを変更することもできる。これは故障検出率を向上させるのに役立つ。
【００３５】
図５Ｄに、図５Ｃに示すブロードキャスタの実施形態によって課された入力制約条件を示す。
【００３６】
図５Ｃのブロードキャスタ５６１は、３つのブロードキャストスキャン入力Ｘ２（５８１）からＸ０（５８３）を持つ。したがって、表５９１の＜Ｘ２、Ｘ１、Ｘ０＞の下に記載されるように、これらのブロードキャストスキャン入力には８通りの入力制約条件がある。これらが、図５Ｃの組合せ論理ネットワーク５６２へのすべての可能な入力値組合せである。したがって、この組合せ論理ネットワークの出力としては、表５９１の＜Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０＞の下に記載されるように８通りの値の組合せがある。これらが、ＡＴＰＧのプロセスでの入力制約条件である。
【００３７】
図６に、本発明による、仮想スキャン制御機構、組合せ論理ネットワーク、および任意選択のスキャンコネクタからなるブロードキャスタの構成図を示す。
【００３８】
ブロードキャスタ６０１は、仮想スキャン制御機構６０２、組合せ論理ネットワーク６０３、および任意選択のスキャンコネクタ６０４からなる。仮想スキャンパターンは、２種類の入力ピン、ブロードキャストスキャン入力６０８と仮想スキャン入力６０９を介して適用される。ブロードキャストスキャン入力は組合せ論理ネットワークに直接接続され、仮想スキャン入力は仮想スキャン制御機構に直接接続される。また、仮想スキャン制御機構は、任意選択の仮想スキャン出力６１３を持つこともできる。
【００３９】
仮想スキャン制御機構６０２は、復号器などの組合せ回路とすることも、シフトレジスタなどの順次回路とすることもできることに留意されたい。仮想スキャン入力６０９を介して適用される論理値は各クロックサイクルごとに変化してもしなくてもよいが、ブロードキャストスキャン入力６０８を介して適用される論理値は各クロックサイクルごとに変化する。仮想スキャン入力値を適用する目的は、仮想スキャン制御機構で適正なセットアップ値の組合せを変更し、記憶することである。このセットアップ値の組合せが６１０を介して組合せ論理ネットワーク６０３に適用されて、組合せ論理ネットワークが実装するマッピング機能を変更する。１つのマッピング機能はＡＴＰＧでの１組の入力制約条件に対応するので、マッピング機能を変更できるようにすれば、ＡＴＰＧでのより柔軟な入力制約条件がもたらされる。その結果、ブロードキャスト方式に起因する故障検出率低下を実質的に軽減することができる。
【００４０】
一般に、ブロードキャスタ６０１は、テスト時に２つの目的を果たす。１つの目的は、少数の外部ブロードキャストスキャン入力ピン６０８および仮想スキャン入力ピン６０９を介して、多数の内部スキャンチェーン６０７にテストパターンを提供することである。その結果、回路中のすべてのスキャンセルＳＣ６０６を多数のより短いスキャンチェーンに構成することができる。これは、テストデータ量およびテスト適用時間を削減するのに役立つ。別の目的は、より高い故障検出率を得るために、組合せ論理ネットワーク６０３からすべてのスキャンチェーンに適用されるブロードキャストスキャンパターンの品質を向上させることである。これは、仮想スキャン制御機構にロードされる値を変更することによって達成される。この柔軟性によって、組合せ論理ネットワークは、固定された１つではなく、様々なマッピング機能を実現することができる。
【００４１】
図７に、本発明による、図６に示すブロードキャスタの第１の実施形態を示す。ブロードキャスタ７０１は、仮想スキャン制御機構７０２と組合せ論理ネットワーク７０５とからなる。仮想スキャン制御機構は、２つのインバータ７０３、７０４からなる。組合せ論理ネットワークは、ＸＯＲゲート７０６から７１３で構成される。この例では、４ビットの仮想スキャンパターンがブロードキャスタによって８ビットのブロードキャストスキャンパターンに変換される。
【００４２】
明らかに、仮想スキャン制御機構７０２の出力７３０、７３１は、相補的値を持つはずである。また、仮想スキャン制御機構の出力７３２および７３３も相補的値を持つはずである。２つのブロードキャストスキャン入力７２８、７２９に適用される値がそれぞれＶ１、Ｖ２であるものとする。この場合、スキャンチェーン入力７３４から７４３において現れる値は、それぞれ、Ｐ１、〜Ｐ１、Ｐ２、〜Ｐ２、Ｖ１、Ｖ２、Ｐ３、〜Ｐ３、Ｐ４、〜Ｐ４となるはずである。ここで、Ｐ１と〜Ｐ１は相補的であり、Ｐ２と〜Ｐ２は相補的であり、Ｐ３と〜Ｐ３は相補的であり、Ｐ４と〜Ｐ４は相補的である。さらに、Ｐ１およびＰ２はＶ１と同じまたはＶ１の補数であり、Ｐ３およびＰ４は、Ｖ１と同じまたはＶ２の補数である。これがＡＴＰＧでの入力制約条件である。
【００４３】
図８に、本発明による、図６に示すブロードキャスタの第２の実施形態を示す。ブロードキャスタ８０１は、仮想スキャン制御機構８０２と組合せ論理ネットワーク８０４からなる。仮想スキャン制御機構は２対４復号器８０３からなる。組合せ論理ネットワークは、８つのＸＯＲゲート８０５から８１２からなる。この例では、４ビットの仮想スキャンパターンが、ブロードキャスタによって８ビットのブロードキャストスキャンパターンに変換される。
【００４４】
明らかに、２対４復号器８０３の出力８２９から８３２には４通りの可能な論理値の組合せがある。それらは、出力８２９から８３２で、それぞれ、１０００、０１００、００１０、０００１である。２対４復号器の出力値組合せが１０００であるものとする。また、２つのブロードキャストスキャン入力８２７、８２８に適用される論理値が、それぞれ、Ｖ１、Ｖ２であるものとする。この場合、スキャンチェーン入力８３３から８４２において現れる値は、それぞれ、〜Ｖ１、Ｖ１、Ｖ１、Ｖ１、Ｖ１、Ｖ２、〜Ｖ２、Ｖ２、Ｖ２、Ｖ２である。ここで、Ｖ１と〜Ｖ１は相補的であり、Ｖ２と〜Ｖ２も相補的である。これがＡＴＰＧでの入力制約条件である。明らかに、仮想スキャン入力８２５、８２６の値を変更することによって、ＡＴＰＧでの異なる入力制約条件の組を取得することができる。これは、故障検出率を向上させるのに役立つ。
【００４５】
図９に、本発明による、図６に示すブロードキャスタの第３の実施形態を示す。
【００４６】
ブロードキャスタ９０１は、仮想スキャン制御機構９０２と組合せ論理ネットワーク９１１からなる。仮想スキャン制御機構は、メモリ素子９０３から９１０を備える８段シフトレジスタからなる。１つの仮想スキャン入力９３２があり、それがこのシフトレジスタへの入力である。１つの任意選択の仮想スキャン出力９３５があり、それがこのシフトレジスタの出力である。任意選択で、仮想スキャン入力および仮想スキャン出力を、それぞれ、バウンダリスキャン設計でのＴＤＩおよびＴＤＯに接続することもできる。組合せ論理ネットワークは、８つのＸＯＲゲート９１２から９１９からなる。２つのブロードキャストスキャン入力９３３、９３４がある。入力９３３を介して適用されるテストパターンは、スキャンチェーン９２２から９２６にブロードキャストされ、入力９３４を介して適用されるテストパターンは、スキャンチェーン９２７から９３１にブロードキャストされる。
【００４７】
スキャンチェーン９２６、９２７は、それぞれ、ブロードキャストスキャン入力９３３、９３４から直接ロードされ、スキャンチェーン９２２から９２５、ならびにスキャンチェーン９２８から９３１は、それぞれ、ＸＯＲゲート９１２から９１５および９１６から９１９を介してロードされる。メモリ素子９０３の値が論理０である場合には、スキャンチェーン９２２は、ブロードキャストスキャン入力９３３から適用された値と同一の値を取得する。メモリ素子９０３の値が論理１である場合には、スキャンチェーン９２２はブロードキャストスキャン入力９３３から適用された値の補数値を取得する。同じことがスキャンチェーン９２３から９２５、および９２８から９３１にも当てはまる。これは、仮想スキャン制御機構９０２中のシフトレジスタに１組の適正に決定された値を適用することによって、任意のシフトサイクルに、１０２４通りの論理値の組合せのうちのいずれかをスキャンチェーン９２２から９３１に適用することができることを意味する。その結果、１組の適正に決定された論理値をシフトレジスタにロードし、入力９３３および９３４を介してブロードキャストスキャンパターンを適用することによって、ＣＵＴ９２０中のどんな検出可能な故障も検出することができる。
【００４８】
ＣＵＴ９２０をテストするためにすべてのスキャンチェーンを駆動するブロードキャストスキャンパターンを生成しようとするＡＴＰＧの観点から見ると、仮想スキャン制御機構９０２のシフトレジスタ中のメモリ素子の値によって決まるブロードキャスタ構成は、１つの入力制約条件を表す。メモリ素子９０３から９１０での値が、それぞれ、０、１、０、１、０、１、０、１であるものとする。この場合、このＣＵＴでのＡＴＰＧは、任意のシフトサイクルにおいて、スキャンチェーン９２２、９２４、９２６が同一の値Ｖを持ち、スキャンチェーン９２３、９２５がＶの補数である同一の値〜Ｖを持ち、スキャンチェーン９２７、９２８、９３０が同一の値Ｐを持ち、スキャンチェーン９２９、９３１がＰの補数である同一の値〜Ｐを持つという入力制約条件を満たす必要がある。
【００４９】
図１０に、本発明による、図６に示すブロードキャスタの第４の実施形態を示す。
【００５０】
ブロードキャスタ１００１は、仮想スキャン制御機構１００２と組合せ論理ネットワーク１００６からなる。仮想スキャン制御機構は、メモリ素子１００３から１００５を備える３段シフトレジスタからなる。１つの仮想スキャン入力１０２３があり、それがこのシフトレジスタへの入力である。１つの任意選択の仮想スキャン出力１０２６があり、それがこのシフトレジスタの出力である。任意選択で、仮想スキャン入力および仮想スキャン出力を、それぞれ、バウンダリスキャン設計でのＴＤＩおよびＴＤＯに接続することもできる。組合せ論理ネットワークは４つのＸＯＲゲート１００７から１０１０で構成される。２つのブロードキャストスキャン入力１０２４、１０２５がある。入力１０２４を介して適用されるテストパターンはスキャンチェーン１０１３から１０１７にブロードキャストされ、入力１０２５を介して適用されるテストパターンは、スキャンチェーン１０１８から１０２２にブロードキャストされる。
【００５１】
図９のブロードキャスタ９０１と図１０のブロードキャスタ１００１との大きな違いは、ブロードキャスタ１００１では、テストパターンが一部のスキャンチェーンに、ＸＯＲゲートを介さずに直接ブロードキャストされることである。スキャンチェーン１０１３、１０１５、１０１７は、ブロードキャストスキャン入力１０２４から直接駆動される。これは、任意のシフトサイクルにおいて、スキャンチェーン１０１３、１０１５、１０１７が同一の値を持つことを意味する。また、スキャンチェーン１０１８、１０２０、１０２２は、ブロードキャストスキャン入力１０２５から直接駆動される。これは、任意のシフトサイクルにおいて、スキャンチェーン１０１８、１０２０、１０２２が同一の値を持つことを意味する。その結果、仮想スキャン制御機構１００２中のシフトレジスタに１組の適正に決定された値を適用することによって、任意のシフトサイクルにおいて、スキャンチェーン１０１３から１０２２に、６４通りの論理値の組合せのうちのいずれかを適用できるにすぎない。すなわち、ブロードキャスタ１００１は、スキャンチェーンへの入力におけるより厳しい制約条件を犠牲にする代わりに、必要なハードウェアオーバーヘッドがより小さくて済む。
【００５２】
図１１に、本発明による、図６に示すブロードキャスタの第５の実施形態を示す。
【００５３】
ブロードキャスタ１１０１は、仮想スキャン制御機構１１０２と組合せ論理ネットワーク１１０６からなる。仮想スキャン制御機構は、メモリ素子１１０３から１１０５を含む３段シフトレジスタからなる。１つの仮想スキャン入力１１２７があり、それがこのシフトレジスタへの入力である。１つの任意選択の仮想スキャン出力１１３０があり、それがこのシフトレジスタの出力である。任意選択で、仮想スキャン入力および仮想スキャン出力を、それぞれ、バウンダリスキャン設計でのＴＤＩおよびＴＤＯに接続することもできる。組合せ論理ネットワークは、４つのＸＯＲゲート（１１０８、１１０９、１１１２、１１１４）、２つのインバータ（１１０７、１１１３）、１つのＡＮＤゲート（１１１０）、および１つのＯＲゲート（１１１１）で構成される。２つのブロードキャストスキャン入力１１２８、１１２９がある。入力１１２８を介して適用されるテストパターンは、スキャンチェーン１１１７から１１２１にブロードキャストされ、入力１１２９を介して適用されるテストパターンは、スキャンチェーン１１２２から１１２６にブロードキャストされる。
【００５４】
ブロードキャスタ１１０１は、ブロードキャストスキャン入力１１２８、１１２９からスキャンチェーン１１１７から１１２６の入力へのより複雑なブロードキャストマッピング関係を実現する。マッピング関係の一般的な形は、スキャンチェーン１１１７から１１２６の入力にそれぞれ対応する＜ＶＢ、ＶＣ、Ｖ、ＶＣ、Ｖ＊Ｐ、Ｖ＋Ｐ、ＰＣ１、ＰＢ、ＰＣ２、Ｐ＞で表すことができる。ここで、ＶおよびＰは、それぞれ、任意のシフトサイクルでブロードキャストスキャン入力１１２８、１１２９から適用された２つの論理値である。ＶＢおよびＰＢは、それぞれ、ＶおよびＰの補数である。ＶＣは、メモリ素子１１０３の出力値が論理０または１である場合には、それぞれ、ＶまたはＶＢに等しい。ＰＣ１は、メモリ素子１１０４の出力値が論理０または１である場合には、それぞれＰまたはＰＢに等しい。ＰＣ２は、メモリ素子１１０５の出力値が論理０または論理１である場合には、それぞれ、ＰまたはＰＢに等しい。明らかに、このブロードキャストマッピング関係は、仮想スキャン制御機構１１０２中のシフトレジスタに様々な論理値の組をロードすることを介してＶＣ、ＰＣ１、ＰＣ２を変更することによって変更することができる。その結果、より高い故障検出率が達成できるように、ＣＵＴ１１１５により相互依存性の低いテスト刺激を適用することができる。
【００５５】
ＣＵＴ１１１５をテストするためにすべてのスキャンチェーン１１１７から１１２６を駆動するブロードキャストスキャンパターンを生成しようとするＡＴＰＧの観点から見ると、仮想スキャン制御機構１１０２のシフトレジスタ中のメモリ素子の値によって決まるブロードキャスト構成は、その一般的な形が＜ＶＢ、ＶＣ、Ｖ、ＶＣ、Ｖ＆Ｐ、Ｖ＋Ｐ、ＰＣ１、ＰＢ、ＰＣ２、Ｐ＞である入力制約条件を表す。この制約されたＡＴＰＧが実施できるのは、元の順次ＣＵＴ１１１５が、それらのメモリ素子の値が決定された後の制約を反映する組合せ回路モデルに変換された場合である。
【００５６】
図１２に、本発明による、図６に示すブロードキャスタの第６の実施形態を示す。
【００５７】
ブロードキャスタ１２０１は、仮想スキャン制御機構１２０２、組合せ論理ネットワーク１２０３、およびスキャンコネクタ１２０７からなる。組合せ論理ネットワークは、１つのＯＲゲート１２０５の他に、２つのインバータ１２０４、１２０６を含む。仮想スキャンパターンは、ブロードキャストスキャン入力１２２６、１２２７、および仮想スキャン入力ＴＤＩ１２２４を介して適用される。仮想スキャン制御機構からの１つの出力Ｘ２（１２２９）が組合せ論理ネットワークに加えられ、それが様々なマッピング機能を実装できるようにする。次いで、組合せ論理ネットワークからの出力値１２３２から１２３６が、スキャンコネクタ１２０７を介してすべてのスキャンチェーン１２１５から１２２３に適用される。スキャンコネクタは、１つのバッファ１２０９、１つのインバータ１２１２、１つのロックアップ素子ＬＥ１２１１、１つのスペアセルＳＣ１２１０および１つのマルチプレクサ１２０８からなる。一般に、スキャンコネクタ中のバッファ、インバータ、またはロックアップ素子を使用して２つのスキャンチェーンを１つに接続することができる。また、既存のスキャンチェーンにスペアセルを付加して様々なスキャンチェーン間の依存性を低減することもできる。これは故障検出率の向上に役立つ。さらに、マルチプレクサを使用して１つのスキャンチェーンを２つの部分に分割することもできる。図１２に示すように、マルチプレクサ１２０８の選択信号１２２８が論理１である場合には、スキャンチェーン１２１５および１２１６は異なる入力値ストリームを取得する。しかし、マルチプレクサ１２０８の選択信号１２２８が論理０である場合には、スキャンチェーン１２１５および１２１６は、１つのスキャンチェーンであるとみなすことができ、それらを１つの入力値ストリームだけが通過する。明らかに、スキャンコネクタを使用してＣＵＴ中のスキャンチェーンの長さを調節し、それによってテスト時間を短縮し、または故障検出率を向上させることができる。
【００５８】
図１３に、本発明による、マスクネットワーク、およびＸＯＲネットワークまたはＭＩＳＲからなる圧縮器の構成図を示す。
【００５９】
ＣＵＴの入力１３０７上で適用されたブロードキャストスキャンパターンに対応するＣＵＴの出力１３０８上のテスト応答は、マスクネットワーク１３０５、およびＸＯＲネットワークまたはＭＩＳＲ１３０６からなる圧縮器１３０４を通過する。ＭＣ１３１１はマスクネットワークを制御するのに使用される信号である。これはＡＴＥから加えることも、仮想スキャン制御機構によって生成することもできる。マスクネットワークは、ＸＯＲネットワークまたはＭＩＳＲへの一部の入力をマスキングするのに使用される。これは故障診断の際に有用である。ＸＯＲネットワークは、スペース圧縮の実施、すなわち回路から出ていくテスト応答ライン数を削減するのに使用される。他方、ＭＩＳＲは、時間領域と空間領域の両方でテスト応答を圧縮するのに使用することができる。すなわち、ＭＩＳＲを使用すると、テスト結果をサイクルごとにチェックする必要がない。そうではなく、テストセッション全体の終りに得られるシグネチャを比較するだけでよい。しかし、（Ｘの）未知の値はＭＩＳＲに入ることができないことに留意すべきである。これは、より厳密な設計規則に従う必要があることを意味する。
【００６０】
図１４に、本発明による、図１３に示す圧縮器の第１の実施形態を示す。
【００６１】
出力１４４１から１４４８上のテスト応答は、マスクネットワーク１４１２、次いで、ＸＯＲネットワーク１４２２を通過する。マスクネットワークは、１４１４から１４１７と１４１８から１４２１の２つのＡＮＤゲートグループからなり、各グループは、変更２対４復号器１４１３によって生成された４つの出力によって制御される。モード信号１４４９が論理１である診断モードでは、この復号器はＭＣ１（１４２９）およびＭＣ２（１４３０）上の論理値を、１０００、０１００、００１０、０００１の組合せのうちの１つにマップする。これらの論理組合せのうちのどれを用いても、ＡＮＤゲートグループのどちらも、１つのテスト応答ストリームだけを１４３１または１４３２に通過させることが明らかである。明白に、これは故障検出率の際に役立つ。モード信号１４４９が論理０であるテストモードでは、この復号器は、すべて１の論理組合せを生成する。これは、すべてのテスト応答ストリームを１４３１または１４３２に通過させる。ＸＯＲネットワーク１４２２は、それぞれ、ＸＯＲゲート１４２３から１４２５と１４２６から１４２８とで構成される、２つの４対１ＸＯＲサブネットワークグループからなる。
【００６２】
図１５に、本発明による、図１３に示す圧縮器の第２の実施形態を示す。
【００６３】
出力１５４０から１５４７上のテスト応答は、マスクネットワーク１５１２、次いで、ＭＩＳＲ１５２５を通過する。マスクネットワークは、２つのＡＮＤゲートグループ、１５１７から１５２０および１５２１から１５２４からなり、各グループは、メモリ素子１５１３から１５１６で構成されるシフトレジスタの４つの出力によって制御される。診断モードでは、このシフトレジスタにＴＤＩ１５２６から、１０００、０１００、００１０、０００１の組合せのうちの１つをロードすることができる。これらの論理組合せのいずれを用いても、ＡＮＤゲートグループのどちらも１つのテスト応答ストリームだけをＭＩＳＲに通過させることが明らかである。明白に、これは故障診断の際に役立つ。テストモードでは、すべて１の論理組合せがシフトレジスタにロードされる。これは、すべてのテスト応答ストリームをＭＩＳＲに通過させる。１テストセッションの終りのＭＩＳＲの内容を、期待されるシグネチャと比較するために、ＴＤＯ１５２９からシフトさせることができる。
【００６４】
図１６Ａに、本発明による、より多くの故障をテストするブロードキャストスキャンパターンを生成するためにスキャンセルを再配列し、またはスキャンチェーンの長さを変更する前の方法の一実施形態を示す。ブロードキャスタ１６０１は、１つのブロードキャストスキャン入力１６１４を持ち、それが３つのスキャンチェーン１６０６、１６０８、１６１１に論理値をブロードキャストする。
【００６５】
仮想スキャン制御機構１６０２中のシフトレジスタに適正にロードすることによって、論理値は、ＸＯＲゲート１６０４を介して、スキャンチェーン１６１１に適用されるので、任意のシフトサイクルに、スキャンチェーン１６０６および１６０８を介して適用されるものと異なり得るどんな論理値を適用することも可能である。しかし、スキャンチェーン１６０６および１６０８には、どのシフトサイクルにも同じ論理値がロードされる。その結果、スキャンセルＡ３（１６０７）およびＢ３（１６１０）はどのブロードキャストテストパターンでも同じ論理値を持つことになる。スキャンセルＡ３（１６０７）およびＢ３（１６１０）からの出力は同じ組合せ論理ブロック１６１２に接続されるので、この強いテストパターン依存性が原因で、この組合せ論理ブロック中の一部の故障を検出できない可能性がある。例えば、この組合せ論理ブロック中の一部の故障を検出するために、スキャンセルＡ３（１６０７）の出力としての論理０とスキャンセルＢ３（１６１０）の出力としての論理１を持つ必要があることも考えられる。明らかに、これらの故障は検出されない。
【００６６】
図１６Ｂに、本発明による、より多くの故障をテストするブロードキャストスキャンパターンを生成するためにスキャンセルを再配列した後の方法の一実施形態を示す。ブロードキャスタ１６０１は１つのブロードキャストスキャン入力１６１４を持ち、それが３つのスキャンチェーン１６０６、１６０８、１６１１に論理値をブロードキャストする。
【００６７】
図１６Ａと図１６Ｂとの唯一の違いは、スキャンチェーン１６０８において、スキャンセルＢ２（１６０９）とＢ３（１６１０）の順序が変更されることである。この場合、スキャンセルＡ３（１６０７）とＢ２（１６０９）の出力はどのシフトサイクルでも同じ論理値を持つが、スキャンセルＡ３（１６０７）とＢ３（１６１０）の出力は異なる論理値を持ち得る。結果としてこれは、図１６Ａに示すスキャン順序では検出され得ない一部の故障を検出することを可能にする。
【００６８】
図１６Ｃに、本発明による、より多くの故障をテストするブロードキャストスキャンパターンを生成するためにスキャンチェーンの長さを変更した後の方法の一実施形態を示す。ブロードキャスタ１６０１は１つのブロードキャストスキャン入力１６１４を持ち、それが３つのスキャンチェーン１６０６、１６０８、１６１１に論理値をブロードキャストする。
【００６９】
図１６Ａと図１６Ｃとの唯一の違いは、１つのスペアスキャンセルＢ０（１６１７）がマルチプレクサ１６１８を介してスキャンチェーン１６０８に付加されることである。選択信号１６１９が論理１である場合には、このスペアスキャンセルがスキャンチェーン１６０８に付加されることが明らかである。その結果、スキャンセルＡ３（１６０７）とＢ２（１６０９）の出力はどのシフトサイクルでも同じ論理値を持つが、スキャンセルＡ３（１６０７）とＢ３（１６１０）の出力は異なる論理値を持ち得る。結果としてこれは、図１６Ａに示すスキャン順序では検出され得ない一部の故障を検出することを可能にする。
【００７０】
図１７に、本発明による、故障検出率向上のためにスキャンセルを再配列する方法の流れ図を示す。この方法１７００は、ユーザ供給のＨＤＬコード１７０１を選択されたファウンドリライブラリ１７０２と共に受け入れる。ＨＤＬコードは、図２に示すようなブロードキャスタ、フルスキャンＣＵＴ、および圧縮器で構成される順次回路を表す。次いで、ＨＤＬコードおよびライブラリを内部順次回路モデル１７０４にコンパイルし、次いでそれを組合せ回路モデル１７０６に変換する。次いで、元のスキャン順序情報１７０９およびスキャン順序制約条件１７１０に基づき、入力コーン分析１７０７を実施して、その順序を変更する必要のあるスキャンセルを識別する。次いで、スキャンチェーン再配列１７０８を実施する。その後、ＨＤＬテストベンチおよびテスタプログラム１７１１を生成すると同時に、すべてのレポートおよびエラーをレポートファイル１７１２に保存する。
【００７１】
図１８に、本発明による、スキャンベースの集積回路をテストする際に使用されるブロードキャストスキャンパターンを生成する方法の流れ図を示す。この方法１８００は、ユーザ供給のＨＤＬコード１８０１を選択されたファウンダリライブラリ１８０２と共に受け入れる。ＨＤＬコードは、図２に示すようなブロードキャスタ、フルスキャンＣＵＴ、および圧縮器で構成される順次回路を表す。次いで、ＨＤＬコードおよびライブラリを内部順次回路モデル１８０４にコンパイルし、次いでそれを組合せ回路モデル１８０６に変換する。次いで、必要とされる場合には、入力制約条件１８１０に基づいていくつかのランダムパターンについて組合せ故障シミュレーション１８０７を実施し、検出されたすべての故障を故障リストから除去する。その後、仮想スキャンパターンを生成するために組合せＡＴＰＧ１８０８を実施し、検出されたすべての故障を故障リストから除去する。事前に選択された故障検出率目標など、所定の限界基準が満たされた場合には、ＨＤＬテストベンチおよびＡＴＥテストプログラム１８１１を生成すると同時に、すべてのレポートおよびエラーをレポートファイル１８１２に保存する。所定の限界基準が満たされなかった場合には、新規の入力制約条件１８１０を使用する。例えば、仮想スキャン制御機構に１組の新規の値をロードして新規の入力制約条件を指定することができる。その後、任意選択のランダムパターン故障シミュレーション１８０７およびＡＴＰＧ１８０８を実施する。この反復を所定の限界基準が満たされるまで続行する。
【００７２】
図１９に、本発明による、スキャンベースの集積回路をテストするためにブロードキャスタおよび圧縮器を合成する方法の流れ図を示す。この方法１９００は、ユーザ供給のＨＤＬコード１９０１を選択されたファウンダリライブラリ１９０２と共に受け入れる。ＨＤＬコードは、図２に示すようなブロードキャスタ、フルスキャンＣＵＴ、および圧縮器で構成される順次回路を表す。次いで、ＨＤＬコードおよびライブラリを内部順次回路モデル１９０４にコンパイルする。次いで、ブロードキャスタ合成１９０５および圧縮器合成１９０６を、それぞれ、ブロードキャスタ制約条件１９０８および圧縮器制約条件１９０９に基づいて実施する。その後、ブロードキャスタと圧縮器を元の回路に統合するために、スティッチング制約条件１９１０に基づいてスティッチング１９０７を実施する。最後に、合成ＨＤＬコード１９１１を生成すると同時に、すべてのレポートおよびエラーをレポートファイル１９１２に保存する。
【００７３】
図２０に、本発明によるブロードキャストスキャンテスト方法を実装し得るシステムの一例を示す。システム２０００はプロセッサ２００２を含み、それがメモリ２００１と共に動作して１組のブロードキャストスキャンテスト設計ソフトウェアを実行する。プロセッサ２００２は、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータまたはその他適当なディジタル処理装置の中央処理装置を表し得る。メモリ２００１は、電子メモリ、磁気または光ディスクベースのメモリ、あるいはそれらの様々な組合せとすることができる。設計者は、プロセッサ２００２によって実行されるブロードキャストスキャンテスト設計ソフトウェアと対話して、キーボード、ディスクドライブまたはその他適当な設計情報供給源とすることのできる入力装置２００３を介して適当な入力を提供する。プロセッサ２００２は、ディスプレイ、印刷装置、ディスクドライブまたはこれらとその他の要素の様々な組合せとすることのできる出力装置２００４を介して設計者に出力を提供する。
【００７４】
以上、本発明の現在の好ましい実施形態を説明したので、本発明の目的が完全に達成されていることが理解できる。また、本発明の精神および範囲を逸脱することなく、本発明の構造および回路構成での多くの変更、および多種多様な実施形態および適用例が想起されることを当分野の技術者は理解するであろう。本明細書での開示および説明は例示のためのものであり、より好ましくは添付の特許請求の範囲によってその範囲を定義される本発明を、いかなる意味でも限定するものではない。
【図１】
2010107516.tif 000003
【図２】
2010107516.tif 000004
【図３】
2010107516.tif 000005
【図４】
2010107516.tif 000006
【図５Ａ】
2010107516.tif 000007
【図５Ｂ】
2010107516.tif 000008
【図５Ｃ】
2010107516.tif 000009
【図５Ｄ】
2010107516.tif 000010
【図６】
2010107516.tif 000011
【図７】
2010107516.tif 000012
【図８】
2010107516.tif 000013
【図９】
2010107516.tif 000014
【図１０】
2010107516.tif 000015
【図１１】
2010107516.tif 000016
【図１２】
2010107516.tif 000017
【図１３】
2010107516.tif 000018
【図１４】
2010107516.tif 000019
【図１５】
2010107516.tif 000020
【図１６Ａ】
2010107516.tif 000021
【図１６Ｂ】
2010107516.tif 000022
【図１６Ｃ】
2010107516.tif 000023
【図１７】
2010107516.tif 000024
【図１８】
2010107516.tif 000025
【図１９】
2010107516.tif 000026
【手続補正書】
【提出日】平成22年1月4日(2010.1.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ブロードキャストスキャン入力を備え、スキャンベースの集積回路をテストするために、前記ブロードキャストスキャン入力を介して仮想スキャンパターンを受け入れてブロードキャストスキャンパターンを生成するブロードキャスタにおいて、
前記スキャンベースの集積回路は、複数のスキャンチェーンを含み、
各スキャンチェーンは、直列に結合されている複数のスキャンセルを含み、
前記ブロードキャスタは、
前記ブロードキャストスキャン入力に直接的に接続されている組合せ論理ネットワークを具備し、
前記組合せ論理ネットワークは、複数のブロードキャストスキャンの出力と、複数の論理ゲートとを含み、
前記複数の論理ゲートは、１つ以上のＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、ＮＯＲゲート、マルチプレクサ、バッファ、またはインバータ、あるいは、前記論理ゲートのうちの任意の組合せを含み、
前記複数の論理ゲートは、前記ブロードキャストスキャン入力と前記組合せ論理ネットワークの出力との間で接続され、組合せ論理を単に使用することによって、前記論理ネットワークの出力において前記仮想スキャンパターンをブロードキャストスキャンパターンにマッピングする手段を形成しているブロードキャスタ。
【請求項２】
第１のスキャンコネクタを使用して、２つの選択されたスキャンチェーンを１つの長いスキャンチェーンに併合することをさらに含み、
前記第１のスキャンコネクタは、バッファ、インバータ、マルチプレクサ、または、インバータおよびメモリ素子を備えているロックアップ素子である請求項１記載のブロードキャスタ。
【請求項３】
前記選択されたスキャンチェーンと他の選択されたスキャンチェーンとの相互依存性を低減または除去するように、選択されたスキャンチェーンに挿入されている第２のスキャンコネクタをさらに具備し、
前記第２のスキャンコネクタは、１つ以上のスペアスキャンセルをさらに含む請求項１記載のブロードキャスタ。
【請求項４】
各選択されたスキャンチェーン内の前記スキャンセルを選択的に再配列するように、または、選択されたスキャンチェーンを２つ以上の短いスキャンチェーンに分割するように、前記組合せ論理ネットワークの出力と前記スキャンチェーン内の選択されたスキャンセルとに挿入されている第３のスキャンコネクタをさらに具備し、
前記第３のスキャンコネクタは、１つ以上のマルチプレクサをさらに備え、
前記マルチプレクサは、１つ以上の仮想スキャン入力によって制御される請求項１記載のブロードキャスタ。
【請求項５】
前記組合せ論理ネットワークは、ＸＯＲゲート、ＸＮＯＲゲート、または、ＸＯＲゲートとＸＮＯＲゲートとを組合せたものをさらに含む請求項１記載のブロードキャスタ。
【請求項６】
前記ブロードキャスタを、前記スキャンベースの集積回路の内部または外部に選択的に配置することをさらに含む請求項１記載のブロードキャスタ。
【請求項７】
前記ブロードキャストスキャン入力の数は、３つ以下である請求項１記載のブロードキャスタ。
【請求項８】
ブロードキャストスキャン入力を備え、スキャンベースの集積回路をテストするために、前記ブロードキャストスキャン入力ならびに仮想スキャン入力を介して仮想スキャンパターンを受け入れて、ブロードキャストスキャンパターンを生成するブロードキャスタにおいて、
前記スキャンベースの集積回路は、複数のスキャンチェーンを含み、
各スキャンチェーンは、直列に結合されている複数のスキャンセルを含み、
前記ブロードキャスタは、
ａ）各シフトサイクル中または各テストセッション間に前記ブロードキャスタの動作を制御する仮想スキャン制御機構と、
ｂ）前記ブロードキャストスキャン入力に直接的に接続されている組合せ論理ネットワークとを備え、
前記組合せ論理ネットワークは、複数のブロードキャストスキャンの出力と、複数の論理ゲートとを備え、
前記複数の論理ゲートは、１つ以上のＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、ＮＯＲゲート、マルチプレクサ、バッファ、またはインバータ、あるいは、前記論理ゲートのうちの任意の組合せを含み、
前記複数の論理ゲートは、前記ブロードキャストスキャン入力と前記組合せ論理ネットワークの出力との間で接続され、組合せ論理を単に使用することによって、前記論理ネットワークの出力において前記仮想スキャンパターンをブロードキャストスキャンパターンにマッピングする手段を形成しているブロードキャスタ。
【請求項９】
第１のスキャンコネクタを使用して、２つの選択されたスキャンチェーンを１つの長いスキャンチェーンに併合することをさらに含み、
前記第１のスキャンコネクタは、バッファ、インバータ、マルチプレクサ、または、インバータおよびメモリ素子を備えているロックアップ素子である請求項８記載のブロードキャスタ。
【請求項１０】
前記選択されたスキャンチェーンと他の選択されたスキャンチェーンとの相互依存性を低減または除去するように、選択されたスキャンチェーンに挿入されている第２のスキャンコネクタをさらに具備し、
前記第２のスキャンコネクタは、１つ以上のスペアスキャンセルをさらに含む請求項８記載のブロードキャスタ。
【請求項１１】
各選択されたスキャンチェーン内の前記スキャンセルを選択的に再配列するように、または、選択されたスキャンチェーンを２つ以上の短いスキャンチェーンに分割するように、前記組合せ論理ネットワークの出力と前記スキャンチェーン内の選択されたスキャンセルとに挿入されている第３のスキャンコネクタをさらに具備し、
前記第３のスキャンコネクタは、１つ以上のマルチプレクサをさらに備え、
前記マルチプレクサは、１つ以上の仮想スキャン入力によって制御される請求項８記載のブロードキャスタ。
【請求項１２】
前記仮想スキャン制御機構は、１つ以上のバッファまたはインバータをさらに含む請求項８記載のブロードキャスタ。
【請求項１３】
前記仮想スキャン制御機構は、復号器である請求項８記載のブロードキャスタ。
【請求項１４】
前記仮想スキャン制御機構は、１つ以上のメモリ素子を備えている有限状態機械であり、
前記有限状態機械は、テストセッションが開始する前に、予め定められた状態でロードされる請求項８記載のブロードキャスタ。
【請求項１５】
前記仮想スキャン制御機構は、シフトレジスタである請求項１４記載のブロードキャスタ。
【請求項１６】
前記仮想スキャンパターンを、前記ブロードキャスタの前記仮想スキャン入力と前記ブロードキャストスキャン入力とに送ることと、
前記ブロードキャスタによって生成された前記ブロードキャストスキャンパターンを、前記スキャンベースの集積回路中の前記スキャンチェーンの選択されたスキャンデータ入力に送ることとをさらに含む請求項８記載のブロードキャスタ。
【請求項１７】
前記組合せ論理ネットワークは、１つ以上のＸＯＲゲート、ＸＮＯＲゲート、または、ＸＯＲゲートとＸＮＯＲゲートとを組合せたものをさらに含む請求項８記載のブロードキャスタ。
【請求項１８】
前記ブロードキャスタは、前記スキャンベースの集積回路の内部または外部に選択的に配置される請求項８記載のブロードキャスタ。
【請求項１９】
前記ブロードキャストスキャン入力の数は、３つ以下である請求項８記載のブロードキャスタ。
【請求項２０】
ＡＴＥ（自動テスト装置）に記憶されている仮想スキャンパターンを受け入れ、ブロードキャスタによってブロードキャストスキャンパターンを生成し、スキャンベースの集積回路をテストするための方法において、
前記スキャンベースの集積回路は、複数のスキャンチェーンを含み、
各スキャンチェーンは、直列に結合されている複数のスキャンセルを含み、
前記スキャンチェーンは、前記ブロードキャスタに結合され、
前記方法は、
ａ）１つのステップにおける１つ以上の選択された故障に対する前記仮想スキャンパターンを生成するために、組合せ論理ネットワークによって課せられている任意の入力制約条件を、自動テストパターン生成（ＡＴＰＧ）プログラムに直接的に組み込むことと、
ｂ）前記ブロードキャスタを前記ＡＴＥと前記スキャンベースの集積回路との間に配置することと、
ｃ）前記ＡＴＥに記憶されている新規の前記仮想スキャンパターンを前記ブロードキャスタに送り、組合せ論理を単に使用することによって、前記ブロードキャストスキャンパターンを生成し、前記スキャンベースの集積回路における製造故障をテストすることと、
ｄ）前記スキャンベースの集積回路のテスト応答を、期待されるテスト応答と比較することと、
ｅ）所定の限界基準が満たされるまで、ステップ（ｃ）および（ｄ）を繰り返すこととを含む方法。
【請求項２１】
前記ブロードキャスタは、ＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、ＮＯＲゲート、マルチプレクサ、バッファ、インバータを含む１つ以上の論理ゲート、または、前記論理ゲートのうちの任意の組合せを備えた組合せ論理ネットワークであり、
前記１つ以上の論理ゲートは、組合わせ論理を単に使用することによって、前記論理ネットワークの出力において前記仮想スキャンパターンをブロードキャストスキャンパターンにマッピングする手段を形成している請求項２０記載の方法。
【請求項２２】
前記ブロードキャスタは、複数のスキャンコネクタを使用して、前記組合せ論理ネットワークの出力を前記スキャンベースの集積回路中の選択されたスキャンチェーン入力と接続することをさらに含み、
前記複数のスキャンコネクタは、１つ以上のバッファ、インバータ、各々がインバータおよびメモリ素子を備えているロックアップ素子、スペアスキャンセル、マルチプレクサ、または、前記のものの任意の組合せを含む請求項２１記載の方法。
【請求項２３】
前記ブロードキャスタは、仮想スキャン制御機構を使用して、前記組合せ論理ネットワークを制御することをさらに含み、
前記仮想スキャン制御機構は、各シフトサイクル中または各テストセッション間に前記ブロードキャスタの動作を制御する請求項２１記載の方法。
【請求項２４】
前記仮想スキャン制御機構は、１つ以上のバッファまたはインバータをさらに含む請求項２３記載の方法。
【請求項２５】
前記仮想スキャン制御機構は、復号器である請求項２３記載の方法。
【請求項２６】
前記仮想スキャン制御機構は、１つ以上のメモリ素子を備える有限状態機械であり、
前記有限状態機械は、テストセッションが開始する前に、予め定められた状態でロードされる請求項２３記載の方法。
【請求項２７】
前記仮想スキャン制御機構は、シフトレジスタである請求項２６記載の方法。
【請求項２８】
前記ブロードキャスタは、前記スキャンベースの集積回路内または前記ＡＴＥ内部に選択的に配置される請求項２０記載の方法。
【請求項２９】
前記スキャンベースの集積回路のテスト応答を、期待されるテスト応答と比較することは、さらに、比較のために、前記集積回路の選択された出力を圧縮する圧縮器を使用することをさらに含み、
前記圧縮器は、シミュレーションを使用して前記ＡＴＥにおいて選択的にモデル化され、前記スキャンベースの集積回路と前記ＡＴＥの間に配置されている請求項２０記載の方法。
【請求項３０】
前記圧縮器は、選択的に、ＸＯＲネットワークまたはマルチ入力シグネチャレジスタ（ＭＩＳＲ）であり、
前記マルチ入力シグネチャレジスタ（ＭＩＳＲ）は、複数のＸＯＲゲートおよび複数のメモリ素子をさらに含む請求項２９記載の方法。
【請求項３１】
前記圧縮器は、マスクネットワークを使用して、選択されたスキャンチェーン中の選択されたスキャンセルのテストまたは診断を使用可能または使用不能にすることをさらに含み、
前記マスクネットワークは、１つ以上のＡＮＤゲートを含む請求項２９記載の方法。
【請求項３２】
前記圧縮器は、前記スキャンベースの集積回路内または前記ＡＴＥ内部に選択的に配置される請求項２９記載の方法。
【請求項３３】
前記組合せ論理ネットワークは、ＸＯＲゲート、ＸＮＯＲゲート、または、ＸＯＲゲートとＸＮＯＲゲートとを組合せたものをさらに含む請求項２０記載の方法。
【請求項３４】
ＡＴＥ（自動テスト装置）に記憶されている仮想スキャンパターンを受け入れ、ブロードキャストスキャンパターンを生成し、スキャンベースの集積回路をテストするための方法において、
前記スキャンベースの集積回路は、ブロードキャスタおよび複数のスキャンチェーンを含み、
各スキャンチェーンは、直列に結合されている複数のスキャンセルを含み、
前記スキャンチェーンは、前記ブロードキャスタに結合され、
前記ブロードキャスタは、組合せ論理を単に使用することによって、前記ブロードキャストスキャンパターンを生成し、
前記方法は、
ａ）シミュレーションを使用して、前記ＡＴＥにおいて前記ブロードキャスタをモデル化することと、
ｂ）前記ＡＴＥに記憶されている新規の前記仮想スキャンパターンを適用し、前記シミュレートされたブロードキャスタモデルを使用して、前記ブロードキャストスキャンパターンを生成することと、
ｃ）前記ＡＴＥで前記ブロードキャスタによって生成された前記ブロードキャストスキャンパターンを前記スキャンベースの集積回路中の前記スキャンチェーンに送り、前記スキャンベースの集積回路中の製造故障をテストすることと、
ｄ）前記スキャンベースの集積回路のテスト応答を、期待されるテスト応答と比較することと、
ｅ）予め定められた限界基準が満たされるまで、ステップ（ｂ）ないし（ｄ）を繰り返すこととを含む方法。
【請求項３５】
前記ブロードキャスタは、ＡＮＤゲート、ＯＲゲート、ＮＡＮＤゲート、ＮＯＲゲート、マルチプレクサ、バッファ、インバータを含む１つ以上の論理ゲート、または、前記論理ゲートのうちの任意の組合せを備えた組合せ論理ネットワークであり、
前記１つ以上の論理ゲートは、組合せ論理を単に使用することによって、前記論理ネットワークの出力において前記仮想スキャンパターンをブロードキャストパターンにマッピングする手段を形成している請求項３４記載の方法。
【請求項３６】
前記ブロードキャスタは、複数のスキャンコネクタを使用して、前記組合せ論理ネットワークの出力を、前記スキャンベースの集積回路中の選択されたスキャンチェーン入力に接続することをさらに含み、
前記複数のスキャンコネクタは、１つ以上のバッファ、インバータ、各々がインバータおよびメモリ素子を備えているロックアップ素子、スペアスキャンセル、マルチプレクサ、または、前記のものの任意の組合せを含む請求項３５記載の方法。
【請求項３７】
前記ブロードキャスタは、仮想スキャン制御機構を使用して、前記組合せ論理ネットワークを制御することをさらに含み、
前記仮想スキャン制御機構は、各シフトサイクル中または各テストセッション間に前記ブロードキャスタの動作を制御する請求項３５記載の方法。
【請求項３８】
前記仮想スキャン制御機構は、１つ以上のバッファまたはインバータをさらに含む請求項３７記載の方法。
【請求項３９】
前記仮想スキャン制御機構は、復号器である請求項３７記載の方法。
【請求項４０】
前記仮想スキャン制御機構は、ＤフリップフロップやＤラッチのような、１つ以上のメモリ素子を含む有限状態機械であり、
前記有限状態機械は、テストセッションが開始する前に、予め定められた状態でロードされる請求項３７記載の方法。
【請求項４１】
前記仮想スキャン制御機構は、シフトレジスタである請求項４０記載の方法。
【請求項４２】
前記スキャンベースの集積回路のテスト応答を、期待されるテスト応答と比較することは、比較のために、前記集積回路の選択された出力を圧縮する圧縮器を使用することをさらに含み、
前記圧縮器は、シミュレーションを使用して前記ＡＴＥにおいて選択的にモデル化され、前記スキャンベースの集積回路と前記ＡＴＥの間に配置される請求項３４記載の方法。
【請求項４３】
前記圧縮器は、選択的に、ＸＯＲネットワークまたはマルチ入力シグネチャレジスタ（ＭＩＳＲ）であり、
前記マルチ入力シグネチャレジスタ（ＭＩＳＲ）は、複数のＸＯＲゲートおよび複数のメモリ素子をさらに含む請求項４２記載の方法。
【請求項４４】
前記圧縮器は、マスクネットワークを使用して、選択されたスキャンチェーン中の選択されたスキャンセルのテストまたは診断を使用可能または使用不能にすることをさらに含み、
前記マスクネットワークは、１つ以上のＡＮＤゲートを含む請求項４２記載の方法。
【請求項４５】
前記圧縮器は、前記スキャンベースの集積回路内または前記ＡＴＥ内部に選択的に配置される請求項４２記載の方法。
【請求項４６】
前記組合せ論理ネットワークは、１つ以上のＸＯＲゲート、ＸＮＯＲゲート、または、ＸＯＲゲートとＸＮＯＲゲートとを組合せたものをさらに含む請求項３５記載の方法。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図２０
【補正方法】追加
【補正の内容】
【図２０】
2010107516.tif 000027
【外国語明細書】
2010107516000001.pdf