Class HSPartitionFlow¶
Defined in File HSPartitionFlow.h
Inheritance Relationships¶
Base Type¶
public HSFullTiming::HSStaBase(Class HSStaBase)
Derived Types¶
public HSFullTiming::HSCutNetFlow(Class HSCutNetFlow)public HSFullTiming::HSCutOnlyFlow(Class HSCutOnlyFlow)
Class Documentation¶
-
class HSPartitionFlow : public HSFullTiming::HSStaBase¶
Subclassed by HSFullTiming::HSCutNetFlow, HSFullTiming::HSCutOnlyFlow
Public Functions
-
HSPartitionFlow()¶
-
virtual ~HSPartitionFlow()¶
-
void cleanPartition()¶
-
void cleanOurPartition()¶
-
void deleteOurLocalData(int index)¶
-
int parseInput(const string &dInputs)¶
-
virtual int buildLocalData()¶
-
string trim(const string &str)¶
-
HSTimingLocalData *buildLocalData(const vector<int> &partInfo)¶
-
HSTimingLocalData *cloneOurLocalData(int index)¶
-
void mergeEdgePaths(vector<timingpath> &mergePaths, const string &folder, int k, float mergeRatio)¶
-
int printEdgePathReport(const std::string &timing_aware_dOutDir, const string &dOutDir, int printNum)¶
-
int expandPaths(const string &time, vector<timingpath> &pathDataAll)¶
-
void getEdgePaths(vector<timingpath> &edgePaths) const¶
-
int getEdgePathReport(const vector<int> &edgeIds, vector<timingpath> &path)¶
-
int getHyperNodeNum() const¶
-
inline int getSlackRange()¶
-
int setEdgeInfos()¶
-
int setPin2Edge()¶
-
inline bool hasLocalDatas() const¶
-
inline vector<HSOuterEdge*> get_m_outerEdgeAll() const¶
-
inline vector<HSPartitionNet*> get_m_netAll() const¶
-
inline const vector<HSPartitionNet*> &getNetAll() const¶
-
inline const vector<int> &getEdge2NetId() const¶
-
inline vector<HSGraphClock*> get_m_clkAll() const¶
-
inline const flat_hash_map<pair<int, int>, int> &get_pin2Edge() const¶
-
void setEdgePortNames(int edgeId, const string &fromPort, const string &toPort)¶
-
inline vector<HSTimingLocalData*> get_m_localDatas() const¶
-
inline vector<HSTimingLocalData*> get_m_ourLocalDatas() const¶
-
inline vector<set<int>> get_ins_paths() const¶
-
inline flat_hash_map<string, int> get_m_insPin_net() const¶
-
inline HSTimingLocalData *getOurLocalData(int index) const¶
-
HSTimingLocalData *addOneLocalData()¶
-
void printTopkMinSlack(HSTimingLocalData *oneLocal, int k)¶
-
void getTopkCutPaths(vector<HSStaBase::timingpath> &cutPaths, HSTimingLocalData *oneLocal, int k)¶
-
void dumpTopkCutPaths(HSTimingLocalData *oneLocal, int k, const std::string &filepath)¶
Public Static Functions
-
static inline bool initSlackRange(int slack_range)¶
-
static inline bool setSlackRange(int slack_range)¶
Private Functions
-
void buildEdge2NetId()¶
Private Members
-
int m_hyperNodeNum = 0¶
-
vector<HSPartitionNet*> m_netAll¶
-
vector<int> m_edge2NetId¶
-
vector<HSTimingLocalData*> m_localDatas¶
-
vector<HSTimingLocalData*> m_ourLocalDatas¶
-
flat_hash_map<pair<int, int>, int> pin2Edge¶
-
vector<set<int>> ins_paths¶
-
flat_hash_map<string, int> m_insPin_net¶
Friends
- friend class HSCutOnlyFlow
- friend class HSCutNetFlow
-
HSPartitionFlow()¶