Bug fix, reset Cell flags after unrouting an analog design.
* Bug: In Bora::SlicingNode::clearGlobalRouting(), as we are unrouting the cell, the flags set up by Katana must be reset. The Cell is no longer "Terminal" and it's nets are "Un-flattened".
This commit is contained in:
parent
bd4ace7cc8
commit
dc25159cd6
|
@ -1508,7 +1508,10 @@ namespace Anabatic {
|
|||
}
|
||||
}
|
||||
|
||||
if (rps.size() < 2) return;
|
||||
if (rps.size() < 2) {
|
||||
cdebug_tabw(112,-1);
|
||||
return;
|
||||
}
|
||||
|
||||
for ( auto rp : rps ) {
|
||||
if (not _anabatic->getConfiguration()->selectRpComponent(rp))
|
||||
|
|
|
@ -698,6 +698,9 @@ namespace Bora {
|
|||
for ( RoutingPad* rp : net->getRoutingPads() ) rps.push_back( rp );
|
||||
for ( RoutingPad* rp : rps ) rp->destroy();
|
||||
}
|
||||
|
||||
_cell->getFlags().reset( Cell::Flags::FlattenedNets|Cell::Flags::Routed );
|
||||
_cell->setTerminalNetlist( false );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -875,7 +875,7 @@ void Cell::flattenNets ( const Instance* instance, uint64_t flags )
|
|||
Net* net = static_cast<Net*>(topHyperNets[i].getNetOccurrence().getEntity());
|
||||
|
||||
DebugSession::open( net, 18, 19 );
|
||||
cdebug_log(18,1) << "Flattening top: " << net << endl;
|
||||
cdebug_log(18,1) << "Flattening top net: " << net << endl;
|
||||
|
||||
vector<Occurrence> plugOccurrences;
|
||||
for ( Occurrence plugOccurrence : topHyperNets[i].getTerminalNetlistPlugOccurrences() )
|
||||
|
|
|
@ -411,6 +411,7 @@ class Cell : public Entity {
|
|||
public: string getHierarchicalName() const;
|
||||
public: const Name& getName() const {return _name;};
|
||||
public: const Flags& getFlags() const { return _flags; }
|
||||
public: Flags& getFlags() { return _flags; }
|
||||
public: Path getShuntedPath() const { return _shuntedPath; }
|
||||
public: Entity* getEntity(const Signature&) const;
|
||||
public: Instance* getInstance(const Name& name) const {return _instanceMap.getElement(name);};
|
||||
|
|
Loading…
Reference in New Issue