Network override

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2023-03-09 20:15:31 -07:00
parent bc7083e927
commit 17eea0e169
3 changed files with 309 additions and 318 deletions

View File

@ -53,185 +53,181 @@ class ConcreteNetwork : public NetworkReader
{ {
public: public:
ConcreteNetwork(); ConcreteNetwork();
virtual ~ConcreteNetwork(); ~ConcreteNetwork();
virtual void clear(); void clear() override;
virtual bool linkNetwork(const char *top_cell_name, bool linkNetwork(const char *top_cell_name,
bool make_black_boxes, bool make_black_boxes,
Report *report); Report *report) override;
virtual Instance *topInstance() const; Instance *topInstance() const override;
virtual const char *name(const Library *library) const; const char *name(const Library *library) const override;
virtual ObjectId id(const Library *library) const; ObjectId id(const Library *library) const override;
virtual LibraryIterator *libraryIterator() const; LibraryIterator *libraryIterator() const override;
virtual LibertyLibraryIterator *libertyLibraryIterator() const ; LibertyLibraryIterator *libertyLibraryIterator() const override;
virtual Library *findLibrary(const char *name); Library *findLibrary(const char *name) override;
virtual LibertyLibrary *findLiberty(const char *name); LibertyLibrary *findLiberty(const char *name) override;
virtual LibertyLibrary *libertyLibrary(Library *library) const; Cell *findCell(const Library *library,
virtual Cell *findCell(const Library *library, const char *name) const override;
const char *name) const; Cell *findAnyCell(const char *name) override;
virtual Cell *findAnyCell(const char *name); CellSeq findCellsMatching(const Library *library,
virtual CellSeq findCellsMatching(const Library *library, const PatternMatch *pattern) const override;
const PatternMatch *pattern) const;
virtual const char *name(const Cell *cell) const; const char *name(const Cell *cell) const override;
virtual ObjectId id(const Cell *cell) const; ObjectId id(const Cell *cell) const override;
virtual Library *library(const Cell *cell) const; Library *library(const Cell *cell) const override;
virtual LibertyCell *libertyCell(Cell *cell) const; LibertyCell *libertyCell(Cell *cell) const override;
virtual const LibertyCell *libertyCell(const Cell *cell) const; const LibertyCell *libertyCell(const Cell *cell) const override;
virtual Cell *cell(LibertyCell *cell) const; Cell *cell(LibertyCell *cell) const override;
virtual const Cell *cell(const LibertyCell *cell) const; const Cell *cell(const LibertyCell *cell) const override;
virtual const char *filename(const Cell *cell); const char *filename(const Cell *cell) override;
virtual Port *findPort(const Cell *cell, Port *findPort(const Cell *cell,
const char *name) const; const char *name) const override;
virtual PortSeq findPortsMatching(const Cell *cell, PortSeq findPortsMatching(const Cell *cell,
const PatternMatch *pattern) const; const PatternMatch *pattern) const override;
virtual bool isLeaf(const Cell *cell) const; bool isLeaf(const Cell *cell) const override;
virtual CellPortIterator *portIterator(const Cell *cell) const; CellPortIterator *portIterator(const Cell *cell) const override;
virtual CellPortBitIterator *portBitIterator(const Cell *cell) const; CellPortBitIterator *portBitIterator(const Cell *cell) const override;
virtual int portBitCount(const Cell *cell) const; int portBitCount(const Cell *cell) const override;
virtual const char *name(const Port *port) const; const char *name(const Port *port) const override;
virtual ObjectId id(const Port *port) const; ObjectId id(const Port *port) const override;
virtual Cell *cell(const Port *port) const; Cell *cell(const Port *port) const override;
virtual LibertyPort *libertyPort(const Port *port) const; LibertyPort *libertyPort(const Port *port) const override;
virtual PortDirection *direction(const Port *port) const; PortDirection *direction(const Port *port) const override;
virtual bool isBundle(const Port *port) const; bool isBundle(const Port *port) const override;
virtual bool hasMembers(const Port *port) const; bool hasMembers(const Port *port) const override;
virtual bool isBus(const Port *port) const; bool isBus(const Port *port) const override;
virtual int size(const Port *port) const; int size(const Port *port) const override;
virtual const char *busName(const Port *port) const; const char *busName(const Port *port) const override;
virtual Port *findBusBit(const Port *port, Port *findBusBit(const Port *port,
int index) const; int index) const override;
virtual int fromIndex(const Port *port) const; int fromIndex(const Port *port) const override;
virtual int toIndex(const Port *port) const; int toIndex(const Port *port) const override;
virtual Port *findMember(const Port *port, Port *findMember(const Port *port,
int index) const; int index) const override;
virtual PortMemberIterator *memberIterator(const Port *port) const; PortMemberIterator *memberIterator(const Port *port) const override;
virtual const char *name(const Instance *instance) const; const char *name(const Instance *instance) const override;
virtual ObjectId id(const Instance *instance) const; ObjectId id(const Instance *instance) const override;
virtual Cell *cell(const Instance *instance) const; Cell *cell(const Instance *instance) const override;
virtual Instance *parent(const Instance *instance) const; Instance *parent(const Instance *instance) const override;
virtual bool isLeaf(const Instance *instance) const; bool isLeaf(const Instance *instance) const override;
virtual Instance *findChild(const Instance *parent, Instance *findChild(const Instance *parent,
const char *name) const; const char *name) const override;
virtual Pin *findPin(const Instance *instance, Pin *findPin(const Instance *instance,
const char *port_name) const; const char *port_name) const override;
virtual Pin *findPin(const Instance *instance, Pin *findPin(const Instance *instance,
const Port *port) const; const Port *port) const override;
virtual InstanceChildIterator * InstanceChildIterator *
childIterator(const Instance *instance) const; childIterator(const Instance *instance) const override;
virtual InstancePinIterator * InstancePinIterator *
pinIterator(const Instance *instance) const; pinIterator(const Instance *instance) const override;
virtual InstanceNetIterator * InstanceNetIterator *
netIterator(const Instance *instance) const; netIterator(const Instance *instance) const override;
virtual ObjectId id(const Pin *pin) const; ObjectId id(const Pin *pin) const override;
virtual Instance *instance(const Pin *pin) const; Instance *instance(const Pin *pin) const override;
virtual Net *net(const Pin *pin) const; Net *net(const Pin *pin) const override;
virtual Term *term(const Pin *pin) const; Term *term(const Pin *pin) const override;
virtual Port *port(const Pin *pin) const; Port *port(const Pin *pin) const override;
virtual PortDirection *direction(const Pin *pin) const; PortDirection *direction(const Pin *pin) const override;
virtual VertexId vertexId(const Pin *pin) const; VertexId vertexId(const Pin *pin) const override;
virtual void setVertexId(Pin *pin, void setVertexId(Pin *pin,
VertexId id); VertexId id) override;
virtual ObjectId id(const Term *term) const; ObjectId id(const Term *term) const override;
virtual Net *net(const Term *term) const; Net *net(const Term *term) const override;
virtual Pin *pin(const Term *term) const; Pin *pin(const Term *term) const override;
virtual const char *name(const Net *net) const; const char *name(const Net *net) const override;
virtual ObjectId id(const Net *net) const; ObjectId id(const Net *net) const override;
virtual Net *findNet(const Instance *instance, Net *findNet(const Instance *instance,
const char *net_name) const; const char *net_name) const override;
virtual void findInstNetsMatching(const Instance *instance, void findInstNetsMatching(const Instance *instance,
const PatternMatch *pattern, const PatternMatch *pattern,
NetSeq &matches) const; NetSeq &matches) const override;
virtual Instance *instance(const Net *net) const; Instance *instance(const Net *net) const override;
virtual bool isPower(const Net *net) const; bool isPower(const Net *net) const override;
virtual bool isGround(const Net *net) const; bool isGround(const Net *net) const override;
virtual NetPinIterator *pinIterator(const Net *net) const; NetPinIterator *pinIterator(const Net *net) const override;
virtual NetTermIterator *termIterator(const Net *net) const; NetTermIterator *termIterator(const Net *net) const override;
virtual void mergeInto(Net *net, void mergeInto(Net *net,
Net *into_net); Net *into_net) override;
virtual Net *mergedInto(Net *net); Net *mergedInto(Net *net) override;
virtual ConstantPinIterator *constantPinIterator(); ConstantPinIterator *constantPinIterator() override;
void addConstantNet(Net *net, void addConstantNet(Net *net,
LogicValue value); LogicValue value) override;
// Edit methods. // Edit methods.
virtual Library *makeLibrary(const char *name, Library *makeLibrary(const char *name,
const char *filename); const char *filename) override;
virtual LibertyLibrary *makeLibertyLibrary(const char *name, LibertyLibrary *makeLibertyLibrary(const char *name,
const char *filename); const char *filename) override;
virtual void deleteLibrary(Library *library); void deleteLibrary(Library *library) override;
virtual Cell *makeCell(Library *library, Cell *makeCell(Library *library,
const char *name, const char *name,
bool is_leaf, bool is_leaf,
const char *filename); const char *filename) override;
virtual void deleteCell(Cell *cell); void deleteCell(Cell *cell) override;
virtual void setName(Cell *cell, void setName(Cell *cell,
const char *name); const char *name) override;
virtual void setIsLeaf(Cell *cell, void setIsLeaf(Cell *cell,
bool is_leaf); bool is_leaf) override;
virtual Port *makePort(Cell *cell, Port *makePort(Cell *cell,
const char *name); const char *name) override;
virtual Port *makeBusPort(Cell *cell, Port *makeBusPort(Cell *cell,
const char *name, const char *name,
int from_index, int from_index,
int to_index); int to_index) override;
virtual void groupBusPorts(Cell *cell, void groupBusPorts(Cell *cell,
std::function<bool(const char*)> port_msb_first); std::function<bool(const char*)> port_msb_first) override;
virtual Port *makeBundlePort(Cell *cell, Port *makeBundlePort(Cell *cell,
const char *name, const char *name,
PortSeq *members); PortSeq *members) override;
virtual void setDirection(Port *port, void setDirection(Port *port,
PortDirection *dir); PortDirection *dir) override;
// For NetworkEdit. // For NetworkEdit.
virtual Instance *makeInstance(LibertyCell *cell, Instance *makeInstance(LibertyCell *cell,
const char *name, const char *name,
Instance *parent); Instance *parent) override;
void makePins(Instance *inst); void makePins(Instance *inst) override;
// For linking. // For linking.
virtual Instance *makeInstance(Cell *cell, Instance *makeInstance(Cell *cell,
const char *name, const char *name,
Instance *parent); Instance *parent) override;
virtual void replaceCell(Instance *inst, void replaceCell(Instance *inst,
Cell *cell); Cell *cell) override;
virtual void deleteInstance(Instance *inst); void deleteInstance(Instance *inst) override;
virtual Pin *connect(Instance *inst, Pin *connect(Instance *inst,
Port *port, Port *port,
Net *net); Net *net) override;
virtual Pin *connect(Instance *inst, Pin *connect(Instance *inst,
LibertyPort *port, LibertyPort *port,
Net *net); Net *net) override;
virtual void disconnectPin(Pin *pin); void disconnectPin(Pin *pin) override;
virtual void deletePin(Pin *pin); void deletePin(Pin *pin) override;
virtual Net *makeNet(const char *name, Net *makeNet(const char *name,
Instance *parent); Instance *parent) override;
virtual void deleteNet(Net *net); void deleteNet(Net *net) override;
// For NetworkReader API. // For NetworkReader API.
virtual Term *makeTerm(Pin *pin, Term *makeTerm(Pin *pin,
Net *net); Net *net) override;
virtual Pin *makePin(Instance *inst, Pin *makePin(Instance *inst,
Port *port, Port *port,
Net *net); Net *net) override;
// Instance is the network view for cell. // Instance is the network view for cell.
virtual void setCellNetworkView(Cell *cell, void setCellNetworkView(Cell *cell,
Instance *inst); Instance *inst) override;
virtual Instance *cellNetworkView(Cell *cell); Instance *cellNetworkView(Cell *cell) override;
virtual void deleteCellNetworkViews(); void deleteCellNetworkViews() override;
void deleteTopInstance();
virtual void readNetlistBefore();
virtual void setLinkFunc(LinkNetworkFunc *link);
void setTopInstance(Instance *top_inst);
void readNetlistBefore() override;
void setLinkFunc(LinkNetworkFunc *link) override;
static ObjectId nextObjectId(); static ObjectId nextObjectId();
using Network::netIterator; using Network::netIterator;
@ -244,12 +240,14 @@ public:
using Network::isLeaf; using Network::isLeaf;
protected: protected:
void setTopInstance(Instance *top_inst);
void deleteTopInstance();
void addLibrary(ConcreteLibrary *library); void addLibrary(ConcreteLibrary *library);
void setName(const char *name); void setName(const char *name);
void clearConstantNets(); void clearConstantNets();
virtual void visitConnectedPins(const Net *net, void visitConnectedPins(const Net *net,
PinVisitor &visitor, PinVisitor &visitor,
NetSet &visited_nets) const; NetSet &visited_nets) const override;
Instance *makeConcreteInstance(ConcreteCell *cell, Instance *makeConcreteInstance(ConcreteCell *cell,
const char *name, const char *name,
Instance *parent); Instance *parent);

View File

@ -28,131 +28,131 @@ class NetworkNameAdapter : public NetworkEdit
{ {
public: public:
NetworkNameAdapter(Network *network); NetworkNameAdapter(Network *network);
virtual bool linkNetwork(const char *top_cell_name, bool linkNetwork(const char *top_cell_name,
bool make_black_boxes, bool make_black_boxes,
Report *report); Report *report) override;
virtual const char *name(const Library *library) const; const char *name(const Library *library) const override;
virtual ObjectId id(const Library *library) const; ObjectId id(const Library *library) const override;
virtual LibraryIterator *libraryIterator() const; LibraryIterator *libraryIterator() const override;
virtual LibertyLibraryIterator *libertyLibraryIterator() const; LibertyLibraryIterator *libertyLibraryIterator() const override;
virtual Library *findLibrary(const char *name); Library *findLibrary(const char *name) override;
virtual LibertyLibrary *findLibertyFilename(const char *filename); LibertyLibrary *findLibertyFilename(const char *filename) override;
virtual LibertyLibrary *findLiberty(const char *name); LibertyLibrary *findLiberty(const char *name) override;
virtual Cell *findCell(const Library *library, Cell *findCell(const Library *library,
const char *name) const; const char *name) const override;
virtual CellSeq findCellsMatching(const Library *library, CellSeq findCellsMatching(const Library *library,
const PatternMatch *pattern) const; const PatternMatch *pattern) const override;
virtual const char *name(const Cell *cell) const; const char *name(const Cell *cell) const override;
virtual ObjectId id(const Cell *cell) const; ObjectId id(const Cell *cell) const override;
virtual Library *library(const Cell *cell) const; Library *library(const Cell *cell) const override;
virtual LibertyCell *libertyCell(Cell *cell) const; LibertyCell *libertyCell(Cell *cell) const override;
virtual const LibertyCell *libertyCell(const Cell *cell) const; const LibertyCell *libertyCell(const Cell *cell) const override;
virtual Cell *cell(LibertyCell *cell) const; Cell *cell(LibertyCell *cell) const override;
virtual const Cell *cell(const LibertyCell *cell) const; const Cell *cell(const LibertyCell *cell) const override;
virtual const char *filename(const Cell *cell); const char *filename(const Cell *cell) override;
virtual Port *findPort(const Cell *cell, Port *findPort(const Cell *cell,
const char *name) const; const char *name) const override;
virtual PortSeq findPortsMatching(const Cell *cell, PortSeq findPortsMatching(const Cell *cell,
const PatternMatch *pattern) const; const PatternMatch *pattern) const override;
virtual bool isLeaf(const Cell *cell) const; bool isLeaf(const Cell *cell) const override;
virtual CellPortIterator *portIterator(const Cell *cell) const; CellPortIterator *portIterator(const Cell *cell) const override;
virtual CellPortBitIterator *portBitIterator(const Cell *cell) const; CellPortBitIterator *portBitIterator(const Cell *cell) const override;
virtual int portBitCount(const Cell *cell) const; int portBitCount(const Cell *cell) const override;
virtual const char *name(const Port *port) const; const char *name(const Port *port) const override;
virtual ObjectId id(const Port *port) const; ObjectId id(const Port *port) const override;
virtual Cell *cell(const Port *port) const; Cell *cell(const Port *port) const override;
virtual LibertyPort *libertyPort(const Port *port) const; LibertyPort *libertyPort(const Port *port) const override;
virtual PortDirection *direction(const Port *port) const; PortDirection *direction(const Port *port) const override;
virtual bool isBundle(const Port *port) const; bool isBundle(const Port *port) const override;
virtual bool isBus(const Port *port) const; bool isBus(const Port *port) const override;
virtual int size(const Port *port) const; int size(const Port *port) const override;
virtual const char *busName(const Port *port) const; const char *busName(const Port *port) const override;
virtual Port *findBusBit(const Port *port, Port *findBusBit(const Port *port,
int index) const; int index) const override;
virtual int fromIndex(const Port *port) const; int fromIndex(const Port *port) const override;
virtual int toIndex(const Port *port) const; int toIndex(const Port *port) const override;
virtual Port *findMember(const Port *port, Port *findMember(const Port *port,
int index) const; int index) const override;
virtual PortMemberIterator *memberIterator(const Port *port) const; PortMemberIterator *memberIterator(const Port *port) const override;
virtual bool hasMembers(const Port *port) const; bool hasMembers(const Port *port) const override;
virtual ObjectId id(const Instance *instance) const; ObjectId id(const Instance *instance) const override;
virtual Instance *topInstance() const; Instance *topInstance() const override;
virtual Cell *cell(const Instance *instance) const; Cell *cell(const Instance *instance) const override;
virtual Instance *parent(const Instance *instance) const; Instance *parent(const Instance *instance) const override;
virtual bool isLeaf(const Instance *instance) const; bool isLeaf(const Instance *instance) const override;
virtual Pin *findPin(const Instance *instance, Pin *findPin(const Instance *instance,
const Port *port) const; const Port *port) const override;
virtual Pin *findPin(const Instance *instance, Pin *findPin(const Instance *instance,
const LibertyPort *port) const; const LibertyPort *port) const override;
virtual InstanceChildIterator * InstanceChildIterator *
childIterator(const Instance *instance) const; childIterator(const Instance *instance) const override;
virtual InstancePinIterator * InstancePinIterator *
pinIterator(const Instance *instance) const; pinIterator(const Instance *instance) const override;
virtual InstanceNetIterator * InstanceNetIterator *
netIterator(const Instance *instance) const; netIterator(const Instance *instance) const override;
virtual ObjectId id(const Pin *pin) const; ObjectId id(const Pin *pin) const override;
virtual Port *port(const Pin *pin) const; Port *port(const Pin *pin) const override;
virtual Instance *instance(const Pin *pin) const; Instance *instance(const Pin *pin) const override;
virtual Net *net(const Pin *pin) const; Net *net(const Pin *pin) const override;
virtual Term *term(const Pin *pin) const; Term *term(const Pin *pin) const override;
virtual PortDirection *direction(const Pin *pin) const; PortDirection *direction(const Pin *pin) const override;
virtual VertexId vertexId(const Pin *pin) const; VertexId vertexId(const Pin *pin) const override;
virtual void setVertexId(Pin *pin, void setVertexId(Pin *pin,
VertexId id); VertexId id) override;
virtual void location(const Pin *pin, void location(const Pin *pin,
// Return values. // Return values.
double &x, double &x,
double &y, double &y,
bool &exists) const; bool &exists) const override;
virtual ObjectId id(const Term *term) const; ObjectId id(const Term *term) const override;
virtual Net *net(const Term *term) const; Net *net(const Term *term) const override;
virtual Pin *pin(const Term *term) const; Pin *pin(const Term *term) const override;
virtual ObjectId id(const Net *net) const; ObjectId id(const Net *net) const override;
virtual Instance *instance(const Net *net) const; Instance *instance(const Net *net) const override;
virtual bool isPower(const Net *net) const; bool isPower(const Net *net) const override;
virtual bool isGround(const Net *net) const; bool isGround(const Net *net) const override;
virtual NetPinIterator *pinIterator(const Net *net) const; NetPinIterator *pinIterator(const Net *net) const override;
virtual NetTermIterator *termIterator(const Net *net) const; NetTermIterator *termIterator(const Net *net) const override;
virtual ConstantPinIterator *constantPinIterator(); ConstantPinIterator *constantPinIterator() override;
virtual char pathDivider() const; char pathDivider() const override;
virtual void setPathDivider(char divider); void setPathDivider(char divider) override;
virtual char pathEscape() const; char pathEscape() const override;
virtual void setPathEscape(char escape); void setPathEscape(char escape) override;
virtual bool isEditable() const; bool isEditable() const override;
virtual LibertyLibrary *makeLibertyLibrary(const char *name, LibertyLibrary *makeLibertyLibrary(const char *name,
const char *filename); const char *filename) override;
virtual Instance *makeInstance(LibertyCell *cell, Instance *makeInstance(LibertyCell *cell,
const char *name, const char *name,
Instance *parent); Instance *parent) override;
virtual void makePins(Instance *inst); void makePins(Instance *inst) override;
virtual void replaceCell(Instance *inst, void replaceCell(Instance *inst,
Cell *to_cell); Cell *to_cell) override;
virtual Net *makeNet(const char *name, Net *makeNet(const char *name,
Instance *parent); Instance *parent) override;
virtual Pin *connect(Instance *inst, Pin *connect(Instance *inst,
Port *port, Port *port,
Net *net); Net *net) override;
virtual Pin *connect(Instance *inst, Pin *connect(Instance *inst,
LibertyPort *port, LibertyPort *port,
Net *net); Net *net) override;
virtual void disconnectPin(Pin *pin); void disconnectPin(Pin *pin) override;
virtual void deleteNet(Net *net); void deleteNet(Net *net) override;
virtual void deletePin(Pin *pin); void deletePin(Pin *pin) override;
virtual void deleteInstance(Instance *inst); void deleteInstance(Instance *inst) override;
virtual void mergeInto(Net *net, void mergeInto(Net *net,
Net *into_net); Net *into_net) override;
virtual Net *mergedInto(Net *net); Net *mergedInto(Net *net) override;
// Any overloaded functions from the base class must be listed here. // Any overloaded functions from the base class must be listed here.
using Network::name; using Network::name;
@ -179,45 +179,45 @@ class SdcNetwork : public NetworkNameAdapter
public: public:
SdcNetwork(Network *network); SdcNetwork(Network *network);
virtual Port *findPort(const Cell *cell, Port *findPort(const Cell *cell,
const char *name) const; const char *name) const override;
virtual PortSeq findPortsMatching(const Cell *cell, PortSeq findPortsMatching(const Cell *cell,
const PatternMatch *pattern) const; const PatternMatch *pattern) const override;
virtual const char *name(const Port *port) const; const char *name(const Port *port) const override;
virtual const char *busName(const Port *port) const; const char *busName(const Port *port) const override;
virtual const char *name(const Instance *instance) const; const char *name(const Instance *instance) const override;
virtual const char *pathName(const Instance *instance) const; const char *pathName(const Instance *instance) const override;
virtual const char *pathName(const Pin *pin) const; const char *pathName(const Pin *pin) const override;
virtual const char *portName(const Pin *pin) const; const char *portName(const Pin *pin) const override;
virtual const char *name(const Net *net) const; const char *name(const Net *net) const override;
virtual const char *pathName(const Net *net) const; const char *pathName(const Net *net) const override;
virtual Instance *findInstance(const char *path_name) const; Instance *findInstance(const char *path_name) const override;
virtual InstanceSeq findInstancesMatching(const Instance *context, InstanceSeq findInstancesMatching(const Instance *context,
const PatternMatch *pattern) const; const PatternMatch *pattern) const override;
virtual Net *findNet(const char *path_name) const; Net *findNet(const char *path_name) const override;
virtual Net *findNet(const Instance *instance, Net *findNet(const Instance *instance,
const char *net_name) const; const char *net_name) const override;
virtual NetSeq findNetsMatching(const Instance *parent, NetSeq findNetsMatching(const Instance *parent,
const PatternMatch *pattern) const; const PatternMatch *pattern) const override;
virtual void findInstNetsMatching(const Instance *instance, void findInstNetsMatching(const Instance *instance,
const PatternMatch *pattern, const PatternMatch *pattern,
NetSeq &nets) const; NetSeq &nets) const override;
virtual Instance *findChild(const Instance *parent, Instance *findChild(const Instance *parent,
const char *name) const; const char *name) const override;
virtual Pin *findPin(const char *path_name) const; Pin *findPin(const char *path_name) const override;
virtual Pin *findPin(const Instance *instance, Pin *findPin(const Instance *instance,
const char *port_name) const; const char *port_name) const override;
virtual PinSeq findPinsMatching(const Instance *instance, PinSeq findPinsMatching(const Instance *instance,
const PatternMatch *pattern) const; const PatternMatch *pattern) const override;
virtual Instance *makeInstance(LibertyCell *cell, Instance *makeInstance(LibertyCell *cell,
const char *name, const char *name,
Instance *parent); Instance *parent) override;
virtual Net *makeNet(const char *name, Net *makeNet(const char *name,
Instance *parent); Instance *parent) override;
// The following member functions are inherited from the // The following member functions are inherited from the
// Network class work as is: // Network class work as is:

View File

@ -476,13 +476,6 @@ ConcreteNetwork::findLiberty(const char *name)
return nullptr; return nullptr;
} }
LibertyLibrary *
ConcreteNetwork::libertyLibrary(Library *library) const
{
ConcreteLibrary *lib = reinterpret_cast<ConcreteLibrary*>(library);
return static_cast<LibertyLibrary*>(lib);
}
Cell * Cell *
ConcreteNetwork::makeCell(Library *library, ConcreteNetwork::makeCell(Library *library,
const char *name, const char *name,