Disable tie cell insertion in EtesianEngine::toHurricane().
* Change: In Etesianengine::toHurricane(), no longer call interTies(). This *should* no longer be needed as almost all standard cells (SxLib & FlexLib) already contains polarisation contacts. So do not need to disturb the placement. Secondly, in presence of a H-Tree, when there is not enough space to insert a sufficient number of tie cell, the lefmost one in the sub-row is shifted to left, overlaping the H-Tree buffer cells. This is a bug (even signaled by a warning). But as this part is disabled, I won't correct it soon...
This commit is contained in:
parent
e80df4538d
commit
5343f9c98b
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
#include "hurricane/Error.h"
|
#include "hurricane/Error.h"
|
||||||
#include "hurricane/Warning.h"
|
#include "hurricane/Warning.h"
|
||||||
|
#include "hurricane/Breakpoint.h"
|
||||||
#include "hurricane/DataBase.h"
|
#include "hurricane/DataBase.h"
|
||||||
#include "hurricane/DebugSession.h"
|
#include "hurricane/DebugSession.h"
|
||||||
#include "hurricane/UpdateSession.h"
|
#include "hurricane/UpdateSession.h"
|
||||||
|
@ -35,8 +36,9 @@ namespace Etesian {
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::Warning;
|
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
using Hurricane::Warning;
|
||||||
|
using Hurricane::Breakpoint;
|
||||||
using Hurricane::Path;
|
using Hurricane::Path;
|
||||||
using Hurricane::Transformation;
|
using Hurricane::Transformation;
|
||||||
using Hurricane::DataBase;
|
using Hurricane::DataBase;
|
||||||
|
@ -738,6 +740,8 @@ namespace Etesian {
|
||||||
|
|
||||||
void EtesianEngine::toHurricane ()
|
void EtesianEngine::toHurricane ()
|
||||||
{
|
{
|
||||||
|
Breakpoint::stop( 101, "EtesianEngine::toHurricane() called." );
|
||||||
|
|
||||||
if (not getFeedCells().feedNumbers()) {
|
if (not getFeedCells().feedNumbers()) {
|
||||||
cerr << Warning( "EtesianEngine::readSlices(): No feed cells available, skipping." ) << endl;
|
cerr << Warning( "EtesianEngine::readSlices(): No feed cells available, skipping." ) << endl;
|
||||||
return;
|
return;
|
||||||
|
@ -813,6 +817,7 @@ namespace Etesian {
|
||||||
|
|
||||||
_area->buildSubSlices();
|
_area->buildSubSlices();
|
||||||
_area->showSubSlices();
|
_area->showSubSlices();
|
||||||
|
#if DISABLED_TIE_INSERTION
|
||||||
if (getConfiguration()->getLatchUpDistance()) {
|
if (getConfiguration()->getLatchUpDistance()) {
|
||||||
Cell* feed = getFeedCells().getBiggestFeed();
|
Cell* feed = getFeedCells().getBiggestFeed();
|
||||||
DbU::Unit tieSpacing = getConfiguration()->getLatchUpDistance()*2 - feed->getAbutmentBox().getWidth();
|
DbU::Unit tieSpacing = getConfiguration()->getLatchUpDistance()*2 - feed->getAbutmentBox().getWidth();
|
||||||
|
@ -820,12 +825,15 @@ namespace Etesian {
|
||||||
tieSpacing -= feed->getAbutmentBox().getWidth();
|
tieSpacing -= feed->getAbutmentBox().getWidth();
|
||||||
_area->insertTies( tieSpacing );
|
_area->insertTies( tieSpacing );
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
_area->addFeeds();
|
_area->addFeeds();
|
||||||
|
|
||||||
UpdateSession::close();
|
UpdateSession::close();
|
||||||
//DebugSession::close();
|
//DebugSession::close();
|
||||||
|
|
||||||
if (_viewer) _viewer->getCellWidget()->refresh();
|
if (_viewer) _viewer->getCellWidget()->refresh();
|
||||||
|
|
||||||
|
Breakpoint::stop( 101, "EtesianEngine::toHurricane() finished." );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue