OpenFPGA/vpr/src/base/clustered_netlist_utils.h

29 lines
823 B
C++

#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