English
Language : 

UM0434 Datasheet, PDF (351/390 Pages) STMicroelectronics – The primary objective of this user’s manual is to describe
Nexus3 module
UM0434
12.7.2
Branch history saves bandwidth and keeps consistency between methods of program trace,
yet may lose temporal order between BTM messages and other types of messages. Since
direct branches are not messaged, but are instead included in the history field of the indirect
branch history message, other types of messages may enter the FIFO between branch
history messages. The development tool cannot determine the ordering of events that
occurred with respect to direct branches simply by the order in which messages are sent
out.
Traditional BTM messages maintain their temporal ordering because each event that can
cause a message to be queued enters the FIFO in the order it occurred and is messaged
out maintaining that order.
BTM message formats
The e200z3 Nexus3 block supports three types of traditional BTM messages: direct,
indirect, and synchronized messages. It supports two types of branch history BTM
messages: indirect branch history, and indirect branch history with synchronized messages.
Debug status messages and error messages are also supported.
Indirect branch messages (History)
Indirect branches include all taken branches whose destination is determined at run time,
interrupts, and exceptions. If DC1[PTM] is set, indirect branch information is messaged out
in the format shown in Table 247:
Table 247. Indirect Branch Message (History) Format
(1–32 bits)
(1–32 bits)
(1–8 bits) (4 bits) (6 bits)
Branch History
Relative Address
Sequence
Count
Source
Proces
s
TCODE
(011100
)
Maximum length = 82 bit; Minimum length = 13 bits
Indirect branch messages (Traditional)
If DC1[PTM] is cleared, indirect branch information is messaged out in the format shown in
Table 248:
Table 248. Indirect Branch Message Format
(1–32 bits)
(1–8 bits)
(4 bits)
Relative Address
Sequence Count
Source
Process
Maximum length = 50 bits; minimum length = 12 bits
(6 bits)
TCODE
(000100)
Direct branch messages (Traditional)
Direct branches, conditional or unconditional, are all taken branches whose destinations are
fixed in the instruction opcode. Direct branch information is messaged out in the format
shown in Table 249:
352/391