JPH08185425A - 論理回路のテストパターン生成方法およびその装置 - Google Patents

論理回路のテストパターン生成方法およびその装置

Info

Publication number
JPH08185425A
JPH08185425A JP6327532A JP32753294A JPH08185425A JP H08185425 A JPH08185425 A JP H08185425A JP 6327532 A JP6327532 A JP 6327532A JP 32753294 A JP32753294 A JP 32753294A JP H08185425 A JPH08185425 A JP H08185425A
Authority
JP
Japan
Prior art keywords
value
vector
function value
components
calculation
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.)
Pending
Application number
JP6327532A
Other languages
English (en)
Inventor
Koichiro Natsume
幸一郎 夏目
Kazumi Hatakeyama
一実 畠山
Hiroshi Date
博 伊達
Norinobu Nakao
教伸 中尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6327532A priority Critical patent/JPH08185425A/ja
Publication of JPH08185425A publication Critical patent/JPH08185425A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【目的】 論理回路のテストパターン生成を高速化す
る。 【構成】 入力ベクトルへの変更を繰り返すことにより
関数値が最小のものを探索する。探索の際、(1)最適
変更成分数決定部114は、最適変更成分数rを入力ベ
クトルに対する関数値をもとに計算し、変更ベクトル生
成部120がr個の成分に対して変更を加え、(2)故
障検出可否判定部122は、関数値が一定値以下になっ
た場合には、ベクトルが変わるごとに論理シミュレーシ
ョンを行い、故障検出可能と判定されたら処理を終了す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、論理回路の製造故障を
検出するテストパターンを自動生成する方法およびその
ための装置に関する。
【0002】
【従来の技術】従来のテストパターン生成方法の一つで
ある特開平3−134579号公報「多値計算モデルお
よびそれを用いた論理回路のテストパターン生成方法」
について説明する。
【0003】これは、与えられた故障を検出できるテス
トパターンを求めるために、論理回路の入力信号を表現
するベクトルに対する関数値を多値計算モデルに基づい
て定義しておき、その関数値が最小のベクトルを探索す
る方法である。探索の際には、(1)ベクトルの成分を
1つ選んで、その値wを1−wに変更するごとに、関数
値の計算を行う、(2)成分変更前後のベクトルに対す
る関数値に基づいて、以後の成分変更の対象とするベク
トルを決定する、(3)成分変更の対象とするベクトル
が変わるごとに、故障のない正常回路と故障回路におい
て当該ベクトルに対する出力論理値を計算し、その結果
を用いて故障検出可能と判定されたら処理を終了するよ
うにしている。
【0004】
【発明が解決しようとする課題】論理回路の大規模化と
多様化が進むにつれて、テストパターン生成は、ぼう大
な時間を要するようになっている。このため、テストパ
ターン生成は、高速化が重要となっている。ところで、
従来の方法では、試行ベクトルを、評価値のより小さい
ものに置き換える際、成分を1つだけ、例えば、0を1
に、1を0に、のように変更することを許す。そして、
その都度、出力論理値を計算し、さらに、評価値を計算
する。しかし、この出力論理値および評価値の計算は、
テストパターンの生成処理において、処理時間の大部分
を占める。このため、高速化を達成するには、出力論理
値および評価値の計算の処理時間を低減することが課題
となっている。
【0005】本発明の目的は、従来の手法を改良するこ
とにより、出力論理値および評価値の計算に要する時間
を減少させて、テストパターン生成を高速に行なえるテ
ストパターン生成方法およびそのための装置を提供する
ことにある。
【0006】
【課題を解決するための手段】上記の目的を達成するた
め、従来のアルゴリズムを変更して、変更を加える成分
数の最適値を計算し、該計算結果に基づいて成分に変更
を加える処理を行うようにする。また、論理回路の入力
信号を表現するベクトルが与えられた故障を検出できる
かどうかの判定には、出力論理値の計算の要否を判定す
るステップを含む処理を用い、必要と判定された場合だ
け、正常回路と故障回路において出力論理値の計算を行
うようにする。
【0007】例えば、本発明の一態様によれば、入力信
号線および出力信号線を持つ、テスト対象の論理回路を
テストするための入力信号を表現するベクトルのパター
ンを生成するためのテストパターン生成方法において、
上記論理回路の入力信号を表現するベクトルに対して定
義された関数値を計算するステップと、上記ベクトルの
全部または一部の成分に対して変更を加えるステップを
含み、上記関数値の計算は、信号線1本につき1個また
は複数個の関数値計算用信号値を用い、入力信号線に割
り当てられた関数値計算用信号値に対して、予め定めた
演算規則を適用し、その結果を、出力信号線に対する関
数値計算用信号値とする処理を含み、上記ベクトルの成
分に対する変更は、変更を加える成分の数の最適値を決
定する処理と、その決定された数の成分について変更を
加える処理とを含むことを特徴とするテストパターン生
成方法が提供される。
【0008】また、本発明の他の態様によれば、入力信
号線および出力信号線を持つ、テスト対象の論理回路を
テストするための入力信号を表現するベクトルのパター
ンを生成するためのテストパターン生成装置において、
論理回路の入力信号を表現するベクトルに対して定義さ
れた関数値を計算する関数値計算部と、該ベクトルを、
全部または一部の成分に対して変更を加えたものに変更
する変更ベクトル生成部と、変更を加える成分の数の最
適値を決定する最適変更成分数計算部とを含み、上記関
数値計算部は、信号線1本につき1個または複数個の関
数値計算用信号値を与える手段と、ゲートの入力信号線
に割り当てられた関数値計算用信号値に対して、予め定
めた演算規則を適用して、その結果を出力信号線に対す
る関数値計算用信号値とする手段とを含み、上記変更ベ
クトル生成部は、最適変更成分数計算部の決定に基づい
て、ベクトルの成分に変更を加えることを特徴とするテ
ストパターン生成装置が提供される。
【0009】
【作用】論理回路は、内部に有する論理素子を組み合わ
せて構成され、特定の入力信号パターンに対して、特定
の出力値を生じる。そして、この論理回路に故障が生じ
ると、その位置で、信号が“0”または“1”のいずれ
かに固定される性質を有する。従って、入力信号を入力
させると、その故障の影響を受けて、出力が本来の値と
は異なることが起きる場合がある。もちろん、入力信号
のパターンによっては、故障の影響を受けず、故障/非
故障の区別がつかない場合もある。しかも、この故障の
影響は、論理回路の構成と故障個所とによって、それぞ
れ異なる。そこで、故障の影響を受ける入力信号のパタ
ーンを見つけることにより、それぞれの論理回路の特定
の故障の判定が行なえる。本発明は、このような論理回
路の持つ性質を利用して、それぞれの論理回路の構成お
よび故障個所に応じたテストパターンを生成するもので
ある。
【0010】このテストパターンの生成に際しては、生
成されたベクトルのパターンを評価し、評価に耐えるベ
クトルのパターンが生成される間で、パターンを変更し
て、すなわち、ベクトルの成分の値を変更して、ベクト
ルを生成し、それを、適当なパターンが見つかるまで繰
り返す。
【0011】その際、本発明では、生成されたベクトル
の変更を加える成分数が、常に最適な値に決定されるの
で、ベクトルの評価値の計算回数が少なくてすむ。ま
た、出力論理値の計算の要否を判定することにより、そ
の所要回数が少なくてすむ。このため、本発明によれ
ば、論理回路のテストパターン生成を高速化することが
できる。
【0012】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0013】まず、本発明の実施例として、論理回路と
処理対象の故障が一つ与えられたとき、その故障を検出
できるテストパターンをプロセッサ1台で生成する装置
とその動作を概略説明し、理解の助けとする。
【0014】図1に、本実施例のテストパターン生成装
置のハ−ドウェアシステムの構成を示す。本装置のハ−
ドウェアは、入力部101、出力部103、マスタ−プ
ロセッサ110を含んで構成される。マスタ−プロセッ
サ110は、入出力インタ−フェ−ス61、CPU62
およびメモリ63を含んで構成されている。メモリ63
には、CPU62が実行するプログラムおよびデータが
格納される。CPU62がメモリ63に格納されるプロ
グラムを実行することにより、後述する各種機能が実現
される。
【0015】図2に、上記したハードウェアシステムで
本実施例のテストパターン生成装置の機能構成を示す。
本装置は、入力部101、テストパターン生成部10
2、出力部103を含んで構成される。テストパターン
生成部102は、初期試行ベクトル決定部112、関数
値計算部113、最適変更成分数決定部114、変更ベ
クトル生成部120、試行ベクトル決定部121および
故障検出可否判定部122を含んで構成されている。
【0016】入力部101によって、論理回路と故障情
報とを入力し、初期試行ベクトル決定部112により初
期試行ベクトルを決定する。関数値計算部113によ
り、初期試行ベクトルに対して決まる関数値を計算す
る。最適変更成分数決定部114により最適変更成分数
rを決定し、変更ベクトル生成部120により試行ベク
トルの成分をr個変更してできる変更ベクトルをt個生
成する。関数値計算部113により変更ベクトルの関数
値を計算し、試行ベクトル決定部121により、試行ベ
クトルおよび変更ベクトルに対して決まる関数値に基づ
いて新しい試行ベクトルを決定して処理を繰り返す。最
適変更成分数rは、試行ベクトルを決定するごとに再計
算し、故障検出可否判定部122により試行ベクトルが
与えられた故障を検出できると判定されたら、出力部1
03によってその試行ベクトルを出力して処理を終了す
る。
【0017】次に、本発明の実施例として、論理回路と
処理対象の故障が一つ与えられたとき、その故障を検出
できるテストパターンを複数台のプロセッサを用いて生
成する例について、詳細に説明する。
【0018】図3に、本実施例のテストパターン生成装
置のハ−ドウェア構成を示す。本装置のハ−ドウェア
は、入力部101、出力部103、マスタ−プロセッサ
110、変更ベクトル生成・評価用プロセッサ130お
よび150、相互結合網190を含んで構成されてい
る。マスタ−プロセッサ110は、入出力インタ−フェ
−ス61、CPU62、メモリ63、送受信インタ−フ
ェ−ス64を含んで構成されている。変更ベクトル生成
・評価用プロセッサ130は、CPU72、メモリ7
3、送受信インタ−フェ−ス74を含んで構成されてい
る。変更ベクトル生成・評価用プロセッサ150も同様
に構成されている。上記メモリ63,73,83には、
それぞれのプロセッサにおけるCPU62,72,82
の動作プログラムおよび各種データが記憶される。プロ
グラムとしては、後述するフロー図に示される手順を実
行するためのプログラムが挙げられる。また、データと
しては、論理回路およびその故障状態を示す情報、関数
値計算用信号値を与えるための情報、演算規則情報、コ
マンドデータ等の各種データが挙げられる。データは、
それぞれファイルを構成して、格納されている。
【0019】図4に、本実施例のテストパターン生成装
置の機能構成を示す。本装置は、入力部101、テスト
パターン生成部102、出力部103を含んで構成され
る。テストパターン生成部102は、マスタープロセッ
サ110と、変更ベクトル生成・評価用プロセッサ13
0および150を含んで構成されている。マスタープロ
セッサ110は、故障回路生成部111、初期試行ベク
トル決定部112、関数値計算部113、最適変更成分
数決定部114、ハミング距離推定部115、関数値変
化情報生成部116、乱数発生部117、ベクトル全成
分変更部118、変更成分数置き換え部119、試行ベ
クトル決定部121および故障検出可否判定部122を
含んで構成されている。変更ベクトル生成・評価用プロ
セッサ130は、故障回路生成部131、乱数発生部1
32、変更ベクトル生成部133および関数値計算部1
34を含んで構成されている。変更ベクトル生成・評価
用プロセッサ150も同様に構成されている。
【0020】図5、図6、図7および図8は、この装置
の動作を示すフロ−チャ−トである。図5および図8が
マスタ−プロセッサの動作を、図6および図7が変更ベ
クトル生成・評価用プロセッサの動作を示す。
【0021】図5のステップ201では、入力部101
によって、論理回路と故障情報を入力し、故障回路を構
成して記憶する。すなわち、テストの対象となる論理回
路の構成を示す情報と、その論理回路における故障状態
を指定する情報とを入力する。ステップ202では、初
期試行ベクトル決定部112によって、0または1の値
を取る成分を持つ初期試行ベクトルをランダムに生成す
る。関数値計算部113は、それに対して決まる関数値
を計算する。ステップ203では、関数値変化情報生成
部116によって、関数値の改良に失敗した回数を表す
関数値改良失敗回数sを0に初期設定する。ステップ2
04では、最適変更成分数決定部114とハミング距離
推定部115によって、最適変更成分数rを計算する。
ステップ204aでは、最適変更成分数rが試行ベクト
ルの成分数nの半分を上回るかどうかを判定する。r≦
n/2の場合には、マスタ−プロセッサ110は、試行
ベクトルとrを変更ベクトル生成・評価用プロセッサ1
30および150に送信し、図6のステップ205へ進
む。一方、ステップ401において、r>n/2の場合
にはステップ204bに進み、ベクトル全成分変更部1
18は、試行ベクトルの成分全部に注目し、それぞれの
値wを1−wに変更してできる全変更ベクトルを生成す
る。ステップ204cでは、変更成分数置き換え部11
9によってrをn−rに置き換える。さらに、マスタ−
プロセッサ110は、全変更ベクトルとrを変更ベクト
ル生成・評価用プロセッサ130および150に送信
し、図7のステップ205aへ進む。
【0022】図6のステップ205では、変更ベクトル
生成部133および153によって、試行ベクトルの成
分をランダムにr個選んで、それぞれの値wを1−wに
変更してできる変更ベクトルを、全プロセッサ合わせて
t個生成する。ステップ205bでは、関数値計算部1
34および154によって変更ベクトルに対して決まる
関数値を計算する。変更ベクトル生成・評価用プロセッ
サ130および150は、変更ベクトルとそれに対する
関数値をマスタ−プロセッサ110に送信し、図8のス
テップ206へ進む。
【0023】図7のステップ205aでは、変更ベクト
ル生成部133および153によって、全変更ベクトル
の成分をランダムにr個選んで、それぞれの値wを1−
wに変更してできる変更ベクトルを、全プロセッサ合わ
せてt個生成する。ステップ205bでは、関数値計算
部134および154によって変更ベクトルに対して決
まる関数値を計算する。変更ベクトル生成・評価用プロ
セッサ130および150は、変更ベクトルとそれに対
する関数値をマスタ−プロセッサ110に送信し、図8
のステップ206へ進む。
【0024】図8のステップ206では、試行ベクトル
決定部121によって、試行ベクトルおよび変更ベクト
ルのうち関数値が最小のものを新しい試行ベクトルとす
る。ステップ207では、試行ベクトルに対して決まる
関数値が減少したかどうかを判定する。減少したと判定
された場合には、ステップ208に進み、故障検出可否
判定部122によって試行ベクトルが与えられた故障を
検出できるかどうかを判定する。試行ベクトルが与えら
れた故障を検出できると判定された場合には、ステップ
209に進んで、出力部103によって、その試行ベク
トルを出力して処理を終了する。検出できないと判定さ
れた場合には、ステップ210に進んで関数値変化情報
生成部116によって、関数値改良失敗回数sを0に設
定してステップ204に戻る。一方、ステップ207に
おいて試行ベクトルに対して決まる関数値が減少しなか
ったと判定された場合には、ステップ211に進み、関
数値変化情報生成部116によって、関数値改良失敗回
数sを1増やして、ステップ204に戻る。
【0025】以下、ベクトルに対して決まる関数値の計
算手順およびステップ204、205、208の処理手
順についてさらに詳しく説明する。
【0026】図9は、ベクトルに対する関数値を計算す
る際に用いる関数値計算用信号値の割り当て規則であ
る。正常回路と故障回路において、対応する成分の値が
0の場合には入力ピンに関数値計算用信号値εを、1の
場合には関数値計算用信号値1−εを割り当てる。ただ
し、εは入力ピンに対する関数値計算用信号値割り当て
用定数で、0.0<ε<0.5とする。次に、故障回路
の場合には、与えられた故障が0縮退故障の場合には故
障箇所に関数値計算用信号値0.0を、1縮退故障の場
合には関数値計算用信号値1.0を割り当てる。ここ
で、0縮退故障とは、入力信号の如何を問わず、出力が
0となる故障であり、1縮退故障とは、入力信号の如何
を問わず、出力が1となる故障である。
【0027】図10には、ベクトルに対して決まる関数
値を計算する際に用いる関数値計算用信号値の演算規則
を示す。ベクトルに対する関数値は、上記の割り当て規
則と演算規則を用いて、次のように計算される。正常回
路と故障回路において、上記のように関数値計算用信号
値を割り当て、各論理ゲートに対して図10に示す関数
値計算用信号値の演算規則を入力端子から順番に適用す
る。ただし、NANDゲート、NORゲート、XORゲ
ート、XNORゲートに対する演算規則は、図10の演
算規則を適宜合成したものを用いる。この処理の結果か
ら、数1の値を求め、それを与えられた故障と当該ベク
トルに対する関数値とする。ただし、出力値とは、出力
端子の関数値計算用信号値のことである。
【0028】
【数1】
【0029】図11に、ε=0.01として、ORゲー
トの出力線の1縮退故障とベクトル(0,0,0)に対
する関数値を計算する一例を示す。まず、正常回路の出
力値を求める。3つの入力ピンに関数値計算用信号値
0.01を与えて、図10の演算規則を適用すると、出
力値は0.9801と0.000199となる。次に、
故障回路の出力値を求める。3つの入力ピンに関数値計
算用信号値0.01を、ORゲートの出力線には関数値
計算用信号値1.00を与えて、図10の演算規則を適
用すると、出力値は0と0.01となる。これより、関
数値は1.0102と計算される。
【0030】次に、ステップ204の処理手順の詳細説
明を行う。ステップ204における最適変更成分数rの
計算には、次の2つの手順を用いることができる。
【0031】図12に、第1番目の処理手順のフローチ
ャートを示す。ステップ301では、ハミング距離推定
部115によって、関数値が最小のベクトルと試行ベク
トルとのハミング距離hを数2で推定する。ここで、ε
は入力ピンに対する関数値計算用信号値割り当て用定
数、cは試行ベクトルに対して決まる関数値、[x]は
xを超えない最大の整数とする。
【0032】
【数2】
【0033】次に、最適変更成分数決定部114は、ス
テップ302において、1以上n以下の整数のうち数3
で与えられる得点vを最大にするxを求める。なお、n
は試行ベクトルの成分数とする。
【0034】
【数3】
【0035】得点vは、試行ベクトルの成分をランダム
にx個変更して変更ベクトルを生成した場合のテストパ
ターン生成速度の期待値を表現している。ただし、数3
においてy<0またはy>xの場合には、
【0036】
【数4】
【0037】と約束し、pは関数値を並行して計算する
ベクトルの数とする。
【0038】次に、最適変更成分数決定部114は、ス
テップ303において、ステップ302で求めたxに修
正乗数(aのs乗)をかけて最適変更成分数rとして処
理を終了する。ただし、aは変更成分数の修正乗数計算
用定数、sは関数値改良失敗回数とする。
【0039】ここで、関数値の対数を取ることによりハ
ミング距離hを推定できることを示す根拠と、試行ベク
トルの成分のうち変更の対象とするものの数xとテスト
パターン生成速度の期待値vとの関係を示す。
【0040】まず、ここで用いるハミング距離hの推定
可能性の尺度の定義を説明する。許容誤差e0を決め
て、組合せ回路を1つ考え、それに含まれる0または1
縮退故障のうち冗長でないものの1つに注目し、数5を
満たす入力ベクトルの数を2のn乗(nはベクトルの成
分数)で割って注目故障Fに関するハミング距離推定成
功率SEIT(F)を求める。ここで、εは入力ピンに
対する関数値計算用信号値割り当て用定数、cは試行ベ
クトルに対して決まる関数値、[x]はxを超えない最
大の整数とする。
【0041】
【数5】
【0042】この式は、数2によりハミング距離hを許
容誤差の範囲内で推定できるという意味である。さら
に、組合せ回路の平均ハミング距離推定成功率を次式に
より求め、それをハミング距離hの推定可能性の尺度と
して用いる。
【0043】
【数6】
【0044】図13に、2ビットの算術演算回路を示し
た。e0=1として、この回路の平均ハミング距離推定
成功率を求めると、0.9980という高率となった。
【0045】また、本実施例の主な対象は、0または1
縮退故障のうち、乱数パターンでは検出できないような
テストパターン数の少ない故障である。そこで、テスト
パターンが最も少ない故障、例えば、図13に示したよ
うな故障、を処理の対象としたときのハミング距離推定
成功率SEIT(F)を計算した(ただしe0=1)。
その結果、SEIT(F)=0.9063という高率と
なった。
【0046】また、図13に示した故障を処理の対象と
したときの関数値cの対数(数7の右辺)とハミング距
離hとの相関表を図14に示した。太線で囲んだ欄は、
数7で表される直線の通過範囲を示しており、数7が厳
密に成り立っていれば入力ベクトルは全部ここに集中す
る。
【0047】
【数7】
【0048】この相関表からも、関数値cの対数とハミ
ング距離hとの間には強い相関があることが見てとれ
る。
【0049】これらの結果より、関数値の対数を取るこ
とによりハミング距離hを良く推定できることが分か
る。
【0050】また、図15に、n=30、p=15、h
=10のときの、数3によるxとvの関係を表すグラフ
を示した。このグラフは、ほぼ山型になり、最適なxの
値を選ぶことにより、テスト生成を高速化できることが
分かる。
【0051】図16に、ステップ204の第2番目の処
理手順のフローチャートを示した。ステップ301で
は、ハミング距離推定部115によって、関数値が最小
のベクトルと試行ベクトルとのハミング距離hを数2で
推定する。次に、ステップ304において、最適変更成
分数決定部114により、rを数8で直接求め、処理を
終了する。ただし、各記号の意味は、上記と同じものと
する。
【0052】
【数8】
【0053】s=0の場合には、数8は得点vを最大に
するxの値を与える。
【0054】図17に、n=30、p=2および15、
s=0の場合の、数8によるハミング距離hと最適変更
成分数rとの関係を表すグラフを示した。下に向かって
凸な部分と上に向かって凸な部分を1箇所ずつ含んだ右
上がりの曲線となり、下に向かって凸な部分のほうが上
に向かって凸な部分よりもわずかに直線に近くなってい
る。
【0055】ステップ208の処理の詳細フローチャー
トを図18に示した。ステップ501で試行ベクトルに
対して決まる関数値がc0以上かどうかを判定し、c0
以上ならばステップ502に、c0より小さい場合には
ステップ503に進む。ステップ502に進んだ場合に
は,“故障検出不可”と判定して処理を終了する。ステ
ップ503に進んだ場合には、正常回路と故障回路にお
いて試行ベクトルに対して論理シミュレーションを行
い、ステップ504で、その出力論理値により故障検出
の可否を判定して処理を終了する。
【0056】ここで、関数値が大きい場合には、“故障
検出不可”と判定できる根拠を説明する。
【0057】図13に示した2ビット算術演算回路と、
その0または1縮退故障のうち冗長でないもの全部を考
え、入力ベクトルと故障の全組合せのうち、当該入力ベ
クトルが当該故障を検出できる場合だけをピックアップ
したときの、関数値の範囲を求めると、3.53×(1
0の−1乗)以上1.13以下となった。また、当該入
力ベクトルが当該故障を検出できない場合だけをピック
アップしたときの関数値の範囲は、1.19×(10の
1乗)以上2.35×(10の6乗)以下となった。し
たがって、c0を適当に定めることにより、関数値がc
0以上ならば“故障検出不可”と判定できることが分か
る。
【0058】図19には、c0の最適な値を決定するの
に都合の良いように構成した、不自然な組合せ回路と、
その故障とを示した。処理の対象としては、その故障だ
けを想定し、その故障を検出できる入力ベクトルだけを
ピックアップして、関数値の範囲を求めると、1.01
以上2.19以下となった。また、その故障を検出でき
ない入力ベクトルだけをピックアップしたときの関数値
の範囲は、1.86以上1.00×(10の2乗)以下
となった。この結果より、c0=2.00とした。
【0059】また、この例では、入力ベクトルが注目故
障を検出できる場合と、できない場合とにおける関数値
の範囲がオーバーラップしている。したがって、関数値
が所定の値より小さい場合には、“故障検出可能”、大
きい場合には、“故障検出不可能”と判定することが一
義的にはできないことが分かる。そこで、関数値が小さ
い場合には、正常回路と故障回路において論理シミュレ
ーションを行い、その結果により故障検出の可否を判定
するようにしている。
【0060】以下、ε=0.01、a=0.70、c0
=2.00、p=t=変更ベクトル生成・評価用プロセ
ッサ数として、本発明によるテストパターン生成の具体
例を3例示す。
【0061】まず、図20に、AND回路とその第1入
力線の1縮退故障を、図21には数3を用いて、その故
障のテストパターンを生成する例を示す。使用するプロ
セッサは、マスタープロセッサ(110)1台と変更ベ
クトル生成・評価用プロセッサ(130−150)7台
とする。図21において、符号601および603がマ
スタープロセッサ110の動作を、符号602が変更ベ
クトル生成・評価用プロセッサ130−150の動作を
示す。
【0062】マスタープロセッサ110は、符号601
では、初期試行ベクトルを生成し、それに対して決まる
関数値を計算する。初期試行ベクトル(1,0,0,
1,1)が生成されたとすると、それに対する関数値
は、数1より、1.02×(10の6乗)と求められ
る。関数値改良失敗回数sを0に初期設定し、関数値が
最小のベクトルと試行ベクトルとのハミング距離hを推
定する。数2より、h=3と推定できる。次に、最適変
更成分数rを数3を用いて計算する。xと数3の左辺v
との関係を表す図22から分かるように、vはx=3の
とき最大になる。その値に修正乗数(aのs乗)をかけ
て最適変更成分数rを求めると、r=3となる。rは試
行ベクトルの成分数n(=5)の半分より大きいので、
試行ベクトルの成分全部に注目し、それぞれの値wを1
−wに変更した全変更ベクトルを生成し、rをn−rで
置き換える。その結果、全変更ベクトルは(0,1,
1,0,0)、r=2となる。マスタープロセッサ11
0は、全変更ベクトルと最適変更成分数rを7台の変更
ベクトル生成・評価用プロセッサ130−150に送信
する。
【0063】602では、変更ベクトル生成・評価用プ
ロセッサ130−150により、全変更ベクトルの成分
をランダムに2個選んで、それぞれの値wを1−wに変
更することにより、変更ベクトルの生成と関数値の計算
とを行い、それらをマスタープロセッサ110に送信す
る。
【0064】603では、マスタープロセッサ110に
より、試行ベクトルおよび変更ベクトルのうち関数値が
最も小さいものを新しい試行ベクトルとする。変更ベク
トルが602のように生成されたとすると、新しい試行
ベクトルは(0,1,1,1,1)、関数値は数1より
1.05となる。試行ベクトルに対して決まる関数値が
減少してc0より小さくなったので、正常回路と故障回
路において試行ベクトルに対して論理シミュレーション
を行う。出力論理値は、それぞれ0と1となり、試行ベ
クトルは、故障を検出できると分かるので、その試行ベ
クトルを出力して処理を終了する。
【0065】次に、図23に、論理回路の一例とそれに
含まれるANDゲートの出力線の0縮退故障を、図24
には、数8を用いてその故障のテストパターンを生成す
る例を示す。使用するプロセッサは、マスタープロセッ
サ(110)1台と変更ベクトル生成・評価用プロセッ
サ(130,150)2台とする。図24において、符
号701、703および705がマスタープロセッサ1
10の動作を、符号702および704が変更ベクトル
生成・評価用プロセッサ130,150の動作を示す。
【0066】マスタープロセッサ110は、符号701
では、初期試行ベクトルを生成し、それに対して決まる
関数値を計算する。初期試行ベクトル(0,1,0,
0)が生成されたとすると、それに対する関数値は、数
1より2.58×(10の3乗)と求められる。関数値
改良失敗回数sを0に初期設定し、関数値が最小のベク
トルと試行ベクトルとのハミング距離hを推定する。数
2よりh=2と推定できる。次に最適変更成分数rを計
算する。数8よりr=2となり、試行ベクトルの成分数
n(=4)の半分を越えてはいないので、マスタープロ
セッサ110は、試行ベクトルと最適変更成分数rを2
台の変更ベクトル生成・評価用プロセッサ130,15
0に送信する。
【0067】符号702では、変更ベクトル生成・評価
用プロセッサ130,150により、試行ベクトルの成
分をランダムに2個選んでそれぞれの値wを1−wに変
更することにより、変更ベクトルの生成と関数値の計算
を行い、それらをマスタープロセッサ110に送信す
る。
【0068】符号703では、マスタープロセッサ11
0により試行ベクトルおよび変更ベクトルのうち関数値
が最も小さいものを新しい試行ベクトルとする。変更ベ
クトルが符号702のように生成されたとすると、試行
ベクトルは(0,1,0,0)、関数値は2.58×
(10の3乗)のまま変わらない。そこで、sを1増や
し、rを再計算する。今度は、s=1となっているの
で、数8よりr=1.40、最適変更成分数は、この値
に最も近い1以上n以下の整数である1となる。r≦n
/2なので、マスタープロセッサ110は、試行ベクト
ルと最適変更成分数rを2台の変更ベクトル生成・評価
用プロセッサ130,150に送信する。
【0069】符号704では、変更ベクトル生成・評価
用プロセッサ130,150により試行ベクトルの成分
をランダムに1個選んで、それぞれの値wを1−wに変
更することにより、変更ベクトルの生成と関数値の計算
を行い、それらをマスタープロセッサ110に送信す
る。
【0070】符号705では、マスタープロセッサ11
0により試行ベクトルおよび変更ベクトルのうち関数値
が最も小さいものを新しい試行ベクトルとする。変更ベ
クトルが符号704のように生成されたとすると、新し
い試行ベクトルは(1,1,0,0)、関数値は数1よ
り1.02となる。試行ベクトルに対して決まる関数値
が減少してc0より小さくなったので、正常回路と故障
回路において試行ベクトルに対して論理シミュレーショ
ンを行う。出力論理値は、それぞれ1と0となり、試行
ベクトルは、故障を検出できると分かるので、その試行
ベクトルを出力して処理を終了する。
【0071】次に、図25に論理回路の一例とそれに含
まれるNOTゲートの出力線の1縮退故障を、図26に
はその故障のテストパターンを生成する例を示す。この
例では、試行ベクトルに対する論理シミュレーションを
行わずに“故障検出不可”と判定されることにより、そ
の所要回数が少なくてすむ場合を示している。使用する
プロセッサは、マスタープロセッサ(110)1台と変
更ベクトル生成・評価用プロセッサ(130,150)
2台とする。図26において、符号801、803およ
び805がマスタープロセッサ110の動作を、符号8
02および804が変更ベクトル生成・評価用プロセッ
サ130,150の動作を示す。
【0072】マスタープロセッサ110は、符号801
では、初期試行ベクトルを生成し、それに対して決まる
関数値を計算する。初期試行ベクトル(1,0,1,
1)が生成されたとすると、それに対する関数値は、数
1より5.08×(10の3乗)と求められる。関数値
改良失敗回数sを0に初期設定し、関数値が最小のベク
トルと試行ベクトルとのハミング距離hを推定する。数
2よりh=2と推定できる。次に、最適変更成分数rを
計算する。数8よりr=2となり、試行ベクトルの成分
数n(=4)の半分を越えてはいないので、マスタープ
ロセッサ110は、試行ベクトルと最適変更成分数rを
2台の変更ベクトル生成・評価用プロセッサ130,1
50に送信する。
【0073】符号802では、変更ベクトル生成・評価
用プロセッサ130,150により、試行ベクトルの成
分をランダムに2個選んで、それぞれの値wを1−wに
変更することにより、変更ベクトルの生成と関数値の計
算を行い、それらをマスタープロセッサ110に送信す
る。
【0074】符号803では、マスタープロセッサ11
0により、試行ベクトルおよび変更ベクトルのうち関数
値が最も小さいものを新しい試行ベクトルとする。変更
ベクトルが802のように生成されたとすると、新しい
試行ベクトルは(1,1,0,1)、関数値は数1より
5.13×(10の1乗)となる。試行ベクトルに対し
て決まる関数値が減少したがc0より小さくなってはい
ないので、関数値改良失敗回数sを0に設定し、試行ベ
クトルに対する論理シミュレーションを行わずに、“故
障検出不可”と判定して処理を続ける。hとrを再計算
する。数2よりh=1、数8よりr=0.62、最適変
更成分数は、この値に最も近い1以上n以下の整数であ
る1となる。r≦n/2なので、マスタープロセッサ1
10は、試行ベクトルと最適変更成分数rを2台の変更
ベクトル生成・評価用プロセッサ130,150に送信
する。
【0075】符号804では、変更ベクトル生成・評価
用プロセッサ130,150により、試行ベクトルの成
分をランダムに1個選んで、それぞれの値wを1−wに
変更することにより、変更ベクトルの生成と関数値の計
算を行い、それらをマスタープロセッサ110に送信す
る。
【0076】符号805では、マスタープロセッサ11
0により、試行ベクトルおよび変更ベクトルのうち関数
値が最も小さいものを新しい試行ベクトルとする。変更
ベクトルが符号804のように生成されたとすると、新
しい試行ベクトルは(0,1,0,1)、関数値は数1
より1.03となる。試行ベクトルに対して決まる関数
値が減少してc0より小さくなったので、正常回路と故
障回路において試行ベクトルに対して論理シミュレーシ
ョンを行う。出力論理値は、それぞれ1と0となり、試
行ベクトルは、故障を検出できると分かるので、その試
行ベクトルを出力して処理を終了する。
【0077】以下、このアルゴリズムに基づいたテスト
パタ−ン生成コマンドと、その入出力ファイルの一例を
示す。
【0078】図27は、“CIRCUIT01”という
名前の回路のテストパタ−ンを生成するコマンドの入力
例である。この入力は、図3に示す入力部101を介し
て入力される。図27は、出力部103によるデータの
表示例である。なお、図28、図29も同様である。
【0079】図28は、そのコマンドの入力ファイルの
一例で、3入力AND回路を表している。5行目以降
(最終行を除く)の各行は、1つの素子(入出力端子を
含む)に対応しており、左から順に注目素子、入力に接
続する素子、出力に接続する素子、出力線の0縮退故障
および1縮退故障の情報が書き込まれている。マイナス
符号は、該当なしを意味している。
【0080】図29は、そのコマンドの出力ファイルの
一例である。入力ファイルに書き込まれた故障を検出で
きるテストパタ−ンが出力されている。
【0081】なお、最適変更成分数に対して乱数による
修正を加え、その結果に基づいて試行ベクトルや全変更
ベクトルの成分を変更するようにしてもよい。例えば、
図6のステップ205および図7のステップ205a
を、次の(1)および(2)を交互に行うように変更す
ることなどが考えられる。 (1)直前のステップ(図5のステップ204aまたは
204c)における最適変更成分数rに対して、(−
u)からuまでの値を取る一様乱数(uは正の定数)を
所定の回数加える。 (2)乱数加算後のrに基づいて変更ベクトルを1個生
成する。
【0082】さらに、図5のステップ204において最
適変更成分数を求めるには、数9で与えられるmを中心
とする所定の長さの区間を考えて、その範囲内のxのう
ち数3で与えられる得点vを最大にするものを求め、そ
れに修正乗数(aのs乗)をかけるようにしてもよい。
【0083】
【数9】
【0084】上記の実施例では、図5のステップ204
における最適変更成分数の計算は試行ベクトルを選択す
るごとに行うようにしている。その代わり、試行ベクト
ルを所定の回数選択するごとに行うようにしてもよい。
また、試行ベクトルに対して決まる関数値が、最適変更
成分数を最後に計算したときと比較して大幅に変化した
ときに行うようにしてもよい。
【0085】関数値が最小のベクトルと、試行ベクトル
とのハミング距離hの変化状況を表現する情報を生成す
るハミング距離変化情報生成部を設け、最適変更成分数
の計算に、ハミング距離hの変化状況を用いるようにし
てもよい。例えば、上記の実施例において、試行ベクト
ルに対して決まる関数値が下がらなかった場合に、変更
成分数の修正乗数を変化させる(図8のステップ21
1)という処理を、ハミング距離hが減少しなかった場
合に修正乗数を変化させるという処理に変更することな
どが考えられる。
【0086】上記の実施例では、変更成分数の修正乗数
を、試行ベクトルに対して決まる関数値あるいはハミン
グ距離hの改良に失敗した場合には、図8のステップ2
11において所定の割合で変更し、成功した場合には、
ステップ210においてそのときまでの値にかかわらず
1にするようにしている。これを変更して、ステップ2
10においては、ステップ211と逆の向きに修正乗数
を変化させるようにしてもよい。
【0087】上記の実施例では、図8のステップ206
において試行ベクトルおよび変更ベクトルのなかから新
しい試行ベクトルを選択する処理と、図5のステップ2
04における最適変更成分数の計算に同じ関数値を用い
ているが、必ずしもそうする必要はない。例えば、ステ
ップ206では数1による関数値を、ステップ204で
は数10による関数値2を用いるようにしてもよい。
【0088】
【数10】
【0089】図8のステップ208において試行ベクト
ルに対する出力論理値の計算を行うかどうかを決定する
には、ハミング距離hを用いるようにしてもよい。例え
ば、h0を定数として、h≧h0の場合には主力論理値
の計算を行わずに故障検出不可と判定し、h<h0の場
合には出力論理値の計算結果に基づいて故障検出の可否
を判定することなどが考えられる。
【0090】試行ベクトルの成分が、0と1以外の値を
取ることを許すようにしてもよい。ただし、この場合に
は、(1)試行ベクトルに対する関数値の定義として
は、0と1以外の値を取る成分を含む試行ベクトルに対
しては最良の評価を与えることがないようなものを採用
することと、(2)試行ベクトルの成分を変更する際、
変更対象の成分をどのような値に変更するかは、適当な
発見的手法を用いて決定することが望ましい。
【0091】上記本発明の手法と特開平3−13457
9号公報記載の手法を併用してもよい。例えば、最初の
うちは上記本発明手法を用い、試行ベクトルに対して決
まる関数値やハミング距離h、あるいは、最適変更成分
数やその修正乗数が所定の値を下回ったときに、特開平
3−134579号の手法に切り換えることが考えられ
る。
【0092】図5のステップ202において初期試行ベ
クトルを決定するには、ランダムに生成した複数の候補
の中から関数値が最小のものを選択するようにしてもよ
い。
【0093】各変更ベクトル生成・評価用プロセッサに
は、変更ベクトルを複数個生成・評価させてもよい。
【0094】上記の実施例では、変更ベクトル生成・評
価用プロセッサ130,150とは別に、マスタープロ
セッサ110を用意したが、そのかわりに、マスタープ
ロセッサ110の行っている処理を変更ベクトル生成・
評価用プロセッサ130,150にさせるようにしても
よい。また、プロセッサ1台で全ての処理を行うように
してもよい。
【0095】また、本発明の各手段は、コンピュータを
用いてソフトウェア的に実現しても、あるいは、それら
各機能を有する専用のハード回路を用いて実現してもよ
い。
【0096】次に、変更成分数の最適決定手法を適用で
きるテスト生成関連の処理をいくつか例示する。まず、
動的な(ベクトルに応じて決まる)可制御性尺度または
可観測性尺度、またはそれらを合成(重みつきの和をと
るなど)したものを関数値と定義しても、上記の手法と
同様に、テスト生成を行うことができる。
【0097】また、ベクトルに対して決まる関数値を、
当該ベクトルが検出可能な故障数と定義することによ
り、検出可能な故障数が最も多いベクトルを求める処理
に対して本手法を適用することが考えられる。
【0098】また、順序回路に対するテストパターン系
列を生成するアルゴリズムの一つに、入力ベクトルに対
する関数値を手がかりに最良のものを選択して、入力ベ
クトル系列に追加する手法がある。その際、必要に応じ
て回路を時間展開し、(1)追加入力ベクトルに対して
決まる関数値を、当該ベクトル追加後における、不定値
を出力するフリップフロップの数と定義すること、
(2)追加入力ベクトルに対する関数値として、上記の
実施例に示したような、入力ベクトルと与えられた故障
の双方に依存するものを用いることが考えられる。
【0099】このような処理に対しても、本手法を適用
することができる。処理の際には、最適変更成分数r
を、例えば、数11や数12のような簡単な式で計算す
るようにしても、一律にr=1としていた従来手法を、
ある程度改良することは可能である。ただし、数11お
よび数12において、αとβは定数、cはベクトルに対
して決まる関数値、pは関数値を並行して計算するベク
トルの数とする。
【0100】
【数11】
【0101】
【数12】
【0102】最適変更成分数rをもう少し精度良く計算
するには、例えば、ハミング距離hを数13または数1
4により推定し、その結果から最適変更成分数rを数3
または数8を用いて計算することも考えられる。ただ
し、数13および数14において、α、β、γ、δは定
数、cはベクトルに対して決まる関数値とする。
【0103】
【数13】
【0104】
【数14】
【0105】また、最適変更成分数の計算の際に、関数
値あるいはハミング距離hの変化状況を反映させること
により、本手法の性能を高めることができる。さらに、
ハミング距離hを精密に推定できない処理に対して本手
法を適用する場合には、最適変更成分数に対して乱数に
よる修正を加えるようにすることにより、その性能を補
うことができる。乱数による修正により、最適変更成分
数が正確に計算されたときには多少の損になるが、正確
でないときには逆に得になるので、ハミング距離hを正
確に計算できないことの多い処理に対して適用した場合
には、平均的に得になるからである。
【0106】したがって、上記の変更成分数の最適決定
手法は、ハミング距離hを精密に推定できない処理に対
して適用した場合にもかなり大きな効果を発揮する。
【0107】
【発明の効果】本発明により、変更を加える成分の数
は、常に、最適な値に決定されるので、ベクトルに対し
て決まる関数値の計算回数が少なくてすむ。また、変更
を加える成分の数を、関数値を並行して計算するベクト
ルの数に見合う値に設定することにより、これに対応し
て、変更ベクトル生成・評価用プロセッサを増やして並
列処理を行った場合、良好な台数効果を発揮する。
【0108】また、出力論理値の計算の要否を判定する
ことにより、その所要回数が少なくてすむ。
【0109】このため、論理回路のテストパターン生成
を高速化することができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るテストパターン生成装
置のハードウエアシステム構成の一例を示すブロック図
である。
【図2】上記装置の機能構成を示すブロック図である。
【図3】本発明の一実施例に係るテストパターン生成装
置であって、複数台のプロセッサを用いるシステムのハ
ードウエアシステム構成の一例を示すブロック図であ
る。
【図4】本発明の上記装置の機能構成を示すブロック図
である。
【図5】本発明の一実施例に係るテストパターン生成装
置の処理手順の一部を示すフロー図である。
【図6】本発明の一実施例に係るテストパターン生成装
置の処理手順の一部を示すフロー図である。
【図7】本発明の一実施例に係るテストパターン生成装
置の処理手順の一部を示すフロー図である。
【図8】本発明の一実施例に係るテストパターン生成装
置の処理手順の一部を示すフロー図である。
【図9】ベクトルに対する関数値を計算する際に用いる
関数値計算用信号値の割当て規則の一例を示す説明図で
ある。
【図10】ベクトルに対して決まる関数値を計算する際
に用いる関数値計算用信号値の演算規則を示す説明図で
ある。
【図11】本発明の一実施例に係るテストパターン生成
装置の処理の一例を示す説明図である。
【図12】本発明の一実施例に係るテストパターン生成
装置における最適変更成分数を求める処理の処理手順を
示すフロー図である。
【図13】本発明が適用される論理回路の一例として、
2ビット算術演算回路の例を示す回路図である。
【図14】上記の例における関数値cの対数とハミング
距離hとの相関を示すグラフである。
【図15】ベクトルの成分のうち変更の対象とするもの
の数Xに対するテストパターン生成速度の期待値Vとの
関係を示すグラフである。
【図16】本発明の一実施例に係るテストパターン生成
装置の処理手順のうち、最適変更成分数を求める手順を
示すフロー図である。
【図17】本発明の一実施例におけるハミング距離と最
適変更成分数の関係を示すグラフである。
【図18】本発明の一実施例に係るテストパターン生成
装置の処理手順のうち、故障検出可否の判定手順を示す
フロー図である。
【図19】本発明の適用例を示すための論理回路の一例
を示す回路図である。
【図20】本発明の適用例を示すための論理回路の一例
を示す回路図である。
【図21】本発明の一実施例に係るテストパターン生成
装置のマスタプロセッサおよび変更ベクトル生成・評価
用プロセッサの動作を示す説明図である。
【図22】本発明の一実施例における変更成分数Xとテ
ストパターン生成速度の期待値Vとの関係を示す図表で
ある。
【図23】本発明の適用例を示すための論理回路の一例
を示す回路図である。
【図24】本発明の一実施例に係るテストパターン生成
装置のマスタプロセッサおよび変更ベクトル生成・評価
用プロセッサの動作を示す説明図である。
【図25】本発明の適用例を示すための論理回路の一例
を示す回路図である。
【図26】本発明の一実施例に係るテストパターン生成
装置のマスタプロセッサおよび変更ベクトル生成・評価
用プロセッサの動作を示す説明図である。
【図27】本発明の一実施例に係るテストパターン生成
装置におけるテストパターン入力のためのコマンドの入
力例を示す説明図である。
【図28】本発明の一実施例に係るテストパターン生成
装置におけるコマンドの入力ファイルの一例を示す説明
図である。
【図29】本発明の一実施例に係るテストパターン生成
装置におけるコマンドの出力ファイルの一例を示す説明
図である。
【符号の説明】
101…入力部、102…テストパターン生成部、10
3…出力部、110…マスタープロセッサ、111…故
障回路生成部、112…初期試行ベクトル決定部、11
3…関数値計算部、114…最適変更成分数決定部、1
15…ハミング距離推定部、116…関数値変化情報生
成部、117…乱数発生部、118…ベクトル全成分変
更部、119…変更成分数置き換え部、120…変更ベ
クトル生成部、121…試行ベクトル決定部、122…
故障検出可否判定部、130…変更ベクトル生成・評価
用プロセッサ、131…故障回路生成部、132…乱数
発生部、133…変更ベクトル生成部、134…関数値
計算部、150…変更ベクトル生成・評価用プロセッ
サ、151…故障回路生成部、152…乱数発生部、1
53…変更ベクトル生成部、154…関数値計算部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中尾 教伸 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】入力信号線および出力信号線を持つ、テス
    ト対象の論理回路をテストするための入力信号を表現す
    るベクトルのパターンを生成するためのテストパターン
    生成方法において、 上記論理回路の入力信号を表現するベクトルに対して定
    義された関数値を計算するステップと、 上記ベクトルの全部または一部の成分に対して変更を加
    えるステップを含み、 上記関数値の計算は、信号線1本につき1個または複数
    個の関数値計算用信号値を用い、入力信号線に割り当て
    られた関数値計算用信号値に対して、予め定めた演算規
    則を適用し、その結果を、出力信号線に対する関数値計
    算用信号値とする処理を含み、 上記ベクトルの成分に対する変更は、変更を加える成分
    の数の最適値を決定する処理と、その決定された数の成
    分について変更を加える処理とを含むことを特徴とする
    テストパターン生成方法。
  2. 【請求項2】請求項1において、変更を加える成分の数
    の最適値を、関数値を用いて決定するテストパターン生
    成方法。
  3. 【請求項3】請求項1において、関数値に関して最良の
    評価を受けるベクトルと、与えられたベクトルとのハミ
    ング距離を推定するステップとをさらに含み、 変更を加える成分の数の最適値を決定する処理は、変更
    を加える成分の数の最適値を、当該ベクトルに対して決
    まる上記ハミング距離を用いて決定することを特徴とす
    るテストパターン生成方法。
  4. 【請求項4】請求項1において、複数個のベクトルにつ
    いて、それらの関数値の計算を並行して実行することを
    特徴とするテストパターン生成方法。
  5. 【請求項5】請求項5において、変更を加える成分の数
    の最適値を、関数値を並行して計算するベクトルの数を
    用いて決定することを特徴とするテストパターン生成方
    法。
  6. 【請求項6】請求項1において、関数値の変化状況を表
    現する情報を生成するステップをさらに含み、変更を加
    える成分の数の最適値を決定する処理は、変更を加える
    成分の数の最適値を、該関数値変化情報を用いて決定す
    ることを特徴とするテストパターン生成方法。
  7. 【請求項7】請求項1において、関数値に関して最良の
    評価を受けるベクトルと、与えられたベクトルとのハミ
    ング距離を推定するステップと、上記ハミング距離の変
    化状況を表現する情報を生成するステップとをさらに含
    み、変更を加える成分の数の最適値を決定する処理は、
    変更を加える成分の数の最適値を、該ハミング距離変化
    情報を用いて決定することを特徴とする請求項1記載の
    テストパターン生成方法。
  8. 【請求項8】請求項1において、変更を加える成分の数
    に対して定義された得点を計算するステップをさらに含
    み、変更を加える成分の数の最適値を決定する処理は、
    変更を加える成分の数の最適値を、該得点を用いて決定
    することを特徴とするテストパターン生成方法。
  9. 【請求項9】請求項1において、変更を加える成分の数
    の決定に乱数を用いることを特徴とするテストパターン
    生成方法。
  10. 【請求項10】請求項1において、成分について変更を
    加える処理は、変更を加える成分の数rを(ベクトルの
    成分数−r)で置き換えるステップと、ベクトルに対し
    て、全ての成分に変更を加えるステップと、置き換え後
    のrに基づいて成分に変更を加えるステップとを含むこ
    とを特徴とするテストパターン生成方法。
  11. 【請求項11】請求項1において、変更を加える成分の
    選択に、乱数を用いることを特徴とするテストパターン
    生成方法。
  12. 【請求項12】入力信号線および出力信号線を持つ、テ
    スト対象の論理回路をテストするための入力信号を表現
    するベクトルのパターンを生成するためのテストパター
    ン生成装置において、 上記ベクトルに対して定義された関数値を計算する関数
    値計算部と、 該ベクトルを、全部または一部の成分に対して変更を加
    えたものに変更する変更ベクトル生成部と、 変更を加える成分の数の最適値を決定する最適変更成分
    数計算部とを含み、 上記関数値計算部は、 信号線1本につき1個または複数個の関数値計算用信号
    値を与える手段と、 ゲートの入力信号線に割り当てられた関数値計算用信号
    値に対して、予め定めた演算規則を適用して、その結果
    を出力信号線に対する関数値計算用信号値とする手段と
    を含み、 上記変更ベクトル生成部は、最適変更成分数計算部の決
    定に基づいて、ベクトルの成分に変更を加えることを特
    徴とするテストパターン生成装置。
  13. 【請求項13】請求項12において、最適変更成分数計
    算部は、変更を加える成分の数の最適値を、関数値計算
    部で算出される関数値を用いて決定することを特徴とす
    るテストパターン生成装置。
  14. 【請求項14】請求項12において、関数値に関して最
    良の評価を受けるベクトルと、与えられたベクトルとの
    ハミング距離を推定するハミング距離推定部をさらに含
    み、 最適変更成分数計算部は、変更を加える成分の数の最適
    値を当該ベクトルに対して決まる上記ハミング距離を用
    いて決定することを特徴とするテストパターン生成装
    置。
  15. 【請求項15】請求項12において、上記関数値計算部
    を複数備え、複数個のベクトルに対する関数値を複数の
    関数値計算部で並行して計算することを特徴とするテス
    トパターン生成装置。
  16. 【請求項16】請求項15において、最適変更成分数計
    算部は、変更を加える成分の数の最適値を、関数値を並
    行して計算するベクトルの数を用いて決定することを特
    徴とするテストパターン生成装置。
  17. 【請求項17】請求項12において、記載の関数値の変
    化状況を表現する情報を生成する関数値変化情報生成部
    をさらに含み、 最適変更成分数計算部は、変更を加える成分の数の最適
    値を該関数値変化情報を用いて決定することを特徴とす
    るテストパターン生成装置。
  18. 【請求項18】請求項12において、関数値に関して最
    良の評価を受けるベクトルと、与えられたベクトルとの
    ハミング距離を推定するハミング距離推定部と、上記ハ
    ミング距離の変化状況を表現する情報を生成するハミン
    グ距離変化情報生成部とをさらに含み、 最適変更成分数計算部は、変更を加える成分の数の最適
    値を、該ハミング距離変化情報を用いて決定することを
    特徴とするテストパターン生成装置。
  19. 【請求項19】請求項12において、最適変更成分数計
    算部は、変更を加える成分の数に対して定義された得点
    を計算し、該計算結果に基づいて変更を加える成分の数
    の最適値を決定することを特徴とするテストパターン生
    成装置。
  20. 【請求項20】請求項12において、乱数発生部をさら
    に備え、 最適変更成分数計算部は、変更を加える成分の数の計算
    に乱数を用いることを特徴とするテストパターン生成装
    置。
  21. 【請求項21】請求項12において、与えられたベクト
    ルに対して全ての成分に変更を加えるベクトル全成分変
    更部と、変更を加える成分の数rを(ベクトルの成分数
    −r)で置き換える変更成分数置き換え部とをさらに含
    むことを特徴とするテストパターン生成装置。
  22. 【請求項22】請求項12において、変更ベクトル生成
    部は、変更を加える成分の選択に、乱数を用いることを
    特徴とするテストパターン生成装置。
  23. 【請求項23】故障のない論理回路と故障情報とから故
    障のある回路を生成するステップと、該論理回路の入力
    信号を表現するベクトルにも故障にも依存して決まる関
    数値を計算するステップと、 0または1の値を取る成分を持つベクトルが該故障を検
    出できるかどうかを判定するステップとを含み、 上記関数値の計算には、信号線1本につき1個または複
    数個の関数値計算用信号値を用い、ゲートの入力信号線
    に割り当てられた関数値計算用信号値に対して所定の演
    算規則を適用した結果を出力信号線に対する関数値計算
    用信号値とする処理を行ない、 上記該故障を検出できるかどうかの判定には、出力論理
    値の計算の要否を判定するステップを含み、必要と判定
    された場合だけ、故障のない回路と故障のある回路にお
    いて、出力論理値の計算を行うことを特徴とするテスト
    パターン生成方法。
  24. 【請求項24】請求項23記載において、関数値の計算
    には、 対応するベクトルの成分の値が0である入力ピンに対し
    ては0.0より大きく0.5より小さい値を関数値計算
    用信号値として割り当てる処理と、 対応するベクトルの成分の値が1である入力ピンに対し
    ては0.5より大きく1.0より小さい値を関数値計算
    用信号値として割り当てる処理と、 ANDゲートの出力信号線に対しては、当該ゲートの入
    力信号線の関数値計算用信号値の積を求め、それを関数
    値計算用信号値として割り当てる処理と、 ORゲートの出力信号線に対しては、当該ゲートの各入
    力信号線に対して(1−関数値計算用信号値)を求めて
    かけ合わせ、その値を1から引いたものを関数値計算用
    信号値として割り当てる処理と、 NOTゲートの出力信号線に対しては、当該ゲートの入
    力信号線の関数値計算用信号値を1から引いたものを求
    め、それを関数値計算用信号値として割り当てる処理
    と、 他のゲートの出力信号線に対しては、当該ゲートをAN
    Dゲート、ORゲート、NOTゲートの組合せで表現す
    ることにより決まる関数値計算用信号値を割り当てる処
    理とを用いることを特徴とするテストパターン生成方
    法。
  25. 【請求項25】故障のない論理回路と故障情報とから故
    障のある回路を生成する故障回路生成部と、 該論理回路の入力信号を表現するベクトルにも故障にも
    依存して決まる関数値を計算する関数値計算部と、 0または1の値を取る成分を持つベクトルが該故障を検
    出できるかどうかを判定する故障検出可否判定部とを含
    み、 該関数値計算部は、信号線1本につき1個または複数個
    の関数値計算用信号値を用い、ゲートの入力信号線に割
    り当てられた関数値計算用信号値に対して所定の演算規
    則を適用した結果を出力信号線に対する関数値計算用信
    号値とする処理を行ない、 上記故障検出可否判定部は、該故障を検出できるかどう
    かの判定には、出力論理値の計算が必要かどうかを判定
    し、必要と判定された場合だけ、故障のない回路と故障
    のある回路において、出力論理値の計算を行うことを特
    徴とするテストパターン生成装置。
  26. 【請求項26】請求項25において、関数値の計算に
    は、 対応するベクトルの成分の値が0である入力ピンに対し
    ては0.0より大きく0.5より小さい値を関数値計算
    用信号値として割り当てる処理と、 対応するベクトルの成分の値が1である入力ピンに対し
    ては0.5より大きく1.0より小さい値を関数値計算
    用信号値として割り当てる処理と、 ANDゲートの出力信号線に対しては、当該ゲートの入
    力信号線の関数値計算用信号値の積を求め、それを関数
    値計算用信号値として割り当てる処理と、 ORゲートの出力信号線に対しては、当該ゲートの各入
    力信号線に対して(1−関数値計算用信号値)を求めて
    かけ合わせ、その値を1から引いたものを関数値計算用
    信号値として割り当てる処理と、 NOTゲートの出力信号線に対しては、当該ゲートの入
    力信号線の関数値計算用信号値を1から引いたものを求
    め、それを関数値計算用信号値として割り当てる処理
    と、 他のゲートの出力信号線に対しては、当該ゲートをAN
    Dゲート、ORゲート、NOTゲートの組合せで表現す
    ることにより決まる関数値計算用信号値を割り当てる処
    理を用いることを特徴とするテストパターン生成装置。
  27. 【請求項27】入力信号線および出力信号線を持つ、テ
    スト対象の論理回路をテストするための入力信号を表現
    するベクトルのパターンを生成するためのテストパター
    ン生成方法において、 上記論理回路の入力信号を表現するベクトルに対して定
    義された関数値を計算するステップと、 上記ベクトルの全部または一部の成分に対して変更を加
    えるステップを含み、 上記関数値の計算は、信号線1本につき1個または複数
    個の関数値計算用信号値を用い、入力信号線に割り当て
    られた関数値計算用信号値に対して、予め定めた演算規
    則を適用し、その結果を、出力信号線に対する関数値計
    算用信号値とする処理を含み、 上記ベクトルの成分に対する変更は、複数の成分につい
    て変更を加えることを特徴とするテストパターン生成方
    法。
  28. 【請求項28】入力信号線および出力信号線を持つ、テ
    スト対象の論理回路をテストするための入力信号を表現
    するベクトルのパターンを生成するためのテストパター
    ン生成装置において、 マスタプロセッサと、複数台の変更ベクトル生成・評価
    用プロセッサとを備え、 マスタプロセッサは、故障回路を生成する故障回路生成
    部と、初期の試行ベクトルを決定する初期試行ベクトル
    決定部と、ベクトルに対して定義された関数値を計算す
    る関数値計算部と、変更を加える成分の数の最適値を決
    定する最適変更成分数決定部と、関数値に関して最良の
    評価を受けるベクトルと与えられたベクトルとのハミン
    グ距離を推定するハミング距離推定部と、関数値の変化
    状況を表現する情報を生成する関数値変化情報生成部
    と、乱数を発生するための乱数発生部と、与えられたベ
    クトルに対して全ての成分に変更を加えるベクトル全成
    分変更部と、変更を加える成分の数rを(ベクトルの成
    分数−r)で置き換える変更成分数置き換え部と、試行
    ベクトルを決定する試行ベクトル決定部と、試行ベクト
    ルについて故障検出可否を判定する故障検出可否判定部
    とを含み、 変更ベクトル生成・評価用プロセッサ130は、故障回
    路を生成する故障回路生成部と、乱数を発生するための
    乱数発生部と、成分を変更した変更ベクトルを生成する
    変更ベクトル生成部と、ベクトルに対して定義された関
    数値を計算する関数値計算部とを含むことを特徴とする
    テストパターン生成装置。
JP6327532A 1994-12-28 1994-12-28 論理回路のテストパターン生成方法およびその装置 Pending JPH08185425A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6327532A JPH08185425A (ja) 1994-12-28 1994-12-28 論理回路のテストパターン生成方法およびその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6327532A JPH08185425A (ja) 1994-12-28 1994-12-28 論理回路のテストパターン生成方法およびその装置

Publications (1)

Publication Number Publication Date
JPH08185425A true JPH08185425A (ja) 1996-07-16

Family

ID=18200158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6327532A Pending JPH08185425A (ja) 1994-12-28 1994-12-28 論理回路のテストパターン生成方法およびその装置

Country Status (1)

Country Link
JP (1) JPH08185425A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013032963A (ja) * 2011-08-02 2013-02-14 Fujitsu Ltd テストパターン生成装置,テストパターン生成方法およびテストパターン生成プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013032963A (ja) * 2011-08-02 2013-02-14 Fujitsu Ltd テストパターン生成装置,テストパターン生成方法およびテストパターン生成プログラム

Similar Documents

Publication Publication Date Title
US5640403A (en) Fault diagnosis method for a sequential circuit
US20210318379A1 (en) System and method for optimizing fault coverage based on optimized test point insertion determinations for logical circuits
CN107168842B (zh) 基于pmc模型的自适应顺序故障诊断方法
JP2000181901A (ja) 再構成可能なハ―ドウェアについての満足可能性を求めるための並列バックトレ―シング
JP7131393B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20050149804A1 (en) Device and method for testing integrated circuit
KR980010844A (ko) 고장 지점을 식별하는 방법 및 시스템
CN114818600A (zh) 一种芯片验证方法、装置、电子设备以及存储介质
JPH08185425A (ja) 論理回路のテストパターン生成方法およびその装置
US10078720B2 (en) Methods and systems for circuit fault diagnosis
WO2008010648A1 (en) Matching method for multiple stuck-at faults diagnosis
Jone et al. Delay fault coverage enhancement using variable observation times
Pomeranz et al. Test generation for path delay faults based on learning
CN112559282A (zh) 功耗监测系统、相关方法、装置、处理器及介质
CN112083318A (zh) 一种芯片功耗的检测方法和装置
US20240095531A1 (en) Method and computer system for training a neural network model
Iyer et al. Software-based weighted random testing for IP cores in bus-based programmable SoCs
KR20090014690A (ko) 심볼릭 시뮬레이션을 이용한 스캔 체인 고장 진단 방법 및장치
JPH06103101A (ja) 集積回路の組み込み自己試験回路及びその評価方法及び設計方法
JP2715989B2 (ja) Iddqを用いたCMOS論理回路の故障箇所の絞り込み方法
JP2000009813A (ja) 論理回路のテストパターン作成方法および作成装置
JP2003030270A (ja) 同期式順序回路のプロパティ検証方法および装置
JP2672893B2 (ja) 故障シミュレーション処理装置
US20050028051A1 (en) Method for evaluating delay test quality
JP3312605B2 (ja) 逆論理展開システム及び逆論理展開方法並びにプログラムを記録した機械読み取り可能な記録媒体