JP2007052783A - データ処理装置のシミュレーション - Google Patents

データ処理装置のシミュレーション Download PDF

Info

Publication number
JP2007052783A
JP2007052783A JP2006219152A JP2006219152A JP2007052783A JP 2007052783 A JP2007052783 A JP 2007052783A JP 2006219152 A JP2006219152 A JP 2006219152A JP 2006219152 A JP2006219152 A JP 2006219152A JP 2007052783 A JP2007052783 A JP 2007052783A
Authority
JP
Japan
Prior art keywords
model
architectural state
component
hardware description
system level
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.)
Pending
Application number
JP2006219152A
Other languages
English (en)
Inventor
Simon Yoon
ユン サイモン
Chulho Shin
シン チュルホ
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.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines 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 ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of JP2007052783A publication Critical patent/JP2007052783A/ja
Pending legal-status Critical Current

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)
  • Debugging And Monitoring (AREA)

Abstract

【課題】データ処理装置の動作をシミュレートするための改良された技術を提供すること。
【解決手段】データ処理装置の動作を共同シミュレートするための技術が提供される。このシミュレートするシステムはハードウェアデスクリプションモデルとシステムレベルモデルを含み、このシステムレベルモデルは、ハードウェアデスクリプションモデルの対応するアーキテクチャステートコンポーネントによって記憶されるアーキテクチャステートの表示を記憶する少なくとも1つのシャドーアーキテクチャステートコンポーネントを含む。シャドーアーキテクチャステートコンポーネントにより、対応するアーキテクチャステートコンポーネントに記憶されるアーキテクチャステートの変化も記憶される。
【選択図】図1

Description

本発明はデータ処理装置のシミュレーションに関する。本発明の実施例はハードウェアデスクリプションモデルおよびシステムレベルモデルの双方を使ったデータ処理装置の動作をシミュレーションする方法に関する。
開発環境では、データ処理装置の動作の特性を決定しなければならないケースが多い。データ処理装置の動作特性を理解するためにデータ処理装置の動作をシミュレートするための装置は公知であり、かかるシミュレーション技術の1つは、データ処理装置を示すソフトウェアモデルを使用しており、このソフトウェアモデルはデータ処理装置の各コンポーネントユニットを一般にモデル化するものである。異なる動作条件下のデータ処理装置のコンポーネントユニット間の予想される相互作用を検査するのにソフトウェアモデルを使用できる。
異なるレベルの抽象化でのデータ処理装置の動作挙動をモデル化することは知られている。異なるレベルの抽象化でモデル化することによって種々の利点と欠点が生じる。一般に高いレベルの抽象化でのモデル化は、データ処理装置の動作に関する少ない情報しか提供できないが、このモデルは比較的迅速に実行できる。一方より低いレベルの抽象化でのモデル化は、データ処理装置の詳細や動作に関する情報をより多く提供できるが、これらモデルは一般に実行に長い時間がかかる。
開発環境下では、現在のコンポーネントユニットを変更した後、または新しいコンポーネントユニットを導入した後に、データ処理装置の動作特性を決定しなければならないケースが多い。
これら状況下では、コンポーネントユニットの特定のハードウェア実現例を示すことができる、より低いレベルの抽象化モデル、例えばRTLモデルがデータ処理装置のコンポーネントユニットに対して既に利用できる状況にある。しかしながら、新しいコンポーネントユニットまたは変更されたコンポーネントユニットに対しては、かかるRTLモデルはまだ利用できない。
従って、より高いレベルの抽象化、例えばC言語のような言語でプログラムされたシステムレベルまたはトランザクションレベルモデルで新しいコンポーネントユニットが一般にまずモデル化される。このコンポーネントユニットが正しく動作することが明らかになると、その後、RTLモデルを開発できる。
これら2つのモデル化は例えば所定の命令シーケンスに応答するとき、データ処理装置の動作を共に同時にシミュレートするようになっている。一方のモデルから、他方のモデルが必要とする適当な情報を、2つのモデル間で互いにやりとりできるようにする機構を設けることにより、共同シミュレーション中にRTLモデルおよびシステムレベルモデルが正しく機能できるようにするために、当技術分野で知られている種々の標準的技術が使用される。これら機構、例えばトランスレータインターフェースは、共同シミュレーションが実行されている間、自動的に動作する。このように、命令シーケンスに応答するデータ処理装置の動作の特性を決定することができる。
ユーザーが異なるモデルと相互対話できるようにするツールも提供されている。例えばユーザーがシステムレベルモデルから情報を得て、命令シーケンスに応答するシステムレベルモデルの動作の特性を決定できるようにするツール、例えばデバッグツールが提供されている。更にユーザーがRTLモデルから情報、例えばアーキテクチャルステート情報を得て、命令シーケンスに応答するモデルの動作を決定できるようにするツールも提供されている。
しかしながら、デバッグツールが、命令シーケンスに応答するデータ処理装置のアーキテクチャルステートに関する役に立つ情報をシステムレベルモデルから入手することは困難である。特にシステムレベルモデル自体からメモリロケーションのステータス、レジスタのステータス、特定のパスでアサートされるロジックレベルまたはデータ処理装置内のその他のアーキテクチャルステート情報に関する情報を決定することはできない。
理論的にはこれらすべての情報はRTLモデルから入手できるが、デバッグ中に生じるようにモデルが実行を中止しているときに、トランスレータ機構はシステムレベルモデルからの情報にアクセスできない。従って、システムレベルモデルに関連したツールを使って命令に応答するデータ処理装置のアーキテクチャステートを詳細に理解することは容易ではない。
更に、RTLモデルに関連したツールを使ってデータ処理装置のアーキテクチャステートを正確に理解することは可能であるが、アーキテクチャステートの特定の個々のアイテムとを特定の個々の命令との関係(この関係が生じる場合には)を理解することは困難である。
従って、2つのモデルからの情報を有意義に相互に相関させることが困難であるという問題が生じる。このことは、共同シミュレーション方法を使ったときにデータ処理装置の動作に対する命令シーケンスの効果をユーザーが決定できる能力を制限する。
この問題を解消しようとする一部の技術が存在するが、共同シミュレーション中にこれら方法は、モデルの性能に大きな影響を与える。
従って、データ処理装置の動作をシミュレートするための改良された技術を提供することが望まれている。
本発明の第1の様相によれば、ある命令シーケンスを実行するときの、データ処理装置の動作をシミュレートする方法であって、前記データ処理装置が複数のユニットを備え、該ユニットの各々が前記命令シーケンスに応答して発生され前記ユニットに関連するアーキテクチャステートを有する、データ処理装置の動作をシミュレートするための方法において、前記複数のユニットの少なくとも1つに対応するハードウェアデスクリプションコンポーネントを備えたハードウェアデスクリプションモデルを提供するステップを備え、前記各ハードウェアデスクリプションコンポーネントが前記ユニットのハードウェア特性を表わすハードウェア特性コンポーネント、および前記命令シーケンスに応答して発生した前記ユニットに関連するアーキテクチャステートの表示を記憶するためのアーキテクチャステートコンポーネントを備え、前記複数のユニットの少なくとも1つの他のユニットに対応するシステムレベルコンポーネントを備えたシステムレベルモデルを提供するステップを備え、前記システムレベルモデルが更に前記ハードウェアデスクリプションモデルの対応するアーキテクチャステートコンポーネントによって記憶されるアーキテクチャステートの表示を記憶するための、少なくとも1つのシャドーアーキテクチャステートコンポーネントを備え、前記ハードウェアデスクリプションモデルおよび前記システムレベルモデルを実行し、前記命令シーケンスを実行するときの前記データ処理装置の動作をシミュレートするステップと、前記対応するアーキテクチャステートコンポーネントに記憶されたアーキテクチャステートの変化を前記シャドーアーキテクチャステートコンポーネントによっても記憶させるようにするステップとを備えた、データ処理装置の動作をシミュレートするための方法が提供される。
本発明は、命令シーケンスに応答し、データ処理装置の動作を理解する上での問題の1つは、システムレベルモデルに関連したツールを使用したときに、ハードウェアデスクリプションモデル内のアーキテクチャステートに関係する情報を得ることが困難であることを認識するものである。
従って、システムレベルモデルにはシャドーアーキテクチャステートコンポーネントが設けられる。このシャドーアーキテクチャステートコンポーネントはハードウェアデスクリプションモデルによってモデル化されたユニットのうちの1つ以上に関連するアーキテクチャステートの一部またはすべてを記憶する。システムレベルモデル内にこのシャドーアーキテクチャステートコンポーネントを設けることにより、システムレベルモデルに関連するツールを使用してシステムレベルコンポーネントからの情報と組み合わせて、このアーキテクチャステートのステータスを容易に決定できる。このように、命令シーケンスに応答してハードウェアデスクリプションモデルによって発生されるアーキテクチャステートとシステムレベルコンポーネントのステータスとを容易に相関化することができる。これによってモデルの有効性および使用の容易性が大幅に改善される。
更に、ハードウェアデスクリプションモデル内にアーキテクチャステートを記憶するためのアーキテクチャステートコンポーネントおよびシステムレベルモデル内にアーキテクチャステートを記憶するための1つ以上のシャドーアーキテクチャステートコンポーネントの双方を設けることにより、ハードウェアデスクリプションレベルモデルの性能が比較的変更されない状態のままになる。その理由は、ハードウェアデスクリプションモデルドメイン内では、ハードウェアデスクリプションレベルモデルが必要とするアーキテクチャステート情報に依然としてアクセス可能であるからである。
更に、アーキテクチャステートコンポーネント内のアーキテクチャステートを更新するときに、シャドーアーキテクチャステートコンポーネントにアーキテクチャステートを記憶させるだけで、ハードウェアデスクリプションモデルとシステムレベルモデルとの間の更新の回数を、ハードウェアデスクリプションモデルの現在のステートの表示をするのに必要な最小の回数まで少なくすることができる。このように、2つのモデルの間で伝送しなければならない更新回数を少なくすることにより、これらモデルの性能が大幅に改善される。
一実施例では、本方法は、前記システムレベルコンポーネントおよび前記少なくとも1つのシャドーアーキテクチャステートコンポーネントにアクセスするようになっているソフトウェアデバッガーを設けるステップを更に備える。
従って、一般にシステムレベルモデルに関連するソフトウェアデバッガーは、シャドーアーキテクチャステートコンポーネントからハードウェアデスクリプションモデル内のアーキテクチャステートの細部とシステムレベルコンポーネントの双方に容易にアクセスできる。
一実施例では、本方法は、前記ソフトウェアデバッガーからのリクエストに応答し、前記システムレベルモデルおよび前記ハードウェアデスクリプションモデルの実行を中止するステップを更に備える。
従って、ソフトウェアデバッガーがモデルの動作を終了させるときでも、ハードウェアデスクリプションモデル内のアーキテクチャステートとシステムレベルコンポーネントの双方を、システムレベルモデルから利用できる。
一実施例では、本方法は、前記ハードウェアデスクリプションモデルによって記憶されるアーキテクチャステートの詳細を、前記ソフトウェアデバッガーによって決定できるように、前記システムレベルコンポーネントおよび前記少なくとも1つのシャドーアーキテクチャステートコンポーネントにアクセスするステップを更に備える。
従って、ソフトウェアデバッガーはモデルの動作が中止していても、ハードウェアデスクリプションモデル内のアーキテクチャステートとシステムレベルコンポーネントの双方に直接アクセスする。
一実施例では、前記実行するステップは、前記システムレベルモデルおよび前記ハードウェアデスクリプションモデルを共同シミュレートすることを含む。
一実施例では、前記アーキテクチャステートが更新されるときに、前記アーキテクチャステートの変化を記憶させるステップは、前記ハードウェアデスクリプションモデルからの関数の呼び出しを実行することを含む。
従って、アーキテクチャステートを更新するときにしか、更新の指示をアーキテクチャステートにするためのハードウェアデスクリプションモデルからの関数の呼び出しを行わない。
一実施例では、前記アーキテクチャステートが変更されるときに、前記アーキテクチャステートの変化を記憶させるステップは、前記ハードウェアデスクリプションモデルからのプログラミング言語インターフェース関数の呼び出しを実行することを含む。
従って、関数の呼び出しはハードウェアデスクリプションモデル内からのプログラム言語インターフェース関数の呼び出しの形態をとり得る。
一実施例では、前記少なくとも1つのシャドーアーキテクチャステートコンポーネントは、前記プログラミング言語インターフェース関数の呼び出しに応答し、前記ハードウェアデスクリプションモデルの前記対応するアーキテクチャステートコンポーネントで更新されたアーキテクチャステートの前記表示を記憶する。
従って、システムレベルモデルは、関数の呼び出しに応答し、更新されたアーキテクチャステートをシャドーアーキテクチャステートコンポーネントに記憶させる。
一実施例では、各アーキテクチャステートコンポーネントは、前記ユニットによって提供される記憶装置の表示を記憶する。
この記憶装置は任意の数の異なる記憶素子または記憶アイテムを含むことができると理解できよう。
一実施例では、前記記憶装置は、前記ユニットによって提供されるメモリ領域およびレジスタのうちの少なくとも1つを含む。
従って、この記憶装置は1つ以上のメモリロケーションまたは領域、もしくはレジスタまたはフラグにも関連することができ、または記憶能力を提供するその他の論理素子にも関連できる。
一実施例では、各アーキテクチャステートコンポーネントは、前記ユニットによって提供される信号レベルの表示を記憶する。
従って、記憶装置に関連するアーキテクチャステートを提供できるだけでなく、個々のパス、バスまたはロジックユニットのアーキテクチャステートも提供できる。
一実施例では、前記システムレベルモデルは、トランザクションレベルモデルを含む。
かかるトランザクションレベルは時々電子システムレベルモデルと称される。
一実施例では、前記システムレベルモデルは、Cプログラム言語モデルを含む。
一実施例では、前記ハードウェアデスクリプションモデルは、RTLモデルを含む。
本発明の第2の特徴によれば、ある命令シーケンスを実行するときの、データ処理装置の動作をシミュレートするシステムであって、前記データ処理装置が複数のユニットを備え、該ユニットの各々が前記命令シーケンスに応答して発生され、前記ユニットに関連するアーキテクチャステートを有する、データ処理装置の動作をシミュレートするためのシステムにおいて、前記複数のユニットの少なくとも1つに対応するハードウェアデスクリプションコンポーネントを備えたハードウェアデスクリプションソフトウェアモデルを提供するステップを備え、前記各ハードウェアデスクリプションコンポーネントが前記ユニットのハードウェア特性を表現するハードウェア特性コンポーネントおよび前記ユニットに関連するアーキテクチャステートの表示を記憶するためのアーキテクチャステートコンポーネントを備え、前記複数のユニットの少なくとも1つの他のユニットに対応するシステムレベルコンポーネントを備えたシステムレベルモデルを備え、前記システムレベルモデルが更に前記ハードウェアデスクリプションモデルの対応するアーキテクチャステートコンポーネントによって記憶されるアーキテクチャステートの表示を記憶するための、少なくとも1つのシャドーアーキテクチャステートコンポーネントを備え、前記ハードウェアデスクリプションモデルおよび前記システムレベルモデルが、前記命令シーケンスを実行するときの前記データ処理装置の動作をシミュレートすると共に、前記命令シーケンスに応答して発生され、前記対応するアーキテクチャステートコンポーネントに記憶されたアーキテクチャステートの変化を前記シャドーアーキテクチャステートコンポーネントによっても記憶されるように動作する、データ処理装置の動作をシミュレートするためのシステムが提供される。
本発明の第3の特徴によれば、ある命令シーケンスを実行するときの、データ処理装置の動作をシミュレートするときのコンピュータプログラムであって、前記データ処理装置が複数のユニットを備え、前記ユニットの各々が前記命令シーケンスに応答して発生され、前記ユニットに関連するアーキテクチャステートを有する、データ処理装置の動作をシミュレートするためのコンピュータプログラムにおいて、前記複数のユニットのうちの少なくとも1つに対応するハードウェアデスクリプションコンポーネントを備えたハードウェアデスクリプションモデルを備え、各ハードウェアデスクリプションコンポーネントが前記ユニットのハードウェア特性を表示するハードウェア特性コンポーネントと、前記命令シーケンスに応答して発生される前記ユニットに関連したアーキテクチャステートの表示を記憶するためのアーキテクチャステートコンポーネントとを備え、前記ハードウェアデスクリプションモデルが前記複数のユニットのうちの少なくとも1つの他のユニットに対応するシステムレベルコンポーネントを備えたシステムレベルモデルと共に実行されるときに、前記命令シーケンスを実行している前記データ処理装置の動作をシミュレートするようになっており、前記ハードウェアデスクリプションモデルが、前記対応するアーキテクチャステートコンポーネントに記憶されたアーキテクチャステートの変化を前記システムレベルモデルのシャドーアーキテクチャステートコンポーネントによっても記憶されるようにする、データ処理装置の動作をシミュレートするためのコンピュータプログラムが提供される。
本発明の第4の特徴によれば、ある命令シーケンスを実行するときの、データ処理装置の動作をシミュレートするときのコンピュータプログラムであって、前記データ処理装置が複数のユニットを備え、前記ユニットの各々が前記命令シーケンスに応答して発生され、前記ユニットに関連するアーキテクチャステートを有する、データ処理装置の動作をシミュレートするためのコンピュータプログラムにおいて、前記複数のユニットの少なくとも1つに対応するシステムレベルコンポーネントを備えたシステムレベルモデルを備え、前記システムレベルモデルがハードウェアデスクリプションモデルのアーキテクチャステートコンポーネントによって記憶されるアーキテクチャステートの表示を記憶するようになっている少なくとも1つのシャドーアーキテクチャステートコンポーネントを更に備え、前記システムレベルモデルが、前記ハードウェアデスクリプションモデルと共に実行されるときに、前記命令シーケンスを実行中の前記データ処理装置の動作をシミュレートするようになっており、前記システムレベルモデルが前記ハードウェアデスクリプションモデルから受信したアーキテクチャステートの変化を前記シャドーアーキテクチャステートコンポーネントに記憶するようになっている、データ処理装置の動作をシミュレートするためのコンピュータプログラムが提供される。
従って、添付図面に示された好ましい実施例を参照しながら、単なる例示に基づき、本発明について更に説明する。
図1は、一実施例に係わる、全体が番号10で示されたモデル化システムを示す。
既に述べたように、代表的なデータ処理装置の開発シナリオでは、そのデータ処理システムのコンポーネントユニットの設計および実施の特徴を決定し、改良するのを助けるためのモデルが使用される。ほとんどのコンポーネントユニットは、まず、例えばC言語を使ってプログラムされたシステムレベルモデルを使って、より高いレベルでモデル化される。その設計において、一旦確実性が得られると、次に、例えばレジスター転送ロジック(RTL:register transfer logic)を使用してプログラムされたハードウェアデスクリプションモデルを使って、より低いレベルで各コンポーネントユニットをモデル化する。従って、このモデル化システム10は、C環境20とRTL環境30とを有する。
これら2つのモデルを共同シミュレーションすることは各モデルを、より高いシミュレーションからRTLへの移行をスムーズにすることを助ける。他のコンポーネントユニットを示す他のモデルと共に、新しい各RTLモデルを導入し、シミュレートすることができる。この移行段階では、RTL環境の実証が強調される。一般に、テストされるのはRTLモデルであり、そのモデルの動作を囲むすべてのハードウェアの事象を捕捉することが重要である。従って、RTL環境30内ですべてのアーキテクチャステート情報を維持することが一般に望ましい。その理由は、このようにすることによって、実証目的およびデバッグ目的のためにすべてのRTL情報を存在させることが可能であるからである。
しかしながら、効率的なデバッギングを行うには、できるだけ可視度を大きくすることが重要である。RTL環境30内ではRTLシミュレータ(図示せず)によりハードウェア可視性が得られるが、C環境20からのデバッグ可視性によってRTL環境30内でモデル化されるアーキテクチャステートとハードウェア事象との相関性を理解できるようにすることも重要である。このような可視性を得るにはC環境において外部埋め込みソフトウェアデバッガー(図示せず)を使ったソフトウェアビュー(view)およびRTLモデルに含まれるアーキテクチャステートのビューを提供しなければならない。以下、より詳細に説明するように、このことはC環境20に、ミラー状態のバーチャルな、すなわちシャドーステートコンポーネント140を維持することによって達成できる。
次の説明はアービター(arbiter)を介して、いくつかのスレーブユニットS1〜S3と結合され相互接続されたいくつかのマスターユニットM1〜M3を備えたデータ処理装置を共同シミュレートするモデルの構造の一例について説明するものである。しかしながら、他の構造例にも同じ技術を使用できることが理解できよう。この例では、システムレベルモデル40を利用できるマスターユニットM1を除くすべてに対しRTLモデルが存在する。しかしながら、C環境20では1つ以上の他のモデルもモデル化できると理解できよう。次の例は、デバッグの目的のためにはスレーブユニットS1〜S3に関連するメモリ領域しか関心を払わないと仮定するものである。その理由は、これら領域のコンテントは、更新時にシャドーステートコンポーネント140内にも記憶されるからである。しかしながら、シャドーステートコンポーネント140にはRTLモデルのいずれかに関連するその他のアーキテクチャステート情報を提供できることが理解できよう。
従って、C環境20内では開発中のデータ処理装置のコンポーネントユニットM1のシステムレベルモデル40が提供される。コンポーネントユニットM1はデータ処理装置の新しいか、または変更されたコンポーネントユニットでよい。サイクルに基づくシミュレーションエンジン(図示せず)を利用する、サイクルに基づくSystemCシミュレーション環境であるMaxSimを使ってシステムレベルモデル40は生成される。システムモデル40は、当業者で公知のようなコンポーネントユニットM1の特性を示す。この例では、システムレベルモデル40によって示されるコンポーネントユニットM1はプロセッサコアである。しかしながら、システムレベルモデル40は、データ処理装置のその他のユニット(単数または複数)を示すことができると理解できよう。
シミュレートされるデータ処理装置の特性を調査するときの、システムレベルモデル40によって実行すべきソフトウェアコードの例を含むソフトウェアコード50も提供される。このソフトウェアコード50はC環境20内ではシステムレベルモデル40と相互作用するように示されているが、ソフトウェアコード50はその代わりにRTL環境30または2つの環境の組み合わせ内でも提供できることが理解できよう。
システムレベルモデル40とトランスレータ60とが結合されており、トランスレータ60は、RTL環境30内のモデルが必要とするシステムレベルモデル60によって提供される任意のデータを受信するようになっている。トランスレータ60は、このデータをRTL環境30内のモデルによる使用に適した形態に変換する。同様に、トランスレータ60は、RTL環境30から得られたデータをC環境20内のシステムレベルモデル40によって使用するために変換する。共同シミュレーション中に使用されるかかるトランスレータは当技術分野では周知のものである。
RTL環境30は、データ処理装置の残りのコンポーネントユニットをモデル化する多数のRTLモデル70〜130を含む。各RTLモデル70〜130は2つのRTLコンポーネント、すなわちハードウェアRTLコンポーネントおよびアーキテクチャステートのRTLコンポーネントを一般に含む。ハードウェアRTLコンポーネントは、そのコンポーネントユニットの特定のハードウェア特性をモデル化する。アーキテクチャステートのRTLコンポーネントは、そのコンポーネントユニットのそのときのアーキテクチャステートを示す。例えばメモリシステムのRTLモデルでは、そのモデルのハードウェアRTLコンポーネントがビットおよびワードラインの特性およびそのメモリシステム内のセルの特性と共に、バスの特定のハードウェア構造および多重化構造を示すことができる。アーキテクチャステートのRTLコンポーネント内には、バス、マルチプレクサおよびその他のラインもしくはロジックユニットのステートと共に、メモリセル内に記憶されたデータを示す情報が記憶される。例えばRTLモデル110〜130によって示されるスレーブユニットS1〜S3は、これらに関連するアーキテクチャステート情報A1〜A3を有する。他のRTLモデル70〜100も、これらに関連するアーキテクチャステート情報を有する。しかしながら、これらについては説明を明確にするために省略されている。
既に述べたように、C環境20内にはRTLモデル70〜130のいずれかから得られるアーキテクチャステート情報を記憶するようになっているシャドーアーキテクチャステートコンポーネント140が設けられている。この構造例では、シャドーステートコンポーネント140はスレーブユニットS1〜S3をモデル化する、RTLモデル110〜130に関連したアーキテクチャステート情報A1〜A3を記憶する。特にこの構造では、シャドーステートコンポーネント140は、スレーブユニットS1〜S3に関連する当該メモリ領域からのステート情報を記憶する。しかしながら、シャドーステートコンポーネント140は、RTLモデル70〜130のいずれかに関連するアーキテクチャステート情報のすべてまたは任意のサブセットを記憶できることが理解できよう。
RTLモデル内のどのアーキテクチャステートに関心があるかが決定されると、当該アーキテクチャステートを変更するときたは更新するときに生じるプログラム言語インターフェース(PLI)の関数の呼び出しを含むように、これらRTLモデルに注釈が付けられる。アーキテクチャステートを変更するときに、PLIの関数の呼び出しをアクティブにするだけで、実行に必要なPLI関数の呼び出しの回数が、C環境20内のアーキテクチャステートの正確な記録を維持できるようにする最小の回数となることが理解できよう。これによって大きな性能上の利点が得られる。その理由は、かかるPLI関数の呼び出しの発生は、RTLモデルの性能を劣化し得るからである。
アーキテクチャステートをRTLモデルからシャドーステートコンポーネントに140にミラー化するために、PLI関数の呼び出しを使用することにより、RTL環境30およびC環境20の双方において、アーキテクチャステートの一貫したビューを提供することが可能となる。従って、C環境20内でアーキテクチャステートを完全に理解でき、これによってシステムレベルモデル40をRTLに書き込んだり、または逆にRTLモデル70〜130をC言語に書き直したりする必要がなくなる。
従って、RTLモデル70〜130が必要とするアーキテクチャステート情報はRTL環境30内に留まる。これによってRTLモデルが必要とする情報は、まだRTL環境30内に留まるので、RTLモデルの実行速度が過度に変化しないことが保証される。しかしながら、C環境内のツールが必要とするすべての情報は、C環境内のツールの効用を大幅に高めるシャドーステートコンポーネント140によって提供される。RTLモデルによるシャドーステートコンポーネント140に対する更新は、そのステートが変化するとき、例えばRTL内でモデル化されたアドレス領域にアクセスされ、更新されるときにしか行われないので、RTLモデルの全体の動作に対する性能の影響が最小となる。
C環境20内では、種々のデバッガーおよびプロファイリングツール、例えばMaxSimデバッグインターフェースおよびMaxSimプロファイリングインターフェース150が設けられている。MaxSimデバッグインターフェースはユーザーに対し、コンポーネント、システムおよびソフトウェアの可視性を提供するためのメカニズムである。MaxSimデバッグインターフェースがイネーブルされると、このインターフェースは共同シミュレーションを中止し、C環境20内のアイテムを試す非侵襲的なゼロ遅延のアクセスによってアーキテクチャステートまたはリソースに関する情報を検索できるようにすると、この情報はMaxSimデバッグインターフェースウィンドーにディスプレイされる。かかる情報は、レジスターおよびメモリ領域のステートを含む。プロセッサモデルのために、ソフトウェア中心の可視性を提供するよう、外部ソフトウェアデバッガー(例えばARMリアルビューデバッガー(図示せず))を取り付けることができる。シャドーステートコンポーネント140を試すことにより、MaxSimデバッグインターフェースおよびMaxSimプロファイリングインターフェース150から、RTL環境30内にデバッグアクセスが認められないという制限を克服することができるので、RTL環境30内に常駐する任意のモデルに対し、MaxSimデバッグインターフェースおよびMaxSimプロファイリングインターフェース150の特徴を実現することができる。例えばMaxSimデバッグインターフェースとMaxSimプローブインターフェース150は、RTLモデルのアーキテクチャステートに対するコードの効果と共に、マスターユニットM1でのソフトウェアコードの実行に関する情報を相関化できる。これによって大きな利点が得られることが理解できよう。
図2は、図1に示されたモデル化システム10の動作を示すフローチャートである。
準備段階中にステップS10にてシステムCおよびRTLモデルが提供される。
その後、ステップS20にて、シミュレートされるべきコードが提供される。これによって準備段階が終了する。
その後、共同シミュレーション段階に入る。従って、ステップS30にて、コード内の命令がモデルによって共同シミュレートされる。
ステップS40にて、当該アーキテクチャステートが変化しているので、PLI関数の呼び出しを行うかどうかの判断がRTLモデルのうちの1つ以上によって行われる。アーキテクチャステートが変化している場合に、起動すべきモデル内で、かかるPLI関数の呼び出しが行われた状況において、この判断をRTLモデルによって自動的に行うことができることが理解できよう。
当該アーキテクチャステートが変更されていない場合、ステップS30に進み、ここで次の命令が共同シミュレートされる。
当該アーキテクチャステートが変更されていると判断された場合、ステップS50に進み、ここで、このような変化と共にシャドーステートコンポーネント140を更新させるPLI関数の呼び出しが行われる。
その後、ステップS30に進み、ここで次の命令が共同シミュレートされる。
この共同シミュレート段階はコードが実行を終了させるか、または共同シミュレーションを中止させるようなデバッグまたはその他の外部事象が生じるまで続く。
デバッグリクエストが生じた場合、デバッガー150はステップS60で起動し、ステップS70にてMaxSimデバッグインターフェースおよびMaxSimプロファイリングインターフェース150が情報、例えばコード50、システムモデル40およびシャドーステートコンポーネント140のコンテントに関連する情報を分析し、ユーザーが必要とする態様でこの情報を提供する。
その後、共同シミュレーションを再開始でき、この場合、ステップS30に進む。これとは異なり、モデルまたはコードを更新してもよく、この場合、ステップS10またはステップS20のいずれかに進む。
従って、システムレベルモデルにはシャドーアーキテクチャステートコンポーネントが設けられ、このシャドーアーキテクチャステートコンポーネントは、ハードウェアデスクリプションモデルによってモデル化されたユニットのうちの1つ以上に関連するアーキテクチャステートの一部またはすべてを記憶する。システムレベルモデル内にこのシャドーアーキテクチャステートコンポーネントを設けることにより、システムレベルモデルに関連するツールを使用するシステムレベルのコンポーネントからの情報と組み合わせて、このアーキテクチャステートのステータスを容易に決定できる。このように、命令のシーケンスに応答し、ハードウェアデスクリプションモデルによって発生されたアーキテクチャステートとシステムレベルのコンポーネントのステータスとの間の相関化を容易に行うことができる。このことは、モデルの有効性および使用の容易さを大幅に改善できる。
従って、データ処理装置の動作を共同シミュレートするための技術が提供される。このシステムレベルモデルは、ハードウェアデスクリプションモデルの対応するアーキテクチャステートコンポーネントによって記憶されるアーキテクチャステートの表示を記憶する少なくとも1つのシャドーアーキテクチャステートコンポーネントを含む。シャドーアーキテクチャステートコンポーネントにより、対応するアーキテクチャステートコンポーネントに記憶されるアーキテクチャステートの変化も記憶される。ハードウェアデスクリプションモデル内にアーキテクチャステートを記憶するためのアーキテクチャステートコンポーネントおよびシステムレベルモデル内にアーキテクチャステートを記憶するための1つ以上のシャドーアーキテクチャステートコンポーネントの双方を設けることにより、ハードウェアデスクリプションモデルドメイン内にて、ハードウェアデスクリプションレベルモデルが必要とするアーキテクチャステート情報に、まだアクセス可能であることが保証される。更に、アーキテクチャステートコンポーネント内のアーキテクチャステートが更新されるときに、アーキテクチャステートをシャドーアーキテクチャステートコンポーネントが記憶するようにするだけで、ハードウェアデスクリプションモデルとシステムレベルモデルとの間の更新の回数を、ハードウェアデスクリプションモデルの現在のステートの表示を提供するのに必要な数となるように最小にできる。2つのモデルの間で通信するのに必要な更新回数が低減することによって、これらモデルの性能が大幅に改善されることが理解できよう。
以上で、本発明の特定の実施例について説明したが、本発明はこの実施例だけに限定されないこと、および発明の範囲内で多くの変形および追加を行うことが可能であることが明らかとなろう。例えば本発明の範囲から逸脱することなく、独立請求項の特徴事項と従属請求項の特徴事項とを種々に組み合わせることが可能である。
一実施例に係わるデータ処理装置の動作をシミュレートするためのモデルを示すブロック略図である。 図1のモデルの動作を示すフローチャートである。
符号の説明
10 モデル化システム
20 C環境
30 RTL環境
40 システムレベルモデル
50 ソフトウェアコード
60 トランスレータ
70〜130 RTLモデル
140 シャドーステートコンポーネント
A1〜A3 アーキテクチャステート情報
S1〜S3 スレーブユニット

Claims (30)

  1. ある命令シーケンスを実行するときのデータ処理装置の動作をシミュレートする方法であって、前記データ処理装置が複数のユニットを備え、該ユニットの各々が前記命令シーケンスに応答して発生され、前記ユニットに関連するアーキテクチャステートを有する、データ処理装置の動作をシミュレートするための方法において、
    前記複数のユニットの少なくとも1つに対応するハードウェアデスクリプションコンポーネントを備えたハードウェアデスクリプションモデルを提供するステップであって、前記各ハードウェアデスクリプションコンポーネントが前記ユニットのハードウェア特性を表現するハードウェア特性コンポーネントおよび前記命令シーケンスに応答して発生した、前記ユニットに関連するアーキテクチャステートの表示を記憶するためのアーキテクチャステートコンポーネントを備えるステップと、
    前記複数のユニットの少なくとも1つの他のユニットに対応するシステムレベルコンポーネントを備えたシステムレベルモデルを提供するステップであって、前記システムレベルモデルが更に前記ハードウェアデスクリプションモデルの対応するアーキテクチャステートコンポーネントによって記憶されるアーキテクチャステートの表示を記憶するための、少なくとも1つのシャドーアーキテクチャステートコンポーネントを備えるステップと、
    前記ハードウェアデスクリプションモデルおよび前記システムレベルモデルを実行し、前記命令シーケンスを実行するときの前記データ処理装置の動作をシミュレートするステップと、
    前記対応するアーキテクチャステートコンポーネントに記憶されたアーキテクチャステートの変化を前記シャドーアーキテクチャステートコンポーネントによっても記憶させるようにするステップとを備えた、データ処理装置の動作をシミュレートするための方法。
  2. 前記システムレベルコンポーネントおよび前記少なくとも1つのシャドーアーキテクチャステートコンポーネントにアクセスするように動作可能なソフトウェアデバッガーを設けるステップを更に備えた、請求項1記載の方法。
  3. 前記ソフトウェアデバッガーからのリクエストに応答し、前記システムレベルモデルおよび前記ハードウェアデスクリプションモデルの実行を中止するステップを更に備えた、請求項2記載の方法。
  4. 前記ハードウェアデスクリプションモデルによって記憶されるアーキテクチャステートの詳細を、前記ソフトウェアデバッガーによって決定できるように、前記システムレベルコンポーネントおよび前記少なくとも1つのシャドーアーキテクチャステートコンポーネントにアクセスするステップを更に備えた、請求項3記載の方法。
  5. 前記実行するステップが、前記システムレベルモデルおよび前記ハードウェアデスクリプションモデルを共同シミュレートすることを含む、請求項1記載の方法。
  6. 前記アーキテクチャステートが更新されるときに、前記アーキテクチャステートの変化を記憶させるステップが、前記ハードウェアデスクリプションモデルからの関数の呼び出しを実行することを含む、請求項1記載の方法。
  7. 前記アーキテクチャステートが変更されるときに、前記アーキテクチャステートの変化を記憶させるステップが、前記ハードウェアデスクリプションモデルからのプログラミング言語インターフェース関数の呼び出しを実行することを含む、請求項1記載の方法。
  8. 前記少なくとも1つのシャドーアーキテクチャステートコンポーネントが、前記プログラミング言語インターフェース関数の呼び出しに応答し、前記ハードウェアデスクリプションモデルの前記対応するアーキテクチャステートコンポーネントで更新されたアーキテクチャステートの前記表示を記憶する、請求項7記載の方法。
  9. 各アーキテクチャステートコンポーネントが、前記ユニットによって提供される記憶装置の表示を記憶する、請求項1記載の方法。
  10. 前記記憶装置が、前記ユニットによって提供されるメモリ領域およびレジスタのうちの少なくとも1つを含む、請求項9記載の方法。
  11. 各アーキテクチャステートコンポーネントが、前記ユニットによって提供される信号レベルの表示を記憶する、請求項1記載の方法。
  12. 前記システムレベルモデルが、トランザクションレベルモデルを含む、請求項1記載の方法。
  13. 前記システムレベルモデルが、Cプログラミング言語モデルを含む、請求項1記載の方法。
  14. 前記ハードウェアデスクリプションモデルが、RTLモデルを含む、請求項1記載の方法。
  15. ある命令シーケンスを実行するときの、データ処理装置の動作をシミュレートするシステムであって、前記データ処理装置が複数のユニットを備え、該ユニットの各々が前記命令シーケンスに応答して発生され、前記ユニットに関連するアーキテクチャステートを有する、データ処理装置の動作をシミュレートするためのシステムにおいて、
    前記複数のユニットの少なくとも1つに対応するハードウェアデスクリプションコンポーネントを備えたハードウェアデスクリプションモデルであって、前記各ハードウェアデスクリプションコンポーネントが前記ユニットのハードウェア特性を表示するハードウェア特性コンポーネントおよび前記ユニットに関連するアーキテクチャステートの表示を記憶するためのアーキテクチャステートコンポーネントを備えるハードウェアデスクリプションモデルと、
    前記複数のユニットの少なくとも1つの他のユニットに対応するシステムレベルコンポーネントを備えたシステムレベルモデルであって、前記システムレベルモデルが更に前記ハードウェアデスクリプションモデルの対応するアーキテクチャステートコンポーネントによって記憶されるアーキテクチャステートの表示を記憶するための、少なくとも1つのシャドーアーキテクチャステートコンポーネントを備えるシステムレベルモデルとを含み、
    前記ハードウェアデスクリプションモデルおよび前記システムレベルモデルが、前記命令シーケンスを実行するときの前記データ処理装置の動作をシミュレートすると共に、前記命令シーケンスに応答して発生され、前記対応するアーキテクチャステートコンポーネントに記憶されたアーキテクチャステートの変化を前記シャドーアーキテクチャステートコンポーネントによっても記憶されるように動作する、データ処理装置の動作をシミュレートするためのシステム。
  16. 前記システムレベルコンポーネントおよび前記少なくとも1つのシャドーアーキテクチャステートコンポーネントにアクセスするように動作可能なソフトウェアデバッガーを更に備えた、請求項15記載のシステム。
  17. 前記ソフトウェアデバッガーが、前記システムレベルモデルおよび前記ハードウェアデスクリプションモデルの実行を中止するように動作可能な、請求項16記載のシステム。
  18. 前記ソフトウェアデバッガーが、前記ハードウェアデスクリプションモデルによって記憶されるアーキテクチャステートの詳細を、前記ソフトウェアデバッガーによって決定できるように、前記システムレベルコンポーネントおよび前記少なくとも1つのシャドーアーキテクチャステートコンポーネントにアクセスするように動作可能な、請求項17記載のシステム。
  19. 前記ソフトウェアデスクリプションモデルおよび前記システムレベルモデルが、前記命令シーケンスを実行するときの、前記データ処理装置の動作を共同シミュレートするように動作可能な請求項15記載のシステム。
  20. 前記アーキテクチャステートが更新されるときに、前記ハードウェアアデスクリプションモデルが、関数の呼び出しを実行するように動作可能な、請求項15記載のシステム。
  21. 前記アーキテクチャステートが変更されるときに、前記ハードウェアアデスクリプションモデルが、プログラミング言語インターフェース関数の呼び出しを実行するように動作可能な、請求項15記載のシステム。
  22. 前記少なくとも1つのシャドーアーキテクチャステートコンポーネントが、前記プログラミング言語インターフェース関数の呼び出しに応答し、前記ハードウェアデスクリプションモデルの前記対応するアーキテクチャステートコンポーネントで更新されたアーキテクチャステートの前記表示を記憶するように動作可能な、請求項20記載のシステム。
  23. 各アーキテクチャステートコンポーネントが、前記ユニットによって提供される記憶装置の表示を記憶するように動作可能な、請求項15記載のシステム。
  24. 前記記憶装置が、前記ユニットによって提供されるメモリ領域およびレジスタのうちの少なくとも1つを含む、請求項23記載のシステム。
  25. 各アーキテクチャステートコンポーネントが、前記ユニットによって提供される信号レベルの表示を記憶するように動作可能な請求項15記載のシステム。
  26. 前記システムレベルモデルが、トランザクションレベルモデルを含む、請求項15記載のシステム。
  27. 前記システムレベルモデルが、Cプログラミング言語モデルを含む、請求項15記載のシステム。
  28. 前記ハードウェアデスクリプションモデルが、RTLモデルを含む、請求項15記載のシステム。
  29. ある命令シーケンスを実行するときの、データ処理装置の動作をシミュレートするときのコンピュータプログラムであって、前記データ処理装置が複数のユニットを備え、前記ユニットの各々が前記命令シーケンスに応答して発生され、前記ユニットに関連するアーキテクチャステートを有する、データ処理装置の動作をシミュレートするためのコンピュータプログラムにおいて、
    前記複数のユニットのうちの少なくとも1つに対応するハードウェアデスクリプションコンポーネントを備えたハードウェアデスクリプションモデルを備え、
    各ハードウェアデスクリプションコンポーネントが前記ユニットのハードウェア特性を表示するハードウェア特性コンポーネントと、前記命令シーケンスに応答して発生される前記ユニットに関連したアーキテクチャステートの表示を記憶するためのアーキテクチャステートコンポーネントとを備え、
    前記ハードウェアデスクリプションモデルが前記複数のユニットのうちの少なくとも1つの他のユニットに対応するシステムレベルコンポーネントを備えたシステムレベルモデルと共に実行されるときに、前記命令シーケンスを実行している前記データ処理装置の動作をシミュレートするように動作可能であり、
    前記ハードウェアデスクリプションモデルが、前記対応するアーキテクチャステートコンポーネントに記憶されたアーキテクチャステートの変化を前記システムレベルモデルのシャドーアーキテクチャステートコンポーネントによっても記憶されるようにする、データ処理装置の動作をシミュレートするためのコンピュータプログラム。
  30. ある命令シーケンスを実行するときの、データ処理装置の動作をシミュレートするときのコンピュータプログラムであって、前記データ処理装置が複数のユニットを備え、前記ユニットの各々が前記命令シーケンスに応答して発生され、前記ユニットに関連するアーキテクチャステートを有する、データ処理装置の動作をシミュレートするためのコンピュータプログラムにおいて、
    前記複数のユニットの少なくとも1つに対応するシステムレベルコンポーネントを備えたシステムレベルモデルを備え、
    前記システムレベルモデルがハードウェアデスクリプションモデルのアーキテクチャステートコンポーネントによって記憶されるアーキテクチャステートの表示を記憶するように動作可能な少なくとも1つのシャドーアーキテクチャステートコンポーネントを更に備え、
    前記システムレベルモデルが、前記ハードウェアデスクリプションモデルと共に実行されるときに、前記命令シーケンスを実行中の前記データ処理装置の動作をシミュレートするように動作可能であり、
    前記システムレベルモデルが前記ハードウェアデスクリプションモデルから受信したアーキテクチャステートの変化を前記シャドーアーキテクチャステートコンポーネントに記憶するように動作可能な、データ処理装置の動作をシミュレートするためのコンピュータプログラム。
JP2006219152A 2005-08-12 2006-08-11 データ処理装置のシミュレーション Pending JP2007052783A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/202,363 US20070038431A1 (en) 2005-08-12 2005-08-12 Data processing apparatus simulation

Publications (1)

Publication Number Publication Date
JP2007052783A true JP2007052783A (ja) 2007-03-01

Family

ID=37743620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006219152A Pending JP2007052783A (ja) 2005-08-12 2006-08-11 データ処理装置のシミュレーション

Country Status (2)

Country Link
US (1) US20070038431A1 (ja)
JP (1) JP2007052783A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019533252A (ja) * 2016-10-25 2019-11-14 ザイリンクス インコーポレイテッドXilinx Incorporated デバッギングシステム及び方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392492B2 (en) * 2005-09-30 2008-06-24 Rambus Inc. Multi-format consistency checking tool
US10802852B1 (en) * 2015-07-07 2020-10-13 Cadence Design Systems, Inc. Method for interactive embedded software debugging through the control of simulation tracing components

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822564A (en) * 1996-06-03 1998-10-13 Quickturn Design Systems, Inc. Checkpointing in an emulation system
US5909450A (en) * 1996-11-15 1999-06-01 Altera Corporation Tool to reconfigure pin connections between a dut and a tester
US6141636A (en) * 1997-03-31 2000-10-31 Quickturn Design Systems, Inc. Logic analysis subsystem in a time-sliced emulator
US6865663B2 (en) * 2000-02-24 2005-03-08 Pts Corporation Control processor dynamically loading shadow instruction register associated with memory entry of coprocessor in flexible coupling mode
US6662325B1 (en) * 2000-10-05 2003-12-09 Sun Microsystems, Inc. Apparatus for on-line circuit debug using JTAG and shadow scan in a microprocessor
US7440884B2 (en) * 2003-01-23 2008-10-21 Quickturn Design Systems, Inc. Memory rewind and reconstruction for hardware emulator
CA2422161C (en) * 2003-03-14 2009-10-06 Ibm Canada Limited - Ibm Canada Limitee Decoupled object identification for object switching in database systems
US7131020B2 (en) * 2003-10-14 2006-10-31 Broadcom Corporation Distributed copies of configuration information using token ring

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019533252A (ja) * 2016-10-25 2019-11-14 ザイリンクス インコーポレイテッドXilinx Incorporated デバッギングシステム及び方法
JP7036814B2 (ja) 2016-10-25 2022-03-15 ザイリンクス インコーポレイテッド デバッギングシステム及び方法

Also Published As

Publication number Publication date
US20070038431A1 (en) 2007-02-15

Similar Documents

Publication Publication Date Title
US8180620B2 (en) Apparatus and method for performing hardware and software co-verification testing
US7899661B2 (en) Run-time switching for simulation with dynamic run-time accuracy adjustment
US9471727B2 (en) Simulation with dynamic run-time accuracy adjustment
US8725485B2 (en) Simulation method and simulation apparatus
CN1716264B (zh) 利用控制程序信息注释并呈现系统踪迹的方法和系统
JP4472615B2 (ja) プログラマブルデバイスのモデリング方法および装置
JP2003532192A (ja) 統合グラフィカルデバッギング機能を備える強化プログラマブルコアモデル
US7979822B2 (en) Apparatus and method for performing a sequence of verification tests to verify a design of a data processing system
US7788078B1 (en) Processor/memory co-exploration at multiple abstraction levels
JP2014154173A (ja) ランタイムにfpgaの信号値にランダムにアクセスするための方法、データ処理装置、コンピュータプログラム、ディジタル記憶媒体及びfpgaビルドの実施方法
CN108664380A (zh) 一种带性能显示的执行后软件调试系统及调试方法
US7895027B2 (en) HDL re-simulation from checkpoints
JP2008140405A (ja) 電子回路と制御プログラムとのコバリデーション方法
JP5034916B2 (ja) 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置
JP2004348606A (ja) 高位合成装置、ハードウェア検証用モデル生成方法およびハードウェア検証方法
EP3532936B1 (en) Debugging system and method
JP2007052783A (ja) データ処理装置のシミュレーション
US9658849B2 (en) Processor simulation environment
CN1312583C (zh) 仿真装置和仿真方法
US20090055155A1 (en) Simulating execution of software programs in electronic circuit designs
US10339229B1 (en) Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system
JP3214459B2 (ja) シミュレーション方法及び装置
US20230267253A1 (en) Automated synthesis of virtual system-on-chip environments
US11151294B1 (en) Emulated register access in hybrid emulation
JP2001256079A (ja) ソフトウェアのデバッグ方法および論理回路のデバッグ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120106