Skip to content

Enhanced 3D Placement Cost and Router Lookahead with Cross-Die Delay #2348

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

Merged
merged 274 commits into from
Nov 11, 2023

Conversation

amin1377
Copy link
Contributor

In this PR, I have introduced a new move to the placement stage, enabling the modification of a block's layer (in the second state of the agent). Additionally, the first three moves of the placement stage, which do not target the critical paths, have been enhanced in the following way. After calculating the x-y location, they now check whether the current layer has available space. If not, they search across layers to identify any free blocks at the designated x-y location. In case a free block is found, it is relocated to that layer; otherwise, the block remains in its current layer.

Furthermore, the router lookahead mechanism has been updated to account for the cost associated with crossing layers.

amin1377 and others added 24 commits July 6, 2023 12:54
…ne since inter layer uniform is now performed in state
…n box, assing the infinit delay in router lookahead
@github-actions github-actions bot added VPR VPR FPGA Placement & Routing Tool libarchfpga Library for handling FPGA Architecture descriptions labels Jul 12, 2023
@vaughnbetz
Copy link
Contributor

Needs format.
Try matrix.
Get QoR.
Post this PR: could try grabbing some cpu time by tuning SMALL_NET for incremental BB, and by defining a new fanout threshold at which we ignore bb costs/computations (would be a background task).

@amin1377
Copy link
Contributor Author

amin1377 commented Nov 10, 2023

Titan QoR:
The first column represents the master branch. In the second column, the data structure storing the number of sinks on each layer per net is implemented as a vector of arrays. The third column represents the case where this structure is a 2D matrix. Considering that a 2D matrix offers slight improvements, I have modified the implementation to use it.
Screenshot from 2023-11-10 09-55-47

@vaughnbetz
Copy link
Contributor

Great! Matrix it is (more maintainable as its a dynamic data structure, and faster too).

@amin1377
Copy link
Contributor Author

@vaughnbetz This PR is ready to merge.

@vaughnbetz vaughnbetz merged commit d4bed03 into master Nov 11, 2023
@vaughnbetz vaughnbetz deleted the 3d_link_cost_in_placement branch November 11, 2023 01:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
VPR VPR FPGA Placement & Routing Tool
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants