disconnect_pin do not delete pin from exceptions
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
7fab248f56
commit
db3a1dd6e6
|
|
@ -355,8 +355,8 @@ public:
|
||||||
const Network *network) = 0;
|
const Network *network) = 0;
|
||||||
virtual void connectPinAfter(PinSet *,
|
virtual void connectPinAfter(PinSet *,
|
||||||
Network *network) = 0;
|
Network *network) = 0;
|
||||||
virtual void disconnectPinBefore(const Pin *pin,
|
virtual void deletePinBefore(const Pin *pin,
|
||||||
Network *network) = 0;
|
Network *network) = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
const RiseFallBoth *rf_;
|
const RiseFallBoth *rf_;
|
||||||
|
|
@ -415,8 +415,8 @@ public:
|
||||||
const Network *) {}
|
const Network *) {}
|
||||||
virtual void connectPinAfter(PinSet *,
|
virtual void connectPinAfter(PinSet *,
|
||||||
Network *) {}
|
Network *) {}
|
||||||
virtual void disconnectPinBefore(const Pin *,
|
virtual void deletePinBefore(const Pin *,
|
||||||
Network *);
|
Network *);
|
||||||
void deleteInstance(const Instance *inst,
|
void deleteInstance(const Instance *inst,
|
||||||
const Network *network);
|
const Network *network);
|
||||||
|
|
||||||
|
|
@ -537,8 +537,8 @@ public:
|
||||||
virtual size_t objectCount() const;
|
virtual size_t objectCount() const;
|
||||||
virtual void connectPinAfter(PinSet *drvrs,
|
virtual void connectPinAfter(PinSet *drvrs,
|
||||||
Network *network);
|
Network *network);
|
||||||
virtual void disconnectPinBefore(const Pin *pin,
|
virtual void deletePinBefore(const Pin *pin,
|
||||||
Network *network);
|
Network *network);
|
||||||
void deleteInstance(const Instance *inst,
|
void deleteInstance(const Instance *inst,
|
||||||
const Network *network);
|
const Network *network);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1027,7 +1027,7 @@ public:
|
||||||
void removeGraphAnnotations();
|
void removeGraphAnnotations();
|
||||||
|
|
||||||
// Network edit before/after methods.
|
// Network edit before/after methods.
|
||||||
void disconnectPinBefore(const Pin *pin);
|
void deletePinBefore(const Pin *pin);
|
||||||
void connectPinAfter(const Pin *pin);
|
void connectPinAfter(const Pin *pin);
|
||||||
void clkHpinDisablesChanged(const Pin *pin);
|
void clkHpinDisablesChanged(const Pin *pin);
|
||||||
void makeClkHpinDisable(const Clock *clk,
|
void makeClkHpinDisable(const Clock *clk,
|
||||||
|
|
|
||||||
|
|
@ -1166,8 +1166,8 @@ ExceptionFromTo::deleteInstance(const Instance *inst,
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ExceptionFromTo::disconnectPinBefore(const Pin *pin,
|
ExceptionFromTo::deletePinBefore(const Pin *pin,
|
||||||
Network *network)
|
Network *network)
|
||||||
{
|
{
|
||||||
deletePin(pin, network);
|
deletePin(pin, network);
|
||||||
}
|
}
|
||||||
|
|
@ -2080,8 +2080,8 @@ ExceptionThru::makePinEdges(const Pin *pin,
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ExceptionThru::disconnectPinBefore(const Pin *pin,
|
ExceptionThru::deletePinBefore(const Pin *pin,
|
||||||
Network *network)
|
Network *network)
|
||||||
{
|
{
|
||||||
deletePin(pin, network);
|
deletePin(pin, network);
|
||||||
// Remove edges from/to leaf pin and through hier pin.
|
// Remove edges from/to leaf pin and through hier pin.
|
||||||
|
|
|
||||||
|
|
@ -5685,22 +5685,22 @@ Sdc::connectPinAfter(const Pin *pin)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Sdc::disconnectPinBefore(const Pin *pin)
|
Sdc::deletePinBefore(const Pin *pin)
|
||||||
{
|
{
|
||||||
auto itr = pin_exceptions_.find(pin);
|
auto itr = pin_exceptions_.find(pin);
|
||||||
if (itr != pin_exceptions_.end()) {
|
if (itr != pin_exceptions_.end()) {
|
||||||
for (ExceptionPath *exception : itr->second) {
|
for (ExceptionPath *exception : itr->second) {
|
||||||
ExceptionFrom *from = exception->from();
|
ExceptionFrom *from = exception->from();
|
||||||
if (from)
|
if (from)
|
||||||
from->disconnectPinBefore(pin, network_);
|
from->deletePinBefore(pin, network_);
|
||||||
ExceptionTo *to = exception->to();
|
ExceptionTo *to = exception->to();
|
||||||
if (to)
|
if (to)
|
||||||
to->disconnectPinBefore(pin, network_);
|
to->deletePinBefore(pin, network_);
|
||||||
ExceptionPt *first_pt = exception->firstPt();
|
ExceptionPt *first_pt = exception->firstPt();
|
||||||
ExceptionThruSeq *thrus = exception->thrus();
|
ExceptionThruSeq *thrus = exception->thrus();
|
||||||
if (thrus) {
|
if (thrus) {
|
||||||
for (ExceptionThru *thru : *exception->thrus()) {
|
for (ExceptionThru *thru : *exception->thrus()) {
|
||||||
thru->disconnectPinBefore(pin, network_);
|
thru->deletePinBefore(pin, network_);
|
||||||
if (thru == first_pt)
|
if (thru == first_pt)
|
||||||
recordExceptionEdges(exception, thru->edges(),
|
recordExceptionEdges(exception, thru->edges(),
|
||||||
first_thru_edge_exceptions_);
|
first_thru_edge_exceptions_);
|
||||||
|
|
|
||||||
|
|
@ -4477,7 +4477,6 @@ Sta::disconnectPinBefore(const Pin *pin)
|
||||||
sdc_network_->pathName(pin),
|
sdc_network_->pathName(pin),
|
||||||
sdc_network_->pathName(network_->net(pin)));
|
sdc_network_->pathName(network_->net(pin)));
|
||||||
parasitics_->disconnectPinBefore(pin, network_);
|
parasitics_->disconnectPinBefore(pin, network_);
|
||||||
sdc_->disconnectPinBefore(pin);
|
|
||||||
sim_->disconnectPinBefore(pin);
|
sim_->disconnectPinBefore(pin);
|
||||||
if (graph_) {
|
if (graph_) {
|
||||||
if (network_->isDriver(pin)) {
|
if (network_->isDriver(pin)) {
|
||||||
|
|
|
||||||
|
|
@ -44,16 +44,16 @@ Path Type: max
|
||||||
0.00 510.00 ^ u1/A (BUFx2_ASAP7_75t_R)
|
0.00 510.00 ^ u1/A (BUFx2_ASAP7_75t_R)
|
||||||
510.00 data arrival time
|
510.00 data arrival time
|
||||||
|
|
||||||
250.00 250.00 clock clk (fall edge)
|
750.00 750.00 clock clk (fall edge)
|
||||||
0.00 250.00 clock network delay (propagated)
|
0.00 750.00 clock network delay (propagated)
|
||||||
0.00 250.00 clock reconvergence pessimism
|
0.00 750.00 clock reconvergence pessimism
|
||||||
250.00 v clk (in)
|
750.00 v clk (in)
|
||||||
-10.00 240.00 data check setup time
|
-10.00 740.00 data check setup time
|
||||||
240.00 data required time
|
740.00 data required time
|
||||||
---------------------------------------------------------
|
---------------------------------------------------------
|
||||||
240.00 data required time
|
740.00 data required time
|
||||||
-510.00 data arrival time
|
-510.00 data arrival time
|
||||||
---------------------------------------------------------
|
---------------------------------------------------------
|
||||||
-270.00 slack (VIOLATED)
|
230.00 slack (MET)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue