JP2013069174A - Cooperation verification method and cooperation verification device - Google Patents

Cooperation verification method and cooperation verification device Download PDF

Info

Publication number
JP2013069174A
JP2013069174A JP2011208182A JP2011208182A JP2013069174A JP 2013069174 A JP2013069174 A JP 2013069174A JP 2011208182 A JP2011208182 A JP 2011208182A JP 2011208182 A JP2011208182 A JP 2011208182A JP 2013069174 A JP2013069174 A JP 2013069174A
Authority
JP
Japan
Prior art keywords
unit
performance
verification
specified value
function
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
JP2011208182A
Other languages
Japanese (ja)
Other versions
JP5909958B2 (en
Inventor
Tomoki Goto
智貴 後藤
Akiyuki Ishii
秋幸 石井
Masashi Odajima
雅 小田島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2011208182A priority Critical patent/JP5909958B2/en
Publication of JP2013069174A publication Critical patent/JP2013069174A/en
Application granted granted Critical
Publication of JP5909958B2 publication Critical patent/JP5909958B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To determine whether or not a design circuit satisfies performance requirements.SOLUTION: A cooperation verification method by software and hardware of a design circuit to be executed by a computer includes: setting a countable specified value based on performance requirements in a specified value register when cooperation verification of the design circuit is started; counting the operation of the design circuit according to the performance requirements under the execution of the cooperation verification; and comparing the counted count value with the specified value set in the specified value register to execute performance measurement.

Description

本発明は、設計回路のソフトウェア及びハードウェアによる協調検証を行なう協調検証方法及び協調検証装置に関する。   The present invention relates to a collaborative verification method and a collaborative verification apparatus that perform collaborative verification using software and hardware of a design circuit.

ソフトウェアの開発において、そのソフトウェアが動作するハードウェアのモデルを用いて、ソフトウェアとハードウェアとを協調動作させて検証することが行なわれている。マルチメディア向け等のLSI(Large Scale Integration)で実行されるプログラム(ソフトウェア)では、リアルタイム性が要求されるものが多く、それらのプログラムで繰り返し実行される処理単位は、常に規定時間以内で実行されなければならないという強い制約が要求される場合が多い。   In software development, software and hardware are collaboratively verified using a hardware model on which the software operates. Many programs (software) executed by LSI (Large Scale Integration) for multimedia use require real-time performance, and the processing units that are repeatedly executed by these programs are always executed within a specified time. In many cases, a strong constraint is required.

検証を行なう際に、プログラムを実行した際の処理単位に係る処理時間を監視することが考えられる。処理時間を監視するという観点において、所定処理に対して処理時間を監視し、所定時間を経過した際にはタイムアウトを通知する技術や、ソフトウェア・ハードウェア協調検証において、ソフトウェアモデルの処理時間を検証用プラットフォームにおける検証時刻から算出したタイマの値に基づき、予め設定されたタイマ間隔でシミュレーション時刻を監視する技術などが提案されている。   When performing verification, it is conceivable to monitor the processing time related to the processing unit when the program is executed. From the viewpoint of monitoring processing time, the processing time for a given process is monitored, and when the specified time elapses, a time-out is notified, and software / hardware co-verification verifies the processing time of the software model. A technique for monitoring the simulation time at a preset timer interval based on the timer value calculated from the verification time in the mobile platform has been proposed.

特開平04−239341号公報Japanese Patent Laid-Open No. 04-239341 特開平04−279940号公報Japanese Patent Laid-Open No. 04-279940 特開2010−009113号公報JP 2010-009113 A

しかしながら、上記従来の技術は、何らかの要因で処理が決められた時間に終了しない、処理がループしてしまい終了しない等の状態を監視する技術であるため、検証対象のプログラムが正常に機能する場合には、そのような機能的には問題の無いプログラムを、制約で規定された性能に基づいて、精度良く評価することができない。   However, since the above conventional technique is a technique for monitoring a state in which the process does not end at a predetermined time for some reason or the process loops and does not end, the program to be verified functions normally. Therefore, it is not possible to accurately evaluate such a program having no functional problem based on the performance defined by the constraints.

マルチメディア用のプログラムでは、機能の制約を満たしていたとしても、例えば、グラフィック処理、オーディオ処理等で、ある処理単位の実行が規定時間を越えた場合、ノイズの混入などにより品質が問題となる場合がある。   Even if the program for multimedia is satisfied with the restrictions on the function, for example, if the execution of a certain processing unit exceeds the specified time in graphic processing, audio processing, etc., quality becomes a problem due to noise mixing etc. There is a case.

LSI設計においてシミュレータ及びエミュレータによるソフトウェア・ハードウェア協調検証を実施する際に、論理的に正しいことを検証するだけでなく、全体の処理時間を測定し、なおかつ、プログラムの個々の部分の処理に関して、規定時間内に実行されていることを同時に検証することができない。そのため、オーディオ処理において、ある瞬間のサンプリングに処理が間に合わないためのノイズが発生するケースなどを検出すること、即ち、機能に問題はないが、性能に問題がある処理の検出は困難であった。   When performing software / hardware collaborative verification with a simulator and emulator in LSI design, not only is it verified that it is logically correct, but it also measures the overall processing time, and with regard to the processing of individual parts of the program, It cannot be verified at the same time that it is executed within the specified time. For this reason, in audio processing, it is difficult to detect a case in which noise occurs because sampling cannot be performed in time for sampling at a certain moment, that is, there is no problem in function, but it is difficult to detect processing that has a problem in performance. .

よって、本発明の目的は、LSI製造前の段階のソフトウェア・ハードウェア協調検証において、ソフトウェア及びハードウェアの機能のみならず性能上の制約を検証可能とすることである。   Therefore, an object of the present invention is to enable not only software and hardware functions but also performance restrictions to be verified in software / hardware cooperative verification before LSI manufacturing.

開示の技術は、コンピュータによって実行される設計回路のソフトウェア及びハードウェアによる協調検証方法であって、前記設計回路の協調検証の開始時に性能要件に基づく計数可能な規定値を規定値レジスタに設定し、前記協調検証の実施中、前記性能要件に係る前記設計回路の動作をカウントし、前記カウントしたカウント値と前記規定値レジスタに設定された前記規定値とを比較することによって性能測定を行う。   The disclosed technology is a method for collaborative verification by software and hardware of a design circuit executed by a computer, and sets a count value that can be counted based on performance requirements in a specified value register at the start of the collaborative verification of the design circuit. During the collaborative verification, the operation of the design circuit according to the performance requirement is counted, and the performance measurement is performed by comparing the counted value with the prescribed value set in the prescribed value register.

また、上記課題を解決するための手段として、協調検証装置、コンピュータに上記協調検証方法として行わせるためのプログラム、及び、そのプログラムを記録した記録媒体とすることもできる。   Further, as means for solving the above-described problems, a collaborative verification apparatus, a program for causing a computer to perform the collaborative verification method, and a recording medium on which the program is recorded can be used.

開示の技術では、性能要件に基づく計数可能な規定値を用いて性能測定することによって、設計回路が性能要件を満たしているか否かを判定することができる。   In the disclosed technology, it is possible to determine whether or not the design circuit satisfies the performance requirement by measuring the performance using a countable specified value based on the performance requirement.

基本構成を示す図である。It is a figure which shows a basic composition. 規定値算出方法の第1例を説明するための図である。It is a figure for demonstrating the 1st example of a regulation value calculation method. 規定値算出方法の第2例を説明するための図である。It is a figure for demonstrating the 2nd example of a regulation value calculation method. 測定用付加回路の機能構成例を示す図である。It is a figure which shows the function structural example of the additional circuit for a measurement. 検証システムのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of a verification system. 性能測定処理のみをシミュレータで実施する第1実施例を説明するための図である。It is a figure for demonstrating the 1st Example which implements only a performance measurement process with a simulator. 性能測定処理のみをエミュレータを用いて実施する第2実施例を説明するための図である。It is a figure for demonstrating the 2nd Example which implements only a performance measurement process using an emulator. 機能検証処理のみをシミュレータで実施する第3実施例を説明するための図である。It is a figure for demonstrating the 3rd Example which implements only a function verification process with a simulator. 機能検証処理のみをエミュレータで実施する第4実施例を説明するための図である。It is a figure for demonstrating the 4th Example which implements only a function verification process with an emulator. 性能測定処理及び機能検証処理を実施する第5実施例を説明するための図である。It is a figure for demonstrating the 5th Example which implements a performance measurement process and a function verification process. 性能測定処理及び機能検証処理を実施する第6実施例を説明するための図である。It is a figure for demonstrating the 6th Example which implements a performance measurement process and a function verification process. 周波数を探索する第1の探索例を説明するための図である。It is a figure for demonstrating the 1st search example which searches a frequency. 図12の第1の探索例での処理概要を説明するためのフローチャート図である。FIG. 13 is a flowchart for explaining an outline of processing in the first search example of FIG. 12. 機能の組み合せを探索する第2の探索例を説明するための図である。It is a figure for demonstrating the 2nd search example which searches the combination of a function. 図14の第2の探索例での処理概要を説明するためのフローチャート図である。FIG. 15 is a flowchart for explaining an outline of processing in the second search example of FIG. 14. 同一の機能の組み合せにおいて性能要件を満たす条件を探索する第3の探索例を説明するための図である。It is a figure for demonstrating the 3rd search example which searches the conditions which satisfy | fill a performance requirement in the combination of the same function. バス占有率に基づく性能測定について説明するための図である。It is a figure for demonstrating the performance measurement based on a bus occupation rate. 第5実施例の変形例を説明するための図である。It is a figure for demonstrating the modification of 5th Example. 第6実施例の変形例を説明するための図である。It is a figure for demonstrating the modification of 6th Example. 図19の第6実施例の変形例での処理概要を説明するためのフローチャート図である。It is a flowchart figure for demonstrating the process outline | summary in the modification of 6th Example of FIG. マルチメディア対応LSIの回路モデル構成の例を示す図である。It is a figure which shows the example of the circuit model structure of LSI corresponding to a multimedia. 図21に示すマルチメディア対応LSIの性能限界の探索例を示す図である。FIG. 22 is a diagram illustrating a search example of performance limits of the multimedia-compatible LSI illustrated in FIG. 21. データフロー例を示す図である。It is a figure which shows the example of a data flow. バスモニタの結果表示のためのフローチャート図である。It is a flowchart figure for a bus monitor result display. ボトルネック解析の例を説明するための図である。It is a figure for demonstrating the example of a bottleneck analysis. バス占有率を用いた性能余裕度の検証例を説明するための図である。It is a figure for demonstrating the verification example of the performance margin using a bus occupation rate.

以下、本発明の実施の形態を図面に基づいて説明する。本実施の形態では、LSIで実行される個々の部分処理について、シミュレータ及びエミュレータを用いたソフトウェア・ハードウェア協調検証(以下、協調検証と言う)において、論理的に正しいことを検証するのに加えて、予め指定された性能要件内で実行されていることを監視することによって、性能又は/及び機能面の処理違反を検出可能とし、また、解析のためにその検証結果を提供する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In this embodiment, in addition to verifying that each partial process executed by LSI is logically correct in software / hardware collaborative verification (hereinafter referred to as collaborative verification) using a simulator and an emulator. By monitoring the execution within the pre-specified performance requirements, it is possible to detect performance or / and functional processing violations and provide verification results for analysis.

図1は、基本構成を示す図である。図1中、本実施の形態に係る構成部のみを示し、他構成部を省略している。図1に例示される基本構成において、検証システム1000は、主に、規定値生成部2と、変換部4と、協調検証部50とを有する。更に、性能要件データ1と、プログラム3と、試験プログラム5と、設計データ6と、テストベンチ7とが記憶部に格納されている。   FIG. 1 is a diagram showing a basic configuration. In FIG. 1, only the components according to the present embodiment are shown, and other components are omitted. In the basic configuration illustrated in FIG. 1, the verification system 1000 mainly includes a specified value generation unit 2, a conversion unit 4, and a cooperative verification unit 50. Furthermore, performance requirement data 1, a program 3, a test program 5, design data 6, and a test bench 7 are stored in the storage unit.

後述されるように、規定値生成部2と、変換部4と、協調検証部50とは、ワークステーションなどのコンピュータ装置において、対応するプログラムをCPUが実行することによって実現される処理部である。或いは、規定値生成部2と変換部4とは、一つのワークステーションで実現され、協調検証部50は、エミュレータで実現されてもよい。   As will be described later, the specified value generation unit 2, the conversion unit 4, and the cooperative verification unit 50 are processing units realized by a CPU executing a corresponding program in a computer device such as a workstation. . Alternatively, the specified value generation unit 2 and the conversion unit 4 may be realized by one workstation, and the cooperative verification unit 50 may be realized by an emulator.

性能要件データ1は、制約によって規定される性能要件を示し、検証対象の部分処理に要求される処理時間、バスの占有率などのデータを含む。   The performance requirement data 1 indicates performance requirements defined by the constraints, and includes data such as processing time and bus occupancy required for the partial processing to be verified.

規定値生成部2は、性能要件データ1を読み込んで、性能検証用の規定値を生成する。性能要件データ1によって規定される性能要件に係る値から、協調検証部50での処理において計数可能な規定値を算出する処理部である。規定値生成部2は、検証対象の部分処理が開始される際に、算出された規定値を協調検証部50の所定のレジスタに書き込むための規定値設定プログラム39を検証対象のプログラム3に埋め込む。   The specified value generation unit 2 reads the performance requirement data 1 and generates a specified value for performance verification. It is a processing unit that calculates a specified value that can be counted in the process in the cooperative verification unit 50 from the value related to the performance requirement defined by the performance requirement data 1. The specified value generation unit 2 embeds a specified value setting program 39 for writing the calculated specified value in a predetermined register of the cooperative verification unit 50 in the verification target program 3 when the verification-target partial processing is started. .

変換部4は、プログラム3を、検証対象LSI90mを試験するための試験プログラム5に変換する処理部である。プログラム3は、各部分処理の性能又は/及び機能を検証するために、検証対象LSI90mで実行させるプログラムである。試験プログラム5は、変換部4によって、検証対象LSI90mで実行可能なプログラムコードに変換される。   The conversion unit 4 is a processing unit that converts the program 3 into a test program 5 for testing the verification target LSI 90m. The program 3 is a program to be executed by the verification target LSI 90m in order to verify the performance or / and function of each partial process. The test program 5 is converted by the conversion unit 4 into a program code that can be executed by the verification target LSI 90m.

設計データ6は、RTL(Register Transfer Level)などのハードウェア記述言語によってハードウェアの動作を抽象化して表現したデータである。   The design data 6 is data that abstractly represents the operation of the hardware by a hardware description language such as RTL (Register Transfer Level).

テストベンチ7は、試験プログラム5によって動作する検証対象LSI90mの性能又は/及び機能を検証するためのRTL(Register Transfer Level)などのハードウェア記述言語で作成した回路モデルを含み、協調検証部50に実装される。本実施の形態では、テストベンチ7は、測定用に付加されるRTL(Register Transfer Level)などのハードウェア記述言語で作成された回路モデルである測定用付加回路51を有する。   The test bench 7 includes a circuit model created in a hardware description language such as RTL (Register Transfer Level) for verifying the performance or / and function of the verification target LSI 90m operated by the test program 5. Implemented. In the present embodiment, the test bench 7 includes an additional circuit 51 for measurement which is a circuit model created in a hardware description language such as RTL (Register Transfer Level) added for measurement.

協調検証部50は、シミュレータ又はエミュレータ上で協調検証を行なう処理部であり、検証対象LSI90mと、測定用付加回路51とを有する。   The cooperative verification unit 50 is a processing unit that performs cooperative verification on a simulator or an emulator, and includes a verification target LSI 90 m and a measurement additional circuit 51.

検証対象LSI90mは、設計データ6が協調検証部50にロードされることによって実装される、設計されたLSIの動作を表す回路モデルであり、少なくともCPU91mとメモリ93mとを有する。CPU91mとメモリ93mとも、回路モデルとして実装される。試験プログラム5がメモリ93mにロードされ、CPU91mが試験プログラム5を実行することによって、協調検証が開始される。   The verification target LSI 90m is a circuit model representing the operation of the designed LSI, which is mounted by loading the design data 6 into the cooperative verification unit 50, and includes at least a CPU 91m and a memory 93m. Both the CPU 91m and the memory 93m are mounted as a circuit model. When the test program 5 is loaded into the memory 93m and the CPU 91m executes the test program 5, the cooperative verification is started.

所定の部分処理の開始の際に、CPU91mは、規定値生成部2によって埋め込まれた規定値設定プログラム39に従って、規定値を測定用付加回路51の所定レジスタに書き込んで所定の部分処理を実行し、所定の部分処理の実行中に測定用付加回路51が検証対象LSI90mの性能又は/及び機能を測定することによって収集した結果を取得して、試験結果を判定する。   At the start of the predetermined partial processing, the CPU 91m executes the predetermined partial processing by writing the predetermined value in the predetermined register of the measurement additional circuit 51 in accordance with the predetermined value setting program 39 embedded by the predetermined value generation unit 2. Then, the measurement additional circuit 51 acquires the result collected by measuring the performance or / and function of the verification target LSI 90m during execution of the predetermined partial process, and determines the test result.

測定用付加回路51は、テストベンチ7が協調検証部50にロードされることによって実装される回路モデルであり、性能測定部52と、機能検証部54と、結果収集部54とを有する。   The measurement additional circuit 51 is a circuit model that is mounted by loading the test bench 7 into the cooperative verification unit 50, and includes a performance measurement unit 52, a function verification unit 54, and a result collection unit 54.

性能測定部52は、試験プログラム5によって起動され、検証対象LSI90mの動作が開始されると、CPU91mが設定した規定値に基づいて性能測定を行う処理部である。その結果は結果収集部54によって収集されて、検証対象LSI90mに通知される。   The performance measurement unit 52 is a processing unit that is activated by the test program 5 and performs performance measurement based on the specified value set by the CPU 91m when the operation of the verification target LSI 90m is started. The results are collected by the result collection unit 54 and notified to the verification target LSI 90m.

機能検証部56は、試験プログラム5によって起動され、検証対象LSI90mの動作の機能測定を行う処理部である。その結果は結果収集部54によって収集されて、検証対象LSI90mに通知される。   The function verification unit 56 is a processing unit that is activated by the test program 5 and performs functional measurement of the operation of the verification target LSI 90m. The results are collected by the result collection unit 54 and notified to the verification target LSI 90m.

結果収集部54は、性能測定部52又は/及び56からの結果を収集して、CPU91mに通知する。CPU91mが実行している試験プログラム5によって、結果が判定される。   The result collection unit 54 collects the results from the performance measurement unit 52 or / and 56 and notifies the CPU 91m. The result is determined by the test program 5 being executed by the CPU 91m.

次に、規定値生成部2によって行われる規定値算出方法の例について、図2、図3で説明する。図2は、規定値算出方法の第1例を説明するための図である。図2において、性能を満たすための処理時間「33ms」が指定されている性能要件データ1aと、規定値を算出するために使用される規定値算出データ8aとが、規定値生成部2に読み込まれる。   Next, an example of the specified value calculation method performed by the specified value generation unit 2 will be described with reference to FIGS. FIG. 2 is a diagram for explaining a first example of the specified value calculation method. In FIG. 2, the performance requirement data 1 a in which the processing time “33 ms” for satisfying the performance is designated and the defined value calculation data 8 a used for calculating the defined value are read into the defined value generation unit 2. It is.

この第1例では、規定値算出データ8aによって、設計データ6から得られるクロック周波数「100MHz」が指定される。   In this first example, the clock frequency “100 MHz” obtained from the design data 6 is specified by the specified value calculation data 8a.

規定値生成部2は、読み込んだ性能要件データ1aで指定される性能要件と規定値算出データ8aで指定されるクロック周波数とに基づいて、規定値となる設計データ6に対するサイクル数を算出する。   The specified value generation unit 2 calculates the number of cycles for the design data 6 that is the specified value, based on the performance requirement specified by the read performance requirement data 1a and the clock frequency specified by the specified value calculation data 8a.

規定値生成部2は、クロック周波数「100MHz」から設計データ6の1サイクル「10ns」を求め、設計データ6の1サイクル「10ns」で処理時間「33ms」を除算することにより、処理時間「33ms」を満たすための、設計データ6において処理を終えなければならない「3,300,000」サイクルを取得する。   The specified value generation unit 2 obtains one cycle “10 ns” of the design data 6 from the clock frequency “100 MHz”, and divides the processing time “33 ms” by one cycle “10 ns” of the design data 6, thereby processing time “33 ms”. "3,300,000" cycles that must be processed in the design data 6 to satisfy "

規定値生成部2は、算出結果のサイクル数「3,300,000」を性能測定時の規定値として所定レジスタに書き込むための規定値設定プログラム39をプログラム3に埋め込む。   The specified value generation unit 2 embeds in the program 3 a specified value setting program 39 for writing the number of cycles “3,300,000” of the calculation result into a predetermined register as a specified value at the time of performance measurement.

図3は、規定値算出方法の第2例を説明するための図である。図3において、性能を満たすためのバス占有率「50%」以下が指定されている性能要件データ1bと、規定値を算出するために使用される規定値算出データ8bとが、規定値生成部2に読み込まれる。   FIG. 3 is a diagram for explaining a second example of the specified value calculation method. In FIG. 3, the performance requirement data 1b in which the bus occupation rate “50%” or less for satisfying the performance is specified, and the defined value calculation data 8b used to calculate the defined value are defined as a defined value generation unit. 2 is read.

この第2例では、規定値算出データ8bによって、設計データ6から得られるバス動作周波数「100MHz」及びバス幅「64bit」と、1コマンドの転送量としてreadコマンド「64bit」及びwriteコマンド「64bit」、分解能「1秒」が指定される。   In this second example, the bus operation frequency “100 MHz” and the bus width “64 bits” obtained from the design data 6 by the specified value calculation data 8b, and the read command “64 bits” and the write command “64 bits” as the transfer amount of one command. The resolution “1 second” is designated.

規定値生成部2は、読み込んだ性能要件データ1bで指定される性能要件と規定値算出データ8bで指定されるクロック周波数とに基づいて、規定値となる設計データ6に対するサイクル数を算出する。   The specified value generation unit 2 calculates the number of cycles for the design data 6 that is the specified value, based on the performance requirement specified by the read performance requirement data 1b and the clock frequency specified by the specified value calculation data 8b.

規定値生成部2は、読み込んだ性能要件データ1bで指定される性能要件と規定値算出データ8bで指定される設計データ6のバス動作周波数「100MHz」及びバス幅「64bit」と、1コマンドの転送量とに基づいて、規定値となるコマンド発行可能最大数を算出する。   The specified value generation unit 2 uses the performance requirement specified by the read performance requirement data 1b, the bus operating frequency “100 MHz” and the bus width “64 bits” of the design data 6 specified by the specified value calculation data 8b, and one command. Based on the transfer amount, the maximum number of commands that can be issued that is a specified value is calculated.

規定値生成部2は、バス動作周波数「100MHz」にバス幅「64bit」を乗算することにより最大転送量(理論値)「6400Mbps」を求める。read及びwriteとも64bitの1コマンドの転送量を考慮すると、性能要件バス占有率「50%」以下を満たすには、最大転送量(理論値)「6400Mbps」を1コマンド分の「64bit」で除算し、更に、性能要件バス占有率「50%」を乗算することによって、性能として要求される、1秒間あたりコマンド発行可能最大回数「50M回」を取得する。この場合、分解能は「1秒」であるので、分解能1秒当たりのコマンド発行可能最大回数は「50M回」となる。分解能が「2秒」の場合は、分解能2秒当たりのコマンド発行可能最大回数は「100M回」となる。   The specified value generation unit 2 obtains the maximum transfer amount (theoretical value) “6400 Mbps” by multiplying the bus operating frequency “100 MHz” by the bus width “64 bits”. Considering the transfer amount of one command of 64 bits for both read and write, in order to satisfy the performance requirement bus occupancy “50%” or less, the maximum transfer amount (theoretical value) “6400 Mbps” is divided by “64 bits” for one command. Further, by multiplying the performance requirement bus occupancy “50%”, the maximum number of commands that can be issued per second “50 M times” required as performance is acquired. In this case, since the resolution is “1 second”, the maximum number of commands that can be issued per second of resolution is “50 M times”. When the resolution is “2 seconds”, the maximum number of commands that can be issued per 2 seconds of resolution is “100 M times”.

規定値生成部2は、算出結果のコマンド発行可能最大回数「50M回」を性能測定時の規定値として所定レジスタに書き込むための規定値設定プログラム39をプログラム3に埋め込む。   The specified value generation unit 2 embeds in the program 3 a specified value setting program 39 for writing the maximum number of command issuable times “50M times” of the calculation result into the predetermined register as a specified value at the time of performance measurement.

図4は、測定用付加回路の機能構成例を示す図である。図4において、RTLで記述された回路モデルである測定用付加回路51は、性能測定部52と、結果収集部54と、機能検証部56とを有する。   FIG. 4 is a diagram illustrating a functional configuration example of the measurement additional circuit. In FIG. 4, a measurement additional circuit 51 that is a circuit model described in RTL includes a performance measurement unit 52, a result collection unit 54, and a function verification unit 56.

性能測定部52は、検証対象LSI90mの性能を測定し、制御部521と、性能比較部529と、レジスタ部530とを有する。   The performance measurement unit 52 measures the performance of the verification target LSI 90m, and includes a control unit 521, a performance comparison unit 529, and a register unit 530.

制御部521は、性能測定の開始と終了とを監視し、性能測定部52での処理を制御する。   The control unit 521 monitors the start and end of performance measurement, and controls processing in the performance measurement unit 52.

図2に示す規定値算出方法の第1例の場合、処理の開始からサイクル毎にカウントする。また、カウント値が規定値を超えた場合、制御部521は、結果収集部54に通知し、性能測定の結果を、結果格納部550を介してメモリ553に記憶する。   In the case of the first example of the prescribed value calculation method shown in FIG. When the count value exceeds the specified value, the control unit 521 notifies the result collection unit 54 and stores the performance measurement result in the memory 553 via the result storage unit 550.

また、図3に示す規定値算出方法の第2例の場合、制御部521は、検証対象LSI91mに対して、バスモニタを組み込んで、処理の開始からコマンド発行毎にカウントを行う。制御部521は、指定された分解能を変換したサイクル数分を経過するとカウンタをリセットする。カウント値が規定値を超えた場合、制御部521は、結果収集部54に通知し、性能測定の結果を、結果格納部550を介してメモリ553に記憶する。   In the case of the second example of the specified value calculation method shown in FIG. 3, the control unit 521 incorporates a bus monitor into the verification target LSI 91m and counts each time a command is issued from the start of processing. The control unit 521 resets the counter when the number of cycles converted from the designated resolution has elapsed. When the count value exceeds the specified value, the control unit 521 notifies the result collection unit 54 and stores the performance measurement result in the memory 553 via the result storage unit 550.

性能比較部529は、検証対象LSI90mが処理開始時に設定した規定値と処理中にカウントしたカウント値とを比較することによって性能測定を行う。レジスタ部530は、性能測定に必要な複数のレジスタを有する。   The performance comparison unit 529 performs performance measurement by comparing the specified value set by the verification target LSI 90m at the start of processing with the count value counted during the processing. The register unit 530 has a plurality of registers necessary for performance measurement.

結果収集部54は、性能測定部52から出力される比較結果を収集し、制御部541と、結果格納部550とを有する。制御部541は、性能測定部52及び機能検証部56からの結果を受信し、結果格納部550のメモリ553に格納する。また、制御部541は、性能測定部52及び機能検証部56からの結果を検証対象LSI90mに通知する。即ち、性能測定部52及び機能検証部56からの結果は、検証対象LSI90mで実行されている試験プログラム5に通知される。一方、性能又は機能に問題があった場合には、制御部541は、測定用付加回路51を停止させる。   The result collection unit 54 collects the comparison results output from the performance measurement unit 52 and includes a control unit 541 and a result storage unit 550. The control unit 541 receives the results from the performance measurement unit 52 and the function verification unit 56 and stores them in the memory 553 of the result storage unit 550. The control unit 541 notifies the verification target LSI 90m of the results from the performance measurement unit 52 and the function verification unit 56. That is, the results from the performance measurement unit 52 and the function verification unit 56 are notified to the test program 5 being executed on the verification target LSI 90m. On the other hand, when there is a problem in performance or function, the control unit 541 stops the measurement additional circuit 51.

機能検証部56は、検証対象LSI90mの機能を測定し、入力部560と、制御部561と、期待値生成部562と、期待値格納メモリ563と、期待値比較部564と、レジスタ部570とを有する。機能の測定には、検証対象LSI90mが正しく機能しているか否かに関する測定を含む。   The function verification unit 56 measures the function of the LSI 90m to be verified, and inputs the input unit 560, the control unit 561, the expected value generation unit 562, the expected value storage memory 563, the expected value comparison unit 564, and the register unit 570. Have The function measurement includes measurement related to whether or not the verification target LSI 90m is functioning correctly.

入力部560は、内部メモリや外部メモリへの入力データを機能検証部56に取り込む。制御部561は、入力データとの比較開始条件を判断し、期待値比較部564によって期待値との比較を行わせる。   The input unit 560 takes the input data to the internal memory or the external memory into the function verification unit 56. The control unit 561 determines the comparison start condition with the input data, and causes the expected value comparison unit 564 to compare with the expected value.

期待値生成部562は、期待値データ58を生成し、期待値格納メモリ563に格納する。期待値比較部564は、入力部560から取り込まれた入力データと、期待値データ58とを比較する。制御部561によって、比較結果に応じたデータが結果収集部54に提供される。結果収集部54は、機能検証部56の制御部561から期待値データ58との比較不一致が通知されると、測定用付加回路51を停止させる。   The expected value generation unit 562 generates expected value data 58 and stores it in the expected value storage memory 563. The expected value comparison unit 564 compares the input data fetched from the input unit 560 with the expected value data 58. Data corresponding to the comparison result is provided to the result collection unit 54 by the control unit 561. When the result collection unit 54 is notified of the comparison mismatch with the expected value data 58 from the control unit 561 of the function verification unit 56, the result collection unit 54 stops the measurement additional circuit 51.

上述した機能構成に基づく協調検証における処理パターンとして、
処理パターンA:性能測定処理のみ
処理パターンB:機能検証処理のみ
処理パターンC:性能測定処理及び機能検証処理(処理パターンA+B)
このように、3種類の処理パターンがある。これら処理パターンA、B、及びC毎に、エミュレータを使用しないシミュレータのみの実施例、及びエミュレータを使用する場合の実施例の各々について、処理概要を説明する。
As a processing pattern in the collaborative verification based on the functional configuration described above,
Process pattern A: Performance measurement process only Process pattern B: Function verification process only Process pattern C: Performance measurement process and function verification process (process pattern A + B)
Thus, there are three types of processing patterns. For each of these processing patterns A, B, and C, an outline of processing will be described for each of the embodiment using only the simulator that does not use the emulator and the embodiment using the emulator.

上述した機能実装A、B、及びCの説明にあたり、先ず、検証システム1000のハードウェア構成について説明する。図5は、検証システム1000のハードウェア構成を示す図である。図5において、検証システム1000は、少なくともWS(ワークステーション)100を有する。   In describing the functional implementations A, B, and C described above, first, the hardware configuration of the verification system 1000 will be described. FIG. 5 is a diagram illustrating a hardware configuration of the verification system 1000. In FIG. 5, the verification system 1000 includes at least a WS (workstation) 100.

WS100は、シミュレータとして機能するようにコンピュータによって制御される装置であって、CPU(Central Processing Unit)11と、メモリユニット12と、表示ユニット13と、出力ユニット14と、入力ユニット15と、通信ユニット16と、記憶装置17と、ドライブ18とを有し、バスBに接続される。   The WS 100 is a device controlled by a computer so as to function as a simulator, and includes a CPU (Central Processing Unit) 11, a memory unit 12, a display unit 13, an output unit 14, an input unit 15, and a communication unit. 16, a storage device 17, and a drive 18, which are connected to the bus B.

CPU11は、メモリユニット12に格納されたプログラムに従ってWS100を制御する。メモリユニット12には、RAM(Random Access Memory)及びROM(Read-Only Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を格納する。また、メモリユニット12の一部の領域が、CPU11での処理に利用されるワークエリアとして割り付けられている。   The CPU 11 controls the WS 100 according to a program stored in the memory unit 12. The memory unit 12 uses a RAM (Random Access Memory), a ROM (Read-Only Memory), or the like, and is obtained by a program executed by the CPU 11, data necessary for processing by the CPU 11, and processing by the CPU 11. Stored data. A part of the memory unit 12 is allocated as a work area used for processing by the CPU 11.

表示ユニット13は、CPU11の制御のもとに必要な各種情報を表示する。出力ユニット14は、プリンタ等を有し、利用者からの指示に応じて各種情報を出力するために用いられる。入力ユニット15は、マウス、キーボード等を有し、LSIの開発者等のユーザがWS100が処理を行なうための必要な各種情報を入力するために用いられる。通信ユニット16は、例えばインターネット、LAN(Local Area Network)等に接続し、外部装置との間の通信制御をするための装置である。   The display unit 13 displays various information required under the control of the CPU 11. The output unit 14 has a printer or the like, and is used for outputting various types of information in accordance with instructions from the user. The input unit 15 includes a mouse, a keyboard, and the like, and is used by a user such as an LSI developer to input various information necessary for the WS 100 to perform processing. The communication unit 16 is a device that is connected to, for example, the Internet, a LAN (Local Area Network), and the like and controls communication with an external device.

記憶装置17には、例えば、ハードディスクユニットが用いられ、各種処理を実行する規定値生成部2、変換部4、協調検証部50での処理を実現するためのプログラム等、また、検証対象LSI90mで実行される検証対象の処理を行わせるためのプログラム3、メモリ93mの形式に変換された試験プログラム5、設計データ6、テストベンチ7等のデータを格納する。   For example, a hard disk unit is used as the storage device 17, and a program for realizing processing in the specified value generation unit 2, the conversion unit 4, and the cooperative verification unit 50 that executes various processes, and the verification target LSI 90m. Data such as the program 3 for executing the verification target process to be executed, the test program 5 converted into the format of the memory 93m, the design data 6, the test bench 7, and the like are stored.

メモリユニット12又は/及び記憶装置17などによって、本実施の形態において必要なプログラム及びデータを記憶する記憶部が形成される。   The memory unit 12 or / and the storage device 17 or the like forms a storage unit that stores programs and data necessary in the present embodiment.

WS100によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によってWS100に提供される。即ち、プログラムが保存された記憶媒体19がドライブ18にセットされると、ドライブ18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムがバスBを介して記憶装置17にインストールされる。そして、プログラムが起動されると、記憶装置17にインストールされたプログラムに従ってCPU11がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。   A program that realizes processing performed by the WS 100 is provided to the WS 100 by a storage medium 19 such as a CD-ROM (Compact Disc Read-Only Memory). That is, when the storage medium 19 storing the program is set in the drive 18, the drive 18 reads the program from the storage medium 19, and the read program is installed in the storage device 17 via the bus B. When the program is activated, the CPU 11 starts its processing according to the program installed in the storage device 17. The medium for storing the program is not limited to a CD-ROM, and any medium that can be read by a computer may be used. As a computer-readable storage medium, in addition to a CD-ROM, a portable recording medium such as a DVD disk or a USB memory, or a semiconductor memory such as a flash memory may be used.

また、WS100によって行われる処理を実現するプログラムが、通信ユニット16を介して外部装置から提供されてもよい。或いは、外部装置へ該プログラムを提供し、後述される各処理は外部装置で実現されるように構成してもよい。通信ユニット16による通信は無線又は有線に限定されるものではない。   In addition, a program that realizes processing performed by the WS 100 may be provided from an external device via the communication unit 16. Alternatively, the program may be provided to an external device, and each process described below may be realized by the external device. Communication by the communication unit 16 is not limited to wireless or wired.

また、検証システム1000は、更に、エミュレータI/F20を有することにより、エミュレータ200との通信によって、エミュレータ200を用いた協調検証を行なうこともできる。   Further, the verification system 1000 can further perform cooperative verification using the emulator 200 by communicating with the emulator 200 by including the emulator I / F 20.

以下に、性能測定処理のみの処理パターンAに係る機能構成及び処理手順について、シミュレータ(WS100)で実施する場合と、エミュレータ200を用いて実施する場合とで、夫々説明する。   In the following, the functional configuration and the processing procedure related to the processing pattern A for only the performance measurement processing will be described in a case where the functional configuration and a processing procedure are performed using the simulator (WS 100) and a case where the processing is performed using the emulator 200.

性能測定処理のみの処理パターンAをシミュレータ(WS100)で実施する第1実施例に係る処理手順について、図6で説明する。図6は、性能測定処理のみをシミュレータで実施する第1実施例を説明するための図である。図6において、WS100は、書込処理挿入部2aを有し、測定用付加回路51の性能測定部52のレジスタ部530は、開始レジスタA531と、終了レジスタA532と、規定値レジスタA533と、カウンタA534とを有する。   A processing procedure according to the first embodiment in which the processing pattern A for only the performance measurement processing is performed by the simulator (WS100) will be described with reference to FIG. FIG. 6 is a diagram for explaining a first embodiment in which only performance measurement processing is performed by a simulator. In FIG. 6, the WS 100 has a write processing insertion unit 2a, and the register unit 530 of the performance measurement unit 52 of the measurement additional circuit 51 includes a start register A531, an end register A532, a specified value register A533, and a counter. A534.

図6に示す第1実施例において、書込処理挿入部2aは、性能測定の対象処理(以下、処理Aという。例えば、オーディオ処理などである。)の開始時点で開始レジスタA531に書き込む処理、及び終了時点て終了レジスタA532に書き込む処理を行うプログラムをプログラム3に挿入し、また、規定値生成部2は、性能要件データ1に基づいて、規定値を規定値レジスタA533に設定する処理を行う規定値設定プログラム39をプログラム3に挿入する(ステップS11)。   In the first embodiment shown in FIG. 6, the write processing insertion unit 2a writes data to the start register A531 at the start of performance measurement target processing (hereinafter referred to as processing A. For example, audio processing). Then, a program for performing a process of writing to the end register A532 at the end time is inserted into the program 3, and the specified value generation unit 2 performs a process of setting the specified value in the specified value register A533 based on the performance requirement data 1. The specified value setting program 39 is inserted into the program 3 (step S11).

次に、変換部4は、プログラム3をシミュレーション用のメモリ形式に変換することによって、試験プログラム5を生成する(ステップS12)。   Next, the conversion unit 4 generates the test program 5 by converting the program 3 into a memory format for simulation (step S12).

そして、CPU11が、メモリユニット12にロードされた、設計データ6と、テストベンチ7とを実行することによって、シミュレータである協調検証部50a−1として機能し、試験プログラム5がメモリ93mにロードされることによって、シミュレーションを開始する(ステップS13)。   The CPU 11 executes the design data 6 and the test bench 7 loaded in the memory unit 12, thereby functioning as a cooperative verification unit 50a-1 that is a simulator, and the test program 5 is loaded into the memory 93m. Thus, the simulation is started (step S13).

シミュレーションの開始によって、検証対象LSI90mのCPU91mは、メモリ93mにロードされた試験プログラム5に従って性能測定部51を起動し、処理Aに対する性能測定処理の開始の際に、処理Aに係る規定値(サイクル数)を規定値レジスタA533に設定する(ステップS14)。   When the simulation is started, the CPU 91m of the verification target LSI 90m starts the performance measurement unit 51 according to the test program 5 loaded in the memory 93m, and at the time of starting the performance measurement process for the process A, the specified value (cycle) related to the process A Number) is set in the specified value register A533 (step S14).

制御部521は、検証対象LSI91mによる処理Aの開始で、開始レジスタA531に書き込む(ステップS15)。また、制御部521は、カウンタA534をリセットする(ステップS16)。その後、カウンタA534は、サイクル毎にカウントアップされる。   At the start of processing A by the verification target LSI 91m, the control unit 521 writes to the start register A531 (step S15). In addition, the control unit 521 resets the counter A534 (step S16). Thereafter, the counter A534 is counted up every cycle.

検証対象LSI91mによる処理Aの終了で、制御部521は、終了レジスタA532に書き込む(ステップS17)。   At the end of the process A by the verification target LSI 91m, the control unit 521 writes in the end register A532 (step S17).

性能比較部529は、カウンタA534のカウンタ値と規定値レジスタA533に設定された規定値とを比較する(ステップS18)。性能比較部529による比較結果がカウンタA534のカウンタ値が規定値レジスタA533の規定値より大きいことを示す場合、制御部521は、性能に問題があると判定して、結果収集部54に通知することにより、結果収集部54の結果格納部550のメモリ553で管理されるエラーフラグを1に設定する。   The performance comparison unit 529 compares the counter value of the counter A534 with the specified value set in the specified value register A533 (step S18). When the comparison result by the performance comparison unit 529 indicates that the counter value of the counter A 534 is larger than the specified value of the specified value register A 533, the control unit 521 determines that there is a problem in performance and notifies the result collecting unit 54. As a result, the error flag managed in the memory 553 of the result storage unit 550 of the result collection unit 54 is set to 1.

エラーフラグが「1」を示す場合、性能に問題があると判定されたことを示し、「0」を示す場合、性能は規定内であり問題はないと判定されたことを示す。エラーフラグ「1」の設定を受信すると、結果収集部54は、シミュレーション結果を結果格納部550のメモリ553に格納し、メモリ553内のエラーフラグに「1」を設定して、シミュレーションを停止する。シミュレーションを停止するかどうかは選択することが出来る。   When the error flag indicates “1”, it indicates that it is determined that there is a problem in performance, and when it indicates “0”, it indicates that it is determined that there is no problem because the performance is within the specification. When receiving the setting of the error flag “1”, the result collection unit 54 stores the simulation result in the memory 553 of the result storage unit 550, sets “1” in the error flag in the memory 553, and stops the simulation. . You can choose whether to stop the simulation.

一方、シミュレーションを停止せず、性能が規定内であり問題ない場合、上述したステップS15からS18を繰り返す。   On the other hand, if the simulation is not stopped and the performance is within the specified range and there is no problem, steps S15 to S18 described above are repeated.

性能測定処理のみの処理パターンAをエミュレータ200を用いて実施する第2実施例に係る処理手順について、図7で説明する。図7は、性能測定処理のみをエミュレータを用いて実施する第2実施例を説明するための図である。図7に示す第2実施例では、WS100がコンパイラ8とコンパイルDB9とを更に有する点で第1実施例と異なる。測定用付加回路51の性能測定部52のレジスタ部530は、図6と同様である。   A processing procedure according to the second embodiment in which the processing pattern A for only the performance measurement processing is performed using the emulator 200 will be described with reference to FIG. FIG. 7 is a diagram for explaining a second embodiment in which only performance measurement processing is performed using an emulator. The second embodiment shown in FIG. 7 differs from the first embodiment in that the WS 100 further includes a compiler 8 and a compile DB 9. The register unit 530 of the performance measuring unit 52 of the measurement additional circuit 51 is the same as that shown in FIG.

図7に示す第2実施例において、書込処理挿入部2aは、性能測定の対象処理(以下、処理Aという。例えば、オーディオ処理などである。)の開始時点で開始レジスタA531に書き込む処理、及び終了時点て終了レジスタA532に書き込む処理を行うプログラムをプログラム3に挿入し、また、規定値生成部2は、性能要件データ1に基づいて、規定値を規定値レジスタA533に設定する処理を行う規定値設定プログラム39をプログラム3に挿入する(ステップS21)。   In the second embodiment shown in FIG. 7, the writing process insertion unit 2a writes data to the start register A531 at the start of performance measurement target processing (hereinafter referred to as processing A. For example, audio processing). Then, a program for performing a process of writing to the end register A532 at the end time is inserted into the program 3, and the specified value generation unit 2 performs a process of setting the specified value in the specified value register A533 based on the performance requirement data 1. The specified value setting program 39 is inserted into the program 3 (step S21).

次に、変換部4は、プログラム3をシミュレーション用のメモリ形式に変換することによって、試験プログラム5を生成する(ステップS22)。   Next, the conversion unit 4 generates the test program 5 by converting the program 3 into a memory format for simulation (step S22).

コンパイラ8は、設計データ6と、テストベンチ7とを、エミュレータである協調検証部50a−2用にコンパイルして、記憶部内のコンパイルDB9に格納する(ステップS23)。このステップS23での処理は、ステップS21での処理前に行ってもよい。   The compiler 8 compiles the design data 6 and the test bench 7 for the collaborative verification unit 50a-2 that is an emulator, and stores it in the compile DB 9 in the storage unit (step S23). The process in step S23 may be performed before the process in step S21.

そして、エミュレータI/F20を介して、コンパイルされた設計データ6とテストベンチ7とを含むコンパイルDB9が協調検証部50a−2にロードされ実行されることにより、検証対象LSI90mと測定用付加回路51とが回路モデルとして実現され、更に、試験プログラム5がメモリ93mにロードされ実行されることによって、エミュレーションが開始される(ステップS24)。   Then, the compiled DB 9 including the compiled design data 6 and the test bench 7 is loaded into the collaborative verification unit 50a-2 and executed via the emulator I / F 20, whereby the verification target LSI 90m and the measurement additional circuit 51 are loaded. Are realized as a circuit model, and the test program 5 is loaded into the memory 93m and executed, whereby emulation is started (step S24).

エミュレーションの開始によって、検証対象LSI90mのCPU91mは、メモリ93mにロードされた試験プログラム5に従って性能測定部51を起動し、処理Aに対する性能測定処理の開始の際に、処理Aに係る規定値(サイクル数)を規定値レジスタA533に設定する(ステップS25)。   When the emulation is started, the CPU 91m of the LSI 90m to be verified activates the performance measurement unit 51 according to the test program 5 loaded in the memory 93m, and when the performance measurement process for the process A starts, the specified value (cycle) for the process A Number) is set in the specified value register A533 (step S25).

制御部521は、検証対象LSI91mによる処理Aの開始で、開始レジスタA531に書き込む(ステップS26)。また、制御部521は、カウンタA534をリセットする(ステップS27)。その後、カウンタA534は、サイクル毎にカウントアップされる。   The control unit 521 writes the start register A531 at the start of the process A by the verification target LSI 91m (step S26). Further, the control unit 521 resets the counter A534 (step S27). Thereafter, the counter A534 is counted up every cycle.

検証対象LSI91mによる処理Aの終了で、制御部521は、終了レジスタA532に書き込む(ステップS28)。   At the end of the process A by the verification target LSI 91m, the control unit 521 writes in the end register A532 (step S28).

性能比較部529は、カウンタA534のカウンタ値と規定値レジスタA533に設定された規定値とを比較する(ステップS29)。性能比較部529による比較結果がカウンタA534のカウンタ値が規定値レジスタA533の規定値より大きいことを示す場合、制御部521は、性能に問題があると判定して、結果収集部54に通知することにより、結果収集部54の結果格納部550のメモリ553で管理されるエラーフラグを1に設定する。   The performance comparison unit 529 compares the counter value of the counter A534 with the specified value set in the specified value register A533 (step S29). When the comparison result by the performance comparison unit 529 indicates that the counter value of the counter A 534 is larger than the specified value of the specified value register A 533, the control unit 521 determines that there is a problem in performance and notifies the result collecting unit 54. As a result, the error flag managed in the memory 553 of the result storage unit 550 of the result collection unit 54 is set to 1.

エラーフラグが「1」を示す場合、性能に問題があると判定されたことを示し、「0」を示す場合、性能は規定内であり問題はないと判定されたことを示す。エラーフラグ「1」の設定を受信すると、結果収集部54は、エミュレーション結果を結果格納部550のメモリ553に格納し、メモリ553内のエラーフラグに「1」を設定して、エミュレーションを停止する。エミュレーションを停止するかどうかは選択することが出来る。   When the error flag indicates “1”, it indicates that it is determined that there is a problem in performance, and when it indicates “0”, it indicates that it is determined that there is no problem because the performance is within the specification. When receiving the setting of the error flag “1”, the result collection unit 54 stores the emulation result in the memory 553 of the result storage unit 550, sets “1” in the error flag in the memory 553, and stops the emulation. . You can choose whether to stop emulation.

一方、エミュレーションを停止せず、性能が規定内であり問題ない場合、上述したステップS26からS29を繰り返す。   On the other hand, if the emulation is not stopped and the performance is within the specified range and there is no problem, the above steps S26 to S29 are repeated.

以下に、機能検証処理のみの処理パターンBに係る機能構成及び処理手順について、シミュレータ(WS100)で実施する場合と、エミュレータ200を用いて実施する場合とで、夫々説明する。   In the following, the functional configuration and processing procedure related to the processing pattern B with only the function verification processing will be described in the case of being executed by the simulator (WS 100) and the case of being executed using the emulator 200, respectively.

機能検証処理のみの処理パターンBをシミュレータ(WS100)で実施する第3実施例に係る処理手順について、図8で説明する。図8は、機能検証処理のみをシミュレータで実施する第3実施例を説明するための図である。図8において、WS100は、更に、記述追加部10を有する。また、測定用付加回路51の機能検証部56のレジスタ部570は、期待値生成用データレジスタ571と、比較モードレジスタB572と、比較開始レジスタB573と、期待値比較エラーレジスタB574とを有する。   A processing procedure according to the third embodiment in which the processing pattern B of only the function verification processing is performed by the simulator (WS100) will be described with reference to FIG. FIG. 8 is a diagram for explaining a third embodiment in which only the function verification processing is performed by the simulator. In FIG. 8, the WS 100 further includes a description adding unit 10. The register unit 570 of the function verification unit 56 of the measurement additional circuit 51 includes an expected value generation data register 571, a comparison mode register B572, a comparison start register B573, and an expected value comparison error register B574.

図8に示す第3実施例において、書込処理挿入部2bは、機能検証の対象処理(以下、処理Bという。例えば、グラフィック処理などである。)の開始時点で、比較モードレジスタB572と、比較開始レジスタB573と、期待値生成データレジスタB571とに書き込みする処理を行うプログラムをプログラム3に挿入する(ステップS31)。   In the third embodiment shown in FIG. 8, the writing process insertion unit 2b has a comparison mode register B572 at the start of a function verification target process (hereinafter referred to as process B. For example, graphic process). A program for performing a process of writing to the comparison start register B573 and the expected value generation data register B571 is inserted into the program 3 (step S31).

次に、変換部4は、プログラム3をシミュレーション用のメモリ形式に変換することによって、試験プログラム5を生成する(ステップS32)。   Next, the conversion unit 4 generates the test program 5 by converting the program 3 into a memory format for simulation (step S32).

記述追加部10は、テストベンチ7に内部メモリや外部メモリへの入力データを機能検証部56の入力部560に取り込む処理の記述を追加する(ステップS33)。このステップS33での処理は、ステップS31での処理前に行ってもよい。   The description adding unit 10 adds a description of a process for importing input data to the internal memory or the external memory into the input unit 560 of the function verification unit 56 to the test bench 7 (step S33). The process in step S33 may be performed before the process in step S31.

そして、CPU11が、メモリユニット12にロードされた、設計データ6と、テストベンチ7とを実行することによって、シミュレータである協調検証部50b−1として機能し、試験プログラム5がメモリ93mにロードされることによって、シミュレーションを開始する(ステップS34)。   The CPU 11 executes the design data 6 and the test bench 7 loaded in the memory unit 12, thereby functioning as a cooperative verification unit 50b-1 that is a simulator, and the test program 5 is loaded into the memory 93m. Thus, the simulation is started (step S34).

シミュレーションの開始によって、検証対象LSI90mのCPU91mは、メモリ93mにロードされた試験プログラム5に従って機能検証部56を起動し、処理Bに対する機能検証処理を開始する(ステップS35)。   By starting the simulation, the CPU 91m of the LSI to be verified 90m activates the function verification unit 56 in accordance with the test program 5 loaded in the memory 93m, and starts the function verification process for the process B (step S35).

制御部561は、比較開始レジスタB573と、入力部560に取り込まれた入力データとを監視し、比較開始条件になると期待値比較部564によって、期待値との比較を行わせる(ステップS36)。そして、制御部561は、期待値比較部564による比較結果を期待値比較エラーレジスタB574に書き込む(ステップS37)。   The control unit 561 monitors the comparison start register B 573 and the input data fetched into the input unit 560, and when the comparison start condition is met, the expected value comparison unit 564 performs comparison with the expected value (step S36). Then, the control unit 561 writes the comparison result by the expected value comparison unit 564 in the expected value comparison error register B 574 (step S37).

比較結果が不一致を示す場合、制御部561は、不一致となったアドレス及び入力データを結果収集部54に通知することにより、結果収集部54の結果格納部550のメモリ553に格納し、また、結果収集部54に、結果格納部550で管理されるエラーフラグを1に設定させる(ステップS38)。   When the comparison result indicates a mismatch, the control unit 561 stores the mismatched address and input data in the memory 553 of the result storage unit 550 of the result collection unit 54 by notifying the result collection unit 54, and The result collection unit 54 is caused to set the error flag managed by the result storage unit 550 to 1 (step S38).

エラーフラグが「1」を示す場合、機能に問題があると判定されたことを示し、「0」を示す場合、機能に問題はないと判定されたことを示す。エラーフラグ「1」の設定を受信すると、結果収集部54は、シミュレーション結果を結果格納部550のメモリ553に格納し、メモリ553内のエラーフラグに「1」を設定して、シミュレーションを停止する。シミュレーションを停止するかどうかは選択することが出来る。   When the error flag indicates “1”, it indicates that it is determined that there is a problem with the function, and when it indicates “0”, it indicates that it is determined that there is no problem with the function. When receiving the setting of the error flag “1”, the result collection unit 54 stores the simulation result in the memory 553 of the result storage unit 550, sets “1” in the error flag in the memory 553, and stops the simulation. . You can choose whether to stop the simulation.

一方、シミュレーションを停止せず、機能に問題ない場合、上述したステップS35からS38を繰り返す。   On the other hand, if the simulation is not stopped and there is no problem in function, the above-described steps S35 to S38 are repeated.

機能検証処理のみの処理パターンBをエミュレータ200を用いて実施する第4実施例に係る処理手順について、図9で説明する。図9は、機能検証処理のみをエミュレータで実施する第4実施例を説明するための図である。図9に示す第4実施例では、WS100がコンパイラ8とコンパイルDB9とを更に有する点で第3実施例と異なる。測定用付加回路51の性能測定部52のレジスタ部530は、図8と同様である。   A processing procedure according to the fourth embodiment in which the processing pattern B of only the function verification processing is performed using the emulator 200 will be described with reference to FIG. FIG. 9 is a diagram for explaining a fourth embodiment in which only function verification processing is performed by an emulator. The fourth embodiment shown in FIG. 9 is different from the third embodiment in that the WS 100 further includes a compiler 8 and a compile DB 9. The register unit 530 of the performance measurement unit 52 of the measurement additional circuit 51 is the same as that in FIG.

図9に示す第4実施例において、書込処理挿入部2bは、機能検証の対象処理(以下、処理Bという。例えば、グラフィック処理などである。)の開始時点で、比較モードレジスタB572と、比較開始レジスタB573と、期待値生成データレジスタB571とに書き込みする処理を行うプログラムをプログラム3に挿入する(ステップS41)。   In the fourth embodiment shown in FIG. 9, the writing process insertion unit 2b has a comparison mode register B572 at the start of a function verification target process (hereinafter referred to as process B. For example, graphic process). A program for performing a process of writing to the comparison start register B573 and the expected value generation data register B571 is inserted into the program 3 (step S41).

次に、変換部4は、プログラム3をシミュレーション用のメモリ形式に変換することによって、試験プログラム5を生成する(ステップS42)。   Next, the conversion unit 4 generates the test program 5 by converting the program 3 into a memory format for simulation (step S42).

記述追加部10は、テストベンチ7に内部メモリや外部メモリへの入力データを機能検証部56の入力部560に取り込む処理の記述を追加する(ステップS43)。このステップS43での処理は、ステップS41での処理前に行ってもよい。   The description adding unit 10 adds a description of a process for fetching input data to the internal memory or the external memory into the input unit 560 of the function verification unit 56 to the test bench 7 (step S43). The process in step S43 may be performed before the process in step S41.

コンパイラ8は、設計データ6と、テストベンチ7とを、エミュレータである協調検証部50a−2用にコンパイルして、記憶部内のコンパイルDB9に格納する(ステップS44)。このステップS44での処理は、ステップS41での処理前に行ってもよい。   The compiler 8 compiles the design data 6 and the test bench 7 for the collaborative verification unit 50a-2 that is an emulator, and stores it in the compile DB 9 in the storage unit (step S44). The process in step S44 may be performed before the process in step S41.

そして、エミュレータI/F20を介して、コンパイルされた設計データ6とテストベンチ7とを含むコンパイルDB9が協調検証部50a−2にロードされ実行されることにより、検証対象LSI90mと測定用付加回路51とが回路モデルとして実現され、更に、試験プログラム5がメモリ93mにロードされ実行されることによって、エミュレーションが開始される(ステップS45)。   Then, the compiled DB 9 including the compiled design data 6 and the test bench 7 is loaded into the collaborative verification unit 50a-2 and executed via the emulator I / F 20, whereby the verification target LSI 90m and the measurement additional circuit 51 are loaded. Are realized as a circuit model, and the test program 5 is loaded into the memory 93m and executed, whereby emulation is started (step S45).

エミュレーションの開始によって、検証対象LSI90mのCPU91mは、メモリ93mにロードされた試験プログラム5に従って機能検証部56を起動し、処理Bに対する機能検証処理を開始する(ステップS46)。   With the start of emulation, the CPU 91m of the LSI to be verified 90m activates the function verification unit 56 in accordance with the test program 5 loaded in the memory 93m, and starts a function verification process for the process B (step S46).

制御部561は、比較開始レジスタB573と、入力部560に取り込まれた入力データとを監視し、比較開始条件になると期待値比較部564によって、期待値との比較を行わせる(ステップS47)。そして、制御部561は、期待値比較部564による比較結果を期待値比較エラーレジスタB574に書き込む(ステップS48)。   The control unit 561 monitors the comparison start register B 573 and the input data fetched into the input unit 560, and when the comparison start condition is met, the expected value comparison unit 564 compares the expected value (step S47). Then, the control unit 561 writes the comparison result by the expected value comparison unit 564 in the expected value comparison error register B 574 (step S48).

比較結果が不一致を示す場合、制御部561は、不一致となったアドレス及び入力データを結果収集部54に通知することにより、結果収集部54の結果格納部550のメモリ553に格納し、また、結果収集部54に、結果格納部550で管理されるエラーフラグを1に設定させる(ステップS49)。   When the comparison result indicates a mismatch, the control unit 561 stores the mismatched address and input data in the memory 553 of the result storage unit 550 of the result collection unit 54 by notifying the result collection unit 54, and The result collection unit 54 is caused to set the error flag managed by the result storage unit 550 to 1 (step S49).

エラーフラグが「1」を示す場合、機能に問題があると判定されたことを示し、「0」を示す場合、機能に問題はないと判定されたことを示す。エラーフラグ「1」の設定を受信すると、結果収集部54は、エミュレーション結果を結果格納部550のメモリ553に格納し、メモリ553内のエラーフラグに「1」を設定して、エミュレーションを停止する。エミュレーションを停止するかどうかは選択することが出来る。   When the error flag indicates “1”, it indicates that it is determined that there is a problem with the function, and when it indicates “0”, it indicates that it is determined that there is no problem with the function. When receiving the setting of the error flag “1”, the result collection unit 54 stores the emulation result in the memory 553 of the result storage unit 550, sets “1” in the error flag in the memory 553, and stops the emulation. . You can choose whether to stop emulation.

一方、エミュレーションを停止せず、機能に問題ない場合、上述したステップS46からS49を繰り返す。   On the other hand, if the emulation is not stopped and there is no problem in function, the above-described steps S46 to S49 are repeated.

以下に、性能測定処理及び機能検証処理による処理パターンCに係る第5及び第6実施例について説明する。第5及び第6実施例において、各回路モデルの構成は、第1から第4実施例で説明した通りである。また、第1から第4実施例より、性能測定処理及び機能検証処理による処理パターンCにおいても、シミュレータ(WS100)で実施することも可能であるし、エミュレータ200を用いて実施することも可能である。   The fifth and sixth embodiments relating to the processing pattern C by the performance measurement process and the function verification process will be described below. In the fifth and sixth embodiments, the configuration of each circuit model is as described in the first to fourth embodiments. Further, from the first to fourth embodiments, the processing pattern C by the performance measurement process and the function verification process can be executed by the simulator (WS100) or by using the emulator 200. is there.

性能測定処理と機能検証処理との同時実施では、図6に示す第1実施例と図8に示す第3実施例における機能構成を含み、即ち、検証対象LSI90mと図4に示す測定用付加回路51全体とをWS100で実現する構成A、又は、図7に示す第2実施例と図9に示す第4実施例における機能構成を含み、即ち、検証対象LSI90mと図4に示す測定用付加回路51全体とをエミュレータ200で実現する構成B、のいずれかである。   The simultaneous implementation of the performance measurement process and the function verification process includes the functional configuration of the first embodiment shown in FIG. 6 and the third embodiment shown in FIG. 8, that is, the LSI to be verified 90m and the additional circuit for measurement shown in FIG. 51 includes the functional configuration in the configuration A that realizes the entire 51 with the WS 100, or the second embodiment shown in FIG. 7 and the fourth embodiment shown in FIG. 9, that is, the LSI to be verified 90m and the additional circuit for measurement shown in FIG. 51 is any one of the configurations B in which the entire emulator 51 is realized by the emulator 200.

以下に、上記構成A又は構成Bを問わず、性能測定処理と機能検証処理との組み合わせを実現する基本構成50C―1と、更に、現状の性能で性能要件を満たす条件を探索する構成50C―2とを、夫々、第5実施例及び第6実施例として説明する。   In the following, regardless of the configuration A or the configuration B, the basic configuration 50C-1 that realizes a combination of the performance measurement process and the function verification process, and the configuration 50C- 2 will be described as a fifth embodiment and a sixth embodiment, respectively.

第5及び第6実施例に共通して、性能に問題があった場合は機能検証部56を停止し、機能に問題があった場合は性能測定部52を停止することが可能である。また、性能又は機能に問題があった場合、結果収集部54を介してその状態をCPU91mに通知することができ、WS100によるシミュレーション又はエミュレータ200によるエミュレーションの実行を停止することが出来る。   In common with the fifth and sixth embodiments, the function verification unit 56 can be stopped when there is a problem in performance, and the performance measurement unit 52 can be stopped when there is a problem with function. If there is a problem in performance or function, the CPU 91m can be notified of the state via the result collection unit 54, and execution of simulation by the WS 100 or emulation by the emulator 200 can be stopped.

現状の性能が性能要件を満たすための条件を探索する構成50C―2に係る第6実施例では、クロック周波数を徐々に下げ、性能要件を満たす周波数を探索することができる。また、性能に問題があった場合、機能を選択し、性能要件を満たす機能の組み合わせを探索することができる。更に、性能要件を満たすバス占有率を探索することができる。   In the sixth embodiment according to the configuration 50C-2 for searching for a condition for the current performance to satisfy the performance requirement, the clock frequency can be gradually lowered to search for a frequency that satisfies the performance requirement. When there is a problem in performance, it is possible to select a function and search for a combination of functions that satisfy the performance requirement. Furthermore, it is possible to search for a bus occupancy rate that satisfies the performance requirements.

先ず、第5実施例について図10で説明する。図10は、性能測定処理及び機能検証処理を実施する第5実施例を説明するための図である。図10中、回路モデルの構成は、図6及び図8で例示される通りであるので、協調検証部50c−1では処理構成を示して、性能測定処理と機能検証処理との組み合わせに係る処理手順で第5実施例を説明する。   First, a fifth embodiment will be described with reference to FIG. FIG. 10 is a diagram for explaining a fifth embodiment for performing the performance measurement process and the function verification process. In FIG. 10, since the configuration of the circuit model is as illustrated in FIGS. 6 and 8, the cooperative verification unit 50c-1 shows the processing configuration and processes related to the combination of the performance measurement process and the function verification process. The procedure of the fifth embodiment will be described.

図10において、試験プログラム5が検証対象LSI90mのメモリ93mにロードされると(ステップS71)、検証対象LSI90mのCPU91mによって試験処理98pが開始される(ステップS72)。   In FIG. 10, when the test program 5 is loaded into the memory 93m of the verification target LSI 90m (step S71), the test process 98p is started by the CPU 91m of the verification target LSI 90m (step S72).

試験処理98pの開始によって、性能測定部52が起動され(ステップS73)、機能検証部56が起動される(ステップS74)。性能測定部52及び機能検証部56の起動する順は問わない。そして、オーディオ処理などの処理A及びグラフィック処理などの処理Bに係る検証対象処理が開始される。検証対象処理に関して、リアルタイムに測定用付加回路51によって、性能測定及び機能検証が行なわれる。   By starting the test process 98p, the performance measurement unit 52 is activated (step S73), and the function verification unit 56 is activated (step S74). The order in which the performance measurement unit 52 and the function verification unit 56 are activated does not matter. Then, verification target processing related to processing A such as audio processing and processing B such as graphic processing is started. With respect to the verification target processing, performance measurement and functional verification are performed by the measurement additional circuit 51 in real time.

上述したステップS73の性能測定部52の起動によって、図6のステップS14、S15、及びS16、又は、図7のステップS25、S26、及びS27が行われ、性能測定処理52pが開始される。性能測定処理52pでは、サイクル毎にカウントアップされるカウンタA534の値と、規定値レジスタA533の規定値とを比較する(ステップS731)。その比較結果がカウンタA534の値が規定値レジスタA533の規定値を超えることを示す場合(NG)、エラーフラグ「1」の設定が結果収集部54に通知される。エラーフラグ「1」の設定を受けた結果収集部54は、シミュレーション又はエミュレーションを停止する(ステップS76−2)。シミュレーション又はエミュレーションを停止するかどうかは選択することが出来る。   By the activation of the performance measurement unit 52 in step S73 described above, steps S14, S15, and S16 in FIG. 6 or steps S25, S26, and S27 in FIG. 7 are performed, and the performance measurement process 52p is started. In the performance measurement process 52p, the value of the counter A534 counted up every cycle is compared with the specified value of the specified value register A533 (step S731). When the comparison result indicates that the value of the counter A 534 exceeds the specified value of the specified value register A 533 (NG), the result collection unit 54 is notified of the setting of the error flag “1”. The result collection unit 54 that has received the setting of the error flag “1” stops the simulation or emulation (step S76-2). You can choose whether to stop simulation or emulation.

一方、その比較結果がカウンタA534の値が規定値レジスタA533の規定値以下であることを示す場合(OK)、処理が終了したか否かが判断される(ステップS735)。処理が終了していない場合(NO)、性能測定処理52pは、ステップS731へ戻り、次のサイクルで上述した同様の比較処理を行う。一方、処理終了である場合(YES)、処理が終了したことが結果収集部54に通知される。   On the other hand, when the comparison result indicates that the value of the counter A 534 is equal to or less than the specified value of the specified value register A 533 (OK), it is determined whether or not the processing is completed (step S735). If the process has not ended (NO), the performance measurement process 52p returns to step S731, and performs the same comparison process described above in the next cycle. On the other hand, when the process is finished (YES), the result collecting unit 54 is notified that the process is finished.

上述したステップS74の機能検証部56の起動によって、図8のステップS35又は図9のステップS46が行われ、機能検証処理56pが開始される。機能検証処理56pでは、入力データと期待値とを比較する(ステップS741)。その比較結果が不一致を示す場合(NG)、図8のステップS37又は図9のステップS48が実行され、エラーフラグ「1」の設定が結果収集部54に通知される。エラーフラグ「1」の設定を受けた結果収集部54は、シミュレーション又はエミュレーションを停止する(ステップS76−2)。シミュレーション又はエミュレーションを停止するかどうかは選択することが出来る。   By the activation of the function verification unit 56 in step S74 described above, step S35 in FIG. 8 or step S46 in FIG. 9 is performed, and the function verification process 56p is started. In the function verification process 56p, the input data is compared with the expected value (step S741). If the comparison result indicates a mismatch (NG), step S37 in FIG. 8 or step S48 in FIG. 9 is executed, and the setting of the error flag “1” is notified to the result collection unit 54. The result collection unit 54 that has received the setting of the error flag “1” stops the simulation or emulation (step S76-2). You can choose whether to stop simulation or emulation.

一方、その比較結果が一致を示す場合(OK)、処理が終了したか否かが判断される(ステップS735)。処理が終了していない場合(NO)、機能検証処理56pは、ステップS743へ戻り、次の入力データで上述した同様の比較処理を行う。一方、処理終了である場合(YES)、処理が終了したことが結果収集部54に通知される。   On the other hand, when the comparison result indicates coincidence (OK), it is determined whether or not the processing is completed (step S735). If the process has not ended (NO), the function verification process 56p returns to step S743, and performs the same comparison process described above with the next input data. On the other hand, when the process is finished (YES), the result collecting unit 54 is notified that the process is finished.

結果収集部54は、性能測定部52及び機能検証部56からの通知によって収集された比較結果を試験処理98pに通知する(試験処理98pにおける結果収集:ステップS76)。   The result collection unit 54 notifies the test process 98p of the comparison results collected by the notification from the performance measurement unit 52 and the function verification unit 56 (result collection in the test process 98p: step S76).

試験処理98pにおいて、測定用付加回路51の結果収集部54から収集した比較結果を参照して、性能測定部52及び機能検証部56による比較結果の判定を行う(比較判定:ステップS77)。比較結果の判定によって、性能又は/及び機能に問題があると判定した場合(NG)、性能又は/及び機能に問題があることを示す試験結果を表示ユニット13に表示させて(ステップS78−1)、この試験処理98pは終了する(ステップS79)。   In the test process 98p, referring to the comparison result collected from the result collection unit 54 of the measurement additional circuit 51, the comparison result is determined by the performance measurement unit 52 and the function verification unit 56 (comparison determination: step S77). When it is determined that there is a problem in performance or / and function by determining the comparison result (NG), a test result indicating that there is a problem in performance or / and function is displayed on the display unit 13 (step S78-1). ), The test process 98p ends (step S79).

一方、性能又は/及び機能に問題がないと判定した場合(OK)、性能又は/及び機能に問題がないことを示す試験結果を表示ユニット13に表示させて(ステップS78−2)、この試験処理98pは終了する(ステップS79)。   On the other hand, when it is determined that there is no problem in performance or / and function (OK), a test result indicating that there is no problem in performance or / and function is displayed on the display unit 13 (step S78-2). The process 98p ends (step S79).

次に、現状の性能が性能要件を満たすための条件を探索する構成50C―2に係る第6実施例について、図11で説明する。図11は、性能測定処理及び機能検証処理を実施する第6実施例を説明するための図である。図11中、図10と同一ステップには同一符号を付し、その説明を省略する。また、回路モデルの構成は、図7及び図9で例示される通りであるので、協調検証部50c−2では処理構成を示して、性能測定処理と機能検証処理との組み合わせに係る処理手順で第6実施例を説明する。   Next, a sixth embodiment according to the configuration 50C-2 for searching for a condition for the current performance to satisfy the performance requirement will be described with reference to FIG. FIG. 11 is a diagram for explaining a sixth embodiment for performing the performance measurement process and the function verification process. In FIG. 11, the same steps as those in FIG. 10 are denoted by the same reference numerals, and the description thereof is omitted. Since the configuration of the circuit model is as illustrated in FIGS. 7 and 9, the cooperative verification unit 50 c-2 shows the processing configuration, and the processing procedure related to the combination of the performance measurement process and the function verification process. A sixth embodiment will be described.

第6実施例において、試験処理98pでは、現状の性能が性能要件を満たすための条件を探索するために、異なる性能要件に対応した複数のパターンを用いて試験が行われる。各パターンは、ステップS73による性能測定部52の起動及びステップS74による機能検証部56の起動によって開始される。   In the sixth embodiment, in the test process 98p, a test is performed using a plurality of patterns corresponding to different performance requirements in order to search for a condition for the current performance to satisfy the performance requirements. Each pattern is started by activation of the performance measurement unit 52 in step S73 and activation of the function verification unit 56 in step S74.

そして、パターン毎に、図10で説明したようにステップS77までの処理が実行され、ステップS78−1又はS78−2による試験結果の表示ユニット13への表示後に、全パターンを実施したか否かが判断される(ステップS78−3)。未だ実施していないパターンがある場合(NO)、次のパターンを実施するためにステップS73へと戻り、上述同様の処理を繰り返す。   Then, for each pattern, the processing up to step S77 is executed as described in FIG. 10, and whether or not all the patterns have been implemented after the test results are displayed on the display unit 13 in step S78-1 or S78-2. Is determined (step S78-3). If there is a pattern that has not yet been implemented (NO), the process returns to step S73 to implement the next pattern, and the same processing as described above is repeated.

一方、全パターンを実施した場合(YES)、この試験処理98pは終了する(ステップS79)。   On the other hand, when all the patterns have been implemented (YES), the test process 98p ends (step S79).

現状の性能が性能要件を満たすための条件の探索では、規定値生成部2によって試験プログラム98p中に複数の規定値が準備される。シミュレータ(WS100)による、又は、エミュレータ200を用いた協調検証の実行中に、試験処理98pが規定値を自動で変更することによって、性能が性能要件を満たすための条件を探索する。条件として周波数があり、異なる周波数毎に、規定値算出方法の第1例によって性能要件をサイクル数で示す規定値が算出される。   In the search for a condition for the current performance to satisfy the performance requirement, the specified value generation unit 2 prepares a plurality of specified values in the test program 98p. During execution of cooperative verification by the simulator (WS 100) or using the emulator 200, the test process 98p automatically changes the specified value to search for a condition for the performance to satisfy the performance requirement. There is a frequency as a condition, and for each different frequency, a specified value indicating the performance requirement by the number of cycles is calculated by the first example of the specified value calculation method.

性能要件を満たす周波数を探索する第1の探索例について図12で説明する。図12は、周波数を探索する第1の探索例を説明するための図である。図12において、1回目の周波数「100MHz」及び性能要件「33ms」に基づく規定値1による判定1が、規定値1内で検証対象処理が終了しなかったことを示す場合(S733でNG)、LSIの開発者は、条件となる周波数又は性能要件について再考することとなる。   A first search example for searching for a frequency satisfying the performance requirement will be described with reference to FIG. FIG. 12 is a diagram for explaining a first search example for searching for a frequency. In FIG. 12, when the determination 1 with the specified value 1 based on the first frequency “100 MHz” and the performance requirement “33 ms” indicates that the verification target process has not ended within the specified value 1 (NG in S733). The LSI developer will reconsider the frequency or performance requirements to be met.

一方、規定値1による判定1が、規定値1内で検証対象処理が終了したことを示す場合(S735でOK)、規定値2のパターンで判定される。2回目の周波数「90MHz」及び性能要件「33ms」に基づく規定値2による判定2が、規定値2内で検証対象処理が終了しなかったことを示す場合(S733でNG)、LSIの開発者は、1回目の規定値1による条件が限界であると判断する。   On the other hand, when the determination 1 based on the specified value 1 indicates that the verification target process is completed within the specified value 1 (OK in S735), the determination is performed using the pattern of the specified value 2. If the determination 2 based on the specified value 2 based on the second frequency “90 MHz” and the performance requirement “33 ms” indicates that the verification target processing has not ended within the specified value 2 (NG in S733), the LSI developer Determines that the condition of the first specified value 1 is the limit.

一方、規定値2による判定2が、規定値2内で検証対象処理が終了したことを示す場合(S735でOK)、規定値3のパターンで判定される。このような処理が各規定値1、2、・・・毎に繰り返されることによって、性能要件を満たす条件が探索される。   On the other hand, when the determination 2 based on the specified value 2 indicates that the verification target process is completed within the specified value 2 (OK in S735), the determination is made with the pattern of the specified value 3. By repeating such processing for each specified value 1, 2,..., A condition that satisfies the performance requirement is searched.

規定値1は、図2に示す規定値算出方法の第1例に従って算出されたサイクル数「3,300,000」を示す。規定値2も同様に算出されたサイクル数「2,970,000」を示す。   The specified value 1 indicates the number of cycles “3,300,000” calculated according to the first example of the specified value calculation method shown in FIG. The specified value 2 also indicates the cycle number “2,970,000” calculated in the same manner.

図13は、図12の第1の探索例での処理概要を説明するためのフローチャート図である。図13において、試験プログラム5によって行われる試験処理98pにおいて、プログラム構成DB71からパターンが選択される(ステップS81)。   FIG. 13 is a flowchart for explaining an outline of processing in the first search example of FIG. In FIG. 13, in a test process 98p performed by the test program 5, a pattern is selected from the program configuration DB 71 (step S81).

選択されたパターンのプログラムがCPU91mによって実行される(ステップS82)。実行開始時に、パターンに対応する規定値が性能測定部52に設定される。具体的には、性能測定部52のレジスタ部530内の規定値レジスタA533(図6又は図7)に設定される。   The program of the selected pattern is executed by the CPU 91m (step S82). At the start of execution, a specified value corresponding to the pattern is set in the performance measurement unit 52. Specifically, it is set in the specified value register A 533 (FIG. 6 or FIG. 7) in the register unit 530 of the performance measuring unit 52.

そして、性能測定部52による規定値との比較結果が結果収集部54の結果格納部550に書き込まれる(ステップS83)。   Then, the comparison result with the specified value by the performance measuring unit 52 is written in the result storage unit 550 of the result collection unit 54 (step S83).

その後、試験処理98pにおいて、全パターンを実施したか否かが判断される(ステップS84)。全パターンの実施を終了していない場合、ステップS81へ戻り、試験処理98pにおいて、次のパターンが選択され、上述した同様の処理が繰り返される。一方、全パターンを実施した場合、試験処理98pは終了する。   Thereafter, in the test process 98p, it is determined whether or not all patterns have been implemented (step S84). If the execution of all the patterns has not been completed, the process returns to step S81, the next pattern is selected in the test process 98p, and the same process as described above is repeated. On the other hand, when all the patterns are implemented, the test process 98p ends.

プログラム構成DB71は、試験プログラム5に含まれている探索用のパターンに対応したプログラムを含んでいる。この例では、探索用にパターン1、2、3、・・・が含まれていることを示している。パターンの選択は厳しい条件から実施されるようにし、比較結果がNGの場合、即時にシミュレーションを終了させる。パターン毎の比較判定は、表示ユニット13に表示されることにより、LSIの開発者は、周波数の探索結果を知ることができる。   The program configuration DB 71 includes a program corresponding to the search pattern included in the test program 5. This example shows that patterns 1, 2, 3,... Are included for searching. The selection of the pattern is performed under severe conditions. When the comparison result is NG, the simulation is immediately terminated. The comparison judgment for each pattern is displayed on the display unit 13 so that the LSI developer can know the frequency search result.

パターン1が選択されると、性能測定処理52pにおいて、周波数「100MHz」及び性能要件「33ms」に基づいて算出された規定値1との比較が行われる。次に、パターン2が選択されると、性能測定処理52pにおいて、周波数「90MHz」及び性能要件「33ms」に基づいて算出された規定値2との比較が行われる。更に、パターン3が選択されると、性能測定処理52pにおいて、周波数「80MHz」及び性能要件「33ms」に基づいて算出された規定値3との比較が行われる。   When the pattern 1 is selected, in the performance measurement process 52p, a comparison with the specified value 1 calculated based on the frequency “100 MHz” and the performance requirement “33 ms” is performed. Next, when the pattern 2 is selected, in the performance measurement processing 52p, a comparison is made with the specified value 2 calculated based on the frequency “90 MHz” and the performance requirement “33 ms”. Further, when the pattern 3 is selected, in the performance measurement process 52p, a comparison is made with the specified value 3 calculated based on the frequency “80 MHz” and the performance requirement “33 ms”.

次に、図11に示す構成50C―2において、試験プログラム5に、複数の機能の組み合せを準備し、組み合せ毎に性能測定処理52pを行い、性能要件を満たす組み合わせを探索する第2の探索例について説明する。   Next, in the configuration 50C-2 shown in FIG. 11, a second search example in which a combination of a plurality of functions is prepared in the test program 5, the performance measurement process 52p is performed for each combination, and a combination satisfying the performance requirement is searched. Will be described.

図14は、機能の組み合せを探索する第2の探索例を説明するための図である。図14に示す第2の探索例では、試験プログラム5の中に、機能の組み合せ「A1、A2、及びA3」、「A1及びA2」、及び「A1及びA3」が準備され、シミュレーション(又はエミュレーション)の実行中に、機能の組み合せを選択して、性能要件を満たす組み合せを探索する。   FIG. 14 is a diagram for explaining a second search example for searching for a combination of functions. In the second search example shown in FIG. 14, a combination of functions “A1, A2, and A3”, “A1 and A2”, and “A1 and A3” are prepared in the test program 5 and simulated (or emulated). ), A combination of functions is selected to search for a combination that satisfies the performance requirements.

機能の組み合せの例として、機能A1は画像の縮小、機能A2は画像の一部を白黒化、そして、機能A3は画像の拡大が示されている。   As an example of the combination of functions, function A1 shows image reduction, function A2 shows part of the image in black and white, and function A3 shows image enlargement.

性能要件「33ms」の制約において、機能A1、機能A2、及び機能A3の組み合せを1回目で行う。その結果、機能検証ではOKであったが、性能測定では機能A1からA3までを終了するのにかかる所要時間が40msとなり、性能要件の処理時間33msを超えてNGであった。   The combination of the function A1, the function A2, and the function A3 is performed for the first time under the restriction of the performance requirement “33 ms”. As a result, although it was OK in the function verification, in the performance measurement, the time required to complete the functions A1 to A3 was 40 ms, which was NG exceeding the processing time of the performance requirement 33 ms.

同一の制約において、機能A1及び機能A2の組み合せを2回目で行う。1回目と異なり、機能A3は実行されない。その結果、機能検証がOKであると共に、性能測定では所要時間が33msであり性能要件の処理時間33msを超えることなくOKの判定となった。この例の場合では、1回目の機能の組み合せでは性能要件を満たすことができないが、2回目の機能の組み合わせでは性能要件を満たすことが判る。このように、どの組み合せであれば性能要件を満たすのかを探索することができる。   Under the same constraint, the combination of the function A1 and the function A2 is performed for the second time. Unlike the first time, the function A3 is not executed. As a result, the function verification was OK and the required time was 33 ms in the performance measurement, and the OK determination was made without exceeding the processing time of the performance requirement of 33 ms. In this example, it can be seen that the performance requirement cannot be satisfied by the first combination of functions, but the performance requirement is satisfied by the second combination of functions. In this way, it is possible to search for which combination satisfies the performance requirement.

図15は、図14の第2の探索例での処理概要を説明するためのフローチャート図である。図15において、試験プログラム5によって行われる試験処理98pにおいて、プログラム構成DB72からパターンが選択される(ステップS91)。   FIG. 15 is a flowchart for explaining an outline of processing in the second search example of FIG. In FIG. 15, in the test processing 98p performed by the test program 5, a pattern is selected from the program configuration DB 72 (step S91).

選択されたパターンのプログラムがCPU91mによって実行される(ステップS92)。実行開始時に、規定値が性能測定部52に設定される。この機能の組み合せによる第2の探索例では、性能測定部52に設定される規定値は、周波数に変化はないので、どのパターンが選択されても一律である。   The program of the selected pattern is executed by the CPU 91m (step S92). The specified value is set in the performance measurement unit 52 at the start of execution. In the second search example based on this combination of functions, the specified value set in the performance measurement unit 52 does not change in frequency, so it is uniform regardless of which pattern is selected.

そして、性能測定部52による規定値との比較結果が結果収集部54の結果格納部550に書き込まれる(ステップS93)。   Then, the comparison result with the specified value by the performance measuring unit 52 is written in the result storage unit 550 of the result collection unit 54 (step S93).

その後、試験処理98pにおいて、全パターンを実施したか否かが判断される(ステップS94)。全パターンの実施を終了していない場合、ステップS91へ戻り、試験処理98pにおいて、次のパターンが選択され、上述した同様の処理が繰り返される。一方、全パターンを実施した場合、試験処理98pは終了する。   Thereafter, in the test process 98p, it is determined whether or not all patterns have been implemented (step S94). If the execution of all patterns has not been completed, the process returns to step S91, the next pattern is selected in the test process 98p, and the same process as described above is repeated. On the other hand, when all the patterns are implemented, the test process 98p ends.

プログラム構成DB72は、試験プログラム5に含まれている探索用のパターンに対応したプログラムを含んでいる。この例では、探索用にパターン1(シリアル)、パターン2(シリアル)、パターン3(パラレル)、・・・が含まれていることを示している。   The program configuration DB 72 includes a program corresponding to the search pattern included in the test program 5. This example shows that pattern 1 (serial), pattern 2 (serial), pattern 3 (parallel),... Are included for searching.

パターン1(シリアル)は、機能A1、機能A2、そして機能A3の順に行うパターンである。パターン2(シリアル)は、機能A1、そして機能A2の順に行うパターンである。パターン3(パラレル)は、機能A1及び機能A3を並列で行い、そして機能A2を行うパターンである。   Pattern 1 (serial) is a pattern performed in the order of function A1, function A2, and function A3. Pattern 2 (serial) is a pattern performed in the order of function A1 and function A2. Pattern 3 (parallel) is a pattern in which the function A1 and the function A3 are performed in parallel and the function A2 is performed.

選択されたパターンのプログラムが終了するまでに要した所要時間と規定値との比較が行われ、その比較結果が結果収集部54を介して試験処理98pに通知される。   The required time required until the program of the selected pattern is completed is compared with the specified value, and the comparison result is notified to the test processing 98p via the result collection unit 54.

第3の探索例として、機能の組み合せは同一であるが、入力画像サイズを変更して、性能要件を満たす条件(入力画像サイズ)を探索する場合について説明する。図16は、同一の機能の組み合せにおいて性能要件を満たす条件を探索する第3の探索例を説明するための図である。   As a third search example, a case will be described in which the combination of functions is the same, but the input image size is changed to search for a condition (input image size) that satisfies the performance requirements. FIG. 16 is a diagram for explaining a third search example for searching for a condition that satisfies the performance requirements in the same combination of functions.

図16に示す第3の探索例では、試験プログラム5の中に、複数の入力画像サイズの入力画像データが準備され、シミュレーション(又はエミュレーション)の実行中に、入力画像サイズを変更して、組み合せ機能が性能要件を満たす条件「入力画像サイズ」を探索する。   In the third search example shown in FIG. 16, input image data having a plurality of input image sizes is prepared in the test program 5, and the input image size is changed and combined during execution of simulation (or emulation). Search for a condition “input image size” that satisfies the performance requirements of the function.

機能の組み合せの例として、機能A1、A2、及びA3が示され、機能A1は画像の縮小、機能A2は画像の一部を白黒化、そして、機能A3は画像の拡大である。   As an example of the combination of functions, functions A1, A2, and A3 are shown. The function A1 is image reduction, the function A2 is black and white of a part of the image, and the function A3 is image enlargement.

性能要件「33ms」の制約において、機能A1、機能A2、及び機能A3の組み合せで、入力画像サイズ「1024×768」の入力画像データを用いて1回目を行う。その結果、機能検証ではOKであったが、性能測定では機能A1からA3までを終了するのにかかる所要時間が40msとなり、性能要件の処理時間33msを超えてNGであった。   Under the constraint of the performance requirement “33 ms”, the first operation is performed using the input image data of the input image size “1024 × 768” by the combination of the function A1, the function A2, and the function A3. As a result, although it was OK in the function verification, in the performance measurement, the time required to complete the functions A1 to A3 was 40 ms, which was NG exceeding the processing time of the performance requirement 33 ms.

同一の性能要件及び同一の機能の組み合せにおいて、入力画像サイズを「800×600」に変更して、2回目を行う。その結果、機能検証がOKであると共に、性能測定では所要時間が33msであり性能要件の処理時間33msを超えることなくOKの判定となった。この例の場合では、1回目の入力画像サイズ「1024×768」では性能要件を満たすことができないが、2回目の入力画像サイズ「800×600」では性能要件を満たすことが判る。このように、機能の組み合せにおいて、どの条件であれば性能要件を満たすのかを探索することができる。   In the combination of the same performance requirement and the same function, the input image size is changed to “800 × 600” and the second time is performed. As a result, the function verification was OK and the required time was 33 ms in the performance measurement, and the OK determination was made without exceeding the processing time of the performance requirement of 33 ms. In this example, it can be seen that the first input image size “1024 × 768” cannot satisfy the performance requirement, but the second input image size “800 × 600” satisfies the performance requirement. In this way, in the combination of functions, it is possible to search for which condition satisfies the performance requirement.

次に、性能要件として、所要時間の代わりに、バス占有率を指定した場合について説明する。性能要件であるバス占有率は、図3の規定値算出方法の第2例で示されるように、規定値生成部2によって、計数可能な規定値で示される。図17は、バス占有率に基づく性能測定について説明するための図である。図17において、CPU96mと、Codec97mと、MEMC98mとを有する検証対象LSI95mと、MEMC98mでコントロールされるSDRAM99mとが試験される各回路モデルである場合を示す。各回路モデルに対して検証対象処理量を監視するためにバスモニタ6a、6b、6c、及び6dを組み込んで、所定時間毎にバス占有率を取得する。   Next, a case where a bus occupancy rate is designated as a performance requirement instead of a required time will be described. The bus occupancy ratio, which is a performance requirement, is indicated by a specified value that can be counted by the specified value generation unit 2, as shown in the second example of the specified value calculation method in FIG. FIG. 17 is a diagram for explaining the performance measurement based on the bus occupancy rate. FIG. 17 shows a case in which a verification target LSI 95m having a CPU 96m, a Codec 97m, and a MEMC 98m and an SDRAM 99m controlled by the MEMC 98m are circuit models to be tested. The bus monitors 6a, 6b, 6c, and 6d are incorporated in order to monitor the amount of processing to be verified for each circuit model, and the bus occupancy is acquired every predetermined time.

このようなバスモニタ6a、6b、6c、及び6dを組み込むことで、検証対象LSI90m内のバス占有率17aと、検証対象LSI90m外のバス占有率17bとを夫々検証することが可能となる。例えば、バス占有率「50%」を規定値とした場合、規定値を超える期間17tが判るため、検証対象LSIの性能に係る設計の見直しを効果的に行うことができる。   By incorporating such bus monitors 6a, 6b, 6c, and 6d, it is possible to verify the bus occupancy 17a in the verification target LSI 90m and the bus occupancy 17b outside the verification target LSI 90m, respectively. For example, when the bus occupancy “50%” is a specified value, the period 17t that exceeds the specified value is known, so that the design related to the performance of the verification target LSI can be reviewed effectively.

性能要件をバス占有率「50%」以下とした場合の、性能測定処理及び機能検証処理を実施する第5実施例の変形例について図18で説明する。図18は、第5実施例の変形例を説明するための図である。   A modified example of the fifth embodiment for performing the performance measurement process and the function verification process when the performance requirement is set to the bus occupation ratio “50%” or less will be described with reference to FIG. FIG. 18 is a diagram for explaining a modification of the fifth embodiment.

図18に示す変形例では、試験プログラム5によって、機能の組み合せ「A1、A2、及びA3」が実行され、バス占有率「50%」以下が指定された性能要件に従って、機能検証処理56p及び性能測定処理52pが実行された場合を示している。   In the modification shown in FIG. 18, the function combination “A1, A2, and A3” is executed by the test program 5, and the function verification processing 56p and the performance are performed in accordance with the specified performance requirement that the bus occupancy is “50%” or less. The case where the measurement process 52p is performed is shown.

機能の組み合せの例として、機能A1は画像の縮小、機能A2は画像の一部を白黒化、そして、機能A3は画像の拡大が示されている。   As an example of the combination of functions, function A1 shows image reduction, function A2 shows part of the image in black and white, and function A3 shows image enlargement.

この例では、バス占有率50%以下の制約において、機能検証ではOKであったが、性能測定ではバス占有率が最大で「60%」となる期間があり、性能要件のバス占有率50%を超えてNGであった。性能測定では機能A1からA3までを実行中に性能要件のバス占有率50%を超えた時刻が存在したことが示されている。   In this example, the function verification was OK under the constraint of the bus occupancy rate of 50% or less, but in the performance measurement, there is a period when the bus occupancy rate is “60%” at the maximum, and the bus occupancy rate 50% of the performance requirement. It was NG beyond. The performance measurement shows that there was a time when the bus occupancy rate of 50% of the performance requirement was exceeded during execution of the functions A1 to A3.

所定時間毎のバス占有率を結果収集部54で収集し蓄積するようにし、プログラム実行後の試験結果を表示ユニット13に表示させることで、時刻110msでバス占有率の最大値「60%」を示した結果となったことが判る。このように、どの期間で性能要件を満たすことができなかったのかを知ることができる。   The bus occupancy for every predetermined time is collected and accumulated by the result collection unit 54, and the test result after the program execution is displayed on the display unit 13, so that the maximum value of 60% of the bus occupancy at time 110ms is obtained. It can be seen that the results are shown. Thus, it can be known in which period the performance requirement could not be satisfied.

次に、同一の機能の組み合せで、性能要件のバス占有率50%以下を満たす条件「入力画像サイズ」を探索する第6実施例の変形例について説明する。図19は、第6実施例の変形例を説明するための図である。   Next, a modified example of the sixth embodiment for searching for a condition “input image size” satisfying a bus occupancy ratio of 50% or less as a performance requirement by combining the same functions will be described. FIG. 19 is a diagram for explaining a modification of the sixth embodiment.

図19に示す第6実施例の変形例では、試験プログラム5の中に、複数の入力画像サイズの入力画像データが準備され、シミュレーション(又はエミュレーション)の実行中に、入力画像サイズを変更して、組み合せ機能が性能要件を満たす条件「入力画像サイズ」を探索する。図16に示す第3の探索例との違いは、性能要件として「バス占有率50%」以下が指定される。   In the modified example of the sixth embodiment shown in FIG. 19, input image data of a plurality of input image sizes are prepared in the test program 5, and the input image size is changed during the execution of simulation (or emulation). The condition “input image size” satisfying the performance requirement of the combination function is searched. The difference from the third search example shown in FIG. 16 is that “50% bus occupancy” or less is specified as the performance requirement.

機能の組み合せの例として、機能A1、A2、及びA3が示され、機能A1は画像の縮小、機能A2は画像の一部を白黒化、そして、機能A3は画像の拡大である。   As an example of the combination of functions, functions A1, A2, and A3 are shown. The function A1 is image reduction, the function A2 is black and white of a part of the image, and the function A3 is image enlargement.

バス占有率50%以下の制約において、機能A1、機能A2、及び機能A3の組み合せで、入力画像サイズ「1024×768」の入力画像データを用いて1回目を行う。その結果、機能検証ではOKであったが、性能測定では機能A1からA3を終了するまでの所定時間毎のバス占有率において「50%」を超える期間が存在したためNGであった。   The first time is performed using the input image data of the input image size “1024 × 768” with the combination of the function A1, the function A2, and the function A3 under the constraint that the bus occupation ratio is 50% or less. As a result, the function verification was OK, but the performance measurement was NG because there was a period exceeding “50%” in the bus occupancy for every predetermined time from the end of functions A1 to A3.

同一の性能要件及び同一の機能の組み合せにおいて、入力画像サイズを「800×600」に変更して、2回目を行う。その結果、機能検証がOKであると共に、性能測定では所定時間毎のバス占有率において「50%」以下であったためOKの判定となった。この例の場合では、1回目の入力画像サイズ「1024×768」では性能要件を満たすことができないが、2回目の入力画像サイズ「800×600」では性能要件を満たすことが判る。このように、機能の組み合せにおいて、どの条件であれば性能要件を満たすのか、を探索することができる。   In the combination of the same performance requirement and the same function, the input image size is changed to “800 × 600” and the second time is performed. As a result, the function verification was OK, and in the performance measurement, the bus occupancy at every predetermined time was “50%” or less, so the determination was OK. In this example, it can be seen that the first input image size “1024 × 768” cannot satisfy the performance requirement, but the second input image size “800 × 600” satisfies the performance requirement. In this way, it is possible to search under which conditions the performance requirement is satisfied in the combination of functions.

また、どの期間で性能要件を満たさないのかを知ることができ、機能を組み合わせた場合に性能が落ちる箇所を検証することができる。この1回目及び2回目の結果例を参照することにより、機能A1−>機能A2−>機能A3のシリアルな処理において、入力画像サイズ「1024×768」の場合に、機能A2で性能要件を満たさない期間が存在する等の検証が容易となる。   In addition, it is possible to know in which period the performance requirement is not satisfied, and it is possible to verify a place where the performance falls when the functions are combined. By referring to the first and second result examples, the function A2 satisfies the performance requirement when the input image size is “1024 × 768” in the serial processing of the function A1-> function A2-> function A3. It is easy to verify that there is no period.

図20は、図19の第6実施例の変形例での処理概要を説明するためのフローチャート図である。図20において、試験プログラム5によって行われる試験処理98pにおいて、入力画像サイズDB73からパターンが選択される(ステップS101)。   FIG. 20 is a flowchart for explaining an outline of processing in a modification of the sixth embodiment of FIG. In FIG. 20, in the test process 98p performed by the test program 5, a pattern is selected from the input image size DB 73 (step S101).

所定プログラムがCPU91mによって実行される(ステップS102)。実行開始時に、規定値が性能測定部52に設定される。この変形例では、性能測定部52に設定される規定値は、パターンの選択に影響されないため、どのパターンが選択されてもバス占有率50%以下で一律である。   The predetermined program is executed by the CPU 91m (step S102). The specified value is set in the performance measurement unit 52 at the start of execution. In this modified example, the specified value set in the performance measuring unit 52 is not affected by the selection of the pattern, and therefore, no matter which pattern is selected, the bus occupancy is 50% or less and is uniform.

そして、性能測定部52による規定値との比較結果が結果収集部54の結果格納部550に書き込まれる(ステップS103)。   Then, the comparison result with the specified value by the performance measuring unit 52 is written in the result storage unit 550 of the result collection unit 54 (step S103).

その後、試験処理98pにおいて、全パターンを実施したか否かが判断される(ステップS104)。全パターンの実施を終了していない場合、ステップS101へ戻り、試験処理98pにおいて、次のパターンが選択され、上述した同様の処理が繰り返される。一方、全パターンを実施した場合、試験処理98pは終了する。   Thereafter, in the test process 98p, it is determined whether or not all patterns have been implemented (step S104). If the execution of all patterns has not been completed, the process returns to step S101, the next pattern is selected in the test process 98p, and the same process as described above is repeated. On the other hand, when all the patterns are implemented, the test process 98p ends.

入力画像サイズDB73は、性能要件を満たす条件の探索用のパターンを含んでいる。入力画像サイズDB73によって、パターン毎に、異なる入力画像サイズの入力画像データが管理される。この例では、探索される条件として、入力画像サイズ「1024×768」のパターン1、入力画像サイズ「800×600」のパターン2、・・・が含まれていることを示している。   The input image size DB 73 includes a pattern for searching for a condition that satisfies the performance requirements. The input image size DB 73 manages input image data having different input image sizes for each pattern. In this example, it is shown that the search condition includes a pattern 1 with an input image size “1024 × 768”, a pattern 2 with an input image size “800 × 600”,.

次に、バス占有率を性能要件とした図11に示す第6実施例の構成50C―2による性能測定結果の種々の使用例について説明する。第6実施例の構成50C―2を用いて、車両等に搭載されるようなナビゲーションと、映像再生と、音楽再生とが可能な種々のマルチメディア対応のLSIを検証する場合にについて説明する。   Next, various usage examples of the performance measurement result by the configuration 50C-2 of the sixth embodiment shown in FIG. 11 in which the bus occupancy is a performance requirement will be described. A description will be given of a case where various multimedia-compatible LSIs capable of navigation, video reproduction, and music reproduction mounted on a vehicle or the like are verified using the configuration 50C-2 of the sixth embodiment.

図21は、マルチメディア対応LSIの回路モデル構成の例を示す図である。図21には、検証対象となる回路モデルが例示されている。種々のマルチメディア対応のLSI300mは、CPU301mと、DMAC302mと、MEMC303mと、画像処理回路305mと、ディスプレイコントローラ306mと、CD/BD/DVD I/F307mと、HDD I/F308mと、オーディオI/F309mとを有し、バス330mを介して互いに接続される。   FIG. 21 is a diagram illustrating an example of a circuit model configuration of a multimedia-compatible LSI. FIG. 21 illustrates a circuit model to be verified. Various multimedia compatible LSI 300m includes CPU 301m, DMAC 302m, MEMC 303m, image processing circuit 305m, display controller 306m, CD / BD / DVD I / F 307m, HDD I / F 308m, and audio I / F 309m. And are connected to each other via a bus 330m.

また、MEMC303mには、SDRAM313mが接続される。ディスプレイコントローラ306mには、ディスプレイ315m及び316mが接続される。CD/BD/DVD I/F307mには、CD/BD/DVD317mが接続される。HDD I/F308mには、HDD318が接続される。オーディオI/F309mには、スピーカー319mが接続される。このような検証対象となる回路モデルにおいて、検証対象処理量を監視するためにバスモニタ9aから9kを組み込んで、所定時間毎にバス占有率を取得する。   The SDRAM 313m is connected to the MEMC 303m. The displays 315m and 316m are connected to the display controller 306m. A CD / BD / DVD 317m is connected to the CD / BD / DVD I / F 307m. The HDD 318 is connected to the HDD I / F 308m. A speaker 319m is connected to the audio I / F 309m. In such a circuit model to be verified, the bus monitors 9a to 9k are incorporated in order to monitor the verification target processing amount, and the bus occupancy is acquired every predetermined time.

図22は、図21に示すマルチメディア対応LSIの性能限界の探索例を示す図である。図22では、性能要件をバス占有率50%以下とした場合の性能測定により性能限界を探索する例を示している。1回目のパターンAでは、ナビゲーション、DVD映像再生、再生を含むCDリッピングの3つの機能の組み合わせが行われる。性能測定処理52pにより、全てのバスモニタの総和結果22aを得る。このような総和結果22aから、性能要件のバス占有率50%以下を超える期間が60msから90msと、170msとに存在することが示され、3つの機能を同時に動作させることができないことが判明する。   FIG. 22 is a diagram showing a search example of performance limits of the multimedia-compatible LSI shown in FIG. FIG. 22 shows an example in which the performance limit is searched by performance measurement when the performance requirement is set to 50% or less of the bus occupation ratio. In the first pattern A, a combination of three functions including navigation, DVD video reproduction, and CD ripping including reproduction is performed. The total result 22a of all bus monitors is obtained by the performance measurement process 52p. Such a total result 22a indicates that there are periods exceeding 60% or less of the bus occupancy rate of the performance requirement between 60 ms and 90 ms, and 170 ms, and it becomes clear that the three functions cannot be operated simultaneously. .

2回目のパターンBでは、ナビゲーション、DVD映像再生、HDD再生のパターンAとは異なる3つの機能の組み合わせが行われる。この機能の組み合せにおいて、HDD再生は、CDリッピングしたデータを予めHDD318mに格納しておき、HDD318mから音楽を再生する。性能測定処理52pにより、全てのバスモニタの総和結果22bを得る。このような総和結果22bから、HDD318mから音楽を再生するようにした機能の組み合せでは、性能要件のバス占有率50%以下を満たすことができ、性能に問題ないことが判明する。   In the second pattern B, a combination of three functions different from the pattern A for navigation, DVD video reproduction, and HDD reproduction is performed. In this combination of functions, the HDD reproduction stores CD ripped data in the HDD 318m in advance, and reproduces music from the HDD 318m. The total result 22b of all bus monitors is obtained by the performance measurement process 52p. From such a total result 22b, it can be seen that the combination of functions for reproducing music from the HDD 318m can satisfy the bus occupancy of 50% or less of the performance requirement, and there is no problem in performance.

例えば、図23に例示されるように、パターンAにおけるCPU301mとMEMC303mを介したSDRAM313mとの間、及び、MEMC303mを介したSDRAM313mとHDD318mとの音楽再生に係る検証対象処理が、パターンBでは削減されることにより、性能要件のバス占有率50%以下を満たすことができたと考えられる。   For example, as illustrated in FIG. 23, the verification target processing related to music reproduction between the CPU 301m and the SDRAM 313m via the MEMC 303m in the pattern A and between the SDRAM 313m and the HDD 318m via the MEMC 303m is reduced in the pattern B. Thus, it is considered that the bus occupancy ratio of 50% or less as a performance requirement could be satisfied.

図24は、バスモニタの結果表示のためのフローチャート図である。図24において、シミュレーションが開始されると(ステップS121)、所定プログラムを実行する(ステップS122)。性能測定部52はバスモニタによって測定した測定データ24aを所定時間毎に結果収集部54へ通知して、結果格納部550のメモリ553に書き込む(ステップS123)。   FIG. 24 is a flowchart for displaying the results of the bus monitor. In FIG. 24, when the simulation is started (step S121), a predetermined program is executed (step S122). The performance measurement unit 52 notifies the measurement data 24a measured by the bus monitor to the result collection unit 54 every predetermined time, and writes it in the memory 553 of the result storage unit 550 (step S123).

シミュレーションが終了すると(ステップS124)、結果格納部550のメモリ553に書き込まれたデータ24aを加工してcsvファイル24bを得る(ステップS125)。そして、csvファイル24bを用いて作成した測定結果を示すグラフ24cを表示ユニット13に表示させる(ステップS126)。   When the simulation ends (step S124), the data 24a written in the memory 553 of the result storage unit 550 is processed to obtain a csv file 24b (step S125). And the graph 24c which shows the measurement result produced using the csv file 24b is displayed on the display unit 13 (step S126).

測定データ24aは、結果格納部550のメモリ553に16進数で記録され、read回数データ25aと、write回数データ25bとを含む。read回数データ25aは、所定時間毎にreadされた回数が示される。同様に、write回数データ25bは、所定時間毎にwriteされた回数が示される。   The measurement data 24a is recorded in a hexadecimal number in the memory 553 of the result storage unit 550, and includes read number data 25a and write number data 25b. The number-of-reads data 25a indicates the number of times of reading every predetermined time. Similarly, the number-of-writes data 25b indicates the number of times of writing every predetermined time.

測定データ24aは、10進数で表されたcsvファイル24bに加工される。csvファイル24bには、所定時間間隔を表す番号0、1、2、・・・毎にread回数及びwrite回数とが対応付けられて記録される。csvファイル24bへの加工は、図10に示す試験処理98pにおいて、試験結果表示(NG)を行うS78−1又は試験結果表示(OK)を行うS78−2などで行うようにすればよい。   The measurement data 24a is processed into a csv file 24b expressed in decimal numbers. In the csv file 24b, the number of reads and the number of writes are recorded in association with each of numbers 0, 1, 2,... representing a predetermined time interval. The csv file 24b may be processed in S78-1 for performing test result display (NG) or S78-2 for performing test result display (OK) in the test process 98p shown in FIG.

測定結果を示すグラフ24cは、縦軸にSDRAM用のバス占有率を示し、横軸に時間軸を示している。測定結果を示すグラフ24cが表示ユニット13に表示されることによって、開発者は、制約要件のバス占有率50%を満たしていない期間を視覚的に容易に確認することができる。   In the graph 24c showing the measurement results, the vertical axis represents the SDRAM bus occupancy, and the horizontal axis represents the time axis. By displaying the graph 24c indicating the measurement result on the display unit 13, the developer can easily visually confirm the period when the bus occupancy rate of 50% of the constraint requirement is not satisfied.

図21の回路モデル構成例では、測定データ24aを、バスモニタ9aから9kの各々に対して記録することで、開発者は、より詳細な解析を行うことができる。各バスモニタ9a〜9kから得られた測定結果をグラフで表示されることにより、ボトルネック解析により性能改善を行うことができる。   In the circuit model configuration example of FIG. 21, the developer can perform more detailed analysis by recording the measurement data 24a for each of the bus monitors 9a to 9k. By displaying the measurement results obtained from the bus monitors 9a to 9k as graphs, performance can be improved by bottleneck analysis.

図25は、ボトルネック解析の例を説明するための図である。図25において、図21の回路モデル構成例において各バスモニタ9a〜9kから得られた全ての測定結果からボトルネック解析を行った結果、SDRAM313mのバス占有率を示すグラフ25cからSDRAM313mのバス占有率に問題があることが判明した例が示されている。   FIG. 25 is a diagram for explaining an example of bottleneck analysis. In FIG. 25, as a result of performing a bottleneck analysis from all the measurement results obtained from each of the bus monitors 9a to 9k in the circuit model configuration example of FIG. 21, the bus occupancy rate of the SDRAM 313m from the graph 25c showing the bus occupancy rate of the SDRAM 313m. An example of a problem found in is shown.

グラフ25cを参照すると、SDRAM313mのバス占有率が、性能要件のバス占有率50%を超えている期間が存在することが判る。従って、開発者は、MEMC303mの改善、SDRAM313mの種類の変更、SDRAM313mの周波数を上げる等の性能改善を行う必要があると判断できる。   Referring to the graph 25c, it can be seen that there is a period in which the bus occupancy rate of the SDRAM 313m exceeds the bus occupancy rate 50% of the performance requirement. Therefore, the developer can determine that it is necessary to improve performance such as improving MEMC 303m, changing the type of SDRAM 313m, and increasing the frequency of SDRAM 313m.

また、バス占有率の測定結果を用いて、LSI300mの性能に余裕があるか否かを判断することも可能である。性能の余裕度を判定することにより、消費電力をより削減したLSI開発を検討することができる。例えば、ナビゲーションの機能と、HDD再生の機能のみが行えればよい場合に、この組み合せによる性能の余裕度を、バス占有率を性能要件として設定することにより検証することができる。   It is also possible to determine whether there is a margin in the performance of the LSI 300m using the measurement result of the bus occupancy rate. By determining the margin of performance, LSI development with reduced power consumption can be considered. For example, when only the navigation function and the HDD playback function need be performed, the performance margin by this combination can be verified by setting the bus occupancy rate as a performance requirement.

図26は、バス占有率を用いた性能余裕度の検証例を説明するための図である。図26に例示されるバス占有率の測定結果を示すグラフ26cを参照することにより、バス占有率が最大となる時間70msにおいても、性能要件のバス占有率50%までその2割以上の余裕があることが判る。   FIG. 26 is a diagram for explaining a verification example of the performance margin using the bus occupancy rate. Referring to the graph 26c showing the measurement result of the bus occupancy exemplified in FIG. 26, even at the time of 70 ms when the bus occupancy becomes the maximum, a margin of 20% or more can be obtained up to the bus occupancy of 50% of the performance requirement. I know that there is.

従って、設計者は、周波数を下げることにより、消費電力の削減が可能であると判断することができる。その結果、省エネ対応のLSI300mとなるように周波数の変更に関する設計変更を行うことができる。   Therefore, the designer can determine that the power consumption can be reduced by lowering the frequency. As a result, it is possible to make a design change related to a change in frequency so as to obtain an LSI 300m that supports energy saving.

上述したように、本実施例に係る検証システムでは、LSI設計において、シミュレータ又はエミュレータによるソフトウェア及びハードウェアによる協調検証の実施において、LSIの設計が論理的に正しいことを検証するのみならず、全体の処理時間を測定し、なおかつ、プログラムの個々の部分(機能)の処理を測定し、また、プログラムの個々の部分(機能)の処理に関して、性能要件を満たしているか否かを検証することができる。   As described above, in the verification system according to the present embodiment, in the LSI design, in the implementation of the collaborative verification by software and hardware by the simulator or emulator, not only the verification that the LSI design is logically correct, Measure the processing time of the program, measure the processing of individual parts (functions) of the program, and verify whether the performance requirements are satisfied with respect to the processing of individual parts (functions) of the program it can.

性能要件を満たす、クロック周波数、機能の組み合せ、入力画像サイズなどを探索することができ、設計改善のための情報を得ることが可能となり、LSI製造前に性能改善を行うことが可能となる。   It is possible to search for a clock frequency, a combination of functions, an input image size, and the like that satisfy performance requirements, to obtain information for design improvement, and to improve performance before manufacturing an LSI.

本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。   The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.

以上の第1から第6実施例等を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
コンピュータによって実行される設計回路のソフトウェア及びハードウェアによる協調検証方法であって、
前記設計回路の協調検証の開始時に性能要件に基づく計数可能な規定値を規定値レジスタに設定し、
前記協調検証の実施中、前記性能要件に係る前記設計回路の動作をカウントし、
前記カウントしたカウント値と前記規定値レジスタに設定された前記規定値とを比較することによって性能測定を行う
ことを特徴とする協調検証方法。
(付記2)
前記規定値は、前記性能要件で指定される処理時間と、前記設計回路の設計データで示されるクロック周波数とに基づいて算出されたサイクル数であることを特徴とする付記1記載の協調検証方法。
(付記3)
前記設計回路にロードされるプログラムに異なるクロック周波数に基づく複数の規定値を含み、前記協調検証の実施中に、規定値を変更することによって、前記性能要件を満たす該クロック周波数を探索することを特徴とする付記2記載の協調検証方法。
(付記4)
前記規定値は、前記性能要件で指定されるバス占有率と、前記設計回路の設計データで示されるバス動作周波数及び分解能で指定された単位時間あたりのバスサイクル数であることを特徴とする付記1記載の協調検証方法。
(付記5)
前記設計回路にロードされるプログラムに複数の機能の組み合せを含み、前記協調検証の実施中に、該機能の組み合せを変更することによって、前記性能要件を満たす該機能の組み合せを探索することを特徴とする付記1記載の協調検証方法。
(付記6)
前記設計回路にロードされるプログラムに一の機能の組み合せと複数の入力画像サイズとを含み、前記協調検証の実施中に、該入力画像サイズを変更することによって、前記性能要件を満たす該入力画像サイズを探索することを特徴とする付記1記載の協調検証方法。
(付記7)
前記機能の組み合せは、シリアル又はパラレルで実行する組み合せを含むことを特徴とする付記5又は6記載の協調検証方法。
(付記8)
所定時間毎に、前記設計回路におけるバスモニタによる該設計回路のメモリへのread回数及びwrite回数とを結果格納部に格納し、
16進数で示される前記read回数及びwrite回数を10進数で示すデータファイルに加工し、
時系列にバス占有状態を表すグラフ図を表示ユニットに表示させる
ことを特徴とする付記1又は4記載の協調検証方法。
(付記9)
設計回路のソフトウェア及びハードウェアによる協調検証を行なう協調検証装置であって、
性能測定部と、結果収集部とを少なくとも有する測定用付加回路を有し、
性能測定部は、
前記設計回路の性能要件に基づく計数可能な規定値が設定される規定値レジスタと、
前記協調検証の実施中、前記性能要件に係る前記設計回路の動作をカウントするカウンタレジスタと、
前記カウンタレジスタの値と前記規定値レジスタに設定された前記規定値とを比較する性能比較部とを有し、
前記結果収集部は、前記性能比較部による結果を格納する結果格納部を有する
ことを特徴とする協調検証装置。
(付記10)
前記測定用付加回路は、更に、機能検証部を有し、
前記機能検証部は、
前記設計回路によって処理されたデータを入力する入力部と、
前記入力部が入力したデータと期待値データとを比較する機能比較部とを有し、
前記結果収集部は、前記結果格納部に前記機能比較部による結果を格納することを特徴とする付記9記載の協調検証装置。
(付記11)
前記結果収集部は、前記性能測定部又は前記機能検証部にエラーを検出した場合、前記協調検証を停止させることを特徴とする付記9又は10記載の協調検証装置。
(付記12)
前記測定付加回路は、ハードウェア記述言語で記述された回路であることを特徴とする付記9乃至11記載の協調検証装置。
(付記13)
前記協調検証装置は、シミュレータ又はエミュレータであることを特徴とする付記9乃至12記載の協調検証装置。
(付記14)
前記設計回路のソフトウェア及びハードウェアによる協調検証の開始時に性能要件に基づく計数可能な規定値を規定値レジスタに設定し、
前記協調検証の実施中、前記性能要件に係る前記設計回路の動作をカウントし、
前記カウントしたカウント値と前記規定値レジスタに設定された前記規定値とを比較することによって性能測定を行う
処理をコンピュータに実行させることを特徴とするプログラム。
The following additional notes are further disclosed with respect to the embodiments including the first to sixth examples.
(Appendix 1)
A collaborative verification method by software and hardware of a design circuit executed by a computer,
Set a countable specified value based on performance requirements in the specified value register at the start of the collaborative verification of the design circuit,
During the execution of the collaborative verification, the operation of the design circuit according to the performance requirement is counted,
A collaborative verification method characterized in that performance measurement is performed by comparing the counted value with the specified value set in the specified value register.
(Appendix 2)
The collaborative verification method according to claim 1, wherein the specified value is the number of cycles calculated based on a processing time specified by the performance requirement and a clock frequency indicated by design data of the design circuit. .
(Appendix 3)
The program loaded in the design circuit includes a plurality of specified values based on different clock frequencies, and the clock frequency satisfying the performance requirement is searched by changing the specified values during the execution of the cooperative verification. The cooperative verification method according to Supplementary Note 2, which is a feature.
(Appendix 4)
The specified value is a bus occupation rate specified by the performance requirement and a bus cycle number per unit time specified by a bus operating frequency and resolution indicated by design data of the design circuit. The cooperative verification method according to 1.
(Appendix 5)
A program loaded in the design circuit includes a combination of a plurality of functions, and the combination of the functions satisfying the performance requirement is searched by changing the combination of the functions during the execution of the cooperative verification. The cooperative verification method according to Supplementary Note 1.
(Appendix 6)
The input image that includes the combination of one function and a plurality of input image sizes in the program loaded in the design circuit, and satisfies the performance requirements by changing the input image size during the collaborative verification. The cooperative verification method according to supplementary note 1, wherein the size is searched.
(Appendix 7)
The cooperative verification method according to appendix 5 or 6, wherein the combination of functions includes a combination executed serially or in parallel.
(Appendix 8)
Every predetermined time, the number of reads and writes to the memory of the design circuit by the bus monitor in the design circuit is stored in the result storage unit,
Process the read count and write count indicated in hexadecimal into a data file indicated in decimal,
The cooperative verification method according to appendix 1 or 4, wherein a graph representing the bus occupation state in a time series is displayed on the display unit.
(Appendix 9)
A collaborative verification device that performs collaborative verification by software and hardware of a design circuit,
Having an additional circuit for measurement having at least a performance measuring unit and a result collecting unit;
The performance measurement unit
A prescribed value register in which a prescribed value that can be counted based on the performance requirement of the design circuit is set;
A counter register that counts the operation of the design circuit according to the performance requirements during the execution of the collaborative verification;
A performance comparison unit that compares the value of the counter register with the specified value set in the specified value register;
The result collection unit includes a result storage unit that stores a result of the performance comparison unit.
(Appendix 10)
The additional circuit for measurement further includes a function verification unit,
The function verification unit
An input unit for inputting data processed by the design circuit;
A function comparison unit that compares the data input by the input unit with expected value data;
The cooperative verification apparatus according to appendix 9, wherein the result collection unit stores the result of the function comparison unit in the result storage unit.
(Appendix 11)
The cooperative verification apparatus according to appendix 9 or 10, wherein the result collection unit stops the cooperative verification when an error is detected in the performance measurement unit or the function verification unit.
(Appendix 12)
12. The cooperative verification device according to appendices 9 to 11, wherein the measurement additional circuit is a circuit described in a hardware description language.
(Appendix 13)
13. The cooperative verification apparatus according to any one of supplementary notes 9 to 12, wherein the cooperative verification apparatus is a simulator or an emulator.
(Appendix 14)
Setting a countable specified value based on performance requirements in the specified value register at the start of the collaborative verification by the software and hardware of the design circuit,
During the execution of the collaborative verification, the operation of the design circuit according to the performance requirement is counted,
A program for causing a computer to execute a process of measuring performance by comparing the counted value with the specified value set in the specified value register.

1 性能要件データ
2 規定値生成部
2a 書込処理挿入部
3 プログラム
4 変換部
5 試験プログラム
6 設計データ(検証対象LSI)
7 テストベンチ
8 コンパイラ
8a 規定値算出データ
8b 規定値算出データ
9 コンパイルDB
11 CPU
12 メモリユニット
13 表示ユニット
14 出力ユニット
15 入力ユニット
16 通信ユニット
17 記憶装置
18 ドライバ
19 記憶媒体
39 規定値設定プログラム
50 協調検証部
50a−1、50b−1 協調検証部(シミュレータ)
50a−2、50b−2 協調検証部(エミュレータ)
50c−1、50c−2 協調検証部(シミュレータ又はエミュレータ)
51 測定用付加回路
52 性能測定部
54 結果収集部
56 機能検証部
58 期待値データ
90m 検証対象LSI
91m CPU
93m メモリ
521 制御部
529 性能比較部
530 レジスタ部
531 開始レジスタA
532 終了レジスタA
533 規定値レジスタA
534 カウンタA
541 制御部
550 結果格納部
553 メモリ
560 入力部
561 制御部
562 期待値生成部
563 期待値格納メモリ
564 期待値比較部
570 レジスタ部
571 期待値生成用データレジスタB
572 比較モードレジスタB
573 比較開始レジスタB
574 期待値比較エラーレジスタB
1000 検証システム
DESCRIPTION OF SYMBOLS 1 Performance requirement data 2 Specified value production | generation part 2a Write processing insertion part 3 Program 4 Conversion part 5 Test program 6 Design data (verification object LSI)
7 Test bench 8 Compiler 8a Specified value calculation data 8b Specified value calculation data 9 Compile DB
11 CPU
DESCRIPTION OF SYMBOLS 12 Memory unit 13 Display unit 14 Output unit 15 Input unit 16 Communication unit 17 Storage device 18 Driver 19 Storage medium 39 Regulation value setting program 50 Cooperative verification part 50a-1, 50b-1 Cooperative verification part (simulator)
50a-2, 50b-2 Cooperative verification unit (emulator)
50c-1, 50c-2 Cooperative verification unit (simulator or emulator)
51 Additional Circuit for Measurement 52 Performance Measurement Unit 54 Result Collection Unit 56 Function Verification Unit 58 Expected Value Data 90m Verification Target LSI
91m CPU
93m Memory 521 Control unit 529 Performance comparison unit 530 Register unit 531 Start register A
532 End register A
533 Default register A
534 Counter A
541 Control unit 550 Result storage unit 553 Memory 560 Input unit 561 Control unit 562 Expected value generation unit 563 Expected value storage memory 564 Expected value comparison unit 570 Register unit 571 Expected value generation data register B
572 Comparison mode register B
573 Comparison start register B
574 Expected value comparison error register B
1000 verification system

Claims (5)

コンピュータによって実行される設計回路のソフトウェア及びハードウェアによる協調検証方法であって、
前記設計回路の協調検証の開始時に性能要件に基づく計数可能な規定値を規定値レジスタに設定し、
前記協調検証の実施中、前記性能要件に係る前記設計回路の動作をカウントし、
前記カウントしたカウント値と前記規定値レジスタに設定された前記規定値とを比較することによって性能測定を行う
ことを特徴とする協調検証方法。
A collaborative verification method by software and hardware of a design circuit executed by a computer,
Set a countable specified value based on performance requirements in the specified value register at the start of the collaborative verification of the design circuit,
During the execution of the collaborative verification, the operation of the design circuit according to the performance requirement is counted,
A collaborative verification method characterized in that performance measurement is performed by comparing the counted value with the specified value set in the specified value register.
前記規定値は、前記性能要件で指定される処理時間と、前記設計回路の設計データで示されるクロック周波数とに基づいて算出されたサイクル数であることを特徴とする請求項1記載の協調検証方法。   The collaborative verification according to claim 1, wherein the specified value is a cycle number calculated based on a processing time specified by the performance requirement and a clock frequency indicated by design data of the design circuit. Method. 前記設計回路にロードされるプログラムに異なるクロック周波数に基づく複数の規定値を含み、前記協調検証の実施中に、規定値を変更することによって、前記性能要件を満たす該クロック周波数を探索することを特徴とする請求項2記載の協調検証方法。   The program loaded in the design circuit includes a plurality of specified values based on different clock frequencies, and the clock frequency satisfying the performance requirement is searched by changing the specified values during the execution of the cooperative verification. The cooperative verification method according to claim 2, wherein: 前記規定値は、前記性能要件で指定されるバス占有率と、前記設計回路の設計データで示されるバス動作周波数及び分解能で指定された単位時間あたりのバスサイクル数であることを特徴とする請求項1記載の協調検証方法。   The specified value is a bus occupation rate specified by the performance requirement and a bus cycle number per unit time specified by a bus operating frequency and resolution indicated by design data of the design circuit. Item 4. The cooperative verification method according to Item 1. 設計回路のソフトウェア及びハードウェアによる協調検証を行なう協調検証装置であって、
性能測定部と、結果収集部とを少なくとも有する測定用付加回路を有し、
性能測定部は、
前記設計回路の性能要件に基づく計数可能な規定値が設定される規定値レジスタと、
前記協調検証の実施中、前記性能要件に係る前記設計回路の動作をカウントするカウンタレジスタと、
前記カウンタレジスタの値と前記規定値レジスタに設定された前記規定値とを比較する性能比較部とを有し、
前記結果収集部は、前記性能比較部による結果を格納する結果格納部を有する
ことを特徴とする協調検証装置。
A collaborative verification device that performs collaborative verification by software and hardware of a design circuit,
Having an additional circuit for measurement having at least a performance measuring unit and a result collecting unit;
The performance measurement unit
A prescribed value register in which a prescribed value that can be counted based on the performance requirement of the design circuit is set;
A counter register that counts the operation of the design circuit according to the performance requirements during the execution of the collaborative verification;
A performance comparison unit that compares the value of the counter register with the specified value set in the specified value register;
The result collection unit includes a result storage unit that stores a result of the performance comparison unit.
JP2011208182A 2011-09-22 2011-09-22 Collaborative verification method and collaborative verification apparatus Expired - Fee Related JP5909958B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011208182A JP5909958B2 (en) 2011-09-22 2011-09-22 Collaborative verification method and collaborative verification apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011208182A JP5909958B2 (en) 2011-09-22 2011-09-22 Collaborative verification method and collaborative verification apparatus

Publications (2)

Publication Number Publication Date
JP2013069174A true JP2013069174A (en) 2013-04-18
JP5909958B2 JP5909958B2 (en) 2016-04-27

Family

ID=48474798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011208182A Expired - Fee Related JP5909958B2 (en) 2011-09-22 2011-09-22 Collaborative verification method and collaborative verification apparatus

Country Status (1)

Country Link
JP (1) JP5909958B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03116245A (en) * 1989-09-28 1991-05-17 Hitachi Ltd Measuring device for instruction performance
JP2002279011A (en) * 2000-12-28 2002-09-27 Fujitsu Ltd Method and program for operation simulation of logical unit and computer readable recording medium with the program recorded
JP2004054755A (en) * 2002-07-23 2004-02-19 Nec Electronics Corp System level design method and system level design device
JP2005327094A (en) * 2004-05-14 2005-11-24 Internatl Business Mach Corp <Ibm> Uml design method
JP2009140388A (en) * 2007-12-10 2009-06-25 Fujitsu Microelectronics Ltd Method for generating performance evaluation model, method for evaluating system performance, and device for generating performance evaluation model

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03116245A (en) * 1989-09-28 1991-05-17 Hitachi Ltd Measuring device for instruction performance
JP2002279011A (en) * 2000-12-28 2002-09-27 Fujitsu Ltd Method and program for operation simulation of logical unit and computer readable recording medium with the program recorded
JP2004054755A (en) * 2002-07-23 2004-02-19 Nec Electronics Corp System level design method and system level design device
JP2005327094A (en) * 2004-05-14 2005-11-24 Internatl Business Mach Corp <Ibm> Uml design method
JP2009140388A (en) * 2007-12-10 2009-06-25 Fujitsu Microelectronics Ltd Method for generating performance evaluation model, method for evaluating system performance, and device for generating performance evaluation model

Also Published As

Publication number Publication date
JP5909958B2 (en) 2016-04-27

Similar Documents

Publication Publication Date Title
CN105843734B (en) A kind of automated testing method, device and calculate equipment
US7844928B2 (en) Method and apparatus for evaluating integrated circuit design performance using enhanced basic block vectors that include data dependent information
JP4468410B2 (en) Software execution device and cooperative operation method
US8271252B2 (en) Automatic verification of device models
CN114662427B (en) Debugging method and device for logic system design
JP4842783B2 (en) Information processing apparatus, information processing method, and program
Ho et al. On agile performance requirements specification and testing
CN103294577A (en) Detecting system and method for adjusting sequence of test projects in diagnositc program
US20080244478A1 (en) Model generation method and model generation apparatus of semiconductor device
WO2024045436A1 (en) Graphical high-level synthesis circuit performance analysis method, system, apparatus, and medium
JP2002099584A (en) System and method for verifying design and computer- readable medium with program for design verification recorded thereon
CN112597064A (en) Method for simulating program, electronic device and storage medium
US8700380B2 (en) Method for generating performance evaluation model
US10380313B1 (en) Implementation and evaluation of designs for heterogeneous computing platforms with hardware acceleration
JP2018005546A (en) Information processor, program execution status display method, and program execution status display program
CN114548031A (en) Signal detection method and device
JP2007334812A (en) Simulator and simulation method
JP5909958B2 (en) Collaborative verification method and collaborative verification apparatus
JP2012104091A (en) Power estimation device, power estimation method and program
JP2008516205A (en) Development and execution of feature-oriented test programs
JP4701025B2 (en) Debug support system, debug support method, debug support target program
JP5454349B2 (en) Performance estimation device
JP2006185055A (en) Design support system and design support program for computer system
US20140325468A1 (en) Storage medium, and generation apparatus for generating transactions for performance evaluation
JP5515815B2 (en) Verification device and verification program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150423

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150623

AA92 Notification of invalidation

Free format text: JAPANESE INTERMEDIATE CODE: A971092

Effective date: 20150707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150924

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160314

R150 Certificate of patent or registration of utility model

Ref document number: 5909958

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees