JP3196735B2 - 順序回路等価検証装置、方法及び記録媒体 - Google Patents

順序回路等価検証装置、方法及び記録媒体

Info

Publication number
JP3196735B2
JP3196735B2 JP22692898A JP22692898A JP3196735B2 JP 3196735 B2 JP3196735 B2 JP 3196735B2 JP 22692898 A JP22692898 A JP 22692898A JP 22692898 A JP22692898 A JP 22692898A JP 3196735 B2 JP3196735 B2 JP 3196735B2
Authority
JP
Japan
Prior art keywords
state
binary decision
sequential circuit
bdd
next state
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
JP22692898A
Other languages
English (en)
Other versions
JP2000057190A (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 JP22692898A priority Critical patent/JP3196735B2/ja
Publication of JP2000057190A publication Critical patent/JP2000057190A/ja
Application granted granted Critical
Publication of JP3196735B2 publication Critical patent/JP3196735B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の順序回路が
論理的に等価であるかどうかを検証する順序回路等価検
証装置、方法及びこの方法を記録した記録媒体に関し、
特にBDD(Binary Decision Diagram:二分決定図)
の演算に基づいて複数の順序回路が論理的に等価である
かどうかを検証するものに関する。
【0002】
【従来の技術】従来、一般に、2つの順序回路が論理的
に等価であることを検証するために、テストパタンを入
力して回路動作のシミュレーションを行い、出力信号を
比較する方法が用いられてきた。しかしながら、この方
法は実行に膨大な時間がかかる上、すべての回路動作を
網羅するテストパタンを入力することが事実上不可能で
あるという問題があった。
【0003】そこで、このような問題を解決するため
に、順序回路の動作を静的に解析する形式的検証(form
alverification)手法が、例えば、文献1:AbhijitGho
sh, et.al,. "SEQUENTIAL LOGIC TESTING AND VERIFICA
TION",KluwerAcademic Publishers, 1992や、文献2:T
ouati,et.al., "Implicit State Enumeration of Finit
e State Machines usingBDD's", in Proc. ICCAD, pp.1
30-133, 1990 で提案されている。この方法は、次のよ
うな原理に基づいて検証を行うものである。
【0004】ところで、フリップフロップを記憶素子と
する同期式順序回路は、図27に示すように、組合せ回
路部40と複数のフリップフロップ41〜4nとから構
成される。ここで、2つの順序回路(順序回路1と順序
回路2)の等価性を検証する場合には、各順序回路が共
通のプライマリ入力信号を持ち、かつプライマリ出力信
号の対応関係が分かっていることを前提とする。そし
て、初期状態から開始して、順序回路1と順序回路2に
対して同一の入力パタンを入力したときに、常に対応す
るプライマリ出力信号が一致すれば2つの順序回路は、
論理的に等価であると判定できる。
【0005】図28は、従来より用いられてきた形式的
検証により複数の順序回路が論理的に等価であるかどう
かを検証する順序回路等価検証装置の構成を示すブロッ
ク図である。図29は、従来の順序回路等価検証装置の
動作を示すフローチャートである。以下、図28のブロ
ック図と図29のフローチャートとに従って、従来の順
序回路の等価検証の手法について、説明する。
【0006】まず、回路入力装置51は、例えば、ライ
ブラリなどから入力した順序回路1と順序回路2を結合
し順序回路Cを生成する(ステップS51〜S53)。
この結合は、図30に示すように、2つの順序回路のプ
ライマリ入力信号を共有させ、対応するプライマリ出力
信号同士をEXORゲートに入力し、さらに全てのEX
ORゲートの出力をORゲートに入力することによって
行う。このORゲートの出力信号が論理値「0」ならば
全ての対応するプライマリ出力信号が一致することにな
る。
【0007】次に、状態遷移BDD生成装置52は、順
序回路Cを論理関数に変換し(ステップS54)、さら
に順序回路Cの状態遷移を表すBDDを生成する(ステ
ップS55)。初期状態入力装置54は、入力された初
期状態を論理式に変換し、さらにこれを初期状態のBD
Dに変換する(ステップS56)。次状態計算装置59
は、状態の集合を表す変数Sに生成された初期状態のB
DDをセットする(ステップS57)。
【0008】出力信号検査装置57は、変数Sが表す状
態集合における順序回路Cのプライマリ出力信号を、B
DDの演算によって計算する(ステップS58)。そし
て、出力信号検査装置57は、ステップS58で計算し
たプライマリ出力信号が「0」となっているかどうかを
判定する(ステップS59)。ここで、プライマリ出力
信号が「0」以外になった場合は、結果出力装置58か
ら順序回路1と順序回路2を不一致という結果を出力し
(ステップS59)、処理を終了する。
【0009】一方、ステップS58でプライマリ出力信
号が「0」になっていると判定した場合は、出力信号検
査装置57は、さらに変数Sが表す状態集合にそこから
1クロックで到達する状態集合Nが含まれるかどうかを
判定する(ステップS62)。次状態計算装置59は、
変数Sが表す状態集合に前記状態集合Nを加えて新たな
変数Sとし(ステップS63)、ステップS58に戻
る。
【0010】一方、ステップS62で前記状態集合Nが
変数Sの表す状態集合に含まれると判定した場合は、出
力信号検査装置57は、順序回路1と順序回路2を一致
という結果を出力し(ステップS64)、処理を終了す
る。
【0011】
【発明が解決しようとする課題】ところで、上記従来例
では、順序構造をBDDで表し、回路動作の解析、すな
わち次状態の計算及びある状態集合における出力信号値
の計算は、BDDの演算の処理によって行っているた
め、BDDの演算の処理速度に大きく依存する。ここ
で、BDDの演算の処理速度は対象となるBDDの規模
(BDDを構成するノード数)の積に比例するが、等価
検証の対象となる順序回路に含まれるフリップフロップ
の数が多くなると、検証対象となる順序回路の構造を表
すBDDの規模が大きくなる。これにより、等価検証の
対象となる順序回路に含まれるフリップフロップの数が
多くなると、BDDの演算の処理に極端に時間がかかる
ようになり、上記従来例では、順序回路が論理的に等価
であるかどうかの検証が実際上不可能になってしまうと
いう問題があった。
【0012】本発明は、上記従来例の問題点を解消する
ためになされたものであり、二分決定図の演算に基づい
て複数の順序回路が論理的に等価であるかどうかを検証
する場合に、その検証を高速に行うことができる順序回
路等価検証装置、方法及びこの方法を記録した記録媒体
を提供することを目的とする。
【0013】
【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の観点にかかる順序回路等価検証装置
は、論理的に等価であるかどうかの検証の対象となる複
数の順序回路を結合し、1つの結合順序回路を生成する
順序回路結合手段と、前記順序回路結合手段が生成した
結合順序回路の出力を表す論理関数を生成する出力関数
生成手段と、前記結合順序回路の状態遷移をノードの結
合によって表す二分決定図を生成する二分決定図生成手
段と、所定の基準値を保持し、前記二分決定図生成手段
が生成した二分決定図に含まれるノード数が前記所定の
基準値を越えるとき、それぞれに含まれるノード数が前
記所定の基準値以下である複数の二分決定図に分割する
二分決定図分割手段と、前記結合順序回路の状態集合と
して、その初期状態を入力する初期状態入力手段と、前
記二分決定図分割手段によって分割された複数の二分決
定図のそれぞれに前記状態集合に含まれる各状態を適用
し、それぞれに対応する次状態を示す複数の次状態二分
決定図を生成する次状態二分決定図生成手段と、前記次
状態二分決定図生成手段が生成した複数の次状態二分決
定図を結合して前記結合順序回路の次状態を表す次状態
二分決定図を生成し、該次状態二分決定図に対応する次
状態を前記状態集合に追加する次状態二分決定図結合手
段と、前記出力関数生成手段が生成した論理関数に前記
状態集合に含まれる各状態を適用し、各状態での前記結
合順序回路の出力が所定の値になるかどうかを検査する
出力検査手段と、前記出力検査手段の検査結果に従っ
て、前記検証の対象となる複数の順序回路が論理的に等
価であるかどうかを検証する等価検証手段とを備えるこ
とを特徴とする。
【0014】上記順序回路等価検証装置では、複数の順
序回路が論理的に等価であるかどうかを検証するために
結合した結合順序回路の状態遷移は、二分決定図分割手
段によって分割され、それぞれのノード数が所定の基準
値以下の複数の二分決定図によって表される。すなわ
ち、結合順序回路の状態遷移を示す二分決定図からその
次状態を求める場合に、演算対象となる二分決定図に含
まれるノードの数が少なくて済むようになる。このた
め、複数の順序回路が論理的に等価であるかどうかの検
証を高速に行うことができるようになる。
【0015】上記順序回路等価検証装置において、前記
順序回路結合手段は、例えば、前記結合の対象となる複
数の順序回路の入力信号を共通とし、前記複数の順序回
路の出力信号をそのすべての一致により所定の値を出力
する一致検出回路に入力することによって、前記複数の
順序回路を結合するものとすることができる。
【0016】上記順序回路等価検証装置において、前記
二分決定図分割手段が前記二分決定図を分割するための
組み合わせは、複数ある場合がある。このような場合、
前記二分決定図分割手段は、分割によって得られる複数
の二分決定図のそれぞれに含まれるノード数が最大であ
るものが最小となる組み合わせによって前記二分決定図
生成手段が生成した二分決定図を分割することを好適と
する。
【0017】上記順序回路等価検証装置において、前記
二分決定図分割手段は、前記二分決定図生成手段が生成
した二分決定図を、互いの論理和をとることによって前
記結合順序回路の状態遷移を表すことができる複数の二
分決定図に分割するものとすることができ、前記次状態
二分決定図結合手段は、前記次状態二分決定図生成手段
が生成した複数の次状態二分決定図の論理和をとること
により、前記複数の次状態二分決定図を結合するものと
することができる。
【0018】上記順序回路等価検証装置は、前記次状態
二分決定図結合手段によって生成された次状態二分決定
図に対応する次状態が、すでに前記状態集合に含まれて
いるかどうかを判定する状態集合判定手段をさらに備え
るものとすることができる。そして、この場合には、前
記等価検証手段は、前記状態判定手段によって次状態が
すでに前記状態集合に含まれていると判定され、かつ前
記出力検査手段の検査結果が前記状態集合に含まれるす
べての状態において前記結合順序回路の出力が所定の値
となるときに、前記検証の対象となる複数の順序回路が
それぞれ論理的に等価であると結論することができる。
【0019】上記目的を達成するため、本発明の第2の
観点にかかる順序回路等価検証装置は、複数の順序回路
を結合した結合順序回路の状態遷移をノードの結合によ
って表す二分決定図を生成し、該二分決定図から前記結
合順序回路がとりうる各状態を順次求め、各状態におけ
る前記結合順序回路の出力が所定の値になるかどうかを
検査することで前記複数の順序回路が論理的に等価であ
るかどうかを検証する順序回路等価検証装置であって、
所定の手法により結合されることで前記結合順序回路の
状態遷移を表す複数の二分決定図を生成する二分決定図
生成手段と、前記二分決定図生成手段によって生成され
た複数の二分決定図のそれぞれに前記結合順序回路がと
りうる状態を適用し、それぞれに対応する複数の次状態
二分決定図を生成する次状態二分決定図生成手段と、前
記次状態二分決定図生成手段が生成した複数の次状態二
分決定図を結合して前記結合順序回路の次状態を表す次
状態二分決定図を生成し、該次状態二分決定図に対応す
る状態を前記結合順序回路の次状態とする次状態二分決
定図結合手段とを備えることを特徴とする。
【0020】上記順序回路等価検証装置において、前記
二分決定図生成手段は、それぞれに含まれるノードの数
が所定の基準値以下となるように前記複数の二分決定図
を生成するするものとすることができる。
【0021】上記順序回路等価検証装置において、前記
二分決定図生成手段は、互いの論理和をとることによっ
て前記結合順序回路の状態遷移を表すことができる複数
の二分決定図を生成するものとすることができ、前記次
状態二分決定図結合手段は、前記次状態二分決定図生成
手段が生成した複数の次状態二分決定図の論理和をとる
ことにより、前記複数の次状態二分決定図を結合するも
のとすることができる。
【0022】上記目的を達成するため、本発明の第3の
観点にかかる順序回路等価検証方法は、プログラム制御
により動作するコンピュータを用いて実行される方法で
あって、 前記コンピュータが、回路ライブラリに蓄積さ
れた論理的に等価であるかどうかの検証の対象となる複
数の順序回路を読み出すステップと、前記コンピュータ
が、前記読み出した複数の順序回路を結合し、1つの結
合順序回路を生成する順序回路結合ステップと、前記コ
ンピュータが、前記順序回路結合ステップで生成した結
合順序回路の出力を表す論理関数を生成する出力関数生
成ステップと、前記コンピュータが、前記結合順序回路
の状態遷移をノードの結合によって表す二分決定図を生
成する二分決定図生成ステップと、前記コンピュータ
が、所定の基準値を保持し、前記二分決定図生成ステッ
プで生成した二分決定図に含まれるノード数が前記所定
の基準値を越えるとき、それぞれに含まれるノード数が
前記所定の基準値以下である複数の二分決定図に分割す
る二分決定図分割ステップと、前記コンピュータが、
記結合順序回路の状態集合として、その初期状態を入力
する初期状態入力ステップと、前記コンピュータが、
記二分決定図分割ステップで分割された複数の二分決定
図のそれぞれに前記状態集合に含まれる各状態を適用
し、それぞれに対応する次状態を示す複数の次状態二分
決定図を生成する次状態二分決定図生成ステップと、
記コンピュータが、前記次状態二分決定図生成ステップ
で生成した複数の次状態二分決定図を結合して前記結合
順序回路の次状態を表す次状態二分決定図を生成し、該
次状態二分決定図に対応する次状態を前記状態集合に追
加する次状態二分決定図結合ステップと、前記コンピュ
ータが、前記出力関数生成ステップで生成した論理関数
に前記状態集合に含まれる各状態を適用し、各状態での
前記結合順序回路の出力が所定の値になるかどうかを検
査する出力検査ステップと、前記コンピュータが、前記
出力検査ステップでの検査結果に従って、前記検証の対
象となる複数の順序回路が論理的に等価であるかどうか
を検証する等価検証ステップと、前記コンピュータが、
前記等価検証ステップの検証結果を出力装置から出力
せるステップとを含むことを特徴とする。
【0023】上記目的を達成するため、本発明の第4の
観点にかかる順序回路等価検証方法は、プログラム制御
により動作するコンピュータが、回路ライブラリに蓄積
された複数の順序回路を読み出し、前記読み出した複数
の順序回路を結合した結合順序回路の状態遷移をノード
の結合によって表す二分決定図を生成し、該二分決定図
から前記結合順序回路がとりうる各状態を順次求め、各
状態における前記結合順序回路の出力が所定の値になる
かどうかを検査することで前記複数の順序回路が論理的
に等価であるかどうかを検証し、該検証結果を出力装置
から出力させる順序回路等価検証方法であって、前記コ
ンピュータが、所定の手法により結合されることで前記
結合順序回路の状態遷移を表す複数の二分決定図を生成
する二分決定図生成ステップと、前記コンピュータが、
前記二分決定図生成ステップで生成された複数の二分決
定図のそれぞれに前記結合順序回路がとりうる状態を適
用し、それぞれに対応する複数の次状態二分決定図を生
成する次状態二分決定図生成ステップと、前記コンピュ
ータが、前記次状態二分決定図生成ステップで生成した
複数の次状態二分決定図を結合して前記結合順序回路の
次状態を表す次状態二分決定図を生成し、該次状態二分
決定図に対応する状態を前記結合順序回路の次状態とす
る次状態二分決定図結合ステップとを含むことを特徴と
する。
【0024】上記目的を達成するため、本発明の第5の
観点にかかるコンピュータ読み取り可能な記録媒体は、
回路ライブラリに蓄積された論理的に等価であるかどう
かの検証の対象となる複数の順序回路を読み出すステッ
プと、前記読み出した複数の順序回路を結合し、1つの
結合順序回路を生成する順序回路結合ステップと、前記
順序回路結合ステップで生成した結合順序回路の出力を
表す論理関数を生成する出力関数生成ステップと、前記
結合順序回路の状態遷移をノードの結合によって表す二
分決定図を生成する二分決定図生成ステップと、所定の
基準値を保持し、前記二分決定図生成ステップで生成し
た二分決定図に含まれるノード数が前記所定の基準値を
越えるとき、それぞれに含まれるノード数が前記所定の
基準値以下である複数の二分決定図に分割する二分決定
図分割ステップと、前記結合順序回路の状態集合とし
て、その初期状態を入力する初期状態入力ステップと、
前記二分決定図分割ステップで分割された複数の二分決
定図のそれぞれに前記状態集合に含まれる各状態を適用
し、それぞれに対応する次状態を示す複数の次状態二分
決定図を生成する次状態二分決定図生成ステップと、前
記次状態二分決定図生成ステップで生成した複数の次状
態二分決定図を結合して前記結合順序回路の次状態を表
す次状態二分決定図を生成し、該次状態二分決定図に対
応する次状態を前記状態集合に追加する次状態二分決定
図結合ステップと、前記出力関数生成ステップで生成し
た論理関数に前記状態集合に含まれる各状態を適用し、
各状態での前記結合順序回路の出力が所定の値になるか
どうかを検査する出力検査ステップと、前記出力検査ス
テップでの検査結果に従って、前記検証の対象となる複
数の順序回路が論理的に等価であるかどうかを検証する
等価検証ステップと 前記等価検証ステップの検証結果
を出力装置から出力するステップとコンピュータ装置
に実行させるためのプログラムを記録することを特徴と
する。
【0025】上記目的を達成するため、本発明の第6の
観点にかかるコンピュータ読み取り可能な記録媒体は、
回路ライブラリに蓄積された複数の順序回路を読み出
し、前記読み出した複数の順序回路を結合した結合順序
回路の状態遷移をノードの結合によって表す二分決定図
を生成し、該二分決定図から前記結合順序回路がとりう
る各状態を順次求め、各状態における前記結合順序回路
の出力が所定の値になるかどうかを検査することで前記
複数の順序回路が論理的に等価であるかどうかを検証
し、該検証結果を出力装置から出力するプログラムを記
録した記録媒体であって、所定の手法により結合される
ことで前記結合順序回路の状態遷移を表す複数の二分決
定図を生成する二分決定図生成ステップと、前記二分決
定図生成ステップで生成された複数の二分決定図のそれ
ぞれに前記結合順序回路がとりうる状態を適用し、それ
ぞれに対応する複数の次状態二分決定図を生成する次状
態二分決定図生成ステップと、前記次状態二分決定図生
成ステップで生成した複数の次状態二分決定図を結合し
て前記結合順序回路の次状態を表す次状態二分決定図を
生成し、該次状態二分決定図に対応する状態を前記結合
順序回路の次状態とする次状態二分決定図結合ステップ
とをコンピュータ装置に実行させるためのプログラムを
記録することを特徴とする。
【0026】
【発明の実施の形態】以下に示す実施の形態は、任意の
論理関数は2つの論理関数の論理和に展開できるとい
う、数式1に示すシャノンの展開定理に基づいている。
【数1】f(x,x,・・・,x)=x’*f
(0,x,・・・,x)+x*f(1,x,・・・,
) (但し、「*」は論理積を、「+」は論理和を、「’」
は論理否定を表す。以下、同じ)
【0027】以下、このシャノンの展開定理を利用して
分割した二分決定図(BDD)を利用して、複数の順序
回路が論理的に等価であるかどうかを検証する本発明の
実施の形態について、図面を参照して説明する。
【0028】図1は、この実施の形態にかかる順序回路
等価検証装置の構成を示すブロック図である。図示する
ように、この順序回路等価検証装置は、回路ライブラリ
0は、回路入力装置1と、状態遷移BDD生成装置2
と、状態遷移BDD分割装置3と、初期状態入力装置4
と、次状態BDD計算装置5と、次状態BDD結合装置
6と、出力信号検査装置7と、結果出力装置8とから構
成される。
【0029】回路ライブラリ0は、論理的に等価である
かどうかの検証対象としての候補となりうる複数の順序
回路を蓄積している。
【0030】回路入力装置1は、プログラム制御により
動作し、オペレータからの指示に従って回路ライブラリ
0から等価検証の対象となる2つの順序回路(それぞれ
内部にフリップフロップを含む順序回路1及び順序回路
2)を読み出し、これら2つの順序回路を結合して順序
回路Cを生成する。ここで生成される順序回路Cは、順
序回路1と順序回路2とで共通のプライマリ入力信号を
有し、また、順序回路1と順序回路2との排他論理和を
プライマリ出力信号とするものである。
【0031】状態遷移BDD生成装置2は、プログラム
制御により動作し、回路入力装置1により生成された順
序回路Cを論理関数に変換し、さらに順序回路Cの状態
遷移をノードの結合によって示す状態遷移BDDを生成
する。この状態遷移BDDの生成過程において、状態遷
移BDD生成装置2は、必要な場合には状態遷移BDD
分割装置3を用いて状態遷移BDDを分割させる。
【0032】状態遷移BDD分割装置3は、プログラム
制御により動作し、BDDのノード数の閾値として所定
の基準値を保持し、状態遷移BDD生成装置2が生成し
た回路全体の状態遷移を表す状態遷移BDDが有するノ
ード数が所定の閾値を超えたときに、その状態遷移BD
Dをシャノンの展開定理に従って分割する。状態遷移B
DD分割装置3は、分割した状態遷移BDDを再び状態
遷移BDD生成装置2に供給する。
【0033】初期状態入力装置4は、プログラム制御に
より動作すると共に、マウス、キーボードなどの入力装
置を有し、オペレータの操作に従って入力された順序回
路Cの初期状態からBDDを生成し、その初期状態を後
述する順序回路Cがとりうる状態集合の要素として追加
する。
【0034】次状態BDD計算装置5は、プログラム制
御により動作し、状態遷移BDD生成手段2によって生
成され、状態遷移BDD分割手段3によって分割された
1つまたは複数の状態遷移BDDと、順序回路Cの状態
集合とに基づいて、分割されたそれぞれの状態遷移BD
Dに対応する次状態を示す複数の次状態BDDを生成す
る。
【0035】次状態BDD結合装置6は、プログラム制
御により動作し、次状態BDD計算装置5によって生成
された複数の次状態BDDを論理和演算によって結合
し、順序回路Cの次状態を示す1つの次状態BDDを生
成する。生成された次状態BDDに対応する順序回路C
の次状態は、状態集合に追加される。
【0036】出力信号検査装置7は、プログラム制御に
より動作し、順序回路Cの論理関数に状態集合に含まれ
ている各状態を順次適用してその出力を検査し、また、
次状態BDD結合装置6によって生成された次状態BD
Dに対応する順序回路Cの次状態がすでに状態集合に含
まれているかどうかを検査する。出力信号検査装置7
は、これらの検査結果に従って、順序回路1と順序回路
2との一致または不一致の判定、或いは処理の継続を判
定する。
【0037】結果出力装置8は、CRT(Cathode Ray
Tube)などのディスプレイ装置、或いはプリンタ装置な
どによって構成され、出力信号検査装置7による検査結
果に従って、順序回路1及び順序回路2の一致、または
不一致を出力する。
【0038】以下、この実施の形態にかかる順序回路等
価検証装置における処理について、図2のフローチャー
トを参照して説明する。
【0039】処理が開始すると、まず、回路入力装置1
は、オペレータの操作に従って等価検証の対象となる2
つの順序回路(順序回路1及び順序回路2)をライブラ
リ0から順次読み出す(ステップS1、S2)。次に、
回路入力装置1は、ステップS1、S2で読み出した順
序回路1と順序回路2とを結合し、順序回路Cを生成す
る(ステップS3)。
【0040】次に、状態遷移BDD生成装置2は、ステ
ップS3で結合した順序回路Cを論理関数に変換する。
ここでは、順序回路Cに含まれる各フリップフロップの
値を決定する組み合わせ回路の論理関数Fiと、順序回
路Cのプライマリ出力信号ZCを決定する組み合わせ回
路の論理関数GCとを求める(ステップS4)。
【0041】状態遷移BDD生成装置2は、順序回路C
の状態遷移BDDを生成する(ステップS5)。ステッ
プS5の処理を、図3に詳細に示す。まず、状態遷移B
DD生成装置2は、フリップフロップの値を決定する組
み合わせ回路の論理関数FiをBDDに変換する(ステ
ップS5.1)。ここで、論理関数FiをBDDに変換
するには、既知の方法(例えば、Bryant,R.E. Graph-Ba
sed Algorithms for Boolean Function Manipulation,
IEEETrans. Comput. Vol.C-35, No.8, pp.677-691,1986
に提案されている方法)を使えばよい。
【0042】次に、状態遷移BDD生成装置2は、順序
回路Cに含まれるフリップフロップの値の遷移を表す論
理関数trを、数式2によって生成する(ステップS
5.2)。
【数2】tr=Y*F(I,X)+Y’*F
(I,X)’
【0043】ここで、論理関数trは、i番目のフリ
ップフロップの次クロックにおける値Yと、現在のす
べてのフリップフロップの値Xと、プライマリ入力信号
の値Iとに依存する関数である。現在のフリップフロッ
プの値がXであり、プライマリ入力信号の値がIのとき
に、i番目のフリップフロップの値が次クロックでY
となるときに限り、trの値は「1」になる。これよ
り、論理関数trは、i番目のフリップフロップの値
の遷移関係を表すことができる。
【0044】次に、状態遷移BDD生成装置2は、数式
3に示すように、すべてtrの論理積を計算すること
によって、回路全体の状態遷移を表す状態遷移BDD
(論理関数TR)を生成する(ステップS5.3)。
【数3】TR=Πtr
【0045】ここで、論理関数TRは、全てのフリップ
フロップの次クロックの値Yと、全てのフリップフロッ
プの現在の値Xと、プライマリ入力信号の値Iに依存す
る関数である。現在のフリップフロップの値がXであり
プライマリ入力信号の値がIのときに次クロックにおけ
るフリップフロップの値がYであるときに限り、論理関
数TRの値は1になる。これにより、論理関数TRは、
全てのフリップフロップの値の遷移関係、すなわち順序
回路Cの状態遷移を表すことができる。
【0046】この順序回路Cの状態遷移BDDを生成す
る過程において、論理関数TRを表す状態遷移BDDに
含まれるノード数が基準値を越えることとなる場合に
は、状態遷移BDD分割装置3は、シャノンの展開論理
に従い、状態遷移BDD分割装置3を用いて状態遷移B
DD(論理関数TR)を数式4に示す2つの論理関数T
R1、TR2の論理和に展開する。
【0047】
【数4】TR1=x’*f(x,x,・・・.x
i−1,0,xi+1,・・・,x ) TR2=x*f(x,x,・・・.xi−1,1,
i+1,・・・,x
【0048】ここで、論理関数TR1とTR2とは、そ
れぞれx=1のときとx=0のときに限定した論理
関数TRを表す。変数順序が同じであるとするならば、
論理関数TRを表す状態遷移BDDよりも論理関数TR
1及びTR2を表す状態遷移BDDは、ノード数が少な
くなる。状態遷移BDD分割装置3は、論理関数TR1
とTR2を表す状態遷移BDDのノード数が最も少なく
なるような論理変数x を選択する。なお、本来は論理
変数X,Y,Iの中から任意の一つを選択できるが、現
在の状態集合を表す論理関数がXのみに依存する関数で
あるので、ここでも、論理変数Xのみを選択の対象とし
ている(ステップS5.3)。
【0049】このステップS5.3の手続きを、図4、
図5のプログラム例に従ってさらに詳細に説明すると、
図4に示すように、手続き開始時には、値「1」の論理
関数TR1で論理関数TRを表し、分割数を表す変数d
ivの値を「1」としている。次に、i=1からi=n
まで、TR1= TR1*trを順次計算していく。
ここで、論理関数TR1を表すBDDのノード数が基準
値を超えた場合は、手続きselect_varによっ
て1つの変数xを決定し、TR1をx*TR1
(x=1)とx’*TR1(x=0)とに分割すると共
に、分割数を表す変数divを「1」増加させる。
【0050】図4のselect_var()によっ
て、論理関数TR1を分割する論理変数xを決定する
場合、図5に示すように、対象とするBDDに対して論
理変数xiを順番に適用してTR(xi=1)とTR
(xi=0)のBDDを作る。BDDのノード数を s
ize(BDD)で表すとすると、MAX(size
(TR(xi=1)),size(T
(xi=0)))が一番小さくなるiを選ぶことによ
って、xを選択する。
【0051】以上説明したステップS5(ステップS
5.1〜S5.3)の処理により、順序回路Cの値の遷
移を表す状態遷移BDDが生成される。
【0052】次に、初期状態入力装置4は、オペレータ
の操作に従って順序回路Cの初期状態が入力されると、
それを論理関数Xinitに変換し、さらにその論理関
数X initからBDDを生成する(ステップS6)。
そして、出力信号検査装置7は、順序回路Cの状態集合
を表す変数Sに、論理関数Xinitをセットする(ス
テップS7)。
【0053】次に、出力信号検査装置7は、ステップS
4で生成した論理関数GCに状態集合Sを適用し、S*
GCの演算を行うことによって、順序回路Cのプライマ
リ出力信号を計算する(ステップS8)。そして、出力
信号計算装置7は、計算したプライマリ出力信号の値が
「0」となっているかどうかを判定する(ステップS
9)。
【0054】プライマリ出力信号の値が「0」となって
いると判定した場合には、次状態BDD計算装置5は、
状態集合を示す変数Sに含まれる現在の状態を、ステッ
プS5で生成した状態遷移BDDのそれぞれに適用し、
順序回路Cの次状態を示す次状態BDDを生成する(ス
テップS10)。さらに、次状態BDD結合装置6は、
生成された次状態BDDが複数ある場合には、その論理
和をとることによって、複数の次状態BDDを結合した
1つの次状態BDD(その次状態を変数Nで示す)を生
成する(ステップS11)。
【0055】さらに、出力信号検査装置7は、ステップ
S11で生成した次状態BDDに対応する次状態Nが状
態集合を表す変数Sに含まれているかどうかを判定する
(ステップS12)。次状態Nが状態集合を表す変数S
に含まれていないと判定したときは、出力信号検査装置
7は、次状態Nを状態集合に追加し(ステップS1
3)、ステップS8の処理に戻る。
【0056】一方、ステップS9でプライマリ出力信号
の値が「0」となっていないと判定した場合には、出力
信号検査装置7は、結果出力装置8から順序回路1と順
序回路2とは論理的に一致しないという検証結果を出力
し(ステップS14)、このフローチャートの処理を終
了する。また、ステップS12で順序回路Cの次状態N
が状態集合を表す変数Sにすでに含まれていると判定し
た場合には、出力信号検査装置7は、結果出力装置8か
ら順序回路1と順序回路2とが論理的に一致するという
検証結果を出力し(ステップS15)、このフローチャ
ートの処理を終了する。
【0057】以下、この実施の形態にかかる順序回路等
価検証装置における処理について、具体例に基づいてさ
らに詳しく説明する。この具体例において、等価検証の
対象となる順序回路1及び順序回路2をそれぞれ図8、
図9に示す。
【0058】図8に示すように、順序回路1は、2つの
フリップフロップFF1、FF2と、2つの3入力AN
Dゲート、2つのNOTゲート及び1つのORゲートで
構成される組み合わせ回路とからなり、1ビットのプラ
イマリ入力信号Inが入力され、1ビットのプライマリ
出力信号Z1を出力する。フリップフロップFF1、F
F2のそれぞれの次クロックにおける値Y1、Y2は、
フリップフロップFF1、FF2の現在における値X
1、X2と、プライマリ入力信号Inに依存する。ま
た、プライマリ出力信号Z1は、フリップフロップFF
1、FF2の現在の状態X1、X2の論理和となる。
【0059】また、図9に示すように、順序回路2は、
4つのフリップフロップFF3〜FF6と、4つの2入
力ANDゲート、2つのNOTゲート及び1つのORゲ
ートで構成される組み合わせ回路とからなり、1ビット
のプライマリ入力信号Inが入力され、1ビットのプラ
イマリ出力信号Z1を出力する。フリップフロップFF
3〜FF6のそれぞれの次クロックにおける値Y3〜Y
6は、フリップフロップFF3〜FF6の現在における
値X3〜X6と、プライマリ入力信号Inに依存する。
また、プライマリ出力信号Z2は、フリップフロップF
F3、FF4の現在の状態X3、X4の論理積とフリッ
プフロップFF5、FF6の現在の状態X5、X6の論
理積との論理和となる。
【0060】回路入力装置1は、回路ライブラリ0から
上記の順序回路1と順序回路2とを読み出し、これらを
結合することによって、図10に示すような順序回路C
を得る(ステップS1〜S3)。ここで、図10に示す
順序回路Cは、順序回路1と順序回路2とで共通のプラ
イマリ入力信号Inを入力し、順序回路1の出力信号Z
1と順序回路2の出力信号Z2とをEXORゲートで排
他論理和をとってプライマリ出力信号ZCとすることに
よって、結合される。
【0061】次に、状態遷移BDD生成装置2は、図1
0に示す順序回路Cから、数式5に示す各フリップフロ
ップFF1〜FF6の値を決定する組み合わせ回路の論
理関数F1〜F6と、数式6示すプライマリ出力信号Z
Cを決定する組み合わせ回路の論理関数GCとを求める
(ステップS4)。
【0062】
【数5】 Y1=F1(X1,X2,I)=X1*X2’*I Y2=F2(X1,X2,I)=X1’*X2*I Y3=F3(X3,X4,X5,X6,I)=X3*X
4*I Y4=F4(X3,X4,X5,X6,I)=(X5*
X6)’ Y5=F5(X3,X4,X5,X6,I)=(X3*
X4)’*I Y6=F6(X3,X4,X5,X6,I)=X5*X
【0063】
【数6】ZC=GC(X1,…,X6,I)=(X1+
X2)EXOR((X3*X4)+(X5*X6))
【0064】次に、状態遷移BDD生成装置2は、フリ
ップフロップFF1〜FF6の値を表す論理関数F1〜
F6と、プライマリ出力信号ZCの値を表す論理関数G
Cとを変換し、それぞれ図11(a)〜(f)、図12
に示すBDDを生成する(ステップS5.1)。但し、
ここでは、X1,Y1,X2,Y2,X3,Y3,X
4,Y4,X5,Y5,X6,Y6,Inの変数順序に
よるものとする。
【0065】さらに、状態遷移BDD生成装置2は、i
=1からi=6まで、上記の数式2の計算を行って、フ
リップフロップFF1〜FF6の値の遷移を表す論理関
数trからtrを生成する(ステップS5.2)。
【0066】そして、状態遷移BDD生成装置2は、i
=1からi=6まで順に上記の数式3の計算を行い、順
序回路Cの値の遷移を表す状態遷移BDDを生成してい
く。この計算の過程で生成される、tr*tr、t
*tr*tr、tr *tr*tr*tr
、tr*tr*tr*tr*trの状態遷
移BDDを、それぞれ図14〜図17に示す。図14〜
図17の状態遷移BDDに含まれるノードの数は、それ
ぞれ14、23、37、52となる。
【0067】ここで、状態遷移分割装置3は、分割の基
準となる基準値として「50」を保持しているとする
と、tr*tr*tr*tr*trの状態遷
移BDDを分割する。このとき、i=1からi=6のそ
れぞれについて、分割後の状態遷移BDDに含まれるノ
ードの数を示すsize(TR(xi=1))とsize(T
(xi=0))とを計算すると、数式7に示すものとなる。
【0068】
【数7】size(TR(x1=1))=47,size(T
(x1=0))=45 size(TR(x2=1))=47,size(T
(x2=0))=49 size(TR(x3=1))=49,size(T
(x3=0))=40 size(TR(x4=1))=51,size(T
(x4=0))=40 size(TR(x5=1))=46,size(T
(x5=0))=34 size(TR(x6=1))=40,size(T
(x6=0))=32
【0069】このとき、MAX(size(T
(xi=1)),size(TR(xi=0)))は、i=6のと
きの40であるので、状態遷移BDD分割装置3は、図
17に示すtr*tr*tr*tr*tr
状態遷移BDDを図18(a)、(b)に示す2つの状
態遷移BDD、TR(x6=1)とTR(x6=0)とに分割する。
【0070】次に、状態遷移BDD生成装置2は、TR
(x6=1)を論理関数TR1とし、TR (x6=0)を論理関数T
R2としてそれぞれ、TR1*tr、TR2*tr
を計算し、それぞれ新たな論理関数TR1、論理関数T
R2とする。これにより、それぞれ図19と図20に示
す、順序回路Cの値の遷移を示す2つの状態遷移BDD
が生成される(ステップS5.3)。なお、図19と図
20の状態遷移BDDにおいて、それぞれに含まれるノ
ード数はそれぞれ50と46とであり、さらに状態遷移
BDDの分割は行われない。
【0071】次に、初期状態入力装置4は、例えば、順
序回路Cの初期状態として X1=0,X2=0,X3
=0,X4=0,X5=0,X6=0が入力されたとす
ると、その初期状態を数式8に示す論理関数Xinit
に変換し(ステップS6)、出力信号検査装置7によっ
て状態集合を表す変数Sに代入される(ステップS
7)。
【数8】Xinit=X1’*X2’*X3’*X4’
*X5’*X6’
【0072】次に、出力信号検査装置7は、状態集合を
表す変数SにXinitを代入し(ステップS7)、数
式9に示すように論理関数GCにSを適用し、状態集合
Sにおける出力信号を決定する論理関数GCを得る
(ステップS8)。
【数9】GC=GC * S ここで、GC=0と計算され、プライマリ出力信号Z
Cが状態集合Sに於いて常に「0」であることが判明す
るため、次に次状態BDD計算装置5と次状態BDD結
合装置6とによって、Sが表す状態集合の次状態の算出
が行われる。
【0073】ここで、次状態BDD計算装置5は、論理
関数TR1*Sに対してIとXに関するExisten
tial Quantificationを計算する。
論理関数Fに対する論理変数XのExistentia
l Quantificationは、FにX=1を代
入した論理関数とFにX=0を代入した論理関数の論理
和によって計算できる。すなわち、論理関数Fに対する
論理変数XのExistential Quantif
icationを$XFで表すことにし、X=1を代入
したFをFX=1、X=0を代入したFをFX=0で表
すことにすると、$XFは数式10に示す通りに計算さ
れる。
【数10】$XF = FX=1+FX=0
【0074】この表記法にしたがえば論理関数TR1*
Sに対してIとXに関するExistential Q
uantificationは$I(($X(TR1*
S))で表され、次のように計算される。TR1*Sの
演算結果のBDDは、図21に示すものとなり、これに
対してXに関するExistential Quant
ificationを計算するとその演算結果のBDD
は図22に示すものとなる。さらに、Iに関するExi
stential Quantificationを計
算すると、図23に示すような、論理関数TR1につい
ての次状態BDDが生成される。同様にして、論理関数
TR2に対して$I(($X(TR2* S))を計算
すると図24のような次状態BDDが得られる(ステッ
プS10)。
【0075】さらに、次状態BDD結合装置6は、図2
3の次状態BDDと図24の次状態BDDのOR演算、
すなわち$I(($X(TR1*S))+$I(($X
(TR2*S))を計算し、2つの次状態BDDを結合
して、図25に示す次状態BDDを生成する。さらに、
この論理関数はYに依存する関数であるが、Yを対応す
るXに置き換え、図26に示す1つの次状態BDDを生
成する(ステップS11)。
【0076】そして、この次状態BDDに対応する次状
態Nを状態集合を示す変数Sに加えて、ステップS8に
戻り、同様の処理を続ける。そして、最終的に、順序回
路1と順序回路2とは論理的に等価であるという結論を
得ることができる。
【0077】以上説明したように、この実施の形態にか
かる順序回路等価検証装置では、順序回路1と順序回路
2を結合した順序回路Cの状態遷移BDDを生成する場
合に、含まれるノードの数が所定の基準値を越えないよ
うな複数の状態遷移BDDに分割されて生成される。こ
れにより、次状態BDD計算装置5及び次状態BDD結
合装置6による次状態BDDの生成の際に、演算対象と
なるノードの数を少なくすることができる。このため、
この実施の形態にかかる順序回路等価検証装置によれ
ば、順序回路1と順序回路2とが論理的に等価であるか
どうかの検証を高速に行うことができる。
【0078】上記の実施の形態では、2つの順序回路が
論理的に等価であるかどうかの検証に、本発明を適用し
た場合について説明した。しかしながら、本発明は、3
つ以上の順序回路が論理的に等価であるかどうかを検証
する場合にも、適用することができる。この場合、結合
される各順序回路でプライマリ入力信号を共通にし、各
順序回路の出力信号がすべて一致したときのみに「0」
または「1」を出力する一致検出回路によって、結合さ
れた順序回路を生成すればよい。
【0079】上記の実施の形態では、本発明を実現する
ためのプログラムである図2のフローチャートに示すプ
ログラムは、プログラム制御により動作する回路入力装
置1、状態遷移BDD生成装置2、状態遷移分割装置
3、初期状態入力装置4、次状態BDD計算装置5、次
状態BDD結合装置6或いは出力信号検査装置7などが
実行するものとしていた。しかしながら、本発明では、
このようなプログラムをCD−ROMやフロッピーディ
スクなどのコンピュータ読み取り可能な記録媒体に格納
して配布し、汎用コンピュータのハードディスクにイン
ストールして実行させてもよい。
【0080】
【発明の効果】以上説明したように、本発明によれば、
演算対象となる二分決定図に含まれるノードの数が少な
くて済むので、複数の順序回路が論理的に等価であるか
どうかの検証を高速に行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかる順序回路等価検証
装置の構成を示すブロック図である。
【図2】本発明の実施の形態にかかる順序回路等価検証
装置における処理を示すフローチャートである。
【図3】図2のステップS5の処理を詳細に示すフロー
チャートである。
【図4】図3のステップ5.3の手続きを示すプログラ
ム例である。
【図5】図4のプログラム例において、BDDを分割す
る変数を選ぶ手続きを示すプログラム例である。
【図6】図2のステップS11の手続きを示すプログラ
ム例である。
【図7】図2のステップS12の手続きを示すプログラ
ム例である。
【図8】本発明の実施の形態において、等価検証の対象
となる順序回路1の例を示す図である。
【図9】本発明の実施の形態において、等価検証の対象
となる順序回路2の例を示す図である。
【図10】図8の順序回路1と図9の順序回路2とを結
合した順序回路Cを示す図である。
【図11】(a)〜(f)は、図10の順序回路Cにつ
いて、それぞれのフリップフロップの値を表す論理関数
F1〜F6から変換されるBDDの例を示す図である。
【図12】図10の順序回路Cについて、プライマリ出
力信号の値を表す論理関数ZCから変換されるBDDの
例を示す図である。
【図13】(a)〜(f)は、図10の順序回路Cにつ
いて、それぞれのフリップフロップの状態遷移を表す論
理関数tr〜trのBDDの例を示す図である。
【図14】順序回路Cの状態遷移を表す状態遷移BDD
を生成する過程において生成されるtr*trのB
DDの例を示す図である。
【図15】順序回路Cの状態遷移を表す状態遷移BDD
を生成する過程において生成されるtr*tr*t
のBDDの例を示す図である。
【図16】順序回路Cの状態遷移を表す状態遷移BDD
を生成する過程において生成されるtr*tr*t
*trのBDDの例を示す図である。
【図17】順序回路Cの状態遷移を表す状態遷移BDD
を生成する過程において生成されるtr*tr*t
*tr*trのBDDの例を示す図である。
【図18】(a)、(b)は、図17のBDDを分割し
たBDDの例を示す図である。
【図19】図18(a)に示すBDDとtrとの論理
積によって生成される、順序回路Cの状態遷移を表す第
1の状態遷移BDDを示す図である。
【図20】図18(b)に示すBDDとtrとの論理
積によって生成される、順序回路Cの状態遷移を表す第
2の状態遷移BDDを示す図である。
【図21】図19に示す論理関数TR1の状態遷移BD
Dに、初期状態の状態集合Sを適用したBDDの例を示
す図である。
【図22】図21のBDDに対して、Xに関するExiste
ntialQuantificationを計算して得られるBDDの例を
示す図である。
【図23】図22のBDDに対して、Iに関するExiste
ntialQuantificationを計算して得られる、論理関数T
R1についての次状態BDDの例を示す図である。
【図24】図20の論理関数TR2の状態遷移BDDか
ら得られる次状態BDDの例を示す図である。
【図25】図23の次状態BDDと図24の次状態BD
Dを結合した次状態BDDの例を示す図である。
【図26】図25の次状態BDDのYをXに置き換えた
次状態BDDの例を示す図である。
【図27】同期式順序回路の構成を示すブロック図であ
る。
【図28】従来例にかかる順序回路等価検証装置の構成
を示すブロック図である。
【図29】従来例にかかる順序回路等価検証装置におけ
る処理を示すフローチャートである。
【図30】2つの同期式順序回路を結合した順序回路の
構成を示すブロック図である。
【符号の説明】
0 回路ライブラリ 1 回路入力装置 2 状態遷移BDD生成装置 3 状態遷移BDD分割装置 4 初期状態入力装置 5 次状態BDD計算装置 6 次状態BDD結合装置 7 出力信号検査装置 8 結果出力装置
フロントページの続き (56)参考文献 特開 平11−219378(JP,A) 特開 平10−228498(JP,A) 特開 平8−829129(JP,A) 平石裕実、外1名、”論理関数処理に 基づく形式的検証手法”、情報処理、情 報処理学会、平成6年、Vol.35、N o.8、p.710〜718 樋口博之、外1名、”状態変数の動的 削除を用いた状態数え上げの効率化”、 情報処理学会研究報告(DA−87)、情 報処理学会、平成10年1月、p.9〜16 中岡敏博、外3名、”BDDサイズを 考慮した回路分割に基づく形式的論理検 証手法”、情報処理学会研究報告(DA −69)、情報処理学会、平成5年、p. 47〜54 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 664 JICSTファイル(JOIS)

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】論理的に等価であるかどうかの検証の対象
    となる複数の順序回路を結合し、1つの結合順序回路を
    生成する順序回路結合手段と、 前記順序回路結合手段が生成した結合順序回路の出力を
    表す論理関数を生成する出力関数生成手段と、 前記結合順序回路の状態遷移をノードの結合によって表
    す二分決定図を生成する二分決定図生成手段と、 所定の基準値を保持し、前記二分決定図生成手段が生成
    した二分決定図に含まれるノード数が前記所定の基準値
    を越えるとき、それぞれに含まれるノード数が前記所定
    の基準値以下である複数の二分決定図に分割する二分決
    定図分割手段と、 前記結合順序回路の状態集合として、その初期状態を入
    力する初期状態入力手段と、 前記二分決定図分割手段によって分割された複数の二分
    決定図のそれぞれに前記状態集合に含まれる各状態を適
    用し、それぞれに対応する次状態を示す複数の次状態二
    分決定図を生成する次状態二分決定図生成手段と、 前記次状態二分決定図生成手段が生成した複数の次状態
    二分決定図を結合して前記結合順序回路の次状態を表す
    次状態二分決定図を生成し、該次状態二分決定図に対応
    する次状態を前記状態集合に追加する次状態二分決定図
    結合手段と、 前記出力関数生成手段が生成した論理関数に前記状態集
    合に含まれる各状態を適用し、各状態での前記結合順序
    回路の出力が所定の値になるかどうかを検査する出力検
    査手段と、 前記出力検査手段の検査結果に従って、前記検証の対象
    となる複数の順序回路が論理的に等価であるかどうかを
    検証する等価検証手段とを備えることを特徴とする順序
    回路等価検証装置。
  2. 【請求項2】前記順序回路結合手段は、前記結合の対象
    となる複数の順序回路の入力信号を共通とし、前記複数
    の順序回路の出力信号をそのすべての一致により所定の
    値を出力する一致検出回路に入力することによって、前
    記複数の順序回路を結合することを特徴とする請求項1
    に記載の順序回路等価検証装置。
  3. 【請求項3】前記二分決定図分割手段が前記二分決定図
    を分割するための組み合わせは、複数あり、 前記二分決定図分割手段は、分割によって得られる複数
    の二分決定図のそれぞれに含まれるノード数が最大であ
    るものが最小となる組み合わせによって前記二分決定図
    生成手段が生成した二分決定図を分割することを特徴と
    する請求項1または2に記載の順序回路等価検証装置。
  4. 【請求項4】前記二分決定図分割手段は、前記二分決定
    図生成手段が生成した二分決定図を、互いの論理和をと
    ることによって前記結合順序回路の状態遷移を表すこと
    ができる複数の二分決定図に分割し、 前記次状態二分決定図結合手段は、前記次状態二分決定
    図生成手段が生成した複数の次状態二分決定図の論理和
    をとることにより、前記複数の次状態二分決定図を結合
    することを特徴とする請求項1乃至3のいずれか1項に
    記載の順序回路等価検証装置。
  5. 【請求項5】前記次状態二分決定図結合手段によって生
    成された次状態二分決定図に対応する次状態が、すでに
    前記状態集合に含まれているかどうかを判定する状態集
    合判定手段をさらに備え、 前記等価検証手段は、前記状態判定手段によって次状態
    がすでに前記状態集合に含まれていると判定され、かつ
    前記出力検査手段の検査結果が前記状態集合に含まれる
    すべての状態において前記結合順序回路の出力が所定の
    値となるときに、前記検証の対象となる複数の順序回路
    がそれぞれ論理的に等価であると結論することを特徴と
    する請求項1乃至4のいずれか1項に記載の順序回路等
    価検証装置。
  6. 【請求項6】複数の順序回路を結合した結合順序回路の
    状態遷移をノードの結合によって表す二分決定図を生成
    し、該二分決定図から前記結合順序回路がとりうる各状
    態を順次求め、各状態における前記結合順序回路の出力
    が所定の値になるかどうかを検査することで前記複数の
    順序回路が論理的に等価であるかどうかを検証する順序
    回路等価検証装置であって、 所定の手法により結合されることで前記結合順序回路の
    状態遷移を表す複数の二分決定図を生成する二分決定図
    生成手段と、 前記二分決定図生成手段によって生成された複数の二分
    決定図のそれぞれに前記結合順序回路がとりうる状態を
    適用し、それぞれに対応する複数の次状態二分決定図を
    生成する次状態二分決定図生成手段と、 前記次状態二分決定図生成手段が生成した複数の次状態
    二分決定図を結合して前記結合順序回路の次状態を表す
    次状態二分決定図を生成し、該次状態二分決定図に対応
    する状態を前記結合順序回路の次状態とする次状態二分
    決定図結合手段とを備えることを特徴とする順序回路等
    価検証装置。
  7. 【請求項7】前記二分決定図生成手段は、それぞれに含
    まれるノードの数が所定の基準値以下となるように前記
    複数の二分決定図を生成することを特徴とする請求項6
    に記載の順序回路等価検証装置。
  8. 【請求項8】前記二分決定図生成手段は、互いの論理和
    をとることによって前記結合順序回路の状態遷移を表す
    ことができる複数の二分決定図を生成し、 前記次状態二分決定図結合手段は、前記次状態二分決定
    図生成手段が生成した複数の次状態二分決定図の論理和
    をとることにより、前記複数の次状態二分決定図を結合
    することを特徴とする請求項6または7に記載の順序回
    路等価検証装置。
  9. 【請求項9】プログラム制御により動作するコンピュー
    タを用いて実行される方法であって 前記コンピュータが、 回路ライブラリに蓄積された論理
    的に等価であるかどうかの検証の対象となる複数の順序
    回路を読み出すステップと、前記コンピュータが、 前記読み出した複数の順序回路を
    結合し、1つの結合順序回路を生成する順序回路結合ス
    テップと、前記コンピュータが、 前記順序回路結合ステップで生成
    した結合順序回路の出力を表す論理関数を生成する出力
    関数生成ステップと、前記コンピュータが、 前記結合順序回路の状態遷移をノ
    ードの結合によって表す二分決定図を生成する二分決定
    図生成ステップと、前記コンピュータが、 所定の基準値を保持し、前記二分
    決定図生成ステップで生成した二分決定図に含まれるノ
    ード数が前記所定の基準値を越えるとき、それぞれに含
    まれるノード数が前記所定の基準値以下である複数の二
    分決定図に分割する二分決定図分割ステップと、前記コンピュータが、 前記結合順序回路の状態集合とし
    て、その初期状態を入力する初期状態入力ステップと、前記コンピュータが、 前記二分決定図分割ステップで分
    割された複数の二分決定図のそれぞれに前記状態集合に
    含まれる各状態を適用し、それぞれに対応する次状態を
    示す複数の次状態二分決定図を生成する次状態二分決定
    図生成ステップと、前記コンピュータが、 前記次状態二分決定図生成ステッ
    プで生成した複数の次状態二分決定図を結合して前記結
    合順序回路の次状態を表す次状態二分決定図を生成し、
    該次状態二分決定図に対応する次状態を前記状態集合に
    追加する次状態二分決定図結合ステップと、前記コンピュータが、 前記出力関数生成ステップで生成
    した論理関数に前記状態集合に含まれる各状態を適用
    し、各状態での前記結合順序回路の出力が所定の値にな
    るかどうかを検査する出力検査ステップと、前記コンピュータが、 前記出力検査ステップでの検査結
    果に従って、前記検証の対象となる複数の順序回路が論
    理的に等価であるかどうかを検証する等価検証ステップ
    と、前記コンピュータが、 前記等価検証ステップの検証結果
    を出力装置から出力させるステップとを含むことを特徴
    とする順序回路等価検証方法。
  10. 【請求項10】プログラム制御により動作するコンピュ
    ータが、回路ライブラリに蓄積された複数の順序回路を
    読み出し、前記読み出した複数の順序回路を結合した結
    合順序回路の状態遷移をノードの結合によって表す二分
    決定図を生成し、該二分決定図から前記結合順序回路が
    とりうる各状態を順次求め、各状態における前記結合順
    序回路の出力が所定の値になるかどうかを検査すること
    で前記複数の順序回路が論理的に等価であるかどうかを
    検証し、該検証結果を出力装置から出力させる順序回路
    等価検証方法であって、前記コンピュータが、 所定の手法により結合されること
    で前記結合順序回路の状態遷移を表す複数の二分決定図
    を生成する二分決定図生成ステップと、前記コンピュータが、 前記二分決定図生成ステップで生
    成された複数の二分決定図のそれぞれに前記結合順序回
    路がとりうる状態を適用し、それぞれに対応する複数の
    次状態二分決定図を生成する次状態二分決定図生成ステ
    ップと、前記コンピュータが、 前記次状態二分決定図生成ステッ
    プで生成した複数の次状態二分決定図を結合して前記結
    合順序回路の次状態を表す次状態二分決定図を生成し、
    該次状態二分決定図に対応する状態を前記結合順序回路
    の次状態とする次状態二分決定図結合ステップとを含む
    ことを特徴とする順序回路等価検証方法。
  11. 【請求項11】回路ライブラリに蓄積された論理的に等
    価であるかどうかの検証の対象となる複数の順序回路を
    読み出すステップと、 前記読み出した複数の順序回路を結合し、1つの結合順
    序回路を生成する順序回路結合ステップと、 前記順序回路結合ステップで生成した結合順序回路の出
    力を表す論理関数を生成する出力関数生成ステップと、 前記結合順序回路の状態遷移をノードの結合によって表
    す二分決定図を生成する二分決定図生成ステップと、 所定の基準値を保持し、前記二分決定図生成ステップで
    生成した二分決定図に含まれるノード数が前記所定の基
    準値を越えるとき、それぞれに含まれるノード数が前記
    所定の基準値以下である複数の二分決定図に分割する二
    分決定図分割ステップと、 前記結合順序回路の状態集合として、その初期状態を入
    力する初期状態入力ステップと、 前記二分決定図分割ステップで分割された複数の二分決
    定図のそれぞれに前記状態集合に含まれる各状態を適用
    し、それぞれに対応する次状態を示す複数の次状態二分
    決定図を生成する次状態二分決定図生成ステップと、 前記次状態二分決定図生成ステップで生成した複数の次
    状態二分決定図を結合して前記結合順序回路の次状態を
    表す次状態二分決定図を生成し、該次状態二分決定図に
    対応する次状態を前記状態集合に追加する次状態二分決
    定図結合ステップと、 前記出力関数生成ステップで生成した論理関数に前記状
    態集合に含まれる各状態を適用し、各状態での前記結合
    順序回路の出力が所定の値になるかどうかを検査する出
    力検査ステップと、 前記出力検査ステップでの検査結果に従って、前記検証
    の対象となる複数の順序回路が論理的に等価であるかど
    うかを検証する等価検証ステップと、 前記等価検証ステップの検証結果を出力装置から出力す
    るステップとをコンピュータ装置に実行させるためのプ
    ログラムを記録することを特徴とするコンピュータ読み
    取り可能な記録媒体。
  12. 【請求項12】回路ライブラリに蓄積された複数の順序
    回路を読み出し、前記読み出した複数の順序回路を結合
    した結合順序回路の状態遷移をノードの結合によって表
    す二分決定図を生成し、該二分決定図から前記結合順序
    回路がとりうる各状態を順次求め、各状態における前記
    結合順序回路の出力が所定の値になるかどうかを検査す
    ることで前記複数の順序回路が論理的に等価であるかど
    うかを検証し、該検証結果を出力装置から出力するプロ
    グラムを記録した記録媒体であって、 所定の手法により結合されることで前記結合順序回路の
    状態遷移を表す複数の二分決定図を生成する二分決定図
    生成ステップと、 前記二分決定図生成ステップで生成された複数の二分決
    定図のそれぞれに前記結合順序回路がとりうる状態を適
    用し、それぞれに対応する複数の次状態二分決定図を生
    成する次状態二分決定図生成ステップと、 前記次状態二分決定図生成ステップで生成した複数の次
    状態二分決定図を結合して前記結合順序回路の次状態を
    表す次状態二分決定図を生成し、該次状態二分決定図に
    対応する状態を前記結合順序回路の次状態とする次状態
    二分決定図結合ステップとをコンピュータ装置に実行さ
    せるためのプログラムを記録することを特徴とするコン
    ピュータ読み取り可能な記録媒体。
JP22692898A 1998-08-11 1998-08-11 順序回路等価検証装置、方法及び記録媒体 Expired - Fee Related JP3196735B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22692898A JP3196735B2 (ja) 1998-08-11 1998-08-11 順序回路等価検証装置、方法及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22692898A JP3196735B2 (ja) 1998-08-11 1998-08-11 順序回路等価検証装置、方法及び記録媒体

Publications (2)

Publication Number Publication Date
JP2000057190A JP2000057190A (ja) 2000-02-25
JP3196735B2 true JP3196735B2 (ja) 2001-08-06

Family

ID=16852809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22692898A Expired - Fee Related JP3196735B2 (ja) 1998-08-11 1998-08-11 順序回路等価検証装置、方法及び記録媒体

Country Status (1)

Country Link
JP (1) JP3196735B2 (ja)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
中岡敏博、外3名、"BDDサイズを考慮した回路分割に基づく形式的論理検証手法"、情報処理学会研究報告(DA−69)、情報処理学会、平成5年、p.47〜54
平石裕実、外1名、"論理関数処理に基づく形式的検証手法"、情報処理、情報処理学会、平成6年、Vol.35、No.8、p.710〜718
樋口博之、外1名、"状態変数の動的削除を用いた状態数え上げの効率化"、情報処理学会研究報告(DA−87)、情報処理学会、平成10年1月、p.9〜16

Also Published As

Publication number Publication date
JP2000057190A (ja) 2000-02-25

Similar Documents

Publication Publication Date Title
Van Eijk Sequential equivalence checking based on structural similarities
Drechsler et al. On acceleration of SAT-based ATPG for industrial designs
Van Eijk Sequential equivalence checking without state space traversal
US6463560B1 (en) Method for implementing a bist scheme into integrated circuits for testing RTL controller-data paths in the integrated circuits
US5600787A (en) Method and data processing system for verifying circuit test vectors
EP0726538A2 (en) Topology-based computer-aided design system for digital circuits and method thereof
JPH04101274A (ja) 論理設計処理装置およびタイミング調整方法
US6564358B2 (en) Method and system for formal verification of a circuit model using binary decision diagrams
US20080288904A1 (en) Method for modeling and verifying timing exceptions
US6339837B1 (en) Hybrid method for design verification
US7353216B2 (en) Method and apparatus for improving efficiency of constraint solving
JP2001022820A (ja) 順序回路の検証方法
KR100966010B1 (ko) 하나 이상의 중복 테스트 제거 및 하나 이상의 비효율적테스트 재배열 방법
US7159201B2 (en) Method and apparatus for cut-point frontier selection and for counter-example generation in formal equivalence verification
Yalcin et al. An approximate timing analysis method for datapath circuits
JP3701230B2 (ja) 論理回路のテスト容易化方法
JP3196735B2 (ja) 順序回路等価検証装置、方法及び記録媒体
US6789222B2 (en) Single-pass methods for generating test patterns for combinational circuits
JP3803283B2 (ja) 集積回路のテストのための圧縮テストプランの生成、テスト系列生成およびテスト
US7398424B2 (en) False path detection program
US6883134B2 (en) Method and program product for detecting bus conflict and floating bus conditions in circuit designs
JP3340283B2 (ja) 論理回路のハザードシミュレーション装置
Cheng Test generation for delay faults in non-scan and partial scan sequential circuits
US6871310B2 (en) Binary time-frame expansion of sequential systems
JP2781081B2 (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: 20010508

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

Free format text: PAYMENT UNTIL: 20080608

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090608

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100608

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100608

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110608

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110608

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120608

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120608

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130608

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees