1
0
mirror of https://github.com/YosysHQ/nextpnr.git synced 2026-02-16 21:01:31 +00:00
Commit Graph

4870 Commits

Author SHA1 Message Date
Lofty
795c284d48 Constrain routes to have correct inversion state 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
2c13107456 Add CPE input inverters 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
ba23199ed1 Fix CC_L2T5 pack 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
88f05a889d Start work on BUFG support 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
ce22d927b6 Use pin connection aliases 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
5f5a27477b Update due to API changes 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
fa30fe22e1 Use device wrapper class 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
9a917602d4 Cleanup 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
f3cf710625 Prevent pass trough issues 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
2c87767b1e Fix DFF pack 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
ec687be0f7 Handle MUX flags 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
bf6e7601d3 pack DFF fixes 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
53b1f73058 Naive pack CC_DFF 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
9a8e88e7db Naive lut tree CPE pack 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
36d6bc2503 Keep just used connections for now 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
12878929e0 Cleanup 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
9e47ce646f Add LVDS support 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
c92be9258a More parameter checks 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
110fe6f519 Cleanup 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
a05bbd75aa Fixed typo 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
0ff7c8ced0 Add IN1->RAM_O2 propagation 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
8f9afe64aa GPIO initial work 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
c8d046bb1b Fix script 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
8e591a97e0 Start adding infrastructure for reading bitstream 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
eb6cce2446 Add support for reading from config 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
0e77fac613 Restructure code 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
a56ef9b8f5 Propagate errors 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
1586cfc7ce Use CCF to set IO location 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
e95b87fbf1 Add CCF parsing 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
e2c1e5a354 Initial work on forming bitstream 2025-03-24 15:10:28 +00:00
Miodrag Milanovic
d11d0f4575 Initial code for GateMate 2025-03-24 15:10:28 +00:00
Lofty
661f76d51a Add arch API function for pip inversion (#1457) 2025-02-27 12:21:15 +01:00
gatecat
0c458f14f2 generic: Enable viaduct example test in CI
Signed-off-by: gatecat <gatecat@ds0.me>
2025-02-25 15:28:46 +00:00
gatecat
e751eaca47 generic: Fix archcheck crash
Signed-off-by: gatecat <gatecat@ds0.me>
2025-02-25 15:28:46 +00: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
Miodrag Milanović
1ed03ae9be gowin: Add deprecation message for nextpnr-gowin (#1455) 2025-02-13 20:31:53 +01:00
Miodrag Milanovic
6caa6e4e85 CMake: add_custom_target does not require EXCLUDE_FROM_ALL 2025-02-11 17:23:12 +00:00
Gabriel Somlo
e4115e85f7 Prevent chipdb array type narrowing conversion issues
When -Wnarrowing is enabled, compilation of generated
chipdb*.bin.cc files produces a large number of messages:

  "narrowing conversion of ... from ‘int’ to ‘const char’ [-Wnarrowing]"

Explicitly using uint8_t instead of char when referencing
embedded chipdb arrays resolves these issues.

Suggested-by: Catherine <whitequark@whitequark.org>
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2025-02-01 05:28:29 +00:00
Catherine
77187613e3 kernel: look up ports when applying clock constraints. (#1448)
prjunnamed does not emit a net alias for toplevel ports. This works
fine for constraining IOs but breaks clock constraints. This commit
expands clock constraint application code to look up net aliases first,
ports second.
2025-01-31 08:30:39 +00:00
Catherine
b64bf018ea frontend: don't connect a const net to ports connected to x. (#1447)
prjunnamed normalizes ports that are not present in the primitive
to be all-x. On iCE40, this can cause a false placement conflict
between `SB_IO` cells where one's clock input is `x` and another's is
some other net.
2025-01-31 08:29:58 +00:00
YRabbit
81ccada239 Gowin. Add I3C io buffer. (#1445)
* Gowin. Add I3C io buffer.

A buffer is added that can operate as a normal IOBUF in PUSH-PULL mode
or switch to open-drain IOBUF mode.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>

* Gowin. Turn a variable into a set of flags

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>

---------

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2025-01-29 14:02:21 +01:00
YRabbit
a76c5b5a0f Gowin. Typo fix.
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2025-01-29 08:47:41 +01:00
YRabbit
b95a3ca567 Gowin. Implement MIPI IO.
Adds output (MIPI_OBUF and MIPI_OBUF_A) and input (MIPI_IBUF) primitives
to allow the use of “real” MIPI (not emulation) ports capable of
operating in both HS and LP modes.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2025-01-29 08:47:41 +01:00
Catherine
cf9c74575b CMake: exclude *-bba and *-chipdb targets from make all.
Due to the way CMake-generated Makefiles evaluate dependencies, this
calls the `.bba` generation custom command twice, which then fails as
they both use the same `.bba.new` file as an output and one of them
moves it first.

This broke builds using `make -j` but not builds using
`make -j nextpnr-himbaechel-example`.
2025-01-29 06:58:27 +01:00
Catherine
922c3a1b7f Update README to mention checking out submodules. 2025-01-28 03:07:57 +00:00
Miodrag Milanovic
8c968092a7 Update README to represent most recent changes in build system 2025-01-28 02:51:47 +00:00
gatecat
ede78f3730 ecp5: Fix constant and inverted CEMUX
Signed-off-by: gatecat <gatecat@ds0.me>
2025-01-27 11:46:25 +01:00
Gabriel Somlo
0c060512c1 Fix undefined type error in 3rdparty/json11/json11.cpp
Under certain conditions (e.g., building on Fedora 42
using gcc-15.0.1), compilation fails with the following
error:

    "error: ‘uint8_t’ does not name a type"

Explicitly include <cstdint> to prevent that situation.

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2025-01-23 14:42:14 +01:00
Miodrag Milanovic
d673d04ff3 CMake: fix windows BBA resource embedding 2025-01-23 11:15:34 +00:00
Miodrag Milanović
e12093201a CMake: Add include guards when IMPORT_BBA_FILES is used (#1438) 2025-01-23 10:54:37 +01:00