JP2006309575A - システムlsiシミュレーション装置 - Google Patents

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

Info

Publication number
JP2006309575A
JP2006309575A JP2005132618A JP2005132618A JP2006309575A JP 2006309575 A JP2006309575 A JP 2006309575A JP 2005132618 A JP2005132618 A JP 2005132618A JP 2005132618 A JP2005132618 A JP 2005132618A JP 2006309575 A JP2006309575 A JP 2006309575A
Authority
JP
Japan
Prior art keywords
hardware
debug information
mapped
debug
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005132618A
Other languages
English (en)
Other versions
JP2006309575A5 (ja
JP4498206B2 (ja
Inventor
Masahiro Ito
正博 伊藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005132618A priority Critical patent/JP4498206B2/ja
Publication of JP2006309575A publication Critical patent/JP2006309575A/ja
Publication of JP2006309575A5 publication Critical patent/JP2006309575A5/ja
Application granted granted Critical
Publication of JP4498206B2 publication Critical patent/JP4498206B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】 システムLSI内部のハードウェア動作を正確に把握してソフトウェアを効率的に開発・デバッグすることができるようにする。
【解決手段】 システム記述言語によりトランザクションレベルで記述された複数のシミュレーションモデルを含むシステムLSIシミュレーションにおいて、複数モジュールの連携動作デバッグ情報を容易に得ることができる、また、デバッグ機能を汎用性高く開発でき、様々なシステムにおいて再利用性できるシステムLSIシミュレーション装置等、を提供する。
【選択図】 図1

Description

本発明はシステムLSIシミュレーション装置に関し、特に、システム記述言語によりトランザクションレベルで記述された複数のシミュレーションモデルを含み、複数モジュールの連携デバッグ動作を行うために用いて好適な技術に関する。
従来、プロセス技術の進歩によりLSIの集積度が増大し、これまでボードで実現していたシステムをシステムLSIとして1チップ上に搭載することが可能となった。チップ上に搭載する機能モジュールも多様化し、回路規模が増大している。これに伴い、システムLSIを効率的に設計する手法として、従来の「Verilog-HDL」や「VHDL」といったハードウェア記述言語を使用した設計から、「SystemC」や「SpecC」といったシステム記述言語による設計が普及してきた。こういったシステム記述言語によるLSIの設計を行う従来例として、例えば特許文献1などがある。
システム記述言語による設計支援ツールとして、Synopsys社の「CoCentric」や、CoWare社の「ConvergenSC」が知られている。システム記述言語により記述したモジュールを、ブロック図入力画面で入力し、システムLSIの設計を行うことが可能になっている。 システムLSIの設計が終了すると、設計支援ツールからシミュレーションモデルを生成し、シミュレータを起動してシステムシミュレーションを行いシステムLSIの機能や性能を確認できるものである。実際のハードウェアを作成する前に、シミュレーションによりシステムの評価を行うことにより、仕様の不具合や性能不足を回避する。
システム記述言語によるモジュール記述には、記述の抽象度により以下の3種類の記述レベルが一般に知られている。
トランザクションレベル(TL):モジュール間のバス通信を捉えて機能を記述する抽象度レベルである。通信の開始および終了の時間、通信データにより動作するため、クロックに対する精度は低い。イベントにより機能をシミュレートするため、シミュレーション速度は非常に速い。システムとしての動作が実際のハードウェアと一致するため、システム全体の評価に適している。ARM社による定義では、さらに細かく分類すれておりPV(プログラマーズビュー)、PVT(プログラマーズビュー+タイミング)、CL(サイクルレベル)が相当する。
バスサイクルアキュレート(BCA):モジュールの入力と出力のイベントとして機能を記述する抽象度レベルである。動作クロックに対し、入力および出力部で正確にシミュレートすることができる。ARM社による定義では、CC(サイクルコーラブル)が相当する。
レジスタトランスファレベル(RTL):レジスタファイル間の同期転送を捉えて、回路を記述する抽象度レベルである。動作クロックに対し、正確に機能動作をシミュレートすることができ精度が非常に高い。1クロックごとに機能をシミュレートするため、シミュレーション速度は非常に遅い。ARM社による定義ではRT(RTLイベントドリブン)が相当する。
システムLSIの設計を目的としたシミュレーションは、そのシステムLSIを制御するソフトウェアの開発にも利用される。ソフトウェア開発では、シミュレーション速度が高速であることが重視される一方、シミュレーション精度はシステムとしての動作が実際のハードウェアと一致していれば、動作クロックに対しある程度低くても構わない。よって、ソフトウェア開発を行うためのシミュレーションは、トランザクションレベルにより記述されたモデルが用いられる。
前記シミュレーションにおいて、ソフトウェア開発者が、ソフトウェアを効率的に開発・デバッグするには、システムLSI内部のハードウェア動作を正確に把握する必要がある。特に、機能別にモジュール化設計された複数のハードウェアモジュールが連携して動作する場合は、個々のモジュール動作を把握しただけでは不十分であり、あるモジュールの動作が関連するモジュールに対し、どのような影響を与えるかまで把握しなければならない。
特開2004−13851号公報
しかしながら、複数モジュールの連携動作デバッグ情報を得るには、複数モジュールの内部状態を監視し、その動作内容を理解できる複雑なデバッグ機能が必要となる。システムLSI内部には多くの連携動作の組み合わせがあり、それぞれの組み合わせに応じて複雑なデバッグ機能を実装するには多大な負荷がかかる。
また、機能別にモジュール化設計されているため汎用性の高い機能モジュールは、様々なシステムで再利用されることが多く、そのようなモジュールに付随するデバッグ機能も同様に、汎用性が高く、メンテナンス及び再利用し易いことが求められている。
本発明は前述の問題点にかんがみ、システム記述言語によりトランザクションレベルで記述された複数のシミュレーションモデルを含むシステムLSIシミュレーションにおいて、複数モジュールの連携動作デバッグ情報を容易に得ることができる、また、デバッグ機能を汎用性高く開発でき、様々なシステムにおいて再利用できるようにすることを目的としている。
前記課題を解決するために本発明は、システム記述言語によりトランザクションレベルで記述された複数のシミュレーションモデルを含むシステムLSIシミュレーション装置であって、前記複数のシミュレーションモデルは、ハードウェアにマッピングされる動作記述部と、前記動作記述部を監視するハードウェアにマッピングされないデバッグ動作記述部と、ハードウェアにマッピングされないインターフェイスを有し、前記インターフェイスを用いてデバッグ情報を転送し、デバッグ動作を行うことを特徴とするシステムLSIシミュレーション装置等、を提供する。
本発明によれば、システム記述言語によりトランザクションレベルで記述された複数のシミュレーションモデルを含むシステムLSIシミュレーションにおいて、複数モジュールの連携動作デバッグ情報を容易に得ることができるので、ソフトウェア開発者が、システムLSI内部のハードウェア動作を正確に把握することができ、ソフトウェアを効率的に開発・デバッグすることができる。
また、デバッグ機能を汎用性高く開発でき、様々なシステムにおいて再利用性できるので、システムLSIシミュレーション装置そのものの開発効率が向上する。
(第1の実施の形態)
図1は、本発明のシステムLSIシミュレーション装置において、デバッグ情報を送信するシミュレーションモデルと受信するシミュレーションモデルを示すブロック図である。尚、以下本実施の形態において、システム記述言語で記述されたシミュレーションモデル内のハードウェアにマッピングされない部分は、合成用コンパイラに対する明示的な合成対象外である指示の記述があるものとする。
デバッグ情報送信側モデル10は、ハードウェアにマッピングされないデバッグ動作記述部11と、ハードウェアにマッピングされない送信インターフェイス12と、ハードウェアにマッピングされる動作記述部13と、ハードウェアにマッピングされるバスインターフェイス14で構成される。
ハードウェアにマッピングされないデバッグ動作記述部11は、ハードウェアにマッピングされる動作記述部13の内部状態を監視し、内部状態に変化があればシミュレータの標準出力等にデバッグメッセージを表示する。さらに、内部状態の変化によってデバッグ情報送信側モデル10の出力が変化する場合、ハードウェアにマッピングされない送信インターフェイス12に対してデバッグ情報送信側モデル10内で発生したデバッグ情報の送信指示を出す。
ハードウェアにマッピングされない送信インターフェイス12は、ハードウェアにマッピングされないデバッグ動作記述部11からのデバッグ情報を、予め接続されたハードウェアにマッピングされない受信インターフェイス17に対して送信する。ハードウェアにマッピングされる動作記述部13は、デバッグ情報送信側モデル10のハードウェア機能が実装されている。ハードウェアにマッピングされるバスインターフェイス14は、トランザクションレベルのシステムバスに接続するためのバスインターフェイスである。
デバッグ情報受信側モデル15は、ハードウェアにマッピングされないデバッグ動作記述部16と、ハードウェアにマッピングされない受信インターフェイス17と、ハードウェアにマッピングされる動作記述部18と、ハードウェアにマッピングされるバスインターフェイス19で構成される。
ハードウェアにマッピングされないデバッグ動作記述部16は、ハードウェアにマッピングされる動作記述部18の内部状態を監視し、内部状態に変化があればシミュレータの標準出力等にデバッグメッセージを表示する。さらに、ハードウェアにマッピングされない受信インターフェイス17を介してデバッグ情報送信側モデル10内で発生したデバッグ情報を受信した場合、受信したデバッグ情報に基づいてシミュレータの標準出力等に連携動作デバッグメッセージを表示する。
ハードウェアにマッピングされない受信インターフェイス17は、予め接続されたハードウェアにマッピングされない送信インターフェイス12からのデバッグ情報を受信し、ハードウェアにマッピングされないデバッグ動作記述部16へ渡す。
ハードウェアにマッピングされる動作記述部18は、デバッグ情報受信側モデル15のハードウェア機能が実装されている。ハードウェアにマッピングされるバスインターフェイス19は、トランザクションレベルのシステムバスに接続するためのバスインターフェイスである。
図2は、ハードウェアにマッピングされない送信インターフェイス12からハードウェアにマッピングされない受信インターフェイス17へ転送されるデバッグ情報のフォーマットを示す図である。
デバッグ情報100は、デバッグ情報の種類を識別するデバッグ情報ID101と、デバッグ情報100に付随するパラメータの数を示すパラメータ数102と、デバッグ情報100に付随するパラメータ数102が示すN個のパラメータ103とで構成される。
デバッグ情報ID101は、デバッグ情報送信側モデル10内で発生したハードウェア動作の識別子であり、ハードウェアにマッピングされないデバッグ動作記述部11と16の双方が識別するために使用される。パラメータ数102とパラメータ103は、デバッグ情報ID101の内容に応じてパラメータ数及びパラメータ内容が変化する。
図3は、本発明のシステムLSIシミュレーション装置で連携動作のデバッグ情報を表示するシミュレーションモデルにおいて、デバッグ情報を送信するシミュレーションモデルがクロックジェネレータモデル、デバッグ情報を受信するシミュレーションモデルがタイマーモデルである具体例を示すブロック図である。
クロックジェネレータモデル20は、ハードウェアにマッピングされないデバッグ動作記述部21と、ハードウェアにマッピングされない送信インターフェイス22と、ハードウェアにマッピングされる動作記述部23と、ハードウェアにマッピングされるバスインターフェイス24で構成される。
ハードウェアにマッピングされないデバッグ動作記述部21は、ハードウェアにマッピングされる動作記述部23の内部状態を監視し、内部状態に変化があればシミュレータの標準出力等にデバッグメッセージを表示する。さらに、内部状態の変化によってクロックジェネレータモデル20のクロック出力が変化する場合、ハードウェアにマッピングされない送信インターフェイス22に対してクロックジェネレータモデル20内で発生したデバッグ情報の送信指示を出す。
ハードウェアにマッピングされない送信インターフェイス22は、ハードウェアにマッピングされないデバッグ動作記述部21からのデバッグ情報を、予め接続されたハードウェアにマッピングされない受信インターフェイス27に対して送信する。
ハードウェアにマッピングされる動作記述部23は、クロックジェネレータモデル20のハードウェア機能(制御レジスタ、クロック生成回路等)が実装されており、タイマーモデル25に対してタイマー用クロックを供給する。
ハードウェアにマッピングされるバスインターフェイス24は、トランザクションレベルのシステムバスに接続するためのバスインターフェイスで、制御レジスタへのアクセスを行うスレーブ機能のみを有する。
タイマーモデル25は、ハードウェアにマッピングされないデバッグ動作記述部26と、ハードウェアにマッピングされない受信インターフェイス27と、ハードウェアにマッピングされる動作記述部28と、ハードウェアにマッピングされるバスインターフェイス29で構成される。
ハードウェアにマッピングされないデバッグ動作記述部26は、タイマーモデル25の内部状態を監視し、内部状態に変化があればシミュレータの標準出力等にデバッグメッセージを表示する。さらに、ハードウェアにマッピングされない受信インターフェイス27を介して受信したクロックジェネレータモデル20内で発生したデバッグ情報を受信した場合、受信したデバッグ情報に基づいてシミュレータの標準出力等に連携動作デバッグメッセージを表示する。
ハードウェアにマッピングされない受信インターフェイス27は、予め接続されたハードウェアにマッピングされない送信インターフェイス22からのデバッグ情報を受信し、ハードウェアにマッピングされないデバッグ動作記述部26へ渡す。
ハードウェアにマッピングされる動作記述部28は、タイマーモデル25のハードウェア機能(制御レジスタ、タイマー回路等)が実装されており、クロックジェネレータモデル20から供給されるタイマー用クロックで動作する。
ハードウェアにマッピングされるバスインターフェイス29は、トランザクションレベルのシステムバスに接続するためのバスインターフェイスで、制御レジスタへのアクセスを行うスレーブ機能のみを有する。
図4は、本発明のシステムLSIシミュレーション装置で連携動作のデバッグ情報を表示するシミュレーションモデルのシステム全体の具体例を示すブロック図である。システム全体は、システムLSIモデル41と、システムLSIモデル41の制御プログラム等が格納された不揮発性のROMモデル42、システムLSIモデル41が動作時にワークメモリ領域として使用するDRAMモデル43で構成される。
システムLSIモデル41は、トランザクションレベルのシステムバスを有し、システムLSIモデル41全体を制御するCPUモデル51と、ROMモデル42に対してデータの読み出し制御を行うROMコントローラモデル52と、各モジュールの割り込みをCPUモデル51へ通知する割り込みコントローラモデル53と、DRAMモデル43に対してデータの読み書き制御を行うDRAMコントローラモデル54と、クロックジェネレータモデル20と、タイマーモデル25とで構成される。
次に動作について、CPUモデル51がクロックジェネレータモデル20の制御レジスタを操作し、タイマーモデル25に供給されるクロックの周波数を変更する連携動作の場合を説明する。
例えば、CPUモデル51の制御レジスタ操作によってチャネル1番のタイマークロックが10MHzから20MHzに変更された場合、クロックジェネレータモデル20の内部状態を監視しているハードウェアにマッピングされないデバッグ動作記述部21が以下のクロックジェネレータモデル20内で発生したデバッグ情報100−1をハードウェアにマッピングされない送信インターフェイス22に対して送信指示を出す。
デバッグ情報100−1、
デバッグ情報ID: ID_TIMER_CLOCK_CHANGE、
パラメータ数 : 3、
パラメータA : 1、
パラメータB : 10、
パラメータC : 20。
前記デバッグ情報100−1において、デバッグ情報IDはタイマー用クロック周波数変更イベントを示すIDである。パラメータ数は3なので、デバッグ情報に付随するパラメータはパラメータAとパラメータBとパラメータCである。パラメータAは、タイマーのチャネル番号、パラメータBとパラメータCは、それぞれ変更前及び変更後のクロック周波数を示す。
ハードウェアにマッピングされない受信インターフェイス27は、デバッグ情報100−1を受信し、ハードウェアにマッピングされないデバッグ動作記述部26へ渡す。ハードウェアにマッピングされないデバッグ動作記述部26は、デバッグ情報100−1のデバッグ情報IDとパラメータ内容からチャネル1番のタイマークロックが10MHzから20MHzに変更されたことを認識し、チャネル1番のタイマー動作状態に応じてシミュレータの標準出力等にデバッグメッセージを表示する。
チャネル1番のタイマー動作状態が動作中であって、10MHzクロックで1000カウント計測する100msタイマとして動作する設定であった場合、20MHzクロックに変更すると50msタイマとして動作してしまうため以下のデバッグメッセージを表示する。
「[時刻xxx] タイマーチャネル1番のクロックが動作中に10MHzから20MHz に変更されました」、
「[時刻xxx] タイマー動作周期が100msから50msに変更されました」。
ソフトウェア開発者は、前記デバッグメッセージよりタイマークロック設定変更動作が意図したものか否か、その変更内容が正しいものか否かを容易に確認することができる。仮に、ソフトウェアに問題があり正しい動作でない場合、ハードウェアの挙動が変化した時点(クロック周波数が変更された直後)が容易に特定できるため、問題解析も効率的に行うことができる。
また、タイマークロック起動・停止変更タイミングに関して、クロックジェネレータとタイマーのハードウェア仕様が以下であったとする。
「クロックジェネレータは、任意のクロックを任意のタイミングで起動・停止することができる」、
「タイマーのチャネル1番は、任意のタイミングで入力されるクロックを起動・停止することができる」、
「タイマーのチャネル2〜4番は、タイマー動作停止時においてのみ入力されるクロックを停止することができる」。
前記内容は、クロックジェネレータ及びタイマーの仕様書等に記載される事項で、クロックジェネレータにとっては任意のタイミングでタイマーのチャネル2〜4番に供給しているクロックを起動・停止しても良いが、タイマーにとってはタイマー動作中に前記クロックを停止してはいけない、という連携動作上の制約があることを示している。
例えば、CPUモデル51の制御レジスタ操作によってチャネル2番のタイマークロックを停止した場合、クロックジェネレータモデル20の内部状態を監視しているハードウェアにマッピングされないデバッグ動作記述部21が以下のクロックジェネレータモデル20内で発生したデバッグ情報100−2をハードウェアにマッピングされない送信インターフェイス22に対して送信指示を出す。
デバッグ情報100−2、
デバッグ情報ID: ID_TIMER_CLOCK_STOP、
パラメータ数 : 1、
パラメータA : 2。
前記デバッグ情報100−2において、デバッグ情報IDはタイマー用クロック停止イベントを示すIDである。パラメータ数は1なので、デバッグ情報に付随するパラメータはパラメータAである。パラメータAは、タイマーのチャネル番号を示す。
ハードウェアにマッピングされない受信インターフェイス27は、デバッグ情報100−2を受信し、ハードウェアにマッピングされないデバッグ動作記述部26へ渡す。ハードウェアにマッピングされないデバッグ動作記述部26は、デバッグ情報100−2のデバッグ情報IDとパラメータ内容からチャネル2番のタイマークロックが停止したことを認識し、チャネル2番のタイマー動作状態に応じてシミュレータの標準出力等にデバッグメッセージを表示する。
「[時刻yyy] タイマーチャネル2番は、タイマー動作中のクロック停止は禁止です。 」
ソフトウェア開発者にとって、このような連携動作上の制約は、両方の仕様書を十分に理解しないと気付かないこと多く、一方の制御(クロックジェネレータ側)はハードウェア仕様に則した正しい動作であるため、問題の原因特定が難しい。前記デバッグメッセージにより連携動作上の制約も容易に確認することができる。
以上説明したように本実施の形態によれば、デバッグ情報送信側モデルからデバッグ情報受信側モデルにデバッグ情報送信側モデル内で発生したデバッグ情報を送信することで、デバッグ情報受信側モデルがデバッグ情報送信側モデルのハードウェア動作を把握することができ、デバッグ情報送信側モデルとデバッグ情報受信側モデルとの連携動作デバッグ情報を容易に表示することができる。
(第2の実施の形態)
次に第2の実施の形態について説明する。以下では、第1の実施の形態と異なる点を中心に説明し、同一である部分は説明を省略する。
第1の実施の形態では、デバッグ情報が、デバッグ情報送信側モデルのハードウェアにマッピングされない送信インターフェイスからデバッグ情報受信側モデルのハードウェアにマッピングされない受信インターフェイスへ直接転送され、連携動作のデバッグ情報表示が行われている。
しかし、デバッグ情報送信側モデル及びデバッグ情報受信側モデルのいずれかが複数になった場合、その数に応じてそれぞれハードウェアにマッピングされない送信インターフェイス及びハードウェアにマッピングされない受信インターフェイスを増やす必要がある。
そこで、本実施の形態ではデバッグ情報送信側モデル及びデバッグ情報受信側モデルがハードウェアにマッピングされないバス(以下デバッグ情報バス)に接続され、デバッグ情報バスを経由して、デバッグ情報を転送し、連携動作のデバッグ情報表示を行う。
図5は、本発明のシステムLSIシミュレーション装置において、デバッグ情報バスを経由して、デバッグ情報を送信するシミュレーションモデルと受信するシミュレーションモデルを示すブロック図である。
ハードウェアにマッピングされない送信インターフェイス12は、ハードウェアにマッピングされないデバッグ動作記述部11からのデバッグ情報に、受信対象を識別する識別子を付加して、デバッグ情報バス200に対して送信する。
ハードウェアにマッピングされない受信インターフェイス17は、デバッグ情報バス200からデバッグ情報を受信し、ハードウェアにマッピングされないデバッグ動作記述部16へ渡す。
ハードウェアにマッピングされないデバッグ情報バス200は、ハードウェアにマッピングされない送信インターフェイス12からのデバッグ情報送信要求に対し、デバッグ情報に付加された受信対象識別子に応じて、デバッグ情報の受信対象となるハードウェアにマッピングされない受信インターフェイス17へデバッグ情報を転送する。
図6は、ハードウェアにマッピングされない送信インターフェイス12からデバッグ情報バス200へ送信される受信対象を識別する識別子が付加されたデバッグ情報のフォーマットを示す図である。デバッグ情報201は、受信対象を識別する受信モデルID202と、第1の実施の形態における図2と同様のデバッグ情報100とで構成される。
図7は、本発明のシステムLSIシミュレーション装置で、デバッグ情報バスを経由して、連携動作のデバッグ情報を表示するシミュレーションモデルのシステム全体の具体例を示すブロック図である。
システムLSIモデル211は、ハードウェアにマッピングされないデバッグ情報バス200を有し、デバッグ情報送信側モデルがクロックジェネレータモデル20、また、デバッグ情報受信側モデルがCPUモデル51、ROMコントローラモデル52、割り込みコントローラモデル53、DRAMコントローラモデル54、タイマーモデル25である例を示す。
次に動作について説明する。第1の実施の形態と異なる点は、次の2点である。
(1)デバッグ情報が送信される際、その受信対象モデルを識別するIDが付加され、デバッグ情報バスへ送信されること。
(2)デバッグ情報バスにおいて、付加された受信対象モデルIDに応じてデバッグ情報を受信対象モデルへ転送すること。
従って、第1の実施の形態と同様の連携動作例の場合、クロックジェネレータモデル20は、デバッグ情報100−1に対応する以下のデバッグ情報201−1を、ハードウェアにマッピングされない送信インターフェイス22からデバッグ情報バス200に対して送信指示を出す。
デバッグ情報201−1、
受信モデルID : ID_MODEL_TIMER、
デバッグ情報ID: ID_TIMER_CLOCK_CHANGE、
パラメータ数 : 3、
パラメータA : 1、
パラメータB : 10、
パラメータC : 20。
デバッグ情報バス200は、デバッグ情報201−1の受信対象モデルIDから受信対象モデルをタイマーモデル25であると特定し、タイマーモデル25のハードウェアにマッピングされない受信インターフェイス27へデバッグ情報を転送する。ハードウェアにマッピングされない受信インターフェイス27がデバッグ情報を受信した以降の動作は、第1の実施の形態と同様に連携動作結果や連携動作制約が表示される。
また、CPUモデル51がクロックジェネレータモデル20の制御レジスタを操作し、DRAMコントローラモデル54に供給されるクロックを停止した場合、以下のデバッグ情報201−2が、クロックジェネレータモデル20からデバッグ情報バス200を経由して、DRAMコントローラモデル54へ転送される。DRAMコントローラモデル54は、デバッグ情報201−2を受信した状態に応じて、所定の連携動作結果や連携動作制約を表示する。
デバッグ情報201−2、
受信モデルID : ID_MODEL_DRAM_CONTROLLER、
デバッグ情報ID: ID_DRAM_CLOCK_STOP、
パラメータ数 : 0。
また、クロックジェネレータモデル20からCPUモデル51、ROMコントローラモデル52、割り込みコントローラモデル53にデバッグ情報が転送される場合も、前記説明と同様に受信モデルIDが付加されデバッグ情報バス200を経由し、受信対象モデルにデバッグ情報が転送される。
以上説明したように本実施の形態によれば、デバッグ情報受信側モデルが複数になった場合でも、デバッグ情報送信側モデルがデバッグ情報に受信対象モデルIDを付加し、ハードウェアにマッピングされないデバッグ情報バスを経由してデバッグ情報を転送することで、デバッグ情報送信側モデルのハードウェアにマッピングされない送信インターフェイスを増やす必要がなく、モデルのデバッグ機能における汎用性、メンテナンス性が向上する。
尚、前記説明ではデバッグ情報受信側モデルが複数になった場合を例に説明したが、デバッグ情報送信側モデルが複数になった場合も同様に適用可能である。
(第3の実施の形態)
次に第3の実施の形態について説明する。以下では、第1、第2の実施の形態と異なる点を中心に説明し、同一である部分は説明を省略する。第2の実施の形態では、デバッグ情報バスにおける受信対象モデルを特定する方法として、受信対象モデルIDを使用したが、デバッグ情報送信側モデルに受信対象モデルIDを付加する機能を追加する必要がある。前記機能はモデルが実装されるシステムに依存した機能であり、モデルの汎用性が失われ、再利用し辛くなる。
そこで、本実施の形態ではデバッグ情報送信側モデルに受信対象モデルIDを付加する機能を追加することなく、デバッグ情報バスを経由して、デバッグ情報を転送し、連携動作のデバッグ情報表示を行う。
図8は、図7のシステムLSIモデル211において、使用されるデバッグ情報IDと受信対象モデルが関連付けられた受信対象モデル関連情報である。受信対象モデル関連情報212では、デバッグ情報IDから一意に受信対象モデルが特定できる。
例えば、第1の実施の形態と同様の連携動作例の場合、クロックジェネレータモデル20は、デバッグ情報100−1を、ハードウェアにマッピングされない送信インターフェイス22からデバッグ情報バス200に対して送信指示を出す。
デバッグ情報バス200は、デバッグ情報100−1のデバッグ情報IDと図8の受信対象モデル関連情報から受信対象モデルがタイマーモデル25であると特定し、タイマーモデル25のハードウェアにマッピングされない受信インターフェイス27へデバッグ情報を転送する。ハードウェアにマッピングされない受信インターフェイス27がデバッグ情報を受信した以降の動作は、第1の実施の形態と同様に連携動作結果や連携動作制約が表示される。
次に、図9のシステムのように、同一のタイマーモデルが複数(タイマーモデルA25−1とタイマーモデルB25−2)存在する場合の説明をする。
図10は、図9のシステムLSIモデル221において、使用されるデバッグ情報IDと受信対象モデルが関連付けられた受信対象モデル関連情報である。受信対象モデル関連情報222では、タイマーモデルA25−1とタイマーモデルB25−2の連携動作において、同一のデバッグ情報IDが使用されている。
図11は、クロックジェネレータモデル20とタイマーモデルA25−1及びタイマーモデルB25−2との間のタイマー用クロック接続状態を示すハードウェア接続情報である。ハードウェア接続情報223において、クロックジェネレータモデル20は計8チャネルのタイマークロック出力を有し、チャネル0〜3までがタイマーモデルA25−1のチャネル0〜3、チャネル4〜7までがタイマーモデルB25−2のチャネル0〜3に接続されている。
例えば、CPUモデル51の制御レジスタ操作によってチャネル5番(タイマーモデルB25−2のチャネル1番に接続されているクロック)のタイマークロックが10MHzから20MHzに変更された場合、クロックジェネレータモデル20の内部状態を監視しているハードウェアにマッピングされないデバッグ動作記述部21が以下のクロックジェネレータモデル20内で発生した以下のデバッグ情報100−3を、ハードウェアにマッピングされない送信インターフェイス22からデバッグ情報バス200に対して送信指示を出す。
デバッグ情報100−3、
デバッグ情報ID: ID_TIMER_CLOCK_CHANGE、
パラメータ数 : 3、
パラメータA : 5、
パラメータB : 10、
パラメータC : 20。
デバッグ情報バス200は、デバッグ情報100−3のデバッグ情報IDと受信対象モデル関連情報222だけで受信対象モデルを特定できないため、ハードウェア接続情報223とパラメータAで示されるチャネル番号から受信対象モデルがタイマーモデルB25−2であることを特定する。
さらに、パラメータAの値もクロックジェネレータモデル20にとってはチャネル5番であるが、タイマーモデルB25−2にとってはチャネル1番に相当するため、ハードウェア接続情報223に従いパラメータAの値を5から1へ修正する。
最終的に、タイマーモデルB25−2へ以下のデバッグ情報100−4が転送される。デバッグ情報転送後の動作は、第1の実施の形態と同様に連携動作結果や連携動作制約が表示される。
デバッグ情報100−4、
デバッグ情報ID: ID_TIMER_CLOCK_CHANGE、
パラメータ数 : 3、
パラメータA : 1、
パラメータB : 10、
パラメータC : 20、
尚、前記説明において、タイマーモデルA25−1が受信対象となるデバッグ情報であった場合、図11のハードウェア接続情報ではチャネル番号が一致しているため、パラメータAの値は修正されない。
また、図9のシステムLSIモデル221において、クロックジェネレータモデル20とタイマーモデルA25−1及びタイマーモデルB25−2との間のタイマー用クロック接続状態が図12のようなシステム構成に変更されても、前記説明と同様に、デバッグ情報バス200は、デバッグ情報ID、受信対象モデル関連情報222、ハードウェア接続情報224、パラメータAで示されるチャネル番号から受信対象モデルを特定し、パラメータAの値を必要に応じて修正する。
この場合、システム構成に依存する受信対象モデルの特定、及び、パラメータ修正は、デバッグ情報バス200において行われるので、クロックジェネレータモデル20及びタイマーモデルA25−1、タイマーモデルB25−2は修正をすることなく再利用できる。
以上説明したように本実施例によれば、受信対象モデルIDを使用せず受信対象モデルを特定することができるので、デバッグ情報送信側モデルに受信対象モデルIDを付加する機能を追加することなく再利用ができる。
また、システム構成に変更があった場合、受信対象モデルの特定、及び、デバッグ情報のパラメータ修正が、デバッグ情報バスを経由する際に行われるので、デバッグ情報送信側モデル、及び、デバッグ情報受信側モデルを修正することなく、再利用できる。
本発明のシステムLSIシミュレーション装置において、デバッグ情報を送信するシミュレーションモデルと受信するシミュレーションモデルを示すブロック図である。 デバッグ情報のフォーマットを示す図である。 デバッグ情報を送信するシミュレーションモデルがクロックジェネレータモデル、デバッグ情報を受信するシミュレーションモデルがタイマーモデルである具体例を示すブロック図である。 シミュレーションモデルのシステム全体の具体例を示すブロック図である。 第2の実施の形態におけるデバッグ情報を送信するシミュレーションモデルと受信するシミュレーションモデルを示すブロック図である。 第2の実施の形態におけるデバッグ情報のフォーマットを示す図である。 第2の実施の形態におけるシミュレーションモデルのシステム全体の具体例を示すブロック図である。 システムLSIモデル211におけるデバッグ情報IDと受信対象モデルが関連付けられた図である。 第3の実施の形態におけるシミュレーションモデルのシステム全体の具体例を示すブロック図である。 システムLSIモデル221におけるデバッグ情報IDと受信対象モデルが関連付けられた図である。 タイマークロック接続状態を示す図である。 タイマークロック接続状態を示す図である。
符号の説明
10 デバッグ情報送信側モデル
11、16、21、26 ハードウェアにマッピングされないデバッグ動作記述部
12、22 ハードウェアにマッピングされない送信インターフェイス
13、18、23、28 ハードウェアにマッピングされる動作記述部
14、19、24、29 ハードウェアにマッピングされるバスインターフェイス
15 デバッグ情報受信側モデル
17、27 ハードウェアにマッピングされない受信インターフェイス
20 クロックジェネレータモデル
25 タイマーモデル
100 デバッグ情報
101 デバッグ情報ID
102 パラメータ数
103 パラメータ
200 デバッグ情報バス
201 受信対象モデルIDを含むデバッグ情報
202 受信対象モデルID

Claims (14)

  1. システム記述言語によりトランザクションレベルで記述された複数のシミュレーションモデルを含むシステムLSIシミュレーション装置であって、
    前記複数のシミュレーションモデルは、ハードウェアにマッピングされる動作記述部と、
    前記動作記述部を監視するハードウェアにマッピングされないデバッグ動作記述部と、
    ハードウェアにマッピングされないインターフェイスとを有し、
    前記インターフェイスを用いてデバッグ情報を転送し、デバッグ動作を行うことを特徴とするシステムLSIシミュレーション装置。
  2. 前記複数のシミュレーションモデルの一つが、前記ハードウェアにマッピングされないデバッグ動作記述部によって抽出された前記デバッグ情報を前記ハードウェアにマッピングされないインターフェイスを介して送信し、
    前記複数のシミュレーションモデルの一つが、前記ハードウェアにマッピングされないインターフェイスを介して受信した前記デバッグ情報に応じて前記デバッグ動作を行うことを特徴とする請求項1に記載のシステムLSIシミュレーション装置。
  3. 前記ハードウェアにマッピングされないインターフェイスを介して転送される前記デバッグ情報は、前記デバッグ情報の種類を識別するデバッグ情報IDと、前記デバッグ情報IDの内容に応じて付随するパラメータの数を示すパラメータ数と、前記パラメータ数分のパラメータであることを特徴とする請求項2に記載のシステムLSIシミュレーション装置。
  4. 前記デバッグ動作は、複数のシミュレーションモデルの連携動作結果を表示することを特徴とする請求項2に記載のシステムLSIシミュレーション装置。
  5. 前記デバッグ動作は、複数のシミュレーションモデルの連携動作制約を表示することを特徴とする請求項2に記載のシステムLSIシミュレーション装置。
  6. 前記デバッグ情報を転送するハードウェアにマッピングされないバスを有し、前記複数のシミュレーションモデルのうち少なくとも一つが、前記ハードウェアにマッピングされないインターフェイスを前記ハードウェアにマッピングされないバスに接続し、前記ハードウェアにマッピングされないデバッグ動作記述部によって抽出された前記デバッグ情報を前記ハードウェアにマッピングされないバスへ送信し、前記複数のシミュレーションモデルのうち少なくとも一つが、前記ハードウェアにマッピングされないインターフェイスを前記ハードウェアにマッピングされないバスに接続し、前記ハードウェアにマッピングされないバスを経由して受信した前記デバッグ情報に応じて前記デバッグ動作を行うことを特徴とする請求項1に記載のシステムLSIシミュレーション装置。
  7. 前記ハードウェアにマッピングされないバスにおいて転送される前記デバッグ情報は、前記デバッグ情報を受信するシミュレーションモデルの種類を識別する受信対象モデルIDと、前記デバッグ情報の種類を識別するデバッグ情報IDと、前記デバッグ情報IDの内容に応じて付随するパラメータの数を示すパラメータ数と、前記パラメータ数分のパラメータであることを特徴とする請求項6に記載のシステムLSIシミュレーション装置。
  8. 前記デバッグ情報を転送するハードウェアにマッピングされないバスは、前記受信対象モデルIDを使用して前記デバッグ情報を受信するシミュレーションモデルを特定することを特徴とする請求項7に記載のシステムLSIシミュレーション装置。
  9. 前記デバッグ情報を転送するハードウェアにマッピングされないバスは、前記デバッグ情報IDと、前記デバッグ情報IDと受信対象モデルとが関連付けられた受信対象モデル関連情報とを使用して前記デバッグ情報を受信するシミュレーションモデルを特定することを特徴とする請求項7に記載のシステムLSIシミュレーション装置。
  10. 前記デバッグ情報を転送するハードウェアにマッピングされないバスは、前記デバッグ情報IDと、前記デバッグ情報IDと前記受信対象モデルとが関連付けられた受信対象モデル関連情報と、前記ハードウェアの接続状態を示すハードウェア接続情報と、前記デバッグ情報に付随するパラメータを使用して前記デバッグ情報を受信するシミュレーションモデルとを特定することを特徴とする請求項7に記載のシステムLSIシミュレーション装置。
  11. 前記デバッグ情報を転送するハードウェアにマッピングされないバスは、前記ハードウェア接続情報に応じて、前記デバッグ情報に付随するパラメータを修正することを特徴とする請求項10に記載のシステムLSIシミュレーション装置。
  12. システム記述言語によりトランザクションレベルで記述された複数のシミュレーションモデルを含むシステムLSIシミュレーション方法であって、
    ハードウェアにマッピングされないインターフェイスを用いてデバッグ情報を転送し、
    転送された前記デバッグ情報に対してデバッグ動作を行うことを特徴とするシステムLSIシミュレーション方法。
  13. 請求項12の方法の各工程をコンピュータにて実施させるプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
  14. 請求項12の方法の各工程をコンピュータにて実施させることを特徴とするコンピュータプログラム。
JP2005132618A 2005-04-28 2005-04-28 システムlsiシミュレーション装置 Expired - Fee Related JP4498206B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005132618A JP4498206B2 (ja) 2005-04-28 2005-04-28 システムlsiシミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005132618A JP4498206B2 (ja) 2005-04-28 2005-04-28 システムlsiシミュレーション装置

Publications (3)

Publication Number Publication Date
JP2006309575A true JP2006309575A (ja) 2006-11-09
JP2006309575A5 JP2006309575A5 (ja) 2008-06-19
JP4498206B2 JP4498206B2 (ja) 2010-07-07

Family

ID=37476376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005132618A Expired - Fee Related JP4498206B2 (ja) 2005-04-28 2005-04-28 システムlsiシミュレーション装置

Country Status (1)

Country Link
JP (1) JP4498206B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014510960A (ja) * 2011-01-19 2014-05-01 アルゴトゥチップ コーポレーション ツール・ジェネレータ
JP2017062297A (ja) * 2015-09-24 2017-03-30 株式会社東芝 シミュレーション装置とそのモジュール、シミュレーション方法及びプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200500473006, 野々垣, "特集 システムレベルデザイン 6 ハードウェア/ソフトウェア協調シミュレーション技術", 情報処理, 20040515, 第45巻,第5号, p.484−491, JP, 社団法人情報処理学会 *
CSNG200500878004, 本田 他, "システムレベル設計環境:SystemBuilder", 電子情報通信学会論文誌, 20050201, 第J88−D−I巻,第2号, p.163−174, JP, 社団法人電子情報通信学会 *
JPN6009050089, 本田 他, "システムレベル設計環境:SystemBuilder", 電子情報通信学会論文誌, 20050201, 第J88−D−I巻,第2号, p.163−174, JP, 社団法人電子情報通信学会 *
JPN6009050090, 野々垣, "特集 システムレベルデザイン 6 ハードウェア/ソフトウェア協調シミュレーション技術", 情報処理, 20040515, 第45巻,第5号, p.484−491, JP, 社団法人情報処理学会 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014510960A (ja) * 2011-01-19 2014-05-01 アルゴトゥチップ コーポレーション ツール・ジェネレータ
JP2017062297A (ja) * 2015-09-24 2017-03-30 株式会社東芝 シミュレーション装置とそのモジュール、シミュレーション方法及びプログラム

Also Published As

Publication number Publication date
JP4498206B2 (ja) 2010-07-07

Similar Documents

Publication Publication Date Title
US9015649B2 (en) Method and apparatus for electronic system model generation
KR101297513B1 (ko) 범용 프로토콜 엔진
US8775986B1 (en) Software debugging of synthesized hardware
CN102124448B (zh) 控制嵌入式系统开发期间的实时性
US8645118B2 (en) Fault support in an emulation environment
US8165865B2 (en) Modeling and simulation method
CN102521444A (zh) 软硬件协同仿真/验证方法及装置
US8239708B2 (en) System on chip (SoC) device verification system using memory interface
CN102508753A (zh) Ip核验证系统
US20080312900A1 (en) Simulation apparatus and simulation method
US20090240457A1 (en) Testing in a hardware emulation environment
US8949752B2 (en) System and method of emulating multiple custom prototype boards
JP4498206B2 (ja) システムlsiシミュレーション装置
US20050144436A1 (en) Multitasking system level platform for HW/SW co-verification
CN101159492A (zh) 一种用于sdh逻辑设计的仿真验证系统及其方法
CN105843993B (zh) 一种ip生成方法及工具
CN116776785A (zh) 一种集成芯片的被动模式验证方法及系统
CN112329369B (zh) 一种在芯片仿真模型上进行软件调试的方法
JP2005108007A (ja) Lsi設計検証装置及びlsi設計検証方法
JP2010140255A (ja) 再構成可能論理回路ならびに検証方法および検証プログラム
Bruce et al. Maintaining consistency between SystemC and RTL system designs
US7873506B2 (en) Simulation framework with support for multiple integrated circuits having potentially differing characteristics
JPH09153077A (ja) デジタル回路設計支援システムおよびデジタル回路のハードウェアおよびソフトウェアの設計方法
WO2024114920A1 (en) Verification techniques for embedded systems
JP2004310568A (ja) シミュレータ装置、シミュレーション方法および性能解析方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080425

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100302

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

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

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees