[APPack] Updated How APPack Adheres to Given Placement #2934
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The original implementation of APPack was focused on reconstructing a given flat placement. This can cause issues if the given flat placement disagrees with the decisions of the packer.
Instead, updated APPack so that it treats the flat placement as a hint to help guide how it performs clustering.
Added the following new features:
Remove adding molecules near to the position of the cluster. This had similar affects to unrelated clustering and should be investigated separately later.
With these changes to APPack, the AP flow now improves WL of circuits by 1-3% at the expense of up to 15% runtime compared to the default VPR flow.
Results of the AP flow after this change compared to VPR with default options and timing analysis turned off:
9 Largest vtr_chain circuits:
Titan circuits:
Koios circuits:
These results are surprisingly good given that the partial legalizer does not take into account block types.