29.11.2014 Views

Fast Models Reference Manual - ARM Information Center

Fast Models Reference Manual - ARM Information Center

Fast Models Reference Manual - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Peripheral and Interface Components<br />

syncLevelPostInsnIORegister<br />

Users write to this register for POST_INSN_LDST. Write-only.<br />

syncLevelPostInsnIOUnregister<br />

Users write this to unregister for POST_INSN_LDST. Write-only.<br />

syncLevelPostInsnAllRegister<br />

Users write this to register for POST_INSN_ALL. Write-only.<br />

syncLevelPostInsnAllUnregister<br />

Users write this to unregister for POST_INSN_ALL. Write-only.<br />

The following registers are only provided for debugging purposes and visibility in the debugger,<br />

and are usually not accessed by syncLevel users at all:<br />

syncLevel<br />

Current syncLevel. Read-only.<br />

syncLevelSyncStateCount<br />

User counter. Read-write (should be used read-only).<br />

syncLevelPostInsnIOCount<br />

User counter. Read-write (should be used read-only).<br />

syncLevelPostInsnAllCount<br />

User counter. Read-write (should be used read-only).<br />

minSyncLevel<br />

Same as min_sync_level parameter (see below). Read-write.<br />

The *Register and *Unregister registers are intended to be used, that is, written, by syncLevel<br />

users to register and unregister themselves. The value written is ignored and should be 0.<br />

Changes to the syncLevel become effective at the next Stop event checkpoint. In addition, these<br />

registers can be written any time before simulation is running, for example from the init()<br />

simulation phase. The change then takes effect immediately when the simulation is run.<br />

All other registers are only present to make the debugging of these mechanisms and their users<br />

easier. The syncLevel enables you to see what kind of performance can currently be expected<br />

from the model. You must treat access to these registers as read-only. Writing to them is<br />

permitted, however, to allow debugging the syncLevel mechanisms.<br />

These registers are not memory (or CPnn-) mapped anywhere, and are not accessible to target<br />

programs.<br />

In addition to this debug register interface, there is a CADI parameter that can influence the<br />

syncLevel:<br />

• min_sync_level (default=0, type=int, runtime=true)<br />

This parameter enables you to control the minimum syncLevel by the CADI parameter<br />

interface. This is not the intended primary interface to control the syncLevel because it does not<br />

enable multiple independent syncLevel users to indicate their requirements to the simulator. It<br />

is intended primarily for debugging purposes and for situations where a single global setting of<br />

syncLevel is sufficient. Changes to this parameter at runtime are allowed and become effective<br />

on the next Stop event checkpoint. Reading this parameter value returns the min_sync_level, not<br />

the current syncLevel. This parameter is only an additional way of controlling the syncLevel<br />

and controls the same mechanisms as the register interface.<br />

<strong>ARM</strong> DUI 0423J Copyright © 2008-2011 <strong>ARM</strong>. All rights reserved. 5-166<br />

ID051811<br />

Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!