Skip to content

Add tileable RR Graph #3134

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

Open
wants to merge 90 commits into
base: master
Choose a base branch
from
Open

Add tileable RR Graph #3134

wants to merge 90 commits into from

Conversation

amin1377
Copy link
Contributor

@amin1377 amin1377 commented Jun 11, 2025

Merging OpenFPGA branch into master branch. PR #2135 explains features of OpenFPGA.

@github-actions github-actions bot added VPR VPR FPGA Placement & Routing Tool libarchfpga Library for handling FPGA Architecture descriptions docs Documentation lang-cpp C/C++ code libvtrutil labels Jun 11, 2025
@amin1377
Copy link
Contributor Author

Thanks @vaughnbetz, @soheilshahrouz, and @AlexandreSinger for your reviews. I’ve addressed your comments, and I believe the PR is now ready for the next round of review if you’d like.

is_flat,
Warnings,
router_opts.route_verbosity);
if (e_graph_type::UNIDIR_TILEABLE != graph_type) {
Copy link
Contributor

Choose a reason for hiding this comment

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

now that we have two separate rr graph generators, I think we should this function to another file and keep the source code of these two generators as separate as we can

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You mean moving create_rr_graph to another?

@amin1377
Copy link
Contributor Author

amin1377 commented Jul 2, 2025

Thanks @soheilshahrouz. I’ve addressed your comments; please let me know if you have any further suggestions.

Copy link
Contributor

@soheilshahrouz soheilshahrouz left a comment

Choose a reason for hiding this comment

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

These comments apply to most files under tileable_rr_graph/ directory:

  1. integer and bool arguements are passed by const reference. They should be passed by value.
  2. Documentation comments appear at function definition. They should use doxygen style and be moved to the declartion.
  3. Block comments are used for implementation-related comments.
  4. Some range-based loops use const references to iterate over integers (ids). They should iterate by value.

/* X_AXIS: Data that describes an x-directed wire segment (CHANX) *
* Y_AXIS: Data that describes an y-directed wire segment (CHANY) *
* BOTH_AXIS: Data that can be applied to both x-directed and y-directed wire segment */
enum class e_parallel_axis {
Copy link
Contributor

Choose a reason for hiding this comment

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

This enum is used even when VIB is not used. I think it should be move to a different file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Documentation lang-cpp C/C++ code libarchfpga Library for handling FPGA Architecture descriptions libvtrutil VPR VPR FPGA Placement & Routing Tool
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants