JP2011238137A - Performance estimation device - Google Patents
Performance estimation device Download PDFInfo
- Publication number
- JP2011238137A JP2011238137A JP2010110542A JP2010110542A JP2011238137A JP 2011238137 A JP2011238137 A JP 2011238137A JP 2010110542 A JP2010110542 A JP 2010110542A JP 2010110542 A JP2010110542 A JP 2010110542A JP 2011238137 A JP2011238137 A JP 2011238137A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- function
- execution cycles
- instruction set
- program
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、性能推定装置に関する。 The present invention relates to a performance estimation device.
SoCは、システムオンアチップ(System-on-a-chip)であり、1つの半導体チップ上にシステムを集積する集積回路である。具体的には、SoCは、中央処理装置(CPU)及び周辺回路を含み、CPUがプログラムを実行することによりシステムを実現する。SoCの開発は、CPU及び周辺回路を含むハードウェアの開発と上記のプログラムのソフトウェアの開発を含む。 The SoC is a system-on-a-chip, and is an integrated circuit that integrates the system on one semiconductor chip. Specifically, the SoC includes a central processing unit (CPU) and peripheral circuits, and the CPU implements a system by executing a program. The development of SoC includes development of hardware including a CPU and peripheral circuits, and development of software of the above program.
図1は、SoCにおけるソフトウェアの性能評価工程を示す図である。ハードウェアの開発は、評価ボードを作成し、評価ボードの検証を行う。時刻t3において、評価ボードの作成が完了する場合を示す。時刻t3の後、評価ボードを用いたソフトウェアの性能評価102が行われる。時刻t3の前では、評価ボードが存在しないため、CPUをシミュレーションする命令セットシミュレータ(ISS)を用いてソフトウェアの性能評価101を行う。評価ボードによる性能評価102は、評価精度は高いが、時刻t3の後でないと行えない問題点がある。ISSによる性能評価101は、評価ボード完成時刻t3の前でも行うことができるが、評価精度が低い問題点がある。また、時刻t3の評価ボード完成後でしか正確な評価はできないので、問題点も長期間わからないことになる。
FIG. 1 is a diagram showing a software performance evaluation process in SoC. In hardware development, an evaluation board is created and the evaluation board is verified. The case where the creation of the evaluation board is completed at time t3 is shown. After time t3,
また、割り込みが発生した場合、その割り込みに関する処理を実行した後にエミュレーションを中断し、後続処理のエミュレーションを実行する以前に先行して処理を予測するために、エミュレーションを中断した時点のレジスタの値、PCの値およびメモリデータをシミュレータに転送してシミュレーションを行うマイクロプロセッサのエミュレーション方法が知られている(例えば、特許文献1参照)。 In addition, when an interrupt occurs, the emulation is interrupted after executing the processing related to the interrupt, and the value of the register at the time of the emulation is interrupted in order to predict the processing before executing the emulation of the subsequent processing, A microprocessor emulation method is known in which a PC value and memory data are transferred to a simulator for simulation (see, for example, Patent Document 1).
また、仮想周辺デバイスおよび仮想ICE等で構成されマイクロコンピュータの実機プログラムを実行するシステムシミュレータを用いて、評価シナリオに記述された操作手順を自動的に実行させて実機プログラムの動作検証を行い、動作検証の出力データを記録するマイクロコンピュータソフトウェアの自動検証システムが知られている(例えば、特許文献2参照)。 In addition, using a system simulator composed of virtual peripheral devices and virtual ICE to execute the actual program of the microcomputer, the operation procedure described in the evaluation scenario is automatically executed to verify the operation of the actual program. An automatic verification system of microcomputer software that records verification output data is known (see, for example, Patent Document 2).
本発明の目的は、SoCのソフトウェア開発において評価ボード完成前でも高速かつ高精度で性能を推定することができる性能推定装置を提供することである。 An object of the present invention is to provide a performance estimation device capable of estimating performance with high speed and high accuracy even before the evaluation board is completed in SoC software development.
性能推定装置は、中央処理装置及び周辺回路を含み前記中央処理装置がプログラムを実行するシステムオンアチップの開発におけるプログラムの性能推定装置であって、前記中央処理装置のみのシミュレーションを行う命令セットシミュレータであって、前記プログラムの測定区間全体の前記中央処理装置の実行サイクル数をシミュレーションにより演算する命令セットシミュレータと、前記中央処理装置及び前記周辺回路のエミュレーションを行う論理エミュレータであって、前記プログラムの測定区間の一部の前記中央処理装置の実行サイクル数をエミュレーションにより演算する論理エミュレータと、前記命令セットシミュレータにより演算された実行サイクル数及び前記論理エミュレータにより演算された実行サイクル数を基に、推定関数を算出し、前記論理エミュレータにおける前記プログラムの未測定区間の実行サイクル数を推定する性能推定部とを有する。 The performance estimation device is a program performance estimation device in the development of a system-on-a-chip that includes a central processing unit and peripheral circuits, and the central processing unit executes a program, and is an instruction set simulator that performs simulation of only the central processing unit. An instruction set simulator for calculating the number of execution cycles of the central processing unit in the entire measurement section of the program by simulation, and a logic emulator for emulating the central processing unit and the peripheral circuit, Based on a logic emulator that calculates the number of execution cycles of the central processing unit in a section by emulation, the number of execution cycles calculated by the instruction set simulator, and the number of execution cycles calculated by the logic emulator Calculating a function, and a performance estimator to estimate the number of execution cycles of the unmeasured sections of the program in the logic emulator.
命令セットシミュレータ及び論理エミュレータを用いることにより、評価ボード完成前でも高速かつ高精度で性能を推定することができる。 By using an instruction set simulator and a logic emulator, performance can be estimated with high speed and high accuracy even before the evaluation board is completed.
(第1の実施形態)
図2は、第1の実施形態による設計及び開発対象のSoCの構成例を示す図である。SoCは、システムオンアチップ(System-on-a-chip)であり、1つの半導体チップ上にシステムを集積する集積回路である。例えば、SoC200は、中央処理装置(CPU)201、メモリ202及び周辺回路を含み、CPU201がメモリ202内のプログラムを実行することによりシステムを実現する。なお、CPU201及びメモリ202は、複数あっても良く、SoC200の半導体チップの外部に設けても良い。
(First embodiment)
FIG. 2 is a diagram illustrating a configuration example of the SoC to be designed and developed according to the first embodiment. The SoC is a system-on-a-chip, and is an integrated circuit that integrates the system on one semiconductor chip. For example, the SoC 200 includes a central processing unit (CPU) 201, a
図3は、SoCの開発工程を示す図である。SoCの開発は、CPU201、メモリ202及び周辺回路203を含むハードウェアの設計及び開発と、上記のプログラムのソフトウェアの開発を含む。ハードウェアの設計及び開発は、時刻t1で回路設計を行い、時刻t2で論理シミュレーション及び論理エミュレーションの検証を行い、時刻t3で評価ボードの検証を行う。これに対し、ソフトウェアの開発は、時刻t11でソフトウェア開発を行い、時刻t12〜t13でソフトウェア検証を行う。このソフトウェア検証は、時刻t3の評価ボード作成後では評価ボードを用いて行われるが、期間301では評価ボードを用いないで行われるため評価精度が低くなる。時刻t3の評価ボード完成後のソフトウェア検証において、SoCの問題点(例えば、性能上の問題点)が発覚した場合には、ハードウェアの変更は困難であるため、ソフトウェアの変更により問題点を解決しなくてはならない。場合によっては、ソフトウェアの変更のみでは問題点を解決できず、ハードウェアを設計変更せざるを得ない場合もある。そのため、時刻t3の評価ボード完成前のソフトウェア検証によりSoCの問題点を発見することができれば、ハードウェアの設計変更も容易であり、SoC全体の開発の効率を向上させることができる。
FIG. 3 is a diagram showing a SoC development process. The development of the SoC includes the design and development of hardware including the
図4は、本実施形態による性能推定装置のハードウェア構成例を示す図である。性能推定装置は、相互に接続されたパーソナルコンピュータ(PC)401、論理エミュレータ403を制御するホストワークステーション(HostWS)404、及び論理エミュレータ403を有する。パーソナルコンピュータ401は、プログラムを実行することにより命令セットシミュレータ(ISS)402の機能を実現することができる。一般的に命令セットシミュレータ402は、SoC200内のCPU201のみのシミュレーションを行うことで、高速かつ低精度のソフトウェア性能を評価することができる。これに対し、論理エミュレータ403は、CPU201及び周辺回路203のエミュレーションを行うことができるので、低速かつ高精度のソフトウェア性能を評価することができる。命令セットシミュレータ402は、論理エミュレータ403に対して約100〜1000倍高速で動作する。性能推定装置は、命令セットシミュレータ402及び論理エミュレータ403を用いることにより、SoCの開発におけるプログラム(ソフトウェア)性能を高速かつ高精度で推定し、評価することができる。
FIG. 4 is a diagram illustrating a hardware configuration example of the performance estimation apparatus according to the present embodiment. The performance estimation apparatus includes a personal computer (PC) 401, a host workstation (HostWS) 404 that controls the
図5は、パーソナルコンピュータ401の構成例を示す図である。バス501には、CPU502、ROM503、RAM504、ネットワークインタフェース505、入力装置506、出力装置507及び外部記憶装置508が接続されている。CPU502は、データの処理及び演算を行うと共に、バス501を介して接続された上記の構成ユニットを制御するものである。ROM503には、予めブートプログラムが記憶されており、このブートプログラムをCPU502が実行することにより、コンピュータが起動する。外部記憶装置508にコンピュータプログラムが記憶されており、そのコンピュータプログラムがRAM504にコピーされ、CPU502により実行される。このコンピュータは、コンピュータプログラムを実行することにより、命令セットシミュレータ402の処理等を行うことができる。図4のホストワークステーション404も、パーソナルコンピュータ401と同様の構成を有し、コンピュータプログラムを実行することにより、図6のホストワークステーション404の機能を実現する。
FIG. 5 is a diagram illustrating a configuration example of the
外部記憶装置508は、例えばハードディスク記憶装置等であり、電源を切っても記憶内容が消えない。外部記憶装置508は、コンピュータプログラム及び設計データ等を記録媒体に記録したり、記録媒体からコンピュータプログラム等を読み出すことができる。ネットワークインタフェース505は、ネットワークに対してコンピュータプログラム及び設計データ等を入出力することができる。入力装置506は、例えばキーボード及びポインティングデバイス(マウス)等であり、各種指定又は入力等を行うことができる。出力装置507は、ディスプレイ及びプリンタ等であり、表示又は印刷することができる。
The
図6は、論理エミュレータ403とホストワークステーション404の構成例を示す図である。論理エミュレータ403は、FPGA(Field Programmable Gate Array)601及びメモリ602を有する。ホストワークステーション404は、論理合成部605及びローダ606を有する。論理合成部605は、図2のSoC200内のCPU201及び周辺回路203を含むハードウェアのRTL(レジスタ転送レベル)設計データ603を論理合成し、ゲートレベル設計データ604を生成する。ローダ606は、ホストワークステーション404上で動作するソフトウェアであり、ゲートレベル設計データ604をFPGA601にマッピングする。メモリ602は、図2のSoC200内のメモリ202をエミュレーションするためのメモリである。これにより、FPGA601及びメモリ602は、SoC200内のCPU201及び周辺回路203を含むハードウェアをエミュレーションすることができる。なお、論理エミュレータ403は、FPGA601を用いる場合に限定されず、複数のCPUを用いるタイプの論理エミュレータ等でもよい。
FIG. 6 is a diagram illustrating a configuration example of the
図7は、命令セットシミュレータ402又は論理エミュレータ403によるSoC200のプログラムの性能測定結果の例を示す図である。横軸はフレーム番号を示し、縦軸はCPU201の動作周波数を示す。フレームは、プログラムの特定区間を示す。例えば、SoC200のプログラムがオーディオエンコーダのプログラムである場合に、SoC200はオーディオエンコーダとして機能する。オーディオエンコーダは、オーディオデータを例えば1024サンプル単位で処理を行う。フレーム番号1は1フレーム目の1024サンプル単位のオーディオデータをエンコードするプログラムの処理であり、フレーム番号2は2フレーム目の1024サンプル単位のオーディオデータをエンコードするプログラムの処理である。エンコードは、オーディオデータに応じて圧縮率等が異なるため、CPU201の動作周波数はフレーム番号毎に異なる。CPU201の動作周波数は、高いほど処理の負荷が大きいことを意味する。オーディオデータをバッファに入力することにより、フレーム番号毎のCPU201の動作周波数の違いを緩和することができる。例えば、動作周波数のフレーム平均値は228MHzになる。ここで、論理エミュレータ403は、命令セットシミュレータ402に比べて、測定精度は高いが、動作速度が遅いため、すべてのフレーム番号について性能を測定することは困難である。本実施形態では、論理エミュレータ403で一部のフレーム番号についてのみ性能を測定し、命令シミュレータ402を用いて、他の部分のフレーム番号の性能を推定する。
FIG. 7 is a diagram illustrating an example of a performance measurement result of the
図8は本実施形態の性能推定装置の概念図であり、図9は本実施形態の性能推定装置の性能推定方法を説明するための図である。図8の破線はデータの流れを示し、実線は処理の流れを示す。図9の縦軸はCPU201の実行サイクル数であり、図7の縦軸と同様に、実行サイクル数が大きいほど処理負荷が大きいことを意味する。性能推定部800は、図4のパーソナルコンピュータ401の処理により実現される。命令セットシミュレータ402は、ステップ801でプログラムの全体性能を測定し、図9の全体性能測定結果902を記憶部802に記録する。全体性能測定結果902は、例えばフレーム番号1〜51の全フレームの性能測定結果であり、低精度の測定結果である。論理エミュレータ403は、ステップ803でプログラムの一部の性能を測定し、図9の一部性能測定結果901を記憶部804に記録する。一部性能測定結果901は、例えばフレーム番号1〜12の一部のフレームの性能測定結果であり、評価ボードと同等の高精度の測定結果である。性能推定部800は、ステップ805において、記憶部802内の全体性能測定結果902及び記憶部804内の一部性能測定結果901を基に、図9の他の部分のフレームの性能推定値903を推測し、性能901及び903を含む全体性能推定結果を記憶部806に記録する。他の部分のフレームの性能推定値903は、例えばフレーム番号13〜50の性能推定値であり、高精度の推定値である。
FIG. 8 is a conceptual diagram of the performance estimation apparatus of the present embodiment, and FIG. 9 is a diagram for explaining a performance estimation method of the performance estimation apparatus of the present embodiment. The broken line in FIG. 8 shows the flow of data, and the solid line shows the flow of processing. The vertical axis in FIG. 9 represents the number of execution cycles of the
論理エミュレータ403の性能測定結果901は高精度であるため、記憶部806内の全体性能推定結果として使用することができる。しかし、論理エミュレータ403は動作速度が低速であるため、一部のフレームの性能測定結果901のみを測定する。命令セットシミュレータ402は、性能測定結果902が低精度であるが、高速動作可能であるため、全フレームの性能測定結果902を測定する。他の部分の性能推定値903は、全体性能測定結果902及び一部性能測定結果901を基に推定されるため、高精度かつ高速に演算することができる。上記の方法により、一部性能測定結果901及び他の部分の性能推定値903を含む高精度の全体性能推定結果を得ることができる。
Since the
図10は、SoCにおけるソフトウェアの性能評価工程を示す図である。時刻t3において、評価ボードの作成が完了する場合を示す。時刻t3の後、評価ボードを用いたソフトウェアの性能評価102が行われる。時刻t3の前では、評価ボードが存在しないため、CPU201をシミュレーションする命令セットシミュレータ(ISS)402を用いてソフトウェアの性能評価101を行う。本実施形態では、図8の性能推定方法による性能評価103を行う。性能評価103は、時刻t3の評価ボード完成前において、命令セットシミュレータ402による性能評価101に比べて高精度かつ短期間でプログラムの性能を評価することができる。また、性能評価103により、評価ボード作成前のハードウェアの設計変更を容易にする。
FIG. 10 is a diagram showing a software performance evaluation process in SoC. The case where the creation of the evaluation board is completed at time t3 is shown. After time t3,
図11は、命令セットシミュレータ402、論理エミュレータ403及びホストワークステーション404の構成例を示す図である。ホストワークステーション404は、測定用付加回路のRTL設計データ1103を有する。測定用付加回路のRTL設計データ1103は、レジスタ部1104、制御部1105及びRAM1106のRTL設計データを有する。ホストワークステーション404において、論理合成部605は、対象となるSoC200のRTL設計データ603及び測定用付加回路のRTL設計データ1103を論理合成し、ゲートレベル設計データ604を生成する。ローダ606は、ゲートレベル設計データ604をFPGA601にマッピングする。ターゲットプログラム1101は、SoC200で動作するプログラムであり、例えばオーディオエンコーダのプログラムである。命令セットシミュレータ402は、ターゲットプログラム1101を基にシミュレーションを行う。論理エミュレータ403は、ターゲットプログラム1101を基にエミュレーションを行う。測定用付加回路のRTL設計データ1103は、SoC200には影響を与えない。レジスタ部1104には、測定コントロール関数1206(図12)により、測定開始命令、測定終了命令、測定間隔値及び測定範囲を検出するためのデリミタ値が書き込まれる。制御部1105は、レジスタ部1104を監視し、処理を制御する。また、制御部1105は、レジスタ部1104に書き込まれた値に応じてターゲットプログラム1101のプログラムカウンタ(PC)値及び実行サイクル数をRAM1106に書き込む。
FIG. 11 is a diagram illustrating a configuration example of the
図12は、性能推定装置の性能推定方法を示すフローチャートである。命令セットシミュレータ402は、ターゲットプログラム1101及び入力データ1201を入力し、ターゲットプログラム1101を基にシミュレーションを行い、図13(A)に示すように、ターゲットプログラム1101の全フレーム(測定区間全体)のフレーム毎のCPU201の実行サイクル数(全体性能測定結果)をシミュレーションにより演算し、記憶部1202に記録する。例えば、ターゲットプログラム1101はオーディオエンコーダのプログラムであり、入力データ1201はオーディオデータである。図13(A)の実行サイクル数は、図9の全体性能測定結果902に対応する。性能解析部1203は、図4のパーソナルコンピュータ401の処理により実現され、記憶部1202内の全体性能測定結果を基に、例えば図13(B)に示すように、実行サイクル数が最小のフレーム番号(例えばフレーム番号1)、実行サイクル数が最大のフレーム番号(例えばフレーム番号9)、及び実行サイクル数が平均値のフレーム番号(例えばフレーム番号11)を性能解析結果として記憶部1204に記録する。
FIG. 12 is a flowchart illustrating a performance estimation method of the performance estimation apparatus. The
入力選択部1205は、図4のパーソナルコンピュータ401の処理により実現され、記憶部1204内の性能解析結果を基に、入力データ1201内の一部のフレームに対応する入力データを選択し、論理エミュレータ403に出力する。例えば、入力選択部1205は、図13(A)の最小フレーム番号1、最大フレーム番号9及び平均フレーム番号11を含むフレーム番号1〜12に対応する入力データ1201を選択する。
The
測定コントロール関数1206は、ターゲットプログラム1101より呼び出され、論理エミュレータ403により実行されるソフトウェアである。制御部1105は、測定コントロール関数1206が測定用付加回路のレジスタ部1104に書き込んだ値を見て、測定の開始及び測定の終了を行い、ターゲットプログラム1101のプログラムカウンタ(PC)値、実行サイクル数及びデリミタ値の出力をRAM1106に書き込む。後に、実行サイクル数とデリミタ値の出力結果よりフレーム単位での実行サイクル数を算出することになる。
The
論理エミュレータ403は、ターゲットプログラム1101の処理をエミュレーションする。具体的には、論理エミュレータ403では、対象SoCのゲートレベル設計データ604に基づくハードウェアがターゲットプログラム1101を実行する。
The
論理エミュレータ403は、図14に示すように、レジスタ部1104で設定した測定間隔値に基づいて、CPU201の実行サイクル数及びプログラムカウンタ(PC)値をエミュレーションにより演算し、RAM1106に書き込む。ホストワークステーション404が任意のタイミングでRAM1106に記録されたデータを記憶部1207に記録する。記憶部1207は、例えば図5の外部記憶装置508である。プログラムカウンタ値は、現在、CPU201により実行されているターゲットプログラム1101内のアドレスである。図14のサイクル番号は、実行サイクル数が例えば100間隔で付与される番号である。実行サイクル数及びプログラムカウンタ値は、レジスタ部1104で設定した測定間隔に基づいて出力される。図14の場合、例えば100サイクル毎に出力される。ここで、ターゲットプログラム1101は、実行中に測定コントロール関数1206により任意のタイミングで測定用付加回路のレジスタ部1104にデリミタ値を書き込むことができる。制御部1105は、書き込まれたデリミタ値をRAM1106に記録する。この値は、図14に示すように、実行サイクル数及びプログラムカウンタ値としてそれぞれ例えば「aaaaaaaa」、「bbbbbbbb」が書き込まれる。ターゲットプログラム1101にて、測定したい区間の前後でデリミタ値を書き込むことにより、測定区間の実行サイクル数やフレーム単位での実行サイクル数を算出することができる。図14の場合、測定したい区間の直前に「aaaaaaaa」のデリミタ値を出力し、測定したい区間の直後に「bbbbbbbb」を出力することで、後の処理において、測定終了を示すデリミタ値「bbbbbbbb」の前の実行サイクル数(例えば「00073a95」)から測定開始を示すデリミタ値「aaaaaaaa」の後の実行サイクル数(例えば「000739cd」)を減算することにより、測定したい区間(例えば1フレーム)の実行サイクル数を算出することができる。
As shown in FIG. 14, the
測定用付加回路のRTL設計データ1103を設けることにより、論理エミュレータ403でのSoCの動作を止めることなく、実行サイクル数及びプログラムカウンタ値を高速に測定することが可能になる。
By providing the measurement additional circuit
性能推定部1208は、図8の性能推定部800に対応し、上記のように、記憶部1207内のフレーム毎の実行サイクル数を基に、測定終了を示すデリミタ値「bbbbbbbb」の前の実行サイクル数(例えば「00073a95」)から測定開始を示すデリミタ値「aaaaaaaa」の後の実行サイクル数(例えば「000739cd」)を減算することにより、1フレームの実行サイクル数を算出し、例えばフレーム番号1〜12の論理エミュレータ403での一部性能測定結果を記憶部1207に書き戻す。測定用付加回路は、上記の測定開始情報のデリミタ値(デリミタ情報)と測定終了情報のデリミタ値と測定間隔値(測定間隔情報)をプログラマブルに設定することが可能である。
The
図15は、性能推定装置の処理を説明するための図である。上記のように、記憶部1202には、全フレーム番号1〜20についての命令セットシミュレータ(ISS)402の実行サイクル数N1が記録されている。記憶部1207には、一部のフレーム番号1〜12についての論理エミュレータ403の実行サイクル数N2が記録されている。
FIG. 15 is a diagram for explaining processing of the performance estimation device. As described above, the
性能推定部1208は、命令セットシミュレータ402により演算されたフレーム番号1〜12のフレーム毎の実行サイクル数N1の平均値(例えば「941829」)を演算する。次に、性能推定部1208は、論理エミュレータ403により演算されたフレーム番号1〜12のフレーム毎の実行サイクル数N2の平均値(例えば「1211376」)を演算する。命令セットシミュレータ402は、CPU201のみをシミュレーションするために実行サイクル数が少なくなる。論理エミュレータ403は、CPU201及び周辺回路203をエミュレーションするために実行サイクル数が多くなる。
The
次に、性能推定部1208は、命令セットシミュレータ402により演算されたフレーム毎の実行サイクル数N1の平均値(例えば「941829」)に対する論理エミュレータ403により演算されたフレーム毎の実行サイクル数N2の平均値(例えば「1211376」)の割合係数を演算する。例えば、割合係数は、1211376÷941829≒1.286である。
Next, the
次に、性能推定部1208は、命令セットシミュレータ402により演算された他の部分のフレーム番号13〜20のフレーム毎の実行サイクル数N1及び割合係数を乗算することにより、論理エミュレータ403におけるプログラムの他の部分(未測定区間)のフレーム番号13〜20についてのフレーム毎の実行サイクル数推定値N3を推定する。例えば、フレーム番号13の実行サイクル数推定値N3は、1137575×1.286≒1463144になる。
Next, the
ここで、参考のため、フレーム番号1〜12について、命令セットシミュレータ402の実行サイクル数N1及び割合係数を乗算した結果を実行サイクル数推定値N3の欄にかっこ書きで示す。そして、その実行サイクル数推定値N3と論理エミュレータ403の実行サイクル数N2との誤差を図15に示す。その誤差は、約2%であり、良好な推定が可能であることが分かる。
Here, for reference, the result of multiplying the number of execution cycles N1 of the
前記性能推定部1208はさらに命令セットシミュレータ402により演算されたフレーム番号1〜12のフレーム毎の実行サイクル数N1と論理エミュレータ403により演算されたフレーム番号1〜12のフレーム毎の実行サイクル数N2を入力とし最小二乗法を用いた多項式近似式により次式(1)の推定関数を演算する。
The
例えば、図15の実行サイクル値から演算した推定関数を2次式とした場合、推定係数は、a0=2.75999082147362×105、a1=7.96978741632175×10-1、a2=1.95340650785908×10-7となる。この推定係数を用いた推定関数より、論理エミュレータ403の実行サイクル推定値N4は、次式(2)で表わされる。ここで、N1は、命令セットシミュレータ402の実行サイクル数である。
For example, when the estimation function calculated from the execution cycle value of FIG. 15 is a quadratic expression, the estimation coefficients are a 0 = 2.75999082147362 × 10 5 , a 1 = 7.996978741632175 × 10 −1 , a 2 = 1.95340650785908 × 10 −7 It becomes. From the estimation function using the estimation coefficient, the execution cycle estimated value N4 of the
N4=1.95340650785908×10-7×N1×N1+7.96978741632175×10-1×N1+2.75999082147362×105 ・・・(2) N4 = 1.95340650785908 × 10 −7 × N1 × N1 + 7.96978741632175 × 10 −1 × N1 + 2.75999082147362 × 10 5 (2)
この多項式近似を利用した実行サイクル推定値N4を図15に示す。論理エミュレータ403の実行サイクル数N2と実行サイクル推定値N4との誤差は、約0.57%であり、上記の平均値を利用した実行サイクル推定値N3よりさらに良好な推定が可能である。
An execution cycle estimated value N4 using this polynomial approximation is shown in FIG. The error between the number of execution cycles N2 of the
次に、性能推定部1208は、フレーム番号1〜12についての論理エミュレータ403のフレーム毎の実行サイクル数N2及びフレーム番号13〜20についてのフレーム毎の実行サイクル数推定値を全体性能推定結果として記憶部1209に記録する。この全体性能推定結果は、評価ボードと同等の精度の結果である。
Next, the
上記のように、論理エミュレータ403の測定対象のフレーム番号1〜12内に、図13(B)の特徴的なフレームである最小フレーム番号1、最大フレーム番号9及び平均フレーム番号11を含ませることにより、実行サイクル数推定値の精度を向上させることができる。なお、上記では、先頭のフレーム番号1〜12を選択する場合を例に説明したが、先頭フレーム部分に限定されない。
As described above, the
(第2の実施形態)
図16は、第2の実施形態による性能推定装置の性能推定方法を示すフローチャートである。図16は、図12に対して、記憶部1601が追加されたものである。以下、本実施形態が第1の実施形態と異なる点を説明する。命令セットシミュレータ402は、第1の実施形態の実行サイクル数の他に、図17に示すように、ターゲットプログラム1101のフレーム毎の各関数の関数割合(関数プロファイル)をシミュレーションにより演算し、記憶部1601に記録する。ターゲットプログラム1101は、例えばC言語のプログラムをコンパイルしたマシン語のプログラムである。関数A〜Eは、C言語のプログラム内の全関数である。関数割合は、各関数の実行サイクル数の割合である。
(Second Embodiment)
FIG. 16 is a flowchart illustrating a performance estimation method of the performance estimation apparatus according to the second embodiment. FIG. 16 is obtained by adding a
論理エミュレータ403は、測定コントロール関数1206を基にレジスタ部1104に対して測定対象の関数を書き込むことにより指定する。そして、論理エミュレータ403は、ターゲットプログラム1101の測定区間の一部のフレーム番号1〜10(図18)のフレームについてのフレーム毎の各関数の実行サイクル数及びプログラムカウンタ値をエミュレーションにより演算し、RAM1106に書き込むと共に、記憶部1207に記録する。
The
性能推定部1208は、上記のように、記憶部1207内のフレーム毎の各関数の実行サイクル数を基に、測定終了を示すデリミタ値「bbbbbbbb」の前の実行サイクル数から測定開始を示すデリミタ値「aaaaaaaa」の後の実行サイクル数を減算することにより、1フレームの各関数の実行サイクル数を算出し、フレーム番号1〜10(図18)の論理エミュレータ403での一部性能測定結果を記憶部1207に書き戻す。
As described above, the
図18は、性能推定装置の処理を説明するための図である。性能推定部1208は、記憶部1202内の命令セットシミュレータ402により演算されたフレーム毎の実行サイクル数及び記憶部1601内のフレーム毎の各関数の関数割合を基に命令セットシミュレータ402のフレーム毎の各関数の実行サイクル数を演算する。例えば、フレーム番号11では、命令セットシミュレータ402の実行サイクル数は1500000であり、関数A〜Cの関数割合はそれぞれ0.4、0.2、0.4である。関数Aの実行サイクル数は、1500000×0.4=600000である。
FIG. 18 is a diagram for explaining processing of the performance estimation device. The
次に、性能推定部1208は、命令セットシミュレータ402のフレーム番号1〜10のフレーム毎の各関数の実行サイクル数のフレーム平均値(例えば「1000000」)を演算し、フレーム毎の各関数の関数割合のフレーム平均値を演算する。例えば、関数Aの関数割合のフレーム平均値は0.3である。
Next, the
次に、性能推定部1208は、命令セットシミュレータ402のフレーム毎の各関数の実行サイクル数のフレーム平均値及びフレーム毎の各関数の関数割合のフレーム平均値を基に命令セットシミュレータ402の各関数の実行サイクル数のフレーム平均値を演算する。例えば、関数Aの実行サイクル数のフレーム平均値は、1000000×0.3=300000である。
Next, the
次に、性能推定部1208は、記憶部1207内の論理エミュレータ403により演算された各関数の実行サイクル数を基に、フレーム番号1〜10についての論理エミュレータ403の各関数の実行サイクル数のフレーム平均値を演算する。例えば、関数Aの実行サイクル数のフレーム平均値は400000である。
Next, based on the number of execution cycles of each function calculated by the
次に、性能推定部1208は、命令セットシミュレータ402の各関数の実行サイクル数のフレーム平均値に対する論理エミュレータ403の各関数の実行サイクル数のフレーム平均値の関数毎の割合係数を演算する。例えば、関数Aの割合係数は、400000÷300000≒1.3である。
Next, the
次に、性能推定部1208は、フレーム番号11以降のフレームについての命令セットシミュレータ402のフレーム毎の各関数の実行サイクル数及び関数毎の割合係数を基に、論理エミュレータ403におけるターゲットプログラム1101の他の部分のフレーム番号11以降のフレームについてのフレーム毎の実行サイクル数推定値を推定する。例えば、フレーム番号11のフレームにおいて、実行サイクル数推定値は、600000×1.3+300000×2+600000×1=1785000である。ここで、「600000」は命令セットシミュレータ402のフレーム番号11の関数Aの実行サイクル数であり、「1.3」は関数Aの割合係数であり、「300000」は命令セットシミュレータ402のフレーム番号11の関数Bの実行サイクル数であり、「2」は関数Bの割合係数であり、「600000」は命令セットシミュレータ402のフレーム番号11の関数Cの実行サイクル数であり、「1」は関数Cの割合係数である。
Next, based on the number of execution cycles of each function of the
本実施形態によれば、関数毎の割合係数を用いて実行サイクル数推定値を推定するので、高精度の推定が可能になる。 According to this embodiment, since the estimated number of execution cycles is estimated using the ratio coefficient for each function, high-precision estimation is possible.
(第3の実施形態)
図19は、第3の実施形態による性能推定装置の性能推定方法を示すフローチャートである。図19は、図16に対して、プロファイル解析部1901及び記憶部1902が追加されたものである。以下、本実施形態が第2の実施形態と異なる点を説明する。命令セットシミュレータ402は第2の実施形態と同じ処理を行い、論理エミュレータ403は第1の実施形態と同じ処理を行う。すなわち、命令セットシミュレータ402は、第1の実施形態の実行サイクル数の他に、ターゲットプログラム1101のフレーム毎の各関数の関数割合をシミュレーションにより演算し、記憶部1601に記録する。論理エミュレータ403は、ターゲットプログラム1101のコンパイル時に生成されるデバック情報及びMAPファイルを記憶部1207に記録する。デバック情報及びMAPファイルは、コンパイル前のC言語のプログラムの行番号及び関数名とコンパイル後のマシン語のプログラムのアドレスとの対応関係を示すファイルである。
(Third embodiment)
FIG. 19 is a flowchart illustrating a performance estimation method of the performance estimation apparatus according to the third embodiment. FIG. 19 is obtained by adding a
プロファイル解析部1901は、図4のパーソナルコンピュータ401の処理により実現され、記憶部1207内の論理エミュレータ403のエミュレーションの結果を基に、図20に示すように、ターゲットプログラム1101のフレーム毎の各関数の実行サイクル数及び関数割合を演算する。例えば、関数Aの実行サイクル数は「4354」であり、関数Aの関数割合は「28.18%」である。
The
図21は、性能推定装置の処理を説明するための図である。図21の命令セットシミュレータ(ISS)402の欄についての処理は、第2の実施形態(図18)と同じである。 FIG. 21 is a diagram for explaining processing of the performance estimation device. The processing for the column of the instruction set simulator (ISS) 402 in FIG. 21 is the same as that in the second embodiment (FIG. 18).
次に、図21の論理エミュレータ403の欄の処理を説明する。性能推定部1208は、論理エミュレータ403により演算された例えばフレーム番号1〜10についてのフレーム毎の実行サイクル数のフレーム平均値を演算する。例えば、フレーム番号1〜10についての実行サイクル数のフレーム平均値は、「1300000」である。
Next, processing in the column of the
次に、性能推定部1208は、図20の論理エミュレータ403のフレーム毎の各関数の関数割合を基に、例えばフレーム番号1〜10のフレーム毎の各関数の関数割合のフレーム平均値を演算する。例えば、フレーム番号1〜10についての論理エミュレータ403の関数A〜Cの関数割合のフレーム平均値は、それぞれ「0.308、0.308、0.385」である。
Next, based on the function ratio of each function for each frame of the
次に、性能推定部1208は、例えばフレーム番号1〜10について、論理エミュレータ403により演算されたフレーム毎の実行サイクル数のフレーム平均値及び論理エミュレータ403のフレーム毎の各関数の関数割合のフレーム平均値を基に、論理エミュレータ403の各関数の実行サイクル数のフレーム平均値を演算する。例えば、関数Aの実行サイクル数のフレーム平均値は、1300000×0.308=400400である。
Next, the
次に、性能推定部1208は、例えばフレーム番号1〜10について、命令セットシミュレータ402の各関数の実行サイクル数のフレーム平均値に対する論理エミュレータ403の各関数の実行サイクル数のフレーム平均値の関数毎の割合係数を演算する。例えば、関数Aの割合係数は、400400÷300000≒1.3である。
Next, the
次に、性能推定部1208は、例えばフレーム番号11以降について、命令セットシミュレータ402のフレーム毎の各関数の実行サイクル数及び関数毎の割合係数を基に、論理エミュレータ403におけるターゲットプログラムの他の部分の例えばフレーム番号11以降のフレームについてのフレーム毎の実行サイクル数推定値を推定する。例えば、フレーム番号11の実行サイクル数推定値は、600000×1.3+300000×2+600000×1=1785000である。ここで、「600000」はフレーム番号11の命令セットシミュレータ402の関数Aの実行サイクル数、「1.3」は関数Aの割合係数、「300000」はフレーム番号11の命令セットシミュレータ402の関数Bの実行サイクル数、「2」は関数Bの割合係数、「600000」はフレーム番号11の命令セットシミュレータ402の関数Cの実行サイクル数、「1」は関数Cの割合係数である。
Next, the
本実施形態によれば、関数毎の割合係数を用いて実行サイクル数推定値を推定するので、高精度の推定が可能になる。なお、プロファイル解析部1901は、性能推定部1208内に設けても良い。
According to this embodiment, since the estimated number of execution cycles is estimated using the ratio coefficient for each function, high-precision estimation is possible. Note that the
以上のように、第1〜第3の実施形態の性能推定装置は、CPU201及び周辺回路203を含みCPU201がプログラムを実行するSoCの開発におけるプログラムの性能推定装置である。命令セットシミュレータ402は、CPU201のみのシミュレーションを行う。具体的には、命令セットシミュレータ402は、ターゲットプログラム1101の特定区間であるフレーム毎のCPU201の実行サイクル数をシミュレーションにより演算する。論理エミュレータ403は、CPU201及び周辺回路203のエミュレーションを行う。具体的には、論理エミュレータ403は、ターゲットプログラム1101の一部のフレームについてのフレーム毎のCPU201の実行サイクル数をエミュレーションにより演算する。
As described above, the performance estimation apparatus according to the first to third embodiments is a program performance estimation apparatus in the development of an SoC that includes the
性能推定部1208は、命令セットシミュレータ402により演算されたフレーム毎の実行サイクル数及び論理エミュレータ403により演算されたフレーム毎の実行サイクル数を基に、命令セットシミュレータ402により演算された実行サイクル数に対する論理エミュレータ403により演算された実行サイクル数の割合係数を演算する。そして、性能推定部1208は、命令セットシミュレータ402により演算されたフレーム毎の実行サイクル数及び割合係数を基に、論理エミュレータ403におけるターゲットプログラム1101の他の部分のフレームについてのフレーム毎の実行サイクル数を推定する。
Based on the number of execution cycles for each frame calculated by the
第1〜第3の実施形態によれば、システム(ハードウェア及びソフトウェアを含む)設計者及びハードウェア設計者に対して、性能推定装置の全体性能推定結果をフィードバックすることにより、実機又は評価ボード作成前にソフトウェア(プログラム)を踏まえたSoCアーキテクチャの全体最適化を実現することができる。 According to the first to third embodiments, an actual machine or an evaluation board is provided by feeding back the overall performance estimation result of the performance estimation device to a system designer (including hardware and software) and a hardware designer. It is possible to realize overall optimization of the SoC architecture based on software (programs) before creation.
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。 The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.
200 SoC
201 CPU
202 メモリ
203 周辺回路
402 命令セットシミュレータ
403 論理エミュレータ
800,1208 性能推定部
200 SoC
201 CPU
202
Claims (9)
前記中央処理装置のみのシミュレーションを行う命令セットシミュレータであって、前記プログラムの測定区間全体の前記中央処理装置の実行サイクル数をシミュレーションにより演算する命令セットシミュレータと、
前記中央処理装置及び前記周辺回路のエミュレーションを行う論理エミュレータであって、前記プログラムの測定区間の一部の前記中央処理装置の実行サイクル数をエミュレーションにより演算する論理エミュレータと、
前記命令セットシミュレータにより演算された実行サイクル数及び前記論理エミュレータにより演算された実行サイクル数を基に、推定関数を算出し、前記論理エミュレータにおける前記プログラムの未測定区間の実行サイクル数を推定する性能推定部と
を有することを特徴とする性能推定装置。 A performance estimation device for a program in the development of a system-on-a-chip that includes a central processing unit and peripheral circuits and that executes the program.
An instruction set simulator for performing simulation of only the central processing unit, wherein the instruction set simulator calculates the number of execution cycles of the central processing unit for the entire measurement interval of the program by simulation;
A logic emulator for emulating the central processing unit and the peripheral circuit, wherein the logic emulator calculates the number of execution cycles of the central processing unit in a part of the measurement interval of the program by emulation;
The ability to calculate an estimation function based on the number of execution cycles calculated by the instruction set simulator and the number of execution cycles calculated by the logic emulator, and to estimate the number of execution cycles in the unmeasured section of the program in the logic emulator A performance estimation device comprising: an estimation unit.
前記論理エミュレータは、前記プログラムの前記一部のフレームについてのフレーム毎の各関数の実行サイクル数をエミュレーションにより演算し、
前記性能推定部は、前記命令セットシミュレータにより演算されたフレーム毎の実行サイクル数及び前記フレーム毎の各関数の関数割合を基に前記命令セットシミュレータのフレーム毎の各関数の実行サイクル数を演算し、前記命令セットシミュレータのフレーム毎の各関数の実行サイクル数のフレーム平均値及び前記フレーム毎の各関数の関数割合のフレーム平均値を基に前記命令セットシミュレータの各関数の実行サイクル数のフレーム平均値を演算し、前記論理エミュレータにより演算された各関数の実行サイクル数を基に前記論理エミュレータの各関数の実行サイクル数のフレーム平均値を演算し、前記命令セットシミュレータの各関数の実行サイクル数のフレーム平均値に対する前記論理エミュレータの各関数の実行サイクル数のフレーム平均値の関数毎の割合係数を演算し、前記命令セットシミュレータのフレーム毎の各関数の実行サイクル数及び前記関数毎の割合係数を基に、前記論理エミュレータにおける前記プログラムの他の部分のフレームについてのフレーム毎の実行サイクル数を推定することを特徴とする請求項1記載の性能推定装置。 In addition to the number of execution cycles, the instruction set simulator calculates a function ratio of each function for each frame of the program by simulation,
The logic emulator calculates the number of execution cycles of each function for each frame for the partial frame of the program by emulation,
The performance estimating unit calculates the number of execution cycles of each function for each frame of the instruction set simulator based on the number of execution cycles for each frame calculated by the instruction set simulator and the function ratio of each function for each frame. The frame average of the number of execution cycles of each function of the instruction set simulator based on the frame average value of the number of execution cycles of each function of the instruction set simulator and the frame average value of the function ratio of each function of each frame Calculate the frame average value of the number of execution cycles of each function of the logic emulator based on the number of execution cycles of each function calculated by the logic emulator, and calculate the number of execution cycles of each function of the instruction set simulator The number of execution cycles of each function of the logic emulator with respect to the frame average value of A ratio coefficient for each function of the ram average value is calculated, and the frame of another part of the program in the logic emulator based on the number of execution cycles of each function for each frame of the instruction set simulator and the ratio coefficient for each function The performance estimation apparatus according to claim 1, wherein the number of execution cycles for each frame is estimated.
前記性能推定部は、前記論理エミュレータのエミュレーションの結果を基に前記プログラムのフレーム毎の各関数の関数割合のフレーム平均値を演算し、前記命令セットシミュレータにより演算されたフレーム毎の実行サイクル数のフレーム平均値及び前記命令セットシミュレータのフレーム毎の各関数の関数割合のフレーム平均値を基に前記命令セットシミュレータの各関数の実行サイクル数のフレーム平均値を演算し、前記論理エミュレータにより演算されたフレーム毎の実行サイクル数のフレーム平均値及び前記論理エミュレータのフレーム毎の各関数の関数割合のフレーム平均値を基に前記論理エミュレータの各関数の実行サイクル数のフレーム平均値を演算し、前記命令セットシミュレータの各関数の実行サイクル数のフレーム平均値に対する前記論理エミュレータの各関数の実行サイクル数のフレーム平均値の関数毎の割合係数を演算し、前記命令セットシミュレータのフレーム毎の各関数の実行サイクル数及び前記関数毎の割合係数を基に、前記論理エミュレータにおける前記プログラムの他の部分のフレームについてのフレーム毎の実行サイクル数を推定することを特徴とする請求項1記載の性能推定装置。 In addition to the number of execution cycles, the instruction set simulator calculates a function ratio of each function for each frame of the program by simulation,
The performance estimation unit calculates a frame average value of a function ratio of each function for each frame of the program based on a result of emulation of the logic emulator, and calculates the number of execution cycles for each frame calculated by the instruction set simulator. The frame average value of the number of execution cycles of each function of the instruction set simulator is calculated based on the frame average value and the frame average value of the function ratio of each function for each frame of the instruction set simulator, and is calculated by the logic emulator. Calculate the frame average value of the number of execution cycles of each function of the logic emulator based on the frame average value of the number of execution cycles per frame and the frame average value of the function ratio of each function of each function of the logic emulator. Frame plane of the number of execution cycles of each function of the set simulator The ratio coefficient for each function of the frame average value of the number of execution cycles of each function of the logic emulator with respect to the value is calculated, and based on the number of execution cycles of each function for each frame of the instruction set simulator and the ratio coefficient for each function The performance estimation apparatus according to claim 1, wherein the number of execution cycles per frame for a frame of another part of the program in the logic emulator is estimated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010110542A JP5454349B2 (en) | 2010-05-12 | 2010-05-12 | Performance estimation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010110542A JP5454349B2 (en) | 2010-05-12 | 2010-05-12 | Performance estimation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011238137A true JP2011238137A (en) | 2011-11-24 |
JP5454349B2 JP5454349B2 (en) | 2014-03-26 |
Family
ID=45326025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010110542A Expired - Fee Related JP5454349B2 (en) | 2010-05-12 | 2010-05-12 | Performance estimation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5454349B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018504680A (en) * | 2014-12-19 | 2018-02-15 | ドルビー ラボラトリーズ ライセンシング コーポレイション | Audio benchmarking with simulated real-time processing of audio |
CN109063340A (en) * | 2018-08-03 | 2018-12-21 | 上海兆芯集成电路有限公司 | The test method and device of GPU performance based on emulation |
US11106478B2 (en) | 2017-11-10 | 2021-08-31 | Mitsubishi Electric Corporation | Simulation device, simulation method, and computer readable medium |
-
2010
- 2010-05-12 JP JP2010110542A patent/JP5454349B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018504680A (en) * | 2014-12-19 | 2018-02-15 | ドルビー ラボラトリーズ ライセンシング コーポレイション | Audio benchmarking with simulated real-time processing of audio |
US10346124B2 (en) | 2014-12-19 | 2019-07-09 | Dolby Laboratories Licensing Corporation | Audio benchmarking with simulated real time processing of audio |
US11106478B2 (en) | 2017-11-10 | 2021-08-31 | Mitsubishi Electric Corporation | Simulation device, simulation method, and computer readable medium |
CN109063340A (en) * | 2018-08-03 | 2018-12-21 | 上海兆芯集成电路有限公司 | The test method and device of GPU performance based on emulation |
CN109063340B (en) * | 2018-08-03 | 2023-08-25 | 格兰菲智能科技有限公司 | Simulation-based GPU performance testing method and device |
Also Published As
Publication number | Publication date |
---|---|
JP5454349B2 (en) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4994393B2 (en) | System and method for generating multiple models at different levels of abstraction from a single master model | |
US8146061B2 (en) | Systems and methods for graphics hardware design debugging and verification | |
US10180850B1 (en) | Emulating applications that use hardware acceleration | |
WO2013030674A2 (en) | System and methods for generating and managing a virtual device | |
US9081925B1 (en) | Estimating system performance using an integrated circuit | |
US8271252B2 (en) | Automatic verification of device models | |
US9529946B1 (en) | Performance estimation using configurable hardware emulation | |
JP2005293163A (en) | Power consumption calculation method and apparatus | |
JP6600011B2 (en) | Efficient waveform generation for emulation | |
US20230252212A1 (en) | Testbench for sub-design verification | |
US10437949B1 (en) | Scheduling events in hardware design language simulation | |
Schürmans et al. | ESL power estimation using virtual platforms with black box processor models | |
US8700380B2 (en) | Method for generating performance evaluation model | |
JP5785725B2 (en) | Power estimation apparatus, power estimation method and program | |
JP5454349B2 (en) | Performance estimation device | |
US10540466B1 (en) | Systems and methods for streaming waveform data during emulation run | |
US7992112B2 (en) | Hardware verification programming description generation apparatus, high-level synthesis apparatus, hardware verification programming description generation method, hardware verification program generation method, control program and computer-readable recording medium | |
JP5040625B2 (en) | LSI power estimation method and apparatus | |
Lorenz et al. | From RTL IP to functional system-level models with extra-functional properties | |
JP6249827B2 (en) | Simulation apparatus and simulation program | |
US20140325468A1 (en) | Storage medium, and generation apparatus for generating transactions for performance evaluation | |
US10223077B2 (en) | Determination of signals for readback from FPGA | |
JP5146087B2 (en) | Power consumption estimation method, circuit design support apparatus and program | |
CN114115887A (en) | Adaptive scheduling with dynamic partition load balancing for fast partition compilation | |
JP2007018313A (en) | Circuit design program, circuit design device and circuit design method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131202 |
|
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: 20131210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131223 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5454349 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |