aboutsummaryrefslogtreecommitdiffstats
path: root/machxo2/arch.cc
Commit message (Collapse)AuthorAgeFilesLines
* Extend chipdb with metadataMiodrag Milanovic2023-03-161-102/+54
|
* Add simple BEL graphicsMiodrag Milanovic2023-03-161-0/+74
|
* api: add explain_invalid option to isBelLocationValidgatecat2022-12-071-1/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* refactor: ArcBounds -> BoundingBoxgatecat2022-12-071-2/+2
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* refactor: id(stringf(...)) to new idf(...) helpergatecat2022-08-101-4/+4
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* refactor: Use constids instead of id("..")gatecat2022-02-161-11/+11
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* archapi: Use arbitrary rather than actual placement in predictDelaygatecat2021-12-191-6/+7
| | | | | | | | | | | | 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>
* Fixing old emails and names in copyrightsgatecat2021-06-121-1/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Fix compiler warnings introduced by -Wextragatecat2021-02-251-0/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Remove isValidBelForCellgatecat2021-02-161-8/+0
| | | | | | | | | | | | | | | | | 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>
* machxo2: Misc tidying upgatecat2021-02-121-1/+4
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* machxo2: Python bindings and stub GUIgatecat2021-02-121-0/+10
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* machxo2: Use snake_case for non-ArchAPI functionsgatecat2021-02-121-17/+17
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* machxo2: Use IdStringLists in earnestgatecat2021-02-121-66/+56
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* machxo2: Update with Arch API changesgatecat2021-02-121-73/+32
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* machxo2: Checkpoint commit for slice bitstream generation.William D. Jones2021-02-121-0/+11
|
* machxo2: Write out pips to bitstream.William D. Jones2021-02-121-0/+27
|
* machxo2: Add/fix copyright banners.William D. Jones2021-02-121-1/+2
|
* machxo2: Tweak A-star parameters for acceptable performance.William D. Jones2021-02-121-2/+18
|
* machxo2: Finish implementing Wire API functions. nextpnr segfaults on ↵William D. Jones2021-02-121-8/+0
| | | | example with constraints.
* machxo2: Finish implementing Pip API functions.William D. Jones2021-02-121-18/+0
|
* machxo2: Implement 4 more Wire/Pip API functions.William D. Jones2021-02-121-24/+0
|
* machxo2: Add stub getAttrs API functions.William D. Jones2021-02-121-8/+0
|
* machxo2: Implement getByName/getName for Wires and Pips.William D. Jones2021-02-121-9/+61
|
* machxo2: Detect LOC attributes during packing to implement rudimentary user ↵William D. Jones2021-02-121-0/+15
| | | | constraints.
* machxo2: clang format.William D. Jones2021-02-121-59/+25
|
* machxo2: Implement WireId/PipId, complete Bel part of API.William D. Jones2021-02-121-0/+16
|
* machxo2: Implement all of Bel API except getBelPinWire.William D. Jones2021-02-121-9/+70
|
* machxo2: Fix place phase segfault. Placement suceeds with warning of no clock.William D. Jones2021-02-121-0/+2
|
* machxo2: Stub valid BEL functions with comment. Place phase segfaults.William D. Jones2021-02-121-2/+7
|
* machxo2: Implement bel_to_cell and API functions using it.William D. Jones2021-02-121-16/+0
|
* machxo2: Implement 2 Bel API functions.William D. Jones2021-02-121-2/+17
|
* machxo2: Implement General Methods.William D. Jones2021-02-121-0/+19
|
* machxo2: Implement getBelLocation to stop std::out_of_range in place phase.William D. Jones2021-02-121-5/+0
|
* machxo2: Implement functions to get device utilization (throws ↵William D. Jones2021-02-121-5/+1
| | | | std::out_of_range during place phase).
* machxo2: Initialize Arch context with device type and package.William D. Jones2021-02-121-8/+41
|
* machxo2: Stub out arch API functions and members.William D. Jones2021-02-121-178/+57
|
* machxo2: Remove HeAP placer for now, fix typos.William D. Jones2021-02-121-25/+3
|
* machxo2: Remove generic packing.William D. Jones2021-02-121-10/+1
|
* machxo2: Start creating MachXO2CommandHandler.William D. Jones2021-02-121-13/+41
|
* machxo2: Remove generic API functions from Arch.William D. Jones2021-02-121-230/+0
|
* Create machxo2 backend (renamed from generic).gatecat2021-02-121-0/+730
Signed-off-by: William D. Jones <thor0505@comcast.net>