Program Listing for File sta.h

Return to documentation for file (src/sta/sta.h)

#ifndef STA_H
#define STA_H

#include <iostream>

#include "HSPartitionFlow.h"
#include "HSPrefixTree.h"
#include "HSTimingDelta.h"
#include "HSTimingLocalData.h"

using namespace std;

class sta {
 public:
  static void parse(HSFullTiming::HSPartitionFlow &pFlow,
                    const string &folder_name);
  static void buildNextObjInfo(HSFullTiming::HSPartitionFlow &pFlow);
  static void buildLocalData(HSFullTiming::HSPartitionFlow &pFlow);
  static void printEdgePathReport(HSFullTiming::HSPartitionFlow &pFlow,
                                  const string &folder_name, int kNum);
  static void getEdgePathReport(
      HSFullTiming::HSPartitionFlow &pFlow, const vector<int> &edgeIds,
      vector<HSFullTiming::HSStaBase::timingpath> &pathDataAll);
  static void paramCal(HSFullTiming::HSPartitionFlow &pFlow,
                       flat_hash_map<int, set<pair<int, int>>> &net_insPin_set,
                       flat_hash_map<pair<int, int>, pinSlack> &pin_minslack,
                       const bool &has_mul_clock_domains,
                       const shared_ptr<mulClockAttr> &clockAttr,
                       const float &maximum_clock_period);
  static void storeClockAttr(HSFullTiming::HSPartitionFlow &pFlow,
                             shared_ptr<mulClockAttr> &clockAttr,
                             bool &has_mul_clock_domains);
};

#endif