-
Notifications
You must be signed in to change notification settings - Fork 412
[Analysis] Printing Nets timing Information #3023
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
Conversation
…e the report by default
…rilog-to-routing into routing_path_timing
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.
Hi @amin1377 , this is a very great PR! Some comments below.
… generate the report by default" This reverts commit b8289db.
…rilog-to-routing into routing_path_timing
Thanks for the comments Alex, always appreciate it! I’ve addressed them; feel free to resolve if you don’t have any further suggestions. |
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.
LGTM, thanks Amin.
I recommend also adding this to the documentation (currently it is only in the help menu), but I leave it up to you how much visibility you want to give this option.
@amin1377 can we also add WL/BBox information as well for each net. This could be helpful in building a net delay mode for physical resynthesis. |
…rilog-to-routing into routing_path_timing
Thanks for pointing this out, Alex! I added the following to the command line usage help:
|
I changed the format for each net to the following in order to include the bounding box information:
|
…rilog-to-routing into routing_path_timing
doc/src/vpr/command_line_usage.rst
Outdated
(bounding_box_xmin,bounding_box_ymin,bounding_box_layer_min),(bounding_box_xmax,bounding_box_ymax,bounding_box_layer_max) : | ||
source_instance <slack_on source pin> : | ||
<load pin name1> <slack on load pin name1> <net delay for this net> : | ||
<load pin name2> <slack on load pin name2> <net delay for this net> : ... |
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.
Any reason for this particular format? A .csv file would be easier to load into a spreadsheet an examine.
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.
My initial intention was to maintain compatibility with the format expected by Synopsys Synplify. However, since it can be post-processed later, I changed the report format to CSV.
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.
Actually I would leave it compatible with Synplify (that is useful) but just comment that is the reason for this format.
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.
I initially thought the file would be directly consumed by Synplify, but apparently the synthesis team will be doing post-processing on it anyway, so it can be consumed by Synplify.
…rilog-to-routing into routing_path_timing
@AlexandreSinger: Since I changed the format to CSV, I had to remove the header that included build information, etc. I could create a separate file to store metadata, but since we're not doing that for other reports, I think it's better to stay consistent and skip it here as well. |
|
The details in the line after that: https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/routing_path_timing/doc/src/vpr/command_line_usage.rst?plain=1#L1529-L1546 I added the following line to the documentation:
|
@vaughnbetz: Thanks! It is fixed now. |
@vaughnbetz: This PR is ready to merge. Please let me know if you have any additional suggestions. |
In this PR, a new function is added to generate a report showing the pin delay and slack for each net in the following format:
Below is part of the output for the Titan
ucsb_152_tap_fir_stratixiv_arch_timing
circuit: