Description
nextpnr-ice40 operates at the logic cell (LUT+FF) level. Investigate the effect of clustering related logic together to take advantage of any local feedback paths (are there any?) and to reduce the placement search space.
Not sure about other architectures, but a general solution would be great.
Once related logic is determined, one possible way of encoding affinity could be placement constraints?
What's interesting is that there exists the flexibility to capture relationships that stretch between "put these two cells next to each other" to "put these five cells somewhere in the same tile" to "put these eight cells in exactly these eight locations in one tile".
placer1 will also need to be enhanced to cope with swapping constrained cells with other constrained cells...