Bug in Instance::getClone() generating unplaced copies.

* Bug: In Hurricane, in Instance::getClone(), the Instance::create()
    was called with a wrong number of parameters, causing the the
    wrong overload to be called. The position was thus not copied
    generating an unplaced copy. This was causing error in the
    AM2901/datapath bench, because fixed blocks where becoming
    unfixed.
* Bug: In <bootstrap>, in coriolisEnv (again) an error in the
    detection of the LD_LIBRARY_PATH.
This commit is contained in:
Jean-Paul Chaput 2015-06-14 15:24:34 +02:00
parent d769fafe92
commit e9369ab905
2 changed files with 3 additions and 2 deletions

View File

@ -116,7 +116,7 @@ def guessOs ():
print " (using: \"%s\")" % osType print " (using: \"%s\")" % osType
ldLibraryPath = os.getenv('LD_LIBRARY_PATH') ldLibraryPath = os.getenv('LD_LIBRARY_PATH')
if 'devtoolset' in ldLibraryPath: useDevtoolset2 = False if ldLibraryPath and 'devtoolset' in ldLibraryPath: useDevtoolset2 = False
if libDir == 'lib64' and not os.path.exists('/usr/lib64'): if libDir == 'lib64' and not os.path.exists('/usr/lib64'):
libDir = 'lib' libDir = 'lib'

View File

@ -468,10 +468,11 @@ Instance* Instance::getClone(Cell* cloneCell) const
Instance* clone = Instance::create( cloneCell Instance* clone = Instance::create( cloneCell
, getName() , getName()
, getMasterCell() , getMasterCell()
, getTransformation()
, getPlacementStatus() , getPlacementStatus()
); );
forEach( Plug*, iplug, getPlugs() ) { for( Plug* iplug : getPlugs() ) {
if (iplug->isConnected()) { if (iplug->isConnected()) {
Plug* clonePlug = clone->getPlug( iplug->getMasterNet() ); Plug* clonePlug = clone->getPlug( iplug->getMasterNet() );
Net* cloneNet = cloneCell->getNet( iplug->getNet()->getName() ); Net* cloneNet = cloneCell->getNet( iplug->getNet()->getName() );