1
0
mirror of https://github.com/YosysHQ/nextpnr.git synced 2026-04-30 05:34:53 +00:00

Rip out budgets

This commit is contained in:
rowanG077
2023-05-11 11:23:32 +02:00
committed by myrtle
parent 77afaf23a5
commit 914999673c
37 changed files with 16 additions and 279 deletions

View File

@@ -78,7 +78,6 @@ Placers might want to create their own indices of bels (for example, bels by typ
As nextpnr allows arbitrary constraints on bels for more advanced packer-free flows and complex real-world architectures; placements must be checked for legality using `isBelLocationValid` (after placement) and the placement rejected if invalid. For analytical placement algorithms; after creating a spread-out AP solution the legality of placing each cell needs to be checked. In practice, the cost of this is fairly low as the architecture should ensure these functions are as fast as possible.
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` and its derivative `predictArcDelay` returns an estimated delay for a sink port based on placement information
@@ -98,4 +97,3 @@ together, see the "cellGroups" field.
The job of the router is to ensure that the `wires` map for each net contains a complete routing tree; populated using the Arch functions to bind wires and pips. The ripup invariants in the [FAQ](faq.md) are important to bear in mind; as there may be complex constraints on the usage of wires and pips in some architectures.
`estimateDelay` is intended for use as an A* metric to guide routing.