JP5568779B2 - Logic verification method and logic verification system - Google Patents

Logic verification method and logic verification system Download PDF

Info

Publication number
JP5568779B2
JP5568779B2 JP2011120330A JP2011120330A JP5568779B2 JP 5568779 B2 JP5568779 B2 JP 5568779B2 JP 2011120330 A JP2011120330 A JP 2011120330A JP 2011120330 A JP2011120330 A JP 2011120330A JP 5568779 B2 JP5568779 B2 JP 5568779B2
Authority
JP
Japan
Prior art keywords
property
time series
unit
logic
time
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 - Fee Related
Application number
JP2011120330A
Other languages
Japanese (ja)
Other versions
JP2012248064A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011120330A priority Critical patent/JP5568779B2/en
Publication of JP2012248064A publication Critical patent/JP2012248064A/en
Application granted granted Critical
Publication of JP5568779B2 publication Critical patent/JP5568779B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、論理設計における論理の検証方法及び論理検証システムに関する。   The present invention relates to a logic verification method and a logic verification system in logic design.

論理回路の大規模化と多機能化に対処するために、検証の効率改善も重要な課題である。論理検証の方法の一つに、形式的論理検証が知られている。   Improving the efficiency of verification is also an important issue in order to cope with the large scale and multi-functionality of logic circuits. Formal logic verification is known as one of logic verification methods.

形式的論理検証とは、論理回路に期待される動作や禁止される動作をプロパティとして定義し、検証対象の論理回路がプロパティに違反する動作を起こさないように設計されているかどうかを検査するものである。   Formal logic verification defines the expected and prohibited operations of a logic circuit as properties, and checks whether the logic circuit to be verified is designed not to violate the properties. It is.

プロパティとは、入力パタンとそれに伴う出力の期待値の動作を定義するものである。具体的には、「ある信号が入力された後、3サイクル以内に信号を出力する」、「2つの信号は決して同時に‘1’とならない」といったものである。   A property defines the behavior of an input pattern and the expected output value associated therewith. Specifically, “a signal is output within 3 cycles after a certain signal is input” and “two signals never become“ 1 ”at the same time”.

プロパティの検出機能を有した形式的論理検証の方法として、動作合成ツールが、動作レベル回路記述からRTL(Register Transfer Level)回路記述を合成する。また、プロパティ生成部が、動作レベル回路記述から動作レベルプロパティを生成する。続いて、プロパティ変換部が、生成された動作レベルプロパティをRTLプロパティに変換する。そして、モデル検査部が、RTL回路記述をRTLプロパティを用いて、モデル検査技法により検証するプロパティ生成システムが知られている(特許文献1参照)。   As a method of formal logic verification having a property detection function, a behavioral synthesis tool synthesizes an RTL (Register Transfer Level) circuit description from a behavioral level circuit description. Further, the property generation unit generates a behavior level property from the behavior level circuit description. Subsequently, the property conversion unit converts the generated behavior level property into an RTL property. A property generation system in which a model checking unit verifies an RTL circuit description by using a model checking technique using an RTL property is known (see Patent Document 1).

特開2009−230677JP2009-230677

前述の従来技術は、動作合成ツールを使用する設計において、C言語などの抽象度の高い記述からプロパティを抽出し、抽出したプロパティをRTLのプロパティに変換するものである。   The above-described conventional technique extracts properties from a description with a high degree of abstraction such as C language in a design using a behavioral synthesis tool, and converts the extracted properties into RTL properties.

しかし、従来技術は、論理の記述形式からプロパティを抽出することは可能であるが、抽出したプロパティだけでは全ての検証項目を満足させることはできず、検証回路に対して網羅的な検証をするためは不十分である。そのため、プロパティを網羅的に生成する必要があるが、これには時間的、人的なコストが多く発生する。   However, with the conventional technology, it is possible to extract properties from the logic description format, but all the verification items cannot be satisfied with the extracted properties alone, and comprehensive verification is performed on the verification circuit. Because of that. Therefore, it is necessary to generate properties comprehensively, but this involves a lot of time and human costs.

本発明はこのような問題点に鑑みてなされたものであり、論理検証における検査項目であるプロパティを効率的に生成できる論理検証方法及び論理検証装置を提供することを特徴とする。   The present invention has been made in view of such problems, and provides a logic verification method and a logic verification apparatus capable of efficiently generating properties that are inspection items in logic verification.

本発明の一実施態様によれば、論理と、論理を検証する検証項目である第1のプロパティと、を取得する第1の手順と、第1のプロパティで発生する事象を時系列に並べた時系列表を作成する第2の手順と、第1のプロパティと時系列表とに基づいて、検証項目の逆、裏又は対偶を意味する第2のプロパティを作成する第3の手順と、第1のプロパティ及び作成された第2のプロパティを用いて、論理を検証する第4の手順と、を備える。   According to one embodiment of the present invention, a first procedure for acquiring logic and a first property that is a verification item for verifying the logic, and events occurring in the first property are arranged in time series. A second procedure for creating a time series table, a third procedure for creating a second property representing the reverse, reverse or even number of verification items based on the first property and the time series table; And a fourth procedure for verifying the logic using the first property and the created second property.

本発明によれば、検証者が作成する第1のプロパティを元にして、逆、裏、対偶を意味する第2のプロパティを作成するので、複数のプロパティを網羅的に生成することにより、論理検証の検証品質を向上させることができる。さらに、論理検証における時間的、人的なコストを削減することができる。   According to the present invention, since the second property meaning reverse, reverse, even number is created based on the first property created by the verifier, the logical property can be generated by exhaustively generating a plurality of properties. The verification quality of verification can be improved. Furthermore, time and human costs in logic verification can be reduced.

本発明の第1の実施形態の論理検証支援部のブロック図である。It is a block diagram of the logic verification assistance part of the 1st Embodiment of this invention. 本発明の第1の実施形態における論理デバイス設計のフローチャートである。It is a flowchart of the logic device design in the 1st Embodiment of this invention. 本発明の第1の実施形態の論理検証支援システムのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the logic verification assistance system of the 1st Embodiment of this invention. 本発明の第1の実施形態のプロパティの一例の説明図である。It is explanatory drawing of an example of the property of the 1st Embodiment of this invention. 本発明の第1の実施形態のプロパティ言語の一例の説明図である。It is explanatory drawing of an example of the property language of the 1st Embodiment of this invention. 本発明の第1の実施形態のプロパティで使用される演算子、関数の一例の説明図である。It is explanatory drawing of an example of the operator used by the property of the 1st Embodiment of this invention, and a function. 本発明の第1の実施形態において、命題プロパティに対する逆、裏及び対偶の各プロパティによる検証内容の違いの説明図である。In 1st Embodiment of this invention, it is explanatory drawing of the difference in the verification content by each property of the reverse, back, and even number with respect to a proposition property. 本発明の第1の実施形態の論理検証処理のフローチャートである。It is a flowchart of the logic verification process of the 1st Embodiment of this invention. 本発明の第1の実施形態の時系列表作成処理のフローチャートである。It is a flowchart of the time series table preparation process of the 1st Embodiment of this invention. 本発明の第1の実施形態の遅延時間テーブルの一例の説明図である。It is explanatory drawing of an example of the delay time table of the 1st Embodiment of this invention. 本発明の第1の実施形態の関数変換テーブルの一例を示す表である。It is a table | surface which shows an example of the function conversion table of the 1st Embodiment of this invention. 本発明の第1の実施形態の関数を変換した後の遅延時間テーブルを示す説明図である。It is explanatory drawing which shows the delay time table after converting the function of the 1st Embodiment of this invention. 本発明の第1の実施形態の時系列表の一例の説明図である。It is explanatory drawing of an example of the time series table of the 1st Embodiment of this invention. 本発明の第1の実施形態の逆プロパティの生成方法を示すフローチャートである。It is a flowchart which shows the production | generation method of the reverse property of the 1st Embodiment of this invention. 本発明の第1の実施形態の遅延時間テーブルの一例の説明図である。It is explanatory drawing of an example of the delay time table of the 1st Embodiment of this invention. 本発明の第1の実施形態の遅延時間テーブルの一例の説明図である。It is explanatory drawing of an example of the delay time table of the 1st Embodiment of this invention. 本発明の第1の実施形態の逆プロパティの生成の説明図である。It is explanatory drawing of the production | generation of the reverse property of the 1st Embodiment of this invention. 本発明の第1の実施形態の裏プロパティの生成の説明図である。It is explanatory drawing of the production | generation of the back property of the 1st Embodiment of this invention. 本発明の第1の実施形態の対偶プロパティの生成の説明図である。It is explanatory drawing of the production | generation of the even number property of the 1st Embodiment of this invention. 本発明の第1の実施形態の形式的論理検証の説明図である。It is explanatory drawing of the formal logic verification of the 1st Embodiment of this invention. 本発明の第1の実施形態の形式的論理検証のフローチャートである。It is a flowchart of the formal logic verification of the 1st Embodiment of this invention. 本発明の第2の実施形態の論理検証支援部のブロック図である。It is a block diagram of the logic verification assistance part of the 2nd Embodiment of this invention. 本発明の第3の実施形態の論理検証支援部のブロック図である。It is a block diagram of the logic verification assistance part of the 3rd Embodiment of this invention.

以下、本発明の第1の実施の形態を、図面を参照して説明する。   DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, a first embodiment of the invention will be described with reference to the drawings.

図1は、本実施形態の論理検証支援部10のブロック図である。   FIG. 1 is a block diagram of the logic verification support unit 10 of this embodiment.

本実施形態の論理検証支援部10は、オペレータが設計した論理デバイスの論理回路を、プロパティを用いて形式的論理検証を行う装置である。   The logic verification support unit 10 of the present embodiment is a device that performs formal logic verification on a logic circuit of a logic device designed by an operator using properties.

形式的論理検証とは、論理回路に期待される動作や、禁止される動作をプロパティとして定義し、検証対象の論理回路がプロパティに違反する動作を起こさないように設計されているかどうかを検査するものである。   Formal logic verification defines the expected behavior or prohibited behavior of a logic circuit as a property, and checks whether the logic circuit to be verified is designed not to violate the property. Is.

論理検証支援部10は、入力受付部101、表作成部102、プロパティ生成部103、検証部104及び検証結果出力部105を備える。   The logic verification support unit 10 includes an input reception unit 101, a table creation unit 102, a property generation unit 103, a verification unit 104, and a verification result output unit 105.

入力受付部101は、オペレータからプロパティ等のデータや指令の入力を受付ける。表作成部102は、入力されたプロパティから後述する時系列表を作成する。   The input receiving unit 101 receives input of property data and commands from the operator. The table creation unit 102 creates a time series table to be described later from the input properties.

プロパティ生成部103は、オペレータが入力したプロパティを命題として逆、裏、対偶の意味を持つプロパティを生成する。   The property generation unit 103 generates properties having the meanings of reverse, reverse, and even even with the property input by the operator as a proposition.

検証部104は、プロパティを検証する。検証結果出力部105は、プロパティの検証結果を出力する。   The verification unit 104 verifies the property. The verification result output unit 105 outputs a property verification result.

図2は、本実施形態における形式的論理検証が適用される論理デバイス設計のフローチャートである。   FIG. 2 is a flowchart of logic device design to which formal logic verification in this embodiment is applied.

論理デバイス設計において、オペレータは、論理デバイスの方式を検討する方式検討(S300)を実行し、方式を実現させるための機能を検討する機能検討(S301)を実行し、機能を実現するために論理を記述する論理設計(S302)を実行する。論理設計では、RTL(Register Transfer Level;レジスタ転送レベル)によって記述された論理が作成される。   In the logical device design, the operator executes the method review (S300) for examining the method of the logical device, executes the function review (S301) for examining the function for realizing the method, and performs the logic to realize the function. The logic design (S302) describing is executed. In logic design, logic described by RTL (Register Transfer Level) is created.

次に、オペレータは、作成されたRTLを形式的論理検証するために、論理検証(S303)を実行する。このステップS303では、論理検証支援部10において、後述するプロパティを用いた形式的論理検証を実行する。   Next, the operator executes logic verification (S303) in order to formally verify the created RTL. In step S303, the logic verification support unit 10 executes formal logic verification using properties to be described later.

論理検証が終了し、RTLの正当性が確認された後、RTLをゲートレベルに合成する論理合成(S304)を実行し、作成されたゲートを実際のデバイスに配置する実装(S305)を実行する。   After the logic verification is completed and the validity of the RTL is confirmed, the logic synthesis (S304) for synthesizing the RTL to the gate level is executed, and the implementation (S305) for arranging the created gate in the actual device is executed. .

このような手順により、論理デバイスの設計が行われる。   A logical device is designed by such a procedure.

図3は、本実施形態の論理検証支援部10を実現する論理検証支援システム11のハードウェア構成を示すブロック図である。   FIG. 3 is a block diagram showing a hardware configuration of the logic verification support system 11 that implements the logic verification support unit 10 of the present embodiment.

論理検証支援システム11は、CPU111、メモリ112、HDD113、入出力インタフェース114、表示部117及び入力部118を備える。CPU111、メモリ112、HDD113及び入出力インタフェース114は、バス115よって相互に接続される。   The logic verification support system 11 includes a CPU 111, a memory 112, an HDD 113, an input / output interface 114, a display unit 117, and an input unit 118. The CPU 111, the memory 112, the HDD 113, and the input / output interface 114 are connected to each other via a bus 115.

CPU111は、論理検証支援システム11の制御を司る制御部である。CPU111は、HDD113に格納される論理検証支援プログラム116を、メモリ112上に読み出し、これを実行する。CPU111が論理検証支援プログラム116を実行することによって、論理検証支援部10が実行される。   The CPU 111 is a control unit that controls the logic verification support system 11. The CPU 111 reads the logic verification support program 116 stored in the HDD 113 onto the memory 112 and executes it. The logic verification support unit 10 is executed when the CPU 111 executes the logic verification support program 116.

メモリ112は、例えばDRAMにより構成される。メモリ112は、論理検証支援プログラム116や、論理検証支援プログラム116が実行するために用いるデータやテーブル等を一時的に記録する。   The memory 112 is constituted by a DRAM, for example. The memory 112 temporarily records the logic verification support program 116 and data and tables used for the execution of the logic verification support program 116.

HDD113は、例えば磁気ディスクドライブにより構成される。HDD113は、論理検証支援システム11によって実行されるプログラム、データ等を記録する。例えば、論理検証の対象の論理回路のRTLや、演算子、関数等のサイクル遅延を表す関数変換テーブル130等は、オペレータにより予め記憶される。これらメモリ112およびHDD113によって記憶部が構成される。   The HDD 113 is configured by a magnetic disk drive, for example. The HDD 113 records programs, data, and the like executed by the logic verification support system 11. For example, the RTL of the logic circuit subject to logic verification, the function conversion table 130 representing the cycle delay of operators, functions, etc. are stored in advance by the operator. The memory 112 and the HDD 113 constitute a storage unit.

入出力インタフェース114は、論理検証支援部10の動作に関わる情報を表示部117に表示する。また、入出力インタフェース114は、オペレータ等により入力部118に入力される情報を論理検証支援部10に伝達する。   The input / output interface 114 displays information related to the operation of the logic verification support unit 10 on the display unit 117. The input / output interface 114 transmits information input to the input unit 118 by an operator or the like to the logic verification support unit 10.

なお、表示部117及び入力部118は、ネットワーク等を経由して他のコンピュータやストレージ等にデータを送受信できるように構成されていてもよい。論理検証支援システム11が、他のコンピュータからデータを入力したり、他のコンピュータに結果を表示するように構成されていてもよい。   Note that the display unit 117 and the input unit 118 may be configured to transmit and receive data to and from other computers and storages via a network or the like. The logic verification support system 11 may be configured to input data from another computer or display the result on another computer.

次に、論理検証支援部10が実行する形式的論理検証について説明する。   Next, formal logic verification executed by the logic verification support unit 10 will be described.

形式的論理検証は、図2のステップS302において作成した論理のRTLに対して、プロパティと呼ばれる検証項目を作成し、この検証項目を用いてRTLの論理を検証する。この結果、RTLの論理の正当性、等価性等が検証される。   In the formal logic verification, a verification item called a property is created for the logic RTL created in step S302 of FIG. 2, and the logic of the RTL is verified using this verification item. As a result, the validity and equivalence of the RTL logic is verified.

図4は、本実施形態のプロパティの一例の説明図である。   FIG. 4 is an explanatory diagram of an example of the property of the present embodiment.

プロパティとは、ある信号が仮定部に表される条件である場合に、帰結部に表された結果となることを記述するものである。   The property describes that when a certain signal is a condition represented in the hypothesis part, the result represented in the consequent part is obtained.

図4に示すテーブル60は、自然言語により記述されたプロパティの一例を示し、列61にプロパティの種類が、列62にプロパティの内容が、記述されている。   A table 60 shown in FIG. 4 shows an example of a property described in a natural language. A column 61 describes a property type and a column 62 describes a property content.

このテーブル60は、命題プロパティに対して、逆プロパティ、裏プロパティ又は対偶プロパティがどのようなものかを表す。なお、逆プロパティ、裏プロパティ及び対偶プロパティの定義は、数学の論理学における逆、裏及び対偶と同等のものである。   This table 60 indicates what kind of reverse property, reverse property, or even number property is for the proposition property. The definitions of the reverse property, the reverse property, and the even number property are equivalent to the reverse, reverse, and even number in mathematical logic.

命題プロパティが「AならばBである」とすると、逆プロパティは、命題プロパティの仮定部及び帰結部を入れ替えた「BならばAである」という形式となる。   If the proposition property is “if A, then it is B”, then the inverse property is in the form of “if B, it is A” by replacing the hypothesis part and the consequent part.

また、対偶プロパティは、命題プロパティの仮定部及び帰結部を入れ替え、かつ、仮定部及び帰結部それぞれを否定形とした「BでなければAでない」という形式となる。   The kinematic property takes the form of “if it is not B, it is not A” in which the assumption part and the result part of the proposition property are interchanged and each of the assumption part and the result part is a negative form.

また、裏プロパティは、命題プロパティの仮定部及び帰結部をそれぞれ否定形とした「AでなければBでない」という形式となる。   Further, the back property takes the form of “if it is not A, it is not B” with the assumption part and the consequence part of the proposition property being negative.

本実施形態における形式的論理検証では、このようなプロパティを用いることで、論理の検証を実行する。   In formal logic verification in this embodiment, logic verification is executed by using such properties.

図5は、本実施形態のプロパティ言語の一例の説明図である。   FIG. 5 is an explanatory diagram of an example of the property language of the present embodiment.

図4に示した例は、自然言語によるプロパティの記述である。一方で、論理検証支援部10において、プロパティはプロパティ言語によって扱われる。   The example shown in FIG. 4 is a description of properties in natural language. On the other hand, the property is handled by the property language in the logic verification support unit 10.

すなわち、プロパティは、SVA(System Verilog Assertion)やPSL(Property Specific Language)等のプロパティ言語によって記述される。なお本実施形態では、SVA言語による記述を説明に用いるが、SVA言語に依存するものではなく、その他のプロパティ言語を用いてもよい。   That is, the property is described in a property language such as SVA (System Verilog Association) or PSL (Property Specific Language). In the present embodiment, description in the SVA language is used for explanation, but it does not depend on the SVA language, and other property languages may be used.

図5に示すテーブル70は、列71にプロパティの種類が、列72に自然言語による表記のプロパティが、列73にプロパティ言語によるプロパティの表記が、それぞれ記述される。   In the table 70 shown in FIG. 5, a property type is described in a column 71, a property expressed in a natural language is described in a column 72, and a property notation in a property language is described in a column 73.

このテーブル70において、自然言語における命題プロパティが「Aならば1サイクル後にBである」とすると、これをプロパティ言語で記述したものは、仮定部である「(A==1)」と、帰結部である「##1 (B==1)」とをインプリケーション演算子「|−>」で結合した表記となる。なお、「##」(サイクル遅延演算子)、「|−>」(インプリケーション演算子)は、図6で説明する。   In this table 70, if the propositional property in the natural language is “If A, it is B after one cycle”, the description in the property language is “(A == 1)” as a hypothesis. The part “## 1 (B == 1)” is combined with the implication operator “|->”. Note that “##” (cycle delay operator) and “|->” (implication operator) will be described with reference to FIG.

また、この命題プロパティの裏プロパティは、仮定部及び帰結部をそれぞれ否定形としたものであり、自然言語では「Aでなければ1サイクル後にBでない」となる。また、これをプロパティ言語で記述したものは、プロパティ言語の仮定部及び帰結部にそれぞれ否定を表す演算子「!」を付与した記述となる。   Further, the back property of this proposition property is a negative form of the hypothesis part and the consequent part, and in a natural language, “if it is not A, it is not B after one cycle”. In addition, what is described in the property language is a description in which an operator “!” Representing negation is added to the assumption part and the result part of the property language.

論理検証支援部10は、オペレータにより入力されたプロパティ言語に基づいて処理を実行するが、本実施形態では説明の容易のため自然言語による表記もあわせて記載する。   The logic verification support unit 10 executes processing based on the property language input by the operator. In the present embodiment, the notation in natural language is also described for ease of explanation.

図6は、本実施形態のプロパティで使用される演算子、関数の一例の説明図である。   FIG. 6 is an explanatory diagram of an example of operators and functions used in the properties of this embodiment.

プロパティ言語は、信号名と信号値とをインプリケーション演算子、関数、遅延時間等を用いて表したものである。   The property language represents signal names and signal values using implication operators, functions, delay times, and the like.

図6に示すテーブル90は、列91にプロパティ言語における記号が、列92に記号の意味が、それぞれ記述される。   In the table 90 shown in FIG. 6, a symbol in the property language is described in a column 91, and a meaning of the symbol is described in a column 92.

このテーブル90において、インプリケーション演算子は、「|−>」又は「|=>」の記号で表され、仮定部と帰結部とを表す演算子である。「|−>」は、「〜ならば、〜となる」を表す。また、「|=>」は、「〜ならば、1サイクル後に〜となる」を表す。   In this table 90, the implication operator is an operator that is represented by a symbol “|->” or “| =>” and represents an assumption part and a consequent part. “|->” Represents “if it is, then becomes”. Further, “| =>” represents “if it is, then becomes after one cycle”.

また、サイクル遅延は、「##n」の形式で表され、「##n」は「nサイクル後」を表す演算子である。   The cycle delay is expressed in the form “## n”, where “## n” is an operator indicating “after n cycles”.

また、関数は、信号の状態の変化を表すものである。例えば、「$past」は過去を表し、「$rose」は特定の信号の立ち上がりを表す。   The function represents a change in the state of the signal. For example, “$ past” represents the past, and “$ rose” represents the rise of a specific signal.

また、「!」は、否定を表す演算子である。   “!” Is an operator representing negation.

プロパティは、このような演算子及び関数の組み合わせによって、仮定部に表す信号の条件によって、帰結部に信号がどのような結果となるかを表す。   The property represents the result of the signal in the consequent part according to the condition of the signal represented in the hypothesis part by such a combination of operators and functions.

論理検証は、このプロパティを用いて、設計回路のRTLの検証を行う。   The logic verification uses this property to verify the RTL of the design circuit.

図7は、本実施形態において、命題プロパティに対する逆、裏及び対偶の各プロパティによる検証内容の違いの説明図である。   FIG. 7 is an explanatory diagram of the difference in verification contents according to the reverse, reverse, and even properties for the proposition property in this embodiment.

図7に示すテーブル80は、列81にプロパティ言語により行える検証の内容が、列82に命題プロパティが、列83に逆プロパティが、列84に裏プロパティが、列85に対偶プロパティが、それぞれ記述される。   The table 80 shown in FIG. 7 describes the contents of verification that can be performed in the property language in the column 81, the proposition property in the column 82, the reverse property in the column 83, the back property in the column 84, and the even property in the column 85. Is done.

このテーブル80は、命題プロパティが「A=='1' |−> B=='1'」である場合を例として、逆プロパティ、裏プロパティ及び対偶プロパティの検証内容の違いを説明する。   This table 80 explains the difference in the verification contents of the reverse property, the back property, and the even property, taking as an example the case where the proposition property is “A == '1' |-> B == '1'”.

この命題プロパティは、「A==1」であるとき、Bの値の検証を行うことを表す。   This proposition property indicates that when “A == 1”, the value of B is verified.

しかし、形式的論理検証の性質上、そもそも「A==1」ではないときには、検証を実行しない。従って、「A==0」のときの検証は実行できない。   However, due to the nature of formal logic verification, verification is not executed when “A == 1” in the first place. Therefore, verification when “A == 0” cannot be executed.

また、「A==1であればB==1である」ことは証明できても、「B==1のときにAがどのような値であるか」ということは検証できない。すなわち、AでもBでもない第3の信号による影響を検証できない。   Further, even if it can be proved that “B == 1 if A == 1”, it cannot be verified what value A is when B == 1. That is, the influence of the third signal that is neither A nor B cannot be verified.

そのため、「A==1でない」ときを検証するためには、裏プロパティを生成する必要がある。また、「B==1」のときを検証するためには逆プロパティを生成する必要がある。   Therefore, in order to verify when “A == 1 is not true”, it is necessary to generate a back property. In order to verify when “B == 1”, it is necessary to generate an inverse property.

このように、一つの命題プロパティによって信号を網羅的に検証することは難しいため、論理検証のために多くのプロパティを作成する必要がある。   Thus, since it is difficult to comprehensively verify a signal with one proposition property, it is necessary to create many properties for logical verification.

命題プロパティ、逆プロパティ、裏プロパティ及び対偶プロパティは、それぞれ検証の内容が異なるものである。そのため、従来は、網羅的な検証を実現するために、オペレータが、設計論理の性質に応じてこれらのプロパティを作成していた。これは多くの労力を伴うものであり、また、人手によってプロパティを作成した場合は、そのプロパティが正しいかという検証もさらに必要となるため、時間的、人的なコストが多く発生していた。   The proposition property, the reverse property, the back property, and the even property have different verification contents. Therefore, conventionally, in order to realize exhaustive verification, an operator creates these properties according to the nature of design logic. This involves a lot of labor, and when a property is created manually, it is necessary to further verify that the property is correct, resulting in a lot of time and human costs.

そこで、本実施形態では、オペレータが作成した命題プロパティに対して、逆、裏及び対偶を意味するプロパティを自動的に作成して、これら各プロパティによって論理検証を実行することによって、形式的論理検証を効率的に行えるように構成した。   Therefore, in the present embodiment, for the proposition property created by the operator, a property meaning reverse, reverse and even number is automatically created, and logical verification is executed by each of these properties, thereby performing formal logic verification. It was configured to be able to perform efficiently.

次に、論理検証支援部10の動作を説明する。   Next, the operation of the logic verification support unit 10 will be described.

図8は、本実施形態の論理検証支援部10が実行する論理検証処理のフローチャートである。   FIG. 8 is a flowchart of the logic verification process executed by the logic verification support unit 10 of this embodiment.

論理検証支援部10は、検証者が作成したプロパティを命題として、逆、裏、対偶の意味を有するプロパティを生成し、生成されたプロパティを用いて形式的論理検証を行う機能を有する。   The logic verification support unit 10 has a function of generating properties having the meanings of reverse, reverse, and even with the property created by the verifier as a proposition, and performing formal logic verification using the generated property.

論理検証支援部10は、論理検証処理が実行されると、検証対象となる論理とこの論理を検証する検証項目である命題プロパティと、変換指定値との入力を受付ける(S201)。   When the logic verification process is executed, the logic verification support unit 10 receives input of the logic to be verified, the proposition property that is a verification item for verifying the logic, and the conversion designated value (S201).

論理検証支援部10の入力受付部101は、検証対象である論理回路のRTLとオペレータが作成したプロパティと、逆、裏、対偶のいずれのプロパティを生成するのかという情報と、を受付ける。入力受付部101は、複数のプロパティの情報を入力として受付けることができる。これらはメモリ112に一時的に記録される。   The input reception unit 101 of the logic verification support unit 10 receives the RTL of the logic circuit to be verified, the property created by the operator, and information on which of the reverse, reverse, and even properties are generated. The input receiving unit 101 can receive information on a plurality of properties as input. These are temporarily recorded in the memory 112.

なお、変換指定値とは、命題となるプロパティ(第1のプロパティ)に対して、逆、裏、対偶のいずれかのプロパティ(第2のプロパティ)に変換を行うか指定する値である。本実施形態では、逆プロパティへの変換を指定する場合は1を、対偶プロパティへの変換を指定する場合は2を、裏プロパティを指定する場合は3を、それぞれ指定する。なお、いずれのプロパティも指定しない場合は、0を指定する。   The conversion specification value is a value that specifies whether to convert a property (first property) as a proposition to a reverse property, reverse property, or even property (second property). In the present embodiment, 1 is specified when designating the conversion to the reverse property, 2 is designated when designating the conversion to the even property, and 3 is designated when designating the back property. If neither property is specified, 0 is specified.

次に、論理検証支援部10は、入力されたプロパティが複数である場合に、全てのプロパティが検証済みであるか否かを判定する(S202)。全てのプロパティが検証済みであると判定した場合は、論理検証支援部10は、本フローチャートによる処理を終了する。   Next, when there are a plurality of input properties, the logic verification support unit 10 determines whether all the properties have been verified (S202). If it is determined that all the properties have been verified, the logic verification support unit 10 ends the process according to this flowchart.

複数のプロパティの少なくとも一つの検証が済んでいないと判定した場合は、論理検証支援部10は、ステップS202に移行して、入力されたプロパティのうち未検証のプロパティを一つ選択し、選択した命題プロパティと、選択したプロパティに対応する変換指定値と、を取得する。   If it is determined that at least one of the plurality of properties has not been verified, the logic verification support unit 10 proceeds to step S202, selects one of the input properties that has not been verified, and selects the selected property. Get a proposition property and a conversion specification value corresponding to the selected property.

次に、論理検証支援部10は、時系列表を作成する(S203)。論理検証支援部10の表作成部102が、取得したプロパティから信号を時間軸の変化に対応する表に変換する。この処理は図9で後述する。   Next, the logic verification support unit 10 creates a time series table (S203). The table creation unit 102 of the logic verification support unit 10 converts the signal from the acquired property into a table corresponding to the change of the time axis. This process will be described later with reference to FIG.

次に、論理検証支援部10は、時系列表を作成したプロパティに対応する変換指定値がいずれであるかを判定する(S204)。   Next, the logic verification support unit 10 determines which of the conversion designation values corresponding to the property for which the time series table has been created (S204).

変換指定値が1である場合、すなわち、逆プロパティの生成が指示された場合は、ステップS205に移行する。   When the conversion designation value is 1, that is, when the generation of the reverse property is instructed, the process proceeds to step S205.

変換指定値が2である場合、すなわち、対偶プロパティの生成が指示された場合は、ステップS206に移行する。   When the conversion designation value is 2, that is, when the generation of the even property is instructed, the process proceeds to step S206.

変換指定値が3である場合、すなわち、裏プロパティの生成が指示された場合は、ステップS214に移行する。   If the conversion designation value is 3, that is, if generation of the back property is instructed, the process proceeds to step S214.

また、変換指定値が0である場合は、その命題プロパティに対して、いずれのプロパティへの変換も指示されていないことを意味する。この場合は、ステップS205、S206又はステップS214に移行することなく、ステップS220に移行する。   If the conversion specification value is 0, it means that conversion to any property is not instructed for the proposition property. In this case, the process proceeds to step S220 without proceeding to step S205, S206, or step S214.

ステップS204で逆プロパティの生成が指示された場合は、ステップS205に移行し、論理検証支援部10は、ステップS203で作成された時系列表を、時系列の逆から読み取る。この処理によって逆プロパティを作成する(S210)。   When generation of the reverse property is instructed in step S204, the process proceeds to step S205, and the logic verification support unit 10 reads the time series table created in step S203 from the reverse of the time series. An inverse property is created by this processing (S210).

ステップS204で対偶プロパティの生成が指示された場合は、ステップS206に移行し、論理検証支援部10は、ステップS203で作成された時系列表を、時系列の逆から読み取る。この処理によって逆プロパティを作成する(S210)。次に、論理検証支援部10は、逆プロパティの仮定部及び帰結部それぞれを否定形に変換する(S212)。この処理によって対偶プロパティを生成する(S213)。   If generation of the even property is instructed in step S204, the process proceeds to step S206, and the logic verification support unit 10 reads the time series table created in step S203 from the reverse of the time series. An inverse property is created by this processing (S210). Next, the logic verification support unit 10 converts each of the assumption part and the result part of the inverse property into a negative form (S212). By this process, an even number property is generated (S213).

ステップS204で裏プロパティの生成が指示された場合は、ステップS214に移行し、論理検証支援部10は、ステップS202で取得したプロパティについて、仮定部及び帰結部それぞれを否定形に変換する。この処理によって裏プロパティを作成する(S215)。   If generation of the back property is instructed in step S204, the process proceeds to step S214, and the logic verification support unit 10 converts each of the hypothesis part and the consequent part into a negative form for the property acquired in step S202. A back property is created by this processing (S215).

逆プロパティ、対偶プロパティ又は裏プロパティの作成後、ステップS220に移行し、論理検証支援部10は、形式的論理検証を実行する。その後、ステップS201に戻り、S201以降の処理を繰り返す。この処理は図20で後述する。   After creating the reverse property, the even property, or the back property, the process proceeds to step S220, and the logic verification support unit 10 executes formal logic verification. Then, it returns to step S201 and repeats the process after S201. This process will be described later with reference to FIG.

次に、表作成部102による時系列表の生成を説明する。   Next, generation of a time series table by the table creation unit 102 will be described.

図9は、本実施形態の論理検証支援部10の表作成部102が実行する時系列表作成処理のフローチャートである。   FIG. 9 is a flowchart of time-series table creation processing executed by the table creation unit 102 of the logic verification support unit 10 of this embodiment.

まず、表作成部102は、入力された命題プロパティのインプリケーション演算子とサイクル遅延を表すシーケンス演算子に注目し、それらに区切られる文字列を信号のイベントとみなして抽出する(S1)。   First, the table creation unit 102 pays attention to the input proposition property implication operator and the sequence operator representing the cycle delay, and extracts a character string delimited by them as a signal event (S1).

例えば、
(A==1)|−> ##1 (B==1);(A=='1'ならば1サイクル後にB=='1'である)
というプロパティの場合は、インプリケーション演算子「|−>」とシーケンス演算子「##1」を除く文字列は「A==1」と「B==1」であるので、表作成部102は、これらを信号の状態の変化が発生するイベントとみなして抽出する。
For example,
(A == 1) |->## 1 (B == 1); (If A == '1', B == '1' after one cycle)
In the case of the property, the character string excluding the implication operator “|->” and the sequence operator “## 1” is “A == 1” and “B == 1”. Extracts these as events that cause a change in the state of the signal.

次に、表作成部102は、ステップS1によって抽出されたイベントと、プロパティに記述されている遅延時間と、を抽出して、イベントと遅延時間との対応を表す遅延時間テーブル120を生成する(S2)。   Next, the table creation unit 102 extracts the event extracted in step S1 and the delay time described in the property, and generates a delay time table 120 representing the correspondence between the event and the delay time ( S2).

図10は、本実施形態の表作成部102が作成する遅延時間テーブル120の一例の説明図である。   FIG. 10 is an explanatory diagram of an example of the delay time table 120 created by the table creation unit 102 of this embodiment.

なお、この図10に表す例は、
$rose(ready) ##10 $rose(request) |−> ##1 cnt==$past(cnt,1)+1;(readyの立ち上がりから10サイクル後にrequestが立ち上がる場合、requestから1サイクル後のcnt値は1サイクル前のcnt値+1となる。)
という命題プロパティを例に説明する。
The example shown in FIG.
$ Rose (ready) ## 10 $ rose (request) |->## 1 cnt == $ past (cnt, 1) +1; (If request rises after 10 cycles from ready rise, one cycle after request (The cnt value becomes the cnt value +1 before one cycle.)
An example of the proposition property will be described.

図10に示す遅延時間テーブル120は、列121にイベントの内容、すなわち、信号名とその値、関数、シーケンス演算子が記述される。列122はそのイベントの遅延時間、すなわち、そのイベントが検証開始時からどれくらいの遅延時間で発生するかのタイミングが記述される。   In the delay time table 120 shown in FIG. 10, the contents of an event, that is, a signal name and its value, a function, and a sequence operator are described in a column 121. Column 122 describes the delay time of the event, that is, the timing of how long the event occurs from the start of verification.

遅延時間テーブル120において、「$rose(ready)」という関数は、このイベントの検証開始から0及び1サイクル後に発生する。また、「##1」という演算子は、このイベントの検証開始時から11サイクル後に発生する。   In the delay time table 120, the function “$ rose (ready)” occurs 0 and 1 cycle after the start of verification of this event. The operator “## 1” occurs 11 cycles after the start of verification of this event.

このように、表作成部102は、命題プロパティから、イベントとイベントの発生タイミングとを遅延時間として対応させ、遅延時間テーブル120を作成する。   In this way, the table creation unit 102 creates the delay time table 120 by associating events and event occurrence timings as delay times from the proposition properties.

図9に戻り、表作成部102は、ステップS2で生成した遅延時間テーブル120の列121に関数が存在するかを検出する。関数が存在する場合は、関数を信号の変化による表記に変換する(S3)。この関数の変換には、関数変換テーブル130が用いられる。   Returning to FIG. 9, the table creation unit 102 detects whether a function exists in the column 121 of the delay time table 120 generated in step S2. If a function exists, the function is converted into a notation based on a change in signal (S3). A function conversion table 130 is used for this function conversion.

論理検証支援部10は、関数変換テーブル130を予め記憶している。関数変換テーブル130とは、関数と、サイクル遅延及び信号変化とを対応づけた表である。論理検証支援システム11において、関数変換テーブル130は、HDD113又はメモリ112に予め記憶されている。   The logic verification support unit 10 stores a function conversion table 130 in advance. The function conversion table 130 is a table in which functions are associated with cycle delays and signal changes. In the logic verification support system 11, the function conversion table 130 is stored in advance in the HDD 113 or the memory 112.

図11は、本実施形態の関数変換テーブル130の一例を示す表である。   FIG. 11 is a table showing an example of the function conversion table 130 of the present embodiment.

図11に示す関数変換テーブル130は、列121に関数表記を、列132に関数をサイクル遅延表記としたものが、それぞれ記述されている。   In the function conversion table 130 shown in FIG. 11, the function notation is described in the column 121 and the function is described in the column 132 as the cycle delay notation.

関数変換テーブル130において、立ち上がりを表す関数「$rose(A)」は、「A==0」と「##1 A==1」との組合わせに対応付けられていることが示される。すなわち、関数「$rose(A)」は、開始時の信号Aの値が0であり、1サイクル後に信号Aの値が1に変化する関数であることが示されている。   In the function conversion table 130, it is indicated that the function “$ rose (A)” representing the rising edge is associated with a combination of “A == 0” and “## 1 A == 1”. That is, the function “$ rose (A)” indicates that the value of the signal A at the start is 0, and the value of the signal A changes to 1 after one cycle.

また、立下りを表す「$fell(A)」は、「A==1」と「##1 A==0」との組み合わせに対応づけられていることが示される。   In addition, “$ fell (A)” indicating the falling edge is associated with a combination of “A == 1” and “## 1 A == 0”.

表作成部102は、この関数変換テーブル130を参照して、命題プロパティに関数変換テーブルに記録されている関数が含まれている場合は、その関数をサイクル遅延の表記に変換する。   The table creation unit 102 refers to the function conversion table 130 and converts the function into a cycle delay notation when the proposition property includes a function recorded in the function conversion table.

なお、関数変換テーブル130の内容は図13のような関数に限られるものではない。[*n](連続的繰り返し)や、[=n](非連続的繰り返し)や、[−>n](goto繰り返し)などのシーケンス演算子を変換対象としてもよい。   The contents of the function conversion table 130 are not limited to the functions as shown in FIG. Sequence operators such as [* n] (continuous repetition), [= n] (non-continuous repetition), and [-> n] (goto repetition) may be converted.

図12は、本実施形態の表作成部102によって、関数を変換した後の遅延時間テーブル120を示す説明図である。   FIG. 12 is an explanatory diagram showing the delay time table 120 after the function is converted by the table creation unit 102 of the present embodiment.

図12の例は、図10に示す遅延時間テーブルを、図11に示す関数変換テーブルを参照して関数を変換し、新たな表として作成したものである。   In the example of FIG. 12, the delay time table shown in FIG. 10 is created by converting a function by referring to the function conversion table shown in FIG.

図10の列121に示される「$rose(ready)」という関数は、図11の関数変換テーブル130に基づいて、「ready==0」と「ready==1」との二つの表記に変換され、それぞれ遅延時間を当てはめている。   The function “$ rose (ready)” shown in the column 121 of FIG. 10 is converted into two notations of “ready == 0” and “ready == 1” based on the function conversion table 130 of FIG. Each has a delay time.

同様に、「$rose(request)」という関数は、図11の関数変換テーブル130に基づいて、「request==0」と「request==1」との二つの表記に変換され、それぞれ遅延時間を当てはめている。   Similarly, the function “$ rose (request)” is converted into two notations “request == 0” and “request == 1” based on the function conversion table 130 of FIG. Is applied.

このような処理によって、表作成部102は、プロパティを、図12に示すような、イベントと遅延時間とを対応する遅延時間テーブル120に変換する。   By such processing, the table creation unit 102 converts the property into a delay time table 120 corresponding to the event and the delay time as shown in FIG.

図9に戻り、次に、表作成部102は、ステップS3で作成されたテーブルに基づいて、時系列表20を生成する。   Returning to FIG. 9, next, the table creation unit 102 generates the time series table 20 based on the table created in step S3.

表作成部102は、プロパティから図10に示す遅延時間テーブルを作成し、このテーブルの関数を分関して図12に示す遅延時間テーブル120を作成する。表作成部102は、遅延時間テーブル120の遅延時間を時系列として、どのタイミングでどのイベントが発生するか時系列の表として表した時系列表20を作成する。   The table creation unit 102 creates the delay time table shown in FIG. 10 from the properties, and creates the delay time table 120 shown in FIG. 12 by dividing the functions of this table. The table creation unit 102 creates a time series table 20 in which the delay time of the delay time table 120 is represented as a time series, and at which timing which event occurs as a time series table.

図13は、本実施形態の時系列表20の一例の説明図である。   FIG. 13 is an explanatory diagram of an example of the time series table 20 of the present embodiment.

図13は、図12に示すテーブル120から生成された時系列表20の例を示す。   FIG. 13 shows an example of the time series table 20 generated from the table 120 shown in FIG.

テーブル120は、遅延時間が0から12サイクルの間のイベントが示されている。そこで、この0から12の間の時間を時系列とする。   Table 120 shows events with a delay time between 0 and 12 cycles. Therefore, the time between 0 and 12 is set as a time series.

時系列表20は、項番21と信号名22とを含む。   The time series table 20 includes an item number 21 and a signal name 22.

表作成部102は、時系列順にイベントに含まれる信号名を当てはめる。テーブル120には、「ready」、「request」及び「cnt」という信号が含まれているので、それぞれの信号名を、時系列表20の信号が発生する時間に対応して記録する。また、発生するイベント順にそれぞれ項番を付与する。   The table creation unit 102 assigns signal names included in events in chronological order. Since the table 120 includes signals “ready”, “request”, and “cnt”, each signal name is recorded corresponding to the time at which the signal in the time series table 20 is generated. Item numbers are assigned in the order of events that occur.

図13の例では、項番21の「1」が「ready」、項番21の「2」が「request」、項番21の「3」が「cnt」にそれぞれ当てはめている。   In the example of FIG. 13, “1” of item number 21 is applied to “ready”, “2” of item number 21 is applied to “request”, and “3” of item number 21 is applied to “cnt”.

信号「ready」は、時間0において値が「0」であり、時間1において値が「1」である。   The signal “ready” has a value “0” at time 0 and a value “1” at time 1.

また、信号「request」は、時間10において値が「0」であり、「時間11において値が「1」である。   The signal “request” has a value “0” at time 10 and a value “1” at time 11.

また、信号「cnt」は、時間11において値が自己参照「X」であり、時間12においてこの値に1を加算したもの「X+1」である。   Further, the signal “cnt” is a self-reference “X” at time 11 and is “X + 1” obtained by adding 1 to this value at time 12.

表作成部102は、それぞれ対応する時間にイベントの結果である値を記録する。また、信号の変化がない部分は空欄としておく。   The table creation unit 102 records the value that is the result of the event at each corresponding time. A portion where there is no signal change is left blank.

このような処理によって、表作成部102が時系列表20を作成する。   By such processing, the table creation unit 102 creates the time series table 20.

図9に戻り、表作成部102は、時系列と信号とからなる時系列表20の作成と平行して、仮定部と帰結部とを決定する処理を実行する(S5)。   Returning to FIG. 9, the table creation unit 102 executes a process of determining an assumption part and a result part in parallel with the creation of the time series table 20 including a time series and a signal (S <b> 5).

仮定部と帰結部とは、インプリケーション演算子を検出することで決定する。表作成部は、プロパティからインプリケーション演算子を挟む右辺と左辺とを検出し、左辺を仮定部に、右辺を帰結部に、それぞれ決定する。   The hypothesis part and the consequent part are determined by detecting the implication operator. The table creation unit detects the right side and the left side sandwiching the implication operator from the properties, and determines the left side as an assumption unit and the right side as a consequent unit.

前述のプロパティ言語による記述は、インプリケーション演算子を挟んで、左辺は「$rose(ready) ##10 $rose(request)」であり、これを仮定部とする。   The description in the property language described above is “$ rose (ready) ## 10 $ rose (request)” on the left side of the implication operator.

また、右辺は「##1 cnt==$past(cnt,1)+1」であり、これを帰結部とする。   Further, the right side is “## 1 cnt == $ past (cnt, 1) +1”, which is a consequent part.

左辺は、前述のステップS2及び3の処理により、信号「ready」と信号「request」と、に変換されている。従って、表作成部102は、仮定部の因子は「ready」と「request」とであることを検出する。   The left side is converted into a signal “ready” and a signal “request” by the processing in steps S2 and S3 described above. Therefore, the table creation unit 102 detects that the factors of the assumption part are “ready” and “request”.

また、右辺は、信号「cnt」のみの記述であるため、表作成部102は、帰結部の因子は信号「cnt」であることを検出する。   Further, since the right side is a description of only the signal “cnt”, the table creation unit 102 detects that the factor of the consequent part is the signal “cnt”.

この検出結果から、表作成部102は、この検出結果から仮定部と帰結部との関係を信号による演算式で表す帰結式を作成する(S6)。   From this detection result, the table creation unit 102 creates a result expression that expresses the relationship between the hypothesis part and the result part as an arithmetic expression using signals from this detection result (S6).

ステップS5により検出された例では、帰結式は「cnt=ready*request」となる、これは、信号「cnt」を検証する場合は、信号「ready」と信号「request」が仮定部であることを表す。   In the example detected in step S5, the consequent formula is “cnt = ready * request”. This means that when the signal “cnt” is verified, the signal “ready” and the signal “request” are assumed parts. Represents.

表作成部102は、このステップS6によって作成した帰結式を、時系列表20の帰結式の行23に記録する(S7)。このとき、表作成部102は、記入する際に、信号名に対応する項番で帰結式を表現する。   The table creation unit 102 records the result formula created in step S6 in the result formula row 23 of the time series table 20 (S7). At this time, the table creation unit 102 expresses the consequent expression by the item number corresponding to the signal name when filling in.

テーブル120において、信号「cnt」は、信号「ready」と信号「request」との論理積であるので、帰結式は、それぞれの項番21の数字によって「3=1*2」と記述される。   In the table 120, since the signal “cnt” is a logical product of the signal “ready” and the signal “request”, the resulting equation is described as “3 = 1 * 2” by the number of each item number 21. .

次に、表作成部102は、時系列表20に逆時間24を記録する(S8)。逆時間24とは、時系列の最後のイベントが発生する時点を始点とし、検証開始時までの時系列を逆にカウントして記載したものである。この逆時間24は、逆プロパティを生成する処理に用いられる。   Next, the table creation unit 102 records the reverse time 24 in the time series table 20 (S8). The reverse time 24 is described by counting the time series from the time when the last event in the time series occurs to the start time until the verification start time. This reverse time 24 is used for the process of generating the reverse property.

以上のような処理によって、表作成部102は、命題プロパティから時系列表20を作成する。作成された時系列表20は、メモリ112に記録される。時系列表20は、次に説明する逆プロパティ又は対偶プロパティの生成処理に用いられる。   Through the processing as described above, the table creation unit 102 creates the time series table 20 from the proposition properties. The created time series table 20 is recorded in the memory 112. The time series table 20 is used for the generation process of the reverse property or the even property described below.

次に、逆プロパティの生成を説明する。   Next, generation of inverse properties will be described.

プロパティ生成部103は、命題プロパティに基づいて表作成部102から出力された時系列表20を元に、逆、裏、対偶を意味するプロパティを生成する。ここでは、逆プロパティの生成を説明する。   Based on the proposition property, the property generation unit 103 generates properties that mean reverse, reverse, and even numbers based on the time series table 20 output from the table creation unit 102. Here, generation of inverse properties will be described.

図14は、本実施形態の逆プロパティの生成方法を示すフローチャートである。   FIG. 14 is a flowchart showing the inverse property generation method of this embodiment.

プロパティ生成部103は、まず、時系列表20を参照して、信号名22と、信号値と、逆時間24とを抽出する(S11)。抽出した信号名22、信号値、逆時間24は、遅延時間テーブル120として作成される。   The property generation unit 103 first extracts the signal name 22, the signal value, and the reverse time 24 with reference to the time series table 20 (S11). The extracted signal name 22, signal value, and reverse time 24 are created as a delay time table 120.

図15は、本実施形態のステップS11で作成されるイベントと遅延時間テーブル120の一例の説明図である。   FIG. 15 is an explanatory diagram of an example of the event and delay time table 120 created in step S11 of the present embodiment.

プロパティ生成部103は、時系列表20から取得したイベント及びその値と、そのイベントが発生する時間とを遅延時間テーブル120に記入する。   The property generation unit 103 writes the event and its value acquired from the time series table 20 and the time at which the event occurs in the delay time table 120.

なお、遅延時間の列122は逆時間を抽出しているため、マイナスとなることがあってもよい。   Note that since the delay time column 122 extracts the reverse time, it may be negative.

次に、プロパティ生成部103は、作成した遅延時間テーブル120に対して、前述した図11に示す関数変換テーブル130を参照して、信号のシーケンスを関数化できるか、すなわち、信号の変化を関数に変換できるかを判断する(S12)。   Next, the property generation unit 103 refers to the function conversion table 130 shown in FIG. 11 described above with respect to the created delay time table 120, so that the signal sequence can be converted into a function. It is determined whether or not it can be converted to (S12).

プロパティ生成部103は、列121の信号の変化パターンと関数変換テーブル130とを照合することによって関数化が可能かを判断する。   The property generation unit 103 determines whether the function can be functionalized by comparing the signal change pattern in the column 121 with the function conversion table 130.

プロパティ生成部103は、ステップS12で関数化が可能であると判断された信号のシーケンスに対して関数化を行う(S13)。   The property generation unit 103 performs functionalization on the sequence of signals determined to be functionalizable in step S12 (S13).

そして、プロパティ生成部103は、イベントを関数化した後、イベントと遅延時間との対応を表すテーブルを作成する(S14)。   Then, the property generation unit 103 converts the event into a function, and then creates a table indicating the correspondence between the event and the delay time (S14).

図16は、本実施形態のプロパティ生成部がステップS14で作成する遅延時間テーブル120の一例の説明図である。   FIG. 16 is an explanatory diagram illustrating an example of the delay time table 120 created by the property generation unit of the present embodiment in step S14.

プロパティ生成部103は、図15に示す遅延時間テーブル120を参照して、イベントを関数化する。   The property generation unit 103 converts the event into a function with reference to the delay time table 120 shown in FIG.

具体的には、プロパティ生成部103は、遅延時間が「0」のとき「cnt==x+1」であることと、遅延時間が「−1」のとき「cnt==x」であることから、関数変換テーブル130を参照して、「cnt==$past(cnt,1)+1」(遅延時間「0」のときの「cnt」は1サイクル前の「cnt」を「+1」インクリメントしたものである)と関数化する。   Specifically, the property generation unit 103 has “cnt == x + 1” when the delay time is “0” and “cnt == x” when the delay time is “−1”. Referring to the function conversion table 130, “cnt == $ past (cnt, 1) +1” (“cnt” when the delay time is “0” is obtained by incrementing “cnt” one cycle before by “+1”. There is a function.

同様に、プロパティ生成部103は、遅延時間が「−1」のときに「request==1」であることと、遅延時間が「−2」のときに「request==0」であることから、関数変換テーブル130を参照して、「$past($rose(request),1)」(遅延時間が「−1」のときに「request」が立ち上がること)と関数化する。   Similarly, the property generation unit 103 has “request == 1” when the delay time is “−1” and “request == 0” when the delay time is “−2”. Then, referring to the function conversion table 130, the function is converted into “$ past ($ rose (request), 1)” (“request” rises when the delay time is “−1”).

また、プロパティ生成部103は、遅延時間が「−11」のときに「ready==0」であることと、遅延時間が「−12」のときに「ready==0」であることから、関数変換テーブル130を参照して、「$past($rose(ready,11))」(遅延時間が「−11」のときに「ready」が立ち上がること)と関数化する。   Further, since the property generation unit 103 has “ready == 0” when the delay time is “−11” and “ready == 0” when the delay time is “−12”, Referring to the function conversion table 130, the function is converted to “$ past ($ rose (ready, 11))” (“ready rises when the delay time is“ −11 ”).

これら関数化されたイベントは、前述した図11と同じ形式の遅延時間テーブル120(図16)に記録する。   These functionalized events are recorded in the delay time table 120 (FIG. 16) having the same format as that shown in FIG.

一方で、逆プロパティは命題プロパティに対して、仮定部と帰結部とを反転させたものであるため、時系列表20の帰結式23から得られる仮定部と帰結部との信号関係を反転させることで、逆プロパティを生成できる。   On the other hand, since the inverse property is obtained by inverting the hypothesis part and the consequent part with respect to the proposition property, the signal relationship between the hypothesis part and the consequent part obtained from the consequent expression 23 of the time series table 20 is inverted. Thus, the reverse property can be generated.

このことを利用して、プロパティ生成部103は、帰結式23の仮定部と帰結部との信号関係を反転する処理を行う(S15)。   Using this, the property generation unit 103 performs a process of inverting the signal relationship between the hypothesis part and the consequent part of the consequent expression 23 (S15).

図13に示す時系列表20を参照すると、帰結式は3=1*2であり、これは信号「cnt」の値を検証する場合には、信号「ready」と信号「request」とが仮定となることを表している。   Referring to the time series table 20 shown in FIG. 13, the result is 3 = 1 * 2, which assumes that the signal “ready” and the signal “request” are used when the value of the signal “cnt” is verified. It represents that becomes.

プロパティ生成部103は、この仮定部と帰結部とを反転して、帰結式「1*2=3」を得る。これは、信号「ready」と信号「request」との値を検証する場合に信号「cnt」が仮定となるということを表している。   The property generation unit 103 inverts the assumption part and the consequent part to obtain the consequent expression “1 * 2 = 3”. This indicates that the signal “cnt” is assumed when the values of the signal “ready” and the signal “request” are verified.

次に、プロパティ生成部103は、ステップS14で作成したテーブルと、ステップS15で得られる帰結式とを組み合わせることによって逆プロパティを生成する(S16)。具体的には、テーブルに記載された各イベントとその遅延時間とを帰結式に当てはめ、これを逆プロパティとして記録する。   Next, the property generation unit 103 generates an inverse property by combining the table created in step S14 and the consequent expression obtained in step S15 (S16). Specifically, each event described in the table and its delay time are applied to the consequent formula, and this is recorded as an inverse property.

このステップS16の処理によって、逆プロパティの生成が完了する。   By the process of step S16, the generation of the reverse property is completed.

図17は、本実施形態のプロパティ生成部103によって実行される逆プロパティの生成の説明図である。   FIG. 17 is an explanatory diagram of reverse property generation executed by the property generation unit 103 of this embodiment.

図17(A)は、命題プロパティを、自然言語とそれに対応するプロパティ言語とで記述したものの一例である。   FIG. 17A shows an example in which proposition properties are described in a natural language and a property language corresponding to the proposition property.

表作成部102は、このプロパティ言語を解析し、前述した図9の処理によって時系列表20を作成する。図17(B)は、図17(A)のプロパティ言語に対応する時系列表20の一例である。   The table creation unit 102 analyzes this property language and creates the time series table 20 by the processing of FIG. 9 described above. FIG. 17B is an example of the time series table 20 corresponding to the property language of FIG.

プロパティ生成部103は、この時系列表20と命題プロパティのプロパティ言語とを参照して、前述の図14の処理によって逆プロパティを生成する。   The property generation unit 103 refers to the time series table 20 and the property language of the proposition property, and generates an inverse property by the process of FIG. 14 described above.

図17(C)は、図17(A)に示す命題プロパティに対して生成された逆プロパティを、自然言語とそれに対応するプロパティ言語とで記述したものの一例である。   FIG. 17C is an example in which the inverse property generated for the proposition property shown in FIG. 17A is described in a natural language and a corresponding property language.

次に、裏プロパティの生成を説明する。   Next, generation of the back property will be described.

プロパティ生成部103は、前述のように命題プロパティに基づいて表作成部102から出力された時系列表20を元に、逆プロパティを生成する。   The property generation unit 103 generates an inverse property based on the time series table 20 output from the table creation unit 102 based on the proposition property as described above.

一方、裏プロパティは、否定を表す「!」を命題プロパティのプロパティ言語に付加することによって生成する。   On the other hand, the reverse property is generated by adding “!” Representing negation to the property language of the proposition property.

図18は、本実施形態のプロパティ生成部103が実行する裏プロパティの生成の説明図である。   FIG. 18 is an explanatory diagram of back property generation executed by the property generation unit 103 according to the present embodiment.

図18(A)は、命題プロパティを、自然言語とそれに対応するプロパティ言語で記述したものである。   FIG. 18A shows a proposition property described in a natural language and a property language corresponding thereto.

このプロパティ記述から裏プロパティを作成する場合は、プロパティ生成部103は、インプリケーション演算子によって仮定部と帰結部とを検出する。なお、既に作成されている時系列表20を参照して仮定部と帰結部とを検出してもよい。   When creating a back property from this property description, the property generation unit 103 detects an assumption part and a consequent part by an implication operator. Note that the hypothesis part and the consequent part may be detected with reference to the time series table 20 already created.

次に、プロパティ生成部103は、仮定部と帰結部とに記載されている各イベントに、否定を表す「!」を付加する。   Next, the property generation unit 103 adds “!” Representing negation to each event described in the assumption unit and the consequent unit.

図18(B)は、図18(A)に示す命題プロパティに対して生成された裏プロパティを、自然言語とそれに対応するプロパティ言語とで記述したものの一例である。   FIG. 18B is an example in which the back property generated for the proposition property shown in FIG. 18A is described in a natural language and a corresponding property language.

なお、否定の意味とは、該当イベントの動作以外の動作の指示である。   The negative meaning is an instruction for an operation other than the operation of the corresponding event.

例えば、「$rose(ready)」(readyが立ち上がること)の否定形は、「!$rose(ready)」(readyが立ち上がらないこと)となる。   For example, the negative form of “$ rose (ready)” (when ready is set up) is “! $ Rose (ready)” (when ready is not set up).

具体的には、「ready」の値が「0」を維持している状態と、「1」を維持している状態と、「1」から「0」に立ち下がる状態と、を意味することとなる。   Specifically, it means a state where the value of “ready” is maintained at “0”, a state where “1” is maintained, and a state where the value falls from “1” to “0”. It becomes.

同様に、「cnt==$past(cnt,1)+1」(cnt値は1サイクル前のcnt値+1であること)の否定形は、「!(cnt==$past(cnt,1)+1)」(cnt値は1サイクル前のcnt値+1ではないこと)となる。これは、「cnt」の値が1サイクル前の「cnt」の値+1以外の値であれば全て条件を満たすことになる。   Similarly, the negative form of “cnt == $ past (cnt, 1) +1” (the cnt value should be cnt value + 1 before one cycle) is “! (Cnt == $ past (cnt, 1) +1”. ) "(The cnt value is not the cnt value of the previous cycle + 1). This satisfies all the conditions if the value of “cnt” is a value other than the value “cnt” of the previous cycle plus one.

次に、対偶プロパティの生成を説明する。   Next, generation of the even property will be described.

対偶プロパティは、命題プロパティに対して仮定部と帰結部とを反転させ、さらに、全てのイベントに対して否定形を表す「!」を付加することによって生成する。つまり、前述のように命題プロパティに基づいて表作成部102から出力された時系列表20を元に、逆プロパティを生成し、この逆プロパティを裏プロパティに変換することによって、対偶プロパティを生成する。   The kinematic property is generated by inverting the hypothesis part and the consequent part with respect to the proposition property, and further adding “!” Representing a negative form to all the events. That is, as described above, an inverse property is generated based on the time series table 20 output from the table creation unit 102 based on the proposition property, and the inverse property is converted into a reverse property, thereby generating an even property. .

図19は、本実施形態のプロパティ生成部103が実行する対偶プロパティの生成の説明図である。   FIG. 19 is an explanatory diagram of the generation of the even property executed by the property generation unit 103 of this embodiment.

逆プロパティは、前述のように図9、図14で示される処理によって生成される。また、裏プロパティは図18に示すように、各イベントに対して否定形を表す「!」を付加することで生成する。   The reverse property is generated by the processing shown in FIGS. 9 and 14 as described above. Further, as shown in FIG. 18, the back property is generated by adding “!” Representing a negative form to each event.

図19(A)は、命題プロパティを、自然言語とそれに対応するプロパティ言語とで記述したものの一例である。   FIG. 19A shows an example in which proposition properties are described in a natural language and a property language corresponding to the proposition property.

表作成部102は、このプロパティ言語を解析し、前述した図9の処理によって時系列表20を作成する。図19(B)は、図19(A)のプロパティ言語に対応する時系列表20の一例である。   The table creation unit 102 analyzes this property language and creates the time series table 20 by the processing of FIG. 9 described above. FIG. 19B is an example of a time series table 20 corresponding to the property language of FIG.

プロパティ生成部103は、この時系列表20と命題プロパティのプロパティ言語とを参照して、前述の図14の処理によって逆プロパティを生成する。   The property generation unit 103 refers to the time series table 20 and the property language of the proposition property, and generates an inverse property by the process of FIG. 14 described above.

図19(C)は、図19(A)に示す命題プロパティに対して生成された逆プロパティを、自然言語とそれに対応するプロパティ言語とで記述したものの一例である。   FIG. 19C is an example in which the inverse property generated for the proposition property shown in FIG. 19A is described in a natural language and a property language corresponding thereto.

さらに、生成された逆プロパティに対して、図18において説明したように、プロパティ生成部103は、仮定部と帰結部とに記載されている各イベントに、否定を表す「!」を付加する。   Further, as described in FIG. 18, the property generation unit 103 adds “!” Representing negation to each event described in the hypothesis unit and the consequent unit for the generated reverse property.

図19(D)は、図19(A)に示す命題プロパティに対して生成された対偶プロパティを、自然言語とそれに対応するプロパティ言語とで記述したものの一例である。   FIG. 19D is an example in which the even property generated for the proposition property shown in FIG. 19A is described in a natural language and a corresponding property language.

以上説明したような処理によって、論理検証支援部10が、命題プロパティから逆、裏及び対偶を意味するプロパティを自動的に生成することができる。   Through the processing described above, the logic verification support unit 10 can automatically generate properties that mean reverse, reverse, and even numbers from proposition properties.

次に、形式的論理検証について説明する。   Next, formal logic verification will be described.

検証部104は、オペレータが入力した命題プロパティ、又は、プロパティ生成部103が生成した逆プロパティ、裏プロパティ、対偶プロパティを入力し、形式的論理検証を行う機能である。   The verification unit 104 is a function that performs formal logic verification by inputting a proposition property input by the operator or an inverse property, a reverse property, and an even property generated by the property generation unit 103.

図20は、本実施形態の検証部104が実行する形式的論理検証の説明図である。   FIG. 20 is an explanatory diagram of formal logic verification executed by the verification unit 104 of this embodiment.

形式的論理検証は、検証対象のネットリストから抽出されるロジックコーンと、検査対象の期待値から抽出されるロジックコーンとを比較し、これらの等価性を検証することによって、論理回路の正当性を数学的に証明する手法である。   Formal logic verification compares the logic cone extracted from the netlist to be verified with the logic cone extracted from the expected value to be verified, and verifies their equivalence to verify the correctness of the logic circuit. Is a method to mathematically prove

ロジックコーンとは、論理を、FF(Flip Flop)を頂点とする組合せ回路網とする等価回路に置き換えたものである。   The logic cone is obtained by replacing the logic with an equivalent circuit having a combination circuit network having FF (Flip Flop) as a vertex.

検証部104は、論理回路のRTLを検査対象のネットリストとして、ロジックコーンを抽出する。また同様に、プロパティに基づく検査対象の期待値からロジックコーンを抽出する。   The verification unit 104 extracts a logic cone using the RTL of the logic circuit as a netlist to be inspected. Similarly, the logic cone is extracted from the expected value of the inspection object based on the property.

そして、検証部104は、これら検証対象のロジックコーンと期待値であるロジックコーンとを比較し、これらの等価性を検証する。   Then, the verification unit 104 compares the logic cone to be verified with the logic cone that is the expected value, and verifies their equivalence.

等価性の検証方法としては、従来周知であるOBDD(Ordered Binary Decision Diagram)等の手法を用いることができる。なお、形式的論理検証を行う手法は、これに限定されない。   As a method for verifying equivalence, a conventionally known method such as OBDD (Ordered Binary Decision Diagram) can be used. Note that the method of performing formal logic verification is not limited to this.

図20に示す例では、検証部104は、論理回路のFF30とFF30−1とFF30−2との組合せであるロジックコーン31と、生成されたプロパティに基づいて、期待値を表すFF30−3とFF30−4とFF30−5との組合せであるロジックコーン31−1との比較を検証する例を示す。   In the example illustrated in FIG. 20, the verification unit 104 includes a logic cone 31 that is a combination of the FF30, FF30-1, and FF30-2 of the logic circuit, and an FF30-3 that represents an expected value based on the generated property. An example of verifying the comparison with the logic cone 31-1 that is a combination of the FF 30-4 and the FF 30-5 will be described.

図21は、本実施形態の検証部104が実行する形式的論理検証のフローチャートである。   FIG. 21 is a flowchart of formal logic verification executed by the verification unit 104 of this embodiment.

形式的論理検証が開始されると、まず、検証部104は、入力部118から検証対象である論理のRTLと、命題プロパティ又はプロパティ生成部103により生成された逆、裏、対偶プロパティとの入力を受付ける(S101)。   When formal logic verification is started, the verification unit 104 first inputs the RTL of the logic to be verified from the input unit 118 and the inverse, reverse, and even property generated by the proposition property or property generation unit 103. Is received (S101).

次に、検証部104は、プロパティから期待値であるロジックコーンを抽出する処理と論理回路のRTLのロジックコーンを抽出する処理を実行する(S102)。   Next, the verification unit 104 executes a process of extracting a logic cone that is an expected value from the property and a process of extracting an RTL logic cone of the logic circuit (S102).

次に、検証部104は、ステップ102で抽出した期待値のロジックコーンと、設計回路のロジックコーンとの等価性を比較する(S103)。そして、比較の結果、ロジックコーンが等価であるか否かを判定する(S104)。   Next, the verification unit 104 compares the logic cone of the expected value extracted in step 102 with the logic cone of the design circuit (S103). Then, as a result of the comparison, it is determined whether or not the logic cone is equivalent (S104).

比較の結果、ロジックコーンが等価であると認めた場合は、ステップS105に移行し、検証部104は、設計された論理回路は期待通りの動作をしていることを確認する。この結果を検証結果出力部105に出力する。   As a result of the comparison, when it is recognized that the logic cones are equivalent, the process proceeds to step S105, and the verification unit 104 confirms that the designed logic circuit operates as expected. This result is output to the verification result output unit 105.

一方、結果が等価でないと認めた場合は、設計された論理、又は、プロパティ自体に誤りがあることを意味する。この場合は、検証部104は、検証結果出力部105からエラーを通知する。このとき、ロジックコーンから期待値と整合性が取れない組合せの波形(反例となる波形)を生成することによって、デバック情報を検証結果出力部105を通じて提示することができる。   On the other hand, if it is recognized that the results are not equivalent, it means that there is an error in the designed logic or the property itself. In this case, the verification unit 104 notifies an error from the verification result output unit 105. At this time, debug information can be presented through the verification result output unit 105 by generating a combination waveform (a counter example waveform) inconsistent with the expected value from the logic cone.

このような処理によって形式的論理検証が完了する。   Formal logic verification is completed by such processing.

以上のように本発明の実施形態では、論理検証支援部10が、設計回路の論理と、論理を検証する検証項目である第1のプロパティである命題プロパティと、を取得する入力受付部101と、命題プロパティで発生する事象(イベント)を時系列に並べた時系列表20を作成する表作成部102と、命題プロパティと時系列表20とに基づいて、命題プロパティの逆、裏又は対偶を意味する第2のプロパティを作成するプロパティ生成部103と、命題プロパティ、逆プロパティ、裏プロパティ又は対偶プロパティを用いて論理を検証する検証部104と、検証部104の検証結果を出力する検証結果出力部105と、を備える。   As described above, in the embodiment of the present invention, the logic verification support unit 10 obtains the logic of the design circuit and the proposition property that is the first property that is the verification item for verifying the logic, Based on the proposition property and the time series table 20, the reverse, reverse or even number of the proposition properties is determined based on the proposition property and the time series table 20. A property generation unit 103 that creates a second property that means, a verification unit 104 that verifies logic using a proposition property, an inverse property, a back property, or an even property, and a verification result output that outputs a verification result of the verification unit 104 Unit 105.

このような構成により、オペレータが準備した命題プロパティから、逆、裏又は対偶を意味する第2のプロパティを作成することができる。これにより、複数のプロパティが自動的に生成でき、プロパティを網羅的に生成することができるので、論理検証の検証品質を向上させることができる。さらに、論理検証における時間的、人的なコストを削減して、効率的に論理検証を行うことができる。   With such a configuration, a second property that means reverse, reverse, or even number can be created from the proposition property prepared by the operator. Thereby, a plurality of properties can be automatically generated, and the properties can be generated comprehensively, so that the verification quality of logic verification can be improved. Furthermore, time and human costs in logic verification can be reduced and logic verification can be performed efficiently.

次に、本発明の第2の実施形態を説明する。   Next, a second embodiment of the present invention will be described.

第2の実施形態の論理検証支援部10は、命題プロパティから逆、裏、対偶を表すプロパティを生成して、これを検証する機能だけではなく、命題プロパティを視覚的に確認できる機能を有する。   The logic verification support unit 10 according to the second embodiment has a function of generating properties representing reverse, reverse, and even numbers from the proposition properties and verifying the proposition properties as well as a function of verifying the properties.

図22は、本実施形態の論理検証支援部10のブロック図である。なお、第1の実施形態と同一の構成は同一の符号を付し、その説明は省略する。   FIG. 22 is a block diagram of the logic verification support unit 10 of this embodiment. In addition, the same structure as 1st Embodiment attaches | subjects the same code | symbol, and the description is abbreviate | omitted.

論理検証支援部10は、図1で前述したように、入力受付部101、表作成部102、プロパティ生成部103、検証部104及び検証結果出力部105を備える。   As described above with reference to FIG. 1, the logic verification support unit 10 includes an input reception unit 101, a table creation unit 102, a property generation unit 103, a verification unit 104, and a verification result output unit 105.

論理検証支援部10は、表出力部201を備える。表出力部201は、表作成部102により生成された時系列表20を表示部117に表示する機能を有する。   The logic verification support unit 10 includes a table output unit 201. The table output unit 201 has a function of displaying the time series table 20 generated by the table creation unit 102 on the display unit 117.

表出力部201から出力される時系列表20は、図2に例示した時系列表20である。時系列表20は、プロパティに宣言されない信号及びその値は表示しないため、オペレータが視覚的にプロパティの整合性を判断しやすい。   The time series table 20 output from the table output unit 201 is the time series table 20 illustrated in FIG. Since the time series table 20 does not display signals and their values that are not declared in the property, it is easy for the operator to visually determine the consistency of the property.

そのため、表出力部201によって時系列表20を表示することによって、オペレータは、意図したプロパティが生成されているかどうかをデバックするための手法として用いることができる。   Therefore, by displaying the time series table 20 by the table output unit 201, the operator can use it as a method for debugging whether or not the intended property is generated.

次に、本発明の第3の実施形態を説明する。   Next, a third embodiment of the present invention will be described.

第3の実施形態の論理検証支援部10は、前述した第2の実施形態のように命題プロパティを視覚的に確認できる機能に加え、生成された逆、裏、対偶プロパティの時系列表20をも表示する機能を有する。   The logic verification support unit 10 according to the third embodiment displays a time series table 20 of the reverse, reverse, and even properties generated in addition to the function for visually confirming the proposition property as in the second embodiment described above. Also has a display function.

図23は、本実施形態の論理検証支援部10のブロック図である。なお、第1及び第2の実施形態と同一の構成は同一の符号を付し、その説明は省略する。   FIG. 23 is a block diagram of the logic verification support unit 10 of this embodiment. In addition, the same structure as 1st and 2nd embodiment attaches | subjects the same code | symbol, and the description is abbreviate | omitted.

論理検証支援部10は、表出力部201と表作成部202とを備える。表出力部201は、表作成部102により生成された時系列表20を表示部117に表示する機能を有する。   The logic verification support unit 10 includes a table output unit 201 and a table creation unit 202. The table output unit 201 has a function of displaying the time series table 20 generated by the table creation unit 102 on the display unit 117.

表作成部202は、プロパティ生成部103により生成された逆、裏、対偶プロパティの時系列表20を作成する機能を有する。   The table creation unit 202 has a function of creating the time series table 20 of the reverse, reverse, and even properties generated by the property generation unit 103.

第2の実施形態と同様に、表出力部201は、命題プロパティを元に作成した時系列表20を表示する。   Similar to the second embodiment, the table output unit 201 displays the time series table 20 created based on the proposition properties.

さらに、表出力部201は、表作成部202により作成された、逆、裏、対偶プロパティの時系列表20を表示する。   Further, the table output unit 201 displays the time series table 20 of reverse, reverse and even properties created by the table creation unit 202.

このようにすることで、オペレータは、論理検証支援部10によって自動的に作成された逆、裏、対偶プロパティの時系列表20を、視覚的に確認することができる。そのため、オペレータ間でプロパティの共有が容易になる。   By doing in this way, the operator can visually confirm the time series table 20 of the reverse, reverse, and even property created automatically by the logic verification support unit 10. This makes it easy to share properties between operators.

また、表出力部201で出力される時系列表20を生成されたプロパティと共に外部データベースに登録するようにしてもいい。これにより、時系列表20の等価性を比較して、異なるプロパティ言語表記だが検証内容は等しいプロパティを摘出するといったプロパティの検証作業を行うことができる。   Further, the time series table 20 output by the table output unit 201 may be registered in the external database together with the generated property. This makes it possible to perform the property verification work by comparing the equivalences of the time series table 20 and extracting properties having different property language notations but the same verification contents.

10 論理検証支援部
11 論理検証支援システム
20 時系列表
101 入力受付部
102 表作成部
103 プロパティ生成部
104 検証部
105 検証結果出力部
111 CPU
112 メモリ
113 HDD
114 入出力インタフェース
115 バス
116 論理検証支援プログラム
117 表示部
118 入力部
201 表出力部
202 表作成部
10 logic verification support unit 11 logic verification support system 20 time series table 101 input reception unit 102 table creation unit 103 property generation unit 104 verification unit 105 verification result output unit 111 CPU
112 Memory 113 HDD
114 Input / output interface 115 Bus 116 Logic verification support program 117 Display unit 118 Input unit 201 Table output unit 202 Table creation unit

Claims (8)

プログラムを実行する制御部と、記憶部と、入力部と、情報を表示する表示部と、を備える論理検証システムにおいて、論理を検証する検証項目である第1のプロパティを用いて前記論理を検証する論理検証方法であって、
前記入力部から入力された論理と、前記入力部から入力された前記第1のプロパティと、前記入力部から入力され、前記第1のプロパティから生成する命題を指定する変換指定値と、を取得し、前記記憶部に記録する第1の手順と、
前記第1のプロパティから、当該第1のプロパティで発生する事象を時系列に表す時系列表を作成し、作成された前記時系列表を前記記憶部に記録する第2の手順と、
前記変換指定値によって指定された命題に対応する第2のプロパティを生成し、前記生成された第2のプロパティを前記記憶部に記録する手順であって、前記変換指定値によって前記第1のプロパティの逆、又は対偶が指定された場合に前記第1のプロパティと前記時系列表とに基づき前記第2のプロパティを生成し、前記変換指定値によって前記第1のプロパティの裏が指定された場合に前記第1のプロパティに基づき前記第2のプロパティを生成する、第3の手順と、
前記第1のプロパティ及び前記作成された第2のプロパティのそれぞれを用いて、前記論理を検証する第4の手順と、
を備え
前記第2の手順は、
前記第1のプロパティに含まれる演算子を検出することにより仮定部と帰結部とを抽出する手順と、
抽出した前記仮定部及び前記帰結部それぞれについて、前記事象の内容である信号の変化と、前記変化が発生する時間と、を取得する手順と、
前記信号の変化を前記時間に基づいた時系列に表す前記時系列表を作成し、作成した前記時系列表を前記記録部に記録する手順と、
前記仮定部と前記帰結部との関係を表す帰結式を作成し、作成した前記帰結式を前記時系列表に記録する手順と、
前記時系列に表された最終時間から開始時間への逆の時系列である逆時間を作成し、作成した前記逆時間を前記時系列表に記録する手順と、
作成した前記時系列表を、前記表示部に表示する手順と、
を含み、
前記第3の手順は、
生成した前記第2のプロパティにおける前記信号の変化を前記時間に基づいた時系列に表す新たな時系列表を作成し、作成した前記新たな時系列表を前記表示部に表示する手順
を含むことを特徴とする論理検証方法。
In a logic verification system comprising a control unit for executing a program, a storage unit, an input unit, and a display unit for displaying information , the logic is verified using a first property that is a verification item for verifying the logic. A logical verification method to
Obtaining logic input from the input unit, the first property input from the input unit, and a conversion specification value that is input from the input unit and specifies a proposition generated from the first property A first procedure for recording in the storage unit;
A second procedure for creating a time-series table representing events occurring in the first property in time series from the first property, and recording the created time-series table in the storage unit;
A procedure for generating a second property corresponding to a proposition designated by the conversion designated value and recording the generated second property in the storage unit, wherein the first property is produced by the conversion designated value. When the opposite of the above or the even number is specified, the second property is generated based on the first property and the time series table, and the reverse side of the first property is specified by the conversion specification value Generating a second property based on the first property in a third procedure;
A fourth procedure for verifying the logic using each of the first property and the created second property;
Equipped with a,
The second procedure is:
Extracting an assumption part and a consequence part by detecting an operator included in the first property;
For each of the extracted assumption part and the consequent part, a procedure for acquiring a change in the signal that is the content of the event and a time at which the change occurs;
Creating the time series table representing the change of the signal in a time series based on the time, and recording the created time series table in the recording unit;
Creating a consequence formula representing the relationship between the hypothesis part and the consequence part, and recording the created outcome formula in the time series table;
Creating a reverse time that is a reverse time series from the last time represented in the time series to a start time, and recording the created reverse time in the time series table;
A procedure for displaying the created time series table on the display unit;
Including
The third procedure is:
A procedure for creating a new time series table that represents a change of the signal in the generated second property in a time series based on the time, and displaying the created new time series table on the display unit
Logic verification method characterized by comprising a.
前記第2の手順は、さらに、前記第1のプロパティから取得した前記信号の変化が関数として表されている場合は、前記関数を、信号と前記信号の変化と前記時間との表記に変換する手順を含むことを特徴とする請求項1に記載の論理検証方法。  The second procedure further converts the function into a representation of the signal, the change in the signal, and the time when the change in the signal obtained from the first property is expressed as a function. The logic verification method according to claim 1, further comprising a procedure. 前記第3の手順は、  The third procedure is:
前記時系列表から、前記信号と前記信号の変化と前記時間と前記逆時間とを取得する手順と、  Obtaining the signal, the change of the signal, the time, and the reverse time from the time series table;
前記時系列表から、前記帰結式を取得し、取得した前記帰結式の仮定部と帰結部とを入れ替えた新たな帰結式に変換する手順と、  From the time series table, the result formula is acquired, and converted into a new result formula obtained by replacing the assumption part and the result part of the acquired result formula;
前記新たな帰結式に、前記信号と前記信号の変化と前記時間とを当てはめて逆を意味する前記第2のプロパティを作成し、作成した逆を意味する前記第2のプロパティを前記記憶部に記録する手順と、  Applying the signal, the change in the signal, and the time to the new consequent formula, the second property that means the opposite is created, and the created second property that means the opposite is stored in the storage unit Recording procedure,
を含むことを特徴とする請求項1又は2に記載の論理検証方法。The logic verification method according to claim 1, further comprising:
前記第3の手順は、前記第1のプロパティの仮定部と帰結部とをそれぞれ否定形に変換して裏を意味する前記第2のプロパティを作成し、作成した裏を意味する前記第2のプロパティを前記記憶部に記録する手順を含むことを特徴とする請求項1から3のいずれか一つに記載の論理検証方法。  The third procedure creates the second property that means the reverse by converting the hypothesis part and the result part of the first property into negative forms, respectively, and the second property that means the created reverse The logic verification method according to claim 1, further comprising a procedure of recording a property in the storage unit. 前記第3の手順は、  The third procedure is:
前記時系列表から、前記信号と前記信号の変化と前記時間と前記逆時間とを取得する手順と、  Obtaining the signal, the change of the signal, the time, and the reverse time from the time series table;
前記時系列表から、前記帰結式を取得し、取得した前記帰結式の仮定部と帰結部とを入れ替えた新たな帰結式に変換する手順と、  From the time series table, the result formula is acquired, and converted into a new result formula obtained by replacing the assumption part and the result part of the acquired result formula;
前記新たな帰結式に、前記信号と前記信号の変化と前記時間とを当てはめて逆を意味する前記第2のプロパティを作成する手順と、  Applying the signal, the change in the signal and the time to the new consequence formula to create the second property, which means the opposite;
作成した逆を意味する前記第2のプロパティの仮定部と帰結部とをそれぞれ否定形に変換して、対偶を意味する前記第2のプロパティを作成し、作成した対偶を意味する前記第2のプロパティを前記記憶部に記録する手順と、  The hypothetical part and the consequent part of the second property that mean the reverse created are converted into negative forms, respectively, the second property that means the even number is created, and the second property that means the created even number Recording properties in the storage unit;
を含むことを特徴とする請求項1から4のいずれか一つに記載の論理検証方法。5. The logic verification method according to claim 1, further comprising:
前記第4の手順は、  The fourth procedure includes:
前記論理に基づくロジックコーンと、前記第1又は第2のプロパティに基づく期待値のロジックコーンとを作成する手順と、  Creating a logic cone based on the logic and an expected value logic cone based on the first or second property;
前記ロジックコーンの結果と前記期待値のロジックコーンの結果とが等価であるか否かを判定する手順と、  Determining whether the result of the logic cone and the result of the logic cone of the expected value are equivalent;
を含むことを特徴とする請求項1から5のいずれか一つに記載の論理検証方法。The logic verification method according to claim 1, further comprising:
前記論理は、レジスタ転送レベルにより記述されていることを特徴とする請求項1から6のいずれか一つに記載の論理検証方法。  7. The logic verification method according to claim 1, wherein the logic is described by a register transfer level. 制御部と、記憶部と、入力部と、出力部と、を備え、論理を検証する検証項目である第1のプロパティを用いて前記論理を検証する論理検証システムにおいて、  In a logic verification system that includes a control unit, a storage unit, an input unit, and an output unit, and that verifies the logic using a first property that is a verification item for verifying logic,
前記制御部が前記記憶部に記録されているプログラムを実行することによって、表作成部、プロパティ生成部及び検証部が実現されており、  By executing the program recorded in the storage unit by the control unit, a table creation unit, a property generation unit and a verification unit are realized,
前記入力部から入力された論理と、前記入力部から入力された前記第1のプロパティと、前記入力部から入力され、前記第1のプロパティから生成する命題を指定する変換指定値と、を取得し、前記記憶部に記録し、  Obtaining logic input from the input unit, the first property input from the input unit, and a conversion specification value that is input from the input unit and specifies a proposition generated from the first property Recorded in the storage unit,
前記表作成部は、前記第1のプロパティから、当該第1のプロパティで発生する事象を時系列に表す時系列表を作成し、作成した前記時系列表を前記記憶部に記録し、  The table creation unit creates a time series table that represents, in a time series, events occurring in the first property from the first property, records the created time series table in the storage unit,
前記プロパティ生成部は、前記変換指定値によって指定された命題に対応する第2のプロパティを生成し、生成した前記第2のプロパティを前記記憶部に記録し、  The property generation unit generates a second property corresponding to the proposition specified by the conversion specification value, records the generated second property in the storage unit,
前記プロパティ生成部は、前記変換指定値によって前記第1のプロパティの逆、又は対偶が指定された場合に前記第1のプロパティと前記時系列表とに基づき前記第2のプロパティを生成し、前記変換指定値によって前記第1のプロパティの裏が指定された場合、前記第1のプロパティに基づき前記第2のプロパティを生成し、  The property generation unit generates the second property based on the first property and the time series table when the reverse of the first property or an even number is specified by the conversion specification value, When the reverse side of the first property is designated by the conversion designated value, the second property is generated based on the first property,
前記検証部は、前記第1のプロパティと前記作成した第2のプロパティのそれぞれを用いて、前記論理を検証し、  The verification unit verifies the logic using each of the first property and the created second property,
前記出力部は、前記検証部の検証結果を出力し、  The output unit outputs a verification result of the verification unit;
前記表作成部は、  The table creation unit
前記第1のプロパティに含まれる演算子を検出することにより仮定部と帰結部とを抽出し、  Extracting an assumption part and a consequence part by detecting an operator included in the first property;
抽出した前記仮定部及び前記帰結部それぞれについて、前記事象の内容である信号の変化と、前記変化が発生する時間と、を取得し、  For each of the extracted hypothesis part and the consequent part, obtain a change in the signal that is the content of the event, and a time at which the change occurs,
前記信号の変化を前記時間に基づいた時系列に表す前記時系列表を作成して、作成した前記時系列表を前記記録部に記録し、  Create the time series table that represents the change of the signal in a time series based on the time, record the created time series table in the recording unit,
前記仮定部と前記帰結部との関係を表す帰結式を作成して、作成した前記帰結式を前記時系列表に記録し、  Create an outcome formula that represents the relationship between the hypothesis part and the outcome part, record the created outcome formula in the time series table,
前記時系列に表された最終時間から開始時間への逆の時系列である逆時間を作成して、作成した前記逆時間を前記時系列表に記録し、  Create a reverse time that is a reverse time series from the last time represented in the time series to the start time, and record the created reverse time in the time series table,
前記出力部は、前記表作成部によって作成した時系列表を表示し、  The output unit displays the time series table created by the table creation unit,
前記プロパティ生成部は、生成した前記第2のプロパティにおける前記信号の変化を前記時間に基づいた時系列に表す新たな時系列表を作成し、  The property generation unit creates a new time series table that represents the change of the signal in the generated second property in a time series based on the time,
前記出力部は、作成した前記新たな時系列表を表示することを特徴とする論理検証システム。  The output unit displays the created new time series table.
JP2011120330A 2011-05-30 2011-05-30 Logic verification method and logic verification system Expired - Fee Related JP5568779B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011120330A JP5568779B2 (en) 2011-05-30 2011-05-30 Logic verification method and logic verification system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011120330A JP5568779B2 (en) 2011-05-30 2011-05-30 Logic verification method and logic verification system

Publications (2)

Publication Number Publication Date
JP2012248064A JP2012248064A (en) 2012-12-13
JP5568779B2 true JP5568779B2 (en) 2014-08-13

Family

ID=47468443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011120330A Expired - Fee Related JP5568779B2 (en) 2011-05-30 2011-05-30 Logic verification method and logic verification system

Country Status (1)

Country Link
JP (1) JP5568779B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013200745A (en) * 2012-03-26 2013-10-03 Fujitsu Semiconductor Ltd Information processing device, information processing method, and program
JP6093663B2 (en) * 2013-07-04 2017-03-08 エヌ・ティ・ティ・コムウェア株式会社 Verification program, verification apparatus, and verification method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105261A (en) * 1993-10-01 1995-04-21 Hitachi Ltd Method and device for analyzing logic circuit
JP2004326650A (en) * 2003-04-28 2004-11-18 Renesas Technology Corp Logic verification program and recording medium
JP4783658B2 (en) * 2006-03-28 2011-09-28 富士通セミコンダクター株式会社 Verification support device, verification support method, verification support program, and recording medium
JP2008097504A (en) * 2006-10-16 2008-04-24 Toshiba Corp Operation proposition generation system and verification system

Also Published As

Publication number Publication date
JP2012248064A (en) 2012-12-13

Similar Documents

Publication Publication Date Title
JP4255079B2 (en) Assertion generation system, circuit verification system, program, and assertion generation method
Henard et al. Towards automated testing and fixing of re-engineered feature models
JP2006244073A (en) Semiconductor design device
JP2008071135A (en) Verification processor
Mehrabian et al. Timestamp temporal logic (TTL) for testing the timing of cyber-physical systems
US7888971B2 (en) Verification support system and method
Goli et al. Automated analysis of virtual prototypes at electronic system level
JP5568779B2 (en) Logic verification method and logic verification system
JP4533918B2 (en) Circuit specification description design analysis apparatus and circuit specification description design analysis method
JP6787045B2 (en) Verification support program, verification support method, and information processing device
CN116157799A (en) Dynamic CDC verification method
US10816600B1 (en) Protocol analysis and visualization during simulation
JP5259082B2 (en) Concordance verification method and apparatus
Kayed et al. A novel approach for SVA generation of DDR memory protocols based on TDML
JP2013003854A (en) Test data generation program, test data generation method and test data generation device
US20090150103A1 (en) Computer-Based Method and System for Simulating Static Timing Clocking Results
JP5799823B2 (en) Test data generation device, test data generation program, and test data generation method
Bagbaba et al. Automated Identification of Application-Dependent Safe Faults in Automotive Systems-on-a-Chips
JPWO2012049816A1 (en) Model checking apparatus, method and program
JP5831067B2 (en) Power consumption analysis method, power consumption analysis apparatus, and power consumption analysis program
JP5348065B2 (en) Verification support program, verification support apparatus, and verification support method
JP6146224B2 (en) Determination method, determination program, and determination apparatus
KR101601741B1 (en) Verification apparatus for verifying the identity of programs written in different languages
Mavridou et al. Bridging the Gap Between Requirements and Model Analysis: Evaluation on Ten Cyber-Physical Challenge Problems
JP2011081760A (en) Information processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131022

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131218

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: 20140527

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140602

R150 Certificate of patent or registration of utility model

Ref document number: 5568779

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees