Skip to content

Improve the way the physical pins vector is updated for each physical tile type #1861

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
sfkhalid opened this issue Sep 30, 2021 · 2 comments

Comments

@sfkhalid
Copy link
Contributor

Currently each logical block pin is mapped to corresponding physical pins twice during the vpr flow - once after initial placement and once after the placement stage is done. This mapping is done by calling a routine called place_sync_external_block_connections for each cluster block. The mapping is stored in a vector map in the placement context called physical_pins.
The problem with the current set up is that during placement, when the block is moved to a different physical tile, the logical pin to physical pin mapping may no longer be correct. Further, calling the sync function to recalculate the mapping for each potential swap makes placement time increase significantly.

Proposed Behaviour

It would be good to have an improved way to keep track of the mapping between logical/physical pins. One that could quickly update the mapping for each logical pin as needed, rather than updating all at once at different stages in the vpr flow.

@vaughnbetz
Copy link
Contributor

This will be fixed by PR #1841 .

@sfkhalid
Copy link
Contributor Author

Fixed by PR #1841

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

No branches or pull requests

2 participants