JP2956624B2 - 組合せ論理回路における逆論理展開方式 - Google Patents
組合せ論理回路における逆論理展開方式Info
- Publication number
- JP2956624B2 JP2956624B2 JP8327859A JP32785996A JP2956624B2 JP 2956624 B2 JP2956624 B2 JP 2956624B2 JP 8327859 A JP8327859 A JP 8327859A JP 32785996 A JP32785996 A JP 32785996A JP 2956624 B2 JP2956624 B2 JP 2956624B2
- Authority
- JP
- Japan
- Prior art keywords
- state
- logic
- logical
- line
- unknown
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Description
おいて出力端子の論理状態を満足する入力端子の全論理
状態を高速に求める逆論理展開方式に関する。
力端子の論理状態から入力端子の論理状態(以下、「入
力ベクタ」という)を推定する方式であり、特願平6−
292866号(特開平8−146093号公報)、あ
るいは特開平8−217301号公報に記載されている
ように、故障推論システムの一部として使用可能であ
る。
に対して、上記した故障推論システムを使用する場合に
は、抽出される組み合せ回路は、10Kゲート規模と予
想され、同程度の規模の組合せ回路の“全ての”入力信
号パターンを推定する能力が必要とされる。
として、バックトラック法を利用する逆論理展開方式が
考えられる。バックトラック法は、含意操作(Implica
tion)と仮決定(Decision)を繰り返して、全ての線
の論理状態を推定する方法であり、「ブランチアンドバ
ウンド(Branch-and-bound)方式」とも呼ばれてい
る。
少なく、データ量がゲート数に比例するため、メモリ使
用量の予測が容易、アルゴリズムが単純で、並列処理が
容易である、という特徴を持っている。
の規模が大きくなると、仮決定の回数が増大するため、
全ての入力論理状態を求めるには膨大な計算時間を必要
とする。
ることにより、出力端子側から順番に入力端子まで論理
回路の内部論理状態を推定することが可能である。
(1)(M. Abramobvici, M. A.Breuer, and A. D.
Friedman, Digital Systems Testing and Testab
leDesign, IEEE Press, New York, pp.186-19
6, 1990.)の記載等が参照される。
理展開方式について、図面を参照して詳細に説明する。
ード等の入力装置1と、プログラム制御により動作する
データ処理装置6と、情報を記憶する記憶装置3と、デ
ィスプレイ装置や印刷装置などの出力装置4と、を含
む。
と、仮決定状態記憶部32と、論理状態記憶部33と、
を備えている。
成、すなわち、ゲートの種類、ゲート同士の接続関係、
ゲートと線の接続関係、線同士の接続関係など、論理回
路の構成情報を予め記憶している。
中の仮決定レベル、各線の論理状態が含意操作により推
定された時点における仮決定レベルを記憶している。
ける論理状態を記憶している。
と、U(Unknown;アンノウン)状態設定手段61と、
第3の含意操作手段62と、論理矛盾判定手段24と、
処理終了判定手段25と、バックトラック手段26と、
論理値仮決定手段27と、を備える。
られた論理回路の種類、出力端子の論理状態の設定を行
う。
回路構成記憶部31に記憶された論理回路構成を参照し
て、出力端子以外の論理値の決定していない線に対して
論理値が不定状態であることを示す状態“U”を設定す
る。
記憶部31に記憶されている論理回路構成、および論理
状態記憶部33に記憶している各線の論理状態を参照し
て、ゲートの入出力線の論理状態の推定を行う。論理状
態の推定は、“0”、“1”、“U”を使用して行う。
論理値が新たに推定された場合には、仮決定状態記憶部
32に、その推定が何回の仮決定の下に推定されたかを
示す仮決定レベルを記録する。
手段62において線の論理状態に矛盾が生じているかを
検出する。
33に記憶された各線の論理状態を参照して、全線の論
理状態が推定されたか否かの判定を行い、全線の論理状
態が推定されていれば、出力装置4に推定された論理状
態を出力し、さらに、全入力ベクタが求まったか否かの
判定を行う。
憶部32に記憶された仮決定状態と、論理状態記憶部3
3に記憶された線の論理状態を参照して、既に処理の終
了した仮決定レベルの論理状態を消去し、各線の論理状
態を仮決定を行う前の論理状態に戻す。
33に記憶された線の論理状態を参照して、論理値が不
定状態であることを示す“U”状態の線の中から1つを
選択し、論理状態を決定する。
12の説明図を参照して、従来方式の動作について説明
する。
状態を初期設定手段21において設定、および仮決定の
回数を表す仮決定レベル(dlevel)を初期化する(図1
1のステップA1およびステップA2)。
て、出力端子以外の論理状態を論理状態が不定状態であ
ることを示す状態“U”に設定し、その結果を論理状態
記憶部33に記憶する(図11のステップC1)。
操作を行う(図11のステップC2)。ここで、含意操
作とは、各ゲートにおいて既推定の入出力線の論理状態
より、未推定の入出力線の論理状態を推定する操作をい
う。
操作の一例を図12に模式的に示す。
力線の含意操作について説明する。NANDゲートの場
合は、入力線に状態“0”が1つでも存在すれば、出力
線は状態“1”と推定される。また全入力線の状態が
“1”であれば、出力線は状態“0”と推定される。
力線の含意操作について説明する。
“0”であれば、全入力線の状態は“1”と推定される
(U→1;不定状態から“1”)。
態が“1”かつ入力線の1つが状態“1”の場合は、残
った1つの入力線の状態は“0”と推定される(U→
0;不定状態から“0”)。
手段24により、含意操作中に各線の論理状態の矛盾を
検出する(ステップB5)。
されなければ、処理終了判定手段25により、論理状態
記憶部33に記憶している線の論理状態を参照し、全線
の論理状態が“0”または“1”に推定されたかを判定
する(ステップA6)。
推定されいないと判定された場合には、論理値仮決定手
段27において、状態“U”の線の中から1つを選択し
て“0”と仮決定を行い、仮決定の回数を表す仮決定レ
ベル(dlevel)を1だけ増加(dlevel++)し(ステッ
プA7)、第3の含意操作手段62による含意操作処理
(ステップC2)に戻る。
により、全線の論理状態が推定されたと判定された場合
には、推定された入力ベクタを出力装置4に表示し(ス
テップA8)、仮決定を行った全仮決定線に対して
“0”と“1”の両方の仮決定処理が終了しているか否
かを判定する(ステップA9)。
推定されたと判定された時には、組合せ論理回路内部の
線の論理状態は“0”あるいは“1”と推定されてい
る。
検出された場合にも、ステップA9の判定処理を行う。
おいて、仮決定処理が終了していないと判定された場合
には、バックトラック手段26において、状態“1”と
仮決定していない仮決定線を、仮決定レベルの大きい方
から1つ検索し、検出された仮決定線の仮決定レベル以
上の仮決定において推定された線の論理状態が不定状態
であることを示す“U”に初期化し、各線の論理状態を
その仮決定を行う前の論理状態に戻し(ステップA1
0)、つづいて、論理値仮決定手段27において、バッ
クトラック手段26で検出された仮決定線の状態を
“1”と仮決定し(ステップA11)、第3の含意操作
手段62による含意操作処理(ステップC2)に戻る。
A9)において、全ての仮決定処理が終了していると判
定された場合は、逆論理展開処理を終了する。
逆論理展開方式を、ISCAS”85ベンチマーク回路
C17(図6参照)に適用したときの決定木構造を、図
13に示す。出力ベクタの論理状態を、l22=
“0”、l23=“0”とする。
字)は仮決定を行なう線番号を表し、枝(ノードをつな
ぐ線)はどの論理状態に仮決定したかを表している。す
なわちな図13を参照して、出力ベクタの論理状態を、
l22→“0”、l23→“0”とした時、図6の出力
線l10、l16、l19はいずれも論理“1”と推定
され、決定レベル1において仮決定を行う線番号1が例
えば論理“1”の場合(枝が1)、l3は“0”、l1
1は“1”、l2は“0”、l7は“0”となり、決定
レベル2では、l6が“0”の場合、入力論理状態(l
1、l2、l3、l6、l7)は“10000”、l6
が“1”の場合、入力論理状態(l1、l2、l3、l
6、l7)は“10010”を示している。
“0”および“1”の両方の仮決定を計16回行うこと
により、出力端子の論理状態を満足する9種類全ての入
力ベクタが求まる。
論理展開の従来方式として、以下に掲げるの種類の方式
が考えられるが、メモリ使用量という物理的制約、ある
いは後述する本発明の主題である、出力端子の論理状態
を満足するような入力端子の全ての論理状態を求める、
ことはできないという制約があるため、これらの方式を
逆論理展開に応用するのは得策ではない。
は論理回路の入力端子と出力端子の論理状態の関係を記
した表で、真理値表における検索により、出力端子の論
理状態を満足するような入力ベクタを求めることが可能
である。
数と出力端子数をそれぞれNI、NOとしたときに、2
(NI+NO)であるため、解析対象の論理回路の回路規模の
増大に伴い、表が複雑かつ巨大になるため、メモリ使用
量が増大し、出力端子の論理状態を満たすような入力ベ
クタ検索時間の増大を招く。このため、大規模回路の適
用するのは現実的ではない。
m)を利用する方式:BDDは真理値表をツリー構造で
表現し、さらに、簡略化を施したもので、真理値表と同
様に入力端子と出力端子の論理状態の関係が記されてい
る。BDDの詳細については、文献(2)(S. B. Ake
s, “Binary Decision Diagrams”,IEEE Tran.
on Computers, Vol. C-27, pp.509-516, Jun. 197
8.)等の記載が参照される。
する場合と比較すると、遙かに高速に、しかも、簡略化
により、出力端子の論理状態に関係のある入力端子の論
理状態のみを求めることが可能である。またツリー構造
のノード数は真理値表よりは簡略化により少ないが、乗
算器のように複雑な回路では、ツリー構造の効果的な簡
略化は望めず、ノード数の増大に伴ってメモリ使用量も
増大する。また、メモリ使用量の増大によりメモリスワ
ップを招き計算速度も大きく低下する。
回路C6288は16bitの乗算器であるが、10時
間程度費やして、C6288の一部のBDDを作成した
例が、例えば文献(3)(P. Ashar and M. Cheong,
“Efficient Breadth-First Manipulation of Bin
ary Decision Diagrams”, in Int'l Conferenceon
Computer Aided Design, pp.622-627, 1994.)に報
告されているが、完全なBDDを作成した例はない。
n Generator)を利用する方式:ATPGは論理回路内
にある故障を想定し、その故障が検出できるような1つ
の入力テストパターンを生成するプログラムである。こ
のATPGにおいては、回路規模が大きくなるにつれ
て、想定する故障の箇所が増えるため、想定された故障
に対して高速にテストパターンを生成するための様々な
アルゴリズムが提案されており、一部のプログラムは大
規模回路にも適用可能である。
障に対して1つのテストパターンが生成することが目的
であり、その目的のために最適化されている。
は、後述する本発明の主題である入力論理状態を全て求
めるという目的に適用することはできない。
従来方式は下記記載の問題点を有している。
が長い、ということである。
常に多くの回路の仮決定および含意操作を行う、ためで
ある。
大となる、ということである。
力論理状態を満足するような入力論理状態が多数あると
きでも、これをまとめる手段を具備していない、ことに
よる。
てなされたものであって、その目的は、高速な逆論理展
開方式を提供することにある。
タ量を情報を損なうことなく圧縮できる逆論理展開方式
を提供することにある。
め、本発明の第1の逆論理展開方式は、含意操作の前処
理として初期状態として“0”および“1”以外の論理
状態にある線の状態を“X”に初期化するX(Don't
Care;ドントケア)設定手段と、含意操作に論理状態
“0”、“1”、不定状態を表す“U(Unknown;アン
ノウン)”に加えて“0”と“1”のどちらでも回路内
の論理状態を満足することを表す“X(Don't Car
e)”を使用する第1の含意操作手段と、を有する。
含意操作の論理状態“0”、“1”および“X(Don't
Care;ドントケア)”を使用し、“U(Unknown;ア
ンノウン)”を使用しない第2の含意操作手段と、論理
回路内のゲートの入出力線の論理状態を調べ、論理状態
の仮決定の対象となる不完全な論理状態である線を検索
するU(Unknown)状態検索手段と、を有する。
おけるX(Don't Care;ドントケア)設定手段は、含
意操作の前処理として初期状態として“0”および
“1”以外の論理状態にある線の状態を“X”に初期化
する。
記憶部に記憶している論理回路構成、および論理状態記
憶部に記憶している各線の論理状態を参照して、ゲート
の入出力線の論理状態の推定を行う。論理状態の推定
は、“0”、“1”、“X”、“U”を使用して行う。
手段は、論理回路構成記憶部に記憶している論理回路構
成、および論理状態記憶部に記憶している各線の論理状
態を参照して、ゲートの入出力線の論理状態の推定を行
う。論理状態の推定は、“0”、“1”、“X”を使用
して行う。
内のゲートの入出力線の論理状態を調べ、不完全な論理
状態である線を検索する。
ついて図面を参照して詳細に説明する。図1は、本発明
の実施の形態の構成を示すブロック図である。図1を参
照すると、本発明の実施の形態は、キーボード等の入力
装置1と、プログラム制御により動作するデータ処理装
置2と、情報を記憶する記憶装置3と、ディスプレイ装
置や印刷装置などの出力装置4と、を含む。
と、仮決定状態記憶部32と、論理状態記憶部33と、
を備えている。
成、すなわち、ゲートの種類、ゲート同士の接続関係、
ゲートと線の接続関係、線同士の接続関係など、論理回
路の構成を予め記憶している。
中の仮決定レベル、各線の論理状態が含意操作により推
定された時点における仮決定レベルを記憶している。
ける論理状態を記憶している。
と、X(Don't Care;ドントケア)状態設定手段22
と、第1の含意操作手段23と、論理矛盾判定手段24
と、処理終了判定手段25と、バックトラック手段26
と、論理値仮決定手段27と、を備える。
られた論理回路の種類、出力端子の論理状態の設定を行
う。
論理回路構成記憶部31に記憶された論理回路構成を参
照して、論理値が不定状態である“U”の線に対して、
含意操作の初期状態としてX(Don't Care)状態を設
定する。
記憶部31に記憶している論理回路構成、および論理状
態記憶部33に記憶している各線の論理状態を参照し
て、ゲートの入出力線の論理状態の推定を行う。論理状
態の推定は、“0”、“1”、“X”、“U”を使用し
て行う。論理値が新たに推定された場合には、仮決定状
態記憶部32に、その推定が何個の仮決定の下に推定さ
れたかを示す仮決定レベルを記録する。
手段23において線の論理状態に矛盾が生じているかを
検出する。
33に記憶された各線の論理状態を参照して、全線の論
理状態が推定されたか否かの判定を行い、推定されてい
れば、出力装置4に推定された論理状態を出力し、さら
に、全入力ベクタが求まったかの判定を行う。
憶部32に記憶された仮決定状態と、論理状態記憶部3
3に記憶された線の論理状態を参照して、既に処理の終
了した仮決定レベルの論理状態を消去し、各線の論理状
態を仮決定を行う前の論理状態に戻す。
33に記憶された線の論理状態を参照して、論理値が不
定であることを示す“U”状態の線の中から1つを選択
し、論理状態を決定する。
説明図を参照して、本発明の実施の形態の動作について
説明する。
態は“0”、“1”、“U(Unknown;アンノウン)”
および“X(Don't Care;ドントケア)”である。な
お、論理状態“U(Unknown)”は線の論理状態が
“0”あるいは“1”に決定することができない不定状
態を表すのに対し、論理状態“X(Don't Care)”
は、線の論理状態が“0”と“1”の両方とも論理回路
全体の論理状態に矛盾を生じない時に“0”と“1”の
両方の論理状態を許すことを意味する論理状態である。
状態を初期設定手段21において設定、および仮決定の
回数を表す仮決定レベル(dlevel)を初期化する(図2
のステップA1およびステップA2)。
含意操作の初期状態として状態“X”を設定する。その
結果を論理状態記憶部33に記憶する(ステップA
3)。
操作を行う(ステップA4)。ここで、含意操作とは、
各ゲートにおいて既推定の入出力線の論理状態より、未
推定のゲートの入出力線の論理状態を推定する操作をい
う。
一例を図3に示す。
ついて説明する。NANDゲートの場合、入力線に状態
“0”が1つでも存在すれば、出力線は状態“1”と推
定される(A−1〜A−3参照)。また全入力線の状態
が“1”であれば、出力線は状態“0”と推定される
(A−4参照)。
作について説明する。出力線の状態が“0”であれば、
全入力線の状態は“1”と推定される(B−1参照)。
状態“1”の場合は、残った1つの入力線の状態は
“0”と推定される(B−2参照)。
状態“0”が必ず存在するはずであるが、含意操作の時
点で入力線に状態“0”が存在しない場合には、どの入
力線が“0”であるか不明である。従って、出力線の状
態が“1”かつ入力線に状態“0”が存在しない場合に
は、状態“1”以外の入力線の状態を、論理状態が不定
状態であることを示す状態“U”とする(B−3、B−
4参照)。
定手段24により、含意操作中に各線の論理状態の矛盾
を検出する(ステップA5)。
されなければ、処理終了判定手段25により、論理状態
記憶部33に記憶している線の論理状態を参照し、全線
の論理状態が“0”、“1”または“X”に推定された
か否かを判定する(ステップA6)。
“U”の線が存在する場合は、論理値仮決定手段27に
おいて、状態“U”の線の中から1つを選択して“0”
と仮決定を行い、仮決定の回数を表す仮決定レベル(dl
evel)を1だけ増加(dlevel++)し(ステップA7)、
X(Don't Care)状態設定手段22において論理状態
の未推定線を“X”(Don't Care)に設定して(ステ
ップA3)、第1の含意操作手段23による含意操作処
理(ステップA4)に戻る。
理状態が推定されたと判定された場合には(ステップA
6のY)、推定された入力ベクタを出力装置4に表示し
(ステップA8)、仮決定を行った全仮決定線に対して
“0”と“1”の両方の仮決定処理が終了しているか否
かを判定する(ステップA9)。
推定されたと判定された時には、組合せ論理回路内部の
線の論理状態は“0”、“1”または“X”と推定され
ている。ステップA5の論理矛盾判定手段24において
矛盾が検出された場合にも、ステップA9の判定処理を
行う。
おいて、仮決定処理が終了していると判定された場合に
は、逆論理展開処理を終了する。
おいて、仮決定処理が終了していないと判定された場合
は、バックトラック手段26において状態“1”と仮決
定していない仮決定線を仮決定レベルの大きい方から1
つ検索し、検出された仮決定線の仮決定レベル以上の仮
決定において推定された線の論理状態が不定状態である
ことを示す“U”に初期化して、各線の論理状態をその
仮決定を行う前の論理状態に戻し(ステップA10)、
論理値仮決定手段27において、バックトラック手段2
6で検出された仮決定線の状態を“1”と仮決定し(ス
テップA11)、X(Don't Care)状態設定手段22
において論理値の推定されていない線に対して、X(D
on't Care)状態を設定する(ステップA3)。これ
は、第1の含意操作手段23における含意操作の初期状
態として不定状態“U”ではなく、状態“X”を設定す
るためである。
について説明する。
“X(Don't Care)”を導入することにより、仮決定
の回数、すなわち、バックトラックの回数が大幅に減少
し、逆論理展開の計算速度が向上する。
方を表しているため、より少ない出力結果で、「出力端
子の論理状態を満足する全ての入力ベクタ」を求めるこ
とが可能である。
3の処理の前に、X(Don't Care)状態設定手段22
により、論理状態が不定状態“U”の線の状態を“X”
に初期化する。
X(Don't Care)状態設定手段22を使用せずにバッ
クトラック法に、単純に“X”を導入した場合の2入力
NANDゲートの含意操作を示している。
る必要があるが、本発明の第1の実施の形態は、X(D
on't Care)状態設定手段22の存在により、含意操作
において“X”を伝搬する必要がないため、含意操作
は、図3に示すように簡素化し、計算速度が向上する。
には、ATPGのテストパターン生成におけるバックト
ラックを低減して、高速化を図る方法が提案されてい
る。これは、新たに想定した故障に対するテストパター
ンを生成する時に生成済みのテストパターン情報を利用
して、論理状態“0”または“1”を割り当てられる確
率の高い入力ピンを認識し、割り当てられる確率が高い
と認識された論理値をその入力ピンに割り当てるように
して、バックトラックの回数を減らし、テストパターン
生成を行うことを可能としたものである。
数の入力ベクタが存在する中で、見つけやすい入力ベク
タを探し出す方法であり、1つの入力ベクタ(この場合
はテストパターン)を見つける場合に効果があるが、本
発明の主題とする、出力端子の論理状態を満足するよう
な入力端子の全ての論理状態を求める場合には、有効で
はない。
カルパス判定器の例として、例えば特開平1−1978
52号公報には、タイミングシミュレータによって検出
された遅延最大のパスが活性化するような入力ベクタが
存在するか判定するためのクリティカルパス判定器が提
案されているが、しかし、上記特開平1−197852
号公報に記載のクリティカルパス判定器は、入力ベクタ
を前進/バックトラックによって取り替えながら、論理
シミュレーションをを行い、解析対象としているパスが
活性化パスとなるための入力ベクタを検索するものであ
る。
態は、入力端子のみではなく、組合せ回路内部の不定状
態の線に対して仮決定を行なう点と、“0”、“1”、
“U”、“X”を含めた論理状態を使用して含意操作を
行っている点と、初期設定で不定状態“U”ではなく
“X”に初期化している点、与えられた条件を満足する
全ての入力ベクタを求めている点で、上記特開平1−1
97852号公報とは相違している。
を具体例を以て例示する本発明の一実施例を、ISCA
S”85ベンチマーク回路C17の回路図(図6参
照)、及び図1、図3、図5を参照して以下に説明す
る。
出力端子の論理状態l22=“0”、l23=“0”を
満たすような入力ベクタを推定する。
17の出力端子の論理状態として図6のl22、l23
が、l22=“0”、l23=“0”と入力されると、
dlevelが0に初期化され、初期設定手段21およびX
(Don't Care)状態設定手段により、図6に示す出力
端子l22、l23の論理状態が両者とも“0”に出力
端子以外の線の状態が“X”と設定される(ステップA
1およびA2およびA3)。
ゲートに対して含意操作を行うと、l22、l23に接
続されているゲートG5、G6の出力線の論理状態から
l10、l16、l19の論理状態は、l10=
“1”、l16=“1”、l19=“1”と推定でき
る。
1、l2、l3、l11、l7の論理状態は“U”とさ
れる(ステップA4)。
ていないと判定され、処理終了判定手段25において状
態“U”が検出される(ステップA5およびA6)。
16→l19→l11→l1→l2→l3→l6→l7
の順番で検索していくとすると、ゲートG1の入力線で
あるl1は状態“U”である。論理値仮決定手段27に
より、l1=“0”と仮決定する(ステップA7)。
n't Care)状態設定手段22により論理状態“U”で
あるl1、l2、l3、l7、l11の論理状態を
“X”に初期化する。なお、仮決定する毎に仮決定レベ
ル(dlevel)を「1」だけ増加し、現在の処理が何回の
仮決定(Decision)の下になされているかを仮決定状
態記憶部32に記憶しておく。
l1=“0”→l2=“0”→l11=“0”と仮決定
することにより、処理終了判定手段25により全ての論
理状態が推定されたと判定され、入力端子の論理状態l
1=“0”、l2=“0”、l3=“1”、l6=
“1”、l7=“X”が出力装置4に出力される(ステ
ップA6およびA8)。
n Tree)に示したように、仮決定と含意操作およびバ
ックトラックを繰り返してl22=“0”、l23=
“0”を満たす入力パターンを全て求めることができ
る。4箇所の線に対して、“0”および“1”の両方の
仮決定を計8回行うことにより、出力端子の論理状態を
満足する5種類全ての入力ベクタを求めることができ
る。
図面を参照して詳細に説明する。
形態は、データ処理装置5が、図1に示した前記第1の
実施の形態におけるデータ処理装置2の構成の第1の含
意操作手段22の代わりに、第2の含意操作手段51を
有する点と、U(Unknown)状態検索手段52を有する
点と、前記第1の実施の形態における論理値仮決定手段
27(図2の流れ図のステップA7参照)からX(Do
n't Care)状態設定手段22(図2の流れ図のステッ
プA3参照)に至る処理フローが、本発明の第2の実施
の形態においては、論理値仮決定手段27(図8のステ
ップB3参照)から第2の含意操作手段51(図8のス
テップB1参照)に至る点で異なる。
記憶部31に記憶している論理回路構成、および論理状
態記憶部33に記憶している各線の論理状態を参照し
て、ゲートの入出力線の論理状態の推定を行う。論理状
態の推定は、“0”、“1”、“X”を使用して行う。
せ回路内のゲートの入出力の論理状態を調べ、論理状態
が不完全なUnknown状態の線を1つ検索する。
図面を参照して詳細に説明する。図7は、本発明の第2
の実施の形態の動作を説明するための流れ図である。
5、A6、A8−A11で示される第2の実施の形態に
おける、初期設定手段21、論理矛盾判定手段24、処
理終了判定手段25、バックトラック手段26、論理値
仮決定手段27の動作は、第1の実施の形態の各手段2
1、24、25、26および27の動作と同一であるた
め、その説明は省略する。
含意操作に効率的に導入するため、含意操作を行なう前
に必ずX(Don't Care)状態設定手段22において状
態“0”および“1”と推定されていない線の状態を
“X”に設定していた。
態“U”として推定しているため、次に含意操作する際
に“U”を“X”に初期化する必要があるためであっ
た。
2の含意操作手段51では、不定状態を示す“U”を使
用せずに含意操作を行う(ステップB1)。
を図9に示す。図9(A)を参照して、出力線の含意操
作について説明する。
“0”が1つでも存在すれば、出力線は状態“1”とし
て推定される。全入力線の状態が“1”であれば、出力
線は状態“0”と推定される。
操作について説明する。
の状態は“0”と推定される。出力線の状態が“1”か
つ入力線の1つが状態“1”の場合は、残った1つの入
力線の状態は“0”と推定される。第1の実施の形態に
おける第1の含意操作手段23との違いは、不定状態を
表す状態“U”を使用していない点である。
全線の論理状態推定が終了していないと判定した場合
に、U(Unknown)状態検索手段52において、組合せ
回路内のゲートの入出力の論理状態を調べ、論理状態が
不完全なUnknown状態の線を1つ検索する(ステップB
2)。
ては、第2の含意操作手段51では、不定状態“U”を
使用しないため、論理値仮決定手段27の処理の前にU
(Unknown)状態検索手段52において、不定状態
“U”の線を検索する必要があるためである。ただし、
U(Unknown)状態検索手段52では、全ての状態
“U”の線を検索するのではなく、1つだけ検索するこ
とで、検索時間を少なくすることができる。当然なが
ら、検索する不定状態“U”の数は、論理値仮決定手段
27の処理には本質的な影響を与えない。
テップB2で検出したUnknown線に対して“0”と仮決
定を行ない(ステップB3)、第2の含意操作手段51
における含意操作の処理を行う。
仮決定線に対して“1”と仮決定した後、第2の含意操
作手段51における含意操作の処理を行う。
果について説明する。
nknown)状態検索手段52を付け加えることにより、含
意操作に“U”を使用する必要がなくなったため、含意
操作のアルゴリズムが簡素化され、計算処理速度が向上
する。
記第1の実施の形態のように、含意操作の前に状態を
“X”に初期化する必要がないため、計算速度が向上す
る。
を以て例示すべく、本発明の一実施例について、ISC
AS”85ベンチマーク回路C17の回路図(図6参
照)および図7、図8、図9を参照して詳細に説明す
る。
出力端子の論理状態として、l22=“0”、l23=
“0”を満たすような入力ベクタを推定する。
17の出力端子の論理状態がl22=“0”、l23=
“0”と入力されると、dlevelが0に初期化され、初期
設定手段21およびX(Don't Care)状態設定手段に
より、出力端子l22、l23の論理状態が両者とも
“0”に出力端子以外の線の状態が“X”と設定される
(ステップA1およびA2およびA3)。
ゲートに対して含意操作を行うと、l22、l23に接
続されているゲートG5、Ga6の出力線の論理状態か
らl10=“1”、l16=“1”、l19=“1”と
推定できる。その他の線の論理状態は“X”のままであ
る(ステップB1)。
ていないと判定され(ステップA5)、処理終了判定手
段25において推定処理が終了していないと判定される
と(ステップA6)、U(Unknown)状態検索手段52
において不定状態の線を検索する。
16→l19→l11→l1→l2→l3→l6→l7
の順番で検索していくとすると、ゲートG1の入力線の
論理状態が不完全であるため、l1を選択する(ステッ
プB2)。論理値仮決定手段27により、l1=“0”
と仮決定する(ステップB3)。
し、l1=“0”→l2=“0”→l11=“0”と仮
決定することにより、処理終了判定手段25により全て
の論理状態が推定されたと判定され、入力端子の論理状
態l1=“0”、l2=“0”、l3=“1”、l6=
“1”、l7=“X”が出力装置4に出力される(ステ
ップA6およびA8)。
理展開に必要な計算時間は、出力端子の状態に依存す
る。具体例として、ISCAS”85ベンチマーク回路
C6288は16bit乗算器回路に逆論理展開を適用
する場合を考える。
Dを作成した例はあるが、完全なBDDを作成した例は
報告されていない。すなわちBDDを利用した逆論理展
開方式の場合は、C6288に対して適用することはで
きないことを意味する。
に適用した場合、逆論理展開の入力となる32個のある
出力端子の状態が全て“0”の時、逆論理展開が終了す
るまでの計算時間は2秒程度である。
“1”それ以外の31bitの論理状態を“0”とした
場合、逆論理展開が終了するまでの計算時間は6時間程
度であった。その他、いくつかの出力端子状態を入力し
て逆論理展開を試みたが、どの結果も10時間以内に得
られている。なお、計算は汎用ワークステーション(N
ED4800/360SX)上にて行った。
の形態では、出力端子の論理状態を満足するような入力
ベクタを全て求めたが、出力端子だけでなく論理回路内
部の一部の線の論理状態を与えて、その論理状態を満足
するような入力ベクタおよび出力ベクタを求めることに
も利用できる。
の形態では、論理状態として、“0”、“1”、
“U”、“X”を使用したが、より多くの論理状態を使
用した場合にも適用することができる。
施の形態における第1の含意操作および第2の含意操作
において、含意操作の処理は、変化がなくなるまで全ゲ
ートに対してスキャンしながら行ってもよいし、イベン
トドリブン方式により変化があった線につながるゲート
に対してのみチェックするようにしてもよい。一般に後
者のイベントドリブン方式が高速に処理できる。
記記載の効果を奏する。
なわち、バックトラックの回数を減少する、ということ
である。その結果、逆論理展開の計算速度を向上する。
“1”の両方の論理状態を意味する“X(Don't Car
e)”を使用して、含意操作を処理する、ためである。
ータ量によって、出力端子を満足する全入力ベクタを表
現することができる、ということである。その結果、計
算結果出力速度が向上し、出力結果を保存する記憶装置
などの計算機資源を削減することもできる。
“1”の両方の論理状態を意味する“X(Don't Car
e)”を使用して、含意操作を処理するため、出力結果
にも“X”が含まれる、からである。
おいて、状態“X”を推定して、“X”を伝搬する必要
がない、ということである。その結果、バックトラック
法に単純に“X(Don't Care)”を導入する場合と比
較すると、含意操作のアルゴリズムが簡素化し、計算速
度が向上する。
意操作手段における処理の前にX(Don't Care)状態
設定手段により、論理状態が“0”あるいは“1”と推
定されていない線の状態を“X”に初期化するためであ
る。
は、X(Don't Care)状態設定手段を用いて不定状態
“U”を“X”に初期化する必要がない、ということで
ある。その結果、含意操作のアルゴリズムを簡素化し、
逆論理展開の計算速度が向上する。
“U”の線に対する論理値仮決定手段の処理の前にU
(Unknown)状態検索手段を設けることにより、第2の
含意操作で不定状態“U”を使用することを不要とした
ためである。
ク図である。
めのフローチャートである。
ための図である。
ための図である。
す図である。
式を説明する回路図である。
ク図である。
めのフローチャートである。
ための図である。
ートである。
決定木を示す図である。
Claims (7)
- 【請求項1】含意操作の前処理として、初期状態として
“0”および“1”以外の論理状態にある線の状態を
“X(Don't Care;ドントケア)”に初期化するドン
トケア設定手段と、 含意操作に論理状態“0”、“1”および不定状態を表
す“U(Unknown;アンノウン)”に加えて“0”と
“1”のどちらでも回路内の論理状態を満足することを
表す“X(Don't Care)”を使用する第1の含意操作
手段と、を含むことを特徴とする逆論理展開方式。 - 【請求項2】不定状態の線に対する論理状態の仮決定
と、論理状態を一意に推定する含意操作と、を繰り返し
て既設定の出力論理状態を満足する全ての入力論理状態
を求める組合せ回路における逆論理展開方式であって、含意操作の前処理として初期状態として“0”および
“1”以外の論理状態にある線の状態を“X(Don'tCa
re; ドントケア)”に初期化するドントケア設定手段
と、 含意操作に論理状態“0”、“1”および不定状態を表
す“U(Unknown;アンノウン)”に加えて“0”と
“1”のどちらでも回路内の論理状態を満足することを
表す“X(Don'tCare; ドントケア)”を使用する第1
の含意操作手段と、を含むことを特徴とする逆論理展開
方式 。 - 【請求項3】請求項2記載の逆論理展開方式において、
前記第1の含意操作手段の代わりに、含意操作において
論理状態“0”、“1”および“X(Don'tCare; ドン
トケア)”を使用し、“U(Unknown;アンノウン)”を使
用しない第2の含意操作手段と、 論理回路内のゲートの入出力線の論理状態を調べ、論理
状態の仮決定の対象となる不完全な論理状態である線を
検索する不定状態検索手段と、 を含むことを特徴とする逆論理展開方式。 - 【請求項4】不定状態の線に対する論理状態の仮決定
と、論理状態を一意に推定する含意操作と、を繰り返し
て既設定の出力論理状態を満足する全ての入力論理状態
を求める組合せ回路における逆論理展開方法であって、論理状態記憶手段から線の論理状態を取り出し、 不定状
態“U(Unknown;アンノウン)”にある線の論理状態を
“X(Don'tCare;ドントケア)”に初期化して前記論理
状態記憶手段に記憶し、前記論理状態記憶手段に記憶さ
れた線の論理状態“0”、“1”、“U(Unknown)”お
よび“X(Don'tCare)”を使用して第1の含意操作を
行う、ことを特徴とする逆論理展開方法。 - 【請求項5】請求項4記載の逆論理展開方法において、 前記第1の含意操作の代わりに 、論理状態記憶手段に記憶された論理状態から論理状態の
仮決定の対象となる 不定状態“U(Unknown;アンノウ
ン)”の線を検索し、検索された前記不定状態の線に対して論理値の仮決定を
行い、その結果を前記論理状態記憶手段に記憶し、 前記論理状態記憶手段に記憶されたゲートの入出力線の
論理状態“0”、“1”および“X(Don't Care)”を使
用し、“U(Unknown;アンノウン)”を使用せずに含意
操作を行う、ことを特徴とする逆論理展開方法。 - 【請求項6】不定状態の線に対する論理状態の仮決定
と、論理状態を一意に推定する含意操作と、を繰り返し
て既設定の出力論理状態を満足する全ての入力論理状態
を求める組合せ回路における逆論理展開方法であって、論理状態記憶手段に記憶された 論理回路の出力端子の論
理状態を初期設定すると共に、仮決定状態記憶手段に記
憶された仮決定の回数を表す仮決定レベルを初期化し、論理 状態“0”、“1”、“U(Unknown;アンノウ
ン)”、“X(Don'tCare;ドントケア)”を使用して含
意処理を行い、前記論理状態記憶手段に記録された 前記含意処理の結果
から各線の論理状態の矛盾が検出されない場合に、全線
の論理状態が“0”または“1”に推定されたか否かを
判定し、不定状態“U”の線の存在する場合には、不定
状態“U”の線の中から少なくとも1つを選択して
“0”と仮決定を行い、前記仮決定状態記憶手段に記憶
された仮決定の回数を表す仮決定レベルを更新した後、
前記含意処理を行い、前記 仮決定処理が終了していない場合には、バックトラ
ック処理を行い検索した仮決定線の状態を状態“1”に
仮決定して、前記含意処理を行う、ことを特徴とする逆
論理展開方法。 - 【請求項7】不定状態の線に対する論理状態の仮決定
と、論理状態を一意に推定する含意操作と、を繰り返し
て既設定の出力論理状態を満足する全ての入力論理状態
を求める組合せ回路における逆論理展開方法において、論理回路の出力端子の論理状態を初期設定し、仮決定の
回数を表す仮決定レベルを初期化する初期設定手段と 、論理状態“0”、“1”、“U(Unknown;アンノウ
ン)”、“X(Don'tCare;ドントケア)”を使用して含
意処理を行う第1の含意操作手段と 、前記第1の含意操作手段の処理において各線の論理状態
の矛盾を検出する論理矛盾判断手段と 、全線の論理状態が“0”または“1”に推定されたか否
かを判定する処理終了判定手段と 、不定状態“U”の線が存在する場合には、不定状態
“U”の線の中から少なくとも1つを選択して“0”と
仮決定を行い、前記仮決定状態記憶手段に記憶された仮
決定の回数を表す仮決定レベルを更新する論理値仮決定
手段と 、仮決定処理が終了していない場合にバックトラック処理
を行うバックトラック手段と 、を含むことを特徴とする逆論理展開方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8327859A JP2956624B2 (ja) | 1996-11-22 | 1996-11-22 | 組合せ論理回路における逆論理展開方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8327859A JP2956624B2 (ja) | 1996-11-22 | 1996-11-22 | 組合せ論理回路における逆論理展開方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10154171A JPH10154171A (ja) | 1998-06-09 |
JP2956624B2 true JP2956624B2 (ja) | 1999-10-04 |
Family
ID=18203778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8327859A Expired - Fee Related JP2956624B2 (ja) | 1996-11-22 | 1996-11-22 | 組合せ論理回路における逆論理展開方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2956624B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3555071B2 (ja) | 1999-07-06 | 2004-08-18 | Necエレクトロニクス株式会社 | 故障伝搬経路推定方法、故障伝搬経路推定装置及び記録媒体 |
JP3614811B2 (ja) | 2001-02-15 | 2005-01-26 | Necエレクトロニクス株式会社 | 組合せ論理回路における故障伝搬経路推定システム及び方法並びにプログラム |
JP2006170949A (ja) * | 2004-12-20 | 2006-06-29 | Fujitsu Ltd | ビットパターン学習プログラムおよびビットパターン学習方法 |
-
1996
- 1996-11-22 JP JP8327859A patent/JP2956624B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10154171A (ja) | 1998-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5524082A (en) | Redundancy removal using quasi-algebraic methods | |
Tafertshofer et al. | A SAT-based implication engine for efficient ATPG, equivalence checking, and optimization of netlists | |
US5640403A (en) | Fault diagnosis method for a sequential circuit | |
US6301685B1 (en) | Error propagation path extraction system, error propagation path extraction method, and recording medium recording error propagation path extraction control program | |
JP2000181901A (ja) | 再構成可能なハ―ドウェアについての満足可能性を求めるための並列バックトレ―シング | |
Kunda et al. | Speed up of test generation using high-level primitives | |
US5586125A (en) | Method for generating test vectors for characterizing and verifying the operation of integrated circuits | |
US5305328A (en) | Method of test sequence generation | |
Krstic et al. | Testable path delay fault cover for sequential circuits | |
US6189128B1 (en) | Design for testability method selectively employing two methods for forming scan paths in a circuit | |
JP2956624B2 (ja) | 組合せ論理回路における逆論理展開方式 | |
JPH0894720A (ja) | 論理回路における試験不能欠陥を特定する方法 | |
US6625799B2 (en) | Technology mapping method and storage medium | |
US6185721B1 (en) | Method of design for testability at RTL and integrated circuit designed by the same | |
JP3033675B2 (ja) | 順序回路最適化装置 | |
JP3555071B2 (ja) | 故障伝搬経路推定方法、故障伝搬経路推定装置及び記録媒体 | |
US6070258A (en) | Logic synthesis for testability system which enables improvement in testability and effective selection of center state and logic synthesis method thereof | |
JP3159165B2 (ja) | 故障診断における推定論理状態管理方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体 | |
JP2701753B2 (ja) | Lsiの故障箇所推定方法 | |
JP3312605B2 (ja) | 逆論理展開システム及び逆論理展開方法並びにプログラムを記録した機械読み取り可能な記録媒体 | |
US6651206B2 (en) | Method of design for testability, test sequence generation method and semiconductor integrated circuit | |
Wehbeh et al. | Initialization of Sequential Circuits and its Application to ATPG | |
US6378096B1 (en) | On-line partitioning for sequential circuit test generation | |
Saldanha et al. | Timing optimization with testability considerations | |
JP3614811B2 (ja) | 組合せ論理回路における故障伝搬経路推定システム及び方法並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990622 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070723 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080723 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090723 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100723 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100723 Year of fee payment: 11 |
|
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: 20100723 Year of fee payment: 11 |
|
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: 20110723 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110723 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120723 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120723 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130723 Year of fee payment: 14 |
|
LAPS | Cancellation because of no payment of annual fees |