JPH0954709A - Method and structure for debug information display - Google Patents

Method and structure for debug information display

Info

Publication number
JPH0954709A
JPH0954709A JP7229680A JP22968095A JPH0954709A JP H0954709 A JPH0954709 A JP H0954709A JP 7229680 A JP7229680 A JP 7229680A JP 22968095 A JP22968095 A JP 22968095A JP H0954709 A JPH0954709 A JP H0954709A
Authority
JP
Japan
Prior art keywords
test
information
time
display
subroutine
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
JP7229680A
Other languages
Japanese (ja)
Inventor
Masaharu Goto
正治 後藤
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.)
Hewlett Packard Japan Inc
Original Assignee
Hewlett Packard Japan Inc
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 Hewlett Packard Japan Inc filed Critical Hewlett Packard Japan Inc
Priority to JP7229680A priority Critical patent/JPH0954709A/en
Publication of JPH0954709A publication Critical patent/JPH0954709A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a method and structure for debug information display capable of heightening the efficiency of debugging of a test vector. SOLUTION: Arranging structure for debug information display on a display for debug by the test vector described in high-level language is the one for debug information display provided with a history information display part which displays the generating time of an error, that of a specific operation stored in a memory device at every specific operation such as a sub routine call, etc., and the attribute information of the specific operation including a source file name by making relate to test time in addition to at least one of a time display part 11, a waveform(14-16) display part and a fail map display part.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、LSIの設計、開
発及び製造の分野に関し、より詳細にはテストベクタ
(テストパターンとも言う)のデバッグの効率を高める
ことができる、デバッグ情報表示方法及びデバッグ情報
表示構造に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the fields of LSI design, development, and manufacturing, and more specifically, a debug information display method and debug method capable of improving the efficiency of debugging a test vector (also called a test pattern). Information display structure.

【0002】[0002]

【技術背景】CAE等によるLSIの設計・開発におい
ては、LSIの試作前に、対象とするLSIの全ての機
能を網羅した大量のテストベクタをシミュレーションの
ために作成し、これらテストベクタを用いて、LSIの
機能テスト等を行っている。図5にLSIの試作前及び
試作後のテストの流れを系統的に示す。なお、LSI試
作後の機能テストについては後述する。
[Technical background] In designing and developing an LSI by CAE or the like, a large number of test vectors that cover all the functions of the target LSI are created for simulation before the prototype of the LSI and these test vectors are used. , LSI functional tests, etc. FIG. 5 systematically shows the test flow before and after the trial manufacture of the LSI. The functional test after the LSI is prototyped will be described later.

【0003】通常は、先ず、図5に示すように、設計仕
様103に基づきビヘービアモデル101を用いて論理
レベルシミュレーションと機能のデバッグを行い、回路
モデル104を作成する。この後、シミュレータ108
によりタイミングを含んだシミュレーションを行い、タ
イミングと機能のデバッグを行う。このシミュレーショ
ンを行うために、大量のシミュレーション用テストベク
タ107が用いられる。このテストベクタ107の作成
は、テストベクタ作成言語105やグラフィカルテスト
ベクタ作成ツール106が用いられる。
Usually, as shown in FIG. 5, first, a logic model simulation and function debugging are performed using a behavioral model 101 based on a design specification 103 to create a circuit model 104. After this, the simulator 108
Will perform simulation including timing and debug timing and function. In order to perform this simulation, a large number of simulation test vectors 107 are used. The test vector 107 is created by using the test vector creation language 105 or the graphical test vector creation tool 106.

【0004】ところが、これらのテストベクタは、近
年、LSIの大規模化に伴い、確認すべきタイミングや
機能の増大によって、100,000〜10,000,
000個にも達している。これらのテストベクタの作成
は、ATPG(Automatic Test Pat
tern Generator)により自動化されつつ
ある。しかし、LSIの機能試験のためのテストベクタ
は、多くの場合ATPGで作成することができず、人手
により作成せざるを得ないのが実情である。
However, in recent years, these test vectors have been subject to 100,000 to 10,000, due to the increase in the timing and functions to be confirmed with the increase in the scale of LSI.
It has reached to 000. These test vectors are created by ATPG (Automatic Test Pat).
is being automated by the Turn Generator. However, in many cases, the test vector for the functional test of the LSI cannot be created by ATPG, and it is necessary to create it manually.

【0005】人手により、大量のテストベクタを作成す
る場合、一般的には、対象とするLSIの一連の動作を
高級言語を用いてサブルーチンとして作成し、これらを
組み合わせてプログラムを記述している。Verilo
g−HDLによるテストベクタのソースコードの一例を
図6の1及び図6の2に、これと等価なC言語によるソ
ースコードを図7の1及び図7の2に示す。なお、これ
らソースコードには、説明の便宜のため行番号を付して
いる。
When a large number of test vectors are manually created, a series of operations of the target LSI are generally created as a subroutine using a high-level language, and these are combined to write a program. Verilo
An example of the source code of the test vector by g-HDL is shown in 1 of FIG. 6 and 2 of FIG. 6, and the equivalent source code in C language is shown in 1 of FIG. 7 and 2 of FIG. Note that line numbers are added to these source codes for convenience of description.

【0006】図6の1及び図6の2の14〜52行(図
7の1の4〜36行)は、LSI内メモリ要素にデータ
を読み書きする基本動作をそれぞれサブルーチン(サブ
ルーチン「read」と「write」)にしたもので
ある。図6の2の54〜60行(図7の1の38〜44
行)は、LSI内のメモリ要素の読み書きが正しく行わ
れたか否かをテストするテストベクタをサブルーチン
(サブルーチン「readwrite」)にしたもので
ある。図6の2の62〜69行(図7の1及び図7の2
の46〜53行)は、LSIをリセットする手順をサブ
ルーチン(サブルーチン「resetit」)にしたも
のである。図6の2の71〜75行(図7の2の55〜
60行)では、これらのサブルーチンを組み合わせて、
全体のテストベクタを作っている。このように、テスト
ベクタをサブルーチン化することにより、テストベクタ
の作成効率が大幅に向上する。
Lines 1 to 5 of FIG. 6 and lines 14 to 52 of 2 of FIG. 6 (lines 4 to 36 of 1 of FIG. 7) are the basic operations for reading and writing data from and to the memory elements in the LSI as subroutines (subroutine "read"). "Write"). 54 lines 2-60 of FIG. 6 (38-44 lines of 1 of FIG. 7)
The row) is a subroutine (subroutine “readwrite”) that is a test vector for testing whether or not the reading and writing of the memory element in the LSI has been correctly performed. Lines 62 to 69 of 2 in FIG. 6 (1 in FIG. 7 and 2 in FIG. 7)
46 to 53) is a subroutine (subroutine "resetit") for resetting the LSI. Lines 71 to 75 of 2 in FIG. 6 (55 to 55 of 2 in FIG.
(Line 60) combines these subroutines,
Making the whole test vector. In this way, by making the test vector a subroutine, the efficiency of creating the test vector is significantly improved.

【0007】上記のシミュレーションに際しては、シミ
ュレータを用いて、或は波形表示機能を持つツールを用
いてデバッグが行われる。デバッグに際しては、アサー
ションエラー(期待値との不一致)が発生したベクタカ
ウント(これは、時刻と等価である)を手がかりに、原
因をつきとめることが多い。
In the above simulation, debugging is performed using a simulator or a tool having a waveform display function. In debugging, the cause is often found by using the vector count (which is equivalent to the time) at which an assertion error (mismatch with the expected value) occurs.

【0008】ところが、従来のシミュレータ上でのデバ
ッグでは、エラーが発生した信号名とベクタカウント
(或いは時刻)の情報しか表示されない。例えば、「信
号名dat〔7〕で、ベクタカウント36763200
にアサーションエラーが発生した」というような情報
が、波形表示機能等のツール上に表示されるに止まって
いる。即ち、この方法では、エラーの発生箇所、即ち
「どのような動作をテストしているときにエラーが発生
したか」の情報が直接的には表示されない。
However, in the conventional debugging on the simulator, only the information on the signal name and the vector count (or time) at which the error occurred is displayed. For example, "signal name dat [7], vector count 36763200
Information such as "An assertion error has occurred" has only been displayed on tools such as the waveform display function. That is, according to this method, the location of the error, that is, the information "what kind of operation the error occurred when testing" is not directly displayed.

【0009】このため、エラーの発生箇所は、ベクタカ
ウント情報(或いは時刻情報)から逆算しないと得るこ
とができない。また、例えば、「ベクタカウント367
63200にエラーが発生した」と言う情報からは、メ
モリ要素に関する、「どのアドレスの読み書きテストで
エラーを生じたか」ということを容易に知ることができ
ない。更に、「どのサブルーチンを実行しているとき
に、エラーが生じたか」を把握することもできない。
Therefore, the location of the error cannot be obtained without back-calculating from the vector count information (or time information). Also, for example, "vector count 367
It cannot be easily known from the information that "63200 has an error" that "the address of the read / write test caused the error" regarding the memory element. Furthermore, it is not possible to grasp "which subroutine was executing the error".

【0010】このような事情から、従来、エラーが発生
した時刻まで、関連データを詳細に取りつつシミュレー
ションの実行をし直すことで、エラー発生時刻の様子を
把握していた。或は、テスト項目の時刻を計算して、エ
ラーがどのテスト項目に該当するかを調べていた。この
ため、エラーの原因究明に膨大な時間を要し、作業効率
が極めて悪かった。
Under such circumstances, conventionally, the state of the error occurrence time has been grasped by re-executing the simulation while collecting the related data in detail until the time when the error occurs. Alternatively, the time of the test item is calculated to check which test item the error corresponds to. Therefore, it takes a huge amount of time to investigate the cause of the error, and the work efficiency is extremely poor.

【0011】一方、上記のようなテストベクタを用い
て、シミュレーションとデバッグとを繰り返すことによ
り一応の設計が完了すると、LSIが試作されLSIテ
スタによりテストが行われる。図5に戻って説明する
と、まず、フォトマスクを作成し(符号109参照)、
LSIが実際に製造(試作)される(符号100参
照)。この製造されたLSI100は、LSIテスタに
よってテストされ(符号111参照)、最終的に、タイ
ミングと機能とがデバッグされる。この場合にも、上記
シミュレーションの場合と同様、試作LSI100につ
いて大量のテストベクタ112を用いた実動作速度試験
等の機能テストが、LSIテスタ111を用いて行われ
る。なお、このテストベクタは、シミュレーションベク
タを生成するツール(テストベクタ生成言語105やグ
ラフィカルテストベクタ生成ツール106)を用いて生
成することもできる(符号113参照)。
On the other hand, when the temporary design is completed by repeating the simulation and the debug using the test vector as described above, the LSI is prototyped and tested by the LSI tester. Referring back to FIG. 5, first, a photomask is created (see reference numeral 109),
The LSI is actually manufactured (trial manufacture) (see reference numeral 100). The manufactured LSI 100 is tested by the LSI tester (see reference numeral 111), and finally the timing and function are debugged. Also in this case, as in the case of the above-described simulation, the LSI tester 111 performs a functional test such as an actual operation speed test using a large number of test vectors 112 on the prototype LSI 100. The test vector can also be generated by using a tool for generating a simulation vector (test vector generation language 105 or graphical test vector generation tool 106) (see reference numeral 113).

【0012】LSIテスタ上でデバッグを行う際にも、
ベクタアドレス表示機能を持つツールを用いて、エラー
が発生した信号名を頼りにフェイル(以下、「エラー」
とも言う)の箇所を特定し、信号名とベクタカウントか
ら逆算して、どのような動作をしているときにエラーが
生じたかを特定する。
Even when performing debugging on the LSI tester,
Use a tool that has a vector address display function to rely on the signal name where the error occurred,
(Also referred to as)) and calculate back from the signal name and vector count to identify what kind of operation the error occurred.

【0013】この場合、現状ではエラーが発生した信号
名と時刻の情報しか表示されないため、上記のシミュレ
ーションの場合と同様、エラー箇所を特定したり、どの
ような動作をしているときにエラーが生じたかを知るこ
とは容易ではない。
In this case, at present, only the information on the signal name and time at which the error has occurred is displayed. Therefore, as in the case of the above-described simulation, the error location is identified and the error is detected when the operation is performed. It is not easy to know what happened.

【0014】特に、試作LSIをデバッグする場合、エ
ラー発生のたびにシミュレーション作業に戻ることは、
作業効率が極めて悪く、非現実的である。このため、専
門のテストエンジニアがLSIテスタの操作をして一連
のテストを行い、テスト終了時に一括して設計エンジニ
アにエラー情報を通知している。しかし、この場合、該
エラー情報がベクタカウント値で記載されていると、設
計エンジニアはエラーの発生したテスト項目を直ちに理
解することができず、情報伝達の上でも問題があった。
In particular, when debugging a prototype LSI, it is necessary to return to the simulation work each time an error occurs.
The work efficiency is extremely poor and unrealistic. For this reason, a specialized test engineer operates the LSI tester to perform a series of tests, and collectively notifies the design engineer of error information at the end of the test. However, in this case, if the error information is described by the vector count value, the design engineer cannot immediately understand the test item in which the error has occurred, and there is a problem in information transmission.

【0015】[0015]

【発明の目的】本発明の目的は、テストベクタを用い
た、設計段階でのシミュレーションにおいて発生したエ
ラーの原因となる箇所の情報を、速やかに表示すること
ができるデバッグ情報表示方法及び表示構造を提供する
ことである。また、本発明の別の目的は、試作LSIの
LSIテスタ上で発生したエラーの原因となる箇所の情
報を速やかに表示することができる上記表示方法及び表
示構造を提供することである。
SUMMARY OF THE INVENTION It is an object of the present invention to provide a debug information display method and a display structure capable of promptly displaying information on a location causing an error that occurs in a simulation at a design stage using a test vector. Is to provide. Another object of the present invention is to provide the above-mentioned display method and display structure capable of promptly displaying information on a location causing an error that has occurred on an LSI tester of a prototype LSI.

【0016】[0016]

【発明の概要】本発明は、テストベクタによるデバック
のデバッグ情報を、高級言語での記述(即ち、ソースコ
ードの行やブロック)に直接対応させてディスプレイ上
に表示する方法及び表示構造である。
SUMMARY OF THE INVENTION The present invention is a method and display structure for displaying debug information for debugging by a test vector on a display in direct correspondence with a description in a high-level language (that is, a line or block of source code).

【0017】即ち、本発明のデバッグ情報表示方法は、
(1)テストの実行時に、特定種動作が生じるたびに、
該特定種動作の発生時刻、及びソースファイル名を含む
該特定種動作の属性情報をテスト時刻に関連させて、履
歴情報として記憶装置に記録するステップ、(2)上記
テストの実行時に生じたエラーの発生時刻と、前記履歴
情報とに基づき、前記エラーの原因となったコードが記
述されたソースファイルにおける箇所を限定し、該限定
箇所についての情報をディスプレイ上に表示させるステ
ップ、からなることを特徴とする。
That is, the debug information display method of the present invention is
(1) Each time a specific type of operation occurs during test execution,
A step of recording attribute information of the specific type operation including the generation time of the specific type operation and a source file name in a storage device as history information in association with a test time; Based on the time of occurrence of the error and the history information, and limiting the location in the source file in which the code that caused the error is described, and displaying the information about the limited location on the display. Characterize.

【0018】また、本発明のデバッグ情報表示構造は、
時刻(或いはベクタカウント)表示部、波形表示部、及
びフェイルマップ表示部の少なくとも1つに加え、エラ
ーの発生時刻と、上記サブルーチンコール等の特定種動
作の度に記憶装置に格納された、該特定種動作の発生時
刻並びにソースファイル名を含む該特定種動作の属性情
報とを、テスト時刻に関連させて表示する、履歴情報表
示部を設けてなることを特徴とする。なお、前記波形表
示部は、アドレス表示部及びデータ表示部の少なくとも
1つを含むことができる。
The debug information display structure of the present invention is
In addition to at least one of a time (or vector count) display section, a waveform display section, and a fail map display section, an error occurrence time and a value stored in a storage device each time a specific type operation such as the subroutine call is performed. A history information display unit is provided for displaying the occurrence time of the specific type operation and the attribute information of the specific type operation including the source file name in association with the test time. The waveform display unit may include at least one of an address display unit and a data display unit.

【0019】本発明は、LSI設計段階のシミュレーシ
ョンにおける、デバッグ情報の表示方法や表示構造に適
用され、又はLSIテスタによる試作LSIのテストに
おける、デバッグ情報の表示方法や表示構造に適用され
る。
The present invention is applied to a debug information display method and display structure in a simulation at the LSI design stage, or to a debug information display method and display structure in a test of a prototype LSI by an LSI tester.

【0020】なお、本発明では、エラー原因を容易に把
握するために、通常、ソースコードの限定箇所について
の情報と共に、波形情報やフェイルマップを表示させる
ことが好ましい。
In the present invention, in order to easily understand the cause of the error, it is usually preferable to display the waveform information and the fail map together with the information about the limited portion of the source code.

【0021】本発明では、時間軸上に展開された複数
(通常、多数)のテストベクタに、履歴情報を付け加
え、テストベクタ記述言語処理系が、該記述言語を処理
するに当たって、上記履歴情報を信号波形情報と共に記
録する。そして、エラーが生じたときには、該履歴情報
を、自動的に或いはユーザ操作により、ディスプレイ上
に表示させる。こうすることで、エラー箇所を特定する
ことが容易となる。なお、ソースコードの該当する箇所
(或いは、デバッグ情報のリスト)の表示は、波形表示
用ソフトウェアや、LSIテスタのベクタエディタ,フ
ェイルマップのようなソフトウェア等により行われる。
この場合、エラーが生じたサブルーチンから辿って、上
記ソースコード等を表示させるようにすることもでき
る。
According to the present invention, history information is added to a plurality (usually a large number) of test vectors expanded on the time axis, and the test vector description language processing system processes the history information in processing the description language. Record with signal waveform information. Then, when an error occurs, the history information is displayed on the display automatically or by a user operation. By doing this, it becomes easy to identify the error location. The display of the corresponding part of the source code (or the list of debug information) is performed by software for waveform display, vector editor of LSI tester, software such as fail map, or the like.
In this case, the source code or the like can be displayed by tracing the subroutine in which the error has occurred.

【0022】テストベクタ記述言語は、インタープリ
タ、コンパイラのどちらの形態であってもよいし、また
Verilog−HDLやVHSIC−HDLのような
ハードウェア記述言語、CAEソフトウェアに付随する
スクリプト言語(例えば、米国Mentor Grap
hics社のAmple)、又はC,Pascal,B
asic等の汎用コンピュータ言語の何れであってもよ
い。
The test vector description language may be in the form of an interpreter or a compiler, a hardware description language such as Verilog-HDL or VHSIC-HDL, a script language attached to CAE software (for example, US Mentor Grap
Hics's Apple) or C, Pascal, B
Any general-purpose computer language such as asic may be used.

【0023】テストベクタ記述言語は、シミュレーショ
ンと同時に、又はLSIテスタにおけるテストの進行と
同時に、テストベクタ記述言語処理系により処理(イン
タープリト)されるものであってもよいし、前もって該
処理系により処理(コンパイル)されるものであっても
よい。
The test vector description language may be processed (interpreted) by the test vector description language processing system at the same time as the simulation or the test progress in the LSI tester, or by the processing system in advance. It may be processed (compiled).

【0024】[0024]

【実施例】以下、本発明の好適な実施例について、詳細
に説明する。まず、特定種動作がLSIシミュレータに
おけるテストベクタプログラムのサブルーチンコールで
ある場合のデバッグ情報の記録方法について説明する。
この場合、サブルーチンコールが生じる度に、該サブル
ーチンコールの発生時刻、該特定種動作の属性情報(即
ちサブルーチンコールをしているソースファイル名、行
数、引き数)が、シミュレーション時間に関連させて記
憶装置(メモリやハードディスク等)に、履歴情報とし
て記録される。これらの履歴情報は、通常、シミュレー
ションの結果情報、或いは入力信号情報が格納された領
域に、これら情報と関連付けられて格納される。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described below in detail. First, a method of recording debug information when the specific type operation is a subroutine call of a test vector program in the LSI simulator will be described.
In this case, each time a subroutine call is generated, the time when the subroutine call is generated and the attribute information of the specific type operation (that is, the source file name, line number, and argument that are making the subroutine call) are related to the simulation time. The history information is recorded in a storage device (memory, hard disk, etc.). These pieces of history information are usually stored in the area where the simulation result information or the input signal information is stored in association with these pieces of information.

【0025】以下に、図6の1及び図6の2のVeri
log−HDLを実行し、デバッグ情報を記録する場合
を説明する。なお、前述したように、左に付した行番号
は、説明のために付したものであり、本発明には直接は
関係しない。Verilog−HDLの言語処理系で
は、コンパイル及びイニシャライズ後に、まず図6の2
の71〜75行のイニシャル文、
Below, 1 Veri of FIG. 6 and 2 Veri of FIG.
A case will be described where log-HDL is executed and debug information is recorded. Note that, as described above, the line numbers given on the left are given for the purpose of explanation and are not directly related to the present invention. In the Verilog-HDL language processing system, first, after compiling and initializing, first, 2 in FIG.
71 to 75 lines of the initial sentence,

【0026】 ・・・ 71 // main test sequence 72 initial begin 73 resetit; 74 readwrite; 75 end ・・・ から実行を始める。なお、71行の//はコメント行を
示すので、この行は実行されない。
... 71 // main test sequence 72 initial begin 73 resetit; 74 readwrite; 75 end ... Note that // on line 71 indicates a comment line, so this line is not executed.

【0027】なお、ここでは、1つのイニシャル文のみ
について説明する。Verilog−HDLの場合に
は、複数のイニシャル文が並行して実行されることがあ
るが、この場合には、それぞれのイニシャル文毎に別々
の記録を取ることもできる。
It should be noted that only one initial sentence will be described here. In the case of Verilog-HDL, a plurality of initial statements may be executed in parallel, but in this case, each initial statement may be recorded separately.

【0028】イニシャル文の実行開始時の、シミュレー
ション時刻は0である。そこで、シミュレーションが図
6の2の72行のイニシャル文から始まったことを、以
下のように記録する。
The simulation time is 0 at the start of execution of the initial sentence. Therefore, it is recorded as follows that the simulation started from the initial sentence on line 72 in FIG.

【0029】 1 filename=test.v line=72 time=0 call initial (none)1 filename = test.v line = 72 time = 0 call initial (none)

【0030】( )には引き数が記述されるが、ここで
は引き数がないのでその旨(none)が記載されてい
る。次に、イニシャル文の73行で、サブルーチン「r
esetit」がコールされる。このサブルーチンコー
ルは、以下のように記録される。
An argument is described in (), but since there is no argument here, the fact (none) is described. Next, in line 73 of the initial sentence, the subroutine "r
"setit" is called. This subroutine call is recorded as follows:

【0031】 2 filename=test.v line=73 time=0 call resetit (none) サブルーチン「resetit」の終了は以下のように
記録される。
2 filename = test.v line = 73 time = 0 call resetit (none) The end of the subroutine “resetit” is recorded as follows.

【0032】 3 time=1000 return from resetit 次いで、図6の2の74行においてサブルーチン「re
adwrite」がコールされる。このサブルーチンコ
ールは、以下のように記録される。
3 time = 1000 return from resetit Next, in line 74 of FIG.
"adwrite" is called. This subroutine call is recorded as follows:

【0033】 4 filename=test.v line=74 time=1000 call readwrite (none) サブルーチン「readwrite」は、図6の2にお
いて以下のように記述されている。
4 filename = test.v line = 74 time = 1000 call readwrite (none) The subroutine “readwrite” is described as follows in 2 of FIG.

【0034】 ・・・ 54 // simple memory test procedure 55 task readwrite; 56 begin 57 integer i; 58 for(i=0;i<16'h10000;i=i+1) write(i,i); 59 for(i=0;i<16'h10000;i=i+1) read(i,i); 60 end ・・・ サブルーチン「readwrite」の58行で、サブ
ルーチン「write」がコールされる。このサブルー
チンコールは、以下のように記録される。
・ ・ ・ 54 // simple memory test procedure 55 task readwrite; 56 begin 57 integer i; 58 for (i = 0; i <16'h10000; i = i + 1) write (i, i); 59 for (i = 0; i <16'h10000; i = i + 1) read (i, i); 60 end ... The subroutine "write" is called at line 58 of the subroutine "readwrite". This subroutine call is recorded as follows:

【0035】 5 filename=test.v line=58 time=1000 call write (0,0) ここでは、writeは引き数を持っているので、1回
目の書込みであることを示す引き数0,0が( )内に
記録される。なお、58及び59行の16’h1000
0は、16ビットに納められた16進数の値10000
を示す。関数の引き数の表現方法には、従来のデバッガ
に使われている様々な方法を用いることができ、これは
当業者には自明である。サブルーチン「write」が
終了すると、このサブルーチンの終了は以下のように記
録される。
5 filename = test.v line = 58 time = 1000 call write (0,0) Here, since write has an argument, the argument 0,0 indicating the first writing is Recorded in parentheses. In addition, 16'h1000 in lines 58 and 59
0 is the hexadecimal value 10000 stored in 16 bits
Is shown. Various methods used in conventional debuggers can be used to express the function arguments, which is obvious to those skilled in the art. When the subroutine "write" is completed, the completion of this subroutine is recorded as follows.

【0036】 6 time=1500 return from write 書込みが、65536回行われ、サブルーチン「wri
te」がコールされるごとに、また終了するごとに、以
下のように記録される。
6 time = 1500 return from write Writing is performed 65536 times, and the subroutine “wri” is written.
Each time "te" is called and when it is finished, it is recorded as follows.

【0037】 ・・・ 131075 filename=test.v line=58 time=32768500 call write(65535,65535) 131076 time=32769000 return from write 更に、サブルーチン「readwrite」の59行
で、サブルーチン「read」がコールされるときも、
「write」のときと同様、以下のように記録され
る。
・ ・ ・ 131075 filename = test.v line = 58 time = 32768500 call write (65535,65535) 131076 time = 32769000 return from write Furthermore, the subroutine “read” is called at line 59 of the subroutine “readwrite”. Also when
As in the case of "write", the following is recorded.

【0038】 131077 filename=test.v line=59 time=32769000 call read (0,0) また、サブルーチン「read」が終了すると、以下の
ように記録される。
131077 filename = test.v line = 59 time = 32769000 call read (0,0) When the subroutine "read" is completed, the following is recorded.

【0039】 131078 time=32769500 return from read ここでも、読出しは、65536回行われ、サブルーチ
ン「read」がコールされるごとに、また終了するご
とに、以下のように記録される。
131078 time = 32769500 return from read Here again, the read is performed 65536 times, and is recorded as follows each time the subroutine “read” is called and each time the subroutine “read” is ended.

【0040】 ・・・ 262147 filename=test.v line=59 time=65536000 call read(65535,65535) 262148 time=65536500 return from read 最後に、サブルーチン「readwrite」とイニシ
ャル文の終了が、以下のように記録される。
262147 filename = test.v line = 59 time = 65536000 call read (65535,65535) 262148 time = 65536500 return from read Finally, the subroutine "readwrite" and the end of the initial statement are as follows. Will be recorded.

【0041】 262149 time=65537000 return from readwrite 262150 time=65537000 end of initial262149 time = 65537000 return from readwrite 262150 time = 65537000 end of initial

【0042】テストの実行時にエラーが発生した場合、
シミュレーションの実行を一時停止し、上記記憶装置に
記録した情報を参照することもできるし、シミュレーシ
ョンの実行を停止することなく、上記情報を参照するこ
ともできる。何れにしても、該エラー発生時刻と、記憶
装置に格納されたエラーの属性情報とに基づき、前記エ
ラーの原因となったコードが記述された箇所、この場合
にはどのサブルーチンの何回目の読出し或は書込みにお
いてエラーが生じたかを知ることができる。
If an error occurs when running the test,
It is possible to temporarily stop the execution of the simulation and refer to the information recorded in the storage device, or it is possible to refer to the above information without stopping the execution of the simulation. In any case, based on the error occurrence time and the error attribute information stored in the storage device, the location where the code that caused the error is described, in this case, the number of times of reading of which subroutine Alternatively, it is possible to know whether an error has occurred in writing.

【0043】次に、ウェイト文のたびに、ウェイト文の
あるソースファイル名と行数、及びそのウェイト文実行
時のイニシャル文からのサブルーチン情報を一括して記
録する場合の方法について説明する。
Next, a method for collectively recording, for each wait statement, the source file name with the wait statement, the number of lines, and the subroutine information from the initial statement when the wait statement is executed will be described.

【0044】以下、図6の1及び図6の2のVeril
og−HDLを実行し、デバッグ情報を記録した例を示
す。Verilog−HDLの言語処理系は、まず図6
の2の72行のイニシャル文から実行を始める。なお、
この場合にも、1つのイニシャル文のみに着目して説明
するが、他にもイニシャル文がある場合には、同様の方
法で独立の記録を取ることは上記の場合と同様である。
Below, Veril of 1 of FIG. 6 and 2 of FIG.
An example in which og-HDL is executed and debug information is recorded is shown. The language processing system of Verilog-HDL is first shown in FIG.
Execution starts from the initial statement on line 72 of No. 2 In addition,
In this case as well, description will be made focusing on only one initial sentence, but if there is another initial sentence, it is the same as in the above case that independent recording is performed by a similar method.

【0045】図6の2の72行から始まるイニシャル文
の中で、サブルーチン「resetit」がコールされ
る(73行)。サブルーチン「resetit」は、以
下のように記述されている。
The subroutine "resetit" is called in the initial statement starting from line 72 of FIG. 6 (line 73). The subroutine "resetit" is described as follows.

【0046】 ・・・ 62 // reset task 63 task resetit; 64 begin 65 rst = 1'b1; 66 #500 67 rst = 1'b0; 68 #500 ; 69 end ・・・・ ・ ・ 62 // reset task 63 task resetit; 64 begin 65 rst = 1'b1; 66 # 500 67 rst = 1'b0; 68 # 500; 69 end ・ ・ ・

【0047】ここでは、まず、以下に示すように、66
行のウェイト文がコールされた時刻が0であることを記
録する。また、そのウェイト文がサブルーチン「res
etit」の中でコールされ、それが含まれるソースコ
ードがtest.vの66行であることを記録する。更
に、サブルーチン「resetit」がイニシャル文の
73行から呼ばれていることを記録する。
Here, first, as shown below, 66
Record that the time when the wait statement for the line was called is zero. In addition, the wait statement is the subroutine "res".
"etit" and the source code containing it is called test. Record that it is line 66 of v. Further, it is recorded that the subroutine "resetit" is called from the 73rd line of the initial sentence.

【0048】 1 wait 500 time=0 2 subroutine resetit (none) filename=test.v line=66 3 initial filename=test.v line=73 ・・・1 wait 500 time = 0 2 subroutine resetit (none) filename = test.v line = 66 3 initial filename = test.v line = 73 ・ ・ ・

【0049】以降のウェイト文についても同様に、その
ウェイト文が実行された時刻と、そのウェイト文を実行
しているサブルーチンに関する情報と、そのサブルーチ
ンに至るサブルーチンコールについての情報とをイニシ
ャル文に辿り着くまで記録する。
Similarly, for the subsequent wait statements, the time when the wait statement was executed, the information about the subroutine executing the wait statement, and the information about the subroutine call leading to the subroutine are traced to the initial statement. Record until you arrive.

【0050】 4 wait 500 time=500 5 subroutine resetit (none) filename=test.v line=68 6 initial filename=test.v line=73 7 wait 100 time=1000 8 subroutine write (0,0) filename=test.v line=23 9 subroutine readwrite filename=test.v line=58 10 initial filename=test.v line=74 11 wait 200 time=1100 12 subroutine write (0,0) filename=test.v line=25 13 subroutine readwrite filename=test.v line=58 14 initial filename=test.v line=74 15 wait 100 time=1300 16 subroutine write (0,0) filename=test.v line=27 17 subroutine readwrite filename=test.v line=58 18 initial filename=test.v line=74 ・・・4 wait 500 time = 500 5 subroutine resetit (none) filename = test.v line = 68 6 initial filename = test.v line = 73 7 wait 100 time = 1000 8 subroutine write (0,0) filename = test .v line = 23 9 subroutine readwrite filename = test.v line = 58 10 initial filename = test.v line = 74 11 wait 200 time = 1100 12 subroutine write (0,0) filename = test.v line = 25 13 subroutine readwrite filename = test.v line = 58 14 initial filename = test.v line = 74 15 wait 100 time = 1300 16 subroutine write (0,0) filename = test.v line = 27 17 subroutine readwrite filename = test.v line = 58 18 initial filename = test.v line = 74 ・ ・ ・

【0051】この場合には、エラー発生時刻とスタック
に格納されたエラーの属性情報とに基づき、エラーの原
因となったコードが記述された箇所(この場合にはどの
サブルーチンの何回目の読出し或は書込みにおいてエラ
ーが生じたか)を知ることができる。
In this case, based on the error occurrence time and the attribute information of the error stored in the stack, the location where the code that caused the error is described (in this case, how many times of which subroutine is read or Can see if an error occurred in writing).

【0052】更に次に、アサーション(シミュレーショ
ン結果が期待値と一致しているか否かを調べる命令)の
たびに、そのアサート命令のあるソースファイル名と行
数、そのアサート命令を含むイニシャル文からサブルー
チンまでのサブルーチンコールを記録する方法について
説明する。この方法を用いるには、テストベクタ記述言
語にアサート文を導入する必要がある。図6の1及び図
6の2のVerilog−HDLの45〜70行をアサ
ート文を用いて書き直したものを図8の1及び図8の2
に示す。図8の1の46行から始まるアサート文は以下
のように記述されている。
Further, each time an assertion (instruction for checking whether or not the simulation result matches the expected value), the source file name and the number of lines with the assert instruction, and the initial statement including the assert instruction are used to make a subroutine. The method of recording the subroutine call up to is described. To use this method, it is necessary to introduce an assert statement into the test vector description language. 8 and 1 of FIG. 8 are rewritten by using the assert statement in lines 45 to 70 of the Verilog-HDL of 1 and 2 of FIG.
Shown in The assert statement starting from line 46 of 1 in FIG. 8 is described as follows.

【0053】 ・・・ 45 // Assertion on data_out 46 $assert(data_out,dat); 47 48 #100 49 ncs=1'b1; 50 #200 ; 51 end 52 endtask ・・・ 上記アサート文が実行されると、実行結果は、以下のよ
うに記録される。
・ ・ ・ 45 // Assertion on data_out 46 $ assert (data_out, dat); 47 48 # 100 49 ncs = 1'b1; 50 # 200; 51 end 52 endtask ・ ・ ・ The above assert statement is executed Then, the execution result is recorded as follows.

【0054】 1 time=32769200 assert data_out = 0 2 subroutine read (0,0) filename=test1.v line=46 3 subroutine readwrite filename=test1.v line=59 4 initial filename=test1.v line=74 5 time=32769700 assert data_out = 1 6 subroutine read (1,1) filename=test1.v line=46 7 subroutine readwrite filename=test1.v line=59 8 initial filename=test1.v line=74 ・・・1 time = 32769200 assert data_out = 0 2 subroutine read (0,0) filename = test1.v line = 46 3 subroutine readwrite filename = test1.v line = 59 4 initial filename = test1.v line = 74 5 time = 32769700 assert data_out = 1 6 subroutine read (1,1) filename = test1.v line = 46 7 subroutine readwrite filename = test1.v line = 59 8 initial filename = test1.v line = 74 ・ ・ ・

【0055】即ち、順次、アサート文が実行された時
刻、注目している信号名、及び期待値を記録し、そのア
サート文を実行した時点でのスタック内容の情報(イニ
シャル文から現在の時点までのサブルーチンコールの情
報)を記録する。
That is, the time at which the assert statement is executed, the signal name of interest, and the expected value are sequentially recorded, and information about the stack contents at the time of executing the assert statement (from the initial statement to the current time) Information of the subroutine call of).

【0056】上記のように記録された情報は、後にエラ
ー情報の時刻と照合することによって、そのシミュレー
ション時刻でどのような動作をテストしようとしていた
かの検索に用いられる。この方法ではアサート文を使用
していない部分については、ソースコードとの対応付け
をする情報は記録されない。アサーション実行時の情報
を必要としないときには、記憶装置の領域を節約できる
ので有意義である。
The information recorded as described above is later used to retrieve what kind of operation was to be tested at the simulation time by collating it with the time of the error information. In this method, the information for associating with the source code is not recorded for the portion where the assert statement is not used. When the information at the time of executing the assertion is not needed, the area of the storage device can be saved, which is significant.

【0057】ここでは、Verilog−HDLでテス
トベクタを記述する場合を例に取って説明したが、言語
の特性により、いくつかの注意が必要である。Veri
log−HDLのようなハードウェア記述言語では、ソ
ースコードの処理が多数並列に行われる。並列に進行し
ている全ての実行情報を記録することは、膨大かつ不必
要な情報を残すことになり望ましくない。そのため、ど
の実行に関する情報を記録するかを選択する方法が必要
になる。
Here, the case where the test vector is described in Verilog-HDL has been described as an example, but some caution is required due to the characteristics of the language. Veri
In a hardware description language such as log-HDL, many source code processes are performed in parallel. It is not desirable to record all the execution information that is progressing in parallel because it leaves huge and unnecessary information. Therefore, we need a way to choose which run to record information about.

【0058】イニシャル文は、開始時刻0から自発的か
つ同時進行的に実行が開始される一連の処理の始まりを
記述するものであり、上述したように、このイニシャル
文によって開始された実行情報が記憶装置に記録される
のであるが、何らかのオプション指定、又は言語記述に
よって、特定のイニシャル文の実行を記録しないように
することができる。
The initial statement describes the start of a series of processes in which execution is started spontaneously and simultaneously from the start time 0. As described above, the execution information started by this initial statement is Although recorded in the storage device, execution of a specific initial sentence can be prevented from being recorded by some option specification or language description.

【0059】オールウェイズ文(VHSIC−HDIで
はプロセス文にあたる)は、特定種動作が発生したとき
に実行が開始される。本発明では、オールウェイズ文に
よって開始された実行情報は記録されない。ただし、何
らかのオプション指定、又は、言語記述によって特定の
オールウェイズ文の実行を記録するように指定してもよ
い。
The always statement (which corresponds to a process statement in VHSIC-HDI) is started to be executed when a specific type operation occurs. In the present invention, execution information started by the Always sentence is not recorded. However, the execution of a particular always-sentence may be designated to be recorded by some option designation or language description.

【0060】C言語のような汎用のプログラミング言語
を用いた場合(図7の1及び図7の2参照)、Veri
log−HDLのイニシャル文のような機構はないが、
同様のことが、以下のようにリセットサブルーチンを設
けることによって記述できる。
When a general-purpose programming language such as C language is used (see 1 in FIG. 7 and 2 in FIG. 7), Veri
There is no mechanism like the initial sentence of log-HDL,
The same thing can be described by providing a reset subroutine as follows.

【0061】 1 main(){ 2 timereset(); 3 /* test sequnece 1 */ 4 5 timereset(); 6 /* test sequnece 2 */ 7 8 } タイムリセットサブルーチン「timereset」
は、時間変数を0にリセットする。この場合、「tim
ereset」がコールされるたびに、新しい独立のデ
バッグ情報の記録が開始される。
1 main () {2 timereset (); 3 / * test sequnece 1 * / 4 5 timereset (); 6 / * test sequnece 2 * / 7 8} Time reset subroutine "timereset"
Resets the time variable to zero. In this case, "tim
Each time "erset" is called, recording of new independent debug information is started.

【0062】以下に、上記のデバッグ情報を表示する具
体的な方法及び表示構造を説明する。シミュレーション
結果を表示する場合も、LSIテスタによるテスト結果
を表示する場合も、表示内容は概ね同一であるので、こ
こではシミュレーション結果を表示する場合を説明す
る。
A specific method and display structure for displaying the above debug information will be described below. Since the display contents are almost the same whether the simulation result is displayed or the test result by the LSI tester is displayed, the case of displaying the simulation result will be described here.

【0063】図1は、波形及びソースコードについての
デバッグ情報と共に、ユーザの操作によりデバッグの詳
細な表示を行う場合の、基本的な表示方法を示すフロー
チャートである。同図において、波形表示ウィンドウに
波形が表示され(S901参照)、該波形に対応するソ
ースコード情報が表示される(S902参照)。ここ
で、ユーザがディスプレイの詳細表示を希望し所定の操
作をすると(S903参照)、ソースコードのエラー箇
所部分を表示するウィンドウがオープンする(S904
参照)。ユーザがソースコードを履歴に従って表示させ
たいときは、所定の操作によりソースコードの表示が切
り替わる(S905)。以下、上記表示方法に従い、か
つ該方法に更に改良を加えた具体例を説明する。
FIG. 1 is a flow chart showing a basic display method in the case where detailed debug information is displayed by a user's operation, together with debug information about waveforms and source code. In the figure, the waveform is displayed in the waveform display window (see S901), and the source code information corresponding to the waveform is displayed (see S902). Here, when the user wants to display the detailed information on the display and performs a predetermined operation (see S903), a window for displaying the error portion of the source code opens (S904).
reference). When the user wants to display the source code according to the history, the display of the source code is switched by a predetermined operation (S905). Hereinafter, specific examples according to the above display method and further improvement of the method will be described.

【0064】図2には、シミュレーションの結果を表示
するウィンドウ1と、ソースコードを表示するウィンド
ウ2とが示されている。ウィンドウ1には、シミュレー
ション時刻表示部11(LSIテスト結果の場合はベク
タカウントになる)と、各信号の表示部12〜16が設
けられている。図2では、アドレスh0001(16進
数の0001)について、データh0001(16進数
の0001)の読出しエラーが生じた場合を示しており
(なお、図2では、アドレスとデータとの値はたまたま
一致させてある)、データ表示部13の該当箇所に警告
(矢印及び正しいデータ)が表示されている(エラー情
報表示部17で示す)。
FIG. 2 shows a window 1 for displaying the simulation result and a window 2 for displaying the source code. The window 1 is provided with a simulation time display section 11 (in the case of an LSI test result, a vector count) and display sections 12 to 16 for each signal. FIG. 2 shows a case where a read error occurs in the data h0001 (hexadecimal 0001) for the address h0001 (hexadecimal 0001) (note that in FIG. 2, the values of the address and the data are coincident with each other. Warnings (arrows and correct data) are displayed at the relevant portions of the data display section 13 (indicated by the error information display section 17).

【0065】本発明では、これらに加えてテストベクタ
記述言語のソースコードに関する情報を表示部18に表
示させる。この表示部18には、履歴情報(デバッグ情
報)が表示される。記憶装置には、特定種動作(サブル
ーチンコール、ウェイト、アサート)の時刻と、テスト
ベクタ記述言語における上記特定種動作の階層構造を関
連付ける情報が含まれており、これを波形表示部12〜
16と共に表示する。
In the present invention, in addition to these, the display section 18 is caused to display information regarding the source code of the test vector description language. History information (debug information) is displayed on the display unit 18. The storage device contains information associating the time of a specific type operation (subroutine call, wait, assert) with the hierarchical structure of the specific type operation in the test vector description language.
Display with 16.

【0066】ウィンドウ2は、本実施例ではユーザが必
要に応じてオープンできるように設定されている。例え
ば、エラー情報表示部17、又はソースコードに関する
表示部18を、マウスでクリックすることによって、ウ
ィンドウ2はオープンされ、クローズポイント19をク
リックすることによりウィンドウ2はクローズされる。
ユーザが表示部17又は18をクリックすると、そのエ
ラーが発生した箇所、もしくはそのソースコード情報に
対応したサブルーチンがウィンドウ2に表示される。ウ
ィンドウ2の46行に示したように、デバッグ箇所($
assert(data_out,data);)が強
調表示されている。図2では、この強調した部分を符号
20で示す。また、図2ではウィンドウ2のタイトルバ
ーに、ファイル名(test.v)、およびエラーに関
する他の情報(read(0001,0001)を表示
している。なお、( )内の最初の0001は読出しエ
ラーに係る16進数のアドレスを示し、( )内の次の
0001は読出しエラーに係る16進数のデータであ
る。図2のタイトルバーにはファイル名のみを表示さ
せ、上記のアドレス(0001)やデータ(0001)
は他の箇所(例えば、図2のウィンドウ2の35行,3
6行の右端)に表示させることもできる。なお、これら
のアドレスやデータはウィンドウ1に既に表示されてい
る。したがって、ウィンドウ2にはこれを表示させない
ようにもできる。
In this embodiment, the window 2 is set so that the user can open it as needed. For example, the window 2 is opened by clicking the error information display unit 17 or the source code display unit 18 with the mouse, and the window 2 is closed by clicking the close point 19.
When the user clicks the display section 17 or 18, the window 2 displays the location where the error occurred or the subroutine corresponding to the source code information. As shown in line 46 of window 2, debug location ($
assert (data_out, data);) is highlighted. In FIG. 2, this emphasized portion is indicated by reference numeral 20. 2, the file name (test.v) and other information regarding the error (read (0001, 0001) are displayed in the title bar of window 2. Note that the first 0001 in () is read. The hexadecimal address related to the error is shown, and the next 0001 in () is the hexadecimal data related to the read error.Only the file name is displayed in the title bar of FIG. Data (0001)
Is at another place (for example, 35 lines, 3 in window 2 in FIG. 2).
It can also be displayed at the right end of line 6. Note that these addresses and data are already displayed in window 1. Therefore, it is possible not to display this in the window 2.

【0067】ウィンドウ1には、ソースファイル名、最
下層のサブルーチン名、及びそのサブルーチンに与えら
れた引き数の値が表示されている。この表示は、図3の
ウィンドウ1に示すように、ユーザの操作によって、ソ
ースコードの行数や、上位の階層のサブルーチン名、引
き数の値、ファイル名に切り替えられる。例えば、「r
ead」と言うサブルーチンが同じ引き数で複数回コー
ルされている場合などには、最下層であるリードサブル
ーチンの情報のみでは、テスト箇所を限定することがで
きない。このような場合には、ユーザが自由に上位のサ
ブルーチン情報を辿っていくことによって、テスト箇所
を限定することが容易になる。なお、ウィンドウ1の表
示の切り替えは、特定キーにコマンドを割り当てたり、
メニューバーを表示させる等、種々の方法が採用され
る。図3において、ウィンドウ1の表示部18をダブル
クリックすることにより、ウィンドウ2の表示を、更に
上位のサブルーチンに関するテストプログラム等の情報
の表示に切り替えた様子を示している。
In the window 1, the source file name, the lowest layer subroutine name, and the value of the argument given to the subroutine are displayed. This display can be switched to the number of lines of the source code, the subroutine name of the upper hierarchy, the value of the argument, and the file name by the user's operation, as shown in window 1 of FIG. For example, "r
When the subroutine "ead" is called a plurality of times with the same argument, the test location cannot be limited only by the information of the read subroutine which is the lowest layer. In such a case, it becomes easy for the user to limit the test locations by freely following the upper subroutine information. To switch the display of window 1, assign a command to a specific key,
Various methods such as displaying a menu bar are adopted. In FIG. 3, by double-clicking the display portion 18 of the window 1, the display of the window 2 is switched to the display of information such as a test program related to a higher order subroutine.

【0068】図2や図3の表示部18は、1つのウィン
ドウに並行して複数(例えば、図2の場合には、上下2
段に並べて)設けることができる。これは、例えばVe
rilog−HDLの記述で複数のイニシャル文が存在
する場合のように、複数のテストベクタ記述シーケンス
が並列実行されている場合に効果的である。なお、この
場合に、図2や図3に示したウィンドウ2も、表示部1
8の個数に応じて複数オープンすることができるように
することが好ましい。また、この場合、ユーザにテスト
ベクタ記述シーケンス(即ち、イニシャル文)のすべ
て、又は一部を選択して表示できるような選択機能を設
けることが好ましい。
The display unit 18 shown in FIGS. 2 and 3 has a plurality of windows (for example, in the case of FIG.
Can be provided in rows). This is, for example, Ve
This is effective when a plurality of test vector description sequences are executed in parallel, such as a case where a plurality of initial statements exist in the description of rilog-HDL. In this case, the window 2 shown in FIG. 2 and FIG.
It is preferable to allow a plurality of openings depending on the number of eight. Further, in this case, it is preferable that the user is provided with a selection function capable of selecting and displaying all or a part of the test vector description sequence (that is, the initial sentence).

【0069】図4に示すように、信号波形は表示せず、
エラー情報のみを総轄して表示するフェイルマップソフ
トウェアに本発明の表示方法或いは表示構造を適用する
こともできる。
As shown in FIG. 4, the signal waveform is not displayed,
The display method or display structure of the present invention can also be applied to fail map software that displays error information only as a whole.

【0070】フェイルマップソフトウェアは、LSIテ
スタでは標準的に装備されている。図4のフェイルマッ
プウィンドウ1′には、信号名とそれぞれの信号で発生
したエラーがまとめて表示される。左端に表示されてい
る数字は、ベクタカウント(即ちテスト時刻をテストサ
イクル長で除算した値)である。このベクタカウント
は、シミュレータにおけるシミュレーション時刻に対応
する。データ信号のベクタカウント65539に表示さ
れているX印は、その信号のそのベクタカウントで、期
待値とDUTの応答との比較を行った結果、不一致(フ
ェイル、即ちエラー)が発生したことを示している。
The fail map software is standardly installed in the LSI tester. In the fail map window 1'of FIG. 4, signal names and errors generated in each signal are collectively displayed. The number displayed at the left end is the vector count (that is, the test time divided by the test cycle length). This vector count corresponds to the simulation time in the simulator. The X mark displayed in the vector count 65539 of the data signal indicates that a mismatch (fail, that is, an error) has occurred as a result of comparing the expected value and the response of the DUT with the vector count of the signal. ing.

【0071】本発明では、このようなフェイルマップソ
フトウェア上で、任意のエラーを選択すると、そのエラ
ーに対応するテストベクタ記述言語のソースコードが、
図4に示されるウィンドウ2のようにオープンされて表
示できるようにしている。なお、図示はしないが、図2
に示したように、波形表画面を一旦経由した後に、ソー
スコードを表示するようにしてもよいし、サブルーチン
コールの階層をさかのぼって、ソースを表示させるよう
にしてもよい。
In the present invention, when an arbitrary error is selected on such fail map software, the source code of the test vector description language corresponding to the error is
The window 2 shown in FIG. 4 is opened so that it can be displayed. Although not shown in FIG.
As shown in, the source code may be displayed after passing through the waveform table screen once, or the source may be displayed by tracing back the hierarchy of the subroutine call.

【0072】デバッグ情報のみが与えられた場合、即
ち、アサーションをした場所でのみデバッグ情報が記録
されている場合には、ソースコードへの対応付けは、エ
ラーが発生した箇所又はアサートをしている場所でのみ
行うことができる。以上、テストベクタ記述言語処理系
から得られる情報を表示する例について示したが、これ
らの情報に更に他の情報を付加して表示してもよいし、
またある種の情報を省略して表示してもよい。
When only the debug information is given, that is, when the debug information is recorded only at the place where the assertion is made, the association with the source code is the place where the error occurs or the assertion is made. Can only be done in place. The example of displaying the information obtained from the test vector description language processing system has been described above. However, other information may be added to the information and displayed.
Also, some information may be omitted and displayed.

【0073】[0073]

【発明の効果】以上詳述したように本発明は以下のよう
な効果を奏することができる。 (1)テストの実行情報、特定種動作の属性情報を、履
歴情報として記録しておくことで、シミュレーションや
LSIテスタによるテストの際のデバッグ作業の効率化
を図ることができる。従来、シミュレーション或いはL
SIテスタ上で発見されたフェイルやエラーが、LSI
がどのような動作をしているときに生じたかを把握する
ためには、数時間乃至1日かかるのが通常であったが、
本発明によれば、デバッグ情報を適切に表示することが
できるので、上記把握を数分以内で行うことも可能とな
った。 (2)また、テストエンジニアからデザインエンジニ
ア、シミュレータエンジニアへの情報伝達の際にも、波
形情報の他に高級言語に沿った上記履歴情報が付加され
るので、情報伝達の効率化を図ることができる。
As described above in detail, the present invention can exert the following effects. (1) By recording the test execution information and the specific-type operation attribute information as history information, it is possible to improve the efficiency of debugging work during a test by a simulation or an LSI tester. Conventionally, simulation or L
Fails and errors found on SI tester
It usually took a few hours to a day to understand what kind of movement the
According to the present invention, since the debug information can be displayed appropriately, it is possible to perform the above grasp within a few minutes. (2) Further, when the information is transmitted from the test engineer to the design engineer and the simulator engineer, the history information according to the high-level language is added in addition to the waveform information, so that the information transmission can be made efficient. it can.

【図面の簡単な説明】[Brief description of drawings]

【図1】波形及びソースコードについてのデバッグ情報
と共に、ユーザの操作によりデバッグの更に詳細表示を
行う場合の、基本的な表示方法を示すフローチャートで
ある。
FIG. 1 is a flow chart showing a basic display method in the case of displaying more detailed debug information by a user operation together with debug information about waveforms and source code.

【図2】シミュレーションの結果を表示するウィンドウ
1と、ソースコードを表示するウィンドウ2とを示す図
である。
FIG. 2 is a diagram showing a window 1 displaying a simulation result and a window 2 displaying a source code.

【図3】ユーザの操作によって、図2に示すウィンドウ
1,2が切り替えられた様子を示す図である。
FIG. 3 is a diagram showing a state in which windows 1 and 2 shown in FIG. 2 are switched by a user operation.

【図4】エラー情報のみを総轄して表示するフェイルマ
ップソフトウェアに本発明の表示方法或いは表示構造を
適用した場合の説明図である。
FIG. 4 is an explanatory diagram in a case where the display method or display structure of the present invention is applied to fail map software which displays only error information as a whole.

【図5】LSIの試作前及び試作後のテストの流れを系
統的に示す図である。
FIG. 5 is a diagram systematically showing the flow of tests before and after trial manufacture of an LSI.

【図6の1】Verilog−HDLによるテストプロ
ブラムのソースコードの一例(前半部分)を示す図であ
る。
FIG. 6 is a diagram showing an example (first half portion) of a source code of a test program by Verilog-HDL.

【図6の2】Verilog−HDLによるテストプロ
ブラムのソースコードの一例(後半部分)を示す図であ
る。
FIG. 6 is a diagram showing an example (second half) of the source code of the test program in Verilog-HDL.

【図7の1】図6のソースコードと等価なC言語による
ソースコード(前半部分)を示す図である。
1. FIG. 7 is a diagram showing a source code (first half) in C language equivalent to the source code of FIG.

【図7の2】図6のソースコードと等価なC言語による
ソースコード(後半部分)を示す図である。
7 is a diagram showing a source code (second half) in C language equivalent to the source code of FIG. 6.

【図8の1】アサート文を用いたVerilog−HD
Lのソースコード(前半部分)を示す図である。
[FIG. 8-1] Verilog-HD using an assert statement
It is a figure which shows the source code (first half part) of L.

【図8の2】アサート文を用いたVerilog−HD
Lのソースコード(後半部分)を示す図である。
[FIG. 8B] Verilog-HD using an assert statement
It is a figure which shows the source code (latter half part) of L.

【符号の説明】[Explanation of symbols]

1,1′,2 ウィンドウ 11 シミュレーション時刻表示部 12 アドレス表示部 13 データ表示部 14〜16 信号波形 17 エラー情報 18 データ表示部 19 クローズポイント 20 強調表示部分 1, 1 ', 2 Window 11 Simulation time display section 12 Address display section 13 Data display section 14-16 Signal waveform 17 Error information 18 Data display section 19 Close point 20 Highlighted section

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 高級言語で記述されたテストベクタによ
りデバッグを行い、そのデバッグ情報をディスプレイ上
に表示する方法において、(1)テストの実行時に、特
定種動作が生じるたびに、該特定種動作の発生時刻、及
びソースファイル名を含む該特定種動作の属性情報をテ
スト時刻に関連させて、履歴情報として記憶装置に記録
するステップ、(2)上記テストの実行時に生じたエラ
ーの発生時刻と、前記履歴情報とに基づき、前記エラー
の原因となったコードが記述されたソースファイルにお
ける箇所を特定し、該特定箇所についての情報をディス
プレイ上に表示させるステップ、を有することを特徴と
するデバッグ情報表示方法。
1. A method of performing debugging with a test vector written in a high-level language and displaying the debug information on a display, (1) When a specific type operation occurs during execution of a test, the specific type operation is performed. And a step of recording the attribute information of the specific type operation including the source file name in the storage device as history information in association with the test time, and (2) the time when the error occurred during the execution of the test. Debugging the code that caused the error on the basis of the history information, and displaying information about the specified location on a display. Information display method.
【請求項2】 前記特定種動作が、サブルーチンコー
ル、ウェイト、及びアサーションの少なくとも1つであ
ることを特徴とする請求項1に記載のデバッグ情報表示
方法。
2. The debug information display method according to claim 1, wherein the specific type operation is at least one of a subroutine call, a wait, and an assertion.
【請求項3】 高級言語で記述されたテストベクタによ
るデバッグのディスプレイ上におけるデバッグ情報表示
構造において、 時刻表示部、波形表示部、及びフェイルマップ表示部の
少なくとも1つに加え、 エラーの発生時刻と、上記サブルーチンコール等の特定
種動作の度に記憶装置に格納された、該特定種動作の発
生時刻並びにソースファイル名を含む該特定種動作の属
性情報とを、テスト時刻に関連させて表示する、履歴情
報表示部を有する、ことを特徴とするデバッグ情報表示
構造。
3. In a debug information display structure on a display for debugging with a test vector written in a high-level language, in addition to at least one of a time display section, a waveform display section and a fail map display section, an error occurrence time and , The attribute information of the specific type operation including the generation time of the specific type operation and the source file name, which is stored in the storage device each time the specific type operation such as the subroutine call is performed, in association with the test time. And a debug information display structure having a history information display section.
【請求項4】 前記特定種動作が、サブルーチンコー
ル、ウェイト、及びアサーションの少なくとも1つであ
ることを特徴とする請求項3に記載のデバッグ情報表示
構造。
4. The debug information display structure according to claim 3, wherein the specific type operation is at least one of a subroutine call, a wait, and an assertion.
【請求項5】 前記波形表示部が、アドレス表示部及び
データ表示部の少なくとも1つを含むことを特徴とする
請求項3に記載のデバッグ情報表示構造。
5. The debug information display structure according to claim 3, wherein the waveform display unit includes at least one of an address display unit and a data display unit.
JP7229680A 1995-08-15 1995-08-15 Method and structure for debug information display Pending JPH0954709A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7229680A JPH0954709A (en) 1995-08-15 1995-08-15 Method and structure for debug information display

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7229680A JPH0954709A (en) 1995-08-15 1995-08-15 Method and structure for debug information display

Publications (1)

Publication Number Publication Date
JPH0954709A true JPH0954709A (en) 1997-02-25

Family

ID=16896016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7229680A Pending JPH0954709A (en) 1995-08-15 1995-08-15 Method and structure for debug information display

Country Status (1)

Country Link
JP (1) JPH0954709A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799866B2 (en) 2011-05-31 2014-08-05 International Business Machines Corporation Automatic generation of user interfaces
US8954933B2 (en) 2011-05-31 2015-02-10 International Business Machines Corporation Interactive semi-automatic test case maintenance

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799866B2 (en) 2011-05-31 2014-08-05 International Business Machines Corporation Automatic generation of user interfaces
US8954933B2 (en) 2011-05-31 2015-02-10 International Business Machines Corporation Interactive semi-automatic test case maintenance
US8972946B2 (en) 2011-05-31 2015-03-03 International Business Machines Corporation Interactive semi-automatic test case maintenance

Similar Documents

Publication Publication Date Title
Shehady et al. A method to automate user interface testing using variable finite state machines
US7055065B2 (en) Method, system, and computer program product for automated test generation for non-deterministic software using state transition rules
Luo Software testing techniques
US7917895B2 (en) Automated software testing and validation system
US7681180B2 (en) Parameterized test driven development
US8924937B1 (en) Method and system for generating verification information and tests for software
Bourdonov et al. UniTesK test suite architecture
JPH02272645A (en) Method for supporting program debugging
US8225140B2 (en) Method and system for graphical user interface testing
US20030046029A1 (en) Method for merging white box and black box testing
US20070061641A1 (en) Apparatus and method for generating test driver
JPH07230484A (en) Limited-state machine-transition analyzer
JP2009508203A (en) Development method of assertion for integrated circuit design simulation
JPH0855045A (en) Method and apparatus for coding of data in self-descriptive system
JP6763153B2 (en) Hardware / software co-verification device and hardware / software co-verification method
JP2004348606A (en) Higher-order synthesizer, model creation method for hardware verification, and hardware verification method
Yang et al. Memoise: a tool for memoized symbolic execution
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test
US20050076282A1 (en) System and method for testing a circuit design
US6532573B1 (en) LSI verification method, LSI verification apparatus, and recording medium
US20030177471A1 (en) System and method for graphically developing a program
CN111382065B (en) Verification flow management system and method based on test template
Patel et al. Model-driven validation of SystemC designs
JPH0954709A (en) Method and structure for debug information display
JP7418608B2 (en) How to analyze programmable logic controller programs