|
HAL
v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
|
Configuration for the module identification analysis. More...

Public Member Functions | |
| Configuration (Netlist *nl) | |
| Constructs a new ModuleIdentification analysis configuration for the given netlist. More... | |
| Configuration () | |
| Constructs an empty configuration. More... | |
| Configuration & | with_known_registers (const std::vector< std::vector< Gate * >> ®isters) |
| Set the known registers for prioritization. More... | |
| Configuration & | with_max_thread_count (const u32 &max_thread_count) |
| Set the maximum number of threads. More... | |
| Configuration & | with_max_control_signals (const u32 &max_control_signals) |
| Set the maximum number of control signals to be tested. More... | |
| Configuration & | with_multithreading_priority (const MultithreadingPriority &priority) |
| Set the multithreading priority type. More... | |
| Configuration & | with_types_to_check (const std::vector< module_identification::CandidateType > &types_to_check) |
| Set the candidate types to be checked. More... | |
| Configuration & | with_already_classified_candidates (const std::vector< std::vector< Gate * >> &already_classified_candidates) |
| Add gates to be ignored during processing. More... | |
| Configuration & | with_blocked_base_candidates (const std::vector< std::set< Gate * >> &blocked_base_candidates) |
| Add base candidates to be blocked during analysis. More... | |
Public Attributes | |
| Netlist * | m_netlist |
| The netlist to be analyzed. More... | |
| std::vector< std::vector< Gate * > > | m_known_registers = {} |
| A vector handling possibly known registers. More... | |
| std::vector< module_identification::CandidateType > | m_types_to_check = all_checkable_candidate_types |
| CandidateTypes that shall be checked. Defaults to all checkable candidate types. More... | |
| u32 | m_max_thread_count = 1 |
| Maximum number of concurrent threads created during execution. Defaults to 1. More... | |
| u32 | m_max_control_signals = 3 |
| Maximum number of control signals to be tested. Defaults to 3. More... | |
| std::vector< std::vector< Gate * > > | m_already_classified_candidates = {} |
| Gates to ignore during processing. More... | |
| std::vector< std::set< Gate * > > | m_blocked_base_candidates = {} |
| Base candidates to block during analysis. More... | |
| MultithreadingPriority | m_multithreading_priority = MultithreadingPriority::memory_priority |
Choose which MultithreadingPriority to use for the analysis. Defaults to memory priority. More... | |
Configuration for the module identification analysis.
This struct holds important parameters that configure the module identification analysis, including netlist to analyze, known registers, candidate types to check, threading options, etc.
Definition at line 54 of file configuration.h.
| hal::module_identification::Configuration::Configuration | ( | Netlist * | nl | ) |
Constructs a new ModuleIdentification analysis configuration for the given netlist.
| [in] | nl | - The netlist to be analyzed. |
Definition at line 7 of file configuration.cpp.
| hal::module_identification::Configuration::Configuration | ( | ) |
Constructs an empty configuration.
Definition at line 9 of file configuration.cpp.
| Configuration & hal::module_identification::Configuration::with_already_classified_candidates | ( | const std::vector< std::vector< Gate * >> & | already_classified_candidates | ) |
Add gates to be ignored during processing.
All candidates that are build during the module identification run that contain any gates that overlap with any already classified candidate are discarded to avoid conflicts.
| [in] | already_classified_candidates | - Candidates to be ignored. |
Definition at line 41 of file configuration.cpp.
References m_already_classified_candidates.
Referenced by hal::PYBIND11_PLUGIN().
| Configuration & hal::module_identification::Configuration::with_blocked_base_candidates | ( | const std::vector< std::set< Gate * >> & | blocked_base_candidates | ) |
Add base candidates to be blocked during analysis.
| [in] | blocked_base_candidates | - Base candidates to be ignored. |
Definition at line 47 of file configuration.cpp.
References m_blocked_base_candidates.
Referenced by hal::PYBIND11_PLUGIN().
| Configuration & hal::module_identification::Configuration::with_known_registers | ( | const std::vector< std::vector< Gate * >> & | registers | ) |
Set the known registers for prioritization.
| [in] | registers | - The groups provided by a dana run. |
Definition at line 11 of file configuration.cpp.
References m_known_registers.
Referenced by hal::PYBIND11_PLUGIN().
| Configuration & hal::module_identification::Configuration::with_max_control_signals | ( | const u32 & | max_control_signals | ) |
Set the maximum number of control signals to be tested.
| [in] | max_control_signals | - The number of control signals checked. |
Definition at line 23 of file configuration.cpp.
References m_max_control_signals.
Referenced by hal::GuiExtensionModuleIdentification::execute_function(), and hal::PYBIND11_PLUGIN().
| Configuration & hal::module_identification::Configuration::with_max_thread_count | ( | const u32 & | max_thread_count | ) |
Set the maximum number of threads.
| [in] | max_thread_count | - The number of threads to be started at max. |
Definition at line 17 of file configuration.cpp.
References m_max_thread_count.
Referenced by hal::GuiExtensionModuleIdentification::execute_function(), and hal::PYBIND11_PLUGIN().
| Configuration & hal::module_identification::Configuration::with_multithreading_priority | ( | const MultithreadingPriority & | priority | ) |
Set the multithreading priority type.
| [in] | priority | - The type of multithreading used during execution. |
Definition at line 29 of file configuration.cpp.
References m_multithreading_priority.
Referenced by hal::GuiExtensionModuleIdentification::execute_function(), and hal::PYBIND11_PLUGIN().
| Configuration & hal::module_identification::Configuration::with_types_to_check | ( | const std::vector< module_identification::CandidateType > & | types_to_check | ) |
Set the candidate types to be checked.
| [in] | types_to_check | - A list of candidate types to be checked for. |
Definition at line 35 of file configuration.cpp.
References m_types_to_check.
Referenced by hal::GuiExtensionModuleIdentification::execute_function(), and hal::PYBIND11_PLUGIN().
| std::vector<std::vector<Gate*> > hal::module_identification::Configuration::m_already_classified_candidates = {} |
Gates to ignore during processing.
Definition at line 96 of file configuration.h.
Referenced by hal::module_identification::generate_structural_candidates(), hal::PYBIND11_PLUGIN(), and with_already_classified_candidates().
| std::vector<std::set<Gate*> > hal::module_identification::Configuration::m_blocked_base_candidates = {} |
Base candidates to block during analysis.
Definition at line 101 of file configuration.h.
Referenced by hal::module_identification::generate_structural_candidates(), hal::PYBIND11_PLUGIN(), and with_blocked_base_candidates().
| std::vector<std::vector<Gate*> > hal::module_identification::Configuration::m_known_registers = {} |
A vector handling possibly known registers.
Definition at line 76 of file configuration.h.
Referenced by hal::module_identification::generate_functional_candidates(), hal::PYBIND11_PLUGIN(), and with_known_registers().
| u32 hal::module_identification::Configuration::m_max_control_signals = 3 |
Maximum number of control signals to be tested. Defaults to 3.
Definition at line 91 of file configuration.h.
Referenced by hal::module_identification::generate_functional_candidates(), hal::PYBIND11_PLUGIN(), and with_max_control_signals().
| u32 hal::module_identification::Configuration::m_max_thread_count = 1 |
Maximum number of concurrent threads created during execution. Defaults to 1.
Definition at line 86 of file configuration.h.
Referenced by hal::PYBIND11_PLUGIN(), and with_max_thread_count().
| MultithreadingPriority hal::module_identification::Configuration::m_multithreading_priority = MultithreadingPriority::memory_priority |
Choose which MultithreadingPriority to use for the analysis. Defaults to memory priority.
Definition at line 106 of file configuration.h.
Referenced by hal::PYBIND11_PLUGIN(), and with_multithreading_priority().
| Netlist* hal::module_identification::Configuration::m_netlist |
The netlist to be analyzed.
Definition at line 71 of file configuration.h.
Referenced by hal::module_identification::execute(), and hal::PYBIND11_PLUGIN().
| std::vector<module_identification::CandidateType> hal::module_identification::Configuration::m_types_to_check = all_checkable_candidate_types |
CandidateTypes that shall be checked. Defaults to all checkable candidate types.
Definition at line 81 of file configuration.h.
Referenced by hal::module_identification::generate_functional_candidates(), hal::PYBIND11_PLUGIN(), and with_types_to_check().