JPH063419A - 組み合わせ論理回路のテストパタン生成方法 - Google Patents

組み合わせ論理回路のテストパタン生成方法

Info

Publication number
JPH063419A
JPH063419A JP4158227A JP15822792A JPH063419A JP H063419 A JPH063419 A JP H063419A JP 4158227 A JP4158227 A JP 4158227A JP 15822792 A JP15822792 A JP 15822792A JP H063419 A JPH063419 A JP H063419A
Authority
JP
Japan
Prior art keywords
test pattern
logic circuit
combinational logic
bdd
value
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
JP4158227A
Other languages
English (en)
Inventor
Hiroshi Kouda
浩史 粳田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP4158227A priority Critical patent/JPH063419A/ja
Publication of JPH063419A publication Critical patent/JPH063419A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 共有BDDのノード数を減らして、必要なメ
モリ容量を削減するとともに、短時間で効率的にテスト
パタンを生成できる組み合わせ論理回路のテストパタン
生成方法を提供すること。 【構成】 組み合わせ論理回路の外部入力線の一部に共
有BDDを構成する論理関数の変数を割り当てて、組み
合わせ論理回路の正常時における各信号線上の論理関数
を共有BDDとして生成する共有BDD生成ステップS
1と、組み合わせ論理回路の外部入力線の他の一部に固
定値を割り当てて探索木を生成する探索木生成ステップ
S2と、共有BDDおよび探索木を用いて前記テストパ
タンを生成するテストパタン生成ステップS4とからな
るテストパタン生成方法。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、組み合わせ論理回路の
故障検査に使用されるテストパタン生成方法に係り、特
に共有BDDを用いた組み合わせ論理回路のテストパタ
ン生成方法に関する。
【0002】
【従来の技術】一般に、製造後のLSI(集積回路)の
故障を検査する場合、特定のテストパタンを入力して出
力の状態をモニタする方法がとられる。このような故障
検査に使用されるテストパタンの生成は、回路の大規模
化・複雑化と共に計算に長時間を要し、コストもかかる
ものとなっている。
【0003】特に、組み合わせ論理回路の故障検査のた
めのテストパタンの生成をDアルゴリズムやPODEM
(path−oriented decision marking )アルゴリズムな
どの木探索に基づく決定的テストパタン生成アルゴリズ
ムで行うと、バックトラックの回数が非常に多くなり、
故障によっては現実的な時間内ではテストパタンが求ま
らないことがある。このため故障検出率が十分に得られ
なかったり、故障検出率を上げるために膨大な計算時間
を必要とするという問題が起こっている。
【0004】一方、このような木探索に基づくアルゴリ
ズムでは非常に時間がかかるような冗長故障を効率よく
処理できる可能性を持ったテストパタン生成アルゴリズ
ムとして、共有BDDを用いたアルゴリズムが知られて
いる。共有BDDを説明する前に、文献 [1]:R.E.Brya
nt,Graph-Based Algolithms for Boolean FunctionMani
pulation,IEEE Trans.on Computers,Vol.C-35,No.8,Aug
ust,1985,pp.677-691.に記載されているBDD(Binary
Decision Diagram :二分決定図)について説明する。
BDDは論理関数をDAG(Directed Acyclic Graph:
有向非循環図)で表現したものであり、それに対する各
種の操作を効率的に行おうとするものである。
【0005】まず、BDDを構成する前に、BDDが表
現しようとする論理関数(fとする)の変数に対して順
番を定める。この論理関数fに対して、予め定められた
変数の順番に従って二分決定木を作る。図11(a) に、
f=X1 ・X2 +X3 なる論理関数に対する二分決定木
の例を示す。変数の順番は、X1 →X2 →X3 のように
定められている。この二分決定木においては、図11
(a) に示すように同型のサブグラフを含んでおり、◎を
付したノードは他のノードと同型のサブグラフを共有し
ている。そこで、◎を付したノードを冗長なノードとし
て削除すると、DAGは図5(b) に示すようになり、こ
れが論理関数fを表すBDDとなる。このとき変数の順
番が定められていることにより、一つの論理関数に対し
てBDDは一意に定まる。
【0006】共有BDDは、BDDと同様の考えを異な
る複数の論理関数に対して適用し、それらの論理関数の
間でも同型のサブグラフを共有することにより、複数の
論理関数を少ないメモリ量で表現しようとするものであ
る。図11(c) に、f=X1・X2 +X3 ,g=X1
2 +X1 ・X3 ,h=X2 +X3 なる3つの論理関数
を同時に表現した共有BDDの例を示す。
【0007】文献 [2]:井置、石浦、矢島「共有二分決
定図を用いた組み合わせ論理回路のテスト生成」、第3
8回情報処理学会全国大会論文集、2S-5,Mar.1983,pp.1
137-1144.には、上述した共有BDDを用いて、通常仮
定する各信号線の0,1縮退故障(信号線上の値が0ま
たは1に固定される故障)に対するテストパタンを生成
する方法が記載されている。
【0008】この方法においては、まず対象とする組み
合わせ論理回路内の各信号線がとる論理関数を共有BD
Dで表し、メモリに記憶しておく。そして縮退故障を仮
定した信号線に対して、その信号線上の縮退故障による
固定値を表すBDD(0または1)を割り当て、これを
組み合わせ論理回路内に伝搬させることにより、故障回
路(故障のある組み合わせ論理回路)の各信号線がとる
論理関数を次々と求めてゆく。伝搬させた結果が正常回
路(故障のない組み合わせ論理回路)のとる論理関数と
等しい場合には、故障の影響が消えたと判断して、それ
以降の伝搬を止める。
【0009】このようにして故障の影響を伝搬させてゆ
き、故障がある外部出力線まで達した場合に、その故障
を検査できるテストパタンが存在すると判定する。この
とき故障が伝搬された外部出力線の正常回路での論理関
数と故障回路での論理関数との排他的論理和(XOR)
をとった論理関数を求め、この関数の値が1となるよう
な入力変数(組み合わせ論理回路の外部入力線に割り当
てた変数)の値を求めれば、それがその故障に対するテ
ストパタンとなる。故障の影響が全て外部出力線に達す
る前に消えてしまった場合には、その故障は冗長故障で
あるということになる。
【0010】以上の操作は回路内で記号シミュレーショ
ンを行っていることになるが、共有BDDを用いれば、
それらを効率的に行うことができる。以下、文献 [2]の
方法によるテストパタン生成の具体例を説明する。組み
合わせ論理回路として図12(a) に示す回路を考える。
外部入力線P1 ,P2 ,P3 に対して、X1 ,X2 ,X
3 なる入力変数が与えられたとすると、正常回路では各
信号線のとる論理関数は図12(a) 中に示すようにな
る。これらの論理関数を共有BDDとしてメモリに記憶
しておく。
【0011】次に、例えば信号線P4 の0縮退故障を検
出するテストパタンを求める場合を考える。このため
に、図12(b) に示すように信号線P4 に対して故障時
の論理関数として0を設定し、メモリに記憶しておく。
この信号線P4 上の値を信号線P5 に伝搬させると、故
障時のP5 上の論理関数は、0+X2 =X2 となる。次
に、この信号線P5 上の値を信号線P6 へ伝搬させる
と、故障時のP6 上の論理関数はX1 +X2 となって正
常時の論理関数と等しくなり、信号線P6 上で信号線P
4 に仮定した故障の影響は消えてしまう。そこで、信号
線P5 上の値を別の信号線P7 へ伝搬させると、故障時
の該信号線P7 上の論理関数はX2 +X3 となり、これ
は正常時の該信号線P7 上の論理関数である/X1 +X
2 +X3 とは異なったものとなる。なお、/Xi (i=1,
2,…)なる表記は、Xi の否定を表すものとする。
【0012】ここで、信号線P7 は外部出力線であるの
で、正常時の信号線P7 上の論理関数/X1 +X2 +X
3 と故障時の信号線P7 上の論理関数X2 +X3 とのX
ORをとる。これにより、図12(c) に示すBDDが新
たに共有BDDの一部として生成される。このXORを
とった論理関数が1となる入力変数は(X1 ,X2 ,X
3 )=(0,0,0)であり、これが当該故障(信号線
4 の0縮退故障)に対するテストパタンとして生成さ
れる。
【0013】上述のような共有BDDを用いたテストパ
タン生成方法は、一般的な傾向として木探索に基づく決
定的テストパタン生成方法ではバックトラックの回数が
増えて時間のかかる可能性のある冗長故障に対して有効
と考えられる。冗長故障の場合は、故障の影響を伝搬さ
せていっても、それらは必ず外部出力線に至る前に消え
てしまい、その時点で故障の冗長性を証明できるからで
ある。従って、木探索による方法では打ち切り故障とな
ってしまうような故障に対処するために有効な方法であ
ると考えられる。
【0014】しかし、従来の共有BDDを用いたテスト
パタン生成方法においては、大規模で複雑な組み合わせ
論理回路のテストパタンを生成する場合、入力変数の順
番や論理関数の性質などによって、組み合わせ論理回路
内の各信号線がとる論理関数を表現する共有BDDのノ
ード数が極めて多くなる。このため、共有BDDを記憶
するためのメモリの必要な容量が増大し、またテストパ
タン生成における各種操作の実行時間が長くかかるとい
う問題がある。
【0015】
【発明が解決しようとする課題】上述したように、従来
の共有BDDを用いたアルゴリズムによって組み合わせ
論理回路のテストパタンを生成する方法では、対象とす
る組み合わせ論理回路が大規模化・複雑化すると、生成
される共有BDDのノード数が多くなるため、共有BD
Dを記憶するために大容量メモリを必要とし、また各種
操作の実行時間が長くなり、テストパタン生成に時間が
かかるという問題があった。
【0016】本発明は、生成される共有BDDのノード
数を減らして、必要なメモリ容量を削減するとともに、
短時間で効率的にテストパタンを生成できる組み合わせ
論理回路のテストパタン生成方法を提供することを目的
とする。
【0017】
【課題を解決するための手段】上記の課題を解決するた
め、本発明は組み合わせ論理回路の正常時における各信
号線上の論理関数を共有BDDとして生成し、この共有
BDDを用いて前記組み合わせ論理回路の故障を検査す
るためのテストパタンを生成するテストパタン生成方法
において、組み合わせ論理回路の外部入力線のうち一部
に論理関数の変数を割り当てて共有BDDを生成し、他
の一部に固定値を割り当てて探索木を生成して、テスト
パタンを生成することを特徴とする。
【0018】より具体的には、組み合わせ論理回路の外
部入力線の一部に共有BDDを構成する論理関数の変数
を割り当てて、組み合わせ論理回路の正常時における各
信号線上の論理関数を共有BDDとして生成する。
【0019】一方、組み合わせ論理回路の外部入力線の
他の一部に固定値を割り当てて探索木を生成する。この
探索木の生成には、例えば外部入力線に0または1の値
を割り当て、それを組み合わせ論理回路内に伝搬させて
正常回路と故障回路との差を見てゆく、いわゆるPOD
EM(path-oriented decision marking)アルゴリズム
(文献 [3]:P.Goel,An implict enumeration algolith
m to genarate testsfor combinational logic circuit
s,IEEE Trans.on Computers,Vol.C-30,No.3,1981.pp.21
5-212.参照)を用いることができる。
【0020】そして、これらの共有BDDおよび探索木
を用いてテストパタンを生成する。このテストパタン生
成に際しては、外部入力線の一部に割り当てられた変数
と、他の一部に割り当てられた固定値を組み合わせ論理
回路内に伝搬させ、組み合わせ論理回路内の信号線上の
故障の影響が該組み合わせ論理回路の任意の外部出力線
へ伝搬した時の該外部出力線上の論理関数と共有BDD
として記憶されている該外部出力線上の論理関数との排
他的論理和をとった論理関数が1となる時の前記変数と
前記固定値とを組み合わせることにより、該故障に対す
るテストパタンを生成する。
【0021】
【作用】共有BDDを用いたテストパタン生成におい
て、共有BDDを記憶するためのメモリの容量が大きく
なる原因は、前述の通り組み合わせ論理回路の各信号線
がとる論理関数を表現する共有BDDのノード数が大き
くなることである。この共有BDDの大きさ(ノード
数)は、共有BDDを生成する際の変数の順番や、扱う
論理関数の性質に大きく依存するが、一般的に変数の数
とともに増大するということがいえる。
【0022】そこで、本発明では共有BDDを構成する
論理関数の変数を与える外部入力線の数を制限すること
によって、生成される共有BDDの大きさを小さくす
る。具体的には、PODEMアルゴリズムのような木探
索アルゴリズムと、外部入力線に論理関数の変数を割り
当てて各信号線がとる論理関数を組み合わせ論理回路内
に伝搬させて正常回路と故障回路との差を見てゆく共有
BDDを用いたテストパタン生成アルゴリズムを組み合
わせることにより、共有BDDを記憶するためのメモリ
の容量増加を抑える。
【0023】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図1は、本発明の一実施例に係るテストパタン生
成の概略的な手順を示すフローチャートである。
【0024】まず、テストパタン生成対象の組み合わせ
論理回路の複数の外部入力線のうちの一部に共有BDD
を構成する論理関数の変数の一部を割り当てて、共有B
DDを生成する(S1)。一方、組み合わせ論理回路の
外部入力線のうちの他の一部に0または1の値(固定
値)を割り当てて探索木を生成する(S2)。次に、組
み合わせ論理回路内に仮定した故障に対するテストパタ
ンの生成が可能かどうかを調べ(S3)、可能であれば
S1,S2で生成された共有BDDおよび探索木を用い
てテストパタンを生成する(S4)。また、テストパタ
ン生成が不可能であれば、その故障は冗長故障であると
判定する(S5)。
【0025】S1,S2での処理に際しては、まず複数
の外部入力線(PIとする)を0または1の値を割り当
てる外部入力線(以下、値PIという)と、共有BDD
を構成する論理関数の変数を割り当てる外部入力線(以
下、変数PIという)の二種類に分類する。これら値P
Iおよび変数PIの選び方としては、各信号線がとる論
理関数を変数PIに割り当てた変数の論理関数として表
現した場合(値PIに対しては、変数として0または1
の論理関数が割り当てられているとする)、生成される
共有BDDの大きさをテストパタン生成に実際に使用し
ている計算機環境で許されるメモリ使用量の範囲内に収
まるように制限しつつ、なるべく多くとるようにする。
【0026】但し、本発明は基本的に共有BDDを用い
たテストパタン生成アルゴリズムであり、PODEMア
ルゴリズムのような木探索による決定的テストパタン生
成アルゴリズムのみでは、探索木が大きくなり過ぎてテ
ストパタン生成を行えないような故障を対象としてい
る。従って、共有BDDを記憶するためのメモリの容量
を減らすためとはいっても、あまり多くの値PIをとる
と、探索木が大きくなって計算時間が増えるので、値P
Iは必要最小限に選ぶようにする必要がある。なお、実
際には変数PIの選び方によってどの程度の共有BDD
が生成されるかを予測するのは困難なので、各論理関数
が依存する変数の数の上限を決めて、全ての論理関数の
変数の数はその上限以下であるようにする。
【0027】図2は、上記の点を考慮した値PIを決定
するためのアルゴリズムを示すフローチャートである。
まず、共有BDDを構成する論理関数の変数の制限値
L、すなわち変数PIの本数をL=(外部出力線の総
数)−(値PIの本数)によって定める(S11)。次
に、各外部入力線(Pi)(i=1,2,…)上の論理
関数が影響を与える外部出力線の本数n(Pi)を求めて
記憶する(S12)。
【0028】そして、S11で定められた制限値Lより
多い本数の外部入力線上の論理関数の影響を受ける各外
部出力線に対して、その外部出力線に影響を与える外部
入力線(Pi)のうち、S12で記憶された本数n(Pi)
が最も大きな外部入力線を値PIとして定め、次にn
(Pi)が二番目に大きな外部入力線を値PIとして定め
るというように、n(Pi)の大きな順で各外部入力線を
値PIに定め、各外部出力線が影響を受ける変数PIの
本数を制限値L以下に制限する(S13)。
【0029】このように、なるべく多くの外部出力線が
依存するような外部入力線から順に値PIに定めるとい
うヒューリスティックを用いて、値PIを決定してゆく
ことが望ましい。
【0030】具体例として、例えば図3に示す組み合わ
せ論理回路において、生成される共有BDDの変数の数
を2に制限するものとする。本来の入力変数は、外部入
力線Q1 〜Q4 に入力されるX1 〜X4 の4つであり、
外部出力線R1 上の論理関数(出力関数)Y1 はこれら
の4変数X1 〜X4 に依存する。そこで、これら4変数
のうちの2変数、例えばX1 ,X2 をなくすために、外
部入力線Q1 ,Q2 を値PIとする。こうすると、組み
合わせ論理回路の全ての信号線の論理関数は2つ以下の
変数で表現されることになり、生成される共有BDDも
2変数の共有BDDとなる。この場合、出力関数Y2
変数X2 ,X4 に依存するので、外部入力線Q2 ,Q4
を値PIとすれば、生成される共有BDDの大きさはさ
らに小さくなると考えられる。以上のようにして値PI
および変数PIを定めた後、共有BDDおよび探索木を
生成して、テストパタン生成を行う。
【0031】図4は、図1に概略を示した本発明の一実
施例によるテストパタン生成の手順をより詳細に示すフ
ローチャートである。本発明のように外部入力端子の一
部に値PIを割り当てて探索木を作る際、無駄な探索を
行わないようにするために、どの値PIから選んでどの
値(0または1)から割り当ててゆくかを適切に決める
必要がある。この値PIの選択順序および値PIに割り
当てる値の決定に際しては、例えばPODEMにおける
バックトレースを行う。
【0032】そこで、まずバックトレースによって、あ
る外部入力端子(目標PIという)と、その目標PIに
対して割り当てるべき値(目標値)を求め(S21)、
引き続き目標PIが値PIであるかどうかを判定する
(S22)。この判定の結果、目標PIが値PIである
場合には、PODEMアルゴリズムと同様に、その目標
PI(値PI)に目標値(0または1の論理関数)を割
り当ててから木探索を行い、探索木を作る(S23)。
なお、探索木の各ノードでは、共有BDDにより正常回
路と故障回路の記号シミュレーションを行う。ここで値
PIのとる論理関数は、その割り当てた値(0または1
の定数論理関数)とする。また、目標PIが値PIでな
い場合、つまり変数PIである場合には、その変数PI
に変数(1変数論理関数)を割り当てる(S24)。そ
して、S23またはS24の後、各論理関数を組み合わ
せ論理回路内に伝搬させる(S25)。
【0033】次に、共有BDDおよび探索木を用いてテ
ストパタン生成を行う。この場合、まず共有BDDおよ
び探索木の各ノードでテストパタン生成が可能かどうか
の判定を行う。この判定は、基本的に従来の共有BDD
を用いたテストパタン生成の方法と同じであり、正常回
路の論理関数と故障回路とで全ての信号線上の論理関数
が同じ(探索のその時点でテストパタンが存在しない)
か、異なるものがある(テストパタンが存在する可能性
がある)かで行う。ここで、外部出力線のとる論理関数
が正常回路と故障回路とで異なるものがある場合には、
テストパタンが存在することになる。
【0034】すなわち、S25において論理関数を伝搬
させる際、故障を仮定した信号線までその論理関数が伝
搬しているかどうかを判定する(S26)。ここで、論
理関数が故障を仮定した信号線まで伝搬していない場合
にはS21に戻り、伝搬している場合には、さらに正常
回路と故障回路とで論理関数の異なる信号線があるかど
うかを判定する(S27)。正常回路と故障回路とで論
理関数の異なる信号線があれば、さらに正常回路と故障
回路とで論理関数の異なる外部出力線があるかどうかを
判定し(S28)、そのような外部出力線がなければS
21に戻り、あればテストパタンを求める(S29)。
【0035】このテストパタンは、従来の共有BDDを
用いたテストパタン生成と同様に、テストパタンが存在
するときの外部出力線上の正常回路と故障回路での2つ
の論理関数の排他的論理和を表す論理関数を求め、その
値が1になるように変数に割り当てた値と、探索木にお
いて値PIに割り当てた0または1の値とを組み合わせ
ることにより求められる。
【0036】一方、S27において正常回路と故障回路
とで論理関数の異なる信号線がない場合は、まだ調べて
いない値PIへの値の割り当てがあるかどうかを判定し
(S30)、割り当てがあればその値を値PIへ割り当
て(S31)、その後S25に戻って各論理関数を伝搬
させる。また、値PIへの値の割り当ての全ての場合を
調べし尽くして、割り当てがなくなれば、すなわちテス
トパタンがない場合には、その故障は冗長故障であると
判定する(S32)。
【0037】次に、具体的な組み合わせ論理回路を例に
とり、従来のPODEMアルゴリズムおよび共有BDD
を用いたテストパタン生成アルゴリズムと、これらを組
み合わせた本発明によるテストパタン生成アルゴリズム
について説明する。
【0038】まず、図5(a) に示す組み合わせ論理回路
において、信号線N1 上の0縮退故障(値が0に固定さ
れる故障)に対するテストパタンを生成する場合を考え
る。この故障に対してPODEMアルゴリズムで探索木
を作ると、図5(b) に示すようになり、変数X1 〜X4
をどのようにしてもテストパタンが存在しない。従って
この故障は冗長故障であることが分かる。この時、バッ
クトラックは5回行われる。
【0039】また、図5(a) と同じ信号線N1 上の0縮
退故障に対するテストパタン生成を共有BDDを用いた
記号シミュレーションで行うと、図6に示すようにな
る。ここで、各信号線に対して分数式(f1 /f2 )の
形で記されているのは、f1 が正常回路でのその信号線
上の論理関数、f2 が故障回路でのその信号線上の論理
関数であることを表しており、故障の影響が伝搬して来
ない信号線に対しては、正常回路での論理関数のみを記
している。同図において、外部出力線R1 上の論理関数
は正常回路と故障回路とで共にX3 ・X4 であることか
ら、この故障は冗長故障であることが分かる。このテス
トパタン生成を行う際、各論理関数を記憶しておくのに
共有BDDを用いる。
【0040】一方、本発明によるテストパタン生成は、
図7に示すようになる。まず、図6において論理関数X
2 が変数として入力された外部入力線Q2 を値PIと
し、これに図7(a)(b)に示すように0または1を割り当
てて木探索を行う。このときの探索木は、図7(c) に示
すようになる。
【0041】まず、値PIである外部入力線Q2 上の値
がX2 =0の場合を調べると、図7(a) に示すようにX
2 に割り当てた0が伝搬してゆき、最終的に外部出力線
1上の論理関数が正常回路と故障回路とで共にX3
4 となるので、テストパタンは存在しないことが分か
る。また、X2 =1の場合を調べると、図7(b) に示す
ように信号線N1 上の論理関数が正常回路と故障回路と
で共に0となり、やはりテストパタンは存在しないこと
が分かる。このように、探索木のあらゆる場合を調べ尽
くした結果、この故障は冗長故障であることが証明され
る。この場合、バックトラックは2回行ったことにな
る。
【0042】また、従来の共有BDDを用いたテストパ
タン生成アルゴリズムでは0,1,X1 ,X2 等の自明
な論理関数を除くと、(1) /X2 、(2) X1 ・/X2
(3)X1 ・/X2 ・X3 、(4) X1 ・/X2 ・X3 、(4)
1 ・/X2 ・X3 +X2+X4 、(5) X3 ・X4 およ
び(6) X2 +X4 の6個の論理関数を表す図8に示すよ
うな共有BDDを生成しなければならない。これに対し
て、本発明の一実施例によるテストパタン生成アルゴリ
ズムによれば、(1) X1 ・X3 、(2) X1 ・X3 +X4
および(3) X3 ・X4 の3個の論理関数を表す図9に示
すような共有BDDを生成すればよいことになる。
【0043】なお、図8および図9において、各ノード
から出ている枝に付されている0または1は、それぞれ
その変数が0または1に対応することを示している。ノ
ード数で比較すると、図8では15ノードであるのに対
して、図9では9ノードと大幅に減少している。
【0044】このように本発明によるテストパタン生成
アルゴリズムによると、従来の共有BDDを用いたテス
トパタン生成アルゴリズムに比較して、生成される共有
BDDの大きさ(ノード数)が減少しており、それだけ
共有BDDの記憶に使用するメモリの容量も減少するこ
とになる。
【0045】なお、本発明の実施に際しては、前述のバ
ックトラック時の組み合わせ論理回路の状態(各信号線
のとる論理関数)の変化に対処することが望まれる。す
なわち、バックトラックを行った場合、値PIへ割り当
てる値(0または1)が変わり、それを伝搬させてゆく
ことにより各信号線がとる論理関数も変わることによっ
て、不要な論理関数が生じる。また、値PIの値に依存
する信号線の論理関数や各故障に対する故障回路の論理
関数も、そのテストパタン生成が終わった時点で不要と
なる。
【0046】このような不要な論理関数に対しては、通
常の共有BDDによるテストパタン生成の場合と同様
に、生成されるノード数がある限界を越えた時点で、ま
とめてガーベッジ・コレクションを行い、記憶領域を解
放するなどの対策をとることが考えられる。
【0047】図10に、上述したテストパタン生成方法
を用いたテストパタン生成部を含む自動テストパタン生
成システムの一例を示す。このシステムは、組み合わせ
論理回路の回路データ1を入力とし、ランダム法による
テストパタン生成部2、決定的アルゴリズムテストパタ
ン生成部3および共有BDDを用いたテストパタン生成
部4を通して組み合わせ論理回路のテストを行い、テス
トに関する各種データ5を得る構成となっている。
【0048】共有BDDを用いたテストパタン生成部4
に、上述した本発明によるテストパタン生成方法を適用
することにより、共有BDDの記憶に必要なメモリの容
量が小さくて済み、かつそれに伴いテストパタン生成に
おける各種操作の実行時間が短くなり、テストパタン生
成を迅速に効率よく行うことができる。
【0049】
【発明の効果】以上説明したように、本発明によれば組
み合わせ論理回路の外部入力線の一部に共有BDDに使
用される論理関数における変数を割り当てて共有BDD
を生成すると共に、外部入力線の他の一部に0または1
の固定値を割り当てて探索木を生成し、これら共有BD
Dおよび探索木を用いてテストパタン生成を行うことに
より、変数の数を減らして共有BDDの大きさ(ノード
数)を削減することができる。従って、共有BDDを記
憶するメモリの容量が小さくて済み、同時にテストパタ
ン生成手順における各種操作の実行時間を短縮でき、効
率のよいテストパタン生成を行うことが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るテストパタン生成の概
略的な手順を示すフローチャート
【図2】同実施例における0または1の固定値を割り当
てる外部入力線を決める手順を示すフローチャート
【図3】テストパタン生成対象の組み合わせ論理回路の
具体例を示す図
【図4】同実施例におけるテストパタン生成のより詳細
な手順を示すフローチャート
【図5】従来のPODEMアルゴリズムを用いたテスト
パタン生成方法の具体例を説明するための図
【図6】従来の共有BDDを用いたテストパタン生成方
法の具体例を説明するための図
【図7】本発明によるテストパタン生成方法の具体例を
説明するための図
【図8】従来の共有BDDを用いたテストパタン生成に
おける共有BDDを示す図
【図9】本発明によるテストパタン生成における共有B
DDを示す図
【図10】本発明に係るテストパタン生成方法を用いた
テストパタン生成部を組み込んだ自動テストパタン生成
システムの構成を示すブロック図
【図11】共有BDDを説明するための図
【図12】共有BDDを用いた従来のテストパタン生成
方法を説明するための図
【符号の説明】
1 〜Q4 …外部入力線 N1 …信号線 R1 〜R2 …外部出力線

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】組み合わせ論理回路の正常時における各信
    号線上の論理関数を共有BDDとして生成し、この共有
    BDDを用いて前記組み合わせ論理回路の故障を検査す
    るためのテストパタンを生成するテストパタン生成方法
    において、 前記組み合わせ論理回路の外部入力線の一部に前記論理
    関数の変数を割り当てて前記共有BDDを生成し、他の
    一部に固定値を割り当てて探索木を生成し、これら共有
    BDDおよび探索木を用いてテストパタンを生成するこ
    とを特徴とする組み合わせ論理回路のテストパタン生成
    方法。
  2. 【請求項2】前記探索木を生成する際、前記変数を割り
    当てる外部入力線の本数の制限値を定めておき、この制
    限値より多くの外部入力線の影響を受ける各外部出力線
    に対して、その外部出力線に影響を与える外部入力線の
    うち、各外部入力線が影響を与える外部出力線の本数が
    大きな外部入力線から順に前記固定値を割り当てること
    を特徴とする請求項1記載の組み合わせ論理回路のテス
    トパタン生成方法。
  3. 【請求項3】前記探索木を生成する際、前記固定値を割
    り当てる外部入力線とそれに割り当てる固定値をバック
    トレースを用いて決定することを特徴とする請求項1ま
    たは2記載の組み合わせ論理回路のテストパタン生成方
    法。
  4. 【請求項4】前記探索木の生成をPODEMアルゴリズ
    ムにより行うことを特徴とする請求項1、2または3記
    載の組み合わせ論理回路のテストパタン生成方法。
  5. 【請求項5】前記テストパタンを生成する際、前記変数
    および前記固定値を前記組み合わせ論理回路内に伝搬さ
    せ、該組み合わせ論理回路内の信号線上の故障の影響が
    該組み合わせ論理回路の任意の外部出力線へ伝搬した時
    の該外部出力線上の論理関数と前記共有BDDとして記
    憶されている該外部出力線上の論理関数との排他的論理
    和をとった論理関数が1となる時の前記変数と前記固定
    値とを組み合わせて該故障に対するテストパタンを生成
    することを特徴とする請求項1記載の組み合わせ論理回
    路のテストパタン生成方法。
JP4158227A 1992-06-17 1992-06-17 組み合わせ論理回路のテストパタン生成方法 Pending JPH063419A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4158227A JPH063419A (ja) 1992-06-17 1992-06-17 組み合わせ論理回路のテストパタン生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4158227A JPH063419A (ja) 1992-06-17 1992-06-17 組み合わせ論理回路のテストパタン生成方法

Publications (1)

Publication Number Publication Date
JPH063419A true JPH063419A (ja) 1994-01-11

Family

ID=15667060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4158227A Pending JPH063419A (ja) 1992-06-17 1992-06-17 組み合わせ論理回路のテストパタン生成方法

Country Status (1)

Country Link
JP (1) JPH063419A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043261A (ja) * 1999-03-09 2001-02-16 Agency Of Ind Science & Technol デジタルシステム、デジタルシステムのクロック信号調整方法および、その調整方法で実行する処理プログラムを記録した記録媒体
US6658581B1 (en) 1999-03-29 2003-12-02 Agency Of Industrial Science & Technology Timing adjustment of clock signals in a digital circuit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043261A (ja) * 1999-03-09 2001-02-16 Agency Of Ind Science & Technol デジタルシステム、デジタルシステムのクロック信号調整方法および、その調整方法で実行する処理プログラムを記録した記録媒体
US6658581B1 (en) 1999-03-29 2003-12-02 Agency Of Industrial Science & Technology Timing adjustment of clock signals in a digital circuit
US6993672B2 (en) 1999-03-29 2006-01-31 Agency Of Industrial Science & Technology Timing adjustment of clock signals in a digital circuit

Similar Documents

Publication Publication Date Title
KR100337696B1 (ko) 모델 검사를 위한 동작 환경을 자동적으로 생성하는 방법
US20210116498A1 (en) Customer-transparent logic redundancy for improved yield
KR20180112725A (ko) 장애 지점을 검출하기 위한 장치 및 방법
Wang et al. An ATPG method for double stuck-at faults by analyzing propagation paths of single faults
US9404972B2 (en) Diagnosis and debug with truncated simulation
KR100966010B1 (ko) 하나 이상의 중복 테스트 제거 및 하나 이상의 비효율적테스트 재배열 방법
US10990728B1 (en) Functional built-in self-test architecture in an emulation system
US11023368B1 (en) Reduction of testing space for system testing infrastructure using combinatorics
CN115176233B (zh) 以确定性顺序执行测试
JPH063419A (ja) 組み合わせ論理回路のテストパタン生成方法
CN111241766A (zh) 测试方法与测试***
JPH063420A (ja) 組み合わせ論理回路のテストパタン生成方法
CN117852476B (zh) 基于不完备算法进行仿真的方法和装置
JP2000214906A (ja) テスト生成問題解決システム及びテスト生成問題解決方法
JP2007078536A (ja) 故障検出シミュレーションシステム、故障検出シミュレーション方法及びプログラム
Rajendran et al. Efficient signal selection using supervised learning model for enhanced state restoration
JP3196735B2 (ja) 順序回路等価検証装置、方法及び記録媒体
Dalirsani et al. Structural test and diagnosis for graceful degradation of NoC switches
Van Eijk A BDD-based verification method for large synthesized circuits
JP2024010862A (ja) テストパターン生成プログラム、テストパターン生成装置及びテストパターン生成方法
JP2004185550A (ja) 半導体集積回路のテスト容易化設計方法および装置
Aarna et al. Parallel fault simulation of digital circuits
JPH07260897A (ja) テストパターン自動生成方法
JP2658857B2 (ja) 等価故障抽出方法及び装置
JP2009245148A (ja) 再構成可能な論理デバイスのデバッグ装置、デバッグ方法及びデバッグプログラム