mirror of
https://github.com/The-OpenROAD-Project/OpenSTA.git
synced 2026-08-29 17:28:57 +02:00
set_min/max_delay -probe support
commit c7576dba7baa28cab4178faf159d365147d07061 Author: James Cherry <[email protected]> Date: Tue May 20 14:45:14 2025 -0700 set_min/max_delay -probe doc Signed-off-by: James Cherry <[email protected]> commit fbaf5a63fc3323cc0b3bc72479081e30eda81116 Author: James Cherry <[email protected]> Date: Fri May 16 10:21:45 2025 -0700 break paths at internal endpoints Signed-off-by: James Cherry <[email protected]> commit 7ed829dfe3ca930211d272856857cfc177fd5df0 Author: James Cherry <[email protected]> Date: Fri May 16 08:52:44 2025 -0700 internal startpoints break in PathVisitor::visitFromPath Signed-off-by: James Cherry <[email protected]> commit 37eb1247c47773f74d37f683c48df0bb0c68432a Author: James Cherry <[email protected]> Date: Thu May 15 12:35:34 2025 -0700 ExceptionPath::noBreak Signed-off-by: James Cherry <[email protected]> commit f514f1a97c709416a0ccfab70b4a1047e6c8c501 Author: James Cherry <[email protected]> Date: Mon May 12 20:35:32 2025 -0700 ExceptionPath::noBreak virtual Signed-off-by: James Cherry <[email protected]> commit b94eb1fe13d2c6ab8457f4a7b5ba5e0f98f41f90 Author: James Cherry <[email protected]> Date: Wed May 7 08:47:55 2025 -0700 set_max_path -probe arg parse Signed-off-by: James Cherry <[email protected]> Signed-off-by: James Cherry <[email protected]>
This commit is contained in:
@@ -126,6 +126,7 @@ public:
|
||||
virtual const char *name() const { return nullptr; }
|
||||
virtual bool isDefault() const { return false; }
|
||||
virtual bool ignoreClkLatency() const { return false; }
|
||||
virtual bool breakPath() const { return false; }
|
||||
|
||||
protected:
|
||||
virtual const char *typeString() const = 0;
|
||||
@@ -194,6 +195,7 @@ public:
|
||||
ExceptionTo *to,
|
||||
const MinMax *min_max,
|
||||
bool ignore_clk_latency,
|
||||
bool break_path,
|
||||
float delay,
|
||||
bool own_pts,
|
||||
const char *comment);
|
||||
@@ -211,9 +213,11 @@ public:
|
||||
virtual int typePriority() const;
|
||||
virtual bool tighterThan(ExceptionPath *exception) const;
|
||||
virtual bool ignoreClkLatency() const { return ignore_clk_latency_; }
|
||||
virtual bool breakPath() const { return break_path_; }
|
||||
|
||||
protected:
|
||||
bool ignore_clk_latency_;
|
||||
bool break_path_;
|
||||
float delay_;
|
||||
};
|
||||
|
||||
|
||||
+17
-10
@@ -744,6 +744,7 @@ public:
|
||||
ExceptionTo *to,
|
||||
const MinMax *min_max,
|
||||
bool ignore_clk_latency,
|
||||
bool break_path,
|
||||
float delay,
|
||||
const char *comment);
|
||||
bool pathDelaysWithoutTo() const { return path_delays_without_to_; }
|
||||
@@ -1003,9 +1004,11 @@ public:
|
||||
const Pin *pin,
|
||||
const RiseFall *rf,
|
||||
const MinMax *min_max) const;
|
||||
bool isPathDelayInternalStartpoint(const Pin *pin) const;
|
||||
const PinSet &pathDelayInternalStartpoints() const;
|
||||
bool isPathDelayInternalEndpoint(const Pin *pin) const;
|
||||
bool isPathDelayInternalFrom(const Pin *pin) const;
|
||||
bool isPathDelayInternalFromBreak(const Pin *pin) const;
|
||||
const PinSet &pathDelayInternalFrom() const;
|
||||
bool isPathDelayInternalTo(const Pin *pin) const;
|
||||
bool isPathDelayInternalToBreak(const Pin *pin) const;
|
||||
ExceptionPathSet *exceptions() { return &exceptions_; }
|
||||
void deleteExceptions();
|
||||
void deleteException(ExceptionPath *exception);
|
||||
@@ -1042,11 +1045,11 @@ protected:
|
||||
ExceptionPath *findMergeMatch(ExceptionPath *exception);
|
||||
void addException1(ExceptionPath *exception);
|
||||
void addException2(ExceptionPath *exception);
|
||||
void recordPathDelayInternalStartpoints(ExceptionPath *exception);
|
||||
void unrecordPathDelayInternalStartpoints(ExceptionFrom *from);
|
||||
void recordPathDelayInternalFrom(ExceptionPath *exception);
|
||||
void unrecordPathDelayInternalFrom(ExceptionPath *exception);
|
||||
bool pathDelayFrom(const Pin *pin);
|
||||
void recordPathDelayInternalEndpoints(ExceptionPath *exception);
|
||||
void unrecordPathDelayInternalEndpoints(ExceptionPath *exception);
|
||||
void recordPathDelayInternalTo(ExceptionPath *exception);
|
||||
void unrecordPathDelayInternalTo(ExceptionPath *exception);
|
||||
bool pathDelayTo(const Pin *pin);
|
||||
bool hasLibertyCheckTo(const Pin *pin);
|
||||
void deleteMatchingExceptions(ExceptionPath *exception);
|
||||
@@ -1355,9 +1358,13 @@ protected:
|
||||
// Exception hash with one missing from/thru/to point, used for merging.
|
||||
ExceptionPathPtHash exception_merge_hash_;
|
||||
// Path delay -from pin internal startpoints.
|
||||
PinSet path_delay_internal_startpoints_;
|
||||
// Path delay -to pin internal endpoints.
|
||||
PinSet path_delay_internal_endpoints_;
|
||||
PinSet path_delay_internal_from_;
|
||||
// Path delay -from pin internal -from w/o -probe.
|
||||
PinSet path_delay_internal_from_break_;
|
||||
// Path delay -to pin internal -to.
|
||||
PinSet path_delay_internal_to_;
|
||||
// Path delay -to pin internal -to w/o -probe.
|
||||
PinSet path_delay_internal_to_break_;
|
||||
// There is a path delay exception without a -to.
|
||||
bool path_delays_without_to_;
|
||||
// Group path exception names.
|
||||
|
||||
@@ -508,6 +508,7 @@ public:
|
||||
ExceptionTo *to,
|
||||
const MinMax *min_max,
|
||||
bool ignore_clk_latency,
|
||||
bool break_path,
|
||||
float delay,
|
||||
const char *comment);
|
||||
void makeGroupPath(const char *name,
|
||||
|
||||
Reference in New Issue
Block a user