Formal verification tools for Chisel and RISC-V.
CHA is an assertion language and verification tool for Chisel programs built on top of ChiselTest, where we extend the Chisel assertion language with SystemVerilog assertions (SVA)-like temporal operators. This enables formal verification of Chisel hardware designs against general temporal properties.
riscv-spec-core use a reference model as the formal semantics of RISC-V ISA document. The Chisel processor design to be verified should behave the same as the reference model. Tools to help with signal synchronization between reference model and processor design are also included in this project.
See nutshell-fv.
In this example of processor design, we use riscv-spec-core to obtain a verifiable system with reference model. And then perform formal verification using BMC through ChiselTest.