rIC3 supports LLM-accelerated model checking through invariant generation. For details, see the paper CIll: CTI-Guided Invariant Generation via LLMs for Model Checking.
The prompt and VCD inspection MCP tools are located under the tools directory. For a concrete example, see https://github.com/gipsyh/cill-exp
rIC3 achieved first place in both the bit-level track and the word-level bit-vector track at the 2024 and 2025 Hardware Model Checking Competition (HWMCC).
cargo install rIC3
rIC3 can be compiled on both Linux and macOS.
git clone --recurse-submodules https://github.com/gipsyh/rIC3https://github.com/bitwuzla/bitwuzla (required by wlbmc)https://github.com/YosysHQ/yosys and Yosys-Slang from https://github.com/gipsyh/yosys-slang/tree/ric3 (required by the project-based flow and CIll)cd rIC3 && cargo b --releasecargo r --release -- check <AIGER/BTOR> portfoliocargo install --path .Project-based RTL flow: if your design directory contains a ric3.toml, run verification directly from that directory with ric3 run.
[dut]
# Top-level module name
top = "counter"
# RTL source files used to build the DUT
files = ["counter.sv"]
# Reset signal name; prefix with "!" for an active-low reset
reset = "!rst_n"
For complete runnable examples, see examples/.
Direct AIG/BTOR checking:
ric3 check <AIGER/BTOR> portfolioric3 check <AIGER/BTOR> ic3docker build -t ric3 .docker run -v <AIGER/BTOR>:/model.<aig/btor> ric3 check model.<aig/btor> portfolioCopyright (C) 2023 - Present, Yuheng Su (gipsyh.icu@gmail.com). All rights reserved.
Rust
99.8%
rIC3 supports LLM-accelerated model checking through invariant generation. For details, see the paper CIll: CTI-Guided Invariant Generation via LLMs for Model Checking.
The prompt and VCD inspection MCP tools are located under the tools directory. For a concrete example, see https://github.com/gipsyh/cill-exp
rIC3 achieved first place in both the bit-level track and the word-level bit-vector track at the 2024 and 2025 Hardware Model Checking Competition (HWMCC).
cargo install rIC3
rIC3 can be compiled on both Linux and macOS.
git clone --recurse-submodules https://github.com/gipsyh/rIC3https://github.com/bitwuzla/bitwuzla (required by wlbmc)https://github.com/YosysHQ/yosys and Yosys-Slang from https://github.com/gipsyh/yosys-slang/tree/ric3 (required by the project-based flow and CIll)cd rIC3 && cargo b --releasecargo r --release -- check <AIGER/BTOR> portfoliocargo install --path .Project-based RTL flow: if your design directory contains a ric3.toml, run verification directly from that directory with ric3 run.
[dut]
# Top-level module name
top = "counter"
# RTL source files used to build the DUT
files = ["counter.sv"]
# Reset signal name; prefix with "!" for an active-low reset
reset = "!rst_n"
For complete runnable examples, see examples/.
Direct AIG/BTOR checking:
ric3 check <AIGER/BTOR> portfolioric3 check <AIGER/BTOR> ic3docker build -t ric3 .docker run -v <AIGER/BTOR>:/model.<aig/btor> ric3 check model.<aig/btor> portfolioCopyright (C) 2023 - Present, Yuheng Su (gipsyh.icu@gmail.com). All rights reserved.
Rust
99.8%