In stratus.buildModel(), do not always save Logical AND Physical.

* Bug: In stratus.buildModel(), the physical view was always saved, even
    only the logical one was created. Also add the ability to run the
    simulator.
This commit is contained in:
Jean-Paul Chaput 2017-10-30 15:41:26 +01:00
parent c12a50b64b
commit de02cf5685
1 changed files with 10 additions and 7 deletions

View File

@ -67,10 +67,11 @@ except Exception, e:
sys.exit(2)
DoNetlist = 0x0001
DoLayout = 0x0002
DoPattern = 0x0004
DoStop = 0x0008
DoNetlist = 0x00000001
DoLayout = 0x00000002
DoPattern = 0x00000004
DoStop = 0x00000008
RunSimulator = 0x00000010
def buildModel ( moduleName, flags, className=None, modelName=None, parameters={} ):
@ -90,9 +91,9 @@ def buildModel ( moduleName, flags, className=None, modelName=None, parameters={
model.Interface()
saveFlags = 0
if flags & DoNetlist: model.Netlist(); saveFlags |= LOGICAL
if flags & DoLayout: model.Layout (); saveFlags |= PHYSICAL
if flags & DoPattern: model.Pattern()
if flags & DoNetlist: model.Netlist(); saveFlags |= LOGICAL
if flags & DoLayout: model.Layout (); saveFlags |= PHYSICAL
if flags & (DoPattern|RunSimulator): model.Pattern()
stopLevel=0
if flags & DoStop: stopLevel = 1
@ -100,6 +101,8 @@ def buildModel ( moduleName, flags, className=None, modelName=None, parameters={
model.Save(saveFlags)
UpdateSession.close()
if flags & RunSimulator: model.Simul()
except ImportError, e:
module = str(e).split()[-1]