JP2011134242A - Method and program for verifying circuit design - Google Patents

Method and program for verifying circuit design Download PDF

Info

Publication number
JP2011134242A
JP2011134242A JP2009295241A JP2009295241A JP2011134242A JP 2011134242 A JP2011134242 A JP 2011134242A JP 2009295241 A JP2009295241 A JP 2009295241A JP 2009295241 A JP2009295241 A JP 2009295241A JP 2011134242 A JP2011134242 A JP 2011134242A
Authority
JP
Japan
Prior art keywords
verification
property
state
state machines
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009295241A
Other languages
Japanese (ja)
Inventor
Daisuke Hoshikawa
大輔 星川
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2009295241A priority Critical patent/JP2011134242A/en
Publication of JP2011134242A publication Critical patent/JP2011134242A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a verification method and verification program of circuit design, which can improve the quality of a circuit by detecting the deadlock of a state machine. <P>SOLUTION: A plurality of state machines depending on each other are taken out from a circuit description as a verification object (OPA), and transitions of the plurality of taken-out state machines are synthesized to generate one transition diagram (OPB), and a first verification property for verifying whether each state in the generated transition diagram can be transited to an idle state or not is generated (OPC), and the generated first verification property is inserted to the plurality of taken-out state machines to perform formal verification (OPD and OPE), and if violation is found in the first verification property as a result of the formal verification performed by inserting the first verification property to the plurality of taken-out state machines, a second verification property for verifying whether a deadlock occurs in an actual circuit or not is generated from the first verification property (OPF). <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、回路設計の検証方法および検証プログラムに関する。   The present invention relates to a circuit design verification method and a verification program.

近年、半導体集積回路の製造技術の進歩に伴って、半導体基板における回路の集積度が向上し、また、同一の半導体チップに対して様々な回路が搭載されるようになってきている。   In recent years, with the progress of semiconductor integrated circuit manufacturing technology, the degree of circuit integration on a semiconductor substrate has been improved, and various circuits have been mounted on the same semiconductor chip.

従来、論理回路設計の検証方法は、例えば、検証項目を抽出した後、人手でチェッカを作成し、そのチェッカを用いてシミュレーション検証または形式的検証を行うものであった。   Conventionally, in the logic circuit design verification method, for example, after a verification item is extracted, a checker is manually created, and simulation verification or formal verification is performed using the checker.

ところで、従来、プロパティ検証に要する時間を短縮することのできるLSI設計検証装置、並びに、モジュール毎のプロパティを検証してモジュール間インタフェース仕様の最適化を行うLSI設計検証方法が提案されている。   Conventionally, there have been proposed an LSI design verification apparatus capable of shortening the time required for property verification, and an LSI design verification method for optimizing inter-module interface specifications by verifying properties for each module.

特開2008−181210号公報JP 2008-181210 A 特開2003−196342号公報JP 2003-196342 A

上述したように、従来、論理回路設計の検証方法は、例えば、検証項目を抽出した後、人手でチェッカを作成し、そのチェッカを用いてシミュレーション検証または形式的検証を行っていた。   As described above, in the conventional logic circuit design verification method, for example, after a verification item is extracted, a checker is manually created, and simulation verification or formal verification is performed using the checker.

しかしながら、そのような検証方法だと、ステートマシンのデッドロックを検出するためのチェッカを作成することが難しく、また、検証項目を抽出する時点で検証項目の漏れが生じてステートマシンの検証が行われない虞れもあった。その結果、従来、ステートマシンのデッドロックを検出することは困難となっていた。   However, with such a verification method, it is difficult to create a checker for detecting a deadlock in the state machine, and when the verification item is extracted, the verification item is leaked and the state machine is verified. There was also a fear of not being broken. As a result, it has been difficult to detect a deadlock in a state machine.

一実施形態の回路設計の検証方法によれば、検証対象の回路記述から相互に依存関係がある複数のステートマシンを取り出し、該取り出した複数のステートマシンの遷移を合成して1つの遷移図を生成する。   According to the circuit design verification method of one embodiment, a plurality of state machines having mutual dependencies are extracted from a circuit description to be verified, and a transition diagram is synthesized by combining the transitions of the extracted state machines. Generate.

さらに、該生成した遷移図の各ステートがアイドル状態に遷移できるかどうかを検証する第1検証プロパティを生成し、該生成した第1検証プロパティを前記取り出した複数のステートマシンに挿入して形式的検証を行う。   Furthermore, a first verification property for verifying whether or not each state of the generated transition diagram can transition to an idle state is generated, and the generated first verification property is inserted into the plurality of extracted state machines to formally Perform verification.

そして、前記形式的検証の結果、前記第1検証プロパティに違反が見られれば、当該第1検証プロパティから、実際の回路においてデッドロックが発生するかどうかを検証する第2検証プロパティを生成する。   If a violation is found in the first verification property as a result of the formal verification, a second verification property for verifying whether a deadlock occurs in an actual circuit is generated from the first verification property.

開示の回路設計の検証方法および検証プログラムは、ステートマシンのデッドロックを検出し、回路の品質を向上させることができるという効果を奏する。   The disclosed circuit design verification method and verification program have the effect of detecting deadlocks in the state machine and improving the quality of the circuit.

一実施例の回路設計の検証を行うシステムの一例を示すブロック図である。It is a block diagram which shows an example of the system which verifies the circuit design of one Example. 図1の回路設計検証システムにおける動作の一例を説明するための図である。It is a figure for demonstrating an example of the operation | movement in the circuit design verification system of FIG. 図1の回路設計検証システムのハード構成の一例を示すブロック図である。It is a block diagram which shows an example of the hardware constitutions of the circuit design verification system of FIG. ステートマシンの回路記述を取り出す処理の一例を説明するための図である。It is a figure for demonstrating an example of the process which takes out the circuit description of a state machine. 第1検証プロパティの生成処理の一例を説明するための図である。It is a figure for demonstrating an example of the production | generation process of a 1st verification property. 第2検証プロパティの生成処理の一例を説明するための図である。It is a figure for demonstrating an example of the production | generation process of a 2nd verification property. 第2検証プロパティを挿入して行う検証処理の一例を説明するための図である。It is a figure for demonstrating an example of the verification process performed by inserting a 2nd verification property. 相互に依存関係があるステートマシンを抽出した場合の一実施例を説明するための図である。It is a figure for demonstrating one Example at the time of extracting the state machine which has a mutual dependency. 図8に示す2つのステートマシンの遷移を合成して生成した遷移図の一例を示す図である。It is a figure which shows an example of the transition diagram produced | generated by combining the transition of two state machines shown in FIG.

以下、添付図面を参照して、回路設計の検証方法および検証プログラムの実施例を詳述する。   Hereinafter, embodiments of a circuit design verification method and a verification program will be described in detail with reference to the accompanying drawings.

図1は一実施例の回路設計の検証を行うシステムの一例を示すブロック図であり、また、図2は図1の回路設計検証システムにおける動作の一例を説明するための図である。   FIG. 1 is a block diagram showing an example of a system for verifying a circuit design according to an embodiment. FIG. 2 is a diagram for explaining an example of an operation in the circuit design verification system of FIG.

図1において、参照符号100は回路記述,101はステートマシン抽出回路,102はステートマシンデータベース,103は合成遷移図生成装置,104は合成ステートマシン遷移図データベース,および,105は第1検証プロパティ生成装置を示している。   In FIG. 1, reference numeral 100 is a circuit description, 101 is a state machine extraction circuit, 102 is a state machine database, 103 is a synthetic transition diagram generation device, 104 is a synthetic state machine transition diagram database, and 105 is a first verification property generation. The device is shown.

ここで、回路記述100としては、例えば、RTL(Register Transfer Level)等によるプロラムレベルの回路記述でもよく、また、ゲートレベルの回路記述でもよい。   Here, the circuit description 100 may be, for example, a program level circuit description based on RTL (Register Transfer Level) or a gate level circuit description.

さらに、参照符号106は第1検証プロパティデータベース,107は形式的検証装置,108は第2検証プロパティ生成装置,109は第2検証プロパティデータベース,および,110は検証装置を示している。   Further, reference numeral 106 denotes a first verification property database, 107 denotes a formal verification device, 108 denotes a second verification property generation device, 109 denotes a second verification property database, and 110 denotes a verification device.

図2に示されるように、処理動作が開始すると、オペレーションOPAにおいて、ステートマシン抽出回路101により検証対象の論理回路(回路記述100)から相互に依存関係があるステートマシンを取り出(抽出)し、オペレーションOPBに進む。なお、取り出したステートマシンは、ステートマシンデータベース102に格納される。   As shown in FIG. 2, when the processing operation starts, in operation OPA, the state machine extraction circuit 101 extracts (extracts) a state machine having a mutual dependency from the logic circuit (circuit description 100) to be verified. Then, the operation proceeds to operation OPB. The extracted state machine is stored in the state machine database 102.

ここで、相互に依存関係があるステートマシンとは、例えば、各ステートマシン同士が遷移条件である信号を直接、或いは、組み合わせ回路の論理を通って入出力している関係のものを表している。   Here, the state machines having a dependency relationship with each other represent, for example, those in which each state machine inputs and outputs a signal that is a transition condition directly or through the logic of a combinational circuit. .

次に、オペレーションOPBにおいて、合成遷移図生成装置103により取り出したステートマシンの遷移を合成して遷移図を生成する。この生成された合成ステートマシン遷移図は、合成ステートマシン遷移図データベース104に格納される。   Next, in operation OPB, a transition diagram is generated by synthesizing the transitions of the state machine extracted by the combined transition diagram generation device 103. The generated synthesized state machine transition diagram is stored in the synthesized state machine transition diagram database 104.

さらに、オペレーションOPCに進んで、第1検証プロパティ生成装置105により遷移図の各ステートからアイドル状態(IDLEのステート)に戻ることができるかどうかのプロパティ(第1検証プロパティ:property A)を生成してオペレーションOPDに進む。なお、生成された第1検証プロパティは、第1検証プロパティデータベース106に格納される。   Further, proceeding to operation OPC, the first verification property generation device 105 generates a property (first verification property: property A) indicating whether or not each state of the transition diagram can be returned to the idle state (IDLE state). To proceed to operation OPD. The generated first verification property is stored in the first verification property database 106.

オペレーションOPDでは、形式的検証装置107により、第1検証プロパティ(property A)を、取り出した複数のステートマシンに挿入して形式的検証(第1検証プロパティが組み込まれた合成ステートマシンの形式的検証)を行う。   In the operation OPD, the formal verification device 107 inserts the first verification property (property A) into the plurality of extracted state machines and performs formal verification (formal verification of the synthesized state machine in which the first verification property is incorporated). )I do.

さらに、オペレーションOPEに進んで、第1検証プロパティが組み込まれた合成ステートマシンの形式的検証により第1検証プロパティ(property A)に違反(Error)が見られるかどうかを判定する。   Further, proceeding to operation OPE, it is determined whether or not a violation (Error) is found in the first verification property (property A) by the formal verification of the synthetic state machine in which the first verification property is incorporated.

オペレーションOPEにおいて、第1検証プロパティが組み込まれた合成ステートマシンの形式的検証により第1検証プロパティに違反が見られると判定されると、オペレーションOPFに進み、違反が見られないと判定されると、処理を終了する。   In operation OPE, when it is determined that a violation is found in the first verification property by the formal verification of the synthetic state machine in which the first verification property is incorporated, the operation proceeds to operation OPF, and it is determined that no violation is found. The process is terminated.

オペレーションOPFでは、第2検証プロパティ生成装置108により、違反が見られると判定された第1検証プロパティから、実際の回路においてデッドロックが発生するかどうかを検証するための第2検証プロパティを生成オペレーションOPGに進む。なお、生成された第2検証プロパティは、第2検証プロパティデータベース109に格納される。   In operation OPF, a second verification property for verifying whether or not a deadlock occurs in the actual circuit is generated from the first verification property determined by the second verification property generation device 108 to be violated. Proceed to OPG. The generated second verification property is stored in the second verification property database 109.

オペレーションOPGでは、検証装置110により、第2検証プロパティ(property B)を、検証対象の回路記述に挿入して検証を行う。ここで、検証装置110により行う検証は、形式的検証またはシミュレーションである。   In operation OPG, the verification device 110 performs verification by inserting the second verification property (property B) into the circuit description to be verified. Here, the verification performed by the verification apparatus 110 is formal verification or simulation.

そして、オペレーションOPGにおいて、第2検証プロパティを検証対象の回路記述に挿入して行う検証の結果、第2検証プロパティに違反が見られなければ、取り出した複数のステートマシンはデッドロックを発生しないと判断して処理を終了する。   Then, in operation OPG, if the second verification property is found not to be violated as a result of the verification performed by inserting the second verification property into the circuit description to be verified, the extracted plurality of state machines must generate a deadlock. Determine and end the process.

図3は図1の回路設計検証システムのハード構成の一例を示すブロック図である。図3において、参照符号200はバス,201はCPU,202はメモリユニット,203は表示ユニット,および,204は出力ユニットを示している。   FIG. 3 is a block diagram showing an example of a hardware configuration of the circuit design verification system of FIG. In FIG. 3, reference numeral 200 denotes a bus, 201 denotes a CPU, 202 denotes a memory unit, 203 denotes a display unit, and 204 denotes an output unit.

また、参照符号205は入力ユニット,206は通信ユニット,207は記憶装置,208はドライバ,および,209は記憶媒体を示している。   Reference numeral 205 denotes an input unit, 206 denotes a communication unit, 207 denotes a storage device, 208 denotes a driver, and 209 denotes a storage medium.

このように、回路設計検証システムは、汎用的なコンピュータにより実現することができ、回路設計の検証プログラムは、このようなコンピュータにより実行される。   Thus, the circuit design verification system can be realized by a general-purpose computer, and the circuit design verification program is executed by such a computer.

なお、回路設計の検証プログラムは、例えば、CD−ROMやDVD等の光ディスクまたは磁気ディスクや磁気テープといった記憶媒体(可搬型記録媒体)209によりドライバ208を介して提供される。   The circuit design verification program is provided via the driver 208 by a storage medium (portable recording medium) 209 such as an optical disk such as a CD-ROM or DVD, or a magnetic disk or magnetic tape, for example.

或いは、通信ユニット206によりインターネット等に接続して、回路設計の検証プログラムを、バス200を介して記憶装置207に格納し、その格納されたプログラムを実行することになる。   Alternatively, the communication unit 206 is connected to the Internet or the like, a circuit design verification program is stored in the storage device 207 via the bus 200, and the stored program is executed.

図4はステートマシンの回路記述を取り出す処理の一例を説明するための図であり、図1中のステートマシン抽出装置101により行われる図2中のオペレーションOPAの一例を詳述するものである。   FIG. 4 is a diagram for explaining an example of processing for extracting the circuit description of the state machine, and details an example of the operation OPA in FIG. 2 performed by the state machine extracting apparatus 101 in FIG.

図4に示されるように、ステートマシンの回路記述を取り出す処理が開始すると、オペレーションOPHにおいて、対象となる回路記述におけるステートマシンをすべて抽出して、オペレーションOPIに進む。   As shown in FIG. 4, when the process of extracting the circuit description of the state machine starts, all the state machines in the target circuit description are extracted in operation OPH, and the process proceeds to operation OPI.

さらに、オペレーションOPIでは、各ステートマシンの遷移条件信号を抽出してオペレーションOPJに進む。   Further, in operation OPI, the transition condition signal of each state machine is extracted and the operation proceeds to operation OPJ.

オペレーションOPJでは、抽出したステートマシン、並びに、抽出した各ステートマシンの遷移条件信号において、相互に依存関係があるステートマシンのみを抽出する。   In the operation OPJ, only the extracted state machines and the state machines that are mutually dependent in the extracted transition condition signal of each state machine are extracted.

このようにして抽出されたステートマシンは、上述したように、図1中のステートマシンデータベース102に格納されることになる。   The state machine extracted in this way is stored in the state machine database 102 in FIG. 1 as described above.

図5は第1検証プロパティの生成処理の一例を説明するための図であり、図1中の第1検証プロパティ生成装置105により行われる図2中のオペレーションOPCの一例を詳述するものである。   FIG. 5 is a diagram for explaining an example of the first verification property generation process, and details an example of the operation OPC in FIG. 2 performed by the first verification property generation apparatus 105 in FIG. .

すなわち、合成遷移図生成装置103により複数のステートマシンの遷移を合成した1つの遷移図を生成し、その合成遷移図からすべてのステートがアイドル状態(IDLEステート)に遷移することができるかどうかを検証する第1検証プロパティを生成する。   That is, the composite transition diagram generation device 103 generates one transition diagram in which transitions of a plurality of state machines are combined, and whether or not all states can transition to the idle state (IDLE state) from the composite transition diagram. A first verification property to be verified is generated.

図5に示されるように、第1検証プロパティの生成処理が開始すると、オペレーションOPKにおいて、各ステートの中からIDLEステートを指定して、オペレーションOPLに進む。   As shown in FIG. 5, when the generation process of the first verification property is started, the IDLE state is specified from each state in operation OPK, and the process proceeds to operation OPL.

オペレーションOPLでは、IDLEステート以外のすべてのステートを列挙し、さらに、オペレーションOPMに進んで、always(IDLEステート→列挙された各ステート→IDLEステート)となるプロパティ(第1検証プロパティ:property A)を作成する。   In the operation OPL, all the states other than the IDLE state are enumerated, and further, the operation OPM is advanced to a property (first verification property: property A) that becomes always (IDLE state → each enumerated state → IDLE state). create.

このようにして生成された第1検証プロパティは、上述したように、図1中の第1検証プロパティデータベース106に格納されることになる。   The first verification property generated in this way is stored in the first verification property database 106 in FIG. 1 as described above.

図6は第2検証プロパティの生成処理の一例を説明するための図であり、図1中の第2検証プロパティ生成装置108により行われる図2中のオペレーションOPFの一例を詳述するものである。   FIG. 6 is a diagram for explaining an example of the generation process of the second verification property, and details an example of the operation OPF in FIG. 2 performed by the second verification property generation apparatus 108 in FIG. .

すなわち、第1検証プロパティ(property A)は、図4中のオペレーションOPJにより抽出された相互に依存関係があるステートマシンに組み込まれ、図1中の形式的検証装置107により形式的検証が行われる。   In other words, the first verification property (property A) is incorporated in the state machine having the mutual dependency extracted by the operation OPJ in FIG. 4, and the formal verification is performed by the formal verification device 107 in FIG. .

この形式的検証装置107による形式的検証の結果、いずれかの第1検証プロパティに違反が見られれば、この違反の第1検証プロパティから実際の論理回路でデッドロックが発生するかどうかを検証するための第2検証プロパティ(property B)を生成する。   As a result of the formal verification by the formal verification device 107, if any of the first verification properties is violated, it is verified whether a deadlock occurs in the actual logic circuit from the first verification property of the violation. A second verification property (property B) is generated.

ここで、実際の論理回路でデッドロックが発生するかどうかの検証は、違反が見られた第1検証プロパティのステートに遷移するかどうかの検証に相当する。   Here, the verification of whether or not a deadlock occurs in the actual logic circuit corresponds to the verification of whether or not the state transits to the state of the first verification property where the violation is found.

図6に示されるように、第2検証プロパティの生成処理が開始すると、オペレーションOPNにおいて、違反があった第1検証プロパティを抽出して、オペレーションOPOに進む。   As shown in FIG. 6, when the generation process of the second verification property is started, the first verification property having the violation is extracted in operation OPN, and the process proceeds to operation OPO.

オペレーションOPOでは、always(IDLEステート→列挙された各ステート→IDLEステート)となっているプロパティ(第1検証プロパティ:property A)の中で "列挙されたステート" の部分を抽出する。   In the operation OPO, the “enumerated state” portion is extracted from the property (first verification property: property A) which is always (IDLE state → each enumerated state → IDLE state).

さらに、オペレーションOPPに進んで、never("列挙された各ステート")となる第2検証プロパティ(property B)を作成して処理を終了する。   Further, the process proceeds to operation OPP to create a second verification property (property B) that is never (“enumerated states”), and ends the process.

このようにして生成された第2検証プロパティは、上述したように、図1中の第2検証プロパティデータベース109に格納されることになる。   The second verification property generated in this way is stored in the second verification property database 109 in FIG. 1 as described above.

そして、第2検証プロパティデータベース109に格納された第2検証プロパティ(property B)は、検証対象の回路記述に組み込まれ、図1中の検証装置110による検証が行われる。   Then, the second verification property (property B) stored in the second verification property database 109 is incorporated in the circuit description to be verified and verified by the verification device 110 in FIG.

図7は第2検証プロパティを挿入して行う検証処理の一例を説明するための図であり、図1中の検証装置110により行われる図2中のオペレーションOPGの一例を詳述するものである。   FIG. 7 is a diagram for explaining an example of the verification process performed by inserting the second verification property, and details an example of the operation OPG in FIG. 2 performed by the verification device 110 in FIG. .

図7に示されるように、第2検証プロパティを挿入して行う検証処理が開始すると、オペレーションOPQにおいて、生成されたプロパティを検証環境に組み込んでオペレーションOPRに進む。   As shown in FIG. 7, when the verification process performed by inserting the second verification property is started, the generated property is incorporated into the verification environment in operation OPQ, and the process proceeds to operation OPR.

オペレーションOPRでは、検証装置110により、全体の回路に対する検証を行って処理を終了する。   In operation OPR, the verification apparatus 110 verifies the entire circuit and ends the processing.

ここで、検証装置110による検証は、例えば、形式的検証或いはシミュレーションである。これを対象回路全体に対して組み込み形式的検証またはシミュレーション検証を行うことでデッドロックを検出する。   Here, the verification by the verification device 110 is, for example, formal verification or simulation. A deadlock is detected by performing formal verification or simulation verification on the entire target circuit.

以上において、各オペレーションは、フローチャートにおける各ステップであってもよい。   In the above, each operation may be each step in the flowchart.

図8は相互に依存関係があるステートマシンを抽出した場合の一実施例を説明するための図であり、図8(a)は "A State machine" を示し、また、図8(b)は "B State machine" を示している。   FIG. 8 is a diagram for explaining an embodiment in which state machines having mutual dependencies are extracted. FIG. 8A shows “A State machine”, and FIG. Indicates "B State machine".

ここで、図8(a)および図8(b)において、参照符号 "I" はIDLEステート(アイドル状態)を表し、"W" はWRITEステート(書き込み状態)を表し、そして、"R" はREADYステート(レディ状態)を表す。   Here, in FIGS. 8A and 8B, the reference symbol “I” represents the IDLE state (idle state), “W” represents the WRITE state (write state), and “R” represents Indicates the READY state (ready state).

すなわち、図8(a)は、IDLEステート "I" およびWRITEステート "W" 間で遷移する "A State machine" を示し、また、図8(b)は、IDLEステート "I",WRITEステート "W" およびREADYステート "R" 間で遷移する "B State machine" を示している。   That is, FIG. 8A shows “A State machine” that transitions between IDLE state “I” and WRITE state “W”, and FIG. 8B shows IDLE state “I”, WRITE state “. Shows "B State machine" transitioning between "W" and READY state "R".

なお、図8(b)に示す "B State machine" において、e = A State == I & a、および、b = B State == W & 〜 f & 〜 h が成立している。   In the “B State machine” shown in FIG. 8B, e = A State == I & a and b = B State == W & ˜f & ˜h are established.

図9は図8に示す2つのステートマシンの遷移(図8(a)および図8(b))を合成して生成した遷移図の一例を示す図である。なお、図9において、図8(a)および図8(b)の各ステートマシンのIDLEステートの組み合わせが "AI & BI" であるため、"AI & BI" がIDLEステートを表している。   FIG. 9 is a diagram showing an example of a transition diagram generated by combining the transitions of the two state machines shown in FIG. 8 (FIGS. 8A and 8B). In FIG. 9, since the combination of the IDLE states of the state machines in FIGS. 8A and 8B is “AI & BI”, “AI & BI” represents the IDLE state.

図9からすべてのステートを抽出し、1つのステートからIDLEステートに戻ることができるかどうかを検証するプロパティを生成する。   All the states are extracted from FIG. 9, and a property for verifying whether it is possible to return from one state to the IDLE state is generated.

property1:assert always({(AI & BI);〜(AI & BI)[*];(AW & BW)}|=>
{〜(AI & BI)[*];(AI & BI)});
property2:assert always({(AI & BI);〜(AI & BI)[*];(AW & BR)}|=>
{〜(AI & BI)[*];(AI & BI)});
property3:assert always({(AI & BI);〜(AI & BI)[*];(AI & BW)}|=>
{〜(AI & BI)[*];(AI & BI)});
property4:assert always({(AI & BI);〜(AI & BI)[*];(AW & BI)}|=>
{〜(AI & BI)[*];(AI & BI)});
property1: assert always ({(AI &BI); ~ (AI & BI) [*]; (AW & BW)} | =>
{~ (AI & BI) [*]; (AI &BI)});
property2: assert always ({(AI &BI); ~ (AI & BI) [*]; (AW & BR)} | =>
{~ (AI & BI) [*]; (AI &BI)});
property3: assert always ({(AI &BI); ~ (AI & BI) [*]; (AI & BW)} | =>
{~ (AI & BI) [*]; (AI &BI)});
property4: assert always ({(AI &BI); ~ (AI & BI) [*]; (AW & BI)} | =>
{~ (AI & BI) [*]; (AI &BI)});

property1〜4は、第1検証プロパティ(property A)に対応し、それぞれ抽出した相互に依存関係があるステートマシン(取り出した複数のステートマシン)に挿入されて形式的検証を行うことになる。   Properties 1 to 4 correspond to the first verification property (property A), and are inserted into the extracted state machines having a mutual dependency (a plurality of extracted state machines) to perform formal verification.

このとき、例えば、property4を組み込んで行った形式的検証が Errorとなった場合、すなわち、property4を組み込んで行った形式的検証の結果、第1検証プロパティ(property A)に違反が見られた場合を考える。   At this time, for example, when formal verification performed by incorporating property4 results in Error, that is, as a result of formal verification performed by incorporating property4, a violation is found in the first verification property (property A) think of.

ここで、ステートマシンは、各ステートの遷移条件である信号の動作条件に制限がないため、実際の回路では、遷移しないステートに遷移している可能性がある。そのため、実際の回路でデッドロックするかどうかの検証を行う。   Here, since the state machine has no restriction on the operation condition of the signal that is the transition condition of each state, there is a possibility that the state machine has transitioned to a state that does not transition. Therefore, it is verified whether or not deadlock occurs in an actual circuit.

すなわち、property4から、次のような、実際の回路(検証対象の回路記述)でデッドロックが発生するかどうか(Errorとなったプロパティのステートに遷移するかどうか)を検証するproperty5(第2検証プロパティ(property B))を生成する。
property5:assert never{(AW & BI)};
That is, from property4, property5 (second verification) that verifies whether a deadlock occurs in the actual circuit (circuit description to be verified) as described below (whether the transition is made to the property state in which the error occurred). Property (property B)).
property5: assert never {(AW &BI)};

そして、検証対象の回路記述に対して、property5を組み込んだ形式的検証またはシミュレーション検証を行えば、ステートマシンの遷移がデッドロックしてしまう回路を検出することが可能になる。   If formal verification or simulation verification incorporating property 5 is performed on the circuit description to be verified, it is possible to detect a circuit in which the state machine transition is deadlocked.

すなわち、ステートマシンのデッドロックを検出することにより、回路の品質を向上させることができる。   That is, the quality of the circuit can be improved by detecting the deadlock of the state machine.

なお、図8および図9を参照した説明は単なる例であり、様々な相互に依存関係がある複数のステートマシンを抽出した場合に対しても本実施例を適用することができるのはいうまでもない。   The description with reference to FIGS. 8 and 9 is merely an example, and it goes without saying that the present embodiment can be applied to the case where a plurality of state machines having various interdependencies are extracted. Nor.

また、上述した回路設計の検証方法は、前述した図3に示すようなハード構成(コンピュータ)により実行されるプログラムとして提供することもできる。   The circuit design verification method described above can also be provided as a program executed by the hardware configuration (computer) shown in FIG. 3 described above.

100 回路記述
101 ステートマシン抽出回路
102 ステートマシンデータベース
103 合成遷移図生成装置
104 合成ステートマシン遷移図データベース
105 第1検証プロパティ生成装置
106 第1検証プロパティデータベース
107 形式的検証装置
108 第2検証プロパティ生成装置
109 第2検証プロパティデータベース
110 検証装置
200 バス
201 CPU
202 メモリユニット
203 表示ユニット
204 出力ユニット
205 入力ユニット
206 通信ユニット
207 記憶装置
208 ドライバ
209 記憶媒体
DESCRIPTION OF SYMBOLS 100 Circuit description 101 State machine extraction circuit 102 State machine database 103 Synthetic transition diagram production | generation apparatus 104 Synthetic state machine transition diagram database 105 1st verification property production | generation apparatus 106 1st verification property database 107 Formal verification apparatus 108 2nd verification property production | generation apparatus 109 Second verification property database 110 Verification device 200 Bus 201 CPU
202 Memory Unit 203 Display Unit 204 Output Unit 205 Input Unit 206 Communication Unit 207 Storage Device 208 Driver 209 Storage Medium

Claims (5)

検証対象の回路記述から相互に依存関係がある複数のステートマシンを取り出し、
該取り出した複数のステートマシンの遷移を合成して1つの遷移図を生成し、
該生成した遷移図の各ステートがアイドル状態に遷移できるかどうかを検証する第1検証プロパティを生成し、
該生成した第1検証プロパティを前記取り出した複数のステートマシンに挿入して形式的検証を行い、
前記第1検証プロパティを前記取り出した複数のステートマシンに挿入して行う前記形式的検証の結果、前記第1検証プロパティに違反が見られれば、当該第1検証プロパティから、実際の回路においてデッドロックが発生するかどうかを検証する第2検証プロパティを生成することを特徴とする回路設計の検証方法。
Extract multiple state machines that have mutual dependencies from the circuit description to be verified,
A transition diagram is generated by combining the transitions of the extracted state machines,
Generating a first verification property for verifying whether or not each state of the generated transition diagram can transition to an idle state;
The generated first verification property is inserted into the extracted state machines to perform formal verification,
As a result of the formal verification performed by inserting the first verification property into the extracted plurality of state machines, if a violation is found in the first verification property, a deadlock occurs in the actual circuit from the first verification property. A circuit design verification method, characterized by generating a second verification property for verifying whether or not an error occurs.
請求項1に記載の検証方法において、
前記第1検証プロパティを前記取り出した複数のステートマシンに挿入して行う前記形式的検証の結果、前記第1検証プロパティに違反が見られなければ、前記取り出した複数のステートマシンは、デッドロックを発生しないと判断することを特徴とする回路設計の検証方法。
The verification method according to claim 1,
As a result of the formal verification performed by inserting the first verification property into the plurality of extracted state machines, if the violation is not found in the first verification property, the extracted plurality of state machines A circuit design verification method characterized in that it does not occur.
請求項1または2に記載の検証方法において、さらに、
前記生成した第2検証プロパティを前記検証対象の回路記述に挿入して形式的検証またはシミュレーションを行うことを特徴とする回路設計の検証方法。
The verification method according to claim 1, further comprising:
A circuit design verification method, wherein the generated second verification property is inserted into the circuit description to be verified to perform formal verification or simulation.
請求項3に記載の検証方法において、さらに、
前記第2検証プロパティを前記検証対象の回路記述に挿入して行う前記形式的検証またはシミュレーションの結果、前記第2検証プロパティに違反が見られれば、前記取り出した複数のステートマシンはデッドロックを発生すると判断し、前記第2検証プロパティに違反が見られなければ、前記取り出した複数のステートマシンはデッドロックを発生しないと判断することを特徴とする回路設計の検証方法。
The verification method according to claim 3, further comprising:
As a result of the formal verification or simulation performed by inserting the second verification property into the circuit description to be verified, if the second verification property is found to be violated, the extracted plurality of state machines generate a deadlock. If the second verification property is not violated, it is determined that the extracted plurality of state machines do not cause a deadlock.
コンピュータに、
検証対象の回路記述から相互に依存関係がある複数のステートマシンを取り出す手順と、
該取り出した複数のステートマシンの遷移を合成して1つの遷移図を生成する手順と、
該生成した遷移図の各ステートがアイドル状態に遷移できるかどうかを検証する第1検証プロパティを生成する手順と、
該生成した第1検証プロパティを前記取り出した複数のステートマシンに挿入して形式的検証を行う手順と、
前記第1検証プロパティを前記取り出した複数のステートマシンに挿入して行う前記形式的検証の結果、前記第1検証プロパティに違反が見られれば、当該第1検証プロパティから、実際の回路においてデッドロックが発生するかどうかを検証する第2検証プロパティを生成する手順と、を実行させることを特徴とする回路設計の検証プログラム。
On the computer,
A procedure for extracting a plurality of state machines that have mutual dependencies from the circuit description to be verified,
A procedure for generating a transition diagram by combining the transitions of the extracted state machines;
Generating a first verification property for verifying whether each state of the generated transition diagram can transition to an idle state;
Inserting the generated first verification property into the extracted plurality of state machines to perform formal verification;
As a result of the formal verification performed by inserting the first verification property into the extracted plurality of state machines, if a violation is found in the first verification property, a deadlock occurs in the actual circuit from the first verification property. And a procedure for generating a second verification property for verifying whether or not the error occurs.
JP2009295241A 2009-12-25 2009-12-25 Method and program for verifying circuit design Pending JP2011134242A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009295241A JP2011134242A (en) 2009-12-25 2009-12-25 Method and program for verifying circuit design

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009295241A JP2011134242A (en) 2009-12-25 2009-12-25 Method and program for verifying circuit design

Publications (1)

Publication Number Publication Date
JP2011134242A true JP2011134242A (en) 2011-07-07

Family

ID=44346873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009295241A Pending JP2011134242A (en) 2009-12-25 2009-12-25 Method and program for verifying circuit design

Country Status (1)

Country Link
JP (1) JP2011134242A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015130104A (en) * 2014-01-08 2015-07-16 日本電気株式会社 Circuit verification method and circuit verification program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015130104A (en) * 2014-01-08 2015-07-16 日本電気株式会社 Circuit verification method and circuit verification program

Similar Documents

Publication Publication Date Title
US6874135B2 (en) Method for design validation using retiming
Chang et al. Automating post-silicon debugging and repair
US8015521B2 (en) Method and system for performing sequential equivalence checking on integrated circuit (IC) designs
US8762907B2 (en) Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level
JP2006048525A (en) Simulation method
Goli et al. Scalable simulation-based verification of SystemC-based virtual prototypes
JP2004038617A (en) Logic verification system and method, logic cone extraction device and method, and logic verification and logic cone extraction program
JP4918934B2 (en) Semiconductor integrated circuit delay analysis apparatus, delay analysis method, and program thereof
JP2008210004A (en) Device, method and program for generating verification scenario, and verification device
TWI221200B (en) System verifying apparatus and method
US20180157776A1 (en) Efficient execution of alternating automaton representing a safety assertion for a circuit
JP2011134242A (en) Method and program for verifying circuit design
Zhu et al. System-on-chip validation using UML and CWL
US9489478B2 (en) Simplifying modes of an electronic circuit by reducing constraints
JP2010033493A (en) Apparatus, method, and program for predicting layout wiring congestion
Li Formal methods for reverse engineering gate-level netlists
US8516419B2 (en) Verification device of semiconductor integrated circuit, verification method of semiconductor integrated circuit, and computer readable medium storing verification program of semiconductor integrated circuit
US20050149301A1 (en) Method for design validation using retiming
JP4756002B2 (en) Semiconductor integrated circuit design support apparatus, design support method thereof, manufacturing method thereof, program, and recording medium
US8612905B1 (en) System method and apparatus for vacuity detection
JP4652317B2 (en) Logic circuit functional verification apparatus, functional coverage item verification method, and program
JP2008107872A (en) Semiconductor integrated circuit
JP2009187344A (en) Asynchronous logic circuit verification device, its method, and program
US8438518B2 (en) Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit
Plassan et al. Improving the efficiency of formal verification: the case of clock-domain crossings