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()("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()("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()("version,V", "show version");
|
||||||
general.add_options()("test", "check architecture database integrity");
|
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()("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")) {
|
if (vm.count("cstrweight")) {
|
||||||
settings->set("placer1/constraintWeight", vm["cstrweight"].as<float>());
|
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
|
// 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) {
|
for (auto fanin : port_fanin) {
|
||||||
NetInfo *net = fanin.first->net;
|
NetInfo *net = fanin.first->net;
|
||||||
if (net != nullptr) {
|
if (net != nullptr) {
|
||||||
|
Loading…
Reference in New Issue
Block a user