aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Run "make clangformat".Keith Rothman2021-02-044-148/+100
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add README about initial state of FPGA interchange implementation.Keith Rothman2021-02-041-0/+170
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Update FPGA interchange to use IdStringList.Keith Rothman2021-02-042-132/+137
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add initial GUI files.Keith Rothman2021-02-044-0/+96
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Start adding data for placement constraint solving.Keith Rothman2021-02-042-50/+43
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Debug BEL bucket data.Keith Rothman2021-02-041-11/+14
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add initial updates to FPGA interchange arch for BEL buckets.Keith Rothman2021-02-045-0/+247
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Address review comments.Keith Rothman2021-02-043-95/+6
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Fix BBA import bugs.Keith Rothman2021-02-042-69/+201
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Assorted fixes to new FPGA interchange based arch.Keith Rothman2021-02-043-5/+13
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Initial compiling version.Keith Rothman2021-02-042-16/+25
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Initial FPGA interchange (which is just a cut-down xilinx arch).Keith Rothman2021-02-0410-2/+2104
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Mark IdString and IdStringList single argument constructors explicit.Keith Rothman2021-02-0416-86/+93
| | | | | | | | | Single argument constructors will silently convert to that type. This is typically not the right thing to do. For example, the nexus and ice40 arch_pybindings.h files were incorrectly parsing bel name strings, etc. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Merge pull request #566 from litghost/use_lru_cacheDavid Shah2021-02-041-10/+113
|\ | | | | Use a LRU cache for pip to wire map.
| * Use a LRU cache for pip to wire map.Keith Rothman2021-02-031-10/+113
|/ | | | | | | | This avoids storing the entire pip to wire map in memory with a moderate runtime increase and a dramatic memory decrease (2 GB to 200 MB for A50T). Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Merge pull request #565 from YosysHQ/dave/snakecaseDavid Shah2021-02-0318-384/+386
|\ | | | | Use snake case consistently for non-Arch-API functions
| * Update coding.mdD. Shah2021-02-031-0/+2
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * ecp5: Use snake case for arch-specific functionsD. Shah2021-02-039-321/+321
| | | | | | | | | | | | | | This makes the difference clearer between the general arch API that everyone must implement; and helper functions specific to one arch. Signed-off-by: D. Shah <dave@ds0.me>
| * ice40: Use snake case for arch-specific functionsD. Shah2021-02-038-63/+63
|/ | | | | | | This makes the difference clearer between the general arch API that everyone must implement; and helper functions specific to one arch. Signed-off-by: D. Shah <dave@ds0.me>
* Merge pull request #561 from YosysHQ/dave/idstringlistDavid Shah2021-02-0337-496/+771
|\ | | | | Use IdStringList for bel/wire/pip/group names
| * Post-rebase fixD. Shah2021-02-021-4/+3
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * 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>