Latest pulled in changes on 4/20 from upstream to push all together with latest from 4/16

Signed-off-by: dsengupta0628 <[email protected]>
This commit is contained in:
dsengupta0628
2026-04-20 14:21:16 +00:00
39 changed files with 258 additions and 306 deletions
+13 -14
View File
@@ -57,8 +57,7 @@ public:
const Pin *defaultPin() const;
bool addToPins() const { return add_to_pins_; }
void setAddToPins(bool add_to_pins);
FloatSeq *waveform() { return waveform_; }
const FloatSeq *waveform() const { return waveform_; }
const FloatSeq &waveform() const { return waveform_; }
ClockEdge *edge(const RiseFall *rf) const;
int index() const { return index_; }
bool isPropagated() const { return is_propagated_; }
@@ -120,8 +119,8 @@ public:
int multiplyBy() const { return multiply_by_; }
float dutyCycle() const { return duty_cycle_; }
bool invert() const { return invert_; }
IntSeq *edges() const { return edges_; }
FloatSeq *edgeShifts() const { return edge_shifts_; }
const IntSeq &edges() const { return edges_; }
const FloatSeq &edgeShifts() const { return edge_shifts_; }
const RiseFall *masterClkEdgeTr(const RiseFall *rf) const;
bool combinational() const { return combinational_; }
bool isDivideByOneCombinational() const;
@@ -138,13 +137,13 @@ protected:
Clock(std::string_view name,
int index,
const Network *network);
void initClk(PinSet *pins,
void initClk(const PinSet &pins,
bool add_to_pins,
float period,
FloatSeq *waveform,
const FloatSeq &waveform,
std::string_view comment,
const Network *network);
void initGeneratedClk(PinSet *pins,
void initGeneratedClk(const PinSet &pins,
bool add_to_pins,
Pin *src_pin,
Clock *master_clk,
@@ -153,12 +152,12 @@ protected:
float duty_cycle,
bool invert,
bool combinational,
IntSeq *edges,
FloatSeq *edge_shifts,
const IntSeq &edges,
const FloatSeq &edge_shifts,
bool is_propagated,
std::string_view comment,
const Network *network);
void setPins(PinSet *pins,
void setPins(const PinSet &pins,
const Network *network);
void setMasterClk(Clock *master);
void makeClkEdges();
@@ -174,10 +173,10 @@ protected:
// Hierarchical pins in pins_ become driver pins through the pin.
PinSet leaf_pins_;
float period_{0.0};
FloatSeq *waveform_{nullptr};
FloatSeq waveform_;
bool waveform_valid_{false};
const int index_;
ClockEdge **clk_edges_{nullptr};
std::array<ClockEdge*, RiseFall::index_count> clk_edges_;
bool is_propagated_{false};
RiseFallMinMax slews_;
RiseFallMinMax slew_limits_[path_clk_or_data_count];
@@ -193,8 +192,8 @@ protected:
float duty_cycle_{0};
bool invert_{false};
bool combinational_{false};
IntSeq *edges_{nullptr};
FloatSeq *edge_shifts_{nullptr};
IntSeq edges_;
FloatSeq edge_shifts_;
private:
friend class Sdc;
+4 -8
View File
@@ -374,19 +374,15 @@ public:
static void
makeSceneMap(LibertyLibrary *lib,
size_t lib_ap_index,
Scene *scene,
const MinMaxAll *min_max,
Network *network,
Report *report);
static void
makeSceneMap(LibertyCell *link_cell,
LibertyCell *scene_cell,
size_t lib_ap_index,
Report *report);
static void
makeSceneMap(LibertyCell *cell1,
LibertyCell *cell2,
bool link,
size_t lib_ap_index,
Scene *scene,
const MinMaxAll *min_max,
Report *report);
static void
checkScenes(LibertyCell *cell,
+6 -6
View File
@@ -378,14 +378,14 @@ public:
void setMaxArea(float area);
float maxArea() const;
Clock *makeClock(std::string_view name,
PinSet *pins,
const PinSet &pins,
bool add_to_pins,
float period,
FloatSeq *waveform,
const FloatSeq &waveform,
std::string_view comment);
// edges size must be 3.
Clock *makeGeneratedClock(std::string_view name,
PinSet *pins,
const PinSet &pins,
bool add_to_pins,
Pin *src_pin,
Clock *master_clk,
@@ -394,8 +394,8 @@ public:
float duty_cycle,
bool invert,
bool combinational,
IntSeq *edges,
FloatSeq *edge_shifts,
const IntSeq &edges,
const FloatSeq &dge_shifts,
std::string_view comment);
// Invalidate all generated clock waveforms.
void invalidateGeneratedClks() const;
@@ -1071,7 +1071,7 @@ protected:
void deleteClkPinMappings(Clock *clk);
void makeClkPinMappings(Clock *clk);
void deletePinClocks(Clock *defining_clk,
PinSet *pins);
const PinSet &pins);
void makeDefaultArrivalClock();
InputDrive *ensureInputDrive(const Port *port);
ExceptionPath *findMergeMatch(ExceptionPath *exception);
+9 -6
View File
@@ -154,7 +154,7 @@ public:
// tmp public
void readLibertyAfter(LibertyLibrary *liberty,
Scene *scene,
const MinMax *min_max);
const MinMaxAll *min_max);
bool readVerilog(std::string_view filename);
// Network readers call this to notify the Sta to delete any previously
// linked network.
@@ -347,15 +347,15 @@ public:
Sdc *sdc);
void makeClock(std::string_view name,
PinSet *pins,
const PinSet &pins,
bool add_to_pins,
float period,
FloatSeq *waveform,
const FloatSeq &waveform,
std::string_view comment,
const Mode *mode);
// edges size must be 3.
void makeGeneratedClock(std::string_view name,
PinSet *pins,
const PinSet &pins,
bool add_to_pins,
Pin *src_pin,
Clock *master_clk,
@@ -364,8 +364,8 @@ public:
float duty_cycle,
bool invert,
bool combinational,
IntSeq *edges,
FloatSeq *edge_shifts,
const IntSeq &edges,
const FloatSeq &edge_shifts,
std::string_view comment,
const Mode *mode);
void removeClock(Clock *clk,
@@ -1604,6 +1604,9 @@ protected:
void updateSceneLiberty(Scene *scene,
const StringSeq &liberty_min_files,
const StringSeq &liberty_max_files);
void updateSceneLiberty(Scene *scene,
const StringSeq &liberty_files,
const MinMaxAll *min_max);
Scene *makeScene(const std::string &name,
Mode *mode,
+1 -1
View File
@@ -146,7 +146,7 @@ class TimingArcSet
public:
~TimingArcSet();
std::string to_string();
std::string to_string() const;
LibertyCell *libertyCell() const;
LibertyPort *from() const { return from_; }
LibertyPort *to() const { return to_; }