Add flag timing-allow-fail to allow PnR to pass with warning
This commit is contained in:
parent
cc5edfd97e
commit
0bcf57bd47
@ -129,6 +129,7 @@ po::options_description CommandHandler::getGeneralOptions()
|
||||
general.add_options()("version,V", "show version");
|
||||
general.add_options()("test", "check architecture database integrity");
|
||||
general.add_options()("freq", po::value<double>(), "set target frequency for design in MHz");
|
||||
general.add_options()("timing-allow-fail", "allow timing to fail in design");
|
||||
general.add_options()("no-tmdriv", "disable timing-driven placement");
|
||||
general.add_options()("save", po::value<std::string>(), "project file to write");
|
||||
general.add_options()("load", po::value<std::string>(), "project file to read");
|
||||
@ -178,6 +179,10 @@ void CommandHandler::setupContext(Context *ctx)
|
||||
settings->set("timing/ignoreLoops", true);
|
||||
}
|
||||
|
||||
if (vm.count("timing-allow-fail")) {
|
||||
settings->set("timing/allowFail", true);
|
||||
}
|
||||
|
||||
if (vm.count("cstrweight")) {
|
||||
settings->set("placer1/constraintWeight", vm["cstrweight"].as<float>());
|
||||
}
|
||||
|
@ -904,6 +904,10 @@ void timing_analysis(Context *ctx, bool print_histogram, bool print_fmax, bool p
|
||||
if (!warn_on_failure || passed)
|
||||
log_info("Max frequency for clock %*s'%s': %.02f MHz (%s at %.02f MHz)\n", width, "",
|
||||
clock_name.c_str(), clock_fmax[clock.first], passed ? "PASS" : "FAIL", target);
|
||||
else
|
||||
if (bool_or_default(ctx->settings, ctx->id("timing/allowFail"), false))
|
||||
log_warning("Max frequency for clock %*s'%s': %.02f MHz (%s at %.02f MHz)\n", width, "",
|
||||
clock_name.c_str(), clock_fmax[clock.first], passed ? "PASS" : "FAIL", target);
|
||||
else
|
||||
log_nonfatal_error("Max frequency for clock %*s'%s': %.02f MHz (%s at %.02f MHz)\n", width, "",
|
||||
clock_name.c_str(), clock_fmax[clock.first], passed ? "PASS" : "FAIL", target);
|
||||
|
Loading…
Reference in New Issue
Block a user