[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4799444B2 - シミュレーションシステム - Google Patents

シミュレーションシステム Download PDF

Info

Publication number
JP4799444B2
JP4799444B2 JP2007045446A JP2007045446A JP4799444B2 JP 4799444 B2 JP4799444 B2 JP 4799444B2 JP 2007045446 A JP2007045446 A JP 2007045446A JP 2007045446 A JP2007045446 A JP 2007045446A JP 4799444 B2 JP4799444 B2 JP 4799444B2
Authority
JP
Japan
Prior art keywords
simulation
execution
state
hardware
list
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
Application number
JP2007045446A
Other languages
English (en)
Other versions
JP2008210099A (ja
Inventor
智明 片野
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007045446A priority Critical patent/JP4799444B2/ja
Priority to US12/030,559 priority patent/US20080208557A1/en
Priority to CNA2008100820081A priority patent/CN101256601A/zh
Publication of JP2008210099A publication Critical patent/JP2008210099A/ja
Application granted granted Critical
Publication of JP4799444B2 publication Critical patent/JP4799444B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、プロセッサやDSP(Digital Signal Processor)をはじめとするハードウェアの各機能を含むシステムLSIのシミュレーション技術に関する。特に、C/C++や、SystemCに代表されるシステムレベル言語を用いた時にクロックの時間概念を含むサイクルベースでのシミュレーションを行う技術に関する。
従来のHDL(Hardware Description Language)言語(VerilogやVHDL)でのRTL(Register Transfer Level)記述では、イベント毎に同期したシミュレーションを実行可能である。しかし、システムLSIの規模の増大に伴い、システムLSI全体を動作させるような大規模なシミュレーションではイベント数が増加するため、RTL記述レベルでは、シミュレーション速度が低下するという課題があった。
この問題を解決するため、現在、SystemCなどのシステムレベル言語を利用したシミュレーションにより高速化を行う仕組みが利用可能である。しかし、システムレベル言語を用いたシミュレーションであっても、時間概念を含む、サイクルベースでのシミュレーションを行う場合は、サイクル毎に各ハードウェアの機能モデルを実行する。
例えば、SystemCによる記述によれば、シミュレーション時に、クロックの時間概念を用いる場合には、SC_THREAD/SC_CTHREAD/SC_METHODを利用し、クロックに同期して実行される処理をプロセスとして処理を行う(例えば、非特許文献1参照)。
平成15年1月30日 丸善株式会社 発行Thorsten Grotker、Stan Liao、Grant Martin、Stuart Swan 著柿本 勝、河原林 正道、長谷川 隆 監訳SystemC によるシステム設計
システムレベル言語を用いたシミュレーションにより、サイクルベースのシミュレーション記述が容易になった。また、ハードウェアモデル毎にサイクルベースでの各ハードウェアの動作記述を記載すればよくなった。
しかし、更なるシステムLSIの大規模化や、システムLSIのシミュレータで実行したいソフトウェア処理も大規模になるにつれ、サイクルベースの記載においても実行処理が増加していて、さらなるシミュレーションの高速化が求められている。
例えば、上記のSystemCでの例だと、SC_THREADに登録したプロセスはSC_THREADに設定されたクロックの立ち上がり(もしくは、立下り)に同期して必ず実行される。そのため、システムLSIの対象となるモデルが増加すると、その分プロセスが増加する。
しかし、各ブロックが全て動作するような最大負荷の状態でなければ、各モデルの動作を記載した各プロセスは実行されるが、システムにとって影響を与えるような動作をしない場合が多くなる。このような場合であっても、プロセスは実行されるため、この各モデルのプロセスのコールがシミュレーションのオーバーヘッドになる。
このため、従来のシミュレーション方法においては、各サイクルに同期して実行される各処理において、システムの状態をチェックして動作を変更するか、各処理を実行するメインルーチンにてシステムの状態をチェックして実行を制御する必要があった。
図9は、システムの状態をチェックして動作を変更する従来のシミュレーション方法のフローチャートを示す。すなわち、図9(a)に示すメインルーチン処理では、システムを初期化し(ステップS41)、シミュレーション継続かどうかを判断し(ステップS42)、シミュレーションを継続する場合(Yes)は、ハードウェア処理1の実行を判断する(ステップS43)。
ステップS43において、図9(b)に示すハードウェア処理1に移行し、処理実行状態かを判断し(ステップS51)、処理実行状態の場合(Yes)は、ハードウェア処理1を実行する(ステップS52)。
同様に、ハードウェア処理2(ステップS44)およびハードウェア処理3(ステップS45)では、図9(b)に示すハードウェア処理2,3に移行し、処理実行状態かを判断し(ステップS51)、処理実行状態の場合(Yes)は、ハードウェア処理2,3を実行する(ステップS52)。
また、図10は、各処理を実行するメインルーチンにてシステムの状態をチェックして実行を制御する従来のシミュレーション方法のフローチャートを示す。すなわち、図10(a)に示すメインルーチン処理では、システムを初期化し(ステップS61)、シミュレーション継続かどうかを判断し(ステップS62)、さらにハードウェア処理1が処理実行状態かを判断し(ステップS63)、処理実行状態の場合(Yes)は、ハードウェア処理1を実行する(ステップS64,S71)。
同様に、ハードウェア処理2が処理実行状態かを判断し(ステップS65)、処理実行状態の場合(Yes)は、ハードウェア処理2を実行する(ステップS66,S71)。さらに、ハードウェア処理3が処理実行状態かを判断し(ステップS67)、処理実行状態の場合(Yes)は、ハードウェア処理3を実行する(ステップS68,S71)。
これに対し、シミュレーションの高速化を実現する方法として、時間概念を抽象化し、時間概念がないシミュレーションを実現する方法がある。システムLSI としてハードウェア構成が確定した後の開発段階でのリアルタイム処理を中心とした組み込みシステムのシミュレーションにおいては、時間概念は重要な要素であり、タイマによる時間管理、周期的な処理等を高精度にシミュレーションすることが重要である。
時間概念の抽象化は、図9、図10のメインルーチンの処理自体を変更して実現していた。以下、時間概念を抽象化しない場合と抽象化した場合とを比較する。時間概念を抽象化しない場合、たとえば図9の場合には、ハードウェア処理1(ステップS43)を5回実行するためには、メインルーチンのシミュレーション継続(ステップS42)からのループ(ステップS42〜S45)を5回通過する必要がある。このループをハードウェアの1サイクルの処理とすれば、ハードウェア処理1を5回実行することは、5サイクル分の処理になる。すなわちこの場合、サイクル毎の状態を持ちながら5サイクル進むことになる。
これに対し、時間概念を抽象化する場合は、一回目のハードウェア処理時に5回分のハードウェア処理1を実行してしまうことになる。そうした場合、メインルーチンのループは少なくてすみ、シミュレーションを高速に実行できる。しかし、サイクルごとのハードウェア状態が再現できなくなってしまう。
一方従来技術においては、別の要因によってもシミュレーション速度が低下していた。ここで、従来のシミュレーション手法について説明する。図11に対象とするシステムLSIのブロック構成を記載する。この対象システムLSIはプロセッサ(CPU)5とメモリ11とクロックジェネレータ9とリセットコントローラ10とハードウェアエンジンA6、ハードウェアエンジンB7、ハードウェアエンジンC8から構成される。
まず、従来手法によるシミュレーションを実施する装置を図12に示す。シミュレーション実行部1はサイクル毎にCPU5と各ハードウェアエンジン6,7,8を実行する。
シミュレーション実行部1の処理フローを図13に記載する。シミュレーションがスタートすると、初期化(ステップS81)をした後に、メインルーチンを実行する。メインルーチンでは、CPUモデル5はCPU実行の処理(ステップS83)にて、メモリ11上の命令を取得して、その命令を実行する。
各ハードウェアエンジン6,7,8はその実行の際には、CPU5による設定値に従い、それぞれの定義された処理を実行する(ステップS84,S85,S86)。クロックジェネレータ9とリセットコントローラ10とメモリ11はサイクル毎の実行処理は実行せず、CPU5からアクセスが発生した時のみ処理を実行するものとする。
クロックジェネレータ9は、CPU5からのアクセスを受け、その書き込みの値により、各ハードウェアエンジン6,7,8のクロック供給の状態を制御するものとする。また、リセットコントローラ10は、CPU5からのアクセスを受け、その書き込みの値により、各ハードウェアエンジン6,7,8のリセット状態を解除するものとする。
各ハードウェアエンジン6,7,8は、実行時に、このクロックジェネレータ9の設定とリセットコントローラ10の設定をチェックして、クロックが供給されていて、リセットが解除されているのであれば、定義された処理を実行するものとする。この時のハードウェアエンジン6,7,8の処理フローを図14に記載する。
従来のシミュレーション実行方法では、図13に示すように、サイクル毎に、CPU実行(ステップS83)とハードウェアエンジンA実行(ステップS84)、ハードウェアエンジンB実行(ステップS85)、ハードウェアエンジンC実行(ステップS86)という呼び出しの処理が実行される。
なお、サイクルとは、シミュレーション上で時間が進む単位であり、シミュレーションはこのサイクル毎に実行される。図13のフローチャートでは、シミュレーション継続の判断(ステップS82)からハードウェアエンジンC実行(ステップS86)までの1回りで1サイクルとなる。
図14のとおり、各ハードウェアエンジン6,7,8の実行処理の中では、クロック状態の確認(ステップS91)とリセット状態の確認(ステップS92)を行い、クロック供給(Yes)でリセット解除(Yes)であれば、実際の処理を実行する(ステップS93)。
従来手法ではこのように実際の処理を実行しないハードウェアに対してもメインルーチンは処理を実行し、実行された処理の中では、クロックとリセットの状態確認という処理が発生する。
この例では、対象としているハードウェアエンジンは三つのみだが、この数が増えるとそれだけこの処理にかかる時間が増大し、シミュレーション速度の低下が発生する。
本発明は、上記従来の事情に鑑みてなされたものであって、オーバーヘッドによるシミュレーション速度の低下をなくし、シミュレーションを高速化することができるシミュレーション方法およびシミュレーションシステムを提供することを目的としている。
また、本発明は、サイクルベースのシミュレーション精度を保ちつつも、システムLSIの規模増加の影響を少なくすることができるシミュレーション方法およびシミュレーションシステムを提供することを目的としている。
上記シミュレーション速度の低下という課題を解決するために、第一の発明では、シミュレーションサイクルを実行する工程とは別に、各ハードウェアの状態変化により、シミュレーション実行する一覧を動的に作成する工程を設け、シミュレーションサイクルを実行する際には、この一覧の記載されたものだけを実行し、シミュレーション実行部が実行する処理はハードウェアの状態変化に応じて増減することにより、シミュレーションサイクル毎に実行していた各機能部の実行や状態のチェックをなくし、シミュレーションを高速化する。
これにより、ソフトウェア(CPU)からのアクセスによるクロック設定や、ハードウェアブロックへの起動設定などのハードウェアの状態変化に応じて、シミュレーションの実行一覧を動的に作成するので、サイクルベースのシミュレーション精度を保ちつつ、システムLSIの規模増加の影響を少なくして、シミュレーションを高速化することができる。
第二の発明では、第一の発明におけるシミュレーションの実行一覧の作成をクロックジェネレータの機能ブロックに持たせることにより、ゲーティッドクロックや分周におけるマルチサイクルのシミュレーション時の高速化を行う。
CPUがクロックの設定を行う時に、実行一覧を更新する。毎サイクルのシミュレーション実行時には、クロックの状態チェックを行わずに、実行一覧の実行処理のみの実行を行う。
第三の発明では、クロックジェネレータとリセットコントローラを含む形でクロックとリセットの状態をチェックして実行一覧の作成を行う手法である。
第四の発明ではシミュレーションの機能ブロックとは、独立して実行一覧を作成するブロックを用意して、シミュレーション実行一覧を作成する構成をとる。第二の発明、第三の発明においてクロックとリセットの状態により実行一覧作成を行う構成をとったが、それ以外の状態変化によりシミュレーション実行の一覧を変更する場合や、複数の条件により実行一覧を作成する場合は、独立した制御ブロックを用意し、各機能ブロックから必要な状態変化の通知を受け、制御ブロック内において状態を管理して、シミュレーション実行一覧を作成する。
各機能ブロックからの状態変化の通知には、CPUからのスリープモードの通知、リセットコントローラにおけるリセット設定状態の通知、各ハードウェアエンジン固有のゲーティッドクロックや動作イネーブルの設定通知などがある。
第五の発明では、CPUが休止状態などに入ったときの通知と休止状態から復帰する時の通知を状態変化点としてCPUの休止状態のシミュレーション速度を高速化する方法である。この場合は、シミュレーション中にCPUが休止状態に入る命令を実行した際に、前記一覧を更新してCPUを実行一覧から削除する。
従来のシステムシミュレーションの場合、CPUの実行が中心でシミュレーションが実行される方法が多いが、その場合、そもそも休止状態がシミュレーションできないか、シミュレーションできる場合でもCPUが休止状態になってもCPUのルーチンを実行する必要があった。本手法を用いることにより、CPUが休止状態でのシミュレーション速度の向上効果をより高めることが可能になる。
本発明によれば、サイクルレベルのシミュレーション精度を保ちつつ、システムLSIのシミュレーションを高速に実行することが可能になる。特に、各機能ブロックの設定によってシステムとしても動作するブロックが変わるような、今日の大規模、複雑なシステムLSI を用いた、OSやデバイスドライバやミドルウェアを含むような大規模かつ、長時間のシミュレーションを実速度により近い形でシミュレーションが可能になる。
本発明における実行一覧の作成は、従来のシミュレーションではない処理であるため、その分実行コストが増えるものである。しかし、メインルーチンの実行回数が、状態変化の回数に比べてはるかに大きい場合はこの実行コストを上回る全体としての速度向上が行える。
例えば、メインルーチンはシミュレーションサイクルが進むごとに実行されるが、クロックジェネレータへのアクセス回数はそのうちに、実際にCPUがクロックジェネレータへアクセスした時のみになり、発生頻度としては、とても少なくなる。そのため、本手法により毎サイクルの実行処理が減ることはシミュレーション高速化において極めて大きい効果がある。
図1は、本発明の実施形態にかかるシミュレーション方法を実現するための装置の一例を示す図である。同図に示すシミュレーション実行部1は、各機能モデル1〜nの処理を実行する。サイクル毎にこのシミュレーション実行部1が各機能モデル4を実行することにより、システムLSIの動作をシミュレーションする。
実行一覧作成部2は、機能モデル4から状態変化の通知を受け、各機能モデル1〜nの状態をチェックして実行一覧3を作成する。実行一覧は、シミュレーションを実行すべき機能モデルを示す情報、すなわち、ある状態においてシステムに影響を与えるような動作をする機能モデルを示す情報のリストである。シミュレーション実行部1は全ての機能モデル4を毎サイクル実行するのではなく、実行一覧作成部2により作成された実行一覧3に記載する機能モデル4の処理だけを実行する。
以下、従来のシミュレーション方法を改良することにより、第一の発明、第二の発明を実施する形態を記載する。
図1に示す本発明の基本構成に、第一と第二の実施形態を適用した場合を図2に示す。クロックジェネレータ9に、実行一覧を作成する機能を持たすことにする。クロックジェネレータ9は、従来と同様にCPU5のアクセスにより処理を実行する。クロックジェネレータ9は、従来の手法であれば、クロック供給の状態を設定するのみであったが、本実施形態では、CPU5からのアクセスという通知により、各ハードウェアエンジン6,7,8の状態の変化をチェックして実行一覧3を作成する。すなわち、クロックジェネレータ9は、CPU5からの通知にあわせて、動的に実行一覧3を更新する。
CPU5に関しては、初期化処理であらかじめ実行一覧3に登録されているものとする。作成する実行一覧3の例を図3に示す。図3では、CPU5とハードウェアエンジンA6とハードウェアエンジンC8が実行一覧に記載されている。実行一覧3では、要素毎に実行処理のアドレスなどを記載しておく。なお、実行一覧3の書式はこれに限定されず、シミュレーション実行部1の実装にあわせて最適な一覧を利用することとする。
シミュレーションの処理フローを図4に示す。従来の処理フローである図13と比較すると、CPU実行(図13のステップS83)、ハードウェアエンジンA実行(ステップS84)、ハードウェアエンジンB実行(ステップS85)、ハードウェアエンジンC実行(ステップS86)の処理が実行一覧の要素の処理を実行(図4のステップS14)となっている。
メインルーチンの処理として、従来であれば、CPU実行、ハードウェアエンジンA、ハードウェアエンジンB、ハードウェアエンジンCという四つの処理(ステップS83、S84,S85,S86)を固定で実施していたが、本実施形態により、CPUの実行とクロックジェネレータで作成された要素分の実行(ステップS14)になる。
そのため、クロックが供給されていなく、実行一覧3に要素がないときはハードウェアエンジンA6、ハードウェアエンジンB7、ハードウェアエンジンC8はいずれも実行をしない。
ハードウェアエンジンA6だけにクロックが供給されている場合は、ハードウェアエンジンA6だけを実行し、ハードウェアエンジンA6、ハードウェアエンジンB7の二つにクロックが供給されている場合は二つの要素を実行する。
これにより、クロック供給の状態に合わせて、メインルーチンで実行する処理を増減させることができ、クロック供給にあわせて処理速度を高速化することが可能である。
特に、ハードウェアエンジンA6、ハードウェアエンジンB7、ハードウェアエンジンC8のいずれにもクロックが供給されていない状態では必要な処理はCPU5の処理だけになり、より高速に実行が可能である。
また、各ハードウェアエンジン6,7,8での処理フローを図5に示す。従来の手法であれば、ここで、クロックの供給状態を確認していたが、この処理の実行される時点ですでにクロック供給がされている前提であるため、本処理では、クロック供給状態の確認という処理をなくすことが可能であり、高速化が可能である。
さらに、第三の発明の実施形態として、上記クロックジェネレータ9にリセットコントローラ10へのCPU5からのアクセスによるリセット状態の更新の通知を取得するようにする。
この構成図を図6に記載する。CPU5からリセットコントローラ10へのアクセスによるリセット状態の変化をクロックジェネレータ9に通知を行う。クロックジェネレータ9ではこの通知を受けて、クロック供給状態とあわせて、実行一覧3を作成する。
本実施形態では、クロックが供給されていて、リセットが解除されている状態のとき実行一覧3に要素を追加して、クロックが停止もしくは、リセットが発生した時に実行一覧3から要素を削除する。
この時の各ハードウェアエンジン6,7,8の処理フローを図7に示す。これにより、クロック状態、リセット状態を考慮して実行一覧3を作成できるので、第二の発明の実施形態に比べ、図7では、さらにリセット状態のチェックに関する処理を削減することが可能である。
第四の発明の実施形態として、実行一覧3を作成する機能をクロックジェネレータとは別の機能として持たす。その構成を図8に示す。これにより、例えば、クロック、リセットの状態に加えて、各ハードウェアエンジン6,7,8固有の状態設定等を含め状態管理を行うことが可能である。
なお、ハードウェアエンジン固有の状態設定とは、例えば、そのハードウェアエンジンがスリープモードに設定されて処理をしていない状態、あるいは動作Enableの設定がされていないため動作をしていない状態などである。
また、本機能を独立させることにより、クロックジェネレータ9での処理を少なくして、クロックジェネレータ9の処理が複雑化するのを防ぐことが可能である。
第五の発明の実施形態として、クロックジェネレータ9、リセットコントローラ10ではなく、CPU5の休止状態をシミュレーションする実施形態を記載する。構成としては、図8と同様である。
本実施形態で利用するCPU5としては、決められた命令を実行することにより、休止状態に入るものとする。休止状態に入ったCPU5はハードウェアエンジン6,7,8からの割込み通知があるまで、命令実行を含む全ての処理を実行しないものとする。
CPU5にて休止状態に入る命令を実行すると、CPU5から実行一覧作成部2へ通知を行う。実行一覧作成部2では、この通知を受けて、CPU5を実行一覧3から削除する。その後、メインルーチンでは、CPU5がない状態で、実行一覧3を実行する。
CPU5が休止して、ハードウェアエンジンA6が動作している状態とすると、ハードウェアエンジンA6の実行が完了すると、CPU5への割込みを発生する。この割り込みを実行一覧作成部2にも通知する。
実行一覧作成部2では、この通知を受け、休止状態にいるCPU5を再度実行一覧3に追加して、実行を再開する。CPU5は休止状態からの復帰の割り込みを受け、その割込み処理から動作を再開する。
以上説明した実施形態によれば、時間概念を抽象化することなく、ソフトウェア(CPU)からのアクセスによるクロック設定や、ハードウェアブロックへの起動設定などのハードウェアの状態変化に応じて、シミュレーションの実行一覧を動的に作成し、作成した実行一覧を参照してシミュレーションを実行するので、サイクルベースのシミュレーション精度を保ちつつ、システムLSIの規模増加の影響を少なくして、シミュレーションを高速化することができる。したがって、サイクルレベルのシミュレーション精度を保ちつつ、システムLSIのシミュレーションを高速に実行することが可能になる。特に、各機能ブロックの設定によってシステムとしても動作するブロックが変わるような、今日の大規模、複雑なシステムLSI を用いた、OSやデバイスドライバやミドルウェアを含むような大規模かつ、長時間のシミュレーションを実速度により近い形でシミュレーションが可能になる。
本発明にかかるシミュレーション方法は、サイクルレベルでの精度を確保しつつ、高速化を実現可能である。大規模なハードウェア、ソフトウェアを利用し、リアルタイム性の動作を求められる組み込みシステムの開発等において、本発明によるシミュレーション装置、手法は極めて有用である。
本発明の実施形態にかかるシミュレーションシステムを説明するための概略図 本発明の実施形態にかかるシミュレーションシステムのブロック図(1) 本発明の実施形態にかかるシミュレーションシステムにおける実行一覧の例を示す図 本発明の実施形態にかかるシミュレーション方法による処理フローを示す図 本発明の実施形態にかかるハードウェアエンジンの処理フローを示す図(1) 本発明の実施形態にかかるシミュレーションシステムのブロック図(2) 本発明の実施形態にかかるハードウェアエンジンの処理フローを示す図(2) 本発明の実施形態にかかるシミュレーションシステムのブロック図(3) 従来のシミュレーション方法による処理フローを示す図(1) 従来のシミュレーション方法による処理フローを示す図(2) 本発明の実施形態に利用するシステムLSIの構成図 従来のシミュレーション方法を実施する装置を示す図 従来のシミュレーション方法の処理フローを示す図 従来のシミュレーション方法におけるハードウェアエンジンでの処理フローを示す図
符号の説明
1 シミュレーション実行部
2 実行一覧作成部
3 実行一覧
4 機能モデル(ハードウェアモデル)
5 CPU
6 ハードウェアエンジンA
7 ハードウェアエンジンB
8 ハードウェアエンジンC
9 クロックジェネレータ
10 リセットコントローラ
11 メモリ

Claims (5)

  1. システムLSIのシミュレーションシステムにおいて、
    システムの状態変化の通知を受け、前記システムの状態変化に応じて実行する処理の一覧を作成する実行一覧作成部と、
    作成した前記一覧に記載される処理を1サイクル毎に実行するシミュレーション実行部とを有し、
    前記シミュレーション実行部が実行する処理は前記システムの状態変化に応じて増減するシミュレーションシステム。
  2. 請求項記載のシミュレーションシステムにおいて、
    機能モデルへのクロック供給の状態に応じて前記一覧を作成するクロックジェネレータを有するシミュレーションシステム。
  3. 請求項記載のシミュレーションシステムにおいて、
    前記機能モデルのリセットの状態を前記クロックジェネレータに通知するリセットコントローラを有し、
    前記クロックジェネレータは、前記機能モデルのリセットの状態に応じて前記一覧を作成するシミュレーションシステム。
  4. 請求項記載のシミュレーションシステムにおいて、
    前記実行一覧作成部は、システムに関する複数の状態変化の通知を受け、前記複数の状態変化の組み合わせに応じて前記一覧を作成するシミュレーションシステム。
  5. 請求項記載のシミュレーションシステムにおいて、
    前記実行一覧作成部は、CPUからの通知に応じて前記一覧を作成するシミュレーションシステム。
JP2007045446A 2007-02-26 2007-02-26 シミュレーションシステム Expired - Fee Related JP4799444B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007045446A JP4799444B2 (ja) 2007-02-26 2007-02-26 シミュレーションシステム
US12/030,559 US20080208557A1 (en) 2007-02-26 2008-02-13 Simulation method and simulation system
CNA2008100820081A CN101256601A (zh) 2007-02-26 2008-02-26 仿真方法和仿真系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007045446A JP4799444B2 (ja) 2007-02-26 2007-02-26 シミュレーションシステム

Publications (2)

Publication Number Publication Date
JP2008210099A JP2008210099A (ja) 2008-09-11
JP4799444B2 true JP4799444B2 (ja) 2011-10-26

Family

ID=39716909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007045446A Expired - Fee Related JP4799444B2 (ja) 2007-02-26 2007-02-26 シミュレーションシステム

Country Status (3)

Country Link
US (1) US20080208557A1 (ja)
JP (1) JP4799444B2 (ja)
CN (1) CN101256601A (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010093945A2 (en) 2009-02-13 2010-08-19 Glaukos Corporation Uveoscleral drug delivery implant and methods for implanting the same
US10206813B2 (en) 2009-05-18 2019-02-19 Dose Medical Corporation Implants with controlled drug delivery features and methods of using same
US9668915B2 (en) 2010-11-24 2017-06-06 Dose Medical Corporation Drug eluting ocular implant
US10245178B1 (en) 2011-06-07 2019-04-02 Glaukos Corporation Anterior chamber drug-eluting ocular implant
JP5221711B2 (ja) 2011-06-10 2013-06-26 三菱電機株式会社 内燃機関自動停止再始動制御装置
JP6655610B2 (ja) 2014-05-29 2020-02-26 グローコス コーポレーション 制御された薬物送達機能を備えるインプラント及びそれを使用する方法
US11925578B2 (en) 2015-09-02 2024-03-12 Glaukos Corporation Drug delivery implants with bi-directional delivery capacity
US11564833B2 (en) 2015-09-25 2023-01-31 Glaukos Corporation Punctal implants with controlled drug delivery features and methods of using same
AU2017252294B2 (en) 2016-04-20 2021-12-02 Dose Medical Corporation Bioresorbable ocular drug delivery device
JP6765291B2 (ja) * 2016-12-16 2020-10-07 コマツ産機株式会社 シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
CN111338427B (zh) * 2020-02-27 2021-06-15 深圳航天科技创新研究院 一种实现SystemC半实物仿真时间同步的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047175B1 (en) * 2001-11-16 2006-05-16 Synopsys, Inc. System and method for enhancing the speed of dynamic timing simulation using delay assessment at compile time
JP4132802B2 (ja) * 2001-12-07 2008-08-13 富士通株式会社 概略マルチタスクソフトウェアのシミュレーションを行う方法、装置及びプログラム
US7451073B2 (en) * 2002-06-25 2008-11-11 Hewlett-Packard Development Company, L.P. System and method for increasing performance in multi-CPU simulation
JP3951925B2 (ja) * 2003-01-31 2007-08-01 セイコーエプソン株式会社 ハードウェア/ソフトウェア協調検証方法

Also Published As

Publication number Publication date
CN101256601A (zh) 2008-09-03
US20080208557A1 (en) 2008-08-28
JP2008210099A (ja) 2008-09-11

Similar Documents

Publication Publication Date Title
JP4799444B2 (ja) シミュレーションシステム
US8046209B2 (en) Coherent state among multiple simulation models in an EDA simulation environment
TWI597600B (zh) 在運行狀態下藉由減少每個時脈的指令率之微處理器及其省電方法
US20030191615A1 (en) Synchronization of multiple simulation domains in an EDA simulation environment
US20160077575A1 (en) Interface to expose interrupt times to hardware
JP2009026113A (ja) シミュレーション装置及びプログラム
US20020120909A1 (en) State management in a co-verification system
US8744831B2 (en) Simulation apparatus, simulation method and recording medium for recording simulation program
JP2024063149A (ja) 電源管理制御をサポートする電源管理アドバイザ
WO2006024325A1 (en) Method for estimating power consumption
US7895027B2 (en) HDL re-simulation from checkpoints
JP5034916B2 (ja) 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置
US20140181491A1 (en) Field-programmable module for interface bridging and input/output expansion
CN1973264B (zh) 使用虚拟机扩展的cpu模拟方法
JP2002366602A (ja) ソフトウエア及びハードウエアのシミュレーション方法及びシステム並びにプログラム
JP5542643B2 (ja) シミュレーション装置及びシミュレーションプログラム
JP2001290860A (ja) ハードウエア/ソフトウエア協調シミュレータ
JP2023032451A (ja) シミュレーション装置、及びシミュレーション方法
JP2005321848A (ja) システムシミュレーション実行プログラムおよびハードウェア記述変換プログラム
US20210357549A1 (en) Simulator and simulation method
JPH07253909A (ja) マイクロプログラム検証方法
JP2006011840A (ja) 組み込みシステム
JP2000276502A (ja) ソフトウエアシミュレータ
JPH07129653A (ja) シミュレーションによるシステム設計支援方式
JP2009140028A (ja) ハードウェア検証用プログラミング記述生成装置、ハードウェア検証用プログラミング記述生成方法、制御プログラムおよび可読記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110426

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110802

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees