Skip to content

Latest commit

 

History

History
167 lines (96 loc) · 3.3 KB

Classes.md

File metadata and controls

167 lines (96 loc) · 3.3 KB

Class Platform()

Usage:

This class serves as the OpenSIPI platform. It takes input info, parses them into scripts to automate S-para extraction, processes results and generates a report.

Inputs:

  • input_info: dict, input related information

    Keys:

    input_type: str, input file type. "csv" or "gsheet".

    input_dir: str, directory of input csv files. This key is mandatory if input_type = "csv".

    input_folder: str, folder name of the input csv files, the specified folder contains the required input info for a specific extraction type like PDN, LSIO, HSIO etc. This key is mandatory if input_type = "csv".

    op_run_name: [optional], str, the time stamp of the "Run" folder. It should be omitted or assigned empty string by default. Each time an extraction starts, a folder called "Run_(time stamp)" is created automatically. In order to hack into an existing Run folder, set the existing time stamp to this key.

Example:

input_info = {
    "input_dir": r"C:\SIPIProj\Olympus\Sim_Input" + "\\",
    "input_type": "csv",
    "input_folder": "Sigrity_PDN",
    "op_run_name": "",
}

pf = Platform(input_info)

Methods

  • drop_dsn_file()

Usage:

The platform requests the user to drop a design file to an automatically created directory. The following design file formats are accepted.

BRD: .brd

ODB++: .tgz, .zip, .gz, .z, .tar, .7z

MCM: .mcm

SPD: .spd (only works when the ExtractionTools is set to "Sigrity")

Example:

pf.drop_dsn_file()
  • read_inputs()

Usage:

Read the input info needed for the extraction setup.

Outputs:

input_data: dict

Example:

input_data = pf.read_inputs()
  • parser(input_data)

Usage:

Parse the input data based on the tool in use. This method must not be called before read_inputs().

Inputs:

input_data: dict

Outputs:

sim_exec: dict

Example:

sim_exec = pf.parser(input_data)
  • run(sim_exec, mntr_info)

Usage:

Run sims and return the result info.

Inputs:

sim_exec: dict

mntr_info: dict, monitor related information

Outputs:

result_config_dir: str, the full path to the result configuration file.

report_config_dir: str, the full path to the report configuration file.

Example:

mntr_info = {
    "email": "",
    "op_pause_after_model_check": 1,
}

result_config_dir, report_config_dir = pf.run(sim_exec, mntr_info)
  • process_snp(result_config_dir)

Usage:

Post-process results and generate plots.

Inputs:

result_config_dir: str, the full path to the result configuration file.

Outputs:

result_dict: dict, post-processing results are kept in a dictionary.

Example:

result_dict = pf.process_snp(result_config_dir)
  • report(result_config_dir, report_config_dir)

Usage:

Generate a report out of the processed results.

Inputs:

result_config_dir: str, the full path to the result configuration file.

report_config_dir: str, the full path to the report configuration file.

Outputs:

report_dir: str, a full path to the report.

Example:

report_dir = pf.report(result_config_dir, report_config_dir)