| .. _rvfi: | 
 |  | 
 | RISC-V Formal Interface | 
 | ======================= | 
 |  | 
 | Ibex supports the `RISC-V Formal Interface (RVFI) <https://github.com/SymbioticEDA/riscv-formal/blob/master/docs/rvfi.md>`_. | 
 | This interface basically decodes the current instruction and provides additional insight into the core state thereby enabling formal verification. | 
 | Examples of such information include opcode, source and destination registers, program counter, as well as address and data for memory operations. | 
 |  | 
 |  | 
 | Formal Verification | 
 | ------------------- | 
 |  | 
 | The signals provided by RVFI can be used to formally verify compliance of Ibex with the `RISC-V specification <https://riscv.org/specifications/>`_. | 
 |  | 
 | Currently, the implementation is restricted to support the "I" and "C" extensions, and Ibex is not yet formally verified. | 
 | It predecessor "Zero-riscy" had been tested, but this required changes to the core as well as to the tool used in the process (`yosys <https://github.com/YosysHQ/yosys>`_). | 
 | The formal verification of the Ibex core is work in progress. |