Skip to content

Debug module DV - Chip-level integration tests + JTAG DMI agent #675

Description

@martin-velay

Chip-level debug testpoints beyond the smoke (the smoke is tracked in #141). The debug module is the raw PULP dm_top + dmi_jtag, not the OpenTitan rv_dm wrapper.

Prerequisite: connect a JTAG DMI agent (the vendored hw/vendor/lowrisc_ip/dv/sv/jtag_agent + jtag_dmi_agent) to the chip JTAG pins, which are currently tied off in hw/top_chip/dv/tb/tb.sv.

Testpoints (all V2, placeholders registered):

  • chip_rv_dm_ndm_reset (rv_dm_ndm_reset_req, rv_dm_ndm_reset_req_when_cpu_halted)
  • chip_rv_dm_sba (rv_dm_sba_access / rv_dm_sba_access_cheri)
  • chip_rv_dm_access_after_wakeup (rv_dm_access_after_wakeup)
  • chip_rv_dm_access_after_escalation_reset (rv_dm_access_after_escalation_reset)

Open questions for the debug/reset specialist that gate the pass/fail wording: (a) does the debug module survive its own NDM reset, given rst_debug_n is parented on rst_sys_src_n (the system-reset tree the NDM reset drives); (b) is debug meant to be available during low power, given the DM is clocked by clk_main_infra which gates in sleep; (c) is unconditional JTAG debug intended, or should it be gated by lifecycle state / authentication; (d) debug-mode CHERI behaviour (PCC for debug-ROM fetch, and capability-register tag access via abstract commands); (e) confirm the SBA-to-memory tag behaviour (the DM master drives AXI user=0, so SBA writes clear capability tags and reads cannot observe tag validity).

chip_rv_dm_access_after_escalation_reset is additionally blocked on alert_handler integration (#270).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions