![](http://datasheet.mmic.net.cn/230000/79RC32438-200BB_datasheet_15568909/79RC32438-200BB_504.png)
IDT EJTAG System
Hardware Breakpoints
79RC32438 User Reference Manual
20 - 38
November 4, 2002
Notes
The ADDR, DBAnDBA, DBMnDBM, DATA, and DBVnDBV fields are 32 bits wide for 32-bit processors
and 64 bits wide for 64-bit processors. The BYTELANE, DBCnBLM, and DBCnBAI fields are four bits wide
for 32-bit processors and eight bits wide for 64-bit processors. The width is indicated as “N” in the equations
below. The match equations are shown below with “C”-like operators. In the equation, 0 means all bits are
0’s, and ~0 means all bits are 1’s. The bit widths are similar to the widths of the parameters. DB_match is
the overall match equation (the DB_addr_match, DB_no_value_compare, and DB_value_match equations
in the DB_match equation are defined below):
DB_match =
( ( ( TYPE = = load ) && ! DBCn
NoLB
) || ( ( TYPE = = store ) && ! DBCn
NoSB
) ) &&
DB_addr_match && ( DB_no_value_compare || DB_value_match )
DB_addr_match is defined as:
DB_addr_match =
( ! DBCn
ASIDuse
|| ( ASID = = DBASIDn
ASID
) ) &&
( ( DBMn
DBM
| ~ ( ADDR ^ DBAn
DBA
) ) = = ~0 ) &&
( ( ~ DBCn
BAI
& BYTELANE ) != 0 )
The DB_addr_match equation also applies to 64-bit processors running in 32-bit addressing mode, in
which case all 64 bits are compared between the ADDR and the DBAn
DBA
field.
DB_no_value_compare is defined as:
DB_no_value_compare =
( ( DBCn
BLM
| DBCn
BAI
| ~ BYTELANE ) = = ~0 )
If a data value compare is indicated on a breakpoint, then DB_no_value_compare is false, and if there is
no data value compare then DB_no_value_compare is true. Note that a data value compare is a run-time
property of the breakpoint if (DBCn
BLM
| DBCn
BAI
) is not ~0, because DB_no_value_compare then
depends on BYTELANE provided by the load/store instructions.
If a data value compare is required, then the data value from the data bus is compared and masked with
the registers for the data breakpoint, as shown in the DB_value_match equation:
DB_value_match =
( ( DATA[7:0] = = DBVn
DBV[7:0]
) || ! BYTELANE[0] || DBCn
BLM[0]
|| DBCn
BAI[0]
) &&
( ( DATA[15:8] = = DBVn
DBV[15:8]
) || ! BYTELANE[1] || DBCn
BLM[1]
|| DBCn
BAI[1]
) &&
......
( ( DATA[8*N-1:8*N-8] = = DBVn
DBV[8*N-1:8*N-8]
) ||
! BYTELANE[N-1] || DBCn
BLM[N-1]
|| DBCn
BAI[N-1]
)
DATA
Data value from the data bus.
32 / 64 bits
DBVn
DBV
Conditional Data breakpoint n data value for com-
pare.
32 / 64 bits
DBCn
BLM
Conditional Byte lane mask for value compare on
data breakpoint. BLM[0] masks byte at bits [7:0] of
the data bus, BLM[1] masks byte at bits [15:8], etc.:
0: Compare corresponding byte lane
1: Mask corresponding byte lane
4 / 8 bits
Reference
Description
Width
Table 20.23 Data Breakpoint Condition Parameters (Part 2 of 2)