![](http://datasheet.mmic.net.cn/230000/79RC32438-200BB_datasheet_15568909/79RC32438-200BB_491.png)
IDT EJTAG System
EJTAG Processor Core Extensions
79RC32438 User Reference Manual
20 - 25
November 4, 2002
Notes
The CP0 instructions MTC0, MFC0, DMTC0, and DMFC0 work with the three EJTAG CP0 registers.
Operation of the processor is UNDEFINED if the Debug, DEPC, or DESAVE registers are written from Non-
Debug Mode. The value of the Debug, DEPC, or DESAVE registers is UNPREDICTABLE when read from
Non-Debug Mode, unless otherwise explicitly stated in the individual register description. However, for test
purposes, the implementations can allow writes to and reads from the registers from Non-Debug Mode.
To avoid pipeline hazards, there must be an appropriate spacing (refer to section “CP0 and dseg
Hazards” on page 20-12) between the update of the Debug and DEPC registers by MTC0/DMTC0 and use
of the new value. This applies for example to modification of the LSNM bit of the Debug register and a load/
store affected by that bit.
Debug Register (CP0 Register 23, Select 0)
Compliance Level
: Required for EJTAG debug support.
The Debug register contains the cause of the most recent debug exception and exception in Debug
Mode. It also controls single stepping. This register indicates low-power and clock states on debug excep-
tions, debug resources, and other internal states. Only the DM bit and the EJTAGver field are valid when
read from the Debug register in Non-Debug Mode; the value of all other bits and fields is UNPREDICT-
ABLE. The following bits and fields are only updated on debug exceptions and/or exceptions in Debug
Mode:
DSS, DBp, DDBL, DDBS, DIB, DINT, DDBLImpr, and DDBSImpr are updated on both debug
exceptions and on exceptions in Debug Modes
DExcCode is updated on exceptions in Debug Mode, and is undefined after a debug exception
Halt and Doze are updated on a debug exception, and are undefined after an exception in Debug
Mode
DBD is updated on both debug and on exceptions in Debug Modes
The SYNC instruction, followed by appropriate spacing, (as described in section “SYNC Instruction
Behavior” on page 20-11 and section “CP0 and dseg Hazards” on page 20-12) must be executed to ensure
that the DDBLImpr, DDBSImpr, IBusEP, DBusEP, CacheEP, and MCheckP bits are fully updated. This
Register
Number
SEL
Register
Name
Function
Reference
23
0
Debug
Debug indications and controls for the
processor.
See section
“Debug Register
(CP0 Register
23, Select 0)” on
page 20-25.
24
0
DEPC
Program counter at last debug exception
or exception in Debug Mode.
See section
“Debug Excep-
tion Program
Counter Regis-
ter (CP0 Register
24, Select 0)” on
page 20-29.
31
0
DESAVE
Debug exception save register.
See section
“Debug Excep-
tion Save Regis-
ter (CP0 Register
31, Select 0)” on
page 20-30.
Table 20.15 Coprocessor 0 Registers for EJTAG