Default stratus1.mappingName was not set correctly.

* Bug: In CRL.python.coriolisInit(), when it's not set, the stratus1.mappingName
    configuration variable is equal to "" and *not* "not_set".
* Bug: In Etesian::EtesianEngine::toColoquinte(), followup of the previous
    bug, bad FIXED/PLACED test when the AB is set.
This commit is contained in:
Jean-Paul Chaput 2016-12-07 12:21:40 +01:00
parent 184cf77d0f
commit b2e955185b
6 changed files with 9 additions and 19 deletions

View File

@ -160,7 +160,7 @@ def coriolisConfigure():
#sys.stdout.write(CRL.AllianceFramework.get().getEnvironment().getPrint())
if Cfg.getParamString('stratus1.mappingName').asString() == 'not_set':
if not Cfg.getParamString('stratus1.mappingName').asString():
vendorTech = helpers.realTechno.split('/')[-1]
mappingFile = os.path.join( helpers.realDir, 'stratus.xml' )
if not os.path.isfile(mappingFile):

View File

@ -1,14 +0,0 @@
import Cfg
print " - Loading Stratus 1 configuration."
# Status1 parameters.
Cfg.getParamString("stratus1.mappingName").setString ("./stratus2sxlib.xml" )
Cfg.getParamString("stratus1.mappingName").flags |= Cfg.Parameter.Flags.NeedRestart|Cfg.Parameter.Flags.MustExist
# Stratus1 tab layout.
layout = Cfg.Configuration.get().getLayout()
layout.addTab ( "Stratus1", "stratus1" )
layout.addTitle ( "Stratus1", "Stratus1 - Netlist & Layout Capture" )
layout.addParameter ( "Stratus1", "stratus1.mappingName", "Virtual Library Translation", 0, 2 )

View File

@ -468,8 +468,8 @@ namespace Etesian {
Cell* masterCell = instance->getMasterCell();
if (not masterCell->getAbutmentBox().isEmpty()
and ( (instance->getPlacementStatus() != Instance::PlacementStatus::PLACED)
or (instance->getPlacementStatus() != Instance::PlacementStatus::FIXED ) ) ) {
and (instance->getPlacementStatus() != Instance::PlacementStatus::PLACED)
and (instance->getPlacementStatus() != Instance::PlacementStatus::FIXED ) ) {
throw Error( "EtesianEngine::toColoquinte(): Non-leaf instance \"%s\" of \"%s\" has an abutment box but is *not* placed."
, getString(instance ->getName()).c_str()
, getString(masterCell->getName()).c_str()

View File

@ -77,7 +77,7 @@ extern "C" {
PyMethodDef PyEntity_Methods[] =
{ { "getCell" , (PyCFunction)PyEntity_getCell , METH_NOARGS , "Returns the entity cell." }
, { "destroy" , (PyCFunction)PyEntity_destroy , METH_NOARGS
, { "destroy" , (PyCFunction)PyEntity_destroy , METH_NOARGS
, "Destroy associated hurricane object, the python object remains." }
, {NULL, NULL, 0, NULL} /* sentinel */
};

View File

@ -55,6 +55,8 @@ def InitBV () :
myP = InitParser()
mapping = Cfg.getParamString('stratus1.mappingName').asString()
if not mapping:
print '[ERROR] \"stratus1.mappingName\" configuration variable has not been set.'
myP.Parse ( mapping )
return

View File

@ -47,7 +47,7 @@
# x-----------------------------------------------------------------x
import xml.parsers.expat
import re, types
import re, types, os.path
BV = []
BVg = []
@ -165,6 +165,8 @@ class InitParser :
# Parsing a file
################
def Parse ( self, nameFile ) :
if not os.path.isfile(nameFile):
print '[ERROR] Parser.Parse(): stratus1.mappingName (\"%s\") file not found.' % nameFile
self._p.ParseFile ( open ( nameFile, "r" ) )
# Given the tab of the name of the cells, contruction of a tab giving the name of the generators (first letter uppered)