JP2008117110A - Function verification method and device - Google Patents
Function verification method and device Download PDFInfo
- 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
Links
Images
Abstract
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
以下、特許文献1の機能検証技術について、図19及び図20を基に詳細に説明する。ここで、図19は、特許文献1の機能検証技術を適用する半導体装置の一構成例を示しており、図20は、図19に示す半導体装置を機能検証するためのテストパターン群(テストパターンTA、TB及びTC)の概略構成を示している。
Hereinafter, the function verification technique of
具体的には、図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
特許文献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
しかしながら、特許文献1に記載の機能検証技術では、テストパターンの先頭からの共通性だけを考慮しているため、特に、例えば、1つの機能について複数のレジスタ設定別にテストパターンを用意して機能検証を行なう場合等、各テストパターンの間で比較的早い段階で差異が現れる場合には、テストパターンの省略を十分に図ることができず、機能検証にかかる時間及びコストを十分に低減することができないという問題があった。
However, since the function verification technique described in
ここで、図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
図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
更に、記憶領域の複数と論理回路を備えた半導体装置では、機能別・レジスタ設定別に機能検証を行なう必要があることから、近年の回路規模の増大や回路の複雑化により、レジスタの記憶領域の増大に伴うレジスタ設定の組み合わせが増大し、これに応じてテストパターンの数が飛躍的に増大することとなる。しかし、特許文献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
本発明は上記の問題に鑑みてなされたものであり、その目的は、特に、比較的早い設定段階でのみ差異が生じる複数のテストパターンを用いる場合等に対応して、よりテストパターンの省略効果が高く、半導体装置の設計データに対する機能検証にかかる時間及びコストをより効果的に削減できる機能検証方法を提供する点にある。また、特に、比較的早い設定段階でのみ差異が生じる複数のテストパターンを用いる場合等に対応して、よりテストパターンの省略効果が高く、半導体装置の設計データに対する機能検証にかかる時間及びコストをより効果的に削減できる機能検証装置を提供する。 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
本発明装置1は、図2に示すように、テストパターン夫々を、レジスタに対する書き込み処理にかかるレジスタ設定パターン(書き込み処理パターンに相当)が含まれるテストパターンについてはレジスタ設定パターンを除く比較用テストパターンを用いて比較して、テストパターン夫々をテストパターン群に分類する分類手段2、テストパターン群毎に、テストパターン群に含まれるテストパターンから基準テストパターンを選択し、基準テストパターンに含まれる読み出し処理パターンを特定し、読み出し処理パターン毎に、読み出し処理の実行時間、読み出し処理を実行した記憶領域、及び、読み出し処理の実行時間におけるコアブロックを構成する各記憶素子の記憶内容を含む内部状態を記憶する内部状態記憶手段3、テストパターン群毎に、基準テストパターンにおける読み出し処理を実行するレジスタとその記憶内容、及び、基準テストパターンを除くテストパターン夫々における読み出し処理を実行するレジスタとその記憶内容に基づいて、テストパターン夫々の実行順序を設定し、基準テストパターン以外のテストパターン夫々について、利用する内部状態を選択する実行手順設定手段4、及び、テストパターン群毎に、基準テストパターン以外のテストパターン夫々について、選択した内部状態を用いて機能検証を実行する機能検証手段5を備えて構成される。
As shown in FIG. 2, the
次に、本実施形態の本発明方法について、図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
また、本実施形態では、図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
続いて、本発明装置1は、図3に示すように、分類手段2により、テストパターンTP1〜TP20夫々を、レジスタRA〜REに対するレジスタ設定パターンが含まれるテストパターンについてはレジスタ設定パターンを除く比較用テストパターンを用いて比較して、テストパターンTP1〜TP20を所定のテストパターン群に分類する(ステップ#110、分類工程)。
Subsequently, as shown in FIG. 3, the
具体的には、分類手段2は、先ず、テストパターンTP1〜TP20について、レジスタ設定パターンを検索し、レジスタ設定パターンを含む場合は、レジスタ設定パターンを除いた比較用テストパターンを抽出する(ステップ#111)。レジスタ設定パターンを含まないテストパターンについては、当該テストパターンをそのまま比較用テストパターンとして用いる。本実施形態では、テストパターンTP1〜TP20から、時間T100〜T150の「レジスタ設定パターン」を除いて比較用テストパターンとする。
Specifically, the classifying
更に、分類手段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
引き続き、分類手段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
引き続き、本発明装置1は、図3に示すように、内部状態記憶手段3により、テストパターン群毎に、テストパターン群に含まれるテストパターンから基準テストパターンを選択し、基準テストパターンに含まれる読み出し処理パターンを特定し、読み出し処理パターン毎に、読み出し処理の実行時間、読み出し処理を実行したレジスタ、及び、読み出し処理の実行時間における論理回路を構成する各記憶素子の記憶内容を含む内部状態を記憶する(ステップ#120、内部状態記憶工程)。
Subsequently, as shown in FIG. 3, the
具体的には、内部状態記憶手段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
更に、内部状態記憶手段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
ここで、図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
引き続き、本発明装置1は、図3に示すように、実行手順設定手段4により、グループGA及びグループGB夫々について、基準テストパターンにおける読み出し処理を実行するレジスタとその記憶内容、及び、基準テストパターンを除くテストパターン夫々における読み出し処理を実行するレジスタとその記憶内容に基づいて、テストパターン夫々の実行順序を設定し、基準テストパターン以外のテストパターン夫々について、利用する内部状態を選択する(ステップ#130、実行手順設定工程)。
Subsequently, as shown in FIG. 3, the
具体的には、実行手順設定手段4は、最初に、基準テストパターンとその他のテストパターン、ここでは、基準テストパターンから書き込み処理パターンを除いた比較用基準テストパターンと、基準テストパターン以外のテストパターン夫々から書き込み処理パターンを除いた比較用テストパターン夫々を比較し、基準テストパターン以外のテストパターン夫々について再利用性を示す再利用指標を求め、再利用指標に基づいて再利用性の高いパターンから優先的にシミュレーション順序を割り当てる(ステップ#131)。本実施形態では、先ず、基準テストパターン以外のテストパターン毎に、先に実行されるテストパターンにおけるレジスタRA〜RE夫々の記憶内容に基づいて、記憶内容の再設定が必要なレジスタ、及び、再設定が必要なレジスタに対する読み出し処理の実行時間を特定して、基準テストパターンを用いたシミュレーションで記憶した内部状態の再利用性を示す再利用指標を求める。そして、再利用指標に基づいて再利用性が高いテストパターンから順に実行順序を設定する。本実施形態では、基準テストパターン以外のテストパターン夫々について、基準テストパターンのレジスタ設定とは異なる設定を行うレジスタを再設定が必要なレジスタとして特定する。そして、基準テストパターン以外のテストパターン夫々について、再設定が必要なレジスタに対する読み出し処理の内、最も早い段階で実行される読み出し処理の実行時間をシミュレーションの基準再利用終了時間とし、シミュレーションの開始から基準再利用終了時間までの間の時間を再利用可能時間として求める。本実施形態では、各テストパターンの再利用可能時間をテストパターン夫々の再利用指標として規定し、再利用指標の値の大きいテストパターンから優先的に実行順位を設定する。
Specifically, the execution
より詳細には、例えば、グループ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
より詳細には、ここでは、例えば、グループ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
尚、図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
ここで、図11は、上記ステップ#130の実行手順設定工程の実行結果として、グループGA、GBの各テストパターンについて、グループ内でのシミュレーションの実行順位、シミュレーション実行開始時に読み出す再利用内部状態、後に実行する他のテストパターンで用いるために記憶する内部状態、シミュレーション実行開始時に再設定が必要なレジスタとその再設定値を夫々示している。
Here, FIG. 11 shows, as the execution result of the execution procedure setting step in
引き続き、本発明装置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
以上より、本実施形態では、本発明装置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
〈第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
先ず、本実施形態において、本発明方法及び本発明装置により機能検証を行なう半導体装置と機能検証に用いるテストパターンについて、図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
また、本実施形態では、図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
本実施形態の本発明方法について、図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
続いて、本発明装置1は、図3に示すように、分類手段2により、テストパターンTP21〜TP25夫々を、レジスタRA〜RCに対するレジスタ設定パターンが含まれるテストパターンについてはレジスタ設定パターンを除く比較用テストパターンを用いて比較して、テストパターンTP21〜TP25を所定のテストパターン群に分類する(ステップ#110、分類工程)。
Subsequently, as shown in FIG. 3, the
具体的には、分類手段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
引き続き、分類手段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
引き続き、本発明装置1は、図3に示すように、内部状態記憶手段3により、テストパターンTP21〜TP25から基準テストパターンを選択し、基準テストパターンに含まれる読み出し処理パターンを特定し、読み出し処理パターン毎に内部状態を記憶する(ステップ#120、内部状態記憶工程)。
Subsequently, as shown in FIG. 3, the
具体的には、本実施形態の内部状態記憶手段3は、先ず、テストパターンTP21〜TP25から基準テストパターンを選択する(ステップ#121)。本実施形態では、レジスタ設定パターンが含まれておらず、読み出し処理パターンの対応関係が特定し易いと考えられるテストパターンTP22を基準テストパターンとして選択する。尚、上記第1実施形態と同様に、基準テストパターンの選択は、任意であり、他のテストパターンを基準テストパターンとして選択しても良い。続いて、本発明装置1は、ステップ#101で取得した設計データと基準テストパターンTP22を用いてシミュレーションを実行する(ステップ#122)。
Specifically, the internal
更に、内部状態記憶手段3は、上記第1実施形態と同様に、基準テストパターンTP22を用いたシミュレーションにおいて、レジスタブロック202を構成するレジスタRA〜RCの何れかに対し読み出し動作が行なわれると、そのときの半導体装置200の内部状態を、補助記憶装置11に記憶する。尚、本実施形態において、内部状態を記憶する読み出し処理は、機能ブロックFAに対する機能検証の間に実施されるレジスタRA〜RCに対する読み出し処理を対象としており、半導体装置200のROM203に対する読み出し処理は含まない。
Further, as in the first embodiment, the internal
ここで、図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
引き続き、本発明装置1は、図3に示すように、実行手順設定手段4により、基準テストパターンTP22における読み出し処理を実行するレジスタとその記憶内容、及び、テストパターンTP21、TP23〜TP25夫々における読み出し処理を実行するレジスタとその記憶内容に基づいて、テストパターンTP21、TP23〜TP25の実行順序を設定し、基準テストパターンTP22以外のテストパターンTP21、TP23〜TP25について、利用する内部状態を選択する(ステップ#130、実行手順設定工程)。
Subsequently, as shown in FIG. 3, the
具体的には、実行手順設定手段4は、最初に、基準テストパターンTP22と、テストパターンTP21、TP23〜TP25夫々からレジスタ設定パターンを除いた比較用テストパターン夫々を比較し、テストパターンTP21、TP23〜TP25夫々について再利用性を示す再利用指標を求め、再利用指標に基づいて再利用性の高いパターンから優先的にシミュレーション順序を割り当てる(ステップ#131)。先ず、第1実施形態と同様に、基準テストパターン以外のテストパターン毎に、先に実行されるテストパターンにおけるレジスタRA〜RC夫々の記憶内容に基づいて、記憶内容の再設定が必要なレジスタ、及び、再設定が必要なレジスタに対する読み出し処理の実行時間を特定して、基準テストパターンを用いたシミュレーションで記憶した内部状態の再利用性を示す再利用指標を求める。そして、再利用指標に基づいて再利用性が高いテストパターンから順に実行順序を設定する。本実施形態では、テストパターンTP21、TP23〜TP25夫々について、初期設定値から値が変更されるレジスタを再設定が必要なレジスタとして特定する。そして、テストパターンTP21、TP23〜TP25夫々について、再設定が必要なレジスタに対する読み出し処理の内、最も早い段階で実行される読み出し処理の実行時間をシミュレーションの基準再利用終了時間とし、シミュレーションの開始から基準再利用終了時間までの間の時間を再利用可能時間として求める。本実施形態では、上記第1実施形態と同様に、各テストパターンの再利用可能時間をテストパターン夫々の再利用指標として規定し、再利用指標の値の大きいテストパターンから優先的に実行順位を設定する。
Specifically, the execution
より詳細には、例えば、基準テストパターン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
詳細には、ここでは、例えば、基準テストパターン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
ここで、図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
引き続き、本発明装置1は、上記第1実施形態と同様に、図3に示すように、機能検証手段5により、基準テストパターンTP22以外のテストパターンTP21、TP23〜TP25の夫々について、選択した内部状態を用いて機能検証を実行する(ステップ#140、機能検証工程)。
Subsequently, as in the first embodiment, the
以上より、本実施形態では、本発明装置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
〈別実施形態〉
〈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
〈3〉上記各実施形態では、ステップ#120の内部状態記憶工程において、読み出し処理パターンの特定は、基準テストパターンを用いたシミュレーションの実行中に順次行ったがこれに限るものではない。例えば、図9に示すread_en信号の遷移等から、予めテストパターン上で読み出し処理パターンを抽出するように構成しても良い。
<3> In each of the above embodiments, in the internal state storing step of
〈4〉上記各実施形態では、ステップ#130の実行手順設定工程において、基準テストパターンに対する再利用指標を、シミュレーションの開始から基準再利用終了時間までの間の時間として求められる再利用可能時間で規定したが、これに限るものではない。例えば、特に、第1実施形態のように各テストパターンの長さが同じ場合には、再利用指標を求めるテストパターンの全シミュレーション時間に対する再利用可能時間の割合(再利用率)で規定する等しても良い。
<4> In each of the above embodiments, in the execution procedure setting step of
また、上記各実施形態では、ステップ#130の実行手順設定工程において、再利用指標の算出を、シミュレーション時間を用いて算出したが、これに限るものではなく、例えば、シミュレーションのサイクル数を用いて算出しても良い。この場合の再利用指標は、再利用サイクル数で規定する。
In each of the above embodiments, in the execution procedure setting step of
〈5〉上記各実施形態では、ステップ#130の実行手順設定工程において、基準テストパターンに対する再利用指標の値が同じテストパターンについては、入力された順に実行順序を設定したが、これに限るものではない。例えば、基準テストパターンに対する再利用指標の値が同じテストパターンが3つ以上ある場合は、更に、最初に実行するテストパターンに対する他のテストパターンの再利用指標の値を求め、この再利用指標の値の大きい順にシミュレーションの実行順位を設定するように構成しても良い。
<5> In the above embodiments, in the execution procedure setting step of
〈6〉上記各実施形態では、ステップ#130の実行手順設定工程において、基準テストパターンの全ての読み出し処理、及び、基準テストパターン以外のテストパターンの再利用終了時間後に実行された全ての読み出し処理について、内部状態を記憶する構成としたが、後に実行されるテストパターンにおいて利用されることがない内部状態については、記憶する対象から除外するように構成しても良い。
<6> In each of the embodiments described above, in the execution procedure setting step of
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
13 ROM
14 RAM
15
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.
前記機能検証工程は、前記テストパターン毎の機能検証において、前記実行手順設定工程で決定された前記内部状態を記憶する前記読み出し処理の前記内部状態を記憶することを特徴とする請求項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.
前記テストパターン夫々を、前記記憶領域に対する書き込み処理にかかる書き込み処理パターンが含まれる前記テストパターンについては前記書き込み処理パターンを除く比較用テストパターンを用いて比較して、前記テストパターン夫々をテストパターン群に分類する分類手段と、
前記テストパターン群毎に、前記テストパターン群に含まれる前記テストパターンから基準テストパターンを選択し、前記基準テストパターンに含まれる前記読み出し処理パターンを特定し、前記読み出し処理パターン毎に、前記読み出し処理の実行時間、前記読み出し処理を実行した前記記憶領域、及び、前記読み出し処理の実行時間における前記論理回路を構成する各記憶素子の記憶内容を含む内部状態を記憶する内部状態記憶手段と、
前記テストパターン群毎に、前記基準テストパターンにおける前記読み出し処理を実行する前記記憶領域とその記憶内容、及び、前記基準テストパターンを除く前記テストパターン夫々における前記読み出し処理を実行する前記記憶領域とその記憶内容に基づいて、前記テストパターン夫々の実行順序を設定し、前記基準テストパターン以外の前記テストパターン夫々について、利用する前記内部状態を選択する実行手順設定手段と、
前記テストパターン群毎に、前記基準テストパターン以外の前記テストパターン夫々について、選択した前記内部状態を用いて前記機能検証を実行する機能検証手段と、を備えることを特徴とする機能検証装置。 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.
前記機能検証手段は、前記テストパターン毎の機能検証において、前記実行手順設定手段で決定された前記内部状態を記憶する前記読み出し処理の前記内部状態を記憶することを特徴とする請求項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.
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)
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 |
-
2006
- 2006-11-02 JP JP2006298722A patent/JP2008117110A/en not_active Withdrawn
Cited By (5)
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 |