ibex/formal/riscv-formal
Tobias Wölfel 7032df0d8b [formal] Read Verilog files in Yosys
All files read at this point should be Verilog and not SystemVerilog.
Do not use the SystemVerilog specifier for reading files.
2021-07-14 11:02:46 +01:00
..
Makefile [formal] Read Verilog files in Yosys 2021-07-14 11:02:46 +01:00
README.md Move riscv-formal code into formal/riscv-formal 2020-07-02 15:19:11 +01:00

Formal

Unsupported Verilog source creation for RISC-V Formal Verification.

The Verilog source created here is used by riscv-formal.

Riscv-formal uses Yosys, but the SystemVerilog front-end of Yosys does not support all the language features used by Ibex. The Makefile provided here uses sv2v and Yosys to create a single Verilog source of Ibex.

This flow has some similarities to syn, but uses only a simplified subset.

In order to make it easier to use with riscv-formal, the conversion is done with a simple Makefile.

Prerequisites

Install the following, if not used with the container flow described in riscv-formal.

Limitations

The "M" extension is currently disabled.

Usage

It should not be necessary to create the Verilog source manually as it is used by the riscv-formal Ibex build system.

Run the following command from the top level directory of Ibex to create the Verilog source.

make -C formal/riscv-formal

This will create a directory formal/riscv-formal/build which contains an equivalent Verilog file for each SystemVerilog source. The single output file formal/riscv-formal/ibex.v contains the complete Ibex source, which can then be imported by riscv-formal.