fvm.toolchains.questa_pkg.parsers.parse_formal_signoff module

Parser for formal signoff reports.

This module provides functions to parse the coverage tables and convert them into a unified coverage table format.

It is specifically for Questa PropCheck results.

fvm.toolchains.questa_pkg.parsers.parse_formal_signoff.add_total_field(table)[source]

Add a total row to the coverage table

Parameters:

table (dict) – A coverage table with parsed row data.

Returns:

The input table with an additional total row.

Return type:

dict

fvm.toolchains.questa_pkg.parsers.parse_formal_signoff.filter_coverage_tables(tables)[source]

Filter coverage tables to select only the design summary, not the individual module summaries.

Parameters:

tables (list[dict]) – List of coverage tables with titles and data.

Returns:

Filtered list of coverage tables.

Return type:

list[dict]

fvm.toolchains.questa_pkg.parsers.parse_formal_signoff.parse_coverage_table(html)[source]

Parse formal signoff tables from HTML content.

Parameters:

html (str) – HTML string containing coverage tables.

Returns:

A list of parsed tables with titles and row data.

Return type:

list[dict[str, list[dict[str, str]]]]

fvm.toolchains.questa_pkg.parsers.parse_formal_signoff.unified_format_table(table, goal=90.0)[source]

Convert the formal signoff table into the unified coverage table format.

This function reformats the columns of a coverage summary into a standard schema including fields like status, totals, covered values, and percentages. The goal parameter defines the pass/fail threshold.

Parameters:
  • table (dict) – Parsed coverage table.

  • goal (float, optional) – Coverage percentage required to mark a row as “pass”.

Returns:

Reformatted coverage data with unified schema.

Return type:

list[dict]