JP2010044622A - Information processor test program and method - Google Patents

Information processor test program and method Download PDF

Info

Publication number
JP2010044622A
JP2010044622A JP2008208676A JP2008208676A JP2010044622A JP 2010044622 A JP2010044622 A JP 2010044622A JP 2008208676 A JP2008208676 A JP 2008208676A JP 2008208676 A JP2008208676 A JP 2008208676A JP 2010044622 A JP2010044622 A JP 2010044622A
Authority
JP
Japan
Prior art keywords
test
information
monitoring
processing
assertion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008208676A
Other languages
Japanese (ja)
Other versions
JP5308098B2 (en
Inventor
Koichiro Kiyota
浩一郎 清田
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.)
Hitachi Information and Telecommunication Engineering Ltd
Original Assignee
Hitachi Information and Communication Engineering Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Information and Communication Engineering Ltd filed Critical Hitachi Information and Communication Engineering Ltd
Priority to JP2008208676A priority Critical patent/JP5308098B2/en
Publication of JP2010044622A publication Critical patent/JP2010044622A/en
Application granted granted Critical
Publication of JP5308098B2 publication Critical patent/JP5308098B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique capable of enhancing the comprehensiveness of a test such as a competition test of a device to be tested. <P>SOLUTION: This test method has processing for generating a test data using a random number (S20), processing for generating an expected value of a test result (S21), processing for starting up an assertion checker for monitoring the test (S22), processing for executing the test for the device to be tested (S23), processing for accumulating monitored information by the assertion checker (S25), processing for outputting the test result (S27), processing for collecting and analyzing the monitored information, to update coverage information (S26, S32, S33), and processing for regulating a content of the test by the test data, based on the coverage information (S34) or the like. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、半導体集積回路(IC)等の情報処理装置における論理回路等の機能(論理)等を対象とした試験(テスト)の方法に関し、特に、乱数を用いてランダムな試験を行う方法を用いて、被試験装置の複数の要素(プロセッサ等)を試験する方法に関する。   The present invention relates to a test method for a function (logic) of a logic circuit or the like in an information processing apparatus such as a semiconductor integrated circuit (IC), and in particular, a method of performing a random test using a random number. And relates to a method of testing a plurality of elements (such as a processor) of a device under test.

従来技術における情報処理装置の試験方法は以下である。情報処理装置(以下、被試験装置と称する)の論理的制御部を構成する論理回路等を対象とした試験を行う。この試験の被試験装置は、プロセッサ(CPU)、記憶装置(メモリ)、及び入出力装置等の周辺装置、等を有する構成である。またそれらの要素を接続して通信可能とするバス(システムバス)などの装置(システム)を有する。   The information processing apparatus testing method in the prior art is as follows. A test is performed on a logic circuit or the like constituting a logical control unit of an information processing apparatus (hereinafter referred to as a device under test). The device under test of this test has a configuration including a processor (CPU), a storage device (memory), and peripheral devices such as an input / output device. In addition, a device (system) such as a bus (system bus) that connects these elements and enables communication is included.

上記試験では、試験者により試験項目が抽出される(例えばハードウェアマニュアルをもとに考慮及び決定される)。この試験項目がすべての論理回路動作を網羅することができれば、試験の精度が完全に確保されていることになる。   In the above test, test items are extracted by a tester (for example, considered and determined based on a hardware manual). If this test item can cover all the logic circuit operations, the accuracy of the test is completely ensured.

しかしながら、現在の情報処理装置は論理構成が複雑であるため、すべての試験項目を抽出して試験を行うことは困難であり、試験項目の抽出洩れや実行洩れ等の可能性がある。よって、すべての試験ではなくとも、次善として、試験の精度を高めることが求められる。   However, since the current information processing apparatus has a complicated logical configuration, it is difficult to perform a test by extracting all the test items, and there is a possibility of test item extraction omission or execution omission. Therefore, even if not all tests, it is required to improve the accuracy of the test as the second best.

そのため、従来、乱数を用いてランダムな試験を行う試験方法(乱数試験方法)が用いられている。即ち、複数の要素や複数の試験命令及びパラメータなどに関して、乱数データを用いてランダムに試験内容(試験データ)を多数生成して試験に適用する方法である。これにより、試験項目の抽出洩れや実行洩れ等を補っている。   Therefore, conventionally, a test method (random number test method) for performing a random test using a random number is used. That is, with respect to a plurality of elements and a plurality of test instructions and parameters, a lot of test contents (test data) are randomly generated using random number data and applied to the test. This compensates for test item extraction omission and execution omission.

上記乱数試験方法などに関して、以下に示すような従来技術例がある。   Regarding the above random number test method and the like, there are conventional examples as follows.

(1)特開平7−253901号公報(特許文献1)には、乱数データを入力として試験命令列を繰り返し生成し当該命令列を被試験情報処理装置に実行させて当該装置を試験する技術が記載されている。この技術において、乱数データを入力として次の試験命令列を生成するときに、繰り返し生成された試験命令列の中で、発生頻度の少ない試験命令を、無作為に、乱数データを入力として生成中の試験命令列に挿入する旨が記載されている。   (1) Japanese Patent Laid-Open No. 7-253901 (Patent Document 1) discloses a technique for repeatedly generating a test instruction sequence using random number data as input and causing the information processing apparatus to execute the instruction sequence to test the apparatus. Are listed. In this technology, when the next test instruction sequence is generated with random number data as input, a test instruction with a low occurrence frequency is generated at random, using random number data as input, in the repeatedly generated test instruction sequence Is inserted in the test instruction sequence.

(2)また、特開2005−108007号公報(特許文献2)には、LSI設計検証装置及び方法において、RTL(レジスタ転送レベル)シミュレーションの途中段階、又は検証対象となるLSIの回路内部において、動作シミュレーションにおける動作履歴を抽出することで、整合しているかどうかを検証するアサーションチェック手段を用いる旨が記載されている。この技術は、論理の矛盾を検出するために論理内部に検証用の仕掛け(アサーションチェック手段)を組み込む方式(アサーションを用いた試験方法)である。   (2) In addition, in Japanese Patent Application Laid-Open No. 2005-108007 (Patent Document 2), in an LSI design verification apparatus and method, in the middle stage of RTL (register transfer level) simulation or in an LSI circuit to be verified, It is described that an assertion check means for verifying whether or not they are consistent by extracting an operation history in the operation simulation is described. This technique is a method (test method using assertions) in which a device for verification (assertion check means) is incorporated in the logic in order to detect a contradiction in the logic.

(3)また、特開2002−149440号公報(特許文献3)には、論理回路検証方法及び装置において、乱数検証(乱数試験方法)における論理シミュレーションの検証効率の低下を抑えることを目的とした検証を実行するか否かを判定する旨が記載されている。この技術は、検証済みパターン履歴情報を蓄積、更新して、試験実行判断や障害解析に役立てるものである。
特開平7−253901号公報 特開2005−108007号公報 特開2002−149440号公報
(3) JP 2002-149440 A (Patent Document 3) aims to suppress a decrease in verification efficiency of logic simulation in random number verification (random number test method) in a logic circuit verification method and apparatus. It is described that it is determined whether or not to execute verification. This technique accumulates and updates verified pattern history information, which is useful for test execution judgment and failure analysis.
Japanese Patent Laid-Open No. 7-253901 JP 2005-108007 A JP 2002-149440 A

前述の従来技術において、試験の精度を高めるために、特に、被試験装置における複数の各要素(CPU、周辺装置、記憶装置など)及びシステムバスを含めた構成において、それぞれの処理機能及びそれらの並列(同時並行)動作を、網羅的に試験することが望まれる。   In the above-described prior art, in order to improve the accuracy of the test, in particular, in the configuration including a plurality of elements (CPU, peripheral device, storage device, etc.) and system bus in the device under test, It is desirable to exhaustively test parallel (simultaneous parallel) operation.

そのためには、CPU向け試験、周辺装置向け試験、及び記憶装置へのデータ転送試験、といった各要素向けの試験(個別試験)を、並列で実行する試験、即ち競合試験、を強化することが求められる。   For that purpose, it is necessary to strengthen tests for individual elements (individual tests) such as a test for CPU, a test for peripheral devices, and a data transfer test to a storage device, that is, a competitive test. It is done.

そこで、上記各要素の個別試験の命令実行を組み合わせ、その命令発行タイミングや、システムバスを経由する周辺装置の起動タイミングなどのタイミング条件を意識した複雑な組み合わせによって、各要素に高負荷を与えた条件下での試験(競合試験)、が重要となる。   Therefore, a high load was applied to each element by combining the instruction execution of the individual test of each element above, and by complicated combination considering timing conditions such as instruction issue timing and start timing of peripheral devices via the system bus. Testing under conditions (competitive testing) is important.

前述の従来技術例では、例えば乱数試験方法においては、乱数の特徴を活かして多種多様な組み合わせのアルゴリズムでの試験を実現している。   In the above-described prior art example, for example, in the random number test method, tests using various combinations of algorithms are realized by utilizing the characteristics of random numbers.

被試験装置の要素の試験、特にCPUや周辺装置などの多数の要素の動作を意識しなければならない複雑な試験では、それら各要素向けの個別試験を生成してそれらを単純に実行する方式が採用されていた。また、複数の要素に関する競合動作の試験についても、要素の組み合わせによる試験を並列で実行することによって、ある程度までは行われていた。   In the test of the elements of the device under test, especially complex tests that must be aware of the operation of many elements such as CPUs and peripheral devices, there is a method of generating individual tests for each of those elements and simply executing them. It was adopted. In addition, the competitive operation test for a plurality of elements has been performed to some extent by executing a test based on a combination of elements in parallel.

しかし、それら各要素の個別試験の生成は独立しており、当該試験同士には相互関係が無い。よって、特に複数の要素の競合動作(並列動作)の試験に関する網羅性(言い換えるとカバレッジ)に欠けており、試験洩れ等が発生する可能性がある。また、乱数性に偏りが発生する可能性もある。また、網羅性の度合いが不明確であり、試験が実際にどこまで達成できたのか、あるいはその有効性や十分性など、が不明確である。   However, the generation of individual tests for each of these elements is independent and there is no correlation between the tests. Therefore, in particular, there is a lack of completeness (in other words, coverage) related to a test of competing operations (parallel operations) of a plurality of elements, and there is a possibility that a test leak or the like may occur. There is also a possibility that the randomness may be biased. In addition, the degree of completeness is unclear, and it is unclear how far the test was actually achieved or its effectiveness and sufficiency.

従来、要素の組み合わせによる競合動作を網羅的に試験することは困難であり、偶然性や時間に期待してしまうことは否定できない。   Conventionally, it has been difficult to comprehensively test competing operations by combining elements, and it cannot be denied that one would expect chance or time.

なお、前記特許文献1の技術は、乱数試験方法に関するが、アサーション(アサーションチェック方法)や、タイミング(タイミング試験方法)や、カバレッジを用いた方法に関するものではない。前記特許文献2の技術は、アサーション(アサーションチェック方法)に関するが、乱数試験方法などに関するものではない。前記特許文献3の技術は、乱数試験方法に関するが、試験内容を調整する方法(カバレッジを用いた方法)ではない。   The technique of Patent Document 1 relates to a random number test method, but does not relate to an assertion (assertion check method), timing (timing test method), or a method using coverage. The technique of Patent Document 2 relates to an assertion (assertion check method), but does not relate to a random number test method or the like. The technique of Patent Document 3 relates to a random number test method, but is not a method for adjusting the test content (a method using coverage).

本発明は以上のような問題に鑑みてなされたものであり、その目的は、情報処理装置(被試験装置)の競合試験等の試験の網羅性を高めることができる技術を提供することである。   The present invention has been made in view of the above problems, and an object of the present invention is to provide a technique capable of enhancing the completeness of a test such as a competition test of an information processing apparatus (device under test). .

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明は、論理シミュレーションやFPGA(Field Programmable Gate Array)等により、情報処理装置(IC等)の論理回路等(被試験装置)の試験などを行う方法(情報処理装置試験方法)、その処理作業を行うためのコンピュータ、及びプログラム(情報処理装置試験プログラム)に係わり、乱数試験方法、アサーションチェック方法などを用いるものであり、以下に示す構成を有することを特徴とする。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows. In order to achieve the above object, the present invention provides a method (information processing) for testing a logic circuit or the like (device under test) of an information processing device (IC or the like) by logic simulation or FPGA (Field Programmable Gate Array) or the like. Device test method), a computer for performing the processing work, and a program (information processing device test program), which uses a random number test method, an assertion check method, etc., and has the following configuration To do.

本試験方法では、試験の網羅性や不良を判断するための根拠となる数量的な指標及び手段を導入する。本試験方法では、被試験装置の複数の要素(論理的なデバイス)の競合動作状態などの試験を監視(アサーションチェック)するだけでなく、その監視情報に基づき、試験の網羅性を管理するためのカバレッジ情報を更新し、これに基づくフィードバック(反映)により、試験内容(試験データ)の調整を駆動する仕組みを備えるものである。カバレッジ情報は、具体的には、所定の信号条件の発生を管理する情報(イベント情報)や、要素の動作のタイミングを管理する情報(タイミング情報)などである。これにより、複数回の試験における各試験での競合動作を自動生成したり、試験洩れを防ぐことで、試験の網羅性を高めることが実現される。   This test method introduces quantitative indicators and means that are the basis for judging test completeness and failure. This test method not only monitors (assertion check) tests such as the competitive operation status of multiple elements (logical devices) of the device under test, but also manages the comprehensiveness of the test based on the monitoring information. The coverage information is updated, and a mechanism for driving adjustment of test contents (test data) is provided by feedback (reflection) based on the updated coverage information. Specifically, the coverage information is information (event information) for managing the occurrence of a predetermined signal condition, information (timing information) for managing the operation timing of elements, and the like. As a result, it is possible to automatically generate a competitive operation in each test in a plurality of tests and to prevent test leakage, thereby improving the test coverage.

(1)本方法及び対応プログラムでは、具体的に以下のような処理ステップを有する。   (1) This method and the corresponding program specifically have the following processing steps.

(A)試験プログラムにより乱数を用いて試験内容に対応する試験データ(試験命令列(群)及びそのパラメータ)を生成する処理ステップ。   (A) A processing step of generating test data (test instruction sequence (group) and parameters thereof) corresponding to the test content using a random number by a test program.

(B)前記試験データを論理シミュレータ上で実行することによって試験結果の期待値を生成する処理ステップ。   (B) A processing step of generating an expected value of a test result by executing the test data on a logic simulator.

(C)前記試験の監視(アサーションチェック)のために用意したアサーションプログラムであるアサーションチェッカーを試験開始の直前に起動する処理ステップ。   (C) A processing step of starting an assertion checker, which is an assertion program prepared for monitoring the test (assertion check), immediately before the start of the test.

(D)被試験装置におけるプロセッサ、周辺装置、及び記憶装置などの複数の要素に対し一斉に前記試験データによる試験を実行する処理ステップ。   (D) A processing step for executing a test based on the test data simultaneously on a plurality of elements such as a processor, a peripheral device, and a storage device in the device under test.

(E)前記試験の実行時に前記アサーションチェッカーによる監視の処理を行い、それによる監視情報を蓄積する処理ステップ。アサーションチェック(監視)では、各要素の起動などの動作の履歴の抽出(トレース)を含む。   (E) A processing step of performing monitoring processing by the assertion checker during execution of the test and accumulating monitoring information based thereon. The assertion check (monitoring) includes extraction (trace) of a history of operations such as activation of each element.

(F)前記試験の実行結果と前記期待値とを比較して結果を出力する処理ステップ。   (F) A processing step of comparing the execution result of the test with the expected value and outputting the result.

(G)前記監視情報を採取し、採取した監視情報を解析し、解析結果を用いて、試験の網羅性などを管理するための情報であるカバレッジ情報を更新する処理ステップ。   (G) A processing step of collecting the monitoring information, analyzing the collected monitoring information, and updating coverage information, which is information for managing test coverage and the like, using the analysis result.

(H)前記解析結果または前記更新されたカバレッジ情報に基づき、判断に応じて、前記試験データ(次回の試験内容)を調整(試験命令列またはパラメータの少なくとも一方の調整)する処理ステップ。また、必要が無ければ、試験内容の変更はせずに、新規に試験が生成されるようにする。   (H) A processing step of adjusting the test data (the next test content) based on the analysis result or the updated coverage information (adjustment of at least one of a test instruction sequence or a parameter). If there is no need, the test content is not changed and a new test is generated.

(I)前記調整による新しい試験(次回の試験)を実行する処理ステップ。   (I) A processing step of executing a new test (next test) by the adjustment.

上記(H),(I)の処理ステップでは、前回の試験で生成済みの試験データに対し、試験実行結果(カバレッジ情報の内容)をフィードバックにより反映させる。これにより、例えば、同じ試験命令を再利用しそのパラメータのみを調整した試験を生成する。   In the processing steps (H) and (I), the test execution result (contents of coverage information) is reflected by feedback on the test data generated in the previous test. Thereby, for example, a test in which the same test instruction is reused and only its parameters are adjusted is generated.

前記監視情報には、監視対象の要素の動作の時間や回数などの情報が含まれる。また、前記カバレッジ情報には、アサーションでの所定の信号条件の発生に関するイベント情報などが含まれる。イベント情報は、信号条件の成立の発生回数や頻度、並びに、試験の調整の回数などが含まれる。   The monitoring information includes information such as the operation time and the number of times of the elements to be monitored. Further, the coverage information includes event information related to occurrence of a predetermined signal condition in the assertion. The event information includes the number and frequency of occurrence of the signal condition, the number of adjustments of the test, and the like.

(2)また、上記(1)で更に、上記(G)のカバレッジ情報を更新する処理ステップにおいては、更新の際、過去(蓄積済み)のカバレッジ情報に対し、前記(A),(H)により生成された試験データの内容(履歴)と、複数の要素の同時並行動作(競合動作)に関するタイミング情報とを加え合わせる。タイミング情報は、要素の動作タイミング(起動時刻、終了時刻、実行時間)の情報や、競合時間や競合回数、同時期に動作した周辺装置の競合率などの情報が含まれる。特に、タイミング情報を用いて、複数の要素における競合性の低い部位を、調整の対象として選択する。   (2) Further, in the processing step of updating the coverage information of (G) above in (1), the (A), (H) The contents (history) of the test data generated by the above and the timing information regarding the simultaneous parallel operation (competitive operation) of a plurality of elements are added. The timing information includes information such as element operation timing (start time, end time, execution time), contention time, contention frequency, and contention rate of peripheral devices operating at the same time. In particular, using the timing information, a portion having a low competitiveness among a plurality of elements is selected as an adjustment target.

(3)また、上記(1)または(2)で更に、上記(H)の試験内容の調整の処理ステップにおいては、カバレッジ情報と更なる乱数とを組み合わせて用いて、調整対象となる要素(その試験命令やパラメータ等)を選定して、調整を行う。このための判断では、未試験の部位や競合性の低い部位などを優先的に選定し、その試験を実行するための試験データを生成する。   (3) Further, in (1) or (2) above, in the adjustment process step of the test content in (H) above, the elements to be adjusted (coverage information and further random numbers are used in combination) Select the test instructions and parameters, etc.) and make adjustments. In the determination for this purpose, an untested part or a part with low competitiveness is selected preferentially, and test data for executing the test is generated.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。本発明によれば、被試験装置の競合試験等の試験の網羅性を高めることができる。   Among the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows. According to the present invention, it is possible to improve the completeness of a test such as a competitive test of a device under test.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

<概要>
本実施の形態では、図1〜図11、特に図4等に示すように、試験のアサーションチェックによる監視情報、及び監視情報をもとに更新されるカバレッジ情報を用いて、競合試験等の試験の網羅性を高める方針で、フィードバックにより試験内容を変更(例えばパラメータ調整)するものである。
<Overview>
In this embodiment, as shown in FIG. 1 to FIG. 11, particularly FIG. 4, etc., a test such as a competition test is performed using the monitoring information by the test assertion check and the coverage information updated based on the monitoring information. The test contents are changed by feedback (for example, parameter adjustment).

<1:情報処理システム>
図1において、本実施の形態の試験方法及びプログラムを適用するコンピュータである情報処理装置(EWS)を含んで成る情報処理システム(論理シミュレーション環境)の基本的な構成例を示している。本システムは、EWS(エンジニアリングワークステーション)100のような汎用の情報処理装置、及びそれに接続されるコンソール端末200を有する。試験者(U)は、入出力処理に用いる情報処理端末装置であるコンソール端末200を操作し、操作に従い、EWS100での情報処理が行われる。
<1: Information processing system>
FIG. 1 shows a basic configuration example of an information processing system (logic simulation environment) including an information processing apparatus (EWS) that is a computer to which the test method and program of the present embodiment are applied. This system includes a general-purpose information processing apparatus such as an EWS (engineering workstation) 100 and a console terminal 200 connected thereto. The tester (U) operates the console terminal 200 which is an information processing terminal device used for input / output processing, and information processing in the EWS 100 is performed according to the operation.

EWS100は、制御部101(CPU等)、記憶部102(RAM等のメモリ)、通信部103(ネットワークインタフェース等)、補助記憶部104(HDD等)、入力部105、表示部106等のハードウェアを備える。EWS100において、制御部101等により実現される論理シミュレータ10を有する。論理シミュレータ10上では、試験プログラム30(乱数試験プログラム)等のプログラムが実行される。試験プログラム30は、本実施の形態のプログラムに相当する。   The EWS 100 includes hardware such as a control unit 101 (CPU and the like), a storage unit 102 (memory such as RAM), a communication unit 103 (network interface and the like), an auxiliary storage unit 104 (HDD and the like), an input unit 105, a display unit 106, and the like. Is provided. The EWS 100 includes a logic simulator 10 realized by the control unit 101 or the like. On the logic simulator 10, a program such as a test program 30 (random number test program) is executed. The test program 30 corresponds to the program of the present embodiment.

論理シミュレータ10は、プロセッサやメモリなどの要素をすべて接続したモデルで対象システム(被試験装置20)の論理シミュレーションを行うことができる総合的な環境である。論理シミュレータ10は、論理シミュレーションの処理により、対象システムのハードウェアの動作を擬似的に動作させることができる。論理シミュレータ10による論理シミュレーション内において、被試験装置20が論理的に構成される。論理シミュレータ10上の論理シミュレーションの処理において、試験プログラム30を用いた試験(乱数試験)の処理により、被試験装置20を対象として、その処理機能や競合動作などに関する試験が行われる。   The logic simulator 10 is a comprehensive environment in which a target system (device under test 20) can perform a logic simulation using a model in which all elements such as a processor and a memory are connected. The logic simulator 10 can artificially operate the hardware operation of the target system by the logic simulation process. In the logic simulation by the logic simulator 10, the device under test 20 is logically configured. In the logic simulation process on the logic simulator 10, a test (random number test) process using the test program 30 is performed on the device under test 20 with respect to its processing function and competitive operation.

制御部101は、補助記憶部104から記憶部102上に読み出されたデータに対して処理を行うことで、論理シミュレーション等の処理を実現する。通信部103、入力部105、表示部106等は、コンソール端末200とのインタフェースを有し、コンソール端末200のキーボードやマウスからの入力情報を受け付けて入力処理することや、出力情報をコンソール端末200のディスプレイ画面やプリンタへ出力処理すること等が行われる。   The control unit 101 realizes processing such as logic simulation by processing the data read from the auxiliary storage unit 104 onto the storage unit 102. The communication unit 103, the input unit 105, the display unit 106, and the like have an interface with the console terminal 200, receive input information from the keyboard and mouse of the console terminal 200, perform input processing, and output information to the console terminal 200. For example, output processing to a display screen or a printer is performed.

論理シミュレータ10は、試験プログラム30の他、OSやその他のプログラムを含む。論理シミュレータ10において、OS上で、試験プログラム30を被試験装置20に対して実行させ、試験リソースを供給する。試験リソースは、レジスタ値などである。   The logic simulator 10 includes an OS and other programs in addition to the test program 30. In the logic simulator 10, the test program 30 is executed on the device under test 20 on the OS to supply test resources. The test resource is a register value or the like.

被試験装置20は、VHDL等のハードウェア記述言語(HDL)により論理ファイルとして記述されている。当該論理ファイルは、設計者等により作成される。試験者(U)は、コンソール端末200からEWS100の論理シミュレータ10を実行させて、論理シミュレータ10に被試験装置20の論理ファイルを入力する。被試験装置20は、試験の対象となる、後述のプロセッサ等の各要素などを構成する論理である。   The device under test 20 is described as a logical file in a hardware description language (HDL) such as VHDL. The logical file is created by a designer or the like. The tester (U) causes the logic simulator 10 of the EWS 100 to be executed from the console terminal 200 and inputs the logic file of the device under test 20 to the logic simulator 10. The device under test 20 is a logic that configures each element such as a processor to be tested, which will be described later.

試験プログラム30は、各回の試験毎の試験データ50を生成するものであり、乱数を用いてランダムな試験内容を生成するプログラムを含む。試験データ50を用いて被試験装置20が試験される。被試験装置20に対する試験は、必要に応じて多数回の試験が繰り返し行われる。   The test program 30 generates test data 50 for each test, and includes a program that generates random test contents using random numbers. The device under test 20 is tested using the test data 50. The test for the device under test 20 is repeatedly performed as many times as necessary.

また、試験プログラム30(試験データ50)と関連して、アサーションチェック(監視)のためのアサーションチェッカー6が、HDLにより被試験装置20の内部に記述される。アサーションチェッカー6は、後述のアサーションチェッカー制御プログラム60により記述、制御される。アサーションチェッカー6は、試験に関する特定の信号、信号条件を監視、検出して、それを表す情報(後述するアサーション監視情報31)を出力することができる論理である。   Further, in association with the test program 30 (test data 50), an assertion checker 6 for assertion check (monitoring) is described in the device under test 20 by HDL. The assertion checker 6 is described and controlled by an assertion checker control program 60 described later. The assertion checker 6 is a logic capable of monitoring and detecting a specific signal and signal condition relating to the test and outputting information (assertion monitoring information 31 to be described later) representing it.

論理シミュレーター10は、上記アサーション監視情報31や、アサーション監視情報31をもとに作成・更新される、試験の網羅性(範囲)の管理のための情報(後述するカバレッジ情報32)などを蓄積する機能、及びそれらの情報を用いて試験内容を変更する機能などを持つ。   The logic simulator 10 stores the assertion monitoring information 31 and information (coverage information 32 to be described later) for managing the completeness (range) of the test created / updated based on the assertion monitoring information 31. It has a function and a function to change the test contents using the information.

これにより、本システムでは、試験内容の変更の方針を導き、試験結果(カバレッジ情報32)を、既に生成・実行済みの試験内容に対してフィードバック(反映)することで、次回以降の試験内容を生成して実行することができる。試験者は、本システムの機能を用いることで、試験内容の変更の方針(大きくは網羅性を高めること)を導きやすい。また所定の方針に従って、フィードバックにより自動的に試験内容を変更することができる。本システムでは、システムバス5上の特に競合があまり発生していない部位を対象として試験を優先的に実行することができる。これにより、複数回の試験における各試験での競合動作を自動生成し、試験洩れ等を防止することができる。   As a result, the system guides the policy for changing the test contents, and feeds back (reflects) the test results (coverage information 32) to the test contents that have already been generated and executed. Can be generated and executed. By using the functions of this system, the tester can easily guide the policy for changing the test contents (in general, improving the completeness). In addition, the test contents can be automatically changed by feedback according to a predetermined policy. In this system, it is possible to preferentially execute a test on a part of the system bus 5 where there is not much competition. As a result, it is possible to automatically generate a competing operation in each test in a plurality of tests and prevent test leakage and the like.

<2:被試験装置>
図2において、論理シミュレータ10上での被試験装置20の構成例、及びそれに関連して、試験実行時の試験プログラム30(試験データ50)の状態などを示している。なお、図2では、説明のため、図1の物理的構成(記憶部102)と、論理的構成である被試験装置20とを繋いで示している。被試験装置20は、プロセッサ(CPU)1、周辺装置2(入出力装置(IO)など)、記憶装置(メモリ)3等の要素、及びこれらを接続するシステムバス5等を有する構成である。
<2: Device under test>
FIG. 2 shows a configuration example of the device under test 20 on the logic simulator 10 and a state of the test program 30 (test data 50) at the time of executing the test in relation thereto. In FIG. 2, for the sake of explanation, the physical configuration (storage unit 102) of FIG. 1 is connected to the device under test 20 that is a logical configuration. The device under test 20 includes a processor (CPU) 1, a peripheral device 2 (input / output device (IO), etc.), a storage device (memory) 3, etc., and a system bus 5 for connecting them.

プロセッサ1は、命令を処理するCPU、マイクロプロセッサ等の論理である。記憶装置3は、命令やデータを格納するメモリ(メインメモリ、2次メモリ、ストレージ等)の論理である。プロセッサ1は、記憶装置3から命令(試験命令)を読み出して実行し結果を記憶装置3に格納する。周辺装置2は、入出力装置(IO)などの論理であり、プロセッサ1や記憶装置3との間で通信が行われる。システムバス5は、プロセッサ1や周辺装置2や記憶装置3などの要素間におけるデータや信号の流れを制御する。なお、プロセッサ1等の各要素は、図2中では1つのみ示しているが、それぞれ複数存在する構成も可能である(例えばマルチプロセッサシステム)。   The processor 1 is logic such as a CPU or a microprocessor that processes instructions. The storage device 3 is the logic of a memory (main memory, secondary memory, storage, etc.) that stores instructions and data. The processor 1 reads out and executes an instruction (test instruction) from the storage device 3 and stores the result in the storage device 3. The peripheral device 2 is logic such as an input / output device (IO), and communicates with the processor 1 and the storage device 3. The system bus 5 controls the flow of data and signals between elements such as the processor 1, the peripheral device 2, and the storage device 3. Although only one element such as the processor 1 is shown in FIG. 2, a configuration in which a plurality of each element exists (for example, a multiprocessor system) is also possible.

一方、物理的な記憶部102には、試験プログラム30、アサーション監視情報31、カバレッジ情報32等のデータが格納されている。試験プログラム30は、各回の試験の実行の際、試験データ50を自動生成し、その試験データ50を記憶装置3の任意番地に配置する。記憶装置3上に配置された試験データ50は、プロセッサ1により順次フェッチされて実行され、これにより試験が実行される。試験データ50は、試験命令列51(コード)とそのパラメータ52(変数データ等)とを含んでいる。試験命令列51は、試験命令群からなる。パラメータ52は、試験命令列51に代入される。試験命令は、データのリード、ライト等の一般的な命令を有する。   On the other hand, the physical storage unit 102 stores data such as the test program 30, the assertion monitoring information 31, and the coverage information 32. The test program 30 automatically generates test data 50 when each test is executed, and places the test data 50 at an arbitrary address in the storage device 3. The test data 50 arranged on the storage device 3 is sequentially fetched and executed by the processor 1, thereby executing the test. The test data 50 includes a test instruction sequence 51 (code) and its parameters 52 (variable data and the like). The test instruction sequence 51 includes a test instruction group. The parameter 52 is substituted into the test instruction sequence 51. The test instruction includes general instructions such as data read and write.

また、これら試験対象の各要素(1,2,3)と接続するアサーションチェッカー6(6−1,6−2,6−3)を有する。アサーション(アサーションチェッカー6)は、機能の仕様や設計の意図、前提などが記述されたものであり、対象要素の論理記述が当該仕様等の通りかどうかを監視する。各アサーションチェッカー6(6−1,6−2,6−3)は、論理的構成としては、図2のように対象の要素とシステムバス5との間の信号線に介在する形で接続されている(対象要素の論理内に埋め込み又は関連付けの形)。アサーションチェッカー6によりシステムバス5のバスプロトコルでの制御信号を監視する。各アサーションチェッカー6は、対応する要素(その信号)を監視し、動作履歴を抽出(トレース)する機能を持つ。試験の際に試験プログラム30により起動されたアサーションチェッカー6は、各要素間、すなわちプロセッサ1とシステムバス5との間、システムバス5と周辺装置2との間、及び記憶装置3とシステムバス5との間に発行される各信号を同時並行的に監視する。アサーションチェッカー6は、監視により抽出した情報であるアサーション監視情報31(監視情報)を出力し、記憶部102(または記憶装置3)内に用意された任意番地に格納(蓄積)する。   Moreover, it has the assertion checker 6 (6-1, 6-2, 6-3) connected with each element (1, 2, 3) of these test objects. The assertion (assertion checker 6) describes a function specification, design intention, premise, and the like, and monitors whether the logical description of the target element is as per the specification. Each assertion checker 6 (6-1, 6-2, 6-3) is logically connected in such a manner as to be interposed in a signal line between the target element and the system bus 5 as shown in FIG. (Embedded or associated in the logic of the target element) The assertion checker 6 monitors a control signal in the bus protocol of the system bus 5. Each assertion checker 6 has a function of monitoring a corresponding element (its signal) and extracting (tracing) an operation history. The assertion checker 6 activated by the test program 30 at the time of the test is between each element, that is, between the processor 1 and the system bus 5, between the system bus 5 and the peripheral device 2, and between the storage device 3 and the system bus 5. Each signal issued between and is monitored in parallel. The assertion checker 6 outputs assertion monitoring information 31 (monitoring information), which is information extracted by monitoring, and stores (accumulates) it at an arbitrary address prepared in the storage unit 102 (or storage device 3).

<3:論理シミュレータ、試験プログラム>
図3において、論理シミュレータ10と試験プログラム30を中心として、本実施の形態の特徴的な試験制御部における各処理部などの相関関係を含む構成を示している。論理シミュレータ10上では、図2のような被試験装置20の試験に対し、アサーションチェッカー6により監視し、アサーション監視情報31、及びカバレッジ情報32を記憶部102に蓄積する。
<3: Logic simulator, test program>
FIG. 3 shows a configuration including the correlation of each processing unit in the characteristic test control unit of the present embodiment, centering on the logic simulator 10 and the test program 30. On the logic simulator 10, the test of the device under test 20 as shown in FIG. 2 is monitored by the assertion checker 6, and the assertion monitoring information 31 and the coverage information 32 are accumulated in the storage unit 102.

試験プログラム30は、試験生成処理部11、期待値生成処理部12、試験実行処理部13、試験結果比較・出力処理部14 、アサーション起動処理部15、監視情報採取・解析処理部16、カバレッジ情報更新処理部17、試験データ調整処理部18、等の処理部を有する。各処理部は線で示すように相互に情報データを授受する。   The test program 30 includes a test generation processing unit 11, an expected value generation processing unit 12, a test execution processing unit 13, a test result comparison / output processing unit 14, an assertion activation processing unit 15, a monitoring information collection / analysis processing unit 16, and coverage information. It has processing units such as an update processing unit 17 and a test data adjustment processing unit 18. Each processing unit exchanges information data with each other as indicated by a line.

11〜14の処理部は、従来の方式でも存在し、本実施の形態でも前提的に存在する機能である。これらの処理部は、各回の試験における試験生成・実行サイクルに係わる処理を行うものであり、試験内容(試験データ50)の生成、当該試験の期待値の生成、当該試験の実行、及び当該試験結果の出力、といった基本的な処理を行うものである。また、15〜18等の処理部は、本特徴を実現するために必要な処理部であり、アサーションやカバレッジ、フィードバックに係わる処理を行うものである。   The processing units 11 to 14 also exist in the conventional method, and are functions that presuppose in this embodiment. These processing units perform processing related to the test generation / execution cycle in each test, generation of test contents (test data 50), generation of expected values of the test, execution of the test, and the test It performs basic processing such as output of results. Further, the processing units such as 15 to 18 are processing units necessary for realizing this feature, and perform processing related to assertion, coverage, and feedback.

試験生成処理部11は、各回の試験を最初から作成する。試験生成処理部11は、試験データ50(試験命令列51、パラメータ52)を生成する。   The test generation processing unit 11 creates each test from the beginning. The test generation processing unit 11 generates test data 50 (test instruction sequence 51, parameter 52).

期待値生成処理部12は、試験データ50をもとに、その試験の結果の期待値を生成する。   The expected value generation processing unit 12 generates an expected value as a result of the test based on the test data 50.

試験実行処理部13は、アサーションチェカー6の監視下で、プロセッサ1、周辺装置2、記憶装置3、システムバス5等の被試験装置20に対する試験を実行する。試験実行処理部13は、試験生成処理部11によって生成された試験データ50を記憶装置3へ配置し、プロセッサ1に試験データ50による試験を実行させる。   The test execution processing unit 13 executes a test on the device under test 20 such as the processor 1, the peripheral device 2, the storage device 3, and the system bus 5 under the monitoring of the assertion checker 6. The test execution processing unit 13 places the test data 50 generated by the test generation processing unit 11 in the storage device 3, and causes the processor 1 to execute a test using the test data 50.

試験結果比較・出力処理部14は、試験データ50による試験結果と、期待値生成処理部12による期待値とを比較して、結果を出力する処理を行う。   The test result comparison / output processing unit 14 compares the test result based on the test data 50 with the expected value generated by the expected value generation processing unit 12 and outputs the result.

アサーション起動処理部15は、試験開始の際にアサーションチェカー6を起動する処理を行う。アサーション起動処理部15は、試験開始時に、記憶装置3の特定番地に書き込みを実施することで、アサーションチェッカー6(6−1,6−2,6−3)を起動する。   The assertion activation processing unit 15 performs a process of activating the assertion checker 6 at the start of the test. The assertion activation processing unit 15 activates the assertion checker 6 (6-1, 6-2, 6-3) by writing to a specific address of the storage device 3 at the start of the test.

監視情報採取・解析処理部16は、試験データ50による試験(今回の試験)の終了時に、アサーションチェカー6の出力による記憶部102内の当該試験に関するアサーション監視情報31を採取し、採取した情報を、カバレッジ情報32の更新のために解析する処理を行う。   The monitoring information collection / analysis processing unit 16 collects the assertion monitoring information 31 related to the test in the storage unit 102 based on the output of the assertion checker 6 at the end of the test based on the test data 50 (current test). Then, processing for analyzing the coverage information 32 is updated.

カバレッジ情報更新処理部17は、カバレッジ情報32を管理し、前記アサーション監視情報31の解析結果に基づき、次回以降の試験内容(試験データ50)を生成(変更)するために用いる情報として、カバレッジ情報32を更新する処理を行う。この更新では、追加情報(解析結果データ)が、記憶部102内の過去(蓄積済み)のカバレッジ情報32にマージされる。   The coverage information update processing unit 17 manages the coverage information 32 and, based on the analysis result of the assertion monitoring information 31, coverage information as information used for generating (changing) the next test content (test data 50). 32 is updated. In this update, the additional information (analysis result data) is merged with the past (accumulated) coverage information 32 in the storage unit 102.

試験データ調整処理部18は、試験データ生成処理部11に対する調整の役割である。試験データ調整処理部18は、カバレッジ情報32に基づき、次回以降の試験内容を生成するために、生成済みの試験(前回の試験内容)の試験データ50(試験命令列51または特にパラメータ52)を調整する処理を行う。例えば、試験データ調整処理部18は、生成済みの試験データ50の試験命令列51を再利用し、その試験命令列51に対してそのパラメータ52のみを調整のために作成(再生成)する。   The test data adjustment processing unit 18 has a role of adjustment with respect to the test data generation processing unit 11. Based on the coverage information 32, the test data adjustment processing unit 18 generates the test data 50 (the test instruction sequence 51 or particularly the parameter 52) of the generated test (previous test content) in order to generate the test content after the next time. Perform the adjustment process. For example, the test data adjustment processing unit 18 reuses the test command sequence 51 of the generated test data 50 and creates (regenerates) only the parameter 52 for the test command sequence 51 for adjustment.

試験データ調整処理部18は、調整の制御の仕方としては、例えば、複数の要素の競合性を高める方針に従って、カバレッジ情報32に基づき未試験の部位や競合性が低い部位などを次回の試験の候補にするように、試験データ50を調整する。例えば特に、競合動作状態となるように各要素の実行タイミングが調整される。なお、試験命令列51を変更する場合、パラメータ52を変更する場合、その両方を変更する場合などがある。   For example, the test data adjustment processing unit 18 controls the adjustment of an untested part or a part with low competitiveness based on the coverage information 32 according to a policy for increasing the competitiveness of a plurality of elements. The test data 50 is adjusted to be a candidate. For example, in particular, the execution timing of each element is adjusted so as to be in a competitive operation state. In some cases, the test instruction sequence 51 is changed, the parameter 52 is changed, or both are changed.

<4:試験プログラム、アサーションチェッカー>
図4において、試験プログラム30及びアサーションチェッカー6の概略処理フローを示している(Sは処理ステップを表す)。本フローでは、1回の試験の処理サイクルを示している。前述の図3の試験実行処理部13等により、各回の試験を実行する。
<4: Test program, assertion checker>
FIG. 4 shows a schematic processing flow of the test program 30 and the assertion checker 6 (S represents a processing step). In this flow, the processing cycle of one test is shown. Each test is executed by the test execution processing unit 13 of FIG.

試験者(U)による情報入力操作としては、設定情報の入力や、試験開始のための起動指示(実行コマンド)の挿入などがあるが、それ以外は基本的にコンピュータによる自動処理で実現される。   Information input operations by the examiner (U) include setting information input and insertion of a start instruction (execution command) for starting a test. Other than that, the operation is basically realized by automatic processing by a computer. .

まず、試験データ生成処理S20において、試験生成処理部11により、被試験装置20(各々の要素)に対し、乱数により試験データ50を生成する。試験データ50は、試験命令列51(試験命令群)とそれに付属させるパラメータ52を含む。乱数により、例えば、試験対象の要素、命令、パラメータ等が選択される。   First, in test data generation processing S20, the test generation processing unit 11 generates test data 50 for the device under test 20 (each element) using random numbers. The test data 50 includes a test instruction sequence 51 (test instruction group) and a parameter 52 attached thereto. For example, an element to be tested, a command, a parameter, and the like are selected by the random number.

プロセッサ1(CPU)向けの試験に関しては、試験対象リソースとして、汎用レジスタ、制御レジスタ、割り込みレジスタ、浮動小数点レジスタ、TLB(Translation Look-aside Buffer)、キャッシュ等のCPU毎に存在するリソースや、記憶装置3上のCPU共通領域や個別領域のデータなどがある。   Regarding the test for the processor 1 (CPU), as resources to be tested, resources such as general-purpose registers, control registers, interrupt registers, floating-point registers, TLB (Translation Look-aside Buffer), caches, and other resources existing in each CPU There are CPU common area and individual area data on the apparatus 3.

プロセッサ1向けの試験命令列51に関しては、乱数で生成され、1つの命令ごとにシミュレートしながら作成される。これは、効率的で効果的な命令列を作成させる目的があり、プログラムカウンタや各レジスタの変化を把握しながら命令列が作成される。   The test instruction sequence 51 for the processor 1 is generated by random numbers and is created while simulating each instruction. This has the purpose of creating an efficient and effective instruction sequence, and the instruction sequence is created while grasping changes in the program counter and each register.

レジスタ類の数は限られており、試験命令列51に関する試験命令数が多いほど、多くのレジスタが使用される。乱数で単純にレジスタを使用した場合、偏ったレジスタの使い方によって同一レジスタへの上書きが頻繁に発生し得る。その場合、レジスタ上で引き継がれる値が上書きにより消えてしまうことが有り得る。これにより、それまでの試験が無駄になってしまう可能性がある。これを避けるため、一旦、命令(試験命令)によって値が変化したレジスタ(例えばレジスタA)については、ソースレジスタとして使用し、当該値を別のレジスタ(例えばレジスタB)に引き継ぐようにする。これによって、値が変化しても、その後、例えばレジスタAを上書きしても、命令列(試験命令列51)が漏れなく順序良く実行された証拠になる。   The number of registers is limited, and the larger the number of test instructions related to the test instruction sequence 51, the more registers are used. When a register is simply used with random numbers, overwriting to the same register can frequently occur due to the use of biased registers. In that case, the value carried over on the register may be lost by overwriting. As a result, the previous test may be wasted. In order to avoid this, a register (for example, register A) whose value has been temporarily changed by an instruction (test instruction) is used as a source register, and the value is transferred to another register (for example, register B). As a result, even if the value changes and then, for example, the register A is overwritten, it becomes evidence that the instruction sequence (test instruction sequence 51) has been executed in order without omission.

IO(周辺装置2)向けの試験に関しては、試験対象リソースとして、試験対象のチャネル/デバイスの選定、チャネル毎/デバイス毎に存在するレジスタ、転送元・転送先アドレス及びデータ、割り込みレジスタなどがある。これらに関して、乱数を使用して試験データ50が作成される。   Regarding the test for IO (peripheral device 2), the test target resources include selection of a channel / device to be tested, registers for each channel / device, transfer source / transfer destination addresses and data, interrupt registers, and the like. . For these, test data 50 is created using random numbers.

試験データ50の生成に関し、すべて基本的には乱数で生成され変動値となるようにするが、被試験装置20の仕様上、制約や限界がある場合などには、固定値として候補を用意する。例えば、本システムでは試験者によりこの固定値を選択的に設定することができる。また、試験の内容によっては、乱数による生成に関して、均等ではなく重み(偏り)を付けた割り当てをする場合がある。本システムでは試験者によりこの乱数の重み付けを選択的に設定することができる。本システムでの各種設定については、コンソール端末200等から試験者が画面を見ながら情報入力操作により行うことができる。   Regarding the generation of the test data 50, all of them are basically generated by random numbers so as to be variable values, but candidates are prepared as fixed values when there are restrictions or limitations due to the specifications of the device under test 20. . For example, in the present system, this fixed value can be selectively set by a tester. In addition, depending on the content of the test, there is a case where assignment with a weight (bias) is given not uniformly but with respect to generation by random numbers. In this system, the tester can selectively set the weighting of the random number. Various settings in this system can be performed by an information input operation while the examiner looks at the screen from the console terminal 200 or the like.

周辺装置2向けの試験命令列51に関しては、周辺装置2を動かすトリガとなる起動専用命令列や、終了判定専用命令列など、使用目的に合わせた命令列が、任意の場所へ配置される。   With respect to the test instruction sequence 51 for the peripheral device 2, an instruction sequence suitable for the purpose of use, such as a start-only instruction sequence serving as a trigger for moving the peripheral device 2 and an end-determination dedicated instruction sequence, is arranged at an arbitrary location.

次に、期待値生成処理S21において、期待値生成処理部12により、試験データ50による試験内容に対応する期待値を生成する。これは、試験プログラム30に内蔵するソフトウエアシミュレータにより、被試験装置20ごとに、試験内容に対応する期待値が作成される。   Next, in the expected value generation processing S21, the expected value generation processing unit 12 generates an expected value corresponding to the test content based on the test data 50. In this case, an expected value corresponding to the test content is created for each device under test 20 by a software simulator built in the test program 30.

プロセッサ1に関する期待値生成方法としては、CPUアーキテクチャやIEEE規格等に準じて作成するものであり、プロセッサ1に関する全命令機能が本システムで対応可能(期待値生成可能)になっているものとする。   The expected value generation method related to the processor 1 is created in accordance with the CPU architecture, the IEEE standard, etc., and all the instruction functions related to the processor 1 can be supported by this system (expected value generation is possible). .

周辺装置2に関する期待値生成方法に関しても、各々専用のハードウェアマニュアルが、期待値生成処理S21としてインプリメントされる。   With regard to the expected value generation method for the peripheral device 2, a dedicated hardware manual is implemented as the expected value generation process S21.

次に、試験を起動(実行)する前に、アサーション起動処理S22において、アサーション起動処理部15により、アサーションチェッカー6を起動する。起動方法は、ある決められた記憶装置3のアドレスに対して、所定bitを書き込むことである。この起動により、アサーションチェッカー6は、試験プログラム30とは完全に独立したハードウェア的な監視動作状態となる。   Next, before the test is started (executed), the assertion start processing unit 15 starts the assertion checker 6 in the assertion start processing S22. The activation method is to write a predetermined bit to a predetermined address of the storage device 3. By this activation, the assertion checker 6 becomes a hardware monitoring operation state completely independent from the test program 30.

続いて、試験実行処理S23において、試験実行処理部13により、試験データ50による試験を開始させる。試験が開始されると、被試験装置20の各要素により、様々な信号の動作が開始される。   Subsequently, in the test execution process S23, the test execution processing unit 13 starts a test based on the test data 50. When the test is started, the operation of various signals is started by each element of the device under test 20.

一方、アサーションチェッカー6は、対象試験動作監視処理S24において、試験動作の流れをバス(システムバス5)上で継続的に監視する。その監視の最中、アサーションチェッカー6は、バス(システムバス5)上のリクエスト信号やアドレス信号などの対象信号の監視において、監視している信号条件(例えば特に競合条件)と、試験中の信号の状態とが一致するかどうか判定する。一致した場合、アサーション監視情報抽出処理S25において、アサーションチェッカー6は、その一致の発生(イベント及びタイミング)に関するアサーション監視情報31を抽出(作成)し、記憶部102へ蓄積する。   On the other hand, the assertion checker 6 continuously monitors the flow of the test operation on the bus (system bus 5) in the target test operation monitoring process S24. During the monitoring, the assertion checker 6 monitors the signal condition being monitored (for example, particularly the competition condition) and the signal under test in monitoring the target signal such as the request signal and the address signal on the bus (system bus 5). It is determined whether or not the state matches. If they match, in the assertion monitoring information extraction process S <b> 25, the assertion checker 6 extracts (creates) the assertion monitoring information 31 relating to the occurrence (event and timing) of the match and stores it in the storage unit 102.

アサーション監視情報31は、監視対象の要素(周辺装置2等)毎の動作時間や回数、複数の要素の同時並行動作(競合動作)の時間や回数、監視対象の信号条件の成立(一致)の時間や回数などがある。   The assertion monitoring information 31 includes the operation time and number of times for each element to be monitored (peripheral device 2 and the like), the time and number of simultaneous parallel operations (competitive operation) of a plurality of elements, and the establishment (match) of the signal condition of the monitoring target There are times and times.

S23のすべての被試験装置20の試験を終了した後、監視情報採取処理S26において、監視情報採取・解析処理部16により、記憶装置3に蓄積されているアサーション監視情報31を採取し、カバレッジ情報更新処理S33への入力値のための情報として用意する。   After the test of all the devices under test 20 in S23 is completed, in the monitoring information collection process S26, the monitoring information collection / analysis processing unit 16 collects the assertion monitoring information 31 stored in the storage device 3, and the coverage information Prepared as information for an input value to the update process S33.

S23の試験の最後に、試験結果比較・出力処理S27において、試験結果比較・出力処理部14により、試験結果と期待値を比較する処理を行う。この処理では、試験命令列51や、試験終了時点(要素の動作が終了した時点)での結果リソースをすべて採取して、これらを、期待値生成処理S21で生成された期待値のデータと比較する。   At the end of the test of S23, in the test result comparison / output process S27, the test result comparison / output processing unit 14 performs a process of comparing the test result with the expected value. In this process, all of the test instruction sequence 51 and result resources at the end of the test (at the end of the operation of the element) are collected and compared with the expected value data generated in the expected value generation process S21. To do.

そして、比較結果に基づき、S30で、すべての被試験装置20の試験の正常性をチェックする。比較結果で1つでもエラーを検出した場合は、S31でエラーメッセージを出力する。例えば当該エラーメッセージ等の情報をコンソール端末200の画面に表示し、ファイルに格納する。試験の正常性がOKであれば次へ進む。   Based on the comparison result, the normality of the tests of all the devices under test 20 is checked in S30. If even one error is detected in the comparison result, an error message is output in S31. For example, information such as the error message is displayed on the screen of the console terminal 200 and stored in a file. If the test is normal, go to the next step.

次の解析処理S32において、監視情報採取・解析処理部16により、前記監視情報採取処理S26で得られたアサーション監視情報31を解析し、カバレッジ情報32への入力値とするための解析結果データを纏める。なお、この解析処理S32は、S26やS33等に含めて行うものとしてもよい。   In the next analysis process S32, the monitoring information collection / analysis processing unit 16 analyzes the assertion monitoring information 31 obtained in the monitoring information collection process S26, and generates analysis result data for use as an input value to the coverage information 32. Put together. The analysis process S32 may be performed by including it in S26, S33, or the like.

上記解析結果データを用いて、カバレッジ情報更新処理S33において、カバレッジ情報更新処理部17により、カバレッジ情報32のデータを更新する。この更新処理では、アサーションチェッカー6から得るべき必要条件、アサーション監視情報31から照合や計算で得られる情報を、カバレッジ情報32にマージする。この更新処理では、例えば、アサーション監視情報31をもとに、被試験装置20の各要素の動作時間のすべてが集計され、同時並行動作(競合動作)した要素及びその時間や回数などの情報が、カバレッジ情報32に蓄積される。   Using the analysis result data, the coverage information update processing unit 17 updates the data of the coverage information 32 in the coverage information update processing S33. In this update process, the necessary conditions to be obtained from the assertion checker 6 and information obtained by collation and calculation from the assertion monitoring information 31 are merged into the coverage information 32. In this update process, for example, based on the assertion monitoring information 31, all the operation times of each element of the device under test 20 are totaled, and information such as the elements that have been operated in parallel (competitive operation) and their time and number of times is obtained. Are stored in the coverage information 32.

次に、試験データ調整処理S34において、試験データ調整処理部18により、今回の試験及び監視の結果(即ちそれを表すアサーション監視情報31とカバレッジ情報32)に基づき、次回以降の試験内容についての調整(変更)の判断及び調整処理を行う。即ち、次回以降の試験に関して、試験内容を新規一転として最初から乱数で作成して行うのか、それとも、先ほど(今回)実行した試験内容(既に生成済みの試験データ50)を引き継ぎ再利用してその調整程度の変更によって行うのか、等を判断により見極める。この判断は、特に、カバレッジ情報32内に含まれている信号条件や競合条件の発生実績に関する情報や試験調整の実績に関する情報など(後述のイベント情報32aやタイミング情報32b)の参照によって行われる。   Next, in the test data adjustment process S34, the test data adjustment processing unit 18 adjusts the test contents from the next time onward based on the results of the current test and monitoring (that is, the assertion monitoring information 31 and the coverage information 32 representing the result). (Change) judgment and adjustment processing are performed. In other words, for the next and subsequent tests, whether the test content is newly created as a random number from the beginning, or the test content (test data 50 that has already been generated) that was performed earlier (in this case) is taken over and reused. Use judgment to determine whether the adjustment should be made. This determination is made in particular by referring to information relating to the signal condition and competition condition occurrence results included in the coverage information 32, information relating to test adjustment results, etc. (event information 32a and timing information 32b described later).

この試験データ調整処理S34では、カバレッジ情報32の参照により、その時点で未試験の部位や、試験発生回数が少ない部位や、競合動作の実績が少ない部位などが見出される。調整の方針に従うそのような部位が見出された場合(調整実行条件を満たす場合)、試験内容の調整を実行することに決定する。そして、試験データ調整処理S34では、当該部位(調整対象要素)に対する試験内容について、方針に従って、試験データ50の例えば特にパラメータ52が調整される。この場合、パラメータ52の調整とは、被試験装置20に対する大きな試験内容は変えずに、例えば周辺装置2への起動タイミングや転送先アドレス、転送データ長などを調整することで試験の競合性や負荷を調整するものである。   In the test data adjustment process S34, by referring to the coverage information 32, a part that has not been tested at that time, a part with a small number of test occurrences, a part with a little competition performance, and the like are found. If such a part is found that complies with the adjustment policy (if adjustment execution conditions are met), it is decided to adjust the test content. Then, in the test data adjustment process S34, for example, the parameter 52 of the test data 50, for example, is adjusted in accordance with the policy regarding the test content for the part (adjustment target element). In this case, adjustment of the parameter 52 refers to test competitiveness by adjusting the start timing, transfer destination address, transfer data length, etc. to the peripheral device 2 without changing the large test contents for the device under test 20. The load is adjusted.

最後に、終了判定S35では、終了条件である、オペレータ(試験者)の要求した分の試験(例えば複数回の試験によるルーチン)を実行完了したかどうかを判定する。要求が満たされている場合は終了し、満たされていない場合、再度試験(次回の試験)を実行する場合は、前記試験データ生成処理S20へ戻り、再度、前述同様に、S20以降の処理を行う。次回以降の試験では、前回(今回)の試験内容がフィードバック(反映)された内容により、同様に実行される。   Finally, in the end determination S35, it is determined whether or not execution of a test (for example, a routine by a plurality of tests) required by the operator (tester) as an end condition has been completed. When the request is satisfied, the process is terminated. When the request is not satisfied, when the test (next test) is executed again, the process returns to the test data generation process S20, and the processes after S20 are performed again as described above. Do. In the test after the next time, the test content of the previous time (this time) is executed in the same manner according to the content fed back (reflected).

このように、試験内容の調整のためのフィードバック(S34からS20へ)を行いながら、一連の処理サイクル(S20〜S34)による試験を複数回繰り返し実行することができる。以下、更に具体的に説明する。   As described above, the test according to the series of processing cycles (S20 to S34) can be repeatedly executed a plurality of times while feedback for adjusting the test contents (from S34 to S20). More specific description will be given below.

<5:アサーション及びカバレッジ情報更新処理>
図5において、試験プログラム30の処理において、アサーションチェッカー6によるアサーション監視情報31をもとにカバレッジ情報32を更新する処理(前記S32,S33等に相当)に関する概略的フローを示している。
<5: Assertion and coverage information update processing>
FIG. 5 shows a schematic flow regarding processing (corresponding to S32, S33, etc.) for updating the coverage information 32 based on the assertion monitoring information 31 by the assertion checker 6 in the processing of the test program 30.

アサーション起動及び試験起動処理S51において(前記S22,S23相当)、アサーションチェッカー6は、アサーションの起動により試験プログラム30とは完全に独立したハードウェア的な監視動作状態となる。そして、被試験装置20では、試験の開始によって各々の要素が個別に動き出し、プロセッサ1、周辺装置2、記憶装置3等の要素を経てシステムバス5上に様々なデータや信号が流れる状況になる。   In assertion activation and test activation processing S51 (corresponding to S22 and S23), the assertion checker 6 enters a hardware monitoring operation state completely independent of the test program 30 by activation of the assertion. In the device under test 20, each element starts to move individually when the test is started, and various data and signals flow on the system bus 5 through the elements such as the processor 1, the peripheral device 2, and the storage device 3. .

アサーションチェッカー6を制御するプログラム構造例として右側にアサーションチェッカー制御プログラム60を示している。これは、HDLにおいてソフトウエアによってハードウェアの動作をコーディングしたものである。頭に宣言文(アサーションモジュール宣言、……、定数宣言など)があり、その後の条件文(if/then文など)において信号条件(アサーションチェック条件、リクエスト競合条件など)が記述され、その後に動作(特定アドレス採取、更新データ採取、更新時間採取、更新回数採取など)が記述されている。   As an example of a program structure for controlling the assertion checker 6, an assertion checker control program 60 is shown on the right side. This is a hardware operation coded by software in HDL. There is a declaration statement (assertion module declaration, ..., constant declaration, etc.) at the beginning, and signal conditions (assertion check conditions, request conflict conditions, etc.) are described in the subsequent conditional statements (if / then statements, etc.), and then the operation (Specific address collection, update data collection, update time collection, update count collection, etc.) are described.

このアサーションチェッカー制御プログラム60が監視対象の制御信号を検出した場合、その検出した時間や回数などを、下側に示すアサーション監視情報31のようなフォーマットで抽出、記録する。図5のアサーション監視情報31の例に関して、「監視対象」は、監視対象の識別項目を示し、これに対応して、例えば「時間」と「回数」を格納する項目がある。「監視対象」項目としては例えば、周辺装置2である入出力装置(IO)に関する起動レジスタや完了フラグレジスタ、特定の信号の成立、転送IOの競合、信号条件のパターンなどがある。これらの分類としては、(1)各IOの送受信時間、各要求信号の時間、及び回数、(2)送受信の競合時間、及び競合回数、(3)要求信号の条件の組み合わせ(パターン)による競合時間、及び競合回数、等がある。なお「時間(時刻)」は、例えばクロックサイクル値で表される。   When the assertion checker control program 60 detects a control signal to be monitored, the detected time and number of times are extracted and recorded in a format such as the assertion monitoring information 31 shown below. Regarding the example of the assertion monitoring information 31 in FIG. 5, “monitoring target” indicates an identification item of the monitoring target, and there are items corresponding to this, for example, storing “time” and “number of times”. The “monitoring target” item includes, for example, a start register and a completion flag register related to the input / output device (IO) that is the peripheral device 2, establishment of a specific signal, transfer IO conflict, signal condition pattern, and the like. These classifications include (1) transmission / reception time of each IO, time and frequency of each request signal, (2) contention time of transmission / reception and frequency of contention, and (3) contention by combination (pattern) of request signal conditions. Time, and the number of competitions. Note that “time (time)” is represented by a clock cycle value, for example.

試験中にアサーションチェッカー6が監視対象を検出すると、アサーション監視情報31内の「時間」や「回数」の項目へ値が書き込まれる。例えば、監視対象が周辺装置2であるIO−1の起動レジスタである場合、このIO−1の起動レジスタのアドレスに対して決められた値が格納されることで、当該IO−1によるデータ転送の開始になり、このデータ転送の完了後、ハードウェアが当該IO−1の完了フラグレジスタにフラグを設定する。このようなハードウェア仕様に対し、当該アドレスをアサーションにより監視することで、ハードウェア(デバイス)の動作時間(起動開始から動作終了までの時間)を計測することができる。   When the assertion checker 6 detects the monitoring target during the test, a value is written in the items “time” and “number of times” in the assertion monitoring information 31. For example, when the monitoring target is the activation register of the IO-1 that is the peripheral device 2, the value determined for the address of the activation register of the IO-1 is stored, so that the data transfer by the IO-1 is performed. After the completion of this data transfer, the hardware sets a flag in the completion flag register of the IO-1. For such hardware specifications, by monitoring the address by assertion, the operation time of the hardware (device) (the time from the start to the end of operation) can be measured.

アサーションチェッカー6は、試験データ50による試験動作から、IO−1起動レジスタへの書き込みを検出し、その時間(起動時刻)を書き込む。その後、ハードウェアのIO−1完了フラグレジスタへの書き込みを検出し、その時間(終了時刻)を書き込む。これらIO−1起動レジスタとIO−1完了フラグレジスタによって、周辺装置2(IO−1)の動作時間(起動時刻から終了時刻までの時間)を求めることができる。またこれと同様に、被試験装置20の全体(複数の要素)に関する動作時間等の情報を得る。これにより、試験中に各要素がどれだけ同時並行動作(競合動作)したのかを知ることができる。   The assertion checker 6 detects writing to the IO-1 activation register from the test operation based on the test data 50, and writes the time (activation time). Thereafter, writing to the hardware IO-1 completion flag register is detected, and the time (end time) is written. The operation time (time from the start time to the end time) of the peripheral device 2 (IO-1) can be obtained from the IO-1 start register and the IO-1 completion flag register. Similarly, information such as operation time related to the entire device under test 20 (a plurality of elements) is obtained. As a result, it is possible to know how much each element has operated in parallel (competitive operation) during the test.

<6:アサーションチェック>
図6において、アサーションチェックにおける試験対象信号の信号条件(競合条件)の例について示している。図5のアサーション監視情報31内における例えばパターン1からパターン40までの複数の要因(信号条件)による競合条件の監視の場合における、2つの例(信号条件1(パターン1)、信号条件2(パターン2))である。
<6: Assertion check>
FIG. 6 shows an example of the signal condition (competition condition) of the test target signal in the assertion check. Two examples (signal condition 1 (pattern 1), signal condition 2 (pattern) in the case of monitoring competition conditions by a plurality of factors (signal conditions) from pattern 1 to pattern 40 in the assertion monitoring information 31 of FIG. 2)).

本例において、図6(a)で、Signal(信号)下の項目(SCLK等)は、アサーションチェッカー6で記述された信号(監視対象信号)であり、これらは前記アサーション起動及び試験起動処理S51の後では常に監視状態にある。また、図6(b)では、各信号条件の記述例を示している。信号条件は、例えば複数の信号の値の論理演算により表される。   In this example, in FIG. 6A, items (SCLK and the like) under Signal are signals (monitoring target signals) described by the assertion checker 6, and these are the assertion activation and test activation processing S51. After that, it is always in the monitoring state. FIG. 6B shows a description example of each signal condition. The signal condition is represented by, for example, a logical operation of a plurality of signal values.

信号条件1(例えばスヌープ処理)を満足したときには、競合(競合状態の発生)とみなし、この時点での時間や発生回数が、アサーション監視情報31内の「時間」、「回数」項目に格納される。同様に、信号条件2(例えばバスリクエスト処理)を満足したときに、競合とみなし、アサーション監視情報31に情報が格納される。   When the signal condition 1 (for example, snoop processing) is satisfied, it is regarded as a conflict (occurrence of a race condition), and the time and the number of occurrences at this time are stored in the “time” and “number of times” items in the assertion monitoring information 31. The Similarly, when the signal condition 2 (for example, bus request processing) is satisfied, it is regarded as a conflict, and information is stored in the assertion monitoring information 31.

S51の次のアサーション監視情報読み出し処理S52において、監視情報採取・解析処理部16により採取済みのアサーション監視情報31を読み出す。   In the next assertion monitoring information reading process S52 of S51, the monitoring information collection / analysis processing unit 16 reads the assertion monitoring information 31 already collected.

そして、次のアサーション監視情報データ変換処理S53において、アサーション監視情報31を入力として、当該情報の照合、計算、分析などにより、データ変換処理を行う(前記解析処理S32相当)。   Then, in the next assertion monitoring information data conversion process S53, the data conversion process is performed by using the assertion monitoring information 31 as an input, and collation, calculation, analysis, etc. of the information (corresponding to the analysis process S32).

これにより得られたデータ(解析結果データ)を用いて、次のカバレッジ情報記録更新処理S54において、カバレッジ情報更新処理部17により、カバレッジ情報32を更新する。更新の際には、過去(蓄積済み)のカバレッジ情報32に対し、前記生成済みの試験データ50の内容(試験命令列51、パラメータ52)と、要素の動作時間(起動時刻、終了時刻)、競合率(競合時間、競合回数)などのタイミング情報とを加え合わせる。   The coverage information 32 is updated by the coverage information update processing unit 17 in the next coverage information recording update processing S54 using the data (analysis result data) obtained in this way. At the time of update, the content (test instruction sequence 51, parameter 52) of the generated test data 50 and the operation time (start time, end time) of the generated test data 50 with respect to the past (accumulated) coverage information 32, Add timing information such as contention rate (competition time, number of times of contention).

<7:カバレッジ情報>
図7において、カバレッジ情報更新処理(S33)に関し、カバレッジ情報32の構成例を示している。図7のカバレッジ情報32のうち、大きくは、(a)イベント情報32a、(b)タイミング情報32b、に分かれる。
<7: Coverage information>
FIG. 7 shows a configuration example of the coverage information 32 regarding the coverage information update process (S33). The coverage information 32 in FIG. 7 is roughly divided into (a) event information 32a and (b) timing information 32b.

(a)イベント情報32aにおいて、項目として、信号条件(パターン)、発生回数、調整フラグ(調整回数)、発生頻度(%)、累積発生回数を有する。イベント情報32aは、監視対象の複数の信号条件(パターン)に関して、その成立の発生回数や頻度、並びに試験内容調整の発生のフラグ(回数)などを表すものである。   (A) The event information 32a includes items such as signal condition (pattern), number of occurrences, adjustment flag (number of adjustments), occurrence frequency (%), and cumulative number of occurrences. The event information 32a represents the number of occurrences and frequency of establishment of a plurality of signal conditions (patterns) to be monitored, a flag (number of times) of occurrence of test content adjustment, and the like.

信号条件(パターン)は前述の通りである。監視対象の制御信号に関する所定の信号条件(パターン)1〜40までが存在する。発生回数は、複数回の繰り返しの試験(ルーチン)における発生回数である。累積発生回数は、例えばそのルーチンの複数回の繰り返し等による過去の多数の試験の実績における発生回数の累積合計値として更新される。発生回数などの値は、すべて、累積加算により更新される。発生頻度については、当該パターンの発生頻度が全体のうちの何%であるかを、試験数や発生回数などをもとに計算することで更新される。   The signal condition (pattern) is as described above. There are predetermined signal conditions (patterns) 1 to 40 related to the control signal to be monitored. The number of occurrences is the number of occurrences in a plurality of repeated tests (routines). The cumulative number of occurrences is updated, for example, as a cumulative total value of the number of occurrences in the past in the results of many tests by repeating the routine multiple times. All values such as the number of occurrences are updated by cumulative addition. The occurrence frequency is updated by calculating what percentage of the occurrence frequency of the pattern is based on the number of tests and the number of occurrences.

調整フラグ(調整回数)については、生成済みの試験データ50(試験命令列51やパラメータ52)を調整により更新したこと、ないしその回数を表す。当該項目は、最初の時点では更新されず0であり、例えばパターン3に関する調製が発生すると1になる。   The adjustment flag (adjustment count) indicates that the generated test data 50 (test instruction sequence 51 and parameter 52) has been updated by adjustment, or represents the number of times. The item is not updated at the first time point and is 0. For example, when the preparation related to the pattern 3 occurs, the item becomes 1.

(b)タイミング情報32bにおいて、項目として、被試験装置20ごとに、競合時間、競合回数などを有する。本例では周辺装置2(IO)の転送動作の競合に関する場合である。タイミング情報32bでは、周辺装置2毎に、起動時刻や終了時刻を読み出した値が集計され、転送に関する競合時間が求められる。周辺装置2として、例えばIO−1〜IO−3の3つのIOを有する場合において、それぞれの組み合わせの項目を有する。例えばIO−1とIO−2などの2つの競合に着目した組み合わせ(「1⇔2」,「2⇔3」,「3⇔1」)や、3つのIOの競合に関する項目(「1,2,3」)を有し、各々の同時期に動作した時間(競合時間)を保持する。   (B) The timing information 32b includes items such as a competition time and the number of competitions for each device under test 20. In this example, the case is related to a competition of transfer operations of the peripheral device 2 (IO). In the timing information 32b, for each peripheral device 2, the values obtained by reading the start time and the end time are totaled, and the contention time for transfer is obtained. For example, when the peripheral device 2 includes three IOs IO-1 to IO-3, the peripheral device 2 has an item of each combination. For example, combinations (“1⇔2”, “2⇔3”, “3⇔1”) focusing on two conflicts such as IO-1 and IO-2, and items related to conflicts between three IOs (“1,2, , 3 ") and holds the time of operation (contention time) at the same time.

競合率は、[競合時間]/[動作している周辺装置の時間]から計算により得られる。競合時間と競合回数が大きい場合は競合率が高くなる。競合率が高い部位については、試験内容調整の判断で優先的に候補として選択されることになる。選択されてタイミングが調整されると、タイミング情報32bの調整回数の項目に回数が加えられて更新される。   The contention rate is obtained by calculation from [contention time] / [time of peripheral device in operation]. When the contention time and the number of times of contention are large, the contention rate becomes high. Parts with a high competition rate are preferentially selected as candidates in the determination of test content adjustment. When the timing is adjusted by selection, the number is added to the item of the number of adjustments in the timing information 32b and updated.

<8:競合タイミング>
図8において、タイミング情報32bに係わり、複数の要素に関する競合タイミング(動作タイミング)の例を示している。時間はクロックサイクル値であり、矩形部は当該要素(IO−1,IO−2,IO−3)の起動状態(動作時間)を示す。前記採取されたアサーション監視情報31のデータをもとに、IO等の要素の起動(動作)における開始時刻と終了時刻、及びそれらの差分である動作時間が得られる。例として、IO−1の開始時刻:100、終了時刻:160、IO−2の開始時刻:120、終了時刻:170、IO−3の開始時刻:50、終了時刻:150とした場合である。
<8: Competition timing>
FIG. 8 shows an example of contention timing (operation timing) related to a plurality of elements related to the timing information 32b. The time is a clock cycle value, and the rectangular portion indicates the activation state (operation time) of the element (IO-1, IO-2, IO-3). Based on the collected data of the assertion monitoring information 31, the start time and end time in activation (operation) of an element such as an IO and the operation time that is the difference between them are obtained. As an example, IO-1 start time: 100, end time: 160, IO-2 start time: 120, end time: 170, IO-3 start time: 50, end time: 150.

次のように計算によって変換することで、競合情報(タイミング情報32b)とする。まず、IO−1,IO−2,IO−3の各々の動作時間は、開始時刻と終了時刻の差分から、60,50,100である。IO−1とIO−2の競合情報として、それらが同時並行動作している時間(期間)である競合時間T(1⇔2)は、120から160の間であり、長さは40となる。同様に、IO−2とIO−3についてのT(2⇔3)は、120から150の間で、長さは30となる。IO−3とIO−1についてのT(3⇔1)は、100から150の間で、長さは50となる。更にIO−1とIO−2とIO−3との3つの要素間については、競合時間T(1,2,3)は、120から150の間であり、長さは30となる。このような変換に従い、タイミング情報32bにおける競合時間の各項目(「1⇔2」等)に値が格納される。競合時間の第1行目は上記例のTの値(40,30,50,30)である。   The contention information (timing information 32b) is obtained by conversion by calculation as follows. First, the operation times of IO-1, IO-2, and IO-3 are 60, 50, and 100 from the difference between the start time and the end time. As contention information between IO-1 and IO-2, contention time T (1⇔2), which is the time (period) during which they operate simultaneously in parallel, is between 120 and 160, and the length is 40. . Similarly, T (2⇔3) for IO-2 and IO-3 is between 120 and 150, and the length is 30. T (3⇔1) for IO-3 and IO-1 is between 100 and 150, and the length is 50. Further, for the three elements IO-1, IO-2, and IO-3, the contention time T (1, 2, 3) is between 120 and 150, and the length is 30. In accordance with such conversion, a value is stored in each item (such as “1⇔2”) of the contention time in the timing information 32b. The first line of the contention time is the T value (40, 30, 50, 30) in the above example.

また、競合時間の値に対応して、要素間の競合が発生している場合には、タイミング情報32bにおける競合回数が加算される。本例では、対象とするすべての周辺装置2(IO)の競合が発生しているので、第1行目の1のように、それぞれの競合回数が加算される。   Further, when there is a conflict between elements corresponding to the value of the conflict time, the number of conflicts in the timing information 32b is added. In this example, since all the target peripheral devices 2 (IO) have conflicts, the respective conflict counts are added as indicated by 1 in the first row.

このように、すべて大小比較による差分で求められる競合時間のデータ、並びに競合回数のデータが、タイミング情報32b内に記録、蓄積される。カバレッジ情報記録更新処理S54において、上記例に関するカバレッジ情報32の内容の更新を行う。   In this way, the contention time data and the contention frequency data, which are all obtained by the difference between the magnitude comparisons, are recorded and accumulated in the timing information 32b. In the coverage information record update process S54, the contents of the coverage information 32 related to the above example are updated.

更には、これらのタイミング情報32bのデータに基づき、図示していないが、競合時間の最大値、最小値、平均時間値、競合率の値なども、簡単な計算によって求めて、併せてカバレッジ情報32内に記録するようにし、試験内容調整の判断に用いる。なお競合時間に関する最大、最小、及び平均時間、並びに競合回数に関しては、データ更新により管理される。   Further, although not shown based on the data of the timing information 32b, the maximum value, minimum value, average time value, value of the contention rate, etc. of the contention time are also obtained by simple calculation, and coverage information is also obtained. 32, and is used for determination of test content adjustment. Note that the maximum, minimum, and average times regarding the contention time, and the number of times of contention are managed by data update.

<9:試験データ調整処理>
図9において、試験データ調整処理(S34相当)に関する概略的処理フローを示している。前記蓄積されたカバレッジ情報32に基づき、試験プログラム30の処理内(試験データ調整処理部18、試験生成処理部11等)において、生成済み試験データ50(試験命令列51等)を利用してどのように試験リソースを作成するかについて例を説明する。
<9: Test data adjustment processing>
FIG. 9 shows a schematic process flow relating to the test data adjustment process (corresponding to S34). Based on the accumulated coverage information 32, in the processing of the test program 30 (the test data adjustment processing unit 18, the test generation processing unit 11, etc.), the generated test data 50 (the test instruction sequence 51, etc.) is used. An example of how to create a test resource will be described.

判定処理(試験データ調整判定・候補決定処理)S81において、試験データ調整処理部18により、カバレッジ情報32に基づき、試験データ50を調整するか否か(前述の新規生成の場合)を判定する。調整の例として、前述のように、試験命令列51を再利用してパラメータ52のみを再生成する。   In determination processing (test data adjustment determination / candidate determination processing) S81, the test data adjustment processing unit 18 determines whether or not to adjust the test data 50 based on the coverage information 32 (in the case of the above-described new generation). As an example of the adjustment, as described above, only the parameter 52 is regenerated by reusing the test instruction sequence 51.

この判定では、カバレッジ情報32におけるイベント情報32a内の発生回数、調整フラグ(調整回数)、発生頻度、並びにタイミング情報32b内の競合回数などの情報を用いる。この判定では、状況に合わせて臨機応変に、AND(論理積)条件やOR(論理和)条件によって決定してもよい。この条件は、例えば各回の試験毎の条件による判定としてもよいし、システム設定などによって予め決定されていてもよい。   In this determination, information such as the number of occurrences in the event information 32a in the coverage information 32, an adjustment flag (adjustment number), the occurrence frequency, and the number of competitions in the timing information 32b are used. In this determination, it may be determined according to circumstances according to an AND (logical product) condition or an OR (logical sum) condition. This condition may be, for example, a determination based on a condition for each test, or may be determined in advance by a system setting or the like.

この判定では、カバレッジ情報32をもとに、以下のようなケース(部位)を認識する。即ち、未試験のケース(未だ試験対象として実現されていないケース、例えば発生回数が0の部位)や、試験が不十分なケース(例えば発生回数が少ない部位)や、システムバス5上での競合動作が未だ発生していない又は少ないケース(例えば競合回数が少ない部位)や、それらの試験対象の信号の組み合わせのケースなどである。   In this determination, the following cases (parts) are recognized based on the coverage information 32. That is, an untested case (a case that has not yet been realized as a test target, for example, a part where the number of occurrences is 0), a case where the test is insufficient (for example, a part where the number of occurrences is low), or a competition on the system bus 5 There are cases where the operation has not yet occurred or is small (for example, a portion where the number of times of competition is small), a combination of signals to be tested, and the like.

上記ケース(部位)の認識により、調整か新規生成かを判断し、調整を行う場合は、試験内容調整の優先的な対象となる部位(要素など)を、複数の候補として決定する。S81によって新規生成が選択された場合は、S82,S83等の処理を行わずに終わり、前記試験データ生成処理S20等へ直接進むことになる。S81によって調整が選択された場合は、乱数を用いた調整対象選定処理S82へ進む。   When the adjustment is made based on the recognition of the case (part), it is determined whether a part (element or the like) to be preferentially adjusted for the test contents is a plurality of candidates. If new generation is selected in S81, the process ends without performing the processes of S82, S83, etc., and the process proceeds directly to the test data generation process S20. If the adjustment is selected in S81, the process proceeds to an adjustment target selection process S82 using a random number.

新規生成の場合の一例としては、例えば、イベント情報32aでの発生回数が1000回、調整フラグが10000回、発生頻度が90%等の場合には、全体的に考えて試験に偏りがあると判断する。そして、それまでの調整処理(生成済みの試験命令列51の再利用)は止めて、次回の試験内容を新規の試験データ50の生成によるものとし(リセット)、例えば次の異なる信号条件(パターン)での試験を実行開始するに至る。   As an example of the case of new generation, for example, when the number of occurrences in the event information 32a is 1000, the adjustment flag is 10,000, the occurrence frequency is 90%, etc. to decide. Then, the adjustment processing up to that point (reuse of the generated test instruction sequence 51) is stopped, and the next test content is generated by generating new test data 50 (reset). For example, the following different signal conditions (patterns) ) Will begin to run the test.

また、新規生成の場合の別の一例としては、試験内容をある条件の一点に絞り、その一点に対して、しらみつぶし的に試験を行う場合において、満了の条件とする発生回数と調整フラグ(調整回数)などを設け、その満了の条件を満足した場合には、次回の試験を新規生成とする。   As another example in the case of a new generation, when the test content is narrowed down to one point of a certain condition and the test is performed on the one point, the number of occurrences and the adjustment flag ( If the expiration condition is satisfied, the next test is newly generated.

調整対象選定処理S82では、生成済みの試験命令列51をもとに、S81で得られた調整対象となる被試験装置20の複数の候補の中から、更に乱数を用いて、ランダムに調整対象を選定する。調整可能な組み合わせが多いため、乱数を用いて選定する。   In the adjustment target selection process S82, based on the generated test instruction sequence 51, a random adjustment target is randomly selected from a plurality of candidates of the device under test 20 to be adjusted obtained in S81. Is selected. Since there are many combinations that can be adjusted, a random number is used for selection.

試験データ調整(パラメータ再生成)処理S83においては、S82で選定された調整対象を、前記生成済みの試験命令列51を再利用して、次回の試験内容となるパラメータ52を再生成する処理を行う。これにより、次回の試験のための調整された試験データ50が得られる。   In the test data adjustment (parameter regeneration) process S83, the adjustment target selected in S82 is reused in the generated test instruction sequence 51 to regenerate the parameter 52 as the next test content. Do. Thereby, adjusted test data 50 for the next test is obtained.

これらの処理の後、前記試験データ生成処理S20では、再び、試験生成処理部11により、調整された試験データ50による試験、あるいは新規生成による試験が生成される。なお、S20の一部ないし変形としてS83を行う形態と考えても同様である。   After these processes, in the test data generation process S20, a test based on the adjusted test data 50 or a new generation test is generated again by the test generation processing unit 11. Note that the same applies to the case where S83 is performed as a part or modification of S20.

<10:競合タイミング調整例>
図10において、図9の試験データ調整処理(S34)に関して、(a)調整前と(b)調整後の例をタイムチャートとして示している。本例は特に競合試験のために要素の実行タイミングを調整して競合動作を自動調整する場合である。矩形は各要素の起動状態(動作時間)を示し、試験命令列51とパラメータ52により決められている。
<10: Contention timing adjustment example>
FIG. 10 shows, as a time chart, examples of (a) before adjustment and (b) after adjustment regarding the test data adjustment processing (S34) of FIG. This example is particularly a case where the competition operation is automatically adjusted by adjusting the execution timing of elements for the competition test. The rectangle indicates the activation state (operation time) of each element, and is determined by the test instruction sequence 51 and the parameter 52.

本例での試験対象の要素は、プロセッサ1に関するCPU−0〜CPU−3の4つ、及び周辺装置2に関するIO−0〜IO−3の4つを有する。生成済みの試験命令列51は、上記4つのプロセッサ1に対する各試験の実行タイミング、及び上記4つのIO(周辺装置2)に対する各試験の実行タイミングである。   The elements to be tested in this example include four CPU-0 to CPU-3 related to the processor 1 and four IO-0 to IO-3 related to the peripheral device 2. The generated test instruction sequence 51 is an execution timing of each test for the four processors 1 and an execution timing of each test for the four IOs (peripheral devices 2).

対象の各要素の実行タイミングは図示の通りである。例えば、IO−1が最初に実行され、その後、IO−3、IO−2の実行終了直後、殆ど並行して、IO−0、CPU−2、CPU−3と続き、少々遅れてCPU−1、CPU−0が実行されるといったものである。これら一連の実行タイミングの情報は、図示しないが前記カバレッジ情報32(タイミング情報32b)に含まれている。例えば、(a)調整前の情報は、前回(今回)実行した試験の結果を示しており、タイミング情報32bの内容として既に格納されているものとする。   The execution timing of each target element is as illustrated. For example, IO-1 is executed first, and immediately after the completion of the execution of IO-3 and IO-2, it continues almost in parallel with IO-0, CPU-2, and CPU-3, and after a little delay, CPU-1 CPU-0 is executed. Although not shown, the series of execution timing information is included in the coverage information 32 (timing information 32b). For example, it is assumed that (a) pre-adjustment information indicates the result of the previous (current) test and is already stored as the content of the timing information 32b.

図9の試験データ調整処理において、目的として、これらの対象の要素の中から、調整(パラメータ52の再生成)に有効なものが選択され、実行タイミングの調整が行われる。調整に有効な対象を選択するために、タイミング情報32bが入力として参照される。具体例として、図7のタイミング情報32bに、周辺装置2の競合時間と競合回数の結果の数値が格納されている。この競合時間と競合回数(ないし競合率)が少ないものが、優先的に候補として決定される(S81)。候補の中からランダムに調整対象が選定される(S82)。そして、当該調整対象について、試験データ調整(パラメータ再生成)処理S83により、試験データ50の試験命令列51を再利用してパラメータ52が再生成(調整)される。   In the test data adjustment processing of FIG. 9, as an object, one effective for adjustment (regeneration of the parameter 52) is selected from these target elements, and the execution timing is adjusted. Timing information 32b is referred to as an input to select an effective target for adjustment. As a specific example, the timing information 32b of FIG. 7 stores the numerical values of the results of the contention time and the number of times of contention of the peripheral device 2. Those with less contention time and contention number (or contention rate) are preferentially determined as candidates (S81). An adjustment target is randomly selected from the candidates (S82). Then, the parameter 52 is regenerated (adjusted) for the adjustment target by reusing the test instruction sequence 51 of the test data 50 by the test data adjustment (parameter regeneration) process S83.

調整の仕方として、例えば、各々の対象の要素の起動時刻を調整する方法(起動スケジュールを調整する方法)と、動作時間(試験期間)の増減(長さ)を調整する方法とがある。また、それらのいずれか一方、あるいは両方を採用する場合がある。   As a method of adjustment, for example, there are a method of adjusting the activation time of each target element (method of adjusting the activation schedule) and a method of adjusting increase / decrease (length) of the operation time (test period). One or both of them may be employed.

更に、起動時刻を調整する方法では、大きく分けて、分散(直列)型と、競合(並列)型とがある。分散(直列)型では、試験の開始から終了までの間、できるだけ直列に別の時期に、要素の起動時刻(動作時間)を割り当てる。これに対して、競合(並列)型では、できるだけ並列実行を意識して同時期に動作させるように要素の起動時刻(動作時間)を割り当てる。また、それら両方の型を乱数を用いて混在させるように取り入れる、分散競合混在型も可能である。   Furthermore, the method for adjusting the activation time is roughly classified into a distributed (series) type and a competitive (parallel) type. In the distributed (series) type, element activation times (operation times) are allocated at different times in series as much as possible from the start to the end of the test. On the other hand, in the competitive (parallel) type, element activation times (operation times) are assigned so as to be operated at the same time while being aware of parallel execution as much as possible. In addition, a distributed conflict mixed type is possible in which both types are mixed using random numbers.

動作時間(試験期間)の増減を調整する方法において、プロセッサ1の試験については、乱数で生成される試験命令列51やデータ(パラメータ52)の種類、配置場所などが調整される。具体的には、命令数の増減、命令の入れ替え、命令実行の繰り返し、命令の配置環境、データの配置環境、データの種類などが調整される。また、それ以外に割り込みやスヌープの外乱を付加する場合がある。   In the method of adjusting the increase / decrease in the operation time (test period), the test of the processor 1 adjusts the test instruction sequence 51 generated by random numbers, the type of data (parameter 52), the arrangement location, and the like. Specifically, the increase / decrease in the number of instructions, the exchange of instructions, the repetition of instruction execution, the instruction placement environment, the data placement environment, the data type, and the like are adjusted. In addition, interrupts and snoop disturbances may be added.

入出力装置などの周辺装置2の試験については、転送長の増減、転送元・転送先の配置環境、起動用命令の配置環境、起動用命令による送受信の繰り返し、各プロトコルのモード切り替え、外部割り込み等の外乱、等がある。   For testing of peripheral devices 2 such as I / O devices, transfer length increase / decrease, transfer source / destination placement environment, start command placement environment, repeat transmission / reception by start command, mode switching for each protocol, external interrupt There are disturbances, etc.

上記のような調整後、図7のカバレッジ情報32のイベント情報32aの調整フラグ(調整回数)をインクリメントして更新する。これにより、何回、既存の試験データ50を再利用して試験したのか、即ち調整の実績が、データとして残される。当該データは前述の判定(図9)の際に用いられる。   After the adjustment as described above, the adjustment flag (the number of adjustments) in the event information 32a of the coverage information 32 in FIG. 7 is incremented and updated. As a result, how many times the existing test data 50 has been reused, that is, the results of adjustment, remain as data. The data is used in the above-described determination (FIG. 9).

図10の例は、生成済みの試験命令列51の再利用による調整及び試験において、被試験装置20の複数の要素の試験命令列51の競合の度合いを向上させるために、起動時刻(起動スケジュール)を調整する方法の1つである前記競合型の一例である。   In the example of FIG. 10, in order to improve the degree of contention of the test instruction sequence 51 of a plurality of elements of the device under test 20 in the adjustment and test by reusing the generated test instruction sequence 51, ) Is an example of the competitive type, which is one of the methods for adjusting.

図9の試験データ調整処理において、図7のタイミング情報32bの競合回数が少ないと判断された場合、それに該当する周辺装置2等の対象の実行タイミングが同時期になるように動かすために、複数の候補の中からランダムに選択して調整される(S82,S83)。   In the test data adjustment process of FIG. 9, when it is determined that the number of times of competition of the timing information 32b of FIG. Are randomly selected from the candidates and adjusted (S82, S83).

例えば、(a)調整前の状態から、破線で示すCPU−2、IO−0、CPU−3、並びにCPU−1、CPU−0の起動タイミングを時間的に前倒しさせるように矢印の方向へ調整する(対応パラメータ52の調整)。これにより、(b)調整後の状態となる。各調整の要素の動作時間の長さはそのままに、起動タイミングが前へずれた形である。(a)調整前に比べて、(b)調整後では、競合の度合いが向上していることがわかる。例えば、CPU−2,IO−0等の要素とIO−3等の要素とが同時並行動作する競合試験が行われる形となる。   For example, (a) From the state before adjustment, adjustment is made in the direction of the arrow so that the start timings of CPU-2, IO-0, CPU-3, and CPU-1, CPU-0 indicated by broken lines are advanced in time. (Adjustment of corresponding parameter 52). Thereby, (b) it will be in the state after adjustment. The start time is shifted forward while the length of the operation time of each adjustment element remains unchanged. It can be seen that the degree of competition is improved after (b) adjustment compared to (a) before adjustment. For example, a competition test is performed in which elements such as CPU-2 and IO-0 and elements such as IO-3 operate simultaneously in parallel.

なお、本システムでは、図8や図10のようなタイムチャートを、コンソール端末200等の画面に表示する処理を行うことで、試験者は競合性などの状態を把握しやすい。図11に、そのような競合性を表すタイムチャートの表示例を示す。   In this system, the tester can easily grasp the state such as the competitiveness by performing the process of displaying the time chart as shown in FIG. 8 or 10 on the screen of the console terminal 200 or the like. FIG. 11 shows a display example of a time chart showing such competitiveness.

このように、本実施の形態のシステムでは、実行済みの試験の試験データ50を再利用して次回の試験内容を調整する。本システムでは、アサーション及びカバレッジを用いて、方針に従って、前回までの試験結果を次回以降の試験へフィードバック(反映)することによって、試験内容を自動的に調整する。このような試験を繰り返すことによって、被試験装置20に関する機能及びタイミング等の試験に関して、網羅性を高めることが実現できる。特に、無意味な試験(例えば重複するような試験)の実行を回避、削減でき、競合率を高めた競合試験等の有効な試験を効率良く実行できる。従って、試験の期間の短縮を図ることができ、製品の品質を高めることができる。   As described above, in the system according to this embodiment, the test data 50 of the executed test is reused to adjust the next test content. In this system, the contents of the test are automatically adjusted by feeding back (reflecting) the test results up to the previous test in accordance with the policy using assertions and coverage. By repeating such a test, it is possible to improve the completeness with respect to the test on the function and timing related to the device under test 20. In particular, it is possible to avoid and reduce the execution of meaningless tests (for example, overlapping tests), and to efficiently execute an effective test such as a competitive test with an increased competition rate. Therefore, the test period can be shortened and the quality of the product can be improved.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

本発明は、IC設計及び試験などのための情報処理システムに利用可能である。   The present invention can be used in an information processing system for IC design and testing.

本発明の一実施の形態の情報処理装置試験方法及びプログラムを適用する情報処理装置(EWS)を含んで成る情報処理システム(論理シミュレーション環境)の基本的な構成例を示す図である。1 is a diagram illustrating a basic configuration example of an information processing system (logic simulation environment) including an information processing apparatus (EWS) to which an information processing apparatus testing method and program according to an embodiment of the present invention are applied. 本試験方法及びプログラムにおける論理シミュレータ上での被試験装置の構成例、及びそれに関連する、試験実行時の試験プログラム(試験データ)の状態を示す説明図である。It is explanatory drawing which shows the example of a structure of the to-be-tested apparatus on the logic simulator in this test method and a program, and the state of the test program (test data) at the time of a test relevant to it. 論理シミュレータと試験プログラムを中心とした特徴的な制御部における各処理部などの相関関係を含む構成を示す図である。It is a figure which shows the structure containing correlation, such as each process part in the characteristic control part centering on a logic simulator and a test program. 試験プログラム及びアサーションチェッカーの概略処理フローを示す図である。It is a figure which shows the schematic processing flow of a test program and an assertion checker. アサーション監視情報によるカバレッジ情報更新処理に関する概略的フロー、アサーションチェッカー制御プログラム及びアサーション監視情報の例を示す図である。It is a figure which shows the example of the schematic flow regarding the coverage information update process by assertion monitoring information, an assertion checker control program, and assertion monitoring information. アサーションチェックにおける試験対象信号の信号条件(競合条件)の例を示す図であり、(a)は信号条件の例、(b)は信号条件の記述例である。It is a figure which shows the example of the signal condition (competition condition) of the test object signal in an assertion check, (a) is an example of a signal condition, (b) is a description example of a signal condition. カバレッジ情報の構成例を示す図であり、そのうち、(a)はイベント情報、(b)はタイミング情報を示す。It is a figure which shows the structural example of coverage information, Among these, (a) shows event information and (b) shows timing information. 被試験装置の複数の要素における競合動作のタイミングの例を示す図である。It is a figure which shows the example of the timing of the competition operation | movement in the several element of a to-be-tested apparatus. 試験データ調整処理(S34)に関する概略処理フローを示す図である。It is a figure which shows the schematic process flow regarding a test data adjustment process (S34). 試験データ調整処理(S83)に関して、(a)調整前と(b)調整後の例をタイムチャートとして示す図である。It is a figure which shows the example before (a) adjustment and after (b) adjustment regarding a test data adjustment process (S83) as a time chart. 競合性を表すタイムチャートを、コンピュータの画面に表示する処理に関して、イメージを示す図である。It is a figure which shows an image regarding the process which displays the time chart showing competitiveness on the screen of a computer.

符号の説明Explanation of symbols

1…プロセッサ(CPU)、2…周辺装置(IOなど)、3…記憶装置(メモリ)、5…システムバス、6(6−1,6−2,6−3)…アサーションチェッカー、10…論理シミュレータ、11…試験生成処理部、12…期待値生成処理部、13…試験実行処理部、14…試験結果比較・出力処理部、15…アサーション起動処理部、16…監視情報採取・解析処理部、17…カバレッジ情報更新処理部、18…試験データ調整処理部、20…被試験装置(論理ファイル)、30…試験プログラム(乱数試験プログラム)、31…アサーション監視情報、32…カバレッジ情報、32a…イベント情報、32b…タイミング情報、50…試験データ、51…試験命令列、52…パラメータ、60…アサーションチェッカー制御プログラム、100…EWS(エンジニアリングワークステーション)、101…制御部、102…記憶部、103…通信部、104…補助記憶部、105…入力部、106…表示部、200…コンソール端末。   DESCRIPTION OF SYMBOLS 1 ... Processor (CPU), 2 ... Peripheral device (IO etc.), 3 ... Memory | storage device (memory), 5 ... System bus, 6 (6-1, 6-2, 6-3) ... Assertion checker, 10 ... Logic Simulator, 11 ... Test generation processing unit, 12 ... Expected value generation processing unit, 13 ... Test execution processing unit, 14 ... Test result comparison / output processing unit, 15 ... Assertion activation processing unit, 16 ... Monitoring information collection / analysis processing unit , 17 ... Coverage information update processing unit, 18 ... Test data adjustment processing unit, 20 ... Device under test (logical file), 30 ... Test program (random number test program), 31 ... Assertion monitoring information, 32 ... Coverage information, 32a ... Event information, 32b ... Timing information, 50 ... Test data, 51 ... Test instruction sequence, 52 ... Parameter, 60 ... Assertion checker control program, 00 ... EWS (engineering workstation), 101 ... controller, 102 ... storage unit, 103 ... communication unit, 104 ... auxiliary storage unit, 105 ... input unit, 106 ... display unit, 200 ... console terminal.

Claims (6)

試験者の操作に応じて論理シミュレータ上で情報処理装置の被試験装置の試験を行う処理をコンピュータに実行させる情報処理装置試験プログラムであって、
(A)試験プログラムにより乱数を用いて前記被試験装置の試験のための試験データを生成する処理と、
(B)前記試験データによる試験の結果の期待値を生成する処理と、
(C)前記試験データによる試験を対象とした監視のためのプログラムであるアサーションチェッカーを前記試験の開始に伴い起動する処理と、
(D)前記情報処理装置の被試験装置におけるプロセッサ、周辺装置、及び記憶装置を含む複数の要素に対し一斉に前記試験データによる試験を実行する処理と、
(E)前記試験の実行時に前記アサーションチェッカーによる前記要素の監視を行って、当該監視により抽出した監視情報を蓄積する処理と、
(F)前記試験の実行結果と前記期待値とを比較して結果を出力する処理と、
(G)前記監視情報を採取し、当該採取した監視情報を解析し、当該解析結果を用いて、前記試験の網羅性を管理するためのカバレッジ情報を更新する処理と、
(H)前記更新されたカバレッジ情報に基づき、前記試験の内容を調整するか否かを判断し、調整する場合、当該調整する対象を選定し、当該調整する対象に関する前記試験データによる試験の内容を調整する処理と、
(I)前記調整された前記試験データによる試験を実行する処理と、を前記コンピュータに実行させること、を特徴とする情報処理装置試験プログラム。
An information processing apparatus test program for causing a computer to execute a process of testing an apparatus under test of an information processing apparatus on a logic simulator according to a tester's operation,
(A) processing for generating test data for testing the device under test using a random number by a test program;
(B) processing for generating an expected value of a test result based on the test data;
(C) a process of starting an assertion checker, which is a program for monitoring the test based on the test data, with the start of the test;
(D) a process of performing a test using the test data simultaneously on a plurality of elements including a processor, a peripheral device, and a storage device in the device under test of the information processing device;
(E) A process of monitoring the element by the assertion checker during execution of the test and storing monitoring information extracted by the monitoring;
(F) a process of comparing the execution result of the test with the expected value and outputting the result;
(G) collecting the monitoring information, analyzing the collected monitoring information, and using the analysis result to update coverage information for managing the comprehensiveness of the test;
(H) Based on the updated coverage information, it is determined whether or not to adjust the content of the test. When adjusting, the target to be adjusted is selected, and the content of the test based on the test data regarding the target to be adjusted The process of adjusting
(I) An information processing apparatus test program that causes the computer to execute a process of executing a test based on the adjusted test data.
請求項1記載の情報処理装置試験プログラムにおいて、
前記(G)の処理ステップでは、前記更新の際、蓄積済みの前記カバレッジ情報に対し、前記(A)により生成された前記試験データの内容と、前記複数の要素の同時並行動作に関するタイミング情報とを加え合わせ、
前記タイミング情報は、前記要素の動作タイミングの情報、前記同時並行動作に関する競合時間及び競合回数の情報が含まれ、
前記(H)の処理ステップでは、前記タイミング情報を用いて、前記複数の要素の同時並行動作に関する競合性の低い部位を、前記調整の対象として選択すること、を特徴とする情報処理装置試験プログラム。
The information processing device test program according to claim 1,
In the processing step of (G), the content of the test data generated by (A) and timing information related to the simultaneous parallel operation of the plurality of elements for the coverage information accumulated at the time of the update, And add
The timing information includes information on the operation timing of the element, contention time and number of times of contention regarding the concurrent operation,
In the processing step of (H), an information processing apparatus test program characterized in that, using the timing information, a portion having low competitiveness regarding the simultaneous and parallel operation of the plurality of elements is selected as the adjustment target. .
請求項1または2に記載の情報処理装置試験プログラムにおいて、
前記(H)の処理ステップでは、前記カバレッジ情報と、乱数とを組み合わせて用いて、前記調整する対象となる要素を選定するものであり、
当該選定では、前記複数の要素のうち同時並行動作に関する競合性の低い部位を優先的に候補として決定し、当該候補の中から前記乱数により前記調整する対象を選定すること、を特徴とする情報処理装置試験プログラム。
In the information processing apparatus test program according to claim 1 or 2,
In the processing step (H), the element to be adjusted is selected by using the coverage information and a random number in combination.
In the selection, information is characterized by preferentially determining, as a candidate, a portion having low competitiveness regarding the simultaneous and parallel operation among the plurality of elements, and selecting the adjustment target by the random number from the candidates. Processing equipment test program.
請求項1〜3のいずれか一項に記載の情報処理装置試験プログラムにおいて、
前記(H)の処理ステップでは、前記調整する対象に関し、前記(A)の処理ステップで生成済みの前記試験データのうちの試験命令列を再利用してそのパラメータを再生成することで前記試験の内容を調整すること、を特徴とする情報処理装置試験プログラム。
In the information processing apparatus test program according to any one of claims 1 to 3,
In the processing step (H), with respect to the object to be adjusted, the test instruction sequence in the test data generated in the processing step (A) is reused to regenerate its parameters. An information processing apparatus test program characterized by adjusting the contents of the information processing apparatus.
請求項1記載の情報処理装置試験プログラムにおいて、
前記試験における前記被試験装置における前記複数の要素に関して、実行タイミング及び同時並行動作に関する競合性を表すタイムチャートを、コンピュータの画面に表示する処理を行うこと、を特徴とする情報処理装置試験プログラム。
The information processing device test program according to claim 1,
An information processing apparatus test program, comprising: performing a process of displaying, on a computer screen, a time chart representing a competitiveness related to execution timing and concurrent operation for the plurality of elements in the device under test in the test.
試験者の操作に応じて論理シミュレータ上で情報処理装置の被試験装置の試験を行う情報処理装置試験方法であって、
(A)試験プログラムにより乱数を用いて前記被試験装置の試験のための試験データを生成する処理ステップと、
(B)前記試験データによる試験の結果の期待値を生成する処理ステップと、
(C)前記試験データによる試験を対象とした監視のためのプログラムであるアサーションチェッカーを前記試験の開始に伴い起動する処理ステップと、
(D)前記情報処理装置の被試験装置におけるプロセッサ、周辺装置、及び記憶装置を含む複数の要素に対し一斉に前記試験データによる試験を実行する処理ステップと、
(E)前記試験の実行時に前記アサーションチェッカーによる前記要素の監視を行って、当該監視により抽出した監視情報を蓄積する処理ステップと、
(F)前記試験の実行結果と前記期待値とを比較して結果を出力する処理ステップと、
(G)前記監視情報を採取し、当該採取した監視情報を解析し、当該解析結果を用いて、前記試験の網羅性を管理するためのカバレッジ情報を更新する処理ステップと、
(H)前記更新されたカバレッジ情報に基づき、前記試験の内容を調整するか否かを判断し、調整する場合、当該調整する対象を選定し、当該調整する対象に関する前記試験データによる試験の内容を調整する処理ステップと、
(I)前記調整された前記試験データによる試験を実行する処理ステップと、を有すること、を特徴とする情報処理装置試験方法。
An information processing apparatus test method for testing an apparatus under test of an information processing apparatus on a logic simulator according to a tester's operation,
(A) a processing step of generating test data for testing the device under test using a random number by a test program;
(B) a processing step of generating an expected value of a test result based on the test data;
(C) a processing step of starting an assertion checker, which is a program for monitoring the test based on the test data, with the start of the test;
(D) a processing step of performing a test based on the test data simultaneously on a plurality of elements including a processor, a peripheral device, and a storage device in the device under test of the information processing device;
(E) a processing step of monitoring the element by the assertion checker during execution of the test and storing monitoring information extracted by the monitoring;
(F) a processing step of comparing the execution result of the test with the expected value and outputting the result;
(G) processing steps for collecting the monitoring information, analyzing the collected monitoring information, and updating coverage information for managing the comprehensiveness of the test using the analysis result;
(H) Based on the updated coverage information, it is determined whether or not to adjust the content of the test. When adjusting, the target to be adjusted is selected, and the content of the test based on the test data regarding the target to be adjusted Processing steps to adjust,
(I) A processing step of executing a test based on the adjusted test data.
JP2008208676A 2008-08-13 2008-08-13 Information processing apparatus test program and method Active JP5308098B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008208676A JP5308098B2 (en) 2008-08-13 2008-08-13 Information processing apparatus test program and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008208676A JP5308098B2 (en) 2008-08-13 2008-08-13 Information processing apparatus test program and method

Publications (2)

Publication Number Publication Date
JP2010044622A true JP2010044622A (en) 2010-02-25
JP5308098B2 JP5308098B2 (en) 2013-10-09

Family

ID=42015948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008208676A Active JP5308098B2 (en) 2008-08-13 2008-08-13 Information processing apparatus test program and method

Country Status (1)

Country Link
JP (1) JP5308098B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011105444A1 (en) 2010-02-25 2011-09-01 日立化成工業株式会社 Negative electrode material for lithium ion secondary battery, negative electrode for lithium ion secondary battery which comprises the negative electrode material, and lithium ion secondary battery
JP2012150723A (en) * 2011-01-20 2012-08-09 Fujitsu Semiconductor Ltd Design verification program, design verification device, and design verification method
CN103235844A (en) * 2013-04-07 2013-08-07 中国电子科技集团公司第三十研究所 Generation method for complex electromagnetic environment simulation scene
JP2014002622A (en) * 2012-06-19 2014-01-09 Hitachi Ltd Logic verification system and coverage acquisition method
JP2014164646A (en) * 2013-02-27 2014-09-08 Hitachi Information & Telecommunication Engineering Ltd Logic verification method for information processor and program
JP2015026337A (en) * 2013-07-29 2015-02-05 富士通株式会社 Competition testing timing adjustment program, competition testing timing adjustment method, and competition testing timing adjustment device
JP2015114923A (en) * 2013-12-13 2015-06-22 株式会社日立情報通信エンジニアリング Logic verification method of information processing device and program
US9280622B2 (en) 2013-06-14 2016-03-08 Nec Corporation Circuit verifying apparatus, circuit verifying method, and circuit verifying program
CN112579334A (en) * 2020-12-08 2021-03-30 海光信息技术股份有限公司 Ethernet-based signal recording method and device facing processor

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512366A (en) * 1991-07-02 1993-01-22 Hitachi Ltd Competition operation check system of logic simulation
JPH0668193A (en) * 1992-08-20 1994-03-11 Hokuriku Nippon Denki Software Kk Logic evaluation system
JPH07253901A (en) * 1994-03-14 1995-10-03 Hitachi Ltd Method for testing information processor
JPH10221410A (en) * 1997-02-07 1998-08-21 Mitsubishi Electric Corp Automatic logic verification system for lsi
JP2005108007A (en) * 2003-09-30 2005-04-21 Matsushita Electric Ind Co Ltd Lsi design verification apparatus and lsi design verification method
JP2005165747A (en) * 2003-12-03 2005-06-23 Canon Inc Verification system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512366A (en) * 1991-07-02 1993-01-22 Hitachi Ltd Competition operation check system of logic simulation
JPH0668193A (en) * 1992-08-20 1994-03-11 Hokuriku Nippon Denki Software Kk Logic evaluation system
JPH07253901A (en) * 1994-03-14 1995-10-03 Hitachi Ltd Method for testing information processor
JPH10221410A (en) * 1997-02-07 1998-08-21 Mitsubishi Electric Corp Automatic logic verification system for lsi
JP2005108007A (en) * 2003-09-30 2005-04-21 Matsushita Electric Ind Co Ltd Lsi design verification apparatus and lsi design verification method
JP2005165747A (en) * 2003-12-03 2005-06-23 Canon Inc Verification system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011105444A1 (en) 2010-02-25 2011-09-01 日立化成工業株式会社 Negative electrode material for lithium ion secondary battery, negative electrode for lithium ion secondary battery which comprises the negative electrode material, and lithium ion secondary battery
EP3787077A1 (en) 2010-02-25 2021-03-03 Hitachi Chemical Company, Ltd. Negative electrode material for lithium ion secondary battery, negative electrode for lithium ion secondary battery using the negative electrode material, and lithium ion secondary battery
JP2012150723A (en) * 2011-01-20 2012-08-09 Fujitsu Semiconductor Ltd Design verification program, design verification device, and design verification method
JP2014002622A (en) * 2012-06-19 2014-01-09 Hitachi Ltd Logic verification system and coverage acquisition method
JP2014164646A (en) * 2013-02-27 2014-09-08 Hitachi Information & Telecommunication Engineering Ltd Logic verification method for information processor and program
CN103235844A (en) * 2013-04-07 2013-08-07 中国电子科技集团公司第三十研究所 Generation method for complex electromagnetic environment simulation scene
US9280622B2 (en) 2013-06-14 2016-03-08 Nec Corporation Circuit verifying apparatus, circuit verifying method, and circuit verifying program
JP2015026337A (en) * 2013-07-29 2015-02-05 富士通株式会社 Competition testing timing adjustment program, competition testing timing adjustment method, and competition testing timing adjustment device
JP2015114923A (en) * 2013-12-13 2015-06-22 株式会社日立情報通信エンジニアリング Logic verification method of information processing device and program
CN112579334A (en) * 2020-12-08 2021-03-30 海光信息技术股份有限公司 Ethernet-based signal recording method and device facing processor

Also Published As

Publication number Publication date
JP5308098B2 (en) 2013-10-09

Similar Documents

Publication Publication Date Title
JP5308098B2 (en) Information processing apparatus test program and method
US9507688B2 (en) Execution history tracing method
JP4987182B2 (en) Computer system
US20060206840A1 (en) Systems and methods for design verification using selectively enabled checkers
US7650259B2 (en) Method for tuning chipset parameters to achieve optimal performance under varying workload types
US20070011492A1 (en) Generation of trace data
US20090248390A1 (en) Trace debugging in a hardware emulation environment
US8560988B2 (en) Apparatus and method thereof for hybrid timing exception verification of an integrated circuit design
JP4865943B2 (en) Computer system
US20090006068A1 (en) Software executing device and co-operation method
CN110688269B (en) RTL code automatic verification device and method adopting AXI bus interface
US8412507B2 (en) Testing the compliance of a design with the synchronization requirements of a memory model
Kantrowitz et al. Functional Verification of a Multiple-issue, Pipelined, Superscalar Alpha Processor - the Alpha 21164 CPU Chip
US20150213169A1 (en) Regression nearest neighbor analysis for statistical functional coverage
JPH10312311A (en) Logical simulation method and computer-readable recording medium record with program for implementing logical simulation method
CN107607853B (en) Chip debugging method and device, storage medium and processor
Ghosh et al. Case Study: SoC Performance Verification and Static Verification of RTL Parameters
US6536020B2 (en) Efficient generation of optimum test data
CN100403275C (en) Micro processor and method using in firmware program debug
US20060048011A1 (en) Performance profiling of microprocessor systems using debug hardware and performance monitor
US9946624B1 (en) Systems and methods to capture data signals from a dynamic circuit
US9323702B2 (en) Increasing coverage of delays through arbitration logic
JP2005250937A (en) Program verification device for microcomputer software
US9582410B2 (en) Testing software on a computer system
CN112416807A (en) System and method for analyzing and correlating test case results

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130628

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5308098

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250