Placeholder Mike Thompson accepted merge request !4: Multi-Tool Support (Questasim, Xcelium, VCS) and Unified Compilation Flow for cvfpu-uvm with Bender supp...

Placeholder Mike Thompson
2026-02-06T15:56:44Z

Summary

This PR introduces a comprehensive refactoring of the cvfpu-uvm environment to ensure full compatibility with Questasim, Xcelium, and VCS, covering the entire flow from compilation to simulation, including post-processing database generation. The goal is to provide a unified, maintainable, and streamlined verification infrastructure across all supported simulators.

Key Changes

Unified Compilation Through a Single Filelist

A single compilation filelist that is generated via Bender, is now used across all three simulators via the -f option. This replaces the previous multi-layer YAML-based system, which recursively included various filelists. This approach eliminates redundant compilation units that could be generated ensuring consistent compilation across simulators. The usage of Bender allows a smart management of dependencies and an automatized filelist generation.

Fixes for VCS Compatibility in fpu_txn.svh

The file fpu_txn.svh has been updated by converting certain arrays from packed to unpacked representations. This resolves compilation conflicts specific to VCS without altering functionality.

Major Refactoring of Python Parsing Scripts

The Python scripts located under modules/core-v-verif/ have been significantly restructured to simplify logic and improve readability and to extend supported command-line features. For this refer to the analogous PR #2643 in https://github.com/openhwgroup/core-v-verif.git

Testbench Initialization Flow Updated for All Tools

The initialization flow of the UVM testbench has been adapted to support Questasim, Xcelium, and VCS uniformly. This includes updates to:

setup_env.sh and setup_env.csh scripts

Makefile for building the MPFR reference model used through DPI

Tool-Specific YAML Files Extended

Each simulator now has its own YAML configuration file providing the Python parser with simulation options, compiling parameters and database configuration for post-processing waveform analysis. New YAML options were added to enable automated creation of simulator-specific databases (e.g., SHM, WLF, FSDB).