mirror of
https://github.com/The-OpenROAD-Project/OpenSTA.git
synced 2026-09-02 21:58:20 +02:00
delays wrt clks refactor
Signed-off-by: James Cherry <[email protected]>
This commit is contained in:
@@ -409,6 +409,11 @@ public:
|
||||
void saveEnumPath(Path *path);
|
||||
bool isSrchRoot(Vertex *vertex,
|
||||
const Mode *mode) const;
|
||||
DelaysWrtClks arrivalsWrtClks(Vertex *vertex,
|
||||
const Scene *scene);
|
||||
DelaysWrtClks delaysWrtClks(Vertex *vertex,
|
||||
const Scene *scene,
|
||||
const PathDelayFunc &get_path_delay);
|
||||
|
||||
protected:
|
||||
void initVars();
|
||||
|
||||
@@ -24,14 +24,18 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <functional>
|
||||
#include <limits>
|
||||
#include <map>
|
||||
#include <vector>
|
||||
|
||||
#include "Delay.hh"
|
||||
#include "GraphClass.hh"
|
||||
#include "LibertyClass.hh"
|
||||
#include "MinMaxValues.hh"
|
||||
#include "NetworkClass.hh"
|
||||
#include "RiseFallMinMaxDelay.hh"
|
||||
#include "SdcClass.hh"
|
||||
#include "VectorMap.hh"
|
||||
|
||||
namespace sta {
|
||||
@@ -111,6 +115,9 @@ using SlackSeq = std::vector<Slack>;
|
||||
using Crpr = Delay;
|
||||
using PathSeq = std::vector<Path*>;
|
||||
using ConstPathSeq = std::vector<const Path*>;
|
||||
// Path::slack/arrival/required function.
|
||||
using PathDelayFunc = std::function<Delay (const Path *path)>;
|
||||
using DelaysWrtClks = std::map<const ClockEdge*, RiseFallMinMaxDelay>;
|
||||
|
||||
enum class ReportPathFormat { full,
|
||||
full_clock,
|
||||
|
||||
+3
-11
@@ -24,7 +24,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <functional>
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <vector>
|
||||
@@ -82,8 +82,6 @@ using CheckError = StringSeq;
|
||||
using CheckErrorSeq = std::vector<CheckError*>;
|
||||
enum class CmdNamespace { sta, sdc };
|
||||
using ParasiticsNameMap = std::map<std::string, Parasitics*, std::less<>>;
|
||||
// Path::slack/arrival/required function.
|
||||
using PathDelayFunc = std::function<Delay (const Path *path)>;
|
||||
using GraphLoopSeq = std::vector<GraphLoop*>;
|
||||
|
||||
// Initialize sta functions that are not part of the Sta class.
|
||||
@@ -1524,16 +1522,10 @@ protected:
|
||||
int digits,
|
||||
bool find_required,
|
||||
const PathDelayFunc &get_path_delay);
|
||||
void reportDelaysWrtClks(Vertex *vertex,
|
||||
const ClockEdge *clk_edge,
|
||||
const Scene *scene,
|
||||
void reportDelaysWrtClks(const ClockEdge *clk_edge,
|
||||
bool report_variance,
|
||||
int digits,
|
||||
const PathDelayFunc &get_path_delay);
|
||||
RiseFallMinMaxDelay findDelaysWrtClks(Vertex *vertex,
|
||||
const ClockEdge *clk_edge,
|
||||
const Scene *scene,
|
||||
const PathDelayFunc &get_path_delay);
|
||||
DelaysWrtClks &clk_delays);
|
||||
std::string formatDelay(const RiseFall *rf,
|
||||
const MinMax *min_max,
|
||||
const RiseFallMinMaxDelay &delays,
|
||||
|
||||
Reference in New Issue
Block a user