Skip to content

Commit 0233739

Browse files
[Packer] Updated the Next State Logic of Iterative Re-Packing
The packer iteratively re-packs the netlist if it fails to create a dense enough packing. The way it does this can be thought of like states, where each state turns on a new set of packer options that can create a denser clustering. The prior state transition logic for the iterative re-packing did not turn on enough options to make the clustering as dense as VTR can manage. This updates the state transition logic to create even more dense clusterings. The next state logic is as follows: - If there is an over-utilized block type, turn on unrelated clustering and balanced block type utilization if able. - If there are overfilled floorplan regions, create more attraction groups than the prior iteration (or increase the pull). If all regions have attraction groups and the pull is strong, do not increase further. - Finally, if all else fails, increase the target external pin utilization if any of the overfilled block types have target pin utilizations less than 1.0. - If all prior fails, fail hard. Found that for the Z1000 architecture, this increased the maximum LUT utilization from around 68% to around 86%.
1 parent 88cae23 commit 0233739

File tree

3 files changed

+158
-97
lines changed

3 files changed

+158
-97
lines changed

0 commit comments

Comments
 (0)