mirror of https://github.com/YosysHQ/nextpnr.git
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> |
||
|---|---|---|
| .. | ||
| himbaechel_dbgen | ||
| uarch | ||
| .gitignore | ||
| CMakeLists.txt | ||
| arch.cc | ||
| arch.h | ||
| arch_pybindings.cc | ||
| arch_pybindings.h | ||
| archdefs.h | ||
| chipdb.h | ||
| himbaechel_api.cc | ||
| himbaechel_api.h | ||
| himbaechel_constids.h | ||
| himbaechel_gfxids.h | ||
| himbaechel_helpers.cc | ||
| himbaechel_helpers.h | ||
| main.cc | ||