3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-11-23 14:11:28 +00:00

opensta, sdc_expand: more scratchpad

This commit is contained in:
Emil J. Tywoniak 2025-11-14 13:44:12 +01:00
parent 9a5465bc83
commit a5b6c3cc19
2 changed files with 9 additions and 5 deletions

View file

@ -39,7 +39,7 @@ struct OpenstaPass : public Pass
string sdc_filename, sdc_expanded_filename; string sdc_filename, sdc_expanded_filename;
string tempdir_name, script_filename; string tempdir_name, script_filename;
string verilog_filename, liberty_filename; string verilog_filename, liberty_filename;
bool cleanup = true; bool cleanup = design->scratchpad_get_bool("opensta.cleanup", true);
log_header(design, "Executing OPENSTA pass.\n"); log_header(design, "Executing OPENSTA pass.\n");
log_push(); log_push();

View file

@ -32,12 +32,13 @@ struct SdcExpandPass : public ScriptPass
} }
string opensta_exe, sdc_filename, sdc_expanded_filename; string opensta_exe, sdc_filename, sdc_expanded_filename;
bool cleanup = true; bool cleanup;
void execute(std::vector<std::string> args, RTLIL::Design *design) override void execute(std::vector<std::string> args, RTLIL::Design *design) override
{ {
log_header(design, "Executing SDC_EXPAND pass.\n"); log_header(design, "Executing SDC_EXPAND pass.\n");
string run_from, run_to; string run_from, run_to;
opensta_exe = "sta"; opensta_exe = "";
cleanup = design->scratchpad_get_bool("sdc_expand.cleanup", true);
size_t argidx; size_t argidx;
for (argidx = 1; argidx < args.size(); argidx++) for (argidx = 1; argidx < args.size(); argidx++)
@ -121,8 +122,11 @@ struct SdcExpandPass : public ScriptPass
std::string liberty_path = tempdir_name + "/yosys.lib"; std::string liberty_path = tempdir_name + "/yosys.lib";
run("icell_liberty " + liberty_path); run("icell_liberty " + liberty_path);
std::string opensta_pass_call = "opensta -exe "; std::string opensta_pass_call = "opensta ";
if (opensta_exe.length()) {
opensta_pass_call += "-exe ";
opensta_pass_call += help_mode ? "<exe>" : opensta_exe; opensta_pass_call += help_mode ? "<exe>" : opensta_exe;
}
opensta_pass_call += " -sdc-in "; opensta_pass_call += " -sdc-in ";
opensta_pass_call += help_mode ? "<sdc-in>" : sdc_filename; opensta_pass_call += help_mode ? "<sdc-in>" : sdc_filename;
opensta_pass_call += " -sdc-out "; opensta_pass_call += " -sdc-out ";