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 PDF

Info

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
Application number
JP2007275268A
Other languages
Japanese (ja)
Other versions
JP4918907B2 (en
Inventor
Satoru Hiramoto
覚 平本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007275268A priority Critical patent/JP4918907B2/en
Publication of JP2009104387A publication Critical patent/JP2009104387A/en
Application granted granted Critical
Publication of JP4918907B2 publication Critical patent/JP4918907B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a test data generating program, a test data generating device, and a test data generating method, capable of improving exhaustiveness in validation for logic verification. <P>SOLUTION: A computer comprises a first test pattern storage means for storing test patterns generated by a user, a random pattern generating means for sequentially generating random test patterns, a second test pattern storage means for storing the random test patterns, and a pattern control means which monitors matching with a test pattern at the top of test patterns stored in a storage means by the first and second test pattern storage means, and if agreement is detected, outputs test patterns in the order specified in the test patterns, and if no agreement is detected, outputs the test patterns stored in the storage means by the second test pattern storage means in the order of storing. <P>COPYRIGHT: (C)2009,JPO&INPIT

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には、テストパターンの作成に関する発明であって、基本パターン発生部,優先パターン発生部,いずれかを選択するセレクタからなる検証支援方法が開示されている。
特開2007−188443号公報
Conventionally, in LSI logic verification, there are 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. For example, Patent Document 1 discloses a verification support method including a selector for selecting either a basic pattern generation unit or a priority pattern generation unit, which is an invention relating to test pattern creation.
JP 2007-188443 A

しかしながら、従来、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 Patent Document 1 performs a wide range of logical verifications with the basic pattern generated by the basic pattern generation unit while validating the validity of a certain function early with the priority pattern generated by the priority pattern generation unit. However, this does not solve the problem that it is difficult to cover the case where “a specific condition is given in an arbitrary state”.

本発明は、上記の点に鑑みなされたもので、論理検証における検証網羅性を向上させることが可能なテストデータ生成プログラム、テストデータ生成装置及びテストデータ生成方法を提供することを目的とする。   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 output device 12, a drive device 13, an auxiliary storage device 14, a main storage device 15, an arithmetic processing device 16, and an interface device 17 that are mutually connected by a bus B. .

入力装置11はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置12はディスプレイ装置などで構成され、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置17は、外部の機器やネットワークと接続する為に用いられる。   The input device 11 includes a keyboard and a mouse, and is used for inputting various signals. The output device 12 includes a display device and is used to display various windows and data. The interface device 17 is used to connect to an external device or network.

本発明のテストデータ生成プログラムは、テストデータ生成装置を制御する各種プログラムの少なくとも一部である。テストデータ生成プログラムは例えば記録媒体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 recording medium 18 or downloading from the network. The recording medium 18 on which the test data generating program is recorded is a recording medium such as a CD-ROM, a flexible disk, a magneto-optical disk, etc. for recording information optically, electrically or magnetically, a ROM, a flash memory, etc. Various types of recording media such as a semiconductor memory for electrically recording information can be used.

テストデータ生成プログラムを記録した記録媒体18がドライブ装置13にセットされると、テストデータ生成プログラムは記録媒体18からドライブ装置13を介して補助記憶装置14にインストールされる。ネットワークからダウンロードされたテストデータ生成プログラムは、インターフェース装置17を介して補助記憶装置14にインストールされる。   When the recording medium 18 on which the test data generation program is recorded is set in the drive device 13, the test data generation program is installed from the recording medium 18 to the auxiliary storage device 14 via the drive device 13. The test data generation program downloaded from the network is installed in the auxiliary storage device 14 via the interface device 17.

テストデータ生成装置は、インストールされたテストデータ生成プログラムを格納すると共に、必要なファイル,データ等を格納する。主記憶装置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 main storage device 15 reads the test data generation program from the auxiliary storage device 14 and stores it. The arithmetic processing unit 16 implements various processes as will be described later in accordance with the test data generation program stored in the main storage unit 15. In the following embodiments, the test data generation program is called a test data generation module.

図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 priority 1 interrupts the random test pattern first, and the direct test pattern with priority 2 interrupts the random test pattern next.

図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 data generation module 20 in FIG. 3 includes a random pattern generation unit 21, a pattern control unit 22, an LSI I / F conversion unit 23, a pattern DB 24, and a direct DB 25.

ランダムパターン発生部21はランダムパターン発生関数により実現される。ランダムパターン発生関数はランダムなテストパターンを発生し、パターンDBに格納する。   The random pattern generation unit 21 is realized by a random pattern generation function. The random pattern generation function generates a random test pattern and stores it in the pattern DB.

パターン制御部22はパターン制御関数により実現される。パターン制御関数はランダムテストパターンとダイレクトテストパターンとの切り替えを制御し、ランダムテストパターン及びダイレクトテストパターンのどちらか一方をLSI I/F変換部23へ出力する。なお、パターン制御関数は検証対象となるLSIからの受信完了信号に基づいたタイミングで、ランダムテストパターン及びダイレクトテストパターンのどちらか一方を出力する。受信完了信号は、次にランダムテストパターン及びダイレクトテストパターンのどちらか一方を出力するタイミングを示している。   The pattern control unit 22 is realized by a pattern control function. The pattern control function controls switching between the random test pattern and the direct test pattern, and outputs either the random test pattern or the direct test pattern to the LSI I / F conversion unit 23. The pattern control function outputs either a random test pattern or a direct test pattern at a timing based on a reception completion signal from the LSI to be verified. The reception completion signal indicates the timing for outputting either the random test pattern or the direct test pattern next.

LSI I/F変換部23はLSI I/F変換関数により実現される。パターン制御部22からの送信イベントに基づき、LSI I/F変換関数はパターン制御部22からランダムテストパターン及びダイレクトテストパターンのどちらか一方を受信する。LSI I/F変換関数はパターン制御部22から受信したランダムテストパターン及びダイレクトテストパターンのどちらか一方を、検証対象となるLSIのインターフェースやタイミングに合わせて変換し、テストデータ生成モジュール20の外から受信したクロックに基づいたタイミングで出力する。   The LSI I / F conversion unit 23 is realized by an LSI I / F conversion function. Based on the transmission event from the pattern control unit 22, the LSI I / F conversion function receives either a random test pattern or a direct test pattern from the pattern control unit 22. The LSI I / F conversion function converts either the random test pattern or the direct test pattern received from the pattern control unit 22 according to the interface and timing of the LSI to be verified, and from outside the test data generation module 20. Output at timing based on the received clock.

パターンDB24は、ランダムパターン発生関数が発生したランダムなテストパターンを格納するデータベースである。ダイレクトDB25は、検証担当者が作成したダイレクトテストパターンの内容を格納するデータベースである。   The pattern DB 24 is a database that stores a random test pattern generated by a random pattern generation function. The direct DB 25 is a database that stores the contents of the direct test pattern created by the person in charge of verification.

図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 pattern DB 24 as test patterns. Note that the processing shown in the flowchart of FIG. 4 is repeated at a cycle that is extremely faster than the cycle of the reception completion signal described above.

図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 pattern DB 24 in the oldest order (stored order) and outputs them as random test patterns. Note that when there are restrictions based on a rule list described later in the output of the random test pattern, the pattern control function outputs the random test pattern in consideration of the restrictions.

ランダム状態において、パターン制御関数はダイレクト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 direct DB 25 matches any random test pattern stored in the pattern DB 24. Test patterns are searched from the pattern DB 24 in the oldest order, and output as random test patterns.

一方、ランダム状態において、パターン制御関数はダイレクト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 direct DB 25 matches any random test pattern stored in the pattern DB 24, the pattern control function proceeds to step S12. In a direct state, direct verification is performed.

ステップS12では、パターン制御関数が、ダイレクトDB25に格納されているダイレクトテストパターンの順番となるように、パターンDB24からテストパターンを検索して出力する。ステップS12の処理は、ダイレクトDB25に格納されているダイレクトテストパターンの先頭にあるテストパターンから最後にあるテストパターンまで順番に行われる。   In step S12, the test pattern is retrieved from the pattern DB 24 and output so that the pattern control function is in the order of the direct test patterns stored in the direct DB 25. The process of step S12 is performed in order from the test pattern at the beginning of the direct test pattern stored in the direct DB 25 to the test pattern at the end.

パターン制御関数は、ダイレクトDB25に格納されているダイレクトテストパターンの最後にあるテストパターンまでステップS12の処理が到達すると、ステップS11に戻り、ランダム状態となる。   When the process of step S12 reaches the test pattern at the end of the direct test pattern stored in the direct DB 25, the pattern control function returns to step S11 and enters a random state.

図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 step S 21, the LSI I / F conversion function waits for a transmission event from the pattern control unit 22. When the transmission event from the pattern control unit 22 is received, the LSI I / F conversion function proceeds to step S22, and either the random test pattern or the direct test pattern received from the pattern control unit 22 is verified by the LSI to be verified. The data is converted according to the interface and timing, and transmitted at a timing based on the clock received from outside the test data generation module 20.

図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 priority 1 and the contents of the direct test pattern with priority 2 are stored in the direct DB 25.

優先度1のダイレクトテストパターンの内容は、先頭からテストパターン赤,橙,黄が格納されている。また、優先度2のダイレクトテストパターンの内容は先頭からテストパターン緑,白,白が格納されている。   The contents of the direct test pattern with priority 1 store test patterns red, orange, and yellow from the top. The contents of the direct test pattern with priority 2 store the test patterns green, white, and white from the top.

図7(1)に表したパターンDB24は古い順にテストパターン青,紫,橙,白,白を格納している。図7(1)ではパターンDB24に、ダイレクトDB25に格納されている優先度1のダイレクトテストパターンの先頭にあるテストパターン赤に一致するテストパターンが無いため、パターンDB24に格納されている最古のテストパターン青をランダムテストパターンとして出力する。   The pattern DB 24 shown in FIG. 7A stores test patterns blue, purple, orange, white, and white in order from the oldest. In FIG. 7A, since there is no test pattern in the pattern DB 24 that matches the test pattern red at the head of the direct test pattern of priority 1 stored in the direct DB 25, the oldest stored in the pattern DB 24 is stored. The test pattern blue is output as a random test pattern.

図7(2)に表したパターンDB24は古い順にテストパターン紫,橙,白,白,赤を格納している。図7(2)ではパターンDB24に、ダイレクトDB25に格納されている優先度1のダイレクトテストパターンの先頭にあるテストパターン赤に一致するテストパターン赤が追加されたため、パターンDB24に格納されているテストパターン赤をダイレクトテストパターンとして出力する。   The pattern DB 24 shown in FIG. 7B stores the test patterns purple, orange, white, white, and red in order from the oldest. In FIG. 7 (2), the test DB stored in the pattern DB 24 is added to the pattern DB 24 because the test pattern red that matches the test pattern red at the head of the direct test pattern of priority 1 stored in the direct DB 25 is added. The pattern red is output as a direct test pattern.

図7(3)に表したパターンDB24は古い順にテストパターン紫,橙,白,白,白を格納している。図7(3)ではパターンDB24に、ダイレクトDB25に格納されている優先度1のダイレクトテストパターンの2番目にあるテストパターン橙に一致するテストパターン橙が有るため、パターンDB24に格納されているテストパターン橙をダイレクトテストパターンとして出力する。   The pattern DB 24 shown in FIG. 7 (3) stores the test patterns purple, orange, white, white, and white in order from the oldest. In FIG. 7 (3), since there is a test pattern orange in the pattern DB 24 that matches the second test pattern orange of the direct test pattern of priority 1 stored in the direct DB 25, the test stored in the pattern DB 24 The pattern orange is output as a direct test pattern.

図7(4)に表したパターンDB24は古い順にテストパターン紫,白,白,白,黄を格納している。図7(4)ではパターンDB24に、ダイレクトDB25に格納されている優先度1のダイレクトテストパターンの最後にあるテストパターン黄に一致するテストパターン黄が追加されるまで待つ。そして、図7(4)ではパターンDB24にテストパターン黄が追加されると、パターンDB24に格納されているテストパターン黄をダイレクトテストパターンとして出力する。   The pattern DB 24 shown in FIG. 7 (4) stores test patterns purple, white, white, white, and yellow in order from the oldest. In FIG. 7 (4), the process waits until a test pattern yellow that matches the test pattern yellow at the end of the direct test pattern of priority 1 stored in the direct DB 25 is added to the pattern DB 24. 7 (4), when the test pattern yellow is added to the pattern DB 24, the test pattern yellow stored in the pattern DB 24 is output as a direct test pattern.

図7(5)に表したパターンDB24は古い順にテストパターン紫,白,白,白,白を格納している。図7(5)では優先度1のダイレクトテストパターンに定められている順番でパターンDB24からテストパターンを出力済みの為、優先度2のダイレクトテストパターンに対する処理に移る。   The pattern DB 24 shown in FIG. 7 (5) stores the test patterns purple, white, white, white, and white in chronological order. In FIG. 7 (5), since the test patterns have already been output from the pattern DB 24 in the order defined in the direct test pattern with priority 1, the process moves to the direct test pattern with priority 2.

図7(5)ではパターンDB24に、ダイレクトDB25に格納されている優先度2のダイレクトテストパターンの先頭にあるテストパターン緑に一致するテストパターンが無いため、パターンDB24に格納されている最古のテストパターン紫をランダムテストパターンとして出力する。   In FIG. 7 (5), since there is no test pattern in the pattern DB 24 that matches the test pattern green at the head of the direct test pattern of priority 2 stored in the direct DB 25, the oldest stored in the pattern DB 24 is stored. The test pattern purple is output as a random test pattern.

図7(6)に表したパターンDB24は古い順にテストパターン白,白,白,白,緑を格納している。図7(6)ではパターンDB24に、ダイレクトDB25に格納されている優先度2のダイレクトテストパターンの先頭にあるテストパターン緑に一致するテストパターン緑が追加されるまで待つ。そして、図7(6)ではパターンDB24にテストパターン緑が追加されると、パターンDB24に格納されているテストパターン緑をダイレクトテストパターンとして出力する。以下、同様にして処理を続ける。   The pattern DB 24 shown in FIG. 7 (6) stores test patterns white, white, white, white, and green in order from the oldest. In FIG. 7 (6), the process waits until a test pattern green that matches the test pattern green at the head of the direct test pattern of priority 2 stored in the direct DB 25 is added to the pattern DB 24. 7 (6), when the test pattern green is added to the pattern DB 24, the test pattern green stored in the pattern DB 24 is output as a direct test pattern. Thereafter, the processing is continued in the same manner.

本発明によるテストデータ生成モジュール20ではランダムに発生したテストパターンがダイレクトテストパターンの先頭にあるテストパターンと一致することにより、ランダム検証からダイレクト検証に移行する仕組みとなっている。そこで、本発明によるテストデータ生成モジュール20では、ランダムなテストパターンを検証対象となるLSIが要求するテストパターンの周期よりも非常に高速に発生させ、パターンDB24へ格納しておくことにより、ランダムに発生するテストパターンをダイレクトテストパターンの先頭にあるテストパターンと一致させやすく(ダイレクト検証に移行しやすく)している。   The test data generation module 20 according to the present invention has a mechanism for shifting from random verification to direct verification when a randomly generated test pattern matches the test pattern at the head of the direct test pattern. Therefore, in the test data generation module 20 according to the present invention, a random test pattern is generated at a very high speed than the cycle of the test pattern required by the LSI to be verified, and stored in the pattern DB 24 at random. The generated test pattern is easily matched with the test pattern at the head of the direct test pattern (it is easy to shift to direct verification).

ところで、検証対象となるLSIの種類毎に、テストデータ生成モジュール20を人手により生成するのは非効率である。そこで、本発明によるテストデータ生成モジュール20はモジュール生成ツールを使用して自動生成する。   Incidentally, it is inefficient to manually generate the test data generation module 20 for each type of LSI to be verified. Therefore, the test data generation module 20 according to the present invention is automatically generated using a module generation tool.

図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 data generation module 20 is generated by SystemC (C ++ class library for hardware description). After receiving the reception completion signal from the LSI, the test data generation module 20 transmits the next test pattern (either a random test pattern or a direct test pattern) to the LSI.

テストパターンの内容は、仮想フレームデータとする。また、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 data generation module 20. The LSI is a specification for transmitting a reception completion signal to the test data generation module 20 after receiving frame data from the test data generation module 20. The LSI is a specification in which an internal state transitions according to a frame data value.

テストデータ生成モジュール20を生成する場合はテストデータ生成モジュール20を生成する為のインプットとなるコンフィグレーション31,ルールリスト32,パターンリスト33を作成する。   When generating the test data generation module 20, a configuration 31, a rule list 32, and a pattern list 33 that are inputs for generating the test data generation module 20 are generated.

図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 configuration 31 is a file for setting various attributes of the test data generation module 20. For example, in the configuration 31, various attributes such as a test pattern generation module name, a frame size, the number of times of random frame data generation, an LSI clock frequency, an LSI I / F bit width, and an LSI I / F endian direction are set. Note that the LSI I / F endian direction indicates whether the frame data is transferred in order from the highest order or in order from the lowest order when the frame data is divided and transferred.

図10はルールリストの一例の構成図である。ルールリスト32はLSIの仕様上、テストパターンの内容に制約事項がある場合に、制約事項を設定するファイルである。例えばルールリスト32はテストパターン値「0x00001」の次はテストパターン値「0x0002」を発行すること、テストパターン値「0xe000」を禁止すること、テストパターン値の範囲を「0x0000〜0x7fff」とすること等が、制約事項として設定されている。   FIG. 10 is a configuration diagram of an example of the rule list. The rule list 32 is a file for setting restrictions when there are restrictions on the contents of the test pattern in the LSI specifications. For example, the rule list 32 issues a test pattern value “0x0002” next to the test pattern value “0x00001”, prohibits the test pattern value “0xe000”, and sets the range of the test pattern value to “0x0000 to 0x7fff”. Etc. are set as restrictions.

図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 pattern list 33 is a file indicating a direct test pattern for direct verification created by a person in charge of verification. In the pattern list 33 of FIG. 11, a direct test pattern name (pattern_name), a priority (prio), and a test pattern value (data) are set. The pattern list 33 in FIG. 11 is set so that the direct test pattern includes one or more test pattern values that are determined in order.

モジュール生成ツール30は、図9のコンフィグレーション31,図10のルールリスト32及び図11のパターンリストを入力されると、テストデータ生成モジュール20を後述のように生成する。   When the configuration 31 of FIG. 9, the rule list 32 of FIG. 10, and the pattern list of FIG. 11 are input, the module generation tool 30 generates the test data generation module 20 as described later.

生成されたテストデータ生成モジュール20は、例えば図12に示すようなLSI論理検証環境(テストベンチ)40へ組み込まれる。図12はテストベンチの一例の構成図である。図12のテストデータ生成モジュール20には、検証対象となるLSI41が接続されている。信号モニタ42は、LSI41から出力される信号をモニタするモジュールである。信号モニタ42は、本発明と直接的な関係が無いため、説明を省略する。   The generated test data generation module 20 is incorporated into an LSI logic verification environment (test bench) 40 as shown in FIG. 12, for example. FIG. 12 is a configuration diagram of an example of a test bench. An LSI 41 to be verified is connected to the test data generation module 20 in FIG. The signal monitor 42 is a module that monitors a signal output from the LSI 41. Since the signal monitor 42 is not directly related to the present invention, the description is omitted.

生成されたテストデータ生成モジュール20は、例えば図13に示すようなLSI論理検証環境(テストベンチ)50へ組み込まれるようにしてもよい。図13はテストベンチの他の例の構成図である。図13のテストデータ生成モジュール20には、検証対象となるLSI41が接続されている。また、テストデータ生成モジュール20にはリファレンスモデル51が接続されている。リファレンスモデル51は検証対象となるLSI41と同じ動作をするソフトウェアにより実現される。リファレンスモデル51には検証対象となるLSI41と同じテストパターンが入力される。   The generated test data generation module 20 may be incorporated into an LSI logic verification environment (test bench) 50 as shown in FIG. 13, for example. FIG. 13 is a configuration diagram of another example of the test bench. An LSI 41 to be verified is connected to the test data generation module 20 in FIG. A reference model 51 is connected to the test data generation module 20. The reference model 51 is realized by software that performs the same operation as the LSI 41 to be verified. The same test pattern as that of the LSI 41 to be verified is input to the reference model 51.

信号チェッカ52は、LSI41から出力される信号と、リファレンスモデル51から出力される信号との一致又は不一致をチェックするモジュールである。信号チェッカ52は本発明と直接的な関係が無いため、説明を省略する。   The signal checker 52 is a module that checks whether the signal output from the LSI 41 matches the signal output from the reference model 51. Since the signal checker 52 is not directly related to the present invention, the description thereof is omitted.

図12の例では、テストデータ生成モジュール20,テストベンチ40,検証対象となるLSI41,信号モニタ42をシミュレータでコンパイルし、シミュレーションを実行することにより、テストデータ生成モジュール20から図2に示すようなテストパターンが発生し、検証対象となるLSI41を論理検証することができる。   In the example of FIG. 12, the test data generation module 20, the test bench 40, the LSI 41 to be verified, and the signal monitor 42 are compiled by the simulator, and the simulation is executed. A test pattern is generated and the LSI 41 to be verified can be logically verified.

図13の例では、テストデータ生成モジュール20,検証対象となるLSI41,テストベンチ50,リファレンスモデル51,信号チェッカ52をシミュレータでコンパイルし、シミュレーションを実行することにより、テストデータ生成モジュール20から図2に示すようなテストパターンが発生し、検証対象となるLSI41を論理検証することができる。   In the example of FIG. 13, the test data generation module 20, the LSI 41 to be verified, the test bench 50, the reference model 51, and the signal checker 52 are compiled by the simulator, and the simulation is executed. The test pattern as shown in FIG. 6 is generated, and the LSI 41 to be verified can be logically verified.

図14はパターンDBの内部イメージを表した構成図である。図14のパターンDB24はindex,データ,次データをデータ項目として有している。indexは値が小さい程、古いことを表している。データはランダムパターン発生関数が発生したランダムなテストパターン値である。次データは、次のテストパターン値に制約がある場合、その制約のあるテストパターン値を設定し、制約が無ければ「−1」を設定している。   FIG. 14 is a configuration diagram showing an internal image of the pattern DB. The pattern DB 24 of FIG. 14 has an index, data, and next data as data items. The index indicates that the smaller the value, the older. The data is a random test pattern value generated by a random pattern generation function. In the next data, when there is a restriction on the next test pattern value, a test pattern value with the restriction is set, and when there is no restriction, “−1” is set.

図15はダイレクトDBの内部イメージを表した構成図である。図15のダイレクトDB25は、図11のダイレクトパターンを読み込んだときのダイレクトDB25の内部イメージを表している。ダイレクトDB25は項番,index,データをデータ項目として有している。   FIG. 15 is a configuration diagram showing an internal image of the direct DB. A direct DB 25 in FIG. 15 represents an internal image of the direct DB 25 when the direct pattern in FIG. 11 is read. The direct DB 25 has an item number, an index, and data as data items.

なお、項番は優先度を表している。項番は値が小さい程、高い優先度を表す。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 flag 1 and then proceeds to step S33. On the other hand, if the previous data value is “0x0001” and the data value is other than “0x0002”, the random pattern generation function proceeds from step S32 to step S33.

ステップ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 flag 1 and then proceeds to step S34. On the other hand, if the data value is “0xe000”, the random pattern generation function proceeds from step S33 to step S34.

ステップ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 flag 3 and the process proceeds to step S35. On the other hand, if the data value range of the random pattern generation function is not “0x0000” to “0x7fff”, the process proceeds from step S34 to step S35.

ステップ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 pattern DB 24. If the data value is not “0x0001”, the random pattern generation function proceeds from step S35 to step S36.

ステップ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 flags 1 to 3. If “true” is not set for all of the flags 1 to 3, a data value that does not satisfy the restrictions based on the rule list of FIG. 10 has been generated, and the random pattern generation function returns to step S 31. On the other hand, if “true” is set in all of the flags 1 to 3, the data value satisfying the restriction items based on the rule list of FIG. 10 has been generated, and the random pattern generation function proceeds to step S37.

ステップS37では、ランダムパターン発生関数が、データ及び次データをパターンDB24に追加する。ステップS38に進み、ランダムパターン発生関数はステップS37でパターンDB24に追加したデータを前データとして設定する。そして、ステップS39に進み、ランダムパターン発生関数は、受信完了信号の周期に比べて非常に速い周期の時間待ったあと、ステップS31に戻る。   In step S37, the random pattern generation function adds the data and the next data to the pattern DB 24. In step S38, the random pattern generation function sets the data added to the pattern DB 24 in step S37 as previous data. Then, the process proceeds to step S39, and the random pattern generation function waits for a period of time that is much faster than the period of the reception completion signal, and then returns to step S31.

図16に示したフローチャートの処理により、ランダムパターン発生関数はルールリスト32を満たすランダムなデータ値を順次発生できる。   The random pattern generation function can sequentially generate random data values satisfying the rule list 32 by the processing of the flowchart shown in FIG.

図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 pattern DB 24 for a test pattern that matches the head (test pattern) of the direct test pattern stored in the direct DB 25.

ステップ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 pattern DB 24 that matches the head (test pattern) of the direct test pattern stored in the direct DB 25. In step S46, the pattern control function outputs the oldest (youngest index) test pattern from the pattern DB 24 as a random test pattern.

なお、ステップ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 direct DB 25 is in the pattern DB 24, the pattern The control function proceeds to step S47.

ステップS47に進み、パターン制御関数はダイレクトDB25に格納されているダイレクトテストパターンの順番となるように、パターンDB24からテストパターンを検索して出力する。ステップS46又はS47に続いてステップS48に進み、パターン制御関数は受信完了信号を受信するまで待ったあと、ステップS42に戻る。   Proceeding to step S47, the pattern control function retrieves and outputs test patterns from the pattern DB 24 such that the order of the direct test patterns stored in the direct DB 25 is obtained. Progressing to step S48 following step S46 or S47, the pattern control function waits until the reception completion signal is received, and then returns to step S42.

続いて、ステップ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 pattern DB 24. If the pattern DB index is within the range of the index of the pattern DB 24, the pattern control function proceeds to step S52.

ステップ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 direct DB 25 and the direct DB index matches the test pattern value corresponding to the pattern DB index of the pattern DB 24. If the test pattern value corresponding to the item number of the direct DB 25 and the direct DB index matches the test pattern value corresponding to the pattern DB index of the pattern DB 24, the process proceeds to step S54. In step S54, the pattern control function shifts from the random state to the direct state.

ダイレクトDB25の項番及びダイレクトDB indexに応じたテストパターン値と、パターンDB24のパターンDB indexに応じたテストパターン値とが一致しなければ、パターン制御関数はステップS53に進み、パターンDB indexに1を加算したあと、ステップS51に戻る。   If the test pattern value corresponding to the item number of the direct DB 25 and the direct DB index does not match the test pattern value corresponding to the pattern DB index of the pattern DB 24, the pattern control function proceeds to step S53, and 1 is added to the pattern DB index. Then, the process returns to step S51.

ステップ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 pattern DB 24, the pattern control function ends the pattern matching search process shown in FIG.

図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 pattern DB 24 to the pattern. Data corresponding to the DB index and the next data are read, and a transmission event is notified. Further, the pattern control function deletes the test pattern corresponding to the pattern DB index from the pattern DB 24, and then ends the random pattern output process shown in FIG.

図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 pattern DB 24. If the pattern DB index is within the range of the index of the pattern DB 24, the pattern control function proceeds to step S72.

ステップ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 pattern DB 24, and transmits them. Notify the event. The pattern control function deletes the test pattern corresponding to the pattern DB index from the pattern DB 24, and then proceeds to step S75.

ステップ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 pattern DB 24 in step S71, the pattern control function ends the direct pattern output process shown in FIG.

図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 module generation tool 30 reads the configuration 31, the rule list 32, and the pattern list 33, which are inputs for generating the test data generation module 20, and expands them into an internal table.

ステップS82に進み、モジュール生成ツール30はクラス定義部をヘッダファイルに出力する。ステップS83に進み、モジュール生成ツール30はランダムパターン発生関数定義をソースファイルに出力する。ステップS84に進み、モジュール生成ツール30はパターン制御関数定義をソースファイルに出力する。また、ステップS85に進み、モジュール生成ツール30はLSI I/F変換関数定義をソースファイルに出力する。   In step S82, the module generation tool 30 outputs the class definition unit to a header file. In step S83, the module generation tool 30 outputs the random pattern generation function definition to the source file. In step S84, the module generation tool 30 outputs the pattern control function definition to the source file. In step S85, the module generation tool 30 outputs the LSI I / F conversion function definition to the source file.

図21における下線部はコンフィグレーション31,ルールリスト32,パターンリスト33から値をあてがう項目である。図22〜図25はテストデータ生成モジュール20のソースコードを表した一例のイメージ図である。   21 are items to which values are assigned from the configuration 31, the rule list 32, and the pattern list 33. 22 to 25 are image diagrams showing examples of the source code of the test data generation module 20.

図22〜図25では、コンフィグレーション31,ルールリスト32,パターンリスト33による可変記述要素が、ソースコードの中で、どのようにあてがわれるかを注釈で記述している。具体的に、図22〜図25中、「/***〜***/」のコメントで記述されている箇所は、ソースコード(テストデータ生成モジュール20)の可変記述要素となるものを示している。   In FIG. 22 to FIG. 25, how variable description elements based on the configuration 31, the rule list 32, and the pattern list 33 are assigned in the source code is described with annotations. Specifically, in FIG. 22 to FIG. 25, the part described by the comment “/ *** to *** /” indicates a variable description element of the source code (test data generation module 20). ing.

コンフィグレーション31,ルールリスト32,パターンリスト33から読み込まれたパラメータ値やパターン値を使用して、モジュール生成ツール30はソースコードの可変記述要素を決定する。それ以外の箇所は、固定の形で出力される。   Using the parameter values and pattern values read from the configuration 31, rule list 32, and pattern list 33, the module generation tool 30 determines the variable description elements of the source code. Other parts are output in a fixed form.

本発明によるテストデータ生成モジュール20は、ランダムパターン発生部21でテストパターンをランダムに発生し、発生したテストパターンが所定のダイレクトパターンの先頭(テストパターン)と一致するかを監視する。テストデータ生成モジュール20は発生したテストパターンが所定のダイレクトパターンの先頭(テストパターン)と一致する場合にランダムパターン発生部21で発生したテストパターンからダイレクトパターンの順番にテストパターンを優先的に出力し、一致しない場合にランダムパターン発生部21で発生した順番にテストパターンを出力することで、ランダムテストパターンによる広範囲の検証を行うだけでは網羅し難い複雑な条件の処理をダイレクトテストパターンで網羅することを可能とした。   The test data generation module 20 according to the present invention randomly generates a test pattern at the random pattern generation unit 21 and monitors whether the generated test pattern matches the head (test pattern) of a predetermined direct pattern. The test data generation module 20 preferentially outputs the test patterns in the order of the direct pattern from the test pattern generated by the random pattern generation unit 21 when the generated test pattern matches the head of the predetermined direct pattern (test pattern). If the test patterns are output in the order in which they are generated by the random pattern generator 21 when they do not match, the processing of complicated conditions that are difficult to cover simply by performing a wide range of verification using the random test patterns is covered by the direct test pattern. Made possible.

前述したように、本発明によるテストデータ生成モジュール20はランダム検証中にダイレクト検証が割り込む動作を行い、従来の方法で網羅しにくい機能(状態遷移)を網羅することができる。したがって、本発明によるテストデータ生成モジュール20はダイレクト検証のみ、或いはランダム検証のみ、又はそれらの逐次的検証を用いて検証する場合に生じやすい検証網羅性不足を防止し、LSIの品質を向上させることができる。   As described above, the test data generation module 20 according to the present invention performs an operation in which direct verification interrupts during random verification, and can cover functions (state transitions) that are difficult to cover by the conventional method. Therefore, the test data generation module 20 according to the present invention prevents the lack of verification coverage that is likely to occur when verification is performed using only direct verification, only random verification, or sequential verification thereof, and improves LSI quality. Can do.

以上、本発明によるテストデータ生成モジュール20はLSIの論理検証において検証網羅性を向上させることができる。なお、前述した本実施例ではパターンDB24からテストパターンを出力する構成を説明したが、ダイレクト検証時にダイレクトDB25からテストパターンを出力する構成も可能である。   As described above, the test data generation module 20 according to the present invention can improve the verification coverage in the logic verification of the LSI. In addition, although the structure which outputs a test pattern from pattern DB24 was demonstrated in the present Example mentioned above, the structure which outputs a test pattern from direct DB25 at the time of direct verification is also possible.

本発明は、以下に記載する付記のような構成が考えられる。
(付記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 1, wherein the test pattern stored by the test pattern storage means is read and output.
(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 claim 1 or 2, 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. .
(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 appendices 1 to 4, wherein the test data generation program is generated based on a file for setting the one or more test pattern groups stored in the first test pattern storage means. .
(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.

テストデータ生成装置の一例の構成図である。It is a block diagram of an example of a test data generation device. テストデータ生成モジュールが生成するテストデータ(テストパターン)の一例のイメージ図である。It is an image figure of an example of the test data (test pattern) which a test data generation module generates. テストデータ生成モジュールの一例の構成図である。It is a block diagram of an example of a test data generation module. ランダムパターン発生関数の処理概要を示すフローチャートである。It is a flowchart which shows the process outline | summary of a random pattern generation function. パターン制御関数の処理概要を示すフローチャートである。It is a flowchart which shows the process outline | summary of a pattern control function. LSI I/F変換関数の処理概要を示すフローチャートである。It is a flowchart which shows the process outline | summary of a LSI I / F conversion function. テストデータ生成モジュールがテストパターンをどのように生成しているかを示したイメージ図である。It is the image figure which showed how the test data generation module is generating the test pattern. モジュール生成ツールを使用したテストデータ生成モジュールの生成手順を表したフローチャートである。It is a flowchart showing the production | generation procedure of the test data production | generation module using a module production | generation tool. コンフィグレーションの一例の構成図である。It is a block diagram of an example of a configuration. ルールリストの一例の構成図である。It is a block diagram of an example of a rule list. パターンリストの一例の構成図である。It is a block diagram of an example of a pattern list. テストベンチの一例の構成図である。It is a block diagram of an example of a test bench. テストベンチの他の例の構成図である。It is a block diagram of the other example of a test bench. パターンDBの内部イメージを表した構成図である。It is a block diagram showing the internal image of pattern DB. ダイレクトDBの内部イメージを表した構成図である。It is a block diagram showing the internal image of direct DB. ランダムパターン発生関数の処理を示すフローチャートである。It is a flowchart which shows the process of a random pattern generation function. パターン制御関数の処理を示すフローチャートである。It is a flowchart which shows the process of a pattern control function. パターン一致検索の処理を示すフローチャートである。It is a flowchart which shows the process of a pattern matching search. ランダムパターン出力の処理を示すフローチャートである。It is a flowchart which shows the process of a random pattern output. ダイレクトパターン出力の処理を示すフローチャートである。It is a flowchart which shows the process of a direct pattern output. モジュール生成ツールの処理手順を表したフローチャートである。It is a flowchart showing the processing procedure of the module generation tool. テストデータ生成モジュール20のソースコード(1/4)を表した一例のイメージ図である。3 is an image diagram of an example representing a source code (1/4) of a test data generation module 20. FIG. テストデータ生成モジュール20のソースコード(2/4)を表した一例のイメージ図である。3 is an image diagram of an example representing a source code (2/4) of a test data generation module 20. FIG. テストデータ生成モジュール20のソースコード(3/4)を表した一例のイメージ図である。3 is an image diagram of an example representing a source code (3/4) of a test data generation module 20. FIG. テストデータ生成モジュール20のソースコード(4/4)を表した一例のイメージ図である。3 is an image diagram of an example representing a source code (4/4) of a test data generation module 20. FIG.

符号の説明Explanation of symbols

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 Input device 12 Output device 13 Drive device 14 Auxiliary storage device 15 Main storage device 16 Arithmetic processing device 17 Interface device 20 Test data generation module 21 Random pattern generation unit 22 Pattern control unit 23 LSI I / F conversion unit 24 Pattern DB
25 Direct DB
30 Module generation tool 31 Configuration 32 Rule list 33 Pattern list 40, 50 LSI logic verification environment (test bench)
41 LSI to be verified
42 Signal monitor 51 Reference model 52 Signal checker

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.
前記パターン制御手段は、一致を検知すると、一致を検知した前記テストパターン群に定められている先頭にあるテストパターンから最後にあるテストパターンまで、順番通りになるように前記記憶手段より、前記第2テストパターン格納手段により格納された前記テストパターンを読み出して出力することを特徴とする請求項1記載のテストデータ生成プログラム。   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 claim 1, wherein the test pattern stored by the two test pattern storage means is read and output. 前記第1テストパターン格納手段は、優先度が設定されている前記1つ以上のテストパターン群を前記記憶手段に格納しており、
前記パターン制御手段は、前記優先度に従った順番で、前記テストパターン群に定められているテストパターンの順番に前記テストパターンを出力することを特徴とする請求項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乃至3何れか一項記載のテストデータ生成プログラム。   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. Item 4. The test data generation program according to any one of Items 1 to 3. 前記テストデータ生成プログラムは、テストデータ生成装置の属性を設定するファイルと、テスト対象の集積回路の仕様上、順次発生する前記テストパターンの内容に制約がある場合、その制約事項を設定するファイルと、前記第1テストパターン格納手段に格納される前記1つ以上のテストパターン群を設定するファイルとに基づき、生成されることを特徴とする請求項1乃至4何れか一項記載のテストデータ生成プログラム。   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. 5. The test data generation according to claim 1, wherein the test data is generated based on a file for setting the one or more test pattern groups stored in the first test pattern storage unit. 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.
JP2007275268A 2007-10-23 2007-10-23 Test data generation program, test data generation device, and test data generation method Expired - Fee Related JP4918907B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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