JP2007034680A - システムシミュレーション方法 - Google Patents

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

Info

Publication number
JP2007034680A
JP2007034680A JP2005217114A JP2005217114A JP2007034680A JP 2007034680 A JP2007034680 A JP 2007034680A JP 2005217114 A JP2005217114 A JP 2005217114A JP 2005217114 A JP2005217114 A JP 2005217114A JP 2007034680 A JP2007034680 A JP 2007034680A
Authority
JP
Japan
Prior art keywords
memory
model
access
user hardware
uhw
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
JP2005217114A
Other languages
English (en)
Other versions
JP4346587B2 (ja
Inventor
Masato Tatsuoka
真人 立岡
Atsushi Ike
敦 池
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005217114A priority Critical patent/JP4346587B2/ja
Priority to US11/336,967 priority patent/US20070038429A1/en
Publication of JP2007034680A publication Critical patent/JP2007034680A/ja
Application granted granted Critical
Publication of JP4346587B2 publication Critical patent/JP4346587B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/08HW-SW co-design, e.g. HW-SW partitioning

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

Abstract

【課題】 シミュレーション速度の低下を防ぐ。
【解決手段】 初期化手段6aは、ユーザハードウェアモデル2がアクセスするメモリモデル3上の所定の領域に相当する領域をユーザハードウェア用メモリ5としてコンピュータのメモリ上に確保し、ユーザハードウェアモデル2からのメモリアクセスは、すべてユーザハードウェア用メモリ5へアクセスさせる。アクセス制御手段6bは、プロセッサコアモデル1からのユーザハードウェア用メモリ5へのメモリアクセスを可能にし、ユーザハードウェアモデル2のアクセスと競合しないように制御する。
【選択図】 図1

Description

本発明はシステムシミュレーション方法に関し、特にプロセッサコアとユーザハードウェアが混在する対象論理回路の機能をコンピュータ上で検証するためのシステムシミュレーション方法に関する。
CPU(Central Processing Unit)コアとユーザハードウェアが同一チップ上に混在するSoC(System on Chip)のモデルシミュレータは、ソフトウェアの検証のためにCPU動作をシミュレートする機能と、ユーザハードウェアを検証するためのシミュレート機能の双方を同時に実現することが求められている。
図14は、従来のSoCモデルシミュレータの構成図である。
従来のSoCモデルシミュレータは、検証対象のソフトウェアを実行するCPUの機能をモデル化したプロセッサコアモデル901、検証対象のユーザハードウェアの機能をモデル化したユーザハードウェアモデル902、所定の構造を持つメモリをモデル化したメモリモデル903及びメモリアクセスAPI(Application Program Interface)関数904を具備する。メモリアクセスAPI関数904は、アドレスやサイズなどを引数として呼び出しを受けると、メモリモデル903の構造に応じたデータ形式に変換し、メモリモデル903にアクセスする関数であり、プロセッサコアモデル901及びユーザハードウェアモデル902は、メモリアクセスAPI関数904を通じてメモリモデル903にリードライトする。
プロセッサコアモデル901、ユーザハードウェアモデル902、メモリモデル903及びメモリアクセスAPI関数904の各モデル部は、ソフトウェアにより実現され、パーソナルコンピュータ(PC)またはワークステーションにロードされて実行される。以下、SoCモデルシミュレータを、単にシステムシミュレータという。
従来のシステムシミュレータでは、メモリ空間の一貫性を保つため、メモリモデル903を1つにして管理を行っており、プロセッサコアモデル901またはユーザハードウェアモデル902のうちの一方がメモリアクセスAPI関数904を通じてメモリモデル903にアクセスしている間に他方がアクセスしようとしても、処理が終了するまで待たされる。
そこで、検証時間の短縮を図るため、ユーザハードウェアモデルとプロセッサコアモデルのそれぞれにメモリモデルを設け、その間をインタフェース(I/F)モデルで接続し、情報授受の整合をとるシステムシミュレータが提案されている(たとえば、特許文献1参照)。
特開2000−35898号公報(段落番号〔0022〕〜〔0031〕、図1)
従来のシステムシミュレーションでは、プロセッサコアモデル901とユーザハードウェアモデル902からメモリモデル903へのアクセスは、共通のメモリアクセスAPI関数904を通して行われる。このような構造であることから、アクセス頻度(メモリアクセスAPI関数904の呼び出し)が増大すると、シミュレータのスピードが落ちるという問題点があった。
特に、ユーザハードウェアがメモリに頻繁にリードライトするデータ処理を担うようなシステム、たとえば、画像処理システムでは、ユーザハードウェアが画像データの処理を行い、プロセッサはユーザハードウェアがデータ処理を行うためのコントロールや、オペレーティングシステム(Operating System;以下、OSとする)などを動作させる構成が一般的である。このようなシステムの動作を従来のシステムシミュレータで検証しようとした場合、ユーザハードウェアモデル902からデータアクセスが大量に発生し続けるため、プロセッサコアモデル901側のメモリアクセスが待たされ、スピードの劣化が顕著になるなど、SoCモデルのパフォーマンスが低くなる。この結果、プロセッサコアモデル901により検証を行うファームウェアなどのソフトウェア開発作業への影響も大きくなり、SoC設計の全体工程に悪影響を与える。
また、ユーザハードウェアモデルとプロセッサコアモデルのそれぞれにメモリモデルを設け、それらをI/Fモデルを用いて同期させるシミュレーションモデルでは、システム構成によっては、同期が頻繁に発生するケースが想定される。このように、同期が頻繁に発生してしまうと、シミュレーション速度が極端に遅くなるという問題点がある。
本発明はこのような点に鑑みてなされたものであり、シミュレーション速度の低下を防ぐシステムシミュレーション方法を提供することを目的とする。
本発明では上記課題を解決するために、図1に示すようなプロセッサコアとユーザハードウェアが混在する対象論理回路の機能をコンピュータ上で検証するためのシステムシミュレーション方法が提供される。
本発明に係るシステムシミュレーション方法では、プロセッサコアの機能をモデル化したプロセッサコアモデル1、ユーザハードウェアの機能をモデル化したユーザハードウェアモデル2及び対象論理回路のメモリ構造をモデル化したメモリモデル3がコンピュータ上に構築される。初期化手段6aは、ユーザハードウェアモデル2がアクセスするメモリモデル3の領域に応じたユーザハードウェア用メモリ5をコンピュータのメモリ領域に確保し、ユーザハードウェアモデル2のアクセス先をユーザハードウェア用メモリ5に置き換える。システムシミュレーション実行中、アクセス制御手段6bは、プロセッサコアモデル1からのアクセス要求を受けると、その要求に応じてアクセス先を制御する。
このようなシステムシミュレーション方法によれば、初期化手段6aは、ユーザハードウェアモデル2がアクセスするメモリモデル3上の所定の領域に相当する領域をユーザハードウェア用メモリ5としてコンピュータのメモリ上に確保する。そして、ユーザハードウェアモデル2のメモリアクセス先をユーザハードウェア用メモリ5に置き換える。これにより、シミュレーション実行時、ユーザハードウェアモデル2のメモリアクセスは、ユーザハードウェア用メモリ5に対して実行されるようになる。一方、プロセッサコアモデル1からのメモリアクセスは、アクセス制御手段6bによって、アクセス要求に応じてアクセス先がメモリモデル3またはユーザハードウェア用メモリ5のいずれかが選択されるように制御される。このように、ユーザハードウェアモデル2のアクセス先をユーザハードウェア用メモリ5にすることにより、プロセッサコアモデル1からメモリモデル3へのアクセス処理を並列して実行できる。
本発明のシステムシミュレーション方法では、対象論理回路のプロセッサコア、ユーザハードウェア及びメモリのモデルをコンピュータ上に構築する。そして、ユーザハードウェア用メモリをメモリモデルとは別に設け、ユーザハードウェアモデルをユーザハードウェア用メモリにアクセスさせる。一方、プロセッサコアモデルは、主としてメモリモデルへアクセスするため、ユーザハードウェアモデルからメモリに大量のアクセスが発生した場合でも、プロセッサコアモデルのアクセスへの影響を抑制することができる。これにより、シミュレーションの高速化を実現することが可能となる。
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、本発明の実施の形態に適用される発明の概念図である。
本発明に係るシステムシミュレータは、検証の対象論理回路の各部の機能をソフトウェアによってコンピュータ上に実現したモデルを用いて、対象の論理回路の検証を行うシステムシミュレーション方法に適用され、プロセッサコアモデル1、ユーザハードウェアモデル2、メモリモデル3、メモリアクセス処理部4、ユーザハードウェア用メモリ5及びメモリ管理部6を具備する。なお、対象論理回路は、所定の構造を持ったメモリと、単独でこのメモリに頻繁にアクセスして所定の演算処理を実行するユーザハードウェアと、ユーザハードウェアの演算結果をときどき参照し、必要に応じて処理変更させるなどユーザハードウェアをコントロールするCPUコアから構成される。
プロセッサコアモデル1は、対象論理回路のCPUコアの機能をモデル化したものであり、CPUコアの機能を実現するプログラムがコンピュータで実行されることにより、コンピュータ上に構築される。コンピュータ上に構築されたプロセッサコアモデル1は、ターゲットプログラムを順次読み込み、読み込んだデータを解読し、解読された命令を実行する処理を行う。処理の際のメモリアクセスは、メモリアクセス処理部4を通じて行われる。
ユーザハードウェアモデル2は、対象論理回路のユーザハードウェアの機能をモデル化したものであり、ユーザハードウェアの機能を実現するプログラムがコンピュータで実行されることにより、コンピュータ上に構築される。コンピュータ上に構築されたユーザハードウェアモデル2は、ユーザハードウェアを構成するロジックや回路素子の接続情報に基づき、所定の入力信号を順次処理して出力信号を生成する。ここでは、プロセッサコアモデル1からの処理開始指令または所定の条件が成立した場合に、一連の演算処理を実行し、演算結果を生成する。処理の際のメモリアクセスは、ユ−ザハードウェア用メモリ5に対して行う。
メモリモデル3は、対象論理回路のメモリの構造をモデル化したものであり、メモリ構造に応じたデータのリードライトを実現するプログラムがコンピュータ上で実行されることにより、コンピュータ上に構築される。メモリモデル3は、プロセッサコアモデル1が実行するターゲットプログラムの格納領域、プロセッサコアモデル1がプログラム実行時に一時的に保存する情報などの格納領域及びユーザハードウェアモデル2の演算処理用のデータの格納領域などを有する。そして、メモリアクセス処理部4及びメモリ管理部6を通じて入力されるメモリ構造に応じた所定の形式のアクセス要求を受付けると、データのリードライトを行って、所定の形式の応答を返す。
メモリアクセス処理部4は、プロセッサコアモデル1からのメモリアクセス要求を受付け、メモリ管理部6と協調し、要求されるアクセスアドレスが、ユーザハードウェア用メモリ5に対応する領域でなければ、メモリモデル3の持つデータ構造に合わせた形式に変換し、メモリモデル3へアクセスしてデータのリードライトを行う。また、要求のアクセスアドレスがユーザハードウェア用メモリ5の領域であれば、メモリ管理部6にアクセス要求を引き渡す。
ユーザハードウェア用メモリ5は、メモリ管理部6によって、メモリモデル3の領域のうち、ユーザハードウェアモデル2がアクセスする演算処理用の格納領域に対応付けて、コンピュータのメモリ上に確保される。このメモリは、構造を持っていない(コンピュータのOSが割り当てる)通常のメモリ領域であるので、ユーザハードウェアモデル2から直接アクセスすることができる。これにより、メモリ構造に応じたデータ変換を行う場合に比べて、ユーザハードウェアモデル2がアクセスする速度を高速化することができる。
メモリ管理部6は、初期化手段6a、アクセス制御手段6b及び反映手段6cを具備し、メモリモデル3とユーザハードウェア用メモリ5の整合性を確保する管理処理を行う。初期化手段6aは、システムシミュレーション開始前または実行中のユーザハードウェア用メモリ空間設定時に、初期設定情報に基づき、ユーザハードウェアモデル2がメモリアクセスするメモリモデル3上のアクセス領域に相当するユーザハードウェア用メモリ5をユーザハードコンピュータのメモリ上に確保するとともに、ユーザハードウェアモデル2のアクセス先をユーザハードウェア用メモリ5に置き換える。ユーザハードウェアモデル2のアクセス領域指定(開始アドレスとサイズなど)を含む初期設定情報は、たとえば、プロセッサコアモデル1を通じてロードされるターゲットプログラムなどに予め登録される。初期化手段6aでは、ターゲットプログラムのロード時などに、初期設定情報を取得し、これに基づき初期化処理を行う。また、必要であれば、ユーザハードウェア用メモリ5に相当するメモリモデル3の領域に格納されるデータをユーザハードウェア用メモリ5にコピーし、内容を一致させる。なお、読み出しの際には、メモリモデル3の構造に応じたデータ形式でアクセスが行われる。
アクセス制御手段6bは、メモリアクセス処理部4の取得したプロセッサコアモデル1からのメモリアクセス要求の要求先アドレスがユーザハードウェア用メモリ5に対応する領域がどうかをチェックする。ユーザハードウェア用メモリ5に対応する領域でなければ、その旨をメモリアクセス処理部4に通知し、メモリモデル3へのメモリアクセス処理を実行させる。また、要求先アドレスがユーザハードウェア用メモリ5の領域内であれば、該当するユーザハードウェア用メモリ5のアドレスへアクセスする。このとき、プロセッサコアモデル1とユーザハードウェアモデル2のアクセス要求が競合する場合には、予め決められた優先度に基づき、アクセス順を決める。ユーザハードウェアモデル2の優先度が高い場合には、ユーザハードウェアモデル2のメモリアクセスが終了した後、プロセッサコアモデル1のアクセス要求を処理する。プロセッサコアモデル1の優先度が高い場合には、ユーザハードウェアモデル2のアクセス処理を待機させてプロセッサモデル1のアクセス要求を処理し、その後アクセス権をユーザハードウェアモデル2に引き渡す。
なお、プロセッサコアモデル1からのメモリアクセス要求の要求先アドレスがユーザハードウェア用メモリ5に対応する領域がどうかのチェックは、メモリアクセス処理部4が行うとしてもよい。その場合、メモリアクセス処理部4が、要求先アドレスがユーザハードウェア用メモリ5の領域内であると判断したときのみ、アクセス制御手段6bが呼び出される。
反映手段6cは、ユーザにメモリモデル3の読み出しを許可するソフトウェアのデバッグ時のブレイクやシミュレーション終了時など、シミュレーションが停止される際に、ユーザハードウェア用メモリ5の内容をメモリモデル3に書き込んで一致させる。このとき、データはメモリモデル3の持つデータ構造にあわせて変換され、書き込みが行われる。
このようなシステムシミュレータを用いたシステムシミュレーション方法の手順について説明する。
シミュレーションを行うコンピュータ上に、対象論理回路のプロセッサコアモデル1、ユーザハードウェアモデル2、メモリモデル3及びメモリアクセス処理部4が構築される。シミュレーションの開始前にターゲットプログラムが読み込まれると、メモリ管理部6の初期化手段6aは、ターゲットプログラムの初期設定情報に含まれるメモリモデル3のユーザハードウェアモデル2のアクセス領域指定に基づき、コンピュータのメモリ上にユーザハードウェア用メモリ5を確保する。そして、ユーザハードウェアモデル2のアクセス先をユーザハードウェア用メモリ5に置き換える。以降、ユーザハードウェアモデル2は、メモリモデル3ではなく、ユーザハードウェア用メモリ5にメモリアクセスする。
シミュレーションが開始され、プロセッサコアモデル1からの開始指示などにより、ユーザハードウェアモデル2の演算処理が開始される。このとき、ユーザハードウェアモデル2のメモリアクセスは、ユーザハードウェア用メモリ5に対して実行される。一方、プロセッサコアモデル1からのメモリアクセスは、メモリアクセス処理部4が受付け、メモリアクセス処理部4またはメモリ管理部6のアクセス制御手段6bが、要求アドレスがユーザハードウェア用メモリ5に対応するかどうかをチェックする。そして、要求アドレスが、ユーザハードウェア用メモリ5に対応する領域でなければ、メモリアクセス処理部4は、メモリモデル3の持つデータ構造に合わせた形式に変換し、データのリードライトを行う。また、ユーザハードウェア用メモリ5の領域であれば、アクセス制御手段6bが、該当するユーザハードウェア用メモリ5のアドレスへアクセスし、データのリードライトを行う。このとき、ユーザハードウェアモデル2からも該当するユーザハードウェア用メモリ5にメモリアクセスがあった場合、排他処理が行われ、予め決められた高優先度のメモリアクセスを処理し、これが終了した後、他方のメモリアクセスを処理する。
そして、シミュレーションが終了すると、メモリ管理部6の反映手段6cによって、ユーザハードウェア用メモリ5の内容がメモリモデル3の該当領域にコピーされ、双方の内容が一致する。なお、ソフトウェアデバッグ時のブレイクでも同様の処理が行われる。
以上のように、ユーザハードウェアモデル2がアクセスするメモリ領域を、メモリモデル3とは別領域に用意することにより、プロセッサコアモデル1とユーザハードウェアモデル2のアクセスが競合する頻度を大幅に削減することができる。この結果、プロセッサコアモデル1とユーザハードウェアモデル2は、並列実行が可能となり、システムシミュレーションの速度を高速化することができる。
また、ユーザハードウェア用メモリ5として用意されるメモリは、構造を持っていないコンピュータのメモリであるので、ユーザハードウェアモデル2から直接アクセスすることができるため、アクセス速度も高速化することができる。
以下、実施の形態を、CPUコアとユーザハードウェアが並列に動作する対象論理回路のシミュレーションに適用した場合を例に図面を参照して詳細に説明する。
図2は、本発明の実施の形態のシステムシミュレータの機能ブロック図である。図1と同じものには同じ番号を付す。
本発明に係るシステムシミュレータは、プロセッサコアモデル(以下、コアモデルとする)1、ユーザハードウェアモデル(以下、UHWモデルとする)2、メモリモデル3、メモリアクセスAPI関数41、ユーザハードウェア用メモリ(以下、UHWメモリとする)5aとUHWレジスタ5b、及びメモリリンクAPI関数61を有する。
メモリアクセスAPI関数41は、メモリアクセス処理部4であり、コアモデル1のメモリアクセス時に呼び出される関数の形式をとる。
UHWレジスタ5bには、UHWモデル2のアクセスするメモリ領域、すなわち、UHWメモリ5aの領域を指示する値が設定される。
メモリリンクAPI関数61は、メモリ管理部6の機能処理を実現する関数であり、メモリアクセスAPI関数41と協調してメモリアクセス処理を行う。
ここで、メモリアクセスAPI関数41とメモリリンクAPI関数61を詳細に説明する。
メモリアクセスAPI関数41は、コアモデル1がメモリアクセスする際に呼び出される関数であり、メモリモデル3の構造にあったデータ形式に変換する機能と、メモリリンクAPI関数61とのリンク機能と2つの機能を有する。
第1のデータ形式を変換する機能について説明する。図3は、本実施の形態のメモリモデルへのアクセス例を示した図である。
上述のように、メモリモデル3は、構造化されているメモリであり、その構造にあったデータ形式でアクセスする必要がある。たとえば、SoCモデルのメモリ属性を持つ構造で、メモリ属性を含めてアクセス要求を行う必要がある場合や、メモリを節約するための処理が必要な構造となっている場合などがある。また、SoCモデルがビックエンディアン(big endian)であり、コンピュータがリトルエンディアン(little endian)であれば、エンディアン変換を行う必要がある。
そこで、コアモデル1は、読み込み時にはアドレス、サイズ、書き込み時にはさらに書き込みデータを引数としてメモリアクセスAPI関数41を呼び出す。メモリアクセスAPI関数41は、上述のようなメモリモデル3の構造にあったデータ形式に変換し、アクセス要求を行う。そして、得られた読み込みデータは、逆変換を行ってコアモデル1に返す。なお、この形式は、モデルに依存する。
次に、第2のメモリリンクAPI関数61とのリンク機能は、コアモデル1の要求するアドレスがUHWメモリ5aへのアクセスである場合、メモリリンクAPI関数61にUHWメモリ5aへのアクセスを依頼する。
図4は、本実施の形態の第1のアクセスメモリ選択処理の手順を示したフローチャートである。コアモデル1のメモリアクセスによってメモリアクセスAPI関数41が呼び出され、処理が開始される。
[ステップS01] UHWメモリ領域の範囲を読み出す。UHWメモリ領域の範囲は、メモリモデル3に格納される初期設定情報や、メモリリンクAPI関数61を介してUHWレジスタ5bの値を読み出すことなどにより得られる。
[ステップS02] コアモデル1のメモリアクセスのアクセス要求先と、ステップS01で読み出したUHWメモリ領域とを比較し、アクセス要求先がUHWメモリ領域に含まれているかどうかを判定する。含まれている場合、処理をステップS05へ進める。
[ステップS03] アクセス要求先がUHWメモリ領域に含まれていない場合、アクセス要求をメモリモデル3の構造に対応したデータ形式に変換するメモリモデル構造対応処理を行う。
[ステップS04] ステップS03で得られたメモリモデル3の構造に対応したデータ形式のアクセス要求により、メモリモデル3にアクセスし、処理を終了する。
[ステップS05] アクセス要求先がUHWメモリ領域に含まれている場合、メモリリンクAPI関数61を呼び出してUHWメモリ5aへのアクセスを実行させ、処理を終了する。
なお、メモリアクセスAPI関数41でアドレスチェックを行わず、メモリリンクAPI関数61でチェックを行うこともできる。
メモリリンクAPI関数61は、メモリアクセスAPI関数41から呼びさされるとともに、シミュレーション終了やデバッグ時のブレイクなど所定の条件が成立した場合に呼び出される関数であり、UHWメモリ5aとメモリモデル3をリンクさせる機能を有する。具体的には、UHWレジスタ5bへのアクセス処理機能、コアモデル1からUHWメモリ5aへのアクセス処理機能、コアモデル1とUHWモデル2のアクセス競合時の排他処理機能及びメモリモデル3とUHWメモリ5aの一致化機能の4つの機能を有する。
UHWレジスタ5bへのアクセス処理機能は、初期化処理において、UHWメモリ5aをコンピュータのメモリ上に設定する機能である。UHWモデル2の利用するUHWメモリ5aのメモリ領域は、コアモデル1が指定したレジスタアドレスとサイズによって決まる。そのレジスタ名のメモリ変数(ポインタ)にコンピュータのメモリを割り当てることで設定する。レジスタに開始アドレスと、サイズを設定することにより、UHWメモリ5aのメモリ領域のスタートアドレスとエンドアドレスがわかる。
たとえば、レジスタ1のアドレス(Reg1Addr)に0x01000000、レジスタ1のサイズ(Reg1Size)に0x100が設定されるとすると、レジスタ1で表されるメモリ領域は、
スタートアドレス= Reg1Addr、
エンドアドレス= Reg1Addr + Reg1Size、
となる。なお、UHWレジスタ5bには、このようなレジスタの組を複数持つことができる。
次に、コアモデル1のUHWメモリ5aへのアクセス処理機能は、メモリアクセスAPI関数41から呼び出され、処理を開始する。
図5は、本実施の形態の第2のアクセスメモリ選択処理の手順を示したフローチャートである。図では、メモリアクセスAPI関数とメモリリンクAPI関数の両方の処理手順が示されている。
コアモデル1のメモリアクセスによってメモリアクセスAPI関数41が呼び出され、メモリアクセスAPI関数41による処理が開始される。
[ステップS11] コアモデル1からのメモリアクセス要求を取得したので、メモリリンクAPI関数を呼び出し、メモリアクセス要求を送り、処理を開始させる。
[ステップS12] 処理時間を短縮するため、メモリリンクAPI関数61からの応答を待たずに、メモリモデル3に適したデータ形式に変換するメモリモデル構造対応処理を行う。
[ステップS13] メモリモデル3へアクセスする。
以上の処理手順が実行されることにより、メモリモデル3のアクセス要求先にアクセスが行われ、メモリリンクAPI関数61からの応答を待つ。
一方、ステップS11によって起動されたメモリリンクAPI関数は、以下の処理を行う。
[ステップS21] UHWメモリ領域の範囲を読み出す。UHWメモリ領域の範囲は、UHWレジスタ5bの値を読み出して取得する。
[ステップS22] 初期値として、メモリアクセス無効の応答を設定しておく。そして、コアモデル1のメモリアクセスのアクセス要求先と、ステップS01で読み出したUHWメモリ領域とを比較し、アクセス要求先がUHWメモリ領域に含まれているかどうかを判定する。アクセス要求先がUHWメモリ5aに含まれていない場合、何もせず、処理をステップS24へ進める。
[ステップS23] アクセス要求先がUHWメモリ領域に含まれている場合、アクセス要求先のUHWメモリ5aへアクセスする。リードの場合は、UHWメモリ5aの該当領域からデータを読み出し、読み出しデータとメモリアクセス有効を伝える応答を設定する。ライトの場合、コアモデル1の書き込みデータをメモリアクセスAPI関数41経由で取得し、これをUHWメモリ5aの該当領域に書き込む。このとき、UHWモデル2のアクセスと競合する場合には、後述する排他処理を行う。書き込み終了後、メモリアクセス有効を伝える応答を設定する。
[ステップS24] 応答をメモリアクセスAPI関数41に返し、処理を終了する。アクセス先がUHWメモリ5a領域の場合は、ステップS23によってメモリアクセス有効(リードの場合は読み出しデータも含む)の応答が設定される。UHWメモリ5a外の場合は、ステップS22によって、メモリアクセス無効の応答が設定される。
メモリアクセスAPI関数の処理に戻って説明する。
[ステップS14] 応答を取得し、応答に基づきUHWメモリ領域の処理であったかどうか、すなわち、メモリアクセスが有効であるか無効であるかを判定する。UHWメモリ領域でなければ、処理を終了する。すなわち、ステップS13で行われたメモリアクセスの結果がコアモデル1に戻る。
[ステップS15] 応答がUHWメモリ領域(メモリアクセス有効)であった場合には、応答として取得した情報に基づき、データを更新する。リードであれば、メモリリンクAPI関数61がUHWメモリ5aから読み出したデータがコアモデル1に戻る。ライトであれば、メモリリンクAPI関数61がUHWメモリ5aに書き込みを行った結果がコアモデル1に戻る。
なお、上記の説明では、処理を高速化するため、メモリアクセスAPI関数41は、ステップS12とステップS13の処理をメモリリンクAPI関数61の応答取得前に行っているが、これらの処理は、応答を取得した後、UHWメモリ領域外のアクセスと判定された場合に実行するようにしてもよい。一般に、メモリアクセスAPI関数41によるデータ構造の変換処理は時間を要するので、高速化のためには、判定後にステップS12及びステップS13の処理を行うか、UHWメモリ5a領域でのアクセスであれば、ステップS13の処理を中断することが望ましい。
次に、アクセスの排他処理機能は、コアモデル1からのUHWメモリ5aアクセスと、UHWモデル2のUHWメモリ5aのアクセスが競合した場合に排他処理を実行する。コアモデル1とUHWモデル2のアクセス権に関する設計仕様に従って決まる優先度に基づき、高優先度のアクセスを先に処理する。そして、そのアクセスが終了したら、他方のアクセスを処理する。なお、一般に、コアモデル1は、全体の制御を主な機能とし、UHWモデル2の処理する内容とは重ならないように設計される。したがって、コアモデル1とUHWモデル2がメモリ領域を共有することは、少ないと想定される。このため、大部分の時間は、コアモデル1とUHWモデル2は、別々のメモリ領域をアクセスする。
次に、メモリモデル3とUHWメモリ5aのデータ一致化機能は、ファームなどのソフトウェアデバッグ時にブレイクでとまったとき、あるいはシミュレーション終了時などにメモリモデル3の内容をUHWメモリ5aの内容に一致させる。このとき、メモリリンクAPI関数61は、UHWメモリ5aのデータをメモリモデル3の構造に合わせたデータ形式に変換して、メモリモデル3へデータ転送を行う。
ここで、本実施の形態のシミュレーション方法を実現するシミュレータのハードウェア構成について説明する。図6は、本実施の形態のシミュレータのハードウェア構成例を示すブロック図である。
シミュレータ100は、CPU101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションのプログラムが格納される。グラフィック処理装置104には、モニタ108が接続されており、CPU101からの命令に従って画像をモニタ108の画面に表示させる。入力インタフェース105には、キーボード109aやマウス109bが接続されており、キーボード109aやマウス109bから送られてくる信号を、バス107を介してCPU101に送信する。通信インタフェース106は、ネットワークに接続されており、ネットワークを介して他装置との間でデータの送受信を行う。
このようなシミュレータ100に上記の説明の対象論理回路のモデルを実現するプログラムと実行プログラムがロードされ、シミュレーションが行われる。
以下、本実施の形態のシミュレーション方法を手順に従って説明する。
図7は、本実施の形態のシミュレーション方法における実行プログラムのロード手順を示した図である。
コアモデル1、UHWモデル2、メモリモデル3及びメモリアクセスAPI関数41より成るSoCモデルを起動し、シミュレーションを開始する前に、ファームなどの実行プログラム(ロードモジュール)10をロードする。
実行プログラム10は、コアモデル1によって、メモリアクセスAPI関数41を通じてメモリモデル3の所定の領域に書き込まれる。図の例では、メモリ領域31aとメモリ領域31bに実行プログラム10が書き込まれる。実行プログラム10には、命令コードの他、データ空間、周辺回路の設定値、レジスタ設定などの初期設定値もしくは初期設定の命令が登録されている。実行プログラム10もしくは、その初期設定情報に従って、データ空間や周辺回路、レジスタなどの設定が行われる。なお、UHWモデル2のメモリ領域は、レジスタにより設定されるが、図の例では、この時点ではまだレジスタは設定されず、コンピュータ上のメモリにUHWメモリ5aは、設定されていない。なお、初期設定時UHWモデル2のレジスタ設定がされれば、UHWメモリ5aも同時に割り当てられることになる。
続いて、コアモデルが実行プログラム10の実行を開始する場合について説明する。
図8は、本実施の形態のシミュレーション方法における実行プログラム開始の際の手順を示した図である。
実行プログラム10にUHWモデル2の使用するメモリ空間を設定するレジスタの書き込み命令が含まれている場合がある。このような命令があった場合、コアモデル1は、命令に従って、メモリアクセスAPI関数41を通じて、メモリモデル3にUHW領域32を設定する。これと同時に、メモリリンクAPI関数61を通じて、UHWレジスタ5bにUHWメモリ5aの領域指定を書き込み、コンピュータのメモリ上にUHWメモリ5aを確保する。このように、UHWモデル2のメモリ領域として、メモリモデル3上の領域32と、UHWメモリ5aの両メモリの割当てを必ず行う。
次に、コアモデル1からUHWメモリ5aにアクセスがあった場合について説明する。
コアモデル1からメモリアクセスがあると、メモリアクセスAPI関数41またはメモリリンクAPI関数61がメモリアクセスのアクセス先がUHWメモリ5aに含まれているかどうかを判定し、含まれていない場合は、メモリアクセスAPI関数41を通じてメモリモデル3へアクセスする。含まれている場合は、メモリリンクAPI61を通じて、UHWメモリ5aにアクセスする。
それぞれのケースについて図面を用いて説明する。以下の説明では、UHWメモリの領域チェックは、メモリアクセスAPI関数41で行うこととし、メモリアクセスAPI関数41からUHWレジスタ5bの内容を直接読みだせることとする。なお、UHWレジスタ5bではなく、UHWレジスタ5bと同一のデータをメモリアクセスAPI関数41から直接読み出し可能な領域に格納しておき、これを参照するとしてもよい。
図9は、本実施の形態のシミュレーション方法におけるコアモデルのデータアクセス(UHWメモリ領域以外)の際の手順を示した図である。
コアモデル1からUHWメモリ5a領域以外のメモリアクセスが発生し、メモリアクセスAPI関数41が呼び出される。メモリアクセスAPI関数41は、アクセス要求先がUHWメモリ5a領域に含まれるかチェックするが、含まれていないので、メモリモデル3の該当領域にアクセスを行う。このとき、図に示したように、メモリリンクAPI関数61は、起動されない。また、UHWモデル2からUHWメモリ5aへは、コアモデル1のアクセス状況とは関係なく、任意にアクセスできる。このように、コアモデル1とUHWモデル2のメモリアクセスが同じアドレス空間でない(競合しない)場合は、それぞれのメモリをアクセスすることができるので、並列実行が可能となる。これにより、SoCモデルをマルチスレッド化したとき、高速シミュレーションが可能となる。
次に、コアモデル1からUHWメモリ5aにアクセスがあるか、UHWモデル2と競合しない場合について説明する。
図10は、本実施の形態のシミュレーション方法におけるコアモデルのデータアクセス(UHWメモリ領域で競合なし)の際の手順を示した図である。
コアモデル1からUHWメモリ5a領域内のメモリアクセスが発生し、メモリアクセスAPI関数41が呼び出される。メモリアクセスAPI関数41は、アクセス要求先がUHWメモリ5a領域に含まれるかチェックし、含まれているのでメモリリンクAPI関数61にメモリアクセス要求を引き継ぐ。メモリリンクAPI関数61は、UHWモデル2のアクセス状態をチェックし、競合しないと判断されれば、メモリアクセスAPI関数41を通じて取得したコアモデル1のアクセス要求に応じてUHWメモリ5aにアクセスする。リードであれば、読み出した結果を、メモリアクセスAPI関数を通じてコアモデル1に返す。
この場合も、コアモデル1とUHWモデル2が競合しないので、それぞれのメモリをアクセスすることができ、並列実行が可能となる。これにより、SoCモデルをマルチスレッド化したとき、高速シミュレーションが可能となる。
次に、コアモデル1からUHWメモリ5aにアクセスがあり、UHWモデル2と競合する場合について説明する。
図11は、本実施の形態のシミュレーション方法におけるコアモデルのデータアクセス(UHWメモリ領域で競合あり)の際の手順を示した図である。
コアモデル1からUHWメモリ5a領域内のメモリアクセスが発生し、メモリアクセスAPI関数41が呼び出される。メモリアクセスAPI関数41は、アクセス要求先がUHWメモリ5a領域に含まれるかチェックし、含まれているのでメモリリンクAPI関数61にメモリアクセス要求を引き継ぐ。メモリリンクAPI関数61は、UHWモデル2のアクセス状態をチェックすると、この場合は、同じ空間のアクセス要求がある(競合する)と判断される。同じメモリ領域にアクセス要求があった場合は、排他制御により、優先度の高い方を実行する。UHWモデル2が優先であれば、UHWモデル2のリードライトが終了した後、メモリアクセスAPI関数41を通じて取得したコアモデル1のアクセス要求に応じてUHWメモリ5aにアクセスする。優先度が逆であれば、UHWモデル2のアクセスを待機させた後、コアモデル1のアクセス要求を処理した後、UHWモデル2の待機を解除する。この優先順位は、SoCモデルの仕様に依存する。たとえば、書き込みと読み出しでは優先度が異なってもよい。
なお、以上の処理は、アクセス要求が競合した場合であり、一方がアクセス中にアクセス要求があった場合には、アクセス中の処理が優先される。
次に、シミュレーション実行後などにUHWメモリ5aの内容をメモリモデル3に反映する処理について説明する。
図12は、本実施の形態のシミュレーション方法におけるシミュレーション終了時の手順を示した図である。なお、デバッグのブレイクポイントで止まった時点など、シミュレーションが停止した場合にも同様の処理を行う。
シミュレーションが停止すると、メモリリンクAPI関数61が呼び出される。メモリリンクAPI関数61は、UHWメモリ5aの内容を対応するメモリモデル3のUHW領域32に書き込み、両メモリの一致を図る。このとき、メモリリンクAPI関数61では、構造を持たないUHWメモリ5aのデータをメモリモデル3の構造に応じて変換処理し、書き込みを行う。
以上のように、UHWモデル2用のメモリ領域を、構造を持たないコンピュータのメモリ上に設けたことにより、コアモデル1と競合せず、それぞれのメモリをアクセスすることができ、並列実行が可能となる。また、UHWモデル2用のUHWメモリ5aをコンピュータ上に確保したことにより、UHWモデル2のアクセス速度も高速化することができる。この結果、SoCモデルをマルチスレッド化したとき、高速シミュレーションが可能となる。
図13は、本実施の形態のシミュレーション方法にマルチスレッドを適用した場合の処理の流れを示した図である。
コアモデル1を実行するスレッドと、UHWモデル2を実行するスレッドが並列動作し、マルチスレッドを構成している。コアモデル1は、メモリモデル3に格納される実行プログラムに従って処理を実行し、命令に従って、メモリモデル3のUHW領域を設定する。このとき、UHWモデル2が使用するUHWメモリ5aがコンピュータ上に設定され、UHWモデル2は、UHWメモリ5aにアクセスするように設定される。
そして、コアモデル1は、実行プログラムに従って、必要時にUHWモデル2を起動する。コアモデル1は、UHWモデル2を起動した後も、UHWモデル2と並列に処理を実行する。UHWモデル2は、UHWメモリ5aにアクセスしながら、所定の演算処理を行っている。このように、両スレッドは、並列に動作している。
この状態で、コアモデル1のUHWメモリ5aアクセス要求と、UHWモデル2のアクセス要求が競合した場合には、高い優先度から順に処理が行われる。図の例では、コアモデル1のデータ書き込みは、UHWモデル2の後で処理され、コアモデル1のデータ読み出しは、UHWモデル2の前に実行される。
このように、コアモデル1とUHWモデル2は、それぞれのメモリにアクセスし、並列動作を行うことができ、シミュレーションの高速化が可能となる。
(付記1) プロセッサコアとユーザハードウェアが混在する対象論理回路の機能をコンピュータ上で検証するためのシステムシミュレーション方法において、
初期化手段が、前記コンピュータ上に構築された前記プロセッサコアの機能をモデル化したプロセッサコアモデル、前記ユーザハードウェアの機能をモデル化したユーザハードウェアモデル及び前記対象論理回路のメモリの構造をモデル化したメモリモデルについて、前記ユーザハードウェアモデルが利用する前記メモリモデルの領域に応じたユーザハードウェア用メモリを前記コンピュータのメモリ領域に確保し、前記ユーザハードウェアモデルのアクセス先を前記ユーザハードウェア用メモリに置き換え、
アクセス制御手段が、アクセス要求に応じて前記プロセッサコアモデルのアクセス先を制御する、
ことを特徴とするシステムシミュレーション方法。
(付記2) 前記アクセス制御手段が、前記プロセッサコアモデルからのメモリアクセス要求に対し、アクセス要求先が前記ユーザハードウェア用メモリに置き換えられた領域に含まれているかどうかを判定し、
含まれていない場合はアクセス先を前記メモリモデルとし、含まれている場合はアクセス先を前記ユーザハードウェア用メモリとする、
ことを特徴とする付記1記載のシステムシミュレーション方法。
(付記3) 前記アクセス制御手段が、前記プロセッサコアモデルのアクセス先が前記ユーザハードウェア用メモリであって、前記ユーザハードウェアモデルから同じメモリ領域にアクセス要求があった場合には、予め設定された優先度に基づき、前記優先度の高い側のアクセス要求を先に処理する、
ことを特徴とする付記2記載のシステムシミュレーション方法。
(付記4) 前記アクセス制御手段は、前記プロセッサコアモデルからの前記メモリアクセス要求に対する処理を、前記プロセッサコアモデルの前記アクセス先として選択されなかった前記メモリモデルまたは前記ユーザハードウェア用メモリに対しては実行しない、
ことを特徴とする付記2記載のシステムシミュレーション方法。
(付記5) 前記初期化手段が、前記プロセッサコアモデルが実行する対象プログラムが前記メモリモデルにロードされる際に、前記対象プログラムに記述された初期設定情報に基づき、前記コンピュータのメモリ領域に前記ユーザハードウェア用メモリを設定する、
ことを特徴とする付記1記載のシステムシミュレーション方法。
(付記6) 反映手段が、前記システムシミュレーションの終了を含む前記システムシミュレーションが停止された場合に、前記ユーザハードウェア用メモリの内容を前記メモリモデルに反映する、
ことを特徴とする付記1記載のシステムシミュレーション方法。
(付記7) 前記ユーザハードウェア用メモリの内容を前記メモリモデルに反映する際は、前記メモリモデルのデータ構造に応じた形式に変換して前記ユーザハードウェア用メモリの内容を書き込む、
ことを特徴とする付記6記載のシステムシミュレーション方法。
(付記8) プロセッサコアとユーザハードウェアが混在する対象論理回路の機能を検証するためのシステムシミュレータにおいて、
前記プロセッサコアの機能をモデル化したプロセッサコアモデル部と、
前記ユーザハードウェアの機能をモデル化したユーザハードウェアモデル部と、
前記対象論理回路のメモリの構造をモデル化したメモリモデル部と、
前記ユーザハードウェアモデル部が利用するユーザハードウェア用メモリと、
前記ユーザハードウェアモデル部がアクセスする前記メモリモデル部の領域に応じた領域を前記ユーザハードウェア用メモリとして前記コンピュータのメモリ領域に確保する初期化手段と、
前記ユーザハードウェアモデル部から前記メモリモデル部へのアクセス要求があった場合に、アクセス対象の前記メモリモデル部の領域に対応する前記ユーザハードウェア用メモリの領域に対して前記アクセス要求を実行させるメモリ管理部と、
を具備することを特徴とするシステムシミュレータ。
本発明の実施の形態に適用される発明の概念図である。 本発明の実施の形態のシステムシミュレータの機能ブロック図である。 本実施の形態のメモリモデルへのアクセス例を示した図である。 本実施の形態の第1のアクセスメモリ選択処理の手順を示したフローチャートである。 本実施の形態の第2のアクセスメモリ選択処理の手順を示したフローチャートである。 本実施の形態のシミュレータのハードウェア構成例を示すブロック図である。 本実施の形態のシミュレーション方法における実行プログラムのロード手順を示した図である。 本実施の形態のシミュレーション方法における実行プログラム開始の際の手順を示した図である。 本実施の形態のシミュレーション方法におけるコアモデルのデータアクセス(UHWメモリ領域以外)の際の手順を示した図である。 本実施の形態のシミュレーション方法におけるコアモデルのデータアクセス(UHWメモリ領域で競合なし)の際の手順を示した図である。 本実施の形態のシミュレーション方法におけるコアモデルのデータアクセス(UHWメモリ領域で競合あり)の際の手順を示した図である。 本実施の形態のシミュレーション方法におけるシミュレーション終了時の手順を示した図である。 本実施の形態のシミュレーション方法にマルチスレッドを適用した場合の処理の流れを示した図である。 従来のSoCモデルシミュレータの構成図である。
符号の説明
1 プロセッサコアモデル(コアモデル)
2 ユーザハードウェアモデル(UHWモデル)
3 メモリモデル
4 メモリアクセス処理部
5 ユーザハードウェア用メモリ
5a UHWメモリ
5b UHWレジスタ
6 メモリ管理部
6a 初期化手段
6b アクセス制御手段
6c 反映手段
41 メモリアクセスAPI関数
61 メモリリンクAPI関数

Claims (6)

  1. プロセッサコアとユーザハードウェアが混在する対象論理回路の機能をコンピュータ上で検証するためのシステムシミュレーション方法において、
    初期化手段が、前記コンピュータ上に構築された前記プロセッサコアの機能をモデル化したプロセッサコアモデル、前記ユーザハードウェアの機能をモデル化したユーザハードウェアモデル及び前記対象論理回路のメモリの構造をモデル化したメモリモデルについて、前記ユーザハードウェアモデルが利用する前記メモリモデルの領域に応じたユーザハードウェア用メモリを前記コンピュータのメモリ領域に確保し、前記ユーザハードウェアモデルのアクセス先を前記ユーザハードウェア用メモリに置き換え、
    アクセス制御手段が、アクセス要求に応じて前記プロセッサコアモデルのアクセス先を制御する、
    ことを特徴とするシステムシミュレーション方法。
  2. 前記アクセス制御手段が、前記プロセッサコアモデルからのメモリアクセス要求に対し、アクセス要求先のメモリ領域が前記ユーザハードウェア用メモリに置き換えられた領域に含まれているかどうかを判定し、
    含まれていない場合はアクセス先を前記メモリモデルとし、含まれている場合はアクセス先を前記ユーザハードウェア用メモリとする、
    ことを特徴とする請求項1記載のシステムシミュレーション方法。
  3. 前記アクセス制御手段が、前記プロセッサコアモデルのアクセス先が前記ユーザハードウェア用メモリであって、前記ユーザハードウェアモデルから同じメモリ領域にアクセス要求があった場合には、予め設定された優先度に基づき、前記優先度の高い側のアクセス要求を先に処理する、
    ことを特徴とする請求項2記載のシステムシミュレーション方法。
  4. 前記初期化手段が、前記プロセッサコアモデルが実行する対象プログラムが前記メモリモデルにロードされる際に、前記対象プログラムに記述された初期設定情報に基づき、前記コンピュータのメモリ領域に前記ユーザハードウェア用メモリを設定する、
    ことを特徴とする請求項1記載のシステムシミュレーション方法。
  5. 反映手段が、前記システムシミュレーションの終了を含む前記システムシミュレーションが停止された場合に、前記ユーザハードウェア用メモリの内容を前記メモリモデルに反映する、
    ことを特徴とする請求項1記載のシステムシミュレーション方法。
  6. 前記ユーザハードウェア用メモリの内容を前記メモリモデルに反映する際は、前記メモリモデルのデータ構造に応じた形式に変換して前記ユーザハードウェア用メモリの内容を書き込む、
    ことを特徴とする請求項5記載のシステムシミュレーション方法。


JP2005217114A 2005-07-27 2005-07-27 システムシミュレーション方法 Expired - Fee Related JP4346587B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005217114A JP4346587B2 (ja) 2005-07-27 2005-07-27 システムシミュレーション方法
US11/336,967 US20070038429A1 (en) 2005-07-27 2006-01-23 System simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005217114A JP4346587B2 (ja) 2005-07-27 2005-07-27 システムシミュレーション方法

Publications (2)

Publication Number Publication Date
JP2007034680A true JP2007034680A (ja) 2007-02-08
JP4346587B2 JP4346587B2 (ja) 2009-10-21

Family

ID=37743618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005217114A Expired - Fee Related JP4346587B2 (ja) 2005-07-27 2005-07-27 システムシミュレーション方法

Country Status (2)

Country Link
US (1) US20070038429A1 (ja)
JP (1) JP4346587B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011501466A (ja) * 2007-10-26 2011-01-06 クリー エル イー ディー ライティング ソリューションズ インコーポレイテッド 1つまたは複数の発光体を有する照明デバイス、およびその製作方法
JP2014021572A (ja) * 2012-07-13 2014-02-03 Meidensha Corp デジタル回路用シミュレーション装置及びそのプログラム。
US9448931B2 (en) 2011-03-18 2016-09-20 Fujitsu Limited Endian conversion method and system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9125647B2 (en) 2008-02-21 2015-09-08 Ethicon, Inc. Method and apparatus for elevating retainers on self-retaining sutures
BRPI0911132B8 (pt) 2008-04-15 2021-06-22 Angiotech Pharm Inc sutura para ser usada em um procedimento aplicado ao tecido
EP3338192A1 (en) * 2015-08-18 2018-06-27 Telefonaktiebolaget LM Ericsson (PUBL) Method for observing software execution, debug host and debug target

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE134779T1 (de) * 1987-06-12 1996-03-15 Bmc Software Inc Supervisorverfahren für ein rechnerbetriebssystem
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US6144930A (en) * 1993-06-09 2000-11-07 Compaq Computer Corporation Method for providing a memory model of a memory device for use in simulation
US5678028A (en) * 1994-10-25 1997-10-14 Mitsubishi Electric Information Technology Center America, Inc. Hardware-software debugger using simulation speed enhancing techniques including skipping unnecessary bus cycles, avoiding instruction fetch simulation, eliminating the need for explicit clock pulse generation and caching results of instruction decoding
US5838948A (en) * 1995-12-01 1998-11-17 Eagle Design Automation, Inc. System and method for simulation of computer systems combining hardware and software interaction
US5911059A (en) * 1996-12-18 1999-06-08 Applied Microsystems, Inc. Method and apparatus for testing software
US6751583B1 (en) * 1999-10-29 2004-06-15 Vast Systems Technology Corporation Hardware and software co-simulation including simulating a target processor using binary translation
US6263302B1 (en) * 1999-10-29 2001-07-17 Vast Systems Technology Corporation Hardware and software co-simulation including simulating the cache of a target processor
US6230114B1 (en) * 1999-10-29 2001-05-08 Vast Systems Technology Corporation Hardware and software co-simulation including executing an analyzed user program
US6993469B1 (en) * 2000-06-02 2006-01-31 Arm Limited Method and apparatus for unified simulation
US6865502B2 (en) * 2001-04-04 2005-03-08 International Business Machines Corporation Method and system for logic verification using mirror interface
JP4475621B2 (ja) * 2001-04-18 2010-06-09 キヤノン株式会社 メモリ制御回路の論理検証装置及び方法
US7353156B2 (en) * 2002-02-01 2008-04-01 International Business Machines Corporation Method of switching external models in an automated system-on-chip integrated circuit design verification system
US7266786B2 (en) * 2002-11-05 2007-09-04 Sonics, Inc. Method and apparatus for configurable address mapping and protection architecture and hardware for on-chip systems
ITMI20040600A1 (it) * 2004-03-26 2004-06-26 Atmel Corp Sistema dsp su chip a doppio processore a virgola mobile nel dominio complesso
US20060036424A1 (en) * 2004-08-13 2006-02-16 Petsinger Jeremy P Method and apparatus for verifying resources shared by multiple processors
US20060106988A1 (en) * 2004-11-16 2006-05-18 Charbel Khawand Method and system for exchanging data
US7478027B2 (en) * 2005-03-30 2009-01-13 International Business Machines Corporation Systems, methods, and media for simulation of integrated hardware and software designs
JP4717492B2 (ja) * 2005-04-12 2011-07-06 富士通株式会社 マルチコアモデルシミュレータ
US7500066B2 (en) * 2005-04-30 2009-03-03 Tellabs Operations, Inc. Method and apparatus for sharing instruction memory among a plurality of processors
US7434182B2 (en) * 2005-07-14 2008-10-07 International Business Machines Corporation Method for testing sub-systems of a system-on-a-chip using a configurable external system-on-a-chip

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011501466A (ja) * 2007-10-26 2011-01-06 クリー エル イー ディー ライティング ソリューションズ インコーポレイテッド 1つまたは複数の発光体を有する照明デバイス、およびその製作方法
US9448931B2 (en) 2011-03-18 2016-09-20 Fujitsu Limited Endian conversion method and system
JP2014021572A (ja) * 2012-07-13 2014-02-03 Meidensha Corp デジタル回路用シミュレーション装置及びそのプログラム。

Also Published As

Publication number Publication date
US20070038429A1 (en) 2007-02-15
JP4346587B2 (ja) 2009-10-21

Similar Documents

Publication Publication Date Title
US10078882B2 (en) Priority-based command execution
JP5787629B2 (ja) マシンビジョン用マルチプロセッサシステムオンチップ
US7543295B2 (en) Method for enhancing efficiency in mutual exclusion
US7773090B1 (en) Kernel mode graphics driver for dual-core computer system
JP4896376B2 (ja) コプロセッサの性能を強化するシステムおよび方法
JP4346587B2 (ja) システムシミュレーション方法
US9454397B2 (en) Data processing systems
US7856635B2 (en) Dynamic address windowing on a PCI bus
JP2012038293A5 (ja)
JP2004272894A (ja) グラフィックス処理ユニットのマルチスレッド式カーネル
JP2007122602A (ja) マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法
US9164799B2 (en) Multiprocessor system
JP2007219816A (ja) マルチプロセッサシステム
JP4425177B2 (ja) グラフィックプロセッサ、情報処理装置
WO2006123547A1 (ja) 情報処理装置、システム、方法およびプロセッサ
US7552269B2 (en) Synchronizing a plurality of processors
JP2009181579A (ja) 機能を呼び出す方法、サブシステムおよびシステム
EP2449472A1 (en) A programmable controller
JPH0855097A (ja) データ処理システム及びそのメモリアクセス方法
JPH02297594A (ja) データ処理装置、データ処理システム及びアウトラインフォントデータ発生方法
JP6396715B2 (ja) データ処理装置
JP2022072452A (ja) 情報処理装置、及びプログラム
JP2021174051A (ja) インタフェース回路およびインタフェース回路の制御方法
WO2006070939A1 (en) Program executed under control of operating system providing kernel mode and user mode
JPS5856277A (ja) 情報処理装置ならびに方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080516

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees