sep_wdt_wrap

Wrap the OpenTitan aon_timer watchdog with an AXI register interface.

The 64-bit AXI4 slave is downsized to 32 bits, rebased by subtracting the WDT base address, converted to AXI-Lite, and bridged to the aon_timer TL-UL port. clk_wdt_i times the bark and bite counters; rst_ni is synchronized into that domain. wdt_timer_rst_req_o requests a system reset bite. wdt_alert_o aggregates the fatal alert pulse with integ_fail of all channels. wdt_debug_sleep_mode_i pauses the watchdog in debug sleep. RACL is compiled out, lifecycle escalation is tied off, and the wakeup timer outputs are unused.

Ports

Table 1. Ports
NameDirectionTypeDescription
clk_iinputlogicSystem clock.
clk_wdt_iinputlogicWatchdog counter clock, asynchronous to clk_i; 200 kHz in sep.
rst_niinputlogicActive-low reset; also synchronized into the clk_wdt_i domain.
test_en_iinputlogicDFT test-enable (scan-enable).
scan_rst_niinputlogicDFT scan reset, active-low; bypasses the reset synchronizer.
sep_wdt_axi_req_iinputsep_pkg::sep_32_64_6_12_axi_req_t64-bit AXI4 slave for the watchdog registers, at system addresses.
sep_wdt_axi_resp_ooutputsep_pkg::sep_32_64_6_12_axi_resp_tResponse on the watchdog register slave.
intr_wdog_timer_bark_ooutputlogicWatchdog bark interrupt; in sep, drives the SEP CPU non-maskable interrupt.
wdt_timer_rst_req_ooutputlogicWatchdog bite reset request, active-high, from the clk_wdt_i domain.
wdt_alert_ooutputlogicAggregated fatal alert (alert pulse | integ_fail of all channels).
wdt_debug_sleep_mode_iinputlogicSleep indication to the watchdog, which pauses while it is high if configured to pause in sleep.
bus_err_ooutputlogicSet by a TL-UL error response on the register bridge; sticky until bus_err_clr_i.
bus_err_clr_iinputlogicSingle-cycle clear for bus_err_o, pulsed by PERIPH_BUS_ERR_CLEAR.wdt in sep; a fault in the same cycle still latches.