JPH09128431A - 形式検証システム - Google Patents

形式検証システム

Info

Publication number
JPH09128431A
JPH09128431A JP7288678A JP28867895A JPH09128431A JP H09128431 A JPH09128431 A JP H09128431A JP 7288678 A JP7288678 A JP 7288678A JP 28867895 A JP28867895 A JP 28867895A JP H09128431 A JPH09128431 A JP H09128431A
Authority
JP
Japan
Prior art keywords
circuits
equivalence
circuit
initial state
description
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7288678A
Other languages
English (en)
Inventor
Kazuyuki Sato
一幸 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP7288678A priority Critical patent/JPH09128431A/ja
Publication of JPH09128431A publication Critical patent/JPH09128431A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 順序回路を含む回路間の論理の等価性を形式
検証によって検証する。 【解決手段】 この実施形態の形式検証システムにおい
ては、回路記述格納部13における回路A,Bそれぞれ
の回路記述の書き換え、入力コマンドまたは初期設定記
述による形式検証モジュール16に対する初期状態の設
定、またはシミュレータモジュール17による初期状態
設定のためのシミュレーションの実行により、形式検証
モジュール16に回路A,Bの初期状態が与えられる。
よって、シミュレーションによる検証の場合のような膨
大な入力ベクタを用意する必要がなくなり、順序回路を
含む回路間の等価性を効率良く検証できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は形式検証システム
に関し、特に論理回路の設計において生成されてゆく2
つの論理回路間の論理の等価性を検証する形式検証シス
テムに関する。
【0002】
【従来の技術】一般に、論理設計は、レジスタ転送レベ
ルの設計から始まり、次にゲートレベルへの設計を行う
ことによって設計の詳細化が図られている。ゲートレベ
ルの設計では、論理的な動作とタイミング条件とによっ
て同一の動作をさまざまな形態で実現することができる
ので、この設計手法は論理回路の設計改善に好適であ
る。
【0003】こうした設計の詳細化や設計改善がなされ
た場合、2つの論理回路間の論理の等価性を検証するこ
とが必要となる2つの論理回路間の論理の等価性を検証
する方法としては、論理シミュレーションと形式検証
(formal verification )とが知られている。
【0004】形式検証は、2つの論理回路それぞれを論
理関数に変換して数学的にその等価性を検証する方法で
あり、十分に確実度の高い検証を行うことかできる。し
かし、従来の形式検証システムは組み合わせ回路専用の
ものしかなく、組み合わせ回路だけでなく順序回路を含
む2つの回路の等価性検証には適用することができなか
った。
【0005】すなわち、組み合わせ回路だけでなく順序
回路を含む2つの回路の等価性を検証する場合には、初
期状態の指定が不可欠である。その例を図7に示す。図
7(a)と図7(b)の回路A,Bは外見上は全く等価
に見えるが、フリップ・フロップの初期状態が異なる
と、与えられる入力値に対して出力値は異なる結果とな
る。この場合、2つの回路は等価であるとは言えない。
【0006】このため、順序回路を含む2つの回路の等
価性を検証する場合には、従来では、シミュレーション
による検証が行われていた。これは、論理の等価性を検
証するためにテストベクタを回路に与えてシミュレーシ
ョンし、出力結果が同一ならば等価であると判断する方
法である。
【0007】しかし、このようなシミュレーションによ
る検証を行う場合には、その検証の確実度を高めるため
に、あらゆる状態をもたらすテストベクタを用意しなけ
ればならない。また、設計の詳細化等によって回路が複
雑になると、用意しなければならないテストベクタの数
は飛躍的に増大することになる。このため、シミュレー
ションによる等価性の検証では、その検証のために膨大
な時間を要するという問題がある。
【0008】
【発明が解決しようとする課題】上述したように、従来
の形式検証システムでは、組み合わせ回路の等価性しか
検証できず、順序回路を含む回路間の等価性を検証する
場合には、多くのテストベクタを必要とするシミュレー
ションによる検証を行わざる得なかった。このため、検
証処理に膨大な時間が必要ととされる欠点があった。
【0009】この発明はこのような点に鑑みてなされた
ものであり、組み合わせ回路だけでなく順序回路を含む
回路間の等価性を検証することが可能な形式検証システ
ムを提供することを目的とする。
【0010】
【課題を解決するための手段】この発明による形式検証
システムは、順序回路を含む2つの論理回路間の等価性
を検証するものであって、比較対象となる2つの回路そ
れぞれの初期情報を明示するためにそれら回路の回路記
述そのものを書き換える手段を具備し、初期状態が明示
的に記述された回路記述同志を比較することによって等
価性を検証することを特徴とする。
【0011】この形式検証システムにおいては、順序回
路の初期状態を考慮した状態で回路間の形式検証を行う
ことができるので、シミュレーションによる検証の場合
のような膨大なテストベクタを用意することなく、順序
回路を含む2つの論理回路の等価性を効率良く、且つ高
確実度で検証することが可能となる。
【0012】また、回路記述そのものを書き換える代り
に、比較対象となる2つの回路それぞれの初期状態を指
定する初期設定情報を入力し、それによって初期状態を
設定して等価性を検証することも可能である。
【0013】初期設定情報としては、初期設定記述やそ
れを指定するコマンドを利用することが好ましい。ま
た、この発明の形式検証システムは、比較対象となる2
つの回路それぞれを初期状態にする入力ベクタを用いて
それら回路の動作をシミュレーションするシミュレータ
を利用して等価性の検証を行うことを特徴とする。この
ようにしても順序回路の初期状態を設定することがで
き、形式検証による高確実度な等価性の検証を行うこと
ができる。
【0014】
【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。図1には、この発明の一実施形態
に係る形式検証システムを実現するためのソフトウェア
プログラムを実行するコンピュータシステムの構成が示
されている。
【0015】この形式検証(formal verification )シ
ステムは、論理回路の設計の詳細化や設計改善がなされ
た場合などに、2つの論理回路間の論理の等価性を回路
記述を用いて数学的に検証するものであり、組み合わせ
回路だけでなく順序回路を含む論理回路間の等価性も検
証できるように、順序回路の初期状態を設定する機能を
有している。
【0016】以下、図1の各構成要素について説明す
る。11はCPUであり、システムの制御および各プロ
グラムモジュールの実行を行う。
【0017】12は初期状態設定記述であり、この記述
を形式検証モジュール16は解釈し、初期状態を設定す
る。13は比較対象となる回路Aと回路Bの記述が格納
されている回路記述格納部である。
【0018】14は入力装置であり、初期状態指定を入
力する装置(キーボード、マウス等)である。15は表
示装置であり、初期状態の表示や形式検証結果を表示す
る装置である。
【0019】16は形式検証モジュールであり、2つの
論理回路の等価性を検証する。17はシミュレータ・モ
ジュールであり、19で与えられた初期状態設定テスト
・パターンを入力し、シミュレーションを実行して論理
回路の初期状態を決定する。
【0020】18はコマンドモニタ・モジュールであ
り、シミュレータ17を実行させて得た初期状態値を形
式検証モジュール16に伝達する。また、このコマンド
モニタ・モジュール18は、入力装置14から入力され
た初期設定コマンドを解釈して形式検証モジュール16
に伝達する。また、コマンドモニタ・モジュール18
は、入力装置14から入力された初期状態設定コマンド
を解釈して、論理回路Aと論理回路Bの記述を変更す
る。
【0021】19は初期状態設定テスト・パターンであ
る。次に、図7の論理回路A,B間の等価性を検証する
場合を例に取って、形式検証システムの処理手順を説明
する。 (1)まず、論理回路A,Bの各D型フリップ・フロッ
プFD1の回路記述そのものを書き換える例について説
明する。
【0022】図2には、各フリップ・フロップFD1の
初期状態を考慮して、それらの回路記述を書き換えた例
が示されている。通常、出力ポートQ、及びQNはデフ
ォルトの値が入る。ここでは、ビット型を用いているの
で、図2(a)に示すように、デフォルト値は共に
“0”である。図7の論理回路Aのフリップ・フロップ
FD1については、初期状態はQ=“0”,QN=
“1”であるので、図2(b)に示すように、Qがデフ
ォルト値“0”で、QN=“1”に書き換えられる。
【0023】同様にして、図7の論理回路Bについて
も、初期状態を設定するための回路記述の書き換えが行
われ、QNがデフォルト値“0”で、Qが“1”に書き
換えられる。
【0024】この場合の等価性検証処理の手順を図3に
示す。まず、入力装置14などからの初期状態の入力に
従って、回路記述格納部13の回路Aについての回路記
述を書き換え、初期状態を回路Aの回路記述に反映させ
る(ステップS11)。
【0025】この書き換えは、形式検証モジュール14
や回路記述言語をサポートする書き換え専用のプログラ
ム等を利用して行うことができる。次に、入力装置14
などからの初期状態の入力に従って、回路記述格納部1
3の回路Bについての回路記述を書き換え、初期状態を
回路Bの回路記述に反映させる(ステップS13)。
【0026】この後、形式検証モジュール16は、書き
換えられた回路A,Bの回路記述同志を比較することに
よってそれらの論理的な等価性を検証する(ステップS
13)。 (2)次に、図4のフローチャートを参照して、等価性
検証処理の第2の例を説明する。
【0027】まず、回路A,Bそれぞれの初期状態を記
述した初期設定記述を初期状態設定記述格納部12から
入力する(ステップS21)。この場合、初期設定記述
は下記のように与えられる。
【0028】Initial value QN of FD1 is ‘1’ 次に、この初期設定記述を形式検証モジュール16が直
接解釈して、回路A,Bそれぞれの初期状態を認識する
(ステップS22)。そして、形式検証モジュール16
は、認識した回路A,Bの初期状態を考慮して、それら
回路A,Bの回路記述同志を比較することにより、等価
性を検証する(ステップS23)。 (3)次に、図5のフローチャートを参照して、等価性
検証処理の第3の例を説明する。この例は、第2の例と
同様に、回路記述そのものを書き換えずに初期状態を設
定するものであるが、初期設定記述の代りに、入力コマ
ンドを用いるものである。
【0029】すなわち、まず、回路A,Bそれぞれの初
期状態を指定するコマンドが表示装置15の表示画面上
で対話形式で入力装置14等から入力する(ステップS
31)。このように入力コマンドとして与えられた初期
状態はコマンドモニタモジュール18によって解釈され
て、形式検証モジュール16に渡される(ステップS3
2)。
【0030】この後、形式検証モジュール16は、コマ
ンドモニタモジュール18から渡された初期状態を考慮
して、回路A,Bの回路記述同志を比較することによ
り、等価性を検証する(ステップS33)。 (4)次に、図6のフローチャートを参照して、等価性
検証処理の第4の例を説明する。ここでは、シミュレー
タモジュール17のシミュレーションによって初期状態
の設定が行われる。
【0031】すなわち、まず、回路A,Bを初期状態に
する入力ベクタを利用して回路A,Bの動作をシミュレ
ータモジュール17にシミュレーションさせる(ステッ
プS41)。この場合、回路AとBを初期状態にするた
めに入力Inに“0”を設定して、入力クロックCLK
を入れてQを“1”に、QNを“0”に設定する。この
ための記述は、初期状態設定パターン19として外部メ
モリに保持されている。この記述は、例えば、下記のよ
うに与えられる。
【0032】In<=0; CKK<=0,1 after 10ns: これは、0時刻で入力InとCLKは0が入っていて、
10ナノ秒後にCLKは1になる記述である。これをシ
ミュレータ17がコマンドモニタ18を介して入力し実
行すると、Qが“1”に、QNが“0”に設定される。
そして、それがコマンドモニタ18から形式検証モジュ
ール16に渡される(ステップS42)。
【0033】この後、形式検証モジュール16は、コマ
ンドモニタモジュール18から渡された初期状態を考慮
して、回路A,Bの回路記述同志を比較することによ
り、等価性を検証する(ステップS43)。
【0034】以上のように、この実施形態の形式検証シ
ステムにおいては、回路記述格納部13における回路
A,Bそれぞれの回路記述の書き換え、入力コマンドま
たは初期設定記述による形式検証モジュール16に対す
る初期状態の設定、またはシミュレータモジュール17
による初期状態設定のためのシミュレーションの実行に
より、形式検証モジュール16に回路A,Bの初期状態
が与えられる。よって、シミュレーションによる検証の
場合のような膨大な入力ベクタを用意する必要がなくな
り、順序回路を含む回路間の等価性を効率良く検証でき
る。
【0035】
【発明の効果】以上説明したように、この発明によれ
ば、組み合わせ回路だけでなく順序回路を含む回路間の
等価性を形式検証によって検証することが可能となる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係る形式検証システム
の構成を示すブロック図。
【図2】同実施形態のシステムで使用される回路記述の
変更例を示す図。
【図3】同実施形態のシステムにおける第1の等価性検
証処理の手順を示すフローチャート。
【図4】同実施形態のシステムにおける第2の等価性検
証処理の手順を示すフローチャート。
【図5】同実施形態のシステムにおける第3の等価性検
証処理の手順を示すフローチャート。
【図6】同実施形態のシステムにおける第4の等価性検
証処理の手順を示すフローチャート。
【図7】同実施形態のシステムで比較対象として用いら
れる論理回路の一例を示す回路図。
【符号の説明】
11…CPU、12…初期状態設定記述格納部、13…
回路記述格納部、14…入力装置、15…表示装置、1
6…形式検証モジュール、17…シミュレータモジュー
ル、18…コマンドモニタモジュール、19…初期状態
設定テスト・パターン。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 順序回路を含む2つの論理回路間の等価
    性を検証する形式検証システムにおいて、 比較対象となる2つの回路それぞれの初期状態を明示す
    るためにそれら回路の回路記述そのものを書き換える手
    段を具備し、 初期状態が明示的に記述された回路記述同志を比較する
    ことによって等価性を検証することを特徴とする形式検
    証システム。
  2. 【請求項2】 順序回路を含む2つの論理回路間の等価
    性を検証する形式検証システムにおいて、 比較対象となる2つの回路それぞれの初期状態を指定す
    る初期設定情報を入力する手段を具備し、 前記比較対象回路それぞれの回路記述を書き換えずに、
    それらの回路記述と前記初期設定情報を利用して等価性
    を検証することを特徴とする形式検証システム。
  3. 【請求項3】 前記初期設定情報は、前記比較対象回路
    それぞれの初期状態を記述した初期設定記述から成り、 前記初期設定記述を解釈する手段をさらに具備すること
    を特徴とする請求項2記載の形式検証システム。
  4. 【請求項4】 前記初期設定情報は、前記比較対象回路
    それぞれの初期状態を指定する指示コマンドによって与
    えられ、 その指示コマンドを解釈するコマンドモニタを介して初
    期状態を受け取ることを特徴とする請求項2記載の形式
    検証システム。
  5. 【請求項5】 順序回路を含む2つの論理回路間の等価
    性を検証する形式検証システムにおいて、 比較対象となる2つの回路それぞれを初期状態にする入
    力ベクタによってそれら回路の動作をシミュレーション
    するシミュレータに接続され、そのシミュレーション結
    果として得られる初期状態を前記シミュレータから受け
    取る手段を具備し、 前記比較対象回路それぞれの回路記述と前記シミュレー
    タから受け取った初期状態を用いて等価性を検証するこ
    とを特徴とする形式検証システム。
JP7288678A 1995-11-07 1995-11-07 形式検証システム Pending JPH09128431A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7288678A JPH09128431A (ja) 1995-11-07 1995-11-07 形式検証システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7288678A JPH09128431A (ja) 1995-11-07 1995-11-07 形式検証システム

Publications (1)

Publication Number Publication Date
JPH09128431A true JPH09128431A (ja) 1997-05-16

Family

ID=17733276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7288678A Pending JPH09128431A (ja) 1995-11-07 1995-11-07 形式検証システム

Country Status (1)

Country Link
JP (1) JPH09128431A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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

Similar Documents

Publication Publication Date Title
US8146061B2 (en) Systems and methods for graphics hardware design debugging and verification
US7139936B2 (en) Method and apparatus for verifying the correctness of a processor behavioral model
EP1277116B1 (en) Enhanced programmable core model with integrated graphical debugging functionality
US20050165597A1 (en) Apparatus and method for performing hardware and software co-verification testing
US6487704B1 (en) System and method for identifying finite state machines and verifying circuit designs
US7584456B1 (en) Method and apparatus for debugging embedded systems having read only memory
JP2003036284A (ja) ソフトウェアおよびハードウェアのシミュレーション方法
JP2000132416A (ja) 半導体集積回路設計検証装置
JP2002123562A (ja) テスタ構築データの生成方法およびテスタの構築方法並びにテスト回路
JPH11513512A (ja) ディジタル信号プロセッサの製造方法
KR20040007463A (ko) 로직 시뮬레이션을 이용하지 않는 복잡한 ic의 설계검증을 위한 방법 및 장치
US7665067B2 (en) Method and system for automatically creating tests
CN116719729B (zh) 通用验证平台、通用验证方法、介质及电子设备
US10929584B1 (en) Environmental modification testing for design correctness with formal verification
US6813751B2 (en) Creating standard VHDL test environments
JP2001051025A (ja) 半導体試験用プログラムデバッグ装置
US20070220338A1 (en) Method and system for generating checkpoints of hardware description language simulations that include a specific model state together with a software testcase state
JPH09128431A (ja) 形式検証システム
US6829572B2 (en) Method and system for efficiently overriding array net values in a logic simulator machine
Sethulekshmi et al. Verification of a risc processor ip core using systemverilog
JP2003330983A (ja) テスト容易化設計システム、テスト容易化設計方法、プログラムおよび記録媒体
Bellon et al. Taking into account asynchronous signals in functional test of complex circuits
JP2002041595A (ja) バックアノテーション装置およびその方法
KR100427029B1 (ko) 집적회로의 설계 검증 방법
JP2525913Y2 (ja) Lsi論理シミュレーション装置