JPH07182406A - 有限状態シーケンシャルマシンの妥当性を検査する方法及びその結果得られる情報サポートおよび妥当性検査ツール - Google Patents

有限状態シーケンシャルマシンの妥当性を検査する方法及びその結果得られる情報サポートおよび妥当性検査ツール

Info

Publication number
JPH07182406A
JPH07182406A JP26973494A JP26973494A JPH07182406A JP H07182406 A JPH07182406 A JP H07182406A JP 26973494 A JP26973494 A JP 26973494A JP 26973494 A JP26973494 A JP 26973494A JP H07182406 A JPH07182406 A JP H07182406A
Authority
JP
Japan
Prior art keywords
vector
function
variables
finite
relation
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
JP26973494A
Other languages
English (en)
Inventor
Thomas Tamisier
トマ・タミジエ
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.)
Bull SA
Original Assignee
Bull SA
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 Bull SA filed Critical Bull SA
Publication of JPH07182406A publication Critical patent/JPH07182406A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【目的】 有限状態シーケンシャルマシンの妥当性を大
きなメモリ容量を必要とすることなく、高速で検査する
方法を提供する。 【構成】 プロダクト有限状態マシン(PFSM)の遷
移関数Δ(δ,δ’)の倒立像を計算する方法は、1組
のn−1個の等価状態から得たΔ-1(En-1)は、
(a)断面と呼ばれ、C(En-1 )で示されるSからS
への全域的関数のグラフのBDDを、等価関係En-1
グラフのBDDから正準的に作成するステップと、
(b)新しいベクトルδn-1 =C(En-1 )oδを断面
およびベクトルδから作成するステップと、(c) 【数1】 の対をもつようにベクトルδn-1 に関する等価状態対を
計算するステップとから成る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、有限状態シーケンシャ
ルマシンの妥当性を検査する方法に関し、詳細には、有
限状態マシンの等価関係をコンピュータによって計算す
る方法に関する。本発明は、その方法を実行するプログ
ラムを組み込んだ情報サポートと、この方法を実行する
妥当性検査ツールにも関する。
【0002】
【従来の技術】非常に大規模の集積回路を設計するに
は、無欠陥回路が必要である。なぜなら、回路をデバッ
グするためにプロトコル作成が非常に高価なものになる
からである。ハードウェアの設計および妥当性検査で
は、有限状態マシンまたはFSMと呼ばれる有限オート
マトンの形の回路実現(ハードウェア装置)および回路
仕様(予期される動作)の抽象的記述が使用される。有
限状態マシンは、抽象化ツールによる回路実現または回
路仕様のハードウェア記述言語(たとえば、VHDL)
の記述から得られる。有限状態マシンは、等価性または
含意によって回路実現と回路仕様との比較を実行する。
有限マシンの一例は、文献(1)「Verification of Sy
nchronous Sequential Machines Based on Symbolic Ex
ecution 」(Workshop on Automating Verification Me
thod for Finite State Systems 」(Grenoble、198
9年7月、Coudert 等)に記載されている。有限状態マ
シンでは、等価関係、具体的には、観測可能な等価性を
計算する方法が使用される。ハードウェアの設計および
妥当性検査での観測可能な等価性の現在の応用例は主と
して、たとえば「Proceedings of the DIMACS Workshop
on Computer-Aided Verification, VOl 3, DIMACS Ser
ies in Discrete Mathematics and Theoretical Comput
er Science」(1990年、pp.477−492、R
oy等」に記載されたオート/オートグラフと呼ばれる
ツールである。このツールによって、最初の状態から到
達可能な状態の複雑度を低減することができ、同時に、
状態変数の数が最小限に抑えられ、ハードウェア設計に
おいて回路中の状態レジスタの数が少なくなる。
【0003】図1で、ブロック図は有限状態マシンFS
Mの動作を示している。この有限状態マシンは、3つの
セットと2つの関数を使用する。3つのセットは、Iと
呼ばれる入力セットと、Sと呼ばれる状態セットと、O
と呼ばれる出力セットとがあり、関数には、タイプIx
S→Sの遷移関数δと、タイプIxS→0の出力関数λ
とがある。3つのセットI、S、Oは有限セットであ
り、それぞれ入力x、状態s、および出力oから成る。
図1に示したマシンでは、遷移関数δは、入力セットI
を第1の入力として、状態セットSを第2の入力として
使用して、状態セットSに出力を提供する。出力関数λ
は、入力セットIを第1の入力として、状態セットSを
第2の入力として使用して、出力セットOに出力を提供
する。遷移関数δ、出力関数λ、および状態セットは、
処理回路PCとして動作する。作動時に、マシンFSM
は最初、所定の状態であり、入力セットIからの入力シ
ーケンスは連続的に2つの関数に適用される。マシン
は、各入力シーケンスに応答して、入力シーケンス、現
状態、および遷移関数δから状態を計算し、同時に、入
力シーケンス、現状態、および出力関数λから出力を計
算して状態sに切り替わる。
【0004】マシンFSMは、n個の入力シーケンスに
応答してn個の出力のシーケンスを作成すると言うこと
もできる。以下の例で、
【0005】
【数7】
【0006】マシンFSMは、状態がs1 のとき、シー
ケンス「x1 1 2 」からシーケンス「o2
2 1 」を生成する。
【0007】
【課題を解決するための手段】本発明は、マシンFSM
の観測可能な等価関係の計算の問題に関する。マシンが
状態sを有し、m個の入力Xのシーケンス=
(x1 ,...,xm )に応答してm個の出力Oのシー
ケンス=(o1 ,...,om )を生成すると仮定す
る。観測可能な等価性とは、生成された出力に関する状
態の等価性である。2つの状態sおよびs’は、状態s
およびs’から、マシンが常に、任意の長さの同じ入力
シーケンスに応答して同じ出力シーケンスを生成する場
合に等価であると言われる。2つの状態sおよびs’
は、長さ≦kのどんなシーケンスに対しても等価である
場合、k等価である(ここでkは整数≧1)と言われ
る。1組の等価(それぞれk−等価)状態対をEと示す
(それぞれEk )。j≦iである任意のjについてセッ
トEi がEj に含まれると仮定する。言い換えると、i
≦jである場合、
【0008】
【数8】
【0009】である。
【0010】さらに、本発明は、ブール関数に基づくデ
ータ構造に関する。ブール関数とは、f
(x1 ,...,Xn ):{0,1}n →{0,1}と
いうタイプのものである。ブール関数fと変数セット
【0011】
【数9】
【0012】の同一性が知られており、そのため、あら
ゆるセットはその特性関数で表すことができ、両方とも
に同じ記号で示される。ψをブール関数として、v1
2 ,...,vn をその変数サポートとする。また、
ψ[vi ←0]を、変数vi が定数0と置換される公式
とし、Oを、ここではv1 <v2 <,,,<vn とみな
されるv1 ,v2 ,...,vn に関する順序とする。
次いで、以下の2つの規則に従って、順序がOであり、
A(ψ)と示される、ψのシャノンのツリーと現在呼ば
れているグラフを作成することができる。第1に、定数
のツリーはリーフ「真」および「偽」であり、第2に、
ツリーは変数vi と呼ばれる単一のルートを有する。ル
ートから2本のブランチ、すなわち、ツリー上でψ[v
i ←0]の右方向を目指すブランチとツリー上でψ[v
i ←1]の左方向を目指すブランチが延びている。2つ
の等価ブール関数は、同じシャノンのツリー・モジュロ
と、1組のブール関数に関する順序と、選択された変数
サポートとを有する。シャノンのツリーA(ψ)から、
ブール関数は順序Oに関するψの現在BDDと呼ばれる
ブライアントの2進決定図によって一般的に表され、文
献(2)「Graph-Based Algorithms for Boolean Funct
ion Manipulation」(IEEE Transactions on Computer
s、C−35(8)、1986年8月、pp.677−
691)に記載されている。手短に言えば、この文献に
記載されているように、順序Oに関するψのBDDは、
(1)冗長ノード消去および(2)等価サブグラフ共用
の2つの還元規則を使い切るまで適用することによって
シャノンのツリーから得られる。BDDは、2つの規則
の適用の順序とは無関係に得られる。BDDは、変数サ
ポートに関係していないので、冗長ノード消去の結果と
して、シャノンのツリーの正準特性よりも強力な正準特
性を有する。1組のブール変数での所定の順序に関する
2つの等価関数は同じBDDを有する。たとえば、
【0013】
【数10】
【0014】は同じBDDを有する。
【0015】遷移関数はベクトルδ:{0,1}n
{0,1}k である。これは、{0,1}n →{0,
1}によるk個のブール関数δ=(δ1 ,...,
δk )のベクトルである。言い換えると、δ
(x1 ,...,xn )=[δ1 (x1 ,...,
n ),...,δk (x1 ,...,xn )]である
さらに一般的には、完全に指定された有限状態マシン
は、5重M=(I,O,S,δ,λ)である。セットI
={0,1}k は入力空間であり、セットO={0,
1}l は出力空間であり、セットS={0,1}n は状
態空間である。各状態変数sj は、SxIから{0,
1}までのブール関数δj に関連し、各出力関数oj
SxIから{0,1}までのブール関数λj に関連す
る。ベクトルδ=(δi )はSxIからSまでの遷移関
数であり、ベクトルλ=(λj )はSxIから0までの
出力関数である。記号s1 ,...,sn はブール状態
変数を示すために使用され、x1 ,...,xk はブー
ル入力変数を示すために使用される。ベクトル
[s1 ,...,sn ]はsとも書かれる。言い換える
と、I={0,1}k は変数x1 ,...,xk でコー
ド化され、O={0,1}l は変数o1 ,...,ol
でコード化され、S={0,1}n は変数
1 ,...,sn でコード化され、δ
i (s1 ,...,sn ,x1 ,...,xk ):
{0,1}n+k →{0,1}によってδ
(s1 ,...,sn ,x1 ,...,xk ):{0,
1}n+k =(δ1 ,...,δn )であり、λi
(s1 ,...,sn ,x1 ,...,xk ):{0,
1}n+k →{0,1}によってλ(s1 ,...,
n ,x1 ,...,xk ):{0,1}n+k →{0,
1}l =(λ1 ,...,λl )である。
【0016】PFSMと呼ばれ、以下ではプロダクト・
マシンとも呼ばれるプロダクト有限状態マシンの構造を
図2に示す。これは、図1に示した直観的順次オブジェ
クトである。このプロダクト・マシンは、図1に示した
ものに類似しており、入力セットIと出力セットOの間
の第1の処理回路PCに平行に接続された第2の処理回
路PC’をもつように処理回路PCが複製されている。
具体的には、第1の処理回路PCは、第1の遷移関数δ
と、第1の出力関数λと、第1の状態sセットSとから
成り、第2の処理回路PCは、第2の遷移関数δ’と、
第2の出力関数λ’と、第1の状態s’セットS’とか
ら成る。第1および第2の遷移関数と第1および第2の
出力関数は入力セットIおよびそれぞれの状態セット
S、S’に接続され、第1および第2の出力関数の出力
は出力セットOに接続されている。
【0017】sおよびs’を1対の状態とする。これら
は、それぞれの状態sおよびs’を有する処理回路が同
じ入力に応答して同じ出力を生成する場合は等価であ
る。このプロダクト・マシンは、1対の状態sおよび
s’が等価の状態から成るかどうかを判定するために使
用される。この判定は、図1のマシンを連結することに
よって行われる。S={0,1}n を変数
1 ,...,sn によってコード化する。
s’1 ,...,s’n を、最初のマシンで使用されな
いn個の変数とする。s1 ,...,sn
s’1 ,...,s’n に関するBDDによって対のサ
ブセットを示す。各ブール関数δi ごとに変数
1 ,...,sn をそれぞれ変数s’1 ,...,
s’n と置換することによって関数δ’i を得る。同様
に、各ブール関数λi ごとに、変数s1 ,...,sn
をそれぞれ変数s’1 ,...,s’n と置換すること
によって関数λ’i を得る。したがって、 δ’i (s’1 ,...,s’n ,x1 ,...,
k )=δi ([s1 ←s’1 ],...,[sn
s’n ]) λ’i (s’1 ,...,s’n ,x1 ,...,
k )=λi ([s1 ←s’1 ],...,[sn
s’n ])である。
【0018】プロダクト・マシンの遷移関数はΔ=(δ
1 ,...,δn ,δ’1 ,...,δ’n )およびΔ
(s1 ,...,sn ,s’1 ,...,s’n
1 ,...,xk ):{0,1}n+n+k →{0,1}
n+n で示される。
【0019】プロダクト・マシンの出力関数はΔ=(λ
1 ,...,λl ,λ’1 ,...,λ’l )および=
Λ(s1 ,...,sn ,s’1 ,...,s’n ,x
1 ,...,xk ):{0,1}n+n+k →{0,1}
l+l で示される。
【0020】したがって、このプロダクト・マシンは5
重M’=(I,[OxO],[SxS],Δ,Λ)であ
る。
【0021】他の周知の定義のように、δをブール関
数、xを変数とし、以下の表記法を使用する。
【0022】
【数11】
【0023】上式で、xはブール変数のベクトルでよ
い。
【0024】また、δをブール関数δ:{0,1}n
{0,1}k とし、
【0025】
【数12】
【0026】とすると、倒立像は
【0027】
【数13】
【0028】である。
【0029】プロダクト・マシンが作成された後、プロ
ダクト・マシンの各状態は実際には、マシン用の1対の
状態s,s’を表す。目標は、第1の構成要素が変数s
1 ,...,sn でコード化され、第2の構成要素が変
数s’1 ,...,s’n でコード化された等価状態対
の変数s1 ,...,sn ,s’1 ,...,s’n
BDDを計算することである。従来技術では、アルゴリ
ズムを使用して等価状態対が得られる。このアルゴリズ
ムは、固定点に達するまでセットEj のBDDを連続的
に作成することから成る。関数fの固定点は要素x:f
(x)=xである。ここで、固定点はEn =En+1 =E
であるときに到達され、以下のようにEj スートを計算
することによって得られる。
【0030】
【数14】
【0031】この計算は、実験 {s1 ,s’1 }<{s2 ,s’2 }<...<
{sn ,s’n } によって確証される関係と互換性がなければならないセ
ットEj のBDDの良好な変数順序に基づいて行われ
る。直観的に、そのような順序は、セットEj が等価関
係のグラフであり、状態空間の最初の順序がs1 <s2
<,...,sn である2つの事実をできるだけ活用す
る。
【0032】セットE1 の計算に必要とされるのは、2
次演算であるBDDに関するブール演算と、変数の消去
だけである。実験的試験によって、セットE1 の作成は
一般に、上記変数順序が選択されたときには低コストで
行われることが分かっている。セットEn をEn-1 から
計算するには、ベクトルΔによってEn-1 の倒立像を計
算し、入力変数の全称消去を実行する必要がある。倒立
像計算は、いくつかの方法を使用して実行することがで
きる。1つは遷移関数のグラフの作成を含むが、このグ
ラフは非常に大規模なマシンFSM用に作成することは
できない。(置換手法と呼ばれる)他の方法は、各変数
1 ,s’1 ,...,sj ,s’j を対応するδ1
δ’1 ,...,δj ,δ’j と置換することから成
る。入力変数のこの置換と消去とを同時に実行するいく
つかの実施態様が存在する。この従来の方法の一例は、
上記で引用した文献(1)に記載されている。
【0033】置換手法による倒立像の計算は、指数複雑
度を有するアルゴリズムによって行われる。さらに、ベ
クトルΔは2n個の関数(δ,δ’)から成り、倒立像
は、2n個のブール変数を有するセットEn-1 から計算
される。したがって、Δ-1(En )の計算は時間のかか
るステップであり、大きなメモリ空間を必要とする。
【0034】本発明は、Δ-1(En)を計算する新しい
方法に関する。この方法は、En =En+1 =Eであると
きに到達される固定点の新しい計算に対応する。この方
法は、実質的に小さなメモリ空間を使用して短時間で計
算ができるようにして従来技術の欠点を解消する。
【0035】さらに全般的には、本発明は、
【0036】
【数15】
【0037】であるように、ブール変数でコード化され
た2つの有限セットBおよびSから定義されたセット
Y、ブール関数のベクトルによって表された関数δ:B
→S、Sに関する等価関係A、変数s=s1 ,...,
n およびxが空であってよいx=x1 ,...,xk
でコード化されたセットB、ならびに
【0038】
【数16】
【0039】を指定するQxi をコンピュータによって
計算することから成り、セットYの計算が、(a)断面
と呼ばれ、C(A)と示されるSxSからの全域的関数
のグラフのBDDを、等価関係AのグラフのBDDから
正準的に作成するステップと、(b)δ* =C(A)o
δと示される新しいベクトルを断面およびベクトルδか
ら作成するステップと、(c)Qx1,...,Qx
k.(δ* (s,x)=δ(s’,x))であるように
対(s,s’)を計算するステップとから成ることを特
徴とする有限シーケンシャルマシンの妥当性を検査する
方法を提供する。
【0040】詳細には、この方法は、単調スート
1 ,...,En =Eの固定点として定義される有限
状態マシン(FSM)の等価関係Eを計算するために使
用される。等価関係Eの計算は、前記セットYに関して
定義されたセットEn-1 の倒立像を使用することによっ
てセットEn を連続的に作成することによって行われ
る。
【0041】1つの結果は、本発明の方法を実行するコ
ンピュータ・プログラムを組み込んだ情報サポートであ
る。
【0042】第2の結果は、本発明の方法を実行する有
限状態シーケンシャルマシンの妥当性を検証するツール
である。
【0043】本発明の目的および利点は、添付の図面に
関する本発明の好ましい実施例の以下の説明から明らか
になろう。
【0044】
【実施例】本発明の基本的な概念は、セットΔ-1(E
n)がSxSに関する等価関係のグラフであることに基
づくものである。セットE1 を得るには、δによって同
じイメージを有するすべての状態対を見つけなければな
らない。それらを見つけるために、本発明は以下のの特
性を有するベクトルをセットEn-1 から見つけようとす
る。
【0045】
【数17】
【0046】ベクトルθによって、出力関数λからE1
を作成するのと同様にΔ-1(En )を作成することがで
きる。
【0047】本発明は、(a)断面と呼ばれ、C(E
n-1 )と示されるSxSからの全域的関数のグラフのB
DDを、関係En-1 のグラフのBDDから正準的に作成
することと、(b)δn-1 =C(En-1 )oδと示され
る新しいベクトルを断面およびベクトルδから作成する
こととから成る、Δ-1(En-1 )を計算する方法であ
る、プロダクト有限状態マシンの遷移関数の倒立像を1
組のn−1個の等価状態から計算する方法に関する。新
しいベクトルが上記ベクトルθの所望の特性を有するこ
とを示す。したがって、このベクトルは、セットC(E
n-1 )の助けによって遷移関数δを修正することによっ
て得られる。倒立像計算アルゴリズムが使用されるが、
現在、倒立像が計算されるセットは、従来の方法のよう
な(変数s1,s2 ,...,sn ,s’1
s’2 ,...,s’n によってコード化された)状態
対のセットEn-1 ではなく(変数s1 ,s2 ,...,
n によってコード化された)Sのサブセットである。
【0048】次いで、本発明の方法は、ベクトルδn-1
に関する等価状態対を計算する第3のステップ(c)を
含むことができる。この対は、
【0049】
【数18】
【0050】の要素である。しかし、第3のステップを
使用して、本発明の方法を使用することによって倒立像
を計算し、変数のどんな存在消去または全称消去でも計
算することができることは明らかである。言い換える
と、
【0051】
【数19】
【0052】の要素を計算するために使用されるステッ
プ(c)の代わりに、第3の代替ステップ(c’)を使
用して
【0053】
【数20】
【0054】の要素を計算することができる。
【0055】ステップ(a)で定義された正準断面C
(En-1 )は、様々な方法を使用することによって計算
することができる。本明細書では、関係Rのグラフから
関数C(R)のグラフを得るための正準的方法を提示す
る。関数C(R)を関係Rの断面と呼ぶ。与えられる定
義は、適合投影の名前で知られている、文献(3)「Im
plicit Manipulation of Equivalence Classes Using B
inary Decision Diagrams 」(研究報告書、カリフォル
ニア大学バークレー校、1992年、B. Lin andA. Ric
hard Newton)で紹介された方法の特定のケースであ
る。
【0056】セット{0,1}n のすべての要素が整数
の昇順で順序付けられていると仮定する。たとえば、
【0057】
【数21】
【0058】によって表される要素(0,0,...,
1)は、
【0059】
【数22】
【0060】によって表される(0,0,...,1,
0)の前にくる。
【0061】定義1:BおよびCを2つのセット、ψを
BからCへの関係とし、≦をCに関する全順序とする
と、ψの断面は
【0062】
【数23】
【0063】として定義される部分関数C(ψ)であ
る。
【0064】関係En-1 の断面を計算するには、補域の
変数はs1 ,...,sn とし、定義域用の変数はs’
1 ,...,s’n とする。C(En-1 )にない対をE
n- 1 のBDDから削除する以下の変換を適用するC(E
n-1 )のBDDを、En- 1 のBDDから再帰的に作成す
ることができる。この変換は、以下のアルゴリズム1で
ある。
【0065】
【数24】
【0066】この作成は、グラフ・ノードに中間結果が
記憶されていれば、En-1 のグラフの固有の横断によっ
て実行することができる。
【0067】次いで、本発明の方法の第2のステップ
(b)によれば、δn-1 で示される構成C(En-1 )o
δが作成される。この作成は、異なる方法を使用するこ
とによって行うことができる。以下の例は、C
(En-1 )のBDDを使用してδの最初の関数δj をそ
れぞれ別々に修正することによって進行する方法であ
る。
【0068】関数δはブール関数(δ1 ,...,
δn )のベクトルとして与えられ、δj は状態変数si
および入力変数xi によるものである。ベクトルδn-1
=δ 1 n-1 ,...,δn n-1 )は同じ変数で作成さ
れ、δn-1 (s,x)=C(En-1 )δ(s,x)をも
たなければならない。En-1 は、等価関数なので、C
(En-1 )があらゆる場所で定義される関数であること
を検証するのは取るに足りないことである。したがっ
て、構成δn-1 は、δと同様にあらゆる場所で定義され
る。
【0069】sがS中にあり、Ki (s)がsの構成要
素si の値を示すようにする。たとえば、K3 ([0,
1,1,...,0])は1である。j=1ないしnに
関して、以下の等式によって関数δj n-1 を定義するこ
とができる。
【0070】δ1n -1(s,x)=Kj [C(En-1
(δ(s,x))] 断面C(En-1 )のグラフのBDDGを検討する。1な
いしnのjに関して、セット
【0071】
【数25】
【0072】を作成する。
【0073】
【数26】
【0074】は、Kj (s)≠Kj (G)であるような
すべての状態を含む。δj n-1 は以下の定理を使用して
得られる。
【0075】定理1:FがベクトルC(En-1 )である
とすると、Foδ=δn-1 =(δ1 n-1 ,...,δn
n-1 )は
【0076】
【数27】
【0077】と定義することができる。
【0078】証明として、Kj (δ(s,x))および
j [Fδ(s,x))]の値に応じてケースごとにδ
j n-1 (s,x)=Kj [F(δ(s,x))]である
ことを検査する。
【0079】Kj (δ(s,x))=0でありKj [F
(δ(s,x))]=0である。δ(s,x)がDj
になく、(s,x)がδ-1(Dj )中になく、(s,
x)がδ中にないので、δj n-1 (s,x)=0であ
る。
【0080】Kj (δ(s,x))=0でありKj [F
(δ(s,x))]=1である。δ(s,x)がDj
にあり、(s,x)がδ-1(Dj )中になく、δ(s,
x)=0なので、δj n-1 (s,x)=1である。
【0081】Kj (δ(s,x))=1でありKj [F
(δ(s,x))]=0である。δ(s,x)がDj
にあり、(s,x)がδ-1(Dj )中にあり、(s,
x)がδ(s,x)=0中にないので、δj n-1 (s,
x)=0である。
【0082】Kj (δ(s,x))=1でありKj [F
(δ(s,x))]=1である。δ(s,x)がDj
になく、(s,x)がδ-1(Dj )中になく、(s,
x)がδ中にあるので、δj n-1 (s,x)=0であ
る。
【0083】次に、構成の正しさを示す。以下の等式が
成立することを検査しなければならない。
【0084】
【数28】
【0085】命題1:ψが、任意の場所に定義されたB
からBへの遷移対称関係である場合、
【0086】
【数29】
【0087】である。
【0088】証明:⇒t=C(ψ)(x)であるとす
る。定義によって、2つの対(x,t)および(y,
t)はψ中にある。対称によって、(t,y)はψ中に
ある。したがって、遷移によって、(x,y)はψ中に
ある。
【0089】C(ψ)(x)<C(ψ)(y)であり、
【0090】
【数30】
【0091】であると仮定する。対称によって、(x,
y)はψ中にある。遷移によって、(yC(ψ)
(x))はψ中にある。この場合、
【0092】
【数31】
【0093】は仮定C(ψ)(y)<C(ψ)(x)と
一貫していない。
【0094】定理2:構成C(En-1 )oδは示すべき
等式の特性を検証する。
【0095】この立言は命題1から得られる。
【0096】
【数32】
【0097】命題1から
【0098】
【数33】
【0099】δの定義から
【0100】
【数34】
【0101】入力変数の
【0102】
【数35】
【0103】したがって、新しいアルゴリズムによっ
て、セットEn からEn-1 を計算することができる。B
DDはSxSに関する等価関係のグラフである。セット
n- 1 はブール変数s1 、s2 ,...,sn
s’1 、s’2 ,...,s’n で作成される。ここ
で、si はSxSの対の第1の構成要素をコード化し、
s’i はSxSの対の第2の構成要素をコード化する。
まず、この等価関係の正準適用のグラフのBDDを作成
し、C(En-1 )と呼ぶ。C(En-1 )はブール変数s
1 ,s2 ,...,sn 、s’1 、s’2 ,...,
s’n で作成され、si はSxSの対の第1の構成要素
をコード化し、s’i は第2の構成要素をコード化す
る。
【0104】ψを、グラフC(En-1 )を有するタイプ
SxSの関数とする。C(En-1 )のBDDおよび遷移
関数δから、本発明の方法に従ってベクトルδn-1 を計
算する。ベクトルδn-1 は変数sの名前をs’に変更す
ることによって作成される。次いで、セット
【0105】
【数36】
【0106】を計算する。セットEn は変数s1
2 ,...,sn ,s’1 ,s’2 ,...,s’n
で作成されたこの後者のセットとセットE1 の共通部分
である。したがって、En がΛから作成されるのと同様
にセット
【0107】
【数37】
【0108】はδn-1 から作成される。最後に、セット
【0109】
【数38】
【0110】に等しい。
【0111】以下の第2のアルゴリズムは反復ステップ
に対して与えられる。このアルゴリズムは、En-1 のB
DDと、状態変数のコピーおよび断面C(En-1 )の範
囲用に使用される変数(s’1 ,s’2 ,...,s’
n )のリストとを入力として取る。返される結果は、
(En-1 )のBDDである。En とEn-1 は共に変数サ
ポートs1 ,s2 ,...,sn ,s’1
s’2 ,...,s’n を有する。アルゴリズム2は以
下のとおりである。
【0112】
【数39】
【0113】本発明のアルゴリズムと従来技術のアルゴ
リズムの実施態様との比較を行った。本発明の方法で
は、倒立像計算が簡単になるので空間複雑度が低減さ
れ、全般的によりよい結果が丁度よい時に得られる。以
下の表は、ISCAS89の回路名、ベンチマーク、変
数の数(連続的に、入力、出力、状態)、すべてのBD
Dの頂点の数、等価クラスの数、計算に必要なステップ
の数など試験モデルの諸特徴を示す。
【0114】 回路名 変数 頂点 等価クラス ステップ s344 9;11;15 164 18608 5 s1488 8;19;6 476 49 2 s298 3;6;14 117 8061 16 s382 3;6;21 174 608448 93 以下の表は、本発明の方法による結果と従来の方法との
比較を示す。CPU時間は、IBM RS−6000ワ
ークステーション上での秒単位で報告されている。
【0115】 回路名 CPU時間 メモリ 本発明 従来技術 本発明 従来技術 s344 1.9 21.0 0.9 2.2 s1488 1.0 12.7 0.6 1.7 s298 8.5 286.4 1.6 7.5 s382 480.6 2608.4 3.7 10.6 計算用に作成した点を以下の表に示す。
【0116】 回路名 頂点 本発明 従来技術 s344 27127 110314 s510 16358 64387 s1488 15935 97622 s298 78210 1372970 s382 2600773 >3500000 本発明の方法は、複数の様々な実施態様をもつように当
業者が修正することができる。たとえば、BDDは、い
くつかの実施例、具体的には、North-HollandのG.Milne
を発行者とする文献「The Fusion between Hardware D
esign and Verification 」の「Original Concepts of
PRIAM, An Industrial Tool for Efficient Formal Ver
ification of Combinational Circuits」と題する部分
に記載されたいわゆるTDG(タイプ決定グラフ)をも
つことができる。本発明ではどんな形のBDDでも使用
することができる。さらに、すべてのBDDの順序がs
1 <s’1 <s2 <,...,<sn <s’n であると
仮定するが、他の順序を使用することができ、それに応
じてこの方法を修正することができる。本発明の上記の
実施例はセット
【0117】
【数40】
【0118】の計算に関するものであったが、本発明は
xの各変数のどんな量化にも拡張できることも分かっ
た。
【0119】本発明の方法は、ハードウェアの設計およ
び妥当性検査に適用される有限状態マシンによって引き
起こされる問題の解決策であるが、有限状態を有するシ
ーケンシャルマシンの妥当性を検査する方法に拡張する
こともできる。これは、有限状態マシンがソフトウェア
シーケンシャルマシンだからである。たとえば、この方
法はプロトコルの妥当性検査、制御インタフェースの妥
当性検査、さらに一般的には有限状態を有するソフトウ
ェア・プログラム部分の妥当性検査に使用することがで
きる。有限状態を有するシーケンサや自動化マシンなど
のハードウェアシーケンシャルマシンの妥当性を検査す
るために本発明を適用できることも明らかである。「妥
当性検査」の語の意味には、必要な条件が満たされてい
るかどうかを検証する試験の意味も含まれる。
【0120】さらに、上記の好ましい実施例は、本発明
の方法がEn-1 からの反復計算を使用することを示して
いるが、反復計算なしで、かつ各変数のどんな量化にで
も本発明を使用できることは明白である。
【0121】その結果、本発明の方法は、
【0122】
【数41】
【0123】であるように、ブール変数でコード化され
た2つの有限セットBおよびSから定義されたセットY
と、ブール関数のベクトルによって表された関数δ:B
→Sと、Sに関する等価関係Aと、変数s=s1 ,,,
snおよびx=x1 ,...,xk(xは空でもよい)
でコード化されたセットBと、
【0124】
【数42】
【0125】を指定するQxi とから成り、セットYの
計算が、(a)断面と呼ばれ、C(A)と示されるSx
Sからの全域的関数のグラフのBDDを、等価関係Aの
グラフのBDDから正準的に作成するステップと、
(b)δ* =C(A)oδと示される新しいベクトルを
断面およびベクトルδから作成するステップと、(c)
Qx1,...,Qxk(δ* (s,x)=δ(s’,
x))であるような対(s,s’)を計算するステップ
とから成ることを特徴とする、有限状態シーケンシャル
マシンの妥当性を検証する方法として定義することがで
きる。この定義で、セットBおよびSは上記セットBお
よびSとは異なるものでもよい任意のセットであり、変
数sおよびxは、上記変数sおよびxとは異なるもので
もよい任意の変数であり、等価関係Aは、任意の等価関
係であり、関数δは、FSMの遷移関数以外の関数でも
よい。反復計算が行われないので、上記実施例の反復計
算ではδn-1 の代わりにベクトルδ* が使用される。Y
の計算の等式は、倒立像の計算のアルゴリズムである。
したがって、上記実施例で説明した方法とこの一般的定
義との接続は、単調スートE1 ,...,En =Eの固
定点として定義される有限マシンFSMの等価関係
(E)を計算するために使用される方法としてこの方法
を定義して行うことができる。等価関係(E)の計算
は、前記セットYに関して定義されたEn-1 の倒立像を
使用することによってセットEn を連続的に作成するこ
とによって行われる。
【0126】好ましい実施例の上記説明で、上記ステッ
プ(a)で使用された正準断面を、以下の定義を使用し
て適合投影から計算できることが分かった。BおよびC
を2つのセット、ψをBからCへの関係として、≦をC
に関する全順序とすると、ψの断面は
【0127】
【数43】
【0128】として定義される部分関数C(ψ)であ
る。
【0129】この定義では、変数の昇順が仮定されてい
る。他の順序および定義を使用することもできる。たと
えば、上記定義「≦をCに関する全順序とする」を「<
をCに関する全厳密順序とする」で置き換えて他の定義
を使用することができる。適合投影以外の方法による計
算を使用することもできる。
【0130】好ましい実施例中の定理1から、本発明の
一般的定義のステップ(b)で、ベクトルδと、定義域
用の前記変数s=s1 ,...,sn およびコドメイン
用の変数s’=s’1 ,...,s’n でコード化され
たグラフC(A)とからベクトルδ* を作成し、セット
【0131】
【数44】
【0132】を使用してセットDj に固有に倒立像計算
を実行することによってδ* を作成することを示すこと
もできる。「固有に」の語は、本発明の結果である。
【0133】この方法は、磁気テープや磁気ディスクな
どの情報サポートのコンピュータ・プログラム、および
妥当性検査ツールによって実行することができる。
【図面の簡単な説明】
【図1】有限状態マシンのブロック図である。
【図2】プロダクト有限状態マシンのブロック図であ
る。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 8724−5L G06F 15/20 D

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 【数1】 であるように、ブール変数でコード化された2つの有限
    セットBおよびSから定義されたセットY、ブール関数
    のベクトルによって表された関数δ:B→S、Sに関す
    る等価関係A、変数s=s1 ,...,sn とxが空で
    もよいx=x1 ,...,xk とでコード化されたセッ
    トB、および 【数2】 を指定するQxi をデータ処理マシンによって計算する
    ことから成り、セットYの計算が、(a)断面と呼ば
    れ、C(A)で示されるSxSからの全体的関数のグラ
    フのBDDを、等価関係AのグラフのBDDから正準的
    に作成するステップと、(b)δ* =C(A)oδと示
    される新しいベクトルを断面およびベクトルδから作成
    するステップと、(c)Qx1,...,Qxk.(δ
    * (s,x)=δ(s’,x))であるように対(s,
    s’)を計算するステップから成ることを特徴とする有
    限シーケンシャルマシンの妥当性を検査する方法。
  2. 【請求項2】 単調スートE1 ,...,En =Eの固
    定点として定義される有限状態マシン(FSM)の等価
    関係Eを計算するために使用され、等価関係Eの計算
    が、前記セットYに関して定義され、かつΔ
    -1(En-1 )に対応するセットEn-1 の倒立像を使用す
    ることによってセットEn を連続的に作成することによ
    って行われること特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記ステップ(a)が、BおよびCを2
    つのセットとし、ψをBからCへの関係として、<をC
    に関する全順序とすると、ψの断面は 【数3】 として定義される部分関数C(ψ)であるという定義が
    使用される適合投影から計算されることを特徴とする請
    求項1または2に記載の方法。
  4. 【請求項4】 前記ステップ(a)が、BおよびCを2
    つのセットとし、ψをBからCへの関係として、≦をC
    に関する全順序とすると、ψの断面は 【数4】 として定義される部分関数C(ψ)であるという定義が
    使用される適合投影から計算され、かつ前記順序が連続
    昇順となるように選択されることを特徴とする請求項1
    または2に記載の方法。
  5. 【請求項5】 ステップ(b)で、ベクトルδと、定義
    域の前記変数s=s1 ,...,sn および補域の前記
    変数s’=s’1 ,...,s’n でコード化されたグ
    ラフC(A)とからベクトルδ* を作成し、セット 【数5】 を使用してセットDj に固有に倒立像計算を実行するこ
    とによってδ* を作成することを特徴とする請求項1か
    ら4のいずれか一項に記載の方法。
  6. 【請求項6】 前記ステップ(b)が、前記断面および
    前記ベクトルδから新しいベクトルδn-1 =C
    (En-1 )oδを作成することを含むことを特徴とする
    請求項2から5のいずれか一項に記載の方法。
  7. 【請求項7】 さらに、 【数6】 の対をもつようにベクトルδn-1 に関する等価状態対を
    計算するステップ(c)を含むことを特徴とする請求項
    6に記載の方法。
  8. 【請求項8】 コンピュータ・プログラムが、請求項1
    から7のいずれか一項によって定義される方法を実行す
    ることを特徴とするコンピュータ・プログラムを組み込
    んだ情報サポート。
  9. 【請求項9】 請求項1から7のいずれか一項に記載の
    方法または請求項8の情報サポートを実行することを特
    徴とする有限状態シーケンシャルマシンの妥当性を検査
    するツール。
JP26973494A 1993-11-02 1994-11-02 有限状態シーケンシャルマシンの妥当性を検査する方法及びその結果得られる情報サポートおよび妥当性検査ツール Pending JPH07182406A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR93402682.4 1993-11-02
EP93402682A EP0653716B1 (en) 1993-11-02 1993-11-02 Method of verification of a finite state sequential machine

Publications (1)

Publication Number Publication Date
JPH07182406A true JPH07182406A (ja) 1995-07-21

Family

ID=8214762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26973494A Pending JPH07182406A (ja) 1993-11-02 1994-11-02 有限状態シーケンシャルマシンの妥当性を検査する方法及びその結果得られる情報サポートおよび妥当性検査ツール

Country Status (5)

Country Link
US (1) US5594656A (ja)
EP (1) EP0653716B1 (ja)
JP (1) JPH07182406A (ja)
CA (1) CA2132691C (ja)
DE (1) DE69326072T2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774370A (en) * 1995-09-18 1998-06-30 Vlsi Technology, Inc. Method of extracting implicit sequential behavior from hardware description languages
US5680332A (en) * 1995-10-30 1997-10-21 Motorola, Inc. Measurement of digital circuit simulation test coverage utilizing BDDs and state bins
US6907386B1 (en) * 1997-03-11 2005-06-14 Siemens Aktiengesellschaft Method for computer-supported error analysis of sensors and/or actuators in a technical system
US5937181A (en) * 1997-03-31 1999-08-10 Lucent Technologies, Inc. Simulation of a process of a concurrent system
GB9718688D0 (en) * 1997-09-03 1997-11-12 Sgs Thomson Microelectronics Post image techniques
US6816821B1 (en) 1997-09-03 2004-11-09 Stmicroelectronics Limited Post image techniques
US5974242A (en) * 1997-09-25 1999-10-26 The United States Of America As Represented By The Secretary Of The Army Methods and computer programs for minimizing logic circuit design using identity cells
US6059837A (en) * 1997-12-30 2000-05-09 Synopsys, Inc. Method and system for automata-based approach to state reachability of interacting extended finite state machines
US6339837B1 (en) 1998-02-25 2002-01-15 Zhe Li Hybrid method for design verification
CA2243761C (en) * 1998-07-21 2009-10-06 Certicom Corp. Timing attack resistant cryptographic system
US6446243B1 (en) 1999-04-23 2002-09-03 Novas Software, Inc. Method for functional verification of VLSI circuit designs utilizing reusable functional blocks or intellectual property cores
US6728665B1 (en) * 2000-03-20 2004-04-27 Nec Corporation SAT-based image computation with application in reachability analysis
US7031896B1 (en) 2000-06-30 2006-04-18 Intel Corporation Methods for performing generalized trajectory evaluation
US20050192789A1 (en) * 2000-06-30 2005-09-01 Jin Yang Methods for formal verification on a symbolic lattice domain
US6725431B1 (en) 2000-06-30 2004-04-20 Intel Corporation Lazy symbolic model checking
US6341367B1 (en) * 2000-07-25 2002-01-22 Lsi Logic Corporation Hardware realized state machine
US6591400B1 (en) * 2000-09-29 2003-07-08 Intel Corporation Symbolic variable reduction
US6643827B1 (en) 2000-09-30 2003-11-04 Intel Corporation Symbolic model checking with dynamic model pruning
US8265920B1 (en) 2004-07-30 2012-09-11 Synopsys, Inc. Determining large-scale finite state machines using constraint relaxation
CN102890735B (zh) * 2012-07-09 2014-11-05 南京南瑞继保电气有限公司 稳控装置的策略表和策略搜索匹配的建模方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59201155D1 (de) * 1991-04-17 1995-02-16 Siemens Ag Verfahren zur verifikation datenverarbeitender systeme.
US5331568A (en) * 1991-06-18 1994-07-19 Microelectronics & Computer Technology Corporation Apparatus and method for determining sequential hardware equivalence
US5394347A (en) * 1993-07-29 1995-02-28 Digital Equipment Corporation Method and apparatus for generating tests for structures expressed as extended finite state machines

Also Published As

Publication number Publication date
CA2132691C (en) 2000-01-18
CA2132691A1 (en) 1995-05-03
EP0653716B1 (en) 1999-08-18
DE69326072D1 (de) 1999-09-23
EP0653716A1 (en) 1995-05-17
US5594656A (en) 1997-01-14
DE69326072T2 (de) 1999-12-23

Similar Documents

Publication Publication Date Title
JPH07182406A (ja) 有限状態シーケンシャルマシンの妥当性を検査する方法及びその結果得られる情報サポートおよび妥当性検査ツール
Minato Zero-suppressed BDDs and their applications
Pastor et al. Petri net analysis using boolean manipulation
JP4028107B2 (ja) 分解及び分割によるハードウェアの検証並びに表現方法
Pixley et al. Exact calculation of synchronizing sequences based on binary decision diagrams
Ciesielski et al. Understanding algebraic rewriting for arithmetic circuit verification: a bit-flow model
US7506290B2 (en) Method and system for case-splitting on nodes in a symbolic simulation framework
US5491639A (en) Procedure for verifying data-processing systems
Yu et al. Efficient parallel verification of galois field multipliers
Filkorn A method for symbolic verification of synchronous circuits
George et al. Hardware design procedure: principles and practices
Sun et al. Word-level traversal of finite state machines using algebraic geometry
Possani et al. Optimizing transistor networks using a graph-based technique
Kukimoto et al. Hierarchical functional timing analysis
Drechsler Verification of multi-valued logic networks
Verhaegen et al. Efficient DDD-based symbolic analysis of large linear analog circuits
JPH1063537A (ja) プロパティ検証方法および装置
Kalla et al. High-level design verification using Taylor Expansion Diagrams: first results
EP4386614A1 (en) Verification of a logic circuit
CN112733474B (zh) 基于与门反相器图的网表级电路面积优化方法及存储介质
JP3600420B2 (ja) 論理検証装置
Ciesielski et al. Taylor expansion diagrams: a new representation for RTL verification
Kaiss et al. Seqver: A sequential equivalence verifier for hardware designs
Shen et al. Probabilistic manipulation of boolean functions using free boolean diagrams
Thornton et al. A method for approximate equivalence checking