CRAVE
ToolCRAVE is a constrained-randomization library used by the SystemC port of the UVM library. It provides an integrated interface to BDD and SAT solvers, but the cited DVCon paper reports limitations for complex RISCV-DV constraints, multicore parallelism, and native memory footprint of random variables.
First seen 5/25/2026
Last seen 5/25/2026
Evidence 1 chunks
Wiki v1
WIKI
Overview
CRAVE is described as a library used by the SystemC port of the UVM library for constrained randomization. The same source states that CRAVE provides an integrated interface to a set of Binary Decision Diagram (BDD) and Satisfiability (SAT) solvers. [CRAVE constrained-randomization role; CRAVE solver interface]
Use in SystemC verification
NEIGHBORHOOD
No graph connections found for this entity yet. It may appear in future ingestion runs.
explore full graph →RELATIONSHIPS
3 connectionsCRAVE provides an integrated interface to BDD solvers.
CRAVE provides an integrated interface to SAT solvers.
The SystemC port of UVM relies on the CRAVE library for constrained randomization.
LINKED ENTITIES
2 linksCITATIONS
7 sources7 citations — click to expand
[1] CRAVE constrained-randomization role [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[3] SystemC UVM reliance on CRAVE [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[4] CRAVE wrapper-template random variables [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[5] Complex RISCV-DV constraint limitation [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[6] Multicore parallelism limitation [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[7] Native memory-footprint limitation [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings