Use local temp DRC/LVS rules file for running.

This commit is contained in:
mrg 2021-09-20 11:06:27 -07:00
parent f2882782e7
commit fe077e79d5
2 changed files with 35 additions and 31 deletions

View File

@ -34,11 +34,12 @@ def write_drc_script(cell_name, gds_name, extract, final_verification, output_pa
# klayout -b -r drc_FreePDK45.lydrc -rd input=sram_8_256_freepdk45.gds -rd topcell=sram_8_256_freepdk45 -rd output=drc_FreePDK45.lyrdb # klayout -b -r drc_FreePDK45.lydrc -rd input=sram_8_256_freepdk45.gds -rd topcell=sram_8_256_freepdk45 -rd output=drc_FreePDK45.lyrdb
# Copy .lydrc file into the output directory # Copy .lydrc file into the output directory
drc_file = OPTS.openram_tech + "tech/{}.lydrc".format(OPTS.tech_name) full_drc_file = OPTS.openram_tech + "tech/{}.lydrc".format(OPTS.tech_name)
if os.path.exists(drc_file): drc_file = os.path.basename(full_drc_file)
shutil.copy(drc_file, output_path) if os.path.exists(full_drc_file):
shutil.copy(full_drc_file, output_path)
else: else:
debug.warning("Could not locate file: {}".format(drc_file)) debug.warning("Could not locate file: {}".format(full_drc_file))
# Create an auxiliary script to run calibre with the runset # Create an auxiliary script to run calibre with the runset
run_file = output_path + "run_drc.sh" run_file = output_path + "run_drc.sh"
@ -102,11 +103,13 @@ def write_lvs_script(cell_name, gds_name, sp_name, final_verification=False, out
output_path = OPTS.openram_temp output_path = OPTS.openram_temp
# Copy .lylvs file into the output directory # Copy .lylvs file into the output directory
lvs_file = OPTS.openram_tech + "tech/{}.lylvs".format(OPTS.tech_name) full_lvs_file = OPTS.openram_tech + "tech/{}.lylvs".format(OPTS.tech_name)
if os.path.exists(lvs_file): lvs_file = os.path.basename(full_lvs_file)
shutil.copy(lvs_file, output_path)
if os.path.exists(full_lvs_file):
shutil.copy(full_lvs_file, output_path)
else: else:
debug.warning("Could not locate file: {}".format(lvs_file)) debug.warning("Could not locate file: {}".format(full_lvs_file))
run_file = output_path + "/run_lvs.sh" run_file = output_path + "/run_lvs.sh"
f = open(run_file, "w") f = open(run_file, "w")

View File

@ -71,14 +71,14 @@ def write_drc_script(cell_name, gds_name, extract, final_verification, output_pa
global OPTS global OPTS
# Copy .magicrc file into the output directory # Copy .magicrc file into the output directory
magic_file = os.environ.get('OPENRAM_MAGICRC', None) full_magic_file = os.environ.get('OPENRAM_MAGICRC', None)
if not magic_file: if not full_magic_file:
magic_file = OPTS.openram_tech + "tech/.magicrc" full_magic_file = OPTS.openram_tech + "tech/.magicrc"
if os.path.exists(magic_file): if os.path.exists(full_magic_file):
shutil.copy(magic_file, output_path + "/.magicrc") shutil.copy(full_magic_file, output_path + "/.magicrc")
else: else:
debug.warning("Could not locate .magicrc file: {}".format(magic_file)) debug.warning("Could not locate .magicrc file: {}".format(full_magic_file))
run_file = output_path + "run_ext.sh" run_file = output_path + "run_ext.sh"
f = open(run_file, "w") f = open(run_file, "w")
@ -252,13 +252,14 @@ def write_lvs_script(cell_name, gds_name, sp_name, final_verification=False, out
output_path = OPTS.openram_temp output_path = OPTS.openram_temp
# Copy setup.tcl file into the output directory # Copy setup.tcl file into the output directory
setup_file = os.environ.get('OPENRAM_NETGENRC', None) full_setup_file = os.environ.get('OPENRAM_NETGENRC', None)
if not setup_file: if not full_setup_file:
setup_file = OPTS.openram_tech + "tech/setup.tcl" full_setup_file = OPTS.openram_tech + "tech/setup.tcl"
setup_file = os.path.basename(full_setup_file)
if os.path.exists(setup_file): if os.path.exists(full_setup_file):
# Copy setup.tcl file into temp dir # Copy setup.tcl file into temp dir
shutil.copy(setup_file, output_path) shutil.copy(full_setup_file, output_path)
else: else:
setup_file = 'nosetup' setup_file = 'nosetup'