nextpnr/himbaechel
Max Aigner ca97eb6ec2 gatemate: diagnose multiplier routing conflicts instead of asserting
find_and_bind_downhill_pip() bound multiplier halo pips unconditionally, so two
multiplier clusters placed close enough that their dedicated (locked) routing
overlaps would trip the opaque bindPip assertion (base_arch.h: w2n_entry == nullptr).

Make the primitive:
 - idempotent when the destination wire is already part of THIS net's route
   (a revisit of a shared start wire is a no-op, not an error);
 - fail with an actionable message naming the wire and both contending nets when
   a DIFFERENT net already holds the wire -- never silently drop the connection.

This does not yet prevent the collision (that needs a placement-spacing rule so
two multiplier clusters' halos cannot overlap); it converts an opaque abort into
a diagnosable error and removes a latent same-net re-bind assertion.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-10 12:30:09 +02:00
..
himbaechel_dbgen himbaechel: Extend API to enable cell delay override (#1535) 2025-08-20 06:32:18 +02:00
uarch gatemate: diagnose multiplier routing conflicts instead of asserting 2026-07-10 12:30:09 +02:00
.gitignore himbächel: Initial implementation 2023-05-13 08:26:41 +02:00
CMakeLists.txt Gatemate FPGA initial support (#1473) 2025-04-22 16:41:01 +02:00
arch.cc himbaechel: Enable use of electrostatic placer (#1657) 2026-03-03 12:19:41 +01:00
arch.h himbaechel: bounds check getBelByLocation 2026-05-04 13:38:04 +02:00
arch_pybindings.cc himbaechel: Add Python binding for get_tile_wire_range 2025-06-25 18:37:17 +02:00
arch_pybindings.h himbächel: Initial implementation 2023-05-13 08:26:41 +02:00
archdefs.h Add GroupId related calls to Himbaechel API (#1399) 2024-12-05 13:59:33 +01:00
chipdb.h himbaechel: Extend API to enable cell delay override (#1535) 2025-08-20 06:32:18 +02:00
himbaechel_api.cc himbaechel: Enable use of electrostatic placer (#1657) 2026-03-03 12:19:41 +01:00
himbaechel_api.h himbaechel: Enable use of electrostatic placer (#1657) 2026-03-03 12:19:41 +01:00
himbaechel_constids.h himbächel: Initial implementation 2023-05-13 08:26:41 +02:00
himbaechel_gfxids.h Add GroupId related calls to Himbaechel API (#1399) 2024-12-05 13:59:33 +01:00
himbaechel_helpers.cc himbaechel: Add support for new constants API 2023-11-07 09:00:03 +01:00
himbaechel_helpers.h clangformat 2024-09-30 14:51:33 +02:00
main.cc himbaechel: add uarch specific options parsing (#1582) 2025-10-21 14:41:53 +02:00