Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions doc/02_user/integration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,9 @@ Interfaces
| ``debug_*`` | Debug interface, see :ref:`debug-support` |
+------------------------------+------------------------------------------------------------------------+
| ``crash_dump_o`` | A set of signals that can be captured on reset to aid crash debugging. |
| | The ``current_pc`` and ``next_pc`` fields are only guaranteed to be |
| | defined after reset if ``SecureIbex`` and thereby ``ResetAll`` is |
| | enabled. |
+------------------------------+------------------------------------------------------------------------+
| ``double_fault_seen_o`` | A double fault was observed, see :ref:`double-fault-detect` |
+------------------------------+-------------------------+-----+----------------------------------------+
Expand Down
16 changes: 16 additions & 0 deletions rtl/ibex_top.sv
Original file line number Diff line number Diff line change
Expand Up @@ -1385,11 +1385,21 @@ module ibex_top import ibex_pkg::*; import ibex_cheriot_pkg::*; #(
`ASSERT_KNOWN(IbexAlertMajorInternalX, alert_major_internal_o)
`ASSERT_KNOWN(IbexAlertMajorBusX, alert_major_bus_o)
`ASSERT_KNOWN(IbexCoreSleepX, core_sleep_o)
`ASSERT_KNOWN(IbexRamCfgIcacheTagOX, ram_cfg_icache_tag_o)
`ASSERT_KNOWN(IbexRamCfgIcacheDataOX, ram_cfg_icache_data_o)
`ASSERT_KNOWN(IbexLockstepCmpEnX, lockstep_cmp_en_o)
`ASSERT_KNOWN(IbexDataReqShadowX, data_req_shadow_o)
`ASSERT_KNOWN_IF(IbexDataReqShadowPayloadX,
{data_we_shadow_o, data_be_shadow_o, data_addr_shadow_o,
data_wdata_shadow_o, data_wdata_intg_shadow_o}, data_req_shadow_o)
`ASSERT_KNOWN(IbexInstrReqShadowX, instr_req_shadow_o)
`ASSERT_KNOWN_IF(IbexInstrReqShadowPayloadX, instr_addr_shadow_o, instr_req_shadow_o)

// X check for top-level inputs
`ASSERT_KNOWN(IbexTestEnX, test_en_i)
`ASSERT_KNOWN(IbexRamCfgTagX, ram_cfg_icache_tag_i)
`ASSERT_KNOWN(IbexRamCfgDataX, ram_cfg_icache_data_i)
`ASSERT_KNOWN(IbexCHERIoTEnableX, cheriot_enable_i)
`ASSERT_KNOWN(IbexHartIdX, hart_id_i)
`ASSERT_KNOWN(IbexBootAddrX, boot_addr_i)
`ASSERT_KNOWN(IbexTrvkHeapBaseAddrX, trvk_heap_base_addr_i)
Expand All @@ -1407,6 +1417,11 @@ module ibex_top import ibex_pkg::*; import ibex_cheriot_pkg::*; #(
`ASSERT_KNOWN_IF(IbexTrvkRevbmRPayloadX,
{trvk_revbm_rdata_i, trvk_revbm_rdata_intg_i, trvk_revbm_err_i}, trvk_revbm_rvalid_i)

// Crash dump depends on FFs that are only defined at reset if the ResetAll flag is set
if (ResetAll) begin : g_reset_all_ibex_assert_known
`ASSERT_KNOWN(IbexCrashDumpX, crash_dump_o)
end

`ifdef INC_ASSERT
typedef struct packed {
logic valid;
Expand Down Expand Up @@ -1575,6 +1590,7 @@ module ibex_top import ibex_pkg::*; import ibex_cheriot_pkg::*; #(

`ASSERT_KNOWN(IbexDebugReqX, debug_req_i)
`ASSERT_KNOWN(IbexFetchEnableX, fetch_enable_i)
`ASSERT_KNOWN(IbexMcounterEnableWritableX, mcounteren_writable_i)

// Dummy instructions may only write to register 0, which is a special register when dummy
// instructions are enabled.
Expand Down
Loading