Viewing Results
Route IDs
All analyzed routes are given a unique route ID. However, when referring to routes in a script, using the route ID may not always result in portable or robust scripts. In many cases, the only route that needs to be referenced is the one that was last analyzed. This can be achieved by using the ‘-‘ character as the route ID. If the last command created multiple routes then the ‘-‘ character refers to all of the routes created.
Node IDs
Within a single route, all nodes are assigned a unique ID number. This is required as input for some of the console commands. The ‘-‘ character can be used in this context to refer to the top level node of the route.
Summary
In the GUI all routes created are shown in the upper pane of the Routes View in the xTIMEcomposer. More detailed information on each route can be found by hovering over the route in this list.
On the console, type:
print summary
Details for a specific route are shown using the command:
print routeinfo <route id>
Violation
When a timing requirement has been set for a route and the route takes more time to execute than required, the time difference is called a violation. This value specifies how much faster the route needs to be executed in order to meet the timing requirement.
Slack
When a timing requirement has been set for a route and the route takes less time to execute than required, the time difference is called slack. This value specifies how much slower the route could be executed and still meet the timing requirement.
Structure
The structure of a route can be examined in xTIMEcomposer Studio in two ways. The lower pane of the Routes View shows the structure of the selected route as a tree and the Structure Panel of the Visualizations View renders it graphically.
In the console, to display the the structure of a route type:
print structure <route id>
The structure used by the tool is described in Structural Nodes.
Source Code Annotation
In xTIMEcomposer Studio the editors highlight code which is executed by the section of a route that has been selected. The selection is done using the lower pane of the Routes View.
In the console, to display the source code which is executed by a route type:
print src <route id>
If only a part of a route should be used then the node ID can be specified:
print src <route id> <node id>
Instruction Traces
To help the user understand the execution flow of a route, the tool supports creating representative instruction traces. In xTIMEcomposer Studio right-click on the route and select Trace in console.
In the console type:
print trace <route id>
As a result of loops being unrolled when tracing, it is possible for the traces to get very large. The trace operation can be cancelled at any time by pressing the Escape key in xTIMEcomposer Studio or CTRL+C in the command-line tool.
A trace can be redirected to a file by using the console command:
print trace <route id> > <file>
Worst/Best Case
By default, the trace for worst-case path is printed. This can be changed to print the best-case path instead.
In xTIMEcomposer Studio, to print the best case path instead, open the Timing Properties and uncheck Print worst case.
On the console, type:
config case best
Fetch no-ops
The xCORE device may need to pause at certain times while more instructions are fetched from memory. This results in the issue of fetch no-op instructions. These are shown in the traces as FNOP at the points they will happen on the hardware.
In xTIMEcomposer Studio they are inserted into the disassembly at the points they occur.
Scaling Results
By default, the tool scales all timing results. This means that the appropriate unit (ms, us, ns) will be used to print time values. This can be changed so that all times are printed in ns.
In xTIMEcomposer Studio open the Timing Properties and uncheck the Scale results.
On the console, type:
config scale false
Unknowns
The tool may not always be able to determine the exact timing of a section of code. This happens when the tool is unable to determine loop iteration counts or the execution time of instructions. These conditions are reported as warnings in the tool. The unknowns for the currently selected route are shown in the Unknowns section of the Info View.
To display unknowns on the console, type:
list unknowns <route id>
Refining Timing Results describes how to address these warnings.