Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3373641B2 - Test sequence generator - Google Patents
[go: Go Back, main page]

JP3373641B2 - Test sequence generator - Google Patents

Test sequence generator

Info

Publication number
JP3373641B2
JP3373641B2 JP04288294A JP4288294A JP3373641B2 JP 3373641 B2 JP3373641 B2 JP 3373641B2 JP 04288294 A JP04288294 A JP 04288294A JP 4288294 A JP4288294 A JP 4288294A JP 3373641 B2 JP3373641 B2 JP 3373641B2
Authority
JP
Japan
Prior art keywords
description
rtl
behavior
test
test sequence
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
JP04288294A
Other languages
Japanese (ja)
Other versions
JPH07254008A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP04288294A priority Critical patent/JP3373641B2/en
Publication of JPH07254008A publication Critical patent/JPH07254008A/en
Application granted granted Critical
Publication of JP3373641B2 publication Critical patent/JP3373641B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明はハードウェア設計言語で
設計されたシステムのテスト系列生成装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a test sequence generator for a system designed in a hardware design language.

【0002】[0002]

【従来の技術】従来論理システムのハードウェア設計に
おいて、半導体技術の進歩に伴う設計工数の増大という
問題の一つの解決方法として、論理合成が盛んに行われ
るようになってきている。論理合成を用いることによ
り、RTL記述(レジスタ転送レベルによるハードウェ
ア設計記述)からこれに対応するゲートレベルの論理回
路が自動的に合成されるようになった。
2. Description of the Related Art In hardware design of a conventional logic system, logic synthesis has become popular as a solution to the problem of the increase in design man-hours accompanying the progress of semiconductor technology. By using logic synthesis, a gate-level logic circuit corresponding to the RTL description (hardware design description by register transfer level) is automatically synthesized.

【0003】このRTL記述を検証するテスト系列とし
て、レジスタやバスや演算器がクロックや制御信号のも
とで動作し、決めされたサイクルに正しい結果が得られ
るかどうかを検証するパターンが用いられる。それは入
力ポートに印加する入力テストパターンと、出力ポート
における期待値パターンと、回路の内部を検証するため
のレジスタに印加するテストパターン、レジスタにおけ
る期待値パターンからなる。
As a test sequence for verifying this RTL description, a pattern for verifying whether a register, a bus, or an arithmetic unit operates under a clock or a control signal to obtain a correct result in a determined cycle is used. . It consists of an input test pattern applied to the input port, an expected value pattern at the output port, a test pattern applied to the register for verifying the inside of the circuit, and an expected value pattern at the register.

【0004】前述のように入力となるRTLの入力テス
トパターンについては設計者が人手で作成していた。ま
た期待値パターンについては、設計者がテスト系列を用
いてRTLのシミュレーションを行った後、得られた結
果が仕様通りかどうかを確かめ、正しい場合にその結果
を期待値としていた。
As described above, the designer manually creates an RTL input test pattern that is an input. Regarding the expected value pattern, the designer conducted an RTL simulation using a test sequence, checked whether the obtained result was in accordance with the specifications, and if the result was correct, the result was used as the expected value pattern.

【0005】一方、より抽象度の高いビヘイビア記述か
ら高位合成装置で生成されたRTL記述に関する検証用
テスト系列を作成するためには、設計者はまず合成され
たRTL記述を理解する必要があった。例えば、すべて
の入力ポートに印加するテストパターンのタイミング
と、出力ポートに現れる演算結果のタイミング情報を、
RTL記述から読み取る必要があった。1メガゲート規
模のLSIのRTL記述は、記述の行数が数万、ポート
数が数百にもなり、設計者が1ポートずつそのタイミン
グを調べるのは大変時間の要する作業だった。
On the other hand, in order to create a verification test sequence for an RTL description generated by a high-level synthesis device from a behavior description having a higher degree of abstraction, the designer first had to understand the synthesized RTL description. . For example, the timing of the test pattern applied to all input ports and the timing information of the operation result appearing at the output port are
It was necessary to read from the RTL description. The RTL description of a 1-megagate LSI has tens of thousands of lines and hundreds of ports, and it takes a lot of time for the designer to check the timing of each port.

【0006】ポートには整数型をはじめとして浮動少数
型、ビット型等のさまざまなデータタイプが存在するた
め、ビヘイビア記述のポートのデータタイプと、レジス
タ転送記述のデータタイプが異なる場合には、それを考
慮してテストパターンの値を変換する必要があった。そ
のうえ、ポート毎に異ったデータタイプが使用されてい
ると、タイプ変換に伴う作業が大変繁雑で大変時間を要
していた。このように、設計者はRTL記述の入力また
は出力のスケージューリング情報の獲得、パターンの値
の変換を人手で行いながら入力テスト系列を作成してい
た。
Since various data types such as a floating point type and a bit type exist in the port including an integer type, when the data type of the port in the behavior description and the data type of the register transfer description are different, It was necessary to convert the value of the test pattern in consideration of the above. Moreover, if different data types are used for each port, the work involved in type conversion is very complicated and takes a lot of time. As described above, the designer creates the input test sequence while manually acquiring the scheduling information of the input or output of the RTL description and converting the pattern value.

【0007】又、大規模な論理システムのRTL記述は
数万〜数十万行にもなり、この記述のテスト系列はそれ
と同等の行もしくはそれ以上となり、人手で作成するの
は大変な作業であった。
Further, the RTL description of a large-scale logical system has tens of thousands to hundreds of thousands of lines, and the test sequence of this description is equivalent to or more than that line, and it is a difficult work to manually create. there were.

【0008】一方、設計の効率向上のために、すでに他
の目的で設計された回路を別の大規模システムの部品と
して再利用する場合がある。設計の対象となるシステム
が大規模になるにつれこのような機会は多くなる。この
ような場合、たとえ再利用される回路の動作がそれ自身
で正しいと保証されていても、システムの整合性をチェ
ックするためにもその回路を組み込んでシステム全体で
動作を検証する必要がある。
On the other hand, in order to improve the efficiency of design, a circuit already designed for another purpose may be reused as a component of another large-scale system. These opportunities increase as the system under design grows. In such a case, even if the operation of the reused circuit is guaranteed to be correct by itself, it is necessary to incorporate the circuit to check the integrity of the system and verify the operation of the entire system. .

【0009】大規模なシステム全体をシミュレーション
により検証するには、RTLよりもさらに抽象度を高め
た高位の記述レベルである、ビヘイビアレベルで行なう
方が効率が良い。抽象度が高いため詳細な部分まではシ
ミュレーションできないが、シミュレーション自体は高
速に行なうことができる。しかし、回路内部の動作をよ
り詳細に検証したい場合は、RTLでのシミュレーショ
ンの方が適している。このことから、前記のような既設
計の回路モジュールをいくつか含んだ大規模システムを
検証するには、新たに作成した回路モジュールは詳細に
検証を必要とするためRTLで、既設計の回路モジュー
ルは他モジュールとのインターフェイスに関わる部分が
主に必要なためビヘイビアレベルで記述し、両レベルの
モジュール間のタイミング等の調整をとりながら全体を
シミュレーションしたいという要求が強くなってきてい
る。
In order to verify the entire large-scale system by simulation, it is more efficient to perform it at the behavioral level, which is a higher description level with a higher level of abstraction than RTL. Since the degree of abstraction is high, detailed simulation cannot be performed, but the simulation itself can be performed at high speed. However, when it is desired to verify the operation inside the circuit in more detail, the RTL simulation is more suitable. From this, in order to verify a large-scale system including some of the above-mentioned designed circuit modules, the newly created circuit module requires detailed verification, so that the RTL is used to design the designed circuit module. Since it is mainly necessary to describe the part related to the interface with other modules, there is a strong demand for describing it at the behavior level and simulating the whole while adjusting the timing between modules at both levels.

【0010】[0010]

【発明が解決しようとする課題】しかし、既設計の回路
の多くはRTLで設計されているため、前記のような検
証方法をとるためには、既設計回路をRTL記述からビ
ヘイビア記述に書き直す必要がある。このとき、書き直
したビヘイビア記述がもとのRTL記述の仕様として正
しいかどうかという検証を行わなければならない。この
検証は、RTL記述の既設計回路を検証する時に用いた
RTLテスト系列と等価なビヘイビアレベルのテスト系
列を作成し、RTL記述のシミュレーション結果と、ビ
ヘイビア・テスト系列によりビヘイビア記述をシミュレ
ーション結果とを比較することができれば可能となる。
However, since many of the designed circuits are designed by RTL, it is necessary to rewrite the designed circuit from the RTL description to the behavioral description in order to use the verification method as described above. There is. At this time, it is necessary to verify whether the rewritten behavior description is correct as the specification of the original RTL description. In this verification, a behavior-level test series that is equivalent to the RTL test series used when verifying the designed circuit of the RTL description is created, and the simulation result of the RTL description and the behavior description are simulated by the behavior test series. It will be possible if they can be compared.

【0011】ところが、上記のようなRTL記述をシミ
ュレーションするためのRTLテスト系列から、それと
等価なビヘイビア記述をシミュレーションするためのビ
ヘイビア・テスト系列を作成することは、以下に述べる
ようにRTLとビヘイビアのレベルにおいて、時間、デ
ータ等に関して抽象度が異なるため、容易にはRTLテ
スト系列と等価なビヘイビア・テスト系列は作成できな
いという問題があった。
However, to create a behavioral test sequence for simulating a behavioral description equivalent to the RTL test sequence for simulating the RTL description as described above, it is necessary to create the behavioral test sequence as described below. There is a problem that a behavior test sequence equivalent to the RTL test sequence cannot be easily created because the levels have different degrees of abstraction with respect to time and data.

【0012】データに関しては、例えば、RTLではデ
ータ型として、整数を扱う場合もあるが多くの場合はビ
ット列や多値論理が主である。これに対しビヘイビアレ
ベルでは、前記のデータ型に加え、リテラルや構造体の
ような抽象的なデータを扱うこともある。
Regarding data, for example, in RTL, an integer may be handled as a data type, but in many cases, bit strings and multivalued logic are mainly used. On the other hand, at the behavior level, in addition to the above data types, abstract data such as literals and structures may be handled.

【0013】時間に関しては、RTLではクロックに同
期した状態という概念があり、このため時系列に沿った
テスト系列を作成する時は、各状態毎、あるいはクロッ
クのサイクル単位時間毎にテストベクトルを指定するこ
とになる。また各状態での回路動作が決定しているた
め、入力値を変化させる時刻もそれに合わせて決定しな
ければならない。
Regarding the time, the RTL has a concept of a state synchronized with a clock. Therefore, when creating a test sequence along a time series, a test vector is designated for each state or for each clock cycle unit time. Will be done. Further, since the circuit operation in each state is determined, the time when the input value is changed must be determined accordingly.

【0014】これに対しビヘイビアのレベルでは、RT
Lのようなロックに同期した状態という概念はなく、個
々の動作の順序関係が時間的概念として考えらられるた
め、単位時間毎に入力ベクトルを指定するのではなく、
ビヘイビア記述の出力変数に変化がみられる可能性のあ
る入力ベクトルを逐次的に指定することになる。
On the other hand, at the behavior level, RT
There is no concept of a state synchronized with a lock like L, and the order relation of individual operations is considered as a temporal concept, so rather than specifying an input vector for each unit time,
Input vectors that may change in the output variables of the behavior description are specified sequentially.

【0015】このように、RTLとビヘイビアレベルで
はデータや時間等に関して抽象度が異なるため、RTL
のテスト系列からそれと等価なビヘイビアレベルのテス
ト系列を作成し、ビヘイビア記述を検証することは困難
であった。
As described above, since the RTL and the behavior level have different degrees of abstraction regarding data and time, the RTL is different.
It was difficult to verify the behavior description by creating an equivalent behavior level test series from the test series of.

【0016】また、RTLのテスト系列とは独立にビヘ
イビア・テスト系列を作成し、それを用いてビヘイビア
記述のシミュレーションを行ない、検証する方法も考え
られる。これにより、ビヘイビア記述の正しさは検証で
きる。しかしながらこの手法では、RTL記述より回路
の動作仕様を解釈してビヘイビア記述を作成する作業の
解釈段階で誤りがあると、その誤りは検出されず、もと
のRTL記述と等価なビヘイビア記述であることは保証
されないという問題があった。
It is also conceivable that a behavior test sequence is created independently of the RTL test sequence, and a behavior description simulation is carried out using the behavior test sequence for verification. As a result, the correctness of the behavioral description can be verified. However, in this method, if there is an error in the interpretation stage of the work of interpreting the operation specification of the circuit from the RTL description and creating the behavior description, the error is not detected and the behavior description is equivalent to the original RTL description. There was a problem that things were not guaranteed.

【0017】このように、RTLで記述された回路をビ
ヘイビア記述に書き直したとしてもそれが等価であると
いう検証を行なうことは困難であるという問題があっ
た。このため、RTLで記述された回路モジュールをビ
ヘイビア記述に書き直し、その部分はビヘイビアレベル
でシミュレーションを行い、システム全体の検証の効率
を上げようとしても、書き直したビヘイビア記述がもと
のRTL記述と等価でない場合が生じるため、検証結果
の信頼性が低下し、システム検証時にビヘイビア記述の
修正がたびたび必要となり、結局は設計全体の効率向上
にはならないという問題があった。
As described above, even if the circuit described in RTL is rewritten in the behavioral description, it is difficult to verify that it is equivalent. Therefore, even if the circuit module described in RTL is rewritten in the behavior description and that part is simulated at the behavior level to improve the efficiency of verification of the entire system, the rewritten behavior description is equivalent to the original RTL description. However, there is a problem in that the reliability of the verification result deteriorates, the behavior description is often required to be corrected during system verification, and the efficiency of the entire design cannot be improved in the end.

【0018】本発明の第1の様相による目的は、ビヘイ
ビア記述の検証用テスト系列がすでに存在し、かつRT
L記述が人手で設計された場合に、RTLの検証用テス
ト系列と期待値系列の生成を自動化することにより、R
TLの記述の設計検証時間を短縮することと、高位合成
で生成されたRTL記述のテスト系列の作成に際し、設
計者が高位合成されたRTL記述から回路の機能を理解
するのが困難なために、RTL記述の検証用テスト系列
の作成にかかっていた時間を大幅に削減することと、R
TLの回路の機能を誤解してテスト系列を作成したり、
RTL記述の変更に伴って必要なテスト系列を修正を、
人手で行うことから発生する不具合の混入を防ぐため
に、RTL記述のテスト系列の作成を自動化することで
ある。
An object of the first aspect of the present invention is that a test sequence for verifying a behavior description already exists and RT is used.
When the L description is manually designed, by automatically generating the RTL verification test series and the expected value series, R
Because it is difficult for the designer to understand the function of the circuit from the high-level synthesized RTL description when shortening the design verification time of the TL description and creating the test sequence of the RTL description generated by high-level synthesis. Drastically reduce the time required to create a test sequence for verification of RTL description, and
Misunderstanding the function of the TL circuit, creating a test series,
Modify the necessary test series according to the change in the RTL description,
The purpose is to automate the creation of the test sequence of the RTL description in order to prevent the mixture of defects that would occur due to manual operation.

【0019】又、前記のビヘイビア記述とRTL記述と
を混在させたシステム全体のシミュレーションを適用し
ても設計の効率向上にはつながらないという問題は、R
TL記述からビヘイビア記述を作成した時、ビヘイビア
記述がRTL記述と等価であるかどうかを検証する手段
であれば、解決することが可能である。一般に記述の検
証としてシミュケーションが有効であるが、テスト系列
も等価なものを使用する必要がある。しかし、RTLテ
スト系列からそれと等価なビヘイビア系列を作成するこ
とは、両レベルの抽象度の違いなどから困難であった。
Further, there is a problem that applying the simulation of the entire system in which the behavior description and the RTL description are mixed does not lead to improvement in design efficiency.
When the behavior description is created from the TL description, any means can be used as long as it is a means for verifying whether the behavior description is equivalent to the RTL description. Generally, simulation is effective for verifying the description, but it is necessary to use an equivalent test series. However, it is difficult to create an equivalent behavior series from the RTL test series because of the difference in abstraction level between the two levels.

【0020】このため本発明の第2の様相によれば、R
TLテスト系列からそれと等価なビヘイビア・テスト系
列を生成する機能を実現することを目的とする。これに
より、RTLテスト系列によるRTL記述のシミュレー
ション結果とビヘイビア・テスト系列によるビヘイビア
記述のシミュレーション結果が比較可能となり、ビヘイ
ビア記述とRTL記述とが等価であるかどうかを検証す
ることができ、前記の問題も解決される。
Therefore, according to the second aspect of the present invention, R
The purpose is to realize a function of generating a behavioral test series equivalent to the TL test series. As a result, the simulation result of the RTL description by the RTL test series and the simulation result of the behavior description by the behavior test series can be compared, and it is possible to verify whether the behavior description and the RTL description are equivalent. Is also solved.

【0021】[0021]

【課題を解決するための手段】本発明の第1の様相によ
れば、テスト系列生成装置は、論理システムのビヘイビ
アレベルの仕様記述と、前記仕様記述に対応したレジス
タ転送レベルの記述とから、前記レジスタ転送レベルの
状態の遷移に対応する制御ステップの各ステップにおい
て、レジスタ転送レベルの記述及びビヘイビアレベルの
仕様記述の信号名及びポートの対応付けを行うことによ
って、前記仕様記述と前記レジスタ転送レベルの記述と
の対応をとる対応作成部と、前記仕様記述を検証するた
めのテスト系列データをもとに、前記対応作成部によっ
て得られた、前記仕様記述と前記レジスタ転送レベルの
記述との対応関係に基づいて、レジスタ転送レベルのテ
スト系列データを自動で生成するテスト系列生成部とを
有する。
According to a first aspect of the present invention, a test sequence generation device uses a behavioral level specification description of a logic system and a register transfer level description corresponding to the specification description. In each step of the control steps corresponding to the state transition of the register transfer level, the specification description and the register transfer level are associated by associating the signal name and the port of the register transfer level description and the behavior level specification description. Correspondence correspondence between the specification description and the register transfer level description obtained by the correspondence creation unit based on the test sequence data for verifying the specification description. And a test sequence generation unit that automatically generates test sequence data at the register transfer level based on the relationship.

【0022】本発明の上記課題の第2の様相によるテス
ト系列生成装置は、RTL記述の状態遷移の情報を解析
するRTL解析部と、前記RTL解析部の生成した状態
遷移情報をもとにRTLテスト系列(RTLテストパタ
ーン)を必要とするステップ数に加工するテスト系列
(テストパターン)加工部と、RTL−ビヘイビア記述
の対応情報を基にRTL記述とビヘイビア記述にそれぞ
れ存在するファシリティと変数と、それらのデータ型の
対応づけを行い、テスト系列の形態を変更してビヘイビ
アレベルのテスト系列を生成するテスト表現形態変更部
からなる。
According to a second aspect of the present invention, there is provided a test sequence generation device, which comprises an RTL analysis unit for analyzing state transition information of an RTL description, and RTL analysis unit based on the state transition information generated by the RTL analysis unit. A test sequence (test pattern) processing unit that processes a test sequence (RTL test pattern) to the required number of steps, and facilities and variables existing in the RTL description and the behavior description, respectively, based on the correspondence information of the RTL-behavior description, It comprises a test expression form changing unit that associates these data types and changes the form of the test sequence to generate a behavior-level test sequence.

【0023】[0023]

【作用】本発明の第1の様相によれば、ビヘイビアレベ
ルの仕様記述とレジスタ転送レベルの記述との対応作成
部は、ビヘイビアレベルの記述データと、RTLの記述
データと、RTLのファシリティとビヘイビア記述の信
号名との対応情報から、RTLのファシリティやビヘイ
ビアの信号のデータタイプや、RTLのファシリティに
対してなされるテストパターンの印加または観測時間、
RTL記述に付加されたファシリティのパターンの値か
らなるRTLのテスト系列情報を生成する。RTLの検
証用テスト系列を生成するテスト生成部は、上記ビヘイ
ビアレベルの入力テスト系列と期待値系列のデータを取
り込み、上記対応作成部が生成したテスト系列情報を用
いて、RTL記述の入力テスト系列と期待値系列を生成
する。
According to the first aspect of the present invention, the correspondence creation unit for the behavior level specification description and the register transfer level description includes the behavior level description data, the RTL description data, the RTL facility and the behavior. From the information corresponding to the described signal name, the data type of the RTL facility or behavior signal, the application or observation time of the test pattern made for the RTL facility,
RTL test sequence information including the value of the facility pattern added to the RTL description is generated. The test generation unit that generates the RTL verification test sequence captures the behavior level input test sequence and the expected value sequence data, and uses the test sequence information generated by the correspondence generation unit to input the RTL description input test sequence. And generate an expected value series.

【0024】本発明の第2の様相によれば、まずRTL
解析部がRTL記述の状態遷移の情報を解析し、RTL
記述の状態数、状態遷移の条件、各状態において参照さ
れる入力ポート、値の設定される出力ポートの情報を生
成する。これらの情報をもとに、テストパターン加工部
は、RTLテスト系列の各ステップがRTL記述のどの
状態にあるかを調査し、RTLテスト系列において有効
な値を抽出し、テストパターンのステップの併合や削除
を行ない、ビヘイビア・テスト系列と同数のステップの
テスト系列を生成する。テスト表現形態変更部は、ビヘ
イビア記述の情報を基にRTL記述とビヘイビア記述の
間のファシリティと変数、データ型の対応づけを行な
い、前記テスト系列加工部の生成したテストパターンに
おいても、同様にファシリティと変数のエントリィの対
応付けを行ない、一つのRTLファシリティが複数のビ
ヘイビア変数で記述されている場合には、テスト系列の
前記RTLファシリティの列を変数の列に分け、ファシ
リティのRTLでのデータの値をビヘイビアレヘルでの
より抽象的表現形態に変更する。また、テスト表現形態
変更部において、ファシリティを複数の変数に対応させ
ることによるテストの列数に変更があった場合、テスト
パターン加工部において新たにテスト系列のステップの
併合が可能かどうかを調べ、可能であれば変更を行な
う。
According to a second aspect of the invention, first the RTL
The analysis unit analyzes the state transition information of the RTL description,
The information about the number of states of description, the condition of state transition, the input port referenced in each state, and the output port to which a value is set is generated. Based on this information, the test pattern processing unit investigates in which state of the RTL description each step of the RTL test series is, extracts a valid value in the RTL test series, and merges the steps of the test pattern. And delete it to generate a test series with the same number of steps as the behavioral test series. The test expression form changing unit associates the facility, the variable, and the data type between the RTL description and the behavior description based on the information of the behavior description, and similarly in the test pattern generated by the test sequence processing unit, the facility is also changed. When the RTL facility is described by a plurality of behavior variables, the column of the RTL facility of the test series is divided into the column of variables, and the data of the facility RTL data is stored. Change the value to a more abstract representation in the behavioral hell. Also, in the test expression form changing unit, when the number of test columns is changed by associating the facility with a plurality of variables, it is checked whether or not the test pattern processing unit can newly merge the steps of the test series. Make changes if possible.

【0025】[0025]

【実施例】一般に、対象となる論理システムが大規模に
なり、対応するRTL記述が数万から数十万となってく
ると、それをテストするテストパターンを人手で作成す
ることは極めて困難になる。その場合に、抽象化された
ビヘイビアレベルでのテストパターンから、RTL記述
のためのテストパターンを自動的に生成できれば、大規
模論理システムのRTL記述用のテストパターンの作成
が極めて容易になる。その為の装置が、本発明の第1実
施例として以下に示される。
[Embodiment] Generally, when the target logical system becomes large in scale and the corresponding RTL description becomes tens of thousands to hundreds of thousands, it is extremely difficult to manually create a test pattern for testing it. Become. In that case, if a test pattern for RTL description can be automatically generated from the abstracted test pattern at the behavior level, it becomes extremely easy to create a test pattern for RTL description of a large-scale logic system. An apparatus therefor is shown below as a first embodiment of the present invention.

【0026】第1実施例の説明は次の順序で行う。第1
に本発明のテスト系列生成装置の構成図を説明する。第
2にビヘイビアレベルのテスト系列について説明する。
第3に、生成されたRTLのテスト系列を説明する。第
4にビヘイビアレベルの仕様記述とレジスタ転送レベル
の記述との対応作成部に与えるコマンドと、該作成部が
作成するデータと、該作成部の処理フローを説明する。
第5にテスト系列生成装置の処理フローを説明する。最
後に簡単なモチーフ回路を用いてテスト系列生成の処理
フローを詳細に説明する。
The first embodiment will be described in the following order. First
A configuration diagram of the test sequence generation device of the present invention will be described below. Second, the behavior level test series will be described.
Thirdly, the test sequence of the generated RTL will be described. Fourth, the correspondence between the behavioral level specification description and the register transfer level description The command given to the creation unit, the data created by the creation unit, and the processing flow of the creation unit will be described.
Fifth, the processing flow of the test sequence generation device will be described. Finally, the processing flow of test sequence generation using a simple motif circuit will be described in detail.

【0027】図1は、本発明のテスト系列生成装置の一
実施例の構成を示すブロック図である。
FIG. 1 is a block diagram showing the configuration of an embodiment of the test sequence generation device of the present invention.

【0028】ビヘイビアレベルの仕様記述データ1とレ
ジスタ転送レベル(RTL)の記述データ2は、それぞ
れのレベルのハードウェア設計記述をコンパイルした後
の中間回路データである。回路の動作や機能を表す演算
子そのもののデータと演算子間の接続情報が格納されて
いる。これらの記述は設計者が人手で設計したり、合成
装置を用いて設計したものである。
The behavior-level specification description data 1 and the register transfer level (RTL) description data 2 are intermediate circuit data after compiling the hardware design description of each level. The data of the operator itself that represents the operation and function of the circuit and the connection information between the operators are stored. These descriptions are designed manually by a designer or by using a synthesizer.

【0029】ビヘイビアレベルの仕様記述とRTL記述
との対応作成部3は、RTL記述のファシリティとビヘ
イビア記述の信号名との対応情報からなるコマンドと、
ビヘイビアレベルの記述データと、RTLの記述データ
とから、ファシリティや信号のデータタイプやRTLの
ファシリティに対して行われるテストパターンの印加ス
テップ(サイクル)や、演算結果を観測する観測ステッ
プ、RTL記述に印加されたファシリティのパターン値
の情報を生成する。
The behavior level specification description and RTL description correspondence creation unit 3 includes a command consisting of correspondence information between the facility of the RTL description and the signal name of the behavior description.
From behavior-level description data and RTL description data to test pattern application steps (cycles) performed for facilities and signal data types and RTL facilities, observation steps for observing operation results, and RTL description. Generate information on the pattern value of the applied facility.

【0030】ビヘイビアレベルの記述を検証するテスト
系列のデータを格納する格納部4は、入力テスト系列及
び期待値系列を記述するテスト専用記述や、テスト系列
も記述可能なハードウェアの設計記述などからコンパイ
ルされた後の、またはビヘイビアレベルのシミュレーシ
ョン装置のコマンドで与えられたパターン記述を翻訳装
置を用いて変換した後の、入力テスト系列及び期待値テ
スト系列の中間データを格納している。
The storage unit 4 for storing the data of the test series for verifying the behavior-level description is composed of a test-specific description for describing the input test series and the expected value series, a hardware design description for describing the test series, and the like. It stores intermediate data of the input test series and the expected value test series after being compiled or after the pattern description given by the command of the behavioral level simulation apparatus is converted by the translation apparatus.

【0031】RTL記述の入力及び期待値テスト系列を
生成するテスト系列生成部5は、ビヘイビア記述を検証
する入力テスト系列と期待値系列を格納する格納部4か
ら、テスト系列を、ビヘイビアレベルの仕様記述とRT
L記述との対応作成部3が生成したRTL記述の入力ポ
ートにテストパターンが印加される制御ステップと、R
TL記述の内部の演算が実行され結果が観測される制御
ステップの情報を用いて、テストパターンのフレームデ
ータを作成し、該フレームをもとにテスト系列の変換を
行いRTLのテスト系列を生成する。
The test sequence generation unit 5 for inputting the RTL description and for generating the expected value test sequence generates a test sequence from the storage unit 4 for storing the input test sequence and the expected value sequence for verifying the behavioral description and the behavior level specification. Description and RT
A control step in which a test pattern is applied to an input port of the RTL description generated by the correspondence creating unit 3 with the L description;
The frame data of the test pattern is created using the information of the control step in which the internal operation of the TL description is executed and the result is observed, and the test series is converted based on the frame to generate the RTL test series. .

【0032】RTL記述の入力及び期待値テスト系列デ
ータ46は、テスト系列生成部で生成されたRTLのテ
スト系列と期待値データである。
The RTL description input and expected value test series data 46 are the RTL test series and expected value data generated by the test series generation unit.

【0033】図2は、ビヘイビアレベルのテスト系列の
データ4と、RTLのテスト系列データ6を説明する図
である。
FIG. 2 is a diagram for explaining behavior-level test series data 4 and RTL test series data 6.

【0034】まずビヘイビアレベルのテストパターンが
如何なるものかを説明する。ビヘイビアレベルの記述か
らなる回路は、テストパターンを印加すると記述内の手
続きに従ってデータの演算を行い、遅延無しで出力ポー
トから結果を出力する。演算の動作とその順序だけで時
間の概念が導入されていない。従ってテスト系列も時間
の概念がなく、ビヘイビアの回路モデルに入力すれば同
時に出力が得られる。
First, the behavior level test pattern will be described. When a test pattern is applied, a circuit including behavioral level description performs data operation according to the procedure in the description and outputs the result from the output port without delay. The concept of time is not introduced only in the operation and order of operations. Therefore, the test sequence also does not have the concept of time, and if it is input to the behavioral circuit model, outputs can be obtained at the same time.

【0035】図2(a)は、ビヘイビアレベルのテスト
系列に関するデータを説明する図である。実際には多数
のテスト系列が存在するが、簡単のため本実施例では3
つのテスト系列を示している。この表にはテスト系列を
識別するテスト系列番号、パターンを印加したり観測し
たりする入力ポート名、内部変数名、出力ポート名があ
る。ポートや変数の属性として入力/期待値判別情報が
格納される。INは入力パターンを、EXPは期待値パ
ターンを示す。テスト系列番号の行にある数字は、テス
トパターンの値は、本実施例では、簡単のためにそのデ
ータタイプはすべて整数で表示している(パターンの値
はポートのデータタイプに依存し、例えば実数、整数、
ビット、ビット列などがあり、それらのタイプに応じて
格納される)。内部変数の出力ポートの欄には期待値が
格納されており、これは一般にビヘイビアレベルのシミ
ュレーションの結果から作成されるものである。すべて
の内部変数の値が観測される必要はなく、ビヘイビア記
述がRTL記述に変換されたあとに、レジスタとして残
る場合に観測の対象となる図2(a)の表の1行は、1
動作あたりのテストパターンと期待値パターンである。
FIG. 2A is a diagram for explaining data related to a behavior level test series. In reality, there are many test sequences, but in this embodiment, 3 for the sake of simplicity.
Shows two test series. This table has a test sequence number for identifying a test sequence, an input port name for applying or observing a pattern, an internal variable name, and an output port name. Input / expected value determination information is stored as an attribute of a port or a variable. IN indicates an input pattern, and EXP indicates an expected value pattern. The numbers in the row of the test sequence numbers are the values of the test patterns. In this embodiment, the data types are all displayed as integers for simplicity (the pattern values depend on the data type of the port, for example, Real number, integer,
Bits, bit strings, etc., are stored according to their type). An expected value is stored in the output port column of the internal variable, which is generally created from the result of the behavior level simulation. It is not necessary to observe the values of all internal variables, and one row in the table of FIG. 2 (a) to be observed when the behavior description is converted to the RTL description and remains as a register is 1
It is a test pattern per operation and an expected value pattern.

【0036】つぎにRTLのテスト系列について簡単に
説明する。順序回路からなるRTLの回路は、初期状態
から次の状態へ遷移を行いながら外部から取り込んだデ
ータを終えたらまた初期状態に戻り動作を繰り返す。本
実施例ではこの状態の遷移を制御ステップと称し各ステ
ップを状態識別子で示す。テスト系列には、各状態での
演算に必要な入力テスト系列と、各状態で観測される出
力の期待値系列がある。
Next, the RTL test sequence will be briefly described. The RTL circuit, which is a sequential circuit, returns to the initial state and repeats the operation when the data fetched from the outside is finished while transitioning from the initial state to the next state. In this embodiment, this state transition is called a control step, and each step is indicated by a state identifier. The test series includes an input test series necessary for calculation in each state and an expected value series of outputs observed in each state.

【0037】図2(b)は、レジスタ転送レベメのテス
ト系列のデータを説明する図である。図2(b)は多数
存在するテスト系列の一部を示している。本実施例では
3状態の動作を検証するテスト系列を用いて説明する。
a,bは入力ポート,r1,r3はレジスタ,z1は出
力ポートである。本実施例では入力,レジスタ,出力ポ
ートのデータタイプを整数としているが、ビットまたは
ビット列でも良い。簡単のためここでは整数の例で説明
する。入力,期待値判別情報はビヘイビアレベルのテス
ト系列と同様である。テスト系列1はステート1のパタ
ーンを示し、入力ポートaに値’1’を、入力ポートb
に値’2’を印加する。テスト系列2のステート2で
は、入力a,bに’−’が記してあるが、これは、デー
タタイプが同一ならばどのような値でもよいという意味
である。(ドントケアパターンと称す)。またレジスタ
r1の期待値は’3’である。テスト系列3のステート
3のパターンでは、出力ポートz1の期待値が’5’で
ある。
FIG. 2B is a diagram for explaining the test series data of the register transfer leveling. FIG. 2B shows a part of a large number of test sequences. This embodiment will be described using a test sequence for verifying the operation in three states.
a and b are input ports, r1 and r3 are registers, and z1 is an output port. In this embodiment, the data type of the input, register and output port is integer, but it may be bit or bit string. For the sake of simplicity, an integer example will be described here. The input and expected value discrimination information is the same as the behavior level test sequence. The test sequence 1 shows the pattern of state 1, and the value "1" is input to the input port a and the input port b
The value '2' is applied to. In the state 2 of the test sequence 2, “-” is written in the inputs a and b, which means that any value may be used as long as the data types are the same. (It is called a don't care pattern). The expected value of the register r1 is "3". In the state 3 pattern of the test sequence 3, the expected value of the output port z1 is “5”.

【0038】図3〜図5を用いて、ビヘイビアレベルの
仕様記述とRTL記述との対応作成部を説明する。はじ
めにコマンドについて、次に体策作成布が生成する情報
について、そして本作成部の処理フローを説明する。
With reference to FIG. 3 to FIG. 5, a description will be given of a correspondence generation unit for the behavior level specification description and the RTL description. First, the command, the information generated by the physical constitution preparation cloth, and the processing flow of the preparation unit will be described.

【0039】図3(a)は、ビヘイビアレベルの仕様記
述とRTL記述との対応作成部に係わるコマンド入力記
述を説明する図である。コマンドは、RTLのファシリ
ティとビヘイビア記述の変数との対応情報を与える。
“RTL IN”はRTL記述の入力ポート名を宣言す
るキーワードで、a,b,c1は入力ポート名である。
“RTL REG”はRTL記述のレジスタを宣言する
キーワードで、r1,r3はレジスタ名である。“RT
OUT”は、RTL記述の出力ポート名を宣言する
キーワードで、z1は出力ポート名である。“BL
N”はビヘイビア記述の入力ポート名を、“BL VA
R”は変数で、“BL OUT”は出力ポート名を宣言
するキーワードで、キーワードの後ろの文字はそれぞれ
の名前である。“EQUAL”は、RTLのポート名ま
たはレジスタ名と、ビヘイビア記述のポート名または変
数名の対応をとるためのコマンドで、“(a:a)”
は、RTLの入力ポート“a”(第1のa)がビヘイビ
ア記述の“a”(第2のa)に対応することを示し、
“(z1:z1,z2)”は、RTLの出力ポート“z
1”が、ビヘイビア記述の“z1”と“z2”に対応す
ることを示している。すなわち、RTLの出力ポート
“z1”は、ビヘイビア記述の“z1”と“z2”の値
を時分割して出力することを示している。
FIG. 3A is a view for explaining a command input description relating to a behavior level specification description and an RTL description correspondence creating section. The command gives the correspondence information between the RTL facility and the variable of the behavior description.
"RTL IN "is a keyword for declaring the input port name of the RTL description, and a, b, c1 are the input port names.
"RTL "REG" is a keyword for declaring an RTL description register, and r1 and r3 are register names.
L “OUT” is a keyword that declares the output port name of the RTL description, and z1 is the output port name. I
“N” is the input port name of the behavior description and is “BL VA
"R" is a variable, "BL "OUT" is a keyword for declaring the output port name, and the characters after the keyword are the respective names. "EQUAL" associates the RTL port name or register name with the behavior description port name or variable name. Command for "(a: a)"
Indicates that the RTL input port “a” (first a) corresponds to the behavior description “a” (second a).
"(Z1: z1, z2)" is the RTL output port "z
1 ”corresponds to“ z1 ”and“ z2 ”of the behavior description. That is, the output port“ z1 ”of the RTL time-divides the values of“ z1 ”and“ z2 ”of the behavior description. Is output.

【0040】図3(b)は、RTL記述に存在するが、
ビヘイビア記述に存在しないポートの情報を入力するコ
マンドを示している。キーワードは、図3(a)と同じ
意味を有し、また“IN”は入力パターンを印加するポ
ートまたはレジスタを示し、“EXP”は期待値パター
ンを観測するポートまたはレジスタを示している。“:
=’P’”はポジティブパルスの印加を、“:=’
L’”は1ビットの期待値0を、:=“LHL”はレジ
スタr4に係わる3ビットの期待値010を示してい
る。また、“:=”以降に式を記述し入力パターンの値
を条件によって選択したり、1制御ステップ前のパター
ンの値を使用して現在の制御ステップのパターン値を計
算できる(詳細な例については後述する)。
Although FIG. 3B exists in the RTL description,
It shows the command to input the information of the port that does not exist in the behavior description. The keyword has the same meaning as in FIG. 3A, "IN" indicates a port or register to which the input pattern is applied, and "EXP" indicates a port or register to observe the expected value pattern. ":
= 'P' ”means the application of positive pulse,“: = ”
L ′ ”indicates a 1-bit expected value 0, and: =“ LHL ”indicates a 3-bit expected value 010 related to the register r4. Further, an expression is described after“: = ”to indicate the value of the input pattern. It can be selected depending on the condition, or the pattern value of the current control step can be calculated by using the value of the pattern one control step before (a detailed example will be described later).

【0041】以上コマンドを例に説明したが、本発明の
ビヘイビアレベルの仕様記述とRTL記述との対応作成
部は、コマンドによって制限されるものではなく、コマ
ンドを利用して与えた情報を他の手段、例えばテーブル
形式の入力手段や、ハードウェア記述言語の属性記述等
を用いて与えてもよい。
Although the command has been described above as an example, the correspondence creation unit of the behavioral level specification description and the RTL description of the present invention is not limited by the command, and the information given by using the command is not limited to other information. It may be given by means such as a table-type input means or an attribute description of a hardware description language.

【0042】図4(a)はビヘイビアレベルの仕様記述
とRTL記述との対応作成部が生成する対応情報を説明
する図である。本図のデータは、(1)本実施例のよう
にコマンドとビヘイビア記述のデータとRTL記述のデ
ータを取り込んで解析して作成したり、(2)設計者が
本発明の装置の外部から入力装置で与えたり、(3)高
位合成装置が作成するレファンス情報から得られる。
FIG. 4A is a diagram for explaining the correspondence information generated by the correspondence creation unit for the behavior level specification description and the RTL description. The data of this figure is created by (1) taking in and analyzing the data of the command, the behavior description and the RTL description as in this embodiment, or (2) inputting from outside the device of the present invention by the designer. It is given by the device or (3) obtained from the reference information created by the high-level synthesis device.

【0043】RTL記述のポート、レジスタ、信号の名
前、これらのデータタイプ(例ではINTEGER)
と、これらのファシリティにテスト系列を印加したり、
出力が観測される制御ステップ情報が格納される。ステ
ート1は第1のステートを示すステート番号である。R
TL記述では同一ポートに関して、異なるステートで異
なるパターンを印加したり、観測したりする場合があ
り、この場合は同一ポートに対して複数の制御ステップ
が存在する。本図ではRTL記述のポートz1が、ビヘ
イビア記述のポートz1とz2とに対応している、さら
に、RTL記述のポートに対応するビヘイビア記述のポ
ートの名前と、それらのデータタイプを格納している。
データタイプとしてはビット、ビット列、整数、実数型
やこれらを要素とするレコード型等が存在する。
Ports of RTL description, registers, names of signals, and their data types (INTEGER in the example)
And apply test sequences to these facilities,
The control step information whose output is observed is stored. State 1 is a state number indicating the first state. R
In the TL description, different patterns may be applied or observed in different states for the same port, and in this case, there are a plurality of control steps for the same port. In the figure, the port z1 of the RTL description corresponds to the ports z1 and z2 of the behavior description, and further, the names of the ports of the behavior description corresponding to the ports of the RTL description and their data types are stored. .
The data types include bits, bit strings, integers, real numbers, and record types having these as elements.

【0044】また図4(b)は、RTL記述には存在す
るが、ビヘイビア記述に存在しないポートやレジスタに
関するデータタイプと、パターンの印加または観察され
る制御ステップと、上述したコマンドから取り込んだ印
加または観察の判別情報と、パターンの値を示す。本実
施例ではクロック信号のclk、システムリセット信号
のrst,スキャンアウト信号のsoの例を示した。c
lk信号は、1ビットで、ステート1からステート3の
それぞれのステップに、入力パターン“010”のポジ
ティブパルス(P)が与えられる。またパターン値の計
算式が与えられた場合は、本図のパターンの値を格納す
る領域に、パターンの値自体ではなく計算式との関連を
表す情報が格納される。
In FIG. 4B, the data type relating to a port or register which is present in the RTL description but not in the behavioral description, the pattern application or control step to be observed, and the application fetched from the above command. Alternatively, it shows the observation discrimination information and the pattern value. In this embodiment, an example of the clock signal clk, the system reset signal rst, and the scan-out signal so is shown. c
The lk signal is 1 bit, and the positive pulse (P) of the input pattern “010” is applied to each step of the states 1 to 3. Further, when the calculation formula of the pattern value is given, the area for storing the pattern value of this figure stores not the pattern value itself but the information indicating the relation with the calculation formula.

【0045】図5及び図6は、ビヘイビアレベルの仕様
記述とRTL記述との対応作成部に係わる処理フローを
説明する図である。本作成部は、以下のステップで図3
1(a),(b)のビヘイビアレベルの仕様記述とRT
L記述との対応情報を作成する。図5の101と図6の
111の端子で処理の開始と終了を示す。ステップ10
2〜110は処理を示す。RTLの入力、レジスタ、出
力のファシリティ名と、入力/期待値判別情報、パター
ンの値からなるコマンドと、ビヘイビアレベルの入力、
変数、出力ポート名を宣言するコマンドと、RTLのポ
ート名やレジスタ名とビヘイビア記述のポートや変数名
とを対応づけたコマンド情報(図3(a),(b)を取
り込んで、RTL記述のポート、レジスタ名、対応する
ビヘイビアレベルのポート名、変数名のパターンの値を
セットする(ステップ102)。RTL記述のデータを
取り込む(ステップ103)。ビヘイビア記述のデータ
を取り込む(ステップ104)。ステップ103で取り
込んだ、RTLのデータを用いて、コマンドから取り込
んだポートやレジスタの持つデータタイプやビット幅を
抽出してセットする(ステップ105)。同様にステッ
プ104で取り込んだ、ビヘイビア記述のデータを用い
て、コマンドから取り込んだポートや変数の持つデータ
タイプを抽出してセットする(ステップ106)。RT
Lの記述のデータを用いて、ステートの順番を識別する
ステート番号を作成し、各ステートにおいて読み書きさ
れるファシリティ名を求める(ステップ107)。例え
ば下の表のような内部データを作成する。ステート1で
は、ファシリティa,bで世乱しが発生し、ステート2
でファシリティr3に書き込みが発生する。
FIG. 5 and FIG. 6 are views for explaining the processing flow relating to the correspondence generation unit for the behavior level specification description and the RTL description. This preparation section will follow the steps below.
1 (a), (b) behavioral level specification description and RT
Information corresponding to the L description is created. The start and end of processing are indicated by the terminals 101 in FIG. 5 and 111 in FIG. Step 10
2-110 shows a process. RTL input, register, output facility name, input / expected value discrimination information, command consisting of pattern value, behavior level input,
Commands for declaring variables and output port names and command information (Figs. 3 (a) and 3 (b)) in which RTL port names and register names are associated with ports and variable names in behavior description A port, a register name, a corresponding behavior level port name, and a variable pattern value are set (step 102), RTL description data is fetched (step 103), and behavior description data is fetched (step 104). The data type and bit width of the port and the register fetched from the command are extracted and set using the RTL data fetched in 103. (Step 105) Similarly, the behavior description data fetched in Step 104 is set. And use it to extract the data type of the port or variable imported from the command. Tsu to door (step 106) .RT
Using the data described in L, a state number for identifying the order of the states is created, and the facility name read / written in each state is obtained (step 107). For example, create internal data as shown in the table below. In the state 1, the revolt occurs in the facilities a and b, and the state 2
Then, writing occurs in the facility r3.

【0046】[0046]

【表1】 異なる制御ステップで読み書きが発生するか調べる(ス
テップ108)。YESの場合は、コマンドから取り込
んだファシリティに対応するビヘイビア記述のポートや
変数が、ビヘイビア記述に出現する順番を求め、これと
ファシリティが読み書きされるステート番号を対比し、
各制御ステップにおけるファシリティとビヘイビア記述
のポートや変数との対応をとる。上記例では、出力ポー
トz1については、ステート2とステート3にパターン
が出力されるため、RTLのポート名z1に対応するビ
ヘイビア記述のポートz1とz2が、ビヘイビア記述で
現れる順番を取り出し、前者の制御ステップの順番と比
較し、両者の対応をとる。すると、ステート2のz1が
ビヘイビア記述内で最初に現れるz1に対応し、ステー
ト3のz1がビヘイビア記述のz2に対応する(ステッ
プ109)。NOの場合は、ステップ107で作成した
情報を用いて入力ポート、レジスタ、出力ポートの制御
ステップをセットする(ステップ110)。以上のステ
ップを経て図4(a)のデータが生成される。図4
(b)のデータの入力,出力,レジスタのファシリティ
名とデータタイプと制御ステップに関しては、上記処理
フローで作成され、入力、期待値の判別情報とパターン
の値については、コマンドから入力された値をセットす
る。
[Table 1] It is checked whether reading and writing occur in different control steps (step 108). If YES, obtain the order in which the ports and variables in the behavior description corresponding to the facility imported from the command appear in the behavior description, and compare this with the state number at which the facility is read and written,
Correspondences between facilities in each control step and ports and variables in behavioral description. In the above example, since the pattern is output to the state 2 and the state 3 for the output port z1, the order in which the ports z1 and z2 of the behavior description corresponding to the port name z1 of the RTL appear in the behavior description is extracted, and the former Compare them with the order of the control steps and take a correspondence between them. Then, z1 of state 2 corresponds to z1 which appears first in the behavior description, and z1 of state 3 corresponds to z2 of the behavior description (step 109). In the case of NO, the control step of the input port, the register and the output port is set using the information created in step 107 (step 110). The data of FIG. 4A is generated through the above steps. Figure 4
The data input and output of (b), the facility name and data type of the register, and the control step are created in the above process flow, and the input and expected value determination information and the pattern value are the values input from the command. Set.

【0047】テスト系列生成部は、テスト系列のフレー
ム情報生成部と、テスト系列変換部の2つから構成され
る。図7〜図9を用いて第1の処理であるテスト系列の
フレーム情報生成に係わる処理フローを説明する。ここ
では処理フローの説明にとどめ、モチーフを使用した詳
細な説明については後述する。
The test sequence generation unit is composed of a test sequence frame information generation unit and a test sequence conversion unit. A processing flow relating to the first series of frame information generation of the test sequence will be described with reference to FIGS. 7 to 9. Here, only the processing flow will be described, and a detailed description using the motif will be described later.

【0048】図7の201と図8の218は端子で処理
の開始と終了を示す。ステップ202〜217は処理を
示す。ビヘイビアレベルのテスト系列データから、入力
ポート名、内部変数名、出力ポート名と入力か期待値か
の判別情報を取り込む(ステップ202)。ビヘイビア
レベルの仕様記述とRTL記述との対応作成部3が作成
した、RTL記述の入力と出力ポートとレジスタの制御
ステップ情報と、RTL記述の各ポートまたはレジスタ
の制御ステップに対応するビヘイビア記述の入力、出力
ポート名、内部変数名を取り込む。RTL記述に新たに
追加されたポート名と入力、期待値判別情報を取り込む
(ステップ203)。RTL記述の制御ステップ情報を
解析してステート数を求め、実行に必要なステート数を
パターンフィールド数とする。また各フィールドとステ
ート番号の関連情報を作成する(ステップ204)。
Reference numeral 201 in FIG. 7 and 218 in FIG. 8 indicate the start and end of processing at the terminals. Steps 202 to 217 indicate processing. The input port name, the internal variable name, the output port name and the discrimination information of input or expected value are fetched from the behavior-level test series data (step 202). Correspondence between specification description at behavior level and RTL description Input and output port of RTL description, control step information of register, and input of behavior description corresponding to control step of each port or register of RTL description created by the creating unit 3. , Output port name, internal variable name are imported. The port name and input newly added to the RTL description and the expected value discrimination information are fetched (step 203). The control step information in the RTL description is analyzed to find the number of states, and the number of states required for execution is taken as the number of pattern fields. Also, the related information of each field and the state number is created (step 204).

【0049】ステップ203で取り込んだビヘイビア記
述とRTL記述のポートの対応情報から、ビヘイビア記
述の入力ポートとして存在し、かつRTLの入力ポート
としても存在する数を入力テスト系列コラム数とし、各
コラムとRTL記述のポート名との対応情報を作成する
(ステップ205)。RTL記述のポート数がビヘイビ
ア記述のポート数より少ないことがある(1ポートを多
重化して使う)が、この場合はRTLのポートのコラム
を作る上では問題ない。反対に、ビヘイビア記述に存在
しないポートがRTL記述に付加される場合があるの
で、まず付加された入力ポートとパターンの値が既知か
どうか調べる(ステップ206)。YESの場合は、付
加されたポートのコラム数を上記コラム数に加算し、コ
ラムとRTLのポート名の対応をとる(ステップ20
7)。NOの場合はステップ208に進む。ステップ2
03で取り込んだRTL記述のレジスタとビヘイビア記
述の内部変数の対応情報を使用して、ビヘイビア記述の
内部変数の印加または観測かの情報を取り出し、印加パ
ターンかどうか調べる(ステップ208)。YESの場
合は、入力パターンのコラム数を再計算し、コラムとR
TL記述のレジスタ名との対応をとる(ステップ20
9)。NOの場合は、期待値パターンのコラム数とし、
コラムとRTL記述のレジスタ名との対応をとる(ステ
ップ210)。
From the correspondence information on the ports of the behavior description and the RTL description fetched in step 203, the number existing as the input port of the behavior description and also as the input port of the RTL is set as the number of input test sequence columns, and each column is Information corresponding to the port name in the RTL description is created (step 205). The number of ports in the RTL description may be smaller than the number of ports in the behavior description (1 port is used by multiplexing), but in this case, there is no problem in creating a column of RTL ports. On the contrary, since a port which does not exist in the behavior description may be added to the RTL description, it is first checked whether the added input port and the value of the pattern are known (step 206). In the case of YES, the column number of the added port is added to the above column number, and the column and the RTL port name are associated (step 20).
7). If NO, the process proceeds to step 208. Step two
By using the correspondence information between the register of the RTL description and the internal variable of the behavior description, which is taken in 03, information on whether the internal variable of the behavior description is applied or observed is taken out to check whether it is an applied pattern (step 208). If YES, recalculate the number of columns in the input pattern
Corresponds to the register name in the TL description (step 20)
9). If NO, set the number of columns in the expected value pattern,
Correspondence between the column and the register name of the RTL description is obtained (step 210).

【0050】RTL記述に付加されたレジスタが存在す
るかどうか調べる(ステップ211)。YESの場合
は、ステップ211に進み、NOの場合はステップ21
5に進む。ステップ203で取り込んだRTL記述の付
加レジスタの印加または観測かの情報を取り出し、印加
パターンかどうか調べる(ステップ212)。YESの
場合は、入力パターンのコラム数を再計算し、コラムと
RTL記述のレジスタ名との対応をとる(ステップ21
3)。NOの場合は、期待値パターンのコラム数とし、
コラムとRTL記述のレジスタ名との対応をとる(ステ
ップ214)。入力ポートと同様に、ステップ203で
取り込んだRTL記述とビヘイビア記述のポートの対応
情報から、ビヘイビア記述の出力ポートとして存在し、
かつRTLの出力ポートとしても存在する数を計算済み
の期待値コラム数に加算し、コラムとRTL記述の出力
ポートとの対応情報を作成する(ステップ215)。
It is checked whether or not there is a register added to the RTL description (step 211). If yes, go to step 211; if no, go to step 21.
Go to 5. Information on application or observation of the additional register of the RTL description taken in at step 203 is taken out to check whether it is an application pattern (step 212). If YES, the number of columns in the input pattern is recalculated, and the columns are associated with the register names in the RTL description (step 21).
3). If NO, set the number of columns in the expected value pattern,
Correspondence between the column and the register name of the RTL description is obtained (step 214). Similar to the input port, it exists as an output port of the behavior description from the correspondence information of the RTL description and the port of the behavior description captured in step 203,
Moreover, the number that also exists as the output port of the RTL is added to the calculated expected value column number to create the correspondence information between the column and the output port of the RTL description (step 215).

【0051】ビヘイビア記述に存在せずRTL記述にの
み存在する出力ポートについて、名前や印加/期待値判
別情報が存在し期待値パターンが既知か調べる(ステッ
プ216)。YESの場合は、付加出力ポート数を上記
期待値コラム数に付加し、コラムとRTL記述の出力ポ
ート名との対応情報を作成する(ステップ217)。N
Oの場合はステップ218に進む。以上の処理でテスト
パターンのフレーム情報が作成される。
For the output port which does not exist in the behavior description but exists only in the RTL description, it is checked whether or not there is a name or applied / expected value discrimination information and the expected value pattern is known (step 216). In the case of YES, the number of additional output ports is added to the number of expected value columns, and correspondence information between columns and output port names in the RTL description is created (step 217). N
If O, go to step 218. The frame information of the test pattern is created by the above processing.

【0052】次にテスト系列の生成処理を説明する。図
10の301と306は端子で処理の開始と終了を示
す。302から305は処理を示す。RTLのテストパ
ターンのフレーム情報と、ビヘイビアレベルの仕様記述
とRTL記述との対応情報と、ビヘイビアレベルのテス
ト系列からポート名を取り込む(ステップ302)。
Next, a test sequence generation process will be described. Reference numerals 301 and 306 in FIG. 10 indicate the start and end of processing at terminals. Reference numerals 302 to 305 denote processes. The port information is fetched from the frame information of the RTL test pattern, the correspondence information between the behavior level specification description and the RTL description, and the behavior level test sequence (step 302).

【0053】ただし、本生成処理をビヘイビアレベルの
仕様記述とRTL記述との対応情報と、テストパターン
のフレーム情報作成に引き続いて行うときは不要であ
る。ビヘイビアレベルのテスト系列をビヘイビアレベル
のテスト系列データから1つ取り出す(ステップ30
3)。フレーム情報を用いて対応するフィールドのコラ
ムに入力パターン値、期待値パターンの値を代入する
(ステップ304)。すべてのパターンを取り込んでR
TLのテストパターンを生成したかを判定し(ステップ
305)、YESの場合は終了、NOの場合はステップ
303に戻り、ステップ303からステップ305を繰
り返す。
However, this generation process is not necessary when the correspondence information between the behavior-level specification description and the RTL description and the generation of the test pattern frame information are performed subsequently. One behavior-level test series is extracted from the behavior-level test series data (step 30).
3). Using the frame information, the input pattern value and the expected value pattern value are substituted into the column of the corresponding field (step 304). Capture all patterns and R
It is determined whether a TL test pattern has been generated (step 305). If YES, the process ends. If NO, the process returns to step 303, and steps 303 to 305 are repeated.

【0054】次に図11及び図12に例示するハードウ
ェア設計言語による記述を例に採って、本発明の実施例
を詳細に説明する。まず3つのモチーフ回路について説
明する。これらはVHDL(IEEE標準のハードウェ
ア設計言語)で記述された回路である。VHDLではe
ntityと称するキーワードで回路の外部インターフ
ェースを記述する必要があるが、本実施例では重要では
ないので省いている。
Next, the embodiments of the present invention will be described in detail by taking the description in the hardware design language illustrated in FIGS. 11 and 12 as an example. First, three motif circuits will be described. These are circuits described in VHDL (IEEE standard hardware design language). E in VHDL
Although it is necessary to describe the external interface of the circuit with a keyword called "unity", it is omitted in this embodiment because it is not important.

【0055】図11(a)はデータの演算だけからなる
回路で。入力ポートはa,b,c1,c2でデータタイ
プは整数、出力ポートはz1とz2でデータタイプは整
数である。architecture以下の記述は、回
路の本体を記述するところで、processから以下
end processまでの文は順次処理される。r
1,r2,r3は内部変数で“:=”は代入である。ま
た“<=”は左辺が信号の場合の代入である。’+’は
加算で、“r2:=−r1;”の’−’は符号反転であ
る。process後の()内記述されたセンシティ
ビティリストと称する信号の内、少なくとも1つにイベ
ントが発生した場合に、process文内のbegi
n以下の回路が順番に実行され、センシティビティリス
トの信号に次のイベントが発生するまでend pro
cessで待機する。r1,r2,r3への代入は遅延
無しで実行されるが、z1とz2への代入にはデルタ遅
延と称する非常に小さい時間を要する。ただしここでは
デルタ時間を無視する。すなわち本記述からなるビヘイ
ビアレベルの回路は、入力ポートに値が与えられたら、
順次処理され瞬時に出力ポートに値が計算されて出力さ
れる回路とみなせる。
FIG. 11A shows a circuit which is composed only of data calculation. The input ports are a, b, c1 and c2 and the data type is an integer, and the output ports are z1 and z2 and the data type is an integer. In the description below, the main body of the circuit is described, and statements from process to end process are sequentially processed. r
1, r2 and r3 are internal variables and “: =” is a substitution. Further, “<=” is a substitution when the left side is a signal. “+” Is addition, and “−” of “r2: = − r1;” is sign inversion. Of process after () sensitivity list referred to as the signal written in, when an event to at least one occurs, Begi in the statement process
n or less circuits are executed in order, and end pro is used until the next event occurs in the signal of the sensitivity list.
Wait at cess. Substitutions into r1, r2 and r3 are executed without delay, but substitutions into z1 and z2 require a very small time called delta delay. However, delta time is ignored here. In other words, the behavioral level circuit consisting of this description, if a value is given to the input port,
It can be regarded as a circuit that is sequentially processed and the value is instantly calculated and output to the output port.

【0056】図11(b)は高位子合成装置で生成され
たRTL記述を、設計者が人手又は修正装置で修正した
後のRTL記述、もしくは設計者が人手で設計した回路
の例である。process文以下のシーケンシャル文
は、3つのwait until文によって区切られて
いる。wait until clk=’1’は1ビッ
トのクロック新号clkが’0’から’1’に変化する
までwait文でそれ以下の実行を待機する。clkが
立ち上がると次のwait文までの間に信号代入文を実
行する。第1のwait文までは初期ステートでステー
ト0(ステート名は存在しないので仮にステート番号0
としてある)、r1への代入がステート1で、r3とz
1への出力がステート2で、その下のz1はステート3
である。ただし最上位のwait文までのステート0は
初期ステートで、動作開始後に一度だけとるステートで
ある。信号r1とr3は代入したステートと異なるステ
ートで参照されているので、レジスタの如く動作する。
FIG. 11B shows an example of the RTL description generated by the high-order synthesis apparatus after the designer has manually or modified the RTL description, or the circuit manually designed by the designer. The sequential sentences below the process sentence are separated by three wait until sentences. The wait until clk = '1' waits for further execution in the wait statement until the 1-bit clock new number clk changes from '0' to '1'. When clk rises, the signal assignment statement is executed until the next wait statement. Up to the first wait statement, state 0 is the initial state (state name 0 does not exist, so state number 0
, The assignment to r1 is state 1, and r3 and z
The output to 1 is state 2 and z1 below is state 3
Is. However, the state 0 up to the uppermost wait statement is an initial state, and is a state taken only once after the operation starts. Since the signals r1 and r3 are referenced in a state different from the assigned state, they operate like registers.

【0057】図11(c)は条件により演算の実行とそ
の結果を選択する回路で、入力ポートはa,b,c0,
でデータタイプは整数、出力ポートはzでデータタイプ
は整数である。if(a<b)は、aとbの値の大小比
較の結果でthen以下の変数代入文と、else以下
の変数代入文を選択する条件文である。elseの下の
変数代入文の’−’は減算である。
FIG. 11 (c) is a circuit for selecting the execution of the operation and the result according to the condition, and the input ports are a, b, c0,
, The data type is integer, the output port is z, and the data type is integer. if (a <b) is a conditional statement that selects a variable assignment statement of not more than then and a variable assignment statement of less than else as a result of the comparison of the values of a and b. The'- 'in the variable assignment statement under else is subtraction.

【0058】図11(d)は図11(b)と同様な設計
過程を経て記述されたRTLの回路で、2つのwai
t、until文によって信号代入文が区切られてい
る。第1のwait文までが初期ステートで(ステート
0)、条件a<bでa+bとa−bを選択実行し、レジ
スタr1へ値を代入する。さらに条件a<bの結果もレ
ジスタr2に保持される(ステート1)。ステート2
で、ステート1でラッチしたr2の値でzへの出力をさ
らに選択し、r2が偽の場合に、r1にc0に加算して
zに出力している。
FIG. 11D shows an RTL circuit described through a design process similar to that shown in FIG.
Signal assignment statements are separated by t and until statements. Up to the first wait statement is the initial state (state 0), a + b and ab are selected and executed under the condition a <b, and the value is assigned to the register r1. Further, the result of the condition a <b is also held in the register r2 (state 1). State 2
Then, the output to z is further selected by the value of r2 latched in the state 1, and when r2 is false, it is added to c0 to r1 and output to z.

【0059】図12(a)はループ記述があり、ビット
列のaに格納された’1’に係数する回路である。入力
ポートはaでデータタイプは4ビットのビット列で、出
力ポートはzでデータタイプは整数である。for−−
−の文は以下end loopまでの変数代入文を4回
繰り返すループ文である。tmp(0) and ’
1’は、配列tmpのインデックス0番の値と、ビット
‘1’の論理積を取ったものである。すなわち、tmp
のlsb(最小ビット)が1の場合にcntを1加算し
ている。shrはtmpの値を右にシフトする関数で、
ここでは第2引き数の1ビット分をシフトしている。
FIG. 12A shows a circuit which has a loop description and which adds a coefficient of "1" stored in a of a bit string. The input port is a and the data type is a 4-bit bit string, and the output port is z and the data type is an integer. for--
The-statement is a loop statement in which the variable assignment statements up to end loop are repeated four times. tmp (0) and '
1'is the logical product of the value of index 0 of the array tmp and the bit '1'. That is, tmp
When lsb (minimum bit) of 1 is 1, cnt is added by 1. shr is a function that shifts the value of tmp to the right,
Here, one bit of the second argument is shifted.

【0060】図12(b)は図11(b)と同様な設計
過程を経た図12(a)に対するRTLの回路である。
これは4つのwait until文によって信号代入
文が区切られた5状態の回路である。第1のwait文
までが初期ステートで(ステート0)で信号cntを初
期化している。次のステート(ステート1)では、入力
ポートaの0ビット目の値とビット’1’の論理積をと
り、真の場合にcntを1加算している。以下のステー
トではaの異なるインデックスの値とビット’1’の論
理積を取ってaの要素が値が’1’の数を計数してい
る。
FIG. 12B shows an RTL circuit for FIG. 12A which has undergone the same design process as FIG. 11B.
This is a five-state circuit in which signal assignment statements are separated by four wait until statements. The first wait statement is the initial state (state 0) and the signal cnt is initialized. In the next state (state 1), the value of the 0th bit of the input port a and the bit "1" are ANDed, and if true, 1 is added to cnt. In the following states, the value of the index of different a and the bit "1" are ANDed, and the element of a counts the number of values "1".

【0061】図11及び図12のモチーフ記述を例に取
って、テスト系列の生成アルゴリズムを説明する。高位
合成または人手で、図11(a)のビヘイビア記述が図
38(b)のRTL記述に変換されたとする。図11
(a)のビヘイビア記述を検証するビヘイビアレベルの
テスト系列を図2(a)を用いて説明する。入力ポート
a,b,c1,c2にそれぞれ整数1,2,8,1(8
と1は図2(a)には示していない)を印加した場合、
内部変数のr1とr2の期待値は、それぞれ3と−3に
なり、出力ポートz1とz2の期待値は5と4になる。
つぎに図4(a)を流用して、ビヘイビアレベルの仕様
記述とRTL記述との対応情報を説明する。RTL記述
の入力ポートa,b,c1には、ビヘイビアのテストパ
ターンをそれぞれステート1、ステート1、ステート2
に印加し、RTL記述の出力ポートz1には、ステート
3にビヘイビア記述のz1の結果が得られ、ステート1
にz2の結果が得られる。ただしz2は第1ステートに
は値が出力されず、第4ステートになってはじめて値が
出力される。同様に、レジスタr1とr3にはビヘイビ
ア記述の変数r1,r3が期待値が、それぞれステート
2とステート3に得られる。簡単のため、ポートレジス
タのデータタイプには対応するビヘイビア記述のポート
や変数のデータタイプと同じとする。RTL記述に新た
に生成されたポートclkについては、外部から入力し
たコマンドのパターン情報を格納する。データは図4
(b)のclkの行のようになる。1ビットの入力パタ
ーン(ポジティブパルスで010のパターン)をステー
ト1と2と3で印加する。
The test sequence generation algorithm will be described by taking the motif description shown in FIGS. 11 and 12 as an example. It is assumed that the behavioral description in FIG. 11A is converted into the RTL description in FIG. 38B by high-level synthesis or manually. Figure 11
A behavior-level test sequence for verifying the behavior description in (a) will be described with reference to FIG. Input ports a, b, c1 and c2 have integers 1, 2, 8, 1 (8
2 and 1 are not shown in FIG. 2A),
The expected values of the internal variables r1 and r2 are 3 and -3, respectively, and the expected values of the output ports z1 and z2 are 5 and 4, respectively.
Next, the correspondence information between the behavior-level specification description and the RTL description will be described with reference to FIG. Behavioral test patterns are applied to the input ports a, b, and c1 of the RTL description as state 1, state 1, and state 2 respectively.
To the output port z1 of the RTL description, the result of the behavior description z1 is obtained in the state 3.
Z2 results are obtained. However, the value of z2 is not output in the first state, and the value is output only in the fourth state. Similarly, the expected values of the variables r1 and r3 of the behavior description are obtained in the registers r1 and r3 in the states 2 and 3, respectively. For simplicity, the data type of the port register is the same as the data type of the corresponding port or variable in the behavior description. For the newly created port clk in the RTL description, the pattern information of the command input from the outside is stored. The data is shown in Figure 4.
It becomes like the line of clk in (b). A 1-bit input pattern (pattern of positive pulse 010) is applied in states 1, 2 and 3.

【0062】図7〜図9の処理手順に従って、図11
(b)のRTL記述のテスト系列に関するフレーム情報
の作成を説明する。
According to the processing procedure of FIGS. 7 to 9, FIG.
Creation of frame information regarding the test sequence of the RTL description in (b) will be described.

【0063】ビヘイビアレベルのテスト系列データ4か
ら、ポート名、内部変数名、入力、期待値判別情報をテ
スト系列生成部5のメモリ内に取り込む。
The port name, the internal variable name, the input and the expected value discrimination information are fetched from the behavior level test series data 4 into the memory of the test series generating section 5.

【0064】[0064]

【表2】 次に図4(a)のビヘイビアレベルの仕様記述とRTL
記述との対応情報を、テスト系列生成部のメモリ内に取
り込む。
[Table 2] Next, the behavior-level specification description and RTL in FIG.
The information corresponding to the description is taken into the memory of the test sequence generator.

【0065】次にRTLのテスト系列のフレーム情報を
作成する。RTL記述の最大ステート数は出力ポートの
内、最後のステート番号(ステート3)が表しているの
で、初期ステートから計数して何番目かを計数する。最
大ステート数3をテスト系列のフィールド数(行数)と
する。フィールドとステート番号の関係を作成する。 フィールド1 −−> ステート1 フィールド2 −−> ステート2 フィールド3 −−> ステート3 RTL記述の入力ポート数は4で、これを入力パターン
のコラム数とする。コラン番号とポートの対応を作成す
る。またRTLのファシリティに対応するビヘイビア記
述のポート、変数名を取り出し、上記メモリに取り込ん
だデータを使ってパターンが入力か期待値かの情報を判
別し、フレーム情報に登録する。RTL記述に新たに生
成されたポートclkをフレームに登録する。
Next, frame information of the RTL test series is created. Since the maximum number of states in the RTL description is represented by the last state number (state 3) of the output ports, the number of states counted from the initial state is counted. The maximum number of states 3 is the number of fields (number of rows) in the test sequence. Create a relationship between fields and state numbers. Field 1-> State 1 Field 2-> State 2 Field 3-> State 3 The number of input ports in the RTL description is 4, and this is the number of columns in the input pattern. Create a correspondence between the Koran number and the port. Also, the port and the variable name of the behavior description corresponding to the RTL facility are taken out, the information taken in the memory is used to determine the information whether the pattern is an input or an expected value, and the information is registered in the frame information. The port clk newly created in the RTL description is registered in the frame.

【0066】RTL記述のレジスタについてもパターン
のコラムを作成する。パターンの印加か観測かを調べ
る。レジスタr1に対応するビヘイビア記述の変数r1
の判別情報から、期待値パターンとなる。
A pattern column is also created for a register described in RTL. Check whether the pattern is applied or observed. Behavior description variable r1 corresponding to register r1
From the discrimination information of, the expected value pattern is obtained.

【0067】RTL記述の出力ポートについても同様に
フレームに登録する。この様にして生成したフレームは
図13の様になる。
The output port of the RTL description is similarly registered in the frame. The frame generated in this way is as shown in FIG.

【0068】本実施例ではポートのデータタイプを整数
として説明したが、ビヘイビアレベルの仕様記述とRT
L記述との対応情報のRTLのポートとビヘイビアレベ
ルのポートとのデータタイプの対応情報を用いて、デー
タタイプに応じてパターンのコラム数を確保してフレー
ムを作成する。
In this embodiment, the data type of the port is described as an integer, but the behavior level specification description and the RT
The number of columns of the pattern is ensured according to the data type to create a frame by using the information of the data type correspondence between the RTL port and the behavior level port of the correspondence information with the L description.

【0069】図10の処理手順に従って、フレーム情報
を用いたテスト系列の精製について説明する。図10に
は、フレーム情報と、ビヘイビアレベルの仕様記述とR
TL記述との対応情報とビヘイビアレベルのポート名並
びに取り込むと記しているが、すでにこれらの情報がメ
モリ上に存在すれば取り込む必要はない。ビヘイビアレ
ベルのテストパターン“1,2,8,1,3,−3,−
−,5,4”(この値は図2(a)を参照)を取り込
む。ビヘイビアレベルの仕様記述とRTL記述との対応
情報を用いて、ビヘイビアのテストパターンを制御ステ
ップにセットする。すなわちRTLのポートaについて
は、ステート1に、ビヘイビアのaのパターン“1”を
セットする(図4(a)と図2(b)を参照)。以下同
様にポートbには、ステート1にビヘイビアのbのパタ
ーン“1”をセットする。他のポートやレジスタについ
ても同様にして生成するRTL記述とビヘイビア記述の
ポートのデータタイプが異なる場合には、例えばビヘイ
ビア記述のポートが整数で、RTL記述のポートがビッ
ト列の場合には、ポートが有するビット幅のビット表現
のパターンに変換してセットする。
Purification of a test sequence using frame information will be described according to the processing procedure of FIG. FIG. 10 shows frame information, behavior-level specification description, and R.
Although it is described that the correspondence information with the TL description, the port name at the behavior level, and the capture are included, it is not necessary to capture these information if they already exist in the memory. Behavior level test pattern "1, 2, 8, 1, 3, -3,-
-, 5, 4 "(see FIG. 2A for this value). The behavioral test pattern is set in the control step by using the correspondence information between the behavior level specification description and the RTL description. For port a, the behavior a pattern “1” is set in state 1 (see FIG. 4A and FIG. 2B). Set the pattern “1” of b. If the data type of the port of the behavior description is different from that of the RTL description generated in the same way for other ports and registers, for example, the port of the behavior description is an integer and the port of the RTL description is If the port is a bit string, it is converted into a bit representation pattern of the bit width of the port and set.

【0070】本実施例ではRTL記述の双方向ポートに
ついて説明しなかったが、同一ポートに対してテストの
印加と出力の観測があり、印加のステートと出力のステ
ートが異なるとして本実施例を拡張することで容易に対
応できる。
Although the bidirectional port described in the RTL is not described in this embodiment, the application and the output of the test are observed with respect to the same port, and this embodiment is expanded assuming that the applied state and the output state are different. This can be done easily.

【0071】図11(c)のモチーフ記述のように条件
文が存在する場合も、本実施例の図9と図10の処理フ
ローを用いることで、RTL記述のテスト系列と期待値
系列を生成できる。図14(a)は図11(c)のモチ
ーフを検証するテスト系列で、図14(b)は本実施例
を用いて生成したRTLのテスト系列である。入力と出
力ファシリティのテスト系列と期待値系列については、
上記処理フローを用いて自動生成される。
Even when a conditional statement exists as in the motif description of FIG. 11C, the test sequence and the expected value sequence of the RTL description are generated by using the processing flows of FIGS. 9 and 10 of this embodiment. it can. FIG. 14A is a test sequence for verifying the motif of FIG. 11C, and FIG. 14B is an RTL test sequence generated using this embodiment. For the test and expected value series of input and output facilities,
It is automatically generated using the above processing flow.

【0072】ただし図11(d)のRTL記述では、レ
ジスタr1はビヘイビア記述の変数r1とは異なる意味
を有する。ビヘイビア記述には存在しないレジスタr2
が存在するなど図11(b)と異なる部分があるので、
この点に関する処理を説明する。テスト系列の値がa>
bの場合には、図11(d)のレジスタr1の期待値と
して図11(c)の変数r1の期待値を用いることがで
きないとか、レジスタr2は新たに発生されたファシリ
ティなので、パターン情報がない。そこで図14(c)
のように、clkにはポジティブパルス’P’の入力パ
ターンを、レジスタr1については、条件a<bが真の
場合には、入力パターンa+bの値を期待値とし、偽の
場合はa−bの計算値を期待値とする。同様にレジスタ
r2の期待値は、条件a<bが真の場合は’H’で偽の
場合は’L’になる。これらのパターンの値を計算する
式は、テスト系列生成部が図37のパターンを生成する
とき、すなわちビヘイビアレベルのテストパターンの値
を取り込んだあとに利用して期待値を計算して(図10
には示していないが)セットする。このように、ビヘイ
ビアレベルの仕様記述とRTL記述との対応作成部に於
いて、外部からコマンドを介して、セットすることによ
って、期待値パターンを生成することができる。
However, in the RTL description of FIG. 11D, the register r1 has a different meaning from the variable r1 of the behavior description. Register r2 that does not exist in the behavior description
Since there is a part different from that of FIG.
The processing relating to this point will be described. The value of the test series is a>
In the case of b, the expected value of the variable r1 of FIG. 11C cannot be used as the expected value of the register r1 of FIG. 11D, or the register r2 is a newly generated facility, so the pattern information is Absent. Therefore, FIG. 14 (c)
As described above, the input pattern of the positive pulse'P 'is input to clk, and for the register r1, the value of the input pattern a + b is set as the expected value when the condition a <b is true, and a-b is set when it is false. The calculated value of is the expected value. Similarly, the expected value of the register r2 is "H" when the condition a <b is true, and "L" when it is false. The formulas for calculating the values of these patterns are used when the test sequence generation unit generates the patterns of FIG. 37, that is, after the values of the behavior-level test patterns are captured, and the expected values are calculated (FIG. 10).
(Not shown in) but set. As described above, the expected value pattern can be generated by externally setting via the command in the correspondence creating unit for the behavior level specification description and the RTL description.

【0073】図12(a)のモチーフ記述についても、
図11(a)の場合と同様に処理しRTL記述のテスト
系列と期待値系列を生成できる。図15(a)は、図3
9(a)のビヘイビア記述の検証テスト系列である。4
ビットの入力ポートaに“0101”が印加されると、
変数cntと出力ポートzは2になることが期待され
る。図12(b)のレジスタ転送記述の回路は、4ステ
ートで動作する。またcntはレジスタになる。ステー
ト1〜ステート3のレジスタcntの期待値として、ビ
ヘイビア記述の変数の期待値が利用できないため、もし
これらのステートでcntの値を観測したいのであれ
ば、人手で与える必要がある。図42(c)はcntの
期待値を与えるコマンドを示す。“RTL REG”は
上述したようにレジスタの名前を宣言するコマントで、
EXPは期待値,“:=”以下の式は期待値を計算する
式である。cnt+CASE−−−は前のステートのc
ntの値にCASE式によって求まる4ビットのaの値
が持つ1の個数を加算し、各ステートのcntの期待値
を計算できる。このようにビヘイビアレベルの仕様記述
とRTL記述との対応作成部に外部からコマンドを介し
てセットすることによって、期待値パターンを生成する
ことができる。
As for the motif description in FIG. 12 (a),
By performing the same processing as in the case of FIG. 11A, the test series and the expected value series of the RTL description can be generated. FIG. 15 (a) shows FIG.
9 (a) is a verification test series of behavior description. Four
When "0101" is applied to the bit input port a,
It is expected that the variable cnt and the output port z will be 2. The circuit of the register transfer description in FIG. 12B operates in four states. Also, cnt becomes a register. Since the expected value of the variable described in the behavior cannot be used as the expected value of the register cnt in the states 1 to 3, if it is desired to observe the value of cnt in these states, it is necessary to manually give it. FIG. 42 (c) shows a command that gives the expected value of cnt. "RTL REG ”is a command that declares the name of the register as described above.
EXP is an expected value, and the expression below ": =" is an expression for calculating the expected value. cnt + CASE --- is c of the previous state
The expected value of cnt in each state can be calculated by adding the number of 1s in the 4-bit value of a obtained by the CASE formula to the value of nt. In this way, the expected value pattern can be generated by externally setting the behavior level specification description and the RTL description in the correspondence creating section via a command.

【0074】今まで説明したきたように、入力、出力ポ
ートのみならずレジスタについても印加するテストパタ
ーンと期待値パターンの生成が可能なので、本発明の装
置は検証用テスト系列の生成に関して大変有効である。
従って本テスト系列生成装置を用いてテスト系列と期待
値系列を生成し、これらの系列を用いてRTLシミュレ
ーションし、修正後のRTL記述がビヘイビアの仕様と
等しいかどうか検証できる。
As described above, since the test pattern and the expected value pattern to be applied not only to the input and output ports but also to the register can be generated, the device of the present invention is very effective in generating the test sequence for verification. is there.
Therefore, it is possible to generate a test sequence and an expected value sequence using this test sequence generation device, perform an RTL simulation using these sequences, and verify whether the corrected RTL description is equal to the behavior specification.

【0075】一方、既に検証済みの回路モジュールを別
の大規模論理システムに組み込む場合がしばしばある
が、この論理システムをテストする際に問題となるの
は、その回路モジュールの内部の動作ではなく、他のモ
ジュールとのインターフェイスの部分である。従って、
より抽象度の高いビヘイビアレベルでのシミュレーショ
ンを行うのが取り扱い上効率的である。この場合、その
回路モジュールのRTL記述をビヘイビア記述に書き直
す必要があり、又、その書き直しが正しいか否かを検証
するビヘイビアレベルでのテストパターンを作成する必
要がある。次に、RTL記述でのテストパターンからビ
ヘイビアレベルでのテストパターンを生成するための装
置を、本発明の第2実施例として説明する。
On the other hand, although a circuit module that has already been verified is often incorporated in another large-scale logic system, the problem in testing this logic system is not the internal operation of the circuit module, but the problem. This is the part of the interface with other modules. Therefore,
It is efficient in terms of handling to perform a simulation at a behavioral level with a higher degree of abstraction. In this case, it is necessary to rewrite the RTL description of the circuit module into the behavior description, and it is also necessary to create a behavior-level test pattern for verifying whether or not the rewriting is correct. Next, an apparatus for generating a behavior level test pattern from a test pattern in the RTL description will be described as a second embodiment of the present invention.

【0076】図16に本発明の第2実施例の構成図を示
す。本実施例は、RTLテストパターン格納部11,R
TL記述格納部12,テストパターン加工部13,テス
ト表現形態変更部15からなる。
FIG. 16 shows a block diagram of the second embodiment of the present invention. In this embodiment, the RTL test pattern storage unit 11, R
It comprises a TL description storage unit 12, a test pattern processing unit 13, and a test expression form changing unit 15.

【0077】以下の例において、RTLテスト系列の単
位時間は状態遷移を制御するクロックサイクルであると
し、RTLテスト系列は初期状態から始まるものとす
る。また以下の例においてRTLを記述する言語として
VHDLモデルとする。状態マシンの記述方法は、逐次
処理を表すprocess 文を用い、クロックを表す信号をc
lkと指定し、wait on clk の文によりクロックに同期
した状態遷移を表すこととする。
In the following example, the unit time of the RTL test sequence is a clock cycle for controlling the state transition, and the RTL test sequence starts from the initial state. In the following example, the VHDL model is used as the language for describing the RTL. To describe the state machine, use a process statement that represents sequential processing, and use a signal that represents a clock as c.
It is designated as lk, and the state transition synchronized with the clock is represented by the statement of wait on clk.

【0078】本実施例では簡単のため、RTL記述から
これと等価なビヘイビア記述を作成する際、入出力に関
しては一対一で対応させ名前も変更させないというルー
ルの下で行なうものとする。このようなビヘイビア記述
を作成する際のルールが指定されていない場合にも、ビ
ヘイビア記述とRTL記述の名前の対応関係を対応情報
を与えるようにすれば実現できる。
In the present embodiment, for simplicity, it is assumed that when a behavior description equivalent to this is created from the RTL description, input / output is associated one-to-one and the name is not changed. Even if a rule for creating such a behavior description is not specified, the correspondence relationship between the names of the behavior description and the RTL description can be realized by providing the correspondence information.

【0079】図17のRTL記述から図18のビヘイビ
ア記述を作成した例を考える。RTLテスト系列として
図19のテスト系列が与えられたとする。RTL解析部
の構成を図20に示す。RTL解析部は、フローグラフ
作成部(14−1)、状態識別部(14−2)、内部表
作成部(14−3)からなる。状態遷移が陽に記述され
ているようなRTL記述では、フローグラフ作成部(1
4−1)と状態識別部(14−2)では処理は行なわな
い。内部表作成部(14−3)は、状態遷移表、入出力
有効状態表、状態併合不可情報表等、テストパターン加
工部に必要な内部表を作成する。状態遷移表の代わりに
状態遷移グラフなど状態マシンを表す他のデータ構造を
用いることもできる。
Consider an example in which the behavior description shown in FIG. 18 is created from the RTL description shown in FIG. It is assumed that the test series of FIG. 19 is given as the RTL test series. The configuration of the RTL analysis unit is shown in FIG. The RTL analysis unit includes a flow graph creation unit (14-1), a state identification unit (14-2), and an internal table creation unit (14-3). In the RTL description in which the state transition is explicitly described, the flow graph creation unit (1
No processing is performed in 4-1) and the state identifying section (14-2). The internal table creation unit (14-3) creates an internal table necessary for the test pattern processing unit, such as a state transition table, an input / output valid state table, a state merge impossible information table. Instead of the state transition table, another data structure representing a state machine such as a state transition graph can be used.

【0080】本例のRTL記述では状態遷移が陽に記述
されていない逐次処理文からなるため、フローグラフ作
成の処理が必要である。フローグラフ作成部(14−
1)の処理フローを図21に示す。例にそって説明する
と、フローグラフ作成部(14−1)は図17のRTL
記述にある信号代入文,,,,に対する節点
を作成する(ステップ1)。次に処理ステップで文を一
つ取り出すが始めに文を取り出し、処理ステップにお
いて文に続いて実行される信号代入文として文を取
り出したとする(ステップ3)。ここでフローグラフ作
成部F1、文に対応する節点vlから文に対応する
節点v2へ向かう枝e=(v1,v2)を付加する(ス
テップ4)。文はwait条件を除くと文の次に無条件
に実行されるので、処理ステップでは枝eに条件ラベル
Lc(e)は設定しない。しかしwait文が両文の間に存
在するので、ステップG6において枝eにwaitフラグラ
ベルLw(e)をONにセットする。文以外に文の
次に実行される信号代入文は存在しないので、処理ステ
ップ7の次にステップ8へと移行する。このように全て
の信号代入文に処理ステップ2からステップ8を適用す
ることにより、図22に示すフローグラフが生成され
る。本例では全ての文がwait条件を除いて無条件で行わ
れるため、図22のグラフの枝に条件ラベルはつかな
い。また、枝の両端点で表される文の途中にwait on cl
k の文が存在する場合はその枝のwaitフラグラベルがセ
ットされる。図22では枝e12, e34がこれにあたる。こ
れらの枝が状態遷移を表すことになる。
In the RTL description of this example, since the state transitions are composed of sequential processing statements that are not explicitly described, the process of creating a flow graph is required. Flow graph creation unit (14-
The processing flow of 1) is shown in FIG. Explaining along an example, the flow graph creation unit (14-1) uses the RTL of FIG.
Nodes are created for the signal substitution statements ,,, in the description (step 1). Next, it is assumed that one sentence is taken out in the processing step, but the sentence is taken out first, and then the sentence is taken out as a signal assignment statement executed subsequently to the statement in the processing step (step 3). Here, the flow graph creation unit F1 adds a branch e = (v1, v2) from the node vl corresponding to the sentence to the node v2 corresponding to the sentence (step 4). Since the statement is executed unconditionally after the statement except for the wait condition, the condition label Lc (e) is not set in the branch e in the processing step. However, since the wait statement exists between the two statements, the wait flag label Lw (e) is set to ON in the branch e in step G6. Since there is no signal assignment statement to be executed after the statement other than the statement, the process proceeds to step 8 after step 7. By applying the processing steps 2 to 8 to all the signal assignment statements in this way, the flow graph shown in FIG. 22 is generated. In this example, since all the statements are executed unconditionally except for the wait condition, no condition label is attached to the branch of the graph in FIG. Also, wait on cl in the middle of the sentence represented by the end points of the branch
If there is a k statement, the wait flag label of that branch is set. In FIG. 22, the branches e12 and e34 correspond to this. These branches will represent state transitions.

【0081】状態識別部14−2は、waitフラグラベル
がセットされている枝によりグラフを分割する図22で
は、枝e12 と e34で分割され、(v1),(v2,v3),(v4,v5)と
いう三つの部分グラフに分割できる。この分割された部
分グラフを一つの状態とする。図17の記述は状態が陽
に書かれていないため、状態名は状態識別部14−2が
st0, st1, st2 と自動的に決定する。
The state identifying unit 14-2 divides the graph by the branch in which the wait flag label is set. In FIG. 22, the state is divided into the branches e12 and e34, and (v1), (v2, v3), (v4, It can be divided into three subgraphs called v5). This divided subgraph is set to one state. Since the state of the description of FIG. 17 is not written explicitly, the state name is assigned by the state identification unit 14-2.
Automatically determines st0, st1, st2.

【0082】内部表作成部14−3は分割されたグラフ
をもとに状態遷移表を作成する。図22のグラフでは、
分割する枝e12, e34の条件ラベルはともに設定されてい
ないので、図23に示すような状態遷移条件のない状態
遷移表となる。
The internal table creating section 14-3 creates a state transition table based on the divided graph. In the graph of FIG. 22,
Since the condition labels of the branches e12 and e34 to be divided are not set, the state transition table shown in FIG. 23 has no state transition condition.

【0083】次に内部作成部14−3は、フローグラフ
をもとに入出力有効状態表を作成する。入力ポートaは
図22では節点v1で参照されており、節点v1は状態st0
に属している。これにより、入出力有効状態表のaの
「参照/設定される状態」の欄にst0 が登録される。こ
の処理を全ての入出力に対して行うことにより、本例で
は図24に示す入出力有効状態表を生成する。
Next, the internal creating section 14-3 creates an input / output valid state table based on the flow graph. The input port a is referenced by the node v1 in FIG. 22, and the node v1 is in the state st0.
Belong to. As a result, st0 is registered in the "referenced / set state" column of a of the input / output valid state table. By performing this processing for all the inputs and outputs, the input / output valid state table shown in FIG. 24 is generated in this example.

【0084】最後に内部表作成部14−3は次に入出力
有効状態表の各入出力ポートの欄において、参照/設定
される状態が複数存在する場合、それらの状態は併合不
可能であるとして、状態併合不可情報表を作成してい
く。図24の入出力有効状態表では、すべての入出力ポ
ートは一つの状態のみにおいて参照/設定されているの
で、各状態に対しそれらと併合できない状態は存在せ
ず、図25のような状態併合不可情報表を生成する。
Finally, if there are a plurality of states to be referenced / set in the column of each input / output port of the input / output valid state table, the internal table creating unit 14-3 cannot merge those states. As a result, a state merge impossible information table is created. In the input / output valid state table of FIG. 24, since all the input / output ports are referenced / set in only one state, there is no state that cannot be merged with each state, and the state merge as shown in FIG. Generate the impossible information table.

【0085】テスト系列加工部13の構成を図26に示
す。テスト系列加工部は、RTLテス系列の各ステップ
と状態の対応づけを行なうテスト系列状態対応作成部1
3−1と、テスト系列の連続するステップを併合するテ
スト系列圧縮部13−2からなる。
FIG. 26 shows the configuration of the test sequence processing section 13. The test sequence processing unit is a test sequence state correspondence creating unit 1 that associates each step of the RTL test sequence with a state.
3-1 and a test sequence compression unit 13-2 that merges successive steps of the test sequence.

【0086】テスト系列状態対応作成部13−1の処理
フローを図27に示す。この処理を図23の状態遷移表
と図19のRTLテスト系列をもとに図27の処理フロ
ーにそって説明する。処理ステップA1により現状態を
表す変数(STT)を初期状態st0 に設定し、step
を1とする。処理ステップA2により、図19のRTL
テスト系列の1ステップ目は状態st0 に対応づけられ
る。1ステップは最終ステップではないので、処理ステ
ップA4に進む。ここで、図23状態遷移表からst0 の
次の状態とその遷移条件を抽出するが、st0 は無条件で
st1 へと遷移するので、ここでは遷移条件とテスト系列
を比較せずに新たにSTTをst1 に設定できる。処理ス
テップA5によりテスト系列のステップを一つ進め、以
下同様の処理を繰り返す。図27の処理フローを終了す
ると、図28のような各ステップ状態に対応づけたテス
ト系列が得られる。
FIG. 27 shows a processing flow of the test sequence status correspondence creating section 13-1. This process will be described with reference to the state transition table of FIG. 23 and the RTL test sequence of FIG. 19 according to the process flow of FIG. The variable (STT) representing the current state is set to the initial state st0 by the processing step A1, and step
Is set to 1. By the processing step A2, the RTL of FIG.
The first step in the test sequence is associated with the state st0. Since one step is not the final step, the process proceeds to processing step A4. Here, the next state of st0 and its transition condition are extracted from the state transition table of FIG. 23, but st0 is unconditional.
Since the transition to st1, the STT can be newly set to st1 without comparing the transition condition with the test sequence. The processing sequence A5 advances one step in the test sequence, and the same processing is repeated thereafter. When the processing flow of FIG. 27 is finished, a test sequence associated with each step state as shown in FIG. 28 is obtained.

【0087】次にテスト系列圧縮部53−2の処理フロ
ーを図29に示す。処理フローにそって説明すると、処
理ステップB1からB5までで、step=1,step2=
2,ST1 =st0 ,ST2 =st1 となる。図25の状態併合
不可情報表により、st0 とst1は併合可能であるため処
理ステップB7へ進み、図28のテスト系列の1ステッ
プ目と2ステップ目を併合する。このとき、図24から
入力ポートa,bに関してはst0 にあたる1ステップ目
の値を、入力ポートcに関してはst1 にあたる2ステッ
プ目の値を併合されてできるテスト系列の値とする。入
力ポートdはst0,st1 のどちらでも参照されないので
どちらの値を取ってきてもかまわない。次に処理ステッ
プB9によりST1 にst1 を加え、ST1 =st0,st1 とし、
今度は併合された1ステップ目と3ステップ目について
処理を行なう。処理ステップB4,B5によりstep2 =
3,ST2 =st2 となる。図29によりst2 はst0 ,st1
のどちらとも併合できるので、併合された1ステップ目
と3ステップ目を併合する。入力ポートdの値はst2 で
ある3ステップ目の値を設定する。テスト系列はこれで
最終行であるので、処理を終了する。この結果図30の
ようなテスト系列を生成する。
Next, FIG. 29 shows a processing flow of the test sequence compressor 53-2. Describing along the processing flow, in processing steps B1 to B5, step = 1, step2 =
2, ST1 = st0, ST2 = st1. Since st0 and st1 can be merged according to the state merge impossible information table of FIG. 25, the process proceeds to step B7, and the first step and the second step of the test sequence of FIG. 28 are merged. At this time, from FIG. 24, the value of the first step corresponding to st0 for the input ports a and b and the value of the second step corresponding to st1 for the input port c are merged into the value of the test sequence. Since the input port d is not referenced by either st0 or st1, either value may be taken. Next, in processing step B9, st1 is added to ST1 to set ST1 = st0, st1,
This time, the processing is performed for the merged first step and third step. By processing steps B4 and B5, step2 =
3, ST2 = st2. According to FIG. 29, st2 is st0, st1
Since both can be merged, the merged first step and third step are merged. The value of the input port d is set to the value of the third step, which is st2. Since the test sequence is now the last line, the process ends. As a result, a test sequence as shown in FIG. 30 is generated.

【0088】最後にテスト表現形態変更部55が、テス
ト系列の変数名とデータ型の対応づけを行なう。本実施
例では、RTL記述からビヘイビア記述を作成する際、
入出力に関しては一対一で対応させ名前も変更させない
というルールの下で行なうものとしているため、ビヘイ
ビア記述とRTL記述の入出力の定義部を比較すること
により、RTL記述のデータ型とビヘイビア記述のデー
タ型の対応表を作成する。次にこの対応表をもとに、テ
スト系列加工部が生成したテストパターンのデータ表現
形態を変更する。本実施例では、図17のRTL記述も
図3のビヘイビア記述もデータ型は整数型として変更し
ていないので、図30のテスト系列が最終的なビヘイビ
アのテスト系列となる。
Finally, the test expression form changing unit 55 associates the variable name of the test sequence with the data type. In this embodiment, when the behavior description is created from the RTL description,
I / O is performed under the rule that there is a one-to-one correspondence and the name is not changed. Therefore, by comparing the input / output definition parts of the behavior description and the RTL description, the data type of the RTL description and the behavior description are compared. Create a data type correspondence table. Next, based on this correspondence table, the data expression form of the test pattern generated by the test sequence processing unit is changed. In the present embodiment, neither the RTL description of FIG. 17 nor the behavior description of FIG. 3 is changed to an integer data type, so the test series of FIG. 30 becomes the final behavior test series.

【0089】別の例として、図31のRTL記述から図
32のビヘイビア記述を作成した例を考える。RTLテ
スト系列として図33のテスト系列が与えられたとす
る。図31のRTL記述からRTL解析部(4) は、図3
4のようなフローグラフを作成する。先の例と異なる所
は図31の文(4) の次に実行されうる文が、条件により
文(4) 自身と文(8) の二通りあることで、フローグラフ
も図34のように、枝分かれのあるグラフとなる。状態
遷移表も図35のように遷移条件の存在する表となる。
図36の入出力有効状態表、図37の状態併合不可情報
表は先の例と同様に生成できる。
As another example, consider an example in which the behavior description shown in FIG. 32 is created from the RTL description shown in FIG. It is assumed that the test sequence of FIG. 33 is given as the RTL test sequence. From the RTL description of FIG. 31, the RTL analysis unit (4)
Create a flow graph like 4. The difference from the previous example is that the sentence that can be executed next to sentence (4) in FIG. 31 is the sentence (4) itself and the sentence (8) depending on the condition. , It becomes a graph with branching. The state transition table is also a table having transition conditions as shown in FIG.
The input / output valid state table of FIG. 36 and the state merging impossible information table of FIG. 37 can be generated in the same manner as the previous example.

【0090】次に図27のテスト系列状態対応作成部の
処理に従い、図33の状態遷移表と図35のRTLテス
ト系列の入力値から、RTLテスト系列の各ステップが
どの状態にあるのかを判別する(図38)。先の例と異
なり状態遷移に条件が存在するため、処理ステップA4
では、図35のテスト系列の1ステップ目の入力値(a
=0,b=0)が遷移条件となるst0 の次状態を図33
より検索し抽出する。図33よりこの条件の時の次状態
はsa0 であることがわかり、図35のステップ目のst0
であることがわかる。このような処理を繰り返し、図3
8のようなテスト系列が得られる。
Then, according to the processing of the test sequence state correspondence creating unit of FIG. 27, it is determined which state each step of the RTL test sequence is in from the state transition table of FIG. 33 and the input value of the RTL test sequence of FIG. (FIG. 38). Unlike the previous example, since there is a condition in the state transition, processing step A4
Then, the input value (a
FIG. 33 shows the next state of st0 for which the transition condition is = 0, b = 0).
Search more and extract. It can be seen from FIG. 33 that the next state under this condition is sa0, and st0 at the step in FIG.
It can be seen that it is. Such processing is repeated, and FIG.
A test sequence like 8 is obtained.

【0091】次に図28のテスト系列圧縮部の処理に従
って、図38のテスト系列の連続がするステップを併合
する。この例でも先の例と同様に併合できない状態はな
いが、同じ状態が連続して現れる場合はまとめられない
ため、図39のようなテスト系列となる。
Next, according to the processing of the test sequence compressing section of FIG. 28, the steps of continuation of the test sequence of FIG. 38 are merged. In this example as well, there is no state that cannot be merged as in the previous example, but if the same states appear consecutively, they cannot be combined, so the test sequence is as shown in FIG.

【0092】最後にテスト表現形態変更部がデータ型の
変更などを行い、ビヘイビア・テスト系列を生成する。
データ型に変更がないとすると図39が求めるビヘイビ
ア・テスト系列となる。
Finally, the test expression form changing unit changes the data type and generates the behavior test sequence.
If there is no change in the data type, the behavior test sequence shown in FIG. 39 is obtained.

【0093】[0093]

【発明の効果】本発明の第1の様相によれば、仕様変更
の生じたRTLのテスト系列と期待値系列を自動生成で
きるので、人手で作成していたテスト系列の作成時間を
大幅に削減できる。また人手が介在しないためバグが入
らないという効果がある。さらに本発明の装置を用いて
RTL記述の仕様変更に伴うテストと期待値系列の修正
を短時間に行えるので、RTL記述の設計検証時間が大
幅に短縮されるという効果がある。
According to the first aspect of the present invention, since the RTL test series and the expected value series whose specifications have changed can be automatically generated, the time required for manually creating the test series is significantly reduced. it can. In addition, there is an effect that bugs do not enter because no human intervention is required. Furthermore, since the test according to the specification change of the RTL description and the correction of the expected value series can be performed in a short time by using the device of the present invention, there is an effect that the design verification time of the RTL description is significantly shortened.

【0094】本発明の第2の様相によれば、RTLテス
ト系列からビヘイビア・テスト系列を作成することがで
き、RT記述からその仕様となるビヘイビア記述を作成
した時、ビヘイビア記述が仕様として正しいかどうかを
シミュレーションにより検証するという作業が効率良く
行なうことができる。そして、RTL記述から作成した
ビヘイビア記述を利用することが可能になり、既設計の
回路モジュールをいくつか含んだ大規模システムを検証
するときに、RTLで設計されたそれらの既設計の回路
記述をビヘイビア記述に書き直し、それらの部分はより
高速なビヘイビアレベルでのシミュレーションを行なう
ことにより、システム全体の検証の効率をあげることが
できる。またこのことにより、資源再利用による設計効
率の向上につながり、実際に大規模システムを設計する
ときに非常に有用である。
According to the second aspect of the present invention, the behavior test sequence can be created from the RTL test sequence, and when the behavior description which is the specification is created from the RT description, is the behavior description correct as the specification? The work of verifying by simulation can be performed efficiently. Then, it becomes possible to use the behavior description created from the RTL description, and when verifying a large-scale system including some pre-designed circuit modules, those pre-designed circuit descriptions designed by RTL can be used. It is possible to improve the efficiency of verification of the entire system by rewriting the behavior description and performing simulation at a faster behavior level for those parts. This also leads to improvement of design efficiency by reusing resources, which is very useful when actually designing a large-scale system.

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

【図1】本発明の第1実施例によるテスト系列生成装置
の構成図。
FIG. 1 is a configuration diagram of a test sequence generation device according to a first embodiment of the present invention.

【図2】テスト系列格納部のデータの概念図。FIG. 2 is a conceptual diagram of data in a test series storage unit.

【図3】ビヘイビアレベルの仕様記述とRTL記述との
対応作成部が取り込むコマンドの説明図。
FIG. 3 is an explanatory diagram of commands fetched by a behavior level specification description and RTL description correspondence creation unit.

【図4】ビヘイビアレベルの仕様記述とRTL記述との
対応情報のデータ概念図。
FIG. 4 is a data conceptual diagram of correspondence information between behavior-level specification description and RTL description.

【図5】ビヘイビアレベルの仕様記述とRTL記述との
対応作成部の処理フローの前半を示す図。
FIG. 5 is a diagram showing the first half of the processing flow of the correspondence creating unit for the behavior level specification description and the RTL description.

【図6】図5のフローチャートの後半を説明する図。FIG. 6 is a diagram for explaining the latter half of the flowchart of FIG.

【図7】テスト系列生成部のフレーム情報生成処理フロ
ーの最初の部分を示す図。
FIG. 7 is a diagram showing the first part of the frame information generation processing flow of the test sequence generation unit.

【図8】図7のフローチャートの中間部分を示す図。FIG. 8 is a diagram showing an intermediate portion of the flowchart of FIG.

【図9】図7のフローチャートの最後の部分を示す図。9 is a diagram showing the final part of the flowchart of FIG. 7. FIG.

【図10】テスト系列生成部のテスト系列の生成を説明
する図。
FIG. 10 is a diagram illustrating generation of a test sequence by a test sequence generation unit.

【図11】ビヘイビア記述とRTL記述を説明する図。FIG. 11 is a diagram illustrating behavior description and RTL description.

【図12】ビヘイビア記述とRTL記述を説明する図。FIG. 12 is a diagram illustrating behavior description and RTL description.

【図13】RTLのパターンのフレーム情報を説明する
図。
FIG. 13 is a diagram illustrating frame information of an RTL pattern.

【図14】図11(c)のビヘイビア記述と、図11
(d)のRTL記述のテスト系列を説明する図。
14 is a behavior description of FIG. 11 (c) and FIG.
The figure explaining the test sequence of the RTL description of (d).

【図15】図12(a)のビヘイビア記述と、図12
(b)のRTL記述のテスト系列を説明する図。
FIG. 15 is a behavioral description of FIG.
The figure explaining the test series of the RTL description of (b).

【図16】本発明の第2の実施例のシステムの構成を示
す図。
FIG. 16 is a diagram showing a configuration of a system according to a second embodiment of the present invention.

【図17】RTL記述の例を表す図。FIG. 17 is a diagram showing an example of RTL description.

【図18】ビヘイビア記述の例を表す図。FIG. 18 is a diagram showing an example of behavior description.

【図19】RTLテスト系列の例を表す図。FIG. 19 is a diagram showing an example of an RTL test sequence.

【図20】RTL解析部の処理フローの概要を表す図。FIG. 20 is a diagram showing an outline of a processing flow of an RTL analysis unit.

【図21】RTL解析部のフローグラフの作成部の処理
フローを表す図。
FIG. 21 is a diagram showing a processing flow of a flow graph creation unit of the RTL analysis unit.

【図22】フローグラフの例を表す図。FIG. 22 is a diagram showing an example of a flow graph.

【図23】状態遷移表を表す図。FIG. 23 is a diagram showing a state transition table.

【図24】入出力有効状態表を表す図。FIG. 24 is a diagram showing an input / output valid state table.

【図25】状態併合不可情報表を表す図。FIG. 25 is a diagram showing a state merge impossible information table.

【図26】テスト系列加工部の処理フローの概要を表す
図。
FIG. 26 is a diagram showing an outline of a processing flow of a test series processing unit.

【図27】テスト系列加工部のテスト系列状態対応作成
部の処理フローを表す図。
FIG. 27 is a diagram showing a processing flow of a test sequence state correspondence creating unit of the test sequence processing unit.

【図28】各ステップに状態を対応づけたRTLテスト
系列を表す図。
FIG. 28 is a diagram showing an RTL test sequence in which states are associated with steps.

【図29】テスト系列加工部のテスト系列圧縮部の処理
フローを表す図。
FIG. 29 is a diagram showing a processing flow of a test sequence compression unit of the test sequence processing unit.

【図30】ビヘイビア・テスト系列を表す図。FIG. 30 is a diagram showing a behavior test series.

【図31】RTL記述の例を表す図。FIG. 31 is a diagram showing an example of RTL description.

【図32】ビヘイビア記述の例を表す図。FIG. 32 is a diagram showing an example of behavior description.

【図33】RTLテスト系列の例を表す図。FIG. 33 is a diagram showing an example of an RTL test sequence.

【図34】フローグラフの例を表す図。FIG. 34 is a diagram showing an example of a flow graph.

【図35】状態遷移表を表す図。FIG. 35 is a diagram showing a state transition table.

【図36】入出力有効状態表を表す図。FIG. 36 is a diagram showing an input / output valid state table.

【図37】状態併合不可情報表を表す図。FIG. 37 is a diagram showing a state merge impossible information table.

【図38】各ステップに状態を対応づけたRTLテスト
系列を表す図。
FIG. 38 is a diagram showing an RTL test sequence in which states are associated with steps.

【図39】ビヘイビア・テスト系列を表す図。FIG. 39 is a diagram showing a behavior test series.

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

1 ビヘイビアレベルの仕様記述 2 レジスタ転送レベルの記述 3 ビヘイビアレベルの仕様記述とレジスタ転送レベル
記述との対応作成部 4 ビヘイビアレベルのテスト系列データ 5 テスト系列生成部 6 レジスタ転送レベルのテスト系列データ 11 RTLテストパターン格納部 12 RTL記述格納部 13 テストパターン加工部 14 RTL解析部 15 テスト表現形態変更部 16 RTL−ビヘイビア対応情報 17 ビヘイビアテストパターン
1 Behavior level specification description 2 Register transfer level description 3 Correspondence section between behavior level specification description and register transfer level description 4 Behavior level test series data 5 Test series generation section 6 Register transfer level test series data 11 RTL Test pattern storage unit 12 RTL description storage unit 13 Test pattern processing unit 14 RTL analysis unit 15 Test expression form changing unit 16 RTL-behavior correspondence information 17 Behavior test pattern

フロントページの続き (56)参考文献 Gerd Krueger,A To ol for Hierarchica l Test Generation, IEEE Transactions on Computer−Aided Design,米国,1991年4月,vo l.10 no.4,p519−524 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 Front Page Continuation (56) References Gerd Krueger, A Tol for Hierarchical Test Generation, IEEE Transactions on Computer-Aided Design, USA, April 1991, vol. 10 no. 4, p519-524 (58) Fields investigated (Int.Cl. 7 , DB name) G06F 17/50

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 論理システムのビヘイビアレベルの仕様
記述と、前記仕様記述に対応したレジスタ転送レベルの
記述とから、前記レジスタ転送レベルの状態の遷移に対
応する制御ステップの各ステップにおいて、レジスタ転
送レベルの記述及びビヘイビアレベルの仕様記述の信号
名及びポートの対応付けを行うことによって、前記仕様
記述と前記レジスタ転送レベルの記述との対応をとる対
応作成部と、前記仕様記述を検証するためのテスト系列
データをもとに、前記対応作成部によって得られた、前
記仕様記述と前記レジスタ転送レベルの記述との対応関
係に基づいて、レジスタ転送レベルのテスト系列データ
を自動で生成するテスト系列生成部とを有することを特
徴とするテスト系列生成装置。
1. A state transition of a register transfer level is identified from a behavior level specification description of a logic system and a register transfer level description corresponding to the specification description .
In each control step,
Signals for transmission level description and behavior level specification description
By performing the name and correspondence of ports, based on the correspondence creation unit, the test sequence data to verify the specification description to take correspondence between the specification description and the register transfer level description, the corresponding creation Obtained by the department,
Correspondence between specification description and register transfer level description
And a test sequence generation unit for automatically generating test sequence data at a register transfer level based on the above .
【請求項2】 RTL記述の状態遷移の情報を解析する
RTL解析部と、前記RTL解析部の生成した状態遷移
情報をもとにRTLテスト系列を必要とするステップ数
に加工するテスト系列加工部と、RTL−ビヘイビア記
述の対応情報を基にRTL記述とビヘイビア記述にそれ
ぞれ存在するファシリティと変数と、それらのデータ型
の対応づけを行い、テスト系列の形態を変更してビヘイ
ビアレベルのテスト系列を自動で生成するテスト表現形
態変更部からなるテスト系列生成装置。
2. Analyzing information of state transition of RTL description
RTL analysis unit and state transition generated by the RTL analysis unit
Number of steps that require RTL test sequence based on information
RTL-behavior description
The RTL description and behavior description based on the correspondence information described above.
Facilities and variables that exist and their data types
The behavior of the test series by changing the form of the test series.
Test expressions that automatically generate via-level test sequences
A test sequence generation device including a state change unit.
JP04288294A 1994-03-14 1994-03-14 Test sequence generator Expired - Fee Related JP3373641B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04288294A JP3373641B2 (en) 1994-03-14 1994-03-14 Test sequence generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04288294A JP3373641B2 (en) 1994-03-14 1994-03-14 Test sequence generator

Publications (2)

Publication Number Publication Date
JPH07254008A JPH07254008A (en) 1995-10-03
JP3373641B2 true JP3373641B2 (en) 2003-02-04

Family

ID=12648415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04288294A Expired - Fee Related JP3373641B2 (en) 1994-03-14 1994-03-14 Test sequence generator

Country Status (1)

Country Link
JP (1) JP3373641B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006038629A (en) * 2004-07-27 2006-02-09 Fujitsu Ltd Memory test pattern synthesis method, apparatus, and program
JP4492803B2 (en) * 2005-03-31 2010-06-30 日本電気株式会社 Behavioral synthesis apparatus and program
JP4946588B2 (en) * 2007-04-17 2012-06-06 富士通株式会社 Verification support program, recording medium storing the program, verification support apparatus, and verification support method
JP6147094B2 (en) * 2013-05-30 2017-06-14 三菱電機株式会社 Information processing apparatus, information processing method, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Gerd Krueger,A Tool for Hierarchical Test Generation,IEEE Transactions on Computer−Aided Design,米国,1991年4月,vol.10 no.4,p519−524

Also Published As

Publication number Publication date
JPH07254008A (en) 1995-10-03

Similar Documents

Publication Publication Date Title
US5752000A (en) System and method for simulating discrete functions using ordered decision arrays
US8533642B1 (en) Hardware definition language generation for frame-based processing
US6609229B1 (en) Method for automatically generating checkers for finding functional defects in a description of a circuit
JP2862886B2 (en) Computer-aided design system for ASIC
JP4482563B2 (en) Simplified data signal support for diagramming environment languages
US5068812A (en) Event-controlled LCC stimulation
US7421668B1 (en) Meaningful visualization of properties independent of a circuit design
CN114218746B (en) A method for modeling and simulating multidisciplinary complex products that natively supports physical simulation
US7363097B2 (en) Automatic design apparatus, automatic design method, and automatic design program of digital circuit
US7124070B2 (en) Method of and apparatus for, and program for verifying equivalence between behavioral description and register transfer level description
US12339763B2 (en) Automated test generation
US20150242541A1 (en) Assertion extraction from design and its signal traces
US7523029B2 (en) Logic verification and logic cone extraction technique
US5987239A (en) Computer system and method for building a hardware description language representation of control logic for a complex digital system
US20080127009A1 (en) Method, system and computer program for automated hardware design debugging
JP4204039B2 (en) Behavioral synthesis system, behavioral synthesis method, control program, readable recording medium, logic circuit manufacturing method, and logic circuit
US6077305A (en) Latch inference using dataflow analysis
JP3373641B2 (en) Test sequence generator
JP4142176B2 (en) Storage medium recording interface specification definition, connection verification method, and signal pattern generation method
CN117608684A (en) Reconfigurable architecture generation methods, devices, equipment, media and products
JPH1091677A (en) Logical conversion method for increasing efficiency of simulation/emulation
JP5229834B2 (en) Circuit design method, circuit design system, and recording medium
Chang et al. InVerS: an incremental verification system with circuit similarity metrics and error visualization
JPH05120055A (en) Test pattern generating device
JP2924222B2 (en) Logic simulator

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees