JP2008117110A - Function verification method and device - Google Patents

Function verification method and device Download PDF

Info

Publication number
JP2008117110A
JP2008117110A JP2006298722A JP2006298722A JP2008117110A JP 2008117110 A JP2008117110 A JP 2008117110A JP 2006298722 A JP2006298722 A JP 2006298722A JP 2006298722 A JP2006298722 A JP 2006298722A JP 2008117110 A JP2008117110 A JP 2008117110A
Authority
JP
Japan
Prior art keywords
test pattern
pattern
test
internal state
function verification
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.)
Withdrawn
Application number
JP2006298722A
Other languages
Japanese (ja)
Inventor
Masayuki Shono
将行 庄野
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2006298722A priority Critical patent/JP2008117110A/en
Publication of JP2008117110A publication Critical patent/JP2008117110A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a function verification technique that is more effective in dispensing with test patterns and capable of more effectively reducing the time and cost required to verify functions regarding the design data of a semiconductor device. <P>SOLUTION: Function verification, which is carried out using a plurality of test patterns on the design data of a semiconductor device having a plurality of storage areas and a logic circuit, executes a classification process for comparing partial test patterns except writing process patterns and classifying them into predetermined groups of test patterns; an internal state storage process for specifying reading process patterns included in reference test patterns in each group of test patterns, and storing an internal state corresponding to each of the reading process patterns; an execution procedure setting process for setting, for each group of test patterns, the order of executing the test patterns based on the storage area where the process of reading the test patterns is carried out and on the content stored therein, and for selecting the internal state for use with each test pattern; and a function verification process for performing function verification using the internal state selected. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、記憶領域の複数と論理回路を備えた半導体装置の設計データに対する機能検証技術に関する。   The present invention relates to a function verification technique for design data of a semiconductor device having a plurality of storage areas and a logic circuit.

通常、HDL(Hardware Description Language)等のハードウェア記述言語で設計された半導体装置の設計データ(ハードウェア記述言語から論理合成された回路の設計データ等を含む)が、仕様通りに設計されていることを確認するための機能検証は、コンピュータ上のシミュレーションにより行われる。例えば、半導体装置の設計データにテストパターンを入力してシミュレーションを実行し、実行結果として得られる半導体装置の設計データからの出力と予め用意された半導体装置の正しい出力結果である期待値とを比較して、半導体装置からの出力と期待値とが一致した場合に、半導体装置の設計データが仕様通りに設計されていることを確認する。近年、設計する半導体装置の回路の大規模化に伴って検証すべき項目が増加し、その結果、テストパターン長及びテストパターン数が増加している。一方、シミュレーションはコンピュータ上で膨大な量の演算によって行われるため、実際に半導体装置を動作させるのに比べて非常に時間がかかるという特徴がある。つまり、回路の大規模化、テストパターン長及びテストパターン数の増加はシミュレーションにかかる時間を大幅に増加させており、半導体装置の設計データに対する機能検証にかかるコストが問題となっている。   Normally, semiconductor device design data (including circuit design data logically synthesized from the hardware description language) designed in a hardware description language such as HDL (Hardware Description Language) is designed according to specifications. Functional verification for confirming this is performed by simulation on a computer. For example, a test pattern is input to semiconductor device design data, a simulation is executed, and an output from the semiconductor device design data obtained as an execution result is compared with an expected value that is a correct output result of a semiconductor device prepared in advance. Then, when the output from the semiconductor device matches the expected value, it is confirmed that the design data of the semiconductor device is designed according to the specification. In recent years, items to be verified have increased along with the increase in the scale of the circuit of a semiconductor device to be designed. As a result, the test pattern length and the number of test patterns have increased. On the other hand, since the simulation is performed by a huge amount of computation on a computer, it is characterized in that it takes much time compared to actually operating the semiconductor device. That is, an increase in circuit scale, an increase in test pattern length, and the number of test patterns greatly increase the time required for the simulation, and the cost for verifying the function for the design data of the semiconductor device is a problem.

このようなシミュレーション時間を低減するための技術としては、例えば、複数のテストパターンついて、テストパターンの先頭サイクルから順に一致・不一致を検証して共通パターンを抽出し、共通パターン部分のシミュレーションを適宜省略して半導体装置の設計データに対する機能検証を行なう機能検証技術がある(例えば、特許文献1参照)。この機能検証技術は、より具体的には、共通パターンの抽出後、複数のテストパターンから選択された1つのテストパターンによるシミュレーションを行ない、当該シミュレーションにおける共通パターンの最終サイクルでの半導体装置の内部状態を記憶する。内部状態は、例えば、半導体装置を構成するレジスタ等の記憶手段の記憶内容や、半導体装置を構成する論理回路で用いられるラッチ回路等の記憶素子の記憶内容等である。そして、他のテストパターンを用いたシミュレーション実行時に、記憶した内部状態を用いて半導体装置を構成するレジスタや記憶素子を設定し、共通パターンの終了時間からシミュレーションを開始する。つまり、特許文献1に記載の機能検証技術では、複数のテストパターンを用いたシミュレーションにおいて、共通パターン部分のシミュレーションを省略することによって、複数のテストパターン全体で、シミュレーションにかかる時間の短縮を図っている。   As a technique for reducing such a simulation time, for example, for a plurality of test patterns, a common pattern is extracted by verifying a match / mismatch in order from the first cycle of the test pattern, and the simulation of the common pattern portion is appropriately omitted. Thus, there is a function verification technique for performing function verification on design data of a semiconductor device (see, for example, Patent Document 1). More specifically, this functional verification technology performs a simulation with one test pattern selected from a plurality of test patterns after extracting a common pattern, and the internal state of the semiconductor device in the final cycle of the common pattern in the simulation Remember. The internal state is, for example, the storage content of a storage unit such as a register constituting the semiconductor device, the storage content of a storage element such as a latch circuit used in a logic circuit constituting the semiconductor device, or the like. Then, at the time of executing a simulation using another test pattern, the stored internal state is used to set registers and memory elements that constitute the semiconductor device, and the simulation is started from the end time of the common pattern. That is, in the function verification technique described in Patent Document 1, in the simulation using a plurality of test patterns, the simulation time is reduced for the plurality of test patterns as a whole by omitting the simulation of the common pattern portion. Yes.

以下、特許文献1の機能検証技術について、図19及び図20を基に詳細に説明する。ここで、図19は、特許文献1の機能検証技術を適用する半導体装置の一構成例を示しており、図20は、図19に示す半導体装置を機能検証するためのテストパターン群(テストパターンTA、TB及びTC)の概略構成を示している。   Hereinafter, the function verification technique of Patent Document 1 will be described in detail with reference to FIGS. 19 and 20. Here, FIG. 19 shows a configuration example of a semiconductor device to which the function verification technique of Patent Document 1 is applied, and FIG. 20 shows a test pattern group (test pattern) for functional verification of the semiconductor device shown in FIG. TA, TB and TC) are schematically shown.

具体的には、図19に示すように、半導体装置300は、半導体装置300の主要動作を実現する論理回路で構成されるコアブロック301、回路動作の各種パラメータを一時的に記憶する複数のレジスタからなるレジスタブロック302、及び、半導体装置300の初期設定値や動作プログラム等を記憶したROM(Read Only Member)303を備えて構成され、これらはバスライン304を介して接続されている。コアブロック301は、機能ブロックFA〜FCを備えており、レジスタブロック302及びROM303に対するアクセス動作を適宜実行するように構成されている。また、図20に示すように、テストパターンTAは、半導体装置300を初期化する「初期化パターン」、初期設定のための各種値を読み出す「ROM読み出しパターン」、各レジスタに対する初期設定を行う「レジスタ設定パターンα」及び半導体装置が備える機能ブロックFAの検証を行なう「機能テストパターンPA」をこの順に備えて構成されている。テストパターンTBは、「初期化パターン」、「ROM読み出しパターン」、「レジスタ設定パターンα」及び半導体装置が備える機能ブロックFBの検証を行なう「機能テストパターンPB」をこの順に備えて構成されている。テストパターンTCは、「初期化パターン」、「ROM読み出しパターン」、各レジスタに対しレジスタ設定パターンαとは異なる初期設定を行う「レジスタ設定パターンβ」及び半導体装置が備える機能ブロックFCの検証を行なう「機能テストパターンPC」をこの順に備えて構成されている。   Specifically, as illustrated in FIG. 19, the semiconductor device 300 includes a core block 301 including a logic circuit that realizes the main operation of the semiconductor device 300, and a plurality of registers that temporarily store various parameters of the circuit operation. And a ROM (Read Only Member) 303 that stores initial setting values and operation programs of the semiconductor device 300, and these are connected via a bus line 304. The core block 301 includes functional blocks FA to FC, and is configured to appropriately execute an access operation to the register block 302 and the ROM 303. Further, as shown in FIG. 20, the test pattern TA includes an “initialization pattern” for initializing the semiconductor device 300, a “ROM read pattern” for reading various values for initial setting, and an initial setting for each register. The register setting pattern α ”and the“ functional test pattern PA ”for verifying the functional block FA included in the semiconductor device are provided in this order. The test pattern TB includes “initialization pattern”, “ROM read pattern”, “register setting pattern α”, and “functional test pattern PB” for verifying the functional block FB included in the semiconductor device in this order. . The test pattern TC verifies the “initialization pattern”, “ROM read pattern”, “register setting pattern β” for initial setting different from the register setting pattern α for each register, and the functional block FC included in the semiconductor device. “Function test pattern PC” is provided in this order.

特許文献1に記載の機能検証技術において、上記テストパターン群を用いて機能検証する場合、テストパターンTAとテストパターンTBの間では、時間T1〜T4の「初期化パターン」、「ROM読み出しパターン」及び「レジスタ設定パターンα」が共通であり、テストパターンTAとテストパターンTCの間では、時間T1〜T3の「初期化パターン」及び「ROM読み出しパターン」が共通であることから、テストパターンTAによるシミュレーション時に、時間T3及びT4で、半導体装置300の内部状態を記憶する。テストパターンTBによるシミュレーションは、テストパターンTAによるシミュレーション時に記憶した時間T4における半導体装置300の内部状態を読み出し、この内部状態を半導体装置300の設計データに設定して、時間T4からシミュレーションを再開する。同様に、テストパターンTCによるシミュレーションは、テストパターンTAによるシミュレーション時に記憶した時間T3における半導体装置300の内部状態を読み出し、この内部状態を半導体装置300の設計データに設定して、時間T3からシミュレーションを再開する。つまり、テストパターンTBによるシミュレーションについては、時間T1〜T4、テストパターンTCによるシミュレーションについては、時間T1〜T3までのテストパターンTAと重複した部分のシミュレーションを省略することができ、複数のテストパターンを使用した機能検証の効率を上げることが可能になる。   In the function verification technique described in Patent Document 1, when performing function verification using the test pattern group, an “initialization pattern” and a “ROM read pattern” at times T1 to T4 between the test pattern TA and the test pattern TB. And “register setting pattern α” are common, and between the test pattern TA and the test pattern TC, the “initialization pattern” and the “ROM read pattern” at times T1 to T3 are common. At the time of simulation, the internal state of the semiconductor device 300 is stored at times T3 and T4. In the simulation using the test pattern TB, the internal state of the semiconductor device 300 at the time T4 stored during the simulation using the test pattern TA is read out, the internal state is set in the design data of the semiconductor device 300, and the simulation is restarted from the time T4. Similarly, in the simulation using the test pattern TC, the internal state of the semiconductor device 300 at the time T3 stored during the simulation using the test pattern TA is read, and this internal state is set in the design data of the semiconductor device 300, and the simulation is started from the time T3. Resume. That is, for the simulation by the test pattern TB, the simulation of the portion overlapping the test pattern TA from the time T1 to T3 can be omitted for the simulation by the times T1 to T4 and for the test pattern TC. It is possible to increase the efficiency of the used function verification.

特開2006−155083号公報JP 2006-155083 A

しかしながら、特許文献1に記載の機能検証技術では、テストパターンの先頭からの共通性だけを考慮しているため、特に、例えば、1つの機能について複数のレジスタ設定別にテストパターンを用意して機能検証を行なう場合等、各テストパターンの間で比較的早い段階で差異が現れる場合には、テストパターンの省略を十分に図ることができず、機能検証にかかる時間及びコストを十分に低減することができないという問題があった。   However, since the function verification technique described in Patent Document 1 considers only the commonality from the beginning of the test pattern, in particular, for example, a test pattern is prepared for each function for a plurality of register settings, and the function verification is performed. When there is a difference between test patterns at a relatively early stage, for example, the test pattern cannot be omitted sufficiently, and the time and cost required for functional verification can be sufficiently reduced. There was a problem that I could not.

ここで、図21は、図19に示す半導体装置300の設計データを機能検証するための20本のテストパターンTA1〜TA10、TB1〜TB10の概略構成を示している。詳細には、テストパターンTA1〜TA10は、コアブロック301を構成する機能ブロックAに対する機能検証を行なうテストパターンであり、レジスタ設定α、β、γ〜σ別に作成されている。図21に示すように、テストパターンTA1〜TA10では、時間T1〜T2の「初期化パターン」、時間T2〜T3の「ROM303からの設定値の読み出しパターン」及び時間T4〜T1000の「機能ブロックFAに対する検証パターン」は共通である。テストパターンTB1〜TB10は、コアブロック301を構成する機能ブロックBに対する機能検証を行なうテストパターンであり、レジスタ設定α、δ、ε〜φ別に作成されている。図21に示すように、テストパターンTB1〜TB10では、時間T1〜T2の「初期化パターン」、時間T2〜T3の「ROM303からの設定値の読み出しパターン」及び時間T4〜T1000の「機能ブロックFBに対する検証パターン」は共通である。   Here, FIG. 21 shows a schematic configuration of 20 test patterns TA1 to TA10 and TB1 to TB10 for functional verification of the design data of the semiconductor device 300 shown in FIG. Specifically, the test patterns TA1 to TA10 are test patterns for performing functional verification on the functional block A constituting the core block 301, and are created for each register setting α, β, γ to σ. As shown in FIG. 21, in the test patterns TA1 to TA10, the “initialization pattern” at times T1 to T2, the “reading pattern of setting values from the ROM 303” at times T2 to T3, and the “function block FA at times T4 to T1000”. "Verification pattern for" is common. Test patterns TB1 to TB10 are test patterns for performing functional verification on the functional block B constituting the core block 301, and are created for each register setting α, δ, and ε to φ. As shown in FIG. 21, in the test patterns TB1 to TB10, the “initialization pattern” at the time T1 to T2, the “reading pattern of the set value from the ROM 303” at the time T2 to T3, and the “functional block FB at the time T4 to T1000”. "Verification pattern for" is common.

図21に示すテストパターン群を用いて半導体装置300に対する機能検証を実行する場合、特許文献1に記載の機能検証技術では、各テストパターンの先頭からの共通性のみを考慮してシミュレーションを省略するため、例えば、テストパターンTA2〜TA10では、時間T3〜T4のレジスタ設定パターンがテストパターンTA1と異なるため、時間T1〜T3までの共通パターンについてシミュレーションが省略可能となる。同様に、テストパターンTB1では、時間T1〜時間T4のシミュレーションが省略可能となり、テストパターンTB2〜TB10では、時間T1〜時間T3のシミュレーションが省略可能となる。しかし、テストパターンの先頭から時間T3またはT4までの時間は、各機能ブロックに対する検証パターンの長さ、即ち、時間T4〜時間T1000(パターンエンド)までの間の時間に比べると僅かであり、省略効果が小さいと考えられる。   When performing functional verification on the semiconductor device 300 using the test pattern group shown in FIG. 21, the functional verification technique described in Patent Document 1 omits simulation considering only the commonality from the beginning of each test pattern. Therefore, for example, in the test patterns TA2 to TA10, the register setting pattern at times T3 to T4 is different from that of the test pattern TA1, so that the simulation can be omitted for the common patterns from time T1 to T3. Similarly, the simulation from time T1 to time T4 can be omitted in the test pattern TB1, and the simulation from time T1 to time T3 can be omitted in the test patterns TB2 to TB10. However, the time from the beginning of the test pattern to the time T3 or T4 is slightly shorter than the length of the verification pattern for each functional block, that is, the time between time T4 and time T1000 (pattern end), and is omitted. The effect is considered to be small.

更に、記憶領域の複数と論理回路を備えた半導体装置では、機能別・レジスタ設定別に機能検証を行なう必要があることから、近年の回路規模の増大や回路の複雑化により、レジスタの記憶領域の増大に伴うレジスタ設定の組み合わせが増大し、これに応じてテストパターンの数が飛躍的に増大することとなる。しかし、特許文献1に記載の機能検証技術では、図21に示すように、機能別に複数のレジスタ設定を用意して機能検証を行なう場合には、シミュレーションの省略効果が小さく機能検証の効率が十分に上がらないことから、このようなテストパターン群に対してより効果的な省略効果を持つ機能検証技術が望まれている。   Furthermore, in a semiconductor device provided with a plurality of storage areas and logic circuits, it is necessary to perform functional verification for each function and for each register setting. Therefore, due to the increase in circuit scale and circuit complexity in recent years, As the number of combinations of register settings increases, the number of test patterns increases dramatically. However, in the function verification technique described in Patent Document 1, as shown in FIG. 21, when a plurality of register settings are prepared for each function and the function verification is performed, the effect of omitting the simulation is small and the efficiency of the function verification is sufficient. Therefore, a function verification technique having a more effective omission effect for such a test pattern group is desired.

本発明は上記の問題に鑑みてなされたものであり、その目的は、特に、比較的早い設定段階でのみ差異が生じる複数のテストパターンを用いる場合等に対応して、よりテストパターンの省略効果が高く、半導体装置の設計データに対する機能検証にかかる時間及びコストをより効果的に削減できる機能検証方法を提供する点にある。また、特に、比較的早い設定段階でのみ差異が生じる複数のテストパターンを用いる場合等に対応して、よりテストパターンの省略効果が高く、半導体装置の設計データに対する機能検証にかかる時間及びコストをより効果的に削減できる機能検証装置を提供する。   The present invention has been made in view of the above-mentioned problems, and the object thereof is more effective in omitting test patterns, particularly in the case of using a plurality of test patterns in which differences occur only at a relatively early setting stage. Therefore, it is an object of the present invention to provide a function verification method that can effectively reduce the time and cost required for function verification of design data of a semiconductor device. Also, especially when using a plurality of test patterns that differ only at a relatively early setting stage, the test pattern omission effect is higher, and the time and cost required for functional verification of the design data of the semiconductor device are reduced. Provided is a function verification device that can be more effectively reduced.

上記目的を達成するための本発明に係る機能検証方法は、記憶領域の複数と論理回路を備えた半導体装置の設計データに対して、前記記憶領域に対する読み出し処理にかかる読み出し処理パターンを含むテストパターンを複数用いて行なう機能検証方法であって、前記テストパターン夫々を、前記記憶領域に対する書き込み処理にかかる書き込み処理パターンが含まれる前記テストパターンについては前記書き込み処理パターンを除く比較用テストパターンを用いて比較して、前記テストパターン夫々を所定のテストパターン群に分類する分類工程と、前記テストパターン群毎に、前記テストパターン群に含まれる前記テストパターンから基準テストパターンを選択し、前記基準テストパターンに含まれる前記読み出し処理パターンを特定し、前記読み出し処理パターン毎に、前記読み出し処理の実行時間、前記読み出し処理を実行した前記記憶領域、及び、前記読み出し処理の実行時間における前記論理回路を構成する各記憶素子の記憶内容を含む内部状態を記憶する内部状態記憶工程と、前記テストパターン群毎に、前記基準テストパターンにおける前記読み出し処理を実行する前記記憶領域とその記憶内容、及び、前記基準テストパターンを除く前記テストパターン夫々における前記読み出し処理を実行する前記記憶領域とその記憶内容に基づいて、前記テストパターン夫々の実行順序を設定し、前記基準テストパターン以外の前記テストパターン夫々について、利用する前記内部状態を選択する実行手順設定工程と、前記テストパターン群毎に、前記基準テストパターン以外の前記テストパターン夫々について、選択した前記内部状態を用いて前記機能検証を実行する機能検証工程と、を実行することを第1の特徴とする。   In order to achieve the above object, a function verification method according to the present invention includes a test pattern including a read processing pattern related to a read process for a storage area for design data of a semiconductor device including a plurality of storage areas and a logic circuit. A plurality of test patterns, each of the test patterns being used for a test pattern including a write process pattern related to a write process to the storage area using a comparison test pattern excluding the write process pattern. In comparison, a classification step of classifying each of the test patterns into a predetermined test pattern group, and for each test pattern group, a reference test pattern is selected from the test patterns included in the test pattern group, and the reference test pattern The read processing pattern included in For each of the read processing patterns, an internal state including the execution time of the read processing, the storage area in which the read processing is executed, and the storage contents of each storage element constituting the logic circuit in the execution time of the read processing. An internal state storing step for storing, and for each test pattern group, the storage area for executing the reading process for the reference test pattern, its storage contents, and the reading process for each of the test patterns excluding the reference test pattern An execution procedure setting step of setting the execution order of each of the test patterns based on the storage area for executing the storage and the stored contents, and selecting the internal state to be used for each of the test patterns other than the reference test pattern; For each test pattern group, the reference test pattern For the test pattern, respectively, the first feature to run and a functional verification step of performing the function verification using the internal state chosen.

上記目的を達成するための本発明に係る機能検証装置は、記憶領域の複数と論理回路を備えた半導体装置の設計データに対して、前記記憶領域に対する読み出し処理にかかる読み出し処理パターンを含むテストパターンを複数用いて機能検証を行なう機能検証装置であって、前記テストパターン夫々を、前記記憶領域に対する書き込み処理にかかる書き込み処理パターンが含まれる前記テストパターンについては前記書き込み処理パターンを除く比較用テストパターンを用いて比較して、前記テストパターン夫々をテストパターン群に分類する分類手段と、前記テストパターン群毎に、前記テストパターン群に含まれる前記テストパターンから基準テストパターンを選択し、前記基準テストパターンに含まれる前記読み出し処理パターンを特定し、前記読み出し処理パターン毎に、前記読み出し処理の実行時間、前記読み出し処理を実行した前記記憶領域、及び、前記読み出し処理の実行時間における前記論理回路を構成する各記憶素子の記憶内容を含む内部状態を記憶する内部状態記憶手段と、前記テストパターン群毎に、前記基準テストパターンにおける前記読み出し処理を実行する前記記憶領域とその記憶内容、及び、前記基準テストパターンを除く前記テストパターン夫々における前記読み出し処理を実行する前記記憶領域とその記憶内容に基づいて、前記テストパターン夫々の実行順序を設定し、前記基準テストパターン以外の前記テストパターン夫々について、利用する前記内部状態を選択する実行手順設定手段と、前記テストパターン群毎に、前記基準テストパターン以外の前記テストパターン夫々について、選択した前記内部状態を用いて前記機能検証を実行する機能検証手段と、を備えることを第1の特徴とする。   In order to achieve the above object, a function verification apparatus according to the present invention includes a test pattern including a read processing pattern for a read process for a storage area with respect to design data of a semiconductor device including a plurality of storage areas and a logic circuit A function verification apparatus that performs functional verification using a plurality of test patterns, wherein each of the test patterns is a test pattern for comparison excluding the write process pattern for the test pattern including a write process pattern related to a write process to the storage area. Classifying means for classifying each of the test patterns into a test pattern group, and selecting a reference test pattern from the test patterns included in the test pattern group for each test pattern group, and the reference test Specialize the read processing pattern included in the pattern. In addition, for each of the read processing patterns, the execution time of the read processing, the storage area in which the read processing is executed, and the storage contents of each storage element constituting the logic circuit in the execution time of the read processing are included. An internal state storage means for storing a state; and for each of the test pattern groups, the storage area for executing the reading process in the reference test pattern and the storage content thereof, and the test pattern in each of the test patterns excluding the reference test pattern Execution procedure setting for setting the execution order of each of the test patterns based on the storage area for executing the reading process and the stored contents, and selecting the internal state to be used for each of the test patterns other than the reference test pattern And a reference test pattern for each test pattern group. For people said test pattern each other than to the first, characterized in that and a function verification means for performing the function verification using the internal state chosen.

上記特徴の機能検証方法及び機能検証装置によれば、テストパターン夫々を、書き込み処理パターンが含まれるテストパターンについては書き込み処理パターンを除く比較用テストパターンを用いて比較して、テストパターン夫々をテストパターン群に分類し、テストパターン群毎に、読み出し処理パターンを特定して読み出し処理夫々の実行段階における内部状態を記憶し、この内部状態を用いて機能検証を行なう。このため、比較的早い設定段階でのみ差異が生じる複数のテストパターンを用いる場合等に、比較的初期の設定段階よりも遅く実行される検証段階の読み出し処理における内部状態を記憶して再利用することが可能になる。つまり、比較的初期の設定段階よりも遅く実行される読み出し処理における内部状態が再利用可能になることで、各テストパターンについて、より遅い段階からシミュレーションを実行することが可能になり、各テストパターンのシミュレーションの再利用性を高めることができる。即ち、テストパターンの省略効果をより効果的に高めることができ、記憶領域の複数と論理回路を備えた半導体装置の設計データに対する機能検証にかかる時間及びコストを効果的に削減することが可能になる。   According to the function verification method and the function verification apparatus having the above characteristics, each test pattern is compared by using a test pattern for comparison excluding the write processing pattern for each test pattern including the write processing pattern. The data is classified into pattern groups, and for each test pattern group, a read processing pattern is specified, the internal state at the execution stage of each read processing is stored, and function verification is performed using this internal state. For this reason, when using a plurality of test patterns in which a difference occurs only at a relatively early setting stage, the internal state in the reading process in the verification stage executed later than the relatively early setting stage is stored and reused. It becomes possible. In other words, since the internal state in the read process that is executed later than the relatively initial setting stage can be reused, each test pattern can be simulated from a later stage. The reusability of simulation can be improved. In other words, the test pattern omission effect can be increased more effectively, and the time and cost required for functional verification of design data of a semiconductor device having a plurality of storage areas and logic circuits can be effectively reduced. Become.

上記第1の特徴の本発明に係る機能検証方法は、前記分類工程が、前記テストパターン若しくは前記比較用テストパターンが完全に一致する前記テストパターンを同一の前記テストパターン群として分類することを第2の特徴とする。   In the function verification method according to the first aspect of the present invention, the classifying step classifies the test patterns whose test patterns or the test patterns for comparison completely match as the same test pattern group. Two features.

上記第1の特徴の本発明に係る機能検証装置は、前記分類手段が、前記テストパターン若しくは前記比較用テストパターンが完全に一致する前記テストパターンを同一の前記テストパターン群として分類することを第2の特徴とする。   In the function verification apparatus according to the first aspect of the present invention, the classifying unit classifies the test patterns that completely match the test patterns or the comparison test patterns as the same test pattern group. Two features.

上記特徴の機能検証方法及び機能検証装置によれば、テストパターン若しくは比較用テストパターンが完全に一致するテストパターン、即ち、記憶領域の設定に差異があるが、検証段階における動作が完全に同一となるテストパターンをテストパターン群として分類するので、各テストパターンが、同じテストパターン群に属する他のテストパターンの検証段階における内部状態を利用することが可能になり、テストパターン群への分類が容易になる。   According to the function verification method and function verification apparatus having the above characteristics, the test pattern or the test pattern for comparison completely matches, that is, there is a difference in the setting of the storage area, but the operation in the verification stage is completely the same. The test patterns are classified as test pattern groups, so that each test pattern can use the internal state at the verification stage of other test patterns belonging to the same test pattern group, making it easy to classify into test pattern groups become.

上記第1または第2の特徴の本発明に係る機能検証方法は、前記実行手順設定工程が、前記基準テストパターン以外の前記テストパターン毎に、先に実行される前記テストパターンにおける前記記憶領域夫々の記憶内容に基づいて、記憶内容の再設定が必要な前記記憶領域、及び、再設定が必要な前記記憶領域に対する前記読み出し処理の実行時間を特定して、前記基準テストパターンを用いた前記機能検証における前記内部状態の再利用性を示す再利用指標を求め、前記再利用指標に基づいて前記再利用性が高い前記テストパターンから順に実行順序を設定することを第3の特徴とする。   In the function verification method according to the first or second feature of the present invention, each of the storage areas in the test pattern in which the execution procedure setting step is executed first for each test pattern other than the reference test pattern. The function using the reference test pattern by specifying the storage area in which the storage content needs to be reset based on the stored content and the execution time of the reading process for the storage area in which the resetting is necessary A third feature is that a reuse index indicating the reusability of the internal state in verification is obtained, and the execution order is set in order from the test pattern having the higher reusability based on the reuse index.

上記第1または第2の特徴の本発明に係る機能検証装置は、前記実行手順設定手段が、前記基準テストパターン以外の前記テストパターン毎に、先に実行される前記テストパターンにおける前記記憶領域夫々の記憶内容に基づいて、記憶内容の再設定が必要な前記記憶領域、及び、再設定が必要な前記記憶領域に対する前記読み出し処理の実行時間を特定して、前記基準テストパターンを用いた前記機能検証における前記内部状態の再利用性を示す再利用指標を求め、前記再利用指標に基づいて前記再利用性が高い前記テストパターンから順に実行順序を設定することを第3の特徴とする。   In the function verification apparatus according to the first or second feature of the present invention, each of the storage areas in the test pattern that is executed first by the execution procedure setting unit for each test pattern other than the reference test pattern. The function using the reference test pattern by specifying the storage area in which the storage content needs to be reset based on the stored content and the execution time of the reading process for the storage area in which the resetting is necessary A third feature is that a reuse index indicating the reusability of the internal state in verification is obtained, and the execution order is set in order from the test pattern having the higher reusability based on the reuse index.

上記特徴の機能検証方法及び機能検証装置によれば、再利用性が高いテストパターンから順に実行順序を設定するので、テストパターン全体での再利用性、即ち、テストパターンの圧縮率を高めることができる。   According to the function verification method and the function verification apparatus having the above characteristics, the execution order is set in order from the test pattern having the highest reusability. Therefore, the reusability of the entire test pattern, that is, the test pattern compression rate can be increased. it can.

上記第3の特徴の本発明に係る機能検証方法は、前記実行手順設定工程が、前記基準テストパターンを除く前記テストパターン夫々について、特定された再設定が必要な前記記憶領域の内、最も早い段階で前記読み出し処理が実行される前記記憶領域の前記読み出し処理の実行時間に基づいて、利用する前記内部状態を選択し、後に実行される前記テストパターンにおける再設定が必要な前記記憶領域に基づいて、前記内部状態を記憶する前記読み出し処理を決定し、前記機能検証工程が、前記テストパターン毎の機能検証において、前記実行手順設定工程で決定された前記内部状態を記憶する前記読み出し処理の前記内部状態を記憶することを第4の特徴とする。   In the function verification method according to the third aspect of the present invention, the execution procedure setting step is the earliest among the storage areas that need to be reset for each of the test patterns except the reference test pattern. The internal state to be used is selected based on the execution time of the read process of the storage area where the read process is executed in a stage, and based on the storage area that needs to be reset in the test pattern executed later Determining the read process for storing the internal state, and the function verification step stores the internal state determined in the execution procedure setting step in the function verification for each test pattern. The fourth feature is to store the internal state.

上記第3の特徴の本発明に係る機能検証装置は、前記実行手順設定手段が、前記基準テストパターンを除く前記テストパターン夫々について、特定された再設定が必要な前記記憶領域の内、最も早い段階で前記読み出し処理が実行される前記記憶領域の前記読み出し処理の実行時間に基づいて、利用する前記内部状態を選択し、後に実行される前記テストパターンにおける再設定が必要な前記記憶領域に基づいて、前記内部状態を記憶する前記読み出し処理を決定し、前記機能検証手段が、前記テストパターン毎の機能検証において、前記実行手順設定手段で決定された前記内部状態を記憶する前記読み出し処理の前記内部状態を記憶することを第4の特徴とする。   In the function verification apparatus according to the third aspect of the present invention, the execution procedure setting means is the earliest of the storage areas that need to be reset for each of the test patterns other than the reference test pattern. The internal state to be used is selected based on the execution time of the read process of the storage area where the read process is executed in a stage, and based on the storage area that needs to be reset in the test pattern executed later Determining the read process for storing the internal state, and the function verification unit stores the internal state determined by the execution procedure setting unit in the function verification for each test pattern. The fourth feature is to store the internal state.

上記特徴の機能検証方法及び機能検証装置によれば、基準テストパターンを除くテストパターン夫々について、後に実行されるテストパターンで利用可能な内部状態が設定可能な場合に、機能検証時に当該内部状態を記憶し、後に実行されるテストパターンで利用するように構成したので、テストパターン全体での再利用性及び圧縮率をより高めることができる。   According to the function verification method and the function verification apparatus having the above characteristics, when an internal state that can be used in a test pattern to be executed later can be set for each test pattern other than the reference test pattern, the internal state is set during function verification. Since it is configured to be stored and used in a test pattern to be executed later, the reusability and compression rate of the entire test pattern can be further improved.

上記第1〜第4の特徴の本発明に係る機能検証方法は、前記機能検証工程が、前記テストパターン夫々に対する前記機能検証において、前記実行手順設定工程で選択した前記内部状態を取得し、前記内部状態を前記記憶領域及び前記記憶素子に設定した後、前記機能検証を実行する前記テストパターンの前記記憶領域の記憶内容に基づいて、前記記憶領域の記憶内容を再設定することを第5の特徴とする。   In the function verification method according to the first to fourth features of the present invention, the function verification step acquires the internal state selected in the execution procedure setting step in the function verification for each of the test patterns, Resetting the storage contents of the storage area based on the storage contents of the storage area of the test pattern for executing the function verification after setting the internal state in the storage area and the storage element; Features.

上記第1〜第4の特徴の本発明に係る機能検証装置は、前記機能検証手段が、前記テストパターン夫々に対する前記機能検証において、前記実行手順設定手段で選択した前記内部状態を取得し、前記内部状態を前記記憶領域及び前記記憶素子に設定した後、前記機能検証を実行する前記テストパターンの前記記憶領域の記憶内容に基づいて、前記記憶領域の記憶内容を再設定することを第5の特徴とする。   In the function verification apparatus according to the first to fourth features of the present invention, the function verification unit acquires the internal state selected by the execution procedure setting unit in the function verification for each of the test patterns, and Resetting the storage contents of the storage area based on the storage contents of the storage area of the test pattern for executing the function verification after setting the internal state in the storage area and the storage element; Features.

上記特徴の機能検証方法及び機能検証装置によれば、内部状態を記憶領域及び記憶素子に設定した後、記憶領域の記憶内容を再設定するように構成したので、基準テストパターン以外のテストパターンを正確に実行することが可能になり、内部状態を利用したシミュレーションの具体的な実行手順を得ることができる。   According to the function verification method and function verification device of the above feature, since the internal state is set in the storage area and the storage element, and the storage contents in the storage area are reset, the test patterns other than the reference test pattern can be set. It becomes possible to execute accurately, and a specific execution procedure of the simulation using the internal state can be obtained.

以下、本発明に係る機能検証方法及び機能検証装置(以下、適宜「本発明方法」、「本発明装置」と呼称する)の実施形態を図面に基づいて説明する。   DESCRIPTION OF EMBODIMENTS Embodiments of a function verification method and a function verification apparatus (hereinafter referred to as “the method of the present invention” and “the apparatus of the present invention” as appropriate) according to the present invention will be described below based on the drawings.

〈第1実施形態〉
本発明方法及び本発明装置の第1実施形態について、図1〜図11を基に説明する。尚、本実施形態の本発明装置は、コンピュータ上で実行することにより本発明方法の各工程を実行する機能検証プログラムでソフトウェア的に構成されている。
<First Embodiment>
1st Embodiment of this invention method and this invention apparatus is described based on FIGS. The device of the present embodiment of the present embodiment is configured by software with a function verification program that executes each step of the method of the present invention by executing it on a computer.

先ず、本発明装置の構成について、図1及び図2を基に説明する。ここで、図1は、本発明装置を構築したコンピュータの概略構成を示す概略ブロック図であり、図2は、本発明装置を構成する各手段の概略構成を示す概略ブロック図である。   First, the configuration of the device of the present invention will be described with reference to FIGS. 1 and 2. Here, FIG. 1 is a schematic block diagram showing a schematic configuration of a computer that constructs the apparatus of the present invention, and FIG. 2 is a schematic block diagram showing a schematic configuration of each means constituting the apparatus of the present invention.

本発明装置1は、後述するレジスタ(記憶領域に相当)の複数とコアブロック(論理回路に相当)を備えた半導体装置の設計データに対して、レジスタに対する読み出し処理にかかる読み出し処理パターンを含むテストパターンを複数用いて機能検証を行なう機能検証装置1であり、図1に示すコンピュータ10上に構成されている。本発明装置1を搭載したコンピュータ10は、図1に示すように、本発明装置1で用いる情報を記憶するためのハードディスク等から構成される補助記憶装置11、シミュレーションの実行等の所定の演算を行うCPU(Central Processing Unit)12、本発明方法を実行する機能検証プログラム等が格納されたROM(Read Only Memory)13、CPU12が演算時に使用する作業記憶領域として用いられるRAM(Random Access Memory)14、半導体装置の設計データやテストパターン等の情報を受け付ける入力装置15、及び、シミュレーション結果等を表示するための表示装置16を備えて構成されており、CPU12と、補助記憶装置11、ROM13、RAM14、入力装置15及び表示装置16は夫々バスライン17a〜17eで相互に接続されている。   The device 1 of the present invention is a test including a read processing pattern related to a read process for a register with respect to design data of a semiconductor device having a plurality of registers (corresponding to storage areas) and a core block (corresponding to a logic circuit) described later A function verification apparatus 1 that performs function verification using a plurality of patterns, and is configured on a computer 10 shown in FIG. As shown in FIG. 1, a computer 10 equipped with the device 1 of the present invention performs predetermined calculations such as an auxiliary storage device 11 composed of a hard disk or the like for storing information used in the device 1 of the present invention, and execution of a simulation. CPU (Central Processing Unit) 12 to be performed, ROM (Read Only Memory) 13 storing a function verification program for executing the method of the present invention, and RAM (Random Access Memory) 14 used as a working storage area used by the CPU 12 during calculation And an input device 15 for receiving information such as design data and test patterns of the semiconductor device, and a display device 16 for displaying simulation results and the like. The CPU 12, the auxiliary storage device 11, the ROM 13, and the RAM 14 are provided. Input device 15 and display device 16 are connected to each other by respective bus lines 17 a - 17 e.

本発明装置1は、図2に示すように、テストパターン夫々を、レジスタに対する書き込み処理にかかるレジスタ設定パターン(書き込み処理パターンに相当)が含まれるテストパターンについてはレジスタ設定パターンを除く比較用テストパターンを用いて比較して、テストパターン夫々をテストパターン群に分類する分類手段2、テストパターン群毎に、テストパターン群に含まれるテストパターンから基準テストパターンを選択し、基準テストパターンに含まれる読み出し処理パターンを特定し、読み出し処理パターン毎に、読み出し処理の実行時間、読み出し処理を実行した記憶領域、及び、読み出し処理の実行時間におけるコアブロックを構成する各記憶素子の記憶内容を含む内部状態を記憶する内部状態記憶手段3、テストパターン群毎に、基準テストパターンにおける読み出し処理を実行するレジスタとその記憶内容、及び、基準テストパターンを除くテストパターン夫々における読み出し処理を実行するレジスタとその記憶内容に基づいて、テストパターン夫々の実行順序を設定し、基準テストパターン以外のテストパターン夫々について、利用する内部状態を選択する実行手順設定手段4、及び、テストパターン群毎に、基準テストパターン以外のテストパターン夫々について、選択した内部状態を用いて機能検証を実行する機能検証手段5を備えて構成される。   As shown in FIG. 2, the device 1 of the present invention uses each test pattern as a comparison test pattern excluding the register setting pattern for a test pattern including a register setting pattern (corresponding to a writing process pattern) related to a writing process to a register. And classifying means 2 for classifying each test pattern into a test pattern group, selecting a reference test pattern from the test patterns included in the test pattern group for each test pattern group, and reading out included in the reference test pattern Specify the processing pattern, and for each read processing pattern, the internal state including the storage time of the read process, the storage area that executed the read process, and the storage contents of each storage element that constitutes the core block at the read process execution time. Internal state storage means 3 for storing, test pattern For each group, the execution order of each test pattern based on the register that executes the reading process in the reference test pattern and its stored contents, and the register that executes the reading process in each test pattern excluding the reference test pattern and its stored contents And the execution procedure setting means 4 for selecting an internal state to be used for each test pattern other than the reference test pattern, and the selected internal state for each test pattern other than the reference test pattern for each test pattern group. A function verification unit 5 is used to perform function verification.

次に、本実施形態の本発明方法について、図3〜図11を基に説明する。ここで、図3は、本発明方法の各工程を示すフローチャートである。   Next, the method of the present invention of this embodiment will be described with reference to FIGS. Here, FIG. 3 is a flowchart showing each step of the method of the present invention.

先ず、本発明装置1は、図3に示すように、半導体装置の設計データ及び当該設計データの機能検証のためのテストパターンを取得する(ステップ#101)。ここで、図4は、本発明装置1及び本発明方法により機能検証を行なう半導体装置100の一構成例を示している。更に、図5は、本実施形態で用いるテストパターンTP1〜TP20の一構成例を示しており、図6は、半導体装置100に入力される一部の信号について、図5に示すテストパターンTP1〜TP20で設定された入力波形を部分的に示している。具体的には、半導体装置100は、図4に示すように、半導体装置100の主要動作を実現する論理回路で構成されるコアブロック101、回路動作の各種パラメータを一時的に記憶する5つのレジスタRA〜REからなるレジスタブロック102、及び、半導体装置100の初期設定値や動作プログラム等を記憶したROM103を備えて構成され、これらはバスライン104を介して接続されている。コアブロック101は、機能ブロックFA及び機能ブロックFBを備えており、レジスタブロック102及びROM103に対するアクセス動作を適宜実行するように構成されている。尚、図4では図6に示す各信号線を図示していないが、本実施形態では、図6に示す各信号線は、半導体装置100のコアブロック101に入力される構成となっている。   First, as shown in FIG. 3, the inventive device 1 acquires design data of a semiconductor device and a test pattern for functional verification of the design data (step # 101). Here, FIG. 4 shows a configuration example of the semiconductor device 100 that performs functional verification by the device 1 of the present invention and the method of the present invention. 5 shows an example of the configuration of test patterns TP1 to TP20 used in the present embodiment, and FIG. 6 shows test patterns TP1 to TP1 shown in FIG. The input waveform set by TP20 is partially shown. Specifically, as shown in FIG. 4, the semiconductor device 100 includes a core block 101 composed of a logic circuit that realizes main operations of the semiconductor device 100, and five registers that temporarily store various parameters of circuit operations. A register block 102 composed of RA to RE and a ROM 103 that stores initial setting values and operation programs of the semiconductor device 100 are provided, and these are connected via a bus line 104. The core block 101 includes a functional block FA and a functional block FB, and is configured to appropriately execute an access operation to the register block 102 and the ROM 103. 4 does not illustrate the signal lines illustrated in FIG. 6, the signal lines illustrated in FIG. 6 are input to the core block 101 of the semiconductor device 100 in the present embodiment.

また、本実施形態では、図5及び図6に示すように、半導体装置100の設計データを機能検証するためのテストパターンとして、テストパターンTP1〜TP20が作成されている。テストパターンTP1〜TP20は、図5及び図6に示すように、レジスタ設定r1〜r18の何れかを用いて半導体装置100のレジスタRA〜REの値を設定して、機能ブロックFAまたは機能ブロックFBに対する機能検証を実行するように構成されており、具体的には、各テストパターンは、時間T1〜T3の「初期化パターン」、時間T3〜T100の「ROM103からの設定値の読み出しパターン」、時間T100〜T150の「レジスタ設定パターン」、時間T150〜T10000の「半導体装置100の機能ブロックに対する検証パターン」から構成されている。   In this embodiment, as shown in FIGS. 5 and 6, test patterns TP <b> 1 to TP <b> 20 are created as test patterns for functional verification of design data of the semiconductor device 100. As shown in FIGS. 5 and 6, the test patterns TP1 to TP20 set the values of the registers RA to RE of the semiconductor device 100 using any of the register settings r1 to r18, and function blocks FA or FB. Specifically, each test pattern includes “initialization pattern” at times T1 to T3, “reading pattern of set values from ROM 103” at times T3 to T100, It consists of a “register setting pattern” from time T100 to T150 and a “verification pattern for functional blocks of the semiconductor device 100” from time T150 to T10000.

続いて、本発明装置1は、図3に示すように、分類手段2により、テストパターンTP1〜TP20夫々を、レジスタRA〜REに対するレジスタ設定パターンが含まれるテストパターンについてはレジスタ設定パターンを除く比較用テストパターンを用いて比較して、テストパターンTP1〜TP20を所定のテストパターン群に分類する(ステップ#110、分類工程)。   Subsequently, as shown in FIG. 3, the device 1 of the present invention uses the classification unit 2 to compare the test patterns TP1 to TP20, and the test pattern including the register setting patterns for the registers RA to RE, excluding the register setting pattern. The test patterns TP1 to TP20 are classified into a predetermined test pattern group (step # 110, classification process).

具体的には、分類手段2は、先ず、テストパターンTP1〜TP20について、レジスタ設定パターンを検索し、レジスタ設定パターンを含む場合は、レジスタ設定パターンを除いた比較用テストパターンを抽出する(ステップ#111)。レジスタ設定パターンを含まないテストパターンについては、当該テストパターンをそのまま比較用テストパターンとして用いる。本実施形態では、テストパターンTP1〜TP20から、時間T100〜T150の「レジスタ設定パターン」を除いて比較用テストパターンとする。   Specifically, the classifying unit 2 first searches the register setting pattern for the test patterns TP1 to TP20, and if the register setting pattern is included, extracts the test pattern for comparison excluding the register setting pattern (step #). 111). For a test pattern that does not include a register setting pattern, the test pattern is used as it is as a comparison test pattern. In this embodiment, the “register setting pattern” at times T100 to T150 is removed from the test patterns TP1 to TP20 to obtain a test pattern for comparison.

更に、分類手段2は、ステップ#111においてレジスタ設定パターンが検索される毎に、書き込み処理されたレジスタとその記憶内容を補助記憶装置11に記憶する。ここで、図7は、レジスタ設定パターンの一例を示している。より詳細には、例えば、図7において、書き込み処理の実行を指示するwrite_en信号が‘1’になった時に、書き込み処理を行なうレジスタのアドレスを指定するaddr[15:0]信号の値を判定することで、書き込み処理を実行するレジスタを判定することができる。ここでは、レジスタRAのアドレスは0x0100、レジスタRBのアドレスは0x0101、レジスタRCのアドレスは0x0102、レジスタRDのアドレスは0x0103、レジスタREのアドレスは0x0104に設定されている。そして、write_en信号が‘1’になった時に、data[15:0]信号の値を、addr[15:0]信号で指定されたレジスタに書き込む。また、図8は、図5に示すテストパターンTP1〜TP20のレジスタ設定パターンにより各レジスタRA〜REに書き込まれる値を示している。より具体的には、図5及び図8に示すように、テストパターンTP1では、時間T100からT150までのレジスタ設定パターンr1により、レジスタRAに‘0’、レジスタRBに‘0’、レジスタRCに‘0’、レジスタRDに‘0’、レジスタREに‘0’が、テストパターンTP2では、レジスタ設定パターンr2により、レジスタRAに‘1’、レジスタRBに‘0’、レジスタRCに‘1’、レジスタRDに‘0’、レジスタREに‘0’が夫々書き込まれる。   Furthermore, the classification unit 2 stores the write-processed register and its storage contents in the auxiliary storage device 11 each time a register setting pattern is searched in step # 111. Here, FIG. 7 shows an example of a register setting pattern. More specifically, for example, in FIG. 7, when the write_en signal for instructing execution of the write process becomes “1”, the value of the addr [15: 0] signal that specifies the address of the register that performs the write process is determined. By doing so, it is possible to determine the register that executes the writing process. Here, the address of the register RA is set to 0x0100, the address of the register RB is set to 0x0101, the address of the register RC is set to 0x0102, the address of the register RD is set to 0x0103, and the address of the register RE is set to 0x0104. When the write_en signal becomes ‘1’, the value of the data [15: 0] signal is written to the register specified by the addr [15: 0] signal. FIG. 8 shows values written in the registers RA to RE by the register setting patterns of the test patterns TP1 to TP20 shown in FIG. More specifically, as shown in FIGS. 5 and 8, in the test pattern TP1, the register RA is set to “0”, the register RB is set to “0”, and the register RC is set to the register RC according to the register setting pattern r1 from time T100 to T150. “0”, “0” in the register RD, “0” in the register RE, and in the test pattern TP2, “1” in the register RA, “0” in the register RB, and “1” in the register RC according to the register setting pattern r2. “0” is written to the register RD, and “0” is written to the register RE.

引き続き、分類手段2は、図3に示すように、テストパターンTP1〜TP20の比較用テストパターンを夫々比較して(ステップ#112)、完全一致する比較用テストパターンに対応するテストパターン同士をグループ化してテストパターン群に分類する(ステップ#113)。本実施形態では、テストパターンTP1〜TP20の全てのテストパターンにおいて、時間T100からT150までの「レジスタ設定パターン」を除外した比較用テストパターンを用いて比較する。尚、本実施形態のテストパターンTP1〜TP20は、図5に示すように、時間T1〜T3の「初期化パターン」、時間T3〜T100の「ROM103からの設定値の読み出しパターン」が各テストパターンの間で共通であることから、時間T150〜T10000の「半導体装置100の機能ブロックに対する検証パターン」により、分類されるテストパターン群が決定する。このため、本実施形態では、図8に示すように、テストパターンTP1〜TP20は、機能ブロックFAの検証を行なうテストパターンTP1〜TP10からなるグループGA(テストパターン群に相当)と、機能ブロックFBの検証を行なうテストパターンTP11〜TP20からなるグループGB(テストパターン群に相当)の2つのグループに分類されることになる。   Subsequently, as shown in FIG. 3, the classification unit 2 compares the comparison test patterns of the test patterns TP1 to TP20 (step # 112), and groups the test patterns corresponding to the comparison test patterns that completely match each other. Into test pattern groups (step # 113). In the present embodiment, comparison is performed using a test pattern for comparison excluding the “register setting pattern” from time T100 to T150 in all the test patterns TP1 to TP20. As shown in FIG. 5, the test patterns TP1 to TP20 of the present embodiment are “initialization patterns” at times T1 to T3 and “reading patterns of set values from the ROM 103” at times T3 to T100. Therefore, the test pattern group to be classified is determined by the “verification pattern for the functional block of the semiconductor device 100” from time T150 to T10000. For this reason, in this embodiment, as shown in FIG. 8, the test patterns TP1 to TP20 include a group GA (corresponding to a test pattern group) composed of test patterns TP1 to TP10 for verifying the functional block FA, and a functional block FB. Are grouped into two groups of groups GB (corresponding to test pattern groups) composed of test patterns TP11 to TP20.

引き続き、本発明装置1は、図3に示すように、内部状態記憶手段3により、テストパターン群毎に、テストパターン群に含まれるテストパターンから基準テストパターンを選択し、基準テストパターンに含まれる読み出し処理パターンを特定し、読み出し処理パターン毎に、読み出し処理の実行時間、読み出し処理を実行したレジスタ、及び、読み出し処理の実行時間における論理回路を構成する各記憶素子の記憶内容を含む内部状態を記憶する(ステップ#120、内部状態記憶工程)。   Subsequently, as shown in FIG. 3, the device 1 of the present invention selects a reference test pattern from the test patterns included in the test pattern group for each test pattern group by the internal state storage means 3, and is included in the reference test pattern. A read processing pattern is specified, and for each read processing pattern, the internal state including the storage time of the read processing, the register that executed the read processing, and the storage contents of each storage element that constitutes the logic circuit at the read processing execution time. Store (step # 120, internal state storage step).

具体的には、内部状態記憶手段3は、先ず、グループGA及びグループGBから夫々基準テストパターンを選択する(ステップ#121)。本実施形態では、グループGAからテストパターンTP1を、グループGBからテストパターンTP11を基準テストパターンとして選択する。尚、基準テストパターンの選択は、任意であり、他のテストパターンを基準テストパターンとして選択しても良い。続いて、本発明装置1は、ステップ#101で取得した設計データと基準テストパターンを用いてシミュレーションを実行する(ステップ#122)。   Specifically, the internal state storage means 3 first selects a reference test pattern from each of the group GA and group GB (step # 121). In the present embodiment, the test pattern TP1 from the group GA and the test pattern TP11 from the group GB are selected as reference test patterns. The selection of the reference test pattern is arbitrary, and another test pattern may be selected as the reference test pattern. Subsequently, the device 1 of the present invention executes a simulation using the design data and the reference test pattern acquired in Step # 101 (Step # 122).

更に、内部状態記憶手段3は、基準テストパターンを用いたシミュレーションにおいて、レジスタブロック102を構成するレジスタRA〜REの何れかに対し読み出し動作が行なわれると、読み出し処理が実行されたレジスタとその値、及び、半導体装置100のコアブロック101を構成する各記憶素子の記憶内容等の内部状態を、補助記憶装置11に記憶する。尚、本実施形態において、内部状態を記憶する読み出し処理は、時間T150からT10000までの機能ブロックに対する機能検証の間に実施されるレジスタRA〜REに対する読み出し処理を対象としており、半導体装置100のROM103に対する読み出し処理は含まない。   Further, when a read operation is performed on any one of the registers RA to RE constituting the register block 102 in the simulation using the reference test pattern, the internal state storage unit 3 reads the register that has undergone the read process and its value. In addition, the internal state such as the storage contents of each storage element constituting the core block 101 of the semiconductor device 100 is stored in the auxiliary storage device 11. In the present embodiment, the read processing for storing the internal state is targeted for the read processing for the registers RA to RE performed during the function verification for the functional blocks from time T150 to T10000. The reading process for is not included.

ここで、図9は、読み出し処理パターンの一例と内部状態を記憶するタイミングを示している。具体的には、図9において、read_en信号が‘1’になると、半導体装置100は、addr[15:0]信号の値を参照して読み出し処理を行なうレジスタを特定し、該レジスタの値を読み出してdata[15:0]信号として出力する。内部状態記憶手段3は、図9の破線Xが示すタイミングで、addr[15:0]信号により特定されるレジスタとdata[15:0]信号の値、及び、コアブロック101を構成する各記憶素子の記憶内容を記憶する。ここで、図10は、本実施形態において、グループGA及びグループGB夫々における読み出し処理の実行時間である参照時間、読み出し処理を実行した参照レジスタ、コアブロック101を構成する各記憶素子の記憶内容の保存時間の関係を示している。尚、図4では図9に示す各信号線を図示していないが、本実施形態では、図6に示す各信号線と同様に、図9に示す各信号線は、半導体装置100のコアブロック101に入力される構成となっている。図10に示すように、本実施形態では、グループGAの基準テストパターンであるテストパターンTP1を用いたシミュレーションでは、時間T3000でレジスタRAに対する読み出し処理が、時間T4000でレジスタRBに対する読み出し処理が、時間T7000でレジスタRCに対する読み出し処理が、時間T9000でレジスタREに対する読み出し処理が夫々実行されている。同様に、グループGBの基準テストパターンであるテストパターンTP11を用いたシミュレーションでは、時間T4000でレジスタRBに対する読み出し処理が、時間T5000でレジスタREに対する読み出し処理が、時間T9000でレジスタRDに対する読み出し処理が夫々実行されている。   Here, FIG. 9 shows an example of the read processing pattern and the timing for storing the internal state. Specifically, in FIG. 9, when the read_en signal becomes “1”, the semiconductor device 100 refers to the value of the addr [15: 0] signal, identifies a register that performs read processing, and sets the value of the register. Read and output as data [15: 0] signal. The internal state storage unit 3 stores the register specified by the addr [15: 0] signal, the value of the data [15: 0] signal, and each memory constituting the core block 101 at the timing indicated by the broken line X in FIG. The memory content of the element is stored. Here, FIG. 10 shows the reference time that is the execution time of the read processing in each of the group GA and group GB, the reference register that executed the read processing, and the storage contents of each storage element constituting the core block 101 in this embodiment. The relationship of storage time is shown. 4 does not illustrate each signal line illustrated in FIG. 9, in the present embodiment, each signal line illustrated in FIG. 9 is a core block of the semiconductor device 100, similarly to each signal line illustrated in FIG. 6. 101 is input. As shown in FIG. 10, in this embodiment, in the simulation using the test pattern TP1 that is the reference test pattern of the group GA, the read process for the register RA at time T3000 and the read process for the register RB at time T4000 A read process for the register RC is executed at T7000, and a read process for the register RE is executed at time T9000. Similarly, in the simulation using the test pattern TP11 which is the reference test pattern of the group GB, the read process for the register RB at time T4000, the read process for the register RE at time T5000, and the read process for the register RD at time T9000, respectively. It is running.

引き続き、本発明装置1は、図3に示すように、実行手順設定手段4により、グループGA及びグループGB夫々について、基準テストパターンにおける読み出し処理を実行するレジスタとその記憶内容、及び、基準テストパターンを除くテストパターン夫々における読み出し処理を実行するレジスタとその記憶内容に基づいて、テストパターン夫々の実行順序を設定し、基準テストパターン以外のテストパターン夫々について、利用する内部状態を選択する(ステップ#130、実行手順設定工程)。   Subsequently, as shown in FIG. 3, the apparatus 1 of the present invention uses the execution procedure setting unit 4 to execute a read process in the reference test pattern for each of the group GA and the group GB, the storage contents thereof, and the reference test pattern. The execution order of each test pattern is set on the basis of the register for executing the reading process in each test pattern except the test pattern and the stored contents, and the internal state to be used is selected for each test pattern other than the reference test pattern (step #) 130, execution procedure setting step).

具体的には、実行手順設定手段4は、最初に、基準テストパターンとその他のテストパターン、ここでは、基準テストパターンから書き込み処理パターンを除いた比較用基準テストパターンと、基準テストパターン以外のテストパターン夫々から書き込み処理パターンを除いた比較用テストパターン夫々を比較し、基準テストパターン以外のテストパターン夫々について再利用性を示す再利用指標を求め、再利用指標に基づいて再利用性の高いパターンから優先的にシミュレーション順序を割り当てる(ステップ#131)。本実施形態では、先ず、基準テストパターン以外のテストパターン毎に、先に実行されるテストパターンにおけるレジスタRA〜RE夫々の記憶内容に基づいて、記憶内容の再設定が必要なレジスタ、及び、再設定が必要なレジスタに対する読み出し処理の実行時間を特定して、基準テストパターンを用いたシミュレーションで記憶した内部状態の再利用性を示す再利用指標を求める。そして、再利用指標に基づいて再利用性が高いテストパターンから順に実行順序を設定する。本実施形態では、基準テストパターン以外のテストパターン夫々について、基準テストパターンのレジスタ設定とは異なる設定を行うレジスタを再設定が必要なレジスタとして特定する。そして、基準テストパターン以外のテストパターン夫々について、再設定が必要なレジスタに対する読み出し処理の内、最も早い段階で実行される読み出し処理の実行時間をシミュレーションの基準再利用終了時間とし、シミュレーションの開始から基準再利用終了時間までの間の時間を再利用可能時間として求める。本実施形態では、各テストパターンの再利用可能時間をテストパターン夫々の再利用指標として規定し、再利用指標の値の大きいテストパターンから優先的に実行順位を設定する。   Specifically, the execution procedure setting unit 4 first performs a reference test pattern and other test patterns, here, a reference test pattern for comparison obtained by removing the write processing pattern from the reference test pattern, and tests other than the reference test pattern. Compare each test pattern excluding the write processing pattern from each pattern, obtain a reusability index indicating reusability for each test pattern other than the reference test pattern, and highly reusable pattern based on the reusable index The simulation order is preferentially assigned from (Step # 131). In the present embodiment, first, for each test pattern other than the reference test pattern, based on the storage contents of the registers RA to RE in the test pattern executed first, the registers that need to be reset, The execution time of the read process for the register that needs to be set is specified, and a reuse index indicating the reusability of the internal state stored in the simulation using the reference test pattern is obtained. Then, based on the reuse index, the execution order is set in order from the test pattern having the highest reusability. In the present embodiment, for each test pattern other than the reference test pattern, a register to be set differently from the register setting of the reference test pattern is specified as a register that needs to be reset. Then, for each test pattern other than the reference test pattern, the execution time of the read process executed at the earliest stage among the read processes for the registers that need to be reset is set as the reference reuse end time of the simulation. The time until the reference reuse end time is obtained as the reusable time. In this embodiment, the reusable time of each test pattern is defined as a reuse index for each test pattern, and the execution order is set preferentially from the test pattern having a large value of the reuse index.

より詳細には、例えば、グループGAにおいて、基準テストパターンTP1とテストパターンTP2を比較する場合、図8を参照すると、レジスタRA、RCの設定値が異なることから、レジスタRA、RCを再設定が必要なレジスタであると判定する。更に、図10に示すように、時間T3000でレジスタRAに対する読み出し処理が、時間T7000でレジスタRCに対する読み出し処理が実行されることから、テストパターンTP2では、レジスタRCより先に読み出し処理が実施されるレジスタRAに対する読み出し処理の時間T3000が、基準再利用終了時間となる。従って、テストパターンTP2では、シミュレーション開始時間T1から時間T3000までの間の時間を、基準テストパターンTP1のシミュレーションを再利用可能な再利用可能時間として求めることができる。同様にして、テストパターンTP3〜TP6はシミュレーション開始時間T1から時間T3000まで、テストパターンTP7、TP9はシミュレーション開始時間T1から時間T7000まで、テストパターンTP8はシミュレーション開始時間T1から時間T4000まで、テストパターンTP10はシミュレーション開始時間T1から時間T9000までの間の時間を、再利用可能時間として求めることができる。以上より、各テストパターンの再利用指標の値は、TP10>TP7=TP9>TP8>TP2=TP3=TP4=TP5=TP6となる。シミュレーションの実行順位はこの順に設定する。同様にして、グループGBのテストパターンTP12〜TP20の再利用指標の値は、TP20>TP16=TP19>TP12=TP13=TP14=TP17=TP18と求められる。   More specifically, for example, when comparing the reference test pattern TP1 and the test pattern TP2 in the group GA, referring to FIG. 8, since the setting values of the registers RA and RC are different, the registers RA and RC are reset. It is determined that the register is necessary. Furthermore, as shown in FIG. 10, since the read process for the register RA is executed at time T3000 and the read process for the register RC is executed at time T7000, the read process is performed before the register RC in the test pattern TP2. The time T3000 of the read process for the register RA is the reference reuse end time. Therefore, in the test pattern TP2, the time from the simulation start time T1 to the time T3000 can be obtained as a reusable time during which the simulation of the reference test pattern TP1 can be reused. Similarly, test patterns TP3 to TP6 are from simulation start time T1 to time T3000, test patterns TP7 and TP9 are from simulation start time T1 to time T7000, test pattern TP8 is from simulation start time T1 to time T4000, test pattern TP10. Can obtain the time between the simulation start time T1 and the time T9000 as the reusable time. From the above, the reuse index value of each test pattern is TP10> TP7 = TP9> TP8> TP2 = TP3 = TP4 = TP5 = TP6. The simulation execution order is set in this order. Similarly, the value of the reuse index of the test patterns TP12 to TP20 of the group GB is obtained as TP20> TP16 = TP19> TP12 = TP13 = TP14 = TP17 = TP18.

続いて、実行手順設定手段4は、図3に示すように、基準テストパターン以外のテストパターン夫々に対して、シミュレーション開始時に読み出す内部状態と、後に実行する他のテストパターンで用いることができる内部状態がある場合には、当該内部状態を記憶する時間を設定する(ステップ#132)。具体的には、本実施形態では、実行手順設定手段4は、先ず、シミュレーション開始時に読み出す内部状態を求めるテストパターンについて、先に実行するテストパターン夫々に対する再利用指標としての再利用可能時間を求め、再利用指標の値の最も大きいテストパターンを再利用テストパターンとして特定する。そして、シミュレーション開始時に読み出す内部状態を求めるテストパターンと再利用テストパターンの間で設定の異なるレジスタの内、最も早い段階で読み出し処理が実行されるレジスタに対する読み出し処理の実行時間を再利用終了時間とする。また、再利用終了時間における再利用テストパターンの内部状態を、シミュレーション開始時に読み出す再利用内部状態として設定する。このようにして、全ての基準テストパターン以外のテストパターン夫々について、再利用テストパターンと再利用内部状態を設定する。更に、本実施形態では、基準テストパターン以外のテストパターン夫々について、再利用終了時間後に実行される読み出し処理がある場合、この読み出し処理夫々について内部状態を記憶するように設定する。このようにして再利用内部状態を選択することで、各テストパターンのシミュレーションの再利用性を最大にすることができる。   Subsequently, as shown in FIG. 3, the execution procedure setting unit 4 uses an internal state that is read at the start of simulation for each test pattern other than the reference test pattern and an internal that can be used in another test pattern to be executed later. If there is a state, a time for storing the internal state is set (step # 132). Specifically, in the present embodiment, the execution procedure setting unit 4 first obtains a reusable time as a reuse index for each test pattern to be executed first for a test pattern for obtaining an internal state to be read at the start of simulation. The test pattern having the largest reuse index value is specified as the reuse test pattern. The execution time of the read process for the register in which the read process is executed at the earliest stage among the registers having different settings between the test pattern for obtaining the internal state to be read at the start of the simulation and the reuse test pattern is referred to as the reuse end time. To do. Further, the internal state of the reuse test pattern at the reuse end time is set as a reuse internal state that is read at the start of simulation. In this way, the reuse test pattern and the reuse internal state are set for each test pattern other than all the reference test patterns. Furthermore, in this embodiment, when there is a read process executed after the reuse end time for each test pattern other than the reference test pattern, the internal state is set to be stored for each read process. By selecting the reuse internal state in this way, the reusability of the simulation of each test pattern can be maximized.

より詳細には、ここでは、例えば、グループGAにおいて、基準テストパターンTP1に対する再利用指標の値が最も大きいテストパターンTP10の場合、再設定が必要なレジスタはレジスタREのみであり、このレジスタREに対する読み出し処理の実行時間T9000を再利用終了時間とし、基準テストパターンTP1のシミュレーションにおける時間T9000での内部状態を、テストパターンTP10で利用する再利用内部状態として選択する。テストパターンTP10の場合、時間T9000より後に実行されるレジスタに対する読み出し処理はないため、内部状態を記憶する時間は設定しない。同様に、次に基準テストパターンTP1に対する再利用指標の値が大きいテストパターンTP7については、基準テストパターンTP1の時間T7000における内部状態を、テストパターンTP7で利用する再利用内部状態として選択する。更に、テストパターンTP7では、再利用終了時間T7000より後、時間T9000で読み出し処理が実行されるので、時間T9000における内部状態を記憶するように設定する。また、基準テストパターンTP1に対する再利用指標の値がテストパターンTP7と同じであるテストパターンTP9については、基準テストパターンTP1に対する再利用指標の値より、テストパターンTP7に対する再利用指標の値が大きくなることから、テストパターンTP7を再利用テストパターンとし、テストパターンTP7の内部状態を利用する。テストパターンTP9は、テストパターンTP7とレジスタREの設定が異なることから、レジスタREの読み出し時間T9000を再利用終了時間とし、テストパターンTP7のシミュレーションにおける時間T9000での内部状態を再利用内部状態として設定する。テストパターンTP7の場合、時間T9000より後に実行されるレジスタに対する読み出し処理はないため、内部状態を記憶する時間は設定しない。同様にして、グループGA、GBの各テストパターンについて、シミュレーション開始時に読み出す再利用内部状態と、後に実行する他のテストパターンで利用するために記憶する内部状態を設定する。   More specifically, here, for example, in the case of the test pattern TP10 having the largest reuse index value for the reference test pattern TP1 in the group GA, the only register that needs to be reset is the register RE. The execution time T9000 of the reading process is set as the reuse end time, and the internal state at the time T9000 in the simulation of the reference test pattern TP1 is selected as the reuse internal state used in the test pattern TP10. In the case of the test pattern TP10, since there is no read process for a register executed after the time T9000, the time for storing the internal state is not set. Similarly, for the test pattern TP7 having the next largest reuse index value for the reference test pattern TP1, the internal state at the time T7000 of the reference test pattern TP1 is selected as the reuse internal state used by the test pattern TP7. Further, in the test pattern TP7, since the read process is executed at time T9000 after the reuse end time T7000, the internal state at time T9000 is set to be stored. Further, for the test pattern TP9 in which the value of the reuse index for the reference test pattern TP1 is the same as that of the test pattern TP7, the value of the reuse index for the test pattern TP7 is larger than the value of the reuse index for the reference test pattern TP1. Therefore, the test pattern TP7 is used as a reuse test pattern, and the internal state of the test pattern TP7 is used. Since the test pattern TP9 differs from the setting of the register RE in the test pattern TP7, the read time T9000 of the register RE is set as the reuse end time, and the internal state at the time T9000 in the simulation of the test pattern TP7 is set as the reuse internal state. To do. In the case of the test pattern TP7, since there is no read process for a register executed after the time T9000, the time for storing the internal state is not set. Similarly, for each test pattern of the groups GA and GB, a reuse internal state that is read at the start of simulation and an internal state that is stored for use in another test pattern that is executed later are set.

引き続き、実行手順設定手段4は、図3に示すように、基準テストパターン以外のテストパターンについて、再設定が必要なレジスタとその値を抽出する(ステップ#133)。具体的には、実行手順設定手段4は、再設定が必要なレジスタを求めるテストパターンについて、再利用終了時間における読み出し処理及び再利用終了時間後に実行される読み出し処理の何れかにおいて参照されるレジスタを特定し、特定されたレジスタの内、ステップ#132で求めた再利用テストパターンのレジスタ設定と異なる設定値を有するレジスタを、再設定が必要なレジスタとして特定し、補助記憶装置11に記憶する。同様にして、基準テストパターン以外のテストパターン夫々について、再設定が必要なレジスタを特定し、補助記憶装置11に記憶する。より詳細には、例えば、テストパターンTP2は、基準テストパターンTP1の時間T3000での内部状態を読み出すように設定されており、時間T3000以後、レジスタRA、RB、RC、REに対する読み出し処理が実行される。更に、図8に示すように、レジスタRA、RB、RC、REの内、レジスタRA及びRCの設定が、再利用テストパターンである基準テストパターンTP1の設定値と異なるため、レジスタRA及びRCを再設定が必要なレジスタとして特定する。そして、レジスタRAを特定する情報とその設定値‘1’、レジスタRCを特定する情報とその設定値‘1’を補助記憶装置11に記憶する。   Subsequently, as shown in FIG. 3, the execution procedure setting unit 4 extracts registers and values that need to be reset for test patterns other than the reference test pattern (step # 133). Specifically, the execution procedure setting unit 4 refers to a register that is referred to in any one of a read process at a reuse end time and a read process executed after the reuse end time for a test pattern for obtaining a register that needs to be reset. Among the specified registers, a register having a setting value different from the register setting of the reuse test pattern obtained in step # 132 is specified as a register that needs to be reset, and is stored in the auxiliary storage device 11. . Similarly, a register that needs to be reset for each test pattern other than the reference test pattern is specified and stored in the auxiliary storage device 11. More specifically, for example, the test pattern TP2 is set so as to read the internal state of the reference test pattern TP1 at time T3000, and after time T3000, read processing for the registers RA, RB, RC, RE is executed. The Further, as shown in FIG. 8, among the registers RA, RB, RC, and RE, the settings of the registers RA and RC are different from the set values of the reference test pattern TP1, which is the reuse test pattern. Identifies the register that needs to be reset. Then, information specifying the register RA and its set value “1”, and information specifying the register RC and its set value “1” are stored in the auxiliary storage device 11.

尚、図8及び図10より、グループGBのテストパターンTP13及びTP17については、テスト終了までテストパターン12と異なるレジスタ値が読み出されることがなく、テストパターンTP15については、テスト終了まで基準テストパターンと異なるレジスタ値が参照されることがないため、再設定が必要なレジスタが存在しないことから、シミュレーションの実行は不要であると判定する。   8 and 10, for the test patterns TP13 and TP17 of the group GB, register values different from those of the test pattern 12 are not read until the end of the test, and for the test pattern TP15, the reference test pattern and the test pattern TP15 are not read. Since different register values are not referred to, there is no register that needs to be reset, so that it is determined that the execution of the simulation is unnecessary.

ここで、図11は、上記ステップ#130の実行手順設定工程の実行結果として、グループGA、GBの各テストパターンについて、グループ内でのシミュレーションの実行順位、シミュレーション実行開始時に読み出す再利用内部状態、後に実行する他のテストパターンで用いるために記憶する内部状態、シミュレーション実行開始時に再設定が必要なレジスタとその再設定値を夫々示している。   Here, FIG. 11 shows, as the execution result of the execution procedure setting step in step # 130, for each test pattern of the groups GA and GB, the execution order of simulation within the group, the internal state of reuse read out at the start of simulation execution, An internal state to be stored for use in another test pattern to be executed later, a register that needs to be reset at the start of simulation execution, and its reset value are shown.

引き続き、本発明装置1は、図3に示すように、機能検証手段5により、グループGA、GB毎に、基準テストパターン以外のテストパターン夫々について、選択した内部状態を用いて機能検証を実行する(ステップ#140、機能検証工程)。具体的には、機能検証手段5は、図11に示すシミュレーションの実行順位に基づいて、シミュレーションを実行するテストパターンを選択する。機能検証手段5は、選択された選択テストパターンについて、先ず、図11に示すステップ#130の実行手順設定工程の実行結果から再利用内部状態を取得し、取得した再利用内部状態に基づいて、半導体装置100の内部状態を設定する。更に、図11に示すステップ#130の実行手順設定工程の実行結果に基づいて、再設定が必要なレジスタとその値を取得し、半導体装置100の再設定が必要なレジスタに取得した値を再設定する。そして、再利用終了時間から選択テストパターンのシミュレーションを開始する。シミュレーション実行中のテストパターンにおいて、内部状態を記憶する時間が設定されている場合には、その時間における内部状態を記憶する。同様にして、機能検証手段5は、図11に示すシミュレーションの実行順位に従って、基準テストパターン以外の全てのテストパターン(ここでは、更に、ステップ#133でシミュレーションの実行が不要であると判定されたテストパターンを除く)についてシミュレーションを実行する。より詳細には、機能検証手段5は、グループGAについては、先ず、テストパターンTP10のシミュレーションを実行する。テストパターンTP10のシミュレーションにおいて、機能検証手段5は、基準テストパターンTP1の時間T9000における内部状態を読み出し、該内部状態を半導体装置100の設計データに設定する。更に、レジスタブロック102のレジスタREに‘1’を再設定した上で、時間T9000からシミュレーションを開始する。レジスタREの再設定は、本実施形態では、シミュレータの機能を利用して直接レジスタ値を上書きして行なうが、正規のレジスタ書き込み手順で書き込む等、別の手段を取ってもよい。同様にして、グループGA及びグループGBの残りのテストパターンについてシミュレーションを実行する。   Subsequently, as shown in FIG. 3, the device 1 of the present invention performs functional verification using the selected internal state for each test pattern other than the reference test pattern for each of the groups GA and GB by the function verification unit 5. (Step # 140, function verification process). Specifically, the function verification unit 5 selects a test pattern for executing the simulation based on the execution order of the simulation shown in FIG. For the selected selection test pattern, the function verification means 5 first acquires the reuse internal state from the execution result of the execution procedure setting step of step # 130 shown in FIG. 11, and based on the acquired reuse internal state, The internal state of the semiconductor device 100 is set. Further, based on the execution result of the execution procedure setting step of step # 130 shown in FIG. 11, the registers that need to be reset and their values are acquired, and the values that have been acquired for the registers that need to be reset of the semiconductor device 100 are re- Set. Then, the simulation of the selected test pattern is started from the reuse end time. In the test pattern during simulation execution, when the time for storing the internal state is set, the internal state at that time is stored. Similarly, the function verification means 5 determines that all test patterns other than the reference test pattern (in this case, further, simulation execution is unnecessary in step # 133) according to the simulation execution order shown in FIG. Execute simulation for (except test pattern). More specifically, for the group GA, the function verification unit 5 first executes a simulation of the test pattern TP10. In the simulation of the test pattern TP10, the function verification unit 5 reads the internal state of the reference test pattern TP1 at time T9000 and sets the internal state in the design data of the semiconductor device 100. Furthermore, after resetting “1” to the register RE of the register block 102, the simulation is started from time T9000. In this embodiment, the resetting of the register RE is performed by directly overwriting the register value by using the function of the simulator, but other means such as writing by a normal register writing procedure may be taken. Similarly, the simulation is executed for the remaining test patterns of the group GA and the group GB.

以上より、本実施形態では、本発明装置1により本発明方法を実行することで、テストパターンTP2の時間T1〜時間T3000の間、テストパターンTP3の時間T1〜時間T4000の間、テストパターンTP4の時間T1〜時間T7000の間、テストパターンTP5の時間T1〜時間T7000の間、テストパターンTP6の時間T1〜時間T9000の間、テストパターンTP7の時間T1〜時間T7000の間、テストパターンTP8の時間T1〜時間T4000の間、テストパターンTP9の時間T1〜時間T9000の間、テストパターンTP10の時間T1〜時間T9000の間、テストパターンTP12の時間T1〜時間T4000の間、テストパターンTP14の時間T1〜時間T9000の間、テストパターンTP16の時間T1〜時間T5000の間、テストパターンTP18の時間T1〜時間T5000の間、テストパターンTP19の時間T1〜時間T9000の間、テストパターンTP20の時間T1〜時間T9000の間のシミュレーションと、テストパターンTP13、TP15、TP17に対するシミュレーションを省略することができ、時間T1〜時間T3の「初期化パターン」及び「ROM103からの設定値の読み出しパターン」までを省略可能な従来技術に比べ、大幅にテストパターンの省略効果を高めることができる。   As described above, in the present embodiment, by executing the method of the present invention by the device 1 of the present invention, the test pattern TP4 is changed between the time T1 to the time T3000 of the test pattern TP2, the time T1 to the time T4000 of the test pattern TP3. Between time T1 and time T7000, between time T1 and time T7000 of test pattern TP5, between time T1 and time T9000 of test pattern TP6, between time T1 and time T7000 of test pattern TP7, time T1 of test pattern TP8 For time T4000, for time T1 to time T9000 for test pattern TP9, for time T1 to time T9000 for test pattern TP10, for time T1 to time T4000 for test pattern TP12, for time T1 to time for test pattern TP14 During T9000, test pattern T The simulation and test between 16 times T1 to T5000, between time T1 and time T5000 of the test pattern TP18, between time T1 and time T9000 of the test pattern TP19, and between time T1 and time T9000 of the test pattern TP20 The simulation for the patterns TP13, TP15, and TP17 can be omitted, and the test is greatly compared with the conventional technique that can omit the "initialization pattern" and the "reading pattern of the set value from the ROM 103" from time T1 to time T3. The pattern omission effect can be enhanced.

〈第2実施形態〉
本発明方法及び本発明装置の第2実施形態について、図12〜図18を基に説明する。本実施形態では、上記第1実施形態とは、本発明方法及び本発明装置で用いる半導体装置及びテストパターンの構成が異なる場合について説明する。尚、本実施形態の本発明装置1の構成は、図1及び図2に示す上記第1実施形態の構成と同じである。
Second Embodiment
A second embodiment of the method and the device of the present invention will be described with reference to FIGS. In the present embodiment, the case where the configuration of the semiconductor device and the test pattern used in the method and the device of the present invention is different from that of the first embodiment will be described. The configuration of the inventive device 1 of the present embodiment is the same as that of the first embodiment shown in FIGS. 1 and 2.

先ず、本実施形態において、本発明方法及び本発明装置により機能検証を行なう半導体装置と機能検証に用いるテストパターンについて、図12及び図13を基に説明する。ここで、図12は、図2に示す本発明装置1及び本発明方法により機能検証を行なう半導体装置200の一構成例を示しており、図13は、本実施形態で用いるテストパターンTP21〜TP25の一構成例を示している。具体的には、半導体装置200は、図12に示すように、半導体装置200の主要動作を実現する論理回路で構成されるコアブロック201、回路動作の各種パラメータを一時的に記憶する3つのレジスタRA〜RCからなるレジスタブロック202、及び、半導体装置200の初期設定値や動作プログラム等を記憶したROM203を備えて構成され、これらはバスライン204を介して接続されている。コアブロック201は、機能ブロックFAを備えており、レジスタブロック202及びROM203に対するアクセス動作を適宜実行するように構成されている。本実施形態では、レジスタブロック202の3つのレジスタRA〜RCは、夫々、初期値として'1'が設定されている。   First, in the present embodiment, a semiconductor device that performs function verification by the method and apparatus of the present invention and a test pattern used for function verification will be described with reference to FIGS. Here, FIG. 12 shows one configuration example of the semiconductor device 200 that performs functional verification by the device 1 of the present invention and the method of the present invention shown in FIG. 2, and FIG. 13 shows test patterns TP21 to TP25 used in the present embodiment. An example of the configuration is shown. Specifically, as shown in FIG. 12, the semiconductor device 200 includes a core block 201 composed of a logic circuit that realizes the main operation of the semiconductor device 200, and three registers that temporarily store various parameters of the circuit operation. A register block 202 composed of RA to RC, and a ROM 203 that stores initial setting values, operation programs, and the like of the semiconductor device 200 are provided, and these are connected via a bus line 204. The core block 201 includes a functional block FA, and is configured to appropriately execute an access operation to the register block 202 and the ROM 203. In the present embodiment, “1” is set as an initial value for each of the three registers RA to RC of the register block 202.

また、本実施形態では、図13に示すように、半導体装置200の設計データを機能検証するためのテストパターンとして、テストパターンTP21〜TP25が用いられる。本実施形態のテストパターンTP21、TP23〜TP25は、夫々、図13に示すように、レジスタ設定r21〜r24を用いて半導体装置200のレジスタRA〜RCを設定して機能ブロックFAに対する機能検証を行なうように構成され、テストパターンTP22は、レジスタ設定を行わず、初期設定の状態で機能検証を行なうように構成されている。具体的には、テストパターンTP21、TP23、TP24は、時間T1〜T3の「初期化パターン」、時間T3〜T100の「ROM203からの設定値の読み出しパターン」、時間T100〜T130の「レジスタ設定パターン」、時間T130〜T10000の「半導体装置200の機能ブロックに対する検証パターン」から構成されている。テストパターンTP22は、時間T1〜T3の「初期化パターン」、時間T3〜T100の「ROM203からの設定値の読み出しパターン」、時間T100〜T9970の「半導体装置200の機能ブロックに対する検証パターン」から構成されており、テストパターンTP25は、時間T1〜T3の「初期化パターン」、時間T3〜T100の「ROM203からの設定値の読み出しパターン」、時間T100〜T120の「レジスタ設定パターン」、時間T120〜T9990の「半導体装置200の機能ブロックに対する検証パターン」から構成されている。尚、本実施形態では、簡単のために、テストパターンTP21〜TP25は、全て、半導体装置200のコアブロック201の機能ブロックAに対する機能検証を行なうテストパターンとなっているが、半導体装置200のコアブロック201が他の機能ブロックを備える場合には、当該機能ブロックに対する機能検証を行なうテストパターンを用意し、これらを機能検証を行なう機能ブロック毎にグループに分類する。   In this embodiment, as shown in FIG. 13, test patterns TP21 to TP25 are used as test patterns for functional verification of design data of the semiconductor device 200. As shown in FIG. 13, the test patterns TP21 and TP23 to TP25 of the present embodiment set the registers RA to RC of the semiconductor device 200 using the register settings r21 to r24, and perform the function verification for the function block FA. The test pattern TP22 is configured to perform functional verification in an initial setting state without performing register setting. Specifically, the test patterns TP21, TP23, and TP24 are “initialization pattern” from time T1 to T3, “reading pattern of setting value from ROM 203” from time T3 to T100, and “register setting pattern from time T100 to T130. ”,“ Verification pattern for functional block of semiconductor device 200 ”of time T130 to T10000. The test pattern TP22 includes an “initialization pattern” from time T1 to T3, a “reading pattern of a set value from the ROM 203” from time T3 to T100, and a “verification pattern for the functional block of the semiconductor device 200” from time T100 to T9970. The test pattern TP25 includes an “initialization pattern” at times T1 to T3, a “reading pattern for setting values from the ROM 203” at times T3 to T100, a “register setting pattern” at times T100 to T120, and a time T120 to T9990 “Verification pattern for functional block of semiconductor device 200”. In the present embodiment, for simplicity, the test patterns TP21 to TP25 are all test patterns for performing functional verification on the functional block A of the core block 201 of the semiconductor device 200. When the block 201 includes other functional blocks, test patterns for performing functional verification for the functional block are prepared, and these are classified into groups for each functional block for performing functional verification.

本実施形態の本発明方法について、図3、及び、図12〜図18を基に説明する。尚、本発明方法の処理手順の基本的な構成は、図3に示す上記第1実施形態の処理手順と同じである。   The method of the present invention according to this embodiment will be described with reference to FIGS. 3 and 12 to 18. The basic configuration of the processing procedure of the method of the present invention is the same as the processing procedure of the first embodiment shown in FIG.

先ず、本発明装置1は、図3に示すように、半導体装置の設計データ及び当該設計データの機能検証のためのテストパターンを取得する(ステップ#101)。本実施形態では、上述した図12に示す半導体装置200の設計データと、図13に示すテストパターンのデータを夫々取得する。   First, as shown in FIG. 3, the inventive device 1 acquires design data of a semiconductor device and a test pattern for functional verification of the design data (step # 101). In the present embodiment, the design data of the semiconductor device 200 shown in FIG. 12 and the test pattern data shown in FIG. 13 are acquired.

続いて、本発明装置1は、図3に示すように、分類手段2により、テストパターンTP21〜TP25夫々を、レジスタRA〜RCに対するレジスタ設定パターンが含まれるテストパターンについてはレジスタ設定パターンを除く比較用テストパターンを用いて比較して、テストパターンTP21〜TP25を所定のテストパターン群に分類する(ステップ#110、分類工程)。   Subsequently, as shown in FIG. 3, the device 1 of the present invention uses the classification unit 2 to compare the test patterns TP21 to TP25, and the test pattern including the register setting patterns for the registers RA to RC, excluding the register setting pattern. The test patterns TP21 to TP25 are classified into a predetermined test pattern group (step # 110, classification process).

具体的には、分類手段2は、先ず、テストパターンTP21〜TP25について、レジスタ設定パターンを検索し、レジスタ設定パターンを含むテストパターンTP21、TP23〜TP25についてはレジスタ設定パターンを除いた比較用テストパターンを抽出する(ステップ#111)。レジスタ設定パターンを含まないテストパターンTP22については、当該テストパターンをそのまま比較用テストパターンとして用いる。本実施形態では、図13に基づいて、テストパターンTPTP21、TP23、TP24から時間T100〜T130の「レジスタ設定パターン」を、テストパターンTP25から時間T100〜T120の「レジスタ設定パターン」を除いて比較用テストパターンとする。   Specifically, the classification means 2 first searches for the register setting pattern for the test patterns TP21 to TP25, and for the test patterns TP21 and TP23 to TP25 including the register setting pattern, the comparison test pattern excluding the register setting pattern. Is extracted (step # 111). For the test pattern TP22 that does not include the register setting pattern, the test pattern is used as it is as a comparison test pattern. In the present embodiment, based on FIG. 13, the “register setting pattern” from the test patterns TPTP21, TP23, and TP24 to the time T100 to T130 and the “register setting pattern” from the test pattern TP25 to the time T100 to T120 are excluded. The test pattern.

更に、分類手段2は、第1実施形態と同様に、ステップ#111においてレジスタ設定パターンが検索される毎に、書き込み処理されたレジスタとその記憶内容を補助記憶装置11に記憶する。ここで、図14は、レジスタ設定パターンの一例を示している。図14において、書き込み処理の実行を指示するwrite_en信号が‘1'になった時に、書き込み処理を行なうレジスタのアドレスを指定するaddr[15:0]信号の値を判定することで、書き込み処理を実行するレジスタを判定することができる。ここでは、レジスタRAのアドレスは0x0100、レジスタRBのアドレスは0x0101、レジスタRCのアドレスは0x0102に設定されている。そして、write_en信号が‘1'になった時に、data[15:0]信号の値を、addr[15:0]信号で指定されたレジスタに書き込む。また、図15は、図13に示すテストパターンTP21〜TP25のレジスタ設定パターンr21〜r24により、各レジスタRA〜RCに書き込まれる値を示している。より具体的には、図13に示すように、テストパターンTP1では、時間T100からT130までのレジスタ設定パターンr21により、レジスタRA〜RCに夫々‘0’が書き込まれ、テストパターンTP2では、初期設定(レジスタRA〜RCが全て‘1’)のままでレジスタRA〜RCに対する書き込み処理は実行されない。同様に、テストパターンTP5では、時間T100からT120までのレジスタ設定パターンr24により、レジスタRAに‘0’、レジスタRBに‘1’が書き込まれるが、レジスタRCに対する書き込み処理は実行されず、レジスタRCの値は初期値‘1’のままとなっている。尚、図12では図14に示す各信号線を図示していないが、本実施形態では、上記第1実施形態と同様に、図14に示す各信号線は、半導体装置200のコアブロック201に入力される構成となっている。   Further, as in the first embodiment, the classification unit 2 stores the write-processed register and its storage contents in the auxiliary storage device 11 each time a register setting pattern is searched in step # 111. Here, FIG. 14 shows an example of a register setting pattern. In FIG. 14, when the write_en signal for instructing the execution of the write process becomes “1”, the write process is determined by determining the value of the addr [15: 0] signal that specifies the address of the register that performs the write process. The register to be executed can be determined. Here, the address of the register RA is set to 0x0100, the address of the register RB is set to 0x0101, and the address of the register RC is set to 0x0102. Then, when the write_en signal becomes “1”, the value of the data [15: 0] signal is written to the register specified by the addr [15: 0] signal. FIG. 15 shows values written in the registers RA to RC by the register setting patterns r21 to r24 of the test patterns TP21 to TP25 shown in FIG. More specifically, as shown in FIG. 13, in the test pattern TP1, '0' is written in the registers RA to RC by the register setting pattern r21 from time T100 to T130, respectively, and the initial setting is performed in the test pattern TP2. Write processing to the registers RA to RC is not executed while the registers RA to RC are all “1”. Similarly, in the test pattern TP5, “0” is written to the register RA and “1” is written to the register RB by the register setting pattern r24 from time T100 to T120, but the writing process to the register RC is not executed, and the register RC The value of remains the initial value “1”. In FIG. 12, each signal line shown in FIG. 14 is not shown, but in this embodiment, each signal line shown in FIG. 14 is connected to the core block 201 of the semiconductor device 200 as in the first embodiment. It is configured to be input.

引き続き、分類手段2は、図3に示すように、テストパターンTP21、TP23〜TP25の比較用テストパターン及びテストパターンTP22を夫々比較して(ステップ#112)、完全一致するもの同士をグループ化する(ステップ#113)。本実施形態では、テストパターンTP21、TP23、TP24については、時間T100からT130までの「レジスタ設定パターン」を除外した比較用テストパターンを、テストパターンTP25については、時間T100からT120までの「レジスタ設定パターン」を除外した比較用テストパターンを用いて、テストパターンまたは比較用パターンが完全に一致したものを比較する。尚、本実施形態では、図13に示すように、テストパターンTP21、TP23〜TP25の比較用パターン及びテストパターンTP22は、全て、「初期化パターン」、「ROM203からの設定値の読み出しパターン」及び「半導体装置200の機能ブロックFAに対する検証パターン」から構成されているので、図15に示すように、1つのグループGCに分類することができる。   Subsequently, as shown in FIG. 3, the classification unit 2 compares the test patterns TP21 and TP23 to TP25 for comparison and the test pattern TP22 (step # 112), and groups those that completely match each other. (Step # 113). In the present embodiment, for the test patterns TP21, TP23, and TP24, a comparison test pattern excluding the “register setting pattern” from time T100 to T130 is used. For the test pattern TP25, “register setting from time T100 to T120 is used. Using the test pattern for comparison excluding the “pattern”, the test pattern or the completely matched pattern for comparison is compared. In the present embodiment, as shown in FIG. 13, the test patterns TP21 and TP23 to TP25 are all compared with the comparison pattern and the test pattern TP22 as “initialization pattern”, “set value read pattern from ROM 203” and Since it is composed of “verification pattern for the functional block FA of the semiconductor device 200”, it can be classified into one group GC as shown in FIG.

引き続き、本発明装置1は、図3に示すように、内部状態記憶手段3により、テストパターンTP21〜TP25から基準テストパターンを選択し、基準テストパターンに含まれる読み出し処理パターンを特定し、読み出し処理パターン毎に内部状態を記憶する(ステップ#120、内部状態記憶工程)。   Subsequently, as shown in FIG. 3, the device 1 of the present invention selects a reference test pattern from the test patterns TP21 to TP25 by the internal state storage means 3, specifies a read processing pattern included in the reference test pattern, and performs a read process. The internal state is stored for each pattern (step # 120, internal state storage step).

具体的には、本実施形態の内部状態記憶手段3は、先ず、テストパターンTP21〜TP25から基準テストパターンを選択する(ステップ#121)。本実施形態では、レジスタ設定パターンが含まれておらず、読み出し処理パターンの対応関係が特定し易いと考えられるテストパターンTP22を基準テストパターンとして選択する。尚、上記第1実施形態と同様に、基準テストパターンの選択は、任意であり、他のテストパターンを基準テストパターンとして選択しても良い。続いて、本発明装置1は、ステップ#101で取得した設計データと基準テストパターンTP22を用いてシミュレーションを実行する(ステップ#122)。   Specifically, the internal state storage unit 3 of the present embodiment first selects a reference test pattern from the test patterns TP21 to TP25 (step # 121). In the present embodiment, a test pattern TP22 that does not include a register setting pattern and is considered to easily specify the correspondence relationship of the read processing patterns is selected as a reference test pattern. As in the first embodiment, the selection of the reference test pattern is arbitrary, and another test pattern may be selected as the reference test pattern. Subsequently, the device 1 of the present invention executes a simulation using the design data acquired in step # 101 and the reference test pattern TP22 (step # 122).

更に、内部状態記憶手段3は、上記第1実施形態と同様に、基準テストパターンTP22を用いたシミュレーションにおいて、レジスタブロック202を構成するレジスタRA〜RCの何れかに対し読み出し動作が行なわれると、そのときの半導体装置200の内部状態を、補助記憶装置11に記憶する。尚、本実施形態において、内部状態を記憶する読み出し処理は、機能ブロックFAに対する機能検証の間に実施されるレジスタRA〜RCに対する読み出し処理を対象としており、半導体装置200のROM203に対する読み出し処理は含まない。   Further, as in the first embodiment, the internal state storage unit 3 performs a read operation on any of the registers RA to RC constituting the register block 202 in the simulation using the reference test pattern TP22. The internal state of the semiconductor device 200 at that time is stored in the auxiliary storage device 11. In the present embodiment, the read process for storing the internal state is intended for the read process for the registers RA to RC performed during the function verification for the functional block FA, and includes the read process for the ROM 203 of the semiconductor device 200. Absent.

ここで、図16は、読み出し処理パターンの一例と内部状態を記憶するタイミングを示している。具体的には、図16において、RA_read_en信号が‘1’になると、半導体装置200は、レジスタRAの値を読み出してdata[15:0]信号として出力する。同様にして、図示しないが、半導体装置200は、RB_read_en信号が‘1’になると、レジスタRBの値を読み出してdata[15:0]信号として出力し、RC_read_en信号が‘1’になると、レジスタRCの値を読み出してdata[15:0]信号として出力する。そして、内部状態記憶手段3は、図16の破線Xが示すタイミングで、addr[15:0]信号により特定されるレジスタとdata[15:0]信号の値、及び、コアブロック201を構成する各記憶素子の記憶内容を記憶する。尚、図12では図16に示す各信号線を図示していないが、本実施形態では、図14に示す各信号線と同様に、図16に示す各信号線は、半導体装置200のコアブロック201に入力される構成となっている。ここで、図17は、本実施形態において、読み出し処理の実行時間である参照時間、読み出し処理を実行した参照レジスタ、コアブロック201を構成する各記憶素子の記憶内容を記憶する保存時間の関係を示している。図17に示すように、本実施形態では、基準テストパターンTP22において、時間T2970でレジスタRAに対する読み出し処理が、時間T4970でレジスタRBに対する読み出し処理が、時間T6970でレジスタRCに対する読み出し処理が夫々実行されている。   Here, FIG. 16 shows an example of the read processing pattern and the timing for storing the internal state. Specifically, in FIG. 16, when the RA_read_en signal becomes “1”, the semiconductor device 200 reads the value of the register RA and outputs it as a data [15: 0] signal. Similarly, although not illustrated, when the RB_read_en signal becomes “1”, the semiconductor device 200 reads the value of the register RB and outputs it as the data [15: 0] signal, and when the RC_read_en signal becomes “1”, The RC value is read and output as a data [15: 0] signal. The internal state storage unit 3 configures the register specified by the addr [15: 0] signal, the value of the data [15: 0] signal, and the core block 201 at the timing indicated by the broken line X in FIG. The storage contents of each storage element are stored. In FIG. 12, each signal line shown in FIG. 16 is not shown, but in this embodiment, each signal line shown in FIG. 16 is a core block of the semiconductor device 200, similarly to each signal line shown in FIG. 201 is input. Here, FIG. 17 shows the relationship between the reference time that is the execution time of the read process, the reference register that executed the read process, and the storage time for storing the storage contents of each storage element constituting the core block 201 in this embodiment. Show. As shown in FIG. 17, in this embodiment, in the reference test pattern TP22, a read process for the register RA is performed at time T2970, a read process for the register RB is performed at time T4970, and a read process for the register RC is performed at time T6970. ing.

引き続き、本発明装置1は、図3に示すように、実行手順設定手段4により、基準テストパターンTP22における読み出し処理を実行するレジスタとその記憶内容、及び、テストパターンTP21、TP23〜TP25夫々における読み出し処理を実行するレジスタとその記憶内容に基づいて、テストパターンTP21、TP23〜TP25の実行順序を設定し、基準テストパターンTP22以外のテストパターンTP21、TP23〜TP25について、利用する内部状態を選択する(ステップ#130、実行手順設定工程)。   Subsequently, as shown in FIG. 3, the apparatus 1 of the present invention uses the execution procedure setting unit 4 to read out the register for executing the reading process in the reference test pattern TP22 and the storage contents thereof, and the reading in each of the test patterns TP21 and TP23 to TP25. The execution order of the test patterns TP21 and TP23 to TP25 is set based on the register for executing the process and the stored contents, and the internal state to be used is selected for the test patterns TP21 and TP23 to TP25 other than the reference test pattern TP22 ( Step # 130, execution procedure setting step).

具体的には、実行手順設定手段4は、最初に、基準テストパターンTP22と、テストパターンTP21、TP23〜TP25夫々からレジスタ設定パターンを除いた比較用テストパターン夫々を比較し、テストパターンTP21、TP23〜TP25夫々について再利用性を示す再利用指標を求め、再利用指標に基づいて再利用性の高いパターンから優先的にシミュレーション順序を割り当てる(ステップ#131)。先ず、第1実施形態と同様に、基準テストパターン以外のテストパターン毎に、先に実行されるテストパターンにおけるレジスタRA〜RC夫々の記憶内容に基づいて、記憶内容の再設定が必要なレジスタ、及び、再設定が必要なレジスタに対する読み出し処理の実行時間を特定して、基準テストパターンを用いたシミュレーションで記憶した内部状態の再利用性を示す再利用指標を求める。そして、再利用指標に基づいて再利用性が高いテストパターンから順に実行順序を設定する。本実施形態では、テストパターンTP21、TP23〜TP25夫々について、初期設定値から値が変更されるレジスタを再設定が必要なレジスタとして特定する。そして、テストパターンTP21、TP23〜TP25夫々について、再設定が必要なレジスタに対する読み出し処理の内、最も早い段階で実行される読み出し処理の実行時間をシミュレーションの基準再利用終了時間とし、シミュレーションの開始から基準再利用終了時間までの間の時間を再利用可能時間として求める。本実施形態では、上記第1実施形態と同様に、各テストパターンの再利用可能時間をテストパターン夫々の再利用指標として規定し、再利用指標の値の大きいテストパターンから優先的に実行順位を設定する。   Specifically, the execution procedure setting unit 4 first compares the reference test pattern TP22 with each of the comparison test patterns obtained by removing the register setting patterns from the test patterns TP21 and TP23 to TP25, and the test patterns TP21 and TP23. A reuse index indicating reusability is obtained for each of TP25, and a simulation order is preferentially assigned from a pattern with high reusability based on the reuse index (step # 131). First, as in the first embodiment, for each test pattern other than the reference test pattern, a register that requires resetting of the storage content based on the storage content of each of the registers RA to RC in the previously executed test pattern, Then, the execution time of the read process for the register that needs to be reset is specified, and a reuse index indicating the reusability of the internal state stored in the simulation using the reference test pattern is obtained. Then, based on the reuse index, the execution order is set in order from the test pattern having the highest reusability. In the present embodiment, for each of the test patterns TP21 and TP23 to TP25, a register whose value is changed from the initial setting value is specified as a register that needs to be reset. Then, for each of the test patterns TP21, TP23 to TP25, the execution time of the read process executed at the earliest stage among the read processes for the registers that need to be reset is set as the simulation reference reuse end time, and from the start of the simulation The time until the reference reuse end time is obtained as the reusable time. In the present embodiment, similar to the first embodiment, the reusable time of each test pattern is defined as a reuse index for each test pattern, and the execution order is preferentially set from the test pattern having a large reuse index value. Set.

より詳細には、例えば、基準テストパターンTP22とテストパターンTP21を比較する場合、図15を参照すると、レジスタRA〜RCの設定値が全て異なることから、レジスタRA〜RCを全て再設定が必要なレジスタであると判定する。ここで、基準テストパターンTP22では、図17に示すように、時間T2970でレジスタRAに対する読み出し処理が、時間T4970でレジスタRBに対する読み出し処理が、時間T6970でレジスタRCに対する読み出し処理が実行される。これに対応して、テストパターンTP21では、レジスタ設定パターンに係る時間T30(T130−T100)を基準テストパターンTP22におけるレジスタRAに対する読み出し処理の実行時間T2970に加えた時間T3000で、レジスタRAに対する読み出し処理が実行される。同様にして、テストパターンTP21では、時間T5000でレジスタRBに対する読み出し処理が、時間T7000でレジスタRCに対する読み出し処理が実行される。そして、テストパターンTP21では、最も早い段階で読み出し処理が実施されるレジスタRAに対する読み出し処理の時間T3000が、基準再利用終了時間となる。従って、テストパターンTP21では、シミュレーション開始時間T1から時間T3000までの間の時間を再利用可能時間として求めることができる。同様にして、テストパターンTP23は、シミュレーション開始時間T1から時間T5000(T4970+T30)まで、テストパターンTP24は、シミュレーション開始時間T1から時間T7000(T6970+T30)まで、テストパターンTP25は、シミュレーション開始時間T1から時間T2990(T2970+T20)までの時間を再利用可能時間として求めることができる。以上より、各テストパターンの再利用指標の値は、TP24>TP23>TP21>TP25となる。シミュレーションの実行順位はこの順に設定する。   More specifically, for example, when comparing the reference test pattern TP22 and the test pattern TP21, referring to FIG. 15, all the setting values of the registers RA to RC are different, so that all the registers RA to RC need to be reset. Judged to be a register. Here, in the reference test pattern TP22, as shown in FIG. 17, the read process for the register RA is executed at time T2970, the read process for the register RB is executed at time T4970, and the read process for the register RC is executed at time T6970. Correspondingly, in the test pattern TP21, the time T30 (T130-T100) related to the register setting pattern is added to the execution time T2970 of the read process for the register RA in the reference test pattern TP22, and the read process for the register RA is performed. Is executed. Similarly, in the test pattern TP21, a read process for the register RB is executed at time T5000, and a read process for the register RC is executed at time T7000. In the test pattern TP21, the time T3000 of the read process for the register RA in which the read process is performed at the earliest stage is the reference reuse end time. Therefore, in the test pattern TP21, the time between the simulation start time T1 and the time T3000 can be obtained as the reusable time. Similarly, test pattern TP23 is from simulation start time T1 to time T5000 (T4970 + T30), test pattern TP24 is from simulation start time T1 to time T7000 (T6970 + T30), and test pattern TP25 is from simulation start time T1 to time T2990. The time until (T2970 + T20) can be obtained as the reusable time. As described above, the value of the reuse index for each test pattern is TP24> TP23> TP21> TP25. The simulation execution order is set in this order.

続いて、実行手順設定手段4は、上記第1実施形態と同様に、図3に示すように、基準テストパターン以外のテストパターン夫々に対して、シミュレーション開始時に読み出す内部状態と、後に実行する他のテストパターンで用いることができる内部状態がある場合には、当該内部状態を記憶する時間を設定する(ステップ#132)。   Subsequently, as in the first embodiment, as shown in FIG. 3, the execution procedure setting unit 4 reads the internal state read at the start of the simulation for each test pattern other than the reference test pattern, and executes it later. If there is an internal state that can be used in the test pattern, a time for storing the internal state is set (step # 132).

詳細には、ここでは、例えば、基準テストパターンTP22に対する再利用指標の値が最も大きいテストパターンTP24の場合、再設定が必要なレジスタはレジスタRCのみであり、このレジスタRCに対する読み出し処理の実行時間T7000を再利用終了時間とし、基準テストパターンTP22のシミュレーションにおけるレジスタRCに対する読み出し処理の実行時間T6970での内部状態を、テストパターンTP24で利用する再利用内部状態として選択する。テストパターンTP24のシミュレーションは、時間T7000から実行するように設定する。尚、テストパターンTP24の場合、時間T7000より後に実行されるレジスタに対する読み出し処理はないため、内部状態を記憶する時間は設定しない。同様に、次に再利用指標の値が大きいテストパターンTP23については、基準テストパターンTP22の時間T4970における内部状態を、テストパターンTP23で利用する再利用内部状態として選択する。テストパターンTP23のシミュレーションは、時間T5000から実行するように設定する。また、テストパターンTP23では、再利用終了時間T5000より後、時間T7000で読み出し処理が実行されるので、時間T7000における内部状態を記憶するように設定する。同様に、テストパターンTP21については、基準テストパターンTP22の時間T2970における内部状態を、テストパターンTP21で利用する再利用内部状態として選択する。テストパターンTP21のシミュレーションは、時間T3000から実行するように設定する。また、テストパターンTP21では、再利用終了時間T3000より後、時間T5000及び時間T7000で読み出し処理が実行されるので、時間T5000及び時間T7000における内部状態を記憶するように設定する。最後に、テストパターンTP25については、テストパターンTP21に対する再利用指標の値が最も大きくなることから、テストパターンTP21を再利用テストパターンとし、テストパターンTP21の内部状態を利用する。テストパターンTP25は、テストパターンTP21とレジスタRB、RCの設定が異なることから、先に読み出し処理が実行されるレジスタRBの読み出し時間T4990を再利用終了時間とし、テストパターンTP21のシミュレーションにおける時間T5000での内部状態を再利用内部状態として設定する。   Specifically, here, for example, in the case of the test pattern TP24 having the largest reuse index value for the reference test pattern TP22, the register that needs to be reset is only the register RC, and the execution time of the read process for this register RC T7000 is set as the reuse end time, and the internal state at the execution time T6970 of the read process for the register RC in the simulation of the reference test pattern TP22 is selected as the reuse internal state used in the test pattern TP24. The simulation of the test pattern TP24 is set to be executed from time T7000. In the case of the test pattern TP24, since there is no read process for the register executed after the time T7000, the time for storing the internal state is not set. Similarly, for the test pattern TP23 having the next largest reuse index value, the internal state at the time T4970 of the reference test pattern TP22 is selected as the reuse internal state used in the test pattern TP23. The simulation of the test pattern TP23 is set to be executed from time T5000. In the test pattern TP23, since the read process is executed at time T7000 after the reuse end time T5000, the internal state at time T7000 is set to be stored. Similarly, for the test pattern TP21, the internal state at the time T2970 of the reference test pattern TP22 is selected as the reuse internal state used in the test pattern TP21. The simulation of the test pattern TP21 is set to be executed from time T3000. In the test pattern TP21, since the read process is executed at the time T5000 and the time T7000 after the reuse end time T3000, the internal state at the time T5000 and the time T7000 is set to be stored. Finally, for the test pattern TP25, since the value of the reuse index for the test pattern TP21 is the largest, the test pattern TP21 is used as the reuse test pattern, and the internal state of the test pattern TP21 is used. Since the test pattern TP25 is different from the test pattern TP21 in the settings of the registers RB and RC, the read time T4990 of the register RB in which the read process is executed first is set as the reuse end time, and the test pattern TP25 is time T5000 in the simulation of the test pattern TP21. The internal state of is set as the reuse internal state.

引き続き、実行手順設定手段4は、上記第1実施形態と同様に、図3に示すように、基準テストパターン以外のテストパターンについて、再設定が必要なレジスタとその値を抽出する(ステップ#133)。より詳細には、例えば、テストパターンTP21は、基準テストパターンTP22の時間T2970での内部状態を読み出すように設定されており、時間T2970以後、レジスタRA〜RCに対する読み出し処理が実行される。更に、図15に示すように、レジスタRA〜RCの何れも、再利用テストパターンである基準テストパターンTP22の設定値と異なるため、レジスタRA〜RCの全てを再設定が必要なレジスタとして特定する。そして、レジスタRAを特定する情報とその設定値‘0’、レジスタRBを特定する情報とその設定値‘0’、レジスタRCを特定する情報とその設定値‘0’を補助記憶装置11に記憶する。   Subsequently, as in the first embodiment, the execution procedure setting unit 4 extracts registers that need to be reset and their values for test patterns other than the reference test pattern, as shown in FIG. 3 (step # 133). ). More specifically, for example, the test pattern TP21 is set so as to read the internal state of the reference test pattern TP22 at time T2970, and after time T2970, read processing for the registers RA to RC is executed. Further, as shown in FIG. 15, since all of the registers RA to RC are different from the set value of the reference test pattern TP22 that is a reuse test pattern, all of the registers RA to RC are specified as registers that need to be reset. . Then, information for specifying the register RA and its set value '0', information for specifying the register RB and its set value '0', information for specifying the register RC and its set value '0' are stored in the auxiliary storage device 11. To do.

ここで、図18は、上記ステップ#130の実行手順設定工程の実行結果として、グループGCの各テストパターンTP21〜TP25について、シミュレーションの実行順位、シミュレーション実行開始時に読み出す再利用内部状態、シミュレーションの開始時間、後に実行する他のテストパターンで用いるために記憶する内部状態、シミュレーション実行開始時に再設定が必要なレジスタとその再設定値を夫々示している。   Here, FIG. 18 shows the execution order of the test pattern TP21 to TP25 of the group GC, the reuse internal state read at the start of the simulation execution, and the start of the simulation as the execution result of the execution procedure setting step of the above step # 130. It shows the time, the internal state to be stored for use in other test patterns to be executed later, the registers that need to be reset at the start of simulation execution, and their reset values.

引き続き、本発明装置1は、上記第1実施形態と同様に、図3に示すように、機能検証手段5により、基準テストパターンTP22以外のテストパターンTP21、TP23〜TP25の夫々について、選択した内部状態を用いて機能検証を実行する(ステップ#140、機能検証工程)。   Subsequently, as in the first embodiment, the device 1 of the present invention uses the function verification means 5 to select the selected internal test patterns TP21 and TP23 to TP25 other than the reference test pattern TP22 as shown in FIG. Function verification is executed using the state (step # 140, function verification process).

以上より、本実施形態では、本発明装置1により本発明方法を実行することで、テストパターンTP21の時間T1〜時間T3000の間、テストパターンTP23の時間T1〜時間T5000の間、テストパターンTP24の時間T1〜時間T7000の間、テストパターンTP5の時間T1〜時間T4990の間のシミュレーションを省略することができ、時間T1〜時間T3の「初期化パターン」及び「ROM203からの設定値の読み出しパターン」までを省略可能な従来技術に比べ、大幅にテストパターンの省略効果を高めることができる。   As described above, in the present embodiment, by executing the method of the present invention by the device 1 of the present invention, the test pattern TP24 is changed between the time T1 to the time T3000 of the test pattern TP21, the time T1 to the time T5000 of the test pattern TP23. The simulation between the time T1 and the time T4990 of the test pattern TP5 can be omitted between the time T1 and the time T7000, and the “initialization pattern” and the “reading pattern of the set value from the ROM 203” from the time T1 to the time T3. Compared with the prior art that can omit the above, the effect of omitting the test pattern can be greatly enhanced.

〈別実施形態〉
〈1〉上記各実施形態では、記憶領域としてレジスタを想定して説明したが、これに限るものではない。例えば、ハードディスク等の補助記憶装置等、所定の記憶装置内の一部領域であっても良い。
<Another embodiment>
<1> In each of the embodiments described above, a register is assumed as a storage area. However, the present invention is not limited to this. For example, it may be a partial area in a predetermined storage device such as an auxiliary storage device such as a hard disk.

〈2〉上記各実施形態では、簡単のために、半導体装置100、200のコアブロック101、201が1または複数の独立した機能ブロックを備えるように構成されている場合について説明したが、これに限るものではない。半導体装置100、200のコアブロック101、201は、例えば、各機能ブロックが、各機能ブロック間で共通に用いられる1または複数の共通ブロックを含んで構成されていても良い。   <2> In each of the above embodiments, for simplicity, the case where the core blocks 101 and 201 of the semiconductor devices 100 and 200 are configured to include one or a plurality of independent functional blocks has been described. It is not limited. For example, the core blocks 101 and 201 of the semiconductor devices 100 and 200 may be configured such that each functional block includes one or a plurality of common blocks that are used in common among the functional blocks.

〈3〉上記各実施形態では、ステップ#120の内部状態記憶工程において、読み出し処理パターンの特定は、基準テストパターンを用いたシミュレーションの実行中に順次行ったがこれに限るものではない。例えば、図9に示すread_en信号の遷移等から、予めテストパターン上で読み出し処理パターンを抽出するように構成しても良い。   <3> In each of the above embodiments, in the internal state storing step of step # 120, the specification of the read processing pattern is performed sequentially during the execution of the simulation using the reference test pattern, but this is not restrictive. For example, the read processing pattern may be extracted in advance on the test pattern from the transition of the read_en signal shown in FIG.

〈4〉上記各実施形態では、ステップ#130の実行手順設定工程において、基準テストパターンに対する再利用指標を、シミュレーションの開始から基準再利用終了時間までの間の時間として求められる再利用可能時間で規定したが、これに限るものではない。例えば、特に、第1実施形態のように各テストパターンの長さが同じ場合には、再利用指標を求めるテストパターンの全シミュレーション時間に対する再利用可能時間の割合(再利用率)で規定する等しても良い。   <4> In each of the above embodiments, in the execution procedure setting step of Step # 130, the reuse index for the reference test pattern is the reusable time obtained as the time between the start of the simulation and the reference reuse end time. Although defined, this is not restrictive. For example, in particular, when the lengths of the test patterns are the same as in the first embodiment, the test pattern for obtaining the reuse index is defined by the ratio of the reusable time to the total simulation time (reuse rate). You may do it.

また、上記各実施形態では、ステップ#130の実行手順設定工程において、再利用指標の算出を、シミュレーション時間を用いて算出したが、これに限るものではなく、例えば、シミュレーションのサイクル数を用いて算出しても良い。この場合の再利用指標は、再利用サイクル数で規定する。   In each of the above embodiments, in the execution procedure setting step of Step # 130, the calculation of the reuse index is calculated using the simulation time. However, the present invention is not limited to this, for example, using the number of simulation cycles. It may be calculated. The reuse index in this case is defined by the number of reuse cycles.

〈5〉上記各実施形態では、ステップ#130の実行手順設定工程において、基準テストパターンに対する再利用指標の値が同じテストパターンについては、入力された順に実行順序を設定したが、これに限るものではない。例えば、基準テストパターンに対する再利用指標の値が同じテストパターンが3つ以上ある場合は、更に、最初に実行するテストパターンに対する他のテストパターンの再利用指標の値を求め、この再利用指標の値の大きい順にシミュレーションの実行順位を設定するように構成しても良い。   <5> In the above embodiments, in the execution procedure setting step of step # 130, the execution order is set in the order of input for the test patterns having the same reuse index value with respect to the reference test pattern. is not. For example, when there are three or more test patterns having the same reuse index value with respect to the reference test pattern, the value of the reuse index of another test pattern with respect to the test pattern to be executed first is further obtained. The simulation execution order may be set in descending order of the value.

〈6〉上記各実施形態では、ステップ#130の実行手順設定工程において、基準テストパターンの全ての読み出し処理、及び、基準テストパターン以外のテストパターンの再利用終了時間後に実行された全ての読み出し処理について、内部状態を記憶する構成としたが、後に実行されるテストパターンにおいて利用されることがない内部状態については、記憶する対象から除外するように構成しても良い。   <6> In each of the embodiments described above, in the execution procedure setting step of step # 130, all the reading processes of the reference test pattern and all the reading processes executed after the reuse end time of the test pattern other than the reference test pattern However, the internal state that is not used in a test pattern to be executed later may be excluded from the storage target.

本発明に係る機能検証装置を搭載したコンピュータの概略構成を示す概略ブロック図1 is a schematic block diagram showing a schematic configuration of a computer equipped with a function verification device according to the present invention. 本発明に係る機能検証装置の第1実施形態における概略構成を示す概略ブロック図1 is a schematic block diagram showing a schematic configuration in a first embodiment of a function verification device according to the present invention. 本発明に係る機能検証方法の各工程を示すフローチャートThe flowchart which shows each process of the function verification method which concerns on this invention 本発明に係る機能検証装置及び機能検証方法の第1実施形態で用いる半導体装置の設計データの一構成例を示す概略ブロック図1 is a schematic block diagram showing a configuration example of design data of a semiconductor device used in a first embodiment of a function verification apparatus and a function verification method according to the present invention. 本発明に係る機能検証装置及び機能検証方法の第1実施形態で用いるテストパターンの一構成例を示す模式図Schematic diagram showing an example of a configuration of a test pattern used in the first embodiment of the function verification apparatus and the function verification method according to the present invention. 本発明に係る機能検証装置及び機能検証方法の第1実施形態で用いるテストパターンの一部を示す部分波形図Partial waveform diagram showing a part of a test pattern used in the first embodiment of the function verification apparatus and function verification method according to the present invention 本発明に係る機能検証装置及び機能検証方法の第1実施形態で用いるテストパターンの書き込み処理パターンの一例を示す部分波形図FIG. 2 is a partial waveform diagram showing an example of a test pattern write processing pattern used in the first embodiment of the function verification apparatus and function verification method according to the present invention. 本発明に係る機能検証装置及び機能検証方法の第1実施形態で用いるテストパターンによるレジスタ設定及び分類の一例を示す模式図Schematic diagram showing an example of register setting and classification by test patterns used in the first embodiment of the function verification apparatus and function verification method according to the present invention 本発明に係る機能検証装置及び機能検証方法の第1実施形態で用いるテストパターンの読み出し処理パターンの一例を示す部分波形図FIG. 4 is a partial waveform diagram showing an example of a test pattern read processing pattern used in the first embodiment of the function verification apparatus and function verification method according to the present invention. 本発明に係る機能検証装置及び機能検証方法の第1実施形態で用いるテストパターンの読み出し処理の実行時間と内部情報の関係を示す表A table showing the relationship between the execution time of test pattern reading processing and internal information used in the first embodiment of the function verification apparatus and function verification method according to the present invention 本発明に係る機能検証装置及び機能検証方法の第1実施形態における実行手順設定工程の実行結果の一例を示す表The table | surface which shows an example of the execution result of the execution procedure setting process in 1st Embodiment of the function verification apparatus and function verification method which concern on this invention 本発明に係る機能検証装置及び機能検証方法の第2実施形態で用いる半導体装置の設計データの一構成例を示す概略ブロック図Schematic block diagram showing one configuration example of design data of a semiconductor device used in the second embodiment of the function verification apparatus and function verification method according to the present invention 本発明に係る機能検証装置及び機能検証方法の第2実施形態で用いるテストパターンの一構成例を示す模式図The schematic diagram which shows one structural example of the test pattern used in 2nd Embodiment of the function verification apparatus and function verification method which concern on this invention 本発明に係る機能検証装置及び機能検証方法の第2実施形態で用いるテストパターンの書き込み処理パターンの一例を示す部分波形図Partial waveform diagram showing an example of a test pattern write processing pattern used in the second embodiment of the function verification apparatus and function verification method according to the present invention 本発明に係る機能検証装置及び機能検証方法の第2実施形態で用いるテストパターンによるレジスタ設定及び分類の一例を示す模式図The schematic diagram which shows an example of the register setting and classification by the test pattern used in 2nd Embodiment of the function verification apparatus and function verification method which concern on this invention 本発明に係る機能検証装置及び機能検証方法の第2実施形態で用いるテストパターンの読み出し処理パターンの一例を示す部分波形図Partial waveform diagram showing an example of a test pattern read processing pattern used in the second embodiment of the function verification apparatus and function verification method according to the present invention 本発明に係る機能検証装置及び機能検証方法の第2実施形態で用いるテストパターンの読み出し処理の実行時間と内部情報の関係を示す表A table showing the relationship between the execution time of test pattern read processing and internal information used in the second embodiment of the function verification apparatus and function verification method according to the present invention 本発明に係る機能検証装置及び機能検証方法の第2実施形態における実行手順設定工程の実行結果の一例を示す表The table | surface which shows an example of the execution result of the execution procedure setting process in 2nd Embodiment of the function verification apparatus and function verification method which concern on this invention 記憶領域の複数と論理回路を備えた半導体装置の設計データの一構成例を示す概略ブロック図Schematic block diagram showing one configuration example of design data of a semiconductor device having a plurality of storage areas and a logic circuit 従来技術に係る機能検証技術で用いるテストパターンの一構成例を示す模式図Schematic diagram showing one configuration example of test patterns used in the function verification technology according to the prior art 従来技術に係る機能検証技術で用いるテストパターンの一構成例を示す模式図Schematic diagram showing one configuration example of test patterns used in the function verification technology according to the prior art

符号の説明Explanation of symbols

1 本発明に係る機能検証装置
2 分類手段
3 内部状態記憶手段
4 実行手順設定手段
5 機能検証手段
10 本発明に係る機能検証装置を搭載したコンピュータ
11 補助記憶装置
12 CPU
13 ROM
14 RAM
15 入力装置
16 表示装置
17 バスライン
100、200、300 半導体装置
101、201、301 コアブロック
102、202、302 レジスタブロック
103、203、303 ROM
104、204、304 バスライン
FA、FB、FC 機能ブロック
TA、TB、TC テストパターン
DESCRIPTION OF SYMBOLS 1 Function verification apparatus 2 according to the present invention Classification means 3 Internal state storage means 4 Execution procedure setting means 5 Function verification means 10 Computer 11 equipped with the function verification apparatus according to the present invention Auxiliary storage device 12 CPU
13 ROM
14 RAM
15 Input device 16 Display device 17 Bus line 100, 200, 300 Semiconductor device 101, 201, 301 Core block 102, 202, 302 Register block 103, 203, 303 ROM
104, 204, 304 Bus line FA, FB, FC Function block TA, TB, TC Test pattern

Claims (10)

記憶領域の複数と論理回路を備えた半導体装置の設計データに対して、前記記憶領域に対する読み出し処理にかかる読み出し処理パターンを含むテストパターンを複数用いて行なう機能検証方法であって、
前記テストパターン夫々を、前記記憶領域に対する書き込み処理にかかる書き込み処理パターンが含まれる前記テストパターンについては前記書き込み処理パターンを除く比較用テストパターンを用いて比較して、前記テストパターン夫々を所定のテストパターン群に分類する分類工程と、
前記テストパターン群毎に、前記テストパターン群に含まれる前記テストパターンから基準テストパターンを選択し、前記基準テストパターンに含まれる前記読み出し処理パターンを特定し、前記読み出し処理パターン毎に、前記読み出し処理の実行時間、前記読み出し処理を実行した前記記憶領域、及び、前記読み出し処理の実行時間における前記論理回路を構成する各記憶素子の記憶内容を含む内部状態を記憶する内部状態記憶工程と、
前記テストパターン群毎に、前記基準テストパターンにおける前記読み出し処理を実行する前記記憶領域とその記憶内容、及び、前記基準テストパターンを除く前記テストパターン夫々における前記読み出し処理を実行する前記記憶領域とその記憶内容に基づいて、前記テストパターン夫々の実行順序を設定し、前記基準テストパターン以外の前記テストパターン夫々について、利用する前記内部状態を選択する実行手順設定工程と、
前記テストパターン群毎に、前記基準テストパターン以外の前記テストパターン夫々について、選択した前記内部状態を用いて前記機能検証を実行する機能検証工程と、を実行することを特徴とする機能検証方法。
A function verification method that uses a plurality of test patterns including a read processing pattern related to a read process for a storage area for design data of a semiconductor device including a plurality of storage areas and a logic circuit,
Each of the test patterns is compared using a test pattern for comparison excluding the write processing pattern for the test pattern including the write processing pattern related to the write processing for the storage area, and the test pattern is compared with a predetermined test pattern. A classification process for classifying into pattern groups;
For each test pattern group, a reference test pattern is selected from the test patterns included in the test pattern group, the read process pattern included in the reference test pattern is specified, and the read process is performed for each read process pattern. An internal state storage step of storing an internal state including the storage contents of each storage element constituting the logic circuit at the execution time of the storage circuit, the storage area where the read process is executed, and the execution time of the read process;
For each test pattern group, the storage area for executing the reading process in the reference test pattern and its storage contents, and the storage area for executing the reading process in each of the test patterns excluding the reference test pattern, and An execution procedure setting step of setting the execution order of each of the test patterns based on the stored contents, and selecting the internal state to be used for each of the test patterns other than the reference test pattern;
A function verification step of executing, for each test pattern group, the function verification using the selected internal state for each of the test patterns other than the reference test pattern.
前記分類工程は、前記テストパターン若しくは前記比較用テストパターンが完全に一致する前記テストパターンを同一の前記テストパターン群として分類することを特徴とする請求項1に記載の機能検証方法。   The function verification method according to claim 1, wherein the classifying step classifies the test patterns whose test patterns or the test patterns for comparison completely match as the same test pattern group. 前記実行手順設定工程は、前記基準テストパターン以外の前記テストパターン毎に、先に実行される前記テストパターンにおける前記記憶領域夫々の記憶内容に基づいて、記憶内容の再設定が必要な前記記憶領域、及び、再設定が必要な前記記憶領域に対する前記読み出し処理の実行時間を特定して、前記基準テストパターンを用いた前記機能検証における前記内部状態の再利用性を示す再利用指標を求め、前記再利用指標に基づいて前記再利用性が高い前記テストパターンから順に実行順序を設定することを特徴とする請求項1または2に記載の機能検証方法。   In the execution procedure setting step, for each test pattern other than the reference test pattern, the storage area in which the storage content needs to be reset based on the storage content of each of the storage areas in the test pattern executed first And, specifying the execution time of the read processing for the storage area that needs to be reset, obtaining a reuse index indicating the reusability of the internal state in the function verification using the reference test pattern, The function verification method according to claim 1, wherein an execution order is set in order from the test pattern having the high reusability based on a reuse index. 前記実行手順設定工程は、前記基準テストパターンを除く前記テストパターン夫々について、特定された再設定が必要な前記記憶領域の内、最も早い段階で前記読み出し処理が実行される前記記憶領域の前記読み出し処理の実行時間に基づいて、利用する前記内部状態を選択し、後に実行される前記テストパターンにおける再設定が必要な前記記憶領域に基づいて、前記内部状態を記憶する前記読み出し処理を決定し、
前記機能検証工程は、前記テストパターン毎の機能検証において、前記実行手順設定工程で決定された前記内部状態を記憶する前記読み出し処理の前記内部状態を記憶することを特徴とする請求項3に記載の機能検証方法。
In the execution procedure setting step, the reading of the storage area in which the reading process is executed at the earliest stage among the identified storage areas that need to be reset for each of the test patterns excluding the reference test pattern. Based on the execution time of the process, select the internal state to use, determine the read process to store the internal state based on the storage area that needs to be reset in the test pattern to be executed later,
The function verification step stores the internal state of the read process for storing the internal state determined in the execution procedure setting step in the function verification for each test pattern. Function verification method.
前記機能検証工程は、前記テストパターン夫々に対する前記機能検証において、前記実行手順設定工程で選択した前記内部状態を取得し、前記内部状態を前記記憶領域及び前記記憶素子に設定した後、前記機能検証を実行する前記テストパターンの前記記憶領域の記憶内容に基づいて、前記記憶領域の記憶内容を再設定することを特徴とする請求項1〜4の何れか1項に記載の機能検証方法。   In the function verification for each of the test patterns, the function verification step acquires the internal state selected in the execution procedure setting step, sets the internal state in the storage area and the storage element, and then performs the function verification. 5. The function verification method according to claim 1, wherein the storage contents of the storage area are reset based on the storage contents of the storage area of the test pattern for executing the test. 記憶領域の複数と論理回路を備えた半導体装置の設計データに対して、前記記憶領域に対する読み出し処理にかかる読み出し処理パターンを含むテストパターンを複数用いて機能検証を行なう機能検証装置であって、
前記テストパターン夫々を、前記記憶領域に対する書き込み処理にかかる書き込み処理パターンが含まれる前記テストパターンについては前記書き込み処理パターンを除く比較用テストパターンを用いて比較して、前記テストパターン夫々をテストパターン群に分類する分類手段と、
前記テストパターン群毎に、前記テストパターン群に含まれる前記テストパターンから基準テストパターンを選択し、前記基準テストパターンに含まれる前記読み出し処理パターンを特定し、前記読み出し処理パターン毎に、前記読み出し処理の実行時間、前記読み出し処理を実行した前記記憶領域、及び、前記読み出し処理の実行時間における前記論理回路を構成する各記憶素子の記憶内容を含む内部状態を記憶する内部状態記憶手段と、
前記テストパターン群毎に、前記基準テストパターンにおける前記読み出し処理を実行する前記記憶領域とその記憶内容、及び、前記基準テストパターンを除く前記テストパターン夫々における前記読み出し処理を実行する前記記憶領域とその記憶内容に基づいて、前記テストパターン夫々の実行順序を設定し、前記基準テストパターン以外の前記テストパターン夫々について、利用する前記内部状態を選択する実行手順設定手段と、
前記テストパターン群毎に、前記基準テストパターン以外の前記テストパターン夫々について、選択した前記内部状態を用いて前記機能検証を実行する機能検証手段と、を備えることを特徴とする機能検証装置。
A functional verification device that performs functional verification using a plurality of test patterns including a read processing pattern related to a read process for the storage area for design data of a semiconductor device including a plurality of storage areas and a logic circuit,
Each of the test patterns is compared by using a test pattern for comparison excluding the write processing pattern for the test pattern including the write processing pattern related to the write processing to the storage area, and the test pattern group is compared with each other. Classification means for classifying into,
For each test pattern group, a reference test pattern is selected from the test patterns included in the test pattern group, the read process pattern included in the reference test pattern is specified, and the read process is performed for each read process pattern. An internal state storage means for storing an internal state including a storage content of each storage element constituting the logic circuit at the execution time of the storage circuit, the storage area where the read process is executed, and the execution time of the read process;
For each test pattern group, the storage area for executing the reading process in the reference test pattern and its storage contents, and the storage area for executing the reading process in each of the test patterns excluding the reference test pattern, and An execution procedure setting means for setting the execution order of each of the test patterns based on the stored content, and selecting the internal state to be used for each of the test patterns other than the reference test pattern;
A function verification apparatus comprising: function verification means for executing the function verification using the selected internal state for each of the test patterns other than the reference test pattern for each test pattern group.
前記分類手段は、前記テストパターン若しくは前記比較用テストパターンが完全に一致する前記テストパターンを同一の前記テストパターン群として分類することを特徴とする請求項6に記載の機能検証装置。   The function verification apparatus according to claim 6, wherein the classifying unit classifies the test patterns whose test patterns or the test patterns for comparison completely match as the same test pattern group. 前記実行手順設定手段は、前記基準テストパターン以外の前記テストパターン毎に、先に実行される前記テストパターンにおける前記記憶領域夫々の記憶内容に基づいて、記憶内容の再設定が必要な前記記憶領域、及び、再設定が必要な前記記憶領域に対する前記読み出し処理の実行時間を特定して、前記基準テストパターンを用いた前記機能検証における前記内部状態の再利用性を示す再利用指標を求め、前記再利用指標に基づいて前記再利用性が高い前記テストパターンから順に実行順序を設定することを特徴とする請求項6または7に記載の機能検証装置。   The execution procedure setting means includes the storage area in which the storage content needs to be reset based on the storage contents of each of the storage areas in the test pattern executed first for each of the test patterns other than the reference test pattern. And, specifying the execution time of the read processing for the storage area that needs to be reset, obtaining a reuse index indicating the reusability of the internal state in the function verification using the reference test pattern, 8. The function verification apparatus according to claim 6, wherein an execution order is set in order from the test pattern having the high reusability based on a reuse index. 前記実行手順設定手段は、前記基準テストパターンを除く前記テストパターン夫々について、特定された再設定が必要な前記記憶領域の内、最も早い段階で前記読み出し処理が実行される前記記憶領域の前記読み出し処理の実行時間に基づいて、利用する前記内部状態を選択し、後に実行される前記テストパターンにおける再設定が必要な前記記憶領域に基づいて、前記内部状態を記憶する前記読み出し処理を決定し、
前記機能検証手段は、前記テストパターン毎の機能検証において、前記実行手順設定手段で決定された前記内部状態を記憶する前記読み出し処理の前記内部状態を記憶することを特徴とする請求項8に記載の機能検証装置。
The execution procedure setting means reads the storage area where the read process is executed at the earliest stage among the specified storage areas that need to be reset for each of the test patterns except the reference test pattern. Based on the execution time of the process, select the internal state to use, determine the read process to store the internal state based on the storage area that needs to be reset in the test pattern to be executed later,
The function verification unit stores the internal state of the read process for storing the internal state determined by the execution procedure setting unit in the function verification for each test pattern. Functional verification device.
前記機能検証手段は、前記テストパターン夫々に対する前記機能検証において、前記実行手順設定手段で選択した前記内部状態を取得し、前記内部状態を前記記憶領域及び前記記憶素子に設定した後、前記機能検証を実行する前記テストパターンの前記記憶領域の記憶内容に基づいて、前記記憶領域の記憶内容を再設定することを特徴とする請求項6〜9の何れか1項に記載の機能検証装置。   The function verification unit acquires the internal state selected by the execution procedure setting unit in the function verification for each of the test patterns, sets the internal state in the storage area and the storage element, and then performs the function verification. 10. The function verification device according to claim 6, wherein the storage contents of the storage area are reset based on the storage contents of the storage area of the test pattern for executing the test.
JP2006298722A 2006-11-02 2006-11-02 Function verification method and device Withdrawn JP2008117110A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006298722A JP2008117110A (en) 2006-11-02 2006-11-02 Function verification method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006298722A JP2008117110A (en) 2006-11-02 2006-11-02 Function verification method and device

Publications (1)

Publication Number Publication Date
JP2008117110A true JP2008117110A (en) 2008-05-22

Family

ID=39502976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006298722A Withdrawn JP2008117110A (en) 2006-11-02 2006-11-02 Function verification method and device

Country Status (1)

Country Link
JP (1) JP2008117110A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010053603A1 (en) * 2008-11-07 2010-05-14 Intrinsity, Inc. Method for piecewise hierarchical sequential verification
US7956636B2 (en) 2007-03-05 2011-06-07 Apple Inc. Generating test benches for pre-silicon validation of retimed complex IC designs against a reference design

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7956636B2 (en) 2007-03-05 2011-06-07 Apple Inc. Generating test benches for pre-silicon validation of retimed complex IC designs against a reference design
US8310268B2 (en) 2007-03-05 2012-11-13 Apple Inc. Generating test benches for pre-silicon validation of retimed complex IC designs against a reference design
US9053265B2 (en) 2007-03-05 2015-06-09 Apple Inc. Generating test benches for pre-silicon validation of retimed complex IC designs against a reference design
WO2010053603A1 (en) * 2008-11-07 2010-05-14 Intrinsity, Inc. Method for piecewise hierarchical sequential verification
US8448107B2 (en) 2008-11-07 2013-05-21 Apple Inc. Method for piecewise hierarchical sequential verification

Similar Documents

Publication Publication Date Title
US10255403B1 (en) Method and apparatus for concurrently extracting and validating timing models for different views in multi-mode multi-corner designs
US8150787B2 (en) Enhancing performance of a constraint solver across individual processes
JP5450840B2 (en) Test data generation method for program execution performance evaluation
JP6404708B2 (en) Information processing apparatus, BIOS setting information changing method, and computer program
US8806401B1 (en) System and methods for reasonable functional verification of an integrated circuit design
JP2000242672A (en) Device and method for formal logic verification
US7949509B2 (en) Method and tool for generating simulation case for IC device
JP2008117110A (en) Function verification method and device
US8990741B2 (en) Circuit design support device, circuit design support method and program
JP2018010005A5 (en) Scan test data, scan test data creation method, and scan test apparatus
JP2010267209A (en) Program, apparatus, and method for supporting verification
JP4580722B2 (en) Test simulator and test simulation program
WO2020194455A1 (en) Test case generation device, test case generation method, and test case generation program
JP6175958B2 (en) MEMORY DUMP METHOD, PROGRAM, AND INFORMATION PROCESSING DEVICE
US9372949B1 (en) Guided exploration of circuit design states
JP5120103B2 (en) Debugging method and debugging program
JP2006268165A (en) Timing analyzing device for integrated circuit, timing optimizing device for integrated circuit, timing analyzing method for integrated circuit, timing optimizing method for integrated circuit, method for manufacturing integrated circuit board, control program and readable recording medium
JP2018022433A (en) Control program, apparatus, and method
US7546561B2 (en) System and method of state point correspondence with constrained function determination
US9659142B1 (en) Methods, systems, and articles of manufacture for trace warping for electronic designs
JP7145804B2 (en) SIMULATION MANAGEMENT METHOD AND SIMULATION SYSTEM
JP2012033091A (en) Semiconductor circuit and test method for the same
JP6949440B2 (en) Vector generator and vector generator program
JP5875607B2 (en) Performance model inspection apparatus, method and program
JP2009229331A (en) Semiconductor testing apparatus and its control program

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100105