PathEnd::copy use copy constructors
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
464d4047ad
commit
fbd171019a
|
|
@ -270,11 +270,6 @@ public:
|
|||
protected:
|
||||
PathEndClkConstrained(Path *path,
|
||||
Path *clk_path);
|
||||
PathEndClkConstrained(Path *path,
|
||||
Path *clk_path,
|
||||
Crpr crpr,
|
||||
bool crpr_valid);
|
||||
|
||||
float sourceClkOffset(const ClockEdge *src_clk_edge,
|
||||
const ClockEdge *tgt_clk_edge,
|
||||
const TimingRole *check_role,
|
||||
|
|
@ -300,11 +295,6 @@ protected:
|
|||
PathEndClkConstrainedMcp(Path *path,
|
||||
Path *clk_path,
|
||||
MultiCyclePath *mcp);
|
||||
PathEndClkConstrainedMcp(Path *path,
|
||||
Path *clk_path,
|
||||
MultiCyclePath *mcp,
|
||||
Crpr crpr,
|
||||
bool crpr_valid);
|
||||
float checkMcpAdjustment(const Path *path,
|
||||
const ClockEdge *tgt_clk_edge,
|
||||
const StaState *sta) const;
|
||||
|
|
@ -341,13 +331,6 @@ public:
|
|||
virtual Delay clkSkew(const StaState *sta);
|
||||
|
||||
protected:
|
||||
PathEndCheck(Path *path,
|
||||
TimingArc *check_arc,
|
||||
Edge *check_edge,
|
||||
Path *clk_path,
|
||||
MultiCyclePath *mcp,
|
||||
Crpr crpr,
|
||||
bool crpr_valid);
|
||||
Delay sourceClkDelay(const StaState *sta) const;
|
||||
virtual Required requiredTimeNoCrpr(const StaState *sta) const;
|
||||
|
||||
|
|
@ -404,18 +387,6 @@ public:
|
|||
virtual bool ignoreClkLatency(const StaState *sta) const;
|
||||
|
||||
protected:
|
||||
PathEndLatchCheck(Path *path,
|
||||
TimingArc *check_arc,
|
||||
Edge *check_edge,
|
||||
Path *clk_path,
|
||||
Path *disable,
|
||||
MultiCyclePath *mcp,
|
||||
PathDelay *path_delay,
|
||||
Delay src_clk_arrival,
|
||||
Crpr crpr,
|
||||
bool crpr_valid);
|
||||
|
||||
private:
|
||||
Path *disable_path_;
|
||||
PathDelay *path_delay_;
|
||||
// Source clk arrival for set_max_delay -ignore_clk_latency.
|
||||
|
|
@ -450,12 +421,6 @@ public:
|
|||
const StaState *sta) const;
|
||||
|
||||
protected:
|
||||
PathEndOutputDelay(OutputDelay *output_delay,
|
||||
Path *path,
|
||||
Path *clk_path,
|
||||
MultiCyclePath *mcp,
|
||||
Crpr crpr,
|
||||
bool crpr_valid);
|
||||
Arrival tgtClkDelay(const ClockEdge *tgt_clk_edge,
|
||||
const TimingRole *check_role,
|
||||
const StaState *sta) const;
|
||||
|
|
@ -491,14 +456,6 @@ public:
|
|||
const StaState *sta) const;
|
||||
|
||||
protected:
|
||||
PathEndGatedClock(Path *gating_ref,
|
||||
Path *clk_path,
|
||||
const TimingRole *check_role,
|
||||
MultiCyclePath *mcp,
|
||||
ArcDelay margin,
|
||||
Crpr crpr,
|
||||
bool crpr_valid);
|
||||
|
||||
const TimingRole *check_role_;
|
||||
ArcDelay margin_;
|
||||
};
|
||||
|
|
@ -525,20 +482,12 @@ public:
|
|||
virtual const Path *dataClkPath() const { return data_clk_path_; }
|
||||
|
||||
protected:
|
||||
PathEndDataCheck(DataCheck *check,
|
||||
Path *data_path,
|
||||
Path *data_clk_path,
|
||||
Path *clk_path,
|
||||
MultiCyclePath *mcp,
|
||||
Crpr crpr,
|
||||
bool crpr_valid);
|
||||
Path *clkPath(Path *path,
|
||||
const StaState *sta);
|
||||
Arrival requiredTimeNoCrpr(const StaState *sta) const;
|
||||
// setup uses zero cycle default
|
||||
virtual int setupDefaultCycles() const { return 0; }
|
||||
|
||||
private:
|
||||
Path *data_clk_path_;
|
||||
DataCheck *check_;
|
||||
};
|
||||
|
|
@ -588,15 +537,6 @@ public:
|
|||
virtual bool ignoreClkLatency(const StaState *sta) const;
|
||||
|
||||
protected:
|
||||
PathEndPathDelay(PathDelay *path_delay,
|
||||
Path *path,
|
||||
Path *clk_path,
|
||||
TimingArc *check_arc,
|
||||
Edge *check_edge,
|
||||
OutputDelay *output_delay,
|
||||
Arrival src_clk_arrival,
|
||||
Crpr crpr,
|
||||
bool crpr_valid);
|
||||
void findSrcClkArrival(const StaState *sta);
|
||||
|
||||
PathDelay *path_delay_;
|
||||
|
|
|
|||
|
|
@ -449,7 +449,7 @@ PathEndUnconstrained::PathEndUnconstrained(Path *path) :
|
|||
PathEnd *
|
||||
PathEndUnconstrained::copy() const
|
||||
{
|
||||
return new PathEndUnconstrained(path_);
|
||||
return new PathEndUnconstrained(*this);
|
||||
}
|
||||
|
||||
bool
|
||||
|
|
@ -512,17 +512,6 @@ PathEndClkConstrained::PathEndClkConstrained(Path *path,
|
|||
{
|
||||
}
|
||||
|
||||
PathEndClkConstrained::PathEndClkConstrained(Path *path,
|
||||
Path *clk_path,
|
||||
Crpr crpr,
|
||||
bool crpr_valid) :
|
||||
PathEnd(path),
|
||||
clk_path_(clk_path),
|
||||
crpr_(crpr),
|
||||
crpr_valid_(crpr_valid)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
PathEndClkConstrained::setPath(Path *path)
|
||||
{
|
||||
|
|
@ -765,16 +754,6 @@ PathEndClkConstrainedMcp::PathEndClkConstrainedMcp(Path *path,
|
|||
{
|
||||
}
|
||||
|
||||
PathEndClkConstrainedMcp::PathEndClkConstrainedMcp(Path *path,
|
||||
Path *clk_path,
|
||||
MultiCyclePath *mcp,
|
||||
Crpr crpr,
|
||||
bool crpr_valid) :
|
||||
PathEndClkConstrained(path, clk_path, crpr, crpr_valid),
|
||||
mcp_(mcp)
|
||||
{
|
||||
}
|
||||
|
||||
float
|
||||
PathEndClkConstrainedMcp::targetClkMcpAdjustment(const StaState *sta) const
|
||||
{
|
||||
|
|
@ -945,24 +924,10 @@ PathEndCheck::PathEndCheck(Path *path,
|
|||
{
|
||||
}
|
||||
|
||||
PathEndCheck::PathEndCheck(Path *path,
|
||||
TimingArc *check_arc,
|
||||
Edge *check_edge,
|
||||
Path *clk_path,
|
||||
MultiCyclePath *mcp,
|
||||
Crpr crpr,
|
||||
bool crpr_valid) :
|
||||
PathEndClkConstrainedMcp(path, clk_path, mcp, crpr, crpr_valid),
|
||||
check_arc_(check_arc),
|
||||
check_edge_(check_edge)
|
||||
{
|
||||
}
|
||||
|
||||
PathEnd *
|
||||
PathEndCheck::copy() const
|
||||
{
|
||||
return new PathEndCheck(path_, check_arc_, check_edge_,
|
||||
clk_path_, mcp_, crpr_, crpr_valid_);
|
||||
return new PathEndCheck(*this);
|
||||
}
|
||||
|
||||
PathEnd::Type
|
||||
|
|
@ -1129,29 +1094,10 @@ PathEndLatchCheck::PathEndLatchCheck(Path *path,
|
|||
src_clk_arrival_ = search->pathClkPathArrival(path_);
|
||||
}
|
||||
|
||||
PathEndLatchCheck::PathEndLatchCheck(Path *path,
|
||||
TimingArc *check_arc,
|
||||
Edge *check_edge,
|
||||
Path *clk_path,
|
||||
Path *disable_path,
|
||||
MultiCyclePath *mcp,
|
||||
PathDelay *path_delay,
|
||||
Delay src_clk_arrival,
|
||||
Crpr crpr,
|
||||
bool crpr_valid) :
|
||||
PathEndCheck(path, check_arc, check_edge, clk_path, mcp, crpr, crpr_valid),
|
||||
disable_path_(disable_path),
|
||||
path_delay_(path_delay),
|
||||
src_clk_arrival_(src_clk_arrival)
|
||||
{
|
||||
}
|
||||
|
||||
PathEnd *
|
||||
PathEndLatchCheck::copy() const
|
||||
{
|
||||
return new PathEndLatchCheck(path_, check_arc_, check_edge_,
|
||||
clk_path_, disable_path_, mcp_, path_delay_,
|
||||
src_clk_arrival_, crpr_, crpr_valid_);
|
||||
return new PathEndLatchCheck(*this);
|
||||
}
|
||||
|
||||
PathEnd::Type
|
||||
|
|
@ -1357,22 +1303,10 @@ PathEndOutputDelay::PathEndOutputDelay(OutputDelay *output_delay,
|
|||
{
|
||||
}
|
||||
|
||||
PathEndOutputDelay::PathEndOutputDelay(OutputDelay *output_delay,
|
||||
Path *path,
|
||||
Path *clk_path,
|
||||
MultiCyclePath *mcp,
|
||||
Crpr crpr,
|
||||
bool crpr_valid) :
|
||||
PathEndClkConstrainedMcp(path, clk_path, mcp, crpr, crpr_valid),
|
||||
output_delay_(output_delay)
|
||||
{
|
||||
}
|
||||
|
||||
PathEnd *
|
||||
PathEndOutputDelay::copy() const
|
||||
{
|
||||
return new PathEndOutputDelay(output_delay_, path_, clk_path_,
|
||||
mcp_, crpr_, crpr_valid_);
|
||||
return new PathEndOutputDelay(*this);
|
||||
}
|
||||
|
||||
PathEnd::Type
|
||||
|
|
@ -1564,24 +1498,10 @@ PathEndGatedClock::PathEndGatedClock(Path *gating_ref,
|
|||
{
|
||||
}
|
||||
|
||||
PathEndGatedClock::PathEndGatedClock(Path *gating_ref,
|
||||
Path *clk_path,
|
||||
const TimingRole *check_role,
|
||||
MultiCyclePath *mcp,
|
||||
ArcDelay margin,
|
||||
Crpr crpr,
|
||||
bool crpr_valid) :
|
||||
PathEndClkConstrainedMcp(gating_ref, clk_path, mcp, crpr, crpr_valid),
|
||||
check_role_(check_role),
|
||||
margin_(margin)
|
||||
{
|
||||
}
|
||||
|
||||
PathEnd *
|
||||
PathEndGatedClock::copy() const
|
||||
{
|
||||
return new PathEndGatedClock(path_, clk_path_, check_role_,
|
||||
mcp_, margin_, crpr_, crpr_valid_);
|
||||
return new PathEndGatedClock(*this);
|
||||
}
|
||||
|
||||
PathEnd::Type
|
||||
|
|
@ -1680,24 +1600,10 @@ PathEndDataCheck::clkPath(Path *path,
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
PathEndDataCheck::PathEndDataCheck(DataCheck *check,
|
||||
Path *data_path,
|
||||
Path *data_clk_path,
|
||||
Path *clk_path,
|
||||
MultiCyclePath *mcp,
|
||||
Crpr crpr,
|
||||
bool crpr_valid) :
|
||||
PathEndClkConstrainedMcp(data_path, clk_path, mcp, crpr, crpr_valid),
|
||||
data_clk_path_(data_clk_path),
|
||||
check_(check)
|
||||
{
|
||||
}
|
||||
|
||||
PathEnd *
|
||||
PathEndDataCheck::copy() const
|
||||
{
|
||||
return new PathEndDataCheck(check_, path_, data_clk_path_,
|
||||
clk_path_, mcp_, crpr_, crpr_valid_);
|
||||
return new PathEndDataCheck(*this);
|
||||
}
|
||||
|
||||
PathEnd::Type
|
||||
|
|
@ -1838,30 +1744,10 @@ PathEndPathDelay::PathEndPathDelay(PathDelay *path_delay,
|
|||
findSrcClkArrival(sta);
|
||||
}
|
||||
|
||||
PathEndPathDelay::PathEndPathDelay(PathDelay *path_delay,
|
||||
Path *path,
|
||||
Path *clk_path,
|
||||
TimingArc *check_arc,
|
||||
Edge *check_edge,
|
||||
OutputDelay *output_delay,
|
||||
Arrival src_clk_arrival,
|
||||
Crpr crpr,
|
||||
bool crpr_valid) :
|
||||
PathEndClkConstrained(path, clk_path, crpr, crpr_valid),
|
||||
path_delay_(path_delay),
|
||||
check_arc_(check_arc),
|
||||
check_edge_(check_edge),
|
||||
output_delay_(output_delay),
|
||||
src_clk_arrival_(src_clk_arrival)
|
||||
{
|
||||
}
|
||||
|
||||
PathEnd *
|
||||
PathEndPathDelay::copy() const
|
||||
{
|
||||
return new PathEndPathDelay(path_delay_, path_, clk_path_,
|
||||
check_arc_, check_edge_, output_delay_,
|
||||
src_clk_arrival_, crpr_, crpr_valid_);
|
||||
return new PathEndPathDelay(*this);
|
||||
}
|
||||
|
||||
PathEnd::Type
|
||||
|
|
|
|||
Loading…
Reference in New Issue