Commit Graph

452 Commits

Author SHA1 Message Date
Miodrag Milanović 84d8e1abe7
Use improved CPE model (#1503)
* CPE mapping improvements

* Use CP_OUT for adders

* Fixes

* Small fixes

* Cleanups

* Cleanup

* Cleanups

* Fixes

* Fixes

* Optimize

* Cleanup

* clangformat

* Cleanup

* Cleanup

* Bump required version of database

* Cleanup

* Resolve name conflicts

* Fix signal routing

* Make CPE_LATCH separate

* Add more timings models, need updated values

* Fixed warning

* multiplier support from lofty/gatemate-mult

* explicitly zero some params in B passthrough

* comment the relevant CPE inputs in check_multipliers

* Rename some of bels

* remove _lower from name

* refactor multiplier checking

* Revert "remove _lower from name"

This reverts commit daa1041bdf.

* Fixe net name to be unique

* Make sure we at least generate bitstream with all info

* Simplify zero

* Bounded cell type in gui

* typo fix

* Remove A passthrough inversion option

* Clean up CarryGenCell config

* Update a passthru to use new primitives

* Cleanup for adders

* Clean up MsbRoutingCell

* Cleanup

* Refactor A connection code

* Make it more as in PR #1513

* Added cplines to bpassthru and fixed constant driver for A

* Add parts

* Added comp out connections

* clangformat

* clangformat

* Clean up B passthrough connections

* wire up a bunch of intermediate signals

* Bit of cleanup

* handing of C_EN_IN

* C_EN_CIN fixes

* connect f_route to its lines

* fix cite for FRoutingCell

* fixup, oops

* connect multfab to its lines

* Commented line

* Connect CPOUTs

* Handle C_I params

* connect CINY1 for CarryGenCell

* fix carry gen CINX

* Update L2T4 model

* Updates for ADDCIN

* clangformat

* fix some issues with multfab and f_route

* look at C_I when doing inversion

* Only set some C_I signals when used

* Fix one more place

* do not use cplines so we can merge in one cell

* Cover cases that could be optimized out

* clangformat

* Cleanups

* Disable multiplier usage for now

---------

Co-authored-by: Lofty <dan.ravensloft@gmail.com>
2025-07-07 10:14:48 +02:00
YRabbit f3a5024de2
Gowin: Remove nextpnr-gowin (#1318)
Boards with Gowin chips are supported in the Himbaechel architecture
with much greater correctness and a wider range of primitives.

In fact, at the moment the advice “use himbaechel-gowin” immediately
solves a
significant part of the issues opened by users.

Of course, you need to wait for amendments to oss-cad-suite, at least
https://github.com/YosysHQ/oss-cad-suite-build/pull/109

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2025-02-14 00:08:12 +00:00
Catherine 6855b558ac CMake: use imported target for pybind11 (in the GUI).
See commit 43b2f385.
2025-01-22 21:48:40 +00:00
Catherine cd7f7c12f1 CMake: refactor architecture-specific build system parts.
Two user-visible changes were made:
* `-DUSE_RUST` is replaced with `-DBUILD_RUST`, by analogy with
  `-DBUILD_PYTHON`
* `-DCOVERAGE` was removed as it doesn't work with either modern GCC
  or Clang
2025-01-21 17:13:03 +00:00
Catherine 155adc3f5d CMake: rationalize and refactor build system.
The two main changes, done together in this commit, are:
* Eliminating most instances of `aux_source_directory()`, replacing
  them with explicit file listings; and
* Moving these file listings into respective subdirectories by
  representing respective nextpnr components as interface libraries.

In addition, the GUI CMake script tree was simplified since it had
a lot of unused/redundant code.

The `aux_source_directory()` command is not recommended for use by
CMake itself because it misses dependency changes when adding/removing
files, and consequently causes build failures requiring a clean rebuild.

This commit does not touch anything related to architectures/families,
which are very complex and redundant all on their own.
2025-01-16 11:36:44 +01:00
Catherine d214308f5f CMake: reformat for consistency.
Normalize keywords to:

    if (...)
    elseif (...)
    else()
    endif()

    foreach (...)
    endforeach()

    other(...)

Normalize whitespace to 4 spaces.
2025-01-16 11:36:44 +01:00
gatecat 9b51c6e337 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-30 14:51:33 +02:00
gatecat a29a17f8f2 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2024-06-18 13:54:12 +02:00
Miodrag Milanovic ac725465a9 gui: fix warning on closing application 2024-04-05 12:25:52 +02:00
Miodrag Milanovic 75af8ccfd2 gui: user more reliable locking 2024-04-05 12:25:52 +02:00
gatecat 4220ce1007 gui: Remove const on max_elems_
Signed-off-by: gatecat <gatecat@ds0.me>
2024-01-18 15:34:40 +01:00
gatecat 2afb1f632e clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2024-01-12 10:09:28 +01:00
Lofty 2c8ad5fa1d Fix a renamed Qt item 2024-01-04 17:32:56 +01:00
dragonmux e9c69ac00c gui: Fixed unused parameters and spurious `;` warnings in one of the headers 2024-01-04 10:39:45 +01:00
gatecat 4a4025192a run clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2023-12-26 09:54:34 +01:00
Miodrag Milanovic e3f4578b3b CRLF -> LF eol 2023-11-23 09:22:07 +01:00
Miodrag Milanovic ec60542ffd create wiremap for himbaechel arch 2023-11-23 09:22:07 +01:00
Miodrag Milanovic 1ec8e411d7 set render bound box, so grid is displayed 2023-11-23 08:21:26 +01:00
Miodrag Milanovic 0b8a93eed5 fix compile warning 2023-11-23 08:21:26 +01:00
Justin Rajewski 95f0a19391 Fixes for building on windows 2023-10-26 21:21:14 +02:00
Miodrag Milanovic 5a2eff2120 compile fix 2023-10-09 09:00:27 +02:00
rowanG077 914999673c Rip out budgets 2023-06-20 10:57:10 +02:00
gatecat 57b923a603 himbächel: Initial implementation
Signed-off-by: gatecat <gatecat@ds0.me>
2023-05-13 08:26:41 +02:00
Miodrag Milanovic 8c19e6f83a clangformat 2023-05-04 14:23:08 +02:00
Miodrag Milanovic 05a191a014 Added LPF support 2023-05-04 14:23:08 +02:00
gatecat 6455b5dd26 viaduct: Add support for GUIs
Signed-off-by: gatecat <gatecat@ds0.me>
2023-04-11 19:11:54 +02:00
gatecat 4111cc25d6 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2023-03-17 09:31:38 +01:00
Miodrag Milanovic 11a90aff83 Fix out of tree builds and place h in generated 2023-03-16 13:37:23 +01:00
Miodrag Milanovic 6eb5f2a77e Enable wires and add dummy wire type for now 2023-03-16 13:37:23 +01:00
Miodrag Milanovic 1f115ddd32 Basic GUI part selection 2023-03-16 13:37:23 +01:00
Miodrag Milanovic 7ad9914e51 Extend chipdb with metadata 2023-03-16 13:37:23 +01:00
Miodrag Milanovic 26f23e3121 Make small GUI changes 2023-03-16 13:37:23 +01:00
YRabbit 4736acb3d5 fix identation
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2022-03-14 17:42:50 +10:00
YRabbit e0f55e6d69 gowin: BUGFIX temporarily disable the budget
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2022-03-14 14:23:20 +10:00
YRabbit 22e4081c73 gowin: Add GUI.
* Items such as LUT, DFF, MUX, ALU, IOB are displayed;
* Local wires, 1-2-4-8 wires are displayed;
* The clock spines, taps and branches are displayed with some caveats.

For now, you can not create a project in the GUI because of possible
conflict with another PR (about GW1NR-9C support), but you can specify
the board in the command line and load .JSON and .CST in the GUI.

Although ALUs are displayed, but the CIN and COUT wires are not. This is
still an unsolved problem.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2022-01-29 14:45:17 +10:00
gatecat df061b1a9c mistral: Add 'tools' dir to include path
Signed-off-by: gatecat <gatecat@ds0.me>
2021-12-11 19:07:30 +00:00
gatecat f7be385230 mistral: Include mistral generated files in include dirs
Signed-off-by: gatecat <gatecat@ds0.me>
2021-08-15 15:13:31 +01:00
gatecat bbb1ea26b6 gui: Fix some typos
Signed-off-by: gatecat <gatecat@ds0.me>
2021-07-25 12:11:03 +01:00
gatecat 0e3b25468c gui: Implement about dialog
Signed-off-by: gatecat <gatecat@ds0.me>
2021-07-25 12:06:51 +01:00
gatecat 41eecd7ce2 gui: Improve Fatal Error message
Signed-off-by: gatecat <gatecat@ds0.me>
2021-07-20 15:01:34 +01:00
Miodrag Milanovic 5c6b8a5f04 Preserve ArchArgs and reinit Context when applicable in GUI 2021-06-30 10:10:18 +02:00
Miodrag Milanovic 6c23fe202c loading json should be disabled in this place 2021-06-30 09:46:25 +02:00
gatecat 2ffb081442 Fixing old emails and names in copyrights
Signed-off-by: gatecat <gatecat@ds0.me>
2021-06-12 13:22:38 +01:00
gatecat 875004d300 gui: Don't destroy context when loading JSON
Signed-off-by: gatecat <gatecat@ds0.me>
2021-06-07 21:07:17 +01:00
gatecat d946cfd265 mistral: Fix include path in GUI cmake, too
Signed-off-by: gatecat <gatecat@ds0.me>
2021-06-07 15:19:24 +01:00
gatecat dcbb322447 Remove redundant code after hashlib move
Signed-off-by: gatecat <gatecat@ds0.me>
2021-06-02 15:05:20 +01:00
gatecat eca1a4cee4 Use hashlib in most remaining code
Signed-off-by: gatecat <gatecat@ds0.me>
2021-06-02 15:05:20 +01:00
gatecat 2bef7b5f7b clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2021-06-01 17:10:40 +01:00
Miodrag Milanovic 473723b24a Fix hidpi, fixes #167, fixes #275, fixes #425 2021-05-31 16:20:43 +02:00
gatecat a581526528 mistral: Python and GUI stub
Signed-off-by: gatecat <gatecat@ds0.me>
2021-05-15 14:54:33 +01:00