mirror of https://github.com/YosysHQ/nextpnr.git
ecp5: Make fabric routed ECLK an error
Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
parent
261152be8a
commit
8624a48bcf
|
|
@ -671,7 +671,14 @@ class Ecp5GlobalRouter
|
|||
cursor = ctx->getPipDstWire(pip);
|
||||
}
|
||||
} else {
|
||||
log_info(" no route found, general routing will be used.\n");
|
||||
if (bool_or_default(ctx->settings, ctx->id("arch.fabric_eclk"))) {
|
||||
log_info(" no route found, general routing will be used.\n");
|
||||
} else {
|
||||
log_error("Unable to route edge clock source '%s' to pin '%s.%s' using dedicated routing.\n"
|
||||
"Use --allow-fabric-eclk to use fabric routing with indeterminate skew, or "
|
||||
"consider using an ECLKBRIDGECS to cross the device.\n",
|
||||
ctx->nameOf(ni), ctx->nameOf(ci), ctx->nameOf(pin));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,6 +86,8 @@ po::options_description ECP5CommandHandler::getArchOptions()
|
|||
"disable IO buffer insertion and global promotion/routing, for building pre-routed blocks (experimental)");
|
||||
specific.add_options()("disable-router-lutperm", "don't allow the router to permute LUT inputs");
|
||||
|
||||
specific.add_options()("allow-fabric-eclk", "allow fabric routing of ECLKs");
|
||||
|
||||
return specific;
|
||||
}
|
||||
void ECP5CommandHandler::validate()
|
||||
|
|
@ -258,6 +260,8 @@ std::unique_ptr<Context> ECP5CommandHandler::createContext(dict<std::string, Pro
|
|||
ctx->settings[ctx->id("arch.ooc")] = 1;
|
||||
if (vm.count("disable-router-lutperm"))
|
||||
ctx->settings[ctx->id("arch.disable_router_lutperm")] = 1;
|
||||
if (vm.count("allow-fabric-eclk"))
|
||||
ctx->settings[ctx->id("arch.fabric_eclk")] = 1;
|
||||
return ctx;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue