mirror of
https://github.com/The-OpenROAD-Project/OpenSTA.git
synced 2026-08-29 17:28:57 +02:00
sync
This commit is contained in:
@@ -1885,16 +1885,20 @@ ConcreteParasitics::value(const ParasiticDevice *device,
|
||||
return cdevice->value();
|
||||
}
|
||||
|
||||
void
|
||||
ConcreteParasitics::resistorNodes(const ParasiticDevice *device,
|
||||
// Return values.
|
||||
ParasiticNode *&node1,
|
||||
ParasiticNode *&node2) const
|
||||
ParasiticNode *
|
||||
ConcreteParasitics::node1(const ParasiticDevice *device) const
|
||||
{
|
||||
const ConcreteParasiticResistor *cdevice =
|
||||
static_cast<const ConcreteParasiticResistor*>(device);
|
||||
node1 = cdevice->node1();
|
||||
node2 = cdevice->node2();
|
||||
const ConcreteParasiticDevice *cdevice =
|
||||
static_cast<const ConcreteParasiticDevice*>(device);
|
||||
return cdevice->node1();
|
||||
}
|
||||
|
||||
ParasiticNode *
|
||||
ConcreteParasitics::node2(const ParasiticDevice *device) const
|
||||
{
|
||||
const ConcreteParasiticDevice *cdevice =
|
||||
static_cast<const ConcreteParasiticDevice*>(device);
|
||||
return cdevice->node2();
|
||||
}
|
||||
|
||||
ParasiticNode *
|
||||
|
||||
@@ -175,10 +175,8 @@ public:
|
||||
virtual const char *name(const ParasiticDevice *device) const;
|
||||
virtual float value(const ParasiticDevice *device,
|
||||
const ParasiticAnalysisPt *ap) const;
|
||||
virtual void resistorNodes(const ParasiticDevice *device,
|
||||
// Return values.
|
||||
ParasiticNode *&node1,
|
||||
ParasiticNode *&node2) const;
|
||||
virtual ParasiticNode *node1(const ParasiticDevice *device) const;
|
||||
virtual ParasiticNode *node2(const ParasiticDevice *device) const;
|
||||
virtual ParasiticNode *otherNode(const ParasiticDevice *device,
|
||||
ParasiticNode *node) const;
|
||||
|
||||
|
||||
@@ -299,6 +299,8 @@ public:
|
||||
virtual bool isCouplingCap() const { return false; }
|
||||
const char *name() const { return name_; }
|
||||
float value() const { return value_; }
|
||||
ConcreteParasiticNode *node1() const { return node_; }
|
||||
virtual ConcreteParasiticNode *node2() const = 0;
|
||||
virtual ParasiticNode *otherNode(ParasiticNode *node) const = 0;
|
||||
virtual void replaceNode(ConcreteParasiticNode *from_node,
|
||||
ConcreteParasiticNode *to_node) = 0;
|
||||
@@ -319,11 +321,10 @@ public:
|
||||
ConcreteParasiticNode *other_node,
|
||||
float res);
|
||||
virtual bool isResistor() const { return true; }
|
||||
virtual ConcreteParasiticNode *node2() const { return other_node_; }
|
||||
virtual ParasiticNode *otherNode(ParasiticNode *node) const;
|
||||
virtual void replaceNode(ConcreteParasiticNode *from_node,
|
||||
ConcreteParasiticNode *to_node);
|
||||
ConcreteParasiticNode *node1() const { return node_; }
|
||||
ConcreteParasiticNode *node2() const { return other_node_; }
|
||||
|
||||
private:
|
||||
ConcreteParasiticNode *other_node_;
|
||||
@@ -337,6 +338,7 @@ public:
|
||||
ConcreteParasiticNode *node,
|
||||
float cap);
|
||||
virtual bool isCouplingCap() const { return true; }
|
||||
virtual ConcreteParasiticNode *node2() const { return NULL; }
|
||||
virtual void replaceNode(ConcreteParasiticNode *from_node,
|
||||
ConcreteParasiticNode *to_node);
|
||||
};
|
||||
@@ -349,6 +351,7 @@ public:
|
||||
ConcreteParasiticNode *other_node,
|
||||
float cap);
|
||||
virtual bool isCouplingCap() const { return true; }
|
||||
virtual ConcreteParasiticNode *node2() const { return other_node_; }
|
||||
virtual ParasiticNode *otherNode(ParasiticNode *node) const;
|
||||
virtual void replaceNode(ConcreteParasiticNode *from_node,
|
||||
ConcreteParasiticNode *to_node);
|
||||
|
||||
@@ -424,12 +424,16 @@ NullParasitics::value(const ParasiticDevice *,
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
void
|
||||
NullParasitics::resistorNodes(const ParasiticDevice *,
|
||||
// Return values.
|
||||
ParasiticNode *&,
|
||||
ParasiticNode *&) const
|
||||
ParasiticNode *
|
||||
NullParasitics::node1(const ParasiticDevice *) const
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ParasiticNode *
|
||||
NullParasitics::node2(const ParasiticDevice *) const
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ParasiticNode *
|
||||
|
||||
@@ -164,10 +164,8 @@ public:
|
||||
virtual const char *name(const ParasiticDevice *device) const;
|
||||
virtual float value(const ParasiticDevice *device,
|
||||
const ParasiticAnalysisPt *ap) const;
|
||||
virtual void resistorNodes(const ParasiticDevice *device,
|
||||
// Return values.
|
||||
ParasiticNode *&node1,
|
||||
ParasiticNode *&node2) const;
|
||||
virtual ParasiticNode *node1(const ParasiticDevice *device) const;
|
||||
virtual ParasiticNode *node2(const ParasiticDevice *device) const;
|
||||
virtual ParasiticNode *otherNode(const ParasiticDevice *device,
|
||||
ParasiticNode *node) const;
|
||||
// Reduce parasitic network to reduce_to model.
|
||||
|
||||
@@ -248,10 +248,8 @@ public:
|
||||
// Device "value" (resistance, capacitance).
|
||||
virtual float value(const ParasiticDevice *device,
|
||||
const ParasiticAnalysisPt *ap) const = 0;
|
||||
virtual void resistorNodes(const ParasiticDevice *device,
|
||||
// Return values.
|
||||
ParasiticNode *&node1,
|
||||
ParasiticNode *&node2) const = 0;
|
||||
virtual ParasiticNode *node1(const ParasiticDevice *device) const = 0;
|
||||
virtual ParasiticNode *node2(const ParasiticDevice *device) const = 0;
|
||||
virtual ParasiticNode *otherNode(const ParasiticDevice *device,
|
||||
ParasiticNode *node) const = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user