JP4577475B2 - Method and apparatus for property verification of synchronous sequential circuit - Google Patents

Method and apparatus for property verification of synchronous sequential circuit Download PDF

Info

Publication number
JP4577475B2
JP4577475B2 JP2001219343A JP2001219343A JP4577475B2 JP 4577475 B2 JP4577475 B2 JP 4577475B2 JP 2001219343 A JP2001219343 A JP 2001219343A JP 2001219343 A JP2001219343 A JP 2001219343A JP 4577475 B2 JP4577475 B2 JP 4577475B2
Authority
JP
Japan
Prior art keywords
sequential circuit
property
synchronous sequential
property verification
verified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2001219343A
Other languages
Japanese (ja)
Other versions
JP2003030270A (en
Inventor
輝 向山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2001219343A priority Critical patent/JP4577475B2/en
Publication of JP2003030270A publication Critical patent/JP2003030270A/en
Application granted granted Critical
Publication of JP4577475B2 publication Critical patent/JP4577475B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、同期式順序回路が機能仕様を満たしているか否かを検証するプロパティ検証装置に関し、特に機能仕様記述言語として時相論理の一種である計算木論理(Computation Tree Logic: CTL)を用いた記号モデル検査法による形式検証装置に関する。
【0002】
【従来の技術】
従来のプロパティ検証装置は、機能仕様記述言語として時相論理の一種である計算木論理(Computation Tree Logic: CTL)を用いた記号モデル検査法によるものが一般的であった。(注記;参考文献:情報処理 35(8) 「論理関数処理に基づく形式的検証方法」平石裕実、浜口清治著)
以下に、従来の記号モデル検査法によるプロパティ検証装置について説明する。
【0003】
まず、モデル検査法について説明するが、詳細は上記注記の文献「論理関数処理に基づく形式的検証方法」を参照されたい。
【0004】
モデル検査法は、Kripke構造と呼ばれる有向グラフ上で、CTL(Computation Tree Logic)と呼ばれる時相論理の真偽を判定するものである。
【0005】
Kripke構造は、節点の集合Vと、節点間の遷移関係(有向枝)を表すRと、各節点における原始命題の真偽を表すIと、初期節点を表すV0とを用いて、式(1)のように定義される。
K=(V, R, I, V0) …(1)
同期式順序回路は、次のようにしてKripke構造にモデル化される。同期式順序回路は、図3に示すように、入力信号(x1,...,xn)、出力信号(z1,...,zl)、FF信号(y1,...,ym)、およびFF信号の次クロックの値を決定する組合せ回路から構成される。
【0006】
入力信号およびFF信号での値の一つの組合せを一つの節点で表し、入力信号およびFF信号の各々を原始命題としてその真偽を信号値で表し、初期節点をリセット状態の信号値に対応する節点とすることで、同期式順序回路をKripke構造にモデル化できる。
【0007】
節点間の遷移関係は、同期式順序回路において、ある信号値から次クロックで遷移可能な信号値の組合せを表すことに相当し、FF信号の次クロックの値を決定する組合せ回路の論理から求めることが可能である。
【0008】
CTLは、原始命題の真偽の時間的な変化を記述できる時相論理であり、論理和や論理積や論理否定などの通常の論理演算子に加えて、「全ての遷移系列において」を表す演算子A、「ある遷移系列において」を表す演算子E、「将来いつか」を表す時相演算子F、「将来常に」を表す時相演算子G、「次の時刻で」を表す時相演算子X、「〜まで常に」を表す時相演算子Uを用いて記述される。
【0009】
例えば、EFp というCTL記述は、「ある遷移系列において、将来いつかpが真である」という命題を表している。
【0010】
Kripke構造の初期節点においてEFpが真であるか否かを求めるには、EFpが真である節点を全て求め、その中に初期節点が含まれるか否かを判定すればよい。
【0011】
EFpが真である節点を全て求めるには、まずpが真である節点の集合を求め、次にその節点への遷移を持つ(すなわち有向枝を持つ)節点を次々と求め加えてゆけば良い。
【0012】
新しく加えられる節点がなくなるまでこの作業を続ければ、EFpが真である節点を全て求められたことになる。
【0013】
図2はこの作業の様子を示す図であり、pが真である節点はq8とq9であるとすると、まず、節点集合[q8,q9]をT0とし、T0への遷移を持つ節点の集合を求める。T0への遷移を持つ節点はq6とq7である。次に、q6とq7を T0に追加した節点集合[q8,q9,q6,q7]をT1とするとT1への遷移を持つ節点q3,q4,q5,q6,q7,q8,q9を求め、T1に追加した節点集合をT2=[ q8,q9,q6,q7,q3,q4,q5]とする。
【0014】
同様にして3ステップ目ではT3=[ q8,q9,q6,q7,q3,q4,q5,q1,q2]を求め、4ステップ目ではT4=[ q8,q9,q6,q7,q3,q4,q5,q1,q2,q0]を求める。5ステップ目で、T4への遷移を持つ節点を求めるとq0,q1,q2,q3,q4,q5,q6,q7,q8,q9となるが、これらは全てT4に含まれており最早新しい節点が加えられることは無いのでこのステップで作業は停止する。
【0015】
以上の作業で求められた節点集合T4がEFpが真である全ての節点である。T4に初期節点q0が含まれているため、初期節点でEFpが真であることが検証できる。
【0016】
次に記号モデル検査について説明する。
【0017】
ある節点の集合[q]から1回の遷移で到達できる節点の集合[r]を求める作業を「像計算」と言い、次のように表される。
Img([q]) = [r] …(2)
逆に、ある節点の集合[r]に1回の遷移で到達できる節点の集合[q]を求める作業を「逆像計算」と言い、次のように表す。
Img-1([r]) = [q] …(3)
上記の、EFpが真である節点を求める作業は、pが真である節点集合から開始して、逆像計算を繰り返し適用することで達せられる。
【0018】
記号モデル検査法は、上記の像計算、逆像計算を論理関数処理で行うものである。このために、Kripke構造の各節点をそれぞれユニークな二進数で表し、これを表現するための論理変数ベクトルv=[v0,v1,..,vn]を用意する。節点の集合Sは、vを用いて次のような論理関数FS(v)で表される。
FS(v)= 1 iff v∈q …(4)
例えば、節点q0,q1,q2,q3がそれぞれ、000, 001, 010, 011 という二進数で表されるとき、節点集合S1=[q1,q2]は、次のような論理関数FS1で表される。
FS1 = !v0 * !v1 * v2 + !v0 * v1 * !v2 …(5)
ここで、!は論理否定、*は論理積、+は論理和を表す。
【0019】
一方、節点間の遷移関係も論理関数で表現する。遷移枝の始点を論理変数ベクトルv=[v0,v1,..,vn]で表し、終点を論理変数ベクトルv=[v0,v1,..,vn]で表すことにすると、節点間の遷移関係は、次のような論理関数R(v,v)で表される。
R(v,v)=1 iff (v,v)が遷移枝 …(6)
これらの論理関数表現を用いると、上記の像計算、逆像計算を論理関数処理で行うことが可能となる。
【0020】
ここでは、逆像計算について説明する。
【0021】
式(3)の逆像計算の論理関数処理について説明する。節点集合[r]を表す論理関数をFr(v)とし、節点集合[q]を表す論理関数をFq(v)とする。[r]の逆像[q]は、次のような論理関数処理で求められる。
Fq(v) = ∃v.( R(v,v) * Fr(v) ) …(7)
ここで、∃v. はスムージング演算子と呼ばれるもので、次のように定義される。
∃vi.f(v) = fvi=1(v) + fvi=0(v) …(8)
∃v.f(v) = ∃v0.f(v) * ∃v1.f(v) * ... * ∃vn.f(v) …(9)
式(8)において、fvi=1(v)はvi=1を代入したf(v)を表し、fvi=0(v)はvi=0を代入したf(v)を表す。
【0022】
次に、同期式順序回路を対象とした記号モデル検査について説明する。図3に示すような同期式順序回路を考える。
【0023】
この同期式順序回路は、n個の外部入力信号[x1,...,xn]とm個のフリップフロップ[y1,...,ym]、そして次クロックのフリップフロップの値を決定する組合せ回路からなる。
【0024】
この順序回路をKripke構造にモデル化するためには、[x1,...,xn]と[y1,...,ym]を連結したベクトルを上記論理変数ベクトルvに対応付ける。
【0025】
これは、フリップフロップと外部入力信号の値の組合せのひとつひとつをKripke構造の節点に対応させることを意味する。
【0026】
また、次クロックにおける入力信号の値とフリップフロップの値をそれぞれ[x1,...,xn]、[y1,...,ym]で表し、連結したベクトルをvに対応付ける。
【0027】
これらを用いて節点間の遷移関係式R(v,v)を生成する。
【0028】
節点間の遷移関係式は、次クロックのフリップフロップの値を決定する組合せ回路から、次のような計算により求める。
【0029】
フリップフロップyiの次クロックの値を決定する組合せ回路が、論理関数 Ni(v)で表されるとする。
R(v,v) = Π1im ( y≡ Ni(v) ) …(10)
以上により、同期式順序回路をKripke構造にモデル化することができ、記号モデル検査による検証が可能となる。
【0030】
記号モデル検査法における論理関数処理は、二分決定グラフ(Binary Decision Diagrams:BDD)を用いて実行されるのが一般的である。
【0031】
特開平10−301963号公報では、論理装置の検証方法等に関して論理装置の検証方法に記号モデル検査法を用いる場合、状態集合を分割して大規模な論理回路の検査を行う方法について述べられている。
【0032】
特開平10−63537号公報では、記号モデル検査法においてメモリ規模の縮小と処理時間の短縮のため、検証対象のプロパティに分岐の無い状態集合と無限ループが連結した構成の状態集合を示す単一パス表現をオートマトンにおける像計算処理だけで実行可能な手続き群に変換する事により、実行させる方法について述べられている。
【0033】
【発明が解決しようとする課題】
しかし、これら従来の技術においては、処理時間を限定して検証を行う事ができないという第1の問題があった。
【0034】
又処理メモリ及び処理CPU時間に制限がある場合、所定規模以上の論理回路の検証ができないという第2の問題があった。
本発明は、これらの問題点に鑑みなされたものであり、その目的は処理時間、処理メモリに制限がある場合においても規模の大小に関わらず検査ができる方法を提供することである。
【0035】
【課題を解決するための手段】
本発明の第1の観点によれば、同期式順序回路が機能仕様を表すプロパティを満たすか否かを検証するプロパティ検証装置が行うプロパティ検証方法において、前記プロパティ検証装置が、検証対象の前記同期式順序回路の動作を定義した記述および検証対象のプロパティとして目的の回路内部状態への到達可能性を表すCTL式の入力を受け付けるステップと、前記プロパティ検証装置が、前記検証対象の前記同期式順序回路の動作を定義した記述において前記CTL式の真偽を判定する記号モデル検査法を実行するステップと、前記プロパティ検証装置が、前記記号モデル検査法が制限時間又は制限メモリ量内で実行不可能な場合に、前記制限時間又は制限メモリ量内で求めることができた節点集合の情報に基づいて前記CTL式であることの証明状態に到達可能な状態集合の情報を抽出し、前記同期式順序回路の内部状態が前記抽出した状態集合に含まれるか否かを判定するテストベンチを自動生成するステップと、前記プロパティ検証装置が、前記テストベンチを使用し、前記記号モデル検査法の結果を補完する為の論理シミュレーションを実行するステップと、を備えることを特徴とするプロパティ検証方法が提供される。
【0036】
上記プロパティ検証方法において、前記論理シミュレーションでは前記生成したテストベンチに加え、外部入力信号に与える入力ベクタとしてランダムパタン又は外部から与えられたパタンを使用し、前記論理シミュレーションの実行中、前記シミュレーション対象の同期式順序回路の内部状態が前記抽出した状態集合に相当する内部状態に達したことが検出された場合に前記CTL式が真であると判定することにより前記論理シミュレーションが行われることを特徴とするプロパティ検証方法であってもよい。
【0037】
【発明の実施の形態】
第1の実施の形態について、本発明の処理手順を示した図1のフローチャート図と従来における記号モデル検査法の処理手順の例を示した概念図である図2を用いて、詳細に説明する。
【0038】
S102の手順で入力された検証対象の同期式順序回路が、図2に示すようなKrike構造にモデル化されたとする。また、S102で入力された機能仕様が、EFp というCTLであったとし、図2の節点のうちpが真となる節点はq8とq9であったとする。この機能仕様を対象とするプロパティ検証は、検証対象の同期式順序回路での内部状態のうち、q8とq9に相当する内部状態に到達可能であることを確認することを目的とした検証である。
【0039】
S103の記号モデル検査では、図2に示すように、節点集合T0から開始してT0に到達可能な節点集合を繰り返し処理により求める。
【0040】
S103の記号モデル検査が制限時間と制限メモリ量内で処理が完了した場合、すなわち節点集合T4を求めることができた場合は、プロパティ検証は終了である。
すなわち、検証対象の同期式順序回路での内部状態のうち、q8とq9に相当する内部状態に初期状態から到達可能であることを確認できたことになる。
【0041】
一方、S103の記号モデル検査が制限時間と制限メモリ量内で処理が完了しなかった場合を考える。例として、記号モデル検査が図2における節点集合T2を求めた時点で制限時間か制限メモリ量のいずれかを超えたと仮定する。
【0042】
この場合は, S103を終了した時点では、検証対象の同期式順序回路での内部状態のうち、q8とq9に相当する内部状態に初期状態から到達可能であることは確認できない。
【0043】
ここで、S107は、S103の記号モデル検査から節点集合T2=[ q8,q9,q6,q7,q3,q4,q5]の情報を受け取り、「検証対象の同期式順序回路がq8,q9,q6,q7,q3,q4,q5に相当する内部状態に到達した」ことを検出するようなテストベンチを生成する。
【0044】
次にS106は、S107が生成したテストベンチを使用し、外部入力信号に与える入力ベクタとしてランダムパタンあるいは設計者が与えたパタンを使用し、論理シミュレーションを実行する。論理シミュレーションの実行中、テストベンチは適当なタイミングでシミュレーション対象の同期式順序回路の内部状態がq8,q9,q6,q7,q3,q4,q5に相当する内部状態のいずれかに達したか否かを検査する。かかる内部状態に達したことが検出されれば、検証対象の同期式順序回路での内部状態のうち、q8とq9に相当する内部状態に初期状態から到達可能であることを確認できたことになる。
【0045】
次に本発明での第2の実施の形態について、従来の記号モデル検査法の処理手順を示した概念図である図2の例を用いて、本発明での論理シミュレーションについて説明する。
【0046】
図2に示すように、論理シミュレーションにおいては、q8とq9に相当する内部状態に初期状態から到達可能であることを確認するためには、最低4ステップのシミュレーションが必要である。
【0047】
しかしながら、q8,q9,q6,q7,q3,q4,q5に相当する内部状態のいずれかに初期状態から到達可能であることの確認は、最低2ステップのシミュレーションで可能である。
【0048】
到達するために長いステップが必要な状態は、ランダムパタンあるいは設計者が作成する入力パタンでは到達が困難である場合が多いが、短いステップで到達可能な状態には、高い確率で到達可能である。
【0049】
したがって、本発明のプロパティ検証方法は、従来の記号モデル検査法によるプロパティ検証方法が処理時間や使用メモリ量の制限のため検証不可能であるような場合に対し、短い時間あるいは高い確率でプロパティ検証を可能とすることができる。
【0050】
【発明の効果】
本発明の第1の効果は、従来の記号モデル検査法によるプロパティ検証方法が処理時間や使用メモリ量の制限のため検証不可能であるような場合であっても検証ができることである。
【0051】
本発明の第2の効果は、論理シミュレーションにより検証対象の順序回路が機能仕様を満たすか否かを証明する内部状態に初期状態から到達可能であることを短時間で確認できる事である。
【図面の簡単な説明】
【図1】本発明での第1の実施の形態における処理手順を示したフローチャート図である。
【図2】従来における記号モデル検査法の処理手順の例を示した概念図である。
【図3】同期式順序回路の例を示した図である。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a property verification apparatus that verifies whether or not a synchronous sequential circuit satisfies a functional specification, and in particular, uses a computation tree logic (CTL) which is a kind of temporal logic as a functional specification description language. The present invention relates to a formal verification apparatus based on a symbol model checking method.
[0002]
[Prior art]
Conventional property verification devices are generally based on a symbolic model checking method using computation tree logic (CTL) which is a kind of temporal logic as a functional specification description language. (Note; Reference: Information Processing 35 (8) “Formal Verification Method Based on Logical Function Processing” by Hiromi Hiraishi and Kiyoji Hamaguchi)
Hereinafter, a property verification apparatus using a conventional symbol model checking method will be described.
[0003]
First, the model checking method will be described. For details, refer to the above-mentioned note “Formal verification method based on logical function processing”.
[0004]
The model checking method is for determining whether the temporal logic called CTL (Computation Tree Logic) is true or false on a directed graph called Kripke structure.
[0005]
The Kripke structure is expressed by using a set of nodes V, R representing transition relations between nodes (directed branches), I representing the truth of a primitive proposition at each node, and V 0 representing an initial node. It is defined as (1).
K = (V, R, I, V 0 ) (1)
The synchronous sequential circuit is modeled as a Kripke structure as follows. As shown in FIG. 3, the synchronous sequential circuit includes an input signal (x 1 ,..., X n ), an output signal (z 1 ,..., Z l ), an FF signal (y 1 ,. , y m ), and a combinational circuit that determines the value of the next clock of the FF signal.
[0006]
One combination of values in the input signal and FF signal is represented by one node, each of the input signal and FF signal is represented as a primitive proposition, its true / false is represented by a signal value, and the initial node corresponds to the signal value in the reset state. By using nodes, synchronous sequential circuits can be modeled as Kripke structures.
[0007]
The transition relationship between nodes corresponds to representing a combination of signal values that can be transitioned from a certain signal value to the next clock in a synchronous sequential circuit, and is obtained from the logic of the combinational circuit that determines the value of the next clock of the FF signal. It is possible.
[0008]
CTL is a temporal logic that can describe the true and false temporal changes of primitive propositions. In addition to ordinary logical operators such as logical sum, logical product, and logical negation, CTL represents "in all transition sequences". Operator A, operator E representing "in a certain transition series", time phase operator F representing "someday in the future", time phase operator G representing "always in the future", time phase representing "at the next time" It is described using the operator X, a temporal operator U representing “always to”.
[0009]
For example, the CTL description EFp represents the proposition “p is true sometime in the future in a certain transition sequence”.
[0010]
In order to determine whether or not EFp is true at the initial node of the Kripke structure, all the nodes for which EFp is true are obtained and it is determined whether or not the initial node is included therein.
[0011]
To find all nodes for which EFp is true, first find the set of nodes for which p is true, then find and add nodes that have transitions to that node (that is, have directional branches) one after another. good.
[0012]
If you continue this process until there are no new nodes added, you will be asked for all nodes for which EFp is true.
[0013]
Figure 2 is a diagram showing a state of the task, the node p is true when the a q 8 and q 9, first, the node set [q 8, q 9] and T 0, to T 0 Find a set of nodes with transitions. The nodes with transitions to T 0 are q 6 and q 7 . Next, node q 3, q 4 with a transition node set obtained by adding the q 6 and q 7 to T 0 [q 8, q 9 , q 6, q 7] a to T 1 When T 1, q 5 , q 6 , q 7 , q 8 , q 9 and the node set added to T 1 is T 2 = [q 8 , q 9, q 6 , q 7 , q 3 , q 4, q 5 ] .
[0014]
Similarly, T 3 = [q 8 , q 9, q 6 , q 7 , q 3 , q 4, q 5 , q 1, q 2 ] is obtained in the third step, and T 4 = [q in the fourth step. 8 , q 9, q 6 , q 7 , q 3 , q 4, q 5 , q 1, q 2, q 0 ] are obtained. In the 5th step, nodes with transition to T 4 are obtained as q 0 , q 1 , q 2 , q 3 , q 4 , q 5 , q 6 , q 7 , q 8 , q 9 working in this step is stopped because the longer the new node is included in all the T 4 will not be added.
[0015]
The node set T 4 obtained by the above operation is all nodes for which EFp is true. Since T 4 includes the initial node q 0 , it can be verified that EFp is true at the initial node.
[0016]
Next, the symbol model check will be described.
[0017]
The operation of obtaining a set of nodes [r] that can be reached from a set of nodes [q] by one transition is called “image calculation” and is expressed as follows.
Img ([q]) = [r] (2)
On the other hand, the task of obtaining a set of nodes [q] that can reach a set of nodes [r] with a single transition is called “inverse image calculation” and is expressed as follows.
Img -1 ([r]) = [q] (3)
The above-described operation for finding a node for which EFp is true can be achieved by starting with a node set for which p is true and repeatedly applying inverse image calculation.
[0018]
The symbol model checking method performs the above image calculation and inverse image calculation by logical function processing. For this purpose, each node of the Kripke structure is represented by a unique binary number, and a logical variable vector v = [v 0 , v 1 ,.., V n ] is prepared for expressing this. A set S of nodes is represented by the following logical function F S (v) using v.
F S (v) = 1 iff v∈q (4)
For example, when the nodes q 0 , q 1 , q 2 , q 3 are represented by binary numbers 000, 001, 010, 011 respectively, the node set S1 = [q 1 , q 2 ] is Represented by the logical function F S1 .
F S1 =! V 0 *! V 1 * v 2 +! V 0 * v 1 *! V 2 ... (5)
Here,! Represents a logical negation, * represents a logical product, and + represents a logical sum.
[0019]
On the other hand, the transition relationship between nodes is also expressed by a logical function. The start point of the transition branch is represented by a logical variable vector v = [v 0 , v 1 , .., v n ], and the end point is represented by a logical variable vector v = [v 0 , v 1 , .., v n ]. Then, the transition relation between the nodes is expressed by the following logical function R (v, v).
R (v, v) = 1 iff (v, v) is a transition branch (6)
When these logical function expressions are used, the above image calculation and inverse image calculation can be performed by logical function processing.
[0020]
Here, inverse image calculation will be described.
[0021]
A logical function process of inverse image calculation of Expression (3) will be described. A logical function representing the node set [r] is F r (v), and a logical function representing the node set [q] is F q (v). The inverse image [q] of [r] is obtained by the following logical function processing.
F q (v) = ∃v. (R (v, v) * F r (v))… (7)
Here, ∃v. Is called a smoothing operator and is defined as follows.
∃v i .f (v) = f vi = 1 (v) + f vi = 0 (v) (8)
∃vf (v) = ∃v 0 .f (v) * ∃v 1 .f (v) * ... * ∃v n .f (v)… (9)
In equation (8), f vi = 1 (v) represents f (v) substituted with v i = 1, and f vi = 0 (v) represents f (v) substituted with v i = 0.
[0022]
Next, symbol model checking for a synchronous sequential circuit will be described. Consider a synchronous sequential circuit as shown in FIG.
[0023]
This synchronous sequential circuit consists of n external input signals [x 1 , ..., x n ], m flip-flops [y 1 , ..., y m ], and the value of the next clock flip-flop A combinational circuit for determining
[0024]
In order to model this sequential circuit into a Kripke structure, a vector obtained by connecting [x 1 , ..., x n ] and [y 1 , ..., y m ] is associated with the logical variable vector v.
[0025]
This means that each combination of flip-flop and external input signal value corresponds to a node of the Kripke structure.
[0026]
Also, the value of the input signal and the value of the flip-flop at the next clock are represented by [x 1 , ..., x n ] and [y 1 , ..., y m ], respectively, and the concatenated vector is associated with v.
[0027]
Using these, a transition relation R (v, v) between nodes is generated.
[0028]
The transition relation between the nodes is obtained by the following calculation from a combinational circuit that determines the value of the flip-flop of the next clock.
[0029]
Assume that a combinational circuit that determines the value of the next clock of the flip-flop y i is represented by a logical function N i (v).
R (v, v) = Π 1im (y≡ N i (v))… (10)
As described above, the synchronous sequential circuit can be modeled into a Kripke structure, and verification by symbol model checking becomes possible.
[0030]
The logical function processing in the symbol model checking method is generally executed using binary decision diagrams (BDD).
[0031]
Japanese Patent Application Laid-Open No. 10-301963 describes a method for inspecting a large-scale logic circuit by dividing a state set when a symbol model checking method is used as a logic device verification method. Yes.
[0032]
In Japanese Patent Laid-Open No. 10-63537, a single state set indicating a state set in which an infinite loop is connected to a property set to be verified is connected in order to reduce the memory scale and processing time in the symbol model checking method. It describes a method of executing a path expression by converting it into a procedure group that can be executed only by image calculation processing in the automaton.
[0033]
[Problems to be solved by the invention]
However, these conventional techniques have a first problem that verification cannot be performed with a limited processing time.
[0034]
Further, there is a second problem that when the processing memory and the processing CPU time are limited, a logic circuit having a predetermined scale or larger cannot be verified.
The present invention has been made in view of these problems, and an object of the present invention is to provide a method capable of performing inspection regardless of the size of the scale even when the processing time and the processing memory are limited.
[0035]
[Means for Solving the Problems]
According to a first aspect of the present invention, the property checking method property checking device performs to verify whether they meet the properties of synchronous sequential circuit represents the functional specification, the property checking device, the synchronization verified Receiving a description defining the operation of the expression sequence circuit and an input of a CTL expression representing the reachability to the target circuit internal state as a property to be verified; and A step of executing a symbolic model checking method for determining whether the CTL expression is true or false in a description defining the operation of the circuit; and the property verification device is unable to execute the symbolic model checking method within a limited time or a limited amount of memory. when such, the CTL formula based on the time limit or information node set that can be obtained within limits the amount of memory is true The Rukoto proof state to extract information of possible state set reached, the steps of the internal state of the synchronous sequential circuit automatically generates a determining testbench whether included in the set of states and the extraction, the A property verification apparatus comprising: performing a logic simulation using the test bench to complement the result of the symbolic model checking method.
[0036]
Oite above property checking how the addition to the test bench the generated in logic simulation, using the pattern given from the random pattern or an external as an input vector to be given to external input signals, during execution of the logic simulation, the The logic simulation is performed by determining that the CTL expression is true when it is detected that the internal state of the synchronous sequential circuit to be simulated has reached an internal state corresponding to the extracted state set. May be a property verification method characterized by
[0037]
DETAILED DESCRIPTION OF THE INVENTION
The first embodiment will be described in detail with reference to the flowchart of FIG. 1 showing the processing procedure of the present invention and FIG. 2 which is a conceptual diagram showing an example of the processing procedure of the conventional symbol model checking method. .
[0038]
It is assumed that the synchronous sequential circuit to be verified input in the procedure of S102 is modeled into a Krike structure as shown in FIG. Further, the functional specification input in S102, and was CTL that EFP, nodes p is true among the nodes of FIG. 2 is assumed to be q 8 and q 9. Property verification for this functional specification is intended to confirm that internal states corresponding to q 8 and q 9 can be reached among the internal states in the synchronous sequential circuit to be verified. It is.
[0039]
In the symbol model check in S103, as shown in FIG. 2, a node set that can reach T 0 starting from the node set T 0 is obtained by iterative processing.
[0040]
If symbolic model checking of S103 has limited time and limited amount of memory in the process is complete, that is, when it is possible to obtain the node set T 4, the property checking is terminated.
That is, it is confirmed that the internal states corresponding to q 8 and q 9 among the internal states in the synchronous sequential circuit to be verified can be reached from the initial state.
[0041]
On the other hand, let us consider a case where the process of the symbol model check in S103 is not completed within the time limit and the limited memory amount. As an example, assume that the symbol model checking exceeds either the time limit or restrict the amount of memory at the time of obtaining the node set T 2 in FIG.
[0042]
In this case, the time of completion of S103, out of the internal state of a synchronous sequential circuit to be verified, it can not be confirmed reachable from the initial state to the internal state corresponding to q 8 and q 9.
[0043]
Here, S107 receives the information of the node set T 2 = [q 8 , q 9, q 6 , q 7 , q 3 , q 4, q 5 ] from the symbol model check of S103, and “synchronization formula to be verified” A test bench is generated that detects that the sequential circuit has reached an internal state corresponding to q 8 , q 9, q 6 , q 7 , q 3 , q 4, and q 5 .
[0044]
Next, in S106, using the test bench generated in S107, a logic simulation is executed using a random pattern or a pattern given by a designer as an input vector to be given to an external input signal. During execution of the logic simulation, the test bench detects that the internal state of the synchronous sequential circuit to be simulated has an internal state corresponding to q 8 , q 9, q 6 , q 7 , q 3 , q 4, and q 5 . Inspect whether one has been reached. If it was detected that such an internal state was reached, it was confirmed that the internal states corresponding to q 8 and q 9 among the internal states in the synchronous sequential circuit to be verified can be reached from the initial state. It will be.
[0045]
Next, the second embodiment of the present invention will be described with reference to the example of FIG. 2, which is a conceptual diagram showing the processing procedure of the conventional symbol model checking method, with reference to the logic simulation of the present invention.
[0046]
As shown in FIG. 2, in the logic simulation, in order to confirm that the internal states corresponding to q 8 and q 9 can be reached from the initial state, a simulation of at least 4 steps is required.
[0047]
However, it is possible to confirm that one of the internal states corresponding to q 8 , q 9, q 6 , q 7 , q 3 , q 4, and q 5 can be reached from the initial state with a minimum two-step simulation. It is.
[0048]
A state that requires a long step to reach is often difficult to reach with a random pattern or an input pattern created by the designer, but a state that can be reached with a short step can be reached with high probability. .
[0049]
Therefore, the property verification method of the present invention has a short time or high probability of property verification compared to the case where the property verification method based on the conventional symbol model checking method cannot be verified due to limitations on the processing time and the amount of memory used. Can be made possible.
[0050]
【The invention's effect】
The first effect of the present invention is that the property verification method by the conventional symbol model checking method can be verified even when it cannot be verified due to limitations on the processing time and the amount of memory used.
[0051]
The second effect of the present invention is that it can be confirmed in a short time that the internal state that proves whether or not the sequential circuit to be verified satisfies the functional specification can be reached from the initial state by logic simulation.
[Brief description of the drawings]
FIG. 1 is a flowchart showing a processing procedure in a first embodiment of the present invention.
FIG. 2 is a conceptual diagram showing an example of a processing procedure of a conventional symbol model checking method.
FIG. 3 is a diagram illustrating an example of a synchronous sequential circuit.

Claims (4)

同期式順序回路が機能仕様を表すプロパティを満たすか否かを検証するプロパティ検証装置が行うプロパティ検証方法において、
前記プロパティ検証装置が、検証対象の前記同期式順序回路の動作を定義した記述および検証対象のプロパティとして目的の回路内部状態への到達可能性を表すCTL式入力を受け付けるステップと、
前記プロパティ検証装置が、前記検証対象の前記同期式順序回路の動作を定義した記述において前記CTL式の真偽を判定する記号モデル検査法を実行するステップと、
前記プロパティ検証装置が、前記記号モデル検査法が制限時間又は制限メモリ量内で実行不可能な場合に、前記制限時間又は制限メモリ量内で求めることができた節点集合の情報に基づいて前記CTL式であることの証明状態に到達可能な状態集合の情報を抽出し、前記同期式順序回路の内部状態が前記抽出した状態集合に含まれるか否かを判定するテストベンチを自動生成するステップと、
前記プロパティ検証装置が、前記テストベンチを使用し、前記記号モデル検査法の結果を補完する為の論理シミュレーションを実行するステップと、
を備えることを特徴とするプロパティ検証方法。
In the property verification method performed by the property verification device that verifies whether the synchronous sequential circuit satisfies the property indicating the functional specification,
The property verification device accepting a description defining the operation of the synchronous sequential circuit to be verified and an input of a CTL expression representing reachability to a target circuit internal state as a property to be verified;
The property verification device executing a symbol model checking method for determining the authenticity of the CTL expression in a description defining the operation of the synchronous sequential circuit to be verified ;
When the symbol model checking method cannot be executed within the time limit or the amount of limited memory , the property verification apparatus can perform the CTL based on the node set information that can be obtained within the time limit or the amount of limited memory. Information on a state set that can reach a proof state that the expression is true is extracted, and a test bench that determines whether an internal state of the synchronous sequential circuit is included in the extracted state set is automatically generated Steps,
The property verification device using the test bench to perform a logic simulation to complement the results of the symbolic model checking method;
A property verification method comprising:
請求項1に記載のプロパティ検証方法において、The property verification method according to claim 1,
前記論理シミュレーションでは前記生成したテストベンチに加え、外部入力信号に与える入力ベクタとしてランダムパタン又は外部から与えられたパタンを使用し、  In the logic simulation, in addition to the generated test bench, a random pattern or an externally given pattern is used as an input vector given to an external input signal.
前記論理シミュレーションの実行中、前記シミュレーション対象の同期式順序回路の内部状態が前記抽出した状態集合に相当する内部状態に達したことが検出された場合に前記CTL式が真であると判定することにより前記論理シミュレーションが行われることを特徴とするプロパティ検証方法。  Determining that the CTL expression is true when it is detected during execution of the logic simulation that the internal state of the synchronous sequential circuit to be simulated has reached an internal state corresponding to the extracted state set. The logic verification is performed by the property verification method.
同期式順序回路が機能仕様を表すプロパティを満たすか否かを検証するプロパティ検証装置において、
検証対象の前記同期式順序回路の動作を定義した記述および検証対象のプロパティとして目的の回路内部状態への到達可能性を表すCTL式入力を受け付ける手段と、
前記検証対象の前記同期式順序回路の動作を定義した記述において前記CTL式の真偽を判定する記号モデル検査法を実行する手段と、
前記記号モデル検査法が制限時間又は制限メモリ量内で実行不可能な場合に、前記制限時間又は制限メモリ量内で求めることができた節点集合の情報に基づいて前記CTL式であることの証明状態に到達可能な状態集合の情報を抽出し、前記同期式順序回路の内部状態が前記抽出した状態集合に含まれるか否かを判定するテストベンチを自動生成する手段と、
前記テストベンチを使用し、前記記号モデル検査法の結果を補完する為の論理シミュレーションを実行する手段と、
を備えることを特徴とするプロパティ検証装置。
In the property verification device that verifies whether the synchronous sequential circuit satisfies the property that represents the functional specification,
It means for accepting an input of CTL expression representing the reachability to the circuit internal state of interest as said description and verified properties defines the operation of the synchronous sequential circuit to be verified,
Means for executing a symbolic model checking method for determining the authenticity of the CTL expression in the description defining the operation of the synchronous sequential circuit to be verified ;
Said When symbolic model checking method is impractical in time limit or restrict the amount of memory in the CTL formula based on the time limit or information node set that can be obtained within limits the amount of memory is true Means for automatically generating a test bench that extracts information on a state set that can reach the proof state of the test and determines whether an internal state of the synchronous sequential circuit is included in the extracted state set ;
Means for performing a logic simulation to complement the result of the symbolic model checking method using the test bench;
A property verification apparatus comprising:
請求項3に記載のプロパティ検証装置において、  The property verification device according to claim 3,
前記論理シミュレーションでは前記生成したテストベンチに加え、外部入力信号に与える入力ベクタとしてランダムパタン又は外部から与えられたパタンを使用し、  In the logic simulation, in addition to the generated test bench, a random pattern or an externally given pattern is used as an input vector given to an external input signal.
前記論理シミュレーションの実行中、前記シミュレーション対象の同期式順序回路の内部状態が前記抽出した状態集合に相当する内部状態に達したことが検出された場合に前記CTL式が真であると判定することにより前記論理シミュレーションが行われることを特徴とするプロパティ検証装置。  Determining that the CTL expression is true when it is detected during execution of the logic simulation that the internal state of the synchronous sequential circuit to be simulated has reached an internal state corresponding to the extracted state set. The property verification apparatus according to claim 1, wherein the logic simulation is performed.
JP2001219343A 2001-07-19 2001-07-19 Method and apparatus for property verification of synchronous sequential circuit Expired - Lifetime JP4577475B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001219343A JP4577475B2 (en) 2001-07-19 2001-07-19 Method and apparatus for property verification of synchronous sequential circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001219343A JP4577475B2 (en) 2001-07-19 2001-07-19 Method and apparatus for property verification of synchronous sequential circuit

Publications (2)

Publication Number Publication Date
JP2003030270A JP2003030270A (en) 2003-01-31
JP4577475B2 true JP4577475B2 (en) 2010-11-10

Family

ID=19053361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001219343A Expired - Lifetime JP4577475B2 (en) 2001-07-19 2001-07-19 Method and apparatus for property verification of synchronous sequential circuit

Country Status (1)

Country Link
JP (1) JP4577475B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4255079B2 (en) * 2004-09-30 2009-04-15 株式会社リコー Assertion generation system, circuit verification system, program, and assertion generation method
JP4783658B2 (en) 2006-03-28 2011-09-28 富士通セミコンダクター株式会社 Verification support device, verification support method, verification support program, and recording medium
JP4850091B2 (en) 2007-02-23 2012-01-11 富士通株式会社 Verification scenario generation apparatus, method, program, and verification apparatus
JP4947427B2 (en) * 2007-11-07 2012-06-06 日本電気株式会社 Inspection time control apparatus, method, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06208601A (en) * 1993-01-11 1994-07-26 Hokuriku Nippon Denki Software Kk Logic verifying system
JP2000181939A (en) * 1998-12-17 2000-06-30 Fujitsu Ltd Method and device for verifying logical unit and recording medium
JP2000305977A (en) * 1999-04-26 2000-11-02 Hitachi Ltd Method for verifying logical data, logic verification system for executing the verification method and recording medium recording program for executing the verification method
JP2002099584A (en) * 2000-09-25 2002-04-05 Toshiba Corp System and method for verifying design and computer- readable medium with program for design verification recorded thereon

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06208601A (en) * 1993-01-11 1994-07-26 Hokuriku Nippon Denki Software Kk Logic verifying system
JP2000181939A (en) * 1998-12-17 2000-06-30 Fujitsu Ltd Method and device for verifying logical unit and recording medium
JP2000305977A (en) * 1999-04-26 2000-11-02 Hitachi Ltd Method for verifying logical data, logic verification system for executing the verification method and recording medium recording program for executing the verification method
JP2002099584A (en) * 2000-09-25 2002-04-05 Toshiba Corp System and method for verifying design and computer- readable medium with program for design verification recorded thereon

Also Published As

Publication number Publication date
JP2003030270A (en) 2003-01-31

Similar Documents

Publication Publication Date Title
Yu et al. Incremental SAT-based reverse engineering of camouflaged logic circuits
Van Eijk Sequential equivalence checking based on structural similarities
US6567959B2 (en) Method and device for verification of VLSI designs
US5491639A (en) Procedure for verifying data-processing systems
EP0653716B1 (en) Method of verification of a finite state sequential machine
JP2000181939A (en) Method and device for verifying logical unit and recording medium
US20030115559A1 (en) Hardware validation through binary decision diagrams including functions and equalities
JPH09190464A (en) Power evaluating method for integrated circuit
Di Guglielmo et al. Semi-formal functional verification by EFSM traversing via NuSMV
Letychevskyi et al. Modeling method for development of digital system algorithms based on programmable logic devices
JP4577475B2 (en) Method and apparatus for property verification of synchronous sequential circuit
CN113312678B (en) Hardware Trojan detection circuit, hardware Trojan detection method and electronic equipment
US20050193304A1 (en) Circuit modeling apparatus, systems, and methods
Safarpour et al. Improved SAT-based reachability analysis with observability don’t cares
Safarpour et al. Trace compaction using SAT-based reachability analysis
Mishchenko et al. Efficient solution of language equations using partitioned representations
Golubeva Three-value simulation of combinational and sequential circuits and its applications
Rosenmann et al. Alignability equivalence of synchronous sequential circuits
Matrosova et al. Finding false paths for sequential circuits using operations on ROBDDs
Guzey et al. Extracting a simplified view of design functionality based on vector simulation
Safarpour et al. Integrating observability don't cares in all-solution SAT solvers
Sauer et al. Analysis of reachable sensitisable paths in sequential circuits with sat and craig interpolation
JP3600420B2 (en) Logic verification device
Backes et al. Using cubes of non-state variables with property directed reachability
US20220147677A1 (en) Verification of hardware design for an integrated circuit that implements a function that is polynomial in one or more sub-functions

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20040421

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080417

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100507

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100728

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100810

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4577475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

EXPY Cancellation because of completion of term