2.3.3 [Simulator]

Configure the operating environment on the Property panel below when using Simulator.

Figure 2.7

Example of Property Panel [Simulator]

 

Follow the steps below by selecting the corresponding tab on the Property panel.

 

[Connect Settings] tab

[Debug Tool Settings] tab

[Download File Settings] tab

[Flash Options Settings] tab

[Hook Transaction Settings] tab

 

The simulator is used to simulate instructions of the CPU core assuming that each CPU core type of target MCUs has the number of MPU areas and does or does not have an instruction cache as listed below.

Table 2.1

Number of MPU Areas and Presence of an Instruction Cache per CPU Core Type

CPU Core Type

Number of MPU Areas

Instruction Cache (with Size and Number of Ways)

RH850G3M

12

Yes (8 Kbytes, 4 Way)

RH850G3K

8

No

RH850G3MH

16

Yes (8 Kbytes, 4 Way)

RH850G3KH

16

No

RH850G4MH

Depends on the specifications of the target MCU.

 

The following notes are also applicable.

(1)

CPU operation clock

The CPU clock operates on the frequency set up with the [Main clock frequency [MHz]] property on the [Connect Settings] tab.

(2)

Access latency

Since the access latency for various memories and peripheral modules is not considered, the execution time (count of cycles) is different from the target device.

Therefore, the following results of the simulator are different from the target device.

-

Measurement result by Run-Break Timer

-

Measurement result by Timer Result event

-

[Pipeline] area in the Trace panel

-

[Timer] area in the Trace panel

-

Trace result when selecting [All core] in the [Trace target] property on the [Debug Tool Settings] tab (Timing between PEs)

-

Time stamp of software trace data

 

The above sets of information are used as dynamic analysis information for the analysis tools but will differ from results for the actual target devices.

(3)

Peripheral function

The simulator doesn’t support simulation of peripheral functions.

The following Python functions can be used to generate pseudo interrupts.

See "CS+ Python Console" for detail.

-

debugger.Interrupt.OccurEI

-

debugger.Interrupt.OccurFE

(4)

Supported memory

The simulator supports the following types of memory.

Note that with the simulator, however, areas that require special procedures for access according to the specifications of the devices are accessible without following the procedures.

 

[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

 

Note that access to Retention RAM, Video RAM, and SDRAM is handled in the same way as access to Global 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

 

The Mirror Area and Blank check Area in the Code Flash memory are not supported.

Access to the Security Setting Area, Configuration Setting Area, Block Protection Area, and Extended Data Area is handled in the same way as access to the External Memory.

(5)

System register

System registers that depend on the hardware specifications of the given product, such as the control function registers for the LSU and data buffer and the hardware function registers are not supported.

(6)

Option bytes

The simulator doesn’t support the option bytes.

(7)

Differences between operation of the target device and the simulator

-

Since the timing of instruction fetching differs between the target device and the simulator, the instruction cache or the number of rounds of access will differ from that on the actual device.

-

Even if the target device requires appropriate synchronization processing such as dummy reading or SYNCI instructions, the simulator may operate without such processing.

-

Although the cache hit rate (the rate of the number of hits to the number of rounds of cache access) is displayed on the [Cache rate] tab in the Output panel, the rate may differ from that on the target device.

-

The error-correcting code (ECC), LRU operation, and information on cache errors in the instruction cache are not supported.

-

For FPU instructions and FXU instructions (only for the RH850G4MH), the results of operations will differ between the target device and the simulator.

-

The values of PID may differ from those on the target devices.

-

[RH850G3K]
On the target device, the same processing is handled for the LDL.W/STC.W and LD.W/ST.W instructions. On the simulator, the LDL.W/STC.W instruction operates in the same way as on the RH850G3M.

-

[RH850G4MH]
Values counted by the count function system registers (performance counter and timestamp counter) are in error relative to those for the target device, so these values do not match.

 

-

Copyright of the RH850G4MH simulator

The use of SoftFloat technology by this software is under the License for Berkeley SoftFloat Release 3e.

Copyrights of other software components are owned by Renesas Electronics Corporation.

License for Berkeley SoftFloat Release 3e
 
John R. Hauser
2018 January 20
 
The following applies to the whole of SoftFloat Release 3e as well as to
each source file individually.
 
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 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.