Skip to content

Commit

Permalink
Merge pull request #482 from silabs-halfdan/doc_rvfi_sleep_signals
Browse files Browse the repository at this point in the history
Added sleep signals to rvfi documentation
  • Loading branch information
Silabs-ArjanB authored Mar 23, 2022
2 parents 3700096 + 9d14b87 commit 8738b71
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions docs/user_manual/source/rvfi.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,37 @@ The ``rvfi_dbg_mode`` signal is high if the instruction was executed in debug mo
Whenever |corev| has a pending NMI, the ``rvfi_nmip`` will signal this. ``rvfi_nmip[0]`` will be 1 whenever an NMI is pending, while ``rvfi_nmip[1]`` will be 0 for loads and 1 for stores.


**Sleep Signals**

These signals report core sleep and wakeup information.

.. code-block:: verilog
output rvfi_wu_t [NRET - 1 : 0] rvfi_wu
output logic [NRET - 1 : 0] rvfi_sleep
Where the rvfi_wu_t struct contains following fields:

.. table:: RVFI wu type
:name: RVFI wu type

================= ============ =======
Field Type Bits
================= ============ =======
wu logic [0]
interrupt logic [1]
debug logic [2]
cause logic [10:0] [13:3]
================= ============ =======

``rvfi_sleep`` is set on the last instruction before the core enters sleep mode.
``rvfi_wu.wu`` is set for the first instruction executed after waking up.
``rvfi_wu.interrupt`` is set if the wakeup was caused by an interrupt, and
``rvfi_wu.debug`` is set if the wakeup was caused by a debug request.
``rvfi_wu.cause`` signals the wakeup cause exception code.

Compatibility
-------------

Expand Down

0 comments on commit 8738b71

Please sign in to comment.