More meaningful names in Anabatic::NetBuilder. Use of isTwoMetals().
This commit is contained in:
parent
f87bcf717c
commit
a75c77626c
|
@ -192,6 +192,7 @@ namespace Anabatic {
|
||||||
, _routingPadAutoSegments()
|
, _routingPadAutoSegments()
|
||||||
, _toFixSegments ()
|
, _toFixSegments ()
|
||||||
, _degree (0)
|
, _degree (0)
|
||||||
|
, _isTwoMetals (false)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
|
||||||
|
@ -226,12 +227,13 @@ namespace Anabatic {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NetBuilder& NetBuilder::startFrom ( AnabaticEngine* anbt, Hook* fromHook, AutoContact* sourceContact )
|
NetBuilder& NetBuilder::setStartHook ( AnabaticEngine* anbt, Hook* fromHook, AutoContact* sourceContact )
|
||||||
{
|
{
|
||||||
clear();
|
clear();
|
||||||
|
|
||||||
_sourceContact = sourceContact;
|
_isTwoMetals = anbt->getConfiguration()->isTwoMetals();
|
||||||
_fromHook = fromHook;
|
_sourceContact = sourceContact;
|
||||||
|
_fromHook = fromHook;
|
||||||
|
|
||||||
cdebug_log(145,1) << "NetBuilder::NetBuilder()" << endl;
|
cdebug_log(145,1) << "NetBuilder::NetBuilder()" << endl;
|
||||||
cdebug_log(145,0) << "* _fromHook: " << fromHook << endl;
|
cdebug_log(145,0) << "* _fromHook: " << fromHook << endl;
|
||||||
|
@ -381,13 +383,13 @@ namespace Anabatic {
|
||||||
{
|
{
|
||||||
cdebug_log(145,1) << "NetBuilder::construct() [" << _connexity.connexity << "] in " << _gcell << endl;
|
cdebug_log(145,1) << "NetBuilder::construct() [" << _connexity.connexity << "] in " << _gcell << endl;
|
||||||
|
|
||||||
if (_gcell->isMatrix()) {
|
if (not isTwoMetals()) {
|
||||||
_southWestContact = NULL;
|
_southWestContact = NULL;
|
||||||
_northEastContact = NULL;
|
_northEastContact = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (not _gcell->isAnalog()) {
|
if (not _gcell->isAnalog()) {
|
||||||
if (not _gcell->isMatrix() and not _sourceContact) _fromHook = NULL;
|
if (isTwoMetals() and not _sourceContact) _fromHook = NULL;
|
||||||
|
|
||||||
switch ( _connexity.connexity ) {
|
switch ( _connexity.connexity ) {
|
||||||
case Conn_1G_1Pad:
|
case Conn_1G_1Pad:
|
||||||
|
@ -2044,7 +2046,7 @@ namespace Anabatic {
|
||||||
++connecteds;
|
++connecteds;
|
||||||
segmentFound = true;
|
segmentFound = true;
|
||||||
|
|
||||||
startFrom( anabatic, hook, NULL );
|
setStartHook( anabatic, hook, NULL );
|
||||||
if (getStateG() == 1) {
|
if (getStateG() == 1) {
|
||||||
if ( (lowestGCell == NULL) or (*getGCell() < *lowestGCell) ) {
|
if ( (lowestGCell == NULL) or (*getGCell() < *lowestGCell) ) {
|
||||||
cdebug_log(145,0) << "Potential starting GCell " << getGCell() << endl;
|
cdebug_log(145,0) << "Potential starting GCell " << getGCell() << endl;
|
||||||
|
@ -2072,9 +2074,9 @@ namespace Anabatic {
|
||||||
}
|
}
|
||||||
cdebug_tabw(145,-1);
|
cdebug_tabw(145,-1);
|
||||||
|
|
||||||
if (startHook == NULL) { startFrom(anabatic,NULL,NULL).singleGCell(anabatic,net); cdebug_tabw(145,-1); return; }
|
if (startHook == NULL) { setStartHook(anabatic,NULL,NULL).singleGCell(anabatic,net); cdebug_tabw(145,-1); return; }
|
||||||
|
|
||||||
startFrom( anabatic, startHook, NULL );
|
setStartHook( anabatic, startHook, NULL );
|
||||||
cdebug_log(145,0) << endl;
|
cdebug_log(145,0) << endl;
|
||||||
cdebug_log(145,0) << "--------~~~~=={o}==~~~~--------" << endl;
|
cdebug_log(145,0) << "--------~~~~=={o}==~~~~--------" << endl;
|
||||||
cdebug_log(145,0) << endl;
|
cdebug_log(145,0) << endl;
|
||||||
|
@ -2086,7 +2088,7 @@ namespace Anabatic {
|
||||||
_forks.pop();
|
_forks.pop();
|
||||||
|
|
||||||
while ( sourceHook ) {
|
while ( sourceHook ) {
|
||||||
startFrom( anabatic, sourceHook, sourceContact );
|
setStartHook( anabatic, sourceHook, sourceContact );
|
||||||
construct();
|
construct();
|
||||||
|
|
||||||
sourceHook = _forks.getFrom();
|
sourceHook = _forks.getFrom();
|
||||||
|
|
|
@ -141,10 +141,11 @@ namespace Anabatic {
|
||||||
NetBuilder ();
|
NetBuilder ();
|
||||||
virtual ~NetBuilder ();
|
virtual ~NetBuilder ();
|
||||||
void clear ();
|
void clear ();
|
||||||
|
inline bool isTwoMetals () const;
|
||||||
inline unsigned int getDegree () const;
|
inline unsigned int getDegree () const;
|
||||||
inline void setDegree ( unsigned int degree );
|
inline void setDegree ( unsigned int degree );
|
||||||
void fixSegments ();
|
void fixSegments ();
|
||||||
NetBuilder& startFrom ( AnabaticEngine*
|
NetBuilder& setStartHook ( AnabaticEngine*
|
||||||
, Hook* fromHook
|
, Hook* fromHook
|
||||||
, AutoContact* sourceContact=NULL );
|
, AutoContact* sourceContact=NULL );
|
||||||
void construct ();
|
void construct ();
|
||||||
|
@ -308,6 +309,7 @@ namespace Anabatic {
|
||||||
map<Component*,AutoSegment*> _routingPadAutoSegments;
|
map<Component*,AutoSegment*> _routingPadAutoSegments;
|
||||||
vector<AutoSegment*> _toFixSegments;
|
vector<AutoSegment*> _toFixSegments;
|
||||||
unsigned int _degree;
|
unsigned int _degree;
|
||||||
|
bool _isTwoMetals;
|
||||||
|
|
||||||
// Sort classes.
|
// Sort classes.
|
||||||
public:
|
public:
|
||||||
|
@ -345,6 +347,7 @@ namespace Anabatic {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
inline bool NetBuilder::isTwoMetals () const { return _isTwoMetals; }
|
||||||
inline unsigned int NetBuilder::getDegree () const { return _degree; }
|
inline unsigned int NetBuilder::getDegree () const { return _degree; }
|
||||||
inline NetBuilder::UConnexity NetBuilder::getConnexity () const { return _connexity; }
|
inline NetBuilder::UConnexity NetBuilder::getConnexity () const { return _connexity; }
|
||||||
inline NetBuilder::UConnexity& NetBuilder::getConnexity () { return _connexity; }
|
inline NetBuilder::UConnexity& NetBuilder::getConnexity () { return _connexity; }
|
||||||
|
|
Loading…
Reference in New Issue