update engine.py

This commit is contained in:
daitoto 2021-11-25 13:18:51 +08:00 committed by GitHub
parent 9c4cf965a6
commit 5636b67a6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 23 deletions

View File

@ -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