Source code for piel.tools.openlane.parse.run_output

from ....file_system import return_path, get_files_recursively_in_directory

__all__ = [
    "filter_timing_sta_files",
    "filter_power_sta_files",
    "get_all_timing_sta_files",
    "get_all_power_sta_files",
]


[docs] def filter_timing_sta_files(file_list): """ Filter the timing sta files from the list of files Args: file_list (list): List containing the file paths Returns: timing_sta_files (list): List containing the timing sta files """ timing_sta_files = [] for file_path in file_list: if file_path.endswith(("sta.rpt", "sta.min.rpt", "sta.max.rpt")): timing_sta_files.append(file_path) return timing_sta_files
[docs] def filter_power_sta_files(file_list): """ Filter the power sta files from the list of files Args: file_list (list): List containing the file paths Returns: power_sta_files (list): List containing the power sta files """ power_sta_files = [] for file_path in file_list: if file_path.endswith(("power.rpt")): power_sta_files.append(file_path) return power_sta_files
[docs] def get_all_timing_sta_files(run_directory): """ This function aims to list and perform analysis on all the relevant files in a particular run between all the corners. Args: run_directory (str, optional): The run directory to perform the analysis on. Defaults to None. Returns: timing_sta_files_list (list): List of all the .rpt files in the run directory. """ run_directory = return_path(run_directory) all_rpt_files_list = get_files_recursively_in_directory(run_directory, "rpt") timing_sta_files_list = filter_timing_sta_files(all_rpt_files_list) return timing_sta_files_list
[docs] def get_all_power_sta_files(run_directory): """ This function aims to list and perform analysis on all the relevant files in a particular run between all the corners. Args: run_directory (str, optional): The run directory to perform the analysis on. Defaults to None. Returns: power_sta_files_list (list): List of all the .rpt files in the run directory. """ run_directory = return_path(run_directory) all_rpt_files_list = get_files_recursively_in_directory(run_directory, "rpt") power_sta_files_list = filter_power_sta_files(all_rpt_files_list) return power_sta_files_list