BCM1250/BCM1125/BCM1125H
User Manual
10/21/02
B r o a d c o m C o r p o r a t i o n
Page
74
Section 4: System Control and Debug Unit
Document
1250_1125-UM100CB-R
A Sample
causes an address/control bundle to be recorded in the trace buffer. These samples are packed
three per line of the trace memory, so a maximum of 768 samples can be in the buffer. Note that if the final
trigger of the sequence is a databus trigger then the A-phase signals captured may not be valid (the latches
within the trace unit will only capture address information when an agent is driving the bus, this data is held in
the latches until the next time the bus is driven).
D Sample
causes an address/control bundle and the 32 bytes of data from the bus to be recorded in the trace
buffer. A D sample always starts a new line in the trace buffer (if the previous line was only partially full from A
samples the empty spaces are marked unused). So a maximum of 256 D samples can be taken. Since a D
sample is a superset of an A sample, if both filter bits are set a D sample is taken. When a D sample is taken
the Aphase signals may not be valid.
Clear Use
causes the counter that determines the buffer usage to be cleared. Thus following the current
sample 255 more entries will be filled before the buffer full condition is raised. This flag is normally used with
the
Start
function when the start trigger may repeat and the freeze should only come when the buffer fills after
the last start.
The final two flags allow the completion of a sequence to be signalled outside the trace logic (these occur
regardless of the state of trace collection).
Debug Pin
causes the SCD to pull the DEBUG_L pin low for 10 ZBbus clock cycles.
Debug CPU
causes the SCD to assert the debug interrupt to both CPUs. The debug interrupt is cleared by a
read of the
trace_cfg
register.
The outputs from all the sequencers are combined. If multiple functions are signalled,
freeze
has the highest
priority, then
stop
, then
start
.
Note that when an address based trigger is used, the data bus may not be valid. So, forcing a Dsample from
such a trigger could waste trace buffer entries.
There are eight sequence control registers
trace_sequence_0
to
trace_sequence_7
Table 47: Trace Sequence Control Registers
trace_sequence_0 -
00_1002_0A40
trace_sequence_1 -
00_1002_0A48
trace_sequence_2 -
00_1002_0A50
trace_sequence_3 -
00_1002_0A58
trace_sequence_4 -
00_1002_0A80
trace_sequence_5 -
00_1002_0A88
trace_sequence_6 -
00_1002_0A90
trace_sequence_7 -
00_1002_0A98
Bits
Field
Default
Description
3:0
Event select 4
4‘b0
These bits set the event selection that forms the fourth event in the sequence. The
bits should all be set (the ignore code) if the sequence is shorter than four events.
7:4
Event select 3
4‘b0
These bits set the event selection that forms the third event in the sequence. The bits
should all be set (the ignore code) if the sequence is shorter than three events.
11:8
Event select 2
4‘b0
These bits set the event selection that forms the second event in the sequence. The
bits should all be set (the ignore code) if the sequence is shorter than two events.
15:12
Event select 1
4‘b0
These bits set the event selection that forms the first event in the sequence. The bits
should all be set (the ignore code) if the sequence should always trigger (used with
the filter bits to capture all active bus cycles).