aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5
Commit message (Collapse)AuthorAgeFilesLines
...
* 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>
* Merge pull request #447 from whitequark/wasiDavid Shah2020-05-242-8/+18
|\ | | | | Port nextpnr-{ice40,ecp5} to WASI
| * Port nextpnr-{ice40,ecp5} to WASI.whitequark2020-05-232-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This involves very few changes, all typical to WASM ports: * WASM doesn't currently support threads or atomics so those are disabled. * WASM doesn't currently support exceptions so the exception machinery is stubbed out. * WASM doesn't (and can't) have mmap(), so an emulation library is used. That library currently doesn't support MAP_SHARED flags, so MAP_PRIVATE is used instead. There is also an update to bring ECP5 bbasm CMake rules to parity with iCE40 ones, since although it is possible to embed chipdb into nextpnr on WASM, a 200 MB WASM file has very few practical uses. The README is not updated and there is no included toolchain file because at the moment it's not possible to build nextpnr with upstream boost and wasi-libc. Boost requires a patch (merged, will be available in boost 1.74.0), wasi-libc requires a few unmerged patches.
* | Merge pull request #440 from YosysHQ/lattice-fixesDavid Shah2020-05-183-0/+28
|\ \ | | | | | | Fixes for the Lattice SERDES eye demo designs
| * | ecp5: Disconnect dedicated DCU inputs if connected to constantsDavid Shah2020-05-141-0/+12
| | | | | | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
| * | ecp5: Improve global routing robustnessDavid Shah2020-05-141-0/+11
| | | | | | | | | | | | Signed-off-by: David Shah <dave@ds0.me>