1
0
mirror of https://github.com/YosysHQ/nextpnr.git synced 2026-05-02 06:25:16 +00:00

archapi: Use arbitrary rather than actual placement in predictDelay

This makes predictDelay be based on an arbitrary belpin pair rather
than a arc of a net based on cell placement. This way 'what-if'
decisions can be evaluated without actually changing placement;
potentially useful for parallel placement.

A new helper predictArcDelay behaves like the old predictDelay to
minimise the impact on existing passes; only arches need be updated.

Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
gatecat
2021-12-19 16:41:34 +00:00
parent 56d5507333
commit ddb084e9a8
26 changed files with 89 additions and 70 deletions

View File

@@ -80,7 +80,7 @@ As nextpnr allows arbitrary constraints on bels for more advanced packer-free fl
There are several routes for timing information in the placer:
- sink `PortRef`s have a `budget` value annotated by calling `assign_budget` which is an estimate of the maximum delay that an arc may have
- sink ports can have a criticality (value between 0 and 1 where 1 is the critical path) associated with them by using `get_criticalities` and a `NetCriticalityMap`
- `predictDelay` returns an estimated delay for a sink port based on placement information
- `predictDelay` and its derivative `predictArcDelay` returns an estimated delay for a sink port based on placement information
### Bel Buckets