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

Subversion Repositories neorv32

[/] [neorv32/] [trunk/] [docs/] [datasheet/] [on_chip_debugger.adoc] - Diff between revs 66 and 68

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

Rev 66 Rev 68
Line 85... Line 85...
| `jtag_tdi_i`  | 1     | in        | serial data input
| `jtag_tdi_i`  | 1     | in        | serial data input
| `jtag_tdo_o`  | 1     | out       | serial data output
| `jtag_tdo_o`  | 1     | out       | serial data output
| `jtag_tms_i`  | 1     | in        | mode select
| `jtag_tms_i`  | 1     | in        | mode select
|=======================
|=======================
 
 
.JTAG Clock
.Maximum JTAG Clock
[IMPORTANT]
[IMPORTANT]
The actual JTAG clock signal is **not** used as primary clock. Instead it is used to synchronize
All JTAG signals are synchronized to the processor clock domain by oversampling them in DTM. Hence, no additional
JTGA accesses, while all internal operations trigger on the system clock. Hence, no additional clock domain is required
clock domain is required for the DTM. However, this constraints the maximal JTAG clock frequency (`jtag_tck_i`) to be less
for integration of this module.
than or equal to **1/5** of the processor clock frequency (`clk_i`).
However, this constraints the maximal JTAG clock (`jtag_tck_i`) frequency to be less than or equal to
 
1/4 of the system clock (`clk_i`) frequency.
 
 
 
[NOTE]
[NOTE]
If the on-chip debugger is disabled (_ON_CHIP_DEBUGGER_EN_ = false) the JTAG serial input `jtag_tdi_i` is directly
If the on-chip debugger is disabled (_ON_CHIP_DEBUGGER_EN_ = false) the JTAG serial input `jtag_tdi_i` is directly
connected to the JTAG serial output `jtag_tdo_o` to maintain the JTAG chain.
connected to the JTAG serial output `jtag_tdo_o` to maintain the JTAG chain.
 
 
Line 125... Line 123...
| `10000`            | `DTMCS`  | 32          | debug transport module control and status register
| `10000`            | `DTMCS`  | 32          | debug transport module control and status register
| `10001`            | `DMI`    | 41          | debug module interface (_dmi_); 7-bit address, 32-bit read/write data, 2-bit operation (`00` = NOP; `10` = write; `01` = read)
| `10001`            | `DMI`    | 41          | debug module interface (_dmi_); 7-bit address, 32-bit read/write data, 2-bit operation (`00` = NOP; `10` = write; `01` = read)
| others             | `BYPASS` | 1           | default JTAG bypass register
| others             | `BYPASS` | 1           | default JTAG bypass register
|=======================
|=======================
 
 
 
.`DTMCS` - DTM Control and Status Register
 
[cols="^2,^3,^1,<8"]
 
[options="header",grid="rows"]
 
|=======================
 
| Bit(s) | Name           | r/w | Description
 
| 31:18  | -              | r/- | _reserved_, hardwired to zero
 
| 17     | `dmihardreset` | r/w | setting this bit will reset the DM interface; this bit auto-clears
 
| 16     | `dmireset`     | r/w | setting this bit will clear ste sticky error state; this bit auto-clears
 
| 15     | -              | r/- | _reserved_, hardwired to zero
 
| 14:12  | `idle`         | r/- | recommended idle states (= 0, no idle states required)
 
| 11:10  | `dmistat`      | r/- | DMI statu: `00` = no error, `01` = reserved, `10` = operation failed, `11` = failed operation during pending DMI operation
 
| 9:4    | `abits`        | r/- | number of DMI address bits (= 7)
 
| 3:0    | `version`      | r/- | `0001` = spec version 0.13
 
|=======================
 
 
[INFO]
[INFO]
See the https://github.com/riscv/riscv-debug-spec[RISC-V debug specification] for more information regarding the data
See the https://github.com/riscv/riscv-debug-spec[RISC-V debug specification] for more information regarding the data
registers and operations.
registers and operations. A local copy can be found in `docs/references`.
A local copy can be found in `docs/references`.
 
 
 
 
 
 
 
 
 
// ####################################################################################################################
// ####################################################################################################################

powered by: WebSVN 2.1.0

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