aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* generic: Use IdStringList for all arch object namesD. Shah2021-02-027-108/+146
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* gowin: Stub implementation of IdStringListD. Shah2021-02-022-23/+26
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* nexus: Implement IdStringList for all arch object namesD. Shah2021-02-024-59/+62
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* ice40: Implement IdStringList for all arch object namesD. Shah2021-02-025-57/+88
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* Refactor GUI to use IdStringListsD. Shah2021-02-024-51/+50
| | | | | | | | The GUI internally had an 'IdStringList' type that I hadn't spotted, to avoid a conflict this is renamed to IdList which also reflects its new purpose better. Signed-off-by: D. Shah <dave@ds0.me>
* ecp5: Implement IdStringList for all arch object namesD. Shah2021-02-027-93/+121
| | | | | | | This is a complete implementation of IdStringList for ECP5; excluding the GUI (which you will have to disable for it to build). Signed-off-by: D. Shah <dave@ds0.me>
* docs: Update archapi.md with IdStringListD. Shah2021-02-021-12/+12
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* refactor: Replace getXName().c_str(ctx) with ctx->nameOfXD. Shah2021-02-029-39/+34
| | | | | | This makes the ongoing migration to IdStringList easier. Signed-off-by: D. Shah <dave@ds0.me>
* ecp5: Proof-of-concept using IdStringList for bel namesD. Shah2021-02-0212-61/+101
| | | | | | | | | | | 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>
* common: First pass at IdStringList methodsD. Shah2021-02-022-3/+64
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* arch: Add getNameDelimiter API for string listsD. Shah2021-02-027-1/+12
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* common: Adding IdStringList typeD. Shah2021-02-021-0/+67
| | | | | | | Using an optimised storage for <=4 objects to avoid excessive heap allocations. Signed-off-by: D. Shah <dave@ds0.me>
* Merge pull request #564 from litghost/add_check_arch_apiDavid Shah2021-02-021-0/+57
|\ | | | | Add simple python file for doing Arch API sanity checks.
| * Add simple python file for doing Arch API sanity checks.Keith Rothman2021-02-021-0/+57
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* | Merge pull request #557 from litghost/refactor_placer_arch_apiDavid Shah2021-02-0232-204/+975
|\ \ | |/ |/| RFC: Initial refactoring of placer API.
| * Run "make clangformat".Keith Rothman2021-02-0222-210/+174
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Make BELs/PIPs lowercase as bels/pips per review comment.Keith Rothman2021-02-023-36/+36
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Moving missing empty check into initial placement loop.Keith Rothman2021-02-021-5/+14
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Add pybindings for new APIs.Keith Rothman2021-02-028-0/+85
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Rename Partition -> BelBucket.Keith Rothman2021-02-0217-196/+196
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Update documentation.Keith Rothman2021-02-023-32/+77
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Finish implementing new generic APIs.Keith Rothman2021-02-021-3/+15
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Fix regression in use of FastBels.Keith Rothman2021-02-023-10/+38
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Address some compiler warnings.Keith Rothman2021-02-021-1/+1
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Add Partition APIs to ice40, nexus, gowin archs.Keith Rothman2021-02-0210-4/+207
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Working compile of ECP5.Keith Rothman2021-02-023-6/+22
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Refactor ECP5 to new Partition API.Keith Rothman2021-02-023-0/+64
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Implement partitioning in placer_heap.Keith Rothman2021-02-024-131/+244
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Add archcheck for partition methods.Keith Rothman2021-02-024-3/+113
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Make some partition names consistent.Keith Rothman2021-02-021-3/+3
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Initial refactoring of placer API.Keith Rothman2021-02-0211-72/+194
|/ | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Merge pull request #563 from litghost/seperate_pip_range_typesDavid Shah2021-02-025-4/+11
|\ | | | | Seperate PipRange types in pybindings_shared.
| * Seperate PipRange types in pybindings_shared.Keith Rothman2021-02-015-4/+11
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* | Merge pull request #562 from litghost/speed_up_archcheckDavid Shah2021-02-011-18/+10
|\ \ | |/ |/| Avoid linear scan in PIP check loop.
| * Avoid linear scan in PIP check loop.Keith Rothman2021-01-291-18/+10
|/ | | | | | | 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>
* Merge pull request #556 from YosysHQ/dave/cleanupDavid Shah2021-01-2819-204/+38
|\ | | | | General opportunistic cleanup
| * cleanup: Spelling fixesD. Shah2021-01-2815-31/+32
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * cleanup: Fix compiler warningsD. Shah2021-01-282-3/+3
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * cleanup: Remove dead/unused codeD. Shah2021-01-285-170/+3
|/ | | | | | | 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>
* clangformatD. Shah2021-01-283-25/+22
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* Merge pull request #553 from YosysHQ/rel-sliceDavid Shah2021-01-2816-496/+375
|\ | | | | Switch from RelPtr to RelSlice
| * Make RelSlice uncopyableD. Shah2021-01-272-1/+4
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * Move RelPtr/RelSlice out of arches into commonD. Shah2021-01-274-118/+42
| | | | | | | | | | | | | | 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>
| * ecp5: Switch from RelPtr to RelSliceD. Shah2021-01-273-165/+143
| | | | | | | | | | | | | | | | | | | | 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>
| * ice40: Switch from RelPtr to RelSliceD. Shah2021-01-277-150/+138
| | | | | | | | | | | | | | | | | | | | 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>
| * nexus: Switch from RelPtr to RelSliceD. Shah2021-01-275-128/+114
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge pull request #550 from pepijndevos/gw1n4David Shah2021-01-282-2/+2
|\ \ | | | | | | Gowin: Add GW1N-4 support
| * | Gowin: Add GW1N-4 supportPepijn de Vos2021-01-032-2/+2
| | |
* | | Merge pull request #554 from litghost/default_to_releaseDavid Shah2021-01-281-1/+3
|\ \ \ | | | | | | | | Default to Release, but allow other modes (e.g. Debug, RelWithDebInfo).
| * | | Default to Release, but allow other modes (e.g. Debug, RelWithDebInfo).Keith Rothman2021-01-271-1/+3
| | |/ | |/| | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>