Network override
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
bc7083e927
commit
17eea0e169
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue