In Katana::protectRoutingPad(), check that the RP is not still on the Plug.
This commit is contained in:
parent
a2665b6e3a
commit
d9b14d680a
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <list>
|
#include <list>
|
||||||
|
#include "hurricane/Error.h"
|
||||||
#include "hurricane/DebugSession.h"
|
#include "hurricane/DebugSession.h"
|
||||||
#include "hurricane/DataBase.h"
|
#include "hurricane/DataBase.h"
|
||||||
#include "hurricane/Technology.h"
|
#include "hurricane/Technology.h"
|
||||||
|
@ -43,6 +44,7 @@
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
using Hurricane::Error;
|
||||||
using Hurricane::DebugSession;
|
using Hurricane::DebugSession;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::ForEachIterator;
|
using Hurricane::ForEachIterator;
|
||||||
|
@ -55,6 +57,7 @@ namespace {
|
||||||
using Hurricane::RegularLayer;
|
using Hurricane::RegularLayer;
|
||||||
using Hurricane::Horizontal;
|
using Hurricane::Horizontal;
|
||||||
using Hurricane::Vertical;
|
using Hurricane::Vertical;
|
||||||
|
using Hurricane::Plug;
|
||||||
using Hurricane::Transformation;
|
using Hurricane::Transformation;
|
||||||
using Hurricane::RoutingPad;
|
using Hurricane::RoutingPad;
|
||||||
using Hurricane::Occurrence;
|
using Hurricane::Occurrence;
|
||||||
|
@ -78,6 +81,14 @@ namespace {
|
||||||
Net* masterNet = usedComponent->getNet();
|
Net* masterNet = usedComponent->getNet();
|
||||||
Transformation transformation = path.getTransformation();
|
Transformation transformation = path.getTransformation();
|
||||||
|
|
||||||
|
if (dynamic_cast<Plug*>(usedComponent)) {
|
||||||
|
cerr << Error( "Katana::protectRoutingPad(): A RoutingPad of \"%s\" is still on it's Plug.\n"
|
||||||
|
" (%s)"
|
||||||
|
, getString(rp->getNet()->getName()).c_str()
|
||||||
|
, getString(usedComponent).c_str()
|
||||||
|
) << endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (Session::getRoutingGauge()->getLayerType(usedComponent->getLayer()) == Constant::PinOnly) {
|
if (Session::getRoutingGauge()->getLayerType(usedComponent->getLayer()) == Constant::PinOnly) {
|
||||||
cdebug_tabw(145,-1);
|
cdebug_tabw(145,-1);
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue