mistral: Implement bounding boxes for router2
Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
parent
e688ee0e89
commit
6ad329c540
@ -382,6 +382,20 @@ delay_t Arch::estimateDelay(WireId src, WireId dst) const
|
|||||||
return 100 * std::abs(y1 - y0) + 100 * std::abs(x1 - x0) + 100;
|
return 100 * std::abs(y1 - y0) + 100 * std::abs(x1 - x0) + 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ArcBounds Arch::getRouteBoundingBox(WireId src, WireId dst) const
|
||||||
|
{
|
||||||
|
ArcBounds bounds;
|
||||||
|
int src_x = CycloneV::rn2x(src.node);
|
||||||
|
int src_y = CycloneV::rn2y(src.node);
|
||||||
|
int dst_x = CycloneV::rn2x(dst.node);
|
||||||
|
int dst_y = CycloneV::rn2y(dst.node);
|
||||||
|
bounds.x0 = std::min(src_x, dst_x);
|
||||||
|
bounds.y0 = std::min(src_y, dst_y);
|
||||||
|
bounds.x1 = std::max(src_x, dst_x);
|
||||||
|
bounds.y1 = std::max(src_y, dst_y);
|
||||||
|
return bounds;
|
||||||
|
}
|
||||||
|
|
||||||
delay_t Arch::predictDelay(const NetInfo *net_info, const PortRef &sink) const
|
delay_t Arch::predictDelay(const NetInfo *net_info, const PortRef &sink) const
|
||||||
{
|
{
|
||||||
if (net_info->driver.cell == nullptr || net_info->driver.cell->bel == BelId())
|
if (net_info->driver.cell == nullptr || net_info->driver.cell->bel == BelId())
|
||||||
|
@ -386,7 +386,7 @@ struct Arch : BaseArch<ArchRanges>
|
|||||||
delay_t getDelayFromNS(float ns) const override { return delay_t(ns * 1000.0f); };
|
delay_t getDelayFromNS(float ns) const override { return delay_t(ns * 1000.0f); };
|
||||||
uint32_t getDelayChecksum(delay_t v) const override { return v; };
|
uint32_t getDelayChecksum(delay_t v) const override { return v; };
|
||||||
|
|
||||||
ArcBounds getRouteBoundingBox(WireId src, WireId dst) const override { return ArcBounds(); }
|
ArcBounds getRouteBoundingBox(WireId src, WireId dst) const override;
|
||||||
|
|
||||||
// -------------------------------------------------
|
// -------------------------------------------------
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user