OpenCores
URL https://opencores.org/ocsvn/neorv32/neorv32/trunk

Subversion Repositories neorv32

[/] [neorv32/] [trunk/] [docs/] [datasheet/] [on_chip_debugger.adoc] - Diff between revs 60 and 61

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 60 Rev 61
Line 14... Line 14...
* accessing core registers (direct access to GPRs, indirect access to CSRs via program buffer)
* accessing core registers (direct access to GPRs, indirect access to CSRs via program buffer)
* indirect access to the whole processor address space (via program buffer))
* indirect access to the whole processor address space (via program buffer))
* compatible to the https://github.com/riscv/riscv-openocd[RISC-V port of OpenOCD];
* compatible to the https://github.com/riscv/riscv-openocd[RISC-V port of OpenOCD];
  pre-built binaries can be obtained for example from https://www.sifive.com/software[SiFive]
  pre-built binaries can be obtained for example from https://www.sifive.com/software[SiFive]
 
 
 
.OCD Security Note
 
[IMPORTANT]
 
Access via the OCD is _always authenticated_ (`dmstatus.authenticated` == `1`). Hence, the
 
_whole system_ can always be accessed via the on-chip debugger.
 
 
[NOTE]
[NOTE]
The OCD requires additional resources for implementation and _might_ also increase the critical path resulting in less
The OCD requires additional resources for implementation and _might_ also increase the critical path resulting in less
performance. If the OCD is not really required for the _final_ implementation, it can be disabled and thus,
performance. If the OCD is not really required for the _final_ implementation, it can be disabled and thus,
discarded from implementation. In this case all circuitry of the debugger is completely removed (no impact
discarded from implementation. In this case all circuitry of the debugger is completely removed (no impact
on area, energy or timing at all).
on area, energy or timing at all).
Line 63... Line 68...
=== Debug Transport Module (DTM)
=== Debug Transport Module (DTM)
 
 
The debug transport module (VHDL module: `rtl/core/neorv32_debug_dtm.vhd`) provides a JTAG test access port (TAP).
The debug transport module (VHDL module: `rtl/core/neorv32_debug_dtm.vhd`) provides a JTAG test access port (TAP).
The DTM is the first entity in the debug system, which connects and external debugger via JTAG to the next debugging
The DTM is the first entity in the debug system, which connects and external debugger via JTAG to the next debugging
entity: the debug module (DM).
entity: the debug module (DM).
External access is provided by the following top-level ports.
External JTAG access is provided by the following top-level ports.
 
 
.JTAG top level signals
.JTAG top level signals
[cols="^2,^2,^2,<8"]
[cols="^2,^2,^2,<8"]
[options="header",grid="rows"]
[options="header",grid="rows"]
|=======================
|=======================

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.