48 namespace module_identification
63 Result(
Netlist* nl,
const std::vector<std::pair<BaseCandidate, VerifiedCandidate>>& result,
const std::string& timing_stats_json =
"");
188 std::vector<std::pair<BaseCandidate, VerifiedCandidate>> m_candidates;
193 std::string m_timing_stats_json =
"";
This file contains the definition of the BaseCandidate class, which represents a base candidate in th...
The result of a module identification run containing the candidates.
std::map< u32, std::vector< Gate * > > get_candidate_gates() const
Get a map of the candidate IDs to the gates contained inside the candidate.
std::map< u32, VerifiedCandidate > get_candidates() const
Get a map of the candidate IDs to the candidates.
hal::Result< Result > merge(const Result &other, const std::vector< std::vector< Gate * >> ®isters) const
Merges two results by combining the found verified candidates.
std::set< Gate * > get_all_gates() const
Get all gates contained in any of the candidates.
std::map< u32, std::vector< Gate * > > get_verified_candidate_gates() const
Get a map of the candidate IDs to the gates contained inside the verified candidates.
std::set< Gate * > get_all_verified_gates() const
Get all gates contained in any of the verified candidates.
static std::vector< std::vector< std::set< Gate * > > > assign_base_candidates_to_iterations(const std::vector< Result > &iteration_results, const bool create_block_lists=false)
For different runs of the plugin figure out in which iteration the plugin found the highest quality r...
Netlist * get_netlist() const
Get the netlist on which module identification has been performed.
hal::Result< std::monostate > create_modules_in_netlist()
Creates a HAL module for each candidate of the result.
Result(Netlist *nl, const std::vector< std::pair< BaseCandidate, VerifiedCandidate >> &result, const std::string &timing_stats_json="")
Constructor for Result.
hal::Result< std::vector< Gate * > > get_candidate_gates_by_id(const u32 id) const
Get the gates of the candidate with the corresponding ID.
std::string get_timing_stats() const
Get the collected timing information formatted as a JSON string.
hal::Result< VerifiedCandidate > get_candidate_by_id(const u32 id) const
Returns the candidate with the corresponding ID.
std::map< u32, VerifiedCandidate > get_verified_candidates() const
Get a map of the candidate IDs to the verified candidates.