JP3917342B2 - Test program generator for logic verification - Google Patents

Test program generator for logic verification Download PDF

Info

Publication number
JP3917342B2
JP3917342B2 JP2000012498A JP2000012498A JP3917342B2 JP 3917342 B2 JP3917342 B2 JP 3917342B2 JP 2000012498 A JP2000012498 A JP 2000012498A JP 2000012498 A JP2000012498 A JP 2000012498A JP 3917342 B2 JP3917342 B2 JP 3917342B2
Authority
JP
Japan
Prior art keywords
module
test program
sequence
verification
generating
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.)
Expired - Fee Related
Application number
JP2000012498A
Other languages
Japanese (ja)
Other versions
JP2001202263A (en
Inventor
貴彦 村田
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 JP2000012498A priority Critical patent/JP3917342B2/en
Publication of JP2001202263A publication Critical patent/JP2001202263A/en
Application granted granted Critical
Publication of JP3917342B2 publication Critical patent/JP3917342B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明はハードウェア設計における論理検証用テストプログラム生成装置に関する。
【0002】
情報処理システムを構成する複数のモジュールで構成するLSIのハードウェアとして競争力の高いものを市場に提供するには,信頼性が高く,コスト/パフォーマンスを低く,早期に要求されたものを設計する等の要求を満たす必要がある。そのため,設計規模の大規模化,設計期間の短縮化が要求されている。
【0003】
これを実現するため,信頼性の高い論理検証を短期間で行なう必要があり,現在ハードウェア設計の論理検証手法として論理シミュレーションが一般的に用いられている。
【0004】
従って,ハードウェア設計において信頼性の高い論理検証用テストプログラムを短期間で作成することが望まれている。
【0005】
【従来の技術】
図14は従来技術の説明図である。
【0006】
サーバ系マシーン等のような複数のCPUと,メモリ,データ転送のコントローラ,外部との高速のインタフェース等を含む大規模のLSIチップを作成する場合,先ずLSIの設計者81は,仕様書80に規定されたLSIに対する要求機能や性能を満たすように,LSIの論理設計を行なう。この場合の要求機能としては,例えば,メッセージを入力してこれに応答してどのような出力メッセージを発生させたいか,というものが含まれる。大規模または複雑な機能が要求されるLSIの場合,複数の設計者がそれぞれが担当する範囲を決めて個別に設計を行うのが一般的である。複数の設計者により設計されたLSIの設計回路を集めて設計データ82が得られると,検証者83に渡される。
【0007】
検証者83は設計データ82が仕様書により要求された機能や性能を満たすか否かを検証するための複数の検証項目830を作成する。次に各検証項目830に対応する回路機能を模擬するシミュレータ831を作成し,更にシミュレータ831により実行されるテストプログラム832を作成する。この時,シミュレータ831でのテストプログラム832によるテストの結果得られる期待値833を作成する。このようにして作成された,シミュレータにより,設計されたLSIの回路について,テストプログラム832を用いたシミュレータ831によるテストを行って,得られた結果が期待値833と一致するか比較して,一致すれば正しいものと判定され,一致しないと設計した回路に論理的な誤りがあると判定する。このシミュレータ831による判定の動作により,どの部分に誤りがあるかを検出することも可能であり,誤りの判定が発生しない場合には設計が正しいことが確認できる。なお,設計者による設計作業と検証者による検証は,実際には並行して行うことが多い。
【0008】
このように,従来の技術では,仕様書にはシステム全体の仕様は記述されていても,モジュール間のインタフェース仕様が不明瞭な場合がある。従って,インタフェース仕様を十分に意識したテストプログラムを作成するには,仕様書からインタフェースを推測し,また設計者にインタフェース仕様をインタビューにより問いただして明確にする作業が必要であった。
【0009】
また,検証者は過去のノウハウに基づいて,仕様書から設計誤りが起こりそうな部分(検証項目)を抽出して,テストプログラムを人手で作成しており,テストプログラムを作成する系統的な手順が確立されていない。
【0010】
【発明が解決しようとする課題】
上記したように従来の技術ではモジュール間のインタフェース仕様が不明確な仕様書では,インタフェース仕様を十分に意識したテストプログラムを作成することが困難である。
【0011】
また,システムの大規模化に伴い,システム検証用テストプログラムの生成工数が,システム設計工数全体に対して占める割り合いが大きくなりつつあるという問題があった。
【0012】
更に,最近システム全体で満たすべき仕様をモジュール毎に分割したモジュール検証が提案されているが,その際にもインタフェース仕様が不明確な仕様書ではモジュール検証を行なうための高品質なテストプログラムを作成することが困難である。
【0013】
本発明はインタフェース仕様を明確にしてモジュール検証を行うためのテストプログラムを系統的に生成することができる論理検証用テストプログラム生成装置を提供することを目的とする。
【0014】
【課題を解決するための手段】
図1は本発明の原理構成を示す。図中,10は設計されるLSIチップのシステムを構成する各モジュールの記述作成手段,11はブロック図作成手段,12はシーケンス図作成手段,13はシーケンス図重ね合わせ検証手段,14はテストプログラム生成手段,20〜23は記憶部であり,20はモジュールの記述を格納する記憶部,21はブロック図を格納する記憶部,22は各シーケンス図を格納する記憶部,23はテストプログラムを格納する記憶部である。
【0015】
本発明はLSIチップのシステム全体で発生する複数のシーケンスをフォーマル(図解を用いた表現形式)に記述して,設計者以外の人が見てもその意味を直ちに理解できるように記述し,検証対象であるモジュールの入出力を系統的に抽出して,LSIチップを検証するテストパターンの作成を可能とするものである。
【0016】
各モジュールの記述作成手段10では,従来は自然言語で記述されていた各モジュールの内部動作やモジュールの入出力の記述を,ハードウェア記述言語を用いたモジュールの記述が作成されて記憶部20に格納される。このモジュールの記述について次にブロック図作成手段11によりシステム全体とモジュールとモジュール間の連結状況を定義したブロック図が作成されて記憶部21に格納される。続いて,シーケンス図作成手段12によりブロック図で示すハードウェア内部の各モジュール間で受渡しする一連のメッセージ(シーケンス)を表現するシーケンス図を各モジュール間について複数個作成して記憶部22に格納する。こうして得られた複数のモジュール間の各シーケンス図についてシーケンス図重ね合わせ検証手段13の動作により重ね合わせる処理を行う。この重ね合わせにおいて矛盾が生じると,シーケンスが間違っていることが分かり,設計誤りを発見することができる。このシーケンス図重ね合わせ検証手段13によるチェックと修正を経て,テストプログラム生成手段14により注目するモジュールについてテストプログラムを生成して記憶部23に格納する。このようにして,テストプログラムを生成する工数を削減し,検証したいモジュールに注目した検証が可能となる。
【0017】
図2は本発明の第2の原理構成を示す。図中,10〜14は上記図1と同じものであり,説明を省略する。図1と異なる点はモジュール分割手段15と,分割されたサブモジュールを格納する記憶部24を設けた点である。
【0018】
図2において,10〜13までの動作は上記図1と同じであり,複数のモジュール間の各シーケンス図についてシーケンス図重ね合わせ検証手段13の動作により重ね合わせる処理が行われるが,この第2の原理によるモジュール分割手段15によりシーケンスの中で特に検証したいモジュールをサブモジュールに分割して記憶部24に格納する。次いでこの分割されたサブモジュールへの入出力を抽出し,テストプログラム生成手段14により分割したサブモジュール検証用のテストプログラム生成して記憶部23に格納する。
【0019】
この第2の原理構成により分割した検証したいモジュールに注目したテストプログラムを系統的に生成することができる。
【0020】
【発明の実施の形態】
本発明は情報処理装置のソフトウェアにより実現することができ,図3は実施例1の処理フローである。
【0021】
最初に,設計の対象となるLSIの設計仕様に基づいて,ハードウェア記述言語(HDL:Hardware Discription Language)を用いて各モジュールの内部動作や各モジュールの入出力を記述した入力を行う(図3のS1)。次に前記の記述からシステム全体とシステム内部のモジュール間の連結状況を表すブロック図の作成を行う(図3のS2)。
【0022】
次に図3の処理では,モジュール間で受渡しするメッセージを用いてシステム全体で流れるシーケンスを作成する(図3のS3)。この処理の詳細は,次の3つのステップS30〜S32により構成される。すなわち,シーケンス長さは乱数で指定し(図3のS30),シーケンスが始まるモジュールは乱数で指定し(同S31),出力メッセージとモジュールの次状態は入力メッセージとモジュールの現状態で一意に決まる(同S32)。
【0023】
この後,シーケンス図の重ね合わせを行う(図3のS4)。この処理の詳細は3つのステップS40〜S42により構成される。すなわち,あるシーケンスにおいて,入力メッセージに依存しないでモジュール状態が変化する部分に注目する(図3のS40)。続いて,他のシーケンスにおいて前記の注目した状態変化が起こるシーケンスを見つけ(同S41),先の2つのシーケンスを連結して,複数のシーケンスが並行して流れる新しいシーケンスを生成する(同S42)。
【0024】
次いで,シーケンスを重ね合わせた場合における検証したいモジュールに注目したテストプログラムを生成する(図3のS5)。
【0025】
図4は実施例1による対象となるLSIのブロック図の例を示す。このブロック図は上記図3のS2により作成され,この例では,モジュールA,モジュールB,モジュールC及びモジュールDとで構成され,各モジュールの入出力の関係がモジュール相互間を結ぶ矢印を付した線により表されており,モジュールの内部動作については省略されている。
【0026】
図5はモジュール間で受渡しする一連のメッセージ(シーケンス)を表現した例であり,上記図4のブロック図の例について,上記図3のS3(S30〜S32)により生成される。まず,シーケンスの長さは8(乱数で指定),シーケンスで始まるモジュールはモジュールBとし(乱数で指定),出力メッセージとモジュールの次状態は,入力メッセージとモジュールの現状態に応じて一意に決まる。例えば,モジュールBにおいて,入力メッセージq1とモジュールの現状態s1によって,出力メッセージq2とモジュールの次状態s1が一意に決まる。
【0027】
図6乃至図8は注目する部分が状態変化する他のシーケンス図(その1)〜(その3)であり,図9乃至図11は重ね合わせたシーケンス図(その1)〜(その3)である。
【0028】
図5乃至図11を用いてシーケンス図の重ね合わせ(図3のS4に対応)の例を説明する。上記図5に示すシーケンス図において,入力メッセージによらずに状態が変化している部分に注目する(図3のS40に対応)。この図5の例では,A1,B1,C1として表す部分を注目する。
【0029】
A1:モジュールBの状態がs0からs1に変化する部分
B1:モジュールBの状態がs1からs2に変化する部分
C1:モジュールCの状態がs2からS0に変化する部分
次にA1,B1,C1における状態遷移が記載されているシーケンス図を見つける(図3のS41に対応)と,この例では,次のように図6〜図8を見つけることができる。
【0030】
A1:図6のA2,図7のA3でs0からs1への状態遷移が記載されている。
【0031】
B1:図6のB2,図7のB3,図8のB4でs0からs2への状態遷移が記載されている。
【0032】
C1:図8のC4でs2からs0への状態遷移が記載されている。
【0033】
上記複数のシーケンス図(図6〜図8)を重ね合わせて新たなシーケンス図を作成する(図3のS42に対応)。すなわち,
注目点A1とA2,B1とB2を対応付けて,図5と図6を重ね合わせることにより,図9のシーケンス図が得られる。
【0034】
注目点A1とA3,B1とB3を対応付けて,図5と図7を重ね合わせることにより,図10のシーケンス図が得られる。
【0035】
注目点B1とB4,C1とC4を対応付けて,図5と図8を重ね合わせることにより,図11のシーケンス図が得られる。但し,図8では点線で囲まれた部分しか重ねることができない。
【0036】
次に図12は実施例2の処理フローである。
【0037】
この実施例2の処理フローは,上記実施例1の処理フローのステップS1〜S4までは同じ処理であり,説明を省略する。シーケンス図の重ね合わせの処理(図12のS4)に続いて,検証したいサブモジュールに注目して,このサブモジュールの入出力のみを抽出する(図12のS5)。この後,抽出したサブモジュール検証用のテストプログラムを生成する(図12のS6)。
【0038】
図13は実施例2によるシーケンス図の例である。
【0039】
上記図13のS4までの処理により実施例1と同様に上記図9乃至図11に例として示すような複数のシーケンス図を重ねたシーケンス図が生成される。この中の図9に示すシーケンス図において,検証したいモジュールがモジュールBである場合,モジュールBにおける入出力のみを抽出し,その他のモジュールに入出力するシーケンスを除くと図13のシーケンス図が得られる。このモジュールBに注目したテストプログラムを作成することになる。
【0040】
【発明の効果】
本発明によれば,システム構成をブロック図で,システム内部に発生するシーケンスをシーケンス図で表現して,複数のシーケンスを系統的に重ね合わせることで,これを検証するテストプログラムを生成することができる。また,検証したいモジュールに注目した論理シミュレーション用テストプログラムを系統的に生成することができる。
【0041】
更に,論理シミュレーション用テストプログラムの生成コストが削減でき,設計誤りを早期に発見することができる。
【図面の簡単な説明】
【図1】本発明の第1の原理構成を示す図である。
【図2】本発明の第2の原理構成を示す図である。
【図3】実施例1の処理フローを示す図である。
【図4】実施例1による対象となるLSIのブロック図の例を示す図である。
【図5】モジュール間で受渡しする一連のメッセージを表現した例を示す図である。
【図6】注目する部分が状態変化する他のシーケンス図(その1)である。
【図7】注目する部分が状態変化する他のシーケンス図(その2)である。
【図8】注目する部分が状態変化する他のシーケンス図(その3)である。
【図9】重ね合わせたシーケンス図(その1)である。
【図10】重ね合わせたシーケンス図(その2)である。
【図11】重ね合わせたシーケンス図(その3)である。
【図12】実施例2の処理フローを示す図である。
【図13】実施例2によるシーケンス図の例を示す図である。
【図14】従来技術の説明図である。
【符号の説明】
10 各モジュールの記述作成手段
11 ブロック図作成手段
12 シーケンス図作成手段
13 シーケンス図重ね合わせ検証手段
14 テストプログラム生成手段
20 モジュールの記述を格納する記憶部
21 ブロック図を格納する記憶部
22 各シーケンス図を格納する記憶部
23 テストプログラムを格納する記憶部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a test program generation apparatus for logic verification in hardware design.
[0002]
In order to provide highly competitive LSI hardware consisting of multiple modules that make up an information processing system to the market, design highly reliable, low cost / performance, early requested ones It is necessary to satisfy the demands such as. Therefore, it is required to increase the design scale and shorten the design period.
[0003]
To achieve this, it is necessary to perform highly reliable logic verification in a short period of time, and logic simulation is generally used as a logic verification method for hardware design.
[0004]
Accordingly, it is desired to create a highly reliable logic verification test program in hardware design in a short period of time.
[0005]
[Prior art]
FIG. 14 is an explanatory diagram of the prior art.
[0006]
When creating a large-scale LSI chip including a plurality of CPUs such as a server system, a memory, a data transfer controller, and a high-speed interface with the outside, the LSI designer 81 first writes the specification 80 The LSI is logically designed so as to satisfy the required functions and performance for the specified LSI. The request function in this case includes, for example, what kind of output message the user wants to generate in response to inputting a message. In the case of an LSI that requires a large-scale or complex function, it is common for a plurality of designers to individually design by determining the range that each designer is responsible for. When design data 82 is obtained by collecting LSI design circuits designed by a plurality of designers, it is passed to a verifier 83.
[0007]
The verifier 83 creates a plurality of verification items 830 for verifying whether the design data 82 satisfies the functions and performances required by the specifications. Next, a simulator 831 that simulates a circuit function corresponding to each verification item 830 is created, and a test program 832 that is executed by the simulator 831 is created. At this time, an expected value 833 obtained as a result of the test by the test program 832 in the simulator 831 is created. The LSI circuit thus designed is tested by the simulator 831 using the test program 832 for the LSI circuit designed by the simulator, and the result obtained is compared with the expected value 833. If it does not match, it is determined that there is a logical error in the designed circuit. It is possible to detect which part has an error by the operation of determination by the simulator 831. If no error determination occurs, it can be confirmed that the design is correct. In many cases, the design work by the designer and the verification by the verifier are actually performed in parallel.
[0008]
As described above, in the conventional technology, the specification of the entire system is described in the specification, but the interface specification between modules may be unclear. Therefore, in order to create a test program that is fully aware of the interface specifications, it was necessary to guess the interface from the specifications and to clarify the interface specifications by asking the designer through an interview.
[0009]
In addition, the verifier extracts a part (verification item) that is likely to cause a design error from the specification based on past know-how and manually creates a test program, and a systematic procedure for creating the test program. Is not established.
[0010]
[Problems to be solved by the invention]
As described above, in the conventional technology, it is difficult to create a test program that is fully aware of the interface specifications if the interface specifications between modules are unclear.
[0011]
In addition, as the scale of the system increases, there is a problem that the proportion of the man-hours for generating the system verification test program is increasing with respect to the total system design man-hours.
[0012]
Recently, module verification has been proposed in which the specifications to be satisfied by the entire system are divided for each module. At that time, a high-quality test program for module verification is created for specifications with unclear interface specifications. Difficult to do.
[0013]
An object of the present invention is to provide a logic verification test program generation apparatus capable of systematically generating a test program for performing module verification by clarifying interface specifications.
[0014]
[Means for Solving the Problems]
FIG. 1 shows the principle configuration of the present invention. In the figure, 10 is a description creation means for each module constituting the LSI chip system to be designed, 11 is a block diagram creation means, 12 is a sequence diagram creation means, 13 is a sequence diagram overlay verification means, and 14 is a test program generation. Means, 20 to 23 are storage units, 20 is a storage unit for storing module descriptions, 21 is a storage unit for storing block diagrams, 22 is a storage unit for storing sequence diagrams, and 23 is for storing test programs. It is a storage unit.
[0015]
In the present invention, a plurality of sequences generated in the entire LSI chip system is described in a formal form (an expression format using an illustration) so that the meaning can be immediately understood even by a person other than the designer and verified. Systematic extraction of the input / output of the target module enables the creation of a test pattern for verifying the LSI chip.
[0016]
The module description creating means 10 creates a module description using a hardware description language and stores the internal operation of each module and the input / output description of each module previously described in a natural language. Stored. Next, the block diagram creating means 11 creates a block diagram defining the entire system, the module and the connection status between the modules, and stores the module description in the storage unit 21. Subsequently, a plurality of sequence diagrams representing a series of messages (sequences) transferred between the modules in the hardware shown in the block diagram by the sequence diagram creation means 12 are created between the modules and stored in the storage unit 22. . A process of superimposing the sequence diagrams between the plurality of modules obtained in this way by the operation of the sequence diagram overlay verification means 13 is performed. If there is a contradiction in this superposition, it can be seen that the sequence is wrong and a design error can be found. After the check and correction by the sequence diagram overlay verification unit 13, the test program generation unit 14 generates a test program for the module of interest and stores it in the storage unit 23. In this way, the number of steps for generating the test program can be reduced, and verification focusing on the module to be verified becomes possible.
[0017]
FIG. 2 shows a second principle configuration of the present invention. In the figure, 10 to 14 are the same as those in FIG. The difference from FIG. 1 is that a module dividing means 15 and a storage unit 24 for storing the divided submodules are provided.
[0018]
In FIG. 2, the operations from 10 to 13 are the same as those in FIG. 1 described above, and each sequence diagram between a plurality of modules is superposed by the operation of the sequence diagram superposition verification means 13. The module to be verified in the sequence is divided into sub-modules by the module dividing means 15 according to the principle and stored in the storage unit 24. Next, the input / output to the divided submodule is extracted, and the test program for submodule verification divided by the test program generation means 14 is generated and stored in the storage unit 23.
[0019]
A test program focusing on the module to be verified divided according to the second principle configuration can be systematically generated.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
The present invention can be realized by software of the information processing apparatus, and FIG. 3 is a processing flow of the first embodiment.
[0021]
First, based on the design specifications of the LSI to be designed, an input describing the internal operation of each module and the input / output of each module is performed using a hardware description language (HDL) (FIG. 3). S1). Next, a block diagram showing the connection status between the entire system and the modules in the system is created from the above description (S2 in FIG. 3).
[0022]
Next, in the processing of FIG. 3, a sequence that flows through the entire system is created using a message delivered between modules (S3 in FIG. 3). The details of this process are composed of the following three steps S30 to S32. That is, the sequence length is specified by a random number (S30 in FIG. 3), the module where the sequence starts is specified by a random number (S31), and the output message and the next state of the module are uniquely determined by the input message and the current state of the module. (S32).
[0023]
Thereafter, the sequence diagrams are superimposed (S4 in FIG. 3). The details of this process are composed of three steps S40 to S42. That is, attention is paid to a part where the module state changes without depending on the input message in a certain sequence (S40 in FIG. 3). Subsequently, a sequence in which the noted state change occurs in another sequence is found (S41), and the previous two sequences are connected to generate a new sequence in which a plurality of sequences flow in parallel (S42). .
[0024]
Next, a test program focusing on the module to be verified when the sequences are overlaid is generated (S5 in FIG. 3).
[0025]
FIG. 4 shows an example of a block diagram of a target LSI according to the first embodiment. This block diagram is created by S2 in FIG. 3, and in this example, it is composed of module A, module B, module C, and module D, and the input / output relationship of each module is accompanied by an arrow connecting the modules. The internal operation of the module is omitted.
[0026]
FIG. 5 shows an example of a series of messages (sequence) exchanged between modules. The example of the block diagram of FIG. 4 is generated by S3 (S30 to S32) of FIG. First, the sequence length is 8 (specified by a random number), the module starting with the sequence is module B (specified by a random number), and the output message and the next state of the module are uniquely determined according to the input message and the current state of the module. . For example, in the module B, the output message q2 and the next state s1 of the module are uniquely determined by the input message q1 and the current state s1 of the module.
[0027]
6 to 8 are other sequence diagrams (No. 1) to (No. 3) in which the state of interest changes state, and FIGS. 9 to 11 are superimposed sequence diagrams (No. 1) to (No. 3). is there.
[0028]
An example of superposition of sequence diagrams (corresponding to S4 in FIG. 3) will be described with reference to FIGS. In the sequence diagram shown in FIG. 5, attention is paid to a portion where the state is changed irrespective of the input message (corresponding to S40 in FIG. 3). In the example of FIG. 5, attention is given to the portions represented as A1, B1, and C1.
[0029]
A1: A part where the state of module B changes from s0 to s1 B1: A part where the state of module B changes from s1 to s2 C1: A part where the state of module C changes from s2 to S0 Next, in A1, B1 and C1 When a sequence diagram in which state transitions are described is found (corresponding to S41 in FIG. 3), in this example, FIGS. 6 to 8 can be found as follows.
[0030]
A1: State transition from s0 to s1 is described in A2 in FIG. 6 and A3 in FIG.
[0031]
B1: State transition from s0 to s2 is described in B2 in FIG. 6, B3 in FIG. 7, and B4 in FIG.
[0032]
C1: State transition from s2 to s0 is described in C4 of FIG.
[0033]
A plurality of sequence diagrams (FIGS. 6 to 8) are overlapped to create a new sequence diagram (corresponding to S42 in FIG. 3). That is,
The sequence diagram of FIG. 9 is obtained by associating the attention points A1 and A2, B1 and B2, and superimposing FIGS.
[0034]
The sequence diagram of FIG. 10 is obtained by associating the attention points A1 and A3, B1 and B3, and superimposing FIGS.
[0035]
The sequence diagram of FIG. 11 is obtained by associating the points of interest B1 and B4, C1 and C4, and superimposing FIGS. However, in FIG. 8, only the part surrounded by the dotted line can be overlapped.
[0036]
Next, FIG. 12 is a processing flow of the second embodiment.
[0037]
The processing flow of the second embodiment is the same processing from steps S1 to S4 of the processing flow of the first embodiment, and a description thereof will be omitted. Subsequent to the process of superimposing sequence diagrams (S4 in FIG. 12), paying attention to the submodule to be verified, only the input / output of this submodule is extracted (S5 in FIG. 12). Thereafter, the extracted test program for submodule verification is generated (S6 in FIG. 12).
[0038]
FIG. 13 is an example of a sequence diagram according to the second embodiment.
[0039]
Through the processing up to S4 in FIG. 13, a sequence diagram in which a plurality of sequence diagrams as shown in the examples in FIGS. 9 to 11 are overlapped as in the first embodiment is generated. In the sequence diagram shown in FIG. 9, when the module to be verified is the module B, only the input / output in the module B is extracted, and the sequence diagram shown in FIG. . A test program focusing on this module B is created.
[0040]
【The invention's effect】
According to the present invention, it is possible to generate a test program for verifying a system configuration by representing a system configuration in a block diagram, a sequence generated in the system in a sequence diagram, and systematically superimposing a plurality of sequences. it can. In addition, it is possible to systematically generate a test program for logic simulation focusing on the module to be verified.
[0041]
Furthermore, the generation cost of the logic simulation test program can be reduced, and design errors can be detected early.
[Brief description of the drawings]
FIG. 1 is a diagram showing a first principle configuration of the present invention.
FIG. 2 is a diagram showing a second principle configuration of the present invention.
FIG. 3 is a diagram illustrating a processing flow according to the first embodiment.
FIG. 4 is a diagram illustrating an example of a block diagram of a target LSI according to the first embodiment;
FIG. 5 is a diagram illustrating an example of a series of messages exchanged between modules.
FIG. 6 is another sequence diagram (part 1) in which a state of interest changes state.
FIG. 7 is another sequence diagram (part 2) in which a state of interest changes state.
FIG. 8 is another sequence diagram (part 3) in which a state of interest changes state.
FIG. 9 is a sequence diagram (No. 1) superimposed.
FIG. 10 is a sequence diagram (No. 2) superimposed.
FIG. 11 is a sequence diagram (No. 3) superimposed.
FIG. 12 is a diagram illustrating a processing flow according to the second embodiment.
FIG. 13 is a diagram illustrating an example of a sequence diagram according to the second embodiment.
FIG. 14 is an explanatory diagram of the prior art.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 Description creation means 11 of each module Block diagram creation means 12 Sequence diagram creation means 13 Sequence diagram overlay verification means 14 Test program generation means 20 Storage section 21 storing module descriptions Storage section 22 storing block diagrams Each sequence diagram Storage unit 23 for storing test unit Storage unit for storing test program

Claims (2)

LSIの論理検証用テストプログラム生成装置において,
設計の対象となるLSIのシステムを構成する各モジュールの内部動作及び入出力をハードウェア記述言語で表した記述に基づいてシステム全体とモジュール間の連結状況を定義したブロック図を作成するブロック図作成手段と,
前記ブロック図作成手段で作成されたブロック図に示す各モジュール間についてそれぞれで受渡しする一連のメッセージを表現するシーケンス図を作成するシーケンス図作成手段と,
前記シーケンス図作成手段で作成された各モジュール間に対応する複数のシーケンス図を重ね合わせて複数のシーケンスを連結した新たなシーケンスを生成して検証を行うシーケンス図重ね合わせ検証手段と,
前記シーケンス図重ね合わせ検証手段により検証したモジュールを対象にしたテストプログラムを生成するテストプログラム生成手段と,
を備えることを特徴とする論理検証用テストプログラム生成装置
In a test program generation device for LSI logic verification,
Create a block diagram that defines the connection between the entire system and the module based on the description of the internal operation and input / output of each module that constitutes the LSI system to be designed in the hardware description language Means,
A sequence diagram generating means for generating a sequence diagram representing a series of messages to pass each for between the modules shown in block diagram created by the block diagram preparation means,
A sequence diagram overlay verification means for generating a new sequence in which a plurality of sequences are connected by overlapping a plurality of sequence diagrams corresponding to each module created by the sequence diagram creation means, and performing verification;
Test program generation means for generating a test program for the module verified by the sequence diagram overlay verification means ;
A test program generating device for logic verification, comprising:
請求項1において,
前記シーケンス図重ね合わせ検証手段による前記シーケンス図を重ね合わせたシーケンスについて,検証したいモジュールを入出力に対応して分割してサブモジュールを生成するモジュール分割手段を設け,
前記テストプログラム生成手段は前記モジュール分割手段により分割した各モジュールを対象としてテストプログラムを生成することを特徴とする論理検証用テストプログラム生成装置。
In claim 1,
A module dividing means for generating a sub-module by dividing a module to be verified corresponding to an input / output with respect to a sequence obtained by superimposing the sequence diagrams by the sequence diagram overlay verification means;
The test program generating apparatus for logic verification, wherein the test program generating means generates a test program for each module divided by the module dividing means .
JP2000012498A 2000-01-21 2000-01-21 Test program generator for logic verification Expired - Fee Related JP3917342B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000012498A JP3917342B2 (en) 2000-01-21 2000-01-21 Test program generator for logic verification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000012498A JP3917342B2 (en) 2000-01-21 2000-01-21 Test program generator for logic verification

Publications (2)

Publication Number Publication Date
JP2001202263A JP2001202263A (en) 2001-07-27
JP3917342B2 true JP3917342B2 (en) 2007-05-23

Family

ID=18540205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000012498A Expired - Fee Related JP3917342B2 (en) 2000-01-21 2000-01-21 Test program generator for logic verification

Country Status (1)

Country Link
JP (1) JP3917342B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4747034B2 (en) * 2006-05-29 2011-08-10 富士通株式会社 Verification scenario creation program, recording medium, verification scenario creation device, and verification scenario creation method
JP2010015240A (en) * 2008-07-01 2010-01-21 Denso Corp Verification system and verification device

Also Published As

Publication number Publication date
JP2001202263A (en) 2001-07-27

Similar Documents

Publication Publication Date Title
US6487704B1 (en) System and method for identifying finite state machines and verifying circuit designs
TWI322365B (en) Design verification system for integrated circuit design and computer program product thereof
JP4586926B2 (en) Circuit verification apparatus, circuit verification program, and circuit verification method
CN114626324B (en) FPGA circuit post-simulation verification method and device, electronic equipment and storage medium
JP2011060267A (en) Program, method and device for design verification
JP2003233639A (en) Failure verification device, failure verification method and failure analysis method
US7003743B2 (en) Method and system of data processor design by sensitizing logical difference
JP3917342B2 (en) Test program generator for logic verification
US7949509B2 (en) Method and tool for generating simulation case for IC device
JP2004094362A (en) Failure verification device
US6625789B2 (en) Computer-readable medium for recording interface specifications
JP3941336B2 (en) Logic circuit verification device
JP2003233636A (en) Circuit verification device
JP2004013821A (en) Semiconductor integrated circuit designing method and device
JP3161314B2 (en) Logic simulation apparatus and logic simulation method
JP2004145712A (en) Equivalence verification method of motion description in semiconductor design
JP4484048B2 (en) Hardware / software co-verification system
JP6949440B2 (en) Vector generator and vector generator program
JPH11175580A (en) Integrated circuit designing device
JP3072985B2 (en) Logic simulation method
JP2539049B2 (en) Satomi simulation device
JPH0926986A (en) Test pattern generating method and delay verifying method
JP2002157295A (en) Device and method for designing semiconductor circuit
JPH05190669A (en) Method of design flow of integrated circuit
JPH01197852A (en) Critical path deciding device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

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: 20070206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070208

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120216

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130216

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130216

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140216

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees