update engine.py
This commit is contained in:
parent
9c4cf965a6
commit
5636b67a6f
33
engine.py
33
engine.py
|
@ -8,7 +8,7 @@ import apps.cds.place as place1
|
||||||
import apps.cds.cts as cts1
|
import apps.cds.cts as cts1
|
||||||
import apps.cds.route as route1
|
import apps.cds.route as route1
|
||||||
import apps.cds.drc as drc1
|
import apps.cds.drc as drc1
|
||||||
import apps.opensource.syn.yosys as syn2
|
import apps.opensource.syn as syn2
|
||||||
|
|
||||||
def run(design, flow):
|
def run(design, flow):
|
||||||
design_name = design.top_name
|
design_name = design.top_name
|
||||||
|
@ -21,18 +21,10 @@ def run(design, flow):
|
||||||
if x[0] == "GenusSynth":
|
if x[0] == "GenusSynth":
|
||||||
script_path = "../scripts/"
|
script_path = "../scripts/"
|
||||||
tmp_op_syn = eval("syn1." + "GenusSynth" + "(design)")
|
tmp_op_syn = eval("syn1." + "GenusSynth" + "(design)")
|
||||||
for param in flow.params_syn:
|
|
||||||
tmp_op_syn.setParams(param[0], param[1])
|
|
||||||
tmp_op_syn.config(design, design_name + "_" + x[1])
|
tmp_op_syn.config(design, design_name + "_" + x[1])
|
||||||
make_file.write("all:\n")
|
make_file.write("all:\n")
|
||||||
make_file.write("\tgenus -legacy_ui -batch -files " + script_path + design_name + "_" + x[1] + ".tcl\n")
|
make_file.write("\tgenus -legacy_ui -batch -files " + script_path + design_name + "_" + x[1] + ".tcl\n")
|
||||||
|
#if x[0] == "OpenROADSynth":
|
||||||
if x[0] == "YosysSynth":
|
|
||||||
script_path = "../scripts/"
|
|
||||||
tmp_op_syn = eval("syn2." + "YosysSynth" + "(design)")
|
|
||||||
tmp_op_syn.config(design, design_name + "_" + x[1])
|
|
||||||
make_file.write("all:\n")
|
|
||||||
make_file.write("\tyosys " + script_path + design_name + "_" + x[1] + ".ys\n")
|
|
||||||
|
|
||||||
if x[0] == "InnovusFloorplan":
|
if x[0] == "InnovusFloorplan":
|
||||||
tmp_op_fp = eval("fp1." + "InnovusFloorplan" + "(design)")
|
tmp_op_fp = eval("fp1." + "InnovusFloorplan" + "(design)")
|
||||||
|
@ -47,11 +39,8 @@ def run(design, flow):
|
||||||
overall_tcl.write('source %s/%s_to_pdn.tcl\n'%(tcl_path, design_name))
|
overall_tcl.write('source %s/%s_to_pdn.tcl\n'%(tcl_path, design_name))
|
||||||
|
|
||||||
if x[0] == "InnovusPlace":
|
if x[0] == "InnovusPlace":
|
||||||
tmp_op_place = eval("place1." + "InnovusPlace" + "(design)")
|
tmp_op_pdn = eval("place1." + "InnovusPlace" + "(design)")
|
||||||
for param in flow.params_place:
|
tmp_op_pdn.config(design, design_name + "_" + x[1])
|
||||||
if param[1] == True:
|
|
||||||
tmp_op_place.setParams(param[0])
|
|
||||||
tmp_op_place.config(design, design_name + "_" + x[1])
|
|
||||||
overall_tcl.write('source %s/%s_to_place.tcl\n'%(tcl_path, design_name))
|
overall_tcl.write('source %s/%s_to_place.tcl\n'%(tcl_path, design_name))
|
||||||
|
|
||||||
if x[0] == "InnovusCTS":
|
if x[0] == "InnovusCTS":
|
||||||
|
@ -61,19 +50,17 @@ def run(design, flow):
|
||||||
|
|
||||||
if x[0] == "InnovusRoute":
|
if x[0] == "InnovusRoute":
|
||||||
tmp_op_route = eval("route1." + "InnovusRoute" + "(design)")
|
tmp_op_route = eval("route1." + "InnovusRoute" + "(design)")
|
||||||
for param in flow.params_route:
|
|
||||||
tmp_op_route.setParams(param[0], param[1])
|
|
||||||
tmp_op_route.config(design, design_name + "_" + x[1])
|
tmp_op_route.config(design, design_name + "_" + x[1])
|
||||||
overall_tcl.write('source %s/%s_to_route.tcl\n'%(tcl_path, design_name))
|
overall_tcl.write('source %s/%s_to_route.tcl\n'%(tcl_path, design_name))
|
||||||
|
overall_tcl.write('set dbgLefDefOutVersion 5.8\ndefOut -floorplan -netlist -routing %s.def\n'%(design_name))
|
||||||
if x[0] == "InnovusDRC":
|
if x[0] == "InnovusDRC":
|
||||||
tmp_op_drc = eval("drc1." + "InnovusDRC" + "(design)")
|
tmp_op_drc = eval("drc1." + "InnovusDRC" + "(design)")
|
||||||
tmp_op_drc.config(design, design_name + "_" + x[1])
|
tmp_op_drc.config(design, design_name + "_" + x[1])
|
||||||
overall_tcl.write('source %s/%s_to_drc.tcl\n'%(tcl_path, design_name))
|
overall_tcl.write('source %s/%s_to_drc.tcl\n'%(tcl_path, design_name))
|
||||||
|
|
||||||
|
|
||||||
#make_file.write("\tinnovus -batch -files " + script_path + "flow.tcl")
|
make_file.write("\tinnovus -batch -files " + script_path + "flow.tcl")
|
||||||
run_path = util.getRunPath(design, "Yosys")
|
run_path = util.getRunPath(design, "Cadence")
|
||||||
os.chdir(run_path)
|
os.chdir(run_path)
|
||||||
print(os.getcwd())
|
print(os.getcwd())
|
||||||
#cmd_clean = 'rm innovus.* genus.*'
|
#cmd_clean = 'rm innovus.* genus.*'
|
||||||
|
@ -81,8 +68,8 @@ def run(design, flow):
|
||||||
#cmd_clean = 'rm -rf fv'
|
#cmd_clean = 'rm -rf fv'
|
||||||
#subprocess.Popen(cmd_clean, shell=True).wait()
|
#subprocess.Popen(cmd_clean, shell=True).wait()
|
||||||
cmd = 'make'
|
cmd = 'make'
|
||||||
#subprocess.Popen(cmd)
|
subprocess.Popen(cmd)
|
||||||
subprocess.Popen(cmd, shell=True).wait()
|
#subprocess.Popen(cmd, shell=True).wait()
|
||||||
|
|
||||||
return design
|
return 0
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue