Simulator Cycle Accuracy

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

Contents

Simulator Cycle Accuracy

TI provides cycle accurate simulator as part of Code Composer Studio. These cycle accurate simulators are needed for architectural explorations, performance analysis & application code tuning.

Cycle Accuracy improvements

In recent time we have done a lot cycle accuracy improvement on C64x+ & ARM simulator as the deviation reported were huge on device simulator.

Cycle accuracy improvement was planned to be achieved by ensuring Transaction/Behavioral Accuracy & Latency Accuracy across all levels. Test suite was created to include all the data flow path and cycle number are compared with QT or RTL for accuracy. Later simulator models were fine tuned for accuracy based on the results.

Cycle Accuracy Results on C64x+

Path/ScenarioModules involvedAccuracy
(reference platform: QT)
CPU based memory accesses C64x+ CPU, GEM memory system, VBUSM-SCR, DDR3 Average deviation < 4%
CPU based Configuration address space accesses C64x+ CPU, GEM memory system, VBUSP-SCR, Peripheral Average deviation < 6%
DMA based memory accesses (for large sized transfers) EDMA (CC and TC), VBUSM-SCR, DDR3, GEM internal memory path Average Deviation < 6%
DMA based memory accesses (for small sized transfers) EDMA (CC and TC), VUSM-SCR, DDR3, GEM internal memory path Average Deviation < 12%
Full application C64x+ CPU, GEM memory system, VBUSM-SCR, VBUSP-SCR, EDMA (CC and TC), DDR3, VCP2 Deviation:
Peak load < 0.1%
Average load < 0.9%


Cycle Accuracy Results on ARM/Cortex-M3

ConfigurationReference platformTests UsedAccuracy achieved
ARM9e CPU Cycle Accurate Simulator Verified against ARM Ltd’s cycle accurate simulator (ARMulator) Verified for ARM Core validation tests < 5% deviation
Cortex-M3 CPU Cycle Accurate Simulator M3 RTL Verified for automotive applications and M3 core validation tests < 5% deviation


Configuration Applicable

Cycle accuracy improvments is applicable for the following list of configurations.


All the above cycle accuracy improvement will be available on CCSv3.3 SR12.


Configuring the simulator to match a particular HW board (description for CCSv3.3)

The same chip can be operated in different HW configurations, which influence device performance. These include the following factors.

These settings will have to be matched for the simulator to model a particular hardware board accurately.

To adjust the first three items in above list, a simulator .cfg file needs to be edited. There is no GUI support for this in CCSv3.3. The file format is not documented, but the following steps show the settings that can be adjusted for C6000 chips (taking the example of a DM6437 board).

In the simulated target program, make sure to have the DSP program write to (initialize) the DDR2 peripheral's timing registers, as the simulator will use these timings to model the external memory accesses.


FAQ

Refer the F28x datasheet for cycle accuracy results - sprs466.pdf

No, the above cycle accuracy improvements are not applicanble. For cycle accuracy results on C64xx simulator refer - spru600i.pdf document.

Leave a Comment
Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox