Template Class HierNetlist

Inheritance Relationships

Base Type

Template Parameter Order

  1. `graph_t <exhale_class_classxn_1_1Graph_>`_

Class Documentation

template<typename graph_t>
class HierNetlist : public Netlist<graph_t>

HierNetlist.

HierNetlist is implemented by xn::Graph, which is a networkx-like graph.

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 Functions

HierNetlist(graph_t G, const nodeview_t &modules, const nodeview_t &nets)

Construct a new HierNetlist object.

Construct a new Netlist object.

Parameters
  • G[in]

  • module_list[in]

  • net_list[in]

  • module_fixed[in]

  • G[in]

  • modules[in]

  • nets[in]

Template Parameters
  • nodeview_t

  • nodemap_t

void projection_down(gsl::span<const std::uint8_t> part, gsl::span<std::uint8_t> part_down) const

Construct a new Netlist object.

projection down

Parameters
  • G[in]

  • num_modules[in]

  • num_nets[in]

  • part[in]

  • part_down[out]

void projection_up(gsl::span<const std::uint8_t> part, gsl::span<std::uint8_t> part_up) const

projection up

Parameters
  • part[in]

  • part_up[out]

inline auto get_net_weight(const node_t &net) const -> int

Get the net weight.

Returns

int

Public Members

const Netlist<graph_t> *parent
std::vector<node_t> node_up_map
std::vector<node_t> node_down_map
py::dict<index_t, node_t> cluster_down_map
shift_array<std::vector<int>> net_weight = {}