mirror of
https://github.com/The-OpenROAD-Project/OpenSTA.git
synced 2026-09-02 02:38:22 +02:00
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:
+13
-14
@@ -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;
|
||||
|
||||
@@ -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
@@ -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
@@ -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,
|
||||
|
||||
@@ -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_; }
|
||||
|
||||
Reference in New Issue
Block a user