JP3312605B2 - 逆論理展開システム及び逆論理展開方法並びにプログラムを記録した機械読み取り可能な記録媒体 - Google Patents

逆論理展開システム及び逆論理展開方法並びにプログラムを記録した機械読み取り可能な記録媒体

Info

Publication number
JP3312605B2
JP3312605B2 JP31696898A JP31696898A JP3312605B2 JP 3312605 B2 JP3312605 B2 JP 3312605B2 JP 31696898 A JP31696898 A JP 31696898A JP 31696898 A JP31696898 A JP 31696898A JP 3312605 B2 JP3312605 B2 JP 3312605B2
Authority
JP
Japan
Prior art keywords
state
logic
signal line
logical
input
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
Application number
JP31696898A
Other languages
English (en)
Other versions
JP2000132575A (ja
Inventor
一樹 重田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP31696898A priority Critical patent/JP3312605B2/ja
Publication of JP2000132575A publication Critical patent/JP2000132575A/ja
Application granted granted Critical
Publication of JP3312605B2 publication Critical patent/JP3312605B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、組合せ論理回路の
予め設定された出力端子の論理状態を満足させる入力端
子の全論理状態を求める逆論理展開技術に関し、特に入
力端子の全論理状態を高速に求めることができる逆論理
展開技術に関する。
【0002】
【従来の技術】逆論理展開技術とは、組合せ論理回路の
出力端子の論理状態(出力論理状態)から入力端子の論
理状態(入力論理状態) を推定する技術で、特開平8-14
6093号公報、特開平8-217301号公報等に記載されている
ような故障診断システムの一部として使用可能である。
実回路規模の順序回路の故障解析に対して故障診断シス
テムを使用する場合には、抽出される組合せ論理回路は
数10Kゲート規模と予想されるため、同程度の規模の組
合せ論理回路の全ての入力信号パターンを推定する能力
が必要とされる。
【0003】従来の逆論理展開技術としては、例えば、
バックトラック法を利用するものが知られている。バッ
クトラック法は含意操作(Implication) と仮決定(Decis
ion)を繰り返して全ての信号線の論理状態を推定する方
法で、Branch-and-bound法とも呼ばれている。バックト
ラック法に関しては、M.Abramobvici,M.A.Breuer,andA.
D.Friedman 「Digital Systems Testing and Testable
Design 」IEEE Press, New York, pp.186-196, 1990.
に簡単に記述されている。
【0004】バックトラック法は、メモリ使用量が少な
く、データ量がゲート数に比例するため、メモリ使用量
の予測が容易であるという特徴を有すると共に、アルゴ
リズムが単純で並列処理が容易であるという特徴を有す
る。しかし、回路が大規模になると仮決定の回数が増大
するため全ての入力論理状態を求めるには膨大な計算時
間を必要とする。
【0005】そこで、仮決定の回数を少なくし、計算時
間を短縮できるようにするために、Don't Careを利用す
る技術が提案された。
【0006】図7は、Don't Careを利用した従来の逆論
理展開システム(例えば、特開平10-154171 号公報参
照)の構成を示すブロック図である。図7を参照する
と、従来の逆論理展開システムは、キーボード等の入力
装置1と、プログラム制御により動作するデータ処理装
置5と、情報を記憶する記憶装置3と、ディスプレイ装
置や印刷装置などの出力装置4とを含む。
【0007】記憶装置3は、論理回路構成記憶部31と、
仮決定状態記憶部32a と、論理状態記憶部33とを備えて
いる。
【0008】論理回路構成記憶部31には、逆論理展開の
処理対象にする組合せ論理回路の構成、すなわち、ゲー
トの種類、ゲート同士の接続関係、ゲートと信号線の接
続関係、信号線同士の接続関係など、組合せ論理回路の
構成を示す論理回路構成情報が予め記憶されている。
【0009】仮決定状態記憶部32a には、論理状態を仮
決定した信号線の名前と、仮決定した論理状態と、仮決
定レベルとが対応付けて格納される。仮決定レベルは、
その信号線に対する仮決定が、過去に行われた何回の仮
決定の結果を利用したものなのかを示す。但し、この例
では、(利用した仮決定の回数+1)を仮決定レベルと
している。
【0010】論理状態記憶部33には、処理中の各信号線
の論理状態が記憶される。
【0011】データ処理装置5は、初期設定手段21と、
X(Don't Care)状態設定手段22と、含意操作手段23と、
論理矛盾判定手段24と、処理終了判定手段25a と、バッ
クトラック手段26a と、U(Unknown) 状態検索手段52
と、第2の論理値仮決定手段51とを備える。
【0012】初期設定手段21は、ユーザが入力装置1を
用いて指示した、逆論理展開の処理対象とする組合せ論
理回路の出力端子の論理状態を論理状態記憶部33に格納
する機能を有する。つまり、初期設定手段21は、ユーザ
によって指示された出力端子の名前と論理状態とを対応
付けて論理状態記憶部33に格納する機能を有する。
【0013】X(Don't Care)状態設定手段22は、初期設
定手段21による出力端子の論理状態の初期設定が終了し
た後、論理回路構成記憶部31の内容と論理状態記憶部33
の内容とに基づいて、処理対象組合せ論理回路中に存在
する論理状態が設定されていない信号線(出力端子以外
の信号線)を全て求め、それらに初期論理状態として
“X”を設定する機能を有する。つまり、X(Don't Car
e)状態設定手段22は、論理状態が設定されていない各信
号線の名前それぞれに対応付けて“X”を論理状態記憶
部33に格納する機能を有する。ここで、論理状態“X”
は、信号線の論理状態が“0”であっても、“1”であ
っても組合せ論理回路全体の論理状態に矛盾を生じさせ
ない時に、“0”と“1”の両方の論理状態を許すこと
を意味する論理状態であり、X(Don't Care)状態設定手
段22が“X”を初期設定した信号線の中には、実際には
論理状態が“X”とならない信号線が存在するかもしれ
ないが、X(Don't Care)状態設定回路22では、そのよう
なことは考慮せずに、機械的に論理状態が設定されてい
ない信号線に“X”を初期設定する。
【0014】含意操作手段23は、論理回路構成記憶部31
に格納されている論理回路構成情報および論理状態記憶
部33に格納されている各信号線の論理状態に基づいてゲ
ートの入出力線の論理状態を推定(含意)し、論理状態
を推定できた信号線が存在する場合には、論理状態記憶
部33に格納されている各信号線の論理状態の内の、上記
論理状態を推定できた信号線の論理状態を推定結果に変
更する機能を有する。尚、論理状態の推定は、“0”,
“1”,“X”を使用して行う。
【0015】論理矛盾判定手段24は、含意操作手段23に
よって含意操作が行われる毎に、論理回路構成記憶部31
及び論理状態記憶部33の内容を参照し、信号線の論理状
態に矛盾が生じているか否かを判定する機能を有する。
【0016】処理終了判定手段25a は、論理回路構成記
憶部31に格納されている論理回路構成情報と論理状態記
憶部33に格納されている各信号線の論理状態とを参照し
て、全信号線の論理状態の推定処理が終了したか否かを
判定する機能を有すると共に、仮決定状態記憶部32a の
内容を参照して、仮決定を行った全ての信号線に対して
“0”と“1”の両方の仮決定を行ったか否かを判定す
る機能を有する。
【0017】バックトラック手段26a は、仮決定状態記
憶部32a の内容に基づいて、仮決定レベルの値が最も大
きく、且つ“1”に仮決定されたことのない信号線を1
つ探し出す機能や、論理状態記憶部33の内容を上記探し
出した信号線に“0”を仮決定する直前の状態に戻す機
能や、上記探し出した信号線の名前を第2の論理値仮決
定手段51に通知する機能を有する。
【0018】U(Unknown) 状態検索手段52は、論理回路
構成記憶部31の内容と論理状態記憶部33の内容とに基づ
いて、出力信号線の論理状態が決まっているゲートの入
力信号線の中から論理状態が不完全なUnknown 状態
(“U”状態)の信号線を探し出す機能を有する。ここ
で、論理状態“U”は、信号線の論理状態を“0”或い
は“1”に決定することができない論理状態を示す。
【0019】第2の論理値仮決定手段51は、U(Unknow
n) 状態検索手段52で探し出された信号線の内の1つを
選択してその信号線の論理状態に“0”を仮決定すると
共に、上記信号線の名前と、仮決定した論理状態“0”
と、仮決定レベル(現在の仮決定レベルを+1したも
の)とを対応付けて仮決定状態記憶部32a に格納する機
能や、バックトラック手段26a で選択された信号線の論
理状態に“1”を仮決定すると共に、上記信号線の名前
と、仮決定した論理状態“1”と、仮決定レベル(上記
信号線名と対応付けて既に仮決定状態記憶部32a に格納
されている仮決定レベル)とを対応付けて仮決定状態記
憶部32a に格納する機能を有する。
【0020】次に、図7に示した従来の逆論理展開シス
テムの動作について、図8の流れ図を参照して説明す
る。
【0021】ユーザは、逆論理展開システムに逆論理展
開処理を行わせる場合、処理対象とする組合せ論理回路
の各出力端子の論理状態を入力装置1から入力する。こ
れにより、初期設定手段21が、入力装置1から入力され
た各出力端子の論理状態を論理状態記憶部33に格納する
と共に、仮決定レベル(dlevel)を「0」に初期化する
(ステップA1,A2) 。
【0022】その後、X(Don't Care)状態設定手段22
が、論理状態が設定されていない信号線に対して、含意
操作の初期状態として“X”を設定し、その結果を論理
状態記憶部33に格納する(ステップA3)。
【0023】次に、論理回路構成記憶部31の内容および
論理状態記憶部33の内容に基づいて含意操作手段23が含
意操作を行い、含意操作において論理状態を推定できた
信号線が存在する場合には、論理状態記憶部33に格納さ
れている上記信号線の論理状態を推定結果で書き換える
(ステップA4)。含意操作とは、ゲートにおいて既に決
定している入出力線の論理状態より、未決定のゲートの
入出力線の論理状態を推定する操作である。
【0024】2入力NANDゲートの場合の含意操作例を図
4に示す。先ず、同図を参照して出力信号の含意操作に
ついて説明する。2NANDゲートの場合は、入力信号線に
論理状態“0”が一つでも存在すれば、出力信号線は論
理状態“1”と推定される。また、全ての入力信号線の
論理状態が“1”であれば、出力信号線は論理状態
“0”と推定される。
【0025】次に、同図を参照して入力信号の含意操作
について説明する。出力信号線の論理状態が“0”であ
れば、全ての入力信号線の論理状態は“1”と推定され
る。また、出力信号線の論理状態が“1”で、且つ一方
の入力信号線の論理状態“1”の場合は、残ったもう一
方の入力信号線の論理状態は“0”と推定される。ま
た、図4には図示していないが、出力信号線の論理状態
が“1”で、2本の入力信号線の内の1本の論理状態が
“0”であれば、残りの入力信号線の論理状態は“X”
と推定される。
【0026】含意操作手段23の処理が終了すると、論理
矛盾判定手段24が、信号線の論理状態に矛盾が生じたか
否かを判定する(ステップA5)。尚、論理矛盾判定手段
24は、論理状態が“X”になっている入力信号線を含む
ゲートに、論理矛盾が発生していたとしても、論理矛盾
が発生していないと判断する。例えば、2入力NANDゲー
トにおいて、出力信号線の論理状態が“1”であり、且
つ2本の入力信号線の論理状態が共に“X”であった場
合、入力信号線の論理状態は、矛盾を生じさせる組み合
わせ(“1”,“1”)を含み、上記2入力NANDゲート
の論理状態に矛盾を生じさせるが、論理矛盾判定手段24
は、論理矛盾が発生していないと判定する。
【0027】論理矛盾判定手段24で論理矛盾が発生して
いないと判定された場合(ステップA5がN)は、処理終
了判定手段25a は、論理回路構成記憶部31に格納されて
いる論理回路構成情報および論理状態記憶部33に格納さ
れている信号線の論理状態に基づいて、処理対象として
いる組合せ論理回路中の全ての信号線の論理状態が
“0”,“1”或いは“X”に推定されたか否かを判断
する(ステップA6)。ここで、論理状態記憶部33に格納
されている各信号線の論理状態だけでなく、論理回路構
成記憶部31に格納されている論理回路構成情報も利用し
て、全ての信号線の論理状態が推定されたか否かを判定
しているのは、次の理由による。前述したように、初期
設定時に、X(Don't Care)状態設定手段22によって、出
力端子以外の信号線の論理状態が機械的に“X”に設定
され、その結果が論理状態記憶部33に格納されている。
従って、論理状態記憶部33上では論理状態が“X”にな
っていても、実際には、論理状態が“U”の信号線が存
在するかもしれない。例えば、2入力NANDゲートの2本
の入力信号線の論理状態が両方とも“X”で、且つ出力
信号線の論理状態が“1”である場合、上記2本の信号
線の論理状態は、実際には論理状態“U”である。この
ような論理状態“U”の信号線を検出するためには、論
理回路構成記憶部31を参照して信号線が接続されている
ゲートの種類等も知る必要があるからである。
【0028】そして、ステップA6において全信号線の論
理状態の推定が終了していないと判定した場合は、処理
終了判定手段25a は、U(Unknown) 状態検索手段52に制
御を渡す。
【0029】これにより、U(Unknown) 状態検索手段52
は、論理回路構成記憶部31に格納されている論理回路構
成情報および論理状態記憶部33に格納されている信号線
の論理状態に基づいて、出力信号線の論理状態が決まっ
ているゲートの入力信号線を対象にして、論理状態記憶
部33上では論理状態が“X”になっていても、実際の論
理状態が“U”状態の信号線を検索し、第2の論理値仮
決定手段51に検索した信号線の名前を通知する(ステッ
プA7) 。
【0030】これにより、第2の論理値仮決定手段51で
は、仮決定レベル(dlevel) を1だけ増加させると共
に、信号線名が通知された信号線の内の1つを選択して
その信号線に対して“0”を仮決定し(ステップB1) 、
その後、制御を含意操作手段23の含意操作処理(ステッ
プA4)に戻す。ここで、ステップB1の仮決定は、通知さ
れた信号名と、仮決定した論理状態“0”と、更新後の
仮決定レベルとを対応付けて仮決定記憶部32a に格納す
ると共に、論理状態記憶部33に格納されている上記信号
線の論理状態を“0”に変更することにより行う。
【0031】これに対して、ステップA6において、全信
号線の論理状態が推定されたと判定した場合は、論理状
態記憶部33に格納されている各信号線の論理状態の内の
入力論理状態を出力装置4 に表示した後(ステップA1
0)、仮決定を行った全仮決定線に対して“0”と“1”
の両方の仮決定処理が終了しているか否かを判定する
(ステップB3) 。この判定は、仮決定状態記憶部32a の
内容に基づいて行うことができる。また、ステップB3の
処理は、ステップA5において矛盾があると判定された場
合にも行われる。
【0032】処理終了判定手段25a は、全仮決定線の処
理が終了したと判定した場合(ステップB3がY)は、初
期設定手段21によって初期設定された出力端子の論理状
態に対して取り得る全ての内部論理状態を求めたことに
なるので、処理終了とする。
【0033】これに対して、全仮決定線の処理が終了し
ていないと判定した場合(ステップB3がN) は、処理終
了判定手段25a は、バックトラック手段26a に制御を渡
す。
【0034】これにより、バックトラック手段26a は、
仮決定状態記憶部32a を参照し、論理状態“1”と仮決
定していない仮決定線を仮決定レベルの大きい方から一
つ検索し、検索した仮決定線の仮決定レベル以上の仮決
定において推定された信号線の論理状態を“X”に初期
化して、各信号線の論理状態をその仮決定を行う前の論
理状態に戻し、その後、上記検索した仮決定線の名前お
よび仮決定レベルを第2の論理値仮決定手段51に通知す
る(ステップB4) 。
【0035】第2の論理値仮決定手段51は、バックトラ
ック手段26a から名前が通知された信号線の論理状態を
“1”と仮決定すると共に、仮決定レベルを通知された
仮決定レベルに変更し(ステップB2) 、その後、含意操
作手段23による含意操作処理( ステップA4) に制御を戻
す。以上の処理は、処理終了判定手段25a で全仮決定線
の処理が終了したと判定されるまで(ステップB3がY)
まで、繰り返し行われる。
【0036】次に、図3に示したISCAS'85ベンチマーク
回路C17 の逆論理展開を行う場合を例にとって、図7に
示した従来の逆論理展開システムの動作を説明する。図
9は、出力端子の論理状態をL22 =“1”, L23 =
“1”とした時の決定木構造を示す。決定木構造におい
て、ノード(丸で囲まれた数字) は、仮決定を行う信号
線番号(名前)を表し、枝(ノード間をつなぐ実線)
は、仮決定した論理状態を表している。枝上の記号は、
仮決定の結果と含意操作の処理内容を示している。
【0037】入力装置1から出力端子の論理状態として
L22 =“1”,L23 =“1”が入力されると、初期設定
手段21が、論理状態記憶部33に出力端子L22,L23 の論理
状態として“1”を格納し、更に、仮決定レベル(dleve
l)を「0」に初期化する(ステップA1,A2)。その後、X
(Don't Care)状態設定手段22が、論理状態記憶部33に出
力端子 L22, L23 以外の信号線の論理状態として“X”
を格納する(ステップA3) 。
【0038】次いで、含意操作手段23が、出力端子L22,
L23に接続されているゲートG22, G23から含意操作を始
めるが、ここで含意される信号線はない(ステップA4)
。その後、論理矛盾判定手段24において、論理矛盾が
生じていないと判定される(ステップA5がN)。
【0039】ステップA5で論理矛盾が生じていないと判
定されると、終了処理判定手段25aが、論理状態の推定
が終了したか否かを判定する(ステップA6)。この例の
場合、論理状態の推定されていない信号線が存在するの
で、論理状態の推定が終了していないと判断され、制御
がU(Unknown) 状態検索手段52に渡される。
【0040】U(Unknown) 状態検索手段52は、出力信号
線の論理状態が決定されているゲートG22, G23の入力信
号線を対象にして、論理状態記憶部33上では論理状態が
“X”になっていても、実際の論理状態が“U”の信号
線を検索し、検索した信号線の信号線番号を第2の論理
値仮決定手段51に通知する(ステップA7)。この例の場
合、ゲートG22, G23に接続されている入力信号線L10, L
16, L19 は、論理状態記憶部33上では論理状態“X”に
なっている。しかし、(L10, L16)=(“1”,“1”)
、(L16, L19)=(“1”, “1”) の論理状態は、ゲ
ートG22, G23の論理状態に矛盾を生じさせるものである
ので、U(Unknown) 状態検索手段52は、信号線L10, L1
6, L19 の実際の論理状態は、“U”であると判断し、
それらの信号線番号を第2の論理値仮決定手段51に通知
する。
【0041】これにより、第2の論理値仮決定手段51
は、仮決定レベル(dlevel)を+1すると共に、信号線番
号が通知された信号線L10, L16, L19 の内の1つ(例え
ば、信号線番号が最も小さな信号線L10)を選択してL10=
0 と仮決定する(ステップB1)。
【0042】次に、含意操作手段23においてゲートG10
の入力信号線L1, L3の論理状態がL1=“1”, L3=
“1”と推定されると共に、ゲートG22 の入力信号線L1
6 の論理状態が“X”と推定され(ステップA4)、この
推定結果に基づいて論理状態記憶部33に格納されている
信号線L1, L3の論理状態が“X”から“1”に更新され
る。
【0043】その後、論理矛盾判定手段24において論理
矛盾がないと判定され(ステップA5がN)、処理終了判
定手段25a において論理状態の推定処理が終了していな
いと判定されるので(ステップA6がN)、U(Unknown)
状態検索手段52においてステップA7の処理が行われる。
【0044】ステップA7に於いて、U(Unknown) 状態検
索手段52は、出力信号線の論理状態が決まっているゲー
トG22, G23, G10 を対象にして、論理状態記憶部33上で
は論理状態が“X”になっているが、実際の論理状態は
“U”である入力信号線を検索し、その信号線番号を第
2の論理値仮決定手段51に通知する。この例の場合、ゲ
ートG23 の入力信号線L16, L19が論理状態“U”の信号
線として検索され、その信号線番号が第2の論理値仮決
定手段51に通知される。
【0045】第2の論理値仮決定手段51は、信号線L16,
L19の信号線番号が通知されると、仮決定レベル(dleve
l)を+1して「2」にすると共に、信号線番号が通知さ
れた信号線の中から1本の信号線(例えば、信号線L16)
を選択してその信号線L16 を“0”に仮決定する(ステ
ップB1) 。次に、含意操作手段23において、L2=
“1”,L11=“1”, L6=“0”, L19 =“X”, L7=
“X”と推定され、その推定結果に基づいて論理状態記
憶部33の内容が更新される。
【0046】その後、論理矛盾判定手段24で論理矛盾が
ないと判断され(ステップA5がN)、処理終了判定手段
25a において全ての信号線の論理状態が推定されたと判
定される(ステップA6がY)。そして、ステップA6の判
断結果がYとなると、処理終了判定手段25a は、論理状
態記憶部33に記憶されている各信号線の論理状態の内、
入力論理状態(L1=“1”, L2=“1”, L3=“1”,
L6=“0”, L7=“X”) を出力装置4に出力する(ス
テップA10)。
【0047】入力論理状態を出力すると、処理終了判定
手段25a は、“1”を仮決定していない仮決定信号線が
存在するか否かを、仮決定状態記憶部32a の内容を参照
して判定する(ステップB3)。この例の場合、仮決定信
号線L10, L16に対して“1”を仮決定していないので、
ステップB3の判定結果はNとなる。
【0048】ステップB3の判定結果がNとなると、バッ
クトラック手段26a において、バックトラック処理が行
われる(ステップB4)。バックトラック処理においては
次のような処理が行われる。
【0049】先ず、仮決定状態記憶部32a を参照し、
“0”は仮決定されているが、“1”は仮決定されてい
ない仮決定信号線の中から、仮決定レベル(dlevel)が最
も大きなものを1つ選択する。この例の場合は、仮決定
レベル(dlevel)が「2」の信号線L16 が選択される。次
に、論理状態記憶部33の内容を、信号線L16 の論理状態
を“0”に仮決定する直前の状態に戻す。即ち、信号線
L16 の論理状態を“0”と仮決定することにより新たに
論理状態が推定された信号線の論理状態および信号線L1
6 の論理状態を“X”に変更する。この例の場合、信号
線L16, L2, L11,L6の論理状態を“X”に変更すること
により、論理状態記憶部33の内容を、信号線L16 の論理
状態を“0”に仮決定する以前の状態に戻すことができ
る。その後、選択した信号線L16 の信号線番号と、信号
線L16 の仮決定レベル(dlevel)=「2」とを第2の論理
値仮決定手段51に通知する。以上が、バックトラック処
理(ステップB4) で行う処理である。
【0050】第2の論理値仮決定手段51は、バックトラ
ック手段26a から信号線L16 の信号線番号および仮決定
レベル(dlevel)=「2」が通知されると、仮決定レベル
(dlevel)=「2」とすると共に、信号線L16 を“1”に
仮決定する(ステップB2) 。この仮決定は、仮決定状態
記憶部32a に、信号線L16 の信号線番号, 仮決定した論
理状態“1”及び仮決定レベル(dlevel)=「2」を対応
付けて格納すると共に、論理状態記憶部33に格納されて
いる信号線L16 の論理状態を“1”に変更することによ
り行われる。
【0051】その後、含意操作手段23において含意操作
が再び行われる。以下、前述した動作が繰り返し行わ
れ、図9の決定木に示すように、L22 =“1”, L23 =
“1”を満たす入力パターンが全て求められる。この例
においては、4本の信号線L1,L3, L10, L16に対して、
“0”及び“1”の両方の仮決定を計8回行うことによ
り、出力論理状態を満足させる5種類の入力論理状態が
求まる。
【0052】
【発明が解決しようとする課題】上述した従来の技術に
よれば、Don't Careを利用しない場合に比較して仮決定
回数を少なくすることができるので、処理速度を高速化
することができる。しかしながら、全ての仮決定信号線
に対して“0”と“1”の両方の論理状態を仮決定する
必要があるため、十分な処理速度を得ることはできなか
った。
【0053】そこで、本発明の目的は、逆論理展開を行
う際の処理速度を更に高速化することにある。
【0054】尚、バックトラック法以外の手法を利用す
る従来の技術としては、以下の3種類の技術が知られて
いるが、メモリ使用量という物理的制約、出力端子の論
理状態を満足するような入力端子の全ての論理状態を求
められないという制約があるため、これらの技術により
逆論理展開を行うのは得策ではない。
【0055】(1)真理値表を利用する方式:真理値表
とは論理回路の入力端子と出力端子の論理状態の関係を
記した表で、真理値表における検索により、出力端子の
論理状態を満足するような入力論理状態を求めることが
可能である。しかし、真理値表の大きさは、入出力端子
数と出力端子数をそれぞれ NI, NO としたときに、2(N
I+NO) であるため、解析対象の論理回路が大きくなるに
つれて表が複雑かつ巨大になるためメモリ使用量が増大
し出力端子の論理状態を満たすような入力ベクタ検索時
間の増大を招く。そのため、大規模回路に適用するのは
現実的ではない。
【0056】(2) BDD(Binary Decision Diagram) を
利用する方式:BDD は真理値表をツリー構造で表現し、
さらに、簡略化を施したもので、真理値表と同様に入力
端子と出力端子の論理状態の関係が記されている。尚、
BDD については、S.B.Akes, “Binary Decision Diagra
ms”,IEEE Tran. on Computers, Vol. C-27, pp. 509〜
516, Jun. 1978. に詳細に記載されている。
【0057】真理値表を利用する場合と比較するとはる
かに高速に、しかも簡略化により出力端子の論理状態に
関係のある入力端子の論理状態のみを求めることが可能
である。ツリー構造のノード数は真理値表よりは簡略化
により少ないが、乗算器のように複雑な回路ではツリー
構造の効果的な簡略化は望めず、ノード数の増大に伴っ
てメモリ使用量も増大する。また、メモリ使用量の増大
によりメモリスワップを招き計算速度も大きく低下す
る。例えば、ISCAS'85のベンチマーク回路 C6288は16bi
t の乗算器であるが、10時間程度費やしてC6288 の一部
のBDD を作成した例 (P.Ashar and M.Cheong, “Effici
ent Breadth-First Manipulation of Binary Decision
Diagrams” in Int'l Conference on Computer Aided D
esign,pp.622 〜627,1994.)はあるが、完全なBDD を作
成した例はない。
【0058】(3) ATPG(Automatic Test Pattern Gen
erator) を利用する方式:ATPGは論理回路内にある故障
を想定し、その故障が検出できるような一つの入力テス
トパターンを生成するプログラムである。回路規模が大
きくなるにつれて、想定する故障の箇所が増えるため、
想定された故障に対して高速にテストパターンを生成す
るための様々なアルゴリズムが考案されており、一部の
プログラムは大規模回路にも適用可能である。しかし、
ATPGは想定された一つの故障に対して一つのテストパタ
ーンを生成するのが目的であり、その目的のために最適
化されている。そのため、ATPGの技術はそのままでは入
力論理状態を全て求めるという目的には使用できない。
【0059】
【課題を解決するための手段】本発明の逆論理展開方法
は、仮決定を行う際、一部の入力信号線の論理状態が決
定することによって出力信号線の論理状態が決まるよう
なゲートの論理状態の組み合わせを表すクリティカルな
論理状態を利用して仮決定を行う。より具体的には、一
部の入力信号線の論理状態が決まることによって出力信
号線の論理状態が決まるゲートの論理状態の組み合わせ
を表すクリティカルな入出力論理状態を記憶したクリテ
ィカル論理状態記憶部(図1の34)と、処理対象とする
組合せ論理回路中に存在する、既に出力信号線の論理状
態が設定, 含意或いは仮決定され、且つ“U”状態の信
号線を入力信号線として持つ未確定ゲートを一つ選択
し、該選択した未確定ゲートの“U”状態の入力信号線
の内の、仮決定が行われていない1本の信号線に対し
て、前記クリティカル論理状態記憶部に記憶された情報
を基に、仮決定を行う論理値仮決定手段(図1の28)と
を備えている。
【0060】上記した構成においては、クリティカル論
理状態記憶部には、各種のゲートのクリティカルな入出
力論理状態が格納されている。論理値仮決定手段は、
“U”状態の信号線を入力信号線として持つ未確定ゲー
トを一つ選択し、クリティカル論理状態記憶部に記憶さ
れた情報を基に、上記未確定ゲートの“U”状態の入力
信号線の論理状態を仮決定する。
【0061】
【発明の実施の形態】次に本発明の実施の形態について
図面を参照して詳細に説明する。
【0062】〔構成の説明〕次に本発明の第1の実施の
形態について図面を参照して詳細に説明する。図1を参
照するとキーボード等の入力装置1と、プログラム制御
により動作するデータ処理装置2と、情報を記憶する記
憶装置3と、ディスプレイ装置や印刷装置などの出力装
置4とを含む。
【0063】記憶装置3は、論理回路構成記憶部31と、
仮決定状態記憶部32と、論理状態記憶部33と、クリティ
カル論理状態記憶部34とを備えている。本実施の形態の
記憶装置3は、仮決定状態記憶部32a の代わりに仮決定
状態記憶部32を備えている点およびクリティカル論理状
態記憶部34が追加されている点が、図7に示した従来の
記憶装置3と相違している。
【0064】論理回路構成記憶部31には、逆論理展開の
処理対象にする組合せ論理回路の構成、すなわち、ゲー
トの種類、ゲート同士の接続関係、ゲートと信号線の接
続関係、信号線同士の接続関係など、組合せ論理回路の
構成を示す論理回路構成情報が予め格納されている。
【0065】仮決定状態記憶部32には、論理状態を仮決
定した信号線の名前と、その信号線をどのゲートに入力
信号線として認識して仮決定を行ったのかを示す情報
と、仮決定した論理状態と、仮決定レベルとが対応付け
て格納される。仮決定レベルは、その信号線に対する仮
決定が、過去に行われた何回の仮決定の結果を利用した
ものなのかを示す。但し、本実施の形態では、(利用し
た仮決定の回数+1)を仮決定レベルとしている。
【0066】論理状態記憶部33には、処理中の各信号線
の論理状態が格納される。
【0067】クリティカル論理状態記憶部34には、逆論
理展開の処理対象とする組合せ論理回路中に存在する各
種のゲートのクリティカルな入出力論理状態が格納され
ている。ゲートのクリティカルな入出力論理状態とは、
一部の入力信号線の論理状態が決まることによって他の
入力信号線の論理状態にかかわらず出力信号線の論理状
態が決まるようなゲートの入出力信号線の論理状態の組
み合わせを表す。具体的には、2入力NANDゲートの場
合、一方の入力信号線の論理状態が“0”であれば、他
方の入力信号線の論理状態に関わらず、出力信号線の論
理状態は“1”となる。そこで、2入力NANDゲートにつ
いては、クリティカルな入出力論理状態として上記した
ことを示す情報を格納しておく。その形式は、任意のも
のとすることができるが、本実施の形態では、(入力:
出力)=(“0”“X”:“1”),(“X”“0”:
“1”)の形式をとるものとする。
【0068】データ処理装置2は、初期設定手段21と、
X(Don't Care)状態設定手段22と、含意操作手段23と、
論理矛盾判定手段24と、処理終了判定手段25と、バック
トラック手段26と、未確定ゲート検索手段27と、第1の
論理値仮決定手段28とを備える。本実施例の形態のデー
タ処理装置2は、第2の論理値仮決定手段51の代わりに
第1の論理値仮決定手段28を備えている点、U(Unkno
wn) 状態検索手段52の代わりに未確定ゲート検索手段27
を備えている点、終了処理判定手段25a の代わりに終了
処理判定手段25を備えている点およびバックトラック手
段26a の代わりにバックトラック手段26を備えている点
が、図7に示した従来のデータ処理装置5と相違してい
る。
【0069】初期設定手段21は、ユーザが入力装置1を
用いて指示した、逆論理展開の処理対象とする組合せ論
理回路の出力端子の論理状態を論理状態記憶部33に格納
する機能や、仮決定レベル(dlevel)を「0」に初期設定
する機能を有する。
【0070】X(Don't Care)状態設定手段22は、初期設
定手段21による出力端子の論理状態の初期設定が終了し
た後、論理回路構成記憶部31に格納されている論理回路
構成情報と論理状態記憶部33に格納されている各信号線
の論理状態とに基づいて、処理対象組合せ論理回路中に
存在する論理状態が設定されていない信号線(出力端子
以外の信号線)を全て求め、それらに初期論理状態とし
て“X”を設定する機能を有する。
【0071】含意操作手段23は、論理回路構成記憶部31
に格納されている論理回路構成情報および論理状態記憶
部33に格納されている各信号線の論理状態に基づいてゲ
ートの入出力線の論理状態を推定(含意)し、論理状態
を推定できた信号線が存在する場合には、論理状態記憶
部33に格納されている各信号線の論理状態の内の、上記
論理状態を推定できた信号線の論理状態を推定結果に変
更する機能を有する。尚、論理状態の推定は、“0”,
“1”,“X”を使用して行う。
【0072】論理矛盾判定手段24は、含意操作手段23に
よって含意操作が行われる毎に、論理回路構成記憶部31
及び論理状態記憶部33の内容を参照し、信号線の論理状
態に矛盾が生じているか否かを判定する機能を有する。
【0073】処理終了判定手段25は、論理回路構成記憶
部31に格納されている論理回路構成情報と論理状態記憶
部33に格納されている各信号線の論理状態とを参照し
て、全信号線の論理状態の推定処理が終了したか否かを
判定する機能を有すると共に、未確定ゲートにおける仮
決定処理が全て終了しているかを判定する機能を有す
る。ここで、仮決定処理が終了しているか否かの判定対
象にする未確定ゲートは、論理状態の推定が終了したと
判定する直前において、未確定ゲート検索手段27で検
索されたゲートである。また、仮決定処理が全て終了し
たか否かの判定は、未確定ゲートに対してクリティカル
論理状態が全て適用されたか否かに基づいて判断する。
【0074】バックトラック手段26は、仮決定状態記憶
部32の内容と論理状態記憶部33の内容とを参照して、仮
決定レベルの値が最も大きな信号線を入力信号線として
いるゲートを探し出す機能や、探し出してゲートに仮決
定を行っていない入力信号線が存在する場合には、論理
状態記憶部33に格納されている論理状態を上記ゲートの
入力信号線に対して仮決定を行う直前の状態に戻した
後、上記仮決定を行っていない信号線の名前を第1の論
理値仮決定手段28に通知する機能や、探し出したゲート
に仮決定を行っていない入出力信号線が存在しない場合
には、次に仮決定レベルの値が大きい信号線を入力信号
線としているゲートを探し出し、そのゲートのついて同
様の処理を行う機能等を有する。
【0075】未確定ゲート検索手段27は、論理状態記憶
部33に格納されている処理対象としている組合せ論理回
路中のゲートの入出力信号線の論理状態と、論理回路構
成記憶部31に格納されている論理回路構成情報とに基づ
いて、出力信号線の論理状態が決まっているゲートであ
って、且つ論理状態記憶部33上では論理状態が“X”に
なっているが、実際の論理状態は“U”の入力信号線を
有するゲート(未確定ゲート)を検索する機能や、検索
した未確定ゲートの内の1つを第1の論理値仮決定手段
28に通知する機能等を有する。
【0076】第1の論理値仮決定手段28は、未確定ゲー
ト検索手段27から通知された未確定ゲートの“U”状態
の入力信号線の論理状態をクリティカル論理状態記憶部
34の内容に基づいて仮決定する機能を有すると共に、バ
ックトラック手段26から通知された信号線の論理状態を
クリティカル論理状態記憶部34の内容に基づいて仮決定
する機能を有する。
【0077】〔動作の説明〕次に、本実施の形態の動作
について説明する。
【0078】ユーザは、逆論理展開システムに逆論理展
開処理を行わせる場合、処理対象とする組合せ論理回路
の各出力端子の論理状態を入力装置1から入力する。こ
れにより、初期設定手段21が、入力装置1から入力され
た各出力端子の論理状態を論理状態記憶部33に格納する
と共に、仮決定レベル(dlevel)を「0」に初期化する
(図2,ステップA1,A2) 。
【0079】その後、X(Don't Care)状態設定手段22
が、論理状態が設定されていない信号線に対して、含意
操作の初期状態として状態“X”を設定し、その結果を
論理状態記憶部33に格納する(ステップA3)。
【0080】次に、論理回路構成記憶部31の内容および
論理状態記憶部33の内容に基づいて含意操作手段23が含
意操作を行い、含意操作に於いて論理状態を推定できた
信号線が存在する場合には、論理状態記憶部33に格納さ
れている上記信号線の論理状態を推定結果で書き換える
(ステップA4)。
【0081】含意操作手段23の処理が終了すると、論理
矛盾判定手段24が、信号線の論理状態に矛盾が生じたか
否かを判定する(ステップA5)。
【0082】論理矛盾判定手段24で論理矛盾が発生して
いないと判定された場合(ステップA5がN)は、処理終
了判定手段25は、論理回路構成記憶部31に格納されてい
る論理回路構成情報および論理状態記憶部33に格納され
ている信号線の論理状態に基づいて、処理対象としてい
る組合せ論理回路中の全ての信号線の論理状態が推定さ
れたか否かを判定する(ステップA6)。
【0083】そして、ステップA6において全信号線の論
理状態推定が終了していないと判定した場合は、処理終
了判定手段25は、未確定ゲート検索手段27に制御を渡
す。
【0084】これにより、未確定ゲート検索手段27は、
論理回路構成記憶部31に格納されている論理回路構成情
報および論理状態記憶部33に格納されている信号線の論
理状態に基づいて、未確定ゲートを探し出し、その内の
1つを第1の論理値仮決定手段28に通知する(ステップ
A8) 。
【0085】これにより、第1の論理値仮決定手段28
は、クリティカル論理状態記憶部34に格納されている情
報に基づいて、通知された未確定ゲートの“U”状態の
入力信号線の内の1本の信号線の論理状態を仮決定し、
仮決定状態記憶部32, 論理状態記憶部33に仮決定結果に
従った情報を書き込むと共に、仮決定レベル(dlevel)を
+1し(ステップA9)、制御を含意操作手段23に戻す。
これにより、含意手段23は、前述したと同様の含意操作
を行う(ステップA4)。
【0086】これに対して、ステップA6において全信号
線の論理状態が推定されたと判定された場合は、回路内
部の論理状態が“0”, “1”または“X”に定まった
わけであるから、論理状態記憶部33に格納されている入
力論理状態を出力装置4 に表示し(ステップA10)、未確
定ゲートにおける仮決定処理が全て終了しているかを判
定する(ステップA11)。
【0087】そして、処理終了判定手段25が仮決定処理
が終了していないと判定した場合(ステップA11 がN)
は、バックトラック手段26において、以下に述べるバッ
クトラック処理が行われる(ステップA12 )。
【0088】先ず、仮決定状態記憶部32を参照し、既に
仮決定が行われている信号線の内の、最も仮決定レベル
が大きい信号線を入力信号線としているゲートを1つ検
索する。次に、検索したゲートの全ての“U”状態の入
力信号線に対する仮決定が終了しているか否かを判断す
る。そして、終了していない場合は、論理状態記憶部33
に格納されている各信号線の論理状態を、上記ゲートの
入力信号線に対して仮決定を行う直前の論理状態に戻
し、その後、上記ゲートの入力信号線の内の、仮決定を
行っていない信号線の名前を1つ第1の論理値仮決定手
段28に通知すると共に、上記ゲートの入力信号線の仮決
定レベルを第1の論理値仮決定手段28に通知する。
【0089】これに対して、上記ゲートの入力信号線に
対する仮決定が全て終了している場合は、最も仮決定レ
ベルが大きい信号線を入力信号線としている未確定ゲー
トであって、クリティカル論理状態に基づく仮決定処理
を一部しか終了していない未確定ゲートを1つ検索す
る。
【0090】そして、そのようなゲートを探し出すこと
ができた場合には、論理状態記憶部33に格納されている
各信号線の論理状態を、上記ゲートの入力信号線に対し
て仮決定を行う直前の論理状態に戻し、その後、上記ゲ
ートの入力信号線の内の、仮決定を行っていない信号線
の名前を1つ第1の論理値仮決定手段28に通知すると共
に、上記ゲートの入力信号線の仮決定レベルを第1の論
理値仮決定手段28に通知する。これに対して、そのよう
なゲートを探し出すことができなかった場合には、次に
仮決定レベルが大きい信号線を入力信号線としているゲ
ートを1つ検索し、そのゲートについて前述したと同様
の処理(段落〔0088〕に記載された処理)を行う。
以上の処理を、仮決定を行っていないゲートを探し出
し、論理状態記憶部33の内容を上記ゲートの入力信号線
に対して仮決定を行う前の状態に戻し、第1の論理値仮
決定手段28に信号線名と仮決定レベルを通知するまで、
繰り返し行う。
【0091】これにより、第1の論理値仮決定手段28
は、名前が通知された信号線を対して、クリティカル論
理状態記憶部34の内容に基づいた論理状態の仮決定処理
を行い、仮決定状態記憶部32, 論理状態記憶部33に仮決
定結果に応じた情報を書き込む(ステップA13)。その
後、含意操作手段23による含意操作処理(ステップA4)
が行われる。
【0092】これに対して、処理終了判定手段25におい
て、仮決定処理が終了していると判定された場合(ステ
ップA11 がY)は、逆論理展開処理を終了する。
【0093】次に、図3に示したISCAS'85ベンチマーク
回路C17 の逆論理展開を行う場合を例にとって、本実施
の形態の動作を説明する。図5は、出力端子L22, L23の
論理状態をL22 =“1”, L23 =“1”とした時の決定
木構造を示す。決定木構造において、ノード(丸で囲ま
れた数字) は仮決定を行う未確定ゲートの番号(名前)
を表し、枝(ノード間をつなぐ実線) は仮決定した論理
状態を表している。枝上の記号は、仮決定の結果と含意
操作の処理内容を示している。
【0094】入力装置1から出力論理状態としてL22 =
“1”, L23=“1”が入力されると、初期設定手段21
が、論理状態記憶部33に出力端子L22, L23の論理状態と
して“1”を格納し、更に、仮決定レベル(dlevel)を
「0」に初期化する(ステップA1, A2)。その後、X(D
on't Care)状態設定手段22が、論理状態記憶部33に、出
力端子L22, L23以外の信号線の論理状態として“X”を
格納する(ステップA3)。
【0095】次いで、含意操作手段23が、出力端子L22,
L23に接続されているゲート G22,G23 から含意操作を
始めるが、ここで含意される信号線はない(ステップA
4) 。その後、論理矛盾判定手段24において、論理矛盾
が生じていないと判定される(ステップA5がN)。
【0096】ステップA5で論理矛盾が生じていないと判
定されると、終了処理判定手段25が、論理状態の推定が
終了したか否かを判定する(ステップA6)。この例の場
合、論理状態の推定されていない信号線が存在するの
で、論理状態の推定が終了していないと判断され(ステ
ップA6がN)、制御が未確定ゲート検索手段27に渡され
る。
【0097】これにより、未確定ゲート検索手段27は、
未確定ゲートG22, G23を探し出し、その内の1つ(例え
ばゲート番号が最も小さなゲートG22)のゲート名を第1
論理値仮決定手段28に通知する(ステップA8) 。
【0098】次に、第1の論理値仮決定手段28が、仮決
定レベル(dlevel)を+1すると共に、通知されたゲート
G22 の“U”状態の入力信号線L10, L16の内の1つの入
力信号線L1O (信号線番号が最も小さな信号線)の論理
状態を、クリティカル論理状態記憶部34の内容に基づい
て“0”と仮決定する(ステップA9)。つまり、ゲート
G22 は、2入力NANDゲートであり、そのクリティカル論
理状態は、(入力:出力)=(“0”,“X”:
“1”),(“X”,“0”:“1”)であるので、L1
0 =“0”と仮決定する。
【0099】その後、含意操作手段23において、ゲート
G10 の入力信号線L1, L3の論理状態がL1=“1”, L3=
“1”と推定されると共に、ゲートG22 の入力信号線L1
6 の論理状態が“X”と推定される(ステップA4)。
【0100】次いで、論理矛盾判定手段24において矛盾
が生じていないと判定され、処理終了判定手段25におい
て、処理が終了していないと判定される(ステップA5が
N,A6がN)。
【0101】その後、未確定ゲート検索手段27におい
て、未確定ゲートG23 が検索され、そのゲート名が第1
の論理値仮決定手段28に通知される(ステップA8) 。
【0102】これにより、第1の論理値仮決定手段28
は、クリティカル論理状態記憶部34に格納されている、
2入力NANDゲートのクリティカル論理情報に基づいて、
信号線番号が最も小さい信号線L16 の論理状態を“0”
と仮決定する(ステップA9) 。
【0103】その後、含意操作手段23において含意操作
が行われ、L2=“1”, L6=“0”, L7=“X”,L11=
“1”,L19=“X”と推定される(ステップA4) 。この
結果、処理終了判定手段25により全ての論理状態が推定
されたと判定され、入力端子の論理状態L1=“1”, L2
=“1”, L3=“1”, L6=“0”, L7=“X”が出力
装置4に出力される(ステップA6がY, A10)。
【0104】次にバックトラック手段26が、論理状態記
憶部33の内容を未確定ゲートG23 における仮決定(L16=
“0”) 直前の状態に戻し(ステップA12)、第1の論理
値仮決定手段28が、L16 に対しては既に仮決定処理を適
用しているため、今度は、次のクリティカル論理状態(L
16,L19:L23)=(“X”, “0”:“1”)からL19 =
“0”と仮決定する(ステップA13)
【0105】以上の処理は、図5の決定木の左半分の処
理を表している。即ち、未確定ゲートとしてG22 が選択
され(ノードG22)、G22 におけるクリティカル論理状態
に基づいた入力信号線L10 に対する仮決定処理(L10=
“0”) と含意操作が行われ(枝L10=0)、次にG23 が未
確定ゲートとして選択され(ノードG23)、その入力信号
線の1つに対する仮決定処理(L16=“0”) と含意操作
が行われることにより(枝L16=0)、1つの入力パターン
が得られ、その後、G23 のもう1つの入力信号線に対す
る仮決定処理(L19=“0”) と含意操作が行われること
により(L19=0) 、2つ目の入力パターンが得られる。
下、今度は、図5の決定木の右半分に示したように、仮
決定と含意操作およびバックトラックを繰り返して L22
=“1”,L23 =“1”を満たす入力パターンを全て求
めることができる。3つの未確定ゲートの、のべ6箇所
の入力信号線に対して“0”仮決定を計6回行うことに
より、出力論理状態を満足する4種類の内部論理状態が
求まる。
【0106】従来の技術で求めた5つの入力論理状態の
Don't Care“X”を“0”/“1”に展開した論理状態
と、本実施の形態で求めた4つの入力論理状態を展開し
た論理状態は同じものであり、従来の技術の決定木で
は、4箇所の信号線に対して8回の仮決定を行っていた
ことから本発明ではより少ない仮決定の回数で出力論理
状態を満足するような全ての内部論理状態を求めること
ができる。
【0107】次に、本発明の第2の実施の形態について
図面を参照して詳細に説明する。図6を参照すると、本
発明の第2の実施の形態は、逆論理展開プログラムを記
録した記録媒体7を備える。この記録媒体7 は磁気ディ
スク、半導体メモリその他の記録媒体である。
【0108】逆論理展開プログラムは記録媒体7からデ
ータ処理装置6に読み込まれ、データ処理装置6の動作
を制御する。データ処理装置6は、逆論理展開プログラ
ムの制御により、初期設定手段21,X(Don't Care)状態
設定手段22,含意操作手段23,論理矛盾判定手段24,処
理終了判定手段25,バックトラック手段26,未確定ゲー
ト検索手段27,第1の論理値仮決定手段28を実現する。
これにより、第1の実施の形態におけるデータ処理装置
2による処理と同一の処理が実行される。即ち、入力装
置1から組合せ回路の入出力端子の論理状態が与えられ
ると論理回路構成記憶部31に記憶されている回路構成を
参照し、未推定の信号線の論理状態を“X”(Don't Car
e)とおく。仮決定状態記憶部32および論理状態記憶部33
を参照して含意操作と仮決定を繰り返すことにより、全
ての信号線の論理状態を推定する。全ての信号線の論理
状態を推定した場合は、論理状態記憶部に記憶されてい
る入力論理状態を出力装置5に表示させる。
【0109】
【発明の効果】本発明の効果は、仮決定の回数、すなわ
ち、バックトラックの回数が減ることである。その結
果、逆論理展開の処理速度が向上する。その理由は、ク
リティカルな論理状態を利用することにより、“U”状
態の信号線に対して従来の技術のように、“0”/
“1”の両方の仮決定を行う必要がなくなり、余分な仮
決定を減らすことができるためである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の構成例を示すブロ
ック図である。
【図2】本発明の第1の実施の形態の処理例を示す流れ
図である。
【図3】逆論理展開を行う組合せ論理回路の一例を示す
回路図である。
【図4】含意操作を説明するための図である。
【図5】図3に示した組合せ論理回路に対して逆論理展
開を行う際の、第1の実施の形態にかかる決定木構造を
示した図である。
【図6】本発明の第2の実施の形態の構成例を示すブロ
ック図である。
【図7】従来の技術の構成を示すブロック図である。
【図8】従来の技術の処理例を示す流れ図である。
【図9】図3に示した組合せ論理回路に対して逆論理展
開を行う際の、従来の技術にかかる決定木構造を示した
図である。
【符号の説明】 1…入力装置 2 …データ処理装置 3 …記憶装置 4 …出力装置 5 …データ処理装置 6 …データ処理装置 7 …記憶媒体 21…初期設定手段 22… X(Don't Care)状態設定手段 23…含意操作手段 24…論理矛盾判定手段 25,25a…処理終了判定手段 26,26a…バックトラック手段 27…未確定ゲート検索手段 28…第1の論理値仮決定手段 31…論理回路構成記憶部 32,32a…仮決定状態記憶部 33…論理状態記憶部 34…クリティカル論理状態記憶部 51…第2の論理値仮決定手段 52…U(Unknown) 状態検索手段

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 組合せ論理回路の予め設定された出力端
    子の論理状態を満足させる入力端子の全論理状態を、
    “0”,“1”及び“X”を使用した含意操作と、出力
    信号線の論理状態が決定しているゲートの、論理状態が
    “U”の入力信号線に対する論理状態の仮決定とを繰り
    返し行うことにより求める逆論理展開システムにおい
    て、 一部の入力信号線の論理状態が決まることによって出力
    信号線の論理状態が決まるゲートの入出力信号線の論理
    状態の組み合わせを表すクリティカルな入出力論理状態
    を記憶したクリティカル論理状態記憶部と、 処理対象とする組合せ論理回路中に存在する、既に出力
    信号線の論理状態が設定,含意或いは仮決定され且つ
    “U”状態の信号線を入力信号線として持つ未確定ゲー
    トを一つ選択し、該選択した未確定ゲートの“U”状態
    の入力信号線の内の仮決定が行われていない1本の信号
    線に対して、前記クリティカル論理状態記憶部に記憶さ
    れた情報を基に、仮決定を行う論理値仮決定手段とを備
    えたことを特徴とする逆論理展開システム。
  2. 【請求項2】 前記論理値仮決定手段は、“0”,
    “1”を用いて仮決定を行う構成を有することを特徴と
    する請求項1記載の逆論理展開システム。
  3. 【請求項3】 組合せ論理回路の予め設定された出力端
    子の論理状態を満足させる入力端子の全論理状態を、
    “0”,“1”及び“X”を使用した含意操作と、出力
    信号線の論理状態が決定しているゲートの、論理状態が
    “U”の入力信号線に対する論理状態の仮決定とを繰り
    返し行うことにより求める逆論理展開方法において、 処理対象とする組合せ論理回路中に存在する、既に出力
    信号線の論理状態が設定,含意或いは仮決定され、且つ
    “U”状態の信号線を入力信号線として持つ未確定ゲー
    トを一つ選択し、該選択した未確定ゲートの“U”状態
    の入力信号線の内の仮決定が行われていない1本の信号
    線に対して、一部の入力信号の論理状態が決まることに
    よって出力信号の論理状態が決まるゲートの入出力信号
    線の論理状態の組み合わせを表すクリティカルな入出力
    論理状態を基に、仮決定を行う処理を含むことを特徴と
    する逆論理展開方法。
  4. 【請求項4】 前記仮決定は、“0”,“1”を用いて
    行うことを特徴とする請求項3記載の逆論理展開方法。
  5. 【請求項5】 コンピュータに、組合せ論理回路の予め
    設定された出力端子の論理状態を満足させる入力端子の
    全論理状態を、“0”,“1”及び“X”を使用した含
    意操作と、出力信号線の論理状態が決定しているゲート
    の、論理状態が“U”の入力信号線に対する論理状態の
    仮決定とを繰り返し行うことにより求めさせるプログラ
    ムを記録した機械読み取り可能な記録媒体であって、 前記コンピュータに、 処理対象とする組合せ論理回路中に存在する、既に出力
    信号線の論理状態が設定,含意或いは仮決定され且つ
    “U”状態の信号線を入力信号線として持つ未確定ゲー
    トを一つ選択し、前記選択した未確定ゲートの“U”状
    態の入力信号線の内の、仮決定が行われていない1本の
    信号線に対して、一部の入力信号の論理状態が決まるこ
    とによって出力信号の論理状態が決まるゲートの入出力
    信号線の論理状態の組み合わせを表すクリティカルな入
    出力論理状態を基に、仮決定を行わせるプログラムを記
    録したことを特徴とするプログラムを記録した機械読み
    取り可能な記録媒体。
JP31696898A 1998-10-20 1998-10-20 逆論理展開システム及び逆論理展開方法並びにプログラムを記録した機械読み取り可能な記録媒体 Expired - Fee Related JP3312605B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31696898A JP3312605B2 (ja) 1998-10-20 1998-10-20 逆論理展開システム及び逆論理展開方法並びにプログラムを記録した機械読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31696898A JP3312605B2 (ja) 1998-10-20 1998-10-20 逆論理展開システム及び逆論理展開方法並びにプログラムを記録した機械読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2000132575A JP2000132575A (ja) 2000-05-12
JP3312605B2 true JP3312605B2 (ja) 2002-08-12

Family

ID=18082953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31696898A Expired - Fee Related JP3312605B2 (ja) 1998-10-20 1998-10-20 逆論理展開システム及び逆論理展開方法並びにプログラムを記録した機械読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP3312605B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006170949A (ja) * 2004-12-20 2006-06-29 Fujitsu Ltd ビットパターン学習プログラムおよびビットパターン学習方法

Also Published As

Publication number Publication date
JP2000132575A (ja) 2000-05-12

Similar Documents

Publication Publication Date Title
Marlett EBT: A comprehensive test generation technique for highly sequential circuits
US5640403A (en) Fault diagnosis method for a sequential circuit
Yang et al. Quick scan chain diagnosis using signal profiling
JP3137056B2 (ja) 故障伝搬経路抽出システム及びその方法並びにその制御プログラムを記録した記録媒体
US5491639A (en) Procedure for verifying data-processing systems
KR980010844A (ko) 고장 지점을 식별하는 방법 및 시스템
KR100966010B1 (ko) 하나 이상의 중복 테스트 제거 및 하나 이상의 비효율적테스트 재배열 방법
JPH1062494A (ja) 順序回路の故障箇所推定方法
US5590135A (en) Testing a sequential circuit
Raghunathan et al. Acceleration techniques for dynamic vector compaction
JP3312605B2 (ja) 逆論理展開システム及び逆論理展開方法並びにプログラムを記録した機械読み取り可能な記録媒体
JP3555071B2 (ja) 故障伝搬経路推定方法、故障伝搬経路推定装置及び記録媒体
JP2701753B2 (ja) Lsiの故障箇所推定方法
JP3159165B2 (ja) 故障診断における推定論理状態管理方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体
JP2956624B2 (ja) 組合せ論理回路における逆論理展開方式
Hahn et al. A hierarchical approach to fault collapsing
JP3365325B2 (ja) 順序回路のテスト集合圧縮方法
JP3614811B2 (ja) 組合せ論理回路における故障伝搬経路推定システム及び方法並びにプログラム
JP3863423B2 (ja) 論理回路の故障箇所推定方法、および、論理回路の故障箇所推定プログラム
JPH03120485A (ja) 半導体集積回路の故障個所推定方式
Kovijanic A new look at test generation and verification
Cheng Test generation for delay faults in non-scan and partial scan sequential circuits
JP3957507B2 (ja) 論理回路の決定グラフへの変換装置、変換方法及び変換プログラムを記録した記録媒体
JPH1183945A (ja) 論理回路の故障診断方式
JP2957508B2 (ja) Rtlにおける検査容易化設計方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090531

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090531

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100531

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100531

Year of fee payment: 8

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100531

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100531

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110531

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120531

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120531

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130531

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140531

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees