Skip to content

Conversation

@clavin-xlnx
Copy link
Member

This improves FanOutOptimization in the following ways:

  1. Instead of only supporting nets that are driven by flops, this also supports nets driven by LUTs and will replicate them accordingly.
  2. Adds a flag that enables replicated cells (and the original cell) to be placed in partially used sites. Previously, this was problematic, but the bugs should be fixed now. However, when running with this option, users will probably need to run route_design instead of route_design -preserve.
  3. The clustering is now done before cell replication and cells are placed based on their cluster sinks. If a LUT is being duplicated, the centroid for placement also includes the source drivers of the LUT inputs as they are part of the timing path.

Signed-off-by: Chris Lavin <chris.lavin@amd.com>
Signed-off-by: Chris Lavin <chris.lavin@amd.com>
Signed-off-by: Chris Lavin <chris.lavin@amd.com>
Signed-off-by: Chris Lavin <chris.lavin@amd.com>
@clavin-xlnx clavin-xlnx merged commit 57438b9 into master Dec 15, 2025
18 checks passed
@clavin-xlnx clavin-xlnx deleted the replicate_luts branch December 15, 2025 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants