|
HAL
v4.5.0-124-g47ab54673
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
|
#include </home/runner/work/hal/hal/plugins/clock_tree_extractor/include/clock_tree_extractor/clock_tree.h>

Public Member Functions | |
| ClockTree (const Netlist *netlist, igraph_t &&graph, std::unordered_set< igraph_integer_t > &&roots, std::unordered_map< igraph_integer_t, const void * > &&m_vertices_to_ptrs, std::unordered_map< const void *, PtrType > &&m_ptrs_to_types) | |
| ~ClockTree () | |
| Result< std::monostate > | export_dot (const std::string &pathname) const |
| Result< std::vector< std::pair< const void *, PtrType > > > | get_neighbors (const void *ptr, igraph_neimode_t direction) const |
| Result< std::unique_ptr< ClockTree > > | get_subtree (const void *ptr, const bool parent) const |
| Result< igraph_integer_t > | get_vertex_from_ptr (const void *ptr) const |
| Result< std::pair< const void *, PtrType > > | get_ptr_from_vertex (const igraph_integer_t vertex) const |
| Result< std::vector< igraph_integer_t > > | get_vertices_from_ptrs (const std::vector< const void * > &ptrs) const |
| Result< std::vector< std::pair< const void *, PtrType > > > | get_ptrs_from_vertices (const std::vector< igraph_integer_t > &vertices) const |
| const std::vector< const Gate * > | get_gates () const |
| const std::vector< const Net * > | get_nets () const |
| const std::unordered_map< const void *, PtrType > | get_all () const |
| const Netlist * | get_netlist () const |
| const igraph_t * | get_igraph () const |
Static Public Member Functions | |
| static Result< std::unique_ptr< ClockTree > > | from_netlist (const Netlist *netlist) |
Definition at line 79 of file clock_tree.h.
| hal::cte::ClockTree::ClockTree | ( | const Netlist * | netlist, |
| igraph_t && | graph, | ||
| std::unordered_set< igraph_integer_t > && | roots, | ||
| std::unordered_map< igraph_integer_t, const void * > && | m_vertices_to_ptrs, | ||
| std::unordered_map< const void *, PtrType > && | m_ptrs_to_types | ||
| ) |
Definition at line 136 of file clock_tree.cpp.
| hal::cte::ClockTree::~ClockTree | ( | ) |
Definition at line 155 of file clock_tree.cpp.
| Result< std::monostate > hal::cte::ClockTree::export_dot | ( | const std::string & | pathname | ) | const |
Definition at line 423 of file clock_tree.cpp.
References ERR, hal::cte::GATE, hal::DataContainer::get_data(), hal::Gate::get_id(), hal::Gate::get_name(), hal::GateType::get_name(), hal::Gate::get_type(), log_error, hal::cte::NET, OK, x, and y.
|
static |
Definition at line 160 of file clock_tree.cpp.
References hal::clock, ERR, hal::ff, hal::cte::GATE, hal::Gate::get_fan_in_endpoints(), hal::Netlist::get_gates(), hal::Net::get_id(), hal::Net::get_num_of_sources(), hal::Net::get_sources(), hal::input, hal::Net::is_global_input_net(), log_error, log_warning, hal::cte::NET, net, and OK.
Referenced by hal::PYBIND11_PLUGIN().
| const std::unordered_map< const void *, PtrType > hal::cte::ClockTree::get_all | ( | ) | const |
Definition at line 787 of file clock_tree.cpp.
| const std::vector< const Gate * > hal::cte::ClockTree::get_gates | ( | ) | const |
Definition at line 757 of file clock_tree.cpp.
References hal::cte::GATE, and type.
Referenced by hal::PYBIND11_PLUGIN().
| const igraph_t * hal::cte::ClockTree::get_igraph | ( | ) | const |
Definition at line 797 of file clock_tree.cpp.
| Result< std::vector< std::pair< const void *, PtrType > > > hal::cte::ClockTree::get_neighbors | ( | const void * | ptr, |
| igraph_neimode_t | direction | ||
| ) | const |
Definition at line 803 of file clock_tree.cpp.
| const Netlist * hal::cte::ClockTree::get_netlist | ( | ) | const |
Definition at line 792 of file clock_tree.cpp.
Referenced by hal::PYBIND11_PLUGIN().
| const std::vector< const Net * > hal::cte::ClockTree::get_nets | ( | ) | const |
Definition at line 772 of file clock_tree.cpp.
References hal::cte::NET, and type.
Referenced by hal::PYBIND11_PLUGIN().
| Result< std::pair< const void *, PtrType > > hal::cte::ClockTree::get_ptr_from_vertex | ( | const igraph_integer_t | vertex | ) | const |
Definition at line 708 of file clock_tree.cpp.
Referenced by get_ptrs_from_vertices().
| Result< std::vector< std::pair< const void *, PtrType > > > hal::cte::ClockTree::get_ptrs_from_vertices | ( | const std::vector< igraph_integer_t > & | vertices | ) | const |
Definition at line 739 of file clock_tree.cpp.
References ERR, get_ptr_from_vertex(), and OK.
| Result< std::unique_ptr< ClockTree > > hal::cte::ClockTree::get_subtree | ( | const void * | ptr, |
| const bool | parent | ||
| ) | const |
Definition at line 561 of file clock_tree.cpp.
| Result< igraph_integer_t > hal::cte::ClockTree::get_vertex_from_ptr | ( | const void * | ptr | ) | const |
Definition at line 697 of file clock_tree.cpp.
Referenced by get_vertices_from_ptrs().
| Result< std::vector< igraph_integer_t > > hal::cte::ClockTree::get_vertices_from_ptrs | ( | const std::vector< const void * > & | ptrs | ) | const |
Definition at line 720 of file clock_tree.cpp.
References ERR, get_vertex_from_ptr(), and OK.