Skip to content

[AP] Created The APNetlist Class #2733

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

Conversation

AlexandreSinger
Copy link
Contributor

The APNetlist class holds the blocks and nets used during the AP flow. In the AP context, a block is a collection of primitives which would want to be placed in the same location (i.e. they want to move together). Currently, each block represents a pack molecule (created by the Prepacker). The nets are logical connections between blocks. The APNetlist will not contain any nets which are not needed for AP.

The APNetlist is tested using a Unit Test which tests its basic functionality (features that differ from the base Netlist class).

This is the first of many commits which will bring Analytical Placement into VPR.

@github-actions github-actions bot added VPR VPR FPGA Placement & Routing Tool lang-cpp C/C++ code labels Sep 20, 2024
@AlexandreSinger AlexandreSinger removed the lang-cpp C/C++ code label Sep 20, 2024
@AlexandreSinger
Copy link
Contributor Author

@vaughnbetz This PR is the first of many. It brings in the APNetlist into VPR. It also begins the new analytical_place folder. Do let me know what you think about the name. I have also added a unit test to lock in this feature. Disregard the failing testcase, this is a bad golden result which I resolved in another PR. Please review!

The APNetlist class holds the blocks and nets used during the AP flow.
In the AP context, a block is a collection of primitives which would
want to be placed in the same location (i.e. they want to move
together). Currently, each block represents a pack molecule (created by
the Prepacker). The nets are logical connections between blocks. The
APNetlist will not contain any nets which are not needed for AP.

The APNetlist is tested using a Unit Test which tests its basic
functionality (features that differ from the base Netlist class).

This is the first of many commits which will bring Analytical Placement
into VPR.
@github-actions github-actions bot added the lang-cpp C/C++ code label Sep 21, 2024
Copy link
Contributor

@vaughnbetz vaughnbetz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some comments -- use your judgement of what to change.
I would change the APBlockType name to APBlockMobility

Feedback from Vaughn, who thinks that APBlockType was a bit ambiguous
and may cause problems later. He recommended calling it mobility
instead.
@AlexandreSinger
Copy link
Contributor Author

AlexandreSinger commented Sep 23, 2024

@vaughnbetz This has passed all of the regular CI tests. The NightlyTests seem to be failing again; however, I think this PR can still be merged since it does not touch any of the code in NightlyTests. Please merge.

@vaughnbetz vaughnbetz merged commit 2c2af51 into verilog-to-routing:master Sep 23, 2024
37 of 53 checks passed
@AlexandreSinger AlexandreSinger deleted the feature-ap-upstreaming branch November 27, 2024 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lang-cpp C/C++ code VPR VPR FPGA Placement & Routing Tool
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants