JP5200675B2 - シミュレーション装置,シミュレーション方法,シミュレーションプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 - Google Patents
シミュレーション装置,シミュレーション方法,シミュレーションプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 Download PDFInfo
- Publication number
- JP5200675B2 JP5200675B2 JP2008153505A JP2008153505A JP5200675B2 JP 5200675 B2 JP5200675 B2 JP 5200675B2 JP 2008153505 A JP2008153505 A JP 2008153505A JP 2008153505 A JP2008153505 A JP 2008153505A JP 5200675 B2 JP5200675 B2 JP 5200675B2
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- execution log
- unit
- software
- basic
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
1チップ化する目的は一般的に、小型化、低コスト化、低消費電力化である。このような半導体装置を、システムLSI、あるいは、System on Chip(SoC)などと呼んでいる。
特に、小型化・低コスト化を推し進めるためには、システムLSIの処理負荷の軽減と、設計上のマージンを低減することが必要であり、その問題解決のためには、設計初期の段階での性能検証技術が重要となってきている。
一般に、ソフトウェアは、C言語、あるいは、アセンブリ言語等で記述し、ターゲットプロセッサを含む実機モデル、またはターゲットプロセッサ向けのInstruction Set Simulator(ISS;命令セットシミュレータ)上で実行することにより、その動作をシミュレーションすることができる。
このように、ソフトウェアとハードウェアとを合わせたシステム全体をシミュレートすることにより、プロセッサ負荷率等の性能の評価ができることになる。
図14に従来の半導体装置の性能評価シミュレーション装置の例を示す。従来のシミュレーション装置100において、Central Processing Unit(CPU)101,I-cache(命令キャッシュ)102,D-Cache(データキャッシュ)103,バス104,外部RAM(Random Access Memory)105,及び周辺HW(HardWare)106は、ハードウェアモデルにより実現される。
しかしながら、従来のシミュレーション装置100では、前述のとおり仕様121に基づく、実際にプロセッサに実装するソフトウェア122をISS110上で実行する。そのため、高精度な検証を行うためにはソフトウェア122の完成度が十分であることが必要になり、設計の早期に最適化の検討、即ち、性能評価シミュレーションを行うことができない。
そこで、従来から、プロセッサ上で実行するソフトウェアを、UML分析を用いてモデル化することでソフトウェアを作成し、設計早期の検証を可能とする技術や、要求仕様から概念モデルから機能モデルとソフトウェアを作成する技術がある(例えば下記特許文献3,4参照)。
また、上記特許文献3,4のような技術では、実際に実装するソフトウェアとの乖離、即ち性能検証環境の精度が不明であるので、作成されたソフトウェアが信頼できるものであるのかが分からない。
さらに、上記目的を達成するため、このコンピュータ読取可能な記録媒体は、上述したシミュレーションプログラムを記録している。
〔1〕本発明の一実施形態について
まず、図1に示すブロック図を参照しながら、本発明の一実施形態としての性能評価シミュレーション装置(以下、本シミュレーション装置という)1の構成について説明する。
つまり、本シミュレーション装置1は、ハードウェアの性能を評価するための、ソフトウェアとハードウェアのモデル化に関し、キャッシュ解析可能な抽象度で、ISSを必要とせずに、過去のソフトウェア設計資産を活用してターゲットCPUのアーキテクチャ検討可能な、ソフトウェアのモデル化を提供する。
本シミュレーション装置1は、SW(SoftWare)/HW(HardWare)分割部2,フラグ処理部3,第1取得部4,分割部5,機能モジュール作成部6,基本処理実行ログ生成部10及びシミュレーション実行部20を備えている。
フラグ処理部3は、基本処理実行ログ生成部10が後述する基本処理実行ログを生成するために用いる、予め作成された既存の仮ソフトウェアに対して、その仮ソフトウェアにおけるソースコードの分岐行、及び/または、オブジェクトを呼び出す関数行を示すフラグを、その行の直前あるいは直後にフラグを埋め込むものである。
このように、フラグ処理部3がフラグを挿入することによって、仮ソフトウェアを実機あるいはISSによって実行した結果得られる実行ログにおいて、指定したアドレスへのリードアクセスをフラグ情報として取得することができるようになる。そして、そのフラグ情報を元に、後述する図6に示すオブジェクト遷移グラフ(オブジェクトシーケンス図)や各オブジェクトのフラグ間のソースコードの自動抽出が可能となる。その結果、後述する簡易ソフトウェアモデル生成部11が、簡易ソフトウェアを作成することができる。
ここで、図3に第1取得部4によって取得される実行ログの一例を示す。
図3の実行ログの情報は、主として処理毎に、実行時間情報としてのタイムスタンプ(図中“time”),命令/データアクセスの指定(図中“type”)、データアクセスの場合はリード/ライトの指定、命令の場合のオブジェクト(図中“Object(\#line)”;オブジェクトファイル)、及びアドレスを含んでいる。なお、このオブジェクトを参照することにより、処理がどのソースファイルを実行しているのかが分かる。
なお、仮ソフトウェアが通信処理ソフトウェアの場合、実行ログの処理量である命令アドレス列およびデータアクセス列の数は、転送レートを変えることでも変化するため、ターゲットプロセッサ上でのシミュレーション条件に留意する必要がある。
分割部5は、例えばマルチメディア処理や通信処理のアプリケーションの場合、同じ処理の繰り返しがほとんどであるため、周期処理のパターンからOSのタスク起動点を見つけ、これを足がかりにタスク単位で分割する。あるいは、分割部5は命令アドレス列からオブジェクトファイル間の処理の流れを追い、タスクの区切りを見つけて分割する。
図5は図4のオブジェクトシーケンス表を図化したものである。図5において“xxx.o”,“yyy.o”,“zzz.o”は、オブジェクトを示している。
図5に示すように、各基本処理単位Fn[1]は、オブジェクトファイル間のアクセスの始点から終点までを一つの区切りとすることで抜き出されたものである。
基本処理実行ログ生成部10は、複数の基本処理単位のうちの一部の基本処理単位を変更することによりシミュレーションに用いる基本処理実行ログを生成する。
簡易ソフトウェアモデル生成部11は、分割部5によって分割された複数の基本処理単位のうちの変更対象である基本処理単位(変更対象基本処理単位)をオペレータの指示に基づいて抽出し、抽出した変更対象基本処理単位に基づいて簡易ソフトウェアモデルを生成するものである。
図6に簡易ソフトウェア(簡易ソフトウェアモデル)11aの構成を示す。簡易ソフトウェアモデル11aの構成は、大別してユーザモデル11bとリアルタイムOS(RTOS)11cとから成る。ユーザモデル11bは更に、イベントフラグで開始され、RAMへのデータアクセスを含むデータ構造の連続・反復・選択処理を行うデータ処理部11dと、初期化シーケンスや、データ処理中にシステムコールで呼び出される処理シーケンスのような制御部11eで構成される。
なお、簡易ソフトウェアモデル生成部11のより詳細な動作内容については、後述する図10のフローチャートを参照しながら説明する。
第2取得部12は、簡易ソフトウェアモデル生成部11によって生成された簡易ソフトウェアモデル11aを、実機あるいはISSによって実行することにより、その実行履歴である実行ログ(仮実行ログ)を取得するものである。
シミュレーション実行部20は、基本処理実行ログ生成部10によって生成された基本処理実行ログを用いてシミュレーションを行い、ターゲットCPUの性能評価のための統計情報を取得するものである。
図7にシミュレーション部20によって実現される性能評価シミュレーションの対象(ハードウェアモデル)について説明する。
CPU21は、性能評価の対象であるターゲットプロセッサである。このCPU21上でソフトウェアを実行したときのハードウェア性能を調査することで、CPU21の性能検証を行うことができる。
機能モジュール22−1〜22−n(以下、これら機能モジュール22−1〜22−nを区別しない場合には機能モジュール22という)は、実行ログから抽出された基本処理単位のログ解析ファイルである基本処理実行ログ25を入力としている。
つまり、入力される基本処理実行ログはいずれかの機能モジュール22に属し、同じ機能ブロックに複数所属している場合は、実行時に選択される。
イベント制御情報26は、第1取得部4によって取得された実行ログから得られるもので、この時間にこのイベントが発生するというパラメータファイルからなる。
そして、スケジューラ部23はそのイベント制御情報26に基づいて基本処理実行ログを対応する機能モジュール22に投入する。
そして、スケジューラ部23は、アクセス処理部24により実行されたシミュレーション処理から性能評価に用いる統計情報27を作成する。
例えば、スケジューラ部23は、基本処理単位毎、即ち、機能モジュール22毎に、命令実行時間(ns),命令フェッチ時間(ns),データアクセス時間(ns),及びCPU負荷率(%)を、統計情報27として取得し作成する。つまり、実行ログは命令アドレス列と、データアクセスのアドレス列を持っているため、シミュレーション実行部20は、それぞれ命令キャッシュ、データキャッシュを経由してバスアクセスを実行させることができ、その結果、命令実行時間、命令フェッチ時間、データアクセス時間等をモニタし、CPU負荷率等統計データを作成できる。
ここで、I-cache30とは、外部RAM33上に存在する命令の取得時間を短くするための、命令キャッシュである。D-cache31もI-cache30と同じく、こちらはデータアクセスの時間を短くするための、データキャッシュである。I-cache30と異なるのは、読み出しだけではなく、書き込みにも対応している点である。
シミュレーション実行部20は、基本処理実行ログの入力を除く部分は、例えば、SystemC言語などを用いたトランザクションレベルで構築する。
各イベントのプロセス処理は、複数の基本処理で構成される。例えば、パラメータとして与えておいた頻度に従い周期イベントAが発生すると、これをトリガとしてCPU21内部のスケジューラ部23は機能モジュール22−1に続いて機能モジュール22−2を呼び出す。
なお、機能モジュール22では、性能評価に必要な命令フェッチ、メモリアクセス、命令時間消費など統計情報データを収集するための共通処理の他に、ハードウェアの完成度に応じて各モジュール固有の機能を記述する。
まず、本シミュレーション装置1は、性能評価対象のハードウェア(以下、ターゲットCPUという)と、そのターゲットCPUに搭載するソフトウェアとに係るシステムの要求仕様を入力される(ステップS1)。なお、機能を検証するための機能モデルを作成することもあるが、ここでは省略している。
ここで、シミュレーション実行部20は、ハードウェアに係る動作モデルを作成する(ステップS3)。なお、動作モデルは、RTLまたは抽象度の高いTLM、あるいはその両方の混在した記述で作成される。
次に、フラグ処理部3が、図2を参照しながら説明したように仮ソフトウェアにフラグを埋め込む(ステップS5;フラグ処理ステップ)。
なお、この基本処理単位の抜き出しに併せて、ハードウェアの方では機能モジュール作成部6が、対応する機能モジュールを作成する(ステップS8´)。
次に、基本処理実行ログ生成部10の簡易ソフトウェアモデル生成部11が、基本処理単位に分割した実行ログについて、仮ソフトウェアの既存機能からの変更となる処理部分を選別し(ステップS9)、変更部分については(ステップS9のYesルート)簡易ソフトウェアモデル11aを作成する(ステップS10)。
実行ログから簡易ソフトウェアモデル11aを作成する詳細手順については、後述する図10を参照しながら説明する。
続いて、第2取得部12は、作成された簡易ソフトウェアモデルをターゲットプロセッサ向けにコンパイルし(ステップS11)、実行バイナリを作成する(ステップS12)。その後、第2取得部12は、この実行バイナリをターゲットプロセッサ用のISS上で実行し(ステップS13)、実際に実行された命令の実行履歴(仮実行ログ)を取得する(ステップS14)。
最後に、シミュレーション実行部20が、その基本処理実行ログと、動作モデルとを用いてターゲットCPU21の性能評価シミュレーションを実行し(ステップS17;シミュレーション実行ステップ)、処理を終了する。ここで、シミュレーション実行部20は、基本処理単位の実行ログを、頻度などのパラメータ設定とともに動作モデルに入力として与えることで、性能評価シミュレーションを実行している。
簡易ソフトウェアモデル生成部11は、分割部5が仮ソフトウェアの実行ログを図3〜図5に示す手順で基本処理単位に分割した中から、新規に変更する処理部分を抜き出して取得する(ステップS20)。
あるいは、簡易ソフトウェアモデル生成部11は、命令アドレス列からオブジェクト情報を付加することでもオブジェクトシーケンスを作成可能である。
次に、簡易ソフトウェアモデル生成部11は、抽出した関数がユーザモデル11bに係るものか、RTOS11cに係るものかを、各関数がアクセスするオブジェクトに応じて分別する(ステップS24)。つまり、簡易ソフトウェアモデル生成部11は、呼び出し関数がアクセスするオブジェクトを参照することによって、その関数がユーザモデル11bに関するものか、RTOS11cに関するものかを判断する。
これらの処理はユーザモデル11bと同様に実行ログ内に含まれているため、既存部分を参考にして類似箇所のログを繋ぎ合わせる。具体的には、簡易ソフトウェアモデル生成部11は、当該基本処理の実行処理のタイムスタンプを基に前後のRTOSオブジェクトを抽出し、オブジェクトパターンの発生頻度を第1取得部4が取得した実行ログから求めて、各オブジェクトの発生率を決定する係数を与えることで、パターン発生率を作成する
。
一方、ユーザモデル11bに対しては、簡易ソフトウェアモデル生成部11は、上記図4のオブジェクトシーケンスと呼び出し関数の実行情報の相関に基づき、ユーザモデル11bのデータ処理部11dおよび制御部11eについて、流用元である既存の仮ソフトウェアのソースコードから必要な記述を抜粋することで機能レベルの抽象化モデルを作成する(ステップS27,S28)。
例えば、簡易ソフトウェアモデル生成部11は、図4に示すオブジェクトシーケンス表において、タイムスタンプ“30530”の関数“#100”の直後と、タイムスタンプ“30539”の関数“#398”の直前とに対して上記補完を行う。また、簡易ソフトウェアモデル生成部11は、タイムスタンプ“30557”の関数“#406”の直後と、タイムスタンプ“30572”の関数“#174”の直前とに対して上記補完を行う。
なお、簡易ソフトウェアモデル生成部11は、main関数内では、前述の当該基本処理の呼び出しの他、オブジェクト内で呼び出されるRAMアクセスのアドレスやデータ、当該基本処理以外のオブジェクトに実装される変数を初期値として設定する。こうしておくことで、第2取得部12が、当該基本処理をコンパイル後、ターゲットプロセッサ上で実行して取り出す実行ログからオブジェクトmain.oの処理を取り除けば当該基本処理部の正確な命令数、データアクセス数を把握することができる。
このように、基本処理実行ログ生成部10は、仮ソフトウェアに基づいて、仮ソフトウェアにより得られた基本処理単位に変更を加えることで、ターゲットCPUに搭載する新たなソフトウェアに対応する実行ログを取得する。
そして、第2取得部12が、コンパイル処理(ステップS29),実行(ステップS30)を行うことにより、仮実行ログを取得する(ステップS31)。
ここで、基本処理実行ログ生成部10は、仮実行ログのタイムスタンプに基づいて、周期的なものはデータ処理部11dに係るものと判断し、非周期的なものを制御部11eに係るものと判断する。
つまり、制御部11eの場合、システムコールで呼び出されて実行される。この処理タイミングはソフトウェア要求仕様によって確定するため、開発初期のアーキ検討時には未定の場合も考えられる。そこで既存の実行ログからオブジェクトパターンの発生頻度、即ち全命令数に対する当該オブジェクトの命令数の割合及び当該オブジェクトの実行周期を求めて、各オブジェクトの発生率を決定する係数を与えることで、基本処理実行ログ生成部10は各制御部11eのパターン発生率を作成する。
このように、本発明の一実施形態としてのシミュレーション装置1及びシミュレーション方法によれば、第1取得部4が予め作成された仮ソフトウェアを実行することによって取得した第1実行ログを、分割部5が複数の基本処理単位に分割する。次に、基本処理実行ログ生成部10が、一部の基本処理単位を変更することにより、シミュレーションに用いる基本処理実行ログを生成する。そして、シミュレーション実行部20は、その基本処理実行ログを、ハードウェアモデルに入力することにより、シミュレーションを実行して性能評価に要する情報を取得する。
さらに、従来技術のように、シミュレーションの際にソフトウェアをISSによって実行することなく、シミュレーション実行部20は、基本処理実行ログを用いてシミュレーションを実行する。したがって、シミュレーションに係る工数を低減でき、シミュレーションに要する時間を短縮できる。
また、基本処理実行ログ生成部10は、具体的には、簡易ソフトウェアモデル生成部11が簡易ソフトウェアモデルを生成し、第2取得部12がその仮実行ログを取得する。そして合成部13が未変更部分と仮実行ログとを合成することで、既存の仮ソフトウェアから、実ソフトウェアに対応する実行ログを確実に、且つ、少ない工数で生成することができる。
さらに、シミュレーション実行部20は、第1取得部4によって取得された実行ログにおけるイベント制御情報に基づいて基本処理実行ログを、ハードウェアモデルに入力するので、基本処理実行ログを用いたシミュレーションを既存の資源を用いて確実に実行できる。
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、基本処理実行ログ生成部10が、分割部5によって分割された基本処理単位の内容を変更することにより、仮ソフトウェアに基づいて実装ソフトウェアに対応する実行ログを取得するように構成した。しかし、本発明はこれに限定されるものではなく、基本処理実行ログ生成部10は、分割部5によって分割された基本処理単位を、別途用意した他の基本処理単位に置換することによって、実装ソフトウェアに対応する実行ログを取得するように構成してもよい。
例えば、図12のフローチャート(ステップS1〜S4,S6〜S9,S8´,S15〜S17,S40〜S46,S46´)を参照しながら、新たに作成したソフトウェアに基づく基本処理単位を置換する場合について説明する。なお、図12において既述の符号と同一の符号は、同一の処理もしくは略同一の処理を示しているので、ここではその詳細な説明は省略する。また、図12及び後述する図13において、説明の簡略化のためにフラグの埋め込み処理(図9のステップS5の処理)は省略している。
つまり、基本処理実行ログ生成部10は、仮ソフトウェアとは別に、今回の変更部分に係る新たなソフトウェア設計を取得し(ステップS41)、それを第2取得部12がターゲットCPU向けにコンパイルし(ステップS42)、実行バイナリを取得する(ステップS43)。次いで、第2取得部12は、その実行バイナリを、ISSを用いてターゲットCPU上で実行し、変更部分に係る仮実行ログ(第2実行ログ)を取得する(ステップS44)。
このように、本発明の第1変形例としてのシミュレーション装置1の基本処理実行ログ生成部10は、オペレータが別途用意した新規ソフトウェアの仮実行ログを、仮ソフトウェアの実行ログの一部と置き換えることにより、基本処理実行ログ(ソフトウェアモデル)を生成する。これによっても上述した実施形態と同様の作用効果を得ることができる。
そして、分割部5がそれぞれの実行ログX2,Y2に対して基本処理単位への分割を行なう(ステップS8−1,8−2)。
一方、基本処理実行ログ生成部10は、他方の仮ソフトウェアY1の基本処理単位から、流用部分の基本処理単位を抜き出す(ステップS52)。
これにより、基本処理実行ログ生成部10は、複数の既存の仮ソフトウェアX1,Y1から、実装ソフトウェアに対応する基本処理実行ログを生成する。
なお、流用部分の機能に改変や追加が必要な場合は、図13において二点鎖線で示す簡易ソフトウェアモデル化処理S60(ステップS10〜S14)を実施し、その流用部分を抽象化して簡易ソフトウェアモデル化し、ターゲットプロセッサ上で実行して仮実行ログを作成する。
また、上述した実施形態では、機能モジュール作成部6と基本処理実行ログ生成部10とを別に構成した。しかし、本発明はこれに限定されるものではなく、機能モジュール作成部6は基本処理実行ログ生成部10の機能の一部として実現されてもよい。
(付記1)
ソフトウェア及びハードウェアによって実現されるシステムにかかる性能評価のためのシミュレーションを、ハードウェアモデルを用いて実行するシミュレーション装置であって、
既存の仮ソフトウェアを実行することにより第1実行ログを取得する第1取得部と、
前記第1実行ログを複数の基本処理単位に分割する分割部と、
前記複数の基本処理単位のうちの一部の基本処理単位を変更することにより前記シミュレーションに用いる基本処理実行ログを生成する基本処理実行ログ生成部と、
前記基本処理実行ログを、前記ハードウェアモデルに入力することにより、前記シミュレーションを実行して前記性能評価に要する情報を取得するシミュレーション実行部とを備えたことを特徴とする、シミュレーション装置。
前記基本処理実行ログ生成部が、
前記複数の基本処理単位のうちの変更対象基本処理単位を抽出し、抽出した前記変更対象基本処理単位に基づいて簡易ソフトウェアモデルを生成する簡易ソフトウェアモデル生成部と、
前記簡易ソフトウェアモデルに基づいて仮実行ログを取得する第2取得部と、
前記複数の基本処理単位のうちの前記変更対象基本処理単位以外の基本処理単位と、前記仮実行ログとを合成して前記基本処理実行ログを生成する合成部とを備えたことを特徴とする、付記1記載のシミュレーション装置。
前記仮ソフトウェアにおけるソースコードの分岐行もしくはオブジェクトを呼び出す関数行を示すフラグを前記仮ソフトウェアに埋め込むフラグ処理部を備え、
前記第1取得部は、前記フラグを埋め込まれた前記仮ソフトウェアを実行して前記第1実行ログを取得するように構成されるとともに、
前記簡易ソフトウェアモデル生成部が、前記変更対象基本処理単位における前記フラグに対応するフラグ情報に基づいて、前記変更対象基本処理単位内のオブジェクトシーケンスを生成し、前記ソースコードを抽出して前記簡易ソフトウェアモデルを生成することを特徴とする、付記2記載のシミュレーション装置。
前記基本処理実行ログ生成部が、前記複数の基本処理単位のうちの一部の基本処理単位を、他の基本処理単位に置換することにより前記基本処理実行ログを生成することを特徴とする、付記1記載のシミュレーション装置。
(付記5)
前記基本処理実行ログ生成部が、前記仮ソフトウェアとは異なる他の仮ソフトウェアを実行して第2実行ログを取得し、その第2実行ログに基づいて前記他の基本処理単位を取得することを特徴とする、付記4記載のシミュレーション装置。
前記シミュレーション実行部は、前記第1実行ログにおけるイベント制御情報に基づいて前記基本処理実行ログを、前記ハードウェアモデルに入力することを特徴とする、付記1〜5のいずれか1項に記載のシミュレーション装置。
(付記7)
ソフトウェア及びハードウェアによって実現されるシステムにかかる性能評価のためのシミュレーションを、ハードウェアモデルを用いて実行するシミュレーション方法であって、
既存の仮ソフトウェアを実行することにより第1実行ログを取得する第1取得ステップと、
前記第1実行ログを複数の基本処理単位に分割する分割ステップと、
前記複数の基本処理単位のうちの一部の基本処理単位を変更することにより前記シミュレーションに用いる基本処理実行ログを生成する基本処理実行ログ生成ステップと、
前記基本処理実行ログを、前記ハードウェアモデルに入力することにより、前記シミュレーションを実行して前記性能評価に要する情報を取得するシミュレーション実行ステップとを含んでいることを特徴とする、シミュレーション方法。
前記基本処理実行ログ生成ステップが、
前記複数の基本処理単位のうちの変更対象基本処理単位を抽出し、抽出した前記変更対象基本処理単位に基づいて簡易ソフトウェアモデルを生成する簡易ソフトウェアモデル生成ステップと、
前記簡易ソフトウェアモデルに基づいて仮実行ログを取得する第2取得ステップと、
前記複数の基本処理単位のうちの前記変更対象基本処理単位以外の基本処理単位と、前記仮実行ログとを合成して前記基本処理実行ログを生成する合成ステップとを含んでいることを特徴とする、付記7記載のシミュレーション方法。
前記仮ソフトウェアにおけるソースコードの分岐行もしくはオブジェクトを呼び出す関数行を示すフラグを前記仮ソフトウェアに埋め込むフラグ処理ステップをさらに含み、
前記第1取得ステップにおいて、前記フラグを埋め込まれた前記仮ソフトウェアを実行して前記第1実行ログが取得されるとともに、
前記簡易ソフトウェアモデル生成ステップにおいて、前記変更対象基本処理単位における前記フラグに対応するフラグ情報に基づいて、前記変更対象基本処理単位内のオブジェクトシーケンスが生成され、前記ソースコードを抽出して前記簡易ソフトウェアモデルが生成されることを特徴とする、付記8記載のシミュレーション方法。
前記基本処理実行ログ生成ステップにおいて、前記複数の基本処理単位のうちの一部の基本処理単位を、他の基本処理単位に置換することにより前記基本処理実行ログが生成されることを特徴とする、付記7記載のシミュレーション方法。
(付記11)
前記基本処理実行ログ生成ステップにおいて、前記仮ソフトウェアとは異なる他の仮ソフトウェアを実行して第2実行ログを取得し、その第2実行ログに基づいて前記他の基本処理単位を取得することを特徴とする、付記10記載のシミュレーション方法。
前記シミュレーション実行ステップにおいて、前記第1実行ログにおけるイベント制御情報に基づいて前記基本処理実行ログを、前記ハードウェアモデルに入力することを特徴とする、付記7〜11のいずれか1項に記載のシミュレーション方法。
(付記13)
ソフトウェア及びハードウェアによって実現されるシステムにかかる性能評価のためのシミュレーションを、ハードウェアモデルを用いて実行する機能をコンピュータに実現させるためのシミュレーションプログラムであって、
既存の仮ソフトウェアを実行することにより第1実行ログを取得する第1取得部、
前記第1実行ログを複数の基本処理単位に分割する分割部、
前記複数の基本処理単位のうちの一部の基本処理単位を変更することにより前記シミュレーションに用いる基本処理実行ログを生成する基本処理実行ログ生成部、及び、
前記基本処理実行ログを、前記ハードウェアモデルに入力することにより、前記シミュレーションを実行して前記性能評価に要する情報を取得するシミュレーション実行部として、前記コンピュータを機能させることを特徴とする、シミュレーションプログラム。
前記基本処理実行ログ生成部として前記コンピュータを機能させる際、
前記複数の基本処理単位のうちの変更対象基本処理単位を抽出し、抽出した前記変更対象基本処理単位に基づいて簡易ソフトウェアモデルを生成する簡易ソフトウェアモデル生成部、
前記簡易ソフトウェアモデルに基づいて仮実行ログを取得する第2取得部、及び、
前記複数の基本処理単位のうちの前記変更対象基本処理単位以外の基本処理単位と、前記仮実行ログとを合成して前記基本処理実行ログを生成する合成部として、前記コンピュータを機能させることを特徴とする、付記13記載のシミュレーションプログラム。
前記仮ソフトウェアにおけるソースコードの分岐行もしくはオブジェクトを呼び出す関数行を示すフラグを前記仮ソフトウェアに埋め込むフラグ処理部として、前記コンピュータを機能させ、
前記第1取得部が、前記フラグを埋め込まれた前記仮ソフトウェアを実行して前記第1実行ログを取得するとともに、
前記簡易ソフトウェアモデル生成部が、前記変更対象基本処理単位における前記フラグに対応するフラグ情報に基づいて、前記変更対象基本処理単位内のオブジェクトシーケンスを生成し、前記ソースコードを抽出して前記簡易ソフトウェアモデルを生成するように、前記コンピュータを機能させることを特徴とする、付記14記載のシミュレーションプログラム。
前記基本処理実行ログ生成部が、前記複数の基本処理単位のうちの一部の基本処理単位を、他の基本処理単位に置換することにより前記基本処理実行ログを生成するように、前記コンピュータを機能させることを特徴とする、付記13記載のシミュレーションプログラム。
前記基本処理実行ログ生成部が、前記仮ソフトウェアとは異なる他の仮ソフトウェアを実行して第2実行ログを取得し、その第2実行ログに基づいて前記他の基本処理単位を取得するように、前記コンピュータを機能させることを特徴とする、付記16記載のシミュレーションプログラム。
前記シミュレーション実行部は、前記第1実行ログにおけるイベント制御情報に基づいて前記基本処理実行ログを、前記ハードウェアモデルに入力するように、前記コンピュータを機能させることを特徴とする、付記13〜17のいずれか1項に記載のシミュレーションプログラム。
ソフトウェア及びハードウェアによって実現されるシステムにかかる性能評価のためのシミュレーションを、ハードウェアモデルを用いて実行する機能をコンピュータに実現させるためのシミュレーションプログラムを記録したコンピュータ読取可能な記録媒体であって、
前記シミュレーションプログラムが、
既存の仮ソフトウェアを実行することにより第1実行ログを取得する第1取得部、
前記第1実行ログを複数の基本処理単位に分割する分割部、
前記複数の基本処理単位のうちの一部の基本処理単位を変更することにより前記シミュレーションに用いる基本処理実行ログを生成する基本処理実行ログ生成部、及び、
前記基本処理実行ログを、前記ハードウェアモデルに入力することにより、前記シミュレーションを実行して前記性能評価に要する情報を取得するシミュレーション実行部として、前記コンピュータを機能させることを特徴とする、シミュレーションプログラムを記録したコンピュータ読取可能な記録媒体。
前記シミュレーションプログラムは、前記基本処理実行ログ生成部として前記コンピュータを機能させる際、
前記複数の基本処理単位のうちの変更対象基本処理単位を抽出し、抽出した前記変更対象基本処理単位に基づいて簡易ソフトウェアモデルを生成する簡易ソフトウェアモデル生成部、
前記簡易ソフトウェアモデルに基づいて仮実行ログを取得する第2取得部、及び、
前記複数の基本処理単位のうちの前記変更対象基本処理単位以外の基本処理単位と、前記仮実行ログとを合成して前記基本処理実行ログを生成する合成部として、前記コンピュータを機能させることを特徴とする、付記19記載のシミュレーションプログラムを記録したコンピュータ読取可能な記録媒体。
2 SW/HW(SoftWare/HardWare)分割部
3 フラグ処理部
4 第1取得部
5 分割部
6 機能モジュール作成部
10 基本処理実行ログ生成部
11 簡易ソフトウェアモデル生成部
11a 簡易ソフトウェアモデル
11b ユーザモデル
11c RTOS(Real Time Operating System)
11d データ処理部
11e 制御部
12 第2取得部
13 合成部
20 シミュレーション実行部
21 CPU(Central Processing Unit;ターゲットCPU)
22,22−1〜22−n 機能モジュール
23 スケジューラ部
24 アクセス処理部
25 基本処理実行ログ
26 イベント制御情報
27 統計情報
30,102 I−cache
31,103 D−cache
32,104 バス
33,105 外部RAM(Random Access Memory)
34,106 周辺HW(HardWare)
100 シミュレーション装置
101 CPU
110 ISS(Instruction Set Simulator)
120 統計情報
121 仕様
122 ソフトウェア
Claims (10)
- ソフトウェア及びハードウェアによって実現されるシステムにかかる性能評価のためのシミュレーションを、ハードウェアモデルを用いて実行するシミュレーション装置であって、
既存の仮ソフトウェアを実行することにより第1実行ログを取得する第1取得部と、
前記第1実行ログを複数の基本処理単位に分割する分割部と、
前記複数の基本処理単位のうちの一部の基本処理単位を変更することにより前記シミュレーションに用いる基本処理実行ログを生成する基本処理実行ログ生成部と、
前記基本処理実行ログを、前記ハードウェアモデルに入力することにより、前記シミュレーションを実行して前記性能評価に要する情報を取得するシミュレーション実行部とを備えたことを特徴とする、シミュレーション装置。 - 前記基本処理実行ログ生成部が、
前記複数の基本処理単位のうちの変更対象基本処理単位を抽出し、抽出した前記変更対象基本処理単位に基づいて簡易ソフトウェアモデルを生成する簡易ソフトウェアモデル生成部と、
前記簡易ソフトウェアモデルに基づいて仮実行ログを取得する第2取得部と、
前記複数の基本処理単位のうちの前記変更対象基本処理単位以外の基本処理単位と、前記仮実行ログとを合成して前記基本処理実行ログを生成する合成部とを備えたことを特徴とする、請求項1記載のシミュレーション装置。 - 前記仮ソフトウェアにおけるソースコードの分岐行もしくはオブジェクトを呼び出す関数行を示すフラグを前記仮ソフトウェアに埋め込むフラグ処理部を備え、
前記第1取得部は、前記フラグを埋め込まれた前記仮ソフトウェアを実行して前記第1実行ログを取得するように構成されるとともに、
前記簡易ソフトウェアモデル生成部が、前記変更対象基本処理単位における前記フラグに対応するフラグ情報に基づいて、前記変更対象基本処理単位内のオブジェクトシーケンスを生成し、前記ソースコードを抽出して前記簡易ソフトウェアモデルを生成することを特徴とする、請求項2記載のシミュレーション装置。 - 前記基本処理実行ログ生成部が、前記複数の基本処理単位のうちの一部の基本処理単位を、他の基本処理単位に置換することにより前記基本処理実行ログを生成することを特徴とする、請求項1記載のシミュレーション装置。
- ソフトウェア及びハードウェアによって実現されるシステムにかかる性能評価のためのシミュレーションを、ハードウェアモデルを用いて実行するシミュレーション方法であって、
既存の仮ソフトウェアを実行することにより第1実行ログを取得する第1取得ステップと、
前記第1実行ログを複数の基本処理単位に分割する分割ステップと、
前記複数の基本処理単位のうちの一部の基本処理単位を変更することにより前記シミュレーションに用いる基本処理実行ログを生成する基本処理実行ログ生成ステップと、
前記基本処理実行ログを、前記ハードウェアモデルに入力することにより、前記シミュレーションを実行して前記性能評価に要する情報を取得するシミュレーション実行ステップとを含んでいることを特徴とする、シミュレーション方法。 - 前記基本処理実行ログ生成ステップが、
前記複数の基本処理単位のうちの変更対象基本処理単位を抽出し、抽出した前記変更対象基本処理単位に基づいて簡易ソフトウェアモデルを生成する簡易ソフトウェアモデル生成ステップと、
前記簡易ソフトウェアモデルに基づいて仮実行ログを取得する第2取得ステップと、
前記複数の基本処理単位のうちの前記変更対象基本処理単位以外の基本処理単位と、前記仮実行ログとを合成して前記基本処理実行ログを生成する合成ステップとを含んでいることを特徴とする、請求項5記載のシミュレーション方法。 - 前記仮ソフトウェアにおけるソースコードの分岐行もしくはオブジェクトを呼び出す関数行を示すフラグを前記仮ソフトウェアに埋め込むフラグ処理ステップをさらに含み、
前記第1取得ステップにおいて、前記フラグを埋め込まれた前記仮ソフトウェアを実行して前記第1実行ログが取得されるとともに、
前記簡易ソフトウェアモデル生成ステップにおいて、前記変更対象基本処理単位における前記フラグに対応するフラグ情報に基づいて、前記変更対象基本処理単位内のオブジェクトシーケンスが生成され、前記ソースコードを抽出して前記簡易ソフトウェアモデルが生成されることを特徴とする、請求項6記載のシミュレーション方法。 - 前記基本処理実行ログ生成ステップにおいて、前記複数の基本処理単位のうちの一部の基本処理単位を、他の基本処理単位に置換することにより前記基本処理実行ログが生成されることを特徴とする、請求項5記載のシミュレーション方法。
- ソフトウェア及びハードウェアによって実現されるシステムにかかる性能評価のためのシミュレーションを、ハードウェアモデルを用いて実行する機能をコンピュータに実現させるためのシミュレーションプログラムであって、
既存の仮ソフトウェアを実行することにより第1実行ログを取得する第1取得部、
前記第1実行ログを複数の基本処理単位に分割する分割部、
前記複数の基本処理単位のうちの一部の基本処理単位を変更することにより前記シミュレーションに用いる基本処理実行ログを生成する基本処理実行ログ生成部、及び、
前記基本処理実行ログを、前記ハードウェアモデルに入力することにより、前記シミュレーションを実行して前記性能評価に要する情報を取得するシミュレーション実行部として、前記コンピュータを機能させることを特徴とする、シミュレーションプログラム。 - ソフトウェア及びハードウェアによって実現されるシステムにかかる性能評価のためのシミュレーションを、ハードウェアモデルを用いて実行する機能をコンピュータに実現させるためのシミュレーションプログラムを記録したコンピュータ読取可能な記録媒体であって、
前記シミュレーションプログラムが、
既存の仮ソフトウェアを実行することにより第1実行ログを取得する第1取得部、
前記第1実行ログを複数の基本処理単位に分割する分割部、
前記複数の基本処理単位のうちの一部の基本処理単位を変更することにより前記シミュレーションに用いる基本処理実行ログを生成する基本処理実行ログ生成部、及び、
前記基本処理実行ログを、前記ハードウェアモデルに入力することにより、前記シミュレーションを実行して前記性能評価に要する情報を取得するシミュレーション実行部として、前記コンピュータを機能させることを特徴とする、シミュレーションプログラムを記録したコンピュータ読取可能な記録媒体。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008153505A JP5200675B2 (ja) | 2008-06-11 | 2008-06-11 | シミュレーション装置,シミュレーション方法,シミュレーションプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
US12/393,155 US8249850B2 (en) | 2008-06-11 | 2009-02-26 | Method and an apparatus for executing simulation for system performance evaluation |
TW098106420A TWI423058B (zh) | 2008-06-11 | 2009-02-27 | 模擬裝置、模擬方法及記錄有模擬程式之電腦可讀記錄媒體 |
KR1020090024890A KR101076348B1 (ko) | 2008-06-11 | 2009-03-24 | 시뮬레이션 장치, 시뮬레이션 방법, 및 시뮬레이션 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008153505A JP5200675B2 (ja) | 2008-06-11 | 2008-06-11 | シミュレーション装置,シミュレーション方法,シミュレーションプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009301231A JP2009301231A (ja) | 2009-12-24 |
JP5200675B2 true JP5200675B2 (ja) | 2013-06-05 |
Family
ID=41415558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008153505A Expired - Fee Related JP5200675B2 (ja) | 2008-06-11 | 2008-06-11 | シミュレーション装置,シミュレーション方法,シミュレーションプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8249850B2 (ja) |
JP (1) | JP5200675B2 (ja) |
KR (1) | KR101076348B1 (ja) |
TW (1) | TWI423058B (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5034955B2 (ja) * | 2008-01-08 | 2012-09-26 | 富士通株式会社 | 性能評価シミュレーション装置、性能評価シミュレーション方法および性能評価シミュレーションプログラム |
JP5928128B2 (ja) * | 2012-04-25 | 2016-06-01 | 株式会社明電舎 | デジタル回路用シミュレーション方法 |
US9734263B2 (en) * | 2012-12-20 | 2017-08-15 | Intel Corporation | Method and apparatus for efficient pre-silicon debug |
CN103473431B (zh) * | 2013-09-25 | 2016-12-07 | 北京大学 | 一种轻量级的在线调试php程序的方法 |
CN103514055A (zh) * | 2013-10-09 | 2014-01-15 | 浪潮(北京)电子信息产业有限公司 | 一种面向过程的高性能计算应用性能的测评方法及系统 |
US10372590B2 (en) | 2013-11-22 | 2019-08-06 | International Business Corporation | Determining instruction execution history in a debugger |
JP7452071B2 (ja) * | 2020-02-18 | 2024-03-19 | 富士通株式会社 | 抽出プログラム、抽出方法および情報処理装置 |
CN113821458B (zh) * | 2021-09-18 | 2023-09-05 | 日立楼宇技术(广州)有限公司 | 一种数据操作方法、装置、计算机设备和存储介质 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09114693A (ja) * | 1995-10-13 | 1997-05-02 | Toshiba Corp | プログラム開発支援装置及びプログラム実行装置 |
KR20010006983A (ko) | 1999-06-26 | 2001-01-26 | 양세양 | 신속 프로토타이핑 장치와 그것의 입출력 탐침방법 및그것을 이용한 혼합 검증 방법 |
JP2001256079A (ja) * | 2000-03-10 | 2001-09-21 | Matsushita Electric Ind Co Ltd | ソフトウェアのデバッグ方法および論理回路のデバッグ方法 |
JP2001318812A (ja) | 2000-05-11 | 2001-11-16 | Nec Corp | 性能評価モデル生成装置および性能評価モデル生成方法 |
JP2001344287A (ja) * | 2000-06-02 | 2001-12-14 | Nec Microsystems Ltd | アルゴリズム記述におけるバスの性能評価方法 |
JP2002215423A (ja) | 2001-01-22 | 2002-08-02 | Hitachi Ltd | ソフトウェアモデル作成方法 |
SG94796A1 (en) * | 2001-03-28 | 2003-03-18 | Council Scient Ind Res | A simulated circuit layout for low voltage, low power and high performance type ii current conveyor |
JP4503203B2 (ja) * | 2001-07-03 | 2010-07-14 | 富士通株式会社 | 情報処理装置を評価するためのテストプログラムを作成する方法、装置、およびそのための処理を記述したプログラム |
US20030121010A1 (en) * | 2001-12-21 | 2003-06-26 | Celoxica Ltd. | System, method, and article of manufacture for estimating a potential performance of a codesign from an executable specification |
JP3828104B2 (ja) * | 2003-10-02 | 2006-10-04 | 株式会社東芝 | 模擬回路パターン評価方法、半導体集積回路の製造方法、テスト基板、及びテスト基板群 |
JP4100630B2 (ja) * | 2004-05-14 | 2008-06-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Uml設計方法 |
KR100921314B1 (ko) * | 2004-07-12 | 2009-10-13 | 양세양 | 검증결과 재활용 기법을 채용한 고성능 설계검증 장치 및이를 활용한 신속한 설계검증 방법 |
JP2006059108A (ja) | 2004-08-19 | 2006-03-02 | Mitsubishi Electric Corp | 情報システム開発試験支援システム |
JP2007018313A (ja) | 2005-07-08 | 2007-01-25 | Fujitsu Ltd | 回路設計プログラム、回路設計装置、回路設計方法 |
US8781808B2 (en) * | 2005-10-10 | 2014-07-15 | Sei Yang Yang | Prediction-based distributed parallel simulation method |
US20090150136A1 (en) * | 2005-10-10 | 2009-06-11 | Sei Yang Yang | Dynamic-based verification apparatus for verification from electronic system level to gate level, and verification method using the same |
JP2007310449A (ja) | 2006-05-16 | 2007-11-29 | Fujitsu Ltd | ソフトウェア/ハードウェア協調設計のためのモデル生成プログラム、およびモデル生成方法 |
JP4634525B2 (ja) * | 2007-10-15 | 2011-02-16 | 富士通株式会社 | シミュレート方法、シミュレートプログラムおよびシミュレーション装置 |
JP5034955B2 (ja) * | 2008-01-08 | 2012-09-26 | 富士通株式会社 | 性能評価シミュレーション装置、性能評価シミュレーション方法および性能評価シミュレーションプログラム |
-
2008
- 2008-06-11 JP JP2008153505A patent/JP5200675B2/ja not_active Expired - Fee Related
-
2009
- 2009-02-26 US US12/393,155 patent/US8249850B2/en not_active Expired - Fee Related
- 2009-02-27 TW TW098106420A patent/TWI423058B/zh not_active IP Right Cessation
- 2009-03-24 KR KR1020090024890A patent/KR101076348B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US8249850B2 (en) | 2012-08-21 |
KR20090129320A (ko) | 2009-12-16 |
KR101076348B1 (ko) | 2011-10-25 |
TW200951750A (en) | 2009-12-16 |
JP2009301231A (ja) | 2009-12-24 |
US20090313001A1 (en) | 2009-12-17 |
TWI423058B (zh) | 2014-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5200675B2 (ja) | シミュレーション装置,シミュレーション方法,シミュレーションプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 | |
JP4994393B2 (ja) | 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 | |
US8122398B2 (en) | Conversion of circuit description to an abstract model of the circuit | |
US20020152061A1 (en) | Data processing system and design system | |
US20070011664A1 (en) | Device and method for generating an instruction set simulator | |
WO2004044798A2 (en) | Global analysis of software objects generated from a hardware description | |
CN112444731B (zh) | 芯片测试方法、装置、处理器芯片及服务器 | |
JP2014510960A (ja) | ツール・ジェネレータ | |
US6856951B2 (en) | Repartitioning performance estimation in a hardware-software system | |
CN116341428B (zh) | 构建参考模型的方法、芯片验证方法及系统 | |
CN117094269A (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
US8140315B2 (en) | Test bench, method, and computer program product for performing a test case on an integrated circuit | |
US20070271080A1 (en) | Model generation method for software/hardware collaboration design | |
KR20090065742A (ko) | 소프트웨어 개발 장치 및 그 방법 | |
JP4492803B2 (ja) | 動作合成装置及びプログラム | |
US8245163B1 (en) | Partial compilation of circuit design with new software version to obtain a complete compiled design | |
Goli et al. | Through the looking glass: Automated design understanding of SystemC-based VPs at the ESL | |
US7971167B2 (en) | Semiconductor design support device, semiconductor design support method, and manufacturing method for semiconductor integrated circuit | |
US7328415B2 (en) | Modeling blocks of an integrated circuit for timing verification | |
JP4152659B2 (ja) | データ処理システムおよび設計システム | |
US10210294B1 (en) | System and methods for simulating a circuit design | |
US8813005B1 (en) | Debugging using tagged flip-flops | |
JP5390464B2 (ja) | シミュレーション装置、シミュレーション装置の制御方法およびプログラム | |
JP2007018313A (ja) | 回路設計プログラム、回路設計装置、回路設計方法 | |
CN118363715A (zh) | 一种参考模型的集成方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110315 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121002 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121022 |
|
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: 20130115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130128 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160222 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |