|
CkPttn 1.2.4
|
Netlist data structure. More...
#include <netlist.hpp>

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 |
Public Member Functions | |
| 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. | |
| auto | begin () const |
| auto | end () const |
| auto | number_of_modules () const -> size_t |
| Get the number of modules. | |
| auto | number_of_nets () const -> size_t |
| Get the number of nets. | |
| auto | number_of_nodes () const -> size_t |
| Get the number of nodes. | |
| auto | get_max_degree () const -> size_t |
| Get the max degree. | |
| auto | get_max_net_degree () const -> size_t |
| Get the max net degree. | |
| auto | get_module_weight (const node_t &v) const -> unsigned int |
| Get the module weight. | |
| auto | get_net_weight (const node_t &) const -> uint32_t |
| Get the net weight. | |
Public Attributes | |
| 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. | |
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).
| Netlist< graph_t >::Netlist | ( | graph_t | gr, |
| const nodeview_t & | modules, | ||
| const nodeview_t & | nets | ||
| ) |
Construct a new Netlist object.
Example:
* Netlist netlist(gr, modules, nets); *
| [in] | gr | graph |
| [in] | modules | module nodes |
| [in] | nets | net nodes |
| Netlist< graph_t >::Netlist | ( | graph_t | gr, |
| uint32_t | numModules, | ||
| uint32_t | numNets | ||
| ) |
Construct a new Netlist object.
| [in] | gr | |
| [in] | numModules | |
| [in] | numNets |
Get the max degree.
Get the max net degree.
|
inline |
Get the module weight.
| [in] | v |
|
inline |
Get the net weight.
Get the number of modules.
Get the number of nets.
Get the number of nodes.
Flag indicating whether any modules have fixed positions.
Maximum degree among all modules.
Maximum degree among all nets.
Set of modules with fixed positions.
Weight for each module.
| nodeview_t Netlist< graph_t >::modules |
Node view for modules (circuit components)
| nodeview_t Netlist< graph_t >::nets |
Node view for nets (connections)
Number of modules in the netlist.