blob: 635b9f7ca6b452f911eebd141aca4953388a8cff [file] [log] [blame]
#ifndef CLUSTERED_NETLIST_UTILS_H
#define CLUSTERED_NETLIST_UTILS_H
#include "vtr_vector.h"
#include "vtr_range.h"
#include "vpr_utils.h"
#include "atom_netlist_fwd.h"
#include "clustered_netlist_fwd.h"
class ClusteredPinAtomPinsLookup {
public:
typedef std::vector<AtomPinId>::const_iterator atom_pin_iterator;
typedef typename vtr::Range<atom_pin_iterator> atom_pin_range;
public:
ClusteredPinAtomPinsLookup(const ClusteredNetlist& clustered_netlist, const IntraLbPbPinLookup& pb_gpin_lookup);
atom_pin_range connected_atom_pins(ClusterPinId clustered_pin) const;
private:
void init_lookup(const ClusteredNetlist& clustered_netlist, const IntraLbPbPinLookup& pb_gpin_lookup);
private:
vtr::vector<ClusterPinId,std::vector<AtomPinId>> clustered_pin_connected_atom_pins_;
};
#endif