-
Notifications
You must be signed in to change notification settings - Fork 414
RRGraphView rr_segments() Implementation #1910
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
RRGraphView rr_segments() Implementation #1910
Conversation
@tangxifan
But I got following errors. ![]() I think we also need to add it in line line 1874
but when find the call hierarchy of segment_inf_; its called in line 1152,1184,1553 and others.
which causes me to change in many files, and pass RRSegmentId there. Can you please review how we will move next?Because I already made changes in a lot of files that didn't worked. |
@umariqbal-rs If the changes are within the file You may need to change some APIs, where convert the
For the vtr-verilog-to-routing/vpr/src/route/rr_graph_uxsdcxx_serializer.h Lines 1554 to 1557 in bae983f
|
@tangxifan
and
and where it is needed in rr_graph_uxsdcxx_serializer.h I also done type conversion from std to vtr in vtr-verilog-to-routing/vpr/src/route/rr_graph_uxsdcxx_serializer.h Lines 1554 to 1557 in bae983f
this function is declared in rr_graph_indexed_data.cpp
when we followup its call hierarchy it needs us to change in many others files and functions. Although I have changed in where it is needed. But I want your suggestions how can I avoid these large code changes and avoiding to stuck in last. Please review it and suggest me how can i move forward. |
For the |
@tangxifan
Is this you suggested me to do? But still I am having an error Can you Please review it and suggest me how to resolve this ? |
You need to create a local copy of the
|
@umariqbal-rs please also resolve merging conflicts. |
@tangxifan
But I encountered with following errors. ![]()
and
Can you Please review it and suggest me how can we move forward. |
@umariqbal-rs Sorry for the typo. It should be |
@umariqbal-rs I see errors in read_rr_graph. Please double check in the rr_graph_reader.cpp files if you have fill the rr_segments correctly. |
@tangxifan
can you Please review it is anything i did wrong? |
@umariqbal-rs I think it is because we did not clear the device_ctx.rr_segments before reserve. Can you add it to this file
vtr-verilog-to-routing/vpr/src/route/rr_graph.cpp Line 1352 in 0994698
|
tangxifan Can you Please review and suggest me how can we move forward. |
QoR tests are complete and quick summary is given below. QoR comparison files are also attached. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@umariqbal-rs Minor changes required. It looks o.k.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks o.k. to me. Some minor changes required but we can do it in a follow-up PR.
QoR tests are complete and quick summary is given below. QoR comparison files are also attached. |
@umariqbal-rs Look good. I propose to merge now. Remember to create a follow-up PR to correct the comments. |
|
||
inline const t_segment_inf& rr_segments(RRSegmentId seg_id) const { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From @vaughnbetz: in future, we should think about more high-level API, e.g.,
seg_timing()
seg_delay()
seg_length()
@umariqbal-rs I have discussed with @vaughnbetz today this PR. We have the green light to merge.
Let me know what you think. |
OK sure. I am currently working on edge_switch() .we will follow rr_segments along with edge_swtich and edge_sink_node(). |
@umariqbal-rs I do not suggest to do so. It may increase your debugging complexity. But I am open. If you do not see any challenge, we can go in this way. |
Description
In this PR, I am implementing RRGraphView::rr_segments(PRSegmentId Seg_Id ) throughout VTR. Every time device_ctx.rr_segment[Seg_Id] was called has been replaced with rr_graph.rr_segment(Seg_Id). In order to do this, I followed a pattern similar to that in the last PR.
Related Issue
Motivation and Context
These changes are a continuation of the RRGraphView API implementation effort.
How Has This Been Tested?
Types of changes
Checklist: