JP2001005847A - 形式的検証装置および方法 - Google Patents

形式的検証装置および方法

Info

Publication number
JP2001005847A
JP2001005847A JP11175041A JP17504199A JP2001005847A JP 2001005847 A JP2001005847 A JP 2001005847A JP 11175041 A JP11175041 A JP 11175041A JP 17504199 A JP17504199 A JP 17504199A JP 2001005847 A JP2001005847 A JP 2001005847A
Authority
JP
Japan
Prior art keywords
state
variable
circuit
transition
condition
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
JP11175041A
Other languages
English (en)
Inventor
Naoko Shinohara
直子 篠原
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 JP11175041A priority Critical patent/JP2001005847A/ja
Publication of JP2001005847A publication Critical patent/JP2001005847A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 【課題】 検証仕様が固定化され、かつ網羅的な検証仕
様の指定が可能な順序回路の効率的な形式的検証を可能
とする形式的検証装置および方法を提供する。 【解決手段】 順序回路の中でも例えばカウンタ回路の
ように、検証すべき項目としての検証仕様がほぼ固定化
されている順序回路を規定するRTL記述等の回路記述
と、この順序回路のほぼ固定化された検証項目を項目化
したテンプレートとから、それぞれKripke構造の
有限状態機械に変換する。そして、互いに異なる観点か
ら変換した有限状態機械のそれぞれの節点と枝を対比し
て両者を照合し、節点と枝が全て一致したときRTL記
述等で規定された順序回路がテンプレートに規定された
項目を満足すると判断し、検証仕様が成立することを通
知することで、形式的検証を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は論理回路の機能を検
証する形式的検証装置および方法に係わり、詳細には検
証仕様が固定的な順序回路の機能を検証する形式的検証
装置および方法に関する。
【0002】
【従来の技術】設計した論理回路が所定の機能仕様を満
たしているか否かを検証する検証工程は、論理回路の開
発における一連の工程の中でも特に重要である。例え
ば、この検証工程において論理回路の機能動作に不具合
が発見されたとき、その前工程である設計工程に戻って
発見された不具合箇所に対処することになる。この際、
対処の仕方によっては新たな不具合を作り込む場合もあ
る。これは、開発されている論理回路が複雑になればな
るほどその可能性が高くなる。このため、通常、全ての
機能仕様の検証を再度行う必要が生じる。このように、
検証工程には多大な工数を必要とし、これは設計する論
理回路が複雑になればなるほど顕著となる。したがっ
て、この検証工程を短縮することによって開発期間を大
幅に削減することができる。
【0003】このような論理回路の検証工程では、論理
シミュレーションによる方法あるいは形式的検証方法を
用いて機能検証が行われる。いずれの場合も、検証対象
となる論理回路を、構造記述や機能記述によってモデル
化することが多い。構造記述は、各構成要素と静的な接
続関係とにより回路構成を規定するもので、一方、機能
記述は、各構成要素の機能とこれら構成要素間の動的な
信号の転送状態とにより回路動作を規定するものであ
る。機能記述のうち、レジスタによって信号転送を行う
ものを、特に、レジスタトランスファレベル(Register
Transfer Level:以下、RTLと略す。)記述と呼ん
でいる。
【0004】論理シミュレーションによる方法は、例え
ばRTL記述してモデル化された検証対象となる論理回
路に対して、予め用意していた入力データ列を与え、模
擬的に論理動作させる。そして、その出力である出力デ
ータ列を、同様に予め用意していた期待値データ列と一
致するか否かを判別して、所定の機能仕様を満たしてい
るか否かを検証する。しかしながら、用意していた入力
データ列の範囲でしか検証対象の正当性を確認すること
ができない。そこで、本来の検証すべき項目を網羅する
入力データ列を作成しようとすると、網羅すべき項目を
机上で作成している限り、検証すべき項目に漏れがある
可能性が高く、検証項目を全て網羅したことを保証する
ことが非常に難しい。検証項目に漏れがあった場合、後
工程あるいは製造後に不具合が発見されることになり、
開発期間や製造コストの面で問題が生じる。また、入力
データ列を作成するにはある程度の工数を要し、本来の
検証すべき全項目について入力データ列を作成しようと
した場合、膨大な工数を必要とする。
【0005】これに対して形式的検証方法は、例えばR
TL記述してモデル化された検証対象となる論理回路を
有限状態機械に変換し、検証すべき仕様を満たしている
か否かを数学的に検証する方法である。有限状態機械
は、有限個の状態を有し、その上での状態遷移が定義さ
れる状態遷移動作モデルの一種であり、同期式順序回路
は有限状態機械へ変換可能である。このような形式的検
証では、論理シミュレーションのように検証項目に対応
したデータ列が不要であり、本来検証すべき項目の正当
性を網羅的に確認することが可能であるため、次世代の
機能検証手法として期待されている。
【0006】この形式的検証の手法としては、時相論理
を用いるものがある。時相論理とは、時間の概念を陽に
表現するための時相演算子を従来の命題論理に付加した
論理体系である。形式的検証では、まず、この時相論理
を用いて、検証すべき項目からなる検証仕様を記述す
る。そして、検証対象である順序回路を示す有限状態機
械が、この時相論理で記述された検証仕様を満足するか
否かを検証する。このような形式的検証方法に関する技
術は、例えば「論理回路処理に基づく形式的検証手法」
(平石、浜口、情報処理、Vol.35(8)、pp710-718、199
4)および特開平10−63537号公報「プロパティ
検証方法および装置」に開示されている。
【0007】これら文献で開示されている形式的検証方
法では、検証仕様は、仕様記述言語として時相論理の一
種である計算木論理(Computation Tree Logic:以下、
CTLと略す。)を用いて示される。CTLでは、通常
の論理演算子の他に、「全ての遷移系列に対して」を意
味する全称記号(A)や、「ある遷移系列に対して」を
意味する存在機構(E)があり、これらに時間に関する
性質を示す時相論理演算子を組み合わせて使用する。時
相論理演算子としては、「次の」を意味する“X”、
「いつか」を意味する“F”、「常に」を意味する
“G”、「まで」を意味する“U”がある。例えば時相
論理“AGp”は、「初期状態から全ての遷移系列にお
いて常にpが成立する」ことを意味する。
【0008】一方、検証対象となる順序回路は、有限個
の状態数の間で状態遷移する機能モデルとしての有限状
態機械に変換される。この有限状態機械は、状態遷移の
トレースに適したKripke構造で表現することがで
きる。Kripke構造Kは、状態の有限集合をV、状
態間の遷移関係をR、各状態で真になる原始命題の集合
をI、初期状態の集合をV0とすると、次式のように示
される。
【0009】 K=(V,R,I,V0) ・・・(1)
【0010】形式的検証方法の中でも、記号モデル手法
は、(1)式で示されるKripke構造で表現される
有限状態機械の状態遷移をたどり、上述した検証仕様を
示す時相論理が各状態集合において成立するか否かを検
証する。ここで、状態“p”から到達可能な状態は像計
算、状態“q”へ到達可能な状態は逆像計算を行うこと
で探索することができる。この像計算には、集合演算を
論理演算に置き換えられるように、論理演算を二分決定
グラフ(Binary Decision Diagram:以下、BDDと略
す。)で表現する。これにより、多くの論理関数をコン
パクトに表現し、高速に実行することができ、より多く
の状態数をもつ順序回路に対して、処理時間を短縮して
形式的検証を行うことができるようになる。
【0011】このような形式的検証方法では、例えば、
時相論理が上述した“AGp”の場合、Kripke構
造で表現される有限状態機械の初期状態から、順次像計
算を行って遷移可能な状態集合の全てをたどる。そし
て、結果的に全ての遷移が論理式“p”の成立する状態
に到達するか否かを検証する。これにより、検証対象の
順序回路をモデル化した有限状態機械が検証仕様を満足
していることを、網羅的に確認することができる。
【0012】また他に、このような形式的検証方法に関
する技術として、例えば特開平9−114880号公報
「論理装置の検証方法」には、構造記述の設計仕様デー
タと、外部仕様データとをそれぞれ抽象化後、再帰関数
間の等価性を証明する再帰帰納法を拡張した第2拡張再
帰帰納法を用いて抽象化後のデータの等価性を検証する
技術が開示されている。
【0013】
【発明が解決しようとする課題】しかしながら従来提案
された形式的検証方法は、BDDを用いて論理関数処理
を行うにもかかわらず、検証対象となる順序回路の規模
が大きくなるにしたがい、もはや処理能力の範囲の限界
に達している。これは、フリップフロップの個数が増加
し、これに対応して状態数の増加により、BDDだけで
は対処できないことを意味する。したがって、複雑化し
た順序回路のように状態数が増加した場合にも、論理回
路の網羅的な検証を可能とする形式的検証方法の効率化
が望まれている。
【0014】また従来提案された形式的検証方法は、C
TLやその他特定の複雑な言語で検証仕様を記述する必
要がある。したがって、検証仕様を記述するための言語
が、非常に複雑であるため、この検証仕様が、複雑な言
語で記述した作成者の熟練度や技量に依存してしまう。
さらに作成者以外の第三者が、その記述から客観的に検
証仕様を把握することも非常に難しくなる。このため、
検証仕様に、必要十分な検証項目が、全て漏れなく盛り
込まれているか否かを判断することが非常に難しい。
【0015】このように従来提案された形式的検証方法
では、検証対象が複雑になればなるほど飛躍的に高い処
理能力と大容量の記憶容量と、検証仕様作成者の高い熟
練度あるいは技量とを必要としてしまう。これは、汎用
的にあらゆる種類の同期式順序回路の形式的検証に対応
するためである。しかしながら、実際の論理回路の開発
においては、一般的な順序回路として、カウンタ回路な
どの特定の回路モジュールが多用される。したがって、
これら回路モジュールごとに、高速かつ小容量の記憶容
量で形式的検証を行って、不具合を除去するほうが開発
期間を短縮できる場合がある。また、同時に、複雑な言
語で検証仕様を記述せずに、検証仕様作成者以外の第三
者にも容易に理解できる検証仕様を定義することが望ま
れる。
【0016】そこで本発明の目的は、例えばカウンタ回
路のように、検証仕様が固定化され、かつ網羅的な検証
仕様の指定が可能な回路部分について効率的な形式的検
証を可能とする形式的検証装置および方法を提供するこ
とにある。
【0017】
【課題を解決するための手段】請求項1記載の発明で
は、(イ)検証対象となる順序回路の設計仕様を記述し
た回路設計情報を入力するための回路設計情報入力手段
と、(ロ)この回路設計情報入力手段から入力された回
路設計情報から順序回路の変数を抽出する第1の変数抽
出手段と、(ハ)回路設計情報から順序回路における状
態変数の遷移条件を抽出する第1の条件抽出手段と、
(ニ)順序回路における状態変数の割り当て方法を指定
する状態割当指定手段と、(ホ)この状態割当指定手段
によって指定された状態割り当て方法にしたがって第1
の変数抽出手段および第1の条件抽出手段によって抽出
された変数および遷移条件から、有限個の状態を有しこ
れら状態間の遷移が定義される状態遷移動作モデルとし
ての有限状態機械を生成する第1の有限状態機械生成手
段と、(ヘ)順序回路の検証項目を予め項目化したテン
プレートを入力するためのテンプレート入力手段と、
(ト)このテンプレート入力手段から入力されたテンプ
レートから変数を抽出する第2の変数抽出手段と、
(チ)テンプレートから順序回路における状態変数の遷
移条件を抽出する第2の条件抽出手段と、(リ)テンプ
レートで指定された順序回路における状態変数の状態割
り当て方法にしたがって第2の変数抽出手段および第2
の条件抽出手段によって抽出された変数および遷移条件
から有限状態機械を生成する第2の有限状態機械生成手
段と、(ヌ)第1および第2の有限状態機械生成手段に
よって生成された有限状態機械同士を照合する有限状態
機械照合手段と、(ル)この有限状態機械照合手段によ
って照合された結果を通知する照合結果通知手段とを形
式的検証装置に具備させる。
【0018】すなわち請求項1記載の発明では、回路設
計情報入力手段から検証対象の順序回路の設計仕様を記
述した回路設計情報と、この検証対象の順序回路の検証
項目を予め項目化したテンプレートとを入力させる。回
路設計情報は回路設計情報入力手段から入力させ、第1
の変数抽出手段で検証対象となる順序回路の変数を、第
1の条件抽出手段で状態変数の遷移条件を、それぞれ抽
出させる。そして、状態割当指定手段によって指定され
た検証対象の順序回路における状態変数の割り当て方法
にしたがって、第1の有限状態機械生成手段でこれら抽
出された変数および遷移条件に基づいて有限状態機械を
生成させる。一方、テンプレートはテンプレート入力手
段から入力させ、第2の変数抽出手段で検証対象となる
順序回路の変数を、第2の条件抽出手段で状態変数の遷
移条件を、それぞれ抽出させる。そして、このテンプレ
ートで指定された検証対象の順序回路における状態変数
の割り当て方法にしたがって、第2の有限状態機械生成
手段でこれら抽出された変数および遷移条件に基づいて
有限状態機械を生成させる。これら生成された有限状態
機械同士を有限状態機械照合手段で照合し、この照合結
果を照合結果通知手段で通知させることによって、検証
対象となる順序回路の形式的検証を行う。
【0019】請求項2記載の発明では、(イ)検証対象
となるカウンタ回路の設計仕様を記述した回路設計情報
を入力するための回路設計情報入力手段と、(ロ)この
回路設計情報入力手段から入力された回路設計情報から
カウンタ回路の変数を抽出する第1の変数抽出手段と、
(ハ)回路設計情報からカウンタ回路における状態変数
の遷移条件を抽出する第1の条件抽出手段と、(ニ)カ
ウンタ回路における状態変数の割り当て方法を指定する
状態割当指定手段と、(ホ)この状態割当指定手段によ
って指定された状態割り当て方法にしたがって第1の変
数抽出手段および第1の条件抽出手段によって抽出され
た変数および遷移条件から、有限個の状態を有しこれら
状態間の遷移が定義される状態遷移動作モデルとしての
有限状態機械の状態変数と遷移条件とを対にした節点お
よびこれら節点間を結ぶ枝を生成する第1の有限状態機
械生成手段と、(ヘ)カウンタ回路の検証項目として状
態変数名、状態割り当て方法、状態変数の初期値、上限
値、下限値および遷移条件を予め項目化したテンプレー
トを入力するためのテンプレート入力手段と、(ト)こ
のテンプレート入力手段から入力されたテンプレートか
ら変数を抽出する第2の変数抽出手段と、(チ)テンプ
レートからカウンタ回路における状態変数の遷移条件を
抽出する第2の条件抽出手段と、(リ)テンプレートで
指定された状態割り当て方法にしたがって第2の変数抽
出手段および第2の条件抽出手段によって抽出された変
数および遷移条件から、有限状態機械の状態変数と遷移
条件とを対にした節点およびこれら節点間を結ぶ枝を生
成する第2の有限状態機械生成手段と、(ヌ)第1およ
び第2の有限状態機械生成手段によって生成された有限
状態機械を構成する全節点の一致を照合する節点照合手
段と、(ル)この節点照合手段によって互いの節点が全
て一致したとき第1および第2の有限状態機械の節点に
対応して遷移先の節点を指定する枝の全ての一致を照合
する枝照合手段と、(ヲ)この枝照合手段によって照合
された結果を通知する照合結果通知手段とを形式的検証
装置に具備させる。
【0020】すなわち請求項2記載の発明では、回路設
計情報入力手段から検証対象のカウンタ回路の設計仕様
を記述した回路設計情報と、この検証対象のカウンタ回
路の検証項目を予め項目化したテンプレートとを入力さ
せる。カウンタ回路のテンプレートは、検証項目として
状態変数名、状態割り当て方法、状態変数の初期値、上
限値、下限値および遷移条件が予め項目化されている。
回路設計情報は回路設計情報入力手段から入力させ、第
1の変数抽出手段で検証対象となる順序回路の変数を、
第1の条件抽出手段で状態変数の遷移条件を、それぞれ
抽出させる。そして、状態割当指定手段によって指定さ
れた検証対象の順序回路における状態変数の割り当て方
法にしたがって、第1の有限状態機械生成手段でこれら
抽出された変数および遷移条件に基づいて、状態変数と
遷移条件とからなる節点とこれら節点間を結ぶ枝からな
る、いわゆるKripke構造の有限状態機械を生成さ
せる。一方、テンプレートはテンプレート入力手段から
入力させ、第2の変数抽出手段で検証対象となる順序回
路の変数を、第2の条件抽出手段で状態変数の遷移条件
を、それぞれ抽出させる。そして、このテンプレートで
指定された検証対象の順序回路における状態変数の割り
当て方法にしたがって、第2の有限状態機械生成手段で
これら抽出された変数および遷移条件に基づいて、状態
変数と遷移条件とからなる節点とこれら節点間を結ぶ枝
からなる、いわゆるKripke構造の有限状態機械を
生成させる。これら有限状態機械同士は、まず節点照合
手段で全ての節点が一致したことが照合され、次に枝照
合手段で各節点に対応して遷移先を指定する枝がすべて
一致したことが照合され、この照合結果は照合結果通知
手段で通知される。
【0021】請求項3記載の発明では、(イ)検証対象
となる同期保護回路の設計仕様を記述した回路設計情報
を入力するための回路設計情報入力手段と、(ロ)この
回路設計情報入力手段から入力された回路設計情報から
同期保護回路の変数を抽出する第1の変数抽出手段と、
(ハ)回路設計情報から同期保護回路における状態変数
の遷移条件を抽出する第1の条件抽出手段と、(ニ)同
期保護回路における状態変数の割り当て方法を指定する
状態割当指定手段と、(ホ)この状態割当指定手段によ
って指定された状態割り当て方法にしたがって第1の変
数抽出手段および第1の条件抽出手段によって抽出され
た変数および遷移条件から、有限個の状態を有しこれら
状態間の遷移が定義される状態遷移動作モデルとしての
有限状態機械の状態変数と遷移条件とを対にした節点お
よびこれら節点間を結ぶ枝を生成する第1の有限状態機
械生成手段と、(ヘ)同期保護回路の検証項目として状
態変数名、状態割り当て方法、遷移条件、条件成立保護
段数および条件非成立保護段数を予め項目化したテンプ
レートを入力するためのテンプレート入力手段と、
(ト)このテンプレート入力手段から入力されたテンプ
レートから変数を抽出する第2の変数抽出手段と、
(チ)テンプレートに指定された遷移条件、条件成立保
護段数および条件非成立保護段数から同期保護回路にお
ける状態変数の遷移条件を抽出する第2の条件抽出手段
と、(リ)テンプレートで指定された状態割り当て方法
にしたがって第2の変数抽出手段および第2の条件抽出
手段によって抽出された変数および遷移条件から、有限
状態機械の状態変数と遷移条件とを対にした節点および
これら節点間を結ぶ枝を生成する第2の有限状態機械生
成手段と、(ヌ)第1および第2の有限状態機械生成手
段によって生成された有限状態機械を構成する全節点の
一致を照合する節点照合手段と、(ル)この節点照合手
段によって互いの節点が全て一致したとき第1および第
2の有限状態機械の節点に対応して遷移先の節点を指定
する枝の全ての一致を照合する枝照合手段と、(ヲ)こ
の枝照合手段によって照合された結果を通知する照合結
果通知手段とを形式的検証装置に具備させる。
【0022】すなわち請求項3記載の発明では、検証対
象となる順序回路が同期保護回路の場合にはテンプレー
トに検証項目として、予め項目化した状態変数名、状態
割り当て方法、遷移条件、条件成立保護段数および条件
非成立保護段数を設けるようにした。そして、請求項2
記載の発明と同様に、同期保護回路の設計仕様を記述し
た回路設計情報と、このテンプレートとからそれぞれK
ripke構造の有限状態機械を生成するようにしてい
る。特に、第2の変数抽出手段でテンプレートから検証
対象となる順序回路の変数を抽出し、第2の条件抽出手
段でこのテンプレートで指定された遷移条件、条件成立
保護段数および条件非成立保護段数から変数の遷移条件
を抽出するようにした。そして、このテンプレートで指
定された検証対象の順序回路における状態変数の割り当
て方法にしたがって、第2の有限状態機械生成手段でこ
れら抽出された変数および遷移条件に基づいて、状態変
数と遷移条件とからなる節点とこれら節点間を結ぶ枝か
らなるいわゆるKripke構造の有限状態機械を生成
させる。これら有限状態機械同士は、まず節点照合手段
で全ての節点が一致したことが照合され、次に枝照合手
段で各節点に対応して遷移先を指定する枝がすべて一致
したことが照合され、この照合結果は照合結果通知手段
で通知される。
【0023】請求項4記載の発明では、(イ)検証対象
となる順序回路の設計仕様を記述した回路設計情報から
抽出した変数および順序回路における状態変数の遷移条
件に基づいて予め指定された順序回路における状態変数
の割り当て方法にしたがって回路設計情報から変換した
有限個の状態を有しこれら状態間の遷移が定義される状
態遷移動作モデルとしての第1の有限状態機械と、順序
回路の検証項目を予め項目化したテンプレートから抽出
した変数および順序回路における状態変数の遷移条件に
基づいてテンプレートで指定された状態割り当て方法に
したがってテンプレートから変換した第2の有限状態機
械とをそれぞれ生成する有限状態機械生成ステップと、
(ロ)この有限状態機械生成ステップで生成された第1
および第2の有限状態機械同士を照合する有限状態機械
照合ステップと、(ハ)この有限状態機械照合ステップ
で照合された結果を通知する照合結果通知ステップとを
形式的検証方法に具備させる。
【0024】すなわち請求項4記載の発明では、有限状
態機械生成ステップで、検証対象となる順序回路の設計
仕様を記述した回路設計情報から第1の有限状態機械
と、この順序回路の検証項目を予め項目化したテンプレ
ートから第2の有限状態機械を、それぞれ生成させるよ
うにした。第1の有限状態機械は、回路設計情報から抽
出した変数および順序回路における状態変数の遷移条件
に基づいて、予め指定された方法にしたがって順序回路
における状態変数の割り当てを行って生成する。一方、
第2の有限状態機械は、このテンプレートから抽出した
変数および順序回路における状態変数の遷移条件に基づ
いて、同様にテンプレートで指定された状態割り当て方
法にしたがって状態割り当てを行って生成する。そし
て、有限状態機械照合ステップで、これら第1および第
2の有限状態機械同士を照合させ、照合結果通知ステッ
プで、この照合結果を通知させるようにした。
【0025】請求項5記載の発明では、(イ)検証対象
となるカウンタ回路の設計仕様を記述した回路設計情報
から抽出した変数およびカウンタ回路における状態変数
の遷移条件に基づいて予め指定されたカウンタ回路にお
ける状態変数の割り当て方法にしたがって回路設計情報
から変換した状態変数と遷移条件とを対にした節点およ
びこれら節点間を結ぶ枝からなり、有限個の状態を有し
これら状態間の遷移が定義される状態遷移動作モデルと
しての第1の有限状態機械と、カウンタ回路の検証項目
として状態変数名、状態割り当て方法、状態変数の初期
値、上限値、下限値および遷移条件を予め項目化したテ
ンプレートから抽出した変数およびカウンタ回路におけ
る状態変数の遷移条件に基づいてテンプレートで指定さ
れた状態割り当て方法にしたがってテンプレートから変
換した状態変数と遷移条件とを対にした節点およびこれ
ら節点間を結ぶ枝からなる第2の有限状態機械とを生成
する有限状態機械生成ステップと、(ロ)この有限状態
機械生成ステップで生成された第1および第2の有限状
態機械を構成する全節点が一致するかを照合する節点照
合ステップと、(ハ)この節点照合ステップで互いの節
点が全て一致したとき第1および第2の有限状態機械の
節点に対応して遷移先の節点を指定する枝が全て一致す
るかを照合する枝照合ステップと、(ニ)この枝照合ス
テップで照合された結果を通知する照合結果通知ステッ
プとを形式的検証方法に具備させる。
【0026】すなわち請求項5記載の発明では、有限状
態機械生成ステップで、検証対象となるカウンタ回路の
設計仕様を記述した回路設計情報から第1の有限状態機
械と、このカウンタ回路の検証項目を予め項目化したテ
ンプレートから第2の有限状態機械を、それぞれ生成さ
せるようにした。このテンプレートは、カウンタ回路の
検証項目として状態変数名、状態割り当て方法、状態変
数の初期値、上限値、下限値および遷移条件を予め項目
化されている。第1の有限状態機械は、回路設計情報か
ら抽出した変数およびカウンタ回路における状態変数の
遷移条件に基づいて、予め指定された方法にしたがって
カウンタ回路における状態変数の割り当てを行って生成
された、状態変数と遷移条件との対である節点とこれら
節点間を結ぶ枝からなる、いわゆるKripke構造の
有限状態機械である。一方、第2の有限状態機械は、テ
ンプレートから抽出した変数およびカウンタ回路におけ
る状態変数の遷移条件に基づいて、テンプレートで指定
された状態割り当て方法にしたがってテンプレートから
変換した状態変数と遷移条件とを対にした節点およびこ
れら節点間を結ぶ枝からなる、いわゆるKripke構
造をなしている。次に、節点照合ステップで、この有限
状態機械生成ステップで生成された第1および第2の有
限状態機械を構成する全節点が一致するかが照合され、
枝照合ステップで、この節点照合ステップで互いの節点
が全て一致したとき第1および第2の有限状態機械の節
点に対応して遷移先の節点を指定する枝が全て一致する
かを照合させる。照合結果通知ステップでは、この枝照
合ステップで照合された結果を通知させる。
【0027】請求項6記載の発明では、(イ)検証対象
となる同期保護回路の設計仕様を記述した回路設計情報
から抽出された変数および同期保護回路における状態変
数の遷移条件に基づいて予め指定された同期保護回路に
おける状態変数の割り当て方法にしたがって回路設計情
報から変換した状態変数と遷移条件とを対にした節点お
よびこれら節点間を結ぶ枝からなり、有限個の状態を有
しこれら状態間の遷移が定義される状態遷移動作モデル
としての第1の有限状態機械と、同期保護回路の検証項
目として状態変数名、状態割り当て方法、遷移条件、条
件成立保護段数および条件非成立保護段数を予め項目化
したテンプレートから抽出した変数およびテンプレート
に指定された遷移条件、条件成立保護段数および条件非
成立保護段数から抽出した同期保護回路における状態変
数の遷移条件に基づいてテンプレートで指定された状態
割り当て方法にしたがってテンプレートから変換した状
態変数と遷移条件とを対にした節点およびこれら節点間
を結ぶ枝からなる第2の有限状態機械とを生成する有限
状態機械生成ステップと、(ロ)この有限状態機械生成
ステップで生成された第1および第2の有限状態機械を
構成する全節点が一致するかを照合する節点照合ステッ
プと、(ハ)この節点照合ステップで互いの節点が全て
一致したとき第1および第2の有限状態機械の節点に対
応して遷移先の節点を指定する枝が全て一致するかを照
合する枝照合ステップと、(ニ)この枝照合ステップで
照合された結果を通知する照合結果通知ステップとを形
式的検証方法に具備させる。
【0028】すなわち請求項6記載の発明では、有限状
態機械生成ステップで、検証対象となる同期保護回路の
設計仕様を記述した回路設計情報から第1の有限状態機
械と、この同期保護回路の検証項目を予め項目化したテ
ンプレートから第2の有限状態機械を、それぞれ生成さ
せるようにした。このテンプレートは、同期保護回路の
検証項目として状態変数名、状態割り当て方法、遷移条
件、条件成立保護段数および条件非成立保護段数を予め
項目化されている。第1の有限状態機械は、回路設計情
報から抽出した変数および同期保護回路における状態変
数の遷移条件に基づいて、予め指定された方法にしたが
って同期保護回路における状態変数の割り当てを行って
生成された、状態変数と遷移条件との対である節点とこ
れら節点間を結ぶ枝からなる、いわゆるKripke構
造の有限状態機械である。一方、第2の有限状態機械
は、テンプレートから抽出した変数と、テンプレートに
指定された遷移条件、条件成立保護段数および条件非成
立保護段数から抽出された同期保護回路における状態変
数の遷移条件に基づいて、テンプレートで指定された状
態割り当て方法にしたがってテンプレートから変換した
状態変数と遷移条件とを対にした節点およびこれら節点
間を結ぶ枝からなる、いわゆるKripke構造をなし
ている。次に、節点照合ステップで、この有限状態機械
生成ステップで生成された第1および第2の有限状態機
械を構成する全節点が一致するかが照合され、枝照合ス
テップで、この節点照合ステップで互いの節点が全て一
致したとき第1および第2の有限状態機械の節点に対応
して遷移先の節点を指定する枝が全て一致するかを照合
させる。照合結果通知ステップでは、この枝照合ステッ
プで照合された結果を通知させる。
【0029】
【発明の実施の形態】
【0030】
【実施例】以下実施例につき本発明を詳細に説明する。
【0031】第1の実施例
【0032】図1は本発明の第1の実施例における形式
的検証装置の構成の概要を表わしたものである。第1の
実施例における形式的検証装置は、例えばカウンタ回路
などのように、検証すべき項目としての検証仕様がほぼ
固定化されている順序回路の設計仕様を記述した回路設
計情報に対して形式的検証を行う。この設計仕様として
は、例えば構造記述で規定される回路構造やRTL記述
で規定される回路機能等がある。以下では、設計仕様と
して検証対象となる順序回路の機能がRTL記述で記述
される回路設計情報を用いるものとして説明する。この
形式的検証装置は、回路設計情報としてRTL記述の回
路記述で規定された検証対象となる順序回路を上述した
Kripke構造で表現された有限状態機械に変換する
回路記述処理部10と、検証対象の順序回路の検証仕様
を発生するためのテンプレートからKripke構造で
表現された有限状態機械に変換するテンプレート処理部
11とを備えている。さらに、この形式的検証装置は、
回路記述処理部10およびテンプレート処理部11でそ
れぞれ変換された有限状態機械同士を照合する有限状態
機械照合部12と、この有限状態機械照合部12の照合
結果を通知する照合結果通知部13とを有している。K
ripke構造で表現された有限状態機械は、各状態と
遷移条件とを対にして表わされるため、有限状態機械を
構成する各状態と各枝とを対比することによって、複雑
な有限状態機械同士の照合を容易に行うことができる。
【0033】回路記述処理部10は、検証対象の順序回
路を規定する回路記述としてRTL記述された回路設計
情報を入力するための回路記述入力部14と、この回路
記述入力部14から入力されたRTL記述を参照してR
TL記述内で規定されている有限状態機械に変換するた
めの変数および遷移条件を抽出する変数・条件抽出部1
5と、実際の回路を生成する際に用いる順序回路の各状
態の割り当て方法を指定する状態割当指定部16とを有
している。さらに、回路記述処理部10は、変数・条件
抽出部15で抽出された変数および遷移条件と状態割当
指定部16によって割り当てられた状態の割り当て方法
とにしたがって有限状態機械を生成する有限状態機械変
換部17を備えている。有限状態機械変換部17は、有
限状態機械の各節点を生成する節点生成部18と、この
節点生成部18によって生成された節点同士を接続する
枝を生成する枝生成部19とを備えている。
【0034】テンプレート処理部11は、検証対象とな
る順序回路に応じて、その検証すべき項目が検証仕様と
して予め項目化され、この各項目内容を入力するための
テンプレート入力部20と、このテンプレート入力部2
0から入力された検証項目を参照して有限状態機械に変
換するための変数および遷移条件を抽出する変数・条件
抽出部21と、テンプレート入力部20から入力された
テンプレートに規定され実際の回路を生成する際に用い
る順序回路の各状態の割り当て方法を抽出する状態割当
抽出部22とを有している。さらに、テンプレート処理
部11は、変数・条件抽出部21で抽出された変数およ
び遷移条件と状態割当抽出部22によってテンプレート
から抽出された状態の割り当て方法とにしたがって有限
状態機械を生成する有限状態機械変換部23を備えてい
る。有限状態機械変換部23は、有限状態機械の各節点
を生成する節点生成部24と、この節点生成部24によ
って生成された節点同士を接続する枝を生成する枝生成
部25とを備えている。
【0035】図2はテンプレート入力部20から入力さ
れるテンプレートの構成の概要を表わしたものである。
テンプレート30は、有限状態機械の各状態を示すため
の状態変数名31と、各状態の割り当て方法を指定する
状態割当指定32と、検証対象となる順序回路の種類、
構成や規模に応じて異なる検証すべき複数の第1〜第P
の検証項目331〜33Pとから構成されている。左欄の
項目34は、例えば検証対象となる順序回路がカウンタ
回路である場合、予め初期値、下限値、上限値、UP条
件、DOWN条件、そして各種クリア条件とクリア値の
組み合わせなどの検証項目が設けられている。変数・条
件抽出部21は、このテンプレートの左欄の項目34に
対応して右欄に予め設定されている設定値35から、有
限状態機械を生成するための変数および遷移条件を抽出
する。
【0036】この形式的検証装置は、検証対象となる順
序回路が例えばカウンタ回路等のように検証仕様がほぼ
固定化されている場合、この順序回路を規定するRTL
記述と、検証仕様として検証すべき項目を全て項目化し
たテンプレートとに基づいて、形式的検証を行う。この
際、入力された回路記述およびテンプレートからそれぞ
れ直接的に有限状態機械に変換し、これら有限状態機械
同士を照合することによって、形式的検証を行うことが
できるようになっている。
【0037】図3は回路記述処理部10およびテンプレ
ート処理部11によって変換される有限状態機械の一例
を表わしたものである。ここでは、カウンタ値を示す有
限状態機械の状態変数CNTの取り得る値の範囲が
“0”〜“3”で、クリア条件fpbが1ビットのカウ
ンタ回路について、バイナリエンコーディングされた複
数の状態からなる有限状態機械を示している。この有限
状態機械は、上述したKripke構造で表現されてお
り、8つの状態を有する状態集合Vと、2つの初期状態
を有する初期状態集合V0とを有している。ここで、各
状態はそれぞれ真となる原始命題I、これら状態間の遷
移は枝Rとなることから、上述した(1)式に対応して
いる。すなわち、状態変数CNTの範囲“0”〜“3”
に対応して“00”〜“11”の4種類の状態と、クリ
ア条件fpbの取り得る値“1”、“0”の2種類との
組み合わせにより、各状態は(fpb,CNT)で示さ
れる8種類の状態361〜368からなる。初期状態集合
0は、(0,00)で示される状態361と状態(1,
00)で示される状態362とからなる。状態集合V
は、初期状態集合V0と、それぞれ(0,01)、
(1,01)、(0,10)、(1,10)、(0,1
1)そして(1,11)で示される状態363〜368
からなる。これら各状態361〜368は、それぞれ遷移
関係を示す枝37で接続されている。
【0038】図4は図3に示した有限状態機械の遷移の
様子を表わしたものである。ここでは、図3における有
限状態機械の状態363、364に着目している。同図
(a)は、図3に示したカウンタ回路の同期基準となる
クロック信号を示す。同図(b)は、ある時刻Tにおけ
る状態変数CNTが“01”の場合におけるCNTの変
化を示す。同図(c)は、ある時刻Tにおけるクリア条
件fpbが非アクティブである“1”の場合を示す。同
図(d)は、ある時刻Tにおける状態変数CNTが“1
0”の場合におけるCNTの変化を示す。同図(e)
は、ある時刻Tにおけるクリア条件fpbがアクティブ
である“0”の場合を示す。
【0039】同図(b)に示すように、時刻Tで状態変
数CNTが“01”で、クリア条件fpbが非アクティ
ブである“1”のとき、次のクロック信号の立ち上がり
で、状態変数CNTが“10”に変化する。このタイミ
ングにおけるクリア条件fpb38は、非アクティブで
ある“1”、あるいはアクティブである“0”のどちら
かが入力される可能性がある。したがって、(1,0
1)を示す状態364は、(1,10)、(0,10)
を示す状態366、365への遷移があることになり、こ
れに対応して枝で接続される。
【0040】また、同図(d)に示すように、時刻Tで
状態変数CNTが“01”で、クリア条件fpbがアク
ティブである“1”のとき、次のクロック信号の立ち上
がりで、状態変数CNTはクリアされて“00”に変化
する。このタイミングにおけるクリア条件fpb39
は、非アクティブである“1”、あるいはアクティブで
ある“0”のどちらかが入力される可能性がある。した
がって、(0,01)を示す状態363は、(1,0
0)、(0,00)を示す状態362、361への遷移が
あることになり、これに対応して枝で接続される。他の
遷移も同様にして示される。
【0041】以下では、このような有限状態機械への変
換を行う第1の実施例における形式的検証装置の回路記
述処理部10およびテンプレート処理部11の要部構成
について説明する。
【0042】図5は図1に示した回路記述処理部10の
構成要部の概要を表わしたものである。ただし、図1に
示した形式的検証装置と同一部分には同一符号を付し、
適宜説明を省略する。変数・条件抽出部15は、変数抽
出部40と、変数代入・条件抽出部41とを有してい
る。節点生成部18は、変数範囲判定部42と、変数状
態割当部43と、節点化部44とを有している。回路記
述入力部14から入力された検証対象の順序回路を規定
するRTL記述された回路設計情報は、変数・条件抽出
部15に入力される。変数・条件抽出部15では、変数
抽出部40において、入力されたRTL記述で用いられ
る内部変数および外部変数が抽出される。さらに変数代
入・条件抽出部41において、この変数抽出部40で抽
出された内部変数および外部変数について、RTL記述
内における条件と変数代入とが網羅的に抽出される。変
数・条件抽出部15で抽出された各変数代入および条件
は、有限状態機械変換部17に通知される。
【0043】有限状態機械変換部17では、節点生成部
18において、状態割当指定部16から指定された状態
割り当て方法にしたがって、抽出された変数の範囲で節
点を生成する。すなわち、節点生成部18の変数範囲判
定部42で、入力されたRTL記述から変数抽出部40
で抽出された各変数に基づいて、各変数の取り得る範囲
を判定する。さらに、変数状態割当部43で、例えばバ
イナリエンコーディングのように状態割当指定部16で
指定された状態割り当て方法にしたがって、変数範囲判
定部42で判定された変数範囲から状態の割り当てを行
う。節点化部44は、変数状態割当部43で割り当てら
れた状態と変数代入・条件抽出部41で抽出された遷移
条件とに基づいて、全ての組み合わせの節点を生成す
る。このようにして生成された節点は、枝生成部19に
おいて、抽出された変数代入および条件にしたがって遷
移される節点間に枝が生成される。
【0044】図6は図1に示したテンプレート処理部1
1の構成要部の概要を表わしたものである。ただし、図
1に示した形式的検証装置と同一部分には同一符号を付
し、適宜説明を省略する。変数・条件抽出部21は、変
数抽出部45と、変数代入・条件抽出部46とを有して
いる。節点生成部24は、変数範囲判定部47と、変数
状態割当部48と、節点化部49とを有している。枝生
成部25は、テンプレート入力部20から入力されるテ
ンプレートの構成に対応して第1〜第Nの枝生成部50
1〜50Nを備えている。テンプレート入力部20から入
力されたテンプレートは、変数・条件抽出部21に入力
される。変数・条件抽出部21では、変数抽出部45に
おいて、図2に示したように予め検証対象の順序回路に
応じて設けられた各検証項目の設定値から内部変数およ
び外部変数が解析されて抽出される。さらに変数代入・
条件抽出部46において、変数抽出部45で抽出された
内部変数および外部変数について、検証対象となる順序
回路に対応して設けられた検証項目に含まれる各種状態
遷移条件から、遷移条件と変数代入とが抽出される。変
数・条件抽出部21で抽出された各変数代入および条件
は、有限状態機械変換部23に通知される。
【0045】有限状態機械変換部23では、節点生成部
24で状態割当抽出部22によってテンプレートから抽
出された状態割り当て方法にしたがって、抽出された変
数の範囲で節点を生成する。すなわち、節点生成部24
の変数範囲判定部47で、入力されたテンプレートから
変数抽出部45で抽出された各変数に基づいて、各変数
の取り得る範囲を判定する。さらに、変数状態割当部4
8で、例えばバイナリエンコーディングのように状態割
当抽出部22で抽出された状態割り当て方法にしたがっ
て、変数範囲判定部47で判定された変数範囲から状態
の割り当てを行う。節点化部49は、変数状態割当部4
8で割り当てられた状態と変数代入・条件抽出部46で
抽出された遷移条件と変数代入とに基づいて、全ての組
み合わせの節点を生成する。このようにして生成された
節点同士は、枝生成部25で抽出された変数代入および
条件にしたがって生成された枝で接続される。枝生成部
25では、変数代入・条件抽出部46で抽出された各種
状態遷移条件に対応する第1〜第Nの枝生成部501
50Nにおいて、節点生成部24で生成された各節点同
士を接続する枝を生成する。
【0046】このような構成の形式的検証装置は、例え
ばカウンタ回路などのように検証仕様がほぼ固定化され
た順序回路に対して、この順序回路を規定するRTL記
述と、上述したテンプレートとから、それぞれ直接的に
Kripke構造で表現された有限状態機械に変換す
る。そして、それぞれの有限状態機械の節点および枝を
対比して有限状態機械同士を照合することによって、形
式的検証を行う。
【0047】このような制御を可能とする形式的検証装
置は、図示しない中央処理装置(Central Processing U
nit:CPU)を有しており、呼び出し専用メモリ(Rea
d Only Memory:ROM)などの所定の記憶装置に格納
されたプログラムに基づいて各種制御を実行することが
できるようになっている。
【0048】図7はこのような形式的検証を行うプログ
ラムの処理内容の概要を表わしたものである。まず、回
路記述入力部14から入力された検証対象の順序回路を
規定した回路(RTL)記述された回路設計情報を、上
述したように有限状態機械に変換する(ステップS5
2)。続いて、テンプレート入力部20から入力された
検証対象の順序回路の検証項目を規定するテンプレート
の設定値を参照して、有限状態機械に変換する(ステッ
プS53)。ステップS52およびステップS53で変
換された有限状態機械は、Kripke構造で表現され
るようになっている。すなわち、変換された有限状態機
械は、各状態とこれらを結ぶ枝とで表現することができ
る。
【0049】図8は回路記述処理部10およびテンプレ
ート処理部11によって行われた有限状態機械の変換結
果の一例を表わしたものである。同図(a)は、回路記
述処理部10によって処理された有限状態機械の変換結
果を示す。同図(b)は、テンプレート処理部11によ
って処理された有限状態機械の変換結果を示す。同図
(a)に示すように、回路記述処理部10による有限状
態機械の変換結果は、各状態を示す節点54と、この節
点からの遷移先の節点によって示される第1〜第Mの枝
551〜55Mとから構成されている。例えば、図3に示
す有限状態機械における(1,00)を示す状態362
については、節点54に(1,00)、第1の枝551
に枝56に対応する(0,01)、第2の枝552に枝
57に対応する(1,01)となる。また、同図(b)
に示すように、テンプレート処理部11による有限状態
機械の変換結果は、各状態を示す節点58と、この節点
からの遷移先の節点によって示される第1〜第Lの枝5
1〜59Lとから構成されている。例えば、図3に示す
有限状態機械における(1,00)を示す状態362
ついては、節点58に(1,00)、第1の枝591
枝57に対応する(1,01)、第2の枝592に枝5
6に対応する(0,01)となる。
【0050】図7に戻って説明を続ける。ステップS5
2およびステップS53で、それぞれ有限状態機械に変
換された後、図1に示す有限状態機械照合部12におい
て、図8に示すように各処理結果の節点で示される各状
態同士の照合が行われる(ステップS60)。図8に示
す処理結果の一例においては、同図(a)の節点54に
対して、同図(b)の節点58にある複数の節点のう
ち、同じ節点(1,00)のものを検索する。次に、こ
れら状態間の遷移関係である枝の照合を行う(ステップ
S61)。図8に示す処理結果の一例においては、第1
および第2の枝551、552が、同じ節点の枝である第
1および第2の枝591、592と同一か否かをチェック
する。このようにして、全ての節点について、それぞれ
の枝も同一のとき(ステップS62:Y)、照合結果通
知部13により、検証仕様が成立したことを通知させ
(ステップS63)、一連の処理を終了する(エン
ド)。ステップS62で、節点あるいは枝の照合のうち
1つでも照合しなかったとき(ステップS62:N)、
照合結果通知部13により、検証仕様が不成立であった
ことを通知させ(ステップS63)、一連の処理を終了
する(エンド)。
【0051】次に、これまで説明した第1の実施例にお
ける形式的検証装置の動作について具体的に説明する。
以下では、検証対象となる順序回路を、クロック信号の
立ち上がりに同期して、状態変数CNTの取り得る値の
範囲“0”〜“3”でカウントし、そのクリア条件fp
bが1ビットのカウンタ回路とする。
【0052】図9はこの検証対象となるカウンタ回路の
動作を示す状態遷移の様子を表わしたものである。この
ように検証対象のカウンタ回路は、状態変数CNT“0
0”、“01”、“10”、“11”に対応した状態間
を、クリア条件fpbの値に応じて遷移する。クリア条
件fpbは、“1”が非アクティブで、“0”がアクテ
ィブである。したがって、クロック信号の立ち上がりエ
ッジで、クリア条件fpbが“1”のときは、状態変数
CNTの値を“1”ずつカウントアップし、クリア条件
fpbが“0”のときは、無条件に状態変数CNTがク
リアされ“00”になる。状態変数CNTの上限値は
“11”で、この上限値でさらにカウントアップした場
合、再び状態変数CNTは“00”に戻る。
【0053】図10はこのような検証対象のカウンタ回
路を規定するRTL記述例を表わしたものである。この
RTL記述は、1行目および2行目の“proces
s”および“begin”から14行目の“end p
rocess”までを1つの回路構成単位としている。
その動作としては、3行目のif条件が真、すなわちc
lk信号の立ち上がりエッジのとき、4行目から13行
目までのthen節の動作を行う。4行目のif条件が
真、すなわちクリア条件fpbがアクティブの“0”の
とき、状態変数CNTはクリアされ“0”になる。ま
た、7行目のif条件が真、すなわちクリア条件が非ア
クティブの“1”で、かつ状態変数CNTが“3”のと
き、状態変数CNTは“0”に設定される。さらに10
行目で、クリア条件が非アクティブの“1”で、かつ状
態変数CNTが“3”ではないとき、状態変数CNTは
カウントアップされる。上述した3行目のif条件で示
されるclk信号の立ち上がりエッジのたびに、このよ
うなカウント動作を行う。
【0054】このようなRTL記述で規定されたカウン
タ回路の形式的検証を行うために、第1の実施例におけ
る形式的検証装置では、このカウンタ回路の検証仕様を
発生するために予め網羅的な検証項目が規定されたテン
プレートを用いる。
【0055】図11は図10で規定したカウンタ回路の
形式的検証に用いるテンプレートの概要を表わしたもの
である。このテンプレート70は、有限状態機械におけ
る状態割り当ての対象となる変数を指定する状態変数名
711がCNTであることを示す。そして、この状態変
数CNTの割り当て方法を指定する状態割当指定71 2
は、バイナリエンコーディングが指定されている。この
ような状態割当指定としては、例えば各状態にそれぞれ
1ビットを割り当てるワンホットエンコーディングや、
隣接して割り当てられた状態間の互いの符号を1ビット
だけ異なるようにするグレイコードエンコーディングな
どがある。そして、状態変数CNTの初期値713
“0”として、下限値714および上限値715から、こ
のカウンタ回路が“0”から“3”までカウントされる
ことになる。さらに、UP条件71 6“True”によ
り、カウントアップを指定する。このテンプレートは、
UP条件716と排他的に指定することができるDOW
N条件717の項目があり、DOWN条件717が“Tr
ue”のとき、カウントダウンを指定する。あるいは、
外部変数に応じてUP条件716あるいはDOWN条件
717のいずれか一方が排他的に真となるように指定す
ることも可能である。
【0056】その他、遷移条件としての第1のクリア条
件718では、クリア条件fpbが“0”のとき、状態
変数CNTが第1のクリア値719で示される状態に遷
移させられることを示している。その他の遷移条件とし
て第2のクリア条件7110と、第2のクリア条件7110
が真になったときの状態変数CNTの遷移する値を示す
第2のクリア値7111の項目があるが、ここでは指定さ
れない。他に、イネーブル条件などが規定される場合も
ある。さらに、UP条件716が“True”であるこ
とに対応して、UP上限値保持7112を“No”とする
ことで、状態変数CNTが上限値のとき、さらにカウン
トアップすると状態変数CNTを再び“0”に遷移させ
て動作させることを示す。UP上限値保持7112が“Y
es”のときは、それ以上CNTの値を変更せず、上限
値を保持させる。DOWN条件717が“True”の
場合には、DOWN下限値保持7113で“Yes”ある
いは“No”を指定する。
【0057】上述した図7に示す形式的検証の処理の流
れに従い、まず図10に示す検証対象のカウンタ回路を
規定するRTL記述が、回路記述処理部10の回路記述
入力部14に入力される。ここでは、図7のステップS
52で示したように、RTL記述で規定された回路設計
情報を有限状態機械に変換する。
【0058】図12は図7のステップS52に示す回路
記述処理部10における上述のカウンタ回路を規定する
回路(RTL)記述から有限状態機械への変換処理の内
容の概要を表わしたものである。まず、回路記述入力部
14から図10に示した回路(RTL)記述された回路
設計情報を入力させる(ステップS80)。続いて、状
態割当指定部16から図11に示すテンプレート70の
状態割当指定712と同じ状態割り当て方法を指定させ
る(ステップS81)。そして、変数・条件抽出部15
の変数抽出部40で、変数の抽出が行われる(ステップ
S82)。すなわち、RTL記述から、内部変数および
外部変数を抽出する。より具体的には、RTL記述の中
で代入および参照が行われている変数を内部変数と判断
し、図10に示すRTL記述に対しては、内部変数とし
て変数CNTを抽出する。また、RTL記述の中で参照
が行われ、かつ代入が行われない変数を外部変数と判断
し、図10に示すRTL記述に対しては、外部変数とし
て変数fpbを抽出する。次に、変数代入・条件抽出部
41で、RTL記述の中から変数代入と遷移条件を網羅
的に抽出する(ステップS83)。したがって、図10
に示すRTL記述では、次のように抽出される。
【0059】 条件:fpb=0 代入:CNT=0 条件:fpb=1かつCNT=3 代入:CNT=0 条件:fpb=1かつCNT=3以外 代入:CNT=CNT+1
【0060】続いて、節点生成部18の変数範囲判定部
42で、変数抽出部40で抽出された変数について、変
数代入・条件抽出部41で抽出された遷移条件を参照し
て、変数の取り得る値を判定する(ステップS84)。
図10に示すRTL記述では、CNTは“0”〜
“3”、fpbは“0”または“1”の範囲である。そ
して、変数状態割当部43で、状態割当指定部16から
指定された状態割り当て方法にしたがって、RTL記述
から抽出した変数の状態割り当てを行う(ステップS8
5)。図10に示すRTL記述では、変数CNTは整数
で扱われているが、状態割り当て方法としてバイナリエ
ンコーディングが指定されているため、内部変数CNT
が“0”〜“3”の範囲に対して“00”、“01”、
“10”、“11”が割り当てられる。
【0061】次に節点化部44で変数の全組み合わせを
節点化する(ステップS86)。図10に示すRTL記
述では、fpbが“0”または“1”、CNTが“0”
〜“3”であるため、8(=2×4)通りの節点を生成
する。
【0062】さらに、枝生成部19で、変数代入・条件
抽出部41で網羅的に抽出された変数代入と遷移条件に
基づいて、節点化部44で生成された節点を接続する枝
を生成する(ステップS87)。図10に示すRTL記
述では、条件「fpb=0」に対して代入「CNT=
0」が抽出された変数代入と遷移条件について、現節点
で「fpb=0」が真である全節点から、次節点で「C
NT=00」がfpbにかかわらず真となる全節点に遷
移する枝を生成する。これら生成された枝を、“現節点
(fpb,CNT)−>次節点(fpb,CNT)”と
いう書式で示す場合、次のようになる。
【0063】 (0,00) −> (0,00)、(1,00) (0,01) −> (0,00)、(1,00) (0,10) −> (0,00)、(1,00) (0,11) −> (0,00)、(1,00)
【0064】また、条件「fpb=1かつCNT=3」
に対して代入「CNT=0」が抽出された変数代入と遷
移条件について、現節点で「fpb=1」と「CNT=
11」が真である全節点から、次節点で「CNT=0
0」がfpbにかかわらず真となる全節点に遷移する枝
を生成する。
【0065】 (1,11) −> (0,00)、(1,00)
【0066】さらに、条件「fpb=1かつCNT=3
以外」に対して代入「CNT=CNT+1」が抽出され
た変数代入と遷移条件について、現節点で「fpb=
1」と「CNT=11以外」が真である全節点から、次
節点で「CNT=CNT+1」がfpbにかかわらず真
となる全節点に遷移する枝を生成する。
【0067】 (1,00) −> (0,01)、(1,01) (1,01) −> (0,10)、(1,10) (1,10) −> (0,11)、(1,11)
【0068】このようにして生成された節点と枝によ
り、図10に示すRTL記述は、図3に示すようなKr
ipke構造の有限状態機械に変換することができる。
この変換結果は、図8に示すように全節点と、これら節
点ごとに遷移先の節点を指定した枝により表現されて格
納される。
【0069】上述したように検証対象のRTL記述が有
限状態機械に変換されると、次に図7のステップS53
で示したように図11に示すテンプレートの各項目を有
限状態機械に変換する。
【0070】図13は図7のステップS53に示すテン
プレート処理部11におけるテンプレートから有限状態
機械への変換処理の内容の概要を表わしたものである。
まず、テンプレート入力部20から図11に示したテン
プレートを入力させる(ステップS90)。続いて、状
態割当抽出部22で入力されたテンプレートから状態割
当指定712で指定した割り当て方法を抽出させる(ス
テップS91)。そして、変数・条件抽出部46の変数
抽出部40で、変数の抽出が行われる(ステップS9
2)。すなわち、図11に示すテンプレートから、内部
変数および外部変数を抽出する。より具体的には、テン
プレートの状態変数名711として定義されるCNTを
内部変数として抽出する。また、クリア条件に規定され
る変数を検索し、ここでは第1のクリア条件718のf
pbを外部変数として抽出する。外部変数は、UP条件
716あるいはDOWN条件717でも規定される場合も
あるが、ここでは指定されていない。
【0071】次に、変数代入・条件抽出部46で、テン
プレートから変数代入と遷移条件の抽出を行う(ステッ
プS93)。すなわち、図11に示すテンプレートから
第1のクリア条件718の“fpb=0”と、そのとき
の状態変数CNTへの代入値である第1のクリア値71
9“0”とを抽出する。さらに、UP条件716が“Tr
ue”のため、アップカウント時の状態変数の範囲
“0”〜“3”を抽出する。
【0072】続いて、節点生成部24の変数範囲判定部
47で、変数抽出部45で抽出された変数について、変
数代入・条件抽出部46で抽出された状態変数の範囲を
判定する(ステップS94)。ここでは、CNTは
“0”〜“3”、fpbは“0”または“1”の範囲で
ある。そして、変数状態割当部48で、状態割当抽出部
22で抽出された状態割り当て方法にしたがって、テン
プレートから抽出した変数の状態割り当てを行う(ステ
ップS95)。ここでは、状態割り当て方法としてバイ
ナリエンコーディングが指定されているため、内部変数
CNTが“0”〜“3”の範囲に対して“00”、“0
1”、“10”、“11”を割り当てる。
【0073】次に節点化部49で変数の全組み合わせを
節点化する(ステップS96)。ここでは、fpbが
“0”または“1”の2種、CNTが“0”〜“3”の
4種であるため、8(=2×4)通りの節点を生成す
る。
【0074】枝生成部25は、複数の第1〜第Nの枝生
成部501〜50Nを備えており、それぞれ入力されたテ
ンプレートの項目ごとに抽出するパラメータが異なり、
節点生成部24で生成された節点間の枝を生成する。こ
こでは、第1および第2の枝生成部501、502を備え
ている。第1の枝生成部501は、ステップS93にお
いて変数代入・条件抽出部46で抽出された変数代入と
遷移条件に基づいて、節点化部49で生成された節点を
接続する枝を生成する(ステップS97)。すなわち、
テンプレートのUP条件716あるいはDOWN条件7
7で指定されるカウントタイプに依存して、非クリア
かつイネーブル条件を示す節点からは、状態変数をカウ
ントアップあるいはカウントダウンする全ての節点へ遷
移する枝を生成する。次節点は、“クリア条件の取り得
る値×イネーブル条件の取り得る値”の組み合わせの全
ての節点である。図11に示したテンプレートの場合、
イネーブル条件がないため、非クリアを示す節点から、
状態変数をカウントアップさせた節点への枝が、次のよ
うに生成される。
【0075】 (1,00) −> (1,01)、(0,01) (1,01) −> (1,10)、(0,10) (1,10) −> (1,11)、(0,11) (1,11) −> (1,00)、(0,00)
【0076】次に、第2の枝生成部502で、ステップ
S93で抽出されたクリア条件およびクリア値を参照し
て、クリアを示す節点から状態変数がクリア値となる全
ての節点に遷移する枝を生成する(ステップS98)。
【0077】 (0,00) −> (0,00)、(1,00) (0,01) −> (0,00)、(1,00) (0,10) −> (0,00)、(1,00) (0,11) −> (0,00)、(1,00)
【0078】さらに、非クリアかつイネーブル条件が偽
の節点からは、同じ状態変数値をもつ節点に遷移する枝
を生成する。同じ状態変数値をもつ次節点は、“クリア
条件の取り得る値×イネーブル条件の取り得る値”の組
み合わせの全ての節点である。しかし、図11に示した
テンプレートでは、イネーブル条件がないため、この遷
移は行われない。
【0079】このようにして生成された節点と枝によ
り、図11に示すテープレートから、図3に示すような
Kripke構造の有限状態機械に変換することができ
る。この変換結果は、図8に示すように全節点と、これ
ら節点ごとに遷移先の節点を指定した枝により表現され
て格納される。
【0080】上述したように検証対象のRTL記述とテ
ンプレートから有限状態機械にそれぞれ変換されると、
次に図7のステップS60で示したように有限状態機械
の各状態を照合する。これは既に述べたように、図8に
示す有限状態機械の格納状態にある全節点が互いに一致
するか否かを判別する。さらにステップS61の状態間
の遷移関係の照合については、それぞれの枝に対応して
指定される次節点が、各節点ごとに一致するか否かを判
別する。ステップS62で全て照合結果が一致したと
き、RTL記述で規定されたカウンタ回路の機能動作
が、テンプレートで規定された検証項目を満足すると判
断して、例えば図示しない表示装置に、検証仕様の成立
の旨を表示させて通知する。ステップS62で、照合結
果が1つでもOKではないときは、例えば図示しない表
示装置に、検証仕様が不成立である旨を表示させて通知
する。
【0081】このように第1の実施例における形式的検
証装置は、順序回路の中でも例えばカウンタ回路などの
ように、検証すべき項目としての検証仕様がほぼ固定化
されている順序回路を規定するRTL記述と、この順序
回路の固定化された検証項目を項目化したテンプレート
とから、それぞれKripke構造の有限状態機械に変
換するようにした。このテンプレートは、順序回路特有
の状態変数名や、状態割り当て方法、状態変数の取り得
る値の範囲、遷移条件などを項目化したものである。こ
のように、互いに異なる観点から変換した有限状態機械
のそれぞれの節点と枝を対比して両者を照合し、節点と
枝が全て一致したときRTL記述で規定された順序回路
がテンプレートに規定された項目を満足すると判断し、
検証仕様が成立することを通知することで、形式的検証
を行うことができる。
【0082】第2の実施例
【0083】第1の実施例では単一のカウンタ回路の形
式的検証を行う形式的検証装置について説明したが、同
様に検証仕様がほぼ固定化されていれば、単一のカウン
タ回路に限らず、他の順序回路にも容易に適用すること
ができる。第2の実施例では、カウンタ回路を応用した
同期保護回路の形式的検証を行う形式的検証装置につい
て説明する。第2の実施例における形式的検証装置は、
図1、図5および図6と同様なので説明を省略する。
【0084】図14は第2の実施例における形式的検証
装置の検証対象となる同期保護回路の動作を示す状態遷
移の様子を表わしたものである。このように検証対象の
同期保護回路は、ワンホットエンコーディングで状態割
り当てされた状態変数“001”、“010”、“10
0”に対応した状態間を、遷移条件FLGに応じて遷移
する。遷移条件FLGは、“1”がアクティブで、
“0”が非アクティブである。したがって、初期状態の
状態変数を“001”とすると、クロック信号の立ち上
がりエッジで、遷移条件FLGが“1”のときは、状態
変数“001”から状態変数“010”、“100”に
遷移し、遷移条件FLGが“0”のときは、無条件に状
態変数“001”に遷移する。すなわち、例えば状態変
数“001”を「非同期状態」、状態変数“100”を
「同期状態」であるとすると、2段の後方保護同期と1
段の前方保護同期を実現する同期保護回路の動作を示し
ている。
【0085】図15は検証対象の保護同期回路を規定す
るRTL記述例を表わしたものである。このRTL記述
は、1行目および2行目の“process”および
“begin”から24行目の“end proces
s”までを1つの回路構成単位としている。その動作と
しては、3行目のif条件が真、すなわちclk信号の
立ち上がりエッジのとき、4行目から23行目までのt
hen節の動作を行う。4行目のif条件が真、すなわ
ち状態変数STATEが“0”の状態のとき、かつ5行
目のif条件が真、すなわち遷移条件FLGがアクティ
ブの“1”のとき、状態変数STATEが“1”の状態
に遷移し、遷移条件FLGが非アクティブの“0”のと
き状態変数STATEが“0”の状態のままであること
を示す。4行目のif条件が偽、すなわち状態変数ST
ATEが“0”の状態ではなく、10行目のif条件が
真、すなわち状態変数STATEが“1”の状態のと
き、かつ11行目のif条件が真、すなわち遷移条件F
LGがアクティブの“1”のとき、状態変数STATE
が“2”の状態に遷移し、遷移条件FLGが非アクティ
ブの“0”のとき状態変数STATEが“0”の状態に
遷移することを示す。さらに、10行目のif条件が
偽、すなわち状態変数STATEが“1”の状態ではな
く、16行目のif条件が真、すなわち状態変数STA
TEが“2”の状態のとき、かつ17行目のif条件が
真、すなわち遷移条件FLGがアクティブの“1”のと
き、状態変数STATEが“2”の状態のままで、遷移
条件FLGが非アクティブの“0”のとき状態変数ST
ATEが“0”の状態に遷移することを示す。上述した
3行目のif条件が真になるたびに、このような同期保
護動作を行う。
【0086】このようなRTL記述で規定された同期保
護回路の形式的検証を行うために、第2の実施例におけ
る形式的検証装置では、この同期保護回路の検証仕様を
発生するために予め決められた網羅的な検証項目が規定
されたテンプレートを用いる。
【0087】図16は図15で規定した同期保護回路の
形式的検証に用いるテンプレートの概要を表わしたもの
である。このテンプレート100は、有限状態機械にお
ける状態割り当ての対象となる変数を指定する状態変数
名1011が変数STATEであることを示す。そし
て、これら状態の割り当て方法を指定する状態割当指定
1012は、ワンホットエンコーディングが指定されて
いる。このような状態割当指定としては、例えば各状態
を順にバイナリ符号に割り当てるバイナリエンコーディ
ング、隣接して割り当てられた状態間の互いの符号を1
ビットだけ異なるようにするグレイコードエンコーディ
ングなどがある。そして、状態変数STATEの遷移が
成立する条件1013をFLGが“1”のときとし、成
立時における保護段数を示す成立保護段数1014
“2”とする。これは、成立条件1013が2回続けて
真となったときのみ、「同期状態」となることを意味す
る。これに対して、非成立条件1015で示すようにF
LGが“0”のときを、遷移の非成立条件とする。した
がって、非成立保護段数1016が“1”であるため、
FLGが“0”のときは無条件で「非同期状態」に遷移
させられ、再び2回続けて成立条件が真とならない限り
「同期状態」には遷移しないことになる。
【0088】上述した図7に示す形式的検証の処理の流
れに従い、まず図15に示す検証対象の同期保護回路を
規定するRTL記述が、回路記述処理部10の回路記述
入力部14に入力される。以降における変換処理は、第
1の実施例と同様に、状態変数と遷移条件を抽出し、成
立保護段数1014と非成立保護段数1016とから状態
変数の取り得る値を判断する。そして、テンプレートで
指定されている状態割当指定と同じ状態割り当て方法に
よって、遷移条件と状態変数の値の組み合わせで定義さ
れる節点を生成し、遷移条件にしたがってこれらを接続
する枝を生成する。
【0089】次に、図16に示す同期保護回路の検証項
目が指定されるテンプレートが、テンプレート処理部1
1のテンプレート入力部20に入力される。以降におけ
る変換処理は、第1の実施例と同様に、テンプレートか
ら内部変数STATEと、外部変数FLGとを抽出す
る。そして、成立保護段数1014と非成立保護段数1
016と、成立条件1013および非成立条件1015
から、クリア条件とそのときの状態変数の遷移値を解析
し、状態変数STATEの取り得る範囲を判定する。こ
の場合、上述した遷移条件FLGが2回連続“1”にな
らない限り、状態変数STATEが“001”から“1
00”へは行われず、遷移条件FLGが“0”のときは
無条件に状態変数STATE“001”の状態に遷移す
ることが解析されるようになっている。そして、テンプ
レートの状態割当指定1012から抽出された状態割り
当て方法にしたがって、遷移条件と状態変数の値の組み
合わせで定義される節点を生成し、遷移条件にしたがっ
てこれらを接続する枝を生成する。
【0090】図17は、このようにして変換されたKr
ipke構造の有限状態機械の概要を表わしたものであ
る。この有限状態機械は、ワンホットエンコーディング
により状態が割り当てられた状態変数STATEの範囲
“001”、“010”、“100”で、遷移条件FL
Gが1ビットの同期保護回路を示している。この有限状
態機械は、6つの状態を有する状態集合Vと、2つの初
期状態を有する初期状態集合V0とを有している。ここ
で、各状態はそれぞれ真となる原始命題Iであり、これ
ら状態間の遷移を示す枝Rとを備え、上述した(1)式
に対応している。すなわち、状態変数STATEの範囲
“001”〜“100”の3種類の状態と、遷移条件F
LGの取り得る値“1”、“0”の2種類との組み合わ
せにより、各状態は(FLG,STATE)で示される
6種類の状態1101〜1106からなる。初期状態集合
0は、(0,001)で示される状態1101と状態
(1,001)で示される状態1102とからなる。状
態集合Vは、初期状態集合V0と、それぞれ(0,01
0)、(1,010)、(0,100)そして(1,1
00)で示される状態1103〜1106とからなる。こ
れら各状態1101〜1106は、それぞれ遷移関係を示
す枝111で接続されている。
【0091】このようにして図15に示すRTL記述お
よび図16に示すテンプレートそれぞれから生成された
節点と枝により、それぞれ図17に示すようなKrip
ke構造の有限状態機械に変換される。この変換結果
は、図8に示すように全節点と、これら節点ごとに遷移
先の節点を指定した枝により表現されて格納される。
【0092】検証対象のRTL記述とテンプレートから
有限状態機械にそれぞれ変換されると、第1の実施例と
同様にして、図7のステップS60で示したように有限
状態機械の各状態を照合する。これは既に述べたよう
に、図8に示す有限状態機械の格納状態にある全節点が
互いに一致するか否かを判別する。さらにステップS6
1の状態間の遷移関係の照合については、それぞれの枝
に対応して指定される次節点が、各節点ごとに一致する
か否かを判別し、ステップS62で全て照合結果が一致
したとき、RTL記述で規定されたカウンタ回路の機能
動作が、テンプレートで規定された検証項目を満足する
と判断して、検証仕様の成立を例えば図示しない表示装
置に表示させて通知する。ステップS62で、照合結果
が1つでもOKではないときは、検証仕様が不成立であ
る旨を例えば図示しない表示装置に表示させて通知す
る。
【0093】このように第2の実施例における形式的検
証装置は、検証項目がほぼ固定化されていれば、順序回
路の中でも例えばカウンタ回路を応用した簡単な同期保
護回路についても、検証項目を項目化したテンプレート
とから、それぞれKripke構造の有限状態機械に変
換することができる。このテンプレートは、順序回路特
有の状態変数名や、状態割り当て方法、同期保護回路特
有の成立保護段数および非成立保護段数、遷移条件を項
目化したものである。このように、互いに異なる観点か
ら変換した有限状態機械のそれぞれの節点と枝を対比し
て両者を照合し、節点と枝が全て一致したときRTL記
述で規定された順序回路がテンプレートに規定された項
目を満足すると判断し、検証仕様が成立することを通知
することで、形式的検証を行うことができる。
【0094】なお第1および第2の実施例では、それぞ
れ単一カウンタ回路および同期保護回路について説明し
たが、有限状態機械に変換でき、かつ検証項目を定義す
ることができる回路であれば同様にして形式的検証を行
うことができる。
【0095】なお第1および第2の実施例では、検証対
象の順序回路をそれぞれ機能記述の一記法であるRTL
記述で規定したが、これに限定されるものではない。例
えば、順序回路をRTL記述より回路構成が具体化する
構造記述を用いても同様に有限状態機械に変換すること
ができ、その結果予め決められたテンプレートから生成
された有限状態機械と照合することで形式的検証を行う
ことができる。
【0096】なお第1および第2の実施例ではKrip
ke構造の有限状態機械を生成するものとして説明した
が、これに限定されるものではない。有限状態機械同士
を照合することができる構造であれば良い。
【0097】
【発明の効果】以上説明したように請求項1または請求
項4記載の発明によれば、従来は汎用的であるために非
常に複雑であった特定言語による検証仕様の特定を不要
とし、検証項目の設定を容易にするばかりでなく、検証
すべき項目の漏れをなくすことができるようになる。さ
らに、互いに別の観点から変換した有限状態機械を照合
することで検証仕様の一致を判別するようにしているの
で、従来のように検証対象の規模に増大に伴い飛躍的に
複雑化していた処理の簡素化と処理時間の短縮化を図る
ことができるようになる。
【0098】また請求項2または請求項5記載の発明に
よれば、検証対象とする順序回路がカウンタ回路の形式
的検証についても、テンプレートとして項目化されてい
る状態変数名、状態割り当て方法、状態変数の初期値、
上限値、下限値および遷移条件だけを指定すれば良いの
で、網羅的な検証を確実、かつ簡素に処理することがで
きる。
【0099】さらに請求項3または請求項6記載の発明
によれば、検証対象とする順序回路が同期保護回路の形
式的検証についても、テンプレートとして項目化されて
いる状態変数名、状態割り当て方法、遷移条件、条件成
立保護段数および条件非成立保護段数だけを指定すれば
良いので、網羅的な検証を確実、かつ簡素に処理するこ
とができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例における形式的検証装置
の構成の概要を示すブロック図である。
【図2】第1の実施例におけるテンプレートの構成の概
要を示す説明図である。
【図3】第1の実施例における有限状態機械の構成の概
要を示す説明図である。
【図4】第1の実施例における有限状態機械の遷移の様
子を説明するための説明図である。
【図5】第1の実施例における回路記述処理部の構成要
部の概要を示すブロック図である。
【図6】第1の実施例におけるテンプレート処理部の構
成要部の概要を示すブロック図である。
【図7】第1の実施例における形式的検証の処理内容の
概要を示す流れ図である。
【図8】第1の実施例における有限状態機械への変換結
果の構成を説明するための説明図である。
【図9】第1の実施例におけるカウンタ回路の動作を示
す状態遷移図である。
【図10】第1の実施例におけるカウンタ回路のRTL
記述例を示す説明図である。
【図11】第1の実施例におけるカウンタ回路の形式的
検証に用いるテンプレートの概要を示す説明図である。
【図12】第1の実施例における回路記述処理部の有限
状態機械への変換処理内容の概要を示す説明図である。
【図13】第1の実施例におけるテンプレート処理部の
有限状態機械への変換処理内容の概要を示す説明図であ
る。
【図14】第2の実施例における同期保護回路の動作を
示す状態遷移図である。
【図15】第2の実施例における同期保護回路のRTL
記述例を示す説明図である。
【図16】第2の実施例における同期保護回路の形式的
検証に用いるテンプレートの概要を示す説明図である。
【図17】第2の実施例における同期保護回路が変換さ
れた有限状態機械の構成の概要を示す説明図である。
【符号の説明】
10 回路記述処理部 11 テンプレート処理部 12 有限状態機械照合部 13 照合結果通知部 14 回路記述入力部 15、21 変数・条件抽出部 16 状態割当指定部 17、23 有限状態機械変換部 18、24 節点生成部 19、25 枝生成部 20 テンプレート入力部 22 状態割当抽出部 40、45 変数抽出部 41、46 変数代入・条件抽出部 42、47 変数範囲判定部 43、48 変数状態割当部 44、49 節点化部 501〜50N 第1〜第Nの枝生成部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 検証対象となる順序回路の設計仕様を記
    述した回路設計情報を入力するための回路設計情報入力
    手段と、 この回路設計情報入力手段から入力された回路設計情報
    から前記順序回路の変数を抽出する第1の変数抽出手段
    と、 前記回路設計情報から前記順序回路における状態変数の
    遷移条件を抽出する第1の条件抽出手段と、 前記順序回路における状態変数の割り当て方法を指定す
    る状態割当指定手段と、 この状態割当指定手段によって指定された状態割り当て
    方法にしたがって前記第1の変数抽出手段および前記第
    1の条件抽出手段によって抽出された変数および遷移条
    件から、有限個の状態を有しこれら状態間の遷移が定義
    される状態遷移動作モデルとしての有限状態機械を生成
    する第1の有限状態機械生成手段と、 前記順序回路の検証項目を予め項目化したテンプレート
    を入力するためのテンプレート入力手段と、 このテンプレート入力手段から入力されたテンプレート
    から変数を抽出する第2の変数抽出手段と、 前記テンプレートから前記順序回路における状態変数の
    遷移条件を抽出する第2の条件抽出手段と、 前記テンプレートで指定された前記順序回路における状
    態変数の状態割り当て方法にしたがって前記第2の変数
    抽出手段および前記第2の条件抽出手段によって抽出さ
    れた変数および遷移条件から有限状態機械を生成する第
    2の有限状態機械生成手段と、 前記第1および第2の有限状態機械生成手段によって生
    成された有限状態機械同士を照合する有限状態機械照合
    手段と、 この有限状態機械照合手段によって照合された結果を通
    知する照合結果通知手段とを具備することを特徴とする
    形式的検証装置。
  2. 【請求項2】 検証対象となるカウンタ回路の設計仕様
    を記述した回路設計情報を入力するための回路設計情報
    入力手段と、 この回路設計情報入力手段から入力された回路設計情報
    から前記カウンタ回路の変数を抽出する第1の変数抽出
    手段と、 前記回路設計情報から前記カウンタ回路における状態変
    数の遷移条件を抽出する第1の条件抽出手段と、 前記カウンタ回路における状態変数の割り当て方法を指
    定する状態割当指定手段と、 この状態割当指定手段によって指定された状態割り当て
    方法にしたがって前記第1の変数抽出手段および前記第
    1の条件抽出手段によって抽出された変数および遷移条
    件から、有限個の状態を有しこれら状態間の遷移が定義
    される状態遷移動作モデルとしての有限状態機械の状態
    変数と遷移条件とを対にした節点およびこれら節点間を
    結ぶ枝を生成する第1の有限状態機械生成手段と、 前記カウンタ回路の検証項目として状態変数名、状態割
    り当て方法、状態変数の初期値、上限値、下限値および
    遷移条件を予め項目化したテンプレートを入力するため
    のテンプレート入力手段と、 このテンプレート入力手段から入力されたテンプレート
    から変数を抽出する第2の変数抽出手段と、 前記テンプレートから前記カウンタ回路における状態変
    数の遷移条件を抽出する第2の条件抽出手段と、 前記テンプレートで指定された状態割り当て方法にした
    がって前記第2の変数抽出手段および前記第2の条件抽
    出手段によって抽出された変数および遷移条件から、有
    限状態機械の状態変数と遷移条件とを対にした節点およ
    びこれら節点間を結ぶ枝を生成する第2の有限状態機械
    生成手段と、 前記第1および第2の有限状態機械生成手段によって生
    成された有限状態機械を構成する全節点の一致を照合す
    る節点照合手段と、 この節点照合手段によって互いの節点が全て一致したと
    き前記第1および第2の有限状態機械の節点に対応して
    遷移先の節点を指定する枝の全ての一致を照合する枝照
    合手段と、 この枝照合手段によって照合された結果を通知する照合
    結果通知手段とを具備することを特徴とする形式的検証
    装置。
  3. 【請求項3】 検証対象となる同期保護回路の設計仕様
    を記述した回路設計情報を入力するための回路設計情報
    入力手段と、 この回路設計情報入力手段から入力された回路設計情報
    から前記同期保護回路の変数を抽出する第1の変数抽出
    手段と、 前記回路設計情報から前記同期保護回路における状態変
    数の遷移条件を抽出する第1の条件抽出手段と、 前記同期保護回路における状態変数の割り当て方法を指
    定する状態割当指定手段と、 この状態割当指定手段によって指定された状態割り当て
    方法にしたがって前記第1の変数抽出手段および前記第
    1の条件抽出手段によって抽出された変数および遷移条
    件から、有限個の状態を有しこれら状態間の遷移が定義
    される状態遷移動作モデルとしての有限状態機械の状態
    変数と遷移条件とを対にした節点およびこれら節点間を
    結ぶ枝を生成する第1の有限状態機械生成手段と、 前記同期保護回路の検証項目として状態変数名、状態割
    り当て方法、遷移条件、条件成立保護段数および条件非
    成立保護段数を予め項目化したテンプレートを入力する
    ためのテンプレート入力手段と、 このテンプレート入力手段から入力されたテンプレート
    から変数を抽出する第2の変数抽出手段と、 前記テンプレートに指定された遷移条件、条件成立保護
    段数および条件非成立保護段数から前記同期保護回路に
    おける状態変数の遷移条件を抽出する第2の条件抽出手
    段と、 前記テンプレートで指定された状態割り当て方法にした
    がって前記第2の変数抽出手段および前記第2の条件抽
    出手段によって抽出された変数および遷移条件から、有
    限状態機械の状態変数と遷移条件とを対にした節点およ
    びこれら節点間を結ぶ枝を生成する第2の有限状態機械
    生成手段と、 前記第1および第2の有限状態機械生成手段によって生
    成された有限状態機械を構成する全節点の一致を照合す
    る節点照合手段と、 この節点照合手段によって互いの節点が全て一致したと
    き前記第1および第2の有限状態機械の節点に対応して
    遷移先の節点を指定する枝の全ての一致を照合する枝照
    合手段と、 この枝照合手段によって照合された結果を通知する照合
    結果通知手段とを具備することを特徴とする形式的検証
    装置。
  4. 【請求項4】 検証対象となる順序回路の設計仕様を記
    述した回路設計情報から抽出した変数および前記順序回
    路における状態変数の遷移条件に基づいて予め指定され
    た前記順序回路における状態変数の割り当て方法にした
    がって前記回路設計情報から変換した有限個の状態を有
    しこれら状態間の遷移が定義される状態遷移動作モデル
    としての第1の有限状態機械と、前記順序回路の検証項
    目を予め項目化したテンプレートから抽出した変数およ
    び前記順序回路における状態変数の遷移条件に基づいて
    前記テンプレートで指定された状態割り当て方法にした
    がって前記テンプレートから変換した第2の有限状態機
    械とをそれぞれ生成する有限状態機械生成ステップと、 この有限状態機械生成ステップで生成された第1および
    第2の有限状態機械同士を照合する有限状態機械照合ス
    テップと、 この有限状態機械照合ステップで照合された結果を通知
    する照合結果通知ステップとを具備することを特徴とす
    る形式的検証方法。
  5. 【請求項5】 検証対象となるカウンタ回路の設計仕様
    を記述した回路設計情報から抽出した変数および前記カ
    ウンタ回路における状態変数の遷移条件に基づいて予め
    指定された前記カウンタ回路における状態変数の割り当
    て方法にしたがって前記回路設計情報から変換した状態
    変数と遷移条件とを対にした節点およびこれら節点間を
    結ぶ枝からなり、有限個の状態を有しこれら状態間の遷
    移が定義される状態遷移動作モデルとしての第1の有限
    状態機械と、前記カウンタ回路の検証項目として状態変
    数名、状態割り当て方法、状態変数の初期値、上限値、
    下限値および遷移条件を予め項目化したテンプレートか
    ら抽出した変数および前記カウンタ回路における状態変
    数の遷移条件に基づいて前記テンプレートで指定された
    状態割り当て方法にしたがって前記テンプレートから変
    換した状態変数と遷移条件とを対にした節点およびこれ
    ら節点間を結ぶ枝からなる第2の有限状態機械とを生成
    する有限状態機械生成ステップと、 この有限状態機械生成ステップで生成された第1および
    第2の有限状態機械を構成する全節点が一致するかを照
    合する節点照合ステップと、 この節点照合ステップで互いの節点が全て一致したとき
    前記第1および第2の有限状態機械の節点に対応して遷
    移先の節点を指定する枝が全て一致するかを照合する枝
    照合ステップと、 この枝照合ステップで照合された結果を通知する照合結
    果通知ステップとを具備することを特徴とする形式的検
    証方法。
  6. 【請求項6】 検証対象となる同期保護回路の設計仕様
    を記述した回路設計情報から抽出された変数および前記
    同期保護回路における状態変数の遷移条件に基づいて予
    め指定された前記同期保護回路における状態変数の割り
    当て方法にしたがって前記回路設計情報から変換した状
    態変数と遷移条件とを対にした節点およびこれら節点間
    を結ぶ枝からなり、有限個の状態を有しこれら状態間の
    遷移が定義される状態遷移動作モデルとしての第1の有
    限状態機械と、前記同期保護回路の検証項目として状態
    変数名、状態割り当て方法、遷移条件、条件成立保護段
    数および条件非成立保護段数を予め項目化したテンプレ
    ートから抽出した変数および前記テンプレートに指定さ
    れた遷移条件、条件成立保護段数および条件非成立保護
    段数から抽出した前記同期保護回路における状態変数の
    遷移条件に基づいて前記テンプレートで指定された状態
    割り当て方法にしたがって前記テンプレートから変換し
    た状態変数と遷移条件とを対にした節点およびこれら節
    点間を結ぶ枝からなる第2の有限状態機械とを生成する
    有限状態機械生成ステップと、 この有限状態機械生成ステップで生成された第1および
    第2の有限状態機械を構成する全節点が一致するかを照
    合する節点照合ステップと、 この節点照合ステップで互いの節点が全て一致したとき
    前記第1および第2の有限状態機械の節点に対応して遷
    移先の節点を指定する枝が全て一致するかを照合する枝
    照合ステップと、 この枝照合ステップで照合された結果を通知する照合結
    果通知ステップとを具備することを特徴とする形式的検
    証方法。
JP11175041A 1999-06-22 1999-06-22 形式的検証装置および方法 Pending JP2001005847A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11175041A JP2001005847A (ja) 1999-06-22 1999-06-22 形式的検証装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11175041A JP2001005847A (ja) 1999-06-22 1999-06-22 形式的検証装置および方法

Publications (1)

Publication Number Publication Date
JP2001005847A true JP2001005847A (ja) 2001-01-12

Family

ID=15989193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11175041A Pending JP2001005847A (ja) 1999-06-22 1999-06-22 形式的検証装置および方法

Country Status (1)

Country Link
JP (1) JP2001005847A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571398B2 (en) 2005-09-15 2009-08-04 Bormann Joerg Method for the determination of the quality of a set of properties, usable for the verification and specification of circuits
JP2009223698A (ja) * 2008-03-17 2009-10-01 Ricoh Co Ltd 検証装置及び検証方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571398B2 (en) 2005-09-15 2009-08-04 Bormann Joerg Method for the determination of the quality of a set of properties, usable for the verification and specification of circuits
JP2009223698A (ja) * 2008-03-17 2009-10-01 Ricoh Co Ltd 検証装置及び検証方法

Similar Documents

Publication Publication Date Title
JP4586926B2 (ja) 回路検証装置、回路検証プログラムおよび回路検証方法
JP4099974B2 (ja) 動作レベル記述とレジスタ転送レベル記述間の等価性検証方法及び装置並びにプログラム
JP2000181939A (ja) 論理装置の検証方法、検証装置及び記録媒体
JP2019075035A (ja) ソフトウェアテスト装置および方法
JP2003503763A (ja) 技術システムの予め設定された特性と第1の特性とを比較するための方法及び装置
JP2001022820A (ja) 順序回路の検証方法
US5493505A (en) Initializable asynchronous circuit design
JP2007011605A (ja) ソフトウェア動作仕様のモデル検査支援装置およびこれを備えたモデル検査システム並びにモデル検査支援プログラム
Van Eijk et al. Exploiting functional dependencies in finite state machine verification
Van Eijk et al. Detection of equivalent state variables in finite state machine verification
JPH1063537A (ja) プロパティ検証方法および装置
JP2000057123A (ja) 順序回路の状態探索方法および装置並びに状態探索プログラムを記録した記録媒体
JP2009205523A (ja) プロパティ自動生成装置
US20120290992A1 (en) Logical circuit netlist reduction and model simplification using simulation results containing symbolic values
JP2001005847A (ja) 形式的検証装置および方法
Case et al. Inductively finding a reachable state space over-approximation
Beaumont et al. Compositional design of asynchronous circuits from behavioural concepts
Chen Executable test sequence for the protocol data flow property
JP4702357B2 (ja) 動作レベル記述とレジスタ転送レベル記述間の等価性検証方法及び装置並びにプログラム
JP3373641B2 (ja) テスト系列生成装置
JP2009237913A (ja) プロパティ抽出装置及び方法
KR101962721B1 (ko) Rnn을 이용한 fpga 비트스트림에서의 pip 정보 역공학 방법 및 장치
JP3582849B2 (ja) 論理型プログラム検証方法
Murray et al. Specification-based class testing with ClassBench
JP2006293891A (ja) プロパティ変換装置