JP2000148809A - スキャンテスト方法及びスキャンテスト装置 - Google Patents
スキャンテスト方法及びスキャンテスト装置Info
- Publication number
- JP2000148809A JP2000148809A JP10314831A JP31483198A JP2000148809A JP 2000148809 A JP2000148809 A JP 2000148809A JP 10314831 A JP10314831 A JP 10314831A JP 31483198 A JP31483198 A JP 31483198A JP 2000148809 A JP2000148809 A JP 2000148809A
- Authority
- JP
- Japan
- Prior art keywords
- flop
- scan
- circuit
- net
- fault
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
(57)【要約】
【課題】 LSIのデバイス面積をより小さくすること
を可能にしたスキャンテスト方法を提供する。 【解決手段】 ATGによって生成されたテストパター
ンに対する出力結果からLSIの良品・不良品の分別を
行うスキャンテスト方法であって、回路中の全てのフリ
ップフロップをテスト用のスキャンフリップフロップに
置き換え、機能試験用パターンで発見できない故障を抽
出するために故障シミュレーションを行い、機能試験用
パターンで発見できない故障を検出するために必要な経
路を抽出し、スキャンフリップフロップを含む回路のう
ち、機能試験用パターンで発見できない故障を検出する
ために必要な経路上にあるスキャンフリップフロップを
除く他のスキャンフリップフロップを元のフリップフロ
ップに置き換える。そして、その結果に基づいてLSI
を設計し、対応するテストパターンを生成する。
を可能にしたスキャンテスト方法を提供する。 【解決手段】 ATGによって生成されたテストパター
ンに対する出力結果からLSIの良品・不良品の分別を
行うスキャンテスト方法であって、回路中の全てのフリ
ップフロップをテスト用のスキャンフリップフロップに
置き換え、機能試験用パターンで発見できない故障を抽
出するために故障シミュレーションを行い、機能試験用
パターンで発見できない故障を検出するために必要な経
路を抽出し、スキャンフリップフロップを含む回路のう
ち、機能試験用パターンで発見できない故障を検出する
ために必要な経路上にあるスキャンフリップフロップを
除く他のスキャンフリップフロップを元のフリップフロ
ップに置き換える。そして、その結果に基づいてLSI
を設計し、対応するテストパターンを生成する。
Description
【0001】
【発明の属する技術分野】本発明はLSIの良品・不良
品の分別を行うためのスキャンテスト方法、及びそのス
キャンテスト方法を実行するスキャンテスト装置に関す
る。
品の分別を行うためのスキャンテスト方法、及びそのス
キャンテスト方法を実行するスキャンテスト装置に関す
る。
【0002】
【従来の技術】近年のLSIは、大規模化、高密度化に
伴い、何らかのテスト容易化設計を施さないチップのテ
ストが不可能になってきている。
伴い、何らかのテスト容易化設計を施さないチップのテ
ストが不可能になってきている。
【0003】テスト容易化の手法として、例えば、予め
LSI中の順序回路に、テストで用いる回路であるスキ
ャン回路を付加し、少ないテスト用の信号パターン入力
で多くの故障の発見を容易にしたスキャンテスト方法が
ある。
LSI中の順序回路に、テストで用いる回路であるスキ
ャン回路を付加し、少ないテスト用の信号パターン入力
で多くの故障の発見を容易にしたスキャンテスト方法が
ある。
【0004】従来のスキャンテスト方法では、目標とす
る故障検出率を達成するためのテスト用の信号パターン
(以下、テストパターンと称す)を生成するツールであ
るATG(Automatic Test-pattern Generation)を備
え、設計するLSIの回路接続情報であるネット接続情
報内の全てのフリップフロップにスキャン回路を付加し
てテスト用のスキャンフリップフロップに置き換え(以
下、フルスキャン化と称す)、そのスキャンフリップフ
ロップを含む回路に対応するテストパターンを生成して
いる。すなわち、単独で目標とする故障検出率を達成す
ることができるテストパターンをATGによって得るこ
とができる。
る故障検出率を達成するためのテスト用の信号パターン
(以下、テストパターンと称す)を生成するツールであ
るATG(Automatic Test-pattern Generation)を備
え、設計するLSIの回路接続情報であるネット接続情
報内の全てのフリップフロップにスキャン回路を付加し
てテスト用のスキャンフリップフロップに置き換え(以
下、フルスキャン化と称す)、そのスキャンフリップフ
ロップを含む回路に対応するテストパターンを生成して
いる。すなわち、単独で目標とする故障検出率を達成す
ることができるテストパターンをATGによって得るこ
とができる。
【0005】なお、回路の論理が正しいか否かを検査す
るための機能試験用パターンによる機能試験と、ATG
によって生成されたテストパターンによる故障検出試験
とは、それぞれ独立して行われる。
るための機能試験用パターンによる機能試験と、ATG
によって生成されたテストパターンによる故障検出試験
とは、それぞれ独立して行われる。
【0006】ところで、このような従来のスキャンテス
ト方法では、ATGによって生成されるテストパターン
の数を低減する手法として、例えば、特開平5−801
20号公報にその技術が記載されている。
ト方法では、ATGによって生成されるテストパターン
の数を低減する手法として、例えば、特開平5−801
20号公報にその技術が記載されている。
【0007】特開平5−80120号公報では、フルス
キャン化する前のネット接続情報に基づいてテストパタ
ーンを生成し、その際、一つの故障を検出するために生
成するテストパターン数などに制限を設け、制限を越え
る場合にテストパターンの生成を打ち切る処理を行って
いる。
キャン化する前のネット接続情報に基づいてテストパタ
ーンを生成し、その際、一つの故障を検出するために生
成するテストパターン数などに制限を設け、制限を越え
る場合にテストパターンの生成を打ち切る処理を行って
いる。
【0008】ここで、テストパターンの生成を打ち切っ
た場合は、その結果検出できない故障がフリップフロッ
プをスキャンフリップフロップに置き換えることで検出
可能になるか否かを判断し、検出可能な場合は、検出を
可能にするフリップフロップをスキャンフリップフロッ
プに置き換えた後、その情報に基づいてテストパターン
を生成している。
た場合は、その結果検出できない故障がフリップフロッ
プをスキャンフリップフロップに置き換えることで検出
可能になるか否かを判断し、検出可能な場合は、検出を
可能にするフリップフロップをスキャンフリップフロッ
プに置き換えた後、その情報に基づいてテストパターン
を生成している。
【0009】一方、スキャンテストによる故障検出を短
時間で行うと共に、付加回路を少なくする手法として、
例えば、特開平5−209943号公報にその技術が記
載されている。
時間で行うと共に、付加回路を少なくする手法として、
例えば、特開平5−209943号公報にその技術が記
載されている。
【0010】特開平5−209943号公報では、所定
のテストパターンに基づいて故障シミュレーションを実
行し、故障シミュレーションによって得られる未検出故
障情報(上記所定のテストパターンで検出できない故障
の情報)、及び論理回路の接続情報から、未検出故障箇
所を伝搬する信号が最も多くなるようにフリップフロッ
プに対して付加回路を追加し、その付加回路を含む論理
回路に基づいて故障検出率を再計算し、目標とする故障
検出率に達するまでこれらの処理を繰り返している。
のテストパターンに基づいて故障シミュレーションを実
行し、故障シミュレーションによって得られる未検出故
障情報(上記所定のテストパターンで検出できない故障
の情報)、及び論理回路の接続情報から、未検出故障箇
所を伝搬する信号が最も多くなるようにフリップフロッ
プに対して付加回路を追加し、その付加回路を含む論理
回路に基づいて故障検出率を再計算し、目標とする故障
検出率に達するまでこれらの処理を繰り返している。
【0011】
【発明が解決しようとする課題】しかしながら上記した
ような従来のスキャンテスト方法では、記憶素子である
フリップフロップにスキャン回路を付加するため、スキ
ャン回路の占有面積が大きくなり、一回り大きいパッケ
ージサイズへの変更や、要求されるパッケージサイズで
はスキャン回路を付加することができないなどの問題が
発生する。特に、フリップフロップ回路の全てにスキャ
ン回路を付加する場合は、LSIのデバイス面積の大部
分がスキャン回路に占有されることになってしまう。
ような従来のスキャンテスト方法では、記憶素子である
フリップフロップにスキャン回路を付加するため、スキ
ャン回路の占有面積が大きくなり、一回り大きいパッケ
ージサイズへの変更や、要求されるパッケージサイズで
はスキャン回路を付加することができないなどの問題が
発生する。特に、フリップフロップ回路の全てにスキャ
ン回路を付加する場合は、LSIのデバイス面積の大部
分がスキャン回路に占有されることになってしまう。
【0012】一方、特開平5−80120号公報に記載
された技術では、フリップフロップをスキャンフリップ
フロップに置き換えることで故障を検出できるようにな
るか否かの判断方法について具体的に記載されていない
ため実現性が乏しいという問題がある。また、ATGに
よるテストパターンの生成を回路全体に対して行なうた
め、テストパターンの生成処理に時間がかかってしま
う。
された技術では、フリップフロップをスキャンフリップ
フロップに置き換えることで故障を検出できるようにな
るか否かの判断方法について具体的に記載されていない
ため実現性が乏しいという問題がある。また、ATGに
よるテストパターンの生成を回路全体に対して行なうた
め、テストパターンの生成処理に時間がかかってしま
う。
【0013】また、特開平5−209943号公報に記
載された技術では、ATGを用いることなくテストパタ
ーンを作成し、付加回路の構成を最適にすることで目標
とする故障検出率を達成させようとしている。しかしな
がら、このような方法では、テストパターンの内容によ
っては目標とする故障検出率を達成するのが困難であ
り、所望の論理回路に対して付加回路の割合が大きくな
るおそれがある。
載された技術では、ATGを用いることなくテストパタ
ーンを作成し、付加回路の構成を最適にすることで目標
とする故障検出率を達成させようとしている。しかしな
がら、このような方法では、テストパターンの内容によ
っては目標とする故障検出率を達成するのが困難であ
り、所望の論理回路に対して付加回路の割合が大きくな
るおそれがある。
【0014】よって、このような方法で効果を得るため
には、テストパターンを、なるべく未故障検出が発生し
ないような最適なものに設定する必要があるが、近年の
大規模化されたLSIでは、そのようなテストパターン
を手作業で作成することは不可能である。
には、テストパターンを、なるべく未故障検出が発生し
ないような最適なものに設定する必要があるが、近年の
大規模化されたLSIでは、そのようなテストパターン
を手作業で作成することは不可能である。
【0015】本発明は上記したような従来の技術が有す
る問題点を解決するためになされたものであり、LSI
のデバイス面積をより小さくすることを可能にしたスキ
ャンテスト方法及びスキャンテスト装置を提供すること
を目的とする。
る問題点を解決するためになされたものであり、LSI
のデバイス面積をより小さくすることを可能にしたスキ
ャンテスト方法及びスキャンテスト装置を提供すること
を目的とする。
【0016】
【課題を解決するための手段】上記目的を達成するため
本発明のスキャンテスト方法は、目標とする故障検出率
を達成するためのテスト用信号パターンを生成するAT
Gを備え、該ATGによって生成されたテストパターン
に対する出力結果から被検査対象であるLSIの良品・
不良品の分別を行うスキャンテスト方法であって、前記
LSIの回路中の記憶素子である全てのフリップフロッ
プを、それぞれテスト用の回路を付加して成るスキャン
フリップフロップに置き換えるフルスキャン化工程と、
前記LSIの回路の論理が正しいか否かを検査するため
の機能試験用パターンで発見できない故障を抽出するた
めに故障シミュレーションを行う故障シミュレーション
工程と、前記故障シミュレーション工程の結果から、前
記機能試験用パターンで発見できない故障を検出するた
めに必要な経路を抽出する故障検出ネットブロック抽出
工程と、前記フルスキャン化工程によって生成された前
記スキャンフリップフロップを含む回路のうち、前記故
障検出ネットブロック抽出工程で抽出された経路上にあ
るスキャンフリップフロップを除く他のスキャンフリッ
プフロップを元のフリップフロップに置き換えるスキャ
ンフリップフロップ縮退工程と、を有し、前記スキャン
フリップフロップ縮退工程の結果に基づいて前記LSI
を設計し、該LSIに対応する前記テストパターンを生
成する方法であり、前記スキャンフリップフロップ縮退
工程で生成された回路から前記故障検出ネットブロック
抽出工程で抽出された経路を切り出す故障検出ネット切
り出し工程と、前記故障検出ネット切り出し工程で切り
出された回路から組合わせ回路のみを抽出し、前記故障
検出ネット切り出し工程で切り出された回路内のスキャ
ンフリップフロップの入力端子及び出力端子を仮の外部
端子に変換するATGモデル化処理工程と、前記ATG
モデル化処理工程で作成されたATGモデルに基づいて
テストパターンを生成するATG処理工程と、をさらに
有する方法である。
本発明のスキャンテスト方法は、目標とする故障検出率
を達成するためのテスト用信号パターンを生成するAT
Gを備え、該ATGによって生成されたテストパターン
に対する出力結果から被検査対象であるLSIの良品・
不良品の分別を行うスキャンテスト方法であって、前記
LSIの回路中の記憶素子である全てのフリップフロッ
プを、それぞれテスト用の回路を付加して成るスキャン
フリップフロップに置き換えるフルスキャン化工程と、
前記LSIの回路の論理が正しいか否かを検査するため
の機能試験用パターンで発見できない故障を抽出するた
めに故障シミュレーションを行う故障シミュレーション
工程と、前記故障シミュレーション工程の結果から、前
記機能試験用パターンで発見できない故障を検出するた
めに必要な経路を抽出する故障検出ネットブロック抽出
工程と、前記フルスキャン化工程によって生成された前
記スキャンフリップフロップを含む回路のうち、前記故
障検出ネットブロック抽出工程で抽出された経路上にあ
るスキャンフリップフロップを除く他のスキャンフリッ
プフロップを元のフリップフロップに置き換えるスキャ
ンフリップフロップ縮退工程と、を有し、前記スキャン
フリップフロップ縮退工程の結果に基づいて前記LSI
を設計し、該LSIに対応する前記テストパターンを生
成する方法であり、前記スキャンフリップフロップ縮退
工程で生成された回路から前記故障検出ネットブロック
抽出工程で抽出された経路を切り出す故障検出ネット切
り出し工程と、前記故障検出ネット切り出し工程で切り
出された回路から組合わせ回路のみを抽出し、前記故障
検出ネット切り出し工程で切り出された回路内のスキャ
ンフリップフロップの入力端子及び出力端子を仮の外部
端子に変換するATGモデル化処理工程と、前記ATG
モデル化処理工程で作成されたATGモデルに基づいて
テストパターンを生成するATG処理工程と、をさらに
有する方法である。
【0017】このとき、前記故障検出ネットブロック抽
出工程は、前記機能試験用パターンで発見できない故障
位置を経路に含む、該故障位置よりも入力側にあるスキ
ャンフリップフロップまたは外部入力端子までの経路上
の回路素子及び回路接続をそれぞれ抽出し、該故障位置
よりも出力側にあるスキャンフリップフロップまたは外
部出力端子までの経路上の回路素子及び回路接続と、該
故障位置と接続されない該回路素子の他の入力端子の入
力側にあるスキャンフリップフロップまたは外部入力端
子までの経路上の回路素子及び回路接続とをそれぞれ抽
出してもよい。
出工程は、前記機能試験用パターンで発見できない故障
位置を経路に含む、該故障位置よりも入力側にあるスキ
ャンフリップフロップまたは外部入力端子までの経路上
の回路素子及び回路接続をそれぞれ抽出し、該故障位置
よりも出力側にあるスキャンフリップフロップまたは外
部出力端子までの経路上の回路素子及び回路接続と、該
故障位置と接続されない該回路素子の他の入力端子の入
力側にあるスキャンフリップフロップまたは外部入力端
子までの経路上の回路素子及び回路接続とをそれぞれ抽
出してもよい。
【0018】一方、本発明のスキャンテスト装置は、目
標とする故障検出率を達成するためのテスト用信号パタ
ーンを生成するATGを備え、該ATGによって生成さ
れたテストパターンに対する出力結果から被検査対象で
あるLSIの良品・不良品の分別を行うためのスキャン
テスト装置であって、前記LSIの回路中の記憶素子で
ある全てのフリップフロップを、それぞれテスト用の回
路を付加して成るスキャンフリップフロップに置き換え
るフルスキャン化部と、前記LSIの回路の論理が正し
いか否かを検査するための機能試験用パターンで発見で
きない故障を抽出するために故障シミュレーションを行
う故障シミュレーション部と、前記故障シミュレーショ
ンの結果から、前記機能試験用パターンで発見できない
故障を検出するために必要な経路を抽出する故障検出ネ
ットブロック抽出部と、前記フルスキャン化部によって
生成された前記スキャンフリップフロップを含む回路の
うち、前記故障検出ネットブロック抽出部で抽出された
経路上にあるスキャンフリップフロップを除く他のスキ
ャンフリップフロップを元のフリップフロップに置き換
えるスキャンフリップフロップ縮退部と、を有し、前記
LSIは前記スキャンフリップフロップ縮退部の処理結
果に基づいて設計され、該LSIに対応する前記テスト
パターンを生成するための装置であり、前記スキャンフ
リップフロップ縮退部で生成された回路から前記故障検
出ネットブロック抽出部で抽出された経路を切り出す故
障検出ネット切り出し部と、前記故障検出ネット切り出
し部で切り出された回路から組合わせ回路のみを抽出
し、前記故障検出ネット切り出し部で切り出された回路
内のスキャンフリップフロップの入力端子及び出力端子
を仮の外部端子に変換するATGモデル化処理部と、前
記ATGモデル化処理部で作成されたATGモデルに基
づいてテストパターンを生成するATG処理部と、をさ
らに有する装置である。
標とする故障検出率を達成するためのテスト用信号パタ
ーンを生成するATGを備え、該ATGによって生成さ
れたテストパターンに対する出力結果から被検査対象で
あるLSIの良品・不良品の分別を行うためのスキャン
テスト装置であって、前記LSIの回路中の記憶素子で
ある全てのフリップフロップを、それぞれテスト用の回
路を付加して成るスキャンフリップフロップに置き換え
るフルスキャン化部と、前記LSIの回路の論理が正し
いか否かを検査するための機能試験用パターンで発見で
きない故障を抽出するために故障シミュレーションを行
う故障シミュレーション部と、前記故障シミュレーショ
ンの結果から、前記機能試験用パターンで発見できない
故障を検出するために必要な経路を抽出する故障検出ネ
ットブロック抽出部と、前記フルスキャン化部によって
生成された前記スキャンフリップフロップを含む回路の
うち、前記故障検出ネットブロック抽出部で抽出された
経路上にあるスキャンフリップフロップを除く他のスキ
ャンフリップフロップを元のフリップフロップに置き換
えるスキャンフリップフロップ縮退部と、を有し、前記
LSIは前記スキャンフリップフロップ縮退部の処理結
果に基づいて設計され、該LSIに対応する前記テスト
パターンを生成するための装置であり、前記スキャンフ
リップフロップ縮退部で生成された回路から前記故障検
出ネットブロック抽出部で抽出された経路を切り出す故
障検出ネット切り出し部と、前記故障検出ネット切り出
し部で切り出された回路から組合わせ回路のみを抽出
し、前記故障検出ネット切り出し部で切り出された回路
内のスキャンフリップフロップの入力端子及び出力端子
を仮の外部端子に変換するATGモデル化処理部と、前
記ATGモデル化処理部で作成されたATGモデルに基
づいてテストパターンを生成するATG処理部と、をさ
らに有する装置である。
【0019】このとき、前記故障検出ネットブロック抽
出部は、前記機能試験用パターンで発見できない故障位
置を経路に含む、該故障位置よりも入力側にあるスキャ
ンフリップフロップまたは外部入力端子までの経路上の
回路素子及び回路接続をそれぞれ抽出し、該故障位置よ
りも出力側にあるスキャンフリップフロップまたは外部
出力端子までの経路上の回路素子及び回路接続と、該故
障位置と接続されない該回路素子の他の入力端子の入力
側にあるスキャンフリップフロップまたは外部入力端子
までの経路上の回路素子及び回路接続とをそれぞれ抽出
してもよい。
出部は、前記機能試験用パターンで発見できない故障位
置を経路に含む、該故障位置よりも入力側にあるスキャ
ンフリップフロップまたは外部入力端子までの経路上の
回路素子及び回路接続をそれぞれ抽出し、該故障位置よ
りも出力側にあるスキャンフリップフロップまたは外部
出力端子までの経路上の回路素子及び回路接続と、該故
障位置と接続されない該回路素子の他の入力端子の入力
側にあるスキャンフリップフロップまたは外部入力端子
までの経路上の回路素子及び回路接続とをそれぞれ抽出
してもよい。
【0020】上記のようなスキャンテスト方法では、故
障検出ネットブロック抽出工程によって機能試験用パタ
ーンで発見できない故障を検出するために必要な経路を
抽出し、スキャンフリップフロップ縮退工程によって、
フルスキャン化工程で生成されたスキャンフリップフロ
ップを含む回路のうち、故障検出ネットブロック抽出工
程で抽出された経路上にあるスキャンフリップフロップ
以外のスキャンフリップフロップを元の通常のフリップ
フロップに置き換えるため、スキャンフリップフロップ
の数を減らすことができる。
障検出ネットブロック抽出工程によって機能試験用パタ
ーンで発見できない故障を検出するために必要な経路を
抽出し、スキャンフリップフロップ縮退工程によって、
フルスキャン化工程で生成されたスキャンフリップフロ
ップを含む回路のうち、故障検出ネットブロック抽出工
程で抽出された経路上にあるスキャンフリップフロップ
以外のスキャンフリップフロップを元の通常のフリップ
フロップに置き換えるため、スキャンフリップフロップ
の数を減らすことができる。
【0021】また、故障検出ネット切り出し工程によっ
てスキャンフリップフロップ縮退工程で生成された回路
から故障検出ネットブロック抽出工程で抽出された経路
を切り出し、ATGモデル化処理工程によって故障検出
ネット切り出し工程で切り出された回路から組合わせ回
路のみを抽出してATGモデルを生成し、ATGモデル
に基づいてテストパターンを生成することで、機能試験
用パターンで発見できない故障を検出するためのテスト
パターンを生成するために必要な最小限の経路を切り出
し、切り出した回路に基づいてATGモデルを作成し、
ATGモデルからATGパターンを生成するため、スキ
ャンイン及びスキャンアウト操作におけるクロックパタ
ーン数を減らすことができる。
てスキャンフリップフロップ縮退工程で生成された回路
から故障検出ネットブロック抽出工程で抽出された経路
を切り出し、ATGモデル化処理工程によって故障検出
ネット切り出し工程で切り出された回路から組合わせ回
路のみを抽出してATGモデルを生成し、ATGモデル
に基づいてテストパターンを生成することで、機能試験
用パターンで発見できない故障を検出するためのテスト
パターンを生成するために必要な最小限の経路を切り出
し、切り出した回路に基づいてATGモデルを作成し、
ATGモデルからATGパターンを生成するため、スキ
ャンイン及びスキャンアウト操作におけるクロックパタ
ーン数を減らすことができる。
【0022】
【発明の実施の形態】次に本発明について図面を参照し
て説明する。
て説明する。
【0023】図1は本発明のスキャンテスト方法を実行
するスキャンテスト装置の一実施例の構成を示すブロッ
ク図である。
するスキャンテスト装置の一実施例の構成を示すブロッ
ク図である。
【0024】図1において、本発明のスキャンテスト装
置は、設計するLSIの回路中の全てのフリップフロッ
プをスキャンフリップフロップに置き換えるフルスキャ
ン化処理部101と、LSIの回路の全ての回路接続
(以下、ネットと称す)に対して故障定義を行なう故障
定義処理部102と、機能試験パターンで発見できない
故障を検出するための故障シミュレーションを行なう故
障シミュレーション部103と、機能試験パターンで発
見できない故障を検出するために必要なネット及び回路
素子(以下、ブロックと称す)の情報を抽出する故障検
出ネットブロック抽出部104と、スキャンフリップフ
ロップを通常のフリップフロップに置き換えるスキャン
フリップフロップ縮退部105と、未検出の故障箇所を
持つネット及びブロックを切り出す故障検出ネット切り
出し部106と、故障検出ネット切り出し部106によ
って切り出された回路をATGモデルに変換するATG
モデル化処理部107と、ATGモデル化処理部107
で生成されたATGモデルからATGパターンを自動生
成するATG処理部108と、ATGパターンをスキャ
ンパターンに変換するスキャンパターン変換部109
と、スキャンパターン変換部109から出力されるスキ
ャン用ATGパターン及び機能試験用パターンを結合す
るパターン結合処理部110とを備えている。
置は、設計するLSIの回路中の全てのフリップフロッ
プをスキャンフリップフロップに置き換えるフルスキャ
ン化処理部101と、LSIの回路の全ての回路接続
(以下、ネットと称す)に対して故障定義を行なう故障
定義処理部102と、機能試験パターンで発見できない
故障を検出するための故障シミュレーションを行なう故
障シミュレーション部103と、機能試験パターンで発
見できない故障を検出するために必要なネット及び回路
素子(以下、ブロックと称す)の情報を抽出する故障検
出ネットブロック抽出部104と、スキャンフリップフ
ロップを通常のフリップフロップに置き換えるスキャン
フリップフロップ縮退部105と、未検出の故障箇所を
持つネット及びブロックを切り出す故障検出ネット切り
出し部106と、故障検出ネット切り出し部106によ
って切り出された回路をATGモデルに変換するATG
モデル化処理部107と、ATGモデル化処理部107
で生成されたATGモデルからATGパターンを自動生
成するATG処理部108と、ATGパターンをスキャ
ンパターンに変換するスキャンパターン変換部109
と、スキャンパターン変換部109から出力されるスキ
ャン用ATGパターン及び機能試験用パターンを結合す
るパターン結合処理部110とを備えている。
【0025】フルスキャン化処理部101は、被検査対
象であるLSIの回路接続情報である第1のネット接続
情報を入力とし、フルスキャン化を行って、スキャンフ
リップフロップの情報を含む第2のネット接続情報を出
力する。
象であるLSIの回路接続情報である第1のネット接続
情報を入力とし、フルスキャン化を行って、スキャンフ
リップフロップの情報を含む第2のネット接続情報を出
力する。
【0026】故障定義処理部102は、第1のネット接
続情報を入力とし、被検査対象であるLSIの回路の全
てのネットに対して行われた故障定義の情報である故障
定義情報を出力する。なお、故障定義情報は、各回路接
続に付与された名称、及びそこで検出可能な故障の種類
を示している。
続情報を入力とし、被検査対象であるLSIの回路の全
てのネットに対して行われた故障定義の情報である故障
定義情報を出力する。なお、故障定義情報は、各回路接
続に付与された名称、及びそこで検出可能な故障の種類
を示している。
【0027】故障シミュレーション部103は、第1の
ネット接続情報、故障定義情報、及び回路の論理が正し
いか否かを検査するための機能試験用パターンを入力と
し、公知の故障シミュレーションを実行して、機能試験
用パターンで検出できない故障の情報である非検出故障
定義情報を出力する。
ネット接続情報、故障定義情報、及び回路の論理が正し
いか否かを検査するための機能試験用パターンを入力と
し、公知の故障シミュレーションを実行して、機能試験
用パターンで検出できない故障の情報である非検出故障
定義情報を出力する。
【0028】故障検出ネットブロック抽出部104は、
スキャンフリップフロップを含む第2のネット接続情
報、及び非検出故障定義情報を入力とし、機能試験用パ
ターンで検出できない故障を検出するために必要な経路
(以下、部分回路と称す)の情報である故障検出用ネッ
トブロック情報を出力する。
スキャンフリップフロップを含む第2のネット接続情
報、及び非検出故障定義情報を入力とし、機能試験用パ
ターンで検出できない故障を検出するために必要な経路
(以下、部分回路と称す)の情報である故障検出用ネッ
トブロック情報を出力する。
【0029】スキャンフリップフロップ縮退部105
は、スキャンフリップフロップを含む第2のネット接続
情報、及び故障検出用ネットブロック情報を入力とし、
故障検出用ネットブロック情報に無いスキャンフリップ
フロップを通常のフリップフロップに戻す処理である縮
退を実行し、縮退後のネット接続情報(第3のネット接
続情報)を出力する。
は、スキャンフリップフロップを含む第2のネット接続
情報、及び故障検出用ネットブロック情報を入力とし、
故障検出用ネットブロック情報に無いスキャンフリップ
フロップを通常のフリップフロップに戻す処理である縮
退を実行し、縮退後のネット接続情報(第3のネット接
続情報)を出力する。
【0030】故障検出ネット切り出し部106は、故障
検出用ネットブロック情報、第3のネット接続情報を入
力とし、故障検出用ネットブロック情報に基づいて故障
検出に必要な部分回路のみを切り出し、切り出した部分
回路の情報から成る第4のネット接続情報を出力する。
検出用ネットブロック情報、第3のネット接続情報を入
力とし、故障検出用ネットブロック情報に基づいて故障
検出に必要な部分回路のみを切り出し、切り出した部分
回路の情報から成る第4のネット接続情報を出力する。
【0031】ATGモデル化処理部107は、第4のネ
ット接続情報を入力とし、ATGモデル化処理を行っ
て、スキャン情報、及びATGモデルネット接続情報を
出力する。ATGモデル化処理は、スキャンフリップフ
ロップで区切られた組合せ回路のみを抽出し、スキャン
フリップフロップの入力端子及び出力端子を仮の外部端
子に変換する処理である。このような組合せ回路のみに
変換された回路をATGモデルと呼ぶ。また、スキャン
情報は、第4のネット接続情報内のスキャンフリップフ
ロップの端子とATGモデルの仮の外部端子とが対にな
って記録される。
ット接続情報を入力とし、ATGモデル化処理を行っ
て、スキャン情報、及びATGモデルネット接続情報を
出力する。ATGモデル化処理は、スキャンフリップフ
ロップで区切られた組合せ回路のみを抽出し、スキャン
フリップフロップの入力端子及び出力端子を仮の外部端
子に変換する処理である。このような組合せ回路のみに
変換された回路をATGモデルと呼ぶ。また、スキャン
情報は、第4のネット接続情報内のスキャンフリップフ
ロップの端子とATGモデルの仮の外部端子とが対にな
って記録される。
【0032】ATG処理部108は、非検出故障定義情
報、及びATGモデルネット接続情報を入力とし、機能
試験用パターンで検出できない故障を検出するためのテ
ストパターン(ATGモデルATGパターン)を生成す
る。
報、及びATGモデルネット接続情報を入力とし、機能
試験用パターンで検出できない故障を検出するためのテ
ストパターン(ATGモデルATGパターン)を生成す
る。
【0033】スキャンパターン変換部109は、スキャ
ン情報、及びATGモデルATGパターンを入力とし、
ATGモデルに基づいて生成されたテストパターンをス
キャン回路に対応したテストパターンに変換するスキャ
ンパターン変換を行ってスキャン用ATGパターンを出
力する。スキャンパターン変換は、ATGモデルにおけ
る入力論理値をスキャンフリップフロップのスキャン回
路に対する値へ変換し、出力論理値をスキャンフリップ
フロップのスキャン回路からの値へ変換する。
ン情報、及びATGモデルATGパターンを入力とし、
ATGモデルに基づいて生成されたテストパターンをス
キャン回路に対応したテストパターンに変換するスキャ
ンパターン変換を行ってスキャン用ATGパターンを出
力する。スキャンパターン変換は、ATGモデルにおけ
る入力論理値をスキャンフリップフロップのスキャン回
路に対する値へ変換し、出力論理値をスキャンフリップ
フロップのスキャン回路からの値へ変換する。
【0034】パターン結合処理部110は、機能試験用
パターン、及びスキャン用ATGパターンを入力とし、
機能試験用パターンとスキャン用ATGパターンを結合
して検査パターンとして出力する。
パターン、及びスキャン用ATGパターンを入力とし、
機能試験用パターンとスキャン用ATGパターンを結合
して検査パターンとして出力する。
【0035】なお、LSIはスキャンフリップフロップ
縮退部105から出力される第3のネット接続情報に基
づいて設計される。また、パターン結合処理部110か
ら出力された検査パターン及び第3のネット接続情報が
LSIテスタに入力され、LSIテスタに被検査対象で
ある実際のLSIが装着されて試験が実行される。
縮退部105から出力される第3のネット接続情報に基
づいて設計される。また、パターン結合処理部110か
ら出力された検査パターン及び第3のネット接続情報が
LSIテスタに入力され、LSIテスタに被検査対象で
ある実際のLSIが装着されて試験が実行される。
【0036】次に、図1に示した故障検出ネットブロッ
ク抽出部104の処理について図2〜図4を用いて詳細
に説明する。図2は図1に示した故障検出ネットブロッ
ク抽出部の処理手順を示すフローチャートである。
ク抽出部104の処理について図2〜図4を用いて詳細
に説明する。図2は図1に示した故障検出ネットブロッ
ク抽出部の処理手順を示すフローチャートである。
【0037】図2において、故障検出ネットブロック抽
出部104は、まず、フルスキャン化されたネット接続
情報である第2のネット接続情報を読み込み(ステップ
501)、非検出故障定義情報を読み込む(ステップ5
02)。
出部104は、まず、フルスキャン化されたネット接続
情報である第2のネット接続情報を読み込み(ステップ
501)、非検出故障定義情報を読み込む(ステップ5
02)。
【0038】次に、故障定義されたネットのうちの一つ
を選択し(ステップ503)、そのネットより後方トレ
ースを行なう(ステップ504)。
を選択し(ステップ503)、そのネットより後方トレ
ースを行なう(ステップ504)。
【0039】次に、故障定義されたネットより前方トレ
ースを行ない(ステップ505)、故障定義された全て
のネットを参照したか否かを判断し(ステップ50
6)、故障定義された全てのネットを参照していない場
合は、ステップ503の処理に戻ってステップ503〜
506の処理を繰り返す。また、故障定義されたネット
を全て参照している場合は、後述するステップ504ま
たはステップ505の処理でマークが付与されたネット
またはブロックを故障検出用ネットブロック情報に記録
する(ステップ507)。
ースを行ない(ステップ505)、故障定義された全て
のネットを参照したか否かを判断し(ステップ50
6)、故障定義された全てのネットを参照していない場
合は、ステップ503の処理に戻ってステップ503〜
506の処理を繰り返す。また、故障定義されたネット
を全て参照している場合は、後述するステップ504ま
たはステップ505の処理でマークが付与されたネット
またはブロックを故障検出用ネットブロック情報に記録
する(ステップ507)。
【0040】次に、上述した故障検出ネットブロック抽
出部104の処理のうち、ステップ504の後方トレー
ス処理について図3を用いて詳細に説明する。
出部104の処理のうち、ステップ504の後方トレー
ス処理について図3を用いて詳細に説明する。
【0041】図3は図1に示した故障検出ネットブロッ
ク抽出部の後方トレース処理の手順を示すフローチャー
トである。
ク抽出部の後方トレース処理の手順を示すフローチャー
トである。
【0042】図3において、ステップ504の後方トレ
ース処理では、まず、現在トレースされているネットに
マークを付け(ステップ510)、現在のトレース位置
よりもネット一つ分だけ外部入力端子方向、すなわち後
方にトレース位置を移動させる(ステップ511)。
ース処理では、まず、現在トレースされているネットに
マークを付け(ステップ510)、現在のトレース位置
よりもネット一つ分だけ外部入力端子方向、すなわち後
方にトレース位置を移動させる(ステップ511)。
【0043】次に、移動したトレース位置にあるブロッ
クがスキャンフリップフロップであるか否かを判断し
(ステップ512)、スキャンフリップフロップである
場合はそのスキャンフリップフロップにマークを付けて
(ステップ514)処理を終了する。
クがスキャンフリップフロップであるか否かを判断し
(ステップ512)、スキャンフリップフロップである
場合はそのスキャンフリップフロップにマークを付けて
(ステップ514)処理を終了する。
【0044】また、移動したトレース位置にあるブロッ
クがスキャンフリップフロップでない場合は、移動した
トレース位置にあるブロックが外部端子であるか否かを
判断し(ステップ513)、外部端子である場合はその
外部端子にマークを付けて(ステップ515)処理を終
了する。
クがスキャンフリップフロップでない場合は、移動した
トレース位置にあるブロックが外部端子であるか否かを
判断し(ステップ513)、外部端子である場合はその
外部端子にマークを付けて(ステップ515)処理を終
了する。
【0045】また、移動したトレース位置にあるブロッ
クが外部端子でない場合は、移動したトレース位置にあ
るブロックにマークが付いているか否かを判断し(ステ
ップ516)、ブロックにマークが付いている場合は処
理を終了する。
クが外部端子でない場合は、移動したトレース位置にあ
るブロックにマークが付いているか否かを判断し(ステ
ップ516)、ブロックにマークが付いている場合は処
理を終了する。
【0046】また、移動したトレース位置にあるブロッ
クにマークが付いていない場合は、そのブロックにマー
クを付け(ステップ517)、ブロックの入力端子のう
ちの一つを選択して(ステップ518)、選択した入力
端子より後方トレースを行う(ステップ519)。
クにマークが付いていない場合は、そのブロックにマー
クを付け(ステップ517)、ブロックの入力端子のう
ちの一つを選択して(ステップ518)、選択した入力
端子より後方トレースを行う(ステップ519)。
【0047】続いて、マークを付与したブロックの入力
端子をすべて参照したか否かを判断し(ステップ52
0)、入力端子をすべて参照していない場合は、ステッ
プ518の処理に戻ってステップ518及び519の処
理を繰り返す。また、入力端子をすべて参照している場
合は処理を終了する。
端子をすべて参照したか否かを判断し(ステップ52
0)、入力端子をすべて参照していない場合は、ステッ
プ518の処理に戻ってステップ518及び519の処
理を繰り返す。また、入力端子をすべて参照している場
合は処理を終了する。
【0048】次に、上述した故障検出ネットブロック抽
出部104の処理のうち、ステップ505の前方トレー
スの処理について図4を用いて詳細に説明する。
出部104の処理のうち、ステップ505の前方トレー
スの処理について図4を用いて詳細に説明する。
【0049】図4は図1に示した故障検出ネットブロッ
ク抽出部の前方トレース処理の手順を示すフローチャー
トである。
ク抽出部の前方トレース処理の手順を示すフローチャー
トである。
【0050】図4において、ステップ505の前方トレ
ース処理では、まず、現在のトレース位置にマークを付
け(ステップ530)、現在のトレース位置よりもネッ
ト一つ分だけ外部出力端子方向、すなわち前方にトレー
ス位置を移動させる(ステップ531)。
ース処理では、まず、現在のトレース位置にマークを付
け(ステップ530)、現在のトレース位置よりもネッ
ト一つ分だけ外部出力端子方向、すなわち前方にトレー
ス位置を移動させる(ステップ531)。
【0051】次に、移動したトレース位置にあるブロッ
クがスキャンフリップフロップであるか否かを判断し
(ステップ532)、スキャンフリップフロップである
場合は、そのスキャンフリップフロップにマークを付け
て(ステップ534)処理を終了する。
クがスキャンフリップフロップであるか否かを判断し
(ステップ532)、スキャンフリップフロップである
場合は、そのスキャンフリップフロップにマークを付け
て(ステップ534)処理を終了する。
【0052】また、移動したトレース位置にあるブロッ
クがスキャンフリップフロップでない場合は、移動した
トレース位置にあるブロックが外部端子であるか否かを
判断し(ステップ533)、外部端子である場合はその
外部端子にマークを付けて(ステップ535)処理を終
了する。
クがスキャンフリップフロップでない場合は、移動した
トレース位置にあるブロックが外部端子であるか否かを
判断し(ステップ533)、外部端子である場合はその
外部端子にマークを付けて(ステップ535)処理を終
了する。
【0053】また、移動したトレース位置にあるブロッ
クが外部端子でない場合は、移動したトレース位置にあ
るブロックにマークが付いているか否かを判断し(ステ
ップ536)、ブロックにマークが付いている場合は処
理を終了する。
クが外部端子でない場合は、移動したトレース位置にあ
るブロックにマークが付いているか否かを判断し(ステ
ップ536)、ブロックにマークが付いている場合は処
理を終了する。
【0054】また、移動したトレース位置にあるブロッ
クにマークが付いていない場合は、そのブロックにマー
クを付け(ステップ537)、そのブロックの入力端子
または出力端子のうちの一つを選択し(ステップ53
8)、選択した端子が入力端子であるかまたは出力端子
であるかを判断する(ステップ539)。
クにマークが付いていない場合は、そのブロックにマー
クを付け(ステップ537)、そのブロックの入力端子
または出力端子のうちの一つを選択し(ステップ53
8)、選択した端子が入力端子であるかまたは出力端子
であるかを判断する(ステップ539)。
【0055】ここで、選択した端子が入力端子の場合は
選択した端子のネットより後方トレースを行なう(ステ
ップ540)。また、選択した端子が出力端子の場合は
選択した端子のネットより前方トレースを行なう(ステ
ップ541)。
選択した端子のネットより後方トレースを行なう(ステ
ップ540)。また、選択した端子が出力端子の場合は
選択した端子のネットより前方トレースを行なう(ステ
ップ541)。
【0056】最後に、マークを付与したブロックの全端
子を参照したか否かを判断し(ステップ542)、全端
子を参照していない場合はステップ538の処理に戻っ
てステップ542までの処理を繰り返す。また、全端子
を参照している場合は処理を終了する。
子を参照したか否かを判断し(ステップ542)、全端
子を参照していない場合はステップ538の処理に戻っ
てステップ542までの処理を繰り返す。また、全端子
を参照している場合は処理を終了する。
【0057】次に、図1に示したスキャンフリップフロ
ップ縮退部105の処理について図5及び図6を用いて
詳細に説明する。
ップ縮退部105の処理について図5及び図6を用いて
詳細に説明する。
【0058】図5は図1に示したスキャンフリップフロ
ップ縮退部の処理手順を示すフローチャートである。
ップ縮退部の処理手順を示すフローチャートである。
【0059】図5において、スキャンフリップフロップ
縮退部105は、まず、フルスキャン化されたネット接
続情報である第2のネット接続情報を読み込み(ステッ
プ550)、故障検出用ネットブロック情報を読み込む
(ステップ551)。
縮退部105は、まず、フルスキャン化されたネット接
続情報である第2のネット接続情報を読み込み(ステッ
プ550)、故障検出用ネットブロック情報を読み込む
(ステップ551)。
【0060】次に、第2のネット接続情報のうちのスキ
ャンフリップフロップを一つ選択し(ステップ55
2)、選択したスキャンフリップフロップが故障検出用
ネットブロック情報に存在するか否かを判断する(ステ
ップ553)。
ャンフリップフロップを一つ選択し(ステップ55
2)、選択したスキャンフリップフロップが故障検出用
ネットブロック情報に存在するか否かを判断する(ステ
ップ553)。
【0061】選択したスキャンフリップフロップが故障
検出用ネットブロック情報に存在する場合は、第2のネ
ット接続情報中の全てのスキャンフリップフロップを参
照したか否かを判断し(ステップ557)、全てのスキ
ャンフリップフロップを参照している場合は、後述する
ステップ561の処理でマークが付与されないネット及
びブロックを縮退後ネット接続情報に記録して(ステッ
プ558)処理を終了する。
検出用ネットブロック情報に存在する場合は、第2のネ
ット接続情報中の全てのスキャンフリップフロップを参
照したか否かを判断し(ステップ557)、全てのスキ
ャンフリップフロップを参照している場合は、後述する
ステップ561の処理でマークが付与されないネット及
びブロックを縮退後ネット接続情報に記録して(ステッ
プ558)処理を終了する。
【0062】また、ステップ557の処理の結果、全て
のスキャンフリップフロップを参照していない場合は、
ステップ552に戻ってステップ553、ステップ55
7の処理を繰り返す。
のスキャンフリップフロップを参照していない場合は、
ステップ552に戻ってステップ553、ステップ55
7の処理を繰り返す。
【0063】一方、ステップ553の処理の結果、選択
したスキャンフリップフロップが故障検出用ネットブロ
ック情報に存在しない場合は、選択したスキャンフリッ
プフロップのスキャンデータ入力端子SIN及びスキャ
ンデータ出力端子SOTに接続されているネットをそれ
ぞれ切り離し(ステップ554)、切り離されたネット
どうしを接続して同一のノードにする(ステップ55
5)。
したスキャンフリップフロップが故障検出用ネットブロ
ック情報に存在しない場合は、選択したスキャンフリッ
プフロップのスキャンデータ入力端子SIN及びスキャ
ンデータ出力端子SOTに接続されているネットをそれ
ぞれ切り離し(ステップ554)、切り離されたネット
どうしを接続して同一のノードにする(ステップ55
5)。
【0064】続いて、選択したスキャンフリップフロッ
プのコントロール端子SMCに接続されているネットに
マークを付与し(ステップ556)、マークの付いたネ
ットをステップ550で読み出した第2のネット接続情
報から削除する(ステップ559)。また、ステップ5
50で読み出した第2のネット接続情報のうち、選択し
たスキャンフリップフロップを通常のフリップフロップ
に置き換え(ステップ563)、ステップ557の処理
に移行する。
プのコントロール端子SMCに接続されているネットに
マークを付与し(ステップ556)、マークの付いたネ
ットをステップ550で読み出した第2のネット接続情
報から削除する(ステップ559)。また、ステップ5
50で読み出した第2のネット接続情報のうち、選択し
たスキャンフリップフロップを通常のフリップフロップ
に置き換え(ステップ563)、ステップ557の処理
に移行する。
【0065】ステップ556では、スキャンフリップフ
ロップのコントロール端子SMCのうちの一つを選択し
(ステップ560)、選択した端子に接続されているネ
ットより後方トレースを行なう(ステップ561)。
ロップのコントロール端子SMCのうちの一つを選択し
(ステップ560)、選択した端子に接続されているネ
ットより後方トレースを行なう(ステップ561)。
【0066】続いて、スキャンフリップフロップの全て
のコントロール端子SMCを参照したか否かを判断し
(ステップ562)、全てのコントロール端子SMCを
参照している場合は処理を終了する。また、全てのコン
トロール端子SMCを参照していない場合は、ステップ
560に戻ってステップ562までの処理を繰り返す。
のコントロール端子SMCを参照したか否かを判断し
(ステップ562)、全てのコントロール端子SMCを
参照している場合は処理を終了する。また、全てのコン
トロール端子SMCを参照していない場合は、ステップ
560に戻ってステップ562までの処理を繰り返す。
【0067】次に、上述したスキャンフリップフロップ
縮退部105の処理のうち、ステップ561の後方トレ
ースの処理について図6を用いて詳細に説明する。
縮退部105の処理のうち、ステップ561の後方トレ
ースの処理について図6を用いて詳細に説明する。
【0068】図6は図1に示したスキャンフリップフロ
ップ縮退部の後方トレース処理の手順を示すフローチャ
ートである。
ップ縮退部の後方トレース処理の手順を示すフローチャ
ートである。
【0069】図6において、ステップ561の後方トレ
ース処理では、まず、現在のトレース位置のネットにマ
ークを付与し(ステップ570)、トレース位置を外部
入力端子方向、すなわち後方にネット一つ分だけ移動す
る(ステップ571)。
ース処理では、まず、現在のトレース位置のネットにマ
ークを付与し(ステップ570)、トレース位置を外部
入力端子方向、すなわち後方にネット一つ分だけ移動す
る(ステップ571)。
【0070】次に、移動したトレース位置のブロックが
外部端子であるか否か判断し(ステップ572)、外部
端子である場合はその外部端子にマークを付けて(ステ
ップ573)処理を終了する。
外部端子であるか否か判断し(ステップ572)、外部
端子である場合はその外部端子にマークを付けて(ステ
ップ573)処理を終了する。
【0071】また、移動したトレース位置のブロックが
外部端子でない場合は移動したトレース位置がネットの
分岐点であるか否かを判断し(ステップ574)、ネッ
トの分岐点である場合は分岐点の出力側のネットにマー
クが付与されているか否かを判断する(ステップ57
5)。
外部端子でない場合は移動したトレース位置がネットの
分岐点であるか否かを判断し(ステップ574)、ネッ
トの分岐点である場合は分岐点の出力側のネットにマー
クが付与されているか否かを判断する(ステップ57
5)。
【0072】ここで、マークが付与されていない場合は
処理を終了する。また、マークが付与されている場合は
移動したトレース位置の分岐点にマークを付け(ステッ
プ576)、分岐点の入力側のネットより後方トレース
を行って(ステップ578)処理を終了する。
処理を終了する。また、マークが付与されている場合は
移動したトレース位置の分岐点にマークを付け(ステッ
プ576)、分岐点の入力側のネットより後方トレース
を行って(ステップ578)処理を終了する。
【0073】一方、ステップ574の処理の結果、移動
したトレース位置がネットの分岐点でない場合は移動し
たトレース位置が入力端子を多数持つブロックであるか
否かを判断し(ステップ579)、入力端子を多数持つ
ブロックである場合はブロック中の入力端子のうちの一
つを選択し(ステップ580)、選択した入力端子に接
続されているネットより後方トレースを行なう(ステッ
プ581)。
したトレース位置がネットの分岐点でない場合は移動し
たトレース位置が入力端子を多数持つブロックであるか
否かを判断し(ステップ579)、入力端子を多数持つ
ブロックである場合はブロック中の入力端子のうちの一
つを選択し(ステップ580)、選択した入力端子に接
続されているネットより後方トレースを行なう(ステッ
プ581)。
【0074】続いて、全ての入力端子を参照したか否か
を判断し、全ての入力端子を参照している場合はそのブ
ロックにマークを付与して(ステップ583)処理を終
了する。また、全ての入力端子を参照していない場合は
ステップ580の処理に戻ってステップ582までの処
理を繰り返す。
を判断し、全ての入力端子を参照している場合はそのブ
ロックにマークを付与して(ステップ583)処理を終
了する。また、全ての入力端子を参照していない場合は
ステップ580の処理に戻ってステップ582までの処
理を繰り返す。
【0075】一方、ステップ579の処理の結果、移動
したトレース位置が入力端子を多数持つブロックでない
場合はそのブロックにマークを付与し(ステップ58
4)、ブロックの入力端子に接続されているネットより
後方トレースを行なって(ステップ585)処理を終了
する。
したトレース位置が入力端子を多数持つブロックでない
場合はそのブロックにマークを付与し(ステップ58
4)、ブロックの入力端子に接続されているネットより
後方トレースを行なって(ステップ585)処理を終了
する。
【0076】次に、図1に示した故障検出ネット切り出
し部106の処理について図7を用いて詳細に説明す
る。
し部106の処理について図7を用いて詳細に説明す
る。
【0077】図7は図1に示した故障検出ネット切り出
し部の処理手順を示すフローチャートである。
し部の処理手順を示すフローチャートである。
【0078】図7において、故障検出ネット切り出し部
106は、まず、スキャンフリップフロップ縮退後のネ
ット接続情報である第3のネット接続情報を読み込み
(ステップ590)、故障検出用ネットブロック情報を
読み込む(ステッ591)。
106は、まず、スキャンフリップフロップ縮退後のネ
ット接続情報である第3のネット接続情報を読み込み
(ステップ590)、故障検出用ネットブロック情報を
読み込む(ステッ591)。
【0079】次に、故障検出用ネットブロック情報中の
全てのネット及びブロックについて、ステップ590で
読み出した第3のネット接続情報に基づいてマーク付け
を行ない(ステップ592)、スキャンフリップフロッ
プの入力端子及び出力端子に接続されるネット及びブロ
ックにマークを付与する(ステップ593)。
全てのネット及びブロックについて、ステップ590で
読み出した第3のネット接続情報に基づいてマーク付け
を行ない(ステップ592)、スキャンフリップフロッ
プの入力端子及び出力端子に接続されるネット及びブロ
ックにマークを付与する(ステップ593)。
【0080】そして、マークが付いている全てのネット
及びブロックを第4のネット接続情報として記録する
(ステップ594)。
及びブロックを第4のネット接続情報として記録する
(ステップ594)。
【0081】ここで、ステップ593では、故障検出用
ネットブロック情報のうちのスキャンフリップフロップ
を一つ選択し(ステップ595)、選択したスキャンフ
リップフロップの入力端子を一つ選択する(ステップ5
96)。
ネットブロック情報のうちのスキャンフリップフロップ
を一つ選択し(ステップ595)、選択したスキャンフ
リップフロップの入力端子を一つ選択する(ステップ5
96)。
【0082】続いて、選択した入力端子に接続されてい
るネットから後方トレースを行ない(ステップ59
7)、スキャンフリップフロップの全ての入力端子を参
照したか否かを判断する(ステップ598)。スキャン
フリップフロップの全ての入力端子を参照していない場
合はステップ596に戻ってステップ598までの処理
を繰り返す。また、スキャンフリップフロップの全ての
入力端子を参照している場合は選択したスキャンフリッ
プフロップのスキャンデータ出力端子SOTに接続され
ているネットから前方トレースを行う(ステップ60
0)。
るネットから後方トレースを行ない(ステップ59
7)、スキャンフリップフロップの全ての入力端子を参
照したか否かを判断する(ステップ598)。スキャン
フリップフロップの全ての入力端子を参照していない場
合はステップ596に戻ってステップ598までの処理
を繰り返す。また、スキャンフリップフロップの全ての
入力端子を参照している場合は選択したスキャンフリッ
プフロップのスキャンデータ出力端子SOTに接続され
ているネットから前方トレースを行う(ステップ60
0)。
【0083】そして、故障検出用ネットブロック情報の
全てのスキャンフリップフロップを参照したか否かを判
断し(ステップ599)、故障検出用ネットブロック情
報の全てのスキャンフリップフロップを参照している場
合は処理を終了する。また、故障検出用ネットブロック
情報の全てのスキャンフリップフロップを参照していな
い場合はステップ595に戻ってステップ599までの
処理を繰り返す。
全てのスキャンフリップフロップを参照したか否かを判
断し(ステップ599)、故障検出用ネットブロック情
報の全てのスキャンフリップフロップを参照している場
合は処理を終了する。また、故障検出用ネットブロック
情報の全てのスキャンフリップフロップを参照していな
い場合はステップ595に戻ってステップ599までの
処理を繰り返す。
【0084】次に、本発明のスキャンテスト方法につい
て、LSIのネット接続情報として図8に示す回路が与
えられる場合を例にして具体的に説明する。
て、LSIのネット接続情報として図8に示す回路が与
えられる場合を例にして具体的に説明する。
【0085】まず、故障定義処理部102によって、L
SIの回路接続情報である第1のネット接続情報に存在
する全ネットに対して故障定義が行われ、故障定義情報
が出力される。故障定義情報は、第1のネット接続情報
の各ネットの名称、及びそれに対応する故障の種類(S
A0、SA1)から構成される。なお、故障種類SA0
(STACK AT 0)は、出力電圧が接地電位に固定される故
障を示し、SA1(STACK AT 1)は出力電圧が電源電圧
に固定される故障を示している。
SIの回路接続情報である第1のネット接続情報に存在
する全ネットに対して故障定義が行われ、故障定義情報
が出力される。故障定義情報は、第1のネット接続情報
の各ネットの名称、及びそれに対応する故障の種類(S
A0、SA1)から構成される。なお、故障種類SA0
(STACK AT 0)は、出力電圧が接地電位に固定される故
障を示し、SA1(STACK AT 1)は出力電圧が電源電圧
に固定される故障を示している。
【0086】次に、故障シミュレーション部103によ
って、機能試験用パターンで発見できない故障位置のネ
ットを検出するために故障シミュレーションが行われ
る。
って、機能試験用パターンで発見できない故障位置のネ
ットを検出するために故障シミュレーションが行われ
る。
【0087】ここでは、第1のネット接続情報、故障定
義情報、及び機能試験用パターンを用いて公知の故障シ
ミュレーションを実行し、故障検出できないネットの情
報である非検出故障定義情報を出力する。なお、非検出
故障定義情報は故障定義情報と同一であるが、ここでは
機能試験用パターンで故障検出できないネットの情報の
みが記録される。
義情報、及び機能試験用パターンを用いて公知の故障シ
ミュレーションを実行し、故障検出できないネットの情
報である非検出故障定義情報を出力する。なお、非検出
故障定義情報は故障定義情報と同一であるが、ここでは
機能試験用パターンで故障検出できないネットの情報の
みが記録される。
【0088】次に、フルスキャン化処理部101によっ
て、LSIの全フリップフロップがスキャンフリップフ
ロップに置換される。ここでは、第1のネット接続情報
から公知のフルスキャン化処理を行ない、スキャンフリ
ップフロップを含む第2のネット接続情報を出力する。
なお、フルスキャン化処理部101によって図8に示し
た回路から生成された第2のネット接続情報により、図
9に示すような回路を得ることができる。
て、LSIの全フリップフロップがスキャンフリップフ
ロップに置換される。ここでは、第1のネット接続情報
から公知のフルスキャン化処理を行ない、スキャンフリ
ップフロップを含む第2のネット接続情報を出力する。
なお、フルスキャン化処理部101によって図8に示し
た回路から生成された第2のネット接続情報により、図
9に示すような回路を得ることができる。
【0089】故障シミュレーションの結果、図10に示
すようにORブロック14とNANDブロック17間の
ネットの故障SA0が検出できない場合、故障検出ネッ
トブロック抽出部104は、スキャンフリップフロップ
を含む第2のネット接続情報と非検出故障定義情報を用
い、非検出故障定義情報に記録された故障を検出するた
めに必要な経路の抽出を行ない、故障検出用ネットブロ
ック情報として出力する。ここで、故障検出ネットブロ
ック抽出部104で故障SA0を検出するために必要な
経路は図11に示す点線で囲まれた部分回路である。
すようにORブロック14とNANDブロック17間の
ネットの故障SA0が検出できない場合、故障検出ネッ
トブロック抽出部104は、スキャンフリップフロップ
を含む第2のネット接続情報と非検出故障定義情報を用
い、非検出故障定義情報に記録された故障を検出するた
めに必要な経路の抽出を行ない、故障検出用ネットブロ
ック情報として出力する。ここで、故障検出ネットブロ
ック抽出部104で故障SA0を検出するために必要な
経路は図11に示す点線で囲まれた部分回路である。
【0090】ところで、第2のネット接続情報中のスキ
ャンフリップフロップのうち、故障検出用ネットブロッ
ク情報に記録されないスキャンフリップフロップは、非
検出故障定義情報に記録された故障を検出するために用
いることがないため、通常のフリップフロップに戻すこ
とが可能である。
ャンフリップフロップのうち、故障検出用ネットブロッ
ク情報に記録されないスキャンフリップフロップは、非
検出故障定義情報に記録された故障を検出するために用
いることがないため、通常のフリップフロップに戻すこ
とが可能である。
【0091】したがって、スキャンフリップフロップ縮
退部105によって、故障SA0の検出に不要なスキャ
ンフリップフロップ23が元の通常のフリップフロップ
19に置き換えられ(図12参照)、縮退後のネット接
続情報である第3のネット接続情報が出力される。な
お、スキャンフリップフロップ縮退部105では、スキ
ャンフリップフロップを通常フリップフロップに戻す処
理だけでなく、スキャンデータ入力端子SIN、スキャ
ンデータ出力端子SOTの配線の張り替え処理も実行す
る。すなわち、図13に示すようにスキャンフリップフ
ロップ縮退部105によって、故障SA0の検出に不要
なスキャンフリップフロップが通常のフリップフロップ
19に置き換えられると共に、スキャンフリップフロッ
プ21のスキャンデータ出力端子SOTとスキャンフリ
ップフロップ22のスキャンデータ入力端子SIN間が
接続される。
退部105によって、故障SA0の検出に不要なスキャ
ンフリップフロップ23が元の通常のフリップフロップ
19に置き換えられ(図12参照)、縮退後のネット接
続情報である第3のネット接続情報が出力される。な
お、スキャンフリップフロップ縮退部105では、スキ
ャンフリップフロップを通常フリップフロップに戻す処
理だけでなく、スキャンデータ入力端子SIN、スキャ
ンデータ出力端子SOTの配線の張り替え処理も実行す
る。すなわち、図13に示すようにスキャンフリップフ
ロップ縮退部105によって、故障SA0の検出に不要
なスキャンフリップフロップが通常のフリップフロップ
19に置き換えられると共に、スキャンフリップフロッ
プ21のスキャンデータ出力端子SOTとスキャンフリ
ップフロップ22のスキャンデータ入力端子SIN間が
接続される。
【0092】次に、故障検出ネット切り出し部106に
よって、第3のネット接続情報から故障検出用ネットブ
ロック情報に記録された故障検出に必要なネットのみが
切り出され、その処理結果である部分回路ネット接続情
報が出力される。
よって、第3のネット接続情報から故障検出用ネットブ
ロック情報に記録された故障検出に必要なネットのみが
切り出され、その処理結果である部分回路ネット接続情
報が出力される。
【0093】図14は図13に示した回路から故障検出
に必要なネットのみを切り出した部分回路ネット接続情
報によって得られる回路である。
に必要なネットのみを切り出した部分回路ネット接続情
報によって得られる回路である。
【0094】次に、ATGモデル化処理部107によっ
て、部分回路ネット接続情報がATGモデル化され、A
TGモデルネット接続情報、及びスキャン情報が出力さ
れる。ATGモデル化処理部107は、図15に示すよ
うに、スキャンフリップフロップで区切られた組合せ回
路のみを抽出し、スキャンフリップフロップの入力端子
及び出力端子を仮想の外部端子に変換する。
て、部分回路ネット接続情報がATGモデル化され、A
TGモデルネット接続情報、及びスキャン情報が出力さ
れる。ATGモデル化処理部107は、図15に示すよ
うに、スキャンフリップフロップで区切られた組合せ回
路のみを抽出し、スキャンフリップフロップの入力端子
及び出力端子を仮想の外部端子に変換する。
【0095】次に、ATG処理部108によってATG
処理が行われ、ATGモデルATGパターンが生成され
る。ATG処理部108は、ATGモデル化処理部10
7によって生成されたATGモデルを用いて、非検出故
障定義情報に記録された機能検証用パターンで検出不能
な故障を検出するためのテストパターン(ATGモデル
ATGパターン)を生成する。なお、ここではATGモ
デルに対してATG処理を行うため、容易にテストパタ
ーンを生成することができる。図16は図15に示した
回路から故障SA0を検出するために必要なテストパタ
ーンを生成する過程を示している。故障SA0は接地電
位に固定される故障であるため、故障を発見できるよう
にするためには、故障SA0が定義されているネットで
あるORブロック14とNANDブロック17間の論理
値を「1」とするための入力論理値で、かつその論理値
が出力端子52へ伝搬されるための入力論理値、すなわ
ち、外部端子51に「1」、外部端子3に「1」、外部
端子4に「0」がそれぞれ設定される。また、その時の
出力論理値、すなわち、期待論理値は故障が無い場合で
端子52は「0」となる。ATGモデルATGパターン
はこの入力論理値及び出力論理値がそれぞれ記録され
る。
処理が行われ、ATGモデルATGパターンが生成され
る。ATG処理部108は、ATGモデル化処理部10
7によって生成されたATGモデルを用いて、非検出故
障定義情報に記録された機能検証用パターンで検出不能
な故障を検出するためのテストパターン(ATGモデル
ATGパターン)を生成する。なお、ここではATGモ
デルに対してATG処理を行うため、容易にテストパタ
ーンを生成することができる。図16は図15に示した
回路から故障SA0を検出するために必要なテストパタ
ーンを生成する過程を示している。故障SA0は接地電
位に固定される故障であるため、故障を発見できるよう
にするためには、故障SA0が定義されているネットで
あるORブロック14とNANDブロック17間の論理
値を「1」とするための入力論理値で、かつその論理値
が出力端子52へ伝搬されるための入力論理値、すなわ
ち、外部端子51に「1」、外部端子3に「1」、外部
端子4に「0」がそれぞれ設定される。また、その時の
出力論理値、すなわち、期待論理値は故障が無い場合で
端子52は「0」となる。ATGモデルATGパターン
はこの入力論理値及び出力論理値がそれぞれ記録され
る。
【0096】次に、スキャンパターン変換部109によ
って、ATGモデルATGパターンとスキャン情報を用
いてスキャンパターン変換が行われ、スキャン用ATG
パターンが出力される。
って、ATGモデルATGパターンとスキャン情報を用
いてスキャンパターン変換が行われ、スキャン用ATG
パターンが出力される。
【0097】スキャンパターン変換部109は、ATG
モデルにおける入力端子の論理設定値をスキャンフリッ
プフロップのスキャン回路に対する入力論理値に変換す
る。また、ATGモデルにおける出力端子の論理設定値
をスキャンフリップフロップのスキャン回路からの出力
論理値に変換する。
モデルにおける入力端子の論理設定値をスキャンフリッ
プフロップのスキャン回路に対する入力論理値に変換す
る。また、ATGモデルにおける出力端子の論理設定値
をスキャンフリップフロップのスキャン回路からの出力
論理値に変換する。
【0098】最後に、パターン結合処理部110によっ
てスキャン用ATGパターンと機能検証用パターンを結
合され、検査パターンとして出力される。
てスキャン用ATGパターンと機能検証用パターンを結
合され、検査パターンとして出力される。
【0099】LSIテスタへは、スキャンフリップフロ
ップ縮退部105の出力である第3のネット接続情報と
パターン結合処理部110の出力である検査パターンと
が入力され、LSIテスタによって被検査対象であるL
SIの検査が実行される。
ップ縮退部105の出力である第3のネット接続情報と
パターン結合処理部110の出力である検査パターンと
が入力され、LSIテスタによって被検査対象であるL
SIの検査が実行される。
【0100】次に、故障検出ネットブロック抽出部の1
04の動作について図2〜図4を参照して詳細に説明す
る。
04の動作について図2〜図4を参照して詳細に説明す
る。
【0101】図2に示したように、故障検出ネットブロ
ック抽出部104は、まず、スキャンフリップフロップ
の情報を含む第2のネット接続情報を読み込み(ステッ
プ501)、非検出故障定義情報を読み込む(ステップ
502)。
ック抽出部104は、まず、スキャンフリップフロップ
の情報を含む第2のネット接続情報を読み込み(ステッ
プ501)、非検出故障定義情報を読み込む(ステップ
502)。
【0102】次に、ステップ503からステップ506
までの各処理を非検出故障定義情報に記録された故障全
てについて繰り返し実行する。このとき、各繰り返し処
理毎に新しい故障定義されたネットを選択する。また、
ステップ506の処理の結果、全ての故障定義されたネ
ットを選択している場合はステップ507の処理へ進
む。
までの各処理を非検出故障定義情報に記録された故障全
てについて繰り返し実行する。このとき、各繰り返し処
理毎に新しい故障定義されたネットを選択する。また、
ステップ506の処理の結果、全ての故障定義されたネ
ットを選択している場合はステップ507の処理へ進
む。
【0103】なお、ステップ504は、選択されたネッ
トより後方トレースを行なうサブルーチンである。後方
トレースを行うサブルーチンは図3に示したフローチャ
ートにしたがって処理される。
トより後方トレースを行なうサブルーチンである。後方
トレースを行うサブルーチンは図3に示したフローチャ
ートにしたがって処理される。
【0104】また、ステップ505は、選択されたネッ
トより前方トレースを行なうサブルーチンである。前方
トレースを行うサブルーチンは図4に示したフローチャ
ートにしたがって処理される。
トより前方トレースを行なうサブルーチンである。前方
トレースを行うサブルーチンは図4に示したフローチャ
ートにしたがって処理される。
【0105】最後に、ステップ504及びステップ50
5の処理でマークが付与されたネット及びブロックを故
障検出用ネットブロック情報として記録する(ステップ
507)。
5の処理でマークが付与されたネット及びブロックを故
障検出用ネットブロック情報として記録する(ステップ
507)。
【0106】以上で、故障検出ブロックネット抽出部1
04の処理は終了する。
04の処理は終了する。
【0107】次に、上記故障検出ブロックネット抽出部
104の処理のうち、ステップ504の後方トレース処
理について図3を参照して詳細に説明する。
104の処理のうち、ステップ504の後方トレース処
理について図3を参照して詳細に説明する。
【0108】図3に示したように、ステップ504の後
方トレース処理では、まず、処理のスタート時に、この
処理に渡されたトレース位置を記録する。トレース位置
はバックトラック(トレース位置の後戻り、具体的には
処理終了時)が発生したときに正確に戻るための情報で
ある。
方トレース処理では、まず、処理のスタート時に、この
処理に渡されたトレース位置を記録する。トレース位置
はバックトラック(トレース位置の後戻り、具体的には
処理終了時)が発生したときに正確に戻るための情報で
ある。
【0109】なお、以上の処理は再帰的手法が可能な処
理系では、暗黙的に行なう事が可能である。図3に示す
処理が進むと、図3に示す処理自身へ再帰的な処理が行
われる。この手法は公知であり、また、再帰的手法から
非再帰的手法に変換可能なことも公知である。
理系では、暗黙的に行なう事が可能である。図3に示す
処理が進むと、図3に示す処理自身へ再帰的な処理が行
われる。この手法は公知であり、また、再帰的手法から
非再帰的手法に変換可能なことも公知である。
【0110】以下では、説明を簡易とするため、再帰的
手法を用いて説明する。
手法を用いて説明する。
【0111】例えば、図11に示した回路を例にする
と、ステップ510の処理で故障SA0のネットにマー
クが付与されると、ステップ511でORブロック14
にトレース位置が移る。
と、ステップ510の処理で故障SA0のネットにマー
クが付与されると、ステップ511でORブロック14
にトレース位置が移る。
【0112】次に、ステップ512の処理の結果、OR
ブロック14はスキャンフリップフロップでないためス
テップ513の処理へ進み、ステップ513の処理の結
果、ORブロック14は外部端子ではないためステップ
516の処理へ進む。
ブロック14はスキャンフリップフロップでないためス
テップ513の処理へ進み、ステップ513の処理の結
果、ORブロック14は外部端子ではないためステップ
516の処理へ進む。
【0113】さらに、ステップ516の処理の結果、O
Rブロック14にはマークが付いていないためステップ
517の処理に進む。
Rブロック14にはマークが付いていないためステップ
517の処理に進む。
【0114】ステップ517の処理ではORブロック1
4にマークが付与され、ステップ518の処理に進む。
ステップ518では、ORブロック14に入力端子が2
つ有るため、まず、一方の入力端子を選択し、一方の入
力端子に接続されたネット、すなわち外部端子3とOR
ブロック14の一方の入力端子間のネットを持ってステ
ップ519の処理に進む。つまり、深さ1の再帰的処理
に移行し、ステップ510の処理に戻る。
4にマークが付与され、ステップ518の処理に進む。
ステップ518では、ORブロック14に入力端子が2
つ有るため、まず、一方の入力端子を選択し、一方の入
力端子に接続されたネット、すなわち外部端子3とOR
ブロック14の一方の入力端子間のネットを持ってステ
ップ519の処理に進む。つまり、深さ1の再帰的処理
に移行し、ステップ510の処理に戻る。
【0115】ステップ510の処理では、外部端子3と
ORブロック14の一方の入力端子間のネットにマーク
が付与される。続いて、ステップ511の処理で外部端
子3にトレース位置が移る。
ORブロック14の一方の入力端子間のネットにマーク
が付与される。続いて、ステップ511の処理で外部端
子3にトレース位置が移る。
【0116】次に、ステップ512の処理の結果、外部
端子3はスキャンフリップフロップでないためステップ
513の処理に進み、ステップ513の処理の結果、ス
テップ515の処理に進む。
端子3はスキャンフリップフロップでないためステップ
513の処理に進み、ステップ513の処理の結果、ス
テップ515の処理に進む。
【0117】ステップ515では外部端子3にマークが
付与され、深さ1の再帰的処理を終了する。つまり、ト
レース位置が最後に再帰的処理のなされた位置、すなわ
ちORブロック14に戻り、処理は再帰的処理のなされ
たステップ519の次のステップであるステップ520
に進む。
付与され、深さ1の再帰的処理を終了する。つまり、ト
レース位置が最後に再帰的処理のなされた位置、すなわ
ちORブロック14に戻り、処理は再帰的処理のなされ
たステップ519の次のステップであるステップ520
に進む。
【0118】ステップ520では、ORブロック14の
第2の入力端子が未選択であるためステップ518に戻
る。同様にして、ステップ518でORブロック14の
他方の入力端子が選択され、ステップ519で外部端子
4とORブロック14の他方の入力端子間のネットと外
部端子4にマークが付与される。続いて、ステップ52
0では、ORブロック14の全ての入力端子が選択され
ているため、図2に示したステップ505の処理に進
む。
第2の入力端子が未選択であるためステップ518に戻
る。同様にして、ステップ518でORブロック14の
他方の入力端子が選択され、ステップ519で外部端子
4とORブロック14の他方の入力端子間のネットと外
部端子4にマークが付与される。続いて、ステップ52
0では、ORブロック14の全ての入力端子が選択され
ているため、図2に示したステップ505の処理に進
む。
【0119】次に、上記故障検出ブロックネット抽出部
104のステップ505の動作について詳細に説明す
る。
104のステップ505の動作について詳細に説明す
る。
【0120】図4に示すように、ステップ505の前方
トレース処理では、まず、ステップ530で故障SA0
のネットにマークが付加される。
トレース処理では、まず、ステップ530で故障SA0
のネットにマークが付加される。
【0121】次に、ステップ531の処理でトレース位
置をNANDブロック17に移動し、ステップ532の
処理の結果、NANDブロック17はスキャンフリップ
フロップではないため、ステップ533の処理に進む。
置をNANDブロック17に移動し、ステップ532の
処理の結果、NANDブロック17はスキャンフリップ
フロップではないため、ステップ533の処理に進む。
【0122】ステップ533では、NANDブロック1
7が外部端子でないためステップ536の処理に進む。
さらに、ステップ536では、NANDブロック17に
マークが付いていないためステップ537の処理に進
む。
7が外部端子でないためステップ536の処理に進む。
さらに、ステップ536では、NANDブロック17に
マークが付いていないためステップ537の処理に進
む。
【0123】ステップ537ではNANDブロック17
にマークが付与され、ステップ538の処理に進む。
にマークが付与され、ステップ538の処理に進む。
【0124】ステップ538の処理の結果、NANDブ
ロック17には入力端子が2つ、出力端子が1つ有るた
め、ステップ542までの処理を合計3回繰り返す。ま
ず、NANDブロック17の一方の入力端子が選択さ
れ、ステップ539の処理に進む。ステップ539で
は、選択された端子が入力端子のため、ステップ540
の処理に進む。ステップ540では、NANDブロック
17の一方の入力端子に接続されているネット、つま
り、スキャンフリップフロップ(SFF)21の端子Q
とNANDブロック17の一方の入力端子間のネットを
持って深さ1の再帰的処理に入り、図3に示したステッ
プ510の処理に進む。
ロック17には入力端子が2つ、出力端子が1つ有るた
め、ステップ542までの処理を合計3回繰り返す。ま
ず、NANDブロック17の一方の入力端子が選択さ
れ、ステップ539の処理に進む。ステップ539で
は、選択された端子が入力端子のため、ステップ540
の処理に進む。ステップ540では、NANDブロック
17の一方の入力端子に接続されているネット、つま
り、スキャンフリップフロップ(SFF)21の端子Q
とNANDブロック17の一方の入力端子間のネットを
持って深さ1の再帰的処理に入り、図3に示したステッ
プ510の処理に進む。
【0125】続いて、ステップ510、511、512
の処理が実行される。ステップ512の処理の結果、選
択されたブロックはスキャンフリップフロップであるた
め、ステップ514の処理に進む。
の処理が実行される。ステップ512の処理の結果、選
択されたブロックはスキャンフリップフロップであるた
め、ステップ514の処理に進む。
【0126】ステップ514では、スキャンフリップフ
ロップ21にマークが付与され、深さ1の再帰的処理が
終了し、再帰的処理がなされたステップ540の次のス
テップであるステップ542の処理に進む。
ロップ21にマークが付与され、深さ1の再帰的処理が
終了し、再帰的処理がなされたステップ540の次のス
テップであるステップ542の処理に進む。
【0127】ステップ542では、NANDブロック1
7の他方の入力端子及び出力端子が未選択のため、ステ
ップ538に戻ってステップ542までの処理を繰り返
す。ここでは、ステップ538の処理でNANDブロッ
ク17の他方の入力端子が選択され、ステップ539、
540の処理を実行するが、ステップ510、511、
512、513、516の処理で既に故障SA0のネッ
トにマークが付けられているため、ステップ540では
処理が実行されない。
7の他方の入力端子及び出力端子が未選択のため、ステ
ップ538に戻ってステップ542までの処理を繰り返
す。ここでは、ステップ538の処理でNANDブロッ
ク17の他方の入力端子が選択され、ステップ539、
540の処理を実行するが、ステップ510、511、
512、513、516の処理で既に故障SA0のネッ
トにマークが付けられているため、ステップ540では
処理が実行されない。
【0128】続いて、ステップ542では、NANDブ
ロック17の出力端子が未選択のためステップ538に
戻ってステップ542までの処理を繰り返す。ここで
は、ステップ538でNANDブロック17の出力端子
が選択され、ステップ539、541の処理を実行す
る。
ロック17の出力端子が未選択のためステップ538に
戻ってステップ542までの処理を繰り返す。ここで
は、ステップ538でNANDブロック17の出力端子
が選択され、ステップ539、541の処理を実行す
る。
【0129】ステップ541では、NANDブロック1
7の出力端子に接続されているネット、すなわち、スキ
ャンフリップフロップ(SFF)22の入力端子DとN
ANDブロック17の出力端子間のネットを持って、再
帰的処理によりステップ530の処理に進む。
7の出力端子に接続されているネット、すなわち、スキ
ャンフリップフロップ(SFF)22の入力端子DとN
ANDブロック17の出力端子間のネットを持って、再
帰的処理によりステップ530の処理に進む。
【0130】ステップ530、531の処理を実行する
と、ステップ532の処理ではトレース位置がスキャン
フリップフロップであるため、スキャンフリップフロッ
プ22にマークが付与され、深さ1の再帰的処理、すな
わちステップ541を終了する。このときトレース位置
がNANDブロック17に戻り、ステップ542の処理
に進む。
と、ステップ532の処理ではトレース位置がスキャン
フリップフロップであるため、スキャンフリップフロッ
プ22にマークが付与され、深さ1の再帰的処理、すな
わちステップ541を終了する。このときトレース位置
がNANDブロック17に戻り、ステップ542の処理
に進む。
【0131】ステップ542では、NANDブロック1
7の全ての端子が選択されたため、図2に示したステッ
プ505の処理を終了し、ステップ506の処理に進
む。
7の全ての端子が選択されたため、図2に示したステッ
プ505の処理を終了し、ステップ506の処理に進
む。
【0132】ステップ506では、故障定義された全て
のネットについて処理が行われたため、ステップ507
の処理に進む。
のネットについて処理が行われたため、ステップ507
の処理に進む。
【0133】ステップ507では、マークの付いたブロ
ック及びネット、すなわち各ブロック3、4、14、1
7、21、22の情報、ブロック3と14間のネット、
ブロック4と14間のネット、ブロック14と17間の
ネット、ブロック17と21間のネット、及びブロック
17と22間のネットの情報を故障検出用ネットブロッ
ク情報として記録する。
ック及びネット、すなわち各ブロック3、4、14、1
7、21、22の情報、ブロック3と14間のネット、
ブロック4と14間のネット、ブロック14と17間の
ネット、ブロック17と21間のネット、及びブロック
17と22間のネットの情報を故障検出用ネットブロッ
ク情報として記録する。
【0134】次に、スキャンフリップフロップ縮退部1
05の動作について図5及び図6を参照して詳細に説明
する。なお、以下では、図12に示した回路を例にして
説明する。
05の動作について図5及び図6を参照して詳細に説明
する。なお、以下では、図12に示した回路を例にして
説明する。
【0135】図5に示したように、スキャンフリップフ
ロップ縮退部105は、まず、スキャンフリップフロッ
プを含む第2のネット接続情報を読み込み(ステップ5
50)、故障検出用ネットブロック情報を読み込む(ス
テップ551)。
ロップ縮退部105は、まず、スキャンフリップフロッ
プを含む第2のネット接続情報を読み込み(ステップ5
50)、故障検出用ネットブロック情報を読み込む(ス
テップ551)。
【0136】次に、ステップ552の処理で、スキャン
フリップフロップ(SFF)21を選択し、ステップ5
53の処理に進む。
フリップフロップ(SFF)21を選択し、ステップ5
53の処理に進む。
【0137】ステップ553では、選択されたスキャン
フリップフロップ21が故障検出用ネットブロック情報
に有るためステップ557の処理に進む。
フリップフロップ21が故障検出用ネットブロック情報
に有るためステップ557の処理に進む。
【0138】ステップ557では、スキャンフリップフ
ロップ22、スキャンフリップフロップ23が未選択の
ため、ステップ552の処理に戻って、ステップ552
及び553の処理を繰り返し実行する。
ロップ22、スキャンフリップフロップ23が未選択の
ため、ステップ552の処理に戻って、ステップ552
及び553の処理を繰り返し実行する。
【0139】ステップ552でスキャンフリップフロッ
プ22が選択されると、ステップ553では選択された
スキャンフリップフロップ22が故障検出用ネットブロ
ック情報に有るためステップ557の処理に進む。
プ22が選択されると、ステップ553では選択された
スキャンフリップフロップ22が故障検出用ネットブロ
ック情報に有るためステップ557の処理に進む。
【0140】また、ステップ552でスキャンフリップ
フロップ23が選択されると、ステップ553では選択
されたスキャンフリップフロップ23が故障検出用ネッ
トブロック情報に無いためステップ554に処理に進
む。
フロップ23が選択されると、ステップ553では選択
されたスキャンフリップフロップ23が故障検出用ネッ
トブロック情報に無いためステップ554に処理に進
む。
【0141】ステップ554では、スキャンフリップフ
ロップ23のスキャンデータ入力端子SINに接続され
ているスキャンフリップフロップ21のスキャンデータ
出力端子SOT、及びスキャンフリップフロップ23の
スキャンデータ入力端子SIN間のネットが切り離され
る。
ロップ23のスキャンデータ入力端子SINに接続され
ているスキャンフリップフロップ21のスキャンデータ
出力端子SOT、及びスキャンフリップフロップ23の
スキャンデータ入力端子SIN間のネットが切り離され
る。
【0142】また、スキャンフリップフロップ23のス
キャンデータ出力端子SOTに接続されているスキャン
フリップフロップ22のスキャンデータ入力端子SI
N、及びスキャンフリップフロップ23のスキャンデー
タ出力端子SOT間のネットが切り離される。
キャンデータ出力端子SOTに接続されているスキャン
フリップフロップ22のスキャンデータ入力端子SI
N、及びスキャンフリップフロップ23のスキャンデー
タ出力端子SOT間のネットが切り離される。
【0143】次に、ステップ555の処理では、ステッ
プ554の処理で切り離されたネットどうしを接続す
る。すなわち、スキャンフリップフロップ21のスキャ
ンデータ出力端子SOTとスキャンフリップフロップ2
2のスキャンデータ入力端子SINを接続する。
プ554の処理で切り離されたネットどうしを接続す
る。すなわち、スキャンフリップフロップ21のスキャ
ンデータ出力端子SOTとスキャンフリップフロップ2
2のスキャンデータ入力端子SINを接続する。
【0144】次に、ステップ556の処理では、選択さ
れたスキャンフリップフロップのスキャンコントロール
端子に接続された配線にマークを付けるために、サブル
ーチンであるステップ560の処理に進む。
れたスキャンフリップフロップのスキャンコントロール
端子に接続された配線にマークを付けるために、サブル
ーチンであるステップ560の処理に進む。
【0145】ステップ560では、まず、選択されたス
キャンフリップホップのスキャン用コントロール端子S
MCを選択する。ここでは、スキャンフリップフロップ
23のコントロール端子SMCが選択され、ステップ5
61の処理に進む。
キャンフリップホップのスキャン用コントロール端子S
MCを選択する。ここでは、スキャンフリップフロップ
23のコントロール端子SMCが選択され、ステップ5
61の処理に進む。
【0146】ステップ561の処理は、指定端子に接続
されたネットより後方トレースするサブルーチンであ
る。このサブルーチンの動作を図6を参照して説明す
る。
されたネットより後方トレースするサブルーチンであ
る。このサブルーチンの動作を図6を参照して説明す
る。
【0147】図6において、まず、ステップ570で
は、スキャンフリップフロップ23のコントロール端子
SMCと、そのコントロール端子SMCから数えて1つ
目の分岐点にマークを付与する。
は、スキャンフリップフロップ23のコントロール端子
SMCと、そのコントロール端子SMCから数えて1つ
目の分岐点にマークを付与する。
【0148】次に、ステップ571では、スキャンフリ
ップフロップ23のコントロール端子SMCから数えて
1つめの分岐点にトレース位置を移動させる。
ップフロップ23のコントロール端子SMCから数えて
1つめの分岐点にトレース位置を移動させる。
【0149】次に、ステップ572ではトレース位置が
外部端子であるか否かを判断する。ここでは、トレース
位置が分岐点のためステップ574の処理に進む。
外部端子であるか否かを判断する。ここでは、トレース
位置が分岐点のためステップ574の処理に進む。
【0150】ステップ574では、トレース位置が分岐
点であるか否かを判断する。ここでは、トレース位置が
分岐点のためステップ575の処理に進む。
点であるか否かを判断する。ここでは、トレース位置が
分岐点のためステップ575の処理に進む。
【0151】ステップ575では、分岐点の出力側のネ
ット全てにマークが付与されているか否かを判断する。
ここでは、トレース位置の分岐点の出力側のネットに未
マークのネットが有るため、ステップ561の処理を終
了し、図5に示したステップ559の処理に進む。
ット全てにマークが付与されているか否かを判断する。
ここでは、トレース位置の分岐点の出力側のネットに未
マークのネットが有るため、ステップ561の処理を終
了し、図5に示したステップ559の処理に進む。
【0152】ステップ559では、マークの付いたネッ
ト及びブロックを第2のネット接続情報から削除し、ス
テップ563の処理に進む。
ト及びブロックを第2のネット接続情報から削除し、ス
テップ563の処理に進む。
【0153】ステップ563では、選択されたスキャン
フリップフロップを通常のフリップフロップに置き換
え、ステップ557の処理に進む。
フリップフロップを通常のフリップフロップに置き換
え、ステップ557の処理に進む。
【0154】ステップ557の処理では、第2のネット
接続情報の中の未選択のスキャンフリップフロップが無
くなったため、ステップ558の処理に進む。
接続情報の中の未選択のスキャンフリップフロップが無
くなったため、ステップ558の処理に進む。
【0155】最後に、変更後のネット接続情報を縮退後
のネット接続情報である第3のネット接続情報として記
録する(ステップ558)。
のネット接続情報である第3のネット接続情報として記
録する(ステップ558)。
【0156】次に、故障検出ネット切り出し部106の
動作について図7を参照して詳細に説明する。なお、こ
こでは、図13に示した回路を処理する場合を例にして
説明する。
動作について図7を参照して詳細に説明する。なお、こ
こでは、図13に示した回路を処理する場合を例にして
説明する。
【0157】図7に示したように、故障検出ネット切り
出し部106は、まず、スキャンフリップフロップ縮退
後のネット接続情報である第3のネット接続情報を読み
込み(ステップ590)、故障検出用ネットブロック情
報を読み込む(ステップ591)。
出し部106は、まず、スキャンフリップフロップ縮退
後のネット接続情報である第3のネット接続情報を読み
込み(ステップ590)、故障検出用ネットブロック情
報を読み込む(ステップ591)。
【0158】次に、ステップ592の処理で、ブロック
14、ブロック17、ブロック21、ブロック22、ブ
ロック3、ブロック4、ブロック3と14間のネット、
ブロック4と14間のネット、ブロック14と17間の
ネット、ブロック21と17間のネット、及びブロック
17と22間のネットにそれぞれマークを付与し、ステ
ップ593の処理に移行する。
14、ブロック17、ブロック21、ブロック22、ブ
ロック3、ブロック4、ブロック3と14間のネット、
ブロック4と14間のネット、ブロック14と17間の
ネット、ブロック21と17間のネット、及びブロック
17と22間のネットにそれぞれマークを付与し、ステ
ップ593の処理に移行する。
【0159】ステップ593の処理はスキャンフリップ
フロップの入力端子に接続されているネット及びブロッ
クにマークを付けるためのサブルーチンであり、ステッ
プ595の処理に進む。
フロップの入力端子に接続されているネット及びブロッ
クにマークを付けるためのサブルーチンであり、ステッ
プ595の処理に進む。
【0160】ステップ595では、まず、スキャンフリ
ップフロップ21が選択される。続いて、ステップ59
6の処理でスキャンフリップフロップ21の入力端子C
が選択され、ステップ597の処理に進む。
ップフロップ21が選択される。続いて、ステップ59
6の処理でスキャンフリップフロップ21の入力端子C
が選択され、ステップ597の処理に進む。
【0161】ステップ597は、図3に示したフローチ
ャートにしたがって処理されるが、その動作については
既に説明済みのためここでは省略する。
ャートにしたがって処理されるが、その動作については
既に説明済みのためここでは省略する。
【0162】ステップ597では、ブロック5、ブロッ
ク12、ブロック5と12間のネット、及びブロック1
2と21間のネットにそれぞれマークを付与し、ステッ
プ59の処理に移行する。
ク12、ブロック5と12間のネット、及びブロック1
2と21間のネットにそれぞれマークを付与し、ステッ
プ59の処理に移行する。
【0163】ステップ598では、スキャンフリップフ
ロップ21の入力端子を全て選択したか否かを判断す
る。ここでは、未選択のテスト入力端子があるため、ス
テップ596の処理に戻ってステップ596、597、
598の処理を繰り返し、スキャンフリップフロップ2
1のコントロール端子SMC、及びスキャンデータ入力
端子SINを選択した場合について、それぞれ同様の処
理を行う。
ロップ21の入力端子を全て選択したか否かを判断す
る。ここでは、未選択のテスト入力端子があるため、ス
テップ596の処理に戻ってステップ596、597、
598の処理を繰り返し、スキャンフリップフロップ2
1のコントロール端子SMC、及びスキャンデータ入力
端子SINを選択した場合について、それぞれ同様の処
理を行う。
【0164】そして、ステップ598の処理の結果、ス
キャンフリップフロップの入力端子を全て選択している
場合は、ステップ600の処理に移行する。
キャンフリップフロップの入力端子を全て選択している
場合は、ステップ600の処理に移行する。
【0165】この時点で、ブロック5、ブロック12、
ブロック9、ブロック7、ブロック5と12間のネッ
ト、ブロック12と22間のネット、ブロック7と21
間のネットにそれぞれマークが付与される。
ブロック9、ブロック7、ブロック5と12間のネッ
ト、ブロック12と22間のネット、ブロック7と21
間のネットにそれぞれマークが付与される。
【0166】ステップ600は、図4に示したフローチ
ャートにしたがって処理されるが、その動作については
既に説明済みのためここでは省略する。
ャートにしたがって処理されるが、その動作については
既に説明済みのためここでは省略する。
【0167】ステップ600では、ブロック21とブロ
ック22間の接続に既にマークが付与されているため、
ここでは新たにマークを付与する処理は行わずにステッ
プ599の処理に進む。
ック22間の接続に既にマークが付与されているため、
ここでは新たにマークを付与する処理は行わずにステッ
プ599の処理に進む。
【0168】ステップ599の処理では、未選択のスキ
ャンフリップフロップが有るため、ステップ595に戻
り、スキャンフリップフロップ22が選択された場合に
ついて、ステップ595、596、597、598、6
00、599の処理を行い、ステップ593の処理を終
了する。
ャンフリップフロップが有るため、ステップ595に戻
り、スキャンフリップフロップ22が選択された場合に
ついて、ステップ595、596、597、598、6
00、599の処理を行い、ステップ593の処理を終
了する。
【0169】以上の処理によってスキャンフリップフロ
ップ22における繰り返し処理によって、新たに、ブロ
ック8及びブロック5とブロック22間のネット、ブロ
ック9と22間のネット、ブロック8と22間のネット
にそれぞれマークが付与される。
ップ22における繰り返し処理によって、新たに、ブロ
ック8及びブロック5とブロック22間のネット、ブロ
ック9と22間のネット、ブロック8と22間のネット
にそれぞれマークが付与される。
【0170】最後に、マークが付与された全てのブロッ
クおよびネットを第4のネット接続情報として記録し、
処理を終了する(ステップ594)。このとき、記録し
た第4のネット接続情報によれば図14に示すような回
路を得ることができる。
クおよびネットを第4のネット接続情報として記録し、
処理を終了する(ステップ594)。このとき、記録し
た第4のネット接続情報によれば図14に示すような回
路を得ることができる。
【0171】以上説明したように、本発明のスキャンテ
スト方法によれば、機能試験用パターンで発見できない
故障を検出するために必要なスキャンフリップフロップ
以外のフリップフロップを通常のフリップフロップに置
き換えるため、スキャンフリップフロップの数を減らす
ことが可能になり、LSIのデバイス面積を低減するこ
とができる。
スト方法によれば、機能試験用パターンで発見できない
故障を検出するために必要なスキャンフリップフロップ
以外のフリップフロップを通常のフリップフロップに置
き換えるため、スキャンフリップフロップの数を減らす
ことが可能になり、LSIのデバイス面積を低減するこ
とができる。
【0172】また、スキャンフリップフロップの数を最
小限にすることにより、スキャンイン及びスキャンアウ
ト操作におけるクロックパターン数を減らすことができ
るため、テストパターン数を減らすことができる。
小限にすることにより、スキャンイン及びスキャンアウ
ト操作におけるクロックパターン数を減らすことができ
るため、テストパターン数を減らすことができる。
【0173】
【発明の効果】本発明は以上説明したように構成されて
いるので、以下に記載する効果を奏する。
いるので、以下に記載する効果を奏する。
【0174】故障検出ネットブロック抽出工程によって
機能試験用パターンで発見できない故障を検出するため
に必要な経路を抽出し、スキャンフリップフロップ縮退
工程によって、フルスキャン化工程で生成されたスキャ
ンフリップフロップを含む回路のうち、故障検出ネット
ブロック抽出工程で抽出された経路上にあるスキャンフ
リップフロップ以外のスキャンフリップフロップを元の
通常のフリップフロップに置き換えるため、スキャンフ
リップフロップの数を減らすことが可能になり、LSI
のデバイス面積を低減することができる。
機能試験用パターンで発見できない故障を検出するため
に必要な経路を抽出し、スキャンフリップフロップ縮退
工程によって、フルスキャン化工程で生成されたスキャ
ンフリップフロップを含む回路のうち、故障検出ネット
ブロック抽出工程で抽出された経路上にあるスキャンフ
リップフロップ以外のスキャンフリップフロップを元の
通常のフリップフロップに置き換えるため、スキャンフ
リップフロップの数を減らすことが可能になり、LSI
のデバイス面積を低減することができる。
【0175】また、故障検出ネット切り出し工程によっ
てスキャンフリップフロップ縮退工程で生成された回路
から故障検出ネットブロック抽出工程で抽出された経路
を切り出し、ATGモデル化処理工程によって故障検出
ネット切り出し工程で切り出された回路から組合わせ回
路のみを抽出してATGモデルを生成し、ATGモデル
に基づいてテストパターンを生成することで、機能試験
用パターンで発見できない故障を検出するためのテスト
パターンを生成するために必要な最小限の経路を切り出
し、切り出した回路に基づいてATGモデルを作成し、
ATGモデルからATGパターンを生成するため、スキ
ャンイン及びスキャンアウト操作におけるクロックパタ
ーン数を減らすことが可能になり、テストパターン数を
減らすことができる。
てスキャンフリップフロップ縮退工程で生成された回路
から故障検出ネットブロック抽出工程で抽出された経路
を切り出し、ATGモデル化処理工程によって故障検出
ネット切り出し工程で切り出された回路から組合わせ回
路のみを抽出してATGモデルを生成し、ATGモデル
に基づいてテストパターンを生成することで、機能試験
用パターンで発見できない故障を検出するためのテスト
パターンを生成するために必要な最小限の経路を切り出
し、切り出した回路に基づいてATGモデルを作成し、
ATGモデルからATGパターンを生成するため、スキ
ャンイン及びスキャンアウト操作におけるクロックパタ
ーン数を減らすことが可能になり、テストパターン数を
減らすことができる。
【図1】本発明のスキャンテスト方法を実行するスキャ
ンテスト装置の一実施例の構成を示すブロック図であ
る。
ンテスト装置の一実施例の構成を示すブロック図であ
る。
【図2】図1に示した故障検出ネットブロック抽出部の
処理手順を示すフローチャートである。
処理手順を示すフローチャートである。
【図3】図1に示した故障検出ネットブロック抽出部の
後方トレース処理の手順を示すフローチャートである。
後方トレース処理の手順を示すフローチャートである。
【図4】図1に示した故障検出ネットブロック抽出部の
前方トレース処理の手順を示すフローチャートである。
前方トレース処理の手順を示すフローチャートである。
【図5】図1に示したスキャンフリップフロップ縮退部
の処理手順を示すフローチャートである。
の処理手順を示すフローチャートである。
【図6】図1に示したスキャンフリップフロップ縮退部
の後方トレース処理の手順を示すフローチャートであ
る。
の後方トレース処理の手順を示すフローチャートであ
る。
【図7】図1に示した故障検出ネット切り出し部の処理
手順を示すフローチャートである。
手順を示すフローチャートである。
【図8】LSIのネット接続情報の一例を示す回路図で
ある。
ある。
【図9】図1に示したフルスキャン化処理部によって図
8に示した回路から生成される第2のネット接続情報よ
り得られる回路構成を示す回路図である。
8に示した回路から生成される第2のネット接続情報よ
り得られる回路構成を示す回路図である。
【図10】図1に示した故障シミュレーション部から出
力される非検出故障定義情報によって示される回路の故
障位置の一例を示す回路図である。
力される非検出故障定義情報によって示される回路の故
障位置の一例を示す回路図である。
【図11】図1に示した故障検出ネットブロック抽出部
によって図10に示した故障を検出するために必要な部
分回路の構成を示す回路図である。
によって図10に示した故障を検出するために必要な部
分回路の構成を示す回路図である。
【図12】図1に示したスキャンフリップフロップ縮退
部によって図11に示した部分回路以外のスキャンフリ
ップフロップを縮退する様子を示す回路図である。
部によって図11に示した部分回路以外のスキャンフリ
ップフロップを縮退する様子を示す回路図である。
【図13】図1に示したスキャンフリップフロップ縮退
部によって図11に示した部分回路以外のスキャンフリ
ップフロップの縮退後の様子を示す回路図である。
部によって図11に示した部分回路以外のスキャンフリ
ップフロップの縮退後の様子を示す回路図である。
【図14】図1に示した故障検出ネット切り出し部によ
って図13に示した回路から故障検出に必要な部分回路
を切り出した様子を示す回路図である。
って図13に示した回路から故障検出に必要な部分回路
を切り出した様子を示す回路図である。
【図15】図1に示したATGモデル化処理部によって
図14に示した回路から生成されたATGモデルの構成
を示す回路図である。
図14に示した回路から生成されたATGモデルの構成
を示す回路図である。
【図16】図1に示したATG処理部によって図15に
示した回路から生成されたテストパターンの生成過程を
示す回路図である。
示した回路から生成されたテストパターンの生成過程を
示す回路図である。
3、4、51、52 外部端子 14 ORブロック 17 NANDブロック 19 フリップフロップ 21、22、23 スキャンフリップフロップ 101 フルスキャン化処理部 102 故障定義処理部 103 故障シミュレーション部 104 故障検出ネットブロック抽出部 105 スキャンフリップフロップ縮退部 106 故障検出ネット切り出し部 107 ATGモデル化処理部 108 ATG処理部 109 スキャンパターン変換部 110 パターン結合処理部
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成11年10月1日(1999.10.
1)
1)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0016
【補正方法】変更
【補正内容】
【0016】
【課題を解決するための手段】上記目的を達成するため
本発明のスキャンテスト方法は、機能試験パターンで発
見できない故障を検出するために必要な経路を抽出する
故障検出ネットブロック抽出工程を少なくとも有する、
LSIのテスト容易化設計に用いるスキャンテスト方法
であって、前記故障検出ネットブロック抽出工程は、前
記機能試験用パターンで発見できない故障位置を経路に
含む、該故障位置よりも入力側にあるフリップフロップ
または外部入力端子までの経路上の第1の入力側回路素
子及び第1の入力側回路接続をそれぞれ抽出し、前記故
障位置よりも出力側にあるフリップフロップまたは外部
出力端子までの経路上の出力側回路素子及び出力側回路
接続と、該出力側回路素子の該故障位置と接続されない
入力端子の入力側にあるフリップフロップまたは外部入
力端子までの経路上の第2の入力側回路素子及び第2の
入力側回路接続とをそれぞれ抽出する工程であることを
特徴とする方法であり、前記故障検出ネットブロック抽
出工程で抽出された経路を切り出す故障検出ネット切り
出し工程と、前記故障検出ネット切り出し工程で切り出
された回路から組合せ回路のみを抽出し、前記故障検出
ネット切り出し工程で切り出された回路内のフリップフ
リップの入力端子及び出力端子を仮の外部端子に変換す
るATGモデル化処理工程と、前記ATGモデル化処理
工程で作成されたATGモデルに基づいてテストパター
ンを生成するATG処理工程と、をさらに有する方法で
ある。
本発明のスキャンテスト方法は、機能試験パターンで発
見できない故障を検出するために必要な経路を抽出する
故障検出ネットブロック抽出工程を少なくとも有する、
LSIのテスト容易化設計に用いるスキャンテスト方法
であって、前記故障検出ネットブロック抽出工程は、前
記機能試験用パターンで発見できない故障位置を経路に
含む、該故障位置よりも入力側にあるフリップフロップ
または外部入力端子までの経路上の第1の入力側回路素
子及び第1の入力側回路接続をそれぞれ抽出し、前記故
障位置よりも出力側にあるフリップフロップまたは外部
出力端子までの経路上の出力側回路素子及び出力側回路
接続と、該出力側回路素子の該故障位置と接続されない
入力端子の入力側にあるフリップフロップまたは外部入
力端子までの経路上の第2の入力側回路素子及び第2の
入力側回路接続とをそれぞれ抽出する工程であることを
特徴とする方法であり、前記故障検出ネットブロック抽
出工程で抽出された経路を切り出す故障検出ネット切り
出し工程と、前記故障検出ネット切り出し工程で切り出
された回路から組合せ回路のみを抽出し、前記故障検出
ネット切り出し工程で切り出された回路内のフリップフ
リップの入力端子及び出力端子を仮の外部端子に変換す
るATGモデル化処理工程と、前記ATGモデル化処理
工程で作成されたATGモデルに基づいてテストパター
ンを生成するATG処理工程と、をさらに有する方法で
ある。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正内容】
【0017】このとき、前記故障検出ネットブロック抽
出工程は、テスト容易化設計対象であるLSIの回路中
の記憶素子であるフリップフロップの全てをそれぞれテ
スト用の回路を付加してなるスキャンフリップフロップ
に置き換えるフルスキャン化工程の後に行ってもよい。
出工程は、テスト容易化設計対象であるLSIの回路中
の記憶素子であるフリップフロップの全てをそれぞれテ
スト用の回路を付加してなるスキャンフリップフロップ
に置き換えるフルスキャン化工程の後に行ってもよい。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0018
【補正方法】変更
【補正内容】
【0018】一方、本発明のスキャンテスト装置は、機
能試験パターンで発見できない故障を検出するために必
要な経路を抽出する故障検出ネットブロック抽出部を少
なくとも有する、LSIのテスト容易化設計に用いられ
るスキャンテスト装置であって、前記故障検出ネットブ
ロック抽出部は、前記機能試験用パターンで発見できな
い故障位置を経路に含む、該故障位置よりも入力側にあ
るフリップフロップまたは外部入力端子までの経路上の
第1の入力側回路素子及び第1の入力側回路接続をそれ
ぞれ抽出し、前記故障位置よりも出力側にあるフリップ
フロップまたは外部出力端子までの経路上の出力側回路
素子及び出力側回路接続と、該出力側回路素子の該故障
位置と接続されない入力端子の入力側にあるフリップフ
ロップまたは外部入力端子までの経路上の第2の入力側
回路素子及び第2の入力側回路接続とをそれぞれ抽出す
ることを特徴とする構成であり、前記故障検出ネットブ
ロック抽出部で抽出された経路を切り出す故障検出ネッ
ト切り出し部と、前記故障検出ネット切り出し部で切り
出された回路から組合せ回路のみを抽出し、前記故障検
出ネット切り出し部で切り出された回路内のフリップフ
リップの入力端子及び出力端子を仮の外部端子に変換す
るATGモデル化処理部と、前記ATGモデル化処理部
で作成されたATGモデルに基づいてテストパターンを
生成するATG処理部と、をさらに有する構成である。
能試験パターンで発見できない故障を検出するために必
要な経路を抽出する故障検出ネットブロック抽出部を少
なくとも有する、LSIのテスト容易化設計に用いられ
るスキャンテスト装置であって、前記故障検出ネットブ
ロック抽出部は、前記機能試験用パターンで発見できな
い故障位置を経路に含む、該故障位置よりも入力側にあ
るフリップフロップまたは外部入力端子までの経路上の
第1の入力側回路素子及び第1の入力側回路接続をそれ
ぞれ抽出し、前記故障位置よりも出力側にあるフリップ
フロップまたは外部出力端子までの経路上の出力側回路
素子及び出力側回路接続と、該出力側回路素子の該故障
位置と接続されない入力端子の入力側にあるフリップフ
ロップまたは外部入力端子までの経路上の第2の入力側
回路素子及び第2の入力側回路接続とをそれぞれ抽出す
ることを特徴とする構成であり、前記故障検出ネットブ
ロック抽出部で抽出された経路を切り出す故障検出ネッ
ト切り出し部と、前記故障検出ネット切り出し部で切り
出された回路から組合せ回路のみを抽出し、前記故障検
出ネット切り出し部で切り出された回路内のフリップフ
リップの入力端子及び出力端子を仮の外部端子に変換す
るATGモデル化処理部と、前記ATGモデル化処理部
で作成されたATGモデルに基づいてテストパターンを
生成するATG処理部と、をさらに有する構成である。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0019
【補正方法】変更
【補正内容】
【0019】このとき、テスト容易化設計対象であるL
SI回路中の記憶素子であるフリップフロップの全て
を、それぞれテスト用の回路を付加してなるスキャンフ
リップフロップに置き換えるフルスキャン化処理部を備
え、前記故障検出ネットブロック抽出部は、前記フルス
キャン化処理部の処理結果である接続情報から前記機能
試験パターンで発見できない故障を検出するために必要
な経路を抽出してもよい。
SI回路中の記憶素子であるフリップフロップの全て
を、それぞれテスト用の回路を付加してなるスキャンフ
リップフロップに置き換えるフルスキャン化処理部を備
え、前記故障検出ネットブロック抽出部は、前記フルス
キャン化処理部の処理結果である接続情報から前記機能
試験パターンで発見できない故障を検出するために必要
な経路を抽出してもよい。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0021
【補正方法】変更
【補正内容】
【0021】また、故障検出ネット切り出し工程によっ
てスキャンフリップフロップ縮退工程で生成された回路
から故障検出ネットブロック抽出工程で抽出された経路
を切り出し、ATGモデル化処理工程によって故障検出
ネット切り出し工程で切り出された回路から組合わせ回
路のみを抽出してATGモデルを生成し、ATGモデル
に基づいてテストパターンを生成することで、機能試験
用パターンで発見できない故障を検出するためのテスト
パターンを生成するために必要な最小限の経路が切り出
され、切り出された回路に基づいてATGモデルが作成
され、ATGモデルからATGパターンが生成されるた
め、スキャンイン及びスキャンアウト操作におけるクロ
ックパターン数を減らすことができる。
てスキャンフリップフロップ縮退工程で生成された回路
から故障検出ネットブロック抽出工程で抽出された経路
を切り出し、ATGモデル化処理工程によって故障検出
ネット切り出し工程で切り出された回路から組合わせ回
路のみを抽出してATGモデルを生成し、ATGモデル
に基づいてテストパターンを生成することで、機能試験
用パターンで発見できない故障を検出するためのテスト
パターンを生成するために必要な最小限の経路が切り出
され、切り出された回路に基づいてATGモデルが作成
され、ATGモデルからATGパターンが生成されるた
め、スキャンイン及びスキャンアウト操作におけるクロ
ックパターン数を減らすことができる。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0175
【補正方法】変更
【補正内容】
【0175】また、故障検出ネット切り出し工程によっ
てスキャンフリップフロップ縮退工程で生成された回路
から故障検出ネットブロック抽出工程で抽出された経路
を切り出し、ATGモデル化処理工程によって故障検出
ネット切り出し工程で切り出された回路から組合わせ回
路のみを抽出してATGモデルを生成し、ATGモデル
に基づいてテストパターンを生成することで、機能試験
用パターンで発見できない故障を検出するためのテスト
パターンを生成するために必要な最小限の経路が切り出
され、切り出された回路に基づいてATGモデルが作成
され、ATGモデルからATGパターンが生成されるた
め、スキャンイン及びスキャンアウト操作におけるクロ
ックパターン数を減らすことが可能になり、テストパタ
ーン数を減らすことができる。
てスキャンフリップフロップ縮退工程で生成された回路
から故障検出ネットブロック抽出工程で抽出された経路
を切り出し、ATGモデル化処理工程によって故障検出
ネット切り出し工程で切り出された回路から組合わせ回
路のみを抽出してATGモデルを生成し、ATGモデル
に基づいてテストパターンを生成することで、機能試験
用パターンで発見できない故障を検出するためのテスト
パターンを生成するために必要な最小限の経路が切り出
され、切り出された回路に基づいてATGモデルが作成
され、ATGモデルからATGパターンが生成されるた
め、スキャンイン及びスキャンアウト操作におけるクロ
ックパターン数を減らすことが可能になり、テストパタ
ーン数を減らすことができる。
【手続補正8】
【補正対象書類名】図面
【補正対象項目名】図14
【補正方法】変更
【補正内容】
【図14】
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 2G032 AA01 AA04 AA07 AB01 AC08 AC10 AG01 AG07 AK11 AL03 5B046 AA08 BA09 JA04 9A001 BZ05 HZ32 LL05
Claims (6)
- 【請求項1】 目標とする故障検出率を達成するための
テスト用信号パターンを生成するATGを備え、該AT
Gによって生成されたテストパターンに対する出力結果
から被検査対象であるLSIの良品・不良品の分別を行
うスキャンテスト方法であって、 前記LSIの回路中の記憶素子である全てのフリップフ
ロップを、それぞれテスト用の回路を付加して成るスキ
ャンフリップフロップに置き換えるフルスキャン化工程
と、 前記LSIの回路の論理が正しいか否かを検査するため
の機能試験用パターンで発見できない故障を抽出するた
めに故障シミュレーションを行う故障シミュレーション
工程と、 前記故障シミュレーション工程の結果から、前記機能試
験用パターンで発見できない故障を検出するために必要
な経路を抽出する故障検出ネットブロック抽出工程と、 前記フルスキャン化工程によって生成された前記スキャ
ンフリップフロップを含む回路のうち、前記故障検出ネ
ットブロック抽出工程で抽出された経路上にあるスキャ
ンフリップフロップを除く他のスキャンフリップフロッ
プを元のフリップフロップに置き換えるスキャンフリッ
プフロップ縮退工程と、を有し、 前記スキャンフリップフロップ縮退工程の結果に基づい
て前記LSIを設計し、該LSIに対応する前記テスト
パターンを生成するスキャンテスト方法。 - 【請求項2】 前記スキャンフリップフロップ縮退工程
で生成された回路から前記故障検出ネットブロック抽出
工程で抽出された経路を切り出す故障検出ネット切り出
し工程と、 前記故障検出ネット切り出し工程で切り出された回路か
ら組合わせ回路のみを抽出し、前記故障検出ネット切り
出し工程で切り出された回路内のスキャンフリップフロ
ップの入力端子及び出力端子を仮の外部端子に変換する
ATGモデル化処理工程と、 前記ATGモデル化処理工程で作成されたATGモデル
に基づいてテストパターンを生成するATG処理工程
と、を有する請求項1記載のスキャンテスト方法。 - 【請求項3】 前記故障検出ネットブロック抽出工程
は、 前記機能試験用パターンで発見できない故障位置を経路
に含む、該故障位置よりも入力側にあるスキャンフリッ
プフロップまたは外部入力端子までの経路上の回路素子
及び回路接続をそれぞれ抽出し、 該故障位置よりも出力側にあるスキャンフリップフロッ
プまたは外部出力端子までの経路上の回路素子及び回路
接続と、該故障位置と接続されない該回路素子の他の入
力端子の入力側にあるスキャンフリップフロップまたは
外部入力端子までの経路上の回路素子及び回路接続とを
それぞれ抽出する請求項1または2記載のスキャンテス
ト方法。 - 【請求項4】 目標とする故障検出率を達成するための
テスト用信号パターンを生成するATGを備え、該AT
Gによって生成されたテストパターンに対する出力結果
から被検査対象であるLSIの良品・不良品の分別を行
うためのスキャンテスト装置であって、 前記LSIの回路中の記憶素子である全てのフリップフ
ロップを、それぞれテスト用の回路を付加して成るスキ
ャンフリップフロップに置き換えるフルスキャン化部
と、 前記LSIの回路の論理が正しいか否かを検査するため
の機能試験用パターンで発見できない故障を抽出するた
めに故障シミュレーションを行う故障シミュレーション
部と、 前記故障シミュレーションの結果から、前記機能試験用
パターンで発見できない故障を検出するために必要な経
路を抽出する故障検出ネットブロック抽出部と、 前記フルスキャン化部によって生成された前記スキャン
フリップフロップを含む回路のうち、前記故障検出ネッ
トブロック抽出部で抽出された経路上にあるスキャンフ
リップフロップを除く他のスキャンフリップフロップを
元のフリップフロップに置き換えるスキャンフリップフ
ロップ縮退部と、を有し、 前記LSIは前記スキャンフリップフロップ縮退部の処
理結果に基づいて設計され、該LSIに対応する前記テ
ストパターンを生成するためのスキャンテスト装置。 - 【請求項5】 前記スキャンフリップフロップ縮退部で
生成された回路から前記故障検出ネットブロック抽出部
で抽出された経路を切り出す故障検出ネット切り出し部
と、 前記故障検出ネット切り出し部で切り出された回路から
組合わせ回路のみを抽出し、前記故障検出ネット切り出
し部で切り出された回路内のスキャンフリップフロップ
の入力端子及び出力端子を仮の外部端子に変換するAT
Gモデル化処理部と、 前記ATGモデル化処理部で作成されたATGモデルに
基づいてテストパターンを生成するATG処理部と、を
有する請求項4記載のスキャンテスト装置。 - 【請求項6】 前記故障検出ネットブロック抽出部は、 前記機能試験用パターンで発見できない故障位置を経路
に含む、該故障位置よりも入力側にあるスキャンフリッ
プフロップまたは外部入力端子までの経路上の回路素子
及び回路接続をそれぞれ抽出し、 該故障位置よりも出力側にあるスキャンフリップフロッ
プまたは外部出力端子までの経路上の回路素子及び回路
接続と、該故障位置と接続されない該回路素子の他の入
力端子の入力側にあるスキャンフリップフロップまたは
外部入力端子までの経路上の回路素子及び回路接続とを
それぞれ抽出する請求項4または5記載のスキャンテス
ト装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10314831A JP3112892B2 (ja) | 1998-11-05 | 1998-11-05 | スキャンテスト方法及びスキャンテスト装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10314831A JP3112892B2 (ja) | 1998-11-05 | 1998-11-05 | スキャンテスト方法及びスキャンテスト装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000148809A true JP2000148809A (ja) | 2000-05-30 |
JP3112892B2 JP3112892B2 (ja) | 2000-11-27 |
Family
ID=18058131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10314831A Expired - Fee Related JP3112892B2 (ja) | 1998-11-05 | 1998-11-05 | スキャンテスト方法及びスキャンテスト装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3112892B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002312410A (ja) * | 2001-04-13 | 2002-10-25 | Fujitsu Ltd | 論理設計された集積回路に対するレイアウト設計及びタイミング調整の方法及び装置並びにこの方法を実行するためのプログラム及びこのプログラムが記録されたコンピュータ読み取り可能な記録媒体 |
-
1998
- 1998-11-05 JP JP10314831A patent/JP3112892B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002312410A (ja) * | 2001-04-13 | 2002-10-25 | Fujitsu Ltd | 論理設計された集積回路に対するレイアウト設計及びタイミング調整の方法及び装置並びにこの方法を実行するためのプログラム及びこのプログラムが記録されたコンピュータ読み取り可能な記録媒体 |
US6687890B2 (en) | 2001-04-13 | 2004-02-03 | Fujitsu Limited | Method for layout design and timing adjustment of logically designed integrated circuit |
JP4512934B2 (ja) * | 2001-04-13 | 2010-07-28 | 富士通セミコンダクター株式会社 | 論理設計された集積回路に対するレイアウト設計及びタイミング調整の方法及び装置並びにこの方法を実行するためのプログラム及びこのプログラムが記録されたコンピュータ読み取り可能な記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP3112892B2 (ja) | 2000-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7308660B2 (en) | Calculation system of fault coverage and calculation method of the same | |
Pomeranz et al. | Generation of functional broadside tests for transition faults | |
EP0727744B1 (en) | Apparatus for generating test pattern for sequential logic circuit of integrated circuit and method thereof | |
US20060005094A1 (en) | Test pattern generating apparatus, method for automatically generating test patterns and computer program product for executing an application for a test pattern generating apparatus | |
US5517637A (en) | Method for testing a test architecture within a circuit | |
Ghosh-Dastidar et al. | Adaptive techniques for improving delay fault diagnosis | |
US5719881A (en) | Test pattern generating apparatus and method | |
Wu et al. | An efficient diagnosis-aware ATPG procedure to enhance diagnosis resolution and test compaction | |
JP2007108863A (ja) | 遅延解析装置、遅延解析方法、遅延解析プログラム、および記録媒体 | |
US6789223B2 (en) | Method for optimizing test development for digital circuits | |
US6470468B1 (en) | Test pattern generator, propagation path disconnecting method, and delay fault detecting method | |
JP2655105B2 (ja) | 順序回路の故障箇所推定方法 | |
JP4160656B2 (ja) | プリント回路基板のテスト方法 | |
JP3112892B2 (ja) | スキャンテスト方法及びスキャンテスト装置 | |
JPH1048300A (ja) | 個別テストプログラム作成方式 | |
JP2008527322A (ja) | 回路配置並びにその検査および/または診断方法 | |
JPH03290761A (ja) | 論理回路の設計方法 | |
Corno et al. | Improving topological ATPG with symbolic techniques | |
JP3169930B2 (ja) | テストパタン自動生成装置及びテストパタン自動生成方法 | |
JPH09171056A (ja) | テスト設計方法とその装置、並びにテスト方法とその装置 | |
JPS63140969A (ja) | 試験容易化方式 | |
JPH0777562A (ja) | ショート故障診断データ生成方法 | |
JP2774396B2 (ja) | データ生成装置 | |
JPH10162039A (ja) | 故障シミュレーション装置 | |
JPH02105437A (ja) | 論理集積回路の故障診断方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |