timing: Add --ignore-loops option
Signed-off-by: David Shah <dave@ds0.me>
This commit is contained in:
parent
6d664046d3
commit
564a7e27b1
@ -124,6 +124,8 @@ po::options_description CommandHandler::getGeneralOptions()
|
||||
general.add_options()("cstrweight", po::value<float>(), "placer weighting for relative constraint satisfaction");
|
||||
general.add_options()("pack-only", "pack design only without placement or routing");
|
||||
|
||||
general.add_options()("ignore-loops", "ignore combinational loops in timing analysis");
|
||||
|
||||
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");
|
||||
@ -172,6 +174,10 @@ void CommandHandler::setupContext(Context *ctx)
|
||||
}
|
||||
}
|
||||
|
||||
if (vm.count("ignore-loops")) {
|
||||
settings->set("timing/ignoreLoops", true);
|
||||
}
|
||||
|
||||
if (vm.count("cstrweight")) {
|
||||
settings->set("placer1/constraintWeight", vm["cstrweight"].as<float>());
|
||||
}
|
||||
|
@ -225,7 +225,7 @@ struct Timing
|
||||
}
|
||||
|
||||
// Sanity check to ensure that all ports where fanins were recorded were indeed visited
|
||||
if (!port_fanin.empty()) {
|
||||
if (!port_fanin.empty() && !bool_or_default(ctx->settings, ctx->id("timing/ignoreLoops"), false)) {
|
||||
for (auto fanin : port_fanin) {
|
||||
NetInfo *net = fanin.first->net;
|
||||
if (net != nullptr) {
|
||||
|
Loading…
Reference in New Issue
Block a user