Skip to content
STIMSMITH

Synopsys VCS

Tool WIKI v2 · 5/28/2026

Synopsys VCS is documented in the provided evidence as an industry-standard commercial RTL simulator used to compile Verilog RTL into host executables for simulation, and as a verified simulator option for the RISCV-DV SystemVerilog/UVM instruction generator. Evidence also describes VCS constraint-solving/profiling behavior for constrained-random generator performance analysis.

Synopsys VCS

Synopsys VCS is an RTL simulation tool used in hardware verification workflows. In the MorFuzz processor-fuzzing evaluation, the authors describe using Synopsys VCS as an "industry-standard commercial tool" to simulate hardware RTL designs. Their flow translates hardware modules to Verilog and compiles them into a host executable binary through the Synopsys VCS RTL simulator.

Use in RISC-V verification flows

The RISCV-DV project is a SystemVerilog/UVM-based open-source instruction generator for RISC-V processor verification. Its documentation states that running the generator requires an RTL simulator supporting SystemVerilog and UVM 1.2, and lists Synopsys VCS among the simulators with which the generator has been verified, alongside Cadence Incisive/Xcelium, Mentor Questa, and Aldec Riviera-PRO.

Constraint solving and profiling

Evidence from an AMD microcode stimulus-generation article describes use of the VCS constraint solver in a constrained-random instruction generator context. The article discusses splitting a large opcode randomization problem into multiple smaller opcode-category classes to reduce randomization problem size, with shared data members and constraints placed in a base instruction class and category-specific constraints placed in child classes.

The same article describes the VCS constraint profiler as a tool for analyzing generator performance in terms of runtime and memory. Runtime details are reported in three views: cumulative randomize calls, per-randomize-call data, and per-partition data. The article also notes that VCS can partition a randomize call into several partitions when unrelated random variables occur within the same randomize call, allowing unrelated variables to be solved independently.

Scope of documented evidence

The provided evidence supports VCS as an RTL simulator used for Verilog-based hardware simulation, as a verified simulator option for RISCV-DV, and as the context for a constraint solver/profiler used in constrained-random stimulus generation. No provided evidence supports additional claims about product packaging, supported language versions beyond the RISCV-DV simulator requirement context, licensing, performance benchmarks, or specific command-line usage.

CITATIONS

5 sources
5 citations
[1] Synopsys VCS is described as an industry-standard commercial tool used to simulate hardware RTL designs, translating hardware modules to Verilog and compiling them into a host executable through the VCS RTL simulator. MorFuzz: Fuzzing Processor via Runtime Instruction Morphing enhanced Synchronizable Co-simulation
[2] RISCV-DV is a SystemVerilog/UVM-based open-source RISC-V instruction generator, requires an RTL simulator supporting SystemVerilog and UVM 1.2, and has been verified with Synopsys VCS among other simulators. chipsalliance/riscv-dv
[3] The VCS constraint profiler analyzes generator performance for runtime and memory and reports runtime information by cumulative randomize calls, per randomize call, and per partition. Generating AMD microcode stimuli using VCS constraint solver
[4] VCS can partition a randomize call into several partitions when unrelated random variables occur within the same randomize call, allowing unrelated variables to be solved independently. Generating AMD microcode stimuli using VCS constraint solver
[5] The AMD microcode stimulus-generation article describes reducing randomization problem size by splitting opcode randomization into multiple smaller opcode-category classes with shared base-class constraints and category-specific child-class constraints. Generating AMD microcode stimuli using VCS constraint solver

VERSION HISTORY

v2 · 5/28/2026 · gpt-5.5 (current)
v1 · 5/25/2026 · gpt-5.5