JP2990153B2 - 論理回路のテストパターン圧縮判定装置および圧縮判定方法および該方法を格納した記録媒体 - Google Patents
論理回路のテストパターン圧縮判定装置および圧縮判定方法および該方法を格納した記録媒体Info
- Publication number
- JP2990153B2 JP2990153B2 JP10145734A JP14573498A JP2990153B2 JP 2990153 B2 JP2990153 B2 JP 2990153B2 JP 10145734 A JP10145734 A JP 10145734A JP 14573498 A JP14573498 A JP 14573498A JP 2990153 B2 JP2990153 B2 JP 2990153B2
- Authority
- JP
- Japan
- Prior art keywords
- test pattern
- node
- compression
- terminal
- logic circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【発明の属する技術分野】本発明は論理回路の試験の際
に必要とされるテストパターンを圧縮するための論理回
路のテストパターン圧縮判定装置および圧縮判定方法に
関する。
に必要とされるテストパターンを圧縮するための論理回
路のテストパターン圧縮判定装置および圧縮判定方法に
関する。
【0002】
【従来の技術】LSIの製造時の検査で使用するテスト
パターン作成時にはテストパターンによる故障検出率を
下げずに、テストパターンの量を削減するテストパター
ン圧縮が行われる。テストパターン(圧縮前)のサイズ
は扱う論理回路の大規模化に伴って大きなものとなる。
そして、テストパターン圧縮処理を計算機上で行う時
に、その処理に必要なメモリ量も莫大なものとなる。
パターン作成時にはテストパターンによる故障検出率を
下げずに、テストパターンの量を削減するテストパター
ン圧縮が行われる。テストパターン(圧縮前)のサイズ
は扱う論理回路の大規模化に伴って大きなものとなる。
そして、テストパターン圧縮処理を計算機上で行う時
に、その処理に必要なメモリ量も莫大なものとなる。
【0003】計算機上での消費メモリを増大させない為
に、テストパターンそのものを磁気ディスク等の記憶装
置上に蓄えた上での圧縮処理も可能である。しかし、こ
のような方法では、主記憶上へのアクセスよりも時間が
かかる磁気ディスク等へのアクセスが増加することによ
り、テストパターン圧縮時間(TAT)が増加してしま
う。
に、テストパターンそのものを磁気ディスク等の記憶装
置上に蓄えた上での圧縮処理も可能である。しかし、こ
のような方法では、主記憶上へのアクセスよりも時間が
かかる磁気ディスク等へのアクセスが増加することによ
り、テストパターン圧縮時間(TAT)が増加してしま
う。
【0004】従来の論理回路のテストパターン圧縮装置
システムの一例として特願平09−168219号に提
案されている発明がある。図10は上記発明によるシス
テムで、テストパターンを構成する端子信号をどのよう
に保持しているかを説明するための図である。
システムの一例として特願平09−168219号に提
案されている発明がある。図10は上記発明によるシス
テムで、テストパターンを構成する端子信号をどのよう
に保持しているかを説明するための図である。
【0005】特願平09−168219号に提案された
発明では、端子情報を保持する最小単位は1バイトであ
り、1バイト(図10の901)を論理値記述部と繰り
返し数記述部の2つに分けている。論理値記述部では、
端子の信号の種類を区別し、繰り返し数記述部では、論
理値記述部で保持している種類の信号が何回連続で続い
ているかの記録を行う。保持されている端子の信号が論
理値記述部と繰り返し数記述部の割合は、保持すべき端
子の信号の種類により決定される。例として、論理値記
述部を3ビット、繰り返し数奇述部が5ビットにした場
合、保持可能な端子の信号の種類は23=8となり、繰
り返し数が25=32となる。つまり、同じ信号が32
回続いても、1バイトに保持することが可能となる。図
10に示される例では、端子情報920がワード910
に保持されている。ここでは、2つの連続する1信号
(921,922)が911に格納され、3つの連続す
るどのような信号が与えられてもよいドントケアとされ
るX信号(923,924,925)がバイト912へ
格納され、1つの0信号926がバイト913へ格納さ
れている。このテストパターン保持方法は、同じ種類の
信号値をもつ端子が、繰り返し数記述部で表現できる回
数分だけ続いていることを表現可能である。
発明では、端子情報を保持する最小単位は1バイトであ
り、1バイト(図10の901)を論理値記述部と繰り
返し数記述部の2つに分けている。論理値記述部では、
端子の信号の種類を区別し、繰り返し数記述部では、論
理値記述部で保持している種類の信号が何回連続で続い
ているかの記録を行う。保持されている端子の信号が論
理値記述部と繰り返し数記述部の割合は、保持すべき端
子の信号の種類により決定される。例として、論理値記
述部を3ビット、繰り返し数奇述部が5ビットにした場
合、保持可能な端子の信号の種類は23=8となり、繰
り返し数が25=32となる。つまり、同じ信号が32
回続いても、1バイトに保持することが可能となる。図
10に示される例では、端子情報920がワード910
に保持されている。ここでは、2つの連続する1信号
(921,922)が911に格納され、3つの連続す
るどのような信号が与えられてもよいドントケアとされ
るX信号(923,924,925)がバイト912へ
格納され、1つの0信号926がバイト913へ格納さ
れている。このテストパターン保持方法は、同じ種類の
信号値をもつ端子が、繰り返し数記述部で表現できる回
数分だけ続いていることを表現可能である。
【0006】
【発明が解決しようとする課題】しかし、上述した従来
技術には、次のような問題点がある。
技術には、次のような問題点がある。
【0007】第1の問題点は、テストパターンの状態に
よって、テストパターンの保持に必要なメモリ量が大幅
に増加することである。
よって、テストパターンの保持に必要なメモリ量が大幅
に増加することである。
【0008】その理由は、上記のシステムでは、端子の
信号の種類とその信号を持つ端子が何度連続したかを1
ビットで保持しているため、端子の信号が連続しない場
合においては、1ビットあたりに保持できる端子情報の
数が少なくなるためである。最悪値では、1端子の情報
の保持あたり、1ビット必要となる。
信号の種類とその信号を持つ端子が何度連続したかを1
ビットで保持しているため、端子の信号が連続しない場
合においては、1ビットあたりに保持できる端子情報の
数が少なくなるためである。最悪値では、1端子の情報
の保持あたり、1ビット必要となる。
【0009】テストパターン生成システムにより生成さ
れたテストパターンは、テストパターン全体の平均で約
90%をX値とすることができるが、テストパターンの
圧縮が行われるにつれ、X値の割合が減少し、X値以外
の値(0,1などの値)が平均で約半数を占めるように
なる。X値以外の信号値を0と1と仮定すれば、確率的
にこのX値以外の信号の約50%程が、1回も連続せず
に別の信号に変化する。また、全体的にも隣り合う端子
が同じ信号値をもつ確率も少ない。テストパターンがこ
の状態のとき、特願平09−168219号に提案され
た方法では、メモリ量が大幅に増加する可能性がある。
れたテストパターンは、テストパターン全体の平均で約
90%をX値とすることができるが、テストパターンの
圧縮が行われるにつれ、X値の割合が減少し、X値以外
の値(0,1などの値)が平均で約半数を占めるように
なる。X値以外の信号値を0と1と仮定すれば、確率的
にこのX値以外の信号の約50%程が、1回も連続せず
に別の信号に変化する。また、全体的にも隣り合う端子
が同じ信号値をもつ確率も少ない。テストパターンがこ
の状態のとき、特願平09−168219号に提案され
た方法では、メモリ量が大幅に増加する可能性がある。
【0010】第2の問題点は、特願平09−16821
9号に提案された方法では、テストパターンが圧縮でき
るかの判定時間が遅くなるということである。
9号に提案された方法では、テストパターンが圧縮でき
るかの判定時間が遅くなるということである。
【0011】その理由は、テストパターンが連続した値
の並びでない場合、それぞれの値に対して比較処理を行
う必要があるからである。
の並びでない場合、それぞれの値に対して比較処理を行
う必要があるからである。
【0012】本発明は、上述したような従来の技術が有
する問題点に鑑みてなされたものであって、テストパタ
ーンの保持に必要なメモリ量を少なくし、テストパター
ンが圧縮できるかの判定を迅速に行うことのできる論理
回路のテストパターン圧縮判定装置および圧縮判定方法
を実現することを目的とする。
する問題点に鑑みてなされたものであって、テストパタ
ーンの保持に必要なメモリ量を少なくし、テストパター
ンが圧縮できるかの判定を迅速に行うことのできる論理
回路のテストパターン圧縮判定装置および圧縮判定方法
を実現することを目的とする。
【0013】
【課題を解決するための手段】本発明の論理回路のテス
トパターン圧縮判定方法は、論理回路の試験の際に必要
とされるテストパターンを圧縮するための論理回路のテ
ストパターン圧縮判定方法であって、前記テストパター
ンを、該テストパターンを構成する端子情報を保持する
複数ビットがワード単位で収容されたnodeによる木
構造の形態とし、木構造の最下位層に位置するnode
を予め定められた表に基づいてテストパターンを構成す
る端子情報を保持する複数ビットをワード単位で収容す
ることとし、また、最下位層以外のnodeは直接端子
情報を保持することなく子孫のnodeの管理を行うこ
ととし、前記木構造を構成する各nodeについて、そ
の子孫により保持されている端子情報の値が全てドント
ケア値を示すX値ならば、そのnodeを削除すること
を特徴とする。
トパターン圧縮判定方法は、論理回路の試験の際に必要
とされるテストパターンを圧縮するための論理回路のテ
ストパターン圧縮判定方法であって、前記テストパター
ンを、該テストパターンを構成する端子情報を保持する
複数ビットがワード単位で収容されたnodeによる木
構造の形態とし、木構造の最下位層に位置するnode
を予め定められた表に基づいてテストパターンを構成す
る端子情報を保持する複数ビットをワード単位で収容す
ることとし、また、最下位層以外のnodeは直接端子
情報を保持することなく子孫のnodeの管理を行うこ
ととし、前記木構造を構成する各nodeについて、そ
の子孫により保持されている端子情報の値が全てドント
ケア値を示すX値ならば、そのnodeを削除すること
を特徴とする。
【0014】この場合、複数のテストパターン同士の圧
縮可能性の判定を、対応するnode同士を比較し、い
ずれか一方または両方のnodeが存在しない場合には
そのnode以下に保持されている端子の信号について
圧縮可能であると判定することとしてもよい。
縮可能性の判定を、対応するnode同士を比較し、い
ずれか一方または両方のnodeが存在しない場合には
そのnode以下に保持されている端子の信号について
圧縮可能であると判定することとしてもよい。
【0015】さらに、対応するnode同士を比較し、
木構造の最下位層に位置するnodeが存在することが
確認された場合、ワード単位の演算により一度にテスト
パターンの複数の端子情報を比較することにより圧縮可
能性の判定を行うこととしてもよい。
木構造の最下位層に位置するnodeが存在することが
確認された場合、ワード単位の演算により一度にテスト
パターンの複数の端子情報を比較することにより圧縮可
能性の判定を行うこととしてもよい。
【0016】本発明の情報記録媒体は、上記のいずれか
に記載の論理回路のテストパターン圧縮判定方法をコン
ピュータに実行させるためのプログラムが格納されてい
ることを特徴とする。
に記載の論理回路のテストパターン圧縮判定方法をコン
ピュータに実行させるためのプログラムが格納されてい
ることを特徴とする。
【0017】本発明の論理回路のテストパターン圧縮判
定装置は、論理回路の試験の際に必要とされるテストパ
ターンを圧縮するための論理回路のテストパターン圧縮
判定装置であって、入力された前記テストパターンを、
該テストパターンを構成する端子情報を保持する複数ビ
ットがワード単位で収容されたnodeによる木構造の
形態とし、木構造の最下位層に位置するnodeを予め
定められた表に基づいてテストパターンを構成する端子
情報を保持する複数ビットをワード単位で収容すること
とし、また、最下位層以外のnodeは直接端子情報を
保持することなく子孫のnodeの管理を行うことと
し、前記木構造を構成する各nodeについて、その子
孫により保持されている端子情報の値が全てドントケア
値を示すX値ならば、そのnodeを削除するパターン
入力手段を有することを特徴とする。
定装置は、論理回路の試験の際に必要とされるテストパ
ターンを圧縮するための論理回路のテストパターン圧縮
判定装置であって、入力された前記テストパターンを、
該テストパターンを構成する端子情報を保持する複数ビ
ットがワード単位で収容されたnodeによる木構造の
形態とし、木構造の最下位層に位置するnodeを予め
定められた表に基づいてテストパターンを構成する端子
情報を保持する複数ビットをワード単位で収容すること
とし、また、最下位層以外のnodeは直接端子情報を
保持することなく子孫のnodeの管理を行うことと
し、前記木構造を構成する各nodeについて、その子
孫により保持されている端子情報の値が全てドントケア
値を示すX値ならば、そのnodeを削除するパターン
入力手段を有することを特徴とする。
【0018】この場合、複数のテストパターン同士の圧
縮可能性の判定を、対応するnode同士を比較し、い
ずれか一方または両方のnodeが存在しない場合には
そのnode以下に保持されている端子の信号について
圧縮可能であると判定するパターン圧縮判定手段を有す
ることとしてもよい。
縮可能性の判定を、対応するnode同士を比較し、い
ずれか一方または両方のnodeが存在しない場合には
そのnode以下に保持されている端子の信号について
圧縮可能であると判定するパターン圧縮判定手段を有す
ることとしてもよい。
【0019】さらに、パターン圧縮判定手段は、対応す
るnode同士を比較し、木構造の最下位層に位置する
nodeが存在することが確認された場合、ワード単位
の演算により一度にテストパターンの複数の端子情報を
比較することにより圧縮可能性の判定行うこととしても
よい。
るnode同士を比較し、木構造の最下位層に位置する
nodeが存在することが確認された場合、ワード単位
の演算により一度にテストパターンの複数の端子情報を
比較することにより圧縮可能性の判定行うこととしても
よい。
【0020】「作用」LSIの製造時の検査で使用する
テストパターンを圧縮する際に、高速かつ小さなメモリ
でのパターン圧縮が可能となる構成を提供するものであ
る。
テストパターンを圧縮する際に、高速かつ小さなメモリ
でのパターン圧縮が可能となる構成を提供するものであ
る。
【0021】本実施例において、テストパターンは、図
3,図4に示されるテストパターン保持用構造(以下、
ユニットと呼ぶ)に納められる。
3,図4に示されるテストパターン保持用構造(以下、
ユニットと呼ぶ)に納められる。
【0022】上記のユニットは、大きく分けて、2つの
部分から構成される。1つ目は、テストパターンを構成
する端子情報をビット単位で保持する構造(図4の41
0)である。
部分から構成される。1つ目は、テストパターンを構成
する端子情報をビット単位で保持する構造(図4の41
0)である。
【0023】2つ目はその構造をm(mは自然数)個含
むnode0(図4の410 後述)を葉として持ち、
ある条件を満たせば、条件を満たしたnodeが刈り取
られるという特性を持つ木構造(図3の300)であ
る。nodeを刈り取る条件については、後述する。
むnode0(図4の410 後述)を葉として持ち、
ある条件を満たせば、条件を満たしたnodeが刈り取
られるという特性を持つ木構造(図3の300)であ
る。nodeを刈り取る条件については、後述する。
【0024】入力されたテストパターンの端子の情報
は、ビット毎にnode0(図3の301,図4の41
0)に格納される。
は、ビット毎にnode0(図3の301,図4の41
0)に格納される。
【0025】テストパターンは、その多くの端子情報の
値をX(ドントケア)値にすることができるという傾向
があることがわかっている。上記の木構造では、その特
性を用いて、あるnodeの子孫(descendan
t)であるnode0に格納されている信号が全てX信
号である場合は、「そのnodeを最初から作成しな
い」、又は、「そのnodeを取り去る」ことによっ
て、木構造のnodeの数の削減を行う。これが、上記
の木構造のもつnodeの刈り取り条件である。
値をX(ドントケア)値にすることができるという傾向
があることがわかっている。上記の木構造では、その特
性を用いて、あるnodeの子孫(descendan
t)であるnode0に格納されている信号が全てX信
号である場合は、「そのnodeを最初から作成しな
い」、又は、「そのnodeを取り去る」ことによっ
て、木構造のnodeの数の削減を行う。これが、上記
の木構造のもつnodeの刈り取り条件である。
【0026】上記のように、2つの部分から構成される
テストパターン保持構造の内、前者の特性である「テス
トパターンのビット毎の格納」と、後者の特性である
「X値のみで構成されるnodeの削除」を組み合わせ
ることにより、小メモリでのテストパターン保持を可能
とする。
テストパターン保持構造の内、前者の特性である「テス
トパターンのビット毎の格納」と、後者の特性である
「X値のみで構成されるnodeの削除」を組み合わせ
ることにより、小メモリでのテストパターン保持を可能
とする。
【0027】テストパターン同士の圧縮が可能かという
判定は、圧縮可能性判定を行うそれぞれのテストパター
ンの根(図6の611及び621)の方から行う。その
際、圧縮の可能性を判定する両テストパターン(61
0,620)のそれぞれ対応するnode同士を比較
し、両者の内の一方のnode(612,622)、ま
たは、両方のnode(615,625)が存在しない
場合は、「そのnode以下に保持されている端子の信
号に対しては、圧縮が可能」と判断し、他のnodeの
判定に移ることができる。それは、X信号と他の信号
は、無条件で圧縮可能であるという特性を用いている。
判定は、圧縮可能性判定を行うそれぞれのテストパター
ンの根(図6の611及び621)の方から行う。その
際、圧縮の可能性を判定する両テストパターン(61
0,620)のそれぞれ対応するnode同士を比較
し、両者の内の一方のnode(612,622)、ま
たは、両方のnode(615,625)が存在しない
場合は、「そのnode以下に保持されている端子の信
号に対しては、圧縮が可能」と判断し、他のnodeの
判定に移ることができる。それは、X信号と他の信号
は、無条件で圧縮可能であるという特性を用いている。
【0028】node同士の圧縮可能性判定は、nod
e0が存在する場合は、node0同士の比較になる
が、その際は、テストパターンを構成する端子の信号の
圧縮可能性判定をワード単位でビット毎の論理演算を用
いて行う。上記のテストパターン(610,620)の
圧縮の可能性の判定方法において、「テストパターンを
構成する端子の信号が連続してX値になっている部分
は、端子信号同士の比較を回避」し、「X値が連続しな
い部分では、ワード単位の演算により一度にテストパタ
ーンの複数の端子情報を比較する」という2つの方法を
組み合わせることにより、圧縮可能性の判定を高速に行
うことが可能となる。
e0が存在する場合は、node0同士の比較になる
が、その際は、テストパターンを構成する端子の信号の
圧縮可能性判定をワード単位でビット毎の論理演算を用
いて行う。上記のテストパターン(610,620)の
圧縮の可能性の判定方法において、「テストパターンを
構成する端子の信号が連続してX値になっている部分
は、端子信号同士の比較を回避」し、「X値が連続しな
い部分では、ワード単位の演算により一度にテストパタ
ーンの複数の端子情報を比較する」という2つの方法を
組み合わせることにより、圧縮可能性の判定を高速に行
うことが可能となる。
【0029】上記のように、テストパターンの保持、テ
ストパターンの圧縮可能性判定を行う際に、異なる特性
を持つ2つのデータ構造を組み合わせたテストパターン
保持用データ構造を用いることにより、高速かつ小メモ
リでのパターン圧縮を可能とする。
ストパターンの圧縮可能性判定を行う際に、異なる特性
を持つ2つのデータ構造を組み合わせたテストパターン
保持用データ構造を用いることにより、高速かつ小メモ
リでのパターン圧縮を可能とする。
【0030】
【発明の実施の形態】次に、本発明の実施例について図
面を参照して説明する。
面を参照して説明する。
【0031】第1実施例 図1は本発明の第1の実施例の構成を示すブロック図で
ある。
ある。
【0032】本実施例は、初期テストパターン生成手段
(又は、テストパターンファイル)101と、テストパ
ターン入力手段102と、パターン格納手段103と、
テストパターンの保持用構造(以下、ユニットと呼ぶ)
であり、圧縮ができるかの可能性判定の基準となるテス
トパターンを保持する入力ユニット105と、入力ユニ
ット105が圧縮できるかの判定を行う対象パターン、
及び、圧縮済みのパターンを保持するA個(Aは自然
数)のユニット111と、複数のユニット111を保持
するバッファ109と、入力ユニット105およびバッ
ファ109を格納する記憶装置104と、2つのテスト
パターンの圧縮の可能性判定を行うパターン圧縮判定手
段106と、2つのテストパターンを1つに圧縮するパ
ターン圧縮手段107と、圧縮後のパターン及び圧縮で
きなかった入力ユニット105のテストパターンをバッ
ファ109に格納するバッファ格納手段108と、バッ
ファ109から全てのパターンを出力するパターン出力
手段110から構成されている。
(又は、テストパターンファイル)101と、テストパ
ターン入力手段102と、パターン格納手段103と、
テストパターンの保持用構造(以下、ユニットと呼ぶ)
であり、圧縮ができるかの可能性判定の基準となるテス
トパターンを保持する入力ユニット105と、入力ユニ
ット105が圧縮できるかの判定を行う対象パターン、
及び、圧縮済みのパターンを保持するA個(Aは自然
数)のユニット111と、複数のユニット111を保持
するバッファ109と、入力ユニット105およびバッ
ファ109を格納する記憶装置104と、2つのテスト
パターンの圧縮の可能性判定を行うパターン圧縮判定手
段106と、2つのテストパターンを1つに圧縮するパ
ターン圧縮手段107と、圧縮後のパターン及び圧縮で
きなかった入力ユニット105のテストパターンをバッ
ファ109に格納するバッファ格納手段108と、バッ
ファ109から全てのパターンを出力するパターン出力
手段110から構成されている。
【0033】図13は、初期テストパターン生成手段1
01により生成されたテストパターン、又は、テストパ
ターンファイル納められているテストパターン101の
一例を示す図である。図13に示す例では、各テストパ
ターン1261〜1265のそれぞれには、8つの端子
情報1251〜1258が含まれている。
01により生成されたテストパターン、又は、テストパ
ターンファイル納められているテストパターン101の
一例を示す図である。図13に示す例では、各テストパ
ターン1261〜1265のそれぞれには、8つの端子
情報1251〜1258が含まれている。
【0034】図3,図4のそれぞれは、テストパターン
保持用の構造である、入力ユニット105,ユニット1
11の構成を示す図である。
保持用の構造である、入力ユニット105,ユニット1
11の構成を示す図である。
【0035】入力ユニット105およびユニット111
は、図3に示されるような木構造により構成されてい
る。この木構造の高さをh(hは自然数)とし、あるn
odeの深さをd(dは自然数)とする。ここで、説明
の便宜上、各nodeにlevelという尺度を導入す
る。このlevelの値は、木の高さhからそのnod
eの深さを引いた値である。つまり、木の根は、深さd
が0のとき、そのlevelは”h−d=h−0=h”
となる。また、木の一番深いnodeは、深さがhであ
るから、levelは”h−d=h−h=0”となる。
は、図3に示されるような木構造により構成されてい
る。この木構造の高さをh(hは自然数)とし、あるn
odeの深さをd(dは自然数)とする。ここで、説明
の便宜上、各nodeにlevelという尺度を導入す
る。このlevelの値は、木の高さhからそのnod
eの深さを引いた値である。つまり、木の根は、深さd
が0のとき、そのlevelは”h−d=h−0=h”
となる。また、木の一番深いnodeは、深さがhであ
るから、levelは”h−d=h−h=0”となる。
【0036】levelが0のnode(以下、nod
e0と呼ぶ)には、それぞれt個(tは自然数)の端子
情報を格納する。図3の例では、node304がRO
OT(根)である。そのため、木の高さhは3となる。
また、上記の計算により、node304,303,3
02,301の深さはそれぞれ0,1,2,3となり、
levelはそれぞれ3,2,1,0となる。
e0と呼ぶ)には、それぞれt個(tは自然数)の端子
情報を格納する。図3の例では、node304がRO
OT(根)である。そのため、木の高さhは3となる。
また、上記の計算により、node304,303,3
02,301の深さはそれぞれ0,1,2,3となり、
levelはそれぞれ3,2,1,0となる。
【0037】levelが1以上のnodeは、直接端
子情報を保持しておらず、自分以下のlevelである
子孫のnodeの管理を行うだけある。そのため、le
velが1のnode(以下、node1と呼ぶ)は、
p(pは自然数)本の枝(子)を持っているので、合計
で(t×p)個の端子情報をその子孫に保持しているこ
とになる。
子情報を保持しておらず、自分以下のlevelである
子孫のnodeの管理を行うだけある。そのため、le
velが1のnode(以下、node1と呼ぶ)は、
p(pは自然数)本の枝(子)を持っているので、合計
で(t×p)個の端子情報をその子孫に保持しているこ
とになる。
【0038】levelが2のnode(以下、nod
e2と呼ぶ)は、その子孫として、(t×p×q)個の
端子の情報を保持していることになる(qはnode2
の枝の数を表す自然数)。levelが2以上のnod
eについても、同様の計算ができる。木自体に保持でき
る端子の数は、この計算を用いて算出できる。この木構
造の高さは、一つのテストパターンが保持すべき端子の
数が、木自体に保持できる端子の数より少なくなるよう
に決定する。
e2と呼ぶ)は、その子孫として、(t×p×q)個の
端子の情報を保持していることになる(qはnode2
の枝の数を表す自然数)。levelが2以上のnod
eについても、同様の計算ができる。木自体に保持でき
る端子の数は、この計算を用いて算出できる。この木構
造の高さは、一つのテストパターンが保持すべき端子の
数が、木自体に保持できる端子の数より少なくなるよう
に決定する。
【0039】各nodeは、上記の式で計算される数の
端子情報を保持している。しかし、保持する端子の信号
が全てX値であるnodeは、存在しない。それは、こ
の木構造が「子孫が保持する端子の信号が全てX信号で
あるnodeは削除する。」(以下、「nodeの刈り
取り条件」と呼ぶ。)という条件を持っているからであ
る。
端子情報を保持している。しかし、保持する端子の信号
が全てX値であるnodeは、存在しない。それは、こ
の木構造が「子孫が保持する端子の信号が全てX信号で
あるnodeは削除する。」(以下、「nodeの刈り
取り条件」と呼ぶ。)という条件を持っているからであ
る。
【0040】図4は端子情報を直接保持するnode0
の構成を示す図である。
の構成を示す図である。
【0041】テストパターンの端子情報は、1ワード4
21,422,…をnビット(nは自然数)とするワー
ドα,β…をL本(Lは自然数)含む構造(以下、no
deCoreと呼ぶ)に保持する。
21,422,…をnビット(nは自然数)とするワー
ドα,β…をL本(Lは自然数)含む構造(以下、no
deCoreと呼ぶ)に保持する。
【0042】node0は前述のnodeCoreをm
本(mは自然数)含む構成となっている。そのため、n
ode0構造一つにつき、最大(n×m)個の端子信号
を保持できる。
本(mは自然数)含む構成となっている。そのため、n
ode0構造一つにつき、最大(n×m)個の端子信号
を保持できる。
【0043】上記のnode0にも、上記「nodeの
刈り取り条件」が適用される。そのため、保持する端子
信号が全てX値であるnode0は存在しない。
刈り取り条件」が適用される。そのため、保持する端子
信号が全てX値であるnode0は存在しない。
【0044】図5は、nodeCoreへのテストパタ
ーンの格納状態を示す図である。図5では、端子信号の
種類が4種類であるテストパターンの端子情報の保存を
例としてあげている。組み合わせ回路500の任意の入
力端子551の値は、端子信号の保持の実施例502の
表に基づいて変換され、ワードα格納部510のiビッ
ト目(iは自然数)とワードβ格納部520のiビット
目に保存される。nodeCore530の左端の例で
は、組み合わせ回路500の入力端子551に割り当て
られている論理値1を保存するために、ワードα格納部
510の格納ビット511に1を、ワードβ格納部52
0の格納ビット521に0を保存している。
ーンの格納状態を示す図である。図5では、端子信号の
種類が4種類であるテストパターンの端子情報の保存を
例としてあげている。組み合わせ回路500の任意の入
力端子551の値は、端子信号の保持の実施例502の
表に基づいて変換され、ワードα格納部510のiビッ
ト目(iは自然数)とワードβ格納部520のiビット
目に保存される。nodeCore530の左端の例で
は、組み合わせ回路500の入力端子551に割り当て
られている論理値1を保存するために、ワードα格納部
510の格納ビット511に1を、ワードβ格納部52
0の格納ビット521に0を保存している。
【0045】上記のように、nodeCore420を
構成するL本のワード421,422,…のそれぞれに
対応する箇所のビットを用いて、2L種類以下の種類の
パターンの保持を可能としているため、nodeCor
e(420)を構成するのに必要なワードの本数Lは、
端子の信号の種類の数によって決定する。
構成するL本のワード421,422,…のそれぞれに
対応する箇所のビットを用いて、2L種類以下の種類の
パターンの保持を可能としているため、nodeCor
e(420)を構成するのに必要なワードの本数Lは、
端子の信号の種類の数によって決定する。
【0046】次に、図1に示されるバッファ109の構
成について説明する。
成について説明する。
【0047】バッファ109は、圧縮済みのテストパタ
ーンを保持する、A個(Aは自然数)のユニット111
から構成される。
ーンを保持する、A個(Aは自然数)のユニット111
から構成される。
【0048】次に、本実施例の動作について説明する。
【0049】まず、図1及び図2のフローチャートを参
照して本実施例の全体の動作について説明する。
照して本実施例の全体の動作について説明する。
【0050】動作が開始されると、入力テストパターン
が存在するかの確認が行われ(ステップ201)、入力
テストパターンが存在しないことが確認された場合、比
較対象テストパターンを出力して(ステップ212)、
終了とする。
が存在するかの確認が行われ(ステップ201)、入力
テストパターンが存在しないことが確認された場合、比
較対象テストパターンを出力して(ステップ212)、
終了とする。
【0051】ステップ201にて入力テストパターンが
存在することが確認された場合には、パターン入力手段
102からテストパターンを1つ入力し(ステップ20
2)、パターン格納手段103によって、記憶装置10
4内の入力ユニット105へ格納する(ステップ20
3)。
存在することが確認された場合には、パターン入力手段
102からテストパターンを1つ入力し(ステップ20
2)、パターン格納手段103によって、記憶装置10
4内の入力ユニット105へ格納する(ステップ20
3)。
【0052】続いて、バッファ109中にテストパター
ンが存在しているかが確認され(ステップ204)、一
つも保持されていなければ、バッファ格納手段108を
用いてバッファ109へ入力ユニット105に保持され
ているテストパターンを格納して(ステップ211)、
処理をステップ201に戻す。
ンが存在しているかが確認され(ステップ204)、一
つも保持されていなければ、バッファ格納手段108を
用いてバッファ109へ入力ユニット105に保持され
ているテストパターンを格納して(ステップ211)、
処理をステップ201に戻す。
【0053】バッファ109中にテストパターンが存在
することが確認された場合には、入力ユニット105に
保持されているテストパターンとバッファ109中に保
持されているテストパターンとが圧縮(併合)可能かを
パターン圧縮判定手段106により判定する(ステップ
205)。続くステップ209ではステップ205にお
ける判定結果が確認され、「圧縮が可能ではない」とい
う判定である場合には、バッファ109中に圧縮可能で
あるかを判定していないパターンが存在するかを確認す
る(ステップ210)。ここで、判定していないパター
ンが存在する場合には処理をステップ205に戻し、判
定していないパターンが存在しない場合にはバッファ格
納手段108を用いてバッファ109へ入力ユニット1
05に保持されているテストパターンを格納して(ステ
ップ211)、処理をステップ201に戻す。これらの
ステップ205,209及び210における動作をまと
めると、判定により「圧縮が可能」という判定がでる
か、入力ユニット105に保持されているテストパター
ンとの圧縮可能性判定を行っていないテストパターンが
バッファ109中になくなるまで、この判定を繰り返す
こととなる。
することが確認された場合には、入力ユニット105に
保持されているテストパターンとバッファ109中に保
持されているテストパターンとが圧縮(併合)可能かを
パターン圧縮判定手段106により判定する(ステップ
205)。続くステップ209ではステップ205にお
ける判定結果が確認され、「圧縮が可能ではない」とい
う判定である場合には、バッファ109中に圧縮可能で
あるかを判定していないパターンが存在するかを確認す
る(ステップ210)。ここで、判定していないパター
ンが存在する場合には処理をステップ205に戻し、判
定していないパターンが存在しない場合にはバッファ格
納手段108を用いてバッファ109へ入力ユニット1
05に保持されているテストパターンを格納して(ステ
ップ211)、処理をステップ201に戻す。これらの
ステップ205,209及び210における動作をまと
めると、判定により「圧縮が可能」という判定がでる
か、入力ユニット105に保持されているテストパター
ンとの圧縮可能性判定を行っていないテストパターンが
バッファ109中になくなるまで、この判定を繰り返す
こととなる。
【0054】ステップ209において、パターン圧縮判
定手段106により入力ユニット105とバッファ10
9中の所定のユニットに保持されているテストパターン
の圧縮が可能であると判定された場合には、圧縮可能と
判定されたテストパターンをバッファ109より取り出
し(ステップ206)、パターン圧縮手段107により
一つのパターンに圧縮(併合)し(ステップ207)、
バッファ格納手段108により、バッファ109に格納
して(ステップ208)処理をステップ201に戻す。
定手段106により入力ユニット105とバッファ10
9中の所定のユニットに保持されているテストパターン
の圧縮が可能であると判定された場合には、圧縮可能と
判定されたテストパターンをバッファ109より取り出
し(ステップ206)、パターン圧縮手段107により
一つのパターンに圧縮(併合)し(ステップ207)、
バッファ格納手段108により、バッファ109に格納
して(ステップ208)処理をステップ201に戻す。
【0055】ステップ209において、入力ユニット1
05に保持されているテストパターンとバッファ109
中のどのユニットに保持されているテストパターンとも
圧縮(併合)できないと判定された場合、バッファ格納
手段108を用いて入力ユニット105のテストパター
ンがバッファ109に格納され(ステップ210及び2
11)、バッファ109にテストパターンが格納された
後、まだ入力テストパターンが存在すれば、パターン入
力手段102によってテストパターンが読み込まれた
後、パターン格納手段103を用いて入力ユニット10
5へテストパターンを格納し、同様の処理が行われる
(ステップ201)。入力テストパターン101が無け
れば、バッファ109中にあるテストパターンがパター
ン出力手段110により出力される(ステップ21
2)。
05に保持されているテストパターンとバッファ109
中のどのユニットに保持されているテストパターンとも
圧縮(併合)できないと判定された場合、バッファ格納
手段108を用いて入力ユニット105のテストパター
ンがバッファ109に格納され(ステップ210及び2
11)、バッファ109にテストパターンが格納された
後、まだ入力テストパターンが存在すれば、パターン入
力手段102によってテストパターンが読み込まれた
後、パターン格納手段103を用いて入力ユニット10
5へテストパターンを格納し、同様の処理が行われる
(ステップ201)。入力テストパターン101が無け
れば、バッファ109中にあるテストパターンがパター
ン出力手段110により出力される(ステップ21
2)。
【0056】次に、本実施例の各部の動作について、詳
細に説明を行う。
細に説明を行う。
【0057】第1に、パターン格納手段103の動作の
説明を行う。
説明を行う。
【0058】パターン格納手段103は、パターン入力
手段102により取り入れたテストパターンの各端子の
情報を入力ユニット105へ格納する手段である。入力
ユニット105を含む全ユニットは、「子孫が保持する
端子の信号が全てX信号であるnodeは削除する」と
いう「node刈り取り条件」を満たす必要がある。テ
ストパターン格納手段103では、「nodeの刈り取
り条件」に合うように、入力したテストパターンを入力
ユニット105に格納する。
手段102により取り入れたテストパターンの各端子の
情報を入力ユニット105へ格納する手段である。入力
ユニット105を含む全ユニットは、「子孫が保持する
端子の信号が全てX信号であるnodeは削除する」と
いう「node刈り取り条件」を満たす必要がある。テ
ストパターン格納手段103では、「nodeの刈り取
り条件」に合うように、入力したテストパターンを入力
ユニット105に格納する。
【0059】「nodeの刈り取り条件」を満たすよう
に、nodeの削除を行う方法は、2つある。1つ目
は、子孫が保持する端子の値が全てX値であるnode
を最初から作成しない方法、2つ目は、入力テストパタ
ーンの端子の情報を全て適切な場所に保存してから、X
値のみで構成されている子を削除していく方法である。
パターン入力手段102から入力されたテストパターン
は、上述した2つの方法のいずれかを用いて「子孫に保
持する端子情報が全てX値であるnodeを削除したユ
ニット」を入力ユニット105として格納する。
に、nodeの削除を行う方法は、2つある。1つ目
は、子孫が保持する端子の値が全てX値であるnode
を最初から作成しない方法、2つ目は、入力テストパタ
ーンの端子の情報を全て適切な場所に保存してから、X
値のみで構成されている子を削除していく方法である。
パターン入力手段102から入力されたテストパターン
は、上述した2つの方法のいずれかを用いて「子孫に保
持する端子情報が全てX値であるnodeを削除したユ
ニット」を入力ユニット105として格納する。
【0060】第2に、本実施例のパターン圧縮判定手段
106の動作について、図6および図7を参照して説明
する。ここでは例としてテストパターンを図6に示すよ
うな2つのテストパターンとする。図7はパターン圧縮
判定手段106の動作を示すフローチャートである。
106の動作について、図6および図7を参照して説明
する。ここでは例としてテストパターンを図6に示すよ
うな2つのテストパターンとする。図7はパターン圧縮
判定手段106の動作を示すフローチャートである。
【0061】テストパターン圧縮可能性判定処理におい
ては、最初に、圧縮可能かの判定を行う2つのテストパ
ターンのnodeが双方とも存在するかのチェックを行
う。次に、nodeが双方とも存在し、かつ、node
のlevelが0の場合だけ、実際の端子情報を参照し
て圧縮の可能性判定を行う。
ては、最初に、圧縮可能かの判定を行う2つのテストパ
ターンのnodeが双方とも存在するかのチェックを行
う。次に、nodeが双方とも存在し、かつ、node
のlevelが0の場合だけ、実際の端子情報を参照し
て圧縮の可能性判定を行う。
【0062】圧縮可能かの判定を行う2つのテストパタ
ーン610,620は、それぞれ、図3、図4で説明し
た構造のユニットに納められている。これらの2つのユ
ニット610,620は、同じ高さを持つ木構造であ
り、端子情報はそれぞれ対応する場所に納められてい
る。例として、SAI001という名前の端子の信号情
報が図6のテストパターンA(610)のnode61
3の最初の格納部分635に納められているとすると、
テストパターンB(620)では、対応する場所、つま
り、node623の最初の格納場所645に納められ
ている。この前提条件を用いて、テストパターンの圧縮
の可能性の判定を行う。
ーン610,620は、それぞれ、図3、図4で説明し
た構造のユニットに納められている。これらの2つのユ
ニット610,620は、同じ高さを持つ木構造であ
り、端子情報はそれぞれ対応する場所に納められてい
る。例として、SAI001という名前の端子の信号情
報が図6のテストパターンA(610)のnode61
3の最初の格納部分635に納められているとすると、
テストパターンB(620)では、対応する場所、つま
り、node623の最初の格納場所645に納められ
ている。この前提条件を用いて、テストパターンの圧縮
の可能性の判定を行う。
【0063】動作が開始されると(ステップ701)、
最初に、圧縮の可能性判定を行うテストパターン(61
0,620)を2つ用意し、それぞれのROOT61
1,621を処理を行う最初のnodeとしてセットす
る(ステップ702)。次に、セットされたnode6
11,621が、圧縮可能かどうかの判定処理が終了済
みという印がつけられていない子612,622,61
6,626,617,627を持っているかにより圧縮
の可能性が未判定のものがあるかの確認を行い(ステッ
プ703)、未判定のものがある場合には、子612,
622又は、616,626又は、617、627を処
理対象のnodeとしてセットし直す(ステップ70
4)。
最初に、圧縮の可能性判定を行うテストパターン(61
0,620)を2つ用意し、それぞれのROOT61
1,621を処理を行う最初のnodeとしてセットす
る(ステップ702)。次に、セットされたnode6
11,621が、圧縮可能かどうかの判定処理が終了済
みという印がつけられていない子612,622,61
6,626,617,627を持っているかにより圧縮
の可能性が未判定のものがあるかの確認を行い(ステッ
プ703)、未判定のものがある場合には、子612,
622又は、616,626又は、617、627を処
理対象のnodeとしてセットし直す(ステップ70
4)。
【0064】続いて、ステップ704にて処理対象とし
てセットされた両方のnode612,622が存在し
ているかを確認し(ステップ705)、いずれか一方で
もnodeが削除されていれば、そのnode612,
622同士の圧縮が可能であると判断して、そのnod
e612,622は処理済みだという印をつけ(ステッ
プ712)、親611,621を判定処理nodeとし
てセットする(ステップ713)。
てセットされた両方のnode612,622が存在し
ているかを確認し(ステップ705)、いずれか一方で
もnodeが削除されていれば、そのnode612,
622同士の圧縮が可能であると判断して、そのnod
e612,622は処理済みだという印をつけ(ステッ
プ712)、親611,621を判定処理nodeとし
てセットする(ステップ713)。
【0065】図7のステップ705において、テストパ
ターンA(610),B(620)両方の判定処理対象
nodeが存在していれば、そのnodeのlevel
が0であるかをチェックする(ステップ706)。処理
中のnodeが図6の616,626のように、lev
elが0でなければ、図7の703に処理を移す。ステ
ップ706において、現在の判定処理対象がlevel
が0のnode613,623であることが確認された
場合には、nodeを構成しているnodeCore6
31,641同士の対応するワード単位でのビット毎に
圧縮が可能であるかの判定を行う(ステップ707)。
ターンA(610),B(620)両方の判定処理対象
nodeが存在していれば、そのnodeのlevel
が0であるかをチェックする(ステップ706)。処理
中のnodeが図6の616,626のように、lev
elが0でなければ、図7の703に処理を移す。ステ
ップ706において、現在の判定処理対象がlevel
が0のnode613,623であることが確認された
場合には、nodeを構成しているnodeCore6
31,641同士の対応するワード単位でのビット毎に
圧縮が可能であるかの判定を行う(ステップ707)。
【0066】続いてステップ707での判定結果が確認
され(ステップ708)、nodeCore同士の判定
において、すべて圧縮可能と判定されれば、現在処理中
のnodeが処理済みだという印をつけて、自分の親を
判定処理対象のnodeにセットする(ステップ71
2,713)。
され(ステップ708)、nodeCore同士の判定
において、すべて圧縮可能と判定されれば、現在処理中
のnodeが処理済みだという印をつけて、自分の親を
判定処理対象のnodeにセットする(ステップ71
2,713)。
【0067】ステップ708において、node0(6
13,623)同士の圧縮可能性判定で、圧縮が不可能
と判定されたことが確認された場合には、テストパター
ンの圧縮が不可能だという判定を出して(ステップ70
9)判定処理を終了する(ステップ710)。
13,623)同士の圧縮可能性判定で、圧縮が不可能
と判定されたことが確認された場合には、テストパター
ンの圧縮が不可能だという判定を出して(ステップ70
9)判定処理を終了する(ステップ710)。
【0068】ステップ703において、ある処理対象n
odeの全ての子が圧縮可能性判定が終了済みだという
印がついていたことが確認された場合には、そのnod
eがROOT611,621であるかの確認が行われ
(ステップ711)、ROOT611,621である場
合には、テストパターン610,620同士の圧縮は可
能であるという判定を出して(ステップ714)、判定
処理を終了する(ステップ710)。ステップ711に
おいて、node616,626がROOT以外である
ことが確認された場合には、そのnodeは圧縮判定処
理済みだという印をつけて(ステップ712)、自分の
親611,621に処理を戻し(ステップ713)、図
7のステップ703からの処理を行う。
odeの全ての子が圧縮可能性判定が終了済みだという
印がついていたことが確認された場合には、そのnod
eがROOT611,621であるかの確認が行われ
(ステップ711)、ROOT611,621である場
合には、テストパターン610,620同士の圧縮は可
能であるという判定を出して(ステップ714)、判定
処理を終了する(ステップ710)。ステップ711に
おいて、node616,626がROOT以外である
ことが確認された場合には、そのnodeは圧縮判定処
理済みだという印をつけて(ステップ712)、自分の
親611,621に処理を戻し(ステップ713)、図
7のステップ703からの処理を行う。
【0069】次に、図4及び図6を参照して、2つのテ
ストパターンにおけるnode0同士の圧縮の可能性判
定の動作について詳細に説明する。node0(41
0)は(m)本のnodeCoreによって構成されて
いる。node0同士の圧縮可能性の判定においては、
比較を行う各node0(613,623)のそれぞれ
対応する場所にあるnodeCore(631,64
1)、(634,644)同士の圧縮可能性判定におい
て、全て圧縮が可能であるという判定が下りた場合に、
node0(613,623)同士の圧縮が可能である
と判定される。
ストパターンにおけるnode0同士の圧縮の可能性判
定の動作について詳細に説明する。node0(41
0)は(m)本のnodeCoreによって構成されて
いる。node0同士の圧縮可能性の判定においては、
比較を行う各node0(613,623)のそれぞれ
対応する場所にあるnodeCore(631,64
1)、(634,644)同士の圧縮可能性判定におい
て、全て圧縮が可能であるという判定が下りた場合に、
node0(613,623)同士の圧縮が可能である
と判定される。
【0070】nodeCore同士の圧縮可能性判定
は、比較を行う各nodeCore(631,64
1)、(634,644)の全ての対応するビットが保
持する端子の信号が、次に挙げる2つの組み合わせのい
ずれか、もしくは両方を満足する場合のみ、圧縮が可能
だと判定する。組み合わせは、以下の2通りである。
は、比較を行う各nodeCore(631,64
1)、(634,644)の全ての対応するビットが保
持する端子の信号が、次に挙げる2つの組み合わせのい
ずれか、もしくは両方を満足する場合のみ、圧縮が可能
だと判定する。組み合わせは、以下の2通りである。
【0071】1.ドントケア値として考えることができ
るX信号と他の信号の組み合わせ 2.同じ種類の信号の組み合わせ 図8を参照して、nodeCore同士の圧縮可能性判
定の実施例を説明する。nodeCoreは内部のワー
ドにビット単位でテストパターンの端子情報を格納して
いる。ここでは、nodeCoreの各ビットが保持し
ている値が図8のnodeCore801,802,8
51,852に示す値である場合について説明する。
るX信号と他の信号の組み合わせ 2.同じ種類の信号の組み合わせ 図8を参照して、nodeCore同士の圧縮可能性判
定の実施例を説明する。nodeCoreは内部のワー
ドにビット単位でテストパターンの端子情報を格納して
いる。ここでは、nodeCoreの各ビットが保持し
ている値が図8のnodeCore801,802,8
51,852に示す値である場合について説明する。
【0072】nodeCore801とnodeCor
e802の圧縮可能性判定は、以下のように行われる。
nodeCore801とnodeCore802は、
圧縮可能性判定を行っている2つのテストパターンのそ
れぞれ対応する場所にある。nodeCore801と
nodeCore802の各ビットが保持する端子の信
号を比較すると、1対X(811)、X対X(81
2)、0対0(813)、X対1(814)、Z対Z
(815)、Z対X(816)、0対X(817)及び
1対1(818)のように、全てのビットにおいて、
「ドントケア値として考えることができるX信号と他の
信号の組み合わせ」と「同じ種類の信号の組み合わせ」
である。従って、nodeCore801とnodeC
ore802の圧縮は可能だと判定する。
e802の圧縮可能性判定は、以下のように行われる。
nodeCore801とnodeCore802は、
圧縮可能性判定を行っている2つのテストパターンのそ
れぞれ対応する場所にある。nodeCore801と
nodeCore802の各ビットが保持する端子の信
号を比較すると、1対X(811)、X対X(81
2)、0対0(813)、X対1(814)、Z対Z
(815)、Z対X(816)、0対X(817)及び
1対1(818)のように、全てのビットにおいて、
「ドントケア値として考えることができるX信号と他の
信号の組み合わせ」と「同じ種類の信号の組み合わせ」
である。従って、nodeCore801とnodeC
ore802の圧縮は可能だと判定する。
【0073】次に、nodeCore851とnode
Core852の圧縮可能性判定を説明する。node
Core851とnodeCore852の各ビットが
保持する端子の信号を比較すると、nodeCore圧
縮不可能な信号の組み合わせである(1対0)が図8の
863に存在する。この場合、nodeCore851
とnodeCore852の圧縮は不可能だと判定す
る。
Core852の圧縮可能性判定を説明する。node
Core851とnodeCore852の各ビットが
保持する端子の信号を比較すると、nodeCore圧
縮不可能な信号の組み合わせである(1対0)が図8の
863に存在する。この場合、nodeCore851
とnodeCore852の圧縮は不可能だと判定す
る。
【0074】第3にパターン圧縮手段107の動作につ
いて、図9を参照して説明する。パターン圧縮手段10
7は、パターン圧縮判定手段106により、圧縮が可能
と判定された2つのテストパターンを1つのテストパタ
ーンに圧縮(併合)するという動作を行う。図9では、
2つのテストパターン610,620を圧縮(併合)し
て1つのテストパターン660にしている。圧縮の手段
を以下に挙げる。2つのテストパターン610,620
のうち、1.nodeが両方とも存在し、かつleve
lが1以上のnode(611,621),(616,
626)の場合。
いて、図9を参照して説明する。パターン圧縮手段10
7は、パターン圧縮判定手段106により、圧縮が可能
と判定された2つのテストパターンを1つのテストパタ
ーンに圧縮(併合)するという動作を行う。図9では、
2つのテストパターン610,620を圧縮(併合)し
て1つのテストパターン660にしている。圧縮の手段
を以下に挙げる。2つのテストパターン610,620
のうち、1.nodeが両方とも存在し、かつleve
lが1以上のnode(611,621),(616,
626)の場合。
【0075】どちらかのnodeを圧縮後のnode
(661),(666)とする。
(661),(666)とする。
【0076】2.一方のnode(622,614,6
17)が存在し、かつ、他方のnode(612,62
4,627)が削除されている場合。
17)が存在し、かつ、他方のnode(612,62
4,627)が削除されている場合。
【0077】存在する方のnode(622,614,
617)を圧縮後のnode(662,664,66
7)とする。
617)を圧縮後のnode(662,664,66
7)とする。
【0078】3.両方のnode(615,625)が
存在しない場合。
存在しない場合。
【0079】圧縮後も削除されたままにしておく(66
5)。
5)。
【0080】4.nodeが両方とも存在し、かつ、n
odeのlevelが0の場合(613,623)。
odeのlevelが0の場合(613,623)。
【0081】node0単位での圧縮(後述)を行い、
結果としてできたものを圧縮後のnode(663)と
する。
結果としてできたものを圧縮後のnode(663)と
する。
【0082】以上の条件に則ってテストパターンの圧縮
(併合)を行う。
(併合)を行う。
【0083】次に図6を用いてnode0同士の圧縮の
実施例を説明する。図6において、圧縮を行う2つのテ
ストパターンの、それぞれ対応する部分であるnode
0(613,623)は、m本のnodeCore(6
31,634,641,644)により構成されてい
る。node0同士の圧縮は、それぞれ対応するnod
eCore同士(631と641、634と644)の
圧縮(併合)が、node0を構成する全てのnode
Coreに対して行われることにより終了する。次に、
図8を参照してnodeCore同士の圧縮の実施例を
説明する。圧縮(併合)を行う2つのテストパターンの
それぞれ対応する場所にあるnodeCore(80
1,802)同士の圧縮は以下のルールに則って行われ
る。
実施例を説明する。図6において、圧縮を行う2つのテ
ストパターンの、それぞれ対応する部分であるnode
0(613,623)は、m本のnodeCore(6
31,634,641,644)により構成されてい
る。node0同士の圧縮は、それぞれ対応するnod
eCore同士(631と641、634と644)の
圧縮(併合)が、node0を構成する全てのnode
Coreに対して行われることにより終了する。次に、
図8を参照してnodeCore同士の圧縮の実施例を
説明する。圧縮(併合)を行う2つのテストパターンの
それぞれ対応する場所にあるnodeCore(80
1,802)同士の圧縮は以下のルールに則って行われ
る。
【0084】1.圧縮を行う2つのnodeCore
(801,802)のそれぞれ対応する場所(811〜
818)にある信号の片方がX値であり、他方がX値,
又は、X値以外の場合(811,814,816,81
7)。
(801,802)のそれぞれ対応する場所(811〜
818)にある信号の片方がX値であり、他方がX値,
又は、X値以外の場合(811,814,816,81
7)。
【0085】圧縮後はX値である場所に、他方の値(X
値または、X値以外の値)を残す。 2.圧縮を行う2つのnodeCore801,802
のそれぞれ対応する場所(811〜818)にある信号
が同じ信号値である場合(812,813,815,8
18)。
値または、X値以外の値)を残す。 2.圧縮を行う2つのnodeCore801,802
のそれぞれ対応する場所(811〜818)にある信号
が同じ信号値である場合(812,813,815,8
18)。
【0086】圧縮後は対応する場所にその信号の値を残
す。 (以上は、0,1,X,Zの4信号のみの場合のルー
ル)上記のように構成される第1の実施例の作用および
効果について以下に詳細に説明する。
す。 (以上は、0,1,X,Zの4信号のみの場合のルー
ル)上記のように構成される第1の実施例の作用および
効果について以下に詳細に説明する。
【0087】第1の効果は、テストパターン圧縮処理を
計算機上で行う時に、パターンを構成する端子情報の分
布に依存せず、メモリ使用量が削減できることにある。
この結果、より大きなサイズのテストパターンの圧縮処
理を計算機上で行えるようになる。
計算機上で行う時に、パターンを構成する端子情報の分
布に依存せず、メモリ使用量が削減できることにある。
この結果、より大きなサイズのテストパターンの圧縮処
理を計算機上で行えるようになる。
【0088】その理由を2つ以下に述べる。
【0089】本実施例においては、テストパターンを構
成する端子情報をワード単位でビット毎に保持してい
る。そのため、テスト系列を構成する全ての端子情報の
隣り合う値が全て異なる値を持っていた場合でも、1端
子あたりLビットで表現できる。ここでLは端子が保持
すべき信号の種類により決まる自然数であり、端子の信
号の種類が4種類の場合は、Lは2である。
成する端子情報をワード単位でビット毎に保持してい
る。そのため、テスト系列を構成する全ての端子情報の
隣り合う値が全て異なる値を持っていた場合でも、1端
子あたりLビットで表現できる。ここでLは端子が保持
すべき信号の種類により決まる自然数であり、端子の信
号の種類が4種類の場合は、Lは2である。
【0090】第1の効果の理由の1つ目は、本実施例の
テストパターン保持構造(ユニット)の「nodeの子
孫に保持されている端子情報がX値のみで構成されてい
る場合は、そのnodeを削除する」という特性を用い
て、長く連続するX値部分の端子情報を「削除されたn
ode」という形式で表現し、テストパターンを保持す
るのに必要なメモリ量を削減することができるためであ
る。この1つ目の理由によるメモリ削減効果は、テスト
パターンを構成する端子情報が連続してX値を持つほど
大きくなる。
テストパターン保持構造(ユニット)の「nodeの子
孫に保持されている端子情報がX値のみで構成されてい
る場合は、そのnodeを削除する」という特性を用い
て、長く連続するX値部分の端子情報を「削除されたn
ode」という形式で表現し、テストパターンを保持す
るのに必要なメモリ量を削減することができるためであ
る。この1つ目の理由によるメモリ削減効果は、テスト
パターンを構成する端子情報が連続してX値を持つほど
大きくなる。
【0091】テストパターン生成システムにより生成さ
れたテストパターンは、通常、そのテストパターンを構
成する端子情報の約90%をX値とすることができる。
この場合、そのX値は、長く連続する傾向がある。
れたテストパターンは、通常、そのテストパターンを構
成する端子情報の約90%をX値とすることができる。
この場合、そのX値は、長く連続する傾向がある。
【0092】第1の効果の理由の2つ目は、テストパタ
ーンを構成する端子情報をワード単位でビット毎に持つ
ことにより、テストパターンの状態に左右されずに、信
号の保持に必要なメモリ量を1端子あたりLビットとす
ることができるためである。この1端子あたりの信号保
持に必要なメモリの算出には、上記、第1の効果の1つ
目の理由によるメモリ削減効果を考慮していない。つま
り、最悪値である。
ーンを構成する端子情報をワード単位でビット毎に持つ
ことにより、テストパターンの状態に左右されずに、信
号の保持に必要なメモリ量を1端子あたりLビットとす
ることができるためである。この1端子あたりの信号保
持に必要なメモリの算出には、上記、第1の効果の1つ
目の理由によるメモリ削減効果を考慮していない。つま
り、最悪値である。
【0093】上記第1の効果の2つの理由をあわせ持つ
ことにより、テストパターンを構成する端子の連続する
割合が大きい場合と小さい場合のそれぞれに対して、テ
ストパターンを効率的に保持することが可能となる。
ことにより、テストパターンを構成する端子の連続する
割合が大きい場合と小さい場合のそれぞれに対して、テ
ストパターンを効率的に保持することが可能となる。
【0094】ここで、本実施例の第1の効果について、
具体的数値を用いて説明する。比較対象の従来手法は、
テストパターン圧縮システムの一例である特願平09−
168219号の手法とする。
具体的数値を用いて説明する。比較対象の従来手法は、
テストパターン圧縮システムの一例である特願平09−
168219号の手法とする。
【0095】端子の種類が’0’,’1’,’X’,’
Z’の4種類であり、全端子数が10000であるテス
トパターンを3つ用意する。
Z’の4種類であり、全端子数が10000であるテス
トパターンを3つ用意する。
【0096】1つ目は、1番目の端子から10000番
目の端子まで、’0’、’1’信号が交互に続くテスト
パターン(以下、PAT_X0と呼ぶ)。PAT_X0
は、X信号の割合が0%のテストパターンである。
目の端子まで、’0’、’1’信号が交互に続くテスト
パターン(以下、PAT_X0と呼ぶ)。PAT_X0
は、X信号の割合が0%のテストパターンである。
【0097】2つ目は、1番目の端子から5000番目
の端子まで、’0’、’1’信号が交互に続き、500
1番目の端子から10000番目の端子までは、’X’
信号が続くテストパターン(以下、PAT_X50と呼
ぶ)。PAT_X50は、X信号の割合が50%のテス
トパターンである。
の端子まで、’0’、’1’信号が交互に続き、500
1番目の端子から10000番目の端子までは、’X’
信号が続くテストパターン(以下、PAT_X50と呼
ぶ)。PAT_X50は、X信号の割合が50%のテス
トパターンである。
【0098】3つ目は、1番目の端子から1000番目
の端子まで、’0’、’1’信号が交互に続き、100
1番目の端子から10000番目の端子までは、’X’
信号が続くテストパターン(以下、PAT_X90と呼
ぶ)。PAT_X90は、X信号の割合が90%のテス
トパターンである。
の端子まで、’0’、’1’信号が交互に続き、100
1番目の端子から10000番目の端子までは、’X’
信号が続くテストパターン(以下、PAT_X90と呼
ぶ)。PAT_X90は、X信号の割合が90%のテス
トパターンである。
【0099】ここで、効果例の一つとして用いる本実施
例のユニットの条件を設定する。信号の種類は、4種類
であるから、図4のLの値は、2となる。図4のワード
(421,422)のビット(n)を32、node0
を構成するnodeCoreの個数(m)を4とする。
図3における各nodeが持つ子の最大数(r,q,
p)を5と設定する。上記設定では、node0には、
(n×m=)128個の端子情報が保持できる。
例のユニットの条件を設定する。信号の種類は、4種類
であるから、図4のLの値は、2となる。図4のワード
(421,422)のビット(n)を32、node0
を構成するnodeCoreの個数(m)を4とする。
図3における各nodeが持つ子の最大数(r,q,
p)を5と設定する。上記設定では、node0には、
(n×m=)128個の端子情報が保持できる。
【0100】次に、従来技術である特願平09−168
219号で提案された発明による設定を行う。信号の種
類が4種類であるから、論理値記述部に2ビット必要で
ある。そのため、図10において、1バイトを2ビット
(論理値記述部)と6ビット(繰り返し数記述部)に分
割する。繰り返し数記述部が6ビットであるので、連続
して同じ信号値をもつ端子を64個まで、1バイトで表
現できる。
219号で提案された発明による設定を行う。信号の種
類が4種類であるから、論理値記述部に2ビット必要で
ある。そのため、図10において、1バイトを2ビット
(論理値記述部)と6ビット(繰り返し数記述部)に分
割する。繰り返し数記述部が6ビットであるので、連続
して同じ信号値をもつ端子を64個まで、1バイトで表
現できる。
【0101】上記の条件において、本実施例と特願平0
9−168219号で提案された発明の2つの手法を用
いた時に、各パターン(PAT_X0,PAT_X5
0,PAT_X90)を保持するのに必要なメモリ使用
量を概算する。
9−168219号で提案された発明の2つの手法を用
いた時に、各パターン(PAT_X0,PAT_X5
0,PAT_X90)を保持するのに必要なメモリ使用
量を概算する。
【0102】ここで、両手法のパターン保持に必要なメ
モリ量の計算方法を説明する。
モリ量の計算方法を説明する。
【0103】本実施例の場合、X値以外を含むnode
0の場合、各端子一つにつき2ビット必要となる。つま
り、node0(128端子)の信号保持に、256ビ
ット(256/8=32バイト)必要となる。また、n
ode0が保持する信号が全てX値であるため、「no
de刈り取り条件」により削除されたnode0のメモ
リ量は、0バイトと計算する。
0の場合、各端子一つにつき2ビット必要となる。つま
り、node0(128端子)の信号保持に、256ビ
ット(256/8=32バイト)必要となる。また、n
ode0が保持する信号が全てX値であるため、「no
de刈り取り条件」により削除されたnode0のメモ
リ量は、0バイトと計算する。
【0104】特願平09−168219号で提案された
発明の場合、同じ種類の信号が連続して続く場合、64
端子まで、1バイトで表現できる。信号の種類が1端子
ごとに変化する場合、1端子の情報保持に、1バイト必
要となる。
発明の場合、同じ種類の信号が連続して続く場合、64
端子まで、1バイトで表現できる。信号の種類が1端子
ごとに変化する場合、1端子の情報保持に、1バイト必
要となる。
【0105】以上の計算方法を用いて各テストパターン
の保持に必要なメモリ量を計算する。
の保持に必要なメモリ量を計算する。
【0106】まず、X値の割合が0%のテストパターン
(PAT_X0)を保持するのに必要なメモリ量を計算
する。
(PAT_X0)を保持するのに必要なメモリ量を計算
する。
【0107】特願平09−168219号で提案された
発明では、PAT_X0を保持するのに必要なメモリ量
は、(入力端子数×端子1つの保持に必要なメモリ量)
=(10000×1)=10000、つまり、10Kバ
イトとなる。PAT_X0を構成する全ての端子が毎回
違う値をとっているため、端子一つの信号値の保持に1
バイト必要となり、そのため、上記の式となる。
発明では、PAT_X0を保持するのに必要なメモリ量
は、(入力端子数×端子1つの保持に必要なメモリ量)
=(10000×1)=10000、つまり、10Kバ
イトとなる。PAT_X0を構成する全ての端子が毎回
違う値をとっているため、端子一つの信号値の保持に1
バイト必要となり、そのため、上記の式となる。
【0108】本実施例では、PAT_X0を保持するの
に必要なメモリ量は、(削除されていないnode0の
個数×node0のメモリ量)={(10000/12
8+1)×32}=2528、つまり、約2.6Kバイ
トとなる。この式の説明を行うと、PAT_X0は、テ
ストパターンを構成する全10000端子が’0’,’
1’の繰り返しの信号値を持つ。10000端子を持つ
テストパターンを保持するのに必要なnode0の個数
は、(10000/128+1)≒79である。各no
de0を保持するのに必要なメモリ量は、前述の設定に
より32である。そのため、本実施例で、PAT_X0
を保持するのに必要なメモリ量は、約2.6Kバイトと
なる。
に必要なメモリ量は、(削除されていないnode0の
個数×node0のメモリ量)={(10000/12
8+1)×32}=2528、つまり、約2.6Kバイ
トとなる。この式の説明を行うと、PAT_X0は、テ
ストパターンを構成する全10000端子が’0’,’
1’の繰り返しの信号値を持つ。10000端子を持つ
テストパターンを保持するのに必要なnode0の個数
は、(10000/128+1)≒79である。各no
de0を保持するのに必要なメモリ量は、前述の設定に
より32である。そのため、本実施例で、PAT_X0
を保持するのに必要なメモリ量は、約2.6Kバイトと
なる。
【0109】次に、X値の割合が50%のテストパター
ン(PAT_X50)を保持するのに必要なメモリ量を
計算する。
ン(PAT_X50)を保持するのに必要なメモリ量を
計算する。
【0110】特願平09−168219号で提案された
発明では、PAT_X50を保持するのに必要なメモリ
量は、{(1番目から5000番目の端子までの信号の
保持に必要なメモリ量)+(5001番目から1000
0番目の端子までの信号の保持に必要なメモリ量}=
{(毎回異なる信号値を持つ端子数×端子1つの保持に
必要なメモリ量)+(連続する信号値を持つ端子数÷1
バイトに保持できる端子数の最大値)}={(5000
×1)+(5000÷64)}=5079、つまり、約
5.1Kバイトとなる。
発明では、PAT_X50を保持するのに必要なメモリ
量は、{(1番目から5000番目の端子までの信号の
保持に必要なメモリ量)+(5001番目から1000
0番目の端子までの信号の保持に必要なメモリ量}=
{(毎回異なる信号値を持つ端子数×端子1つの保持に
必要なメモリ量)+(連続する信号値を持つ端子数÷1
バイトに保持できる端子数の最大値)}={(5000
×1)+(5000÷64)}=5079、つまり、約
5.1Kバイトとなる。
【0111】本実施例では、PAT_X50を保持する
のに必要なメモリ量は、(削除されていないnode0
の個数×node0のメモリ量)={(5000/12
8+1)×32}=1280、つまり、約1.3Kバイ
トとなる。この式の説明を行うと、PAT_X50は、
テストパターンを構成する端子の最初の5000個まで
が、’0’,’1’の繰り返しの信号値を持ち、残り
は、全てX値を持つ。10000端子を持つテストパタ
ーンを保持するのに必要なnode0の個数は、100
00/128≒79である。そのうち、X信号のみで構
成されるnode0は削除される。削除されないnod
e0の個数は、’0’,’1’信号が格納されているn
ode0の個数を計算することにより求められる。つま
り、(5000/128+1)である。
のに必要なメモリ量は、(削除されていないnode0
の個数×node0のメモリ量)={(5000/12
8+1)×32}=1280、つまり、約1.3Kバイ
トとなる。この式の説明を行うと、PAT_X50は、
テストパターンを構成する端子の最初の5000個まで
が、’0’,’1’の繰り返しの信号値を持ち、残り
は、全てX値を持つ。10000端子を持つテストパタ
ーンを保持するのに必要なnode0の個数は、100
00/128≒79である。そのうち、X信号のみで構
成されるnode0は削除される。削除されないnod
e0の個数は、’0’,’1’信号が格納されているn
ode0の個数を計算することにより求められる。つま
り、(5000/128+1)である。
【0112】次に、X値の割合が90%のテストパター
ン(PAT_X90)を保持するのに必要なメモリ量を
計算する。
ン(PAT_X90)を保持するのに必要なメモリ量を
計算する。
【0113】特願平09−168219号で提案された
発明では、PAT_X90を保持するのに必要なメモリ
量は、{(1番目から1000番目の端子までの信号の
保持に必要なメモリ量)+(1001番目から1000
0番目の端子までの信号の保持に必要なメモリ量}=
{(毎回異なる信号値を持つ端子数×端子1つの保持に
必要なメモリ量)+(連続する信号値を持つ端子数÷1
バイトに保持できる端子数の最大値)}={(1000
×1)+(9000÷64)}=1140、つまり、約
1.2Kバイトとなる。
発明では、PAT_X90を保持するのに必要なメモリ
量は、{(1番目から1000番目の端子までの信号の
保持に必要なメモリ量)+(1001番目から1000
0番目の端子までの信号の保持に必要なメモリ量}=
{(毎回異なる信号値を持つ端子数×端子1つの保持に
必要なメモリ量)+(連続する信号値を持つ端子数÷1
バイトに保持できる端子数の最大値)}={(1000
×1)+(9000÷64)}=1140、つまり、約
1.2Kバイトとなる。
【0114】本実施例では、PAT_X90を保持する
のに必要なメモリ量は、(削除されていないnode0
の個数×node0のメモリ量)=(1000/128
+1)×32=282、つまり、約0.3Kバイトとな
る。
のに必要なメモリ量は、(削除されていないnode0
の個数×node0のメモリ量)=(1000/128
+1)×32=282、つまり、約0.3Kバイトとな
る。
【0115】上記のように、X信号を持つ端子の占める
割合が異なる3つのテストパターン(PAT_X0,P
AT_X50,PAT_X90)について、保持に必要
なメモリ量の算出を行った。ここで、特願平09−16
8219号で提案された発明と本実施例の計算結果を比
較する。PAT_X0、PAT_X50、PAT_X9
0それぞれに対して、特願平09−168219号で提
案された発明では、(10K,5.1K,1.2Kバイ
ト)であり、本実施例では、(2.6K,1.3K,
0.3Kバイト)である。このように、3通りのいずれ
のテストパターンにおいても、本実施例のほうが特願平
09−168219号で提案された発明より小メモリで
のテストパターンの保持が可能となっている。
割合が異なる3つのテストパターン(PAT_X0,P
AT_X50,PAT_X90)について、保持に必要
なメモリ量の算出を行った。ここで、特願平09−16
8219号で提案された発明と本実施例の計算結果を比
較する。PAT_X0、PAT_X50、PAT_X9
0それぞれに対して、特願平09−168219号で提
案された発明では、(10K,5.1K,1.2Kバイ
ト)であり、本実施例では、(2.6K,1.3K,
0.3Kバイト)である。このように、3通りのいずれ
のテストパターンにおいても、本実施例のほうが特願平
09−168219号で提案された発明より小メモリで
のテストパターンの保持が可能となっている。
【0116】第2の効果は、テストパターンの圧縮を高
速にできることにある。その結果、より大きなサイズの
テストパターンの圧縮処理を計算機上で行えるようにな
る。第2の効果の理由の1つ目は、削除されているno
deの子孫に保持されている端子情報の判定時に、ワー
ド単位でのビット毎の論理演算を省略することができる
ためである。
速にできることにある。その結果、より大きなサイズの
テストパターンの圧縮処理を計算機上で行えるようにな
る。第2の効果の理由の1つ目は、削除されているno
deの子孫に保持されている端子情報の判定時に、ワー
ド単位でのビット毎の論理演算を省略することができる
ためである。
【0117】本実施例では、テストパターン同士の圧縮
及び圧縮の可能性判定を最初にnode単位で行ってい
る。圧縮判定の対象としているnodeの一方、又は両
方が削除されている場合、その削除されているnode
の子孫に保持している端子の信号値は全てXである。そ
の場合、他方のnodeがどのような端子情報を含んで
いても圧縮が可能となるため、ビット毎の論理演算を行
わずに判定を行う。また、圧縮時においても、削除され
ているnodeの他方のnodeを残すことができるた
め、端子情報をワード単位でビット毎に論理演算する処
理を省くことができる。
及び圧縮の可能性判定を最初にnode単位で行ってい
る。圧縮判定の対象としているnodeの一方、又は両
方が削除されている場合、その削除されているnode
の子孫に保持している端子の信号値は全てXである。そ
の場合、他方のnodeがどのような端子情報を含んで
いても圧縮が可能となるため、ビット毎の論理演算を行
わずに判定を行う。また、圧縮時においても、削除され
ているnodeの他方のnodeを残すことができるた
め、端子情報をワード単位でビット毎に論理演算する処
理を省くことができる。
【0118】第2の効果の理由の2つ目は、テストパタ
ーンの圧縮及び圧縮の可能性の判定をワード単位でビッ
ト毎の論理演算を行い、一度に複数の端子情報の判定を
行うためである。
ーンの圧縮及び圧縮の可能性の判定をワード単位でビッ
ト毎の論理演算を行い、一度に複数の端子情報の判定を
行うためである。
【0119】第2の効果の理由の3つ目は、発明の背景
で従来技術として挙げた特願平09−168219号で
提案された発明のように、テストパターンの圧縮可能性
判定のために、別の構造へテストパターンを変換する必
要が無いことである。
で従来技術として挙げた特願平09−168219号で
提案された発明のように、テストパターンの圧縮可能性
判定のために、別の構造へテストパターンを変換する必
要が無いことである。
【0120】ここで、本実施例の第2の効果について、
具体的数値を用いて説明する。比較対象の従来手法は、
特願平09−168219号で提案された発明の手法と
する。
具体的数値を用いて説明する。比較対象の従来手法は、
特願平09−168219号で提案された発明の手法と
する。
【0121】比較に用いるテストパターンは、第1の効
果の説明で使用したテストパターンのうち、2つ(PA
T_X0,PAT_X50)を用いる。ここで、PAT
_X0とPAT_X50は圧縮が可能である。本実施例
のユニットの条件設定、及び、特願平09−16821
9号で提案された発明によるデータ構造の設定も、第1
の効果で行った設定を用いる。また、端子信号から、n
odeCoreを構成するワード用の信号に変換するた
めの変換表は、図5の502を使用する。
果の説明で使用したテストパターンのうち、2つ(PA
T_X0,PAT_X50)を用いる。ここで、PAT
_X0とPAT_X50は圧縮が可能である。本実施例
のユニットの条件設定、及び、特願平09−16821
9号で提案された発明によるデータ構造の設定も、第1
の効果で行った設定を用いる。また、端子信号から、n
odeCoreを構成するワード用の信号に変換するた
めの変換表は、図5の502を使用する。
【0122】ここで、処理時間は、変数の大きさが大小
にかかわらず、端子の信号の収まった変数同士の論理演
算1回を1計算量とする。
にかかわらず、端子の信号の収まった変数同士の論理演
算1回を1計算量とする。
【0123】まず、PAT_X0とPAT_X50を用
いて、特願平09−168219号で提案された発明の
テストパターン圧縮可能性の判定処理にかかる時間を計
算する。特願平09−168219号で提案された発明
では、比較基準となるテストパターン(PAT_X0)
のうち、X信号でない端子のみを圧縮可能性判定に用い
る。X信号を持つ端子は、常に圧縮が可能と判定される
からである。そのため、比較基準パターンをPAT_X
0とした場合、1端子毎に、全端子に対して、論理演算
を用いて判定を行う。端子ごとの圧縮可能性判定は、以
下に述べる2つの判定条件のどちらかを満たせば、「端
子同士の圧縮は可能」と判定される。その判定条件は、
「比較対象端子がX値である」、「比較基準端子と比較
対象端子の信号値が同じ」の2つである。そのため、従
来技術の端子毎の圧縮可能性判定に必要な論理演算回数
は、1回、または、2回である。PAT_X0とPAT
_X50のパターン圧縮可能性判定の場合、1番目から
5000番目の端子までは、「比較基準端子と比較対象
端子の信号値が同じ」という条件を満足し、5001番
目から10000番目の端子までは、「比較対象端子が
信号値がX値」という条件を満足する。そのため、どち
らの判定条件を最初に行っても、全端子の半分は、1回
で圧縮可能と判定され、残りの半分は、2回目で圧縮が
可能と判定される。そのため、平均の論理演算回数は、
1.5回となる。以上の条件より、特願平09−168
219号で提案された発明による圧縮可能性判定処理に
かかる時間は、{(比較基準パターンのうち、X信号以
外をもつ端子数)×端子毎の判定に必要な論理演算の平
均回数}=10000×1.5=15000、つまり、
15000計算量必要である。
いて、特願平09−168219号で提案された発明の
テストパターン圧縮可能性の判定処理にかかる時間を計
算する。特願平09−168219号で提案された発明
では、比較基準となるテストパターン(PAT_X0)
のうち、X信号でない端子のみを圧縮可能性判定に用い
る。X信号を持つ端子は、常に圧縮が可能と判定される
からである。そのため、比較基準パターンをPAT_X
0とした場合、1端子毎に、全端子に対して、論理演算
を用いて判定を行う。端子ごとの圧縮可能性判定は、以
下に述べる2つの判定条件のどちらかを満たせば、「端
子同士の圧縮は可能」と判定される。その判定条件は、
「比較対象端子がX値である」、「比較基準端子と比較
対象端子の信号値が同じ」の2つである。そのため、従
来技術の端子毎の圧縮可能性判定に必要な論理演算回数
は、1回、または、2回である。PAT_X0とPAT
_X50のパターン圧縮可能性判定の場合、1番目から
5000番目の端子までは、「比較基準端子と比較対象
端子の信号値が同じ」という条件を満足し、5001番
目から10000番目の端子までは、「比較対象端子が
信号値がX値」という条件を満足する。そのため、どち
らの判定条件を最初に行っても、全端子の半分は、1回
で圧縮可能と判定され、残りの半分は、2回目で圧縮が
可能と判定される。そのため、平均の論理演算回数は、
1.5回となる。以上の条件より、特願平09−168
219号で提案された発明による圧縮可能性判定処理に
かかる時間は、{(比較基準パターンのうち、X信号以
外をもつ端子数)×端子毎の判定に必要な論理演算の平
均回数}=10000×1.5=15000、つまり、
15000計算量必要である。
【0124】次に、本実施例の判定処理にかかる時間を
計算する。
計算する。
【0125】本実施例では、圧縮可能性判定する2つの
テストパターン(PAT_X0,PAT_X50)の
内、それぞれ対応するnode0が削除されずに残って
いる場合のみ、論理演算で端子情報同士の圧縮可能性判
定を行う必要がある。PAT_X50の後半5000端
子はX値のみで構成されているので、node0は存在
しない。そのため、PAT_X0とPAT_X50の両
パターンにおいて、両方とも削除されずに残っているn
ode0の個数は、(5000/128+1)=39.
0625≒40。つまり、論理演算で圧縮可能性判定を
行う必要のあるnode0は、40個である。
テストパターン(PAT_X0,PAT_X50)の
内、それぞれ対応するnode0が削除されずに残って
いる場合のみ、論理演算で端子情報同士の圧縮可能性判
定を行う必要がある。PAT_X50の後半5000端
子はX値のみで構成されているので、node0は存在
しない。そのため、PAT_X0とPAT_X50の両
パターンにおいて、両方とも削除されずに残っているn
ode0の個数は、(5000/128+1)=39.
0625≒40。つまり、論理演算で圧縮可能性判定を
行う必要のあるnode0は、40個である。
【0126】1組のnode0同士の圧縮可能性判定に
かかる時間は、{(node0に含まれるnodeCo
reの数)×(nodeCore同士を比較するのに必
要な論理演算の回数)}である。node0に含まれる
nodeCoreの数は、設定により4である。nod
eCore同士を比較するのに必要な論理演算の回数
は、9回とする。その内訳を説明する。端子の信号は、
図5の変換表によって変換され、nodeCoreの中
に保持される。nodeCore同士が圧縮可能かを判
定するためには、nodeCore内に保持している全
ての端子の信号が、以下の2つの条件のうち、少なくと
も1つを満たす必要がある。
かかる時間は、{(node0に含まれるnodeCo
reの数)×(nodeCore同士を比較するのに必
要な論理演算の回数)}である。node0に含まれる
nodeCoreの数は、設定により4である。nod
eCore同士を比較するのに必要な論理演算の回数
は、9回とする。その内訳を説明する。端子の信号は、
図5の変換表によって変換され、nodeCoreの中
に保持される。nodeCore同士が圧縮可能かを判
定するためには、nodeCore内に保持している全
ての端子の信号が、以下の2つの条件のうち、少なくと
も1つを満たす必要がある。
【0127】条件1「両方の端子が同じ信号である」 条件2「少なくとも片方の端子がX値である」 条件1を満たすかどうかの判定に必要な論理演算回数を
3回とする。図6を用いて説明する。ここで、圧縮の可
能性判定を行っているnodeCoreをそれぞれ63
1,641とする。論理演算の1、2回目がワード同士
(632,642)(633,643)の排他的論理
和。3回目が1、2回目の結果の論理和である。
3回とする。図6を用いて説明する。ここで、圧縮の可
能性判定を行っているnodeCoreをそれぞれ63
1,641とする。論理演算の1、2回目がワード同士
(632,642)(633,643)の排他的論理
和。3回目が1、2回目の結果の論理和である。
【0128】以下の説明では、’^’を排他的論理和演
算子、’&’を論理積演算子、’|’を論理和演算
子、’ ̄’を反転演算子とする。計算((632^64
2)|(633^643))により、条件1の論理演算
の結果を納めるワードには、条件1を満足するビットに
のみ’0’がセットされ、その他の部分には’1’がセ
ットされる。
算子、’&’を論理積演算子、’|’を論理和演算
子、’ ̄’を反転演算子とする。計算((632^64
2)|(633^643))により、条件1の論理演算
の結果を納めるワードには、条件1を満足するビットに
のみ’0’がセットされ、その他の部分には’1’がセ
ットされる。
【0129】計算((632^642)|(633^6
43))により、条件1の論理演算の結果を納めるワー
ドには、条件1を満足するビットにのみ’0’がセット
され、その他の部分には’1’がセットされる。
43))により、条件1の論理演算の結果を納めるワー
ドには、条件1を満足するビットにのみ’0’がセット
され、その他の部分には’1’がセットされる。
【0130】条件2を満たすかどうかの判定に必要な論
理演算回数を4回とする。論理演算の1、2回目は、n
odeCore631、641を構成する2つのワード
(632,633)(642,643)の論理積。3回
目は、1、2回目の結果の論理和。4回目は、その結果
の反転である。
理演算回数を4回とする。論理演算の1、2回目は、n
odeCore631、641を構成する2つのワード
(632,633)(642,643)の論理積。3回
目は、1、2回目の結果の論理和。4回目は、その結果
の反転である。
【0131】計算( ̄((632&633)|(642
&643)))により、条件2の論理演算の結果を納め
るワードには、条件2を満足するビットにのみ’0’が
セットされ、その他のビットには’1’がセットされ
る。
&643)))により、条件2の論理演算の結果を納め
るワードには、条件2を満足するビットにのみ’0’が
セットされ、その他のビットには’1’がセットされ
る。
【0132】以上の条件1、条件2の結果を納めたワー
ドの論理積をとり、その結果が0であるかどうかで、n
odeCore同士が圧縮可能かどうかを判定できる。
結果が0であれば、「nodeCore同士の圧縮は可
能」である。
ドの論理積をとり、その結果が0であるかどうかで、n
odeCore同士が圧縮可能かどうかを判定できる。
結果が0であれば、「nodeCore同士の圧縮は可
能」である。
【0133】以上を合計すると、nodeCoreの圧
縮可能性判定のために行った全ての論理演算の回数は、
{3回(条件1)+4回(条件2)+2回(条件1と2
の論理演算結果の論理積と、その論理積の結果と0との
比較)}=9回となる。
縮可能性判定のために行った全ての論理演算の回数は、
{3回(条件1)+4回(条件2)+2回(条件1と2
の論理演算結果の論理積と、その論理積の結果と0との
比較)}=9回となる。
【0134】以上より、本発明において、2つのテスト
パターン(PAT_X0,PAT_X50)の圧縮可能
性の判定に必要な時間は、{(圧縮が可能かの判定を行
うnode0の数)×(node0を構成するnode
Coreの数)×(nodeCoreの圧縮可能性判定
で行う論理演算の回数)}=40×4×9=1440。
パターン(PAT_X0,PAT_X50)の圧縮可能
性の判定に必要な時間は、{(圧縮が可能かの判定を行
うnode0の数)×(node0を構成するnode
Coreの数)×(nodeCoreの圧縮可能性判定
で行う論理演算の回数)}=40×4×9=1440。
【0135】つまり、PAT_X0,PAT_X50の
テストパターンの判定に必要な処理時間は、1440計
算量である。
テストパターンの判定に必要な処理時間は、1440計
算量である。
【0136】上記のように、本実施例では、特願平09
−168219号で提案された発明と比べて、より高速
に圧縮の可能性判定を行うことが可能である。
−168219号で提案された発明と比べて、より高速
に圧縮の可能性判定を行うことが可能である。
【0137】以上の実施例の説明のうち、図5におい
て、テストパターンを構成する端子の信号をnodeC
ore501に格納するときに、’0’→01,’1’
→10,’X’→11,’Z’→00のように変換表5
02に則って信号値をビット列に変換し、nodeCo
re501,530に格納した。この変換表は、例とし
ての値であり、’0’,’1’,’X’,’Z’に対し
て、別の組み合わせのビット列で置き換えることが可能
である。
て、テストパターンを構成する端子の信号をnodeC
ore501に格納するときに、’0’→01,’1’
→10,’X’→11,’Z’→00のように変換表5
02に則って信号値をビット列に変換し、nodeCo
re501,530に格納した。この変換表は、例とし
ての値であり、’0’,’1’,’X’,’Z’に対し
て、別の組み合わせのビット列で置き換えることが可能
である。
【0138】また、図6,図7では、テストパターン間
の圧縮の可能性判定のフローについて説明し、node
同士の圧縮可能性判定を深さ優先探索で行ったが、no
deの探索の順番は、別の方法を用いてもよい。その理
由は、本発明の圧縮可能性判定で重要なのは、以下の条
件を満たした判定を行うことだからである。
の圧縮の可能性判定のフローについて説明し、node
同士の圧縮可能性判定を深さ優先探索で行ったが、no
deの探索の順番は、別の方法を用いてもよい。その理
由は、本発明の圧縮可能性判定で重要なのは、以下の条
件を満たした判定を行うことだからである。
【0139】1.それぞれ対応する削除されたnode
と他のnodeの比較時は、その両方のnodeの子孫
に含まれる端子については、全て圧縮可能と判定する。
と他のnodeの比較時は、その両方のnodeの子孫
に含まれる端子については、全て圧縮可能と判定する。
【0140】2.それぞれ対応するnode0両方が存
在する場合、実施例の説明に基づいたnode0同士の
圧縮判定を行い圧縮判定を行う。その際、node0同
士の圧縮が可能であると判定されれば、そのnode0
以下に保存される端子については、全て圧縮可能と判定
する。
在する場合、実施例の説明に基づいたnode0同士の
圧縮判定を行い圧縮判定を行う。その際、node0同
士の圧縮が可能であると判定されれば、そのnode0
以下に保存される端子については、全て圧縮可能と判定
する。
【0141】3.テストパターンを形成する端子全てに
ついて圧縮が可能という判定がでるか、端子1つでも圧
縮が不可能という判定がでるまで判定をつづける。
ついて圧縮が可能という判定がでるか、端子1つでも圧
縮が不可能という判定がでるまで判定をつづける。
【0142】4.上記1、2の条件により、テストパタ
ーンを構成する端子全てが圧縮可能であれば、比較をし
た両テストパターンは、圧縮可能であると判定する。比
較を行っているテストパターンを構成する端子の内、1
セットでも圧縮ができないと判定されれば、圧縮が不可
能と判定する。
ーンを構成する端子全てが圧縮可能であれば、比較をし
た両テストパターンは、圧縮可能であると判定する。比
較を行っているテストパターンを構成する端子の内、1
セットでも圧縮ができないと判定されれば、圧縮が不可
能と判定する。
【0143】第2の実施例 次に本発明の第2の実施例について図面を参照して詳細
に説明する。
に説明する。
【0144】テストパターンとして保持する端子が入力
端子だけで形成されている場合は、最低限保持すべき端
子信号の種類は、’0’,’1’,’X’の3種類であ
る。しかし、保持すべき端子が入力端子だけでなく入出
力端子を含む場合、最低限保持すべき端子信号の種類
は、入力方向の0信号、入力方向の1信号、入力方向の
不定信号、出力方向の信号、入出力方向不定の信号の5
種類が必要となる。
端子だけで形成されている場合は、最低限保持すべき端
子信号の種類は、’0’,’1’,’X’の3種類であ
る。しかし、保持すべき端子が入力端子だけでなく入出
力端子を含む場合、最低限保持すべき端子信号の種類
は、入力方向の0信号、入力方向の1信号、入力方向の
不定信号、出力方向の信号、入出力方向不定の信号の5
種類が必要となる。
【0145】このように、端子の信号の種類が増加した
場合、上述した第1の実施例では、図4中に示されるワ
ードの数Lを増加させることにより対応できる。しか
し、この方法では、Lの値が2から3に増加する。この
ことは、1つの端子の信号を保持するのに必要なメモリ
が3ビットになることを意味する。
場合、上述した第1の実施例では、図4中に示されるワ
ードの数Lを増加させることにより対応できる。しか
し、この方法では、Lの値が2から3に増加する。この
ことは、1つの端子の信号を保持するのに必要なメモリ
が3ビットになることを意味する。
【0146】本実施例では保持すべき信号値を図11に
示すように定義する。
示すように定義する。
【0147】図11における領域1010は端子が入力
端子、又は、入出力端子の信号が入力方向の信号である
と定義する。領域1020は端子が出力端子、又は、入
出力端子の信号が出力方向の信号であると定義する。領
域1030は入出力端子の信号が入出力方向が不定の信
号であると定義する。領域1040は入出力端子の信号
が1010,1020,1030以外の方向の信号であ
ると定義する。
端子、又は、入出力端子の信号が入力方向の信号である
と定義する。領域1020は端子が出力端子、又は、入
出力端子の信号が出力方向の信号であると定義する。領
域1030は入出力端子の信号が入出力方向が不定の信
号であると定義する。領域1040は入出力端子の信号
が1010,1020,1030以外の方向の信号であ
ると定義する。
【0148】また、図11における領域1001は端子
の信号のレベルが0であると定義する。領域1002は
端子の信号のレベルが1であると定義する。領域100
3は端子の信号のレベルがX(不定信号)であると定義
する。領域1004は端子の信号のレベルが領域100
1,1002,1003で表現できないレベルの信号で
あると定義する。
の信号のレベルが0であると定義する。領域1002は
端子の信号のレベルが1であると定義する。領域100
3は端子の信号のレベルがX(不定信号)であると定義
する。領域1004は端子の信号のレベルが領域100
1,1002,1003で表現できないレベルの信号で
あると定義する。
【0149】図12は、図11のような信号の種類を持
つテストパターンの保持の実施例である。テストパター
ンを構成する端子の信号は’0i’,’1i’,’0
i’,’1o’,’Xx’である。
つテストパターンの保持の実施例である。テストパター
ンを構成する端子の信号は’0i’,’1i’,’0
i’,’1o’,’Xx’である。
【0150】図12における1151,1152は入力
端子、1153〜1155は入出力端子とする。入力端
子1151,1152の信号値をnodeCore11
70に格納する場合は、表の領域1102による変換を
行った信号を、それぞれ場所1171,1172に格納
する。それに対して、入出力端子1153〜1155の
信号をnodeCore1170に保存するときには、
それぞれの信号に対して、入力端子の信号の格納に必要
な2つ分の領域を1163〜1165を用いる。例とし
て挙げると、入出力端子1153の信号の保存時には、
2つの場所1173,1174を用いる。つまり、信号
格納ビット1173,1174の一方に入出力端子の出
力方向を、他方に、その入出力端子の信号レベルの記憶
を行う。圧縮の可能性判定において、’X’の信号とそ
れ以外の’0’,’1’,’Z’,’X’信号は圧縮が
可能であり、同じ信号同士は圧縮が可能である。また、
それ以外の組み合わせの圧縮は不可能である。
端子、1153〜1155は入出力端子とする。入力端
子1151,1152の信号値をnodeCore11
70に格納する場合は、表の領域1102による変換を
行った信号を、それぞれ場所1171,1172に格納
する。それに対して、入出力端子1153〜1155の
信号をnodeCore1170に保存するときには、
それぞれの信号に対して、入力端子の信号の格納に必要
な2つ分の領域を1163〜1165を用いる。例とし
て挙げると、入出力端子1153の信号の保存時には、
2つの場所1173,1174を用いる。つまり、信号
格納ビット1173,1174の一方に入出力端子の出
力方向を、他方に、その入出力端子の信号レベルの記憶
を行う。圧縮の可能性判定において、’X’の信号とそ
れ以外の’0’,’1’,’Z’,’X’信号は圧縮が
可能であり、同じ信号同士は圧縮が可能である。また、
それ以外の組み合わせの圧縮は不可能である。
【0151】’入出力方向不定’とそれ以外のものであ
る’入力方向’,’出力方向’,’その他’も同様の関
係を持っている。このことを利用し、図11の’入出力
方向不定’と’X’信号を対応させて、残りの’入力方
向’,’出力方向’,’その他’を’0’,’1’,’
Z’の3つと任意の組み合わせで1対1で対応させる。
る’入力方向’,’出力方向’,’その他’も同様の関
係を持っている。このことを利用し、図11の’入出力
方向不定’と’X’信号を対応させて、残りの’入力方
向’,’出力方向’,’その他’を’0’,’1’,’
Z’の3つと任意の組み合わせで1対1で対応させる。
【0152】本実施例の保存方法を用いることにより、
端子が保持すべき信号の種類が増加した場合も、Lの値
を2のままとすることができる。その結果、テストパタ
ーンの端子の大部分を占める入力端子の信号情報1つの
保存に必要なメモリ量は、増加しない。
端子が保持すべき信号の種類が増加した場合も、Lの値
を2のままとすることができる。その結果、テストパタ
ーンの端子の大部分を占める入力端子の信号情報1つの
保存に必要なメモリ量は、増加しない。
【0153】ここで、端子信号の種類が5という条件に
おいて、本実施例の方法を用いない場合と本実施例の方
法を用いた場合の端子1つあたりに必要なメモリ量を比
較する。本実施例の方法を用いない場合には、3ビット
である。それに対して、本実施例の方法を用いた場合
は、端子1つあたりに必要なメモリ量の平均は、2.1
ビット程度である。
おいて、本実施例の方法を用いない場合と本実施例の方
法を用いた場合の端子1つあたりに必要なメモリ量を比
較する。本実施例の方法を用いない場合には、3ビット
である。それに対して、本実施例の方法を用いた場合
は、端子1つあたりに必要なメモリ量の平均は、2.1
ビット程度である。
【0154】2.1ビット程度になる理由は、多くの場
合、入出力端子の数は全体の端子の数%程度であるため
である。入出力端子数が少ないため、テストパターンの
全体の端子あたりの平均メモリ量は、テストパターンの
大部分を占める入力端子の端子1つあたりに必要なメモ
リ量に依存する。例として、端子総数が10000、入
出力端子が全体の3パーセントを占めるテストパターン
では、1端子あたりに必要なメモリ量の平均は、(2×
10000×0.97+4×10000×0.03)/
10000=2.04、入出力端子が5%の場合は、
2.1となる。
合、入出力端子の数は全体の端子の数%程度であるため
である。入出力端子数が少ないため、テストパターンの
全体の端子あたりの平均メモリ量は、テストパターンの
大部分を占める入力端子の端子1つあたりに必要なメモ
リ量に依存する。例として、端子総数が10000、入
出力端子が全体の3パーセントを占めるテストパターン
では、1端子あたりに必要なメモリ量の平均は、(2×
10000×0.97+4×10000×0.03)/
10000=2.04、入出力端子が5%の場合は、
2.1となる。
【0155】上記の端子1つあたりに必要なメモリ使用
量の計算は、nodeCoreの内部のみの概算であ
り、子孫がX値のみであるnodeの削除による使用メ
モリの削減効果は考慮していない。
量の計算は、nodeCoreの内部のみの概算であ
り、子孫がX値のみであるnodeの削除による使用メ
モリの削減効果は考慮していない。
【0156】第3の実施例 第1の実施例では、図1におけるパターン圧縮判定手段
106において、入力ユニット105に保持しているテ
ストパターンとバッファ109中に保持しているテスト
パターンの圧縮が可能かどうかを判定し、比較対象パタ
ーンとなるバッファ中のテストパターンを選ぶ順番を決
めていなかった。本実施例では、バッファから比較対象
パターンを選ぶ時に、X値が多いテストパターンを優先
して選択する。
106において、入力ユニット105に保持しているテ
ストパターンとバッファ109中に保持しているテスト
パターンの圧縮が可能かどうかを判定し、比較対象パタ
ーンとなるバッファ中のテストパターンを選ぶ順番を決
めていなかった。本実施例では、バッファから比較対象
パターンを選ぶ時に、X値が多いテストパターンを優先
して選択する。
【0157】本実施例における選択の方法は3つある。
【0158】1つ目は、パターン圧縮判定を行うため
に、バッファからテストパターンを選択する度に、一番
X値が多いテストパターンを検索して選択する。
に、バッファからテストパターンを選択する度に、一番
X値が多いテストパターンを検索して選択する。
【0159】2つ目は、バッファ格納手段108からバ
ッファ109中にテストパターンを格納する時、また
は、格納後に、バッファ109中のテストパターンをソ
ートすることにより、バッファ109中のテストパター
ンをX値の多い順、または、少ない順に並べておく。
ッファ109中にテストパターンを格納する時、また
は、格納後に、バッファ109中のテストパターンをソ
ートすることにより、バッファ109中のテストパター
ンをX値の多い順、または、少ない順に並べておく。
【0160】3つ目は、バッファ109に保持されてい
るテストパターンをあらかじめX値の多い順、または、
X値の少ない順にソートしておく。そして、バッファ格
納手段108からバッファ109中にテストパターンを
格納する時に、バッファ109中のテストパターンの順
番の規則を壊さない場所に、テストパターンを格納す
る。
るテストパターンをあらかじめX値の多い順、または、
X値の少ない順にソートしておく。そして、バッファ格
納手段108からバッファ109中にテストパターンを
格納する時に、バッファ109中のテストパターンの順
番の規則を壊さない場所に、テストパターンを格納す
る。
【0161】本実施例の方法を用いることにより、パタ
ーン圧縮判定を高速に行うことができる。その理由を以
下に述べる。この方法を用いることにより、X値の多い
テストパターンから先に、パターン圧縮可能性判定が行
われる。パターン圧縮可能性判定は、テストパターン中
のX値が多いほど「圧縮可能」と判定される可能性が確
率的に高い。つまり、比較対象テストパターンを選択す
ることにより、テストパターン比較基準パターン105
と圧縮可能なテストパターンが、バッファ109中のテ
ストパターン集合の始めの方に集まる可能性が高くな
る。つまり、圧縮可能と判定されるまでに行われる圧縮
可能性判定の平均回数が少なくなるためである。
ーン圧縮判定を高速に行うことができる。その理由を以
下に述べる。この方法を用いることにより、X値の多い
テストパターンから先に、パターン圧縮可能性判定が行
われる。パターン圧縮可能性判定は、テストパターン中
のX値が多いほど「圧縮可能」と判定される可能性が確
率的に高い。つまり、比較対象テストパターンを選択す
ることにより、テストパターン比較基準パターン105
と圧縮可能なテストパターンが、バッファ109中のテ
ストパターン集合の始めの方に集まる可能性が高くな
る。つまり、圧縮可能と判定されるまでに行われる圧縮
可能性判定の平均回数が少なくなるためである。
【0162】なお、図1に示した装置構成はごく一般的
なコンピュータシステムおよびソフトウェアによっても
実現可能なものである。基本的にはキーボードなどの入
力部、プリンタやモニタなどの出力部、入力に応じた処
理を行う制御部および該制御部の動作を決定するプログ
ラムや処理に必要となるデータ等を記憶するメモリ部か
らなるもので実現可能である。メモリ部に記憶されるプ
ログラムは、着脱可能な記録媒体に格納され、入力部を
介して記憶される形態が一般的であり、本発明は記録媒
体をも含む。該記録媒体に格納されたプログラムによ
り、論理回路のテストパターンの圧縮がなされる。
なコンピュータシステムおよびソフトウェアによっても
実現可能なものである。基本的にはキーボードなどの入
力部、プリンタやモニタなどの出力部、入力に応じた処
理を行う制御部および該制御部の動作を決定するプログ
ラムや処理に必要となるデータ等を記憶するメモリ部か
らなるもので実現可能である。メモリ部に記憶されるプ
ログラムは、着脱可能な記録媒体に格納され、入力部を
介して記憶される形態が一般的であり、本発明は記録媒
体をも含む。該記録媒体に格納されたプログラムによ
り、論理回路のテストパターンの圧縮がなされる。
【0163】なお、ここでいう情報記録媒体とは、コン
ピュータに各種処理を実行させるためのプログラムが事
前に格納されたものであれば良く、例えば、コンピュー
タを一部とする装置に固定されているROM(Read Onl
y Memory)やHDD(Hard Disc Drive)、コンピュータ
を一部とする装置に着脱自在に装填されるCD(Compact
Disc)−ROMやFD(Floppy Disc)、等を許容する。
ピュータに各種処理を実行させるためのプログラムが事
前に格納されたものであれば良く、例えば、コンピュー
タを一部とする装置に固定されているROM(Read Onl
y Memory)やHDD(Hard Disc Drive)、コンピュータ
を一部とする装置に着脱自在に装填されるCD(Compact
Disc)−ROMやFD(Floppy Disc)、等を許容する。
【0164】
【発明の効果】本発明は以上説明したように構成されて
いるので、テストパターンの保持に必要なメモリ量を少
なくし、テストパターンが圧縮できるかの判定を迅速に
行うことができる効果がある。
いるので、テストパターンの保持に必要なメモリ量を少
なくし、テストパターンが圧縮できるかの判定を迅速に
行うことができる効果がある。
【図1】本発明の第1の実施例の構成を示すブロック図
である
である
【図2】本発明の実施例の処理を示すフローチャートで
ある。
ある。
【図3】本発明の実施例におけるデータ構造を示す図で
ある。
ある。
【図4】本発明の実施例におけるデータ構造を示す図で
ある。
ある。
【図5】本発明の実施例におけるnodeCoreへの
端子情報の格納状態を示す図である。
端子情報の格納状態を示す図である。
【図6】本発明の実施例におけるパターン圧縮判定手段
106の動作を説明するための図である。
106の動作を説明するための図である。
【図7】本発明の実施例におけるパターン圧縮判定手段
106の動作を説明するためのフローチャートである。
106の動作を説明するためのフローチャートである。
【図8】nodeCore同士の圧縮可能性判定の実施
例を説明するための図である。
例を説明するための図である。
【図9】本発明の実施例におけるパターン圧縮手段10
7の動作を説明するための図である。
7の動作を説明するための図である。
【図10】従来例におけるテストパターン保持用構造を
説明するための図である。
説明するための図である。
【図11】本発明の実施例における入力端子及び入出力
端子の信号の種類を示す図である。
端子の信号の種類を示す図である。
【図12】本発明の実施例におけるテストパターンの保
持例を示す図である。
持例を示す図である。
【図13】テストパターンの一例を示す図である。
101 初期テストパターン生成手段 102 パターン入力手段 103 パターン格納手段 104 記憶装置 105 入力ユニット 106 パターン圧縮判定手段 107 パターン圧縮手段 108 バッファ格納手段 109 バッファ 110 パターン出力手段 111 ユニット
Claims (7)
- 【請求項1】 論理回路の試験の際に必要とされるテス
トパターンを圧縮するための論理回路のテストパターン
圧縮判定方法であって、 前記テストパターンを、該テストパターンを構成する端
子情報を保持する複数ビットがワード単位で収容された
nodeによる木構造の形態とし、木構造の最下位層に位置するnodeを予め定められた
表に基づいてテストパターンを構成する端子情報を保持
する複数ビットをワード単位で収容することとし、ま
た、最下位層以外のnodeは直接端子情報を保持する
ことなく子孫のnodeの管理を行うこととし、 前記木構造を構成する各nodeについて、その子孫に
より保持されている端子情報の値が全てドントケア値を
示すX値ならば、そのnodeを削除することを特徴と
する論理回路のテストパターン圧縮判定方法。 - 【請求項2】 請求項1記載の論理回路のテストパター
ン圧縮判定方法において、 複数のテストパターン同士の圧縮可能性の判定を、 対応するnode同士を比較し、いずれか一方または両
方のnodeが存在しない場合にはそのnode以下に
保持されている端子の信号について圧縮可能であると判
定することを特徴とする論理回路のテストパターン圧縮
判定方法。 - 【請求項3】 請求項2記載の論理回路のテストパター
ン圧縮判定方法において、 対応するnode同士を比較し、木構造の最下位層に位
置するnodeが存在することが確認された場合、ワー
ド単位の演算により一度にテストパターンの複数の端子
情報を比較することにより圧縮可能性の判定を行う特徴
とする論理回路のテストパターン圧縮判定方法。 - 【請求項4】 請求項1ないし請求項3のいずれかに記
載の論理回路のテストパターン圧縮方法をコンピュータ
に実行させるためのプログラムが格納されていることを
特徴とする情報記録媒体。 - 【請求項5】 論理回路の試験の際に必要とされるテス
トパターンを圧縮するための論理回路のテストパターン
圧縮判定装置であって、 入力された前記テストパターンを、該テストパターンを
構成する端子情報を保持する複数ビットがワード単位で
収容されたnodeによる木構造の形態とし、木構造の
最下位層に位置するnodeを予め定められた表に基づ
いてテストパターンを構成する端子情報を保持する複数
ビットをワード単位で収容することとし、また、最下位
層以外のnodeは直接端子情報を保持することなく子
孫のnodeの管理を行うこととし、前記木構造を構成
する各nodeについて、その子孫により保持されてい
る端子情報の値が全てドントケア値を示すX値ならば、
そのnodeを削除するパターン入力手段を有すること
を特徴とする論理回路のテストパターン圧縮判定装置。 - 【請求項6】 請求項5記載の論理回路のテストパター
ン圧縮判定装置において、複数のテストパターン同士の
圧縮可能性の判定を、対応するnode同士を比較し、
いずれか一方または両方のnodeが存在しない場合に
はそのnode以下に保持されている端子の信号につい
て圧縮可能であると判定するパターン圧縮判定手段を有
することを特徴とする論理回路のテストパターン圧縮判
定装置。 - 【請求項7】 請求項6記載の論理回路のテストパター
ン圧縮判定装置において、パターン圧縮判定手段は、対
応するnode同士を比較し、木構造の最下位層に位置
するnodeが存在することが確認された場合、ワード
単位の演算により一度にテストパターンの複数の端子情
報を比較することにより圧縮可能性の判定行うことを特
徴とする論理回路のテストパターン圧縮判定装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10145734A JP2990153B2 (ja) | 1998-05-27 | 1998-05-27 | 論理回路のテストパターン圧縮判定装置および圧縮判定方法および該方法を格納した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10145734A JP2990153B2 (ja) | 1998-05-27 | 1998-05-27 | 論理回路のテストパターン圧縮判定装置および圧縮判定方法および該方法を格納した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11337628A JPH11337628A (ja) | 1999-12-10 |
JP2990153B2 true JP2990153B2 (ja) | 1999-12-13 |
Family
ID=15391918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10145734A Expired - Fee Related JP2990153B2 (ja) | 1998-05-27 | 1998-05-27 | 論理回路のテストパターン圧縮判定装置および圧縮判定方法および該方法を格納した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2990153B2 (ja) |
-
1998
- 1998-05-27 JP JP10145734A patent/JP2990153B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11337628A (ja) | 1999-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5477474A (en) | Computer logic simulation with dynamic modeling | |
KR20200112875A (ko) | 고속 그래프 순회를 위한 컴퓨터 아키텍처 | |
JPH0776906B2 (ja) | 分類加速装置のための速度及びメモリー制御 | |
JP3601416B2 (ja) | 情報検索方法及び装置 | |
Iyengar et al. | Deterministic built-in pattern generation for sequential circuits | |
CN110597655B (zh) | 迁移和基于纠删码的重构相耦合快速预知修复方法及装置 | |
JP3630057B2 (ja) | 検索用データ構造構築方法、その装置、及び機械可読プログラム記録媒体 | |
JPH0776909B2 (ja) | 分類加速装置のデータ保全性特徴 | |
US9436713B2 (en) | Database analyzer and database analysis method | |
JPH0776910B2 (ja) | リバウンド分類装置を併合装置として使用する分類加速装置 | |
JPH0877221A (ja) | 消費電力を低減する有限状態マシンを設計するシステム及び方法 | |
JP2990153B2 (ja) | 論理回路のテストパターン圧縮判定装置および圧縮判定方法および該方法を格納した記録媒体 | |
CN115994575B (zh) | 一种电力故障诊断神经网络架构设计方法及*** | |
JPH0776908B2 (ja) | 分類加速装置の安定分類 | |
JPH1075180A (ja) | ディジタル符号化記号列の記憶方法および記憶装置 | |
Chuang et al. | Efficient generation of isosurfaces in volume rendering | |
US6246349B1 (en) | Method and system for compressing a state table that allows use of the state table without full uncompression | |
US6392566B2 (en) | Code modulator and code modulation method | |
US6857094B2 (en) | Method and system for inferring fault propagation paths in combinational logic circuit | |
JP2956624B2 (ja) | 組合せ論理回路における逆論理展開方式 | |
CN111294054A (zh) | 一种服务于工业互联数据采集存储的压缩方法 | |
Martínez Palau | Two-way replacement selection | |
CN117421308B (zh) | 一种数据中台的数据重构方法 | |
JP3579952B2 (ja) | 信号変換方法 | |
WO2024004083A1 (ja) | データ生成装置、データ生成方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |