rewrite ReportPath to not use string result
This commit is contained in:
parent
f32ddd728b
commit
72aaf962c6
|
|
@ -79,10 +79,8 @@ public:
|
||||||
const RiseFall *transition(const StaState *sta) const;
|
const RiseFall *transition(const StaState *sta) const;
|
||||||
PathAnalysisPt *pathAnalysisPt(const StaState *sta) const;
|
PathAnalysisPt *pathAnalysisPt(const StaState *sta) const;
|
||||||
PathAPIndex pathIndex(const StaState *sta) const;
|
PathAPIndex pathIndex(const StaState *sta) const;
|
||||||
virtual void reportShort(ReportPath *report,
|
virtual void reportShort(ReportPath *report) const = 0;
|
||||||
string &result) const = 0;
|
virtual void reportFull(ReportPath *report) const = 0;
|
||||||
virtual void reportFull(ReportPath *report,
|
|
||||||
string &result) const = 0;
|
|
||||||
|
|
||||||
// Predicates for PathEnd type.
|
// Predicates for PathEnd type.
|
||||||
// Default methods overridden by respective types.
|
// Default methods overridden by respective types.
|
||||||
|
|
@ -221,10 +219,8 @@ public:
|
||||||
virtual Type type() const;
|
virtual Type type() const;
|
||||||
virtual const char *typeName() const;
|
virtual const char *typeName() const;
|
||||||
virtual PathEnd *copy();
|
virtual PathEnd *copy();
|
||||||
virtual void reportShort(ReportPath *report,
|
virtual void reportShort(ReportPath *report) const;
|
||||||
string &result) const;
|
virtual void reportFull(ReportPath *report) const;
|
||||||
virtual void reportFull(ReportPath *report,
|
|
||||||
string &result) const;
|
|
||||||
virtual bool isUnconstrained() const;
|
virtual bool isUnconstrained() const;
|
||||||
virtual Required requiredTime(const StaState *sta) const;
|
virtual Required requiredTime(const StaState *sta) const;
|
||||||
virtual Required requiredTimeOffset(const StaState *sta) const;
|
virtual Required requiredTimeOffset(const StaState *sta) const;
|
||||||
|
|
@ -332,8 +328,8 @@ public:
|
||||||
virtual PathEnd *copy();
|
virtual PathEnd *copy();
|
||||||
virtual Type type() const;
|
virtual Type type() const;
|
||||||
virtual const char *typeName() const;
|
virtual const char *typeName() const;
|
||||||
virtual void reportShort(ReportPath *report, string &result) const;
|
virtual void reportShort(ReportPath *report) const;
|
||||||
virtual void reportFull(ReportPath *report, string &result) const;
|
virtual void reportFull(ReportPath *report) const;
|
||||||
virtual bool isCheck() const { return true; }
|
virtual bool isCheck() const { return true; }
|
||||||
virtual ArcDelay margin(const StaState *sta) const;
|
virtual ArcDelay margin(const StaState *sta) const;
|
||||||
virtual TimingRole *checkRole(const StaState *sta) const;
|
virtual TimingRole *checkRole(const StaState *sta) const;
|
||||||
|
|
@ -377,10 +373,8 @@ public:
|
||||||
virtual PathEnd *copy();
|
virtual PathEnd *copy();
|
||||||
PathVertex *latchDisable();
|
PathVertex *latchDisable();
|
||||||
const PathVertex *latchDisable() const;
|
const PathVertex *latchDisable() const;
|
||||||
virtual void reportShort(ReportPath *report,
|
virtual void reportShort(ReportPath *report) const;
|
||||||
string &result) const;
|
virtual void reportFull(ReportPath *report) const;
|
||||||
virtual void reportFull(ReportPath *report,
|
|
||||||
string &result) const;
|
|
||||||
virtual TimingRole *checkRole(const StaState *sta) const;
|
virtual TimingRole *checkRole(const StaState *sta) const;
|
||||||
virtual Required requiredTime(const StaState *sta) const;
|
virtual Required requiredTime(const StaState *sta) const;
|
||||||
virtual Arrival borrow(const StaState *sta) const;
|
virtual Arrival borrow(const StaState *sta) const;
|
||||||
|
|
@ -439,10 +433,8 @@ public:
|
||||||
virtual PathEnd *copy();
|
virtual PathEnd *copy();
|
||||||
virtual Type type() const;
|
virtual Type type() const;
|
||||||
virtual const char *typeName() const;
|
virtual const char *typeName() const;
|
||||||
virtual void reportShort(ReportPath *report,
|
virtual void reportShort(ReportPath *report) const;
|
||||||
string &result) const;
|
virtual void reportFull(ReportPath *report) const;
|
||||||
virtual void reportFull(ReportPath *report,
|
|
||||||
string &result) const;
|
|
||||||
virtual bool isOutputDelay() const { return true; }
|
virtual bool isOutputDelay() const { return true; }
|
||||||
virtual ArcDelay margin(const StaState *sta) const;
|
virtual ArcDelay margin(const StaState *sta) const;
|
||||||
virtual TimingRole *checkRole(const StaState *sta) const;
|
virtual TimingRole *checkRole(const StaState *sta) const;
|
||||||
|
|
@ -490,10 +482,8 @@ public:
|
||||||
virtual PathEnd *copy();
|
virtual PathEnd *copy();
|
||||||
virtual Type type() const;
|
virtual Type type() const;
|
||||||
virtual const char *typeName() const;
|
virtual const char *typeName() const;
|
||||||
virtual void reportShort(ReportPath *report,
|
virtual void reportShort(ReportPath *report) const;
|
||||||
string &result) const;
|
virtual void reportFull(ReportPath *report) const;
|
||||||
virtual void reportFull(ReportPath *report,
|
|
||||||
string &result) const;
|
|
||||||
virtual bool isGatedClock() const { return true; }
|
virtual bool isGatedClock() const { return true; }
|
||||||
virtual ArcDelay margin(const StaState *) const { return margin_; }
|
virtual ArcDelay margin(const StaState *) const { return margin_; }
|
||||||
virtual TimingRole *checkRole(const StaState *sta) const;
|
virtual TimingRole *checkRole(const StaState *sta) const;
|
||||||
|
|
@ -527,10 +517,8 @@ public:
|
||||||
virtual PathEnd *copy();
|
virtual PathEnd *copy();
|
||||||
virtual Type type() const;
|
virtual Type type() const;
|
||||||
virtual const char *typeName() const;
|
virtual const char *typeName() const;
|
||||||
virtual void reportShort(ReportPath *report,
|
virtual void reportShort(ReportPath *report) const;
|
||||||
string &result) const;
|
virtual void reportFull(ReportPath *report) const;
|
||||||
virtual void reportFull(ReportPath *report,
|
|
||||||
string &result) const;
|
|
||||||
virtual bool isDataCheck() const { return true; }
|
virtual bool isDataCheck() const { return true; }
|
||||||
virtual TimingRole *checkRole(const StaState *sta) const;
|
virtual TimingRole *checkRole(const StaState *sta) const;
|
||||||
virtual ArcDelay margin(const StaState *sta) const;
|
virtual ArcDelay margin(const StaState *sta) const;
|
||||||
|
|
@ -583,10 +571,8 @@ public:
|
||||||
virtual PathEnd *copy();
|
virtual PathEnd *copy();
|
||||||
virtual Type type() const;
|
virtual Type type() const;
|
||||||
virtual const char *typeName() const;
|
virtual const char *typeName() const;
|
||||||
virtual void reportShort(ReportPath *report,
|
virtual void reportShort(ReportPath *report) const;
|
||||||
string &result) const;
|
virtual void reportFull(ReportPath *report) const;
|
||||||
virtual void reportFull(ReportPath *report,
|
|
||||||
string &result) const;
|
|
||||||
virtual bool isPathDelay() const { return true; }
|
virtual bool isPathDelay() const { return true; }
|
||||||
virtual TimingRole *checkRole(const StaState *sta) const;
|
virtual TimingRole *checkRole(const StaState *sta) const;
|
||||||
virtual bool pathDelayMarginIsExternal() const;
|
virtual bool pathDelayMarginIsExternal() const;
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,6 @@ public:
|
||||||
size_t length);
|
size_t length);
|
||||||
virtual void vprint(const char *fmt,
|
virtual void vprint(const char *fmt,
|
||||||
va_list args);
|
va_list args);
|
||||||
void print(const string &str);
|
|
||||||
// Print line with return.
|
// Print line with return.
|
||||||
virtual void reportLine(const char *fmt, ...);
|
virtual void reportLine(const char *fmt, ...);
|
||||||
virtual void reportLineString(const char *line);
|
virtual void reportLineString(const char *line);
|
||||||
|
|
|
||||||
|
|
@ -451,10 +451,9 @@ PathEnd::checkInterClkUncertainty(const ClockEdge *src_clk_edge,
|
||||||
////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndUnconstrained::reportFull(ReportPath *report,
|
PathEndUnconstrained::reportFull(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportFull(this, result);
|
report->reportFull(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
Slack
|
Slack
|
||||||
|
|
@ -464,10 +463,9 @@ PathEndUnconstrained::slackNoCrpr(const StaState *) const
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndUnconstrained::reportShort(ReportPath *report,
|
PathEndUnconstrained::reportShort(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportShort(this, result);
|
report->reportShort(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////
|
||||||
|
|
@ -1009,17 +1007,15 @@ PathEndCheck::typeName() const
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndCheck::reportFull(ReportPath *report,
|
PathEndCheck::reportFull(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportFull(this, result);
|
report->reportFull(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndCheck::reportShort(ReportPath *report,
|
PathEndCheck::reportShort(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportShort(this, result);
|
report->reportShort(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
TimingRole *
|
TimingRole *
|
||||||
|
|
@ -1137,17 +1133,15 @@ PathEndLatchCheck::latchDisable() const
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndLatchCheck::reportFull(ReportPath *report,
|
PathEndLatchCheck::reportFull(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportFull(this, result);
|
report->reportFull(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndLatchCheck::reportShort(ReportPath *report,
|
PathEndLatchCheck::reportShort(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportShort(this, result);
|
report->reportShort(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
float
|
float
|
||||||
|
|
@ -1321,17 +1315,15 @@ PathEndOutputDelay::typeName() const
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndOutputDelay::reportFull(ReportPath *report,
|
PathEndOutputDelay::reportFull(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportFull(this, result);
|
report->reportFull(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndOutputDelay::reportShort(ReportPath *report,
|
PathEndOutputDelay::reportShort(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportShort(this, result);
|
report->reportShort(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
ArcDelay
|
ArcDelay
|
||||||
|
|
@ -1536,17 +1528,15 @@ PathEndGatedClock::checkRole(const StaState *) const
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndGatedClock::reportFull(ReportPath *report,
|
PathEndGatedClock::reportFull(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportFull(this, result);
|
report->reportFull(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndGatedClock::reportShort(ReportPath *report,
|
PathEndGatedClock::reportShort(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportShort(this, result);
|
report->reportShort(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
@ -1655,17 +1645,15 @@ PathEndDataCheck::checkRole(const StaState *sta) const
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndDataCheck::reportFull(ReportPath *report,
|
PathEndDataCheck::reportFull(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportFull(this, result);
|
report->reportFull(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndDataCheck::reportShort(ReportPath *report,
|
PathEndDataCheck::reportShort(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportShort(this, result);
|
report->reportShort(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
@ -1778,17 +1766,15 @@ PathEndPathDelay::findSrcClkArrival(const StaState *sta)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndPathDelay::reportFull(ReportPath *report,
|
PathEndPathDelay::reportFull(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportFull(this, result);
|
report->reportFull(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PathEndPathDelay::reportShort(ReportPath *report,
|
PathEndPathDelay::reportShort(ReportPath *report) const
|
||||||
string &result) const
|
|
||||||
{
|
{
|
||||||
report->reportShort(this, result);
|
report->reportShort(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
|
|
|
||||||
1160
search/ReportPath.cc
1160
search/ReportPath.cc
File diff suppressed because it is too large
Load Diff
|
|
@ -63,42 +63,26 @@ public:
|
||||||
void reportPathEnd(PathEnd *end,
|
void reportPathEnd(PathEnd *end,
|
||||||
PathEnd *prev_end);
|
PathEnd *prev_end);
|
||||||
void reportPathEnds(PathEndSeq *ends);
|
void reportPathEnds(PathEndSeq *ends);
|
||||||
// for debugging
|
|
||||||
void reportPath(const Path *path);
|
void reportPath(const Path *path);
|
||||||
|
|
||||||
void reportShort(const PathEndUnconstrained *end,
|
void reportShort(const PathEndUnconstrained *end);
|
||||||
string &result);
|
void reportShort(const PathEndCheck *end);
|
||||||
void reportShort(const PathEndCheck *end,
|
void reportShort(const PathEndLatchCheck *end);
|
||||||
string &result);
|
void reportShort(const PathEndPathDelay *end);
|
||||||
void reportShort(const PathEndLatchCheck *end,
|
void reportShort(const PathEndOutputDelay *end);
|
||||||
string &result);
|
void reportShort(const PathEndGatedClock *end);
|
||||||
void reportShort(const PathEndPathDelay *end,
|
void reportShort(const PathEndDataCheck *end);
|
||||||
string &result);
|
|
||||||
void reportShort(const PathEndOutputDelay *end,
|
|
||||||
string &result);
|
|
||||||
void reportShort(const PathEndGatedClock *end,
|
|
||||||
string &result);
|
|
||||||
void reportShort(const PathEndDataCheck *end,
|
|
||||||
string &result);
|
|
||||||
|
|
||||||
void reportFull(const PathEndUnconstrained *end,
|
void reportFull(const PathEndUnconstrained *end);
|
||||||
string &result);
|
void reportFull(const PathEndCheck *end);
|
||||||
void reportFull(const PathEndCheck *end,
|
void reportFull(const PathEndLatchCheck *end);
|
||||||
string &result);
|
void reportFull(const PathEndPathDelay *end);
|
||||||
void reportFull(const PathEndLatchCheck *end,
|
void reportFull(const PathEndOutputDelay *end);
|
||||||
string &result);
|
void reportFull(const PathEndGatedClock *end);
|
||||||
void reportFull(const PathEndPathDelay *end,
|
void reportFull(const PathEndDataCheck *end);
|
||||||
string &result);
|
|
||||||
void reportFull(const PathEndOutputDelay *end,
|
|
||||||
string &result);
|
|
||||||
void reportFull(const PathEndGatedClock *end,
|
|
||||||
string &result);
|
|
||||||
void reportFull(const PathEndDataCheck *end,
|
|
||||||
string &result);
|
|
||||||
|
|
||||||
void reportEndHeader();
|
void reportEndHeader();
|
||||||
void reportEndLine(PathEnd *end,
|
void reportEndLine(PathEnd *end);
|
||||||
string &result);
|
|
||||||
|
|
||||||
void reportSummaryHeader();
|
void reportSummaryHeader();
|
||||||
void reportSummaryLine(PathEnd *end);
|
void reportSummaryLine(PathEnd *end);
|
||||||
|
|
@ -158,84 +142,59 @@ protected:
|
||||||
void reportEndpointHeader(PathEnd *end,
|
void reportEndpointHeader(PathEnd *end,
|
||||||
PathEnd *prev_end);
|
PathEnd *prev_end);
|
||||||
void reportShort(const PathEndUnconstrained *end,
|
void reportShort(const PathEndUnconstrained *end,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded);
|
||||||
string &result);
|
|
||||||
void reportShort(const PathEndCheck *end,
|
void reportShort(const PathEndCheck *end,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded);
|
||||||
string &result);
|
|
||||||
void reportShort(const PathEndLatchCheck *end,
|
void reportShort(const PathEndLatchCheck *end,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded);
|
||||||
string &result);
|
|
||||||
void reportShort(const PathEndPathDelay *end,
|
void reportShort(const PathEndPathDelay *end,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded);
|
||||||
string &result);
|
|
||||||
void reportShort(const PathEndOutputDelay *end,
|
void reportShort(const PathEndOutputDelay *end,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded);
|
||||||
string &result);
|
|
||||||
void reportShort(const PathEndGatedClock *end,
|
void reportShort(const PathEndGatedClock *end,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded);
|
||||||
string &result);
|
|
||||||
void reportShort(const PathEndDataCheck *end,
|
void reportShort(const PathEndDataCheck *end,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded);
|
||||||
string &result);
|
void reportEndpoint(const PathEndOutputDelay *end);
|
||||||
void reportEndpoint(const PathEndOutputDelay *end,
|
void reportEndpointOutputDelay(const PathEndClkConstrained *end);
|
||||||
string &result);
|
void reportEndpoint(const PathEndPathDelay *end);
|
||||||
void reportEndpointOutputDelay(const PathEndClkConstrained *end,
|
void reportEndpoint(const PathEndGatedClock *end);
|
||||||
string &result);
|
|
||||||
void reportEndpoint(const PathEndPathDelay *end,
|
|
||||||
string &result);
|
|
||||||
void reportEndpoint(const PathEndGatedClock *end,
|
|
||||||
string &result);
|
|
||||||
string pathEndpoint(PathEnd *end);
|
string pathEndpoint(PathEnd *end);
|
||||||
string pathStartpoint(PathEnd *end,
|
string pathStartpoint(PathEnd *end,
|
||||||
PathExpanded &expanded);
|
PathExpanded &expanded);
|
||||||
void reportBorrowing(const PathEndLatchCheck *end,
|
void reportBorrowing(const PathEndLatchCheck *end,
|
||||||
Arrival &borrow,
|
Arrival &borrow,
|
||||||
Arrival &time_given_to_startpoint,
|
Arrival &time_given_to_startpoint);
|
||||||
string &result);
|
void reportEndpoint(const PathEndDataCheck *end);
|
||||||
void reportEndpoint(const PathEndDataCheck *end,
|
|
||||||
string &result);
|
|
||||||
const char *clkNetworkDelayIdealProp(bool is_ideal);
|
const char *clkNetworkDelayIdealProp(bool is_ideal);
|
||||||
|
|
||||||
string checkRoleReason(const PathEnd *end);
|
string checkRoleReason(const PathEnd *end);
|
||||||
string checkRoleString(const PathEnd *end);
|
string checkRoleString(const PathEnd *end);
|
||||||
virtual void reportGroup(const PathEnd *end,
|
virtual void reportGroup(const PathEnd *end);
|
||||||
string &result);
|
|
||||||
void reportStartpoint(const PathEnd *end,
|
void reportStartpoint(const PathEnd *end,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded);
|
||||||
string &result);
|
|
||||||
void reportUnclockedEndpoint(const PathEnd *end,
|
void reportUnclockedEndpoint(const PathEnd *end,
|
||||||
const char *default_reason,
|
const char *default_reason);
|
||||||
string &result);
|
void reportEndpoint(const PathEndCheck *end);
|
||||||
void reportEndpoint(const PathEndCheck *end,
|
void reportEndpoint(const PathEndLatchCheck *end);
|
||||||
string &result);
|
|
||||||
void reportEndpoint(const PathEndLatchCheck *end,
|
|
||||||
string &result);
|
|
||||||
const char *latchDesc(const PathEndLatchCheck *end);
|
const char *latchDesc(const PathEndLatchCheck *end);
|
||||||
void reportStartpoint(const char *start,
|
void reportStartpoint(const char *start,
|
||||||
string reason,
|
string reason);
|
||||||
string &result);
|
|
||||||
void reportEndpoint(const char *end,
|
void reportEndpoint(const char *end,
|
||||||
string reason,
|
string reason);
|
||||||
string &result);
|
|
||||||
void reportStartEndPoint(const char *pt,
|
void reportStartEndPoint(const char *pt,
|
||||||
string reason,
|
string reason,
|
||||||
const char *key,
|
const char *key);
|
||||||
string &result);
|
|
||||||
string tgtClkName(const PathEnd *end);
|
string tgtClkName(const PathEnd *end);
|
||||||
const char *clkRegLatchDesc(const PathEnd *end);
|
const char *clkRegLatchDesc(const PathEnd *end);
|
||||||
void reportSrcPath(const PathEnd *end,
|
void reportSrcPath(const PathEnd *end,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded);
|
||||||
string &result);
|
void reportTgtClk(const PathEnd *end);
|
||||||
void reportTgtClk(const PathEnd *end,
|
void reportTgtClk(const PathEnd *end,
|
||||||
string &result);
|
float prev_time);
|
||||||
void reportTgtClk(const PathEnd *end,
|
void reportTgtClk(const PathEnd *end,
|
||||||
float prev_time,
|
float prev_time,
|
||||||
string &result);
|
bool is_prop);
|
||||||
void reportTgtClk(const PathEnd *end,
|
|
||||||
float prev_time,
|
|
||||||
bool is_prop,
|
|
||||||
string &result);
|
|
||||||
bool pathFromGenPropClk(const Path *clk_path,
|
bool pathFromGenPropClk(const Path *clk_path,
|
||||||
const EarlyLate *early_late);
|
const EarlyLate *early_late);
|
||||||
bool isGenPropClk(const Clock *clk,
|
bool isGenPropClk(const Clock *clk,
|
||||||
|
|
@ -247,8 +206,7 @@ protected:
|
||||||
float time_offset,
|
float time_offset,
|
||||||
Arrival clk_insertion,
|
Arrival clk_insertion,
|
||||||
Arrival clk_latency,
|
Arrival clk_latency,
|
||||||
bool is_path_delay,
|
bool is_path_delay);
|
||||||
string &result);
|
|
||||||
bool reportGenClkSrcPath(const Path *clk_path, Clock *clk,
|
bool reportGenClkSrcPath(const Path *clk_path, Clock *clk,
|
||||||
const RiseFall *clk_rf,
|
const RiseFall *clk_rf,
|
||||||
const MinMax *min_max,
|
const MinMax *min_max,
|
||||||
|
|
@ -260,8 +218,7 @@ protected:
|
||||||
const PathAnalysisPt *path_ap,
|
const PathAnalysisPt *path_ap,
|
||||||
float time_offset,
|
float time_offset,
|
||||||
float path_time_offset,
|
float path_time_offset,
|
||||||
bool clk_used_as_data,
|
bool clk_used_as_data);
|
||||||
string &result);
|
|
||||||
bool reportGenClkSrcPath1(Clock *clk,
|
bool reportGenClkSrcPath1(Clock *clk,
|
||||||
const Pin *clk_pin,
|
const Pin *clk_pin,
|
||||||
const RiseFall *clk_rf,
|
const RiseFall *clk_rf,
|
||||||
|
|
@ -269,86 +226,64 @@ protected:
|
||||||
const PathAnalysisPt *path_ap,
|
const PathAnalysisPt *path_ap,
|
||||||
float gclk_time,
|
float gclk_time,
|
||||||
float time_offset,
|
float time_offset,
|
||||||
bool clk_used_as_data,
|
bool clk_used_as_data);
|
||||||
string &result);
|
|
||||||
void reportClkSrcLatency(Arrival insertion,
|
void reportClkSrcLatency(Arrival insertion,
|
||||||
float clk_time,
|
float clk_time,
|
||||||
const EarlyLate *early_late,
|
const EarlyLate *early_late);
|
||||||
string &result);
|
|
||||||
void reportPathLine(const Path *path,
|
void reportPathLine(const Path *path,
|
||||||
Delay incr,
|
Delay incr,
|
||||||
Arrival time,
|
Arrival time,
|
||||||
const char *line_case,
|
const char *line_case);
|
||||||
string &result);
|
|
||||||
void reportCommonClkPessimism(const PathEnd *end,
|
void reportCommonClkPessimism(const PathEnd *end,
|
||||||
Arrival &clk_arrival,
|
Arrival &clk_arrival);
|
||||||
string &result);
|
|
||||||
void reportClkUncertainty(const PathEnd *end,
|
void reportClkUncertainty(const PathEnd *end,
|
||||||
Arrival &clk_arrival,
|
Arrival &clk_arrival);
|
||||||
string &result);
|
|
||||||
void reportClkLine(const Clock *clk,
|
void reportClkLine(const Clock *clk,
|
||||||
const char *clk_name,
|
const char *clk_name,
|
||||||
const RiseFall *clk_rf,
|
const RiseFall *clk_rf,
|
||||||
Arrival clk_time,
|
Arrival clk_time,
|
||||||
const MinMax *min_max,
|
const MinMax *min_max);
|
||||||
string &result);
|
|
||||||
void reportClkLine(const Clock *clk,
|
void reportClkLine(const Clock *clk,
|
||||||
const char *clk_name,
|
const char *clk_name,
|
||||||
const RiseFall *clk_rf,
|
const RiseFall *clk_rf,
|
||||||
Arrival prev_time,
|
Arrival prev_time,
|
||||||
Arrival clk_time,
|
Arrival clk_time,
|
||||||
const MinMax *min_max,
|
const MinMax *min_max);
|
||||||
string &result);
|
|
||||||
void reportRequired(const PathEnd *end,
|
void reportRequired(const PathEnd *end,
|
||||||
string margin_msg,
|
string margin_msg);
|
||||||
string &result);
|
void reportSlack(const PathEnd *end);
|
||||||
void reportSlack(const PathEnd *end,
|
void reportSlack(Slack slack);
|
||||||
string &result);
|
|
||||||
void reportSlack(Slack slack,
|
|
||||||
string &result);
|
|
||||||
void reportSpaceSlack(PathEnd *end,
|
void reportSpaceSlack(PathEnd *end,
|
||||||
string &result);
|
string &line);
|
||||||
void reportSpaceSlack(Slack slack,
|
void reportSpaceSlack(Slack slack,
|
||||||
string &result);
|
string &line);
|
||||||
void reportSpaceSlack1(Slack slack,
|
|
||||||
string &result);
|
|
||||||
void reportSrcPathArrival(const PathEnd *end,
|
void reportSrcPathArrival(const PathEnd *end,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded);
|
||||||
string &result);
|
|
||||||
void reportPath(const PathEnd *end,
|
void reportPath(const PathEnd *end,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded);
|
||||||
string &result);
|
void reportPathFull(const Path *path);
|
||||||
void reportPath(const Path *path,
|
void reportPathJson(const Path *path);
|
||||||
string &result);
|
void reportPathHeader();
|
||||||
void reportPathFull(const Path *path,
|
|
||||||
string &result);
|
|
||||||
void reportPathJson(const Path *path,
|
|
||||||
string &result);
|
|
||||||
void reportPathHeader(string &result);
|
|
||||||
void reportPath1(const Path *path,
|
void reportPath1(const Path *path,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded,
|
||||||
bool clk_used_as_data,
|
bool clk_used_as_data,
|
||||||
float time_offset,
|
float time_offset);
|
||||||
string &result);
|
|
||||||
void reportPath2(const Path *path,
|
void reportPath2(const Path *path,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded,
|
||||||
bool clk_used_as_data,
|
bool clk_used_as_data,
|
||||||
float time_offset,
|
float time_offset);
|
||||||
string &result);
|
|
||||||
void reportPath3(const Path *path,
|
void reportPath3(const Path *path,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded,
|
||||||
bool clk_used_as_data,
|
bool clk_used_as_data,
|
||||||
bool report_clk_path,
|
bool report_clk_path,
|
||||||
Arrival prev_time,
|
Arrival prev_time,
|
||||||
float time_offset,
|
float time_offset);
|
||||||
string &result);
|
|
||||||
void reportPath4(const Path *path,
|
void reportPath4(const Path *path,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded,
|
||||||
bool clk_used_as_data,
|
bool clk_used_as_data,
|
||||||
bool skip_first_path,
|
bool skip_first_path,
|
||||||
bool skip_last_path,
|
bool skip_last_path,
|
||||||
float time_offset,
|
float time_offset);
|
||||||
string &result);
|
|
||||||
void reportPath5(const Path *path,
|
void reportPath5(const Path *path,
|
||||||
PathExpanded &expanded,
|
PathExpanded &expanded,
|
||||||
size_t path_first_index,
|
size_t path_first_index,
|
||||||
|
|
@ -356,41 +291,33 @@ protected:
|
||||||
bool propagated_clk,
|
bool propagated_clk,
|
||||||
bool report_clk_path,
|
bool report_clk_path,
|
||||||
Arrival prev_time,
|
Arrival prev_time,
|
||||||
float time_offset,
|
float time_offset);
|
||||||
string &result);
|
|
||||||
void reportInputExternalDelay(const Path *path,
|
void reportInputExternalDelay(const Path *path,
|
||||||
float time_offset,
|
float time_offset);
|
||||||
string &result);
|
|
||||||
void reportLine(const char *what,
|
void reportLine(const char *what,
|
||||||
Delay total,
|
Delay total,
|
||||||
const EarlyLate *early_late,
|
const EarlyLate *early_late);
|
||||||
string &result);
|
|
||||||
void reportLineNegative(const char *what,
|
void reportLineNegative(const char *what,
|
||||||
Delay total,
|
Delay total,
|
||||||
const EarlyLate *early_late,
|
const EarlyLate *early_late);
|
||||||
string &result);
|
|
||||||
void reportLine(const char *what,
|
void reportLine(const char *what,
|
||||||
Delay total,
|
Delay total,
|
||||||
const EarlyLate *early_late,
|
const EarlyLate *early_late,
|
||||||
const RiseFall *rf,
|
const RiseFall *rf);
|
||||||
string &result);
|
void reportLine(const char *what,
|
||||||
|
Delay incr,
|
||||||
|
Delay total,
|
||||||
|
const EarlyLate *early_late);
|
||||||
void reportLine(const char *what,
|
void reportLine(const char *what,
|
||||||
Delay incr,
|
Delay incr,
|
||||||
Delay total,
|
Delay total,
|
||||||
const EarlyLate *early_late,
|
const EarlyLate *early_late,
|
||||||
string &result);
|
const RiseFall *rf);
|
||||||
void reportLine(const char *what,
|
|
||||||
Delay incr,
|
|
||||||
Delay total,
|
|
||||||
const EarlyLate *early_late,
|
|
||||||
const RiseFall *rf,
|
|
||||||
string &result);
|
|
||||||
void reportLine(const char *what,
|
void reportLine(const char *what,
|
||||||
Slew slew,
|
Slew slew,
|
||||||
Delay incr,
|
Delay incr,
|
||||||
Delay total,
|
Delay total,
|
||||||
const EarlyLate *early_late,
|
const EarlyLate *early_late);
|
||||||
string &result);
|
|
||||||
void reportLine(const char *what,
|
void reportLine(const char *what,
|
||||||
float cap,
|
float cap,
|
||||||
Slew slew,
|
Slew slew,
|
||||||
|
|
@ -400,28 +327,24 @@ protected:
|
||||||
bool total_with_minus,
|
bool total_with_minus,
|
||||||
const EarlyLate *early_late,
|
const EarlyLate *early_late,
|
||||||
const RiseFall *rf,
|
const RiseFall *rf,
|
||||||
const char *line_case,
|
const char *line_case);
|
||||||
string &result);
|
|
||||||
void reportLineTotal(const char *what,
|
void reportLineTotal(const char *what,
|
||||||
Delay incr,
|
Delay incr,
|
||||||
const EarlyLate *early_late,
|
const EarlyLate *early_late);
|
||||||
string &result);
|
|
||||||
void reportLineTotalMinus(const char *what,
|
void reportLineTotalMinus(const char *what,
|
||||||
Delay decr,
|
Delay decr,
|
||||||
const EarlyLate *early_late,
|
const EarlyLate *early_late);
|
||||||
string &result);
|
|
||||||
void reportLineTotal1(const char *what,
|
void reportLineTotal1(const char *what,
|
||||||
Delay incr,
|
Delay incr,
|
||||||
bool incr_with_minus,
|
bool incr_with_minus,
|
||||||
const EarlyLate *early_late,
|
const EarlyLate *early_late);
|
||||||
string &result);
|
void reportDashLineTotal();
|
||||||
void reportDashLineTotal(string &result);
|
|
||||||
void reportDescription(const char *what,
|
void reportDescription(const char *what,
|
||||||
string &result);
|
string &result);
|
||||||
void reportDescription(const char *what,
|
void reportDescription(const char *what,
|
||||||
bool first_field,
|
bool first_field,
|
||||||
bool last_field,
|
bool last_field,
|
||||||
string &result);
|
string &result);
|
||||||
void reportFieldTime(float value,
|
void reportFieldTime(float value,
|
||||||
ReportField *field,
|
ReportField *field,
|
||||||
string &result);
|
string &result);
|
||||||
|
|
@ -449,13 +372,9 @@ protected:
|
||||||
string &result);
|
string &result);
|
||||||
void reportFieldBlank(const ReportField *field,
|
void reportFieldBlank(const ReportField *field,
|
||||||
string &result);
|
string &result);
|
||||||
void reportDashLine(string &result);
|
void reportDashLine();
|
||||||
void reportDashLine(int line_width,
|
|
||||||
string &result);
|
|
||||||
void reportDashLine(int line_width);
|
void reportDashLine(int line_width);
|
||||||
void makeDashLine(int line_width,
|
void reportBlankLine();
|
||||||
string &result);
|
|
||||||
void reportEndOfLine(string &result);
|
|
||||||
string descriptionField(Vertex *vertex);
|
string descriptionField(Vertex *vertex);
|
||||||
bool reportClkPath() const;
|
bool reportClkPath() const;
|
||||||
string clkName(const Clock *clk,
|
string clkName(const Clock *clk,
|
||||||
|
|
@ -470,8 +389,7 @@ protected:
|
||||||
const MinMax *min_max);
|
const MinMax *min_max);
|
||||||
const char *mpwCheckHiLow(MinPulseWidthCheck *check);
|
const char *mpwCheckHiLow(MinPulseWidthCheck *check);
|
||||||
void reportSkewClkPath(const char *arrival_msg,
|
void reportSkewClkPath(const char *arrival_msg,
|
||||||
const PathVertex *clk_path,
|
const PathVertex *clk_path);
|
||||||
string &result);
|
|
||||||
const char *edgeRegLatchDesc(Edge *edge,
|
const char *edgeRegLatchDesc(Edge *edge,
|
||||||
TimingArc *arc);
|
TimingArc *arc);
|
||||||
const char *checkRegLatchDesc(const TimingRole *role,
|
const char *checkRegLatchDesc(const TimingRole *role,
|
||||||
|
|
|
||||||
|
|
@ -62,12 +62,6 @@ Report::printString(const char *buffer,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
Report::print(const string &str)
|
|
||||||
{
|
|
||||||
printString(str.c_str(), str.size());
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Report::vprint(const char *fmt,
|
Report::vprint(const char *fmt,
|
||||||
va_list args)
|
va_list args)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue