gatecat
a3bccdd33d
xilinx: Use clock router for MMCMs too
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-04-09 14:22:06 +02:00
gatecat
f99422dcad
xilinx: Better use global clocking resources
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-04-09 13:37:52 +02:00
myrtle
c6b876fc85
control set awareness in the HeAP legaliser ( #1678 )
...
* xilinx: Index control sets
Signed-off-by: gatecat <gatecat@ds0.me>
* heap: data structure for control sets
Signed-off-by: gatecat <gatecat@ds0.me>
* heap: fail faster on control set mismatch
Signed-off-by: gatecat <gatecat@ds0.me>
* xilinx: Reduce control set search radius
Signed-off-by: gatecat <gatecat@ds0.me>
* Fix compiler warning
Signed-off-by: gatecat <gatecat@ds0.me>
* heap: Allow disabling control set awareness for comparison/debug
Signed-off-by: gatecat <gatecat@ds0.me>
* heap: Add some notes about control sets
Signed-off-by: gatecat <gatecat@ds0.me>
* heap: Fix typo and regression
Signed-off-by: gatecat <gatecat@ds0.me>
* heap: Add a schedule for ctrlset search radius
Signed-off-by: gatecat <gatecat@ds0.me>
* heap: Tidy up
Signed-off-by: gatecat <gatecat@ds0.me>
---------
Signed-off-by: gatecat <gatecat@ds0.me>
2026-04-02 13:36:50 +02:00
myrtle
10c5997007
xilinx: Improve LUT/CARRY->FF packing ( #1683 )
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-04-01 11:22:00 +02:00
Balint Cristian
497d685139
xilinx: Use proper xray-db device family subfolder ( #1680 )
2026-04-01 11:10:07 +02:00
gatecat
fcc1a33f75
xilinx: Derive clock constraints through PLLs
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-03-24 14:08:37 +01:00
gatecat
e652226630
xilinx: Prohibit IDELMUXE3 route throughs
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-03-17 10:34:59 +00:00
Justin
77c5c67ade
fix: handle string DRIVE property in pack_io without crashing ( #1668 )
...
* fix: handle string DRIVE property in pack_io without crashing
The XDC parser stores all set_property values as string Properties,
but pack_io.cc called as_int64() on DRIVE which asserts !is_string.
Rather than converting numeric values to integer Properties in the
XDC parser (which risks breaking properties like LOC that downstream
code reads via to_string()/as_string()), fix the consumption site
in pack_io.cc to convert string values to integers when needed.
* refactor: use int_or_default for DRIVE property parsing
Replace manual is_string/as_int64 branching with int_or_default(),
which already handles both Property types with proper error reporting.
2026-03-14 07:01:10 +00:00
gatecat
4ace8952d3
xilinx: Support cascaded IOSERDES and TMDS
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-03-05 13:59:35 +01:00
gatecat
8c40db213a
xilinx: Stub predictDelay implementation
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-03-04 11:28:10 +01:00
gatecat
f177c39c0b
xilinx: Mark global buffers as such for HeAP/SA
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-03-04 09:54:20 +01:00
gatecat
fcaafbaa08
static: Fix NaN on a big xilinx design
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-03-04 09:46:08 +01:00
myrtle
575689b7e4
himbaechel: Enable use of electrostatic placer ( #1657 )
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-03-03 12:19:41 +01:00
myrtle
eba9764645
xilinx: Import timings for BRAM ( #1653 )
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-03-02 10:10:55 +01:00
gatecat
0d3a578539
run clangformat
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-02-25 11:18:14 +01:00
gatecat
1f4d3fdc91
Add a workaround for DCI for now
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-02-21 20:17:34 +01:00
gatecat
fc1f50937c
xilinx: Enable MMCM related pips
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-02-21 20:17:34 +01:00
gatecat
05e6915369
xilinx: Fix RAM256X1S packing
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-02-21 20:17:34 +01:00
gatecat
0cd6e72d5f
xilinx: Add MMCM support
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-02-21 20:17:34 +01:00
gatecat
c0ff514582
xilinx: Work around missing kintex7 timing for now
...
Signed-off-by: gatecat <gatecat@ds0.me>
2026-02-21 17:52:08 +01:00
Miodrag Milanović
9ccd132437
himbaechel: add uarch specific options parsing ( #1582 )
...
* himbaechel: add uarch specific options parsing
* fix tests
* add reference to additional help
* review comments addressed
* cleanup and unify other uarch
* Adressed PR comments
2025-10-21 14:41:53 +02:00
José Miguel Sánchez García
1d4b0eeac4
himbaechel: xilinx: misc `CMakeLists.txt` improvements ( #1509 )
...
* himbaechel: xilinx: replace `/usr/bin/pypy3` with `${Python3_EXECUTABLE}`
* himbaechel: xilinx: recognize `IMPORT_BBA_FILES` inside `CMakeLists.txt`
* himbaechel: xilinx: align CMake device selection behavior with gatemate
2025-07-02 14:58:09 +02:00
myrtle
27635785c8
heap: Allow customising legalisation ordering ( #1507 )
...
Signed-off-by: gatecat <gatecat@ds0.me>
2025-07-01 15:32:28 +02:00
gatecat
1cd1e4a8d9
xilinx: Fix packing of weird mux trees
...
Signed-off-by: gatecat <gatecat@ds0.me>
2025-06-25 12:38:11 +02:00
gatecat
226a2dfdb4
clangformat
...
Signed-off-by: gatecat <gatecat@ds0.me>
2025-05-20 13:19:52 +02:00
Catherine
90d746f79e
CMake: add support for exporting and importing .bba files.
...
This is useful for certain cross-compilation workloads, and to cache
rarely changing build products.
To use this functionality, build e.g. as follows:
cmake . -B build-export -DEXPORT_BBA_FILES=../bba-files -DARCH=all
cmake --build build-export -t nextpnr-all-bba
cmake . -B build-import -DIMPORT_BBA_FILES=../bba-files -DARCH=all
cmake --build build-import
2025-01-23 07:49:12 +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
dcfb7d8c33
CMake: align Himbaechel targets with non-Himbaechel ones.
...
Primarily, this commit makes both of them use the `BBAsm` functions
to build and compile `.bba` files.
In addition, Himbaechel targets are now aligned with the rest in
how they are configured: instead of having all uarches enabled with
all of the devices disabled (the opposite of the rest of nextpnr),
uarches must be enabled explicitly but they come with all devices
enabled (except for Xilinx, which does not have a list of devices).
2025-01-21 17:13:03 +00: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
Catherine
5fe680390f
Various fixes for clang/libc++ build ( #1415 )
...
* Gowin: add header includes required on libstdc++.
* kernel: fix incorrect printf-style format.
* himbaechel: add missing `override` qualifiers.
* Gowin: remove unnecessary `std::move`.
These calls inhibit RVO, a stronger optimization than moving an object.
2025-01-12 08:11:33 +01:00
Adrien Prost-Boucle
7f33329fe1
Himbaechel Xilinx : XDC commands : Also search nets with lowercase for better interoperability with other synthesis tools and RTL languages
2024-10-01 15:24:40 +02:00
Adrien Prost-Boucle
3d00b97e0a
Himbaechel Xilinx : Support get_nets with braces around net name in XDC commands
2024-10-01 15:24:40 +02:00
Adrien Prost-Boucle
a9cc7f453d
Himbaechel Xilinx : Support multiple nets per command
2024-10-01 15:24:40 +02:00
Adrien Prost-Boucle
ff9ba9e090
Himbaechel Xilinx : More warning messages about unsupported things in XDC file
2024-10-01 15:24:40 +02:00
gatecat
1967db170d
xilinx: Support for complex IOLOGIC
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-27 17:37:46 +02:00
gatecat
24fc33c014
xilinx: Basic I/ODDR support
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-27 17:09:15 +02:00
gatecat
d3c0f945da
xilinx: Fix BRAM placement, clangformat
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-27 16:24:47 +02:00
gatecat
38e5faca85
xilinx: Fix workaround for unsupported xdc construct
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-27 16:07:38 +02:00
gatecat
e4dfd4e622
xilinx: Support single-port LUTRAM variants
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-26 18:11:01 +02:00
gatecat
7516b8950a
xilinx: Few more stub timings
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-26 17:30:36 +02:00
gatecat
118ecbc6b3
xilinx: Remove unnecessary assert
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-26 15:58:16 +02:00
gatecat
c90d872e35
xilinx: Filter out another missing pip type
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-26 15:56:20 +02:00
Adrien Prost-Boucle
437fb70ed3
Himbaechel xilinx : Fix packing of cascaded DSP
2024-09-24 12:06:56 +02:00
Adrien Prost-Boucle
9da05b6001
Himbaechel xilinx : DSP packing : Emit a non-fatal error message
2024-09-24 12:06:56 +02:00
Adrien Prost-Boucle
2031a067a0
Himbaechel xilinx : More flexibility about types of DSP parameters
2024-09-24 12:06:56 +02:00
Adrien Prost-Boucle
81bf92a855
Himbaechel xilinx : DSP packing : Disable clustering
2024-09-24 12:06:56 +02:00
Adrien Prost-Boucle
8a0e062520
Himbaechel xilinx : DSP packing : Improve code efficiency
2024-09-24 12:06:56 +02:00
Adrien Prost-Boucle
9bea22ed1e
Himbaechel xilinx : DSP packing : Fix identification of cascaded ports and share identification code
2024-09-24 12:06:56 +02:00
Adrien Prost-Boucle
ad9a54cc69
Himbaechel xilinx : More cascaded input ports for which routing is skipped
2024-09-24 12:06:56 +02:00
Adrien Prost-Boucle
04f5f80766
Himbaechel xilinx : Add safety check in DSP packing for 7-series
2024-09-24 12:06:56 +02:00