[ice40] getBudgetOverride() to use constrained Z not placed Z
This commit is contained in:
parent
3b2b15dc4a
commit
51a2894762
@ -575,11 +575,10 @@ bool Arch::getBudgetOverride(const NetInfo *net_info, const PortRef &sink, delay
|
||||
{
|
||||
const auto &driver = net_info->driver;
|
||||
if (driver.port == id_COUT && sink.port == id_CIN) {
|
||||
auto driver_loc = getBelLocation(driver.cell->bel);
|
||||
auto sink_loc = getBelLocation(sink.cell->bel);
|
||||
if (driver_loc.y == sink_loc.y)
|
||||
if (driver.cell->constr_abs_z && driver.cell->constr_z < 7)
|
||||
budget = 0;
|
||||
else
|
||||
else {
|
||||
NPNR_ASSERT(driver.cell->constr_z == 7);
|
||||
switch (args.type) {
|
||||
#ifndef ICE40_HX1K_ONLY
|
||||
case ArchArgs::HX8K:
|
||||
@ -600,6 +599,7 @@ bool Arch::getBudgetOverride(const NetInfo *net_info, const PortRef &sink, delay
|
||||
default:
|
||||
log_error("Unsupported iCE40 chip type.\n");
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -485,6 +485,7 @@ struct Arch : BaseCtx
|
||||
|
||||
Loc getBelLocation(BelId bel) const
|
||||
{
|
||||
NPNR_ASSERT(bel != BelId());
|
||||
Loc loc;
|
||||
loc.x = chip_info->bel_data[bel.index].x;
|
||||
loc.y = chip_info->bel_data[bel.index].y;
|
||||
|
Loading…
Reference in New Issue
Block a user