gatecat
77c82b0fbf
refactor: id(stringf(...)) to new idf(...) helper
...
Signed-off-by: gatecat <gatecat@ds0.me>
2022-08-10 10:57:46 +01:00
gatecat
76683a1e3c
refactor: Use constids instead of id("..")
...
Signed-off-by: gatecat <gatecat@ds0.me>
2022-02-16 17:09:54 +00:00
gatecat
ddb084e9a8
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>
2021-12-19 17:15:15 +00:00
gatecat
2ffb081442
Fixing old emails and names in copyrights
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-06-12 13:22:38 +01:00
gatecat
23413a4d12
Fix compiler warnings introduced by -Wextra
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-25 15:15:25 +00:00
gatecat
c7c13cd95f
Remove isValidBelForCell
...
This Arch API dates from when we were first working out how to
implement placement validity checking, and in practice is little used by
the core parts of placer1/HeAP and the Arch implementation involves a
lot of duplication with isBelLocationValid.
In the short term; placement validity checking is better served by the
combination of checkBelAvail and isValidBelForCellType before placement;
followed by isBelLocationValid after placement (potentially after
moving/swapping multiple cells).
Longer term, removing this API makes things a bit cleaner for a new
validity checking API.
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-16 13:31:36 +00:00
gatecat
6de733b38c
machxo2: Misc tidying up
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-12 10:43:15 +00:00
gatecat
33eca9a3d2
machxo2: Python bindings and stub GUI
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-12 10:40:03 +00:00
gatecat
8f5133d811
machxo2: Use snake_case for non-ArchAPI functions
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-12 10:36:59 +00:00
gatecat
b539363cd0
machxo2: Use IdStringLists in earnest
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-12 10:36:59 +00:00
gatecat
3f7618283d
machxo2: Update with Arch API changes
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-12 10:36:59 +00:00
William D. Jones
5415194b39
machxo2: Checkpoint commit for slice bitstream generation.
2021-02-12 10:36:59 +00:00
William D. Jones
cf2db7a4c4
machxo2: Write out pips to bitstream.
2021-02-12 10:36:59 +00:00
William D. Jones
695fb7e569
machxo2: Add/fix copyright banners.
2021-02-12 10:36:59 +00:00
William D. Jones
e1f72318e0
machxo2: Tweak A-star parameters for acceptable performance.
2021-02-12 10:36:59 +00:00
William D. Jones
722d1f2542
machxo2: Finish implementing Wire API functions. nextpnr segfaults on example with constraints.
2021-02-12 10:36:59 +00:00
William D. Jones
861c12e6eb
machxo2: Finish implementing Pip API functions.
2021-02-12 10:36:59 +00:00
William D. Jones
0adde4aede
machxo2: Implement 4 more Wire/Pip API functions.
2021-02-12 10:36:59 +00:00
William D. Jones
19a9554bda
machxo2: Add stub getAttrs API functions.
2021-02-12 10:36:59 +00:00
William D. Jones
9a9054188c
machxo2: Implement getByName/getName for Wires and Pips.
2021-02-12 10:36:59 +00:00
William D. Jones
9c37aef499
machxo2: Detect LOC attributes during packing to implement rudimentary user constraints.
2021-02-12 10:36:59 +00:00
William D. Jones
0e63178fe1
machxo2: clang format.
2021-02-12 10:36:59 +00:00
William D. Jones
a7917c9c63
machxo2: Implement WireId/PipId, complete Bel part of API.
2021-02-12 10:36:59 +00:00
William D. Jones
bbc683dd75
machxo2: Implement all of Bel API except getBelPinWire.
2021-02-12 10:36:59 +00:00
William D. Jones
138519d820
machxo2: Fix place phase segfault. Placement suceeds with warning of no clock.
2021-02-12 10:36:59 +00:00
William D. Jones
8a94a3451f
machxo2: Stub valid BEL functions with comment. Place phase segfaults.
2021-02-12 10:36:59 +00:00
William D. Jones
5f748272fc
machxo2: Implement bel_to_cell and API functions using it.
2021-02-12 10:36:59 +00:00
William D. Jones
682de724a8
machxo2: Implement 2 Bel API functions.
2021-02-12 10:36:59 +00:00
William D. Jones
3e6be4bbfd
machxo2: Implement General Methods.
2021-02-12 10:36:59 +00:00
William D. Jones
094233a4ab
machxo2: Implement getBelLocation to stop std::out_of_range in place phase.
2021-02-12 10:36:59 +00:00
William D. Jones
dc07054ee8
machxo2: Implement functions to get device utilization (throws std::out_of_range during place phase).
2021-02-12 10:36:59 +00:00
William D. Jones
ec4a9685ab
machxo2: Initialize Arch context with device type and package.
2021-02-12 10:36:59 +00:00
William D. Jones
88b7dfce58
machxo2: Stub out arch API functions and members.
2021-02-12 10:36:59 +00:00
William D. Jones
e5576448ea
machxo2: Remove HeAP placer for now, fix typos.
2021-02-12 10:36:59 +00:00
William D. Jones
512daf2c89
machxo2: Remove generic packing.
2021-02-12 10:36:59 +00:00
William D. Jones
9704f422dc
machxo2: Start creating MachXO2CommandHandler.
2021-02-12 10:36:59 +00:00
William D. Jones
98214865be
machxo2: Remove generic API functions from Arch.
2021-02-12 10:36:59 +00:00
gatecat
510969ab97
Create machxo2 backend (renamed from generic).
...
Signed-off-by: William D. Jones <thor0505@comcast.net>
2021-02-12 10:36:59 +00:00