JPH113361A - 論理回路検証装置、論理回路検証方法及び論理回路検証プログラムを格納したコンピュータ読み取り可能な記録媒体 - Google Patents
論理回路検証装置、論理回路検証方法及び論理回路検証プログラムを格納したコンピュータ読み取り可能な記録媒体Info
- Publication number
- JPH113361A JPH113361A JP9153902A JP15390297A JPH113361A JP H113361 A JPH113361 A JP H113361A JP 9153902 A JP9153902 A JP 9153902A JP 15390297 A JP15390297 A JP 15390297A JP H113361 A JPH113361 A JP H113361A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- logic
- equivalence
- determination circuit
- equivalence determination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
(57)【要約】
【課題】 論理回路の等価性を判定するための論理回路
検証装置において、ゲーテッドクロック設計された論理
回路の等価性を正しく判定できるようにする。 【解決手段】 等価性判定回路生成部3は、ドントケア
情報のない論理回路では論理の等価性を判定するための
等価性判定回路を生成し、ドントケア情報のある論理回
路では機能の等価性を判定するための等価性判定回路を
生成する。ゲーテッドクロック部分修正部6は、前記論
理回路がゲーテッドクロック設計されている場合は、そ
の部分の検証が可能となるのように前記生成された等価
性判定回路を修正する。等価性判定部7は、修正された
等価性判定回路に基づいて検証すべき論理回路の等価性
を判定する。
検証装置において、ゲーテッドクロック設計された論理
回路の等価性を正しく判定できるようにする。 【解決手段】 等価性判定回路生成部3は、ドントケア
情報のない論理回路では論理の等価性を判定するための
等価性判定回路を生成し、ドントケア情報のある論理回
路では機能の等価性を判定するための等価性判定回路を
生成する。ゲーテッドクロック部分修正部6は、前記論
理回路がゲーテッドクロック設計されている場合は、そ
の部分の検証が可能となるのように前記生成された等価
性判定回路を修正する。等価性判定部7は、修正された
等価性判定回路に基づいて検証すべき論理回路の等価性
を判定する。
Description
【0001】
【発明の属する技術分野】本発明は、計算機を利用した
LSIの論理回路設計の自動化に関し、特に論理回路が
正しく設計されているかどうかを検証することを目的と
した論理回路検証に関するものである。
LSIの論理回路設計の自動化に関し、特に論理回路が
正しく設計されているかどうかを検証することを目的と
した論理回路検証に関するものである。
【0002】
【従来の技術】LSIの論理回路設計においては、回路
構造は違うが論理又は機能が同一であるように設計され
た2つの論理回路の論理又は機能の等価性を判定(検
証)する作業がシミュレータを使って行われている。し
かし、シミュレータを使った場合、入力パターンの0、
1の組合せは2n(nは入力数)通りとなるため、入力
数が多くなると計算に時間がかかるという問題があっ
た。
構造は違うが論理又は機能が同一であるように設計され
た2つの論理回路の論理又は機能の等価性を判定(検
証)する作業がシミュレータを使って行われている。し
かし、シミュレータを使った場合、入力パターンの0、
1の組合せは2n(nは入力数)通りとなるため、入力
数が多くなると計算に時間がかかるという問題があっ
た。
【0003】そこで、2つの論理回路の論理又は機能の
等価性を判定するためのツールとして論理回路検証装置
が利用されている。図13は、従来の論理回路検証装置
で生成される論理等価性判定回路の一例を示す回路構成
図である。論理回路検証装置は、検証すべき2つの論理
回路を入力して、図13のような等価性判定回路を生成
し、入力I1及びI2に0、1の組合せパターンを与え
たときに、出力out_checkの値が常に1となる
かどうかにより、検証対象となる回路11及び回路12
が論理的に等価であるかどうかの判定を行う。ここで、
出力が常に1となるかどうかの判定は、論理回路の機能
を論理関数に変換して行っている。この表現形式には、
後述するBDD(Binary Decision Diagram)と呼ばれる
グラフ関数(論理構造が異なっても論理的に等価であれ
ば同一の表現形式となる)が一般的に利用されている。
等価性を判定するためのツールとして論理回路検証装置
が利用されている。図13は、従来の論理回路検証装置
で生成される論理等価性判定回路の一例を示す回路構成
図である。論理回路検証装置は、検証すべき2つの論理
回路を入力して、図13のような等価性判定回路を生成
し、入力I1及びI2に0、1の組合せパターンを与え
たときに、出力out_checkの値が常に1となる
かどうかにより、検証対象となる回路11及び回路12
が論理的に等価であるかどうかの判定を行う。ここで、
出力が常に1となるかどうかの判定は、論理回路の機能
を論理関数に変換して行っている。この表現形式には、
後述するBDD(Binary Decision Diagram)と呼ばれる
グラフ関数(論理構造が異なっても論理的に等価であれ
ば同一の表現形式となる)が一般的に利用されている。
【0004】このような論理関数による判定において、
ドントケア条件が出力端子及びレジスタ入力に定義され
ている場合に、機能的に等価であるかどうかの判定は次
のように行なう。例えば、図13において、回路11の
出力端子out1をout11、回路12の出力端子o
ut1をout12として、出力端子out1における
ドントケア関数をdc_out1とする。ここで(ou
t11 ex−norout12)or dc_out
1が常に1であるかどうかをチェックすることで論理又
は機能の等価性を判定することができる。
ドントケア条件が出力端子及びレジスタ入力に定義され
ている場合に、機能的に等価であるかどうかの判定は次
のように行なう。例えば、図13において、回路11の
出力端子out1をout11、回路12の出力端子o
ut1をout12として、出力端子out1における
ドントケア関数をdc_out1とする。ここで(ou
t11 ex−norout12)or dc_out
1が常に1であるかどうかをチェックすることで論理又
は機能の等価性を判定することができる。
【0005】ドントケア条件とは、論理回路の出力端子
及びレジスタに与えられる値がどのような値であって
も、演算結果に関与しない場合を論理式又は論理回路で
表現したものである。例えば、図14(a)に示すよう
に、レジスタ(Reg)1及び2の出力(データ1、デ
ータ2)をALU(演算ユニット)3で演算してレジス
タ4に出力するような回路で説明する。図において、A
LU3への制御信号I0、I1が同図(b)のように与
えられているとすると、I0、I1が(0、0)又は
(0、1)の場合はALU3ではレジスタ1及び2から
のデータに対して+又は−の演算が行われるが、I0、
I1が(1、0)の場合はデータ1がシフトされ、デー
タ2は使われない。また、I0、I1が(1、1)の場
合はデータ1、2共に使われない。このI0、I1が
(1、0)及び(1、1)のときに、データ2はドント
ケア、すなわちデータが参照されない状態となる。この
ように入力値の組合せがドントケアである場合には、レ
ジスタの出力が一致しなくても、等価であるとみなすよ
うにしている。すなわち、ドントケア条件が定義されて
いる場合は、論理的に等価であるかではなく、機能的に
等価であるかどうかが判定される。
及びレジスタに与えられる値がどのような値であって
も、演算結果に関与しない場合を論理式又は論理回路で
表現したものである。例えば、図14(a)に示すよう
に、レジスタ(Reg)1及び2の出力(データ1、デ
ータ2)をALU(演算ユニット)3で演算してレジス
タ4に出力するような回路で説明する。図において、A
LU3への制御信号I0、I1が同図(b)のように与
えられているとすると、I0、I1が(0、0)又は
(0、1)の場合はALU3ではレジスタ1及び2から
のデータに対して+又は−の演算が行われるが、I0、
I1が(1、0)の場合はデータ1がシフトされ、デー
タ2は使われない。また、I0、I1が(1、1)の場
合はデータ1、2共に使われない。このI0、I1が
(1、0)及び(1、1)のときに、データ2はドント
ケア、すなわちデータが参照されない状態となる。この
ように入力値の組合せがドントケアである場合には、レ
ジスタの出力が一致しなくても、等価であるとみなすよ
うにしている。すなわち、ドントケア条件が定義されて
いる場合は、論理的に等価であるかではなく、機能的に
等価であるかどうかが判定される。
【0006】
【発明が解決しようとする課題】上述した論理回路検証
装置は、ゲーテッドクロック設計された論理回路の等価
性を判定する場合にも利用されている。図15は、ある
部分回路をゲーテッドクロック設計した場合の一例を示
したもので、同図(a)はゲーテッドクロック設計され
ていない部分回路を、同図(b)はゲーテッドクロック
設計された部分回路をそれぞれ示している。図15
(a)の部分回路では、レジスタ(Reg)13のクロ
ック入力ポート(CK)から入力されるクロック信号
(clk)の立ち上がりでデータ(D)を取り込む。こ
こで、データDはマルチプレクサ(MUX)14に入力
されるイネーブル論理出力enaにより制御され、en
a*data+ena(NOT)*outに従って与え
られる。すなわち、enaが1のときはdataがDポ
ートに入力され、enaが0のときはレジスタ13から
のフィードバックがDポートに入力される。
装置は、ゲーテッドクロック設計された論理回路の等価
性を判定する場合にも利用されている。図15は、ある
部分回路をゲーテッドクロック設計した場合の一例を示
したもので、同図(a)はゲーテッドクロック設計され
ていない部分回路を、同図(b)はゲーテッドクロック
設計された部分回路をそれぞれ示している。図15
(a)の部分回路では、レジスタ(Reg)13のクロ
ック入力ポート(CK)から入力されるクロック信号
(clk)の立ち上がりでデータ(D)を取り込む。こ
こで、データDはマルチプレクサ(MUX)14に入力
されるイネーブル論理出力enaにより制御され、en
a*data+ena(NOT)*outに従って与え
られる。すなわち、enaが1のときはdataがDポ
ートに入力され、enaが0のときはレジスタ13から
のフィードバックがDポートに入力される。
【0007】一方、図15(b)の部分回路において、
データDはANDゲート15に入力されるイネーブル論
理出力enaにより制御され、ena*clkが成立す
るタイミングでレジスタ13に取り込まれる。
データDはANDゲート15に入力されるイネーブル論
理出力enaにより制御され、ena*clkが成立す
るタイミングでレジスタ13に取り込まれる。
【0008】ゲーテッドクロック設計では、図15に示
すようにレジスタ13のクロック入力ポート(CK)に
対して論理回路を付加するもので、図15に示す2つの
部分回路は機能的に等価である。しかし、従来の論理回
路検証装置ではこの2つの部分回路の論理又は機能的な
等価性は判断できないため、等価でないと判定されてい
た。
すようにレジスタ13のクロック入力ポート(CK)に
対して論理回路を付加するもので、図15に示す2つの
部分回路は機能的に等価である。しかし、従来の論理回
路検証装置ではこの2つの部分回路の論理又は機能的な
等価性は判断できないため、等価でないと判定されてい
た。
【0009】本発明は、上記課題を解決するためになさ
れたもので、ゲーテッドクロック設計された論理回路の
論理又は機能的な等価性を正しく判定することができる
論理回路検証装置、論理回路検証方法及び論理回路検証
プログラムを格納したコンピュータ読み取り可能な記録
媒体を提供することを目的とする。
れたもので、ゲーテッドクロック設計された論理回路の
論理又は機能的な等価性を正しく判定することができる
論理回路検証装置、論理回路検証方法及び論理回路検証
プログラムを格納したコンピュータ読み取り可能な記録
媒体を提供することを目的とする。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、請求項1の発明は、検証すべき少なくとも2つの論
理回路に関する情報及び該論理回路に関するドントケア
情報を入力する回路情報入力手段と、前記論理回路に関
する情報と該論理回路に関するドントケア情報に基づい
て、前記少なくとも2つの論理回路を含む等価性判定回
路を生成する等価性判定回路生成手段と、前記等価性判
定回路に含まれる論理回路がゲーテッドクロック設計さ
れている場合は、前記少なくとも2つの論理回路に含ま
れるレジスタのクロック入力が等しくなるように、前記
等価性判定回路を修正するゲーテッドクロック部分修正
手段と、前記等価性判定回路生成手段で生成された等価
性判定回路又は前記ゲーテッドクロック部分修正手段で
修正された等価性判定回路に基づいて、検証すべき少な
くとも2つの論理回路の論理又は機能の等価性を判定す
る等価性判定手段とを備えたことを特徴とする。
め、請求項1の発明は、検証すべき少なくとも2つの論
理回路に関する情報及び該論理回路に関するドントケア
情報を入力する回路情報入力手段と、前記論理回路に関
する情報と該論理回路に関するドントケア情報に基づい
て、前記少なくとも2つの論理回路を含む等価性判定回
路を生成する等価性判定回路生成手段と、前記等価性判
定回路に含まれる論理回路がゲーテッドクロック設計さ
れている場合は、前記少なくとも2つの論理回路に含ま
れるレジスタのクロック入力が等しくなるように、前記
等価性判定回路を修正するゲーテッドクロック部分修正
手段と、前記等価性判定回路生成手段で生成された等価
性判定回路又は前記ゲーテッドクロック部分修正手段で
修正された等価性判定回路に基づいて、検証すべき少な
くとも2つの論理回路の論理又は機能の等価性を判定す
る等価性判定手段とを備えたことを特徴とする。
【0011】なお、上記等価性判定回路生成手段及びゲ
ーテッドクロック部分修正手段は、以下のような構成と
することができる。
ーテッドクロック部分修正手段は、以下のような構成と
することができる。
【0012】等価性判定回路生成手段は、等価性判定回
路を生成する際に、検証すべき論理回路に関するドント
ケア情報が無い場合は、論理の等価性を判定するための
等価性判定回路を生成し、検証すべき論理回路に関する
ドントケア情報が有る場合は、機能の等価性を判定する
ための等価性判定回路を生成する。
路を生成する際に、検証すべき論理回路に関するドント
ケア情報が無い場合は、論理の等価性を判定するための
等価性判定回路を生成し、検証すべき論理回路に関する
ドントケア情報が有る場合は、機能の等価性を判定する
ための等価性判定回路を生成する。
【0013】ゲーテッドクロック部分修正手段は、等価
性判定回路を修正する際に、修正すべき論理回路のレジ
スタに対してデータロードとデータ保持の選択を行なう
マルチプレクサを生成し、該マルチプレクサの選択論理
にクロックイネーブル論理を使用するように回路を変更
する。
性判定回路を修正する際に、修正すべき論理回路のレジ
スタに対してデータロードとデータ保持の選択を行なう
マルチプレクサを生成し、該マルチプレクサの選択論理
にクロックイネーブル論理を使用するように回路を変更
する。
【0014】また、ゲーテッドクロック部分修正手段
は、回路を変更する際に、ゲーテッドクロック設計に関
する付加情報を参照して回路を変更する。
は、回路を変更する際に、ゲーテッドクロック設計に関
する付加情報を参照して回路を変更する。
【0015】また、上記目的を達成するため、請求項2
の発明は、少なくとも2つの論理回路の論理又は機能の
等価性を判定する論理回路検証方法において、検証すべ
き論理回路と該論理回路に関するドントケア情報の有無
に従って等価性判定回路を生成し、該生成された等価性
判定回路のゲーテッドクロック設計された部分を等価性
の検証が可能となるように修正し、前記等価性判定回路
に基づいて検証すべき論理回路の論理又は機能の等価性
を判定することを特徴とする。
の発明は、少なくとも2つの論理回路の論理又は機能の
等価性を判定する論理回路検証方法において、検証すべ
き論理回路と該論理回路に関するドントケア情報の有無
に従って等価性判定回路を生成し、該生成された等価性
判定回路のゲーテッドクロック設計された部分を等価性
の検証が可能となるように修正し、前記等価性判定回路
に基づいて検証すべき論理回路の論理又は機能の等価性
を判定することを特徴とする。
【0016】請求項3の発明は、検証すべき少なくとも
2つの論理回路に関する情報及び該論理回路に関するド
ントケア情報を入力する回路情報入力ステップと、前記
論理回路に関する情報と該論理回路に関するドントケア
情報に基づいて、前記少なくとも2つの論理回路を含む
等価性判定回路を生成する等価性判定回路生成ステップ
と、前記等価性判定回路に含まれる論理回路がゲーテッ
ドクロック設計されている場合は、前記少なくとも2つ
の論理回路に含まれるレジスタのクロック入力が等しく
なるように、前記等価性判定回路を修正するゲーテッド
クロック部分修正ステップと、前記等価性判定回路生成
ステップで生成された等価性判定回路又は前記ゲーテッ
ドクロック部分修正ステップで修正された等価性判定回
路に基づいて、検証すべき少なくとも2つの論理回路の
論理又は機能の等価性を判定する等価性判定ステップと
を含むことを特徴とする。
2つの論理回路に関する情報及び該論理回路に関するド
ントケア情報を入力する回路情報入力ステップと、前記
論理回路に関する情報と該論理回路に関するドントケア
情報に基づいて、前記少なくとも2つの論理回路を含む
等価性判定回路を生成する等価性判定回路生成ステップ
と、前記等価性判定回路に含まれる論理回路がゲーテッ
ドクロック設計されている場合は、前記少なくとも2つ
の論理回路に含まれるレジスタのクロック入力が等しく
なるように、前記等価性判定回路を修正するゲーテッド
クロック部分修正ステップと、前記等価性判定回路生成
ステップで生成された等価性判定回路又は前記ゲーテッ
ドクロック部分修正ステップで修正された等価性判定回
路に基づいて、検証すべき少なくとも2つの論理回路の
論理又は機能の等価性を判定する等価性判定ステップと
を含むことを特徴とする。
【0017】なお、上記等価性判定回路生成ステップ及
びゲーテッドクロック部分修正ステップは、以下のよう
な処理を含むことができる。
びゲーテッドクロック部分修正ステップは、以下のよう
な処理を含むことができる。
【0018】等価性判定回路生成ステップは、等価性判
定回路生成する際に、検証すべき論理回路に関するドン
トケア情報が無い場合は、論理の等価性を判定するため
の等価性判定回路を生成し、検証すべき論理回路に関す
るドントケア情報が有る場合は、機能の等価性を判定す
るための等価性判定回路を生成する。
定回路生成する際に、検証すべき論理回路に関するドン
トケア情報が無い場合は、論理の等価性を判定するため
の等価性判定回路を生成し、検証すべき論理回路に関す
るドントケア情報が有る場合は、機能の等価性を判定す
るための等価性判定回路を生成する。
【0019】ゲーテッドクロック部分修正ステップは、
等価性判定回路を修正する際に、修正すべき論理回路の
レジスタに対してデータロードとデータ保持の選択を行
なうマルチプレクサを生成し、該マルチプレクサの選択
論理にクロックイネーブル論理を使用するように回路を
変更する。
等価性判定回路を修正する際に、修正すべき論理回路の
レジスタに対してデータロードとデータ保持の選択を行
なうマルチプレクサを生成し、該マルチプレクサの選択
論理にクロックイネーブル論理を使用するように回路を
変更する。
【0020】また、ゲーテッドクロック部分修正ステッ
プは、回路を変更する際に、ゲーテッドクロック設計に
関する付加情報を参照して回路を変更する。
プは、回路を変更する際に、ゲーテッドクロック設計に
関する付加情報を参照して回路を変更する。
【0021】さらに、上記目的を達成するため、請求項
4の発明は、検証すべき論理回路と該論理回路に関する
ドントケア情報の有無に従って等価性判定回路を生成す
る処理と、該生成された等価性判定回路のゲーテッドク
ロック設計されている部分を等価性の検証が可能となる
ように修正する処理と、前記等価性判定回路に基づいて
検証すべき論理回路の論理又は機能の等価性を判定する
処理とを含み、これら処理をコンピュータに実行させる
ことを特徴とする。
4の発明は、検証すべき論理回路と該論理回路に関する
ドントケア情報の有無に従って等価性判定回路を生成す
る処理と、該生成された等価性判定回路のゲーテッドク
ロック設計されている部分を等価性の検証が可能となる
ように修正する処理と、前記等価性判定回路に基づいて
検証すべき論理回路の論理又は機能の等価性を判定する
処理とを含み、これら処理をコンピュータに実行させる
ことを特徴とする。
【0022】請求項5の発明は、検証すべき少なくとも
2つの論理回路に関する情報及び該論理回路に関するド
ントケア情報を入力する回路情報入力ステップと、前記
論理回路に関する情報と該論理回路に関するドントケア
情報に基づいて、前記少なくとも2つの論理回路を含む
等価性判定回路を生成する等価性判定回路生成ステップ
と、前記等価性判定回路に含まれる論理回路がゲーテッ
ドクロック設計されている場合は、前記少なくとも2つ
の論理回路に含まれるレジスタのクロック入力が等しく
なるように、前記等価性判定回路を修正するゲーテッド
クロック部分修正ステップと、前記等価性判定回路生成
ステップで生成された等価性判定回路又は前記ゲーテッ
ドクロック部分修正ステップで修正された等価性判定回
路に基づいて、検証すべき少なくとも2つの論理回路の
論理又は機能の等価性を判定する等価性判定ステップと
を含み、これらステップをコンピュータに実行させるこ
とを特徴とする。
2つの論理回路に関する情報及び該論理回路に関するド
ントケア情報を入力する回路情報入力ステップと、前記
論理回路に関する情報と該論理回路に関するドントケア
情報に基づいて、前記少なくとも2つの論理回路を含む
等価性判定回路を生成する等価性判定回路生成ステップ
と、前記等価性判定回路に含まれる論理回路がゲーテッ
ドクロック設計されている場合は、前記少なくとも2つ
の論理回路に含まれるレジスタのクロック入力が等しく
なるように、前記等価性判定回路を修正するゲーテッド
クロック部分修正ステップと、前記等価性判定回路生成
ステップで生成された等価性判定回路又は前記ゲーテッ
ドクロック部分修正ステップで修正された等価性判定回
路に基づいて、検証すべき少なくとも2つの論理回路の
論理又は機能の等価性を判定する等価性判定ステップと
を含み、これらステップをコンピュータに実行させるこ
とを特徴とする。
【0023】なお、上記等価性判定回路生成ステップ及
びゲーテッドクロック部分修正ステップは、以下のよう
な処理を含むことができる。
びゲーテッドクロック部分修正ステップは、以下のよう
な処理を含むことができる。
【0024】等価性判定回路生成ステップは、検証すべ
き論理回路に関するドントケア情報の有無を判定する処
理と、前記検証すべき論理回路に関するドントケア情報
が無いと判定された場合は、論理の等価性を判定するた
めの等価性判定回路を生成する処理と、前記検証すべき
論理回路に関するドントケア情報が有ると判定された場
合は、機能の等価性を判定するための等価性判定回路を
生成する処理。
き論理回路に関するドントケア情報の有無を判定する処
理と、前記検証すべき論理回路に関するドントケア情報
が無いと判定された場合は、論理の等価性を判定するた
めの等価性判定回路を生成する処理と、前記検証すべき
論理回路に関するドントケア情報が有ると判定された場
合は、機能の等価性を判定するための等価性判定回路を
生成する処理。
【0025】ゲーテッドクロック部分修正ステップは、
修正すべき論理回路のレジスタに対してデータロードと
データ保持の選択を行なうマルチプレクサを生成する処
理と、該マルチプレクサの選択論理にクロックイネーブ
ル論理を使用するように回路を変更する処理。
修正すべき論理回路のレジスタに対してデータロードと
データ保持の選択を行なうマルチプレクサを生成する処
理と、該マルチプレクサの選択論理にクロックイネーブ
ル論理を使用するように回路を変更する処理。
【0026】また、ゲーテッドクロック部分修正ステッ
プは、ゲーテッドクロック設計に関する付加情報を参照
して回路を変更する処理。
プは、ゲーテッドクロック設計に関する付加情報を参照
して回路を変更する処理。
【0027】
【発明の実施の形態】以下、この発明に係わる論理回路
検証装置、論理回路検証方法及び論理回路検証プログラ
ムを格納したコンピュータ読み取り可能な記録媒体の一
実施形態について説明する。
検証装置、論理回路検証方法及び論理回路検証プログラ
ムを格納したコンピュータ読み取り可能な記録媒体の一
実施形態について説明する。
【0028】図1は、本実施形態に係わる論理回路検証
装置の機能的な構成を示したブロック図である。この論
理回路検証装置10は、回路情報入力部1、ドントケア
情報入力部2、等価性判定回路生成部3、等価性判定回
路格納部4、ゲーテッドクロック情報入力部5、ゲーテ
ッドクロック部分修正部6、等価性判定部7から構成さ
れている。
装置の機能的な構成を示したブロック図である。この論
理回路検証装置10は、回路情報入力部1、ドントケア
情報入力部2、等価性判定回路生成部3、等価性判定回
路格納部4、ゲーテッドクロック情報入力部5、ゲーテ
ッドクロック部分修正部6、等価性判定部7から構成さ
れている。
【0029】回路情報入力部1は、論理又は機能的に等
価であることを検証したい2つの論理回路に関する情報
を入力し、等価性判定回路生成部3へ受け渡す。
価であることを検証したい2つの論理回路に関する情報
を入力し、等価性判定回路生成部3へ受け渡す。
【0030】ドントケア情報入力部2は、前記回路情報
入力部1から入力された2つの論理回路に関するドント
ケア情報を入力し、等価性判定回路生成部3へ受け渡
す。
入力部1から入力された2つの論理回路に関するドント
ケア情報を入力し、等価性判定回路生成部3へ受け渡
す。
【0031】等価性判定回路生成部3は、入力された2
つの論理回路に関するドントケア情報の有無を判定し、
ドントケア情報が無い場合は、前記2つの論理回路に関
する情報に基づいて論理の等価性を判定するための等価
性判定回路を生成する。また、ドントケア情報が有る場
合は、前記2つの論理回路に関する情報と、これら論理
回路に関するドントケア情報に基づいて機能の等価性を
判定するための等価性判定回路を生成する。
つの論理回路に関するドントケア情報の有無を判定し、
ドントケア情報が無い場合は、前記2つの論理回路に関
する情報に基づいて論理の等価性を判定するための等価
性判定回路を生成する。また、ドントケア情報が有る場
合は、前記2つの論理回路に関する情報と、これら論理
回路に関するドントケア情報に基づいて機能の等価性を
判定するための等価性判定回路を生成する。
【0032】等価性判定回路格納部4は、前記等価性判
定回路生成部3で生成された等価性判定回路の回路デー
タ、及び後述するゲーテッドクロック部分修正部5で修
正がなされた等価性判定回路の回路データを格納する。
定回路生成部3で生成された等価性判定回路の回路デー
タ、及び後述するゲーテッドクロック部分修正部5で修
正がなされた等価性判定回路の回路データを格納する。
【0033】ゲーテッドクロック情報入力部5は、ゲー
テッドクロック設計に関する付加情報を入力し、ゲーテ
ッドクロック部分修正部6に受け渡す。ゲーテッドクロ
ック設計に関する付加情報とは、ゲーテッドクロック設
計されている場合に、そのゲーテッドクロックされた部
分に特徴的な構成に関する情報であり、後にゲーテッド
クロック設計された部分を修正する際に、必要に応じて
参照される。
テッドクロック設計に関する付加情報を入力し、ゲーテ
ッドクロック部分修正部6に受け渡す。ゲーテッドクロ
ック設計に関する付加情報とは、ゲーテッドクロック設
計されている場合に、そのゲーテッドクロックされた部
分に特徴的な構成に関する情報であり、後にゲーテッド
クロック設計された部分を修正する際に、必要に応じて
参照される。
【0034】例えば、後述の実施形態2においては、ゲ
ーテッドクロック設計によって付加されたフリップフロ
ップがクロックイネーブル論理におけるグリッジを除去
するために挿入されたものであるという情報がゲーテッ
ドクロック設計に関する付加情報として入力されてお
り、ゲーテッドクロック部分修正部6では、ゲーテッド
クロック設計された部分を修正する際に、この情報に基
づいて前記フリップフロップを等価性判定に関係ない部
分として除去している。
ーテッドクロック設計によって付加されたフリップフロ
ップがクロックイネーブル論理におけるグリッジを除去
するために挿入されたものであるという情報がゲーテッ
ドクロック設計に関する付加情報として入力されてお
り、ゲーテッドクロック部分修正部6では、ゲーテッド
クロック設計された部分を修正する際に、この情報に基
づいて前記フリップフロップを等価性判定に関係ない部
分として除去している。
【0035】ゲーテッドクロック部分修正部6は、前記
等価性判定回路生成部3で生成された等価性判定回路に
含まれる部分回路(論理回路)がゲーテッドクロック設
計されているかどうかを、レジスタのCKポート入力に
ANDやORなどのゲートがあるかどうかにより判定す
る。そして、ゲーテッドクロック設計されている場合
は、必要に応じてゲーテッドクロック設計に関する付加
情報を参照しながら、前記2つの論理回路のレジスタの
クロック入力が等しくなるように、前記生成された等価
性判定回路のゲーテッドクロック設計された部分を修正
する。
等価性判定回路生成部3で生成された等価性判定回路に
含まれる部分回路(論理回路)がゲーテッドクロック設
計されているかどうかを、レジスタのCKポート入力に
ANDやORなどのゲートがあるかどうかにより判定す
る。そして、ゲーテッドクロック設計されている場合
は、必要に応じてゲーテッドクロック設計に関する付加
情報を参照しながら、前記2つの論理回路のレジスタの
クロック入力が等しくなるように、前記生成された等価
性判定回路のゲーテッドクロック設計された部分を修正
する。
【0036】ここでは、ゲーテッドクロック設計された
部分を修正するため、修正すべき論理回路のレジスタに
対してデータロードとデータ保持の選択を行なうマルチ
プレクサを生成するとともに、このマルチプレクサの選
択論理にクロックイネーブル論理を使用するように回路
を変更するようにしている。修正された等価性判定回路
は、等価性判定回路格納部4に格納される。
部分を修正するため、修正すべき論理回路のレジスタに
対してデータロードとデータ保持の選択を行なうマルチ
プレクサを生成するとともに、このマルチプレクサの選
択論理にクロックイネーブル論理を使用するように回路
を変更するようにしている。修正された等価性判定回路
は、等価性判定回路格納部4に格納される。
【0037】等価性判定部7は、前記等価性判定回路生
成部3で生成された等価性判定回路又は前記ゲーテッド
クロック部分修正部6で修正された等価性判定回路に基
づいて、検証すべき少なくとも2つの論理回路の論理又
は機能の等価性を判定する。
成部3で生成された等価性判定回路又は前記ゲーテッド
クロック部分修正部6で修正された等価性判定回路に基
づいて、検証すべき少なくとも2つの論理回路の論理又
は機能の等価性を判定する。
【0038】上記各部からなる論理回路検証装置10
は、キーボード、マウス、ライトペン、又はフレキシブ
ルディスク装置などの入力装置、CPU、及びこのCP
Uに接続されたROM,RAM、磁気ディスクなどの記
憶装置、ディスプレイ装置やプリンタ装置などの出力装
置を含む通常のコンピュータシステムにより構成され
る。
は、キーボード、マウス、ライトペン、又はフレキシブ
ルディスク装置などの入力装置、CPU、及びこのCP
Uに接続されたROM,RAM、磁気ディスクなどの記
憶装置、ディスプレイ装置やプリンタ装置などの出力装
置を含む通常のコンピュータシステムにより構成され
る。
【0039】次に、上述のように構成された論理回路検
証装置10において、検証すべき論理回路の論理又は機
能の等価性を判定する場合の処理手順を図2のフローチ
ャートにより説明する。
証装置10において、検証すべき論理回路の論理又は機
能の等価性を判定する場合の処理手順を図2のフローチ
ャートにより説明する。
【0040】まず、回路情報入力部1から検証すべき2
つの論理回路に関する情報を入力し(ステップ10
1)、続いてドントケア情報入力部2から前記2つの論
理回路に関するドントケア情報を入力する(ステップ1
02)。なお、この時に、必要に応じてゲーテッドクロ
ック情報入力部5から前記論理回路のゲーテッドクロッ
ク設計に関する付加情報を入力する。次に、等価性判定
回路生成部3は、入力された2つの論理回路に関するド
ントケア情報があるかどうかを判定する(ステップ10
3)。ここで、ドントケア情報がない場合は、前記2つ
の論理回路に関する情報に基づいて、例えば図3に示す
ような論理の等価性を判定するための等価性判定回路を
生成する(ステップ104)。また、ドントケア情報が
ある場合は、前記2つの論理回路に関するドントケア情
報と、これら論理回路に関するドントケア情報に基づい
て、例えば図4に示すような機能の等価性を判定するた
めの等価性判定回路を生成する(ステップ105)。な
お、図4において、dc_ol等の符号は出力またはレ
ジスタのドントケア関数を表わしている。上記ステップ
104又はステップ105で生成された等価性判定回路
の回路データは等価性判定回路格納部4へ格納される。
つの論理回路に関する情報を入力し(ステップ10
1)、続いてドントケア情報入力部2から前記2つの論
理回路に関するドントケア情報を入力する(ステップ1
02)。なお、この時に、必要に応じてゲーテッドクロ
ック情報入力部5から前記論理回路のゲーテッドクロッ
ク設計に関する付加情報を入力する。次に、等価性判定
回路生成部3は、入力された2つの論理回路に関するド
ントケア情報があるかどうかを判定する(ステップ10
3)。ここで、ドントケア情報がない場合は、前記2つ
の論理回路に関する情報に基づいて、例えば図3に示す
ような論理の等価性を判定するための等価性判定回路を
生成する(ステップ104)。また、ドントケア情報が
ある場合は、前記2つの論理回路に関するドントケア情
報と、これら論理回路に関するドントケア情報に基づい
て、例えば図4に示すような機能の等価性を判定するた
めの等価性判定回路を生成する(ステップ105)。な
お、図4において、dc_ol等の符号は出力またはレ
ジスタのドントケア関数を表わしている。上記ステップ
104又はステップ105で生成された等価性判定回路
の回路データは等価性判定回路格納部4へ格納される。
【0041】次に、ゲーテッドクロック部分修正部6
は、前記生成された等価性判定回路がゲーテッドクロッ
ク設計されているかどうかを判定する(ステップ10
6)。ここで、ゲーテッドクロック設計されている場合
は、必要に応じてゲーテッドクロック設計に関する付加
情報を参照して、前記等価性判定回路のうちゲーテッド
クロック設計された部分の回路を修正する。
は、前記生成された等価性判定回路がゲーテッドクロッ
ク設計されているかどうかを判定する(ステップ10
6)。ここで、ゲーテッドクロック設計されている場合
は、必要に応じてゲーテッドクロック設計に関する付加
情報を参照して、前記等価性判定回路のうちゲーテッド
クロック設計された部分の回路を修正する。
【0042】まず、等価性判定回路格納部4に格納され
ている等価性判定回路について、ゲーテッドクロック設
計された部分のイネーブル信号を取り出し(ステップ1
07)、このイネーブル信号を制御信号としたマルチプ
レクサをレジスタのデータ入力部分に生成するととも
に、このマルチプレクサの選択論理にクロックイネーブ
ル論理を使用するように回路を変更し、さらにゲーテッ
ドクロック部分を除去する(ステップ108)。次に、
ゲーテッドクロック情報に基づいて、等価性判定に関係
しない回路部分を除去する(ステップ109)。このス
テップ107〜ステップ109で修正された等価性判定
回路の回路データは等価性判定回路格納部4に格納され
る。
ている等価性判定回路について、ゲーテッドクロック設
計された部分のイネーブル信号を取り出し(ステップ1
07)、このイネーブル信号を制御信号としたマルチプ
レクサをレジスタのデータ入力部分に生成するととも
に、このマルチプレクサの選択論理にクロックイネーブ
ル論理を使用するように回路を変更し、さらにゲーテッ
ドクロック部分を除去する(ステップ108)。次に、
ゲーテッドクロック情報に基づいて、等価性判定に関係
しない回路部分を除去する(ステップ109)。このス
テップ107〜ステップ109で修正された等価性判定
回路の回路データは等価性判定回路格納部4に格納され
る。
【0043】次に、等価性判定部7は、等価性判定回路
格納部4に格納されている等価性判定回路、すなわち前
記等価性判定回路生成部3で生成された等価性判定回
路、又は前記ゲーテッドクロック部分修正部6で修正さ
れた等価性判定回路に基づいて、検証すべき少なくとも
2つの論理回路の論理又は機能の等価性を判定する(ス
テップ110)。
格納部4に格納されている等価性判定回路、すなわち前
記等価性判定回路生成部3で生成された等価性判定回
路、又は前記ゲーテッドクロック部分修正部6で修正さ
れた等価性判定回路に基づいて、検証すべき少なくとも
2つの論理回路の論理又は機能の等価性を判定する(ス
テップ110)。
【0044】なお、判定結果は、図示しないディスプレ
イ装置上に、等価である又は等価でないというメッセー
ジを表示したり、プリンタ装置により同様のメッセージ
をプリント出力することにより行う。ここで、等価でな
いという判定がなされたときには、上記メッセージに加
えて、出力結果がともに1にならない入力の組合せを表
示又はプリント出力するようにしてもよい。この場合、
設計者は出力結果がともに1にならない入力の組合せに
基づいて論理回路の論理を検討することにより、元の論
理回路の設計変更を容易に行うことができる。
イ装置上に、等価である又は等価でないというメッセー
ジを表示したり、プリンタ装置により同様のメッセージ
をプリント出力することにより行う。ここで、等価でな
いという判定がなされたときには、上記メッセージに加
えて、出力結果がともに1にならない入力の組合せを表
示又はプリント出力するようにしてもよい。この場合、
設計者は出力結果がともに1にならない入力の組合せに
基づいて論理回路の論理を検討することにより、元の論
理回路の設計変更を容易に行うことができる。
【0045】次に、上述した論理回路検証装置10にお
いて、論理回路の等価性を判定する場合の具体例を実施
形態1、実施形態2として説明する。なお、実施形態1
は検証すべき論理回路に関するドントケア情報が無い場
合、実施形態2はドントケア情報が有る場合の例を示
す。
いて、論理回路の等価性を判定する場合の具体例を実施
形態1、実施形態2として説明する。なお、実施形態1
は検証すべき論理回路に関するドントケア情報が無い場
合、実施形態2はドントケア情報が有る場合の例を示
す。
【0046】[実施形態1]まず、図5(a)、(b)
に示すような2つの論理回路回路1及び回路2が回路情
報入力部1から入力されたとする。図5(a)はゲーテ
ッドクロック設計されておらず、同図(b)はゲーテッ
ドクロック設計されている。この例では、入力された回
路にドントケア情報は無いので、等価性判定回路生成部
3は、図6に示すような論理の等価性を判定するための
等価性判定回路を生成して等価性判定回路格納部4に格
納する。なお、図6において、部分回路201は図5
(a)に、部分回路202は図5(b)にそれぞれ対応
している。
に示すような2つの論理回路回路1及び回路2が回路情
報入力部1から入力されたとする。図5(a)はゲーテ
ッドクロック設計されておらず、同図(b)はゲーテッ
ドクロック設計されている。この例では、入力された回
路にドントケア情報は無いので、等価性判定回路生成部
3は、図6に示すような論理の等価性を判定するための
等価性判定回路を生成して等価性判定回路格納部4に格
納する。なお、図6において、部分回路201は図5
(a)に、部分回路202は図5(b)にそれぞれ対応
している。
【0047】図6の部分回路201ではDタイプフリッ
プフロップFF1のQポート出力をFF1_Qとしたと
き、FF1のDポート入力FF1_Dの論理はブール式
で^I2*FF1_Q+I2*I1と表わせる。ここ
で、*は論理積、+は論理和、^は否定論理を表わす。
また、図6の部分回路202では、FF1のDポートF
F1_Dの論理は^I1*I2と表わせて、図6の部分
回路201とは異なる。一方、出力端子O1では図4の
部分回路201、部分回路202とも論理はI3*FF
1_Qと表わせて同じ論理となる。図6の回路では、F
F1のDポート入力の論理が異なるので、結果として図
6におけるout_checkは常に1とはならず、こ
のままの等価性判定回路では等価でないと判定されてし
まう。
プフロップFF1のQポート出力をFF1_Qとしたと
き、FF1のDポート入力FF1_Dの論理はブール式
で^I2*FF1_Q+I2*I1と表わせる。ここ
で、*は論理積、+は論理和、^は否定論理を表わす。
また、図6の部分回路202では、FF1のDポートF
F1_Dの論理は^I1*I2と表わせて、図6の部分
回路201とは異なる。一方、出力端子O1では図4の
部分回路201、部分回路202とも論理はI3*FF
1_Qと表わせて同じ論理となる。図6の回路では、F
F1のDポート入力の論理が異なるので、結果として図
6におけるout_checkは常に1とはならず、こ
のままの等価性判定回路では等価でないと判定されてし
まう。
【0048】そこで、ゲーテッドクロック部分修正部6
は、図6の等価性判定回路に対して2つのフリップフロ
ップFF1のCKポート入力が同じ信号となるように修
正を行う。この修正は次のように行なわれる。すなわち
図6の部分回路201ではFF1のCKポート入力の論
理はCLKであり、部分回路202ではFF1のCKポ
ート入力の論理はCLK+^I2なので、両方のCKポ
ート入力の論理をCLKとするような回路変更を行な
う。
は、図6の等価性判定回路に対して2つのフリップフロ
ップFF1のCKポート入力が同じ信号となるように修
正を行う。この修正は次のように行なわれる。すなわち
図6の部分回路201ではFF1のCKポート入力の論
理はCLKであり、部分回路202ではFF1のCKポ
ート入力の論理はCLK+^I2なので、両方のCKポ
ート入力の論理をCLKとするような回路変更を行な
う。
【0049】まず、図6の部分回路201ではすでにC
LKとなっているので、操作は行なわない。一方、図6
の部分回路202では、^I2が1のとき、すなわちI
2が0のときにFF1のポートにクロックが供給されな
い。すなわち、I2が0でないときはFF1の値が保持
される。このため、図6の部分回路202におけるFF
1のCKポート入力の論理をCLKとするためには、I
2が0のときはFF1の値が保持される論理を付加すれ
ば良い。この例では、FF1に対してデータロードとデ
ータ保持の選択を行うMUX51をFF1のDポート入
力に接続し、このMUX51の選択論理にクロックイネ
ーブル論理を与えるように回路を修正している。このよ
うな修正を行なった結果、図7に示すような等価性判定
回路が生成される。なお、図7における回路要素MUX
51は、例えば図8に示すような論理回路により構成す
ることができる。
LKとなっているので、操作は行なわない。一方、図6
の部分回路202では、^I2が1のとき、すなわちI
2が0のときにFF1のポートにクロックが供給されな
い。すなわち、I2が0でないときはFF1の値が保持
される。このため、図6の部分回路202におけるFF
1のCKポート入力の論理をCLKとするためには、I
2が0のときはFF1の値が保持される論理を付加すれ
ば良い。この例では、FF1に対してデータロードとデ
ータ保持の選択を行うMUX51をFF1のDポート入
力に接続し、このMUX51の選択論理にクロックイネ
ーブル論理を与えるように回路を修正している。このよ
うな修正を行なった結果、図7に示すような等価性判定
回路が生成される。なお、図7における回路要素MUX
51は、例えば図8に示すような論理回路により構成す
ることができる。
【0050】前記修正により等価性判定回路格納部4に
格納された図7の等価性判定回路は等価性判定部7にお
いて等価性が判定される。図7の回路について見てみる
と、出力端子O1では部分回路203、部分回路204
ともに論理はI3*FF1_Qと表せて同じ論理とな
る。また、FF1のDポート入力FF1_Dの論理につ
いても、部分回路203、部分回路204ともにBDD
を用いて表現すると図9(a)のように同じ形式で表わ
され、同じ論理であることがわかる。
格納された図7の等価性判定回路は等価性判定部7にお
いて等価性が判定される。図7の回路について見てみる
と、出力端子O1では部分回路203、部分回路204
ともに論理はI3*FF1_Qと表せて同じ論理とな
る。また、FF1のDポート入力FF1_Dの論理につ
いても、部分回路203、部分回路204ともにBDD
を用いて表現すると図9(a)のように同じ形式で表わ
され、同じ論理であることがわかる。
【0051】すなわち図9(a)において、FF1_D
のI2に0を代入すると(0の破線矢印)、FF1_Q
が残り、ここでFF1_Qが0であれば(0の破線矢
印)、出力は0となる。また、FF1_Qが1であれば
(1の実線矢印)、出力は1となる。また、FF1_D
のI1に0を代入すると(1の実線矢印)、I1が残
り、ここでI1が0であれば(0の破線矢印)、出力は
0となる。また、I1が1であれば(1の実線矢印)、
出力は1となる。前記部分回路203、部分回路204
ともに、I1、I2に同じ組合せの0、1を入力した場
合には、同じ経路の矢印方向へ進み、FF1のDポート
入力FF1_Dは同じ出力結果となる。したがって、図
7におけるout_checkの論理を表わすBDD
は、図9(b)のように常に1となる。このため、等価
性判定部6では図5(a)の論理回路と(b)の論理回
路は等価であると判断される。
のI2に0を代入すると(0の破線矢印)、FF1_Q
が残り、ここでFF1_Qが0であれば(0の破線矢
印)、出力は0となる。また、FF1_Qが1であれば
(1の実線矢印)、出力は1となる。また、FF1_D
のI1に0を代入すると(1の実線矢印)、I1が残
り、ここでI1が0であれば(0の破線矢印)、出力は
0となる。また、I1が1であれば(1の実線矢印)、
出力は1となる。前記部分回路203、部分回路204
ともに、I1、I2に同じ組合せの0、1を入力した場
合には、同じ経路の矢印方向へ進み、FF1のDポート
入力FF1_Dは同じ出力結果となる。したがって、図
7におけるout_checkの論理を表わすBDD
は、図9(b)のように常に1となる。このため、等価
性判定部6では図5(a)の論理回路と(b)の論理回
路は等価であると判断される。
【0052】[実施形態2]次に、別の実施形態を示し
て説明する。まず図10に示すような2つの論理回路が
回路情報入力部1から入力されたとする。図10(a)
ではゲーテッドクロック設計されておらず、同図(b)
ではゲーテッドクロック設計されている。この例では、
フリップフロップFF1に対するドントケア関数として
Bが、また出力端子O1に対するドントケア関数として
^I2がドントケア情報入力部2より入力されたとす
る。
て説明する。まず図10に示すような2つの論理回路が
回路情報入力部1から入力されたとする。図10(a)
ではゲーテッドクロック設計されておらず、同図(b)
ではゲーテッドクロック設計されている。この例では、
フリップフロップFF1に対するドントケア関数として
Bが、また出力端子O1に対するドントケア関数として
^I2がドントケア情報入力部2より入力されたとす
る。
【0053】次に、等価性判定回路生成部3では、ドン
トケア情報を考慮して図11に示すような機能の等価性
を判定する等価性判定回路を生成して等価性判定回路格
納部4に格納する。図11ではドントケア情報を考慮し
ても、FF1のDポート入力の機能が部分回路205と
部分回路206では異なり、out_checkは常に
1とはならずに、このままの等価性判定回路では等価で
ないと判定されてしまう。
トケア情報を考慮して図11に示すような機能の等価性
を判定する等価性判定回路を生成して等価性判定回路格
納部4に格納する。図11ではドントケア情報を考慮し
ても、FF1のDポート入力の機能が部分回路205と
部分回路206では異なり、out_checkは常に
1とはならずに、このままの等価性判定回路では等価で
ないと判定されてしまう。
【0054】そこで、ゲーテッドクロック部分修正部6
は、図11の等価性判定回路に対して2つのフリップフ
ロップFF1のCKポート入力が同じ信号となるように
修正を行なう。ここで、ゲーテッドクロック情報入力部
5より、フリップフロップENA_FFはクロックイネ
ーブル論理におけるグリッジを除去するために挿入され
たフリップフロップであるという情報が入力されたとす
る。ゲーテッドクロック部分修正部6ではENA_FF
のDポート入力の論理がクロックイネーブル論理である
と認識する。図11の部分回路206では、ENA_F
FのQポート出力が0のときにFF1のCKポートにク
ロックが供給されない。これは上記のように認識された
イネーブル論理が0の場合、すなわち論理式^A+Bが
1のときにFF1の値が保持される。このため、図11
の部分回路206において、^A+Bが1のときにFF
1の値が保持される論理を付加する。この例では、EN
A_FFを削除し、FF1に対してデータロードとデー
タ保持の選択を行うMUX61をFF1のDポート入力
に接続して、このMUX61の選択論理にクロックイネ
ーブル論理を与えるように回路を修正している。このよ
うな修正を行なった結果、図12に示すような等価性判
定回路が生成される。一方、図11の部分回路205で
はFF1のCKポート入力がCLKなので、論理の付加
は行なわれない。この修正により等価性判定回路格納部
4に生成された図12に示す等価性判定回路は、等価性
判定部6において等価性を判定される。この結果、図1
2におけるout_checkの論理を表わすBDDは
図9(b)のようになり、常に1であることがわかるた
め、等価性判定部7では図10(a)の論理回路と図1
0(b)の論理回路は等価であると判定される。
は、図11の等価性判定回路に対して2つのフリップフ
ロップFF1のCKポート入力が同じ信号となるように
修正を行なう。ここで、ゲーテッドクロック情報入力部
5より、フリップフロップENA_FFはクロックイネ
ーブル論理におけるグリッジを除去するために挿入され
たフリップフロップであるという情報が入力されたとす
る。ゲーテッドクロック部分修正部6ではENA_FF
のDポート入力の論理がクロックイネーブル論理である
と認識する。図11の部分回路206では、ENA_F
FのQポート出力が0のときにFF1のCKポートにク
ロックが供給されない。これは上記のように認識された
イネーブル論理が0の場合、すなわち論理式^A+Bが
1のときにFF1の値が保持される。このため、図11
の部分回路206において、^A+Bが1のときにFF
1の値が保持される論理を付加する。この例では、EN
A_FFを削除し、FF1に対してデータロードとデー
タ保持の選択を行うMUX61をFF1のDポート入力
に接続して、このMUX61の選択論理にクロックイネ
ーブル論理を与えるように回路を修正している。このよ
うな修正を行なった結果、図12に示すような等価性判
定回路が生成される。一方、図11の部分回路205で
はFF1のCKポート入力がCLKなので、論理の付加
は行なわれない。この修正により等価性判定回路格納部
4に生成された図12に示す等価性判定回路は、等価性
判定部6において等価性を判定される。この結果、図1
2におけるout_checkの論理を表わすBDDは
図9(b)のようになり、常に1であることがわかるた
め、等価性判定部7では図10(a)の論理回路と図1
0(b)の論理回路は等価であると判定される。
【0055】上述したように、ゲーテッドクロック設計
はレジスタのクロック入力ポート(CK)に対して論理
回路を付加するものであるため、2つの部分回路は機能
的には等価であっても、従来の論理回路検証装置ではこ
の2つの部分回路の論理または機能的等価性が判断でき
ず、等価でないと判定されていた。しかし、本実施形態
の論理回路検証装置によれば、2つの論理回路のレジス
タのクロック入力が等しくなるように回路を修正するこ
とにより、ゲーテッドクロック設計された部分の検証が
可能となるため、従来装置では正しい検証を行うことが
できなかったゲーテッドクロック設計された論理回路の
論理又は機能的な等価性の検証が可能となる。
はレジスタのクロック入力ポート(CK)に対して論理
回路を付加するものであるため、2つの部分回路は機能
的には等価であっても、従来の論理回路検証装置ではこ
の2つの部分回路の論理または機能的等価性が判断でき
ず、等価でないと判定されていた。しかし、本実施形態
の論理回路検証装置によれば、2つの論理回路のレジス
タのクロック入力が等しくなるように回路を修正するこ
とにより、ゲーテッドクロック設計された部分の検証が
可能となるため、従来装置では正しい検証を行うことが
できなかったゲーテッドクロック設計された論理回路の
論理又は機能的な等価性の検証が可能となる。
【0056】なお、上記実施形態では、I1、I2を1
ビットとして説明しているが、32ビット又は64ビッ
トの場合であっても適用することができる。とくに、入
力のビット数が多くなった場合には、シミュレータを使
った場合に比べて計算時間を大幅に短縮することが可能
となる。
ビットとして説明しているが、32ビット又は64ビッ
トの場合であっても適用することができる。とくに、入
力のビット数が多くなった場合には、シミュレータを使
った場合に比べて計算時間を大幅に短縮することが可能
となる。
【0057】また、上記実施形態では、論理回路の論理
又は機能的な等価性を2つの回路について検証している
が、等価性の検証は複数の論理回路について実施するこ
ともできる。さらに、上記実施形態では、検証すべき論
理回路としてフリップフロップにより構成されたレジス
タ回路を例として示したが、同期型メモリ(同期型RA
M)のようにクロックに同期してデータの書き込みを行
うようなメモリセルにより構成したレジスタ回路にも適
用することができる。
又は機能的な等価性を2つの回路について検証している
が、等価性の検証は複数の論理回路について実施するこ
ともできる。さらに、上記実施形態では、検証すべき論
理回路としてフリップフロップにより構成されたレジス
タ回路を例として示したが、同期型メモリ(同期型RA
M)のようにクロックに同期してデータの書き込みを行
うようなメモリセルにより構成したレジスタ回路にも適
用することができる。
【0058】上述した論理回路検証装置の動作を実現す
るためのプログラムはコンピュータにより読みとり可能
な記録媒体に保存することができる。この記録媒体をコ
ンピュータシステムにより読み込ませ、前記プログラム
を実行してコンピュータを制御することにより、上述し
た論理回路検証装置による処理を実現することができ
る。ここで、前記記録媒体とは、例えばメモリ装置、磁
気ディスク装置、光ディスク装置などのプログラムを記
録できるようなすべての記録装置が含まれる。
るためのプログラムはコンピュータにより読みとり可能
な記録媒体に保存することができる。この記録媒体をコ
ンピュータシステムにより読み込ませ、前記プログラム
を実行してコンピュータを制御することにより、上述し
た論理回路検証装置による処理を実現することができ
る。ここで、前記記録媒体とは、例えばメモリ装置、磁
気ディスク装置、光ディスク装置などのプログラムを記
録できるようなすべての記録装置が含まれる。
【0059】
【発明の効果】以上説明したように、この発明に係わる
論理回路検証装置、論理回路検証方法及び論理回路検証
プログラムを格納したコンピュータ読み取り可能な記録
媒体によれば、生成した等価性判定回路のゲーテッドク
ロック設計された部分の検証が可能となるように回路を
修正するようにしたので、従来装置では正しい検証を行
うことができなかったゲーテッドクロック設計された論
理回路の論理又は機能的な等価性の検証が可能となる。
論理回路検証装置、論理回路検証方法及び論理回路検証
プログラムを格納したコンピュータ読み取り可能な記録
媒体によれば、生成した等価性判定回路のゲーテッドク
ロック設計された部分の検証が可能となるように回路を
修正するようにしたので、従来装置では正しい検証を行
うことができなかったゲーテッドクロック設計された論
理回路の論理又は機能的な等価性の検証が可能となる。
【図1】実施形態に係わる論理回路検証装置の機能的な
構成を示したブロック図。
構成を示したブロック図。
【図2】論理回路検証装置において論理回路の論理又は
機能の等価性を判定する場合の処理手順を示すフローチ
ャート。
機能の等価性を判定する場合の処理手順を示すフローチ
ャート。
【図3】等価性判定回路生成部により生成される論理の
等価性を判定するための等価性判定回路の一例を示す回
路構成図。
等価性を判定するための等価性判定回路の一例を示す回
路構成図。
【図4】等価性判定回路生成部により生成される機能の
等価性を判定するための等価性判定回路の一例を示す回
路構成図。
等価性を判定するための等価性判定回路の一例を示す回
路構成図。
【図5】(a)及び(b)は実施形態1で回路情報入力
部から入力された論理回路を示す回路構成図。
部から入力された論理回路を示す回路構成図。
【図6】実施形態1の等価性判定回路生成部により生成
される論理の等価性を判定するための等価性判定回路を
示す回路構成図。
される論理の等価性を判定するための等価性判定回路を
示す回路構成図。
【図7】実施形態1の等価性判定回路生成部により生成
される論理の等価性を判定するための等価性判定回路を
示す回路構成図。
される論理の等価性を判定するための等価性判定回路を
示す回路構成図。
【図8】MUXの論理構造図。
【図9】(a)及び(b)は等価性判定部で生成された
BDDの一例を示す説明図。
BDDの一例を示す説明図。
【図10】(a)及び(b)は実施形態2で回路情報入
力部から入力された論理回路を示す回路構成図。
力部から入力された論理回路を示す回路構成図。
【図11】実施形態2の等価性判定回路生成部により生
成される論理の等価性を判定するための等価性判定回路
を示す回路構成図。
成される論理の等価性を判定するための等価性判定回路
を示す回路構成図。
【図12】実施形態2の等価性判定回路生成部により生
成される機能の等価性を判定するための等価性判定回路
を示す回路構成図。
成される機能の等価性を判定するための等価性判定回路
を示す回路構成図。
【図13】従来の論理回路検証装置で生成される論理等
価性判定回路の一例を示す回路構成図。
価性判定回路の一例を示す回路構成図。
【図14】(a)はドントケア条件を説明するための論
理回路図、(b)は制御信号とALUの機能との関係を
示す説明図。
理回路図、(b)は制御信号とALUの機能との関係を
示す説明図。
【図15】(a)はゲーテッドクロック設計されていな
い部分回路を示す回路構成図、(b)はゲーテッドクロ
ック設計された部分回路を示す回路構成図。
い部分回路を示す回路構成図、(b)はゲーテッドクロ
ック設計された部分回路を示す回路構成図。
1 回路情報入力部 2 ドントケア情報入力部 3 等価性判定回路生成部 4 等価性判定回路格納部 5 ゲーテッドクロック設計対応部 6 等価性判定部 7 ゲーテッドクロック情報入力部
Claims (5)
- 【請求項1】 検証すべき少なくとも2つの論理回路に
関する情報及び該論理回路に関するドントケア情報を入
力する回路情報入力手段と、 前記論理回路に関する情報と該論理回路に関するドント
ケア情報に基づいて、前記少なくとも2つの論理回路を
含む等価性判定回路を生成する等価性判定回路生成手段
と、 前記等価性判定回路に含まれる論理回路がゲーテッドク
ロック設計されている場合は、前記少なくとも2つの論
理回路に含まれるレジスタのクロック入力が等しくなる
ように、前記等価性判定回路を修正するゲーテッドクロ
ック部分修正手段と、 前記等価性判定回路生成手段で生成された等価性判定回
路又は前記ゲーテッドクロック部分修正手段で修正され
た等価性判定回路に基づいて、検証すべき少なくとも2
つの論理回路の論理又は機能の等価性を判定する等価性
判定手段とを備えたことを特徴とする論理回路検証装
置。 - 【請求項2】 少なくとも2つの論理回路の論理又は機
能の等価性を判定する論理回路検証方法において、 検証すべき論理回路と該論理回路に関するドントケア情
報の有無に従って等価性判定回路を生成し、 該生成された等価性判定回路のゲーテッドクロック設計
された部分を等価性の検証が可能となるように修正し、 前記等価性判定回路に基づいて検証すべき論理回路の論
理又は機能の等価性を判定することを特徴とする論理回
路検証方法。 - 【請求項3】 検証すべき少なくとも2つの論理回路に
関する情報及び該論理回路に関するドントケア情報を入
力する回路情報入力ステップと、 前記論理回路に関する情報と該論理回路に関するドント
ケア情報に基づいて、前記少なくとも2つの論理回路を
含む等価性判定回路を生成する等価性判定回路生成ステ
ップと、 前記等価性判定回路に含まれる論理回路がゲーテッドク
ロック設計されている場合は、前記少なくとも2つの論
理回路に含まれるレジスタのクロック入力が等しくなる
ように、前記等価性判定回路を修正するゲーテッドクロ
ック部分修正ステップと、 前記等価性判定回路生成ステップで生成された等価性判
定回路又は前記ゲーテッドクロック部分修正ステップで
修正された等価性判定回路に基づいて、検証すべき少な
くとも2つの論理回路の論理又は機能の等価性を判定す
る等価性判定ステップとを含むことを特徴とする論理回
路検証方法。 - 【請求項4】 検証すべき論理回路と該論理回路に関す
るドントケア情報の有無に従って等価性判定回路を生成
する処理と、 該生成された等価性判定回路のゲーテッドクロック設計
されている部分を等価性の検証が可能となるように修正
する処理と、 前記等価性判定回路に基づいて検証すべき論理回路の論
理又は機能の等価性を判定する処理とを含み、これら処
理をコンピュータに実行させることを特徴とする論理回
路検証プログラムを格納したコンピュータ読み取り可能
な記録媒体。 - 【請求項5】 検証すべき少なくとも2つの論理回路に
関する情報及び該論理回路に関するドントケア情報を入
力する回路情報入力ステップと、 前記論理回路に関する情報と該論理回路に関するドント
ケア情報に基づいて、前記少なくとも2つの論理回路を
含む等価性判定回路を生成する等価性判定回路生成ステ
ップと、 前記等価性判定回路に含まれる論理回路がゲーテッドク
ロック設計されている場合は、前記少なくとも2つの論
理回路に含まれるレジスタのクロック入力が等しくなる
ように、前記等価性判定回路を修正するゲーテッドクロ
ック部分修正ステップと、 前記等価性判定回路生成ステップで生成された等価性判
定回路又は前記ゲーテッドクロック部分修正ステップで
修正された等価性判定回路に基づいて、検証すべき少な
くとも2つの論理回路の論理又は機能の等価性を判定す
る等価性判定ステップとを含み、これらステップをコン
ピュータに実行させることを特徴とする論理回路検証プ
ログラムを格納したコンピュータ読み取り可能な記録媒
体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15390297A JP3394888B2 (ja) | 1997-06-11 | 1997-06-11 | 論理回路検証装置、論理回路検証方法及び論理回路検証プログラムを格納したコンピュータ読み取り可能な記録媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15390297A JP3394888B2 (ja) | 1997-06-11 | 1997-06-11 | 論理回路検証装置、論理回路検証方法及び論理回路検証プログラムを格納したコンピュータ読み取り可能な記録媒体 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH113361A true JPH113361A (ja) | 1999-01-06 |
| JP3394888B2 JP3394888B2 (ja) | 2003-04-07 |
Family
ID=15572613
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15390297A Expired - Fee Related JP3394888B2 (ja) | 1997-06-11 | 1997-06-11 | 論理回路検証装置、論理回路検証方法及び論理回路検証プログラムを格納したコンピュータ読み取り可能な記録媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3394888B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6587993B2 (en) | 2000-01-13 | 2003-07-01 | Nec Electronics Corporation | Method of designating output “don't care” and processor of processing logic circuit data |
| JP2013131088A (ja) * | 2011-12-22 | 2013-07-04 | Fujitsu Ltd | シミュレーション装置、シミュレーション方法及びシミュレーションプログラム |
-
1997
- 1997-06-11 JP JP15390297A patent/JP3394888B2/ja not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6587993B2 (en) | 2000-01-13 | 2003-07-01 | Nec Electronics Corporation | Method of designating output “don't care” and processor of processing logic circuit data |
| JP2013131088A (ja) * | 2011-12-22 | 2013-07-04 | Fujitsu Ltd | シミュレーション装置、シミュレーション方法及びシミュレーションプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3394888B2 (ja) | 2003-04-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3357813B2 (ja) | ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体 | |
| JP2002073719A (ja) | 回路動作モデル記述の生成方法および論理設計検証装置 | |
| US20030149945A1 (en) | Method and system of data processor design | |
| US6505338B1 (en) | Computer readable medium with definition of interface recorded thereon, verification method for feasibility to connect given circuit and method of generating signal pattern | |
| JPH0744588A (ja) | 論理シミュレーション方法 | |
| JP3394888B2 (ja) | 論理回路検証装置、論理回路検証方法及び論理回路検証プログラムを格納したコンピュータ読み取り可能な記録媒体 | |
| US7047173B1 (en) | Analog signal verification using digital signatures | |
| JP3941336B2 (ja) | 論理回路検証装置 | |
| JPS6149702B2 (ja) | ||
| JP3028589B2 (ja) | 論理回路検証装置のエラー検出制御方法 | |
| JP3328229B2 (ja) | クロック・ツリー回路 | |
| JPH0934927A (ja) | 論理シミュレーション装置および論理回路情報作成方法 | |
| JP3105782B2 (ja) | 電子回路の論理生成方法 | |
| JP2006170873A (ja) | 情報処理装置、情報処理装置のテストパターンデータ圧縮方法及びプログラム | |
| JPH0619733A (ja) | シミュレーションのための入力パターン評価方法 | |
| JP2839574B2 (ja) | 不定値を含む論理回路の照合方式 | |
| JP3712359B2 (ja) | 回路シミュレーション装置及び回路シミュレーションプログラムを記憶した記憶媒体 | |
| JP2797955B2 (ja) | 期待値照合装置および方法 | |
| JP2924175B2 (ja) | 論理シミュレーション・システム | |
| JP2581806B2 (ja) | パストレースファイルの修正方法 | |
| JPH0468472A (ja) | 論理図入力装置 | |
| JP2001022817A (ja) | 論理回路自動生成装置 | |
| JP2822749B2 (ja) | クロック配線方式 | |
| JPH0689318A (ja) | 論理シミュレーション装置 | |
| JPH06236414A (ja) | スキャンパス論理検証方法及びその装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080131 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090131 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100131 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |