JPH05113468A - 検査系列生成方法 - Google Patents

検査系列生成方法

Info

Publication number
JPH05113468A
JPH05113468A JP4072049A JP7204992A JPH05113468A JP H05113468 A JPH05113468 A JP H05113468A JP 4072049 A JP4072049 A JP 4072049A JP 7204992 A JP7204992 A JP 7204992A JP H05113468 A JPH05113468 A JP H05113468A
Authority
JP
Japan
Prior art keywords
storage element
state
scan
circuit
test sequence
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
Application number
JP4072049A
Other languages
English (en)
Other versions
JP3265614B2 (ja
Inventor
Sadami Takeoka
貞巳 竹岡
Akira Motohara
章 本原
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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
Priority to JP07204992A priority Critical patent/JP3265614B2/ja
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to DE69230479T priority patent/DE69230479T2/de
Priority to DE69230478T priority patent/DE69230478T2/de
Priority to EP92106403A priority patent/EP0509440B1/en
Priority to EP96107238A priority patent/EP0730233B1/en
Priority to DE69220709T priority patent/DE69220709T2/de
Priority to EP96107237A priority patent/EP0730232B1/en
Priority to EP96107239A priority patent/EP0727744B1/en
Priority to DE69230477T priority patent/DE69230477T2/de
Priority to US07/868,737 priority patent/US5430736A/en
Publication of JPH05113468A publication Critical patent/JPH05113468A/ja
Application granted granted Critical
Publication of JP3265614B2 publication Critical patent/JP3265614B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318583Design for test
    • G01R31/318586Design for test with partial scan or non-scannable parts
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318392Generation of test inputs, e.g. test vectors, patterns or sequences for sequential circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【目的】 少ないスキャン記憶素子数で高い検出率を得
る検査系列生成装置および検査系列生成方法を提供す
る。 【構成】 処理206で現在の状態Aを初期状態SIに
正当化することに失敗した場合、処理207で現在の状
態Aを初期状態SIと1ビット違いの状態SI’で正当
化し、成功したら処理208でSIとSI’で状態の異
なる記憶素子を記録する。処理207に失敗したら処理
210で現在の状態AをSI,SI’,最終状態SO以外
の状態Cで正当化する。処理207,210に成功した
ら、それぞれSI’,Cを現在の状態Aとして処理20
6〜211を繰り返す。処理210で失敗するか、また
は処理時間の制限等により検査系列生成が打ち切られた
ら、処理212で最後に処理208で記録された記憶素
子のスキャン要求度を増やす。複数の打ち切り故障が生
じたら、各記憶素子のスキャン要求度の累積を解析し
て、スキャンに置き換える記憶素子を決定する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、半導体集積回路の検査
系列生成方法に関するものである。
【0002】
【従来の技術】通常の記憶素子をスキャン構造の記憶素
子に変換すると、付加面積が増えるため、できるだけ少
ないスキャン記憶素子数で高い検出率を得るようなスキ
ャン記憶素子の選択方法が必要である。スキャン記憶素
子の選択方法の従来技術は、アイ・イー・イー・イー、
トランザクションズ オン コンピューターズの資料
[K.-T. Cheng and V. D. Agrawal. "A Partial Scan Me
thod for Sequential Circuits with Feedback," IEEE
Transactions on Computers, Vol.39,No.4, pp.544-54
8, April 1990.] に記載されている。以下、図3、図1
6、図17を用いて従来技術を説明する。
【0003】図3は半導体集積回路中の部分回路を示
し、301,302は組合せ部分回路、303〜308
は記憶素子を表す。310〜312は外部入力、313
〜315は外部出力を表す。
【0004】図16は従来技術の検査系列生成処理の流
れを示したフローチャートである。1601は操作の開
始、1602は回路構造を解析し、記憶素子間の接続関
係から記憶素子のフィードバックループ構造を調べる操
作、1603は複雑または大規模なループを構成してい
る記憶素子をスキャン記憶素子に変換する操作、160
4は1603の操作で回路中の一部の記憶素子をスキャ
ン記憶素子に変換した回路に対して検査系列生成を行う
操作、1605は全操作の終了を示す。図17は従来技
術によって図3の部分回路中の記憶素子のうち、スキャ
ンすべき記憶素子と判定されたものをスキャン構造に置
き換えた部分回路を示す。1701〜1703は各記憶
素子303〜305と置換されたスキャン構造の記憶素
子を表す。
【0005】まずステップ1601で操作を開始し、ス
テップ1602で回路構造を解析する。記憶素子303
は組合せ部分回路302、記憶素子306、組合せ部分
回路301を経て再び記憶素子303へ戻るようなルー
プを構成している。記憶素子304、305も同様にル
ープを構成している。次にステップ1603では、ルー
プを構成している記憶素子の1つをスキャンすべき記憶
素子と決定する。従って、記憶素子303〜305がス
キャンすべき記憶素子と判定され、それぞれスキャン記
憶素子1701〜1703に変換される。次にステップ
1604では1603の操作で記憶素子303〜305
をスキャン記憶素子1701〜1703へ変換した回路
に対して検査系列生成を行った後、ステップ1605で
全操作を終了する。
【0006】
【発明が解決しようとする課題】しかしながら従来技術
は、回路構造のみから検査系列生成の障害になる可能性
がある記憶素子を、スキャンすべき記憶素子として選択
してしまうため、実際に検査入力生成を行う際に、選択
したスキャン記憶素子がすべて必要であるか否かは分か
らない。そのため従来方法ではスキャンに変換した記憶
素子のうち、検査系列生成において故障検出率を改善す
る効果がないものが存在するため、スキャン記憶素子数
が多くなり、付加面積が大きくなる。また従来技術で
は、検査系列生成中にスキャン記憶素子を増加させる
と、それまでに生成した検査系列が無効になってしまう
ため、実用的でないという問題があった。
【0007】本発明はかかる問題を鑑みて、少ないスキ
ャン記憶素子数で高い検出率を得る検査系列生成方法を
提供することと、検査系列生成中にスキャン記憶素子を
増加させた際に検査系列を編集して新たな検査系列を生
成する検査系列生成方法を提供することを目的とする。
【0008】
【課題を解決するための手段】この問題を改善するた
め、本発明の検査系列生成方法は、検査入力生成処理を
打ち切られた故障に対して、どの記憶素子をスキャンに
置き換えたら検査可能となるかを調べ、複数の打ち切り
故障に対するスキャン要求度の累積から、最適のスキャ
ンに置き換える記憶素子を選択するものである。
【0009】さらに詳述すると本発明の請求項1記載の
検査系列生成方法は、第1の状態、第2の状態の各ビッ
トが回路中の各記憶素子の状態を示し、この第1の状態
を第2の状態で正当化する第1の処理と、この第2の状
態と所定数のビットが異なる第3の状態を生成させ、前
記第1の状態をこの第3の状態で正当化する第2の処理
と、前記第1,2,3の状態以外の第4の状態を生成さ
せ、前記第1の状態をこの第4の状態で正当化する第3
の処理と、この第4の状態を前記第1の状態とする第4
の処理と、前記第2の状態と前記第3の状態で異なるビ
ットに対応する記憶素子を記憶する第5の処理と、前記
第3の状態を前記第1の状態とする第6の処理と、前記
第5の処理において、記憶された記憶素子にスキャン要
求度を増やす第7の処理と、このスキャン要求度を用い
てスキャン記憶素子を選択する第8の処理とを備えたこ
とを特徴とする。
【0010】また本発明の請求項4記載の検査系列生成
方法は、回路状態の各ビットが回路中の各記憶素子の状
態を示し、この回路状態から故障の影響を外部出力へ到
達させるような外部入力値の組合せを求める第1の処理
と、前記第1の処理において前記回路状態から故障の影
響を外部出力へ到達させるために状態を変化させる必要
のある記憶素子を記憶する第2の処理と、前記第2の処
理において記憶された記憶素子のスキャン要求度を増や
す第3の処理と、このスキャン要求度を用いてスキャン
記憶素子を選択する第4の処理とを備えたことを特徴と
する。
【0011】また本発明の請求項6記載の検査系列生成
方法は、回路中の記憶素子をスキャン記憶素子に置き換
える順序回路の検査系列生成において、回路の検査に要
する費用を可検査費としたとき、回路中の一部または全
部の記憶素子に対して、前記記憶素子をスキャンした場
合の回路中の一部または全部の素子の可検査費を計算す
る処理と、前記回路中の一部または全部の素子の可検査
費が最も低くなる前記記憶素子をスキャン記憶素子に置
き換える処理とを備えたことを特徴とする。
【0012】また本発明の請求項7,8記載の検査系列
生成方法は、請求項1記載の第8の処理叉は請求項4記
載の第4の処理では、スキャン要求度最大の記憶素子が
複数ある場合、前記スキャン要求度最大の記憶素子に対
して、前記記憶素子をスキャンした場合の回路中の一部
または全部の素子の可検査費を計算する処理と、前記回
路中の一部または全部の素子の可検査費が最も低くなる
前記記憶素子をスキャン記憶素子に置き換える処理とを
備えたことを特徴とする。
【0013】また本発明の請求項9記載の検査系列生成
方法は、回路中の記憶素子をスキャン記憶素子に置き換
える順序回路の検査系列生成方法において、回路中の記
憶素子の状態を記録し、検査系列生成を行う処理と、そ
の後、記録した記憶素子の状態を用いて検査系列生成終
了時にスキャン記憶素子に変換されている記憶素子に、
スキャンインする検査系列を作成する処理とを備えたこ
とを特徴とする。
【0014】
【作用】本発明の請求項1、4、7、8記載の検査系列
生成方法は上述の構成により、実際に検査入力生成でス
キャンに変換することが必要とされた記憶素子のみをス
キャン記憶素子に置き換えるため、少ない付加ハードウ
ェア量で高い故障検出率が実現できる。
【0015】本発明の請求項6記載の検査系列生成方法
は、できるだけ少ないスキャン記憶素子数で可検査性を
最も改善するようなスキャン記憶素子を計算して選択す
るため、少ない付加ハードウェア量で高い故障検出率を
実現できる。
【0016】また本発明の請求項9記載の検査系列生成
方法は、従来技術では困難であった検査系列生成中にス
キャン記憶素子を増加させた場合の検査系列生成が、容
易に実現できる。
【0017】
【実施例】以下、回路の検査に要する費用を可検査費と
する。この可検査費には回路中の信号線の論理値を所望
の値にするために外部入力を操作する可制御費と、回路
中の信号線の論理値を外部出力で観測するために外部入
力を操作する可観測費等を含む。本実施例では可検査費
として可制御費を用いて説明を行う。
【0018】(実施例1)図18は本発明の検査系列生
成装置の実施例の概略を示した図である。1は回路情報
を受け付ける入力部、2は入力部1で受け取った回路情
報を解析する回路情報解析手段3と、受け取った回路に
対する検査系列を生成する検査系列生成手段4とを含む
プログラム実行部、5は回路情報解析手段3の操作で計
算された回路接続情報、可検査性や回路情報解析手段
3、検査系列生成手段4の操作で生じた中間データを記
憶する記憶部、6はプログラム実行部2の操作で作成さ
れた検査系列を利用可能な形式に変換して出力する出力
部を示す。
【0019】図1は実施例1における図18の検査系列
生成手段4の処理の流れを示すフローチャートである。
101は処理の開始、102は回路中の全故障のリスト
作成の操作、103は故障リスト中の故障に対して検査
系列を生成する操作、104は検出率が十分であるか否
かの判定を行なう操作、105はスキャン要求度最大の
記憶素子のうち可制御費最大のものを1つ選ぶ操作、1
06はステップ105で選んだ記憶素子をスキャン記憶
素子に変換する操作、107は打ち切り故障のリストを
作成する操作、108は処理の終了を示す。
【0020】図2は図1の操作103の処理の流れを示
すフローチャートである。図中のAは第1の状態、Bは
第1の状態Aに遷移させるべき第2の状態、SIは初期
状態、SOは最終状態、SI’は初期状態SIと1ビッ
ト違いの状態、Cは状態SI,SO,SI’のいずれとも
異なる状態を示す。
【0021】また201は処理の開始、202は未処理
故障があるか否かの判定、203は未処理故障の1つを
選択する操作、204は故障の影響を外部出力まで伝搬
する操作、205は最終状態SOを第1の記憶状態Aと
し、初期状態SIを第2の状態Bとする操作、206は
第2の状態B(初期状態SI)を第1の状態Aへ遷移さ
せるような外部入力値を生成する操作、207は初期状
態SIと1ビット違いの状態SI’を生成させ、状態S
I’を第2の状態Bとして、状態SI’を第1の状態A
へ遷移させるような外部入力値を生成する操作、208
はステップ207における状態SI’と初期状態SIで
値が異なる記憶素子を記録する操作、209は第1の状
態Aをステップ207における初期状態と1ビット違い
の状態SI’とする操作、210は状態SI,SO,S
I’のいずれとも異なる状態Cを生成させ、状態Cを第
2の状態Bとして、状態Cを第1の状態Aへ遷移させる
ような外部入力値を生成する操作、211はステップ2
10における状態Cを第1の状態Aとする操作、212
はステップ210の処理に失敗するか、または処理時間
の制限を越えた場合に、最後にステップ208で記録し
た記憶素子にスキャン要求度を1加えて検査系列生成を
打ち切る操作、213は処理の終了を示す。
【0022】図4は図2の処理による図3の回路の内部
状態の遷移を示した状態遷移図である。401〜409
の楕円内の数字は、図3の部分回路中のそれぞれ記憶素
子303〜308の状態を示し、例えば状態11010
1は記憶素子303〜308の状態がそれぞれ1、1、
0、1、0、1であることを表す。
【0023】401は検査系列を入力する前の初期状態
SI、402〜407、409は検査入力を外部入力に
与えることによって遷移する回路の内部状態、408は
ステップ204の故障伝搬された時の最終状態SOを示
す。
【0024】図5は図3の部分回路中の記憶素子306
が1つスキャン構造に変換された回路の部分回路図を示
す。501はスキャン記憶素子を示す。
【0025】図6は図2の処理による図5の回路の内部
状態の遷移を示した状態遷移図である。401〜408
の楕円内の数字は、図5の部分回路中のそれぞれ記憶素
子303,304,305,501,307,308の状態
を示し、401は検査系列を入力する前の初期状態S
I、402〜407は検査入力を外部入力に与えること
によって遷移する回路の内部状態、408は操作204
の故障伝搬された時の最終状態SOを示す。
【0026】以下、図1〜図6および図18を用いて実
施例1の検査系列生成装置および検査系列生成方法の動
作説明を行う。
【0027】まず入力部1では検査系列生成の対象とな
る回路の回路情報を受け取り、プログラム実行部2に渡
す。プログラム実行部2では、受け取った回路情報を回
路情報解析手段3で回路中の各素子の接続関係の解析を
行い、検査系列生成手段4の実行に必要な可検査性を計
算し、その結果を記憶部5に記憶する。またプログラム
実行部2の実行中に生じた中間データも記憶部5へ記憶
する。
【0028】次に検査系列生成手段4では、まずステッ
プ101で検査系列生成を開始する。次にステップ10
2では、検査系列生成の対象として回路中の全故障のリ
ストを作成する。
【0029】次にステップ103では、与えられた故障
リスト中の故障に対して検査系列生成を行う。ステップ
103ではステップ201で検査系列生成を開始する。
【0030】次にステップ202では、与えられた故障
リスト中にまだ処理していない故障が存在するかどうか
を調べ、存在しなければステップ213で検査系列生成
を終了し、存在すればステップ203で未処理故障を1
つ選択する。
【0031】次にステップ204では、ステップ203
で選択した故障の影響が回路の外部出力に伝搬するよう
な検査系列を生成し、故障が検出されるときの状態を最
終状態408とする。この処理に失敗したらステップ2
02へ進み、成功したらステップ205へ進む。
【0032】ステップ205では、最終状態408を第
1の状態Aとし、初期状態401を第2の状態Bとす
る。
【0033】ステップ206〜211は、検査系列生成
前の初期状態401をステップ204で得られた最終状
態408へ遷移させるための検査系列を生成する処理で
ある。
【0034】まずステップ206では、図4(a)のよ
うに初期状態401を最終状態408へ遷移させるよう
な外部入力値の生成を試みる。ステップ206の処理に
成功したら検査入力生成成功としてステップ202へ進
み、次の故障の検査入力生成を行うが、失敗したらステ
ップ207へ進む。今図4(a)の操作に失敗したとす
る。
【0035】次にステップ207では、図4(b)のよ
うに初期状態を1ビット異なる状態409を最終状態4
08へ遷移させるような外部入力値の生成を試みる。ス
テップ207では操作が成功するまで、初期状態と1ビ
ット違いの状態すべてについて試み、それに失敗したら
ステップ210へ進む。
【0036】ステップ210では、図4(c)のように
初期状態401,最終状態408,初期状態401と1ビ
ット違いの状態のいずれとも異なる任意の状態C407
を第2の状態Bとして、状態C407から最終状態40
8へ遷移させるような外部入力値の生成を試みる。この
操作は成功するまで、第2の状態Bとして選び得るすべ
ての状態407に対して行われる。成功したらステップ
211でステップ210の状態C407を第1の状態A
としてステップ206へ進む。
【0037】次にステップ206では、図4(d)のよ
うに初期状態401から第1の状態407へ遷移させる
ような外部入力値の生成を試み、失敗したらステップ2
07で図4(e)のように初期状態401と1ビット異
なる状態406から最終状態407へ遷移させるような
外部入力値の生成を試みる。成功したらステップ208
へ進み、初期状態401と状態406で状態の異なる記
憶素子305を記録する。図4(f)はこの時点で、状
態406から状態407を経て最終状態408へ遷移さ
せる検査系列が生成されているが、初期状態401を状
態406へ遷移させる検査系列がまだ生成されていない
ことを示す。
【0038】引き続いてステップ209では、状態40
6を第1の状態Aとして、ステップ206〜211の操
作を行い、状態405から状態406へ状態遷移させる
ような外部入力値が得られたとする。さらに状態405
を第1の状態Aとしてステップ206〜211の操作を
行うと、状態404から状態405へ状態遷移させるよ
うな外部入力値が得られ、またステップ208で記憶素
子306が記録されたとする。
【0039】さらにステップ206〜211の操作を繰
り返すと、状態403から状態404、状態402から
状態403へ状態遷移する外部入力値がそれぞれ得られ
たとする。その後、状態402を現在状態としてステッ
プ206,207,210の操作を行って失敗し、検査系
列生成が打ち切られた場合、ステップ212へ進み、最
後にステップ208の操作で記録した記憶素子306に
スキャン要求度を1加える。
【0040】以下に、ステップ208の操作で最後に記
憶された記憶素子に対してスキャン要求度を増加させる
理由を示す。ステップ210の操作に失敗して検査系列
生成が打ち切られたとき、ステップ208の操作で記録
された記憶素子は記憶素子305,306の2つがあ
る。記憶素子305をスキャン記憶素子に変換した場
合、初期状態401は状態406、407、最終状態4
08の順に容易に状態遷移が可能になり、検査系列生成
が可能となる。一方、記憶素子306をスキャン記憶素
子に変換した場合、初期状態401は状態404、40
5、406、407、最終状態408の順に容易に状態
遷移が可能になり、検査系列生成が可能となる。従っ
て、ステップ210で打ち切られた故障を検出するため
には、記憶素子305、306のいずれか一方をスキャ
ン記憶素子に変換すればよい。しかし図4(g)に示す
如く、状態410で検出できる別の故障があり、状態4
05から状態410へ容易に状態遷移できる場合、記憶
素子306をスキャン記憶素子に置き換えたら状態40
1から状態404、405、410の順で状態遷移する
ことができ検査可能となるが、記憶素子305をスキャ
ン記憶素子に置き換えても状態401から状態410へ
状態遷移させるのは困難であり、検査の困難さは減らな
い。従って、ステップ210の操作に失敗して検査系列
生成が打ち切られた場合、ステップ208で記録された
任意の記憶素子のスキャン要求度を増やすより、最後に
ステップ208で記録された記憶素子のスキャン要求度
を増やす方が一層効果的である。
【0041】以下、図1,図18を用いて検査系列生成
方法の動作説明の続きを行なう。ステップ202で未検
出故障がなくなり、ステップ213で検査系列生成が終
了したらステップ104へ進み、検出率が検出条件を満
たしているか否かを判定する。本実施例では検出条件
を、検出率が従来技術における検出率より高いことと定
めた。ステップ104では検出率が検出条件を満たして
いなければ、ステップ105で各記憶素子の可制御費を
調べ、スキャン要求度が最大である記憶素子のうち、可
制御費が最大の記憶素子を1つ選ぶ。その理由は一般に
記憶素子の可制御費が大きいほどその記憶素子に所望の
値を設定するのが困難であるため、可制御費の大きい記
憶素子をスキャン記憶素子に変換することによって回路
の可制御性が著しく向上するためである。今、記憶素子
303〜308のスキャン要求度がそれぞれ0、1、
4、9、0、9であり、回路情報解析手段3によって計
算されて記憶部5に記憶されている記憶素子303〜3
08の可制御費がそれぞれ112、423、3982、
1306、45、1196であるとすると、記憶素子3
06が選択される。
【0042】次にステップ106では、ステップ105
で選択した記憶素子をスキャン記憶素子に変換する。図
5は記憶素子306をスキャン記憶素子501に変換し
たものである。
【0043】次にステップ107では、未検出故障のリ
ストを作成してステップ103へ進み、ステップ107
で作成した未検出故障リストに対して、記憶素子をスキ
ャン記憶素子に変換した回路(図5)を用いて検査系列
生成を行い、ステップ104へ進む。ステップ104で
検出率が条件を満たしていればステップ108へ進み、
すべての操作を終了する。最後に出力部6では、プログ
ラム実行部2によって生成された検査系列を与えられた
回路に適合する形式に変換して出力する。
【0044】ここで図6に、図4で説明した故障に対す
る図5の回路の内部状態の遷移を示す。(表1)に従来
技術による検査系列生成方法の実験結果を、(表2)に
本実施例による実験結果を示す。実験に使用した回路は
いずれもインターナショナルシンポジウム サーキット
アンド システムの資料[F.Brglez,et al.,"Combina
tional Profiles of Sequential Benchmark Circuit,"
Proc. Inc. Symp. Circuit and Systems, pp.1929-193
4, May. 1989.]に記載されているベンチマーク回路で
ある。
【0045】
【表1】
【0046】
【表2】
【0047】(表2)の本実施例の実験結果を(表1)
の従来例の実験結果と比較すると、本実施例ではより少
ないスキャン記憶素子数でより高い検出率が得られた。
【0048】なお、本実施例では1度にスキャンに置き
換える記憶素子の数を1個としたが、2個以上でもよ
い。また、本実施例ではステップ206の操作で初期状
態と1ビット違いの状態を状態正当化の対象としたが、
2ビット以上でもよい。
【0049】(実施例2)図7は図1の操作103の実
施例2における処理の流れを示すフローチャートであ
る。701は処理の開始、702は未処理故障があるか
否かの判定、703は未処理故障の1つを選択する操
作、704は選択した未処理故障の影響を励起させる操
作、705は現在の回路状態において故障の影響を外部
出力へ到達させるような外部入力値を求める操作、70
6は現在の回路状態において1個の記憶素子をスキャン
したら故障の影響が検出可能となるか否かの判定、70
7は706の操作で求めた記憶素子を記録する操作、7
08は現在の状態において故障の影響を記憶素子の少な
くとも1つに到達させるような外部入力値を求める操
作、709は708の操作で故障の影響の到達した記憶
素子を記録する操作、710は現在の回路状態を708
の操作の結果得られた新しい回路状態に更新する操作、
711は707の操作と709の操作で最初に記録され
た記憶素子のスキャン要求回数を増加させる操作、71
2は処理の終了を示す。
【0050】図8は順序回路を示す。図9は図7の処理
による図8の回路の状態の変化を示した図である。80
1は組み合せ回路部分、802、803は外部入力、8
04、805は外部出力、806〜809は記憶素子、
810は回路内部の故障、Dは故障の影響を示す。
【0051】以下、図1、図7、図8、図9および図1
8を用いて本発明の実施例2における検査系列生成装置
および検査系列生成方法を説明する。入力部1で受け付
けた回路情報に対して回路情報解析手段3によって回路
情報を解析し、検査系列生成手段4を実行する。プログ
ラム実行部2の実行中に生じた中間データはすべて記憶
部5で記憶する。検査系列生成手段4では、まずステッ
プ101では検査系列生成を開始する。次にステップ1
02では検査系列生成の対象として回路中の全故障のリ
ストを作成する。
【0052】次にステップ103では、与えられた故障
リスト中の故障に対して検査系列生成を行う。ステップ
103ではステップ701で検査系列生成を開始する。
次にステップ702では与えられた故障リスト中にまだ
処理していない故障が存在するかどうかを調べ、存在し
なければステップ712で検査系列生成を終了し、存在
すればステップ703で未処理故障を1つ選択する。
今、故障810が選択されたとする。次にステップ70
4では、選択した故障の影響を励起させるような外部入
力値を求め、失敗したらステップ702を行い、成功し
たらステップ705の操作を行う。今、ステップ704
の操作に成功して回路状態が図9(a)のようになった
とする。次にステップ705で励起した故障の影響が外
部出力に到達するような外部入力値を求め、成功したら
ステップ702の操作を行うが、今、図9(a)の回路
状態において故障810の影響を外部出力まで到達させ
るような外部入力802、803の値が存在しなかった
とする。
【0053】次にステップ706では、記憶素子806
〜809のうち1個の状態を変化させることによって故
障810の影響を外部出力に到達させられるか否かを調
べる。今、図9(b)のように記憶素子808の状態を
0から1へ変化させると、外部入力802、803の値
がそれぞれ1、0のときに、故障810の影響が外部出
力804に到達すると判定された。次にステップ707
では、記憶素子808を記録する。ステップ708で
は、故障810の影響が少なくとも1つの記憶素子に到
達させられような外部入力値を求める。今、図9(c)
に示すように外部入力802、803の値がそれぞれ
1、1のとき、故障810の影響Dが記憶素子806に
到達したとする。次にステップ709で記憶素子806
を記録し、ステップ710では、ステップ708の操作
の結果、図8の回路状態は図9(d)のようになり、こ
れを現在の状態とする。
【0054】引き続いてステップ705の操作を行って
失敗し、ステップ706の操作で図9(e)のように記
憶素子809の状態を1から0へ変化させると、外部入
力802、803の値がそれぞれ0、1のときに故障8
10の影響が外部出力805へ到達すると判定された。
次にステップ707で記憶素子809を記録してステッ
プ708の操作を行う。今、ステップ708の操作で故
障810の影響をいずれの記憶素子にも到達できなかっ
たとする。次にステップ711では、ステップ707と
ステップ709の操作において記録された記憶素子80
6、808、809のうち、最初に記憶された記憶素子
808のスキャン要求度を1増やした後、ステップ70
2の操作を行う。
【0055】ステップ702で未検出故障がなくなり、
ステップ712で検査系列生成が終了したらステップ1
04へ進み、検出率が検出条件を満たしているか否かを
判定する。ステップ104では検出率が検出条件を満た
していなければ、ステップ105で各記憶素子の可制御
費を調べ、スキャン要求度が最大である記憶素子のう
ち、可制御費が最大の記憶素子を1つ選ぶ。今、記憶素
子806〜809のスキャン要求度がそれぞれ1、6、
2、6であり、記憶素子806〜809の可制御費がそ
れぞれ323、112、24、811であるとすると、
記憶素子809が選択される。
【0056】選択された記憶素子は従来方法と異なって
検査系列生成においてスキャンすることを確実に要求さ
れているものであり、選択された記憶素子をスキャン記
憶素子に変換して検査系列生成を行うと検出率を確実に
改善できるため、無駄なスキャン記憶素子を省くことが
できる。
【0057】次にステップ106ではステップ105で
選択した記憶素子をスキャン記憶素子に変換する。次に
ステップ107では未検出故障のリストを作成してステ
ップ103へ進み、ステップ107で作成した未検出故
障リストに対して、記憶素子をスキャン記憶素子に変換
した回路を用いて検査系列生成を行い、ステップ104
へ進む。ステップ104で検出率が条件を満たしていれ
ばステップ108へ進み、操作を終了する。次に検査系
列生成手段4を終了し、出力部6で検査系列を出力す
る。
【0058】なお、本実施例では1度にスキャンに置き
換える記憶素子の数を1個としたが、2個以上でもよ
い。また、本実施例ではステップ706の操作で状態を
変化させる記憶素子を1個としたが、2個以上でもよ
い。
【0059】(実施例3)図10は実施例3における図
18の検査系列生成手段4の処理の流れを示すフローチ
ャートである。同図に於て、1001は処理の開始、1
002は終了条件を設定する操作、1003はスキャン
記憶素子以外で未処理の記憶素子があるか否かの判定、
1004は未処理の記憶素子を1つ選択する操作、10
05は選択した記憶素子をスキャン記憶素子に置き換え
たと仮定して回路中のすべての記憶素子の可制御費を計
算する操作、1006はスキャン記憶素子を1つ選択し
てスキャン記憶素子に変換する操作、1007はスキャ
ン記憶素子数が設定した値に達したか否かの判定、10
08は検査入力生成操作、1009は処理の終了を示
す。
【0060】以下図8、図10および図18を用いて本
発明の実施例3における検査系列生成装置および検査系
列生成方法を説明する。
【0061】入力部1で受け付けた回路情報に対して回
路情報解析手段3によって回路情報を解析し、検査系列
生成手段4を実行する。プログラム実行部2の実行中に
生じた中間データはすべて記憶部5で記憶する。検査系
列生成手段4では、まずステップ1001で処理を開始
する。次にステップ1002で、処理を終了するための
検出率およびスキャン記憶素子数の制限を設定する。本
実施例では、スキャン記憶素子を3個選択するように設
定したとする。次にステップ1003で未処理の記憶素
子があるか否かを判定する。今、回路中には記憶素子8
06〜809があり、いずれも未処理なのでステップ1
004へ進み、未処理の記憶素子806〜809から1
つを選択する。今、記憶素子806を選択したとする。
次にステップ1005では、選択した記憶素子806を
スキャン記憶素子に置き換えたと仮定して、回路中のス
キャン記憶素子以外の他のすべての記憶素子807〜8
09の可制御費を計算し、その合計を算出する。今、そ
の合計値が3122であるとする。
【0062】次にステップ1003へ進み、未処理の記
憶素子があるか否かを判定する。今、記憶素子807〜
809が未処理なので、ステップ1004で記憶素子8
07を選択したとする。次にステップ1005では、回
路中の他のすべての記憶素子806、808、809の
可制御費の合計を計算し、その値が2068であるとす
る。以下、記憶素子808、809について同様にステ
ップ1003〜1005の操作を繰り返し、ステップ1
005における可制御費の合計値がそれぞれ1006
3、2760であったとする。
【0063】次にステップ1003では、未処理の記憶
素子が回路中に存在しないため、ステップ1006へ進
む。ある故障に対する検査系列生成に失敗する場合、そ
の大きな原因の1つとして、回路中の信号線の論理値の
制御が困難であることがあげられる。その解決策とし
て、スキャン記憶素子にすることによって最も回路中の
各素子、特に記憶素子の可制御費を改善するような記憶
素子を見つけ出してスキャン記憶素子に変換すれば、少
ないスキャン記憶素子数で非スキャン記憶素子の論理値
制御を容易にし、検出率を向上させることができる。し
たがってステップ1006では、ステップ1005で計
算した可制御費の合計値が最も小さい記憶素子を1つ選
択する。今、記憶素子806〜809をそれぞれ1つだ
けスキャン記憶素子に置き換えた場合の、他の記憶素子
の可制御費の合計数はそれぞれ3022、2068、1
063、2760であるので、記憶素子808をスキャ
ン記憶素子に置き換える。
【0064】次にステップ1007へ進み、スキャン記
憶素子数が設定した値に達したか否かを判定するが、
今、スキャン記憶素子数は1個であるので、ステップ1
003へ進む。ステップ1003では、スキャン記憶素
子以外の未処理の記憶素子は記憶素子806、807、
809であるので、ステップ1004で記憶素子806
を選択する。ステップ1005では、スキャン記憶素子
以外の他のすべての記憶素子807、809の可制御費
を計算して合計し、その値が968であるとする。記憶
素子807、809について同様にステップ1003〜
1005の操作を行い、ステップ1005における可制
御費の合計値がそれぞれ1901、1103であったと
する。ステップ1006では記憶素子806、807、
809をそれぞれ1つだけスキャン記憶素子に置き換え
た場合の、他の記憶素子の可制御費の合計数はそれぞれ
968、1901、1103であるので、記憶素子80
6をスキャン記憶素子に置き換える。
【0065】ステップ1007では、スキャン記憶素子
数が2個であり、設定値にまだ達していないので、ステ
ップ1003へ進み、同様にステップ1003〜100
6の操作を行い、記憶素子809をスキャン記憶素子に
置き換えたとする。次にステップ1007では、スキャ
ン記憶素子数が3個となり、設定値に達したのでステッ
プ1008へ進み、検査系列生成を行う。その後、ステ
ップ1009で操作を終了する。次に検査系列生成手段
4を終了し、出力部6で検査系列を出力する。
【0066】(表3)に本実施例による実験結果を示
す。実験に使用した回路はいずれもインターナショナル
シンポジウム サーキット アンド システムの資料
[F.Brglez,et al.,"Combinational Profiles of Seque
ntial Benchmark Circuit," Proc. Inc. Symp. Circuit
and Systems, pp.1929-1934, May. 1989.]に記載され
ているベンチマーク回路である。
【0067】
【表3】
【0068】(表3)の本実施例の実験結果を(表1)
の従来例の実験結果と比較すると、本実施例ではより少
ないスキャン記憶素子数でより高い検出率か、または同
じ検出率が得られた。
【0069】(実施例4)図11は図1の操作105の
実施例4における処理の流れを示したフローチャートで
ある。1101は処理の開始、1102は最大のスキャ
ン要求度をもつ記憶素子群のリストを作成する操作、1
103はリスト中の記憶素子数が複数であるか否かの判
定、1104は1102の操作で作成したリスト中の記
憶素子のうち、まだ未処理のものがあるか否かの判定、
1105は未処理の記憶素子を1つ選択する操作、11
06は選択した記憶素子をスキャン記憶素子に変換した
と仮定して回路中の各記憶素子の可制御費を計算する操
作、1107はスキャンに変換する記憶素子を1つ選択
する操作、1108は処理の終了を示す。
【0070】以下、図1、図3、図11、図18を用い
て本実施例における検査系列生成装置および検査系列生
成方法を説明する。
【0071】入力部1で受け付けた回路情報に対して回
路情報解析手段3によって回路情報を解析し、検査系列
生成手段4を実行する。プログラム実行部2の実行中に
生じた中間データはすべて記憶部5で記憶する。検査系
列生成手段4では、まずステップ101では検査系列生
成を開始する。次にステップ102では検査系列生成の
対象として回路中の全故障のリストを作成する。次にス
テップ103では与えられた故障リスト中の故障に対し
て検査系列生成を行う。ステップ103の検査系列生成
処理は実施例1と同じである。次にステップ104へ進
み、検出率が検出条件を満たしているか否かを判定す
る。本実施例では検出条件を実施例1と同様に、検出率
が従来技術における検出率より高いことと定めた。ステ
ップ104では検出率が検出条件を満たしていなけれ
ば、ステップ105でスキャン記憶素子に変換する記憶
素子を1個選択する。ステップ105では、ステップ1
101でスキャン記憶素子選択を開始する。次にステッ
プ1102では、ステップ103の検査系列生成の結果
得られた各記憶素子のスキャン要求度を用いて、最大の
スキャン要求度を持つ記憶素子のリストを作成する。
今、記憶素子303〜308のスキャン要求度がそれぞ
れ0、1、4、9、0、9であるとする。ステップ11
02の操作では最大のスキャン要求度9をもつ記憶素子
306と308をリストに登録する。次にステップ11
03では、リストに登録された記憶素子数を判定し、1
個であればステップ1107の操作によって、この1個
の記憶素子をスキャン記憶素子に変換すべきものとする
が、ここではリストに登録された記憶素子は306と3
08の2個であるので、ステップ1104へ進む。ステ
ップ1104では、リスト中に未処理の記憶素子がある
か否かを判定するが、ここでは記憶素子306、308
の2個とも未処理であるので、次にステップ1105の
操作で2個の記憶素子306、308のうち記憶素子3
06を選択する。次にステップ1106では選択した記
憶素子306がスキャン記憶素子に変換されたものと仮
定して回路中の各素子の可制御費を計算し、回路中の各
記憶素子の可制御費の合計値を算出する。その結果が1
812であったとする。
【0072】次に再びステップ1104へ進み、リスト
中の未処理の記憶素子があるか否かを調べる。リスト中
の記憶素子308がまだ未処理であるので、ステップ1
105の操作で記憶素子308を選択する。次にステッ
プ1106で選択した記憶素子308がスキャン記憶素
子に変換されたものと仮定して回路中の各素子の可制御
費を計算し、回路中の各記憶素子の可制御費の合計値を
算出する。その結果が3127であったとする。次にス
テップ1104でリスト中に未処理の記憶素子があるか
否かを判定するが、リスト中の記憶素子306、308
はいずれも処理済みであるので、ステップ1107へ進
む。ステップ1107では、リスト中の記憶素子30
6、308のうち、スキャン記憶素子に変換した場合に
回路全体の可制御費を最も改善する記憶素子306を選
択する。次にステップ1108でスキャン記憶素子選択
を終了する。
【0073】次にステップ106では、ステップ105
で選択した記憶素子をスキャン記憶素子に変換する。次
にステップ107では、未検出故障のリストを作成して
ステップ103へ進み、ステップ107で作成した未検
出故障リストに対して、記憶素子をスキャン記憶素子に
変換した回路を用いて検査系列生成を行い、ステップ1
04へ進む。ステップ104で検出率が条件を満たして
いればステップ108へ進み、操作を終了する。次に検
査系列生成手段4を終了し、出力6で検査系列を出力す
る。
【0074】ステップ1107の操作でスキャン要求度
最大の記憶素子群のうち1個を選択する方法として、可
制御費最大の記憶素子を選択するのではなくて、スキャ
ン記憶素子に変換した場合の回路全体の可制御費を計算
して最も回路全体の可制御費を改善する記憶素子を選択
しているが、その理由は以下の通りである。
【0075】いずれの方法も回路の可制御性の向上を目
的としているが、一般的に、必ずしも可制御費が最大の
記憶素子をスキャン記憶素子に変換した場合に回路全体
の可制御費が最も向上するとは限らず、記憶素子自身の
可制御費はあまり大きくなくてもスキャン記憶素子に変
換した場合に回路全体の可制御費を著しく改善する場合
がある。したがってスキャン記憶素子に変換する記憶素
子の候補が複数あった場合、単純にその中で可制御費が
最大の記憶素子を選択するよりも、候補に上がった記憶
素子のおのおのについてスキャン記憶素子に変換した場
合の回路全体の可制御費を改善する度合を計算して、そ
の度合が最も大きいものを選択した方がより回路の可制
御性向上に寄与すると考えられる。
【0076】(表4)に本実施例による実験結果を示
す。実験に使用した回路はいずれもインターナショナル
シンポジウム サーキット アンド システムの資料
[F.Brglez,et al.,"Combinational Profiles of Seque
ntial Benchmark Circuit," Proc. Inc. Symp. Circuit
and Systems, pp.1929-1934, May. 1989.]に記載され
ているベンチマーク回路である。
【0077】
【表4】
【0078】(表4)の本実施例の実験結果を(表1)
の従来例の実験結果と比較すると、本実施例ではより少
ないスキャン記憶素子数でより高い検出率が得られた。
また(表4)を(表2)の実施例1の実験結果と比較す
ると、本実施例では実施例1より少数のスキャン記憶素
子でより高い検出率を得るか、または少なくとも同じ結
果を得ている。また(表4)を(表3)の実施例3の実
験結果と比較すると、より少ないスキャン記憶素子数で
同じ検出率を得ている。したがって本実施例は実施例1
および実施例3よりもっと効果的である。
【0079】なお、本実施例を実施例2の操作105に
用いても同様の効果を有する。また、本実施例では1度
にスキャンに置き換える記憶素子の数を1個としたが、
2個以上でもよい。また、本実施例ではステップ206
の操作で初期状態と1ビット違いの状態を状態正当化の
対象としたが、2ビット以上でもよい。
【0080】(実施例5)図12は本発明の実施例5に
おける図18の出力部6の処理の概要を示す図である。
同図に於て、1201は検査系列生成部、1202は検
査系列生成の結果得られた、通常モードでの検査系列記
録部、1203は検査系列生成中の各記憶素子の状態記
録部、1204は検査系列記憶部1202に記録された
通常モードでの検査系列と、状態記憶部1203に記録
された各記憶素子の状態からスキャンモードの検査系列
を含む検査系列を作成する検査系列編集部、1205は
検査系列編集部1204から出力されたスキャンモード
での検査系列を含む検査系列の記憶部を示す。
【0081】図13は本実施例の処理の流れを示すフロ
ーチャートである。同図に於て、1311は処理の開
始、1312は処理を終了するための条件を設定する操
作、1313は回路中に未処理故障があるか否かの判
定、1314は未処理故障を1つ選択して検査系列生成
を行う操作、1315は回路中に存在するスキャン記憶
素子にスキャンイン/アウトが要求された場合に、要求
された値を記録する操作、1316は終了条件を満たし
ているか否かの判定、1317はスキャン記憶素子を1
個選択して変換する操作、1318はステップ1315
で記録された各記憶素子の状態からスキャン動作の検査
系列を生成する操作、1319は処理の終了を示す。検
査系列生成部1201はステップ1312〜1317を
行い、検査系列編集部1204はステップ1318を行
う。
【0082】図14(a)は図8の回路に対する従来技
術による検査系列生成を実行中に、記憶素子が1個スキ
ャン記憶素子に変換された状態を示す。図14(b)は
さらに検査系列生成を続ける過程で、図14(a)に加
えて記憶素子がさらに1個スキャン記憶素子に変換され
た状態を示す。図14(c)はさらに検査系列生成を続
行し、図14(b)に加えて記憶素子がさらに1個スキ
ャン素子に変換された状態を示す。1401はスキャン
イン端子、1402はスキャンアウト端子、1403〜
1405はスキャン記憶素子を示す。
【0083】図15(a)はすべての検査系列生成が終
了したときに、ステップ1314で記録された、各記憶
素子のスキャン動作前、スキャン動作後の状態を示す。
図15(b)はステップ1317で作成された検査入力
を示す。図中のMSはスキャン動作と通常動作のモード
を切り換える信号を入力するための入力端子、140
1、1402はそれぞれ図14(a)〜(c)における
スキャンイン端子、スキャンアウト端子、802、80
3は図8、図14(a)〜(c)における外部入力端
子、804、805は外部出力端子、t0、t1、・・
・、ti、・・、tj、・・・は時刻を示す。
【0084】以下図8、図12、図13、図14、図1
5および図18を用いて、本実施例における検査系列生
成装置および検査系列生成方法の説明を行う。
【0085】入力部1で受け付けた回路情報に対して回
路情報解析手段3によって回路情報を解析し、検査系列
生成手段4、検査系列生成手段4を実行する。プログラ
ム実行部2の実行中に生じた中間データはすべて記憶部
5で記憶する。
【0086】次に出力部6では、まずステップ1311
で処理を開始する。次にステップ1312で処理を終了
する条件を設定する。今、スキャン記憶素子数の制限を
3個に設定する。
【0087】ステップ1313〜1315は検査系列生
成の操作であり、まず最初は図2の回路に対して、ステ
ップ1313の未処理故障の有無を判定し、未処理故障
があれば、ステップ1314で未処理故障を1つ選択
し、その故障に対して検査系列生成を行う。次にステッ
プ1315では、ステップ1314で検査系列を生成し
た際にスキャン記憶素子にスキャンイン/アウトが要求
された場合、スキャン記憶素子を含めたすべての記憶素
子のスキャンイン/アウト動作前とスキャンイン/アウ
ト動作後の状態を記録する。ただし非スキャン記憶素子
の状態はスキャン動作前後で変化しないので、スキャン
動作前とスキャン動作後の状態は同じ値を記録する。
今、図8の回路にはスキャン記憶素子がないので、ステ
ップ1313へ進む。
【0088】ステップ1313〜1315を繰り返し
て、未処理故障がなくなったらステップ1316へ進
み、終了条件が満たされているか否かを判定するが、今
スキャン記憶素子数が0個であるので、ステップ131
7へ進む。ステップ1317では、記憶素子を1つ選択
して、スキャン記憶素子に変換する。今、記憶素子80
7を選択してスキャン記憶素子1403へ変換したとす
る。
【0089】次に図14(a)の回路に対してステップ
1313〜1315の検査系列生成の操作を行う。ステ
ップ1315では、スキャン記憶素子1403にスキャ
ンイン/アウトが要求された場合、スキャン記憶素子1
403のスキャンイン/アウト動作前後の状態を記憶素
子の状態記録部1203へ記録する。また他の非スキャ
ン記憶素子806、808、809の状態をスキャンイ
ン/アウト動作前後の状態としてそれぞれ記録する。
今、時刻tiにおいてスキャン記憶素子1403の状態
がスキャンインによって0から1へ変化することが要求
され、このときのその他の非スキャン記憶素子806、
808、809の状態がそれぞれ0、0、1であるとす
る。この場合、スキャン動作によってスキャン記憶素子
1403に1を設定すると、スキャン動作前のスキャン
記憶素子1403の状態0がスキャンアウト端子から出
力される。このとき、スキャン記憶素子のスキャン動作
前の状態0とスキャン動作後の状態1を記憶素子の状態
記録部1203へ記録しておく。また非スキャン記憶素
子806、808、809の状態は0、0、1で、スキ
ャン動作前後で変化はないので、スキャン動作前、スキ
ャン動作後の状態として、それぞれ0、0、1を記録す
る。以下、同様にステップ1313〜1315を繰り返
し、未処理故障がなくなったら、ステップ1316へ進
み、終了条件を判定する。今、スキャン記憶素子数が1
個であるので、ステップ1317へ進み、記憶素子80
8をスキャン記憶素子1404へ変換したとする。
【0090】次に図14(b)の回路に対してステップ
1313〜1315の検査系列生成の操作を同様に繰り
返す。ステップ1314で、スキャン記憶素子140
3、1404に対して、時刻tjにおいてスキャン動作
によって、状態をそれぞれ0、0から1、1へ変化させ
ることが要求されたとする。この場合、スキャン記憶素
子を含めた回路中のすべての記憶素子806、140
3、1404、809のスキャン動作前の状態0、0、
0、1とスキャン動作後の状態0、1、1、1を記録し
ておく。以下、同様にステップ1313〜1315を繰
り返し、未処理故障がなくなったら、ステップ1316
へ進み、終了条件を判定する。今、スキャン記憶素子数
が2個であるので、ステップ1317へ進み、記憶素子
809をスキャン記憶素子1405へ変換したとする。
【0091】次に図14(c)の回路に対してステップ
1313〜1315の検査系列生成の操作を同様に繰り
返す。ステップ1314で、スキャン記憶素子140
3、1404、1405に対して、時刻tkにおいてス
キャン動作によって、状態をそれぞれ1、1、0から
0、0、1へ変化させることが要求されたとする。この
場合、スキャン記憶素子を含めた回路中のすべての記憶
素子806、1403、1404、1405のスキャン
動作前の状態1、1、1、0とスキャン動作後の状態
1、0、0、1を記録しておく。以下、同様にステップ
1313〜1315を繰り返し、未処理故障がなくなっ
たら、ステップ1316へ進み、終了条件を判定する。
今、スキャン記憶素子数が3個であり、終了条件を満た
しているので検査系列生成を終了して、ステップ131
8へ進む。
【0092】ステップ1318では、検査系列生成の過
程で記録されたスキャン動作前後の各記憶素子の状態か
ら、スキャン動作による検査系列を作成する。今、ステ
ップ1315で記録された記憶素子の状態記録部120
3のスキャン動作前後の各記憶素子の状態は図15
(a)に示す通りである。図中のスキャン動作前、スキ
ャン動作後の項目に記入された数字は、それぞれ左から
順に記憶素子806、スキャン記憶素子1403、記憶
素子808(またはスキャン記憶素子1404)、記憶
素子809(またはスキャン記憶素子1405)の状態
を示す。また、回路中のスキャン記憶素子は1403〜
1405の3個があり、スキャンイン端子→スキャン記
憶素子1403→スキャン記憶素子1404→スキャン
記憶素子1405→スキャンアウト端子の順で接続され
ているとする。
【0093】時刻tiではスキャン記憶素子は1403
のみであるが、最終的にはスキャン記憶素子1404、
1405が連結されるため、スキャン動作を行う際には
スキャン記憶素子1403だけでなく、スキャン記憶素
子1404、1405も同時にスキャン動作させなけれ
ばならない。したがってスキャン記憶素子1403にt
iにおけるスキャン動作後の状態をスキャンインすると
同時に、スキャン記憶素子1404、1405には図6
(a)の時刻tiにおける記憶素子808、809の状
態0、1をスキャンインする。また、スキャンアウト端
子1402から時刻順にtiにおける記憶素子809、
808の状態、スキャン記憶素子1403のスキャン動
作前の状態が出力される。検査系列は検査系列記憶部1
205に書き込まれ、その内容は図15(b)のti
i+4のように、スキャンイン端子1401から時刻順
にそれぞれスキャン記憶素子1405、1404、14
03に設定される状態がスキャンインされる。またスキ
ャンアウト端子1402から時刻順にそれぞれスキャン
記憶素子1405、1404、1403のスキャン動作
前の状態が出力される。
【0094】同様に時刻tjではスキャン記憶素子は1
403、1404であるが、最終的にはスキャン記憶素
子1405も連結されるため、スキャン記憶素子140
3、1404にそれぞれ時刻tjにおけるスキャン動作
後の状態をスキャンインすると同時に、スキャン記憶素
子1405には時刻tjにおける記憶素子809の状態
をスキャンインする必要がある。検査系列は図15
(b)のtj〜tj+4のように、スキャンイン端子140
1から時刻順にそれぞれスキャン記憶素子1405、1
404、1403に設定される状態がスキャンインされ
る。またスキャンアウト端子1402から時刻順にそれ
ぞれスキャン記憶素子1405、1404、1403の
スキャン動作前の状態が出力される。時刻tkでは、既
にすべてのスキャン記憶素子が決定しているので、スキ
ャン記憶素子1403、1404、1405にそれぞれ
時刻tkにおけるスキャン動作後の状態をスキャンイン
する。検査系列は図15(b)のtk〜tk+4のように、
スキャンイン端子1401から時刻順にそれぞれスキャ
ン記憶素子1405、1404、1403に設定される
状態がスキャンインされる。またスキャンアウト端子1
402から時刻順にそれぞれスキャン記憶素子140
5、1404、1403のスキャン動作前の状態が出力
される。
【0095】以上のように本実施例は、検査系列生成中
のある時刻においてスキャン記憶素子にスキャンイン/
アウトを要求された場合に、要求された状態と、同じ時
刻における他のすべての記憶素子の状態を記録してお
き、検査系列生成がすべて終了した後に記録しておいた
各記憶素子の状態を使ってスキャン動作の検査系列を生
成することによって、検査系列生成中にスキャン記憶素
子が増加した場合でも、検査系列を作ることができる。
【0096】
【発明の効果】以上のように本発明の請求項1の検査系
列生成方法によれば、状態初期化処理で検査系列生成が
打ち切られた場合にスキャンに変換することによって検
査系列生成が可能となるような記憶素子を記録し、前記
記録の累積を解析してスキャンすべき記憶素子を決定す
ることによって、従来より少ないスキャン記憶素子数で
より高い検出率が得られる。
【0097】また本発明の請求項4の検査系列生成方法
によれば、故障の影響を外部出力に到達させる処理に失
敗した場合に、どの記憶素子をスキャンすれば故障の影
響を外部出力に到達させることができるかを調べて、ス
キャン記憶素子に変換すべき記憶素子を決定することに
よって、従来より少ないスキャン記憶素子数で高い検出
率が得られる。
【0098】また本発明の請求項6の検査系列生成方法
によれば、スキャンした場合に回路中の可制御費を最も
改善するような記憶素子を、検査系列生成前に選択して
スキャン記憶素子に置き換えてから検査系列生成を行う
ことによって、従来より少ないスキャン記憶素子数でよ
り高い検出率が得られる。
【0099】また本発明の請求項7の検査系列生成方法
によれば、状態初期化処理で検査系列生成が打ち切られ
た場合にスキャンに変換することによって検査系列生成
が可能となるような記憶素子を記録し、前記記録の累積
が最大であるような記憶素子が複数ある場合、それらの
記憶素子のうち、スキャンした場合に回路中の可制御費
を最も改善するような記憶素子を選択してスキャン記憶
素子とすることによって、従来方法および本発明の請求
項3、6より少ないスキャン記憶素子数でより高い検出
率が得られる。
【0100】また本発明の請求項9の検査系列生成方法
によれば、検査系列生成中のある時刻にスキャン記憶素
子にスキャンイン/アウトが要求された場合、同じ時刻
の他のすべての記憶素子の状態を記録しておき、検査系
列生成がすべて終了した後に記録した各記憶素子の状態
を使って検査系列を生成することによって、検査系列生
成中にスキャン記憶素子が増加した場合でも検査系列を
作ることができる。
【図面の簡単な説明】
【図1】本発明の実施例の処理の流れを示すフローチャ
ート
【図2】本発明の実施例1における103の処理流れを
示すフローチャート
【図3】従来例、実施例1および実施例4の説明に用い
る回路図
【図4】実施例1における図3の回路の記憶状態の遷移
を示す状態遷移図
【図5】図3の回路に実施例1を適用した後の回路図
【図6】実施例1における図5の回路の記憶状態の遷移
を示す状態遷移図
【図7】本発明の実施例2の処理の流れを示すフローチ
ャート
【図8】実施例2、実施例3および実施例5の説明に用
いる回路図
【図9】実施例2における回路状態の変化の説明に用い
る回路図
【図10】本発明の実施例3の検査系列生成方法を示す
フローチャート
【図11】本発明の実施例4の検査系列生成方法を示す
フローチャート
【図12】本発明の実施例5における検査系列生成を行
う処理部の全容を示す図
【図13】本発明の実施例5の検査系列生成方法を示す
フローチャート
【図14】実施例5の説明に用いる回路図
【図15】(a)は処理1315の動作を示す図 (b)は処理1318の動作を示す図
【図16】従来例の検査系列生成方法を示すフローチャ
ート
【図17】従来例の動作の説明に用いる回路図
【図18】本発明の実施例における検査系列生成装置の
全容を示す図
【符号の説明】
105 スキャンすべき記憶素子を決定する処理 207 状態SI’から第1の状態Aへ遷移させる外部
入力値を生成する処理 208 初期状態SIとSI’で状態の異なる記憶素子
を記録する処理 212 処理208で記録された記憶素子のスキャン要
求度を増やす処理 706 記憶素子を1個スキャンしたら故障が検出可能
か否かを調べる処理 707 処理706で扱った記憶素子を記録する処理 709 故障の影響が到達した記憶素子を記録する処理 711 処理706、709で最初に記録された記憶素
子のスキャン要求度を増やす処理 1005 選択した記憶素子をスキャン記憶素子と仮定
して可制御費を計算する処理 1102 スキャン要求度最大の記憶素子のリストを作
成する処理 1106 処理1102で作成されたリスト中の記憶素
子の1個をスキャンした場合の回路の可制御費を計算す
る処理 1203 記憶素子の状態記録部 1315 ある時刻における回路中のすべての記憶素子
の状態を記録する処理 1318 処理1315で記録した記憶素子の状態から
検査系列を作成する処理

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】第1の状態、第2の状態の各ビットが回路
    中の各記憶素子の状態を示し、この第1の状態を第2の
    状態で正当化する第1の処理と、この第2の状態と所定
    数のビットが異なる第3の状態を生成させ、前記第1の
    状態をこの第3の状態で正当化する第2の処理と、前記
    第1,2,3の状態以外の第4の状態を生成させ、前記第
    1の状態をこの第4の状態で正当化する第3の処理と、
    この第4の状態を前記第1の状態とする第4の処理と、
    前記第2の状態と前記第3の状態で異なるビットに対応
    する記憶素子を記憶する第5の処理と、前記第3の状態
    を前記第1の状態とする第6の処理と、前記第5の処理
    において、記憶された記憶素子にスキャン要求度を増や
    す第7の処理と、このスキャン要求度を用いてスキャン
    記憶素子を選択する第8の処理とを備えた検査系列生成
    方法。
  2. 【請求項2】請求項1記載の第7の処理では、最後に第
    5の処理で記憶された記憶素子に対してスキャン要求度
    を増やすことを特徴とする検査系列生成方法。
  3. 【請求項3】請求項1記載の第8の処理では、スキャン
    要求度最大の記憶素子が複数ある場合、前記スキャン要
    求度最大の記憶素子のうち、可制御費最大の記憶素子を
    スキャンすべき記憶素子であると決定することを特徴と
    する検査系列生成方法。
  4. 【請求項4】回路状態の各ビットが回路中の各記憶素子
    の状態を示し、この回路状態から故障の影響を外部出力
    へ到達させるような外部入力値の組合せを求める第1の
    処理と、前記第1の処理において前記回路状態から故障
    の影響を外部出力へ到達させるために状態を変化させる
    必要のある記憶素子を記憶する第2の処理と、前記第2
    の処理において記憶された記憶素子のスキャン要求度を
    増やす第3の処理と、このスキャン要求度を用いてスキ
    ャン記憶素子を選択する第4の処理とを備えた検査系列
    生成方法。
  5. 【請求項5】請求項4記載の第4の処理では、スキャン
    要求度最大の記憶素子が複数ある場合、前記スキャン要
    求度最大の記憶素子のうち、可制御費最大の記憶素子を
    スキャンすべき記憶素子であると決定することを特徴と
    する検査系列生成方法。
  6. 【請求項6】回路中の記憶素子をスキャン記憶素子に置
    き換える順序回路の検査系列生成において、回路の検査
    に要する費用を可検査費としたとき、回路中の一部また
    は全部の記憶素子に対して、前記記憶素子をスキャンし
    た場合の回路中の一部または全部の素子の可検査費を計
    算する処理と、前記回路中の一部または全部の素子の可
    検査費が最も低くなる前記記憶素子をスキャン記憶素子
    に置き換える処理とを備えたことを特徴とする検査系列
    生成方法。
  7. 【請求項7】請求項1記載の第8の処理では、スキャン
    要求度最大の記憶素子が複数ある場合、前記スキャン要
    求度最大の記憶素子に対して、前記記憶素子をスキャン
    した場合の回路中の一部または全部の素子の可検査費を
    計算する処理と、前記回路中の一部または全部の素子の
    可検査費が最も低くなる前記記憶素子をスキャン記憶素
    子に置き換える処理とを備えたことを特徴とする検査系
    列生成方法。
  8. 【請求項8】請求項4記載の第4の処理では、スキャン
    要求度最大の記憶素子が複数ある場合、前記スキャン要
    求度最大の記憶素子に対して、前記記憶素子をスキャン
    した場合の回路中の一部または全部の素子の可検査費を
    計算する処理と、前記回路中の一部または全部の素子の
    可検査費が最も低くなる前記記憶素子をスキャン記憶素
    子に置き換える処理とを備えたことを特徴とする検査系
    列生成方法。
  9. 【請求項9】回路中の記憶素子をスキャン記憶素子に置
    き換える順序回路の検査系列生成方法において、回路中
    の記憶素子の状態を記録し、検査系列生成を行う処理
    と、その後、記録した記憶素子の状態を用いて検査系列
    生成終了時にスキャン記憶素子に変換されている記憶素
    子に、スキャンインする検査系列を作成する処理とを備
    えたことを特徴とする検査系列生成方法。
JP07204992A 1991-04-16 1992-03-30 検査系列生成方法 Expired - Fee Related JP3265614B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP07204992A JP3265614B2 (ja) 1991-04-16 1992-03-30 検査系列生成方法
DE69230477T DE69230477T2 (de) 1991-04-16 1992-04-14 Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu
EP92106403A EP0509440B1 (en) 1991-04-16 1992-04-14 Apparatus for generating test pattern for sequential logic circuit of integrated circuit and method thereof
EP96107238A EP0730233B1 (en) 1991-04-16 1992-04-14 Apparatus for generating test pattern for sequential logic circuit of integrated circuit and method thereof
DE69220709T DE69220709T2 (de) 1991-04-16 1992-04-14 Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu
EP96107237A EP0730232B1 (en) 1991-04-16 1992-04-14 Apparatus for generating test pattern for sequential logic circuit of integrated circuit and method thereof
DE69230479T DE69230479T2 (de) 1991-04-16 1992-04-14 Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu
DE69230478T DE69230478T2 (de) 1991-04-16 1992-04-14 Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu
EP96107239A EP0727744B1 (en) 1991-04-16 1992-04-14 Apparatus for generating test pattern for sequential logic circuit of integrated circuit and method thereof
US07/868,737 US5430736A (en) 1991-04-16 1992-04-15 Method and apparatus for generating test pattern for sequential logic circuit of integrated circuit

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP8384691 1991-04-16
JP21225591 1991-08-23
JP3-212255 1991-08-23
JP3-83846 1991-08-23
JP07204992A JP3265614B2 (ja) 1991-04-16 1992-03-30 検査系列生成方法

Publications (2)

Publication Number Publication Date
JPH05113468A true JPH05113468A (ja) 1993-05-07
JP3265614B2 JP3265614B2 (ja) 2002-03-11

Family

ID=27300844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07204992A Expired - Fee Related JP3265614B2 (ja) 1991-04-16 1992-03-30 検査系列生成方法

Country Status (4)

Country Link
US (1) US5430736A (ja)
EP (4) EP0730232B1 (ja)
JP (1) JP3265614B2 (ja)
DE (4) DE69230478T2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137048B2 (en) 2001-02-02 2006-11-14 Rambus Inc. Method and apparatus for evaluating and optimizing a signaling system
JPH05119122A (ja) * 1991-10-25 1993-05-18 Fujitsu Ltd スキヤン回路のテストパターン生成方法
FR2694089B1 (fr) * 1992-07-24 1994-10-14 Jacques Raymond Procédé de contrôle de l'exécution d'essais de produits.
US5737341A (en) * 1993-07-01 1998-04-07 Matsushita Electric Industrial Co., Ltd. Method of generating test sequence and apparatus for generating test sequence
JPH0755895A (ja) * 1993-08-10 1995-03-03 Fujitsu Ltd 高効率故障検出用テストパターンの作成方法
DE4400203C1 (de) * 1994-01-05 1995-08-03 Daimler Benz Ag Verfahren zur Überwachung von Fahrzeugfunktionskomponenten
US5550841A (en) * 1994-01-12 1996-08-27 Lsi Logic Corporation Method for failure analysis of megachips using scan techniques
US6282681B1 (en) * 1995-03-06 2001-08-28 Motorola, Inc. Method and apparatus for testing finite state machine (FSM) conformance utilizing unique input/output sequence (UIO) sets
US5703885A (en) * 1995-03-06 1997-12-30 Motorola, Inc. Method and apparatus for constructing verification test sequences by merging and touring hierarchical unique input/output sequence (UIO) based test subsequence graphs
US6004027A (en) * 1995-03-06 1999-12-21 Motorola Inc. Method and apparatus for constructing test subsequence graphs utilizing unique input/output sequence (UIO) sets
US5796752A (en) * 1995-03-06 1998-08-18 Motorola, Inc. Method and apparatus for constructing verification test sequences by euler touring a test subsequence graph
US5555270A (en) * 1995-03-13 1996-09-10 Motorola Inc. Method and apparatus for constructing unique input/output sequence (UIO) sets utilizing transition distinctness measurements
US5684808A (en) * 1995-09-19 1997-11-04 Unisys Corporation System and method for satisfying mutually exclusive gating requirements in automatic test pattern generation systems
JPH10134025A (ja) * 1996-10-30 1998-05-22 Mitsubishi Electric Corp 半導体集積回路
US5872797A (en) * 1996-12-02 1999-02-16 International Business Machines Corporation Burn-in signal pattern generator
DE69822694T2 (de) * 1997-04-25 2004-08-12 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren zum prüfgerechten Entwurf, Verfahren zur Prüfsequenzerzeugung und integrierte Halbleiterschaltung
US6141630A (en) 1997-08-07 2000-10-31 Verisity Design, Inc. System and method for automated design verification
US6873939B1 (en) 2001-02-02 2005-03-29 Rambus Inc. Method and apparatus for evaluating and calibrating a signaling system
US7490275B2 (en) 2001-02-02 2009-02-10 Rambus Inc. Method and apparatus for evaluating and optimizing a signaling system
US7076377B2 (en) * 2003-02-11 2006-07-11 Rambus Inc. Circuit, apparatus and method for capturing a representation of a waveform from a clock-data recovery (CDR) unit
US7290187B2 (en) * 2004-08-04 2007-10-30 International Business Machines Corporation Segmented algorithmic pattern generator
US7231571B2 (en) * 2005-04-28 2007-06-12 Yardstick Research, L.L.C. Single-pass methods for generating test patterns for sequential circuits
US7958421B2 (en) 2007-08-16 2011-06-07 Yardstick Research, Llc Single-pass, concurrent-validation methods for generating test patterns for sequential circuits
US8156395B2 (en) * 2008-07-28 2012-04-10 Yardstick Research, Llc Methods for generating test patterns for sequential circuits

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4716564A (en) * 1985-11-15 1987-12-29 Tektronix, Inc. Method for test generation
JP2556017B2 (ja) * 1987-01-17 1996-11-20 日本電気株式会社 論理集積回路
US4991176A (en) * 1989-06-07 1991-02-05 At&T Bell Laboratories Optimal test generation for finite state machine models
JP2616165B2 (ja) * 1989-07-12 1997-06-04 松下電器産業株式会社 検査入力生成方法および検査容易化設計方法
US5132974A (en) * 1989-10-24 1992-07-21 Silc Technologies, Inc. Method and apparatus for designing integrated circuits for testability
US5291495A (en) * 1991-07-12 1994-03-01 Ncr Corporation Method for designing a scan path for a logic circuit and testing of the same

Also Published As

Publication number Publication date
DE69230479D1 (de) 2000-01-27
EP0727744A2 (en) 1996-08-21
EP0730232A2 (en) 1996-09-04
DE69230478T2 (de) 2000-08-03
EP0730233B1 (en) 1999-12-22
DE69230479T2 (de) 2000-08-03
DE69230477D1 (de) 2000-01-27
EP0509440B1 (en) 1997-07-09
EP0730232A3 (en) 1996-12-27
EP0727744B1 (en) 1999-12-22
DE69220709D1 (de) 1997-08-14
EP0730232B1 (en) 1999-12-22
EP0730233A3 (en) 1996-12-18
US5430736A (en) 1995-07-04
EP0509440A1 (en) 1992-10-21
EP0730233A2 (en) 1996-09-04
DE69220709T2 (de) 1997-11-06
EP0727744A3 (en) 1996-12-27
JP3265614B2 (ja) 2002-03-11
DE69230478D1 (de) 2000-01-27
DE69230477T2 (de) 2000-08-03

Similar Documents

Publication Publication Date Title
JPH05113468A (ja) 検査系列生成方法
US7139956B2 (en) Semiconductor integrated circuit device and test method thereof
US6301685B1 (en) Error propagation path extraction system, error propagation path extraction method, and recording medium recording error propagation path extraction control program
US5996101A (en) Test pattern generating method and test pattern generating system
Kundu Diagnosing scan chain faults
US20070011543A1 (en) Test pattern generation method
US20050149804A1 (en) Device and method for testing integrated circuit
US6058255A (en) JTAG instruction decode test register and method
US6470468B1 (en) Test pattern generator, propagation path disconnecting method, and delay fault detecting method
JP2616165B2 (ja) 検査入力生成方法および検査容易化設計方法
Wang et al. Capture-Pattern-Control to address the fault detection degradation problem of multi-cycle test in logic BIST
JP2000250946A (ja) Lsi回路のテスト容易化設計方法および装置ならびにテスト容易化設計処理プログラムを記録したコンピュータ読取り可能な記録媒体
Cao et al. Sequential redundancy identification using recursive learning
JPH05119122A (ja) スキヤン回路のテストパターン生成方法
JPH0587885A (ja) 検査系列生成方法
JP2785901B2 (ja) 検査系列生成方法および検査系列生成装置
US7246292B2 (en) Apparatus and method for bit pattern learning and computer product
JP2737637B2 (ja) 論理回路検査装置
JP3253775B2 (ja) 検査系列生成方法
JPH1183945A (ja) 論理回路の故障診断方式
JPH10197607A (ja) 論理回路のテスト方法
JPH0915305A (ja) 論理回路のテストパターン生成システム
JPH1183958A (ja) テストパタン生成装置並びにテストパタン生成プログラムを記録した記録媒体
JPH056409A (ja) 論理回路生成装置及び論理回路生成方法
JPH09113584A (ja) 検査入力系列の自動生成装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees