aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5
Commit message (Collapse)AuthorAgeFilesLines
* ecp5: Use snake case for arch-specific functionsD. Shah2021-02-038-310/+310
| | | | | | | 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>
* ecp5: Implement IdStringList for all arch object namesD. Shah2021-02-024-85/+66
| | | | | | | 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>
* refactor: Replace getXName().c_str(ctx) with ctx->nameOfXD. Shah2021-02-022-8/+7
| | | | | | 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-025-37/+45
| | | | | | | | | | | 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>
* arch: Add getNameDelimiter API for string listsD. Shah2021-02-021-0/+1
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* Run "make clangformat".Keith Rothman2021-02-024-27/+21
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add pybindings for new APIs.Keith Rothman2021-02-022-0/+14
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Rename Partition -> BelBucket.Keith Rothman2021-02-023-28/+28
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Working compile of ECP5.Keith Rothman2021-02-022-1/+15
| | | | 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>
* Initial refactoring of placer API.Keith Rothman2021-02-021-0/+3
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Seperate PipRange types in pybindings_shared.Keith Rothman2021-02-011-0/+3
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* cleanup: Spelling fixesD. Shah2021-01-282-2/+2
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* cleanup: Remove dead/unused codeD. Shah2021-01-281-25/+0
| | | | | | | 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>
* Move RelPtr/RelSlice out of arches into commonD. Shah2021-01-271-37/+1
| | | | | | | 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>
* ecp5: Fix bottom clock tile renaming for tilegroupsD. Shah2021-01-251-0/+8
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* clangformatDavid Shah2020-12-301-1/+2
| | | | Signed-off-by: David Shah <dave@ds0.me>
* ecp5: Improve pseudo-diff IO error handlingDavid Shah2020-12-271-2/+4
| | | | Signed-off-by: David Shah <dave@ds0.me>
* ecp5: Fix FF timing dataDavid Shah2020-12-171-4/+4
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Update CMakeLists.txtYehowshua Immanuel2020-11-171-1/+1
| | | | | I believe Prjtrellis has CMAKE define pytrellis as a shared module, not library. On MacOS, this makes a difference and NextPNR expected ``.dylib`` instead of ``.so``. Things still work on Linux.
* clangformatDavid Shah2020-11-141-4/+4
| | | | Signed-off-by: David Shah <dave@ds0.me>
* RelPtr: remove copy constructor and copy assignmentDavid Shah2020-11-131-0/+3
| | | | | | | These operations are meaningless for a data structure that references another structure relative to its location. Signed-off-by: David Shah <dave@ds0.me>
* ecp5: Fix handling of CLK/LSR wire attached settingsDavid Shah2020-11-051-2/+4
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Remove wire alias APIDavid Shah2020-10-151-9/+0
| | | | | | It has not actually been implemented in any router for over 2.5 years and causes nothing more than confusion. It can always be added back if it forms part of a future solution; possibly as part of a more general database structure rethink. Signed-off-by: David Shah <dave@ds0.me>
* ecp5: Fix some tricky ECLKSYNCB/CLKDIVF packing casesDavid Shah2020-10-091-0/+64
| | | | Signed-off-by: David Shah <dave@ds0.me>
* docs: Tidy upDavid Shah2020-10-011-30/+28
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Update primitives.mdkittennbfive2020-09-301-34/+33
|
* ecp5: Add support for setting PIO clampDavid Shah2020-09-261-0/+3
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Fix MESSAGE indicating where externally-built .bbas live.William D. Jones2020-08-221-1/+1
|
* Merge pull request #489 from YosysHQ/dave/ecp5-fix-ioddrx2David Shah2020-08-131-8/+8
|\ | | | | ecp5: Fix how ODDRX2 SCLK/RST are set
| * ecp5: Fix how ODDRX2 SCLK/RST are setDavid Shah2020-08-131-8/+8
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
* | ecp5: Run fixupHierarchy after packingDavid Shah2020-08-121-0/+1
|/ | | | Signed-off-by: David Shah <dave@ds0.me>
* Initial conversion to pybind11Miodrag Milanovic2020-07-231-18/+16
|
* ecp5: Add a warning for unknown LPF IOBUF attrsDavid Shah2020-07-131-0/+8
| | | | Signed-off-by: David Shah <dave@ds0.me>
* ecp5: Add SYSCONFIG settings to bitstreamDavid Shah2020-07-124-3/+38
| | | | Signed-off-by: David Shah <dave@ds0.me>
* ecp5: Add parsing of SYSCONFIG line in LPFDavid Shah2020-07-121-1/+20
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Merge pull request #463 from YosysHQ/fix-archcheckDavid Shah2020-07-021-2/+3
|\ | | | | Fix arch checks, and add these to CI
| * ecp5: Fix getTileBelDimZDavid Shah2020-06-291-2/+3
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
* | CMake: improve logic for discovering Trellis.whitequark2020-07-011-1/+25
| |
* | CMake: fix path checks in chipdb build scripts.whitequark2020-07-011-2/+2
| | | | | | | | | | | | | | `if(NOT DEFINED)` is not appropriate since a variable that contains `-NOTFOUND` still counts as `DEFINED`. This can cause issues if configuration fails, writes `-NOTFOUND` to the cache, and is then restarted.
* | ecp5: Fix derivation of OSCG timing constraintDavid Shah2020-06-291-1/+5
|/ | | | Signed-off-by: David Shah <dave@ds0.me>
* Fix clangformat and execute itMiodrag Milanovic2020-06-271-12/+8
|
* Update git ignore locationsMiodrag Milanovic2020-06-271-1/+1
|
* Merge pull request #460 from whitequark/better-embedDavid Shah2020-06-268-109/+66
|\ | | | | Simplify and improve chipdb embedding/loading
| * Simplify and improve chipdb embedding/loading.whitequark2020-06-268-109/+66
| |
* | Fix typowhitequark2020-06-251-1/+1
|/
* CMake: require at least version 3.5 (Ubuntu 16.04).whitequark2020-06-251-1/+1
|
* CMake: rewrite chipdb handling from ground up.whitequark2020-06-256-119/+151
|
* ecp5: Fix placement of DCCs to guarantee routeabilityDavid Shah2020-06-101-2/+44
| | | | Signed-off-by: David Shah <dave@ds0.me>