Merge 5b2930be95
into f17caa2379
This commit is contained in:
commit
7cf6875844
@ -1200,4 +1200,5 @@ X(HCLK_OUT3)
|
||||
X(BUFG)
|
||||
X(CLOCK)
|
||||
|
||||
|
||||
// Globally routed
|
||||
X(GLOBALLY_ROUTED)
|
||||
|
@ -196,7 +196,10 @@ struct GowinGlobalRouter
|
||||
}
|
||||
if (routed == NOT_ROUTED) {
|
||||
ctx->unbindWire(src);
|
||||
} else {
|
||||
net->attrs[id_GLOBALLY_ROUTED] = Property("YES");
|
||||
}
|
||||
|
||||
return routed;
|
||||
}
|
||||
|
||||
@ -233,6 +236,8 @@ struct GowinGlobalRouter
|
||||
}
|
||||
if (routed == NOT_ROUTED) {
|
||||
ctx->unbindWire(src);
|
||||
} else {
|
||||
net->attrs[id_GLOBALLY_ROUTED] = Property("YES");
|
||||
}
|
||||
|
||||
// b) route net before buf from whatever to the buf input
|
||||
|
@ -41,6 +41,7 @@ struct GowinImpl : HimbaechelAPI
|
||||
|
||||
// wires
|
||||
bool checkPipAvail(PipId pip) const override;
|
||||
bool checkPipAvailForNet(PipId pip, const NetInfo *net) const override;
|
||||
|
||||
// Cluster
|
||||
bool isClusterStrict(const CellInfo *cell) const { return true; }
|
||||
@ -188,6 +189,16 @@ void GowinImpl::init(Context *ctx)
|
||||
// We do not allow the use of global wires that bypass a special router.
|
||||
bool GowinImpl::checkPipAvail(PipId pip) const { return !gwu.is_global_pip(pip); }
|
||||
|
||||
bool GowinImpl::checkPipAvailForNet(PipId pip, const NetInfo *net) const {
|
||||
if (gwu.is_global_pip(pip)) {
|
||||
// Available for a globally routed net
|
||||
auto prop = net->attrs.find(id_GLOBALLY_ROUTED);
|
||||
return prop != net->attrs.end() && prop->second == Property("YES");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void GowinImpl::pack()
|
||||
{
|
||||
if (ctx->settings.count(ctx->id("cst.filename"))) {
|
||||
|
Loading…
Reference in New Issue
Block a user