Sta::endpointSlack

Signed-off-by: James Cherry <[email protected]>
This commit is contained in:
James Cherry
2025-10-25 10:02:34 -07:00
parent 6e29fcb3f0
commit 525c2efb3d
7 changed files with 160 additions and 16 deletions
+4 -1
View File
@@ -107,6 +107,7 @@ protected:
class PathGroups : public StaState
{
public:
PathGroups(const StaState *sta);
PathGroups(int group_path_count,
int endpoint_path_count,
bool unique_pins,
@@ -134,8 +135,10 @@ public:
PathGroup *findPathGroup(const Clock *clock,
const MinMax *min_max) const;
PathGroup *pathGroup(const PathEnd *path_end) const;
static bool isGroupPathName(const char *group_name);
static const char *asyncPathGroupName() { return async_group_name_; }
static const char *pathDelayGroupName() { return path_delay_group_name_; }
static const char *gatedClkGroupName() { return gated_clk_group_name_; }
static const char *unconstrainedGroupName() { return unconstrained_group_name_; }
protected:
void makeGroupPathEnds(ExceptionTo *to,
+9 -1
View File
@@ -73,6 +73,7 @@ typedef InstanceSeq::Iterator SlowDrvrIterator;
typedef Vector<const char*> CheckError;
typedef Vector<CheckError*> CheckErrorSeq;
typedef Vector<Corner*> CornerSeq;
typedef std::vector<std::string> StdStringSeq;
enum class CmdNamespace { sta, sdc };
@@ -516,7 +517,10 @@ public:
ExceptionThruSeq *thrus,
ExceptionTo *to,
const char *comment);
bool isGroupPathName(const char *group_name);
// Deprecated 10/24/2025
bool isGroupPathName(const char *group_name) __attribute__ ((deprecated));
bool isPathGroupName(const char *group_name) const;
StdStringSeq pathGroupNames() const;
void resetPath(ExceptionFrom *from,
ExceptionThruSeq *thrus,
ExceptionTo *to,
@@ -1002,6 +1006,10 @@ public:
const MinMax *min_max);
Slack pinSlack(const Pin *pin,
const MinMax *min_max);
// Worst slack for an endpoint in a path group.
Slack endpointSlack(const Pin *pin,
const std::string &path_group_name,
const MinMax *min_max);
Slack vertexSlack(Vertex *vertex,
const MinMax *min_max);
Slack vertexSlack(Vertex *vertex,