D. Shah
9388df19d3
refactor: Replace getXName().c_str(ctx) with ctx->nameOfX
...
This makes the ongoing migration to IdStringList easier.
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-02 17:00:14 +00:00
D. Shah
6d23461bcd
ecp5: Proof-of-concept using IdStringList for bel names
...
This uses the new IdStringList API to store bel names for the ECP5. Note
that other arches and the GUI do not yet build with this
proof-of-concept patch.
getBelByName still uses the old implementation and could be more
efficiently implemented with further development.
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-02 17:00:12 +00:00
D. Shah
0dbe7f96a3
common: First pass at IdStringList methods
...
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-02 16:59:42 +00:00
D. Shah
ff92d19fed
arch: Add getNameDelimiter API for string lists
...
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-02 16:59:40 +00:00
D. Shah
90edf33c95
common: Adding IdStringList type
...
Using an optimised storage for <=4 objects to avoid excessive heap
allocations.
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-02 16:58:57 +00:00
David Shah
9c5d13a630
Merge pull request #564 from litghost/add_check_arch_api
...
Add simple python file for doing Arch API sanity checks.
2021-02-02 16:55:34 +00:00
David Shah
d1ef3ae1ba
Merge pull request #557 from litghost/refactor_placer_arch_api
...
RFC: Initial refactoring of placer API.
2021-02-02 16:55:13 +00:00
Keith Rothman
a4369afae5
Add simple python file for doing Arch API sanity checks.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:53:11 -08:00
Keith Rothman
da74a425d2
Run "make clangformat".
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:44:49 -08:00
Keith Rothman
01509ec7c9
Make BELs/PIPs lowercase as bels/pips per review comment.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:43:38 -08:00
Keith Rothman
1deab29b05
Moving missing empty check into initial placement loop.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:43:38 -08:00
Keith Rothman
9089ee2d16
Add pybindings for new APIs.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:43:36 -08:00
Keith Rothman
9fe546f279
Rename Partition -> BelBucket.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
11c80c048b
Update documentation.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
310f9f7b84
Finish implementing new generic APIs.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
8d9390fc46
Fix regression in use of FastBels.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
16394d3158
Address some compiler warnings.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
0338368afa
Add Partition APIs to ice40, nexus, gowin archs.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
d03d9d839b
Working compile of ECP5.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
71e210dd4b
Refactor ECP5 to new Partition API.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
878fcdd22d
Implement partitioning in placer_heap.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
b4160c228e
Add archcheck for partition methods.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
f3a7c691a3
Make some partition names consistent.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
2285c8dbbd
Initial refactoring of placer API.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
David Shah
efc98c517e
Merge pull request #563 from litghost/seperate_pip_range_types
...
Seperate PipRange types in pybindings_shared.
2021-02-02 09:59:18 +00:00
Keith Rothman
5cf2f8d1ea
Seperate PipRange types in pybindings_shared.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-01 10:23:21 -08:00
David Shah
7d0b134b48
Merge pull request #562 from litghost/speed_up_archcheck
...
Avoid linear scan in PIP check loop.
2021-02-01 10:00:13 +00:00
Keith Rothman
b8c823ef99
Avoid linear scan in PIP check loop.
...
The previous additions to archcheck increased the runtime of the nexus
archcheck quiet a bit.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-01-29 13:42:14 -08:00
David Shah
15b2852b91
Merge pull request #556 from YosysHQ/dave/cleanup
...
General opportunistic cleanup
2021-01-28 16:10:22 +00:00
D. Shah
94e8847d67
cleanup: Spelling fixes
...
Signed-off-by: D. Shah <dave@ds0.me>
2021-01-28 15:19:06 +00:00
D. Shah
5fc3e8e4d2
cleanup: Fix compiler warnings
...
Signed-off-by: D. Shah <dave@ds0.me>
2021-01-28 15:02:08 +00:00
D. Shah
6ecf7f86c8
cleanup: Remove dead/unused code
...
Note that some '#if 0' code that might still be useful for debugging in
the future has been retained.
Signed-off-by: D. Shah <dave@ds0.me>
2021-01-28 14:59:13 +00:00
D. Shah
0d97904216
clangformat
...
Signed-off-by: D. Shah <dave@ds0.me>
2021-01-28 14:38:20 +00:00
David Shah
b671d8f59d
Merge pull request #553 from YosysHQ/rel-slice
...
Switch from RelPtr to RelSlice
2021-01-28 12:53:03 +00:00
David Shah
a95d6678b1
Merge pull request #550 from pepijndevos/gw1n4
...
Gowin: Add GW1N-4 support
2021-01-28 08:13:21 +00:00
David Shah
6a7fa4b402
Merge pull request #554 from litghost/default_to_release
...
Default to Release, but allow other modes (e.g. Debug, RelWithDebInfo).
2021-01-28 07:31:27 +00:00
David Shah
bf8a14252b
Merge pull request #555 from litghost/complete_archcheck
...
Add connectivity round trip checks to archcheck.
2021-01-28 07:31:07 +00:00
Keith Rothman
b8770915ad
Add connectivity round trip checks to archcheck.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-01-27 18:14:09 -08:00
Keith Rothman
a5472bc5c1
Default to Release, but allow other modes (e.g. Debug, RelWithDebInfo).
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-01-27 18:13:10 -08:00
D. Shah
b87ab0ee9d
Make RelSlice uncopyable
...
Signed-off-by: D. Shah <dave@ds0.me>
2021-01-27 20:49:14 +00:00
D. Shah
75ee2fc4e6
Move RelPtr/RelSlice out of arches into common
...
The bba approach seems widely used enough that it's reasonable for this
to become part of common code.
Signed-off-by: D. Shah <dave@ds0.me>
2021-01-27 20:43:01 +00:00
D. Shah
3fc5455ec5
ecp5: Switch from RelPtr to RelSlice
...
This replaces RelPtrs and a separate length field with a Rust-style
slice containing both a pointer and a length; with bounds checking
always enforced.
Thus iterating over these structures is both cleaner and safer.
Signed-off-by: D. Shah <dave@ds0.me>
2021-01-27 19:39:19 +00:00
D. Shah
c10238de8c
ice40: Switch from RelPtr to RelSlice
...
This replaces RelPtrs and a separate length field with a Rust-style
slice containing both a pointer and a length; with bounds checking
always enforced.
Thus iterating over these structures is both cleaner and safer.
Signed-off-by: D. Shah <dave@ds0.me>
2021-01-27 18:35:49 +00:00
D. Shah
e049d5f2fc
nexus: Switch from RelPtr to RelSlice
...
This replaces RelPtrs and a separate length field with a Rust-style
slice containing both a pointer and a length; with bounds checking
always enforced.
Thus iterating over these structures is both cleaner and safer.
Signed-off-by: D. Shah <dave@ds0.me>
2021-01-27 17:24:01 +00:00
D. Shah
dc46d84c35
ecp5: Fix bottom clock tile renaming for tilegroups
...
Signed-off-by: D. Shah <dave@ds0.me>
2021-01-25 15:45:56 +00:00
Pepijn de Vos
2700687c00
Gowin: Add GW1N-4 support
2021-01-03 19:45:00 +01:00
Miodrag Milanović
9b9628047c
Merge pull request #549 from YosysHQ/update
...
Update pybind11 version and fix for future python versions
2021-01-02 11:16:49 +01:00
Miodrag Milanovic
61b07bc9a6
PyEval_InitThreads only for older than 3.9
2021-01-02 10:22:51 +01:00
Miodrag Milanovic
e76cdab6dd
Update pybind11 to version 2.6.1
2021-01-02 10:15:39 +01:00
David Shah
c6cdf30501
Merge pull request #548 from per-gron/c++17
...
C++17 compatibility: Don't use std::random_shuffle
2020-12-30 20:37:07 +00:00