#include <ckpttn/netlist.hpp>
template<typename graph_ t>
Netlist struct
Netlist data structure.
Netlist is implemented by xnetwork::Graph, which is a networkx-like graph. It represents a circuit netlist with modules (nodes) and nets (hyperedges).
Derived classes
-
template<typename graph_class HierNetlist
t> - Hierarchical Netlist.
Public types
- using nodeview_t = typename graph_t::nodeview_t
- using node_t = typename graph_t::node_t
- using index_t = typename nodeview_t::key_type
Constructors, destructors, conversion operators
-
Netlist(graph_
t gr, const nodeview_ t& modules, const nodeview_ t& nets) - Construct a new Netlist object.
-
Netlist(graph_
t gr, uint32_t numModules, uint32_t numNets) - Construct a new Netlist object.
Public functions
- auto begin() const -> auto
- auto end() const -> auto
- auto number_of_modules() const -> size_t -> auto
- Get the number of modules.
- auto number_of_nets() const -> size_t -> auto
- Get the number of nets.
- auto number_of_nodes() const -> size_t -> auto
- Get the number of nodes.
- auto get_max_degree() const -> size_t -> auto
- Get the max degree.
- auto get_max_net_degree() const -> size_t -> auto
- Get the max net degree.
-
auto get_module_weight(const node_
t& v) const -> unsigned int -> auto - Get the module weight.
-
auto get_net_weight(const node_
t&) const -> uint32_t -> auto - Get the net weight.
Public variables
-
graph_
t gr - The underlying graph structure.
-
nodeview_
t modules - Node view for modules (circuit components)
-
nodeview_
t nets - Node view for nets (connections)
- size_t num_modules
- Number of modules in the netlist.
- size_t num_nets
- Number of nets in the netlist.
- size_t num_pads
- Number of pads (I/O nodes)
- size_t max_degree
- Maximum degree among all modules.
- size_t max_net_degree
- Maximum degree among all nets.
- std::vector<unsigned int> module_weight
- Weight for each module.
- bool has_fixed_modules
- Flag indicating whether any modules have fixed positions.
-
py::set<node_
t> module_fixed - Set of modules with fixed positions.
Function documentation
template<typename graph_ t _1>
Netlist<_1>:: Netlist(graph_ t gr,
const nodeview_ t& modules,
const nodeview_ t& nets)
Construct a new Netlist object.
| Parameters | |
|---|---|
| gr in | graph |
| modules in | module nodes |
| nets in | net nodes |
Example: Netlist netlist(gr, modules, nets);
template<typename graph_ t _1>
auto Netlist<_1>:: number_of_modules() const -> size_t
Get the number of modules.
| Returns | size_t |
|---|
template<typename graph_ t _1>
auto Netlist<_1>:: number_of_nets() const -> size_t
Get the number of nets.
| Returns | size_t |
|---|
template<typename graph_ t _1>
auto Netlist<_1>:: number_of_nodes() const -> size_t
Get the number of nodes.
| Returns | size_t |
|---|
template<typename graph_ t _1>
auto Netlist<_1>:: get_max_degree() const -> size_t
Get the max degree.
| Returns | size_t |
|---|
template<typename graph_ t _1>
auto Netlist<_1>:: get_max_net_degree() const -> size_t
Get the max net degree.
| Returns | index_t |
|---|
template<typename graph_ t _1>
auto Netlist<_1>:: get_module_weight(const node_ t& v) const -> unsigned int
Get the module weight.
| Parameters | |
|---|---|
| v in | |
| Returns | int |
template<typename graph_ t _1>
auto Netlist<_1>:: get_net_weight(const node_ t&) const -> uint32_t
Get the net weight.
| Returns | int |
|---|