2.3.5 【シミュレータ】の場合

シミュレータを使用する場合の動作環境の設定を次のプロパティ パネルで行います。

図 2.58

動作環境設定【シミュレータ】(プロパティ パネル)

 

プロパティ パネル上の該当するタブを選択し,次の設定を順次行ってください。

 

2.3.5.1 [接続用設定]タブ

2.3.5.2 [デバッグ・ツール設定]タブ

2.3.5.3 [ダウンロード・ファイル設定]タブ

2.3.5.5 [フック処理設定]タブ

 

シミュレータは対象マイクロコントローラの各CPUコア種別に従い,以下のMPU,命令キャッシュがあるものとしてCPUコアの命令シミュレーションを行います。

表 2.1

CPUコアごとのMPU領域数,命令キャッシュ

CPUコア種別

MPU領域数

命令キャッシュ(サイズ,Way数)

RH850G3M

12

命令キャッシュあり(8Kバイト,4Way)

RH850G3K

8

命令キャッシュなし

RH850G3MH

16

命令キャッシュあり(8Kバイト,4Way)

RH850G3KH

16

命令キャッシュなし

RH850G4MH

対象マイクロコントローラの仕様どおり

 

また,次の注意が必要です。

(1)

CPU動作クロック

CPU動作クロックは[接続用設定]タブの[メイン・クロック周波数[MHz]]プロパティで設定した周波数で動作します。

(2)

アクセスレイテンシ

各種メモリや周辺モジュールに対するアクセスレイテンシを考慮していないため,対象デバイスと実行時間(サイクル数)が異なります。

このため,シミュレータの下記結果は対象デバイスと異なります。

-

Run-Breakタイマの計測結果

-

タイマ計測イベントの計測結果

-

トレース パネルの[パイプライン]エリア

-

トレース パネルの[時間]エリア

-

[デバッグ・ツール設定]タブの[トレースの取得対象]プロパティで[全てのコア]を選択したときのトレース結果(PE 間のタイミング)

-

ソフトウェア・トレース・データのタイムスタンプ

 

また,これらの情報は解析ツールの動的解析情報として使用されますが,対象デバイスと異なります。

(3)

周辺機能

周辺機能のシミュレーションはできません。

なお,以下のPython関数を使用して,疑似的な割り込みを発生することは可能です。

詳細は,「CS+ Pythonコンソール編」を参照してください。

-

debugger.Interrupt.OccurEI

-

debugger.Interrupt.OccurFE

(4)

対応しているメモリ

シミュレータは以下のメモリに対応しています。

なお,デバイス仕様としてはアクセスに必要な手順がある領域に対して,シミュレータでは手順に従わなくてもアクセスできてしまいます。

 

【RH850G3M, RH850G3K, RH850G3MH, RH850G3KH】

External Memory/APB/Data Flash/PBUS/HBUS/Local RAM/Global RAM/AXI/Retention RAM/CPU Peripheral/Code Flash/Video RAM/SDRAM

 

なお,Retention RAM,VideoRAM,SDRAMはグローバルRAMと同様に取り扱います。

 

【RH850G4MH】

External Memory/APB/Data Flash/PBUS/HBUS/Local RAM/Cluster RAM/Retention RAM/IBUS/CPU Peripheral/Code Flash/Security Setting Area/Configuration Setting Area/Block Protection Area/Extended Data Area

 

Code FlashではCode Flash(Mirror),Code Flash(Blank check)は除きます。

Security Setting Area/Configuration Setting Area/Block Protection Area/Extended Data AreaはExternal Memoryと同様に取り扱います。

(5)

システム・レジスタ

各製品のハードウェア仕様に依存するシステム・レジスタ(LSU制御機能レジスタ,データバッファ制御機能レジスタ,ハードウェア機能レジスタ等)はサポートしていません。

(6)

オプション・バイト

シミュレータはオプション・バイトに対応していません。

(7)

対象デバイスとシミュレータの動作の相違点

-

対象デバイスとシミュレータでは命令フェッチのタイミングが異なるため,命令キャッシュやアクセス回数などに差分が生じます。

-

対象デバイスではダミーリードやSYNCI命令など適切な同期処理が必要になるケースであっても,シミュレータでは同期処理なしで動作する場合があります。

-

出力 パネルの[キャッシュ・レート]タブでキャッシュ・ヒット率(キャッシュへのアクセス回数に対するヒット回数の割合)を表示しますが,対象デバイスとは異なる場合があります。

-

命令キャッシュのECC,LRU,エラーはサポートしていません。

-

FPU命令,FXU命令(RH850G4MHのみ)では対象デバイスとシミュレーション結果間では演算誤差が発生します。

-

PIDの値が対象デバイスとは異なる場合があります。

-

【RH850G3K】
対象デバイスではLDL.W/STC.W命令はLD.W/ST.Wと同じ処理を行いますが,シミュレータではRH850G3MのLDL.W/STC.Wとして動作します。

-

【RH850G4MH】
カウント機能システム・レジスタ(パフォーマンス・カウンタ,タイムスタンプ・カウンタ)のカウント値は対象デバイスと誤差があり,一致しません。

 

-

RH850G4MHシミュレータの著作権について

本ソフトウェアはLicense for Berkeley SoftFloat Release 3bに従い,SoftFloat技術を利用しています。

その他のソフトウェア構成物は,ルネサス エレクトロニクス株式会社が著作権を有します。

License for Berkeley SoftFloat Release 3b
 
John R. Hauser
2016 July 22
 
The following applies to the whole of SoftFloat Release 3b as well as to
each source file individually.
 
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University
of California.  All rights reserved.
 
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
 
 1. Redistributions of source code must retain the above copyright notice,
    this list of conditions, and the following disclaimer.
 
 2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions, and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
 
 3. Neither the name of the University nor the names of its contributors
    may be used to endorse or promote products derived from this software
    without specific prior written permission.
 
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.