Enable P&R command line options in graphic mode
This commit is contained in:
parent
26184c5016
commit
2ea099afec
|
@ -191,54 +191,53 @@ if __name__ == '__main__':
|
||||||
unicorn.setLayerVisible ("text.instance" , False);
|
unicorn.setLayerVisible ("text.instance" , False);
|
||||||
unicorn.setLayerVisible ("text.component", False);
|
unicorn.setLayerVisible ("text.component", False);
|
||||||
|
|
||||||
if options.script:
|
if options.script:
|
||||||
runScript(options.script,unicorn)
|
runScript(options.script,unicorn)
|
||||||
|
|
||||||
|
# Run in command line mode.
|
||||||
|
if options.script: runScript(options.script,None)
|
||||||
|
|
||||||
|
kiteSuccess = True
|
||||||
|
|
||||||
|
if runEtesianTool:
|
||||||
|
etesian = Etesian.EtesianEngine.create(cell)
|
||||||
|
#if options.showConf: etesian.printConfiguration()
|
||||||
|
etesian.place()
|
||||||
|
|
||||||
|
if detailRoute and not (loadGlobal or globalRoute): globalRoute = True
|
||||||
|
runKiteTool = loadGlobal or globalRoute or detailRoute
|
||||||
|
|
||||||
|
if useKatana and runKiteTool:
|
||||||
|
runKiteTool = False
|
||||||
|
|
||||||
|
katana = Katana.KatanaEngine.create( cell )
|
||||||
|
#katana.printConfiguration ()
|
||||||
|
katana.digitalInit ()
|
||||||
|
#katana.runNegociatePreRouted()
|
||||||
|
katana.runGlobalRouter ( Katana.Flags.NoFlags )
|
||||||
|
katana.loadGlobalRouting ( Anabatic.EngineLoadGrByNet )
|
||||||
|
katana.layerAssign ( Anabatic.EngineNoNetLayerAssign )
|
||||||
|
katana.runNegociate ( Katana.Flags.NoFlags )
|
||||||
|
kiteSuccess = katana.isDetailedRoutingSuccess()
|
||||||
|
#katana.finalizeLayout()
|
||||||
|
katana.destroy()
|
||||||
|
|
||||||
|
if options.saveDesign:
|
||||||
|
views = CRL.Catalog.State.Physical
|
||||||
|
if options.vstUseConcat: views |= CRL.Catalog.State.VstUseConcat
|
||||||
|
if options.saveDesign != cell.getName():
|
||||||
|
cell.setName(options.saveDesign)
|
||||||
|
views |= CRL.Catalog.State.Logical
|
||||||
|
af.saveCell(cell, views)
|
||||||
|
|
||||||
|
if not options.textMode:
|
||||||
setCgtBanner(unicorn.getBanner())
|
setCgtBanner(unicorn.getBanner())
|
||||||
#print( unicorn.getBanner() )
|
|
||||||
#print( credits() )
|
|
||||||
|
|
||||||
if cell: unicorn.setCell(cell)
|
if cell: unicorn.setCell(cell)
|
||||||
unicorn.show()
|
unicorn.show()
|
||||||
ha.qtExec()
|
ha.qtExec()
|
||||||
else:
|
else:
|
||||||
# Run in command line mode.
|
sys.exit(not kiteSuccess)
|
||||||
if options.script: runScript(options.script,None)
|
|
||||||
|
|
||||||
kiteSuccess = True
|
|
||||||
|
|
||||||
if runEtesianTool:
|
|
||||||
etesian = Etesian.EtesianEngine.create(cell)
|
|
||||||
#if options.showConf: etesian.printConfiguration()
|
|
||||||
etesian.place()
|
|
||||||
|
|
||||||
if detailRoute and not (loadGlobal or globalRoute): globalRoute = True
|
|
||||||
runKiteTool = loadGlobal or globalRoute or detailRoute
|
|
||||||
|
|
||||||
if useKatana and runKiteTool:
|
|
||||||
runKiteTool = False
|
|
||||||
|
|
||||||
katana = Katana.KatanaEngine.create( cell )
|
|
||||||
#katana.printConfiguration ()
|
|
||||||
katana.digitalInit ()
|
|
||||||
#katana.runNegociatePreRouted()
|
|
||||||
katana.runGlobalRouter ( Katana.Flags.NoFlags )
|
|
||||||
katana.loadGlobalRouting ( Anabatic.EngineLoadGrByNet )
|
|
||||||
katana.layerAssign ( Anabatic.EngineNoNetLayerAssign )
|
|
||||||
katana.runNegociate ( Katana.Flags.NoFlags )
|
|
||||||
kiteSuccess = katana.isDetailedRoutingSuccess()
|
|
||||||
#katana.finalizeLayout()
|
|
||||||
katana.destroy()
|
|
||||||
|
|
||||||
if options.saveDesign:
|
|
||||||
views = CRL.Catalog.State.Physical
|
|
||||||
if options.vstUseConcat: views |= CRL.Catalog.State.VstUseConcat
|
|
||||||
if options.saveDesign != cell.getName():
|
|
||||||
cell.setName(options.saveDesign)
|
|
||||||
views |= CRL.Catalog.State.Logical
|
|
||||||
af.saveCell(cell, views)
|
|
||||||
|
|
||||||
sys.exit(not kiteSuccess)
|
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
helpers.io.showPythonTrace( sys.argv[0], e )
|
helpers.io.showPythonTrace( sys.argv[0], e )
|
||||||
|
|
Loading…
Reference in New Issue