mirror of https://github.com/efabless/caravel.git
66 lines
3.0 KiB
Python
66 lines
3.0 KiB
Python
import os
|
|
import shutil
|
|
|
|
openlane_folder = './'
|
|
signoff_folder = '../signoff'
|
|
|
|
# macro_folders = os.listdir(openlane_folder)
|
|
macro_folders = ['caravan_core']
|
|
|
|
# iterate over each macro folder
|
|
for macro_folder in macro_folders:
|
|
if os.path.isdir(macro_folder):
|
|
## deleting old openlane-signoff
|
|
openlane_signoff_folder = os.path.join(signoff_folder, macro_folder, 'openlane-signoff')
|
|
for the_file in os.listdir(openlane_signoff_folder):
|
|
file_path = os.path.join(openlane_signoff_folder, the_file)
|
|
try:
|
|
if os.path.isfile(file_path):
|
|
os.unlink(file_path)
|
|
elif os.path.isdir(file_path):
|
|
shutil.rmtree(file_path)
|
|
print("Deleting ", file_path)
|
|
except Exception as e:
|
|
print(e)
|
|
# os.remove(os.path.join(root, file))
|
|
|
|
last_run_folder = os.path.join(openlane_folder, macro_folder, 'runs', macro_folder)
|
|
files_in_last_run = os.listdir(last_run_folder)
|
|
## copying summary files
|
|
for file in files_in_last_run:
|
|
file_path = os.path.join(last_run_folder, file)
|
|
if os.path.isfile(file_path):
|
|
destination = os.path.join(signoff_folder, macro_folder, file)
|
|
print("Copying ", file_path, " into ", destination)
|
|
shutil.copyfile(file_path, destination)
|
|
|
|
reports_folder = os.path.join(last_run_folder, 'reports')
|
|
reports_folder_files = os.listdir(reports_folder)
|
|
for file in reports_folder_files:
|
|
file_path = os.path.join(reports_folder, file)
|
|
if os.path.isfile(file_path):
|
|
destination = os.path.join(signoff_folder, macro_folder, file)
|
|
print("Copying ", file_path, " into ", destination)
|
|
shutil.copyfile(file_path, destination)
|
|
|
|
## copying signoff reports
|
|
signoff_reports_folder = os.path.join(last_run_folder, 'reports', 'signoff')
|
|
signoff_reports_folder_files = os.listdir(signoff_reports_folder)
|
|
for file in signoff_reports_folder_files:
|
|
file_path = os.path.join(signoff_reports_folder, file)
|
|
if os.path.isfile(file_path):
|
|
destination = os.path.join(signoff_folder, macro_folder, 'openlane-signoff', file)
|
|
print("Copying ", file_path, " into ", destination)
|
|
shutil.copy(file_path, destination)
|
|
|
|
## copying spef and sdf
|
|
spef_folder = os.path.join(last_run_folder, 'results', 'routing', 'mca', 'spef')
|
|
destination = os.path.join(signoff_folder, macro_folder, 'openlane-signoff', 'spef')
|
|
print("Copying ", spef_folder, " into ", destination)
|
|
shutil.copytree(spef_folder, destination)
|
|
|
|
sdf_folder = os.path.join(last_run_folder, 'results', 'routing', 'mca', 'sdf')
|
|
destination = os.path.join(signoff_folder, macro_folder, 'openlane-signoff', 'sdf')
|
|
print("Copying ", sdf_folder, " into ", destination)
|
|
shutil.copytree(sdf_folder, destination)
|