図面 (/)

技術 シミュレーション装置及びシミュレーションプログラム

出願人 三菱電機株式会社
発明者 遠山治西川浩司亀丸敏久
出願日 2014年3月6日 (5年11ヶ月経過) 出願番号 2014-043718
公開日 2015年9月28日 (4年4ヶ月経過) 公開番号 2015-170081
状態 特許登録済
技術分野 デバッグ/監視 CAD
主要キーワード ピン動作 追加タイミング C言語 時間概念 実行スケジューリング シミュレーションプロセス タイミング調整処理 ミス回数
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2015年9月28日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (14)

課題

検証対象となるシステムSWモデルとHWモデルとに特別な修正を必要とすることなく、タイミング精度よくSWモデルとHWモデルとを協調して動作させることが可能とすることを目的とする。

解決手段

SSモデル10は、SWモデルで規定された命令を実行する。実行回数計上部20は、実行された命令のうち、HWモデルに対して発行されるHW命令の前に実行された他の命令によって発生する動作の実行回数を計上する。実行時間計算部30は、計上された実行回数に基づき、他の命令の実行時間を計算する。タイミング調整部40は、計算された実行時間に応じて、HW命令をIF部がHWモデルへ中継するタイミングを遅延させる。関数ピンIF変換部50は、タイミング調整部40の制御に従い、SWモデルとHWモデルとの通信を中継する。

概要

背景

プロセッサを含むHWと、そのHWで動作するSWとで構成されるシステムがある。このシステムを構成するHWをCベース言語システムレベル設計言語記述したHWモデルと、このシステムのプロセッサで動作するSWとを並列動作させて、このシステムの動作を検証するシミュレーション装置がある。

特許文献1,2及び非特許文献1には、時間概念を持たないSWモデルと時間概念を持つHWモデルとを協調シミュレーションさせるための技術について記載されている。

特許文献1,2には、SWモデルの実行スケジューリングを行う手段(擬似OS)と、HWモデルの実行スケジューリングを行う手段と、HWモデルとSWモデルとの通信手段とを備え、擬似OSの算出する処理時間に応じて次のシミュレーションプロセスの開始を遅延させることが記載されている。これにより、SWモデルの実行に時間概念(処理遅延)を付与し、SWモデルとHWモデルとが実機と同等のタイミング・実行順協調動作できるようにしている。

非特許文献1には、SWの処理時間を考慮するために、SW部品のあるブロックを認識し、ある間隔で制御点を挿入し制御点間の時間を入れることについて記載されている。これにより、SWモデルのシミュレーションに時間概念を付与し、HWモデルとの協調動作できるようにしている。

概要

検証対象となるシステムのSWモデルとHWモデルとに特別な修正を必要とすることなく、タイミング精度よくSWモデルとHWモデルとを協調して動作させることが可能とすることを目的とする。ISSモデル10は、SWモデルで規定された命令を実行する。実行回数計上部20は、実行された命令のうち、HWモデルに対して発行されるHW命令の前に実行された他の命令によって発生する動作の実行回数を計上する。実行時間計算部30は、計上された実行回数に基づき、他の命令の実行時間を計算する。タイミング調整部40は、計算された実行時間に応じて、HW命令をIF部がHWモデルへ中継するタイミングを遅延させる。関数ピンIF変換部50は、タイミング調整部40の制御に従い、SWモデルとHWモデルとの通信を中継する。

目的

この発明は、検証対象となるシステムのSWモデルとHWモデルとに特別な修正を必要とすることなく、タイミング精度よくSWモデルとHWモデルとを協調して動作させる事を目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

時間概念を持たないSWモデルソフトウェアモデル)と、時間概念を持つHWモデルハードウェアモデル)とを協調して動作させるシミュレーション装置であり、前記SWモデルで規定された命令を実行するSWモデル実行部と、前記SWモデル実行部が実行した命令のうち、前記HWモデルに対して発行されるHW命令の前に実行された他の命令によって発生する動作の実行回数を計上する計上部と、前記計上部が計上した実行回数に基づき、前記他の命令の実行時間を計算する実行時間計算部と、前記SWモデルと前記HWモデルとの通信中継するIF部と、前記実行時間計算部が計算した実行時間に応じて、前記HW命令を前記IF部が前記HWモデルへ中継するタイミングを遅延させるタイミング調整部とを備えることを特徴とするシミュレーション装置。

請求項2

前記IF部は、中継したHW命令に対する前記HWモデルの動作が完了すると、前記SWモデル実行部へ応答を返し、前記SWモデル実行部は、前記IF部から応答が返ると、前記HW命令の後の命令を実行することを特徴とする請求項1に記載のシミュレーション装置。

請求項3

前記シミュレーション装置は、さらに、動作の種類毎に実行時間の基準値を記憶する基準値記憶部を備え、前記計上部は、前記動作の種類毎に、前記動作の実行回数を計上し、前記実行時間計算部は、前記計上部が計上した前記動作の種類毎の実行回数と、前記基準値記憶部が記憶した基準値とに基づき、前記他の命令の実行時間を計算することを特徴とする請求項1又は2に記載のシミュレーション装置。

請求項4

前記シミュレーション装置は、さらに、前記HW命令が実行された場合に、前記HWモデルの動作が完了するまで、実行された前記HW命令を記憶するバッファ部を備え、前記IF部は、前記バッファに空きがある場合には、前記HW命令が実行された場合に、実行された前記HW命令に対する前記HWモデルの動作の完了前に、前記SWモデル実行部へ応答を返し、前記SWモデル実行部は、前記IF部から応答が返ると、前記HW命令の後の命令を実行することを特徴とする請求項1から3までのいずれかに記載のシミュレーション装置。

請求項5

時間概念を持たないSWモデル(ソフトウェアモデル)と、時間概念を持つHWモデル(ハードウェアモデル)とを協調して動作させるシミュレーションプログラムであり、前記SWモデルで規定された命令を実行するSWモデル実行処理と、前記SWモデル実行処理で実行した命令のうち、前記HWモデルに対して発行されるHW命令の前に実行された他の命令によって発生する動作の実行回数を計上する計上処理と、前記計上処理で計上した実行回数に基づき、前記他の命令の実行時間を計算する実行時間計算処理と、前記SWモデルと前記HWモデルとの通信を中継するIF処理と、前記実行時間計算処理で計算した実行時間に応じて、前記HW命令を前記IF処理で前記HWモデルへ中継するタイミングを遅延させるタイミング調整処理とをコンピュータに実行させることを特徴とするシミュレーションプログラム。

技術分野

0001

この発明は、時間概念を持たないソフトウェア(以下、SW)モデルと、時間概念を持つハードウェア(以下、HW)モデルとを協調して動作させるシミュレーション装置に関するものである。

背景技術

0002

プロセッサを含むHWと、そのHWで動作するSWとで構成されるシステムがある。このシステムを構成するHWをCベース言語システムレベル設計言語記述したHWモデルと、このシステムのプロセッサで動作するSWとを並列動作させて、このシステムの動作を検証するシミュレーション装置がある。

0003

特許文献1,2及び非特許文献1には、時間概念を持たないSWモデルと時間概念を持つHWモデルとを協調シミュレーションさせるための技術について記載されている。

0004

特許文献1,2には、SWモデルの実行スケジューリングを行う手段(擬似OS)と、HWモデルの実行スケジューリングを行う手段と、HWモデルとSWモデルとの通信手段とを備え、擬似OSの算出する処理時間に応じて次のシミュレーションプロセスの開始を遅延させることが記載されている。これにより、SWモデルの実行に時間概念(処理遅延)を付与し、SWモデルとHWモデルとが実機と同等のタイミング・実行順協調動作できるようにしている。

0005

非特許文献1には、SWの処理時間を考慮するために、SW部品のあるブロックを認識し、ある間隔で制御点を挿入し制御点間の時間を入れることについて記載されている。これにより、SWモデルのシミュレーションに時間概念を付与し、HWモデルとの協調動作できるようにしている。

0006

特開2009−26113号公報
特開2012−27952号公報

先行技術

0007

ハード−ソフト協調検証高速化技術SystemCベースでSTARCが開発」、日経マイクロデバイス、2005年1月号、p.106−107

発明が解決しようとする課題

0008

しかし、特許文献1,2及び非特許文献1に記載された技術では、SWモデルに与える時間(遅延)情報として、検証対象のシステムとシミュレーション装置との性能差からソフトウェアSWの処理時間を算出したものを用いる。そのため、キャッシュ動作外部メモリへのアクセス時間等、CPUの内部動作に起因する処理時間を考慮すると、誤差が大きくなってしまうという課題がある。

0009

また、特許文献1,2に記載された技術では、擬似OSを用いるため、OSを含めたシステム全体のデバッグには用いることができない。さらに、非特許文献1に記載された技術では、SWモデルに改修が必要となるため、協調動作させることはできるものの、SWモデルのデバッグには使えないという課題がある。

0010

この発明は、検証対象となるシステムのSWモデルとHWモデルとに特別な修正を必要とすることなく、タイミング精度よくSWモデルとHWモデルとを協調して動作させる事を目的とする。

課題を解決するための手段

0011

この発明に係るシミュレーション装置は、
時間概念を持たないSWモデル(ソフトウェアモデル)と、時間概念を持つHWモデル(ハードウェアモデル)とを協調して動作させるシミュレーション装置であり、
前記SWモデルで規定された命令を実行するSWモデル実行部と、
前記SWモデル実行部が実行した命令のうち、前記HWモデルに対して発行されるHW命令の前に実行された他の命令によって発生する動作の実行回数を計上する計上部と、
前記計上部が計上した実行回数に基づき、前記他の命令の実行時間を計算する実行時間計算部と、
前記SWモデルと前記HWモデルとの通信を中継するIF部と、
前記実行時間計算部が計算した実行時間に応じて、前記HW命令を前記IF部が前記HWモデルへ中継するタイミングを遅延させるタイミング調整部と
を備えることを特徴とする。

発明の効果

0012

この発明に係るシミュレーション装置は、SWモデル実行部が実行した命令の実行回数に基づき、命令の実行時間を計算して、計算した実行時間に応じてHWモデルへの命令の発行を遅延させる。そのため、SWモデルとHWモデルとに特別な修正を必要とすることなく、タイミング精度よくSWモデルとHWモデルとを協調して動作させることが可能である。

図面の簡単な説明

0013

実施の形態1に係るシミュレーション装置100の構成図。
図1に示す各モデルの実装言語の分類を示す図。
動作フローの一例を示す図。
前提条件の下、実機が動作する場合のタイミングチャートを示す図。
シミュレーションの開始から外部IOアクセスが実行されるまでの、実行回数計上部20の動作を示す図。
実行時間計算部30の動作を示す図。
外部IOモデル15からHWモデル70Aに対するアクセス要求がされた場合のタイミング調整部40と関数ピンIF変換部50の動作を示す図。
図5から図7までに基づき説明した一連の動作を示す図。
実施の形態2に係るシミュレーション装置100の構成図。
追加タイミング情報計算部80と、他の機能部との関係を示す図。
実機の外部IO部分に1段のバスバッファがある場合の動作例を示す図。
シミュレーション装置100が図11と同等のシミュレーションが行えることを示す図。
実施の形態1,2に示したシミュレーション装置100のハードウェア構成の例を示す図。

実施例

0014

実施の形態1.
図1は、実施の形態1に係るシミュレーション装置100の構成図である。
シミュレーション装置100は、ISS(Instruction Set Simulator)モデル10(SWモデル実行部)、実行回数計上部20(計上部)、実行時間計算部30、基準値記憶部31、タイミング調整部40、関数/ピンIF変換部50(IF部)、SWモデル60、HWモデル70(HWモデル70A〜70Z)を備える。

0015

ISSモデル10は、検証対象のシステムのSWモデル60を動作させる。ISSモデル10は、検証対象のシステムの実機と同じように、SWモデル60の実行をシミュレーションする。ISSモデル10は、実機の各構成要素を模擬したCPUコアモデル11、CPUバスモデル12、内部メモリ周辺装置モデル13、キャッシュモデル14、外部IOモデル15を含む。
ISSモデル10に含まれる各機能モデル11〜15と、SWモデル60とは、C言語等の高級言語を用いてモデル化されており、シミュレーションにおいて時間概念を持たない。

0016

実行回数計上部20は、ISSモデル10に含まれる各モデルの挙動監視し、ISSモデル10で実行されたSWモデル60の命令によって発生する動作の実行回数を計上する。
実行回数計上部20は、例えば、内部メモリ/周辺装置モデル13に対するCPUコアモデルのアクセス回数21、キャッシュモデルで発生するキャッシュヒットミス回数22、CPUコアモデルで実行される各命令の実行回数23、外部IOモデルへのCPUコアモデルのアクセス回数24等の、実際のCPUで処理時間がかかる動作の実行回数を計上する。
なお、各実行回数21〜24は、命令の実行シーケンス、キャッシュヒット/ミス等を考慮してパイプライン実行される際に隠蔽されるものを差し引いて計上される。また、計上された各実行回数21〜24は、後述する関数/ピンIF変換部50が出力する計上値リセット指示51により0にリセットされる。

0017

実行時間計算部30は、実行回数計上部20が計上した各実行回数21〜24の実行回数に対して、後述する基準値記憶部31が記憶した基準値を適用して、実際のCPUでの実行時間32を算出する。
基準値記憶部31は、実行回数計上部20が計上する動作の種類毎に、実際のCPUでの1回当たりの実行時間を記憶した記憶装置である。

0018

タイミング調整部40は、実行時間32に基づき、関数/ピンIF変換部50がHWモデル70に対して、命令を発行するタイミングを制御する。

0019

関数/ピンIF変換部50は、ISSモデル10からHWモデル70に対するアクセス要求(C言語等の関数の実行)を、HWモデル70とIF(インタフェース)可能なピンの動作に変換する。
関数/ピンIF変換部50は、例えば、SystemCのような、SWモデル60とHWモデル70との両方の記述が可能な言語でモデル化されている。

0020

SWモデル60は、検証対象となるSWモデルである。SWモデル60は、OSを含んでモデル化されている。SWモデル60は、上述した通り、C言語等の高級言語を用いてモデル化されており、シミュレーションにおいて時間概念を持たない。

0021

HWモデル70は、検証対象となるHWモデルである。HWモデル70は、HDL(Hardware Description Language)でモデル化されており、シミュレーションにおいて、時間概念を持つ。

0022

図2は、図1に示す各モデルの実装言語の分類を示す図である。
ここでは、ISSモデル10(内部の各モデルも含む)、実行回数計上部20、実行時間計算部30、基準値記憶部31、タイミング調整部40は、C言語で記述されている。関数/ピンIF変換部50は、SystemCで記述されている。HWモデル70は、HDLの1つであるVerilogで記述されている。
なお、この分類は以降の説明を簡単にするために示すものであり、各モデルの実装言語を限定するものではない。

0023

シミュレーション装置100でSWモデル60とHWモデル70がどのように協調動作するのかを説明する。
まず前提条件を説明した上で、前提条件の下、実機とシミュレーション装置100とのそれぞれで、SWモデル60とHWモデル70とが協調動作する様子を説明する。

0024

<前提条件>
(条件1)SWモデル60は、ISSモデル10の内部メモリ/周辺装置モデル13の内部メモリに格納されているものとし、CPUコアモデル11は内部メモリから命令を読みだして実行するものとする。
(条件2)基準値記憶部31は、CPUコアモデル11が実行する各命令の実行時間を一律1、内部メモリのアクセス時間を5、キャッシュヒット時のアクセス時間を1、外部IOモデルがISSモデル10の外部にアクセスを発行するまでの時間を2、関数/ピンIF変換部50からアクセス要求が発行されてからHWモデル70が応答を返すまでの時間を10とする(単位はns)。
(条件3)SWモデル60の動作の説明を簡単にするために、図3に示す動作フローように、CPUコアモデル11は、9個の命令(命令A〜I)を実行した後、外部IOモデル15にアクセスし、外部IOモデル15のアクセス完了後に続いて1個の命令(命令J)を実行する、という状況を想定する。なお、合計10個の命令(命令A〜J)を実行するにあたり、9回のキャッシュアクセスヒット)、と1回の内部メモリアクセスがあるものとする。
なお、これら前提条件は説明を簡易にするために便宜的に定めたものであり、この内容に限定するものではない。

0025

<実機での動作>
図4は、前提条件の下、実機が動作する場合のタイミングチャートを示す図である。
図4では、上に書かれている数字は時間[ns]を表す。また、Caは、図3で示した「キャッシュアクセス」を表し、Maは「内部メモリアクセス」、A〜Jは「命令A〜Jの実行」、外部IOは「外部IOアクセス」、HWは「HW動作」を表している。
その結果、実機では前提条件の実行に28[ns]かかる。

0026

<シミュレーション装置100での動作>
図5は、シミュレーションの開始から外部IOアクセスが実行されるまでの、実行回数計上部20の動作を示す図である。
ISSモデル10では、シミュレーションされる命令実行メモリアクセスは時間概念が無く、順番に実行されるだけである。実行回数計上部20は、これらの動作(命令実行やメモリアクセス)の実行回数を計上するが、各動作の実行順番シーケンス)を監視する事で、実機ではパイプライン動作の結果として隠蔽される動作については、差し引いて計上する。その結果、図5に示すように、キャッシュアクセスは8回、内部メモリアクセス1回、命令実行1回、外部IOアクセス1回と計上される。

0027

図6は、実行時間計算部30の動作を示す図である。
実行時間計算部30は、実行回数計上部20が計上した各動作の実行回数を入力とし、基準値記憶部31が記憶した各動作の1回当たりの実行時間を引きながら、計上された全動作の実機での実行時間を計算する。今回の例の場合、キャッシュアクセスは8回×1[ns]と、内部メモリアクセス1回×5[ns]と、命令実行1回×1[ns]と、外部IOアクセス1回×2[ns]とを合わせて、15[ns]となる。

0028

図7は、外部IOモデル15からHWモデル70Aに対するアクセス要求がされた場合のタイミング調整部40と関数/ピンIF変換部50との動作を示す図である。
外部IOモデル15からのアクセス要求(HW命令)は、まず関数/ピンIF変換部50に発行される(1)。アクセス要求が発行されると関数/ピンIF変換部50は、タイミング調整部40にタイミング調整開始指示を発行する(2)。

0029

タイミング調整部40は、関数/ピンIF変換部50が、HWモデル70Aに対してアクセス要求を発行するタイミングを制御する。タイミング調整部40は、タイミング調整開始指示を受けると、内部の時間計測用のタイマカウンタ)を用いて、実行時間計算部30が計算した実行時間(ここでは、15[ns])が経過したことを確認する。タイミング調整部40は、実行時間が時間経過すると、関数/ピンIF変換部50に対して動作開始指示を発行する(3)。

0030

動作開始指示を受けた関数/ピンIF変換部50は、外部IOモデル15からのアクセス要求(関数動作)をHWモデル70AとIFが可能なピン動作への変換を開始する(4)。
ここで、関数動作とは、例えば、read(HW_A)といったC言語で定義された関数の動作の事である。read()関数の引数HW_Aは、HWモデル70Aに割り当てられた特別な識別子(例えば、アドレス情報)である。一方、ピン動作とは、HWモデル70Aが動作するために必要な入出力ピンの動作の事で、例えば、アクセス要求発行状態を表すアクセスイネーブル信号リードライトの制御を表すリード/ライト信号、アクセスする番地を表すアドレス信号、リード/ライトデータをやりとりするためのデータ信号等で構成される。

0031

関数/ピンIF変換部50は、関数動作をピン動作に変換してHWモデル70AとIFを行う(5)。
関数/ピンIF変換部50は、ピン動作によって得られた結果、例えば、0xABCDというデータ値を得た場合、これを外部IOモデル15の関数動作(read(HW_A))の応答として返す(6)。また同時に、関数/ピンIF変換部50は、実行回数計上部20に対して計上値リセット指示51を発行して、計上値を0にリセットする(7)。

0032

図8は、図5から図7までに基づき説明した一連の動作を示す図である。
図8上部は、実機での動作(図4で示したものと同じ)であり、図8下部がシミュレーション装置100での動作である。
ISSモデル10によって、図3で示した動作フローのうち「外部IOアクセス」までが実行される。並行して、実行回数計上部20がISSモデル10の命令実行回数等を計上する。ISSモデル10の動作が「外部IOアクセス」に達した時点で、ISSモデル10の外部IOモデル15が、関数/ピンIF変換部50にアクセス要求(read(HW_A))を発行する。アクセス要求を発行した後は、関数/ピンIF変換部50からの応答があるまで、ISSモデル10(外部IOモデル15)は動作が応答待ち状態(停止)になる。一方、実行時間計算部30は、実行回数計上部20の計上した各実行回数をもとに、実行時間を計算する(ここでは、15[ns]と計算される)。ここまでの一連の動作は、シミュレーション上の時間経過は0で実行される。

0033

続いて、関数/ピンIF変換部50は、タイミング調整部40に対して、タイミング調整開始指示を発行する。タイミング調整部40は、タイミング調整開始指示を受けると、実行時間計算部30が計算した実行時間(ここでは、15[ns])が経過するのを待った後、関数/ピンIF変換部50に動作開始指示を発行する。動作開始指示が発行されると、関数/ピンIF変換部50は、関数動作(read(HW_A))をピン動作に変換してHWモデル70AとのIFを行う。

0034

HWモデル70Aは、関数/ピンIF変換部50が変換したピン動作の結果、10[ns]後にアクセス要求に対する応答を返す。アクセス応答が返ったことにより、アクセス応答待ちで停止していたISSモデル10(外部IOモデル15)が動作を再開する。同時に、関数/ピンIF変換部50は、実行回数計上部20に計上値リセット指示51を発行する。これにより、実行回数計上部20が計上していた全ての動作の実行回数は0にリセットされる。
以降、外部IOアクセスが発生する毎に同じ動作を繰り返す。

0035

以上のように動作する事で、図8に示す通り、時間経過概念のないSWモデル60の動作に対して時間経過の概念が付与されてシミュレーションが実行される。そのため、実機と同じ動作タイミングでSW70モデルとHWモデル70とを協調させてシミュレーションを実行することができる。

0036

特に、SWモデル60とHWモデル70とに特別な修正をすることなく、タイミング精度よくSWモデル60とHWモデル70とを協調して動作させることが可能である。

0037

実施の形態2.
実施の形態2では、実機の外部IOに実装されるバスバッファの動作を模擬することについて説明する。
実施の形態2では、実施の形態1と同じ部分については説明を省略し、実施の形態1と異なる部分について説明する。

0038

図9は、実施の形態2に係るシミュレーション装置100の構成図である。
図9に示すシミュレーション装置100は、追加タイミング情報計算部80(追加タイミング調整部)を備える点が、図1に示す実施の形態1に係るシミュレーション装置100と異なる。追加タイミング情報計算部80は、実機の外部IOに実装されるバスバッファの動作を模擬する。

0039

図10は、追加タイミング情報計算部80と、他の機能部との関係を示す図である。
追加タイミング情報計算部80は、関数/ピンIF変換部50から、HW動作情報を受ける(1)。HW動作情報とは、関数/ピンIF変換部50の先に繋がるHWモデル70がアクセス応答処理中かどうかを示す情報である。追加タイミング情報計算部80は、内部に、シミュレーション装置が模擬する対象となる実機の外部IO部分に含まれるバッファを模擬するバッファモデル81(バッファ部)を持つ。追加タイミング情報計算部80は、HW動作情報とバッファモデル81とから、追加タイミング情報を計算して、関数/ピンIF変換部50に出力する(2)。追加タイミング情報により、関数/ピンIF変換部50の動作完了が引き延ばされ、外部IOモデル15へ応答を返すタイミングが引き延ばされる。

0040

図11は、実機の外部IO部分に1段のバスバッファがある場合の動作例を示す図である。
図11では、外部IOはHWに対してライト要求2個(W1とW2)を発行した場合を示しており、説明の前提条件として外部IOのライト要求の発行は最短サイクルで発行可能とする。また、HWは外部IOのライト要求に対して応答を返すのに5サイクルかかるものとする。

0041

図11の動作詳細を説明する。
時刻1で外部IOがHWに対してライト要求(W1)を発行する。時刻2でHWモデル70がライト要求(W1)に対する動作を開始し、この動作は時刻6まで続き、HWは新しい要求を受け付けることができない。一方、外部IOは、バスバッファを1段備えているので、ライト要求(W1)発行後にライト要求(W1)の応答を待つこと無く、次の動作を開始できる。つまり、実施の形態1では、外部IOからHWへ要求を発行すると、外部IDは要求に対する応答があるまで次の動作を実行できなかった。しかし、ここでは、バスバッファを1段備えているため、1つ要求を発行しても、応答を待つことなく次の動作を開始できる。
外部IOが次の動作を開始した結果、時刻5にライト要求(W2)を発行する。しかし、HWがライト要求(W1)の処理中のため、時刻7までライト要求(W2)の開始が待たされる。つまり、新しい要求が発行されたが、時刻6の時点では外部IOのバッファが使い切られた状態であり、次のライト要求を処理できない。そのため、時刻6ではライト要求(W2)を完了できず、時刻7までライト要求(W2)の開始が引き延ばされた状態になる。
続いて、時刻7の時点でHWがライト要求(W1)の処理を完了し、次のライト要求を受け付けられるようになったため、開始待ちとなっていたライト要求(W2)の処理を開始する。同時に、外部IOは次の処理を開始する。

0042

図12は、シミュレーション装置100が図11と同等のシミュレーションが行えることを示す図である。
図12では、鍵型の矢印は、図8で説明した「タイミング調整部40による15[ns]経過待ち」と同等の動作を表す。また、斜線網掛けしている六角形は、図8で説明した「ISSモデル10による命令の実行」、「実行回数計上部20による実行回数計上」「実行時間計算部30による実行時間計算」と同等の動作を表す。

0043

時刻1では、関数/ピンIF変換部50の動作により、HWモデル70にライト要求(W1)が発行される。
時刻2では、追加タイミング情報計算部80がバッファ残量(時刻1でライト要求(W1)を受けたので、時刻2ではバッファ残量0)と、HWモデル70の動作状況とを案して、追加タイミング情報が必要かどうかを計算する。図12の場合、時刻2の時点ではバッファにライト要求(W1)が入りISSモデル10は次の動作を開始できる状態であるので、追加のタイミング情報は出力されない。

0044

時刻2では、追加のタイミング情報が出力されないので、関数/ピンIF変換部50は、ISSモデル10の外部IOモデル15に応答を返す。応答が返ることでISSモデル10は動作を再開し、何らかの命令を実行する。実行の結果、ライト要求(W2)が発行されるが、図12の場合ではライト要求(W2)が発行されるまでに3サイクル分(時刻2〜4の分)の動作時間が計上され、タイミング調整部40によりその分の遅延が付加される。時刻5でW2がHWモデル70に発行される。

0045

時刻6では、バッファ残量が無く、かつライト要求(W1)がまだ処理中であるため、追加タイミング情報が出力される。追加タイミング情報の出力により、関数/ピンIF変換部50は動作の完了を追加タイミング情報が無くなるまで引き延ばし、追加タイミング情報が無くなるまで外部IOモデル15に応答を返さない。

0046

時刻7では、HWモデル70のライト要求(W1)についての処理が完了し、追加タイミング情報が無くなる。これにより、関数/ピンIF変換部50は、ISSモデル10の外部IOモデル15にライト要求(W2)についての応答を返し、ISSモデル10の動作が再開される。

0047

以降、これら動作が繰り返されることで、外部IOモデル15にバッファがある場合に、実機と同等のタイミングで協調シミュレーションを行うことが可能である。

0048

図13は、実施の形態1,2に示したシミュレーション装置100のハードウェア構成の例を示す図である。
シミュレーション装置100は、コンピュータである。シミュレーション装置100の各要素をプログラムで実現することができる。
シミュレーション装置100のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。

0049

演算装置901は、プログラムを実行するCPU(Central Processing Unit)等である。外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリハードディスク装置等である。主記憶装置903は、例えばRAM(Random Access Memory)等である。通信装置904は、例えば通信ボード等である。入出力装置905は、例えばマウスキーボードディスプレイ装置等である。

0050

プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
プログラムは、ISSモデル10、実行回数計上部20、実行時間計算部30、タイミング調整部40、関数/ピンIF変換部50、SWモデル60、HWモデル70として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、上記プログラムを実行する。
また、実施の形態1,2の説明において、基準値記憶部31が記憶すると説明した情報や、ISSモデル10、実行回数計上部20、実行時間計算部30、タイミング調整部40、関数/ピンIF変換部50、SWモデル60、HWモデル70が出力する等と説明した情報等が主記憶装置903にファイルとして記憶されている。

0051

なお、図13の構成は、あくまでもシミュレーション装置100のハードウェア構成の一例を示すものであり、シミュレーション装置100のハードウェア構成は図13に記載の構成に限らず、他の構成であってもよい。

0052

10 ISSモデル、20実行回数計上部、30 実行時間計算部、31基準値記憶部、40タイミング調整部、50関数/ピンIF変換部、60SWモデル、70 HWモデル、80追加タイミング情報計算部、81バッファモデル、100シミュレーション装置。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 富士通株式会社の「 検証プログラム、検証方法及び検証装置」が 公開されました。( 2019/09/12)

    【課題】経路検証時の計算量を削減する検証プログラム、検証方法及び検証装置を提供する。【解決手段】検証プログラムは、装置に配置される紐状部品又は帯状部品の中心経路に近似する線の構成点に、当該構成点を包含... 詳細

  • キヤノン株式会社の「 情報処理装置及びその制御方法、並びにプログラム」が 公開されました。( 2019/09/12)

    【課題】情報処理装置内でイベントログを効率的にバッファリングしながら、サーバ装置に適合したデータ形式でイベントログを送信する技術を提供する。【解決手段】構造化モジュール403,405,421は、MFP... 詳細

  • NECプラットフォームズ株式会社の「 通信装置及び通信システム」が 公開されました。( 2019/09/12)

    【課題】サーバとストレージ装置との間でファイバーチャネル回線を通じて送受される情報が喪失された際のIO処理の遅延を軽減し得るストレージシステム等の提供。【解決手段】通信装置は、送信元が送信した情報群に... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ