Sta::netorkChangedNonSdc resolves #372
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
74f756c77c
commit
5605979049
|
|
@ -866,7 +866,9 @@ public:
|
|||
// User visible but non SDC commands.
|
||||
|
||||
// Clear all state except network, scenes and liberty libraries.
|
||||
virtual void clear();
|
||||
void clear();
|
||||
// Clear all state except network, scenes liberty libraries, and sdc.
|
||||
void clearNonSdc();
|
||||
// Namespace used by command interpreter.
|
||||
CmdNamespace cmdNamespace();
|
||||
void setCmdNamespace(CmdNamespace namespc);
|
||||
|
|
@ -1261,6 +1263,8 @@ public:
|
|||
// editing API. For example, reading a netlist without using the
|
||||
// builtin network readers.
|
||||
void networkChanged();
|
||||
// Network changed but all SDC references to instance/net/pin/port are preserved.
|
||||
void networkChangedNonSdc();
|
||||
void deleteLeafInstanceBefore(const Instance *inst);
|
||||
void deleteInstancePinsBefore(const Instance *inst);
|
||||
|
||||
|
|
|
|||
|
|
@ -104,4 +104,11 @@ network_changed()
|
|||
Sta::sta()->networkChanged();
|
||||
}
|
||||
|
||||
// Notify STA of network change without touching SDC network references.
|
||||
void
|
||||
network_changed_non_sdc()
|
||||
{
|
||||
Sta::sta()->networkChangedNonSdc();
|
||||
}
|
||||
|
||||
%} // inline
|
||||
|
|
|
|||
|
|
@ -534,6 +534,14 @@ Sta::~Sta()
|
|||
|
||||
void
|
||||
Sta::clear()
|
||||
{
|
||||
clearNonSdc();
|
||||
for (Mode *mode : modes_)
|
||||
mode->sdc()->clear();
|
||||
}
|
||||
|
||||
void
|
||||
Sta::clearNonSdc()
|
||||
{
|
||||
// Sdc holds search filter, so clear search first.
|
||||
search_->clear();
|
||||
|
|
@ -548,10 +556,8 @@ Sta::clear()
|
|||
clk_skews_->clear();
|
||||
|
||||
// scenes are NOT cleared because they are used to index liberty files.
|
||||
for (Mode *mode : modes_) {
|
||||
mode->sdc()->clear();
|
||||
for (Mode *mode : modes_)
|
||||
mode->clkNetwork()->clkPinsInvalid();
|
||||
}
|
||||
|
||||
delete graph_;
|
||||
graph_ = nullptr;
|
||||
|
|
@ -616,6 +622,12 @@ Sta::networkChanged()
|
|||
clear();
|
||||
}
|
||||
|
||||
void
|
||||
Sta::networkChangedNonSdc()
|
||||
{
|
||||
clearNonSdc();
|
||||
}
|
||||
|
||||
void
|
||||
Sta::setTclInterp(Tcl_Interp *interp)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue