JP2009104387A - Test data generating program, test data generating device, and test data generating method - Google Patents
Test data generating program, test data generating device, and test data generating method Download PDFInfo
- Publication number
- JP2009104387A JP2009104387A JP2007275268A JP2007275268A JP2009104387A JP 2009104387 A JP2009104387 A JP 2009104387A JP 2007275268 A JP2007275268 A JP 2007275268A JP 2007275268 A JP2007275268 A JP 2007275268A JP 2009104387 A JP2009104387 A JP 2009104387A
- Authority
- JP
- Japan
- Prior art keywords
- test
- pattern
- test pattern
- random
- storage means
- 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.)
- Granted
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
本発明は、テストデータ生成プログラム、テストデータ生成装置及びテストデータ生成方法に係り、特に集積回路のテストデータを生成するテストデータ生成プログラム、テストデータ生成装置及びテストデータ生成方法に関する。 The present invention relates to a test data generation program, a test data generation apparatus, and a test data generation method, and more particularly to a test data generation program, a test data generation apparatus, and a test data generation method for generating test data of an integrated circuit.
近年、電子機器等に用いられているLSI(Large Scale Integration)は、より大規模集積化し、従来に比べて機能が多種複雑化している。LSIは一般的にHDL(Hardware Description Language)を用いたRTL(Register Transfer Level)記述で設計を行っている。また、LSIの設計では、その設計の正当性を検証するために、シミュレータ等を用いた論理検証を行っている。 In recent years, LSIs (Large Scale Integration) used in electronic devices and the like have been integrated on a larger scale, and their functions have become more complex than before. LSIs are generally designed with RTL (Register Transfer Level) description using HDL (Hardware Description Language). In LSI design, logic verification using a simulator or the like is performed in order to verify the correctness of the design.
論理検証では設計されたLSIの内容の全てを検証する必要がある。設計されたLSIの内容を、どれだけ検証したかを示す指標としては、ガバレッジ(Coverage)が使用されている。カバレッジには、コードカバレッジ,機能カバレッジ,状態(遷移)カバレッジなど、いくつかの種類がある。 In the logic verification, it is necessary to verify all the contents of the designed LSI. Coverage is used as an index indicating how much the contents of the designed LSI are verified. There are several types of coverage, such as code coverage, function coverage, and state (transition) coverage.
コードカバレッジは、RTLのソースコードをどれだけ網羅したかを表している。機能カバレッジは、LSIの機能をどれだけ網羅したかを表している。また、状態(遷移)カバレッジはLSI内の状態及び状態遷移をどれだけ網羅したかを表している。 The code coverage represents how much the RTL source code is covered. The function coverage represents how much the LSI functions are covered. The state (transition) coverage represents how much the state and state transition in the LSI are covered.
近年の多種複雑化したLSIでは、カバレッジを100%にすることが難しいが、網羅しきれなかった(検証できなかった)部分にバグが潜んでいることも多く、なおざりにできない。この為、近年の多種複雑化したLSIではカバレッジ(検証網羅性)を向上させるため、テストデータや設計を工夫する必要が生じている。 In recent complicated LSIs, it is difficult to achieve 100% coverage, but there are many bugs lurking in the parts that could not be covered (cannot be verified) and cannot be overlooked. For this reason, it has become necessary to devise test data and design in order to improve coverage (verification comprehensiveness) in recent LSIs with various complexity.
検証網羅性を向上させるための工夫として、近年では検証担当者が作成した検証項目からテストデータを作成して行う検証(以下、ダイレクト検証と呼ぶ)に加えて、ランダムに発生したテストデータにより行う検証(以下、ランダム検証と呼ぶ)が用いられるようになった。 In recent years, in order to improve the coverage of verification, in addition to verification performed by creating test data from verification items created by the person in charge of verification (hereinafter referred to as direct verification), the test data is generated randomly. Verification (hereinafter referred to as random verification) has come to be used.
従来、LSIの論理検証においては、ダイレクト検証のみを実施する方法、ランダム検証のみを実施する方法、ダイレクト検証及びランダム検証の両方を逐次的に実施する方法があった。例えば特許文献1には、テストパターンの作成に関する発明であって、基本パターン発生部,優先パターン発生部,いずれかを選択するセレクタからなる検証支援方法が開示されている。
しかしながら、従来、LSIの論理検証においては、ダイレクト検証のみを実施する方法、ランダム検証のみを実施する方法、ダイレクト検証及びランダム検証の両方を逐次的に実施する方法の何れを利用したとしても、カバレッジを100%にする(もしくは100%に近づける)ことが難しかった。 However, conventionally, in the logic verification of LSI, regardless of which of the method of performing only direct verification, the method of performing only random verification, and the method of sequentially performing both direct verification and random verification, coverage is used. It was difficult to make 100% (or close to 100%).
例えば「ある任意の状態において、ある特定の条件が与えられたときに、状態Bに遷移する」という状態遷移が設計されているLSI内の状態遷移(ステートマシン)の論理検証について考える。このLSI内における状態遷移を、ダイレクト検証のみを実施する方法、ランダム検証のみを実施する方法、ダイレクト検証及びランダム検証の両方を逐次的に実施する方法の何れかを用いて論理検証しようとした場合は、カバレッジの点で以下の問題が生じていた。 For example, consider logic verification of a state transition (state machine) in an LSI in which a state transition “transition to state B when a specific condition is given in a certain arbitrary state” is designed. When the state transition in this LSI is to be logically verified using any one of a method for performing only direct verification, a method for performing only random verification, and a method for sequentially performing both direct verification and random verification. Had the following problems in terms of coverage.
ダイレクト検証のみを実施する場合は「任意の状態」の網羅が難しかった。ランダム検証のみを実施する場合は「特定の条件」が与えられにくいという問題があった。ダイレクト検証及びランダム検証の両方を逐次的に実施する場合は「任意の状態において、ある特定の条件が与えられる」という場合を網羅することが難しかった。 When only direct verification was performed, it was difficult to cover “any state”. When only random verification is performed, there is a problem that it is difficult to give a “specific condition”. When both direct verification and random verification are performed sequentially, it is difficult to cover the case where “a specific condition is given in an arbitrary state”.
なお、特許文献1は、ある機能の正当性を優先パターン発生部で発生する優先パターンで早めに論理検証しつつ、基本パターン発生部で発生した基本パターンで広範囲の論理検証を行うものであって、「任意の状態において、ある特定の条件が与えられる」という場合を網羅することが難しいという問題を解決するものではない。
Note that
本発明は、上記の点に鑑みなされたもので、論理検証における検証網羅性を向上させることが可能なテストデータ生成プログラム、テストデータ生成装置及びテストデータ生成方法を提供することを目的とする。 SUMMARY An advantage of some aspects of the invention is that it provides a test data generation program, a test data generation apparatus, and a test data generation method capable of improving the verification coverage in logic verification.
上記課題を解決するため、本発明は、記憶手段にアクセス可能なコンピュータを、ユーザにより作成された1つ以上のテストパターン群を前記記憶手段に格納する第1テストパターン格納手段と、ランダムなテストパターンを順次発生するランダムパターン発生手段と、前記ランダムパターン発生手段により発生するランダムなテストパターンを前記記憶手段に格納する第2テストパターン格納手段と、前記第2テストパターン格納手段により前記記憶手段に格納されたテストパターンと前記第1テストパターン格納手段により前記記憶手段に格納された前記テストパターン群の先頭にあるテストパターンとの一致を監視し、一致を検知すると、一致を検知した前記テストパターン群に定められているテストパターンの順番に前記テストパターンを出力し、一致を検知しなければ、前記第2テストパターン格納手段により前記記憶手段に格納されている前記テストパターンを、格納した順番に出力するパターン制御手段として機能させる為のテストデータ生成プログラムであることを特徴とする。 In order to solve the above problems, the present invention provides a computer capable of accessing storage means, a first test pattern storage means for storing one or more test pattern groups created by a user in the storage means, and a random test. Random pattern generation means for sequentially generating patterns, second test pattern storage means for storing random test patterns generated by the random pattern generation means in the storage means, and storage means by the second test pattern storage means When the match between the stored test pattern and the test pattern at the head of the test pattern group stored in the storage means is monitored by the first test pattern storage means and a match is detected, the test pattern in which the match is detected The test patterns are arranged in the order of the test patterns defined for the group. If no match is detected, test data generation for causing the second test pattern storage means to function as pattern control means for outputting the test patterns stored in the storage means in the order of storage It is a program.
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。 In addition, what applied the component, expression, or arbitrary combination of the component of this invention to a method, an apparatus, a system, a computer program, a recording medium, a data structure, etc. is also effective as an aspect of this invention.
上述の如く、本発明によれば、論理検証における検証網羅性を向上させることが可能なテストデータ生成プログラム、テストデータ生成装置及びテストデータ生成方法を提供可能である。 As described above, according to the present invention, it is possible to provide a test data generation program, a test data generation device, and a test data generation method that can improve the verification coverage in logic verification.
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では集積回路の一例としてLSIのテストパターンを生成する例を説明するが、テストパターンにより論理検証を行う如何なる集積回路であってもよい。 Next, the best mode for carrying out the present invention will be described based on the following embodiments with reference to the drawings. In this embodiment, an example in which an LSI test pattern is generated is described as an example of an integrated circuit. However, any integrated circuit that performs logic verification using a test pattern may be used.
図1は、テストデータ生成装置の一例の構成図である。テストデータ生成装置は、それぞれバスBで相互に接続されている入力装置11,出力装置12,ドライブ装置13,補助記憶装置14,主記憶装置15,演算処理装置16およびインターフェース装置17で構成される。
FIG. 1 is a configuration diagram of an example of a test data generation apparatus. The test data generation device is composed of an input device 11, an
入力装置11はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置12はディスプレイ装置などで構成され、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置17は、外部の機器やネットワークと接続する為に用いられる。
The input device 11 includes a keyboard and a mouse, and is used for inputting various signals. The
本発明のテストデータ生成プログラムは、テストデータ生成装置を制御する各種プログラムの少なくとも一部である。テストデータ生成プログラムは例えば記録媒体18の配布やネットワークからのダウンロードなどによって提供される。テストデータ生成プログラムを記録した記録媒体18は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
The test data generation program of the present invention is at least a part of various programs that control the test data generation apparatus. The test data generation program is provided, for example, by distributing the
テストデータ生成プログラムを記録した記録媒体18がドライブ装置13にセットされると、テストデータ生成プログラムは記録媒体18からドライブ装置13を介して補助記憶装置14にインストールされる。ネットワークからダウンロードされたテストデータ生成プログラムは、インターフェース装置17を介して補助記憶装置14にインストールされる。
When the
テストデータ生成装置は、インストールされたテストデータ生成プログラムを格納すると共に、必要なファイル,データ等を格納する。主記憶装置15は、補助記憶装置14からテストデータ生成プログラムを読み出して格納する。そして、演算処理装置16は主記憶装置15に格納されたテストデータ生成プログラムに従って、後述するような各種処理を実現している。なお、以下の実施例ではテストデータ生成プログラムをテストデータ生成モジュールと呼ぶ。
The test data generation apparatus stores the installed test data generation program and stores necessary files, data, and the like. The
図2は、テストデータ生成モジュールが生成するテストデータ(テストパターン)の一例のイメージ図である。テストデータ生成モジュールが生成するテストパターンはランダムテストパターンが基本となっており、後述のタイミングでダイレクトテストパターンが割り込む形となる。ダイレクトテストパターンは、検証担当者が作成したテストパターンを言う。ダイレクトテストパターンは複数定義することができ、また、それぞれに優先度を設定することができる。ダイレクトテストパターンは、優先度の順番でランダムテストパターンに割り込む。図2の例では、優先度1のダイレクトテストパターンが最初にランダムテストパターンに割り込み、優先度2のダイレクトテストパターンが次にランダムテストパターンに割り込んだ例を示している。
FIG. 2 is an image diagram of an example of test data (test pattern) generated by the test data generation module. The test pattern generated by the test data generation module is basically a random test pattern, and the direct test pattern is interrupted at the timing described later. The direct test pattern is a test pattern created by a person in charge of verification. A plurality of direct test patterns can be defined, and priority can be set for each. The direct test pattern interrupts the random test pattern in order of priority. In the example of FIG. 2, the direct test pattern with
図3は、テストデータ生成モジュールの一例の構成図である。図3のテストデータ生成モジュール20は、ランダムパターン発生部21,パターン制御部22,LSI I/F変換部23,パターンDB24,ダイレクトDB25を有する構成である。
FIG. 3 is a configuration diagram of an example of the test data generation module. The test
ランダムパターン発生部21はランダムパターン発生関数により実現される。ランダムパターン発生関数はランダムなテストパターンを発生し、パターンDBに格納する。
The random
パターン制御部22はパターン制御関数により実現される。パターン制御関数はランダムテストパターンとダイレクトテストパターンとの切り替えを制御し、ランダムテストパターン及びダイレクトテストパターンのどちらか一方をLSI I/F変換部23へ出力する。なお、パターン制御関数は検証対象となるLSIからの受信完了信号に基づいたタイミングで、ランダムテストパターン及びダイレクトテストパターンのどちらか一方を出力する。受信完了信号は、次にランダムテストパターン及びダイレクトテストパターンのどちらか一方を出力するタイミングを示している。
The
LSI I/F変換部23はLSI I/F変換関数により実現される。パターン制御部22からの送信イベントに基づき、LSI I/F変換関数はパターン制御部22からランダムテストパターン及びダイレクトテストパターンのどちらか一方を受信する。LSI I/F変換関数はパターン制御部22から受信したランダムテストパターン及びダイレクトテストパターンのどちらか一方を、検証対象となるLSIのインターフェースやタイミングに合わせて変換し、テストデータ生成モジュール20の外から受信したクロックに基づいたタイミングで出力する。
The LSI I /
パターンDB24は、ランダムパターン発生関数が発生したランダムなテストパターンを格納するデータベースである。ダイレクトDB25は、検証担当者が作成したダイレクトテストパターンの内容を格納するデータベースである。
The
図4はランダムパターン発生関数の処理概要を示すフローチャートである。ステップS1に進み、ランダムパターン発生関数は後述のルールリストを満たすランダムなデータ値を順次発生する。ステップS2に進み、ランダムパターン発生関数は順次発生したランダムなデータ値をテストパターンとしてパターンDB24に格納する。なお、図4のフローチャートに示す処理は、前述した受信完了信号の周期に比べて非常に速い周期で繰り返される。
FIG. 4 is a flowchart showing an outline of processing of the random pattern generation function. In step S1, the random pattern generation function sequentially generates random data values that satisfy a rule list described later. In step S2, the random pattern generation function stores sequentially generated random data values in the
図5は、パターン制御関数の処理概要を示すフローチャートである。まず、パターン制御関数はステップS11に進み、ランダム検証を行うランダム状態となる。パターン制御関数はパターンDB24から古い順番(格納した順番)にテストパターンを検索し、ランダムテストパターンとして出力する。なお、パターン制御関数はランダムテストパターンの出力に後述のルールリストに基づく制約事項がある場合、その制約事項を考慮してランダムテストパターンの出力を行う。
FIG. 5 is a flowchart showing an outline of processing of the pattern control function. First, the pattern control function proceeds to step S11 and enters a random state in which random verification is performed. The pattern control function retrieves test patterns from the
ランダム状態において、パターン制御関数はダイレクトDB25に格納されているダイレクトテストパターン(テストパターン群)の先頭にあるテストパターンが、パターンDB24に格納されている何れかのランダムなテストパターンと一致するまで、パターンDB24から古い順番にテストパターンを検索し、ランダムテストパターンとして出力し続ける。
In the random state, the pattern control function is used until the test pattern at the head of the direct test pattern (test pattern group) stored in the
一方、ランダム状態において、パターン制御関数はダイレクトDB25に格納されているダイレクトテストパターンの先頭にあるテストパターンが、パターンDB24に格納されている何れかのランダムなテストパターンと一致すると、ステップS12に進み、ダイレクト検証を行うダイレクト状態となる。
On the other hand, in the random state, when the test pattern at the head of the direct test pattern stored in the
ステップS12では、パターン制御関数が、ダイレクトDB25に格納されているダイレクトテストパターンの順番となるように、パターンDB24からテストパターンを検索して出力する。ステップS12の処理は、ダイレクトDB25に格納されているダイレクトテストパターンの先頭にあるテストパターンから最後にあるテストパターンまで順番に行われる。
In step S12, the test pattern is retrieved from the
パターン制御関数は、ダイレクトDB25に格納されているダイレクトテストパターンの最後にあるテストパターンまでステップS12の処理が到達すると、ステップS11に戻り、ランダム状態となる。
When the process of step S12 reaches the test pattern at the end of the direct test pattern stored in the
図6はLSI I/F変換関数の処理概要を示すフローチャートである。ステップS21に進み、LSI I/F変換関数はパターン制御部22からの送信イベントを待つ。パターン制御部22からの送信イベントを受信すると、LSI I/F変換関数はステップS22に進み、パターン制御部22から受信したランダムテストパターン及びダイレクトテストパターンのどちらか一方を、検証対象となるLSIのインターフェースやタイミングに合わせて変換し、テストデータ生成モジュール20の外から受信したクロックに基づいたタイミングで送信する。
FIG. 6 is a flowchart showing an outline of processing of the LSI I / F conversion function. In
図7はテストデータ生成モジュールがテストパターンをどのように生成しているかを示したイメージ図である。図7ではテストパターンの違いを色で表している。図7では優先度1のダイレクトテストパターンの内容と優先度2のダイレクトテストパターンの内容とがダイレクトDB25に格納されている例を表している。
FIG. 7 is an image diagram showing how the test data generation module generates a test pattern. In FIG. 7, the difference in the test pattern is represented by a color. FIG. 7 shows an example in which the contents of the direct test pattern with
優先度1のダイレクトテストパターンの内容は、先頭からテストパターン赤,橙,黄が格納されている。また、優先度2のダイレクトテストパターンの内容は先頭からテストパターン緑,白,白が格納されている。
The contents of the direct test pattern with
図7(1)に表したパターンDB24は古い順にテストパターン青,紫,橙,白,白を格納している。図7(1)ではパターンDB24に、ダイレクトDB25に格納されている優先度1のダイレクトテストパターンの先頭にあるテストパターン赤に一致するテストパターンが無いため、パターンDB24に格納されている最古のテストパターン青をランダムテストパターンとして出力する。
The
図7(2)に表したパターンDB24は古い順にテストパターン紫,橙,白,白,赤を格納している。図7(2)ではパターンDB24に、ダイレクトDB25に格納されている優先度1のダイレクトテストパターンの先頭にあるテストパターン赤に一致するテストパターン赤が追加されたため、パターンDB24に格納されているテストパターン赤をダイレクトテストパターンとして出力する。
The
図7(3)に表したパターンDB24は古い順にテストパターン紫,橙,白,白,白を格納している。図7(3)ではパターンDB24に、ダイレクトDB25に格納されている優先度1のダイレクトテストパターンの2番目にあるテストパターン橙に一致するテストパターン橙が有るため、パターンDB24に格納されているテストパターン橙をダイレクトテストパターンとして出力する。
The
図7(4)に表したパターンDB24は古い順にテストパターン紫,白,白,白,黄を格納している。図7(4)ではパターンDB24に、ダイレクトDB25に格納されている優先度1のダイレクトテストパターンの最後にあるテストパターン黄に一致するテストパターン黄が追加されるまで待つ。そして、図7(4)ではパターンDB24にテストパターン黄が追加されると、パターンDB24に格納されているテストパターン黄をダイレクトテストパターンとして出力する。
The
図7(5)に表したパターンDB24は古い順にテストパターン紫,白,白,白,白を格納している。図7(5)では優先度1のダイレクトテストパターンに定められている順番でパターンDB24からテストパターンを出力済みの為、優先度2のダイレクトテストパターンに対する処理に移る。
The
図7(5)ではパターンDB24に、ダイレクトDB25に格納されている優先度2のダイレクトテストパターンの先頭にあるテストパターン緑に一致するテストパターンが無いため、パターンDB24に格納されている最古のテストパターン紫をランダムテストパターンとして出力する。
In FIG. 7 (5), since there is no test pattern in the
図7(6)に表したパターンDB24は古い順にテストパターン白,白,白,白,緑を格納している。図7(6)ではパターンDB24に、ダイレクトDB25に格納されている優先度2のダイレクトテストパターンの先頭にあるテストパターン緑に一致するテストパターン緑が追加されるまで待つ。そして、図7(6)ではパターンDB24にテストパターン緑が追加されると、パターンDB24に格納されているテストパターン緑をダイレクトテストパターンとして出力する。以下、同様にして処理を続ける。
The
本発明によるテストデータ生成モジュール20ではランダムに発生したテストパターンがダイレクトテストパターンの先頭にあるテストパターンと一致することにより、ランダム検証からダイレクト検証に移行する仕組みとなっている。そこで、本発明によるテストデータ生成モジュール20では、ランダムなテストパターンを検証対象となるLSIが要求するテストパターンの周期よりも非常に高速に発生させ、パターンDB24へ格納しておくことにより、ランダムに発生するテストパターンをダイレクトテストパターンの先頭にあるテストパターンと一致させやすく(ダイレクト検証に移行しやすく)している。
The test
ところで、検証対象となるLSIの種類毎に、テストデータ生成モジュール20を人手により生成するのは非効率である。そこで、本発明によるテストデータ生成モジュール20はモジュール生成ツールを使用して自動生成する。
Incidentally, it is inefficient to manually generate the test
図8はモジュール生成ツールを使用したテストデータ生成モジュールの生成手順を表したフローチャートである。図8に表したフローチャートの前提は以下の通りである。テストデータ生成モジュール20は、SystemC(ハードウェア記述用C++クラスライブラリ)で生成される。テストデータ生成モジュール20は、LSIからの受信完了信号を受信後、次のテストパターン(ランダムテストパターン又はダイレクトテストパターンの何れか)をLSIに送信する。
FIG. 8 is a flowchart showing the generation procedure of the test data generation module using the module generation tool. The premise of the flowchart shown in FIG. 8 is as follows. The test
テストパターンの内容は、仮想フレームデータとする。また、1フレーム=1テストパターン=16ビットデータとする。LSIは、テストデータ生成モジュール20から仮想フレームデータを受信する仕様である。LSIは、テストデータ生成モジュール20からフレームデータを受信後、受信完了信号をテストデータ生成モジュール20に送信する仕様である。LSIは、フレームデータ値に従って内部の状態が遷移する仕様である。
The contents of the test pattern are virtual frame data. Also, 1 frame = 1 test pattern = 16 bit data. The LSI is a specification for receiving virtual frame data from the test
テストデータ生成モジュール20を生成する場合はテストデータ生成モジュール20を生成する為のインプットとなるコンフィグレーション31,ルールリスト32,パターンリスト33を作成する。
When generating the test
図9は、コンフィグレーションの一例の構成図である。コンフィグレーション31はテストデータ生成モジュール20の各種属性を設定するファイルである。例えばコンフィグレーション31はテストパターン生成モジュール名,フレームサイズ,ランダムフレームデータ発生回数,LSIクロック周波数,LSI I/Fビット幅,LSI I/Fエンディアン方向等の各種属性が設定されている。なお、LSI I/Fエンディアン方向はフレームデータを分割して転送する場合に、最上位から順番に転送するか、最下位から順番に転送するかを表すものである。
FIG. 9 is a configuration diagram of an example of the configuration. The
図10はルールリストの一例の構成図である。ルールリスト32はLSIの仕様上、テストパターンの内容に制約事項がある場合に、制約事項を設定するファイルである。例えばルールリスト32はテストパターン値「0x00001」の次はテストパターン値「0x0002」を発行すること、テストパターン値「0xe000」を禁止すること、テストパターン値の範囲を「0x0000〜0x7fff」とすること等が、制約事項として設定されている。
FIG. 10 is a configuration diagram of an example of the rule list. The
図11はパターンリストの一例の構成図である。パターンリスト33は検証担当者が作成したダイレクト検証用のダイレクトテストパターンを示すファイルである。図11のパターンリスト33はダイレクトテストパターン名(pattern_name)、優先度(prio)、テストパターン値(data)が設定されている。図11のパターンリスト33は、ダイレクトテストパターンが、順番の決められた1つ以上のテストパターン値を含むように設定されている。
FIG. 11 is a configuration diagram of an example of a pattern list. The
モジュール生成ツール30は、図9のコンフィグレーション31,図10のルールリスト32及び図11のパターンリストを入力されると、テストデータ生成モジュール20を後述のように生成する。
When the
生成されたテストデータ生成モジュール20は、例えば図12に示すようなLSI論理検証環境(テストベンチ)40へ組み込まれる。図12はテストベンチの一例の構成図である。図12のテストデータ生成モジュール20には、検証対象となるLSI41が接続されている。信号モニタ42は、LSI41から出力される信号をモニタするモジュールである。信号モニタ42は、本発明と直接的な関係が無いため、説明を省略する。
The generated test
生成されたテストデータ生成モジュール20は、例えば図13に示すようなLSI論理検証環境(テストベンチ)50へ組み込まれるようにしてもよい。図13はテストベンチの他の例の構成図である。図13のテストデータ生成モジュール20には、検証対象となるLSI41が接続されている。また、テストデータ生成モジュール20にはリファレンスモデル51が接続されている。リファレンスモデル51は検証対象となるLSI41と同じ動作をするソフトウェアにより実現される。リファレンスモデル51には検証対象となるLSI41と同じテストパターンが入力される。
The generated test
信号チェッカ52は、LSI41から出力される信号と、リファレンスモデル51から出力される信号との一致又は不一致をチェックするモジュールである。信号チェッカ52は本発明と直接的な関係が無いため、説明を省略する。
The
図12の例では、テストデータ生成モジュール20,テストベンチ40,検証対象となるLSI41,信号モニタ42をシミュレータでコンパイルし、シミュレーションを実行することにより、テストデータ生成モジュール20から図2に示すようなテストパターンが発生し、検証対象となるLSI41を論理検証することができる。
In the example of FIG. 12, the test
図13の例では、テストデータ生成モジュール20,検証対象となるLSI41,テストベンチ50,リファレンスモデル51,信号チェッカ52をシミュレータでコンパイルし、シミュレーションを実行することにより、テストデータ生成モジュール20から図2に示すようなテストパターンが発生し、検証対象となるLSI41を論理検証することができる。
In the example of FIG. 13, the test
図14はパターンDBの内部イメージを表した構成図である。図14のパターンDB24はindex,データ,次データをデータ項目として有している。indexは値が小さい程、古いことを表している。データはランダムパターン発生関数が発生したランダムなテストパターン値である。次データは、次のテストパターン値に制約がある場合、その制約のあるテストパターン値を設定し、制約が無ければ「−1」を設定している。
FIG. 14 is a configuration diagram showing an internal image of the pattern DB. The
図15はダイレクトDBの内部イメージを表した構成図である。図15のダイレクトDB25は、図11のダイレクトパターンを読み込んだときのダイレクトDB25の内部イメージを表している。ダイレクトDB25は項番,index,データをデータ項目として有している。
FIG. 15 is a configuration diagram showing an internal image of the direct DB. A
なお、項番は優先度を表している。項番は値が小さい程、高い優先度を表す。indexは値が小さい方からテストパターンの順番を表している。データはテストパターン値である。 The item number represents the priority. The item number represents a higher priority as the value is smaller. The index represents the order of the test pattern from the smallest value. Data are test pattern values.
図16は、ランダムパターン発生関数の処理を示すフローチャートである。ステップS31に進み、ランダムパターン発生関数はランダムにデータ値を発生する。ステップS32に進み、ランダムパターン発生関数は、前のテストデータ値(前データ値)が「0x0001」であり、且つ、ステップS31で発生したデータ値が「0x0002」以外でないかを判定する。 FIG. 16 is a flowchart showing the processing of the random pattern generation function. In step S31, the random pattern generation function randomly generates data values. Proceeding to step S32, the random pattern generation function determines whether the previous test data value (previous data value) is “0x0001” and the data value generated in step S31 is not “0x0002”.
前データ値が「0x0001」であり、且つ、データ値が「0x0002」以外でなければ、ランダムパターン発生関数はフラグ1に「true」を設定した後、ステップS33に進む。一方、前データ値が「0x0001」であり、且つ、データ値が「0x0002」以外であれば、ランダムパターン発生関数はステップS32からステップS33に進む。
If the previous data value is “0x0001” and the data value is not “0x0002”, the random pattern generation function sets “true” in the
ステップS33に進み、ランダムパターン発生関数はデータ値が「0xe000」でないか否かを判定する。データ値が「0xe000」でなければ、ランダムパターン発生関数はフラグ1に「true」を設定した後、ステップS34に進む。一方、データ値が「0xe000」であれば、ランダムパターン発生関数はステップS33からステップS34に進む。
In step S33, the random pattern generation function determines whether the data value is not “0xe000”. If the data value is not “0xe000”, the random pattern generation function sets “true” in the
ステップS34に進み、ランダムパターン発生関数は、データ値の範囲が「0x0000」から「0x7fff」であるか否かを判定する。ランダムパターン発生関数はデータ値の範囲が「0x0000」から「0x7fff」であれば、フラグ3に「true」を設定した後、ステップS35に進む。一方、ランダムパターン発生関数はデータ値の範囲が「0x0000」から「0x7fff」でなければ、ステップS34からステップS35に進む。
Proceeding to step S34, the random pattern generation function determines whether or not the range of the data value is “0x0000” to “0x7fff”. If the data value range of the random pattern generation function is “0x0000” to “0x7fff”, “true” is set in the
ステップS35に進み、ランダムパターン発生関数は、データ値が「0x0001」であるか否かを判定する。データ値が「0x0001」であれば、ランダムパターン発生関数はパターンDB24のデータ項目「次データ」に「0x0002」を設定する。データ値が「0x0001」でなければ、ランダムパターン発生関数は、ステップS35からステップS36に進む。
In step S35, the random pattern generation function determines whether the data value is “0x0001”. If the data value is “0x0001”, the random pattern generation function sets “0x0002” in the data item “next data” of the
ステップS36に進み、ランダムパターン発生関数は、フラグ1〜3の全てに「true」が設定されているか否かを判定する。フラグ1〜3の全てに「true」が設定されていなければ、図10のルールリストに基づく制約事項を満たしていないデータ値を発生したため、ランダムパターン発生関数はステップS31に戻る。一方、フラグ1〜3の全てに「true」が設定されていれば、図10のルールリストに基づく制約事項を満たしているデータ値を発生したため、ランダムパターン発生関数はステップS37に進む。
Proceeding to step S36, the random pattern generation function determines whether or not “true” is set in all of the
ステップS37では、ランダムパターン発生関数が、データ及び次データをパターンDB24に追加する。ステップS38に進み、ランダムパターン発生関数はステップS37でパターンDB24に追加したデータを前データとして設定する。そして、ステップS39に進み、ランダムパターン発生関数は、受信完了信号の周期に比べて非常に速い周期の時間待ったあと、ステップS31に戻る。
In step S37, the random pattern generation function adds the data and the next data to the
図16に示したフローチャートの処理により、ランダムパターン発生関数はルールリスト32を満たすランダムなデータ値を順次発生できる。
The random pattern generation function can sequentially generate random data values satisfying the
図17はパターン制御関数の処理を示すフローチャートである。パターン制御関数はステップS41に進み、初期値として、状態=ランダム,次データ=−1,項番=0,ダイレクトDB index=0を設定する。ステップS42に進み、パターン制御関数はパターンDB index=0を設定する。 FIG. 17 is a flowchart showing processing of the pattern control function. In step S41, the pattern control function sets state = random, next data = −1, item number = 0, and direct DB index = 0 as initial values. In step S42, the pattern control function sets pattern DB index = 0.
ステップS43に進み、パターン制御関数は、ランダム状態かダイレクト状態かを判定する。ランダム状態であれば、パターン制御関数はステップS44に進み、ダイレクトDB25に格納されているダイレクトテストパターンの先頭(テストパターン)に一致するテストパターンをパターンDB24から探す。
In step S43, the pattern control function determines whether the state is a random state or a direct state. If it is in the random state, the pattern control function proceeds to step S44 and searches the
ステップS45に進み、パターン制御関数はダイレクトDB25に格納されているダイレクトテストパターンの先頭(テストパターン)に一致するテストパターンがパターンDB24になければ、ステップS46に進む。ステップS46に進み、パターン制御関数はパターンDB24から最古(一番若いindex)のテストパターンをランダムテストパターンとして出力する。
Proceeding to step S45, the pattern control function proceeds to step S46 if there is no test pattern in the
なお、ステップS43でダイレクト状態と判定された場合、又はステップS45でダイレクトDB25に格納されているダイレクトテストパターンの先頭(テストパターン)に一致するテストパターンがパターンDB24にあると判定された場合、パターン制御関数はステップS47に進む。
If it is determined in step S43 that the pattern is in the direct state, or if it is determined in step S45 that the test pattern matching the beginning of the direct test pattern (test pattern) stored in the
ステップS47に進み、パターン制御関数はダイレクトDB25に格納されているダイレクトテストパターンの順番となるように、パターンDB24からテストパターンを検索して出力する。ステップS46又はS47に続いてステップS48に進み、パターン制御関数は受信完了信号を受信するまで待ったあと、ステップS42に戻る。
Proceeding to step S47, the pattern control function retrieves and outputs test patterns from the
続いて、ステップS44のパターン一致検索、ステップS46のランダムパターン出力及びステップS47のダイレクトパターン出力の処理について説明する。 Next, the process of pattern matching search at step S44, random pattern output at step S46, and direct pattern output at step S47 will be described.
図18は、パターン一致検索の処理を示すフローチャートである。まず、ステップS51に進み、パターン制御関数はパターンDB indexがパターンDB24のindexの範囲内であるか否かを判定する。パターンDB indexがパターンDB24のindexの範囲内であれば、パターン制御関数はステップS52に進む。
FIG. 18 is a flowchart showing a pattern matching search process. First, proceeding to step S51, the pattern control function determines whether or not the pattern DB index is within the range of the index of the
ステップS52に進み、パターン制御関数は、ダイレクトDB25の項番及びダイレクトDB indexに応じたテストパターン値と、パターンDB24のパターンDB indexに応じたテストパターン値とが一致するかを判定する。ダイレクトDB25の項番及びダイレクトDB indexに応じたテストパターン値と、パターンDB24のパターンDB indexに応じたテストパターン値とが一致すれば、ステップS54に進む。ステップS54に進み、パターン制御関数はランダム状態からダイレクト状態に移行する。
In step S52, the pattern control function determines whether the test pattern value corresponding to the item number of the
ダイレクトDB25の項番及びダイレクトDB indexに応じたテストパターン値と、パターンDB24のパターンDB indexに応じたテストパターン値とが一致しなければ、パターン制御関数はステップS53に進み、パターンDB indexに1を加算したあと、ステップS51に戻る。
If the test pattern value corresponding to the item number of the
ステップS54の処理後、又は、ステップS51においてパターンDB indexがパターンDB24のindexの範囲内でないと判定した後、パターン制御関数は図18に示すパターン一致検索の処理を終了する。
After the process of step S54 or after determining in step S51 that the pattern DB index is not within the range of the index of the
図19は、ランダムパターン出力の処理を示すフローチャートである。まず、ステップS61に進み、パターン制御関数はパターンDB indexに0を設定する。ステップS62に進み、パターン制御関数は、次データが−1であるか、又は−1以外の次データが次のパターンDB indexに対応するテストパターン値と一致しているかを判定する。 FIG. 19 is a flowchart showing a random pattern output process. First, proceeding to step S61, the pattern control function sets 0 to the pattern DB index. In step S62, the pattern control function determines whether the next data is -1 or whether the next data other than -1 matches the test pattern value corresponding to the next pattern DB index.
次データが−1でなく、又は−1以外の次データが次のパターンDB indexに対応するテストパターン値と一致していなければ、パターン制御関数はステップS64に進み、パターンDB indexに1を加算したあと、ステップS62に戻る。 If the next data is not -1 or the next data other than -1 does not match the test pattern value corresponding to the next pattern DB index, the pattern control function proceeds to step S64, and 1 is added to the pattern DB index. After that, the process returns to step S62.
一方、次データが−1であるか、又は−1以外の次データが次のパターンDB indexに対応するテストパターン値と一致していれば、パターン制御関数はステップS63に進み、パターンDB24からパターンDB indexに対応するデータ及び次データを読み出し、送信イベントを通知する。また、パターン制御関数はパターンDB indexに対応するテストパターンをパターンDB24から削除した後、図19に示すランダムパターン出力の処理を終了する。
On the other hand, if the next data is -1 or the next data other than -1 matches the test pattern value corresponding to the next pattern DB index, the pattern control function proceeds to step S63, and the pattern data is transferred from the
図20は、ダイレクトパターン出力の処理を示すフローチャートである。なお、図17のステップS43から進んだ場合は、ステップS71に進む。図17のステップS45から進んだ場合は、ステップS74に進む。ステップS71に進み、パターン制御関数はパターンDB indexが、パターンDB24のindexの範囲内であるか否かを判定する。パターンDB indexがパターンDB24のindexの範囲内であれば、パターン制御関数はステップS72に進む。
FIG. 20 is a flowchart showing a direct pattern output process. In addition, when progressing from step S43 of FIG. 17, it progresses to step S71. If the process proceeds from step S45 in FIG. 17, the process proceeds to step S74. In step S71, the pattern control function determines whether or not the pattern DB index is within the range of the index of the
ステップS72に進み、パターン制御関数は、項番及びダイレクトDB indexに対応するテストパターン値と、パターンDB indexに対応するテストパターン値とが一致するか否かを判定する。項番及びダイレクトDB indexに対応するテストパターン値と、パターンDB indexに対応するテストパターン値とが一致すれば、パターン制御関数はパターンDB24からパターンDB indexに対応するデータ及び次データを読み出し、送信イベントを通知する。パターン制御関数はパターンDB indexに対応するテストパターンをパターンDB24から削除した後、ステップS75に進む。
Proceeding to step S72, the pattern control function determines whether or not the test pattern value corresponding to the item number and direct DB index matches the test pattern value corresponding to the pattern DB index. If the test pattern value corresponding to the item number and the direct DB index matches the test pattern value corresponding to the pattern DB index, the pattern control function reads the data corresponding to the pattern DB index and the next data from the
ステップS75に進み、パターン制御関数はダイレクトDB indexが終端であるかを判定する。ダイレクトDB indexが終端であれば、パターン制御関数はステップS77に進み、ダイレクト状態からランダム状態に移行すると共に、項番に1を加算し、ダイレクトDB index=0を設定した後、図20に示すダイレクトパターン出力の処理を終了する。パターン制御関数は、ダイレクトDB indexが終端でなければ、ステップS76に進み、ダイレクトDB indexに1を加算した後、図20に示すダイレクトパターン出力の処理を終了する。 Proceeding to step S75, the pattern control function determines whether the direct DB index is terminated. If the direct DB index is at the end, the pattern control function proceeds to step S77, shifts from the direct state to the random state, adds 1 to the item number, sets direct DB index = 0, and then is shown in FIG. The direct pattern output process ends. If the direct DB index is not the end, the pattern control function proceeds to step S76, adds 1 to the direct DB index, and then ends the direct pattern output processing shown in FIG.
なお、ステップS71においてパターンDB indexがパターンDB24のindexの範囲内でなければ、パターン制御関数は図20に示すダイレクトパターン出力の処理を終了する。
If the pattern DB index is not within the range of the index of the
図21はモジュール生成ツールの処理手順を表したフローチャートである。ステップS81に進み、モジュール生成ツール30はテストデータ生成モジュール20を生成する為のインプットとなるコンフィグレーション31,ルールリスト32,パターンリスト33を読み込んで内部テーブルに展開する。
FIG. 21 is a flowchart showing the processing procedure of the module generation tool. In step S81, the
ステップS82に進み、モジュール生成ツール30はクラス定義部をヘッダファイルに出力する。ステップS83に進み、モジュール生成ツール30はランダムパターン発生関数定義をソースファイルに出力する。ステップS84に進み、モジュール生成ツール30はパターン制御関数定義をソースファイルに出力する。また、ステップS85に進み、モジュール生成ツール30はLSI I/F変換関数定義をソースファイルに出力する。
In step S82, the
図21における下線部はコンフィグレーション31,ルールリスト32,パターンリスト33から値をあてがう項目である。図22〜図25はテストデータ生成モジュール20のソースコードを表した一例のイメージ図である。
21 are items to which values are assigned from the
図22〜図25では、コンフィグレーション31,ルールリスト32,パターンリスト33による可変記述要素が、ソースコードの中で、どのようにあてがわれるかを注釈で記述している。具体的に、図22〜図25中、「/***〜***/」のコメントで記述されている箇所は、ソースコード(テストデータ生成モジュール20)の可変記述要素となるものを示している。
In FIG. 22 to FIG. 25, how variable description elements based on the
コンフィグレーション31,ルールリスト32,パターンリスト33から読み込まれたパラメータ値やパターン値を使用して、モジュール生成ツール30はソースコードの可変記述要素を決定する。それ以外の箇所は、固定の形で出力される。
Using the parameter values and pattern values read from the
本発明によるテストデータ生成モジュール20は、ランダムパターン発生部21でテストパターンをランダムに発生し、発生したテストパターンが所定のダイレクトパターンの先頭(テストパターン)と一致するかを監視する。テストデータ生成モジュール20は発生したテストパターンが所定のダイレクトパターンの先頭(テストパターン)と一致する場合にランダムパターン発生部21で発生したテストパターンからダイレクトパターンの順番にテストパターンを優先的に出力し、一致しない場合にランダムパターン発生部21で発生した順番にテストパターンを出力することで、ランダムテストパターンによる広範囲の検証を行うだけでは網羅し難い複雑な条件の処理をダイレクトテストパターンで網羅することを可能とした。
The test
前述したように、本発明によるテストデータ生成モジュール20はランダム検証中にダイレクト検証が割り込む動作を行い、従来の方法で網羅しにくい機能(状態遷移)を網羅することができる。したがって、本発明によるテストデータ生成モジュール20はダイレクト検証のみ、或いはランダム検証のみ、又はそれらの逐次的検証を用いて検証する場合に生じやすい検証網羅性不足を防止し、LSIの品質を向上させることができる。
As described above, the test
以上、本発明によるテストデータ生成モジュール20はLSIの論理検証において検証網羅性を向上させることができる。なお、前述した本実施例ではパターンDB24からテストパターンを出力する構成を説明したが、ダイレクト検証時にダイレクトDB25からテストパターンを出力する構成も可能である。
As described above, the test
本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
記憶手段にアクセス可能なコンピュータを、
ユーザにより作成された1つ以上のテストパターン群を前記記憶手段に格納する第1テストパターン格納手段と、
ランダムなテストパターンを順次発生するランダムパターン発生手段と、
前記ランダムパターン発生手段により発生するランダムなテストパターンを前記記憶手段に格納する第2テストパターン格納手段と、
前記第2テストパターン格納手段により前記記憶手段に格納されたテストパターンと前記第1テストパターン格納手段により前記記憶手段に格納された前記テストパターン群の先頭にあるテストパターンとの一致を監視し、一致を検知すると、一致を検知した前記テストパターン群に定められているテストパターンの順番に前記テストパターンを出力し、一致を検知しなければ、前記第2テストパターン格納手段により前記記憶手段に格納されている前記テストパターンを、格納した順番に出力するパターン制御手段と
して機能させる為のテストデータ生成プログラム。
(付記2)
前記パターン制御手段は、一致を検知すると、一致を検知した前記テストパターン群に定められている先頭にあるテストパターンから最後にあるテストパターンまで、順番通りになるように前記記憶手段より、前記第2テストパターン格納手段により格納された前記テストパターンを読み出して出力することを特徴とする付記1記載のテストデータ生成プログラム。
(付記3)
前記第1テストパターン格納手段は、優先度が設定されている前記1つ以上のテストパターン群を前記記憶手段に格納しており、
前記パターン制御手段は、前記優先度に従った順番で、前記テストパターン群に定められているテストパターンの順番に前記テストパターンを出力することを特徴とする付記1又は2記載のテストデータ生成プログラム。
(付記4)
前記ランダムパターン発生手段は、テスト対象の集積回路の仕様上、順次発生する前記テストパターンの内容に制約事項がある場合、その制約事項に応じた前記テストパターンを順次発生することを特徴とする付記1乃至3何れか一項記載のテストデータ生成プログラム。
(付記5)
前記テストデータ生成プログラムは、テストデータ生成装置の属性を設定するファイルと、テスト対象の集積回路の仕様上、順次発生する前記テストパターンの内容に制約がある場合、その制約事項を設定するファイルと、前記第1テストパターン格納手段に格納される前記1つ以上のテストパターン群を設定するファイルとに基づき、生成されることを特徴とする付記1乃至4何れか一項記載のテストデータ生成プログラム。
(付記6)
テストデータを生成して出力するテストデータ生成装置であって、
ユーザにより作成された1つ以上のテストパターン群を格納する第1テストパターン格納手段と、
ランダムなテストパターンを順次発生するランダムパターン発生手段と、
前記ランダムパターン発生手段により発生するランダムなテストパターンを格納する第2テストパターン格納手段と、
前記第2テストパターン格納手段に格納されたテストパターンと前記第1テストパターン格納手段に格納された前記テストパターン群の先頭にあるテストパターンとの一致を監視し、一致を検知すると、一致を検知した前記テストパターン群に定められているテストパターンの順番に前記テストパターンを出力し、一致を検知しなければ、前記第2テストパターン格納手段に格納されている前記テストパターンを、格納した順番に出力するパターン制御手段と
を有することを特徴とするテストデータ生成装置。
(付記7)
テストデータを生成して出力するテストデータ生成装置におけるテストデータ生成方法であって、
記憶手段にアクセス可能なコンピュータを、
ユーザにより作成された1つ以上のテストパターン群を前記記憶手段に格納する第1テストパターン格納手順と、
ランダムなテストパターンを順次発生するランダムパターン発生手順と、
前記ランダムパターン発生手段により発生するランダムなテストパターンを前記記憶手段に格納する第2テストパターン格納手順と、
前記第2テストパターン格納手順で前記記憶手段に格納されたテストパターンと前記第1テストパターン格納手順で前記記憶手段に格納された前記テストパターン群の先頭にあるテストパターンとの一致を監視する監視手順と、
前記監視手順で一致を検知すると、一致を検知した前記テストパターン群に定められているテストパターンの順番に前記テストパターンを出力し、一致を検知しなければ、前記第2テストパターン格納手段により前記記憶手段に格納されている前記テストパターンを、格納した順番に出力するパターン制御手順と
を有することを特徴とするテストデータ生成方法。
The present invention may have the following configurations as described below.
(Appendix 1)
A computer accessible to the storage means,
First test pattern storage means for storing one or more test pattern groups created by a user in the storage means;
Random pattern generating means for sequentially generating random test patterns;
Second test pattern storage means for storing a random test pattern generated by the random pattern generation means in the storage means;
Monitoring the match between the test pattern stored in the storage unit by the second test pattern storage unit and the test pattern at the head of the test pattern group stored in the storage unit by the first test pattern storage unit; When the coincidence is detected, the test patterns are output in the order of the test patterns defined in the test pattern group in which the coincidence is detected. When no coincidence is detected, the test pattern is stored in the storage unit by the second test pattern storage unit. A test data generation program for functioning as pattern control means for outputting the test patterns in the stored order.
(Appendix 2)
When the pattern control unit detects a match, the pattern control unit causes the storage unit to store the first test pattern and the last test pattern defined in the test pattern group in which the match is detected, in order. 2. The test data generation program according to
(Appendix 3)
The first test pattern storage means stores the one or more test pattern groups for which priority is set in the storage means,
The test data generation program according to
(Appendix 4)
The random pattern generation means sequentially generates the test patterns according to the restrictions when there are restrictions on the contents of the test patterns that are sequentially generated according to the specifications of the test target integrated circuit. The test data generation program according to any one of 1 to 3.
(Appendix 5)
The test data generation program includes a file for setting the attributes of the test data generation device, and a file for setting the restrictions when the contents of the test patterns that are sequentially generated are limited due to the specifications of the integrated circuit to be tested. The test data generation program according to any one of
(Appendix 6)
A test data generation device that generates and outputs test data,
First test pattern storage means for storing one or more test pattern groups created by a user;
Random pattern generating means for sequentially generating random test patterns;
Second test pattern storage means for storing a random test pattern generated by the random pattern generation means;
A match between the test pattern stored in the second test pattern storage means and the test pattern at the head of the test pattern group stored in the first test pattern storage means is monitored, and if a match is detected, a match is detected. If the test patterns are output in the order of the test patterns defined in the test pattern group and no match is detected, the test patterns stored in the second test pattern storage means are output in the stored order. A test data generation apparatus comprising: pattern control means for outputting.
(Appendix 7)
A test data generation method in a test data generation device that generates and outputs test data,
A computer accessible to the storage means,
A first test pattern storage procedure for storing one or more test pattern groups created by a user in the storage means;
Random pattern generation procedure for generating random test patterns sequentially,
A second test pattern storage procedure for storing a random test pattern generated by the random pattern generation means in the storage means;
Monitoring for monitoring the coincidence between the test pattern stored in the storage means in the second test pattern storage procedure and the test pattern at the head of the test pattern group stored in the storage means in the first test pattern storage procedure Procedure and
When a match is detected in the monitoring procedure, the test patterns are output in the order of the test patterns defined in the test pattern group in which the match is detected. If no match is detected, the second test pattern storage means A test data generation method comprising: a pattern control procedure for outputting the test patterns stored in the storage means in the order of storage.
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.
11 入力装置
12 出力装置
13 ドライブ装置
14 補助記憶装置
15 主記憶装置
16 演算処理装置
17 インターフェース装置
20 テストデータ生成モジュール
21 ランダムパターン発生部
22 パターン制御部
23 LSI I/F変換部
24 パターンDB
25 ダイレクトDB
30 モジュール生成ツール
31 コンフィグレーション
32 ルールリスト
33 パターンリスト
40,50 LSI論理検証環境(テストベンチ)
41 検証対象となるLSI
42 信号モニタ
51 リファレンスモデル
52 信号チェッカ
DESCRIPTION OF SYMBOLS 11
25 Direct DB
30
41 LSI to be verified
42 Signal monitor 51
Claims (7)
ユーザにより作成された1つ以上のテストパターン群を前記記憶手段に格納する第1テストパターン格納手段と、
ランダムなテストパターンを順次発生するランダムパターン発生手段と、
前記ランダムパターン発生手段により発生するランダムなテストパターンを前記記憶手段に格納する第2テストパターン格納手段と、
前記第2テストパターン格納手段により前記記憶手段に格納されたテストパターンと前記第1テストパターン格納手段により前記記憶手段に格納された前記テストパターン群の先頭にあるテストパターンとの一致を監視し、一致を検知すると、一致を検知した前記テストパターン群に定められているテストパターンの順番に前記テストパターンを出力し、一致を検知しなければ、前記第2テストパターン格納手段により前記記憶手段に格納されている前記テストパターンを、格納した順番に出力するパターン制御手段と
して機能させる為のテストデータ生成プログラム。 A computer accessible to the storage means,
First test pattern storage means for storing one or more test pattern groups created by a user in the storage means;
Random pattern generating means for sequentially generating random test patterns;
Second test pattern storage means for storing a random test pattern generated by the random pattern generation means in the storage means;
Monitoring the match between the test pattern stored in the storage unit by the second test pattern storage unit and the test pattern at the head of the test pattern group stored in the storage unit by the first test pattern storage unit; When the coincidence is detected, the test patterns are output in the order of the test patterns defined in the test pattern group in which the coincidence is detected. When no coincidence is detected, the test pattern is stored in the storage unit by the second test pattern storage unit. A test data generation program for functioning as pattern control means for outputting the test patterns in the stored order.
前記パターン制御手段は、前記優先度に従った順番で、前記テストパターン群に定められているテストパターンの順番に前記テストパターンを出力することを特徴とする請求項1又は2記載のテストデータ生成プログラム。 The first test pattern storage means stores the one or more test pattern groups for which priority is set in the storage means,
3. The test data generation according to claim 1, wherein the pattern control means outputs the test patterns in the order of the test patterns defined in the test pattern group in the order according to the priority. program.
ユーザにより作成された1つ以上のテストパターン群を格納する第1テストパターン格納手段と、
ランダムなテストパターンを順次発生するランダムパターン発生手段と、
前記ランダムパターン発生手段により発生するランダムなテストパターンを格納する第2テストパターン格納手段と、
前記第2テストパターン格納手段に格納されたテストパターンと前記第1テストパターン格納手段に格納された前記テストパターン群の先頭にあるテストパターンとの一致を監視し、一致を検知すると、一致を検知した前記テストパターン群に定められているテストパターンの順番に前記テストパターンを出力し、一致を検知しなければ、前記第2テストパターン格納手段に格納されている前記テストパターンを、格納した順番に出力するパターン制御手段と
を有することを特徴とするテストデータ生成装置。 A test data generation device that generates and outputs test data,
First test pattern storage means for storing one or more test pattern groups created by a user;
Random pattern generating means for sequentially generating random test patterns;
Second test pattern storage means for storing a random test pattern generated by the random pattern generation means;
A match between the test pattern stored in the second test pattern storage means and the test pattern at the head of the test pattern group stored in the first test pattern storage means is monitored, and if a match is detected, a match is detected. If the test patterns are output in the order of the test patterns defined in the test pattern group and no match is detected, the test patterns stored in the second test pattern storage means are output in the stored order. A test data generation apparatus comprising: pattern control means for outputting.
記憶手段にアクセス可能なコンピュータを、
ユーザにより作成された1つ以上のテストパターン群を前記記憶手段に格納する第1テストパターン格納手順と、
ランダムなテストパターンを順次発生するランダムパターン発生手順と、
前記ランダムパターン発生手段により発生するランダムなテストパターンを前記記憶手段に格納する第2テストパターン格納手順と、
前記第2テストパターン格納手順で前記記憶手段に格納されたテストパターンと前記第1テストパターン格納手順で前記記憶手段に格納された前記テストパターン群の先頭にあるテストパターンとの一致を監視する監視手順と、
前記監視手順で一致を検知すると、一致を検知した前記テストパターン群に定められているテストパターンの順番に前記テストパターンを出力し、一致を検知しなければ、前記第2テストパターン格納手段により前記記憶手段に格納されている前記テストパターンを、格納した順番に出力するパターン制御手順と
を有することを特徴とするテストデータ生成方法。 A test data generation method in a test data generation device that generates and outputs test data,
A computer accessible to the storage means,
A first test pattern storage procedure for storing one or more test pattern groups created by a user in the storage means;
Random pattern generation procedure for generating random test patterns sequentially,
A second test pattern storage procedure for storing a random test pattern generated by the random pattern generation means in the storage means;
Monitoring for monitoring the coincidence between the test pattern stored in the storage means in the second test pattern storage procedure and the test pattern at the head of the test pattern group stored in the storage means in the first test pattern storage procedure Procedure and
When a match is detected in the monitoring procedure, the test patterns are output in the order of the test patterns defined in the test pattern group in which the match is detected. If no match is detected, the second test pattern storage means A test data generation method comprising: a pattern control procedure for outputting the test patterns stored in the storage means in the order of storage.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007275268A JP4918907B2 (en) | 2007-10-23 | 2007-10-23 | Test data generation program, test data generation device, and test data generation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007275268A JP4918907B2 (en) | 2007-10-23 | 2007-10-23 | Test data generation program, test data generation device, and test data generation method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009104387A true JP2009104387A (en) | 2009-05-14 |
JP4918907B2 JP4918907B2 (en) | 2012-04-18 |
Family
ID=40706000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007275268A Expired - Fee Related JP4918907B2 (en) | 2007-10-23 | 2007-10-23 | Test data generation program, test data generation device, and test data generation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4918907B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015132928A (en) * | 2014-01-10 | 2015-07-23 | 富士通株式会社 | Verification method, verification apparatus, and verification program |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102026662B1 (en) | 2013-04-22 | 2019-09-30 | 삼성전자 주식회사 | Apparatus and method for generating test case for processor verification and, verification apparatus |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04142475A (en) * | 1990-10-02 | 1992-05-15 | Nec Corp | Test pattern generating method |
JP2004157002A (en) * | 2002-11-06 | 2004-06-03 | Nec Electronics Corp | Semiconductor testing device |
JP2006127109A (en) * | 2004-10-28 | 2006-05-18 | Canon Inc | Verification device of logic circuit |
JP2007188443A (en) * | 2006-01-16 | 2007-07-26 | Fujitsu Ltd | Verification support program, storage medium recording this program, verification support device and verification support method |
-
2007
- 2007-10-23 JP JP2007275268A patent/JP4918907B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04142475A (en) * | 1990-10-02 | 1992-05-15 | Nec Corp | Test pattern generating method |
JP2004157002A (en) * | 2002-11-06 | 2004-06-03 | Nec Electronics Corp | Semiconductor testing device |
JP2006127109A (en) * | 2004-10-28 | 2006-05-18 | Canon Inc | Verification device of logic circuit |
JP2007188443A (en) * | 2006-01-16 | 2007-07-26 | Fujitsu Ltd | Verification support program, storage medium recording this program, verification support device and verification support method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015132928A (en) * | 2014-01-10 | 2015-07-23 | 富士通株式会社 | Verification method, verification apparatus, and verification program |
Also Published As
Publication number | Publication date |
---|---|
JP4918907B2 (en) | 2012-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7299155B2 (en) | Method and apparatus for decomposing and verifying configurable hardware | |
US8417504B2 (en) | Conversion of circuit description to a transaction model | |
CN100573537C (en) | A kind of SOC chip system grade verification system and method | |
US7475370B2 (en) | System for verification using reachability overapproximation | |
EP1093619B1 (en) | System and method for identifying finite state machines and verifying circuit designs | |
CN112560401B (en) | Verilog file conversion method, device, storage medium and equipment | |
US7346864B2 (en) | Logic design development tool and method | |
JP4078435B2 (en) | Logic integrated circuit, logic integrated circuit design method, and hardware description generation method for generating hardware operation description of logic integrated circuit | |
JP2006285333A (en) | Operation composition device and method | |
JP2000207440A (en) | Device and method for verifying design of semiconductor integrated circuit and storage medium | |
JP4918907B2 (en) | Test data generation program, test data generation device, and test data generation method | |
US7949509B2 (en) | Method and tool for generating simulation case for IC device | |
US6532573B1 (en) | LSI verification method, LSI verification apparatus, and recording medium | |
US8689153B1 (en) | M and A for importing hardware description language into a system level design environment | |
JP2005108007A (en) | Lsi design verification apparatus and lsi design verification method | |
US20040143813A1 (en) | System development supporting apparatus, system development supporting method, and computer-readable recorded medium | |
JPWO2006025412A1 (en) | Logic verification method, logic module data, device data, and logic verification apparatus | |
JP2006268165A (en) | Timing analyzing device for integrated circuit, timing optimizing device for integrated circuit, timing analyzing method for integrated circuit, timing optimizing method for integrated circuit, method for manufacturing integrated circuit board, control program and readable recording medium | |
JP2004133525A (en) | Device and method for verifying lsi design | |
Densmore et al. | Microarchitecture development via metropolis successive platform refinement | |
JP5328447B2 (en) | High-level synthesis apparatus and high-level synthesis method, semiconductor integrated circuit manufacturing method, control program, and readable storage medium | |
US6877140B1 (en) | Method and system for generating a schematic representing bus structures | |
US20040194044A1 (en) | Device for creating timing constraints | |
Oddos et al. | Synthorus: Highly efficient automatic synthesis from psl to hdl | |
CN214959850U (en) | MIPI circuit board based on FPGA system on a chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100616 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111209 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120104 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4918907 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150210 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |