Overview
ImperasFC is a Functional Coverage (FC) tool used in RISC-V verification flows. The available evidence describes ImperasFC, together with ImperasSC, as a tool that auto-generates SystemVerilog coverage models for RISC-V ISA features and provides detailed metrics for identifying coverage gaps. [C1]
Role in functional coverage
ImperasFC is used to measure how thoroughly stimulus has exercised ISA features and system behaviours. The cited material defines Functional Coverage / Stimulus Coverage as metrics for this purpose and states that automatically generated coverage models, including those produced via ImperasFC/SC, provide detailed insight into coverage gaps. [C2]
In a hybrid RISC-V verification workflow, constrained-random testing can be followed by functional coverage analysis with ImperasFC. The evidence states that ImperasFC generates SystemVerilog coverage models directly from the ISA specification. [C3]
SystemVerilog coverage model output
ImperasFC coverage is represented as conventional SystemVerilog functional coverage. Because of this, results can be viewed in a standard coverage reporting tool such as Verdi. Users can also extend the ImperasFC functional coverage models with custom-feature coverage and cross-coverage points. [C4]
Integration with Verdi
The evidence identifies Verdi as a debug and analysis platform used for waveforms, mismatch tracking, and functional coverage reporting. ImperasFC is described as integrating with Verdi, and a RISC-V verification flow is described in which ImperasFC functional coverage is integrated with Verdi for unified coverage analysis. [C5]
Use in coverage closure workflows
ImperasFC supports coverage closure by helping expose coverage gaps after stimulus generation. The evidence describes a workflow that begins with constrained-random sweeps, continues with ImperasFC functional coverage analysis, highlights and closes coverage gaps once RTL is available, merges results in Verdi, and replays failing cases deterministically in VCS. [C6]
Relationship to shift-left verification
The cited workflow distinguishes ImperasFC from ImperasSC: coverage analysis can begin before RTL using ImperasSC, supporting shift-left verification, and ImperasFC is then used for functional coverage analysis once verification proceeds through RTL-oriented flows. [C7]