nextpnr/generic
Jonas K. d53b7b8eed fabulous: add generic way to set BEL timings and placer/router tunables
Add bel.v3.txt, which carries per-arc BEL timing (Delay/SetupHold/
ClkToOut/Clock) with config-bit conditions, on top of bel.v2's structural
blocks. Timing is applied per instance: a representative per-type estimate in
prePlace, then each placed BEL's own arcs in postPlace (bel_timing_by_bel,
keyed by BelId).

Add placement_estimate.txt carrying BEL timing estimates and nextpnr
placer/router tunables (delayScale/delayOffset/delayEpsilon/ripupPenalty/
carryPredictDelay, each defaulting to nextpnr's historical hardcoded value).

A more detailed description of the FABulous model files can be found here:
https://fabulous.readthedocs.io/en/latest/user_guide/using_doc/pnr/nextpnr.html#bel-v3-txt-bel-timing

bel.v3.txt and placement_estimate.txt were added as separate files
to keep compatibility with older nextpnr versions and existing fabulous projects.

A few cosmetics and comments added.
2026-07-21 11:55:36 +02:00
..
examples Minor UX improvements to the generic example code (#1706) 2026-04-28 13:08:44 +02:00
synth Update generic synth script for dfflegalize changes 2020-09-18 15:39:24 +02:00
viaduct fabulous: add generic way to set BEL timings and placer/router tunables 2026-07-21 11:55:36 +02:00
CMakeLists.txt feat: basic pcf implementation (#1637) 2026-02-17 17:38:01 +01:00
arch.cc feat: basic pcf implementation (#1637) 2026-02-17 17:38:01 +01:00
arch.h feat: basic pcf implementation (#1637) 2026-02-17 17:38:01 +01:00
arch_pybindings.cc viaduct: Add support for GUIs 2023-04-11 19:11:54 +02:00
arch_pybindings.h generic: Add missing Pip vector binding 2022-02-04 15:54:41 +00:00
archdefs.h clangformat 2024-09-30 14:51:33 +02:00
cells.cc Switch to potentially-sparse net users array 2022-02-27 13:47:05 +00:00
cells.h Fixing old emails and names in copyrights 2021-06-12 13:22:38 +01:00
chipdb.cc CMake: refactor architecture-specific build system parts. 2025-01-21 17:13:03 +00:00
main.cc CMake: refactor architecture-specific build system parts. 2025-01-21 17:13:03 +00:00
pack.cc Switch to potentially-sparse net users array 2022-02-27 13:47:05 +00:00
viaduct_api.cc refactor: ArcBounds -> BoundingBox 2022-12-07 10:00:53 +01:00
viaduct_api.h clangformat 2024-09-30 14:51:33 +02:00
viaduct_constids.h Viaduct API for a hybrid between generic and full-custom arch 2022-01-04 20:19:29 +00:00
viaduct_helpers.cc viaduct: Fix constant connectivity 2022-12-06 10:04:59 +01:00
viaduct_helpers.h clangformat 2024-09-30 14:51:33 +02:00