46 namespace module_identification
This file contains the enumeration and constants for the candidate types used in the module identific...
This file contains the enum class for multithreading strategies in the module identification process.
const std::vector< CandidateType > all_checkable_candidate_types
A list of all candidate types that are selectable to be checked.
MultithreadingPriority
Specifies the strategy for multithreading in the module identification process.
@ memory_priority
Prioritize memory efficiency in multithreading.
Configuration for the module identification analysis.
Configuration()
Constructs an empty configuration.
Configuration & with_multithreading_priority(const MultithreadingPriority &priority)
Set the multithreading priority type.
Configuration & with_types_to_check(const std::vector< module_identification::CandidateType > &types_to_check)
Set the candidate types to be checked.
Netlist * m_netlist
The netlist to be analyzed.
Configuration & with_already_classified_candidates(const std::vector< std::vector< Gate * >> &already_classified_candidates)
Add gates to be ignored during processing.
std::vector< std::set< Gate * > > m_blocked_base_candidates
Base candidates to block during analysis.
std::vector< module_identification::CandidateType > m_types_to_check
CandidateTypes that shall be checked. Defaults to all checkable candidate types.
std::vector< std::vector< Gate * > > m_known_registers
A vector handling possibly known registers.
u32 m_max_control_signals
Maximum number of control signals to be tested. Defaults to 3.
Configuration & with_known_registers(const std::vector< std::vector< Gate * >> ®isters)
Set the known registers for prioritization.
Configuration & with_blocked_base_candidates(const std::vector< std::set< Gate * >> &blocked_base_candidates)
Add base candidates to be blocked during analysis.
std::vector< std::vector< Gate * > > m_already_classified_candidates
Gates to ignore during processing.
Configuration & with_max_control_signals(const u32 &max_control_signals)
Set the maximum number of control signals to be tested.
Configuration & with_max_thread_count(const u32 &max_thread_count)
Set the maximum number of threads.
MultithreadingPriority m_multithreading_priority
Choose which MultithreadingPriority to use for the analysis. Defaults to memory priority.
u32 m_max_thread_count
Maximum number of concurrent threads created during execution. Defaults to 1.