JP2009175930A - Assertion description language generation method and device, and assertion base simulation program using it - Google Patents

Assertion description language generation method and device, and assertion base simulation program using it Download PDF

Info

Publication number
JP2009175930A
JP2009175930A JP2008012521A JP2008012521A JP2009175930A JP 2009175930 A JP2009175930 A JP 2009175930A JP 2008012521 A JP2008012521 A JP 2008012521A JP 2008012521 A JP2008012521 A JP 2008012521A JP 2009175930 A JP2009175930 A JP 2009175930A
Authority
JP
Japan
Prior art keywords
assertion
description
line
assertion description
verification
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
JP2008012521A
Other languages
Japanese (ja)
Inventor
Sei Tomikawa
聖 冨川
Atsushi Inoue
淳 井上
Hiroshi Tanaka
宏 田中
Yasuyo Hasegawa
泰代 長谷川
Etsuko Ogushi
悦子 大串
Akio Otsuji
昭男 大辻
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008012521A priority Critical patent/JP2009175930A/en
Publication of JP2009175930A publication Critical patent/JP2009175930A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent deterioration of simulation speed by incorporating a mechanism allowing individual control of in-line added assertion description. <P>SOLUTION: This assertion description language generation method has steps: for reading an input file described by circuit description and the assertion description grouped in each verification function or the like of a target circuit, wherein an identifier is added to a head part of each line of the assertion description; for instructing a group of the function or the like to be performed with operation verification by simulation; for retrieving the assertion description of a corresponding function or the like of the input file based on the instruction; for deleting the identifier of each line of the assertion description of the function or the like made to be a verification target by the retrieval; for changing the identifier of each line of the assertion description made to be out of the verification target by the retrieval into a comment line, or deleting the whole description of each line; and for generating an output file described by the circuit description and the assertion description converted by the deletion or the change. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、FPGA(Field Programmable Gate Array)/ASIC(Application Specific Integrated Circuit)等に代表される半導体集積回路において、回路設計後のシミュレーションツールを用いた動的アサーションベース検証におけるアサーション記述を制御する技術に関するものである。   The present invention relates to a technique for controlling assertion description in dynamic assertion-based verification using a simulation tool after circuit design in a semiconductor integrated circuit represented by FPGA (Field Programmable Gate Array) / ASIC (Application Specific Integrated Circuit). It is about.

半導体集積回路設計において、設計した回路に対して、アサーション記述言語により検証したい動作(仕様)を付加し、シミュレーションを実行することで、仕様と回路の一致を検証する手法として、動的アサーションベース検証が近年注目を集めている。   In semiconductor integrated circuit design, dynamic assertion-based verification is used as a method for verifying the match between specifications and circuits by adding simulation (simulation) to the designed circuit by adding the operation (specification) to be verified in the assertion description language. Has attracted attention in recent years.

動的アサーションベース検証においては、従来の回路設計を行うためのハードウエア記述言語を用いた回路記述とは異なり、仕様記述に適したアサーション記述言語を用いたアサーションと呼ばれる仕様記述を行う。アサーションは回路設計のベースとなる仕様を、アサーション記述言語により明示的にしたものである。設計意図や設計条件を明確化し、回路記述に埋め込んでおくことができる。回路記述に埋め込むことを、インライン(in line)記述と呼ぶ。   In dynamic assertion-based verification, unlike a conventional circuit description using a hardware description language for designing a circuit, a specification description called an assertion using an assertion description language suitable for the specification description is performed. Assertion is a specification based on an assertion description language, which is a specification for circuit design. Design intent and design conditions can be clarified and embedded in the circuit description. Embedding in a circuit description is called an inline description.

動的アサーションベース検証を行うためには、従来の回路設計を行うためのハードウエア記述言語以外に、アサーション記述言語により仕様記述を行う必要がある。そのため、新たなアサーション記述言語を習得する必要があるが、検証実施者によるアサーション記述言語仕様の習得を不要にし、人為的なミスを軽減してテスト精度の向上を図る手法は色々とある。   In order to perform dynamic assertion-based verification, it is necessary to perform specification description in an assertion description language in addition to the conventional hardware description language for circuit design. Therefore, it is necessary to learn a new assertion description language, but there are various methods for improving the test accuracy by making it unnecessary to learn the assertion description language specification by the verifier and reducing human error.

例えば、特許文献1には、デザイン仕様書等の設計資料からアサーション記述ファイルが自動生成されるアサーション記述自動生成装置に係る発明が記載されている。この発明によれば、検証者がアサーション言語仕様を修得することが不要となり、アサーション記述ファイル作成工数が大幅に削減でき、また人為的な記述ミスが軽減されるため、テスト精度も向上するとともに記述ミスによる後戻り作業の撲滅を図ることができる。
特開2007−011467号公報
For example, Patent Document 1 describes an invention relating to an assertion description automatic generation apparatus in which an assertion description file is automatically generated from design materials such as design specifications. According to the present invention, it is not necessary for the verifier to acquire the assertion language specification, the man-hours for creating the assertion description file can be greatly reduced, and human description errors are reduced, so that the test accuracy is improved and the description is improved. Eliminate reversing work due to mistakes.
JP 2007-011467 A

しかしながら、シミュレーションを実行する際、回路記述に付加されたアサーション記述があると、シミュレーション速度が遅くなるという欠点がある。通常、設計した回路が正しく動作するか否かのシミュレーションを実施する際、全ての機能を一度に確認するのは非効率である。機能毎に段階を踏んでシミュレーションを行う必要がある。そのため、付加した全てのアサーション記述が、一回のシミュレーションの際に常時必要とは限らない。   However, when executing a simulation, if there is an assertion description added to the circuit description, there is a disadvantage that the simulation speed becomes slow. Normally, it is inefficient to check all functions at once when performing a simulation of whether a designed circuit operates correctly. It is necessary to perform a simulation step by step for each function. For this reason, all added assertion descriptions are not always necessary for one simulation.

本発明は、インライン(in line)付加したアサーション記述を個々に制御できる仕組みを組み込むことにより、シミュレーション速度の劣化を防ぐことを目的とするものである。   An object of the present invention is to prevent a deterioration in simulation speed by incorporating a mechanism capable of individually controlling inline added assertion descriptions.

請求項1に係るアサーション記述言語生成方法は、半導体集積回路の動作検証のためのアサーションベースシミュレーションプログラムを生成するものであって、
対象回路の検証機能または検証ブロックごとにグループ化されたアサーション記述と回路記述とで記述されアサーション記述の各行の先頭部に識別子が付加された入力ファイルを読み込む読込ステップと、シミュレーションにより動作検証する検証機能または検証ブロックのグループを指示する指示ステップと、この指示に基づき上記入力ファイルの対応する機能またはグループのアサーション記述を検索する検索ステップと、検索により検証対象とされた機能またはグループのアサーション記述の各行の識別子を削除する有効化ステップと、検索により検証対象外とされたアサーション記述の各行の識別子をコメント行に変更するまたは各行の記述全体を削除する無効化ステップと、上記削除または変更により変換されたアサーション記述と前記回路記述とで記述された出力ファイルを生成する生成ステップとを備えたものである。
An assertion description language generation method according to claim 1 is for generating an assertion-based simulation program for operation verification of a semiconductor integrated circuit,
A read step that reads an input file that is described by the assertion description and circuit description grouped for each verification function or verification block of the target circuit and has an identifier added to the beginning of each line of the assertion description, and verification that verifies the operation by simulation An instruction step for designating a group of functions or verification blocks, a search step for retrieving an assertion description of the corresponding function or group in the input file based on this instruction, and an assertion description of the function or group to be verified by the search An invalidation step for deleting the identifier of each line, an invalidation step for changing the identifier of each line of the assertion description excluded from verification by the search to a comment line, or deleting the entire description of each line, and conversion by the above deletion or change Assertion description It is obtained by a generation step of generating an output file written in with the circuit description.

また、請求項2に係るアサーション記述言語生成方法は、前記指示ステップにおいてシミュレーションにより動作検証する検証機能または検証ブロックごとのグループを全て指示する場合、前記有効化ステップと無効化ステップに代え、全てのグループのアサーション記述の各行の識別子を削除する有効化ステップを備えたものである。   In the assertion description language generation method according to claim 2, when all the verification functions or groups for each verification block to be verified by simulation in the instruction step are specified, It comprises an enabling step for deleting the identifier of each line of the group assertion description.

また、請求項3に係るアサーション記述言語生成方法は、前記指示ステップにおいてシミュレーションにより動作検証する検証機能または検証ブロックごとのグループを全て指示しない場合、前記有効化ステップと無効化ステップに代え、全てのグループのアサーション記述の各行の識別子をコメント行に変更するまたは各行の記述全体を削除する無効化ステップを備えたものである。   Further, the assertion description language generation method according to claim 3 replaces the validation step and the invalidation step with all validation functions or groups for each validation block when the validation step or the group for each validation block is not designated in the designation step. It includes an invalidation step for changing the identifier of each line of the assertion description of the group to a comment line or deleting the entire description of each line.

また、請求項4に係るアサーション記述言語生成方法は、アサーション記述中にアサーション制御文が存在する場合、前記指示ステップにおいてシミュレーションにより動作検証する検証機能または検証ブロックのグループ内のアサーション記述中のアサーション制御文の有効/無効を個別に指示することにより、前記有効化ステップでは前記指示ステップにおいて無効とされたアサーション制御文の識別子をコメント行に変更または制御文自体の記述を削除するようにしたものである。   The assertion description language generation method according to claim 4 is the assertion control in the assertion description in the verification function or the verification block group for verifying the operation by simulation in the instruction step when an assertion control statement exists in the assertion description. By individually instructing the validity / invalidity of a sentence, in the validation step, the identifier of the assertion control sentence invalidated in the designation step is changed to a comment line or the description of the control sentence itself is deleted. is there.

また、請求項5に係るアサーション記述言語生成方法は、前記無効化ステップにおいて、無効とされた識別子のアサーション記述のリストを出力する出力ステップを備えたものである。   The assertion description language generation method according to claim 5 further includes an output step of outputting a list of assertion descriptions of identifiers invalidated in the invalidation step.

また、請求項6に係るアサーション記述言語生成装置は、前記のいずれかに記載のアサーション記述言語生成方法によりアサーションベースシミュレーションプログラムを生成するものである。   An assertion description language generation apparatus according to claim 6 generates an assertion-based simulation program by any one of the assertion description language generation methods described above.

また、請求項7に係るアサーションベースシミュレーションプログラムは、前記のいずれかに記載のアサーション記述言語生成方法またはアサーション記述言語生成装置により生成されるものである。   An assertion-based simulation program according to claim 7 is generated by the assertion description language generation method or the assertion description language generation device according to any one of the above.

本発明によれば、外部よりアサーション記述を制御する指示を行い、この指示に基づきアサーション実行可否の選択を自動化することにより、シミュレーション実行までの準備時間を短縮できる。   According to the present invention, an instruction to control the assertion description is given from the outside, and the selection of whether or not to execute the assertion is automated based on the instruction, thereby shortening the preparation time until the simulation is executed.

また、本発明によれば、シミュレーションを実行する機能単位でアサーションを選択することで、全てのアサーションを実行することによるシミュレーション速度の劣化を防ぐことができる。   Further, according to the present invention, by selecting an assertion for each functional unit that executes a simulation, it is possible to prevent a deterioration in simulation speed caused by executing all the assertions.

実施の形態1.
具体的な発明の実施例について説明に入る前に、本明細書中で使用する基本的な技術用語の意味を以下に説明する。
「アサーション」:回路の動作仕様を専用のアサーション記述言語で定義して検証することの総称。
「アサーション記述」:回路の動作仕様をコンピュータが理解可能なアサーション記述言語仕様に基づいて定義した記述。
「回路記述」:半導体集積回路設計専用の記述言語により回路設計した記述。
「外部入力/アサーション制御入力」:装置への入力として、アサーション記述の有効/無効情報をファイル形式、コマンド形式等にて与える行為。
「アサーション制御文」:アサーション記述仕様として定義されているアサーションの実行レベルを制御する実行命令。
以下に本発明の実施の形態1について、実施例1〜3を用いて説明する。
Embodiment 1 FIG.
Before describing specific embodiments of the invention, the meanings of basic technical terms used in this specification will be described below.
“Assertion”: A general term for defining and verifying circuit operation specifications in a dedicated assertion description language.
“Assertion description”: A description that defines the operation specifications of a circuit based on the assertion description language specifications that can be understood by a computer.
“Circuit description”: A description of circuit design using a description language dedicated to semiconductor integrated circuit design.
“External input / assertion control input”: An act of giving valid / invalid information of an assertion description in a file format, a command format, etc. as an input to a device.
“Assertion Control Statement”: An execution instruction that controls the execution level of an assertion defined as an assertion description specification.
Embodiment 1 of the present invention will be described below using Examples 1 to 3.

実施例1.
本システムは、インライン(in line)で記述されたアサーション記述の実行可否を、コマンドラインまたはGUI(Graphical User Interface)を用いることで容易に制御することのできるシステムである。図1は本発明の実施例1〜3で説明する発明を実現するためのアサーション記述言語生成装置の全体構成を示す図である。100はアサーション記述言語生成装置、101は回路記述にアサーション記述が組み込まれた入力ファイルであり、アサーション記述の各記述行の先頭には後述するように識別子が付加されている。102はコマンドラインまたはGUIによる外部入力であり、機能単位で記述されたアサーション記述を外部から制御する指示内容である。103は入力制御部、104はアサーション検索部、105は変換部、106は出力制御部である。107はアサーション記述を有効化あるいは無効化した出力ファイルであり、外部入力102の指示内容に基づき、入力ファイル101の記述を変換(有効化または無効化)したものとなっている。
Example 1.
This system is a system that can easily control whether or not an assertion description written inline can be executed by using a command line or a GUI (Graphical User Interface). FIG. 1 is a diagram showing an overall configuration of an assertion description language generation apparatus for realizing the invention described in the first to third embodiments of the present invention. Reference numeral 100 denotes an assertion description language generator, and 101 denotes an input file in which the assertion description is incorporated in the circuit description. An identifier is added to the head of each description line of the assertion description as described later. Reference numeral 102 denotes an external input through a command line or GUI, which is an instruction content for externally controlling the assertion description described in units of functions. Reference numeral 103 denotes an input control unit, 104 denotes an assertion search unit, 105 denotes a conversion unit, and 106 denotes an output control unit. Reference numeral 107 denotes an output file in which the assertion description is validated or invalidated, and the description of the input file 101 is converted (validated or invalidated) based on the instruction content of the external input 102.

以上のように構成されたアサーション言語生成装置の動作フローチャートを図2に示す。本フローチャートでは、図1の各構成要素で実行される動作と対応付けて処理ステップを示している(対応関係にある構成要素と処理ステップ(または処理ステップのグループ)は同一番号を付している)。ステップ102でコマンドラインまたはGUIによりアサーション制御指示の外部入力が行われる。このアサーション制御入力はインラインで記述されたアサーション記述に対する制御内容(機能単位に記述されたアサーション記述を有効とするか無効とするかの指示)を示すものである。ステップ201で制御対象となる「回路記述+アサーション記述ファイル」の読込を行う。ステップ202で実際に有効/無効の制御処理が行われるアサーション記述制御プログラムが生成され、このプログラムの実行に移る。以降、処理内容に応じて、ステップ203で実施例1あるいは実施例2で説明する処理内容に分岐する。   An operation flowchart of the assertion language generation apparatus configured as described above is shown in FIG. In this flowchart, processing steps are shown in association with the operations executed by the respective components shown in FIG. 1 (components and processing steps (or groups of processing steps) having a correspondence relationship are given the same numbers. ). In step 102, an external input of an assertion control instruction is performed by a command line or a GUI. This assertion control input indicates the control content for the assertion description described inline (instruction to validate or invalidate the assertion description described in the function unit). In step 201, the “circuit description + assertion description file” to be controlled is read. In step 202, an assertion description control program for actually performing valid / invalid control processing is generated, and the program is executed. Thereafter, the processing branches to the processing content described in the first embodiment or the second embodiment in step 203 according to the processing content.

実施例1は、図2のステップ203で全アサーション記述に対する操作か否かの判断で、「NO」が選択された場合を説明する実施例である。この場合、ステップ201で読み込まれた読込ファイル中の個々のアサーション記述に対しての操作が行われる。ステップ208で順番にアサーション識別子(後述)の検索を行う。ステップ209で外部入力のアサーション制御指示がされたアサーション検証対象か否かが判断される。「YES」が選択された場合、ステップ210でそのアサーション記述に対して有効処理、すなわち、該当アサーション記述行の識別子を削除する処理が行われる。逆に、ステップ209にて「NO」が選択された場合、ステップ211でそのアサーション記述に対して無効処理、すなわち、該当アサーション記述行の識別子をコメント行化する処理が行われる。   Example 1 is an example for explaining a case where “NO” is selected in step 203 in FIG. 2 in determining whether the operation is for all assertion descriptions. In this case, an operation is performed on each assertion description in the read file read in step 201. In step 208, an assertion identifier (described later) is searched in order. In step 209, it is determined whether or not an assertion verification target for which an external input assertion control instruction has been issued. If “YES” is selected, in step 210, a valid process is performed on the assertion description, that is, a process of deleting the identifier of the relevant assertion description line. On the other hand, if “NO” is selected in step 209, invalid processing is performed on the assertion description in step 211, that is, processing for converting the identifier of the relevant assertion description line into a comment line is performed.

その後、ステップ212で次の識別子が有るか否かを判断し、「YES」が選択された場合はステップ208に戻る。「NO」が選択された場合はステップ213で最後に無効アサーションリストの作成が行われる。その後ステップ214で処理後の「回路記述+アサーション記述ファイル」の生成が行われる。ステップ213での無効アサーションリスト作成については、ステップ209で「NO」が選択され、ステップ211で識別子がコメント行化されたアサーション記述が無効アサーションとして出力されることとなる。   Thereafter, in step 212, it is determined whether or not the next identifier exists. If “YES” is selected, the process returns to step 208. If “NO” is selected, an invalid assertion list is finally created in step 213. Thereafter, in step 214, the processed “circuit description + assertion description file” is generated. For the invalid assertion list creation in step 213, “NO” is selected in step 209, and the assertion description in which the identifier is commented out in step 211 is output as an invalid assertion.

次に、「回路記述+アサーション記述ファイル」に対して実際に行われる操作について、図3の事例を用いて説明する。図3の101が「回路記述+アサーション記述ファイル」の一例である。101中の回路記述Aに対するアサーション記述の識別子が「CHECK_A」301、回路記述Zに対するアサーション記述の識別子が「CHECK_Z」302となっている。なお、このままの識別子が付加された記述では、シミュレーションを実行すると記述文法上エラーとなる。図3の107が図2の動作フロー処理後の出力ファイルを示す。303において回路記述Aに対するアサーション記述を有効化(識別子「CHECK_A」301を削除)、回路記述Zに対するアサーション記述を無効化(識別子「CHECK_Z」302を削除した上でコメント行化)している。ここで、//(スラッシュを2個並べる)が、この行をコメント行化することを意味している。一方、304は回路記述Aに対するアサーション記述を無効化、回路記述Zに対するアサーション記述を有効化している場合を示す。   Next, an operation actually performed on “circuit description + assertion description file” will be described using the example of FIG. 101 in FIG. 3 is an example of “circuit description + assertion description file”. The identifier of the assertion description for the circuit description A in 101 is “CHECK_A” 301 and the identifier of the assertion description for the circuit description Z is “CHECK_Z” 302. In the description with the identifier added as it is, an error occurs in the description grammar when the simulation is executed. 3 indicates an output file after the operation flow processing of FIG. In 303, the assertion description for the circuit description A is validated (identifier “CHECK_A” 301 is deleted), and the assertion description for the circuit description Z is invalidated (identifier “CHECK_Z” 302 is deleted and commented out). Here, // (two slashes are arranged) means that this line is made a comment line. On the other hand, 304 shows the case where the assertion description for the circuit description A is invalidated and the assertion description for the circuit description Z is validated.

このように、本実施例1のアサーション記述言語生成装置(方法)によれば、外部よりアサーション記述を制御する指示を行い、この指示に基づきアサーション実行可否の選択を自動化することにより、実行までの準備時間を短縮できる。また、シミュレーションを実行する機能単位でアサーションを選択することで、全てのアサーションを実行することによるシミュレーション速度の劣化を防ぐことができる。   Thus, according to the assertion description language generation apparatus (method) of the first embodiment, an instruction to control the assertion description is given from the outside, and the selection of whether or not to execute the assertion is automated based on this instruction. Preparation time can be shortened. In addition, by selecting an assertion for each functional unit that executes simulation, it is possible to prevent deterioration in simulation speed due to execution of all assertions.

実施例2.
実施例2は、図2のステップ203で全アサーション記述に対する操作か否かの判断で、「YES」が選択された場合を説明する実施例である。この場合、ステップ201で読み込まれた読込ファイル中の全てのアサーション記述に対しての操作が行われる。ステップ204でアサーション検証対象にするか否かの判断で、「YES」が選択された場合、ステップ205でアサーション識別子が検索される。ステップ206で全てのアサーション記述に対して有効処理、すなわち、アサーション記述行の識別子を一括削除する処理が行われる。逆に、ステップ204で「NO」が選択された場合、ステップ205で同じくアサーション識別子が検索される。ステップ207で全てのアサーション記述に対して無効処理、すなわち、アサーション記述行の識別子を一括コメント行化する処理が行われる。ステップ204で「YES」「NO」のどちらの場合でも、ステップ213で最後に無効アサーションリストの作成が行われる。その後ステップ214で処理後の「回路記述+アサーション記述ファイル」の生成が行われる。ステップ213での無効アサーションリスト作成については、ステップ204で「YES」の場合は「該当無し」、ステップ204で「NO」の場合は全てのアサーションが無効アサーションとして出力されることとなる。
Example 2
The second embodiment is an embodiment for explaining the case where “YES” is selected in step 203 in FIG. 2 in determining whether the operation is for all assertion descriptions. In this case, an operation is performed on all assertion descriptions in the read file read in step 201. If “YES” is selected in step 204 as to whether or not to make an assertion verification target, an assertion identifier is searched in step 205. In step 206, all the assertion descriptions are validated, that is, a process for deleting the identifiers of the assertion description lines at once. Conversely, if “NO” is selected in step 204, the assertion identifier is similarly searched in step 205. In step 207, invalidation processing is performed on all the assertion descriptions, that is, processing for converting the identifiers of the assertion description lines into batch comment lines. In both cases of “YES” and “NO” in step 204, an invalid assertion list is finally created in step 213. Thereafter, in step 214, the processed “circuit description + assertion description file” is generated. Regarding the creation of the invalid assertion list in step 213, if “YES” in step 204, “not applicable”, and if “NO” in step 204, all assertions are output as invalid assertions.

次に、「回路記述+アサーション記述ファイル」に対して実際に行われる操作について、図4の事例により説明する。図4の101が「回路記述+アサーション記述ファイル」の一例である。101中の回路記述Aに対するアサーション記述の識別子が「CHECK_A」401、回路記述Zに対するアサーション記述の識別子が「CHECK_Z」402となっている。なお、このままの識別子が付加された記述では、シミュレーションを実行すると記述文法上エラーとなる。図4の107が図2の動作フロー処理後の出力ファイルを示す。403では回路記述Aに対するアサーション記述と回路記述Zに対するアサーション記述ともに有効化している。404は回路記述Aに対するアサーション記述、回路記述Zに対するアサーション記述とも無効化(識別子「CHECK_Z」402を削除した上でコメント行化)している。ここで、//(スラッシュを2個並べる)が、この行をコメント行化することを意味している。   Next, an operation actually performed on “circuit description + assertion description file” will be described with reference to an example of FIG. FIG. 4 shows an example of “circuit description + assertion description file”. The identifier of the assertion description for the circuit description A in 101 is “CHECK_A” 401, and the identifier of the assertion description for the circuit description Z is “CHECK_Z” 402. In the description with the identifier added as it is, an error occurs in the description grammar when the simulation is executed. 4 indicates an output file after the operation flow processing of FIG. In 403, both the assertion description for the circuit description A and the assertion description for the circuit description Z are validated. In 404, the assertion description for the circuit description A and the assertion description for the circuit description Z are invalidated (the identifier “CHECK_Z” 402 is deleted and a comment line is made). Here, // (two slashes are arranged) means that this line is made a comment line.

このように、本実施例2のアサーション記述言語生成装置(方法)によれば、外部よりアサーション記述を制御する指示を行い、この指示に基づきアサーション実行可否の選択を自動化することにより、実行までの準備時間を短縮できる。また、全てのアサーションを実行することによるシミュレーション速度の劣化を防ぐことができる。   As described above, according to the assertion description language generation apparatus (method) of the second embodiment, an instruction to control the assertion description is given from the outside, and the selection of whether or not to execute the assertion is automated based on this instruction. Preparation time can be shortened. Further, it is possible to prevent the simulation speed from being deteriorated by executing all the assertions.

実施例3.
実施例3では、実施例1、2それぞれに対して、有効化する各アサーション記述中に、アサーション制御文であるassume文(不正入力情報チェック)、cover文(シミュレーションツールによって該当アサーションがカバーされたかチェック)等が存在する場合、そのアサーション制御文を、個別に有効化あるいは無効化できるようにし、各アサーション記述の実行レベルを制御するものである。これにより、有効化された各アサーションは実施されるが、assume文による不正入力情報のチェックや、cover文によるカバーされたかのチェックは実施されない等、チェックレベルが抑制される。
Example 3 FIG.
In the third embodiment, for each of the first and second embodiments, the assertion control statement assert statement (invalid input information check) and the cover statement (whether the corresponding assertion is covered by the simulation tool) are included in each assertion description to be activated. If there is a check), the assertion control statement can be individually enabled or disabled, and the execution level of each assertion description is controlled. As a result, each validated assertion is executed, but the check level is suppressed, for example, the check of illegal input information by the assert statement or the check of whether it is covered by the cover statement is not executed.

このように、本実施例3のアサーション記述言語生成装置(方法)によれば、アサーション実行レベルの選択を自動化することにより、実行までの準備時間を短縮できる。また、全てのアサーション制御文を実行することによるシミュレーション速度の劣化を防ぐことができる。   Thus, according to the assertion description language generation apparatus (method) of the third embodiment, the preparation time until the execution can be shortened by automating the selection of the assertion execution level. Further, it is possible to prevent the deterioration of the simulation speed due to the execution of all the assertion control statements.

本発明の実施例1、2、3におけるアサーション言語生成装置(方法)の全体構成図である。It is a whole block diagram of the assertion language generation device (method) in Example 1, 2, 3 of this invention. 本発明の実施例1、2におけるアサーション言語生成装置の動作フローチャートである。It is an operation | movement flowchart of the assertion language production | generation apparatus in Example 1, 2 of this invention. 本発明の実施例1における具体的な記述例を示す説明図である。It is explanatory drawing which shows the specific description example in Example 1 of this invention. 本発明の実施例2における具体的な記述例を示す説明図である。It is explanatory drawing which shows the specific description example in Example 2 of this invention.

符号の説明Explanation of symbols

100 アサーション記述言語生成装置(方法)、
101 「回路記述+アサーション記述」の入力ファイル(マスタ)、
102 外部入力、
103 入力制御部、
104 アサーション検索部、
105 変換部、
106 出力制御部、
107 「回路記述+アサーション記述」の出力ファイル、
201 処理ステップ「回路記述+アサーション記述ファイルの読込」、
202 処理ステップ「アサーション記述制御プログラム生成」、
203 処理ステップ「条件分岐(全アサーション記述に対する操作か?)」、
204 処理ステップ「条件分岐(アサーション検証対象にするか否か?)」、
205 処理ステップ「アサーション識別子検索」、
206 処理ステップ「全アサーションの有効処理(アサーション記述行の識別子を一括削除)」、
207 処理ステップ「全アサーションの無効処理(アサーション記述行の識別子を一括コメント行化)」、
208 処理ステップ「アサーション識別子検索」、
209 処理ステップ「条件分岐(アサーション検証対象か?)」、
210 処理ステップ「アサーションの有効処理(識別子を削除)」、
211 処理ステップ「アサーションの無効処理(識別子をコメント行化)」、
212 処理ステップ「条件分岐(次の識別子有り?)」、
213 処理ステップ「無効アサーションリスト作成」、
214 処理ステップ「回路記述+アサーション記述ファイル生成」、
301 CHECK_A(回路記述Aに対するアサーション記述の識別子)、
302 CHECK_Z(回路記述Zに対するアサーション記述の識別子)、
303 回路記述Aの検証時の出力ファイル、
304 回路記述Zの検証時の出力ファイル、
401 CHECK_A(回路記述Aに対するアサーション記述の識別子)、
402 CHECK_Z(回路記述Zに対するアサーション記述の識別子)、
403 全てアサーション検証対象とする場合の出力ファイル、
404 全てアサーション検証非対象とする場合の出力ファイル。
100 Assertion description language generation device (method),
101 Input file (master) of “circuit description + assertion description”,
102 External input,
103 input control unit,
104 Assertion Search Department,
105 conversion unit,
106 output control unit,
107 Output file of “circuit description + assertion description”,
201 processing step “read circuit description + assertion description file”,
202 processing step "generate assertion description control program",
203 processing step “conditional branch (operation for all assertion descriptions?)”,
204 processing step “conditional branch (whether or not to be an assertion verification target)”,
205 process step “assertion identifier search”,
206 processing step "validation process of all assertions (deletion of assertion description line identifiers)",
207 processing step “invalidation of all assertions (identifier of assertion description line is changed to batch comment line)”,
208 processing step "assertion identifier search",
209 Processing step “Conditional branch (is it subject to assertion verification?)”,
210 Processing step “validation of assertion (deletion of identifier)”,
211 processing step “invalidation of assertion (identifier is changed to comment line)”,
212 Process step “Conditional branch (Is next identifier present?)”,
213 processing step “invalidation assertion list creation”,
214 processing step “Generate circuit description + assertion description file”,
301 CHECK_A (identifier of assertion description for circuit description A),
302 CHECK_Z (identifier of assertion description for circuit description Z),
303 Output file when verifying circuit description A,
304 Output file when verifying circuit description Z,
401 CHECK_A (identifier of assertion description for circuit description A),
402 CHECK_Z (identifier of assertion description for circuit description Z),
403 Output file when all are subject to assertion verification,
404 Output file when all assertions are not verified.

Claims (7)

半導体集積回路の動作検証のためのアサーションベースシミュレーションプログラムを生成するアサーション記述言語生成方法において、
対象回路の検証機能または検証ブロックごとにグループ化されたアサーション記述と回路記述とで記述されアサーション記述の各行の先頭部に識別子が付加された入力ファイルを読み込む読込ステップと、
シミュレーションにより動作検証する検証機能または検証ブロックのグループを指示する指示ステップと、
この指示に基づき上記入力ファイルの対応する機能またはグループのアサーション記述を検索する検索ステップと、
検索により検証対象とされた機能またはグループのアサーション記述の各行の識別子を削除する有効化ステップと、
検索により検証対象外とされたアサーション記述の各行の識別子をコメント行に変更するまたは各行の記述全体を削除する無効化ステップと、
上記削除または変更により変換されたアサーション記述と前記回路記述とで記述された出力ファイルを生成する生成ステップと
を備えたことを特徴とするアサーション記述言語生成方法。
In an assertion description language generation method for generating an assertion-based simulation program for operation verification of a semiconductor integrated circuit,
A reading step of reading an input file described by the assertion description and the circuit description grouped for each verification function or verification block of the target circuit and having an identifier added to the head of each line of the assertion description;
An instruction step for indicating a verification function or a group of verification blocks to be verified by simulation;
A search step for searching the assertion description of the corresponding function or group of the input file based on this instruction;
An enabling step to delete the identifier of each line of the assertion description of the function or group that is verified by the search;
An invalidation step of changing the identifier of each line of the assertion description excluded from verification by the search to a comment line or deleting the entire description of each line;
An assertion description language generation method comprising: a generation step of generating an output file described by the assertion description converted by the deletion or change and the circuit description.
前記指示ステップにおいてシミュレーションにより動作検証する検証機能または検証ブロックごとのグループを全て指示する場合、前記有効化ステップと無効化ステップに代え、全てのグループのアサーション記述の各行の識別子を削除する有効化ステップを備えたことを特徴とする請求項1に記載のアサーション記述言語生成方法。 When instructing all groups for each verification function or verification block for verifying the operation by simulation in the instruction step, an enabling step for deleting the identifier of each line of the assertion description of all groups instead of the enabling step and the invalidating step. The assertion description language generation method according to claim 1, further comprising: 前記指示ステップにおいてシミュレーションにより動作検証する検証機能または検証ブロックごとのグループを全て指示しない場合、前記有効化ステップと無効化ステップに代え、全てのグループのアサーション記述の各行の識別子をコメント行に変更するまたは各行の記述全体を削除する無効化ステップを備えたことを特徴とする請求項1に記載のアサーション記述言語生成方法。 If not all the verification function or group for each verification block to be verified by simulation in the instruction step, the identifier of each line of the assertion description of all groups is changed to a comment line instead of the validation step and invalidation step. The assertion description language generation method according to claim 1, further comprising an invalidation step of deleting the entire description of each line. アサーション記述中にアサーション制御文が存在する場合、前記指示ステップにおいてシミュレーションにより動作検証する検証機能または検証ブロックのグループ内のアサーション記述中のアサーション制御文の有効/無効を個別に指示することにより、前記有効化ステップでは前記指示ステップにおいて無効とされたアサーション制御文の識別子をコメント行に変更または制御文自体の記述を削除するようにしたことを特徴とする請求項1または2に記載のアサーション記述言語生成方法。 When there is an assertion control statement in the assertion description, the verification function for verifying the operation by simulation in the instruction step or the validity / invalidity of the assertion control statement in the assertion description in the verification block group are individually indicated, 3. The assertion description language according to claim 1 or 2, wherein, in the validation step, the identifier of the assertion control statement invalidated in the instruction step is changed to a comment line or the description of the control statement itself is deleted. Generation method. 前記無効化ステップにおいて、無効とされた識別子のアサーション記述のリストを出力する出力ステップを備えたことを特徴とする請求項1〜4のいずれか一項に記載のアサーション記述言語生成方法。 5. The assertion description language generation method according to claim 1, further comprising an output step of outputting a list of assertion descriptions of identifiers invalidated in the invalidation step. 前記請求項1〜4のいずれかに記載のアサーション記述言語生成方法によりアサーションベースシミュレーションプログラムを生成するアサーション記述言語生成装置。 An assertion description language generation device that generates an assertion-based simulation program by the assertion description language generation method according to claim 1. 前記請求項1〜5のいずれかに記載のアサーション記述言語生成方法または前記請求項6に記載のアサーション記述言語生成装置により生成されるアサーションベースシミュレーションプログラム。 7. An assertion-based simulation program generated by the assertion description language generation method according to claim 1 or the assertion description language generation device according to claim 6.
JP2008012521A 2008-01-23 2008-01-23 Assertion description language generation method and device, and assertion base simulation program using it Pending JP2009175930A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008012521A JP2009175930A (en) 2008-01-23 2008-01-23 Assertion description language generation method and device, and assertion base simulation program using it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008012521A JP2009175930A (en) 2008-01-23 2008-01-23 Assertion description language generation method and device, and assertion base simulation program using it

Publications (1)

Publication Number Publication Date
JP2009175930A true JP2009175930A (en) 2009-08-06

Family

ID=41030967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008012521A Pending JP2009175930A (en) 2008-01-23 2008-01-23 Assertion description language generation method and device, and assertion base simulation program using it

Country Status (1)

Country Link
JP (1) JP2009175930A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105589993A (en) * 2015-12-18 2016-05-18 中国科学院微电子研究所 Microprocessor function verification apparatus and microprocessor function verification method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105589993A (en) * 2015-12-18 2016-05-18 中国科学院微电子研究所 Microprocessor function verification apparatus and microprocessor function verification method
CN105589993B (en) * 2015-12-18 2019-01-15 中国科学院微电子研究所 Microprocessor function verification apparatus and microprocessor function verification method

Similar Documents

Publication Publication Date Title
US9092586B1 (en) Version management mechanism for fluid guard ring PCells
CN103744684B (en) Heterogeneous hardware and software collaborative developing method and system
JP2007034584A (en) High order composition device, automatic high order composition method, high order composition program, and gate net list automatic verifying method
JP2009169828A (en) Test case creation device and creation program
JP2020057385A (en) Method of changing model for source code creation
JP6925433B2 (en) Data validation device, data validation method and data validation program
US8438000B2 (en) Dynamic generation of tests
JP5040758B2 (en) Simulation apparatus, simulation method, and program
JP6567212B2 (en) Equivalence verification device and equivalence verification program
JP2009175930A (en) Assertion description language generation method and device, and assertion base simulation program using it
US9417871B2 (en) Automatic generation of certificate of origin (COO) for software systems
US20150082278A1 (en) Clone detection method and clone function commonalizing method
US10223077B2 (en) Determination of signals for readback from FPGA
JP5811859B2 (en) Source code static analysis device, system, method, and program therefor
JP2015146178A (en) Creation of test context
JP2006309666A (en) Program development support device, program operation comparison method and semiconductor integrated circuit production method
JPWO2006025412A1 (en) Logic verification method, logic module data, device data, and logic verification apparatus
JP5578625B2 (en) Program analysis apparatus, program analysis method, and program
JP2016181228A (en) Source code operation apparatus and source code operation method
JP2010020680A (en) Information processing apparatus and program
JP2011034517A (en) Equivalence verification device, data processing method thereof, and program
JP2007047971A (en) Individual program generation device and method
US9678776B2 (en) Suppress newer facilities when simulating an older machine
US10002213B2 (en) System and method for verifying the deterministic starting state of a digital device
JP2016018253A (en) Software change program, software change device, and software change method