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);
|
cursor = ctx->getPipDstWire(pip);
|
||||||
}
|
}
|
||||||
} else {
|
} 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)");
|
"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()("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;
|
return specific;
|
||||||
}
|
}
|
||||||
void ECP5CommandHandler::validate()
|
void ECP5CommandHandler::validate()
|
||||||
|
|
@ -258,6 +260,8 @@ std::unique_ptr<Context> ECP5CommandHandler::createContext(dict<std::string, Pro
|
||||||
ctx->settings[ctx->id("arch.ooc")] = 1;
|
ctx->settings[ctx->id("arch.ooc")] = 1;
|
||||||
if (vm.count("disable-router-lutperm"))
|
if (vm.count("disable-router-lutperm"))
|
||||||
ctx->settings[ctx->id("arch.disable_router_lutperm")] = 1;
|
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;
|
return ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue