JP2009069922A - Coverage measurement method, computer-readable recording medium and data processing system - Google Patents

Coverage measurement method, computer-readable recording medium and data processing system Download PDF

Info

Publication number
JP2009069922A
JP2009069922A JP2007234830A JP2007234830A JP2009069922A JP 2009069922 A JP2009069922 A JP 2009069922A JP 2007234830 A JP2007234830 A JP 2007234830A JP 2007234830 A JP2007234830 A JP 2007234830A JP 2009069922 A JP2009069922 A JP 2009069922A
Authority
JP
Japan
Prior art keywords
coverage
abstraction model
source code
high abstraction
rtl
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.)
Withdrawn
Application number
JP2007234830A
Other languages
Japanese (ja)
Inventor
Hiroshi Nishi
博史 西
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2007234830A priority Critical patent/JP2009069922A/en
Publication of JP2009069922A publication Critical patent/JP2009069922A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To contribute to reduction of a development period of a semiconductor integrated circuit by reducing a coverage measurement time. <P>SOLUTION: In this coverage measurement method, a coverage is calculated about a test pattern by use of a high level abstraction model source code 1 of a circuit module using a high-abstraction-degree model having a definition of an input signal of a logic circuit and a definition of arithmetic operation to the input signal to the logic circuit described by a hardware description language of an RTL (register transfer level), and having a description form wherein a timing definition by a clock signal is omitted (S5). The high level abstraction model source code simplified as compared to the description by the RTL can be created without waiting for completion of actual logic of the RTL, in other words, in parallel with creation of the actual logic of the RTL. By using the high level abstraction model source code early created, the coverage is measured without waiting for the completion of the actual logic of the RTL. A simulation processing time using the high level abstraction model source code is shorter than a simulation time using the actual logic of the RTL. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、論理シミュレーションで用いるテストパターンのカバレッジを測定する技術に関する。   The present invention relates to a technique for measuring the coverage of a test pattern used in logic simulation.

半導体集積回路、例えばマイコンなどの論理集積回路の設計において、機能検証用テストパターンを実行した時、検証対象論理の全機能が実行されることが望ましい。この実行される機能の網羅性を確認するために、従来から、どの機能あるいはどの記述が全体の何%実行されたかを表すカバレッジが指標として使用されてきた。例えば論理シミュレーションで用いたテストパターンが検証対象回路のRTL(register transfer level)ソースコードをどれだけ網羅したかを計測する。   In the design of a semiconductor integrated circuit, for example, a logic integrated circuit such as a microcomputer, it is desirable that all functions of the verification target logic are executed when the function verification test pattern is executed. In order to confirm the completeness of the functions to be executed, conventionally, a coverage indicating which function or which description is executed by what percentage of the whole has been used as an index. For example, it is measured how much the test pattern used in the logic simulation covers RTL (register transfer level) source code of the circuit to be verified.

特許文献1には、設計者側から把握される機能検証に必要充分なテストパターンを表現したプロパティ、および検証者作成のテストパターンの2種類をシミュレータ入力し、現在のテストパターンがどの程度プロパティを満たしているかを確認する手法が記載されている。   In Patent Document 1, two types of properties are input to the simulator: a property that expresses a test pattern necessary and sufficient for functional verification ascertained by the designer, and a test pattern created by the verifier. Describes how to check whether it meets the requirements.

しかしながら、この技術では漏れのないプロパティ入力が必須となり、プロパティの妥当性の検証も必要になる。したがって、このカバレッジ測定方法を採用しても、RTLソースコードの作成からテストパターンの作成完了に至る開発期間の短縮に寄与することはできない。   However, in this technique, it is essential to input properties without omission, and it is also necessary to verify the validity of the properties. Therefore, even if this coverage measurement method is adopted, it cannot contribute to shortening the development period from the creation of the RTL source code to the completion of the creation of the test pattern.

特開2004−70457号公報JP 2004-70457 A

本発明者の検討によれば、上記特許文献1の技術はもとより、従来のカバレッジ測定方法は、RTLによる実論理を検証対象モデルとして論理シミュレーションを行うことを前提とするから、RTLによる実論理の完成を待たなければテストパターンの作成に採りかかることができず、しかも、カバレッジ取得のための論理シミュレーションに時間がかかってしまう、ということが明らかにされた。このように、実論理を用いたシミュレーションを前提とするために、大規模開発時にカバレッジ取得に時間がかかり、以って、半導体集積回路の開発期間が長引くという問題を生ずる。   According to the study by the present inventor, since the conventional coverage measurement method as well as the technique of the above-mentioned Patent Document 1 is based on the premise that a logic simulation is performed using a real logic based on RTL as a verification target model, It was clarified that it would not be possible to start creating test patterns without waiting for completion, and that it would take time to perform logic simulation for coverage acquisition. As described above, since simulation based on real logic is assumed, it takes time to obtain coverage during large-scale development, which causes a problem that the development period of the semiconductor integrated circuit is prolonged.

本発明の目的は、カバレッジ測定時間を短縮でき、半導体集積回路の開発期間の短縮に寄与することにある。   An object of the present invention is to reduce the coverage measurement time and contribute to shortening the development period of a semiconductor integrated circuit.

本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。   The following is a brief description of an outline of typical inventions disclosed in the present application.

すなわち、カバレッジ測定方法は、RTLのハードウェア記述言語によって記述される論理回路に対してその入力信号の定義と前記入力信号に対する演算操作の定義を有すると共にクロック信号によるタイミング定義が省略された記述形態を有する高抽象度モデルを用いた回路モジュールの高抽象度モデルソースコードを用いてテストパターンについてのカバレッジを算出する。   That is, the coverage measurement method has a description form in which a logic circuit described in the RTL hardware description language has a definition of an input signal and a calculation operation for the input signal, and a timing definition by a clock signal is omitted. The coverage for the test pattern is calculated using the high abstraction model source code of the circuit module using the high abstraction model having

これによりRTLの実論理の完成を待つこと無く、換言すれば、RTLの実論理の作成に並行して、RTLによる記述よりも簡素化された高抽象度モデルソースコードを作成することができる。RTLの実論理の作成に並行してテストパターンの作成と検証を先に進めることが可能になる。早く作成できた高抽象度モデルソースコードを用いることにより、RTLの実論理の完成を待つこと無くカバレッジを計測することができる。しかも、RTLの実論理を用いたシミュレーション時間に比べて高抽象度モデルソースコードを用いたシミュレーション処理時間の方が短い。   Accordingly, without waiting for the completion of the RTL real logic, in other words, in parallel with the creation of the RTL real logic, it is possible to create a high abstraction model source code that is simpler than the description in the RTL. It becomes possible to proceed with the creation and verification of the test pattern in parallel with the creation of the RTL real logic. By using a high abstraction model source code that can be created quickly, coverage can be measured without waiting for completion of the real logic of the RTL. Moreover, the simulation processing time using the high abstraction model source code is shorter than the simulation time using the real logic of RTL.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、カバレッジ測定時間を短縮でき、半導体集積回路の開発期間の短縮に寄与することができる。   That is, the coverage measurement time can be shortened, which can contribute to shortening the development period of the semiconductor integrated circuit.

1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
1. First, an outline of a typical embodiment of the invention disclosed in the present application will be described. Reference numerals in the drawings that are referred to with parentheses in the outline description of the representative embodiment merely exemplify what is included in the concept of the component to which the reference numeral is attached.

〔1〕カバレッジ測定方法は、RTLのハードウェア記述言語(HDL : hardware description language)によって記述される論理回路に対してその入力信号の定義と前記入力信号に対する演算操作の定義を有すると共にクロック信号によるタイミング定義が省略された記述形態を有する高抽象度モデルを用いた回路モジュールの高抽象度モデルソースコードをコンパイル用コンピュータ装置に入力し、入力した高抽象度モデルソースコードにカバレッジ計測用のモニタ情報を挿入して実行ファイルを生成する。シミュレーション用コンピュータ装置にテストパターンを入力して前記実行ファイルを実行し、実行中に逐次カバレッジ情報を蓄積する。前記蓄積したカバレッジ情報に基づいてカバレッジ生成用コンピュータ装置によりテストパターンについてのカバレッジを算出する。上述と同様に、RTLの実論理の作成に並行してテストパターンの作成と検証を先に進めることが可能になり、また、カバレッジ測定時間を短縮できるから、半導体集積回路の開発期間の短縮に寄与することができる。   [1] A coverage measurement method has a definition of an input signal for a logic circuit described in an RTL hardware description language (HDL) and a definition of an arithmetic operation for the input signal, and uses a clock signal. The high abstraction model source code of the circuit module using the high abstraction model having the description form in which the timing definition is omitted is input to the compiling computer device, and the monitor information for coverage measurement is input to the input high abstraction model source code. To generate an executable file. A test pattern is input to a simulation computer device to execute the execution file, and coverage information is accumulated sequentially during execution. Based on the accumulated coverage information, the coverage for the test pattern is calculated by the coverage generation computer device. As described above, it is possible to proceed with the creation and verification of test patterns in parallel with the creation of the real logic of RTL, and the coverage measurement time can be shortened, thereby shortening the development period of the semiconductor integrated circuit. Can contribute.

〔2〕別の観点によるカバレッジ測定方法は第1処理乃至第4処理をコンピュータ装置を用いて実行する。第1処理は、RTLのハードウェア記述言語によって記述される論理回路に対してその入力信号の定義と前記入力信号に対する演算操作の定義を有すると共にクロック信号によるタイミング定義が省略された記述形態を有する高抽象度モデルを用いた回路モジュールの高抽象度モデルソースコードを生成する。第2処理は、生成された高抽象度モデルソースコードを入力し、入力した高抽象度モデルソースコードにカバレッジ計測用のモニタ情報を挿入して実行ファイルを生成する。第3処理はテストパターンを入力して前記実行ファイルを実行し、実行中に逐次カバレッジ情報を蓄積する。第4処理は前記蓄積したカバレッジ情報に基づいてテストパターンについてのカバレッジを算出する。   [2] A coverage measurement method according to another aspect executes a first process to a fourth process using a computer device. The first process has a description form in which a logic circuit described in the RTL hardware description language has a definition of an input signal and a calculation operation for the input signal, and a timing definition by a clock signal is omitted. A high abstraction model source code of a circuit module using the high abstraction model is generated. The second process inputs the generated high abstraction model source code, inserts monitor information for coverage measurement into the input high abstraction model source code, and generates an execution file. In the third process, a test pattern is input to execute the execution file, and coverage information is sequentially accumulated during the execution. The fourth process calculates the coverage for the test pattern based on the accumulated coverage information.

〔3〕項2のカバレッジ測定方法において前記高抽象度モデルソースコードはC言語で記述される。   [3] In the coverage measurement method according to item 2, the high abstraction model source code is described in C language.

〔4〕コンピュータ読み取り可能な記録媒体は、コンピュータ装置が読み取って夫々実行可能なコンパイラ、シミュレータ及びカバレッジ測定ツールを有する。前記コンパイラは、RTLのハードウェア記述言語によって記述される論理回路に対してその入力信号の定義と前記入力信号に対する演算操作の定義を有すると共にクロック信号によるタイミング定義が省略された記述形態を有する高抽象度モデルを用いた回路モジュールの高抽象度モデルソースコードを入力し、入力した高抽象度モデルソースコードにカバレッジ計測用のモニタ情報を挿入して実行ファイルを生成する制御を行う。前記シミュレータは、テストパターンを入力して前記実行ファイルを実行し、実行中に逐次カバレッジ情報を蓄積する制御を行う。前記カバレッジ測定ツールは、前記蓄積したカバレッジ情報に基づいてテストパターンについてのカバレッジを算出する制御を行う。コンピュータ装置がこの記録媒体からコンパイラ、シミュレータ及びカバレッジ測定ツールを読み取って実行することにより、容易に上記カバレッジ測定方法を行うことができる。   [4] The computer-readable recording medium includes a compiler, a simulator, and a coverage measurement tool that can be read and executed by the computer device. The compiler has a description form in which a logic circuit described in an RTL hardware description language has a definition of an input signal and a definition of an arithmetic operation for the input signal, and a timing form by which a timing definition by a clock signal is omitted. A high abstraction model source code of a circuit module using an abstraction model is input, and monitor information for coverage measurement is inserted into the input high abstraction model source code to generate an executable file. The simulator performs control to input a test pattern, execute the execution file, and sequentially accumulate coverage information during execution. The coverage measurement tool performs control to calculate coverage for a test pattern based on the accumulated coverage information. When the computer device reads and executes the compiler, simulator, and coverage measurement tool from the recording medium, the coverage measurement method can be easily performed.

〔5〕データ処理システムは、第1処理乃至第4処理を夫々実行するコンピュータ装置を有する。第1処理は、RTLのハードウェア記述言語によって記述される論理回路に対してその入力信号の定義と前記入力信号に対する演算操作の定義を有すると共にクロック信号によるタイミング定義が省略された記述形態を有する高抽象度モデルを用いた回路モジュールの高抽象度モデルソースコードを生成する。第2処理は、生成された高抽象度モデルソースコードを入力し、入力した高抽象度モデルソースコードにカバレッジ計測用のモニタ情報を挿入して実行ファイルを生成する。第3処理は、テストパターンを入力して前記実行ファイルを実行し、実行中に逐次カバレッジ情報を蓄積する。第4処理は、前記蓄積したカバレッジ情報に基づいてテストパターンについてのカバレッジを算出する。このデータ処理システムを用いることにより容易に上記カバレッジ測定方法を行うことができる。   [5] The data processing system includes computer apparatuses that execute the first to fourth processes. The first processing has a description form in which a logic circuit described in the RTL hardware description language has a definition of an input signal and a calculation operation for the input signal, and a timing definition by a clock signal is omitted. A high abstraction model source code of a circuit module using the high abstraction model is generated. The second process inputs the generated high abstraction model source code, inserts monitor information for coverage measurement into the input high abstraction model source code, and generates an execution file. In the third process, a test pattern is input to execute the execution file, and coverage information is sequentially accumulated during the execution. In the fourth process, the coverage for the test pattern is calculated based on the accumulated coverage information. By using this data processing system, the coverage measuring method can be easily performed.

2.実施の形態の詳細
実施の形態について更に詳述する。
2. Details of Embodiments Embodiments will be further described in detail.

図1にはカバレッジ測定方法の処理フローが例示される。カバレッジはテストパターンに対する信頼性評価の一つの指標である。図1に示されるカバレッジ測定方法は、RTLのハードウェア記述言語を用いて論理設計された半導体集積回路に対する機能検証のためのテストパターンにおけるカバレッジを計測する方法を提供するものである。特に、RTLのハードウェア記述言語を用いた論理設計が完了する前にカバレッジの計測を可能とするものである。以下、その方法について詳述する。   FIG. 1 illustrates a processing flow of the coverage measurement method. Coverage is an index of reliability evaluation for test patterns. The coverage measurement method shown in FIG. 1 provides a method for measuring coverage in a test pattern for functional verification of a semiconductor integrated circuit logically designed using an RTL hardware description language. In particular, coverage can be measured before the logical design using the RTL hardware description language is completed. Hereinafter, the method will be described in detail.

図1に示されるカバレッジ測定方法は、高抽象度モデルソースコードの生成処理(第1処理)S1、コンパイル処理(第2処理)S2、高抽象度シミュレーション処理(第3処理)S3、及びカバレッジ生成処理(第4処理)S4に大別される。   The coverage measurement method shown in FIG. 1 includes high abstraction model source code generation processing (first processing) S1, compilation processing (second processing) S2, high abstraction level simulation processing (third processing) S3, and coverage generation. Processing (fourth processing) is roughly divided into S4.

高抽象度モデルソースコードの生成処理S1は、RTLのハードウェア記述言語によって記述される論理回路に対してその入力信号の定義と前記入力信号に対する演算操作の定義を有すると共にクロック信号によるタイミング定義が省略された記述形態を有する高抽象度モデルを用いた回路モジュールの高抽象度モデルソースコード1を生成する。例えば図2にはRTLのハードウェア記述言語による加算回路の記述が例示される。この記述内容を論理回路で示すと図3のようになる。この記述では、クロック信号CLKのが変化するたびに入力信号A,Bを取り込み、信号A’,B’に代入する(値の伝播)。次にA’+B’を計算し、出力信号Cに代入する。このRTLの動作をシミュレーションする場合、クロック信号CLKの変化を検出する処理、クロック信号CLKの変化があったら入力信号を加算器に通知する処理、加算器の演算処理、及び加算器の出力を信号Cに代入する処理、の合計4個の処理が必要になる。また、波形表示のために途中の信号の値を保存する必要がある。クロック信号CLKを400MHzと仮定した場合、加算器の動作を1秒間シミュレーションするために、この4個の処理を4億回実行しなければならない。実製品を考えると、必ずしも加算が毎回必要でない。例えば加算以外の減算処理を行っている期間、加算器の処理は不要である。しかし、クロック信号CLKが変化するので加算器の動作が毎回シミュレーションされてしまう。また、加算器以外にも、クロック信号に同期して動作する記述が存在するので、処理量はさらに増加することになる。   The high abstraction model source code generation process S1 has a definition of an input signal and a calculation operation for the input signal for a logic circuit described in the RTL hardware description language, and a timing definition by a clock signal. A high abstraction model source code 1 of a circuit module using the high abstraction model having the omitted description form is generated. For example, FIG. 2 illustrates a description of an adder circuit in the RTL hardware description language. The contents of this description are represented by a logic circuit as shown in FIG. In this description, every time the clock signal CLK changes, the input signals A and B are taken and substituted into the signals A ′ and B ′ (value propagation). Next, A ′ + B ′ is calculated and substituted for the output signal C. When simulating the operation of the RTL, a process for detecting a change in the clock signal CLK, a process for notifying the adder of an input signal when there is a change in the clock signal CLK, an arithmetic process for the adder, and an output of the adder are signaled. A total of four processes, that is, the process of substituting for C are required. In addition, it is necessary to save the signal value in the middle for waveform display. Assuming that the clock signal CLK is 400 MHz, the four processes must be executed 400 million times in order to simulate the operation of the adder for 1 second. Considering the actual product, the addition is not always necessary. For example, during the period in which subtraction processing other than addition is performed, processing of the adder is unnecessary. However, since the clock signal CLK changes, the operation of the adder is simulated every time. In addition to the adder, since there is a description that operates in synchronization with the clock signal, the amount of processing further increases.

カバレッジの測定では前記RTLレベルによる回路記述を用いたシミュレーションを行わない。上記RTLによるモデルに代えて高抽象度モデルを用いる。図4には図2の加算回路に対応する高抽象度モデルの記述が例示される。この記述では入力A,Bを加算し、出力する、という記述である。RTLで必要であった、クロック信号CLKの検出、A,BからA’,B’への信号の伝播、波形表示のための信号の保存を行わない。さらに、加算器の動作が不要な場合にはそれをシミュレーションしないものとする。よって、A+Bの演算結果のような機能的な部分について確認可能になる。高抽象度モデルで省略される情報を確認・検証したい場合、高抽象度モデルは使用できない。   In the measurement of coverage, a simulation using a circuit description based on the RTL level is not performed. A high abstraction model is used instead of the RTL model. FIG. 4 illustrates a description of a high abstraction model corresponding to the adder circuit of FIG. In this description, inputs A and B are added and output. Detection of the clock signal CLK, propagation of signals from A and B to A 'and B', and storage of signals for waveform display, which are necessary in the RTL, are not performed. Further, when the operation of the adder is unnecessary, it is not simulated. Therefore, it is possible to confirm a functional part such as the calculation result of A + B. The high abstraction model cannot be used to confirm / verify information omitted in the high abstraction model.

コンパイル処理S2においては、生成された高抽象度モデルソースコード1を入力し、入力した高抽象度モデルソースコードにカバレッジ計測用のモニタ情報を挿入して実行ファイル(高抽象度シミュレータ)2を生成する。   In the compile process S2, the generated high abstraction model source code 1 is input, and monitor information for coverage measurement is inserted into the input high abstraction model source code to generate an execution file (high abstraction simulator) 2. To do.

高抽象度シミュレーション処理S3は、テストパターン3を入力して前記高抽象度シミュレータ2を実行し、実行中にカバレッジ情報4を逐次蓄積する。カバレッジ情報は、例えば、実行された高抽象度モデルの機能名に対応するモニタ情報であり、時系列に蓄積されていく。高抽象度シミュレーション処理においては実行結果6がシミュレーションのタイムホイールの時刻毎に蓄積され、他の評価への流用異が考慮されている。   In the high abstraction level simulation process S3, the test pattern 3 is input to execute the high abstraction level simulator 2, and coverage information 4 is sequentially accumulated during the execution. The coverage information is, for example, monitor information corresponding to the function name of the executed high abstraction model, and is accumulated in time series. In the high abstraction level simulation processing, the execution result 6 is accumulated at each time of the simulation time wheel, and the diversion to other evaluations is taken into consideration.

カバレッジ生成処理は、前記蓄積したカバレッジ情報に基づいてテストパターンについてのカバレッジ5を算出する処理である。   The coverage generation process is a process for calculating coverage 5 for the test pattern based on the accumulated coverage information.

図5にはRTLの記述を用いた論理シミュレーションと、高抽象度モデルによる記述を用いたシミュレーション処理(S3)との相違が示されている。RTLの記述を用いた論理シミュレーションでテストパターン(検証パターン)のカバレッジを確認する場合には、1回当たりの実行時間が長い。アーキテクチャレベルの事前検討やソフトウェア開発などのために開発される高抽象度なハードウェアのモデルである高抽象度モデルを用いてシミュレーションを行うことにより、高速にテストパターンのカバレッジを取得することができる。前述のように高抽象度モデルは個々の信号線や不要な論理をシミュレートしないため、高速に実行できる。要するに、実論理のカバレッジ確認に実論理と異なる高抽象度のモデルを利用するからでる。   FIG. 5 shows the difference between the logic simulation using the RTL description and the simulation process (S3) using the description based on the high abstraction model. When the coverage of a test pattern (verification pattern) is confirmed by a logic simulation using RTL description, the execution time per time is long. It is possible to acquire test pattern coverage at high speed by performing simulation using a high abstraction model, which is a high abstraction hardware model developed for pre-examination at the architecture level and software development. . As described above, since the high abstraction model does not simulate individual signal lines and unnecessary logic, it can be executed at high speed. In short, a high abstraction model different from the real logic is used to check the coverage of the real logic.

図6には半導体集積回路の設計開発の概略フローが示される。(A)はRTLによる論理設計結果である実倫理を用いて論理シミュレーションを行ってカバレジを生成する場合の処理フローである。テストパターンの開発及び検証に期間P1にいてカバレジを計測できるのは実論理であるRTL設計が完了するのを待たなければならない。図1の処理フローに従う(B)の場合には、RTLの実論理の完成を待つこと無く、換言すれば、RTLの実論理の作成に並行して、RTLによる記述よりも簡素化された高抽象度モデルソースコードを作成することができる。早く作成できた高抽象度モデルソースコードを用いることにより、RTLの実論理の完成を待つことなく、テストパターン開発及び検証の期間P2にカバレッジを計測することができる。すなわち、RTLの実論理の作成に並行してテストパターンの作成と検証を先に進めることが可能になる。さらに、RTLの実論理を用いたシミュレーション時間に比べて高抽象度モデルソースコードを用いたシミュレーション処理時間の方が短い。したがって、RTL設計完了後のテストパターン開発及び検証の期間P3はP2の期間よりも短くてすむ。既にP2においてカバレッジを取得するところまでテストパターンの開発が進んでいるからである。P1,P2,P3の何れの場合にも最終的に形成すべきテストパターンは同じである。   FIG. 6 shows a schematic flow of design and development of a semiconductor integrated circuit. (A) is a processing flow in the case of generating a coverage by performing a logic simulation using real ethics that is a logic design result by RTL. It is necessary to wait for the RTL design, which is real logic, to be able to measure the coverage in the period P1 for the development and verification of the test pattern. In the case of (B) according to the processing flow of FIG. 1, without waiting for completion of the real logic of the RTL, in other words, in parallel with the creation of the real logic of the RTL, a simplified process higher than the description by the RTL. Abstraction model source code can be created. By using the high abstraction model source code that can be created early, coverage can be measured during the test pattern development and verification period P2 without waiting for completion of the real logic of the RTL. That is, it is possible to proceed with the creation and verification of the test pattern in parallel with the creation of the RTL real logic. Furthermore, the simulation processing time using the high abstraction model source code is shorter than the simulation time using the real logic of RTL. Therefore, the test pattern development and verification period P3 after completion of the RTL design can be shorter than the period P2. This is because the development of test patterns has already progressed to the point where coverage is already acquired in P2. In any case of P1, P2 and P3, the test pattern to be finally formed is the same.

高抽象度モデルによるシミュレーションは高速に実施できるからカバレッジ取得を高速化することができる。高抽象度モデルを使用するフローでも、(B)の場合と同様にRTL記述、検証という処理は必要だが、カバレッジ取得高速化によりテストパターン開発期間を短縮でき、結果として、半導体集積回路の開発期間をT1からT2に短縮することができる。   Since the simulation using the high abstraction model can be performed at high speed, coverage acquisition can be accelerated. Even in the flow using the high abstraction model, the processing of RTL description and verification is necessary as in the case of (B), but the test pattern development period can be shortened by speeding up the coverage acquisition, resulting in the development period of the semiconductor integrated circuit. Can be shortened from T1 to T2.

図1の方法を実現するにはエンジニアリングワークステーションのようなコンピュータ装置(図示せず)を用いればよい。コンピュータ装置は高抽象度モデルソースコード生成処理プログラムを実行して前記高抽象度モデルソースコード生成処理S1のための制御を行う。また、前記コンピュータ装置はコンパイル処理プログラムを実行して前記コンパイル処理S2のための制御を行う。また、前記コンピュータ装置は高抽象度シミュレーション処理プログラムを実行して前記高抽象度シミュレーション処理S3のための制御を行う。さらに、前記コンピュータ装置はカバレッジ生成処理プログラムを実行して前記カバレッジ生成処理S4のための制御を行う。   In order to realize the method of FIG. 1, a computer apparatus (not shown) such as an engineering workstation may be used. The computer device executes a high abstraction model source code generation processing program and performs control for the high abstraction model source code generation processing S1. Further, the computer device executes a compile processing program and performs control for the compile processing S2. Further, the computer device executes a high abstraction level simulation processing program and performs control for the high abstraction level simulation processing S3. Further, the computer device executes a coverage generation processing program and performs control for the coverage generation processing S4.

前記コンピュータ装置が実行する高抽象度モデルソースコード生成処理プログラム、コンパイル処理プログラム、高抽象度シミュレーション処理プログラム、及びカバレッジ生成処理プログラムはCD−ROM、DVD−ROM又は不揮発性メモリカード等のコンピュータ読み取り可能な記録媒体に記録されて提供される。   The high abstraction model source code generation processing program, compile processing program, high abstraction simulation processing program, and coverage generation processing program executed by the computer device can be read by a computer such as a CD-ROM, a DVD-ROM, or a nonvolatile memory card. Recorded on a simple recording medium.

以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。   Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.

例えば、高抽象度モデルソースコードはC++のようなC言語を用いた記述に限定されない。ユニックス系のg++等の言語を用いることもできる。高抽象度モデルソースコード生成処理プログラム、コンパイル処理プログラム、高抽象度シミュレーション処理プログラム、及びカバレッジ生成処理プログラムを実行するコンピュータ装置は単一であっても複数であってもよい。   For example, the high abstraction model source code is not limited to a description using C language such as C ++. Languages such as Unix g ++ can also be used. The computer device that executes the high abstraction model source code generation processing program, the compilation processing program, the high abstraction simulation processing program, and the coverage generation processing program may be single or plural.

カバレッジ測定方法による処理を例示するフローチャートである。It is a flowchart which illustrates the process by a coverage measuring method. HDLによるRTLのハードウェア記述言語による加算回路の記述を例示する説明図である。It is explanatory drawing which illustrates description of the addition circuit by the hardware description language of RTL by HDL. 図2の記述内容を論理回路で示した説明図である。It is explanatory drawing which showed the description content of FIG. 2 with the logic circuit. 図2の加算回路に対応する高抽象度モデルの記述を例示する説明図である。FIG. 3 is an explanatory diagram illustrating a description of a high abstraction model corresponding to the adder circuit of FIG. 2. RTLの記述を用いた論理シミュレーションと、高抽象度モデルによる記述を用いたシミュレーション処理(S3)との相違を示す説明図である。It is explanatory drawing which shows the difference between the logic simulation using the description of RTL, and the simulation process (S3) using the description by a high abstraction model. カバレッジの取得にRTLによる論理シミュレーションを採用した場合における半導体集積回路の設計開発と高抽象度シミュレーションを採用した場合における半導体集積回路の設計開発との概略フローを示すタイムチャートである。It is a time chart which shows the general | schematic flow of the design development of a semiconductor integrated circuit when the logic simulation by RTL is employ | adopted for acquisition of a coverage, and the design development of a semiconductor integrated circuit when a high abstraction simulation is employ | adopted.

符号の説明Explanation of symbols

S1 高抽象度モデルソースコードの生成処理(第1処理)
S2 コンパイル処理(第2処理)
S3 高抽象度シミュレーション処理(第3処理)
S4 カバレッジ生成処理(第4処理)
1 高抽象度モデルソースコード
2 実行ファイル(高抽象度シミュレータ)
3 テストパターン
4 カバレッジ情報
5 カバレッジ
6 実行結果
S1 High abstraction model source code generation process (first process)
S2 Compilation process (second process)
S3 High abstraction level simulation process (third process)
S4 Coverage generation processing (fourth processing)
1 High abstraction model source code 2 Executable file (high abstraction simulator)
3 Test pattern 4 Coverage information 5 Coverage 6 Execution result

Claims (5)

RTLのハードウェア記述言語によって記述される論理回路に対してその入力信号の定義と前記入力信号に対する演算操作の定義を有すると共にクロック信号によるタイミング定義が省略された記述形態を有する高抽象度モデルを用いた回路モジュールの高抽象度モデルソースコードをコンパイル用コンピュータ装置に入力し、入力した高抽象度モデルソースコードにカバレッジ計測用のモニタ情報を挿入して実行ファイルを生成し、
シミュレーション用コンピュータ装置にテストパターンを入力して前記実行ファイルを実行し、実行中に逐次カバレッジ情報を蓄積し、
前記蓄積したカバレッジ情報に基づいてカバレッジ生成用コンピュータ装置によりテストパターンについてのカバレッジを算出する、カバレッジ測定方法。
A high abstraction model having a description form in which a definition of an input signal and a calculation operation for the input signal are defined for a logic circuit described by a hardware description language of RTL, and a timing definition by a clock signal is omitted. The high abstraction model source code of the used circuit module is input to the compiling computer device, monitor information for coverage measurement is inserted into the input high abstraction model source code, and an execution file is generated.
Execute the execution file by inputting a test pattern into the simulation computer device, and accumulate coverage information sequentially during execution,
A coverage measurement method for calculating coverage for a test pattern by a coverage generation computer device based on the accumulated coverage information.
RTLのハードウェア記述言語によって記述される論理回路に対してその入力信号の定義と前記入力信号に対する演算操作の定義を有すると共にクロック信号によるタイミング定義が省略された記述形態を有する高抽象度モデルを用いた回路モジュールの高抽象度モデルソースコードを生成する第1処理と、
生成された高抽象度モデルソースコードを入力し、入力した高抽象度モデルソースコードにカバレッジ計測用のモニタ情報を挿入して実行ファイルを生成する第2処理と、
テストパターンを入力して前記実行ファイルを実行し、実行中に逐次カバレッジ情報を蓄積する第3処理と、
前記蓄積したカバレッジ情報に基づいてテストパターンについてのカバレッジを算出する第4処理と、を夫々コンピュータ装置を用いて実行するカバレッジ測定方法。
A high abstraction model having a description form in which a definition of an input signal and a calculation operation for the input signal are defined for a logic circuit described by a hardware description language of RTL, and a timing definition by a clock signal is omitted. A first process for generating a high abstraction model source code of the used circuit module;
A second process of inputting the generated high abstraction model source code, inserting monitor information for coverage measurement into the input high abstraction model source code, and generating an execution file;
A third process for inputting a test pattern, executing the executable file, and accumulating coverage information sequentially during execution;
A coverage measurement method for executing a fourth process for calculating a coverage for a test pattern based on the accumulated coverage information using a computer device.
前記高抽象度モデルソースコードはC言語で記述される、請求項2記載のカバレッジ測定方法。   The coverage measurement method according to claim 2, wherein the high abstraction model source code is described in C language. コンピュータ装置が読み取って夫々実行可能なコンパイラ、シミュレータ及びカバレッジ測定ツールを有し、
前記コンパイラは、RTLのハードウェア記述言語によって記述される論理回路に対してその入力信号の定義と前記入力信号に対する演算操作の定義を有すると共にクロック信号によるタイミング定義が省略された記述形態を有する高抽象度モデルを用いた回路モジュールの高抽象度モデルソースコードを入力し、入力した高抽象度モデルソースコードにカバレッジ計測用のモニタ情報を挿入して実行ファイルを生成する制御を行い、
前記シミュレータは、テストパターンを入力して前記実行ファイルを実行し、実行中に逐次カバレッジ情報を蓄積する制御を行い、
前記カバレッジ測定ツールは、前記蓄積したカバレッジ情報に基づいてテストパターンについてのカバレッジを算出する制御を行う、コンピュータ読み取り可能な記録媒体。
Having a compiler, a simulator and a coverage measurement tool which can be read and executed by a computer device,
The compiler has a description form in which a logic circuit described in an RTL hardware description language has a definition of an input signal and a definition of an arithmetic operation for the input signal, and a timing form by which a timing definition by a clock signal is omitted. Input the high abstraction model source code of the circuit module using the abstraction model, insert the monitor information for coverage measurement into the input high abstraction model source code, and control to generate the executable file,
The simulator executes a test pattern input and executes the execution file, and performs control to sequentially accumulate coverage information during execution,
The said coverage measurement tool is a computer-readable recording medium which performs control which calculates the coverage about a test pattern based on the accumulated coverage information.
RTLのハードウェア記述言語によって記述される論理回路に対してその入力信号の定義と前記入力信号に対する演算操作の定義を有すると共にクロック信号によるタイミング定義が省略された記述形態を有する高抽象度モデルを用いた回路モジュールの高抽象度モデルソースコードを生成する第1処理と、
生成された高抽象度モデルソースコードを入力し、入力した高抽象度モデルソースコードにカバレッジ計測用のモニタ情報を挿入して実行ファイルを生成する第2処理と、
テストパターンを入力して前記実行ファイルを実行し、実行中に逐次カバレッジ情報を蓄積する第3処理と、
前記蓄積したカバレッジ情報に基づいてテストパターンについてのカバレッジを算出する第4処理と、を夫々実行するコンピュータ装置を有するデータ処理システム。
A high abstraction model having a description form in which a definition of an input signal and a calculation operation for the input signal are defined for a logic circuit described by a hardware description language of RTL, and a timing definition by a clock signal is omitted. A first process for generating a high abstraction model source code of the used circuit module;
A second process of inputting the generated high abstraction model source code, inserting monitor information for coverage measurement into the input high abstraction model source code, and generating an execution file;
A third process for inputting a test pattern, executing the executable file, and accumulating coverage information sequentially during execution;
A data processing system having a computer device for executing a fourth process for calculating a coverage for a test pattern based on the accumulated coverage information.
JP2007234830A 2007-09-11 2007-09-11 Coverage measurement method, computer-readable recording medium and data processing system Withdrawn JP2009069922A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007234830A JP2009069922A (en) 2007-09-11 2007-09-11 Coverage measurement method, computer-readable recording medium and data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007234830A JP2009069922A (en) 2007-09-11 2007-09-11 Coverage measurement method, computer-readable recording medium and data processing system

Publications (1)

Publication Number Publication Date
JP2009069922A true JP2009069922A (en) 2009-04-02

Family

ID=40606143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007234830A Withdrawn JP2009069922A (en) 2007-09-11 2007-09-11 Coverage measurement method, computer-readable recording medium and data processing system

Country Status (1)

Country Link
JP (1) JP2009069922A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230057711A (en) * 2021-10-22 2023-05-02 슈어소프트테크주식회사 Apparatus and method for display the test coverage

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230057711A (en) * 2021-10-22 2023-05-02 슈어소프트테크주식회사 Apparatus and method for display the test coverage
KR102603330B1 (en) 2021-10-22 2023-11-17 슈어소프트테크주식회사 Apparatus and method for display the test coverage

Similar Documents

Publication Publication Date Title
US7472361B2 (en) System and method for generating a plurality of models at different levels of abstraction from a single master model
US7561999B2 (en) Verification apparatus, verification method, and program
Drechsler et al. Completeness-driven development
JP4147842B2 (en) Logic verification system and method, logic cone extraction apparatus and method, logic verification and logic cone extraction program
Fin et al. SystemC: A homogenous environment to test embedded systems
US8504347B2 (en) Simulation apparatus, simulation method, and program to perform simulation on design data of a target circuit
US10831956B2 (en) Efficient execution of alternating automaton representing a safety assertion for a circuit
JP5034916B2 (en) Performance evaluation model generation method, system performance evaluation method, and performance evaluation model generation apparatus
US20090070619A1 (en) Multi-cycle path information verification method and multi-cycle path information verification device
Buchmann et al. A fully static scheduling approach for fast cycle accurate SystemC simulation of MPSoCs
JP2009069922A (en) Coverage measurement method, computer-readable recording medium and data processing system
JP5454349B2 (en) Performance estimation device
JP5146087B2 (en) Power consumption estimation method, circuit design support apparatus and program
JP6089627B2 (en) Power consumption estimation apparatus and power consumption estimation method
Safarpour et al. Failure triage: The neglected debugging problem
JP5831067B2 (en) Power consumption analysis method, power consumption analysis apparatus, and power consumption analysis program
JP2007241836A (en) Multi-cycle path verification method
Pierre et al. Improvement of Assertion-Based Verification through the generation of proper test sequences
JP2017146774A (en) Processing apparatus, logic simulator and design verification method
Lahbib et al. An automatic ABV methodology enabling PSL assertions across SLD flow for SOCs modeled in SystemC
JP2007241566A (en) Verification method and device
JP2013196132A (en) Design support device of semiconductor integrated circuit and false path extraction method of semiconductor integrated circuit
JP7351189B2 (en) Timing constraint extraction device, timing constraint extraction method, and timing constraint extraction program
Gharehbaghi et al. Formal verification guided automatic design error diagnosis and correction of complex processors
Große et al. Measuring the quality of a SystemC testbench by using code coverage techniques

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100527

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20101207