template<typename graph_t>
Netlist struct

Netlist.

Netlist is implemented by xnetwork::Graph, which is a networkx-like graph.

Derived classes

template<typename graph_t>
class HierNetlist
HierNetlist.

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
nodeview_t modules
nodeview_t nets
size_t num_modules
size_t num_nets
size_t num_pads
size_t max_degree
size_t max_net_degree
std::vector<unsigned int> module_weight
bool has_fixed_modules
py::set<node_t> module_fixed

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>
Netlist<_1>::Netlist(graph_t gr, uint32_t numModules, uint32_t numNets)

Construct a new Netlist object.

Parameters
gr in
numModules in
numNets in

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
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