Skip to content

Proposal to define an XML-based logging format for outputs from EDA tools and logging libraries.

License

Notifications You must be signed in to change notification settings

edaa-org/pyEDAA.Reports

This branch is 3 commits ahead of, 5 commits behind main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b442007 · Feb 24, 2025
Feb 24, 2025
Nov 3, 2024
Dec 24, 2021
Feb 24, 2025
Feb 24, 2025
Oct 8, 2024
Feb 24, 2025
Feb 24, 2025
Feb 25, 2024
Jan 4, 2025
Jan 24, 2022
Feb 24, 2025
Jan 8, 2022
Feb 24, 2025
Feb 24, 2025
Oct 13, 2024
Feb 24, 2025

Repository files navigation

Sourcecode on GitHub Documentation Gitter
GitHub Workflow - Build and Test Status Codacy - Quality

Proposal to define an abstract model for outputs from EDA tools and logging libraries.

The main intended use case of pyEDAA.Reports is to import multiple log/report formats (raw logs, CSVs, YAML, JSON, etc.) and provide a unified model that can generate reports using popular formats such as XUnit or Cobertura. Since most vendors, CI services and monitoring tools support XML, the internals of pyEDAA.Reports are to be based on XML transformations.

As an abstract model, the main capability of pyEDAA.Reports is handling messages using an structured format. The readers categorize messages by IDs and append attributes such as the severity, which allow complex filtering and fancy coloring for better human readability.

Report Kinds

Test Report Summary

  • Test Suite
  • Test Case
  • Test Parameter

Code Coverage Report

  • Line Coverage
  • Statement Coverage
  • Branch Coverage
  • Expression Coverage
  • State Coverage
  • Transition Coverage

Functional Coverage

  • Coverage Model
    • Dimension
    • Bin
      • Item
      • Range

Synthesis

  • Area/resources
  • Timing

Implementation

  • Area/resources
  • Timing

Target input logs/formats

  • ActiveHDL
  • CoCoTb
  • Diamond
  • GHDL
  • Icarus Verilog
  • ISE
  • ModelSim/QuestaSim
  • nextpnr
  • OSVVM
  • RivieraPRO
  • SymbiYosys
  • Synplify
  • Quartus
  • Verilator
  • Verilog-to-Routing
  • Vivado
  • VUnit
  • Xcelium
  • Yosys
  • ...

References