| #ifndef _UHDM_AST_REPORT_H_ |
| #define _UHDM_AST_REPORT_H_ 1 |
| |
| #include "kernel/yosys.h" |
| #include <map> |
| #include <string> |
| #include <unordered_map> |
| #undef cover |
| #include <uhdm/uhdm.h> |
| |
| namespace systemverilog_plugin |
| { |
| |
| class UhdmAstReport |
| { |
| private: |
| // Maps a filename to the number of objects being handled by the frontend |
| std::unordered_map<std::string, unsigned> handled_count_per_file; |
| |
| public: |
| // Objects not being handled by the frontend |
| std::set<const UHDM::BaseClass *> unhandled; |
| |
| // Marks the specified object as being handled by the frontend |
| void mark_handled(const UHDM::BaseClass *object); |
| |
| // Marks the object referenced by the specified handle as being handled by the frontend |
| void mark_handled(vpiHandle obj_h); |
| |
| // Write the coverage report to the specified path |
| void write(const std::string &directory); |
| }; |
| |
| } // namespace systemverilog_plugin |
| |
| #endif |